Skip to content

[kube-prometheus-stack] templating error when overriding prometheus-node-exporter in values #5246

Open
@jonkerj

Description

@jonkerj

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 -?).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions