Files
devops-infra-helm-charts-gcp/helm-templates/victoria-metrics-agent-latest/templates/_helpers.tpl
T
2026-08-26 03:39:42 +05:30

59 lines
2.4 KiB
Smarty

{{- define "vmagent.args" -}}
{{- $args := default dict -}}
{{- $Values := (.helm).Values | default .Values -}}
{{- if empty $Values.remoteWrite -}}
{{- fail "Please define at least one remoteWrite" -}}
{{- end -}}
{{- $_ := set $args "promscrape.config" "/config/scrape/scrape.yml" -}}
{{- $_ := set $args "remoteWrite.tmpDataPath" "/tmpData" -}}
{{- range $i, $rw := $Values.remoteWrite -}}
{{- if not $rw.url -}}
{{- fail (printf "`url` is not set for `remoteWrite` idx %d" $i) -}}
{{- end -}}
{{- range $rwKey, $rwValue := $rw -}}
{{- $key := printf "remoteWrite.%s" $rwKey -}}
{{- $param := index $args $key | default list -}}
{{- range until (int (sub $i (len $param))) }}
{{- $param = append $param "" }}
{{- end }}
{{- if or (kindIs "slice" $rwValue) (kindIs "map" $rwValue) -}}
{{- $param = append $param (printf "/config/rw/%d-%s.yaml" $i $rwKey) }}
{{- else -}}
{{- $param = append $param $rwValue }}
{{- end -}}
{{- $_ := set $args $key $param -}}
{{- end -}}
{{- end -}}
{{- $args = mergeOverwrite $args (fromYaml (include "vm.license.flag" .)) -}}
{{- $args = mergeOverwrite $args $Values.extraArgs -}}
{{- if and (eq $Values.mode "statefulSet") $Values.statefulSet.clusterMode }}
{{- $_ := set $args "promscrape.cluster.membersCount" $Values.replicaCount -}}
{{- $_ := set $args "promscrape.cluster.replicationFactor" $Values.statefulSet.replicationFactor -}}
{{- $_ := set $args "promscrape.cluster.memberNum" "$(POD_NAME)" -}}
{{- end -}}
{{- toYaml (fromYaml (include "vm.args" $args)).args -}}
{{- end -}}
{{- define "vmagent.rw.config" -}}
{{- $Values := (.helm).Values | default .Values -}}
{{- $rwcm := default dict }}
{{- range $i, $rw := $Values.remoteWrite }}
{{- range $rwKey, $rwValue := $rw }}
{{- if or (kindIs "slice" $rwValue) (kindIs "map" $rwValue) }}
{{- $rwContent := toYaml $rwValue }}
{{- if $Values.config.useTpl }}
{{- $rwContent = tpl $rwContent $ | trim }}
{{- end }}
{{- $_ := set $rwcm (printf "%d-%s.yaml" $i $rwKey) $rwContent }}
{{- end -}}
{{- end -}}
{{- end -}}
{{- toYaml $rwcm -}}
{{- end -}}
{{- define "vmagent.scrape.config.name" -}}
{{- $Values := (.helm).Values | default .Values -}}
{{- $fullname := include "vm.plain.fullname" . -}}
{{- $Values.configMap | default (printf "%s-config" $fullname) -}}
{{- end -}}