apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: gitea-db
  namespace: gitea
  annotations:
    cnpg.io/skipEmptyWalArchiveCheck: enabled
spec:
  instances: 1
  imageName: ghcr.io/cloudnative-pg/postgresql:15

  bootstrap:
    recovery:
      source: gitea-db

  backup:
    barmanObjectStore:
      destinationPath: "s3://forgejo/"
      endpointURL: "http://s3-minio.s3.svc.cluster.local:9000"
      s3Credentials:
        accessKeyId:
          name: bucket
          key: accesskey
        secretAccessKey:
          name: bucket
          key: secretkey
      wal:
        compression: gzip
        #encryption: AES256
      data:
        compression: gzip
        #encryption: AES256
    retentionPolicy: "90d"
  #
  resources:
    requests:
      memory: "64Mi"
      cpu: "50m"
    # limits:
    #   memory: "1Gi"
    #   cpu: "1"

  storage:
    size: 10Gi

  externalClusters:
    - name: gitea-db
      barmanObjectStore:
        destinationPath: "s3://forgejo/"
        endpointURL: "http://s3-minio.s3.svc.cluster.local:9000"
        s3Credentials:
          accessKeyId:
            name: bucket
            key: accesskey
          secretAccessKey:
            name: bucket
            key: secretkey
        wal:
          maxParallel: 8
---
apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup
metadata:
  name: gitea-db-backup
  namespace: gitea
spec:
  schedule: "0 0 * * * *"
  backupOwnerReference: self
  cluster:
    name: gitea-db