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

  postgresql:
    parameters:
      max_connections: "150"

  managed:
    roles:
      - name: ext_pgo_admin
        ensure: present
        login: true
        superuser: true
        createrole: true
        createdb: true
        inherit: true
        connectionLimit: -1
        passwordSecret:
          name: ext-pgo-admin

  storage:
    size: 10Gi
    storageClass: hcloud-volumes

  backup:
    barmanObjectStore:
      destinationPath: "s3://1661580-backup/cnpg/gen2/"
      endpointURL: "https://fsn1.your-objectstorage.com"
      s3Credentials:
        accessKeyId:
          name: cnpg-backup-creds
          key: ACCESS_KEY_ID
        secretAccessKey:
          name: cnpg-backup-creds
          key: ACCESS_SECRET_KEY
        region:
          name: cnpg-backup-creds
          key: AWS_REGION
      wal:
        compression: snappy
    retentionPolicy: "7d"

  resources:
    requests:
      cpu: 400m
      memory: 600Mi
    limits:
      cpu: 1200m
      memory: 900Mi

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

  enablePDB: true
  monitoring:
    enablePodMonitor: true