Skip to content

Commit ca52f36

Browse files
committed
feat: support tag@digest format
Signed-off-by: Benjamin Pinchon <dev@mdfr.me>
1 parent 62235b0 commit ca52f36

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed

charts/keycloakx/templates/_helpers.tpl

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Common labels
3535
{{- define "keycloak.labels" -}}
3636
helm.sh/chart: {{ include "keycloak.chart" . }}
3737
{{ include "keycloak.selectorLabels" . }}
38-
app.kubernetes.io/version: {{ .Values.image.tag | default .Chart.AppVersion | toString | trunc 63 | quote }}
38+
app.kubernetes.io/version: {{ include "keycloak.imageVersion" . | quote }}
3939
app.kubernetes.io/managed-by: {{ .Release.Service }}
4040
{{- end }}
4141

@@ -85,3 +85,34 @@ Renders a complete tree, even values that contains template.
8585
{{- tpl (.value | toYaml) .context }}
8686
{{- end }}
8787
{{- end -}}
88+
89+
{{/*
90+
Extract version from tag, removing digest suffix if present.
91+
Supports formats: "1.2.3", "1.2.3@sha256:abc123"
92+
Returns only the version part (before @) for use in Kubernetes labels.
93+
*/}}
94+
{{- define "keycloak.imageVersion" -}}
95+
{{- $tag := .Values.image.tag | default .Chart.AppVersion | toString -}}
96+
{{- $parts := splitList "@" $tag -}}
97+
{{- first $parts | trunc 63 -}}
98+
{{- end -}}
99+
100+
{{/*
101+
Build the full image reference.
102+
Supports multiple formats:
103+
- tag only: "repository:tag"
104+
- digest only: "repository@digest" (when image.digest is set)
105+
- tag@digest in tag field: "repository:tag@digest"
106+
*/}}
107+
{{- define "keycloak.image" -}}
108+
{{- $repository := .Values.image.repository -}}
109+
{{- $digest := .Values.image.digest | default "" -}}
110+
{{- if $digest -}}
111+
{{- /* Digest field is set - use digest only */ -}}
112+
{{- printf "%s@%s" $repository $digest -}}
113+
{{- else -}}
114+
{{- $tag := .Values.image.tag | default .Chart.AppVersion | toString -}}
115+
{{- /* Tag may contain digest (tag@digest format from Renovate) */ -}}
116+
{{- printf "%s:%s" $repository $tag -}}
117+
{{- end -}}
118+
{{- end -}}

charts/keycloakx/templates/statefulset.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ spec:
7171
- name: keycloak
7272
securityContext:
7373
{{- toYaml .Values.securityContext | nindent 12 }}
74-
image: "{{ .Values.image.repository }}{{- if (.Values.image.digest) -}}@{{ .Values.image.digest }}{{- else -}}:{{ .Values.image.tag | default .Chart.AppVersion }} {{- end }}"
74+
image: {{ include "keycloak.image" . | quote }}
7575
imagePullPolicy: {{ .Values.image.pullPolicy }}
7676
{{- if .Values.command }}
7777
command:

0 commit comments

Comments
 (0)