feat: Added lldap
All checks were successful
kustomization/flux-system/09e7e40f reconciliation succeeded
kustomization/certificates/09e7e40f reconciliation succeeded
kustomization/alerts/09e7e40f reconciliation succeeded
kustomization/cert-manager/09e7e40f reconciliation succeeded
kustomization/cilium/09e7e40f reconciliation succeeded
kustomization/longhorn-jobs/09e7e40f reconciliation succeeded
kustomization/local-path-provisioner/09e7e40f reconciliation succeeded
kustomization/spegel/09e7e40f reconciliation succeeded
kustomization/lldap/09e7e40f reconciliation succeeded
kustomization/cnpg/09e7e40f reconciliation succeeded
kustomization/longhorn/09e7e40f reconciliation succeeded

This commit is contained in:
2025-12-17 01:56:24 +01:00
parent 8ead73f910
commit 29ca5b021e
14 changed files with 245 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: db
namespace: lldap
# TODO: Add labels?
spec:
storage:
size: 8Gi
storageClass: local-path

View File

@@ -0,0 +1,80 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: lldap
namespace: lldap
labels:
app.kubernetes.io/name: lldap
app.kubernetes.io/instance: lldap
spec:
selector:
matchLabels:
app.kubernetes.io/name: lldap
app.kubernetes.io/instance: lldap
template:
metadata:
labels:
app.kubernetes.io/name: lldap
app.kubernetes.io/instance: lldap
spec:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: lldap
app.kubernetes.io/instance: lldap
securityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
seccompProfile:
type: RuntimeDefault
containers:
- name: lldap
image: lldap/lldap:2025-12-12-alpine-rootless
env:
- name: LLDAP_LDAP_BASE_DN
value: dc=huizinga,dc=dev
- name: LLDAP_LDAP_USER_PASS
valueFrom:
secretKeyRef:
name: credentials
key: admin-pass
- name: LLDAP_KEY_SEED
valueFrom:
secretKeyRef:
name: credentials
key: key-seed
- name: LLDAP_JWT_SECRET
valueFrom:
secretKeyRef:
name: credentials
key: jwt-secret
- name: LLDAP_DATABASE_URL
valueFrom:
secretKeyRef:
name: db-app
key: uri
- name: TZ
value: CET
livenessProbe:
exec:
command:
- /app/lldap
- healthcheck
initialDelaySeconds: 5
periodSeconds: 30
ports:
- name: ldap
containerPort: 3890
- name: web
containerPort: 17170
securityContext:
allowPrivilegeEscalation: false
runAsNonRoot: true
capabilities:
drop:
- ALL

View File

@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace.yaml
- deployment.yaml
- service.yaml
- cluster.yaml

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: lldap

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
name: lldap
namespace: lldap
labels:
app.kubernetes.io/name: lldap
app.kubernetes.io/instance: lldap
spec:
selector:
app.kubernetes.io/name: lldap
app.kubernetes.io/instance: lldap
ports:
- name: ldap
port: 3890
targetPort: ldap
- name: web
port: 17170
targetPort: web