Commit Graph

  • 8fc44d8d9e docs(report): golden bakes every infra image (build tooling v2.1.0) admin 2026-07-19 10:01:11 +02:00
  • 25c30ba625 build-golden v2.1.0 — bake EVERY infra image, asked from the controller admin 2026-07-19 09:31:12 +02:00
  • f22f70ce58 docs(report): R-39 — the demo box is healed and proven admin 2026-07-18 21:00:09 +02:00
  • 9596d5a8d0 v0.90.1 — R-39 hotfix: PBS reconcile must not pass --server to pvesm set admin 2026-07-18 20:27:14 +02:00
  • f222a7b366 docs: repoint build path to /mnt/5_hdd/felhom.eu (DooPlex build root moved off SSD 2026-07-18) admin 2026-07-18 09:55:47 +02:00
  • 8208a80cc7 docs: v0.90.0 REPORT + CONTEXT + REUSE (guest RAM resize R-24 + fast-tick R-28; Phase-0 proof; deploy verified both hosts; floor = operator GO) admin 2026-07-17 19:25:54 +02:00
  • ac112c956e v0.90.0 — guest RAM resize (R-24) + fast-tick-until-convergence (R-28) admin 2026-07-17 19:09:40 +02:00
  • 9127f547f9 docs: v0.89.0 live legs PROVEN — Scenario 4 A/B train, Scenario 1 R-22 self-heal (~3s), Scenario 3 poke→tick (~31ms) admin 2026-07-17 08:32:07 +02:00
  • 9effc85a47 docs: v0.89.0 REPORT + CONTEXT (self-grant R-22, escrow live-reload, poke listener; live legs operator-gated) admin 2026-07-16 22:59:14 +02:00
  • a659e5dc09 v0.89.0: pbsdr self-grant (R-22) + escrow config live-reload + agent-plane poke listener (Direction-2a) admin 2026-07-16 22:47:22 +02:00
  • c040c180e9 docs: v0.88.0 REPORT (deploy + endpoint-exact live validation: 63/63 caps both hosts, ceremony ~4s, one-shot claim + 410, hub hash covering; red-proofs 1/2/3/6 run-fail-revert) + CONTEXT admin 2026-07-13 19:24:17 +02:00
  • 1c3a3ef9ad v0.88.0: controller-driven escrow ceremony — --output=json machine mode (escrowCeremony extraction, text mode byte-identical), the ONE fixed argv (escrow.CeremonyArgs, shared by exec+manifest+FELHOM_ESCROW sudoers, pin-tested), localapi ceremony job (single-flight, 60s) + one-shot in-memory R claim (10min TTL, unclaimed_void) + preflight; escrow-ceremony capability (Critical, pbs_dr-gated) admin 2026-07-13 19:01:11 +02:00
  • adf7882f7d docs: §13.2 wizard leg COMPLETE (offered/enrolled/formatted via operator UI + GO; pipeline-level teardown, boxes as found) + Day-0 manifest vouched 0.87.0; cross-ref the two controller bugs the leg surfaced (0.126.3/0.126.4) admin 2026-07-13 14:15:02 +02:00
  • 4e6171442f docs: v0.87.0 REPORT — deploy transcript (drill first, then felhom-pve 62/62 caps), 13.3 byte-identical regression, the live IA replay (hot-added /dev/sdb now offered; sda never), Gitea publish sha; supervised UI leg + manifest vouch remain admin 2026-07-13 13:22:24 +02:00
  • 3c174bc6f2 agent v0.87.0: SystemDisks device-mapper walk — legacy-boot hosts get a working drive wizard (IA finding 2, MEDIUM) admin 2026-07-13 13:15:03 +02:00
  • c20814e6c2 agent v0.86.0: DR-tier-by-default — capability inactive state (GatedBy/GateActive, pbsdr gate via DRConfigured) + F-3 root-run provision parent ownership admin 2026-07-12 20:06:27 +02:00
  • bcb8dad2aa agent v0.85.0: CHANGELOG + REPORT — boot/recovery plane shipped + live matrix (F12 dead, self-heal proven) admin 2026-07-12 08:26:14 +02:00
  • dbd6d4c57a test: localapi invisible-share test asserts re-arm + re-verify admin 2026-07-12 07:59:20 +02:00
  • b6300250aa F11 matrix-correction: re-arm on guest-blind (active mounts not inherited by rebooted guest — live finding) admin 2026-07-12 07:58:39 +02:00
  • 47eb0bf967 agent v0.85.0: boot/recovery plane (F12/F11/F10/F9/F2/F1) + appliance self-heal — CHANGELOG admin 2026-07-12 07:52:11 +02:00
  • 0b55a11667 test: update RemoveNetworkMount_Commands for F1 rmdir step admin 2026-07-12 07:50:48 +02:00
  • a527b29ac3 test: fix unused var in reassert test admin 2026-07-12 07:49:58 +02:00
  • bc4eda926b agent v0.85.0 WIP: F12/F11/F10/F9/F2/F1 boot-recovery plane + appliance self-heal (pre-build) admin 2026-07-12 07:48:49 +02:00
  • bec4bac076 docs: REPORT — agent 0.84.0 PUBLISHED to Gitea (anon-verified sha 2e31b9a8…); operator: manifest vouch pending admin 2026-07-11 21:48:27 +02:00
  • a8b773f892 docs: REPORT for v0.84.0 (deployed felhom-pve; Q1c reboot GREEN; equivalence proven, no sudoers widening) admin 2026-07-11 21:25:10 +02:00
  • 474b858c0b v0.84.0: ReassertNetworkMounts — NAS automount survives guest reboots (RCA fix 1) admin 2026-07-11 20:46:59 +02:00
  • 0df72ea643 docs: REPORT + CONTEXT + CLAUDE logging rule for v0.83.0 (deployed felhom-pve) admin 2026-07-11 17:18:55 +02:00
  • cb692f8788 v0.83.0: observability pass — always-DEBUG capture ring + GET /debug/logs + heartbeat log-pull + gap-fill sweep admin 2026-07-11 16:24:07 +02:00
  • 461eaf42c1 docs: REPORT v0.82.0 (version channel deployed) + REUSE version-channel seam admin 2026-07-11 15:45:04 +02:00
  • fa9c7fe198 v0.82.0: X-Felhom-Agent-Version response header — the controller capability channel admin 2026-07-11 14:51:48 +02:00
  • 1e60e88eb2 docs: REPORT for v0.81.0 (deployed; task-wide record in felhom-controller/REPORT.md) admin 2026-07-11 10:32:19 +02:00
  • added9d226 v0.81.0: NAS verify-before-commit — retry=0, journal classifier, detached verify job + auto-rollback admin 2026-07-11 09:44:06 +02:00
  • 300f06722b REPORT: v0.80.0 slice-2 deployed + adoption-proven + published; Peti phase pending admin 2026-07-11 07:26:35 +02:00
  • 3d1323cc09 pbsdr: escrow seed writes in place (config dir is root-owned; tmp+rename impossible for the non-root agent — demo live finding); recovery copy parked in the state dir admin 2026-07-10 21:59:51 +02:00
  • e5e8f3920a v0.80.0: PBS DR tier slice 2 — the apply-bridge (pbs_dr consumer, felhom-pbs-apply set-only wrapper, verify-pin-before-consume, adoption-first, loud consumed-failed, escrow seed) admin 2026-07-10 21:50:36 +02:00
  • a6e8bcb475 docs: v0.79.0 REPORT — deployed felhom-pve (56/56) admin 2026-07-09 23:25:10 +02:00
  • 301c84d9b5 v0.79.0: escrow upload carries restic_pw_sha256 (SLICE 3 auto-confirm, agent third) admin 2026-07-09 23:05:30 +02:00
  • bd9e777f41 docs: v0.78.0 REPORT — DELETE stage-secret deployed felhom-pve (56/56), live-validated admin 2026-07-09 22:47:22 +02:00
  • 98ea1ed49c v0.78.0: DELETE /escrow/stage-secret — idempotent staged-secret wipe admin 2026-07-09 22:19:10 +02:00
  • 4449118783 docs: v0.77.0 REPORT — fork-4 offsite password escrow; deployed felhom-pve (56/56 caps) admin 2026-07-09 15:19:31 +02:00
  • 0c22b9bbf3 v0.77.0: fork-4 — escrow the offsite restic repo password under R admin 2026-07-09 14:56:09 +02:00
  • 7f07393623 docs: v0.76.0 CHANGELOG + REPORT + CONTEXT (GL-5b shipped, published) admin 2026-07-08 09:55:19 +02:00
  • b1697874ec GL-5b: restore-test full-fidelity verification (v0.76.0) admin 2026-07-08 09:46:30 +02:00
  • 5a72a4b59c docs: v0.75.0 CHANGELOG + REPORT + CONTEXT (GL-5 shipped, live-validated) admin 2026-07-08 09:24:14 +02:00
  • b3446213df GL-5: DR restore passes the FULL archive layout (live finding #2) admin 2026-07-08 09:10:54 +02:00
  • 3bf0110697 GL-5: explicit rootfs override for DR restore (live-discovered PVE constraint) admin 2026-07-08 09:02:36 +02:00
  • c12b512316 GL-5: DR bring-up structural bind overrides + 4d real-bind swap admin 2026-07-08 08:48:11 +02:00
  • 4c40846769 docs: CONTEXT — v0.74.0 Gitea-published (RUNBOOK GL-1); vouch = operator step admin 2026-07-07 21:07:17 +02:00
  • ced60ddf76 docs: v0.74.0 REPORT + CONTEXT — pool re-assertion; R1 was a symptom, restore-test works live admin 2026-07-07 19:07:26 +02:00
  • ca0b169a4e feat(reconcile): re-assert pool membership after restore-over-existing (campaign-2 R2, v0.74.0) admin 2026-07-07 18:42:19 +02:00
  • e04b75e1f8 docs: v0.73.0 REPORT + CONTEXT — F2 mount-role fallback closed, live-validated admin 2026-07-06 20:41:58 +02:00
  • 7545af8a2c fix(localapi): F2 mount-role fallback — enrolled user-data drives ejectable again (v0.73.0) admin 2026-07-06 20:07:45 +02:00
  • 26664d6d51 docs(H1): v0.72.0 CHANGELOG + REPORT + CONTEXT (OOB operator access, live-validated) admin 2026-07-05 23:03:32 +02:00
  • 223c235f01 fix(felhomsshd): operator_peer_configured from belt @operator_ips (agent-readable) admin 2026-07-05 22:58:58 +02:00
  • 72d6132907 fix(felhomsshd): reachable=listener-present (belt blocks a dial); operator/key configured from persistent state admin 2026-07-05 22:57:35 +02:00
  • 2bf9354c0e fix(felhomsshd): don't empty the belt/authkeys on an unfetched block (operator lockout) admin 2026-07-05 22:51:30 +02:00
  • b99d02b7a9 fix(felhomsshd): keep the persisted port unconditionally (no self-listen flip-flop) admin 2026-07-05 22:43:22 +02:00
  • d880289b06 fix(felhomsshd): persist claimed port in agent StateDir (non-root can't write /etc) admin 2026-07-05 22:41:14 +02:00
  • a34aac64d0 feat(configs): OOB static belt table + loader unit + felhom-op sudoers (H1 Part 5) admin 2026-07-05 22:33:47 +02:00
  • 9d9e4a5ea7 test(hub): collector OOB stanza wiring (H1) admin 2026-07-05 22:30:01 +02:00
  • c983a25609 feat(felhomsshd): dedicated OOB sshd instance + port-adaptive belt (H1 Parts 2-4 agent) admin 2026-07-05 22:27:02 +02:00
  • effff53f99 feat(wgtunnel): render operator OOB /32 into wg-felhom AllowedIPs (H1 Part 1, [OF-1]) admin 2026-07-05 22:08:04 +02:00
  • 4b7c5bf128 docs(context): v0.71.0 break-glass watchdog + mgmt_plane shipped admin 2026-07-05 19:24:12 +02:00
  • 8675bff3da docs(G1): REPORT.md — break-glass agent half (v0.71.0) live-validated admin 2026-07-05 19:23:05 +02:00
  • fd4e177216 feat(mgmtplane): break-glass privsep-dir watchdog + mgmt_plane health (TASK G1) — v0.71.0 admin 2026-07-05 18:49:27 +02:00
  • 1c75a45a42 docs(context): D1 live-validated — 4 drills PASS, box on canonical v0.70.0 admin 2026-07-05 16:04:38 +02:00
  • 084fc691f5 docs(agent): D1 REPORT — v0.70.0 shipped + live-validated (happy path, ~2s crash-rollback, no-pending guard, gate refusal) admin 2026-07-05 16:04:11 +02:00
  • 915642aaaa docs(agent): D1 — README self-update section, REUSE, CHANGELOG v0.70.0, CONTEXT admin 2026-07-05 15:36:13 +02:00
  • 8033a522cd feat: D1 Part 2 — agent self-update Go plumbing (op class, opsign, executor, commit, report) admin 2026-07-05 15:32:15 +02:00
  • b7cbded429 feat(configs): D1 Part 1 — self-update host artifacts (guarded wrapper, rollback unit, limits drop-in, sudoers alias) admin 2026-07-05 15:20:37 +02:00
  • 72d7f05bf1 docs: REPORT + CONTEXT for S5 safe halves (WG-key install + directive→plan) admin 2026-07-04 21:12:19 +02:00
  • bd4bced771 dr: recovered WG-key install + host_loss directive→restore-PLAN (S5 safe halves) admin 2026-07-04 21:06:31 +02:00
  • 567cf9f401 docs: REPORT + CONTEXT for S4.1 (tier-aware deadline + teardown phantom confirmed) admin 2026-07-04 19:54:46 +02:00
  • dc70e15d28 reconcile: tier-aware restore-task deadline (S4.1 unattended offsite restore-test) admin 2026-07-04 19:45:26 +02:00
  • fee1fcfccd docs: REPORT + CONTEXT for S4 (PBS over the tunnel, live-validated) admin 2026-07-04 17:25:49 +02:00
  • 027948bf3f pbs: namespace-aware client for per-customer offsite tenancy (S4) admin 2026-07-04 16:12:15 +02:00
  • 734f45c422 wgtunnel: v4-pin + re-resolve watchdog; FELHOM_WG Critical flips (S4 agent half) admin 2026-07-04 15:47:17 +02:00
  • c618fc69f7 docs(REPORT): publish + Day-0 vouch of 0.65.0 completed (operator-assisted) admin 2026-07-04 14:15:10 +02:00
  • ef18454e65 docs: REPORT + CONTEXT for S3.1 MTU 1280 (v0.65.0 live on felhom-pve) admin 2026-07-04 14:00:20 +02:00
  • 312fd5ee29 wgtunnel: client MTU 1420 → 1280 (S3.1, resolve §4.3 open decision) admin 2026-07-04 13:57:20 +02:00
  • 03edb40fc2 docs: v0.64.0 shipped — CHANGELOG + CONTEXT + REPORT (S3 live-validated on felhom-pve) admin 2026-07-04 08:57:56 +02:00
  • e2b6c63ea2 wgtunnel: S3 Part 3 — FELHOM_WG sudoers + capabilities + config (DEFAULT OFF) + main wiring + escrow join admin 2026-07-04 07:14:33 +02:00
  • fb248961c6 wgtunnel: S3 Part 2 — manager state machine + loop + desired raw-consumer seam admin 2026-07-04 07:09:01 +02:00
  • 0daae92c4f wgtunnel: S3 Part 1 — pure-Go keygen + hub wire (WireWireguard, report stanza, RegisterWG) admin 2026-07-04 07:00:19 +02:00
  • 4ba1b144d6 docs: REPORT/CONTEXT — golden 0.98.3 rebuild validated + vouched (B5+B1 closed) admin 2026-07-03 18:38:20 +02:00
  • ceca355493 configs: build-golden.sh v2.0.0 — mandatory controller tag (B5) + bootstrap .path unit (B1) admin 2026-07-03 18:21:21 +02:00
  • c9f963d9f4 docs: REPORT/CONTEXT — v0.63.0 shipped + live-verified (B3 reload-on-miss, B2 snippets dir) admin 2026-07-03 17:26:29 +02:00
  • f31a76f788 v0.63.0: B3+B2 fresh-install fixes — TokenStore reload-on-miss + guesthook snippets dir admin 2026-07-03 15:48:24 +02:00
  • 84f3f7ddb1 docs: REPORT — v0.62.0 A1 fix shipped + live-verified (rescope → deploy → 47/47 caps, pool scan pool=felhom listed=1 scanned=1) admin 2026-07-03 13:36:08 +02:00
  • 3f37c5fc23 v0.62.0 — A1: pool-membership ownership check for the stale-lock reaper admin 2026-07-03 13:25:05 +02:00
  • 3e760a559a docs: CLAUDE.md refresh — version narrative removed, layout completed (17 pkgs + opsign), skill pointers admin 2026-07-03 11:25:56 +02:00
  • 2a024b6039 docs: REUSE.md introduced — cross-repo reuse map (exec/format-safety guards, durable-id seams, traps; docs-only, no version bump) admin 2026-07-03 09:39:32 +02:00
  • 0db09bf34f docs: REPORT — v0.61.0 audit-fix batch shipped, live-verified on felhom-pve, Gitea-published admin 2026-07-03 07:31:32 +02:00
  • 3f382bf762 v0.61.0: audit fixes B1 (random temp staging) + D1 (mkfs wrapper member/RO re-checks) + D2 (empty-lsblk fail-safe) + D3 (blank-format anti-retarget) admin 2026-07-03 07:25:50 +02:00
  • cc93dae792 docs: REPORT — v0.60.0 proof-of-launch gating shipped, live-proven, published admin 2026-07-02 10:28:18 +02:00
  • b9356d60ab v0.60.0: proof-of-launch destroy gating (F1a/b/c) + restore-test band-advance (F2) admin 2026-07-02 10:18:51 +02:00
  • 55ade9e254 docs: REPORT — add agent v0.59.0 (registry-row device+capacity) admin 2026-07-01 21:37:21 +02:00
  • 39ec76dc5a v0.59.0: resolve registry-row BackingDevice to the real /dev node admin 2026-07-01 21:35:48 +02:00
  • 5ff5f8e0ab v0.59.0: report backing device + capacity for a registry-sourced /disks row admin 2026-07-01 21:34:11 +02:00
  • b52680ab47 docs: REPORT for raw-drive first-class support (agent v0.56-0.58; live-validated) admin 2026-07-01 21:27:22 +02:00