Skip to content

Commit 6c8eddd

Browse files
committed
Add nodeSelector, tolerations and affinity configuration on component level
Signed-off-by: Goran Jumic <[email protected]>
1 parent 129ee09 commit 6c8eddd

File tree

5 files changed

+162
-1
lines changed

5 files changed

+162
-1
lines changed

zammad/templates/deployment-nginx.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,18 @@ spec:
2727
{{- end }}
2828
spec:
2929
{{- include "zammad.podSpec.deployment" . | nindent 6 }}
30+
{{- with .Values.zammadConfig.nginx.nodeSelector }}
31+
nodeSelector:
32+
{{- toYaml . | nindent 8 }}
33+
{{- end }}
34+
{{- with .Values.zammadConfig.nginx.affinity }}
35+
affinity:
36+
{{- toYaml . | nindent 8 }}
37+
{{- end }}
38+
{{- with .Values.zammadConfig.nginx.tolerations }}
39+
tolerations:
40+
{{- toYaml . | nindent 8 }}
41+
{{- end }}
3042
containers:
3143
{{- with .Values.zammadConfig.nginx.sidecars }}
3244
{{- toYaml . | nindent 8}}

zammad/templates/deployment-railsserver.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,18 @@ spec:
2727
{{- end }}
2828
spec:
2929
{{- include "zammad.podSpec.deployment" . | nindent 6 }}
30+
{{- with .Values.zammadConfig.railsserver.nodeSelector }}
31+
nodeSelector:
32+
{{- toYaml . | nindent 8 }}
33+
{{- end }}
34+
{{- with .Values.zammadConfig.railsserver.affinity }}
35+
affinity:
36+
{{- toYaml . | nindent 8 }}
37+
{{- end }}
38+
{{- with .Values.zammadConfig.railsserver.tolerations }}
39+
tolerations:
40+
{{- toYaml . | nindent 8 }}
41+
{{- end }}
3042
containers:
3143
{{- with .Values.zammadConfig.railsserver.sidecars }}
3244
{{- toYaml . | nindent 8}}

zammad/templates/deployment-scheduler.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,18 @@ spec:
3131
{{- end }}
3232
spec:
3333
{{- include "zammad.podSpec.deployment" . | nindent 6 }}
34+
{{- with .Values.zammadConfig.scheduler.nodeSelector }}
35+
nodeSelector:
36+
{{- toYaml . | nindent 8 }}
37+
{{- end }}
38+
{{- with .Values.zammadConfig.scheduler.affinity }}
39+
affinity:
40+
{{- toYaml . | nindent 8 }}
41+
{{- end }}
42+
{{- with .Values.zammadConfig.scheduler.tolerations }}
43+
tolerations:
44+
{{- toYaml . | nindent 8 }}
45+
{{- end }}
3446
containers:
3547
{{- with .Values.zammadConfig.scheduler.sidecars }}
3648
{{- toYaml . | nindent 8}}

zammad/templates/job-init.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,18 @@ spec:
3838
{{- with .Values.zammadConfig.initJob.podSpec }}
3939
{{- toYaml . | nindent 6}}
4040
{{- end }}
41+
{{- with .Values.zammadConfig.initJob.nodeSelector }}
42+
nodeSelector:
43+
{{- toYaml . | nindent 8 }}
44+
{{- end }}
45+
{{- with .Values.zammadConfig.initJob.affinity }}
46+
affinity:
47+
{{- toYaml . | nindent 8 }}
48+
{{- end }}
49+
{{- with .Values.zammadConfig.initJob.tolerations }}
50+
tolerations:
51+
{{- toYaml . | nindent 8 }}
52+
{{- end }}
4153
restartPolicy: OnFailure
4254
initContainers:
4355
{{- with .Values.initContainers }}

zammad/values.yaml

Lines changed: 114 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,30 @@ zammadConfig:
137137
# my-label: "value"
138138
podAnnotations: {}
139139
# my-annotation: "value"
140+
nodeSelector: {}
141+
# node-label: "value"
142+
tolerations: []
143+
# - key: "key"
144+
# operator: "Equal"
145+
# value: "value"
146+
# effect: "NoSchedule"
147+
affinity: {}
148+
# nodeAffinity:
149+
# requiredDuringSchedulingIgnoredDuringExecution:
150+
# nodeSelectorTerms:
151+
# - matchExpressions:
152+
# - key: "node-label"
153+
# operator: In
154+
# values:
155+
# - "value"
156+
# podAntiAffinity:
157+
# preferredDuringSchedulingIgnoredDuringExecution:
158+
# - weight: 100
159+
# podAffinityTerm:
160+
# topologyKey: kubernetes.io/hostname # For host anti-affinity
161+
# labelSelector:
162+
# matchLabels:
163+
# app.kubernetes.io/component: zammad-nginx
140164

141165
postgresql:
142166
# enable/disable postgresql chart dependency
@@ -194,7 +218,30 @@ zammadConfig:
194218
podLabels: {}
195219
# my-label: "value"
196220
podAnnotations: {}
197-
# my-annotation: "value"
221+
nodeSelector: {}
222+
# node-label: "value"
223+
tolerations: []
224+
# - key: "key"
225+
# operator: "Equal"
226+
# value: "value"
227+
# effect: "NoSchedule"
228+
affinity: {}
229+
# nodeAffinity:
230+
# requiredDuringSchedulingIgnoredDuringExecution:
231+
# nodeSelectorTerms:
232+
# - matchExpressions:
233+
# - key: "node-label"
234+
# operator: In
235+
# values:
236+
# - "value"
237+
# podAntiAffinity:
238+
# preferredDuringSchedulingIgnoredDuringExecution:
239+
# - weight: 100
240+
# podAffinityTerm:
241+
# topologyKey: kubernetes.io/hostname # For host anti-affinity
242+
# labelSelector:
243+
# matchLabels:
244+
# app.kubernetes.io/component: zammad-railsserver
198245

199246
redis:
200247
# enable/disable redis chart dependency
@@ -225,6 +272,22 @@ zammadConfig:
225272
# my-label: "value"
226273
podAnnotations: {}
227274
# my-annotation: "value"
275+
nodeSelector: {}
276+
# node-label: "value"
277+
tolerations: []
278+
# - key: "key"
279+
# operator: "Equal"
280+
# value: "value"
281+
# effect: "NoSchedule"
282+
affinity: {}
283+
# nodeAffinity:
284+
# requiredDuringSchedulingIgnoredDuringExecution:
285+
# nodeSelectorTerms:
286+
# - matchExpressions:
287+
# - key: "node-label"
288+
# operator: In
289+
# values:
290+
# - "value"
228291

229292
storageVolume:
230293
# Enable this for 'File' based storage in Zammad. You must provide an externally managed 'extistingClaim'
@@ -292,6 +355,22 @@ zammadConfig:
292355
# my-label: "value"
293356
podAnnotations: {}
294357
# my-annotation: "value"
358+
nodeSelector: {}
359+
# node-label: "value"
360+
tolerations: []
361+
# - key: "key"
362+
# operator: "Equal"
363+
# value: "value"
364+
# effect: "NoSchedule"
365+
affinity: {}
366+
# nodeAffinity:
367+
# requiredDuringSchedulingIgnoredDuringExecution:
368+
# nodeSelectorTerms:
369+
# - matchExpressions:
370+
# - key: "node-label"
371+
# operator: In
372+
# values:
373+
# - "value"
295374

296375
initContainers:
297376
elasticsearch:
@@ -381,6 +460,22 @@ zammadConfig:
381460
# my-annotation: "value"
382461
podSpec: {}
383462
# my-podspec: "value"
463+
nodeSelector: {}
464+
# node-label: "value"
465+
tolerations: []
466+
# - key: "key"
467+
# operator: "Equal"
468+
# value: "value"
469+
# effect: "NoSchedule"
470+
affinity: {}
471+
# nodeAffinity:
472+
# requiredDuringSchedulingIgnoredDuringExecution:
473+
# nodeSelectorTerms:
474+
# - matchExpressions:
475+
# - key: "node-label"
476+
# operator: In
477+
# values:
478+
# - "value"
384479

385480
cronJob:
386481
reindex:
@@ -450,9 +545,27 @@ podLabels: {}
450545
podAnnotations: {}
451546
# my-annotation: "value"
452547

548+
# Common pod nodeSelector for all Zammad components. Values in .Zammad.*.nodeSelector will override this.
453549
nodeSelector: {}
550+
# node-label: "value"
551+
552+
# Common pod tolerations for all Zammad components. Values in .Zammad.*.tolerations will override this.
454553
tolerations: []
554+
# - key: "key"
555+
# operator: "Equal"
556+
# value: "value"
557+
# effect: "NoSchedule"
558+
559+
# Common pod affinity for all Zammad components. Values in .Zammad.*.affinity will override this.
455560
affinity: {}
561+
# nodeAffinity:
562+
# requiredDuringSchedulingIgnoredDuringExecution:
563+
# nodeSelectorTerms:
564+
# - matchExpressions:
565+
# - key: "node-label"
566+
# operator: In
567+
# values:
568+
# - "value"
456569

457570
# service account configurations
458571
serviceAccount:

0 commit comments

Comments
 (0)