From b4dfb27f0cd8df30c53f4421a9e34118787cf056 Mon Sep 17 00:00:00 2001 From: Jawon Choo Date: Wed, 1 Aug 2018 21:46:19 +0900 Subject: [PATCH] Node-Exporter: allows to set collectors enable/disable This PS allows to set collectors enable/disable using values. _node-exporter.sh.tpl makes collectors-list from values.yaml. Change-Id: Iba2cf4d8304f2405db394fbb6fee58119eab13fc --- .../templates/utils/_joinListWithPrefix.tpl | 34 +++++++++++++++++++ .../templates/bin/_node-exporter.sh.tpl | 9 ++--- prometheus-node-exporter/values.yaml | 7 ++++ 3 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 helm-toolkit/templates/utils/_joinListWithPrefix.tpl 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: