Skip to content

Commit 45d1c20

Browse files
[protobuf] Update protobuf definitions to v1.28.0 (#299)
1 parent c8acee0 commit 45d1c20

File tree

66 files changed

+1034
-251
lines changed

Some content is hidden

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

66 files changed

+1034
-251
lines changed

api/src/main/proto/envoy/admin/v3/config_dump.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ message ConfigDump {
3333
// * ``bootstrap``: :ref:`BootstrapConfigDump <envoy_v3_api_msg_admin.v3.BootstrapConfigDump>`
3434
// * ``clusters``: :ref:`ClustersConfigDump <envoy_v3_api_msg_admin.v3.ClustersConfigDump>`
3535
// * ``ecds_filter_http``: :ref:`EcdsConfigDump <envoy_v3_api_msg_admin.v3.EcdsConfigDump>`
36+
// * ``ecds_filter_quic_listener``: :ref:`EcdsConfigDump <envoy_v3_api_msg_admin.v3.EcdsConfigDump>`
3637
// * ``ecds_filter_tcp_listener``: :ref:`EcdsConfigDump <envoy_v3_api_msg_admin.v3.EcdsConfigDump>`
3738
// * ``endpoints``: :ref:`EndpointsConfigDump <envoy_v3_api_msg_admin.v3.EndpointsConfigDump>`
3839
// * ``listeners``: :ref:`ListenersConfigDump <envoy_v3_api_msg_admin.v3.ListenersConfigDump>`

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,7 @@ message Admin {
438438
}
439439

440440
// Cluster manager :ref:`architecture overview <arch_overview_cluster_manager>`.
441+
// [#next-free-field: 6]
441442
message ClusterManager {
442443
option (udpa.annotations.versioning).previous_message_type =
443444
"envoy.config.bootstrap.v2.ClusterManager";
@@ -478,6 +479,11 @@ message ClusterManager {
478479
// <envoy_v3_api_field_config.core.v3.ApiConfigSource.api_type>` :ref:`GRPC
479480
// <envoy_v3_api_enum_value_config.core.v3.ApiConfigSource.ApiType.GRPC>`.
480481
core.v3.ApiConfigSource load_stats_config = 4;
482+
483+
// Whether the ClusterManager will create clusters on the worker threads
484+
// inline during requests. This will save memory and CPU cycles in cases where
485+
// there are lots of inactive clusters and > 1 worker thread.
486+
bool enable_deferred_cluster_creation = 5;
481487
}
482488

483489
// Allows you to specify different watchdog configs for different subsystems.

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ syntax = "proto3";
22

33
package envoy.config.cluster.v3;
44

5+
import "envoy/config/core/v3/config_source.proto";
6+
57
import "google/protobuf/any.proto";
68

79
import "udpa/annotations/status.proto";
@@ -27,5 +29,12 @@ message Filter {
2729
// instantiated. See the supported filters for further documentation.
2830
// Note that Envoy's :ref:`downstream network
2931
// filters <config_network_filters>` are not valid upstream filters.
32+
// Only one of typed_config or config_discovery can be used.
3033
google.protobuf.Any typed_config = 2;
34+
35+
// Configuration source specifier for an extension configuration discovery
36+
// service. In case of a failure and without the default configuration, the
37+
// listener closes the connections.
38+
// Only one of typed_config or config_discovery can be used.
39+
core.v3.ExtensionConfigSource config_discovery = 3;
3140
}

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
1919

2020
// See the :ref:`architecture overview <arch_overview_outlier_detection>` for
2121
// more information on outlier detection.
22-
// [#next-free-field: 23]
22+
// [#next-free-field: 24]
2323
message OutlierDetection {
2424
option (udpa.annotations.versioning).previous_message_type =
2525
"envoy.api.v2.cluster.OutlierDetection";
@@ -161,4 +161,10 @@ message OutlierDetection {
161161
// See :ref:`max_ejection_time_jitter<envoy_v3_api_field_config.cluster.v3.OutlierDetection.base_ejection_time>`
162162
// Defaults to 0s.
163163
google.protobuf.Duration max_ejection_time_jitter = 22;
164+
165+
// If active health checking is enabled and a host is ejected by outlier detection, a successful active health check
166+
// unejects the host by default and considers it as healthy. Unejection also clears all the outlier detection counters.
167+
// To change this default behavior set this config to ``false`` where active health checking will not uneject the host.
168+
// Defaults to true.
169+
google.protobuf.BoolValue successful_active_health_check_uneject_host = 23;
164170
}

api/src/main/proto/envoy/config/common/matcher/v3/matcher.proto

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ import "envoy/config/core/v3/extension.proto";
66
import "envoy/config/route/v3/route_components.proto";
77
import "envoy/type/matcher/v3/string.proto";
88

9-
import "xds/annotations/v3/status.proto";
10-
119
import "udpa/annotations/status.proto";
1210
import "validate/validate.proto";
1311

@@ -24,9 +22,10 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
2422
// is found the action specified by the most specific on_no_match will be evaluated.
2523
// As an on_no_match might result in another matching tree being evaluated, this process
2624
// might repeat several times until the final OnMatch (or no match) is decided.
25+
//
26+
// .. note::
27+
// Please use the syntactically equivalent :ref:`matching API <envoy_v3_api_msg_.xds.type.matcher.v3.Matcher>`
2728
message Matcher {
28-
option (xds.annotations.v3.message_status).work_in_progress = true;
29-
3029
// What to do if a match is successful.
3130
message OnMatch {
3231
oneof on_match {

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

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ syntax = "proto3";
22

33
package envoy.config.core.v3;
44

5+
import "envoy/config/core/v3/extension.proto";
56
import "envoy/config/core/v3/socket_option.proto";
67

78
import "google/protobuf/wrappers.proto";
@@ -130,7 +131,7 @@ message ExtraSourceAddress {
130131
SocketOptionsOverride socket_options = 2;
131132
}
132133

133-
// [#next-free-field: 6]
134+
// [#next-free-field: 7]
134135
message BindConfig {
135136
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.core.BindConfig";
136137

@@ -150,20 +151,22 @@ message BindConfig {
150151
// precompiled binaries.
151152
repeated SocketOption socket_options = 3;
152153

153-
// Extra source addresses appended to the address specified in the `source_address`
154-
// field. This enables to specify multiple source addresses. Currently, only one extra
155-
// address can be supported, and the extra address should have a different IP version
156-
// with the address in the `source_address` field. The address which has the same IP
157-
// version with the target host's address IP version will be used as bind address. If more
158-
// than one extra address specified, only the first address matched IP version will be
159-
// returned. If there is no same IP version address found, the address in the `source_address`
160-
// will be returned.
154+
// Extra source addresses appended to the address specified in the ``source_address``
155+
// field. This enables to specify multiple source addresses.
156+
// The source address selection is determined by :ref:`local_address_selector
157+
// <envoy_v3_api_field_config.core.v3.BindConfig.local_address_selector>`.
161158
repeated ExtraSourceAddress extra_source_addresses = 5;
162159

163160
// Deprecated by
164161
// :ref:`extra_source_addresses <envoy_v3_api_field_config.core.v3.BindConfig.extra_source_addresses>`
165162
repeated SocketAddress additional_source_addresses = 4
166163
[deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"];
164+
165+
// Custom local address selector to override the default (i.e.
166+
// :ref:`DefaultLocalAddressSelector
167+
// <envoy_v3_api_msg_config.upstream.local_address_selector.v3.DefaultLocalAddressSelector>`).
168+
// [#extension-category: envoy.upstream.local_address_selector]
169+
TypedExtensionConfig local_address_selector = 6;
167170
}
168171

169172
// Addresses specify either a logical or physical address and port, which are

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ message RateLimitSettings {
152152
google.protobuf.UInt32Value max_tokens = 1;
153153

154154
// Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
155-
// per second will be used.
155+
// per second will be used. The minimal fill rate is once per year. Lower
156+
// fill rates will be set to once per year.
156157
google.protobuf.DoubleValue fill_rate = 2 [(validate.rules).double = {gt: 0.0}];
157158
}
158159

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
syntax = "proto3";
2+
3+
package envoy.config.core.v3;
4+
5+
import "envoy/config/core/v3/base.proto";
6+
import "envoy/config/core/v3/http_uri.proto";
7+
8+
import "udpa/annotations/status.proto";
9+
import "validate/validate.proto";
10+
11+
option java_package = "io.envoyproxy.envoy.config.core.v3";
12+
option java_outer_classname = "HttpServiceProto";
13+
option java_multiple_files = true;
14+
option go_package = "github.com/envoyproxy/go-control-plane/envoy/config/core/v3;corev3";
15+
option (udpa.annotations.file_status).package_version_status = ACTIVE;
16+
17+
// [#protodoc-title: HTTP services]
18+
19+
// HTTP service configuration.
20+
message HttpService {
21+
// The service's HTTP URI. For example:
22+
//
23+
// .. code-block:: yaml
24+
//
25+
// http_uri:
26+
// uri: https://www.myserviceapi.com/v1/data
27+
// cluster: www.myserviceapi.com|443
28+
//
29+
HttpUri http_uri = 1;
30+
31+
// Specifies a list of HTTP headers that should be added to each request
32+
// handled by this virtual host.
33+
repeated HeaderValueOption request_headers_to_add = 2
34+
[(validate.rules).repeated = {max_items: 1000}];
35+
}

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ message QuicKeepAliveSettings {
5656
}
5757

5858
// QUIC protocol options which apply to both downstream and upstream connections.
59-
// [#next-free-field: 6]
59+
// [#next-free-field: 8]
6060
message QuicProtocolOptions {
6161
// Maximum number of streams that the client can negotiate per connection. 100
6262
// if not specified.
@@ -85,7 +85,7 @@ message QuicProtocolOptions {
8585
[(validate.rules).uint32 = {lte: 25165824 gte: 1}];
8686

8787
// The number of timeouts that can occur before port migration is triggered for QUIC clients.
88-
// This defaults to 1. If set to 0, port migration will not occur on path degrading.
88+
// This defaults to 4. If set to 0, port migration will not occur on path degrading.
8989
// Timeout here refers to QUIC internal path degrading timeout mechanism, such as PTO.
9090
// This has no effect on server sessions.
9191
google.protobuf.UInt32Value num_timeouts_to_trigger_port_migration = 4
@@ -94,6 +94,14 @@ message QuicProtocolOptions {
9494
// Probes the peer at the configured interval to solicit traffic, i.e. ACK or PATH_RESPONSE, from the peer to push back connection idle timeout.
9595
// If absent, use the default keepalive behavior of which a client connection sends PINGs every 15s, and a server connection doesn't do anything.
9696
QuicKeepAliveSettings connection_keepalive = 5;
97+
98+
// A comma-separated list of strings representing QUIC connection options defined in
99+
// `QUICHE <https://github.com/google/quiche/blob/main/quiche/quic/core/crypto/crypto_protocol.h>`_ and to be sent by upstream connections.
100+
string connection_options = 6;
101+
102+
// A comma-separated list of strings representing QUIC client connection options defined in
103+
// `QUICHE <https://github.com/google/quiche/blob/main/quiche/quic/core/crypto/crypto_protocol.h>`_ and to be sent by upstream connections.
104+
string client_connection_options = 7;
97105
}
98106

99107
message UpstreamHttpProtocolOptions {

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,15 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
1919

2020
// [#protodoc-title: Substitution format string]
2121

22+
// Optional configuration options to be used with json_format.
23+
message JsonFormatOptions {
24+
// The output JSON string properties will be sorted.
25+
bool sort_properties = 1;
26+
}
27+
2228
// Configuration to use multiple :ref:`command operators <config_access_log_command_operators>`
2329
// to generate a new string in either plain text or JSON format.
24-
// [#next-free-field: 7]
30+
// [#next-free-field: 8]
2531
message SubstitutionFormatString {
2632
oneof format {
2733
option (validate.required) = true;
@@ -113,4 +119,7 @@ message SubstitutionFormatString {
113119
// See the formatters extensions documentation for details.
114120
// [#extension-category: envoy.formatter]
115121
repeated TypedExtensionConfig formatters = 6;
122+
123+
// If json_format is used, the options will be applied to the output JSON string.
124+
JsonFormatOptions json_format_options = 7;
116125
}

0 commit comments

Comments
 (0)