# LimeSurvey was originally deployed with the k3s `local-path` StorageClass, # which pinned both volumes to rpi-worker-3's local disk with # persistentVolumeReclaimPolicy: Delete. That meant the survey data lived on a # single SD-backed node and would be destroyed by deleting the PVC. Migrated to # GlusterFS 2026-09-21. # # Two separate PVCs are correct here because the app and the database run in # SEPARATE pods. (The warning in apps/tududi/storage.yaml is about declaring the # same PVC twice as two volume entries in ONE pod -- that is what wedged an # earlier limesurvey attempt. The app pod below still uses ONE volume, mounted # twice with subPath.) apiVersion: v1 kind: PersistentVolume metadata: name: limesurvey-pv spec: capacity: storage: 5Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain volumeMode: Filesystem hostPath: path: /mnt/gvolume0/limesurvey/app --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: limesurvey-app namespace: limesurvey spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi storageClassName: "" volumeName: limesurvey-pv --- apiVersion: v1 kind: PersistentVolume metadata: name: limesurvey-db-pv spec: capacity: storage: 5Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain volumeMode: Filesystem hostPath: path: /mnt/gvolume0/limesurvey/db --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: limesurvey-db namespace: limesurvey spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi storageClassName: "" volumeName: limesurvey-db-pv --- apiVersion: v1 kind: PersistentVolume metadata: name: limesurvey-backups-pv spec: capacity: storage: 5Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain volumeMode: Filesystem hostPath: path: /mnt/gvolume0/limesurvey/backups --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: limesurvey-backups namespace: limesurvey spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi storageClassName: "" volumeName: limesurvey-backups-pv