41f2d2b5da
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>
39 lines
1.9 KiB
Markdown
39 lines
1.9 KiB
Markdown
# 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](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.
|