--- apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease metadata: name: &app authelia namespace: default spec: interval: 15m chart: spec: chart: app-template version: 1.2.0 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system install: createNamespace: true remediation: retries: 5 upgrade: remediation: retries: 5 dependsOn: - name: glauth namespace: default - name: postgres-cluster namespace: default - name: redis namespace: default values: controller: replicas: 2 strategy: RollingUpdate annotations: reloader.stakater.com/auto: "true" image: repository: ghcr.io/authelia/authelia tag: 4.37.2 envFrom: - secretRef: name: authelia-secret enableServiceLinks: false service: main: ports: http: port: 80 metrics: enabled: true port: 8080 serviceMonitor: main: enabled: true endpoints: - port: metrics scheme: http path: /metrics interval: 1m scrapeTimeout: 10s ingress: main: enabled: true ingressClassName: "nginx" annotations: external-dns.home.arpa/enabled: "true" nginx.ingress.kubernetes.io/configuration-snippet: | add_header Cache-Control "no-store"; add_header Pragma "no-cache"; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; hosts: - host: &host "auth.${SECRET_CLUSTER_DOMAIN}" paths: - path: / pathType: Prefix tls: - hosts: - *host podSecurityContext: runAsUser: 568 runAsGroup: 568 fsGroup: 568 fsGroupChangePolicy: "OnRootMismatch" persistence: config: enabled: true type: configMap name: authelia-configmap subPath: configuration.yml mountPath: /config/configuration.yml readOnly: false topologySpreadConstraints: - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: *app resources: requests: cpu: 5m memory: 10Mi limits: memory: 100Mi