From 47eee3dd77280226ee1ae61d6f0ad2530bfa103d Mon Sep 17 00:00:00 2001 From: Massaki Archambault Date: Tue, 20 Jun 2023 19:55:33 -0400 Subject: [PATCH] add deluge --- kustomize/bases/deluge/deluge-deployment.yaml | 90 +++++++++++++++++++ kustomize/bases/deluge/deluge-ingress.yaml | 19 ++++ kustomize/bases/deluge/kustomization.yaml | 25 ++++++ .../bases/jellyfin/jellyfin-deployment.yaml | 2 +- kustomize/env/prod/kustomization.yaml | 6 ++ .../prod/patches/deluge-deployment-patch.yaml | 12 +++ kustomize/overlays/deluge/kustomization.yaml | 5 ++ kustomize/overlays/deluge/namespace.yaml | 4 + 8 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 kustomize/bases/deluge/deluge-deployment.yaml create mode 100644 kustomize/bases/deluge/deluge-ingress.yaml create mode 100644 kustomize/bases/deluge/kustomization.yaml create mode 100644 kustomize/env/prod/patches/deluge-deployment-patch.yaml create mode 100644 kustomize/overlays/deluge/kustomization.yaml create mode 100644 kustomize/overlays/deluge/namespace.yaml diff --git a/kustomize/bases/deluge/deluge-deployment.yaml b/kustomize/bases/deluge/deluge-deployment.yaml new file mode 100644 index 0000000..88fbd2e --- /dev/null +++ b/kustomize/bases/deluge/deluge-deployment.yaml @@ -0,0 +1,90 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: server + labels: + app.kubernetes.io/name: deluge +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app.kubernetes.io/name: deluge + template: + metadata: + labels: + app.kubernetes.io/name: deluge + spec: + containers: + - image: lscr.io/linuxserver/deluge + name: deluge + ports: + - name: http + containerPort: 8112 + - name: deluge-daemon + containerPort: 58846 + - name: torrent-tcp + containerPort: 6881 + hostPort: 6881 + protocol: TCP + - name: torrent-udp + containerPort: 6881 + hostPort: 6881 + protocol: UDP + resources: + requests: + cpu: 1500m + memory: 250Mi + limits: + cpu: 1500m + memory: 250Mi + volumeMounts: + - name: deluge-config-pvc + mountPath: /config + volumes: + - name: deluge-config-pvc + persistentVolumeClaim: + claimName: deluge-config-pvc +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: deluge-config-pvc + labels: + app.kubernetes.io/name: deluge +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +--- +apiVersion: v1 +kind: Service +metadata: + name: webui + labels: + app.kubernetes.io/name: deluge +spec: + selector: + app.kubernetes.io/name: deluge + ports: + - name: http + port: 80 + targetPort: http +--- +apiVersion: v1 +kind: Service +metadata: + name: daemon + labels: + app.kubernetes.io/name: gitea +spec: + type: NodePort + selector: + app.kubernetes.io/name: gitea + ports: + - port: 58846 + targetPort: deluge-daemon + nodePort: 31000 \ No newline at end of file diff --git a/kustomize/bases/deluge/deluge-ingress.yaml b/kustomize/bases/deluge/deluge-ingress.yaml new file mode 100644 index 0000000..8de0f52 --- /dev/null +++ b/kustomize/bases/deluge/deluge-ingress.yaml @@ -0,0 +1,19 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: webui + labels: + app.kubernetes.io/name: deluge + probe: blackbox-http +spec: + rules: + - host: ${DELUGE_EXTERNAL_HOST} + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: webui + port: + name: http \ No newline at end of file diff --git a/kustomize/bases/deluge/kustomization.yaml b/kustomize/bases/deluge/kustomization.yaml new file mode 100644 index 0000000..43a6983 --- /dev/null +++ b/kustomize/bases/deluge/kustomization.yaml @@ -0,0 +1,25 @@ +resources: + - deluge-deployment.yaml + - deluge-ingress.yaml + +namePrefix: deluge- + +commonLabels: + app.kubernetes.io/name: deluge + +configMapGenerator: + - name: kustomize-generated-config + literals: + - DELUGE_EXTERNAL_HOST=deluge.badjware.dev + +replacements: + - source: + kind: ConfigMap + name: kustomize-generated-config + fieldPath: data.DELUGE_EXTERNAL_HOST + targets: + - select: + kind: Ingress + name: webui + fieldPaths: + - spec.rules.0.host diff --git a/kustomize/bases/jellyfin/jellyfin-deployment.yaml b/kustomize/bases/jellyfin/jellyfin-deployment.yaml index d08e74a..859a60f 100644 --- a/kustomize/bases/jellyfin/jellyfin-deployment.yaml +++ b/kustomize/bases/jellyfin/jellyfin-deployment.yaml @@ -85,7 +85,7 @@ spec: path: /dev/video11 - name: device-video12 #Only needed if you want to use your Raspberry Pi V4L2 video encoding. hostPath: - path: /dev/video12 + path: /dev/video12 --- apiVersion: v1 kind: PersistentVolumeClaim diff --git a/kustomize/env/prod/kustomization.yaml b/kustomize/env/prod/kustomization.yaml index cf49b34..954256b 100644 --- a/kustomize/env/prod/kustomization.yaml +++ b/kustomize/env/prod/kustomization.yaml @@ -9,6 +9,7 @@ resources: - ../../overlays/nextcloud - ../../overlays/home-assistant - ../../overlays/jellyfin + - ../../overlays/deluge # resources: # - probes/external-services-bobcat-miner.yaml @@ -77,6 +78,11 @@ patches: kind: Deployment name: jellyfin-server path: patches/jellyfin-deployment-patch.yaml + - target: + version: v1 + kind: Deployment + name: deluge-server + path: patches/deluge-deployment-patch.yaml # - target: # version: v1 # kind: Prometheus diff --git a/kustomize/env/prod/patches/deluge-deployment-patch.yaml b/kustomize/env/prod/patches/deluge-deployment-patch.yaml new file mode 100644 index 0000000..a70564a --- /dev/null +++ b/kustomize/env/prod/patches/deluge-deployment-patch.yaml @@ -0,0 +1,12 @@ +- op: add + path: /spec/template/spec/containers/0/volumeMounts/- + value: + name: share-media-downloads-nfs + mountPath: /share/media/Downloads +- op: add + path: /spec/template/spec/volumes/- + value: + name: share-media-downloads-nfs + nfs: + server: 192.168.20.30 + path: /mnt/pool0/media/Downloads \ No newline at end of file diff --git a/kustomize/overlays/deluge/kustomization.yaml b/kustomize/overlays/deluge/kustomization.yaml new file mode 100644 index 0000000..c6c50a0 --- /dev/null +++ b/kustomize/overlays/deluge/kustomization.yaml @@ -0,0 +1,5 @@ +resources: + - namespace.yaml + - ../../bases/deluge + +namespace: deluge diff --git a/kustomize/overlays/deluge/namespace.yaml b/kustomize/overlays/deluge/namespace.yaml new file mode 100644 index 0000000..1e32415 --- /dev/null +++ b/kustomize/overlays/deluge/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: deluge \ No newline at end of file