apiVersion: apps/v1 kind: Deployment metadata: name: authentik-worker namespace: authentik spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: authentik-worker template: metadata: labels: app: authentik-worker spec: securityContext: runAsUser: 0 containers: - name: authentik image: ghcr.io/goauthentik/server:2026.5.2 command: ["ak"] args: ["worker"] env: - name: AUTHENTIK_POSTGRESQL__HOST valueFrom: secretKeyRef: name: authentik-secrets key: db_host - name: AUTHENTIK_POSTGRESQL__NAME valueFrom: secretKeyRef: name: authentik-secrets key: db_name - name: AUTHENTIK_POSTGRESQL__USER valueFrom: secretKeyRef: name: authentik-secrets key: db_user - name: AUTHENTIK_POSTGRESQL__PASSWORD valueFrom: secretKeyRef: name: authentik-secrets key: db_password - name: AUTHENTIK_SECRET_KEY valueFrom: secretKeyRef: name: authentik-secrets key: AUTHENTIK_SECRET_KEY - name: AUTHENTIK_EMAIL__HOST valueFrom: secretKeyRef: name: authentik-secrets key: email_host - name: AUTHENTIK_EMAIL__PORT valueFrom: secretKeyRef: name: authentik-secrets key: email_port - name: AUTHENTIK_EMAIL__USERNAME valueFrom: secretKeyRef: name: authentik-secrets key: email_username - name: AUTHENTIK_EMAIL__PASSWORD valueFrom: secretKeyRef: name: authentik-secrets key: email_password - name: AUTHENTIK_EMAIL__FROM valueFrom: secretKeyRef: name: authentik-secrets key: email_from - name: AUTHENTIK_EMAIL__USE_TLS valueFrom: secretKeyRef: name: authentik-secrets key: email_use_tls volumeMounts: - name: data mountPath: /data - name: certs mountPath: /certs - name: templates mountPath: /templates - name: dshm mountPath: /dev/shm resources: requests: cpu: 100m memory: 256Mi limits: memory: 1Gi volumes: - name: data persistentVolumeClaim: claimName: authentik-worker-data - name: templates emptyDir: {} - name: certs emptyDir: {} - name: dshm emptyDir: medium: Memory sizeLimit: 512Mi