diff --git a/deployment.md b/deployment.md index 25edafc..3727f55 100644 --- a/deployment.md +++ b/deployment.md @@ -50,7 +50,7 @@ collide (see [§7](#7-consolidated-host-port-map)). | **fixture host** | `10.100.0.35` | Debian/Linux + Docker | OtOpcUa driver **integration-test fixtures** + a test SQL Server | 22 | | **VD03 (DEV)** | `wonder-app-vd03.zmr.zimmer.com` | Windows | **DEV** all-in-one box: ScadaBridge (single-node) + OtOpcUa + MxGateway + HistorianGateway + Overview | **2222** | | **VQ03 (QA)** | `wonder-app-vq03.zmr.zimmer.com` (`10.220.158.2`) | Windows | **QA node A** — ScadaBridge central-a + site-a, OtOpcUa node-a, **plus the singleton services**: MxGateway, HistorianGateway, Overview | **2222** | -| **VQ04 (QA)** | `wonder-app-vq04.zmr.zimmer.com` (`10.220.158.3`) | Windows | **QA node B** — ScadaBridge central-b + site-b, OtOpcUa node-b. **No** MxGateway/HistorianGateway/Overview | **2222** | +| **VQ04 (QA)** | `wonder-app-vq04.zmr.zimmer.com` (`10.220.158.3`) | Windows | **QA node B** — ScadaBridge central-b + site-b, OtOpcUa node-b, **plus (since 2026-08-14) its own MxGateway, HistorianGateway and Overview** (cloned from VQ03 incl. API-key stores; Galaxy SQL points at VQ03 — no local SQL Server) | **2222** | | **wonder-sql-vq03** | `wonder-sql-vq03.zmr.zimmer.com` | Windows | **QA data tier** — SQL Server (`1433`) + AVEVA Historian gRPC TLS (`32565`); mirrors `wonder-sql-vd03` | _(not probed)_ | | **gitea** | `gitea.dohertylan.com` (`10.100.0.228`) | Linux | Git remotes + NuGet feed (`/api/packages/dohertj2/nuget`) | 22 | @@ -85,7 +85,7 @@ Host windev | **windev** (Win host) | `ssh windev` | Configured alias; user `dohertj2`, key `id_ed25519`, port 22 | | **fixture host** | `ssh dohertj2@10.100.0.35` | In `known_hosts`; **no** config alias — pass user explicitly; port 22, key-based | | **VD03 (DEV)** | `ssh dohertj2@wonder-app-vd03.zmr.zimmer.com -p 2222` | In `known_hosts` on **port 2222** (servecli, not OpenSSH); user/key not pinned in config — confirm before use. Durable key `~/.ssh/servecli_wonder`. **servecli does not survive a reboot** — if it's down, use RDP | -| **VQ03 / VQ04 (QA)** | `ssh dohertj2@wonder-app-vq0{3,4}.zmr.zimmer.com -p 2222` | ⚠️ **Not working 2026-08-13** — see the banner note below | +| **VQ03 / VQ04 (QA)** | `psbridge --server wonder-app-vq0{3,4}.zmr.zimmer.com:6150 ` | **The supported path since 2026-08-14** (servecli `2222` is retired on these boxes — see the banner note below). Root jail `E:\psrem`; see the `psbridge` skill | | **local Linux VMs** | `ssh orb` / `orb` | OrbStack-managed | > ⚠️ **A TCP-open `2222` does NOT mean SSH works.** On 2026-08-13 all three wonder boxes @@ -281,9 +281,11 @@ dotnet build src/MxGateway.Worker/MxGateway.Worker.csproj -p:Platform=x86 - **Worker model:** the Server spawns one `ZB.MOM.WW.MxGateway.Worker.exe` (x86) **per gRPC session**; IPC over a named pipe (`\\.\pipe\mxgateway-` + a per-session `MXGATEWAY_WORKER_NONCE`); heartbeat 5s / grace 15s; max 64 concurrent sessions. The worker exits when the session closes. -- **Deployed hosts:** `10.100.0.48` (windev), `wonder-app-vd03` (DEV) and `wonder-app-vq03` (QA) - all serve gRPC on `:5120` (per `docs/GatewayConfiguration.md`; the VQ03 port was probed - 2026-08-13). **QA runs MxGateway on VQ03 only** — VQ04 has no gateway. +- **Deployed hosts:** `10.100.0.48` (windev), `wonder-app-vd03` (DEV), `wonder-app-vq03` and + (since 2026-08-14) `wonder-app-vq04` (QA) all serve gRPC on `:5120` (per + `docs/GatewayConfiguration.md`). **QA runs MxGateway on BOTH nodes** — VQ04's was cloned from + VQ03 (same API-key store + pepper, so the same tokens verify on either; its Galaxy SQL and its + alarm subscription `\\wonder-app-vq03\Galaxy!NAM` both point at VQ03). ### 5.3 Who connects to it @@ -372,9 +374,9 @@ connection strings and service names as unverified. Rows are marked with how eac | 8084 | ✅ | ✅ | dash | ScadaBridge **Site** health listener (no UI; `/` → 404) | | 8081 | ✅ | ✅ | scan | ScadaBridge Central Akka remoting | | 8082 / 8083 | ✅ | ✅ | scan | ScadaBridge Site Akka / gRPC control plane (h2c — rejects an HTTP/1.1 GET) | -| 5120 / 5130 | ✅ | ✗ | scan | **MxAccessGateway** gRPC / dashboard | -| 5220 / 5221 | ✅ | ✗ | scan | **HistorianGateway** dashboard / gRPC h2c | -| 5320 | ✅ | ✗ | scan | **Overview** dashboard (the QA fleet's own single pane) | +| 5120 / 5130 | ✅ | ✅ | scan | **MxAccessGateway** gRPC / dashboard (VQ04 added 2026-08-14, cloned from VQ03) | +| 5220 / 5221 | ✅ | ✅ | scan | **HistorianGateway** dashboard / gRPC h2c (VQ04 added 2026-08-14) | +| 5320 | ✅ | ✅ | scan | **Overview** dashboard (one per node since 2026-08-14; both watch the same 10-instance registry) | | 1433 | ✅ | ✗ | scan | SQL Server | | 2222 | ⚠️ | ⚠️ | scan | servecli SSH — **TCP-open but NOT serving SSH** (see below) |