tidaldb/k8s/poddisruptionbudget.yaml
jx12n 1092d34c39 feat: kubernetes deployment, OpenAPI spec, guides, and docker consolidation
- Add k8s/ manifests (StatefulSet, kustomize, PDB, ServiceMonitor) + docs/runbooks/kubernetes.md
- Add tidal-server/src/openapi.rs (utoipa OpenAPI spec) and wire into router
- Add docs/guides/ (build-a-feed-app, embeddings, server-deployment) + foryou_feed example
- Consolidate tidal/docker/ into root docker/ (single canonical home)
- Update API.md, QUICKSTART.md, README.md, CLAUDE.md, check-docs.sh accordingly
2026-06-09 17:06:34 -06:00

21 lines
838 B
YAML

# 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