This repository has been archived on 2026-10-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
authentik-deployment/README.md
T
feedc0de c85f09b3bb
Validate and deploy Authentik / validate (push) Successful in 16s
Validate and deploy Authentik / deploy (push) Successful in 1m14s
Strip sha256 hash and update to 2026.8.3
2026-10-14 20:16:26 +02:00

49 lines
2.8 KiB
Markdown

# Authentik on Kubernetes
Authentik `2026.8.3` is rendered from the pinned official chart. `values.yaml`
contains only public configuration; the ignored legacy `authentik-values.yaml`
is retained locally. Runtime credentials live in `authentik-runtime` and the
existing PostgreSQL Secret, and neither is readable by CI.
The LDAP, RADIUS, and RAC outposts are managed by Authentik and keep their
image pins in its database. `install.sh` runs `update-outpost-images.sh` after
the chart upgrade so their images match the server release.
`authentik-blueprints` declaratively creates the Argo CD OIDC application,
provider, and group claim. Its client secret comes from
`ARGOCD_OIDC_CLIENT_SECRET` in `authentik-runtime`; `install.sh` generates it
once when absent and mirrors it into the labeled `argocd-oidc` Secret. Only the
existing `authentik Admins` group is mapped to Argo CD administrator access.
The same blueprint creates an admin-only forward-auth application for
Kubernetes Dashboard. Its proxy provider contains no committed credential and
is served by the embedded proxy outpost. `install.sh` applies the blueprint and
idempotently attaches the provider to that outpost; it deliberately does not
replace the outpost's complete provider list because other repositories own
those applications.
Copy `authentik-secrets.env.example` to the ignored `authentik-secrets.env`,
preserve the existing values, and run `./install.sh` for administrator secret
updates. Run `./test.sh` for a secret-free render and schema validation.
The installer refuses a PostgreSQL password mismatch instead of attempting a
blind rotation; rotate the database role and both Kubernetes Secrets together
during a dedicated maintenance window.
The public Authentik and embedded-outpost routes have no Traefik request-rate
or concurrent-request limit: browser login flows and protected applications can
legitimately generate large bursts. Two server replicas, a PodDisruptionBudget,
and explicit resource requests keep one busy client or node from removing the
only healthy authentication endpoint.
Run `./create-ci-kubeconfig.sh` and store its final line as the Gitea Actions
secret `KUBE_CONFIG_BASE64`. CI can update only exact existing Authentik chart,
Ingress, Middleware, and event-filter objects; it cannot read Secrets, create
objects, delete objects, or manage the Ceph object user.
`authentik-client-credentials-event-filter` is a local compatibility patch
introduced on 2026-08-30 and reviewed against upstream `2026.8.3`. It replaces Authentik's private
`providers/oauth2/token/client_credentials.py` module to retain application
password grants while suppressing loopback (`::1`) login-event noise. Recheck
or remove it on every Authentik upgrade because it is not an upstream chart
feature or supported extension interface.