Build hyperkube image with Bazel

pull/6/head
Jeff Grafton 2017-09-21 14:25:58 -07:00
parent 94439ad8d8
commit 01252967f1
3 changed files with 59 additions and 0 deletions

View File

@ -62,6 +62,14 @@ docker_pull(
tag = "v8", # ignored, but kept here for documentation
)
docker_pull(
name = "debian-hyperkube-base-amd64",
digest = "sha256:e45d35f9f967ef7d49496d1d2e6f9ad378a29012b0c90f78b5d59a254f3135e6",
registry = "gcr.io",
repository = "google-containers/debian-hyperkube-base-amd64",
tag = "0.3", # ignored, but kept here for documentation
)
docker_pull(
name = "official_busybox",
digest = "sha256:be3c11fdba7cfe299214e46edc642e09514dbb9bbefcd0d3836c05a1e0cd0642",

View File

@ -18,6 +18,7 @@ filegroup(
"//cluster/images/etcd-version-monitor:all-srcs",
"//cluster/images/etcd/attachlease:all-srcs",
"//cluster/images/etcd/rollback:all-srcs",
"//cluster/images/hyperkube:all-srcs",
"//cluster/lib:all-srcs",
"//cluster/saltbase:all-srcs",
],

View File

@ -0,0 +1,50 @@
load("@io_bazel_rules_docker//docker:docker.bzl", "docker_build", "docker_bundle")
docker_build(
name = "hyperkube-internal",
base = "@debian-hyperkube-base-amd64//image",
files = [
"//cmd/hyperkube",
],
symlinks = {
"/%s" % path: "/hyperkube"
for path in [
"/apiserver",
"/controller-manager",
"/federation-apiserver",
"/federation-controller-manager",
"/kubectl",
"/kubelet",
"/proxy",
"/scheduler",
"/usr/local/bin/kube-apiserver",
"/usr/local/bin/kube-controller-manager",
"/usr/local/bin/federation-apiserver",
"/usr/local/bin/federation-controller-manager",
"/usr/local/bin/kubectl",
"/usr/local/bin/kubelet",
"/usr/local/bin/kube-proxy",
"/usr/local/bin/kube-scheduler",
]
},
)
docker_bundle(
name = "hyperkube",
images = {"gcr.io/google-containers/hyperkube-amd64:{STABLE_DOCKER_TAG}": "hyperkube-internal"},
stamp = True,
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)