diff --git a/api/builtins/PatchStrategicMergeTransformer.go b/api/builtins/PatchStrategicMergeTransformer.go index 43deed282..feba4131c 100644 --- a/api/builtins/PatchStrategicMergeTransformer.go +++ b/api/builtins/PatchStrategicMergeTransformer.go @@ -4,11 +4,8 @@ package builtins import ( - "encoding/json" "fmt" - kyaml "sigs.k8s.io/kustomize/kyaml/yaml" - "sigs.k8s.io/kustomize/api/filters/patchstrategicmerge" "sigs.k8s.io/kustomize/api/resmap" "sigs.k8s.io/kustomize/api/resource" @@ -90,7 +87,11 @@ func (p *PatchStrategicMergeTransformerPlugin) Transform(m resmap.ResMap) error } } } else { - node, err := getRNode(patch) + patchCopy := patch.DeepCopy() + patchCopy.SetName(target.GetName()) + patchCopy.SetNamespace(target.GetNamespace()) + patchCopy.SetGvk(target.GetGvk()) + node, err := filtersutil.GetRNode(patchCopy) if err != nil { return err } @@ -102,16 +103,6 @@ func (p *PatchStrategicMergeTransformerPlugin) Transform(m resmap.ResMap) error return nil } -//TODO: Remove this once the next version of kyaml is released which -// exposes GetRNode from the filutersutil package. -func getRNode(k json.Marshaler) (*kyaml.RNode, error) { - j, err := k.MarshalJSON() - if err != nil { - return nil, err - } - return kyaml.Parse(string(j)) -} - func NewPatchStrategicMergeTransformerPlugin() resmap.TransformerPlugin { return &PatchStrategicMergeTransformerPlugin{} } diff --git a/plugin/builtin/patchstrategicmergetransformer/PatchStrategicMergeTransformer.go b/plugin/builtin/patchstrategicmergetransformer/PatchStrategicMergeTransformer.go index 187f7b8d4..0de255aae 100644 --- a/plugin/builtin/patchstrategicmergetransformer/PatchStrategicMergeTransformer.go +++ b/plugin/builtin/patchstrategicmergetransformer/PatchStrategicMergeTransformer.go @@ -5,9 +5,7 @@ package main import ( - "encoding/json" "fmt" - kyaml "sigs.k8s.io/kustomize/kyaml/yaml" "sigs.k8s.io/kustomize/api/filters/patchstrategicmerge" "sigs.k8s.io/kustomize/api/resmap" @@ -93,7 +91,11 @@ func (p *plugin) Transform(m resmap.ResMap) error { } } } else { - node, err := getRNode(patch) + patchCopy := patch.DeepCopy() + patchCopy.SetName(target.GetName()) + patchCopy.SetNamespace(target.GetNamespace()) + patchCopy.SetGvk(target.GetGvk()) + node, err := filtersutil.GetRNode(patchCopy) if err != nil { return err } @@ -104,13 +106,3 @@ func (p *plugin) Transform(m resmap.ResMap) error { } return nil } - -//TODO: Remove this once the next version of kyaml is released which -// exposes GetRNode from the filutersutil package. -func getRNode(k json.Marshaler) (*kyaml.RNode, error) { - j, err := k.MarshalJSON() - if err != nil { - return nil, err - } - return kyaml.Parse(string(j)) -}