From 851198af7ff0913c627f7d5dc9eeef38d04b773c Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Thu, 17 Sep 2026 12:25:52 +0200 Subject: [PATCH] golden 0.246.0 baked and vouched with agent 0.132.0; controller floor 0.246.0 (operator decisions) Decision 1 delivered: floor 0.246.0 served, the N100 on 0.246.0 within seconds; Peti's box is DOWN on the hub and receives it when it reports. Decision 2: the agent vouch was refused by R-120 until a newer golden existed. On the operator's choice, golden 0.246.0 was baked (sha 05b7559d, amd64, all markers, token leak 0 with control 1, registry 200 before teardown) and vouched together with agent 0.132.0. golden_currency_gate: WAIVED -> OK. Bake evidence filed where the gate and runbook read it: tests/golden-0.246.0-2026-09-17/. Recorded, none reaching the registry: a first attempt on the arm64 template (my version sort), a self-matching pkill, and an OOM-killed watcher whose post-bake steps were done by hand. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS --- REPORT-chaos-fixes-2026-09-17.md | 26 ++ STATUS.md | 10 +- .../tests/golden-0.246.0-2026-09-17/README.md | 26 ++ .../bake-attempt1-ARM64-ABORTED.txt | 40 +++ .../golden-0.246.0-2026-09-17/bake-record.txt | 40 +++ .../tests/golden-0.246.0-2026-09-17/bake.log | 326 ++++++++++++++++++ .../golden-0.246.0-2026-09-17/vouch.txt} | 14 + 7 files changed, 478 insertions(+), 4 deletions(-) create mode 100644 documentation/tests/golden-0.246.0-2026-09-17/README.md create mode 100644 documentation/tests/golden-0.246.0-2026-09-17/bake-attempt1-ARM64-ABORTED.txt create mode 100644 documentation/tests/golden-0.246.0-2026-09-17/bake-record.txt create mode 100644 documentation/tests/golden-0.246.0-2026-09-17/bake.log rename documentation/{audits/evidence-chaos-fixes-2026-09-17/decision2-vouch-agent-0132.txt => tests/golden-0.246.0-2026-09-17/vouch.txt} (54%) diff --git a/REPORT-chaos-fixes-2026-09-17.md b/REPORT-chaos-fixes-2026-09-17.md index c108f35a..4f56fff9 100644 --- a/REPORT-chaos-fixes-2026-09-17.md +++ b/REPORT-chaos-fixes-2026-09-17.md @@ -78,3 +78,29 @@ made unattended — the operator's to take, and cheap to take. 1. An interrupted-restore notice for a removed app never clears. **FILED: R-552** 2. No Tier-0 box can exercise the paused + agent-connected escrow state. **FILED: R-551** 3. Controller `handler.go` and agent `controllersupervisor_test.go` were not `gofmt`-clean before this task. **NOT-A-FINDING: pre-existing formatting only; reformatting unrelated lines was left out to keep the diffs reviewable.** + +## Addendum — the operator's two „yes" answers, carried out (2026-09-17, afternoon) + +**1. Controller floor raised to 0.246.0** (declared MinAgent 0.131.0). Hub: `Global controller-version floor +set to "0.246.0"` and `managed floor SERVED for demo-felhom … from declared`; the N100 ran 0.246.0 within +seconds (`at/above floor 0.246.0 (we are 0.246.0)`). demo-hp runs 0.246.0 (it has a per-customer override at +0.243.0). **Peti's box is DOWN on the hub** (last controller 0.115.0) and receives it when it reports. +Evidence: `audits/evidence-chaos-fixes-2026-09-17/decision1-floor-0246.txt`. The „recommendation not followed" +above is therefore superseded by the operator's decision. + +**2. Agent 0.132.0 vouched — which required a golden.** The first vouch was refused by the hub's R-120 gate +(`golden 0.245.0 is older than the newest controller the fleet reports (0.246.0)`); nothing was stored. Asked, +the operator chose to bake. **Golden 0.246.0** baked by RUNBOOK-manual-build §4.1, sha `05b7559d…`, amd64, +all markers, token leak 0 (control 1), registry 200 before teardown; then vouched together with agent 0.132.0: +`Artifact manifest set: agent=0.132.0 golden=0.246.0 min_agent="0.131.0" wrapper_sha=true`, read back +exactly. `golden_currency_gate.py` moved from WAIVED to **OK**. Evidence: `tests/golden-0.246.0-2026-09-17/`. + +**Mistakes of mine on the way, none reaching the registry:** the first bake attempt used the **arm64** +template (my version sort), aborted before anything was built; stopping it, a self-matching `pkill` killed my +own shell; the second attempt's watcher was killed for low memory and its post-bake steps were done by hand. + +**Observation.** 4. `golden_currency_gate.py` reported the newest bake as 0.242.0 although 0.243.0–0.245.0 +were baked and published, because those bakes filed their logs under `audits/` rather than +`documentation/tests/golden--/`. **NOT-A-FINDING: a recording slip in earlier bakes (including +0.245.0, mine), not a gate defect — the gate reads the place the runbook names; 0.246.0 is filed there and the +gate reads it.** diff --git a/STATUS.md b/STATUS.md index b61eadd8..037ca86e 100644 --- a/STATUS.md +++ b/STATUS.md @@ -30,10 +30,12 @@ signed the agent update onto the two demo boxes under yesterday's ruling. **Rows.** Two opened, four closed. The register went from **215** open rows to **213**. -**Needs you.** -1. **Nothing blocking.** -2. **Optional: vouch the new agent for fresh installs.** If you do nothing: a brand-new box installs the - previous agent, which lacks only the slow crash-loop warning. +**Needs you.** Nothing. Both of your „yes" answers are done: +1. **All boxes get the new controller.** The floor is raised to 0.246.0; the N100 took it within seconds and + the HP already had it. **Peti's box is offline** on the hub, so it gets it when it next reports. +2. **Fresh installs get today's fixes.** The hub would only vouch the new agent together with a newer golden, + so I baked golden 0.246.0 (your choice) and vouched both. A brand-new box now installs controller 0.246.0 + and agent 0.132.0. 3. **For your information:** the demo box's slow crash-loop warning stays raised until tomorrow 11:22, because I caused it on purpose. It cannot mail you again before then. diff --git a/documentation/tests/golden-0.246.0-2026-09-17/README.md b/documentation/tests/golden-0.246.0-2026-09-17/README.md new file mode 100644 index 00000000..90be0e38 --- /dev/null +++ b/documentation/tests/golden-0.246.0-2026-09-17/README.md @@ -0,0 +1,26 @@ +# Golden 0.246.0 — baked, published and vouched 2026-09-17 + +Operator decision: vouch agent 0.132.0 for Day-0 installs. The hub's R-120 gate refused that while the +vouched golden (0.245.0) was older than the fleet's newest controller (0.246.0), so the operator chose to +bake golden 0.246.0 first (RUNBOOK-manual-build §4.0/§4.1). + +| | | +|---|---| +| `GOLDEN_VERSION` | 0.246.0 (controller image `gitea.dooplex.hu/admin/felhom-controller:0.246.0`) | +| `GOLDEN_SHA256` | `05b7559dd119a1d527b459730f6d500fa396f01fea9f863f3c317ad1e2bc4bd6` | +| template | `debian-13-standard_13.6-1_amd64.tar.zst`, container architecture **amd64** | +| markers | overlay2 1 · mount points 2 · upload HTTP 201 1 · FATAL 0 · excluding 0 · publish skipped 0 | +| token leak | 0 in the committed log; planted control 1 | +| registry | `…/generic/felhom-golden/0.246.0/golden.tar.zst` → 200, and only then teardown | +| teardown | CT 9100 destroyed, token/runner/log shredded in the VM, qemu exited, disk reverted to `virgin` | +| vouched | `Artifact manifest set: agent=0.132.0 golden=0.246.0 min_agent="0.131.0" wrapper_sha=true` (10:24:20Z CEST log 12:24:20); read back: agent `4afe8157…`, golden `05b7559d…`, wrapper `104db0a4…` unchanged | + +**Two mistakes of mine on the way, both recorded, neither reached the registry:** +1. Attempt 1 picked the **arm64** template (`sort -V` ranks `arm64` after `amd64`); aborted at „installing + Docker", nothing built or uploaded. While stopping it, `pkill -f` matched my own command line and killed + the stopping shell (exit 144) — the self-match recorded on chaos night, repeated. +2. Attempt 2's host-side watcher was killed by the system for low memory (as in the 0.244.0 bake). The bake + ran inside the VM and finished (`Result=success`); the post-bake steps were done by hand in the runbook's + order — log off first, then checks, then the registry gate, then teardown. + +Files: `bake.log` (the build's own log), `bake-record.txt`, `bake-attempt1-ARM64-ABORTED.txt`, `vouch.txt`. diff --git a/documentation/tests/golden-0.246.0-2026-09-17/bake-attempt1-ARM64-ABORTED.txt b/documentation/tests/golden-0.246.0-2026-09-17/bake-attempt1-ARM64-ABORTED.txt new file mode 100644 index 00000000..c65740d3 --- /dev/null +++ b/documentation/tests/golden-0.246.0-2026-09-17/bake-attempt1-ARM64-ABORTED.txt @@ -0,0 +1,40 @@ +## 2026-09-17T10:14:01Z golden 0.246.0 — bake in the drill VM (RUNBOOK-manual-build §4.0/§4.1); operator: "bake now" + reverted to virgin (proves no qemu holds the qcow2) + cold boot started + ssh up: pve-manager/9.2.2/b9984c6d90a4bd80 (running kernel: 7.0.2-6-pve) +perl: warning: Setting locale failed. +perl: warning: Please check that your locale settings: + LANGUAGE = (unset), + LC_ALL = (unset), + LC_CTYPE = "UTF-8", + LC_NUMERIC = (unset), + LC_COLLATE = (unset), + LC_TIME = (unset), + LC_MESSAGES = (unset), + LC_MONETARY = (unset), + LC_ADDRESS = (unset), + LC_IDENTIFICATION = (unset), + LC_MEASUREMENT = (unset), + LC_PAPER = (unset), + LC_TELEPHONE = (unset), + LC_NAME = (unset), + LANG = "en_US.UTF-8" + are supported and installed on your system. +perl: warning: Falling back to a fallback locale ("en_US.UTF-8"). + template: debian-13-standard_13.6-1_arm64.tar.zst + template downloaded + script + token landed, non-empty, executable + runner reads the token itself (must be 1): 1 + bake launched 2026-09-17T10:14:57Z + token leak check on the unit (needle non-empty; must be 0): 0 + +## ABORTED BY ME, 2026-09-17 ~10:16Z — the wrong architecture, from my own template selection +The line `pveam available | grep -oE "debian-13-standard_[^ ]+" | sort -V | tail -1` returned +`debian-13-standard_13.6-1_arm64.tar.zst`: both amd64 and arm64 are offered, and a version sort ranks +`arm64` after `amd64`. The bake log confirms it: "Detected container architecture: arm64". +Stopped at "[golden] starting + installing Docker" — NOTHING was built or uploaded (registry 0.246.0 = 404). +A second mistake while stopping it: `pkill -f` with a pattern that matched my own command line killed the +shell running the stop (exit 144) — the same self-match I recorded on chaos night. The VM-side stop was +then done separately (unit inactive), the VM powered off and the disk reverted to virgin, which discards +the container and the copied token. +Fix for attempt 2: the template is selected by `_amd64\.tar\.zst` and the run aborts if it is not amd64. diff --git a/documentation/tests/golden-0.246.0-2026-09-17/bake-record.txt b/documentation/tests/golden-0.246.0-2026-09-17/bake-record.txt new file mode 100644 index 00000000..1bc8790e --- /dev/null +++ b/documentation/tests/golden-0.246.0-2026-09-17/bake-record.txt @@ -0,0 +1,40 @@ +## 2026-09-17T10:16:27Z golden 0.246.0 — bake ATTEMPT 2 (amd64 template forced) in the drill VM (RUNBOOK-manual-build §4.0/§4.1); operator: "bake now" + reverted to virgin (proves no qemu holds the qcow2) + cold boot started + ssh up: pve-manager/9.2.2/b9984c6d90a4bd80 (running kernel: 7.0.2-6-pve) +perl: warning: Setting locale failed. +perl: warning: Please check that your locale settings: + LANGUAGE = (unset), + LC_ALL = (unset), + LC_CTYPE = "UTF-8", + LC_NUMERIC = (unset), + LC_COLLATE = (unset), + LC_TIME = (unset), + LC_MESSAGES = (unset), + LC_MONETARY = (unset), + LC_ADDRESS = (unset), + LC_IDENTIFICATION = (unset), + LC_MEASUREMENT = (unset), + LC_PAPER = (unset), + LC_TELEPHONE = (unset), + LC_NAME = (unset), + LANG = "en_US.UTF-8" + are supported and installed on your system. +perl: warning: Falling back to a fallback locale ("en_US.UTF-8"). + template: debian-13-standard_13.6-1_amd64.tar.zst + template downloaded + local guard: template is amd64 (debian-13-standard_13.6-1_amd64.tar.zst) + script + token landed, non-empty, executable + runner reads the token itself (must be 1): 1 + bake launched 2026-09-17T10:17:27Z + token leak check on the unit (needle non-empty; must be 0): 0 +## 2026-09-17T10:23:23Z MY WATCHER WAS KILLED (system low on memory), THE BAKE WAS NOT — post-bake steps done by hand + unit result: Result=success (unit gone after --collect is normal) + log copied off the machine FIRST: 326 lines + markers: overlay2=1 mountpoints=2 upload=1 FATAL=0 excluding=0 skipped=0 arch=Detected container architecture: amd64 +GOLDEN_VERSION=0.246.0 +GOLDEN_SHA256=05b7559dd119a1d527b459730f6d500fa396f01fea9f863f3c317ad1e2bc4bd6 + token-leak control — planted copy must be 1: 1; committed log must be 0: 0 + REGISTRY CHECK (the outcome, not the attempt): golden 0.246.0 -> http=200 + PUBLISHED; guest destroyed, token shredded, qemu exited, disk reverted to virgin +## finished 2026-09-17T10:23:45Z diff --git a/documentation/tests/golden-0.246.0-2026-09-17/bake.log b/documentation/tests/golden-0.246.0-2026-09-17/bake.log new file mode 100644 index 00000000..586c75bf --- /dev/null +++ b/documentation/tests/golden-0.246.0-2026-09-17/bake.log @@ -0,0 +1,326 @@ +[golden] build-golden.sh v3.0.0 — baking controller gitea.dooplex.hu/admin/felhom-controller:0.246.0 +[golden] creating build LXC 9100 (nesting=1,keyctl=1, unprivileged; rootfs 32G + ONE data volume 24G @ /var/lib/felhom, backup=1) … + Logical volume "vm-9100-disk-0" created. + Logical volume pve/vm-9100-disk-0 changed. +Creating filesystem with 8388608 4k blocks and 2097152 inodes +Filesystem UUID: 01c14778-41c2-40ce-9e6f-615561631da1 +Superblock backups stored on blocks: + 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, + 4096000, 7962624 + Logical volume "vm-9100-disk-1" created. + Logical volume pve/vm-9100-disk-1 changed. +Creating filesystem with 6291456 4k blocks and 1572864 inodes +Filesystem UUID: 6cbb7647-9d69-4663-80fb-d6b76e298919 +Superblock backups stored on blocks: + 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, +extracting archive '/var/lib/vz/template/cache/debian-13-standard_13.6-1_amd64.tar.zst' +Total bytes read: 553512960 (528MiB, 97MiB/s) +Detected container architecture: amd64 +Creating SSH host key 'ssh_host_ecdsa_key' - this may take some time ... +done: SHA256:47QSu71CKh8C2RukbKgrkrQwUfeXCtkaqccPpWxvs9U root@felhom-golden +Creating SSH host key 'ssh_host_rsa_key' - this may take some time ... +done: SHA256:ucj8M5RfeG5VLrYexbYngGaNCGMoROvl/pemd4Z/BN4 root@felhom-golden +Creating SSH host key 'ssh_host_ed25519_key' - this may take some time ... +done: SHA256:v2YZ5Cs7bNw5VbDWtTY8rIBB5bmY8OB2YEPaWtUsrQg root@felhom-golden +[golden] starting + installing Docker (official repo, trixie channel) … +apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct! +perl: warning: Setting locale failed. +perl: warning: Please check that your locale settings: + LANGUAGE = (unset), + LC_ALL = (unset), + LC_CTYPE = (unset), + LC_NUMERIC = (unset), + LC_COLLATE = (unset), + LC_TIME = (unset), + LC_MESSAGES = (unset), + LC_MONETARY = (unset), + LC_ADDRESS = (unset), + LC_IDENTIFICATION = (unset), + LC_MEASUREMENT = (unset), + LC_PAPER = (unset), + LC_TELEPHONE = (unset), + LC_NAME = (unset), + LANG = "en_US.UTF-8" + are supported and installed on your system. +perl: warning: Falling back to the standard locale ("C"). +locale: Cannot set LC_CTYPE to default locale: No such file or directory +locale: Cannot set LC_MESSAGES to default locale: No such file or directory +locale: Cannot set LC_ALL to default locale: No such file or directory +apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct! +perl: warning: Setting locale failed. +perl: warning: Please check that your locale settings: + LANGUAGE = (unset), + LC_ALL = (unset), + LC_CTYPE = (unset), + LC_NUMERIC = (unset), + LC_COLLATE = (unset), + LC_TIME = (unset), + LC_MESSAGES = (unset), + LC_MONETARY = (unset), + LC_ADDRESS = (unset), + LC_IDENTIFICATION = (unset), + LC_MEASUREMENT = (unset), + LC_PAPER = (unset), + LC_TELEPHONE = (unset), + LC_NAME = (unset), + LANG = "en_US.UTF-8" + are supported and installed on your system. +perl: warning: Falling back to the standard locale ("C"). +locale: Cannot set LC_CTYPE to default locale: No such file or directory +locale: Cannot set LC_MESSAGES to default locale: No such file or directory +locale: Cannot set LC_ALL to default locale: No such file or directory +[golden] baking daemon.json: classic overlay2 driver (containerd-snapshotter OFF) + log rotation … +[golden] wiring the single data volume (R-165 variant V-c): /var/lib/felhom/{docker,sys_drive} -> binds … +[golden] verifying Docker works in the build guest (storage driver should be overlay2 on the ext4 data volume) … +Unable to find image 'hello-world:latest' locally +latest: Pulling from library/hello-world +4f55086f7dd0: Pulling fs layer +4f55086f7dd0: Download complete +4f55086f7dd0: Pull complete +Digest: sha256:5e23090353324d887c48ad5e5c56d294eab81588df9605b07d1afe895f9cc8f8 +Status: Downloaded newer image for hello-world:latest + docker OK (overlay2; data-root /var/lib/docker) + /var/lib/docker is a real mount: /dev/mapper/pve-vm--9100--disk--1[/docker] ext4 + /mnt/sys_drive is a real mount: /dev/mapper/pve-vm--9100--disk--1[/sys_drive] ext4 + both paths are ONE filesystem: /dev/mapper/pve-vm--9100--disk--1 23317576 +[golden] baking the in-guest controller image gitea.dooplex.hu/admin/felhom-controller:0.246.0 (no registry cred at deploy) … + +WARNING! Your credentials are stored unencrypted in '/root/.docker/config.json'. +Configure a credential helper to remove this warning. See +https://docs.docker.com/go/credential-store/ + +0.246.0: Pulling from admin/felhom-controller +a8ac7f6c67ab: Pulling fs layer +bf30769d36e7: Pulling fs layer +044b66fbe46c: Pulling fs layer +b5c41a28e83f: Pulling fs layer +e1c099c5e82f: Pulling fs layer +896b7668b039: Pulling fs layer +b5c41a28e83f: Waiting +e1c099c5e82f: Waiting +896b7668b039: Waiting +a8ac7f6c67ab: Verifying Checksum +a8ac7f6c67ab: Download complete +b5c41a28e83f: Verifying Checksum +b5c41a28e83f: Download complete +044b66fbe46c: Verifying Checksum +044b66fbe46c: Download complete +e1c099c5e82f: Verifying Checksum +e1c099c5e82f: Download complete +896b7668b039: Verifying Checksum +896b7668b039: Download complete +bf30769d36e7: Verifying Checksum +bf30769d36e7: Download complete +a8ac7f6c67ab: Pull complete +bf30769d36e7: Pull complete +044b66fbe46c: Pull complete +b5c41a28e83f: Pull complete +e1c099c5e82f: Pull complete +896b7668b039: Pull complete +Digest: sha256:61879a2566d8c1805fad2da12e347a583bf9af1b5f1a83e9ae8d99572f6480d3 +Status: Downloaded newer image for gitea.dooplex.hu/admin/felhom-controller:0.246.0 +gitea.dooplex.hu/admin/felhom-controller:0.246.0 +[golden] asking the controller which infra images it manages … +[golden] baking infra images (4): traefik:v3.6.7 cloudflare/cloudflared:2026.6.0 gtstef/filebrowser:1.3.3-stable gitea.dooplex.hu/admin/felhom-samba:1.1.0 … +v3.6.7: Pulling from library/traefik +589002ba0eae: Pulling fs layer +ef63511ea6cc: Pulling fs layer +0738e5cb835e: Pulling fs layer +3e6813f70c64: Pulling fs layer +3e6813f70c64: Waiting +ef63511ea6cc: Download complete +3e6813f70c64: Verifying Checksum +3e6813f70c64: Download complete +589002ba0eae: Verifying Checksum +589002ba0eae: Download complete +0738e5cb835e: Verifying Checksum +0738e5cb835e: Download complete +589002ba0eae: Pull complete +ef63511ea6cc: Pull complete +0738e5cb835e: Pull complete +3e6813f70c64: Pull complete +Digest: sha256:a9890c898f379c1905ee5b28342f6b408dc863f08db2dab20e46c267d1ff463a +Status: Downloaded newer image for traefik:v3.6.7 +docker.io/library/traefik:v3.6.7 +2026.6.0: Pulling from cloudflare/cloudflared +47de5dd0b812: Pulling fs layer +c172f21841df: Pulling fs layer +99515e7b4d35: Pulling fs layer +99ba982a9142: Pulling fs layer +d6b1b89eccac: Pulling fs layer +2780920e5dbf: Pulling fs layer +7c12895b777b: Pulling fs layer +3214acf345c0: Pulling fs layer +52630fc75a18: Pulling fs layer +dd64bf2dd177: Pulling fs layer +b839dfae01f6: Pulling fs layer +ebddc55facdc: Pulling fs layer +bdfd7f7e5bf6: Pulling fs layer +2d4d7adf6272: Pulling fs layer +40008157d8d2: Pulling fs layer +bd8962e29291: Pulling fs layer +cac2ae0193cb: Pulling fs layer +74d1dac84ecc: Pulling fs layer +dd64bf2dd177: Waiting +b839dfae01f6: Waiting +ebddc55facdc: Waiting +bdfd7f7e5bf6: Waiting +2d4d7adf6272: Waiting +40008157d8d2: Waiting +bd8962e29291: Waiting +cac2ae0193cb: Waiting +74d1dac84ecc: Waiting +2780920e5dbf: Waiting +7c12895b777b: Waiting +3214acf345c0: Waiting +52630fc75a18: Waiting +99ba982a9142: Waiting +d6b1b89eccac: Waiting +47de5dd0b812: Verifying Checksum +47de5dd0b812: Download complete +c172f21841df: Verifying Checksum +c172f21841df: Download complete +47de5dd0b812: Pull complete +99515e7b4d35: Verifying Checksum +99515e7b4d35: Download complete +99ba982a9142: Verifying Checksum +99ba982a9142: Download complete +d6b1b89eccac: Verifying Checksum +d6b1b89eccac: Download complete +2780920e5dbf: Verifying Checksum +2780920e5dbf: Download complete +7c12895b777b: Verifying Checksum +7c12895b777b: Download complete +3214acf345c0: Download complete +52630fc75a18: Verifying Checksum +52630fc75a18: Download complete +dd64bf2dd177: Verifying Checksum +dd64bf2dd177: Download complete +b839dfae01f6: Verifying Checksum +b839dfae01f6: Download complete +ebddc55facdc: Verifying Checksum +ebddc55facdc: Download complete +bdfd7f7e5bf6: Verifying Checksum +bdfd7f7e5bf6: Download complete +c172f21841df: Pull complete +2d4d7adf6272: Verifying Checksum +2d4d7adf6272: Download complete +bd8962e29291: Verifying Checksum +bd8962e29291: Download complete +40008157d8d2: Verifying Checksum +40008157d8d2: Download complete +cac2ae0193cb: Verifying Checksum +cac2ae0193cb: Download complete +74d1dac84ecc: Verifying Checksum +74d1dac84ecc: Download complete +99515e7b4d35: Pull complete +99ba982a9142: Pull complete +d6b1b89eccac: Pull complete +2780920e5dbf: Pull complete +7c12895b777b: Pull complete +3214acf345c0: Pull complete +52630fc75a18: Pull complete +dd64bf2dd177: Pull complete +b839dfae01f6: Pull complete +ebddc55facdc: Pull complete +bdfd7f7e5bf6: Pull complete +2d4d7adf6272: Pull complete +40008157d8d2: Pull complete +bd8962e29291: Pull complete +cac2ae0193cb: Pull complete +74d1dac84ecc: Pull complete +Digest: sha256:ba461b8aa9c042156dbd39c38657fe7431bafa063220eab8d5330a523863da9f +Status: Downloaded newer image for cloudflare/cloudflared:2026.6.0 +docker.io/cloudflare/cloudflared:2026.6.0 +1.3.3-stable: Pulling from gtstef/filebrowser +6a0ac1617861: Pulling fs layer +ef8806083e82: Pulling fs layer +b74107c861c7: Pulling fs layer +adc935def003: Pulling fs layer +4f4fb700ef54: Pulling fs layer +18695ccc900a: Pulling fs layer +45d119d5c397: Pulling fs layer +dac52db4fc51: Pulling fs layer +6d598f86b2f2: Pulling fs layer +8aa349c8396c: Pulling fs layer +4f4fb700ef54: Waiting +18695ccc900a: Waiting +45d119d5c397: Waiting +dac52db4fc51: Waiting +6d598f86b2f2: Waiting +8aa349c8396c: Waiting +adc935def003: Waiting +6a0ac1617861: Verifying Checksum +6a0ac1617861: Download complete +adc935def003: Verifying Checksum +adc935def003: Download complete +6a0ac1617861: Pull complete +4f4fb700ef54: Verifying Checksum +4f4fb700ef54: Download complete +b74107c861c7: Verifying Checksum +b74107c861c7: Download complete +18695ccc900a: Verifying Checksum +18695ccc900a: Download complete +ef8806083e82: Verifying Checksum +ef8806083e82: Download complete +45d119d5c397: Verifying Checksum +45d119d5c397: Download complete +dac52db4fc51: Verifying Checksum +dac52db4fc51: Download complete +6d598f86b2f2: Verifying Checksum +6d598f86b2f2: Download complete +8aa349c8396c: Verifying Checksum +8aa349c8396c: Download complete +ef8806083e82: Pull complete +b74107c861c7: Pull complete +adc935def003: Pull complete +4f4fb700ef54: Pull complete +18695ccc900a: Pull complete +45d119d5c397: Pull complete +dac52db4fc51: Pull complete +6d598f86b2f2: Pull complete +8aa349c8396c: Pull complete +Digest: sha256:eb3733681db8757412632c61a99ad656f0d94ed6781bb2ea114b4d70babab78c +Status: Downloaded newer image for gtstef/filebrowser:1.3.3-stable +docker.io/gtstef/filebrowser:1.3.3-stable +1.1.0: Pulling from admin/felhom-samba +897d797d2723: Pulling fs layer +3051591aa250: Pulling fs layer +ce57a3f93416: Pulling fs layer +fb94eeec2fe1: Pulling fs layer +fb94eeec2fe1: Waiting +ce57a3f93416: Verifying Checksum +ce57a3f93416: Download complete +fb94eeec2fe1: Verifying Checksum +fb94eeec2fe1: Download complete +897d797d2723: Verifying Checksum +897d797d2723: Download complete +3051591aa250: Verifying Checksum +3051591aa250: Download complete +897d797d2723: Pull complete +3051591aa250: Pull complete +ce57a3f93416: Pull complete +fb94eeec2fe1: Pull complete +Digest: sha256:1c17c09422bec0366d7cf0e0fcfc1486ba6c90334a0a5d5c851073a9342f8f10 +Status: Downloaded newer image for gitea.dooplex.hu/admin/felhom-samba:1.1.0 +gitea.dooplex.hu/admin/felhom-samba:1.1.0 +[golden] baking the controller-bootstrap unit (deploys the BAKED controller from the config mount) … +Created symlink '/etc/systemd/system/multi-user.target.wants/felhom-controller-bootstrap.service' → '/etc/systemd/system/felhom-controller-bootstrap.service'. +[golden] baking the controller-bootstrap PATH unit (starts the service on bootstrap-mount hot-plug — B1) … +Created symlink '/etc/systemd/system/multi-user.target.wants/felhom-controller-bootstrap.path' → '/etc/systemd/system/felhom-controller-bootstrap.path'. +[golden] baking the first-boot SSH host-key regeneration unit (F3) … +Created symlink '/etc/systemd/system/multi-user.target.wants/felhom-regen-hostkeys.service' → '/etc/systemd/system/felhom-regen-hostkeys.service'. +[golden] identity-clean + minimize … +[golden] stop + archive … +INFO: including mount point rootfs ('/') in backup +INFO: including mount point mp0 ('/var/lib/felhom') in backup +INFO: archive file size: 623MB +INFO: Finished Backup of VM 9100 (00:00:36) +[golden] DONE. golden archive volid: local:backup/vzdump-lxc-9100-2026_09_17-12_21_44.tar.zst (rootfs 32G + ONE data volume 24G @ /var/lib/felhom, all in the archive) +[golden] publishing golden (653400248 bytes, sha256 05b7559dd119a1d5…) → https://gitea.dooplex.hu/api/packages/admin/generic/felhom-golden/0.246.0/golden.tar.zst +[golden] pre-delete existing: HTTP 404 (404/204 expected) +[golden] upload OK (HTTP 201) +GOLDEN_VERSION=0.246.0 +GOLDEN_SHA256=05b7559dd119a1d527b459730f6d500fa396f01fea9f863f3c317ad1e2bc4bd6 +[golden] Record in the hub operator UI (Configs → Day-0 artifacts): golden 0.246.0 / 05b7559dd119a1d527b459730f6d500fa396f01fea9f863f3c317ad1e2bc4bd6 +[golden] (the build guest 9100 is stopped; destroy it with: pct destroy 9100 --purge) diff --git a/documentation/audits/evidence-chaos-fixes-2026-09-17/decision2-vouch-agent-0132.txt b/documentation/tests/golden-0.246.0-2026-09-17/vouch.txt similarity index 54% rename from documentation/audits/evidence-chaos-fixes-2026-09-17/decision2-vouch-agent-0132.txt rename to documentation/tests/golden-0.246.0-2026-09-17/vouch.txt index 35defc0b..bb96e47a 100644 --- a/documentation/audits/evidence-chaos-fixes-2026-09-17/decision2-vouch-agent-0132.txt +++ b/documentation/tests/golden-0.246.0-2026-09-17/vouch.txt @@ -9,3 +9,17 @@ RESULT: REFUSED by the hub's R-120 gate, as the handler's source predicted (hub/ handleSetArtifacts: the golden may not be older than the newest controller any box reports). Nothing was stored — the check runs before SetArtifactManifest. The Day-0 manifest is still agent 0.131.0 / golden 0.245.0. Vouching agent 0.132.0 therefore needs a golden >= 0.246.0 first. Put to the operator. + +## ATTEMPT 2 of the vouch, after golden 0.246.0 was baked and published (2026-09-17T10:23:59Z) +POST /configuration/artifacts agent_version=0.132.0 golden_version=0.246.0 min_agent=0.131.0 wrapper_sha256= + HTTP/1.1 303 See Other + Location: /configuration?flash=artifacts_set + hub log: 2026/09/17 12:24:20 [INFO] Artifact manifest set: agent=0.132.0 golden=0.246.0 min_agent="0.131.0" wrapper_sha=true + read back from /configuration: + agent_sha256 4afe815749a41b327ebe4a98a4557ad2acffb1fa71740a3a8b8003473b835321 + golden_sha256 05b7559dd119a1d527b459730f6d500fa396f01fea9f863f3c317ad1e2bc4bd6 + wrapper_sha256 104db0a4401f65bbc476e82bfb1796433bcb36f8f8cce69efb3bb5c40fcb16b3 + min_agent 0.131.0 + min_agent 0.131.0 + min_controller_version 0.246.0 + vouched golden (v0.246.0)