public PodTemplateSpec getPodTemplate(ResourceConfig config, List<ImageConfiguration> images) { return new PodTemplateSpecBuilder() .withMetadata(createPodMetaData(config)) .withSpec(createPodSpec(config, images)) .build(); }
@Override public void visit(PodTemplateSpecBuilder templateBuilder) { PodTemplateSpecFluent.SpecNested<PodTemplateSpecBuilder> podSpec = templateBuilder.getSpec() == null ? templateBuilder.withNewSpec() : templateBuilder.editSpec(); List<Container> containers = podSpec.getContainers(); if (containers == null) { containers = new ArrayList<Container>(); } mergeImageConfigurationWithContainerSpec(containers); podSpec.withContainers(containers).endSpec(); } });
private void ensureSpec(PodTemplateSpecBuilder obj) { if (obj.buildSpec() == null) { obj.withNewSpec().endSpec(); } } }
public DoneablePodTemplateSpec(PodTemplateSpec item){ super(item);this.builder=new PodTemplateSpecBuilder(this, item);this.function=new Function<PodTemplateSpec, PodTemplateSpec>() { public PodTemplateSpec apply(PodTemplateSpec item) { return item; } } ; }
protected void deploy(final String namespace, Entity entity, Map<String, String> metadata, final String deploymentName, Container container, final Integer replicas, Map<String, String> secrets) { PodTemplateSpecBuilder podTemplateSpecBuilder = new PodTemplateSpecBuilder() .withNewMetadata() .addToLabels("name", deploymentName) .addToLabels(metadata) .endMetadata() .withNewSpec() .addToContainers(container) .endSpec(); if (secrets != null) { for (String secretName : secrets.keySet()) { podTemplateSpecBuilder.withNewSpec() .addToContainers(container) .addNewImagePullSecret(secretName) PodTemplateSpec template = podTemplateSpecBuilder.build(); Deployment deployment = new DeploymentBuilder() .withNewMetadata()
public PodTemplateSpecBuilder(PodTemplateSpec instance,Boolean validationEnabled){ this.fluent = this; this.withMetadata(instance.getMetadata()); this.withSpec(instance.getSpec()); this.validationEnabled = validationEnabled; }
public void on(PodTemplateSpecBuilder builder) { PodSpec podSpec = new PodSpecBuilder(builder.getSpec()) .addNewContainer() .withName("logstash-template") .withImage(System.getProperty("fabric8.dockerUser", "fabric8/") + "elasticsearch-logstash-template:" + System.getProperty("project.version")) .endContainer() .build(); builder.withSpec(podSpec); } }
public void appendInitContainer(PodTemplateSpecBuilder builder, Container initContainer) { String name = initContainer.getName(); Container existing = getInitContainer(builder, name); if (existing != null) { if (existing.equals(initContainer)) { log.warn("Trying to add init-container %s a second time. Ignoring ....", name); return; } else { throw new IllegalArgumentException( String.format("PodSpec %s already contains a different init container with name %s but can not add a second one with the same name. " + "Please choose a different name for the init container", builder.build().getMetadata().getName(), name)); } } ensureSpec(builder); builder.editSpec().addToInitContainers(initContainer).endSpec(); }
public void removeInitContainer(PodTemplateSpecBuilder builder, String initContainerName) { Container initContainer = getInitContainer(builder, initContainerName); if (initContainer != null) { List<Container> initContainers = builder.buildSpec().getInitContainers(); initContainers.remove(initContainer); builder.editSpec().withInitContainers(initContainers).endSpec(); } }
public EditablePodTemplateSpec build(){ EditablePodTemplateSpec buildable = new EditablePodTemplateSpec(fluent.getMetadata(),fluent.getSpec()); validate(buildable); return buildable; }
public PodTemplateSpec done(){ return function.apply(builder.build()); }
public Container getInitContainer(PodTemplateSpecBuilder builder, String name) { if (builder.hasSpec()) { List<Container> initContainerList = builder.buildSpec().getInitContainers(); for(Container initContainer : initContainerList) { if(initContainer.getName().equals(name)) { return initContainer; } } } return null; }
@Override public void visit(PodTemplateSpecBuilder builder) { PodSpec podSpec = builder.buildSpec(); if (podSpec == null) { return; } if (!checkForPvc(podSpec)) { return; } List<Container> containers = podSpec.getContainers(); if (containers == null || containers.isEmpty()) { return; } log.verbose("Adding init container for changing persistent volumes access mode to %s", getConfig(Config.permission)); if (!initContainerHandler.hasInitContainer(builder, ENRICHER_NAME)) { initContainerHandler.appendInitContainer(builder, createPvInitContainer(podSpec)); } }
public DoneablePodTemplateSpec(Function<PodTemplateSpec,PodTemplateSpec> function){ super();this.builder=new PodTemplateSpecBuilder(this);this.function=function; } public DoneablePodTemplateSpec(PodTemplateSpec item,Function<PodTemplateSpec,PodTemplateSpec> function){
@Override protected void deploy(final String namespace, Entity entity, Map<String, String> metadata, final String deploymentName, Container container, final Integer replicas, Map<String, String> secrets) { PodTemplateSpecBuilder podTemplateSpecBuilder = new PodTemplateSpecBuilder() .withNewMetadata() .addToLabels("name", deploymentName) .addToLabels(metadata) .endMetadata() .withNewSpec() .addToContainers(container) .endSpec(); if (secrets != null) { for (String secretName : secrets.keySet()) { podTemplateSpecBuilder.withNewSpec() .addToContainers(container) .addNewImagePullSecret(secretName) PodTemplateSpec template = podTemplateSpecBuilder.build(); DeploymentConfig deployment = new DeploymentConfigBuilder() .withNewMetadata()
public PodTemplateSpecBuilder( PodTemplateSpec instance ){ this.fluent = this; this.withMetadata(instance.getMetadata()); this.withSpec(instance.getSpec()); }
public void on(PodTemplateSpecBuilder builder) { PodSpec podSpec = new PodSpecBuilder(builder.getSpec()) .addNewContainer() .withName("logstash-template") .withImage("fabric8/elasticsearch-logstash-template:" + System.getProperty("project.version")) .endContainer() .build(); builder.withSpec(podSpec); } }
public void appendInitContainer(PodTemplateSpecBuilder builder, Container initContainer) { String name = initContainer.getName(); Container existing = getInitContainer(builder, name); if (existing != null) { if (existing.equals(initContainer)) { log.warn("Trying to add init-container %s a second time. Ignoring ....", name); return; } else { throw new IllegalArgumentException( String.format("PodSpec %s already contains a different init container with name %s but can not add a second one with the same name. " + "Please choose a different name for the init container", builder.build().getMetadata().getName(), name)); } } ensureSpec(builder); builder.editSpec().addToInitContainers(initContainer).endSpec(); }
public void removeInitContainer(PodTemplateSpecBuilder builder, String initContainerName) { Container initContainer = getInitContainer(builder, initContainerName); if (initContainer != null) { List<Container> initContainers = builder.buildSpec().getInitContainers(); initContainers.remove(initContainer); builder.editSpec().withInitContainers(initContainers).endSpec(); } }
public PodTemplateSpec build(){ PodTemplateSpec buildable = new PodTemplateSpec(fluent.getMetadata(),fluent.getSpec()); validate(buildable); return buildable; }