Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
 - Variables
 - func GetPermittedForReferenceGrantFrom(log logr.Logger, from ReferenceGrantFrom, grants []*ReferenceGrant) map[Namespace][]ReferenceGrantTo
 - type AllowedRoutes
 - type AnnotationKey
 - type AnnotationValue
 - type BackendObjectReference
 - type BackendRef
 - type BackendRefT
 - type BackendTLSPolicy
 - type BackendTLSPolicyList
 - type BackendTLSPolicySpec
 - type BackendTLSPolicyValidation
 - type CommonRouteSpec
 - type Duration
 - type GRPCBackendRef
 - type GRPCHeaderMatch
 - type GRPCHeaderMatchType
 - type GRPCHeaderName
 - type GRPCMethodMatch
 - type GRPCMethodMatchType
 - type GRPCRoute
 - type GRPCRouteList
 - type GRPCRouteMatch
 - type GRPCRouteRule
 - type GRPCRouteSpec
 - type GRPCRouteStatus
 - type Gateway
 - type GatewayClass
 - type GatewayClassList
 - type GatewayClassSpec
 - type GatewayClassStatus
 - type GatewayController
 - type GatewayList
 - type GatewaySpec
 - type GatewayStatus
 - type GatewayStatusAddress
 - type GatewayTLSConfig
 - type Group
 - type HTTPBackendRef
 - type HTTPHeader
 - type HTTPHeaderFilter
 - type HTTPHeaderMatch
 - type HTTPHeaderName
 - type HTTPMethod
 - type HTTPPathMatch
 - type HTTPPathModifier
 - type HTTPPathModifierType
 - type HTTPQueryParamMatch
 - type HTTPRequestRedirectFilter
 - type HTTPRoute
 - type HTTPRouteFilter
 - type HTTPRouteFilterType
 - type HTTPRouteList
 - type HTTPRouteMatch
 - type HTTPRouteRule
 - type HTTPRouteSpec
 - type HTTPRouteStatus
 - type HTTPRouteTimeouts
 - type HTTPURLRewriteFilter
 - type HeaderMatchType
 - type Hostname
 - type HostnameT
 - type Kind
 - type Listener
 - type ListenerConditionReason
 - type ListenerConditionType
 - type ListenerStatus
 - type LocalObjectReference
 - type LocalPolicyTargetReference
 - type LocalPolicyTargetReferenceWithSectionName
 - type Namespace
 - type ObjectName
 - type ParentReference
 - type PathMatchType
 - type PluginLabelReference
 - type PolicyAncestorStatus
 - type PolicyStatus
 - type PortNumber
 - type PreciseHostname
 - type ProtocolType
 - type RefChecker
 - type ReferenceGrant
 - type ReferenceGrantFrom
 - type ReferenceGrantList
 - type ReferenceGrantSpec
 - type ReferenceGrantTo
 - type RouteConditionReason
 - type RouteGroupKind
 - type RouteNamespaces
 - type RouteParentStatus
 - type RouteStatus
 - type RouteT
 - type SecretObjectReference
 - type SectionName
 - type SubjectAltName
 - type SubjectAltNameType
 - type TCPRoute
 - type TCPRouteList
 - type TCPRouteRule
 - type TCPRouteSpec
 - type TCPRouteStatus
 - type TLSRoute
 - type TLSRouteList
 - type TLSRouteRule
 - type TLSRouteSpec
 - type TLSRouteStatus
 - type UDPRoute
 - type UDPRouteList
 - type UDPRouteRule
 - type UDPRouteSpec
 - type UDPRouteStatus
 - type WellKnownCACertificatesType
 
Constants ¶
const ( FullPathHTTPPathModifier = gatewayv1.FullPathHTTPPathModifier PrefixMatchHTTPPathModifier = gatewayv1.PrefixMatchHTTPPathModifier GatewayClassConditionStatusAccepted = gatewayv1.GatewayClassConditionStatusAccepted GatewayClassReasonAccepted = gatewayv1.GatewayClassReasonAccepted GatewayConditionAccepted = gatewayv1.GatewayConditionAccepted GatewayConditionProgrammed = gatewayv1.GatewayConditionProgrammed GatewayReasonAccepted = gatewayv1.GatewayReasonAccepted GatewayReasonPending = gatewayv1.GatewayReasonPending GatewayReasonProgrammed = gatewayv1.GatewayReasonProgrammed HTTPMethodDelete = gatewayv1.HTTPMethodDelete HTTPMethodGet = gatewayv1.HTTPMethodGet HTTPProtocolType = gatewayv1.HTTPProtocolType HTTPRouteFilterExtensionRef = gatewayv1.HTTPRouteFilterExtensionRef HTTPRouteFilterRequestHeaderModifier = gatewayv1.HTTPRouteFilterRequestHeaderModifier HTTPRouteFilterRequestMirror = gatewayv1.HTTPRouteFilterRequestMirror HTTPRouteFilterCORS = gatewayv1.HTTPRouteFilterCORS HTTPRouteFilterRequestRedirect = gatewayv1.HTTPRouteFilterRequestRedirect HTTPRouteFilterResponseHeaderModifier = gatewayv1.HTTPRouteFilterResponseHeaderModifier HTTPRouteFilterURLRewrite = gatewayv1.HTTPRouteFilterURLRewrite HTTPSProtocolType = gatewayv1.HTTPSProtocolType HeaderMatchExact = gatewayv1.HeaderMatchExact HeaderMatchRegularExpression = gatewayv1.HeaderMatchRegularExpression GRPCHeaderMatchExact = gatewayv1.GRPCHeaderMatchExact GRPCMethodMatchExact = gatewayv1.GRPCMethodMatchExact GRPCMethodMatchRegularExpression = gatewayv1.GRPCMethodMatchRegularExpression HostnameAddressType = gatewayv1.HostnameAddressType IPAddressType = gatewayv1.IPAddressType ListenerConditionAccepted = gatewayv1.ListenerConditionAccepted ListenerConditionConflicted = gatewayv1.ListenerConditionConflicted ListenerConditionProgrammed = gatewayv1.ListenerConditionProgrammed ListenerConditionResolvedRefs = gatewayv1.ListenerConditionResolvedRefs ListenerReasonAccepted = gatewayv1.ListenerReasonAccepted ListenerReasonHostnameConflict = gatewayv1.ListenerReasonHostnameConflict ListenerReasonInvalid = gatewayv1.ListenerReasonInvalid ListenerReasonInvalidCertificateRef = gatewayv1.ListenerReasonInvalidCertificateRef ListenerReasonInvalidRouteKinds = gatewayv1.ListenerReasonInvalidRouteKinds ListenerReasonNoConflicts = gatewayv1.ListenerReasonNoConflicts ListenerReasonProgrammed = gatewayv1.ListenerReasonProgrammed ListenerReasonProtocolConflict = gatewayv1.ListenerReasonProtocolConflict ListenerReasonRefNotPermitted = gatewayv1.ListenerReasonRefNotPermitted ListenerReasonResolvedRefs = gatewayv1.ListenerReasonResolvedRefs ListenerReasonUnsupportedProtocol = gatewayv1.ListenerReasonUnsupportedProtocol NamespacesFromAll = gatewayv1.NamespacesFromAll NamespacesFromSame = gatewayv1.NamespacesFromSame NamespacesFromSelector = gatewayv1.NamespacesFromSelector PathMatchExact = gatewayv1.PathMatchExact PathMatchPathPrefix = gatewayv1.PathMatchPathPrefix PathMatchRegularExpression = gatewayv1.PathMatchRegularExpression QueryParamMatchExact = gatewayv1.QueryParamMatchExact QueryParamMatchRegularExpression = gatewayv1.QueryParamMatchRegularExpression RouteConditionAccepted = gatewayv1.RouteConditionAccepted RouteConditionResolvedRefs = gatewayv1.RouteConditionResolvedRefs RouteReasonAccepted = gatewayv1.RouteReasonAccepted RouteReasonBackendNotFound = gatewayv1.RouteReasonBackendNotFound RouteReasonInvalidKind = gatewayv1.RouteReasonInvalidKind RouteReasonNoMatchingListenerHostname = gatewayv1.RouteReasonNoMatchingListenerHostname RouteReasonNoMatchingParent = gatewayv1.RouteReasonNoMatchingParent RouteReasonNotAllowedByListeners = gatewayv1.RouteReasonNotAllowedByListeners RouteReasonRefNotPermitted = gatewayv1.RouteReasonRefNotPermitted RouteReasonResolvedRefs = gatewayv1.RouteReasonResolvedRefs TCPProtocolType = gatewayv1.TCPProtocolType TLSModePassthrough = gatewayv1.TLSModePassthrough TLSModeTerminate = gatewayv1.TLSModeTerminate TLSProtocolType = gatewayv1.TLSProtocolType UDPProtocolType = gatewayv1.UDPProtocolType PolicyConditionAccepted = gatewayv1alpha2.PolicyConditionAccepted PolicyReasonAccepted = gatewayv1alpha2.PolicyReasonAccepted PolicyReasonConflicted = gatewayv1alpha2.PolicyReasonConflicted PolicyReasonInvalid = gatewayv1alpha2.PolicyReasonInvalid HostnameSubjectAltNameType = gatewayv1alpha3.HostnameSubjectAltNameType URISubjectAltNameType = gatewayv1alpha3.URISubjectAltNameType )
const (
	V1Group = Group(gatewayv1.GroupName)
)
    Variables ¶
var ( InstallV1 = gatewayv1.Install InstallV1alpha3 = gatewayv1alpha3.Install GroupVersion = gatewayv1.GroupVersion )
var ( V1GatewayGVResource = metav1.GroupVersionResource{ Group: gatewayv1.GroupVersion.Group, Version: gatewayv1.GroupVersion.Version, Resource: "gateways", } V1HTTPRouteGVResource = metav1.GroupVersionResource{ Group: gatewayv1.GroupVersion.Group, Version: gatewayv1.GroupVersion.Version, Resource: "httproutes", } V1beta1GatewayGVResource = metav1.GroupVersionResource{ Group: gatewayv1beta1.GroupVersion.Group, Version: gatewayv1beta1.GroupVersion.Version, Resource: "gateways", } V1beta1HTTPRouteGVResource = metav1.GroupVersionResource{ Group: gatewayv1beta1.GroupVersion.Group, Version: gatewayv1beta1.GroupVersion.Version, Resource: "httproutes", } )
var GRPCRouteTypeMeta = metav1.TypeMeta{ APIVersion: gatewayv1.GroupVersion.String(), Kind: "GRPCRoute", }
var ReferenceGrantTypeMeta = metav1.TypeMeta{ APIVersion: gatewayv1beta1.GroupVersion.String(), Kind: "ReferenceGrant", }
var TCPRouteTypeMeta = metav1.TypeMeta{ APIVersion: gatewayv1alpha2.GroupVersion.String(), Kind: "TCPRoute", }
var TLSRouteTypeMeta = metav1.TypeMeta{ APIVersion: gatewayv1alpha2.GroupVersion.String(), Kind: "TLSRoute", }
var UDPRouteTypeMeta = metav1.TypeMeta{ APIVersion: gatewayv1alpha2.GroupVersion.String(), Kind: "UDPRoute", }
var V1GatewayClassTypeMeta = metav1.TypeMeta{ APIVersion: gatewayv1.GroupVersion.String(), Kind: "GatewayClass", }
var V1GatewayTypeMeta = metav1.TypeMeta{ APIVersion: gatewayv1.GroupVersion.String(), Kind: "Gateway", }
var V1GroupVersion = gatewayv1.GroupVersion.Version
    var V1HTTPRouteTypeMeta = metav1.TypeMeta{ APIVersion: gatewayv1.GroupVersion.String(), Kind: "HTTPRoute", }
Functions ¶
func GetPermittedForReferenceGrantFrom ¶ added in v3.2.0
func GetPermittedForReferenceGrantFrom( log logr.Logger, from ReferenceGrantFrom, grants []*ReferenceGrant, ) map[Namespace][]ReferenceGrantTo
GetPermittedForReferenceGrantFrom takes a ReferenceGrant From (a namespace, group, and kind) and returns a map from a namespace to a slice of ReferenceGrant Tos. When a To is included in the slice, the key namespace has a ReferenceGrant with those Tos and the input From.
Types ¶
type AllowedRoutes ¶
type AllowedRoutes = gatewayv1.AllowedRoutes
type AnnotationKey ¶ added in v3.4.0
type AnnotationKey = gatewayv1.AnnotationKey
const ( // TLSVerifyDepthKey is the key used to store the tls verify depth. // This is used in the BackendTLSPolicy options. TLSVerifyDepthKey AnnotationKey = "tls-verify-depth" )
type AnnotationValue ¶ added in v3.4.0
type AnnotationValue = gatewayv1.AnnotationValue
type BackendObjectReference ¶
type BackendObjectReference = gatewayv1.BackendObjectReference
type BackendRef ¶
type BackendRef = gatewayv1.BackendRef
type BackendRefT ¶
type BackendRefT interface {
	BackendRef |
		SecretObjectReference |
		PluginLabelReference
}
    type BackendTLSPolicy ¶ added in v3.4.0
type BackendTLSPolicy = gatewayv1alpha3.BackendTLSPolicy
type BackendTLSPolicyList ¶ added in v3.4.0
type BackendTLSPolicyList = gatewayv1alpha3.BackendTLSPolicyList
type BackendTLSPolicySpec ¶ added in v3.4.0
type BackendTLSPolicySpec = gatewayv1alpha3.BackendTLSPolicySpec
type BackendTLSPolicyValidation ¶ added in v3.4.0
type BackendTLSPolicyValidation = gatewayv1alpha3.BackendTLSPolicyValidation
type CommonRouteSpec ¶
type CommonRouteSpec = gatewayv1.CommonRouteSpec
type GRPCBackendRef ¶
type GRPCBackendRef = gatewayv1.GRPCBackendRef
type GRPCHeaderMatch ¶
type GRPCHeaderMatch = gatewayv1.GRPCHeaderMatch
type GRPCHeaderMatchType ¶ added in v3.4.0
type GRPCHeaderMatchType = gatewayv1.GRPCHeaderMatchType
type GRPCHeaderName ¶
type GRPCHeaderName = gatewayv1.GRPCHeaderName
type GRPCMethodMatch ¶
type GRPCMethodMatch = gatewayv1.GRPCMethodMatch
type GRPCMethodMatchType ¶
type GRPCMethodMatchType = gatewayv1.GRPCMethodMatchType
type GRPCRouteList ¶
type GRPCRouteList = gatewayv1.GRPCRouteList
type GRPCRouteMatch ¶
type GRPCRouteMatch = gatewayv1.GRPCRouteMatch
type GRPCRouteRule ¶
type GRPCRouteRule = gatewayv1.GRPCRouteRule
type GRPCRouteSpec ¶
type GRPCRouteSpec = gatewayv1.GRPCRouteSpec
type GRPCRouteStatus ¶
type GRPCRouteStatus = gatewayv1.GRPCRouteStatus
type GatewayClass ¶
type GatewayClass = gatewayv1.GatewayClass
type GatewayClassList ¶ added in v3.2.0
type GatewayClassList = gatewayv1.GatewayClassList
type GatewayClassSpec ¶
type GatewayClassSpec = gatewayv1.GatewayClassSpec
type GatewayClassStatus ¶
type GatewayClassStatus = gatewayv1.GatewayClassStatus
type GatewayController ¶
type GatewayController = gatewayv1.GatewayController
type GatewayList ¶
type GatewayList = gatewayv1.GatewayList
type GatewaySpec ¶
type GatewaySpec = gatewayv1.GatewaySpec
type GatewayStatus ¶
type GatewayStatus = gatewayv1.GatewayStatus
type GatewayStatusAddress ¶
type GatewayStatusAddress = gatewayv1.GatewayStatusAddress
type GatewayTLSConfig ¶
type GatewayTLSConfig = gatewayv1.GatewayTLSConfig
type HTTPBackendRef ¶
type HTTPBackendRef = gatewayv1.HTTPBackendRef
type HTTPHeader ¶
type HTTPHeader = gatewayv1.HTTPHeader
type HTTPHeaderFilter ¶
type HTTPHeaderFilter = gatewayv1.HTTPHeaderFilter
type HTTPHeaderMatch ¶
type HTTPHeaderMatch = gatewayv1.HTTPHeaderMatch
type HTTPHeaderName ¶
type HTTPHeaderName = gatewayv1.HTTPHeaderName
type HTTPMethod ¶
type HTTPMethod = gatewayv1.HTTPMethod
type HTTPPathMatch ¶
type HTTPPathMatch = gatewayv1.HTTPPathMatch
type HTTPPathModifier ¶ added in v3.2.0
type HTTPPathModifier = gatewayv1.HTTPPathModifier
type HTTPPathModifierType ¶ added in v3.4.0
type HTTPPathModifierType = gatewayv1.HTTPPathModifierType
type HTTPQueryParamMatch ¶
type HTTPQueryParamMatch = gatewayv1.HTTPQueryParamMatch
type HTTPRequestRedirectFilter ¶
type HTTPRequestRedirectFilter = gatewayv1.HTTPRequestRedirectFilter
type HTTPRouteFilter ¶
type HTTPRouteFilter = gatewayv1.HTTPRouteFilter
type HTTPRouteFilterType ¶ added in v3.1.0
type HTTPRouteFilterType = gatewayv1.HTTPRouteFilterType
type HTTPRouteList ¶
type HTTPRouteList = gatewayv1.HTTPRouteList
type HTTPRouteMatch ¶
type HTTPRouteMatch = gatewayv1.HTTPRouteMatch
type HTTPRouteRule ¶
type HTTPRouteRule = gatewayv1.HTTPRouteRule
type HTTPRouteSpec ¶
type HTTPRouteSpec = gatewayv1.HTTPRouteSpec
type HTTPRouteStatus ¶
type HTTPRouteStatus = gatewayv1.HTTPRouteStatus
type HTTPRouteTimeouts ¶ added in v3.1.0
type HTTPRouteTimeouts = gatewayv1.HTTPRouteTimeouts
type HTTPURLRewriteFilter ¶ added in v3.2.0
type HTTPURLRewriteFilter = gatewayv1.HTTPURLRewriteFilter
type HeaderMatchType ¶ added in v3.4.0
type HeaderMatchType = gatewayv1.HeaderMatchType
type ListenerConditionReason ¶
type ListenerConditionReason = gatewayv1.ListenerConditionReason
type ListenerConditionType ¶
type ListenerConditionType = gatewayv1.ListenerConditionType
type ListenerStatus ¶
type ListenerStatus = gatewayv1.ListenerStatus
type LocalObjectReference ¶
type LocalObjectReference = gatewayv1.LocalObjectReference
type LocalPolicyTargetReference ¶ added in v3.4.0
type LocalPolicyTargetReference = gatewayv1alpha2.LocalPolicyTargetReference
type LocalPolicyTargetReferenceWithSectionName ¶ added in v3.4.0
type LocalPolicyTargetReferenceWithSectionName = gatewayv1alpha2.LocalPolicyTargetReferenceWithSectionName
type ObjectName ¶
type ObjectName = gatewayv1.ObjectName
type ParentReference ¶
type ParentReference = gatewayv1.ParentReference
type PathMatchType ¶
type PathMatchType = gatewayv1.PathMatchType
type PluginLabelReference ¶ added in v3.2.0
func (PluginLabelReference) String ¶ added in v3.4.0
func (plr PluginLabelReference) String() string
type PolicyAncestorStatus ¶ added in v3.1.0
type PolicyAncestorStatus = gatewayv1alpha2.PolicyAncestorStatus
type PolicyStatus ¶ added in v3.1.0
type PolicyStatus = gatewayv1alpha2.PolicyStatus
type PortNumber ¶
type PortNumber = gatewayv1.PortNumber
type PreciseHostname ¶
type PreciseHostname = gatewayv1.PreciseHostname
type ProtocolType ¶
type ProtocolType = gatewayv1.ProtocolType
type RefChecker ¶ added in v3.2.0
type RefChecker[T BackendRefT] struct { // contains filtered or unexported fields }
RefChecker is a wrapper type that facilitates checking whether a backendRef is allowed by a referenceGrantTo set.
func NewRefCheckerForKongPlugin ¶ added in v3.2.0
func NewRefCheckerForKongPlugin[T BackendRefT](log logr.Logger, target client.Object, requester T) RefChecker[T]
func NewRefCheckerForRoute ¶ added in v3.2.0
func NewRefCheckerForRoute[T BackendRefT](log logr.Logger, route client.Object, ref T) RefChecker[T]
NewRefCheckerForRoute returns a RefChecker for the provided route and backendRef.
func (RefChecker[T]) IsRefAllowedByGrant ¶ added in v3.2.0
func (rc RefChecker[T]) IsRefAllowedByGrant( allowedRefs map[Namespace][]ReferenceGrantTo, ) bool
IsRefAllowedByGrant is a wrapper on top of isRefAllowedByGrant checks if backendRef (that RefChecker holds) is permitted by the provided namespace-indexed ReferenceGrantTo set: allowedRefs. allowedRefs is assumed to contain Tos that only match the backendRef's parent's From, as returned by GetPermittedForReferenceGrantFrom.
type ReferenceGrant ¶
type ReferenceGrant = gatewayv1beta1.ReferenceGrant
type ReferenceGrantFrom ¶
type ReferenceGrantFrom = gatewayv1beta1.ReferenceGrantFrom
type ReferenceGrantList ¶
type ReferenceGrantList = gatewayv1beta1.ReferenceGrantList
type ReferenceGrantSpec ¶
type ReferenceGrantSpec = gatewayv1beta1.ReferenceGrantSpec
type ReferenceGrantTo ¶
type ReferenceGrantTo = gatewayv1beta1.ReferenceGrantTo
type RouteConditionReason ¶
type RouteConditionReason = gatewayv1.RouteConditionReason
type RouteGroupKind ¶
type RouteGroupKind = gatewayv1.RouteGroupKind
type RouteNamespaces ¶
type RouteNamespaces = gatewayv1.RouteNamespaces
type RouteParentStatus ¶
type RouteParentStatus = gatewayv1.RouteParentStatus
type RouteStatus ¶
type RouteStatus = gatewayv1.RouteStatus
type SecretObjectReference ¶
type SecretObjectReference = gatewayv1.SecretObjectReference
type SectionName ¶
type SectionName = gatewayv1.SectionName
type SubjectAltName ¶ added in v3.4.0
type SubjectAltName = gatewayv1alpha3.SubjectAltName
type SubjectAltNameType ¶ added in v3.4.0
type SubjectAltNameType = gatewayv1alpha3.SubjectAltNameType
type TCPRoute ¶
type TCPRoute = gatewayv1alpha2.TCPRoute
type TCPRouteList ¶
type TCPRouteList = gatewayv1alpha2.TCPRouteList
type TCPRouteRule ¶
type TCPRouteRule = gatewayv1alpha2.TCPRouteRule
type TCPRouteSpec ¶
type TCPRouteSpec = gatewayv1alpha2.TCPRouteSpec
type TCPRouteStatus ¶
type TCPRouteStatus = gatewayv1alpha2.TCPRouteStatus
type TLSRoute ¶
type TLSRoute = gatewayv1alpha2.TLSRoute
type TLSRouteList ¶
type TLSRouteList = gatewayv1alpha2.TLSRouteList
type TLSRouteRule ¶
type TLSRouteRule = gatewayv1alpha2.TLSRouteRule
type TLSRouteSpec ¶
type TLSRouteSpec = gatewayv1alpha2.TLSRouteSpec
type TLSRouteStatus ¶
type TLSRouteStatus = gatewayv1alpha2.TLSRouteStatus
type UDPRoute ¶
type UDPRoute = gatewayv1alpha2.UDPRoute
type UDPRouteList ¶
type UDPRouteList = gatewayv1alpha2.UDPRouteList
type UDPRouteRule ¶
type UDPRouteRule = gatewayv1alpha2.UDPRouteRule
type UDPRouteSpec ¶
type UDPRouteSpec = gatewayv1alpha2.UDPRouteSpec
type UDPRouteStatus ¶
type UDPRouteStatus = gatewayv1alpha2.UDPRouteStatus
type WellKnownCACertificatesType ¶ added in v3.4.0
type WellKnownCACertificatesType = gatewayv1alpha3.WellKnownCACertificatesType