🤖 Generated by the Agentic Engineer
Evidence
Audience and problem
The platform wants native ExternalAuth SSO (#1881), but nobody knows whether Cilium 1.20.1 still loses the ext_authz subrequest when Envoy and the auth backend are on different nodes. Testing that on a real login route risks another outage.
Hypothesis
With one test-only route on ExternalAuth, a probe can measure cross-node delivery without any real sign-in.
- Why no login is needed: an unauthenticated request still makes Envoy call oauth2-proxy, which answers 401 or 302 at once.
- What each outcome looks like: a delivered subrequest comes back fast, while a black-holed one times out.
Success signal
Over at least 100 unauthenticated probe requests, spread across gateway nodes:
- Fixed: every response is an oauth2-proxy 401 or 302, with no timeouts.
- Still broken: timeouts roughly in proportion to requests landing cross-node from the oauth2-proxy replicas.
- Guardrail: no user-facing route changes, and the component stays unreferenced unless the test is running.
Smallest useful change
- Default-off component: a Kustomize component in the Hetzner provider overlay, following the existing
components/ pattern. It holds:
- an HTTPRoute on a dedicated probe hostname, routed to the existing whoami backend;
- an
ExternalAuth filter pointing at oauth2-proxy, with a non-empty allowedResponseHeaders;
- the network policy and ReferenceGrant it needs.
- Probe workflow: a dispatch-only workflow that sends N unauthenticated requests to the probe hostname. It reports the count of 401/302, other statuses and timeouts, and prints no addresses.
- Separate enable PR: reference the component only while the test runs, and remove it afterwards.
Acceptance criteria
Rough size: M.
Part of #2284
Blocker: production dispatch of the merged Probe Cilium ExternalAuth Cross-Node workflow, plus confirmation of the agent-written approval (maintainer authority) | authority | last-verified 2026-09-15: workflow on main, 0 runs | asked slack 2026-09-15
Evidence
ExternalAuthfilter.Audience and problem
The platform wants native
ExternalAuthSSO (#1881), but nobody knows whether Cilium 1.20.1 still loses the ext_authz subrequest when Envoy and the auth backend are on different nodes. Testing that on a real login route risks another outage.Hypothesis
With one test-only route on
ExternalAuth, a probe can measure cross-node delivery without any real sign-in.Success signal
Over at least 100 unauthenticated probe requests, spread across gateway nodes:
Smallest useful change
components/pattern. It holds:ExternalAuthfilter pointing atoauth2-proxy, with a non-emptyallowedResponseHeaders;Acceptance criteria
Rough size: M.
Part of #2284
Blocker: production dispatch of the merged Probe Cilium ExternalAuth Cross-Node workflow, plus confirmation of the agent-written approval (maintainer authority) | authority | last-verified 2026-09-15: workflow on main, 0 runs | asked slack 2026-09-15