Files
Scooby Husky a1d6091122 Fix VPS replica clusters: match home's max_connections (recovery abort)
Postgres refuses to replay WAL past a checkpoint recorded with higher
max_connections/max_wal_senders/etc than the recovering instance's own
settings: 'recovery aborted because of insufficient parameter settings:
max_connections = 100 is a lower setting than on the primary server,
where its value was 200' - confirmed live on all 3 VPS clusters (they
had no postgresql.parameters block at all, defaulting to CNPG's 100).
Copied home's full postgresql.parameters block to remove any other
potential mismatch (max_wal_senders, max_worker_processes are subject
to the same check). Bumped memory requests/limits to match home too -
shared_buffers: 512MB needs headroom the previous 256Mi/1Gi didn't have.
2026-08-17 23:15:02 -05:00

79 lines
2.3 KiB
YAML

---
# CNPG replica cluster continuously replaying WAL from home's pg-nextcloud
# (apps/nextcloud/manifests/cnpg-cluster.yaml) via VPS MinIO's
# cnpg-backups/pg-nextcloud bucket path. Same pattern as the authentik/n8n
# VPS replica clusters - see infrastructure/vps-standby/authentik/
# manifests/cnpg-cluster.yaml for the full rationale.
#
# vps-minio-secret is a plain Secret copied here manually (kubectl, not
# git):
# kubectl -n nextcloud create secret generic vps-minio-secret \
# --from-literal=accesskey=<vps minio root user> \
# --from-literal=secretkey=<vps minio root password>
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: pg-nextcloud
namespace: nextcloud
spec:
imageName: ghcr.io/cloudnative-pg/postgresql:16
instances: 1
# shared_buffers: 512MB above needs headroom - matches home's requests/limits.
resources:
requests:
memory: "512Mi"
cpu: "25m"
limits:
memory: "2Gi"
cpu: "250m"
storage:
size: 20Gi
storageClass: local-path
# See infrastructure/vps-standby/authentik/manifests/cnpg-cluster.yaml
# for why this must match home's settings (recovery aborts otherwise).
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:
recovery:
source: home-backup
externalClusters:
- name: home-backup
barmanObjectStore:
# See infrastructure/vps-standby/authentik/manifests/cnpg-cluster.yaml
# for why this override is required (serverName defaults to the
# externalClusters[].name, not the source cluster's real name).
serverName: pg-nextcloud
destinationPath: s3://cnpg-backups/pg-nextcloud
endpointURL: http://vps-minio.minio.svc.cluster.local:9000
s3Credentials:
accessKeyId:
name: vps-minio-secret
key: accesskey
secretAccessKey:
name: vps-minio-secret
key: secretkey
replica:
enabled: true
source: home-backup
monitoring:
enablePodMonitor: false