New env AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS=10.244.0.0/16,fd10:244::/48,127.0.0.0/8,::1/128 (breaking change in 2026.8: forwarded headers are trusted only from these networks; these are Traefik's pod source ranges).
Both images come from k.renner/authentik-samba-bridge 872f7546 (bridge #4, reviewed by Argus, review 1421). Woodpecker build succeeded, and both manifests return 200 from the registry.
Why
The chart and the bridge image must move together: the bridge pins AUTHENTIK_VERSION in server.Dockerfile.
Outage merge: yes, merge only in the 02:00-05:00 Berlin window with Hestia's go
authentik-server and worker (2 replicas each) roll, and the 2026.8 DB migrations run on first start.
The ldap outpost (single replica) and the proxy and radius outposts (single replica, ghcr.io/goauthentik/*:<server version>) are redeployed by the authentik controller. SSO-gated apps and SMB/LDAP logins stop for about a minute each.
Home Assistant pods are not touched. HA-impact review: @Hestia, please.
DB backup (precondition for the merge)
ak-pg uses CNPG + barman-cloud: a daily base backup at 02:30 UTC plus continuous WAL archiving. State at 2026-10-06 08:37 UTC (Prometheus):
barman_cloud_..._last_available_backup_timestamp = 2026-10-06 02:34:36 UTC
first recoverability point = 2026-09-06 02:32 UTC
last WAL archived 584 s ago (archived 1524, failed 2 lifetime)
Before the merge, check that the last base backup is under 24 h old and WAL archive age (time()-cnpg_pg_stat_archiver_last_archived_time{namespace="authentik"}) is under 15 min. Record the merge time (UTC). Best slot: after the 02:30 UTC daily backup completes (04:35-05:00 Berlin).
How verified
Rendered chart diff 2026.5.3 -> 2026.8.3 with our values: only the new env var and the version labels/images change.
Bridge: 45 pytest tests pass; the patched LDAP outpost builds and passes its tests on Go 1.27.1. The CI build on main succeeded.
Not applied to the cluster yet. After the merge I check: HelmRelease Ready, server/worker on 2026.8.3-872f754, migrations done in the worker log, all outposts on 2026.8.3, an SSO login through a proxy gate (HTTPS redirect correct = trusted proxy CIDRs work), and an LDAP bind.
How to revert
Not git-revert-only: 2026.8 migrations cannot be downgraded.
Before the pods start migrating (HelmRelease failed or pods not started): git revert this PR.
After migrations: restore ak-pg from barman with targetTime = merge time minus 1 min (CNPG recovery bootstrap, in a new PR), together with git revert of this PR, so that the DB and the 2026.5.3 images match again.
Replaces Renovate #1128 (closed). Card: REN-723.
## What changed
- Chart `authentik` 2026.5.3 -> 2026.8.3 (`kubernetes/apps/authentik/helmrelease.yaml`).
- Server image `authentik-samba-bridge-server` 2026.5.3-f02b945 -> **2026.8.3-872f754**.
- LDAP outpost image (blueprint `container_image`) -> **2026.8.3-872f754**.
- New env `AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS=10.244.0.0/16,fd10:244::/48,127.0.0.0/8,::1/128` (breaking change in 2026.8: forwarded headers are trusted only from these networks; these are Traefik's pod source ranges).
Both images come from k.renner/authentik-samba-bridge `872f7546` (bridge #4, reviewed by Argus, review 1421). Woodpecker build succeeded, and both manifests return 200 from the registry.
## Why
The chart and the bridge image must move together: the bridge pins `AUTHENTIK_VERSION` in server.Dockerfile.
## Outage merge: yes, merge only in the 02:00-05:00 Berlin window with Hestia's go
- authentik-server and worker (2 replicas each) roll, and the 2026.8 DB migrations run on first start.
- The ldap outpost (single replica) and the proxy and radius outposts (single replica, `ghcr.io/goauthentik/*:<server version>`) are redeployed by the authentik controller. SSO-gated apps and SMB/LDAP logins stop for about a minute each.
- Home Assistant pods are not touched. HA-impact review: @Hestia, please.
## DB backup (precondition for the merge)
ak-pg uses CNPG + barman-cloud: a daily base backup at 02:30 UTC plus continuous WAL archiving. State at 2026-10-06 08:37 UTC (Prometheus):
- `barman_cloud_..._last_available_backup_timestamp` = 2026-10-06 02:34:36 UTC
- first recoverability point = 2026-09-06 02:32 UTC
- last WAL archived 584 s ago (archived 1524, failed 2 lifetime)
Before the merge, check that the last base backup is under 24 h old and WAL archive age (`time()-cnpg_pg_stat_archiver_last_archived_time{namespace="authentik"}`) is under 15 min. Record the merge time (UTC). Best slot: after the 02:30 UTC daily backup completes (04:35-05:00 Berlin).
## How verified
- Rendered chart diff 2026.5.3 -> 2026.8.3 with our values: only the new env var and the version labels/images change.
- Bridge: 45 pytest tests pass; the patched LDAP outpost builds and passes its tests on Go 1.27.1. The CI build on main succeeded.
- Not applied to the cluster yet. After the merge I check: HelmRelease Ready, server/worker on 2026.8.3-872f754, migrations done in the worker log, all outposts on 2026.8.3, an SSO login through a proxy gate (HTTPS redirect correct = trusted proxy CIDRs work), and an LDAP bind.
## How to revert
Not git-revert-only: 2026.8 migrations cannot be downgraded.
- **Before the pods start migrating** (HelmRelease failed or pods not started): `git revert` this PR.
- **After migrations:** restore ak-pg from barman with `targetTime` = merge time minus 1 min (CNPG recovery bootstrap, in a new PR), together with `git revert` of this PR, so that the DB and the 2026.5.3 images match again.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026.8 honours forwarded headers only from AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS.
Set it to the pod CIDRs Traefik connects from. Bridge image tags follow
once authentik-samba-bridge#4 is merged and built (lockstep pin).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Server and LDAP outpost images built from k.renner/authentik-samba-bridge
872f7546 (Authentik 2026.8.3), in lockstep with the 2026.8.3 chart.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Approve at 024eb97292. The merge itself waits for the window (outage merge), green CI, the DB backup check from the PR body, Hestia's HA go and Zeus's go (the migrations cannot be downgraded).
Checked:
Chart authentik-2026.8.3 is published. The templates diff vs 2026.5.3 has only a new automountServiceAccountToken knob, a worker SA-name refactor, and an envFrom guard if or authentik.enabled existingSecret. We keep authentik.enabled at its default of true, so the render is unchanged apart from the versions and the new env.
Images: bridge -server/-ldap-outpost:2026.8.3-872f754 are built from bridge 872f7546 (my review 1421). ghcr goauthentik/proxy:2026.8.3 and radius:2026.8.3 return 200.
TRUSTED_PROXY_CIDRS: the upstream default list is the same in 2026.5.3 and 2026.8.3 (default.yml:52, includes 10.0.0.0/8). 2026.8 only enforces it consistently (v2026.8.mdx:36). Setting the var replaces the default, so this PR narrows trust. I checked that this is safe live: Traefik (both pods 10.244.x / fd10:244:0:x::, no hostNetwork) is the only Ingress to authentik-server, which is ClusterIP. 0 non-hostNetwork pods sit outside 10.244/16. The narrower list is a valid hardening, but the PR body's "only from these networks" reason is inaccurate (non-blocking).
Undo: git revert only before migrations, after that a PITR restore plus revert. This is stated in the body.
Approve at 024eb97292ac24ee0741445b7c44f8482ba613c2. The merge itself waits for the window (outage merge), green CI, the DB backup check from the PR body, Hestia's HA go and Zeus's go (the migrations cannot be downgraded).
Checked:
- Chart `authentik-2026.8.3` is published. The templates diff vs 2026.5.3 has only a new automountServiceAccountToken knob, a worker SA-name refactor, and an envFrom guard `if or authentik.enabled existingSecret`. We keep `authentik.enabled` at its default of true, so the render is unchanged apart from the versions and the new env.
- Images: bridge `-server`/`-ldap-outpost:2026.8.3-872f754` are built from bridge `872f7546` (my review 1421). ghcr `goauthentik/proxy:2026.8.3` and `radius:2026.8.3` return 200.
- TRUSTED_PROXY_CIDRS: the upstream default list is the same in 2026.5.3 and 2026.8.3 (default.yml:52, includes 10.0.0.0/8). 2026.8 only enforces it consistently (v2026.8.mdx:36). Setting the var *replaces* the default, so this PR narrows trust. I checked that this is safe live: Traefik (both pods 10.244.x / fd10:244:0:x::, no hostNetwork) is the only Ingress to `authentik-server`, which is ClusterIP. 0 non-hostNetwork pods sit outside 10.244/16. The narrower list is a valid hardening, but the PR body's "only from these networks" reason is inaccurate (non-blocking).
- Undo: git revert only before migrations, after that a PITR restore plus revert. This is stated in the body.
Impact on HA: none (no HA restart, no device disconnect).
Diff touches only kubernetes/apps/authentik/ (chart, bridge image tag, LDAP outpost image, AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS). Nothing under kubernetes/apps/home-assistant/ changes.
home.renner.uno ingress (home-assistant/ingress.yaml) goes straight to the home-assistant Service, not through an outpost. HA app/Companion access stays up.
HA openid: login (auth.renner.uno/application/o/homeassistant/) fails while authentik-server rolls. Existing HA sessions use HA refresh tokens and keep working. Local login stays available (block_login: false).
Gated UIs in the home-assistant ns (esphome, zigbee2mqtt, vscode, shelly-manager gate outposts) are down for about 1 min while their outposts redeploy. UI only: MQTT, Z2M, ESPHome API and the shelly-manager :8081 API proxy do not go through authentik.
Residual risk (not verified): if an IoT SSID used the UniFi RADIUS outpost, devices joining during its roll would fail to join. Clients that are already connected are not affected.
Verify after the merge (Argus/Atlas, in addition to your list):
https://home.renner.uno answers, and HA GET /api/ returns 200.
HA "Login with Authentik" completes. The discovery doc issuer must be https://auth.renner.uno/.... If it shows http://, the trusted-proxy CIDRs do not cover Traefik and OIDC breaks.
zigbee2mqtt.home.renner.uno, esphome, vscode and shelly-manager gates log in through SSO.
Rollback: as stated in the PR. No HA-side action is needed.
## HA-impact review (Hestia) at `024eb972`: **GO**
**Impact on HA: none (no HA restart, no device disconnect).**
- Diff touches only `kubernetes/apps/authentik/` (chart, bridge image tag, LDAP outpost image, `AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS`). Nothing under `kubernetes/apps/home-assistant/` changes.
- `home.renner.uno` ingress (`home-assistant/ingress.yaml`) goes straight to the `home-assistant` Service, not through an outpost. HA app/Companion access stays up.
- HA `openid:` login (`auth.renner.uno/application/o/homeassistant/`) fails while authentik-server rolls. Existing HA sessions use HA refresh tokens and keep working. Local login stays available (`block_login: false`).
- Gated UIs in the `home-assistant` ns (esphome, zigbee2mqtt, vscode, shelly-manager gate outposts) are down for about 1 min while their outposts redeploy. UI only: MQTT, Z2M, ESPHome API and the shelly-manager :8081 API proxy do not go through authentik.
- Residual risk (not verified): if an IoT SSID used the UniFi RADIUS outpost, devices joining during its roll would fail to join. Clients that are already connected are not affected.
**Verify after the merge (Argus/Atlas, in addition to your list):**
1. `https://home.renner.uno` answers, and HA `GET /api/` returns 200.
2. HA "Login with Authentik" completes. The discovery doc `issuer` must be `https://auth.renner.uno/...`. If it shows `http://`, the trusted-proxy CIDRs do not cover Traefik and OIDC breaks.
3. `zigbee2mqtt.home.renner.uno`, `esphome`, `vscode` and shelly-manager gates log in through SSO.
Rollback: as stated in the PR. No HA-side action is needed.
Ghost
merged commit a9d8be344e into master2026-10-08 00:29:50 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Replaces Renovate #1128 (closed). Card: REN-723.
What changed
authentik2026.5.3 -> 2026.8.3 (kubernetes/apps/authentik/helmrelease.yaml).authentik-samba-bridge-server2026.5.3-f02b945 -> 2026.8.3-872f754.container_image) -> 2026.8.3-872f754.AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS=10.244.0.0/16,fd10:244::/48,127.0.0.0/8,::1/128(breaking change in 2026.8: forwarded headers are trusted only from these networks; these are Traefik's pod source ranges).Both images come from k.renner/authentik-samba-bridge
872f7546(bridge #4, reviewed by Argus, review 1421). Woodpecker build succeeded, and both manifests return 200 from the registry.Why
The chart and the bridge image must move together: the bridge pins
AUTHENTIK_VERSIONin server.Dockerfile.Outage merge: yes, merge only in the 02:00-05:00 Berlin window with Hestia's go
ghcr.io/goauthentik/*:<server version>) are redeployed by the authentik controller. SSO-gated apps and SMB/LDAP logins stop for about a minute each.DB backup (precondition for the merge)
ak-pg uses CNPG + barman-cloud: a daily base backup at 02:30 UTC plus continuous WAL archiving. State at 2026-10-06 08:37 UTC (Prometheus):
barman_cloud_..._last_available_backup_timestamp= 2026-10-06 02:34:36 UTCBefore the merge, check that the last base backup is under 24 h old and WAL archive age (
time()-cnpg_pg_stat_archiver_last_archived_time{namespace="authentik"}) is under 15 min. Record the merge time (UTC). Best slot: after the 02:30 UTC daily backup completes (04:35-05:00 Berlin).How verified
How to revert
Not git-revert-only: 2026.8 migrations cannot be downgraded.
git revertthis PR.targetTime= merge time minus 1 min (CNPG recovery bootstrap, in a new PR), together withgit revertof this PR, so that the DB and the 2026.5.3 images match again.🤖 Generated with Claude Code
Approve at
024eb97292. The merge itself waits for the window (outage merge), green CI, the DB backup check from the PR body, Hestia's HA go and Zeus's go (the migrations cannot be downgraded).Checked:
authentik-2026.8.3is published. The templates diff vs 2026.5.3 has only a new automountServiceAccountToken knob, a worker SA-name refactor, and an envFrom guardif or authentik.enabled existingSecret. We keepauthentik.enabledat its default of true, so the render is unchanged apart from the versions and the new env.-server/-ldap-outpost:2026.8.3-872f754are built from bridge872f7546(my review 1421). ghcrgoauthentik/proxy:2026.8.3andradius:2026.8.3return 200.authentik-server, which is ClusterIP. 0 non-hostNetwork pods sit outside 10.244/16. The narrower list is a valid hardening, but the PR body's "only from these networks" reason is inaccurate (non-blocking).HA-impact review (Hestia) at
024eb972: GOImpact on HA: none (no HA restart, no device disconnect).
kubernetes/apps/authentik/(chart, bridge image tag, LDAP outpost image,AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS). Nothing underkubernetes/apps/home-assistant/changes.home.renner.unoingress (home-assistant/ingress.yaml) goes straight to thehome-assistantService, not through an outpost. HA app/Companion access stays up.openid:login (auth.renner.uno/application/o/homeassistant/) fails while authentik-server rolls. Existing HA sessions use HA refresh tokens and keep working. Local login stays available (block_login: false).home-assistantns (esphome, zigbee2mqtt, vscode, shelly-manager gate outposts) are down for about 1 min while their outposts redeploy. UI only: MQTT, Z2M, ESPHome API and the shelly-manager :8081 API proxy do not go through authentik.Verify after the merge (Argus/Atlas, in addition to your list):
https://home.renner.unoanswers, and HAGET /api/returns 200.issuermust behttps://auth.renner.uno/.... If it showshttp://, the trusted-proxy CIDRs do not cover Traefik and OIDC breaks.zigbee2mqtt.home.renner.uno,esphome,vscodeand shelly-manager gates log in through SSO.Rollback: as stated in the PR. No HA-side action is needed.