@Override protected StatefulSet createClone(StatefulSet obj, String newName, String newDeploymentHash) { return new StatefulSetBuilder(obj) .editMetadata() .withResourceVersion(null) .withName(newName) .endMetadata() .editSpec() .withReplicas(0) .editSelector().addToMatchLabels(DEPLOYMENT_KEY, newDeploymentHash).endSelector() .editTemplate().editMetadata().addToLabels(DEPLOYMENT_KEY, newDeploymentHash).endMetadata().endTemplate() .endSpec() .build(); }
@Override protected StatefulSet setReplicas(StatefulSet obj, int replicas) { return new StatefulSetBuilder(obj).editSpec().withReplicas(replicas).endSpec().build(); }
public StatefulSet getStatefulSet(ResourceConfig config, List<ImageConfiguration> images) { return new StatefulSetBuilder() .withMetadata(createStatefulSetMetaData(config)) .withSpec(createStatefulSetSpec(config, images)) .build(); }
.endTemplate().build(); StatefulSet statefulSet = new StatefulSetBuilder().withNewMetadata().withName(appId).withLabels(idMap) .addToLabels(SPRING_MARKER_KEY, SPRING_MARKER_VALUE).endMetadata().withSpec(spec).build();
StatefulSet statefulSet = new StatefulSetBuilder() .withNewMetadata() .withName(name) .withLabels(getLabelsWithName(templateStatefulSetLabels)) .withOwnerReferences(createOwnerReference()) .endMetadata() .withNewSpec() .withPodManagementPolicy("Parallel") .withUpdateStrategy(new StatefulSetUpdateStrategyBuilder().withType("OnDelete").build()) .withVolumeClaimTemplates(volumeClaims) .endSpec() .build();
@Override public void visit(StatefulSetBuilder o) { StatefulSet s = o.build(); if (canWriteTriggers(s)) { o.withMetadata(getMetaEnrichedWithTriggers(s.getMetadata(), o)); } } });
@Override public void visit(StatefulSetBuilder item) { StatefulSetFluent.SpecNested<StatefulSetBuilder> spec = item.getSpec() == null ? item.withNewSpec() : item.editSpec(); StatefulSetSpecFluent.TemplateNested<StatefulSetFluent.SpecNested<StatefulSetBuilder>> template = spec.getTemplate() == null ? spec.withNewTemplate() : spec.editTemplate(); template.endTemplate().endSpec(); } });
@Override protected ObjectMeta getOrCreateMetadata(StatefulSetBuilder item) { return item.hasMetadata() ? item.buildMetadata() : item.withNewMetadata().endMetadata().buildMetadata(); } }
private void mergeStatefulSetSpec(StatefulSetBuilder builder, StatefulSetSpec spec) { StatefulSetFluent.SpecNested<StatefulSetBuilder> specBuilder = builder.editSpec(); KubernetesResourceUtil.mergeSimpleFields(specBuilder, spec); specBuilder.endSpec(); }
private void revertVolumeChanges(StatefulSet current, StatefulSet desired) { Container currentKafka = current.getSpec().getTemplate().getSpec().getContainers().stream().filter(c -> c.getName().equals("kafka")).findFirst().get(); Container desiredKafka = desired.getSpec().getTemplate().getSpec().getContainers().stream().filter(c -> c.getName().equals("kafka")).findFirst().get(); desiredKafka.setVolumeMounts(currentKafka.getVolumeMounts()); StatefulSet updated = new StatefulSetBuilder(desired) .editSpec() .editTemplate() .editSpec() .editFirstContainer() .editMatchingEnv(e -> e.getName().equals(KafkaCluster.ENV_VAR_KAFKA_LOG_DIRS)) .withValue(desiredKafka.getVolumeMounts().stream() .filter(vm -> vm.getMountPath().contains(AbstractModel.VOLUME_NAME)) .map(vm -> vm.getMountPath()) .collect(Collectors.joining(","))) .endEnv() .endContainer() .endSpec() .endTemplate() .endSpec() .build(); desired.setSpec(updated.getSpec()); }
@Override public StatefulSet updateImage(String image) { StatefulSet oldRC = get(); if (oldRC == null) { throw new KubernetesClientException("Existing StatefulSet doesn't exist"); } if (oldRC.getSpec().getTemplate().getSpec().getContainers().size() > 1) { throw new KubernetesClientException("Image update is not supported for multicontainer pods"); } if (oldRC.getSpec().getTemplate().getSpec().getContainers().size() == 0) { throw new KubernetesClientException("Pod has no containers!"); } Container updatedContainer = new ContainerBuilder(oldRC.getSpec().getTemplate().getSpec().getContainers().iterator().next()).withImage(image).build(); StatefulSetBuilder newRCBuilder = new StatefulSetBuilder(oldRC); newRCBuilder.editMetadata().withResourceVersion(null).endMetadata() .editSpec().editTemplate().editSpec().withContainers(Collections.singletonList(updatedContainer)) .endSpec().endTemplate().endSpec(); return new StatefulSetRollingUpdater(client, config, namespace).rollUpdate(oldRC, newRCBuilder.build()); }
StatefulSet newSs = new StatefulSetBuilder(ss) .editMetadata() .withAnnotations(annotations) .endMetadata() .editSpec() .editTemplate() .editSpec() .endTemplate() .endSpec() .build();
env.put(ENV_VAR_KAFKA_CONFIGURATION, currentKafkaConfig.getConfiguration()); StatefulSet newSs = new StatefulSetBuilder(ss) .editMetadata() .withAnnotations(annotations) .endMetadata() .editSpec() .editTemplate() .editSpec() .endTemplate() .endSpec() .build();
StatefulSet newSs = new StatefulSetBuilder(ss) .editMetadata() .withAnnotations(annotations) .endMetadata() .editSpec() .editTemplate() .editSpec() .endTemplate() .endSpec() .build();
annotations.put(ANNO_STRIMZI_IO_KAFKA_VERSION, upgrade.to().version()); StatefulSet newSs = new StatefulSetBuilder(ss) .editMetadata() .withAnnotations(annotations) .endMetadata() .editSpec() .editTemplate() .editSpec() .endTemplate() .endSpec() .build();