Skip to content

Commit e69f8db

Browse files
[protobuf] Update protobuf definitions to v1.29.0 (#319)
Signed-off-by: envoy-bot <[email protected]> Co-authored-by: envoy-bot <[email protected]>
1 parent cc7a04f commit e69f8db

File tree

56 files changed

+826
-99
lines changed

Some content is hidden

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

56 files changed

+826
-99
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,8 @@ message ResponseFlagFilter {
254254
in: "UPE"
255255
in: "NC"
256256
in: "OM"
257+
in: "DF"
258+
in: "DO"
257259
}
258260
}
259261
}];

api/src/main/proto/envoy/config/bootstrap/v3/bootstrap.proto

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
4141
// <config_overview_bootstrap>` for more detail.
4242

4343
// Bootstrap :ref:`configuration overview <config_overview_bootstrap>`.
44-
// [#next-free-field: 40]
44+
// [#next-free-field: 41]
4545
message Bootstrap {
4646
option (udpa.annotations.versioning).previous_message_type =
4747
"envoy.config.bootstrap.v2.Bootstrap";
@@ -136,6 +136,13 @@ message Bootstrap {
136136
bool enable_deferred_creation_stats = 1;
137137
}
138138

139+
message GrpcAsyncClientManagerConfig {
140+
// Optional field to set the expiration time for the cached gRPC client object.
141+
// The minimal value is 5s and the default is 50s.
142+
google.protobuf.Duration max_cached_entry_idle_duration = 1
143+
[(validate.rules).duration = {gte {seconds: 5}}];
144+
}
145+
139146
reserved 10, 11;
140147

141148
reserved "runtime";
@@ -401,6 +408,9 @@ message Bootstrap {
401408

402409
// Optional application log configuration.
403410
ApplicationLogConfig application_log_config = 38;
411+
412+
// Optional gRPC async manager config.
413+
GrpcAsyncClientManagerConfig grpc_async_client_manager_config = 40;
404414
}
405415

406416
// Administration interface :ref:`operations documentation

api/src/main/proto/envoy/config/cluster/v3/cluster.proto

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1257,4 +1257,19 @@ message TrackClusterStats {
12571257
// <config_cluster_manager_cluster_stats_request_response_sizes>` tracking header and body sizes
12581258
// of requests and responses will be published.
12591259
bool request_response_sizes = 2;
1260+
1261+
// If true, some stats will be emitted per-endpoint, similar to the stats in admin ``/clusters``
1262+
// output.
1263+
//
1264+
// This does not currently output correct stats during a hot-restart.
1265+
//
1266+
// This is not currently implemented by all stat sinks.
1267+
//
1268+
// These stats do not honor filtering or tag extraction rules in :ref:`StatsConfig
1269+
// <envoy_v3_api_msg_config.metrics.v3.StatsConfig>` (but fixed-value tags are supported). Admin
1270+
// endpoint filtering is supported.
1271+
//
1272+
// This may not be used at the same time as
1273+
// :ref:`load_stats_config <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.load_stats_config>`.
1274+
bool per_endpoint_stats = 3;
12601275
}

api/src/main/proto/envoy/config/cluster/v3/filter.proto

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ option java_multiple_files = true;
1616
option go_package = "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3;clusterv3";
1717
option (udpa.annotations.file_status).package_version_status = ACTIVE;
1818

19-
// [#protodoc-title: Upstream filters]
20-
// Upstream filters apply to the connections to the upstream cluster hosts.
19+
// [#protodoc-title: Upstream network filters]
20+
// Upstream network filters apply to the connections to the upstream cluster hosts.
2121

2222
message Filter {
2323
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.cluster.Filter";
@@ -28,7 +28,7 @@ message Filter {
2828
// Filter specific configuration which depends on the filter being
2929
// instantiated. See the supported filters for further documentation.
3030
// Note that Envoy's :ref:`downstream network
31-
// filters <config_network_filters>` are not valid upstream filters.
31+
// filters <config_network_filters>` are not valid upstream network filters.
3232
// Only one of typed_config or config_discovery can be used.
3333
google.protobuf.Any typed_config = 2;
3434

api/src/main/proto/envoy/config/core/v3/base.proto

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -346,9 +346,12 @@ message HeaderValueOption {
346346

347347
// Describes the supported actions types for header append action.
348348
enum HeaderAppendAction {
349-
// This action will append the specified value to the existing values if the header
350-
// already exists. If the header doesn't exist then this will add the header with
351-
// specified key and value.
349+
// If the header already exists, this action will result in:
350+
//
351+
// - Comma-concatenated for predefined inline headers.
352+
// - Duplicate header added in the ``HeaderMap`` for other headers.
353+
//
354+
// If the header doesn't exist then this will add new header with specified key and value.
352355
APPEND_IF_EXISTS_OR_ADD = 0;
353356

354357
// This action will add the header if it doesn't already exist. If the header

api/src/main/proto/envoy/config/core/v3/http_uri.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ message HttpUri {
5252
// Sets the maximum duration in milliseconds that a response can take to arrive upon request.
5353
google.protobuf.Duration timeout = 3 [(validate.rules).duration = {
5454
required: true
55+
lt {seconds: 4294967296}
5556
gte {}
5657
}];
5758
}

api/src/main/proto/envoy/config/endpoint/v3/endpoint.proto

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ message ClusterLoadAssignment {
4040
option (udpa.annotations.versioning).previous_message_type =
4141
"envoy.api.v2.ClusterLoadAssignment.Policy";
4242

43-
// [#not-implemented-hide:]
4443
message DropOverload {
4544
option (udpa.annotations.versioning).previous_message_type =
4645
"envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload";
@@ -75,7 +74,9 @@ message ClusterLoadAssignment {
7574
// "throttle"_drop = 60%
7675
// "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
7776
// actual_outgoing_load = 20% // remaining after applying all categories.
78-
// [#not-implemented-hide:]
77+
//
78+
// Envoy supports only one element and will NACK if more than one element is present.
79+
// Other xDS-capable data planes will not necessarily have this limitation.
7980
repeated DropOverload drop_overloads = 2;
8081

8182
// Priority levels and localities are considered overprovisioned with this

api/src/main/proto/envoy/config/filter/network/kafka_broker/v2alpha1/kafka_broker.proto

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,42 @@ option (udpa.annotations.file_status).package_version_status = FROZEN;
2121
message KafkaBroker {
2222
// The prefix to use when emitting :ref:`statistics <config_network_filters_kafka_broker_stats>`.
2323
string stat_prefix = 1 [(validate.rules).string = {min_bytes: 1}];
24+
25+
// Set to true if broker filter should attempt to serialize the received responses from the
26+
// upstream broker instead of passing received bytes as is.
27+
// Disabled by default.
28+
bool force_response_rewrite = 2;
29+
30+
// Optional broker address rewrite specification.
31+
// Allows the broker filter to rewrite Kafka responses so that all connections established by
32+
// the Kafka clients point to Envoy.
33+
// This allows Kafka cluster not to configure its 'advertised.listeners' property
34+
// (as the necessary re-pointing will be done by this filter).
35+
// This collection of rules should cover all brokers in the cluster that is being proxied,
36+
// otherwise some nodes' addresses might leak to the downstream clients.
37+
oneof broker_address_rewrite_spec {
38+
// Broker address rewrite rules that match by broker ID.
39+
IdBasedBrokerRewriteSpec id_based_broker_address_rewrite_spec = 3;
40+
}
41+
}
42+
43+
// Collection of rules matching by broker ID.
44+
message IdBasedBrokerRewriteSpec {
45+
repeated IdBasedBrokerRewriteRule rules = 1;
46+
}
47+
48+
// Defines a rule to rewrite broker address data.
49+
message IdBasedBrokerRewriteRule {
50+
// Broker ID to match.
51+
uint32 id = 1 [(validate.rules).uint32 = {gte: 0}];
52+
53+
// The host value to use (resembling the host part of Kafka's advertised.listeners).
54+
// The value should point to the Envoy (not Kafka) listener, so that all client traffic goes
55+
// through Envoy.
56+
string host = 2 [(validate.rules).string = {min_len: 1}];
57+
58+
// The port value to use (resembling the port part of Kafka's advertised.listeners).
59+
// The value should point to the Envoy (not Kafka) listener, so that all client traffic goes
60+
// through Envoy.
61+
uint32 port = 3 [(validate.rules).uint32 = {lte: 65535}];
2462
}

api/src/main/proto/envoy/config/route/v3/route.proto

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,11 @@ message RouteConfiguration {
8282
(validate.rules).repeated = {items {string {well_known_regex: HTTP_HEADER_NAME strict: false}}}
8383
];
8484

85-
// By default, headers that should be added/removed are evaluated from most to least specific:
86-
//
87-
// * route level
88-
// * virtual host level
89-
// * connection manager level
90-
//
91-
// To allow setting overrides at the route or virtual host level, this order can be reversed
92-
// by setting this option to true. Defaults to false.
85+
// Headers mutations at all levels are evaluated, if specified. By default, the order is from most
86+
// specific (i.e. route entry level) to least specific (i.e. route configuration level). Later header
87+
// mutations may override earlier mutations.
88+
// This order can be reversed by setting this field to true. In other words, most specific level mutation
89+
// is evaluated last.
9390
//
9491
bool most_specific_header_mutations_wins = 10;
9592

api/src/main/proto/envoy/config/route/v3/route_components.proto

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ message RouteMatch {
544544
google.protobuf.BoolValue validated = 2;
545545
}
546546

547-
// An extensible message for matching CONNECT requests.
547+
// An extensible message for matching CONNECT or CONNECT-UDP requests.
548548
message ConnectMatcher {
549549
}
550550

@@ -577,11 +577,10 @@ message RouteMatch {
577577
// stripping. This needs more thought.]
578578
type.matcher.v3.RegexMatcher safe_regex = 10 [(validate.rules).message = {required: true}];
579579

580-
// If this is used as the matcher, the matcher will only match CONNECT requests.
581-
// Note that this will not match HTTP/2 upgrade-style CONNECT requests
582-
// (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style
583-
// upgrades.
584-
// This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2,
580+
// If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests.
581+
// Note that this will not match other Extended CONNECT requests (WebSocket and the like) as
582+
// they are normalized in Envoy as HTTP/1.1 style upgrades.
583+
// This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2 and HTTP/3,
585584
// where Extended CONNECT requests may have a path, the path matchers will work if
586585
// there is a path present.
587586
// Note that CONNECT support is currently considered alpha in Envoy.
@@ -2366,6 +2365,7 @@ message QueryParameterMatcher {
23662365
}
23672366

23682367
// HTTP Internal Redirect :ref:`architecture overview <arch_overview_internal_redirects>`.
2368+
// [#next-free-field: 6]
23692369
message InternalRedirectPolicy {
23702370
// An internal redirect is not handled, unless the number of previous internal redirects that a
23712371
// downstream request has encountered is lower than this value.
@@ -2391,6 +2391,14 @@ message InternalRedirectPolicy {
23912391
// Allow internal redirect to follow a target URI with a different scheme than the value of
23922392
// x-forwarded-proto. The default is false.
23932393
bool allow_cross_scheme_redirect = 4;
2394+
2395+
// Specifies a list of headers, by name, to copy from the internal redirect into the subsequent
2396+
// request. If a header is specified here but not present in the redirect, it will be cleared in
2397+
// the subsequent request.
2398+
repeated string response_headers_to_copy = 5 [(validate.rules).repeated = {
2399+
unique: true
2400+
items {string {well_known_regex: HTTP_HEADER_NAME strict: false}}
2401+
}];
23942402
}
23952403

23962404
// A simple wrapper for an HTTP filter config. This is intended to be used as a wrapper for the
@@ -2409,6 +2417,8 @@ message FilterConfig {
24092417
bool is_optional = 2;
24102418

24112419
// If true, the filter is disabled in the route or virtual host and the ``config`` field is ignored.
2420+
// See :ref:`route based filter chain <arch_overview_http_filters_route_based_filter_chain>`
2421+
// for more details.
24122422
//
24132423
// .. note::
24142424
//

0 commit comments

Comments
 (0)