kub/cluster/apps/production/sab/sabnzbd.yaml

98 lines
2.1 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: sabnzbd
namespace: default
labels:
app: sabnzbd
spec:
replicas: 1
selector:
matchLabels:
app: sabnzbd
template:
metadata:
labels:
app: sabnzbd
spec:
containers:
- name: sabnzbd
image: ghcr.io/linuxserver/sabnzbd@sha256:a33738b946bee3bd2a754b2e576643d069ac2913d88290ef13d8e00f0c0e1224
imagePullPolicy: IfNotPresent
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: America/New_York
resources:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "750Mi"
cpu: "750m"
volumeMounts:
- mountPath: /config
name: sabnzbd-config
- mountPath: /data
name: nas
volumes:
- name: nas
nfs:
path: /mnt/thePool/thePoolShare
server: 10.0.0.10
- name: sabnzbd-config
persistentVolumeClaim:
claimName: sabnzbd-config
nodeSelector:
kubernetes.io/hostname: k3s-master3
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sabnzbd-config
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
storageClassName: longhorn
---
apiVersion: v1
kind: Service
metadata:
name: headless-sabnzbd
namespace: default
spec:
selector:
app: sabnzbd
ports:
- port: 8080
targetPort: 8080
protocol: TCP
type: ClusterIP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: sabnzbd
namespace: default
annotations:
kubernetes.io/ingress.class: traefik-external
spec:
entryPoints:
- websecure
routes:
- match: Host(`sabnzbd.local.mafyuh.com`)
kind: Rule
services:
- name: headless-sabnzbd
port: 8080
middlewares:
- name: default-headers
tls:
secretName: local-mafyuh-com-production-tls