This commit is contained in:
2026-03-21 17:11:29 +00:00
parent a654eaa9c4
commit 703acac5cb
2 changed files with 124 additions and 81 deletions

View File

@@ -3,22 +3,15 @@ kind: StorageClass
metadata:
name: smb-jellyfin
provisioner: smb.csi.k8s.io
parameters:
source: //samba.fileserver.svc.k8s.undercloud.local/data
# if csi.storage.k8s.io/provisioner-secret is provided, will create a sub directory
# with PV name under source
csi.storage.k8s.io/provisioner-secret-name: fileserver-smb-account
csi.storage.k8s.io/provisioner-secret-namespace: jellyfin
csi.storage.k8s.io/node-stage-secret-name: fileserver-smb-account
csi.storage.k8s.io/node-stage-secret-namespace: jellyfin
reclaimPolicy: Delete # available values: Delete, Retain
reclaimPolicy: Retain
volumeBindingMode: Immediate
allowVolumeExpansion: true
allowVolumeExpansion: false
mountOptions:
- dir_mode=0777
- file_mode=0777
- uid=1001
- gid=1001
- dir_mode=0775
- file_mode=0664
- vers=3.1.1
---
apiVersion: v1
kind: Secret
@@ -28,14 +21,13 @@ metadata:
type: Opaque
stringData:
username: samba
domain: ""
data:
password: dGhpc2lzbXlzZWN1cmVMREFQUFdzYW1iYQ==
password: "1thisismySECURELDAPPWsamba"
domain: UNDERCLOUD
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: music-jellyfin
name: jellyfin-music-pv
spec:
storageClassName: smb-jellyfin
capacity:
@@ -44,15 +36,18 @@ spec:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
mountOptions:
- dir_mode=0777
- file_mode=0777
- vers=3.0
- uid=1001
- gid=1001
- dir_mode=0775
- file_mode=0664
- vers=3.1.1
csi:
driver: smb.csi.k8s.io
readOnly: false
volumeHandle: jellyfin-music # make sure it's a unique id in the cluster
volumeHandle: files.undercloud.local#music#jellyfin
volumeAttributes:
source: "//samba.fileserver.svc.k8s.undercloud.local/music"
source: "//files.undercloud.local/data"
subDir: "music"
nodeStageSecretRef:
name: fileserver-smb-account
namespace: jellyfin
@@ -60,7 +55,7 @@ spec:
apiVersion: v1
kind: PersistentVolume
metadata:
name: movies-jellyfin
name: jellyfin-movies-pv
spec:
storageClassName: smb-jellyfin
capacity:
@@ -69,15 +64,18 @@ spec:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
mountOptions:
- dir_mode=0777
- file_mode=0777
- vers=3.0
- uid=1001
- gid=1001
- dir_mode=0775
- file_mode=0664
- vers=3.1.1
csi:
driver: smb.csi.k8s.io
readOnly: false
volumeHandle: jellyfin-movies # make sure it's a unique id in the cluster
volumeHandle: files.undercloud.local#movies#jellyfin
volumeAttributes:
source: "//samba.fileserver.svc.k8s.undercloud.local/movies"
source: "//files.undercloud.local/data"
subDir: "movies"
nodeStageSecretRef:
name: fileserver-smb-account
namespace: jellyfin
@@ -85,7 +83,7 @@ spec:
apiVersion: v1
kind: PersistentVolume
metadata:
name: tvshows-jellyfin
name: jellyfin-tvshows-pv
spec:
storageClassName: smb-jellyfin
capacity:
@@ -94,21 +92,24 @@ spec:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
mountOptions:
- dir_mode=0777
- file_mode=0777
- vers=3.0
- uid=1001
- gid=1001
- dir_mode=0775
- file_mode=0664
- vers=3.1.1
csi:
driver: smb.csi.k8s.io
readOnly: false
volumeHandle: jellyfin-tvshows # make sure it's a unique id in the cluster
volumeHandle: files.undercloud.local#tvshows#jellyfin
volumeAttributes:
source: "//samba.fileserver.svc.k8s.undercloud.local/tvshows"
source: "//files.undercloud.local/data"
subDir: "tvshows"
nodeStageSecretRef:
name: fileserver-smb-account
namespace: jellyfin
---
apiVersion: v1
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: music
namespace: jellyfin
@@ -118,11 +119,11 @@ spec:
resources:
requests:
storage: 200Gi
volumeName: music-jellyfin
volumeName: jellyfin-music-pv
storageClassName: smb-jellyfin
---
kind: PersistentVolumeClaim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: movies
namespace: jellyfin
@@ -132,11 +133,11 @@ spec:
resources:
requests:
storage: 200Gi
volumeName: movies-jellyfin
volumeName: jellyfin-movies-pv
storageClassName: smb-jellyfin
---
kind: PersistentVolumeClaim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tvshows
namespace: jellyfin
@@ -146,5 +147,5 @@ spec:
resources:
requests:
storage: 200Gi
volumeName: tvshows-jellyfin
volumeName: jellyfin-tvshows-pv
storageClassName: smb-jellyfin

View File

@@ -1,23 +1,23 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: smb-jellyfin
name: smb-nextcloud
provisioner: smb.csi.k8s.io
reclaimPolicy: Retain
volumeBindingMode: Immediate
allowVolumeExpansion: false
mountOptions:
- uid=1001
- gid=1001
- dir_mode=0775
- file_mode=0664
- uid=33
- gid=33
- dir_mode=0770
- file_mode=0660
- vers=3.1.1
---
apiVersion: v1
kind: Secret
metadata:
name: fileserver-smb-account
namespace: jellyfin
namespace: nextcloud
type: Opaque
stringData:
username: samba
@@ -27,125 +27,167 @@ stringData:
apiVersion: v1
kind: PersistentVolume
metadata:
name: jellyfin-music-pv
name: nextcloud-data-pv
spec:
storageClassName: smb-jellyfin
storageClassName: smb-nextcloud
capacity:
storage: 200Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
mountOptions:
- uid=1001
- gid=1001
- dir_mode=0775
- file_mode=0664
- uid=33
- gid=33
- dir_mode=0770
- file_mode=0660
- vers=3.1.1
csi:
driver: smb.csi.k8s.io
readOnly: false
volumeHandle: files.undercloud.local#music#jellyfin
volumeHandle: files.undercloud.local#data#data
volumeAttributes:
source: "//files.undercloud.local/data"
subDir: "data"
nodeStageSecretRef:
name: fileserver-smb-account
namespace: nextcloud
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nextcloud-music-pv
spec:
storageClassName: smb-nextcloud
capacity:
storage: 200Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
mountOptions:
- uid=33
- gid=33
- dir_mode=0770
- file_mode=0660
- vers=3.1.1
csi:
driver: smb.csi.k8s.io
readOnly: false
volumeHandle: files.undercloud.local#music#data
volumeAttributes:
source: "//files.undercloud.local/data"
subDir: "music"
nodeStageSecretRef:
name: fileserver-smb-account
namespace: jellyfin
namespace: nextcloud
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: jellyfin-movies-pv
name: nextcloud-movies-pv
spec:
storageClassName: smb-jellyfin
storageClassName: smb-nextcloud
capacity:
storage: 200Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
mountOptions:
- uid=1001
- gid=1001
- dir_mode=0775
- file_mode=0664
- uid=33
- gid=33
- dir_mode=0770
- file_mode=0660
- vers=3.1.1
csi:
driver: smb.csi.k8s.io
readOnly: false
volumeHandle: files.undercloud.local#movies#jellyfin
volumeHandle: files.undercloud.local#movies#data
volumeAttributes:
source: "//files.undercloud.local/data"
subDir: "movies"
nodeStageSecretRef:
name: fileserver-smb-account
namespace: jellyfin
namespace: nextcloud
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: jellyfin-tvshows-pv
name: nextcloud-tvshows-pv
spec:
storageClassName: smb-jellyfin
storageClassName: smb-nextcloud
capacity:
storage: 200Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
mountOptions:
- uid=1001
- gid=1001
- dir_mode=0775
- file_mode=0664
- uid=33
- gid=33
- dir_mode=0770
- file_mode=0660
- vers=3.1.1
csi:
driver: smb.csi.k8s.io
readOnly: false
volumeHandle: files.undercloud.local#tvshows#jellyfin
volumeHandle: files.undercloud.local#tvshows#data
volumeAttributes:
source: "//files.undercloud.local/data"
subDir: "tvshows"
nodeStageSecretRef:
name: fileserver-smb-account
namespace: jellyfin
namespace: nextcloud
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
namespace: nextcloud
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 30Gi
volumeName: nextcloud-data-pv
storageClassName: smb-nextcloud
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: music
namespace: jellyfin
namespace: nextcloud
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 200Gi
volumeName: jellyfin-music-pv
storageClassName: smb-jellyfin
storage: 30Gi
volumeName: nextcloud-music-pv
storageClassName: smb-nextcloud
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: movies
namespace: jellyfin
namespace: nextcloud
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 200Gi
volumeName: jellyfin-movies-pv
storageClassName: smb-jellyfin
storage: 30Gi
volumeName: nextcloud-movies-pv
storageClassName: smb-nextcloud
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tvshows
namespace: jellyfin
namespace: nextcloud
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 200Gi
volumeName: jellyfin-tvshows-pv
storageClassName: smb-jellyfin
storage: 30Gi
volumeName: nextcloud-tvshows-pv
storageClassName: smb-nextcloud