feat(svos): v0.0.19 UI 0.0.23 (U21 working look) published on nh3-svos; no restart
This commit is contained in:
@@ -23,6 +23,20 @@ configuration, enrollment and acceptance.
|
||||
| App-consistent hook | svos-dev's `/etc/qemu/fsfreeze-hook.d/50-svos` stops the SVOS services on freeze and restarts the ones that were running on thaw. ⚠ **Debian's qemu-ga does NOT run fsfreeze hooks unless configured** (no `-F` in the unit, no `qemu-ga.conf` by default). Here `/etc/qemu/qemu-ga.conf` points it at **`/usr/local/sbin/fsfreeze-dispatch`** (`configs/qemu-ga/fsfreeze-dispatch`), which unlike the stock `/etc/qemu/fsfreeze-hook` propagates failure: if a freeze hook fails, it thaws that hook and the completed ones and exits 1, so qemu-ga refuses the freeze. **Live drill 2026-10-05 1952–1953 (services running):** quiesced backup `vm/111/2026-10-06T02:52:11Z` → kernel+interface down ~1–2 s, back by themselves, health ok. Refused freeze (temporary `60-drill-refuse` after 50-svos, since removed) `vm/111/2026-10-06T02:53:03Z` → the dispatcher unwound and restarted the services, and then **⚠ vzdump did NOT abort: it logged `ERROR: unable to freeze guest fs`, backed up UNFROZEN (crash-consistent, app live), and reported `Backup job finished successfully`, rc 0.** Both images mapped from PBS and mounted read-only (`ro,noload`) on nh3-pve-2, never booted: `svos.db` integrity ok (each image still carries its ~0.9 MB WAL: keep `-wal` with the db when restoring), interface `pins.sqlite3` integrity ok, config/key/config-generation hashes equal live, table counts equal live except `events`. **Monitoring:** `scripts/check-backup-freshness.sh` now reads the LOG of every OK vzdump task and reports ERROR lines; a freeze/thaw error is an APPLICATION-CONSISTENCY FAILURE, verdict **DEGRADED, exit 4** (alerted by the daily wrapper to infra-hermes). nh3-pve-2 was not in the check's node lists at all before 2026-10-05; it is now. Drill B is acknowledged by UPID in the script |
|
||||
| Monitoring | Beszel native agent 0.18.7 (`playbooks/beszel-native.yaml`, `configs/beszel-agent/hosts/nh3-svos.env`), hub system `t6y646ifa3x7xxv`, alerts CPU>95%/15m, Disk>85%/5m, Memory>90%/10m, offline/2m. Up 2026-10-05 |
|
||||
|
||||
## Release 91e9f2d / v0.0.19, U21 working look — UI-only publish (2026-10-19 0037; Prime's "push it now" in-session; svos-dev thread `01M59H5W335E6W5JP67M6Y6SE7`)
|
||||
|
||||
- **Push:** origin `main` already named 91e9f2d by the time of the push; infra-ops pushed the tag `v0.0.19` → `91e9f2d70c5e` at 0037.
|
||||
- **Kit:** kernel 0.0.19 wheel (a version bump only) and web build UI 0.0.23 from a clean archive of the tag. Everything else was
|
||||
carried byte-identical from 6d4cb1c. Kit sha256 `a7688247…`. Playbooks: `nh3-svos-91e9f2d-v0.0.19-stage.yaml` (0032), then `…-v0.0.19.yaml`.
|
||||
- **Publish:** `current → 91e9f2d` (the front-door inventory generates from `current/static`), then `svos-front-inventory`. UI
|
||||
handle: `/assets/index-sEHNjI-U.js` + `/assets/index-CNudli_R.css` (the CSS is unchanged from 0.0.22); 6d4cb1c is the previous handle.
|
||||
**Nothing restarted**: no app or manifest change, no card. Config gen `db56b0ed9b743fb7`; health ok, 8 up.
|
||||
- ⚠ **The pointer is ahead of every process:** the kernel, knowledge, judge and voice still run from `releases/15c2d04`, and the interface from
|
||||
`releases/6d4cb1c`. Their code is identical to 91e9f2d's. Keep both dirs until those services restart.
|
||||
- **Verified:** the served `index.html` names the new bundle, and that bundle carries `91e9f2d` and `data-look` (default `today`; `?look=` takes
|
||||
a known look). The hero's live label needs a browser.
|
||||
- **Rollback:** `current → releases/6d4cb1c`, then `svos-front-inventory`.
|
||||
|
||||
## Release 6d4cb1c / v0.0.18, U20 settings (2026-10-18 2351–2352; Prime's go 2350 via svos-dev, thread `01M59D7NTZNN75SRP0M4ZQF91A`, and "push it" in-session)
|
||||
|
||||
- **Push:** the go came while gitea still had only 15c2d04 (Prime's push never landed). On his "push it", infra-ops pushed
|
||||
|
||||
Reference in New Issue
Block a user