constellation/operators/constellation-node-operator/BUILD.bazel
2023-04-18 15:35:15 +02:00

69 lines
2.3 KiB
Python

load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_cross_binary", "go_library")
load("@rules_oci//oci:defs.bzl", "oci_image")
load("@rules_pkg//:pkg.bzl", "pkg_tar")
# gazelle:prefix github.com/edgelesssys/constellation/v2/operators/constellation-node-operator/v2
go_library(
name = "constellation-node-operator_lib",
srcs = ["main.go"],
importpath = "github.com/edgelesssys/constellation/v2/operators/constellation-node-operator/v2",
visibility = ["//visibility:private"],
deps = [
"//3rdparty/node-maintenance-operator/api/v1beta1",
"//operators/constellation-node-operator/api/v1alpha1",
"//operators/constellation-node-operator/controllers",
"//operators/constellation-node-operator/internal/cloud/azure/client",
"//operators/constellation-node-operator/internal/cloud/fake/client",
"//operators/constellation-node-operator/internal/cloud/gcp/client",
"//operators/constellation-node-operator/internal/deploy",
"//operators/constellation-node-operator/internal/etcd",
"//operators/constellation-node-operator/internal/upgrade",
"@io_k8s_apimachinery//pkg/runtime",
"@io_k8s_apimachinery//pkg/util/runtime",
"@io_k8s_client_go//discovery",
"@io_k8s_client_go//kubernetes/scheme",
"@io_k8s_client_go//plugin/pkg/client/auth",
"@io_k8s_sigs_controller_runtime//:controller-runtime",
"@io_k8s_sigs_controller_runtime//pkg/client",
"@io_k8s_sigs_controller_runtime//pkg/healthz",
"@io_k8s_sigs_controller_runtime//pkg/log/zap",
],
)
go_binary(
name = "constellation-node-operator",
embed = [":constellation-node-operator_lib"],
# keep
pure = "on",
visibility = ["//visibility:public"],
)
go_cross_binary(
name = "node_operator_amd64",
platform = "@io_bazel_rules_go//go/toolchain:linux_amd64",
target = ":constellation-node-operator",
visibility = ["//visibility:public"],
)
pkg_tar(
name = "layer",
srcs = [
":node_operator_amd64",
],
mode = "0755",
remap_paths = {"/node_operator_amd64": "/node-operator"},
)
oci_image(
name = "node_operator",
architecture = "amd64",
base = "@distroless_static",
entrypoint = ["/node-operator"],
os = "linux",
tars = [
":layer",
],
visibility = ["//visibility:public"],
)