Skip to content

Commit 9365ba1

Browse files
authored
fix(argo-cd): Make code clearer when Redis Secret is optional (argoproj#3228)
1 parent eb0f0af commit 9365ba1

File tree

6 files changed

+48
-42
lines changed

6 files changed

+48
-42
lines changed

charts/argo-cd/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ appVersion: v2.14.8
33
kubeVersion: ">=1.25.0-0"
44
description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
55
name: argo-cd
6-
version: 7.8.20
6+
version: 7.8.21
77
home: https://github.com/argoproj/argo-helm
88
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
99
sources:
@@ -27,4 +27,4 @@ annotations:
2727
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
2828
artifacthub.io/changes: |
2929
- kind: fixed
30-
description: Correct oliver006/redis_exporter image tag
30+
description: Make code clearer when Redis Secret is optional

charts/argo-cd/templates/_helpers.tpl

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,3 +275,41 @@ ipFamilyPolicy: {{ . }}
275275
ipFamilies: {{ toYaml . | nindent 4 }}
276276
{{- end }}
277277
{{- end }}
278+
279+
{{/*
280+
secretKeyRef of env variable REDIS_USERNAME
281+
*/}}
282+
{{- define "argo-cd.redisUsernameSecretRef" -}}
283+
{{- if and .Values.externalRedis.host -}}
284+
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
285+
key: redis-username
286+
optional: true
287+
{{- else -}}
288+
name: {{ include "argo-cd.redis.fullname" . }}
289+
key: redis-username
290+
optional: true
291+
{{- end -}}
292+
{{- end -}}
293+
294+
{{/*
295+
secretKeyRef of env variable REDIS_PASSWORD
296+
*/}}
297+
{{- define "argo-cd.redisPasswordSecretRef" -}}
298+
{{- if and .Values.redisSecretInit.enabled (not .Values.externalRedis.host) -}}
299+
{{- /* Default case where Secret is generated by the Job with Helm pre-install hooks */ -}}
300+
name: "argocd-redis" # hard-coded in Job command "argocd admin redis-initial-password"
301+
key: auth
302+
optional: false # Secret is not optional in this case !
303+
{{- else if .Values.externalRedis.host -}}
304+
{{- /* External Redis use case */ -}}
305+
{{- /* Secret is required when specifying existingSecret, otherwise it is optional */ -}}
306+
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
307+
key: redis-password
308+
optional: {{ if .Values.externalRedis.existingSecret }}false{{ else }}true{{ end }}
309+
{{- else -}}
310+
{{- /* All other use cases (e.g. disabled pre-install Job) */ -}}
311+
name: {{ include "argo-cd.redis.fullname" . }}
312+
key: redis-password
313+
optional: true
314+
{{- end -}}
315+
{{- end -}}

charts/argo-cd/templates/argocd-application-controller/deployment.yaml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -226,19 +226,11 @@ spec:
226226
- name: REDIS_USERNAME
227227
valueFrom:
228228
secretKeyRef:
229-
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
230-
key: redis-username
231-
optional: true
229+
{{- include "argo-cd.redisUsernameSecretRef" . | nindent 16 }}
232230
- name: REDIS_PASSWORD
233231
valueFrom:
234232
secretKeyRef:
235-
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
236-
{{- if .Values.externalRedis.host }}
237-
key: redis-password
238-
{{- else }}
239-
key: auth
240-
{{- end }}
241-
optional: true
233+
{{- include "argo-cd.redisPasswordSecretRef" . | nindent 16 }}
242234
- name: REDIS_SENTINEL_USERNAME
243235
valueFrom:
244236
secretKeyRef:

charts/argo-cd/templates/argocd-application-controller/statefulset.yaml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -225,19 +225,11 @@ spec:
225225
- name: REDIS_USERNAME
226226
valueFrom:
227227
secretKeyRef:
228-
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
229-
key: redis-username
230-
optional: true
228+
{{- include "argo-cd.redisUsernameSecretRef" . | nindent 16 }}
231229
- name: REDIS_PASSWORD
232230
valueFrom:
233231
secretKeyRef:
234-
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
235-
{{- if .Values.externalRedis.host }}
236-
key: redis-password
237-
{{- else }}
238-
key: auth
239-
{{- end }}
240-
optional: true
232+
{{- include "argo-cd.redisPasswordSecretRef" . | nindent 16 }}
241233
- name: REDIS_SENTINEL_USERNAME
242234
valueFrom:
243235
secretKeyRef:

charts/argo-cd/templates/argocd-repo-server/deployment.yaml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -178,19 +178,11 @@ spec:
178178
- name: REDIS_USERNAME
179179
valueFrom:
180180
secretKeyRef:
181-
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
182-
key: redis-username
183-
optional: true
181+
{{- include "argo-cd.redisUsernameSecretRef" . | nindent 16 }}
184182
- name: REDIS_PASSWORD
185183
valueFrom:
186184
secretKeyRef:
187-
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
188-
{{- if .Values.externalRedis.host }}
189-
key: redis-password
190-
{{- else }}
191-
key: auth
192-
{{- end }}
193-
optional: true
185+
{{- include "argo-cd.redisPasswordSecretRef" . | nindent 16 }}
194186
- name: REDIS_SENTINEL_USERNAME
195187
valueFrom:
196188
secretKeyRef:

charts/argo-cd/templates/argocd-server/deployment.yaml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -246,19 +246,11 @@ spec:
246246
- name: REDIS_USERNAME
247247
valueFrom:
248248
secretKeyRef:
249-
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
250-
key: redis-username
251-
optional: true
249+
{{- include "argo-cd.redisUsernameSecretRef" . | nindent 16 }}
252250
- name: REDIS_PASSWORD
253251
valueFrom:
254252
secretKeyRef:
255-
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
256-
{{- if .Values.externalRedis.host }}
257-
key: redis-password
258-
{{- else }}
259-
key: auth
260-
{{- end }}
261-
optional: true
253+
{{- include "argo-cd.redisPasswordSecretRef" . | nindent 16 }}
262254
- name: REDIS_SENTINEL_USERNAME
263255
valueFrom:
264256
secretKeyRef:

0 commit comments

Comments
 (0)