Documentation
¶
Index ¶
- Constants
- type BackendReference
- type BackendResolver
- type ConsulService
- type ResolutionError
- func NewBackendNotFoundError(inner string) ResolutionError
- func NewConsulResolutionError(inner string) ResolutionError
- func NewInvalidKindError(inner string) ResolutionError
- func NewK8sResolutionError(inner string) ResolutionError
- func NewRefNotPermittedError(inner string) ResolutionError
- func NewResolutionError(inner string) ResolutionError
- type ResolutionErrors
- type ResolvedReference
- type ResolvedReferenceType
- type RouteRule
- type RouteRuleReferenceMap
- type ServiceResolutionErrorType
Constants ¶
View Source
const ( HTTPRouteReference ResolvedReferenceType = iota ConsulServiceReference MetaKeyKubeServiceName = "k8s-service-name" MetaKeyKubeNS = "k8s-namespace" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BackendReference ¶
type BackendReference struct {
HTTPRef *gwv1alpha2.HTTPBackendRef
BackendRef *gwv1alpha2.BackendRef
}
func (*BackendReference) Set ¶
func (b *BackendReference) Set(reference interface{})
TODO: this will require a little extra work to return gwv1alpha2.BackendObjectReference for TCPRoute BackendRef and gwv1beta1.BackendObjectReference for HTTPRoute HTTPBackendRef
type BackendResolver ¶
type BackendResolver interface {
Resolve(ctx context.Context, ref gwv1alpha2.BackendObjectReference) (*ResolvedReference, error)
}
func NewBackendResolver ¶
func NewBackendResolver(logger hclog.Logger, namespace string, mapper common.ConsulNamespaceMapper, client gatewayclient.Client, consul *api.Client) BackendResolver
type ConsulService ¶
type ResolutionError ¶
type ResolutionError struct {
// contains filtered or unexported fields
}
func NewBackendNotFoundError ¶ added in v0.4.0
func NewBackendNotFoundError(inner string) ResolutionError
func NewConsulResolutionError ¶
func NewConsulResolutionError(inner string) ResolutionError
func NewInvalidKindError ¶ added in v0.4.0
func NewInvalidKindError(inner string) ResolutionError
func NewK8sResolutionError ¶
func NewK8sResolutionError(inner string) ResolutionError
func NewRefNotPermittedError ¶ added in v0.2.0
func NewRefNotPermittedError(inner string) ResolutionError
func NewResolutionError ¶
func NewResolutionError(inner string) ResolutionError
func (ResolutionError) Error ¶
func (r ResolutionError) Error() string
type ResolutionErrors ¶
type ResolutionErrors struct {
// contains filtered or unexported fields
}
func NewResolutionErrors ¶
func NewResolutionErrors() *ResolutionErrors
func (*ResolutionErrors) Add ¶
func (r *ResolutionErrors) Add(err ResolutionError)
func (*ResolutionErrors) Empty ¶
func (r *ResolutionErrors) Empty() bool
func (*ResolutionErrors) Flatten ¶
func (r *ResolutionErrors) Flatten() (ServiceResolutionErrorType, error)
func (*ResolutionErrors) String ¶
func (r *ResolutionErrors) String() string
type ResolvedReference ¶
type ResolvedReference struct {
Type ResolvedReferenceType
Reference *BackendReference
Consul *ConsulService
// contains filtered or unexported fields
}
func NewConsulServiceReference ¶
func NewConsulServiceReference(object client.Object, consul *ConsulService) *ResolvedReference
func (*ResolvedReference) Item ¶
func (r *ResolvedReference) Item() client.Object
type ResolvedReferenceType ¶
type ResolvedReferenceType int
type RouteRule ¶
type RouteRule struct {
HTTPRule *gwv1alpha2.HTTPRouteRule
TCPRule *gwv1alpha2.TCPRouteRule
TLSRule *gwv1alpha2.TLSRouteRule
UDPRule *gwv1alpha2.UDPRouteRule
}
func NewRouteRule ¶
func NewRouteRule(rule interface{}) RouteRule
type RouteRuleReferenceMap ¶
type RouteRuleReferenceMap map[RouteRule][]ResolvedReference
func (RouteRuleReferenceMap) Add ¶
func (r RouteRuleReferenceMap) Add(rule RouteRule, resolved ResolvedReference)
type ServiceResolutionErrorType ¶
type ServiceResolutionErrorType int
const ( K8sServiceResolutionErrorType ServiceResolutionErrorType = iota BackendNotFoundErrorType ConsulServiceResolutionErrorType GenericResolutionErrorType InvalidKindErrorType NoResolutionErrorType RefNotPermittedErrorType )
Click to show internal directories.
Click to hide internal directories.