Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BackendPlugin ¶
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.