activity-core/activity-definitions/daily-cnpg-option-a-backup.md
tegwick 9a4f6a4d75
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Container Image / build-and-push (push) Successful in 1m9s
feat: enable daily CNPG Option A backup on railiance01
Wire worker kubeconfig hostPath (no PATH override), enable
daily-cnpg-option-a-backup for R01 targets, ESO already synced.
2026-07-22 20:34:22 +02:00

1.7 KiB
Raw Blame History

id name enabled owner governance status trigger context_sources
daily-cnpg-option-a-backup Daily CNPG Option A Backup true custodian-agent custodian active
type cron_expression timezone misfire_policy
cron 30 2 * * * UTC skip
type query required params bind_to
shell cnpg_option_a_backup true
backup_script dry_run timeout_seconds kubeconfig_r01 kubeconfig_core targets evidence_sinks
/opt/railiance-platform/tools/cmd/cnpg-option-a-backup false 7200 /kube/config-hosteurope /kube/config r01-forgejo-db,r01-net-kingdom-pg,r01-state-hub-db
type event_type author
state-hub-progress cnpg_option_a_backup activity-core
context.backup

Daily CNPG Option A Backup

Runs daily at 02:30 UTC (RPO 24h). Invokes railiance-platform/tools/cmd/cnpg-option-a-backup on the railiance01 activity-core worker to age-encrypt logical dumps and upload to Nextcloud.

Workplan: RAILIANCE-WP-0016 (railiance-apps).

Enable checklist

  1. Vendor tools on railiance01 hostPath tree: tools/cmd/install-cnpg-backup-vendor-tools (age + kubectl).
  2. ExternalSecret actcore-backup-offsite synced into actcore-runtime-secret (NC_WEBDAV_TOKEN, NC_WEBDAV_URL, AGE_PUBLIC_KEY).
  3. Worker mounts: /opt/railiance-platform, /kube (host kubeconfigs).
  4. CoulombCore kubeconfig present at /kube/config for Core clusters; R01 at /kube/config-hosteurope.
  5. enabled: true + make sync / schedule reconcile on railiance01.
  6. Forced run succeeds; make cnpg-backup-status stays healthy.

Starts disabled until T02T04 wiring is verified on railiance01.