Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions api/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ proto_library(
"//envoy/config/filter/network/redis_proxy/v2:pkg",
"//envoy/config/filter/network/sni_cluster/v2:pkg",
"//envoy/config/filter/network/tcp_proxy/v2:pkg",
"//envoy/config/filter/network/thrift_proxy/v2alpha1:pkg",
"//envoy/config/filter/network/thrift_proxy/v2:pkg",
"//envoy/config/filter/network/zookeeper_proxy/v1alpha1:pkg",
"//envoy/config/filter/thrift/rate_limit/v2alpha1:pkg",
"//envoy/config/filter/thrift/router/v2alpha1:pkg",
"//envoy/config/filter/thrift/rate_limit/v2:pkg",
"//envoy/config/filter/thrift/router/v2:pkg",
"//envoy/config/filter/udp/udp_proxy/v2alpha:pkg",
"//envoy/config/grpc_credential/v2alpha:pkg",
"//envoy/config/health_checker/redis/v2:pkg",
Expand Down Expand Up @@ -126,7 +126,7 @@ proto_library(
"//envoy/config/cluster/v3:pkg",
"//envoy/config/core/v3:pkg",
"//envoy/config/endpoint/v3:pkg",
"//envoy/config/filter/thrift/router/v2alpha1:pkg",
"//envoy/config/filter/thrift/router/v2:pkg",
"//envoy/config/filter/udp/udp_proxy/v2alpha:pkg",
"//envoy/config/grpc_credential/v3:pkg",
"//envoy/config/health_checker/redis/v2:pkg",
Expand Down
6 changes: 3 additions & 3 deletions api/docs/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,10 @@ proto_library(
"//envoy/config/filter/network/redis_proxy/v2:pkg",
"//envoy/config/filter/network/sni_cluster/v2:pkg",
"//envoy/config/filter/network/tcp_proxy/v2:pkg",
"//envoy/config/filter/network/thrift_proxy/v2alpha1:pkg",
"//envoy/config/filter/network/thrift_proxy/v2:pkg",
"//envoy/config/filter/network/zookeeper_proxy/v1alpha1:pkg",
"//envoy/config/filter/thrift/rate_limit/v2alpha1:pkg",
"//envoy/config/filter/thrift/router/v2alpha1:pkg",
"//envoy/config/filter/thrift/rate_limit/v2:pkg",
"//envoy/config/filter/thrift/router/v2:pkg",
"//envoy/config/filter/udp/udp_proxy/v2alpha:pkg",
"//envoy/config/grpc_credential/v2alpha:pkg",
"//envoy/config/health_checker/redis/v2:pkg",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
syntax = "proto3";

package envoy.config.filter.network.thrift_proxy.v2alpha1;
package envoy.config.filter.network.thrift_proxy.v2;

import "envoy/api/v2/core/base.proto";
import "envoy/api/v2/route/route_components.proto";
Expand All @@ -10,7 +10,7 @@ import "google/protobuf/wrappers.proto";
import "udpa/annotations/migrate.proto";
import "validate/validate.proto";

option java_package = "io.envoyproxy.envoy.config.filter.network.thrift_proxy.v2alpha1";
option java_package = "io.envoyproxy.envoy.config.filter.network.thrift_proxy.v2";
option java_outer_classname = "RouteProto";
option java_multiple_files = true;
option (udpa.annotations.file_migrate).move_to_package =
Expand Down Expand Up @@ -51,15 +51,15 @@ message RouteMatch {
}

// Inverts whatever matching is done in the :ref:`method_name
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteMatch.method_name>` or
// <envoy_api_field_config.filter.network.thrift_proxy.v2.RouteMatch.method_name>` or
// :ref:`service_name
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteMatch.service_name>` fields.
// <envoy_api_field_config.filter.network.thrift_proxy.v2.RouteMatch.service_name>` fields.
// Cannot be combined with wildcard matching as that would result in routes never being matched.
//
// .. note::
//
// This does not invert matching done as part of the :ref:`headers field
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteMatch.headers>` field. To
// <envoy_api_field_config.filter.network.thrift_proxy.v2.RouteMatch.headers>` field. To
// invert header matching, see :ref:`invert_match
// <envoy_api_field_route.HeaderMatcher.invert_match>`.
bool invert = 3;
Expand Down Expand Up @@ -97,7 +97,7 @@ message RouteAction {
// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in
// the upstream cluster with metadata matching what is set in this field will be considered.
// Note that this will be merged with what's provided in :ref:`WeightedCluster.metadata_match
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.WeightedCluster.ClusterWeight.metadata_match>`,
// <envoy_api_field_config.filter.network.thrift_proxy.v2.WeightedCluster.ClusterWeight.metadata_match>`,
// with values there taking precedence. Keys and values should be provided under the "envoy.lb"
// metadata key.
api.v2.core.Metadata metadata_match = 3;
Expand Down Expand Up @@ -128,7 +128,7 @@ message WeightedCluster {
// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in
// the upstream cluster with metadata matching what is set in this field, combined with what's
// provided in :ref:`RouteAction's metadata_match
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteAction.metadata_match>`,
// <envoy_api_field_config.filter.network.thrift_proxy.v2.RouteAction.metadata_match>`,
// will be considered. Values here will take precedence. Keys and values should be provided
// under the "envoy.lb" metadata key.
api.v2.core.Metadata metadata_match = 3;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
syntax = "proto3";

package envoy.config.filter.network.thrift_proxy.v2alpha1;
package envoy.config.filter.network.thrift_proxy.v2;

import "envoy/config/filter/network/thrift_proxy/v2alpha1/route.proto";
import "envoy/config/filter/network/thrift_proxy/v2/route.proto";

import "google/protobuf/any.proto";
import "google/protobuf/struct.proto";

import "udpa/annotations/migrate.proto";
import "validate/validate.proto";

option java_package = "io.envoyproxy.envoy.config.filter.network.thrift_proxy.v2alpha1";
option java_package = "io.envoyproxy.envoy.config.filter.network.thrift_proxy.v2";
option java_outer_classname = "ThriftProxyProto";
option java_multiple_files = true;
option (udpa.annotations.file_migrate).move_to_package =
Expand Down Expand Up @@ -61,11 +61,11 @@ enum ProtocolType {
// [#next-free-field: 6]
message ThriftProxy {
// Supplies the type of transport that the Thrift proxy should use. Defaults to
// :ref:`AUTO_TRANSPORT<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.TransportType.AUTO_TRANSPORT>`.
// :ref:`AUTO_TRANSPORT<envoy_api_enum_value_config.filter.network.thrift_proxy.v2.TransportType.AUTO_TRANSPORT>`.
TransportType transport = 2 [(validate.rules).enum = {defined_only: true}];

// Supplies the type of protocol that the Thrift proxy should use. Defaults to
// :ref:`AUTO_PROTOCOL<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.ProtocolType.AUTO_PROTOCOL>`.
// :ref:`AUTO_PROTOCOL<envoy_api_enum_value_config.filter.network.thrift_proxy.v2.ProtocolType.AUTO_PROTOCOL>`.
ProtocolType protocol = 3 [(validate.rules).enum = {defined_only: true}];

// The human readable prefix to use when emitting statistics.
Expand Down Expand Up @@ -107,13 +107,13 @@ message ThriftFilter {
message ThriftProtocolOptions {
// Supplies the type of transport that the Thrift proxy should use for upstream connections.
// Selecting
// :ref:`AUTO_TRANSPORT<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.TransportType.AUTO_TRANSPORT>`,
// :ref:`AUTO_TRANSPORT<envoy_api_enum_value_config.filter.network.thrift_proxy.v2.TransportType.AUTO_TRANSPORT>`,
// which is the default, causes the proxy to use the same transport as the downstream connection.
TransportType transport = 1 [(validate.rules).enum = {defined_only: true}];

// Supplies the type of protocol that the Thrift proxy should use for upstream connections.
// Selecting
// :ref:`AUTO_PROTOCOL<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.ProtocolType.AUTO_PROTOCOL>`,
// :ref:`AUTO_PROTOCOL<envoy_api_enum_value_config.filter.network.thrift_proxy.v2.ProtocolType.AUTO_PROTOCOL>`,
// which is the default, causes the proxy to use the same protocol as the downstream connection.
ProtocolType protocol = 2 [(validate.rules).enum = {defined_only: true}];
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
syntax = "proto3";

package envoy.config.filter.thrift.rate_limit.v2alpha1;
package envoy.config.filter.thrift.rate_limit.v2;

import "envoy/config/ratelimit/v2/rls.proto";

Expand All @@ -9,7 +9,7 @@ import "google/protobuf/duration.proto";
import "udpa/annotations/migrate.proto";
import "validate/validate.proto";

option java_package = "io.envoyproxy.envoy.config.filter.thrift.rate_limit.v2alpha1";
option java_package = "io.envoyproxy.envoy.config.filter.thrift.rate_limit.v2";
option java_outer_classname = "RateLimitProto";
option java_multiple_files = true;
option (udpa.annotations.file_migrate).move_to_package =
Expand All @@ -26,7 +26,7 @@ message RateLimit {

// Specifies the rate limit configuration stage. Each configured rate limit filter performs a
// rate limit check using descriptors configured in the
// :ref:`envoy_api_msg_config.filter.network.thrift_proxy.v2alpha1.RouteAction` for the request.
// :ref:`envoy_api_msg_config.filter.network.thrift_proxy.v2.RouteAction` for the request.
// Only those entries with a matching stage number are used for a given filter. If not set, the
// default stage number is 0.
//
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
syntax = "proto3";

package envoy.config.filter.thrift.router.v2alpha1;
package envoy.config.filter.thrift.router.v2;

option java_package = "io.envoyproxy.envoy.config.filter.thrift.router.v2alpha1";
option java_package = "io.envoyproxy.envoy.config.filter.thrift.router.v2";
option java_outer_classname = "RouterProto";
option java_multiple_files = true;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ licenses(["notice"]) # Apache 2

api_proto_package(
deps = [
"//envoy/config/filter/thrift/rate_limit/v2alpha1:pkg",
"//envoy/config/filter/thrift/rate_limit/v2:pkg",
"//envoy/config/ratelimit/v3:pkg",
"@com_github_cncf_udpa//udpa/annotations:pkg",
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ option java_multiple_files = true;
// [#next-free-field: 6]
message RateLimit {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.thrift.rate_limit.v2alpha1.RateLimit";
"envoy.config.filter.thrift.rate_limit.v2.RateLimit";

// The rate limit domain to use in the rate limit service request.
string domain = 1 [(validate.rules).string = {min_bytes: 1}];
Expand Down
2 changes: 1 addition & 1 deletion api/envoy/extensions/filters/network/thrift_proxy/v3/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ licenses(["notice"]) # Apache 2
api_proto_package(
deps = [
"//envoy/config/core/v3:pkg",
"//envoy/config/filter/network/thrift_proxy/v2alpha1:pkg",
"//envoy/config/filter/network/thrift_proxy/v2:pkg",
"//envoy/config/route/v3:pkg",
"@com_github_cncf_udpa//udpa/annotations:pkg",
],
Expand Down
12 changes: 6 additions & 6 deletions api/envoy/extensions/filters/network/thrift_proxy/v3/route.proto
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ option java_multiple_files = true;

message RouteConfiguration {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.thrift_proxy.v2alpha1.RouteConfiguration";
"envoy.config.filter.network.thrift_proxy.v2.RouteConfiguration";

// The name of the route configuration. Reserved for future use in asynchronous route discovery.
string name = 1;
Expand All @@ -32,7 +32,7 @@ message RouteConfiguration {

message Route {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.thrift_proxy.v2alpha1.Route";
"envoy.config.filter.network.thrift_proxy.v2.Route";

// Route matching parameters.
RouteMatch match = 1 [(validate.rules).message = {required: true}];
Expand All @@ -43,7 +43,7 @@ message Route {

message RouteMatch {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.thrift_proxy.v2alpha1.RouteMatch";
"envoy.config.filter.network.thrift_proxy.v2.RouteMatch";

oneof match_specifier {
option (validate.required) = true;
Expand Down Expand Up @@ -83,7 +83,7 @@ message RouteMatch {
// [#next-free-field: 7]
message RouteAction {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.thrift_proxy.v2alpha1.RouteAction";
"envoy.config.filter.network.thrift_proxy.v2.RouteAction";

oneof cluster_specifier {
option (validate.required) = true;
Expand Down Expand Up @@ -128,11 +128,11 @@ message RouteAction {
// based on these weights.
message WeightedCluster {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.thrift_proxy.v2alpha1.WeightedCluster";
"envoy.config.filter.network.thrift_proxy.v2.WeightedCluster";

message ClusterWeight {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.thrift_proxy.v2alpha1.WeightedCluster.ClusterWeight";
"envoy.config.filter.network.thrift_proxy.v2.WeightedCluster.ClusterWeight";

// Name of the upstream cluster.
string name = 1 [(validate.rules).string = {min_bytes: 1}];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ enum ProtocolType {
// [#next-free-field: 6]
message ThriftProxy {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProxy";
"envoy.config.filter.network.thrift_proxy.v2.ThriftProxy";

// Supplies the type of transport that the Thrift proxy should use. Defaults to
// :ref:`AUTO_TRANSPORT<envoy_api_enum_value_extensions.filters.network.thrift_proxy.v3.TransportType.AUTO_TRANSPORT>`.
Expand All @@ -86,7 +86,7 @@ message ThriftProxy {
// ThriftFilter configures a Thrift filter.
message ThriftFilter {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftFilter";
"envoy.config.filter.network.thrift_proxy.v2.ThriftFilter";

reserved 2;

Expand All @@ -113,7 +113,7 @@ message ThriftFilter {
// keyed by the name `envoy.filters.network.thrift_proxy`.
message ThriftProtocolOptions {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProtocolOptions";
"envoy.config.filter.network.thrift_proxy.v2.ThriftProtocolOptions";

// Supplies the type of transport that the Thrift proxy should use for upstream connections.
// Selecting
Expand Down
2 changes: 1 addition & 1 deletion docs/root/api-v2/config/filter/thrift/thrift.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ Thrift filters
:glob:
:maxdepth: 2

*/v2alpha1/*
*/v2/*
2 changes: 1 addition & 1 deletion docs/root/api-v3/config/filter/thrift/thrift.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ Thrift filters
:glob:
:maxdepth: 2

router/v2alpha1/*
router/v2/*
../../../extensions/filters/network/thrift_proxy/**/v3/*
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Thrift proxy
============

* :ref:`v2 API reference <envoy_api_msg_config.filter.network.thrift_proxy.v2alpha1.ThriftProxy>`
* :ref:`v2 API reference <envoy_api_msg_config.filter.network.thrift_proxy.v2.ThriftProxy>`
* This filter should be configured with the name *envoy.filters.network.thrift_proxy*.

Cluster Protocol Options
Expand All @@ -12,14 +12,14 @@ Cluster Protocol Options
Thrift connections to upstream hosts can be configured by adding an entry to the appropriate
Cluster's :ref:`extension_protocol_options<envoy_api_field_Cluster.extension_protocol_options>`
keyed by `envoy.filters.network.thrift_proxy`. The
:ref:`ThriftProtocolOptions<envoy_api_msg_config.filter.network.thrift_proxy.v2alpha1.ThriftProtocolOptions>`
:ref:`ThriftProtocolOptions<envoy_api_msg_config.filter.network.thrift_proxy.v2.ThriftProtocolOptions>`
message describes the available options.

Thrift Request Metadata
-----------------------

The :ref:`HEADER transport<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.TransportType.HEADER>`
and :ref:`TWITTER protocol<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.ProtocolType.TWITTER>`
The :ref:`HEADER transport<envoy_api_enum_value_config.filter.network.thrift_proxy.v2.TransportType.HEADER>`
and :ref:`TWITTER protocol<envoy_api_enum_value_config.filter.network.thrift_proxy.v2.ProtocolType.TWITTER>`
support metadata. In particular, the
`Header transport <https://github.com/apache/thrift/blob/master/doc/specs/HeaderFormat.md>`_
supports informational key/value pairs and the Twitter protocol transmits
Expand All @@ -29,13 +29,13 @@ Header Transport Metadata
~~~~~~~~~~~~~~~~~~~~~~~~~

Header transport key/value pairs are available for routing as
:ref:`headers <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteMatch.headers>`.
:ref:`headers <envoy_api_field_config.filter.network.thrift_proxy.v2.RouteMatch.headers>`.

Twitter Protocol Metadata
~~~~~~~~~~~~~~~~~~~~~~~~~

Twitter protocol request contexts are converted into headers which are available for routing as
:ref:`headers <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteMatch.headers>`.
:ref:`headers <envoy_api_field_config.filter.network.thrift_proxy.v2.RouteMatch.headers>`.
In addition, the following fields are presented as headers:

Client Identifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ Rate limit
==========

* Global rate limiting :ref:`architecture overview <arch_overview_global_rate_limit>`
* :ref:`v2 API reference <envoy_api_msg_config.filter.thrift.rate_limit.v2alpha1.RateLimit>`
* :ref:`v2 API reference <envoy_api_msg_config.filter.thrift.rate_limit.v2.RateLimit>`
* This filter should be configured with the name *envoy.filters.thrift.rate_limit*.

The Thrift rate limit filter will call the rate limit service when the request's route has one or
more :ref:`rate limit configurations
<envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteAction.rate_limits>` that
<envoy_api_field_config.filter.network.thrift_proxy.v2.RouteAction.rate_limits>` that
match the filter's stage setting. More than one configuration can apply to a request. Each
configuration results in a descriptor being sent to the rate limit service.

Expand All @@ -18,7 +18,7 @@ application exception indicating an internal error is returned.

If there is an error in calling the rate limit service or it returns an error and
:ref:`failure_mode_deny
<envoy_api_field_config.filter.thrift.rate_limit.v2alpha1.RateLimit.failure_mode_deny>` is set to
<envoy_api_field_config.filter.thrift.rate_limit.v2.RateLimit.failure_mode_deny>` is set to
true, an application exception indicating an internal error is returned.

.. _config_thrift_filters_rate_limit_stats:
Expand All @@ -37,5 +37,5 @@ The filter outputs statistics in the *cluster.<route target cluster>.ratelimit.*
over_limit, Counter, Total over limit responses from the rate limit service.
failure_mode_allowed, Counter, "Total requests that were error(s) but were allowed through because
of :ref:`failure_mode_deny
<envoy_api_field_config.filter.thrift.rate_limit.v2alpha1.RateLimit.failure_mode_deny>` set to
<envoy_api_field_config.filter.thrift.rate_limit.v2.RateLimit.failure_mode_deny>` set to
false."
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Router

The router filter implements Thrift forwarding. It will be used in almost all Thrift proxying
scenarios. The filter's main job is to follow the instructions specified in the configured
:ref:`route table <envoy_api_msg_config.filter.network.thrift_proxy.v2alpha1.RouteConfiguration>`.
:ref:`route table <envoy_api_msg_config.filter.network.thrift_proxy.v2.RouteConfiguration>`.

* :ref:`v2 API reference <envoy_api_msg_config.filter.thrift.router.v2alpha1.Router>`
* :ref:`v2 API reference <envoy_api_msg_config.filter.thrift.router.v2.Router>`
* This filter should be configured with the name *envoy.filters.thrift.router*.
1 change: 1 addition & 0 deletions docs/root/intro/version_history.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Version history
* config: use type URL to select an extension whenever the config type URL (or its previous versions) uniquely identify a typed extension, see :ref:`extension configuration <config_overview_extension_configuration>`.
* http: fixing a bug in HTTP/1.0 responses where Connection: keep-alive was not appended for connections which were kept alive.
* retry: added a retry predicate that :ref:`rejects hosts based on metadata. <envoy_api_field_route.RetryPolicy.retry_host_predicate>`
* thrift_proxy: migrated from v2alpha to v2.
* upstream: combined HTTP/1 and HTTP/2 connection pool code. This means that circuit breaker
limits for both requests and connections apply to both pool types. Also, HTTP/2 now has
the option to limit concurrent requests on a connection, and allow multiple draining
Expand Down
Loading