blob: 8665c6d32649f653eac875be333850b1dd54ca5b [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
11 "ENUM_VALUE_PREFIX", # TODO: evaluate correctness
12 "ENUM_ZERO_VALUE_SUFFIX", # TODO: evaluate correctness
13 "RPC_REQUEST_STANDARD_NAME", # TODO: evaluate correctness
14 "RPC_RESPONSE_STANDARD_NAME", # TODO: evaluate correctness
15 "SERVICE_SUFFIX", # TODO: evaluate correctness
Tim Windelschmidt3b624072025-01-11 07:16:35 +010016 ],
17 protos = [":api_proto"],
18 use_rules = [
19 "DEFAULT",
20 "COMMENTS",
21 ],
22)
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020023
24proto_library(
25 name = "api_proto",
Serge Bazanskiefdb6e92020-07-13 17:19:27 +020026 srcs = [
Serge Bazanski32d73482021-02-01 23:49:17 +010027 "aaa.proto",
Serge Bazanski0ed2f962021-03-15 16:39:30 +010028 "configuration.proto",
Serge Bazanskiefdb6e92020-07-13 17:19:27 +020029 "debug.proto",
Serge Bazanski6bd41592021-08-23 13:18:37 +020030 "management.proto",
Serge Bazanskiefdb6e92020-07-13 17:19:27 +020031 ],
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020032 visibility = ["//visibility:public"],
Serge Bazanskibc671d02021-10-05 17:53:32 +020033 deps = [
34 "//metropolis/proto/common:common_proto",
35 "//metropolis/proto/ext:ext_proto",
Tim Windelschmidt9f21f532024-05-07 15:14:20 +020036 "//osbase/logtree/proto:proto_proto",
Tim Windelschmidt3b624072025-01-11 07:16:35 +010037 "//osbase/net/proto:proto_proto",
Tim Windelschmidte5e90a82024-07-17 23:46:22 +020038 "@protobuf//:duration_proto",
Serge Bazanski1e399142024-10-22 10:58:15 +000039 "@protobuf//:field_mask_proto",
Serge Bazanskibc671d02021-10-05 17:53:32 +020040 ],
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020041)
42
43go_proto_library(
44 name = "api_go_proto",
45 compilers = ["@io_bazel_rules_go//proto:go_grpc"],
Serge Bazanski31370b02021-01-07 16:31:14 +010046 importpath = "source.monogon.dev/metropolis/proto/api",
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020047 proto = ":api_proto",
48 visibility = ["//visibility:public"],
Serge Bazanskibc671d02021-10-05 17:53:32 +020049 deps = [
Lorenz Brund13c1c62022-03-30 19:58:58 +020050 "//metropolis/proto/common",
51 "//metropolis/proto/ext",
Tim Windelschmidt9f21f532024-05-07 15:14:20 +020052 "//osbase/logtree/proto",
Tim Windelschmidt10ef8f92024-08-13 15:35:10 +020053 "//osbase/net/proto",
Serge Bazanskibc671d02021-10-05 17:53:32 +020054 ],
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020055)
56
57go_library(
Lorenz Brund13c1c62022-03-30 19:58:58 +020058 name = "api",
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020059 embed = [":api_go_proto"],
Serge Bazanski31370b02021-01-07 16:31:14 +010060 importpath = "source.monogon.dev/metropolis/proto/api",
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020061 visibility = ["//visibility:public"],
62)