envoy

package
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2019 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Overview

Package envoy contains a configuration writer for v2 YAML config. To avoid a dependncy on a YAML library, we generate the YAML using the text/template package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Bootstrap added in v0.10.0

func Bootstrap(c *BootstrapConfig) *bootstrap.Bootstrap

Bootstrap creates a new v2 Bootstrap configuration.

func Cluster

func Cluster(s dag.Service) *v2.Cluster

Cluster creates new v2.Cluster from service.

func ClusterCommonLBConfig added in v0.8.0

func ClusterCommonLBConfig() *v2.Cluster_CommonLbConfig

func Clustername added in v0.7.0

func Clustername(service *dag.TCPService) string

Clustername returns the name of the CDS cluster for this service.

func ConfigSource added in v0.7.0

func ConfigSource(cluster string) *core.ConfigSource

ConfigSource returns a *core.ConfigSource for cluster.

func DownstreamTLSContext added in v0.7.0

func DownstreamTLSContext(cert, key []byte, tlsMinProtoVersion auth.TlsParameters_TlsProtocol, alpnProtos ...string) *auth.DownstreamTlsContext

DownstreamTLSContext creates a new DownstreamTlsContext.

func HTTPConnectionManager added in v0.7.0

func HTTPConnectionManager(routename, accessLogPath string) listener.Filter

HTTPConnectionManager creates a new HTTP Connection Manager filter for the supplied route and access log.

func LBEndpoint added in v0.7.0

func LBEndpoint(addr string, port int) endpoint.LbEndpoint

LBEndpoint creates a new SocketAddress LbEndpoint.

func Listener

func Listener(name, address string, port int, lf []listener.ListenerFilter, filters ...listener.Filter) *v2.Listener

Listener returns a new v2.Listener for the supplied address, port, and filters.

func PrefixMatch added in v0.7.0

func PrefixMatch(prefix string) route.RouteMatch

PrefixMatch creates a RouteMatch for the supplied prefix.

func ProxyProtocol added in v0.10.0

func ProxyProtocol() listener.ListenerFilter

ProxyProtocol returns a new Proxy Protocol listener filter.

func RouteRoute added in v0.7.0

func RouteRoute(r *dag.Route, services []*dag.HTTPService) *route.Route_Route

RouteRoute creates a route.Route_Route for the services supplied. If len(services) is greater than one, the route's action will be a weighted cluster.

func SocketAddress added in v0.7.0

func SocketAddress(address string, port int) *core.Address

SocketAddress creates a new TCP core.Address.

func TCPProxy added in v0.8.0

func TCPProxy(statPrefix string, proxy *dag.TCPProxy, accessLogPath string) listener.Filter

TCPProxy creates a new TCPProxy filter.

func TLSInspector added in v0.7.0

func TLSInspector() listener.ListenerFilter

TLSInspector returns a new TLS inspector listener filter.

func UpgradeHTTPS added in v0.7.0

func UpgradeHTTPS() *route.Route_Redirect

UpgradeHTTPS returns a route Action that redirects the request to HTTPS.

func UpstreamTLSContext added in v0.7.0

func UpstreamTLSContext() *auth.UpstreamTlsContext

UpstreamTLSContext creates an ALPN h2 enabled TLS Context.

func VirtualHost

func VirtualHost(hostname string, port int) route.VirtualHost

VirtualHost creates a new route.VirtualHost.

Types

type BootstrapConfig added in v0.10.0

type BootstrapConfig struct {
	// AdminAccessLogPath is the path to write the access log for the administration server.
	// Defaults to /dev/null.
	AdminAccessLogPath string

	// AdminAddress is the TCP address that the administration server will listen on.
	// Defaults to 127.0.0.1.
	AdminAddress string

	// AdminPort is the port that the administration server will listen on.
	// Defaults to 9001.
	AdminPort int

	// StatsAddress is the address that the /stats path will listen on.
	// Defaults to 0.0.0.0 and is only enabled if StatsdEnabled is true.
	StatsAddress string

	// StatsPort is the port that the /stats path will listen on.
	// Defaults to 8002 and is only enabled if StatsdEnabled is true.
	StatsPort int

	// XDSAddress is the TCP address of the gRPC XDS management server.
	// Defaults to 127.0.0.1.
	XDSAddress string

	// XDSGRPCPort is the management server port that provides the v2 gRPC API.
	// Defaults to 8001.
	XDSGRPCPort int

	// StatsdEnabled enables metrics output via statsd
	// Defaults to false.
	StatsdEnabled bool

	// StatsdAddress is the UDP address of the statsd endpoint
	// Defaults to 127.0.0.1.
	StatsdAddress string

	// StatsdPort is port of the statsd endpoint
	// Defaults to 9125.
	StatsdPort int
}

BootstrapConfig holds configuration values for a v2.Bootstrap.

type ConfigWriter

type ConfigWriter struct {
	// AdminAccessLogPath is the path to write the access log for the administration server.
	// Defaults to /dev/null.
	AdminAccessLogPath string

	// AdminAddress is the TCP address that the administration server will listen on.
	// Defaults to 127.0.0.1.
	AdminAddress string

	// AdminPort is the port that the administration server will listen on.
	// Defaults to 9001.
	AdminPort int

	// StatsAddress is the address that the /stats path will listen on.
	// Defaults to 0.0.0.0 and is only enabled if StatsdEnabled is true.
	StatsAddress string

	// StatsPort is the port that the /stats path will listen on.
	// Defaults to 8002 and is only enabled if StatsdEnabled is true.
	StatsPort int

	// XDSAddress is the TCP address of the XDS management server. For JSON configurations
	// this is the address of the v1 REST API server. For YAML configurations this is the
	// address of the v2 gRPC management server.
	// Defaults to 127.0.0.1.
	XDSAddress string

	// XDSRESTPort is the management server port that provides the v1 REST API.
	// Defaults to 8000.
	XDSRESTPort int

	// XDSGRPCPort is the management server port that provides the v2 gRPC API.
	// Defaults to 8001.
	XDSGRPCPort int

	// StatsdEnabled enables metrics output via statsd
	// Defaults to false.
	StatsdEnabled bool

	// StatsdAddress is the UDP address of the statsd endpoint
	// Defaults to 127.0.0.1.
	StatsdAddress string

	// StatsdPort is port of the statsd endpoint
	// Defaults to 9125.
	StatsdPort int
}

A ConfigWriter knows how to write a bootstap Envoy configuration in YAML format.

func (*ConfigWriter) WriteYAML

func (c *ConfigWriter) WriteYAML(w io.Writer) error

WriteYAML writes the configuration to the supplied writer in YAML v2 format. If the supplied io.Writer is a file, it should end with a .yaml extension.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL