Commit graph

1 commit

Author SHA1 Message Date
a36563543b Give the reuse landing catch-all its own Ingress and an explicit priority
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
/health returned nginx 404 through the ingress while the service answered 200
in-cluster. The ingress rule was correct on paper — /health Exact ->
reuse-surface:8000 alongside / Prefix -> reuse-surface-landing:8080 — but
Traefik derives router priority from the length of the generated rule string,
and Path(`/health`) and PathPrefix(`/`) are both 15 characters. The tie broke
toward the landing page. PathPrefix(`/v1`) is longer, which is why /v1 worked
and the fault looked like a /health-only bug.

traefik.ingress.kubernetes.io/router.priority applies per Ingress, not per
path, so the catch-all moves into its own Ingress with priority 1. Every API
route now outranks it regardless of rule length.

This is not cosmetic: make reuse-smoke curls /health and false-negatives on an
otherwise healthy release.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 03:24:14 +02:00