Skip to content

OpenLDAP

OpenLDAP HA stack with configurable replication and persistence.

Prerequisites

Create a secret with admin credentials:

kubectl apply -f - <<EOF
---
apiVersion: v1
kind: Secret
metadata:
  name: openldap
  namespace: flux-system
type: Opaque
stringData:
  ADMIN_USER: "admin"
  ADMIN_PASSWORD: "your-secure-password" # pragma: allowlist secret
EOF

Deployment

---
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
  name: flux-apps
  namespace: flux-system
spec:
  interval: 1m0s
  ref:
    tag: v1.0.0
  url: https://github.com/stuttgart-things/flux.git
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
  name: openldap
  namespace: flux-system
spec:
  interval: 1h
  retryInterval: 1m
  timeout: 5m
  sourceRef:
    kind: GitRepository
    name: flux-apps
  path: ./apps/openldap
  prune: true
  wait: true
  postBuild:
    substitute:
      OPENLDAP_NAMESPACE: openldap
      OPENLDAP_VERSION: v4.3.2
      REPLICAS: "1"
      SERVICE_TYPE: LoadBalancer
      REPLICATION_ENABLED: "false"
      PERSISTENCE_ENABLED: "true"
      STORAGE_SIZE: 8Gi
      STORAGE_CLASS: nfs4-csi
      TEST_ENABLED: "false"
      LTB_PASSWD_ENABLED: "false" # pragma: allowlist secret
      PHP_ADMIN_ENABLED: "false"
      ENABLE_LDAP_PORT: "true"
      ENABLE_LDAPS_PORT: "false"
    substituteFrom:
      - kind: Secret
        name: openldap

Variables

Variable Default Description
OPENLDAP_NAMESPACE openldap Target namespace
OPENLDAP_VERSION v4.3.2 Helm chart version
ADMIN_USER admin LDAP admin username
ADMIN_PASSWORD (required, from secret) LDAP admin password
REPLICAS 1 Number of replicas
SERVICE_TYPE ClusterIP Kubernetes service type
REPLICATION_ENABLED false Enable LDAP replication
PERSISTENCE_ENABLED true Enable persistent storage
STORAGE_SIZE 8Gi PVC size
STORAGE_CLASS (required) StorageClass for persistence
TEST_ENABLED false Enable Helm test pods
LTB_PASSWD_ENABLED false Enable LDAP Tool Box password change UI
PHP_ADMIN_ENABLED false Enable phpLDAPadmin UI
ENABLE_LDAP_PORT true Enable LDAP port (389)
ENABLE_LDAPS_PORT false Enable LDAPS port (636)

Notes

  • Uses HelmRepository from https://jp-gouin.github.io/helm-openldap/
  • Chart: openldap-stack-ha