fix(authentik): pin chart 2026.5.2, grant_types allowlist, portal redirect URI

- Pin the helm-controller chart version (unset = silent latest upgrades) and
  move the image tag under global.image per the 2026.5 chart layout.
- Authentik 2026.5 enforces a per-provider grant_types allowlist; empty list
  rejected every authorize request. Allow authorization_code + refresh_token
  for portal and operator providers.
- Fix the portal redirect URI to the nuxt-oidc-auth callback path.
- Serve the auth ingress on :80 with a per-router HTTPS redirect so the
  cert-manager HTTP-01 solver keeps working.
This commit is contained in:
Ronni Baslund
2026-06-10 07:53:49 +02:00
parent c814bfdf3b
commit d02eb5ec50
5 changed files with 58 additions and 8 deletions
@@ -1,6 +1,6 @@
# Authentik via the k3s Helm controller. valuesContent mirrors values.yaml
# (keep them in sync). Version intentionally unpinned for the first install —
# PIN the resolved chart version here once it's up (see RUNBOOK.md).
# (keep them in sync). valuesContent here is the LIVE source — values.yaml is
# just a human-readable mirror, not consumed by helm-controller.
#
# The 'authentik-secret' Secret must exist in dezky-auth BEFORE this (it carries
# AUTHENTIK_SECRET_KEY + the DB/Redis/bootstrap creds via global.envFrom).
@@ -12,12 +12,18 @@ metadata:
spec:
repo: https://charts.goauthentik.io
chart: authentik
# Pinned: helm-controller reconciles on a loop and pulls the LATEST chart when
# version is unset — a successful reconcile would then silently upgrade
# authentik. Keep == the deployed version.
version: 2026.5.2
targetNamespace: dezky-auth
createNamespace: true
valuesContent: |-
image:
tag: "2026.5.2"
global:
# Image moved under global.image in chart 2026.5.x; the old top-level
# `image:` key now hard-fails the chart's deprecation guard (deprectations.yaml).
image:
tag: "2026.5.2"
envFrom:
- secretRef:
name: authentik-secret
@@ -45,6 +51,11 @@ spec:
ingressClassName: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
# Serve on :80 too so the cert-manager ACME HTTP-01 solver can answer
# on port 80 at renewal; redirect-https bounces other traffic to HTTPS.
# (Middleware lives in authentik/redirect-middleware.yaml.)
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
traefik.ingress.kubernetes.io/router.middlewares: dezky-auth-redirect-https@kubernetescrd
hosts:
- auth.dezky.eu
paths: