bitter-ability-32190
01/05/2022, 12:52 PMcurved-television-6568
01/05/2022, 12:55 PMbitter-ability-32190
01/05/2022, 12:57 PMcurved-television-6568
01/05/2022, 12:58 PMdocker_image_field_values = apply_overrides(
image_ref,
overrides,
{
"dependencies": [spec_file_address.spec],
"instructions": [f"FROM {image_ref}"],
"repository": image_ref.image,
"tags": ["docker-mirror"],
},
)
# Only set `image_tags` if it where not provided with the `overrides`.
docker_image_field_values.setdefault("image_tags", [image_ref.tag or "latest"])
yield DockerImageTarget(
docker_image_field_values,
address.create_generated(image_ref.target_name),
union_membership,
)
@rule
async def generate_targets_from_docker_mirror_images(
request: GenerateTargetsFromDockerMirrorImages,
union_membership: UnionMembership,
) -> GeneratedTargets:
sources = await Get(
SourceFiles,
SourceFilesRequest([request.generator[MirrorImagesSourcesField]]),
)
contents = await Get(DigestContents, Digest, sources.snapshot.digest)
gen = partial(generate_targets, request=request, union_membership=union_membership)
targets = chain(*[gen(c.path, c.content.decode().split("\n")) for c in contents])
return GeneratedTargets(request.generator, targets)
bitter-ability-32190
01/05/2022, 12:58 PMcurved-television-6568
01/05/2022, 1:00 PMbitter-ability-32190
01/05/2022, 1:29 PMcurved-television-6568
01/05/2022, 1:38 PM