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) <noreply@anthropic.com>
This commit is contained in:
Andrew Stoltz
2026-04-22 15:10:10 -05:00
parent 3bb3801fbd
commit 475737b36f

View File

@@ -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