--- # Postgres for the k8s Gitea (replaces the Patroni-shared DB the VM uses). Gitea # already runs on Postgres, so cutover is a plain pg dump/restore (no engine # conversion). App-user creds come from the postgres-credentials Vault secret. apiVersion: postgresql.cnpg.io/v1 kind: Cluster metadata: name: gitea-postgres namespace: gitea spec: affinity: podAntiAffinityType: preferred backup: # 30-day retention. Enforced by CNPG against the object store on each # successful base backup. retentionPolicy: 30d barmanObjectStore: # Dedicated per-cluster Ceph RGW bucket (cephrgw-operator provisions it). destinationPath: s3://cnpg-gitea endpointURL: https://s3.ceph.unkin.net # radosgw serves a Vault-PKI cert; trust the internal CA (reflected into # every namespace as the vault-ca-cert Secret). endpointCA: name: vault-ca-cert key: ca.crt # Keys minted by the ObjectStoreUser in cnpg_backup.yaml; never hardcoded. s3Credentials: accessKeyId: name: cnpg-gitea-backup-s3 key: AWS_ACCESS_KEY_ID secretAccessKey: name: cnpg-gitea-backup-s3 key: AWS_SECRET_ACCESS_KEY # Path prefix within the bucket; keep stable across restores (see docs). serverName: gitea data: compression: bzip2 jobs: 2 wal: compression: zstd maxParallel: 2 bootstrap: initdb: database: gitea encoding: UTF8 localeCType: C localeCollate: C owner: gitea secret: name: postgres-credentials enablePDB: true enableSuperuserAccess: false failoverDelay: 0 imageName: ghcr.io/cloudnative-pg/postgresql:18.1-system-trixie instances: 2 logLevel: info monitoring: customQueriesConfigMap: - key: queries name: cnpg-default-monitoring disableDefaultQueries: false enablePodMonitor: false postgresql: parameters: max_connections: "200" shared_buffers: 256MB primaryUpdateMethod: restart primaryUpdateStrategy: unsupervised replicationSlots: highAvailability: enabled: true slotPrefix: _cnpg_ synchronizeReplicas: enabled: true updateInterval: 30 resources: limits: cpu: "2" memory: 2Gi requests: cpu: 250m memory: 512Mi smartShutdownTimeout: 180 startDelay: 3600 stopDelay: 1800 storage: resizeInUseVolumes: true size: 20Gi storageClass: cephrbd-fast-delete switchoverDelay: 3600