mirror of
https://github.com/GoogleContainerTools/kaniko
synced 2026-10-18 15:51:45 +02:00
Add multi-arch image via Bazel (#1452)
* Add multi-arch image via Bazel * Drop the commented tags * Move tests to //integration
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
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
|
||||
]
|
||||
@@ -95,8 +95,10 @@ var RootCmd = &cobra.Command{
|
||||
}
|
||||
logrus.Warn("kaniko is being run outside of a container. This can have dangerous effects on your system")
|
||||
}
|
||||
if err := executor.CheckPushPermissions(opts); err != nil {
|
||||
exit(errors.Wrap(err, "error checking push permissions -- make sure you entered the correct tag name, and that you are authenticated correctly, and try again"))
|
||||
if !opts.NoPush {
|
||||
if err := executor.CheckPushPermissions(opts); err != nil {
|
||||
exit(errors.Wrap(err, "error checking push permissions -- make sure you entered the correct tag name, and that you are authenticated correctly, and try again"))
|
||||
}
|
||||
}
|
||||
if err := resolveRelativePaths(); err != nil {
|
||||
exit(errors.Wrap(err, "error resolving relative paths to absolute paths"))
|
||||
|
||||
Reference in New Issue
Block a user