Files
felhom.eu/REPORT.md
T
admin 41f2d2b5da hub v0.7.3: ingest agent backups + restore_tests (slice 6 Phase A)
Accept + persist the now-populated host-report backups/restore_tests. Mirror structs in
hostReportPayload; persisted via report_json (no schema change); a FAILED restore-test is
logged prominently (loudest DR signal). Shared golden updated byte-identical with
felhom-agent; bidirectional key-set tests added. Build/deploy deferred (backward-compatible).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 13:56:18 +02:00

1.9 KiB

felhom.eu — task reports

Overwrite this file with a summary of the most recent task only (uniform with the other repos; not cumulative). The cumulative hub history lives in hub/CHANGELOG.md.


REPORT — Hub: ingest agent backups + restore_tests (v0.7.3) (2026-06-09)

Outcome

Code committed + pushed (changelogged as v0.7.3); image build/deploy deferred to an operator decision. The felhom-agent slice-6 Phase A work populates the host-report's backups + restore_tests. This change is the hub half: accept + persist them. Minimal — the authoritative backup policy is hub-owned (slice 10); this mirrors what the agent reports.

What landed (hub/internal/api/handler.go, host_test.go, golden)

  • hostReportPayload gains hostBackup / hostRestoreTest mirror structs matching the agent's hub.Backup / hub.RestoreTest field-for-field.
  • Persistence via the existing report_json column (no schema change). The handler logs a FAILED restore-test prominently ([WARN] — the loudest DR signal) and a failed backup; the host-report info line counts backups + restore-tests.
  • The shared testdata/host-report.golden.json now carries a populated backups[0] / restore_tests[0], byte-identical with felhom-agent's copy.
  • TestHostBackup_GoldenContract / TestHostRestoreTest_GoldenContract are the hub half of the bidirectional key-set test. go test ./internal/api/ ./internal/store/ is green.

Backward compatibility

An agent that omits/empties backups/restore_tests is accepted unchanged. The legacy controller report path is untouched (frozen until the slice-10 cutover).

Deploy

Per the GitOps flow (CLAUDE.md): build+push gitea.dooplex.hu/admin/felhom-hub:v0.7.3, bump manifests/hub.yaml, commit, then sync the felhom ArgoCD app. Deferred at this checkpoint — the change is backward-compatible, so the live hub (v0.7.2) keeps ingesting host-reports fine until then.