Skip to content

Catch silent edge misconfiguration before it reaches customers #247

Description

@scotwells

The problem

The edge applies real protections on customers' behalf — firewall rules, connector routing, branded error pages, per-listener certificate isolation. But our confidence that those protections are actually in force has rested almost entirely on "the request worked." A request can succeed while the protection behind it never applied, applied only partly, or landed in the wrong place. That whole class of silent failure has been invisible to us, and our edge tests couldn't catch it because they ran against a simplified setup that didn't resemble how the edge really runs.

Two gaps, reinforcing each other:

  • No way to ask the edge what it believes it should be running. We could observe traffic, but not the intended configuration behind it — so we couldn't tell "healthy response" apart from "healthy response with the protection silently missing."
  • No faithful place to prove edge behavior. Tests ran on a single-stack stand-in, not the real two-cluster topology, real gateway version, real firewall data plane, or real config-delivery path. Every gap between test and production was a place a bug could hide.

The work

A stack of five PRs that closes both gaps and then proves the edge's core guarantees with real traffic:

Outcome

Silent edge misconfiguration gets a name and a place to surface — in testing, before it reaches customers — instead of hiding behind a green response in production.

Known follow-up

The new prod-fidelity environment and its real-traffic scenarios are not yet wired into CI. CI still runs the older single-stack make test-e2e; the two-cluster env and test/e2e-edge/ chainsaw scenarios run locally via task test-infra:e2e. Wiring this stack into CI so every PR exercises the real edge path is the natural next step once the stack lands.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions