Open
Description
Describe the bug a clear and concise description of what the bug is.
I'm trying to deploy K-P-S without deploying node-exporter but with servicemonitors et al for node-exporter, which leads to templating errors.
What's your helm version?
v3.9.2
What's your kubectl version?
v1.29.0
Which chart?
kube-prometheus-stack
What's the chart version?
68.3.3
What happened?
$ helm template -f values.yaml kps prometheus-community/kube-prometheus-stack
Error: template: kube-prometheus-stack/templates/prometheus/clusterrole.yaml:32:55: executing "kube-prometheus-stack/templates/prometheus/clusterrole.yaml" at <"prometheus-node-exporter">: nil pointer evaluating interface {}.enabled
Use --debug flag to render out invalid YAML
What you expected to happen?
See a bunch of templates happily rendered
How to reproduce it?
$ helm template -f values.yaml kps prometheus-community/kube-prometheus-stack
Enter the changed values of values.yaml?
nodeExporter:
enabled: false
prometheus-node-exporter:
prometheus:
monitor:
interval: 30s
Enter the command that you execute and failing/misfunctioning.
$ helm template -f values.yaml kps prometheus-community/kube-prometheus-stack
Anything else we need to know?
If I remove the last four lines of my values, the chart templates fine, so it must be something with prometheus-node-exporter
. It looks like the defaults of subchart prometheus-node-exporter do not get merged well with my values, resulting in kubeRBACProxy
not being present under .Values.prometheus-node-exporter
when specifying overrides. So it could be a helm bug, or PEBKAC (should I escape my key [is that even possible?] because of the -
?).