VHost/Route-local filter configurations (#605)

This patch begins addressing #540, adding per_filter_config fields to both VirtualHost. ClusterWeight and Route configs. A following PR will, as an initial PoC/example, implement vhost/route specific configs for the HTTP buffer filter.

Signed-off-by: Chris Roche <croche@lyft.com>
pull/611/head
Chris Roche 7 years ago committed by htuch
parent 8a5ae9ec0c
commit d7769aef7a
  1. 22
      envoy/api/v2/route/route.proto

@ -9,6 +9,7 @@ import "envoy/api/v2/auth/auth.proto";
import "envoy/type/range.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/wrappers.proto";
import "validate/validate.proto";
@ -99,6 +100,13 @@ message VirtualHost {
// [#not-implemented-hide:]
// Return a 401/403 when auth checks fail.
auth.AuthAction auth = 9;
// The per_filter_config field can be used to provide virtual host-specific
// configurations for filters. The key should match the filter name, such as
// *envoy.buffer* for the HTTP buffer filter. Use of this field is filter
// specific; see the :ref:`HTTP filter documentation <config_http_filters>`
// for if and how it is utilized.
map<string, google.protobuf.Struct> per_filter_config = 12;
}
// A route is both a specification of how to match a request as well as an indication of what to do
@ -138,6 +146,13 @@ message Route {
// [#not-implemented-hide:]
// Return a 401/403 when auth checks fail.
auth.AuthAction auth = 6;
// The per_filter_config field can be used to provide route-specific
// configurations for filters. The key should match the filter name, such as
// *envoy.buffer* for the HTTP buffer filter. Use of this field is filter
// specific; see the :ref:`HTTP filter documentation <config_http_filters>` for
// if and how it is utilized.
map<string, google.protobuf.Struct> per_filter_config = 8;
}
// Compared to the :ref:`cluster <envoy_api_field_route.RouteAction.cluster>` field that specifies a
@ -197,6 +212,13 @@ message WeightedCluster {
// :ref:`cluster_metadata <envoy_api_field_route.RouteAction.cluster_metadata>` from the
// enclosing :ref:`envoy_api_msg_route.RouteAction`.
core.Metadata cluster_metadata = 7;
// The per_filter_config field can be used to provide weighted cluster-specific
// configurations for filters. The key should match the filter name, such as
// *envoy.buffer* for the HTTP buffer filter. Use of this field is filter
// specific; see the :ref:`HTTP filter documentation <config_http_filters>`
// for if and how it is utilized.
map<string, google.protobuf.Struct> per_filter_config = 8;
}
// Specifies one or more upstream clusters associated with the route.

Loading…
Cancel
Save