apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: ghostfolio-db
  namespace: ghostfolio

spec:
  imageName: ghcr.io/cloudnative-pg/postgresql:17.2
  instances: 3

  storage:
    size: 1Gi
    storageClass: local-path

  bootstrap:
    initdb:
      database: ghostfolio
      owner: ghostfolio
      secret:
        name: ghostfolio-db

  postgresql:
    pg_hba:
      - host all all all md5

  backup:
    retentionPolicy: "30d"
    barmanObjectStore:
      destinationPath: "s3://halis/cloudnativepg"
      endpointURL: https://s3.legacy.halis.io
      s3Credentials:
        accessKeyId:
          name: s3-secret
          key: AWS_ACCESS_KEY_ID
        secretAccessKey:
          name: s3-secret
          key: AWS_SECRET_ACCESS_KEY
        region:
          name: s3-secret
          key: AWS_REGION
      wal:
        compression: gzip
        maxParallel: 8

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

  monitoring:
    enablePodMonitor: true