From 0633deb9838668b3724a59936aac1d35b1d21957 Mon Sep 17 00:00:00 2001 From: pgijsbertsen <117165507+pgijsbertsen@users.noreply.github.com> Date: Wed, 6 May 2026 13:01:40 +0200 Subject: [PATCH] feat: Add Lidarr --- k8s-peterg/argocd/applications-wheatley.yaml | 19 ++++++++ k8s-wheatley/lidarr/configmap.yaml | 9 ++++ k8s-wheatley/lidarr/deployments.yaml | 50 ++++++++++++++++++++ k8s-wheatley/lidarr/ingress.yaml | 16 +++++++ k8s-wheatley/lidarr/kustomization.yaml | 33 +++++++++++++ k8s-wheatley/lidarr/namespace.yaml | 5 ++ k8s-wheatley/lidarr/pvc.yaml | 12 +++++ k8s-wheatley/lidarr/services.yaml | 12 +++++ 8 files changed, 156 insertions(+) create mode 100644 k8s-wheatley/lidarr/configmap.yaml create mode 100644 k8s-wheatley/lidarr/deployments.yaml create mode 100644 k8s-wheatley/lidarr/ingress.yaml create mode 100644 k8s-wheatley/lidarr/kustomization.yaml create mode 100644 k8s-wheatley/lidarr/namespace.yaml create mode 100644 k8s-wheatley/lidarr/pvc.yaml create mode 100644 k8s-wheatley/lidarr/services.yaml diff --git a/k8s-peterg/argocd/applications-wheatley.yaml b/k8s-peterg/argocd/applications-wheatley.yaml index 2f86524..eae54ce 100644 --- a/k8s-peterg/argocd/applications-wheatley.yaml +++ b/k8s-peterg/argocd/applications-wheatley.yaml @@ -143,6 +143,25 @@ spec: --- apiVersion: argoproj.io/v1alpha1 kind: Application +metadata: + name: lidarr + namespace: argocd +spec: + project: default + source: + repoURL: https://code.peterg.nl/wheatley/kubernetes.git + path: k8s-wheatley/lidarr + targetRevision: HEAD + destination: + server: https://10.13.37.10:6443 + namespace: lidarr + syncPolicy: + automated: + prune: true + selfHeal: true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application metadata: name: prowlarr namespace: argocd diff --git a/k8s-wheatley/lidarr/configmap.yaml b/k8s-wheatley/lidarr/configmap.yaml new file mode 100644 index 0000000..188b4e6 --- /dev/null +++ b/k8s-wheatley/lidarr/configmap.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: lidarr-envs +data: + PUID: "1000" + PGID: "1000" + TZ: Europe/Amsterdam diff --git a/k8s-wheatley/lidarr/deployments.yaml b/k8s-wheatley/lidarr/deployments.yaml new file mode 100644 index 0000000..de9c4c5 --- /dev/null +++ b/k8s-wheatley/lidarr/deployments.yaml @@ -0,0 +1,50 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: lidarr + labels: + app: lidarr +spec: + replicas: 1 + serviceName: lidarr + selector: + matchLabels: + app: lidarr + template: + metadata: + labels: + app: lidarr + spec: + containers: + - name: lidarr + image: linuxserver/lidarr + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8686 + envFrom: + - configMapRef: + name: lidarr-envs + volumeMounts: + - mountPath: /config + name: lidarr-config + - mountPath: /shared/media + name: nfs-media + securityContext: + seccompProfile: + type: RuntimeDefault + allowPrivilegeEscalation: false + capabilities: + drop: + - "ALL" + add: + - "CHOWN" + - "SETUID" + - "SETGID" + volumes: + - name: lidarr-config + persistentVolumeClaim: + claimName: lidarr-storage + - name: nfs-media + persistentVolumeClaim: + claimName: nfs-media diff --git a/k8s-wheatley/lidarr/ingress.yaml b/k8s-wheatley/lidarr/ingress.yaml new file mode 100644 index 0000000..727dfc4 --- /dev/null +++ b/k8s-wheatley/lidarr/ingress.yaml @@ -0,0 +1,16 @@ +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: lidarr-route +spec: + parentRefs: + - name: internal + namespace: kube-system + sectionName: https + hostnames: + - "lidarr.wheatley.in" + rules: + - backendRefs: + - name: lidarr + port: 80 diff --git a/k8s-wheatley/lidarr/kustomization.yaml b/k8s-wheatley/lidarr/kustomization.yaml new file mode 100644 index 0000000..018f13b --- /dev/null +++ b/k8s-wheatley/lidarr/kustomization.yaml @@ -0,0 +1,33 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: lidarr + +resources: + - ../../kustomize-bases/nfs-media + - configmap.yaml + - deployments.yaml + - ingress.yaml + - pvc.yaml + - services.yaml + - namespace.yaml + +patches: + - target: + kind: PersistentVolume + name: nfs-media + patch: | + - op: replace + path: /metadata/name + value: nfs-media-lidarr + - target: + kind: PersistentVolumeClaim + name: nfs-media + patch: | + - op: replace + path: /spec/volumeName + value: nfs-media-lidarr + +images: + - name: linuxserver/lidarr + newTag: 3.1.0@sha256:d2f944115de2ca6754ad142ee92f9db481b1574c7bc030974d624584106b78d7 diff --git a/k8s-wheatley/lidarr/namespace.yaml b/k8s-wheatley/lidarr/namespace.yaml new file mode 100644 index 0000000..54f155f --- /dev/null +++ b/k8s-wheatley/lidarr/namespace.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: lidarr diff --git a/k8s-wheatley/lidarr/pvc.yaml b/k8s-wheatley/lidarr/pvc.yaml new file mode 100644 index 0000000..e06965e --- /dev/null +++ b/k8s-wheatley/lidarr/pvc.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: lidarr-storage +spec: + storageClassName: piraeus-lvmthin + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi diff --git a/k8s-wheatley/lidarr/services.yaml b/k8s-wheatley/lidarr/services.yaml new file mode 100644 index 0000000..d1a3deb --- /dev/null +++ b/k8s-wheatley/lidarr/services.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: lidarr +spec: + selector: + app: lidarr + ports: + - port: 80 + protocol: TCP + targetPort: 8686