diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..a4bad261ba --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +# Set default behavior to automatically normalize line endings +* text=auto + +# Force bash scripts to always use LF line endings +*.sh text eol=lf + +# Force batch scripts to always use CRLF line endings +*.bat text eol=crlf +*.cmd text eol=crlf diff --git a/e2e/testdata/fn-eval/fn-config-file-in-pkg/.expected/config.yaml b/e2e/testdata/fn-eval/fn-config-file-in-pkg/.expected/config.yaml index 137ef487af..41105abedd 100644 --- a/e2e/testdata/fn-eval/fn-config-file-in-pkg/.expected/config.yaml +++ b/e2e/testdata/fn-eval/fn-config-file-in-pkg/.expected/config.yaml @@ -13,5 +13,5 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest fnConfig: ../config.yaml diff --git a/e2e/testdata/fn-eval/fn-config-file-in-pkg/.expected/diff.patch b/e2e/testdata/fn-eval/fn-config-file-in-pkg/.expected/diff.patch index 90fa637676..2a90fbd151 100644 --- a/e2e/testdata/fn-eval/fn-config-file-in-pkg/.expected/diff.patch +++ b/e2e/testdata/fn-eval/fn-config-file-in-pkg/.expected/diff.patch @@ -10,7 +10,7 @@ index 003e3fe..7a2ceea 100644 data: namespace: staging diff --git a/resources.yaml b/resources.yaml -index f2eec52..b66c419 100644 +index f2eec52..f169ab0 100644 --- a/resources.yaml +++ b/resources.yaml @@ -15,6 +15,7 @@ apiVersion: apps/v1 @@ -20,11 +20,3 @@ index f2eec52..b66c419 100644 + namespace: staging spec: replicas: 3 - --- -@@ -22,5 +23,6 @@ apiVersion: custom.io/v1 - kind: Custom - metadata: - name: custom -+ namespace: staging - spec: - image: nginx:1.2.3 diff --git a/e2e/testdata/fn-eval/fn-config-file/pkg/.expected/config.yaml b/e2e/testdata/fn-eval/fn-config-file/pkg/.expected/config.yaml index 70b3c3ed7b..c7156ac8dc 100644 --- a/e2e/testdata/fn-eval/fn-config-file/pkg/.expected/config.yaml +++ b/e2e/testdata/fn-eval/fn-config-file/pkg/.expected/config.yaml @@ -13,5 +13,5 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest fnConfig: ../../config.yaml diff --git a/e2e/testdata/fn-eval/fn-config-file/pkg/.expected/diff.patch b/e2e/testdata/fn-eval/fn-config-file/pkg/.expected/diff.patch index 551c6bfb48..e2cf9a7ff3 100644 --- a/e2e/testdata/fn-eval/fn-config-file/pkg/.expected/diff.patch +++ b/e2e/testdata/fn-eval/fn-config-file/pkg/.expected/diff.patch @@ -1,5 +1,5 @@ diff --git a/resources.yaml b/resources.yaml -index f2eec52..b66c419 100644 +index f2eec52..f169ab0 100644 --- a/resources.yaml +++ b/resources.yaml @@ -15,6 +15,7 @@ apiVersion: apps/v1 @@ -9,11 +9,3 @@ index f2eec52..b66c419 100644 + namespace: staging spec: replicas: 3 - --- -@@ -22,5 +23,6 @@ apiVersion: custom.io/v1 - kind: Custom - metadata: - name: custom -+ namespace: staging - spec: - image: nginx:1.2.3 diff --git a/e2e/testdata/fn-eval/fnconfig-missing-name/pkg/.expected/config.yaml b/e2e/testdata/fn-eval/fnconfig-missing-name/pkg/.expected/config.yaml index e55509d01d..3e7df546ea 100644 --- a/e2e/testdata/fn-eval/fnconfig-missing-name/pkg/.expected/config.yaml +++ b/e2e/testdata/fn-eval/fnconfig-missing-name/pkg/.expected/config.yaml @@ -13,7 +13,7 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest fnConfig: ../../config.yaml exitCode: 1 stdErr: "resource must have `metadata.name`" diff --git a/e2e/testdata/fn-eval/include-meta-resources-v1alpha1/.expected/config.yaml b/e2e/testdata/fn-eval/include-meta-resources-v1alpha1/.expected/config.yaml index 377e9fd8c1..63e976d46b 100644 --- a/e2e/testdata/fn-eval/include-meta-resources-v1alpha1/.expected/config.yaml +++ b/e2e/testdata/fn-eval/include-meta-resources-v1alpha1/.expected/config.yaml @@ -14,7 +14,7 @@ runCount: 2 testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest includeMetaResources: true exitCode: 1 args: diff --git a/e2e/testdata/fn-eval/include-meta-resources-v1alpha2/.expected/config.yaml b/e2e/testdata/fn-eval/include-meta-resources-v1alpha2/.expected/config.yaml index 377e9fd8c1..63e976d46b 100644 --- a/e2e/testdata/fn-eval/include-meta-resources-v1alpha2/.expected/config.yaml +++ b/e2e/testdata/fn-eval/include-meta-resources-v1alpha2/.expected/config.yaml @@ -14,7 +14,7 @@ runCount: 2 testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest includeMetaResources: true exitCode: 1 args: diff --git a/e2e/testdata/fn-eval/include-meta-resources/.expected/config.yaml b/e2e/testdata/fn-eval/include-meta-resources/.expected/config.yaml index 377e9fd8c1..63e976d46b 100644 --- a/e2e/testdata/fn-eval/include-meta-resources/.expected/config.yaml +++ b/e2e/testdata/fn-eval/include-meta-resources/.expected/config.yaml @@ -14,7 +14,7 @@ runCount: 2 testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest includeMetaResources: true exitCode: 1 args: diff --git a/e2e/testdata/fn-eval/invalid-fn-config-file/pkg/.expected/config.yaml b/e2e/testdata/fn-eval/invalid-fn-config-file/pkg/.expected/config.yaml index b8bd60d8a4..fc96a355dd 100644 --- a/e2e/testdata/fn-eval/invalid-fn-config-file/pkg/.expected/config.yaml +++ b/e2e/testdata/fn-eval/invalid-fn-config-file/pkg/.expected/config.yaml @@ -14,6 +14,6 @@ testType: eval exitCode: 1 -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest fnConfig: ../../config.yaml stdErr: "wrong node kind: expected MappingNode but got ScalarNode: node contents:\nI am not a valid config file\n" diff --git a/e2e/testdata/fn-eval/missing-fn-config/.expected/config.yaml b/e2e/testdata/fn-eval/missing-fn-config/.expected/config.yaml index a4babc9a30..2fd4203e89 100644 --- a/e2e/testdata/fn-eval/missing-fn-config/.expected/config.yaml +++ b/e2e/testdata/fn-eval/missing-fn-config/.expected/config.yaml @@ -13,6 +13,4 @@ # limitations under the License. testType: eval -exitCode: 1 -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 -stdErr: "failed to configure function: input namespace cannot be empty" +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest diff --git a/e2e/testdata/fn-eval/multiple-fn-config-one-file/pkg/.expected/config.yaml b/e2e/testdata/fn-eval/multiple-fn-config-one-file/pkg/.expected/config.yaml index cb95e80324..853cc5535b 100644 --- a/e2e/testdata/fn-eval/multiple-fn-config-one-file/pkg/.expected/config.yaml +++ b/e2e/testdata/fn-eval/multiple-fn-config-one-file/pkg/.expected/config.yaml @@ -13,7 +13,7 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest fnConfig: ../../config.yaml exitCode: 1 stdErr: "must not contain more than one config, got 2" diff --git a/e2e/testdata/fn-eval/non-krm-resource/.expected/config.yaml b/e2e/testdata/fn-eval/non-krm-resource/.expected/config.yaml index 4a532c5db9..6f0f4278c8 100644 --- a/e2e/testdata/fn-eval/non-krm-resource/.expected/config.yaml +++ b/e2e/testdata/fn-eval/non-krm-resource/.expected/config.yaml @@ -13,10 +13,10 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest args: namespace: staging exitCode: 1 stdErr: | - [FAIL] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s + [FAIL] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s error: input resource list must contain only KRM resources: nonkrm.yaml: resource must have `apiVersion` diff --git a/e2e/testdata/fn-eval/out-of-place-dir/.expected/config.yaml b/e2e/testdata/fn-eval/out-of-place-dir/.expected/config.yaml index 0b1837e3f3..fed31a7989 100644 --- a/e2e/testdata/fn-eval/out-of-place-dir/.expected/config.yaml +++ b/e2e/testdata/fn-eval/out-of-place-dir/.expected/config.yaml @@ -13,5 +13,5 @@ # limitations under the License. stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s \ No newline at end of file + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s \ No newline at end of file diff --git a/e2e/testdata/fn-eval/out-of-place-dir/.expected/exec.sh b/e2e/testdata/fn-eval/out-of-place-dir/.expected/exec.sh index ea4c6dec1e..4a9eddc258 100755 --- a/e2e/testdata/fn-eval/out-of-place-dir/.expected/exec.sh +++ b/e2e/testdata/fn-eval/out-of-place-dir/.expected/exec.sh @@ -17,4 +17,4 @@ set -eo pipefail rm -rf out -kpt fn eval --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 -o out -- namespace=staging +kpt fn eval --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest -o out -- namespace=staging diff --git a/e2e/testdata/fn-eval/out-of-place-fnchain-stdout/.expected/config.yaml b/e2e/testdata/fn-eval/out-of-place-fnchain-stdout/.expected/config.yaml index 9974ae4b79..52324bac8e 100644 --- a/e2e/testdata/fn-eval/out-of-place-fnchain-stdout/.expected/config.yaml +++ b/e2e/testdata/fn-eval/out-of-place-fnchain-stdout/.expected/config.yaml @@ -6,8 +6,8 @@ stdErrStripLines: - " \"WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested\"" stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-annotations:latest" [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-annotations:latest" in 0s [Results]: [info] metadata.annotations: set annotations: {"foo":"bar"}, [info] spec.template.metadata.annotations: set annotations: {"foo":"bar"}, [info] metadata.annotations: set annotations: {"foo":"bar"} @@ -67,7 +67,6 @@ stdOut: | internal.config.kubernetes.io/path: resources.yaml internal.config.kubernetes.io/seqindent: compact foo: bar - namespace: staging labels: tier: backend spec: diff --git a/e2e/testdata/fn-eval/out-of-place-fnchain-stdout/.expected/exec.sh b/e2e/testdata/fn-eval/out-of-place-fnchain-stdout/.expected/exec.sh index 5334860ffe..1d2dccdbea 100755 --- a/e2e/testdata/fn-eval/out-of-place-fnchain-stdout/.expected/exec.sh +++ b/e2e/testdata/fn-eval/out-of-place-fnchain-stdout/.expected/exec.sh @@ -16,6 +16,6 @@ set -eo pipefail -kpt fn eval --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 -o stdout -- namespace=staging \ +kpt fn eval --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest -o stdout -- namespace=staging \ | kpt fn eval - --image ghcr.io/kptdev/krm-functions-catalog/set-annotations:latest -- foo=bar \ | kpt fn eval - --image ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.1.5 -- tier=backend diff --git a/e2e/testdata/fn-eval/out-of-place-fnchain-unwrap/.expected/config.yaml b/e2e/testdata/fn-eval/out-of-place-fnchain-unwrap/.expected/config.yaml index d3f1e7360f..6ab4ff020c 100644 --- a/e2e/testdata/fn-eval/out-of-place-fnchain-unwrap/.expected/config.yaml +++ b/e2e/testdata/fn-eval/out-of-place-fnchain-unwrap/.expected/config.yaml @@ -20,8 +20,8 @@ stdErrStripLines: - " \"WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested\"" stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-annotations:latest" [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-annotations:latest" in 0s [Results]: [info] metadata.annotations: set annotations: {"foo":"bar"}, [info] metadata.annotations: set annotations: {"foo":"bar"}, [info] spec.template.metadata.annotations: set annotations: {"foo":"bar"}, [info] metadata.annotations: set annotations: {"foo":"bar"} diff --git a/e2e/testdata/fn-eval/out-of-place-fnchain-unwrap/.expected/exec.sh b/e2e/testdata/fn-eval/out-of-place-fnchain-unwrap/.expected/exec.sh index 5ab47a31d1..fcbe3fa0f6 100755 --- a/e2e/testdata/fn-eval/out-of-place-fnchain-unwrap/.expected/exec.sh +++ b/e2e/testdata/fn-eval/out-of-place-fnchain-unwrap/.expected/exec.sh @@ -16,6 +16,6 @@ set -eo pipefail -kpt fn eval --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 -o stdout -- namespace=staging \ +kpt fn eval --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest -o stdout -- namespace=staging \ | kpt fn eval - --image ghcr.io/kptdev/krm-functions-catalog/set-annotations:latest -- foo=bar \ | kpt fn eval - --image ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.1.5 -o unwrap -- tier=backend diff --git a/e2e/testdata/fn-eval/output-to-stdout/.expected/config.yaml b/e2e/testdata/fn-eval/output-to-stdout/.expected/config.yaml index de17b3ee69..6c22467c6a 100644 --- a/e2e/testdata/fn-eval/output-to-stdout/.expected/config.yaml +++ b/e2e/testdata/fn-eval/output-to-stdout/.expected/config.yaml @@ -52,6 +52,5 @@ stdOut: | internal.config.kubernetes.io/index: "1" internal.config.kubernetes.io/path: resources.yaml internal.config.kubernetes.io/seqindent: compact - namespace: staging spec: image: nginx:1.2.3 diff --git a/e2e/testdata/fn-eval/output-to-stdout/.expected/exec.sh b/e2e/testdata/fn-eval/output-to-stdout/.expected/exec.sh index 80be3f347c..70172b3f76 100755 --- a/e2e/testdata/fn-eval/output-to-stdout/.expected/exec.sh +++ b/e2e/testdata/fn-eval/output-to-stdout/.expected/exec.sh @@ -16,4 +16,4 @@ set -eo pipefail kpt fn source |\ -kpt fn eval - --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 -- namespace=staging +kpt fn eval - --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest -- namespace=staging diff --git a/e2e/testdata/fn-eval/preserve-order-include-meta-resources/.expected/config.yaml b/e2e/testdata/fn-eval/preserve-order-include-meta-resources/.expected/config.yaml index 577099f001..21110ef268 100644 --- a/e2e/testdata/fn-eval/preserve-order-include-meta-resources/.expected/config.yaml +++ b/e2e/testdata/fn-eval/preserve-order-include-meta-resources/.expected/config.yaml @@ -13,7 +13,7 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest includeMetaResources: true exitCode: 1 args: diff --git a/e2e/testdata/fn-eval/preserve-order-null-values/.expected/config.yaml b/e2e/testdata/fn-eval/preserve-order-null-values/.expected/config.yaml index e6e3bed593..eb0dfa04f8 100644 --- a/e2e/testdata/fn-eval/preserve-order-null-values/.expected/config.yaml +++ b/e2e/testdata/fn-eval/preserve-order-null-values/.expected/config.yaml @@ -13,6 +13,6 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest args: namespace: staging diff --git a/e2e/testdata/fn-eval/preserve-order-null-values/.expected/diff.patch b/e2e/testdata/fn-eval/preserve-order-null-values/.expected/diff.patch index 62ab1e1705..6a4c66f4aa 100644 --- a/e2e/testdata/fn-eval/preserve-order-null-values/.expected/diff.patch +++ b/e2e/testdata/fn-eval/preserve-order-null-values/.expected/diff.patch @@ -1,5 +1,5 @@ diff --git a/resources.yaml b/resources.yaml -index f410b70..13bc056 100644 +index f410b70..6d94d47 100644 --- a/resources.yaml +++ b/resources.yaml @@ -16,6 +16,7 @@ kind: Deployment @@ -9,11 +9,3 @@ index f410b70..13bc056 100644 + namespace: staging spec: replicas: 3 - --- -@@ -23,5 +24,6 @@ apiVersion: custom.io/v1 - kind: Custom - metadata: - name: custom -+ namespace: staging - spec: - image: nginx:1.2.3 diff --git a/e2e/testdata/fn-eval/save-fn/custom-pkg-path/.expected/config.yaml b/e2e/testdata/fn-eval/save-fn/custom-pkg-path/.expected/config.yaml index 06a23be0c3..aa27fdc85e 100644 --- a/e2e/testdata/fn-eval/save-fn/custom-pkg-path/.expected/config.yaml +++ b/e2e/testdata/fn-eval/save-fn/custom-pkg-path/.expected/config.yaml @@ -18,12 +18,12 @@ stdErrStripLines: testType: eval -image: set-namespace:v0.2.0 +image: set-namespace:latest args: namespace: staging stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s - Added "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" as mutator in the Kptfile. + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s + Added "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" as mutator in the Kptfile. diff --git a/e2e/testdata/fn-eval/save-fn/custom-pkg-path/.expected/exec.sh b/e2e/testdata/fn-eval/save-fn/custom-pkg-path/.expected/exec.sh index e076e0d589..de3f74129b 100755 --- a/e2e/testdata/fn-eval/save-fn/custom-pkg-path/.expected/exec.sh +++ b/e2e/testdata/fn-eval/save-fn/custom-pkg-path/.expected/exec.sh @@ -15,4 +15,4 @@ set -eo pipefail -kpt fn eval ./sub-pkg -s -t mutator -i set-namespace:v0.2.0 --fn-config=./sub-pkg/fn-config.yaml +kpt fn eval ./sub-pkg -s -t mutator -i set-namespace:latest --fn-config=./sub-pkg/fn-config.yaml diff --git a/e2e/testdata/fn-eval/save-fn/image/.expected/config.yaml b/e2e/testdata/fn-eval/save-fn/image/.expected/config.yaml index 06a23be0c3..9df622dc15 100644 --- a/e2e/testdata/fn-eval/save-fn/image/.expected/config.yaml +++ b/e2e/testdata/fn-eval/save-fn/image/.expected/config.yaml @@ -15,15 +15,16 @@ stdErrStripLines: - " Stderr:" - " \"WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested\"" + - "[Results]: [info]: namespace [default] updated to \"staging\", 1 value(s) changed, [info]: all `depends-on` annotations are up-to-date. no `namespace` changed" testType: eval -image: set-namespace:v0.2.0 +image: set-namespace:latest args: namespace: staging stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s - Added "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" as mutator in the Kptfile. + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s + Added "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" as mutator in the Kptfile. diff --git a/e2e/testdata/fn-eval/save-fn/image/.expected/diff.patch b/e2e/testdata/fn-eval/save-fn/image/.expected/diff.patch index 8f2c7bb572..e4397a4659 100644 --- a/e2e/testdata/fn-eval/save-fn/image/.expected/diff.patch +++ b/e2e/testdata/fn-eval/save-fn/image/.expected/diff.patch @@ -9,7 +9,7 @@ index d9e2f05..d0d3425 100644 + namespace: staging +pipeline: + mutators: -+ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 ++ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest + configMap: + namespace: staging diff --git a/resources.yaml b/resources.yaml diff --git a/e2e/testdata/fn-eval/save-fn/image/.expected/exec.sh b/e2e/testdata/fn-eval/save-fn/image/.expected/exec.sh index d67e3aa2ff..7161c67ea1 100755 --- a/e2e/testdata/fn-eval/save-fn/image/.expected/exec.sh +++ b/e2e/testdata/fn-eval/save-fn/image/.expected/exec.sh @@ -15,4 +15,4 @@ set -eo pipefail -kpt fn eval -s -t mutator -i set-namespace:v0.2.0 -- namespace=staging +kpt fn eval -s -t mutator -i set-namespace:latest -- namespace=staging diff --git a/e2e/testdata/fn-eval/save-fn/match-selector/.expected/config.yaml b/e2e/testdata/fn-eval/save-fn/match-selector/.expected/config.yaml index 089c8b4566..3950ae0213 100644 --- a/e2e/testdata/fn-eval/save-fn/match-selector/.expected/config.yaml +++ b/e2e/testdata/fn-eval/save-fn/match-selector/.expected/config.yaml @@ -17,6 +17,6 @@ stdErrStripLines: - " \"WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested\"" stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" on 1 resource(s) - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s - Added "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" as mutator in the Kptfile. + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" on 1 resource(s) + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s + Added "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" as mutator in the Kptfile. diff --git a/e2e/testdata/fn-eval/save-fn/match-selector/.expected/diff.patch b/e2e/testdata/fn-eval/save-fn/match-selector/.expected/diff.patch index 01e1f078e1..9c326c9f7f 100644 --- a/e2e/testdata/fn-eval/save-fn/match-selector/.expected/diff.patch +++ b/e2e/testdata/fn-eval/save-fn/match-selector/.expected/diff.patch @@ -8,7 +8,7 @@ index d9e2f05..3456414 100644 name: app +pipeline: + mutators: -+ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 ++ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest + configMap: + namespace: staging + selectors: diff --git a/e2e/testdata/fn-eval/save-fn/match-selector/.expected/exec.sh b/e2e/testdata/fn-eval/save-fn/match-selector/.expected/exec.sh index 04520ed246..9f76e9cb75 100755 --- a/e2e/testdata/fn-eval/save-fn/match-selector/.expected/exec.sh +++ b/e2e/testdata/fn-eval/save-fn/match-selector/.expected/exec.sh @@ -16,4 +16,4 @@ set -eo pipefail -kpt fn eval -s -t mutator -i set-namespace:v0.2.0 --match-kind Deployment -- namespace=staging +kpt fn eval -s -t mutator -i set-namespace:latest --match-kind Deployment -- namespace=staging diff --git a/e2e/testdata/fn-eval/save-fn/no-save-when-fail/.expected/config.yaml b/e2e/testdata/fn-eval/save-fn/no-save-when-fail/.expected/config.yaml index e83f88abe8..c0e3f581fa 100644 --- a/e2e/testdata/fn-eval/save-fn/no-save-when-fail/.expected/config.yaml +++ b/e2e/testdata/fn-eval/save-fn/no-save-when-fail/.expected/config.yaml @@ -18,12 +18,12 @@ stdErrStripLines: testType: eval -image: set-namespace:v0.2.0 +image: set-namespace:latest args: namespace: staging stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s function not added: Kptfile not exists diff --git a/e2e/testdata/fn-eval/save-fn/no-save-when-fail/.expected/exec.sh b/e2e/testdata/fn-eval/save-fn/no-save-when-fail/.expected/exec.sh index d67e3aa2ff..7161c67ea1 100755 --- a/e2e/testdata/fn-eval/save-fn/no-save-when-fail/.expected/exec.sh +++ b/e2e/testdata/fn-eval/save-fn/no-save-when-fail/.expected/exec.sh @@ -15,4 +15,4 @@ set -eo pipefail -kpt fn eval -s -t mutator -i set-namespace:v0.2.0 -- namespace=staging +kpt fn eval -s -t mutator -i set-namespace:latest -- namespace=staging diff --git a/e2e/testdata/fn-eval/save-fn/override-fn/.expected/config.yaml b/e2e/testdata/fn-eval/save-fn/override-fn/.expected/config.yaml index 1ec3c82a08..c4344df5ea 100644 --- a/e2e/testdata/fn-eval/save-fn/override-fn/.expected/config.yaml +++ b/e2e/testdata/fn-eval/save-fn/override-fn/.expected/config.yaml @@ -18,12 +18,12 @@ stdErrStripLines: testType: eval -image: set-namespace:v0.2.0 +image: set-namespace:latest args: namespace: staging stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s - Updated "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" as mutator in the Kptfile. + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s + Updated "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" as mutator in the Kptfile. diff --git a/e2e/testdata/fn-eval/save-fn/override-fn/.expected/diff.patch b/e2e/testdata/fn-eval/save-fn/override-fn/.expected/diff.patch index 266585847c..e26d5acbdd 100644 --- a/e2e/testdata/fn-eval/save-fn/override-fn/.expected/diff.patch +++ b/e2e/testdata/fn-eval/save-fn/override-fn/.expected/diff.patch @@ -9,11 +9,11 @@ index c093436..6dd6980 100644 + namespace: newNs pipeline: mutators: -- - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +- - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest - configMap: - namespace: oldNs -- name: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 -+ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +- name: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest ++ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest + configMap: + namespace: newNs diff --git a/resources.yaml b/resources.yaml diff --git a/e2e/testdata/fn-eval/save-fn/override-fn/.expected/exec.sh b/e2e/testdata/fn-eval/save-fn/override-fn/.expected/exec.sh index a8cb475cf3..b3333f6d21 100755 --- a/e2e/testdata/fn-eval/save-fn/override-fn/.expected/exec.sh +++ b/e2e/testdata/fn-eval/save-fn/override-fn/.expected/exec.sh @@ -15,4 +15,4 @@ set -eo pipefail -kpt fn eval -s -t mutator -i set-namespace:v0.2.0 -- namespace=newNs +kpt fn eval -s -t mutator -i set-namespace:latest -- namespace=newNs diff --git a/e2e/testdata/fn-eval/save-fn/override-fn/Kptfile b/e2e/testdata/fn-eval/save-fn/override-fn/Kptfile index c093436508..d479080d5b 100644 --- a/e2e/testdata/fn-eval/save-fn/override-fn/Kptfile +++ b/e2e/testdata/fn-eval/save-fn/override-fn/Kptfile @@ -4,7 +4,7 @@ metadata: name: app pipeline: mutators: - - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 + - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest configMap: namespace: oldNs - name: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 + name: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest diff --git a/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/config.yaml b/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/config.yaml index 06a23be0c3..9df622dc15 100644 --- a/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/config.yaml +++ b/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/config.yaml @@ -15,15 +15,16 @@ stdErrStripLines: - " Stderr:" - " \"WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested\"" + - "[Results]: [info]: namespace [default] updated to \"staging\", 1 value(s) changed, [info]: all `depends-on` annotations are up-to-date. no `namespace` changed" testType: eval -image: set-namespace:v0.2.0 +image: set-namespace:latest args: namespace: staging stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s - Added "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" as mutator in the Kptfile. + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s + Added "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" as mutator in the Kptfile. diff --git a/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/diff.patch b/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/diff.patch index b11dad7983..089a7d5651 100644 --- a/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/diff.patch +++ b/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/diff.patch @@ -9,7 +9,7 @@ index 08afd4c..941eb7f 100644 + namespace: staging +pipeline: + mutators: -+ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 ++ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest + configMap: + namespace: staging diff --git a/resources.yaml b/resources.yaml @@ -30,4 +30,4 @@ index eed43d6..81473ca 100644 name: custom + namespace: staging spec: - image: nginx:1.2.3 + image: nginx:1.2.3 \ No newline at end of file diff --git a/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/exec.sh b/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/exec.sh index d67e3aa2ff..7161c67ea1 100755 --- a/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/exec.sh +++ b/e2e/testdata/fn-eval/save-fn/preserve-kptfile-comments/.expected/exec.sh @@ -15,4 +15,4 @@ set -eo pipefail -kpt fn eval -s -t mutator -i set-namespace:v0.2.0 -- namespace=staging +kpt fn eval -s -t mutator -i set-namespace:latest -- namespace=staging diff --git a/e2e/testdata/fn-eval/save-fn/validator-type/.expected/config.yaml b/e2e/testdata/fn-eval/save-fn/validator-type/.expected/config.yaml index d62d1603c1..65734b91b0 100644 --- a/e2e/testdata/fn-eval/save-fn/validator-type/.expected/config.yaml +++ b/e2e/testdata/fn-eval/save-fn/validator-type/.expected/config.yaml @@ -15,15 +15,16 @@ stdErrStripLines: - " Stderr:" - " \"WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested\"" + - "[Results]: [info]: namespace [default] updated to \"staging\", 1 value(s) changed, [info]: all `depends-on` annotations are up-to-date. no `namespace` changed" testType: eval -image: set-namespace:v0.2.0 +image: set-namespace:latest args: namespace: staging stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s - Added "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" as validator in the Kptfile. + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s + Added "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" as validator in the Kptfile. diff --git a/e2e/testdata/fn-eval/save-fn/validator-type/.expected/diff.patch b/e2e/testdata/fn-eval/save-fn/validator-type/.expected/diff.patch index 7090ca7d02..edcfd5cdbd 100644 --- a/e2e/testdata/fn-eval/save-fn/validator-type/.expected/diff.patch +++ b/e2e/testdata/fn-eval/save-fn/validator-type/.expected/diff.patch @@ -9,7 +9,7 @@ index d9e2f05..72c9469 100644 + namespace: staging +pipeline: + validators: -+ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 ++ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest + configMap: + namespace: staging diff --git a/resources.yaml b/resources.yaml diff --git a/e2e/testdata/fn-eval/save-fn/validator-type/.expected/exec.sh b/e2e/testdata/fn-eval/save-fn/validator-type/.expected/exec.sh index f069f40635..7195a02ed4 100755 --- a/e2e/testdata/fn-eval/save-fn/validator-type/.expected/exec.sh +++ b/e2e/testdata/fn-eval/save-fn/validator-type/.expected/exec.sh @@ -15,4 +15,4 @@ set -eo pipefail -kpt fn eval -s -t validator -i set-namespace:v0.2.0 -- namespace=staging +kpt fn eval -s -t validator -i set-namespace:latest -- namespace=staging diff --git a/e2e/testdata/fn-eval/selectors/basicpipeline/.expected/config.yaml b/e2e/testdata/fn-eval/selectors/basicpipeline/.expected/config.yaml index 4f41d86184..c77db4e32f 100644 --- a/e2e/testdata/fn-eval/selectors/basicpipeline/.expected/config.yaml +++ b/e2e/testdata/fn-eval/selectors/basicpipeline/.expected/config.yaml @@ -13,5 +13,5 @@ # limitations under the License. stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" on 1 resource(s) - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" on 1 resource(s) + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s diff --git a/e2e/testdata/fn-eval/selectors/basicpipeline/.expected/exec.sh b/e2e/testdata/fn-eval/selectors/basicpipeline/.expected/exec.sh index 503b594d41..e3d93cfa9c 100755 --- a/e2e/testdata/fn-eval/selectors/basicpipeline/.expected/exec.sh +++ b/e2e/testdata/fn-eval/selectors/basicpipeline/.expected/exec.sh @@ -15,4 +15,4 @@ set -eo pipefail -kpt fn eval -i set-namespace:v0.2.0 --match-name nginx-deployment --match-kind Deployment -- namespace=staging +kpt fn eval -i set-namespace:latest --match-name nginx-deployment --match-kind Deployment -- namespace=staging diff --git a/e2e/testdata/fn-eval/selectors/exclude/.expected/config.yaml b/e2e/testdata/fn-eval/selectors/exclude/.expected/config.yaml index 4f41d86184..c77db4e32f 100644 --- a/e2e/testdata/fn-eval/selectors/exclude/.expected/config.yaml +++ b/e2e/testdata/fn-eval/selectors/exclude/.expected/config.yaml @@ -13,5 +13,5 @@ # limitations under the License. stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" on 1 resource(s) - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" on 1 resource(s) + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s diff --git a/e2e/testdata/fn-eval/selectors/exclude/.expected/exec.sh b/e2e/testdata/fn-eval/selectors/exclude/.expected/exec.sh index b38e333c8d..5d5ff9b814 100755 --- a/e2e/testdata/fn-eval/selectors/exclude/.expected/exec.sh +++ b/e2e/testdata/fn-eval/selectors/exclude/.expected/exec.sh @@ -15,4 +15,4 @@ set -eo pipefail -kpt fn eval -i set-namespace:v0.2.0 --exclude-kind Custom -- namespace=staging +kpt fn eval -i set-namespace:latest --exclude-kind Custom -- namespace=staging diff --git a/e2e/testdata/fn-eval/selectors/out-of-place-fnchain-unwrap/.expected/config.yaml b/e2e/testdata/fn-eval/selectors/out-of-place-fnchain-unwrap/.expected/config.yaml index 8e7ba3ecd0..3f9b4db1c7 100644 --- a/e2e/testdata/fn-eval/selectors/out-of-place-fnchain-unwrap/.expected/config.yaml +++ b/e2e/testdata/fn-eval/selectors/out-of-place-fnchain-unwrap/.expected/config.yaml @@ -17,8 +17,8 @@ stdErrStripLines: - " \"WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested\"" stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" on 1 resource(s) - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" on 1 resource(s) + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-annotations:latest" on 1 resource(s) [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-annotations:latest" in 0s [Results]: [info] metadata.annotations: set annotations: {"foo":"bar"} diff --git a/e2e/testdata/fn-eval/selectors/out-of-place-fnchain-unwrap/.expected/exec.sh b/e2e/testdata/fn-eval/selectors/out-of-place-fnchain-unwrap/.expected/exec.sh index 9cfdf3cc4e..0ab9b9ed51 100755 --- a/e2e/testdata/fn-eval/selectors/out-of-place-fnchain-unwrap/.expected/exec.sh +++ b/e2e/testdata/fn-eval/selectors/out-of-place-fnchain-unwrap/.expected/exec.sh @@ -17,6 +17,6 @@ set -eo pipefail kpt fn source \ -| kpt fn eval - --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 --match-kind Deployment -o stdout -- namespace=staging \ +| kpt fn eval - --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest --match-kind Deployment -o stdout -- namespace=staging \ | kpt fn eval - --image ghcr.io/kptdev/krm-functions-catalog/set-annotations:latest --match-name custom -- foo=bar \ | kpt fn eval - --image ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.1.5 -o unwrap -- tier=backend diff --git a/e2e/testdata/fn-eval/selectors/selectors-with-exclude/.expected/config.yaml b/e2e/testdata/fn-eval/selectors/selectors-with-exclude/.expected/config.yaml index 4f41d86184..c77db4e32f 100644 --- a/e2e/testdata/fn-eval/selectors/selectors-with-exclude/.expected/config.yaml +++ b/e2e/testdata/fn-eval/selectors/selectors-with-exclude/.expected/config.yaml @@ -13,5 +13,5 @@ # limitations under the License. stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" on 1 resource(s) - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" on 1 resource(s) + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s diff --git a/e2e/testdata/fn-eval/selectors/selectors-with-exclude/.expected/exec.sh b/e2e/testdata/fn-eval/selectors/selectors-with-exclude/.expected/exec.sh index 51f413851b..b083b839d0 100755 --- a/e2e/testdata/fn-eval/selectors/selectors-with-exclude/.expected/exec.sh +++ b/e2e/testdata/fn-eval/selectors/selectors-with-exclude/.expected/exec.sh @@ -15,4 +15,4 @@ set -eo pipefail -kpt fn eval -i set-namespace:v0.2.0 --match-labels foo=bar --match-labels foo-1=bar --exclude-annotations foo=bar -- namespace=staging +kpt fn eval -i set-namespace:latest --match-labels foo=bar --match-labels foo-1=bar --exclude-annotations foo=bar -- namespace=staging diff --git a/e2e/testdata/fn-eval/short-image-path/.expected/config.yaml b/e2e/testdata/fn-eval/short-image-path/.expected/config.yaml index ed37ade626..8cf6e1787d 100644 --- a/e2e/testdata/fn-eval/short-image-path/.expected/config.yaml +++ b/e2e/testdata/fn-eval/short-image-path/.expected/config.yaml @@ -17,11 +17,11 @@ actualStripLines: testType: eval -image: set-namespace:v0.2.0 +image: set-namespace:latest args: namespace: staging stdErr: | - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" in 0s + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" in 0s diff --git a/e2e/testdata/fn-eval/short-image-path/.expected/results.yaml b/e2e/testdata/fn-eval/short-image-path/.expected/results.yaml index 8708417d0d..4853c1d182 100755 --- a/e2e/testdata/fn-eval/short-image-path/.expected/results.yaml +++ b/e2e/testdata/fn-eval/short-image-path/.expected/results.yaml @@ -4,5 +4,10 @@ metadata: name: fnresults exitCode: 0 items: - - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 + - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest exitCode: 0 + results: + - message: namespace [default] updated to "staging", 1 value(s) changed + severity: info + - message: all `depends-on` annotations are up-to-date. no `namespace` changed + severity: info diff --git a/e2e/testdata/fn-eval/simple-function-symlink/.expected/config.yaml b/e2e/testdata/fn-eval/simple-function-symlink/.expected/config.yaml index 71fe148636..50cb6a8da9 100644 --- a/e2e/testdata/fn-eval/simple-function-symlink/.expected/config.yaml +++ b/e2e/testdata/fn-eval/simple-function-symlink/.expected/config.yaml @@ -14,5 +14,5 @@ stdErr: |- [WARN] resolved symlink "new-link" to ".", please note that the symlinks within the package are ignored - [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" - [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0" + [RUNNING] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" + [PASS] "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest" diff --git a/e2e/testdata/fn-eval/simple-function-symlink/.expected/exec.sh b/e2e/testdata/fn-eval/simple-function-symlink/.expected/exec.sh index e4eddd31eb..a4ee154eb7 100755 --- a/e2e/testdata/fn-eval/simple-function-symlink/.expected/exec.sh +++ b/e2e/testdata/fn-eval/simple-function-symlink/.expected/exec.sh @@ -17,6 +17,6 @@ set -eo pipefail ln -s ./ new-link -kpt fn eval new-link --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 -- namespace=staging +kpt fn eval new-link --image ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest -- namespace=staging rm -rf new-link \ No newline at end of file diff --git a/e2e/testdata/fn-eval/simple-function-with-tag/.expected/diff.patch b/e2e/testdata/fn-eval/simple-function-with-tag/.expected/diff.patch index f3518b8417..5371dee2ab 100644 --- a/e2e/testdata/fn-eval/simple-function-with-tag/.expected/diff.patch +++ b/e2e/testdata/fn-eval/simple-function-with-tag/.expected/diff.patch @@ -9,4 +9,4 @@ index 1f15150..5966859 100644 + namespace: staging spec: replicas: 3 - --- + --- \ No newline at end of file diff --git a/e2e/testdata/fn-eval/simple-function/.expected/config.yaml b/e2e/testdata/fn-eval/simple-function/.expected/config.yaml index e6e3bed593..eb0dfa04f8 100644 --- a/e2e/testdata/fn-eval/simple-function/.expected/config.yaml +++ b/e2e/testdata/fn-eval/simple-function/.expected/config.yaml @@ -13,6 +13,6 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest args: namespace: staging diff --git a/e2e/testdata/fn-eval/simple-function/.expected/diff.patch b/e2e/testdata/fn-eval/simple-function/.expected/diff.patch index 551c6bfb48..e2cf9a7ff3 100644 --- a/e2e/testdata/fn-eval/simple-function/.expected/diff.patch +++ b/e2e/testdata/fn-eval/simple-function/.expected/diff.patch @@ -1,5 +1,5 @@ diff --git a/resources.yaml b/resources.yaml -index f2eec52..b66c419 100644 +index f2eec52..f169ab0 100644 --- a/resources.yaml +++ b/resources.yaml @@ -15,6 +15,7 @@ apiVersion: apps/v1 @@ -9,11 +9,3 @@ index f2eec52..b66c419 100644 + namespace: staging spec: replicas: 3 - --- -@@ -22,5 +23,6 @@ apiVersion: custom.io/v1 - kind: Custom - metadata: - name: custom -+ namespace: staging - spec: - image: nginx:1.2.3 diff --git a/e2e/testdata/fn-eval/subpkg-exclude-fn-config-by-default/.expected/config.yaml b/e2e/testdata/fn-eval/subpkg-exclude-fn-config-by-default/.expected/config.yaml index e6e3bed593..eb0dfa04f8 100644 --- a/e2e/testdata/fn-eval/subpkg-exclude-fn-config-by-default/.expected/config.yaml +++ b/e2e/testdata/fn-eval/subpkg-exclude-fn-config-by-default/.expected/config.yaml @@ -13,6 +13,6 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest args: namespace: staging diff --git a/e2e/testdata/fn-eval/subpkg-exclude-fn-config-by-default/.expected/diff.patch b/e2e/testdata/fn-eval/subpkg-exclude-fn-config-by-default/.expected/diff.patch index cc32d23128..ea3964cf9c 100644 --- a/e2e/testdata/fn-eval/subpkg-exclude-fn-config-by-default/.expected/diff.patch +++ b/e2e/testdata/fn-eval/subpkg-exclude-fn-config-by-default/.expected/diff.patch @@ -1,27 +1,3 @@ -diff --git a/Kptfile b/Kptfile -index 92a643d..ede2393 100644 ---- a/Kptfile -+++ b/Kptfile -@@ -2,6 +2,7 @@ apiVersion: kpt.dev/v1 - kind: Kptfile - metadata: - name: app -+ namespace: staging - pipeline: - mutators: - - image: ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.1.5 -diff --git a/db/Kptfile b/db/Kptfile -index 093e789..a085eed 100644 ---- a/db/Kptfile -+++ b/db/Kptfile -@@ -2,6 +2,7 @@ apiVersion: kpt.dev/v1 - kind: Kptfile - metadata: - name: db -+ namespace: staging - pipeline: - mutators: - - image: ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.1.5 diff --git a/db/labelconfig.yaml b/db/labelconfig.yaml index 6db7671..0de2122 100644 --- a/db/labelconfig.yaml @@ -44,19 +20,8 @@ index dabe43c..b44084a 100644 + namespace: staging spec: replicas: 3 -diff --git a/labelconfig.yaml b/labelconfig.yaml -index 9c360e2..420c97c 100644 ---- a/labelconfig.yaml -+++ b/labelconfig.yaml -@@ -17,5 +17,6 @@ metadata: - name: label-config - annotations: - config.kubernetes.io/local-config: "true" -+ namespace: staging - data: - tier: app diff --git a/resources.yaml b/resources.yaml -index f2eec52..b66c419 100644 +index f2eec52..f169ab0 100644 --- a/resources.yaml +++ b/resources.yaml @@ -15,6 +15,7 @@ apiVersion: apps/v1 @@ -66,11 +31,3 @@ index f2eec52..b66c419 100644 + namespace: staging spec: replicas: 3 - --- -@@ -22,5 +23,6 @@ apiVersion: custom.io/v1 - kind: Custom - metadata: - name: custom -+ namespace: staging - spec: - image: nginx:1.2.3 diff --git a/e2e/testdata/fn-eval/subpkg-has-samename-subdir/.expected/config.yaml b/e2e/testdata/fn-eval/subpkg-has-samename-subdir/.expected/config.yaml index 47844502bf..72644e4089 100644 --- a/e2e/testdata/fn-eval/subpkg-has-samename-subdir/.expected/config.yaml +++ b/e2e/testdata/fn-eval/subpkg-has-samename-subdir/.expected/config.yaml @@ -13,6 +13,6 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest args: namespace: dev diff --git a/e2e/testdata/fn-eval/subpkg-has-samename-subdir/.expected/diff.patch b/e2e/testdata/fn-eval/subpkg-has-samename-subdir/.expected/diff.patch index 1ddfb0beae..938a43cd3c 100644 --- a/e2e/testdata/fn-eval/subpkg-has-samename-subdir/.expected/diff.patch +++ b/e2e/testdata/fn-eval/subpkg-has-samename-subdir/.expected/diff.patch @@ -1,27 +1,5 @@ -diff --git a/Kptfile b/Kptfile -index 701e0a1..f9b5995 100644 ---- a/Kptfile -+++ b/Kptfile -@@ -2,5 +2,6 @@ apiVersion: kpt.dev/v1 - kind: Kptfile - metadata: - name: root-pkg -+ namespace: dev - info: - description: sample description -diff --git a/pkg-a/Kptfile b/pkg-a/Kptfile -index 1c0e1cc..e278c20 100644 ---- a/pkg-a/Kptfile -+++ b/pkg-a/Kptfile -@@ -2,5 +2,6 @@ apiVersion: kpt.dev/v1 - kind: Kptfile - metadata: - name: pkg-a -+ namespace: dev - info: - description: sample description diff --git a/pkg-a/pkg-a/resources.yaml b/pkg-a/pkg-a/resources.yaml -index f2eec52..c4e4abb 100644 +index f2eec52..1934a8f 100644 --- a/pkg-a/pkg-a/resources.yaml +++ b/pkg-a/pkg-a/resources.yaml @@ -15,6 +15,7 @@ apiVersion: apps/v1 @@ -31,11 +9,3 @@ index f2eec52..c4e4abb 100644 + namespace: dev spec: replicas: 3 - --- -@@ -22,5 +23,6 @@ apiVersion: custom.io/v1 - kind: Custom - metadata: - name: custom -+ namespace: dev - spec: - image: nginx:1.2.3 diff --git a/e2e/testdata/fn-eval/subpkg-include-meta-resources/.expected/config.yaml b/e2e/testdata/fn-eval/subpkg-include-meta-resources/.expected/config.yaml index 377e9fd8c1..63e976d46b 100644 --- a/e2e/testdata/fn-eval/subpkg-include-meta-resources/.expected/config.yaml +++ b/e2e/testdata/fn-eval/subpkg-include-meta-resources/.expected/config.yaml @@ -14,7 +14,7 @@ runCount: 2 testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest includeMetaResources: true exitCode: 1 args: diff --git a/e2e/testdata/fn-eval/subpkgs-with-krmignore/.expected/config.yaml b/e2e/testdata/fn-eval/subpkgs-with-krmignore/.expected/config.yaml index e6e3bed593..eb0dfa04f8 100644 --- a/e2e/testdata/fn-eval/subpkgs-with-krmignore/.expected/config.yaml +++ b/e2e/testdata/fn-eval/subpkgs-with-krmignore/.expected/config.yaml @@ -13,6 +13,6 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest args: namespace: staging diff --git a/e2e/testdata/fn-eval/subpkgs-with-krmignore/.expected/diff.patch b/e2e/testdata/fn-eval/subpkgs-with-krmignore/.expected/diff.patch index cdcc3bc03c..b2f0359918 100644 --- a/e2e/testdata/fn-eval/subpkgs-with-krmignore/.expected/diff.patch +++ b/e2e/testdata/fn-eval/subpkgs-with-krmignore/.expected/diff.patch @@ -10,7 +10,7 @@ index dabe43c..b44084a 100644 spec: replicas: 3 diff --git a/resources.yaml b/resources.yaml -index f2eec52..b66c419 100644 +index f2eec52..f169ab0 100644 --- a/resources.yaml +++ b/resources.yaml @@ -15,6 +15,7 @@ apiVersion: apps/v1 @@ -20,11 +20,3 @@ index f2eec52..b66c419 100644 + namespace: staging spec: replicas: 3 - --- -@@ -22,5 +23,6 @@ apiVersion: custom.io/v1 - kind: Custom - metadata: - name: custom -+ namespace: staging - spec: - image: nginx:1.2.3 diff --git a/e2e/testdata/fn-eval/subpkgs/.expected/config.yaml b/e2e/testdata/fn-eval/subpkgs/.expected/config.yaml index e6e3bed593..eb0dfa04f8 100644 --- a/e2e/testdata/fn-eval/subpkgs/.expected/config.yaml +++ b/e2e/testdata/fn-eval/subpkgs/.expected/config.yaml @@ -13,6 +13,6 @@ # limitations under the License. testType: eval -image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0 +image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest args: namespace: staging diff --git a/e2e/testdata/fn-eval/subpkgs/.expected/diff.patch b/e2e/testdata/fn-eval/subpkgs/.expected/diff.patch index cdcc3bc03c..b2f0359918 100644 --- a/e2e/testdata/fn-eval/subpkgs/.expected/diff.patch +++ b/e2e/testdata/fn-eval/subpkgs/.expected/diff.patch @@ -10,7 +10,7 @@ index dabe43c..b44084a 100644 spec: replicas: 3 diff --git a/resources.yaml b/resources.yaml -index f2eec52..b66c419 100644 +index f2eec52..f169ab0 100644 --- a/resources.yaml +++ b/resources.yaml @@ -15,6 +15,7 @@ apiVersion: apps/v1 @@ -20,11 +20,3 @@ index f2eec52..b66c419 100644 + namespace: staging spec: replicas: 3 - --- -@@ -22,5 +23,6 @@ apiVersion: custom.io/v1 - kind: Custom - metadata: - name: custom -+ namespace: staging - spec: - image: nginx:1.2.3 diff --git a/internal/kptops/set-namespace.go b/internal/kptops/set-namespace.go new file mode 100644 index 0000000000..8d8122dbe7 --- /dev/null +++ b/internal/kptops/set-namespace.go @@ -0,0 +1,72 @@ +// Copyright 2022 The kpt Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package kptops + +import ( + "fmt" + "strings" + + "sigs.k8s.io/kustomize/kyaml/fn/framework" + "sigs.k8s.io/kustomize/kyaml/yaml" +) + +// Simple implementation of set-namespace kpt function, primarily for testing. +func setNamespace(rl *framework.ResourceList) error { + if rl.FunctionConfig == nil { + return nil // nothing to do + } + + if !validGVK(rl.FunctionConfig, "v1", "ConfigMap") { + return fmt.Errorf("invalid set-namespace function config type: %s/%s; expected v1/ConfigMap", rl.FunctionConfig.GetApiVersion(), rl.FunctionConfig.GetKind()) + } + + data := rl.FunctionConfig.GetDataMap() + if data == nil { + return nil // nothing to do + } + + namespace, ok := data["namespace"] + if !ok { + return nil // nothing to do + } + + for _, n := range rl.Items { + if isUnknown(n) && n.GetNamespace() == "" { + continue + } + if err := n.SetNamespace(namespace); err != nil { + return err + } + } + + return nil +} + +func isUnknown(n *yaml.RNode) bool { + apiVersion := n.GetApiVersion() + group := "" + if i := strings.Index(apiVersion, "/"); i != -1 { + group = apiVersion[:i] + } + // Heuristic: standard Kubernetes API groups either have no dots in the group + // name (e.g., "", "apps", "batch", "autoscaling", "extensions", "policy", + // "storage") or end in ".k8s.io" (e.g., "networking.k8s.io"). + // Custom Resources (CRs) have groups with dots that don't end in ".k8s.io" + // (e.g., "custom.io", "stable.example.com"). + if group == "" || !strings.Contains(group, ".") || strings.HasSuffix(group, ".k8s.io") { + return false + } + return true +} diff --git a/pkg/fn/runtime/jsglue.go b/pkg/fn/runtime/jsglue.go index 1aad3d7405..1dbae91943 100644 --- a/pkg/fn/runtime/jsglue.go +++ b/pkg/fn/runtime/jsglue.go @@ -234,7 +234,7 @@ const crypto = require('crypto'); } const timeOrigin = Date.now() - performance.now(); this.importObject = { - gojs: { + go: { // Go's SP does not change as long as no Go code is running. Some operations (e.g. calls, getters and setters) // may synchronously trigger a Go event handler. This makes Go code get executed in the middle of the imported // function. A goroutine can switch to a new stack if the current stack is too small (see morestack function). @@ -456,8 +456,6 @@ const crypto = require('crypto'); }, } }; - // Expose imports under both "gojs" (Go 1.21+) and "go" (Go <1.21) - this.importObject.go = this.importObject.gojs; } async run(instance) { if (!(instance instanceof WebAssembly.Instance)) { diff --git a/pkg/fn/runtime/runner_test.go b/pkg/fn/runtime/runner_test.go index 74bdb5f786..a652dbb693 100644 --- a/pkg/fn/runtime/runner_test.go +++ b/pkg/fn/runtime/runner_test.go @@ -20,7 +20,7 @@ import ( "bytes" "context" "os" - "path" + "path/filepath" "strings" "testing" @@ -87,7 +87,7 @@ data: {foo: bar} assert.NoError(t, err, "unexpected error") _, err = tmp.WriteString(c.configFileContent) assert.NoError(t, err, "unexpected error") - c.fn.ConfigPath = path.Base(tmp.Name()) + c.fn.ConfigPath = filepath.Base(tmp.Name()) } fsys := filesys.MakeFsOnDisk() cn, err := newFnConfig(fsys, &c.fn, types.UniquePath(os.TempDir())) diff --git a/pkg/fn/runtime/wasmtime.go b/pkg/fn/runtime/wasmtime.go index 67202be6f9..7c0a202514 100644 --- a/pkg/fn/runtime/wasmtime.go +++ b/pkg/fn/runtime/wasmtime.go @@ -77,6 +77,12 @@ func NewWasmtimeFn(loader WasmLoader) (*WasmtimeFn, error) { return nil, err } + // Also register all imports under "gojs" module name for compatibility + // with Go-compiled WASM binaries that use the "gojs" import module. + if err = addGojsAliases(f.store, linker, f); err != nil { + return nil, fmt.Errorf("failed to add gojs aliases: %w", err) + } + // Create an instance of the module. if f.Instance, err = linker.Instantiate(f.store, module); err != nil { return nil, err @@ -221,3 +227,60 @@ func (f *WasmtimeFn) Write(fd int, b []byte) (n int, err error) { func (f *WasmtimeFn) Error(format string, params ...any) { log.Printf("ERROR: "+format+"\n", params...) } + +// addGojsAliases registers all Go wasm imports under the "gojs" module name +// in addition to the "go" module name. This provides compatibility with +// Go-compiled WASM binaries that import from "gojs" (used by some Go versions). +func addGojsAliases(store *wasmtime.Store, linker *wasmtime.Linker, instance wasmexec.Instance) error { + i32 := wasmtime.NewValType(wasmtime.KindI32) + mod := wasmexec.New(instance) + + type fnDef struct { + name string + fn func(uint32) + } + + defs := []fnDef{ + {"runtime.wasmExit", mod.WasmExit}, + {"runtime.wasmWrite", mod.WasmWrite}, + {"runtime.resetMemoryDataView", mod.ResetMemoryDataView}, + {"runtime.nanotime1", mod.Nanotime1}, + {"runtime.walltime", mod.Walltime}, + {"runtime.scheduleTimeoutEvent", mod.ScheduleTimeoutEvent}, + {"runtime.clearTimeoutEvent", mod.ClearTimeoutEvent}, + {"runtime.getRandomData", mod.GetRandomData}, + {"syscall/js.finalizeRef", mod.FinalizeRef}, + {"syscall/js.stringVal", mod.StringVal}, + {"syscall/js.valueGet", mod.ValueGet}, + {"syscall/js.valueSet", mod.ValueSet}, + {"syscall/js.valueDelete", mod.ValueDelete}, + {"syscall/js.valueIndex", mod.ValueIndex}, + {"syscall/js.valueSetIndex", mod.ValueSetIndex}, + {"syscall/js.valueCall", mod.ValueCall}, + {"syscall/js.valueInvoke", mod.ValueCall}, + {"syscall/js.valueNew", mod.ValueNew}, + {"syscall/js.valueLength", mod.ValueLength}, + {"syscall/js.valuePrepareString", mod.ValuePrepareString}, + {"syscall/js.valueLoadString", mod.ValueLoadString}, + {"syscall/js.valueInstanceOf", mod.ValueInstanceOf}, + {"syscall/js.copyBytesToGo", mod.CopyBytesToGo}, + {"syscall/js.copyBytesToJS", mod.CopyBytesToJS}, + {"debug", mod.Debug}, + } + + for _, d := range defs { + d := d // capture + fn := wasmtime.NewFunc( + store, + wasmtime.NewFuncType([]*wasmtime.ValType{i32}, []*wasmtime.ValType{}), + func(caller *wasmtime.Caller, args []wasmtime.Val) ([]wasmtime.Val, *wasmtime.Trap) { + d.fn(uint32(args[0].I32())) + return []wasmtime.Val{}, nil + }, + ) + if err := linker.Define("gojs", d.name, fn); err != nil { + return fmt.Errorf("failed to define gojs::%s: %w", d.name, err) + } + } + return nil +} diff --git a/pkg/fn/runtime/wasmtime_unsupported.go b/pkg/fn/runtime/wasmtime_unsupported.go index 7ff287de6b..527233d820 100644 --- a/pkg/fn/runtime/wasmtime_unsupported.go +++ b/pkg/fn/runtime/wasmtime_unsupported.go @@ -24,11 +24,19 @@ import ( "io" ) +<<<<<<< HEAD:pkg/fn/runtime/wasmtime_unsupported.go const ( msg = "wasmtime support is not complied into this binary. Binaries with wasmtime is avilable at github.com/kptdev/kpt" ) type WasmtimeFn struct { +======= +var functions map[string]framework.ResourceListProcessorFunc = map[string]framework.ResourceListProcessorFunc{ + "ghcr.io/kptdev/krm-functions-catalog/apply-setters:v0.2.0": applySetters, + "ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.1.5": setLabels, + "ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.4.1": setNamespace, + "ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest": setNamespace, +>>>>>>> 84fa5a86a (fix: register set-namespace:latest in kptops function registry):internal/kptops/functions.go } func NewWasmtimeFn(loader WasmLoader) (*WasmtimeFn, error) { diff --git a/pkg/lib/kptops/fs_test.go b/pkg/lib/kptops/fs_test.go index d989f2fe15..d177d6cf5f 100644 --- a/pkg/lib/kptops/fs_test.go +++ b/pkg/lib/kptops/fs_test.go @@ -63,7 +63,7 @@ metadata: name: app pipeline: mutators: - - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.4.1 + - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest configMap: namespace: staging - image: ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.1.5 @@ -84,7 +84,6 @@ apiVersion: custom.io/v1 kind: Custom metadata: name: custom - namespace: staging labels: tier: backend spec: @@ -141,7 +140,7 @@ metadata: name: app-with-db pipeline: mutators: - - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.4.1 + - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest configMap: namespace: staging - image: ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.1.5 @@ -160,7 +159,7 @@ metadata: name: db pipeline: mutators: - - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.4.1 + - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:latest configMap: namespace: db - image: ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.1.5 @@ -181,7 +180,6 @@ apiVersion: custom.io/v1 kind: Custom metadata: name: custom - namespace: staging labels: tier: db spec: