From f5a74db3de66cae01d622c62d0ebc414211614ae Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Thu, 20 Aug 2026 16:40:00 -0400 Subject: [PATCH] =?UTF-8?q?docs(deployment):=20record=20prod=20upgrade=20o?= =?UTF-8?q?f=20wonder-app-vd03=20to=20a24fa38e=20(via=20WinRM=20from=20vq0?= =?UTF-8?q?4)=20=E2=80=94=206=20EF=20migrations,=20AuditLog:SiteWriter=20p?= =?UTF-8?q?ath,=20System32=20auditlog.db=20relocated;=20Z28061=20270=20row?= =?UTF-8?q?s=20/=208=20groups?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-08-20-wonder-app-vd03.md | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 docs/deployment/deployment-records/2026-08-20-wonder-app-vd03.md diff --git a/docs/deployment/deployment-records/2026-08-20-wonder-app-vd03.md b/docs/deployment/deployment-records/2026-08-20-wonder-app-vd03.md new file mode 100644 index 00000000..efd45a0b --- /dev/null +++ b/docs/deployment/deployment-records/2026-08-20-wonder-app-vd03.md @@ -0,0 +1,39 @@ +# Deployment record — wonder-app-vd03 (prod single host) — 2026-08-20 + +Binary + schema upgrade of the single-host install at `wonder-app-vd03.zmr.zimmer.com` +(`E:\ApiInstall\ScadaBridge`; `ScadaBridge-Central` :8085, `ScadaBridge-Site`, `ScadaBridge-LDAP`; +ConfigDb = local SQL Server). Same release and recipe as the QA deploy earlier today +(`2026-08-20-wonder-app-vq03-vq04.md`). **Access path:** servecli SSH (:2222) was down and the +box has no psbridge, so everything ran from wonder-app-vq04 over **WinRM** +(`Invoke-Command -ComputerName wonder-app-vd03`) and the `E$` admin share, driven via psbridge on vq04. + +| Item | Value | +|---|---| +| Build deployed | `main` @ **`a24fa38e`** (from `20f2ae05`, 2026-08-12; 250 commits). CLI `cli\` from `3eb7df74` → `a24fa38e`. | +| Headline change | Grouped connection bindings (Configure page rows from the flattened config + per-module Object apply; CLI `instance bind-module`) plus everything since 08-12. | +| Staging | `\\wonder-app-vd03\E$\psrem-stage\a24fa38e` (robocopy of vq04's unpacked release). | +| EF migrations applied | the same 6 as QA (`20260814235335` … `20260819201210`), idempotent delta script from `20260810100836_AddSmtpConfigurationTransport`, `sqlcmd -C -b -I` on the box. | +| New required config | `AuditLog:SiteWriter:DatabasePath` → `E:\ApiInstall\ScadaBridge\site\data\auditlog.db` added to `appsettings.Site.json`. | +| Data relocated | site audit SQLite moved from `C:\Windows\System32\auditlog.db` into `site\data\`. | +| Preserved | the box's three `appsettings*.json`, service registry environment, `central\data`, `site\data`. | +| DB backup | `ScadaBridge_pre-a24fa38e_20260820T163653.bak` (COPY_ONLY, SQL Server default backup dir on vd03) | +| Binary backup | `app.bak.20260820T163718`, `cli.bak.20260820T163718` | + +### Verification +- `/health/ready` 200 Healthy: central (database, akka-cluster Up, 5/5 singletons) and site + (akka-cluster Up, localdb Healthy). No ERR/FTL after boot except the usual first-probe + `member status: Removed`; WRNs are the known EF `FirstOrDefault` and h2c notes. +- `/deployment/instances/1/configure` (Z28061): **270 data-sourced attributes in 8 groups**, all + bound, objects inferred (`Z28061`, `DelmiaReceiver_038`, `Left_002.DelmiaReceiver`, + `MESReceiver_023`, `Left_002`, `Right_002.DelmiaReceiver`, `MESReceiver_024`, `Right_002`), + `Test Bindings (270)`. Previously only the 16 direct attributes were shown. + +### Observed, not a regression +- The site `/health/ready` `localdb` entry reports `replicationConnected:false` on this + unreplicated single node (`SiteLocalDbHealthCheck` reads the raw engine flag, unlike the + health report which is gated on `ReplicationIsConfigured`, register row 80). Unchanged code + since the previous build; cosmetic follow-up. + +### Rollback +Stop Site + Central, rename `app` → `app.failed`, `app.bak.20260820T163718` → `app` (same for +`cli`), start Central then Site. Schema restore from the `.bak` only if needed (migrations are additive).