load("@aspect_bazel_lib//lib:expand_template.bzl", "expand_template")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_cross_binary", "go_library")
load("@rules_oci//oci:defs.bzl", "oci_image", "oci_push", "oci_tarball")
load("@rules_pkg//:pkg.bzl", "pkg_tar")
go_library(
name = "cmd_lib",
srcs = ["main.go"],
importpath = "github.com/Baitinq/fs-tracer-backend/src/payload-processor/cmd",
visibility = ["//visibility:private"],
deps = [
"//src/payload-processor/processor",
"@com_github_jmoiron_sqlx//:sqlx",
"@com_github_lib_pq//:pq",
"@com_github_segmentio_kafka_go//:kafka-go",
"@com_github_segmentio_kafka_go//sasl/plain",
],
)
go_binary(
name = "cmd",
embed = [":cmd_lib"],
visibility = ["//visibility:public"],
)
go_cross_binary(
name = "cmd_arm64",
platform = "@io_bazel_rules_go//go/toolchain:linux_arm64",
target = ":cmd",
visibility = ["//visibility:public"],
)
pkg_tar(
name = "tar",
srcs = [":cmd_arm64"],
)
oci_image(
name = "image",
base = "@distroless_base",
entrypoint = ["/cmd_arm64"],
# architecture = "arm64",
# os = "linux",
tars = [":tar"],
)
oci_tarball(
name = "tarball",
image = ":image",
repo_tags = [],
)
expand_template(
name = "stamped",
out = "_stamped.tags.txt",
stamp = 1,
stamp_substitutions = {"tag": "payload-processor-{{STABLE_GIT_SHA}}"},
template = ["tag"],
)
oci_push(
name = "push",
image = ":image",
remote_tags = ":stamped",
repository = "docker.io/baitinq/fs-tracer",
visibility = ["//visibility:public"],
)