Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Condition ¶
type Condition struct {
// Type is the type of the condition
Type ConditionType `json:"type"`
// Status is the status of the condition
Status corev1.ConditionStatus `json:"status"`
// Last time we probed the condition.
// +optional
LastProbeTime *metav1.Time `json:"lastProbeTime,omitempty"`
// Last time the condition transition from one status to another.
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// Unique, one-word, CamelCase reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty"`
// Human-readable message indicating details about last transition.
// +optional
Message string `json:"message,omitempty"`
}
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionType ¶
type ConditionType string
const ( // PodsReady indicates whether all pods in the cluster are ready. PodsReady ConditionType = "PodsReady" // LeaderReady indicates whether leader is elected in the cluster and ready for requests. LeaderReady ConditionType = "LeaderReady" // BinlogPurged indicates whether older binlog files are purged. BinlogPurged ConditionType = "BinlogPurged" // Restorable indicates whether the cluster is restorable. Restorable ConditionType = "Restorable" )
Valid xstore condition types.
type Config ¶
type Config struct {
Dynamic ControllerConfig `json:"controller,omitempty"`
Engine EngineConfig `json:"engine,omitempty"`
}
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerConfig ¶
type ControllerConfig struct {
LogPurgeInterval *metav1.Duration `json:"logPurgeInterval,omitempty"`
// DiskQuota is the limit of data current node can use. This is a soft limit.
// +optional
DiskQuota *resource.Quantity `json:"diskQuota,omitempty"`
}
func (*ControllerConfig) DeepCopy ¶
func (in *ControllerConfig) DeepCopy() *ControllerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfig.
func (*ControllerConfig) DeepCopyInto ¶
func (in *ControllerConfig) DeepCopyInto(out *ControllerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EngineConfig ¶
type EngineConfig struct {
Template *common.Value `json:"template,omitempty"`
Override *common.Value `json:"override,omitempty"`
}
func (*EngineConfig) DeepCopy ¶
func (in *EngineConfig) DeepCopy() *EngineConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EngineConfig.
func (*EngineConfig) DeepCopyInto ¶
func (in *EngineConfig) DeepCopyInto(out *EngineConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostPathVolume ¶
type HostPathVolume struct {
// Host or node name if the volume is bound to some node.
Host string `json:"host,omitempty"`
// Pod if the volume is bound to some pod.
Pod string `json:"pod,omitempty"`
// HostPath of the file/dir.
HostPath string `json:"hostPath,omitempty"`
// Type of the host path.
Type corev1.HostPathType `json:"type,omitempty"`
// Size of the volume.
Size int64 `json:"size,omitempty"`
}
func (*HostPathVolume) DeepCopy ¶
func (in *HostPathVolume) DeepCopy() *HostPathVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostPathVolume.
func (*HostPathVolume) DeepCopyInto ¶
func (in *HostPathVolume) DeepCopyInto(out *HostPathVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeRole ¶
type NodeRole string
const ( // RoleLeader means it can handle read and write requests both. It's logs are distributed // by consensus protocols. RoleLeader NodeRole = "Leader" // RoleFollower keeps in consistent with leader in either logs and materialized data. // It can handle consistent reads but can not handle write requests. RoleFollower NodeRole = "Follower" // RoleLogger means voter below. RoleLogger NodeRole = "logger" // RoleLearner means that it just learns the logs and never guarantees to // catch up at any given time. RoleLearner NodeRole = "Learner" // RoleCandidate means that can either be leader or follower. RoleCandidate NodeRole = "Candidate" // RoleVoter means that it's a logger, keep in consistent with candidates in log but can // never be voted to be a leader. RoleVoter NodeRole = "Voter" )
func FromNodeRoleValue ¶
type NodeSet ¶
type NodeSet struct {
// Name is the name of this node set. Must be unique in specification.
Name string `json:"name,omitempty"`
// Role is the role of nodes defined by this node set.
Role NodeRole `json:"role,omitempty"`
// Replicas is the number of nodes in this node set.
// +kubebuilder:validation:Minimum=1
Replicas int32 `json:"replicas,omitempty"`
// Template defines the customized template of nodes in current node set. If not
// specified, controller should use the global template instead. If partially
// specified, the value used is merged with determined strategy.
// +optional
Template *NodeTemplate `json:"template,omitempty"`
}
NodeSet defines a set of xstore nodes shares the same role and template.
func (*NodeSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSet.
func (*NodeSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeSpec ¶
type NodeSpec struct {
// Image is the image of xstore engine. Controller should fill a default image
// if not specified.
Image string `json:"image,omitempty"`
// ImagePullPolicy describes a policy for if/when to pull a container image (especially
// for the engine container).
ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
// ImagePullSecrets represents the secrets for pulling private images.
ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
// HostNetwork defines whether the node uses the host network. Default is true.
HostNetwork *bool `json:"hostNetwork,omitempty"`
// Affinity defines the affinity of the node (pod).
// +optional
Affinity *v1.Affinity `json:"affinity,omitempty"`
// Resources is the requested resources of the node.
Resources *common.ExtendedResourceRequirements `json:"resources,omitempty"`
}
NodeSpec defines the specification of a xstore node.
func (*NodeSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSpec.
func (*NodeSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeTemplate ¶
type NodeTemplate struct {
// ObjectMeta is the metadata template only contains labels and annotations.
ObjectMeta common.PartialObjectMeta `json:"metadata,omitempty"`
// Spec is the specification of xstore node.
Spec NodeSpec `json:"spec,omitempty"`
}
NodeTemplate defines the template of a xstore node.
func (*NodeTemplate) DeepCopy ¶
func (in *NodeTemplate) DeepCopy() *NodeTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplate.
func (*NodeTemplate) DeepCopyInto ¶
func (in *NodeTemplate) DeepCopyInto(out *NodeTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Phase ¶
type Phase string
const ( PhaseNew Phase = "" PhasePending Phase = "Pending" PhaseCreating Phase = "Creating" PhaseRunning Phase = "Running" PhaseLocked Phase = "Locked" PhaseUpgrading Phase = "Upgrading" PhaseRestoring Phase = "Restoring" PhaseRepairing Phase = "Repairing" PhaseDeleting Phase = "Deleting" PhaseFailed Phase = "Failed" PhaseUnknown Phase = "Unknown" )
Valid phases of xstore.
type PodPorts ¶
func (PodPorts) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodPorts.
func (PodPorts) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Privilege ¶
type Privilege struct {
// Username is the username of account.
Username string `json:"username,omitempty"`
// Password is the password of account. If empty, the controller should
// generate a random password.
// +optional
Password string `json:"password,omitempty"`
// Host is the host of account. Default is '%' which represents any host.
// +optional
Host string `json:"host,omitempty"`
}
func (*Privilege) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Privilege.
func (*Privilege) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Topology ¶
type Topology struct {
// Template is the global node template of xstore.
Template NodeTemplate `json:"template,omitempty"`
// NodeSets is the total node sets of xstore.
NodeSets []NodeSet `json:"nodeSets,omitempty"`
}
Topology defines the topology of xstore, consisting of a global node template and multiple node sets.
func (*Topology) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Topology.
func (*Topology) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpgradeStrategy ¶
type UpgradeStrategy string
const ( UpgradeStrategyForce UpgradeStrategy = "Force" UpgradeStrategyBestEffort UpgradeStrategy = "BestEffort" )
Valid upgrade strategies.