From 10b3e077b5df0d7e12a1386b379e8c812bef879a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20V=C3=B6geli?= Date: Wed, 5 Nov 2025 11:05:46 +0100 Subject: [PATCH] feat(helm): support both object and string formats for imagePullSecrets Extended Helm chart configuration to allow imagePullSecrets to be defined either as a list of strings (e.g., `- my-pull-secret`) or as a list of objects with `name` keys (e.g., `- name: my-pull-secret`). --- .../chart/reloader/templates/_helpers.tpl | 16 ++++++++++++++++ .../chart/reloader/templates/deployment.yaml | 4 ++-- .../chart/reloader/templates/serviceaccount.yaml | 3 ++- .../kubernetes/chart/reloader/values.yaml | 2 ++ 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/deployments/kubernetes/chart/reloader/templates/_helpers.tpl b/deployments/kubernetes/chart/reloader/templates/_helpers.tpl index 8987fb52..831be8d3 100644 --- a/deployments/kubernetes/chart/reloader/templates/_helpers.tpl +++ b/deployments/kubernetes/chart/reloader/templates/_helpers.tpl @@ -87,3 +87,19 @@ Create the namespace selector if it does not watch globally {{ .Values.reloader.namespaceSelector }} {{- end -}} {{- end -}} + +{{/* +Normalizes global.imagePullSecrets to a list of objects with name fields. +Supports both of these in values.yaml: + # - name: my-pull-secret + # - my-pull-secret +*/}} +{{- define "reloader-imagePullSecrets" -}} +{{- range $s := .Values.global.imagePullSecrets }} +{{- if kindIs "map" $s }} +- {{ toYaml $s | nindent 2 | trim }} +{{- else }} +- name: {{ $s }} +{{- end }} +{{- end }} +{{- end -}} diff --git a/deployments/kubernetes/chart/reloader/templates/deployment.yaml b/deployments/kubernetes/chart/reloader/templates/deployment.yaml index de4222e4..f4107f7f 100644 --- a/deployments/kubernetes/chart/reloader/templates/deployment.yaml +++ b/deployments/kubernetes/chart/reloader/templates/deployment.yaml @@ -44,9 +44,9 @@ spec: {{ tpl (toYaml .Values.reloader.matchLabels) . | indent 8 }} {{- end }} spec: - {{- with .Values.global.imagePullSecrets }} + {{- if .Values.global.imagePullSecrets }} imagePullSecrets: - {{- toYaml . | nindent 8 }} +{{ include "reloader-imagePullSecrets" . | indent 8 }} {{- end }} {{- if .Values.reloader.deployment.nodeSelector }} nodeSelector: diff --git a/deployments/kubernetes/chart/reloader/templates/serviceaccount.yaml b/deployments/kubernetes/chart/reloader/templates/serviceaccount.yaml index 7bc5ccb0..bae45498 100644 --- a/deployments/kubernetes/chart/reloader/templates/serviceaccount.yaml +++ b/deployments/kubernetes/chart/reloader/templates/serviceaccount.yaml @@ -2,7 +2,8 @@ apiVersion: v1 kind: ServiceAccount {{- if .Values.global.imagePullSecrets }} -imagePullSecrets: {{ toYaml .Values.global.imagePullSecrets | nindent 2 }} +imagePullSecrets: +{{ include "reloader-imagePullSecrets" . | indent 2 }} {{- end }} {{- if hasKey .Values.reloader.serviceAccount "automountServiceAccountToken" }} automountServiceAccountToken: {{ .Values.reloader.serviceAccount.automountServiceAccountToken }} diff --git a/deployments/kubernetes/chart/reloader/values.yaml b/deployments/kubernetes/chart/reloader/values.yaml index 3bef80a9..c4dee672 100644 --- a/deployments/kubernetes/chart/reloader/values.yaml +++ b/deployments/kubernetes/chart/reloader/values.yaml @@ -7,6 +7,8 @@ global: imagePullSecrets: [] #imagePullSecrets: # - name: my-pull-secret + #imagePullSecrets: + # - my-pull-secret kubernetes: host: https://kubernetes.default