load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("//bazel/go:go_test.bzl", "go_test")

go_library(
    name = "kubernetes",
    srcs = [
        "cloud_provider.go",
        "k8sutil.go",
        "kubernetes.go",
    ],
    importpath = "github.com/edgelesssys/constellation/v2/bootstrapper/internal/kubernetes",
    visibility = ["//bootstrapper:__subpackages__"],
    deps = [
        "//bootstrapper/internal/kubernetes/k8sapi",
        "//bootstrapper/internal/kubernetes/kubewaiter",
        "//internal/cloud/azureshared",
        "//internal/cloud/cloudprovider",
        "//internal/cloud/gcpshared",
        "//internal/cloud/metadata",
        "//internal/cloud/openstack",
        "//internal/constants",
        "//internal/deploy/helm",
        "//internal/kubernetes",
        "//internal/logger",
        "//internal/role",
        "//internal/versions/components",
        "@io_k8s_api//core/v1:core",
        "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
        "@io_k8s_kubernetes//cmd/kubeadm/app/apis/kubeadm/v1beta3",
        "@org_uber_go_zap//:zap",
    ],
)

go_test(
    name = "kubernetes_test",
    srcs = ["kubernetes_test.go"],
    embed = [":kubernetes"],
    deps = [
        "//bootstrapper/internal/kubernetes/k8sapi",
        "//bootstrapper/internal/kubernetes/kubewaiter",
        "//internal/cloud/metadata",
        "//internal/constants",
        "//internal/deploy/helm",
        "//internal/kubernetes",
        "//internal/logger",
        "//internal/role",
        "//internal/versions",
        "//internal/versions/components",
        "@com_github_stretchr_testify//assert",
        "@com_github_stretchr_testify//require",
        "@io_k8s_api//core/v1:core",
        "@io_k8s_kubernetes//cmd/kubeadm/app/apis/kubeadm/v1beta3",
        "@org_uber_go_goleak//:goleak",
    ],
)