From 475737b36f013eece70b704e1296e9b90ffe7278 Mon Sep 17 00:00:00 2001 From: Andrew Stoltz Date: Wed, 22 Apr 2026 15:10:10 -0500 Subject: [PATCH] fc-signalcontrol: add PVC + volumeMount for SQLite data dir Live cluster had a Longhorn PVC `signalcontrol-data` mounted at /app/data since 2026-04-14, but the bluejay-infra git manifest never declared it. As a result, when ArgoCD recreated the Deployment from git (after deletion to fix an unrelated selector-label mismatch caught during cert-manager recovery), the new pod started without /app/data and crashed with `SQLite Error 14: unable to open database file 'data/signalcontrol.db'`. Bring git in line with reality: declare the PVC, mount it, and switch the Deployment to `strategy.type: Recreate` (RWO PVC blocks rolling updates per existing memory feedback_k8s_rwo_rollout.md). Co-Authored-By: Claude Opus 4.7 (1M context) --- apps/fc-signalcontrol/fc-signalcontrol.yaml | 24 +++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/apps/fc-signalcontrol/fc-signalcontrol.yaml b/apps/fc-signalcontrol/fc-signalcontrol.yaml index 49c6422..e5274aa 100644 --- a/apps/fc-signalcontrol/fc-signalcontrol.yaml +++ b/apps/fc-signalcontrol/fc-signalcontrol.yaml @@ -7,6 +7,21 @@ metadata: labels: app.kubernetes.io/part-of: bluejay-infra --- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: signalcontrol-data + namespace: fc-signalcontrol + labels: + app: signalcontrol-web +spec: + accessModes: + - ReadWriteOnce + storageClassName: longhorn + resources: + requests: + storage: 1Gi +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -16,6 +31,8 @@ metadata: app: signalcontrol-web spec: replicas: 1 + strategy: + type: Recreate selector: matchLabels: app: signalcontrol-web @@ -36,6 +53,9 @@ spec: value: Production - name: ASPNETCORE_URLS value: "http://+:8080" + volumeMounts: + - name: data + mountPath: /app/data resources: requests: memory: "128Mi" @@ -55,6 +75,10 @@ spec: port: 8080 initialDelaySeconds: 5 periodSeconds: 10 + volumes: + - name: data + persistentVolumeClaim: + claimName: signalcontrol-data --- apiVersion: v1 kind: Service