From ffc6ca74084272b04067388f0685acaa9e0b89ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charles-Edouard=20Br=C3=A9t=C3=A9ch=C3=A9?= Date: Thu, 22 Jun 2023 13:12:36 +0200 Subject: [PATCH] fix: cleanup controllerutils client interfaces (#7630) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Charles-Edouard Brétéché --- pkg/utils/controller/utils.go | 34 ++++++++++++++++------------------ pkg/webhooks/server.go | 14 ++++++-------- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/pkg/utils/controller/utils.go b/pkg/utils/controller/utils.go index db2af7f211..12f7d5f3f4 100644 --- a/pkg/utils/controller/utils.go +++ b/pkg/utils/controller/utils.go @@ -15,24 +15,16 @@ type CreateClient[T metav1.Object] interface { Create(context.Context, T, metav1.CreateOptions) (T, error) } -type UpdateClient[T metav1.Object] interface { - Update(context.Context, T, metav1.UpdateOptions) (T, error) -} - -type DeleteClient[T metav1.Object] interface { - Delete(context.Context, string, metav1.DeleteOptions) error -} - -type DeleteCollectionClient[T metav1.Object] interface { - DeleteCollection(context.Context, metav1.DeleteOptions, metav1.ListOptions) error -} - type GetClient[T metav1.Object] interface { Get(context.Context, string, metav1.GetOptions) (T, error) } -type WatchClient[T metav1.Object] interface { - Watch(context.Context, metav1.ListOptions) (watch.Interface, error) +type UpdateClient[T metav1.Object] interface { + Update(context.Context, T, metav1.UpdateOptions) (T, error) +} + +type DeleteClient interface { + Delete(context.Context, string, metav1.DeleteOptions) error } type PatchClient[T metav1.Object] interface { @@ -41,14 +33,20 @@ type PatchClient[T metav1.Object] interface { type ObjectClient[T metav1.Object] interface { CreateClient[T] - UpdateClient[T] - DeleteClient[T] - DeleteCollectionClient[T] GetClient[T] - WatchClient[T] + UpdateClient[T] + DeleteClient PatchClient[T] } +type DeleteCollectionClient interface { + DeleteCollection(context.Context, metav1.DeleteOptions, metav1.ListOptions) error +} + +type WatchClient interface { + Watch(context.Context, metav1.ListOptions) (watch.Interface, error) +} + type ListClient[T any] interface { List(context.Context, metav1.ListOptions) (T, error) } diff --git a/pkg/webhooks/server.go b/pkg/webhooks/server.go index de9de4115f..8fdc9767e4 100644 --- a/pkg/webhooks/server.go +++ b/pkg/webhooks/server.go @@ -18,8 +18,6 @@ import ( runtimeutils "github.com/kyverno/kyverno/pkg/utils/runtime" "github.com/kyverno/kyverno/pkg/webhooks/handlers" admissionv1 "k8s.io/api/admission/v1" - admissionregistrationv1 "k8s.io/api/admissionregistration/v1" - coordinationv1 "k8s.io/api/coordination/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" rbacv1listers "k8s.io/client-go/listers/rbac/v1" @@ -60,9 +58,9 @@ type ResourceHandlers interface { type server struct { server *http.Server runtime runtimeutils.Runtime - mwcClient controllerutils.DeleteCollectionClient[*admissionregistrationv1.MutatingWebhookConfiguration] - vwcClient controllerutils.DeleteCollectionClient[*admissionregistrationv1.ValidatingWebhookConfiguration] - leaseClient controllerutils.DeleteClient[*coordinationv1.Lease] + mwcClient controllerutils.DeleteCollectionClient + vwcClient controllerutils.DeleteCollectionClient + leaseClient controllerutils.DeleteClient } type TlsProvider func() ([]byte, []byte, error) @@ -77,9 +75,9 @@ func NewServer( metricsConfig metrics.MetricsConfigManager, debugModeOpts DebugModeOptions, tlsProvider TlsProvider, - mwcClient controllerutils.DeleteCollectionClient[*admissionregistrationv1.MutatingWebhookConfiguration], - vwcClient controllerutils.DeleteCollectionClient[*admissionregistrationv1.ValidatingWebhookConfiguration], - leaseClient controllerutils.DeleteClient[*coordinationv1.Lease], + mwcClient controllerutils.DeleteCollectionClient, + vwcClient controllerutils.DeleteCollectionClient, + leaseClient controllerutils.DeleteClient, runtime runtimeutils.Runtime, rbLister rbacv1listers.RoleBindingLister, crbLister rbacv1listers.ClusterRoleBindingLister,