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