load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
load(":defs.bzl", "buildkind")

buildkind(
    name = "buildkind",
    build_setting_default = "full",
)

# True if user requested a lite build via --//metropolis/cli/metroctl:buildkind=lite .
config_setting(
    name = "buildkind_lite",
    flag_values = {
        ":buildkind": "lite",
    },
)

go_library(
    name = "metroctl_lib",
    srcs = [
        "cmd_certs.go",
        "cmd_cluster.go",
        "cmd_cluster_configure.go",
        "cmd_cluster_takeownership.go",
        "cmd_install.go",
        "cmd_install_ssh.go",
        "cmd_install_usb.go",
        "cmd_k8s_configure.go",
        "cmd_k8scredplugin.go",
        "cmd_node.go",
        "cmd_node_approve.go",
        "cmd_node_logs.go",
        "cmd_node_metrics.go",
        "cmd_node_set.go",
        "main.go",
        "rpc.go",
        "table_node.go",
    ],
    importpath = "source.monogon.dev/metropolis/cli/metroctl",
    visibility = ["//visibility:private"],
    deps = [
        "//go/clitable",
        "//go/logging",
        "//go/net/ssh",
        "//metropolis/cli/flagdefs",
        "//metropolis/cli/metroctl/core",
        "//metropolis/node",
        "//metropolis/node/core/rpc",
        "//metropolis/node/core/rpc/resolver",
        "//metropolis/proto/api",
        "//metropolis/proto/common",
        "//osbase/blkio",
        "//osbase/fat32",
        "//osbase/logtree",
        "//osbase/logtree/proto",
        "//version",
        "@com_github_adrg_xdg//:xdg",
        "@com_github_schollz_progressbar_v3//:progressbar",
        "@com_github_spf13_cobra//:cobra",
        "@io_bazel_rules_go//go/runfiles",
        "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
        "@io_k8s_client_go//pkg/apis/clientauthentication/v1:clientauthentication",
        "@io_k8s_utils//ptr",
        "@org_golang_google_grpc//:grpc",
        "@org_golang_google_protobuf//encoding/prototext",
        "@org_golang_google_protobuf//proto",
        "@org_golang_google_protobuf//types/known/fieldmaskpb",
        "@org_golang_x_crypto//ssh",
        "@org_golang_x_crypto//ssh/agent",
        "@org_golang_x_net//proxy",
        "@org_golang_x_sync//semaphore",
        "@org_golang_x_term//:term",
    ],
)

go_binary(
    name = "metroctl",
    data = select({
        ":buildkind_lite": [],
        "//conditions:default": [
            "//metropolis/cli/takeover",
            "//metropolis/installer:kernel",
            "//metropolis/node:bundle",
        ],
    }),
    embed = [":metroctl_lib"],
    visibility = ["//visibility:public"],
)

# metroctl_lite is the same binary as normal metroctl, but without any data
# dependencies.
go_binary(
    name = "metroctl_lite",
    data = [],
    embed = [":metroctl_lib"],
    visibility = ["//metropolis:__subpackages__"],
)
