protected static String apiVersion(CustomResourceDefinition crd) { return crd.getSpec().getVersion(); }
throw new RuntimeException(); return new CustomResourceDefinitionBuilder() .withApiVersion(crdApiVersion) .withKind(CRD_KIND) .withNewMetadata() .withName(plural + "." + group) .endMetadata() .withNewSpec() .withScope(scope) .withGroup(group) .withVersion(version) .withNewNames() .withKind(kind) .withListKind(listKind) .withPlural(plural) .withSingular(singular) .withShortNames(shortNames) .endNames() .endSpec() .build();
List<CustomResourceDefinition> crdsItems = crds.getItems(); System.out.println("Found " + crdsItems.size() + " CRD(s)"); CustomResourceDefinition dummyCRD = null; for (CustomResourceDefinition crd : crdsItems) { ObjectMeta metadata = crd.getMetadata(); if (metadata != null) { String name = metadata.getName(); System.out.println("Found CRD: " + dummyCRD.getMetadata().getSelfLink()); } else { dummyCRD = new CustomResourceDefinitionBuilder(). withApiVersion("apiextensions.k8s.io/v1beta1"). withNewMetadata().withName(DUMMY_CRD_NAME).endMetadata(). withNewSpec().withGroup(DUMMY_CRD_GROUP).withVersion("v1").withScope(resourceScope(resourceNamespaced)). withNewNames().withKind("Dummy").withShortNames("dummy").withPlural("dummies").endNames().endSpec(). build(); System.out.println("Created CRD " + dummyCRD.getMetadata().getName());
public KafkaTopicCustomResourceManager(KafkaOperator operator, Map<String, String> labels) { super(KafkaTopic.class, operator, labels); crd = kubeClient().customResourceDefinitions().withName(CUSTOM_RESOURCE_DEFINITION_NAME).get(); if (crd == null) { crd = new CustomResourceDefinitionBuilder() .withNewMetadata().withName(CUSTOM_RESOURCE_DEFINITION_NAME).endMetadata() .withNewSpec() .withGroup(CUSTOM_RESOURCE_GROUP) .withVersion(CUSTOM_RESOURCE_VERSION) .withScope("Namespaced") .withNewNames().withKind(resourceKind()).withPlural(KAFKATOPICS_PLURAL).withSingular(KAFKATOPIC_SINGULAR).endNames() .endSpec().build(); crd = kubeClient().customResourceDefinitions().create(crd); } }
public static CustomResourceDefinition createCustomResource(final String group, final String version, final String kind) { String singular = kind.toLowerCase(); String listKind = kind + "List"; String plural = singular + "s"; return new CustomResourceDefinitionBuilder() .editOrNewMetadata() .withName(plural + "." + group) .addToLabels("app", "enmasse") .endMetadata() .editOrNewSpec() .withGroup(group) .withVersion(version) .withScope("Namespaced") .editOrNewNames() .withKind(kind) .withListKind(listKind) .withPlural(plural) .withSingular(singular) .endNames() .endSpec() .build(); }
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(); } }}
protected static String name(CustomResourceDefinition crd) { return crd.getMetadata().getName(); }