Skip to content

Board — homelab-dr-blueprint

Ticket prefix: HDR. Live artifact: deferred (no hosted board yet — this file is the board until one exists).

Done

  • HDR-1 — Ship the blueprint to the house tool-repo standard: root README.md, TESTING.md, docs/technical/ARCHITECTURE.md (Mermaid), docs/plain/README.md, docs/technical/SECURITY.md, docs/MAKING-OF.md, this board, a Pester 5+ test suite (parse + hermetic exec + markdown link-checker + manifest sanity), and .github/workflows/ci.yml (test/churn/security). Fixed a real bug caught by the new tests (Install-K3sServer.ps1's broken subexpression) and a documentation gap (Get-K3sKubeconfig.ps1 / Teardown-K3s.ps1 missing their # REQUIRES REAL HARDWARE banners). 2026-07-08.
  • HDR-0 — Initial blueprint: council decision record, decision matrix, migration path, foundation/ addressing scripts, compose/ recommended path (stacks + 4 DR scripts + optional Swarm), kubernetes/ k3s learning lab (scripts + manifests + runbook). 2026-07-07.

Backlog (not started)

  • HDR-2 — Run the full DR loop against real Docker Desktop on this machine (backup → restore-verify → promote) and record actual timings against the RPO ≤ 1h / RTO ≤ 15 min targets in docs/pros-cons.md.
  • HDR-3 — Real multi-machine validation: static DHCP reservations on the actual router, Test-NodeResolution.ps1 across all 4 PCs, a rehearsed cross-node promote.
  • HDR-4 — k3s learning lab dry run per kubernetes/RUNBOOK.md (create → deploy → fail a node → observe reschedule → teardown) on real WSL2/VM Linux nodes.
  • HDR-5 — Replace the worker placeholder image in compose/stacks/claude-mem/docker-compose.yml with the real claude-mem worker image and a real liveness probe.
  • HDR-6 — Wire a hosted live board and update the "live artifact: deferred" line above once it exists.