13
13
14
14
import io .fabric8 .kubernetes .api .model .HasMetadata ;
15
15
import io .fabric8 .kubernetes .client .KubernetesClient ;
16
- import io .fabric8 .kubernetes .client .informers .cache .ItemStore ;
17
16
import io .javaoperatorsdk .operator .ReconcilerUtils ;
18
17
import io .javaoperatorsdk .operator .api .config .Utils .Configurator ;
19
18
import io .javaoperatorsdk .operator .api .config .dependent .DependentResourceConfigurationResolver ;
24
23
import io .javaoperatorsdk .operator .api .reconciler .Workflow ;
25
24
import io .javaoperatorsdk .operator .api .reconciler .dependent .Dependent ;
26
25
import io .javaoperatorsdk .operator .api .reconciler .dependent .DependentResource ;
26
+ import io .javaoperatorsdk .operator .processing .dependent .kubernetes .InformerConfigHolder ;
27
27
import io .javaoperatorsdk .operator .processing .dependent .workflow .Condition ;
28
28
import io .javaoperatorsdk .operator .processing .event .rate .RateLimiter ;
29
- import io .javaoperatorsdk .operator .processing .event .source .filter .GenericFilter ;
30
- import io .javaoperatorsdk .operator .processing .event .source .filter .OnAddFilter ;
31
- import io .javaoperatorsdk .operator .processing .event .source .filter .OnUpdateFilter ;
32
29
import io .javaoperatorsdk .operator .processing .retry .Retry ;
33
30
34
31
import static io .javaoperatorsdk .operator .api .config .ControllerConfiguration .CONTROLLER_NAME_AS_FIELD_MANAGER ;
@@ -278,43 +275,20 @@ private <P extends HasMetadata> ResolvedControllerConfiguration<P> controllerCon
278
275
fieldManager .equals (CONTROLLER_NAME_AS_FIELD_MANAGER ) ? name
279
276
: fieldManager ;
280
277
281
- var informerListLimitValue = valueOrDefaultFromAnnotation (annotation ,
282
- io .javaoperatorsdk .operator .api .reconciler .ControllerConfiguration ::informerListLimit ,
283
- "informerListLimit" );
284
- final var informerListLimit =
285
- informerListLimitValue == Constants .NO_LONG_VALUE_SET ? null
286
- : informerListLimitValue ;
278
+ InformerConfigHolder <P > informerConfig = InformerConfigHolder .builder (resourceClass )
279
+ .initFromAnnotation (annotation != null ? annotation .informerConfig () : null , context )
280
+ .buildForController ();
287
281
288
282
return new ResolvedControllerConfiguration <P >(
289
283
resourceClass , name , generationAware ,
290
284
associatedReconcilerClass , retry , rateLimiter ,
291
285
ResolvedControllerConfiguration .getMaxReconciliationInterval (interval , timeUnit ),
292
- Utils .instantiate (valueOrDefaultFromAnnotation (annotation ,
293
- io .javaoperatorsdk .operator .api .reconciler .ControllerConfiguration ::onAddFilter ,
294
- "onAddFilter" ), OnAddFilter .class , context ),
295
- Utils .instantiate (valueOrDefaultFromAnnotation (annotation ,
296
- io .javaoperatorsdk .operator .api .reconciler .ControllerConfiguration ::onUpdateFilter ,
297
- "onUpdateFilter" ), OnUpdateFilter .class , context ),
298
- Utils .instantiate (valueOrDefaultFromAnnotation (annotation ,
299
- io .javaoperatorsdk .operator .api .reconciler .ControllerConfiguration ::genericFilter ,
300
- "genericFilter" ), GenericFilter .class , context ),
301
- Set .of (valueOrDefaultFromAnnotation (annotation ,
302
- io .javaoperatorsdk .operator .api .reconciler .ControllerConfiguration ::namespaces ,
303
- "namespaces" )),
304
286
valueOrDefaultFromAnnotation (annotation ,
305
287
io .javaoperatorsdk .operator .api .reconciler .ControllerConfiguration ::finalizerName ,
306
288
"finalizerName" ),
307
- valueOrDefaultFromAnnotation (annotation ,
308
- io .javaoperatorsdk .operator .api .reconciler .ControllerConfiguration ::labelSelector ,
309
- "labelSelector" ),
310
289
null ,
311
- Utils .instantiate (
312
- valueOrDefaultFromAnnotation (annotation ,
313
- io .javaoperatorsdk .operator .api .reconciler .ControllerConfiguration ::itemStore ,
314
- "itemStore" ),
315
- ItemStore .class , context ),
316
290
dependentFieldManager ,
317
- this , informerListLimit );
291
+ this , informerConfig );
318
292
}
319
293
320
294
@@ -326,6 +300,4 @@ protected boolean createIfNeeded() {
326
300
public boolean checkCRDAndValidateLocalModel () {
327
301
return Utils .shouldCheckCRDAndValidateLocalModel ();
328
302
}
329
-
330
-
331
303
}
0 commit comments