Skip to content

Commit 368f0af

Browse files
committed
Merge remote-tracking branch 'upstream/main' into e2e-assoc-req-dump
Signed-off-by: Kevin Baichoo <kbaichoo@google.com>
2 parents 4809576 + 51db799 commit 368f0af

File tree

188 files changed

+1646
-941
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

188 files changed

+1646
-941
lines changed

api/envoy/admin/v3/server_info.proto

+4-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ message ServerInfo {
5858
config.core.v3.Node node = 7;
5959
}
6060

61-
// [#next-free-field: 37]
61+
// [#next-free-field: 38]
6262
message CommandLineOptions {
6363
option (udpa.annotations.versioning).previous_message_type =
6464
"envoy.admin.v2alpha.CommandLineOptions";
@@ -189,4 +189,7 @@ message CommandLineOptions {
189189

190190
// See :option:`--socket-mode` for details.
191191
uint32 socket_mode = 36;
192+
193+
// See :option:`--enable-core-dump` for details.
194+
bool enable_core_dump = 37;
192195
}

api/envoy/admin/v4alpha/server_info.proto

+4-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/envoy/config/accesslog/v3/accesslog.proto

+4-15
Original file line numberDiff line numberDiff line change
@@ -29,26 +29,15 @@ message AccessLog {
2929

3030
reserved "config";
3131

32-
// The name of the access log implementation to instantiate. The name must
33-
// match a statically registered access log. Current built-in loggers include:
34-
//
35-
// #. "envoy.access_loggers.file"
36-
// #. "envoy.access_loggers.http_grpc"
37-
// #. "envoy.access_loggers.tcp_grpc"
32+
// The name of the access log extension to instantiate.
33+
// The name must match one of the compiled in loggers.
34+
// See the :ref:`extensions listed in typed_config below <extension_category_envoy.access_loggers>` for the default list of available loggers.
3835
string name = 1;
3936

4037
// Filter which is used to determine if the access log needs to be written.
4138
AccessLogFilter filter = 2;
4239

43-
// Custom configuration that depends on the access log being instantiated.
44-
// Built-in configurations include:
45-
//
46-
// #. "envoy.access_loggers.file": :ref:`FileAccessLog
47-
// <envoy_api_msg_extensions.access_loggers.file.v3.FileAccessLog>`
48-
// #. "envoy.access_loggers.http_grpc": :ref:`HttpGrpcAccessLogConfig
49-
// <envoy_api_msg_extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig>`
50-
// #. "envoy.access_loggers.tcp_grpc": :ref:`TcpGrpcAccessLogConfig
51-
// <envoy_api_msg_extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig>`
40+
// Custom configuration that must be set according to the access logger extension being instantiated.
5241
// [#extension-category: envoy.access_loggers]
5342
oneof config_type {
5443
google.protobuf.Any typed_config = 4;

api/envoy/config/accesslog/v4alpha/accesslog.proto

+4-15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/envoy/config/metrics/v3/stats.proto

+2-7
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,8 @@ message StatsSink {
2929
reserved "config";
3030

3131
// The name of the stats sink to instantiate. The name must match a supported
32-
// stats sink. The built-in stats sinks are:
33-
//
34-
// * :ref:`envoy.stat_sinks.statsd <envoy_api_msg_config.metrics.v3.StatsdSink>`
35-
// * :ref:`envoy.stat_sinks.dog_statsd <envoy_api_msg_config.metrics.v3.DogStatsdSink>`
36-
// * :ref:`envoy.stat_sinks.metrics_service <envoy_api_msg_config.metrics.v3.MetricsServiceConfig>`
37-
// * :ref:`envoy.stat_sinks.hystrix <envoy_api_msg_config.metrics.v3.HystrixSink>`
38-
//
32+
// stats sink.
33+
// See the :ref:`extensions listed in typed_config below <extension_category_envoy.stats_sinks>` for the default list of available stats sink.
3934
// Sinks optionally support tagged/multiple dimensional metrics.
4035
string name = 1;
4136

api/envoy/config/metrics/v4alpha/stats.proto

+2-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/envoy/config/overload/v3/overload.proto

+2-6
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,8 @@ message ResourceMonitor {
3232
reserved "config";
3333

3434
// The name of the resource monitor to instantiate. Must match a registered
35-
// resource monitor type. The built-in resource monitors are:
36-
//
37-
// * :ref:`envoy.resource_monitors.fixed_heap
38-
// <envoy_api_msg_config.resource_monitor.fixed_heap.v2alpha.FixedHeapConfig>`
39-
// * :ref:`envoy.resource_monitors.injected_resource
40-
// <envoy_api_msg_config.resource_monitor.injected_resource.v2alpha.InjectedResourceConfig>`
35+
// resource monitor type.
36+
// See the :ref:`extensions listed in typed_config below <extension_category_envoy.resource_monitors>` for the default list of available resource monitor.
4137
string name = 1 [(validate.rules).string = {min_len: 1}];
4238

4339
// Configuration for the resource monitor being instantiated.

api/envoy/config/trace/v3/http_tracer.proto

+3-17
Original file line numberDiff line numberDiff line change
@@ -43,25 +43,11 @@ message Tracing {
4343
reserved "config";
4444

4545
// The name of the HTTP trace driver to instantiate. The name must match a
46-
// supported HTTP trace driver. Built-in trace drivers:
47-
//
48-
// - *envoy.tracers.lightstep*
49-
// - *envoy.tracers.zipkin*
50-
// - *envoy.tracers.dynamic_ot*
51-
// - *envoy.tracers.datadog*
52-
// - *envoy.tracers.opencensus*
53-
// - *envoy.tracers.xray*
46+
// supported HTTP trace driver.
47+
// See the :ref:`extensions listed in typed_config below <extension_category_envoy.tracers>` for the default list of the HTTP trace driver.
5448
string name = 1 [(validate.rules).string = {min_len: 1}];
5549

56-
// Trace driver specific configuration which depends on the driver being instantiated.
57-
// See the trace drivers for examples:
58-
//
59-
// - :ref:`LightstepConfig <envoy_api_msg_config.trace.v3.LightstepConfig>`
60-
// - :ref:`ZipkinConfig <envoy_api_msg_config.trace.v3.ZipkinConfig>`
61-
// - :ref:`DynamicOtConfig <envoy_api_msg_config.trace.v3.DynamicOtConfig>`
62-
// - :ref:`DatadogConfig <envoy_api_msg_config.trace.v3.DatadogConfig>`
63-
// - :ref:`OpenCensusConfig <envoy_api_msg_config.trace.v3.OpenCensusConfig>`
64-
// - :ref:`AWS X-Ray <envoy_api_msg_config.trace.v3.XRayConfig>`
50+
// Trace driver specific configuration which must be set according to the driver being instantiated.
6551
// [#extension-category: envoy.tracers]
6652
oneof config_type {
6753
google.protobuf.Any typed_config = 3;

api/envoy/config/trace/v4alpha/http_tracer.proto

+3-17
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/envoy/extensions/filters/http/oauth2/v3alpha/oauth.proto

+5-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ message OAuth2Credentials {
4141

4242
// OAuth config
4343
//
44-
// [#next-free-field: 10]
44+
// [#next-free-field: 11]
4545
message OAuth2Config {
4646
// Endpoint on the authorization server to retrieve the access token from.
4747
config.core.v3.HttpUri token_endpoint = 1;
@@ -76,6 +76,10 @@ message OAuth2Config {
7676
// defaults to "user" scope.
7777
// OAuth RFC https://tools.ietf.org/html/rfc6749#section-3.3
7878
repeated string auth_scopes = 9;
79+
80+
// Optional resource parameter for authorization request
81+
// RFC: https://tools.ietf.org/html/rfc8707
82+
repeated string resources = 10;
7983
}
8084

8185
// Filter config.

api/envoy/extensions/filters/http/oauth2/v4alpha/oauth.proto

+5-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/envoy/extensions/filters/http/rbac/v3/rbac.proto

+5
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ message RBAC {
2929
// but will emit stats and logs and can be used for rule testing.
3030
// If absent, no shadow RBAC policy will be applied.
3131
config.rbac.v3.RBAC shadow_rules = 2;
32+
33+
// If specified, shadow rules will emit stats with the given prefix.
34+
// This is useful to distinguish the stat when there are more than 1 RBAC filter configured with
35+
// shadow rules.
36+
string shadow_rules_stat_prefix = 3;
3237
}
3338

3439
message RBACPerRoute {

api/envoy/extensions/filters/http/rbac/v4alpha/rbac.proto

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/envoy/extensions/filters/network/rbac/v3/rbac.proto

+6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
2121
//
2222
// Header should not be used in rules/shadow_rules in RBAC network filter as
2323
// this information is only available in :ref:`RBAC http filter <config_http_filters_rbac>`.
24+
// [#next-free-field: 6]
2425
message RBAC {
2526
option (udpa.annotations.versioning).previous_message_type =
2627
"envoy.config.filter.network.rbac.v2.RBAC";
@@ -45,6 +46,11 @@ message RBAC {
4546
// If absent, no shadow RBAC policy will be applied.
4647
config.rbac.v3.RBAC shadow_rules = 2;
4748

49+
// If specified, shadow rules will emit stats with the given prefix.
50+
// This is useful to distinguish the stat when there are more than 1 RBAC filter configured with
51+
// shadow rules.
52+
string shadow_rules_stat_prefix = 5;
53+
4854
// The prefix to use when emitting statistics.
4955
string stat_prefix = 3 [(validate.rules).string = {min_len: 1}];
5056

api/envoy/extensions/filters/network/rbac/v4alpha/rbac.proto

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/envoy/extensions/wasm/v3/wasm.proto

+17-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ message SanitizationConfig {
4040
}
4141

4242
// Configuration for a Wasm VM.
43-
// [#next-free-field: 7]
43+
// [#next-free-field: 8]
4444
message VmConfig {
4545
// An ID which will be used along with a hash of the wasm code (or the name of the registered Null
4646
// VM plugin) to determine which VM will be used for the plugin. All plugins which use the same
@@ -93,6 +93,22 @@ message VmConfig {
9393
// update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter
9494
// warming state.
9595
bool nack_on_code_cache_miss = 6;
96+
97+
// Specifies environment variables to be injected to this VM which will be available through
98+
// WASI's ``environ_get`` and ``environ_get_sizes`` system calls. Note that these functions are mostly implicitly
99+
// called in your language's standard library, so you do not need to call them directly and you can access to env
100+
// vars just like when you do on native platforms.
101+
// Warning: Envoy rejects the configuration if there's conflict of key space.
102+
EnvironmentVariables environment_variables = 7;
103+
}
104+
105+
message EnvironmentVariables {
106+
// The keys of *Envoy's* environment variables exposed to this VM. In other words, if a key exists in Envoy's environment
107+
// variables, then that key-value pair will be injected. Note that if a key does not exist, it will be ignored.
108+
repeated string host_env_keys = 1;
109+
110+
// Explicitly given key-value pairs to be injected to this VM in the form of "KEY=VALUE".
111+
map<string, string> key_values = 2;
96112
}
97113

98114
// Base Configuration for Wasm Plugins e.g. filters and services.

bazel/envoy_build_system.bzl

+16
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ load(
88
_envoy_basic_cc_library = "envoy_basic_cc_library",
99
_envoy_cc_extension = "envoy_cc_extension",
1010
_envoy_cc_library = "envoy_cc_library",
11+
_envoy_cc_linux_library = "envoy_cc_linux_library",
1112
_envoy_cc_posix_library = "envoy_cc_posix_library",
13+
_envoy_cc_posix_without_linux_library = "envoy_cc_posix_without_linux_library",
1214
_envoy_cc_win32_library = "envoy_cc_win32_library",
1315
_envoy_include_prefix = "envoy_include_prefix",
1416
_envoy_proto_library = "envoy_proto_library",
@@ -32,6 +34,7 @@ load(
3234
_envoy_cc_test = "envoy_cc_test",
3335
_envoy_cc_test_binary = "envoy_cc_test_binary",
3436
_envoy_cc_test_library = "envoy_cc_test_library",
37+
_envoy_py_test = "envoy_py_test",
3538
_envoy_py_test_binary = "envoy_py_test_binary",
3639
_envoy_sh_test = "envoy_sh_test",
3740
)
@@ -145,6 +148,16 @@ def envoy_cc_platform_dep(name):
145148
"//conditions:default": [name + "_posix"],
146149
})
147150

151+
# Used to select a dependency that has different implementations on Linux vs rest of POSIX vs Windows.
152+
# The platform-specific implementations should be specified with envoy_cc_linux_library,
153+
# envoy_cc_posix_without_library and envoy_cc_win32_library respectively
154+
def envoy_cc_platform_specific_dep(name):
155+
return select({
156+
"@envoy//bazel:windows_x86_64": [name + "_win32"],
157+
"@envoy//bazel:linux": [name + "_linux"],
158+
"//conditions:default": [name + "_posix"],
159+
})
160+
148161
# Envoy proto descriptor targets should be specified with this function.
149162
# This is used for testing only.
150163
def envoy_proto_descriptor(name, out, srcs = [], external_deps = []):
@@ -202,7 +215,9 @@ envoy_cc_binary = _envoy_cc_binary
202215
envoy_basic_cc_library = _envoy_basic_cc_library
203216
envoy_cc_extension = _envoy_cc_extension
204217
envoy_cc_library = _envoy_cc_library
218+
envoy_cc_linux_library = _envoy_cc_linux_library
205219
envoy_cc_posix_library = _envoy_cc_posix_library
220+
envoy_cc_posix_without_linux_library = _envoy_cc_posix_without_linux_library
206221
envoy_cc_win32_library = _envoy_cc_win32_library
207222
envoy_include_prefix = _envoy_include_prefix
208223
envoy_proto_library = _envoy_proto_library
@@ -215,5 +230,6 @@ envoy_cc_test_binary = _envoy_cc_test_binary
215230
envoy_cc_test_library = _envoy_cc_test_library
216231
envoy_cc_benchmark_binary = _envoy_cc_benchmark_binary
217232
envoy_benchmark_test = _envoy_benchmark_test
233+
envoy_py_test = _envoy_py_test
218234
envoy_py_test_binary = _envoy_py_test_binary
219235
envoy_sh_test = _envoy_sh_test

0 commit comments

Comments
 (0)