I found that we can create subcharts and conditionally include them as described here: Helm conditionally install subchart
I have just one template that I want conditionally include in my chart but I could not find anything in the docs. Is there such feature?
I discovered that empty templates are not loaded. I solved it by wrapping my yaml file content in an if
condition.
{{ if .Values.something }}
content of yaml file
{{ end }}
You simply wrap the template resource at the first and last lines with the check you want to do. Let's take the official Grafana chart as example:
In its values.yaml
, it has a flag called ingress.enabled
, which looks like the following:
ingress:
enabled: false
Then in its ingress template resource, this flag is checked:
{{- if .Values.ingress.enabled -}}
...
apiVersion: extensions/v1beta1
kind: Ingress
...
{{- end }}
As a result, ingress object will only be created if ingress.enabled
is set to true.