Documentation
¶
Index ¶
- type ApisixGatewayIR
- type ApisixHTTPRouteIR
- type ApisixServiceIR
- type CiliumGatewayIR
- type CiliumHTTPRouteIR
- type CiliumServiceIR
- type GatewayContext
- type GceGatewayIR
- type GceHTTPRouteIR
- type GceServiceIR
- type HTTPRouteContext
- type HealthCheckConfig
- type IR
- type IngressNginxGatewayIR
- type IngressNginxHTTPRouteIR
- type IngressNginxServiceIR
- type IstioGatewayIR
- type IstioHTTPRouteIR
- type IstioServiceIR
- type KongGatewayIR
- type KongHTTPRouteIR
- type KongServiceIR
- type Openapi3GatewayIR
- type Openapi3HTTPRouteIR
- type Openapi3ServiceIR
- type ProviderSpecificGatewayIR
- type ProviderSpecificHTTPRouteIR
- type ProviderSpecificServiceIR
- type SecurityPolicyConfig
- type SessionAffinityConfig
- type SslPolicyConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApisixGatewayIR ¶
type ApisixGatewayIR struct{}
type ApisixHTTPRouteIR ¶
type ApisixHTTPRouteIR struct{}
type ApisixServiceIR ¶
type ApisixServiceIR struct{}
type CiliumGatewayIR ¶
type CiliumGatewayIR struct{}
type CiliumHTTPRouteIR ¶
type CiliumHTTPRouteIR struct{}
type CiliumServiceIR ¶
type CiliumServiceIR struct{}
type GatewayContext ¶
type GatewayContext struct { gatewayv1.Gateway ProviderSpecificIR ProviderSpecificGatewayIR }
GatewayContext contains the Gateway-API Gateway object and GatewayIR, which has a dedicated field for each provider to specify their extension features on Gateways. The IR will contain necessary information to construct the Gateway extensions, but not the extensions themselves.
type GceGatewayIR ¶
type GceGatewayIR struct { EnableHTTPSRedirect bool SslPolicy *SslPolicyConfig }
type GceHTTPRouteIR ¶
type GceHTTPRouteIR struct{}
type GceServiceIR ¶
type GceServiceIR struct { SessionAffinity *SessionAffinityConfig SecurityPolicy *SecurityPolicyConfig HealthCheck *HealthCheckConfig }
type HTTPRouteContext ¶
type HTTPRouteContext struct { gatewayv1.HTTPRoute ProviderSpecificIR ProviderSpecificHTTPRouteIR }
HTTPRouteContext contains the Gateway-API HTTPRoute object and HTTPRouteIR, which has a dedicated field for each provider to specify their extension features on HTTPRoutes. The IR will contain necessary information to construct the HTTPRoute extensions, but not the extensions themselves.
type HealthCheckConfig ¶
type IR ¶
type IR struct { Gateways map[types.NamespacedName]GatewayContext HTTPRoutes map[types.NamespacedName]HTTPRouteContext Services map[types.NamespacedName]ProviderSpecificServiceIR GatewayClasses map[types.NamespacedName]gatewayv1.GatewayClass TLSRoutes map[types.NamespacedName]gatewayv1alpha2.TLSRoute TCPRoutes map[types.NamespacedName]gatewayv1alpha2.TCPRoute UDPRoutes map[types.NamespacedName]gatewayv1alpha2.UDPRoute ReferenceGrants map[types.NamespacedName]gatewayv1beta1.ReferenceGrant }
IR holds specifications of Gateway Objects for supporting Ingress extensions, annotations, and proprietary API features not supported as Gateway core features. An IR field can be mapped to core Gateway-API fields, or provider-specific Gateway extensions.
func MergeIRs ¶
MergeIRs accepts multiple IRs and creates a unique IR struct built as follows:
- GatewayClasses, Routes, and ReferenceGrants are grouped into the same maps
- Gateways may have the same NamespaceName even if they come from different ingresses, as they have a their GatewayClass' name as name. For this reason, if there are mutiple gateways named the same, their listeners are merged into a unique Gateway.
This behavior is likely to change after https://github.com/kubernetes-sigs/gateway-api/pull/1863 takes place.
type IngressNginxGatewayIR ¶
type IngressNginxGatewayIR struct{}
type IngressNginxHTTPRouteIR ¶
type IngressNginxHTTPRouteIR struct{}
type IngressNginxServiceIR ¶
type IngressNginxServiceIR struct{}
type IstioGatewayIR ¶
type IstioGatewayIR struct{}
type IstioHTTPRouteIR ¶
type IstioHTTPRouteIR struct{}
type IstioServiceIR ¶
type IstioServiceIR struct{}
type KongGatewayIR ¶
type KongGatewayIR struct{}
type KongHTTPRouteIR ¶
type KongHTTPRouteIR struct{}
type KongServiceIR ¶
type KongServiceIR struct{}
type Openapi3GatewayIR ¶
type Openapi3GatewayIR struct{}
type Openapi3HTTPRouteIR ¶
type Openapi3HTTPRouteIR struct{}
type Openapi3ServiceIR ¶
type Openapi3ServiceIR struct{}
type ProviderSpecificGatewayIR ¶
type ProviderSpecificGatewayIR struct { Apisix *ApisixGatewayIR Cilium *CiliumGatewayIR Gce *GceGatewayIR IngressNginx *IngressNginxGatewayIR Istio *IstioGatewayIR Kong *KongGatewayIR Openapi3 *Openapi3GatewayIR }
type ProviderSpecificHTTPRouteIR ¶
type ProviderSpecificHTTPRouteIR struct { Apisix *ApisixHTTPRouteIR Cilium *CiliumHTTPRouteIR Gce *GceHTTPRouteIR IngressNginx *IngressNginxHTTPRouteIR Istio *IstioHTTPRouteIR Kong *KongHTTPRouteIR Openapi3 *Openapi3HTTPRouteIR }
type ProviderSpecificServiceIR ¶
type ProviderSpecificServiceIR struct { Apisix *ApisixServiceIR Cilium *CiliumServiceIR Gce *GceServiceIR IngressNginx *IngressNginxServiceIR Istio *IstioServiceIR Kong *KongServiceIR Openapi3 *Openapi3ServiceIR }
ServiceIR contains a dedicated field for each provider to specify their extension features on Service.
type SecurityPolicyConfig ¶
type SecurityPolicyConfig struct {
Name string
}
type SessionAffinityConfig ¶
type SslPolicyConfig ¶
type SslPolicyConfig struct {
Name string
}