Files
infra-prod/deploy/rocket-chat/templates/servicemonitor.yaml
2025-04-03 15:16:10 +02:00

39 lines
1.3 KiB
YAML

{{- if and .Values.serviceMonitor.enabled .Values.prometheusScraping.enabled}}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "rocketchat.fullname" . }}
labels:
app.kubernetes.io/name: {{ include "rocketchat.name" . }}
helm.sh/chart: {{ include "rocketchat.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
endpoints:
{{- $ports := .Values.serviceMonitor.ports -}}
{{- $intervals := .Values.serviceMonitor.intervals -}}
{{- with .Values.serviceMonitor.port -}}
{{- if not (has . $ports) -}}
{{- $ports = append $ports . -}}
{{- end -}}
{{- end -}}
{{- with .Values.serviceMonitor.interval -}}
{{- if not (has . $intervals) -}}
{{- $intervals = append $intervals . -}}
{{- end -}}
{{- end -}}
{{- if not (eq (len $ports) (len $intervals)) -}}
{{- fail "servicemonitor ports and intervals lengths must be equal" -}}
{{- end -}}
{{- range $index := len $ports | until }}
- port: {{ index $ports $index }}
interval: {{ index $intervals $index }}
{{- end }}
selector:
matchLabels:
app.kubernetes.io/name: {{ include "rocketchat.name" . }}
helm.sh/chart: {{ include "rocketchat.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}