100 lines
3.4 KiB
YAML
100 lines
3.4 KiB
YAML
{{- define "openstack-cluster.kube-prometheus-stack.hookScript" -}}
|
|
# With the version bump to 40.x, kube-prometheus-stack picks up prometheus-node-exporter 4.x
|
|
# This changes the selector labels on the daemonset, which is an immutable field, so we remove
|
|
# the daemonset with the old labels before upgrading
|
|
# https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#from-39x-to-40x
|
|
kubectl delete daemonset \
|
|
-l release=kube-prometheus-stack,app=prometheus-node-exporter \
|
|
-n {{ .Values.addons.monitoring.kubePrometheusStack.release.namespace }}
|
|
{{- end }}
|
|
|
|
{{- if and .Values.addons.enabled .Values.addons.monitoring.enabled }}
|
|
{{-
|
|
$addon := lookup
|
|
"addons.stackhpc.com/v1alpha1"
|
|
"HelmRelease"
|
|
.Release.Namespace
|
|
(include "openstack-cluster.componentName" (list . "kube-prometheus-stack"))
|
|
}}
|
|
{{-
|
|
$previousVersion := dig
|
|
"spec"
|
|
"chart"
|
|
"version"
|
|
.Values.addons.monitoring.kubePrometheusStack.chart.version
|
|
$addon
|
|
}}
|
|
{{-
|
|
if and
|
|
.Release.IsUpgrade
|
|
(or
|
|
(include "openstack-cluster.addons.isMigration" .)
|
|
(and
|
|
(semverCompare ">=40.0.0" .Values.addons.monitoring.kubePrometheusStack.chart.version)
|
|
(semverCompare "<40.0.0" $previousVersion)
|
|
)
|
|
)
|
|
}}
|
|
---
|
|
{{-
|
|
include
|
|
"openstack-cluster.addons.hookJob"
|
|
(list
|
|
.
|
|
"pre-upgrade"
|
|
"kube-prometheus-stack-migrate"
|
|
"openstack-cluster.kube-prometheus-stack.hookScript"
|
|
)
|
|
}}
|
|
{{- end }}
|
|
---
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: {{ include "openstack-cluster.componentName" (list . "kube-prometheus-stack") }}-config
|
|
labels:
|
|
{{- include "openstack-cluster.componentLabels" (list . "kube-prometheus-stack") | nindent 4 }}
|
|
{{ .Values.addons.watchLabel }}: ""
|
|
stringData:
|
|
values: |
|
|
{{- toYaml .Values.addons.monitoring.kubePrometheusStack.release.values | nindent 4 }}
|
|
---
|
|
apiVersion: addons.stackhpc.com/v1alpha1
|
|
kind: HelmRelease
|
|
metadata:
|
|
name: {{ include "openstack-cluster.componentName" (list . "kube-prometheus-stack") }}
|
|
labels: {{ include "openstack-cluster.componentLabels" (list . "kube-prometheus-stack") | nindent 4 }}
|
|
spec:
|
|
clusterName: {{ include "openstack-cluster.clusterName" . }}
|
|
bootstrap: true
|
|
chart: {{ toYaml .Values.addons.monitoring.kubePrometheusStack.chart | nindent 4 }}
|
|
targetNamespace: {{ .Values.addons.monitoring.kubePrometheusStack.release.namespace }}
|
|
releaseName: kube-prometheus-stack
|
|
valuesSources:
|
|
- secret:
|
|
name: {{ include "openstack-cluster.componentName" (list . "kube-prometheus-stack") }}-config
|
|
key: values
|
|
---
|
|
apiVersion: addons.stackhpc.com/v1alpha1
|
|
kind: Manifests
|
|
metadata:
|
|
name: {{ include "openstack-cluster.componentName" (list . "kube-prometheus-stack") }}-dashboards
|
|
labels: {{ include "openstack-cluster.componentLabels" (list . "kube-prometheus-stack") | nindent 4 }}
|
|
spec:
|
|
clusterName: {{ include "openstack-cluster.clusterName" . }}
|
|
bootstrap: true
|
|
targetNamespace: {{ .Values.addons.monitoring.kubePrometheusStack.release.namespace }}
|
|
releaseName: kube-prometheus-stack-dashboards
|
|
manifestSources:
|
|
- template: |
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: nvidia-dcgm-exporter-dashboard
|
|
labels:
|
|
grafana_dashboard: "1"
|
|
data:
|
|
nvidia-dcgm-exporter-dashboard.json: |
|
|
{{- .Files.Get "grafana-dashboards/nvidia-dcgm-exporter-dashboard_rev2.json" | nindent 12 }}
|
|
{{- end }}
|