Skip to content

Additional labels passed through Helm values are wrongly indented after the first one #173

@Horgix

Description

@Horgix

Describe the bug

In the Helm chart, when the labels value is defined and it includes multiple additional labels, the labels after the first additional one are not indented and therefore result in invalid manifests.

To Reproduce

Steps to reproduce the behavior:

  • Take the Chart with the default values
  • Change the labels (default {}) value to:
labels:
  label1: "value1"
  label2: "value2"
  • Render the resulting Chart with helm template

This results in the following output:

---
# Source: mongodb-query-exporter/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: release-name-mongodb-query-exporter
  labels:
    app.kubernetes.io/name: mongodb-query-exporter
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/managed-by: Helm
    helm.sh/chart: mongodb-query-exporter-3.0.2
    label1: value1
label2: value2
---
# Source: mongodb-query-exporter/templates/secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: release-name-mongodb-query-exporter
  labels:
    app.kubernetes.io/name: mongodb-query-exporter
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/managed-by: Helm
    helm.sh/chart: mongodb-query-exporter-3.0.2
    label1: value1
label2: value2
[...]
---
# Source: mongodb-query-exporter/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: release-name-mongodb-query-exporter
  labels:
    app.kubernetes.io/name: mongodb-query-exporter
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/managed-by: Helm
    helm.sh/chart: mongodb-query-exporter-3.0.2
    label1: value1
label2: value2
data:
[...]
---
# Source: mongodb-query-exporter/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-mongodb-query-exporter
  labels:
    app.kubernetes.io/name: mongodb-query-exporter
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/managed-by: Helm
    helm.sh/chart: mongodb-query-exporter-3.0.2
    label1: value1
label2: value2
spec:
[...]

Expected behavior

Additional labels should be added properly to the default ones (chartLabels) and properly indented. In the case of the provided example, label2 should be indented at the same level as label1 and previous labels.

Environment

  • mongodb-query-exporter version: any. Reproduced with both 2.1.0 and the latest master commit.
  • prometheus version: Irrelevant
  • MongoDB version: Irrelevant
  • Deployed as: Helm chart

Additional context

Would be happy to find out a solution and send a pull request if this bug is confirmed 🙂

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingchart

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions