public static void main(String[] args) { try { KubernetesClient client = new DefaultKubernetesClient(); if (!client.supportsApiPath("/apis/apiextensions.k8s.io/v1beta1") && !client.supportsApiPath("/apis/apiextensions.k8s.io/v1")) { System.out.println("WARNING this cluster does not support the API Group apiextensions.k8s.io"); return; } CustomResourceDefinitionList list = client.customResourceDefinitions().list(); if (list == null) { System.out.println("ERROR no list returned!"); return; } List<CustomResourceDefinition> items = list.getItems(); for (CustomResourceDefinition item : items) { System.out.println("CustomResourceDefinition " + item.getMetadata().getName() + " has version: " + item.getApiVersion()); } } catch (KubernetesClientException e) { System.out.println("Failed: " + e); e.printStackTrace(); } }}
CustomResourceDefinitionList crds = client.customResourceDefinitions().list(); List<CustomResourceDefinition> crdsItems = crds.getItems(); System.out.println("Found " + crdsItems.size() + " CRD(s)"); build(); client.customResourceDefinitions().create(dummyCRD); System.out.println("Created CRD " + dummyCRD.getMetadata().getName());
private static void maybeLogS2iOnKubeWarning(Vertx vertx, KubernetesClient client) { try { // Check the KafkaConnectS2I isn't installed and whinge if it is CustomResourceDefinition crd = client.customResourceDefinitions().withName(KafkaConnectS2I.CRD_NAME).get(); if (crd != null) { log.warn("The KafkaConnectS2I custom resource definition can only be installed on OpenShift, because plain Kubernetes doesn't support S2I. " + "Execute 'kubectl delete crd " + KafkaConnectS2I.CRD_NAME + "' to remove this warning."); } } catch (KubernetesClientException e) { } }
private CustomResourceDefinition getCustomResourceDefinition(IstioResource resource) { final String kind = resource.getKind(); final String crdName = IstioSpecRegistry.getCRDNameFor(kind).orElseThrow(() -> new IllegalArgumentException(String.format("%s is not a known Istio resource.", kind))); final CustomResourceDefinition customResourceDefinition = client.customResourceDefinitions().withName(crdName).get(); if (customResourceDefinition == null) { throw new IllegalArgumentException(String.format("Custom Resource Definition %s is not found in cluster %s", crdName, client.getMasterUrl())); } return customResourceDefinition; }
private CustomResourceDefinition getCustomResourceDefinition(IstioResource resource) { final String kind = resource.getKind(); final String crdName = IstioSpecRegistry.getCRDNameFor(kind).orElseThrow(() -> new IllegalArgumentException(String.format("%s is not a known Istio resource.", kind))); final CustomResourceDefinition customResourceDefinition = client.customResourceDefinitions().withName(crdName).get(); if (customResourceDefinition == null) { throw new IllegalArgumentException(String.format("Custom Resource Definition %s is not found in cluster %s", crdName, client.getMasterUrl())); } return customResourceDefinition; }