load("@container_structure_test//:defs.bzl", "container_structure_test") load("@rules_oci//oci:defs.bzl", "oci_image", "oci_load") load("@rules_pkg//:pkg.bzl", "pkg_tar") load("//hack/build/rules/container:index.bzl", "container_push") # TODO: should be rootless pkg_tar( name = "kubectl_tar", extension = "tgz", files = { "//hack/tools:kubectl": "kubectl", }, mode = "755", package_dir = "/usr/local/bin", tags = ["manual"], ) oci_image( name = "container", base = "@distroless_base", entrypoint = ["/usr/local/bin/kubectl"], tags = ["manual"], tars = [ ":kubectl_tar", ], ) oci_load( name = "kubectl-oci-load", image = ":container", repo_tags = ["kubectl-oci:latest"], tags = ["manual"], ) filegroup( name = "kubectl-oci.tar", srcs = [":kubectl-oci-load"], output_group = "tarball", ) container_structure_test( name = "kubectl-test", configs = [":kubectl-test.yaml"], driver = "tar", image = ":kubectl-oci.tar", ) container_push( image = ":container", image_name = "kubectl", repository_file = "//hack/build/rules/container:workloads-repo", tags = ["manual"], )