Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=pingcap.com
Index ¶
- Variables
- func NewGenericConfig() *config.GenericConfig
- type ClusterRef
- type ClusterSyncType
- type ComponentSpec
- type ConfigUpdateStrategy
- type ExecutorMember
- type ExecutorPhaseType
- type ExecutorSpec
- type ExecutorStatus
- type FrameStandaloneSpec
- type MasterMember
- type MasterPhaseType
- type MasterSpec
- type MasterStatus
- type MemberType
- type ObservedStorageVolumeStatus
- type ServiceSpec
- type Standalone
- type StandaloneList
- type StandaloneSpec
- type StandaloneStatus
- type StorageVolumeName
- type StorageVolumeStatus
- type SyncTypeName
- type SyncTypeStatus
- type TiflowCluster
- func (tc *TiflowCluster) AllExecutorMembersReady() bool
- func (tc *TiflowCluster) AllMasterMembersReady() bool
- func (in *TiflowCluster) DeepCopy() *TiflowCluster
- func (in *TiflowCluster) DeepCopyInto(out *TiflowCluster)
- func (in *TiflowCluster) DeepCopyObject() runtime.Object
- func (tc *TiflowCluster) ExecutorActualMembers() int32
- func (tc *TiflowCluster) ExecutorActualPeerMembers() int32
- func (tc *TiflowCluster) ExecutorAllMembers() int32
- func (tc *TiflowCluster) ExecutorImage() string
- func (tc *TiflowCluster) ExecutorScaling() bool
- func (tc *TiflowCluster) ExecutorStsActualReplicas() int32
- func (tc *TiflowCluster) ExecutorStsCurrentReplicas() int32
- func (tc *TiflowCluster) ExecutorStsDesiredReplicas() int32
- func (tc *TiflowCluster) ExecutorStsReadyReplicas() int32
- func (tc *TiflowCluster) ExecutorStsUpdatedReplicas() int32
- func (tc *TiflowCluster) ExecutorUpgrading() bool
- func (tc *TiflowCluster) GetClusterConditions() []TiflowClusterCondition
- func (tc *TiflowCluster) GetClusterPhase() TiflowClusterPhaseType
- func (tc *TiflowCluster) GetClusterStatus() *TiflowClusterStatus
- func (tc *TiflowCluster) GetExecutorPhase() ExecutorPhaseType
- func (tc *TiflowCluster) GetExecutorStatus() *ExecutorStatus
- func (tc *TiflowCluster) GetExecutorSyncTypes() []ClusterSyncType
- func (tc *TiflowCluster) GetInstanceName() string
- func (tc *TiflowCluster) GetMasterPhase() MasterPhaseType
- func (tc *TiflowCluster) GetMasterStatus() *MasterStatus
- func (tc *TiflowCluster) GetMasterSyncTypes() []ClusterSyncType
- func (tc *TiflowCluster) Heterogeneous() bool
- func (tc *TiflowCluster) IsClusterTLSEnabled() bool
- func (tc *TiflowCluster) MasterActualMembers() int32
- func (tc *TiflowCluster) MasterActualPeerMembers() int32
- func (tc *TiflowCluster) MasterAllMembers() int32
- func (tc *TiflowCluster) MasterImage() string
- func (tc *TiflowCluster) MasterIsAvailable() bool
- func (tc *TiflowCluster) MasterScaling() bool
- func (tc *TiflowCluster) MasterStsActualReplicas() int32
- func (tc *TiflowCluster) MasterStsCurrentReplicas() int32
- func (tc *TiflowCluster) MasterStsDesiredReplicas() int32
- func (tc *TiflowCluster) MasterStsReadyReplicas() int32
- func (tc *TiflowCluster) MasterStsUpdatedReplicas() int32
- func (tc *TiflowCluster) MasterUpgrading() bool
- func (tc *TiflowCluster) Scheme() string
- func (tc *TiflowCluster) WithoutLocalExecutor() bool
- func (tc *TiflowCluster) WithoutLocalMaster() bool
- type TiflowClusterCondition
- type TiflowClusterConditionType
- type TiflowClusterList
- type TiflowClusterPhaseType
- type TiflowClusterSpec
- type TiflowClusterStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "pingcap.com", 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 NewGenericConfig ¶
func NewGenericConfig() *config.GenericConfig
Types ¶
type ClusterRef ¶
type ClusterRef struct {
// Namespace is the namespace that TiflowCluster object locates
// +optional
Namespace string `json:"namespace,omitempty"`
// Name is the name of TiflowCluster object
Name string `json:"name"`
// ClusterDomain is the domain of TiflowCluster object
// +optional
ClusterDomain string `json:"clusterDomain,omitempty"`
}
ClusterRef reference to a TiflowCluster
func (*ClusterRef) DeepCopy ¶
func (in *ClusterRef) DeepCopy() *ClusterRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRef.
func (*ClusterRef) DeepCopyInto ¶
func (in *ClusterRef) DeepCopyInto(out *ClusterRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSyncType ¶
type ClusterSyncType struct {
// Name of the Sync type
// +required
Name SyncTypeName `json:"name"`
// (Optional) Message related to the status of the Sync
// +optional
Message string `json:"message,omitempty"`
// Status of SyncType: Failed, Ongoing, Completed or Unknown
// +required
Status SyncTypeStatus `json:"status"`
// LastUpdateTime means the time when the status of Sync was updated
// +required
LastUpdateTime metav1.Time `json:"lastUpdateTime"`
}
ClusterSyncType represents master or executor cluster's sync status as it is perceived by the operator
func (*ClusterSyncType) DeepCopy ¶
func (in *ClusterSyncType) DeepCopy() *ClusterSyncType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSyncType.
func (*ClusterSyncType) DeepCopyInto ¶
func (in *ClusterSyncType) DeepCopyInto(out *ClusterSyncType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentSpec ¶
type ComponentSpec struct {
// BaseImage of the component. Override the cluster-level baseImage if present
BaseImage string `json:"baseImage,omitempty"`
// Version of the component. Override the cluster-level version if non-empty
// Optional: Defaults to cluster-level setting
// +optional
Version *string `json:"version,omitempty"`
// ImagePullPolicy of the component. Override the cluster-level imagePullPolicy if present
// Optional: Defaults to cluster-level setting
// +optional
ImagePullPolicy *corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images.
// +optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
// Whether Hostnetwork of the component is enabled. Override the cluster-level setting if present
// Optional: Defaults to cluster-level setting
// +optional
HostNetwork *bool `json:"hostNetwork,omitempty"`
// Affinity of the component. Override the cluster-level setting if present.
// Optional: Defaults to cluster-level setting
// +optional
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// PriorityClassName of the component. Override the cluster-level one if present
// Optional: Defaults to cluster-level setting
// +optional
PriorityClassName *string `json:"priorityClassName,omitempty"`
// NodeSelector of the component. Merged into the cluster-level nodeSelector if non-empty
// Optional: Defaults to cluster-level setting
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// Annotations for the component. Merge into the cluster-level annotations if non-empty
// Optional: Defaults to cluster-level setting
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Labels for the component. Merge into the cluster-level labels if non-empty
// Optional: Defaults to cluster-level setting
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Tolerations of the component. Override the cluster-level tolerations if non-empty
// Optional: Defaults to cluster-level setting
// +optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// PodSecurityContext of the component
// +optional
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
// ConfigUpdateStrategy of the component. Override the cluster-level updateStrategy if present
// Optional: Defaults to cluster-level setting
// +optional
ConfigUpdateStrategy *ConfigUpdateStrategy `json:"configUpdateStrategy,omitempty"`
// List of environment variables to set in the container, like v1.Container.Env.
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// Extend the use scenarios for env
// +optional
EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`
// Init containers of the components
// +optional
InitContainers []corev1.Container `json:"initContainers,omitempty"`
// Additional containers of the component.
// +optional
AdditionalContainers []corev1.Container `json:"additionalContainers,omitempty"`
// Additional volumes of component pod.
// +optional
AdditionalVolumes []corev1.Volume `json:"additionalVolumes,omitempty"`
// Additional volume mounts of component pod.
AdditionalVolumeMounts []corev1.VolumeMount `json:"additionalVolumeMounts,omitempty"`
// DNSConfig Specifies the DNS parameters of a pod.
// +optional
DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty"`
// DNSPolicy Specifies the DNSPolicy parameters of a pod.
// +optional
DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty"`
// Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
// Value must be non-negative integer. The value zero indicates delete immediately.
// If this value is nil, the default grace period will be used instead.
// The grace period is the duration in seconds after the processes running in the pod are sent
// a termination signal and the time when the processes are forcibly halted with a kill signal.
// Set this value longer than the expected cleanup time for your process.
// Defaults to 30 seconds.
// +optional
TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`
// StatefulSetUpdateStrategy indicates the StatefulSetUpdateStrategy that will be
// employed to update Pods in the StatefulSet when a revision is made to
// Template.
// +optional
StatefulSetUpdateStrategy apps.StatefulSetUpdateStrategyType `json:"statefulSetUpdateStrategy,omitempty"`
// PodManagementPolicy of TiFlow cluster StatefulSets
// +optional
PodManagementPolicy apps.PodManagementPolicyType `json:"podManagementPolicy,omitempty"`
// TopologySpreadConstraints describes how a group of pods ought to spread across topology
// domains. Scheduler will schedule pods in a way which abides by the constraints.
// This field is only honored by clusters that enables the EvenPodsSpread feature.
// All topologySpreadConstraints are ANDed.
// +optional
// +listType=map
// +listMapKey=topologyKey
TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}
ComponentSpec is the base spec of each component, the fields should always accessed by the Basic<Component>Spec() method to respect the cluster-level properties +k8s:openapi-gen=true
func (*ComponentSpec) DeepCopy ¶
func (in *ComponentSpec) DeepCopy() *ComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSpec.
func (*ComponentSpec) DeepCopyInto ¶
func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigUpdateStrategy ¶
type ConfigUpdateStrategy string
ConfigUpdateStrategy represents the strategy to update configuration
const ( // ConfigUpdateStrategyInPlace update the configmap without changing the name ConfigUpdateStrategyInPlace ConfigUpdateStrategy = "InPlace" // ConfigUpdateStrategyRollingUpdate generate different configmap on configuration update and // try to rolling-update the pod controller (e.g. statefulset) to apply updates. ConfigUpdateStrategyRollingUpdate ConfigUpdateStrategy = "RollingUpdate" )
type ExecutorMember ¶
type ExecutorMember struct {
Id string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Addr string `json:"addr,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
// TODO: add cpu/memory/disk usage later
// Last time the health transitioned from one to another.
// +nullable
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}
ExecutorMember is Tiflow-executor member status
func (*ExecutorMember) DeepCopy ¶
func (in *ExecutorMember) DeepCopy() *ExecutorMember
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutorMember.
func (*ExecutorMember) DeepCopyInto ¶
func (in *ExecutorMember) DeepCopyInto(out *ExecutorMember)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutorPhaseType ¶
type ExecutorPhaseType string
ExecutorPhaseType indicates the cluster's state of executors
const ( ExecutorRunning ExecutorPhaseType = "Running" ExecutorStarting ExecutorPhaseType = "Starting" ExecutorCreating ExecutorPhaseType = "Creating" ExecutorUpgrading ExecutorPhaseType = "Upgrading" ExecutorScalingOut ExecutorPhaseType = "ScalingOut" ExecutorScalingIn ExecutorPhaseType = "ScalingIn" ExecutorScalingUp ExecutorPhaseType = "ScalingUp" ExecutorScalingDown ExecutorPhaseType = "ScalingDown" ExecutorDeleting ExecutorPhaseType = "Deleting" ExecutorFailed ExecutorPhaseType = "Failed" ExecutorUnknown ExecutorPhaseType = "Unknown" )
type ExecutorSpec ¶
type ExecutorSpec struct {
ComponentSpec `json:",inline"`
corev1.ResourceRequirements `json:",inline"`
// The desired ready replicas
// +kubebuilder:validation:Minimum=0
Replicas int32 `json:"replicas"`
// Base image of the component, image tag is now allowed during validation
// +kubebuilder:default=pingcap/tiflow
// +optional
BaseImage string `json:"baseImage,omitempty"`
// MaxFailoverCount limit the max replicas could be added in failover, 0 means no failover.
// Optional: Defaults to 3
// +kubebuilder:validation:Minimum=0
// +optional
MaxFailoverCount *int32 `json:"maxFailoverCount,omitempty"`
// The storageClassName of the persistent volume for tiflow-executor data storage.
// Defaults to Kubernetes default storage class.
// +optional
StorageClassName *string `json:"storageClassName,omitempty"`
// StorageSize is the request storage size for tiflow-executor.
// Defaults to "10Gi".
// +optional
StorageSize string `json:"storageSize,omitempty"`
// Subdirectory within the volume to store tiflow-executor Data. By default, the data
// is stored in the root directory of volume which is mounted at
// /tmp/tiflow-executor.
// Specifying this will change the data directory to a subdirectory, e.g.
// /tmp/tiflow-executor/data if you set the value to "data".
// It's dangerous to change this value for a running cluster as it will
// upgrade your cluster to use a new storage directory.
// Defaults to "" (volume's root).
// +optional
DataSubDir string `json:"dataSubDir,omitempty"`
// TLSClientSecretNames are the names of secrets which stores upstream/downstream client certificates
// that used by tiflow-executor.
// +optional
TLSClientSecretNames []string `json:"tlsClientSecretNames,omitempty"`
// Persistent volume reclaim policy applied to the PVs that consumed by tiflow cluster
// +kubebuilder:default=Retain
PVReclaimPolicy *corev1.PersistentVolumeReclaimPolicy `json:"pvReclaimPolicy,omitempty"`
// Stateful indicates whether this executor will deal with stateful jobs preferentially.
// If enabled, master will firstly arrange stateful jobs to this kind of executors and operator will keep this executor's data for more time.
// +kubebuilder:default=false
// +optional
Stateful bool `json:"stateful"`
// Config is the Configuration of tiflow-executor-servers
// +optional
// +kubebuilder:validation:Schemaless
// +kubebuilder:validation:XPreserveUnknownFields
Config *config.GenericConfig `json:"config,omitempty"`
}
ExecutorSpec defines the desired state of tiflow executor
func (*ExecutorSpec) DeepCopy ¶
func (in *ExecutorSpec) DeepCopy() *ExecutorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutorSpec.
func (*ExecutorSpec) DeepCopyInto ¶
func (in *ExecutorSpec) DeepCopyInto(out *ExecutorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutorStatus ¶
type ExecutorStatus struct {
Image string `json:"image,omitempty"`
StatefulSet *apps.StatefulSetStatus `json:"statefulSet,omitempty"`
Members map[string]ExecutorMember `json:"members,omitempty"`
PeerMembers map[string]ExecutorMember `json:"peerMembers,omitempty"`
FailureMembers map[string]ExecutorMember `json:"failureMembers,omitempty"`
FailoverUID types.UID `json:"failoverUID,omitempty"`
// Volumes contains the status of all volumes.
Volumes map[string]*StorageVolumeStatus `json:"volumes,omitempty"`
// LastUpdateTime means the time when the status of Executor cluster's info was updated
// +required
LastUpdateTime metav1.Time `json:"lastUpdateTime"`
// Phase represents the observed state of a tiflow executor
// Update by sync types
// +required
Phase ExecutorPhaseType `json:"phase,omitempty"`
// (Optional) Message related to the status of the ExecutorCluster
// +optional
Message string `json:"message,omitempty"`
// +nullable
SyncTypes []ClusterSyncType `json:"syncTypes,omitempty"`
// LastTransitionTime means the time when the status of Executor Phase
// transitioned from one to another.
// +required
LastTransitionTime metav1.Time `json:"lastTransitionTime"`
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
}
ExecutorStatus defines the desired state of tiflow executor
func (*ExecutorStatus) DeepCopy ¶
func (in *ExecutorStatus) DeepCopy() *ExecutorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutorStatus.
func (*ExecutorStatus) DeepCopyInto ¶
func (in *ExecutorStatus) DeepCopyInto(out *ExecutorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FrameStandaloneSpec ¶
type FrameStandaloneSpec struct {
// mysql-standalone-sample
Name string `json:"name"`
Image string `json:"image"`
Size *int32 `json:"size,omitempty"`
Platform string `json:"platform,omitempty"`
Port int32 `json:"port"`
}
func (*FrameStandaloneSpec) DeepCopy ¶
func (in *FrameStandaloneSpec) DeepCopy() *FrameStandaloneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrameStandaloneSpec.
func (*FrameStandaloneSpec) DeepCopyInto ¶
func (in *FrameStandaloneSpec) DeepCopyInto(out *FrameStandaloneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MasterMember ¶
type MasterMember struct {
Id string `json:"id,omitempty"`
Address string `json:"address,omitempty"`
IsLeader bool `json:"is_leader,omitempty"`
// member id is actually an uint64, but apimachinery's json only treats numbers as int64/float64
// so uint64 may overflow int64 and thus convert to float64
Name string `json:"name,omitempty"`
ClientURL string `json:"clientURL"`
MemberDeleted bool `json:"memberDeleted,omitempty"`
// Last time the health transitioned from one to another.
// +nullable
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}
MasterMember is Tiflow-master member status
func (*MasterMember) DeepCopy ¶
func (in *MasterMember) DeepCopy() *MasterMember
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterMember.
func (*MasterMember) DeepCopyInto ¶
func (in *MasterMember) DeepCopyInto(out *MasterMember)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MasterPhaseType ¶
type MasterPhaseType string
MasterPhaseType indicates the cluster's state of masters
const ( MasterRunning MasterPhaseType = "Running" MasterStarting MasterPhaseType = "Starting" MasterCreating MasterPhaseType = "Creating" MasterUpgrading MasterPhaseType = "Upgrading" MasterScalingOut MasterPhaseType = "ScalingOut" MasterScalingIn MasterPhaseType = "ScalingIn" MasterScalingUp MasterPhaseType = "ScalingUp" MasterScalingDown MasterPhaseType = "ScalingDown" MasterDeleting MasterPhaseType = "Deleting" MasterFailed MasterPhaseType = "Failed" MasterUnknown MasterPhaseType = "Unknown" )
type MasterSpec ¶
type MasterSpec struct {
ComponentSpec `json:",inline"`
corev1.ResourceRequirements `json:",inline"`
// The desired ready replicas
// +kubebuilder:validation:Minimum=0
Replicas int32 `json:"replicas"`
// Base image of the component, image tag is now allowed during validation
// +kubebuilder:default=pingcap/tiflow
// +optional
BaseImage string `json:"baseImage"`
// Service defines a Kubernetes service of Master cluster.
// Optional: Defaults to `.spec.services` in favor of backward compatibility
// +optional
Service *ServiceSpec `json:"service,omitempty"`
// TLSClientSecretNames are the names of secrets which stores etcd/metastore client certificates
// that used by tiflow-master.
// +optional
TLSClientSecretNames []string `json:"tlsClientSecretNames,omitempty"`
// MaxFailoverCount limit the max replicas could be added in failover, 0 means no failover.
// Optional: Defaults to 3
// +kubebuilder:validation:Minimum=0
// +optional
MaxFailoverCount int `json:"maxFailoverCount"`
// Config is the Configuration of tiflow-master-servers
// +optional
// +kubebuilder:validation:Schemaless
// +kubebuilder:validation:XPreserveUnknownFields
Config *config.GenericConfig `json:"config,omitempty"`
}
MasterSpec defines the desired state of tiflow master
func (*MasterSpec) DeepCopy ¶
func (in *MasterSpec) DeepCopy() *MasterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterSpec.
func (*MasterSpec) DeepCopyInto ¶
func (in *MasterSpec) DeepCopyInto(out *MasterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MasterStatus ¶
type MasterStatus struct {
Image string `json:"image,omitempty"`
// +required
ServerAddress string `json:"serverAddress"`
Leader MasterMember `json:"leader,omitempty"`
Members map[string]MasterMember `json:"members,omitempty"`
PeerMembers map[string]MasterMember `json:"peerMembers,omitempty"`
FailureMembers map[string]MasterMember `json:"failureMembers,omitempty"`
StatefulSet *apps.StatefulSetStatus `json:"statefulSet,omitempty"`
// LastUpdateTime means the time when the status of Master cluster's info was updated
// +required
LastUpdateTime metav1.Time `json:"lastUpdateTime"`
// Phase represents the observed state of a tiflow master
// Update by sync types
// +required
Phase MasterPhaseType `json:"phase,omitempty"`
// (Optional) Message related to the status of the MasterCluster
// +optional
Message string `json:"message,omitempty"`
// +nullable
SyncTypes []ClusterSyncType `json:"syncTypes,omitempty"`
// LastTransitionTime means the time when the status of Cluster Phase
// transitioned from one to another
// +required
LastTransitionTime metav1.Time `json:"lastTransitionTime"`
}
MasterStatus defines the desired state of tiflow master
func (*MasterStatus) DeepCopy ¶
func (in *MasterStatus) DeepCopy() *MasterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterStatus.
func (*MasterStatus) DeepCopyInto ¶
func (in *MasterStatus) DeepCopyInto(out *MasterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MemberType ¶
type MemberType string
const ( TiFlowMasterMemberType MemberType = "tiflow-master" TiFlowExecutorMemberType MemberType = "tiflow-executor" )
func (MemberType) String ¶
func (mt MemberType) String() string
type ObservedStorageVolumeStatus ¶
type ObservedStorageVolumeStatus struct {
// BoundCount is the count of bound volumes.
// +optional
BoundCount int `json:"boundCount"`
// CurrentCount is the count of volumes whose capacity is equal to `currentCapacity`.
// +optional
CurrentCount int `json:"currentCount"`
// ResizedCount is the count of volumes whose capacity is equal to `resizedCapacity`.
// +optional
ResizedCount int `json:"resizedCount"`
// CurrentCapacity is the current capacity of the volume.
// If any volume is resizing, it is the capacity before resizing.
// If all volumes are resized, it is the resized capacity and same as desired capacity.
CurrentCapacity resource.Quantity `json:"currentCapacity"`
// ResizedCapacity is the desired capacity of the volume.
ResizedCapacity resource.Quantity `json:"resizedCapacity"`
}
func (*ObservedStorageVolumeStatus) DeepCopy ¶
func (in *ObservedStorageVolumeStatus) DeepCopy() *ObservedStorageVolumeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservedStorageVolumeStatus.
func (*ObservedStorageVolumeStatus) DeepCopyInto ¶
func (in *ObservedStorageVolumeStatus) DeepCopyInto(out *ObservedStorageVolumeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceSpec ¶
type ServiceSpec struct {
// Type of the real kubernetes service
Type corev1.ServiceType `json:"type,omitempty"`
// Additional annotations for the service
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Additional labels for the service
// +optional
Labels map[string]string `json:"labels,omitempty"`
// LoadBalancerIP is the loadBalancerIP of service
// Optional: Defaults to omitted
// +optional
LoadBalancerIP *string `json:"loadBalancerIP,omitempty"`
// ClusterIP is the clusterIP of service
// +optional
ClusterIP *string `json:"clusterIP,omitempty"`
// PortName is the name of service port
// +optional
PortName *string `json:"portName,omitempty"`
// The port that will be exposed by this service.
//
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=65535
// +optional
NodePort *int32 `json:"port,omitempty"`
// LoadBalancerSourceRanges is the loadBalancerSourceRanges of service
// If specified and supported by the platform, this will restrict traffic through the cloud-provider
// load-balancer will be restricted to the specified client IPs. This field will be ignored if the
// cloud-provider does not support the feature."
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#aws-nlb-support
// Optional: Defaults to omitted
// +optional
LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"`
// ExternalTrafficPolicy of the service
// Optional: Defaults to omitted
// +optional
ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicyType `json:"externalTrafficPolicy,omitempty"` // Expose the tiflow cluster mysql port to MySQLNodePort
}
ServiceSpec specifies the service object in k8s +k8s:openapi-gen=true
func (*ServiceSpec) DeepCopy ¶
func (in *ServiceSpec) DeepCopy() *ServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec.
func (*ServiceSpec) DeepCopyInto ¶
func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Standalone ¶
type Standalone struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec StandaloneSpec `json:"spec,omitempty"`
Status StandaloneStatus `json:"status,omitempty"`
}
Standalone is the Schema for the standalones API
func (*Standalone) DeepCopy ¶
func (in *Standalone) DeepCopy() *Standalone
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Standalone.
func (*Standalone) DeepCopyInto ¶
func (in *Standalone) DeepCopyInto(out *Standalone)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Standalone) DeepCopyObject ¶
func (in *Standalone) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StandaloneList ¶
type StandaloneList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Standalone `json:"items"`
}
StandaloneList contains a list of Standalone
func (*StandaloneList) DeepCopy ¶
func (in *StandaloneList) DeepCopy() *StandaloneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandaloneList.
func (*StandaloneList) DeepCopyInto ¶
func (in *StandaloneList) DeepCopyInto(out *StandaloneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StandaloneList) DeepCopyObject ¶
func (in *StandaloneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StandaloneSpec ¶
type StandaloneSpec struct {
// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
// Important: Run "make" to regenerate code after modifying this file
Name string `json:"name"`
FrameStandalone FrameStandaloneSpec `json:"frameStandalone,omitempty"`
}
StandaloneSpec defines the desired state of Standalone
func (*StandaloneSpec) DeepCopy ¶
func (in *StandaloneSpec) DeepCopy() *StandaloneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandaloneSpec.
func (*StandaloneSpec) DeepCopyInto ¶
func (in *StandaloneSpec) DeepCopyInto(out *StandaloneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StandaloneStatus ¶
type StandaloneStatus struct {
}
StandaloneStatus defines the observed state of Standalone
func (*StandaloneStatus) DeepCopy ¶
func (in *StandaloneStatus) DeepCopy() *StandaloneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandaloneStatus.
func (*StandaloneStatus) DeepCopyInto ¶
func (in *StandaloneStatus) DeepCopyInto(out *StandaloneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageVolumeName ¶
type StorageVolumeName string
StorageVolumeName is the volume name which is same as `volumes.name` in Pod spec.
type StorageVolumeStatus ¶
type StorageVolumeStatus struct {
ObservedStorageVolumeStatus `json:",inline"`
// Name is the volume name which is same as `volumes.name` in Pod spec.
Name StorageVolumeName `json:"name"`
}
StorageVolumeStatus is the actual status for a storage
func (*StorageVolumeStatus) DeepCopy ¶
func (in *StorageVolumeStatus) DeepCopy() *StorageVolumeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageVolumeStatus.
func (*StorageVolumeStatus) DeepCopyInto ¶
func (in *StorageVolumeStatus) DeepCopyInto(out *StorageVolumeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncTypeName ¶
type SyncTypeName int
SyncTypeName type alias
const ( CreateType SyncTypeName = iota UpgradeType ScaleOutType ScaleInType ScaleUpType ScaleDownType DeleteType )
All possible Sync type's name
func (SyncTypeName) GetExecutorClusterPhase ¶
func (a SyncTypeName) GetExecutorClusterPhase() ExecutorPhaseType
func (SyncTypeName) GetMasterClusterPhase ¶
func (a SyncTypeName) GetMasterClusterPhase() MasterPhaseType
type SyncTypeStatus ¶
type SyncTypeStatus int
SyncTypeStatus indicates the current status of SyncType
const ( // Failed status means this SyncType is failed Failed SyncTypeStatus = iota // Ongoing status means this SyncType is ongoing Ongoing // Completed status means this SyncType is completed Completed // Unknown status means this SyncType is unknown Unknown )
func (SyncTypeStatus) String ¶
func (a SyncTypeStatus) String() string
type TiflowCluster ¶
type TiflowCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TiflowClusterSpec `json:"spec,omitempty"`
Status TiflowClusterStatus `json:"status,omitempty"`
}
TiflowCluster is the Schema for the tiflowclusters API +k8s:openapi-gen=true +k8s:deepcopy-gen=true +kubebuilder:resource:shortName="tfc"
func (*TiflowCluster) AllExecutorMembersReady ¶
func (tc *TiflowCluster) AllExecutorMembersReady() bool
func (*TiflowCluster) AllMasterMembersReady ¶
func (tc *TiflowCluster) AllMasterMembersReady() bool
func (*TiflowCluster) DeepCopy ¶
func (in *TiflowCluster) DeepCopy() *TiflowCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiflowCluster.
func (*TiflowCluster) DeepCopyInto ¶
func (in *TiflowCluster) DeepCopyInto(out *TiflowCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiflowCluster) DeepCopyObject ¶
func (in *TiflowCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TiflowCluster) ExecutorActualMembers ¶
func (tc *TiflowCluster) ExecutorActualMembers() int32
func (*TiflowCluster) ExecutorActualPeerMembers ¶
func (tc *TiflowCluster) ExecutorActualPeerMembers() int32
func (*TiflowCluster) ExecutorAllMembers ¶
func (tc *TiflowCluster) ExecutorAllMembers() int32
func (*TiflowCluster) ExecutorImage ¶
func (tc *TiflowCluster) ExecutorImage() string
func (*TiflowCluster) ExecutorScaling ¶
func (tc *TiflowCluster) ExecutorScaling() bool
func (*TiflowCluster) ExecutorStsActualReplicas ¶
func (tc *TiflowCluster) ExecutorStsActualReplicas() int32
func (*TiflowCluster) ExecutorStsCurrentReplicas ¶
func (tc *TiflowCluster) ExecutorStsCurrentReplicas() int32
func (*TiflowCluster) ExecutorStsDesiredReplicas ¶
func (tc *TiflowCluster) ExecutorStsDesiredReplicas() int32
func (*TiflowCluster) ExecutorStsReadyReplicas ¶
func (tc *TiflowCluster) ExecutorStsReadyReplicas() int32
func (*TiflowCluster) ExecutorStsUpdatedReplicas ¶
func (tc *TiflowCluster) ExecutorStsUpdatedReplicas() int32
func (*TiflowCluster) ExecutorUpgrading ¶
func (tc *TiflowCluster) ExecutorUpgrading() bool
func (*TiflowCluster) GetClusterConditions ¶
func (tc *TiflowCluster) GetClusterConditions() []TiflowClusterCondition
func (*TiflowCluster) GetClusterPhase ¶
func (tc *TiflowCluster) GetClusterPhase() TiflowClusterPhaseType
func (*TiflowCluster) GetClusterStatus ¶
func (tc *TiflowCluster) GetClusterStatus() *TiflowClusterStatus
func (*TiflowCluster) GetExecutorPhase ¶
func (tc *TiflowCluster) GetExecutorPhase() ExecutorPhaseType
func (*TiflowCluster) GetExecutorStatus ¶
func (tc *TiflowCluster) GetExecutorStatus() *ExecutorStatus
func (*TiflowCluster) GetExecutorSyncTypes ¶
func (tc *TiflowCluster) GetExecutorSyncTypes() []ClusterSyncType
func (*TiflowCluster) GetInstanceName ¶
func (tc *TiflowCluster) GetInstanceName() string
func (*TiflowCluster) GetMasterPhase ¶
func (tc *TiflowCluster) GetMasterPhase() MasterPhaseType
func (*TiflowCluster) GetMasterStatus ¶
func (tc *TiflowCluster) GetMasterStatus() *MasterStatus
func (*TiflowCluster) GetMasterSyncTypes ¶
func (tc *TiflowCluster) GetMasterSyncTypes() []ClusterSyncType
func (*TiflowCluster) Heterogeneous ¶
func (tc *TiflowCluster) Heterogeneous() bool
func (*TiflowCluster) IsClusterTLSEnabled ¶
func (tc *TiflowCluster) IsClusterTLSEnabled() bool
func (*TiflowCluster) MasterActualMembers ¶
func (tc *TiflowCluster) MasterActualMembers() int32
func (*TiflowCluster) MasterActualPeerMembers ¶
func (tc *TiflowCluster) MasterActualPeerMembers() int32
func (*TiflowCluster) MasterAllMembers ¶
func (tc *TiflowCluster) MasterAllMembers() int32
func (*TiflowCluster) MasterImage ¶
func (tc *TiflowCluster) MasterImage() string
func (*TiflowCluster) MasterIsAvailable ¶
func (tc *TiflowCluster) MasterIsAvailable() bool
func (*TiflowCluster) MasterScaling ¶
func (tc *TiflowCluster) MasterScaling() bool
func (*TiflowCluster) MasterStsActualReplicas ¶
func (tc *TiflowCluster) MasterStsActualReplicas() int32
func (*TiflowCluster) MasterStsCurrentReplicas ¶
func (tc *TiflowCluster) MasterStsCurrentReplicas() int32
func (*TiflowCluster) MasterStsDesiredReplicas ¶
func (tc *TiflowCluster) MasterStsDesiredReplicas() int32
func (*TiflowCluster) MasterStsReadyReplicas ¶
func (tc *TiflowCluster) MasterStsReadyReplicas() int32
func (*TiflowCluster) MasterStsUpdatedReplicas ¶
func (tc *TiflowCluster) MasterStsUpdatedReplicas() int32
func (*TiflowCluster) MasterUpgrading ¶
func (tc *TiflowCluster) MasterUpgrading() bool
func (*TiflowCluster) Scheme ¶
func (tc *TiflowCluster) Scheme() string
func (*TiflowCluster) WithoutLocalExecutor ¶
func (tc *TiflowCluster) WithoutLocalExecutor() bool
func (*TiflowCluster) WithoutLocalMaster ¶
func (tc *TiflowCluster) WithoutLocalMaster() bool
type TiflowClusterCondition ¶
type TiflowClusterCondition struct {
// Type of the condition.
Type TiflowClusterConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status metav1.ConditionStatus `json:"status"`
// LastTransitionTime means last time the condition transitioned from one status to another.
// +nullable
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}
TiflowClusterCondition is tiflow cluster condition
func (*TiflowClusterCondition) DeepCopy ¶
func (in *TiflowClusterCondition) DeepCopy() *TiflowClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiflowClusterCondition.
func (*TiflowClusterCondition) DeepCopyInto ¶
func (in *TiflowClusterCondition) DeepCopyInto(out *TiflowClusterCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiflowClusterConditionType ¶
type TiflowClusterConditionType string
TiflowClusterConditionType type alias
const ( VersionChecked TiflowClusterConditionType = "VersionChecked" LeaderChecked TiflowClusterConditionType = "LeaderChecked" MastersInfoUpdatedChecked TiflowClusterConditionType = "MastersInfoUpdatedChecked" MasterVersionChecked TiflowClusterConditionType = "MasterVersionChecked" MasterReplicaChecked TiflowClusterConditionType = "MasterReplicaChecked" MasterReadyChecked TiflowClusterConditionType = "MasterReadyChecked" MasterMembersChecked TiflowClusterConditionType = "MasterMembersChecked" MasterSyncChecked TiflowClusterConditionType = "MasterSyncChecked" ExecutorsInfoUpdatedChecked TiflowClusterConditionType = "ExecutorsInfoUpdatedCheck" ExecutorVersionChecked TiflowClusterConditionType = "ExecutorVersionChecked" ExecutorReplicaChecked TiflowClusterConditionType = "ExecutorReplicaChecked" ExecutorReadyChecked TiflowClusterConditionType = "ExecutorReadyChecked" ExecutorPVCChecked TiflowClusterConditionType = "ExecutorPVCChecked" ExecutorMembersChecked TiflowClusterConditionType = "ExecutorMembersChecked" ExecutorSyncChecked TiflowClusterConditionType = "ExecutorSyncChecked" )
type TiflowClusterList ¶
type TiflowClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TiflowCluster `json:"items"`
}
TiflowClusterList contains a list of TiflowCluster
func (*TiflowClusterList) DeepCopy ¶
func (in *TiflowClusterList) DeepCopy() *TiflowClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiflowClusterList.
func (*TiflowClusterList) DeepCopyInto ¶
func (in *TiflowClusterList) DeepCopyInto(out *TiflowClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiflowClusterList) DeepCopyObject ¶
func (in *TiflowClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiflowClusterPhaseType ¶
type TiflowClusterPhaseType string
TiflowClusterPhaseType type alias
const ( // ClusterStarting indicates the state of operator is starting ClusterStarting TiflowClusterPhaseType = "Starting" // ClusterReconciling indicates the state of operator is reconciling ClusterReconciling TiflowClusterPhaseType = "Reconciling" // ClusterRunning indicates the state of operator is completed ClusterRunning TiflowClusterPhaseType = "Running" // ClusterUnknown indicates the state of operator is unknown ClusterUnknown TiflowClusterPhaseType = "Unknown" // ClusterFailed indicates the state of operator is failed ClusterFailed TiflowClusterPhaseType = "Failed" )
type TiflowClusterSpec ¶
type TiflowClusterSpec struct {
// Tiflow-master cluster spec
// +optional
Master *MasterSpec `json:"master,omitempty"`
// Tiflow-executor cluster spec
// +optional
Executor *ExecutorSpec `json:"executor,omitempty"`
// Tiflow-cluster version
// +optional
Version string `json:"version"`
// ImagePullPolicy of Tiflow cluster Pods
// +kubebuilder:default=IfNotPresent
ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images.
// +optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
// ConfigUpdateStrategy determines how the configuration change is applied to the cluster.
// UpdateStrategyInPlace will update the ConfigMap of configuration in-place and an extra rolling-update of the
// cluster component is needed to reload the configuration change.
// UpdateStrategyRollingUpdate will create a new ConfigMap with the new configuration and rolling-update the
// related components to use the new ConfigMap, that is, the new configuration will be applied automatically.
ConfigUpdateStrategy ConfigUpdateStrategy `json:"configUpdateStrategy,omitempty"`
// Whether enable the TLS connection between Tiflow components
// Optional: Defaults to nil
// +optional
TLSCluster *bool `json:"tlsCluster,omitempty"`
// Whether Hostnetwork is enabled for Tiflow cluster Pods
// Optional: Defaults to false
// +optional
HostNetwork *bool `json:"hostNetwork,omitempty"`
// Affinity of Tiflow cluster Pods
// +optional
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// PriorityClassName of Tiflow cluster Pods
// Optional: Defaults to omitted
// +optional
PriorityClassName *string `json:"priorityClassName,omitempty"`
// Base node selectors of Tiflow cluster Pods, components may add or override selectors upon this respectively
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// Additional annotations for the dm cluster
// Can be overrode by annotations in master spec or executor spec
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Additional labels for the tiflow cluster
// Can be overrode by labels in master spec or executor spec
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Base tolerations of Tiflow cluster Pods, components may add more tolerations upon this respectively
// +optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// DNSConfig Specifies the DNS parameters of a pod.
// +optional
DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty"`
// DNSPolicy Specifies the DNSPolicy parameters of a pod.
// +optional
DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty"`
// ClusterDomain is the Kubernetes Cluster Domain of Tiflow cluster
// Optional: Defaults to ""
// +optional
ClusterDomain string `json:"clusterDomain,omitempty"`
// Cluster is the external cluster, if configured, the components in this TiflowCluster will join to this configured cluster.
// +optional
Cluster *ClusterRef `json:"cluster,omitempty"`
// PodSecurityContext of the component
// +optional
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
// StatefulSetUpdateStrategy of Tiflow cluster StatefulSets
// +optional
StatefulSetUpdateStrategy apps.StatefulSetUpdateStrategyType `json:"statefulSetUpdateStrategy,omitempty"`
// PodManagementPolicy of Tiflow cluster StatefulSets
// +optional
PodManagementPolicy apps.PodManagementPolicyType `json:"podManagementPolicy,omitempty"`
}
TiflowClusterSpec defines the desired state of TiflowCluster
func (*TiflowClusterSpec) DeepCopy ¶
func (in *TiflowClusterSpec) DeepCopy() *TiflowClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiflowClusterSpec.
func (*TiflowClusterSpec) DeepCopyInto ¶
func (in *TiflowClusterSpec) DeepCopyInto(out *TiflowClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiflowClusterStatus ¶
type TiflowClusterStatus struct {
// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
// Important: Run "make" to regenerate code after modifying this file
Master MasterStatus `json:"master,omitempty"`
Executor ExecutorStatus `json:"executor,omitempty"`
// ClusterConditions list of conditions representing the current status of the tiflow engine resource
// Interact between Master and Executor, and will update each other
// +optional
// +nullable
ClusterConditions []TiflowClusterCondition `json:"clusterConditions,omitempty"`
// ClusterPhase represents the observed state of a tiflow cluster
// Update by master's phase and executor's phase
// +required
ClusterPhase TiflowClusterPhaseType `json:"clusterPhase"`
// (Optional) Message related to the status of the MasterCluster
// +optional
Message string `json:"message,omitempty"`
// LastTransitionTime means last time the ClusterPhase transitioned from one to another
// +required
LastTransitionTime metav1.Time `json:"lastTransitionTime"`
}
TiflowClusterStatus defines the observed state of TiflowCluster
func (*TiflowClusterStatus) DeepCopy ¶
func (in *TiflowClusterStatus) DeepCopy() *TiflowClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiflowClusterStatus.
func (*TiflowClusterStatus) DeepCopyInto ¶
func (in *TiflowClusterStatus) DeepCopyInto(out *TiflowClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.