Skip to content

test(cilium): measure ExternalAuth cross-node delivery on a test-only route #3784

Description

@devantler

🤖 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

  1. 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.
  2. 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.
  3. 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions