{ "Gateway": { "Auth": { "DpopEnabled": false, "AllowAnonymous": true, "EnableLegacyHeaders": true, "AllowScopeHeader": false, "ApprovedAuthPassthroughPrefixes": [ "/connect", "/console", "/authority", "/doctor", "/api", "/policy/shadow", "/policy/simulations" ], "Authority": { "Issuer": "https://authority.stella-ops.local/", "RequireHttpsMetadata": false, "MetadataAddress": "https://authority.stella-ops.local/.well-known/openid-configuration", "Audiences": [ ] } }, "Health": { "StaleThreshold": "30s", "DegradedThreshold": "20s", "CheckInterval": "5s", "RequiredMicroservices": [ "platform", "policy", "notify", "scanner", "findings", "integrations", "reachgraph", "attestor", "evidence", "sbom", "jobengine", "authority", "vex", "concelier" ] }, "Routes": [ { "Type": "ReverseProxy", "Path": "/api/v1/setup", "TranslatesTo": "http://platform.stella-ops.local/api/v1/setup", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/release-orchestrator", "TranslatesTo": "http://jobengine.stella-ops.local/api/v1/release-orchestrator", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/approvals", "TranslatesTo": "http://jobengine.stella-ops.local/api/v1/approvals", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/vex", "TranslatesTo": "https://vexhub.stella-ops.local/api/v1/vex", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/vexlens", "TranslatesTo": "http://vexlens.stella-ops.local/api/v1/vexlens", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/notify", "TranslatesTo": "http://notify.stella-ops.local/api/v1/notify", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/notifier", "TranslatesTo": "http://notifier.stella-ops.local/api/v1/notifier", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/concelier", "TranslatesTo": "http://concelier.stella-ops.local/api/v1/concelier", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v1/platform", "TranslatesTo": "http://platform.stella-ops.local/api/v1/platform", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/scanner", "TranslatesTo": "http://scanner.stella-ops.local/api/v1/scanner", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/findings", "TranslatesTo": "http://findings-ledger.stella-ops.local/api/v1/findings", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/integrations", "TranslatesTo": "http://integrations.stella-ops.local/api/v1/integrations", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/policy", "TranslatesTo": "http://policy-gateway.stella-ops.local/api/v1/policy", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/reachability", "TranslatesTo": "http://reachgraph.stella-ops.local/api/v1/reachability", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/attestor", "TranslatesTo": "http://attestor.stella-ops.local/api/v1/attestor", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/attestations", "TranslatesTo": "http://attestor.stella-ops.local/api/v1/attestations", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/sbom", "TranslatesTo": "http://sbomservice.stella-ops.local/api/v1/sbom", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/signals", "TranslatesTo": "http://signals.stella-ops.local/api/v1/signals", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v1/jobengine", "TranslatesTo": "http://jobengine.stella-ops.local/api/v1/jobengine", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v1/authority/quotas", "TranslatesTo": "http://platform.stella-ops.local/api/v1/authority/quotas", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/authority", "TranslatesTo": "https://authority.stella-ops.local/api/v1/authority", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/trust", "TranslatesTo": "https://authority.stella-ops.local/api/v1/trust", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/evidence", "TranslatesTo": "https://evidencelocker.stella-ops.local/api/v1/evidence", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/proofs", "TranslatesTo": "https://evidencelocker.stella-ops.local/api/v1/proofs", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/timeline", "TranslatesTo": "http://timelineindexer.stella-ops.local/api/v1/timeline", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v1/audit", "TranslatesTo": "http://timeline.stella-ops.local/api/v1/audit", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/advisory-sources", "TranslatesTo": "http://concelier.stella-ops.local/api/v1/advisory-sources", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/notifier/delivery", "TranslatesTo": "http://notifier.stella-ops.local/api/v2/notify/deliveries", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v1/release-control", "TranslatesTo": "http://platform.stella-ops.local/api/v1/release-control", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v2/context", "TranslatesTo": "http://platform.stella-ops.local/api/v2/context", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v2/releases", "TranslatesTo": "http://platform.stella-ops.local/api/v2/releases", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v2/security", "TranslatesTo": "http://platform.stella-ops.local/api/v2/security", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v2/topology", "TranslatesTo": "http://platform.stella-ops.local/api/v2/topology", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v2/integrations", "TranslatesTo": "http://platform.stella-ops.local/api/v2/integrations", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/authority/console", "TranslatesTo": "https://authority.stella-ops.local/console", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v1/advisory-ai/adapters", "TranslatesTo": "http://advisoryai.stella-ops.local/v1/advisory-ai/adapters", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v1/search", "TranslatesTo": "http://advisoryai.stella-ops.local/v1/search", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v1/advisory-ai", "TranslatesTo": "http://advisoryai.stella-ops.local/v1/advisory-ai", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/v1/evidence-packs", "TranslatesTo": "http://advisoryai.stella-ops.local/v1/evidence-packs", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/advisory", "TranslatesTo": "http://advisoryai.stella-ops.local/api/v1/advisory", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/vulnerabilities", "TranslatesTo": "http://scanner.stella-ops.local/api/v1/vulnerabilities", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/watchlist", "TranslatesTo": "http://attestor.stella-ops.local/api/v1/watchlist", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/resolve", "TranslatesTo": "http://binaryindex.stella-ops.local/api/v1/resolve", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/ops/binaryindex", "TranslatesTo": "http://binaryindex.stella-ops.local/api/v1/ops/binaryindex", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/verdicts", "TranslatesTo": "https://evidencelocker.stella-ops.local/api/v1/verdicts", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/lineage", "TranslatesTo": "http://sbomservice.stella-ops.local/api/v1/lineage", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/export", "TranslatesTo": "https://exportcenter.stella-ops.local/api/v1/export", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/triage", "TranslatesTo": "http://scanner.stella-ops.local/api/v1/triage", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/governance", "TranslatesTo": "http://policy-gateway.stella-ops.local/api/v1/governance", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/determinization", "TranslatesTo": "http://policy-engine.stella-ops.local/api/v1/determinization", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/opsmemory", "TranslatesTo": "http://opsmemory.stella-ops.local/api/v1/opsmemory", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/secrets", "TranslatesTo": "http://scanner.stella-ops.local/api/v1/secrets", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v1/sources", "TranslatesTo": "http://scanner.stella-ops.local/api/v1/sources", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/workflows", "TranslatesTo": "http://orchestrator.stella-ops.local/api/v1/workflows", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v1/witnesses", "TranslatesTo": "http://scanner.stella-ops.local/api/v1/witnesses", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/v1/runs", "TranslatesTo": "http://orchestrator.stella-ops.local/v1/runs", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/v1/advisory-ai/adapters", "TranslatesTo": "http://advisoryai.stella-ops.local/v1/advisory-ai/adapters", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/v1/advisory-ai", "TranslatesTo": "http://advisoryai.stella-ops.local/v1/advisory-ai", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/v1/audit-bundles", "TranslatesTo": "https://exportcenter.stella-ops.local/v1/audit-bundles", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/cvss", "TranslatesTo": "http://policy-gateway.stella-ops.local/api/cvss", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/policy", "TranslatesTo": "http://policy-gateway.stella-ops.local/api/policy", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/risk", "TranslatesTo": "http://policy-engine.stella-ops.local/api/risk", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/analytics", "TranslatesTo": "http://platform.stella-ops.local/api/analytics", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/release-orchestrator", "TranslatesTo": "http://jobengine.stella-ops.local/api/release-orchestrator", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/releases", "TranslatesTo": "http://jobengine.stella-ops.local/api/releases", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/approvals", "TranslatesTo": "http://jobengine.stella-ops.local/api/approvals", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/gate", "TranslatesTo": "http://policy-gateway.stella-ops.local/api/gate", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/risk-budget", "TranslatesTo": "http://policy-engine.stella-ops.local/api/risk-budget", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/fix-verification", "TranslatesTo": "http://scanner.stella-ops.local/api/fix-verification", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/compare", "TranslatesTo": "http://sbomservice.stella-ops.local/api/compare", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/change-traces", "TranslatesTo": "http://sbomservice.stella-ops.local/api/change-traces", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/exceptions", "TranslatesTo": "http://policy-gateway.stella-ops.local/api/exceptions", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/verdicts", "TranslatesTo": "https://evidencelocker.stella-ops.local/api/verdicts", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/jobengine", "TranslatesTo": "http://orchestrator.stella-ops.local/api/jobengine", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/v1/gateway/rate-limits", "TranslatesTo": "http://platform.stella-ops.local/api/v1/gateway/rate-limits", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/sbomservice", "TranslatesTo": "http://sbomservice.stella-ops.local/api/sbomservice", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/vuln-explorer", "TranslatesTo": "http://vulnexplorer.stella-ops.local/api/vuln-explorer", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/vex", "TranslatesTo": "https://vexhub.stella-ops.local/api/vex", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/admin/plans", "TranslatesTo": "http://registry-token.stella-ops.local/api/admin/plans", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/admin", "TranslatesTo": "http://platform.stella-ops.local/api/admin", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/api/scheduler", "TranslatesTo": "http://scheduler.stella-ops.local/api/scheduler", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/v1/doctor/scheduler", "TranslatesTo": "http://doctor-scheduler.stella-ops.local/api/v1/doctor/scheduler", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api/doctor", "TranslatesTo": "http://doctor.stella-ops.local/api/doctor", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/api", "TranslatesTo": "http://platform.stella-ops.local/api", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/platform/envsettings.json", "TranslatesTo": "http://platform.stella-ops.local/platform/envsettings.json", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/platform", "TranslatesTo": "http://platform.stella-ops.local/platform", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/connect", "TranslatesTo": "http://authority.stella-ops.local/connect", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/.well-known", "TranslatesTo": "http://authority.stella-ops.local/.well-known", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/jwks", "TranslatesTo": "http://authority.stella-ops.local/jwks", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/authority", "TranslatesTo": "https://authority.stella-ops.local/authority", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/console", "TranslatesTo": "https://authority.stella-ops.local/console", "PreserveAuthHeaders": true }, { "Type": "ReverseProxy", "Path": "/rekor", "TranslatesTo": "http://rekor.stella-ops.local:3322" }, { "Type": "ReverseProxy", "Path": "/envsettings.json", "TranslatesTo": "http://platform.stella-ops.local/platform/envsettings.json", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/scanner", "TranslatesTo": "http://scanner.stella-ops.local" }, { "Type": "Microservice", "Path": "/policyGateway", "TranslatesTo": "http://policy-gateway.stella-ops.local" }, { "Type": "Microservice", "Path": "/policyEngine", "TranslatesTo": "http://policy-engine.stella-ops.local" }, { "Type": "Microservice", "Path": "/concelier", "TranslatesTo": "http://concelier.stella-ops.local" }, { "Type": "Microservice", "Path": "/attestor", "TranslatesTo": "http://attestor.stella-ops.local" }, { "Type": "Microservice", "Path": "/notify", "TranslatesTo": "http://notify.stella-ops.local" }, { "Type": "Microservice", "Path": "/notifier", "TranslatesTo": "http://notifier.stella-ops.local" }, { "Type": "Microservice", "Path": "/scheduler", "TranslatesTo": "http://scheduler.stella-ops.local" }, { "Type": "Microservice", "Path": "/signals", "TranslatesTo": "http://signals.stella-ops.local" }, { "Type": "Microservice", "Path": "/excititor", "TranslatesTo": "http://excititor.stella-ops.local" }, { "Type": "Microservice", "Path": "/findingsLedger", "TranslatesTo": "http://findings-ledger.stella-ops.local" }, { "Type": "Microservice", "Path": "/vexhub", "TranslatesTo": "https://vexhub.stella-ops.local" }, { "Type": "Microservice", "Path": "/vexlens", "TranslatesTo": "http://vexlens.stella-ops.local" }, { "Type": "Microservice", "Path": "/jobengine", "TranslatesTo": "http://orchestrator.stella-ops.local" }, { "Type": "Microservice", "Path": "/taskrunner", "TranslatesTo": "http://taskrunner.stella-ops.local" }, { "Type": "Microservice", "Path": "/cartographer", "TranslatesTo": "http://cartographer.stella-ops.local" }, { "Type": "Microservice", "Path": "/reachgraph", "TranslatesTo": "http://reachgraph.stella-ops.local" }, { "Type": "Microservice", "Path": "/doctor", "TranslatesTo": "http://doctor.stella-ops.local", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/integrations", "TranslatesTo": "http://integrations.stella-ops.local" }, { "Type": "Microservice", "Path": "/policy", "TranslatesTo": "http://policy-gateway.stella-ops.local/policy", "PreserveAuthHeaders": true }, { "Type": "Microservice", "Path": "/replay", "TranslatesTo": "http://replay.stella-ops.local" }, { "Type": "Microservice", "Path": "/exportcenter", "TranslatesTo": "https://exportcenter.stella-ops.local" }, { "Type": "Microservice", "Path": "/evidencelocker", "TranslatesTo": "https://evidencelocker.stella-ops.local" }, { "Type": "Microservice", "Path": "/signer", "TranslatesTo": "http://signer.stella-ops.local" }, { "Type": "Microservice", "Path": "/binaryindex", "TranslatesTo": "http://binaryindex.stella-ops.local" }, { "Type": "Microservice", "Path": "/riskengine", "TranslatesTo": "http://riskengine.stella-ops.local" }, { "Type": "Microservice", "Path": "/vulnexplorer", "TranslatesTo": "http://vulnexplorer.stella-ops.local" }, { "Type": "Microservice", "Path": "/sbomservice", "TranslatesTo": "http://sbomservice.stella-ops.local" }, { "Type": "Microservice", "Path": "/advisoryai", "TranslatesTo": "http://advisoryai.stella-ops.local" }, { "Type": "Microservice", "Path": "/unknowns", "TranslatesTo": "http://unknowns.stella-ops.local" }, { "Type": "Microservice", "Path": "/timelineindexer", "TranslatesTo": "http://timelineindexer.stella-ops.local" }, { "Type": "Microservice", "Path": "/opsmemory", "TranslatesTo": "http://opsmemory.stella-ops.local" }, { "Type": "Microservice", "Path": "/issuerdirectory", "TranslatesTo": "http://issuerdirectory.stella-ops.local" }, { "Type": "Microservice", "Path": "/symbols", "TranslatesTo": "http://symbols.stella-ops.local" }, { "Type": "Microservice", "Path": "/packsregistry", "TranslatesTo": "http://packsregistry.stella-ops.local" }, { "Type": "Microservice", "Path": "/registryTokenservice", "TranslatesTo": "http://registry-token.stella-ops.local" }, { "Type": "Microservice", "Path": "/airgapController", "TranslatesTo": "http://airgap-controller.stella-ops.local" }, { "Type": "Microservice", "Path": "/airgapTime", "TranslatesTo": "http://airgap-time.stella-ops.local" }, { "Type": "Microservice", "Path": "/smremote", "TranslatesTo": "http://smremote.stella-ops.local" }, { "Type": "StaticFiles", "Path": "/", "TranslatesTo": "/app/wwwroot", "Headers": { "x-spa-fallback": "true" } }, { "Type": "NotFoundPage", "Path": "/_error/404", "TranslatesTo": "/app/wwwroot/index.html" }, { "Type": "ServerErrorPage", "Path": "/_error/500", "TranslatesTo": "/app/wwwroot/index.html" } ] }, "Logging": { "LogLevel": { "Microsoft.AspNetCore.Authentication": "Information", "Microsoft.IdentityModel": "Information", "StellaOps": "Information" } } }