Skip to content

Commit d430e4a

Browse files
Update client-go to 0.31.11 and make sure code compiles
1 parent 33bd4d9 commit d430e4a

13 files changed

+98
-73
lines changed

controllers/operator/mongodbopsmanager_event_handler.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package operator
22

33
import (
44
"context"
5+
"sigs.k8s.io/controller-runtime/pkg/client"
6+
"sigs.k8s.io/controller-runtime/pkg/reconcile"
57

68
"go.uber.org/zap"
79
"k8s.io/client-go/util/workqueue"
@@ -22,7 +24,7 @@ type MongoDBOpsManagerEventHandler struct {
2224
}
2325

2426
// Delete implements EventHandler and it is called when the CR is removed
25-
func (eh *MongoDBOpsManagerEventHandler) Delete(ctx context.Context, e event.DeleteEvent, _ workqueue.RateLimitingInterface) {
27+
func (eh *MongoDBOpsManagerEventHandler) Delete(ctx context.Context, e event.TypedDeleteEvent[client.Object], _ workqueue.TypedRateLimitingInterface[reconcile.Request]) {
2628
objectKey := kube.ObjectKey(e.Object.GetNamespace(), e.Object.GetName())
2729
logger := zap.S().With("resource", objectKey)
2830

controllers/operator/mongodbreplicaset_controller.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,12 +360,12 @@ func AddReplicaSetController(ctx context.Context, mgr manager.Manager, imageUrls
360360
// watch for changes to replica set MongoDB resources
361361
eventHandler := ResourceEventHandler{deleter: reconciler}
362362
// Watch for changes to primary resource MongoDbReplicaSet
363-
err = c.Watch(source.Kind[client.Object](mgr.GetCache(), &mdbv1.MongoDB{}, &eventHandler, watch.PredicatesForMongoDB(mdbv1.ReplicaSet)))
363+
err = c.Watch(source.Kind[client.Object](mgr.GetCache(), &mdbv1.MongoDB{}, &eventHandler, watch.PredicatesForMongoDB[client.Object](mdbv1.ReplicaSet)))
364364
if err != nil {
365365
return err
366366
}
367367

368-
err = c.Watch(source.Channel[client.Object](OmUpdateChannel, &handler.EnqueueRequestForObject{}, source.WithPredicates(watch.PredicatesForMongoDB(mdbv1.ReplicaSet))))
368+
err = c.Watch(source.Channel[client.Object](OmUpdateChannel, &handler.EnqueueRequestForObject{}, source.WithPredicates[client.Object, reconcile.Request](watch.PredicatesForMongoDB[client.Object](mdbv1.ReplicaSet))))
369369
if err != nil {
370370
return xerrors.Errorf("not able to setup OmUpdateChannel to listent to update events from OM: %s", err)
371371
}

controllers/operator/mongodbresource_event_handler.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package operator
22

33
import (
44
"context"
5+
"sigs.k8s.io/controller-runtime/pkg/client"
6+
"sigs.k8s.io/controller-runtime/pkg/reconcile"
57

68
"go.uber.org/zap"
79
"k8s.io/apimachinery/pkg/runtime"
@@ -27,7 +29,7 @@ type ResourceEventHandler struct {
2729
deleter Deleter
2830
}
2931

30-
func (h *ResourceEventHandler) Delete(ctx context.Context, e event.DeleteEvent, _ workqueue.RateLimitingInterface) {
32+
func (h *ResourceEventHandler) Delete(ctx context.Context, e event.TypedDeleteEvent[client.Object], _ workqueue.TypedRateLimitingInterface[reconcile.Request]) {
3133
objectKey := kube.ObjectKey(e.Object.GetNamespace(), e.Object.GetName())
3234
logger := zap.S().With("resource", objectKey)
3335

controllers/operator/mongodbshardedcluster_controller.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1651,12 +1651,12 @@ func AddShardedClusterController(ctx context.Context, mgr manager.Manager, image
16511651

16521652
// watch for changes to sharded cluster MongoDB resources
16531653
eventHandler := ResourceEventHandler{deleter: reconciler}
1654-
err = c.Watch(source.Kind[client.Object](mgr.GetCache(), &mdbv1.MongoDB{}, &eventHandler, watch.PredicatesForMongoDB(mdbv1.ShardedCluster)))
1654+
err = c.Watch(source.Kind[client.Object](mgr.GetCache(), &mdbv1.MongoDB{}, &eventHandler, watch.PredicatesForMongoDB[client.Object](mdbv1.ShardedCluster)))
16551655
if err != nil {
16561656
return err
16571657
}
16581658

1659-
err = c.Watch(source.Channel[client.Object](OmUpdateChannel, &handler.EnqueueRequestForObject{}, source.WithPredicates(watch.PredicatesForMongoDB(mdbv1.ShardedCluster))))
1659+
err = c.Watch(source.Channel[client.Object](OmUpdateChannel, &handler.EnqueueRequestForObject{}, source.WithPredicates[client.Object, reconcile.Request](watch.PredicatesForMongoDB[client.Object](mdbv1.ShardedCluster))))
16601660
if err != nil {
16611661
return xerrors.Errorf("not able to setup OmUpdateChannel to listent to update events from OM: %s", err)
16621662
}

controllers/operator/mongodbstandalone_controller.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,15 @@ func AddStandaloneController(ctx context.Context, mgr manager.Manager, imageUrls
6161

6262
// watch for changes to standalone MongoDB resources
6363
eventHandler := ResourceEventHandler{deleter: reconciler}
64-
err = c.Watch(source.Kind[client.Object](mgr.GetCache(), &mdbv1.MongoDB{}, &eventHandler, watch.PredicatesForMongoDB(mdbv1.Standalone)))
64+
err = c.Watch(source.Kind[client.Object](mgr.GetCache(), &mdbv1.MongoDB{}, &eventHandler, watch.PredicatesForMongoDB[client.Object](mdbv1.Standalone)))
6565
if err != nil {
6666
return err
6767
}
6868

6969
err = c.Watch(
7070
source.Channel[client.Object](OmUpdateChannel,
7171
&handler.EnqueueRequestForObject{},
72-
source.WithPredicates(watch.PredicatesForMongoDB(mdbv1.Standalone)),
72+
source.WithPredicates[client.Object, reconcile.Request](watch.PredicatesForMongoDB[client.Object](mdbv1.Standalone)),
7373
))
7474
if err != nil {
7575
return xerrors.Errorf("not able to setup OmUpdateChannel to listent to update events from OM: %s", err)

controllers/operator/mongodbuser_eventhandler.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package operator
22

33
import (
44
"context"
5+
"sigs.k8s.io/controller-runtime/pkg/client"
6+
"sigs.k8s.io/controller-runtime/pkg/reconcile"
57

68
"go.uber.org/zap"
79
"k8s.io/client-go/util/workqueue"
@@ -18,7 +20,7 @@ type MongoDBUserEventHandler struct {
1820
}
1921
}
2022

21-
func (eh *MongoDBUserEventHandler) Delete(ctx context.Context, e event.DeleteEvent, _ workqueue.RateLimitingInterface) {
23+
func (eh *MongoDBUserEventHandler) Delete(ctx context.Context, e event.TypedDeleteEvent[client.Object], _ workqueue.TypedRateLimitingInterface[reconcile.Request]) {
2224
zap.S().Infow("Cleaning up MongoDBUser resource", "resource", e.Object)
2325
logger := zap.S().With("resource", kube.ObjectKey(e.Object.GetNamespace(), e.Object.GetName()))
2426
if err := eh.reconciler.delete(ctx, e.Object, logger); err != nil {

controllers/operator/watch/config_change_handler.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ type ResourcesHandler struct {
5050

5151
// Note that we implement Create in addition to Update to be able to handle cases when config map or secret is deleted
5252
// and then created again.
53-
func (c *ResourcesHandler) Create(ctx context.Context, e event.CreateEvent, q workqueue.RateLimitingInterface) {
53+
func (c *ResourcesHandler) Create(ctx context.Context, e event.TypedCreateEvent[client.Object], q workqueue.TypedRateLimitingInterface[reconcile.Request]) {
5454
c.doHandle(e.Object.GetNamespace(), e.Object.GetName(), q)
5555
}
5656

57-
func (c *ResourcesHandler) Update(ctx context.Context, e event.UpdateEvent, q workqueue.RateLimitingInterface) {
57+
func (c *ResourcesHandler) Update(ctx context.Context, e event.TypedUpdateEvent[client.Object], q workqueue.TypedRateLimitingInterface[reconcile.Request]) {
5858
if !shouldHandleUpdate(e) {
5959
return
6060
}
@@ -73,7 +73,7 @@ func shouldHandleUpdate(e event.UpdateEvent) bool {
7373
return true
7474
}
7575

76-
func (c *ResourcesHandler) doHandle(namespace, name string, q workqueue.RateLimitingInterface) {
76+
func (c *ResourcesHandler) doHandle(namespace, name string, q workqueue.TypedRateLimitingInterface[reconcile.Request]) {
7777
object := Object{
7878
ResourceType: c.ResourceType,
7979
Resource: types.NamespacedName{Name: name, Namespace: namespace},
@@ -86,14 +86,14 @@ func (c *ResourcesHandler) doHandle(namespace, name string, q workqueue.RateLimi
8686
}
8787

8888
// Seems we don't need to react on config map/secret removal..
89-
func (c *ResourcesHandler) Delete(ctx context.Context, e event.DeleteEvent, q workqueue.RateLimitingInterface) {
89+
func (c *ResourcesHandler) Delete(ctx context.Context, e event.TypedDeleteEvent[client.Object], q workqueue.TypedRateLimitingInterface[reconcile.Request]) {
9090
switch v := e.Object.(type) {
9191
case *rolev1.ClusterMongoDBRole:
9292
c.doHandle(v.GetNamespace(), v.GetName(), q)
9393
}
9494
}
9595

96-
func (c *ResourcesHandler) Generic(ctx context.Context, _ event.GenericEvent, _ workqueue.RateLimitingInterface) {
96+
func (c *ResourcesHandler) Generic(context.Context, event.TypedGenericEvent[client.Object], workqueue.TypedRateLimitingInterface[reconcile.Request]) {
9797
}
9898

9999
// ConfigMapEventHandler is an EventHandler implementation that is used to watch for events on a given ConfigMap and ConfigMapNamespace
@@ -104,10 +104,10 @@ type ConfigMapEventHandler struct {
104104
ConfigMapNamespace string
105105
}
106106

107-
func (m ConfigMapEventHandler) Create(ctx context.Context, e event.CreateEvent, _ workqueue.RateLimitingInterface) {
107+
func (m ConfigMapEventHandler) Create(context.Context, event.TypedCreateEvent[client.Object], workqueue.TypedRateLimitingInterface[reconcile.Request]) {
108108
}
109109

110-
func (m ConfigMapEventHandler) Update(ctx context.Context, e event.UpdateEvent, _ workqueue.RateLimitingInterface) {
110+
func (m ConfigMapEventHandler) Update(ctx context.Context, e event.TypedUpdateEvent[client.Object], _ workqueue.TypedRateLimitingInterface[reconcile.Request]) {
111111
if m.isMemberListCM(e.ObjectOld) {
112112
switch v := e.ObjectOld.(type) {
113113
case *corev1.ConfigMap:
@@ -118,14 +118,14 @@ func (m ConfigMapEventHandler) Update(ctx context.Context, e event.UpdateEvent,
118118
}
119119
}
120120

121-
func (m ConfigMapEventHandler) Delete(ctx context.Context, e event.DeleteEvent, _ workqueue.RateLimitingInterface) {
121+
func (m ConfigMapEventHandler) Delete(ctx context.Context, e event.TypedDeleteEvent[client.Object], _ workqueue.TypedRateLimitingInterface[reconcile.Request]) {
122122
if m.isMemberListCM(e.Object) {
123123
errMsg := fmt.Sprintf("%s/%s has been deleted! Note we will need the configmap otherwise the operator will not work", m.ConfigMapNamespace, m.ConfigMapName)
124124
panic(errMsg)
125125
}
126126
}
127127

128-
func (m ConfigMapEventHandler) Generic(ctx context.Context, e event.GenericEvent, _ workqueue.RateLimitingInterface) {
128+
func (m ConfigMapEventHandler) Generic(context.Context, event.TypedGenericEvent[client.Object], workqueue.TypedRateLimitingInterface[reconcile.Request]) {
129129
}
130130

131131
func (m ConfigMapEventHandler) isMemberListCM(o client.Object) bool {

controllers/operator/watch/predicates.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package watch
33
import (
44
"reflect"
55

6+
"sigs.k8s.io/controller-runtime/pkg/client"
67
"sigs.k8s.io/controller-runtime/pkg/event"
78
"sigs.k8s.io/controller-runtime/pkg/predicate"
89

@@ -74,7 +75,7 @@ func PredicatesForOpsManager() predicate.Funcs {
7475
}
7576
}
7677

77-
func PredicatesForMongoDB(resourceType mdbv1.ResourceType) predicate.Funcs {
78+
func PredicatesForMongoDB[T client.Object](resourceType mdbv1.ResourceType) predicate.Funcs {
7879
return predicate.Funcs{
7980
CreateFunc: func(createEvent event.CreateEvent) bool {
8081
resource := createEvent.Object.(*mdbv1.MongoDB)

go.mod

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@ require (
3030
go.opentelemetry.io/otel/trace v1.37.0
3131
go.uber.org/zap v1.27.0
3232
golang.org/x/crypto v0.41.0
33-
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e
33+
golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc
3434
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028
3535
gopkg.in/natefinch/lumberjack.v2 v2.2.1
36-
k8s.io/api v0.30.10
37-
k8s.io/apimachinery v0.30.10
38-
k8s.io/client-go v0.30.10
39-
k8s.io/code-generator v0.30.10
36+
k8s.io/api v0.31.11
37+
k8s.io/apimachinery v0.31.11
38+
k8s.io/client-go v0.31.11
39+
k8s.io/code-generator v0.31.11
4040
k8s.io/klog/v2 v2.130.1
41-
k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0
42-
sigs.k8s.io/controller-runtime v0.18.7
41+
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8
42+
sigs.k8s.io/controller-runtime v0.19.4
4343
sigs.k8s.io/yaml v1.6.0
4444
)
4545

@@ -51,16 +51,17 @@ require (
5151
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
5252
github.com/cenkalti/backoff/v5 v5.0.2 // indirect
5353
github.com/cespare/xxhash/v2 v2.3.0 // indirect
54-
github.com/davecgh/go-spew v1.1.1 // indirect
54+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
5555
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
5656
github.com/evanphx/json-patch v5.9.0+incompatible // indirect
5757
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
5858
github.com/fsnotify/fsnotify v1.7.0 // indirect
59+
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
5960
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
6061
github.com/go-logr/stdr v1.2.2 // indirect
6162
github.com/go-openapi/jsonpointer v0.19.6 // indirect
6263
github.com/go-openapi/jsonreference v0.20.2 // indirect
63-
github.com/go-openapi/swag v0.22.3 // indirect
64+
github.com/go-openapi/swag v0.22.4 // indirect
6465
github.com/gogo/protobuf v1.3.2 // indirect
6566
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
6667
github.com/golang/protobuf v1.5.4 // indirect
@@ -84,14 +85,14 @@ require (
8485
github.com/mailru/easyjson v0.7.7 // indirect
8586
github.com/mitchellh/go-homedir v1.1.0 // indirect
8687
github.com/mitchellh/mapstructure v1.5.0 // indirect
87-
github.com/moby/spdystream v0.2.0 // indirect
88+
github.com/moby/spdystream v0.4.0 // indirect
8889
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
8990
github.com/modern-go/reflect2 v1.0.2 // indirect
9091
github.com/montanaflynn/stats v0.7.1 // indirect
9192
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
9293
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
9394
github.com/onsi/ginkgo v1.16.5 // indirect
94-
github.com/pmezard/go-difflib v1.0.0 // indirect
95+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
9596
github.com/prometheus/client_model v0.6.2 // indirect
9697
github.com/prometheus/common v0.65.0 // indirect
9798
github.com/prometheus/procfs v0.16.1 // indirect
@@ -100,6 +101,7 @@ require (
100101
github.com/spf13/pflag v1.0.6 // indirect
101102
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
102103
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
104+
github.com/x448/float16 v0.8.4 // indirect
103105
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
104106
github.com/xdg-go/scram v1.1.2 // indirect
105107
github.com/xdg-go/stringprep v1.0.4 // indirect
@@ -126,10 +128,11 @@ require (
126128
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
127129
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
128130
google.golang.org/grpc v1.73.0 // indirect
131+
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
129132
gopkg.in/inf.v0 v0.9.1 // indirect
130133
gopkg.in/yaml.v2 v2.4.0 // indirect
131134
gopkg.in/yaml.v3 v3.0.1 // indirect
132-
k8s.io/apiextensions-apiserver v0.30.1 // indirect
135+
k8s.io/apiextensions-apiserver v0.31.0 // indirect
133136
k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 // indirect
134137
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
135138
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect

0 commit comments

Comments
 (0)