sylva-units "unit-def" needs to fail cleanly on a non-existing unit
I hit this issue while adding code for a new unit, with a depends_on on another new unit with a typo in its name:
Helm install failed for release sylva-units-preview/sylva-units with chart sylva-units@0.0.0-git+0ce3e1c53024.1:
template: sylva-units/templates/units.yaml:17:40: executing "sylva-units/templates/units.yaml" at <include "all-unit-dependencies" (tuple . "cluster-machines-ready" (list "cluster-machines-ready"))>: error calling include: template: sylva-units/templates/_helpers.tpl:259:20: executing "all-unit-dependencies" at <include "all-unit-dependencies" (tuple $envAll $dep_name (concat $ignore_units $result))>: error calling include: template: sylva-units/templates/_helpers.tpl:259:20: executing "all-unit-dependencies" at <include "all-unit-dependencies" (tuple $envAll $dep_name (concat $ignore_units $result))>: error calling include: template: sylva-units/templates/_helpers.tpl:259:20: executing "all-unit-dependencies" at <include "all-unit-dependencies" (tuple $envAll $dep_name (concat $ignore_units $result))>: error calling include: template: sylva-units/templates/_helpers.tpl:231:17: executing "all-unit-dependencies" at <include "unit-def" (tuple $envAll $unit_name)>: error calling include: template:
sylva-units/templates/_helpers.tpl:175:86:
executing "unit-def" at <deepCopy (index $envAll.Values.units $unit_name)>:
error calling deepCopy: reflect: call of reflect.Value.Type on zero Value
This code needs to fail cleanly if $unit_name is not in units
:
{{ define "unit-def" }}
{{- $envAll := index . 0 -}}
{{- $unit_name := index . 1 -}}
{{/* {{- $unit_def := mergeOverwrite (deepCopy $envAll.Values.unit_definition_defaults) (deepCopy (index $envAll.Values.units $unit_name)) -}} */}}
Edited by Thomas Morin