Documentation

Index

Constants

View Source
const (
	MetadataPluginName = "envoy.grpc_credentials.file_based_metadata"
)

Variables

View Source
var (
	TlsVersionNotFoundError = func(v v1.SslParameters_ProtocolVersion) error {
		return errors.Errorf("tls version %v not found", v)
	}

	SslSecretNotFoundError = func(err error) error {
		return errors.Wrapf(err, "SSL secret not found")
	}

	NotTlsSecretError = func(ref core.ResourceRef) error {
		return errors.Errorf("%v is not a TLS secret", ref)
	}

	NoCertificateFoundError = errors.New("no certificate information found")
)
View Source
var (
	InvalidRouteActionError = errors.New("cannot use this plugin on non-Route_Route route actions")
)

Functions

func EnsureRouteAction

func EnsureRouteAction(out *envoyroute.Route) error

func EnvoyPathAsString

func EnvoyPathAsString(matcher route.RouteMatch) string

func FilterLogLevel

func FilterLogLevel(r io.ReadCloser, level LogLevel) strings.Builder

Filter JSON logs with level

func NewSslConfigTranslator

func NewSslConfigTranslator() *sslConfigTranslator

func PathAsString

func PathAsString(matcher *matchers.Matcher) string

func SanitizeForEnvoy

func SanitizeForEnvoy(ctx context.Context, resourceName, resourceTypeName string) string

func SortGatewayRoutesByPath

func SortGatewayRoutesByPath(routes []*gatewayv1.Route)

func SortRoutesByPath

func SortRoutesByPath(routes []*v1.Route)

matchers sort according to the following rules: 1. exact path < regex path < prefix path 2. longer path string < shorter path string

Types

type CertSource

type CertSource interface {
	GetSecretRef() *core.ResourceRef
	GetSslFiles() *v1.SSLFiles
	GetSds() *v1.SDSConfig
	GetVerifySubjectAltName() []string
	GetParameters() *v1.SslParameters
}

type LogLevel

type LogLevel int8

A Level is a logging priority. Higher levels are more important.

const (
	LogLevelInfo LogLevel = iota - 1
	LogLevelWarn
	LogLevelError
	LogLevelAll
)

func (LogLevel) String

func (l LogLevel) String() string

String returns a lower-case ASCII representation of the log level.

type SslConfigTranslator

type SslConfigTranslator interface {
	ResolveUpstreamSslConfig(secrets v1.SecretList, uc *v1.UpstreamSslConfig) (*envoyauth.UpstreamTlsContext, error)
	ResolveDownstreamSslConfig(secrets v1.SecretList, dc *v1.SslConfig) (*envoyauth.DownstreamTlsContext, error)
	ResolveCommonSslConfig(cs CertSource, secrets v1.SecretList) (*envoyauth.CommonTlsContext, error)
}

Directories

Path Synopsis