diff --git a/k8s-wheatley/radarr/database.yaml b/k8s-wheatley/radarr/database.yaml new file mode 100644 index 0000000..ba92a77 --- /dev/null +++ b/k8s-wheatley/radarr/database.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: radarr-db +spec: + instances: 1 + storage: + size: 1Gi diff --git a/k8s-wheatley/radarr/deployments.yaml b/k8s-wheatley/radarr/deployments.yaml new file mode 100644 index 0000000..ba9e83c --- /dev/null +++ b/k8s-wheatley/radarr/deployments.yaml @@ -0,0 +1,53 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: radarr + labels: + app: radarr +spec: + replicas: 1 + selector: + matchLabels: + app: radarr + template: + metadata: + labels: + app: radarr + spec: + volumes: + - name: radarr-config + persistentVolumeClaim: + claimName: radarr-storage + - name: nfs-media + persistentVolumeClaim: + claimName: nfs-media + containers: + - name: radarr + image: linuxserver/radarr:6.0.4 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 7878 + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: Europe/Amsterdam + volumeMounts: + - mountPath: /config + name: radarr-config + - mountPath: /shared/media + name: nfs-media + securityContext: + seccompProfile: + type: RuntimeDefault + allowPrivilegeEscalation: false + capabilities: + drop: + - "ALL" + add: + - "CHOWN" + - "SETUID" + - "SETGID" diff --git a/k8s-wheatley/radarr/ingress.yaml b/k8s-wheatley/radarr/ingress.yaml new file mode 100644 index 0000000..749204e --- /dev/null +++ b/k8s-wheatley/radarr/ingress.yaml @@ -0,0 +1,16 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: radarr-route +spec: + parentRefs: + - name: internal + namespace: kube-system + hostnames: + - "radarr.k8s.wheatley.in" + rules: + - backendRefs: + - name: radarr + port: 80 + diff --git a/k8s-wheatley/radarr/kustomization.yaml b/k8s-wheatley/radarr/kustomization.yaml new file mode 100644 index 0000000..2f5e08f --- /dev/null +++ b/k8s-wheatley/radarr/kustomization.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: radarr + +resources: + # - database.yaml + - deployments.yaml + - ingress.yaml + - pvc.yaml + - secrets.yaml + - services.yaml + - namespace.yaml diff --git a/k8s-wheatley/radarr/namespace.yaml b/k8s-wheatley/radarr/namespace.yaml new file mode 100644 index 0000000..b35a868 --- /dev/null +++ b/k8s-wheatley/radarr/namespace.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: radarr diff --git a/k8s-wheatley/radarr/pvc.yaml b/k8s-wheatley/radarr/pvc.yaml new file mode 100644 index 0000000..fe76bfc --- /dev/null +++ b/k8s-wheatley/radarr/pvc.yaml @@ -0,0 +1,45 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: radarr-storage +spec: + storageClassName: piraeus-lvmthin + accessModes: + - ReadWriteOnce + 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 diff --git a/k8s-wheatley/radarr/secrets.yaml b/k8s-wheatley/radarr/secrets.yaml new file mode 100644 index 0000000..e69de29 diff --git a/k8s-wheatley/radarr/services.yaml b/k8s-wheatley/radarr/services.yaml new file mode 100644 index 0000000..d23fba9 --- /dev/null +++ b/k8s-wheatley/radarr/services.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: radarr +spec: + selector: + app: radarr + ports: + - port: 80 + protocol: TCP + targetPort: 7878