mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-14 10:30:59 +00:00
fix: check both prev and current ids for filtering reject targets
This commit is contained in:
@@ -126,8 +126,8 @@ func applyReplacement(nodes []*yaml.RNode, value *yaml.RNode, targetSelectors []
|
|||||||
}
|
}
|
||||||
|
|
||||||
// filter targets by matching resource IDs
|
// filter targets by matching resource IDs
|
||||||
for i, id := range ids {
|
for _, id := range ids {
|
||||||
if id.IsSelectedBy(selector.Select.ResId) && !rejectId(selector.Reject, &ids[i]) {
|
if id.IsSelectedBy(selector.Select.ResId) && !containsRejectId(selector.Reject, ids) {
|
||||||
err := copyValueToTarget(possibleTarget, value, selector)
|
err := copyValueToTarget(possibleTarget, value, selector)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -168,10 +168,15 @@ func matchesAnnoAndLabelSelector(n *yaml.RNode, selector *types.Selector) (bool,
|
|||||||
return annoMatch && labelMatch, nil
|
return annoMatch && labelMatch, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func rejectId(rejects []*types.Selector, id *resid.ResId) bool {
|
func containsRejectId(rejects []*types.Selector, ids []resid.ResId) bool {
|
||||||
for _, r := range rejects {
|
for _, r := range rejects {
|
||||||
if !r.ResId.IsEmpty() && id.IsSelectedBy(r.ResId) {
|
if r.ResId.IsEmpty() {
|
||||||
return true
|
continue
|
||||||
|
}
|
||||||
|
for _, id := range ids {
|
||||||
|
if id.IsSelectedBy(r.ResId) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -604,7 +604,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- image: app1:1.0
|
- image: app1:1.0
|
||||||
name: something-else
|
name: app
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
data:
|
data:
|
||||||
|
|||||||
Reference in New Issue
Block a user