mirror of https://github.com/kubernetes/kops.git
92 lines
2.3 KiB
Python
92 lines
2.3 KiB
Python
package(default_visibility = ["//visibility:public"])
|
|
|
|
load(
|
|
"@io_bazel_rules_docker//container:container.bzl",
|
|
"container_bundle",
|
|
"container_image",
|
|
)
|
|
load("@package_bundle//file:packages.bzl", "packages")
|
|
|
|
container_image(
|
|
name = "protokube-image",
|
|
base = "@debian_hyperkube_base_amd64//image",
|
|
cmd = ["/usr/bin/protokube"],
|
|
# Packages needed:
|
|
# ca-certificates: Needed to talk to EC2 API (in base)
|
|
# e2fsprogs: Needed to mount / format ext4 filesytems (in base)
|
|
# systemd: needed to start kubelet
|
|
# TODO: Replace systemd with direct calls, or chroot into rootfs
|
|
debs = [
|
|
packages["cgmanager"],
|
|
packages["dbus"],
|
|
packages["libapparmor1"],
|
|
packages["libcgmanager0"],
|
|
packages["libcryptsetup4"],
|
|
packages["libdbus-1-3"],
|
|
packages["libnih-dbus1"],
|
|
packages["libnih1"],
|
|
packages["libpam-systemd"],
|
|
packages["libprocps6"],
|
|
packages["libseccomp2"],
|
|
packages["procps"],
|
|
packages["systemd-shim"],
|
|
packages["systemd"],
|
|
],
|
|
files = [
|
|
"//channels/cmd/channels",
|
|
"//protokube/cmd/protokube",
|
|
],
|
|
# Cannot use directory with packages or they get installed with
|
|
# directory as the root.
|
|
# directory = "/usr/bin/",
|
|
# TODO: figure out if there's a way to add files
|
|
# to actual /usr/bin while using debs above.
|
|
symlinks = {
|
|
"/usr/bin/channels": "/channels",
|
|
"/usr/bin/protokube": "/protokube",
|
|
},
|
|
tags = ["local"], # TODO(fejta): make xz toolchain hermetic
|
|
)
|
|
|
|
container_bundle(
|
|
name = "protokube",
|
|
images = {
|
|
"protokube:{STABLE_PROTOKUBE_TAG}": "protokube-image",
|
|
},
|
|
)
|
|
|
|
load("//tools:gzip.bzl", "gzip")
|
|
|
|
gzip(
|
|
name = "protokube.tar.gz",
|
|
src = "protokube.tar",
|
|
)
|
|
|
|
load("//tools:hashes.bzl", "hashes")
|
|
|
|
hashes(
|
|
name = "protokube.tar.gz.hashes",
|
|
src = "protokube.tar.gz",
|
|
)
|
|
|
|
container_image(
|
|
name = "kube-discovery",
|
|
base = "@debian_hyperkube_base_amd64//image",
|
|
cmd = ["/usr/bin/kube-discovery"],
|
|
directory = "/usr/bin/",
|
|
files = [
|
|
"//kube-discovery/cmd/kube-discovery",
|
|
],
|
|
)
|
|
|
|
container_image(
|
|
name = "kops-controller",
|
|
base = "@distroless_base//image",
|
|
cmd = ["/usr/bin/kops-controller"],
|
|
directory = "/usr/bin/",
|
|
files = [
|
|
"//cmd/kops-controller",
|
|
],
|
|
stamp = True,
|
|
)
|