constellation/bootstrapper/internal/joinclient/BUILD.bazel
Daniel Weiße 1077b7a48e
bootstrapper: wipe disk and reboot on non-recoverable error (#2971)
* Let JoinClient return fatal errors
* Mark disk for wiping if JoinClient or InitServer return errors
* Reboot system if bootstrapper detects an error
* Refactor joinClient start/stop implementation
* Fix joining nodes retrying kubeadm 3 times in all cases
* Write non-recoverable failures to syslog before rebooting

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-03-12 11:43:38 +01:00

55 lines
1.7 KiB
Python

load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("//bazel/go:go_test.bzl", "go_test")
go_library(
name = "joinclient",
srcs = ["joinclient.go"],
importpath = "github.com/edgelesssys/constellation/v2/bootstrapper/internal/joinclient",
visibility = ["//bootstrapper:__subpackages__"],
deps = [
"//bootstrapper/internal/certificate",
"//internal/attestation",
"//internal/cloud/metadata",
"//internal/constants",
"//internal/file",
"//internal/nodestate",
"//internal/role",
"//internal/versions/components",
"//joinservice/joinproto",
"@com_github_spf13_afero//:afero",
"@io_k8s_kubernetes//cmd/kubeadm/app/apis/kubeadm/v1beta3",
"@io_k8s_kubernetes//cmd/kubeadm/app/constants",
"@io_k8s_utils//clock",
"@org_golang_google_grpc//:go_default_library",
],
)
go_test(
name = "joinclient_test",
srcs = ["joinclient_test.go"],
embed = [":joinclient"],
# keep
pure = "on",
# keep
race = "off",
deps = [
"//internal/cloud/metadata",
"//internal/constants",
"//internal/file",
"//internal/grpc/atlscredentials",
"//internal/grpc/dialer",
"//internal/grpc/testdialer",
"//internal/logger",
"//internal/role",
"//internal/versions/components",
"//joinservice/joinproto",
"@com_github_spf13_afero//:afero",
"@com_github_stretchr_testify//assert",
"@com_github_stretchr_testify//require",
"@io_k8s_kubernetes//cmd/kubeadm/app/apis/kubeadm/v1beta3",
"@io_k8s_utils//clock/testing",
"@org_golang_google_grpc//:go_default_library",
"@org_uber_go_goleak//:goleak",
],
)