{{ if .Values.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: {{ include "cluster-autoscaler.fullname" . }}
  {{- if .Values.serviceMonitor.namespace }}
  namespace: {{ .Values.serviceMonitor.namespace }}
  {{- end }}
  {{- if .Values.serviceMonitor.annotations }}
  annotations:
{{ toYaml .Values.serviceMonitor.annotations | indent 4 }}
  {{- end }}
  labels:
  {{- range $key, $value := .Values.serviceMonitor.selector }}
    {{ $key }}: {{ $value | quote }}
  {{- end }}
spec:
  selector:
    matchLabels:
{{ include "cluster-autoscaler.instance-name" . | indent 6 }}
  endpoints:
  - port: {{ .Values.service.portName }}
    interval: {{ .Values.serviceMonitor.interval }}
    path: {{ .Values.serviceMonitor.path }}
    {{- if .Values.serviceMonitor.relabelings }}
    relabelings:
{{ tpl (toYaml .Values.serviceMonitor.relabelings | indent 6) . }}
    {{- end }}
    {{- if .Values.serviceMonitor.metricRelabelings }}
    metricRelabelings:
{{ tpl (toYaml .Values.serviceMonitor.metricRelabelings | indent 6) . }}
    {{- end }}
  namespaceSelector:
    matchNames:
      - {{.Release.Namespace}}
{{ end }}
