From cf588df6def2fa9a050ff934174fee86a12b1a13 Mon Sep 17 00:00:00 2001 From: Morten Torkildsen Date: Sat, 17 Apr 2021 13:42:33 -0700 Subject: [PATCH] Update dependencies and address changes in the API (#1763) --- commands/migratecmd.go | 5 +++-- go.mod | 6 +++--- go.sum | 22 +++++++--------------- pkg/live/dual-delegating-loader.go | 18 +++++------------- pkg/live/dual-delegating-loader_test.go | 2 +- pkg/live/inventoryrg.go | 4 ++++ pkg/live/preprocess/process_test.go | 4 ++++ pkg/live/rgloader.go | 13 +++---------- 8 files changed, 30 insertions(+), 44 deletions(-) diff --git a/commands/migratecmd.go b/commands/migratecmd.go index 5dcf834695..f1ae47d10a 100644 --- a/commands/migratecmd.go +++ b/commands/migratecmd.go @@ -21,6 +21,7 @@ import ( "k8s.io/klog" cmdutil "k8s.io/kubectl/pkg/cmd/util" "k8s.io/kubectl/pkg/util/i18n" + "sigs.k8s.io/cli-utils/cmd/flagutils" "sigs.k8s.io/cli-utils/pkg/common" "sigs.k8s.io/cli-utils/pkg/config" "sigs.k8s.io/cli-utils/pkg/inventory" @@ -198,7 +199,7 @@ func (mr *MigrateRunner) updateKptfile(args []string) error { // an error if one occurred. func (mr *MigrateRunner) retrieveConfigMapInv(reader io.Reader, args []string) (inventory.InventoryInfo, error) { fmt.Fprint(mr.ioStreams.Out, " retrieve the current ConfigMap inventory...") - cmReader, err := mr.cmLoader.ManifestReader(reader, args) + cmReader, err := mr.cmLoader.ManifestReader(reader, flagutils.PathFromArgs(args)) if err != nil { return nil, err } @@ -245,7 +246,7 @@ func (mr *MigrateRunner) migrateObjs(cmObjs []object.ObjMetadata, oldID string, fmt.Fprintln(mr.ioStreams.Out, "success") return nil } - rgReader, err := mr.rgLoader.ManifestReader(reader, args) + rgReader, err := mr.rgLoader.ManifestReader(reader, flagutils.PathFromArgs(args)) if err != nil { return err } diff --git a/go.mod b/go.mod index 90e7e7e009..cc652403f3 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( k8s.io/client-go v0.20.4 k8s.io/klog v1.0.0 k8s.io/kubectl v0.20.4 - sigs.k8s.io/cli-utils v0.24.0 - sigs.k8s.io/kustomize/cmd/config v0.9.9 - sigs.k8s.io/kustomize/kyaml v0.10.15 + sigs.k8s.io/cli-utils v0.25.0 + sigs.k8s.io/kustomize/cmd/config v0.9.10 + sigs.k8s.io/kustomize/kyaml v0.10.17 ) diff --git a/go.sum b/go.sum index a40b91c50e..cc63d37c51 100644 --- a/go.sum +++ b/go.sum @@ -892,25 +892,17 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0= -sigs.k8s.io/cli-utils v0.23.7-0.20210316180306-70426d65771d h1:l4IxZtrrhb+h0Lz4i9UpKU97u3+Xp+XT6qkGNnTvDRA= -sigs.k8s.io/cli-utils v0.23.7-0.20210316180306-70426d65771d/go.mod h1:vyCQ1Pk5cBG74mKrg90dE29SJqm3tZzOsuVeO1Rqroo= -sigs.k8s.io/cli-utils v0.24.0 h1:jQ7AEBKJ/6Cl6fUBZQU+JbWHoPdNLBgBVEO0CANt1xQ= -sigs.k8s.io/cli-utils v0.24.0/go.mod h1:vyCQ1Pk5cBG74mKrg90dE29SJqm3tZzOsuVeO1Rqroo= +sigs.k8s.io/cli-utils v0.25.0 h1:uYoe/BZBJBUluU/PknsY9mgqB8jPvQV5ADp9VT9GS2w= +sigs.k8s.io/cli-utils v0.25.0/go.mod h1:dllg30GE57wkWbvaA9lI1cpDwTKxb9NAENStrQ3fQxg= sigs.k8s.io/controller-runtime v0.6.0 h1:Fzna3DY7c4BIP6KwfSlrfnj20DJ+SeMBK8HSFvOk9NM= sigs.k8s.io/controller-runtime v0.6.0/go.mod h1:CpYf5pdNY/B352A1TFLAS2JVSlnGQ5O2cftPHndTroo= sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0= sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU= -sigs.k8s.io/kustomize/cmd/config v0.9.5 h1:UtayMj9O9hQgZ8Yp6lbRMG8aX2IvXJUdHyQj2vhDDn0= -sigs.k8s.io/kustomize/cmd/config v0.9.5/go.mod h1:WvPpkvuDcXF8rvXEEfK6L9kA0Ylu6jXe5gWG5mlS4co= -sigs.k8s.io/kustomize/cmd/config v0.9.7 h1:xxvL/np/zYHVuCH1tNFehlyEtSW5oXjoI6ycejiyOwQ= -sigs.k8s.io/kustomize/cmd/config v0.9.7/go.mod h1:MvXCpHs77cfyxRmCNUQjIqCmZyYsbn5PyQpWiq44nW0= -sigs.k8s.io/kustomize/cmd/config v0.9.9 h1:WAfC1MwZdfdLf+2FLZJcsOzoPkdOxvu5/9fDxyZ1emg= -sigs.k8s.io/kustomize/cmd/config v0.9.9/go.mod h1:MvXCpHs77cfyxRmCNUQjIqCmZyYsbn5PyQpWiq44nW0= -sigs.k8s.io/kustomize/kyaml v0.10.13/go.mod h1:JX33L0fyBEfdkidfYQwF50t7UrjatnF+j0F9ikkhTWI= -sigs.k8s.io/kustomize/kyaml v0.10.14 h1:8zftx3bT0r2355kE/cZfwCMq9SlTWMBvadwwtl+jcbU= -sigs.k8s.io/kustomize/kyaml v0.10.14/go.mod h1:mlQFagmkm1P+W4lZJbJ/yaxMd8PqMRSC4cPcfUVt5Hg= -sigs.k8s.io/kustomize/kyaml v0.10.15 h1:dSLgG78KyaxN4HylPXdK+7zB3k7sW6q3IcCmcfKA+aI= -sigs.k8s.io/kustomize/kyaml v0.10.15/go.mod h1:mlQFagmkm1P+W4lZJbJ/yaxMd8PqMRSC4cPcfUVt5Hg= +sigs.k8s.io/kustomize/cmd/config v0.9.10 h1:oA6APIzAg5CnpqOyf6Cnghu7byicnbmWIBgd19VZSZQ= +sigs.k8s.io/kustomize/cmd/config v0.9.10/go.mod h1:Mrby0WnRH7hA6OwOYnYpfpiY0WJIMgYrEDfwOeFdMK0= +sigs.k8s.io/kustomize/kyaml v0.10.16/go.mod h1:mlQFagmkm1P+W4lZJbJ/yaxMd8PqMRSC4cPcfUVt5Hg= +sigs.k8s.io/kustomize/kyaml v0.10.17 h1:4zrV0ym5AYa0e512q7K3Wp1u7mzoWW0xR3UHJcGWGIg= +sigs.k8s.io/kustomize/kyaml v0.10.17/go.mod h1:mlQFagmkm1P+W4lZJbJ/yaxMd8PqMRSC4cPcfUVt5Hg= sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= sigs.k8s.io/structured-merge-diff/v4 v4.0.2 h1:YHQV7Dajm86OuqnIR6zAelnDWBRjo+YhYV9PmGrh1s8= diff --git a/pkg/live/dual-delegating-loader.go b/pkg/live/dual-delegating-loader.go index b18c1a6a7e..cb738e205f 100644 --- a/pkg/live/dual-delegating-loader.go +++ b/pkg/live/dual-delegating-loader.go @@ -4,7 +4,6 @@ package live import ( - "fmt" "io" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -32,8 +31,8 @@ func NewDualDelegatingManifestReader(f util.Factory) *DualDelegatingManifestRead // Provider, then calls Read() for this ManifestReader to retrieve the objects // and to calculate the type of Inventory object is present. Returns a // CachedManifestReader with the read objects, or an error. -func (cp *DualDelegatingManifestReader) ManifestReader(reader io.Reader, args []string) (manifestreader.ManifestReader, error) { - r, err := cp.manifestReader(reader, args) +func (cp *DualDelegatingManifestReader) ManifestReader(reader io.Reader, path string) (manifestreader.ManifestReader, error) { + r, err := cp.manifestReader(reader, path) if err != nil { return nil, err } @@ -45,14 +44,7 @@ func (cp *DualDelegatingManifestReader) ManifestReader(reader io.Reader, args [] return &CachedManifestReader{objs: objs}, nil } -func (cp *DualDelegatingManifestReader) manifestReader(reader io.Reader, args []string) (manifestreader.ManifestReader, error) { - // Validate parameters. - if reader == nil && len(args) == 0 { - return nil, fmt.Errorf("unable to build ManifestReader without both reader or args") - } - if len(args) > 1 { - return nil, fmt.Errorf("expected one directory argument allowed; got (%s)", args) - } +func (cp *DualDelegatingManifestReader) manifestReader(reader io.Reader, path string) (manifestreader.ManifestReader, error) { // Create ReaderOptions for subsequent ManifestReader. namespace, enforceNamespace, err := cp.factory.ToRawKubeConfigLoader().Namespace() if err != nil { @@ -71,7 +63,7 @@ func (cp *DualDelegatingManifestReader) manifestReader(reader io.Reader, args [] // No arguments means stream (using reader), while one argument // means path manifest reader. var rgReader manifestreader.ManifestReader - if len(args) == 0 { + if path == "-" { rgReader = &ResourceGroupStreamManifestReader{ streamReader: &manifestreader.StreamManifestReader{ ReaderName: "stdin", @@ -82,7 +74,7 @@ func (cp *DualDelegatingManifestReader) manifestReader(reader io.Reader, args [] } else { rgReader = &ResourceGroupPathManifestReader{ pathReader: &manifestreader.PathManifestReader{ - Path: args[0], + Path: path, ReaderOptions: readerOptions, }, } diff --git a/pkg/live/dual-delegating-loader_test.go b/pkg/live/dual-delegating-loader_test.go index f795fc94c8..3b08ab5ae9 100644 --- a/pkg/live/dual-delegating-loader_test.go +++ b/pkg/live/dual-delegating-loader_test.go @@ -120,7 +120,7 @@ func TestDualDelegatingProvider_Read(t *testing.T) { // Read objects using provider ManifestReader. loader := NewDualDelegatingManifestReader(tf) - mr, err := loader.ManifestReader(nil, []string{dir}) + mr, err := loader.ManifestReader(nil, dir) if err != nil { t.Fatalf("unexpected error %v", err) } diff --git a/pkg/live/inventoryrg.go b/pkg/live/inventoryrg.go index 97361e7624..28c5f866b9 100644 --- a/pkg/live/inventoryrg.go +++ b/pkg/live/inventoryrg.go @@ -92,6 +92,10 @@ func (icm *InventoryResourceGroup) ID() string { return "" } +func (icm *InventoryResourceGroup) Strategy() inventory.InventoryStrategy { + return inventory.NameStrategy +} + // Load is an Inventory interface function returning the set of // object metadata from the wrapped ResourceGroup, or an error. func (icm *InventoryResourceGroup) Load() ([]object.ObjMetadata, error) { diff --git a/pkg/live/preprocess/process_test.go b/pkg/live/preprocess/process_test.go index 58f52b31b2..ff9e739683 100644 --- a/pkg/live/preprocess/process_test.go +++ b/pkg/live/preprocess/process_test.go @@ -129,3 +129,7 @@ func (f *fakeInventoryClient) UpdateLabels(inv inventory.InventoryInfo, labels m f.inventory.SetLabels(labels) return nil } + +func (f *fakeInventoryClient) GetClusterInventoryObjs(inv inventory.InventoryInfo) ([]*unstructured.Unstructured, error) { + return []*unstructured.Unstructured{}, nil +} diff --git a/pkg/live/rgloader.go b/pkg/live/rgloader.go index b15f9beaa1..067a87fa63 100644 --- a/pkg/live/rgloader.go +++ b/pkg/live/rgloader.go @@ -39,14 +39,7 @@ func (f *ResourceGroupManifestLoader) InventoryInfo(objs []*unstructured.Unstruc // ManifestReader returns the ResourceGroup inventory object version of // the ManifestReader. -func (f *ResourceGroupManifestLoader) ManifestReader(reader io.Reader, args []string) (manifestreader.ManifestReader, error) { - // Validate parameters. - if reader == nil && len(args) == 0 { - return nil, fmt.Errorf("unable to build ManifestReader without both reader or args") - } - if len(args) > 1 { - return nil, fmt.Errorf("expected one directory argument allowed; got (%s)", args) - } +func (f *ResourceGroupManifestLoader) ManifestReader(reader io.Reader, path string) (manifestreader.ManifestReader, error) { // Create ReaderOptions for subsequent ManifestReader. namespace, enforceNamespace, err := f.factory.ToRawKubeConfigLoader().Namespace() if err != nil { @@ -65,7 +58,7 @@ func (f *ResourceGroupManifestLoader) ManifestReader(reader io.Reader, args []st // No arguments means stream (using reader), while one argument // means path manifest reader. var rgReader manifestreader.ManifestReader - if len(args) == 0 { + if path == "-" { rgReader = &ResourceGroupStreamManifestReader{ streamReader: &manifestreader.StreamManifestReader{ ReaderName: "stdin", @@ -76,7 +69,7 @@ func (f *ResourceGroupManifestLoader) ManifestReader(reader io.Reader, args []st } else { rgReader = &ResourceGroupPathManifestReader{ pathReader: &manifestreader.PathManifestReader{ - Path: args[0], + Path: path, ReaderOptions: readerOptions, }, }