11 Commits
Author SHA1 Message Date
github-actions[bot] 71ac8da350 chore: Automated version update for Helm charts 2026-10-13 03:16:36 +00:00
github-actions[bot] e6519adc3d chore: Automated version update for Helm charts 2026-09-26 03:10:35 +00:00
shaandClaude Opus 5 f0d7c1f474 traefik-forward-auth: send PKCE code_challenge, default on
Pocket ID rejects the authorization request outright when its OIDC client
has PKCE required -- "This client requires PKCE, but the 'code_challenge'
parameter is missing" -- which is the default for clients created in recent
Pocket ID versions. Every app behind the portal fails at login, not just
the one being tested.

Upstream supports this via the pocketID provider's enablePKCE flag; the
chart never emitted it, so it stayed at its false default. Adds it to the
normalised portal shape (per-portal override via portals[].pocketID.enablePKCE)
and defaults it on, since PKCE is harmless when the client does not require it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 02:39:14 +03:00
shaandClaude Opus 5 cf2aebf298 feat(traefik-forward-auth): serve several domains and portals from one instance
A session cookie scoped to one registrable domain is never sent to a host under
another, so an app on a second domain could not be protected by this instance at
all. It failed with a 500 naming the cause: "return URL host does not match any
configured cookie domain".

`domains` is now a list of {domain, authHost}, matching the upstream
`server.domains` schema. The chart previously emitted `server.hostname` and
`cookies.domain`, which are not in 4.14.1's documented options — a deprecated
form that still worked. The single-domain values remain as shorthand and fold
into one entry, so an existing release renders the same protection it did before.

`portals` is a list too. A portal is one OAuth2 client, chosen by the middleware
address, so two portals means two Pocket ID applications — which is how access
can be separated per domain rather than merely shared across them. Each portal
gets its own Middleware and its own mounted secret, under
/var/run/secrets/traefik-forward-auth/<portal>/.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 00:10:40 +03:00
github-actions[bot] ec62152fea chore: Automated version update for Helm charts 2026-08-13 03:46:37 +00:00
github-actions[bot] 151a2c51ea chore: Automated version update for Helm charts 2026-07-26 04:12:12 +00:00
github-actions[bot] 717f1ae379 chore: Automated version update for Helm charts 2026-07-06 04:29:10 +00:00
github-actions[bot] 6ce6ee9eb6 chore: Automated version update for Helm charts 2026-06-28 04:32:00 +00:00
github-actions[bot] dd804abc3c chore: Automated version update for Helm charts 2026-05-09 04:10:45 +00:00
github-actions[bot] c83ed5dab3 chore: Automated version update for Helm charts 2026-04-29 04:14:37 +00:00
sha 9d057b2f3e feat: Add traefik-forward-auth Helm chart with deployment, service, ingress, middleware, and configuration templates 2026-04-19 13:21:22 +03:00