cw-infra-apps/grafana/charts/feature-integrations/templates/configmap.yaml

50 lines
1.8 KiB
YAML

{{- if .Values.deployAsConfigMap }}
{{- $metricIntegrations := include "feature.integrations.configured.metrics" . | fromYamlArray }}
{{- $metricsConfig := "" }}
{{- range $integration := $metricIntegrations }}
{{- if (index $.Values $integration).instances }}
{{- $metricsConfig = cat $metricsConfig (include (printf "integrations.%s.module.metrics" $integration) $) }}
{{- end }}
{{- end }}
{{- $metricsConfig = regexReplaceAll `[ \t]+(\r?\n)` $metricsConfig "\n" }}
{{- $logIntegrations := include "feature.integrations.configured.logs" . | fromYamlArray }}
{{- $logsDiscoveryRules := "" }}
{{- range $integration := $logIntegrations }}
{{- if (index $.Values $integration).instances }}
{{- $logsDiscoveryRules = cat $logsDiscoveryRules (include (printf "integrations.%s.logs.discoveryRules" $integration) $) }}
{{- end }}
{{- end }}
{{- $logsDiscoveryRules = regexReplaceAll `[ \t]+(\r?\n)` $logsDiscoveryRules "\n" }}
{{- $logsProcessingStages := "" }}
{{- range $integration := $logIntegrations }}
{{- if (index $.Values $integration).instances }}
{{- $logsProcessingStages = cat $logsProcessingStages (include (printf "integrations.%s.logs.processingStage" $integration) $) }}
{{- end }}
{{- end }}
{{- $logsProcessingStages = regexReplaceAll `[ \t]+(\r?\n)` $logsProcessingStages "\n" }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "integrations.fullname" . }}
namespace: {{ .Release.Namespace }}
data:
{{- if $metricsConfig }}
metrics.alloy: |-
{{- $metricsConfig | trim | nindent 4 }}
{{- end }}
{{- if $logIntegrations }}
logs.alloy: |-
// Integration rules
discovery.relabel "test" {
{{- $logsDiscoveryRules | trim | nindent 6 }}
}
// Processing stages
loki.process "test" {
{{- $logsProcessingStages | trim | nindent 6 }}
}
{{- end }}
{{- end }}