blob: bb39de81ebcfadc0e527fbf5e5f7066f0b8638ee [file] [log] [blame]
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +02001load("@io_bazel_rules_go//go:def.bzl", "go_library")
2load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
Tim Windelschmidt156248b2025-01-10 00:27:45 +01003load("@rules_proto//proto:defs.bzl", "proto_library")
Tim Windelschmidt3b624072025-01-11 07:16:35 +01004load("@rules_proto_grpc_buf//:defs.bzl", "buf_proto_lint_test")
5
6buf_proto_lint_test(
7 name = "api_proto_lint_test",
8 except_rules = [
9 "PACKAGE_VERSION_SUFFIX",
10 "RPC_REQUEST_RESPONSE_UNIQUE", # TODO: evaluate correctness
Tim Windelschmidt3b624072025-01-11 07:16:35 +010011 "ENUM_ZERO_VALUE_SUFFIX", # TODO: evaluate correctness
12 "RPC_REQUEST_STANDARD_NAME", # TODO: evaluate correctness
13 "RPC_RESPONSE_STANDARD_NAME", # TODO: evaluate correctness
14 "SERVICE_SUFFIX", # TODO: evaluate correctness
Tim Windelschmidt3b624072025-01-11 07:16:35 +010015 ],
16 protos = [":api_proto"],
17 use_rules = [
18 "DEFAULT",
19 "COMMENTS",
20 ],
21)
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020022
23proto_library(
24 name = "api_proto",
Serge Bazanskiefdb6e92020-07-13 17:19:27 +020025 srcs = [
Serge Bazanski32d73482021-02-01 23:49:17 +010026 "aaa.proto",
Serge Bazanski0ed2f962021-03-15 16:39:30 +010027 "configuration.proto",
Serge Bazanskiefdb6e92020-07-13 17:19:27 +020028 "debug.proto",
Serge Bazanski6bd41592021-08-23 13:18:37 +020029 "management.proto",
Serge Bazanskiefdb6e92020-07-13 17:19:27 +020030 ],
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020031 visibility = ["//visibility:public"],
Serge Bazanskibc671d02021-10-05 17:53:32 +020032 deps = [
33 "//metropolis/proto/common:common_proto",
34 "//metropolis/proto/ext:ext_proto",
Tim Windelschmidt9f21f532024-05-07 15:14:20 +020035 "//osbase/logtree/proto:proto_proto",
Tim Windelschmidt3b624072025-01-11 07:16:35 +010036 "//osbase/net/proto:proto_proto",
Tim Windelschmidte5e90a82024-07-17 23:46:22 +020037 "@protobuf//:duration_proto",
Serge Bazanski1e399142024-10-22 10:58:15 +000038 "@protobuf//:field_mask_proto",
Serge Bazanskibc671d02021-10-05 17:53:32 +020039 ],
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020040)
41
42go_proto_library(
43 name = "api_go_proto",
44 compilers = ["@io_bazel_rules_go//proto:go_grpc"],
Serge Bazanski31370b02021-01-07 16:31:14 +010045 importpath = "source.monogon.dev/metropolis/proto/api",
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020046 proto = ":api_proto",
47 visibility = ["//visibility:public"],
Serge Bazanskibc671d02021-10-05 17:53:32 +020048 deps = [
Lorenz Brund13c1c62022-03-30 19:58:58 +020049 "//metropolis/proto/common",
50 "//metropolis/proto/ext",
Tim Windelschmidt9f21f532024-05-07 15:14:20 +020051 "//osbase/logtree/proto",
Tim Windelschmidt10ef8f92024-08-13 15:35:10 +020052 "//osbase/net/proto",
Serge Bazanskibc671d02021-10-05 17:53:32 +020053 ],
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020054)
55
56go_library(
Lorenz Brund13c1c62022-03-30 19:58:58 +020057 name = "api",
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020058 embed = [":api_go_proto"],
Serge Bazanski31370b02021-01-07 16:31:14 +010059 importpath = "source.monogon.dev/metropolis/proto/api",
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020060 visibility = ["//visibility:public"],
61)