{{/* vim: set filetype=mustache: */}} {{- define "common.serviceMonitor.metadata" -}} {{- $serviceMonitor := index . 1 -}} {{- with $serviceMonitor.namespace }} namespace: {{ . }} {{- end }} {{- end -}} {{- define "common.serviceMonitor.tpl" -}} {{- $top := first . -}} {{- $serviceMonitor := index . 1 -}} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: {{ include "common.metadata" (append . "common.serviceMonitor.metadata") | nindent 2 }} spec: selector: matchLabels: {{- include "common.selectorLabels" $top | nindent 6 }} namespaceSelector: matchNames: - {{ $top.Release.Namespace | quote }} endpoints: - port: {{ $serviceMonitor.port }} {{- with $serviceMonitor.path }} path: {{ . }} {{- end }} {{- with $serviceMonitor.interval }} interval: {{ . }} {{- end }} {{- with $serviceMonitor.scrapeTimeout }} scrapeTimeout: {{ . }} {{- end }} {{- $basicAuth := $serviceMonitor.basicAuth | default (dict) -}} {{- $name := $basicAuth.secretName | default (include "common.fullname" $top) -}} {{- if $basicAuth.enabled }} basicAuth: username: name: {{ $name }} key: {{ $basicAuth.usernameKey | default "username" }} password: name: {{ $name }} key: {{ $basicAuth.passwordKey | default "password" }} {{- end }} {{- end -}} {{- define "common.serviceMonitor" -}} {{- $top := first . -}} {{- $serviceMonitor := index . 1 -}} {{- if $serviceMonitor.enabled -}} {{- include "common.utils.merge" (append . "common.serviceMonitor.tpl") -}} {{- end -}} {{- end -}}