Praqma / helmsman

Helm Charts as Code
MIT License
1.41k stars 173 forks source link

Parse error occurring when ran through Helmsman but works just fine when running chart using Helm #832

Closed obsidian33 closed 1 year ago

obsidian33 commented 1 year ago

This Istio CNI chart runs without issue using helm:

helm install istio-cni .\cni\ -n kube-system --set cni.image=istio/install-cni --set cni.tag=1.18.2

But when it is ran in Helmsman as one of the apps:

istio-cni:
  name: istio-cni
  namespace: kube-system
  chart: cni
  version: 1.19.0
  helmFlags: ["--wait"]
  setString:
    cni.image: "istio/install-cni"
    cni.tag: "1.18.2"
  priority: -3
  enabled: true

It is throwing a parse error:

Error: parse error at (cni/templates/daemonset.yaml:4): unexpected unclosed action in command
helm.go:94: [debug] parse error at (cni/templates/daemonset.yaml:4): unexpected unclosed action in command

There does not appear to be any issues with the helm template in question:

# This manifest installs the Istio install-cni container, as well
# as the Istio CNI plugin and config on
# each master and worker node in a Kubernetes cluster.
{{- $defaultBinDir :=
    (.Capabilities.KubeVersion.GitVersion | contains "-gke") | ternary
      "/home/kubernetes/bin"
      "/opt/cni/bin"
}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
  name: istio-cni-node
  namespace: {{ .Release.Namespace }}
  labels:
    k8s-app: istio-cni-node
    release: {{ .Release.Name }}
    istio.io/rev: {{ .Values.revision | default "default" }}
    install.operator.istio.io/owning-resource: {{ .Values.ownerName | default "unknown" }}
    operator.istio.io/component: "Cni"
spec:
...
obsidian33 commented 1 year ago

Upgrade helm from v3.3.3 to v3.12.3 fixed this issue, so it must have been a bug with helm itself.