load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
load("//hack/build/rules/container:index.bzl", "container_push", "go_oci_image")

go_library(
    name = "ctlfish_lib",
    srcs = ["main.go"],
    importpath = "edge-infra.dev/cmd/edge/ctlfish",
    visibility = ["//visibility:private"],
    deps = [
        "//pkg/edge/ctlfish/metrics",
        "//pkg/edge/ctlfish/monitor",
        "//pkg/edge/ctlfish/option",
        "//pkg/lib/logging",
        "@com_google_cloud_go_pubsub//:pubsub",
        "@io_k8s_client_go//discovery",
        "@io_k8s_client_go//dynamic",
        "@io_k8s_client_go//dynamic/dynamicinformer",
        "@io_k8s_client_go//rest",
        "@io_k8s_client_go//tools/clientcmd",
        "@io_k8s_client_go//util/homedir",
    ],
)

go_binary(
    name = "ctlfish",
    embed = [":ctlfish_lib"],
    visibility = ["//visibility:public"],
)

go_oci_image(
    name = "ctlfish_container",
    embed = [":ctlfish_lib"],
    tags = ["manual"],
)

container_push(
    name = "container_push",
    image = ":ctlfish_container",
    image_name = "ctlfish",
    repository_file = "//hack/build/rules/container:workloads-repo",
)