disaster-control/BackupPickupQueue.md
tegwick b59b9a565c Complete DISCTL-WP-0003-T03 through T05
Add RTO-RPO matrix, backup pickup queue tracker, and TestEvidence
with Forgejo drill import. Mark T03, T04, T05 done.
2026-07-07 19:58:21 +02:00

82 lines
No EOL
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Backup Pickup Queue
**Updated:** 2026-07-07
**Owner:** Bernd (`disaster-control` tracks; implementation in owner repos)
**Source:** `history/2026-07-04-forgejo-backup-strategy-assessment.md` pickup queue
**Review cadence:** Monthly, or when a cross-repo workplan closes
When an item reaches `done`, update `AssetRegister.yaml`, `DataRegister.yaml`,
`BackupPolicy.md`, and `RTO-RPO-Matrix.md` to reflect the new posture.
---
## Queue
| # | Item | Owner repo | Blocker | Status | Last checked | Evidence |
| --- | --- | --- | --- | --- | --- | --- |
| 1 | Backup destination + retention decision | `railiance-infra` / T02 | — | **done** | 2026-07-09 | `the-custodian/docs/forgejo-production-decisions.md` — Option A: Nextcloud WebDAV, 14 daily + 4 weekly, age encrypt |
| 2 | CNPG `ScheduledBackup` on `forgejo-db` | `railiance-platform` | #1 done; Phase 1 uses logical pg_dump per decision (WAL deferred) | **open** | 2026-07-07 | No `ScheduledBackup` CR found; `helm/forgejo-db-cluster.yaml` has storage only |
| 3 | Scheduled `forgejo dump` → age → upload | `railiance-platform` | #1 done; needs cron + Nextcloud wiring | **open** | 2026-07-07 | Restore proven (T09); no CronJob. Owner shifted to platform per 2026-07-09 decision |
| 4 | Restore `tools/cmd/railiance-backup` to platform | `railiance-platform` | Relocation cancelled (RAIL-PL-WP-0001-T05); needs re-implementation | **open** | 2026-07-07 | `make backup` references missing `tools/cmd/railiance-backup` |
| 5 | Gitea pre-cutover snapshot runbook + evidence | `railiance-infra` / `railiance-apps` | No automated Gitea backup today | **open** | 2026-07-07 | Safety contract requires fresh dump before each migration wave; no runbook evidenced |
| 6 | `apps-pg` backup coverage | `railiance-platform` | CNPG ScheduledBackup not configured | **open** | 2026-07-07 | `railiance-platform/docs/apps-pg.md` — follow-up note; blocks app production-trust gates |
---
## Status legend
| Status | Meaning |
| --- | --- |
| `open` | Not started or no implementation evidenced |
| `in_progress` | Active workplan or PR in flight |
| `done` | Implemented, verified, registers updated |
| `deferred` | Explicitly postponed with decision record |
---
## Promotion gate (from BackupPolicy.md §7)
Tier-3 repo cutovers remain blocked until:
1. Items **3** and **4** (or equivalent platform lane) deliver automated daily backups.
2. **7 consecutive days** of successful daily runs.
3. One restore drill uses a **Nextcloud artifact** (not workstation `/tmp`).
Current gate status: **not met** — item 3 open, item 4 open.
---
## Notes
### Item 1 — closed 2026-07-09
Operator chose Option A: extend the existing Railiance platform backup lane
(age + Nextcloud WebDAV). Recorded in `BackupPolicy.md` §7 and
`RTO-RPO-Matrix.md`.
### Item 2 — scope clarification
2026-07-09 decision explicitly defers CNPG WAL/PITR to Phase 2. Phase 1 uses
daily logical `pg_dump` from `forgejo-db` (overlaps item 3). A
`ScheduledBackup` CR may still be valuable later but is not the Phase 1 gate.
### Item 3 — owner correction
Assessment originally assigned scheduled `forgejo dump` to `railiance-apps`.
2026-07-09 decision assigns cron, encrypt, upload, and retention to
`railiance-platform`. `railiance-apps` constraint: no backup secrets in Git.
### Item 4 — re-implementation path
The old `railiance-backup` script still exists in `railiance-cluster/tools/cmd/`
(dev-workstation scope). Platform needs a new or relocated tool covering
PostgreSQL HA, Valkey, and Forgejo lane uploads. See
`railiance-platform/workplans/archived/RAIL-PL-WP-0001-platform-baseline.md` T05.
---
## Review log
| Date | Reviewer | Notes |
| --- | --- | --- |
| 2026-07-07 | grok | Queue created (DISCTL-WP-0003-T04). Item 1 done. Items 26 open. |