apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: app-cluster
  namespace: postgres
spec:
  instances: 2

  managed:
    roles:
      - name: ext_pgo_admin
        ensure: present
        superuser: true
        createrole: true
        createdb: true

  storage:
    size: 10Gi
    storageClass: hcloud-volumes

  backup:
    barmanObjectStore:
      destinationPath: cnpg
      s3Credentials:
        accessKeyId:
          name: cnpg-backup-creds
          key: ACCESS_KEY_ID
        secretAccessKey:
          name: cnpg-backup-creds
          key: ACCESS_SECRET_KEY
    retentionPolicy: "30d"

  resources:
    requests:
      cpu: 100m
      memory: 400Mi
    limits:
      cpu: 500m
      memory: 800Mi

  affinity:
    enablePodAntiAffinity: true
    topologyKey: kubernetes.io/hostname
    podAntiAffinityType: preferred

  enablePDB: true
  monitoring:
    enablePodMonitor: true