fix(gateway): route /api/v1/setup prefix to platform microservice
The exact-path rule for /api/v1/setup matched only the bare path, so
sub-paths like /api/v1/setup/sessions fell through to the generic
/api/v1/{svc}/* rule and the gateway tried to dispatch to a synthetic
"setup" microservice. Swap the exact route for a prefix-aware route
that sends /api/v1/setup* to platform, add integration/smoke coverage,
and refresh the local frontdoor config accordingly.
Closes BOOTSTRAP-001 from SPRINT_20260413_004.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -23,6 +23,8 @@
|
||||
"Microservice","^/api/v1/authority/quotas(.*)","http://platform.stella-ops.local/api/v1/authority/quotas$1",,
|
||||
"Microservice","^/api/v1/release-control(.*)","http://platform.stella-ops.local/api/v1/release-control$1",,
|
||||
"Microservice","^/api/v1/gateway/rate-limits(.*)","http://platform.stella-ops.local/api/v1/gateway/rate-limits$1",,
|
||||
"ReverseProxy","^/api/v1/setup(.*)","http://platform.stella-ops.local/api/v1/setup$1",,
|
||||
"ReverseProxy","^/api/v1/secret-authority(.*)","http://integrations.stella-ops.local/api/v1/secret-authority$1",,
|
||||
"Microservice","^/api/v1/reachability(.*)","http://reachgraph.stella-ops.local/api/v1/reachability$1",,
|
||||
"Microservice","^/api/v1/timeline(.*)","http://timelineindexer.stella-ops.local/api/v1/timeline$1",,
|
||||
"Microservice","^/api/v1/audit(.*)","http://timeline.stella-ops.local/api/v1/audit$1",,
|
||||
|
||||
|
@@ -81,19 +81,9 @@
|
||||
"CheckInterval": "5s",
|
||||
"RequiredMicroservices": [
|
||||
"platform",
|
||||
"policy-engine",
|
||||
"notify",
|
||||
"scanner",
|
||||
"findings-ledger",
|
||||
"integrations",
|
||||
"reachgraph",
|
||||
"attestor",
|
||||
"evidencelocker",
|
||||
"sbomservice",
|
||||
"release-orchestrator",
|
||||
"workflow",
|
||||
"authority",
|
||||
"vexhub",
|
||||
"concelier"
|
||||
]
|
||||
},
|
||||
@@ -159,6 +149,7 @@
|
||||
{ "Type": "Microservice", "Path": "^/api/v1/advisory-ai(.*)", "IsRegex": true, "TranslatesTo": "http://advisoryai.stella-ops.local/v1/advisory-ai$1" },
|
||||
{ "Type": "Microservice", "Path": "^/api/v1/advisory(.*)", "IsRegex": true, "TranslatesTo": "http://advisoryai.stella-ops.local/api/v1/advisory$1" },
|
||||
{ "Type": "Microservice", "Path": "^/api/v1/vex(.*)", "IsRegex": true, "TranslatesTo": "https://vexhub.stella-ops.local/api/v1/vex$1" },
|
||||
{ "Type": "Microservice", "Path": "^/api/v1/stella-assistant(.*)", "IsRegex": true, "TranslatesTo": "http://platform.stella-ops.local/api/v1/stella-assistant$1" },
|
||||
{ "Type": "Microservice", "Path": "^/api/v1/scheduler/doctor(.*)", "IsRegex": true, "TranslatesTo": "http://scheduler.stella-ops.local/api/v1/scheduler/doctor$1" },
|
||||
{ "Type": "ReverseProxy", "Path": "^/api/v1/registries(.*)", "IsRegex": true, "TranslatesTo": "http://platform.stella-ops.local/api/v1/registries$1", "PreserveAuthHeaders": true },
|
||||
|
||||
@@ -170,6 +161,9 @@
|
||||
{ "Type": "Microservice", "Path": "^/api/v2/integrations(.*)", "IsRegex": true, "TranslatesTo": "http://platform.stella-ops.local/api/v2/integrations$1" },
|
||||
{ "Type": "Microservice", "Path": "^/api/v2/scripts(.*)", "IsRegex": true, "TranslatesTo": "http://release-orchestrator.stella-ops.local/api/v2/scripts$1" },
|
||||
|
||||
{ "Type": "ReverseProxy", "Path": "^/api/v1/setup(.*)", "IsRegex": true, "TranslatesTo": "http://platform.stella-ops.local/api/v1/setup$1", "PreserveAuthHeaders": true },
|
||||
{ "Type": "ReverseProxy", "Path": "^/api/v1/secret-authority(.*)", "IsRegex": true, "TranslatesTo": "http://integrations.stella-ops.local/api/v1/secret-authority$1", "PreserveAuthHeaders": true },
|
||||
|
||||
{ "Type": "Microservice", "Path": "^/api/v1/([^/]+)(.*)", "IsRegex": true, "TranslatesTo": "http://$1.stella-ops.local/api/v1/$1$2" },
|
||||
{ "Type": "Microservice", "Path": "^/api/v2/([^/]+)(.*)", "IsRegex": true, "TranslatesTo": "http://$1.stella-ops.local/api/v2/$1$2" },
|
||||
|
||||
@@ -210,7 +204,6 @@
|
||||
{ "Type": "ReverseProxy", "Path": "/rekor", "TranslatesTo": "http://rekor.stella-ops.local:3322", "PreserveAuthHeaders": false },
|
||||
{ "Type": "ReverseProxy", "Path": "/platform/envsettings.json", "TranslatesTo": "http://platform.stella-ops.local/platform/envsettings.json" },
|
||||
{ "Type": "ReverseProxy", "Path": "/envsettings.json", "TranslatesTo": "http://platform.stella-ops.local/platform/envsettings.json" },
|
||||
{ "Type": "ReverseProxy", "Path": "/api/v1/setup", "TranslatesTo": "http://platform.stella-ops.local/api/v1/setup" },
|
||||
{ "Type": "ReverseProxy", "Path": "/platform", "TranslatesTo": "http://platform.stella-ops.local/platform" },
|
||||
{ "Type": "ReverseProxy", "Path": "/api", "TranslatesTo": "http://platform.stella-ops.local/api" },
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user