kuberneteskubernetes-helmjaeger

Jaeger helm chart without cassandra overwrite


Using the helm chart for Jaeger I see that it makes use of the cassandra subchart. Looking at the documentation and config files it looks like by setting the provisionDataStore.cassandra override to false that the cassandra subchart shouldn't be getting installed. However, when the override is set I can still see the cassandra service being installed on my cluster.

Anybody know why and how I can prevent cassandra service from being deployed to my cluster? I was expecting that when I set the provisionDataStore.cassandra=false that I shouldn't see any cassandra services being deployed to my cluster.

This is what the requirements.yaml file looks like for the Jaeger helm chart: dependencies: - name: cassandra version: ^0.13.1 repository: https://kubernetes-charts-incubator.storage.googleapis.com/ condition: provisionDataStore.cassandra - name: elasticsearch version: ^7.5.1 repository: https://helm.elastic.co condition: provisionDataStore.elasticsearch


Solution

  • According to https://helm.sh/docs/chart_template_guide/control_structures/ a string is converted to a boolean of True. So even a string of false would get evaluated as a Boolean of True by Helm. I was using Spinnaker which handles all overrides as a string unless the "Raw Overrides" box is checked. If that box is checked than it converts the string to primitives where applicable.

    My issue was that even though I was overriding with a value of false, Spinnaker would pass that as a string to Helm which would then evaluate that as True.

    The solution was to check the "Raw Overrides" box in Spinnaker.