blob: 580e184e249775493574ceef5197708e5a60b9c6 [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",
Tim Windelschmidtf4d38752025-01-22 21:59:59 +010010 "ENUM_ZERO_VALUE_SUFFIX",
Tim Windelschmidt5ffa6362025-01-28 19:20:06 +010011 "RPC_REQUEST_RESPONSE_UNIQUE",
12 "RPC_REQUEST_STANDARD_NAME",
13 "RPC_RESPONSE_STANDARD_NAME",
Tim Windelschmidtf525fa72025-01-28 15:31:42 +010014 "SERVICE_SUFFIX",
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",
Tim Windelschmidtd4817492025-06-16 15:03:12 +020044 compilers = [
45 "@io_bazel_rules_go//proto:go_proto",
46 "@io_bazel_rules_go//proto:go_grpc_v2",
47 ],
Serge Bazanski31370b02021-01-07 16:31:14 +010048 importpath = "source.monogon.dev/metropolis/proto/api",
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020049 proto = ":api_proto",
50 visibility = ["//visibility:public"],
Serge Bazanskibc671d02021-10-05 17:53:32 +020051 deps = [
Lorenz Brund13c1c62022-03-30 19:58:58 +020052 "//metropolis/proto/common",
53 "//metropolis/proto/ext",
Tim Windelschmidt9f21f532024-05-07 15:14:20 +020054 "//osbase/logtree/proto",
Tim Windelschmidt10ef8f92024-08-13 15:35:10 +020055 "//osbase/net/proto",
Serge Bazanskibc671d02021-10-05 17:53:32 +020056 ],
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020057)
58
59go_library(
Lorenz Brund13c1c62022-03-30 19:58:58 +020060 name = "api",
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020061 embed = [":api_go_proto"],
Serge Bazanski31370b02021-01-07 16:31:14 +010062 importpath = "source.monogon.dev/metropolis/proto/api",
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020063 visibility = ["//visibility:public"],
64)