Skip to content

Commit

Permalink
Adopt controller-runtime braking change: TypedReconciler
Browse files Browse the repository at this point in the history
Reference PR2799
Adopt Kubernetes#125483 introduced ReadinessCheck
Adopt Kubernetes breaking change: EffectiveVersion
Reference PR: 122891

Signed-off-by: RainbowMango <[email protected]>
  • Loading branch information
RainbowMango committed Nov 12, 2024
1 parent e3e4c7d commit a67fe0d
Show file tree
Hide file tree
Showing 42 changed files with 565 additions and 182 deletions.
4 changes: 4 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@ linters-settings:
- name: unexported-return
- name: time-naming
- name: empty-block
staticcheck:
# TODO(@RainbowMango): Disable deprecation check temporary for Kubernetes dependency update.
# This is tracked by https://github.com/karmada-io/karmada/issues/5796.
checks: ["all", "-SA1019"]

issues:
# The list of ids of default excludes to include or disable. By default it's empty.
Expand Down
2 changes: 2 additions & 0 deletions cmd/aggregated-apiserver/app/options/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import (
genericoptions "k8s.io/apiserver/pkg/server/options"
"k8s.io/apiserver/pkg/storage/storagebackend"
utilfeature "k8s.io/apiserver/pkg/util/feature"
utilversion "k8s.io/apiserver/pkg/util/version"
"k8s.io/client-go/kubernetes"
"k8s.io/klog/v2"
netutils "k8s.io/utils/net"
Expand Down Expand Up @@ -121,6 +122,7 @@ func (o *Options) Run(ctx context.Context) error {
restConfig := config.GenericConfig.ClientConfig
restConfig.QPS, restConfig.Burst = o.KubeAPIQPS, o.KubeAPIBurst
secretLister := config.GenericConfig.SharedInformerFactory.Core().V1().Secrets().Lister()
config.GenericConfig.EffectiveVersion = utilversion.NewEffectiveVersion("1.0")

server, err := config.Complete().New(restConfig, secretLister)
if err != nil {
Expand Down
2 changes: 2 additions & 0 deletions cmd/karmada-search/app/karmada-search.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import (
genericapiserver "k8s.io/apiserver/pkg/server"
genericfilters "k8s.io/apiserver/pkg/server/filters"
genericoptions "k8s.io/apiserver/pkg/server/options"
utilversion "k8s.io/apiserver/pkg/util/version"
"k8s.io/client-go/rest"
cliflag "k8s.io/component-base/cli/flag"
"k8s.io/component-base/term"
Expand Down Expand Up @@ -177,6 +178,7 @@ func config(o *options.Options, outOfTreeRegistryOptions ...Option) (*search.Con

serverConfig.ClientConfig.QPS = o.KubeAPIQPS
serverConfig.ClientConfig.Burst = o.KubeAPIBurst
serverConfig.Config.EffectiveVersion = utilversion.NewEffectiveVersion("1.0")

httpClient, err := rest.HTTPClientFor(serverConfig.ClientConfig)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion cmd/metrics-adapter/app/options/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,5 +144,5 @@ func (o *Options) Run(ctx context.Context) error {
return err
}

return metricsServer.StartServer(stopCh)
return metricsServer.StartServer(ctx)
}
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ require (
layeh.com/gopher-json v0.0.0-20201124131017-552bb3c4c3bf
sigs.k8s.io/cluster-api v1.7.1
sigs.k8s.io/controller-runtime v0.19.1
sigs.k8s.io/custom-metrics-apiserver v1.30.0
sigs.k8s.io/custom-metrics-apiserver v1.30.1-0.20241105195130-84dc8cfe2555
sigs.k8s.io/kind v0.24.0
sigs.k8s.io/mcs-api v0.1.0
sigs.k8s.io/metrics-server v0.7.1
Expand All @@ -80,7 +80,7 @@ require (
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/go-restful/v3 v3.12.0 // indirect
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d // indirect
github.com/fatih/camelcase v1.0.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
Expand Down
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,8 @@ github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+m
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/emicklei/go-restful/v3 v3.12.0 h1:y2DdzBAURM29NFF94q6RaY4vjIH1rtwDapwQtU84iWk=
github.com/emicklei/go-restful/v3 v3.12.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/emicklei/go-restful/v3 v3.12.1 h1:PJMDIM/ak7btuL8Ex0iYET9hxM3CI2sjZtzpL63nKAU=
github.com/emicklei/go-restful/v3 v3.12.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
Expand Down Expand Up @@ -1483,8 +1483,8 @@ sigs.k8s.io/controller-runtime v0.6.1/go.mod h1:XRYBPdbf5XJu9kpS84VJiZ7h/u1hF3gE
sigs.k8s.io/controller-runtime v0.19.1 h1:Son+Q40+Be3QWb+niBXAg2vFiYWolDjjRfO8hn/cxOk=
sigs.k8s.io/controller-runtime v0.19.1/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
sigs.k8s.io/controller-tools v0.3.0/go.mod h1:enhtKGfxZD1GFEoMgP8Fdbu+uKQ/cq1/WGJhdVChfvI=
sigs.k8s.io/custom-metrics-apiserver v1.30.0 h1:BCgg2QfInoWXvoJgPK8TxrSS9r5wR4NNvr7M+9sUOYo=
sigs.k8s.io/custom-metrics-apiserver v1.30.0/go.mod h1:QXOKIL83M545uITzoZn4OC1C7nr0WhLh70A38pbzUpk=
sigs.k8s.io/custom-metrics-apiserver v1.30.1-0.20241105195130-84dc8cfe2555 h1:GYU1Vmegcr1cs7+D06pa6+saS2DDu31JIHvDIbvWtcE=
sigs.k8s.io/custom-metrics-apiserver v1.30.1-0.20241105195130-84dc8cfe2555/go.mod h1:JL2q3g2QCWnIDvo73jpkksZOVd3ee3FWzZs4EHvx5NE=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/kind v0.8.1/go.mod h1:oNKTxUVPYkV9lWzY6CVMNluVq8cBsyq+UgPJdvA3uu4=
Expand Down
12 changes: 4 additions & 8 deletions pkg/aggregatedapiserver/apiserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ package aggregatedapiserver

import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/version"
"k8s.io/apiserver/pkg/registry/generic"
"k8s.io/apiserver/pkg/registry/rest"
genericapiserver "k8s.io/apiserver/pkg/server"
"k8s.io/apiserver/pkg/util/version"
listcorev1 "k8s.io/client-go/listers/core/v1"
restclient "k8s.io/client-go/rest"
"k8s.io/klog/v2"
Expand Down Expand Up @@ -60,14 +60,10 @@ type CompletedConfig struct {
// Complete fills in any fields not set that are required to have valid data. It's mutating the receiver.
func (cfg *Config) Complete() CompletedConfig {
c := completedConfig{
cfg.GenericConfig.Complete(),
&cfg.ExtraConfig,
}

c.GenericConfig.Version = &version.Info{
Major: "1",
Minor: "0",
GenericConfig: cfg.GenericConfig.Complete(),
ExtraConfig: &cfg.ExtraConfig,
}
c.GenericConfig.EffectiveVersion = version.NewEffectiveVersion("1.0")

return CompletedConfig{&c}
}
Expand Down
14 changes: 9 additions & 5 deletions pkg/aggregatedapiserver/apiserver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import (
"k8s.io/apiserver/pkg/endpoints/openapi"
"k8s.io/apiserver/pkg/registry/generic"
genericapiserver "k8s.io/apiserver/pkg/server"
"k8s.io/apiserver/pkg/util/version"
"k8s.io/client-go/informers"
clientset "k8s.io/client-go/kubernetes"
fakeclientset "k8s.io/client-go/kubernetes/fake"
Expand Down Expand Up @@ -65,7 +66,8 @@ func TestNewAggregatedAPIServer(t *testing.T) {
BuildHandlerChainFunc: func(http.Handler, *genericapiserver.Config) (secure http.Handler) {
return nil
},
ExternalAddress: "10.0.0.0:10000",
ExternalAddress: "10.0.0.0:10000",
EffectiveVersion: version.NewEffectiveVersion("1.0"),
},
client: fakeclientset.NewSimpleClientset(),
prep: func(cfg *completedConfig, genericAPIServerCfg *genericapiserver.Config, client clientset.Interface) error {
Expand Down Expand Up @@ -94,8 +96,9 @@ func TestNewAggregatedAPIServer(t *testing.T) {
BuildHandlerChainFunc: func(http.Handler, *genericapiserver.Config) (secure http.Handler) {
return nil
},
OpenAPIV3Config: genericapiserver.DefaultOpenAPIV3Config(generatedopenapi.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(clusterscheme.Scheme)),
ExternalAddress: "10.0.0.0:10000",
OpenAPIV3Config: genericapiserver.DefaultOpenAPIV3Config(generatedopenapi.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(clusterscheme.Scheme)),
ExternalAddress: "10.0.0.0:10000",
EffectiveVersion: version.NewEffectiveVersion("1.0"),
},
prep: func(cfg *completedConfig, genericAPIServerCfg *genericapiserver.Config, client clientset.Interface) error {
sharedInformer := informers.NewSharedInformerFactory(client, 0)
Expand Down Expand Up @@ -129,8 +132,9 @@ func TestNewAggregatedAPIServer(t *testing.T) {
BuildHandlerChainFunc: func(http.Handler, *genericapiserver.Config) (secure http.Handler) {
return nil
},
OpenAPIV3Config: genericapiserver.DefaultOpenAPIV3Config(generatedopenapi.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(clusterscheme.Scheme)),
ExternalAddress: "10.0.0.0:10000",
OpenAPIV3Config: genericapiserver.DefaultOpenAPIV3Config(generatedopenapi.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(clusterscheme.Scheme)),
ExternalAddress: "10.0.0.0:10000",
EffectiveVersion: version.NewEffectiveVersion("1.0"),
},
prep: func(cfg *completedConfig, genericAPIServerCfg *genericapiserver.Config, client clientset.Interface) error {
sharedInformer := informers.NewSharedInformerFactory(client, 0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ func (c *CRBApplicationFailoverController) SetupWithManager(mgr controllerruntim
return controllerruntime.NewControllerManagedBy(mgr).
Named(CRBApplicationFailoverControllerName).
For(&workv1alpha2.ClusterResourceBinding{}, builder.WithPredicates(clusterResourceBindingPredicateFn)).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter(c.RateLimiterOptions)}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter[controllerruntime.Request](c.RateLimiterOptions)}).
Complete(c)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ func (c *RBApplicationFailoverController) SetupWithManager(mgr controllerruntime
return controllerruntime.NewControllerManagedBy(mgr).
Named(RBApplicationFailoverControllerName).
For(&workv1alpha2.ResourceBinding{}, builder.WithPredicates(resourceBindingPredicateFn)).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter(c.RateLimiterOptions)}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter[controllerruntime.Request](c.RateLimiterOptions)}).
Complete(c)
}

Expand Down
2 changes: 1 addition & 1 deletion pkg/controllers/binding/binding_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ func (c *ResourceBindingController) SetupWithManager(mgr controllerruntime.Manag
WithEventFilter(predicate.GenerationChangedPredicate{}).
Watches(&policyv1alpha1.OverridePolicy{}, handler.EnqueueRequestsFromMapFunc(c.newOverridePolicyFunc())).
Watches(&policyv1alpha1.ClusterOverridePolicy{}, handler.EnqueueRequestsFromMapFunc(c.newOverridePolicyFunc())).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter(c.RateLimiterOptions)}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter[controllerruntime.Request](c.RateLimiterOptions)}).
Complete(c)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ func (c *ClusterResourceBindingController) SetupWithManager(mgr controllerruntim
For(&workv1alpha2.ClusterResourceBinding{}).
Watches(&policyv1alpha1.ClusterOverridePolicy{}, handler.EnqueueRequestsFromMapFunc(c.newOverridePolicyFunc())).
WithEventFilter(predicate.GenerationChangedPredicate{}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter(c.RateLimiterOptions)}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter[controllerruntime.Request](c.RateLimiterOptions)}).
Complete(c)
}

Expand Down
2 changes: 1 addition & 1 deletion pkg/controllers/certificate/cert_rotation_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ func (c *CertRotationController) SetupWithManager(mgr controllerruntime.Manager)
For(&clusterv1alpha1.Cluster{}, builder.WithPredicates(c.PredicateFunc)).
WithEventFilter(predicate.GenerationChangedPredicate{}).
WithOptions(controller.Options{
RateLimiter: ratelimiterflag.DefaultControllerRateLimiter(c.RatelimiterOptions),
RateLimiter: ratelimiterflag.DefaultControllerRateLimiter[controllerruntime.Request](c.RatelimiterOptions),
}).
Complete(c)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ func (c *CronFHPAController) SetupWithManager(mgr controllerruntime.Manager) err
return controllerruntime.NewControllerManagedBy(mgr).
Named(ControllerName).
For(&autoscalingv1alpha1.CronFederatedHPA{}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter(c.RateLimiterOptions)}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter[controllerruntime.Request](c.RateLimiterOptions)}).
WithEventFilter(predicate.GenerationChangedPredicate{}).
Complete(c)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/controllers/execution/execution_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ func (c *Controller) SetupWithManager(mgr controllerruntime.Manager) error {
For(&workv1alpha1.Work{}, builder.WithPredicates(c.PredicateFunc)).
WithEventFilter(predicate.GenerationChangedPredicate{}).
WithOptions(controller.Options{
RateLimiter: ratelimiterflag.DefaultControllerRateLimiter(c.RatelimiterOptions),
RateLimiter: ratelimiterflag.DefaultControllerRateLimiter[controllerruntime.Request](c.RatelimiterOptions),
}).
Complete(c)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/controllers/federatedhpa/federatedhpa_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ func (c *FHPAController) SetupWithManager(mgr controllerruntime.Manager) error {
return controllerruntime.NewControllerManagedBy(mgr).
Named(ControllerName).
For(&autoscalingv1alpha1.FederatedHPA{}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter(c.RateLimiterOptions)}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter[controllerruntime.Request](c.RateLimiterOptions)}).
WithEventFilter(predicate.GenerationChangedPredicate{}).
Complete(c)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,6 @@ func (c *CRBGracefulEvictionController) SetupWithManager(mgr controllerruntime.M
return controllerruntime.NewControllerManagedBy(mgr).
Named(CRBGracefulEvictionControllerName).
For(&workv1alpha2.ClusterResourceBinding{}, builder.WithPredicates(clusterResourceBindingPredicateFn)).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter(c.RateLimiterOptions)}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter[controllerruntime.Request](c.RateLimiterOptions)}).
Complete(c)
}
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,6 @@ func (c *RBGracefulEvictionController) SetupWithManager(mgr controllerruntime.Ma
return controllerruntime.NewControllerManagedBy(mgr).
Named(RBGracefulEvictionControllerName).
For(&workv1alpha2.ResourceBinding{}, builder.WithPredicates(resourceBindingPredicateFn)).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter(c.RateLimiterOptions)}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter[controllerruntime.Request](c.RateLimiterOptions)}).
Complete(c)
}
2 changes: 1 addition & 1 deletion pkg/controllers/multiclusterservice/mcs_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -604,7 +604,7 @@ func (c *MCSController) SetupWithManager(mgr controllerruntime.Manager) error {
For(&networkingv1alpha1.MultiClusterService{}, builder.WithPredicates(mcsPredicateFunc)).
Watches(&corev1.Service{}, handler.EnqueueRequestsFromMapFunc(svcMapFunc), builder.WithPredicates(svcPredicateFunc)).
Watches(&clusterv1alpha1.Cluster{}, handler.EnqueueRequestsFromMapFunc(c.clusterMapFunc())).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter(c.RateLimiterOptions)}).
WithOptions(controller.Options{RateLimiter: ratelimiterflag.DefaultControllerRateLimiter[controllerruntime.Request](c.RateLimiterOptions)}).
Complete(c)
}

Expand Down
25 changes: 13 additions & 12 deletions pkg/controllers/remediation/eventhandlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/client-go/util/workqueue"
"k8s.io/klog/v2"
controllerruntime "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/event"
"sigs.k8s.io/controller-runtime/pkg/handler"
Expand All @@ -34,19 +35,19 @@ import (
remedyv1alpha1 "github.com/karmada-io/karmada/pkg/apis/remedy/v1alpha1"
)

func newClusterEventHandler() handler.TypedEventHandler[*clusterv1alpha1.Cluster] {
func newClusterEventHandler() handler.TypedEventHandler[*clusterv1alpha1.Cluster, controllerruntime.Request] {
return &clusterEventHandler{}
}

var _ handler.TypedEventHandler[*clusterv1alpha1.Cluster] = &clusterEventHandler{}
var _ handler.TypedEventHandler[*clusterv1alpha1.Cluster, controllerruntime.Request] = &clusterEventHandler{}

type clusterEventHandler struct{}

func (h *clusterEventHandler) Create(context.Context, event.TypedCreateEvent[*clusterv1alpha1.Cluster], workqueue.RateLimitingInterface) {
func (h *clusterEventHandler) Create(context.Context, event.TypedCreateEvent[*clusterv1alpha1.Cluster], workqueue.TypedRateLimitingInterface[controllerruntime.Request]) {
// Don't care about cluster creation events
}

func (h *clusterEventHandler) Update(_ context.Context, e event.TypedUpdateEvent[*clusterv1alpha1.Cluster], queue workqueue.RateLimitingInterface) {
func (h *clusterEventHandler) Update(_ context.Context, e event.TypedUpdateEvent[*clusterv1alpha1.Cluster], queue workqueue.TypedRateLimitingInterface[controllerruntime.Request]) {
if reflect.DeepEqual(e.ObjectOld.Status.Conditions, e.ObjectNew.Status.Conditions) {
return
}
Expand All @@ -56,31 +57,31 @@ func (h *clusterEventHandler) Update(_ context.Context, e event.TypedUpdateEvent
}})
}

func (h *clusterEventHandler) Delete(_ context.Context, _ event.TypedDeleteEvent[*clusterv1alpha1.Cluster], _ workqueue.RateLimitingInterface) {
func (h *clusterEventHandler) Delete(_ context.Context, _ event.TypedDeleteEvent[*clusterv1alpha1.Cluster], _ workqueue.TypedRateLimitingInterface[controllerruntime.Request]) {
// Don't care about cluster deletion events
}

func (h *clusterEventHandler) Generic(_ context.Context, e event.TypedGenericEvent[*clusterv1alpha1.Cluster], queue workqueue.RateLimitingInterface) {
func (h *clusterEventHandler) Generic(_ context.Context, e event.TypedGenericEvent[*clusterv1alpha1.Cluster], queue workqueue.TypedRateLimitingInterface[controllerruntime.Request]) {
queue.Add(reconcile.Request{NamespacedName: types.NamespacedName{
Name: e.Object.GetName(),
}})
}

func newRemedyEventHandler(clusterChan chan<- event.TypedGenericEvent[*clusterv1alpha1.Cluster], client client.Client) handler.TypedEventHandler[*remedyv1alpha1.Remedy] {
func newRemedyEventHandler(clusterChan chan<- event.TypedGenericEvent[*clusterv1alpha1.Cluster], client client.Client) handler.TypedEventHandler[*remedyv1alpha1.Remedy, controllerruntime.Request] {
return &remedyEventHandler{
client: client,
clusterChan: clusterChan,
}
}

var _ handler.TypedEventHandler[*remedyv1alpha1.Remedy] = &remedyEventHandler{}
var _ handler.TypedEventHandler[*remedyv1alpha1.Remedy, controllerruntime.Request] = &remedyEventHandler{}

type remedyEventHandler struct {
client client.Client
clusterChan chan<- event.TypedGenericEvent[*clusterv1alpha1.Cluster]
}

func (h *remedyEventHandler) Create(ctx context.Context, e event.TypedCreateEvent[*remedyv1alpha1.Remedy], _ workqueue.RateLimitingInterface) {
func (h *remedyEventHandler) Create(ctx context.Context, e event.TypedCreateEvent[*remedyv1alpha1.Remedy], _ workqueue.TypedRateLimitingInterface[controllerruntime.Request]) {
remedy := e.Object
if remedy.Spec.ClusterAffinity != nil {
for _, clusterName := range remedy.Spec.ClusterAffinity.ClusterNames {
Expand Down Expand Up @@ -113,7 +114,7 @@ func (h *remedyEventHandler) Create(ctx context.Context, e event.TypedCreateEven
}
}

func (h *remedyEventHandler) Update(ctx context.Context, e event.TypedUpdateEvent[*remedyv1alpha1.Remedy], _ workqueue.RateLimitingInterface) {
func (h *remedyEventHandler) Update(ctx context.Context, e event.TypedUpdateEvent[*remedyv1alpha1.Remedy], _ workqueue.TypedRateLimitingInterface[controllerruntime.Request]) {
oldRemedy := e.ObjectOld
newRemedy := e.ObjectNew

Expand Down Expand Up @@ -155,7 +156,7 @@ func (h *remedyEventHandler) Update(ctx context.Context, e event.TypedUpdateEven
}
}

func (h *remedyEventHandler) Delete(ctx context.Context, e event.TypedDeleteEvent[*remedyv1alpha1.Remedy], _ workqueue.RateLimitingInterface) {
func (h *remedyEventHandler) Delete(ctx context.Context, e event.TypedDeleteEvent[*remedyv1alpha1.Remedy], _ workqueue.TypedRateLimitingInterface[controllerruntime.Request]) {
remedy := e.Object
if remedy.Spec.ClusterAffinity != nil {
for _, clusterName := range remedy.Spec.ClusterAffinity.ClusterNames {
Expand Down Expand Up @@ -188,5 +189,5 @@ func (h *remedyEventHandler) Delete(ctx context.Context, e event.TypedDeleteEven
}
}

func (h *remedyEventHandler) Generic(_ context.Context, _ event.TypedGenericEvent[*remedyv1alpha1.Remedy], _ workqueue.RateLimitingInterface) {
func (h *remedyEventHandler) Generic(_ context.Context, _ event.TypedGenericEvent[*remedyv1alpha1.Remedy], _ workqueue.TypedRateLimitingInterface[controllerruntime.Request]) {
}
Loading

0 comments on commit a67fe0d

Please sign in to comment.