rancher / local-path-provisioner

Dynamically provisioning persistent local storage with Kubernetes
Apache License 2.0
2.07k stars 440 forks source link

Helm chart contains duplicate labels #392

Closed runningman84 closed 3 months ago

runningman84 commented 3 months ago
➜  local-path-provisioner git:(master) helm template .
####
---
# Source: local-path-provisioner/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-local-path-provisioner
  namespace: default
  labels:
    app.kubernetes.io/name: local-path-provisioner
    helm.sh/chart: local-path-provisioner-0.0.25-dev
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: "v0.0.25-dev"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: local-path-provisioner
      app.kubernetes.io/instance: release-name
  template:
    metadata:
      labels:
        app.kubernetes.io/name: local-path-provisioner
        app.kubernetes.io/instance: release-name
        app.kubernetes.io/name: local-path-provisioner
        helm.sh/chart: local-path-provisioner-0.0.25-dev
        app.kubernetes.io/instance: release-name
        app.kubernetes.io/version: "v0.0.25-dev"
        app.kubernetes.io/managed-by: Helm
    spec:
####

The duplicate lines are a problem for flux which denies installing the chart

│     Message:               Helm install failed for release kube-system/local-path-provisioner with chart local-path-provisioner@0.0.25-dev: error while running post render on files: map[string │
│ ]interface {}(nil): yaml: unmarshal errors:                                                                                                                                                      
│   line 26: mapping key "app.kubernetes.io/name" already defined at line 24                                                                                                                       
│   line 28: mapping key "app.kubernetes.io/instance" already defined at line 25     
visokoo commented 3 months ago

https://github.com/rancher/local-path-provisioner/pull/394

Piggybacking on your change, but retained the piece under selector.matchLabels since that's immutable: https://github.com/rancher/local-path-provisioner/pull/394