--- # Static CephFS PersistentVolume bound to the pre-existing, ACTIVELY-USED # puppet media library (ceph filesystem "mediafs", mounted by the VM/incus # instances at /shared/media). ceph-csi only mounts this volume; staticVolume # tells it the storage pre-exists and it must never provision or delete it. # # reclaimPolicy MUST stay Retain: deleting this PV or its PVC must NEVER be able # to reclaim or destroy the underlying CephFS data that the VM instances use. apiVersion: v1 kind: PersistentVolume metadata: name: jellyfin-media-library spec: accessModes: - ReadWriteMany capacity: storage: 10Ti # Load-bearing safety control. Do not change to Delete. persistentVolumeReclaimPolicy: Retain storageClassName: "" volumeMode: Filesystem # Pre-bind to the media-library claim so nothing else can grab this PV. claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: media-library namespace: jellyfin csi: driver: cephfs.csi.ceph.com volumeHandle: jellyfin-media-library-static nodeStageSecretRef: name: csi-cephfs-secret namespace: csi-cephfs volumeAttributes: # clusterID maps (in the csi-cephfs ceph-csi-config) to the mon set that # also serves mediafs; for a static volume only the mon lookup is used. clusterID: cephfs_csi_ssd_ec_4_1 fsName: mediafs staticVolume: "true" # Filesystem-internal root of the library (mediafs root == /shared/media). rootPath: /