|
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