|
5 | 5 | import com.github.containersolutions.operator.processing.EventScheduler; |
6 | 6 | import com.github.containersolutions.operator.processing.retry.GenericRetry; |
7 | 7 | import com.github.containersolutions.operator.processing.retry.Retry; |
8 | | -import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition; |
| 8 | +import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition; |
9 | 9 | import io.fabric8.kubernetes.client.CustomResource; |
10 | 10 | import io.fabric8.kubernetes.client.CustomResourceDoneable; |
11 | 11 | import io.fabric8.kubernetes.client.CustomResourceList; |
12 | 12 | import io.fabric8.kubernetes.client.KubernetesClient; |
13 | 13 | import io.fabric8.kubernetes.client.dsl.MixedOperation; |
| 14 | +import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext; |
14 | 15 | import io.fabric8.kubernetes.client.dsl.internal.CustomResourceOperationsImpl; |
15 | 16 | import io.fabric8.kubernetes.internal.KubernetesDeserializer; |
16 | 17 | import org.slf4j.Logger; |
@@ -54,8 +55,8 @@ public <R extends CustomResource> void registerController(ResourceController<R> |
54 | 55 | private <R extends CustomResource> void registerController(ResourceController<R> controller, |
55 | 56 | boolean watchAllNamespaces, Retry retry, String... targetNamespaces) throws OperatorException { |
56 | 57 | Class<R> resClass = getCustomResourceClass(controller); |
57 | | - CustomResourceDefinition crd = getCustomResourceDefinitionForController(controller); |
58 | | - KubernetesDeserializer.registerCustomKind(getApiVersion(crd), getKind(crd), resClass); |
| 58 | + CustomResourceDefinitionContext crd = getCustomResourceDefinitionForController(controller); |
| 59 | + KubernetesDeserializer.registerCustomKind(crd.getVersion(), crd.getKind(), resClass); |
59 | 60 | String finalizer = getDefaultFinalizer(controller); |
60 | 61 | MixedOperation client = k8sClient.customResources(crd, resClass, CustomResourceList.class, getCustomResourceDoneableClass(controller)); |
61 | 62 | EventDispatcher eventDispatcher = new EventDispatcher(controller, |
@@ -85,13 +86,14 @@ private <R extends CustomResource> void registerWatches(ResourceController<R> co |
85 | 86 | resClass, targetNamespaces.length == 0 ? "[all/client namespace]" : Arrays.toString(targetNamespaces)); |
86 | 87 | } |
87 | 88 |
|
88 | | - private CustomResourceDefinition getCustomResourceDefinitionForController(ResourceController controller) { |
| 89 | + private CustomResourceDefinitionContext getCustomResourceDefinitionForController(ResourceController controller) { |
89 | 90 | String crdName = getCrdName(controller); |
90 | 91 | CustomResourceDefinition customResourceDefinition = k8sClient.customResourceDefinitions().withName(crdName).get(); |
91 | 92 | if (customResourceDefinition == null) { |
92 | 93 | throw new OperatorException("Cannot find Custom Resource Definition with name: " + crdName); |
93 | 94 | } |
94 | | - return customResourceDefinition; |
| 95 | + CustomResourceDefinitionContext context = CustomResourceDefinitionContext.fromCrd(customResourceDefinition); |
| 96 | + return context; |
95 | 97 | } |
96 | 98 |
|
97 | 99 | public Map<Class<? extends CustomResource>, CustomResourceOperationsImpl> getCustomResourceClients() { |
|
0 commit comments