- 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
21 lines
838 B
YAML
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
|