1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- load("@io_bazel_rules_docker//container:container.bzl", "container_layer")
- load("//build:container.bzl", "multi_arch_container")
- load("//build:platforms.bzl", "SERVER_PLATFORMS")
- container_layer(
- name = "scripts",
- directory = "/",
- files = [
- "hyperkube",
- ],
- )
- container_layer(
- name = "bins",
- directory = "/usr/local/bin",
- files = [
- "//cmd/kube-apiserver",
- "//cmd/kube-controller-manager",
- "//cmd/kube-proxy",
- "//cmd/kube-scheduler",
- "//cmd/kubectl",
- "//cmd/kubelet",
- ],
- )
- multi_arch_container(
- name = "image",
- architectures = SERVER_PLATFORMS["linux"],
- base = "@debian-hyperkube-base-{ARCH}//image",
- cmd = [
- "/hyperkube",
- ],
- # {ARCH} is replaced by the macro, but STABLE_ vars are replaced by the
- # build stamping, so we need to escape them
- docker_push_tags = ["{{STABLE_DOCKER_PUSH_REGISTRY}}/hyperkube-{ARCH}:{{STABLE_DOCKER_TAG}}"],
- docker_tags = ["{{STABLE_DOCKER_REGISTRY}}/hyperkube-{ARCH}:{{STABLE_DOCKER_TAG}}"],
- layers = [
- ":bins",
- ":scripts",
- ],
- stamp = True,
- tags = ["manual"],
- visibility = ["//visibility:public"],
- )
- filegroup(
- name = "package-srcs",
- srcs = glob(["**"]),
- tags = ["automanaged"],
- visibility = ["//visibility:private"],
- )
- filegroup(
- name = "all-srcs",
- srcs = [":package-srcs"],
- tags = ["automanaged"],
- visibility = ["//visibility:public"],
- )
|