From a1dd4d8f7f32ad643df74fa731916602915a290c Mon Sep 17 00:00:00 2001
From: Sheogorath <sheogorath@shivering-isles.com>
Date: Sun, 8 Oct 2023 02:05:19 +0200
Subject: [PATCH] fix(nut-exporter): Add required `ups` parameter

---
 apps/base/nut-exporter/release.yaml           |  4 +++
 charts/nut-exporter/Chart.yaml                |  2 +-
 charts/nut-exporter/README.md                 |  5 ++--
 charts/nut-exporter/templates/podmonitor.yaml | 28 +++++++++++--------
 charts/nut-exporter/values.yaml               |  5 +++-
 5 files changed, 28 insertions(+), 16 deletions(-)

diff --git a/apps/base/nut-exporter/release.yaml b/apps/base/nut-exporter/release.yaml
index 95b5dd56b..5db622565 100644
--- a/apps/base/nut-exporter/release.yaml
+++ b/apps/base/nut-exporter/release.yaml
@@ -37,6 +37,10 @@ metadata:
   namespace: nut-exporter
 data:
   values.yaml: |
+    podMonitor:
+      params:
+        ups:
+          - ups
     env:
       - name: NUT_EXPORTER_USERNAME
         valueFrom:
diff --git a/charts/nut-exporter/Chart.yaml b/charts/nut-exporter/Chart.yaml
index 8fd807adc..0248d02b8 100644
--- a/charts/nut-exporter/Chart.yaml
+++ b/charts/nut-exporter/Chart.yaml
@@ -13,5 +13,5 @@ sources:
   - https://github.com/acolombier/nut_exporter/tree/feat/add-helm-chart
 
 type: application
-version: 0.2.0
+version: 0.3.0
 appVersion: 3.0.0
diff --git a/charts/nut-exporter/README.md b/charts/nut-exporter/README.md
index a2cbd879e..8c4787455 100644
--- a/charts/nut-exporter/README.md
+++ b/charts/nut-exporter/README.md
@@ -1,6 +1,6 @@
 # nut-exporter
 
-![Version: 0.2.0](https://img.shields.io/badge/Version-0.2.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.0.0](https://img.shields.io/badge/AppVersion-3.0.0-informational?style=flat-square)
+![Version: 0.3.0](https://img.shields.io/badge/Version-0.3.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.0.0](https://img.shields.io/badge/AppVersion-3.0.0-informational?style=flat-square)
 
 Installs NUT exporter in Kubernetes
 
@@ -21,7 +21,8 @@ Installs NUT exporter in Kubernetes
 | image.repository | string | `"ghcr.io/druggeri/nut_exporter"` |  |
 | image.tag | string | `""` |  |
 | nodeSelector | object | `{}` |  |
-| podMonitor | object | `{"enabled":true,"labels":{},"relabelings":[]}` | Enables podMonitor object for prometheus-operator based setups |
+| podMonitor | object | `{"enabled":true,"labels":{},"params":{},"relabelings":[]}` | Enables podMonitor object for prometheus-operator based setups |
+| podMonitor.params | object | `{}` | parameters that are used on the scrape target required for functional dashboard |
 | podSecurityContext.runAsGroup | int | `3642` |  |
 | podSecurityContext.runAsNonRoot | bool | `true` |  |
 | podSecurityContext.runAsUser | int | `3642` |  |
diff --git a/charts/nut-exporter/templates/podmonitor.yaml b/charts/nut-exporter/templates/podmonitor.yaml
index e6b7f2715..a20f34470 100644
--- a/charts/nut-exporter/templates/podmonitor.yaml
+++ b/charts/nut-exporter/templates/podmonitor.yaml
@@ -10,18 +10,22 @@ metadata:
   name: {{ include "nutexporter.fullname" . }}
 spec:
   podMetricsEndpoints:
-  - interval: 15s
-    {{- with $.Values.podMonitor.metricRelabelings }}
-    metricRelabelings:
-      {{ toYaml . | nindent 6}}
-    {{- end }}
-    {{- with $.Values.podMonitor.relabelings }}
-    relabelings:
-      {{ toYaml . | nindent 6}}
-    {{- end }}
-    path: /ups_metrics
-    port: http
-    scheme: http
+    - interval: 15s
+      {{- with $.Values.podMonitor.metricRelabelings }}
+      metricRelabelings:
+        {{- toYaml . | nindent 8}}
+      {{- end }}
+      {{- with $.Values.podMonitor.relabelings }}
+      relabelings:
+        {{- toYaml . | nindent 8}}
+      {{- end }}
+      path: /ups_metrics
+      port: http
+      scheme: http
+      {{- with .Values.podMonitor.params }}
+      params:
+        {{ toYaml . | nindent 8}}
+      {{- end }}
   jobLabel: nut-exporter
   namespaceSelector:
     matchNames:
diff --git a/charts/nut-exporter/values.yaml b/charts/nut-exporter/values.yaml
index 026074e9f..1bb3a4d1f 100644
--- a/charts/nut-exporter/values.yaml
+++ b/charts/nut-exporter/values.yaml
@@ -13,10 +13,13 @@ dashboard:
 podMonitor:
   enabled: true
   labels: {}
-    # key: value
   relabelings: []
     # - replacement: "My UPS"
     #   targetLabel: ups
+  # -- parameters that are used on the scrape target required for functional dashboard
+  params: {}
+    # ups:
+    #  - ups
 
 extraArgs: []
 # - --log.level=debug
-- 
GitLab