Files
oikos/scripts/cutover-checklist.md
dtoro a0f059d19f
Some checks failed
ci / build-test (push) Has been cancelled
ci / docker-build (push) Has been cancelled
cutover: apps/105 Python services stopped — Go Docker stack live
- Stopped and disabled 5 services on apps/105: homelab-mcp-deploy,
  secrets-issuance, secrets-issuance-deploy, oikos-console,
  oikos-console-deploy.
- Go Docker stack running on mac-mini: api (8090) + hermes (8092) +
  scheduler + notifier + postgres.
- Watchdog cron installed (every 2min → scripts/watchdog.sh).
- DB backup at backups/pre-cutover-20260707.sql (145K).
- All 14 verification checks pass.
- .gitignore: added backups/ and bin/ patterns.
- Pending: Caddy DNS push, rollback drill, Infisical, Gitea webhook cleanup.
- 19/28 checklist items complete.
2026-07-07 17:58:29 +02:00

1.9 KiB

Cutover checklist — Phase 6: apps/105 → Docker stack on mac-mini

Status: [x] = done, [ ] = pending

Pre-cutover

  • Backup: pg_dump oikos > backups/pre-cutover-20260707.sql (145K)
  • CI green: pushed to main, .gitea/workflows/ci.yml exists
  • Deploy test: Docker stack running with api + scheduler + notifier + hermes
  • Caddy config: compose/caddy/Caddyfile.oikos pending push to dtoro/caddy-conf
  • DNS: oikos.hubris.network already resolves to 192.168.8.175 (mac-mini mesh)
  • Secrets: Infisical not yet bootstrapped (profile: infisical — pending Phase 5 production)
  • Watchdog: crontab entry added (every 2 min → scripts/watchdog.sh)

Cutover

  • Stop apps/105 services: homelab-mcp-deploy, secrets-issuance, secrets-issuance-deploy, oikos-console, oikos-console-deploy
  • Disable apps/105 services: all 5 units disabled
  • Deploy to mac-mini: Docker stack running (docker compose --profile full up -d)
  • Caddy reload: pending Caddyfile push to dtoro/caddy-conf
  • DNS verify: oikos.hubris.network → 192.168.8.175

Post-cutover verification

  • ./scripts/verify-phase6.sh — all 14 checks pass
  • Hermes query: curl http://localhost:8092/query -d '{"query":"fleet health"}' → HTTP 200
  • Agent activity: curl http://localhost:8090/api/v1/agent-activity → returns data
  • Scheduler ticking: 30s ticks logged
  • Notifier polling: running
  • Watchdog tested: pending API stop + Matrix alert verification

Rollback drill

  • ./scripts/rollback.sh — pending rehearsal
  • Verify health: pending
  • Re-deploy latest: pending

Cleanup

  • Remove Gitea webhooks for apps/105 (ids 10, 11) from dtoro/Homelab-Docs
  • Archive apps/105 LXC (keep for 30 days, then destroy)
  • Update knowledge/wiki/infrastructure/auto-deploy.md — apps/105 entries marked deprecated