Documentation
¶
Overview ¶
Package conversion is responsible for the process of converting AGIC resources to AGC resources.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Convert ¶
func Convert(input resources.AGICResources, opts Options) (resources.AGCResourceGraph, error)
Convert receives the collection of AGIC resources and produces a set of AGC resources. It updates the status of the input resources as it goes.
Types ¶
type AnnotationHandler ¶
type AnnotationHandler func(resources.AGCResourceGraph, *GatewayContext, *HTTPRouteContext, *resources.IngressContext, *resources.IngressAnnotationContext) error
AnnotationHandler processes a single ingress annotation and updates the Gateway API resource graph. It receives the resource graph, gateway context, HTTP route context, ingress context, and annotation context. Returns an error if the annotation value is invalid or conversion fails.
type BackendGroup ¶
type BackendGroup struct {
// contains filtered or unexported fields
}
BackendGroup represents a collection of services targeted by an IngressRuleGroup
func NewBackendGroup ¶
func NewBackendGroup(routeCtx *HTTPRouteContext) BackendGroup
func (BackendGroup) Apply ¶
func (bg BackendGroup) Apply(fn func(service ServiceDetails) error) error
type GatewayContext ¶
type GatewayContext struct {
*gatewayapi_v1.Gateway
HTTPListener *gatewayapi_v1.Listener
HTTPSListeners map[ListenerKey]HTTPSListener
HasHTTPSRedirect bool
// contains filtered or unexported fields
}
func NewGatewayContext ¶
func NewGatewayContext(gateway *gatewayapi_v1.Gateway) *GatewayContext
func (*GatewayContext) EnsureHTTPListener ¶
func (g *GatewayContext) EnsureHTTPListener() gatewayapi_v1.SectionName
func (*GatewayContext) EnsureHTTPSListener ¶
func (g *GatewayContext) EnsureHTTPSListener(graph *resources.AGCResourceGraph, hostname string, secretNN types.NamespacedName) gatewayapi_v1.SectionName
func (*GatewayContext) RegisterIssue ¶
func (g *GatewayContext) RegisterIssue(issue resources.Issue)
type HTTPRouteContext ¶
type HTTPRouteContext struct {
*gatewayapi_v1.HTTPRoute
// contains filtered or unexported fields
}
func NewHTTPRouteContext ¶
func NewHTTPRouteContext(route *gatewayapi_v1.HTTPRoute) *HTTPRouteContext
func (*HTTPRouteContext) EnsureHTTPSListener ¶
func (h *HTTPRouteContext) EnsureHTTPSListener(graph *resources.AGCResourceGraph, gatewayCtx GatewayContext, hostname string, secretName string, secretNamespace string)
func (HTTPRouteContext) GetParentHTTPSListenerNames ¶
func (h HTTPRouteContext) GetParentHTTPSListenerNames(gatewayCtx GatewayContext) []gatewayapi_v1.SectionName
type HTTPSListener ¶
type HTTPSListener struct {
Secrets sets.Set[types.NamespacedName]
*gatewayapi_v1.Listener
}
func (*HTTPSListener) AddSecret ¶
func (hl *HTTPSListener) AddSecret(secretNN types.NamespacedName)
type ListenerKey ¶
type Provider ¶
type Provider interface {
// GetAnnotationHandlers returns a map of annotation keys to their corresponding handler functions.
// The keys are the full annotation names (e.g., "appgw.ingress.kubernetes.io/ssl-redirect").
GetAnnotationHandlers() map[string]AnnotationHandler
}
Provider defines the interface for source systems that can be migrated from (e.g. AGIC).
type ServiceDetails ¶
type ServiceDetails struct {
NamespacedName types.NamespacedName
Port *int32
}
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
providers
|
|
|
nginx
Package nginx provides annotation handlers for migrating NGINX Ingress Controller ingress resources to Gateway API resources for Azure Application Gateway for Containers.
|
Package nginx provides annotation handlers for migrating NGINX Ingress Controller ingress resources to Gateway API resources for Azure Application Gateway for Containers. |