Thrift Proxy

Thrift Proxy configuration overview.

config.filter.network.thrift_proxy.v2alpha1.ThriftProxy

[config.filter.network.thrift_proxy.v2alpha1.ThriftProxy proto]

{
  "transport": "...",
  "protocol": "...",
  "stat_prefix": "...",
  "route_config": "{...}",
  "thrift_filters": []
}
transport

(config.filter.network.thrift_proxy.v2alpha1.TransportType) Supplies the type of transport that the Thrift proxy should use. Defaults to AUTO_TRANSPORT.

protocol

(config.filter.network.thrift_proxy.v2alpha1.ProtocolType) Supplies the type of protocol that the Thrift proxy should use. Defaults to AUTO_PROTOCOL.

stat_prefix

(string, REQUIRED) The human readable prefix to use when emitting statistics.

route_config

(config.filter.network.thrift_proxy.v2alpha1.RouteConfiguration) The route table for the connection manager is static and is specified in this property.

thrift_filters

(config.filter.network.thrift_proxy.v2alpha1.ThriftFilter) A list of individual Thrift filters that make up the filter chain for requests made to the Thrift proxy. Order matters as the filters are processed sequentially. For backwards compatibility, if no thrift_filters are specified, a default Thrift router filter (envoy.filters.thrift.router) is used.

config.filter.network.thrift_proxy.v2alpha1.ThriftFilter

[config.filter.network.thrift_proxy.v2alpha1.ThriftFilter proto]

ThriftFilter configures a Thrift filter.

{
  "name": "...",
  "config": "{...}",
  "typed_config": "{...}"
}
name

(string, REQUIRED) The name of the filter to instantiate. The name must match a supported filter. The built-in filters are:

config

(Struct) Filter specific configuration which depends on the filter being instantiated. See the supported filters for further documentation.

Only one of config, typed_config may be set.

typed_config

(Any) Filter specific configuration which depends on the filter being instantiated. See the supported filters for further documentation.

Only one of config, typed_config may be set.

config.filter.network.thrift_proxy.v2alpha1.ThriftProtocolOptions

[config.filter.network.thrift_proxy.v2alpha1.ThriftProtocolOptions proto]

ThriftProtocolOptions specifies Thrift upstream protocol options. This object is used in in extension_protocol_options, keyed by the name envoy.filters.network.thrift_proxy.

{
  "transport": "...",
  "protocol": "..."
}
transport

(config.filter.network.thrift_proxy.v2alpha1.TransportType) Supplies the type of transport that the Thrift proxy should use for upstream connections. Selecting AUTO_TRANSPORT, which is the default, causes the proxy to use the same transport as the downstream connection.

protocol

(config.filter.network.thrift_proxy.v2alpha1.ProtocolType) Supplies the type of protocol that the Thrift proxy should use for upstream connections. Selecting AUTO_PROTOCOL, which is the default, causes the proxy to use the same protocol as the downstream connection.

Enum config.filter.network.thrift_proxy.v2alpha1.TransportType

[config.filter.network.thrift_proxy.v2alpha1.TransportType proto]

Thrift transport types supported by Envoy.

AUTO_TRANSPORT

(DEFAULT) ⁣For downstream connections, the Thrift proxy will attempt to determine which transport to use. For upstream connections, the Thrift proxy will use same transport as the downstream connection.

FRAMED

⁣The Thrift proxy will use the Thrift framed transport.

UNFRAMED

⁣The Thrift proxy will use the Thrift unframed transport.

HEADER

⁣The Thrift proxy will assume the client is using the Thrift header transport.

Enum config.filter.network.thrift_proxy.v2alpha1.ProtocolType

[config.filter.network.thrift_proxy.v2alpha1.ProtocolType proto]

Thrift Protocol types supported by Envoy.

AUTO_PROTOCOL

(DEFAULT) ⁣For downstream connections, the Thrift proxy will attempt to determine which protocol to use. Note that the older, non-strict (or lax) binary protocol is not included in automatic protocol detection. For upstream connections, the Thrift proxy will use the same protocol as the downstream connection.

BINARY

⁣The Thrift proxy will use the Thrift binary protocol.

LAX_BINARY

⁣The Thrift proxy will use Thrift non-strict binary protocol.

COMPACT

⁣The Thrift proxy will use the Thrift compact protocol.

TWITTER

⁣The Thrift proxy will use the Thrift “Twitter” protocol implemented by the finagle library.