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
|
|
@ -1,16 +1,25 @@
|
|||
# Operator-ready CNPG backup wiring template for railiance01 production DB clusters.
|
||||
# Do not apply until platform supplies object-store credentials and destinationPath.
|
||||
# Secrets referenced below are placeholders — create them via OpenBao/operator paths.
|
||||
# CNPG backup readiness — Option A is the decided lane (RAILIANCE-WP-0015).
|
||||
#
|
||||
# Clusters covered: apps-pg, forgejo-db, net-kingdom-pg, state-hub-db
|
||||
# Active manifests: manifests/cnpg-option-a-backup.yaml
|
||||
# - CronJobs per cluster (logical pg_dump → age → Nextcloud WebDAV)
|
||||
# - ServiceAccount + RBAC for pods/exec
|
||||
# - Runner ConfigMap
|
||||
#
|
||||
# Apply sequence:
|
||||
# 1. bao login -method=oidc -path=netkingdom role=railiance-backup-workload-kv-read
|
||||
# 2. make cnpg-backup-offsite-secret-apply # Secret cnpg-backup-offsite (no private key)
|
||||
# 3. make cnpg-option-a-apply # CronJobs + RBAC
|
||||
# 4. make cnpg-logical-backup # optional immediate workstation run
|
||||
# 5. make cnpg-backup-status
|
||||
#
|
||||
# Barman ObjectStore / CNPG ScheduledBackup remains deferred (Phase 2). Do not
|
||||
# apply the commented stubs below unless platform provisions an S3 ObjectStore
|
||||
# and explicitly re-decides away from Option A.
|
||||
#
|
||||
# Clusters covered (CoulombCore databases): apps-pg, gitea-db, net-kingdom-pg, state-hub-db
|
||||
# Check posture: make cnpg-backup-status
|
||||
#
|
||||
# Apply sequence (after credentials exist):
|
||||
# 1. Create Secret cnpg-backup-s3 in namespace databases
|
||||
# 2. Uncomment and patch ObjectStore + cluster backup patches per cluster
|
||||
# 3. Apply ScheduledBackup resources
|
||||
# 4. Run restore drill in isolated namespace; record non-secret evidence
|
||||
---
|
||||
# Deferred Phase 2 — barman ObjectStore (not active)
|
||||
# apiVersion: barmancloud.cnpg.io/v1
|
||||
# kind: ObjectStore
|
||||
# metadata:
|
||||
|
|
@ -36,7 +45,7 @@
|
|||
# immediateCheckpoint: true
|
||||
# retentionPolicy: 14d
|
||||
---
|
||||
# Example ScheduledBackup for apps-pg (repeat per cluster with spec.cluster.name)
|
||||
# Deferred Phase 2 — example ScheduledBackup (not active)
|
||||
# apiVersion: postgresql.cnpg.io/v1
|
||||
# kind: ScheduledBackup
|
||||
# metadata:
|
||||
|
|
@ -49,4 +58,4 @@
|
|||
# backupOwnerReference: self
|
||||
# cluster:
|
||||
# name: apps-pg
|
||||
# immediate: true
|
||||
# immediate: true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue