diff --git a/build/root/WORKSPACE b/build/root/WORKSPACE index 74d205f8d4f..2db8d38a8a8 100644 --- a/build/root/WORKSPACE +++ b/build/root/WORKSPACE @@ -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", diff --git a/cluster/BUILD b/cluster/BUILD index a5b4fbd0025..aaad5d31a02 100644 --- a/cluster/BUILD +++ b/cluster/BUILD @@ -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", ], diff --git a/cluster/images/hyperkube/BUILD b/cluster/images/hyperkube/BUILD new file mode 100644 index 00000000000..20a1873c20e --- /dev/null +++ b/cluster/images/hyperkube/BUILD @@ -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"], +)