Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the rds v1alpha1 API group +kubebuilder:object:generate=true +groupName=rds.hakurei.cn
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type BackupWebHookPostData
- type CRDMysql
- type ClusterMode
- type ClusterPhase
- type CommonField
- type Mysql
- type MysqlBackup
- type MysqlBackupList
- type MysqlBackupSpec
- type MysqlBackupStatus
- type MysqlHost
- type MysqlList
- type MysqlMGRSinglePrimaryOptions
- type MysqlMonitor
- type MysqlSemiSyncOptions
- type MysqlSimpleUserInfo
- type MysqlSpec
- type MysqlStatus
- type MysqlUser
- type PodSettings
- type Predixy
- type ProxySQL
- type ProxySQLBackendMysql
- type ProxySQLClientUser
- type ProxySQLList
- type ProxySQLSpec
- type ProxySQLStatus
- type Redis
- type RedisClusterProxy
- type RedisList
- type RedisMonitor
- type RedisServer
- type RedisSpec
- type RedisStatus
- type S3Config
- type Webhook
Constants ¶
const ( // ModeMGRMP cluster mode is mysql group replication multi primary ModeMGRMP ClusterMode = "MGRMP" // ModeMGRSP cluster mode is mysql group replication single primary ModeMGRSP ClusterMode = "MGRSP" // ModeSemiSync cluster mode is mysql semi sync ModeSemiSync ClusterMode = "SemiSync" MysqlPhaseNotReady ClusterPhase = "NotReady" MysqlPhaseRunning ClusterPhase = "Running" MysqlPhaseTerminating ClusterPhase = "Terminating" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "rds.hakurei.cn", 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 )
var SchemeGroupVersion = GroupVersion
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Types ¶
type BackupWebHookPostData ¶
type BackupWebHookPostData struct { // Status backup CR status, values are [Pending Generating Done] // Pending mean pod is Created or Scheduling // Gernating mean pod is Running // Done mean pod is Completed Status string `json:"status"` // Path s3 path of this backup file Path string `json:"path"` // CreateTime create time of backup operation CreateTime string `json:"createTime"` // DoneTime backup oeration done time DoneTime string `json:"doneTime"` // backup file size bytes Size int64 `json:"size"` // CostSeconds how many seconds cost of backup operation, from create to finish CostSeconds int `json:"costSeconds"` // SourceServer backup file source server SourceServer string `json:"sourceServer"` }
BackupWebHookPostData POST http body json Data
func (*BackupWebHookPostData) DeepCopy ¶
func (in *BackupWebHookPostData) DeepCopy() *BackupWebHookPostData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupWebHookPostData.
func (*BackupWebHookPostData) DeepCopyInto ¶
func (in *BackupWebHookPostData) DeepCopyInto(out *BackupWebHookPostData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CRDMysql ¶ added in v0.0.2
type CRDMysql struct { Name string `json:"name"` Namespace *string `json:"namespace,omitempty"` Port *int `json:"port,omitempty"` }
func (*CRDMysql) DeepCopy ¶ added in v0.0.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CRDMysql.
func (*CRDMysql) DeepCopyInto ¶ added in v0.0.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonField ¶
type CommonField struct { // Image main container image Image string `json:"image"` // ImagePullPolicy all pods image pull policy,value should keep with corev1.PullPolicy ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` // Command container run command Command []string `json:"command,omitempty"` // Args container run args Args []string `json:"args,omitempty"` // Tolerations all pods tolerations,should keep with corev1.Toleration Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"` // If specified, the pod's scheduling constraints // +optional Affinity *corev1.Affinity `json:"affinity,omitempty" protobuf:"bytes,18,opt,name=affinity"` // ServiceAccountName is the name of the ServiceAccount to use to run this pod. // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ // +optional ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,8,opt,name=serviceAccountName"` // StorageClassName all pods storage class name // TimeZone timezone string , for example Asia/Shanghai TimeZone string `json:"timeZone"` // PriorityClassName pod priority class name for all pods under CR resource PriorityClassName string `json:"priorityClassName,omitempty" protobuf:"bytes,24,opt,name=priorityClassName"` // Compute Resources required by this container. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,8,opt,name=resources"` // Periodic probe of container liveness. // Container will be restarted if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty" protobuf:"bytes,10,opt,name=livenessProbe"` // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty" protobuf:"bytes,11,opt,name=readinessProbe"` // PVCRetentionSeconds pvc retention seconds after CR has been deleted // after pvc deleted, a deadline annotations will add to pvc. // if deadline reached (default time.Now().Unix() + PVCRetentionSeconds), and CR not found(filtered by labels), pvc will be deleted by operator. // if before deadline, a new CR with same labels of pvc created. pvc deadline annotation will be removed. // if this field value is nil, types.PVCDeleteRetentionSeconds will be default value to this field // if this field value is zero, pvc will alive forever PVCRetentionSeconds *int `json:"pvcRetentionSeconds,omitempty"` }
func (*CommonField) DeepCopy ¶
func (in *CommonField) DeepCopy() *CommonField
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonField.
func (*CommonField) DeepCopyInto ¶
func (in *CommonField) DeepCopyInto(out *CommonField)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Mysql ¶
type Mysql struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MysqlSpec `json:"spec,omitempty"` Status MysqlStatus `json:"status,omitempty"` }
Mysql is the Schema for the mysqls API
func (*Mysql) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mysql.
func (*Mysql) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Mysql) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MysqlBackup ¶
type MysqlBackup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MysqlBackupSpec `json:"spec,omitempty"` Status MysqlBackupStatus `json:"status,omitempty"` }
MysqlBackup is the Schema for the mysqls API
func (*MysqlBackup) DeepCopy ¶
func (in *MysqlBackup) DeepCopy() *MysqlBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlBackup.
func (*MysqlBackup) DeepCopyInto ¶
func (in *MysqlBackup) DeepCopyInto(out *MysqlBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MysqlBackup) DeepCopyObject ¶
func (in *MysqlBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MysqlBackupList ¶
type MysqlBackupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []MysqlBackup `json:"items"` }
MysqlBackupList contains a list of Mysql
func (*MysqlBackupList) DeepCopy ¶
func (in *MysqlBackupList) DeepCopy() *MysqlBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlBackupList.
func (*MysqlBackupList) DeepCopyInto ¶
func (in *MysqlBackupList) DeepCopyInto(out *MysqlBackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MysqlBackupList) DeepCopyObject ¶
func (in *MysqlBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MysqlBackupSpec ¶
type MysqlBackupSpec struct { CommonField `json:",inline"` // S3 use aws s3 object storage service for store backup files S3 *S3Config `json:"s3,omitempty"` // Mysql host for backup Address []MysqlHost `json:"address,omitempty"` // ClusterMode mysql cluster mode ClusterMode ClusterMode `json:"clusterMode"` // PVCName if pvc name is empty, a emptydir will be used as tmp storage for mysql backup files PVCName *string `json:"pvcName,omitempty"` // StorageSize mysql backup files tmp storage dir max size StorageSize string `json:"storageSize"` // Username username of all mysql hosts, used for this backup operation Username string `json:"username"` // Password password of all mysql hosts, used for this backup operation Password string `json:"password"` // Schedule k8s/linux cronjob schedule Schedule string `json:"schedule"` // UseZlibCompress use zlib compress for mysqlpump command // how to extra zlib compressed mysql backup file, see ??? UseZlibCompress *bool `json:"useZlibCompress,omitempty"` // Webhook send backup file info POST to webhook url Webhook *Webhook `json:"webhook,omitempty"` // LockTable lock table when backup LockTable bool `json:"lockTable,omitempty"` }
MysqlBackupSpec defines the desired state of Mysql
func (*MysqlBackupSpec) DeepCopy ¶
func (in *MysqlBackupSpec) DeepCopy() *MysqlBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlBackupSpec.
func (*MysqlBackupSpec) DeepCopyInto ¶
func (in *MysqlBackupSpec) DeepCopyInto(out *MysqlBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlBackupStatus ¶
type MysqlBackupStatus struct { LastErrMsg string `json:"lastErrMsg,omitempty"` Phase string `json:"phase,omitempty"` }
MysqlBackupStatus defines the observed state of Mysql
func (*MysqlBackupStatus) DeepCopy ¶
func (in *MysqlBackupStatus) DeepCopy() *MysqlBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlBackupStatus.
func (*MysqlBackupStatus) DeepCopyInto ¶
func (in *MysqlBackupStatus) DeepCopyInto(out *MysqlBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlHost ¶
MysqlHost mysql back server connection settings
func (*MysqlHost) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlHost.
func (*MysqlHost) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlList ¶
type MysqlList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Mysql `json:"items"` }
MysqlList contains a list of Mysql
func (*MysqlList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlList.
func (*MysqlList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MysqlList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MysqlMGRSinglePrimaryOptions ¶
type MysqlMGRSinglePrimaryOptions struct { // ApplierThreshold mysql mgr variable: loose-group_replication_flow_control_applier_threshold ApplierThreshold int `json:"applierThreshold,omitempty"` // MGRRtries mysql mgr variable: loose-group_replication_recovery_retry_count MGRRetries int `json:"mgrRetries,omitempty"` }
MysqlMGRSinglePrimaryOptions mysql multi group replication single primary mode options
func (*MysqlMGRSinglePrimaryOptions) DeepCopy ¶
func (in *MysqlMGRSinglePrimaryOptions) DeepCopy() *MysqlMGRSinglePrimaryOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlMGRSinglePrimaryOptions.
func (*MysqlMGRSinglePrimaryOptions) DeepCopyInto ¶
func (in *MysqlMGRSinglePrimaryOptions) DeepCopyInto(out *MysqlMGRSinglePrimaryOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlMonitor ¶ added in v0.0.2
type MysqlMonitor struct { // User mysql user which have privileges to monitor mysql, if not exists, will auto create User *MysqlSimpleUserInfo `json:"user,omitempty"` // Image prom/mysqld-exporter image Image string `json:"image"` // Args container run args Args []string `json:"args,omitempty"` // Args // Interval service monitor interval Interval string `json:"interval,omitempty"` // Compute Resources required by this container. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,8,opt,name=resources"` // Periodic probe of container liveness. // Container will be restarted if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty" protobuf:"bytes,10,opt,name=livenessProbe"` // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty" protobuf:"bytes,11,opt,name=readinessProbe"` }
func (*MysqlMonitor) DeepCopy ¶ added in v0.0.2
func (in *MysqlMonitor) DeepCopy() *MysqlMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlMonitor.
func (*MysqlMonitor) DeepCopyInto ¶ added in v0.0.2
func (in *MysqlMonitor) DeepCopyInto(out *MysqlMonitor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlSemiSyncOptions ¶
type MysqlSemiSyncOptions struct { // DoubleMasterHA if true , mysql-0 and mysql-1 will be cluster masters,they copy data from each other DoubleMasterHA bool `json:"doubleMasterHA,omitempty"` }
func (*MysqlSemiSyncOptions) DeepCopy ¶
func (in *MysqlSemiSyncOptions) DeepCopy() *MysqlSemiSyncOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlSemiSyncOptions.
func (*MysqlSemiSyncOptions) DeepCopyInto ¶
func (in *MysqlSemiSyncOptions) DeepCopyInto(out *MysqlSemiSyncOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlSimpleUserInfo ¶ added in v0.0.2
type MysqlSimpleUserInfo struct { // Username mysql login account name Username string `json:"username"` // Password mysql login password of this user Password string `json:"password"` }
func (*MysqlSimpleUserInfo) DeepCopy ¶ added in v0.0.2
func (in *MysqlSimpleUserInfo) DeepCopy() *MysqlSimpleUserInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlSimpleUserInfo.
func (*MysqlSimpleUserInfo) DeepCopyInto ¶ added in v0.0.2
func (in *MysqlSimpleUserInfo) DeepCopyInto(out *MysqlSimpleUserInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlSpec ¶
type MysqlSpec struct { CommonField `json:",inline"` // ClusterMode mysql cluster mode,values are [ MGRMP MGRSP SemiSync ] ClusterMode ClusterMode `json:"clusterMode"` // RootPassword mysql root password, if empty, an will allow empty password login RootPassword *string `json:"rootPassword,omitempty"` // StorageClassName kuberentes storage class name of this mysql pod StorageClassName string `json:"storageClassName"` // ConfigImage mysql initContainer for render mysql/proxysql config and boostrap mysql cluster ConfigImage string `json:"configImage"` // Replicas mysql cluster pod total count,contains master and slave Replicas *int32 `json:"replicas,omitempty"` // StorageSize pvc disk size StorageSize string `json:"storageSize"` // Whitelist most of time it's kuberenetes pod CIDR and service CIDR, for example []string{"10.24.0.0/16","10.25.0.0/16"} Whitelist []string `json:"whitelist"` // MGRSP mysql multi group replication single primary mode options MGRSP *MysqlMGRSinglePrimaryOptions `json:"mgrsp,omitempty"` // SemiSync mysql semi sync replication options SemiSync *MysqlSemiSyncOptions `json:"semiSync,omitempty"` // ExtraConfig write your own mysql config to override operator nested mysql config. // content will merge into ${extraConfigDir}/my.cnf ExtraConfig string `json:"extraConfig,omitempty"` // ExtraConfigDir my.cnf include dir ExtraConfigDir *string `json:"extraConfigDir,omitempty"` // Monitor mysql cluster monitor settings, if this field is not nil, will add mysql-exporter to mysql pod, add add prometheus operator kind:ServiceMonitor resource to mysql pod's namespace Monitor *MysqlMonitor `json:"monitor,omitempty"` // ClusterUser mysql cluster replication user ClusterUser *MysqlUser `json:"clusterUser,omitempty"` MaxConn *int `json:"maxConn,omitempty"` }
MysqlSpec defines the desired state of Mysql
func (*MysqlSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlSpec.
func (*MysqlSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlStatus ¶
type MysqlStatus struct { // Masters current mysql cluster masters Masters []string `json:"masters,omitempty"` Members []string `json:"members,omitempty"` HealthyMembers []string `json:"healthyMembers,omitempty"` Phase ClusterPhase `json:"phase,omitempty"` }
MysqlStatus defines the observed state of Mysql
func (*MysqlStatus) DeepCopy ¶
func (in *MysqlStatus) DeepCopy() *MysqlStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlStatus.
func (*MysqlStatus) DeepCopyInto ¶
func (in *MysqlStatus) DeepCopyInto(out *MysqlStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlUser ¶
type MysqlUser struct { MysqlSimpleUserInfo `json:",inline"` // Privileges mysql grant sql privileges, for example : []stirng{ "SELECT" ,"REPLICATION CLIENT"} or []string{"ALL PRIVILEGES"} Privileges []string `json:"privileges"` // Domain user login domain , for example : '%' Domain string `json:"domain"` // DatabaseTarget which database or tables will granted privileges to this user. // for example : grant all privileges on *.* to user xxx@'%' indentified by 'xxxxx', in this case, DatabaseTarget value should be '*.*' DatabaseTarget string `json:"databaseTarget"` }
MysqlUser mysql user settings
func (*MysqlUser) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlUser.
func (*MysqlUser) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSettings ¶
type PodSettings struct { Labels map[string]string `json:"labels,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` }
PodSettings pod settings
func (*PodSettings) DeepCopy ¶
func (in *PodSettings) DeepCopy() *PodSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSettings.
func (*PodSettings) DeepCopyInto ¶
func (in *PodSettings) DeepCopyInto(out *PodSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Predixy ¶
type Predixy struct { // Image redis cluster proxy image Image string `json:"image"` // Replicas redis cluster proxy pod relicas Replicas *int32 `json:"replicas,omitempty"` // Command redis cluster proxy container command Command []string `json:"command,omitempty"` // Command redis cluster proxy container command args Args []string `json:"args,omitempty"` // NodePort nodePort of redis cluster proxy service // if value is nil, no nodePort will be created // if value is 0, nodePort number is allocted by kuberentes with random number // if value is not nil and not equal 0, nodePort number is your specific number NodePort *int32 `json:"nodePort,omitempty"` // Compute Resources required by this container. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,8,opt,name=resources"` // Periodic probe of container liveness. // Container will be restarted if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty" protobuf:"bytes,10,opt,name=livenessProbe"` // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty" protobuf:"bytes,11,opt,name=readinessProbe"` }
func (*Predixy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Predixy.
func (*Predixy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxySQL ¶
type ProxySQL struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ProxySQLSpec `json:"spec,omitempty"` Status ProxySQLStatus `json:"status,omitempty"` }
ProxySQL is the Schema for the ProxySQLs API
func (*ProxySQL) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQL.
func (*ProxySQL) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxySQL) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxySQLBackendMysql ¶ added in v0.0.2
type ProxySQLBackendMysql struct { // CRD CRDMysql connect mysql.rds.hakurei.cn/v1alpha1 pods CRD *CRDMysql `json:"crd,omitempty"` // Remote mysql backend servers with host:port list. if field ProxySQLBackendMysql.CRD declered and not nil, this field will not working Remote []MysqlHost `json:"remote,omitempty"` }
func (*ProxySQLBackendMysql) DeepCopy ¶ added in v0.0.2
func (in *ProxySQLBackendMysql) DeepCopy() *ProxySQLBackendMysql
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLBackendMysql.
func (*ProxySQLBackendMysql) DeepCopyInto ¶ added in v0.0.2
func (in *ProxySQLBackendMysql) DeepCopyInto(out *ProxySQLBackendMysql)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxySQLClientUser ¶ added in v0.0.2
type ProxySQLClientUser struct { MysqlSimpleUserInfo `json:",inline"` DefaultHostGroup int `json:"defaultHostGroup"` }
func (*ProxySQLClientUser) DeepCopy ¶ added in v0.0.2
func (in *ProxySQLClientUser) DeepCopy() *ProxySQLClientUser
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLClientUser.
func (*ProxySQLClientUser) DeepCopyInto ¶ added in v0.0.2
func (in *ProxySQLClientUser) DeepCopyInto(out *ProxySQLClientUser)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxySQLList ¶
type ProxySQLList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ProxySQL `json:"items"` }
ProxySQLList contains a list of ProxySQL
func (*ProxySQLList) DeepCopy ¶
func (in *ProxySQLList) DeepCopy() *ProxySQLList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLList.
func (*ProxySQLList) DeepCopyInto ¶
func (in *ProxySQLList) DeepCopyInto(out *ProxySQLList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxySQLList) DeepCopyObject ¶
func (in *ProxySQLList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxySQLSpec ¶
type ProxySQLSpec struct { CommonField `json:",inline"` // StorageClassName all pods storage class name StorageClassName string `json:"storageClassName"` // MysqlVersion specific version text will return to mysql client that connected on proxysql MysqlVersion string `json:"mysqlVersion"` // NodePort nodeport of proxysql service // if this value is nil, means no nodePort should be open // if this value is zero, means open random nodePort // if this value is greater than zero, means open a specific nodePort NodePort *int32 `json:"nodePort,omitempty"` // Replicas proxysql pod total count,contains master and slave Replicas *int32 `json:"replicas,omitempty"` // StorageSize pvc disk size StorageSize string `json:"storageSize"` // ConfigImage proxysql initContainer for render proxysql config ConfigImage string `json:"configImage"` // Mysql mysql backend servers Mysqls ProxySQLBackendMysql `json:"mysqls"` // FrontendUsers proxysql use theese users to connect mysql server and exec sql query BackendUsers []ProxySQLClientUser `json:"backendUsers"` // FrontendUsers mysql client use theese users connect proxysql FrontendUsers []ProxySQLClientUser `json:"frontedUsers"` // AdminUsers proxysql admin users list AdminUsers []MysqlSimpleUserInfo `json:"adminUsers"` // ClusterUser proxysql cluster peers user, not mysql user ClusterUser MysqlSimpleUserInfo `json:"clusterUser"` // MonitorUser proxysql use this user to connect and monitor mysql server MonitorUser MysqlSimpleUserInfo `json:"monitorUser"` // ClusterMode mysql cluster mode ClusterMode ClusterMode `json:"clusterMode"` // MysqlMaxConn max connections per mysql instance MysqlMaxConn int `json:"mysqlMaxConn"` }
ProxySQLSpec defines the desired state of ProxySQL mysql 8 admin-hash_passwords=false https://www.cnblogs.com/9527l/p/12435675.html https://kitcharoenp.github.io/mysql/2020/07/18/proxysql2_backend_users_config.html https://www.jianshu.com/p/e22b149ba270
func (*ProxySQLSpec) DeepCopy ¶
func (in *ProxySQLSpec) DeepCopy() *ProxySQLSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLSpec.
func (*ProxySQLSpec) DeepCopyInto ¶
func (in *ProxySQLSpec) DeepCopyInto(out *ProxySQLSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxySQLStatus ¶
type ProxySQLStatus struct { }
ProxySQLStatus defines the observed state of ProxySQL
func (*ProxySQLStatus) DeepCopy ¶
func (in *ProxySQLStatus) DeepCopy() *ProxySQLStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLStatus.
func (*ProxySQLStatus) DeepCopyInto ¶
func (in *ProxySQLStatus) DeepCopyInto(out *ProxySQLStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Redis ¶
type Redis struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RedisSpec `json:"spec,omitempty"` Status RedisStatus `json:"status,omitempty"` }
Redis redis cluster CRD
func (*Redis) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Redis.
func (*Redis) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Redis) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RedisClusterProxy ¶
type RedisClusterProxy struct { // Image redis cluster proxy image Image string `json:"image"` // Replicas redis cluster proxy pod relicas Replicas *int32 `json:"replicas,omitempty"` // Command redis cluster proxy container command Command []string `json:"command,omitempty"` // Command redis cluster proxy container command args Args []string `json:"args,omitempty"` // NodePort nodePort of redis cluster proxy service // if value is nil, no nodePort will be created // if value is 0, nodePort number is allocted by kuberentes with random number // if value is not nil and not equal 0, nodePort number is your specific number NodePort *int32 `json:"nodePort,omitempty"` // Compute Resources required by this container. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,8,opt,name=resources"` // Periodic probe of container liveness. // Container will be restarted if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty" protobuf:"bytes,10,opt,name=livenessProbe"` // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty" protobuf:"bytes,11,opt,name=readinessProbe"` }
func (*RedisClusterProxy) DeepCopy ¶
func (in *RedisClusterProxy) DeepCopy() *RedisClusterProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisClusterProxy.
func (*RedisClusterProxy) DeepCopyInto ¶
func (in *RedisClusterProxy) DeepCopyInto(out *RedisClusterProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisList ¶
type RedisList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Redis `json:"items"` }
RedisList a list of Redis
func (*RedisList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisList.
func (*RedisList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RedisList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RedisMonitor ¶ added in v0.0.2
type RedisMonitor struct { // Image oliver006/redis_exporter image Image string `json:"image"` // Args container run args Args []string `json:"args,omitempty"` // Args // Interval service monitor interval Interval string `json:"interval,omitempty"` // Compute Resources required by this container. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,8,opt,name=resources"` // Periodic probe of container liveness. // Container will be restarted if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty" protobuf:"bytes,10,opt,name=livenessProbe"` // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty" protobuf:"bytes,11,opt,name=readinessProbe"` }
func (*RedisMonitor) DeepCopy ¶ added in v0.0.2
func (in *RedisMonitor) DeepCopy() *RedisMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisMonitor.
func (*RedisMonitor) DeepCopyInto ¶ added in v0.0.2
func (in *RedisMonitor) DeepCopyInto(out *RedisMonitor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisServer ¶
type RedisServer struct { // Image redis server image Image string `json:"image"` // StorageSize pvc disk size StorageSize string `json:"storageSize"` // BackupMethod data backup method, valid value is [ AOF RDB ] BackupMethod string `json:"backupMethod,omitempty"` // Command redis container command Command []string `json:"command,omitempty"` // Command redis container command args Args []string `json:"args,omitempty"` // Periodic probe of container liveness. // Container will be restarted if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty" protobuf:"bytes,10,opt,name=livenessProbe"` // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty" protobuf:"bytes,11,opt,name=readinessProbe"` }
func (*RedisServer) DeepCopy ¶
func (in *RedisServer) DeepCopy() *RedisServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisServer.
func (*RedisServer) DeepCopyInto ¶
func (in *RedisServer) DeepCopyInto(out *RedisServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisSpec ¶
type RedisSpec struct { // Password 密码 Password *string `json:"password,omitempty"` // Replicas redis副本数量 MasterReplicas int `json:"masterReplicas"` // DataReplicas 数据副本数 DataReplicas int `json:"dataReplicas"` // StorageClassName all pods storage class name StorageClassName string `json:"storageClassName"` // ImagePullPolicy all pods image pull policy,value should keep with corev1.PullPolicy ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` Redis RedisServer `json:"redis"` // RedisClusterProxy use redislabs redis cluster proxy as cluster proxy RedisClusterProxy *RedisClusterProxy `json:"redisClusterProxy,omitempty"` // Predixy use predixy as redis cluster proxy Predixy *Predixy `json:"predixy,omitempty"` // TimeZone TZ envirtoment virable for all pods TimeZone string `json:"timeZone"` // Tolerations all pods tolerations,should keep with corev1.Toleration Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"` // If specified, the pod's scheduling constraints // +optional Affinity *corev1.Affinity `json:"affinity,omitempty" protobuf:"bytes,18,opt,name=affinity"` // ServiceAccountName is the name of the ServiceAccount to use to run this pod. // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ // +optional ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,8,opt,name=serviceAccountName"` // Compute Resources required by this container. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,8,opt,name=resources"` // PriorityClassName redis and redis-cluster-proxy pods pod priority class name PriorityClassName string `json:"priorityClassName,omitempty" protobuf:"bytes,24,opt,name=priorityClassName"` Monitor *RedisMonitor `json:"monitor,omitempty"` }
RedisSpec redis cluster spec
func (*RedisSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSpec.
func (*RedisSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisStatus ¶
type RedisStatus struct { // Masters current redis cluster masters Masters []string `json:"masters"` }
RedisStatus bootstrap process status
func (*RedisStatus) DeepCopy ¶
func (in *RedisStatus) DeepCopy() *RedisStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisStatus.
func (*RedisStatus) DeepCopyInto ¶
func (in *RedisStatus) DeepCopyInto(out *RedisStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Config ¶
type S3Config struct { AccessKey string `json:"accessKey"` SecretAccessKey string `json:"secretAccessKey"` Endpoint string `json:"endpoint"` Bucket string `json:"bucket"` Path string `json:"path"` }
S3Config aws s3 object storage server config
func (*S3Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Config.
func (*S3Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Webhook ¶
type Webhook struct { // URL http request url URL string `json:"url"` // Password http basic auth username Username string `json:"username,omitempty"` // Password http basic auth password Password string `json:"password,omitempty"` // Headers http header fields, set cookie or some bearToken in this filed Headers map[string]string `json:"headers,omitempty"` // DeleteResource if this field value is true, webhook post return http response code 200 and content is "ok", then delete MysqlBackup Custom Resource // when backup job type is cronjob , must set this field value to false DeleteResource bool `json:"deleteResource,omitempty"` }
func (*Webhook) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Webhook.
func (*Webhook) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.