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") go_library( name = "cmd_lib", srcs = ["main.go"], importpath = "github.com/edgelesssys/constellation/v2/joinservice/cmd", visibility = ["//visibility:private"], deps = [ "//internal/atls", "//internal/attestation/variant", "//internal/cloud/aws", "//internal/cloud/azure", "//internal/cloud/cloudprovider", "//internal/cloud/gcp", "//internal/cloud/metadata", "//internal/cloud/openstack", "//internal/cloud/qemu", "//internal/constants", "//internal/file", "//internal/grpc/atlscredentials", "//internal/logger", "//joinservice/internal/certcache", "//joinservice/internal/kms", "//joinservice/internal/kubeadm", "//joinservice/internal/kubernetes", "//joinservice/internal/kubernetesca", "//joinservice/internal/server", "//joinservice/internal/watcher", "@com_github_spf13_afero//:afero", "@org_uber_go_zap//:zap", ], ) go_binary( name = "cmd", embed = [":cmd_lib"], # keep pure = "on", visibility = ["//visibility:public"], ) go_cross_binary( name = "joinservice_linux_amd64", platform = "@io_bazel_rules_go//go/toolchain:linux_amd64", target = ":cmd", visibility = ["//visibility:public"], ) pkg_tar( name = "layer", srcs = [ ":joinservice_linux_amd64", ], mode = "0755", remap_paths = {"/joinservice_linux_amd64": "/joinservice"}, ) oci_image( name = "joinservice", base = "@distroless_static_linux_amd64", entrypoint = ["/joinservice"], tars = [ ":layer", ], visibility = ["//visibility:public"], )