Golang HTTP filter (proto)

This extension has the qualified name envoy.filters.http.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.

Tip

This extension extends and can be used with the following extension category:

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.

For an overview of the Golang HTTP filter please see the configuration reference documentation.

extensions.filters.http.golang.v3alpha.Config

[extensions.filters.http.golang.v3alpha.Config proto]

{
  "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 StreamFilter API interface.

plugin_name

(string, REQUIRED) Globally unique name of the Go plugin.

This name must be consistent with the name registered in http::RegisterHttpFilterConfigFactory, and can be used to associate route and virtualHost plugin configuration.

plugin_config

(Any) Configuration for the Go plugin.

Note

This configuration is only parsed in the go plugin, and is therefore not validated by Envoy.

See the StreamFilter API for more information about how the plugin’s configuration data can be accessed.

extensions.filters.http.golang.v3alpha.RouterPlugin

[extensions.filters.http.golang.v3alpha.RouterPlugin proto]

{
  "config": {...}
}
config

(Any, REQUIRED) The config field is used for setting per-route and per-virtualhost plugin config.

extensions.filters.http.golang.v3alpha.ConfigsPerRoute

[extensions.filters.http.golang.v3alpha.ConfigsPerRoute proto]

{
  "plugins_config": {...}
}
plugins_config

(repeated map<string, extensions.filters.http.golang.v3alpha.RouterPlugin>) Configuration of the Go plugin at the per-router or per-virtualhost level, keyed on the plugin_name of the Go plugin.