Add RouteConfiguration and VirtualHost level configs for mirror policies (#20388)

Signed-off-by: kuochunghsu <kuochunghsu@pinterest.com>

Mirrored from https://github.com/envoyproxy/envoy @ 0a7df5208bf2295b0db133629af41855f24afb56
pull/626/head
data-plane-api(Azure Pipelines) 3 years ago
parent 38d9271bdd
commit 63fcd9fe60
  1. 6
      envoy/config/route/v3/route.proto
  2. 11
      envoy/config/route/v3/route_components.proto

@ -23,7 +23,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// * Routing :ref:`architecture overview <arch_overview_http_routing>`
// * HTTP :ref:`router filter <config_http_filters_router>`
// [#next-free-field: 13]
// [#next-free-field: 14]
message RouteConfiguration {
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.RouteConfiguration";
@ -127,6 +127,10 @@ message RouteConfiguration {
// :ref:`envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin`
// within the route. All *extension.name* fields in this list must be unique.
repeated ClusterSpecifierPlugin cluster_specifier_plugins = 12;
// Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
// Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
repeated RouteAction.RequestMirrorPolicy request_mirror_policies = 13;
}
// Configuration for a cluster specifier plugin.

@ -41,7 +41,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// host header. This allows a single listener to service multiple top level domain path trees. Once
// a virtual host is selected based on the domain, the routes are processed in order to see which
// upstream cluster to route to or whether to perform a redirect.
// [#next-free-field: 22]
// [#next-free-field: 23]
message VirtualHost {
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.route.VirtualHost";
@ -198,6 +198,11 @@ message VirtualHost {
// If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
// value of this and the listener per_connection_buffer_limit_bytes.
google.protobuf.UInt32Value per_request_buffer_limit_bytes = 18;
// Specify a set of default request mirroring policies for every route under this virtual host.
// It takes precedence over the route config mirror policy entirely.
// That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
repeated RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
}
// A filter-defined action type.
@ -1106,7 +1111,9 @@ message RouteAction {
// should not be set if this field is used.
google.protobuf.Any retry_policy_typed_config = 33;
// Indicates that the route has request mirroring policies.
// Specify a set of route request mirroring policies.
// It takes precedence over the virtual host and route config mirror policy entirely.
// That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
repeated RequestMirrorPolicy request_mirror_policies = 30;
// Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.

Loading…
Cancel
Save