Documentation ¶
Index ¶
Constants ¶
const ( // FeatureChannelExperimental is used for experimental features. FeatureChannelExperimental = "experimental" // FeatureChannelStandard is used for standard features. FeatureChannelStandard = "standard" )
Variables ¶
var ( // GatewayPort8080Feature contains metadata for the GatewayPort8080 feature. GatewayPort8080Feature = Feature{ Name: SupportGatewayPort8080, Channel: FeatureChannelStandard, } // GatewayStaticAddressesFeature contains metadata for the GatewayStaticAddresses feature. GatewayStaticAddressesFeature = Feature{ Name: SupportGatewayStaticAddresses, Channel: FeatureChannelStandard, } // GatewayHTTPListenerIsolationFeature contains metadata for the GatewayHTTPListenerIsolation feature. GatewayHTTPListenerIsolationFeature = Feature{ Name: SupportGatewayHTTPListenerIsolation, Channel: FeatureChannelStandard, } // GatewayInfrastructurePropagationFeature contains metadata for the GatewayInfrastructurePropagation feature. GatewayInfrastructurePropagationFeature = Feature{ Name: SupportGatewayInfrastructurePropagation, Channel: FeatureChannelExperimental, } )
var ( // HTTPRouteDestinationPortMatchingFeature contains metadata for the HTTPRouteDestinationPortMatching feature. HTTPRouteDestinationPortMatchingFeature = Feature{ Name: SupportHTTPRouteDestinationPortMatching, Channel: FeatureChannelExperimental, } // HTTPRouteBackendRequestHeaderModificationFeature contains metadata for the HTTPRouteBackendRequestHeaderModification feature. HTTPRouteBackendRequestHeaderModificationFeature = Feature{ Name: SupportHTTPRouteBackendRequestHeaderModification, Channel: FeatureChannelStandard, } // HTTPRouteQueryParamMatchingFeature contains metadata for the HTTPRouteQueryParamMatching feature. HTTPRouteQueryParamMatchingFeature = Feature{ Name: SupportHTTPRouteQueryParamMatching, Channel: FeatureChannelStandard, } // HTTPRouteMethodMatchingFeature contains metadata for the HTTPRouteMethodMatching feature. HTTPRouteMethodMatchingFeature = Feature{ Name: SupportHTTPRouteMethodMatching, Channel: FeatureChannelStandard, } // HTTPRouteResponseHeaderModificationFeature contains metadata for the HTTPRouteResponseHeaderModification feature. HTTPRouteResponseHeaderModificationFeature = Feature{ Name: SupportHTTPRouteResponseHeaderModification, Channel: FeatureChannelStandard, } // HTTPRoutePortRedirectFeature contains metadata for the HTTPRoutePortRedirect feature. HTTPRoutePortRedirectFeature = Feature{ Name: SupportHTTPRoutePortRedirect, Channel: FeatureChannelStandard, } // HTTPRouteSchemeRedirectFeature contains metadata for the HTTPRouteSchemeRedirect feature. HTTPRouteSchemeRedirectFeature = Feature{ Name: SupportHTTPRouteSchemeRedirect, Channel: FeatureChannelStandard, } // HTTPRoutePathRedirectFeature contains metadata for the HTTPRoutePathRedirect feature. HTTPRoutePathRedirectFeature = Feature{ Name: SupportHTTPRoutePathRedirect, Channel: FeatureChannelStandard, } // HTTPRouteHostRewriteFeature contains metadata for the HTTPRouteHostRewrite feature. HTTPRouteHostRewriteFeature = Feature{ Name: SupportHTTPRouteHostRewrite, Channel: FeatureChannelStandard, } // HTTPRoutePathRewriteFeature contains metadata for the HTTPRoutePathRewrite feature. HTTPRoutePathRewriteFeature = Feature{ Name: SupportHTTPRoutePathRewrite, Channel: FeatureChannelStandard, } // HTTPRouteRequestMirrorFeature contains metadata for the HTTPRouteRequestMirror feature. HTTPRouteRequestMirrorFeature = Feature{ Name: SupportHTTPRouteRequestMirror, Channel: FeatureChannelStandard, } // HTTPRouteRequestMultipleMirrorsFeature contains metadata for the HTTPRouteRequestMultipleMirrors feature. HTTPRouteRequestMultipleMirrorsFeature = Feature{ Name: SupportHTTPRouteRequestMultipleMirrors, Channel: FeatureChannelStandard, } // HTTPRouteRequestTimeoutFeature contains metadata for the HTTPRouteRequestTimeout feature. HTTPRouteRequestTimeoutFeature = Feature{ Name: SupportHTTPRouteRequestTimeout, Channel: FeatureChannelStandard, } // HTTPRouteBackendTimeoutFeature contains metadata for the HTTPRouteBackendTimeout feature. HTTPRouteBackendTimeoutFeature = Feature{ Name: SupportHTTPRouteBackendTimeout, Channel: FeatureChannelStandard, } // HTTPRouteParentRefPortFeature contains metadata for the HTTPRouteParentRefPort feature. HTTPRouteParentRefPortFeature = Feature{ Name: SupportHTTPRouteParentRefPort, Channel: FeatureChannelStandard, } // HTTPRouteBackendProtocolH2CFeature contains metadata for the HTTPRouteBackendProtocolH2C feature. HTTPRouteBackendProtocolH2CFeature = Feature{ Name: SupportHTTPRouteBackendProtocolH2C, Channel: FeatureChannelStandard, } // HTTPRouteBackendProtocolWebSocketFeature contains metadata for the HTTPRouteBackendProtocolWebSocket feature. HTTPRouteBackendProtocolWebSocketFeature = Feature{ Name: SupportHTTPRouteBackendProtocolWebSocket, Channel: FeatureChannelStandard, } )
var ( // MeshClusterIPMatchingFeature contains metadata for the MeshClusterIPMatching feature. MeshClusterIPMatchingFeature = Feature{ Name: SupportMeshClusterIPMatching, Channel: FeatureChannelStandard, } // MeshConsumerRouteFeature contains metadata for the MeshConsumerRoute feature. MeshConsumerRouteFeature = Feature{ Name: SupportMeshConsumerRoute, Channel: FeatureChannelStandard, } )
var ( AllFeatures = sets.New[Feature](). Insert(GatewayCoreFeatures.UnsortedList()...). Insert(GatewayExtendedFeatures.UnsortedList()...). Insert(ReferenceGrantCoreFeatures.UnsortedList()...). Insert(HTTPRouteCoreFeatures.UnsortedList()...). Insert(HTTPRouteExtendedFeatures.UnsortedList()...). Insert(TLSRouteCoreFeatures.UnsortedList()...). Insert(MeshCoreFeatures.UnsortedList()...). Insert(MeshExtendedFeatures.UnsortedList()...). Insert(GRPCRouteCoreFeatures.UnsortedList()...) )
var GRPCRouteCoreFeatures = sets.New( GRPCRouteFeature, )
GRPCRouteCoreFeatures includes all the supported features for GRPCRoute at a Core level of support.
var GRPCRouteFeature = Feature{ Name: SupportGRPCRoute, Channel: FeatureChannelStandard, }
GRPCRouteFeature contains metadata for the GRPCRoute feature.
var GatewayCoreFeatures = sets.New( GatewayFeature, )
GatewayCoreFeatures are the features that are required to be conformant with the Gateway resource.
var GatewayExtendedFeatures = sets.New( GatewayPort8080Feature, GatewayStaticAddressesFeature, GatewayHTTPListenerIsolationFeature, GatewayInfrastructurePropagationFeature, )
GatewayExtendedFeatures are extra generic features that implementations may choose to support as an opt-in. This does not include any Core Features.
var GatewayFeature = Feature{ Name: SupportGateway, Channel: FeatureChannelStandard, }
GatewayFeature contains metadata for the Gateway feature.
var HTTPRouteCoreFeatures = sets.New( HTTPRouteFeature, )
HTTPRouteCoreFeatures includes all SupportedFeatures needed to be conformant with the HTTPRoute resource.
var HTTPRouteExtendedFeatures = sets.New( HTTPRouteDestinationPortMatchingFeature, HTTPRouteBackendRequestHeaderModificationFeature, HTTPRouteQueryParamMatchingFeature, HTTPRouteMethodMatchingFeature, HTTPRouteResponseHeaderModificationFeature, HTTPRoutePortRedirectFeature, HTTPRouteSchemeRedirectFeature, HTTPRoutePathRedirectFeature, HTTPRouteHostRewriteFeature, HTTPRoutePathRewriteFeature, HTTPRouteRequestMirrorFeature, HTTPRouteRequestMultipleMirrorsFeature, HTTPRouteRequestTimeoutFeature, HTTPRouteBackendTimeoutFeature, HTTPRouteParentRefPortFeature, HTTPRouteBackendProtocolH2CFeature, HTTPRouteBackendProtocolWebSocketFeature, )
HTTPRouteExtendedFeatures includes all extended features for HTTPRoute conformance and can be used to opt-in to run all HTTPRoute extended features tests. This does not include any Core Features.
var HTTPRouteFeature = Feature{ Name: SupportHTTPRoute, Channel: FeatureChannelStandard, }
HTTPRouteFeature contains metadata for the HTTPRoute feature.
var MeshCoreFeatures = sets.New( MeshFeature, )
MeshCoreFeatures includes all the supported features for the service mesh at a Core level of support.
var MeshExtendedFeatures = sets.New( MeshClusterIPMatchingFeature, MeshConsumerRouteFeature, )
MeshExtendedFeatures includes all the supported features for the service mesh at an Extended level of support.
var MeshFeature = Feature{ Name: SupportMesh, Channel: FeatureChannelStandard, }
MeshFeature contains metadata for the Mesh feature.
var ReferenceGrantCoreFeatures = sets.New( ReferenceGrantFeature, )
ReferenceGrantCoreFeatures includes all SupportedFeatures needed to be conformant with the ReferenceGrant resource.
var ReferenceGrantFeature = Feature{ Name: SupportReferenceGrant, Channel: FeatureChannelStandard, }
ReferenceGrantFeature contains metadata for the ReferenceGrant feature.
var TLSRouteCoreFeatures = sets.New( TLSRouteFeature, )
TLSCoreFeatures includes all the supported features for the TLSRoute API at a Core level of support.
var TLSRouteFeature = Feature{ Name: SupportTLSRoute, Channel: FeatureChannelExperimental, }
TLSRouteFeature contains metadata for the TLSRoute feature.
var UDPRouteFeature = Feature{ Name: SupportUDPRoute, Channel: FeatureChannelExperimental, }
UDPRouteFeature contains metadata for the UDPRoute feature.
var UDPRouteFeatures = map[FeatureName]Feature{ SupportUDPRoute: UDPRouteFeature, }
UDPRouteCoreFeatures includes all SupportedFeatures needed to be conformant with the UDPRoute resource.
Functions ¶
func SetsToNamesSet ¶ added in v1.2.0
SetsToNamesSet merges multiple sets of features into a single one and returns it.
Types ¶
type Feature ¶ added in v1.2.0
type Feature struct { Name FeatureName Channel FeatureChannel }
Feature is a struct that represents a feature.
func GetFeature ¶ added in v1.2.0
func GetFeature(name FeatureName) Feature
GetFeature returns the feature with the given name.
type FeatureChannel ¶ added in v1.2.0
type FeatureChannel string
FeatureChannel is the type used to represent the channel a feature belongs to.
type FeatureName ¶ added in v1.2.0
type FeatureName string
FeatureName is the type used to represent the name of a feature.
const ( // This option indicates that the Gateway can also use port 8080 SupportGatewayPort8080 FeatureName = "GatewayPort8080" // SupportGatewayStaticAddresses option indicates that the Gateway is capable // of allocating pre-determined addresses, rather than dynamically having // addresses allocated for it. SupportGatewayStaticAddresses FeatureName = "GatewayStaticAddresses" // SupportGatewayHTTPListenerIsolation option indicates support for the isolation // of HTTP listeners. SupportGatewayHTTPListenerIsolation FeatureName = "GatewayHTTPListenerIsolation" // SupportGatewayInfrastructureAnnotations option indicates support for // spec.infrastructure.annotations and spec.infrastrucutre.labels SupportGatewayInfrastructurePropagation FeatureName = "GatewayInfrastructurePropagation" )
const ( // This option indicates support for Destination Port matching. SupportHTTPRouteDestinationPortMatching FeatureName = "HTTPRouteDestinationPortMatching" // This option indicates support for HTTPRoute backend request header modification SupportHTTPRouteBackendRequestHeaderModification FeatureName = "HTTPRouteBackendRequestHeaderModification" // This option indicates support for HTTPRoute query param matching (extended conformance). SupportHTTPRouteQueryParamMatching FeatureName = "HTTPRouteQueryParamMatching" // This option indicates support for HTTPRoute method matching (extended conformance). SupportHTTPRouteMethodMatching FeatureName = "HTTPRouteMethodMatching" // This option indicates support for HTTPRoute response header modification (extended conformance). SupportHTTPRouteResponseHeaderModification FeatureName = "HTTPRouteResponseHeaderModification" // This option indicates support for HTTPRoute port redirect (extended conformance). SupportHTTPRoutePortRedirect FeatureName = "HTTPRoutePortRedirect" // This option indicates support for HTTPRoute scheme redirect (extended conformance). SupportHTTPRouteSchemeRedirect FeatureName = "HTTPRouteSchemeRedirect" // This option indicates support for HTTPRoute path redirect (extended conformance). SupportHTTPRoutePathRedirect FeatureName = "HTTPRoutePathRedirect" // This option indicates support for HTTPRoute host rewrite (extended conformance) SupportHTTPRouteHostRewrite FeatureName = "HTTPRouteHostRewrite" // This option indicates support for HTTPRoute path rewrite (extended conformance) SupportHTTPRoutePathRewrite FeatureName = "HTTPRoutePathRewrite" // This option indicates support for HTTPRoute request mirror (extended conformance). SupportHTTPRouteRequestMirror FeatureName = "HTTPRouteRequestMirror" // This option indicates support for multiple RequestMirror filters within the same HTTPRoute rule (extended conformance). SupportHTTPRouteRequestMultipleMirrors FeatureName = "HTTPRouteRequestMultipleMirrors" // This option indicates support for HTTPRoute request timeouts (extended conformance). SupportHTTPRouteRequestTimeout FeatureName = "HTTPRouteRequestTimeout" // This option indicates support for HTTPRoute backendRequest timeouts (extended conformance). SupportHTTPRouteBackendTimeout FeatureName = "HTTPRouteBackendTimeout" // This option indicates support for HTTPRoute parentRef port (extended conformance). SupportHTTPRouteParentRefPort FeatureName = "HTTPRouteParentRefPort" // This option indicates support for HTTPRoute with a backendref with an appProtocol 'kubernetes.io/h2c' (extended conformance) SupportHTTPRouteBackendProtocolH2C FeatureName = "HTTPRouteBackendProtocolH2C" // This option indicates support for HTTPRoute with a backendref with an appProtoocol 'kubernetes.io/ws' (extended conformance) SupportHTTPRouteBackendProtocolWebSocket FeatureName = "HTTPRouteBackendProtocolWebSocket" )
const ( // This option indicates support for matching Service traffic specifically by Cluster IP rather than other mechanisms. SupportMeshClusterIPMatching FeatureName = "MeshClusterIPMatching" // This option indicates support for "consumer" routes, where a namespace creates a route for a service in another namespace. SupportMeshConsumerRoute FeatureName = "MeshConsumerRoute" )
const ( // This option indicates general support for GRPCRoute. SupportGRPCRoute FeatureName = "GRPCRoute" )
const ( // This option indicates support for Gateway. // Opting out of this is allowed only for GAMMA-only implementations SupportGateway FeatureName = "Gateway" )
const ( // This option indicates support for HTTPRoute SupportHTTPRoute FeatureName = "HTTPRoute" )
const ( // This option indicates general support for service mesh SupportMesh FeatureName = "Mesh" )
const ( // This option indicates support for ReferenceGrant. SupportReferenceGrant FeatureName = "ReferenceGrant" )
const ( // This option indicates support for TLSRoute SupportTLSRoute FeatureName = "TLSRoute" )
const ( // This option indicates support for UDPRoute SupportUDPRoute FeatureName = "UDPRoute" )