feat(k8s/storage): convert all stateful PVCs to static NFS PVs

This commit is contained in:
2026-03-10 22:36:35 +02:00
parent 83970f5d56
commit a3601cc7e5
14 changed files with 294 additions and 15 deletions

View File

@@ -0,0 +1,17 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: immich-db
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/immich-db

View File

@@ -20,7 +20,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: immich-db
resources: resources:
requests: requests:
storage: 10Gi storage: 10Gi

View File

@@ -0,0 +1,35 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: jellyfin-config
spec:
capacity:
storage: 30Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/jellyfin-config
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: jellyfin-cache
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/jellyfin-cache

View File

@@ -8,7 +8,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: jellyfin-config
resources: resources:
requests: requests:
storage: 30Gi storage: 30Gi
@@ -22,7 +23,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: jellyfin-cache
resources: resources:
requests: requests:
storage: 20Gi storage: 20Gi

View File

@@ -0,0 +1,35 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: lubelogger-data
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/lubelogger-data
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: lubelogger-keys
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/lubelogger-keys

View File

@@ -7,7 +7,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: lubelogger-data
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi
@@ -20,7 +21,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: lubelogger-keys
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi

View File

@@ -0,0 +1,107 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: qbittorrent-config
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/qbittorrent-config
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: prowlarr-config
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/prowlarr-config
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: radarr-config
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/radarr-config
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: radarr-db
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/radarr-db
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: sonarr-config
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/sonarr-config
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: sonarr-db
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/sonarr-db

View File

@@ -20,7 +20,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: qbittorrent-config
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi
@@ -33,7 +34,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: prowlarr-config
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi
@@ -46,7 +48,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: sonarr-config
resources: resources:
requests: requests:
storage: 5Gi storage: 5Gi
@@ -59,7 +62,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: radarr-config
resources: resources:
requests: requests:
storage: 5Gi storage: 5Gi
@@ -72,7 +76,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: sonarr-db
resources: resources:
requests: requests:
storage: 5Gi storage: 5Gi
@@ -85,7 +90,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: radarr-db
resources: resources:
requests: requests:
storage: 5Gi storage: 5Gi

View File

@@ -0,0 +1,35 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: pihole-config
spec:
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/pihole-config
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pihole-dnsmasq
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/pihole-dnsmasq

View File

@@ -6,7 +6,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: pihole-config
resources: resources:
requests: requests:
storage: 2Gi storage: 2Gi
@@ -19,7 +20,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: pihole-dnsmasq
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi

View File

@@ -15,3 +15,21 @@ spec:
nfs: nfs:
server: synology.storage.lviv server: synology.storage.lviv
path: ${PODSYNC_NFS_PATH} path: ${PODSYNC_NFS_PATH}
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: podsync-database
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/podsync-database

View File

@@ -20,7 +20,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: podsync-database
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi

View File

@@ -0,0 +1,17 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: authelia-data
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
storageClassName: ""
persistentVolumeReclaimPolicy: Retain
mountOptions:
- hard
- nointr
nfs:
server: synology.storage.lviv
path: /volume3/k8s-storage/authelia-data

View File

@@ -7,7 +7,8 @@ metadata:
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: nfs-synology-ssd storageClassName: ""
volumeName: authelia-data
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi