From 6052fd0aea6bead90c1ed2b9d39c5c9f43c9a05e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernard=20G=C3=BCtermann?= Date: Sat, 30 Nov 2024 14:07:42 +0100 Subject: [PATCH] v1.4.0 release: - Use realistic default values for resources requirements - Move to rolling tags - Fix nodeselector --- charts/k8s-mediamanager/Chart.yaml | 4 +- .../templates/lidarr/lidarr-resources.yaml | 6 +- .../templates/plex/plex-resources.yaml | 12 +- .../prowlarr/prowlarr-resources.yaml | 8 +- .../qbittorent/qbittorrent-resources.yaml | 7 +- .../templates/radarr/radarr-resources.yaml | 6 +- .../templates/sonarr/sonarr-resources.yaml | 6 +- .../transmission/transmission-resources.yaml | 6 +- charts/k8s-mediamanager/values.yaml | 113 ++++++++++-------- 9 files changed, 91 insertions(+), 77 deletions(-) diff --git a/charts/k8s-mediamanager/Chart.yaml b/charts/k8s-mediamanager/Chart.yaml index d193fc1..0b633a4 100644 --- a/charts/k8s-mediamanager/Chart.yaml +++ b/charts/k8s-mediamanager/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: k8s-mediamanager description: Kubernetes media manager helm chart based on onedr0p rootless images type: application -version: 1.3.0 -appVersion: "1.3.0" +version: 1.4.0 +appVersion: "1.4.0" maintainers: - name: bernardgut email: bernard.gutermann@gmail.com diff --git a/charts/k8s-mediamanager/templates/lidarr/lidarr-resources.yaml b/charts/k8s-mediamanager/templates/lidarr/lidarr-resources.yaml index f39997f..ba0ff07 100644 --- a/charts/k8s-mediamanager/templates/lidarr/lidarr-resources.yaml +++ b/charts/k8s-mediamanager/templates/lidarr/lidarr-resources.yaml @@ -110,7 +110,7 @@ spec: - name: TZ value: "{{ .Values.general.timezone }}" image: "{{ .Values.lidarr.container.image }}:{{ .Values.lidarr.container.tag }}" - imagePullPolicy: Always + imagePullPolicy: {{ .Values.lidarr.container.pullPolicy }} livenessProbe: httpGet: path: {{ .Values.lidarr.ingress.path }} @@ -151,7 +151,7 @@ spec: drop: - ALL image: "{{ .Values.lidarr.metrics.image }}:{{ .Values.lidarr.metrics.imageTag }}" - imagePullPolicy: IfNotPresent + imagePullPolicy: {{ .Values.lidarr.metrics.imagePullPolicy }} args: - lidarr env: @@ -195,7 +195,7 @@ spec: {{- if .Values.lidarr.extraVolumes }} {{- toYaml .Values.lidarr.extraVolumes | nindent 8}} {{- end }} - {{- with .Values.general.nodeSelector }} + {{- with .Values.lidarr.container.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} diff --git a/charts/k8s-mediamanager/templates/plex/plex-resources.yaml b/charts/k8s-mediamanager/templates/plex/plex-resources.yaml index 405a025..730abe6 100644 --- a/charts/k8s-mediamanager/templates/plex/plex-resources.yaml +++ b/charts/k8s-mediamanager/templates/plex/plex-resources.yaml @@ -157,7 +157,7 @@ spec: - name: PLEX_CLAIM value: {{ .Values.plex.claim }} image: "{{ .Values.plex.container.image }}:{{ .Values.plex.container.tag }}" - imagePullPolicy: IfNotPresent + imagePullPolicy: {{ .Values.plex.container.imagePullPolicy }} livenessProbe: httpGet: path: /identity @@ -210,9 +210,9 @@ spec: - name: media mountPath: /music subPath: "{{ .Values.general.sharedStorage.subPaths.music }}" - {{- if .Values.plex.extraVolumeMounts }} - {{- toYaml .Values.plex.extraVolumeMounts | nindent 12}} - {{- end }} + {{- if .Values.plex.extraVolumeMounts }} + {{- toYaml .Values.plex.extraVolumeMounts | nindent 12}} + {{- end }} {{- with .Values.plex.resources }} resources: {{- toYaml . | nindent 12 }} @@ -238,7 +238,7 @@ spec: - name: TZ value: "{{ .Values.general.timezone }}" image: "{{ .Values.plex.tautulli.container.image }}:{{ .Values.plex.tautulli.container.tag }}" - imagePullPolicy: IfNotPresent + imagePullPolicy: {{ .Values.plex.tautulli.container.imagePullPolicy }} livenessProbe: httpGet: path: {{ .Values.plex.tautulli.ingress.path }} @@ -262,7 +262,7 @@ spec: resources: {{- toYaml .Values.plex.tautulli.resources | nindent 12 }} {{- end }} - {{- with .Values.general.nodeSelector }} + {{- with .Values.plex.container.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} diff --git a/charts/k8s-mediamanager/templates/prowlarr/prowlarr-resources.yaml b/charts/k8s-mediamanager/templates/prowlarr/prowlarr-resources.yaml index f475b44..b9c18b6 100644 --- a/charts/k8s-mediamanager/templates/prowlarr/prowlarr-resources.yaml +++ b/charts/k8s-mediamanager/templates/prowlarr/prowlarr-resources.yaml @@ -108,7 +108,7 @@ spec: - name: TZ value: "{{ .Values.general.timezone }}" image: "{{ .Values.prowlarr.container.image }}:{{ .Values.prowlarr.container.tag }}" - imagePullPolicy: Always + imagePullPolicy: {{ .Values.prowlarr.container.imagePullPolicy }} livenessProbe: httpGet: path: {{ .Values.prowlarr.ingress.path }} @@ -141,7 +141,7 @@ spec: drop: - ALL image: "{{ .Values.prowlarr.flaresolverr.container.image }}:{{ .Values.prowlarr.flaresolverr.container.tag }}" - imagePullPolicy: IfNotPresent + imagePullPolicy: {{ .Values.prowlarr.flaresolverr.container.imagePullPolicy }} env: - name: TZ value: "{{ .Values.general.timezone }}" @@ -177,7 +177,7 @@ spec: drop: - ALL image: "{{ .Values.prowlarr.metrics.image }}:{{ .Values.prowlarr.metrics.imageTag }}" - imagePullPolicy: IfNotPresent + imagePullPolicy: {{ .Values.prowlarr.metrics.imagePullPolicy }} args: - prowlarr env: @@ -225,7 +225,7 @@ spec: {{- if .Values.prowlarr.extraVolumes }} {{- toYaml .Values.prowlarr.extraVolumes | nindent 8}} {{- end }} - {{- with .Values.general.nodeSelector }} + {{- with .Values.prowlarr.container.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} diff --git a/charts/k8s-mediamanager/templates/qbittorent/qbittorrent-resources.yaml b/charts/k8s-mediamanager/templates/qbittorent/qbittorrent-resources.yaml index e3f7099..85621bc 100644 --- a/charts/k8s-mediamanager/templates/qbittorent/qbittorrent-resources.yaml +++ b/charts/k8s-mediamanager/templates/qbittorent/qbittorrent-resources.yaml @@ -76,7 +76,7 @@ spec: - name: QBITTORRENT__BT_PORT value: "{{ .Values.qbittorrent.container.port.peer }}" image: "{{ .Values.qbittorrent.container.image }}:{{ .Values.qbittorrent.container.tag }}" - imagePullPolicy: IfNotPresent + imagePullPolicy: {{ .Values.qbittorrent.container.imagePullPolicy }} livenessProbe: httpGet: port: {{ .Values.qbittorrent.container.port.webui }} @@ -89,7 +89,6 @@ spec: path: / initialDelaySeconds: 10 timeoutSeconds: 5 - ports: - name: webui containerPort: {{ .Values.qbittorrent.container.port.webui }} @@ -121,7 +120,7 @@ spec: drop: - ALL image: "{{ .Values.qbittorrent.metrics.image }}:{{ .Values.qbittorrent.metrics.imageTag }}" - imagePullPolicy: IfNotPresent + imagePullPolicy: {{ .Values.qbittorrent.metrics.imagePullPolicy }} env: - name: QBITTORRENT_USERNAME value: "{{ .Values.qbittorrent.config.auth.username }}" @@ -155,7 +154,7 @@ spec: {{- if .Values.qbittorrent.extraVolumes }} {{- toYaml .Values.qbittorrent.extraVolumes | nindent 6 }} {{- end }} - {{- with .Values.qbittorrent.nodeSelector }} + {{- with .Values.qbittorrent.container.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} diff --git a/charts/k8s-mediamanager/templates/radarr/radarr-resources.yaml b/charts/k8s-mediamanager/templates/radarr/radarr-resources.yaml index 4361d4e..eeac045 100644 --- a/charts/k8s-mediamanager/templates/radarr/radarr-resources.yaml +++ b/charts/k8s-mediamanager/templates/radarr/radarr-resources.yaml @@ -110,7 +110,7 @@ spec: - name: TZ value: "{{ .Values.general.timezone }}" image: "{{ .Values.radarr.container.image }}:{{ .Values.radarr.container.tag }}" - imagePullPolicy: Always + imagePullPolicy: {{ .Values.radarr.container.pullPolicy }} livenessProbe: httpGet: path: {{ .Values.radarr.ingress.path }} @@ -149,7 +149,7 @@ spec: drop: - ALL image: "{{ .Values.radarr.metrics.image }}:{{ .Values.radarr.metrics.imageTag }}" - imagePullPolicy: IfNotPresent + imagePullPolicy: {{ .Values.radarr.metrics.imagePullPolicy }} args: - radarr env: @@ -197,7 +197,7 @@ spec: {{- if .Values.radarr.extraVolumes }} {{- toYaml .Values.radarr.extraVolumes | nindent 8}} {{- end }} - {{- with .Values.general.nodeSelector }} + {{- with .Values.radarr.container.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} diff --git a/charts/k8s-mediamanager/templates/sonarr/sonarr-resources.yaml b/charts/k8s-mediamanager/templates/sonarr/sonarr-resources.yaml index d4aa492..9e58856 100644 --- a/charts/k8s-mediamanager/templates/sonarr/sonarr-resources.yaml +++ b/charts/k8s-mediamanager/templates/sonarr/sonarr-resources.yaml @@ -109,7 +109,7 @@ spec: - name: TZ value: "{{ .Values.general.timezone }}" image: "{{ .Values.sonarr.container.image }}:{{ .Values.sonarr.container.tag }}" - imagePullPolicy: Always + imagePullPolicy: {{ .Values.sonarr.container.imagePullPolicy }} livenessProbe: httpGet: path: {{ .Values.sonarr.ingress.path }} @@ -148,7 +148,7 @@ spec: drop: - ALL image: "{{ .Values.radarr.metrics.image }}:{{ .Values.radarr.metrics.imageTag }}" - imagePullPolicy: IfNotPresent + imagePullPolicy: {{ .Values.sonarr.metrics.imagePullPolicy }} args: - sonarr env: @@ -196,7 +196,7 @@ spec: {{- if .Values.sonarr.extraVolumes }} {{- toYaml .Values.sonarr.extraVolumes | nindent 8}} {{- end }} - {{- with .Values.general.nodeSelector }} + {{- with .Values.sonarr.container.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} diff --git a/charts/k8s-mediamanager/templates/transmission/transmission-resources.yaml b/charts/k8s-mediamanager/templates/transmission/transmission-resources.yaml index a07725a..d93a2e0 100644 --- a/charts/k8s-mediamanager/templates/transmission/transmission-resources.yaml +++ b/charts/k8s-mediamanager/templates/transmission/transmission-resources.yaml @@ -88,7 +88,7 @@ spec: - configMapRef: name: transmission-config image: "{{ .Values.transmission.container.image }}:{{ .Values.transmission.container.tag }}" - imagePullPolicy: Always + imagePullPolicy: {{ .Values.transmission.container.imagePullPolicy }} livenessProbe: tcpSocket: port: {{ .Values.transmission.container.port.rpc }} @@ -128,7 +128,7 @@ spec: drop: - ALL image: "{{ .Values.transmission.metrics.image }}:{{ .Values.transmission.metrics.imageTag }}" - imagePullPolicy: IfNotPresent + imagePullPolicy: {{ .Values.transmission.metrics.imagePullPolicy }} env: - name: WEB_PATH value: /metrics @@ -168,7 +168,7 @@ spec: {{- if .Values.transmission.extraVolumes }} {{- toYaml .Values.transmission.extraVolumes | nindent 8}} {{- end }} - {{- with .Values.general.nodeSelector }} + {{- with .Values.transmission.container.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} diff --git a/charts/k8s-mediamanager/values.yaml b/charts/k8s-mediamanager/values.yaml index 6fc08bc..f48c81f 100644 --- a/charts/k8s-mediamanager/values.yaml +++ b/charts/k8s-mediamanager/values.yaml @@ -53,7 +53,8 @@ plex: replicaCount: 1 container: image: ghcr.io/onedr0p/plex - tag: 1.41.0.8992-8463ad060 + tag: rolling + imagePullPolicy: Always nodeSelector: {} port: 32400 service: @@ -68,30 +69,31 @@ plex: secretName: "" resources: requests: - cpu: "500m" - memory: "1Gi" + cpu: "150m" + memory: "2Gi" limits: - #cpu: "2" - memory: "4Gi" + cpu: "4" + memory: "16Gi" volume: name: plex-config accessModes: "ReadWriteOnce" - storage: "1Gi" + storage: "200Gi" storageClassName: "" # We mount a memory volume to /transcode to speed up transcoding and save wear on the disk - extraVolumes: {} - # - name: plex-transcode - # emptyDir: - # medium: Memory - # sizeLimit: "16Gi" - extraVolumeMounts: {} - # - name: plex-transcode - # mountPath: /transcode + extraVolumes: + - name: plex-transcode + emptyDir: + sizeLimit: "14Gi" + medium: Memory + extraVolumeMounts: + - name: plex-transcode + mountPath: /transcode tautulli: enabled: true container: image: ghcr.io/tautulli/tautulli - tag: v2.14.4 + tag: latest + imagePullPolicy: Always nodeSelector: {} port: 8181 service: @@ -107,15 +109,15 @@ plex: secretName: "" resources: requests: - cpu: "50m" + cpu: "150m" memory: "96Mi" limits: - cpu: "150m" - memory: "128Mi" + cpu: "250m" + memory: "512Mi" volume: name: tautulli-config accessModes: "ReadWriteOnce" - storage: "1Gi" + storage: "10Gi" storageClassName: "" extraVolumes: {} extraVolumeMounts: {} @@ -128,7 +130,8 @@ prowlarr: instanceName: Prowlarr container: image: ghcr.io/onedr0p/prowlarr - tag: 1.23.1 + tag: rolling + imagePullPolicy: Always nodeSelector: {} port: 9696 service: @@ -147,12 +150,12 @@ prowlarr: cpu: "50m" memory: "128Mi" limits: - cpu: "250m" - memory: "512Mi" + cpu: "500m" + memory: "1Gi" volume: name: prowlarr-config accessModes: "ReadWriteOnce" - storage: "1Gi" + storage: "10Gi" storageClassName: "" extraVolumes: {} extraVolumeMounts: {} @@ -160,7 +163,8 @@ prowlarr: enabled: true container: image: ghcr.io/flaresolverr/flaresolverr - tag: v3.3.21 + tag: latest + imagePullPolicy: Always nodeSelector: {} port: 8191 service: @@ -177,6 +181,7 @@ prowlarr: metrics: image: ghcr.io/onedr0p/exportarr imageTag: v2.0.1 + imagePullPolicy: IfNotPresent enabled: true serviceMonitor: true port: 9090 @@ -192,7 +197,8 @@ radarr: # apiSecret: xxx container: image: ghcr.io/onedr0p/radarr - tag: 5.9.1 + tag: rolling + imagePullPolicy: Always nodeSelector: {} port: 7878 service: @@ -208,15 +214,15 @@ radarr: secretName: "" resources: requests: - cpu: "50m" - memory: "128Mi" - limits: cpu: "500m" memory: "512Mi" + limits: + cpu: "1" + memory: "4Gi" volume: name: radarr-config accessModes: "ReadWriteOnce" - storage: "1Gi" + storage: "10Gi" storageClassName: "" extraVolumes: {} extraVolumeMounts: {} @@ -224,6 +230,7 @@ radarr: enabled: true image: ghcr.io/onedr0p/exportarr imageTag: v2.0.1 + imagePullPolicy: IfNotPresent serviceMonitor: true port: 9090 @@ -234,7 +241,8 @@ sonarr: instanceName: Sonarr container: image: ghcr.io/onedr0p/sonarr - tag: 4.0.9 + tag: rolling + imagePullPolicy: Always nodeSelector: {} port: 8989 service: @@ -250,15 +258,15 @@ sonarr: secretName: "" resources: requests: - cpu: "50m" - memory: "256Mi" - limits: cpu: "500m" memory: "512Mi" + limits: + cpu: "1" + memory: "4Gi" volume: name: sonarr-config accessModes: "ReadWriteOnce" - storage: "1Gi" + storage: "10Gi" storageClassName: "" extraVolumes: {} extraVolumeMounts: {} @@ -266,6 +274,7 @@ sonarr: enabled: true image: ghcr.io/onedr0p/exportarr imageTag: v2.0.1 + imagePullPolicy: IfNotPresent serviceMonitor: true port: 9090 @@ -276,7 +285,8 @@ lidarr: instanceName: Lidarr container: image: ghcr.io/crutonjohn/lidarr-plugins - tag: 2.6.0.4349 + tag: rolling + imagePullPolicy: Always nodeSelector: {} port: 8686 service: @@ -292,21 +302,22 @@ lidarr: secretName: "" resources: requests: - cpu: "50m" - memory: "128Mi" + cpu: "500m" + memory: "512Mi" limits: - cpu: "150m" - memory: "256Mi" + cpu: "1" + memory: "4Gi" volume: name: lidarr-config accessModes: "ReadWriteOnce" - storage: "1Gi" + storage: "10Gi" storageClassName: "" extraVolumes: {} extraVolumeMounts: {} metrics: image: ghcr.io/onedr0p/exportarr imageTag: v2.0.1 + imagePullPolicy: IfNotPresent enabled: true serviceMonitor: true port: 9090 @@ -316,6 +327,7 @@ transmission: container: image: ghcr.io/onedr0p/transmission tag: 4.0.5 + imagePullPolicy: IfNotPresent nodeSelector: {} port: rpc: 9091 @@ -344,11 +356,11 @@ transmission: password: "changeme1234" resources: requests: - cpu: "10m" - memory: "32Mi" + cpu: "100m" + memory: "320Mi" limits: - cpu: "250m" - memory: "256Mi" + cpu: "1" + memory: "4Gi" volume: name: transmission-config accessModes: "ReadWriteOnce" @@ -360,6 +372,7 @@ transmission: enabled: true image: docker.io/evanofslack/transmission-exporter imageTag: latest + imagePullPolicy: Always serviceMonitor: true port: 19091 @@ -367,7 +380,8 @@ qbittorrent: enabled: true container: image: ghcr.io/onedr0p/qbittorrent - tag: 4.6.7 + tag: rolling + imagePullPolicy: Always nodeSelector: {} port: webui: 8080 @@ -395,15 +409,15 @@ qbittorrent: password: "changeme1234" resources: requests: - cpu: "50m" - memory: "128Mi" - limits: cpu: "500m" memory: "512Mi" + limits: + cpu: "4" + memory: "24Gi" volume: name: qbittorrent-config accessModes: "ReadWriteOnce" - storage: "1Gi" + storage: "10Gi" storageClassName: "" extraVolumes: {} extraVolumeMounts: {} @@ -411,6 +425,7 @@ qbittorrent: enabled: true image: ghcr.io/caseyscarborough/qbittorrent-exporter imageTag: v1.3.5 + imagePullPolicy: IfNotPresent serviceMonitor: true containerPort: 17871 port: 9091