jellyfin: back media PVCs with shared static CephFS PVs
This commit is contained in:
@@ -13,6 +13,8 @@ resources:
|
|||||||
- schedule.yaml
|
- schedule.yaml
|
||||||
- pvc-config.yaml
|
- pvc-config.yaml
|
||||||
- pvc-transcode.yaml
|
- pvc-transcode.yaml
|
||||||
|
- pv-media-tv.yaml
|
||||||
|
- pv-media-movies.yaml
|
||||||
- pvc-media-tv.yaml
|
- pvc-media-tv.yaml
|
||||||
- pvc-media-movies.yaml
|
- pvc-media-movies.yaml
|
||||||
- statefulset.yaml
|
- statefulset.yaml
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
# Static PV for the shared MOVIES CephFS subvolume. Same rootPath as arrstack's
|
||||||
|
# movies PV so radarr writes and jellyfin reads the identical library tree; each
|
||||||
|
# namespace gets its own PV (unique name + volumeHandle) pinned by claimRef.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: jellyfin-media-movies
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 1Ti
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
persistentVolumeReclaimPolicy: Retain
|
||||||
|
storageClassName: ""
|
||||||
|
volumeMode: Filesystem
|
||||||
|
claimRef:
|
||||||
|
namespace: jellyfin
|
||||||
|
name: jellyfin-media-movies
|
||||||
|
csi:
|
||||||
|
driver: cephfs.csi.ceph.com
|
||||||
|
volumeHandle: jellyfin-media-movies-static
|
||||||
|
nodeStageSecretRef:
|
||||||
|
name: csi-cephfs-secret
|
||||||
|
namespace: csi-cephfs
|
||||||
|
volumeAttributes:
|
||||||
|
staticVolume: "true"
|
||||||
|
clusterID: cephfs_csi_ssd_ec_4_1
|
||||||
|
fsName: cephfs
|
||||||
|
rootPath: /volumes/csi_ssd_ec_4_1/media-movies/e95d8ace-c736-465a-acc3-0c3e46dcede9
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
# Static PV for the shared TV CephFS subvolume. Same rootPath as arrstack's
|
||||||
|
# TV PV so sonarr writes and jellyfin reads the identical library tree; each
|
||||||
|
# namespace gets its own PV (unique name + volumeHandle) pinned by claimRef.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: jellyfin-media-tv
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 1Ti
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
persistentVolumeReclaimPolicy: Retain
|
||||||
|
storageClassName: ""
|
||||||
|
volumeMode: Filesystem
|
||||||
|
claimRef:
|
||||||
|
namespace: jellyfin
|
||||||
|
name: jellyfin-media-tv
|
||||||
|
csi:
|
||||||
|
driver: cephfs.csi.ceph.com
|
||||||
|
volumeHandle: jellyfin-media-tv-static
|
||||||
|
nodeStageSecretRef:
|
||||||
|
name: csi-cephfs-secret
|
||||||
|
namespace: csi-cephfs
|
||||||
|
volumeAttributes:
|
||||||
|
staticVolume: "true"
|
||||||
|
clusterID: cephfs_csi_ssd_ec_4_1
|
||||||
|
fsName: cephfs
|
||||||
|
rootPath: /volumes/csi_ssd_ec_4_1/media-tv/4692957d-f5df-4f72-b9c9-56e4ee6d1333
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
---
|
---
|
||||||
# Movie library, shared read-many across replicas. Split out from the old single
|
# Movie library, shared read-many across replicas. Statically bound to the
|
||||||
# media PVC so radarr can mount and manage movies independently. cephfs-raid5-delete
|
# jellyfin-media-movies PV (shared CephFS subvolume also used by arrstack/radarr).
|
||||||
# supports RWX and allows volume expansion; size is a starting point.
|
# storageClassName "" + volumeName disables dynamic provisioning and binds the
|
||||||
|
# pre-created static PV.
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
@@ -17,6 +18,7 @@ spec:
|
|||||||
- ReadWriteMany
|
- ReadWriteMany
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 500Gi
|
storage: 1Ti
|
||||||
storageClassName: cephfs-raid5-delete
|
storageClassName: ""
|
||||||
|
volumeName: jellyfin-media-movies
|
||||||
volumeMode: Filesystem
|
volumeMode: Filesystem
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
---
|
---
|
||||||
# TV library, shared read-many across replicas. Split out from the old single
|
# TV library, shared read-many across replicas. Statically bound to the
|
||||||
# media PVC so sonarr can mount and manage TV independently. cephfs-raid5-delete
|
# jellyfin-media-tv PV (shared CephFS subvolume also used by arrstack/sonarr).
|
||||||
# supports RWX and allows volume expansion; size is a starting point.
|
# storageClassName "" + volumeName disables dynamic provisioning and binds the
|
||||||
|
# pre-created static PV.
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
@@ -17,6 +18,7 @@ spec:
|
|||||||
- ReadWriteMany
|
- ReadWriteMany
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 500Gi
|
storage: 1Ti
|
||||||
storageClassName: cephfs-raid5-delete
|
storageClassName: ""
|
||||||
|
volumeName: jellyfin-media-tv
|
||||||
volumeMode: Filesystem
|
volumeMode: Filesystem
|
||||||
|
|||||||
@@ -11,9 +11,13 @@ spec:
|
|||||||
destinations:
|
destinations:
|
||||||
- namespace: 'jellyfin'
|
- namespace: 'jellyfin'
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
|
- namespace: 'arrstack'
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
clusterResourceWhitelist:
|
clusterResourceWhitelist:
|
||||||
- group: ''
|
- group: ''
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
|
- group: ''
|
||||||
|
kind: PersistentVolume
|
||||||
namespaceResourceWhitelist:
|
namespaceResourceWhitelist:
|
||||||
- group: '*'
|
- group: '*'
|
||||||
kind: '*'
|
kind: '*'
|
||||||
|
|||||||
Reference in New Issue
Block a user