Documentation
¶
Overview ¶
+groupName=core.pingcap.com +k8s:openapi-gen=true +k8s:deepcopy-gen=package
+kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,verbs=get;list;watch;create;update;patch;delete
+kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=core,resources=persistentvolumeclaims,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=core,resources=persistentvolumes,verbs=get;list;watch +kubebuilder:rbac:groups=core,resources=services,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=core,resources=configmaps,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=core,resources=events,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch +kubebuilder:rbac:groups=core,resources=nodes,verbs=get;list;watch
+kubebuilder:rbac:groups=apps,resources=controllerrevisions,verbs=get;list;watch;create;update;patch;delete
+kubebuilder:rbac:groups=storage.k8s.io,resources=storageclasses,verbs=get;list;watch +kubebuilder:rbac:groups=storage.k8s.io,resources=volumeattributesclasses,verbs=get;list;watch
+kubebuilder:rbac:groups=core.pingcap.com,resources=clusters,verbs=get;list;watch;update +kubebuilder:rbac:groups=core.pingcap.com,resources=clusters/status,verbs=get;update;patch
+kubebuilder:rbac:groups=core.pingcap.com,resources=pdgroups,verbs=get;list;watch;delete;update +kubebuilder:rbac:groups=core.pingcap.com,resources=pdgroups/status,verbs=get;list;watch;update +kubebuilder:rbac:groups=core.pingcap.com,resources=pds,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=core.pingcap.com,resources=pds/status,verbs=get;list;watch;update;patch
+kubebuilder:rbac:groups=core.pingcap.com,resources=tikvgroups,verbs=get;list;watch;delete;update +kubebuilder:rbac:groups=core.pingcap.com,resources=tikvgroups/status,verbs=get;list;watch;update +kubebuilder:rbac:groups=core.pingcap.com,resources=tikvs,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=core.pingcap.com,resources=tikvs/status,verbs=get;list;watch;update;patch
+kubebuilder:rbac:groups=core.pingcap.com,resources=tiflashgroups,verbs=get;list;watch;delete;update +kubebuilder:rbac:groups=core.pingcap.com,resources=tiflashgroups/status,verbs=get;list;watch;update +kubebuilder:rbac:groups=core.pingcap.com,resources=tiflashes,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=core.pingcap.com,resources=tiflashes/status,verbs=get;list;watch;update;patch
+kubebuilder:rbac:groups=core.pingcap.com,resources=tidbgroups,verbs=get;list;watch;delete;update +kubebuilder:rbac:groups=core.pingcap.com,resources=tidbgroups/status,verbs=get;list;watch;update +kubebuilder:rbac:groups=core.pingcap.com,resources=tidbs,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=core.pingcap.com,resources=tidbs/status,verbs=get;list;watch;update;patch
+kubebuilder:rbac:groups=core.pingcap.com,resources=ticdcgroups,verbs=get;list;watch;delete;update +kubebuilder:rbac:groups=core.pingcap.com,resources=ticdcgroups/status,verbs=get;list;watch;update +kubebuilder:rbac:groups=core.pingcap.com,resources=ticdcs,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=core.pingcap.com,resources=ticdcs/status,verbs=get;list;watch;update;patch
+kubebuilder:rbac:resources="",verbs=get,urls=/metrics
Package v1alpha1 is the v1alpha1 version of core tidb operator api
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type Cluster
- type ClusterList
- type ClusterReference
- type ClusterSpec
- type ClusterStatus
- type CommonStatus
- type ComponentKind
- type ComponentStatus
- type ConfigFile
- type ConfigUpdateStrategy
- type GroupStatus
- type ObjectMeta
- type Overlay
- type PD
- type PDGroup
- type PDGroupList
- type PDGroupSpec
- type PDGroupStatus
- type PDList
- type PDPorts
- type PDServer
- type PDSpec
- type PDStatus
- type PDTemplate
- type PDTemplateSpec
- type PersistentVolumeClaimOverlay
- type PodOverlay
- type Port
- type ResourceRequirements
- type SchedulePolicy
- type SchedulePolicyEvenlySpread
- type SchedulePolicyType
- type ScheduleTopology
- type SuspendAction
- type TLS
- type TLSCluster
- type TiCDC
- type TiCDCGroup
- type TiCDCGroupList
- type TiCDCGroupSpec
- type TiCDCGroupStatus
- type TiCDCList
- type TiCDCPorts
- type TiCDCServer
- type TiCDCSpec
- type TiCDCStatus
- type TiCDCTemplate
- type TiCDCTemplateSpec
- type TiDB
- type TiDBAuthToken
- type TiDBGroup
- type TiDBGroupList
- type TiDBGroupSpec
- type TiDBGroupStatus
- type TiDBList
- type TiDBPorts
- type TiDBProb
- type TiDBProbes
- type TiDBSecurity
- type TiDBServer
- type TiDBService
- type TiDBSlowLog
- type TiDBSpec
- type TiDBStatus
- type TiDBTLS
- type TiDBTemplate
- type TiDBTemplateSpec
- type TiFlash
- type TiFlashGroup
- type TiFlashGroupList
- type TiFlashGroupSpec
- type TiFlashGroupStatus
- type TiFlashList
- type TiFlashLogTailer
- type TiFlashPorts
- type TiFlashServer
- type TiFlashSpec
- type TiFlashStatus
- type TiFlashTemplate
- type TiFlashTemplateSpec
- type TiKV
- type TiKVGroup
- type TiKVGroupList
- type TiKVGroupSpec
- type TiKVGroupStatus
- type TiKVList
- type TiKVPorts
- type TiKVPreStop
- type TiKVServer
- type TiKVSpec
- type TiKVStatus
- type TiKVTemplate
- type TiKVTemplateSpec
- type Topology
- type UpdateStrategy
- type UpgradePolicy
- type Volume
- type VolumeMount
- type VolumeMountType
Constants ¶
const ( // ClusterCondAvailable means the cluster is available, i.e. the cluster can be used. // But it does not mean all members in the cluster are healthy. ClusterCondAvailable = "Available" // ClusterCondProgressing means the cluster is progressing, i.e. the cluster is being created, updated, scaled, etc. ClusterCondProgressing = "Progressing" ClusterCreationReason = "ClusterCreation" ClusterDeletionReason = "ClusterDeletion" ClusterAvailableReason = "ClusterAvailable" ClusterCondSuspended = "Suspended" ClusterSuspendReason = "ClusterSuspend" )
const ( // CondSuspended is a condition to display whether the group or instance is suspended CondSuspended = "Suspended" ReasonSuspended = "Suspended" ReasonSuspending = "Suspending" ReasonUnsuspended = "Unsuspended" )
const ( // Ready means all managed resources are ready. // NOTE: It does not mean all managed resources are up to date. CondReady = "Ready" // Synced means all specs of managed resources are as expected and // nothing need to do in controller but only status updation. CondSynced = "Synced" )
const ( // KeyPrefix defines key prefix of well known labels and annotations KeyPrefix = "pingcap.com/" // LabelKeyManagedBy means resources are managed by tidb operator LabelKeyManagedBy = KeyPrefix + "managed-by" LabelValManagedByOperator = "tidb-operator" // LabelKeyCluster means which tidb cluster the resource belongs to LabelKeyCluster = KeyPrefix + "cluster" // LabelKeyComponent means the component of the resource LabelKeyComponent = KeyPrefix + "component" // LabelKeyGroup means the component group of the resource LabelKeyGroup = KeyPrefix + "group" // LabelKeyInstance means the instance of the resource LabelKeyInstance = KeyPrefix + "instance" // LabelKeyPodSpecHash is the hash of the pod spec. LabelKeyPodSpecHash = KeyPrefix + "pod-spec-hash" // LabelKeyInstanceRevisionHash is the revision hash of the instance LabelKeyInstanceRevisionHash = KeyPrefix + "instance-revision-hash" // LabelKeyConfigHash is the hash of the user-specified config (i.e., `.Spec.Config`), // which will be used to determine whether the config has changed. // Since the tidb operator will overlay the user-specified config with some operator-managed fields, // if we hash the overlayed config, with the evolving TiDB Operator, the hash may change, // potentially triggering an unexpected rolling update. // Instead, we choose to hash the user-specified config, // and the worst case is that users expect a reboot but it doesn't happen. LabelKeyConfigHash = KeyPrefix + "config-hash" // LabelKeyVolumeName is used to distinguish different volumes, e.g. data volumes, log volumes, etc. // This label will be added to the PVCs created by the tidb operator. LabelKeyVolumeName = KeyPrefix + "volume-name" )
TODO(liubo02): move to meta
const ( // Label value for meta.LabelKeyComponent LabelValComponentPD = "pd" LabelValComponentTiDB = "tidb" LabelValComponentTiKV = "tikv" LabelValComponentTiFlash = "tiflash" LabelValComponentTiCDC = "ticdc" // LabelKeyClusterID is the unique identifier of the cluster. // This label is used for backward compatibility with TiDB Operator v1, so it has a different prefix. LabelKeyClusterID = "tidb.pingcap.com/cluster-id" // LabelKeyMemberID is the unique identifier of a PD member. // This label is used for backward compatibility with TiDB Operator v1, so it has a different prefix. LabelKeyMemberID = "tidb.pingcap.com/member-id" // LabelKeyStoreID is the unique identifier of a TiKV or TiFlash store. // This label is used for backward compatibility with TiDB Operator v1, so it has a different prefix. LabelKeyStoreID = "tidb.pingcap.com/store-id" )
const ( // AnnoKeyPrefix defines key prefix of well known annotations AnnoKeyPrefix = "core.pingcap.com/" // all bool anno will use this val as default AnnoValTrue = "true" // means the instance is marked as deleted and will be deleted later AnnoKeyDeferDelete = AnnoKeyPrefix + "defer-delete" )
const ( // VolumeNameConfig defines volume name for main config file VolumeNameConfig = meta.NamePrefix + "config" // VolumeNamePrestopChecker defines volume name for pre stop checker cmd VolumeNamePrestopChecker = meta.NamePrefix + "prestop-checker" // VolumeNameBootstrapSQL is the volume name for bootstrap sql VolumeNameBootstrapSQL = meta.NamePrefix + "tidb-bootstrap-sql" // VolumeNameTiDBAuthToken is the volume name for tidb auth token VolumeNameTiDBAuthToken = meta.NamePrefix + "tidb-auth-token" // VolumeNameTiDBSlowLogDefault defines default volume name of tidb slowlog // Users may claim another volume for tidb slowlog and the default one will be removed VolumeNameTiDBSlowLogDefault = meta.NamePrefix + "slowlog" // TLS // // VolumeNameClusterTLS defines volume name for the TLS secret used between components in the TiDB cluster VolumeNameClusterTLS = meta.NamePrefix + "tls" // VolumeNameClusterClientTLS defines volume name for any one-time job accessing the TiDB cluster components VolumeNameClusterClientTLS = meta.NamePrefix + "cluster-client-tls" // VolumeNameMySQLTLS is the volume name for the TLS secret used by TLS communication between TiDB server and MySQL client. VolumeNameMySQLTLS = meta.NamePrefix + "tidb-sql-tls" )
All volume names
const ( // Main component containers of the tidb cluster // These names are well known so the name prefix is not added. ContainerNamePD = "pd" ContainerNameTiKV = "tikv" ContainerNameTiDB = "tidb" ContainerNameTiFlash = "tiflash" ContainerNameTiCDC = "ticdc" // An init container to copy pre stop checker cmd to main container ContainerNamePrestopChecker = meta.NamePrefix + "prestop-checker" // TiDB // // Container to redirect slowlog ContainerNameTiDBSlowLog = meta.NamePrefix + "slowlog" // TiFlash // // Container to redirect server log ContainerNameTiFlashServerLog = meta.NamePrefix + "serverlog" // Container to redirect error log ContainerNameTiFlashErrorLog = meta.NamePrefix + "errorlog" )
All container names
const ( // config dir path DirPathConfigPD = "/etc/pd" DirPathConfigTiKV = "/etc/tikv" DirPathConfigTiDB = "/etc/tidb" DirPathConfigTiFlash = "/etc/tiflash" DirPathConfigTiCDC = "/etc/ticdc" // DirPathPrestop defines dir path of pre stop checker cmd DirPathPrestop = "/prestop" // Dir path of bootstrap sql DirPathBootstrapSQL = "/etc/tidb-bootstrap" // Dir path of tidb auth token DirPathTiDBAuthToken = "/var/lib/tidb-auth-token" // #nosec // Default dir path of tidb slowlog DirPathTiDBSlowLogDefault = "/var/log/tidb" // TLS // // Dir path of cluster tls file DirPathClusterTLSPD = "/var/lib/pd-tls" DirPathClusterTLSTiKV = "/var/lib/tikv-tls" DirPathClusterTLSTiDB = "/var/lib/tidb-tls" DirPathTiDBClientTLS = "/var/lib/tidb-client-tls" // FIXME(ideascf): do we need this? DirPathClusterTLSTiFlash = "/var/lib/tiflash-tls" DirPathClusterClientTLS = "/var/lib/cluster-client-tls" DirPathClusterTLSTiCDC = "/var/lib/ticdc-tls" // Dir path of tls file for tidb and mysql client DirPathMySQLTLS = "/var/lib/tidb-sql-tls" )
All well known dir path
const ( // FileNameConfig defines default name of config file FileNameConfig = "config.toml" // FileNameConfigTiFlashProxy defines default name of tiflash proxy config file FileNameConfigTiFlashProxy = "proxy.toml" // FileNameBootstrapSQL defines default file name of bootstrap sql FileNameBootstrapSQL = "bootstrap.sql" // FileNameTiDBAuthTokenJWKS defines default file name of auth token jwks FileNameTiDBAuthTokenJWKS = "tidb_auth_token_jwks.json" // #nosec // FileNameTiDBSlowLog defines default file name of tidb slowlog FileNameTiDBSlowLog = "slowlog" )
All file names
const ( PDPortNameClient = "client" PDPortNamePeer = "peer" DefaultPDPortClient = 2379 DefaultPDPortPeer = 2380 )
const ( TiCDCPortName = "ticdc" // main port DefaultTiCDCPort = 8300 )
const ( TiCDCGroupCondAvailable = "Available" TiCDCGroupAvailableReason = "TiCDCGroupAvailable" )
const ( TiDBPortNameClient = "mysql-client" TiDBPortNameStatus = "status" DefaultTiDBPortClient = 4000 DefaultTiDBPortStatus = 10080 )
const ( // TCPProbeType represents the readiness prob method with TCP. TCPProbeType string = "tcp" // CommandProbeType represents the readiness prob method with arbitrary unix `exec` call format commands. CommandProbeType string = "command" )
const ( TiDBGroupCondAvailable = "Available" TiDBGroupAvailableReason = "TiDBGroupAvailable" )
const ( TiFlashPortNameFlash = "tiflash" TiFlashPortNameProxy = "proxy" TiFlashPortNameMetrics = "metrics" TiFlashPortNameProxyStatus = "proxy-metrics" // both used for metrics and status, same name as v1 DefaultTiFlashPortFlash = 3930 DefaultTiFlashPortProxy = 20170 DefaultTiFlashPortMetrics = 8234 DefaultTiFlashPortProxyStatus = 20292 )
const ( TiKVPortNameClient = "client" TiKVPortNameStatus = "status" DefaultTiKVPortClient = 20160 DefaultTiKVPortStatus = 20180 )
const ( StoreStateUnknown = "Unknown" StoreStatePreparing = "Preparing" StoreStateServing = "Serving" StoreStateRemoving = "Removing" StoreStateRemoved = "Removed" )
const (
AnnoKeyInitialClusterNum = "pd.core.pingcap.com/initial-cluster-num"
)
const (
// Keep compatible with the bootstrap sql in v1
ConfigMapKeyBootstrapSQL = "bootstrap-sql"
)
All config map keys
const GroupName = "core.pingcap.com"
GroupName specifies the group name used to register the objects.
const (
// PDCondInitialized means the operator detects that the PD instance has joined the cluster
PDCondInitialized = "Initialized"
)
const ( // This policy is defined to evenly spread all instances of a group // e.g. we may hope tikvs can evenly spread in 3 az SchedulePolicyTypeEvenlySpread = "EvenlySpread" )
const (
TiKVCondLeadersEvicted = "LeadersEvicted"
)
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder // Deprecated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var ErrFieldIsManagedByOperator = errors.New("field is managed by operator, cannot be set in config file")
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}
GroupVersion specifies the group and the version used to register the objects.
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Cluster ¶
type Cluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterSpec `json:"spec,omitempty"` Status ClusterStatus `json:"status,omitempty"` }
Cluster defines a TiDB cluster
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterList ¶
type ClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Cluster `json:"items"` }
ClusterList defines a list of TiDB clusters
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterReference ¶
type ClusterReference struct {
Name string `json:"name"`
}
ClusterReference is a reference to cluster NOTE: namespace may be added into the reference in the future
func (*ClusterReference) DeepCopy ¶
func (in *ClusterReference) DeepCopy() *ClusterReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterReference.
func (*ClusterReference) DeepCopyInto ¶
func (in *ClusterReference) DeepCopyInto(out *ClusterReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSpec ¶
type ClusterSpec struct { // SuspendAction defines the suspend actions for the cluster. SuspendAction *SuspendAction `json:"suspendAction,omitempty"` // Whether enable the TLS connection between TiDB cluster components. TLSCluster *TLSCluster `json:"tlsCluster,omitempty"` // BootstrapSQL refers to a configmap which contains the bootstrap SQL file with the key `bootstrap-sql`, // which will only be executed when a TiDB cluster bootstrap on the first time. // Only v6.5.1+ supports this feature. BootstrapSQL *corev1.LocalObjectReference `json:"bootstrapSQL,omitempty"` // UpgradePolicy defines the upgrade policy for the cluster. UpgradePolicy UpgradePolicy `json:"upgradePolicy,omitempty"` // Paused specifies whether to pause the reconciliation loop for all components of the cluster. Paused bool `json:"paused,omitempty"` // RevisionHistoryLimit is the maximum number of revisions that will // be maintained in each Group's revision history. // The revision history consists of all revisions not represented by a currently applied version. // The default value is 10. // +kubebuilder:validation:Minimum=0 RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"` FeatureGates []meta.FeatureGate `json:"featureGates,omitempty"` }
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct { // observedGeneration is the most recent generation observed for this Cluster. It corresponds to the // Cluster's generation, which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"` // Components is the status of each component in the cluster. // +patchMergeKey=kind // +patchStrategy=merge // +listType=map // +listMapKey=kind Components []ComponentStatus `json:"components,omitempty" patchStrategy:"merge" patchMergeKey:"kind" protobuf:"bytes,1,rep,name=components"` // Conditions contains the current status of the cluster. // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` // ID is the cluster id. ID string `json:"id"` // PD means url of the pd service, it's prepared for internal use // e.g. https://pd:2379 PD string `json:"pd,omitempty"` // FeatureGates of this cluster FeatureGates []meta.FeatureGateStatus `json:"featureGates,omitempty"` }
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonStatus ¶
type CommonStatus struct { // Conditions contain details of the current state. Conditions []metav1.Condition `json:"conditions,omitempty"` // ObservedGeneration is the most recent generation observed by the controller. // It's used to determine whether the controller has reconciled the latest spec. ObservedGeneration int64 `json:"observedGeneration,omitempty"` // CurrentRevision is the revision of the Controller that created the resource. CurrentRevision string `json:"currentRevision,omitempty"` // UpdateRevision is the revision of the Controller that should modify the resource. UpdateRevision string `json:"updateRevision,omitempty"` // CollisionCount is the count of hash collisions. The controller // uses this field as a collision avoidance mechanism when it needs to create the name for the // newest ControllerRevision. // +optional CollisionCount *int32 `json:"collisionCount,omitempty"` }
CommonStatus defines common status fields for instances and groups managed by TiDB Operator.
func (*CommonStatus) DeepCopy ¶
func (in *CommonStatus) DeepCopy() *CommonStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonStatus.
func (*CommonStatus) DeepCopyInto ¶
func (in *CommonStatus) DeepCopyInto(out *CommonStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentKind ¶
type ComponentKind string
const ( ComponentKindPD ComponentKind = "PD" ComponentKindTiKV ComponentKind = "TiKV" ComponentKindTiDB ComponentKind = "TiDB" ComponentKindTiFlash ComponentKind = "TiFlash" ComponentKindTiCDC ComponentKind = "TiCDC" )
type ComponentStatus ¶
type ComponentStatus struct { // Kind is the kind of the component, e.g., PD, TiKV, TiDB, TiFlash. // +kubebuilder:validation:Required // +kubebuilder:validation:Enum=PD;TiKV;TiDB;TiFlash;TiCDC Kind ComponentKind `json:"kind"` // Replicas is the number of desired replicas of the component. // +kubebuilder:validation:Required Replicas int32 `json:"replicas"` }
ComponentStatus is the status of a component in the cluster.
func (*ComponentStatus) DeepCopy ¶
func (in *ComponentStatus) DeepCopy() *ComponentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentStatus.
func (*ComponentStatus) DeepCopyInto ¶
func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigFile ¶
type ConfigFile string
type ConfigUpdateStrategy ¶
type ConfigUpdateStrategy string
ConfigUpdateStrategy represents the strategy to update configuration.
const ( // ConfigUpdateStrategyHotReload updates config without restarting. ConfigUpdateStrategyHotReload ConfigUpdateStrategy = "HotReload" // ConfigUpdateStrategyRestart performs a restart to apply changed configs. ConfigUpdateStrategyRestart ConfigUpdateStrategy = "Restart" )
type GroupStatus ¶
type GroupStatus struct { // Version is the version of all instances in the group. // It will be same as the `spec.version` only when all instances are upgraded to the desired version. Version string `json:"version,omitempty"` // Replicas is the number of Instance created by the controller. Replicas int32 `json:"replicas"` // ReadyReplicas is the number of Instances created for this ComponentGroup with a Ready Condition. ReadyReplicas int32 `json:"readyReplicas"` // CurrentReplicas is the number of Instances created by the Group controller from the Group version // indicated by currentRevision. CurrentReplicas int32 `json:"currentReplicas"` // UpdatedReplicas is the number of Instances created by the Group controller from the Group version // indicated by updateRevision. UpdatedReplicas int32 `json:"updatedReplicas"` }
GroupStatus defines the common status fields for all component groups.
func (*GroupStatus) DeepCopy ¶
func (in *GroupStatus) DeepCopy() *GroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupStatus.
func (*GroupStatus) DeepCopyInto ¶
func (in *GroupStatus) DeepCopyInto(out *GroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectMeta ¶
type ObjectMeta struct { // Name must be unique within a namespace. Is required when creating resources, although // some resources may allow a client to request the generation of an appropriate name // automatically. Name is primarily intended for creation idempotence and configuration // definition. // Cannot be updated. // More info: http://kubernetes.io/docs/user-guide/identifiers#names // +optional Name string `json:"name,omitempty"` // Map of string keys and values that can be used to organize and categorize // (scope and select) objects. May match selectors of replication controllers // and services. // More info: http://kubernetes.io/docs/user-guide/labels // +optional Labels map[string]string `json:"labels,omitempty"` // Annotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. They are not // queryable and should be preserved when modifying objects. // More info: http://kubernetes.io/docs/user-guide/annotations // +optional Annotations map[string]string `json:"annotations,omitempty"` }
ObjectMeta is defined for replacing the embedded metav1.ObjectMeta Now only labels and annotations are allowed
func (*ObjectMeta) DeepCopy ¶
func (in *ObjectMeta) DeepCopy() *ObjectMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMeta.
func (*ObjectMeta) DeepCopyInto ¶
func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Overlay ¶
type Overlay struct { Pod *PodOverlay `json:"pod,omitempty"` PersistentVolumeClaims []PersistentVolumeClaimOverlay `json:"volumeClaims,omitempty"` }
Overlay defines some templates of k8s native resources. Users can specify this field to overlay the spec of managed resources(pod, pvcs, ...).
func (*Overlay) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Overlay.
func (*Overlay) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PD ¶
type PD struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PDSpec `json:"spec,omitempty"` Status PDStatus `json:"status,omitempty"` }
PD defines a PD instance
func (*PD) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PD.
func (*PD) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PD) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PDGroup ¶
type PDGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PDGroupSpec `json:"spec,omitempty"` Status PDGroupStatus `json:"status,omitempty"` }
PDGroup defines a group of similar PD instances
func (*PDGroup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDGroup.
func (*PDGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PDGroup) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PDGroupList ¶
type PDGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PDGroup `json:"items"` }
PDGroupList defines a list of PD groups
func (*PDGroupList) DeepCopy ¶
func (in *PDGroupList) DeepCopy() *PDGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDGroupList.
func (*PDGroupList) DeepCopyInto ¶
func (in *PDGroupList) DeepCopyInto(out *PDGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PDGroupList) DeepCopyObject ¶
func (in *PDGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PDGroupSpec ¶
type PDGroupSpec struct { Cluster ClusterReference `json:"cluster"` Replicas *int32 `json:"replicas"` // Bootstrapped means that pd cluster has been bootstrapped, // and there is no need to initialize a new cluster. // In other words, this PD group will just join an existing cluster. // Normally, this field is automatically changed by operator. // If it's true, it cannot be set to false for security Bootstrapped bool `json:"bootstrapped,omitempty"` // +listType=map // +listMapKey=type SchedulePolicies []SchedulePolicy `json:"schedulePolicies,omitempty"` Template PDTemplate `json:"template"` }
PDGroupSpec describes the common attributes of a PDGroup
func (*PDGroupSpec) DeepCopy ¶
func (in *PDGroupSpec) DeepCopy() *PDGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDGroupSpec.
func (*PDGroupSpec) DeepCopyInto ¶
func (in *PDGroupSpec) DeepCopyInto(out *PDGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PDGroupStatus ¶
type PDGroupStatus struct { CommonStatus `json:",inline"` GroupStatus `json:",inline"` }
func (*PDGroupStatus) DeepCopy ¶
func (in *PDGroupStatus) DeepCopy() *PDGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDGroupStatus.
func (*PDGroupStatus) DeepCopyInto ¶
func (in *PDGroupStatus) DeepCopyInto(out *PDGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PDList ¶
type PDList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PD `json:"items"` }
PDList defines a list of PD instances
func (*PDList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDList.
func (*PDList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PDList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PDPorts ¶
type PDPorts struct { // Client defines port for pd's api service Client *Port `json:"client,omitempty"` // Peer defines port for peer communication Peer *Port `json:"peer,omitempty"` }
func (*PDPorts) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDPorts.
func (*PDPorts) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PDServer ¶
type PDServer struct { // Ports defines all ports listened by pd Ports PDPorts `json:"ports,omitempty"` }
func (*PDServer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDServer.
func (*PDServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PDSpec ¶
type PDSpec struct { // Cluster is a reference of tidb cluster Cluster ClusterReference `json:"cluster"` // Topology defines the topology domain of this pd instance // It will be translated into a node affinity config // Topology cannot be changed Topology Topology `json:"topology,omitempty"` // Subdomain means the subdomain of the exported pd dns. // A same pd cluster will use a same subdomain Subdomain string `json:"subdomain"` // PDTemplateSpec embedded some fields managed by PDGroup PDTemplateSpec `json:",inline"` }
PDSpec describes the common attributes of a PD instance
func (*PDSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDSpec.
func (*PDSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PDStatus ¶
type PDStatus struct { CommonStatus `json:",inline"` // ID is the member id of this pd instance ID string `json:"id"` // IsLeader indicates whether this pd is the leader // NOTE: it's a snapshot from PD, not always up to date IsLeader bool `json:"isLeader"` }
func (*PDStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDStatus.
func (*PDStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PDTemplate ¶
type PDTemplate struct { ObjectMeta `json:"metadata,omitempty"` Spec PDTemplateSpec `json:"spec"` }
func (*PDTemplate) DeepCopy ¶
func (in *PDTemplate) DeepCopy() *PDTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDTemplate.
func (*PDTemplate) DeepCopyInto ¶
func (in *PDTemplate) DeepCopyInto(out *PDTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PDTemplateSpec ¶
type PDTemplateSpec struct { Version string `json:"version"` // Image is pd's image // If tag is omitted, version will be used as the image tag. // Default is pingcap/pd Image *string `json:"image,omitempty"` // Server defines server config for PD Server PDServer `json:"server,omitempty"` Resources ResourceRequirements `json:"resources,omitempty"` UpdateStrategy UpdateStrategy `json:"updateStrategy,omitempty"` // Config defines config file of PD Config ConfigFile `json:"config"` // Volumes defines persistent volumes of PD Volumes []Volume `json:"volumes"` // Overlay defines a k8s native resource template patch // All resources(pod, pvcs, ...) managed by PD can be overlayed by this field // +kubebuilder:validation:Schemaless // +kubebuilder:pruning:PreserveUnknownFields Overlay *Overlay `json:"overlay,omitempty"` }
PDTemplateSpec can only be specified in PDGroup TODO: It's name may need to be changed to distinguish from PodTemplateSpec
func (*PDTemplateSpec) DeepCopy ¶
func (in *PDTemplateSpec) DeepCopy() *PDTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDTemplateSpec.
func (*PDTemplateSpec) DeepCopyInto ¶
func (in *PDTemplateSpec) DeepCopyInto(out *PDTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PersistentVolumeClaimOverlay ¶
type PersistentVolumeClaimOverlay struct { ObjectMeta `json:"metadata,omitempty"` Spec *corev1.PersistentVolumeClaimSpec `json:"spec,omitempty"` }
func (*PersistentVolumeClaimOverlay) DeepCopy ¶
func (in *PersistentVolumeClaimOverlay) DeepCopy() *PersistentVolumeClaimOverlay
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimOverlay.
func (*PersistentVolumeClaimOverlay) DeepCopyInto ¶
func (in *PersistentVolumeClaimOverlay) DeepCopyInto(out *PersistentVolumeClaimOverlay)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodOverlay ¶
type PodOverlay struct { ObjectMeta `json:"metadata,omitempty"` Spec *corev1.PodSpec `json:"spec,omitempty"` }
func (*PodOverlay) DeepCopy ¶
func (in *PodOverlay) DeepCopy() *PodOverlay
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodOverlay.
func (*PodOverlay) DeepCopyInto ¶
func (in *PodOverlay) DeepCopyInto(out *PodOverlay)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Port ¶
type Port struct {
Port int32 `json:"port"`
}
Port defines a listen port
func (*Port) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Port.
func (*Port) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRequirements ¶
type ResourceRequirements struct { CPU *resource.Quantity `json:"cpu,omitempty"` Memory *resource.Quantity `json:"memory,omitempty"` }
ResourceRequirements describes the compute resource requirements. It's simplified from corev1.ResourceRequirements to fit the most common use cases. This field will be translated to requests=limits for all resources. If users need to specify more advanced resource requirements, just try to use overlay to override it
func (*ResourceRequirements) DeepCopy ¶
func (in *ResourceRequirements) DeepCopy() *ResourceRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequirements.
func (*ResourceRequirements) DeepCopyInto ¶
func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulePolicy ¶
type SchedulePolicy struct { Type SchedulePolicyType `json:"type"` EvenlySpread *SchedulePolicyEvenlySpread `json:"evenlySpread,omitempty"` }
SchedulePolicy defines how instances of the group schedules its pod.
func (*SchedulePolicy) DeepCopy ¶
func (in *SchedulePolicy) DeepCopy() *SchedulePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulePolicy.
func (*SchedulePolicy) DeepCopyInto ¶
func (in *SchedulePolicy) DeepCopyInto(out *SchedulePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulePolicyEvenlySpread ¶
type SchedulePolicyEvenlySpread struct { // All instances of a group will evenly spread in differnet topologies Topologies []ScheduleTopology `json:"topologies"` }
func (*SchedulePolicyEvenlySpread) DeepCopy ¶
func (in *SchedulePolicyEvenlySpread) DeepCopy() *SchedulePolicyEvenlySpread
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulePolicyEvenlySpread.
func (*SchedulePolicyEvenlySpread) DeepCopyInto ¶
func (in *SchedulePolicyEvenlySpread) DeepCopyInto(out *SchedulePolicyEvenlySpread)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulePolicyType ¶
type SchedulePolicyType string
type ScheduleTopology ¶
type ScheduleTopology struct { // Topology means the topo for scheduling Topology Topology `json:"topology"` // Weight defines how many pods will be scheduled to this topo // default is 1 Weight *int32 `json:"weight,omitempty"` }
func (*ScheduleTopology) DeepCopy ¶
func (in *ScheduleTopology) DeepCopy() *ScheduleTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleTopology.
func (*ScheduleTopology) DeepCopyInto ¶
func (in *ScheduleTopology) DeepCopyInto(out *ScheduleTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SuspendAction ¶
type SuspendAction struct { // SuspendCompute indicates delete the pods but keep the PVCs. SuspendCompute bool `json:"suspendCompute,omitempty"` }
func (*SuspendAction) DeepCopy ¶
func (in *SuspendAction) DeepCopy() *SuspendAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuspendAction.
func (*SuspendAction) DeepCopyInto ¶
func (in *SuspendAction) DeepCopyInto(out *SuspendAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLS ¶
type TLS struct {
Enabled bool `json:"enabled,omitempty"`
}
TLS defines a common tls config for all components Now it only support enable or disable. TODO(liubo02): add more tls configs
func (*TLS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.
func (*TLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSCluster ¶
type TLSCluster struct { // Enable mutual TLS connection between TiDB cluster components. // Once enabled, the mutual authentication applies to all components, // and it does not support applying to only part of the components. // The steps to enable this feature: // 1. Generate TiDB cluster components certificates and a client-side certifiacete for them. // There are multiple ways to generate these certificates: // - user-provided certificates: https://docs.pingcap.com/tidb/stable/generate-self-signed-certificates // - use the K8s built-in certificate signing system signed certificates: https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/ // - or use cert-manager signed certificates: https://cert-manager.io/ // 2. Create one secret object for one component group which contains the certificates created above. // The name of this Secret must be: <groupName>-<componentName>-cluster-secret. // For PD: kubectl create secret generic <groupName>-pd-cluster-secret --namespace=<namespace> --from-file=tls.crt=<path/to/tls.crt> --from-file=tls.key=<path/to/tls.key> --from-file=ca.crt=<path/to/ca.crt> // For TiKV: kubectl create secret generic <groupName>-tikv-cluster-secret --namespace=<namespace> --from-file=tls.crt=<path/to/tls.crt> --from-file=tls.key=<path/to/tls.key> --from-file=ca.crt=<path/to/ca.crt> // For TiDB: kubectl create secret generic <groupName>-tidb-cluster-secret --namespace=<namespace> --from-file=tls.crt=<path/to/tls.crt> --from-file=tls.key=<path/to/tls.key> --from-file=ca.crt=<path/to/ca.crt> // For Client: kubectl create secret generic <clusterName>-cluster-client-secret --namespace=<namespace> --from-file=tls.crt=<path/to/tls.crt> --from-file=tls.key=<path/to/tls.key> --from-file=ca.crt=<path/to/ca.crt> // Same for other components. // +optional Enabled bool `json:"enabled,omitempty"` }
TLSCluster is used to enable mutual TLS connection between TiDB cluster components. https://docs.pingcap.com/tidb/stable/enable-tls-between-components
func (*TLSCluster) DeepCopy ¶
func (in *TLSCluster) DeepCopy() *TLSCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCluster.
func (*TLSCluster) DeepCopyInto ¶
func (in *TLSCluster) DeepCopyInto(out *TLSCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiCDC ¶
type TiCDC struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TiCDCSpec `json:"spec,omitempty"` Status TiCDCStatus `json:"status,omitempty"` }
TiCDC defines a TiCDC instance
func (*TiCDC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDC.
func (*TiCDC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiCDC) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiCDCGroup ¶
type TiCDCGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TiCDCGroupSpec `json:"spec,omitempty"` Status TiCDCGroupStatus `json:"status,omitempty"` }
TiCDCGroup defines a group of similar TiCDC instances
func (*TiCDCGroup) DeepCopy ¶
func (in *TiCDCGroup) DeepCopy() *TiCDCGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDCGroup.
func (*TiCDCGroup) DeepCopyInto ¶
func (in *TiCDCGroup) DeepCopyInto(out *TiCDCGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiCDCGroup) DeepCopyObject ¶
func (in *TiCDCGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiCDCGroupList ¶
type TiCDCGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TiCDCGroup `json:"items"` }
TiCDCGroupList defines a list of TiCDC groups
func (*TiCDCGroupList) DeepCopy ¶
func (in *TiCDCGroupList) DeepCopy() *TiCDCGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDCGroupList.
func (*TiCDCGroupList) DeepCopyInto ¶
func (in *TiCDCGroupList) DeepCopyInto(out *TiCDCGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiCDCGroupList) DeepCopyObject ¶
func (in *TiCDCGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiCDCGroupSpec ¶
type TiCDCGroupSpec struct { Cluster ClusterReference `json:"cluster"` Replicas *int32 `json:"replicas"` // +listType=map // +listMapKey=type SchedulePolicies []SchedulePolicy `json:"schedulePolicies,omitempty"` Template TiCDCTemplate `json:"template"` }
TiCDCGroupSpec describes the common attributes of a TiCDCGroup
func (*TiCDCGroupSpec) DeepCopy ¶
func (in *TiCDCGroupSpec) DeepCopy() *TiCDCGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDCGroupSpec.
func (*TiCDCGroupSpec) DeepCopyInto ¶
func (in *TiCDCGroupSpec) DeepCopyInto(out *TiCDCGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiCDCGroupStatus ¶
type TiCDCGroupStatus struct { CommonStatus `json:",inline"` GroupStatus `json:",inline"` }
func (*TiCDCGroupStatus) DeepCopy ¶
func (in *TiCDCGroupStatus) DeepCopy() *TiCDCGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDCGroupStatus.
func (*TiCDCGroupStatus) DeepCopyInto ¶
func (in *TiCDCGroupStatus) DeepCopyInto(out *TiCDCGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiCDCList ¶
type TiCDCList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TiCDC `json:"items"` }
TiCDCList defines a list of TiCDC instances
func (*TiCDCList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDCList.
func (*TiCDCList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiCDCList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiCDCPorts ¶
type TiCDCPorts struct { // Port defines main port for TiCDC. Port *Port `json:"port,omitempty"` }
func (*TiCDCPorts) DeepCopy ¶
func (in *TiCDCPorts) DeepCopy() *TiCDCPorts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDCPorts.
func (*TiCDCPorts) DeepCopyInto ¶
func (in *TiCDCPorts) DeepCopyInto(out *TiCDCPorts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiCDCServer ¶
type TiCDCServer struct { // Ports defines all ports listened by TiCDC Ports TiCDCPorts `json:"ports,omitempty"` }
func (*TiCDCServer) DeepCopy ¶
func (in *TiCDCServer) DeepCopy() *TiCDCServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDCServer.
func (*TiCDCServer) DeepCopyInto ¶
func (in *TiCDCServer) DeepCopyInto(out *TiCDCServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiCDCSpec ¶
type TiCDCSpec struct { // Cluster is a reference of tidb cluster Cluster ClusterReference `json:"cluster"` // Topology defines the topology domain of this TiCDC instance // It will be translated into a node affinity config // Topology cannot be changed Topology Topology `json:"topology,omitempty"` // Subdomain means the subdomain of the exported TiCDC DNS. // A same TiCDC cluster will use a same subdomain Subdomain string `json:"subdomain"` // TiCDCTemplateSpec embedded some fields managed by TiCDCGroup TiCDCTemplateSpec `json:",inline"` }
TiCDCSpec describes the common attributes of a TiCDC instance
func (*TiCDCSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDCSpec.
func (*TiCDCSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiCDCStatus ¶
type TiCDCStatus struct { CommonStatus `json:",inline"` // ID is the member id of this TiCDC instance ID string `json:"id"` }
func (*TiCDCStatus) DeepCopy ¶
func (in *TiCDCStatus) DeepCopy() *TiCDCStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDCStatus.
func (*TiCDCStatus) DeepCopyInto ¶
func (in *TiCDCStatus) DeepCopyInto(out *TiCDCStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiCDCTemplate ¶
type TiCDCTemplate struct { ObjectMeta `json:"metadata,omitempty"` Spec TiCDCTemplateSpec `json:"spec"` }
func (*TiCDCTemplate) DeepCopy ¶
func (in *TiCDCTemplate) DeepCopy() *TiCDCTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDCTemplate.
func (*TiCDCTemplate) DeepCopyInto ¶
func (in *TiCDCTemplate) DeepCopyInto(out *TiCDCTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiCDCTemplateSpec ¶
type TiCDCTemplateSpec struct { Version string `json:"version"` // Image is TiCDC's image // If tag is omitted, version will be used as the image tag. // Default is pingcap/ticdc Image *string `json:"image,omitempty"` // Server defines server config for TiCDC Server TiCDCServer `json:"server,omitempty"` Resources ResourceRequirements `json:"resources,omitempty"` UpdateStrategy UpdateStrategy `json:"updateStrategy,omitempty"` // Config defines config file of TiCDC Config ConfigFile `json:"config,omitempty"` // Volumes defines persistent volumes of TiCDC, it is optional. // If you want to use ephemeral storage or mount sink TLS certs, you can use "overlay" instead. Volumes []Volume `json:"volumes,omitempty"` // Overlay defines a k8s native resource template patch // All resources(pod, pvcs, ...) managed by TiCDC can be overlayed by this field // +kubebuilder:validation:Schemaless // +kubebuilder:pruning:PreserveUnknownFields Overlay *Overlay `json:"overlay,omitempty"` // GracefulShutdownTimeout is the timeout of gracefully shutdown a TiCDC pod // when scaling in or rolling update. // Encoded in the format of Go Duration. // Defaults to 10m GracefulShutdownTimeout *metav1.Duration `json:"gracefulShutdownTimeout,omitempty"` }
TiCDCTemplateSpec can only be specified in TiCDCGroup
func (*TiCDCTemplateSpec) DeepCopy ¶
func (in *TiCDCTemplateSpec) DeepCopy() *TiCDCTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiCDCTemplateSpec.
func (*TiCDCTemplateSpec) DeepCopyInto ¶
func (in *TiCDCTemplateSpec) DeepCopyInto(out *TiCDCTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDB ¶
type TiDB struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TiDBSpec `json:"spec,omitempty"` Status TiDBStatus `json:"status,omitempty"` }
TiDB defines a TiDB instance.
func (*TiDB) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDB.
func (*TiDB) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiDB) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiDBAuthToken ¶
type TiDBAuthToken struct { // Secret name of jwks JWKs corev1.LocalObjectReference `json:"jwks"` }
func (*TiDBAuthToken) DeepCopy ¶
func (in *TiDBAuthToken) DeepCopy() *TiDBAuthToken
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBAuthToken.
func (*TiDBAuthToken) DeepCopyInto ¶
func (in *TiDBAuthToken) DeepCopyInto(out *TiDBAuthToken)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBGroup ¶
type TiDBGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TiDBGroupSpec `json:"spec,omitempty"` Status TiDBGroupStatus `json:"status,omitempty"` }
TiDBGroup defines a group of similar TiDB instances.
func (*TiDBGroup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBGroup.
func (*TiDBGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiDBGroup) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiDBGroupList ¶
type TiDBGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TiDBGroup `json:"items"` }
TiDBGroupList defines a list of TiDB groups
func (*TiDBGroupList) DeepCopy ¶
func (in *TiDBGroupList) DeepCopy() *TiDBGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBGroupList.
func (*TiDBGroupList) DeepCopyInto ¶
func (in *TiDBGroupList) DeepCopyInto(out *TiDBGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiDBGroupList) DeepCopyObject ¶
func (in *TiDBGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiDBGroupSpec ¶
type TiDBGroupSpec struct { Cluster ClusterReference `json:"cluster"` Replicas *int32 `json:"replicas"` // Service defines some fields used to override the default service. Service *TiDBService `json:"service,omitempty"` // +listType=map // +listMapKey=type SchedulePolicies []SchedulePolicy `json:"schedulePolicies,omitempty"` Template TiDBTemplate `json:"template"` }
TiDBGroupSpec describes the common attributes of a TiDBGroup.
func (*TiDBGroupSpec) DeepCopy ¶
func (in *TiDBGroupSpec) DeepCopy() *TiDBGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBGroupSpec.
func (*TiDBGroupSpec) DeepCopyInto ¶
func (in *TiDBGroupSpec) DeepCopyInto(out *TiDBGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBGroupStatus ¶
type TiDBGroupStatus struct { CommonStatus `json:",inline"` GroupStatus `json:",inline"` }
func (*TiDBGroupStatus) DeepCopy ¶
func (in *TiDBGroupStatus) DeepCopy() *TiDBGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBGroupStatus.
func (*TiDBGroupStatus) DeepCopyInto ¶
func (in *TiDBGroupStatus) DeepCopyInto(out *TiDBGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBList ¶
type TiDBList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TiDB `json:"items"` }
TiDBList defines a list of TiDB instances.
func (*TiDBList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBList.
func (*TiDBList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiDBList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiDBPorts ¶
type TiDBPorts struct { // Client defines port for TiDB's SQL service. Client *Port `json:"client,omitempty"` // Status defines port for TiDB status API. Status *Port `json:"status,omitempty"` }
func (*TiDBPorts) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBPorts.
func (*TiDBPorts) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBProb ¶
type TiDBProb struct { // "tcp" will use TCP socket to connect component port. // "command" will probe the status api of tidb. // +kubebuilder:validation:Enum=tcp;command Type *string `json:"type,omitempty"` }
func (*TiDBProb) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBProb.
func (*TiDBProb) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBProbes ¶
type TiDBProbes struct { // Readiness defines the readiness probe for TiDB. // The default handler is a TCP socket on the client port. Readiness *TiDBProb `json:"readiness,omitempty"` }
func (*TiDBProbes) DeepCopy ¶
func (in *TiDBProbes) DeepCopy() *TiDBProbes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBProbes.
func (*TiDBProbes) DeepCopyInto ¶
func (in *TiDBProbes) DeepCopyInto(out *TiDBProbes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBSecurity ¶
type TiDBSecurity struct { // Whether enable the TLS connection between the TiDB server and MySQL client. // TODO(liubo02): rename the TiDBTLSClient struct, TLS *TiDBTLS `json:"tls,omitempty"` // Whether enable `tidb_auth_token` authentication method. // To enable this feature, a K8s secret named `<groupName>-tidb-auth-token-jwks-secret` must be created to store the JWKs. // ref: https://docs.pingcap.com/tidb/stable/security-compatibility-with-mysql#tidb_auth_token // Defaults to false. AuthToken *TiDBAuthToken `json:"authToken,omitempty"` }
func (*TiDBSecurity) DeepCopy ¶
func (in *TiDBSecurity) DeepCopy() *TiDBSecurity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBSecurity.
func (*TiDBSecurity) DeepCopyInto ¶
func (in *TiDBSecurity) DeepCopyInto(out *TiDBSecurity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBServer ¶
type TiDBServer struct { // Port defines all ports listened by TiDB. Ports TiDBPorts `json:"ports,omitempty"` }
func (*TiDBServer) DeepCopy ¶
func (in *TiDBServer) DeepCopy() *TiDBServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBServer.
func (*TiDBServer) DeepCopyInto ¶
func (in *TiDBServer) DeepCopyInto(out *TiDBServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBService ¶
type TiDBService struct { // type determines how the Service is exposed. Defaults to ClusterIP. Valid // options are ExternalName, ClusterIP, NodePort, and LoadBalancer. // "ClusterIP" allocates a cluster-internal IP address for load-balancing // to endpoints. Endpoints are determined by the selector or if that is not // specified, by manual construction of an Endpoints object or // EndpointSlice objects. If clusterIP is "None", no virtual IP is // allocated and the endpoints are published as a set of endpoints rather // than a virtual IP. // "NodePort" builds on ClusterIP and allocates a port on every node which // routes to the same endpoints as the clusterIP. // "LoadBalancer" builds on NodePort and creates an external load-balancer // (if supported in the current cloud) which routes to the same endpoints // as the clusterIP. // "ExternalName" aliases this service to the specified externalName. // Several other fields do not apply to ExternalName services. // More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types // +optional Type corev1.ServiceType `json:"type,omitempty"` }
TiDBService defines some fields used to override the default service.
func (*TiDBService) DeepCopy ¶
func (in *TiDBService) DeepCopy() *TiDBService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBService.
func (*TiDBService) DeepCopyInto ¶
func (in *TiDBService) DeepCopyInto(out *TiDBService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBSlowLog ¶
type TiDBSlowLog struct { // Disabled indicates whether the separate slow log is disabled. // Defaults to false. In other words, the separate slow log is enabled by default. Disabled bool `json:"disable,omitempty"` // Image to tail slowlog to stdout // Default is busybox:1.37.0 Image *string `json:"image,omitempty"` // ResourceRequirements defines the resource requirements for the slow log sidecar. Resources ResourceRequirements `json:"resources,omitempty"` }
func (*TiDBSlowLog) DeepCopy ¶
func (in *TiDBSlowLog) DeepCopy() *TiDBSlowLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBSlowLog.
func (*TiDBSlowLog) DeepCopyInto ¶
func (in *TiDBSlowLog) DeepCopyInto(out *TiDBSlowLog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBSpec ¶
type TiDBSpec struct { Cluster ClusterReference `json:"cluster"` // Topology defines the topology domain of this TiDB instance. // It will be translated into a node affnity config. // Topology cannot be changed. Topology Topology `json:"topology,omitempty"` // Subdomain means the subdomain of the exported pd dns. // A same pd cluster will use a same subdomain Subdomain string `json:"subdomain"` // TiDBTemplateSpec embeded some fields managed by TiDBGroup. TiDBTemplateSpec `json:",inline"` }
func (*TiDBSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBSpec.
func (*TiDBSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBStatus ¶
type TiDBStatus struct {
CommonStatus `json:",inline"`
}
func (*TiDBStatus) DeepCopy ¶
func (in *TiDBStatus) DeepCopy() *TiDBStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBStatus.
func (*TiDBStatus) DeepCopyInto ¶
func (in *TiDBStatus) DeepCopyInto(out *TiDBStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBTLS ¶
type TiDBTLS struct { // When enabled, TiDB will accept TLS encrypted connections from MySQL clients. // The steps to enable this feature: // 1. Generate a TiDB server-side certificate and a client-side certifiacete for the TiDB cluster. // There are multiple ways to generate certificates: // - user-provided certificates: https://docs.pingcap.com/tidb/stable/generate-self-signed-certificates // - use the K8s built-in certificate signing system signed certificates: https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/ // - or use cert-manager signed certificates: https://cert-manager.io/ // 2. Create a K8s Secret object which contains the TiDB server-side certificate created above. // The name of this Secret must be: <groupName>-tidb-server-secret. // kubectl create secret generic <groupName>-tidb-server-secret --namespace=<namespace> --from-file=tls.crt=<path/to/tls.crt> --from-file=tls.key=<path/to/tls.key> --from-file=ca.crt=<path/to/ca.crt> // 3. Create a K8s Secret object which contains the TiDB client-side certificate created above which will be used by TiDB Operator. // The name of this Secret must be: <groupName>-tidb-client-secret. // kubectl create secret generic <groupName>-tidb-client-secret --namespace=<namespace> --from-file=tls.crt=<path/to/tls.crt> --from-file=tls.key=<path/to/tls.key> --from-file=ca.crt=<path/to/ca.crt> // 4. Set Enabled to `true`. MySQL *TLS `json:"mysql,omitempty"` }
func (*TiDBTLS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBTLS.
func (*TiDBTLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBTemplate ¶
type TiDBTemplate struct { ObjectMeta `json:"metadata,omitempty"` Spec TiDBTemplateSpec `json:"spec"` }
func (*TiDBTemplate) DeepCopy ¶
func (in *TiDBTemplate) DeepCopy() *TiDBTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBTemplate.
func (*TiDBTemplate) DeepCopyInto ¶
func (in *TiDBTemplate) DeepCopyInto(out *TiDBTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiDBTemplateSpec ¶
type TiDBTemplateSpec struct { Version string `json:"version"` // Image is tidb's image // If tag is omitted, version will be used as the image tag. // Default is pingcap/tidb Image *string `json:"image,omitempty"` // Server defines the server configuration of TiDB. Server TiDBServer `json:"server,omitempty"` // Probes defines probes for TiDB. Probes TiDBProbes `json:"probes,omitempty"` // Resources defines resource required by TiDB. Resources ResourceRequirements `json:"resources,omitempty"` // Config defines config file of TiDB. Config ConfigFile `json:"config"` UpdateStrategy UpdateStrategy `json:"updateStrategy,omitempty"` Security *TiDBSecurity `json:"security,omitempty"` // Volumes defines data volume of TiDB, it is optional. Volumes []Volume `json:"volumes,omitempty"` // SlowLog defines the separate slow log configuration for TiDB. // When enabled, a sidecar container will be created to output the slow log to its stdout. SlowLog *TiDBSlowLog `json:"slowLog,omitempty"` // Overlay defines a k8s native resource template patch. // All resources(pod, pvcs, ...) managed by TiDB can be overlayed by this field. // +kubebuilder:validation:Schemaless // +kubebuilder:pruning:PreserveUnknownFields Overlay *Overlay `json:"overlay,omitempty"` }
TiDBTemplateSpec can only be specified in TiDBGroup.
func (*TiDBTemplateSpec) DeepCopy ¶
func (in *TiDBTemplateSpec) DeepCopy() *TiDBTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiDBTemplateSpec.
func (*TiDBTemplateSpec) DeepCopyInto ¶
func (in *TiDBTemplateSpec) DeepCopyInto(out *TiDBTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiFlash ¶
type TiFlash struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TiFlashSpec `json:"spec,omitempty"` Status TiFlashStatus `json:"status,omitempty"` }
TiFlash defines a TiFlash instance
func (*TiFlash) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlash.
func (*TiFlash) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiFlash) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiFlashGroup ¶
type TiFlashGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TiFlashGroupSpec `json:"spec,omitempty"` Status TiFlashGroupStatus `json:"status,omitempty"` }
TiFlashGroup defines a group of similar TiFlash instances
func (*TiFlashGroup) DeepCopy ¶
func (in *TiFlashGroup) DeepCopy() *TiFlashGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashGroup.
func (*TiFlashGroup) DeepCopyInto ¶
func (in *TiFlashGroup) DeepCopyInto(out *TiFlashGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiFlashGroup) DeepCopyObject ¶
func (in *TiFlashGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiFlashGroupList ¶
type TiFlashGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TiFlashGroup `json:"items"` }
TiFlashGroupList defines a list of TiFlash groups
func (*TiFlashGroupList) DeepCopy ¶
func (in *TiFlashGroupList) DeepCopy() *TiFlashGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashGroupList.
func (*TiFlashGroupList) DeepCopyInto ¶
func (in *TiFlashGroupList) DeepCopyInto(out *TiFlashGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiFlashGroupList) DeepCopyObject ¶
func (in *TiFlashGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiFlashGroupSpec ¶
type TiFlashGroupSpec struct { Cluster ClusterReference `json:"cluster"` Replicas *int32 `json:"replicas"` // +listType=map // +listMapKey=type SchedulePolicies []SchedulePolicy `json:"schedulePolicies,omitempty"` Template TiFlashTemplate `json:"template"` }
func (*TiFlashGroupSpec) DeepCopy ¶
func (in *TiFlashGroupSpec) DeepCopy() *TiFlashGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashGroupSpec.
func (*TiFlashGroupSpec) DeepCopyInto ¶
func (in *TiFlashGroupSpec) DeepCopyInto(out *TiFlashGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiFlashGroupStatus ¶
type TiFlashGroupStatus struct { CommonStatus `json:",inline"` GroupStatus `json:",inline"` }
func (*TiFlashGroupStatus) DeepCopy ¶
func (in *TiFlashGroupStatus) DeepCopy() *TiFlashGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashGroupStatus.
func (*TiFlashGroupStatus) DeepCopyInto ¶
func (in *TiFlashGroupStatus) DeepCopyInto(out *TiFlashGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiFlashList ¶
type TiFlashList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TiFlash `json:"items"` }
TiFlashList defines a list of TiFlash instances
func (*TiFlashList) DeepCopy ¶
func (in *TiFlashList) DeepCopy() *TiFlashList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashList.
func (*TiFlashList) DeepCopyInto ¶
func (in *TiFlashList) DeepCopyInto(out *TiFlashList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiFlashList) DeepCopyObject ¶
func (in *TiFlashList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiFlashLogTailer ¶
type TiFlashLogTailer struct { // Image to tail log to stdout // Default is busybox:1.37.0 Image *string `json:"image,omitempty"` // ResourceRequirements defines the resource requirements for the log sidecar. Resources ResourceRequirements `json:"resources,omitempty"` }
func (*TiFlashLogTailer) DeepCopy ¶
func (in *TiFlashLogTailer) DeepCopy() *TiFlashLogTailer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashLogTailer.
func (*TiFlashLogTailer) DeepCopyInto ¶
func (in *TiFlashLogTailer) DeepCopyInto(out *TiFlashLogTailer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiFlashPorts ¶
type TiFlashPorts struct { Flash *Port `json:"flash,omitempty"` Metrics *Port `json:"metrics,omitempty"` Proxy *Port `json:"proxy,omitempty"` ProxyStatus *Port `json:"proxyStatus,omitempty"` }
func (*TiFlashPorts) DeepCopy ¶
func (in *TiFlashPorts) DeepCopy() *TiFlashPorts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashPorts.
func (*TiFlashPorts) DeepCopyInto ¶
func (in *TiFlashPorts) DeepCopyInto(out *TiFlashPorts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiFlashServer ¶
type TiFlashServer struct { // Ports defines all ports listened by tiflash Ports TiFlashPorts `json:"ports,omitempty"` }
func (*TiFlashServer) DeepCopy ¶
func (in *TiFlashServer) DeepCopy() *TiFlashServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashServer.
func (*TiFlashServer) DeepCopyInto ¶
func (in *TiFlashServer) DeepCopyInto(out *TiFlashServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiFlashSpec ¶
type TiFlashSpec struct { // Cluster is a reference of tidb cluster Cluster ClusterReference `json:"cluster"` // Topology defines the topology domain of this pd instance // It will be translated into a node affinity config // Topology cannot be changed Topology Topology `json:"topology,omitempty"` // Subdomain means the subdomain of the exported TiFlash dns. // A same TiFlash group will use a same subdomain Subdomain string `json:"subdomain"` // TiFlashTemplateSpec embedded some fields managed by TiFlashGroup TiFlashTemplateSpec `json:",inline"` }
func (*TiFlashSpec) DeepCopy ¶
func (in *TiFlashSpec) DeepCopy() *TiFlashSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashSpec.
func (*TiFlashSpec) DeepCopyInto ¶
func (in *TiFlashSpec) DeepCopyInto(out *TiFlashSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiFlashStatus ¶
type TiFlashStatus struct { CommonStatus `json:",inline"` // Store ID ID string `json:"id,omitempty"` // Store State State string `json:"state,omitempty"` }
func (*TiFlashStatus) DeepCopy ¶
func (in *TiFlashStatus) DeepCopy() *TiFlashStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashStatus.
func (*TiFlashStatus) DeepCopyInto ¶
func (in *TiFlashStatus) DeepCopyInto(out *TiFlashStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiFlashTemplate ¶
type TiFlashTemplate struct { ObjectMeta `json:"metadata,omitempty"` Spec TiFlashTemplateSpec `json:"spec"` }
func (*TiFlashTemplate) DeepCopy ¶
func (in *TiFlashTemplate) DeepCopy() *TiFlashTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashTemplate.
func (*TiFlashTemplate) DeepCopyInto ¶
func (in *TiFlashTemplate) DeepCopyInto(out *TiFlashTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiFlashTemplateSpec ¶
type TiFlashTemplateSpec struct { Version string `json:"version"` // Image is tiflash's image // If tag is omitted, version will be used as the image tag. // Default is pingcap/tiflash Image *string `json:"image,omitempty"` // Server defines the server config of TiFlash Server TiFlashServer `json:"server,omitempty"` // Resources defines resource required by TiFlash Resources ResourceRequirements `json:"resources,omitempty"` // Config defines config file of TiFlash Config ConfigFile `json:"config"` UpdateStrategy UpdateStrategy `json:"updateStrategy,omitempty"` // ProxyConfig defines config file of TiFlash proxy ProxyConfig ConfigFile `json:"proxyConfig,omitempty"` // Volumes defines data volume of TiFlash Volumes []Volume `json:"volumes"` // LogTailer defines the sidercar log tailer config of TiFlash. // We always use sidecar to tail the log of TiFlash now. LogTailer *TiFlashLogTailer `json:"logTailer,omitempty"` // Overlay defines a k8s native resource template patch // All resources(pod, pvcs, ...) managed by TiFlash can be overlayed by this field // +kubebuilder:validation:Schemaless // +kubebuilder:pruning:PreserveUnknownFields Overlay *Overlay `json:"overlay,omitempty"` }
func (*TiFlashTemplateSpec) DeepCopy ¶
func (in *TiFlashTemplateSpec) DeepCopy() *TiFlashTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiFlashTemplateSpec.
func (*TiFlashTemplateSpec) DeepCopyInto ¶
func (in *TiFlashTemplateSpec) DeepCopyInto(out *TiFlashTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiKV ¶
type TiKV struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TiKVSpec `json:"spec,omitempty"` Status TiKVStatus `json:"status,omitempty"` }
TiKV defines a TiKV instance
func (*TiKV) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKV.
func (*TiKV) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiKV) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiKVGroup ¶
type TiKVGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TiKVGroupSpec `json:"spec,omitempty"` Status TiKVGroupStatus `json:"status,omitempty"` }
TiKVGroup defines a group of similar TiKV instances
func (*TiKVGroup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVGroup.
func (*TiKVGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiKVGroup) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiKVGroupList ¶
type TiKVGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TiKVGroup `json:"items"` }
TiKVGroupList defines a list of TiKV groups
func (*TiKVGroupList) DeepCopy ¶
func (in *TiKVGroupList) DeepCopy() *TiKVGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVGroupList.
func (*TiKVGroupList) DeepCopyInto ¶
func (in *TiKVGroupList) DeepCopyInto(out *TiKVGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiKVGroupList) DeepCopyObject ¶
func (in *TiKVGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiKVGroupSpec ¶
type TiKVGroupSpec struct { Cluster ClusterReference `json:"cluster"` Replicas *int32 `json:"replicas"` // +listType=map // +listMapKey=type SchedulePolicies []SchedulePolicy `json:"schedulePolicies,omitempty"` Template TiKVTemplate `json:"template"` }
TiKVGroupSpec describes the common attributes of a TiKVGroup
func (*TiKVGroupSpec) DeepCopy ¶
func (in *TiKVGroupSpec) DeepCopy() *TiKVGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVGroupSpec.
func (*TiKVGroupSpec) DeepCopyInto ¶
func (in *TiKVGroupSpec) DeepCopyInto(out *TiKVGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiKVGroupStatus ¶
type TiKVGroupStatus struct { CommonStatus `json:",inline"` GroupStatus `json:",inline"` }
func (*TiKVGroupStatus) DeepCopy ¶
func (in *TiKVGroupStatus) DeepCopy() *TiKVGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVGroupStatus.
func (*TiKVGroupStatus) DeepCopyInto ¶
func (in *TiKVGroupStatus) DeepCopyInto(out *TiKVGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiKVList ¶
type TiKVList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TiKV `json:"items"` }
TiKVList defines a list of TiKV instances
func (*TiKVList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVList.
func (*TiKVList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TiKVList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TiKVPorts ¶
type TiKVPorts struct { // Client defines port for tikv's api service Client *Port `json:"client,omitempty"` // Status defines port for tikv status api Status *Port `json:"peer,omitempty"` }
func (*TiKVPorts) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVPorts.
func (*TiKVPorts) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiKVPreStop ¶
type TiKVPreStop struct { // Image of pre stop checker // Default is pingcap/prestop-checker:latest Image *string `json:"image,omitempty"` }
func (*TiKVPreStop) DeepCopy ¶
func (in *TiKVPreStop) DeepCopy() *TiKVPreStop
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVPreStop.
func (*TiKVPreStop) DeepCopyInto ¶
func (in *TiKVPreStop) DeepCopyInto(out *TiKVPreStop)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiKVServer ¶
type TiKVServer struct { // Ports defines all ports listened by tikv Ports TiKVPorts `json:"ports,omitempty"` }
func (*TiKVServer) DeepCopy ¶
func (in *TiKVServer) DeepCopy() *TiKVServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVServer.
func (*TiKVServer) DeepCopyInto ¶
func (in *TiKVServer) DeepCopyInto(out *TiKVServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiKVSpec ¶
type TiKVSpec struct { // Cluster is a reference of tidb cluster Cluster ClusterReference `json:"cluster"` // Topology defines the topology domain of this pd instance // It will be translated into a node affinity config // Topology cannot be changed Topology Topology `json:"topology,omitempty"` // Subdomain means the subdomain of the exported tikv dns. // A same tikv group will use a same subdomain Subdomain string `json:"subdomain"` // TiKVTemplateSpec embedded some fields managed by TiKVGroup TiKVTemplateSpec `json:",inline"` }
func (*TiKVSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVSpec.
func (*TiKVSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiKVStatus ¶
type TiKVStatus struct { CommonStatus `json:",inline"` // Store ID ID string `json:"id,omitempty"` // Store State State string `json:"state,omitempty"` }
func (*TiKVStatus) DeepCopy ¶
func (in *TiKVStatus) DeepCopy() *TiKVStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVStatus.
func (*TiKVStatus) DeepCopyInto ¶
func (in *TiKVStatus) DeepCopyInto(out *TiKVStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiKVTemplate ¶
type TiKVTemplate struct { ObjectMeta `json:"metadata,omitempty"` Spec TiKVTemplateSpec `json:"spec"` }
func (*TiKVTemplate) DeepCopy ¶
func (in *TiKVTemplate) DeepCopy() *TiKVTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVTemplate.
func (*TiKVTemplate) DeepCopyInto ¶
func (in *TiKVTemplate) DeepCopyInto(out *TiKVTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TiKVTemplateSpec ¶
type TiKVTemplateSpec struct { Version string `json:"version"` // Image is tikv's image // If tag is omitted, version will be used as the image tag. // Default is pingcap/tikv Image *string `json:"image,omitempty"` // Server defines the server config of TiKV Server TiKVServer `json:"server,omitempty"` // Resources defines resource required by TiKV Resources ResourceRequirements `json:"resources,omitempty"` // Config defines config file of TiKV Config ConfigFile `json:"config"` UpdateStrategy UpdateStrategy `json:"updateStrategy,omitempty"` // Volumes defines data volume of TiKV Volumes []Volume `json:"volumes"` // PreStop defines preStop config PreStop *TiKVPreStop `json:"preStop,omitempty"` // Overlay defines a k8s native resource template patch // All resources(pod, pvcs, ...) managed by TiKV can be overlayed by this field // +kubebuilder:validation:Schemaless // +kubebuilder:pruning:PreserveUnknownFields Overlay *Overlay `json:"overlay,omitempty"` }
TiKVTemplateSpec can only be specified in TiKVGroup TODO: It's name may need to be changed to distinguish from PodTemplateSpec
func (*TiKVTemplateSpec) DeepCopy ¶
func (in *TiKVTemplateSpec) DeepCopy() *TiKVTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TiKVTemplateSpec.
func (*TiKVTemplateSpec) DeepCopyInto ¶
func (in *TiKVTemplateSpec) DeepCopyInto(out *TiKVTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Topology ¶
Topology means the topo for scheduling e.g. topology.kubernetes.io/zone: us-west-1a It will be translated to pod.spec.nodeSelector IMPORTANT: Topology is immutable for an instance
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 UpdateStrategy ¶
type UpdateStrategy struct { // Config determines how the configuration change is applied to the cluster. // Valid values are "Restart" (by default) and "HotReload". // +kubebuilder:validation:Enum=Restart;HotReload // +kubebuilder:default="Restart" Config ConfigUpdateStrategy `json:"config,omitempty"` }
func (*UpdateStrategy) DeepCopy ¶
func (in *UpdateStrategy) DeepCopy() *UpdateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStrategy.
func (*UpdateStrategy) DeepCopyInto ¶
func (in *UpdateStrategy) DeepCopyInto(out *UpdateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpgradePolicy ¶
type UpgradePolicy string
const ( // UpgradePolicyDefault means the cluster will be upgraded in the following order: // PD, TiProxy, TiFlash, TiKV, TiDB. UpgradePolicyDefault UpgradePolicy = "Default" // UpgradePolicyNoConstraints means the cluster will be upgraded without any constraints, // all components will be upgraded at the same time. UpgradePolicyNoConstraints UpgradePolicy = "NoConstraints" )
type Volume ¶
type Volume struct { // Name is volume name. // If not specified, the PVC name will be "{component}-{podName}" Name string `json:"name,omitempty"` // Mounts defines mount infos of this volume Mounts []VolumeMount `json:"mounts"` // Storage defines the request size of this volume Storage resource.Quantity `json:"storage"` // StorageClassName means the storage class the volume used. // You can modify volumes' attributes by changing the StorageClass // when VolumeAttributesClass is not available. // Note that only newly created PV will use the new StorageClass. StorageClassName *string `json:"storageClassName,omitempty"` // VolumeAttributesClassName means the VolumeAttributesClass the volume used. // You can modify volumes' attributes by changing it. // This feature is introduced since K8s 1.29 as alpha feature and disabled by default. // It's only available when the feature is enabled. VolumeAttributesClassName *string `json:"volumeAttributesClassName,omitempty"` }
Volume defines a persistent volume, it will be mounted at a specified root path A volume can be mounted for multiple different usages. For example, a volume can be mounted for both data and raft log.
func (*Volume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeMount ¶
type VolumeMount struct { // Type is a type of the volume mount. Type VolumeMountType `json:"type"` // Mount path of volume, if it's not set, use the default path of this type. // TODO: webhook for empty path if it's not a built-in type. MountPath string `json:"mountPath,omitempty"` // SubPath is the path of the volume's root path. SubPath string `json:"subPath,omitempty"` }
func (*VolumeMount) DeepCopy ¶
func (in *VolumeMount) DeepCopy() *VolumeMount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeMount.
func (*VolumeMount) DeepCopyInto ¶
func (in *VolumeMount) DeepCopyInto(out *VolumeMount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeMountType ¶
type VolumeMountType string
const ( // VolumeMountTypePDData means data dir of PD VolumeMountTypePDData VolumeMountType = "data" VolumeMountPDDataDefaultPath = "/var/lib/pd" )
const ( // VolumeUsageTypeTiDBSlowLog means the data dir of slowlog // Users can define a persistent volume for slowlog, or an emptydir will be used. VolumeMountTypeTiDBSlowLog VolumeMountType = "slowlog" VolumeMountTiDBSlowLogDefaultPath = "/var/log/tidb" )
const ( // VolumeMountTypeTiFlashData is the main data dir for the tiflash VolumeMountTypeTiFlashData VolumeMountType = "data" VolumeMountTiFlashDataDefaultPath = "/var/lib/tiflash" )
const ( // VolumeMountTypeTiKVData is the main data dir for the tikv // The default sub path of this type is "" VolumeMountTypeTiKVData VolumeMountType = "data" VolumeMountTiKVDataDefaultPath = "/var/lib/tikv" )