plugins

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2019 License: Apache-2.0 Imports: 9 Imported by: 49

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 EdsPlugin

type EdsPlugin interface {
	Plugin
	RunEds(opts clients.WatchOpts) error
	SubscribeUpstream(upstream *v1.Upstream) (<-chan []*v1.Endpoint, error)
}

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 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, inPlugins map[string]*RoutePlugin, out *envoyroute.RouteAction) error
}

type RouteParams added in v0.14.0

type RouteParams struct {
	Params
	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 UdsPlugin

type UdsPlugin interface {
}

type UpstreamPlugin

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

type VirtualHostPlugin

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

Jump to

Keyboard shortcuts

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