Conformance & testing
How krouter is verified: official conformance, e2e, performance gates, and the published report.
krouter treats the official
Gateway API conformance suite
as its contract: every non-mesh test in the GATEWAY-HTTP,
GATEWAY-GRPC, GATEWAY-TLS, GATEWAY-TCP and GATEWAY-UDP profiles
passes, Core and Extended. The supported feature set is not
hand-declared either: the suite infers it from what krouter publishes in
GatewayClass.status.supportedFeatures, so an over-claimed feature would
fail its own tests.
The report
Every build runs five suites and publishes a single self-contained report:
Open the latest test report Open the gotestwaf WAF evaluation
| Suite | What it proves |
|---|---|
| Unit | Pure routing/compilation logic |
| End-to-end | A real installation driven only through the Kubernetes API: atomic reloads, readiness handling, cross-namespace policies, all five protocols |
| Conformance | The official Gateway API suite, executed in-cluster |
| Performance | 10,000 concurrent connections held across a configuration reload with zero disconnects |
| Security (WAF) | The Coraza + OWASP CRS extension scored by gotestwaf over HTTP and gRPC (REST, SOAP, and the OWASP attack classes) |
Running it yourself
The repository automates everything with Task against a local kind cluster:
task k8s:up # create the cluster, install the Gateway API CRDs
task k8s:deploy # build, load and deploy krouter
task tests:report # run all suites and build the HTML/JUnit report
The report lands in tests/results/report/report.html, and the raw
conformance report (the upstream YAML format used for
conformance submissions)
in tests/results/conformance/report.yaml. The full gotestwaf evaluation
is written to tests/results/waf/waf-evaluation.html and bundled next to
the report as gotestwaf.html.
What is intentionally out of scope
krouter is a gateway, not a service mesh: the MESH profile tests and
the HTTPRoute retry tests are the only skipped conformance tests.
Retries and active health checks are out of scope today; the
comparison table lists which alternatives cover
those.