61 lines
1.4 KiB
Python
61 lines
1.4 KiB
Python
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
|
|
load("@io_bazel_rules_docker//container:container.bzl", "container_image")
|
|
|
|
go_library(
|
|
name = "executor_lib",
|
|
srcs = ["main.go"],
|
|
importpath = "github.com/GoogleContainerTools/kaniko/cmd/executor",
|
|
visibility = ["//visibility:private"],
|
|
deps = ["//cmd/executor/cmd"],
|
|
)
|
|
|
|
go_binary(
|
|
name = "executor",
|
|
embed = [":executor_lib"],
|
|
pure = "on",
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
ARCHITECTURES = [
|
|
"amd64",
|
|
"arm64",
|
|
]
|
|
|
|
[
|
|
go_binary(
|
|
name = "executor_" + arch,
|
|
embed = [":executor_lib"],
|
|
goarch = arch,
|
|
goos = "linux",
|
|
pure = "on",
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
for arch in ARCHITECTURES
|
|
]
|
|
|
|
[
|
|
container_image(
|
|
name = "image_" + arch,
|
|
architecture = arch,
|
|
base = "//files:image",
|
|
directory = "/kaniko",
|
|
entrypoint = ["/kaniko/executor_" + arch],
|
|
env = {
|
|
"HOME": "/root",
|
|
"USER": "root",
|
|
"PATH": "/usr/local/bin:/kaniko",
|
|
"SSL_CERT_DIR": "/kaniko/ssl/certs",
|
|
"DOCKER_CONFIG": "/kaniko/.docker/",
|
|
},
|
|
files = [
|
|
":executor_" + arch,
|
|
],
|
|
symlinks = {
|
|
"/kaniko/executor": "/kaniko/executor_" + arch,
|
|
},
|
|
visibility = ["//visibility:public"],
|
|
workdir = "/workspace",
|
|
)
|
|
for arch in ARCHITECTURES
|
|
]
|