From 7fb3861e11c840bba3a82779a7dfd869e98513dc Mon Sep 17 00:00:00 2001 From: Andrii Chubatiuk Date: Thu, 3 Oct 2024 22:55:07 +0300 Subject: [PATCH] k8s-stack: generate vm components tag from app version by default --- charts/victoria-metrics-k8s-stack/CHANGELOG.md | 2 +- .../templates/_helpers.tpl | 14 +++++++++++--- charts/victoria-metrics-k8s-stack/values.yaml | 12 ------------ 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/charts/victoria-metrics-k8s-stack/CHANGELOG.md b/charts/victoria-metrics-k8s-stack/CHANGELOG.md index ac21fe1a0..ad5d48f62 100644 --- a/charts/victoria-metrics-k8s-stack/CHANGELOG.md +++ b/charts/victoria-metrics-k8s-stack/CHANGELOG.md @@ -1,6 +1,6 @@ ## Next release -- TODO +- Generate VM components tag version from chart app name by default ## 0.27.0 diff --git a/charts/victoria-metrics-k8s-stack/templates/_helpers.tpl b/charts/victoria-metrics-k8s-stack/templates/_helpers.tpl index 4429e725e..1bdfd4453 100644 --- a/charts/victoria-metrics-k8s-stack/templates/_helpers.tpl +++ b/charts/victoria-metrics-k8s-stack/templates/_helpers.tpl @@ -241,6 +241,7 @@ If release name contains chart name it will be used as a full name. {{- /* VMAlert spec */ -}} {{- define "vm.alert.spec" -}} {{- $Values := (.helm).Values | default .Values }} + {{- $Chart := (.helm).Chart | default .Chart }} {{- $extraArgs := dict "remoteWrite.disablePathAppend" "true" -}} {{- if $Values.vmalert.templateFiles -}} {{- $ruleTmpl := (printf "/etc/vm/configs/%s-vmalert-extra-tpl/*.tmpl" (include "victoria-metrics-k8s-stack.fullname" .)) -}} @@ -248,7 +249,7 @@ If release name contains chart name it will be used as a full name. {{- end -}} {{- $vmAlertRemotes := (include "vm.alert.remotes" . | fromYaml) -}} {{- $vmAlertTemplates := (include "vm.alert.templates" . | fromYaml) -}} - {{- $spec := dict "extraArgs" $extraArgs -}} + {{- $spec := dict "extraArgs" $extraArgs "image" (dict "tag" $Chart.AppVersion) -}} {{- with (include "vm.license.global" .) -}} {{- $_ := set $spec "license" (fromYaml .) -}} {{- end -}} @@ -276,10 +277,12 @@ If release name contains chart name it will be used as a full name. {{- /* VMAgent spec */ -}} {{- define "vm.agent.spec" -}} {{- $Values := (.helm).Values | default .Values }} + {{- $Chart := (.helm).Chart | default .Chart }} {{- $spec := (include "vm.agent.remote.write" . | fromYaml) -}} {{- with (include "vm.license.global" .) -}} {{- $_ := set $spec "license" (fromYaml .) -}} {{- end -}} + {{- $_ := set $spec "image" (dict "tag" $Chart.AppVersion) -}} {{- tpl (deepCopy $Values.vmagent.spec | mergeOverwrite $spec | toYaml) . -}} {{- end }} @@ -344,12 +347,13 @@ If release name contains chart name it will be used as a full name. {{- /* Single spec */ -}} {{- define "vm.single.spec" -}} {{- $Values := (.helm).Values | default .Values }} + {{- $Chart := (.helm).Chart | default .Chart }} {{- $extraArgs := default dict -}} {{- if $Values.vmalert.enabled }} {{- $ctx := dict "helm" . "appKey" "vmalert" -}} {{- $_ := set $extraArgs "vmalert.proxyURL" (include "vm.url" $ctx) -}} {{- end -}} - {{- $spec := dict "extraArgs" $extraArgs -}} + {{- $spec := dict "extraArgs" $extraArgs "image" (dict "tag" $Chart.AppVersion) -}} {{- with (include "vm.license.global" .) -}} {{- $_ := set $spec "license" (fromYaml .) -}} {{- end -}} @@ -359,18 +363,22 @@ If release name contains chart name it will be used as a full name. {{- /* Cluster spec */ -}} {{- define "vm.select.spec" -}} {{- $Values := (.helm).Values | default .Values }} + {{- $Chart := (.helm).Chart | default .Chart }} {{- $extraArgs := default dict -}} {{- if $Values.vmalert.enabled -}} {{- $ctx := dict "helm" . "appKey" "vmalert" -}} {{- $_ := set $extraArgs "vmalert.proxyURL" (include "vm.url" $ctx) -}} {{- end -}} - {{- $spec := dict "extraArgs" $extraArgs -}} + {{- $spec := dict "extraArgs" $extraArgs "image" (dict "tag" (printf "%s-cluster" $Chart.AppVersion)) -}} {{- toYaml $spec -}} {{- end -}} {{- define "vm.cluster.spec" -}} {{- $Values := (.helm).Values | default .Values }} + {{- $Chart := (.helm).Chart | default .Chart }} {{- $spec := (include "vm.select.spec" . | fromYaml) -}} + {{- $_ := set $spec.vminsert.image.tag (printf "%s-cluster" $Chart.AppVersion) -}} + {{- $_ := set $spec.vmstorage.image.tag (printf "%s-cluster" $Chart.AppVersion) -}} {{- $clusterSpec := (deepCopy $Values.vmcluster.spec) -}} {{- with (include "vm.license.global" .) -}} {{- $_ := set $clusterSpec "license" (fromYaml .) -}} diff --git a/charts/victoria-metrics-k8s-stack/values.yaml b/charts/victoria-metrics-k8s-stack/values.yaml index c6174cbeb..5ffc2bd4d 100644 --- a/charts/victoria-metrics-k8s-stack/values.yaml +++ b/charts/victoria-metrics-k8s-stack/values.yaml @@ -261,8 +261,6 @@ vmsingle: # -- Full spec for VMSingle CRD. Allowed values describe [here](https://docs.victoriametrics.com/operator/api#vmsinglespec) spec: port: "8429" - image: - tag: v1.104.0 # -- Data retention period. Possible units character: h(ours), d(ays), w(eeks), y(ears), if no unit character specified - month. The minimum retention period is 24h. See these [docs](https://docs.victoriametrics.com/single-server-victoriametrics/#retention) retentionPeriod: "1" replicaCount: 1 @@ -320,8 +318,6 @@ vmcluster: retentionPeriod: "1" replicationFactor: 2 vmstorage: - image: - tag: v1.104.0-cluster replicaCount: 2 storageDataPath: "/vm-data" storage: @@ -337,8 +333,6 @@ vmcluster: # memory: 1500Mi vmselect: port: "8481" - image: - tag: v1.104.0-cluster replicaCount: 2 cacheMountPath: "/select-cache" extraArgs: {} @@ -358,8 +352,6 @@ vmcluster: # memory: "500Mi" vminsert: port: "8480" - image: - tag: v1.104.0-cluster replicaCount: 2 extraArgs: {} resources: @@ -667,8 +659,6 @@ vmalert: spec: port: "8080" selectAllByDefault: true - image: - tag: v1.104.0 evaluationInterval: 15s extraArgs: http.pathPrefix: "/" @@ -748,8 +738,6 @@ vmagent: spec: port: "8429" selectAllByDefault: true - image: - tag: v1.104.0 scrapeInterval: 20s externalLabels: {} # For multi-cluster setups it is useful to use "cluster" label to identify the metrics source.