Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BackendPlugin ¶ added in v1.18.0
type BackendPlugin interface {
Plugin
// ApplyBackendPlugin returns true if the given backendRef is something it can handle
ApplyBackendPlugin(
resolvedBackend client.Object,
ref gwv1.BackendObjectReference,
) (*v1.Destination, bool)
}
BackendPlugin allows transforming a backendRef into a destination
type DelegationCtx ¶
type DelegationCtx struct {
Ref types.NamespacedName
}
type ListenerContext ¶
type ListenerPlugin ¶
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
HTTPRoute *gwv1.HTTPRoute
// top-level TCPRoute
TCPRoute *gwv1a2.TCPRoute
// Hostnames associated with the Route.
// Note: this should be used over Route.spec.Hostnames as
// delegatee (child) routes of delegated routes will not have spec.Hostnames set.
Hostnames []gwv1.Hostname
// DelegationChain is a doubly linked list containing the delegation chain from child to its ancestors
// excluding the child itself, where the elements are the DelegationCtx type
DelegationChain *list.List
// 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
//
// For delegatee/child routes, this will be called multiple times for
// each route in the delegation chain starting from the child to the parent
// up the chain. Plugins may choose to override the existing configuration
// associated with a route when the plugin is invoked multiple times on the
// same route but with different configuration.
ApplyRoutePlugin(
ctx context.Context,
routeCtx *RouteContext,
outputRoute *v1.Route,
) error
}
type StatusContext ¶
type StatusContext struct {
ProxiesWithReports []translatorutils.ProxyWithReports
}
type StatusPlugin ¶
type StatusPlugin interface {
Plugin
// TODO: tmp fix
InitStatusPlugin(
ctx context.Context,
statusCtx *StatusContext,
) error
ApplyStatusPlugin(
ctx context.Context,
statusCtx *StatusContext,
) error
}
Plugin that recieves proxy reports post-xds translation to handle any status reporting necessary
type TranslatedGateway ¶
Click to show internal directories.
Click to hide internal directories.