New attempt at migrating PVR stack

This commit is contained in:
Danny Bessems 2020-10-12 14:17:09 +02:00
parent b2f812d6ac
commit 8cdb950116
7 changed files with 77 additions and 59 deletions

View File

@ -4,12 +4,10 @@ metadata:
name: nzbhydra name: nzbhydra
namespace: pvr namespace: pvr
spec: spec:
type: NodePort
ports: ports:
- protocol: TCP - protocol: TCP
name: web name: web
port: 5076 port: 5076
nodePort: 30010
selector: selector:
app: nzbhydra app: nzbhydra
--- ---
@ -40,15 +38,15 @@ spec:
- mountPath: /config - mountPath: /config
name: flexvolsmb-nzbhydra-config name: flexvolsmb-nzbhydra-config
- mountPath: /downloads - mountPath: /downloads
name: flexvolsmb-pvr-downloads name: smb-pvr-volatile
subPath: downloads subPath: downloads
volumes: volumes:
- name: flexvolsmb-nzbhydra-config - name: flexvolsmb-nzbhydra-config
persistentVolumeClaim: persistentVolumeClaim:
claimName: flexvolsmb-nzbhydra-config claimName: flexvolsmb-nzbhydra-config
- name: flexvolsmb-pvr-downloads - name: smb-pvr-volatile
persistentVolumeClaim: persistentVolumeClaim:
claimName: flexvolsmb-pvr-downloads claimName: smb-pvr-volatile
--- ---
apiVersion: traefik.containo.us/v1alpha1 apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute kind: IngressRoute
@ -65,7 +63,14 @@ spec:
- name: nzbhydra - name: nzbhydra
port: 5076 port: 5076
middlewares: middlewares:
- name: ldap-authentication@file - name: 2fa-authentication@file
- name: security-headers@file
- match: Host(`index.pvr.spamasaurus.com`) && (Headers(`X-Api-Key`, `<removed>`) || Query(`apikey=<removed>`))
kind: Rule
services:
- name: nzbhydra
port: 5076
middlewares:
- name: security-headers@file - name: security-headers@file
tls: tls:
options: options:

View File

@ -4,12 +4,10 @@ metadata:
name: radarr name: radarr
namespace: pvr namespace: pvr
spec: spec:
type: NodePort
ports: ports:
- protocol: TCP - protocol: TCP
name: web name: web
port: 7878 port: 7878
nodePort: 30020
selector: selector:
app: radarr app: radarr
--- ---
@ -42,7 +40,7 @@ spec:
- mountPath: /movies - mountPath: /movies
name: flexvolsmb-pvr-movies name: flexvolsmb-pvr-movies
- mountPath: /downloads - mountPath: /downloads
name: flexvolsmb-pvr-downloads name: smb-pvr-volatile
subPath: downloads subPath: downloads
volumes: volumes:
- name: flexvolsmb-radarr-config - name: flexvolsmb-radarr-config
@ -51,9 +49,9 @@ spec:
- name: flexvolsmb-pvr-movies - name: flexvolsmb-pvr-movies
persistentVolumeClaim: persistentVolumeClaim:
claimName: flexvolsmb-pvr-movies claimName: flexvolsmb-pvr-movies
- name: flexvolsmb-pvr-downloads - name: smb-pvr-volatile
persistentVolumeClaim: persistentVolumeClaim:
claimName: flexvolsmb-pvr-downloads claimName: smb-pvr-volatile
--- ---
apiVersion: traefik.containo.us/v1alpha1 apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute kind: IngressRoute
@ -70,7 +68,14 @@ spec:
- name: radarr - name: radarr
port: 7878 port: 7878
middlewares: middlewares:
- name: ldap-authentication@file - name: 2fa-authentication@file
- name: security-headers@file
- match: Host(`movies.pvr.spamasaurus.com`) && (Headers(`X-Api-Key`, `<removed>`) || Query(`apikey=<removed>`))
kind: Rule
services:
- name: radarr
port: 7878
middlewares:
- name: security-headers@file - name: security-headers@file
tls: tls:
options: options:

View File

@ -4,12 +4,10 @@ metadata:
name: sabnzbd name: sabnzbd
namespace: pvr namespace: pvr
spec: spec:
type: NodePort
ports: ports:
- protocol: TCP - protocol: TCP
name: web name: web
port: 8080 port: 8080
nodePort: 30030
selector: selector:
app: sabnzbd app: sabnzbd
--- ---
@ -37,21 +35,22 @@ spec:
- name: web - name: web
containerPort: 8080 containerPort: 8080
volumeMounts: volumeMounts:
- mountPath: /config - mountPath: /config/sabnzbd.ini
subPath: sabnzbd.ini
name: flexvolsmb-sabnzbd-config name: flexvolsmb-sabnzbd-config
- mountPath: /downloads - mountPath: /downloads
name: flexvolsmb-pvr-downloads
subPath: downloads subPath: downloads
name: smb-pvr-volatile
- mountPath: /incomplete-downloads - mountPath: /incomplete-downloads
name: flexvolsmb-pvr-downloads
subPath: incomplete-downloads subPath: incomplete-downloads
name: smb-pvr-volatile
volumes: volumes:
- name: flexvolsmb-sabnzbd-config - name: flexvolsmb-sabnzbd-config
persistentVolumeClaim: persistentVolumeClaim:
claimName: flexvolsmb-sabnzbd-config claimName: flexvolsmb-sabnzbd-config
- name: flexvolsmb-pvr-downloads - name: smb-pvr-volatile
persistentVolumeClaim: persistentVolumeClaim:
claimName: flexvolsmb-pvr-downloads claimName: smb-pvr-volatile
--- ---
apiVersion: traefik.containo.us/v1alpha1 apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute kind: IngressRoute
@ -68,7 +67,14 @@ spec:
- name: sabnzbd - name: sabnzbd
port: 8080 port: 8080
middlewares: middlewares:
- name: ldap-authentication@file - name: 2fa-authentication@file
- name: security-headers@file
- match: Host(`download.pvr.spamasaurus.com`) && (Headers(`X-Api-Key`, `<removed>`) || Query(`apikey=<removed>`))
kind: Rule
services:
- name: sabnzbd
port: 8080
middlewares:
- name: security-headers@file - name: security-headers@file
tls: tls:
options: options:

View File

@ -4,12 +4,10 @@ metadata:
name: sonarr name: sonarr
namespace: pvr namespace: pvr
spec: spec:
type: NodePort
ports: ports:
- protocol: TCP - protocol: TCP
name: web name: web
port: 8989 port: 8989
nodePort: 30040
selector: selector:
app: sonarr app: sonarr
--- ---
@ -42,7 +40,7 @@ spec:
- mountPath: /tv - mountPath: /tv
name: flexvolsmb-pvr-series name: flexvolsmb-pvr-series
- mountPath: /downloads - mountPath: /downloads
name: flexvolsmb-pvr-downloads name: smb-pvr-volatile
subPath: downloads subPath: downloads
volumes: volumes:
- name: flexvolsmb-sonarr-config - name: flexvolsmb-sonarr-config
@ -51,9 +49,9 @@ spec:
- name: flexvolsmb-pvr-series - name: flexvolsmb-pvr-series
persistentVolumeClaim: persistentVolumeClaim:
claimName: flexvolsmb-pvr-series claimName: flexvolsmb-pvr-series
- name: flexvolsmb-pvr-downloads - name: smb-pvr-volatile
persistentVolumeClaim: persistentVolumeClaim:
claimName: flexvolsmb-pvr-downloads claimName: smb-pvr-volatile
--- ---
apiVersion: traefik.containo.us/v1alpha1 apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute kind: IngressRoute
@ -70,7 +68,14 @@ spec:
- name: sonarr - name: sonarr
port: 8989 port: 8989
middlewares: middlewares:
- name: ldap-authentication@file - name: 2fa-authentication@file
- name: security-headers@file
- match: Host(`series.pvr.spamasaurus.com`) && (Headers(`X-Api-Key`, `<removed>`) || Query(`apikey=<removed>`))
kind: Rule
services:
- name: sonarr
port: 8989
middlewares:
- name: security-headers@file - name: security-headers@file
tls: tls:
options: options:

View File

@ -1,38 +1,5 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolume kind: PersistentVolume
metadata:
name: flexvolsmb-pvr-downloads
namespace: pvr
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-pvr-downloads
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,iocharset=utf8,cache=none
server: 192.168.11.225
share: /Volatile/downloads
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-pvr-downloads
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-pvr-downloads
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata: metadata:
name: flexvolsmb-pvr-movies name: flexvolsmb-pvr-movies
namespace: pvr namespace: pvr

View File

@ -0,0 +1,30 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: pvr
provisioner: smb.csi.k8s.io
parameters:
source: "//192.168.11.225/K3s.StorageClass/pvr"
csi.storage.k8s.io/node-stage-secret-name: "smb-credentials"
csi.storage.k8s.io/node-stage-secret-namespace: "default"
createSubDir: "true" # optional: create a sub dir for new volume
reclaimPolicy: Retain # only retain is supported
volumeBindingMode: Immediate
mountOptions:
- dir_mode=0777
- file_mode=0777
- iocharset=utf8
- cache=none
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: smb-pvr-volatile
namespace: pvr
spec:
accessModes:
- ReadWriteMany
storageClassName: pvr
resources:
requests:
storage: 50Gi