Files
felhom.eu/documentation/audits/pg-last-six-2026-09-30/F/README.md
T
admin 25cb3eb9c1
gates / gates (push) Successful in 29s
The last six PostgreSQL apps decided; the gate's wait seen live by day; catalog currency; stale rows
- R-463 CLOSED: rallly, outline, sparkyfitness -> PostgreSQL 18 (catalog 25ffd89 / aeb0cd6 / 1666572),
  each proven on the bench and on 9202 through the guarded Update with one undo case; zipline,
  adventurelog, immich stay on 16 by 09 decision 42's rule (upstream runs 16 / 16 / 14).
- Part F: bookstack, kimai, audiobookshelf, n8n, navidrome, grafana, komga moved on both venues;
  immich not (R-732: its first start OOM-killed its database on the bench).
- R-687 item 4 PROVEN LIVE on demo-hp: two deferrals while the leg stepped two apps, the whole-guest
  backup on the first poll after, success; config + window put back and read back.
- Catalog currency audit (Part D): 25/53 behind inside a major, 19 across; night-updatable 28 -> 31 (+1).
- R-446 and R-440 narrowed (measured on demo-hp); R-624 corrected (outline, rallly, zipline have routes);
  R-548 note (demo-hp's local tier refused for space since 09-27).
- New rows: R-730 (the ISO 1.29.0 build commit cannot be proven -> no tag; installer-v* is the script's
  line), R-731 (tag-shape switches), R-732. Register 361 -> 364.
- 09 §3: the 2026-09-30 operator notes (by day; Tester-2 pre-checks done; decision 52 not needed, not
  recorded); §6.4 dated currency note. STATUS, CONTEXT, REPORT-pg-last-six-2026-09-30.md.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-09-30 14:47:12 +02:00

38 lines
3.4 KiB
Markdown

# Part F — more apps that update themselves (2026-09-30, afternoon)
Rule: within-major edges for apps that already had fixtures on both venues, at most 8, the normal method (bench LXC 9401
→ box 9202 through the guarded Update → `upgrade-test.py --write-ladder` → one catalog commit per app, the only image move
in it). Candidates from the currency audit's ranking (`../../catalog-currency-2026-09-30.md` §6).
| app | step | bench (harness v4, 10-min watch) | box 9202 | memory, anon peak | catalog |
|---|---|---|---|---|---|
| bookstack | 26.05.5 → 26.09.1 | proven, migrations ran, abort starts and serves | done 64.6 s, read back | bookstack 4.8 %; db 43.7 % | `54ca055` |
| kimai | apache-2.57.0 → 2.67.0 | proven, Doctrine migrations ran | done 82.1 s, read back | kimai 6.0 % (cgroup 91.7 % = file cache); db 45.0 % | `d75d1fd` |
| audiobookshelf | 2.36.1 → 2.37.1 | proven | done 24.6 s, read back | 10.5 % | `7425ebd` |
| n8n | 2.41.2 → 2.42.1 | proven, its migrations ran | done 122.1 s, read back | 23.0 % | `9f075a4` |
| navidrome | 0.64.1 → 0.64.2 | proven | done 14.4 s, read back | 6.9 % | `6d91495` |
| grafana | 13.2.2 → 13.2.3 | proven | done 23.6 s, read back (**second walk** — see below) | 47.1 % (cgroup 100 % = file cache) | `2acfbf1` |
| komga | 1.27.1 → 1.28.0 | proven | done 44.2 s, read back | 64.5 % | `403a8f5` |
| immich | server + ML v3.2.2 → v3.2.4 (the database does not move) | first run **inconclusive** (FROM never settled in 420 s — the first-start geodata import with two other runs on 6 cores, R-676); retried alone: see `benchq-q10.txt` | done 112.0 s, album read back | — | see the report |
No step is `memory_tight`; no limit moved. **kimai's tag:** upstream dropped the `apache-` prefix after 2.57.0; measured on
Docker Hub (`kimai-tag-variant.txt`): `2.67.0`, `2`, `stable` and `apache` are ONE digest, `fpm`/`latest` another — the plain
tag is the Apache image.
**Instrument faults found and fixed (the product was not at fault), stated:**
- **grafana's first box walk read back 401:** the fixture authenticates with the admin password the deploy generated, kept
in the process's memory; the step ran in a second process, which tried the default. Fixed in `tools/boxmove.py` (the
generated secrets are kept beside the seed, in the 0600 scratch file) and `boxstep.py`/`undocase.py` (read them back).
grafana was removed, reinstalled at 13.2.2 from the drill catalog (a revert commit there), seeded, stepped: read back.
First attempt kept: `../box/grafana/*attempt1*`.
- **n8n's first box seed answered 404** (`Cannot POST /rest/owner/setup`): the app was still starting; a second try 25 s
later seeded. The fixture's ready-wait (`/healthz` through the gate answers 401) is weak — noted, not changed.
- **A typo started the n8n bench run with a different repository** (`docker.n8n.io/n8nio/n8n`); it was killed by PID 21 s
in, its project taken down, its evidence renamed `*-wrongref-*`, and the run restarted with the template's own
repository (`benchq-q8.txt`).
- **immich's box install first stopped at the kept-data question** (decision 36): the scratch drive held an older test's
immich folder. Answered "start fresh" through the product (`kept_data: fresh` — the old folder moved aside, nothing deleted).
**Part B for these apps:** bookstack and kimai are on demo-hp and were stepped by the chain press of Part C (`../C/`).
None of the others is installed on either demo box.