v1alpha1

package
v0.1.2 Latest Latest
Warning

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

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

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

View Source
const (
	ShardingConfigInjectedKey = "ctrlmesh.kusionstack.io/sharding-config-injected"
	SignalAll                 = "*"
)
View Source
const (
	NameOfManager = "ctrlmesh-manager"
)

Variables

View Source
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

func (in *Bucket) DeepCopy() *Bucket

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

func (*Bucket) DeepCopyInto

func (in *Bucket) DeepCopyInto(out *Bucket)

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

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

func (in *Limiting) DeepCopy() *Limiting

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

func (*Limiting) DeepCopyInto

func (in *Limiting) DeepCopyInto(out *Limiting)

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

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

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

type ManualConfig struct {
	ID      int      `json:"id"`
	Numbers []string `json:"numbers"`
}

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

func (in *RestRule) DeepCopy() *RestRule

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

func (*RestRule) DeepCopyInto

func (in *RestRule) DeepCopyInto(out *RestRule)

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

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

func (*ShardingConfigControllerConfiguration) DeepCopyInto

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

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

func (*ShardingConfigRestConfigOverrides) DeepCopyInto

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

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

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

func (*ShardingConfigWebhookConfiguration) DeepCopyInto

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

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"
)

Jump to

Keyboard shortcuts

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