Refactor PVR services

This commit is contained in:
Danny Bessems 2024-01-15 13:09:25 +11:00
parent 631bc2afce
commit 7f18b0d761
37 changed files with 469 additions and 878 deletions

View File

@ -132,6 +132,7 @@ spec:
options: defaults@file
certResolver: default
domains:
- main: '*.pvr.spamasaurus.com'
- main: '*.spamasaurus.com'
sans:
- 'spamasaurus.com'

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Endpoints
metadata:
name: plex
namespace: pvr
subsets:
- addresses:
- ip: 192.168.11.240
ports:
- port: 32400
name: web

View File

@ -1,26 +1,3 @@
apiVersion: v1
kind: Service
metadata:
name: plex
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 32400
---
apiVersion: v1
kind: Endpoints
metadata:
name: plex
namespace: pvr
subsets:
- addresses:
- ip: 192.168.11.240
ports:
- port: 32400
name: web
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
@ -46,4 +23,3 @@ spec:
- main: '*.pvr.spamasaurus.com'
sans:
- 'pvr.spamasaurus.com'

View File

@ -0,0 +1,10 @@
apiVersion: v1
kind: Service
metadata:
name: plex
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 32400

View File

@ -0,0 +1,32 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: prowlarr
namespace: pvr
labels:
app: prowlarr
spec:
replicas: 1
selector:
matchLabels:
app: prowlarr
template:
metadata:
labels:
app: prowlarr
spec:
containers:
- name: prowlarr
# image: bv11-cr01.bessems.eu/proxy/linuxserver/prowlarr:develop
image: linuxserver/prowlarr:develop
imagePullPolicy: Always
ports:
- name: web
containerPort: 9696
volumeMounts:
- mountPath: /config
name: flexvolsmb-prowlarr-config
volumes:
- name: flexvolsmb-prowlarr-config
persistentVolumeClaim:
claimName: flexvolsmb-prowlarr-config

View File

@ -0,0 +1,18 @@
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: prowlarr
namespace: pvr
spec:
entryPoints:
- websecure
routes:
- match: Host(`index.pvr.spamasaurus.com`)
kind: Rule
services:
- name: prowlarr
port: 9696
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file

View File

@ -0,0 +1,19 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-prowlarr-config
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-prowlarr-config
flexVolume:
driver: mount/smb
secretRef:
name: flexvolsmb-credentials
options:
opts: file_mode=0777,dir_mode=0777,uid=1000,gid=1000,iocharset=utf8,nobrl
server: 192.168.154.225
share: /K3s.Volumes/prowlarr/config

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-prowlarr-config
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-prowlarr-config
resources:
requests:
storage: 1Gi

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: prowlarr
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 9696
selector:
app: prowlarr

View File

@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: radarr
namespace: pvr
labels:
app: radarr
spec:
replicas: 1
selector:
matchLabels:
app: radarr
template:
metadata:
labels:
app: radarr
spec:
containers:
- name: radarr
# image: bv11-cr01.bessems.eu/proxy/linuxserver/radarr:nightly
image: linuxserver/radarr:nightly
imagePullPolicy: Always
ports:
- name: web
containerPort: 7878
volumeMounts:
- mountPath: /config
name: flexvolsmb-radarr-config
- mountPath: /movies
name: flexvolsmb-pvr-movies
- mountPath: /downloads
name: smb-pvr-volatile
subPath: downloads
volumes:
- name: flexvolsmb-radarr-config
persistentVolumeClaim:
claimName: flexvolsmb-radarr-config
- name: flexvolsmb-pvr-movies
persistentVolumeClaim:
claimName: flexvolsmb-pvr-movies
- name: smb-pvr-volatile
persistentVolumeClaim:
claimName: smb-pvr-volatile

View File

@ -0,0 +1,18 @@
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: radarr
namespace: pvr
spec:
entryPoints:
- websecure
routes:
- match: Host(`movies.pvr.spamasaurus.com`)
kind: Rule
services:
- name: radarr
port: 7878
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file

View File

@ -0,0 +1,19 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-radarr-config
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-radarr-config
flexVolume:
driver: mount/smb
secretRef:
name: flexvolsmb-credentials
options:
opts: file_mode=0777,dir_mode=0777,iocharset=utf8
server: 192.168.154.225
share: /K3s.Volumes/radarr/config

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-radarr-config
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-radarr-config
resources:
requests:
storage: 1Gi

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: radarr
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 7878
selector:
app: radarr

View File

@ -0,0 +1,41 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: sabnzbd
namespace: pvr
labels:
app: sabnzbd
spec:
replicas: 1
selector:
matchLabels:
app: sabnzbd
template:
metadata:
labels:
app: sabnzbd
spec:
containers:
- name: sabnzbd
# image: bv11-cr01.bessems.eu/proxy/linuxserver/sabnzbd
image: linuxserver/sabnzbd
ports:
- name: web
containerPort: 8080
volumeMounts:
- mountPath: /config/sabnzbd.ini
subPath: sabnzbd.ini
name: flexvolsmb-sabnzbd-config
- mountPath: /downloads
subPath: downloads
name: smb-pvr-volatile
- mountPath: /incomplete-downloads
subPath: incomplete-downloads
name: smb-pvr-volatile
volumes:
- name: flexvolsmb-sabnzbd-config
persistentVolumeClaim:
claimName: flexvolsmb-sabnzbd-config
- name: smb-pvr-volatile
persistentVolumeClaim:
claimName: smb-pvr-volatile

View File

@ -0,0 +1,18 @@
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: sabnzbd
namespace: pvr
spec:
entryPoints:
- websecure
routes:
- match: Host(`download.pvr.spamasaurus.com`)
kind: Rule
services:
- name: sabnzbd
port: 8080
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file

View File

@ -0,0 +1,19 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-sabnzbd-config
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-sabnzbd-config
flexVolume:
driver: mount/smb
secretRef:
name: flexvolsmb-credentials
options:
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8
server: 192.168.154.225
share: /K3s.Volumes/sabnzbd/config

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-sabnzbd-config
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-sabnzbd-config
resources:
requests:
storage: 1Gi

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: sabnzbd
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 8080
selector:
app: sabnzbd

View File

@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: sonarr
namespace: pvr
labels:
app: sonarr
spec:
replicas: 1
selector:
matchLabels:
app: sonarr
template:
metadata:
labels:
app: sonarr
spec:
containers:
- name: sonarr
# image: bv11-cr01.bessems.eu/proxy/linuxserver/sonarr:latest
image: linuxserver/sonarr:latest
imagePullPolicy: Always
ports:
- name: web
containerPort: 8989
volumeMounts:
- mountPath: /config
name: flexvolsmb-sonarr-config
- mountPath: /tv
name: flexvolsmb-pvr-series
- mountPath: /downloads
name: smb-pvr-volatile
subPath: downloads
volumes:
- name: flexvolsmb-sonarr-config
persistentVolumeClaim:
claimName: flexvolsmb-sonarr-config
- name: flexvolsmb-pvr-series
persistentVolumeClaim:
claimName: flexvolsmb-pvr-series
- name: smb-pvr-volatile
persistentVolumeClaim:
claimName: smb-pvr-volatile

View File

@ -0,0 +1,18 @@
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: sonarr
namespace: pvr
spec:
entryPoints:
- websecure
routes:
- match: Host(`series.pvr.spamasaurus.com`)
kind: Rule
services:
- name: sonarr
port: 8989
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file

View File

@ -0,0 +1,19 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-sonarr-config
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-sonarr-config
flexVolume:
driver: mount/smb
secretRef:
name: flexvolsmb-credentials
options:
opts: file_mode=0777,dir_mode=0777,uid=1000,gid=1000,iocharset=utf8
server: 192.168.154.225
share: /K3s.Volumes/sonarr/config

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-sonarr-config
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-sonarr-config
resources:
requests:
storage: 1Gi

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: sonarr
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 8989
selector:
app: sonarr

View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: pvr

View File

@ -1,171 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: lidarr
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 8686
selector:
app: lidarr
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: lidarr
namespace: pvr
labels:
app: lidarr
spec:
replicas: 1
selector:
matchLabels:
app: lidarr
template:
metadata:
labels:
app: lidarr
spec:
containers:
- name: lidarr
image: bv11-cr01.bessems.eu/proxy/linuxserver/lidarr:nightly
ports:
- name: web
containerPort: 8686
volumeMounts:
- mountPath: /config
name: flexvolsmb-lidarr-config
- mountPath: /songs
name: flexvolsmb-pvr-songs
- mountPath: /downloads-amd
name: smb-pvr-volatile
subPath: downloads
- name: amd
image: bv11-cr01.bessems.eu/library/automatedmusicdownloader
env:
- name: AUTOSTART
value: 'true'
- name: FORMAT
value: MP3
- name: BITRATE
value: '320'
- name: LidarrUrl
value: http://lidarr.pvr.svc.cluster.local:8686
- name: LidarrAPIkey
value: 1e11c5d649ab4c70b3f91792bc91821b
- name: ARL_TOKEN
value: f173fa3b790a1fe0f7c89f2ed99efefc64e66ddb2f9e9cc397b780bdd567d256788039f1c27c5e1dd59511d93e721b3d84fa90767aafb77ed619fb05dd9123e4fd3cdaaefb5f237b1aedcec595f65eb419ee55a5df82ce3d3e658bbbb624e21e
volumeMounts:
- mountPath: /config
name: flexvolsmb-lidarr-amd
- mountPath: /downloads-amd
name: smb-pvr-volatile
subPath: downloads
volumes:
- name: flexvolsmb-lidarr-config
persistentVolumeClaim:
claimName: flexvolsmb-lidarr-config
- name: flexvolsmb-lidarr-amd
persistentVolumeClaim:
claimName: flexvolsmb-lidarr-amd
- name: flexvolsmb-pvr-songs
persistentVolumeClaim:
claimName: flexvolsmb-pvr-songs
- name: smb-pvr-volatile
persistentVolumeClaim:
claimName: smb-pvr-volatile
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: lidarr
namespace: pvr
spec:
entryPoints:
- websecure
routes:
- match: Host(`songs.pvr.spamasaurus.com`)
kind: Rule
services:
- name: lidarr
port: 8686
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file
tls:
options:
name: defaults@file
certResolver: default
domains:
- main: '*.pvr.spamasaurus.com'
sans:
- 'pvr.spamasaurus.com'
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-lidarr-config
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-lidarr-config
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
server: 192.168.11.225
share: /K3s.Volumes/lidarr/config
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-lidarr-config
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-lidarr-config
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-lidarr-amd
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-lidarr-amd
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0666,dir_mode=0766,uid=911,gid=911,iocharset=utf8
server: 192.168.11.225
share: /K3s.Volumes/lidarr/amd
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-lidarr-amd
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-lidarr-amd
resources:
requests:
storage: 1Gi

View File

@ -1,117 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: readarr
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 8787
selector:
app: readarr
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: readarr
namespace: pvr
labels:
app: readarr
spec:
replicas: 1
selector:
matchLabels:
app: readarr
template:
metadata:
labels:
app: readarr
spec:
containers:
- name: readarr
image: bv11-cr01.bessems.eu/proxy/hotio/readarr:nightly
env:
- name: DEBUG
value: 'yes'
ports:
- name: web
containerPort: 8787
volumeMounts:
- mountPath: /config
name: flexvolsmb-readarr-config
- mountPath: /books
name: flexvolsmb-pvr-books
- mountPath: /downloads
name: smb-pvr-volatile
subPath: downloads
volumes:
- name: flexvolsmb-readarr-config
persistentVolumeClaim:
claimName: flexvolsmb-readarr-config
- name: flexvolsmb-pvr-books
persistentVolumeClaim:
claimName: flexvolsmb-pvr-books
- name: smb-pvr-volatile
persistentVolumeClaim:
claimName: smb-pvr-volatile
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: readarr
namespace: pvr
spec:
entryPoints:
- websecure
routes:
- match: Host(`books.pvr.spamasaurus.com`)
kind: Rule
services:
- name: readarr
port: 8787
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file
tls:
options:
name: defaults@file
certResolver: default
domains:
- main: '*.pvr.spamasaurus.com'
sans:
- 'pvr.spamasaurus.com'
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-readarr-config
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-readarr-config
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,uid=1000,gid=1000,iocharset=utf8,nobrl
server: 192.168.11.225
share: /K3s.Volumes/readarr/config
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-readarr-config
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-readarr-config
resources:
requests:
storage: 1Gi

View File

@ -1,103 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: overseerr
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 5055
selector:
app: overseerr
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: overseerr
namespace: pvr
labels:
app: overseerr
spec:
replicas: 1
selector:
matchLabels:
app: overseerr
template:
metadata:
labels:
app: overseerr
spec:
containers:
- name: overseerr
image: bv11-cr01.bessems.eu/proxy/sctx/overseerr
ports:
- name: web
containerPort: 5055
volumeMounts:
- mountPath: /app/config
name: flexvolsmb-overseerr-config
volumes:
- name: flexvolsmb-overseerr-config
persistentVolumeClaim:
claimName: flexvolsmb-overseerr-config
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: overseerr
namespace: pvr
spec:
entryPoints:
- websecure
routes:
- match: Host(`requests.pvr.spamasaurus.com`)
kind: Rule
services:
- name: overseerr
port: 5055
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file
tls:
options:
name: defaults@file
certResolver: default
domains:
- main: '*.pvr.spamasaurus.com'
sans:
- 'pvr.spamasaurus.com'
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-overseerr-config
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-overseerr-config
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
server: 192.168.11.225
share: /K3s.Volumes/overseerr/config
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-overseerr-config
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-overseerr-config
resources:
requests:
storage: 1Gi

View File

@ -1,104 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: prowlarr
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 9696
selector:
app: prowlarr
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: prowlarr
namespace: pvr
labels:
app: prowlarr
spec:
replicas: 1
selector:
matchLabels:
app: prowlarr
template:
metadata:
labels:
app: prowlarr
spec:
containers:
- name: prowlarr
image: bv11-cr01.bessems.eu/proxy/linuxserver/prowlarr:develop
imagePullPolicy: Always
ports:
- name: web
containerPort: 9696
volumeMounts:
- mountPath: /config
name: flexvolsmb-prowlarr-config
volumes:
- name: flexvolsmb-prowlarr-config
persistentVolumeClaim:
claimName: flexvolsmb-prowlarr-config
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: prowlarr
namespace: pvr
spec:
entryPoints:
- websecure
routes:
- match: Host(`index.pvr.spamasaurus.com`)
kind: Rule
services:
- name: prowlarr
port: 9696
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file
tls:
options:
name: defaults@file
certResolver: default
domains:
- main: '*.pvr.spamasaurus.com'
sans:
- 'pvr.spamasaurus.com'
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-prowlarr-config
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-prowlarr-config
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,uid=1000,gid=1000,iocharset=utf8,nobrl
server: 192.168.11.225
share: /K3s.Volumes/prowlarr/config
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-prowlarr-config
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-prowlarr-config
resources:
requests:
storage: 1Gi

View File

@ -1,115 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: radarr
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 7878
selector:
app: radarr
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: radarr
namespace: pvr
labels:
app: radarr
spec:
replicas: 1
selector:
matchLabels:
app: radarr
template:
metadata:
labels:
app: radarr
spec:
containers:
- name: radarr
image: bv11-cr01.bessems.eu/proxy/linuxserver/radarr:nightly
imagePullPolicy: Always
ports:
- name: web
containerPort: 7878
volumeMounts:
- mountPath: /config
name: flexvolsmb-radarr-config
- mountPath: /movies
name: flexvolsmb-pvr-movies
- mountPath: /downloads
name: smb-pvr-volatile
subPath: downloads
volumes:
- name: flexvolsmb-radarr-config
persistentVolumeClaim:
claimName: flexvolsmb-radarr-config
- name: flexvolsmb-pvr-movies
persistentVolumeClaim:
claimName: flexvolsmb-pvr-movies
- name: smb-pvr-volatile
persistentVolumeClaim:
claimName: smb-pvr-volatile
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: radarr
namespace: pvr
spec:
entryPoints:
- websecure
routes:
- match: Host(`movies.pvr.spamasaurus.com`)
kind: Rule
services:
- name: radarr
port: 7878
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file
tls:
options:
name: defaults@file
certResolver: default
domains:
- main: '*.pvr.spamasaurus.com'
sans:
- 'pvr.spamasaurus.com'
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-radarr-config
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-radarr-config
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,iocharset=utf8
server: 192.168.11.225
share: /K3s.Volumes/radarr/config
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-radarr-config
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-radarr-config
resources:
requests:
storage: 1Gi

View File

@ -1,113 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: sabnzbd
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 8080
selector:
app: sabnzbd
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: sabnzbd
namespace: pvr
labels:
app: sabnzbd
spec:
replicas: 1
selector:
matchLabels:
app: sabnzbd
template:
metadata:
labels:
app: sabnzbd
spec:
containers:
- name: sabnzbd
image: bv11-cr01.bessems.eu/proxy/linuxserver/sabnzbd
ports:
- name: web
containerPort: 8080
volumeMounts:
- mountPath: /config/sabnzbd.ini
subPath: sabnzbd.ini
name: flexvolsmb-sabnzbd-config
- mountPath: /downloads
subPath: downloads
name: smb-pvr-volatile
- mountPath: /incomplete-downloads
subPath: incomplete-downloads
name: smb-pvr-volatile
volumes:
- name: flexvolsmb-sabnzbd-config
persistentVolumeClaim:
claimName: flexvolsmb-sabnzbd-config
- name: smb-pvr-volatile
persistentVolumeClaim:
claimName: smb-pvr-volatile
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: sabnzbd
namespace: pvr
spec:
entryPoints:
- websecure
routes:
- match: Host(`download.pvr.spamasaurus.com`)
kind: Rule
services:
- name: sabnzbd
port: 8080
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file
tls:
options:
name: defaults@file
certResolver: default
domains:
- main: '*.pvr.spamasaurus.com'
sans:
- 'pvr.spamasaurus.com'
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-sabnzbd-config
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-sabnzbd-config
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8
server: 192.168.11.225
share: /K3s.Volumes/sabnzbd/config
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-sabnzbd-config
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-sabnzbd-config
resources:
requests:
storage: 1Gi

View File

@ -1,115 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: sonarr
namespace: pvr
spec:
ports:
- protocol: TCP
name: web
port: 8989
selector:
app: sonarr
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: sonarr
namespace: pvr
labels:
app: sonarr
spec:
replicas: 1
selector:
matchLabels:
app: sonarr
template:
metadata:
labels:
app: sonarr
spec:
containers:
- name: sonarr
image: bv11-cr01.bessems.eu/proxy/linuxserver/sonarr:latest
imagePullPolicy: Always
ports:
- name: web
containerPort: 8989
volumeMounts:
- mountPath: /config
name: flexvolsmb-sonarr-config
- mountPath: /tv
name: flexvolsmb-pvr-series
- mountPath: /downloads
name: smb-pvr-volatile
subPath: downloads
volumes:
- name: flexvolsmb-sonarr-config
persistentVolumeClaim:
claimName: flexvolsmb-sonarr-config
- name: flexvolsmb-pvr-series
persistentVolumeClaim:
claimName: flexvolsmb-pvr-series
- name: smb-pvr-volatile
persistentVolumeClaim:
claimName: smb-pvr-volatile
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: sonarr
namespace: pvr
spec:
entryPoints:
- websecure
routes:
- match: Host(`series.pvr.spamasaurus.com`)
kind: Rule
services:
- name: sonarr
port: 8989
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file
tls:
options:
name: defaults@file
certResolver: default
domains:
- main: '*.pvr.spamasaurus.com'
sans:
- 'pvr.spamasaurus.com'
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-sonarr-config
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-sonarr-config
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,uid=1000,gid=1000,iocharset=utf8
server: 192.168.11.225
share: /K3s.Volumes/sonarr/config
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-sonarr-config
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-sonarr-config
resources:
requests:
storage: 1Gi

View File

@ -39,11 +39,3 @@ spec:
middlewares:
- name: security-headers@file
- name: compression@file
tls:
options:
name: defaults@file
certResolver: default
domains:
- main: '*.pvr.spamasaurus.com'
sans:
- 'pvr.spamasaurus.com'

View File

@ -12,10 +12,10 @@ spec:
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
name: flexvolsmb-credentials
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none
server: 192.168.11.225
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none
server: 192.168.154.225
share: /Public/Video's/Films
---
apiVersion: v1
@ -45,10 +45,10 @@ spec:
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
name: flexvolsmb-credentials
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none
server: 192.168.11.225
opts: file_mode=0777,dir_mode=0777,uid=911,gid=911,iocharset=utf8,cache=none
server: 192.168.154.225
share: /Public/Video's/Series
---
apiVersion: v1

View File

@ -0,0 +1,16 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
creationTimestamp: null
name: flexvolsmb-credentials
namespace: pvr
spec:
encryptedData:
password: AgBJyKH6m7r7yZsCwLChm9xe5g7OEyHKqzu9HsBj5Scp+KZx5IOFT7EWcok0C00EB4LNhRRAYvdZh4mdHgnUQlEz5woa5N0EBiFeDX81Fg4hOYjJ3dxAMrK7iaKrBY5gKuOrTl3+izOKtmUVVQzW8mwsJoFln+JUr7RimjBJg6JGC4G9Tty2cp07lyoouyUFt3AZeaHnp59qOmUThfFan1qRf9b4sBFpMSF2XhQxip0LmbjSS3iDezsIa81cXKDnIBUnqTsuAVC/LljNKY3YBkvQOtiNBcVA9NiytvNWnpQoAyaVU9dZ087+8C/a2ypAid9HrCpajcbKg3GCFByFX3zqymHuq3RLyYIUz0/kxk0060wcdTj5NsRnynG5MuKs6ckh48w2Hgqk9xOIad2lJO4YIXDcdbwPrNJBusuOzAyV4DvXPeVbBBxcVbUM5p+Gn057QXBDwZlZ/83iB07aaVU3SkKTwngDug8zw5iuCZKDCP7vpUAmKlOYT4UgfLXA80lP3msz0/ui9HYQq9ZwIVk+jWemxfWPH+YG64YcWiOffcLqaCsdx2yG3aQGIAXC6MT9kMayqM/KM0TMCDUjxUOXB/zlC4iEH2UrmyVNsnS4zRyO1XfLxAY5MENJkk+EIdR6vNLacxLNmUveZIZCVStwElvWahdhpriOo/dphnXGvhnGAIkGRAL9h3+ytZDWZ9yci0WbBre9wXzArNv9sMiD
username: AgBcHtyzrVVGQXFhivn5APdZ+TSzdfJd8XefNTjocrvqGcg2kgVEugp+MU7gyJbngSmA//cuW5WfBlNfcCnCP9sIzEljp09wHQBnRaywIbyKohdur3eQNsIXsHf3U2BEubS2b1Lt5c3GUywYRx2Ak4QytI0bFVDI4DUg1Sqfb9kBirbt7iFu0RzO0MlfhxGebT4V2X80dJpbWU63CGEf7jEcQb97eDwzUVACN+YiyHFcCEoztP69Kyu5wLvfDwMfuDrx4m/mjt3WMCqWl50N0biZM1uy+i69dfK264unuhxk87kQ8prQIVSFqsFOnTHtwIkjseUtAgZRmMpkbDI+kyZMI8yB/anvDPSjFhogxywrmlpbeyjp4jGPCL3MDEbeuZ3MKqRN3m/p6MqN/Q7u7Hd3n2mLr1ei5nFGNO97b/A3XBzwW09uNcbCNGzgfLcFMR5fhT+5REslMUAxQ5s+volSoyerGoVM1ScrxC4pbbW81tHbHnPt059EHZwY0uPKnSbOaawlukKtNo5nLeWClG5Z11cYH8nGn8gtl+hFfn6880rEzWbZwJp04nyhW16P/wO1Jf/yC8Xi84+Og0JkidiVemNHl78OJ1++URMgzmS1QadPQnD3TmngxHEgjmJyLh3tM9cKCLLb+nXc4/C0uNJleY2HKWewMlxPlvVG2+s0wbrsCK64pTpE/LDz8LRUxYU1PnyKz+E=
template:
metadata:
creationTimestamp: null
name: flexvolsmb-credentials
namespace: pvr
type: mount/smb

View File

@ -0,0 +1,16 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
creationTimestamp: null
name: smb-credentials
namespace: pvr
spec:
encryptedData:
password: AgAhJpNU9hze7P/FqS90E3zlJH77PV32+ZKZyswvfWUih7dnNUUWrxqMg2ihUmlSJvY+EIzrxNiwIjbpZkV60FRClY3wURCbJUNhlrOaVj1eFzXTZSgHO5uCq6YoXM1AIUe0xj+GxlxAAUQPiOO9gsHoDBO74cmemqwq3t14mUV2jGVzjY6ruGUHC9GNlsXsuaSuYaQk9R6Z3kv/Gc07ULzd03GPfpsmbCNdhRrhRpqMmoFxWiLB9ZCuDFOQiK6v8HvNtaikP0DELw+rEbC4BGDyqYtTx2bYxXP+cOj/l2+wFMgfYARwv1m1K+GmF82qK8NLHYsCJz0fGB7RRr+vspL7RrZKBLlc71b5TFTFbQCZNpcvVOgNktTq1+kHDhmquHVOXljKMCOtWpqEKFRGajpZ7ITslmHUpU9/jDAbkSsZFyU45DP0eGk7+SWICxflOJy3lmaHURtCC/nJwlQJx4yzjitm03J9/eOAeDX6gUY8/2JacjcAwHs4yRWgBTx1mPRekuu8Zvjt27+mYnyvZH0IpdZrvApJIvNN2UzYbbMGmHHMtYysNqVnDuuqZtmOraZ3hjr4FeF/qzx4rXbXoTjTG210MpqEQ/aF4lMa0EBtOJ2fGQIJvDPuhX0LOr6HpdJ1Cj/sRlgWVuGR36L38Va4w1nKpWuP72ozNswLHiU+RVARHWFN45tGAYwr/dW0MJXXl0l/Ft2SNdJhx+vRphsF
username: AgBZFSAxbAhUTA7B9/wG//QGqd7FLJapTKG5G+crhIYbC4e+N23LSYuEDxz9ROClmvSGDgDFK19wALXpjRYZr4T3PkQBNb96FyKG5zCHDAAUEhF0Cqh9GNCEi0+9br7RhLViEiA/NFTfPIOT8F/73OkIkp/CpdW/QBPjRXfY9BNtRRGPzuZrC2uopanW7TVROGzge8Y2CnojWv7qxAJmtKj7zO8lb1O7zMVUh2MgMtvRoO3SDyWcDa282AVrlhsDaOx6GTN/D19dEfbK0pQC4rLz9nN4lQSqTmRGf+0EwWek8ExTUPV/Bp1nZEJe6dKOnr4aNXFx2FpMls5jWVLmaCZsKi6S5cjokQcfx40uW264MTZMQ4WLLOGcI7mhbo3MJcnaYgHOPYoJ0UVpFZBcPJAdt7+bq9cRDxBGQJXXkbEcXab4GzVPD7U/9RcZin8MrvUmfU12JYrZNXHa6X5t3K7bp9GTYwCBVLpgXqEKAbhy6794U0PZuzUzy0/379uYOF8+yXZVBUt0wJcIW4IUfyt71cMDE9YMcIXMq0IDg2mxBI3gG3W9wkeIrQ0fGot460YiKiSX0Er+QiNevnxKScQYlgrVYgFujSOEc5aCQjA6rFH0rKh10ig772s+9TNBrkO13Go3NzrolK6ZbWIB2vjbj0Hfa23OTgXr+7B+MORO5Rl7wpl0MXH1yzyu8Z0XZkGQITBOZ9M=
template:
metadata:
creationTimestamp: null
name: smb-credentials
namespace: pvr
type: Opaque

View File

@ -4,9 +4,9 @@ metadata:
name: pvr
provisioner: smb.csi.k8s.io
parameters:
source: "//192.168.11.225/K3s.StorageClass/pvr"
source: "//192.168.154.225/K3s.StorageClass/pvr"
csi.storage.k8s.io/node-stage-secret-name: "smb-credentials"
csi.storage.k8s.io/node-stage-secret-namespace: "default"
csi.storage.k8s.io/node-stage-secret-namespace: "pvr"
# createSubDir: "true" # optional: create a sub dir for new volume
reclaimPolicy: Retain # only retain is supported
volumeBindingMode: Immediate