From 9b81866d8a49a6b9e1fbb78b940fb7630544b21e Mon Sep 17 00:00:00 2001 From: Eugene Shevchenko Date: Wed, 19 May 2021 13:58:10 +0300 Subject: [PATCH] adopt fixes from shell-operator client discovery --- client/client.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/client/client.go b/client/client.go index a3727c6..968c61e 100644 --- a/client/client.go +++ b/client/client.go @@ -16,6 +16,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/client-go/discovery" "k8s.io/client-go/discovery/cached/disk" + fakediscovery "k8s.io/client-go/discovery/fake" "k8s.io/client-go/dynamic" fakedynamic "k8s.io/client-go/dynamic/fake" "k8s.io/client-go/kubernetes" @@ -334,7 +335,15 @@ func (c *client) APIResourceList(apiVersion string) (lists []*metav1.APIResource if apiVersion == "" { // Get all preferred resources. // Can return errors if api controllers are not available. - return c.discovery().ServerPreferredResources() + switch c.discovery().(type) { + case *fakediscovery.FakeDiscovery: + _, res, err := c.discovery().ServerGroupsAndResources() + return res, err + + default: + return c.discovery().ServerPreferredResources() + } + } else { // Get only resources for desired group and version gv, err := schema.ParseGroupVersion(apiVersion)