{{- if and .Values.cluster.monitoring.enabled .Values.cluster.monitoring.prometheusRule.enabled -}} apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: {{ include "cluster.name" $ }}-alert-rules namespace: {{ include "cluster.namespace" $ }} labels: {{- include "cluster.labels" $ | nindent 4 }} spec: groups: - name: cloudnative-pg/{{ include "cluster.name" . }} rules: {{- $dict := dict "excludeRules" .Values.cluster.monitoring.prometheusRule.excludeRules -}} {{- $_ := set $dict "value" "{{`{{`}} $value {{`}}`}}" -}} {{- $_ := set $dict "namespace" .Release.Namespace -}} {{- $_ := set $dict "cluster" (printf "%s-cluster" (include "cluster.name" .) ) -}} {{- $_ := set $dict "labels" (dict "job" "{{`{{`}} $labels.job {{`}}`}}" "node" "{{`{{`}} $labels.node {{`}}`}}" "pod" "{{`{{`}} $labels.pod {{`}}`}}") -}} {{- $_ := set $dict "podSelector" (printf "%s-cluster-([1-9][0-9]*)$" (include "cluster.name" .) ) -}} {{- $_ := set $dict "Values" .Values -}} {{- $_ := set $dict "Template" .Template -}} {{- range $path, $_ := .Files.Glob "prometheus_rules/**.yaml" }} {{- $tpl := tpl ($.Files.Get $path) $dict | nindent 10 | trim -}} {{- with $tpl }} - {{ $tpl }} {{- end -}} {{- end }} {{ end }}