diff --git a/api/builtins/PatchTransformer.go b/api/builtins/PatchTransformer.go index 67e49fb05..da5adec48 100644 --- a/api/builtins/PatchTransformer.go +++ b/api/builtins/PatchTransformer.go @@ -139,9 +139,15 @@ func (p *PatchTransformerPlugin) applySMPatch(resource, patch *resource.Resource if err != nil { return err } - return filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ + n, ns := resource.GetName(), resource.GetNamespace() + err = filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ Patch: node, }, resource) + if len(resource.Map()) != 0 { + resource.SetName(n) + resource.SetNamespace(ns) + } + return err } // transformJson6902 applies the provided json6902 patch diff --git a/api/krusty/issue2896_test.go b/api/krusty/issue2896_test.go index 524e8a1a3..67cf2094a 100644 --- a/api/krusty/issue2896_test.go +++ b/api/krusty/issue2896_test.go @@ -88,7 +88,7 @@ patches: apiVersion: apps/v1 kind: Deployment metadata: - name: example + name: example-test-api spec: template: spec: diff --git a/plugin/builtin/patchtransformer/PatchTransformer.go b/plugin/builtin/patchtransformer/PatchTransformer.go index bde29cf61..d856453d2 100644 --- a/plugin/builtin/patchtransformer/PatchTransformer.go +++ b/plugin/builtin/patchtransformer/PatchTransformer.go @@ -143,9 +143,15 @@ func (p *plugin) applySMPatch(resource, patch *resource.Resource) error { if err != nil { return err } - return filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ + n, ns := resource.GetName(), resource.GetNamespace() + err = filtersutil.ApplyToJSON(patchstrategicmerge.Filter{ Patch: node, }, resource) + if len(resource.Map()) != 0 { + resource.SetName(n) + resource.SetNamespace(ns) + } + return err } // transformJson6902 applies the provided json6902 patch