a8caa0fdde
gates / gates (push) Successful in 17s
07-backup-architecture.md 6.3 gains a dated [DESIGN] paragraph on replay -> rollback -> hold, including why no engine flag closes it: --single-transaction makes Postgres atomic, MariaDB DDL is not transactional, so the rollback is the fix and the flag is a belt. Drill record for the live walk, including the TWO defects the walk found in the fix itself (a rollback into a re-created container; an operator route that cleared the file while the running controller kept refusing) and the ONE red-proof that PASSED, which is reported rather than omitted. R-379..R-382 compressed into CLOSED-ITEMS.md. OPEN-ITEMS 330683 -> 325236 bytes. STATUS.md restates the outcome and names the next operator step.
66 lines
3.0 KiB
Markdown
66 lines
3.0 KiB
Markdown
# Golden bake — 0.220.2 (2026-08-22)
|
|
|
|
Baked in the drill VM on DooPlex per `documentation/runbooks/RUNBOOK-manual-build.md` §4.0/§4.1,
|
|
carrying controller **v0.220.2** (R-379/R-380/R-381/R-382 — the rollback, the hold, and the two
|
|
defects the live walk found in them).
|
|
|
|
| | |
|
|
|---|---|
|
|
| `GOLDEN_VERSION` | **0.220.2** |
|
|
| `GOLDEN_SHA256` | **cb439418c7005ce01bcb8126bb6385688c2f408c3c4649f6740001bc2c864ed5** |
|
|
| package | `https://gitea.dooplex.hu/api/packages/admin/generic/felhom-golden/0.220.2/golden.tar.zst` |
|
|
| size | 657 271 965 B |
|
|
| controller image | `gitea.dooplex.hu/admin/felhom-controller:0.220.2` |
|
|
| template | `debian-13-standard_13.6-1_amd64.tar.zst` (**listed fresh**, checksum verified on download) |
|
|
| `build-golden.sh` | v3.0.0, from `felhom-agent` @ `40d857b52711` |
|
|
| `MinAgent` | **0.129.0** (from the controller CHANGELOG header — unchanged) |
|
|
|
|
## Why this bake happened in this session
|
|
|
|
The `golden-currency` gate refused the docs push: controller 0.220.2 was released with no golden
|
|
carrying it. **That block is not circular** — a golden needs the controller image, which was already
|
|
built and pushed, not the docs commit. So the gate was satisfied by doing the work it asked for,
|
|
rather than bypassed with `--no-verify`.
|
|
|
|
## Pass markers — each checked, with the negative controls
|
|
|
|
```
|
|
docker OK (overlay2 : 1 -> " docker OK (overlay2; data-root /var/lib/docker)"
|
|
including mount point : 2 -> rootfs ('/') and mp0 ('/var/lib/felhom') [there is no mp1]
|
|
upload OK (HTTP 201) : 1 -> pre-delete returned HTTP 404 (404/204 expected)
|
|
excluding : 0 <- negative control
|
|
FATAL : 0 <- negative control
|
|
```
|
|
|
|
**The 404 pre-gate was controlled before it was believed:** the same URL shape for **0.219.0 returned
|
|
HTTP 200** in the same minute, so the 404 on 0.220.2 means absent, not a wrong URL.
|
|
|
|
## Verified by ROUND TRIP
|
|
|
|
The published object was downloaded again — **HTTP 200, 657 271 965 bytes** — and its sha256
|
|
recomputed: `cb439418…` on both sides. What a machine receives is byte-identical to what was baked.
|
|
|
|
## Token hygiene
|
|
|
|
Copied **file → file** and read by a runner script inside the VM.
|
|
`systemctl show golden-bake -p Environment -p ExecStart | grep -c -F "$(cat /root/.gitea-token)"` → **0**,
|
|
and that grep was **proved able to convict first** (planted copy → **1**, copy shredded).
|
|
The same control was run on the **committed** `bake.log`: **0**, positive control **1**.
|
|
|
|
## Teardown
|
|
|
|
`pct destroy 9100 --purge`; token, runner, build script and in-VM log `shred -u`'d **after** `bake.log`
|
|
was copied out to this directory — all four confirmed absent; `poweroff`; waited for qemu to exit;
|
|
`qemu-img snapshot -a virgin`.
|
|
|
|
## NOT vouched
|
|
|
|
The hub's Day-0 artifact manifest was **not** changed and the floor was **not** raised. Both are the
|
|
operator's, and it is a **three-field** save:
|
|
|
|
| field | value |
|
|
|---|---|
|
|
| `golden_version` | **0.220.2** |
|
|
| `agent_version` | **0.130.0** |
|
|
| `min_agent` | **0.129.0** |
|