Skip to content

Commit d3b7989

Browse files
committed
feat: run extraVolumes through templating
We wanted to add custom error pages for our load balancer, and since each load balancer depence on their own ingress-nginx we need to be able to template the volume configmap. ``` extraVolumes: - name: custom-error-pages configMap: name: "{{ .Release.Name }}-custom-error-pages" ``` Now gives us: ``` volumes: - configMap: name: '{{ .Release.Name }}-custom-error-pages' ```
1 parent 4cbb78a commit d3b7989

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

charts/ingress-nginx/templates/default-backend-deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,6 @@ spec:
118118
{{- end }}
119119
terminationGracePeriodSeconds: 60
120120
{{- if .Values.defaultBackend.extraVolumes }}
121-
volumes: {{ toYaml .Values.defaultBackend.extraVolumes | nindent 8 }}
121+
volumes: {{ tpl (toYaml .Values.defaultBackend.extraVolumes) $ | nindent 8 }}
122122
{{- end }}
123123
{{- end }}

charts/ingress-nginx/tests/default-backend-deployment_test.yaml

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,15 @@ tests:
5959
- labelSelector:
6060
matchLabels:
6161
app.kubernetes.io/name: '{{ include "ingress-nginx.name" . }}'
62-
app.kubernetes.io/instance: '{{ .Release.Name }}'
62+
app.kubernetes.io/instance: "{{ .Release.Name }}"
6363
app.kubernetes.io/component: default-backend
6464
topologyKey: topology.kubernetes.io/zone
6565
maxSkew: 1
6666
whenUnsatisfiable: ScheduleAnyway
6767
- labelSelector:
6868
matchLabels:
6969
app.kubernetes.io/name: '{{ include "ingress-nginx.name" . }}'
70-
app.kubernetes.io/instance: '{{ .Release.Name }}'
70+
app.kubernetes.io/instance: "{{ .Release.Name }}"
7171
app.kubernetes.io/component: default-backend
7272
topologyKey: kubernetes.io/hostname
7373
maxSkew: 1
@@ -108,7 +108,7 @@ tests:
108108
- key: app.kubernetes.io/instance
109109
operator: In
110110
values:
111-
- '{{ .Release.Name }}'
111+
- "{{ .Release.Name }}"
112112
- key: app.kubernetes.io/component
113113
operator: In
114114
values:
@@ -196,3 +196,26 @@ tests:
196196
- equal:
197197
path: spec.template.spec.automountServiceAccountToken
198198
value: false
199+
200+
- it: should create a Deployment with extra volumes if `defaultBackend.extraVolumes` is set
201+
set:
202+
defaultBackend.enabled: true
203+
defaultBackend.extraVolumes:
204+
- name: extra-volume
205+
configMap:
206+
name: "{{ .Release.Name }}"
207+
defaultBackend.extraVolumeMounts:
208+
- name: extra-volume
209+
mountPath: /extra
210+
asserts:
211+
- equal:
212+
path: spec.template.spec.volumes
213+
value:
214+
- name: extra-volume
215+
configMap:
216+
name: RELEASE-NAME
217+
- equal:
218+
path: spec.template.spec.containers[0].volumeMounts
219+
value:
220+
- name: extra-volume
221+
mountPath: /extra

0 commit comments

Comments
 (0)