Thrift Proxy¶
This extension may be referenced by the qualified name envoy.filters.network.thrift_proxy
Note
This extension is functional but has not had substantial production burn time, use only with this caveat.
This extension is not hardened and should only be used in deployments where both the downstream and upstream are trusted.
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 typed_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.
The Thrift proxy will use the Thrift “Twitter” protocol implemented by the finagle library.