blob: 2c9a5cd33dcf434c94456cae55c8284772a01ec1 [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")
Jan Schär06341a62025-07-09 08:02:35 +00003load("//build/binary_tarball:def.bzl", "binary_tarball")
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
Jan Schär06341a62025-07-09 08:02:35 +000022binary_tarball(
Tim Windelschmidt5178dd72024-12-04 04:38:45 +010023 name = "mirror_proxy_layer",
Tim Windelschmidt16298982025-06-25 01:08:14 +020024 executable = ":mirror_proxy",
25 visibility = ["//visibility:private"],
Tim Windelschmidt5178dd72024-12-04 04:38:45 +010026)
27
Tim Windelschmidt5178dd72024-12-04 04:38:45 +010028oci_image(
29 name = "mirror_proxy_image",
30 base = "@distroless_base",
31 entrypoint = ["/mirror_proxy"],
32 tars = [":mirror_proxy_layer"],
33 visibility = ["//visibility:public"],
34 workdir = "/app",
35)
36
Tim Windelschmidt5178dd72024-12-04 04:38:45 +010037oci_push(
38 name = "mirror_proxy_push",
39 image = ":mirror_proxy_image",
40 remote_tags = ["latest"],
41 repository = "gcr.io/monogon-infra/build/mirror_proxy",
42)