Files
devops-infra-helm-charts-gcp/helm-templates/mimir-distributed/templates/lib/service-monitor.tpl
T
2026-08-26 03:39:42 +05:30

74 lines
2.0 KiB
Smarty

{{/*
Mimir common ServiceMonitor definition
Params:
ctx = . context
component = name of the component
memberlist = true/false, whether component is part of memberlist
*/}}
{{- define "mimir.lib.serviceMonitor" -}}
{{- with .ctx.Values.metaMonitoring.serviceMonitor }}
{{- if .enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ include "mimir.resourceName" $ }}
namespace: {{ .namespace | default $.ctx.Release.Namespace | quote }}
labels:
{{- include "mimir.labels" $ | nindent 4 }}
{{- with .labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
namespaceSelector:
{{- if .namespaceSelector }}
{{- toYaml .namespaceSelector | nindent 4 }}
{{- else }}
matchNames:
- {{ $.ctx.Release.Namespace }}
{{- end }}
selector:
matchLabels:
{{- include "mimir.selectorLabels" $ | nindent 6 }}
matchExpressions:
- key: prometheus.io/service-monitor
operator: NotIn
values:
- "false"
endpoints:
- port: http-metrics
{{- with .interval }}
interval: {{ . }}
{{- end }}
{{- with .scrapeTimeout }}
scrapeTimeout: {{ . }}
{{- end }}
relabelings:
- action: replace
sourceLabels: [job]
replacement: "{{ $.ctx.Release.Namespace }}/{{ $.component }}"
targetLabel: job
{{- if kindIs "string" .clusterLabel }}
- replacement: "{{ .clusterLabel | default (include "mimir.clusterName" $.ctx) }}"
targetLabel: cluster
{{- end }}
{{- with .relabelings }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .metricRelabelings }}
metricRelabelings:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .scheme }}
scheme: {{ . }}
{{- end }}
{{- with .tlsConfig }}
tlsConfig:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end -}}
{{- end -}}
{{- end -}}