From 4c7b63a215b5e64caa22c60fade47b37729b1ee8 Mon Sep 17 00:00:00 2001 From: Jingfang Liu Date: Tue, 9 Oct 2018 16:25:15 -0700 Subject: [PATCH] remove dependency on apimachinery from gvk package --- internal/k8sdeps/patch/patch.go | 15 +++++++++++++-- internal/k8sdeps/unstructadapter.go | 7 ++++++- pkg/gvk/gvk.go | 19 ------------------- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/internal/k8sdeps/patch/patch.go b/internal/k8sdeps/patch/patch.go index a9b03233e..8189de5cf 100644 --- a/internal/k8sdeps/patch/patch.go +++ b/internal/k8sdeps/patch/patch.go @@ -22,8 +22,10 @@ import ( "github.com/evanphx/json-patch" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/strategicpatch" "k8s.io/client-go/kubernetes/scheme" + "sigs.k8s.io/kustomize/pkg/gvk" "sigs.k8s.io/kustomize/pkg/resmap" "sigs.k8s.io/kustomize/pkg/resource" "sigs.k8s.io/kustomize/pkg/transformers" @@ -81,7 +83,7 @@ func (pt *patchTransformer) Transform(baseResourceMap resmap.ResMap) error { id = matchedIds[0] base := baseResourceMap[id] merged := map[string]interface{}{} - versionedObj, err := scheme.Scheme.New(id.Gvk().ToSchemaGvk()) + versionedObj, err := scheme.Scheme.New(toSchemaGvk(id.Gvk())) baseName := base.GetName() switch { case runtime.IsNotRegisteredError(err): @@ -139,7 +141,7 @@ func (pt *patchTransformer) mergePatches() (resmap.ResMap, error) { continue } - versionedObj, err := scheme.Scheme.New(id.Gvk().ToSchemaGvk()) + versionedObj, err := scheme.Scheme.New(toSchemaGvk(id.Gvk())) if err != nil && !runtime.IsNotRegisteredError(err) { return nil, err } @@ -174,3 +176,12 @@ func (pt *patchTransformer) mergePatches() (resmap.ResMap, error) { } return rc, nil } + +// toSchemaGvk converts to a schema.GroupVersionKind. +func toSchemaGvk(x gvk.Gvk) schema.GroupVersionKind { + return schema.GroupVersionKind{ + Group: x.Group, + Version: x.Version, + Kind: x.Kind, + } +} diff --git a/internal/k8sdeps/unstructadapter.go b/internal/k8sdeps/unstructadapter.go index d0605c1b7..94fe72816 100644 --- a/internal/k8sdeps/unstructadapter.go +++ b/internal/k8sdeps/unstructadapter.go @@ -54,7 +54,12 @@ func NewKunstructuredFromObject(obj runtime.Object) (ifc.Kunstructured, error) { // GetGvk returns the Gvk name of the object. func (fs *UnstructAdapter) GetGvk() gvk.Gvk { - return gvk.FromSchemaGvk(fs.GroupVersionKind()) + x := fs.GroupVersionKind() + return gvk.Gvk{ + Group: x.Group, + Version: x.Version, + Kind: x.Kind, + } } // Copy provides a copy behind an interface. diff --git a/pkg/gvk/gvk.go b/pkg/gvk/gvk.go index dcdcde72c..ec846dfa7 100644 --- a/pkg/gvk/gvk.go +++ b/pkg/gvk/gvk.go @@ -17,7 +17,6 @@ limitations under the License. package gvk import ( - "k8s.io/apimachinery/pkg/runtime/schema" "strings" ) @@ -36,24 +35,6 @@ func FromKind(k string) Gvk { } } -// FromSchemaGvk converts from a schema.GroupVersionKind. -func FromSchemaGvk(x schema.GroupVersionKind) Gvk { - return Gvk{ - Group: x.Group, - Version: x.Version, - Kind: x.Kind, - } -} - -// ToSchemaGvk converts to a schema.GroupVersionKind. -func (x Gvk) ToSchemaGvk() schema.GroupVersionKind { - return schema.GroupVersionKind{ - Group: x.Group, - Version: x.Version, - Kind: x.Kind, - } -} - const ( noGroup = "noGroup" noVersion = "noVersion"