I have the template for releases:
default: &default
chart: "stable/{{ .Release.Name }}"
version: ""
wait: true
installed: true
missingFileHandler: Warn
values:
- values/{{ .Release.Name }}/base.yaml
- values/{{ .Release.Name }}/{{ .Environment.Name }}.yaml
I have list of releases:
- name: "external-dns"
<<: *default
- name: "metrics-server"
<<: *default
- name: "prometheus-adapter"
<<: *default
How can i create list with name of release and version of helm chart and include in template?.
look like:
versions:
external-dns: "1.3.0"
metrics-server: "2.1.0"
prometheus-adapter: ""
Hey!
First of all areate a versions.yaml containing:
versions:
external-dns: "1.3.0"
metrics-server: "2.1.0"
prometheus-adapter: ""
In your helmfile.yaml you should remove version: "" from the default template and explicitly define version in each release like:
values:
- versions.yaml
#snip
- name: "external-dns"
version: {{.Values.versions | get "external-dns"}}
<<: *default
- name: "metrics-server"
version: {{.Values.versions | get "metrics-server"}}
<<: *default
- name: "prometheus-adapter"
version: {{.Values.versions | get "prometheus-adapter" }}
<<: *default
Hope this works for you.
while that works great, could this be extended further to use {{ .Release.Name }}?
default: &default
chart: "stable/{{ .Release.Name }}"
version: {{.Values.versions | get "{{ .Release.Name }}" }}
Most helpful comment
while that works great, could this be extended further to use
{{ .Release.Name }}?default: &default chart: "stable/{{ .Release.Name }}" version: {{.Values.versions | get "{{ .Release.Name }}" }}