@@ -47,6 +47,7 @@ type Builder struct {
47
47
watchRequest []watchRequest
48
48
config * rest.Config
49
49
ctrl controller.Controller
50
+ threadiness int
50
51
}
51
52
52
53
// SimpleController returns a new Builder.
@@ -112,6 +113,11 @@ func (blder *Builder) WithManager(m manager.Manager) *Builder {
112
113
return blder
113
114
}
114
115
116
+ func (blder * Builder ) WithMaxConcurrentReconciles (i int ) * Builder {
117
+ blder .threadiness = i
118
+ return blder
119
+ }
120
+
115
121
// WithEventFilter sets the event filters, to filter which create/update/delete/generic events eventually
116
122
// trigger reconciliations. For example, filtering on whether the resource version has changed.
117
123
// Defaults to the empty list.
@@ -144,7 +150,7 @@ func (blder *Builder) Build(r reconcile.Reconciler) (manager.Manager, error) {
144
150
}
145
151
146
152
// Set the ControllerManagedBy
147
- if err := blder .doController (r ); err != nil {
153
+ if err := blder .doController (r , blder . threadiness ); err != nil {
148
154
return nil , err
149
155
}
150
156
@@ -210,11 +216,11 @@ func (blder *Builder) getControllerName() (string, error) {
210
216
return name , nil
211
217
}
212
218
213
- func (blder * Builder ) doController (r reconcile.Reconciler ) error {
219
+ func (blder * Builder ) doController (r reconcile.Reconciler , i int ) error {
214
220
name , err := blder .getControllerName ()
215
221
if err != nil {
216
222
return err
217
223
}
218
- blder .ctrl , err = newController (name , blder .mgr , controller.Options {Reconciler : r })
224
+ blder .ctrl , err = newController (name , blder .mgr , controller.Options {Reconciler : r , MaxConcurrentReconciles : i })
219
225
return err
220
226
}
0 commit comments