kustomize
kustomize copied to clipboard
Failing to apply multiple patches using labelSelector/annotationSelector targeting the same files
What happened?
When I use two JSON patches to copy configuration, and target these patches using annotationSelector, only the first patch applies.
What did you expect to happen?
I expected the second patch to be applied.
How can we reproduce it (as minimally and precisely as possible)?
# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- resources.yaml
patches:
- patch: |-
- op: copy
from: /data/original/foo
path: /data/new/foo
target:
annotationSelector: default-env=True
- patch: |-
- op: copy
from: /data/original/baz
path: /data/new/baz
target:
annotationSelector: default-env=True
# resources.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: test-object
annotations:
default-env: True
data:
original:
foo: bar
baz: qux
new:
foo:
baz:
Expected output
apiVersion: v1
data:
new:
baz: qux
foo: bar
original:
baz: qux
foo: bar
kind: ConfigMap
metadata:
annotations:
default-env: "true"
name: test-object
Actual output
apiVersion: v1
data:
new:
baz: null
foo: bar
original:
baz: qux
foo: bar
kind: ConfigMap
metadata:
annotations:
default-env: "true"
name: test-object
Kustomize version
v5.3.0
Operating system
MacOS
This issue is currently awaiting triage.
SIG CLI takes a lead on issue triage for this repo, but any Kubernetes member can accept issues by applying the triage/accepted
label.
The triage/accepted
label can be added by org members by writing /triage accepted
in a comment.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
same is true of the labelSelector. works as expected with name: test-object
as the target, though.