feat(iso): R-21 slice A — bare-metal Felhom ISO pipeline + first-boot bootstrap
scripts/iso/: a DooPlex pipeline (build-felhom-iso.sh + Dockerfile.assistant) that turns the official PVE ISO into a Felhom auto-install ISO whose first-boot stub installs a retry-forever felhom-bootstrap unit which unattended-fetches felhom-host-install.sh from the public felhom.eu/scripts channel and runs it until the host is enrolled + a guest provisioned. host-install is UNMODIFIED (invoked only). - build gates the answer on validate-answer OUTPUT text, never $? (spike S1 exit-0 trap) - stub is from-iso, fully-up, exactly-once; retry unit owns all network work (S8a) - retry-vs-resume encoded once: plain first, --resume when install state exists (v1.11.3) - secret-bearing (embeds the retrieval passphrase): supervised/single-use; env shredded on success Validated on VM 310: build gate + red-proof, disk-filter fail-safe, chain + retry, resume-decision, exactly-once, no-net retry+recovery. Terminal host-install rc-0 success operator-gated (drill customer needs the password-gated create-UI). scripts v1.16.0; ROADMAP R-21 -> in-progress. Detail in REPORT.md.
This commit is contained in:
+15
@@ -3,6 +3,21 @@
|
||||
> Created with the REUSE.md rollout (2026-07-03). Authoritative history: `hub/CHANGELOG.md` (hub),
|
||||
> `website/CHANGELOG.md`, `scripts/CHANGELOG.md`; end-of-task detail in `REPORT.md`.
|
||||
|
||||
- **2026-07-16 — R-21 SLICE A SHIPPED: bare-metal Felhom ISO pipeline (`scripts/iso/`, scripts
|
||||
v1.16.0).** A DooPlex pipeline (`build-felhom-iso.sh` + `Dockerfile.assistant`) turns the official
|
||||
PVE ISO into a Felhom auto-install ISO whose first-boot stub installs a retry-forever
|
||||
`felhom-bootstrap` unit that unattended-fetches `felhom-host-install.sh` from the public
|
||||
`felhom.eu/scripts/` channel and runs it (host-install **unmodified**). Validated on VM 310:
|
||||
build gate + red-proof, disk-filter fail-safe, stub→unit→real-fetch→invoke→retry, resume-decision,
|
||||
exactly-once, no-net retry+recovery — all GREEN. **Rulings settled:** stub is from-iso (no
|
||||
cert-rotation risk); ordering fully-up; the retry unit owns all network work. **§4.4 finding
|
||||
(shapes slice C):** the distribution URL carries no secret, but the unattended install needs the
|
||||
customer retrieval passphrase → **the slice-A ISO is secret-bearing** (supervised/single-use; the
|
||||
bootstrap shreds the env on success). OPEN: host-install rc-0 terminal success (hub-enrolled +
|
||||
guest-provisioned) is operator-gated — a drill customer needs the password-gated create-UI (a
|
||||
live-`hub.db` insert is unsafe). Slice B = physical N100 RUNBOOK; slice C = claim-pairing to
|
||||
de-secret the distributed ISO. Detail: `REPORT.md`, `documentation/audits/SPIKE-baremetal-iso-2026-07-16.md`.
|
||||
|
||||
- **2026-07-13 eve — ESCROW CEREMONY WIZARD SHIPPED (agent v0.88.0 + controller v0.127.0; this
|
||||
repo: host-install v1.16.0 + RUNBOOK rewrite).** The recovery-code ceremony is now
|
||||
customer-driveable from the controller (`/backup/escrow`): one-shot R reveal, re-stage-first,
|
||||
|
||||
Reference in New Issue
Block a user