Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the compose-operator v1alpha1 API group +kubebuilder:object:generate=true +groupName=upm.syntropycloud.io
Index ¶
- Constants
- Variables
- func DefaultMongoDBReplicasetOwnerReferences(instance *MongoDBReplicaset) []metav1.OwnerReference
- func DefaultMysqlReplicationOwnerReferences(instance *MysqlReplication) []metav1.OwnerReference
- func DefaultPostgresReplicationOwnerReferences(instance *PostgresReplication) []metav1.OwnerReference
- func DefaultRedisReplicationOwnerReferences(instance *RedisReplication) []metav1.OwnerReference
- type CommonNode
- type CommonNodes
- type MongoDBReplicaset
- type MongoDBReplicasetList
- type MongoDBReplicasetNode
- type MongoDBReplicasetRole
- type MongoDBReplicasetSecret
- type MongoDBReplicasetSpec
- type MongoDBReplicasetStatus
- type MongoDBReplicasetTopology
- type MysqlGroupReplication
- type MysqlGroupReplicationList
- type MysqlGroupReplicationNode
- type MysqlGroupReplicationRole
- type MysqlGroupReplicationSecret
- type MysqlGroupReplicationSpec
- type MysqlGroupReplicationStatus
- type MysqlGroupReplicationTopology
- type MysqlReplication
- type MysqlReplicationList
- type MysqlReplicationMode
- type MysqlReplicationNode
- type MysqlReplicationRole
- type MysqlReplicationSecret
- type MysqlReplicationSpec
- type MysqlReplicationStatus
- type MysqlReplicationTopology
- type NodeStatus
- type PostgresReplication
- type PostgresReplicationList
- type PostgresReplicationMode
- type PostgresReplicationNode
- type PostgresReplicationRole
- type PostgresReplicationSecret
- type PostgresReplicationSpec
- type PostgresReplicationStatus
- type PostgresReplicationTopology
- type ProxysqlSync
- type ProxysqlSyncList
- type ProxysqlSyncNode
- type ProxysqlSyncSecret
- type ProxysqlSyncSpec
- type ProxysqlSyncStatus
- type ProxysqlSyncTopology
- type RedisCluster
- type RedisClusterList
- type RedisClusterNode
- type RedisClusterNodeRole
- type RedisClusterSecret
- type RedisClusterSpec
- type RedisClusterStatus
- type RedisClusterTopology
- type RedisReplication
- type RedisReplicationList
- type RedisReplicationNode
- type RedisReplicationRole
- type RedisReplicationSecret
- type RedisReplicationSpec
- type RedisReplicationStatus
- type RedisReplicationTopology
- type ReplicaNode
- type ReplicaNodes
- type Rule
- type Service
- type ServiceType
Constants ¶
const ( ConditionTypeTopologyReady = "TopologyReady" ConditionTypeResourceReady = "ResourceReady" ConditionTypeUserReady = "UserReady" ConditionTypeServerReady = "ServerReady" )
const SkipReconcileKey = "compose-operator.skip.reconcile"
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "upm.syntropycloud.io", 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 ¶
func DefaultMongoDBReplicasetOwnerReferences ¶ added in v1.1.0
func DefaultMongoDBReplicasetOwnerReferences(instance *MongoDBReplicaset) []metav1.OwnerReference
func DefaultMysqlReplicationOwnerReferences ¶
func DefaultMysqlReplicationOwnerReferences(instance *MysqlReplication) []metav1.OwnerReference
func DefaultPostgresReplicationOwnerReferences ¶
func DefaultPostgresReplicationOwnerReferences(instance *PostgresReplication) []metav1.OwnerReference
func DefaultRedisReplicationOwnerReferences ¶
func DefaultRedisReplicationOwnerReferences(instance *RedisReplication) []metav1.OwnerReference
Types ¶
type CommonNode ¶
type CommonNode struct { // Name specifies the identifier of node Name string `json:"name"` // Host specifies the ip or hostname of node Host string `json:"host"` // Port specifies the port of node Port int `json:"port"` }
CommonNode information for node to connect
func (*CommonNode) DeepCopy ¶
func (in *CommonNode) DeepCopy() *CommonNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonNode.
func (*CommonNode) DeepCopyInto ¶
func (in *CommonNode) DeepCopyInto(out *CommonNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonNodes ¶
type CommonNodes []*CommonNode
CommonNodes array Node
func (CommonNodes) DeepCopy ¶
func (in CommonNodes) DeepCopy() CommonNodes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonNodes.
func (CommonNodes) DeepCopyInto ¶
func (in CommonNodes) DeepCopyInto(out *CommonNodes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBReplicaset ¶ added in v1.1.0
type MongoDBReplicaset struct { // The metadata for the API version and kind of the MongoDBReplicaset. metav1.TypeMeta `json:",inline"` // The metadata for the MongoDBReplicaset object, including name, namespace, labels, and annotations. metav1.ObjectMeta `json:"metadata,omitempty"` // Defines the desired state of the MongoDBReplicaset. Spec MongoDBReplicasetSpec `json:"spec,omitempty"` // Populated by the system, it represents the current information about the MongoDBReplicaset. Status MongoDBReplicasetStatus `json:"status,omitempty"` }
MongoDBReplicaset is the Schema for the MongoDB Replica Set API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=mrs +kubebuilder:printcolumn:name="READY",type=boolean,JSONPath=`.status.ready` +kubebuilder:printcolumn:name="REPLICA_SET",type=string,JSONPath=`.spec.replicaSetName` +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
func (*MongoDBReplicaset) DeepCopy ¶ added in v1.1.0
func (in *MongoDBReplicaset) DeepCopy() *MongoDBReplicaset
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBReplicaset.
func (*MongoDBReplicaset) DeepCopyInto ¶ added in v1.1.0
func (in *MongoDBReplicaset) DeepCopyInto(out *MongoDBReplicaset)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MongoDBReplicaset) DeepCopyObject ¶ added in v1.1.0
func (in *MongoDBReplicaset) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MongoDBReplicasetList ¶ added in v1.1.0
type MongoDBReplicasetList struct { // Contains the metadata for the API objects, including the Kind and Version of the object. metav1.TypeMeta `json:",inline"` // Contains the metadata for the list objects, including the continue and remainingItemCount for the list. metav1.ListMeta `json:"metadata,omitempty"` // Contains the list of MongoDBReplicaset. Items []MongoDBReplicaset `json:"items"` }
MongoDBReplicasetList contains a list of MongoDBReplicaset +kubebuilder:object:root=true
func (*MongoDBReplicasetList) DeepCopy ¶ added in v1.1.0
func (in *MongoDBReplicasetList) DeepCopy() *MongoDBReplicasetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBReplicasetList.
func (*MongoDBReplicasetList) DeepCopyInto ¶ added in v1.1.0
func (in *MongoDBReplicasetList) DeepCopyInto(out *MongoDBReplicasetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MongoDBReplicasetList) DeepCopyObject ¶ added in v1.1.0
func (in *MongoDBReplicasetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MongoDBReplicasetNode ¶ added in v1.1.0
type MongoDBReplicasetNode struct { // Host indicates the host of the MongoDB node. Host string `json:"host"` // Port indicates the port of the MongoDB node. Port int `json:"port"` // Role represents the role of the node in the replica set topology (e.g., primary, secondary, arbiter). Role MongoDBReplicasetRole `json:"role"` // Status indicates whether the node is ready for reads and writes. Status NodeStatus `json:"status"` // State indicates the replica set member state of the MongoDB node. State string `json:"state"` }
func (*MongoDBReplicasetNode) DeepCopy ¶ added in v1.1.0
func (in *MongoDBReplicasetNode) DeepCopy() *MongoDBReplicasetNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBReplicasetNode.
func (*MongoDBReplicasetNode) DeepCopyInto ¶ added in v1.1.0
func (in *MongoDBReplicasetNode) DeepCopyInto(out *MongoDBReplicasetNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBReplicasetRole ¶ added in v1.1.0
type MongoDBReplicasetRole string
MongoDBReplicasetRole defines the mongodb replica set role
const ( // MongoDBReplicasetNodeRolePrimary MongoDB Replica Set Primary node role MongoDBReplicasetNodeRolePrimary MongoDBReplicasetRole = "Primary" // MongoDBReplicasetNodeRoleSecondary MongoDB Replica Set Secondary node role MongoDBReplicasetNodeRoleSecondary MongoDBReplicasetRole = "Secondary" // MongoDBReplicasetNodeRoleArbiter MongoDB Replica Set Arbiter node role MongoDBReplicasetNodeRoleArbiter MongoDBReplicasetRole = "Arbiter" // MongoDBReplicasetNodeRoleNone MongoDB Replica Set None node role MongoDBReplicasetNodeRoleNone MongoDBReplicasetRole = "None" )
type MongoDBReplicasetSecret ¶ added in v1.1.0
type MongoDBReplicasetSecret struct { // Name is the name of the secret resource which store authentication information for MongoDB. Name string `json:"name"` // Mongod is the key of the secret, which contains the value used to connect to MongoDB. // +kubebuilder:default:=mongod Mongod string `json:"mongod"` }
MongoDBReplicasetSecret defines the secret information of MongoDBReplicaset
func (*MongoDBReplicasetSecret) DeepCopy ¶ added in v1.1.0
func (in *MongoDBReplicasetSecret) DeepCopy() *MongoDBReplicasetSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBReplicasetSecret.
func (*MongoDBReplicasetSecret) DeepCopyInto ¶ added in v1.1.0
func (in *MongoDBReplicasetSecret) DeepCopyInto(out *MongoDBReplicasetSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBReplicasetSpec ¶ added in v1.1.0
type MongoDBReplicasetSpec struct { // Secret is the reference to the secret resource containing authentication information, it must be in the same namespace as the MongoDBReplicaset object. Secret MongoDBReplicasetSecret `json:"secret"` // Member is a list of nodes in the MongoDB Replica Set topology. Member CommonNodes `json:"member"` // ReplicaSetName is the name of the MongoDB replica set. ReplicaSetName string `json:"replicaSetName"` }
MongoDBReplicasetSpec defines the desired state of MongoDBReplicaset
func (*MongoDBReplicasetSpec) DeepCopy ¶ added in v1.1.0
func (in *MongoDBReplicasetSpec) DeepCopy() *MongoDBReplicasetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBReplicasetSpec.
func (*MongoDBReplicasetSpec) DeepCopyInto ¶ added in v1.1.0
func (in *MongoDBReplicasetSpec) DeepCopyInto(out *MongoDBReplicasetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBReplicasetStatus ¶ added in v1.1.0
type MongoDBReplicasetStatus struct { // Topology indicates the current MongoDB Replica Set topology. Topology MongoDBReplicasetTopology `json:"topology"` // Ready indicates whether this MongoDBReplicaset object is ready or not. Ready bool `json:"ready"` // Represents a list of detailed status of the MongoDBReplicaset object. // Each condition in the list provides real-time information about certain aspect of the MongoDBReplicaset object. // // This field is crucial for administrators and developers to monitor and respond to changes within the MongoDBReplicaset. // It provides a history of state transitions and a snapshot of the current state that can be used for // automated logic or direct inspection. // // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
MongoDBReplicasetStatus defines the observed state of MongoDBReplicaset
func (*MongoDBReplicasetStatus) DeepCopy ¶ added in v1.1.0
func (in *MongoDBReplicasetStatus) DeepCopy() *MongoDBReplicasetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBReplicasetStatus.
func (*MongoDBReplicasetStatus) DeepCopyInto ¶ added in v1.1.0
func (in *MongoDBReplicasetStatus) DeepCopyInto(out *MongoDBReplicasetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MongoDBReplicasetTopology ¶ added in v1.1.0
type MongoDBReplicasetTopology map[string]*MongoDBReplicasetNode
func (MongoDBReplicasetTopology) DeepCopy ¶ added in v1.1.0
func (in MongoDBReplicasetTopology) DeepCopy() MongoDBReplicasetTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBReplicasetTopology.
func (MongoDBReplicasetTopology) DeepCopyInto ¶ added in v1.1.0
func (in MongoDBReplicasetTopology) DeepCopyInto(out *MongoDBReplicasetTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlGroupReplication ¶
type MysqlGroupReplication struct { // The metadata for the API version and kind of the MysqlReplication. metav1.TypeMeta `json:",inline"` // The metadata for the MysqlReplication object, including name, namespace, labels, and annotations. metav1.ObjectMeta `json:"metadata,omitempty"` // Defines the desired state of the MysqlGroupReplication. Spec MysqlGroupReplicationSpec `json:"spec,omitempty"` // Populated by the system, it represents the current information about the MysqlGroupReplication. Status MysqlGroupReplicationStatus `json:"status,omitempty"` }
MysqlGroupReplication is the Schema for the Mysql Group Replication API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=mgr +kubebuilder:printcolumn:name="READY",type=boolean,JSONPath=`.status.ready` +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
func (*MysqlGroupReplication) DeepCopy ¶
func (in *MysqlGroupReplication) DeepCopy() *MysqlGroupReplication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlGroupReplication.
func (*MysqlGroupReplication) DeepCopyInto ¶
func (in *MysqlGroupReplication) DeepCopyInto(out *MysqlGroupReplication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MysqlGroupReplication) DeepCopyObject ¶
func (in *MysqlGroupReplication) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MysqlGroupReplicationList ¶
type MysqlGroupReplicationList struct { // Contains the metadata for the API objects, including the Kind and Version of the object. metav1.TypeMeta `json:",inline"` // Contains the metadata for the list objects, including the continue and remainingItemCount for the list. metav1.ListMeta `json:"metadata,omitempty"` // Contains the list of MysqlGroupReplication. Items []MysqlGroupReplication `json:"items"` }
MysqlGroupReplicationList contains a list of MysqlGroupReplication +kubebuilder:object:root=true
func (*MysqlGroupReplicationList) DeepCopy ¶
func (in *MysqlGroupReplicationList) DeepCopy() *MysqlGroupReplicationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlGroupReplicationList.
func (*MysqlGroupReplicationList) DeepCopyInto ¶
func (in *MysqlGroupReplicationList) DeepCopyInto(out *MysqlGroupReplicationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MysqlGroupReplicationList) DeepCopyObject ¶
func (in *MysqlGroupReplicationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MysqlGroupReplicationNode ¶
type MysqlGroupReplicationNode struct { // Host indicates the host of the MySQL node. Host string `json:"host"` // Port indicates the port of the MySQL node. Port int `json:"port"` // Role represents the role of the node in the group replication topology (e.g., primary, secondary). Role MysqlGroupReplicationRole `json:"role"` // Ready indicates whether the node is ready for reads and writes. Status NodeStatus `json:"status"` // GtidExecuted indicates the gtid_executed of the MySQL node. GtidExecuted string `json:"gtidExecuted"` // MemberState indicates the member_state of the MySQL node. MemberState string `json:"memberState"` // ReadOnly specifies whether the node is read-only. ReadOnly bool `json:"readonly"` // SuperReadOnly specifies whether the node is super-read-only (i.e., cannot even write to its own database). SuperReadOnly bool `json:"superReadonly"` }
func (*MysqlGroupReplicationNode) DeepCopy ¶
func (in *MysqlGroupReplicationNode) DeepCopy() *MysqlGroupReplicationNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlGroupReplicationNode.
func (*MysqlGroupReplicationNode) DeepCopyInto ¶
func (in *MysqlGroupReplicationNode) DeepCopyInto(out *MysqlGroupReplicationNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlGroupReplicationRole ¶
type MysqlGroupReplicationRole string
MysqlGroupReplicationRole defines the mysql group replication role
const ( // MysqlGroupReplicationNodeRolePrimary MysqlGroupReplication Primary node role MysqlGroupReplicationNodeRolePrimary MysqlGroupReplicationRole = "Primary" // MysqlGroupReplicationNodeRoleSecondary MysqlGroupReplication Secondary node role MysqlGroupReplicationNodeRoleSecondary MysqlGroupReplicationRole = "Secondary" // MysqlGroupReplicationNodeRoleNone MysqlGroupReplication None node role MysqlGroupReplicationNodeRoleNone MysqlGroupReplicationRole = "None" )
type MysqlGroupReplicationSecret ¶
type MysqlGroupReplicationSecret struct { // Name is the name of the secret resource which store authentication information for MySQL. Name string `json:"name"` // Mysql is the key of the secret, which contains the value used to connect to MySQL. // +kubebuilder:default:=mysql Mysql string `json:"mysql"` // Replication is the key of the secret, which contains the value used to set up MySQL Group Replication. // +kubebuilder:default:=replication Replication string `json:"replication"` }
MysqlGroupReplicationSecret defines the secret information of MysqlGroupReplication
func (*MysqlGroupReplicationSecret) DeepCopy ¶
func (in *MysqlGroupReplicationSecret) DeepCopy() *MysqlGroupReplicationSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlGroupReplicationSecret.
func (*MysqlGroupReplicationSecret) DeepCopyInto ¶
func (in *MysqlGroupReplicationSecret) DeepCopyInto(out *MysqlGroupReplicationSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlGroupReplicationSpec ¶
type MysqlGroupReplicationSpec struct { // Secret is the reference to the secret resource containing authentication information, it must be in the same namespace as the MysqlGroupReplication object. Secret MysqlGroupReplicationSecret `json:"secret"` // Member is a list of nodes in the MySQL Group Replication topology. Member CommonNodes `json:"member"` }
MysqlGroupReplicationSpec defines the desired state of MysqlGroupReplication
func (*MysqlGroupReplicationSpec) DeepCopy ¶
func (in *MysqlGroupReplicationSpec) DeepCopy() *MysqlGroupReplicationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlGroupReplicationSpec.
func (*MysqlGroupReplicationSpec) DeepCopyInto ¶
func (in *MysqlGroupReplicationSpec) DeepCopyInto(out *MysqlGroupReplicationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlGroupReplicationStatus ¶
type MysqlGroupReplicationStatus struct { // Topology indicates the current MySQL Group Replication topology. Topology MysqlGroupReplicationTopology `json:"topology"` // Ready indicates whether this MysqlGroupReplication object is ready or not. Ready bool `json:"ready"` // Represents a list of detailed status of the MysqlGroupReplication object. // Each condition in the list provides real-time information about certain aspect of the MysqlGroupReplication object. // // This field is crucial for administrators and developers to monitor and respond to changes within the MysqlGroupReplication. // It provides a history of state transitions and a snapshot of the current state that can be used for // automated logic or direct inspection. // // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
MysqlGroupReplicationStatus defines the observed state of MysqlGroupReplication
func (*MysqlGroupReplicationStatus) DeepCopy ¶
func (in *MysqlGroupReplicationStatus) DeepCopy() *MysqlGroupReplicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlGroupReplicationStatus.
func (*MysqlGroupReplicationStatus) DeepCopyInto ¶
func (in *MysqlGroupReplicationStatus) DeepCopyInto(out *MysqlGroupReplicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlGroupReplicationTopology ¶
type MysqlGroupReplicationTopology map[string]*MysqlGroupReplicationNode
func (MysqlGroupReplicationTopology) DeepCopy ¶
func (in MysqlGroupReplicationTopology) DeepCopy() MysqlGroupReplicationTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlGroupReplicationTopology.
func (MysqlGroupReplicationTopology) DeepCopyInto ¶
func (in MysqlGroupReplicationTopology) DeepCopyInto(out *MysqlGroupReplicationTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlReplication ¶
type MysqlReplication struct { // The metadata for the API version and kind of the MysqlReplication. metav1.TypeMeta `json:",inline"` // The metadata for the MysqlReplication object, including name, namespace, labels, and annotations. metav1.ObjectMeta `json:"metadata,omitempty"` // Defines the desired state of the MysqlReplication. Spec MysqlReplicationSpec `json:"spec,omitempty"` // Populated by the system, it represents the current information about the MysqlReplication. Status MysqlReplicationStatus `json:"status,omitempty"` }
MysqlReplication is the Schema for the Mysql Replication API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=mr +kubebuilder:printcolumn:name="READY",type=boolean,JSONPath=`.status.ready` +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
func (*MysqlReplication) DeepCopy ¶
func (in *MysqlReplication) DeepCopy() *MysqlReplication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlReplication.
func (*MysqlReplication) DeepCopyInto ¶
func (in *MysqlReplication) DeepCopyInto(out *MysqlReplication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MysqlReplication) DeepCopyObject ¶
func (in *MysqlReplication) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MysqlReplicationList ¶
type MysqlReplicationList struct { // Contains the metadata for the API objects, including the Kind and Version of the object. metav1.TypeMeta `json:",inline"` // Contains the metadata for the list objects, including the continue and remainingItemCount for the list. metav1.ListMeta `json:"metadata,omitempty"` // Contains the list of MysqlReplication. Items []MysqlReplication `json:"items"` }
MysqlReplicationList contains a list of MysqlReplication +kubebuilder:object:root=true
func (*MysqlReplicationList) DeepCopy ¶
func (in *MysqlReplicationList) DeepCopy() *MysqlReplicationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlReplicationList.
func (*MysqlReplicationList) DeepCopyInto ¶
func (in *MysqlReplicationList) DeepCopyInto(out *MysqlReplicationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MysqlReplicationList) DeepCopyObject ¶
func (in *MysqlReplicationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MysqlReplicationMode ¶
type MysqlReplicationMode string
MysqlReplicationMode describes how the mysql replication will be handled. Only one of the following sync mode must be specified. +kubebuilder:validation:Enum=rpl_async;rpl_semi_sync
const ( MysqlRplASync MysqlReplicationMode = "rpl_async" MysqlRplSemiSync MysqlReplicationMode = "rpl_semi_sync" )
type MysqlReplicationNode ¶
type MysqlReplicationNode struct { // Host indicates the host of the MySQL node. Host string `json:"host"` // Port indicates the port of the MySQL node. Port int `json:"port"` // Role represents the role of the node in the replication topology (e.g., source, replica). Role MysqlReplicationRole `json:"role"` // Status indicates the current status of the node (e.g., Healthy, Failed). Status NodeStatus `json:"status"` // Ready indicates whether the node is ready for reads and writes. Ready bool `json:"ready"` // ReadOnly specifies whether the node is read-only. ReadOnly bool `json:"readonly"` // SuperReadOnly specifies whether the node is super-read-only (i.e., cannot even write to its own database). SuperReadOnly bool `json:"superReadonly"` // SourceHost indicates the hostname or IP address of the source node that this replica node is replicating from. SourceHost string `json:"sourceHost,omitempty"` // SourcePort indicates the port of the source node that this replica node is replicating from. SourcePort int `json:"sourcePort,omitempty"` // ReplicaIO indicates the status of I/O thread of the replica node. ReplicaIO string `json:"replicaIO,omitempty"` // ReplicaSQL indicates the status of SQL thread of the replica node. ReplicaSQL string `json:"replicaSQL,omitempty"` // ReadSourceLogPos the position in the source node's binary log file where the replica node should start reading from. ReadSourceLogPos int `json:"readSourceLogPos,omitempty"` // SourceLogFile indicates the name of the binary log file on the source node that the replica node should read from. SourceLogFile string `json:"sourceLogFile,omitempty"` // SecondsBehindSource indicates the metric that shows how far behind the source node the replica node is, measured in seconds. SecondsBehindSource *int `json:"secondsBehindSource,omitempty"` // ExecSourceLogPos the position in the source node's binary log file where the replica node should execute from. ExecSourceLogPos int `json:"execSourceLogPos,omitempty"` }
MysqlReplicationNode represents a node in the MySQL replication topology.
func (*MysqlReplicationNode) DeepCopy ¶
func (in *MysqlReplicationNode) DeepCopy() *MysqlReplicationNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlReplicationNode.
func (*MysqlReplicationNode) DeepCopyInto ¶
func (in *MysqlReplicationNode) DeepCopyInto(out *MysqlReplicationNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlReplicationRole ¶
type MysqlReplicationRole string
MysqlReplicationRole defines the mysql replication role
const ( // MysqlReplicationNodeRoleSource MysqlReplication Source node role MysqlReplicationNodeRoleSource MysqlReplicationRole = "Source" // MysqlReplicationNodeRoleReplica MysqlReplication Replica node role MysqlReplicationNodeRoleReplica MysqlReplicationRole = "Replica" // MysqlReplicationNodeRoleNone MysqlReplication None node role MysqlReplicationNodeRoleNone MysqlReplicationRole = "None" )
type MysqlReplicationSecret ¶
type MysqlReplicationSecret struct { // Name is the name of the secret resource which store authentication information for MySQL. Name string `json:"name"` // Mysql is the key of the secret, which contains the value used to connect to MySQL. // +kubebuilder:default:=mysql Mysql string `json:"mysql"` // Replication is the key of the secret, which contains the value used to set up MySQL replication. // +kubebuilder:default:=replication Replication string `json:"replication"` }
MysqlReplicationSecret defines the secret information of MysqlReplication
func (*MysqlReplicationSecret) DeepCopy ¶
func (in *MysqlReplicationSecret) DeepCopy() *MysqlReplicationSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlReplicationSecret.
func (*MysqlReplicationSecret) DeepCopyInto ¶
func (in *MysqlReplicationSecret) DeepCopyInto(out *MysqlReplicationSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlReplicationSpec ¶
type MysqlReplicationSpec struct { // Mode specifies the mysql replication sync mode. // Valid values are: // - "rpl_semi_sync": semi_sync; // - "rpl_async": async; // +optional // +kubebuilder:default:=rpl_async Mode MysqlReplicationMode `json:"mode"` // Secret is the reference to the secret resource containing authentication information, it must be in the same namespace as the MysqlReplication object. Secret MysqlReplicationSecret `json:"secret"` // Source references the source MySQL node. Source *CommonNode `json:"source"` // Service references the service providing the MySQL replication endpoint. Service *Service `json:"service"` // Replica is a list of replica nodes in the MySQL replication topology. Replica ReplicaNodes `json:"replica,omitempty"` }
MysqlReplicationSpec defines the desired state of MysqlReplication
func (*MysqlReplicationSpec) DeepCopy ¶
func (in *MysqlReplicationSpec) DeepCopy() *MysqlReplicationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlReplicationSpec.
func (*MysqlReplicationSpec) DeepCopyInto ¶
func (in *MysqlReplicationSpec) DeepCopyInto(out *MysqlReplicationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlReplicationStatus ¶
type MysqlReplicationStatus struct { // Topology indicates the current MySQL replication topology. Topology MysqlReplicationTopology `json:"topology"` // ReadWriteService specify the service name provides read-write access to database. ReadWriteService string `json:"readwriteService"` // ReadOnlyService specify the service name provides read-only access to database. ReadOnlyService string `json:"readonlyService,omitempty"` // Ready indicates whether this MysqlReplication object is ready or not. Ready bool `json:"ready"` // Represents a list of detailed status of the MysqlReplication object. // Each condition in the list provides real-time information about certain aspect of the MysqlReplication object. // // This field is crucial for administrators and developers to monitor and respond to changes within the MysqlReplication. // It provides a history of state transitions and a snapshot of the current state that can be used for // automated logic or direct inspection. // // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
MysqlReplicationStatus defines the observed state of MysqlReplication
func (*MysqlReplicationStatus) DeepCopy ¶
func (in *MysqlReplicationStatus) DeepCopy() *MysqlReplicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlReplicationStatus.
func (*MysqlReplicationStatus) DeepCopyInto ¶
func (in *MysqlReplicationStatus) DeepCopyInto(out *MysqlReplicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MysqlReplicationTopology ¶
type MysqlReplicationTopology map[string]*MysqlReplicationNode
MysqlReplicationTopology defines the MysqlReplication topology
func (MysqlReplicationTopology) DeepCopy ¶
func (in MysqlReplicationTopology) DeepCopy() MysqlReplicationTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MysqlReplicationTopology.
func (MysqlReplicationTopology) DeepCopyInto ¶
func (in MysqlReplicationTopology) DeepCopyInto(out *MysqlReplicationTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeStatus ¶
type NodeStatus string
NodeStatus defines node status
const ( // NodeStatusOK Status OK NodeStatusOK NodeStatus = "Healthy" // NodeStatusKO Status KO NodeStatusKO NodeStatus = "Failed" )
type PostgresReplication ¶
type PostgresReplication struct { // The metadata for the API version and kind of the PostgresReplication. metav1.TypeMeta `json:",inline"` // The metadata for the PostgresReplication object, including name, namespace, labels, and annotations. metav1.ObjectMeta `json:"metadata,omitempty"` // Defines the desired state of the PostgresReplication. Spec PostgresReplicationSpec `json:"spec,omitempty"` // Populated by the system, it represents the current information about the PostgresReplication. Status PostgresReplicationStatus `json:"status,omitempty"` }
PostgresReplication is the Schema for the Postgres Replications API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=pr +kubebuilder:printcolumn:name="READY",type=boolean,JSONPath=`.status.ready` +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
func (*PostgresReplication) DeepCopy ¶
func (in *PostgresReplication) DeepCopy() *PostgresReplication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresReplication.
func (*PostgresReplication) DeepCopyInto ¶
func (in *PostgresReplication) DeepCopyInto(out *PostgresReplication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresReplication) DeepCopyObject ¶
func (in *PostgresReplication) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresReplicationList ¶
type PostgresReplicationList struct { // Contains the metadata for the API objects, including the Kind and Version of the object. metav1.TypeMeta `json:",inline"` // Contains the metadata for the list objects, including the continue and remainingItemCount for the list. metav1.ListMeta `json:"metadata,omitempty"` // Contains the list of PostgresReplication. Items []PostgresReplication `json:"items"` }
PostgresReplicationList contains a list of PostgresReplication +kubebuilder:object:root=true
func (*PostgresReplicationList) DeepCopy ¶
func (in *PostgresReplicationList) DeepCopy() *PostgresReplicationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresReplicationList.
func (*PostgresReplicationList) DeepCopyInto ¶
func (in *PostgresReplicationList) DeepCopyInto(out *PostgresReplicationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresReplicationList) DeepCopyObject ¶
func (in *PostgresReplicationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresReplicationMode ¶
type PostgresReplicationMode string
PostgresReplicationMode describes how the postgres stream replication will be handled. Only one of the following sync mode must be specified. +kubebuilder:validation:Enum=rpl_async;rpl_sync
const ( PostgresRplAsync PostgresReplicationMode = "rpl_async" PostgresRplSync PostgresReplicationMode = "rpl_sync" )
type PostgresReplicationNode ¶
type PostgresReplicationNode struct { // Host indicates the host of the MySQL node. Host string `json:"host"` // Port indicates the port of the MySQL node. Port int `json:"port"` // Role represents the role of the node in the replication topology (e.g., primary, standby). Role PostgresReplicationRole `json:"role"` // Status indicates the current status of the node (e.g., Healthy, Failed). Status NodeStatus `json:"status"` // Ready indicates whether the node is ready for reads and writes. Ready bool `json:"ready"` // WalDiff indicates the standby node pg_wal_lsn_diff(pg_last_wal_replay_lsn(), pg_last_wal_receive_lsn()). WalDiff *int `json:"walDiff,omitempty"` }
PostgresReplicationNode represents a node in the Postgres replication topology.
func (*PostgresReplicationNode) DeepCopy ¶
func (in *PostgresReplicationNode) DeepCopy() *PostgresReplicationNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresReplicationNode.
func (*PostgresReplicationNode) DeepCopyInto ¶
func (in *PostgresReplicationNode) DeepCopyInto(out *PostgresReplicationNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresReplicationRole ¶
type PostgresReplicationRole string
PostgresReplicationRole defines the postgres replication role
const ( // PostgresReplicationRolePrimary PostgresReplicationRole Primary node role PostgresReplicationRolePrimary PostgresReplicationRole = "Primary" // PostgresReplicationRoleStandby PostgresReplicationRole Standby node role PostgresReplicationRoleStandby PostgresReplicationRole = "Standby" // PostgresReplicationRoleNone PostgresReplicationRole None node role PostgresReplicationRoleNone PostgresReplicationRole = "None" )
type PostgresReplicationSecret ¶
type PostgresReplicationSecret struct { // Name is the name of the secret resource which store authentication information for Postgres. Name string `json:"name"` // Mysql is the key of the secret, which contains the value used to connect to Postgres. // +kubebuilder:default:=postgres Postgresql string `json:"postgres"` // Replication is the key of the secret, which contains the value used to set up Postgres replication. // +kubebuilder:default:=replication Replication string `json:"replication"` }
PostgresReplicationSecret defines the secret information of PostgresqlReplication
func (*PostgresReplicationSecret) DeepCopy ¶
func (in *PostgresReplicationSecret) DeepCopy() *PostgresReplicationSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresReplicationSecret.
func (*PostgresReplicationSecret) DeepCopyInto ¶
func (in *PostgresReplicationSecret) DeepCopyInto(out *PostgresReplicationSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresReplicationSpec ¶
type PostgresReplicationSpec struct { // Mode specifies the postgres replication sync mode. // Valid values are: // - "rpl_sync": sync; // - "rpl_async": async; // +optional // +kubebuilder:default:=rpl_async Mode PostgresReplicationMode `json:"mode"` // Secret is the reference to the secret resource containing authentication information, it must be in the same namespace as the PostgresReplication object. Secret PostgresReplicationSecret `json:"secret"` // Primary references the primary Postgres node. Primary *CommonNode `json:"primary"` // Service references the service providing the Postgres replication endpoint. Service *Service `json:"service"` // Standby is a list of standby nodes in the Postgres replication topology. Standby CommonNodes `json:"standby,omitempty"` }
PostgresReplicationSpec defines the desired state of PostgresReplication
func (*PostgresReplicationSpec) DeepCopy ¶
func (in *PostgresReplicationSpec) DeepCopy() *PostgresReplicationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresReplicationSpec.
func (*PostgresReplicationSpec) DeepCopyInto ¶
func (in *PostgresReplicationSpec) DeepCopyInto(out *PostgresReplicationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresReplicationStatus ¶
type PostgresReplicationStatus struct { // Topology indicates the current Postgres replication topology. Topology PostgresReplicationTopology `json:"topology"` // ReadWriteService specify the service name provides read-write access to database. ReadWriteService string `json:"readwriteService"` // ReadOnlyService specify the service name provides read-only access to database. ReadOnlyService string `json:"readonlyService,omitempty"` // Ready indicates whether this PostgresReplication object is read or not. Ready bool `json:"ready"` // Represents a list of detailed status of the PostgresReplication object. // Each condition in the list provides real-time information about certain aspect of the PostgresReplication object. // // This field is crucial for administrators and developers to monitor and respond to changes within the PostgresReplication. // It provides a history of state transitions and a snapshot of the current state that can be used for // automated logic or direct inspection. // // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
PostgresReplicationStatus defines the observed state of PostgresReplication
func (*PostgresReplicationStatus) DeepCopy ¶
func (in *PostgresReplicationStatus) DeepCopy() *PostgresReplicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresReplicationStatus.
func (*PostgresReplicationStatus) DeepCopyInto ¶
func (in *PostgresReplicationStatus) DeepCopyInto(out *PostgresReplicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresReplicationTopology ¶
type PostgresReplicationTopology map[string]*PostgresReplicationNode
PostgresReplicationTopology defines the PostgresReplication topology
func (PostgresReplicationTopology) DeepCopy ¶
func (in PostgresReplicationTopology) DeepCopy() PostgresReplicationTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresReplicationTopology.
func (PostgresReplicationTopology) DeepCopyInto ¶
func (in PostgresReplicationTopology) DeepCopyInto(out *PostgresReplicationTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxysqlSync ¶
type ProxysqlSync struct { // The metadata for the API version and kind of the ProxysqlSync. metav1.TypeMeta `json:",inline"` // The metadata for the ProxysqlSync object, including name, namespace, labels, and annotations. metav1.ObjectMeta `json:"metadata,omitempty"` // Defines the desired state of the ProxysqlSync. Spec ProxysqlSyncSpec `json:"spec,omitempty"` // Populated by the system, it represents the current information about the ProxysqlSync. Status ProxysqlSyncStatus `json:"status,omitempty"` }
ProxysqlSync is the Schema for the proxysqlsyncs API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=ps +kubebuilder:printcolumn:name="READY",type=boolean,JSONPath=`.status.ready` +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
func (*ProxysqlSync) DeepCopy ¶
func (in *ProxysqlSync) DeepCopy() *ProxysqlSync
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxysqlSync.
func (*ProxysqlSync) DeepCopyInto ¶
func (in *ProxysqlSync) DeepCopyInto(out *ProxysqlSync)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxysqlSync) DeepCopyObject ¶
func (in *ProxysqlSync) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxysqlSyncList ¶
type ProxysqlSyncList struct { // Contains the metadata for the API objects, including the Kind and Version of the object. metav1.TypeMeta `json:",inline"` // Contains the metadata for the list objects, including the continue and remainingItemCount for the list. metav1.ListMeta `json:"metadata,omitempty"` // Contains the list of ProxysqlSync. Items []ProxysqlSync `json:"items"` }
ProxysqlSyncList contains a list of ProxysqlSync +kubebuilder:object:root=true
func (*ProxysqlSyncList) DeepCopy ¶
func (in *ProxysqlSyncList) DeepCopy() *ProxysqlSyncList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxysqlSyncList.
func (*ProxysqlSyncList) DeepCopyInto ¶
func (in *ProxysqlSyncList) DeepCopyInto(out *ProxysqlSyncList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxysqlSyncList) DeepCopyObject ¶
func (in *ProxysqlSyncList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxysqlSyncNode ¶
type ProxysqlSyncNode struct { // Users references the user list synced from MySQL to ProxySQL Users []string `json:"users,omitempty"` // Ready references whether ProxySQL server synced from MysqlReplication is correct. Synced bool `json:"synced"` }
func (*ProxysqlSyncNode) DeepCopy ¶
func (in *ProxysqlSyncNode) DeepCopy() *ProxysqlSyncNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxysqlSyncNode.
func (*ProxysqlSyncNode) DeepCopyInto ¶
func (in *ProxysqlSyncNode) DeepCopyInto(out *ProxysqlSyncNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxysqlSyncSecret ¶
type ProxysqlSyncSecret struct { // Name is the name of the secret resource which store authentication information for MySQL and ProxySQL. Name string `json:"name"` // Proxysql is the key of the secret, which contains the value used to connect to ProxySQL. Proxysql string `json:"proxysql"` // Mysql is the key of the secret, which contains the value used to connect to MySQL. Mysql string `json:"mysql"` }
ProxysqlSyncSecret defines the secret information of ProxysqlSync
func (*ProxysqlSyncSecret) DeepCopy ¶
func (in *ProxysqlSyncSecret) DeepCopy() *ProxysqlSyncSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxysqlSyncSecret.
func (*ProxysqlSyncSecret) DeepCopyInto ¶
func (in *ProxysqlSyncSecret) DeepCopyInto(out *ProxysqlSyncSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxysqlSyncSpec ¶
type ProxysqlSyncSpec struct { // Proxysql references the list of proxysql nodes. Proxysql CommonNodes `json:"proxysql"` // Secret is the reference to the secret resource containing authentication information, it must be in the same namespace as the ProxysqlSync object. Secret ProxysqlSyncSecret `json:"secret"` // MysqlReplication references the name of MysqlReplication. MysqlReplication string `json:"mysqlReplication"` // Rule references the rule of sync users from MySQL to ProxySQL. Rule *Rule `json:"rule"` }
ProxysqlSyncSpec defines the desired state of ProxysqlSync
func (*ProxysqlSyncSpec) DeepCopy ¶
func (in *ProxysqlSyncSpec) DeepCopy() *ProxysqlSyncSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxysqlSyncSpec.
func (*ProxysqlSyncSpec) DeepCopyInto ¶
func (in *ProxysqlSyncSpec) DeepCopyInto(out *ProxysqlSyncSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxysqlSyncStatus ¶
type ProxysqlSyncStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "make" to regenerate code after modifying this file Topology ProxysqlSyncTopology `json:"topology"` Ready bool `json:"ready"` // Represents a list of detailed status of the RedisCluster object. // Each condition in the list provides real-time information about certain aspect of the RedisCluster object. // // This field is crucial for administrators and developers to monitor and respond to changes within the RedisCluster. // It provides a history of state transitions and a snapshot of the current state that can be used for // automated logic or direct inspection. // // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
ProxysqlSyncStatus defines the observed state of ProxysqlSync
func (*ProxysqlSyncStatus) DeepCopy ¶
func (in *ProxysqlSyncStatus) DeepCopy() *ProxysqlSyncStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxysqlSyncStatus.
func (*ProxysqlSyncStatus) DeepCopyInto ¶
func (in *ProxysqlSyncStatus) DeepCopyInto(out *ProxysqlSyncStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxysqlSyncTopology ¶
type ProxysqlSyncTopology map[string]*ProxysqlSyncNode
ProxysqlSyncTopology defines the ProxysqlSync topology
func (ProxysqlSyncTopology) DeepCopy ¶
func (in ProxysqlSyncTopology) DeepCopy() ProxysqlSyncTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxysqlSyncTopology.
func (ProxysqlSyncTopology) DeepCopyInto ¶
func (in ProxysqlSyncTopology) DeepCopyInto(out *ProxysqlSyncTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisCluster ¶
type RedisCluster struct { // The metadata for the API version and kind of the RedisCluster. metav1.TypeMeta `json:",inline"` // The metadata for the RedisCluster object, including name, namespace, labels, and annotations. metav1.ObjectMeta `json:"metadata,omitempty"` // Defines the desired state of the RedisCluster. Spec RedisClusterSpec `json:"spec,omitempty"` // Populated by the system, it represents the current information about the RedisCluster. Status RedisClusterStatus `json:"status,omitempty"` }
RedisCluster is the Schema for the Redis Cluster API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=rcc +kubebuilder:printcolumn:name="SHARD",type=integer,JSONPath=`.status.numberOfShard` +kubebuilder:printcolumn:name="READY",type=boolean,JSONPath=`.status.ready` +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
func (*RedisCluster) DeepCopy ¶
func (in *RedisCluster) DeepCopy() *RedisCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCluster.
func (*RedisCluster) DeepCopyInto ¶
func (in *RedisCluster) DeepCopyInto(out *RedisCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RedisCluster) DeepCopyObject ¶
func (in *RedisCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RedisClusterList ¶
type RedisClusterList struct { // Contains the metadata for the API objects, including the Kind and Version of the object. metav1.TypeMeta `json:",inline"` // Contains the metadata for the list objects, including the continue and remainingItemCount for the list. metav1.ListMeta `json:"metadata,omitempty"` // Contains the list of RedisCluster. Items []RedisCluster `json:"items"` }
RedisClusterList contains a list of RedisCluster +kubebuilder:object:root=true
func (*RedisClusterList) DeepCopy ¶
func (in *RedisClusterList) DeepCopy() *RedisClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisClusterList.
func (*RedisClusterList) DeepCopyInto ¶
func (in *RedisClusterList) DeepCopyInto(out *RedisClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RedisClusterList) DeepCopyObject ¶
func (in *RedisClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RedisClusterNode ¶
type RedisClusterNode struct { // ID represents the id of the Redis node. ID string `json:"id"` // Role represents the role of the node in the redis cluster topology (e.g., source, replica). Role RedisClusterNodeRole `json:"role"` // Status indicates the current status of the node (e.g., Healthy, Failed). Status NodeStatus `json:"status"` // Host indicates the host of the Redis node. Host string `json:"host"` // Port indicates the port of the Redis node. Port int `json:"port"` // Slots indicates the slots assigned to this Redis node. Slots []string `json:"slots,omitempty"` // MasterRef indicates which source node this replica node reference. MasterRef string `json:"masterRef,omitempty"` // Shard indicates which shard this node belong with. Shard string `json:"shard"` // Ready indicates whether the node is ready for reads and writes. Ready bool `json:"ready"` }
RedisClusterNode represent a RedisCluster Node
func (*RedisClusterNode) DeepCopy ¶
func (in *RedisClusterNode) DeepCopy() *RedisClusterNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisClusterNode.
func (*RedisClusterNode) DeepCopyInto ¶
func (in *RedisClusterNode) DeepCopyInto(out *RedisClusterNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisClusterNodeRole ¶
type RedisClusterNodeRole string
RedisClusterNodeRole defines the redis cluster role
const ( // RedisClusterNodeRoleSource RedisCluster Source node role RedisClusterNodeRoleSource RedisClusterNodeRole = "Source" // RedisClusterNodeRoleReplica RedisCluster Replica node role RedisClusterNodeRoleReplica RedisClusterNodeRole = "Replica" // RedisClusterNodeRoleNone RedisCluster None node role RedisClusterNodeRoleNone RedisClusterNodeRole = "None" )
type RedisClusterSecret ¶
type RedisClusterSecret struct { // Name is the name of the secret resource which store authentication information for Redis. Name string `json:"name"` // Redis is the key of the secret, which contains the value used to connect to Redis. Redis string `json:"redis"` }
RedisClusterSecret defines the secret information of RedisCluster
func (*RedisClusterSecret) DeepCopy ¶
func (in *RedisClusterSecret) DeepCopy() *RedisClusterSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisClusterSecret.
func (*RedisClusterSecret) DeepCopyInto ¶
func (in *RedisClusterSecret) DeepCopyInto(out *RedisClusterSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisClusterSpec ¶
type RedisClusterSpec struct { // Secret is the reference to the secret resource containing authentication information, it must be in the same namespace as the RedisReplication object. Secret RedisClusterSecret `json:"secret"` // Members is a list of nodes in the Redis Cluster topology. Members map[string]CommonNodes `json:"members"` }
RedisClusterSpec defines the desired state of RedisCluster
func (*RedisClusterSpec) DeepCopy ¶
func (in *RedisClusterSpec) DeepCopy() *RedisClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisClusterSpec.
func (*RedisClusterSpec) DeepCopyInto ¶
func (in *RedisClusterSpec) DeepCopyInto(out *RedisClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisClusterStatus ¶
type RedisClusterStatus struct { // Topology indicates the current Redis replication topology. Topology RedisClusterTopology `json:"topology"` // NumberOfShard indicates the number of Redis Cluster shard. NumberOfShard int `json:"numberOfShard"` // ClusterJoined indicates whether all node have joined the cluster. ClusterJoined bool `json:"clusterJoined"` // ClusterJoined indicates whether all node in this cluster have synced. ClusterSynced bool `json:"clusterSynced"` // Ready indicates whether this RedisCluster object is read or not. Ready bool `json:"ready"` // Represents a list of detailed status of the RedisCluster object. // Each condition in the list provides real-time information about certain aspect of the RedisCluster object. // // This field is crucial for administrators and developers to monitor and respond to changes within the RedisCluster. // It provides a history of state transitions and a snapshot of the current state that can be used for // automated logic or direct inspection. // // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
RedisClusterStatus defines the observed state of RedisCluster
func (*RedisClusterStatus) DeepCopy ¶
func (in *RedisClusterStatus) DeepCopy() *RedisClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisClusterStatus.
func (*RedisClusterStatus) DeepCopyInto ¶
func (in *RedisClusterStatus) DeepCopyInto(out *RedisClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisClusterTopology ¶
type RedisClusterTopology map[string]*RedisClusterNode
RedisClusterTopology defines the RedisCluster topology
func (RedisClusterTopology) DeepCopy ¶
func (in RedisClusterTopology) DeepCopy() RedisClusterTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisClusterTopology.
func (RedisClusterTopology) DeepCopyInto ¶
func (in RedisClusterTopology) DeepCopyInto(out *RedisClusterTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisReplication ¶
type RedisReplication struct { // The metadata for the API version and kind of the RedisReplication. metav1.TypeMeta `json:",inline"` // The metadata for the RedisReplication object, including name, namespace, labels, and annotations. metav1.ObjectMeta `json:"metadata,omitempty"` // Defines the desired state of the RedisReplication. Spec RedisReplicationSpec `json:"spec,omitempty"` // Populated by the system, it represents the current information about the RedisReplication. Status RedisReplicationStatus `json:"status,omitempty"` }
RedisReplication is the Schema for the Redis Replication API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=rr +kubebuilder:printcolumn:name="READY",type=boolean,JSONPath=`.status.ready` +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
func (*RedisReplication) DeepCopy ¶
func (in *RedisReplication) DeepCopy() *RedisReplication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisReplication.
func (*RedisReplication) DeepCopyInto ¶
func (in *RedisReplication) DeepCopyInto(out *RedisReplication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RedisReplication) DeepCopyObject ¶
func (in *RedisReplication) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RedisReplicationList ¶
type RedisReplicationList struct { // Contains the metadata for the API objects, including the Kind and Version of the object. metav1.TypeMeta `json:",inline"` // Contains the metadata for the list objects, including the continue and remainingItemCount for the list. metav1.ListMeta `json:"metadata,omitempty"` // Contains the list of RedisReplication. Items []RedisReplication `json:"items"` }
RedisReplicationList contains a list of RedisReplication +kubebuilder:object:root=true
func (*RedisReplicationList) DeepCopy ¶
func (in *RedisReplicationList) DeepCopy() *RedisReplicationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisReplicationList.
func (*RedisReplicationList) DeepCopyInto ¶
func (in *RedisReplicationList) DeepCopyInto(out *RedisReplicationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RedisReplicationList) DeepCopyObject ¶
func (in *RedisReplicationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RedisReplicationNode ¶
type RedisReplicationNode struct { // Host indicates the host of the Redis node. Host string `json:"host"` // Port indicates the port of the Redis node. Port int `json:"port"` // Role represents the role of the node in the replication topology (e.g., source, replica). Role RedisReplicationRole `json:"role"` // Status indicates the current status of the node (e.g., Healthy, Failed). Status NodeStatus `json:"status"` // Ready indicates whether the node is ready for reads and writes. Ready bool `json:"ready"` // SourceHost indicates the hostname or IP address of the source node that this replica node is replicating from. SourceHost string `json:"sourceHost,omitempty"` // SourcePort indicates the port of the source node that this replica node is replicating from. SourcePort int `json:"sourcePort,omitempty"` }
RedisReplicationNode represents a node in the Redis replication topology.
func (*RedisReplicationNode) DeepCopy ¶
func (in *RedisReplicationNode) DeepCopy() *RedisReplicationNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisReplicationNode.
func (*RedisReplicationNode) DeepCopyInto ¶
func (in *RedisReplicationNode) DeepCopyInto(out *RedisReplicationNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisReplicationRole ¶
type RedisReplicationRole string
RedisReplicationRole defines the redis replication role
const ( // RedisReplicationNodeRoleSource RedisReplication Source node role RedisReplicationNodeRoleSource RedisReplicationRole = "Source" // RedisReplicationNodeRoleReplica RedisReplication Replica node role RedisReplicationNodeRoleReplica RedisReplicationRole = "Replica" // RedisReplicationNodeRoleNone RedisReplication None node role RedisReplicationNodeRoleNone RedisReplicationRole = "None" )
type RedisReplicationSecret ¶
type RedisReplicationSecret struct { // Name is the name of the secret resource which store authentication information for Redis. Name string `json:"name"` // Redis is the key of the secret, which contains the value used to connect to Redis. Redis string `json:"redis"` }
RedisReplicationSecret defines the secret information of RedisReplication
func (*RedisReplicationSecret) DeepCopy ¶
func (in *RedisReplicationSecret) DeepCopy() *RedisReplicationSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisReplicationSecret.
func (*RedisReplicationSecret) DeepCopyInto ¶
func (in *RedisReplicationSecret) DeepCopyInto(out *RedisReplicationSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisReplicationSpec ¶
type RedisReplicationSpec struct { // Secret is the reference to the secret resource containing authentication information, it must be in the same namespace as the RedisReplication object. Secret RedisReplicationSecret `json:"secret"` // Source references the source Redis node. Source *CommonNode `json:"source"` // Replica is a list of replica nodes in the Redis replication topology. Replica CommonNodes `json:"replica,omitempty"` // Service references the service providing the Redis replication endpoint. Service *Service `json:"service"` // Sentinel is a list of Redis Sentinel node addresses for high availability monitoring. Sentinel []string `json:"sentinel,omitempty"` }
RedisReplicationSpec defines the desired state of RedisReplication
func (*RedisReplicationSpec) DeepCopy ¶
func (in *RedisReplicationSpec) DeepCopy() *RedisReplicationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisReplicationSpec.
func (*RedisReplicationSpec) DeepCopyInto ¶
func (in *RedisReplicationSpec) DeepCopyInto(out *RedisReplicationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisReplicationStatus ¶
type RedisReplicationStatus struct { // Topology indicates the current Redis replication topology. Topology RedisReplicationTopology `json:"topology"` // ReadWriteService specify the service name provides read-write access to database. ReadWriteService string `json:"readwriteService"` // ReadOnlyService specify the service name provides read-only access to database. ReadOnlyService string `json:"readonlyService,omitempty"` // Ready indicates whether this RedisReplication object is read or not. Ready bool `json:"ready"` // Represents a list of detailed status of the RedisReplication object. // Each condition in the list provides real-time information about certain aspect of the RedisReplication object. // // This field is crucial for administrators and developers to monitor and respond to changes within the RedisReplication. // It provides a history of state transitions and a snapshot of the current state that can be used for // automated logic or direct inspection. // // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
RedisReplicationStatus defines the observed state of RedisReplication
func (*RedisReplicationStatus) DeepCopy ¶
func (in *RedisReplicationStatus) DeepCopy() *RedisReplicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisReplicationStatus.
func (*RedisReplicationStatus) DeepCopyInto ¶
func (in *RedisReplicationStatus) DeepCopyInto(out *RedisReplicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisReplicationTopology ¶
type RedisReplicationTopology map[string]*RedisReplicationNode
RedisReplicationTopology defines the RedisReplication topology
func (RedisReplicationTopology) DeepCopy ¶
func (in RedisReplicationTopology) DeepCopy() RedisReplicationTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisReplicationTopology.
func (RedisReplicationTopology) DeepCopyInto ¶
func (in RedisReplicationTopology) DeepCopyInto(out *RedisReplicationTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicaNode ¶
type ReplicaNode struct { CommonNode `json:",inline"` // Embed base fields from CommonNode // Isolated indicates whether this node will be isolated. // If not specified, it defaults to false. // +kubebuilder:default=false // +optional Isolated bool `json:"isolated,omitempty"` }
ReplicaNode is a CommonNode with additional replication-specific info
func (*ReplicaNode) DeepCopy ¶
func (in *ReplicaNode) DeepCopy() *ReplicaNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaNode.
func (*ReplicaNode) DeepCopyInto ¶
func (in *ReplicaNode) DeepCopyInto(out *ReplicaNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicaNodes ¶
type ReplicaNodes []*ReplicaNode
func (ReplicaNodes) DeepCopy ¶
func (in ReplicaNodes) DeepCopy() ReplicaNodes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaNodes.
func (ReplicaNodes) DeepCopyInto ¶
func (in ReplicaNodes) DeepCopyInto(out *ReplicaNodes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Rule ¶
Rule defines the proxysqlsync rule
func (*Rule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule.
func (*Rule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Service ¶
type Service struct { //Type string describes ingress methods for a service // +kubebuilder:default:=ClusterIP Type ServiceType `json:"type"` }
Service reflection of kubernetes service
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceType ¶
type ServiceType string
ServiceType reflection of kubernetes service type +kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer;ExternalName
const ( // ServiceTypeClusterIP means a service will only be accessible inside the // cluster, via the cluster IP. ServiceTypeClusterIP ServiceType = "ClusterIP" // ServiceTypeNodePort means a service will be exposed on one port of // every node, in addition to 'ClusterIP' type. ServiceTypeNodePort ServiceType = "NodePort" // ServiceTypeLoadBalancer means a service will be exposed via an // external load balancer (if the cloud provider supports it), in addition // to 'NodePort' type. ServiceTypeLoadBalancer ServiceType = "LoadBalancer" // ServiceTypeExternalName means a service consists of only a reference to // an external name that kubedns or equivalent will return as a CNAME // record, with no exposing or proxying of any pods involved. ServiceTypeExternalName ServiceType = "ExternalName" )