1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-05 15:37:19 +00:00

fix: cleanup controllerutils client interfaces (#7630)

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
Charles-Edouard Brétéché 2023-06-22 13:12:36 +02:00 committed by GitHub
parent 2264d21cd2
commit ffc6ca7408
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 26 deletions

View file

@ -15,24 +15,16 @@ type CreateClient[T metav1.Object] interface {
Create(context.Context, T, metav1.CreateOptions) (T, error) 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 { type GetClient[T metav1.Object] interface {
Get(context.Context, string, metav1.GetOptions) (T, error) Get(context.Context, string, metav1.GetOptions) (T, error)
} }
type WatchClient[T metav1.Object] interface { type UpdateClient[T metav1.Object] interface {
Watch(context.Context, metav1.ListOptions) (watch.Interface, error) Update(context.Context, T, metav1.UpdateOptions) (T, error)
}
type DeleteClient interface {
Delete(context.Context, string, metav1.DeleteOptions) error
} }
type PatchClient[T metav1.Object] interface { type PatchClient[T metav1.Object] interface {
@ -41,14 +33,20 @@ type PatchClient[T metav1.Object] interface {
type ObjectClient[T metav1.Object] interface { type ObjectClient[T metav1.Object] interface {
CreateClient[T] CreateClient[T]
UpdateClient[T]
DeleteClient[T]
DeleteCollectionClient[T]
GetClient[T] GetClient[T]
WatchClient[T] UpdateClient[T]
DeleteClient
PatchClient[T] 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 { type ListClient[T any] interface {
List(context.Context, metav1.ListOptions) (T, error) List(context.Context, metav1.ListOptions) (T, error)
} }

View file

@ -18,8 +18,6 @@ import (
runtimeutils "github.com/kyverno/kyverno/pkg/utils/runtime" runtimeutils "github.com/kyverno/kyverno/pkg/utils/runtime"
"github.com/kyverno/kyverno/pkg/webhooks/handlers" "github.com/kyverno/kyverno/pkg/webhooks/handlers"
admissionv1 "k8s.io/api/admission/v1" 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" apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
rbacv1listers "k8s.io/client-go/listers/rbac/v1" rbacv1listers "k8s.io/client-go/listers/rbac/v1"
@ -60,9 +58,9 @@ type ResourceHandlers interface {
type server struct { type server struct {
server *http.Server server *http.Server
runtime runtimeutils.Runtime runtime runtimeutils.Runtime
mwcClient controllerutils.DeleteCollectionClient[*admissionregistrationv1.MutatingWebhookConfiguration] mwcClient controllerutils.DeleteCollectionClient
vwcClient controllerutils.DeleteCollectionClient[*admissionregistrationv1.ValidatingWebhookConfiguration] vwcClient controllerutils.DeleteCollectionClient
leaseClient controllerutils.DeleteClient[*coordinationv1.Lease] leaseClient controllerutils.DeleteClient
} }
type TlsProvider func() ([]byte, []byte, error) type TlsProvider func() ([]byte, []byte, error)
@ -77,9 +75,9 @@ func NewServer(
metricsConfig metrics.MetricsConfigManager, metricsConfig metrics.MetricsConfigManager,
debugModeOpts DebugModeOptions, debugModeOpts DebugModeOptions,
tlsProvider TlsProvider, tlsProvider TlsProvider,
mwcClient controllerutils.DeleteCollectionClient[*admissionregistrationv1.MutatingWebhookConfiguration], mwcClient controllerutils.DeleteCollectionClient,
vwcClient controllerutils.DeleteCollectionClient[*admissionregistrationv1.ValidatingWebhookConfiguration], vwcClient controllerutils.DeleteCollectionClient,
leaseClient controllerutils.DeleteClient[*coordinationv1.Lease], leaseClient controllerutils.DeleteClient,
runtime runtimeutils.Runtime, runtime runtimeutils.Runtime,
rbLister rbacv1listers.RoleBindingLister, rbLister rbacv1listers.RoleBindingLister,
crbLister rbacv1listers.ClusterRoleBindingLister, crbLister rbacv1listers.ClusterRoleBindingLister,