chore(mesh): rig PSK config + docs stub
Phase 0 task 0.6 of the ClusterClient->gRPC migration: wire the dark MeshTransport Grpc-mode keys into the docker-dev rig (GrpcPsk + CentralGrpcEndpoints on all six nodes, ClusterPsks on the central pair only), document the new keys in docs/Configuration.md as shipped dark/cutover pending, and record the Phase 0 live-gate evidence (rig boot with no validator fires, two deliberate-misconfig refusals, full suite green). Files gitea.dohertylan.com/dohertj2/lmxopcua#542 (FleetStatusBroadcaster mesh-blind post-Phase-6) and #543 (three pre-existing interceptors accept a whitespace-only key as set) as follow-ups out of Phase 0's scope.
This commit is contained in:
@@ -348,6 +348,20 @@ services:
|
||||
MeshTransport__Mode: "${OTOPCUA_MESH_MODE:-ClusterClient}"
|
||||
MeshTransport__CentralContactPoints__0: "akka.tcp://otopcua@central-1:4053"
|
||||
MeshTransport__CentralContactPoints__1: "akka.tcp://otopcua@central-2:4053"
|
||||
# gRPC command transport (Phase 0 of the ClusterClient→gRPC migration, docs/plans/2026-08-06-
|
||||
# clusterclient-to-grpc-design.md). SHIPPED DARK: Mode above stays ClusterClient, so none of
|
||||
# this is dialled or served yet — only MeshTransportOptionsValidator's Grpc-mode rules read
|
||||
# it. GrpcPsk is this node's OWN per-cluster key (MAIN, since central is cluster-MAIN);
|
||||
# CentralGrpcEndpoints is the gRPC counterpart of CentralContactPoints above. ClusterPsks is
|
||||
# CENTRAL-SIDE ONLY (IMeshPskProvider's override map, consulted before the Secrets store) —
|
||||
# one entry per cluster central will dial once the switch flips, so only the central nodes
|
||||
# carry it.
|
||||
MeshTransport__GrpcPsk: "dev-mesh-psk-MAIN"
|
||||
MeshTransport__CentralGrpcEndpoints__0: "http://central-1:4055"
|
||||
MeshTransport__CentralGrpcEndpoints__1: "http://central-2:4055"
|
||||
MeshTransport__ClusterPsks__MAIN: "dev-mesh-psk-MAIN"
|
||||
MeshTransport__ClusterPsks__SITE-A: "dev-mesh-psk-SITE-A"
|
||||
MeshTransport__ClusterPsks__SITE-B: "dev-mesh-psk-SITE-B"
|
||||
Security__Jwt__SigningKey: "docker-dev-signing-key-with-at-least-32-bytes-of-utf8-content-12345"
|
||||
Security__Jwt__Issuer: "otopcua-dev"
|
||||
Security__Jwt__Audience: "otopcua-dev"
|
||||
@@ -473,6 +487,14 @@ services:
|
||||
MeshTransport__Mode: "${OTOPCUA_MESH_MODE:-ClusterClient}"
|
||||
MeshTransport__CentralContactPoints__0: "akka.tcp://otopcua@central-1:4053"
|
||||
MeshTransport__CentralContactPoints__1: "akka.tcp://otopcua@central-2:4053"
|
||||
# gRPC command transport (Phase 0) — see central-1. SHIPPED DARK (Mode stays ClusterClient).
|
||||
# ClusterPsks is central-side only; both central nodes carry the same three-cluster map.
|
||||
MeshTransport__GrpcPsk: "dev-mesh-psk-MAIN"
|
||||
MeshTransport__CentralGrpcEndpoints__0: "http://central-1:4055"
|
||||
MeshTransport__CentralGrpcEndpoints__1: "http://central-2:4055"
|
||||
MeshTransport__ClusterPsks__MAIN: "dev-mesh-psk-MAIN"
|
||||
MeshTransport__ClusterPsks__SITE-A: "dev-mesh-psk-SITE-A"
|
||||
MeshTransport__ClusterPsks__SITE-B: "dev-mesh-psk-SITE-B"
|
||||
Security__Jwt__SigningKey: "docker-dev-signing-key-with-at-least-32-bytes-of-utf8-content-12345"
|
||||
Security__Jwt__Issuer: "otopcua-dev"
|
||||
Security__Jwt__Audience: "otopcua-dev"
|
||||
@@ -594,6 +616,13 @@ services:
|
||||
MeshTransport__Mode: "${OTOPCUA_MESH_MODE:-ClusterClient}"
|
||||
MeshTransport__CentralContactPoints__0: "akka.tcp://otopcua@central-1:4053"
|
||||
MeshTransport__CentralContactPoints__1: "akka.tcp://otopcua@central-2:4053"
|
||||
# gRPC command transport (Phase 0) — see central-1. SHIPPED DARK (Mode stays ClusterClient).
|
||||
# GrpcPsk is this node's own key for its cluster (SITE-A); CentralGrpcEndpoints is the gRPC
|
||||
# counterpart of CentralContactPoints above. No ClusterPsks here — that map is central-side
|
||||
# only.
|
||||
MeshTransport__GrpcPsk: "dev-mesh-psk-SITE-A"
|
||||
MeshTransport__CentralGrpcEndpoints__0: "http://central-1:4055"
|
||||
MeshTransport__CentralGrpcEndpoints__1: "http://central-2:4055"
|
||||
<<: [*secrets-env, *ldap-env, *apikeys-env]
|
||||
# Quiet EF/AspNetCore SQL flood — see central-1 (Serilog override). mem_limit/
|
||||
# mem_reservation are inherited from the *otopcua-host anchor.
|
||||
@@ -701,6 +730,11 @@ services:
|
||||
MeshTransport__Mode: "${OTOPCUA_MESH_MODE:-ClusterClient}"
|
||||
MeshTransport__CentralContactPoints__0: "akka.tcp://otopcua@central-1:4053"
|
||||
MeshTransport__CentralContactPoints__1: "akka.tcp://otopcua@central-2:4053"
|
||||
# gRPC command transport (Phase 0) — see central-1/site-a-1. SHIPPED DARK. Same SITE-A key as
|
||||
# site-a-1 (must be byte-identical — both nodes authenticate against the same cluster's PSK).
|
||||
MeshTransport__GrpcPsk: "dev-mesh-psk-SITE-A"
|
||||
MeshTransport__CentralGrpcEndpoints__0: "http://central-1:4055"
|
||||
MeshTransport__CentralGrpcEndpoints__1: "http://central-2:4055"
|
||||
<<: [*secrets-env, *ldap-env, *apikeys-env]
|
||||
Serilog__MinimumLevel__Override__Microsoft.EntityFrameworkCore: "Warning"
|
||||
Serilog__MinimumLevel__Override__Microsoft.AspNetCore: "Warning"
|
||||
@@ -789,6 +823,12 @@ services:
|
||||
MeshTransport__Mode: "${OTOPCUA_MESH_MODE:-ClusterClient}"
|
||||
MeshTransport__CentralContactPoints__0: "akka.tcp://otopcua@central-1:4053"
|
||||
MeshTransport__CentralContactPoints__1: "akka.tcp://otopcua@central-2:4053"
|
||||
# gRPC command transport (Phase 0) — see central-1. SHIPPED DARK. GrpcPsk is this node's own
|
||||
# key for its cluster (SITE-B); CentralGrpcEndpoints mirrors CentralContactPoints above. No
|
||||
# ClusterPsks here — that map is central-side only.
|
||||
MeshTransport__GrpcPsk: "dev-mesh-psk-SITE-B"
|
||||
MeshTransport__CentralGrpcEndpoints__0: "http://central-1:4055"
|
||||
MeshTransport__CentralGrpcEndpoints__1: "http://central-2:4055"
|
||||
<<: [*secrets-env, *ldap-env, *apikeys-env]
|
||||
Serilog__MinimumLevel__Override__Microsoft.EntityFrameworkCore: "Warning"
|
||||
Serilog__MinimumLevel__Override__Microsoft.AspNetCore: "Warning"
|
||||
@@ -861,6 +901,11 @@ services:
|
||||
MeshTransport__Mode: "${OTOPCUA_MESH_MODE:-ClusterClient}"
|
||||
MeshTransport__CentralContactPoints__0: "akka.tcp://otopcua@central-1:4053"
|
||||
MeshTransport__CentralContactPoints__1: "akka.tcp://otopcua@central-2:4053"
|
||||
# gRPC command transport (Phase 0) — see central-1/site-b-1. SHIPPED DARK. Same SITE-B key as
|
||||
# site-b-1 (must be byte-identical).
|
||||
MeshTransport__GrpcPsk: "dev-mesh-psk-SITE-B"
|
||||
MeshTransport__CentralGrpcEndpoints__0: "http://central-1:4055"
|
||||
MeshTransport__CentralGrpcEndpoints__1: "http://central-2:4055"
|
||||
<<: [*secrets-env, *ldap-env, *apikeys-env]
|
||||
Serilog__MinimumLevel__Override__Microsoft.EntityFrameworkCore: "Warning"
|
||||
Serilog__MinimumLevel__Override__Microsoft.AspNetCore: "Warning"
|
||||
|
||||
Reference in New Issue
Block a user