Reduce idle CPU across 62 containers (phase 1)
- Add resource limits (heavy/medium/light tiers) to all 59 .NET services - Add .NET GC tuning (server/workstation GC, DATAS, conserve memory) - Convert FirstSignalSnapshotWriter from 10s polling to Valkey pub/sub - Convert EnvironmentSettingsRefreshService from 60s polling to Valkey pub/sub - Consolidate GraphAnalytics dual timers to single timer with idle-skip - Increase healthcheck interval from 30s to 60s (configurable) - Reduce debug logging to Information on 4 high-traffic services Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -74,18 +74,60 @@ x-depends-infra: &depends-infra
|
||||
condition: service_healthy
|
||||
|
||||
x-healthcheck-tcp: &healthcheck-tcp
|
||||
interval: 30s
|
||||
interval: ${HEALTHCHECK_INTERVAL:-60s}
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 15s
|
||||
|
||||
x-healthcheck-worker: &healthcheck-worker
|
||||
test: ["CMD", "/usr/local/bin/healthcheck.sh"]
|
||||
interval: 30s
|
||||
interval: ${HEALTHCHECK_INTERVAL:-60s}
|
||||
timeout: 5s
|
||||
start_period: 30s
|
||||
retries: 3
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Resource limit tiers (Workstream 1: CPU optimization)
|
||||
# ---------------------------------------------------------------------------
|
||||
x-resources-heavy: &resources-heavy
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "1.0"
|
||||
memory: 2G
|
||||
|
||||
x-resources-medium: &resources-medium
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "0.50"
|
||||
memory: 1G
|
||||
|
||||
x-resources-light: &resources-light
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "0.25"
|
||||
memory: 512M
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# .NET GC tuning tiers (Workstream 6: GC configuration)
|
||||
# ---------------------------------------------------------------------------
|
||||
x-gc-heavy: &gc-heavy
|
||||
DOTNET_gcServer: "1"
|
||||
DOTNET_GCConserveMemory: "5"
|
||||
DOTNET_GCDynamicAdaptationMode: "1"
|
||||
|
||||
x-gc-medium: &gc-medium
|
||||
DOTNET_gcServer: "1"
|
||||
DOTNET_GCConserveMemory: "7"
|
||||
DOTNET_GCDynamicAdaptationMode: "1"
|
||||
|
||||
x-gc-light: &gc-light
|
||||
DOTNET_gcServer: "0"
|
||||
DOTNET_GCConserveMemory: "9"
|
||||
DOTNET_GCDynamicAdaptationMode: "1"
|
||||
|
||||
networks:
|
||||
stellaops:
|
||||
driver: bridge
|
||||
@@ -273,6 +315,7 @@ services:
|
||||
|
||||
# --- Slot 0: Router Gateway (Front Door) -----------------------------------
|
||||
router-gateway:
|
||||
<<: *resources-heavy
|
||||
image: stellaops/router-gateway:dev
|
||||
container_name: stellaops-router-gateway
|
||||
restart: unless-stopped
|
||||
@@ -282,7 +325,7 @@ services:
|
||||
condition: service_completed_successfully
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://0.0.0.0:8080"
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-heavy]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Gateway__Auth__DpopEnabled: "false"
|
||||
@@ -307,9 +350,12 @@ services:
|
||||
Gateway__Auth__IdentityEnvelopeSigningKey: "${STELLAOPS_IDENTITY_ENVELOPE_SIGNING_KEY}"
|
||||
# Audience validation disabled until authority includes aud in access tokens
|
||||
# Gateway__Auth__Authority__Audiences__0: "stella-ops-api"
|
||||
Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Debug"
|
||||
Logging__LogLevel__Microsoft.IdentityModel: "Debug"
|
||||
Logging__LogLevel__StellaOps: "Debug"
|
||||
# Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Debug"
|
||||
Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Information"
|
||||
# Logging__LogLevel__Microsoft.IdentityModel: "Debug"
|
||||
Logging__LogLevel__Microsoft.IdentityModel: "Information"
|
||||
# Logging__LogLevel__StellaOps: "Debug"
|
||||
Logging__LogLevel__StellaOps: "Information"
|
||||
volumes:
|
||||
- *cert-volume
|
||||
- console-dist:/app/wwwroot:ro
|
||||
@@ -331,13 +377,14 @@ services:
|
||||
|
||||
# --- Slot 1: Platform ------------------------------------------------------
|
||||
platform:
|
||||
<<: *resources-heavy
|
||||
image: stellaops/platform:dev
|
||||
container_name: stellaops-platform
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-heavy]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Platform__Authority__Issuer: "https://authority.stella-ops.local/"
|
||||
@@ -345,9 +392,12 @@ services:
|
||||
Platform__Authority__BypassNetworks__0: "172.0.0.0/8"
|
||||
Platform__Authority__BypassNetworks__1: "127.0.0.0/8"
|
||||
Platform__Authority__BypassNetworks__2: "::1/128"
|
||||
Logging__LogLevel__StellaOps.Auth: "Debug"
|
||||
Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Debug"
|
||||
Logging__LogLevel__Microsoft.AspNetCore.Authorization: "Debug"
|
||||
# Logging__LogLevel__StellaOps.Auth: "Debug"
|
||||
Logging__LogLevel__StellaOps.Auth: "Information"
|
||||
# Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Debug"
|
||||
Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Information"
|
||||
# Logging__LogLevel__Microsoft.AspNetCore.Authorization: "Debug"
|
||||
Logging__LogLevel__Microsoft.AspNetCore.Authorization: "Information"
|
||||
Platform__Storage__Driver: "postgres"
|
||||
Platform__Storage__PostgresConnectionString: *postgres-connection
|
||||
Platform__EnvironmentSettings__AuthorizeEndpoint: "https://stella-ops.local/connect/authorize"
|
||||
@@ -418,6 +468,7 @@ services:
|
||||
|
||||
# --- Slot 2: Authority -----------------------------------------------------
|
||||
authority:
|
||||
<<: *resources-heavy
|
||||
image: stellaops/authority:dev
|
||||
container_name: stellaops-authority
|
||||
restart: unless-stopped
|
||||
@@ -464,7 +515,7 @@ services:
|
||||
STELLAOPS_AUTHORITY_AUTHORITY__TENANTS__0__ID: "demo-prod"
|
||||
STELLAOPS_AUTHORITY_AUTHORITY__TENANTS__0__DISPLAYNAME: "Demo Production"
|
||||
STELLAOPS_AUTHORITY_AUTHORITY__TENANTS__0__STATUS: "active"
|
||||
<<: *router-microservice-defaults
|
||||
<<: [*router-microservice-defaults, *gc-heavy]
|
||||
Router__Enabled: "${AUTHORITY_ROUTER_ENABLED:-true}"
|
||||
Router__Messaging__ConsumerGroup: "authority"
|
||||
volumes:
|
||||
@@ -484,13 +535,14 @@ services:
|
||||
|
||||
# --- Slot 3: Gateway -------------------------------------------------------
|
||||
gateway:
|
||||
<<: *resources-light
|
||||
image: stellaops/gateway:dev
|
||||
container_name: stellaops-gateway
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:80;http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Gateway__Auth__DpopEnabled: "false"
|
||||
@@ -516,6 +568,7 @@ services:
|
||||
|
||||
# --- Slot 4: Attestor ------------------------------------------------------
|
||||
attestor:
|
||||
<<: *resources-light
|
||||
image: stellaops/attestor:dev
|
||||
container_name: stellaops-attestor
|
||||
restart: unless-stopped
|
||||
@@ -523,7 +576,7 @@ services:
|
||||
- signer
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8442"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ATTESTOR_ATTESTOR__SIGNER__BASEURL: "http://signer.stella-ops.local"
|
||||
ATTESTOR_ATTESTOR__POSTGRES__CONNECTIONSTRING: *postgres-connection
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
@@ -546,6 +599,7 @@ services:
|
||||
|
||||
# --- Slot 5: Attestor TileProxy --------------------------------------------
|
||||
attestor-tileproxy:
|
||||
<<: *resources-light
|
||||
image: stellaops/attestor-tileproxy:dev
|
||||
container_name: stellaops-attestor-tileproxy
|
||||
restart: unless-stopped
|
||||
@@ -553,7 +607,7 @@ services:
|
||||
- attestor
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-light]
|
||||
TILE_PROXY__tile_proxy__UpstreamUrl: "https://rekor.sigstore.dev"
|
||||
TILE_PROXY__tile_proxy__Origin: "stellaops-tileproxy"
|
||||
TILE_PROXY__tile_proxy__Cache__BasePath: "/var/cache/stellaops/tiles"
|
||||
@@ -573,13 +627,14 @@ services:
|
||||
|
||||
# --- Slot 6: Evidence Locker ------------------------------------------------
|
||||
evidence-locker-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/evidence-locker-web:dev
|
||||
container_name: stellaops-evidence-locker-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
EvidenceLocker__Database__ConnectionString: *postgres-connection
|
||||
EvidenceLocker__Database__ApplyMigrationsAtStartup: "true"
|
||||
EvidenceLocker__ObjectStore__Kind: "FileSystem"
|
||||
@@ -619,12 +674,13 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
evidence-locker-worker:
|
||||
<<: *resources-light
|
||||
image: stellaops/evidence-locker-worker:dev
|
||||
container_name: stellaops-evidence-locker-worker
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-light]
|
||||
EvidenceLocker__Database__ConnectionString: *postgres-connection
|
||||
EvidenceLocker__Database__ApplyMigrationsAtStartup: "true"
|
||||
EvidenceLocker__ObjectStore__Kind: "FileSystem"
|
||||
@@ -666,6 +722,7 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
scanner-web:
|
||||
<<: *resources-heavy
|
||||
image: stellaops/scanner-web:dev
|
||||
container_name: stellaops-scanner-web
|
||||
restart: unless-stopped
|
||||
@@ -680,7 +737,7 @@ services:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8444"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-heavy]
|
||||
SCANNER_SCANNER__PLUGINS__BASEDIRECTORY: "/tmp/stellaops"
|
||||
SCANNER_SCANNER__STORAGE__DRIVER: "postgres"
|
||||
SCANNER_SCANNER__STORAGE__DSN: *postgres-connection
|
||||
@@ -737,6 +794,7 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
scanner-worker:
|
||||
<<: *resources-heavy
|
||||
image: stellaops/scanner-worker:dev
|
||||
container_name: stellaops-scanner-worker
|
||||
restart: unless-stopped
|
||||
@@ -750,7 +808,7 @@ services:
|
||||
rustfs:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-heavy]
|
||||
# Scanner worker options
|
||||
Scanner__Worker__Authority__Enabled: "false"
|
||||
BinaryIndex__Enabled: "false"
|
||||
@@ -786,6 +844,7 @@ services:
|
||||
|
||||
# --- Slot 9: Concelier -----------------------------------------------------
|
||||
concelier:
|
||||
<<: *resources-medium
|
||||
image: stellaops/concelier:dev
|
||||
container_name: stellaops-concelier
|
||||
restart: unless-stopped
|
||||
@@ -798,7 +857,7 @@ services:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-medium]
|
||||
CONCELIER_PLUGINS__BASEDIRECTORY: "/tmp/stellaops"
|
||||
CONCELIER_POSTGRESSTORAGE__CONNECTIONSTRING: *postgres-connection
|
||||
CONCELIER_POSTGRESSTORAGE__ENABLED: "true"
|
||||
@@ -834,13 +893,14 @@ services:
|
||||
|
||||
# --- Slot 10: Excititor ----------------------------------------------------
|
||||
excititor:
|
||||
<<: *resources-medium
|
||||
image: stellaops/excititor:dev
|
||||
container_name: stellaops-excititor
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-medium]
|
||||
# Postgres options (section: Postgres:Excititor)
|
||||
Postgres__Excititor__ConnectionString: *postgres-connection
|
||||
Postgres__Excititor__SchemaName: "vex"
|
||||
@@ -869,6 +929,7 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
excititor-worker:
|
||||
<<: *resources-medium
|
||||
image: stellaops/excititor-worker:dev
|
||||
container_name: stellaops-excititor-worker
|
||||
restart: unless-stopped
|
||||
@@ -878,7 +939,7 @@ services:
|
||||
valkey:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-medium]
|
||||
# Postgres options (section: Postgres:Excititor)
|
||||
Postgres__Excititor__ConnectionString: *postgres-connection
|
||||
Postgres__Excititor__SchemaName: "vex"
|
||||
@@ -903,13 +964,14 @@ services:
|
||||
|
||||
# --- Slot 11: VexHub -------------------------------------------------------
|
||||
vexhub-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/vexhub-web:dev
|
||||
container_name: stellaops-vexhub-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Postgres__ConnectionString: *postgres-connection
|
||||
@@ -932,13 +994,14 @@ services:
|
||||
|
||||
# --- Slot 12: VexLens ------------------------------------------------------
|
||||
vexlens-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/vexlens-web:dev
|
||||
container_name: stellaops-vexlens-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Router__Enabled: "${VEXLENS_ROUTER_ENABLED:-true}"
|
||||
@@ -959,13 +1022,14 @@ services:
|
||||
|
||||
# --- Slot 13: VulnExplorer (api) [src/Findings/StellaOps.VulnExplorer.Api] ---
|
||||
api:
|
||||
<<: *resources-light
|
||||
image: stellaops/api:dev
|
||||
container_name: stellaops-api
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Router__Enabled: "${VULNEXPLORER_ROUTER_ENABLED:-true}"
|
||||
@@ -986,13 +1050,14 @@ services:
|
||||
|
||||
# --- Slot 14: Policy Engine ------------------------------------------------
|
||||
policy-engine:
|
||||
<<: *resources-medium
|
||||
image: stellaops/policy-engine:dev
|
||||
container_name: stellaops-policy-engine
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-medium]
|
||||
STELLAOPS_POLICY_ENGINE_Postgres__Policy__ConnectionString: *postgres-connection
|
||||
STELLAOPS_POLICY_ENGINE_ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
STELLAOPS_POLICY_ENGINE_PolicyEngine__ResourceServer__Authority: "https://authority.stella-ops.local/"
|
||||
@@ -1012,8 +1077,10 @@ services:
|
||||
PolicyEngine__ResourceServer__BypassNetworks__0: "172.19.0.0/16"
|
||||
PolicyEngine__ResourceServer__BypassNetworks__1: "127.0.0.1/32"
|
||||
PolicyEngine__ResourceServer__BypassNetworks__2: "::1/128"
|
||||
Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Debug"
|
||||
Logging__LogLevel__Microsoft.IdentityModel: "Debug"
|
||||
# Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Debug"
|
||||
Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Information"
|
||||
# Logging__LogLevel__Microsoft.IdentityModel: "Debug"
|
||||
Logging__LogLevel__Microsoft.IdentityModel: "Information"
|
||||
Router__Enabled: "${POLICY_ENGINE_ROUTER_ENABLED:-true}"
|
||||
Router__Messaging__ConsumerGroup: "policy-engine"
|
||||
volumes:
|
||||
@@ -1033,13 +1100,14 @@ services:
|
||||
|
||||
# --- Slot 15: Policy Gateway -----------------------------------------------
|
||||
policy:
|
||||
<<: *resources-medium
|
||||
image: stellaops/policy:dev
|
||||
container_name: stellaops-policy
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8084"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-medium]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Postgres__Policy__ConnectionString: *postgres-connection
|
||||
@@ -1077,13 +1145,14 @@ services:
|
||||
|
||||
# --- Slot 16: RiskEngine [src/Findings/StellaOps.RiskEngine.*] ---------------
|
||||
riskengine-web:
|
||||
<<: *resources-medium
|
||||
image: stellaops/riskengine-web:dev
|
||||
container_name: stellaops-riskengine-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-medium]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
RISKENGINE__STORAGE__DRIVER: "postgres"
|
||||
@@ -1105,12 +1174,13 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
riskengine-worker:
|
||||
<<: *resources-medium
|
||||
image: stellaops/riskengine-worker:dev
|
||||
container_name: stellaops-riskengine-worker
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-medium]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
volumes:
|
||||
@@ -1125,13 +1195,14 @@ services:
|
||||
|
||||
# --- Slot 17: Orchestrator -------------------------------------------------
|
||||
jobengine:
|
||||
<<: *resources-heavy
|
||||
image: stellaops/orchestrator:dev
|
||||
container_name: stellaops-jobengine
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-heavy]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Authority__ResourceServer__Authority: "https://authority.stella-ops.local/"
|
||||
@@ -1162,12 +1233,13 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
jobengine-worker:
|
||||
<<: *resources-medium
|
||||
image: stellaops/orchestrator-worker:dev
|
||||
container_name: stellaops-jobengine-worker
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-medium]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
volumes:
|
||||
@@ -1182,13 +1254,14 @@ services:
|
||||
|
||||
# --- Slot 18: TaskRunner ---------------------------------------------------
|
||||
taskrunner-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/taskrunner-web:dev
|
||||
container_name: stellaops-taskrunner-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
TASKRUNNER__STORAGE__DRIVER: "postgres"
|
||||
@@ -1213,12 +1286,13 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
taskrunner-worker:
|
||||
<<: *resources-light
|
||||
image: stellaops/taskrunner-worker:dev
|
||||
container_name: stellaops-taskrunner-worker
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
TASKRUNNER__STORAGE__DRIVER: "postgres"
|
||||
@@ -1245,13 +1319,14 @@ services:
|
||||
|
||||
# --- Slot 19: Scheduler ----------------------------------------------------
|
||||
scheduler-web:
|
||||
<<: *resources-medium
|
||||
image: stellaops/scheduler-web:dev
|
||||
container_name: stellaops-scheduler-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-medium]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Scheduler__Authority__Enabled: "false"
|
||||
@@ -1283,6 +1358,7 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
scheduler-worker:
|
||||
<<: *resources-medium
|
||||
image: stellaops/scheduler-worker:dev
|
||||
container_name: stellaops-scheduler-worker
|
||||
restart: unless-stopped
|
||||
@@ -1292,7 +1368,7 @@ services:
|
||||
valkey:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-medium]
|
||||
# Queue config (Redis transport)
|
||||
scheduler__queue__Kind: "Redis"
|
||||
scheduler__queue__Redis__ConnectionString: "cache.stella-ops.local:6379"
|
||||
@@ -1320,13 +1396,14 @@ services:
|
||||
|
||||
# --- Slot 20: Graph API ----------------------------------------------------
|
||||
graph-api:
|
||||
<<: *resources-medium
|
||||
image: stellaops/graph-api:dev
|
||||
container_name: stellaops-graph-api
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-medium]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Router__Enabled: "${GRAPH_ROUTER_ENABLED:-true}"
|
||||
@@ -1347,13 +1424,14 @@ services:
|
||||
|
||||
# --- Slot 21: Cartographer -------------------------------------------------
|
||||
cartographer:
|
||||
<<: *resources-light
|
||||
image: stellaops/cartographer:dev
|
||||
container_name: stellaops-cartographer
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Router__Enabled: "${CARTOGRAPHER_ROUTER_ENABLED:-true}"
|
||||
@@ -1374,13 +1452,14 @@ services:
|
||||
|
||||
# --- Slot 22: ReachGraph ---------------------------------------------------
|
||||
reachgraph-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/reachgraph-web:dev
|
||||
container_name: stellaops-reachgraph-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Router__Enabled: "${REACHGRAPH_ROUTER_ENABLED:-true}"
|
||||
@@ -1401,13 +1480,14 @@ services:
|
||||
|
||||
# --- Slot 23: Timeline Indexer ---------------------------------------------
|
||||
timeline-indexer-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/timeline-indexer-web:dev
|
||||
container_name: stellaops-timeline-indexer-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
TIMELINE_Postgres__Timeline__ConnectionString: *postgres-connection
|
||||
@@ -1428,12 +1508,13 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
timeline-indexer-worker:
|
||||
<<: *resources-light
|
||||
image: stellaops/timeline-indexer-worker:dev
|
||||
container_name: stellaops-timeline-indexer-worker
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
TIMELINE_Postgres__Timeline__ConnectionString: *postgres-connection
|
||||
@@ -1449,13 +1530,14 @@ services:
|
||||
|
||||
# --- Slot 24: Timeline ----------------------------------------------------
|
||||
timeline-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/timeline-web:dev
|
||||
container_name: stellaops-timeline-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Authority__ResourceServer__Authority: "http://authority.stella-ops.local/"
|
||||
@@ -1481,13 +1563,14 @@ services:
|
||||
|
||||
# --- Slot 25: Findings Ledger ----------------------------------------------
|
||||
findings-ledger-web:
|
||||
<<: *resources-medium
|
||||
image: stellaops/findings-ledger-web:dev
|
||||
container_name: stellaops-findings-ledger-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-medium]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__FindingsLedger: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
@@ -1498,8 +1581,10 @@ services:
|
||||
findings__ledger__Authority__Audiences__0: ""
|
||||
findings__ledger__Authority__RequiredScopes__0: "findings:read"
|
||||
findings__ledger__Authority__BypassNetworks__0: "172.19.0.0/16"
|
||||
Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Debug"
|
||||
Logging__LogLevel__Microsoft.IdentityModel: "Debug"
|
||||
# Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Debug"
|
||||
Logging__LogLevel__Microsoft.AspNetCore.Authentication: "Information"
|
||||
# Logging__LogLevel__Microsoft.IdentityModel: "Debug"
|
||||
Logging__LogLevel__Microsoft.IdentityModel: "Information"
|
||||
findings__ledger__Attachments__EncryptionKey: "IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI="
|
||||
findings__ledger__Attachments__SignedUrlBase: "http://findings.stella-ops.local/attachments"
|
||||
findings__ledger__Attachments__SignedUrlSecret: "dev-signed-url-secret"
|
||||
@@ -1524,13 +1609,14 @@ services:
|
||||
|
||||
# --- Slot 26: Doctor -------------------------------------------------------
|
||||
doctor-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/doctor-web:dev
|
||||
container_name: stellaops-doctor-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Doctor__Authority__Issuer: "https://authority.stella-ops.local/"
|
||||
@@ -1554,13 +1640,14 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
doctor-scheduler:
|
||||
<<: *resources-light
|
||||
image: stellaops/doctor-scheduler:dev
|
||||
container_name: stellaops-doctor-scheduler
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:80"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Router__Enabled: "${DOCTOR_SCHEDULER_ROUTER_ENABLED:-true}"
|
||||
@@ -1578,13 +1665,14 @@ services:
|
||||
|
||||
# --- Slot 27: OpsMemory (src/AdvisoryAI/StellaOps.OpsMemory.WebService) ---
|
||||
opsmemory-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/opsmemory-web:dev
|
||||
container_name: stellaops-opsmemory-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Router__Enabled: "${OPSMEMORY_ROUTER_ENABLED:-true}"
|
||||
@@ -1605,13 +1693,14 @@ services:
|
||||
|
||||
# --- Slot 28: Notifier ----------------------------------------------------
|
||||
notifier-web:
|
||||
<<: *resources-medium
|
||||
image: stellaops/notifier-web:dev
|
||||
container_name: stellaops-notifier-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-medium]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Authority__ResourceServer__Authority: "https://authority.stella-ops.local/"
|
||||
@@ -1641,12 +1730,13 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
notifier-worker:
|
||||
<<: *resources-light
|
||||
image: stellaops/notifier-worker:dev
|
||||
container_name: stellaops-notifier-worker
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
notifier__queue__Transport: "redis"
|
||||
@@ -1664,13 +1754,14 @@ services:
|
||||
|
||||
# --- Slot 29: Notify ------------------------------------------------------
|
||||
notify-web:
|
||||
<<: *resources-medium
|
||||
image: stellaops/notify-web:dev
|
||||
container_name: stellaops-notify-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-medium]
|
||||
DOTNET_ENVIRONMENT: Production
|
||||
NOTIFY_NOTIFY__STORAGE__DRIVER: "postgres"
|
||||
NOTIFY_NOTIFY__STORAGE__CONNECTIONSTRING: *postgres-connection
|
||||
@@ -1700,6 +1791,7 @@ services:
|
||||
|
||||
# --- Slot 30: Signer ------------------------------------------------------
|
||||
signer:
|
||||
<<: *resources-light
|
||||
image: stellaops/signer:dev
|
||||
container_name: stellaops-signer
|
||||
restart: unless-stopped
|
||||
@@ -1708,7 +1800,7 @@ services:
|
||||
- valkey
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8441"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__KeyManagement: *postgres-connection
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
Router__Enabled: "${SIGNER_ROUTER_ENABLED:-true}"
|
||||
@@ -1729,13 +1821,14 @@ services:
|
||||
|
||||
# --- Slot 31: SmRemote ----------------------------------------------------
|
||||
smremote:
|
||||
<<: *resources-light
|
||||
image: stellaops/smremote:dev
|
||||
container_name: stellaops-smremote
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Router__Enabled: "${SMREMOTE_ROUTER_ENABLED:-true}"
|
||||
@@ -1756,13 +1849,14 @@ services:
|
||||
|
||||
# --- Slot 32: AirGap Controller --------------------------------------------
|
||||
airgap-controller:
|
||||
<<: *resources-light
|
||||
image: stellaops/airgap-controller:dev
|
||||
container_name: stellaops-airgap-controller
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Router__Enabled: "${AIRGAP_CONTROLLER_ROUTER_ENABLED:-true}"
|
||||
@@ -1783,6 +1877,7 @@ services:
|
||||
|
||||
# --- Slot 33: AirGap Time -------------------------------------------------
|
||||
airgap-time:
|
||||
<<: *resources-light
|
||||
image: stellaops/airgap-time:dev
|
||||
container_name: stellaops-airgap-time
|
||||
restart: unless-stopped
|
||||
@@ -1790,7 +1885,7 @@ services:
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
Router__Enabled: "${AIRGAP_TIME_ROUTER_ENABLED:-true}"
|
||||
Router__Messaging__ConsumerGroup: "airgap-time"
|
||||
@@ -1810,13 +1905,14 @@ services:
|
||||
|
||||
# --- Slot 34: PacksRegistry -----------------------------------------------
|
||||
packsregistry-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/packsregistry-web:dev
|
||||
container_name: stellaops-packsregistry-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
PACKSREGISTRY__STORAGE__DRIVER: "postgres"
|
||||
@@ -1840,12 +1936,13 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
packsregistry-worker:
|
||||
<<: *resources-light
|
||||
image: stellaops/packsregistry-worker:dev
|
||||
container_name: stellaops-packsregistry-worker
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
volumes:
|
||||
@@ -1860,13 +1957,14 @@ services:
|
||||
|
||||
# --- Slot 35: Registry Token -----------------------------------------------
|
||||
registry-token:
|
||||
<<: *resources-light
|
||||
image: stellaops/registry-token:dev
|
||||
container_name: stellaops-registry-token
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
RegistryTokenService__Signing__Issuer: "http://registry-token.stella-ops.local"
|
||||
RegistryTokenService__Signing__KeyPath: "/app/etc/certs/kestrel-dev.pfx"
|
||||
@@ -1898,13 +1996,14 @@ services:
|
||||
|
||||
# --- Slot 36: BinaryIndex --------------------------------------------------
|
||||
binaryindex-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/binaryindex-web:dev
|
||||
container_name: stellaops-binaryindex-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Router__Enabled: "${BINARYINDEX_ROUTER_ENABLED:-true}"
|
||||
@@ -1925,6 +2024,7 @@ services:
|
||||
|
||||
# --- Slot 37: Issuer Directory ---------------------------------------------
|
||||
issuer-directory:
|
||||
<<: *resources-light
|
||||
image: stellaops/issuer-directory-web:dev
|
||||
container_name: stellaops-issuer-directory
|
||||
restart: unless-stopped
|
||||
@@ -1933,7 +2033,7 @@ services:
|
||||
- authority
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ISSUERDIRECTORY__AUTHORITY__ENABLED: "true"
|
||||
ISSUERDIRECTORY__AUTHORITY__ISSUER: "${AUTHORITY_ISSUER:-http://authority.stella-ops.local}"
|
||||
ISSUERDIRECTORY__AUTHORITY__AUDIENCES__0: "api://issuer-directory"
|
||||
@@ -1960,13 +2060,14 @@ services:
|
||||
|
||||
# --- Slot 38: Symbols ------------------------------------------------------
|
||||
symbols:
|
||||
<<: *resources-light
|
||||
image: stellaops/symbols:dev
|
||||
container_name: stellaops-symbols
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Authority__ResourceServer__Authority: "https://authority.stella-ops.local/"
|
||||
@@ -1991,13 +2092,14 @@ services:
|
||||
|
||||
# --- Slot 39: SbomService --------------------------------------------------
|
||||
sbomservice:
|
||||
<<: *resources-light
|
||||
image: stellaops/sbomservice:dev
|
||||
container_name: stellaops-sbomservice
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Router__Enabled: "${SBOMSERVICE_ROUTER_ENABLED:-true}"
|
||||
@@ -2018,13 +2120,14 @@ services:
|
||||
|
||||
# --- Slot 40: ExportCenter -------------------------------------------------
|
||||
export:
|
||||
<<: *resources-light
|
||||
image: stellaops/export:dev
|
||||
container_name: stellaops-export
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Export__AllowInMemoryRepositories: "true"
|
||||
@@ -2055,12 +2158,13 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
export-worker:
|
||||
<<: *resources-light
|
||||
image: stellaops/export-worker:dev
|
||||
container_name: stellaops-export-worker
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Export__AllowInMemoryRepositories: "true"
|
||||
@@ -2082,13 +2186,14 @@ services:
|
||||
|
||||
# --- Slot 41: Replay -------------------------------------------------------
|
||||
replay-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/replay-web:dev
|
||||
container_name: stellaops-replay-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
REPLAY__STORAGE__DRIVER: "postgres"
|
||||
@@ -2113,13 +2218,14 @@ services:
|
||||
|
||||
# --- Slot 42: Integrations ------------------------------------------------
|
||||
integrations-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/integrations-web:dev
|
||||
container_name: stellaops-integrations-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__IntegrationsDb: *postgres-connection
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
@@ -2151,6 +2257,7 @@ services:
|
||||
|
||||
# --- Slot 43: Zastava Webhook ----------------------------------------------
|
||||
zastava-webhook:
|
||||
<<: *resources-light
|
||||
image: stellaops/zastava-webhook:dev
|
||||
container_name: stellaops-zastava-webhook
|
||||
restart: unless-stopped
|
||||
@@ -2159,7 +2266,7 @@ services:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-light]
|
||||
# Runtime authority (used by token provider for OIDC discovery)
|
||||
zastava__runtime__authority__Issuer: "https://authority.stella-ops.local/"
|
||||
zastava__runtime__authority__allowStaticTokenFallback: "true"
|
||||
@@ -2193,13 +2300,14 @@ services:
|
||||
|
||||
# --- Slot 44: Signals ------------------------------------------------------
|
||||
signals:
|
||||
<<: *resources-light
|
||||
image: stellaops/signals:dev
|
||||
container_name: stellaops-signals
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
Authority__ResourceServer__Authority: "https://authority.stella-ops.local/"
|
||||
@@ -2230,6 +2338,7 @@ services:
|
||||
|
||||
# --- Slot 45: Advisory AI --------------------------------------------------
|
||||
advisory-ai-web:
|
||||
<<: *resources-medium
|
||||
image: stellaops/advisory-ai-web:dev
|
||||
container_name: stellaops-advisory-ai-web
|
||||
restart: unless-stopped
|
||||
@@ -2237,7 +2346,7 @@ services:
|
||||
- scanner-web
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-medium]
|
||||
ADVISORYAI__AdvisoryAI__SbomBaseAddress: "${ADVISORY_AI_SBOM_BASEADDRESS:-http://scanner.stella-ops.local}"
|
||||
ADVISORYAI__AdvisoryAI__Queue__DirectoryPath: "/var/lib/advisory-ai/queue"
|
||||
ADVISORYAI__AdvisoryAI__Storage__PlanCacheDirectory: "/var/lib/advisory-ai/plans"
|
||||
@@ -2275,13 +2384,14 @@ services:
|
||||
labels: *release-labels
|
||||
|
||||
advisory-ai-worker:
|
||||
<<: *resources-medium
|
||||
image: stellaops/advisory-ai-worker:dev
|
||||
container_name: stellaops-advisory-ai-worker
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- scanner-web
|
||||
environment:
|
||||
<<: *kestrel-cert
|
||||
<<: [*kestrel-cert, *gc-medium]
|
||||
ADVISORYAI__AdvisoryAI__SbomBaseAddress: "${ADVISORY_AI_SBOM_BASEADDRESS:-http://scanner.stella-ops.local}"
|
||||
ADVISORYAI__AdvisoryAI__Queue__DirectoryPath: "/tmp/advisory-ai/queue"
|
||||
ADVISORYAI__AdvisoryAI__Storage__PlanCacheDirectory: "/tmp/advisory-ai/plans"
|
||||
@@ -2308,13 +2418,14 @@ services:
|
||||
|
||||
# --- Slot 46: Unknowns ----------------------------------------------------
|
||||
unknowns-web:
|
||||
<<: *resources-light
|
||||
image: stellaops/unknowns-web:dev
|
||||
container_name: stellaops-unknowns-web
|
||||
restart: unless-stopped
|
||||
depends_on: *depends-infra
|
||||
environment:
|
||||
ASPNETCORE_URLS: "http://+:8080"
|
||||
<<: [*kestrel-cert, *router-microservice-defaults]
|
||||
<<: [*kestrel-cert, *router-microservice-defaults, *gc-light]
|
||||
ConnectionStrings__Default: *postgres-connection
|
||||
ConnectionStrings__UnknownsDb: *postgres-connection
|
||||
ConnectionStrings__Redis: "cache.stella-ops.local:6379"
|
||||
|
||||
Reference in New Issue
Block a user