- media-pool/jellyfin renamed to media-pool/media (mountpoint /data/media unchanged) - media-pool/immich renamed to media-pool/photos (mountpoint /data/photos unchanged) - media-pool/minecraft → media-pool/games/minecraft (child of games) - media-pool/factorio → media-pool/games/factorio (child of games) - media-pool/openttd → media-pool/games/openttd (child of games) - Individual game quotas removed; single 1T quota set on media-pool/games - Removed stale legacy /media-pool/jellyfin etc. from HP /etc/exports - Updated pvs.yaml section headers to reflect new ZFS dataset names Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
351 lines
7.4 KiB
YAML
351 lines
7.4 KiB
YAML
---
|
|
# HA Persistent Volumes — Dell NFS primary via keepalived VIP 192.168.2.252
|
|
# On Dell failure, VIP moves to HP which serves identical paths via rsync mirror
|
|
# All PVs use reclaimPolicy: Retain to protect data
|
|
|
|
# ==================== MEDIA (Jellyfin) — ZFS: media-pool/media ====================
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: jellyfin-media-pv
|
|
spec:
|
|
capacity:
|
|
storage: 650Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/media/media
|
|
claimRef:
|
|
namespace: media
|
|
name: jellyfin-media-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: jellyfin-config-pv
|
|
spec:
|
|
capacity:
|
|
storage: 10Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/media/jellyfin-config
|
|
claimRef:
|
|
namespace: media
|
|
name: jellyfin-config-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: jellyfin-cache-pv
|
|
spec:
|
|
capacity:
|
|
storage: 10Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/media/jellyfin-cache
|
|
claimRef:
|
|
namespace: media
|
|
name: jellyfin-cache-v2-pvc
|
|
---
|
|
# ==================== PHOTOS (Immich) — ZFS: media-pool/photos ====================
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: immich-library-pv
|
|
spec:
|
|
capacity:
|
|
storage: 290Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/photos/immich-library
|
|
claimRef:
|
|
namespace: media
|
|
name: immich-library-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: immich-db-pv
|
|
spec:
|
|
capacity:
|
|
storage: 20Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/photos/immich-db
|
|
claimRef:
|
|
namespace: media
|
|
name: immich-db-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: immich-ml-cache-pv
|
|
spec:
|
|
capacity:
|
|
storage: 20Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/photos/immich-ml-cache
|
|
claimRef:
|
|
namespace: media
|
|
name: immich-ml-cache-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: immich-valkey-pv
|
|
spec:
|
|
capacity:
|
|
storage: 1Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/photos/immich-valkey
|
|
claimRef:
|
|
namespace: media
|
|
name: immich-valkey-v2-pvc
|
|
---
|
|
# ==================== STORAGE (OwnCloud) ====================
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: owncloud-files-pv
|
|
spec:
|
|
capacity:
|
|
storage: 190Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/owncloud/owncloud-files
|
|
claimRef:
|
|
namespace: storage
|
|
name: owncloud-files-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: owncloud-mariadb-pv
|
|
spec:
|
|
capacity:
|
|
storage: 5Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/owncloud/mariadb
|
|
claimRef:
|
|
namespace: storage
|
|
name: owncloud-mariadb-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: owncloud-redis-pv
|
|
spec:
|
|
capacity:
|
|
storage: 1Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/owncloud/redis
|
|
claimRef:
|
|
namespace: storage
|
|
name: owncloud-redis-v2-pvc
|
|
---
|
|
# ==================== GAMES (Minecraft) ====================
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: minecraft-home-pv
|
|
spec:
|
|
capacity:
|
|
storage: 10Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/games/minecraft/home
|
|
claimRef:
|
|
namespace: games
|
|
name: minecraft-home-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: minecraft-cheats-pv
|
|
spec:
|
|
capacity:
|
|
storage: 10Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/games/minecraft/cheats
|
|
claimRef:
|
|
namespace: games
|
|
name: minecraft-cheats-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: minecraft-creative-pv
|
|
spec:
|
|
capacity:
|
|
storage: 10Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/games/minecraft/creative
|
|
claimRef:
|
|
namespace: games
|
|
name: minecraft-creative-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: minecraft-johannes-pv
|
|
spec:
|
|
capacity:
|
|
storage: 10Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/games/minecraft/johannes
|
|
claimRef:
|
|
namespace: games
|
|
name: minecraft-johannes-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: minecraft-noah-pv
|
|
spec:
|
|
capacity:
|
|
storage: 10Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/games/minecraft/noah
|
|
claimRef:
|
|
namespace: games
|
|
name: minecraft-noah-v2-pvc
|
|
---
|
|
# ==================== GAMES (Factorio / OpenTTD) ====================
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: factorio-alone-pv
|
|
spec:
|
|
capacity:
|
|
storage: 5Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/games/factorio/alone
|
|
claimRef:
|
|
namespace: games
|
|
name: factorio-alone-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: openttd-pv
|
|
spec:
|
|
capacity:
|
|
storage: 2Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/games/openttd/main
|
|
claimRef:
|
|
namespace: games
|
|
name: openttd-v2-pvc
|
|
---
|
|
# ==================== INFRASTRUCTURE ====================
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: general-db-pv
|
|
spec:
|
|
capacity:
|
|
storage: 10Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/infra/general-db
|
|
claimRef:
|
|
namespace: infrastructure
|
|
name: general-db-v2-pvc
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: speedtest-tracker-pv
|
|
spec:
|
|
capacity:
|
|
storage: 1Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/infra/speedtest
|
|
claimRef:
|
|
namespace: infrastructure
|
|
name: speedtest-tracker-v2-pvc
|
|
---
|
|
# ==================== IOT ====================
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: iot-db-pv
|
|
spec:
|
|
capacity:
|
|
storage: 10Gi
|
|
accessModes: [ReadWriteOnce]
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
nfs:
|
|
server: 192.168.2.252
|
|
path: /data/infra/iot-db
|
|
claimRef:
|
|
namespace: iot
|
|
name: iot-db-v2-pvc
|