Add API field in Router for Upstream Filters. (#23367)

Upstream filters specified in the router will apply if there are no filters specified in the cluster.

Risk Level: Low.
Testing: Unit and Integration testing.

Signed-off-by: Paul Gallagher <pgal@google.com>

Mirrored from https://github.com/envoyproxy/envoy @ 9bb570fded9246762d087c8d2c8fe9733ad0dbff
pull/626/head
data-plane-api(Azure Pipelines) 2 years ago
parent e9e41968a6
commit 2fa9cb33f5
  1. 1
      envoy/extensions/filters/http/router/v3/BUILD
  2. 19
      envoy/extensions/filters/http/router/v3/router.proto

@ -7,6 +7,7 @@ licenses(["notice"]) # Apache 2
api_proto_package( api_proto_package(
deps = [ deps = [
"//envoy/config/accesslog/v3:pkg", "//envoy/config/accesslog/v3:pkg",
"//envoy/extensions/filters/network/http_connection_manager/v3:pkg",
"@com_github_cncf_udpa//udpa/annotations:pkg", "@com_github_cncf_udpa//udpa/annotations:pkg",
], ],
) )

@ -3,6 +3,7 @@ syntax = "proto3";
package envoy.extensions.filters.http.router.v3; package envoy.extensions.filters.http.router.v3;
import "envoy/config/accesslog/v3/accesslog.proto"; import "envoy/config/accesslog/v3/accesslog.proto";
import "envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto";
import "google/protobuf/wrappers.proto"; import "google/protobuf/wrappers.proto";
@ -20,7 +21,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// Router :ref:`configuration overview <config_http_filters_router>`. // Router :ref:`configuration overview <config_http_filters_router>`.
// [#extension: envoy.filters.http.router] // [#extension: envoy.filters.http.router]
// [#next-free-field: 8] // [#next-free-field: 9]
message Router { message Router {
option (udpa.annotations.versioning).previous_message_type = option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.http.router.v2.Router"; "envoy.config.filter.http.router.v2.Router";
@ -89,4 +90,20 @@ message Router {
// :ref:`gRPC stats filter<config_http_filters_grpc_stats>` documentation // :ref:`gRPC stats filter<config_http_filters_grpc_stats>` documentation
// for more details. // for more details.
bool suppress_grpc_request_failure_code_stats = 7; bool suppress_grpc_request_failure_code_stats = 7;
// .. note::
// Upstream HTTP filters are currently in alpha.
//
// Optional HTTP filters for the upstream filter chain.
//
// These filters will be applied for all requests that pass through the router.
// They will also be applied to shadowed requests.
// Upstream filters cannot change route or cluster.
// Upstream filters specified on the cluster will override these filters.
//
// If using upstream filters, please be aware that local errors sent by
// upstream filters will not trigger retries, and local errors sent by
// upstream filters will count as a final response if hedging is configured.
// [#extension-category: envoy.filters.http.upstream]
repeated network.http_connection_manager.v3.HttpFilter upstream_http_filters = 8;
} }

Loading…
Cancel
Save