Segment-bound doctor and scheduler frontdoor chunks

This commit is contained in:
master
2026-03-10 12:47:51 +02:00
parent 1b6051662f
commit d881fff387
9 changed files with 138 additions and 15 deletions

View File

@@ -136,8 +136,9 @@ flows, Rekor, and static/platform bootstrap assets).
The local route table also carries a small set of explicit precedence rules that must stay ahead of the
generic `^/api/v1/{service}` matcher. Platform-owned surfaces such as `/api/v1/aoc/*` and
`/api/v1/administration/*` resolve directly to `platform`, and browser compatibility prefixes such as
`/doctor/*` and `/scheduler/*` strip the frontdoor prefix before dispatch so the target services still
receive their canonical `/api/v1/doctor/*` and `/api/v1/scheduler/*` paths.
`/doctor/*` and `/scheduler/*` are segment-bound before they strip the frontdoor prefix for dispatch.
That keeps the target services on their canonical `/api/v1/doctor/*` and `/api/v1/scheduler/*` paths
without hijacking frontend assets like `doctor.routes-*.js` or `scheduler-ops.routes-*.js`.
```bash
# Default frontdoor route table

View File

@@ -105,8 +105,8 @@
{ "Type": "Microservice", "Path": "^/api/admin/plans(.*)", "IsRegex": true, "TranslatesTo": "http://registry-token.stella-ops.local/api/admin/plans$1" },
{ "Type": "Microservice", "Path": "^/api/admin(.*)", "IsRegex": true, "TranslatesTo": "http://platform.stella-ops.local/api/admin$1" },
{ "Type": "Microservice", "Path": "^/api/analytics(.*)", "IsRegex": true, "TranslatesTo": "http://platform.stella-ops.local/api/analytics$1" },
{ "Type": "Microservice", "Path": "^/scheduler(.*)", "IsRegex": true, "TranslatesTo": "http://scheduler.stella-ops.local$1" },
{ "Type": "Microservice", "Path": "^/doctor(.*)", "IsRegex": true, "TranslatesTo": "http://doctor.stella-ops.local$1" },
{ "Type": "Microservice", "Path": "^/scheduler(?=/|$)(.*)", "IsRegex": true, "TranslatesTo": "http://scheduler.stella-ops.local$1" },
{ "Type": "Microservice", "Path": "^/doctor(?=/|$)(.*)", "IsRegex": true, "TranslatesTo": "http://doctor.stella-ops.local$1" },
{ "Type": "Microservice", "Path": "^/api/orchestrator(.*)", "IsRegex": true, "TranslatesTo": "http://orchestrator.stella-ops.local/api/orchestrator$1" },
{ "Type": "Microservice", "Path": "^/api/jobengine(.*)", "IsRegex": true, "TranslatesTo": "http://orchestrator.stella-ops.local/api/jobengine$1" },
{ "Type": "Microservice", "Path": "^/api/scheduler(.*)", "IsRegex": true, "TranslatesTo": "http://scheduler.stella-ops.local/api/scheduler$1" },