Files

125 lines
3.3 KiB
YAML

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: authentik-media-pvc
namespace: authentik
spec:
storageClassName: nfs-client # NFS vanaf Proxmox — Bijlage A
accessModes: [ReadWriteMany]
resources:
requests:
storage: 5Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: authentik-server
namespace: authentik
spec:
replicas: 1
selector:
matchLabels: {app: authentik-server}
template:
metadata:
labels: {app: authentik-server}
spec:
initContainers:
- name: wait-for-db
image: busybox:latest # pin de tag! (Renovate houdt ze bij)
command:
- sh
- -c
- |
until nc -z authentik-postgresql 5432; do
echo "Waiting for PostgreSQL..."
sleep 2
done
echo "PostgreSQL is ready!"
containers:
- name: authentik
image: ghcr.io/goauthentik/server:2026.5.8
args: ["server"]
env:
- name: AUTHENTIK_SECRET_KEY
valueFrom:
secretKeyRef:
name: authentik-secret
key: AUTHENTIK_SECRET_KEY
- name: AUTHENTIK_POSTGRESQL__HOST
valueFrom:
secretKeyRef:
name: authentik-secret
key: AUTHENTIK_POSTGRESQL__HOST
- name: AUTHENTIK_POSTGRESQL__PORT
valueFrom:
secretKeyRef:
name: authentik-secret
key: AUTHENTIK_POSTGRESQL__PORT
- name: AUTHENTIK_POSTGRESQL__NAME
valueFrom:
secretKeyRef:
name: authentik-secret
key: AUTHENTIK_POSTGRESQL__NAME
- name: AUTHENTIK_POSTGRESQL__USER
valueFrom:
secretKeyRef:
name: authentik-secret
key: AUTHENTIK_POSTGRESQL__USER
- name: AUTHENTIK_POSTGRESQL__PASSWORD
valueFrom:
secretKeyRef:
name: authentik-secret
key: AUTHENTIK_POSTGRESQL__PASSWORD
- name: AUTHENTIK_REDIS__HOST
valueFrom:
secretKeyRef:
name: authentik-secret
key: AUTHENTIK_REDIS__HOST
- name: AUTHENTIK_ERROR_REPORTING__ENABLED
value: "false"
ports:
- containerPort: 9000
name: http
- containerPort: 9443
name: https
volumeMounts:
- name: media
mountPath: /media
livenessProbe:
httpGet:
path: /-/health/live/
port: 9000
initialDelaySeconds: 60
periodSeconds: 30
readinessProbe:
httpGet:
path: /-/health/ready/
port: 9000
initialDelaySeconds: 60
periodSeconds: 30
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "1000m"
volumes:
- name: media
persistentVolumeClaim:
claimName: authentik-media-pvc
---
apiVersion: v1
kind: Service
metadata:
name: authentik-server
namespace: authentik
spec:
selector: {app: authentik-server}
ports:
- port: 9000
targetPort: 9000
name: http
- port: 9443
targetPort: 9443
name: https