Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha3 version of the API.
Package v1alpha1 contains API Schema definitions for the gateway.flomesh.io v1alpha1 API group
Index ¶
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type AccessControlConfig
- type AccessControlPolicy
- type AccessControlPolicyList
- type AccessControlPolicySpec
- type AccessControlPolicyStatus
- type CircuitBreakingConfig
- type CircuitBreakingPolicy
- type CircuitBreakingPolicyList
- type CircuitBreakingPolicySpec
- type CircuitBreakingPolicyStatus
- type GRPCAccessControl
- type GRPCRateLimit
- type HTTPAccessControl
- type HTTPRateLimit
- type HostnameAccessControl
- type HostnameRateLimit
- type L7RateLimit
- type LoadBalancerPolicy
- type LoadBalancerPolicyList
- type LoadBalancerPolicySpec
- type LoadBalancerPolicyStatus
- type LoadBalancerType
- type PortAccessControl
- type PortCircuitBreaking
- type PortLoadBalancer
- type PortRateLimit
- type PortSessionSticky
- type RateLimitPolicy
- type RateLimitPolicyList
- type RateLimitPolicyMode
- type RateLimitPolicySpec
- type RateLimitPolicyStatus
- type SessionStickyConfig
- type SessionStickyPolicy
- type SessionStickyPolicyList
- type SessionStickyPolicySpec
- type SessionStickyPolicyStatus
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register MeshConfig SchemeGroupVersion = schema.GroupVersion{ Group: "gateway.flomesh.io", Version: "v1alpha1", } // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme adds all Resources to the Scheme AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AccessControlConfig ¶
type AccessControlConfig struct { // +optional // +kubebuilder:validation:MaxItems=256 // Blacklist is the list of IP addresses to be blacklisted Blacklist []string `json:"blacklist,omitempty"` // +optional // +kubebuilder:validation:MaxItems=256 // Whitelist is the list of IP addresses to be whitelisted Whitelist []string `json:"whitelist,omitempty"` // +optional // +kubebuilder:default=false // EnableXFF is the flag to enable X-Forwarded-For header EnableXFF *bool `json:"enableXFF,omitempty"` // +optional // +kubebuilder:default=403 // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=10000 // StatusCode is the response status code to be returned when the access control is exceeded StatusCode *int32 `json:"statusCode,omitempty"` // +optional // +kubebuilder:default="" // Message is the response message to be returned when the access control is exceeded Message *string `json:"message,omitempty"` }
AccessControlConfig defines the access control configuration for a route
func (*AccessControlConfig) DeepCopy ¶
func (in *AccessControlConfig) DeepCopy() *AccessControlConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlConfig.
func (*AccessControlConfig) DeepCopyInto ¶
func (in *AccessControlConfig) DeepCopyInto(out *AccessControlConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicy ¶
type AccessControlPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AccessControlPolicySpec `json:"spec,omitempty"` Status AccessControlPolicyStatus `json:"status,omitempty"` }
AccessControlPolicy is the Schema for the AccessControlPolicy API
func (*AccessControlPolicy) DeepCopy ¶
func (in *AccessControlPolicy) DeepCopy() *AccessControlPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicy.
func (*AccessControlPolicy) DeepCopyInto ¶
func (in *AccessControlPolicy) DeepCopyInto(out *AccessControlPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AccessControlPolicy) DeepCopyObject ¶
func (in *AccessControlPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AccessControlPolicyList ¶
type AccessControlPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AccessControlPolicy `json:"items"` }
AccessControlPolicyList contains a list of AccessControlPolicy
func (*AccessControlPolicyList) DeepCopy ¶
func (in *AccessControlPolicyList) DeepCopy() *AccessControlPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyList.
func (*AccessControlPolicyList) DeepCopyInto ¶
func (in *AccessControlPolicyList) DeepCopyInto(out *AccessControlPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AccessControlPolicyList) DeepCopyObject ¶
func (in *AccessControlPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AccessControlPolicySpec ¶
type AccessControlPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +optional // +kubebuilder:validation:MaxItems=16 // Ports is the access control configuration for ports Ports []PortAccessControl `json:"ports,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // Hostnames is the access control configuration for hostnames Hostnames []HostnameAccessControl `json:"hostnames,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // HTTPAccessControls is the access control configuration for HTTP routes HTTPAccessControls []HTTPAccessControl `json:"http,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // GRPCAccessControls is the access control configuration for GRPC routes GRPCAccessControls []GRPCAccessControl `json:"grpc,omitempty"` // +optional // DefaultConfig is the default access control for all ports, routes and hostnames DefaultConfig *AccessControlConfig `json:"config,omitempty"` }
AccessControlPolicySpec defines the desired state of AccessControlPolicy
func (*AccessControlPolicySpec) DeepCopy ¶
func (in *AccessControlPolicySpec) DeepCopy() *AccessControlPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicySpec.
func (*AccessControlPolicySpec) DeepCopyInto ¶
func (in *AccessControlPolicySpec) DeepCopyInto(out *AccessControlPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicyStatus ¶
type AccessControlPolicyStatus struct { // Conditions describe the current conditions of the AccessControlPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
AccessControlPolicyStatus defines the observed state of AccessControlPolicy
func (*AccessControlPolicyStatus) DeepCopy ¶
func (in *AccessControlPolicyStatus) DeepCopy() *AccessControlPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyStatus.
func (*AccessControlPolicyStatus) DeepCopyInto ¶
func (in *AccessControlPolicyStatus) DeepCopyInto(out *AccessControlPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CircuitBreakingConfig ¶
type CircuitBreakingConfig struct { // +kubebuilder:validation:Minimum=1 // MinRequestAmount is the minimum number of requests in the StatTimeWindow MinRequestAmount int32 `json:"minRequestAmount"` // +kubebuilder:validation:Minimum=1 // StatTimeWindow is the time window in seconds to collect statistics StatTimeWindow int32 `json:"statTimeWindow"` // +optional // +kubebuilder:validation:Minimum=0.0001 // SlowTimeThreshold is the threshold in seconds to determine a slow request SlowTimeThreshold *float32 `json:"slowTimeThreshold,omitempty"` // +optional // +kubebuilder:validation:Minimum=1 // SlowAmountThreshold is the threshold of slow requests in the StatTimeWindow to trigger circuit breaking SlowAmountThreshold *int32 `json:"slowAmountThreshold,omitempty"` // +optional // +kubebuilder:validation:Minimum=0.00 // +kubebuilder:validation:Maximum=1.00 // SlowRatioThreshold is the threshold of slow requests ratio in the StatTimeWindow to trigger circuit breaking SlowRatioThreshold *float32 `json:"slowRatioThreshold,omitempty"` // +optional // +kubebuilder:validation:Minimum=1 // ErrorAmountThreshold is the threshold of error requests in the StatTimeWindow to trigger circuit breaking ErrorAmountThreshold *int32 `json:"errorAmountThreshold,omitempty"` // +optional // +kubebuilder:validation:Minimum=0.00 // +kubebuilder:validation:Maximum=1.00 // ErrorRatioThreshold is the threshold of error requests ratio in the StatTimeWindow to trigger circuit breaking ErrorRatioThreshold *float32 `json:"errorRatioThreshold,omitempty"` // +kubebuilder:validation:Minimum=1 // DegradedTimeWindow is the time window in seconds to degrade the service DegradedTimeWindow int32 `json:"degradedTimeWindow"` // +kubebuilder:default=503 // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=10000 // DegradedStatusCode is the status code to return when the service is degraded DegradedStatusCode int32 `json:"degradedStatusCode"` // +optional // DegradedResponseContent is the response content to return when the service is degraded DegradedResponseContent *string `json:"degradedResponseContent,omitempty"` }
func (*CircuitBreakingConfig) DeepCopy ¶
func (in *CircuitBreakingConfig) DeepCopy() *CircuitBreakingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakingConfig.
func (*CircuitBreakingConfig) DeepCopyInto ¶
func (in *CircuitBreakingConfig) DeepCopyInto(out *CircuitBreakingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CircuitBreakingPolicy ¶
type CircuitBreakingPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CircuitBreakingPolicySpec `json:"spec,omitempty"` Status CircuitBreakingPolicyStatus `json:"status,omitempty"` }
CircuitBreakingPolicy is the Schema for the CircuitBreakingPolicy API
func (*CircuitBreakingPolicy) DeepCopy ¶
func (in *CircuitBreakingPolicy) DeepCopy() *CircuitBreakingPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakingPolicy.
func (*CircuitBreakingPolicy) DeepCopyInto ¶
func (in *CircuitBreakingPolicy) DeepCopyInto(out *CircuitBreakingPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CircuitBreakingPolicy) DeepCopyObject ¶
func (in *CircuitBreakingPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CircuitBreakingPolicyList ¶
type CircuitBreakingPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CircuitBreakingPolicy `json:"items"` }
CircuitBreakingPolicyList contains a list of CircuitBreakingPolicy
func (*CircuitBreakingPolicyList) DeepCopy ¶
func (in *CircuitBreakingPolicyList) DeepCopy() *CircuitBreakingPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakingPolicyList.
func (*CircuitBreakingPolicyList) DeepCopyInto ¶
func (in *CircuitBreakingPolicyList) DeepCopyInto(out *CircuitBreakingPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CircuitBreakingPolicyList) DeepCopyObject ¶
func (in *CircuitBreakingPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CircuitBreakingPolicySpec ¶
type CircuitBreakingPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=16 // Ports is the circuit breaking configuration for ports Ports []PortCircuitBreaking `json:"ports,omitempty"` // +optional // DefaultConfig is the default circuit breaking configuration for all ports DefaultConfig *CircuitBreakingConfig `json:"config,omitempty"` }
CircuitBreakingPolicySpec defines the desired state of CircuitBreakingPolicy
func (*CircuitBreakingPolicySpec) DeepCopy ¶
func (in *CircuitBreakingPolicySpec) DeepCopy() *CircuitBreakingPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakingPolicySpec.
func (*CircuitBreakingPolicySpec) DeepCopyInto ¶
func (in *CircuitBreakingPolicySpec) DeepCopyInto(out *CircuitBreakingPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CircuitBreakingPolicyStatus ¶
type CircuitBreakingPolicyStatus struct { // Conditions describe the current conditions of the CircuitBreakingPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
CircuitBreakingPolicyStatus defines the observed state of CircuitBreakingPolicy
func (*CircuitBreakingPolicyStatus) DeepCopy ¶
func (in *CircuitBreakingPolicyStatus) DeepCopy() *CircuitBreakingPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakingPolicyStatus.
func (*CircuitBreakingPolicyStatus) DeepCopyInto ¶
func (in *CircuitBreakingPolicyStatus) DeepCopyInto(out *CircuitBreakingPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GRPCAccessControl ¶
type GRPCAccessControl struct { // Match is the match condition for the GRPC route Match gwv1alpha2.GRPCRouteMatch `json:"match"` // +optional // Config is the access control configuration for the GRPC route Config *AccessControlConfig `json:"config,omitempty"` }
GRPCAccessControl defines the access control configuration for a GRPC route
func (*GRPCAccessControl) DeepCopy ¶
func (in *GRPCAccessControl) DeepCopy() *GRPCAccessControl
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCAccessControl.
func (*GRPCAccessControl) DeepCopyInto ¶
func (in *GRPCAccessControl) DeepCopyInto(out *GRPCAccessControl)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GRPCRateLimit ¶
type GRPCRateLimit struct { // Match is the match condition for the GRPC route Match gwv1alpha2.GRPCRouteMatch `json:"match"` // +optional // RateLimit is the rate limit configuration for the GRPC route RateLimit *L7RateLimit `json:"rateLimit,omitempty"` }
GRPCRateLimit defines the rate limit configuration for a GRPC route
func (*GRPCRateLimit) DeepCopy ¶
func (in *GRPCRateLimit) DeepCopy() *GRPCRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCRateLimit.
func (*GRPCRateLimit) DeepCopyInto ¶
func (in *GRPCRateLimit) DeepCopyInto(out *GRPCRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPAccessControl ¶
type HTTPAccessControl struct { // Match is the match condition for the HTTP route Match gwv1beta1.HTTPRouteMatch `json:"match"` // +optional // Config is the access control configuration for the HTTP route Config *AccessControlConfig `json:"config,omitempty"` }
HTTPAccessControl defines the access control configuration for a HTTP route
func (*HTTPAccessControl) DeepCopy ¶
func (in *HTTPAccessControl) DeepCopy() *HTTPAccessControl
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPAccessControl.
func (*HTTPAccessControl) DeepCopyInto ¶
func (in *HTTPAccessControl) DeepCopyInto(out *HTTPAccessControl)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPRateLimit ¶
type HTTPRateLimit struct { // Match is the match condition for the HTTP route Match gwv1beta1.HTTPRouteMatch `json:"match"` // +optional // RateLimit is the rate limit configuration for the HTTP route RateLimit *L7RateLimit `json:"rateLimit,omitempty"` }
HTTPRateLimit defines the rate limit configuration for a HTTP route
func (*HTTPRateLimit) DeepCopy ¶
func (in *HTTPRateLimit) DeepCopy() *HTTPRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRateLimit.
func (*HTTPRateLimit) DeepCopyInto ¶
func (in *HTTPRateLimit) DeepCopyInto(out *HTTPRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostnameAccessControl ¶
type HostnameAccessControl struct { // Hostname is the hostname for matching the access control Hostname gwv1beta1.Hostname `json:"hostname"` // +optional // Config is the access control configuration for the hostname Config *AccessControlConfig `json:"config,omitempty"` }
HostnameAccessControl defines the access control configuration for a hostname
func (*HostnameAccessControl) DeepCopy ¶
func (in *HostnameAccessControl) DeepCopy() *HostnameAccessControl
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostnameAccessControl.
func (*HostnameAccessControl) DeepCopyInto ¶
func (in *HostnameAccessControl) DeepCopyInto(out *HostnameAccessControl)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostnameRateLimit ¶
type HostnameRateLimit struct { // Hostname is the hostname for matching the rate limit Hostname gwv1beta1.Hostname `json:"hostname"` // +optional // RateLimit is the rate limit configuration for the hostname RateLimit *L7RateLimit `json:"rateLimit,omitempty"` }
HostnameRateLimit defines the rate limit configuration for a hostname
func (*HostnameRateLimit) DeepCopy ¶
func (in *HostnameRateLimit) DeepCopy() *HostnameRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostnameRateLimit.
func (*HostnameRateLimit) DeepCopyInto ¶
func (in *HostnameRateLimit) DeepCopyInto(out *HostnameRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type L7RateLimit ¶
type L7RateLimit struct { // +optional // +kubebuilder:default=Local // +kubebuilder:validation:Enum=Local;Global // Mode is the mode of the rate limit policy, Local or Global, default is Local Mode *RateLimitPolicyMode `json:"mode"` // +optional // +kubebuilder:default=10 // +kubebuilder:validation:Minimum=1 // Backlog is the number of requests allowed to wait in the queue Backlog *int32 `json:"backlog,omitempty"` // Requests is the number of requests allowed per statTimeWindow // +kubebuilder:validation:Minimum=1 Requests int32 `json:"requests"` // +optional // +kubebuilder:validation:Minimum=1 // Burst is the number of requests allowed to be bursted, if not specified, it will be the same as Requests Burst *int32 `json:"burst,omitempty"` // +kubebuilder:validation:Minimum=1 // StatTimeWindow is the time window in seconds StatTimeWindow int32 `json:"statTimeWindow"` // +optional // +kubebuilder:default=429 // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=10000 // ResponseStatusCode is the response status code to be returned when the rate limit is exceeded ResponseStatusCode *int32 `json:"responseStatusCode"` // +optional // ResponseHeadersToAdd is the response headers to be added when the rate limit is exceeded ResponseHeadersToAdd map[string]string `json:"responseHeadersToAdd,omitempty"` }
L7RateLimit defines the rate limit configuration for a route
func (*L7RateLimit) DeepCopy ¶
func (in *L7RateLimit) DeepCopy() *L7RateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L7RateLimit.
func (*L7RateLimit) DeepCopyInto ¶
func (in *L7RateLimit) DeepCopyInto(out *L7RateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerPolicy ¶
type LoadBalancerPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LoadBalancerPolicySpec `json:"spec,omitempty"` Status LoadBalancerPolicyStatus `json:"status,omitempty"` }
LoadBalancerPolicy is the Schema for the LoadBalancerPolicy API
func (*LoadBalancerPolicy) DeepCopy ¶
func (in *LoadBalancerPolicy) DeepCopy() *LoadBalancerPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerPolicy.
func (*LoadBalancerPolicy) DeepCopyInto ¶
func (in *LoadBalancerPolicy) DeepCopyInto(out *LoadBalancerPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadBalancerPolicy) DeepCopyObject ¶
func (in *LoadBalancerPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LoadBalancerPolicyList ¶
type LoadBalancerPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []LoadBalancerPolicy `json:"items"` }
LoadBalancerPolicyList contains a list of LoadBalancerPolicy
func (*LoadBalancerPolicyList) DeepCopy ¶
func (in *LoadBalancerPolicyList) DeepCopy() *LoadBalancerPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerPolicyList.
func (*LoadBalancerPolicyList) DeepCopyInto ¶
func (in *LoadBalancerPolicyList) DeepCopyInto(out *LoadBalancerPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadBalancerPolicyList) DeepCopyObject ¶
func (in *LoadBalancerPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LoadBalancerPolicySpec ¶
type LoadBalancerPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=16 // Ports is the load balancer configuration for ports Ports []PortLoadBalancer `json:"ports,omitempty"` // +optional // +kubebuilder:default=RoundRobinLoadBalancer // +kubebuilder:validation:Enum=RoundRobinLoadBalancer;HashingLoadBalancer;LeastConnectionLoadBalancer // DefaultType is the default type of the load balancer for all ports DefaultType *LoadBalancerType `json:"type,omitempty"` }
LoadBalancerPolicySpec defines the desired state of LoadBalancerPolicy
func (*LoadBalancerPolicySpec) DeepCopy ¶
func (in *LoadBalancerPolicySpec) DeepCopy() *LoadBalancerPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerPolicySpec.
func (*LoadBalancerPolicySpec) DeepCopyInto ¶
func (in *LoadBalancerPolicySpec) DeepCopyInto(out *LoadBalancerPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerPolicyStatus ¶
type LoadBalancerPolicyStatus struct { // Conditions describe the current conditions of the LoadBalancerPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
LoadBalancerPolicyStatus defines the observed state of LoadBalancerPolicy
func (*LoadBalancerPolicyStatus) DeepCopy ¶
func (in *LoadBalancerPolicyStatus) DeepCopy() *LoadBalancerPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerPolicyStatus.
func (*LoadBalancerPolicyStatus) DeepCopyInto ¶
func (in *LoadBalancerPolicyStatus) DeepCopyInto(out *LoadBalancerPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerType ¶
type LoadBalancerType string
const ( RoundRobinLoadBalancer LoadBalancerType = "RoundRobinLoadBalancer" HashingLoadBalancer LoadBalancerType = "HashingLoadBalancer" LeastConnectionLoadBalancer LoadBalancerType = "LeastConnectionLoadBalancer" )
type PortAccessControl ¶
type PortAccessControl struct { // Port is the port number for matching the access control Port gwv1beta1.PortNumber `json:"port"` // +optional // Config is the access control configuration for the port Config *AccessControlConfig `json:"config,omitempty"` }
PortAccessControl defines the access control configuration for a port
func (*PortAccessControl) DeepCopy ¶
func (in *PortAccessControl) DeepCopy() *PortAccessControl
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortAccessControl.
func (*PortAccessControl) DeepCopyInto ¶
func (in *PortAccessControl) DeepCopyInto(out *PortAccessControl)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortCircuitBreaking ¶
type PortCircuitBreaking struct { // Port is the port number of the target service Port gwv1beta1.PortNumber `json:"port"` // +optional // Config is the circuit breaking configuration for the port Config *CircuitBreakingConfig `json:"config,omitempty"` }
func (*PortCircuitBreaking) DeepCopy ¶
func (in *PortCircuitBreaking) DeepCopy() *PortCircuitBreaking
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortCircuitBreaking.
func (*PortCircuitBreaking) DeepCopyInto ¶
func (in *PortCircuitBreaking) DeepCopyInto(out *PortCircuitBreaking)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortLoadBalancer ¶
type PortLoadBalancer struct { // Port is the port number for matching the load balancer Port gwv1beta1.PortNumber `json:"port"` // +optional // +kubebuilder:default=RoundRobinLoadBalancer // +kubebuilder:validation:Enum=RoundRobinLoadBalancer;HashingLoadBalancer;LeastConnectionLoadBalancer // Type is the type of the load balancer Type *LoadBalancerType `json:"type,omitempty"` }
PortLoadBalancer defines the load balancer configuration for a port
func (*PortLoadBalancer) DeepCopy ¶
func (in *PortLoadBalancer) DeepCopy() *PortLoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortLoadBalancer.
func (*PortLoadBalancer) DeepCopyInto ¶
func (in *PortLoadBalancer) DeepCopyInto(out *PortLoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortRateLimit ¶
type PortRateLimit struct { // Port is the port number for matching the rate limit Port gwv1beta1.PortNumber `json:"port"` // +optional // +kubebuilder:validation:Minimum=1 // BPS is the rate limit in bytes per second for the port BPS *int64 `json:"bps,omitempty"` }
PortRateLimit defines the rate limit configuration for a port
func (*PortRateLimit) DeepCopy ¶
func (in *PortRateLimit) DeepCopy() *PortRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortRateLimit.
func (*PortRateLimit) DeepCopyInto ¶
func (in *PortRateLimit) DeepCopyInto(out *PortRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortSessionSticky ¶
type PortSessionSticky struct { // Port is the port number of the target service Port gwv1beta1.PortNumber `json:"port"` // +optional // Config is the session sticky configuration for the port Config *SessionStickyConfig `json:"config,omitempty"` }
PortSessionSticky defines the session sticky configuration for a port
func (*PortSessionSticky) DeepCopy ¶
func (in *PortSessionSticky) DeepCopy() *PortSessionSticky
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortSessionSticky.
func (*PortSessionSticky) DeepCopyInto ¶
func (in *PortSessionSticky) DeepCopyInto(out *PortSessionSticky)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitPolicy ¶
type RateLimitPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RateLimitPolicySpec `json:"spec,omitempty"` Status RateLimitPolicyStatus `json:"status,omitempty"` }
RateLimitPolicy is the Schema for the RateLimitPolicy API
func (*RateLimitPolicy) DeepCopy ¶
func (in *RateLimitPolicy) DeepCopy() *RateLimitPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitPolicy.
func (*RateLimitPolicy) DeepCopyInto ¶
func (in *RateLimitPolicy) DeepCopyInto(out *RateLimitPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimitPolicy) DeepCopyObject ¶
func (in *RateLimitPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RateLimitPolicyList ¶
type RateLimitPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RateLimitPolicy `json:"items"` }
RateLimitPolicyList contains a list of RateLimitPolicy
func (*RateLimitPolicyList) DeepCopy ¶
func (in *RateLimitPolicyList) DeepCopy() *RateLimitPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitPolicyList.
func (*RateLimitPolicyList) DeepCopyInto ¶
func (in *RateLimitPolicyList) DeepCopyInto(out *RateLimitPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimitPolicyList) DeepCopyObject ¶
func (in *RateLimitPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RateLimitPolicyMode ¶
type RateLimitPolicyMode string
const ( // RateLimitPolicyModeLocal is the local mode RateLimitPolicyModeLocal RateLimitPolicyMode = "Local" // RateLimitPolicyModeGlobal is the global mode RateLimitPolicyModeGlobal RateLimitPolicyMode = "Global" )
type RateLimitPolicySpec ¶
type RateLimitPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +optional // +kubebuilder:validation:MaxItems=16 // Ports is the rate limit configuration for ports Ports []PortRateLimit `json:"ports,omitempty"` // +optional // +kubebuilder:validation:Minimum=1 // DefaultBPS is the default rate limit for all ports DefaultBPS *int64 `json:"bps,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // Hostnames is the rate limit configuration for hostnames Hostnames []HostnameRateLimit `json:"hostnames,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // HTTPRateLimits is the rate limit configuration for HTTP routes HTTPRateLimits []HTTPRateLimit `json:"http,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // GRPCRateLimits is the rate limit configuration for GRPC routes GRPCRateLimits []GRPCRateLimit `json:"grpc,omitempty"` // +optional // DefaultL7RateLimit is the default rate limit for all routes and hostnames DefaultL7RateLimit *L7RateLimit `json:"rateLimit,omitempty"` }
RateLimitPolicySpec defines the desired state of RateLimitPolicy
func (*RateLimitPolicySpec) DeepCopy ¶
func (in *RateLimitPolicySpec) DeepCopy() *RateLimitPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitPolicySpec.
func (*RateLimitPolicySpec) DeepCopyInto ¶
func (in *RateLimitPolicySpec) DeepCopyInto(out *RateLimitPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitPolicyStatus ¶
type RateLimitPolicyStatus struct { // Conditions describe the current conditions of the RateLimitPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
RateLimitPolicyStatus defines the observed state of RateLimitPolicy
func (*RateLimitPolicyStatus) DeepCopy ¶
func (in *RateLimitPolicyStatus) DeepCopy() *RateLimitPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitPolicyStatus.
func (*RateLimitPolicyStatus) DeepCopyInto ¶
func (in *RateLimitPolicyStatus) DeepCopyInto(out *RateLimitPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SessionStickyConfig ¶
type SessionStickyConfig struct { // +optional // +kubebuilder:default=_srv_id // CookieName is the name of the cookie used for sticky session CookieName *string `json:"cookieName,omitempty"` // +optional // +kubebuilder:default=3600 // +kubebuilder:validation:Minimum=1 // Expires is the expiration time of the cookie in seconds Expires *int32 `json:"expires,omitempty"` }
SessionStickyConfig defines the session sticky configuration
func (*SessionStickyConfig) DeepCopy ¶
func (in *SessionStickyConfig) DeepCopy() *SessionStickyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionStickyConfig.
func (*SessionStickyConfig) DeepCopyInto ¶
func (in *SessionStickyConfig) DeepCopyInto(out *SessionStickyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SessionStickyPolicy ¶
type SessionStickyPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SessionStickyPolicySpec `json:"spec,omitempty"` Status SessionStickyPolicyStatus `json:"status,omitempty"` }
SessionStickyPolicy is the Schema for the SessionStickyPolicy API
func (*SessionStickyPolicy) DeepCopy ¶
func (in *SessionStickyPolicy) DeepCopy() *SessionStickyPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionStickyPolicy.
func (*SessionStickyPolicy) DeepCopyInto ¶
func (in *SessionStickyPolicy) DeepCopyInto(out *SessionStickyPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SessionStickyPolicy) DeepCopyObject ¶
func (in *SessionStickyPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SessionStickyPolicyList ¶
type SessionStickyPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SessionStickyPolicy `json:"items"` }
SessionStickyPolicyList contains a list of SessionStickyPolicy
func (*SessionStickyPolicyList) DeepCopy ¶
func (in *SessionStickyPolicyList) DeepCopy() *SessionStickyPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionStickyPolicyList.
func (*SessionStickyPolicyList) DeepCopyInto ¶
func (in *SessionStickyPolicyList) DeepCopyInto(out *SessionStickyPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SessionStickyPolicyList) DeepCopyObject ¶
func (in *SessionStickyPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SessionStickyPolicySpec ¶
type SessionStickyPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=16 // Ports is the session sticky configuration for ports Ports []PortSessionSticky `json:"ports,omitempty"` // +optional // DefaultConfig is the default session sticky configuration for all ports DefaultConfig *SessionStickyConfig `json:"config,omitempty"` }
SessionStickyPolicySpec defines the desired state of SessionStickyPolicy
func (*SessionStickyPolicySpec) DeepCopy ¶
func (in *SessionStickyPolicySpec) DeepCopy() *SessionStickyPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionStickyPolicySpec.
func (*SessionStickyPolicySpec) DeepCopyInto ¶
func (in *SessionStickyPolicySpec) DeepCopyInto(out *SessionStickyPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SessionStickyPolicyStatus ¶
type SessionStickyPolicyStatus struct { // Conditions describe the current conditions of the SessionStickyPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
SessionStickyPolicyStatus defines the observed state of SessionStickyPolicy
func (*SessionStickyPolicyStatus) DeepCopy ¶
func (in *SessionStickyPolicyStatus) DeepCopy() *SessionStickyPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionStickyPolicyStatus.
func (*SessionStickyPolicyStatus) DeepCopyInto ¶
func (in *SessionStickyPolicyStatus) DeepCopyInto(out *SessionStickyPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.