Skip to content

[prometheus-node-exporter] extraArgs forces users to duplicate boilerplate #6831

Description

@holmesb

Describe the bug a clear and concise description of what the bug is.

Hi,

When adding a custom arg to prometheus-node-exporter's extraArgs (ie. --some-extra-arg), the entire extraArgs list is replaced rather than merged with the chart defaults. This forces users to manually reproduce the default args in their own values, which is brittle.
The defaults defined in the chart at the time of writing are:

extraArgs:
  - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/)
  - --collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$

If a user wants to add a single flag, they must copy these defaults verbatim into their own values or silently lose them, with no indication that anything is wrong until filesystem metrics disappear.

Expected behaviour
Custom extraArgs entries should be appended to the defaults, not replace them. Perhaps move the above into a new defaultArgs list, and then include both this and any extraArgs under args: in the daemonset.yaml template.

PS. I haven't checked the other charts to see whether this issue also applies to their extraArgs

What's your helm version?

v3.x

What's your kubectl version?

v1.34

Which chart?

prometheus-node-exporter

What's the chart version?

4.53

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions