From ac37c0ca62e028092baa41adb8edddf03e98a8da Mon Sep 17 00:00:00 2001 From: Alexey Lazarev Date: Thu, 9 Sep 2021 14:18:03 +0300 Subject: [PATCH] fix merge --- README.md | 2 +- main.go | 6 +++++- test/base-values2.yaml | 1 + test/template-values.yaml | 6 +++--- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 15f38aa..4bd817e 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ v0.1.3 - fixed all from previous(0.1.2) note - could use "self" in importValuesFrom -v0.1.2 +v0.1.2 (not actual) - go template [Actions](https://pkg.go.dev/text/template#hdr-Actions) could be used but yaml should we readable for yaml-parsers. So easest way to do it is using comment befor actions "#" like this: ``` diff --git a/main.go b/main.go index 906c440..d474348 100644 --- a/main.go +++ b/main.go @@ -96,7 +96,11 @@ func ReadValues(valuesFiles ImportValues, dir string) (vals Values) { func mergeKeys(left, right Values) Values { for key, rightVal := range right { if leftVal, present := left[key]; present { - left[key] = mergeKeys(leftVal.(Values), rightVal.(Values)) + if _, ok := leftVal.(Values); ok { + left[key] = mergeKeys(leftVal.(Values), rightVal.(Values)) + } else { + left[key] = rightVal + } } else { left[key] = rightVal } diff --git a/test/base-values2.yaml b/test/base-values2.yaml index 2063f79..f35961c 100644 --- a/test/base-values2.yaml +++ b/test/base-values2.yaml @@ -1,2 +1,3 @@ enabled: true clusterName: aws-eu-test-42 +default: from_base diff --git a/test/template-values.yaml b/test/template-values.yaml index 9ceb9fa..a2b4422 100644 --- a/test/template-values.yaml +++ b/test/template-values.yaml @@ -1,9 +1,9 @@ importValuesFrom: +- self - base-values1.yaml - base-values2.yaml -- self -default: qwerty +default: from_this myapp: cluster: {{ .Values.clusterName }} enabled: {{ .Values.enabled }} @@ -13,6 +13,6 @@ myapp: minReplicas: {{ .Values.defaults.minReplicas }} {{- if .Values.default }} run: {{ .Values.default }} - {{- end -}} + {{- end }} resources: {{ toYaml .Values.defaults.resources | nindent 6 }}