From 74b0b3adc61884422152d3630ad7f7d49e7309b7 Mon Sep 17 00:00:00 2001 From: Natasha Sarkar Date: Thu, 27 May 2021 12:01:58 -0700 Subject: [PATCH] test to demonstrate multiple fieldpaths issue in replacements --- api/filters/replacement/replacement_test.go | 78 +++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/api/filters/replacement/replacement_test.go b/api/filters/replacement/replacement_test.go index 450c29c4c..c91a0f437 100644 --- a/api/filters/replacement/replacement_test.go +++ b/api/filters/replacement/replacement_test.go @@ -1338,6 +1338,84 @@ spec: `, expectedErr: "delimiter option can only be used with scalar nodes", }, + // test to demonstrate https://github.com/kubernetes-sigs/kustomize/issues/3927 + // the source field is overwritten when there are multiple fieldPaths + "multiple field paths in target": { + input: `apiVersion: v1 +kind: ConfigMap +metadata: + name: source +data: + value: example +--- +apiVersion: kubernetes-client.io/v1 +kind: ExternalSecret +metadata: + name: some-secret +spec: + backendType: secretsManager + data: + - key: some-prefix-replaceme + name: first + version: latest + property: first + - key: some-prefix-replaceme + name: second + version: latest + property: second + - key: some-prefix-replaceme + name: third + version: latest + property: third +`, + replacements: `replacements: +- source: + kind: ConfigMap + version: v1 + name: source + fieldPath: data.value + targets: + - select: + group: kubernetes-client.io + version: v1 + kind: ExternalSecret + name: some-secret + fieldPaths: + - spec.data.0.key + - spec.data.1.key + - spec.data.2.key + options: + delimiter: "-" + index: 2 +`, + expected: `apiVersion: v1 +kind: ConfigMap +metadata: + name: source +data: + value: some-prefix-some-prefix-some-prefix-example +--- +apiVersion: kubernetes-client.io/v1 +kind: ExternalSecret +metadata: + name: some-secret +spec: + backendType: secretsManager + data: + - key: some-prefix-example + name: first + version: latest + property: first + - key: some-prefix-some-prefix-example + name: second + version: latest + property: second + - key: some-prefix-some-prefix-some-prefix-example + name: third + version: latest + property: third +`, + }, } for tn, tc := range testCases {