Documentation ¶
Overview ¶
Package fgw contains types for the gateway route
Index ¶
- type Backend
- type BackendLBPolicy
- type BackendLBPolicySpec
- type BackendRef
- type BackendSpec
- type BackendTLSPolicy
- type BackendTLSPolicySpec
- type BackendTLSPolicyValidation
- type BackendTarget
- type CommonRouteSpec
- type Config
- type ConfigSpec
- type FrontendTLSValidation
- type GRPCBackendRef
- type GRPCRoute
- type GRPCRouteFilter
- type GRPCRouteRule
- type GRPCRouteSpec
- type Gateway
- type GatewaySpec
- type GatewayTLSConfig
- type HTTPBackendRef
- type HTTPRequestMirrorFilter
- type HTTPRoute
- type HTTPRouteFilter
- type HTTPRouteRule
- type HTTPRouteSpec
- type HealthCheckPolicy
- type HealthCheckPolicySpec
- type Listener
- type ObjectMeta
- type RetryPolicy
- type RetryPolicySpec
- type ServicePortName
- type TCPRoute
- type TCPRouteRule
- type TCPRouteSpec
- type TLSRoute
- type TLSRouteRule
- type TLSRouteSpec
- type UDPRoute
- type UDPRouteRule
- type UDPRouteSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backend ¶ added in v1.4.0
type Backend struct { Kind string `json:"kind"` ObjectMeta ObjectMeta `json:"metadata"` Spec BackendSpec `json:"spec"` Port int32 `json:"-"` // store the port for the backend temporarily }
func NewBackend ¶ added in v1.4.0
func NewBackend(svcPortName string, targets []BackendTarget) *Backend
type BackendLBPolicy ¶ added in v1.4.0
type BackendLBPolicy struct { Kind string `json:"kind"` ObjectMeta ObjectMeta `json:"metadata"` Spec BackendLBPolicySpec `json:"spec"` }
func (*BackendLBPolicy) AddTargetRef ¶ added in v1.4.0
func (p *BackendLBPolicy) AddTargetRef(ref BackendRef)
type BackendLBPolicySpec ¶ added in v1.4.0
type BackendLBPolicySpec struct { TargetRefs []BackendRef `json:"targetRefs" copier:"-" hash:"set"` SessionPersistence *gwv1.SessionPersistence `json:"sessionPersistence,omitempty"` }
type BackendRef ¶ added in v1.4.0
type BackendRef struct { Kind string `json:"kind"` Name string `json:"name"` Weight *int32 `json:"weight,omitempty"` }
func NewBackendRef ¶ added in v1.4.0
func NewBackendRef(name string) BackendRef
func NewBackendRefWithWeight ¶ added in v1.4.0
func NewBackendRefWithWeight(name string, weight int32) BackendRef
type BackendSpec ¶ added in v1.4.0
type BackendSpec struct {
Targets []BackendTarget `json:"targets,omitempty" hash:"set"`
}
type BackendTLSPolicy ¶ added in v1.4.0
type BackendTLSPolicy struct { Kind string `json:"kind"` ObjectMeta ObjectMeta `json:"metadata"` Spec BackendTLSPolicySpec `json:"spec"` }
func (*BackendTLSPolicy) AddTargetRef ¶ added in v1.4.0
func (p *BackendTLSPolicy) AddTargetRef(ref BackendRef)
type BackendTLSPolicySpec ¶ added in v1.4.0
type BackendTLSPolicySpec struct { TargetRefs []BackendRef `json:"targetRefs" copier:"-" hash:"set"` Validation BackendTLSPolicyValidation `json:"validation"` }
type BackendTLSPolicyValidation ¶ added in v1.4.0
type BackendTLSPolicyValidation struct { CACertificates []map[string]string `json:"caCertificates,omitempty" copier:"-" hash:"set"` WellKnownCACertificates *gwv1alpha3.WellKnownCACertificatesType `json:"wellKnownCACertificates,omitempty"` Hostname gwv1.PreciseHostname `json:"hostname"` }
type BackendTarget ¶ added in v1.4.0
type CommonRouteSpec ¶ added in v1.4.0
type CommonRouteSpec struct {
ParentRefs []gwv1.ParentReference `json:"parentRefs,omitempty" hash:"set"`
}
type Config ¶ added in v1.4.0
type Config interface {
GetVersion() string
}
Config is the configuration for the gateway
type ConfigSpec ¶
type ConfigSpec struct { Resources []interface{} `json:"resources" hash:"set"` Secrets map[string]string `json:"secrets"` Filters map[extv1alpha1.FilterProtocol]map[string]string `json:"filters"` Version string `json:"version" hash:"ignore"` }
func (*ConfigSpec) GetVersion ¶ added in v1.4.0
func (c *ConfigSpec) GetVersion() string
type FrontendTLSValidation ¶ added in v1.4.0
type GRPCBackendRef ¶ added in v1.4.0
type GRPCBackendRef struct { Kind string `json:"kind"` Name string `json:"name"` Weight int32 `json:"weight,omitempty"` Filters []GRPCRouteFilter `json:"filters,omitempty" hash:"set"` }
func NewGRPCBackendRef ¶ added in v1.4.0
func NewGRPCBackendRef(name string, weight int32) GRPCBackendRef
type GRPCRoute ¶ added in v1.4.0
type GRPCRoute struct { Kind string `json:"kind"` ObjectMeta ObjectMeta `json:"metadata"` Spec GRPCRouteSpec `json:"spec,omitempty"` }
type GRPCRouteFilter ¶
type GRPCRouteFilter struct { Type gwv1.GRPCRouteFilterType `json:"type"` RequestHeaderModifier *gwv1.HTTPHeaderFilter `json:"requestHeaderModifier,omitempty"` ResponseHeaderModifier *gwv1.HTTPHeaderFilter `json:"responseHeaderModifier,omitempty"` RequestMirror *HTTPRequestMirrorFilter `json:"requestMirror,omitempty"` ExtensionConfig map[string]string `json:"extensionConfig,omitempty"` }
type GRPCRouteRule ¶ added in v1.4.0
type GRPCRouteRule struct { Matches []gwv1.GRPCRouteMatch `json:"matches,omitempty" hash:"set"` Filters []GRPCRouteFilter `json:"filters,omitempty" hash:"set"` BackendRefs []GRPCBackendRef `json:"backendRefs,omitempty" copier:"-" hash:"set"` SessionPersistence *gwv1.SessionPersistence `json:"sessionPersistence,omitempty"` }
type GRPCRouteSpec ¶ added in v1.4.0
type GRPCRouteSpec struct { CommonRouteSpec `json:",inline"` Hostnames []gwv1.Hostname `json:"hostnames,omitempty" hash:"set"` Rules []GRPCRouteRule `json:"rules,omitempty" copier:"-" hash:"set"` }
type Gateway ¶ added in v1.4.0
type Gateway struct { Kind string `json:"kind"` ObjectMeta ObjectMeta `json:"metadata"` Spec GatewaySpec `json:"spec"` }
type GatewaySpec ¶ added in v1.4.0
type GatewaySpec struct { GatewayClassName gwv1.ObjectName `json:"gatewayClassName"` Listeners []Listener `json:"listeners,omitempty" copier:"-" hash:"set"` Addresses []gwv1.GatewayAddress `json:"addresses,omitempty"` }
type GatewayTLSConfig ¶ added in v1.4.0
type GatewayTLSConfig struct { Mode *gwv1.TLSModeType `json:"mode,omitempty"` Certificates []map[string]string `json:"certificates,omitempty" copier:"-" hash:"set"` FrontendValidation *FrontendTLSValidation `json:"frontendValidation,omitempty" copier:"-"` Options map[gwv1.AnnotationKey]gwv1.AnnotationValue `json:"options,omitempty"` }
type HTTPBackendRef ¶ added in v1.4.0
type HTTPBackendRef struct { Kind string `json:"kind"` Name string `json:"name"` Weight int32 `json:"weight,omitempty"` Filters []HTTPRouteFilter `json:"filters,omitempty" hash:"set"` }
func NewHTTPBackendRef ¶ added in v1.4.0
func NewHTTPBackendRef(name string, weight int32) HTTPBackendRef
type HTTPRequestMirrorFilter ¶
type HTTPRequestMirrorFilter struct {
BackendRef BackendRef `json:"backendRef"`
}
type HTTPRoute ¶ added in v1.4.0
type HTTPRoute struct { Kind string `json:"kind"` ObjectMeta ObjectMeta `json:"metadata"` Spec HTTPRouteSpec `json:"spec"` }
type HTTPRouteFilter ¶
type HTTPRouteFilter struct { Type gwv1.HTTPRouteFilterType `json:"type"` RequestHeaderModifier *gwv1.HTTPHeaderFilter `json:"requestHeaderModifier,omitempty"` ResponseHeaderModifier *gwv1.HTTPHeaderFilter `json:"responseHeaderModifier,omitempty"` RequestMirror *HTTPRequestMirrorFilter `json:"requestMirror,omitempty"` RequestRedirect *gwv1.HTTPRequestRedirectFilter `json:"requestRedirect,omitempty"` URLRewrite *gwv1.HTTPURLRewriteFilter `json:"urlRewrite,omitempty"` ExtensionConfig map[string]string `json:"extensionConfig,omitempty"` }
type HTTPRouteRule ¶ added in v1.4.0
type HTTPRouteRule struct { Matches []gwv1.HTTPRouteMatch `json:"matches,omitempty" hash:"set"` Filters []HTTPRouteFilter `json:"filters,omitempty" hash:"set"` BackendRefs []HTTPBackendRef `json:"backendRefs,omitempty" copier:"-" hash:"set"` Timeouts *gwv1.HTTPRouteTimeouts `json:"timeouts,omitempty"` SessionPersistence *gwv1.SessionPersistence `json:"sessionPersistence,omitempty"` }
type HTTPRouteSpec ¶ added in v1.4.0
type HTTPRouteSpec struct { CommonRouteSpec `json:",inline"` Hostnames []gwv1.Hostname `json:"hostnames,omitempty" hash:"set"` Rules []HTTPRouteRule `json:"rules,omitempty" copier:"-" hash:"set"` }
type HealthCheckPolicy ¶ added in v1.4.0
type HealthCheckPolicy struct { Kind string `json:"kind"` ObjectMeta ObjectMeta `json:"metadata"` Spec HealthCheckPolicySpec `json:"spec"` }
func (*HealthCheckPolicy) AddPort ¶ added in v1.4.0
func (p *HealthCheckPolicy) AddPort(port gwpav1alpha2.PortHealthCheck)
func (*HealthCheckPolicy) AddTargetRef ¶ added in v1.4.0
func (p *HealthCheckPolicy) AddTargetRef(ref BackendRef)
type HealthCheckPolicySpec ¶ added in v1.4.0
type HealthCheckPolicySpec struct { TargetRefs []BackendRef `json:"targetRefs" copier:"-" hash:"set"` Ports []gwpav1alpha2.PortHealthCheck `json:"ports,omitempty" copier:"-" hash:"set"` DefaultHealthCheck *gwpav1alpha2.HealthCheckConfig `json:"healthCheck,omitempty"` }
type Listener ¶
type Listener struct { Name gwv1.SectionName `json:"name"` Hostname *gwv1.Hostname `json:"hostname,omitempty"` Port gwv1.PortNumber `json:"port"` Protocol gwv1.ProtocolType `json:"protocol"` TLS *GatewayTLSConfig `json:"tls,omitempty" copier:"-"` }
type ObjectMeta ¶ added in v1.4.0
type RetryPolicy ¶ added in v1.4.0
type RetryPolicy struct { Kind string `json:"kind"` ObjectMeta ObjectMeta `json:"metadata"` Spec RetryPolicySpec `json:"spec"` }
func (*RetryPolicy) AddPort ¶ added in v1.4.0
func (p *RetryPolicy) AddPort(port gwpav1alpha2.PortRetry)
func (*RetryPolicy) AddTargetRef ¶ added in v1.4.0
func (p *RetryPolicy) AddTargetRef(ref BackendRef)
type RetryPolicySpec ¶ added in v1.4.0
type RetryPolicySpec struct { TargetRefs []BackendRef `json:"targetRefs" copier:"-" hash:"set"` Ports []gwpav1alpha2.PortRetry `json:"ports,omitempty" hash:"set"` DefaultRetry *gwpav1alpha2.RetryConfig `json:"retry,omitempty"` }
type ServicePortName ¶
type ServicePortName struct { types.NamespacedName SectionName string Port *int32 }
ServicePortName is a combination of a service name, namespace, and port
func (*ServicePortName) String ¶
func (spn *ServicePortName) String() string
type TCPRoute ¶ added in v1.4.0
type TCPRoute struct { Kind string `json:"kind"` ObjectMeta ObjectMeta `json:"metadata"` Spec TCPRouteSpec `json:"spec"` }
type TCPRouteRule ¶
type TCPRouteRule struct {
BackendRefs []BackendRef `json:"backendRefs,omitempty" copier:"-" hash:"set"`
}
type TCPRouteSpec ¶ added in v1.4.0
type TCPRouteSpec struct { CommonRouteSpec `json:",inline"` Rules []TCPRouteRule `json:"rules" copier:"-" hash:"set"` }
TCPRouteSpec defines the desired state of TCPRoute
type TLSRoute ¶ added in v1.4.0
type TLSRoute struct { Kind string `json:"kind"` ObjectMeta ObjectMeta `json:"metadata"` Spec TLSRouteSpec `json:"spec"` }
type TLSRouteRule ¶ added in v1.4.0
type TLSRouteRule struct {
BackendRefs []BackendRef `json:"backendRefs,omitempty" hash:"set"`
}
type TLSRouteSpec ¶ added in v1.4.0
type TLSRouteSpec struct { CommonRouteSpec `json:",inline"` Hostnames []gwv1alpha2.Hostname `json:"hostnames,omitempty" hash:"set"` Rules []TLSRouteRule `json:"rules" copier:"-" hash:"set"` }
TLSRouteSpec defines the desired state of a TLSRoute resource.
type UDPRoute ¶ added in v1.4.0
type UDPRoute struct { Kind string `json:"kind"` ObjectMeta ObjectMeta `json:"metadata"` Spec UDPRouteSpec `json:"spec"` }
type UDPRouteRule ¶
type UDPRouteRule struct {
BackendRefs []BackendRef `json:"backendRefs,omitempty" copier:"-" hash:"set"`
}
type UDPRouteSpec ¶ added in v1.4.0
type UDPRouteSpec struct { CommonRouteSpec `json:",inline"` Rules []UDPRouteRule `json:"rules" copier:"-" hash:"set"` }
Click to show internal directories.
Click to hide internal directories.