deploy(wonder-app-vd03): add ScadaBridge:Communication:GrpcPsk before next deploy — site node is fail-closed without it #30

Open
opened 2026-07-23 11:52:30 -04:00 by dohertj2 · 0 comments
Owner

Severity: High for the next deploy (site role won't boot) · Area: Deployment / Security · Owner: user-held (overlay is gitignored, outside this repo's tracked tree)

What

As of the gRPC migration Phase 0 (2026-07-22), StartupValidator is fail-closed on the site control-plane preshared key: a site-role node refuses to boot without ScadaBridge:Communication:GrpcPsk. This is deliberate — an unset key must never degrade to unauthenticated serving; without it the node would look healthy while serving nothing.

The gitignored deploy/wonder-app-vd03/ overlay (appsettings.Site.json) does not yet carry this key.

Impact

The next deploy of wonder-app-vd03 to a site role will fail startup until the key is added. (Central-only deploys are unaffected.)

Action

Before the next site deploy, add:

  • site side: ScadaBridge:Communication:GrpcPsk = ${secret:SB-GRPC-PSK-<siteId>} (production) or a literal dev key
  • central side: a matching SB-GRPC-PSK-<siteId> in the secrets store (or ScadaBridge:Communication:SitePsks:<siteId> override)

Keys are one-per-site, never fleet-wide.

**Severity:** High for the next deploy (site role won't boot) · **Area:** Deployment / Security · **Owner:** user-held (overlay is gitignored, outside this repo's tracked tree) ## What As of the gRPC migration Phase 0 (2026-07-22), `StartupValidator` is **fail-closed** on the site control-plane preshared key: a **site-role node refuses to boot** without `ScadaBridge:Communication:GrpcPsk`. This is deliberate — an unset key must never degrade to unauthenticated serving; without it the node would look healthy while serving nothing. The gitignored `deploy/wonder-app-vd03/` overlay (`appsettings.Site.json`) does **not** yet carry this key. ## Impact The next deploy of `wonder-app-vd03` to a **site** role will fail startup until the key is added. (Central-only deploys are unaffected.) ## Action Before the next site deploy, add: - site side: `ScadaBridge:Communication:GrpcPsk` = `${secret:SB-GRPC-PSK-<siteId>}` (production) or a literal dev key - central side: a matching `SB-GRPC-PSK-<siteId>` in the secrets store (or `ScadaBridge:Communication:SitePsks:<siteId>` override) Keys are one-per-site, never fleet-wide.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/ScadaBridge#30