plugins

package
v0.18.23 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClusterGeneratorPlugin

type ClusterGeneratorPlugin interface {
	Plugin
	GeneratedClusters(params Params) ([]*envoyapi.Cluster, error)
}

Generation plugins

type FilterStage

type FilterStage int
const (
	FaultFilter FilterStage = iota
	PreInAuth
	InAuth
	PostInAuth
	PreOutAuth
	OutAuth
)

type HttpFilterPlugin

type HttpFilterPlugin interface {
	Plugin
	HttpFilters(params Params, listener *v1.HttpListener) ([]StagedHttpFilter, error)
}

type InitParams

type InitParams struct {
	Ctx                context.Context
	ExtensionsSettings *v1.Extensions
	Settings           *v1.Settings
}

type ListenerFilterChainPlugin added in v0.18.0

type ListenerFilterChainPlugin interface {
	Plugin
	ProcessListenerFilterChain(params Params, in *v1.Listener) ([]envoylistener.FilterChain, error)
}

Currently only supported for TCP listeners, plan to change this in the future

type ListenerFilterPlugin

type ListenerFilterPlugin interface {
	Plugin
	ProcessListenerFilter(params Params, in *v1.Listener) ([]StagedListenerFilter, error)
}

type ListenerPlugin

type ListenerPlugin interface {
	Plugin
	ProcessListener(params Params, in *v1.Listener, out *envoyapi.Listener) error
}

type Params

type Params struct {
	Ctx      context.Context
	Snapshot *v1.ApiSnapshot
}

type Plugin

type Plugin interface {
	Init(params InitParams) error
}

type RouteActionPlugin

type RouteActionPlugin interface {
	Plugin
	ProcessRouteAction(params RouteParams, inAction *v1.RouteAction, out *envoyroute.RouteAction) error
}

note: any route action plugin can be implemented as a route plugin suggestion: if your plugin requires configuration from a RoutePlugin field, implement the RoutePlugin interface

type RouteParams added in v0.14.0

type RouteParams struct {
	VirtualHostParams
	VirtualHost *v1.VirtualHost
}

type RoutePlugin

type RoutePlugin interface {
	Plugin
	ProcessRoute(params RouteParams, in *v1.Route, out *envoyroute.Route) error
}

type StagedHttpFilter

type StagedHttpFilter struct {
	HttpFilter *envoyhttp.HttpFilter
	Stage      FilterStage
}

func NewStagedFilter added in v0.11.1

func NewStagedFilter(name string, stage FilterStage) StagedHttpFilter

func NewStagedFilterWithConfig added in v0.11.1

func NewStagedFilterWithConfig(name string, config proto.Message, stage FilterStage) (StagedHttpFilter, error)

type StagedListenerFilter

type StagedListenerFilter struct {
	ListenerFilter envoylistener.Filter
	Stage          FilterStage
}

type UpstreamPlugin

type UpstreamPlugin interface {
	Plugin
	ProcessUpstream(params Params, in *v1.Upstream, out *envoyapi.Cluster) error
}

type VirtualHostParams added in v0.15.0

type VirtualHostParams struct {
	Params
	Proxy    *v1.Proxy
	Listener *v1.Listener
}

type VirtualHostPlugin

type VirtualHostPlugin interface {
	Plugin
	ProcessVirtualHost(params VirtualHostParams, in *v1.VirtualHost, out *envoyroute.VirtualHost) error
}

type WeightedDestinationPlugin added in v0.18.7

type WeightedDestinationPlugin interface {
	Plugin
	ProcessWeightedDestination(params RouteParams, in *v1.WeightedDestination, out *envoyroute.WeightedCluster_ClusterWeight) error
}

Directories

Path Synopsis
aws
ec2
internal
mocks
Package mock_kubernetes is a generated GoMock package.
Package mock_kubernetes is a generated GoMock package.

Jump to

Keyboard shortcuts

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