[COMMON] Make our common charts compatible with helm 3.7+ 76/126176/4
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Thu, 9 Dec 2021 20:21:37 +0000 (21:21 +0100)
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>
Tue, 14 Dec 2021 15:45:59 +0000 (15:45 +0000)
Helm 3.7.0 introduced a new .Chart variable named IsRoot.
In the same time they refactored the representation of .Chart and it
no longer is a dictionary but a structure which confuses
mergeOverride.
In order to keep our tricks working we need to skip .Chart while doing
a deepCopy of our current context.

Issue-ID: OOM-1
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Change-Id: I230e2ba460ddf09377d8de6c1366d4fd82f764cd

kubernetes/common/certInitializer/templates/_certInitializer.yaml
kubernetes/common/common/templates/_utils.tpl

index 32bba45..ecd7129 100644 (file)
 {{- define "common.certInitializer._volumes" -}}
 {{-   $dot := default . .dot -}}
 {{-   $initRoot := default $dot.Values.certInitializer .initRoot -}}
-{{- $subchartDot := mergeOverwrite (deepCopy (omit $dot "Values")) (dict "Chart" (set (fromJson (toJson $dot.Chart)) "Name" $initRoot.nameOverride) "Values" (mergeOverwrite (deepCopy $initRoot) (dict "global" $dot.Values.global))) }}
+{{- $subchartDot := fromJson (include "common.subChartDot" (dict "dot" $dot "initRoot" $initRoot))}}
 - name: {{ include "common.certInitializer._aafConfigVolumeName" $dot }}
   emptyDir:
     medium: Memory
index ece786f..52826c2 100644 (file)
@@ -36,6 +36,5 @@ Usage:
 {{- define "common.subChartDot" }}
 {{- $initRoot := .initRoot }}
 {{- $dot := .dot }}
-{{/* Our version of helm doesn't support deepCopy so we need this nasty trick */}}
-{{ mergeOverwrite (deepCopy (omit $dot "Values")) (dict "Chart" (set (fromJson (toJson $dot.Chart)) "Name" $initRoot.nameOverride) "Values" (mergeOverwrite (deepCopy $initRoot) (dict "global" $dot.Values.global))) | toJson }}
+{{ mergeOverwrite (deepCopy (omit $dot "Values" "Chart")) (dict "Chart" (set (set (fromJson (toJson $dot.Chart)) "Name" $initRoot.nameOverride) "Version" $dot.Chart.Version) "Values" (mergeOverwrite (deepCopy $initRoot) (dict "global" $dot.Values.global))) | toJson }}
 {{- end -}}