39 lines
1.3 KiB
YAML
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 }}
|