Files
prysm/tools/prysm_image.bzl
Preston Van Loon 4386c244e1 Docker fix: Update bazel-lib to latest version (#14579)
* Update bazel-lib

* Update rules_oci

* Compress pkg_tar

* Add a note about 401 download for distroless/cc-debian11

* Update CHANGELOG.md

* Re-upload distroless/cc-debian11 to prysmaticlabs/distroless/cc-debian11 such that the image is public.

Ran the following command:
gcrane cp 'gcr.io/distroless/cc-debian11@sha256:b82f113425c5b5c714151aaacd8039bc141821cdcd3c65202d42bdf9c43ae60b' gcr.io/prysmaticlabs/distroless/cc-debian11:latest

* Back out "Update rules_oci"

This backs out commit 64200fb25e.
2024-10-25 02:30:21 +00:00

84 lines
2.1 KiB
Python

load("@rules_oci//oci:defs.bzl", "oci_image", "oci_image_index", "oci_push", "oci_tarball")
load("@rules_pkg//:pkg.bzl", "pkg_tar")
load("//tools:multi_arch.bzl", "multi_arch")
def prysm_image_upload(
name,
binary,
entrypoint,
symlinks,
repository,
tags):
pkg_tar(
name = "binary_tar",
srcs = [binary],
symlinks = symlinks,
tags = tags,
extension = "tar.gz",
)
oci_image(
name = "oci_image",
base = "@linux_debian11_multiarch_base",
entrypoint = entrypoint,
tars = [
"//tools:passwd_tar",
] + select({
"@platforms//cpu:x86_64": [
"@amd64_debian11_bash",
"@amd64_debian11_libtinfo6",
"@amd64_debian11_coreutils",
"@amd64_debian11_libacl1",
"@amd64_debian11_libattr1",
"@amd64_debian11_libselinux",
"@amd64_debian11_libpcre2",
],
"@platforms//cpu:arm64": [
"@arm64_debian11_bash",
"@arm64_debian11_libtinfo6",
"@arm64_debian11_coreutils",
"@arm64_debian11_libacl1",
"@arm64_debian11_libattr1",
"@arm64_debian11_libselinux",
"@arm64_debian11_libpcre2",
],
}) + [
":binary_tar",
],
labels = {
"org.opencontainers.image.source": "https://github.com/prysmaticlabs/prysm",
},
tags = tags,
)
multi_arch(
name = "oci_multiarch",
image = ":oci_image",
platforms = [
"@io_bazel_rules_go//go/toolchain:linux_amd64_cgo",
"@io_bazel_rules_go//go/toolchain:linux_arm64_cgo",
],
tags = tags,
)
oci_image_index(
name = "oci_image_index",
images = [
":oci_multiarch",
],
tags = tags,
)
oci_push(
name = name,
image = ":oci_image_index",
repository = repository,
tags = tags,
)
oci_tarball(
name = "oci_image_tarball",
image = ":oci_image",
repo_tags = [repository+":latest"],
)