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 = ["importer.go"], importpath = "kubevirt.io/containerized-data-importer/cmd/cdi-importer", visibility = ["//visibility:private"], deps = [ "//pkg/common:go_default_library", "//pkg/controller/common:go_default_library", "//pkg/image:go_default_library", "//pkg/importer:go_default_library", "//pkg/util:go_default_library", "//pkg/util/prometheus:go_default_library", "//staging/src/kubevirt.io/containerized-data-importer-api/pkg/apis/core/v1beta1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library", "//vendor/k8s.io/klog/v2:go_default_library", "//vendor/k8s.io/utils/ptr:go_default_library", ], ) go_binary( name = "cdi-importer", embed = [":go_default_library"], visibility = ["//visibility:public"], ) pkg_tar( name = "cdi-importer-bin", srcs = [":cdi-importer"], extension = "tar.gz", package_dir = "/usr/bin/", visibility = ["//visibility:private"], ) oci_image( name = "cdi-importer-image", base = ":importer_base", entrypoint = [ "/usr/bin/cdi-importer", "-alsologtostderr", ], tars = [ ":cdi-importer-bin", "//cmd/openstack-populator:openstack-populator-bin", "//cmd/ovirt-populator:ovirt-populator-bin", "//tools/cdi-containerimage-server:cdi-containerimage-server-bin", "//tools/cdi-image-size-detection:cdi-image-size-detection-bin", "//tools/cdi-source-update-poller:cdi-source-update-poller-bin", ], user = "1001", visibility = ["//visibility:public"], ) oci_image( name = "importer_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_importer_base_s390x", ":ca_anchors_tar", ], "@io_bazel_rules_go//go/platform:linux_arm64": [ "//rpm:cdi_importer_base_aarch64", ":ca_anchors_tar", ], "//conditions:default": [ "//rpm:cdi_importer_base_x86_64", ":ca_anchors_tar", ], }), visibility = ["//visibility:private"], ) genrule( name = "ca_anchors", outs = ["tls-ca-bundle.pem"], cmd = "/usr/bin/p11-kit extract --format=pem-bundle --filter=ca-anchors --overwrite --comment --purpose server-auth $@", ) pkg_tar( name = "ca_anchors_tar", srcs = [":ca_anchors"], extension = "tar.gz", package_dir = "/etc/pki/ca-trust/extracted/pem", visibility = ["//visibility:public"], )