Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package io.fabric8.kubernetes.examples;
- import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition;
- import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionBuilder;
- import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList;
- import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionVersionBuilder;
- import io.fabric8.kubernetes.client.DefaultKubernetesClient;
- import io.fabric8.kubernetes.client.KubernetesClient;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.util.Collections;
- public class CRDCreateExample {
- private static Logger logger = LoggerFactory.getLogger(CRDCreateExample.class);
- public static void main(String args[]) {
- try (final KubernetesClient client = new DefaultKubernetesClient()) {
- // List all Custom resources.
- CustomResourceDefinitionList crdList = client.customResourceDefinitions().list();
- crdList.getItems().stream().map(CustomResourceDefinition::getMetadata).forEach(System.out::println);
- CustomResourceDefinition aCustomResourceDefinition = new CustomResourceDefinitionBuilder()
- .withApiVersion("apiextensions.k8s.io/v1beta1")
- .withNewMetadata()
- .withName("crontabs.stable.example.com")
- .endMetadata()
- .withNewSpec()
- .withGroup("stable.example.com")
- .addAllToVersions(Collections.singletonList(new CustomResourceDefinitionVersionBuilder()
- .withName("v1")
- .withServed(true)
- .withStorage(true)
- .build()))
- .withScope("Namespaced")
- .withNewNames()
- .withPlural("crontabs")
- .withSingular("crontab")
- .withKind("CronTab")
- .withShortNames("ct")
- .endNames()
- .endSpec()
- .build();
- client.customResourceDefinitions().create(aCustomResourceDefinition);
- log("Created CRD");
- }
- }
- private static void log(String action, Object obj) {
- logger.info("{}: {}", action, obj);
- }
- private static void log(String action) {
- logger.info(action);
- }
- }
Add Comment
Please, Sign In to add comment