Restore platform ownership for v2 evidence routes

This commit is contained in:
master
2026-03-10 13:10:06 +02:00
parent ffd4646d89
commit fc7aaf4d37
9 changed files with 132 additions and 5 deletions

View File

@@ -91,6 +91,8 @@ Regex microservice routes that own a root prefix must use a segment boundary whe
Browser-facing compatibility prefixes that exist only at the frontdoor must also use segment boundaries and strip that prefix before dispatching to the target microservice. Local compose keeps `/doctor/api/v1/doctor/*` and `/scheduler/api/v1/scheduler/*` for the shell, but the route table translates `^/doctor(?=/|$)(.*)` and `^/scheduler(?=/|$)(.*)` to `http://doctor.stella-ops.local$1` and `http://scheduler.stella-ops.local$1` so the backend still receives its canonical `/api/v1/<service>/*` path without stealing SPA chunks such as `doctor.routes-*.js`.
Platform-owned v2 read models must also stay explicit ahead of the generic `^/api/v2/{service}` matcher. Local compose currently pins `/api/v2/context*`, `/api/v2/releases*`, `/api/v2/security*`, `/api/v2/topology*`, `/api/v2/evidence*`, and `/api/v2/integrations*` to `platform` because those endpoints are aggregated read models rather than standalone microservice hosts.
### Pipeline Order
System paths (`/health`, `/metrics`, `/openapi.*`) bypass the route table entirely. The dispatch middleware runs before the microservice pipeline: