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:go_default_library",
        "@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__"],
)
