Skip to content

Commit be4ebe0

Browse files
committed
Add envoy_api
1 parent aecf8df commit be4ebe0

File tree

6 files changed

+353
-0
lines changed

6 files changed

+353
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
module(
2+
name = "envoy_api",
3+
version = "0.0.0-20241214-918efc9",
4+
)
5+
6+
bazel_dep(name = "abseil-cpp", version = "20240116.2", repo_name = "com_google_absl")
7+
bazel_dep(name = "bazel_skylib", version = "1.7.1")
8+
bazel_dep(name = "gazelle", version = "0.36.0", repo_name = "bazel_gazelle")
9+
bazel_dep(name = "googleapis", version = "0.0.0-20240326-1c8d509c5", repo_name = "com_google_googleapis")
10+
bazel_dep(name = "googletest", version = "1.14.0.bcr.1", repo_name = "com_google_googletest")
11+
bazel_dep(name = "grpc", version = "1.62.1", repo_name = "com_github_grpc_grpc")
12+
bazel_dep(name = "opencensus-proto", version = "0.4.1", repo_name = "opencensus_proto")
13+
bazel_dep(name = "opentelemetry-proto", version = "1.4.0.bcr.1", repo_name = "opentelemetry_proto")
14+
bazel_dep(name = "protobuf", version = "29.0", repo_name = "com_google_protobuf")
15+
bazel_dep(name = "protoc-gen-validate", version = "1.0.4.bcr.2", repo_name = "com_envoyproxy_protoc_gen_validate")
16+
bazel_dep(name = "re2", version = "2024-05-01", repo_name = "com_googlesource_code_re2")
17+
bazel_dep(name = "rules_go", version = "0.48.0", repo_name = "io_bazel_rules_go")
18+
bazel_dep(name = "rules_proto", version = "7.0.2")
19+
bazel_dep(name = "rules_python", version = "0.40.0")
20+
bazel_dep(name = "xds", version = "0.0.0-20240423-555b57e", repo_name = "com_github_cncf_xds")
21+
22+
switched_rules = use_extension("@com_google_googleapis//:extensions.bzl", "switched_rules")
23+
switched_rules.use_languages(
24+
cc = True,
25+
go = True,
26+
)
27+
28+
non_module_deps = use_extension("//bazel:repositories.bzl", "non_module_deps")
29+
use_repo(
30+
non_module_deps,
31+
"com_github_bufbuild_buf",
32+
"envoy_toolshed",
33+
"prometheus_metrics_model",
34+
)
35+
36+
go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps")
37+
go_deps.module(
38+
path = "github.com/planetscale/vtprotobuf",
39+
sum = "h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo=",
40+
version = "v0.6.1-0.20240319094008-0393e58bdf10",
41+
)
42+
go_deps.module(
43+
path = "google.golang.org/protobuf",
44+
sum = "h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=",
45+
version = "v1.31.0",
46+
)
47+
go_deps.module(
48+
path = "google.golang.org/genproto/googleapis/rpc",
49+
sum = "h1:Elxv5MwEkCI9f5SkoL6afed6NTdxaGoAo39eANBwHL8=",
50+
version = "v0.0.0-20240521202816-d264139d666e",
51+
)
52+
go_deps.module(
53+
path = "google.golang.org/genproto/googleapis/api",
54+
sum = "h1:SkdGTrROJl2jRGT/Fxv5QUf9jtdKCQh4KQJXbXVLAi0=",
55+
version = "v0.0.0-20240521202816-d264139d666e",
56+
)
57+
go_deps.module(
58+
path = "github.com/golang/protobuf",
59+
sum = "h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=",
60+
version = "v1.5.4",
61+
)
62+
use_repo(
63+
go_deps,
64+
"com_github_golang_protobuf",
65+
"com_github_planetscale_vtprotobuf",
66+
"org_golang_google_genproto_googleapis_api",
67+
"org_golang_google_genproto_googleapis_rpc",
68+
"org_golang_google_protobuf",
69+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
diff --git a/bazel/api_build_system.bzl b/bazel/api_build_system.bzl
2+
index 729e7716..563c9467 100644
3+
--- a/bazel/api_build_system.bzl
4+
+++ b/bazel/api_build_system.bzl
5+
@@ -23,6 +23,7 @@ _CC_GRPC_SUFFIX = "_cc_grpc"
6+
_GO_PROTO_SUFFIX = "_go_proto"
7+
_GO_IMPORTPATH_PREFIX = "github.com/envoyproxy/go-control-plane/"
8+
_JAVA_PROTO_SUFFIX = "_java_proto"
9+
+_IS_BZLMOD = str(Label("//:invalid")).startswith("@@")
10+
11+
_COMMON_PROTO_DEPS = [
12+
"@com_google_protobuf//:any_proto",
13+
@@ -42,7 +43,8 @@ _COMMON_PROTO_DEPS = [
14+
def _proto_mapping(dep, proto_dep_map, proto_suffix):
15+
mapped = proto_dep_map.get(dep)
16+
if mapped == None:
17+
- prefix = "@" + Label(dep).workspace_name if not dep.startswith("//") else ""
18+
+ prefix = "@@" if _IS_BZLMOD else "@"
19+
+ prefix = prefix + Label(dep).repo_name if not dep.startswith("//") else ""
20+
return prefix + "//" + Label(dep).package + ":" + Label(dep).name + proto_suffix
21+
return mapped
22+
23+
diff --git a/bazel/cc_proto_descriptor_library/BUILD b/bazel/cc_proto_descriptor_library/BUILD
24+
index 993d1080..6d013919 100644
25+
--- a/bazel/cc_proto_descriptor_library/BUILD
26+
+++ b/bazel/cc_proto_descriptor_library/BUILD
27+
@@ -37,7 +37,6 @@ cc_library(
28+
"@com_google_absl//absl/strings:str_format",
29+
"@com_google_protobuf//:protobuf",
30+
"@com_google_protobuf//src/google/protobuf/compiler:code_generator",
31+
- "@com_google_protobuf//src/google/protobuf/compiler:retention",
32+
],
33+
)
34+
35+
diff --git a/bazel/external_proto_deps.bzl b/bazel/external_proto_deps.bzl
36+
index 5f08d68e..da477d5b 100644
37+
--- a/bazel/external_proto_deps.bzl
38+
+++ b/bazel/external_proto_deps.bzl
39+
@@ -12,7 +12,7 @@ EXTERNAL_PROTO_IMPORT_BAZEL_DEP_MAP = {
40+
"google/api/expr/v1alpha1/checked.proto": "@com_google_googleapis//google/api/expr/v1alpha1:checked_proto",
41+
"google/api/expr/v1alpha1/syntax.proto": "@com_google_googleapis//google/api/expr/v1alpha1:syntax_proto",
42+
"io/prometheus/client/metrics.proto": "@prometheus_metrics_model//:client_model",
43+
- "opentelemetry/proto/common/v1/common.proto": "@opentelemetry_proto//:common",
44+
+ "opentelemetry/proto/common/v1/common.proto": "@opentelemetry_proto//:common_proto",
45+
}
46+
47+
# This maps from the Bazel proto_library target to the Go language binding target for external dependencies.
48+
@@ -28,18 +28,24 @@ EXTERNAL_PROTO_GO_BAZEL_DEP_MAP = {
49+
# go_googleapis in https://github.com/bazelbuild/rules_go/blob/master/go/dependencies.rst#overriding-dependencies
50+
"@com_google_googleapis//google/api/expr/v1alpha1:checked_proto": "@org_golang_google_genproto_googleapis_api//expr/v1alpha1",
51+
"@com_google_googleapis//google/api/expr/v1alpha1:syntax_proto": "@org_golang_google_genproto_googleapis_api//expr/v1alpha1",
52+
- "@opentelemetry_proto//:trace": "@opentelemetry_proto//:trace_go_proto",
53+
- "@opentelemetry_proto//:logs": "@opentelemetry_proto//:logs_go_proto",
54+
- "@opentelemetry_proto//:metrics": "@opentelemetry_proto//:metrics_go_proto",
55+
- "@opentelemetry_proto//:common": "@opentelemetry_proto//:common_go_proto",
56+
+ "@opentelemetry_proto//:trace_proto": "@opentelemetry_proto//:trace_proto_go",
57+
+ "@opentelemetry_proto//:trace_service_proto": "@opentelemetry_proto//:trace_service_grpc_go",
58+
+ "@opentelemetry_proto//:logs_proto": "@opentelemetry_proto//:logs_proto_go",
59+
+ "@opentelemetry_proto//:logs_service_proto": "@opentelemetry_proto//:logs_service_grpc_go",
60+
+ "@opentelemetry_proto//:metrics_proto": "@opentelemetry_proto//:metrics_proto_go",
61+
+ "@opentelemetry_proto//:metrics_service_proto": "@opentelemetry_proto//:metrics_service_grpc_go",
62+
+ "@opentelemetry_proto//:common_proto": "@opentelemetry_proto//:common_proto_go",
63+
}
64+
65+
# This maps from the Bazel proto_library target to the C++ language binding target for external dependencies.
66+
EXTERNAL_PROTO_CC_BAZEL_DEP_MAP = {
67+
"@com_google_googleapis//google/api/expr/v1alpha1:checked_proto": "@com_google_googleapis//google/api/expr/v1alpha1:checked_cc_proto",
68+
"@com_google_googleapis//google/api/expr/v1alpha1:syntax_proto": "@com_google_googleapis//google/api/expr/v1alpha1:syntax_cc_proto",
69+
- "@opentelemetry_proto//:trace": "@opentelemetry_proto//:trace_cc_proto",
70+
- "@opentelemetry_proto//:logs": "@opentelemetry_proto//:logs_cc_proto",
71+
- "@opentelemetry_proto//:metrics": "@opentelemetry_proto//:metrics_cc_proto",
72+
- "@opentelemetry_proto//:common": "@opentelemetry_proto//:common_cc_proto",
73+
+ "@opentelemetry_proto//:trace_proto": "@opentelemetry_proto//:trace_proto_cc",
74+
+ "@opentelemetry_proto//:trace_service_proto": "@opentelemetry_proto//:trace_service_grpc_cc",
75+
+ "@opentelemetry_proto//:logs_proto": "@opentelemetry_proto//:logs_proto_cc",
76+
+ "@opentelemetry_proto//:logs_service_proto": "@opentelemetry_proto//:logs_service_grpc_cc",
77+
+ "@opentelemetry_proto//:metrics_proto": "@opentelemetry_proto//:metrics_proto_cc",
78+
+ "@opentelemetry_proto//:metrics_service_proto": "@opentelemetry_proto//:metrics_service_grpc_cc",
79+
+ "@opentelemetry_proto//:common_proto": "@opentelemetry_proto//:common_proto_cc",
80+
}
81+
diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl
82+
index ebf04fd2..058b05aa 100644
83+
--- a/bazel/repositories.bzl
84+
+++ b/bazel/repositories.bzl
85+
@@ -12,7 +12,22 @@ def external_http_archive(name, **kwargs):
86+
**kwargs
87+
)
88+
89+
-def api_dependencies():
90+
+def api_dependencies(bzlmod = False):
91+
+ external_http_archive(
92+
+ name = "prometheus_metrics_model",
93+
+ build_file_content = PROMETHEUSMETRICS_BUILD_CONTENT,
94+
+ )
95+
+ external_http_archive(
96+
+ name = "com_github_bufbuild_buf",
97+
+ build_file_content = BUF_BUILD_CONTENT,
98+
+ )
99+
+ external_http_archive(
100+
+ name = "envoy_toolshed",
101+
+ )
102+
+
103+
+ if bzlmod:
104+
+ return
105+
+
106+
external_http_archive(
107+
name = "bazel_skylib",
108+
)
109+
@@ -27,15 +42,9 @@ def api_dependencies():
110+
external_http_archive(
111+
name = "com_google_googleapis",
112+
)
113+
-
114+
external_http_archive(
115+
name = "com_github_cncf_xds",
116+
)
117+
-
118+
- external_http_archive(
119+
- name = "prometheus_metrics_model",
120+
- build_file_content = PROMETHEUSMETRICS_BUILD_CONTENT,
121+
- )
122+
external_http_archive(
123+
name = "rules_proto",
124+
)
125+
@@ -47,20 +56,12 @@ def api_dependencies():
126+
name = "opentelemetry_proto",
127+
build_file_content = OPENTELEMETRY_BUILD_CONTENT,
128+
)
129+
- external_http_archive(
130+
- name = "com_github_bufbuild_buf",
131+
- build_file_content = BUF_BUILD_CONTENT,
132+
- )
133+
external_http_archive(
134+
name = "dev_cel",
135+
)
136+
-
137+
external_http_archive(
138+
name = "com_github_chrusty_protoc_gen_jsonschema",
139+
)
140+
- external_http_archive(
141+
- name = "envoy_toolshed",
142+
- )
143+
144+
PROMETHEUSMETRICS_BUILD_CONTENT = """
145+
load("@envoy_api//bazel:api_build_system.bzl", "api_cc_py_proto_library")
146+
@@ -202,3 +203,5 @@ filegroup(
147+
tags = ["manual"], # buf is downloaded as a linux binary; tagged manual to prevent build for non-linux users
148+
)
149+
"""
150+
+
151+
+non_module_deps = module_extension(implementation = lambda ctx: api_dependencies(bzlmod = True))
152+
diff --git a/envoy/extensions/access_loggers/open_telemetry/v3/BUILD b/envoy/extensions/access_loggers/open_telemetry/v3/BUILD
153+
index dad7cd1a..39d57c5e 100644
154+
--- a/envoy/extensions/access_loggers/open_telemetry/v3/BUILD
155+
+++ b/envoy/extensions/access_loggers/open_telemetry/v3/BUILD
156+
@@ -9,6 +9,6 @@ api_proto_package(
157+
"//envoy/config/core/v3:pkg",
158+
"//envoy/extensions/access_loggers/grpc/v3:pkg",
159+
"@com_github_cncf_xds//udpa/annotations:pkg",
160+
- "@opentelemetry_proto//:common",
161+
+ "@opentelemetry_proto//:common_proto",
162+
],
163+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
diff --git a/MODULE.bazel b/MODULE.bazel
2+
new file mode 100644
3+
index 00000000..b386fa48
4+
--- /dev/null
5+
+++ b/MODULE.bazel
6+
@@ -0,0 +1,69 @@
7+
+module(
8+
+ name = "envoy_api",
9+
+ version = "0.0.0-20241214-918efc9",
10+
+)
11+
+
12+
+bazel_dep(name = "abseil-cpp", version = "20240116.2", repo_name = "com_google_absl")
13+
+bazel_dep(name = "bazel_skylib", version = "1.7.1")
14+
+bazel_dep(name = "gazelle", version = "0.36.0", repo_name = "bazel_gazelle")
15+
+bazel_dep(name = "googleapis", version = "0.0.0-20240326-1c8d509c5", repo_name = "com_google_googleapis")
16+
+bazel_dep(name = "googletest", version = "1.14.0.bcr.1", repo_name = "com_google_googletest")
17+
+bazel_dep(name = "grpc", version = "1.62.1", repo_name = "com_github_grpc_grpc")
18+
+bazel_dep(name = "opencensus-proto", version = "0.4.1", repo_name = "opencensus_proto")
19+
+bazel_dep(name = "opentelemetry-proto", version = "1.4.0.bcr.1", repo_name = "opentelemetry_proto")
20+
+bazel_dep(name = "protobuf", version = "29.0", repo_name = "com_google_protobuf")
21+
+bazel_dep(name = "protoc-gen-validate", version = "1.0.4.bcr.2", repo_name = "com_envoyproxy_protoc_gen_validate")
22+
+bazel_dep(name = "re2", version = "2024-05-01", repo_name = "com_googlesource_code_re2")
23+
+bazel_dep(name = "rules_go", version = "0.48.0", repo_name = "io_bazel_rules_go")
24+
+bazel_dep(name = "rules_proto", version = "7.0.2")
25+
+bazel_dep(name = "rules_python", version = "0.40.0")
26+
+bazel_dep(name = "xds", version = "0.0.0-20240423-555b57e", repo_name = "com_github_cncf_xds")
27+
+
28+
+switched_rules = use_extension("@com_google_googleapis//:extensions.bzl", "switched_rules")
29+
+switched_rules.use_languages(
30+
+ cc = True,
31+
+ go = True,
32+
+)
33+
+
34+
+non_module_deps = use_extension("//bazel:repositories.bzl", "non_module_deps")
35+
+use_repo(
36+
+ non_module_deps,
37+
+ "com_github_bufbuild_buf",
38+
+ "envoy_toolshed",
39+
+ "prometheus_metrics_model",
40+
+)
41+
+
42+
+go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps")
43+
+go_deps.module(
44+
+ path = "github.com/planetscale/vtprotobuf",
45+
+ sum = "h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo=",
46+
+ version = "v0.6.1-0.20240319094008-0393e58bdf10",
47+
+)
48+
+go_deps.module(
49+
+ path = "google.golang.org/protobuf",
50+
+ sum = "h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=",
51+
+ version = "v1.31.0",
52+
+)
53+
+go_deps.module(
54+
+ path = "google.golang.org/genproto/googleapis/rpc",
55+
+ sum = "h1:Elxv5MwEkCI9f5SkoL6afed6NTdxaGoAo39eANBwHL8=",
56+
+ version = "v0.0.0-20240521202816-d264139d666e",
57+
+)
58+
+go_deps.module(
59+
+ path = "google.golang.org/genproto/googleapis/api",
60+
+ sum = "h1:SkdGTrROJl2jRGT/Fxv5QUf9jtdKCQh4KQJXbXVLAi0=",
61+
+ version = "v0.0.0-20240521202816-d264139d666e",
62+
+)
63+
+go_deps.module(
64+
+ path = "github.com/golang/protobuf",
65+
+ sum = "h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=",
66+
+ version = "v1.5.4",
67+
+)
68+
+use_repo(
69+
+ go_deps,
70+
+ "com_github_golang_protobuf",
71+
+ "com_github_planetscale_vtprotobuf",
72+
+ "org_golang_google_genproto_googleapis_api",
73+
+ "org_golang_google_genproto_googleapis_rpc",
74+
+ "org_golang_google_protobuf",
75+
+)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
matrix:
2+
platform:
3+
- debian10
4+
- ubuntu2004
5+
- macos
6+
- macos_arm64
7+
- windows
8+
bazel:
9+
- 7.x
10+
- 8.x
11+
tasks:
12+
verify_targets:
13+
name: Verify build targets
14+
platform: ${{ platform }}
15+
bazel: ${{ bazel }}
16+
build_targets:
17+
- "@envoy_api//test/build:go_build_test"
18+
- "@envoy_api//tools/..."
19+
build_flags:
20+
- "--java_runtime_version=remotejdk_21"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"url": "https://github.com/envoyproxy/data-plane-api/archive/918efc9df33d27b5a3850332d408a3684a4de8ca.tar.gz",
3+
"integrity": "sha256-SQfjzyqaZBx9pgyqMlhjRzflqdHg01jM2OhOnWT9rOA=",
4+
"strip_prefix": "data-plane-api-918efc9df33d27b5a3850332d408a3684a4de8ca",
5+
"patch_strip": 1,
6+
"patches": {
7+
"bzlmod_fixes.patch": "sha256-gKBNp+A+vubtBOf+iygCDc7cn1MB+/gPOtWE2keCxLo=",
8+
"module_dot_bazel.patch": "sha256-iCAR5o+NRzEh4RrG/qeilKImWD24TCeOBVncxrOmQn8="
9+
}
10+
}

modules/envoy_api/metadata.json

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"homepage": "https://www.envoyproxy.io/",
3+
"maintainers": [
4+
{
5+
"email": "[email protected]",
6+
"name": "No Maintainer Specified"
7+
}
8+
],
9+
"repository": [
10+
"github:envoyproxy/data-plane-api"
11+
],
12+
"versions": [
13+
"0.0.0-20241214-918efc9"
14+
],
15+
"yanked_versions": {}
16+
}

0 commit comments

Comments
 (0)