kops/cmd/kops-controller/BUILD.bazel

97 lines
2.8 KiB
Python

load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
go_library(
name = "go_default_library",
srcs = ["main.go"],
importpath = "k8s.io/kops/cmd/kops-controller",
visibility = ["//visibility:private"],
deps = [
"//cmd/kops-controller/controllers:go_default_library",
"//cmd/kops-controller/pkg/config:go_default_library",
"//cmd/kops-controller/pkg/server:go_default_library",
"//pkg/nodeidentity:go_default_library",
"//pkg/nodeidentity/aws:go_default_library",
"//pkg/nodeidentity/do:go_default_library",
"//pkg/nodeidentity/gce:go_default_library",
"//pkg/nodeidentity/openstack:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/client-go/plugin/pkg/client/auth/gcp:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
"//vendor/k8s.io/klog/klogr:go_default_library",
"//vendor/sigs.k8s.io/controller-runtime:go_default_library",
"//vendor/sigs.k8s.io/controller-runtime/pkg/manager:go_default_library",
"//vendor/sigs.k8s.io/yaml:go_default_library",
],
)
go_binary(
name = "kops-controller",
embed = [":go_default_library"],
visibility = ["//visibility:public"],
)
load(
"@io_bazel_rules_docker//container:container.bzl",
"container_image",
"container_push",
"container_bundle",
)
ARCH = [
"amd64",
"arm64",
]
[container_image(
name = "image-%s" % arch,
architecture = arch,
base = "@distroless_base//image",
cmd = ["/kops-controller"],
user = "10011",
files = [
"//cmd/kops-controller",
],
stamp = True,
) for arch in ARCH]
# TODO: Remove / replace when multi-arch images are available
container_push(
name = "push-image-plain",
format = "Docker",
image = ":image-amd64",
registry = "{STABLE_DOCKER_REGISTRY}",
repository = "{STABLE_DOCKER_IMAGE_PREFIX}kops-controller",
tag = "{STABLE_KOPS_CONTROLLER_TAG}",
)
[container_push(
name = "push-image-%s" % arch,
format = "Docker",
image = ":image-%s" % arch,
registry = "{STABLE_DOCKER_REGISTRY}",
repository = "{STABLE_DOCKER_IMAGE_PREFIX}kops-controller-%s" % arch,
tag = "{STABLE_KOPS_CONTROLLER_TAG}",
) for arch in ARCH]
[container_bundle(
name = "image-bundle-%s" % arch,
images = {
"{STABLE_DOCKER_IMAGE_PREFIX}kops-controller:{STABLE_KOPS_CONTROLLER_TAG}": "image-%s" % arch,
},
) for arch in ARCH]
load("//tools:gzip.bzl", "gzip")
[gzip(
name = "image-bundle-%s.tar.gz" % arch,
src = "image-bundle-%s.tar" % arch,
) for arch in ARCH]
load("//tools:hashes.bzl", "hashes")
[hashes(
name = "image-bundle-%s.tar.gz.hashes" % arch,
src = "image-bundle-%s.tar.gz" % arch,
) for arch in ARCH]