Fix release API proxy routes + wire pipeline to real data
- Add nginx proxy blocks for /api/v1/release-orchestrator/, /api/v1/release-control/, /api/v2/releases/, /api/v1/releases/, /api/v1/registries/ in Dockerfile.console - All release UI calls now reach JobEngine (401 not 404) - Registry search reaches Scanner service - Pipeline page uses ReleaseManagementStore (real API, no mock data) - Deployment wizard uses BundleOrganizerApi for create/seal - Inline version/hotfix creation in deployment wizard wired to API - Version detail shows "not found" error instead of blank screen - Version wizard has promotion lane + duplicate component detection - Sprint plan for 41 missing backend endpoints created Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -49,6 +49,65 @@ server {
|
||||
|
||||
# --- API reverse proxy (eliminates CORS for same-origin requests) ---
|
||||
|
||||
# Release Orchestrator (JobEngine service) — must precede the /api/ catch-all
|
||||
location /api/v1/release-orchestrator/ {
|
||||
set \$orchestrator_upstream http://orchestrator.stella-ops.local;
|
||||
proxy_pass \$orchestrator_upstream;
|
||||
proxy_set_header Host \$host;
|
||||
proxy_set_header X-Real-IP \$remote_addr;
|
||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
}
|
||||
|
||||
# Release Control bundles (JobEngine service)
|
||||
location /api/v1/release-control/ {
|
||||
set \$orchestrator_upstream http://orchestrator.stella-ops.local;
|
||||
proxy_pass \$orchestrator_upstream;
|
||||
proxy_set_header Host \$host;
|
||||
proxy_set_header X-Real-IP \$remote_addr;
|
||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
}
|
||||
|
||||
# Release v2 read-model (JobEngine service) — rewrites /api/v2/releases/ to orchestrator
|
||||
location /api/v2/releases/ {
|
||||
set \$orchestrator_upstream http://orchestrator.stella-ops.local;
|
||||
proxy_pass \$orchestrator_upstream;
|
||||
proxy_set_header Host \$host;
|
||||
proxy_set_header X-Real-IP \$remote_addr;
|
||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
}
|
||||
|
||||
# Legacy v1 releases (JobEngine service)
|
||||
location /api/v1/releases/ {
|
||||
set \$orchestrator_upstream http://orchestrator.stella-ops.local;
|
||||
proxy_pass \$orchestrator_upstream;
|
||||
proxy_set_header Host \$host;
|
||||
proxy_set_header X-Real-IP \$remote_addr;
|
||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
}
|
||||
|
||||
# Registry image search (Scanner service)
|
||||
location /api/v1/registries/ {
|
||||
set \$scanner_upstream http://scanner.stella-ops.local;
|
||||
proxy_pass \$scanner_upstream;
|
||||
proxy_set_header Host \$host;
|
||||
proxy_set_header X-Real-IP \$remote_addr;
|
||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
}
|
||||
|
||||
# Release v2 security endpoints (Platform proxies these)
|
||||
location /api/v2/security/ {
|
||||
proxy_pass http://platform.stella-ops.local/api/v2/security/;
|
||||
proxy_set_header Host \$host;
|
||||
proxy_set_header X-Real-IP \$remote_addr;
|
||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
}
|
||||
|
||||
# Platform API (direct /api/ prefix for clients using environment.apiBaseUrl)
|
||||
location /api/ {
|
||||
proxy_pass http://platform.stella-ops.local/api/;
|
||||
@@ -227,6 +286,17 @@ server {
|
||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
}
|
||||
|
||||
# Orchestrator service (key: orchestrator, strips /orchestrator/ prefix)
|
||||
location /orchestrator/ {
|
||||
set \$orchestrator_upstream http://orchestrator.stella-ops.local;
|
||||
rewrite ^/orchestrator/(.*)\$ /\$1 break;
|
||||
proxy_pass \$orchestrator_upstream;
|
||||
proxy_set_header Host \$host;
|
||||
proxy_set_header X-Real-IP \$remote_addr;
|
||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
}
|
||||
|
||||
# Environment settings — SPA fetches /platform/envsettings.json at startup.
|
||||
# sub_filter rewrites Docker-internal hostnames to relative paths so the
|
||||
# browser routes all API calls through this nginx reverse proxy (CORS fix).
|
||||
|
||||
Reference in New Issue
Block a user