blob: f013c4295ca2cbb5ae567b8d915b4d98f6f3842d [file] [log] [blame]
Serge Bazanski504ea312023-03-22 17:47:48 +01001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
Serge Bazanski394b67e2023-07-19 17:34:34 +02002load(":defs.bzl", "buildkind")
3
4buildkind(
5 name = "buildkind",
6 build_setting_default = "full",
7)
8
9# True if user requested a lite build via --//metropolis/cli/metroctl:buildkind=lite .
10config_setting(
11 name = "buildkind_lite",
12 flag_values = {
13 ":buildkind": "lite",
14 },
15)
Lorenz Brun6adf8842021-10-05 13:39:11 +020016
17go_library(
Lorenz Brund13c1c62022-03-30 19:58:58 +020018 name = "metroctl_lib",
Lorenz Brune6573102021-11-02 14:15:37 +010019 srcs = [
Tim Windelschmidtf0ec0f62023-07-17 13:43:38 +020020 "cmd_certs.go",
Serge Bazanskicfbbbdb2023-03-22 17:48:08 +010021 "cmd_install.go",
Serge Bazanski7d1a0de2023-07-05 01:17:15 +020022 "cmd_k8s_configure.go",
Serge Bazanskicfbbbdb2023-03-22 17:48:08 +010023 "cmd_k8scredplugin.go",
24 "cmd_node.go",
25 "cmd_node_approve.go",
Serge Bazanskib91938f2023-03-29 14:31:22 +020026 "cmd_node_logs.go",
Serge Bazanskicfbbbdb2023-03-22 17:48:08 +010027 "cmd_node_set.go",
28 "cmd_takeownership.go",
Lorenz Brune6573102021-11-02 14:15:37 +010029 "main.go",
Mateusz Zalegad5f2f7a2022-07-05 18:48:56 +020030 "rpc.go",
Serge Bazanski504ea312023-03-22 17:47:48 +010031 "table.go",
Serge Bazanskicfbbbdb2023-03-22 17:48:08 +010032 "table_node.go",
Lorenz Brune6573102021-11-02 14:15:37 +010033 ],
Serge Bazanski394b67e2023-07-19 17:34:34 +020034 data = select({
35 ":buildkind_lite": [],
36 "//conditions:default": [
37 "//metropolis/installer:kernel",
38 "//metropolis/node:bundle",
39 ],
40 }),
Lorenz Brun6adf8842021-10-05 13:39:11 +020041 importpath = "source.monogon.dev/metropolis/cli/metroctl",
42 visibility = ["//visibility:private"],
Lorenz Brune6573102021-11-02 14:15:37 +010043 deps = [
Lorenz Brund13c1c62022-03-30 19:58:58 +020044 "//metropolis/cli/metroctl/core",
45 "//metropolis/cli/pkg/context",
46 "//metropolis/cli/pkg/datafile",
Mateusz Zalegac437dc42022-07-07 13:01:43 +020047 "//metropolis/node/core/identity",
Lorenz Brund13c1c62022-03-30 19:58:58 +020048 "//metropolis/node/core/rpc",
Serge Bazanskib91938f2023-03-29 14:31:22 +020049 "//metropolis/pkg/logtree",
Lorenz Brund13c1c62022-03-30 19:58:58 +020050 "//metropolis/proto/api",
Serge Bazanskida114862023-03-29 17:46:42 +020051 "//metropolis/proto/common",
Lorenz Brund13c1c62022-03-30 19:58:58 +020052 "@com_github_adrg_xdg//:xdg",
53 "@com_github_spf13_cobra//:cobra",
54 "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
Lorenz Brun20d1dd12022-07-01 12:21:42 +000055 "@io_k8s_client_go//pkg/apis/clientauthentication/v1:clientauthentication",
Serge Bazanski399ce552022-03-29 12:52:42 +020056 "@org_golang_google_grpc//:go_default_library",
Lorenz Brune6573102021-11-02 14:15:37 +010057 ],
Lorenz Brun6adf8842021-10-05 13:39:11 +020058)
59
60go_binary(
61 name = "metroctl",
Lorenz Brund13c1c62022-03-30 19:58:58 +020062 embed = [":metroctl_lib"],
Lorenz Brun6adf8842021-10-05 13:39:11 +020063 visibility = ["//visibility:public"],
64)
Serge Bazanski504ea312023-03-22 17:47:48 +010065
66go_test(
67 name = "metroctl_test",
68 srcs = ["table_test.go"],
69 embed = [":metroctl_lib"],
70)