load("@io_bazel_rules_docker//container:container.bzl", "container_image") load("@io_bazel_rules_docker//docker/util:run.bzl", "container_run_and_commit") load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") load("@rules_pkg//:pkg.bzl", "pkg_tar") load("//hack/build/rules/container:index.bzl", "container_push", "go_image") go_binary( name = "xserver", embed = [":xserver_lib"], visibility = ["//visibility:public"], ) go_library( name = "xserver_lib", srcs = ["main.go"], importpath = "edge-infra.dev/cmd/sds/display/xserver", visibility = ["//visibility:private"], deps = [ "//pkg/lib/fog", "//pkg/sds/display/k8s/controllers/xserver", "@io_k8s_sigs_controller_runtime//:controller-runtime", ], ) pkg_tar( name = "setup_script", extension = "tgz", files = { ":setup.sh": "setup.sh", ":autostart": "/root/.config/openbox/autostart", ":background.png": "/root/.config/openbox/background.png", "@openbox_apk//file": "openbox.apk", }, mode = "755", package_dir = "/", tags = [ "manual", "no-remote-cache", ], ) container_image( name = "alpine_image", base = "@alpine//image", tags = [ "manual", "no-remote-cache", ], tars = [ ":setup_script", ], ) container_run_and_commit( name = "configured_alpine_image", commands = [ "./setup.sh", "rm setup.sh", "rm openbox.apk", ], image = ":alpine_image.tar", tags = [ "manual", "no-remote-cache", ], ) go_image( name = "xserver_image", base = ":configured_alpine_image", embed = [":xserver_lib"], tags = ["manual"], ) container_push( name = "container_push", image = ":xserver_image", image_name = "xserver", repository_file = "//hack/build/rules/container:workloads-repo", rules_docker = True, )