Documentation
¶
Overview ¶
Package envoyconfig contains a Builder for building Envoy configuration from Pomerium configuration.
Index ¶
- func ExtAuthzFilter(grpcClientTimeout *durationpb.Duration) *envoy_extensions_filters_network_http_connection_manager.HttpFilter
- func HTTPConnectionManagerFilter(...) *envoy_config_listener_v3.Filter
- func HTTPRouterFilter() *envoy_extensions_filters_network_http_connection_manager.HttpFilter
- func LuaFilter(defaultSourceCode string) *envoy_extensions_filters_network_http_connection_manager.HttpFilter
- func ProxyProtocolFilter() *envoy_config_listener_v3.ListenerFilter
- func TCPProxyFilter(clusterName string) *envoy_config_listener_v3.Filter
- func TLSInspectorFilter() *envoy_config_listener_v3.ListenerFilter
- type Builder
- func (b *Builder) BuildBootstrapAdmin(cfg *config.Config) (admin *envoy_config_bootstrap_v3.Admin, err error)
- func (b *Builder) BuildBootstrapLayeredRuntime() (*envoy_config_bootstrap_v3.LayeredRuntime, error)
- func (b *Builder) BuildBootstrapStaticResources() (*envoy_config_bootstrap_v3.Bootstrap_StaticResources, error)
- func (b *Builder) BuildBootstrapStatsConfig(cfg *config.Config) (*envoy_config_metrics_v3.StatsConfig, error)
- func (b *Builder) BuildClusters(ctx context.Context, cfg *config.Config) ([]*envoy_config_cluster_v3.Cluster, error)
- func (b *Builder) BuildListeners(ctx context.Context, cfg *config.Config) ([]*envoy_config_listener_v3.Listener, error)
- type Endpoint
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtAuthzFilter ¶ added in v0.19.0
func ExtAuthzFilter(grpcClientTimeout *durationpb.Duration) *envoy_extensions_filters_network_http_connection_manager.HttpFilter
ExtAuthzFilter creates an ext authz filter.
func HTTPConnectionManagerFilter ¶ added in v0.19.0
func HTTPConnectionManagerFilter( httpConnectionManager *envoy_extensions_filters_network_http_connection_manager.HttpConnectionManager, ) *envoy_config_listener_v3.Filter
HTTPConnectionManagerFilter creates a new HTTP connection manager filter.
func HTTPRouterFilter ¶ added in v0.19.0
func HTTPRouterFilter() *envoy_extensions_filters_network_http_connection_manager.HttpFilter
HTTPRouterFilter creates a new HTTP router filter.
func LuaFilter ¶ added in v0.19.0
func LuaFilter(defaultSourceCode string) *envoy_extensions_filters_network_http_connection_manager.HttpFilter
LuaFilter creates a lua HTTP filter.
func ProxyProtocolFilter ¶ added in v0.19.0
func ProxyProtocolFilter() *envoy_config_listener_v3.ListenerFilter
ProxyProtocolFilter creates a new Proxy Protocol filter.
func TCPProxyFilter ¶ added in v0.19.0
func TCPProxyFilter(clusterName string) *envoy_config_listener_v3.Filter
TCPProxyFilter creates a new TCP Proxy filter.
func TLSInspectorFilter ¶ added in v0.19.0
func TLSInspectorFilter() *envoy_config_listener_v3.ListenerFilter
TLSInspectorFilter creates a new TLS inspector filter.
Types ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
A Builder builds envoy config from pomerium config.
func New ¶
func New( localGRPCAddress string, localHTTPAddress string, localMetricsAddress string, fileManager *filemgr.Manager, reproxyHandler *reproxy.Handler, ) *Builder
New creates a new Builder.
func (*Builder) BuildBootstrapAdmin ¶
func (b *Builder) BuildBootstrapAdmin(cfg *config.Config) (admin *envoy_config_bootstrap_v3.Admin, err error)
BuildBootstrapAdmin builds the admin config for the envoy bootstrap.
func (*Builder) BuildBootstrapLayeredRuntime ¶ added in v0.15.0
func (b *Builder) BuildBootstrapLayeredRuntime() (*envoy_config_bootstrap_v3.LayeredRuntime, error)
BuildBootstrapLayeredRuntime builds the layered runtime for the envoy bootstrap.
func (*Builder) BuildBootstrapStaticResources ¶
func (b *Builder) BuildBootstrapStaticResources() (*envoy_config_bootstrap_v3.Bootstrap_StaticResources, error)
BuildBootstrapStaticResources builds the static resources for the envoy bootstrap. It includes the control plane cluster.
func (*Builder) BuildBootstrapStatsConfig ¶
func (b *Builder) BuildBootstrapStatsConfig(cfg *config.Config) (*envoy_config_metrics_v3.StatsConfig, error)
BuildBootstrapStatsConfig builds a the stats config the envoy bootstrap.
func (*Builder) BuildClusters ¶
func (b *Builder) BuildClusters(ctx context.Context, cfg *config.Config) ([]*envoy_config_cluster_v3.Cluster, error)
BuildClusters builds envoy clusters from the given config.
func (*Builder) BuildListeners ¶
func (b *Builder) BuildListeners(ctx context.Context, cfg *config.Config) ([]*envoy_config_listener_v3.Listener, error)
BuildListeners builds envoy listeners from the given config.
type Endpoint ¶
type Endpoint struct {
// contains filtered or unexported fields
}
An Endpoint is a URL with its corresponding Transport Socket.
func NewEndpoint ¶
func NewEndpoint(u *url.URL, ts *envoy_config_core_v3.TransportSocket, weight uint32) Endpoint
NewEndpoint creates a new Endpoint.
func (Endpoint) TransportSocketName ¶
TransportSocketName return the name for this endpoint.