24
24
public class Operator implements LifecycleAware {
25
25
private static final Logger log = LoggerFactory .getLogger (Operator .class );
26
26
27
- private final KubernetesClient kubernetesClient ;
28
27
private final ControllerManager controllerManager ;
29
28
private final LeaderElectionManager leaderElectionManager ;
30
29
private final ConfigurationService configurationService ;
@@ -40,15 +39,29 @@ public Operator() {
40
39
}
41
40
42
41
/**
43
- * @param configurationService implementation
44
- * @deprecated Use {@link #Operator(Consumer)} instead
42
+ * Creates an Operator based on the configuration provided by the specified
43
+ * {@link ConfigurationService}. If you intend to use different values than the default, you use
44
+ * {@link Operator#Operator(Consumer)} instead to override the default with your intended setup.
45
+ *
46
+ * @param configurationService a {@link ConfigurationService} providing the configuration for the
47
+ * operator
45
48
*/
46
- @ Deprecated (forRemoval = true )
47
- @ SuppressWarnings ("unused" )
48
49
public Operator (ConfigurationService configurationService ) {
49
- this (null , null );
50
+ this .configurationService = configurationService ;
51
+
52
+ final var executorServiceManager = configurationService .getExecutorServiceManager ();
53
+ controllerManager = new ControllerManager (executorServiceManager );
54
+
55
+ leaderElectionManager = new LeaderElectionManager (controllerManager , configurationService );
50
56
}
51
57
58
+ /**
59
+ * Creates an Operator overriding the default configuration with the values provided by the
60
+ * specified {@link ConfigurationServiceOverrider}.
61
+ *
62
+ * @param overrider a {@link ConfigurationServiceOverrider} consumer used to override the default
63
+ * {@link ConfigurationService} values
64
+ */
52
65
public Operator (Consumer <ConfigurationServiceOverrider > overrider ) {
53
66
this (null , overrider );
54
67
}
@@ -65,26 +78,27 @@ public Operator(Consumer<ConfigurationServiceOverrider> overrider) {
65
78
*/
66
79
@ Deprecated
67
80
public Operator (KubernetesClient client , Consumer <ConfigurationServiceOverrider > overrider ) {
81
+ this (initConfigurationService (client , overrider ));
82
+ }
83
+
84
+ private static ConfigurationService initConfigurationService (KubernetesClient client ,
85
+ Consumer <ConfigurationServiceOverrider > overrider ) {
68
86
// initialize the client if the user didn't provide one
69
87
if (client == null ) {
70
88
var configurationService = ConfigurationService .newOverriddenConfigurationService (overrider );
71
89
client = configurationService .getKubernetesClient ();
72
90
}
73
91
74
- this . kubernetesClient = client ;
92
+ final var kubernetesClient = client ;
75
93
76
94
// override the configuration service to use the same client
77
95
if (overrider != null ) {
78
- overrider = overrider .andThen (o -> o .withKubernetesClient (this . kubernetesClient ));
96
+ overrider = overrider .andThen (o -> o .withKubernetesClient (kubernetesClient ));
79
97
} else {
80
- overrider = o -> o .withKubernetesClient (this . kubernetesClient );
98
+ overrider = o -> o .withKubernetesClient (kubernetesClient );
81
99
}
82
- this .configurationService = ConfigurationService .newOverriddenConfigurationService (overrider );
83
100
84
- final var executorServiceManager = configurationService .getExecutorServiceManager ();
85
- controllerManager = new ControllerManager (executorServiceManager );
86
-
87
- leaderElectionManager = new LeaderElectionManager (controllerManager , configurationService );
101
+ return ConfigurationService .newOverriddenConfigurationService (overrider );
88
102
}
89
103
90
104
/**
@@ -118,7 +132,7 @@ public void installShutdownHook(Duration gracefulShutdownTimeout) {
118
132
}
119
133
120
134
public KubernetesClient getKubernetesClient () {
121
- return kubernetesClient ;
135
+ return configurationService . getKubernetesClient () ;
122
136
}
123
137
124
138
/**
@@ -167,7 +181,7 @@ public void stop(Duration gracefulShutdownTimeout) throws OperatorException {
167
181
configurationService .getExecutorServiceManager ().stop (gracefulShutdownTimeout );
168
182
leaderElectionManager .stop ();
169
183
if (configurationService .closeClientOnStop ()) {
170
- kubernetesClient .close ();
184
+ getKubernetesClient () .close ();
171
185
}
172
186
173
187
started = false ;
@@ -222,7 +236,7 @@ public <P extends HasMetadata> RegisteredController<P> register(Reconciler<P> re
222
236
+ configurationService .getKnownReconcilerNames ());
223
237
}
224
238
225
- final var controller = new Controller <>(reconciler , configuration , kubernetesClient );
239
+ final var controller = new Controller <>(reconciler , configuration , getKubernetesClient () );
226
240
227
241
controllerManager .add (controller );
228
242
0 commit comments