railiance-apps/docs/evidence/cnpg-option-a-backup-20260722.json
tegwick 6635fdc976
Some checks failed
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Has been cancelled
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.
2026-07-22 18:00:48 +02:00

50 lines
2.1 KiB
JSON
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.

{
"workplan": "RAILIANCE-WP-0015",
"lane": "option-a",
"recorded_at": "2026-07-22T16:00:00Z",
"cluster_api": "CoulombCore databases namespace",
"rpo_target_hours": 24,
"rto_target_hours": 4,
"artifacts": {
"secret": "databases/cnpg-backup-offsite",
"secret_keys": ["NC_WEBDAV_TOKEN", "NC_WEBDAV_URL", "AGE_PUBLIC_KEY"],
"cronjobs": [
"cnpg-logical-backup-apps-pg",
"cnpg-logical-backup-gitea-db",
"cnpg-logical-backup-net-kingdom-pg",
"cnpg-logical-backup-state-hub-db"
],
"status_configmap": "databases/cnpg-option-a-status",
"last_success": {
"apps-pg": "20260722T155755Z",
"gitea-db": "20260722T155755Z",
"net-kingdom-pg": "20260722T155755Z",
"state-hub-db": "20260722T155732Z"
}
},
"uploads": [
"apps-pg/apps-pg-apps_meta-20260722T155755Z.dump.age",
"apps-pg/apps-pg-core_hub-20260722T155755Z.dump.age",
"apps-pg/apps-pg-core_hub_staging-20260722T155755Z.dump.age",
"apps-pg/apps-pg-vergabe_db-20260722T155755Z.dump.age",
"gitea-db/gitea-db-gitea-20260722T155755Z.dump.age",
"net-kingdom-pg/net-kingdom-pg-interhub-20260722T155755Z.dump.age",
"net-kingdom-pg/net-kingdom-pg-privacyidea_db-20260722T155755Z.dump.age",
"state-hub-db/state-hub-db-state_hub-20260722T155732Z.dump.age"
],
"status_command": "make cnpg-backup-status",
"status_result": "ok — all tracked clusters have healthy Option A (or barman) backup coverage",
"restore_drill": {
"cluster": "apps-pg",
"database": "vergabe_db",
"source_artifact": "apps-pg-vergabe_db-20260722T155755Z.dump.age",
"evidence": "docs/evidence/apps-pg-restore-drill-20260722T155951Z.json",
"row_gate": "195/195 pass",
"rto_note": "decrypt + isolated restore completed under 5 minutes on operator workstation"
},
"notes": [
"First success wave seeded via workstation tools/cnpg-logical-backup.sh; CronJobs schedule daily 02:3002:45 UTC.",
"AGE_PRIVATE_KEY remains OpenBao recovery escrow only — not stored in-cluster.",
"No secret values recorded in this evidence file."
]
}