From 0d2d6de6c67003dd5f1c6a1fcd4ec14293f40668 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Sat, 15 Aug 2026 12:53:33 -0400 Subject: [PATCH] chore(rig): set ASPNETCORE_ENVIRONMENT on the site containers (register row 63) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The central containers have always set it; the six site containers never did, so the Development-only DI scope validation from register row 50 (ServiceProviderValidation.Configure — ValidateScopes/ValidateOnBuild) was dead on exactly the half of the topology that has six of the eight nodes. Program.cs even carried a comment saying the site branch 'is the one that actually gains coverage' while the rig gave it none; that comment is corrected here too. Now that the site graph validates clean this buys live coverage: a captive dependency or an unconstructible site-only descriptor fails the container at boot instead of surfacing later as a mid-run resolve error. Applied to all six docker/ site containers and both docker-env2/ site containers, keeping the two rigs consistent. Dev/rig only — never production. FILE EDITS ONLY: no docker command was run, and deploy.sh was not invoked. Both compose files re-parsed with yaml.safe_load; all 8 + 4 services confirmed to carry the expected env. --- docker-env2/docker-compose.yml | 8 ++++++ docker/docker-compose.yml | 48 ++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/docker-env2/docker-compose.yml b/docker-env2/docker-compose.yml index b7d3d80f..fc7f85d4 100644 --- a/docker-env2/docker-compose.yml +++ b/docker-env2/docker-compose.yml @@ -70,6 +70,10 @@ services: container_name: scadabridge-env2-site-x-a environment: SCADABRIDGE_CONFIG: Site + # Register row 63 — mirrors docker/docker-compose.yml. Enables the Development-only + # DI scope validation (register row 50) on the site nodes, which previously ran + # unvalidated because only the central containers set this. Dev/rig only. + ASPNETCORE_ENVIRONMENT: Development ports: - "9121:8082" # Akka remoting - "9123:8083" # gRPC streaming @@ -90,6 +94,10 @@ services: container_name: scadabridge-env2-site-x-b environment: SCADABRIDGE_CONFIG: Site + # Register row 63 — mirrors docker/docker-compose.yml. Enables the Development-only + # DI scope validation (register row 50) on the site nodes, which previously ran + # unvalidated because only the central containers set this. Dev/rig only. + ASPNETCORE_ENVIRONMENT: Development ports: - "9122:8082" # Akka remoting - "9124:8083" # gRPC streaming diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 3c05b583..ee1d358d 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -213,6 +213,14 @@ services: # file). site-b and site-c deliberately carry neither. <<: [*secrets-store-env, *secrets-hub-env, *secrets-hub-site-env] SCADABRIDGE_CONFIG: Site + # Register row 63. The central containers have always set this; the site containers + # never did, so the Development-only DI scope validation (register row 50, + # ServiceProviderValidation.Configure — ValidateScopes/ValidateOnBuild) was dead on + # exactly the half of the topology that has six nodes. The site graph now validates + # clean, so turning it on here buys live coverage: a captive dependency or an + # unconstructible site-only descriptor fails the container at boot instead of + # surfacing as a mid-run resolve error. Dev/rig only — never set in production. + ASPNETCORE_ENVIRONMENT: Development ports: - "9021:8082" # Akka remoting (host access for debugging) - "9023:8083" # gRPC streaming @@ -241,6 +249,14 @@ services: # file). site-b and site-c deliberately carry neither. <<: [*secrets-store-env, *secrets-hub-env, *secrets-hub-site-env] SCADABRIDGE_CONFIG: Site + # Register row 63. The central containers have always set this; the site containers + # never did, so the Development-only DI scope validation (register row 50, + # ServiceProviderValidation.Configure — ValidateScopes/ValidateOnBuild) was dead on + # exactly the half of the topology that has six nodes. The site graph now validates + # clean, so turning it on here buys live coverage: a captive dependency or an + # unconstructible site-only descriptor fails the container at boot instead of + # surfacing as a mid-run resolve error. Dev/rig only — never set in production. + ASPNETCORE_ENVIRONMENT: Development ports: - "9022:8082" # Akka remoting - "9024:8083" # gRPC streaming @@ -267,6 +283,14 @@ services: environment: <<: *secrets-store-env SCADABRIDGE_CONFIG: Site + # Register row 63. The central containers have always set this; the site containers + # never did, so the Development-only DI scope validation (register row 50, + # ServiceProviderValidation.Configure — ValidateScopes/ValidateOnBuild) was dead on + # exactly the half of the topology that has six nodes. The site graph now validates + # clean, so turning it on here buys live coverage: a captive dependency or an + # unconstructible site-only descriptor fails the container at boot instead of + # surfacing as a mid-run resolve error. Dev/rig only — never set in production. + ASPNETCORE_ENVIRONMENT: Development ports: - "9031:8082" # Akka remoting - "9033:8083" # gRPC streaming @@ -293,6 +317,14 @@ services: environment: <<: *secrets-store-env SCADABRIDGE_CONFIG: Site + # Register row 63. The central containers have always set this; the site containers + # never did, so the Development-only DI scope validation (register row 50, + # ServiceProviderValidation.Configure — ValidateScopes/ValidateOnBuild) was dead on + # exactly the half of the topology that has six nodes. The site graph now validates + # clean, so turning it on here buys live coverage: a captive dependency or an + # unconstructible site-only descriptor fails the container at boot instead of + # surfacing as a mid-run resolve error. Dev/rig only — never set in production. + ASPNETCORE_ENVIRONMENT: Development ports: - "9032:8082" # Akka remoting - "9034:8083" # gRPC streaming @@ -319,6 +351,14 @@ services: environment: <<: *secrets-store-env SCADABRIDGE_CONFIG: Site + # Register row 63. The central containers have always set this; the site containers + # never did, so the Development-only DI scope validation (register row 50, + # ServiceProviderValidation.Configure — ValidateScopes/ValidateOnBuild) was dead on + # exactly the half of the topology that has six nodes. The site graph now validates + # clean, so turning it on here buys live coverage: a captive dependency or an + # unconstructible site-only descriptor fails the container at boot instead of + # surfacing as a mid-run resolve error. Dev/rig only — never set in production. + ASPNETCORE_ENVIRONMENT: Development ports: - "9041:8082" # Akka remoting - "9043:8083" # gRPC streaming @@ -345,6 +385,14 @@ services: environment: <<: *secrets-store-env SCADABRIDGE_CONFIG: Site + # Register row 63. The central containers have always set this; the site containers + # never did, so the Development-only DI scope validation (register row 50, + # ServiceProviderValidation.Configure — ValidateScopes/ValidateOnBuild) was dead on + # exactly the half of the topology that has six nodes. The site graph now validates + # clean, so turning it on here buys live coverage: a captive dependency or an + # unconstructible site-only descriptor fails the container at boot instead of + # surfacing as a mid-run resolve error. Dev/rig only — never set in production. + ASPNETCORE_ENVIRONMENT: Development ports: - "9042:8082" # Akka remoting - "9044:8083" # gRPC streaming