sixfeetup / scaf

scaf provides developers and DevOps engineers with a complete blueprint for a new project using Kubernetes
BSD 3-Clause "New" or "Revised" License
71 stars 11 forks source link

Add scheduled backups to CNPG #99

Open nvernooy opened 1 year ago

nvernooy commented 1 year ago

AC:

  ...
  backup:
    barmanObjectStore:
      destinationPath: S3_BACKUP_KUSTOMIZED
      s3Credentials:
        accessKeyId:
          name: aws-creds
          key: ACCESS_KEY_ID
        secretAccessKey:
          name: aws-creds
          key: ACCESS_SECRET_KEY
      wal:
          compression: gzip
      data:
          compression: gzip
          jobs: 1
      tags:
        backupRetentionPolicy: "expire"
      historyTags:
        backupRetentionPolicy: "keep"
    retentionPolicy: "30d"

  primaryUpdateStrategy: unsupervised

  storage:
    size: 10Gi
---
apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup
metadata:
  name: scheduled-backup
spec:
  schedule: "1 0 0 * * 0"
  suspend: false
  immediate: true
  backupOwnerReference: self
  cluster:
    name: db

Tech notes For info see documentation

nvernooy commented 1 year ago

Prod backups should be performed daily

{{cookiecutter.project_slug}}/k8s/prod/kustomization.yaml

- patch: |-
    - op: replace
      path: /spec/schedule
      value: "0 0 0 * * *"
  target:
    kind: ScheduledBackup
    name: scheduled-backup