| Serge Bazanski | e0c0617 | 2023-09-19 12:28:16 +0000 | [diff] [blame] | 1 | load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") |
| Serge Bazanski | 394b67e | 2023-07-19 17:34:34 +0200 | [diff] [blame] | 2 | load(":defs.bzl", "buildkind") |
| 3 | |
| 4 | buildkind( |
| 5 | name = "buildkind", |
| 6 | build_setting_default = "full", |
| 7 | ) |
| 8 | |
| 9 | # True if user requested a lite build via --//metropolis/cli/metroctl:buildkind=lite . |
| 10 | config_setting( |
| 11 | name = "buildkind_lite", |
| 12 | flag_values = { |
| 13 | ":buildkind": "lite", |
| 14 | }, |
| 15 | ) |
| Lorenz Brun | 6adf884 | 2021-10-05 13:39:11 +0200 | [diff] [blame] | 16 | |
| 17 | go_library( |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 18 | name = "metroctl_lib", |
| Lorenz Brun | e657310 | 2021-11-02 14:15:37 +0100 | [diff] [blame] | 19 | srcs = [ |
| Tim Windelschmidt | f0ec0f6 | 2023-07-17 13:43:38 +0200 | [diff] [blame] | 20 | "cmd_certs.go", |
| Serge Bazanski | beec27c | 2024-10-31 12:27:08 +0000 | [diff] [blame] | 21 | "cmd_cluster.go", |
| Serge Bazanski | b701df9 | 2024-10-31 14:15:33 +0000 | [diff] [blame] | 22 | "cmd_cluster_configure.go", |
| Serge Bazanski | beec27c | 2024-10-31 12:27:08 +0000 | [diff] [blame] | 23 | "cmd_cluster_takeownership.go", |
| Serge Bazanski | cfbbbdb | 2023-03-22 17:48:08 +0100 | [diff] [blame] | 24 | "cmd_install.go", |
| Tim Windelschmidt | 7a1b27d | 2024-02-22 23:54:58 +0100 | [diff] [blame] | 25 | "cmd_install_ssh.go", |
| Tim Windelschmidt | 7006caf | 2024-02-27 16:49:39 +0100 | [diff] [blame] | 26 | "cmd_install_usb.go", |
| Serge Bazanski | 7d1a0de | 2023-07-05 01:17:15 +0200 | [diff] [blame] | 27 | "cmd_k8s_configure.go", |
| Serge Bazanski | cfbbbdb | 2023-03-22 17:48:08 +0100 | [diff] [blame] | 28 | "cmd_k8scredplugin.go", |
| 29 | "cmd_node.go", |
| 30 | "cmd_node_approve.go", |
| Serge Bazanski | b91938f | 2023-03-29 14:31:22 +0200 | [diff] [blame] | 31 | "cmd_node_logs.go", |
| Serge Bazanski | a3e38cf | 2024-07-31 14:40:04 +0000 | [diff] [blame] | 32 | "cmd_node_metrics.go", |
| Serge Bazanski | cfbbbdb | 2023-03-22 17:48:08 +0100 | [diff] [blame] | 33 | "cmd_node_set.go", |
| Lorenz Brun | e657310 | 2021-11-02 14:15:37 +0100 | [diff] [blame] | 34 | "main.go", |
| Mateusz Zalega | d5f2f7a | 2022-07-05 18:48:56 +0200 | [diff] [blame] | 35 | "rpc.go", |
| Serge Bazanski | cfbbbdb | 2023-03-22 17:48:08 +0100 | [diff] [blame] | 36 | "table_node.go", |
| Lorenz Brun | e657310 | 2021-11-02 14:15:37 +0100 | [diff] [blame] | 37 | ], |
| Lorenz Brun | 6adf884 | 2021-10-05 13:39:11 +0200 | [diff] [blame] | 38 | importpath = "source.monogon.dev/metropolis/cli/metroctl", |
| 39 | visibility = ["//visibility:private"], |
| Lorenz Brun | e657310 | 2021-11-02 14:15:37 +0100 | [diff] [blame] | 40 | deps = [ |
| Serge Bazanski | e0c0617 | 2023-09-19 12:28:16 +0000 | [diff] [blame] | 41 | "//go/clitable", |
| Serge Bazanski | ca8d951 | 2024-09-12 14:20:57 +0200 | [diff] [blame] | 42 | "//go/logging", |
| Tim Windelschmidt | 7a1b27d | 2024-02-22 23:54:58 +0100 | [diff] [blame] | 43 | "//go/net/ssh", |
| Jan Schär | a9b060b | 2024-08-07 10:42:29 +0200 | [diff] [blame] | 44 | "//metropolis/cli/flagdefs", |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 45 | "//metropolis/cli/metroctl/core", |
| Serge Bazanski | a3e38cf | 2024-07-31 14:40:04 +0000 | [diff] [blame] | 46 | "//metropolis/node", |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 47 | "//metropolis/node/core/rpc", |
| Serge Bazanski | 925ec3d | 2024-02-05 14:38:20 +0100 | [diff] [blame] | 48 | "//metropolis/node/core/rpc/resolver", |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 49 | "//metropolis/proto/api", |
| Serge Bazanski | da11486 | 2023-03-29 17:46:42 +0200 | [diff] [blame] | 50 | "//metropolis/proto/common", |
| Tim Windelschmidt | 9f21f53 | 2024-05-07 15:14:20 +0200 | [diff] [blame] | 51 | "//osbase/logtree", |
| 52 | "//osbase/logtree/proto", |
| Jan Schär | c1b6df4 | 2025-03-20 08:52:18 +0000 | [diff] [blame] | 53 | "//osbase/structfs", |
| Serge Bazanski | 0ccc85b | 2023-11-20 12:59:20 +0100 | [diff] [blame] | 54 | "//version", |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 55 | "@com_github_adrg_xdg//:xdg", |
| Tim Windelschmidt | 7a1b27d | 2024-02-22 23:54:58 +0100 | [diff] [blame] | 56 | "@com_github_schollz_progressbar_v3//:progressbar", |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 57 | "@com_github_spf13_cobra//:cobra", |
| Tim Windelschmidt | 156248b | 2025-01-10 00:27:45 +0100 | [diff] [blame] | 58 | "@io_bazel_rules_go//go/runfiles", |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 59 | "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", |
| Lorenz Brun | 20d1dd1 | 2022-07-01 12:21:42 +0000 | [diff] [blame] | 60 | "@io_k8s_client_go//pkg/apis/clientauthentication/v1:clientauthentication", |
| Tim Windelschmidt | d77e26e | 2024-12-02 18:23:10 +0100 | [diff] [blame] | 61 | "@io_k8s_utils//ptr", |
| Tim Windelschmidt | 3325b4b | 2024-07-15 19:19:49 +0200 | [diff] [blame] | 62 | "@org_golang_google_grpc//:grpc", |
| Timon Stampfli | b9701c3 | 2024-12-15 17:50:01 +0100 | [diff] [blame] | 63 | "@org_golang_google_protobuf//encoding/prototext", |
| Tim Windelschmidt | 7a1b27d | 2024-02-22 23:54:58 +0100 | [diff] [blame] | 64 | "@org_golang_google_protobuf//proto", |
| Serge Bazanski | b701df9 | 2024-10-31 14:15:33 +0000 | [diff] [blame] | 65 | "@org_golang_google_protobuf//types/known/fieldmaskpb", |
| Tim Windelschmidt | 7a1b27d | 2024-02-22 23:54:58 +0100 | [diff] [blame] | 66 | "@org_golang_x_crypto//ssh", |
| 67 | "@org_golang_x_crypto//ssh/agent", |
| Serge Bazanski | a3e38cf | 2024-07-31 14:40:04 +0000 | [diff] [blame] | 68 | "@org_golang_x_net//proxy", |
| Lorenz Brun | 9ce4071 | 2024-02-13 21:54:46 +0100 | [diff] [blame] | 69 | "@org_golang_x_sync//semaphore", |
| Tim Windelschmidt | 7a1b27d | 2024-02-22 23:54:58 +0100 | [diff] [blame] | 70 | "@org_golang_x_term//:term", |
| Lorenz Brun | e657310 | 2021-11-02 14:15:37 +0100 | [diff] [blame] | 71 | ], |
| Lorenz Brun | 6adf884 | 2021-10-05 13:39:11 +0200 | [diff] [blame] | 72 | ) |
| 73 | |
| 74 | go_binary( |
| 75 | name = "metroctl", |
| Tim Windelschmidt | 6120f38 | 2024-09-03 16:31:10 +0200 | [diff] [blame] | 76 | data = select({ |
| 77 | ":buildkind_lite": [], |
| 78 | "//conditions:default": [ |
| Tim Windelschmidt | 7a1b27d | 2024-02-22 23:54:58 +0100 | [diff] [blame] | 79 | "//metropolis/cli/takeover", |
| Tim Windelschmidt | 6120f38 | 2024-09-03 16:31:10 +0200 | [diff] [blame] | 80 | "//metropolis/installer:kernel", |
| 81 | "//metropolis/node:bundle", |
| 82 | ], |
| 83 | }), |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 84 | embed = [":metroctl_lib"], |
| Lorenz Brun | 6adf884 | 2021-10-05 13:39:11 +0200 | [diff] [blame] | 85 | visibility = ["//visibility:public"], |
| 86 | ) |
| Tim Windelschmidt | 6120f38 | 2024-09-03 16:31:10 +0200 | [diff] [blame] | 87 | |
| 88 | # metroctl_lite is the same binary as normal metroctl, but without any data |
| 89 | # dependencies. |
| 90 | go_binary( |
| 91 | name = "metroctl_lite", |
| 92 | data = [], |
| 93 | embed = [":metroctl_lib"], |
| 94 | visibility = ["//metropolis:__subpackages__"], |
| 95 | ) |