Documentation
¶
Overview ¶
+k8s:protobuf-gen=package +groupName=ctrlmesh.kusionstack.io
Package v1alpha1 contains API Schema definitions for the ctrlmesh v1alpha1 API group +kubebuilder:object:generate=true +groupName=ctrlmesh.kusionstack.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AutoConfig
- type BreakerState
- type Bucket
- type CanaryConfig
- type CircuitBreaker
- type CircuitBreakerList
- type CircuitBreakerSpec
- type CircuitBreakerStatus
- type ContentType
- type InterceptType
- type Limiting
- type LimitingSnapshot
- type ManagerState
- type ManagerStateEndpoint
- type ManagerStateEndpoints
- type ManagerStateList
- type ManagerStatePorts
- type ManagerStateSpec
- type ManagerStateStatus
- type ManualConfig
- type ObjectLimiter
- type RecoverPolicy
- type RecoverType
- type ResourceGroup
- type ResourceRule
- type RestRule
- type RootStatus
- type ShardingConfig
- type ShardingConfigControllerConfiguration
- type ShardingConfigList
- type ShardingConfigRestConfigOverrides
- type ShardingConfigRoot
- type ShardingConfigSpec
- type ShardingConfigStatus
- type ShardingConfigWebhookConfiguration
- type TargetStatus
- type TrafficInterceptRule
- type TriggerPolicy
Constants ¶
const ( ShardingConfigInjectedKey = "ctrlmesh.kusionstack.io/sharding-config-injected" SignalAll = "*" )
const (
NameOfManager = "ctrlmesh-manager"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "ctrlmesh.kusionstack.io", Version: "v1alpha1"} SchemeGroupVersion = GroupVersion // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource is required by pkg/client/listers/...
Types ¶
type AutoConfig ¶
type AutoConfig struct {
ShardingSize int `json:"shardingSize"`
EveryShardReplicas int `json:"everyShardReplicas"`
}
func (*AutoConfig) DeepCopy ¶
func (in *AutoConfig) DeepCopy() *AutoConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoConfig.
func (*AutoConfig) DeepCopyInto ¶
func (in *AutoConfig) DeepCopyInto(out *AutoConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BreakerState ¶
type BreakerState string
BreakerState is the status of the circuit breaker, which may be 'Opened' or 'Closed'.
var ( BreakerStatusOpened BreakerState = "Opened" BreakerStatusClosed BreakerState = "Closed" )
type Bucket ¶
type Bucket struct {
// Burst is the max token number of the bucket
Burst uint32 `json:"burst"`
// Interval is the time interval of the limiting policy, in format of time like: 1h, 3m, 5s.
Interval string `json:"interval"`
// Limit is the token number of the limiting policy.
Limit uint32 `json:"limit"`
}
Bucket defines the whole token bucket of the policy
func (*Bucket) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bucket.
func (*Bucket) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CanaryConfig ¶
type CanaryConfig struct {
Replicas *int `json:"replicas"`
InNamespaces []string `json:"inNamespaces,omitempty"`
InShardHash []string `json:"inShardHash,omitempty"`
}
func (*CanaryConfig) DeepCopy ¶
func (in *CanaryConfig) DeepCopy() *CanaryConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CanaryConfig.
func (*CanaryConfig) DeepCopyInto ¶
func (in *CanaryConfig) DeepCopyInto(out *CanaryConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 circuitbreakers 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 CircuitBreakerSpec ¶
type CircuitBreakerSpec struct {
// Selector is a label query over pods of this application.
Selector *metav1.LabelSelector `json:"selector"`
// RateLimitings defines the limit policies
RateLimitings []*Limiting `json:"rateLimitings,omitempty"`
// TrafficInterceptRules defines the traffic rules
TrafficInterceptRules []*TrafficInterceptRule `json:"trafficInterceptRules,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 {
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
LastUpdatedTime *metav1.Time `json:"lastUpdatedTime,omitempty"`
CurrentSpecHash string `json:"currentSpecHash,omitempty"`
TargetStatus []*TargetStatus `json:"targetStatus,omitempty"`
}
CircuitBreakerStatus defines the observed state of CircuitBreaker
func (*CircuitBreakerStatus) DeepCopy ¶
func (in *CircuitBreakerStatus) DeepCopy() *CircuitBreakerStatus
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 ContentType ¶
type ContentType string
ContentType defines how the circuit-breaking traffic intercept content type from 'Normal' to 'Regexp'
const ( ContentTypeNormal ContentType = "Normal" ContentTypeRegexp ContentType = "Regexp" )
type InterceptType ¶
type InterceptType string
InterceptType defines how the circuit-breaking traffic intercept from 'White' to 'Black'
const ( InterceptTypeWhitelist InterceptType = "Whitelist" InterceptTypeBlacklist InterceptType = "Blacklist" )
type Limiting ¶
type Limiting struct {
// Name is the name of the policy
Name string `json:"name"`
// ResourceRules defines the target k8s resource of the limiting policy
ResourceRules []ResourceRule `json:"resourceRules,omitempty"`
// RestRules defines the target rest resource of the limiting policy
RestRules []RestRule `json:"restRules,omitempty"`
// Bucket defines the whole token bucket of the policy
Bucket Bucket `json:"bucket"`
// TriggerPolicy defines how the circuit-breaking policy triggered from 'Closed' to 'Opened'
TriggerPolicy TriggerPolicy `json:"triggerPolicy"`
// RecoverPolicy defines how the circuit-breaking policy recovered from 'Opened' to 'Closed'
RecoverPolicy *RecoverPolicy `json:"recoverPolicy,omitempty"`
// ValidatePolicy determine the opportunity to validate req
//ValidatePolicy ValidatePolicy `json:"validatePolicy,omitempty"`
// Properties defines the additional properties of the policy, like: SleepingWindowSize
Properties map[string]string `json:"properties,omitempty"`
}
Limiting defines the limit policy
func (*Limiting) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Limiting.
func (*Limiting) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LimitingSnapshot ¶
type LimitingSnapshot struct {
// Name specifies the name of the policy
Name string `json:"name"`
// Status is the status of the circuit breaker, which may be 'Opened' or 'Closed'.
State BreakerState `json:"state"`
// LastTransitionTime is the last time that the status changed
LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
}
LimitingSnapshot defines the snapshot of the whole limiting policy
func (*LimitingSnapshot) DeepCopy ¶
func (in *LimitingSnapshot) DeepCopy() *LimitingSnapshot
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LimitingSnapshot.
func (*LimitingSnapshot) DeepCopyInto ¶
func (in *LimitingSnapshot) DeepCopyInto(out *LimitingSnapshot)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagerState ¶
type ManagerState struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ManagerStateSpec `json:"spec,omitempty"`
Status ManagerStateStatus `json:"status,omitempty"`
}
ManagerState is the Schema for the managerstates API
func (*ManagerState) DeepCopy ¶
func (in *ManagerState) DeepCopy() *ManagerState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagerState.
func (*ManagerState) DeepCopyInto ¶
func (in *ManagerState) DeepCopyInto(out *ManagerState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagerState) DeepCopyObject ¶
func (in *ManagerState) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ManagerStateEndpoint ¶
type ManagerStateEndpoint struct {
Name string `json:"name"`
PodIP string `json:"podIP"`
Leader bool `json:"leader"`
}
func (*ManagerStateEndpoint) DeepCopy ¶
func (in *ManagerStateEndpoint) DeepCopy() *ManagerStateEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagerStateEndpoint.
func (*ManagerStateEndpoint) DeepCopyInto ¶
func (in *ManagerStateEndpoint) DeepCopyInto(out *ManagerStateEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagerStateEndpoints ¶
type ManagerStateEndpoints []ManagerStateEndpoint
func (ManagerStateEndpoints) DeepCopy ¶
func (in ManagerStateEndpoints) DeepCopy() ManagerStateEndpoints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagerStateEndpoints.
func (ManagerStateEndpoints) DeepCopyInto ¶
func (in ManagerStateEndpoints) DeepCopyInto(out *ManagerStateEndpoints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ManagerStateEndpoints) Len ¶
func (e ManagerStateEndpoints) Len() int
func (ManagerStateEndpoints) Less ¶
func (e ManagerStateEndpoints) Less(i, j int) bool
func (ManagerStateEndpoints) Swap ¶
func (e ManagerStateEndpoints) Swap(i, j int)
type ManagerStateList ¶
type ManagerStateList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ManagerState `json:"items"`
}
ManagerStateList contains a list of ManagerState
func (*ManagerStateList) DeepCopy ¶
func (in *ManagerStateList) DeepCopy() *ManagerStateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagerStateList.
func (*ManagerStateList) DeepCopyInto ¶
func (in *ManagerStateList) DeepCopyInto(out *ManagerStateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagerStateList) DeepCopyObject ¶
func (in *ManagerStateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ManagerStatePorts ¶
type ManagerStatePorts struct {
GrpcLeaderElectionPort int `json:"grpcLeaderElectionPort,omitempty"`
GrpcNonLeaderElectionPort int `json:"grpcNonLeaderElectionPort,omitempty"`
}
func (*ManagerStatePorts) DeepCopy ¶
func (in *ManagerStatePorts) DeepCopy() *ManagerStatePorts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagerStatePorts.
func (*ManagerStatePorts) DeepCopyInto ¶
func (in *ManagerStatePorts) DeepCopyInto(out *ManagerStatePorts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagerStateSpec ¶
type ManagerStateSpec struct {
}
ManagerStateSpec defines the desired state of ManagerState
func (*ManagerStateSpec) DeepCopy ¶
func (in *ManagerStateSpec) DeepCopy() *ManagerStateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagerStateSpec.
func (*ManagerStateSpec) DeepCopyInto ¶
func (in *ManagerStateSpec) DeepCopyInto(out *ManagerStateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagerStateStatus ¶
type ManagerStateStatus struct {
Namespace string `json:"namespace,omitempty"`
Endpoints ManagerStateEndpoints `json:"endpoints,omitempty"`
Ports *ManagerStatePorts `json:"ports,omitempty"`
UpdateTimestamp *metav1.Time `json:"updateTimestamp,omitempty"`
}
ManagerStateStatus defines the observed state of ManagerState
func (*ManagerStateStatus) DeepCopy ¶
func (in *ManagerStateStatus) DeepCopy() *ManagerStateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagerStateStatus.
func (*ManagerStateStatus) DeepCopyInto ¶
func (in *ManagerStateStatus) DeepCopyInto(out *ManagerStateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManualConfig ¶
func (*ManualConfig) DeepCopy ¶
func (in *ManualConfig) DeepCopy() *ManualConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManualConfig.
func (*ManualConfig) DeepCopyInto ¶
func (in *ManualConfig) DeepCopyInto(out *ManualConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectLimiter ¶
type ObjectLimiter struct {
RelatedResources []ResourceGroup `json:"relateResources,omitempty"`
Selector *metav1.LabelSelector `json:"selector,omitempty"`
}
func (*ObjectLimiter) DeepCopy ¶
func (in *ObjectLimiter) DeepCopy() *ObjectLimiter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectLimiter.
func (*ObjectLimiter) DeepCopyInto ¶
func (in *ObjectLimiter) DeepCopyInto(out *ObjectLimiter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RecoverPolicy ¶
type RecoverPolicy struct {
RecoverType RecoverType `json:"type"`
SleepingWindowSize *string `json:"sleepingWindowSize,omitempty"`
}
RecoverPolicy defines how the circuit-breaking policy recovered from 'Opened' to 'Closed'
func (*RecoverPolicy) DeepCopy ¶
func (in *RecoverPolicy) DeepCopy() *RecoverPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecoverPolicy.
func (*RecoverPolicy) DeepCopyInto ¶
func (in *RecoverPolicy) DeepCopyInto(out *RecoverPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RecoverType ¶
type RecoverType string
const ( RecoverPolicyManual RecoverType = "Manual" RecoverPolicySleepingWindow RecoverType = "SleepingWindow" )
type ResourceGroup ¶
type ResourceGroup struct {
Resources []string `json:"resources,omitempty"`
APIGroups []string `json:"apiGroups,omitempty"`
}
func (*ResourceGroup) DeepCopy ¶
func (in *ResourceGroup) DeepCopy() *ResourceGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceGroup.
func (*ResourceGroup) DeepCopyInto ¶
func (in *ResourceGroup) DeepCopyInto(out *ResourceGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRule ¶
type ResourceRule struct {
// APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
// the enumerated resources in any API group will be allowed. "*" means all.
ApiGroups []string `json:"apiGroups"`
// Resources is a list of resources this rule applies to. "*" means all in the specified apiGroups.
// "*/foo" represents the subresource 'foo' for all resources in the specified apiGroups.
Resources []string `json:"resources"`
// Verb is a list of kubernetes resource API verbs, like: get, list, watch, create, update, delete, proxy. "*" means all.
Verbs []string `json:"verbs"`
// Namespaces is a list of namespaces the rule applies to. "*" means all.
Namespaces []string `json:"namespaces"`
}
ResourceRule defines the target k8s resource of the limiting policy
func (*ResourceRule) DeepCopy ¶
func (in *ResourceRule) DeepCopy() *ResourceRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRule.
func (*ResourceRule) DeepCopyInto ¶
func (in *ResourceRule) DeepCopyInto(out *ResourceRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestRule ¶
type RestRule struct {
// URL gives the location of the rest request, in standard URL form (`scheme://host:port/path`)
URL string `json:"url"`
// Method specifies the http method of the request, like: PUT, POST, GET, DELETE.
Method string `json:"method"`
}
RestRule defines the target rest resource of the limiting policy
func (*RestRule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestRule.
func (*RestRule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RootStatus ¶
type RootStatus struct {
Child []string `json:"childShardingConfigs,omitempty"`
}
func (*RootStatus) DeepCopy ¶
func (in *RootStatus) DeepCopy() *RootStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootStatus.
func (*RootStatus) DeepCopyInto ¶
func (in *RootStatus) DeepCopyInto(out *RootStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ShardingConfig ¶
type ShardingConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ShardingConfigSpec `json:"spec,omitempty"`
Status ShardingConfigStatus `json:"status,omitempty"`
}
ShardingConfig is the Schema for the ShardingConfigs API
func (*ShardingConfig) DeepCopy ¶
func (in *ShardingConfig) DeepCopy() *ShardingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingConfig.
func (*ShardingConfig) DeepCopyInto ¶
func (in *ShardingConfig) DeepCopyInto(out *ShardingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ShardingConfig) DeepCopyObject ¶
func (in *ShardingConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ShardingConfigControllerConfiguration ¶
type ShardingConfigControllerConfiguration struct {
LeaderElectionName string `json:"leaderElectionName"`
}
ShardingConfigControllerConfiguration defines the configuration of controller in this application.
func (*ShardingConfigControllerConfiguration) DeepCopy ¶
func (in *ShardingConfigControllerConfiguration) DeepCopy() *ShardingConfigControllerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingConfigControllerConfiguration.
func (*ShardingConfigControllerConfiguration) DeepCopyInto ¶
func (in *ShardingConfigControllerConfiguration) DeepCopyInto(out *ShardingConfigControllerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ShardingConfigList ¶
type ShardingConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ShardingConfig `json:"items"`
}
ShardingConfigList contains a list of ShardingConfig
func (*ShardingConfigList) DeepCopy ¶
func (in *ShardingConfigList) DeepCopy() *ShardingConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingConfigList.
func (*ShardingConfigList) DeepCopyInto ¶
func (in *ShardingConfigList) DeepCopyInto(out *ShardingConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ShardingConfigList) DeepCopyObject ¶
func (in *ShardingConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ShardingConfigRestConfigOverrides ¶
type ShardingConfigRestConfigOverrides struct {
// UserAgentOrPrefix can override the UserAgent of application.
// If it ends with '/', we consider it as prefix and will be add to the front of original UserAgent.
// Otherwise it will replace the original UserAgent.
UserAgentOrPrefix *string `json:"userAgentOrPrefix,omitempty"`
}
ShardingConfigRestConfigOverrides defines overrides to the application's rest config.
func (*ShardingConfigRestConfigOverrides) DeepCopy ¶
func (in *ShardingConfigRestConfigOverrides) DeepCopy() *ShardingConfigRestConfigOverrides
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingConfigRestConfigOverrides.
func (*ShardingConfigRestConfigOverrides) DeepCopyInto ¶
func (in *ShardingConfigRestConfigOverrides) DeepCopyInto(out *ShardingConfigRestConfigOverrides)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ShardingConfigRoot ¶
type ShardingConfigRoot struct {
Disable *bool `json:"disable,omitempty"`
Prefix string `json:"prefix"`
TargetStatefulSet string `json:"targetStatefulSet"`
// Canary is canary shard config
Canary *CanaryConfig `json:"canary,omitempty"`
// Auto is config to automatically generate child ShardingConfig
Auto *AutoConfig `json:"auto,omitempty"`
ResourceSelector []ObjectLimiter `json:"resourceSelector,omitempty"`
}
func (*ShardingConfigRoot) DeepCopy ¶
func (in *ShardingConfigRoot) DeepCopy() *ShardingConfigRoot
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingConfigRoot.
func (*ShardingConfigRoot) DeepCopyInto ¶
func (in *ShardingConfigRoot) DeepCopyInto(out *ShardingConfigRoot)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ShardingConfigSpec ¶
type ShardingConfigSpec struct {
// Selector is a label query over pods of this configuration.
Selector *metav1.LabelSelector `json:"selector,omitempty"`
Controller *ShardingConfigControllerConfiguration `json:"controller,omitempty"`
Webhook *ShardingConfigWebhookConfiguration `json:"webhook,omitempty"`
Limits []ObjectLimiter `json:"limits,omitempty"`
Root *ShardingConfigRoot `json:"root,omitempty"`
}
ShardingConfigSpec defines the desired state of ShardingConfig
func (*ShardingConfigSpec) DeepCopy ¶
func (in *ShardingConfigSpec) DeepCopy() *ShardingConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingConfigSpec.
func (*ShardingConfigSpec) DeepCopyInto ¶
func (in *ShardingConfigSpec) DeepCopyInto(out *ShardingConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ShardingConfigStatus ¶
type ShardingConfigStatus struct {
Root RootStatus `json:"root,omitempty"`
}
ShardingConfigStatus defines the observed state of ShardingConfig
func (*ShardingConfigStatus) DeepCopy ¶
func (in *ShardingConfigStatus) DeepCopy() *ShardingConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingConfigStatus.
func (*ShardingConfigStatus) DeepCopyInto ¶
func (in *ShardingConfigStatus) DeepCopyInto(out *ShardingConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ShardingConfigWebhookConfiguration ¶
type ShardingConfigWebhookConfiguration struct {
CertDir string `json:"certDir"`
Port int `json:"port"`
}
ShardingConfigWebhookConfiguration defines the configuration of webhook in this application.
func (*ShardingConfigWebhookConfiguration) DeepCopy ¶
func (in *ShardingConfigWebhookConfiguration) DeepCopy() *ShardingConfigWebhookConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingConfigWebhookConfiguration.
func (*ShardingConfigWebhookConfiguration) DeepCopyInto ¶
func (in *ShardingConfigWebhookConfiguration) DeepCopyInto(out *ShardingConfigWebhookConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetStatus ¶
type TargetStatus struct {
PodName string `json:"podName,omitempty"`
PodIP string `json:"podIP,omitempty"`
ConfigHash string `json:"configHash,omitempty"`
Message string `json:"message,omitempty"`
LimitingSnapshots []*LimitingSnapshot `json:"limitingSnapshots,omitempty"`
}
func (*TargetStatus) DeepCopy ¶
func (in *TargetStatus) DeepCopy() *TargetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetStatus.
func (*TargetStatus) DeepCopyInto ¶
func (in *TargetStatus) DeepCopyInto(out *TargetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficInterceptRule ¶
type TrafficInterceptRule struct {
// Name is the name of the traffic rule
Name string `json:"name"`
// InterceptType is the intercept type of the traffic rule
InterceptType InterceptType `json:"interceptType"`
// ContentType is the content type of the traffic rule
ContentType ContentType `json:"contentType"`
// Content is the content of the traffic rule
Contents []string `json:"contents"`
// Method specifies the http method of the request, like: PUT, POST, GET, DELETE.
Methods []string `json:"methods"`
}
TrafficInterceptRule defines the traffic intercept rule
func (*TrafficInterceptRule) DeepCopy ¶
func (in *TrafficInterceptRule) DeepCopy() *TrafficInterceptRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficInterceptRule.
func (*TrafficInterceptRule) DeepCopyInto ¶
func (in *TrafficInterceptRule) DeepCopyInto(out *TrafficInterceptRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TriggerPolicy ¶
type TriggerPolicy string
TriggerPolicy defines how the circuit-breaking policy triggered from 'Closed' to 'Opened'
const ( TriggerPolicyNormal TriggerPolicy = "Normal" TriggerPolicyLimiterOnly TriggerPolicy = "LimiterOnly" TriggerPolicyForceOpened TriggerPolicy = "ForceOpened" TriggerPolicyForceClosed TriggerPolicy = "ForceClosed" )