Merge pull request 'cnpg: cap stopDelay to bound the barman-plugin failover wedge' (#18) from fix/cnpg-stopdelay-wedge-mitigation into master

Reviewed-on: gitea_admin/homelab#18
This commit was merged in pull request #18.
This commit is contained in:
2026-06-15 10:57:38 +02:00
3 changed files with 18 additions and 0 deletions
+7
View File
@@ -12,6 +12,13 @@ spec:
# -rw backendless that whole time. Capping at 10s bounds failover downtime to
# ~10-15s (fast shutdown + promotion).
smartShutdownTimeout: 10
# Bound the post-failover wedge: with the barman-cloud plugin the demoted
# primary's instance-manager deadlocks on shutdown (the native sidecar never
# terminates — upstream cloudnative-pg#9770), so the pod hangs Terminating
# until SIGKILL at terminationGracePeriodSeconds (= stopDelay). The default
# 1800s leaves the cluster at 1/2 for ~30min after every failover; 60s caps
# that to ~1min. Postgres itself is already cleanly down by ~12s.
stopDelay: 60
imageName: ghcr.io/cloudnative-pg/postgresql:16
enableSuperuserAccess: true
storage:
+6
View File
@@ -9,6 +9,12 @@ spec:
# paths, blocking replica join. Bump back to 2 once Immich's in-app
# vchord migration drops the vectors extension.
instances: 1
# See ak-pg cluster.yaml for rationale. Single-instance, so no failover, but
# the barman-plugin shutdown wedge (cloudnative-pg#9770) takes the whole DB
# down until SIGKILL — bounding terminationGracePeriod (stopDelay) matters
# even without a standby. smartShutdownTimeout keeps pod restarts quick.
smartShutdownTimeout: 10
stopDelay: 60
imageName: ghcr.io/corentingiraud/cnpg-pgvector-vectorchord:16-migration
enableSuperuserAccess: true
storage:
+5
View File
@@ -5,6 +5,11 @@ metadata:
namespace: paperless
spec:
instances: 2
# See ak-pg cluster.yaml for rationale: smartShutdownTimeout bounds failover
# downtime (the -rw backendless window); stopDelay bounds the barman-plugin
# shutdown-wedge window (cloudnative-pg#9770) from ~30min to ~1min.
smartShutdownTimeout: 10
stopDelay: 60
imageName: ghcr.io/cloudnative-pg/postgresql:16
enableSuperuserAccess: true
storage: