hyperboria/images/production/BUILD.bazel
the-superpirate 681817ceae No description
GitOrigin-RevId: 83514338be1d662518bab9fe5ab6eefef98f229f
2021-04-09 13:29:10 +03:00

87 lines
2.3 KiB
Python

load("@io_bazel_rules_docker//container:container.bzl", "container_image")
load("@io_bazel_rules_docker//docker/package_managers:download_pkgs.bzl", "download_pkgs")
load("@io_bazel_rules_docker//docker/package_managers:install_pkgs.bzl", "install_pkgs")
package(default_visibility = ["//visibility:public"])
download_pkgs(
name = "download-base-production-image",
image_tar = "//images:base-image.tar",
packages = [
"bash",
"ca-certificates",
"libev4",
"libgomp1",
"libgoogle-perftools-dev",
"libprotobuf23",
"libssl1.1",
],
)
install_pkgs(
name = "install-base-production-image",
image_tar = "//images:base-image.tar",
installables_tar = ":download-base-production-image.tar",
output_image_name = "base-production-image",
)
container_image(
name = "base-production-image",
base = ":install-base-production-image",
env = {
"LANG": "C.UTF-8",
"LC_CTYPE": "en_US.UTF-8",
},
)
download_pkgs(
name = "download-base-python-image",
image_tar = ":base-production-image.tar",
packages = [
"python3.9",
"python3.9-distutils",
],
)
install_pkgs(
name = "install-base-python-image",
image_tar = ":base-production-image.tar",
installables_tar = ":download-base-python-image.tar",
installation_cleanup_commands = "rm -rf /var/lib/apt/lists/*",
output_image_name = "installed-base-python-image",
)
container_image(
name = "base-python-image",
base = ":install-base-python-image",
entrypoint = ["/usr/bin/python3.9"],
symlinks = {
"/usr/bin/python": "/usr/bin/python3.9",
"/usr/bin/python3": "/usr/bin/python3.9",
},
visibility = ["//visibility:public"],
)
download_pkgs(
name = "download-base-nodejs-image",
image_tar = ":base-production-image.tar",
packages = [
"nodejs",
],
)
install_pkgs(
name = "install-base-nodejs-image",
image_tar = ":base-production-image.tar",
installables_tar = ":download-base-nodejs-image.tar",
installation_cleanup_commands = "rm -rf /var/lib/apt/lists/*",
output_image_name = "installed-base-nodejs-image",
)
container_image(
name = "base-nodejs-image",
base = ":install-base-nodejs-image",
entrypoint = ["/usr/bin/nodejs"],
visibility = ["//visibility:public"],
)