blob: e98f6303082166c42c038206d67f2010487da11f [file] [log] [blame]
Jan Schär652c2ad2024-11-19 17:40:50 +01001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
2
3go_library(
4 name = "persistentvolume_lib",
5 srcs = ["main.go"],
6 importpath = "source.monogon.dev/metropolis/test/e2e/persistentvolume",
7 visibility = ["//visibility:private"],
Jan Schärbe70c922024-11-21 11:16:03 +01008 deps = [
9 "//osbase/blockdev",
10 "@org_golang_x_sys//unix",
11 ],
Jan Schär652c2ad2024-11-19 17:40:50 +010012)
13
14go_binary(
15 name = "persistentvolume",
16 embed = [":persistentvolume_lib"],
17 pure = "on",
18 visibility = ["//visibility:private"],
19)
20
21load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_binary")
22
23platform_transition_binary(
24 name = "persistentvolume_transitioned",
25 binary = ":persistentvolume",
26 target_platform = "//build/platforms:linux_amd64_static",
27 visibility = ["//visibility:private"],
28)
29
30load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
31
32pkg_tar(
33 name = "persistentvolume_layer",
34 srcs = [":persistentvolume_transitioned"],
35 visibility = ["//visibility:private"],
36)
37
38load("@rules_oci//oci:defs.bzl", "oci_image")
39
40oci_image(
41 name = "persistentvolume_image",
42 base = "@distroless_base",
43 entrypoint = ["/persistentvolume"],
44 tars = [":persistentvolume_layer"],
45 visibility = ["//metropolis/test/e2e:__pkg__"],
46 workdir = "/app",
47)