RAILIANCE-WP-0015: Option A CNPG logical backup coverage healthy
Materialize offsite Secret from OpenBao, deploy per-cluster CronJobs, generalize multi-cluster logical backup + status health for Option A, seed encrypted uploads and restore-drill evidence; workplan finished.
This commit is contained in:
parent
374ebed349
commit
6635fdc976
11 changed files with 929 additions and 69 deletions
|
|
@ -65,11 +65,19 @@ Check current posture:
|
|||
make cnpg-backup-status
|
||||
```
|
||||
|
||||
Operator-ready barman `ObjectStore` and `ScheduledBackup` templates live in
|
||||
`manifests/cnpg-backup-readiness.yaml`. Apply only after platform supplies
|
||||
object-store credentials and retention decisions. Phase 1 platform backup lane
|
||||
may still use logical `pg_dump` for some clusters; see
|
||||
`disaster-control/BackupPickupQueue.md` item 6.
|
||||
**Option A (decided, RAILIANCE-WP-0015):** age-encrypted logical dumps →
|
||||
Nextcloud WebDAV via CronJobs in `manifests/cnpg-option-a-backup.yaml`.
|
||||
|
||||
```bash
|
||||
bao login -method=oidc -path=netkingdom role=railiance-backup-workload-kv-read
|
||||
make cnpg-backup-offsite-secret-apply # Secret from OpenBao (no private key)
|
||||
make cnpg-option-a-apply # CronJobs + RBAC
|
||||
make cnpg-logical-backup # optional immediate workstation run
|
||||
make cnpg-backup-status
|
||||
```
|
||||
|
||||
Barman `ObjectStore` / CNPG `ScheduledBackup` remain deferred (Phase 2 stubs in
|
||||
`manifests/cnpg-backup-readiness.yaml`).
|
||||
|
||||
## `vergabe-teilnahme` Gate
|
||||
|
||||
|
|
@ -81,9 +89,9 @@ Current posture (2026-07-12):
|
|||
- **Phase 1 backup lane:** `make apps-pg-backup` uploads encrypted logical dumps
|
||||
to the platform offsite lane (latest:
|
||||
`apps-pg-vergabe_db-20260711T231430Z.dump.age`);
|
||||
- **CNPG barman posture:** `make cnpg-backup-status` still reports degraded — no
|
||||
`ScheduledBackup` on production clusters as of 2026-07-10; Phase 1 logical
|
||||
lane satisfies the interim S5 gate per this handoff;
|
||||
- **CNPG Option A posture:** `make cnpg-backup-status` reports Option A
|
||||
CronJob + last-success coverage (not barman `ScheduledBackup`); see
|
||||
RAILIANCE-WP-0015 for fleet rollout;
|
||||
- **restore drill:** isolated restore with row-count gate 195/195 pass
|
||||
(`docs/evidence/apps-pg-restore-drill-20260711T230725Z.json`);
|
||||
- **S5 production-trust gate:** **satisfied for Phase 1** — backup + restore
|
||||
|
|
@ -103,8 +111,8 @@ Remaining before full production-critical promotion (post–Phase 1):
|
|||
- `vergabe-teilnahme` migration smoke on restored database;
|
||||
- health endpoint and HTTPS smoke checks after restore;
|
||||
- representative tender-management workflow verification;
|
||||
- CNPG `ScheduledBackup` wiring when platform supplies object-store credentials
|
||||
(`manifests/cnpg-backup-readiness.yaml`);
|
||||
- Option A unattended coverage for all four CNPG clusters
|
||||
(`manifests/cnpg-option-a-backup.yaml`, RAILIANCE-WP-0015);
|
||||
- any app media path remains disabled or has its own storage restore evidence.
|
||||
|
||||
## Forge Artifact Evidence
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue