[sonarr] refactor of exportarr sidecar and podmonitor (#1157)

This commit is contained in:
j_r0dd 2021-09-06 14:44:53 -04:00 committed by GitHub
parent aa1ec1df0c
commit ff7a384e29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 100 additions and 45 deletions

View File

@ -1,8 +1,8 @@
apiVersion: v2 apiVersion: v2
appVersion: v3.0.6.1196 appVersion: v3.0.6.1265
description: Smart PVR for newsgroup and bittorrent users description: Smart PVR for newsgroup and bittorrent users
name: sonarr name: sonarr
version: 13.0.0 version: 14.0.0
kubeVersion: ">=1.16.0-0" kubeVersion: ">=1.16.0-0"
keywords: keywords:
- sonarr - sonarr

View File

@ -1,6 +1,6 @@
# sonarr # sonarr
![Version: 13.0.0](https://img.shields.io/badge/Version-13.0.0-informational?style=flat-square) ![AppVersion: v3.0.6.1196](https://img.shields.io/badge/AppVersion-v3.0.6.1196-informational?style=flat-square) ![Version: 14.0.0](https://img.shields.io/badge/Version-14.0.0-informational?style=flat-square) ![AppVersion: v3.0.6.1265](https://img.shields.io/badge/AppVersion-v3.0.6.1265-informational?style=flat-square)
Smart PVR for newsgroup and bittorrent users Smart PVR for newsgroup and bittorrent users
@ -78,13 +78,22 @@ N/A
|-----|------|---------|-------------| |-----|------|---------|-------------|
| env | object | See below | environment variables. | | env | object | See below | environment variables. |
| env.TZ | string | `"UTC"` | Set the container timezone | | env.TZ | string | `"UTC"` | Set the container timezone |
| exporter.enabled | bool | See values.yaml | Enable and configure Exportarr sidecar and Prometheus podMonitor. |
| exporter.env.additionalMetrics | bool | `false` | Set to true to enable gathering of additional metrics (slow) |
| exporter.env.port | int | `32123` | metrics port |
| exporter.env.unknownQueueItems | bool | `false` | Set to true to enable gathering unknown queue items |
| exporter.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| exporter.image.repository | string | `"ghcr.io/onedr0p/exportarr"` | image repository |
| exporter.image.tag | string | `"v0.6.1"` | image tag |
| exporter.podMonitor.interval | string | `"3m"` | |
| exporter.podMonitor.labels | object | `{}` | |
| exporter.podMonitor.scrapeTimeout | string | `"1m"` | |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy | | image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"ghcr.io/k8s-at-home/sonarr"` | image repository | | image.repository | string | `"ghcr.io/k8s-at-home/sonarr"` | image repository |
| image.tag | string | `"v3.0.6.1196"` | image tag | | image.tag | string | `"v3.0.6.1265"` | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. | | ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. | | persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| probes | object | See values.yaml | Configures the probes for the main Pod. | | probes | object | See values.yaml | Configures the probes for the main Pod. |
| prometheus.podMonitor | object | See values.yaml | Enable and configure a Prometheus podMonitor for the chart under this key. See also the notes under `additionalContainers`. |
| service | object | See values.yaml | Configures service settings for the chart. | | service | object | See values.yaml | Configures service settings for the chart. |
## Changelog ## Changelog
@ -93,6 +102,12 @@ All notable changes to this application Helm chart will be documented in this fi
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [14.0.0]
#### Changed
- Refactoring of the Exportarr sidecar and Prometheus podMonitor. This is a breaking change if it was enabled previously.
### [13.0.0] ### [13.0.0]
#### Changed #### Changed
@ -118,6 +133,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Initial version - Initial version
[14.0.0]: #1400
[13.0.0]: #1300 [13.0.0]: #1300
[12.0.0]: #1200 [12.0.0]: #1200
[11.0.0]: #1100 [11.0.0]: #1100

View File

@ -9,6 +9,12 @@ All notable changes to this application Helm chart will be documented in this fi
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [14.0.0]
#### Changed
- Refactoring of the Exportarr sidecar and Prometheus podMonitor. This is a breaking change if it was enabled previously.
### [13.0.0] ### [13.0.0]
#### Changed #### Changed
@ -34,6 +40,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Initial version - Initial version
[14.0.0]: #1400
[13.0.0]: #1300 [13.0.0]: #1300
[12.0.0]: #1200 [12.0.0]: #1200
[11.0.0]: #1100 [11.0.0]: #1100

View File

@ -7,7 +7,7 @@ persistence:
additionalContainers: additionalContainers:
exportarr: exportarr:
name: exportarr name: exportarr
image: ghcr.io/onedr0p/exportarr:v0.6.0 image: ghcr.io/onedr0p/exportarr:v0.6.1
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
args: ["exportarr", "sonarr"] args: ["exportarr", "sonarr"]
env: env:

View File

@ -1 +1,38 @@
{{/* Make sure all variables are set properly */}}
{{- include "common.values.setup" . }}
{{/* Append the hardcoded settings */}}
{{- define "sonarr.harcodedValues" -}}
{{ if .Values.exporter.enabled }}
additionalContainers:
exporter:
name: exporter
image: "{{ .Values.exporter.image.repository }}:{{ .Values.exporter.image.tag }}"
imagePullPolicy: {{ .Values.exporter.image.pullPolicy }}
args: ["exportarr", "sonarr"]
env:
- name: URL
value: "http://localhost"
- name: CONFIG
value: "/config/config.xml"
- name: PORT
value: "{{ .Values.exporter.env.port }}"
- name: ENABLE_ADDITIONAL_METRICS
value: "{{ .Values.exporter.env.additionalMetrics }}"
- name: ENABLE_UNKNOWN_QUEUE_ITEMS
value: "{{ .Values.exporter.env.unknownQueueItems }}"
ports:
- name: metrics
containerPort: {{ .Values.exporter.env.port }}
volumeMounts:
{{ if .Values.persistence.config.enabled }}
- name: config
mountPath: /config
readOnly: true
{{ end }}
{{ end }}
{{- end -}}
{{- $_ := mergeOverwrite .Values (include "sonarr.harcodedValues" . | fromYaml) -}}
{{/* Render the templates */}}
{{ include "common.all" . }} {{ include "common.all" . }}

View File

@ -1,11 +1,11 @@
{{- if .Values.prometheus.podMonitor.enabled }} {{- if .Values.exporter.enabled }}
apiVersion: monitoring.coreos.com/v1 apiVersion: monitoring.coreos.com/v1
kind: PodMonitor kind: PodMonitor
metadata: metadata:
name: {{ template "common.names.fullname" . }} name: {{ template "common.names.fullname" . }}
labels: labels:
{{- include "common.labels" . | nindent 4 }} {{- include "common.labels" . | nindent 4 }}
{{- with .Values.prometheus.podMonitor.additionalLabels }} {{- with .Values.exporter.podMonitor.labels }}
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
spec: spec:
@ -13,12 +13,17 @@ spec:
matchLabels: matchLabels:
{{- include "common.labels.selectorLabels" . | nindent 6 }} {{- include "common.labels.selectorLabels" . | nindent 6 }}
podMetricsEndpoints: podMetricsEndpoints:
- port: exportarr - port: metrics
{{- with .Values.prometheus.podMonitor.interval }} {{- with .Values.exporter.podMonitor.interval }}
interval: {{ . }} interval: {{ . }}
{{- end }} {{- end }}
{{- with .Values.prometheus.podMonitor.scrapeTimeout }} {{- with .Values.exporter.podMonitor.scrapeTimeout }}
scrapeTimeout: {{ . }} scrapeTimeout: {{ . }}
{{- end }} {{- end }}
path: /metrics path: /metrics
relabelings:
- sourceLabels: ['namespace', 'job']
regex: ".+/(.*)"
targetLabel: "job"
replacement: "$1"
{{- end }} {{- end }}

View File

@ -9,7 +9,7 @@ image:
# -- image repository # -- image repository
repository: ghcr.io/k8s-at-home/sonarr repository: ghcr.io/k8s-at-home/sonarr
# -- image tag # -- image tag
tag: v3.0.6.1196 tag: v3.0.6.1265
# -- image pull policy # -- image pull policy
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
@ -66,35 +66,25 @@ persistence:
enabled: false enabled: false
mountPath: /media mountPath: /media
prometheus: exporter:
# -- Enable and configure a Prometheus podMonitor for the chart under this key. # -- Enable and configure Exportarr sidecar and Prometheus podMonitor.
# See also the notes under `additionalContainers`.
# @default -- See values.yaml # @default -- See values.yaml
enabled: false
podMonitor: podMonitor:
enabled: false
interval: 3m interval: 3m
scrapeTimeout: 1m scrapeTimeout: 1m
additionalLabels: {} labels: {}
image:
# # When using the prometheus.podMonitor the following # -- image repository
# # container is required repository: ghcr.io/onedr0p/exportarr
# additionalContainers: # -- image tag
# exportarr: tag: v0.6.1
# name: exportarr # -- image pull policy
# image: ghcr.io/onedr0p/exportarr:v0.6.0 pullPolicy: IfNotPresent
# imagePullPolicy: IfNotPresent env:
# args: ["exportarr", "sonarr"] # -- metrics port
# env: port: 32123
# - name: PORT # -- Set to true to enable gathering of additional metrics (slow)
# value: "32123" additionalMetrics: false
# - name: URL # -- Set to true to enable gathering unknown queue items
# value: "http://localhost" unknownQueueItems: false
# - name: CONFIG
# value: "/config/config.xml"
# ports:
# - name: exportarr
# containerPort: 32123
# volumeMounts:
# - name: config
# mountPath: /config
# readOnly: true