load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") load("//hack/tools/controller-gen:controller-gen.bzl", "gen_rbac") gen_rbac( name = "gen_rbac", outpath_relative_to_repo_root = True, pkg = "pkg/sds/ien/k8s/controllers/pxe", rbac_out_path = "config/pallets/sds/pxe/base/controller", role_name = "pxe-controller", ) go_library( name = "pxe", srcs = [ "controller.go", "provisioner.go", "scaler.go", "ssa.go", ], importpath = "edge-infra.dev/pkg/sds/ien/k8s/controllers/pxe", visibility = ["//visibility:public"], deps = [ "//pkg/edge/info", "//pkg/edge/k8objectsutils", "//pkg/k8s/decoder", "//pkg/k8s/runtime/controller", "//pkg/k8s/runtime/controller/reconcile", "//pkg/k8s/runtime/inventory", "//pkg/k8s/runtime/patch", "//pkg/k8s/runtime/sap", "//pkg/k8s/unstructured", "//pkg/lib/fog", "//pkg/sds/ien/bootoptions", "//pkg/sds/ien/k8s/apis/v1:apis", "//pkg/sds/ien/k8s/controllers/pxe/apis/v1:apis", "//pkg/sds/ien/k8s/controllers/pxe/common", "//pkg/sds/ien/k8s/controllers/pxe/dnsmasq", "//pkg/sds/ien/k8s/controllers/pxe/staticfileserver", "@com_github_go_logr_logr//:logr", "@com_github_kvaps_dnsmasq_controller//api/v1beta1", "@io_k8s_api//apps/v1:apps", "@io_k8s_api//core/v1:core", "@io_k8s_apimachinery//pkg/api/errors", "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", "@io_k8s_apimachinery//pkg/fields", "@io_k8s_apimachinery//pkg/runtime", "@io_k8s_apimachinery//pkg/types", "@io_k8s_apimachinery//pkg/util/runtime", "@io_k8s_client_go//dynamic", "@io_k8s_client_go//kubernetes/scheme", "@io_k8s_client_go//rest", "@io_k8s_sigs_cli_utils//pkg/kstatus/watcher", "@io_k8s_sigs_controller_runtime//:controller-runtime", "@io_k8s_sigs_controller_runtime//pkg/builder", "@io_k8s_sigs_controller_runtime//pkg/cache", "@io_k8s_sigs_controller_runtime//pkg/client", "@io_k8s_sigs_controller_runtime//pkg/controller/controllerutil", "@io_k8s_sigs_controller_runtime//pkg/event", "@io_k8s_sigs_controller_runtime//pkg/handler", "@io_k8s_sigs_controller_runtime//pkg/manager", "@io_k8s_sigs_controller_runtime//pkg/predicate", "@io_k8s_sigs_controller_runtime//pkg/reconcile", ], ) go_test( name = "pxe_test", srcs = ["provisioner_test.go"], data = [ ":test_manifest.yaml", "//hack/tools:etcd", "//hack/tools:kube-apiserver", "//hack/tools:kubectl", ], embed = [":pxe"], deps = [ "//pkg/k8s/runtime/controller", "//pkg/lib/logging", "//pkg/sds/ien/k8s/apis/v1:apis", "//test", "//test/framework", "//test/framework/integration", "//test/framework/k8s", "//test/framework/k8s/envtest", "@com_github_stretchr_testify//suite", "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", "@io_k8s_apimachinery//pkg/types", "@io_k8s_sigs_controller_runtime//:controller-runtime", ], )