Skip to content

Commit b0da2dd

Browse files
[observability] Add propagated prometheus rules
Signed-off-by: Maksim Madzhuga <[email protected]>
1 parent 4adce61 commit b0da2dd

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

charts/helm_lib/templates/_monitoring_prometheus_rules.tpl

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,40 @@
4242

4343
{{- end }}
4444

45-
{{ $definition = $definitionStruct.Rules | toYaml }}
46-
4745
{{- $resourceName := (regexReplaceAllLiteral "\\.(yaml|tpl)$" $path "") }}
4846
{{- $resourceName = ($resourceName | replace " " "-" | replace "." "-" | replace "_" "-") }}
4947
{{- $resourceName = (slice ($resourceName | splitList "/") $folderNamesIndex | join "-") }}
5048
{{- $resourceName = (printf "%s-%s" $context.Chart.Name $resourceName) }}
49+
{{- $propagated := contains "propagated-" $resourceName }}
50+
{{- $hasObservabilityModule := has "observability" $context.Values.global.enabledModules }}
51+
{{- $useObservabilityRules := has "observability.deckhouse.io/v1alpha1/ClusterObservabilityMetricsRulesGroup" $context.Values.global.discovery.apiVersions }}
52+
{{- if and $hasObservabilityModule $useObservabilityRules }}
53+
{{- range $idx, $group := $definitionStruct.Rules }}
54+
{{- $_ := unset $group "name" }}
55+
{{- $resourceName = $resourceName | replace "propagated-" "" }}
56+
{{- $groupResourceName := printf "%s-%d" $resourceName $idx }}
57+
---
58+
apiVersion: observability.deckhouse.io/v1alpha1
59+
kind: {{ $propagated | ternary "ClusterObservabilityPropagatedMetricsRulesGroup" "ClusterObservabilityMetricsRulesGroup" }}
60+
metadata:
61+
name: {{ $groupResourceName }}
62+
{{- include "helm_lib_module_labels" (list $context (dict "app" "prometheus" "prometheus" "main" "component" "rules")) | nindent 2 }}
63+
spec:
64+
{{- $group | toYaml | nindent 2 }}
65+
{{- end }}
66+
{{- else }}
67+
{{- $definition := $definitionStruct.Rules | toYaml }}
5168
---
5269
apiVersion: monitoring.coreos.com/v1
5370
kind: PrometheusRule
5471
metadata:
5572
name: {{ $resourceName }}
5673
namespace: {{ $namespace }}
57-
{{- include "helm_lib_module_labels" (list $context (dict "app" "prometheus" "prometheus" "main" "component" "rules")) | nindent 2 }}
74+
{{- include "helm_lib_module_labels" (list $context (dict "app" "prometheus" "prometheus" "main" "component" "rules")) | nindent 2 }}
5875
spec:
5976
groups:
6077
{{- $definition | nindent 4 }}
78+
{{- end }}
6179
{{- end }}
6280

6381
{{- $subDirs := list }}

0 commit comments

Comments
 (0)