Files
felhom.eu/documentation/audits/version-travel-2026-09-26/A5-live/README.md
T

43 lines
3.2 KiB
Markdown

# A5 live — Part A on 9202 (controller 0.275.0-rc1, drill catalog = live `main` + one reverted deploy commit)
Method: endpoint level (`POST /api/stacks/docmost/update`, the backups page's `POST /backup/restore` form,
`GET /api/backup/restore-status` for the page's sentence), the unit read off the disk, the seed read back through
docmost's own front door (a user + login, `fixtures.py`). Times UTC unless marked.
## Shape 2 — the engine step, in the box's OWN night (not pressed by me)
`L2-night-leg-log.txt`, `L2-window-after-night-leg.txt`. 00:30 the nightly data run stamped docmost's dump and tars
(PostgreSQL 16). **02:15 the automatic leg converted docmost 16 → 18 by itself** (precondition: "Tier 2 copy from
00:30:00Z" — the data's time). **02:16:35 the refresh re-captured the unit and KEPT the 16 definition:** „the app
now runs [… postgres:18 …]; the unit keeps the definition of its data ([… postgres:16 …], written 00:30:00Z)".
Manifest: `image_pins` = 18 (current), `data.image_pins` = 16, `compose/` = 16; restore point offered **00:30:00Z**
(v0.274.0 offered the refresh's time). The kept pre-conversion copy stayed kept for 7 h (hourly release: no copy
after the conversion — pre-fix it went at the first tick after the refresh, R-696).
`L3-restore-own-unit-in-window.txt` — restore (own unit, `helyi`) at 09:20: „Restore docmost: the data belongs to
[… 16 …]"; 3 volumes + 1 database; **back whole at PostgreSQL 16** (`PG_VERSION` 16, pin `postgres:16-alpine`), the
seed logs in. The page's first sentence: „A(z) docmost visszaállt a(z) 2026-09-27 02:30-i mentésből, a(z)
docmost:0.96.0, postgres:16-alpine, redis:7-alpine verzióra. Elérhető frissítés: a doboz lépésenként hozza
naprakészre." (02:30 CEST = 00:30Z.) Before the fix the same restore left the app down (`A1/S4`).
`L4-climb-again.*` — the guarded Update: backing-up → safety-dump → copying → converting (7 s) → starting →
verifying → done in 55.4 s; `PG_VERSION` 18; the seed logs in.
## Shape 1 — the app step (docmost 0.95.0 → 0.96.0), pressed by me
`L1-deployed.txt` (reinstalled at 0.95.0 via one drill commit, reverted), `L5-step-app.*` (done 46.2 s),
`L6-after-refresh-app-step.txt`: the capture 7 s after the update KEPT `compose/` at 0.95.0; `image_pins` 0.96.0,
`data.image_pins` 0.95.0, restore point 09:25:42Z = the data. `L7-restore-app-step.txt`: back at 0.95.0 whole, the
seed logs in, **docmost logged "No pending database migrations"** (pre-fix it ran four migrations unguarded, `A1/S2`),
sentence as above with 0.95.0. `L8-climb-app.*`: the guarded Update climbed to 0.96.0 in 46.2 s; the seed logs in.
## Not observed live
- The conversion-copy RELEASE on a real 18 dump (needs a nightly data run after a conversion, then an hourly tick):
unit-tested (`TestA5_TheReleaseRefusesAPreConversionDump`), the kept half seen live above.
- Off-site restore (9202 has no off-site target; the boxes that do are fenced): unit-tested
(`TestA3_TheOffsiteRestoreBringsTheSnapshotsVersionBack`).
- The English sentence live (the box is Hungarian): unit-tested both languages.
State left: docmost on 9202 at 0.96.0 / PostgreSQL 16 (the automatic leg may convert it again tonight).