|
6 | 6 | import io.fabric8.kubernetes.client.DefaultKubernetesClient;
|
7 | 7 | import io.fabric8.kubernetes.client.KubernetesClient;
|
8 | 8 | import io.fabric8.openshift.client.DefaultOpenShiftClient;
|
| 9 | +import io.javaoperatorsdk.operator.ControllerUtils; |
9 | 10 | import io.javaoperatorsdk.operator.Operator;
|
10 | 11 | import io.javaoperatorsdk.operator.api.ResourceController;
|
11 |
| -import io.javaoperatorsdk.operator.api.config.ConfigurationService; |
12 |
| -import io.javaoperatorsdk.operator.api.config.ControllerConfiguration; |
| 12 | +import io.javaoperatorsdk.operator.api.config.AbstractConfigurationService; |
13 | 13 | import io.javaoperatorsdk.operator.api.config.RetryConfiguration;
|
14 | 14 | import io.javaoperatorsdk.operator.config.runtime.AnnotationConfiguration;
|
15 | 15 | import java.util.List;
|
16 |
| -import java.util.Map; |
17 | 16 | import java.util.Optional;
|
18 | 17 | import java.util.Set;
|
19 |
| -import java.util.concurrent.ConcurrentHashMap; |
20 | 18 | import org.springframework.beans.factory.annotation.Autowired;
|
21 | 19 | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
22 | 20 | import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
|
25 | 23 |
|
26 | 24 | @Configuration
|
27 | 25 | @EnableConfigurationProperties({OperatorConfigurationProperties.class})
|
28 |
| -public class OperatorAutoConfiguration implements ConfigurationService { |
| 26 | +public class OperatorAutoConfiguration extends AbstractConfigurationService { |
29 | 27 | @Autowired private OperatorConfigurationProperties configuration;
|
30 |
| - private final Map<String, ControllerConfiguration> controllers = new ConcurrentHashMap<>(); |
31 | 28 |
|
32 | 29 | @Bean
|
33 | 30 | @ConditionalOnMissingBean
|
@@ -60,18 +57,12 @@ public Operator operator(
|
60 | 57 |
|
61 | 58 | private ResourceController<?> processController(ResourceController<?> controller) {
|
62 | 59 | final var controllerPropertiesMap = configuration.getControllers();
|
63 |
| - var controllerProps = controllerPropertiesMap.get(controller.getName()); |
64 |
| - final var cfg = new ConfigurationWrapper(controller, controllerProps); |
65 |
| - this.controllers.put(controller.getName(), cfg); |
| 60 | + final var name = ControllerUtils.getNameFor(controller); |
| 61 | + var controllerProps = controllerPropertiesMap.get(name); |
| 62 | + register(new ConfigurationWrapper(controller, controllerProps)); |
66 | 63 | return controller;
|
67 | 64 | }
|
68 | 65 |
|
69 |
| - @Override |
70 |
| - public <R extends CustomResource> ControllerConfiguration<R> getConfigurationFor( |
71 |
| - ResourceController<R> controller) { |
72 |
| - return controllers.get(controller.getName()); |
73 |
| - } |
74 |
| - |
75 | 66 | private static class ConfigurationWrapper<R extends CustomResource>
|
76 | 67 | extends AnnotationConfiguration<R> {
|
77 | 68 | private final Optional<ControllerProperties> properties;
|
|
0 commit comments