# Durable result sink for the 30-night soak (GA bar: nightly suite green 30 # consecutive days — docs/planning/milestone-11/phase-9.md "Exit gate"). # # longhorn-rwx: RWX so the nightly soak CronJob pods (writers) and the always-on # soak-monitor (reader + evaluator) can mount it concurrently, and Retain reclaim # policy so the 30 nights of JSON summaries survive a PVC delete / job churn / # operator session ending. Each night writes /results/soak-YYYY-MM-DD.json + # appends one line to /results/ledger.tsv; the monitor appends restarts.tsv every # 5 min and the evaluator rewrites streak.tsv. # # SIZING (30-night budget): 30 × soak-*.json (per-stage latency histograms, up to # ~30 MiB each on a full run) ≈ 1 GiB, + restarts.tsv (288 samples/day × 3 pods × # 30 nights ≈ 26k rows ≈ a few MiB) + ledger/streak (KiB). 5Gi gives ~2× headroom. # The evaluator container PRUNES soak-*.json older than 31 days each loop so the # Retain volume stays bounded across successive windows (it never auto-shrinks). # # Apply: kubectl apply -f tidal-stress/k8s/soak-results-pvc.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: tidal-soak-results namespace: tidaldb-cluster labels: app.kubernetes.io/name: tidal-soak app.kubernetes.io/part-of: tidaldb backup.orchard9.ai/class: protected backup.orchard9.ai/method: velero-kopia spec: accessModes: - ReadWriteMany storageClassName: longhorn-rwx resources: requests: storage: 5Gi