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();
.withKind(kind) .withListKind(listKind) .withPlural(plural) .withSingular(singular) .withShortNames(shortNames)
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 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); } }