Skip to content

Runbook — Backup

Backups protect PostgreSQL, which is the source of record for tenant data, consent state, audit logs, and outbox rows. Redis and NATS are operational dependencies, but durable recovery starts from PostgreSQL plus replay/reconciliation.

Preconditions

  • Backup destination bucket and credentials are configured in the Helm values.
  • kubectl access to the target namespace.
  • Encryption keys and retention policy are approved by the customer environment.

Steps

  1. Check the scheduled backup job:
    bash
    kubectl -n finnest-prod get cronjob | grep backup
  2. Trigger an on-demand backup before high-risk maintenance:
    bash
    kubectl -n finnest-prod create job --from=cronjob/finnest-postgres-backup backup-manual-$(date +%Y%m%d%H%M)
  3. Watch completion:
    bash
    kubectl -n finnest-prod get jobs -w
  4. Confirm the backup object landed in the configured bucket and retention class.

Verification

  • Backup job exits successfully.
  • The object exists in the backup bucket with the expected timestamp.
  • Restore metadata includes database name, chart version, and source namespace.
  • At least one restore drill has succeeded within the current quarter.

Finnest Power — Open Finance Brasil + Open Insurance Brasil platform.