diff --git a/helm-toolkit/templates/utils/_joinListWithPrefix.tpl b/helm-toolkit/templates/utils/_joinListWithPrefix.tpl new file mode 100644 index 000000000..cc7160f0e --- /dev/null +++ b/helm-toolkit/templates/utils/_joinListWithPrefix.tpl @@ -0,0 +1,34 @@ +{/* +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: | + Joins a list of prefixed values into a space seperated string +values: | + test: + - foo + - bar +usage: | + {{ tuple "prefix" .Values.test | include "helm-toolkit.utils.joinListWithPrefix" }} +return: | + prefixfoo prefixbar +*/}} + +{{- define "helm-toolkit.utils.joinListWithPrefix" -}} +{{- $prefix := index . 0 -}} +{{- $local := dict "first" true -}} +{{- range $k, $v := index . 1 -}}{{- if not $local.first -}}{{- " " -}}{{- end -}}{{- $prefix -}}{{- $v -}}{{- $_ := set $local "first" false -}}{{- end -}} +{{- end -}} diff --git a/prometheus-node-exporter/templates/bin/_node-exporter.sh.tpl b/prometheus-node-exporter/templates/bin/_node-exporter.sh.tpl index 8fa01df2d..9fb57e373 100644 --- a/prometheus-node-exporter/templates/bin/_node-exporter.sh.tpl +++ b/prometheus-node-exporter/templates/bin/_node-exporter.sh.tpl @@ -18,9 +18,6 @@ limitations under the License. set -ex exec /bin/node_exporter \ - --collector.ntp \ - --collector.ntp.server={{ .Values.conf.ntp_server_ip }} \ - --collector.meminfo_numa \ - --collector.bonding \ - --collector.mountstats - --logtostderr + {{ tuple "--collector." .Values.conf.collectors.enable | include "helm-toolkit.utils.joinListWithPrefix" }} \ + {{ tuple "--no-collector." .Values.conf.collectors.disable | include "helm-toolkit.utils.joinListWithPrefix" }} \ + --collector.ntp.server={{ .Values.conf.ntp_server_ip }} diff --git a/prometheus-node-exporter/values.yaml b/prometheus-node-exporter/values.yaml index b652cdcd9..cb58df58e 100644 --- a/prometheus-node-exporter/values.yaml +++ b/prometheus-node-exporter/values.yaml @@ -149,3 +149,10 @@ manifests: conf: ntp_server_ip: 127.0.0.1 + collectors: + enable: + - ntp + - meminfo_numa + - bonding + - mountstats + disable: