apiVersion: apps/v1 kind: Deployment metadata: name: authentik-server namespace: "authentik" labels: helm.sh/chart: "authentik-2026.5.0" app.kubernetes.io/name: "authentik" app.kubernetes.io/instance: "authentik" app.kubernetes.io/component: "server" app.kubernetes.io/managed-by: "Helm" app.kubernetes.io/part-of: "authentik" app.kubernetes.io/version: "2026.5.0" spec: replicas: 2 revisionHistoryLimit: 3 selector: matchLabels: app.kubernetes.io/name: "authentik" app.kubernetes.io/instance: "authentik" app.kubernetes.io/component: "server" template: metadata: labels: helm.sh/chart: "authentik-2026.5.0" app.kubernetes.io/name: "authentik" app.kubernetes.io/instance: "authentik" app.kubernetes.io/component: "server" app.kubernetes.io/managed-by: "Helm" app.kubernetes.io/part-of: "authentik" app.kubernetes.io/version: "2026.5.0" annotations: checksum/secret: cc1c7eca2c3060a0e4a9c705a21e11c57f0a477f6f83775a44ec124f97686d47 spec: terminationGracePeriodSeconds: 30 containers: - name: server image: ghcr.io/goauthentik/server:2026.5.0 imagePullPolicy: IfNotPresent args: - server env: - name: AUTHENTIK_SECRET_KEY valueFrom: secretKeyRef: key: key name: authentik-key - name: AUTHENTIK_POSTGRESQL__HOST valueFrom: secretKeyRef: key: host name: authentik-postgresql-18-cluster-app - name: AUTHENTIK_POSTGRESQL__NAME valueFrom: secretKeyRef: key: dbname name: authentik-postgresql-18-cluster-app - name: AUTHENTIK_POSTGRESQL__USER valueFrom: secretKeyRef: key: user name: authentik-postgresql-18-cluster-app - name: AUTHENTIK_POSTGRESQL__PASSWORD valueFrom: secretKeyRef: key: password name: authentik-postgresql-18-cluster-app envFrom: - secretRef: name: authentik ports: - name: http containerPort: 9000 protocol: TCP - name: https containerPort: 9443 protocol: TCP - name: metrics containerPort: 9300 protocol: TCP livenessProbe: failureThreshold: 3 httpGet: path: '/-/health/live/' port: http initialDelaySeconds: 15 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 readinessProbe: failureThreshold: 3 httpGet: path: '/-/health/ready/' port: http initialDelaySeconds: 15 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 startupProbe: failureThreshold: 60 httpGet: path: '/-/health/live/' port: http initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 3 resources: requests: cpu: 20m memory: 700Mi affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchLabels: app.kubernetes.io/name: "authentik" app.kubernetes.io/instance: "authentik" app.kubernetes.io/component: "server" topologyKey: kubernetes.io/hostname enableServiceLinks: true