diff --git a/fluent-logging/templates/daemonset-fluent-bit.yaml b/fluent-logging/templates/daemonset-fluent-bit.yaml index c82cef8a8..196995eb2 100644 --- a/fluent-logging/templates/daemonset-fluent-bit.yaml +++ b/fluent-logging/templates/daemonset-fluent-bit.yaml @@ -93,12 +93,8 @@ spec: configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }} spec: serviceAccountName: {{ $serviceAccountName }} -{{ if .Values.labels.fluentbit.tolerations }} - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - - key: node-role.kubernetes.io/node - operator: Exists +{{ if $envAll.Values.pod.tolerations.fluentbit.enabled }} +{{ tuple $envAll "fluentbit" | include "helm-toolkit.snippets.kubernetes_tolerations" | indent 6 }} {{ else }} nodeSelector: {{ .Values.labels.fluentbit.node_selector_key }}: {{ .Values.labels.fluentbit.node_selector_value | quote }} diff --git a/fluent-logging/values.yaml b/fluent-logging/values.yaml index 561fdd618..b3cb6f3b4 100644 --- a/fluent-logging/values.yaml +++ b/fluent-logging/values.yaml @@ -384,6 +384,14 @@ pod: limits: memory: '1024Mi' cpu: '2000m' + tolerations: + fluentbit: + enabled: false + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + - key: node-role.kubernetes.io/node + operator: Exists mounts: fluentd: fluentd: diff --git a/helm-toolkit/templates/snippets/_kubernetes_tolerations.tpl b/helm-toolkit/templates/snippets/_kubernetes_tolerations.tpl new file mode 100644 index 000000000..25104557e --- /dev/null +++ b/helm-toolkit/templates/snippets/_kubernetes_tolerations.tpl @@ -0,0 +1,47 @@ +{{/* +Copyright 2017 The Openstack-Helm Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/}} + +{{/* +abstract: | + Renders kubernetes tolerations for pods +values: | + pod: + tolerations: + api: + enabled: true + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + - key: node-role.kubernetes.io/node + operator: Exists + +usage: | + {{ include "helm-toolkit.snippets.kubernetes_tolerations" ( tuple . .Values.pod.tolerations.api ) }} +return: | + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + - key: node-role.kubernetes.io/node + operator: Exists +*/}} + +{{- define "helm-toolkit.snippets.kubernetes_tolerations" -}} +{{- $envAll := index . 0 -}} +{{- $component := index . 1 -}} +{{- $pod := index $envAll.Values.pod.tolerations $component }} +tolerations: +{{ toYaml $pod.tolerations }} +{{- end -}} diff --git a/prometheus-node-exporter/templates/daemonset.yaml b/prometheus-node-exporter/templates/daemonset.yaml index 90678191f..645388253 100644 --- a/prometheus-node-exporter/templates/daemonset.yaml +++ b/prometheus-node-exporter/templates/daemonset.yaml @@ -54,12 +54,8 @@ spec: namespace: {{ .Values.endpoints.node_metrics.namespace }} spec: serviceAccountName: {{ $serviceAccountName }} -{{ if .Values.labels.node_exporter.tolerations }} - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - - key: node-role.kubernetes.io/node - operator: Exists +{{ if .Values.pod.tolerations.node_exporter.enabled }} +{{ tuple $envAll "node_exporter" | include "helm-toolkit.snippets.kubernetes_tolerations" | indent 6 }} {{ else }} nodeSelector: {{ .Values.labels.node_exporter.node_selector_key }}: {{ .Values.labels.node_exporter.node_selector_value | quote }} diff --git a/prometheus-node-exporter/values.yaml b/prometheus-node-exporter/values.yaml index f8438f11b..b652cdcd9 100644 --- a/prometheus-node-exporter/values.yaml +++ b/prometheus-node-exporter/values.yaml @@ -81,6 +81,14 @@ pod: limits: memory: "1024Mi" cpu: "2000m" + tolerations: + node_exporter: + enabled: false + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + - key: node-role.kubernetes.io/node + operator: Exists dependencies: dynamic: