/** * Save the images stream to a file * @param imageName name of the image for which the stream should be extracted * @param target file to store the image stream */ public void appendImageStreamResource(ImageName imageName, File target) throws MojoExecutionException { String tag = StringUtils.isBlank(imageName.getTag()) ? "latest" : imageName.getTag(); try { ImageStream is = new ImageStreamBuilder() .withNewMetadata() .withName(imageName.getSimpleName()) .endMetadata() .withNewSpec() .addNewTag() .withName(tag) .withNewFrom().withKind("ImageStreamImage").endFrom() .endTag() .endSpec() .build(); createOrUpdateImageStreamTag(client, imageName, is); appendImageStreamToFile(is, target); log.info("ImageStream %s written to %s", imageName.getSimpleName(), target); } catch (KubernetesClientException e) { KubernetesResourceUtil.handleKubernetesClientException(e, this.log); } catch (IOException e) { throw new MojoExecutionException(String.format("Cannot write ImageStream descriptor for %s to %s : %s", imageName.getFullName(), target.getAbsoluteFile(), e.getMessage()),e); } }
.withName(name) .endMetadata() .build();
/** * Generate new source ImageStream * * @return Source ImageStream resource definition */ public ImageStream generateSourceImageStream() { ObjectReference image = new ObjectReference(); image.setKind("DockerImage"); image.setName(sourceImageBaseName + ":" + sourceImageTag); TagReference sourceTag = new TagReference(); sourceTag.setName(sourceImageTag); sourceTag.setFrom(image); if (insecureSourceRepository) { sourceTag.setImportPolicy(new TagImportPolicyBuilder().withInsecure(true).build()); sourceTag.setReferencePolicy(new TagReferencePolicyBuilder().withType("Local").build()); } ImageStream imageStream = new ImageStreamBuilder() .withNewMetadata() .withName(getSourceImageStreamName()) .withNamespace(namespace) .withLabels(getLabelsWithName(getSourceImageStreamName())) .withOwnerReferences(createOwnerReference()) .endMetadata() .withNewSpec() .withLookupPolicy(new ImageLookupPolicyBuilder().withLocal(false).build()) .withTags(sourceTag) .endSpec() .build(); return imageStream; }
private void checkOrCreateImageStream(BuildServiceConfig config, OpenShiftClient client, KubernetesListBuilder builder, String imageStreamName) { boolean hasImageStream = client.imageStreams().withName(imageStreamName).get() != null; if (hasImageStream && config.getBuildRecreateMode().isImageStream()) { client.imageStreams().withName(imageStreamName).delete(); hasImageStream = false; } if (!hasImageStream) { log.info("Creating ImageStream %s", imageStreamName); builder.addNewImageStreamItem() .withNewMetadata() .withName(imageStreamName) .endMetadata() .withNewSpec() .withNewLookupPolicy() .withLocal(config.isS2iImageStreamLookupPolicyLocal()) .endLookupPolicy() .endSpec() .endImageStreamItem(); } else { log.info("Adding to ImageStream %s", imageStreamName); } }
/** * Generate new target ImageStream * * @return Target ImageStream resource definition */ public ImageStream generateTargetImageStream() { ImageStream imageStream = new ImageStreamBuilder() .withNewMetadata() .withName(name) .withNamespace(namespace) .withLabels(getLabelsWithName()) .withOwnerReferences(createOwnerReference()) .endMetadata() .withNewSpec() .withLookupPolicy(new ImageLookupPolicyBuilder().withLocal(true).build()) .endSpec() .build(); return imageStream; }
public MetadataNested<T> withNewMetadata(){ return new MetadataNested<T>(); } public MetadataNested<T> withNewMetadataLike( ObjectMeta item){
public MetadataNested<T> withNewMetadataLike( ObjectMeta item){ return new MetadataNested<T>(item); } public MetadataNested<T> editMetadata(){
public MetadataNested<T> withNewMetadataLike( ObjectMeta item){ return new MetadataNested<T>(item); } public MetadataNested<T> editMetadata(){
private void ensureImageStreams(String name) { LOGGER.debug("Create or Replace ImageStream {}", name); openShiftClient.imageStreams().withName(name).createOrReplaceWithNew() .withNewMetadata() .withName(name) .endMetadata() .done(); }
@Override protected ImageStream resource() { return new ImageStreamBuilder().withNewMetadata().withNamespace(NAMESPACE).withName(RESOURCE_NAME).endMetadata().build(); }
public static ImageStream imageRepository(String buildName, Map<String, String> labels) { return new ImageStreamBuilder(). withNewMetadata().withLabels(labels).withName(buildName).endMetadata(). build(); }
@Override protected ObjectMeta getOrCreateMetadata(ImageStreamBuilder item) { return item.hasMetadata() ? item.buildMetadata() : item.withNewMetadata().endMetadata().buildMetadata(); } }
public MetadataNested<T> withNewMetadata(){ return new MetadataNested<T>(); } public MetadataNested<T> withNewMetadataLike( ObjectMeta item){
private void ensureImageStreams(String name) { LOGGER.debug("Create or Replace ImageStream {}", name); openShiftClient.imageStreams().withName(name).createOrReplaceWithNew() .withNewMetadata() .withName(name) .addToLabels(INTEGRATION_DEFAULT_LABELS) .endMetadata() .done(); }
public static ImageStream imageRepository(String buildName, Map<String, String> labels) { return new ImageStreamBuilder(). withNewMetadata().withLabels(labels).withName(buildName).endMetadata(). build(); }
.withName("example-camel-cdi") .endMetadata() .withNewSpec() .addNewTag() .withName("java-sti") .endMetadata() .withNewSpec() .addNewTag()
.withName("slave-jenkins") .endMetadata() .withNewSpec() .addToTags(0, new TagReferenceBuilder()