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 DefaultMysqlReplicationOwnerReferences(instance *MysqlReplication) []metav1.OwnerReference
- func DefaultPostgresReplicationOwnerReferences(instance *PostgresReplication) []metav1.OwnerReference
- func DefaultRedisReplicationOwnerReferences(instance *RedisReplication) []metav1.OwnerReference
- type CommonNode
- type CommonNodes
- 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 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 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"`
}
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"` // 嵌入基础字段
// 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" )