installer v1.15.0: DR-tier-by-default sweep (F-7 pbs-apply, F-10 age, F-9 wg default-on, F-1 single version + hub const, F-2 dry-run auth, F-8 rotation pointer, ACL felhom-pbs kept) + hostinstall_gates.py
Claude-Session: https://claude.ai/code/session_01NptTCFtu7dz2Ru89qHRagN
This commit is contained in:
@@ -1,5 +1,40 @@
|
||||
# Felhom scripts — Changelog
|
||||
|
||||
## felhom-host-install v1.15.0 — DR-tier-by-default: uniform DR plumbing on every install (2026-07-12)
|
||||
|
||||
Sweeps the DRILL-day0-vm-2026-07-12 installer findings so the next Day-0 runs the drill's §5
|
||||
sequence with zero fix-and-continue stops. Operator decisions 2026-07-12: capability is BAKED
|
||||
uniformly; activation is a hub flag; WG is base infrastructure.
|
||||
|
||||
- **F-7** — ships `/usr/local/sbin/felhom-pbs-apply` (fetch `configs/felhom-pbs-apply` from the
|
||||
agent repo, `bash -n`, install 0755 — the mkfs/selfupdate wrapper pattern). The FELHOM_PBSDR
|
||||
sudoers alias already shipped; the 3 `pbsdr-*` capabilities are no longer born DEGRADED.
|
||||
Uninstall removes it (disclosure↔uninstall parity kept, harness GL4-D green).
|
||||
- **F-10** — installs the `age` package (escrow-ceremony identity-wrap dependency; a fresh-box
|
||||
ceremony died on it live).
|
||||
- **F-9 / decision 5** — the rendered agent.json now defaults `wg_tunnel.enabled: true` in BOTH
|
||||
modes (WG is base infrastructure like cloudflared, also the future OOB transport; setdefault —
|
||||
a deliberately-disabled preserved config is respected). The byo wg-off config assert is
|
||||
RETIRED; byo consent = the typed disclosure ack (the WG tunnel + pbs-apply wrapper + age are
|
||||
now on the disclosed list) + the tester-agreement disclosure line.
|
||||
- **ACL** — the default `--acl-storages` set keeps `felhom-pbs` (drill-proven: narrowing it 403s
|
||||
the PBS-DR apply-bridge at `/storage/felhom-pbs`); a missing felhom-pbs storage is now an
|
||||
expected-pre-tier INFO, and no longer a byo refusal (the tier creates the storage later).
|
||||
- **F-1** — single version source: `SCRIPT_VERSION` alone feeds `-h`, the run banners, and (via a
|
||||
gate cross-check) the hub Setup-tab const `hostInstallVersion` (bumped 1.12.0→1.15.0 in the
|
||||
same commit). The header no longer carries its own version literal.
|
||||
- **F-2** — dry-run fetch lines print the REAL auth mode (`curl (anonymous …)` vs `curl -u <git>`)
|
||||
instead of the hardcoded `-u <git>` lie on the anonymous branch.
|
||||
- **F-8** — step 4b + the final summary now say out loud that root@pam was rotated + vaulted and
|
||||
where to retrieve it (pointer only, never the credential).
|
||||
- **New gate: `scripts/hostinstall_gates.py`** — mechanical grep-assertions (version single-source
|
||||
+ hub-const sync, age, pbs-apply ship+uninstall, wg default-on + byo-assert retirement,
|
||||
felhom-pbs in the default ACL). All red-proofed; the age assertion was hardened TWICE by its
|
||||
red-proof (a prefix regex matched `agekit`, then a loose one matched the dry-run print line).
|
||||
- F-3 (root-owned `guests/` parents) is fixed at its creator — the AGENT (v0.86.0); this pass
|
||||
applied the drill's live-fix (chown the two parent dirs) to felhom-pve, which had the same
|
||||
latent state. Peti's host: unreachable, check deferred.
|
||||
|
||||
## felhom-host-install v1.14.0 — deployment_mode from --mode (appliance self-heal gate) (2026-07-12)
|
||||
|
||||
- The agent-config writer now templates the top-level **`deployment_mode`** field from `--mode`
|
||||
|
||||
Reference in New Issue
Block a user