.withName("slave-jenkins") .endMetadata() .withNewSpec() .addToTags(0, new TagReferenceBuilder() .withName("base")
/** * 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); } }
/** * 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; }
/** * 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; }