--- apiVersion: apps/v1 kind: Deployment metadata: name: authentik-ldap-outpost namespace: authentik labels: app.kubernetes.io/name: authentik app.kubernetes.io/component: ldap spec: # Outposts are stateless; run two replicas for availability. replicas: 2 selector: matchLabels: app.kubernetes.io/name: authentik app.kubernetes.io/component: ldap template: metadata: annotations: secret.reloader.stakater.com/reload: "authentik-ldap-outpost-token,vault-ca-cert" labels: app.kubernetes.io/name: authentik app.kubernetes.io/component: ldap spec: # The outpost validates the authentik core cert (identity.k8s.syd1.au.unkin.net, # signed by the internal unkin.net CA). Combine the base image's public roots # with the reflected vault-ca-cert into one bundle that SSL_CERT_FILE points at, # so AUTHENTIK_INSECURE stays false. initContainers: - name: combine-certs image: alpine:3 command: - sh - -c - cat /etc/ssl/certs/ca-certificates.crt /custom-ca/ca.crt > /combined-certs/ca-certificates.crt volumeMounts: - name: vault-ca-cert mountPath: /custom-ca readOnly: true - name: combined-certs mountPath: /combined-certs resources: limits: cpu: 100m memory: 64Mi requests: cpu: 25m memory: 32Mi containers: - name: ldap image: ghcr.io/goauthentik/ldap:2026.5.3 imagePullPolicy: IfNotPresent env: - name: AUTHENTIK_HOST value: https://identity.k8s.syd1.au.unkin.net - name: AUTHENTIK_INSECURE value: "false" - name: SSL_CERT_FILE value: /etc/ssl/combined/ca-certificates.crt - name: AUTHENTIK_TOKEN valueFrom: secretKeyRef: name: authentik-ldap-outpost-token key: token ports: - containerPort: 3389 name: ldap protocol: TCP - containerPort: 6636 name: ldaps protocol: TCP - containerPort: 9300 name: metrics protocol: TCP livenessProbe: tcpSocket: port: ldap initialDelaySeconds: 10 periodSeconds: 15 readinessProbe: tcpSocket: port: ldap initialDelaySeconds: 5 periodSeconds: 10 resources: limits: cpu: "1" memory: 512Mi requests: cpu: 50m memory: 128Mi volumeMounts: - name: combined-certs mountPath: /etc/ssl/combined readOnly: true volumes: - name: vault-ca-cert secret: secretName: vault-ca-cert items: - key: ca.crt path: ca.crt - name: combined-certs emptyDir: {}