diff --git a/pkg/apis/core/v1alpha1/types_shoot.go b/pkg/apis/core/v1alpha1/types_shoot.go index f96270b2dec..1faf648a442 100644 --- a/pkg/apis/core/v1alpha1/types_shoot.go +++ b/pkg/apis/core/v1alpha1/types_shoot.go @@ -27,7 +27,6 @@ import ( ) // +genclient -// +genclient:method=CreateAdminKubeconfigRequest,verb=create,subresource=adminkubeconfig,input=github.com/gardener/gardener/pkg/apis/authentication/v1alpha1.AdminKubeconfigRequest,result=github.com/gardener/gardener/pkg/apis/authentication/v1alpha1.AdminKubeconfigRequest // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // Shoot represents a Shoot cluster created and managed by Gardener. diff --git a/pkg/apis/core/v1beta1/types_shoot.go b/pkg/apis/core/v1beta1/types_shoot.go index dd1df5de432..229fb9846a7 100644 --- a/pkg/apis/core/v1beta1/types_shoot.go +++ b/pkg/apis/core/v1beta1/types_shoot.go @@ -27,7 +27,6 @@ import ( ) // +genclient -// +genclient:method=CreateAdminKubeconfigRequest,verb=create,subresource=adminkubeconfig,input=github.com/gardener/gardener/pkg/apis/authentication/v1alpha1.AdminKubeconfigRequest,result=github.com/gardener/gardener/pkg/apis/authentication/v1alpha1.AdminKubeconfigRequest // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // Shoot represents a Shoot cluster created and managed by Gardener. diff --git a/pkg/client/core/clientset/versioned/typed/core/v1alpha1/fake/fake_shoot.go b/pkg/client/core/clientset/versioned/typed/core/v1alpha1/fake/fake_shoot.go index 08849e3cab0..564089e97df 100644 --- a/pkg/client/core/clientset/versioned/typed/core/v1alpha1/fake/fake_shoot.go +++ b/pkg/client/core/clientset/versioned/typed/core/v1alpha1/fake/fake_shoot.go @@ -21,7 +21,6 @@ package fake import ( "context" - authenticationv1alpha1 "github.com/gardener/gardener/pkg/apis/authentication/v1alpha1" v1alpha1 "github.com/gardener/gardener/pkg/apis/core/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" @@ -141,14 +140,3 @@ func (c *FakeShoots) Patch(ctx context.Context, name string, pt types.PatchType, } return obj.(*v1alpha1.Shoot), err } - -// CreateAdminKubeconfigRequest takes the representation of a adminKubeconfigRequest and creates it. Returns the server's representation of the adminKubeconfigRequest, and an error, if there is any. -func (c *FakeShoots) CreateAdminKubeconfigRequest(ctx context.Context, shootName string, adminKubeconfigRequest *authenticationv1alpha1.AdminKubeconfigRequest, opts v1.CreateOptions) (result *authenticationv1alpha1.AdminKubeconfigRequest, err error) { - obj, err := c.Fake. - Invokes(testing.NewCreateSubresourceAction(shootsResource, shootName, "adminkubeconfig", c.ns, adminKubeconfigRequest), &authenticationv1alpha1.AdminKubeconfigRequest{}) - - if obj == nil { - return nil, err - } - return obj.(*authenticationv1alpha1.AdminKubeconfigRequest), err -} diff --git a/pkg/client/core/clientset/versioned/typed/core/v1alpha1/shoot.go b/pkg/client/core/clientset/versioned/typed/core/v1alpha1/shoot.go index e7dc7d37b19..62db3b82f01 100644 --- a/pkg/client/core/clientset/versioned/typed/core/v1alpha1/shoot.go +++ b/pkg/client/core/clientset/versioned/typed/core/v1alpha1/shoot.go @@ -22,7 +22,6 @@ import ( "context" "time" - authenticationv1alpha1 "github.com/gardener/gardener/pkg/apis/authentication/v1alpha1" v1alpha1 "github.com/gardener/gardener/pkg/apis/core/v1alpha1" scheme "github.com/gardener/gardener/pkg/client/core/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -48,8 +47,6 @@ type ShootInterface interface { List(ctx context.Context, opts v1.ListOptions) (*v1alpha1.ShootList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.Shoot, err error) - CreateAdminKubeconfigRequest(ctx context.Context, shootName string, adminKubeconfigRequest *authenticationv1alpha1.AdminKubeconfigRequest, opts v1.CreateOptions) (*authenticationv1alpha1.AdminKubeconfigRequest, error) - ShootExpansion } @@ -196,18 +193,3 @@ func (c *shoots) Patch(ctx context.Context, name string, pt types.PatchType, dat Into(result) return } - -// CreateAdminKubeconfigRequest takes the representation of a adminKubeconfigRequest and creates it. Returns the server's representation of the adminKubeconfigRequest, and an error, if there is any. -func (c *shoots) CreateAdminKubeconfigRequest(ctx context.Context, shootName string, adminKubeconfigRequest *authenticationv1alpha1.AdminKubeconfigRequest, opts v1.CreateOptions) (result *authenticationv1alpha1.AdminKubeconfigRequest, err error) { - result = &authenticationv1alpha1.AdminKubeconfigRequest{} - err = c.client.Post(). - Namespace(c.ns). - Resource("shoots"). - Name(shootName). - SubResource("adminkubeconfig"). - VersionedParams(&opts, scheme.ParameterCodec). - Body(adminKubeconfigRequest). - Do(ctx). - Into(result) - return -} diff --git a/pkg/client/core/clientset/versioned/typed/core/v1beta1/fake/fake_shoot.go b/pkg/client/core/clientset/versioned/typed/core/v1beta1/fake/fake_shoot.go index b2cad6c5814..7a90e9354b8 100644 --- a/pkg/client/core/clientset/versioned/typed/core/v1beta1/fake/fake_shoot.go +++ b/pkg/client/core/clientset/versioned/typed/core/v1beta1/fake/fake_shoot.go @@ -21,7 +21,6 @@ package fake import ( "context" - v1alpha1 "github.com/gardener/gardener/pkg/apis/authentication/v1alpha1" v1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" @@ -141,14 +140,3 @@ func (c *FakeShoots) Patch(ctx context.Context, name string, pt types.PatchType, } return obj.(*v1beta1.Shoot), err } - -// CreateAdminKubeconfigRequest takes the representation of a adminKubeconfigRequest and creates it. Returns the server's representation of the adminKubeconfigRequest, and an error, if there is any. -func (c *FakeShoots) CreateAdminKubeconfigRequest(ctx context.Context, shootName string, adminKubeconfigRequest *v1alpha1.AdminKubeconfigRequest, opts v1.CreateOptions) (result *v1alpha1.AdminKubeconfigRequest, err error) { - obj, err := c.Fake. - Invokes(testing.NewCreateSubresourceAction(shootsResource, shootName, "adminkubeconfig", c.ns, adminKubeconfigRequest), &v1alpha1.AdminKubeconfigRequest{}) - - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.AdminKubeconfigRequest), err -} diff --git a/pkg/client/core/clientset/versioned/typed/core/v1beta1/mock/mocks.go b/pkg/client/core/clientset/versioned/typed/core/v1beta1/mock/mocks.go index 257fd4ef882..09b04caff27 100644 --- a/pkg/client/core/clientset/versioned/typed/core/v1beta1/mock/mocks.go +++ b/pkg/client/core/clientset/versioned/typed/core/v1beta1/mock/mocks.go @@ -8,7 +8,6 @@ import ( context "context" reflect "reflect" - v1alpha1 "github.com/gardener/gardener/pkg/apis/authentication/v1alpha1" v1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1" v1beta10 "github.com/gardener/gardener/pkg/client/core/clientset/versioned/typed/core/v1beta1" gomock "github.com/golang/mock/gomock" @@ -247,21 +246,6 @@ func (mr *MockShootInterfaceMockRecorder) Create(arg0, arg1, arg2 interface{}) * return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockShootInterface)(nil).Create), arg0, arg1, arg2) } -// CreateAdminKubeconfigRequest mocks base method. -func (m *MockShootInterface) CreateAdminKubeconfigRequest(arg0 context.Context, arg1 string, arg2 *v1alpha1.AdminKubeconfigRequest, arg3 v1.CreateOptions) (*v1alpha1.AdminKubeconfigRequest, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateAdminKubeconfigRequest", arg0, arg1, arg2, arg3) - ret0, _ := ret[0].(*v1alpha1.AdminKubeconfigRequest) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// CreateAdminKubeconfigRequest indicates an expected call of CreateAdminKubeconfigRequest. -func (mr *MockShootInterfaceMockRecorder) CreateAdminKubeconfigRequest(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAdminKubeconfigRequest", reflect.TypeOf((*MockShootInterface)(nil).CreateAdminKubeconfigRequest), arg0, arg1, arg2, arg3) -} - // Delete mocks base method. func (m *MockShootInterface) Delete(arg0 context.Context, arg1 string, arg2 v1.DeleteOptions) error { m.ctrl.T.Helper() diff --git a/pkg/client/core/clientset/versioned/typed/core/v1beta1/shoot.go b/pkg/client/core/clientset/versioned/typed/core/v1beta1/shoot.go index 6bc5f648724..01d12c6b0d1 100644 --- a/pkg/client/core/clientset/versioned/typed/core/v1beta1/shoot.go +++ b/pkg/client/core/clientset/versioned/typed/core/v1beta1/shoot.go @@ -22,7 +22,6 @@ import ( "context" "time" - v1alpha1 "github.com/gardener/gardener/pkg/apis/authentication/v1alpha1" v1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1" scheme "github.com/gardener/gardener/pkg/client/core/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -48,8 +47,6 @@ type ShootInterface interface { List(ctx context.Context, opts v1.ListOptions) (*v1beta1.ShootList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.Shoot, err error) - CreateAdminKubeconfigRequest(ctx context.Context, shootName string, adminKubeconfigRequest *v1alpha1.AdminKubeconfigRequest, opts v1.CreateOptions) (*v1alpha1.AdminKubeconfigRequest, error) - ShootExpansion } @@ -196,18 +193,3 @@ func (c *shoots) Patch(ctx context.Context, name string, pt types.PatchType, dat Into(result) return } - -// CreateAdminKubeconfigRequest takes the representation of a adminKubeconfigRequest and creates it. Returns the server's representation of the adminKubeconfigRequest, and an error, if there is any. -func (c *shoots) CreateAdminKubeconfigRequest(ctx context.Context, shootName string, adminKubeconfigRequest *v1alpha1.AdminKubeconfigRequest, opts v1.CreateOptions) (result *v1alpha1.AdminKubeconfigRequest, err error) { - result = &v1alpha1.AdminKubeconfigRequest{} - err = c.client.Post(). - Namespace(c.ns). - Resource("shoots"). - Name(shootName). - SubResource("adminkubeconfig"). - VersionedParams(&opts, scheme.ParameterCodec). - Body(adminKubeconfigRequest). - Do(ctx). - Into(result) - return -} diff --git a/test/utils/shoots/access/adminkubeconfig.go b/test/utils/shoots/access/adminkubeconfig.go index a6d2e119394..20342962a7e 100644 --- a/test/utils/shoots/access/adminkubeconfig.go +++ b/test/utils/shoots/access/adminkubeconfig.go @@ -17,13 +17,11 @@ package access import ( "context" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/utils/pointer" "sigs.k8s.io/controller-runtime/pkg/client" authenticationv1alpha1 "github.com/gardener/gardener/pkg/apis/authentication/v1alpha1" gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1" - gardencoreversionedclientset "github.com/gardener/gardener/pkg/client/core/clientset/versioned" "github.com/gardener/gardener/pkg/client/kubernetes" ) @@ -43,20 +41,17 @@ func CreateShootClientFromAdminKubeconfig(ctx context.Context, gardenClient kube // RequestAdminKubeconfigForShoot requests an admin kubeconfig for the given shoot. func RequestAdminKubeconfigForShoot(ctx context.Context, gardenClient kubernetes.Interface, shoot *gardencorev1beta1.Shoot, expirationSeconds *int64) ([]byte, error) { - versionedClient, err := gardencoreversionedclientset.NewForConfig(gardenClient.RESTConfig()) - if err != nil { - return nil, err - } - adminKubeconfigRequest := &authenticationv1alpha1.AdminKubeconfigRequest{ Spec: authenticationv1alpha1.AdminKubeconfigRequestSpec{ ExpirationSeconds: expirationSeconds, }, } - adminKubeconfig, err := versionedClient.CoreV1beta1().Shoots(shoot.GetNamespace()).CreateAdminKubeconfigRequest(ctx, shoot.GetName(), adminKubeconfigRequest, metav1.CreateOptions{}) - if err != nil { + if err := gardenClient.Client().SubResource("adminkubeconfig").Create(ctx, shoot, adminKubeconfigRequest); err != nil { + return nil, err + } + if err := gardenClient.Client().SubResource("adminkubeconfig").Get(ctx, shoot, adminKubeconfigRequest); err != nil { return nil, err } - return adminKubeconfig.Status.Kubeconfig, nil + return adminKubeconfigRequest.Status.Kubeconfig, nil }