chore: Refactor nfs PVC resource
This commit is contained in:
parent
bd7d2794d4
commit
5c1a74db0e
10 changed files with 123 additions and 132 deletions
|
|
@ -4,6 +4,7 @@ kind: Kustomization
|
|||
namespace: plex
|
||||
|
||||
resources:
|
||||
- ../../kustomize-bases/nfs-media
|
||||
- configmap.yaml
|
||||
- deployments.yaml
|
||||
- ingress.yaml
|
||||
|
|
@ -12,6 +13,28 @@ resources:
|
|||
- services.yaml
|
||||
- namespace.yaml
|
||||
|
||||
patches:
|
||||
- target:
|
||||
kind: PersistentVolume
|
||||
name: nfs-media
|
||||
patch: |
|
||||
- op: replace
|
||||
path: /metadata/name
|
||||
value: nfs-media-plex
|
||||
- op: replace
|
||||
path: /spec/accessModes/0
|
||||
value: ReadOnlyMany
|
||||
- target:
|
||||
kind: PersistentVolumeClaim
|
||||
name: nfs-media
|
||||
patch: |
|
||||
- op: replace
|
||||
path: /spec/volumeName
|
||||
value: nfs-media-plex
|
||||
- op: replace
|
||||
path: /spec/accessModes/0
|
||||
value: ReadOnlyMany
|
||||
|
||||
images:
|
||||
- name: plexinc/pms-docker
|
||||
newTag: 1.43.1.10611-1e34174b1@sha256:8b5bcdf7b506fe051aa1a0a0d464efdb3ad8c0fb1f8a4dfb27a8c489b609920c
|
||||
|
|
|
|||
|
|
@ -10,36 +10,3 @@ spec:
|
|||
resources:
|
||||
requests:
|
||||
storage: 20Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: nfs-media
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadOnlyMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 40Ti
|
||||
volumeName: nfs-media-plex
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: nfs-media-plex
|
||||
spec:
|
||||
capacity:
|
||||
storage: 40Ti
|
||||
accessModes:
|
||||
- ReadOnlyMany
|
||||
nfs:
|
||||
server: 10.0.69.10
|
||||
path: /tank/media
|
||||
mountOptions:
|
||||
- vers=4.1
|
||||
- rsize=1048576
|
||||
- wsize=1048576
|
||||
- hard
|
||||
- timeo=600
|
||||
- noatime
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ kind: Kustomization
|
|||
namespace: qbittorrent
|
||||
|
||||
resources:
|
||||
- ../../kustomize-bases/nfs-media
|
||||
- configmap.yaml
|
||||
- deployments.yaml
|
||||
- ingress.yaml
|
||||
|
|
@ -12,6 +13,25 @@ resources:
|
|||
- services.yaml
|
||||
- namespace.yaml
|
||||
|
||||
patches:
|
||||
- target:
|
||||
kind: PersistentVolume
|
||||
name: nfs-media
|
||||
patch: |
|
||||
- op: replace
|
||||
path: /metadata/name
|
||||
value: nfs-media-qbittorrent
|
||||
- op: replace
|
||||
path: /spec/nfs/path
|
||||
value: /tank/media/downloads
|
||||
- target:
|
||||
kind: PersistentVolumeClaim
|
||||
name: nfs-media
|
||||
patch: |
|
||||
- op: replace
|
||||
path: /spec/volumeName
|
||||
value: nfs-media-qbittorrent
|
||||
|
||||
images:
|
||||
- name: ghcr.io/qdm12/gluetun
|
||||
newTag: v3.41.1@sha256:1a5bf4b4820a879cdf8d93d7ef0d2d963af56670c9ebff8981860b6804ebc8ab
|
||||
|
|
|
|||
|
|
@ -10,36 +10,3 @@ spec:
|
|||
resources:
|
||||
requests:
|
||||
storage: 5Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: nfs-media
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 40Ti
|
||||
volumeName: nfs-media-qbittorrent
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: nfs-media-qbittorrent
|
||||
spec:
|
||||
capacity:
|
||||
storage: 40Ti
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
nfs:
|
||||
server: 10.0.69.10
|
||||
path: /tank/media/downloads
|
||||
mountOptions:
|
||||
- vers=4.1
|
||||
- rsize=1048576
|
||||
- wsize=1048576
|
||||
- hard
|
||||
- timeo=600
|
||||
- noatime
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ kind: Kustomization
|
|||
namespace: radarr
|
||||
|
||||
resources:
|
||||
- ../../kustomize-bases/nfs-media
|
||||
- configmap.yaml
|
||||
- deployments.yaml
|
||||
- ingress.yaml
|
||||
|
|
@ -12,6 +13,22 @@ resources:
|
|||
- services.yaml
|
||||
- namespace.yaml
|
||||
|
||||
patches:
|
||||
- target:
|
||||
kind: PersistentVolume
|
||||
name: nfs-media
|
||||
patch: |
|
||||
- op: replace
|
||||
path: /metadata/name
|
||||
value: nfs-media-radarr
|
||||
- target:
|
||||
kind: PersistentVolumeClaim
|
||||
name: nfs-media
|
||||
patch: |
|
||||
- op: replace
|
||||
path: /spec/volumeName
|
||||
value: nfs-media-radarr
|
||||
|
||||
images:
|
||||
- name: linuxserver/radarr
|
||||
newTag: 6.1.1@sha256:6f1dda18354ea7f28cead8f6d099fc8222498c3ae165f567d504ed04d70980d7
|
||||
|
|
|
|||
|
|
@ -10,36 +10,3 @@ spec:
|
|||
resources:
|
||||
requests:
|
||||
storage: 5Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: nfs-media
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 40Ti
|
||||
volumeName: nfs-media-radarr
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: nfs-media-radarr
|
||||
spec:
|
||||
capacity:
|
||||
storage: 40Ti
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
nfs:
|
||||
server: 10.0.69.10
|
||||
path: /tank/media
|
||||
mountOptions:
|
||||
- vers=4.1
|
||||
- rsize=1048576
|
||||
- wsize=1048576
|
||||
- hard
|
||||
- timeo=600
|
||||
- noatime
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ kind: Kustomization
|
|||
namespace: sonarr
|
||||
|
||||
resources:
|
||||
- ../../kustomize-bases/nfs-media
|
||||
- configmap.yaml
|
||||
- deployments.yaml
|
||||
- ingress.yaml
|
||||
|
|
@ -12,6 +13,22 @@ resources:
|
|||
- services.yaml
|
||||
- namespace.yaml
|
||||
|
||||
patches:
|
||||
- target:
|
||||
kind: PersistentVolume
|
||||
name: nfs-media
|
||||
patch: |
|
||||
- op: replace
|
||||
path: /metadata/name
|
||||
value: nfs-media-sonarr
|
||||
- target:
|
||||
kind: PersistentVolumeClaim
|
||||
name: nfs-media
|
||||
patch: |
|
||||
- op: replace
|
||||
path: /spec/volumeName
|
||||
value: nfs-media-sonarr
|
||||
|
||||
images:
|
||||
- name: linuxserver/sonarr
|
||||
newTag: 4.0.17@sha256:6854df9de20b8c82e1982604f39473d64dbb4c4584b1013f18f9ade1ee92af13
|
||||
|
|
|
|||
|
|
@ -10,36 +10,3 @@ spec:
|
|||
resources:
|
||||
requests:
|
||||
storage: 5Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: nfs-media
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 40Ti
|
||||
volumeName: nfs-media-sonarr
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: nfs-media-sonarr
|
||||
spec:
|
||||
capacity:
|
||||
storage: 40Ti
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
nfs:
|
||||
server: 10.0.69.10
|
||||
path: /tank/media
|
||||
mountOptions:
|
||||
- vers=4.1
|
||||
- rsize=1048576
|
||||
- wsize=1048576
|
||||
- hard
|
||||
- timeo=600
|
||||
- noatime
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
|
|
|
|||
6
kustomize-bases/nfs-media/kustomization.yaml
Normal file
6
kustomize-bases/nfs-media/kustomization.yaml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- pvc.yaml
|
||||
40
kustomize-bases/nfs-media/pvc.yaml
Normal file
40
kustomize-bases/nfs-media/pvc.yaml
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# Shared NFS media storage template — used by plex, sonarr, radarr, and qbittorrent.
|
||||
# All apps on k8s-wheatley mount the same NFS server: 10.0.69.10
|
||||
#
|
||||
# Each app overlays this base with JSON patches in its kustomization.yaml:
|
||||
# - Always: rename PV (metadata.name) and update PVC volumeName to match
|
||||
# - plex only: patch accessModes to ReadOnlyMany on both PV and PVC
|
||||
# - qbittorrent only: patch nfs.path to /tank/media/downloads
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: nfs-media # renamed per-app via JSON patch
|
||||
spec:
|
||||
capacity:
|
||||
storage: 40Ti
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
nfs:
|
||||
server: 10.0.69.10
|
||||
path: /tank/media
|
||||
mountOptions:
|
||||
- vers=4.1
|
||||
- rsize=1048576
|
||||
- wsize=1048576
|
||||
- hard
|
||||
- timeo=600
|
||||
- noatime
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: nfs-media
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 40Ti
|
||||
volumeName: nfs-media # patched per-app to match PV name
|
||||
Loading…
Add table
Add a link
Reference in a new issue