v1alpha1

package
v1.4.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 5, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API.

Index

Constants

View Source
const (
	// FilterConditionAccepted indicates whether the filter has been accepted or
	// rejected by a targeted resource, and why.
	//
	// Possible reasons for this condition to be True are:
	//
	// * "Accepted"
	//
	// Possible reasons for this condition to be False are:
	//
	// * "Conflicted"
	// * "Invalid"
	// * "TargetNotFound"
	//
	FilterConditionAccepted FilterConditionType = "Accepted"

	// FilterReasonAccepted is used with the "Accepted" condition when the policy
	// has been accepted by the targeted resource.
	FilterReasonAccepted FilterConditionReason = "Accepted"

	// FilterReasonConflicted is used with the "Accepted" condition when the
	// policy has not been accepted by a targeted resource because there is
	// another policy that targets the same resource and a merge is not possible.
	FilterReasonConflicted FilterConditionReason = "Conflicted"

	// FilterReasonInvalid is used with the "Accepted" condition when the policy
	// is syntactically or semantically invalid.
	FilterReasonInvalid FilterConditionReason = "Invalid"

	// FilterReasonTargetNotFound is used with the "Accepted" condition when the
	// policy is attached to an invalid target resource.
	FilterReasonTargetNotFound FilterConditionReason = "TargetNotFound"
)
View Source
const GroupName = "extension.gateway.flomesh.io"

GroupName specifies the group name used to register the objects.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Deprecated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type CircuitBreaker

type CircuitBreaker struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CircuitBreakerSpec   `json:"spec,omitempty"`
	Status CircuitBreakerStatus `json:"status,omitempty"`
}

CircuitBreaker is the Schema for the CircuitBreaker API

func (*CircuitBreaker) DeepCopy

func (in *CircuitBreaker) DeepCopy() *CircuitBreaker

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreaker.

func (*CircuitBreaker) DeepCopyInto

func (in *CircuitBreaker) DeepCopyInto(out *CircuitBreaker)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CircuitBreaker) DeepCopyObject

func (in *CircuitBreaker) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CircuitBreakerList

type CircuitBreakerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CircuitBreaker `json:"items"`
}

CircuitBreakerList contains a list of CircuitBreaker

func (*CircuitBreakerList) DeepCopy

func (in *CircuitBreakerList) DeepCopy() *CircuitBreakerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakerList.

func (*CircuitBreakerList) DeepCopyInto

func (in *CircuitBreakerList) DeepCopyInto(out *CircuitBreakerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CircuitBreakerList) DeepCopyObject

func (in *CircuitBreakerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CircuitBreakerResponse

type CircuitBreakerResponse struct {
	// +optional
	// +kubebuilder:default=429
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=600
	// StatusCode is the HTTP status code of the response, default is 429
	StatusCode *int32 `json:"status,omitempty"`

	// +optional
	// Headers is the HTTP headers of response
	Headers map[string]string `json:"headers,omitempty"`

	// +optional
	// +kubebuilder:default="Circuit breaker triggered"
	// Body is the content of response body, default is "Circuit breaker triggered"
	Body *string `json:"body,omitempty"`
}

func (*CircuitBreakerResponse) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakerResponse.

func (*CircuitBreakerResponse) DeepCopyInto

func (in *CircuitBreakerResponse) DeepCopyInto(out *CircuitBreakerResponse)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CircuitBreakerSpec

type CircuitBreakerSpec struct {
	// +optional
	// +kubebuilder:default="1s"
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern=`^([0-9]{1,5}(h|m|s|ms)){1,4}$`
	// LatencyThreshold is the threshold in milliseconds to determine a slow request, default is 1s
	LatencyThreshold *metav1.Duration `json:"latencyThreshold,omitempty"`

	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=10
	// ErrorCountThreshold is the threshold of error requests in the StatTimeWindow to trigger circuit breaking, default is 10
	ErrorCountThreshold *int32 `json:"errorCountThreshold,omitempty"`

	// +optional
	// +kubebuilder:validation:Minimum=0.00
	// +kubebuilder:validation:Maximum=1.00
	// +kubebuilder:default=0.50
	// ErrorRatioThreshold is the threshold of error requests ratio in the StatTimeWindow to trigger circuit breaking, default is 0.5(50%)
	ErrorRatioThreshold *float32 `json:"errorRatioThreshold,omitempty"`

	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=0
	// ConcurrencyThreshold is the threshold of concurrent requests to trigger circuit breaking, default is 0
	ConcurrencyThreshold *int32 `json:"concurrencyThreshold,omitempty"`

	// +optional
	// +kubebuilder:default="5s"
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern=`^([0-9]{1,5}(h|m|s|ms)){1,4}$`
	// CheckInterval is the interval to check the health of the service, default is 5s
	CheckInterval *metav1.Duration `json:"checkInterval,omitempty"`

	// +optional
	// +kubebuilder:default="30s"
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern=`^([0-9]{1,5}(h|m|s|ms)){1,4}$`
	// BreakInterval is the interval to break the service, default is 30s
	BreakInterval *metav1.Duration `json:"breakInterval,omitempty"`

	// +optional
	// +kubebuilder:validation:Type=object
	// +kubebuilder:default={status: 429, body: "Circuit breaker triggered"}
	// CircuitBreakerResponse is the response when circuit breaker triggered
	CircuitBreakerResponse *CircuitBreakerResponse `json:"response,omitempty"`
}

CircuitBreakerSpec defines the desired state of CircuitBreaker

func (*CircuitBreakerSpec) DeepCopy

func (in *CircuitBreakerSpec) DeepCopy() *CircuitBreakerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakerSpec.

func (*CircuitBreakerSpec) DeepCopyInto

func (in *CircuitBreakerSpec) DeepCopyInto(out *CircuitBreakerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CircuitBreakerStatus

type CircuitBreakerStatus struct {
	// Conditions describe the current conditions of the CircuitBreaker.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

CircuitBreakerStatus defines the observed state of CircuitBreaker

func (*CircuitBreakerStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakerStatus.

func (*CircuitBreakerStatus) DeepCopyInto

func (in *CircuitBreakerStatus) DeepCopyInto(out *CircuitBreakerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjection

type FaultInjection struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FaultInjectionSpec   `json:"spec,omitempty"`
	Status FaultInjectionStatus `json:"status,omitempty"`
}

FaultInjection is the Schema for the FaultInjection API

func (*FaultInjection) DeepCopy

func (in *FaultInjection) DeepCopy() *FaultInjection

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjection.

func (*FaultInjection) DeepCopyInto

func (in *FaultInjection) DeepCopyInto(out *FaultInjection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FaultInjection) DeepCopyObject

func (in *FaultInjection) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FaultInjectionAbort

type FaultInjectionAbort struct {
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// Percentage is the percentage of requests to abort
	Percentage int32 `json:"percentage"`

	// +optional
	// +kubebuilder:validation:Type=object
	// +kubebuilder:default={status: 500, body: "Fault injection triggered"}
	// Response is the response when fault injection triggered
	Response *FaultInjectionResponse `json:"response,omitempty"`
}

FaultInjectionAbort defines the abort configuration

func (*FaultInjectionAbort) DeepCopy

func (in *FaultInjectionAbort) DeepCopy() *FaultInjectionAbort

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionAbort.

func (*FaultInjectionAbort) DeepCopyInto

func (in *FaultInjectionAbort) DeepCopyInto(out *FaultInjectionAbort)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionDelay

type FaultInjectionDelay struct {
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// Percentage is the percentage of requests to delay
	Percentage int32 `json:"percentage"`

	// +optional
	// +kubebuilder:default="1s"
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern=`^([0-9]{1,5}(h|m|s|ms)){1,4}$`
	// Min is the minimum delay duration, default is 1s
	Min *metav1.Duration `json:"min,omitempty"`

	// +optional
	// +kubebuilder:default="1s"
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern=`^([0-9]{1,5}(h|m|s|ms)){1,4}$`
	// Max is the maximum delay duration, default is 1s
	Max *metav1.Duration `json:"max,omitempty"`
}

FaultInjectionDelay defines the delay configuration

func (*FaultInjectionDelay) DeepCopy

func (in *FaultInjectionDelay) DeepCopy() *FaultInjectionDelay

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionDelay.

func (*FaultInjectionDelay) DeepCopyInto

func (in *FaultInjectionDelay) DeepCopyInto(out *FaultInjectionDelay)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionList

type FaultInjectionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FaultInjection `json:"items"`
}

FaultInjectionList contains a list of FaultInjection

func (*FaultInjectionList) DeepCopy

func (in *FaultInjectionList) DeepCopy() *FaultInjectionList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionList.

func (*FaultInjectionList) DeepCopyInto

func (in *FaultInjectionList) DeepCopyInto(out *FaultInjectionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FaultInjectionList) DeepCopyObject

func (in *FaultInjectionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FaultInjectionResponse

type FaultInjectionResponse struct {
	// +optional
	// +kubebuilder:default=500
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=600
	// StatusCode is the HTTP status code of the response, default is 500
	StatusCode *int32 `json:"status,omitempty"`

	// +optional
	// Headers is the HTTP headers of response
	Headers map[string]string `json:"headers,omitempty"`

	// +optional
	// +kubebuilder:default="Fault injection triggered"
	// Body is the content of response body, default is "Fault injection triggered"
	Body *string `json:"body,omitempty"`
}

func (*FaultInjectionResponse) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionResponse.

func (*FaultInjectionResponse) DeepCopyInto

func (in *FaultInjectionResponse) DeepCopyInto(out *FaultInjectionResponse)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionSpec

type FaultInjectionSpec struct {
	// +optional
	// Delay defines the delay configuration
	Delay *FaultInjectionDelay `json:"delay,omitempty"`

	// +optional
	// Abort defines the abort configuration
	Abort *FaultInjectionAbort `json:"abort,omitempty"`
}

FaultInjectionSpec defines the desired state of FaultInjection

func (*FaultInjectionSpec) DeepCopy

func (in *FaultInjectionSpec) DeepCopy() *FaultInjectionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionSpec.

func (*FaultInjectionSpec) DeepCopyInto

func (in *FaultInjectionSpec) DeepCopyInto(out *FaultInjectionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FaultInjectionStatus

type FaultInjectionStatus struct {
	// Conditions describe the current conditions of the FaultInjection.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

FaultInjectionStatus defines the observed state of FaultInjection

func (*FaultInjectionStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionStatus.

func (*FaultInjectionStatus) DeepCopyInto

func (in *FaultInjectionStatus) DeepCopyInto(out *FaultInjectionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Filter

type Filter struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the desired state of Filter.
	Spec FilterSpec `json:"spec,omitempty"`

	// Status defines the current state of Filter.
	Status FilterStatus `json:"status,omitempty"`
}

Filter provides a way to configure filters for HTTP/HTTPS/GRPC/GRPCS/TCP protocols +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:storageversion +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories=gateway-api +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:metadata:labels={app.kubernetes.io/name=flomesh.io}

func (*Filter) DeepCopy

func (in *Filter) DeepCopy() *Filter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filter.

func (*Filter) DeepCopyInto

func (in *Filter) DeepCopyInto(out *Filter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Filter) DeepCopyObject

func (in *Filter) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FilterAspect added in v1.4.3

type FilterAspect string
const (
	// FilterAspectListener is the aspect of filter for listener
	FilterAspectListener FilterAspect = "Listener"

	// FilterAspectRoute is the aspect of filter for route
	FilterAspectRoute FilterAspect = "Route"
)

type FilterConditionReason

type FilterConditionReason string

FilterConditionReason is a reason for a policy condition.

type FilterConditionType

type FilterConditionType string

FilterConditionType is a type of condition for a filter. This type should be used with a Filter resource Status.Conditions field.

type FilterConfig

type FilterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the desired state of FilterConfig.
	Spec FilterConfigSpec `json:"spec,omitempty"`

	// Status defines the current state of FilterConfig.
	Status FilterConfigStatus `json:"status,omitempty"`
}

FilterConfig provides a way to configure filters for HTTP/HTTPS/GRPC/GRPCS/TCP protocols +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:storageversion +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories=gateway-api +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:metadata:labels={app.kubernetes.io/name=flomesh.io}

func (*FilterConfig) DeepCopy

func (in *FilterConfig) DeepCopy() *FilterConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterConfig.

func (*FilterConfig) DeepCopyInto

func (in *FilterConfig) DeepCopyInto(out *FilterConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FilterConfig) DeepCopyObject

func (in *FilterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FilterConfigList

type FilterConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FilterConfig `json:"items"`
}

FilterConfigList contains a list of FilterConfig

func (*FilterConfigList) DeepCopy

func (in *FilterConfigList) DeepCopy() *FilterConfigList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterConfigList.

func (*FilterConfigList) DeepCopyInto

func (in *FilterConfigList) DeepCopyInto(out *FilterConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FilterConfigList) DeepCopyObject

func (in *FilterConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FilterConfigSpec

type FilterConfigSpec struct {
	// +kube:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Type=string
	// Config is the filter configuration in YAML format
	Config string `json:"config"`
}

FilterConfigSpec defines the desired state of FilterConfig

func (*FilterConfigSpec) DeepCopy

func (in *FilterConfigSpec) DeepCopy() *FilterConfigSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterConfigSpec.

func (*FilterConfigSpec) DeepCopyInto

func (in *FilterConfigSpec) DeepCopyInto(out *FilterConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterConfigStatus

type FilterConfigStatus struct {
	// Conditions describes the status of the FilterConfig with respect to the given Ancestor.
	//
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

FilterConfigStatus defines the common attributes that all filters should include within their status.

func (*FilterConfigStatus) DeepCopy

func (in *FilterConfigStatus) DeepCopy() *FilterConfigStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterConfigStatus.

func (*FilterConfigStatus) DeepCopyInto

func (in *FilterConfigStatus) DeepCopyInto(out *FilterConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterDefinition

type FilterDefinition struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the desired state of FilterDefinition.
	Spec FilterDefinitionSpec `json:"spec,omitempty"`

	// Status defines the current state of FilterDefinition.
	Status FilterDefinitionStatus `json:"status,omitempty"`
}

FilterDefinition provides a way to configure FilterDefinitions for HTTP/HTTPS/GRPC/GRPCS/TCP protocols +genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:storageversion +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories=gateway-api +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:metadata:labels={app.kubernetes.io/name=flomesh.io}

func (*FilterDefinition) DeepCopy

func (in *FilterDefinition) DeepCopy() *FilterDefinition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterDefinition.

func (*FilterDefinition) DeepCopyInto

func (in *FilterDefinition) DeepCopyInto(out *FilterDefinition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FilterDefinition) DeepCopyObject

func (in *FilterDefinition) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FilterDefinitionList

type FilterDefinitionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FilterDefinition `json:"items"`
}

FilterDefinitionList contains a list of FilterDefinition

func (*FilterDefinitionList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterDefinitionList.

func (*FilterDefinitionList) DeepCopyInto

func (in *FilterDefinitionList) DeepCopyInto(out *FilterDefinitionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FilterDefinitionList) DeepCopyObject

func (in *FilterDefinitionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FilterDefinitionSpec

type FilterDefinitionSpec struct {
	// Scope is the scope of FilterDefinition
	// +optional
	// +kubebuilder:default=Route
	// +kubebuilder:validation:Enum=Route;Listener
	Scope *FilterScope `json:"scope,omitempty"`

	// Protocol is the protocol of FilterDefinition
	// +optional
	// +kubebuilder:default=http
	// +kubebuilder:validation:Enum=http;tcp
	Protocol *FilterProtocol `json:"protocol,omitempty"`

	// Type is the type of the FilterDefinition in PascalCase, it should be unique within the namespace
	Type FilterType `json:"type"`

	// Script is the list of scripts to be executed
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Type=string
	Script string `json:"script"`
}

FilterDefinitionSpec defines the desired state of FilterDefinition

func (*FilterDefinitionSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterDefinitionSpec.

func (*FilterDefinitionSpec) DeepCopyInto

func (in *FilterDefinitionSpec) DeepCopyInto(out *FilterDefinitionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterDefinitionStatus

type FilterDefinitionStatus struct {
	// Conditions describes the status of the FilterDefinition with respect to the given Ancestor.
	//
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

FilterDefinitionStatus defines the common attributes that all FilterDefinitions should include within their status.

func (*FilterDefinitionStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterDefinitionStatus.

func (*FilterDefinitionStatus) DeepCopyInto

func (in *FilterDefinitionStatus) DeepCopyInto(out *FilterDefinitionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterList

type FilterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Filter `json:"items"`
}

FilterList contains a list of Filter

func (*FilterList) DeepCopy

func (in *FilterList) DeepCopy() *FilterList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterList.

func (*FilterList) DeepCopyInto

func (in *FilterList) DeepCopyInto(out *FilterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FilterList) DeepCopyObject

func (in *FilterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FilterProtocol

type FilterProtocol string

FilterProtocol defines the protocol of filter

const (
	// FilterProtocolHTTP is the type of filter for HTTP/HTTPS/GRPC/GRPCS protocols
	FilterProtocolHTTP FilterProtocol = "http"

	// FilterProtocolTCP is the type of filter for TCP protocol
	FilterProtocolTCP FilterProtocol = "tcp"

	// FilterProtocolUDP is the type of filter for UDP protocol
	FilterProtocolUDP FilterProtocol = "udp"
)

type FilterScope

type FilterScope string

FilterScope defines the scope of filter

const (
	// FilterScopeListener is the type of filter for listener
	FilterScopeListener FilterScope = "Listener"

	// FilterScopeRoute is the type of filter for route
	FilterScopeRoute FilterScope = "Route"
)

type FilterSpec

type FilterSpec struct {
	// Type is the type of the Filter in PascalCase, it should be unique within the namespace
	Type FilterType `json:"type"`

	// +optional
	// +nullable
	// +kubebuilder:validation:Type=object
	// DefinitionRef is the reference to the FilterDefinition
	DefinitionRef *gwv1.LocalObjectReference `json:"definitionRef"`

	// +optional
	// +nullable
	// +kubebuilder:validation:Type=object
	// ConfigRef is the reference to the Configurations
	ConfigRef *gwv1.LocalObjectReference `json:"configRef,omitempty"`
}

FilterSpec defines the desired state of Filter

func (*FilterSpec) DeepCopy

func (in *FilterSpec) DeepCopy() *FilterSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterSpec.

func (*FilterSpec) DeepCopyInto

func (in *FilterSpec) DeepCopyInto(out *FilterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterStatus

type FilterStatus struct {
	// Conditions describes the status of the Filter with respect to the given Ancestor.
	//
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

FilterStatus defines the common attributes that all filters should include within their status.

func (*FilterStatus) DeepCopy

func (in *FilterStatus) DeepCopy() *FilterStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterStatus.

func (*FilterStatus) DeepCopyInto

func (in *FilterStatus) DeepCopyInto(out *FilterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterType

type FilterType string

FilterType defines the type of filter

type HTTPLog

type HTTPLog struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   HTTPLogSpec   `json:"spec,omitempty"`
	Status HTTPLogStatus `json:"status,omitempty"`
}

HTTPLog is the Schema for the HTTPLog API

func (*HTTPLog) DeepCopy

func (in *HTTPLog) DeepCopy() *HTTPLog

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPLog.

func (*HTTPLog) DeepCopyInto

func (in *HTTPLog) DeepCopyInto(out *HTTPLog)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTPLog) DeepCopyObject

func (in *HTTPLog) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HTTPLogBatch

type HTTPLogBatch struct {
	// +optional
	// +kubebuilder:default=1000
	// +kubebuilder:validation:Minimum=1
	// Size is the maximum number of logs in a batch, default is 1000
	Size *int32 `json:"size,omitempty"`

	// +optional
	// +kubebuilder:default="1s"
	// Interval is the interval to send a batch, default is 1s
	Interval *metav1.Duration `json:"interval,omitempty"`

	// +optional
	// +kubebuilder:default=""
	// Prefix is the prefix of the batch, default is ""
	Prefix *string `json:"prefix,omitempty"`

	// +optional
	// +kubebuilder:default=""
	// Postfix is the postfix of the batch, default is ""
	Postfix *string `json:"postfix,omitempty"`

	// +optional
	// +kubebuilder:default="\n"
	// Separator is the separator of the logs in the batch, default is "\n"
	Separator *string `json:"separator,omitempty"`
}

func (*HTTPLogBatch) DeepCopy

func (in *HTTPLogBatch) DeepCopy() *HTTPLogBatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPLogBatch.

func (*HTTPLogBatch) DeepCopyInto

func (in *HTTPLogBatch) DeepCopyInto(out *HTTPLogBatch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPLogList

type HTTPLogList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HTTPLog `json:"items"`
}

HTTPLogList contains a list of HTTPLog

func (*HTTPLogList) DeepCopy

func (in *HTTPLogList) DeepCopy() *HTTPLogList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPLogList.

func (*HTTPLogList) DeepCopyInto

func (in *HTTPLogList) DeepCopyInto(out *HTTPLogList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTPLogList) DeepCopyObject

func (in *HTTPLogList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HTTPLogSpec

type HTTPLogSpec struct {
	// +kubebuilder:validation:Required
	// Target is the URL of the HTTPLog service
	Target string `json:"target"`

	// +optional
	// +kubebuilder:default="POST"
	// +kubebuilder:validation:Enum=GET;POST;PUT;DELETE;PATCH;HEAD;OPTIONS
	// Method is the HTTP method of the HTTPLog service, default is POST
	Method *string `json:"method,omitempty"`

	// +optional
	// Headers is the HTTP headers of the log request
	Headers map[string]string `json:"headers,omitempty"`

	// +optional
	// +kubebuilder:default=1048576
	// +kubebuilder:validation:Minimum=1
	// BufferLimit is the maximum size of the buffer in bytes, default is 1048576(1MB)
	BufferLimit *int64 `json:"bufferLimit,omitempty"`

	// +optional
	// +kubebuilder:validation:Type=object
	// +kubebuilder:default={size: 1000, interval: "1s", prefix: "", postfix: "", separator: "\n"}
	// Batch is the batch configuration of the logs
	Batch *HTTPLogBatch `json:"batch,omitempty"`
}

HTTPLogSpec defines the desired state of HTTPLog

func (*HTTPLogSpec) DeepCopy

func (in *HTTPLogSpec) DeepCopy() *HTTPLogSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPLogSpec.

func (*HTTPLogSpec) DeepCopyInto

func (in *HTTPLogSpec) DeepCopyInto(out *HTTPLogSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPLogStatus

type HTTPLogStatus struct {
	// Conditions describe the current conditions of the HTTPLog.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

HTTPLogStatus defines the observed state of HTTPLog

func (*HTTPLogStatus) DeepCopy

func (in *HTTPLogStatus) DeepCopy() *HTTPLogStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPLogStatus.

func (*HTTPLogStatus) DeepCopyInto

func (in *HTTPLogStatus) DeepCopyInto(out *HTTPLogStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ListenerFilter

type ListenerFilter struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the desired state of ListenerFilter.
	Spec ListenerFilterSpec `json:"spec,omitempty"`

	// Status defines the current state of ListenerFilter.
	Status ListenerFilterStatus `json:"status,omitempty"`
}

ListenerFilter provides a way to configure ListenerFilters for HTTP/HTTPS/GRPC/GRPCS/TCP protocols +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:storageversion +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories=gateway-api +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:metadata:labels={app.kubernetes.io/name=flomesh.io}

func (*ListenerFilter) DeepCopy

func (in *ListenerFilter) DeepCopy() *ListenerFilter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerFilter.

func (*ListenerFilter) DeepCopyInto

func (in *ListenerFilter) DeepCopyInto(out *ListenerFilter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ListenerFilter) DeepCopyObject

func (in *ListenerFilter) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ListenerFilterList

type ListenerFilterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ListenerFilter `json:"items"`
}

ListenerFilterList contains a list of ListenerFilter

func (*ListenerFilterList) DeepCopy

func (in *ListenerFilterList) DeepCopy() *ListenerFilterList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerFilterList.

func (*ListenerFilterList) DeepCopyInto

func (in *ListenerFilterList) DeepCopyInto(out *ListenerFilterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ListenerFilterList) DeepCopyObject

func (in *ListenerFilterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ListenerFilterSpec

type ListenerFilterSpec struct {
	// Type is the type of the ListenerFilter in PascalCase, it should be unique within the namespace
	Type FilterType `json:"type"`

	// +optional
	// +kubebuilder:default=100
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=10000
	// Priority is the priority of the ListenerFilter, it is used to determine the order of the ListenerFilters, the ListenerFilter with the lowest priority is applied first
	Priority *int32 `json:"priority,omitempty"`

	// +optional
	// +kubebuilder:default=Listener
	// +kubebuilder:validation:Enum=Route;Listener
	// Aspect is the aspect of the ListenerFilter, default is Listener
	// If the aspect is Route, the ListenerFilter is applied to all Routes attached to this listener and is executed before any Route level filters
	// If the aspect is Listener, the ListenerFilter is executed when request is received by the listener
	Aspect *FilterAspect `json:"aspect,omitempty"`

	// +listType=map
	// +listMapKey=group
	// +listMapKey=kind
	// +listMapKey=name
	// +listMapKey=port
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=16
	// TargetRefs is the references to the target resources to which the ListenerFilter is applied
	TargetRefs []LocalTargetReferenceWithPort `json:"targetRefs"`

	// +optional
	// +nullable
	// +kubebuilder:validation:Type=object
	// DefinitionRef is the reference to the FilterDefinition
	DefinitionRef *gwv1.LocalObjectReference `json:"definitionRef"`

	// +optional
	// +nullable
	// +kubebuilder:validation:Type=object
	// ConfigRef is the reference to the Configurations
	ConfigRef *gwv1.LocalObjectReference `json:"configRef,omitempty"`
}

ListenerFilterSpec defines the desired state of ListenerFilter

func (*ListenerFilterSpec) DeepCopy

func (in *ListenerFilterSpec) DeepCopy() *ListenerFilterSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerFilterSpec.

func (*ListenerFilterSpec) DeepCopyInto

func (in *ListenerFilterSpec) DeepCopyInto(out *ListenerFilterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ListenerFilterStatus

type ListenerFilterStatus struct {
	// Conditions describes the status of the ListenerFilter with respect to the given Ancestor.
	//
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ListenerFilterStatus defines the common attributes that all ListenerFilters should include within their status.

func (*ListenerFilterStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerFilterStatus.

func (*ListenerFilterStatus) DeepCopyInto

func (in *ListenerFilterStatus) DeepCopyInto(out *ListenerFilterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalTargetReferenceWithPort

type LocalTargetReferenceWithPort struct {
	// Group is the group of the target resource.
	Group gwv1.Group `json:"group"`

	// Kind is kind of the target resource.
	Kind gwv1.Kind `json:"kind"`

	// Name is the name of the target resource.
	Name gwv1.ObjectName `json:"name"`

	// port is the port of the target listener.
	Port gwv1.PortNumber `json:"port"`
}

func (*LocalTargetReferenceWithPort) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalTargetReferenceWithPort.

func (*LocalTargetReferenceWithPort) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Metrics

type Metrics struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MetricsSpec   `json:"spec,omitempty"`
	Status MetricsStatus `json:"status,omitempty"`
}

Metrics is the Schema for the Metrics API

func (*Metrics) DeepCopy

func (in *Metrics) DeepCopy() *Metrics

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metrics.

func (*Metrics) DeepCopyInto

func (in *Metrics) DeepCopyInto(out *Metrics)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Metrics) DeepCopyObject

func (in *Metrics) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MetricsList

type MetricsList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Metrics `json:"items"`
}

MetricsList contains a list of Metrics

func (*MetricsList) DeepCopy

func (in *MetricsList) DeepCopy() *MetricsList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsList.

func (*MetricsList) DeepCopyInto

func (in *MetricsList) DeepCopyInto(out *MetricsList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MetricsList) DeepCopyObject

func (in *MetricsList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MetricsSpec

type MetricsSpec struct {
	// +optional
	// +kubebuilder:default="1s"
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern=`^([0-9]{1,5}(h|m|s|ms)){1,4}$`
	// SampleInterval is the interval to sample the metrics, default is 1s
	SampleInterval *metav1.Duration `json:"sampleInterval,omitempty"`
}

MetricsSpec defines the desired state of Metrics

func (*MetricsSpec) DeepCopy

func (in *MetricsSpec) DeepCopy() *MetricsSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsSpec.

func (*MetricsSpec) DeepCopyInto

func (in *MetricsSpec) DeepCopyInto(out *MetricsSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricsStatus

type MetricsStatus struct {
	// Conditions describe the current conditions of the Metrics.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

MetricsStatus defines the observed state of Metrics

func (*MetricsStatus) DeepCopy

func (in *MetricsStatus) DeepCopy() *MetricsStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsStatus.

func (*MetricsStatus) DeepCopyInto

func (in *MetricsStatus) DeepCopyInto(out *MetricsStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyTag added in v1.4.3

type ProxyTag struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ProxyTagSpec   `json:"spec,omitempty"`
	Status ProxyTagStatus `json:"status,omitempty"`
}

ProxyTag is the Schema for the ProxyTag API

func (*ProxyTag) DeepCopy added in v1.4.3

func (in *ProxyTag) DeepCopy() *ProxyTag

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTag.

func (*ProxyTag) DeepCopyInto added in v1.4.3

func (in *ProxyTag) DeepCopyInto(out *ProxyTag)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProxyTag) DeepCopyObject added in v1.4.3

func (in *ProxyTag) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProxyTagList added in v1.4.3

type ProxyTagList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ProxyTag `json:"items"`
}

ProxyTagList contains a list of ProxyTag

func (*ProxyTagList) DeepCopy added in v1.4.3

func (in *ProxyTagList) DeepCopy() *ProxyTagList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTagList.

func (*ProxyTagList) DeepCopyInto added in v1.4.3

func (in *ProxyTagList) DeepCopyInto(out *ProxyTagList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProxyTagList) DeepCopyObject added in v1.4.3

func (in *ProxyTagList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProxyTagSpec added in v1.4.3

type ProxyTagSpec struct {
	// +optional
	// +kubebuilder:default="proxy-tag"
	// DestinationHostHeader is the header name to be used for the destination host, default is "proxy-tag"
	DestinationHostHeader *gwv1.HeaderName `json:"dstHostHeader,omitempty"`

	// +optional
	// +kubebuilder:default="orig-host"
	// SourceHostHeader is the header name to be used for the source host, default is "orig-host"
	SourceHostHeader *gwv1.HeaderName `json:"srcHostHeader,omitempty"`
}

ProxyTagSpec defines the desired state of ProxyTag

func (*ProxyTagSpec) DeepCopy added in v1.4.3

func (in *ProxyTagSpec) DeepCopy() *ProxyTagSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTagSpec.

func (*ProxyTagSpec) DeepCopyInto added in v1.4.3

func (in *ProxyTagSpec) DeepCopyInto(out *ProxyTagSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyTagStatus added in v1.4.3

type ProxyTagStatus struct {
	// Conditions describe the current conditions of the ProxyTag.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ProxyTagStatus defines the observed state of ProxyTag

func (*ProxyTagStatus) DeepCopy added in v1.4.3

func (in *ProxyTagStatus) DeepCopy() *ProxyTagStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTagStatus.

func (*ProxyTagStatus) DeepCopyInto added in v1.4.3

func (in *ProxyTagStatus) DeepCopyInto(out *ProxyTagStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit

type RateLimit struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RateLimitSpec   `json:"spec,omitempty"`
	Status RateLimitStatus `json:"status,omitempty"`
}

RateLimit is the Schema for the RateLimit API

func (*RateLimit) DeepCopy

func (in *RateLimit) DeepCopy() *RateLimit

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit.

func (*RateLimit) DeepCopyInto

func (in *RateLimit) DeepCopyInto(out *RateLimit)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RateLimit) DeepCopyObject

func (in *RateLimit) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RateLimitList

type RateLimitList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RateLimit `json:"items"`
}

RateLimitList contains a list of RateLimit

func (*RateLimitList) DeepCopy

func (in *RateLimitList) DeepCopy() *RateLimitList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitList.

func (*RateLimitList) DeepCopyInto

func (in *RateLimitList) DeepCopyInto(out *RateLimitList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RateLimitList) DeepCopyObject

func (in *RateLimitList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RateLimitResponse

type RateLimitResponse struct {
	// +optional
	// +kubebuilder:default=429
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=600
	// StatusCode is the HTTP status code of the response, default is 429
	StatusCode *int32 `json:"status,omitempty"`

	// +optional
	// Headers is the HTTP headers of response
	Headers map[string]string `json:"headers,omitempty"`

	// +optional
	// +kubebuilder:default="Rate limit reached"
	// Body is the content of response body, default is "Rate limit reached"
	Body *string `json:"body,omitempty"`
}

func (*RateLimitResponse) DeepCopy

func (in *RateLimitResponse) DeepCopy() *RateLimitResponse

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitResponse.

func (*RateLimitResponse) DeepCopyInto

func (in *RateLimitResponse) DeepCopyInto(out *RateLimitResponse)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimitSpec

type RateLimitSpec struct {
	// +optional
	// +kubebuilder:default=10
	// +kubebuilder:validation:Minimum=0
	// Burst is the maximum number of requests that can be made in Interval, default is 10
	Burst *int32 `json:"burst,omitempty"`

	// +optional
	// +kubebuilder:default=5
	// +kubebuilder:validation:Minimum=0
	// Requests is the number of requests that can be made in Interval, default is 5
	Requests *int32 `json:"requests,omitempty"`

	// +optional
	// +kubebuilder:default="10s"
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern=`^([0-9]{1,5}(h|m|s|ms)){1,4}$`
	// Interval is the time period in which the requests are counted
	Interval *metav1.Duration `json:"interval,omitempty"`

	// +optional
	// +kubebuilder:default=5
	// +kubebuilder:validation:Minimum=0
	// Backlog is the maximum number of requests that can be queued
	Backlog *int32 `json:"backlog,omitempty"`

	// +optional
	// +kubebuilder:validation:Type=object
	// +kubebuilder:default={status: 429, body: "Rate limit reached"}
	// RateLimitResponse is the response when Rate limit reached
	RateLimitResponse *RateLimitResponse `json:"response,omitempty"`
}

RateLimitSpec defines the desired state of RateLimit

func (*RateLimitSpec) DeepCopy

func (in *RateLimitSpec) DeepCopy() *RateLimitSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitSpec.

func (*RateLimitSpec) DeepCopyInto

func (in *RateLimitSpec) DeepCopyInto(out *RateLimitSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimitStatus

type RateLimitStatus struct {
	// Conditions describe the current conditions of the RateLimit.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

RateLimitStatus defines the observed state of RateLimit

func (*RateLimitStatus) DeepCopy

func (in *RateLimitStatus) DeepCopy() *RateLimitStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitStatus.

func (*RateLimitStatus) DeepCopyInto

func (in *RateLimitStatus) DeepCopyInto(out *RateLimitStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Zipkin

type Zipkin struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ZipkinSpec   `json:"spec,omitempty"`
	Status ZipkinStatus `json:"status,omitempty"`
}

Zipkin is the Schema for the Zipkin API

func (*Zipkin) DeepCopy

func (in *Zipkin) DeepCopy() *Zipkin

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Zipkin.

func (*Zipkin) DeepCopyInto

func (in *Zipkin) DeepCopyInto(out *Zipkin)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Zipkin) DeepCopyObject

func (in *Zipkin) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ZipkinList

type ZipkinList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Zipkin `json:"items"`
}

ZipkinList contains a list of Zipkin

func (*ZipkinList) DeepCopy

func (in *ZipkinList) DeepCopy() *ZipkinList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZipkinList.

func (*ZipkinList) DeepCopyInto

func (in *ZipkinList) DeepCopyInto(out *ZipkinList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ZipkinList) DeepCopyObject

func (in *ZipkinList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ZipkinSpec

type ZipkinSpec struct {
	// +optional
	// +kubebuilder:default=10
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=100
	SamplePercentage *int32 `json:"samplePercentage,omitempty"`
}

ZipkinSpec defines the desired state of Zipkin

func (*ZipkinSpec) DeepCopy

func (in *ZipkinSpec) DeepCopy() *ZipkinSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZipkinSpec.

func (*ZipkinSpec) DeepCopyInto

func (in *ZipkinSpec) DeepCopyInto(out *ZipkinSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ZipkinStatus

type ZipkinStatus struct {
	// Conditions describe the current conditions of the Zipkin.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ZipkinStatus defines the observed state of Zipkin

func (*ZipkinStatus) DeepCopy

func (in *ZipkinStatus) DeepCopy() *ZipkinStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZipkinStatus.

func (*ZipkinStatus) DeepCopyInto

func (in *ZipkinStatus) DeepCopyInto(out *ZipkinStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL