Compare commits

..

3 Commits

Author SHA1 Message Date
Gitea Actions Bot d40c68e124 Auto-update README with current k8s applications
Terraform / Terraform (pull_request) Failing after 3s
Generated by CI/CD workflow on 2026-05-04 15:53:25

This PR updates the README.md file with the current list of applications found in the k8s/ directory structure.
2026-05-04 15:53:25 +00:00
Ultradesu 04bd29701e Added kanidm
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 14s
Check with kubeconform / lint (push) Successful in 15s
Auto-update README / Generate README and Create MR (push) Successful in 10s
2026-05-04 16:52:51 +01:00
ab e8638f6813 Update k8s/apps/pasarguard/deployment.yaml
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 15s
Check with kubeconform / lint (push) Successful in 16s
Auto-update README / Generate README and Create MR (push) Successful in 10s
2026-05-04 15:19:14 +00:00
9 changed files with 188 additions and 1 deletions
+1
View File
@@ -17,6 +17,7 @@ ArgoCD homelab project
| **cert-manager** | [![cert-manager](https://ag.hexor.cy/api/badge?name=cert-manager&revision=true)](https://ag.hexor.cy/applications/argocd/cert-manager) |
| **external-secrets** | [![external-secrets](https://ag.hexor.cy/api/badge?name=external-secrets&revision=true)](https://ag.hexor.cy/applications/argocd/external-secrets) |
| **gpu** | [![gpu](https://ag.hexor.cy/api/badge?name=gpu&revision=true)](https://ag.hexor.cy/applications/argocd/gpu) |
| **kanidm** | [![kanidm](https://ag.hexor.cy/api/badge?name=kanidm&revision=true)](https://ag.hexor.cy/applications/argocd/kanidm) |
| **kube-system-custom** | [![kube-system-custom](https://ag.hexor.cy/api/badge?name=kube-system-custom&revision=true)](https://ag.hexor.cy/applications/argocd/kube-system-custom) |
| **kubernetes-dashboard** | [![kubernetes-dashboard](https://ag.hexor.cy/api/badge?name=kubernetes-dashboard&revision=true)](https://ag.hexor.cy/applications/argocd/kubernetes-dashboard) |
| **longhorn** | [![longhorn](https://ag.hexor.cy/api/badge?name=longhorn&revision=true)](https://ag.hexor.cy/applications/argocd/longhorn) |
+2 -1
View File
@@ -1,4 +1,5 @@
---
image: &image 'pasarguard/panel:v3.1.0'
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -34,7 +35,7 @@ spec:
mountPath: /templates/subscription
containers:
- name: pasarguard-web
image: 'pasarguard/panel:v3.1.0'
image: *image
imagePullPolicy: Always
envFrom:
- secretRef:
+21
View File
@@ -0,0 +1,21 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: kanidm
namespace: argocd
spec:
project: core
destination:
namespace: kanidm
server: https://kubernetes.default.svc
source:
repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git
targetRevision: HEAD
path: k8s/core/kanidm
syncPolicy:
automated:
selfHeal: true
prune: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
+12
View File
@@ -0,0 +1,12 @@
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: kanidm-tls
spec:
secretName: kanidm-tls
issuerRef:
name: letsencrypt
kind: ClusterIssuer
dnsNames:
- auth.hexor.cy
+20
View File
@@ -0,0 +1,20 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: kanidm-config
data:
server.toml: |
version = "2"
bindaddress = "[::]:443"
db_path = "/data/kanidm.db"
tls_chain = "/certs/tls.crt"
tls_key = "/certs/tls.key"
domain = "auth.hexor.cy"
origin = "https://auth.hexor.cy"
log_level = "info"
[online_backup]
path = "/data/backups/"
schedule = "00 22 * * *"
versions = 7
+25
View File
@@ -0,0 +1,25 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kanidm
annotations:
cert-manager.io/cluster-issuer: letsencrypt
traefik.ingress.kubernetes.io/router.middlewares: kube-system-https-redirect@kubernetescrd
traefik.ingress.kubernetes.io/service.serversscheme: https
spec:
tls:
- hosts:
- auth.hexor.cy
secretName: kanidm-ingress-tls
rules:
- host: auth.hexor.cy
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kanidm
port:
number: 443
+10
View File
@@ -0,0 +1,10 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- app.yaml
- configmap.yaml
- certificate.yaml
- statefulset.yaml
- service.yaml
- ingress.yaml
+15
View File
@@ -0,0 +1,15 @@
---
apiVersion: v1
kind: Service
metadata:
name: kanidm
labels:
app: kanidm
spec:
ports:
- name: https
port: 443
targetPort: 443
protocol: TCP
selector:
app: kanidm
+82
View File
@@ -0,0 +1,82 @@
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: kanidm
labels:
app: kanidm
spec:
serviceName: kanidm
replicas: 1
selector:
matchLabels:
app: kanidm
template:
metadata:
labels:
app: kanidm
spec:
containers:
- name: kanidm
image: kanidm/server:1.5.0
ports:
- containerPort: 443
name: https
protocol: TCP
volumeMounts:
- name: kanidm-data
mountPath: /data
- name: kanidm-config
mountPath: /data/server.toml
subPath: server.toml
readOnly: true
- name: kanidm-tls
mountPath: /certs
readOnly: true
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
readinessProbe:
httpGet:
path: /status
port: 443
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /status
port: 443
scheme: HTTPS
initialDelaySeconds: 15
periodSeconds: 30
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
runAsUser: 1000
runAsGroup: 1000
volumes:
- name: kanidm-config
configMap:
name: kanidm-config
- name: kanidm-tls
secret:
secretName: kanidm-tls
nodeSelector:
kubernetes.io/hostname: master.tail2fe2d.ts.net
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
volumeClaimTemplates:
- metadata:
name: kanidm-data
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: longhorn
resources:
requests:
storage: 1Gi