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
- Variables
- func CheckForDuplicateFilterChainMatches(filterChains []*envoylistener.FilterChain, ...)
- func DataSourceFromString(str string) *envoycore.DataSource
- func GlooMatcherToEnvoyMatcher(params plugins.Params, matcher *matchers.Matcher) envoyroute.RouteMatch
- func MakeRdsResources(routeConfigs []*envoyapi.RouteConfiguration) envoycache.Resources
- func NewAccessLogWithConfig(name string, config proto.Message) (envoyal.AccessLog, error)
- func NewFilterWithConfig(name string, config proto.Message) (*envoylistener.Filter, error)
- func NewHttpConnectionManager(listener *v1.HttpListener, httpFilters []*envoyhttp.HttpFilter, rdsName string) *envoyhttp.HttpConnectionManager
- func ParseConfig(c configObject, config proto.Message) error
- func ParseGogoConfig(c gogoConfigObject, config proto.Message) error
- func UpstreamToClusterName(upstream core.ResourceRef) string
- func ValidateRouteDestinations(snap *v1.ApiSnapshot, action *v1.RouteAction) error
- func ValidateTcpRouteDestinations(snap *v1.ApiSnapshot, action *v1.TcpHost_TcpAction) error
- func ValidateVirtualHostDomains(virtualHosts []*v1.VirtualHost, ...)
- type FunctionalFilterRouteConfig
- type Translator
Constants ¶
const ( SslCertificateChainKey = "tls.crt" SslPrivateKeyKey = "tls.key" SslRootCaKey = "tls.root" )
const (
DefaultHttpStatPrefix = "http"
)
const EnvoyLb = "envoy.lb"
const SoloAnnotations = "io.solo.annotations"
Variables ¶
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) } )
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.") )
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 NewFilterWithConfig ¶ added in v0.13.1
func NewHttpConnectionManager ¶
func NewHttpConnectionManager(listener *v1.HttpListener, httpFilters []*envoyhttp.HttpFilter, rdsName string) *envoyhttp.HttpConnectionManager
func ParseConfig ¶ added in v0.13.1
func ParseGogoConfig ¶ added in v1.2.0
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