v1alpha1

package
v0.0.0-...-f5de34e Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the shardingsphere v1alpha1 API group +kubebuilder:object:generate=true +groupName=shardingsphere.apache.org

Index

Constants

View Source
const (
	AnnotationsVPCSecurityGroupIds     = "storageproviders.shardingsphere.apache.org/vpc-security-group-ids"
	AnnotationsSubnetGroupName         = "storageproviders.shardingsphere.apache.org/vpc-subnet-group-name"
	AnnotationsAvailabilityZones       = "storageproviders.shardingsphere.apache.org/availability-zones"
	AnnotationsClusterIdentifier       = "storageproviders.shardingsphere.apache.org/cluster-identifier"
	AnnotationsInstanceIdentifier      = "storageproviders.shardingsphere.apache.org/instance-identifier"
	AnnotationsInstanceDBName          = "storageproviders.shardingsphere.apache.org/instance-db-name"
	AnnotationsSnapshotIdentifier      = "storageproviders.shardingsphere.apache.org/snapshot-identifier"
	AnnotationsMasterUsername          = "storageproviders.shardingsphere.apache.org/master-username"
	AnnotationsMasterUserPassword      = "storageproviders.shardingsphere.apache.org/master-user-password"
	AnnotationsFinalSnapshotIdentifier = "storageproviders.shardingsphere.apache.org/final-snapshot-identifier"

	ProvisionerAWSRDSInstance = "storageproviders.shardingsphere.apache.org/aws-rds-instance"
	ProvisionerAWSRDSCluster  = "storageproviders.shardingsphere.apache.org/aws-rds-cluster"
	ProvisionerAWSAurora      = "storageproviders.shardingsphere.apache.org/aws-aurora"
	ProvisionerCloudNativePG  = "storageproviders.shardingsphere.apache.org/cloud-native-pg"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "shardingsphere.apache.org", Version: "v1alpha1"}

	// 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

This section is empty.

Types

type AgentConfig

type AgentConfig struct {
	Plugins *AgentPlugin `json:"plugins,omitempty" yaml:"plugins,omitempty"`
}

AgentConfig defines the config for ShardingSphere-Agent, renderred as agent.yaml

func (*AgentConfig) DeepCopy

func (in *AgentConfig) DeepCopy() *AgentConfig

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

func (*AgentConfig) DeepCopyInto

func (in *AgentConfig) DeepCopyInto(out *AgentConfig)

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

type AgentPlugin

type AgentPlugin struct {
	// +optional
	Logging *PluginLogging `json:"logging,omitempty" yaml:"logging,omitempty"`
	// +optional
	Metrics *PluginMetrics `json:"metrics,omitempty" yaml:"metrics,omitempty"`
	// +optional
	Tracing *PluginTracing `json:"tracing,omitempty" yaml:"tracing,omitempty"`
}

AgentPlugin defines a set of plugins for ShardingSphere Agent

func (*AgentPlugin) DeepCopy

func (in *AgentPlugin) DeepCopy() *AgentPlugin

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

func (*AgentPlugin) DeepCopyInto

func (in *AgentPlugin) DeepCopyInto(out *AgentPlugin)

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

type Auth

type Auth struct {
	Users []User `json:"users" yaml:"users"`
	// +optional
	Privilege *Privilege `json:"privilege,omitempty"`
}

Auth is used to set up initial user to login compute node, and authority data of storage node.

func (*Auth) DeepCopy

func (in *Auth) DeepCopy() *Auth

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

func (*Auth) DeepCopyInto

func (in *Auth) DeepCopyInto(out *Auth)

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

type AutoScaler

type AutoScaler struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AutoScalerSpec   `json:"spec,omitempty"`
	Status            AutoScalerStatus `json:"status,omitempty"`
}

+kubebuilder:printcolumn:JSONPath=".metadata.creationTimestamp",name=Age,type=date +kubebuilder:object:root=true +kubebuilder:subresource:status AutoScaler defines a autoscaler for ShardingSphere given

func (*AutoScaler) DeepCopy

func (in *AutoScaler) DeepCopy() *AutoScaler

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

func (*AutoScaler) DeepCopyInto

func (in *AutoScaler) DeepCopyInto(out *AutoScaler)

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

func (*AutoScaler) DeepCopyObject

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

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

type AutoScalerCondition

type AutoScalerCondition struct {
	Type               AutoScalerConditionType `json:"type" protobuf:"bytes,1,name=type"`
	Status             v1.ConditionStatus      `json:"status" protobuf:"bytes,2,name=status"`
	LastTransitionTime metav1.Time             `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	Reason             string                  `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	Message            string                  `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

AutoScalerCondition defiens the condition of a autoscaler

func (*AutoScalerCondition) DeepCopy

func (in *AutoScalerCondition) DeepCopy() *AutoScalerCondition

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

func (*AutoScalerCondition) DeepCopyInto

func (in *AutoScalerCondition) DeepCopyInto(out *AutoScalerCondition)

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

type AutoScalerConditionType

type AutoScalerConditionType string
const (
	ScalingReady AutoScalerConditionType = "ScalingReady"
)

type AutoScalerList

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

+kubebuilder:object:root=true AutoScalerList contains a list of AutoScaler

func (*AutoScalerList) DeepCopy

func (in *AutoScalerList) DeepCopy() *AutoScalerList

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

func (*AutoScalerList) DeepCopyInto

func (in *AutoScalerList) DeepCopyInto(out *AutoScalerList)

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

func (*AutoScalerList) DeepCopyObject

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

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

type AutoScalerSpec

type AutoScalerSpec struct {
	// PolicyGroup declares a set of scaling policies, including horizontal and vertical scaling
	// Allow ComputeNode to enable HPA and VPA at the same time, without guaranteeing the result
	// Haven't verified the configuration of HPA and VPA of StorageNode yet
	PolicyGroup []ScalingPolicy `json:"policyGroup,omitempty" yaml:"policyGroup,omiempty"`
}

AutoScalerSpec defines a list of scaling policies

func (*AutoScalerSpec) DeepCopy

func (in *AutoScalerSpec) DeepCopy() *AutoScalerSpec

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

func (*AutoScalerSpec) DeepCopyInto

func (in *AutoScalerSpec) DeepCopyInto(out *AutoScalerSpec)

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

type AutoScalerStatus

type AutoScalerStatus struct {
	// +optional
	Conditions []AutoScalerCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"`
}

AutoScalerStatus defines the status of a autoscaler

func (*AutoScalerStatus) DeepCopy

func (in *AutoScalerStatus) DeepCopy() *AutoScalerStatus

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

func (*AutoScalerStatus) DeepCopyInto

func (in *AutoScalerStatus) DeepCopyInto(out *AutoScalerStatus)

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

type AutomaticScaling

type AutomaticScaling struct {
	// +optional
	Enable bool `json:"enable,omitempty"`
	// +optional
	ScaleUpWindows int32 `json:"scaleUpWindows,omitempty"`
	// +optional
	ScaleDownWindows int32 `json:"scaleDownWindows,omitempty"`
	// +optional
	Target int32 `json:"target,omitempty"`
	// +optional
	MaxInstance int32 `json:"maxInstance,omitempty"`
	// +optional
	MinInstance int32 `json:"minInstance,omitempty"`
	// +optional
	CustomMetrics []autoscalingv2beta2.MetricSpec `json:"customMetrics,omitempty"`
}

AutomaticScaling HPA configuration

func (*AutomaticScaling) DeepCopy

func (in *AutomaticScaling) DeepCopy() *AutomaticScaling

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

func (*AutomaticScaling) DeepCopyInto

func (in *AutomaticScaling) DeepCopyInto(out *AutomaticScaling)

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

type BasicCredential

type BasicCredential struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

func (*BasicCredential) DeepCopy

func (in *BasicCredential) DeepCopy() *BasicCredential

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

func (*BasicCredential) DeepCopyInto

func (in *BasicCredential) DeepCopyInto(out *BasicCredential)

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

type BootstrapConfig

type BootstrapConfig struct {
	// +optional
	ServerConfig ServerConfig `json:"serverConfig,omitempty" yaml:"serverConfig,omitempty"`
	// +optional
	LogbackConfig LogbackConfig `json:"logbackConfig,omitempty" yaml:"logbackConfig,omitempty"`
	// +optional
	AgentConfig AgentConfig `json:"agentConfig,omitempty" yaml:"agentConfig,omitempty"`
}

BootstrapConfig is used for any ShardingSphere Proxy startup

func (*BootstrapConfig) DeepCopy

func (in *BootstrapConfig) DeepCopy() *BootstrapConfig

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

func (*BootstrapConfig) DeepCopyInto

func (in *BootstrapConfig) DeepCopyInto(out *BootstrapConfig)

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

type CPUStressParams

type CPUStressParams struct {
	Duration string `json:"duration"`
	//+optional
	Cores int `json:"cores,omitempty"`
	//+optional
	Load int `json:"load,omitempty"`
}

func (*CPUStressParams) DeepCopy

func (in *CPUStressParams) DeepCopy() *CPUStressParams

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

func (*CPUStressParams) DeepCopyInto

func (in *CPUStressParams) DeepCopyInto(out *CPUStressParams)

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

type Chaos

type Chaos struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ChaosSpec   `json:"spec,omitempty"`
	Status            ChaosStatus `json:"status,omitempty"`
}

+kubebuilder:printcolumn:JSONPath=".metadata.creationTimestamp",name=Age,type=date +kubebuilder:object:root=true +kubebuilder:subresource:status Chaos defines a chaos test case for the ShardingSphere Proxy cluster

func (*Chaos) DeepCopy

func (in *Chaos) DeepCopy() *Chaos

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

func (*Chaos) DeepCopyInto

func (in *Chaos) DeepCopyInto(out *Chaos)

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

func (*Chaos) DeepCopyObject

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

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

type ChaosCondition

type ChaosCondition string

ChaosCondition Show Chaos Progress

const (
	AllRecovered ChaosCondition = "AllRecovered"
	Paused       ChaosCondition = "Paused"
	AllInjected  ChaosCondition = "AllInjected"
	NoTarget     ChaosCondition = "NoTarget"
	Unknown      ChaosCondition = "Unknown"
)

type ChaosList

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

+kubebuilder:object:root=true ChaosList contains a list of Chaos

func (*ChaosList) DeepCopy

func (in *ChaosList) DeepCopy() *ChaosList

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

func (*ChaosList) DeepCopyInto

func (in *ChaosList) DeepCopyInto(out *ChaosList)

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

func (*ChaosList) DeepCopyObject

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

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

type ChaosPhase

type ChaosPhase string
var (
	BeforeSteady ChaosPhase = "BeforeSteady"
	AfterSteady  ChaosPhase = "AfterSteady"
	BeforeChaos  ChaosPhase = "BeforeChaos"
	AfterChaos   ChaosPhase = "AfterChaos"
)

type ChaosSpec

type ChaosSpec struct {
	EmbedChaos `json:",inline"`

	// +optional
	InjectJob *JobSpec `json:"injectJob,omitempty" yaml:"injectJob,omitempty"`
	// +optional
	PressureCfg *PressureCfg `json:"pressureCfg,omitempty" yaml:"pressureCfg,omitempty"`
}

ChaosSpec defines the desired state of Chaos

func (*ChaosSpec) DeepCopy

func (in *ChaosSpec) DeepCopy() *ChaosSpec

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

func (*ChaosSpec) DeepCopyInto

func (in *ChaosSpec) DeepCopyInto(out *ChaosSpec)

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

type ChaosStatus

type ChaosStatus struct {
	// +optional
	ChaosCondition ChaosCondition `json:"chaosCondition,omitempty" yaml:"chaosCondition,omitempty"`
	// +optional
	Phase ChaosPhase `json:"phase,omitempty" yaml:"phase,omitempty"`
	// +optional
	// Result Result `json:"result,omitempty" yaml:"result,omitempty"`
	// +optional
	Conditions []*metav1.Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"`
}

ChaosStatus defines the actual state of Chaos

func (*ChaosStatus) DeepCopy

func (in *ChaosStatus) DeepCopy() *ChaosStatus

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

func (*ChaosStatus) DeepCopyInto

func (in *ChaosStatus) DeepCopyInto(out *ChaosStatus)

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

type ClusterConfig

type ClusterConfig struct {

	// Type of mode configuration. Values only support: Cluster
	Type string `json:"type" yaml:"type"`
	// Persist repository configuration
	Repository RepositoryConfig `json:"repository" yaml:"repository"`
}

ClusterConfig needs to fill in the relevant configuration required by Cluster mode

func (*ClusterConfig) DeepCopy

func (in *ClusterConfig) DeepCopy() *ClusterConfig

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

func (*ClusterConfig) DeepCopyInto

func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)

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

type ClusterProps

type ClusterProps struct {
	// Namespace of registry center
	Namespace string `json:"namespace" yaml:"namespace"`
	//Server lists of registry center
	ServerLists string `json:"server-lists" yaml:"server-lists"`
	//RetryIntervalMilliseconds Milliseconds of retry interval. default: 500
	// +optional
	RetryIntervalMilliseconds int `json:"retryIntervalMilliseconds,omitempty" yaml:"retryIntervalMilliseconds,omitempty"`
	// MaxRetries Max retries of client connection. default: 3
	// +optional
	MaxRetries int `json:"maxRetries,omitempty" yaml:"maxRetries,omitempty"`
	// TimeToLiveSeconds Seconds of ephemeral data live.default: 60
	// +optional
	TimeToLiveSeconds int `json:"timeToLiveSeconds,omitempty" yaml:"timeToLiveSeconds,omitempty"`
	// OperationTimeoutMilliseconds Milliseconds of operation timeout. default: 500
	// +optional
	OperationTimeoutMilliseconds int `json:"operationTimeoutMilliseconds,omitempty" yaml:"operationTimeoutMilliseconds,omitempty"`
	// Password of login
	// +optional
	Digest string `json:"digest,omitempty" yaml:"digest,omitempty"`
}

func (*ClusterProps) DeepCopy

func (in *ClusterProps) DeepCopy() *ClusterProps

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

func (*ClusterProps) DeepCopyInto

func (in *ClusterProps) DeepCopyInto(out *ClusterProps)

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

type ClusterStatus

type ClusterStatus struct {
	Status          string   `json:"status"`
	PrimaryEndpoint Endpoint `json:"primaryEndpoint"`
	// +optional
	ReaderEndpoints []Endpoint `json:"readerEndpoints"`
	// +optional
	Properties map[string]string `json:"properties"`
}

ClusterStatus is the status of a database cluster, including the primary endpoint, reader endpoints, and other properties. Properties are some additional information about the cluster, like 'arn, identifier, credentials, etc.'

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type ComputeNode

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

	Spec ComputeNodeSpec `json:"spec,omitempty"`
	// +optional
	Status ComputeNodeStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

+kubebuilder:printcolumn:JSONPath=".status.ready",name=Ready,type=string +kubebuilder:printcolumn:JSONPath=".status.phase",name=Status,type=string +kubebuilder:printcolumn:JSONPath=".status.loadBalancer.clusterIP",name="Cluster-IP",type=string +kubebuilder:printcolumn:JSONPath=".spec.portBindings[*].servicePort",name="ServicePorts",type=integer +kubebuilder:printcolumn:JSONPath=".metadata.creationTimestamp",name=Age,type=date +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas,selectorpath=.status.selector +kubebuilder:object:root=true +kubebuilder:subresource:status ComputeNode is the Schema for the ShardingSphere Proxy API

func (*ComputeNode) DeepCopy

func (in *ComputeNode) DeepCopy() *ComputeNode

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

func (*ComputeNode) DeepCopyInto

func (in *ComputeNode) DeepCopyInto(out *ComputeNode)

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

func (*ComputeNode) DeepCopyObject

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

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

type ComputeNodeAuthority

type ComputeNodeAuthority struct {
	// +optional
	Users []ComputeNodeUser `json:"users,omitempty" yaml:"users,omitempty"`
	// +optional
	Privilege ComputeNodePrivilege `json:"privilege,omitempty" yaml:"privilege,omitempty"`
}

ComputeNodeAuthority is used to set up initial user to login compute node, and authority data of storage node.

func (*ComputeNodeAuthority) DeepCopy

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

func (*ComputeNodeAuthority) DeepCopyInto

func (in *ComputeNodeAuthority) DeepCopyInto(out *ComputeNodeAuthority)

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

type ComputeNodeCondition

type ComputeNodeCondition struct {
	Type               ComputeNodeConditionType `json:"type" yaml:"type"`
	Status             ConditionStatus          `json:"status" yaml:"status"`
	LastTransitionTime metav1.Time              `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"`
	LastUpdateTime     metav1.Time              `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"`
	Reason             string                   `json:"reason" yaml:"reason"`
	Message            string                   `json:"message" yaml:"message"`
}

ComputeNodeCondition defines a condition template

func (*ComputeNodeCondition) DeepCopy

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

func (*ComputeNodeCondition) DeepCopyInto

func (in *ComputeNodeCondition) DeepCopyInto(out *ComputeNodeCondition)

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

type ComputeNodeConditionType

type ComputeNodeConditionType string

ComputeNodeConditioType represents the type of a compute node condition during the startup process of ShardingSphere-Proxy

const (
	// ComputeNodeConditionPending indicates that at least one pod is in pending phase
	ComputeNodeConditionPending ComputeNodeConditionType = "Pending"
	// ComputeNodeConditionInitialized indicates that at least one pod is scheduled
	ComputeNodeConditionDeployed ComputeNodeConditionType = "Deployed"
	// ComputeNodeConditionInitialized indicates that at least one pod is initialized
	ComputeNodeConditionInitialized ComputeNodeConditionType = "Initialized"
	// ComputeNodeConditionInitialized indicates that at least one pod is started
	ComputeNodeConditionStarted ComputeNodeConditionType = "Started"
	// ComputeNodeConditionInitialized indicates that at least one pod is ready
	ComputeNodeConditionReady ComputeNodeConditionType = "Ready"
	// ComputeNodeConditionInitialized indicates that at least one pod is unknown
	ComputeNodeConditionUnknown ComputeNodeConditionType = "Unknown"
	// ComputeNodeConditionInitialized indicates that at least one pod is failed
	ComputeNodeConditionFailed ComputeNodeConditionType = "Failed"
	// ComputeNodeConditionInitialized indicates that at least one pod is succeed
	ComputeNodeConditionSucceed ComputeNodeConditionType = "Succeed"
)

type ComputeNodeList

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

+kubebuilder:object:root=true ComputeNodeList contains a list of ComputeNode

func (*ComputeNodeList) DeepCopy

func (in *ComputeNodeList) DeepCopy() *ComputeNodeList

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

func (*ComputeNodeList) DeepCopyInto

func (in *ComputeNodeList) DeepCopyInto(out *ComputeNodeList)

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

func (*ComputeNodeList) DeepCopyObject

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

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

type ComputeNodePhaseStatus

type ComputeNodePhaseStatus string

ComputeNodePhase represents a brief summary of the compute node

const (
	// ComputeNodeStatusReady indicates that at least one compute node is ready for connections
	ComputeNodeStatusReady ComputeNodePhaseStatus = "Ready"
	// ComputeNodeStatusNotReady indicates that no compute node is ready
	ComputeNodeStatusNotReady ComputeNodePhaseStatus = "NotReady"
	// ComputeNodeStatusUnknown indicates that cannot determine the status of compute node at present
	ComputeNodeStatusUnknown ComputeNodePhaseStatus = "Unknown"
)

type ComputeNodePrivilege

type ComputeNodePrivilege struct {
	Type PrivilegeType `json:"type,omitempty" yaml:"type,omitempty"`
}

ComputeNodePrivilege for storage node, the default value is ALL_PERMITTED

func (*ComputeNodePrivilege) DeepCopy

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

func (*ComputeNodePrivilege) DeepCopyInto

func (in *ComputeNodePrivilege) DeepCopyInto(out *ComputeNodePrivilege)

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

type ComputeNodeServerMode

type ComputeNodeServerMode struct {
	// +optional
	Repository Repository `json:"repository,omitempty" yaml:"repository,omitempty"`
	// +optional
	Type ModeType `json:"type,omitempty" yaml:"type,omitempty"`
}

ComputeNodeServerMode is the mode for ShardingSphere Proxy

func (*ComputeNodeServerMode) DeepCopy

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

func (*ComputeNodeServerMode) DeepCopyInto

func (in *ComputeNodeServerMode) DeepCopyInto(out *ComputeNodeServerMode)

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

type ComputeNodeSpec

type ComputeNodeSpec struct {
	StorageNodeConnector *StorageNodeConnector `json:"storageNodeConnector,omitempty" yaml:"storageNodeConnector,omitempty"`
	// version  is the version of ShardingSphere-Proxy
	ServerVersion string `json:"serverVersion,omitempty" yaml:"serverVersion,omitempty"`

	// replicas is the expected number of replicas of ShardingSphere-Proxy
	// +optional
	Replicas int32 `json:"replicas" yaml:"replicas"`
	// selector defines a set of label selectors
	Selector *metav1.LabelSelector `json:"selector" yaml:"selector"`

	// +optional
	Probes *ProxyProbe `json:"probes,omitempty" yaml:"probes,omitempty"`
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty" yaml:"imagePullSecrets,omitempty"`
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty" yaml:"env,omitempty"`
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty" yaml:"resources,omitempty"`
	// +optional
	PortBindings []PortBinding `json:"portBindings,omitempty" yaml:"portBindings,omitempty"`

	// +kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer;ExternalName
	// +optional
	ServiceType corev1.ServiceType `json:"serviceType,omitempty" yaml:"serviceType,omitempty"`

	// +optional
	Bootstrap BootstrapConfig `json:"bootstrap,omitempty" yaml:"bootstrap,omitempty"`
}

ProxySpec defines the desired state of ShardingSphereProxy

func (*ComputeNodeSpec) DeepCopy

func (in *ComputeNodeSpec) DeepCopy() *ComputeNodeSpec

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

func (*ComputeNodeSpec) DeepCopyInto

func (in *ComputeNodeSpec) DeepCopyInto(out *ComputeNodeSpec)

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

type ComputeNodeStatus

type ComputeNodeStatus struct {
	Selector string `json:"selector" yaml:"selector"`

	Replicas int32 `json:"replicas" yaml:"replicas"`

	Ready string `json:"ready,omitempty" yaml:"ready,omitempty"`
	// The generation observed by the deployment controller.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" yaml:"observedGeneration,omitempty"`

	// ShardingSphere-Proxy phase are a brief summary of the ShardingSphere-Proxy life cycle
	// There are two possible phase values:
	// Ready: ShardingSphere-Proxy can already provide external services
	// NotReady: ShardingSphere-Proxy cannot provide external services
	// +optional
	Phase ComputeNodePhaseStatus `json:"phase,omitempty" yaml:"phase,omitempty"`

	// Conditions The conditions array, the reason and message fields
	// +optional
	Conditions []ComputeNodeCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"`

	// LoadBalancer contains the current status of the load-balancer,
	// if one is present.
	// +optional
	LoadBalancer LoadBalancerStatus `json:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty"`
}

ComputeNodeStatus defines the observed state of ShardingSphere Proxy

func (*ComputeNodeStatus) DeepCopy

func (in *ComputeNodeStatus) DeepCopy() *ComputeNodeStatus

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

func (*ComputeNodeStatus) DeepCopyInto

func (in *ComputeNodeStatus) DeepCopyInto(out *ComputeNodeStatus)

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

type ComputeNodeUser

type ComputeNodeUser struct {
	User     string `json:"user" yaml:"user"`
	Password string `json:"password" yaml:"password"`
}

ComputeNodeUser is a slice about authorized host and password for compute node. Format: user:<username>@<hostname>,hostname is % or empty string means do not care about authorized host password:<password>

func (*ComputeNodeUser) DeepCopy

func (in *ComputeNodeUser) DeepCopy() *ComputeNodeUser

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

func (*ComputeNodeUser) DeepCopyInto

func (in *ComputeNodeUser) DeepCopyInto(out *ComputeNodeUser)

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

type Condition

type Condition struct {
	Type           ConditionType          `json:"type"`
	Status         metav1.ConditionStatus `json:"status"`
	LastUpdateTime metav1.Time            `json:"lastUpdateTime,omitempty"`
}

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

type ConditionStatus

type ConditionStatus string

ConditionStatus represents the validation status of a condition

const (
	ConditionStatusTrue    ConditionStatus = "True"
	ConditionStatusFalse   ConditionStatus = "False"
	ConditionStatusUnknown ConditionStatus = "Unknown"
)

type ConditionType

type ConditionType string
const (
	ConditionDeployed    ConditionType = "Deployed"
	ConditionInitialized ConditionType = "Initialized"
	ConditionStarted     ConditionType = "Started"
	ConditionSucceed     ConditionType = "Succeed"
	ConditionReady       ConditionType = "Ready"
	ConditionUnknown     ConditionType = "Unknown"
	ConditionFailed      ConditionType = "Failed"
)

ConditionType shows some states during the startup process of ShardingSphere-Proxy

type Conditions

type Conditions []Condition

func (Conditions) DeepCopy

func (in Conditions) DeepCopy() Conditions

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

func (Conditions) DeepCopyInto

func (in Conditions) DeepCopyInto(out *Conditions)

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

type ConnectorType

type ConnectorType string

ConnectorType defines the frontend protocol for ShardingSphere Proxy

const (
	ConnectorTypeMySQL      ConnectorType = "mysql"
	ConnectorTypePostgreSQL ConnectorType = "postgresql"
)

type ContainerKillParams

type ContainerKillParams struct {
	// +optional
	ContainerNames []string `json:"containerNames,omitempty"`
}

func (*ContainerKillParams) DeepCopy

func (in *ContainerKillParams) DeepCopy() *ContainerKillParams

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

func (*ContainerKillParams) DeepCopyInto

func (in *ContainerKillParams) DeepCopyInto(out *ContainerKillParams)

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

type CorruptionParams

type CorruptionParams struct {
	// +optional
	Corruption string `json:"corrupt,omitempty"`
}

func (*CorruptionParams) DeepCopy

func (in *CorruptionParams) DeepCopy() *CorruptionParams

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

func (*CorruptionParams) DeepCopyInto

func (in *CorruptionParams) DeepCopyInto(out *CorruptionParams)

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

type CredentialType

type CredentialType struct {
	BasicCredential `json:"basic_credential"`
}

func (*CredentialType) DeepCopy

func (in *CredentialType) DeepCopy() *CredentialType

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

func (*CredentialType) DeepCopyInto

func (in *CredentialType) DeepCopyInto(out *CredentialType)

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

type DelayParams

type DelayParams struct {
	// +optional
	Latency string `json:"latency,omitempty"`
	// +optional
	Jitter string `json:"jitter,omitempty"`
}

func (*DelayParams) DeepCopy

func (in *DelayParams) DeepCopy() *DelayParams

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

func (*DelayParams) DeepCopyInto

func (in *DelayParams) DeepCopyInto(out *DelayParams)

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

type Direction

type Direction string

Direction specifies the direction of action of network chaos

const (
	To   Direction = "to"
	From Direction = "from"
	Both Direction = "both"
)

type DistSQL

type DistSQL struct {
	SQL  string   `json:"sql"`
	Args []string `json:"args,omitempty"`
}

func (*DistSQL) DeepCopy

func (in *DistSQL) DeepCopy() *DistSQL

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

func (*DistSQL) DeepCopyInto

func (in *DistSQL) DeepCopyInto(out *DistSQL)

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

type DuplicationParams

type DuplicationParams struct {
	// +optional
	Duplication string `json:"duplicate,omitempty"`
}

func (*DuplicationParams) DeepCopy

func (in *DuplicationParams) DeepCopy() *DuplicationParams

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

func (*DuplicationParams) DeepCopyInto

func (in *DuplicationParams) DeepCopyInto(out *DuplicationParams)

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

type EmbedChaos

type EmbedChaos struct {
	// +optional
	NetworkChaos *NetworkChaosSpec `json:"networkChaos,omitempty"`
	// +optional
	PodChaos *PodChaosSpec `json:"podChaos,omitempty"`
}

func (*EmbedChaos) DeepCopy

func (in *EmbedChaos) DeepCopy() *EmbedChaos

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

func (*EmbedChaos) DeepCopyInto

func (in *EmbedChaos) DeepCopyInto(out *EmbedChaos)

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

type Endpoint

type Endpoint struct {
	Address string `json:"address"`
	Port    int32  `json:"port"`
}

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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

type HorizontalScaling

type HorizontalScaling struct {
	// maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
	// It cannot be less that minReplicas.
	// +optional
	MaxReplicas int32 `json:"maxReplicas,omitempty" yaml:"maxReplicas,omitempty"`
	// minReplicas is the lower limit for the number of replicas to which the autoscaler
	// can scale down.  It defaults to 1 pod.  minReplicas is allowed to be 0 if the
	// alpha feature gate HPAScaleToZero is enabled and at least one Object or External
	// metric is configured.  Scaling is active as long as at least one metric value is
	// available.
	// +optional
	MinReplicas int32 `json:"minReplicas,omitempty" yaml:"minReplicas,omitempty"`

	// scaleUp is scaling policy for scaling Up.
	// If not set, the default value is the higher of:
	//   * increase no more than 4 pods per 60 seconds
	//   * double the number of pods per 60 seconds
	// No stabilization is used.
	// +optional
	ScaleUpRules *autoscalingv2.HPAScalingRules `json:"scaleUpRules,omitempty" yaml:"scaleUpRules,omitempty"`
	// scaleDown is scaling policy for scaling Down.
	// If not set, the default value is to allow to scale down to minReplicas pods, with a
	// 300 second stabilization window (i.e., the highest recommendation for
	// the last 300sec is used).
	// +optional
	ScaleDownRules *autoscalingv2.HPAScalingRules `json:"scaleDownRules,omitempty" yaml:"scaleDownRules,omitempty"`

	// metrics contains the specifications for which to use to calculate the
	// desired replica count (the maximum replica count across all metrics will
	// be used).  The desired replica count is calculated multiplying the
	// ratio between the target value and the current value by the current
	// number of pods.  Ergo, metrics used must decrease as the pod count is
	// increased, and vice-versa.  See the individual metric source types for
	// more information about how each type of metric must respond.
	// If not set, the default metric will be set to 80% average CPU utilization.
	// +optional
	Metrics []autoscalingv2.MetricSpec `json:"metrics,omitempty" yaml:"metrics,omitempty"`
}

The following configuration items are basically the same as HPA configuration, please refer to the corresponding documentation for descriptiontype

func (*HorizontalScaling) DeepCopy

func (in *HorizontalScaling) DeepCopy() *HorizontalScaling

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

func (*HorizontalScaling) DeepCopyInto

func (in *HorizontalScaling) DeepCopyInto(out *HorizontalScaling)

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

type InstanceStatus

type InstanceStatus struct {
	Status   string   `json:"status"`
	Endpoint Endpoint `json:"primaryEndpoint"`
	// +optional
	Properties map[string]string `json:"properties"`
}

func (*InstanceStatus) DeepCopy

func (in *InstanceStatus) DeepCopy() *InstanceStatus

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

func (*InstanceStatus) DeepCopyInto

func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus)

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

type JobSpec

type JobSpec struct {
	// +optional
	Experimental Script `json:"experimental,omitempty" yaml:"experimental,omitempty"`
	// +optional
	Pressure Script `json:"pressure,omitempty" yaml:"pressure,omitempty"`
	// +optional
	Verify Script `json:"verify,omitempty" yaml:"verify,omitempty"`
}

JobSpec specifies the config of job to create

func (*JobSpec) DeepCopy

func (in *JobSpec) DeepCopy() *JobSpec

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

func (*JobSpec) DeepCopyInto

func (in *JobSpec) DeepCopyInto(out *JobSpec)

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

type LoadBalancerStatus

type LoadBalancerStatus struct {
	// +optional
	ClusterIP string `json:"clusterIP,omitempty" yaml:"clusterIP,omitempty"`

	// Ingress is a list containing ingress points for the load-balancer.
	// Traffic intended for the service should be sent to these ingress points.
	// +optional
	Ingress []corev1.LoadBalancerIngress `json:"ingress,omitempty" yaml:"ingress,omitempty"`
}

LoadBalancerStatus represents the status of service endpoints

func (*LoadBalancerStatus) DeepCopy

func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus

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

func (*LoadBalancerStatus) DeepCopyInto

func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)

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

type LogbackConfig

type LogbackConfig string

LogbackConfig contains contents of the expected logback.xml

type LoggingFile

type LoggingFile struct {
	Props Properties `json:"props,omitempty" yaml:"props,omitempty"`
}

func (*LoggingFile) DeepCopy

func (in *LoggingFile) DeepCopy() *LoggingFile

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

func (*LoggingFile) DeepCopyInto

func (in *LoggingFile) DeepCopyInto(out *LoggingFile)

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

type LossParams

type LossParams struct {
	// +optional
	Loss string `json:"loss,omitempty"`
}

func (*LossParams) DeepCopy

func (in *LossParams) DeepCopy() *LossParams

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

func (*LossParams) DeepCopyInto

func (in *LossParams) DeepCopyInto(out *LossParams)

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

type MemoryStressParams

type MemoryStressParams struct {
	Duration string `json:"duration"`
	//+optional
	Workers int `json:"workers,omitempty"`
	//+optional
	Consumption string `json:"consumption,omitempty"`
}

func (*MemoryStressParams) DeepCopy

func (in *MemoryStressParams) DeepCopy() *MemoryStressParams

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

func (*MemoryStressParams) DeepCopyInto

func (in *MemoryStressParams) DeepCopyInto(out *MemoryStressParams)

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

type Metrics

type Metrics string

type ModeType

type ModeType string
const (
	ModeTypeCluster    ModeType = "Cluster"
	ModeTypeStandalone ModeType = "Standalone"
)

type Msg

type Msg struct {
	Metrics        Metrics `json:"metrics"`
	Result         string  `json:"result"`
	Duration       string  `json:"duration"`
	FailureDetails string  `json:"failureDetails"`
}

func (*Msg) DeepCopy

func (in *Msg) DeepCopy() *Msg

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

func (*Msg) DeepCopyInto

func (in *Msg) DeepCopyInto(out *Msg)

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

type MySQLDriver

type MySQLDriver struct {
	// +kubebuilder:validation:Pattern=`^([1-9]\d|[1-9])(\.([1-9]\d|\d)){2}$`
	// mysql-driven version,must be x.y.z
	Version string `json:"version"`
}

MySQLDriver Defines the mysql-driven version in ShardingSphere-proxy

func (*MySQLDriver) DeepCopy

func (in *MySQLDriver) DeepCopy() *MySQLDriver

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

func (*MySQLDriver) DeepCopyInto

func (in *MySQLDriver) DeepCopyInto(out *MySQLDriver)

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

type NetworkChaosAction

type NetworkChaosAction string

NetworkChaosAction specify the action type of network Chaos

const (
	Delay       NetworkChaosAction = "Delay"
	Loss        NetworkChaosAction = "Loss"
	Duplication NetworkChaosAction = "Duplication"
	Corruption  NetworkChaosAction = "Corruption"
	Partition   NetworkChaosAction = "Partition"
	Bandwidth   NetworkChaosAction = "Bandwidth"
)

type NetworkChaosParams

type NetworkChaosParams struct {
	// +optional
	Delay *DelayParams `json:"delay,omitempty"`
	// +optional
	Loss *LossParams `json:"loss,omitempty"`
	// +optional
	Duplication *DuplicationParams `json:"duplicate,omitempty"`
	// +optional
	Corruption *CorruptionParams `json:"corrupt,omitempty"`
}

NetworkParams Optional parameters for network type configuration

func (*NetworkChaosParams) DeepCopy

func (in *NetworkChaosParams) DeepCopy() *NetworkChaosParams

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

func (*NetworkChaosParams) DeepCopyInto

func (in *NetworkChaosParams) DeepCopyInto(out *NetworkChaosParams)

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

type NetworkChaosSpec

type NetworkChaosSpec struct {
	Source PodSelector  `json:"source,omitempty"`
	Target *PodSelector `json:"target,omitempty"`

	// +optional
	Action NetworkChaosAction `json:"action"`
	// +optional
	Duration *string `json:"duration,omitempty"`
	// +optional
	Direction Direction `json:"direction,omitempty"`
	// +optional
	Params NetworkChaosParams `json:"params,omitempty"`
}

NetworkChaosSpec Fields that need to be configured for network type chaos

func (*NetworkChaosSpec) DeepCopy

func (in *NetworkChaosSpec) DeepCopy() *NetworkChaosSpec

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

func (*NetworkChaosSpec) DeepCopyInto

func (in *NetworkChaosSpec) DeepCopyInto(out *NetworkChaosSpec)

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

type ObjectRefSelector

type ObjectRefSelector struct {
	// +optional
	ObjectRef autoscalingv2.CrossVersionObjectReference `json:"objectRef,omitempty" yaml:"objectRef,omitempty"`
	// +optional
	Selector *metav1.LabelSelector `json:"selector,omitempty" yaml:"selector,omitempty"`
}

ObjectRefSelector defines a selector for objects

func (*ObjectRefSelector) DeepCopy

func (in *ObjectRefSelector) DeepCopy() *ObjectRefSelector

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

func (*ObjectRefSelector) DeepCopyInto

func (in *ObjectRefSelector) DeepCopyInto(out *ObjectRefSelector)

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

type OpenTelemetry

type OpenTelemetry struct {
	Props Properties `json:"props,omitempty" yaml:"props,omitempty"`
}

func (*OpenTelemetry) DeepCopy

func (in *OpenTelemetry) DeepCopy() *OpenTelemetry

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

func (*OpenTelemetry) DeepCopyInto

func (in *OpenTelemetry) DeepCopyInto(out *OpenTelemetry)

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

type OpenTracing

type OpenTracing struct {
	Props Properties `json:"props,omitempty" yaml:"props,omitempty" `
}

func (*OpenTracing) DeepCopy

func (in *OpenTracing) DeepCopy() *OpenTracing

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

func (*OpenTracing) DeepCopyInto

func (in *OpenTracing) DeepCopyInto(out *OpenTracing)

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

type PhaseStatus

type PhaseStatus string
const (
	StatusReady    PhaseStatus = "Ready"
	StatusNotReady PhaseStatus = "NotReady"
)

type PluginLogging

type PluginLogging struct {
	File LoggingFile `json:"file,omitempty" yaml:"File,omitempty"`
}

PluginLogging defines the plugin for logging

func (*PluginLogging) DeepCopy

func (in *PluginLogging) DeepCopy() *PluginLogging

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

func (*PluginLogging) DeepCopyInto

func (in *PluginLogging) DeepCopyInto(out *PluginLogging)

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

type PluginMetrics

type PluginMetrics struct {
	Prometheus Prometheus `json:"prometheus,omitempty" yaml:"Prometheus,omitempty"`
}

PluginMetrics defines the plugin for metrics

func (*PluginMetrics) DeepCopy

func (in *PluginMetrics) DeepCopy() *PluginMetrics

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

func (*PluginMetrics) DeepCopyInto

func (in *PluginMetrics) DeepCopyInto(out *PluginMetrics)

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

type PluginTracing

type PluginTracing struct {
	// +optional
	OpenTracing OpenTracing `json:"openTracing,omitempty" yaml:"OpenTracing,omitempty"`
	// +optional
	OpenTelemetry OpenTelemetry `json:"openTelemetry,omitempty" yaml:"OpenTelemetry,omitempty"`
}

PluginTracing defines the plugin for tracing

func (*PluginTracing) DeepCopy

func (in *PluginTracing) DeepCopy() *PluginTracing

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

func (*PluginTracing) DeepCopyInto

func (in *PluginTracing) DeepCopyInto(out *PluginTracing)

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

type PodChaosAction

type PodChaosAction string

PodChaosAction Specify the action type of pod Chaos

var (
	PodFailure    PodChaosAction = "PodFailure"
	ContainerKill PodChaosAction = "ContainerKill"
	PodKill       PodChaosAction = "PodKill"
	CPUStress     PodChaosAction = "CPUStress"
	MemoryStress  PodChaosAction = "MemoryStress"
)

type PodChaosParams

type PodChaosParams struct {
	// +optional
	PodFailure *PodFailureParams `json:"podFailure,omitempty" yaml:"PodFailure,omitempty"`
	// +optional
	ContainerKill *ContainerKillParams `json:"containerKill,omitempty" yaml:"containerKill,omitempty"`
	//+optional
	CPUStress *CPUStressParams `json:"cpuStress,omitempty" yaml:"cpuStress,omitempty"`
	//+optional
	MemoryStress *MemoryStressParams `json:"memoryStress,omitempty" yaml:"memoryStress,omitempty"`
	// +optional
	PodKill *PodKillParams `json:"podKill,omitempty" yaml:"podKill,omitempty"`
}

PodActionParams Optional parameters for pod type configuration

func (*PodChaosParams) DeepCopy

func (in *PodChaosParams) DeepCopy() *PodChaosParams

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

func (*PodChaosParams) DeepCopyInto

func (in *PodChaosParams) DeepCopyInto(out *PodChaosParams)

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

type PodChaosSpec

type PodChaosSpec struct {
	PodSelector `json:"selector,omitempty"`
	Action      PodChaosAction `json:"action"`

	// +optional
	Params PodChaosParams `json:"params,omitempty"`
}

PodChaosSpec Fields that need to be configured for pod type chaos

func (*PodChaosSpec) DeepCopy

func (in *PodChaosSpec) DeepCopy() *PodChaosSpec

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

func (*PodChaosSpec) DeepCopyInto

func (in *PodChaosSpec) DeepCopyInto(out *PodChaosSpec)

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

type PodFailureParams

type PodFailureParams struct {
	// +optional
	Duration *string `json:"duration,omitempty"`
}

func (*PodFailureParams) DeepCopy

func (in *PodFailureParams) DeepCopy() *PodFailureParams

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

func (*PodFailureParams) DeepCopyInto

func (in *PodFailureParams) DeepCopyInto(out *PodFailureParams)

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

type PodKillParams

type PodKillParams struct {
	// +optional
	GracePeriod int64 `json:"gracePeriod,omitempty"`
}

func (*PodKillParams) DeepCopy

func (in *PodKillParams) DeepCopy() *PodKillParams

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

func (*PodKillParams) DeepCopyInto

func (in *PodKillParams) DeepCopyInto(out *PodKillParams)

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

type PodSelector

type PodSelector struct {
	// +optional
	Namespaces []string `json:"namespaces,omitempty"`
	// +optional
	LabelSelectors map[string]string `json:"labelSelectors,omitempty"`
	// +optional
	AnnotationSelectors map[string]string `json:"annotationSelectors,omitempty"`
	// +optional
	Nodes []string `json:"nodes,omitempty"`
	// +optional
	Pods map[string][]string `json:"pods,omitempty"`
	// +optional
	NodeSelectors map[string]string `json:"nodeSelectors,omitempty"`
	// +optional
	ExpressionSelectors []metav1.LabelSelectorRequirement `json:"expressionSelectors,omitempty"`
}

PodSelector used to select the target of the specified chaos

func (*PodSelector) DeepCopy

func (in *PodSelector) DeepCopy() *PodSelector

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

func (*PodSelector) DeepCopyInto

func (in *PodSelector) DeepCopyInto(out *PodSelector)

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

type PortBinding

type PortBinding struct {
	// If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
	// named port in a pod must have a unique name. Name for the port that can be
	// referred to by services.
	// +optional
	Name string `json:"name,omitempty" yaml:"name,omitempty"`

	// Number of port to expose on the pod's IP address.
	// This must be a valid port number, 0 < x < 65536.
	ContainerPort int32 `json:"containerPort" yaml:"containerPort"`
	// Protocol for port. Must be UDP, TCP, or SCTP.
	// Defaults to "TCP".
	// +optional
	// +default="TCP"
	Protocol corev1.Protocol `json:"protocol,omitempty" yaml:"protocol,omitempty"`
	// What host IP to bind the external port to.
	// +optional
	HostIP string `json:"hostIP,omitempty" yaml:"hostIP,omitempty"`

	// The port that will be exposed by this service.
	ServicePort int32 `json:"servicePort" yaml:"servicePort"`

	// The port on each node on which this service is exposed when type is
	// NodePort or LoadBalancer.  Usually assigned by the system. If a value is
	// specified, in-range, and not in use it will be used, otherwise the
	// operation will fail.  If not specified, a port will be allocated if this
	// Service requires one.  If this field is specified when creating a
	// Service which does not need it, creation will fail. This field will be
	// wiped when updating a Service to no longer need it (e.g. changing type
	// from NodePort to ClusterIP).
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
	// +optional
	NodePort int32 `json:"nodePort,omitempty" yaml:"nodePort,omitempty"`
}

func (*PortBinding) DeepCopy

func (in *PortBinding) DeepCopy() *PortBinding

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

func (*PortBinding) DeepCopyInto

func (in *PortBinding) DeepCopyInto(out *PortBinding)

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

type PressureCfg

type PressureCfg struct {
	ZkHost        string          `json:"zkHost,omitempty"`
	SsHost        string          `json:"ssHost"`
	Duration      metav1.Duration `json:"duration"`
	ReqTime       metav1.Duration `json:"reqTime"`
	DistSQLs      []DistSQL       `json:"distSQLs,omitempty"`
	ConcurrentNum int             `json:"concurrentNum"`
	ReqNum        int             `json:"reqNum"`
}

func (*PressureCfg) DeepCopy

func (in *PressureCfg) DeepCopy() *PressureCfg

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

func (*PressureCfg) DeepCopyInto

func (in *PressureCfg) DeepCopyInto(out *PressureCfg)

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

type Privilege

type Privilege struct {
	Type string `json:"type" yaml:"type"`
}

Privilege for storage node, the default value is ALL_PRIVILEGES_PERMITTED

func (*Privilege) DeepCopy

func (in *Privilege) DeepCopy() *Privilege

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

func (*Privilege) DeepCopyInto

func (in *Privilege) DeepCopyInto(out *Privilege)

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

type PrivilegeType

type PrivilegeType string
const (
	AllPermitted PrivilegeType = "ALL_PERMITTED"
)

type Prometheus

type Prometheus struct {
	Host  string     `json:"host" yaml:"host"`
	Port  int32      `json:"port" yaml:"port"`
	Props Properties `json:"props,omitempty" yaml:"props,omitempty"`
}

func (*Prometheus) DeepCopy

func (in *Prometheus) DeepCopy() *Prometheus

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

func (*Prometheus) DeepCopyInto

func (in *Prometheus) DeepCopyInto(out *Prometheus)

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

type Properties

type Properties map[string]string

+kubebuilder:pruning:PreserveUnknownFields

func (Properties) DeepCopy

func (in Properties) DeepCopy() Properties

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

func (Properties) DeepCopyInto

func (in Properties) DeepCopyInto(out *Properties)

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

type Props

type Props struct {
	// The max thread size of worker group to execute SQL. One ShardingSphereDataSource will use a independent thread pool, it does not share thread pool even different data source in same JVM.
	// +optional
	KernelExecutorSize int `json:"kernel-executor-size,omitempty" yaml:"kernel-executor-size,omitempty"`
	// Whether validate table meta data consistency when application startup or updated.
	// +optional
	CheckTableMetadataEnabled bool `json:"check-table-metadata-enabled,omitempty" yaml:"check-table-metadata-enabled,omitempty"`
	// ShardingSphereProxy backend query fetch size. A larger value may increase the memory usage of ShardingSphere ShardingSphereProxy. The default value is -1, which means set the minimum value for different JDBC drivers.
	// +optional
	ProxyBackendQueryFetchSize int `json:"proxy-backend-query-fetch-size,omitempty" yaml:"proxy-backend-query-fetch-size,omitempty"`
	// Whether validate duplicate table when application startup or updated.
	// +optional
	CheckDuplicateTableEnabled bool `json:"check-duplicate-table-enabled,omitempty" yaml:"check-duplicate-table-enabled,omitempty"`
	// ShardingSphereProxy frontend Netty executor size. The default value is 0, which means let Netty decide.
	// +optional
	ProxyFrontendExecutorSize int `json:"proxy-frontend-executor-size,omitempty" yaml:"proxy-frontend-executor-size,omitempty"`
	// Available options of proxy backend executor suitable: OLAP(default), OLTP. The OLTP option may reduce time cost of writing packets to client, but it may increase the latency of SQL execution and block other clients if client connections are more than proxy-frontend-executor-size, especially executing slow SQL.
	// +optional
	ProxyBackendExecutorSuitable string `json:"proxy-backend-executor-suitable,omitempty" yaml:"proxy-backend-executor-suitable,omitempty"`
	// +optional
	ProxyBackendDriverType string `json:"proxy-backend-driver-type,omitempty" yaml:"proxy-backend-driver-type,omitempty"`
	// +optional
	ProxyFrontendDatabaseProtocolType string `json:"proxy-frontend-database-protocol-type" yaml:"proxy-frontend-database-protocol-type,omitempty"`
}

Props Apache ShardingSphere provides the way of property configuration to configure system level configuration.

func (*Props) DeepCopy

func (in *Props) DeepCopy() *Props

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

func (*Props) DeepCopyInto

func (in *Props) DeepCopyInto(out *Props)

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

type ProxyConfigSpec

type ProxyConfigSpec struct {
	ClusterConfig ClusterConfig `json:"mode" yaml:"mode"`
	Authority     Auth          `json:"authority" yaml:"authority"`
	// +optional
	Props *Props `json:"props,omitempty" yaml:"props,omitempty"`
}

ProxyConfigSpec defines the desired state of ShardingSphereProxyServerConfig

func (*ProxyConfigSpec) DeepCopy

func (in *ProxyConfigSpec) DeepCopy() *ProxyConfigSpec

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

func (*ProxyConfigSpec) DeepCopyInto

func (in *ProxyConfigSpec) DeepCopyInto(out *ProxyConfigSpec)

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

type ProxyConfigStatus

type ProxyConfigStatus struct {
	MetadataRepository string `json:"metadataRepository"`
}

ProxyConfigStatus defines the observed state of ShardingSphereProxyServerConfig

func (*ProxyConfigStatus) DeepCopy

func (in *ProxyConfigStatus) DeepCopy() *ProxyConfigStatus

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

func (*ProxyConfigStatus) DeepCopyInto

func (in *ProxyConfigStatus) DeepCopyInto(out *ProxyConfigStatus)

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

type ProxyProbe

type ProxyProbe struct {
	// Probes are not allowed for ephemeral containers.
	// +optional
	LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty" yaml:"livenessProbe,omitempty"`
	// Probes are not allowed for ephemeral containers.
	// +optional
	ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty" yaml:"readinessProbe,omitempty"`
	// Probes are not allowed for ephemeral containers.
	// +optional
	StartupProbe *corev1.Probe `json:"startupProbe,omitempty" yaml:"startupProbe,omitempty"`
}

ProxyProbe defines the probe actions for LivenesProbe, ReadinessProbe and StartupProbe

func (*ProxyProbe) DeepCopy

func (in *ProxyProbe) DeepCopy() *ProxyProbe

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

func (*ProxyProbe) DeepCopyInto

func (in *ProxyProbe) DeepCopyInto(out *ProxyProbe)

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

type ProxySpec

type ProxySpec struct {

	// Version  is the version of ShardingSphere-Proxy
	Version     string      `json:"version"`
	ServiceType ServiceType `json:"serviceType"`
	//Replicas is the expected number of replicas of ShardingSphere-Proxy
	Replicas int32 `json:"replicas"`
	// +optional
	AutomaticScaling *AutomaticScaling `json:"automaticScaling,omitempty"`
	// +optional
	ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	//ProxyConfigName is the name of the ShardingSphereProxyServerConfig CRD
	ProxyConfigName string `json:"proxyConfigName"`

	// +kubebuilder:validation:Minimum=0
	//Port is ShardingSphere-Proxy startup port
	Port int32 `json:"port"`
	// +optional
	MySQLDriver *MySQLDriver `json:"mySQLDriver,omitempty"`
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty"`
	// Probes are not allowed for ephemeral containers.
	// +optional
	LivenessProbe *v1.Probe `json:"livenessProbe,omitempty"`
	// Probes are not allowed for ephemeral containers.
	// +optional
	ReadinessProbe *v1.Probe `json:"readinessProbe,omitempty" `
	// Probes are not allowed for ephemeral containers.
	// +optional
	StartupProbe *v1.Probe `json:"startupProbe,omitempty"`
}

ProxySpec defines the desired state of ShardingSphereProxy

func (*ProxySpec) DeepCopy

func (in *ProxySpec) DeepCopy() *ProxySpec

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

func (*ProxySpec) DeepCopyInto

func (in *ProxySpec) DeepCopyInto(out *ProxySpec)

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

type ProxyStatus

type ProxyStatus struct {
	//ShardingSphere-Proxy phase are a brief summary of the ShardingSphere-Proxy life cycle
	//There are two possible phase values:
	//Ready: ShardingSphere-Proxy can already provide external services
	//NotReady: ShardingSphere-Proxy cannot provide external services
	Phase PhaseStatus `json:"phase"`

	//Conditions The conditions array, the reason and message fields
	Conditions []Condition `json:"conditions"`
	//ReadyNodes shows the number of replicas that ShardingSphere-Proxy is running normally
	ReadyNodes int32 `json:"readyNodes"`
}

ProxyStatus defines the observed state of ShardingSphereProxy

func (*ProxyStatus) DeepCopy

func (in *ProxyStatus) DeepCopy() *ProxyStatus

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

func (*ProxyStatus) DeepCopyInto

func (in *ProxyStatus) DeepCopyInto(out *ProxyStatus)

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

type Repository

type Repository struct {
	// +kubebuilder:validation:Enum=ZooKeeper;Etcd
	// type of metadata repository
	Type RepositoryType `json:"type,omitempty" yaml:"type,omitempty"`
	// properties of metadata repository
	// +optional
	Props Properties `json:"props,omitempty" yaml:"props,omitempty"`
}

Repository is the metadata persistent store for ShardingSphere

func (*Repository) DeepCopy

func (in *Repository) DeepCopy() *Repository

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

func (*Repository) DeepCopyInto

func (in *Repository) DeepCopyInto(out *Repository)

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

type RepositoryConfig

type RepositoryConfig struct {

	//Type of persist repository
	Type string `json:"type" yaml:"type"`
	//Properties of persist repository
	Props ClusterProps `json:"props" yaml:"props"`
}

func (*RepositoryConfig) DeepCopy

func (in *RepositoryConfig) DeepCopy() *RepositoryConfig

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

func (*RepositoryConfig) DeepCopyInto

func (in *RepositoryConfig) DeepCopyInto(out *RepositoryConfig)

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

type RepositoryType

type RepositoryType string
const (
	RepositoryTypeZookeeper RepositoryType = "ZooKeeper"
	RepositoryTypeEtcd      RepositoryType = "Etcd"
)

type Result

type Result struct {
	Steady Msg `json:"steady"`
	Chaos  Msg `json:"chaos"`
}

Result represents the result of the Chaos

func (*Result) DeepCopy

func (in *Result) DeepCopy() *Result

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

func (*Result) DeepCopyInto

func (in *Result) DeepCopyInto(out *Result)

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

type ScalingPolicy

type ScalingPolicy struct {
	// TargetSelector is used to select the auto-scaling target
	// Support native CrossVersionObjectReference and Selector
	// The first version plans to support CrossVersionObjectReference first
	TargetSelector *ObjectRefSelector `json:"targetSelector,omitempty" yaml:"targetSelector,omitempty"`

	// Provider is the provider of the scaling mechanism, and the optional values are:
	// - Empty: default value, which means provided by ShardingSphere Operator
	// - KubernetesHPA: Indicates the use of Kubernetes native HPA
	// - KubernetesVPA: Indicates the use of Kubernetes community VPA
	// - Other: Indicates a controller using a third-party controller
	// +optional
	Provider string `json:"provider,omitempty" yaml:"provider,omitempty"`

	// HorizontalScaling contains the necessary parameters for HPA scaling
	// Does not contain StorageNode related configuration
	// +optional
	Horizontal *HorizontalScaling `json:"horizontal,omitempty" yaml:"horizontal,omitempty"`

	// VerticalScaling contains the necessary parameters for VPA scaling
	// Does not contain StorageNode related configuration
	// +optional
	Vertical *VerticalScaling `json:"vertical,omitempty" yaml:"vertical,omitempty"`
}

ScalingPolicy defines a policy for scaling

func (*ScalingPolicy) DeepCopy

func (in *ScalingPolicy) DeepCopy() *ScalingPolicy

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

func (*ScalingPolicy) DeepCopyInto

func (in *ScalingPolicy) DeepCopyInto(out *ScalingPolicy)

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

type Script

type Script string

type ServerConfig

type ServerConfig struct {
	// +optional
	Authority ComputeNodeAuthority `json:"authority,omitempty" yaml:"authority,omitempty"`
	// +optional
	Mode ComputeNodeServerMode `json:"mode,omitempty" yaml:"mode,omitempty"`
	// +optional
	Props Properties `json:"props,omitempty" yaml:"props,omitempty"`
}

ServerConfig defines the bootstrap config for a ShardingSphere Proxy

func (*ServerConfig) DeepCopy

func (in *ServerConfig) DeepCopy() *ServerConfig

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

func (*ServerConfig) DeepCopyInto

func (in *ServerConfig) DeepCopyInto(out *ServerConfig)

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

type Service

type Service struct {
	Ports []corev1.ServicePort `json:"ports,omitempty" yaml:"ports,omitempty"`
	// +kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer;ExternalName
	Type corev1.ServiceType `json:"type" yaml:"type"`
}

ServiceType defines the Service in Kubernetes of ShardingSphere-Proxy

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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

type ServiceType

type ServiceType struct {
	Type v1.ServiceType `json:"type"`

	// The port on each node on which this service is exposed when type is
	// NodePort or LoadBalancer.  Usually assigned by the system. If a value is
	// specified, in-range, and not in use it will be used, otherwise the
	// operation will fail.  If not specified, a port will be allocated if this
	// Service requires one.  If this field is specified when creating a
	// Service which does not need it, creation will fail. This field will be
	// wiped when updating a Service to no longer need it (e.g. changing type
	// from NodePort to ClusterIP).
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
	// +optional
	NodePort int32 `json:"nodePort"`
}

ServiceType defines the Service in Kubernetes of ShardingSphere-Proxy

func (*ServiceType) DeepCopy

func (in *ServiceType) DeepCopy() *ServiceType

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

func (*ServiceType) DeepCopyInto

func (in *ServiceType) DeepCopyInto(out *ServiceType)

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

type ShardingSphereProxy

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

	Spec   ProxySpec   `json:"spec,omitempty"`
	Status ProxyStatus `json:"status,omitempty"`
}

ShardingSphereProxy is the Schema for the proxies API

func (*ShardingSphereProxy) DeepCopy

func (in *ShardingSphereProxy) DeepCopy() *ShardingSphereProxy

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

func (*ShardingSphereProxy) DeepCopyInto

func (in *ShardingSphereProxy) DeepCopyInto(out *ShardingSphereProxy)

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

func (*ShardingSphereProxy) DeepCopyObject

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

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

type ShardingSphereProxyList

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

ShardingSphereProxyList contains a list of ShardingSphereProxy

func (*ShardingSphereProxyList) DeepCopy

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

func (*ShardingSphereProxyList) DeepCopyInto

func (in *ShardingSphereProxyList) DeepCopyInto(out *ShardingSphereProxyList)

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

func (*ShardingSphereProxyList) DeepCopyObject

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

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

type ShardingSphereProxyServerConfig

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

	Spec   ProxyConfigSpec   `json:"spec,omitempty"`
	Status ProxyConfigStatus `json:"status,omitempty"`
}

ShardingSphereProxyServerConfig is the Schema for the proxyconfigs API

func (*ShardingSphereProxyServerConfig) DeepCopy

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

func (*ShardingSphereProxyServerConfig) DeepCopyInto

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

func (*ShardingSphereProxyServerConfig) DeepCopyObject

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

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

func (*ShardingSphereProxyServerConfig) SetMetadataRepository

func (in *ShardingSphereProxyServerConfig) SetMetadataRepository(metadataType string)

type ShardingSphereProxyServerConfigList

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

ShardingSphereProxyServerConfigList contains a list of ShardingSphereProxyServerConfig

func (*ShardingSphereProxyServerConfigList) DeepCopy

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

func (*ShardingSphereProxyServerConfigList) DeepCopyInto

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

func (*ShardingSphereProxyServerConfigList) DeepCopyObject

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

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

type StorageNode

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

	Spec StorageNodeSpec `json:"spec,omitempty"`
	// +optional
	Status StorageNodeStatus `json:"status,omitempty"`
}

StorageNode is the Schema for the ShardingSphere storage unit

func (*StorageNode) DeepCopy

func (in *StorageNode) DeepCopy() *StorageNode

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

func (*StorageNode) DeepCopyInto

func (in *StorageNode) DeepCopyInto(out *StorageNode)

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

func (*StorageNode) DeepCopyObject

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

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

type StorageNodeCondition

type StorageNodeCondition struct {
	Type           StorageNodeConditionType `json:"type"`
	Status         corev1.ConditionStatus   `json:"status"`
	LastUpdateTime metav1.Time              `json:"lastUpdateTime,omitempty"`
	Reason         string                   `json:"reason"`
	Message        string                   `json:"message"`
}

StorageNodeCondition contains details for the current condition of this StorageNode.

func (*StorageNodeCondition) DeepCopy

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

func (*StorageNodeCondition) DeepCopyInto

func (in *StorageNodeCondition) DeepCopyInto(out *StorageNodeCondition)

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

type StorageNodeConditionType

type StorageNodeConditionType string
const (
	// StorageNodeConditionTypeAvailable means the all the instances and the cluster are ready, and the storage node is ready to provide external services.
	StorageNodeConditionTypeAvailable StorageNodeConditionType = "Available"
	// StorageNodeConditionTypeClusterReady means the cluster is ready, does not mean the instances are all ready.
	StorageNodeConditionTypeClusterReady StorageNodeConditionType = "ClusterReady"
	// StorageNodeConditionTypeRegistered means the storage node is registered to the cluster.
	StorageNodeConditionTypeRegistered StorageNodeConditionType = "Registered"
)

StorageNodeConditionType shows some states during the startup process of storage node.

type StorageNodeConditions

type StorageNodeConditions []*StorageNodeCondition

func (*StorageNodeConditions) AddCondition

func (c *StorageNodeConditions) AddCondition(condition *StorageNodeCondition)

AddCondition adds the given condition to the StorageNodeConditions.

func (StorageNodeConditions) DeepCopy

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

func (StorageNodeConditions) DeepCopyInto

func (in StorageNodeConditions) DeepCopyInto(out *StorageNodeConditions)

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

func (*StorageNodeConditions) RemoveCondition

func (c *StorageNodeConditions) RemoveCondition(conditionType StorageNodeConditionType)

RemoveCondition removes the given condition from the StorageNodeConditions.

func (*StorageNodeConditions) UpsertCondition

func (c *StorageNodeConditions) UpsertCondition(condition *StorageNodeCondition)

UpsertCondition updates the given condition in the StorageNodeConditions.

type StorageNodeConnector

type StorageNodeConnector struct {
	Type ConnectorType `json:"type" yaml:"type"`
	// +kubebuilder:validation:Pattern=`^([1-9]\d|[1-9])(\.([1-9]\d|\d)){2}$`
	// mysql-driven version,must be x.y.z
	Version string `json:"version" yaml:"version"`
}

MySQLDriver Defines the mysql-driven version in ShardingSphere-proxy

func (*StorageNodeConnector) DeepCopy

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

func (*StorageNodeConnector) DeepCopyInto

func (in *StorageNodeConnector) DeepCopyInto(out *StorageNodeConnector)

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

type StorageNodeList

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

StorageNodeList contains a list of StorageNode

func (*StorageNodeList) DeepCopy

func (in *StorageNodeList) DeepCopy() *StorageNodeList

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

func (*StorageNodeList) DeepCopyInto

func (in *StorageNodeList) DeepCopyInto(out *StorageNodeList)

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

func (*StorageNodeList) DeepCopyObject

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

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

type StorageNodePhaseStatus

type StorageNodePhaseStatus string
const (
	StorageNodePhaseReady          StorageNodePhaseStatus = "Ready"
	StorageNodePhaseNotReady       StorageNodePhaseStatus = "NotReady"
	StorageNodePhaseDeleting       StorageNodePhaseStatus = "Deleting"
	StorageNodePhaseDeleteComplete StorageNodePhaseStatus = "DeleteComplete"
)

type StorageNodeSpec

type StorageNodeSpec struct {
	// +kubebuilder:validation:Required
	StorageProviderName string `json:"storageProviderName"`
	// +optional
	// the default database name of the storage node.
	// if not set, will NOT create database
	Schema string `json:"schema"`
	// +optional
	// Only for aws aurora storage provider right now. And the default value is 1.
	// aws rds instance is always 1.
	// aws rds cluster will auto create 3 instances(1 primary and 2 replicas).
	// +kubebuilder:default=1
	Replicas int32 `json:"replicas"`
}

StorageNodeSpec defines the desired state of a set of storage units

func (*StorageNodeSpec) DeepCopy

func (in *StorageNodeSpec) DeepCopy() *StorageNodeSpec

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

func (*StorageNodeSpec) DeepCopyInto

func (in *StorageNodeSpec) DeepCopyInto(out *StorageNodeSpec)

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

type StorageNodeStatus

type StorageNodeStatus struct {
	// The generation observed by the StorageNode controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Phase is a brief summary of the StorageNode life cycle
	// There are two possible phase values:
	// Ready: StorageNode can already provide external services
	// NotReady: StorageNode cannot provide external services
	// +optional
	Phase StorageNodePhaseStatus `json:"phase"`

	// Conditions The conditions array, the reason and message fields
	// +optional
	Conditions StorageNodeConditions `json:"conditions"`

	// Cluster contains the current status of the StorageNode cluster
	// +optional
	Cluster ClusterStatus `json:"cluster,omitempty"`

	// Instances contains the current status of the StorageNode instance
	Instances []InstanceStatus `json:"instances,omitempty"`

	// Registered indicates whether the StorageNode has been registered to shardingsphere
	// +optional
	Registered bool `json:"registered,omitempty"`
}

StorageNodeStatus defines the actual state of a set of storage units

func (*StorageNodeStatus) DeepCopy

func (in *StorageNodeStatus) DeepCopy() *StorageNodeStatus

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

func (*StorageNodeStatus) DeepCopyInto

func (in *StorageNodeStatus) DeepCopyInto(out *StorageNodeStatus)

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

type StorageProvider

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

	Status StorageProviderStatus `json:"status,omitempty"`
	Spec   StorageProviderSpec   `json:"spec,omitempty"`
}

StorageProvider is the Schema for the storageproviders API

func (*StorageProvider) DeepCopy

func (in *StorageProvider) DeepCopy() *StorageProvider

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

func (*StorageProvider) DeepCopyInto

func (in *StorageProvider) DeepCopyInto(out *StorageProvider)

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

func (*StorageProvider) DeepCopyObject

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

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

type StorageProviderList

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

StorageProviderList contains a list of StorageProvider

func (*StorageProviderList) DeepCopy

func (in *StorageProviderList) DeepCopy() *StorageProviderList

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

func (*StorageProviderList) DeepCopyInto

func (in *StorageProviderList) DeepCopyInto(out *StorageProviderList)

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

func (*StorageProviderList) DeepCopyObject

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

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

type StorageProviderSpec

type StorageProviderSpec struct {
	Provisioner string            `json:"provisioner"`
	Parameters  map[string]string `json:"parameters"`

	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Enum=DeleteWithFinalSnapshot;Delete;Retain
	//+kubebuilder:default:=Retain
	//+optional
	ReclaimPolicy StorageReclaimPolicy `json:"reclaimPolicy,omitempty"`
}

StorageProviderSpec defines the desired state of StorageProvider

func (*StorageProviderSpec) DeepCopy

func (in *StorageProviderSpec) DeepCopy() *StorageProviderSpec

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

func (*StorageProviderSpec) DeepCopyInto

func (in *StorageProviderSpec) DeepCopyInto(out *StorageProviderSpec)

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

type StorageProviderStatus

type StorageProviderStatus struct {
}

StorageProviderStatus defines the observed state of StorageProvider

func (*StorageProviderStatus) DeepCopy

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

func (*StorageProviderStatus) DeepCopyInto

func (in *StorageProviderStatus) DeepCopyInto(out *StorageProviderStatus)

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

type StorageReclaimPolicy

type StorageReclaimPolicy string

StorageReclaimPolicy defines the reclaim policy for storage

const (
	// StorageReclaimPolicyDeleteWithFinalSnapshot The database will be deleted with a final snapshot reserved.
	StorageReclaimPolicyDeleteWithFinalSnapshot StorageReclaimPolicy = "DeleteWithFinalSnapshot"
	// StorageReclaimPolicyDelete The database will be deleted.
	StorageReclaimPolicyDelete StorageReclaimPolicy = "Delete"
	// StorageReclaimPolicyRetain The database will be retained.
	// The default policy is Retain.
	StorageReclaimPolicyRetain StorageReclaimPolicy = "Retain"
)

type User

type User struct {
	User     string `json:"user" yaml:"user"`
	Password string `json:"password" yaml:"password"`
}

User is a slice about authorized host and password for compute node. Format: user:<username>@<hostname>,hostname is % or empty string means do not care about authorized host password:<password>

func (*User) DeepCopy

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

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

type VerticalScaling

type VerticalScaling struct {
	// Describes the rules on how changes are applied to the pods.
	// If not specified, all fields in the `PodUpdatePolicy` are set to their
	// default values.
	// +optional
	UpdatePolicy *vpav1.PodUpdatePolicy `json:"updatePolicy,omitempty" yaml:"updatePolicy,omitempty"`

	// Controls how the autoscaler computes recommended resources.
	// The resource policy may be used to set constraints on the recommendations
	// for individual containers. If not specified, the autoscaler computes recommended
	// resources for all containers in the pod, without additional constraints.
	// +optional
	ResourcePolicy *vpav1.PodResourcePolicy `json:"resourcePolicy,omitempty" yaml:"resourcePolicy,omitempty"`

	// Recommender responsible for generating recommendation for this object.
	// List should be empty (then the default recommender will generate the
	// recommendation) or contain exactly one recommender.
	// +optional
	Recommenders []vpav1.VerticalPodAutoscalerRecommenderSelector `json:"recommenders,omitempty" yaml:"recommenders,omitempty"`
}

The following configuration items are basically the same as the VPA configuration, please refer to the corresponding documentation for instructions

func (*VerticalScaling) DeepCopy

func (in *VerticalScaling) DeepCopy() *VerticalScaling

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

func (*VerticalScaling) DeepCopyInto

func (in *VerticalScaling) DeepCopyInto(out *VerticalScaling)

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