# A single-node DB cannot stay available across a voluntary disruption (node
# drain / autoscaler scale-down) — there is no second replica to serve while
# the pod reschedules. This PDB makes that explicit: `maxUnavailable: 0` blocks
# VOLUNTARY evictions so a drain cannot kill tidalDB without an operator first
# scaling it down or accepting the downtime. It does NOT protect against
# involuntary loss (node crash) — for that you need durable PVC storage + the
# recovery path in docs/ops/recovery.md. Zero-downtime requires true
# multi-process HA, which is not yet available (tracked as m8p10).
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: tidaldb
  namespace: tidaldb
  labels:
    app.kubernetes.io/name: tidaldb
spec:
  maxUnavailable: 0
  selector:
    matchLabels:
      app.kubernetes.io/name: tidaldb
