{{- if and .Values.prometheus.enabled .Values.prometheus.additionalServiceMonitors }}
apiVersion: v1
kind: List
items:
{{- range .Values.prometheus.additionalServiceMonitors }}
  - apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
      name: {{ .name }}
      namespace: {{ template "kube-prometheus-stack.namespace" $ }}
      labels:
        app: {{ template "kube-prometheus-stack.name" $ }}-prometheus
{{ include "kube-prometheus-stack.labels" $ | indent 8 }}
        {{- if .additionalLabels }}
{{ toYaml .additionalLabels | indent 8 }}
        {{- end }}
    spec:
      {{- include "servicemonitor.scrapeLimits" . | nindent 6 }}
      endpoints:
{{ toYaml .endpoints | indent 8 }}
    {{- if .jobLabel }}
      jobLabel: {{ .jobLabel }}
    {{- end }}
    {{- if .namespaceSelector }}
      namespaceSelector:
{{ toYaml .namespaceSelector | indent 8 }}
    {{- end }}
      selector:
{{ toYaml .selector | indent 8 }}
    {{- if .targetLabels }}
      targetLabels:
{{ toYaml .targetLabels | indent 8 }}
    {{- end }}
    {{- if .podTargetLabels }}
      podTargetLabels:
{{ toYaml .podTargetLabels | indent 8 }}
    {{- end }}
    {{- if .fallbackScrapeProtocol }}
      fallbackScrapeProtocol: {{ .fallbackScrapeProtocol }}
    {{- end }}
    {{- with .attachMetadata }}
      attachMetadata:
        {{- toYaml . | nindent 8 }}
    {{- end }}
{{- end }}
{{- end }}
