From fb175e78a68cd6c6842d99717f1393b9fb1f5a74 Mon Sep 17 00:00:00 2001 From: Guillermo Facundo Colunga <guillermo.facundo.colunga@cern.ch> Date: Thu, 11 Jul 2024 14:27:35 +0200 Subject: [PATCH] [MONIT-3965] Add support for user defined service monitors in values file This commits updates the values file to add a new field named `metrics.prometheus.server.serviceMonitors` that is a list that can be used to tell the helm chart to create service monitors on cluster creation time. Also adds a template to generate this new resource. --- templates/prometheus/genericservicemonitor.yaml | 15 +++++++++++++++ values.yaml | 17 ++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 templates/prometheus/genericservicemonitor.yaml diff --git a/templates/prometheus/genericservicemonitor.yaml b/templates/prometheus/genericservicemonitor.yaml new file mode 100644 index 0000000..91593c9 --- /dev/null +++ b/templates/prometheus/genericservicemonitor.yaml @@ -0,0 +1,15 @@ +{{- if and .Values.metrics.enabled .Values.metrics.prometheus.enabled -}} +{{- if .Values.metrics.prometheus.server.serviceMonitors }} +{{- $top := . -}} +{{- range $t := .Values.metrics.prometheus.server.serviceMonitors }} +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ $t.name }} + namespace: {{ $top.Release.namespace }} +spec: + {{- toYaml $t.spec | nindent 2 }} +{{- end }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/values.yaml b/values.yaml index 0d00795..0eb96de 100644 --- a/values.yaml +++ b/values.yaml @@ -104,7 +104,22 @@ metrics: limits: cpu: "500m" memory: "5Gi" - + # Service Monitors to be created by the helm chart install / upgrade. Ex: + # serviceMonitors: + # - name: my-nginx-sm + # spec: + # endpoints: + # - interval: 30s + # port: metrics + # namespaceSelector: + # matchNames: + # - kube-system + # selector: + # matchLabels: + # app.kubernetes.io/component: controller + # app.kubernetes.io/instance: cern-magnum + # app.kubernetes.io/name: ingress-nginx + serviceMonitors: [] # This fluentbit is used to allow scraping and fordwarding metrics from # the local prometheus and send them to Open Telemetry Collector. # If the local .Values.metrics.prometheus enable=false will not be able -- GitLab