translator

package
v1.4.14 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2020 License: Apache-2.0 Imports: 45 Imported by: 13

Documentation

Overview

Package translator is a generated protocol buffer package.

It is generated from these files:

functional_base.proto

It has these top-level messages:

FunctionalFilterRouteConfig

Index

Constants

View Source
const (
	SslCertificateChainKey = "tls.crt"
	SslPrivateKeyKey       = "tls.key"
	SslRootCaKey           = "tls.root"
)
View Source
const (
	DefaultHttpStatPrefix = "http"
)
View Source
const EnvoyLb = "envoy.lb"
View Source
const SoloAnnotations = "io.solo.annotations"

Variables

View Source
var (
	DefaultHealthCheckTimeout  = time.Second * 5
	DefaultHealthCheckInterval = time.Millisecond * 100
	DefaultThreshold           = &types.UInt32Value{
		Value: 5,
	}

	NilFieldError = func(fieldName string) error {
		return eris.Errorf("The field %s cannot be nil", fieldName)
	}
)
View Source
var (
	NoDestinationSpecifiedError = errors.New("must specify at least one weighted destination for multi destination routes")

	SubsetsMisconfiguredErr = errors.New("route has a subset config, but the upstream does not.")
)
View Source
var (
	ClusterConnectionTimeout = time.Second * 5
)

Functions

func CheckForDuplicateFilterChainMatches added in v1.4.13

func CheckForDuplicateFilterChainMatches(filterChains []*envoylistener.FilterChain, listenerReport *validationapi.ListenerReport)

Check for identical FilterChains to avoid the envoy error that occurs here: https://github.com/envoyproxy/envoy/blob/v1.15.0/source/server/filter_chain_manager_impl.cc#L162-L166 Note: this is NOT address non-equal but overlapping FilterChainMatches, which is a separate check here: https://github.com/envoyproxy/envoy/blob/50ef0945fa2c5da4bff7627c3abf41fdd3b7cffd/source/server/filter_chain_manager_impl.cc#L218-L354 Given the complexity of the overlap detection implementation, we don't want to duplicate that behavior here. We may want to consider invoking envoy from a library to detect overlapping and other issues, which would build off this discussion: https://github.com/solo-io/gloo/issues/2114 Visible for testing

func DataSourceFromString

func DataSourceFromString(str string) *envoycore.DataSource

func GlooMatcherToEnvoyMatcher added in v1.0.0

func GlooMatcherToEnvoyMatcher(params plugins.Params, matcher *matchers.Matcher) envoyroute.RouteMatch

utility function to transform gloo matcher to envoy route matcher

func MakeRdsResources added in v1.0.0

func MakeRdsResources(routeConfigs []*envoyapi.RouteConfiguration) envoycache.Resources

func NewAccessLogWithConfig added in v0.18.1

func NewAccessLogWithConfig(name string, config proto.Message) (envoyal.AccessLog, error)

func NewFilterWithConfig added in v0.13.1

func NewFilterWithConfig(name string, config proto.Message) (*envoylistener.Filter, error)

func NewHttpConnectionManager

func NewHttpConnectionManager(listener *v1.HttpListener, httpFilters []*envoyhttp.HttpFilter, rdsName string) *envoyhttp.HttpConnectionManager

func ParseConfig added in v0.13.1

func ParseConfig(c configObject, config proto.Message) error

func ParseGogoConfig added in v1.2.0

func ParseGogoConfig(c gogoConfigObject, config proto.Message) error

func UpstreamToClusterName

func UpstreamToClusterName(upstream core.ResourceRef) string

returns the name of the cluster created for a given upstream

func ValidateRouteDestinations added in v0.18.0

func ValidateRouteDestinations(snap *v1.ApiSnapshot, action *v1.RouteAction) error

func ValidateTcpRouteDestinations added in v1.4.2

func ValidateTcpRouteDestinations(snap *v1.ApiSnapshot, action *v1.TcpHost_TcpAction) error

func ValidateVirtualHostDomains added in v1.2.5

func ValidateVirtualHostDomains(virtualHosts []*v1.VirtualHost, httpListenerReport *validationapi.HttpListenerReport)

returns an error if any of the virtualhost domains overlap Visible for testing

Types

type FunctionalFilterRouteConfig

type FunctionalFilterRouteConfig struct {
	FunctionName string `protobuf:"bytes,1,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"`
}

func (*FunctionalFilterRouteConfig) Descriptor

func (*FunctionalFilterRouteConfig) Descriptor() ([]byte, []int)

func (*FunctionalFilterRouteConfig) GetFunctionName

func (m *FunctionalFilterRouteConfig) GetFunctionName() string

func (*FunctionalFilterRouteConfig) ProtoMessage

func (*FunctionalFilterRouteConfig) ProtoMessage()

func (*FunctionalFilterRouteConfig) Reset

func (m *FunctionalFilterRouteConfig) Reset()

func (*FunctionalFilterRouteConfig) String

func (m *FunctionalFilterRouteConfig) String() string

type Translator

type Translator interface {
	Translate(params plugins.Params, proxy *v1.Proxy) (envoycache.Snapshot, reporter.ResourceReports, *validationapi.ProxyReport, error)
}

func NewTranslator

func NewTranslator(sslConfigTranslator utils.SslConfigTranslator, settings *v1.Settings, getPlugins func() []plugins.Plugin) Translator

Jump to

Keyboard shortcuts

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