chore: mirror k8s-monitoring-2.0.12
upstream_repo:
This commit is contained in:
@ -0,0 +1,24 @@
|
||||
{{/* Define the logging component.*/}}
|
||||
{{/* Inputs: collectorName (string), Values */}}
|
||||
{{- define "collectors.logging.alloy" }}
|
||||
{{- with (index .Values .collectorName).logging }}
|
||||
{{- if or (ne .level "info" ) (ne .format "logfmt") }}
|
||||
logging {
|
||||
level = "{{ .level }}"
|
||||
format = "{{ .format }}"
|
||||
}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/* Define the livedebugging component.*/}}
|
||||
{{/* Inputs: collectorName (string), Values */}}
|
||||
{{- define "collectors.liveDebugging.alloy" }}
|
||||
{{- with (index .Values .collectorName).liveDebugging }}
|
||||
{{- if .enabled }}
|
||||
livedebugging {
|
||||
enabled = {{ .enabled }}
|
||||
}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -0,0 +1,5 @@
|
||||
{{- define "collectors.extraConfig.alloy" -}}
|
||||
{{- if (index .Values .collectorName).extraConfig }}
|
||||
{{ (index .Values .collectorName).extraConfig | trim }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
@ -0,0 +1,52 @@
|
||||
{{- define "collectors.list" -}}
|
||||
- alloy-metrics
|
||||
- alloy-singleton
|
||||
- alloy-logs
|
||||
- alloy-receiver
|
||||
- alloy-profiles
|
||||
{{- end }}
|
||||
|
||||
{{- define "collectors.list.enabled" -}}
|
||||
{{- range $collector := ((include "collectors.list" .) | fromYamlArray ) }}
|
||||
{{- if (index $.Values $collector).enabled }}
|
||||
- {{ $collector }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/* Inputs: Values (all values), name (collector name), feature (feature name) */}}
|
||||
{{- define "collectors.require_collector" -}}
|
||||
{{- if not (index .Values .name).enabled }}
|
||||
{{- $msg := list "" }}
|
||||
{{- $msg = append $msg (printf "The %s feature requires the use of the %s collector." .feature .name ) }}
|
||||
{{- $msg = append $msg "" }}
|
||||
{{- $msg = append $msg "Please enable it by setting:" }}
|
||||
{{- $msg = append $msg (printf "%s:" .name) }}
|
||||
{{- $msg = append $msg " enabled: true" }}
|
||||
{{- fail (join "\n" $msg) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/* Inputs: Values (all values), name (collector name), feature (feature name), portNumber, portName, portProtocol */}}
|
||||
{{- define "collectors.require_extra_port" -}}
|
||||
{{- $found := false -}}
|
||||
{{- range (index .Values .name).alloy.extraPorts -}}
|
||||
{{- if eq (int .targetPort) (int $.portNumber) }}
|
||||
{{- $found = true -}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if not $found }}
|
||||
{{- $msg := list "" }}
|
||||
{{- $msg = append $msg (printf "The %s feature requires that port %d to be open on the %s collector." .feature (.portNumber | int) .name ) }}
|
||||
{{- $msg = append $msg "" }}
|
||||
{{- $msg = append $msg "Please enable it by setting:" }}
|
||||
{{- $msg = append $msg (printf "%s:" .name) }}
|
||||
{{- $msg = append $msg " alloy:" }}
|
||||
{{- $msg = append $msg " extraPorts:" }}
|
||||
{{- $msg = append $msg (printf " - name: %s" .portName) }}
|
||||
{{- $msg = append $msg (printf " port: %d" (.portNumber | int)) }}
|
||||
{{- $msg = append $msg (printf " targetPort: %d" (.portNumber | int)) }}
|
||||
{{- $msg = append $msg (printf " protocol: %s" .portProtocol) }}
|
||||
{{- fail (join "\n" $msg) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -0,0 +1,11 @@
|
||||
{{- define "collectors.notes.deployments" }}
|
||||
{{- range $collector := include "collectors.list.enabled" . | fromYamlArray }}
|
||||
{{- $type := (index $.Values $collector).controller.type }}
|
||||
{{- $replicas := (index $.Values $collector).controller.replicas | default 1 | int }}
|
||||
{{- if ne $type "daemonset" }}
|
||||
{{- $type = printf "%s, %d replica" $type $replicas }}
|
||||
{{- if gt $replicas 1 }}{{- $type = printf "%ss" $type }}{{- end }}
|
||||
{{- end }}
|
||||
* Grafana Alloy "{{ $collector }}" ({{ $type }})
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -0,0 +1,81 @@
|
||||
{{- define "collectors.remoteConfig.alloy" -}}
|
||||
{{- $remoteConfigValues := (index .Values .collectorName).remoteConfig }}
|
||||
{{- with merge $remoteConfigValues (dict "type" "remoteConfig" "name" (printf "%s-remote-cfg" .collectorName)) }}
|
||||
{{- if .enabled }}
|
||||
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
|
||||
{{- include "secret.alloy" (deepCopy $ | merge (dict "object" .)) | nindent 0 }}
|
||||
{{- end }}
|
||||
remotecfg {
|
||||
id = sys.env("GCLOUD_FM_COLLECTOR_ID")
|
||||
url = {{ .url | quote }}
|
||||
{{- if eq (include "secrets.authType" .) "basic" }}
|
||||
basic_auth {
|
||||
username = {{ include "secrets.read" (dict "object" . "key" "auth.username" "nonsensitive" true) }}
|
||||
password = {{ include "secrets.read" (dict "object" . "key" "auth.password") }}
|
||||
}
|
||||
{{- end }}
|
||||
poll_frequency = {{ .pollFrequency | quote }}
|
||||
attributes = {
|
||||
"platform" = "kubernetes",
|
||||
"source" = "{{ $.Chart.Name }}",
|
||||
"sourceVersion" = "{{ $.Chart.Version }}",
|
||||
"release" = "{{ $.Release.Name }}",
|
||||
"cluster" = {{ $.Values.cluster.name | quote }},
|
||||
"namespace" = {{ $.Release.Namespace | quote }},
|
||||
"workloadType" = {{ (index $.Values $.collectorName).controller.type | quote }},
|
||||
{{- range $key, $value := .extraAttributes }}
|
||||
{{ $key | quote }} = {{ $value | quote }},
|
||||
{{- end }}
|
||||
}
|
||||
}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "collectors.validate.remoteConfig" }}
|
||||
{{- if (index .Values .collectorName).enabled }}
|
||||
{{- if (index .Values .collectorName).remoteConfig.enabled }}
|
||||
{{- if not (has (index .Values .collectorName).alloy.stabilityLevel (list "public-preview" "experimental")) }}
|
||||
{{- $msg := list "" "The remote configuration feature requires Alloy to use the \"public-preview\" stability level. Please set:" }}
|
||||
{{- $msg = append $msg (printf "%s:" .collectorName ) }}
|
||||
{{- $msg = append $msg " alloy:" }}
|
||||
{{- $msg = append $msg " stabilityLevel: public-preview" }}
|
||||
{{- fail (join "\n" $msg) }}
|
||||
{{- end }}
|
||||
{{- $hasCollectorIdEnv := false }}
|
||||
{{- $hasAPIKey := false }}
|
||||
{{- range $env := (index .Values .collectorName).alloy.extraEnv }}
|
||||
{{- if eq $env.name "GCLOUD_FM_COLLECTOR_ID" }}{{ $hasCollectorIdEnv = true }}{{- end }}
|
||||
{{- if eq $env.name "GCLOUD_RW_API_KEY" }}{{ $hasAPIKey = true }}{{- end }}
|
||||
{{- end }}
|
||||
{{- if not $hasCollectorIdEnv }}
|
||||
{{- $msg := list "" "The remote configuration feature requires the environment variable GCLOUD_FM_COLLECTOR_ID to be set. Please set:" }}
|
||||
{{- $msg = append $msg (printf "%s:" .collectorName ) }}
|
||||
{{- $msg = append $msg " alloy:" }}
|
||||
{{- $msg = append $msg " extraEnv:" }}
|
||||
{{- $msg = append $msg " - name: GCLOUD_FM_COLLECTOR_ID" }}
|
||||
{{- $msg = append $msg " value: " }}
|
||||
{{- fail (join "\n" $msg) }}
|
||||
{{- end }}
|
||||
{{- if not $hasAPIKey }}
|
||||
{{- $msg := list "" "The remote configuration feature requires the environment variable GCLOUD_RW_API_KEY to be set. Please set:" }}
|
||||
{{- $msg = append $msg (printf "%s:" .collectorName ) }}
|
||||
{{- $msg = append $msg " alloy:" }}
|
||||
{{- $msg = append $msg " extraEnv:" }}
|
||||
{{- $msg = append $msg " - name: GCLOUD_RW_API_KEY" }}
|
||||
{{- $msg = append $msg " value: <Grafana Cloud Access Policy Token" }}
|
||||
{{- $msg = append $msg "OR" }}
|
||||
{{- $msg = append $msg " valueFrom:" }}
|
||||
{{- $msg = append $msg " secretKeyRef:" }}
|
||||
{{- $msg = append $msg " name: <secret name>" }}
|
||||
{{- $msg = append $msg " key: <secret key>" }}
|
||||
{{- fail (join "\n" $msg) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "secrets.list.remoteConfig" -}}
|
||||
- auth.username
|
||||
- auth.password
|
||||
{{- end -}}
|
@ -0,0 +1,34 @@
|
||||
{{- define "collectors.validate.featuresEnabled" }}
|
||||
{{- $msg := list "" "The %s collector is enabled, but there are no enabled features that will use it. Please disable the collector by setting:" }}
|
||||
{{- $msg = append $msg "%s:" }}
|
||||
{{- $msg = append $msg " enabled: false" }}
|
||||
{{- $errorMessage := join "\n" $msg }}
|
||||
|
||||
{{- $collectorsUtilized := list }}
|
||||
{{- range $feature := include "features.list.enabled" . | fromYamlArray }}
|
||||
{{- $collectorsUtilized = concat $collectorsUtilized (include (printf "features.%s.collectors" $feature) $ | fromYamlArray) }}
|
||||
{{- end }}
|
||||
|
||||
{{- range $collector := include "collectors.list.enabled" . | fromYamlArray }}
|
||||
{{- $usedByAFeature := has $collector $collectorsUtilized }}
|
||||
{{- $extraConfigDefined := not (not (index $.Values $collector).extraConfig) }}
|
||||
{{- $remoteConfigEnabled := (index $.Values $collector).remoteConfig.enabled }}
|
||||
{{- if not (or $usedByAFeature $extraConfigDefined $remoteConfigEnabled) }}
|
||||
{{- fail (printf $errorMessage $collector $collector) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "collectors.validate.liveDebugging" }}
|
||||
{{- if (index .Values .collectorName).enabled }}
|
||||
{{- if (index .Values .collectorName).liveDebugging.enabled }}
|
||||
{{- if not (eq (index .Values .collectorName).alloy.stabilityLevel "experimental") }}
|
||||
{{- $msg := list "" "The live debugging feature requires Alloy to use the \"experimental\" stability level. Please set:" }}
|
||||
{{- $msg = append $msg (printf "%s:" .collectorName ) }}
|
||||
{{- $msg = append $msg " alloy:" }}
|
||||
{{- $msg = append $msg " stabilityLevel: experimental" }}
|
||||
{{- fail (join "\n" $msg) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
Reference in New Issue
Block a user