plugins

package
v1.17.0-beta22 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ListenerContext

type ListenerContext struct {
	// top-level Gateway
	Gateway *gwv1.Gateway
	// gw Listener being processed
	GwListener *gwv1.Listener
}

type ListenerPlugin

type ListenerPlugin interface {
	Plugin

	// ApplyListenerPlugin is called for each Listener in a Gateway
	ApplyListenerPlugin(
		ctx context.Context,
		listenerCtx *ListenerContext,
		outputListener *v1.Listener,
	) error
}

type Plugin

type Plugin interface{}

Plugin is an empty type for base plugins, currently no base methods.

type PostTranslationContext

type PostTranslationContext struct {
	// TranslatedGateways is the list of Gateways that were generated in a single translation run
	TranslatedGateways []TranslatedGateway
}

type PostTranslationPlugin

type PostTranslationPlugin interface {
	Plugin

	// ApplyPostTranslationPlugin is executed once at the end of a Gateway API translation run
	ApplyPostTranslationPlugin(
		ctx context.Context,
		postTranslationContext *PostTranslationContext,
	) error
}

type RouteContext

type RouteContext struct {
	// top-level gw Listener
	Listener *gwv1.Listener
	// top-level HTTPRoute
	Route *gwv1.HTTPRoute
	// specific HTTPRouteRule of the HTTPRoute being processed, nil if the entire HTTPRoute is being processed
	// rather than just a specific Rule
	Rule *gwv1.HTTPRouteRule
	// specific Match of the Rule being processed (as there may be multiple Matches per Rule), nil if there no Match
	// for this context, such as when an entire HTTPRoute is being processed
	Match *gwv1.HTTPRouteMatch
	// Reporter for the correct ParentRef associated with this HTTPRoute
	Reporter reports.ParentRefReporter
}

type RoutePlugin

type RoutePlugin interface {
	Plugin

	// ApplyRoutePlugin is called for each Match in a given Rule
	ApplyRoutePlugin(
		ctx context.Context,
		routeCtx *RouteContext,
		outputRoute *v1.Route,
	) error
}

type StatusContext

type StatusContext struct {
	ProxiesWithReports []translatorutils.ProxyWithReports
}

type StatusPlugin

type StatusPlugin interface {
	Plugin

	ApplyStatusPlugin(
		ctx context.Context,
		statusCtx *StatusContext,
	) error
}

Plugin that recieves proxy reports post-xds translation to handle any status reporting necessary

type TranslatedGateway

type TranslatedGateway struct {
	// Gateway is the input object that produced the Proxy
	Gateway gwv1.Gateway
}

Directories

Path Synopsis
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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