81 lines
4.3 KiB
Smarty
81 lines
4.3 KiB
Smarty
{{- define "features.integrations.enabled" }}
|
|
{{- $metricIntegrations := include "feature.integrations.configured.metrics" (dict "Values" .Values.integrations "Files" $.Subcharts.integrations.Files) | fromYamlArray }}
|
|
{{- $logIntegrations := include "feature.integrations.configured.logs" (dict "Values" .Values.integrations "Files" $.Subcharts.integrations.Files) | fromYamlArray }}
|
|
{{- if or $metricIntegrations $logIntegrations }}true{{ else }}false{{ end }}
|
|
{{- end }}
|
|
|
|
{{- define "features.integrations.collectors" }}
|
|
{{- $metricIntegrations := include "feature.integrations.configured.metrics" (dict "Values" .Values.integrations) | fromYamlArray }}
|
|
{{- if (not (empty $metricIntegrations)) }}
|
|
- {{ .Values.integrations.collector }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- define "features.integrations.metrics.include" }}
|
|
{{- $values := dict "Chart" $.Subcharts.integrations.Chart "Values" .Values.integrations "Files" $.Subcharts.integrations.Files "Release" $.Release }}
|
|
{{- $destinations := include "features.integrations.destinations" . | fromYamlArray }}
|
|
{{- $integrations := include "feature.integrations.configured.metrics" $values | fromYamlArray }}
|
|
{{- range $integrationType := $integrations }}
|
|
{{- include (printf "integrations.%s.module.metrics" $integrationType) $values | indent 0 }}
|
|
{{ include "helper.alloy_name" $integrationType }}_integration "integration" {
|
|
metrics_destinations = [
|
|
{{ include "destinations.alloy.targets" (dict "destinations" $.Values.destinations "names" $destinations "type" "metrics" "ecosystem" "prometheus") | indent 4 | trim }}
|
|
]
|
|
}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- define "features.integrations.include" }}
|
|
{{- if eq .collectorName .Values.integrations.collector }}
|
|
{{ include "features.integrations.metrics.include" . | indent 0 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- define "features.integrations.destinations" }}
|
|
{{- include "destinations.get" (dict "destinations" $.Values.destinations "type" "metrics" "ecosystem" "prometheus" "filter" $.Values.integrations.destinations) -}}
|
|
{{- end }}
|
|
|
|
{{- define "features.integrations.logs.discoveryRules" }}
|
|
{{- $values := (dict "Values" .Values.integrations "Files" $.Subcharts.integrations.Files) }}
|
|
{{- $extraDiscoveryRules := list }}
|
|
{{- $logIntegrations := include "feature.integrations.configured.logs" $values | fromYamlArray }}
|
|
{{- range $integration := $logIntegrations }}
|
|
{{- $extraDiscoveryRules = append $extraDiscoveryRules ((include (printf "integrations.%s.logs.discoveryRules" $integration) $values) | indent 0) }}
|
|
{{- end }}
|
|
{{ $extraDiscoveryRules | join "\n" }}
|
|
{{- end }}
|
|
|
|
{{- define "features.integrations.logs.logProcessingStages" }}
|
|
{{- $values := (dict "Values" .Values.integrations "Files" $.Subcharts.integrations.Files) }}
|
|
{{- $extraLogProcessingStages := "" }}
|
|
{{- $logIntegrations := include "feature.integrations.configured.logs" $values | fromYamlArray }}
|
|
{{- range $integration := $logIntegrations }}
|
|
{{- $extraLogProcessingStages = cat $extraLogProcessingStages "\n" (include (printf "integrations.%s.logs.processingStage" $integration) $values) | indent 0 }}
|
|
{{- end }}
|
|
{{ $extraLogProcessingStages }}
|
|
{{- end }}
|
|
|
|
{{- define "features.integrations.validate" }}
|
|
{{- if eq (include "features.integrations.enabled" .) "true" }}
|
|
{{- $featureName := "Service Integrations" }}
|
|
|
|
{{- $metricIntegrations := include "feature.integrations.configured.metrics" (dict "Values" .Values.integrations "Files" $.Subcharts.integrations.Files) | fromYamlArray }}
|
|
{{- if $metricIntegrations }}
|
|
{{- $metricDestinations := include "features.integrations.destinations" . | fromYamlArray }}
|
|
{{- include "destinations.validate_destination_list" (dict "destinations" $metricDestinations "type" "metrics" "ecosystem" "prometheus" "feature" $featureName) }}
|
|
{{- end }}
|
|
|
|
{{- $podLogsEnabled := include "features.podLogs.enabled" $ }}
|
|
{{- $logIntegrations := include "feature.integrations.configured.logs" (dict "Values" .Values.integrations "Files" $.Subcharts.integrations.Files) | fromYamlArray }}
|
|
{{- if and $logIntegrations (ne $podLogsEnabled "true") }}
|
|
{{- $msg := list "" "Service integrations that include logs requires enabling the Pod Logs feature." }}
|
|
{{- $msg = append $msg "Please set:" }}
|
|
{{- $msg = append $msg "podLogs:" }}
|
|
{{- $msg = append $msg " enabled: true" }}
|
|
{{- fail (join "\n" $msg) }}
|
|
{{- end }}
|
|
|
|
{{- include "feature.integrations.validate" (dict "Values" $.Values.integrations) }}
|
|
{{- end }}
|
|
{{- end }}
|