diff --git a/documentation/tests/golden-0.311.0-2026-10-14/02-round-trip.txt b/documentation/tests/golden-0.311.0-2026-10-14/02-round-trip.txt new file mode 100644 index 00000000..158d8981 --- /dev/null +++ b/documentation/tests/golden-0.311.0-2026-10-14/02-round-trip.txt @@ -0,0 +1,2 @@ +registry file sha256: efe5f02ef1a03c1ec28f77820190c2ce137a749d1c7ba3eff59f2299ac74b41e bytes 649945423 +bake GOLDEN_SHA256=efe5f02ef1a03c1ec28f77820190c2ce137a749d1c7ba3eff59f2299ac74b41e diff --git a/documentation/tests/golden-0.311.0-2026-10-14/03-teardown.txt b/documentation/tests/golden-0.311.0-2026-10-14/03-teardown.txt new file mode 100644 index 00000000..e206ee64 --- /dev/null +++ b/documentation/tests/golden-0.311.0-2026-10-14/03-teardown.txt @@ -0,0 +1,6 @@ +pct destroy 9100 --purge: CT 9100 purged;pct list count 0; +ls: cannot access '/root/.gitea-token': No such file or directory +ls: cannot access '/root/bake-run.sh': No such file or directory +ls: cannot access '/root/bake.log': No such file or directory +qemu processes: 0 +VM off; disk reverted to virgin diff --git a/documentation/tests/golden-0.311.0-2026-10-14/README.md b/documentation/tests/golden-0.311.0-2026-10-14/README.md new file mode 100644 index 00000000..c83bcfd1 --- /dev/null +++ b/documentation/tests/golden-0.311.0-2026-10-14/README.md @@ -0,0 +1,37 @@ +# Golden 0.311.0 — bake + publish, 2026-10-14 (operator: „1 yes" — the Immich repair to every box) + +Why: controller 0.311.0 (the Immich repair after a power cut, R-1007) reaches the N100 and Tester 1 by the GLOBAL floor, +and a global floor wants a vouched golden at that version. Procedure: `documentation/runbooks/RUNBOOK-manual-build.md` +§4.0 and §4.1 steps 1–4, in the drill VM on DooPlex. The script came from CC's own clean clone of `felhom-agent` at +`origin/main` (`9b749ee7`), not from the shared checkout. + +| | Previous (`../golden-0.310.0-2026-10-14/`) | This bake | +|---|---|---| +| `build-golden.sh` | v3.2.0 | same file, unchanged | +| Controller | `felhom-controller:0.310.0` (MinAgent 0.155.0) | **`felhom-controller:0.311.0`** (**MinAgent 0.155.0**, unchanged) | +| Docker engine | approved set `os-docker-20261004-142842` | same six pairs, `GOLDEN_DOCKER_PKGS` set from the start | +| Template | `debian-13-standard_13.6-1_amd64.tar.zst` | same (after `pveam update`; `_amd64` filtered) | + +## Pass markers (from `bake.log`, this folder) + +``` +[golden] build-golden.sh v3.2.0 — baking controller gitea.dooplex.hu/admin/felhom-controller:0.311.0 +[golden] Docker engine set PINNED to the approved release: containerd.io=2.3.6-1~debian.13~trixie … docker-ce=5:29.8.2-1~debian.13~trixie … + docker OK (overlay2; data-root /var/lib/docker) +INFO: including mount point rootfs ('/') in backup +INFO: including mount point mp0 ('/var/lib/felhom') in backup +[golden] upload OK (HTTP 201) +GOLDEN_VERSION=0.311.0 +GOLDEN_SHA256=efe5f02ef1a03c1ec28f77820190c2ce137a749d1c7ba3eff59f2299ac74b41e +``` + +No `excluding`, no `FATAL`, no `GOLDEN_DOCKER_PKGS not set`; the unit `Result=success`. Round trip: the registry's file +downloaded and hashed = the bake's sha, 649,945,423 bytes (`02-round-trip.txt`). Token: the unit's properties grep = 0; +the committed log grep = 0, with a working control (= 1 on a copy with the token appended, the copy shredded). +Teardown: `03-teardown.txt`. + +## Vouch — the operator's act + +Three fields together (runbook §4.1 step 5): golden **0.311.0**, agent **0.156.1** (NOT the `0.156.1-step1` entry, +R-1011), min_agent **0.155.0** (0.311.0's MinAgent). Then the global floor 0.311.0 / 0.155.0 (a separate save, after +the manifest), then clear demo-hp's own floor. diff --git a/documentation/tests/golden-0.311.0-2026-10-14/bake.log b/documentation/tests/golden-0.311.0-2026-10-14/bake.log new file mode 100644 index 00000000..dc424f09 --- /dev/null +++ b/documentation/tests/golden-0.311.0-2026-10-14/bake.log @@ -0,0 +1,344 @@ +[golden] build-golden.sh v3.2.0 — baking controller gitea.dooplex.hu/admin/felhom-controller:0.311.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: 550be735-0c61-4482-81eb-4a7f8603d6b3 +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: bb5422c1-d6ca-406f-b434-f8fa56ada58b +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, 119MiB/s) +Detected container architecture: amd64 +Creating SSH host key 'ssh_host_ed25519_key' - this may take some time ... +done: SHA256:BnQ+YHebl4E2gaBDsmy6hR91awrMoW5G0HKnkXPgllI root@felhom-golden +Creating SSH host key 'ssh_host_ecdsa_key' - this may take some time ... +done: SHA256:iKJNhn5AzdFcFvklXcjcveOBB9jD22vKg7W+Nk8LJAc root@felhom-golden +Creating SSH host key 'ssh_host_rsa_key' - this may take some time ... +done: SHA256:dqpkLY9QRe7sbMBWOXsuLC3URyBtIz2anBqDdHeOdG8 root@felhom-golden +[golden] starting + installing Docker (official repo, trixie channel) … +[golden] Docker engine set PINNED to the approved release: containerd.io=2.3.6-1~debian.13~trixie docker-buildx-plugin=0.37.1-1~debian.13~trixie docker-ce=5:29.8.2-1~debian.13~trixie docker-ce-cli=5:29.8.2-1~debian.13~trixie docker-ce-rootless-extras=5:29.8.2-1~debian.13~trixie docker-compose-plugin=5.6.0-1~debian.13~trixie +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 + installed: containerd.io 2.3.6-1~debian.13~trixie + installed: docker-buildx-plugin 0.37.1-1~debian.13~trixie + installed: docker-ce 5:29.8.2-1~debian.13~trixie + installed: docker-ce-cli 5:29.8.2-1~debian.13~trixie + installed: docker-ce-rootless-extras 5:29.8.2-1~debian.13~trixie + installed: docker-compose-plugin 5.6.0-1~debian.13~trixie +[golden] no approved guest release given - the template versions stay; first-night count vs an approved release: n/a +[golden] pending Debian upgrades in the baked guest (what a FUTURE approval may bring): 56 +[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: Verifying Checksum +4f55086f7dd0: Download complete +4f55086f7dd0: Pull complete +Digest: sha256:11a3eb1597e864c51b3f56733cb2e8a90bf0c284bfc05f9444d81c558bc848aa +Status: Downloaded newer image for hello-world:latest + docker OK (overlay2; data-root /var/lib/docker) + live-restore: on + /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.311.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.311.0: Pulling from admin/felhom-controller +774043ccc8cc: Pulling fs layer +ab6b448d4be9: Pulling fs layer +23a5bfa58353: Pulling fs layer +862a57157567: Pulling fs layer +f07e09707a16: Pulling fs layer +1bbe32b214e3: Pulling fs layer +862a57157567: Waiting +f07e09707a16: Waiting +1bbe32b214e3: Waiting +ab6b448d4be9: Verifying Checksum +ab6b448d4be9: Download complete +774043ccc8cc: Verifying Checksum +774043ccc8cc: Download complete +23a5bfa58353: Verifying Checksum +23a5bfa58353: Download complete +862a57157567: Verifying Checksum +862a57157567: Download complete +f07e09707a16: Verifying Checksum +f07e09707a16: Download complete +1bbe32b214e3: Verifying Checksum +1bbe32b214e3: Download complete +774043ccc8cc: Pull complete +ab6b448d4be9: Pull complete +23a5bfa58353: Pull complete +862a57157567: Pull complete +f07e09707a16: Pull complete +1bbe32b214e3: Pull complete +Digest: sha256:2a5550da5aa30d162c55e075cca1f1671338ceb23056b2dc0f6bc963a8da29ea +Status: Downloaded newer image for gitea.dooplex.hu/admin/felhom-controller:0.311.0 +gitea.dooplex.hu/admin/felhom-controller:0.311.0 +[golden] asking the controller which infra images it manages … +[golden] baking infra images (4): traefik:v3.7.13 cloudflare/cloudflared:2026.9.3 gtstef/filebrowser:1.5.6-stable gitea.dooplex.hu/admin/felhom-samba:1.1.0 … +v3.7.13: Pulling from library/traefik +e2de96513ba9: Pulling fs layer +b686a4f73445: Pulling fs layer +78cb21c375ca: Pulling fs layer +acb2f33459b1: Pulling fs layer +acb2f33459b1: Waiting +e2de96513ba9: Verifying Checksum +e2de96513ba9: Download complete +b686a4f73445: Verifying Checksum +b686a4f73445: Download complete +acb2f33459b1: Verifying Checksum +acb2f33459b1: Download complete +e2de96513ba9: Pull complete +78cb21c375ca: Verifying Checksum +78cb21c375ca: Download complete +b686a4f73445: Pull complete +78cb21c375ca: Pull complete +acb2f33459b1: Pull complete +Digest: sha256:24841fe2de7304c149343d877d2923b4c8800a38ba015dea9174c23b20e344a0 +Status: Downloaded newer image for traefik:v3.7.13 +docker.io/library/traefik:v3.7.13 +2026.9.3: Pulling from cloudflare/cloudflared +2cc7ee286bf3: Pulling fs layer +c172f21841df: Pulling fs layer +218cf840d0d9: Pulling fs layer +f6069939f718: 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 +c4bc6f35ff5e: Pulling fs layer +b96fe2995f90: Pulling fs layer +58c0c263dc73: Pulling fs layer +bd8962e29291: Pulling fs layer +cac2ae0193cb: Pulling fs layer +f0383d5ebc47: Pulling fs layer +b839dfae01f6: Waiting +ebddc55facdc: Waiting +c4bc6f35ff5e: Waiting +b96fe2995f90: Waiting +58c0c263dc73: Waiting +bd8962e29291: Waiting +cac2ae0193cb: Waiting +f0383d5ebc47: Waiting +f6069939f718: Waiting +d6b1b89eccac: Waiting +2780920e5dbf: Waiting +7c12895b777b: Waiting +3214acf345c0: Waiting +52630fc75a18: Waiting +dd64bf2dd177: Waiting +2cc7ee286bf3: Verifying Checksum +2cc7ee286bf3: Download complete +c172f21841df: Verifying Checksum +c172f21841df: Download complete +2cc7ee286bf3: Pull complete +f6069939f718: Verifying Checksum +f6069939f718: Download complete +d6b1b89eccac: Verifying Checksum +d6b1b89eccac: Download complete +218cf840d0d9: Verifying Checksum +218cf840d0d9: Download complete +2780920e5dbf: Verifying Checksum +2780920e5dbf: Download complete +7c12895b777b: Verifying Checksum +7c12895b777b: Download complete +c172f21841df: Pull complete +3214acf345c0: Verifying Checksum +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 +c4bc6f35ff5e: Verifying Checksum +c4bc6f35ff5e: Download complete +218cf840d0d9: Pull complete +bd8962e29291: Verifying Checksum +bd8962e29291: Download complete +b96fe2995f90: Verifying Checksum +b96fe2995f90: Download complete +58c0c263dc73: Verifying Checksum +58c0c263dc73: Download complete +cac2ae0193cb: Verifying Checksum +cac2ae0193cb: Download complete +f6069939f718: Pull complete +d6b1b89eccac: Pull complete +f0383d5ebc47: Verifying Checksum +f0383d5ebc47: Download complete +2780920e5dbf: Pull complete +7c12895b777b: Pull complete +3214acf345c0: Pull complete +52630fc75a18: Pull complete +dd64bf2dd177: Pull complete +b839dfae01f6: Pull complete +ebddc55facdc: Pull complete +c4bc6f35ff5e: Pull complete +b96fe2995f90: Pull complete +58c0c263dc73: Pull complete +bd8962e29291: Pull complete +cac2ae0193cb: Pull complete +f0383d5ebc47: Pull complete +Digest: sha256:072c067d25ccbe61d46e18f0d0723255f2bb5304f7317caa95b27031520ff92c +Status: Downloaded newer image for cloudflare/cloudflared:2026.9.3 +docker.io/cloudflare/cloudflared:2026.9.3 +1.5.6-stable: Pulling from gtstef/filebrowser +55afa1ecc21d: Pulling fs layer +8ed8f35f8d4f: Pulling fs layer +989b226a579c: Pulling fs layer +660aeead31d5: Pulling fs layer +4f4fb700ef54: Pulling fs layer +adce24567e4c: Pulling fs layer +f17ea56b313b: Pulling fs layer +6b6f3b3efe88: Pulling fs layer +4ed1ca4f3fce: Pulling fs layer +e6fc9c6a5757: Pulling fs layer +d47782d1182a: Pulling fs layer +6b6f3b3efe88: Waiting +4ed1ca4f3fce: Waiting +e6fc9c6a5757: Waiting +d47782d1182a: Waiting +4f4fb700ef54: Waiting +adce24567e4c: Waiting +f17ea56b313b: Waiting +660aeead31d5: Waiting +55afa1ecc21d: Verifying Checksum +55afa1ecc21d: Download complete +660aeead31d5: Verifying Checksum +660aeead31d5: Download complete +989b226a579c: Verifying Checksum +989b226a579c: Download complete +4f4fb700ef54: Verifying Checksum +4f4fb700ef54: Download complete +55afa1ecc21d: Pull complete +f17ea56b313b: Verifying Checksum +f17ea56b313b: Download complete +6b6f3b3efe88: Verifying Checksum +6b6f3b3efe88: Download complete +8ed8f35f8d4f: Verifying Checksum +8ed8f35f8d4f: Download complete +adce24567e4c: Verifying Checksum +adce24567e4c: Download complete +4ed1ca4f3fce: Verifying Checksum +4ed1ca4f3fce: Download complete +d47782d1182a: Verifying Checksum +d47782d1182a: Download complete +e6fc9c6a5757: Verifying Checksum +e6fc9c6a5757: Download complete +8ed8f35f8d4f: Pull complete +989b226a579c: Pull complete +660aeead31d5: Pull complete +4f4fb700ef54: Pull complete +adce24567e4c: Pull complete +f17ea56b313b: Pull complete +6b6f3b3efe88: Pull complete +4ed1ca4f3fce: Pull complete +e6fc9c6a5757: Pull complete +d47782d1182a: Pull complete +Digest: sha256:7c5d7ac8ffda31294d278063cf9d2e04303b39e6dce1f4c691342240ca7703b8 +Status: Downloaded newer image for gtstef/filebrowser:1.5.6-stable +docker.io/gtstef/filebrowser:1.5.6-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: 619MB +INFO: Finished Backup of VM 9100 (00:00:30) +[golden] DONE. golden archive volid: local:backup/vzdump-lxc-9100-2026_10_14-19_13_21.tar.zst (rootfs 32G + ONE data volume 24G @ /var/lib/felhom, all in the archive) +[golden] publishing golden (649945423 bytes, sha256 efe5f02ef1a03c1e…) → https://gitea.dooplex.hu/api/packages/admin/generic/felhom-golden/0.311.0/golden.tar.zst +[golden] pre-delete existing: HTTP 404 (404/204 expected) +[golden] upload OK (HTTP 201) +GOLDEN_VERSION=0.311.0 +GOLDEN_SHA256=efe5f02ef1a03c1ec28f77820190c2ce137a749d1c7ba3eff59f2299ac74b41e +[golden] Record in the hub operator UI (Configs → Day-0 artifacts): golden 0.311.0 / efe5f02ef1a03c1ec28f77820190c2ce137a749d1c7ba3eff59f2299ac74b41e +[golden] (the build guest 9100 is stopped; destroy it with: pct destroy 9100 --purge) diff --git a/documentation/tests/golden-waiver.yml b/documentation/tests/golden-waiver.yml index 9b66937f..4d00e3ef 100644 --- a/documentation/tests/golden-waiver.yml +++ b/documentation/tests/golden-waiver.yml @@ -9,6 +9,8 @@ # (golden 0.309.0, baked 2026-10-13); the next weekly bake is due 2026-10-20. The bake and its vouch are the operator's # acts (the R-998 task fences them). No drill or fresh install is planned before then. Not a bypass: dated, capped at # the weekly due date. +# 2026-10-14: goldens 0.310.0 and 0.311.0 were baked the same day (`golden-0.311.0-2026-10-14/`), so the golden is at +# the newest controller and this waiver covers nothing today. It stays until its date for a release before the next bake. issued: 2026-10-13 expires: 2026-10-20 reason: pre-customer development; goldens on a weekly cadence (operator ruling 2026-09-13)