apiVersion: postgresql.cnpg.io/v1 kind: Cluster metadata: name: pg-nextcloud namespace: nextcloud spec: imageName: ghcr.io/cloudnative-pg/postgresql:16 instances: 2 resources: requests: memory: "512Mi" cpu: "50m" limits: memory: "2Gi" cpu: "500m" affinity: topologyKey: kubernetes.io/hostname storage: size: 20Gi storageClass: rook-ceph-block primaryUpdateStrategy: unsupervised postgresql: parameters: max_connections: "200" shared_buffers: "512MB" effective_cache_size: "1536MB" maintenance_work_mem: "128MB" checkpoint_completion_target: "0.9" wal_buffers: "16MB" default_statistics_target: "100" random_page_cost: "1.1" effective_io_concurrency: "200" work_mem: "2621kB" min_wal_size: "1GB" max_wal_size: "4GB" bootstrap: initdb: database: nextcloud owner: nextcloud # Backup to the VPS MinIO backup receiver. VPS_MINIO_ENDPOINT placeholder # matches infrastructure/vault/manifests/raft-snapshot-cronjob.yaml - replace # with the VPS's actual Netbird address once bootstrapped. This covers the # DB only - file PVC content is separate, see nextcloud-pvc-sync-cronjob.yaml. backup: barmanObjectStore: destinationPath: s3://cnpg-backups/pg-nextcloud endpointURL: http://vps-minio.netbird.internal:30900 s3Credentials: accessKeyId: name: vps-minio-secret key: accesskey secretAccessKey: name: vps-minio-secret key: secretkey wal: compression: gzip maxParallel: 2 retentionPolicy: "30d" monitoring: enablePodMonitor: true