Update SMP transformer for kyaml

This commit is contained in:
jregan
2020-06-26 11:11:49 -07:00
parent ae5a690146
commit 5f5b23af58
2 changed files with 10 additions and 27 deletions

View File

@@ -4,11 +4,8 @@
package builtins package builtins
import ( import (
"encoding/json"
"fmt" "fmt"
kyaml "sigs.k8s.io/kustomize/kyaml/yaml"
"sigs.k8s.io/kustomize/api/filters/patchstrategicmerge" "sigs.k8s.io/kustomize/api/filters/patchstrategicmerge"
"sigs.k8s.io/kustomize/api/resmap" "sigs.k8s.io/kustomize/api/resmap"
"sigs.k8s.io/kustomize/api/resource" "sigs.k8s.io/kustomize/api/resource"
@@ -90,7 +87,11 @@ func (p *PatchStrategicMergeTransformerPlugin) Transform(m resmap.ResMap) error
} }
} }
} else { } 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 { if err != nil {
return err return err
} }
@@ -102,16 +103,6 @@ func (p *PatchStrategicMergeTransformerPlugin) Transform(m resmap.ResMap) error
return nil 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 { func NewPatchStrategicMergeTransformerPlugin() resmap.TransformerPlugin {
return &PatchStrategicMergeTransformerPlugin{} return &PatchStrategicMergeTransformerPlugin{}
} }

View File

@@ -5,9 +5,7 @@
package main package main
import ( import (
"encoding/json"
"fmt" "fmt"
kyaml "sigs.k8s.io/kustomize/kyaml/yaml"
"sigs.k8s.io/kustomize/api/filters/patchstrategicmerge" "sigs.k8s.io/kustomize/api/filters/patchstrategicmerge"
"sigs.k8s.io/kustomize/api/resmap" "sigs.k8s.io/kustomize/api/resmap"
@@ -93,7 +91,11 @@ func (p *plugin) Transform(m resmap.ResMap) error {
} }
} }
} else { } 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 { if err != nil {
return err return err
} }
@@ -104,13 +106,3 @@ func (p *plugin) Transform(m resmap.ResMap) error {
} }
return nil 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))
}