0edbf0767f
None of the CNPG clusters had any backup configured, so a lost PVC or a bad migration meant permanent data loss. This adds continuous WAL archiving plus a nightly base backup to Ceph RGW for every cluster, with restore docs. - Add spec.backup.barmanObjectStore (in-tree; operator is CNPG 1.28, Barman Cloud Plugin not deployed) to each cnpg_cluster.yaml: WAL zstd, base bzip2, 30-day retention, endpointCA via the reflected vault-ca-cert. - Add cnpg_backup.yaml per app: a cephrgw ObjectStoreUser + Bucket (one dedicated s3://cnpg-<app> bucket and owner user per cluster, since cephrgw CRs and the CNPG credential Secret are namespace-scoped) and a staggered nightly ScheduledBackup. Credentials are minted by the operator; nothing is hardcoded. - Add the three ceph.unkin.net CRD schemas so kubeconform can validate the CRs. - Add docs/ (README index, cnpg-backups.md, cnpg-restore.md) covering config and full/PITR restore procedures. Claude-Session: https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv
30 lines
797 B
YAML
30 lines
797 B
YAML
---
|
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
kind: Kustomization
|
|
|
|
resources:
|
|
- namespace.yaml
|
|
- cnpg_cluster.yaml
|
|
- cnpg_backup.yaml
|
|
- cnpg_pooler.yaml
|
|
- vaultauth.yaml
|
|
- vaultstaticsecret.yaml
|
|
- grafana.yaml
|
|
- grafanadatasource.yaml
|
|
- gateway.yaml
|
|
- httproute.yaml
|
|
- dashboards/bind9-exporter-dns.yaml
|
|
- dashboards/ceph-cluster.yaml
|
|
- dashboards/frr-ospf-route-metrics.yaml
|
|
- dashboards/gitea.yaml
|
|
- dashboards/haproxy.yaml
|
|
- dashboards/media-dashboard.yaml
|
|
- dashboards/node-exporter-full.yaml
|
|
- dashboards/nzbget.yaml
|
|
- dashboards/postgresql-database.yaml
|
|
- dashboards/puppet-report.yaml
|
|
- dashboards/victorialogs-cluster.yaml
|
|
- dashboards/victoriametrics-cluster.yaml
|
|
- dashboards/victoriametrics-vmagent.yaml
|
|
- dashboards/cloudnativepg.yaml
|