load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") load("@rules_oci//oci:defs.bzl", "oci_image") load("@rules_pkg//:pkg.bzl", "pkg_tar") go_library( name = "go_default_library", srcs = ["uploadserver.go"], importpath = "kubevirt.io/containerized-data-importer/cmd/cdi-uploadserver", visibility = ["//visibility:private"], deps = [ "//pkg/common:go_default_library", "//pkg/uploadserver:go_default_library", "//pkg/util:go_default_library", "//pkg/util/tls-crypto-watch:go_default_library", "//vendor/github.com/openshift/library-go/pkg/crypto:go_default_library", "//vendor/k8s.io/klog/v2:go_default_library", "//vendor/k8s.io/utils/ptr:go_default_library", ], ) go_binary( name = "cdi-uploadserver", embed = [":go_default_library"], visibility = ["//visibility:private"], ) pkg_tar( name = "cdi-uploadserver-bin", srcs = [":cdi-uploadserver"], extension = "tar.gz", package_dir = "/usr/bin/", visibility = ["//visibility:private"], ) oci_image( name = "cdi-uploadserver-image", base = ":uploadserver-base", entrypoint = [ "/usr/bin/cdi-uploadserver", "-alsologtostderr", ], tars = [":cdi-uploadserver-bin"], user = "1001", visibility = ["//visibility:public"], ) oci_image( name = "uploadserver-base", architecture = select({ "@io_bazel_rules_go//go/platform:linux_s390x": "s390x", "@io_bazel_rules_go//go/platform:linux_arm64": "arm64", "//conditions:default": "amd64", }), os = "linux", tars = select({ "@io_bazel_rules_go//go/platform:linux_s390x": [ "//rpm:cdi_uploadserver_base_s390x", ], "@io_bazel_rules_go//go/platform:linux_arm64": [ "//rpm:cdi_uploadserver_base_aarch64", ], "//conditions:default": [ "//rpm:cdi_uploadserver_base_x86_64", ], }), visibility = ["//visibility:private"], )