Skip to content

Commit 5b15810

Browse files
authored
fix(argo-workflows): avoid label exceeding maximum length (argoproj#1692)
fix(argo-workflows): generated value for app.kubernetes.io/version label for argo-workflows will not exceed maximum length and support image tags with a SHA digest. Signed-off-by: Pedro Salgado <[email protected]> Signed-off-by: Pedro Salgado <[email protected]>
1 parent 7bb7caa commit 5b15810

File tree

5 files changed

+34
-7
lines changed

5 files changed

+34
-7
lines changed

charts/argo-workflows/Chart.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ appVersion: v3.4.4
33
name: argo-workflows
44
description: A Helm chart for Argo Workflows
55
type: application
6-
version: 0.22.0
6+
version: 0.22.1
77
icon: https://raw.githubusercontent.com/argoproj/argo-workflows/master/docs/assets/argo.png
88
home: https://github.com/argoproj/argo-helm
99
sources:
@@ -13,4 +13,5 @@ maintainers:
1313
url: https://argoproj.github.io/
1414
annotations:
1515
artifacthub.io/changes: |
16-
- "[Fixed]: Missing Artifact GC permissions"
16+
- "[Fixed]: avoid app.kubernetes.io/version kubernetes label from exceeding maximum length (63)
17+
- "[Fixed]: generated value for app.kubernetes.io/version label is now valid even when defining a controller/server/executor.image.tag with a SHA digest"

charts/argo-workflows/templates/_helpers.tpl

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,32 @@ Create chart name and version as used by the chart label.
4545
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
4646
{{- end -}}
4747

48+
{{/*
49+
Create kubernetes friendly chart version label for the controller.
50+
Examples:
51+
image.tag = v3.4.4
52+
output = v3.4.4
53+
54+
image.tag = v3.4.4@sha256:d06860f1394a94ac3ff8401126ef32ba28915aa6c3c982c7e607ea0b4dadb696
55+
output = v3.4.4
56+
*/}}
57+
{{- define "argo-workflows.controller_chart_version_label" -}}
58+
{{- regexReplaceAll "[^a-zA-Z0-9-_.]+" (regexReplaceAll "@sha256:[a-f0-9]+" (default (include "argo-workflows.defaultTag" .) .Values.controller.image.tag) "") "" | trunc 63 | quote -}}
59+
{{- end -}}
60+
61+
{{/*
62+
Create kubernetes friendly chart version label for the server.
63+
Examples:
64+
image.tag = v3.4.4
65+
output = v3.4.4
66+
67+
image.tag = v3.4.4@sha256:d06860f1394a94ac3ff8401126ef32ba28915aa6c3c982c7e607ea0b4dadb696
68+
output = v3.4.4
69+
*/}}
70+
{{- define "argo-workflows.server_chart_version_label" -}}
71+
{{- regexReplaceAll "[^a-zA-Z0-9-_.]+" (regexReplaceAll "@sha256:[a-f0-9]+" (default (include "argo-workflows.defaultTag" .) .Values.server.image.tag) "") "" | trunc 63 | quote -}}
72+
{{- end -}}
73+
4874
{{/*
4975
Common labels
5076
*/}}

charts/argo-workflows/templates/controller/workflow-controller-deployment.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ metadata:
44
name: {{ template "argo-workflows.controller.fullname" . }}
55
labels:
66
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
7-
app.kubernetes.io/version: {{ default (include "argo-workflows.defaultTag" .) .Values.controller.image.tag | trunc 63 | quote }}
7+
app.kubernetes.io/version: {{ include "argo-workflows.controller_chart_version_label" . }}
88
{{- with .Values.controller.deploymentAnnotations }}
99
annotations:
1010
{{- toYaml . | nindent 4 }}
@@ -18,7 +18,7 @@ spec:
1818
metadata:
1919
labels:
2020
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 8 }}
21-
app.kubernetes.io/version: {{ default (include "argo-workflows.defaultTag" .) .Values.controller.image.tag | trunc 63 | quote }}
21+
app.kubernetes.io/version: {{ include "argo-workflows.controller_chart_version_label" . }}
2222
{{- with.Values.controller.podLabels }}
2323
{{- toYaml . | nindent 8 }}
2424
{{- end }}

charts/argo-workflows/templates/server/server-deployment.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
name: {{ template "argo-workflows.server.fullname" . }}
66
labels:
77
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
8-
app.kubernetes.io/version: {{ default (include "argo-workflows.defaultTag" .) .Values.server.image.tag | trunc 63 | quote }}
8+
app.kubernetes.io/version: {{ include "argo-workflows.server_chart_version_label" . }}
99
{{- with .Values.server.deploymentAnnotations }}
1010
annotations:
1111
{{- toYaml . | nindent 4 }}
@@ -19,7 +19,7 @@ spec:
1919
metadata:
2020
labels:
2121
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 8 }}
22-
app.kubernetes.io/version: {{ default (include "argo-workflows.defaultTag" .) .Values.server.image.tag | trunc 63 | quote }}
22+
app.kubernetes.io/version: {{ include "argo-workflows.server_chart_version_label" . }}
2323
{{- with .Values.server.podLabels }}
2424
{{- toYaml . | nindent 8 }}
2525
{{- end }}

charts/argo-workflows/templates/server/server-service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
name: {{ template "argo-workflows.server.fullname" . }}
66
labels:
77
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
8-
app.kubernetes.io/version: {{ default (include "argo-workflows.defaultTag" .) .Values.server.image.tag | trunc 63 | quote }}
8+
app.kubernetes.io/version: {{ include "argo-workflows.server_chart_version_label" . }}
99
{{- with .Values.server.serviceAnnotations }}
1010
annotations:
1111
{{- toYaml . | nindent 4 }}

0 commit comments

Comments
 (0)