From c237e060fd06b219b9edcbd102c71664d3e432f2 Mon Sep 17 00:00:00 2001 From: Remy Moll Date: Mon, 13 May 2024 14:28:37 +0200 Subject: [PATCH] add incomplete deployment --- apps/media-downloads/jackett.deployment.yaml | 47 +++++++++++ apps/media-downloads/kustomization.yaml | 23 ++++++ apps/media-downloads/namespace.yaml | 4 + apps/media-downloads/pvc.yaml | 62 ++++++++++++++ apps/media-downloads/radarr.deployment.yaml | 47 +++++++++++ .../transmission.deployment.yaml | 81 +++++++++++++++++++ 6 files changed, 264 insertions(+) create mode 100644 apps/media-downloads/jackett.deployment.yaml create mode 100644 apps/media-downloads/kustomization.yaml create mode 100644 apps/media-downloads/namespace.yaml create mode 100644 apps/media-downloads/pvc.yaml create mode 100644 apps/media-downloads/radarr.deployment.yaml create mode 100644 apps/media-downloads/transmission.deployment.yaml diff --git a/apps/media-downloads/jackett.deployment.yaml b/apps/media-downloads/jackett.deployment.yaml new file mode 100644 index 0000000..cade3a3 --- /dev/null +++ b/apps/media-downloads/jackett.deployment.yaml @@ -0,0 +1,47 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jackett +spec: + selector: + matchLabels: + app: jackett + template: + metadata: + labels: + app: jackett + spec: + containers: + - name: jackett + image: jackett + resources: + limits: + memory: "128Mi" + cpu: "500m" + ports: + - containerPort: 9117 + volumeMounts: + - name: media + mountPath: /media + - name: config + mountPath: /config + volumes: + - name: media + persistentVolumeClaim: + claimName: media-downloads + - name: config + persistentVolumeClaim: + claimName: transmission-config +--- +apiVersion: v1 +kind: Service +metadata: + name: jackett +spec: + selector: + app: jackett + ports: + - protocol: TCP + port: 9117 + targetPort: 9117 + type: ClusterIP diff --git a/apps/media-downloads/kustomization.yaml b/apps/media-downloads/kustomization.yaml new file mode 100644 index 0000000..d0e9dc8 --- /dev/null +++ b/apps/media-downloads/kustomization.yaml @@ -0,0 +1,23 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: media-downloads + +resources: + - namespace.yaml + - pvc.yaml + - transmission.deployment.yaml + - radarr.deployment.yaml + - jackett.deployment.yaml + + +images: + - name: transmission + newName: haugene/transmission-openvpn + newTag: 5.3.1 + - name: jackett + newName: lscr.io/linuxserver/jackett + newTag: latest + - name: radarr + newName: lscr.io/linuxserver/radarr + newTag: 5.4.6 \ No newline at end of file diff --git a/apps/media-downloads/namespace.yaml b/apps/media-downloads/namespace.yaml new file mode 100644 index 0000000..0a074bd --- /dev/null +++ b/apps/media-downloads/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: placeholder diff --git a/apps/media-downloads/pvc.yaml b/apps/media-downloads/pvc.yaml new file mode 100644 index 0000000..9a425e7 --- /dev/null +++ b/apps/media-downloads/pvc.yaml @@ -0,0 +1,62 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: media-downloads +spec: + capacity: + storage: "1Ti" + accessModes: + - ReadWriteMany + nfs: + path: /export/jellyfin-media/downloads + server: 192.168.1.157 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: media-downloads +spec: + storageClassName: "" + accessModes: + - ReadWriteMany + resources: + requests: + storage: "1Ti" + volumeName: media-downloads +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: jackett-config +spec: + storageClassName: "nfs-client" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: "100Mi" +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: radarr-config +spec: + storageClassName: "nfs-client" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: "100Mi" +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: transmission-config +spec: + storageClassName: "nfs-client" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: "100Mi" +--- \ No newline at end of file diff --git a/apps/media-downloads/radarr.deployment.yaml b/apps/media-downloads/radarr.deployment.yaml new file mode 100644 index 0000000..5e9376d --- /dev/null +++ b/apps/media-downloads/radarr.deployment.yaml @@ -0,0 +1,47 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: radarr +spec: + selector: + matchLabels: + app: radarr + template: + metadata: + labels: + app: radarr + spec: + containers: + - name: radarr + image: radarr + resources: + limits: + memory: "128Mi" + cpu: "500m" + ports: + - containerPort: 7878 + volumeMounts: + - name: media + mountPath: /media + - name: config + mountPath: /config + volumes: + - name: media + persistentVolumeClaim: + claimName: media-downloads + - name: config + persistentVolumeClaim: + claimName: transmission-config +--- +apiVersion: v1 +kind: Service +metadata: + name: radarr +spec: + selector: + app: radarr + ports: + - protocol: TCP + port: 7878 + targetPort: 7878 + type: ClusterIP diff --git a/apps/media-downloads/transmission.deployment.yaml b/apps/media-downloads/transmission.deployment.yaml new file mode 100644 index 0000000..c03d717 --- /dev/null +++ b/apps/media-downloads/transmission.deployment.yaml @@ -0,0 +1,81 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: transmission +spec: + selector: + matchLabels: + app: transmission + template: + metadata: + labels: + app: transmission + spec: + containers: + - name: transmission + image: transmission + resources: + limits: + memory: "128Mi" + cpu: "500m" + ports: + - containerPort: 9091 + env: + - name: OPENVPN_PROVIDER + value: PROTONVPN + - name: LOCAL_NETWORK + value: 10.42.0.0/16 + - name: OPENVPN_CONFIG + valueFrom: + secretKeyRef: + name: protonvpn + key: country + - name: OPENVPN_USERNAME + valueFrom: + secretKeyRef: + name: protonvpn + key: username + - name: OPENVPN_PASSWORD + valueFrom: + secretKeyRef: + name: protonvpn + key: password + volumeMounts: + - name: media + mountPath: /data + - name: config + mountPath: /config + securityContext: + capabilities: + add: ["NET_ADMIN"] + volumes: + - name: media + persistentVolumeClaim: + claimName: media-downloads + - name: config + persistentVolumeClaim: + claimName: transmission-config +--- +apiVersion: v1 +kind: Service +metadata: + name: transmission +spec: + selector: + app: transmission + ports: + - protocol: TCP + port: 9091 + targetPort: 9091 + type: ClusterIP + +--- +apiVersion: v1 +kind: Secret +metadata: + name: protonvpn +type: Opaque +stringData: + country: at.protonvpn.udp,fr.protonvpn.udp,pl.protonvpn.udp,ch.protonvpn.udp + username: VOYkNuZs5PHjeB8w + password: WvKCOPijcXKOqcL5d7zjXzOPToS4zPid