blob: 0cafbbcbc9a08ae2c621e547d045bb387fe9a743 [file] [log] [blame]
Tim Windelschmidt5178dd72024-12-04 04:38:45 +01001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
Tim Windelschmidt156248b2025-01-10 00:27:45 +01002load("@rules_oci//oci:defs.bzl", "oci_image", "oci_push")
3load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
Tim Windelschmidt5178dd72024-12-04 04:38:45 +01004
5go_library(
6 name = "mirror_proxy_lib",
7 srcs = ["main.go"],
8 importpath = "source.monogon.dev/build/mirror_proxy",
9 visibility = ["//visibility:private"],
10 deps = [
11 "@com_google_cloud_go_storage//:storage",
12 "@org_golang_google_api//option",
13 ],
14)
15
16go_binary(
17 name = "mirror_proxy",
18 embed = [":mirror_proxy_lib"],
19 visibility = ["//visibility:public"],
20)
21
Tim Windelschmidt5178dd72024-12-04 04:38:45 +010022pkg_tar(
23 name = "mirror_proxy_layer",
24 srcs = [":mirror_proxy"],
25)
26
Tim Windelschmidt5178dd72024-12-04 04:38:45 +010027oci_image(
28 name = "mirror_proxy_image",
29 base = "@distroless_base",
30 entrypoint = ["/mirror_proxy"],
31 tars = [":mirror_proxy_layer"],
32 visibility = ["//visibility:public"],
33 workdir = "/app",
34)
35
Tim Windelschmidt5178dd72024-12-04 04:38:45 +010036oci_push(
37 name = "mirror_proxy_push",
38 image = ":mirror_proxy_image",
39 remote_tags = ["latest"],
40 repository = "gcr.io/monogon-infra/build/mirror_proxy",
41)