diff --git a/radarr/kustomization.yaml b/radarr/kustomization.yaml new file mode 100644 index 0000000..7b313f5 --- /dev/null +++ b/radarr/kustomization.yaml @@ -0,0 +1,7 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - main.yaml + - pv.yaml \ No newline at end of file diff --git a/radarr/main.yaml b/radarr/main.yaml new file mode 100644 index 0000000..9cb8f47 --- /dev/null +++ b/radarr/main.yaml @@ -0,0 +1,111 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/instance: prowlarr + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: prowlarr + app.kubernetes.io/version: v0.3.0.1710 + helm.sh/chart: prowlarr-4.5.2 + name: prowlarr +spec: + ports: + - name: http + port: 9696 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/instance: prowlarr + app.kubernetes.io/name: prowlarr + type: ClusterIP +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app.kubernetes.io/instance: prowlarr + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: prowlarr + app.kubernetes.io/version: v0.3.0.1710 + helm.sh/chart: prowlarr-4.5.2 + name: prowlarr-config +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: openebs-3-replicas +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/instance: prowlarr + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: prowlarr + app.kubernetes.io/version: v0.3.0.1710 + helm.sh/chart: prowlarr-4.5.2 + name: prowlarr +spec: + replicas: 1 + revisionHistoryLimit: 3 + selector: + matchLabels: + app.kubernetes.io/instance: prowlarr + app.kubernetes.io/name: prowlarr + strategy: + type: Recreate + template: + metadata: + labels: + app.kubernetes.io/instance: prowlarr + app.kubernetes.io/name: prowlarr + spec: + automountServiceAccountToken: true + containers: + - env: + - name: PGID + value: "1000" + - name: PUID + value: "1000" + - name: TZ + value: CET + image: lscr.io/linuxserver/prowlarr:1.36.3 + imagePullPolicy: IfNotPresent + livenessProbe: + failureThreshold: 3 + initialDelaySeconds: 0 + periodSeconds: 10 + tcpSocket: + port: 9696 + timeoutSeconds: 1 + name: prowlarr + ports: + - containerPort: 9696 + name: http + protocol: TCP + readinessProbe: + failureThreshold: 3 + initialDelaySeconds: 0 + periodSeconds: 10 + tcpSocket: + port: 9696 + timeoutSeconds: 1 + startupProbe: + failureThreshold: 30 + initialDelaySeconds: 0 + periodSeconds: 5 + tcpSocket: + port: 9696 + timeoutSeconds: 1 + volumeMounts: + - mountPath: /config + name: config + dnsPolicy: ClusterFirst + enableServiceLinks: true + serviceAccountName: default + volumes: + - name: config + persistentVolumeClaim: + claimName: prowlarr-config diff --git a/radarr/pv.yaml b/radarr/pv.yaml new file mode 100644 index 0000000..05a330f --- /dev/null +++ b/radarr/pv.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: nfs-media-radarr +spec: + storageClassName: nfs-storage + capacity: + storage: 1Gi # Beachte: NFS ist dynamisch, die Größe ist nur ein Label + accessModes: + - ReadWriteMany # Mehrere Pods können es gleichzeitig nutzen + persistentVolumeReclaimPolicy: Retain + nfs: + path: /mnt/volume1/media # Der Pfad der NFS-Freigabe auf der NAS + server: 192.168.10.1 # Die IP-Adresse deiner NAS + mountOptions: + - nfsvers=4 # Passe ggf. an (nfsvers=3 falls nötig) \ No newline at end of file diff --git a/radarr/src/kustomization.yaml b/radarr/src/kustomization.yaml new file mode 100644 index 0000000..7531c42 --- /dev/null +++ b/radarr/src/kustomization.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +helmCharts: + - name: radarr + repo: https://k8s-at-home.com/charts/ + version: 16.3.2 + releaseName: radarr + includeCRDs: true + namespace: radarr + valuesFile: values.yaml diff --git a/radarr/src/values.yaml b/radarr/src/values.yaml new file mode 100644 index 0000000..8452eb1 --- /dev/null +++ b/radarr/src/values.yaml @@ -0,0 +1,118 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: lscr.io/linuxserver/radarr + # @default -- chart.appVersion + tag: 5.23.3 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + PUID: 1000 + PGID: 1000 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + http: + port: 7878 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configures the probes for the main Pod. +# @default -- See values.yaml +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:7878/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +# -- Configure persistence settings for the chart under this key. +## Config persistence is required for the Prometheus exporter sidecar. +# @default -- See values.yaml +persistence: + config: + enabled: true + storageClass: openebs-3-replicas + accessMode: ReadWriteOnce + #size: 5Gi + + media: + enabled: true + mountPath: /media + storageClass: nfs-storage + volumeName: nfs-media-sabnzbd + accessMode: ReadWriteMany + size: 1Gi + +metrics: + # -- Enable and configure Exportarr sidecar and Prometheus serviceMonitor. + # @default -- See values.yaml + enabled: false + serviceMonitor: + interval: 3m + scrapeTimeout: 1m + labels: {} + # -- Enable and configure Prometheus Rules for the chart under this key. + # @default -- See values.yaml + prometheusRule: + enabled: false + labels: {} + # -- Configure additionial rules for the chart under this key. + # @default -- See prometheusrules.yaml + rules: [] + # - alert: RadarrDown + # annotations: + # description: Radarr service is down. + # summary: Radarr is down. + # expr: | + # radarr_system_status == 0 + # for: 5m + # labels: + # severity: critical + exporter: + image: + # -- image repository + repository: ghcr.io/onedr0p/exportarr + # -- image tag + tag: v1.0.0 + # -- image pull policy + pullPolicy: IfNotPresent + env: + # -- metrics port + port: 9793 + # -- Set to true to enable gathering of additional metrics (slow) + additionalMetrics: false + # -- Set to true to enable gathering unknown queue items + unknownQueueItems: false