thrift-proxy: add support for cluster header based routing (#8994)

Fixes: #8991

Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>

Mirrored from https://github.com/envoyproxy/envoy @ d5f3efdaac875c9ee87424bc4f07af9c04c2b2ec
master-ci-test
data-plane-api(CircleCI) 5 years ago
parent 08f8b41b07
commit e3ce8a9a15
  1. 9
      envoy/config/filter/network/thrift_proxy/v2alpha1/route.proto
  2. 9
      envoy/config/filter/network/thrift_proxy/v3alpha/route.proto

@ -69,7 +69,7 @@ message RouteMatch {
repeated api.v2.route.HeaderMatcher headers = 4;
}
// [#next-free-field: 6]
// [#next-free-field: 7]
message RouteAction {
oneof cluster_specifier {
option (validate.required) = true;
@ -82,6 +82,13 @@ message RouteAction {
// request is routed to one of the upstream clusters based on weights
// assigned to each cluster.
WeightedCluster weighted_clusters = 2;
// Envoy will determine the cluster to route to by reading the value of the
// Thrift header named by cluster_header from the request headers. If the
// header is not found or the referenced cluster does not exist Envoy will
// respond with an unknown method exception or an internal error exception,
// respectively.
string cluster_header = 6 [(validate.rules).string = {min_bytes: 1}];
}
// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in

@ -69,7 +69,7 @@ message RouteMatch {
repeated api.v3alpha.route.HeaderMatcher headers = 4;
}
// [#next-free-field: 6]
// [#next-free-field: 7]
message RouteAction {
oneof cluster_specifier {
option (validate.required) = true;
@ -82,6 +82,13 @@ message RouteAction {
// request is routed to one of the upstream clusters based on weights
// assigned to each cluster.
WeightedCluster weighted_clusters = 2;
// Envoy will determine the cluster to route to by reading the value of the
// Thrift header named by cluster_header from the request headers. If the
// header is not found or the referenced cluster does not exist Envoy will
// respond with an unknown method exception or an internal error exception,
// respectively.
string cluster_header = 6 [(validate.rules).string = {min_bytes: 1}];
}
// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in

Loading…
Cancel
Save