...

Text file src/edge-infra.dev/cmd/sds/display/xserver/BUILD.bazel

Documentation: edge-infra.dev/cmd/sds/display/xserver

     1load("@io_bazel_rules_docker//container:container.bzl", "container_image")
     2load("@io_bazel_rules_docker//docker/util:run.bzl", "container_run_and_commit")
     3load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
     4load("@rules_pkg//:pkg.bzl", "pkg_tar")
     5load("//hack/build/rules/container:index.bzl", "container_push", "go_image")
     6
     7go_binary(
     8    name = "xserver",
     9    embed = [":xserver_lib"],
    10    visibility = ["//visibility:public"],
    11)
    12
    13go_library(
    14    name = "xserver_lib",
    15    srcs = ["main.go"],
    16    importpath = "edge-infra.dev/cmd/sds/display/xserver",
    17    visibility = ["//visibility:private"],
    18    deps = [
    19        "//pkg/lib/fog",
    20        "//pkg/sds/display/k8s/controllers/xserver",
    21        "@io_k8s_sigs_controller_runtime//:controller-runtime",
    22    ],
    23)
    24
    25pkg_tar(
    26    name = "setup_script",
    27    extension = "tgz",
    28    files = {
    29        ":setup.sh": "setup.sh",
    30        ":autostart": "/root/.config/openbox/autostart",
    31        ":background.png": "/root/.config/openbox/background.png",
    32        "@openbox_apk//file": "openbox.apk",
    33    },
    34    mode = "755",
    35    package_dir = "/",
    36    tags = [
    37        "manual",
    38        "no-remote-cache",
    39    ],
    40)
    41
    42container_image(
    43    name = "alpine_image",
    44    base = "@alpine//image",
    45    tags = [
    46        "manual",
    47        "no-remote-cache",
    48    ],
    49    tars = [
    50        ":setup_script",
    51    ],
    52)
    53
    54container_run_and_commit(
    55    name = "configured_alpine_image",
    56    commands = [
    57        "./setup.sh",
    58        "rm setup.sh",
    59        "rm openbox.apk",
    60    ],
    61    image = ":alpine_image.tar",
    62    tags = [
    63        "manual",
    64        "no-remote-cache",
    65    ],
    66)
    67
    68go_image(
    69    name = "xserver_image",
    70    base = ":configured_alpine_image",
    71    embed = [":xserver_lib"],
    72    tags = ["manual"],
    73)
    74
    75container_push(
    76    name = "container_push",
    77    image = ":xserver_image",
    78    image_name = "xserver",
    79    repository_file = "//hack/build/rules/container:workloads-repo",
    80    rules_docker = True,
    81)

View as plain text