J release changes
[ric-plt/ric-dep.git] / helm / infrastructure / subcharts / kong / charts / postgresql / charts / common / templates / _affinities.tpl
1 {{/* vim: set filetype=mustache: */}}
2
3 {{/*
4 Return a soft nodeAffinity definition
5 {{ include "common.affinities.nodes.soft" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}}
6 */}}
7 {{- define "common.affinities.nodes.soft" -}}
8 preferredDuringSchedulingIgnoredDuringExecution:
9   - preference:
10       matchExpressions:
11         - key: {{ .key }}
12           operator: In
13           values:
14             {{- range .values }}
15             - {{ . | quote }}
16             {{- end }}
17     weight: 1
18 {{- end -}}
19
20 {{/*
21 Return a hard nodeAffinity definition
22 {{ include "common.affinities.nodes.hard" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}}
23 */}}
24 {{- define "common.affinities.nodes.hard" -}}
25 requiredDuringSchedulingIgnoredDuringExecution:
26   nodeSelectorTerms:
27     - matchExpressions:
28         - key: {{ .key }}
29           operator: In
30           values:
31             {{- range .values }}
32             - {{ . | quote }}
33             {{- end }}
34 {{- end -}}
35
36 {{/*
37 Return a nodeAffinity definition
38 {{ include "common.affinities.nodes" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}}
39 */}}
40 {{- define "common.affinities.nodes" -}}
41   {{- if eq .type "soft" }}
42     {{- include "common.affinities.nodes.soft" . -}}
43   {{- else if eq .type "hard" }}
44     {{- include "common.affinities.nodes.hard" . -}}
45   {{- end -}}
46 {{- end -}}
47
48 {{/*
49 Return a soft podAffinity/podAntiAffinity definition
50 {{ include "common.affinities.pods.soft" (dict "component" "FOO" "extraMatchLabels" .Values.extraMatchLabels "context" $) -}}
51 */}}
52 {{- define "common.affinities.pods.soft" -}}
53 {{- $component := default "" .component -}}
54 {{- $extraMatchLabels := default (dict) .extraMatchLabels -}}
55 preferredDuringSchedulingIgnoredDuringExecution:
56   - podAffinityTerm:
57       labelSelector:
58         matchLabels: {{- (include "common.labels.matchLabels" .context) | nindent 10 }}
59           {{- if not (empty $component) }}
60           {{ printf "app.kubernetes.io/component: %s" $component }}
61           {{- end }}
62           {{- range $key, $value := $extraMatchLabels }}
63           {{ $key }}: {{ $value | quote }}
64           {{- end }}
65       namespaces:
66         - {{ include "common.names.namespace" .context | quote }}
67       topologyKey: kubernetes.io/hostname
68     weight: 1
69 {{- end -}}
70
71 {{/*
72 Return a hard podAffinity/podAntiAffinity definition
73 {{ include "common.affinities.pods.hard" (dict "component" "FOO" "extraMatchLabels" .Values.extraMatchLabels "context" $) -}}
74 */}}
75 {{- define "common.affinities.pods.hard" -}}
76 {{- $component := default "" .component -}}
77 {{- $extraMatchLabels := default (dict) .extraMatchLabels -}}
78 requiredDuringSchedulingIgnoredDuringExecution:
79   - labelSelector:
80       matchLabels: {{- (include "common.labels.matchLabels" .context) | nindent 8 }}
81         {{- if not (empty $component) }}
82         {{ printf "app.kubernetes.io/component: %s" $component }}
83         {{- end }}
84         {{- range $key, $value := $extraMatchLabels }}
85         {{ $key }}: {{ $value | quote }}
86         {{- end }}
87     namespaces:
88       - {{ include "common.names.namespace" .context | quote }}
89     topologyKey: kubernetes.io/hostname
90 {{- end -}}
91
92 {{/*
93 Return a podAffinity/podAntiAffinity definition
94 {{ include "common.affinities.pods" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}}
95 */}}
96 {{- define "common.affinities.pods" -}}
97   {{- if eq .type "soft" }}
98     {{- include "common.affinities.pods.soft" . -}}
99   {{- else if eq .type "hard" }}
100     {{- include "common.affinities.pods.hard" . -}}
101   {{- end -}}
102 {{- end -}}