Golang (proto)
This extension has the qualified name envoy.upstreams.http.tcp.golang
Note
This extension is only available in contrib images.
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.
Warning
This API feature is currently work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the threat model, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points.
This bridge enables an Http client to connect to a TCP server via a Golang plugin, facilitating Protocol Convert from HTTP to any RPC protocol in Envoy.
For an overview of the Golang HTTP TCP bridge please see the configuration reference documentation.
extensions.upstreams.http.tcp.golang.v3alpha.Config
[extensions.upstreams.http.tcp.golang.v3alpha.Config proto]
Tip
This extension category has the following known extensions:
The following extensions are available in contrib images only:
{
"library_id": ...,
"library_path": ...,
"plugin_name": ...,
"plugin_config": {...}
}
- library_id
(string, REQUIRED) Globally unique ID for a dynamic library file.
- library_path
(string, REQUIRED) Path to a dynamic library implementing the HttpTcpBridge API interface.
- plugin_name
(string, REQUIRED) Globally unique name of the Go plugin.
This name must be consistent with the name registered in
tcp::RegisterHttpTcpBridgeFactoryAndConfigParser
- plugin_config
(Any) Configuration for the Go plugin.
Note
This configuration is only parsed in the Golang plugin, and is therefore not validated by Envoy.
See the HttpTcpBridge API for more information about how the plugin’s configuration data can be accessed.