3 SPDX-License-Identifier: APACHE-2.0
6 {{/* vim: set filetype=mustache: */}}
9 Return a soft nodeAffinity definition
10 {{ include "common.affinities.nodes.soft" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}}
12 {{- define "common.affinities.nodes.soft" -}}
13 preferredDuringSchedulingIgnoredDuringExecution:
26 Return a hard nodeAffinity definition
27 {{ include "common.affinities.nodes.hard" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}}
29 {{- define "common.affinities.nodes.hard" -}}
30 requiredDuringSchedulingIgnoredDuringExecution:
42 Return a nodeAffinity definition
43 {{ include "common.affinities.nodes" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}}
45 {{- define "common.affinities.nodes" -}}
46 {{- if eq .type "soft" }}
47 {{- include "common.affinities.nodes.soft" . -}}
48 {{- else if eq .type "hard" }}
49 {{- include "common.affinities.nodes.hard" . -}}
54 Return a topologyKey definition
55 {{ include "common.affinities.topologyKey" (dict "topologyKey" "BAR") -}}
57 {{- define "common.affinities.topologyKey" -}}
58 {{ .topologyKey | default "kubernetes.io/hostname" -}}
62 Return a soft podAffinity/podAntiAffinity definition
63 {{ include "common.affinities.pods.soft" (dict "component" "FOO" "customLabels" .Values.podLabels "extraMatchLabels" .Values.extraMatchLabels "topologyKey" "BAR" "extraPodAffinityTerms" .Values.extraPodAffinityTerms "context" $) -}}
65 {{- define "common.affinities.pods.soft" -}}
66 {{- $component := default "" .component -}}
67 {{- $customLabels := default (dict) .customLabels -}}
68 {{- $extraMatchLabels := default (dict) .extraMatchLabels -}}
69 {{- $extraPodAffinityTerms := default (list) .extraPodAffinityTerms -}}
70 preferredDuringSchedulingIgnoredDuringExecution:
73 matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" .context )) | nindent 10 }}
74 {{- if not (empty $component) }}
75 {{ printf "app.kubernetes.io/component: %s" $component }}
77 {{- range $key, $value := $extraMatchLabels }}
78 {{ $key }}: {{ $value | quote }}
80 topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }}
82 {{- range $extraPodAffinityTerms }}
85 matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" $.context )) | nindent 10 }}
86 {{- if not (empty $component) }}
87 {{ printf "app.kubernetes.io/component: %s" $component }}
89 {{- range $key, $value := .extraMatchLabels }}
90 {{ $key }}: {{ $value | quote }}
92 topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }}
93 weight: {{ .weight | default 1 -}}
98 Return a hard podAffinity/podAntiAffinity definition
99 {{ include "common.affinities.pods.hard" (dict "component" "FOO" "customLabels" .Values.podLabels "extraMatchLabels" .Values.extraMatchLabels "topologyKey" "BAR" "extraPodAffinityTerms" .Values.extraPodAffinityTerms "context" $) -}}
101 {{- define "common.affinities.pods.hard" -}}
102 {{- $component := default "" .component -}}
103 {{- $customLabels := default (dict) .customLabels -}}
104 {{- $extraMatchLabels := default (dict) .extraMatchLabels -}}
105 {{- $extraPodAffinityTerms := default (list) .extraPodAffinityTerms -}}
106 requiredDuringSchedulingIgnoredDuringExecution:
108 matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" .context )) | nindent 8 }}
109 {{- if not (empty $component) }}
110 {{ printf "app.kubernetes.io/component: %s" $component }}
112 {{- range $key, $value := $extraMatchLabels }}
113 {{ $key }}: {{ $value | quote }}
115 topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }}
116 {{- range $extraPodAffinityTerms }}
118 matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" $.context )) | nindent 8 }}
119 {{- if not (empty $component) }}
120 {{ printf "app.kubernetes.io/component: %s" $component }}
122 {{- range $key, $value := .extraMatchLabels }}
123 {{ $key }}: {{ $value | quote }}
125 topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }}
130 Return a podAffinity/podAntiAffinity definition
131 {{ include "common.affinities.pods" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}}
133 {{- define "common.affinities.pods" -}}
134 {{- if eq .type "soft" }}
135 {{- include "common.affinities.pods.soft" . -}}
136 {{- else if eq .type "hard" }}
137 {{- include "common.affinities.pods.hard" . -}}