Skip to content

Latest commit

 

History

History
14124 lines (14124 loc) · 201 KB

api-references.md

File metadata and controls

14124 lines (14124 loc) · 201 KB
title summary category
TiDB Operator API Document
Reference of TiDB Operator API
how-to

API Document

pingcap.com/v1alpha1

Package v1alpha1 is the v1alpha1 version of the API.

Resource Types:

Backup

Backup is a backup of tidb cluster.

Field Description
apiVersion
string
pingcap.com/v1alpha1
kind
string
Backup
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
BackupSpec


from
TiDBAccessConfig

From is the tidb cluster that needs to backup.

backupType
BackupType

Type is the backup type for tidb cluster.

tikvGCLifeTime
string

TikvGCLifeTime is to specify the safe gc life time for backup. The time limit during which data is retained for each GC, in the format of Go Duration. When a GC happens, the current time minus this value is the safe point.

StorageProvider
StorageProvider

(Members of StorageProvider are embedded into this type.)

StorageProvider configures where and how backups should be stored.

storageClassName
string
(Optional)

The storageClassName of the persistent volume for Backup data storage. Defaults to Kubernetes default storage class.

storageSize
string

StorageSize is the request storage size for backup job

br
BRConfig

BRConfig is the configs for BR

tolerations
[]Kubernetes core/v1.Toleration
(Optional)

Base tolerations of backup Pods, components may add more tolerations upon this respectively

affinity
Kubernetes core/v1.Affinity
(Optional)

Affinity of backup Pods

useKMS
bool

Use KMS to decrypt the secrets

serviceAccount
string

Specify service account of backup

status
BackupStatus

BackupSchedule

BackupSchedule is a backup schedule of tidb cluster.

Field Description
apiVersion
string
pingcap.com/v1alpha1
kind
string
BackupSchedule
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
BackupScheduleSpec


schedule
string

Schedule specifies the cron string used for backup scheduling.

pause
bool

Pause means paused backupSchedule

maxBackups
int32

MaxBackups is to specify how many backups we want to keep 0 is magic number to indicate un-limited backups.

maxReservedTime
string

MaxReservedTime is to specify how long backups we want to keep.

backupTemplate
BackupSpec

BackupTemplate is the specification of the backup structure to get scheduled.

storageClassName
string
(Optional)

The storageClassName of the persistent volume for Backup data storage if not storage class name set in BackupSpec. Defaults to Kubernetes default storage class.

storageSize
string

StorageSize is the request storage size for backup job

status
BackupScheduleStatus

Restore

Restore represents the restoration of backup of a tidb cluster.

Field Description
apiVersion
string
pingcap.com/v1alpha1
kind
string
Restore
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
RestoreSpec


to
TiDBAccessConfig

To is the tidb cluster that needs to restore.

backupType
BackupType

Type is the backup type for tidb cluster.

tikvGCLifeTime
string

TikvGCLifeTime is to specify the safe gc life time for restore. The time limit during which data is retained for each GC, in the format of Go Duration. When a GC happens, the current time minus this value is the safe point.

StorageProvider
StorageProvider

(Members of StorageProvider are embedded into this type.)

StorageProvider configures where and how backups should be stored.

storageClassName
string
(Optional)

The storageClassName of the persistent volume for Restore data storage. Defaults to Kubernetes default storage class.

storageSize
string

StorageSize is the request storage size for backup job

br
BRConfig

BR is the configs for BR.

tolerations
[]Kubernetes core/v1.Toleration
(Optional)

Base tolerations of restore Pods, components may add more tolerations upon this respectively

affinity
Kubernetes core/v1.Affinity
(Optional)

Affinity of restore Pods

useKMS
bool

Use KMS to decrypt the secrets

serviceAccount
string

Specify service account of restore

status
RestoreStatus

TidbCluster

TidbCluster is the control script’s spec

Field Description
apiVersion
string
pingcap.com/v1alpha1
kind
string
TidbCluster
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
TidbClusterSpec

Spec defines the behavior of a tidb cluster



pd
PDSpec

PD cluster spec

tidb
TiDBSpec

TiDB cluster spec

tikv
TiKVSpec

TiKV cluster spec

tiflash
TiFlashSpec
(Optional)

TiFlash cluster spec

pump
PumpSpec
(Optional)

Pump cluster spec

helper
HelperSpec
(Optional)

Helper spec

paused
bool
(Optional)

Indicates that the tidb cluster is paused and will not be processed by the controller.

version
string
(Optional)

TODO: remove optional after defaulting logic introduced TiDB cluster version

schedulerName
string

SchedulerName of TiDB cluster Pods

pvReclaimPolicy
Kubernetes core/v1.PersistentVolumeReclaimPolicy

Persistent volume reclaim policy applied to the PVs that consumed by TiDB cluster

imagePullPolicy
Kubernetes core/v1.PullPolicy

ImagePullPolicy of TiDB cluster Pods

configUpdateStrategy
ConfigUpdateStrategy

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.

enablePVReclaim
bool
(Optional)

Whether enable PVC reclaim for orphan PVC left by statefulset scale-in Optional: Defaults to false

tlsCluster
TLSCluster
(Optional)

Whether enable the TLS connection between TiDB server components Optional: Defaults to nil

hostNetwork
bool
(Optional)

Whether Hostnetwork is enabled for TiDB cluster Pods Optional: Defaults to false

affinity
Kubernetes core/v1.Affinity
(Optional)

Affinity of TiDB cluster Pods

priorityClassName
string
(Optional)

PriorityClassName of TiDB cluster Pods Optional: Defaults to omitted

nodeSelector
map[string]string
(Optional)

Base node selectors of TiDB cluster Pods, components may add or override selectors upon this respectively

annotations
map[string]string
(Optional)

Base annotations of TiDB cluster Pods, components may add or override selectors upon this respectively

tolerations
[]Kubernetes core/v1.Toleration
(Optional)

Base tolerations of TiDB cluster Pods, components may add more tolerations upon this respectively

timezone
string
(Optional)

Time zone of TiDB cluster Pods Optional: Defaults to UTC

services
[]Service

Services list non-headless services type used in TidbCluster Deprecated

status
TidbClusterStatus

Most recently observed status of the tidb cluster

TidbClusterAutoScaler

TidbClusterAutoScaler is the control script’s spec

Field Description
apiVersion
string
pingcap.com/v1alpha1
kind
string
TidbClusterAutoScaler
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
TidbClusterAutoScalerSpec

Spec describes the state of the TidbClusterAutoScaler



cluster
TidbClusterRef

TidbClusterRef describe the target TidbCluster

metricsUrl
string
(Optional)

We used prometheus to fetch the metrics resources until the pd could provide it. MetricsUrl represents the url to fetch the metrics info

monitor
TidbMonitorRef
(Optional)

TidbMonitorRef describe the target TidbMonitor, when MetricsUrl and Monitor are both set, Operator will use MetricsUrl

tikv
TikvAutoScalerSpec
(Optional)

TiKV represents the auto-scaling spec for tikv

tidb
TidbAutoScalerSpec
(Optional)

TiDB represents the auto-scaling spec for tidb

status
TidbClusterAutoSclaerStatus

Status describe the status of the TidbClusterAutoScaler

TidbInitializer

TidbInitializer is a TiDB cluster initializing job

Field Description
apiVersion
string
pingcap.com/v1alpha1
kind
string
TidbInitializer
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
TidbInitializerSpec

Spec defines the desired state of TidbInitializer



image
string
cluster
TidbClusterRef
imagePullPolicy
Kubernetes core/v1.PullPolicy
(Optional)
permitHost
string
(Optional)

permitHost is the host which will only be allowed to connect to the TiDB.

initSql
string
(Optional)

InitSql is the SQL statements executed after the TiDB cluster is bootstrapped.

initSqlConfigMap
string
(Optional)

InitSqlConfigMapName reference a configmap that provide init-sql, take high precedence than initSql if set

passwordSecret
string
(Optional)
resources
Kubernetes core/v1.ResourceRequirements
(Optional)
timezone
string
(Optional)

Time zone of TiDB initializer Pods

status
TidbInitializerStatus

Most recently observed status of the TidbInitializer

TidbMonitor

TidbMonitor encode the spec and status of the monitoring component of a TiDB cluster

Field Description
apiVersion
string
pingcap.com/v1alpha1
kind
string
TidbMonitor
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
TidbMonitorSpec

Spec defines the desired state of TidbMonitor



clusters
[]TidbClusterRef
prometheus
PrometheusSpec
grafana
GrafanaSpec
(Optional)
reloader
ReloaderSpec
initializer
InitializerSpec
imagePullPolicy
Kubernetes core/v1.PullPolicy
persistent
bool
(Optional)
storageClassName
string
(Optional)
storage
string
(Optional)
nodeSelector
map[string]string
(Optional)
annotations
map[string]string
(Optional)
tolerations
[]Kubernetes core/v1.Toleration
(Optional)
kubePrometheusURL
string
(Optional)

kubePrometheusURL is where tidb-monitoring get the common metrics of kube-prometheus. Ref: https://github.com/coreos/kube-prometheus

alertmanagerURL
string
(Optional)

alertmanagerURL is where tidb-monitoring push alerts to. Ref: https://prometheus.io/docs/alerting/alertmanager/

status
TidbMonitorStatus

Most recently observed status of the TidbMonitor

BRConfig

(Appears on: BackupSpec, RestoreSpec)

BRConfig contains config for BR

Field Description
cluster
string

ClusterName of backup/restore cluster

clusterNamespace
string

Namespace of backup/restore cluster

db
string

DB is the specific DB which will be backed-up or restored

table
string

Table is the specific table which will be backed-up or restored

logLevel
string

LogLevel is the log level

statusAddr
string

StatusAddr is the HTTP listening address for the status report service. Set to empty string to disable

concurrency
uint32

Concurrency is the size of thread pool on each node that execute the backup task

rateLimit
uint

RateLimit is the rate limit of the backup task, MB/s per node

timeAgo
string

TimeAgo is the history version of the backup task, e.g. 1m, 1h

checksum
bool

Checksum specifies whether to run checksum after backup

sendCredToTikv
bool

SendCredToTikv specifies whether to send credentials to TiKV

onLine
bool

OnLine specifies whether online during restore

BackupCondition

(Appears on: BackupStatus)

BackupCondition describes the observed state of a Backup at a certain point.

Field Description
type
BackupConditionType
status
Kubernetes core/v1.ConditionStatus
lastTransitionTime
Kubernetes meta/v1.Time
reason
string
message
string

BackupConditionType

(Appears on: BackupCondition)

BackupConditionType represents a valid condition of a Backup.

BackupScheduleSpec

(Appears on: BackupSchedule)

BackupScheduleSpec contains the backup schedule specification for a tidb cluster.

Field Description
schedule
string

Schedule specifies the cron string used for backup scheduling.

pause
bool

Pause means paused backupSchedule

maxBackups
int32

MaxBackups is to specify how many backups we want to keep 0 is magic number to indicate un-limited backups.

maxReservedTime
string

MaxReservedTime is to specify how long backups we want to keep.

backupTemplate
BackupSpec

BackupTemplate is the specification of the backup structure to get scheduled.

storageClassName
string
(Optional)

The storageClassName of the persistent volume for Backup data storage if not storage class name set in BackupSpec. Defaults to Kubernetes default storage class.

storageSize
string

StorageSize is the request storage size for backup job

BackupScheduleStatus

(Appears on: BackupSchedule)

BackupScheduleStatus represents the current state of a BackupSchedule.

Field Description
lastBackup
string

LastBackup represents the last backup.

lastBackupTime
Kubernetes meta/v1.Time

LastBackupTime represents the last time the backup was successfully created.

allBackupCleanTime
Kubernetes meta/v1.Time

AllBackupCleanTime represents the time when all backup entries are cleaned up

BackupSpec

(Appears on: Backup, BackupScheduleSpec)

BackupSpec contains the backup specification for a tidb cluster.

Field Description
from
TiDBAccessConfig

From is the tidb cluster that needs to backup.

backupType
BackupType

Type is the backup type for tidb cluster.

tikvGCLifeTime
string

TikvGCLifeTime is to specify the safe gc life time for backup. The time limit during which data is retained for each GC, in the format of Go Duration. When a GC happens, the current time minus this value is the safe point.

StorageProvider
StorageProvider

(Members of StorageProvider are embedded into this type.)

StorageProvider configures where and how backups should be stored.

storageClassName
string
(Optional)

The storageClassName of the persistent volume for Backup data storage. Defaults to Kubernetes default storage class.

storageSize
string

StorageSize is the request storage size for backup job

br
BRConfig

BRConfig is the configs for BR

tolerations
[]Kubernetes core/v1.Toleration
(Optional)

Base tolerations of backup Pods, components may add more tolerations upon this respectively

affinity
Kubernetes core/v1.Affinity
(Optional)

Affinity of backup Pods

useKMS
bool

Use KMS to decrypt the secrets

serviceAccount
string

Specify service account of backup

BackupStatus

(Appears on: Backup)

BackupStatus represents the current status of a backup.

Field Description
backupPath
string

BackupPath is the location of the backup.

timeStarted
Kubernetes meta/v1.Time

TimeStarted is the time at which the backup was started.

timeCompleted
Kubernetes meta/v1.Time

TimeCompleted is the time at which the backup was completed.

backupSize
int64

BackupSize is the data size of the backup.

commitTs
string

CommitTs is the snapshot time point of tidb cluster.

conditions
[]BackupCondition

BackupStorageType

BackupStorageType represents the backend storage type of backup.

BackupType

(Appears on: BackupSpec, RestoreSpec)

BackupType represents the backup type.

BasicAutoScalerSpec

(Appears on: TidbAutoScalerSpec, TikvAutoScalerSpec)

BasicAutoScalerSpec describes the basic spec for auto-scaling

Field Description
maxReplicas
int32

maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale out. It cannot be less than minReplicas.

minReplicas
int32
(Optional)

minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod. Scaling is active as long as at least one metric value is available.

scaleInIntervalSeconds
int32
(Optional)

ScaleInIntervalSeconds represents the duration seconds between each auto-scaling-in If not set, the default ScaleInIntervalSeconds will be set to 500

scaleOutIntervalSeconds
int32
(Optional)

ScaleOutIntervalSeconds represents the duration seconds between each auto-scaling-out If not set, the default ScaleOutIntervalSeconds will be set to 300

metrics
[]Kubernetes autoscaling/v2beta2.MetricSpec
(Optional)

metrics contains the specifications for which to use to calculate the desired replica count (the maximum replica count across all metrics will be used). The desired replica count is calculated multiplying the ratio between the target value and the current value by the current number of pods. Ergo, metrics used must decrease as the pod count is increased, and vice-versa. See the individual metric source types for more information about how each type of metric must respond. If not set, the default metric will be set to 80% average CPU utilization.

metricsTimeDuration
string
(Optional)

MetricsTimeDuration describe the Time duration to be queried in the Prometheus

scaleOutThreshold
int32
(Optional)

ScaleOutThreshold describe the consecutive threshold for the auto-scaling, if the consecutive counts of the scale-out result in auto-scaling reach this number, the auto-scaling would be performed. If not set, the default value is 3.

scaleInThreshold
int32
(Optional)

ScaleInThreshold describe the consecutive threshold for the auto-scaling, if the consecutive counts of the scale-in result in auto-scaling reach this number, the auto-scaling would be performed. If not set, the default value is 5.

BasicAutoScalerStatus

(Appears on: TidbAutoScalerStatus, TikvAutoScalerStatus)

BasicAutoScalerStatus describe the basic auto-scaling status

Field Description
metrics
[]MetricsStatus
(Optional)

MetricsStatusList describes the metrics status in the last auto-scaling reconciliation

currentReplicas
int32

CurrentReplicas describes the current replicas for the component(tidb/tikv)

recommendedReplicas
int32
(Optional)

RecommendedReplicas describes the calculated replicas in the last auto-scaling reconciliation for the component(tidb/tikv)

lastAutoScalingTimestamp
Kubernetes meta/v1.Time
(Optional)

LastAutoScalingTimestamp describes the last auto-scaling timestamp for the component(tidb/tikv)

Binlog

(Appears on: TiDBConfig)

Binlog is the config for binlog.

Field Description
enable
bool

optional

write-timeout
string
(Optional)

Optional: Defaults to 15s

ignore-error
bool
(Optional)

If IgnoreError is true, when writing binlog meets error, TiDB would ignore the error.

binlog-socket
string
(Optional)

Use socket file to write binlog, for compatible with kafka version tidb-binlog.

strategy
string
(Optional)

The strategy for sending binlog to pump, value can be “range,omitempty” or “hash,omitempty” now. Optional: Defaults to range

CommonConfig

(Appears on: TiFlashConfig)

CommonConfig is the configuration of TiFlash process.

Field Description
path_realtime_mode
bool
(Optional)

Optional: Defaults to false

mark_cache_size
int64
(Optional)

Optional: Defaults to 5368709120

minmax_index_cache_size
int64
(Optional)

Optional: Defaults to 5368709120

logger
FlashLogger
(Optional)

ComponentAccessor

ComponentAccessor is the interface to access component details, which respects the cluster-level properties and component-level overrides

ComponentSpec

(Appears on: PDSpec, PumpSpec, TiDBSpec, TiFlashSpec, TiKVSpec)

ComponentSpec is the base spec of each component, the fields should always accessed by the BasicSpec() method to respect the cluster-level properties

Field Description
image
string

Image of the component, override baseImage and version if present Deprecated

version
string
(Optional)

Version of the component. Override the cluster-level version if non-empty Optional: Defaults to cluster-level setting

imagePullPolicy
Kubernetes core/v1.PullPolicy
(Optional)

ImagePullPolicy of the component. Override the cluster-level imagePullPolicy if present Optional: Defaults to cluster-level setting

hostNetwork
bool
(Optional)

Whether Hostnetwork of the component is enabled. Override the cluster-level setting if present Optional: Defaults to cluster-level setting

affinity
Kubernetes core/v1.Affinity
(Optional)

Affinity of the component. Override the cluster-level one if present Optional: Defaults to cluster-level setting

priorityClassName
string
(Optional)

PriorityClassName of the component. Override the cluster-level one if present Optional: Defaults to cluster-level setting

schedulerName
string
(Optional)

SchedulerName of the component. Override the cluster-level one if present Optional: Defaults to cluster-level setting

nodeSelector
map[string]string
(Optional)

NodeSelector of the component. Merged into the cluster-level nodeSelector if non-empty Optional: Defaults to cluster-level setting

annotations
map[string]string
(Optional)

Annotations of the component. Merged into the cluster-level annotations if non-empty Optional: Defaults to cluster-level setting

tolerations
[]Kubernetes core/v1.Toleration
(Optional)

Tolerations of the component. Override the cluster-level tolerations if non-empty Optional: Defaults to cluster-level setting

podSecurityContext
Kubernetes core/v1.PodSecurityContext
(Optional)

PodSecurityContext of the component

configUpdateStrategy
ConfigUpdateStrategy
(Optional)

ConfigUpdateStrategy of the component. Override the cluster-level updateStrategy if present Optional: Defaults to cluster-level setting

env
[]Kubernetes core/v1.EnvVar
(Optional)

List of environment variables to set in the container, like v1.Container.Env. Note that following env names cannot be used and may be overrided by tidb-operator built envs. - NAMESPACE - TZ - SERVICE_NAME - PEER_SERVICE_NAME - HEADLESS_SERVICE_NAME - SET_NAME - HOSTNAME - CLUSTER_NAME - POD_NAME - BINLOG_ENABLED - SLOW_LOG_FILE

ConfigUpdateStrategy

(Appears on: ComponentSpec, TidbClusterSpec)

ConfigUpdateStrategy represents the strategy to update configuration

CoprocessorCache

(Appears on: TiKVClient)

CoprocessorCache is the config for coprocessor cache.

Field Description
enabled
bool
(Optional)

Whether to enable the copr cache. The copr cache saves the result from TiKV Coprocessor in the memory and reuses the result when corresponding data in TiKV is unchanged, on a region basis.

capacity-mb
float64
(Optional)

The capacity in MB of the cache.

admission-max-result-mb
float64
(Optional)

Only cache requests whose result set is small.

admission-min-process-ms
uint64
(Optional)

Only cache requests takes notable time to process.

CrdKind

(Appears on: CrdKinds)

Field Description
Kind
string
Plural
string
SpecName
string
ShortNames
[]string
AdditionalPrinterColums
[]k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1.CustomResourceColumnDefinition

CrdKinds

Field Description
KindsString
string
TiDBCluster
CrdKind
Backup
CrdKind
Restore
CrdKind
BackupSchedule
CrdKind
TiDBMonitor
CrdKind
TiDBInitializer
CrdKind
TidbClusterAutoScaler
CrdKind

DashboardConfig

(Appears on: PDConfig)

DashboardConfig is the configuration for tidb-dashboard.

Field Description
tidb_cacert_path
string
tidb_cert_path
string
tidb_key_path
string

Experimental

(Appears on: TiDBConfig)

Experimental controls the features that are still experimental: their semantics, interfaces are subject to change. Using these features in the production environment is not recommended.

Field Description
allow-auto-random
bool
(Optional)

Whether enable the syntax like auto_random(3) on the primary key column. imported from TiDB v3.1.0

FileLogConfig

(Appears on: Log, PDLogConfig)

Field Description
filename
string
(Optional)

Log filename, leave empty to disable file log.

log-rotate
bool
(Optional)

Is log rotate enabled.

max-size
int
(Optional)

Max size for a single file, in MB.

max-days
int
(Optional)

Max log keep days, default is never deleting.

max-backups
int
(Optional)

Maximum number of old log files to retain.

Flash

(Appears on: CommonConfig)

Flash is the configuration of [flash] section.

Field Description
overlap_threshold
float64
(Optional)

Optional: Defaults to 0.6

compact_log_min_period
int32
(Optional)

Optional: Defaults to 200

flash_cluster
FlashCluster
(Optional)

FlashLogger

(Appears on: CommonConfig)

FlashLogger is the configuration of [logger] section.

Field Description
size
string
(Optional)

Optional: Defaults to 100M

level
string
(Optional)

Optional: Defaults to information

count
int32
(Optional)

Optional: Defaults to 10

GcsStorageProvider

(Appears on: StorageProvider)

GcsStorageProvider represents the google cloud storage for storing backups.

Field Description
projectId
string

ProjectId represents the project that organizes all your Google Cloud Platform resources

location
string

Location in which the gcs bucket is located.

bucket
string

Bucket in which to store the backup data.

storageClass
string

StorageClass represents the storage class

objectAcl
string

ObjectAcl represents the access control list for new objects

bucketAcl
string

BucketAcl represents the access control list for new buckets

secretName
string

SecretName is the name of secret which stores the gcs service account credentials JSON .

GrafanaSpec

(Appears on: TidbMonitorSpec)

GrafanaSpec is the desired state of grafana

Field Description
MonitorContainer
MonitorContainer

(Members of MonitorContainer are embedded into this type.)

logLevel
string
service
ServiceSpec
username
string
password
string
envs
map[string]string
(Optional)

HelperSpec

(Appears on: TidbClusterSpec)

HelperSpec contains details of helper component

Field Description
image
string
(Optional)

Image used to tail slow log and set kernel parameters if necessary, must have tail and sysctl installed Optional: Defaults to busybox:1.26.2

imagePullPolicy
Kubernetes core/v1.PullPolicy
(Optional)

ImagePullPolicy of the component. Override the cluster-level imagePullPolicy if present Optional: Defaults to the cluster-level setting

InitializePhase

(Appears on: TidbInitializerStatus)

InitializerSpec

(Appears on: TidbMonitorSpec)

InitializerSpec is the desired state of initializer

Field Description
MonitorContainer
MonitorContainer

(Members of MonitorContainer are embedded into this type.)

envs
map[string]string
(Optional)

Interval

(Appears on: Quota)

Interval is the configuration of [quotas.default.interval] section.

Field Description
duration
int32
(Optional)

Optional: Defaults to 3600

queries
int32
(Optional)

Optional: Defaults to 0

errors
int32
(Optional)

Optional: Defaults to 0

result_rows
int32
(Optional)

Optional: Defaults to 0

read_rows
int32
(Optional)

Optional: Defaults to 0

execution_time
int32
(Optional)

Optional: Defaults to 0

IsolationRead

(Appears on: TiDBConfig)

IsolationRead is the config for isolation read.

Field Description
engines
[]string
(Optional)

Engines filters tidb-server access paths by engine type. imported from v3.1.0

Log

(Appears on: TiDBConfig)

Log is the log section of config.

Field Description
level
string
(Optional)

Log level. Optional: Defaults to info

format
string
(Optional)

Log format. one of json, text, or console. Optional: Defaults to text

disable-timestamp
bool
(Optional)

Disable automatic timestamps in output.

enable-timestamp
bool
(Optional)

EnableTimestamp enables automatic timestamps in log output.

enable-error-stack
bool
(Optional)

EnableErrorStack enables annotating logs with the full stack error message.

file
FileLogConfig
(Optional)

File log config.

enable-slow-log
bool
(Optional)
slow-query-file
string
(Optional)
slow-threshold
uint64
(Optional)

Optional: Defaults to 300

expensive-threshold
uint
(Optional)

Optional: Defaults to 10000

query-log-max-len
uint64
(Optional)

Optional: Defaults to 2048

record-plan-in-slow-log
uint32
(Optional)

Optional: Defaults to 1

LogTailerSpec

(Appears on: TiFlashSpec)

LogTailerSpec represents an optional log tailer sidecar container

Field Description
ResourceRequirements
Kubernetes core/v1.ResourceRequirements

(Members of ResourceRequirements are embedded into this type.)

MasterKeyFileConfig

(Appears on: TiKVMasterKeyConfig)

Field Description
method
string

Encrypyion method, use master key encryption data key Possible values: plaintext, aes128-ctr, aes192-ctr, aes256-ctr Optional: Default to plaintext optional

MasterKeyKMSConfig

(Appears on: TiKVMasterKeyConfig)

Field Description
key-id
string

AWS CMK key-id it can be find in AWS Console or use aws cli This field is required

access-key
string

AccessKey of AWS user, leave empty if using other authrization method optional

secret-access-key
string

SecretKey of AWS user, leave empty if using other authrization method optional

region
string

Region of this KMS key Optional: Default to us-east-1 optional

endpoint
string

Used for KMS compatible KMS, such as Ceph, minio, If use AWS, leave empty optional

MemberPhase

(Appears on: PDStatus, PumpStatus, TiDBStatus, TiKVStatus)

MemberPhase is the current state of member

MemberType

MemberType represents member type

MetricsStatus

(Appears on: BasicAutoScalerStatus)

MetricsStatus describe the basic metrics status in the last auto-scaling reconciliation

Field Description
name
string

Name indicates the metrics name

currentValue
string

CurrentValue indicates the value calculated in the last auto-scaling reconciliation

thresholdValue
string

TargetValue indicates the threshold value for this metrics in auto-scaling

MonitorComponentAccessor

MonitorContainer

(Appears on: GrafanaSpec, InitializerSpec, PrometheusSpec, ReloaderSpec)

MonitorContainer is the common attributes of the container of monitoring

Field Description
Resources
Kubernetes core/v1.ResourceRequirements

(Members of Resources are embedded into this type.)

baseImage
string
version
string
imagePullPolicy
Kubernetes core/v1.PullPolicy
(Optional)

Networks

(Appears on: User)

Networks is the configuration of [users.readonly.networks] section.

Field Description
ip
string
(Optional)

OpenTracing

(Appears on: TiDBConfig)

OpenTracing is the opentracing section of the config.

Field Description
enable
bool
(Optional)

Optional: Defaults to false

sampler
OpenTracingSampler
(Optional)
reporter
OpenTracingReporter
(Optional)
rpc-metrics
bool
(Optional)

OpenTracingReporter

(Appears on: OpenTracing)

OpenTracingReporter is the config for opentracing reporter. See https://godoc.org/github.com/uber/jaeger-client-go/config#ReporterConfig

Field Description
queue-size
int
(Optional)
buffer-flush-interval
time.Duration
(Optional)
log-spans
bool
(Optional)
local-agent-host-port
string
(Optional)

OpenTracingSampler

(Appears on: OpenTracing)

OpenTracingSampler is the config for opentracing sampler. See https://godoc.org/github.com/uber/jaeger-client-go/config#SamplerConfig

Field Description
type
string
(Optional)
param
float64
(Optional)
sampling-server-url
string
(Optional)
max-operations
int
(Optional)
sampling-refresh-interval
time.Duration
(Optional)

PDConfig

(Appears on: PDSpec)

PDConfig is the configuration of pd-server

Field Description
force-new-cluster
bool
(Optional)
enable-grpc-gateway
bool
(Optional)

Optional: Defaults to true

lease
int64
(Optional)

LeaderLease time, if leader doesn’t update its TTL in etcd after lease time, etcd will expire the leader key and other servers can campaign the leader again. Etcd only supports seconds TTL, so here is second too. Optional: Defaults to 3

log
PDLogConfig
(Optional)

Log related config.

log-file
string
(Optional)

Backward compatibility.

log-level
string
(Optional)
tso-save-interval
string
(Optional)

TsoSaveInterval is the interval to save timestamp. Optional: Defaults to 3s

metric
PDMetricConfig
(Optional)
schedule
PDScheduleConfig
(Optional)

Immutable, change should be made through pd-ctl after cluster creation

replication
PDReplicationConfig
(Optional)

Immutable, change should be made through pd-ctl after cluster creation

namespace
map[string]github.com/pingcap/tidb-operator/pkg/apis/pingcap/v1alpha1.PDNamespaceConfig
(Optional)
pd-server
PDServerConfig
(Optional)
cluster-version
string
(Optional)
quota-backend-bytes
string
(Optional)

QuotaBackendBytes Raise alarms when backend size exceeds the given quota. 0 means use the default quota. the default size is 2GB, the maximum is 8GB.

auto-compaction-mode
string
(Optional)

AutoCompactionMode is either ‘periodic’ or ‘revision’. The default value is ‘periodic’.

auto-compaction-retention-v2
string
(Optional)

AutoCompactionRetention is either duration string with time unit (e.g. ‘5m’ for 5-minute), or revision unit (e.g. ‘5000’). If no time unit is provided and compaction mode is ‘periodic’, the unit defaults to hour. For example, ‘5’ translates into 5-hour. The default retention is 1 hour. Before etcd v3.3.x, the type of retention is int. We add ‘v2’ suffix to make it backward compatible.

tikv-interval
string
(Optional)

TickInterval is the interval for etcd Raft tick.

election-interval
string
(Optional)

ElectionInterval is the interval for etcd Raft election.

enable-prevote
bool
(Optional)

Prevote is true to enable Raft Pre-Vote. If enabled, Raft runs an additional election phase to check whether it would get enough votes to win an election, thus minimizing disruptions. Optional: Defaults to true

security
PDSecurityConfig
(Optional)
label-property
PDLabelPropertyConfig
(Optional)
namespace-classifier
string
(Optional)

NamespaceClassifier is for classifying stores/regions into different namespaces. Optional: Defaults to true

dashboard
DashboardConfig
(Optional)

PDFailureMember

(Appears on: PDStatus)

PDFailureMember is the pd failure member information

Field Description
podName
string
memberID
string
pvcUID
k8s.io/apimachinery/pkg/types.UID
memberDeleted
bool
createdAt
Kubernetes meta/v1.Time

PDLabelPropertyConfig

(Appears on: PDConfig)

PDLogConfig

(Appears on: PDConfig)

PDLogConfig serializes log related config in toml/json.

Field Description
level
string
(Optional)

Log level. Optional: Defaults to info

format
string
(Optional)

Log format. one of json, text, or console.

disable-timestamp
bool
(Optional)

Disable automatic timestamps in output.

file
FileLogConfig
(Optional)

File log config.

development
bool
(Optional)

Development puts the logger in development mode, which changes the behavior of DPanicLevel and takes stacktraces more liberally.

disable-caller
bool
(Optional)

DisableCaller stops annotating logs with the calling function’s file name and line number. By default, all logs are annotated.

disable-stacktrace
bool
(Optional)

DisableStacktrace completely disables automatic stacktrace capturing. By default, stacktraces are captured for WarnLevel and above logs in development and ErrorLevel and above in production.

disable-error-verbose
bool
(Optional)

DisableErrorVerbose stops annotating logs with the full verbose error message.

PDMember

(Appears on: PDStatus)

PDMember is PD member

Field Description
name
string
id
string

member id is actually a uint64, but apimachinery’s json only treats numbers as int64/float64 so uint64 may overflow int64 and thus convert to float64

clientURL
string
health
bool
lastTransitionTime
Kubernetes meta/v1.Time

Last time the health transitioned from one to another.

PDMetricConfig

(Appears on: PDConfig)

Field Description
job
string
(Optional)
address
string
(Optional)
interval
string
(Optional)

PDNamespaceConfig

(Appears on: PDConfig)

PDNamespaceConfig is to overwrite the global setting for specific namespace

Field Description
leader-schedule-limit
uint64
(Optional)

LeaderScheduleLimit is the max coexist leader schedules.

region-schedule-limit
uint64
(Optional)

RegionScheduleLimit is the max coexist region schedules.

replica-schedule-limit
uint64
(Optional)

ReplicaScheduleLimit is the max coexist replica schedules.

merge-schedule-limit
uint64
(Optional)

MergeScheduleLimit is the max coexist merge schedules.

hot-region-schedule-limit
uint64
(Optional)

HotRegionScheduleLimit is the max coexist hot region schedules.

max-replicas
uint64
(Optional)

MaxReplicas is the number of replicas for each region.

PDReplicationConfig

(Appears on: PDConfig)

PDReplicationConfig is the replication configuration.

Field Description
max-replicas
uint64
(Optional)

MaxReplicas is the number of replicas for each region. Immutable, change should be made through pd-ctl after cluster creation Optional: Defaults to 3

location-labels
[]string
(Optional)

The label keys specified the location of a store. The placement priorities is implied by the order of label keys. For example, [“zone”, “rack”] means that we should place replicas to different zones first, then to different racks if we don’t have enough zones. Immutable, change should be made through pd-ctl after cluster creation

strictly-match-label,string
bool
(Optional)

StrictlyMatchLabel strictly checks if the label of TiKV is matched with LocaltionLabels. Immutable, change should be made through pd-ctl after cluster creation. Imported from v3.1.0

enable-placement-rules,string
bool
(Optional)

When PlacementRules feature is enabled. MaxReplicas and LocationLabels are not used anymore.

PDScheduleConfig

(Appears on: PDConfig)

ScheduleConfig is the schedule configuration.

Field Description
max-snapshot-count
uint64
(Optional)

If the snapshot count of one store is greater than this value, it will never be used as a source or target store. Immutable, change should be made through pd-ctl after cluster creation Optional: Defaults to 3

max-pending-peer-count
uint64
(Optional)

Immutable, change should be made through pd-ctl after cluster creation Optional: Defaults to 16

max-merge-region-size
uint64
(Optional)

If both the size of region is smaller than MaxMergeRegionSize and the number of rows in region is smaller than MaxMergeRegionKeys, it will try to merge with adjacent regions. Immutable, change should be made through pd-ctl after cluster creation Optional: Defaults to 20

max-merge-region-keys
uint64
(Optional)

Immutable, change should be made through pd-ctl after cluster creation Optional: Defaults to 200000

split-merge-interval
string
(Optional)

SplitMergeInterval is the minimum interval time to permit merge after split. Immutable, change should be made through pd-ctl after cluster creation Optional: Defaults to 1h

patrol-region-interval
string
(Optional)

PatrolRegionInterval is the interval for scanning region during patrol. Immutable, change should be made through pd-ctl after cluster creation

max-store-down-time
string
(Optional)

MaxStoreDownTime is the max duration after which a store will be considered to be down if it hasn’t reported heartbeats. Immutable, change should be made through pd-ctl after cluster creation Optional: Defaults to 30m

leader-schedule-limit
uint64
(Optional)

LeaderScheduleLimit is the max coexist leader schedules. Immutable, change should be made through pd-ctl after cluster creation. Optional: Defaults to 4. Imported from v3.1.0

region-schedule-limit
uint64
(Optional)

RegionScheduleLimit is the max coexist region schedules. Immutable, change should be made through pd-ctl after cluster creation Optional: Defaults to 2048

replica-schedule-limit
uint64
(Optional)

ReplicaScheduleLimit is the max coexist replica schedules. Immutable, change should be made through pd-ctl after cluster creation Optional: Defaults to 64

merge-schedule-limit
uint64
(Optional)

MergeScheduleLimit is the max coexist merge schedules. Immutable, change should be made through pd-ctl after cluster creation Optional: Defaults to 8

hot-region-schedule-limit
uint64
(Optional)

HotRegionScheduleLimit is the max coexist hot region schedules. Immutable, change should be made through pd-ctl after cluster creation Optional: Defaults to 4

hot-region-cache-hits-threshold
uint64
(Optional)

HotRegionCacheHitThreshold is the cache hits threshold of the hot region. If the number of times a region hits the hot cache is greater than this threshold, it is considered a hot region. Immutable, change should be made through pd-ctl after cluster creation

tolerant-size-ratio
float64
(Optional)

TolerantSizeRatio is the ratio of buffer size for balance scheduler. Immutable, change should be made through pd-ctl after cluster creation. Imported from v3.1.0

low-space-ratio
float64
(Optional)
 high space stage         transition stage           low space stage

|——————–|—————————–|————————-| ^ ^ ^ ^ 0 HighSpaceRatio * capacity LowSpaceRatio * capacity capacity

LowSpaceRatio is the lowest usage ratio of store which regraded as low space. When in low space, store region score increases to very large and varies inversely with available size. Immutable, change should be made through pd-ctl after cluster creation

high-space-ratio
float64
(Optional)

HighSpaceRatio is the highest usage ratio of store which regraded as high space. High space means there is a lot of spare capacity, and store region score varies directly with used size. Immutable, change should be made through pd-ctl after cluster creation

disable-raft-learner,string
bool
(Optional)

DisableLearner is the option to disable using AddLearnerNode instead of AddNode Immutable, change should be made through pd-ctl after cluster creation

disable-remove-down-replica,string
bool
(Optional)

DisableRemoveDownReplica is the option to prevent replica checker from removing down replicas. Immutable, change should be made through pd-ctl after cluster creation

disable-replace-offline-replica,string
bool
(Optional)

DisableReplaceOfflineReplica is the option to prevent replica checker from repalcing offline replicas. Immutable, change should be made through pd-ctl after cluster creation

disable-make-up-replica,string
bool
(Optional)

DisableMakeUpReplica is the option to prevent replica checker from making up replicas when replica count is less than expected. Immutable, change should be made through pd-ctl after cluster creation

disable-remove-extra-replica,string
bool
(Optional)

DisableRemoveExtraReplica is the option to prevent replica checker from removing extra replicas. Immutable, change should be made through pd-ctl after cluster creation

disable-location-replacement,string
bool
(Optional)

DisableLocationReplacement is the option to prevent replica checker from moving replica to a better location. Immutable, change should be made through pd-ctl after cluster creation

disable-namespace-relocation,string
bool
(Optional)

DisableNamespaceRelocation is the option to prevent namespace checker from moving replica to the target namespace. Immutable, change should be made through pd-ctl after cluster creation

schedulers-v2
PDSchedulerConfigs
(Optional)

Schedulers support for loding customized schedulers Immutable, change should be made through pd-ctl after cluster creation

schedulers-payload
map[string]string
(Optional)

Only used to display

enable-one-way-merge,string
bool
(Optional)

EnableOneWayMerge is the option to enable one way merge. This means a Region can only be merged into the next region of it. Imported from v3.1.0

enable-cross-table-merge,string
bool
(Optional)

EnableCrossTableMerge is the option to enable cross table merge. This means two Regions can be merged with different table IDs. This option only works when key type is “table”. Imported from v3.1.0

PDSchedulerConfig

PDSchedulerConfig is customized scheduler configuration

Field Description
type
string
(Optional)

Immutable, change should be made through pd-ctl after cluster creation

args
[]string
(Optional)

Immutable, change should be made through pd-ctl after cluster creation

disable
bool
(Optional)

Immutable, change should be made through pd-ctl after cluster creation

PDSchedulerConfigs

(Appears on: PDScheduleConfig)

PDSecurityConfig

(Appears on: PDConfig)

PDSecurityConfig is the configuration for supporting tls.

Field Description
cacert-path
string
(Optional)

CAPath is the path of file that contains list of trusted SSL CAs. if set, following four settings shouldn’t be empty

cert-path
string
(Optional)

CertPath is the path of file that contains X509 certificate in PEM format.

key-path
string
(Optional)

KeyPath is the path of file that contains X509 key in PEM format.

cert-allowed-cn
[]string
(Optional)

CertAllowedCN is the Common Name that allowed

PDServerConfig

(Appears on: PDConfig)

PDServerConfig is the configuration for pd server.

Field Description
use-region-storage,string
bool
(Optional)

UseRegionStorage enables the independent region storage.

metric-storage
string
(Optional)

MetricStorage is the cluster metric storage. Currently we use prometheus as metric storage, we may use PD/TiKV as metric storage later. Imported from v3.1.0

PDSpec

(Appears on: TidbClusterSpec)

PDSpec contains details of PD members

Field Description
ComponentSpec
ComponentSpec

(Members of ComponentSpec are embedded into this type.)

ResourceRequirements
Kubernetes core/v1.ResourceRequirements

(Members of ResourceRequirements are embedded into this type.)

replicas
int32

The desired ready replicas

baseImage
string
(Optional)

TODO: remove optional after defaulting introduced Base image of the component, image tag is now allowed during validation

service
ServiceSpec
(Optional)

Service defines a Kubernetes service of PD cluster. Optional: Defaults to .spec.services in favor of backward compatibility

maxFailoverCount
int32
(Optional)

MaxFailoverCount limit the max replicas could be added in failover, 0 means no failover. Optional: Defaults to 3

storageClassName
string
(Optional)

The storageClassName of the persistent volume for PD data storage. Defaults to Kubernetes default storage class.

config
PDConfig
(Optional)

Config is the Configuration of pd-servers

PDStatus

(Appears on: TidbClusterStatus)

PDStatus is PD status

Field Description
synced
bool
phase
MemberPhase
statefulSet
Kubernetes apps/v1.StatefulSetStatus
members
map[string]github.com/pingcap/tidb-operator/pkg/apis/pingcap/v1alpha1.PDMember
leader
PDMember
failureMembers
map[string]github.com/pingcap/tidb-operator/pkg/apis/pingcap/v1alpha1.PDFailureMember
unjoinedMembers
map[string]github.com/pingcap/tidb-operator/pkg/apis/pingcap/v1alpha1.UnjoinedMember
image
string

PDStoreLabel

PDStoreLabel is the config item of LabelPropertyConfig.

Field Description
key
string
(Optional)
value
string
(Optional)

PDStoreLabels

Performance

(Appears on: TiDBConfig)

Performance is the performance section of the config.

Field Description
max-procs
uint
(Optional)
max-memory
uint64
(Optional)

Optional: Defaults to 0

stats-lease
string
(Optional)

Optional: Defaults to 3s

stmt-count-limit
uint
(Optional)

Optional: Defaults to 5000

feedback-probability
float64
(Optional)

Optional: Defaults to 0.05

query-feedback-limit
uint
(Optional)

Optional: Defaults to 1024

pseudo-estimate-ratio
float64
(Optional)

Optional: Defaults to 0.8

force-priority
string
(Optional)

Optional: Defaults to NO_PRIORITY

bind-info-lease
string
(Optional)

Optional: Defaults to 3s

txn-total-size-limit
uint64
(Optional)

Optional: Defaults to 104857600

tcp-keep-alive
bool
(Optional)

Optional: Defaults to true

cross-join
bool
(Optional)

Optional: Defaults to true

run-auto-analyze
bool
(Optional)

Optional: Defaults to true

txn-entry-count-limit
uint64
(Optional)

Optional: Defaults to 300000

PessimisticTxn

(Appears on: TiDBConfig)

PessimisticTxn is the config for pessimistic transaction.

Field Description
enable
bool
(Optional)

Enable must be true for ‘begin lock’ or session variable to start a pessimistic transaction. Optional: Defaults to true

max-retry-count
uint
(Optional)

The max count of retry for a single statement in a pessimistic transaction. Optional: Defaults to 256

PlanCache

PlanCache is the PlanCache section of the config.

Field Description
enabled
bool
(Optional)
capacity
uint
(Optional)
shards
uint
(Optional)

Plugin

(Appears on: TiDBConfig)

Plugin is the config for plugin

Field Description
dir
string
(Optional)
load
string
(Optional)

PreparedPlanCache

(Appears on: TiDBConfig)

PreparedPlanCache is the PreparedPlanCache section of the config.

Field Description
enabled
bool
(Optional)

Optional: Defaults to false

capacity
uint
(Optional)

Optional: Defaults to 100

memory-guard-ratio
float64
(Optional)

Optional: Defaults to 0.1

Profile

Profile is the configuration profiles.

Field Description
readonly
int32
(Optional)
max_memory_usage
int64
(Optional)
use_uncompressed_cache
int32
(Optional)
load_balancing
string
(Optional)

PrometheusSpec

(Appears on: TidbMonitorSpec)

PrometheusSpec is the desired state of prometheus

Field Description
MonitorContainer
MonitorContainer

(Members of MonitorContainer are embedded into this type.)

logLevel
string
service
ServiceSpec
reserveDays
int
(Optional)

ProxyProtocol

(Appears on: TiDBConfig)

ProxyProtocol is the PROXY protocol section of the config.

Field Description
networks
string
(Optional)

PROXY protocol acceptable client networks. Empty *string means disable PROXY protocol, * means all networks.

header-timeout
uint
(Optional)

PROXY protocol header read timeout, Unit is second.

PumpSpec

(Appears on: TidbClusterSpec)

PumpSpec contains details of Pump members

Field Description
ComponentSpec
ComponentSpec

(Members of ComponentSpec are embedded into this type.)

ResourceRequirements
Kubernetes core/v1.ResourceRequirements

(Members of ResourceRequirements are embedded into this type.)

replicas
int32

The desired ready replicas

baseImage
string
(Optional)

TODO: remove optional after defaulting introduced Base image of the component, image tag is now allowed during validation

storageClassName
string
(Optional)

The storageClassName of the persistent volume for Pump data storage. Defaults to Kubernetes default storage class.

GenericConfig
github.com/pingcap/tidb-operator/pkg/util/config.GenericConfig

(Members of GenericConfig are embedded into this type.)

(Optional)

TODO: add schema The configuration of Pump cluster.

setTimeZone
bool

For backward compatibility with helm chart

PumpStatus

(Appears on: TidbClusterStatus)

PumpStatus is Pump status

Field Description
phase
MemberPhase
statefulSet
Kubernetes apps/v1.StatefulSetStatus

Quota

Quota is the configuration of [quotas.default] section.

Field Description
interval
Interval
(Optional)

ReloaderSpec

(Appears on: TidbMonitorSpec)

ReloaderSpec is the desired state of reloader

Field Description
MonitorContainer
MonitorContainer

(Members of MonitorContainer are embedded into this type.)

service
ServiceSpec

RestoreCondition

(Appears on: RestoreStatus)

RestoreCondition describes the observed state of a Restore at a certain point.

Field Description
type
RestoreConditionType
status
Kubernetes core/v1.ConditionStatus
lastTransitionTime
Kubernetes meta/v1.Time
reason
string
message
string

RestoreConditionType

(Appears on: RestoreCondition)

RestoreConditionType represents a valid condition of a Restore.

RestoreSpec

(Appears on: Restore)

RestoreSpec contains the specification for a restore of a tidb cluster backup.

Field Description
to
TiDBAccessConfig

To is the tidb cluster that needs to restore.

backupType
BackupType

Type is the backup type for tidb cluster.

tikvGCLifeTime
string

TikvGCLifeTime is to specify the safe gc life time for restore. The time limit during which data is retained for each GC, in the format of Go Duration. When a GC happens, the current time minus this value is the safe point.

StorageProvider
StorageProvider

(Members of StorageProvider are embedded into this type.)

StorageProvider configures where and how backups should be stored.

storageClassName
string
(Optional)

The storageClassName of the persistent volume for Restore data storage. Defaults to Kubernetes default storage class.

storageSize
string

StorageSize is the request storage size for backup job

br
BRConfig

BR is the configs for BR.

tolerations
[]Kubernetes core/v1.Toleration
(Optional)

Base tolerations of restore Pods, components may add more tolerations upon this respectively

affinity
Kubernetes core/v1.Affinity
(Optional)

Affinity of restore Pods

useKMS
bool

Use KMS to decrypt the secrets

serviceAccount
string

Specify service account of restore

RestoreStatus

(Appears on: Restore)

RestoreStatus represents the current status of a tidb cluster restore.

Field Description
timeStarted
Kubernetes meta/v1.Time

TimeStarted is the time at which the restore was started.

timeCompleted
Kubernetes meta/v1.Time

TimeCompleted is the time at which the restore was completed.

conditions
[]RestoreCondition

S3StorageProvider

(Appears on: StorageProvider)

S3StorageProvider represents a S3 compliant storage for storing backups.

Field Description
provider
S3StorageProviderType

Provider represents the specific storage provider that implements the S3 interface

region
string

Region in which the S3 compatible bucket is located.

bucket
string

Bucket in which to store the backup data.

endpoint
string

Endpoint of S3 compatible storage service

storageClass
string

StorageClass represents the storage class

acl
string

Acl represents access control permissions for this bucket

secretName
string

SecretName is the name of secret which stores S3 compliant storage access key and secret key.

prefix
string

Prefix for the keys.

sse
string

SSE Sever-Side Encryption.

S3StorageProviderType

(Appears on: S3StorageProvider)

S3StorageProviderType represents the specific storage provider that implements the S3 interface

Security

(Appears on: TiDBConfig)

Security is the security section of the config.

Field Description
skip-grant-table
bool
(Optional)
ssl-ca
string
(Optional)
ssl-cert
string
(Optional)
ssl-key
string
(Optional)
cluster-ssl-ca
string
(Optional)
cluster-ssl-cert
string
(Optional)
cluster-ssl-key
string
(Optional)
cluster-verify-cn
[]string
(Optional)

ClusterVerifyCN is the Common Name that allowed

Service

(Appears on: TidbClusterSpec)

Deprecated Service represent service type used in TidbCluster

Field Description
name
string
type
string

ServiceSpec

(Appears on: GrafanaSpec, PDSpec, PrometheusSpec, ReloaderSpec, TiDBServiceSpec)

Field Description
type
Kubernetes core/v1.ServiceType

Type of the real kubernetes service

annotations
map[string]string
(Optional)

Additional annotations of the kubernetes service object

loadBalancerIP
string
(Optional)

LoadBalancerIP is the loadBalancerIP of service Optional: Defaults to omitted

clusterIP
string
(Optional)

ClusterIP is the clusterIP of service

portName
string
(Optional)

PortName is the name of service port

Status

(Appears on: TiDBConfig)

Status is the status section of the config.

Field Description
metrics-addr
string
(Optional)
metrics-interval
uint
(Optional)

Optional: Defaults to 15

report-status
bool
(Optional)

Optional: Defaults to true

record-db-qps
bool
(Optional)

Optional: Defaults to false

StmtSummary

(Appears on: TiDBConfig)

StmtSummary is the config for statement summary.

Field Description
enable
bool
(Optional)

Enable statement summary or not.

max-stmt-count
uint
(Optional)

The maximum number of statements kept in memory. Optional: Defaults to 100

max-sql-length
uint
(Optional)

The maximum length of displayed normalized SQL and sample SQL. Optional: Defaults to 4096

refresh-interval
int
(Optional)

The refresh interval of statement summary.

history-size
int
(Optional)

The maximum history size of statement summary.

StorageClaim

(Appears on: TiFlashSpec)

StorageClaim contains details of TiFlash storages

Field Description
resources
Kubernetes core/v1.ResourceRequirements
(Optional)

Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources

storageClassName
string
(Optional)

Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

StorageProvider

(Appears on: BackupSpec, RestoreSpec)

StorageProvider defines the configuration for storing a backup in backend storage.

Field Description
s3
S3StorageProvider
gcs
GcsStorageProvider

TLSCluster

(Appears on: TidbClusterSpec)

TLSCluster can enable TLS connection between TiDB server components https://pingcap.com/docs/stable/how-to/secure/enable-tls-between-components/

Field Description
enabled
bool
(Optional)

Enable mutual TLS authentication among TiDB 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 server components certificates and a client-side certifiacete for them. There are multiple ways to generate these certificates: - user-provided certificates: https://pingcap.com/docs/stable/how-to/secure/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 which contains the certificates created above. The name of this Secret must be: ${cluster_name}--cluster-secret. For PD: kubectl create secret generic ${cluster_name}-pd-cluster-secret –namespace=${namespace} –from-file=tls.crt= –from-file=tls.key= –from-file=ca.crt= For TiKV: kubectl create secret generic ${cluster_name}-tikv-cluster-secret –namespace=${namespace} –from-file=tls.crt= –from-file=tls.key= –from-file=ca.crt= For TiDB: kubectl create secret generic ${cluster_name}-tidb-cluster-secret –namespace=${namespace} –from-file=tls.crt= –from-file=tls.key= –from-file=ca.crt= For Client: kubectl create secret generic ${cluster_name}-cluster-client-secret –namespace=${namespace} –from-file=tls.crt= –from-file=tls.key= –from-file=ca.crt= Same for other components.

TiDBAccessConfig

(Appears on: BackupSpec, RestoreSpec)

TiDBAccessConfig defines the configuration for access tidb cluster

Field Description
host
string

Host is the tidb cluster access address

port
int32

Port is the port number to use for connecting tidb cluster

user
string

User is the user for login tidb cluster

secretName
string

SecretName is the name of secret which stores tidb cluster’s password.

tlsClient
TiDBTLSClient
(Optional)

Whether enable the TLS connection between the SQL client and TiDB server Optional: Defaults to nil

TiDBConfig

(Appears on: TiDBSpec)

TiDBConfig is the configuration of tidb-server For more detail, refer to https://pingcap.com/docs/stable/reference/configuration/tidb-server/configuration/

Field Description
cors
string
(Optional)
socket
string
(Optional)
lease
string
(Optional)

Optional: Defaults to 45s

run-ddl
bool
(Optional)

Optional: Defaults to true

split-table
bool
(Optional)

Optional: Defaults to true

token-limit
uint
(Optional)

Optional: Defaults to 1000

oom-action
string
(Optional)

Optional: Defaults to log

mem-quota-query
int64
(Optional)

Optional: Defaults to 34359738368

enable-streaming
bool
(Optional)

Optional: Defaults to false

enable-batch-dml
bool
(Optional)

Optional: Defaults to false

txn-local-latches
TxnLocalLatches
(Optional)
lower-case-table-names
int
(Optional)
log
Log
(Optional)
security
Security
(Optional)
status
Status
(Optional)
performance
Performance
(Optional)
prepared-plan-cache
PreparedPlanCache
(Optional)
opentracing
OpenTracing
(Optional)
proxy-protocol
ProxyProtocol
(Optional)
tikv-client
TiKVClient
(Optional)
binlog
Binlog
(Optional)
compatible-kill-query
bool
(Optional)
plugin
Plugin
(Optional)
pessimistic-txn
PessimisticTxn
(Optional)
check-mb4-value-in-utf8
bool
(Optional)

Optional: Defaults to true

alter-primary-key
bool
(Optional)

Optional: Defaults to false

treat-old-version-utf8-as-utf8mb4
bool
(Optional)

Optional: Defaults to true

split-region-max-num
uint64
(Optional)

Optional: Defaults to 1000

stmt-summary
StmtSummary
(Optional)
repair-mode
bool
(Optional)

RepairMode indicates that the TiDB is in the repair mode for table meta.

repair-table-list
[]string
(Optional)
isolation-read
IsolationRead
(Optional)

IsolationRead indicates that the TiDB reads data from which isolation level(engine and label).

max-server-connections
uint32
(Optional)

MaxServerConnections is the maximum permitted number of simultaneous client connections.

new_collations_enabled_on_first_bootstrap
bool
(Optional)

NewCollationsEnabledOnFirstBootstrap indicates if the new collations are enabled, it effects only when a TiDB cluster bootstrapped on the first time.

experimental
Experimental
(Optional)

Experimental contains parameters for experimental features.

enable-dynamic-config
bool
(Optional)

EnableDynamicConfig enables the TiDB to fetch configs from PD and update itself during runtime. see pingcap/tidb#13660 for more details.

enable-table-lock
bool

imported from v3.1.0 optional

delay-clean-table-lock
uint64

imported from v3.1.0 optional

TiDBFailureMember

(Appears on: TiDBStatus)

TiDBFailureMember is the tidb failure member information

Field Description
podName
string
createdAt
Kubernetes meta/v1.Time

TiDBMember

(Appears on: TiDBStatus)

TiDBMember is TiDB member

Field Description
name
string
health
bool
lastTransitionTime
Kubernetes meta/v1.Time

Last time the health transitioned from one to another.

node
string

Node hosting pod of this TiDB member.

TiDBServiceSpec

(Appears on: TiDBSpec)

Field Description
ServiceSpec
ServiceSpec
externalTrafficPolicy
Kubernetes core/v1.ServiceExternalTrafficPolicyType
(Optional)

ExternalTrafficPolicy of the service Optional: Defaults to omitted

exposeStatus
bool
(Optional)

Whether expose the status port Optional: Defaults to true

TiDBSlowLogTailerSpec

(Appears on: TiDBSpec)

TiDBSlowLogTailerSpec represents an optional log tailer sidecar with TiDB

Field Description
ResourceRequirements
Kubernetes core/v1.ResourceRequirements

(Members of ResourceRequirements are embedded into this type.)

image
string

Image used for slowlog tailer Deprecated, use TidbCluster.HelperImage instead

imagePullPolicy
Kubernetes core/v1.PullPolicy

ImagePullPolicy of the component. Override the cluster-level imagePullPolicy if present Deprecated, use TidbCluster.HelperImagePullPolicy instead

TiDBSpec

(Appears on: TidbClusterSpec)

TiDBSpec contains details of TiDB members

Field Description
ComponentSpec
ComponentSpec

(Members of ComponentSpec are embedded into this type.)

ResourceRequirements
Kubernetes core/v1.ResourceRequirements

(Members of ResourceRequirements are embedded into this type.)

replicas
int32

The desired ready replicas

baseImage
string
(Optional)

TODO: remove optional after defaulting introduced Base image of the component, image tag is now allowed during validation

service
TiDBServiceSpec
(Optional)

Service defines a Kubernetes service of TiDB cluster. Optional: No kubernetes service will be created by default.

binlogEnabled
bool
(Optional)

Whether enable TiDB Binlog, it is encouraged to not set this field and rely on the default behavior Optional: Defaults to true if PumpSpec is non-nil, otherwise false

maxFailoverCount
int32
(Optional)

MaxFailoverCount limit the max replicas could be added in failover, 0 means no failover Optional: Defaults to 3

separateSlowLog
bool
(Optional)

Whether output the slow log in an separate sidecar container Optional: Defaults to true

tlsClient
TiDBTLSClient
(Optional)

Whether enable the TLS connection between the SQL client and TiDB server Optional: Defaults to nil

slowLogTailer
TiDBSlowLogTailerSpec
(Optional)

The spec of the slow log tailer sidecar

plugins
[]string
(Optional)

Plugins is a list of plugins that are loaded by TiDB server, empty means plugin disabled

config
TiDBConfig
(Optional)

Config is the Configuration of tidb-servers

TiDBStatus

(Appears on: TidbClusterStatus)

TiDBStatus is TiDB status

Field Description
phase
MemberPhase
statefulSet
Kubernetes apps/v1.StatefulSetStatus
members
map[string]github.com/pingcap/tidb-operator/pkg/apis/pingcap/v1alpha1.TiDBMember
failureMembers
map[string]github.com/pingcap/tidb-operator/pkg/apis/pingcap/v1alpha1.TiDBFailureMember
resignDDLOwnerRetryCount
int32
image
string

TiDBTLSClient

(Appears on: TiDBAccessConfig, TiDBSpec)

TiDBTLSClient can enable TLS connection between TiDB server and MySQL client

Field Description
enabled
bool
(Optional)

When enabled, TiDB will accept TLS encrypted connections from MySQL client 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://pingcap.com/docs/stable/how-to/secure/enable-tls-clients/ - 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: ${cluster_name}-tidb-server-secret. kubectl create secret generic ${cluster_name}-tidb-server-secret –namespace=${namespace} –from-file=tls.crt= –from-file=tls.key= –from-file=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: ${cluster_name}-tidb-client-secret. kubectl create secret generic ${cluster_name}-tidb-client-secret –namespace=${namespace} –from-file=tls.crt= –from-file=tls.key= –from-file=ca.crt= 4. Set Enabled to true.

tlsSecret
string
(Optional)

Specify a secret of client cert for backup/restore Optional: Defaults to -tidb-client-secret If you want to specify a secret for backup/restore, generate a Secret Object according to the third step of the above procedure, The difference is the Secret Name can be freely defined, and then copy the Secret Name to TLSSecret this field only work in backup/restore process

TiFlashConfig

(Appears on: TiFlashSpec)

TiFlashConfig is the configuration of TiFlash.

Field Description
config
CommonConfig
(Optional)

commonConfig is the Configuration of TiFlash process

TiFlashSpec

(Appears on: TidbClusterSpec)

TiFlashSpec contains details of TiFlash members

Field Description
ComponentSpec
ComponentSpec

(Members of ComponentSpec are embedded into this type.)

ResourceRequirements
Kubernetes core/v1.ResourceRequirements

(Members of ResourceRequirements are embedded into this type.)

serviceAccount
string

Specify a Service Account for TiFlash

replicas
int32

The desired ready replicas

baseImage
string
(Optional)

Base image of the component, image tag is now allowed during validation

privileged
bool
(Optional)

Whether create the TiFlash container in privileged mode, it is highly discouraged to enable this in critical environment. Optional: defaults to false

maxFailoverCount
int32
(Optional)

MaxFailoverCount limit the max replicas could be added in failover, 0 means no failover Optional: Defaults to 3

storageClaims
[]StorageClaim

The persistent volume claims of the TiFlash data storages. TiFlash supports multiple disks.

config
TiFlashConfig
(Optional)

Config is the Configuration of TiFlash

logTailer
LogTailerSpec
(Optional)

LogTailer is the configurations of the log tailers for TiFlash

TiKVBlockCacheConfig

(Appears on: TiKVStorageConfig)

TiKVBlockCacheConfig is the config of a block cache

Field Description
shared
bool
(Optional)

Optional: Defaults to true

capacity
string
(Optional)
num-shard-bits
int64
(Optional)
strict-capacity-limit
bool
(Optional)
high-pri-pool-ratio
float64
(Optional)
memory-allocator
string
(Optional)

TiKVCfConfig

(Appears on: TiKVDbConfig, TiKVRaftDBConfig)

TiKVCfConfig is the config of a cf

Field Description
block-size
string
(Optional)
block-cache-size
string
(Optional)
disable-block-cache
bool
(Optional)
cache-index-and-filter-blocks
bool
(Optional)
pin-l0-filter-and-index-blocks
bool
(Optional)
use-bloom-filter
bool
(Optional)
optimize-filters-for-hits
bool
(Optional)
whole-key-filtering
bool
(Optional)
bloom-filter-bits-per-key
int64
(Optional)
block-based-bloom-filter
bool
(Optional)
read-amp-bytes-per-bit
int64
(Optional)
compression-per-level
[]string
(Optional)
write-buffer-size
string
(Optional)
max-write-buffer-number
int64
(Optional)
min-write-buffer-number-to-merge
int64
(Optional)
max-bytes-for-level-base
string
(Optional)
target-file-size-base
string
(Optional)
level0-file-num-compaction-trigger
int64
(Optional)
level0-slowdown-writes-trigger
int64
(Optional)
level0-stop-writes-trigger
int64
(Optional)
max-compaction-bytes
string
(Optional)
compaction-pri
int64
(Optional)
dynamic-level-bytes
bool
(Optional)
num-levels
int64
(Optional)
max-bytes-for-level-multiplier
int64
(Optional)
compaction-style
int64
(Optional)
disable-auto-compactions
bool
(Optional)
soft-pending-compaction-bytes-limit
string
(Optional)
hard-pending-compaction-bytes-limit
string
(Optional)
force-consistency-checks
bool
(Optional)
prop-size-index-distance
int64
(Optional)
prop-keys-index-distance
int64
(Optional)
enable-doubly-skiplist
bool
(Optional)
titan
TiKVTitanCfConfig
(Optional)

TiKVClient

(Appears on: TiDBConfig)

TiKVClient is the config for tikv client.

Field Description
grpc-connection-count
uint
(Optional)

GrpcConnectionCount is the max gRPC connections that will be established with each tikv-server. Optional: Defaults to 16

grpc-keepalive-time
uint
(Optional)

After a duration of this time in seconds if the client doesn’t see any activity it pings the server to see if the transport is still alive. Optional: Defaults to 10

grpc-keepalive-timeout
uint
(Optional)

After having pinged for keepalive check, the client waits for a duration of Timeout in seconds and if no activity is seen even after that the connection is closed. Optional: Defaults to 3

commit-timeout
string
(Optional)

CommitTimeout is the max time which command ‘commit’ will wait. Optional: Defaults to 41s

max-txn-time-use
uint
(Optional)

MaxTxnTimeUse is the max time a Txn may use (in seconds) from its startTS to commitTS. Optional: Defaults to 590

max-batch-size
uint
(Optional)

MaxBatchSize is the max batch size when calling batch commands API. Optional: Defaults to 128

overload-threshold
uint
(Optional)

If TiKV load is greater than this, TiDB will wait for a while to avoid little batch. Optional: Defaults to 200

max-batch-wait-time
time.Duration
(Optional)

MaxBatchWaitTime in nanosecond is the max wait time for batch. Optional: Defaults to 0

batch-wait-size
uint
(Optional)

BatchWaitSize is the max wait size for batch. Optional: Defaults to 8

region-cache-ttl
uint
(Optional)

If a Region has not been accessed for more than the given duration (in seconds), it will be reloaded from the PD. Optional: Defaults to 600

store-limit
int64
(Optional)

If a store has been up to the limit, it will return error for successive request to prevent the store occupying too much token in dispatching level. Optional: Defaults to 0

copr-cache
CoprocessorCache
(Optional)

TiKVConfig

(Appears on: TiKVSpec)

TiKVConfig is the configuration of TiKV.

Field Description
log-level
string
(Optional)

Optional: Defaults to info

log-file
string
(Optional)
log-rotation-timespan
string
(Optional)

Optional: Defaults to 24h

panic-when-unexpected-key-or-data
bool
(Optional)
server
TiKVServerConfig
(Optional)
storage
TiKVStorageConfig
(Optional)
raftstore
TiKVRaftstoreConfig
(Optional)
rocksdb
TiKVDbConfig
(Optional)
coprocessor
TiKVCoprocessorConfig
(Optional)
readpool
TiKVReadPoolConfig
(Optional)
raftdb
TiKVRaftDBConfig
(Optional)
import
TiKVImportConfig
(Optional)
gc
TiKVGCConfig
(Optional)
pd
TiKVPDConfig
(Optional)
security
TiKVSecurityConfig
(Optional)
encryption
TiKVEncryptionConfig
(Optional)

TiKVCoprocessorConfig

(Appears on: TiKVConfig)

TiKVCoprocessorConfig is the configuration of TiKV Coprocessor component.

Field Description
split-region-on-table
bool

When it is set to true, TiKV will try to split a Region with table prefix if that Region crosses tables. It is recommended to turn off this option if there will be a large number of tables created. Optional: Defaults to false optional

batch-split-limit
int64

One split check produces several split keys in batch. This config limits the number of produced split keys in one batch. optional

region-max-size
string

When Region [a,e) size exceeds region-max-size, it will be split into several Regions [a,b), [b,c), [c,d), [d,e) and the size of [a,b), [b,c), [c,d) will be region-split-size (or a little larger). See also: region-split-size Optional: Defaults to 144MB optional

region-split-size
string

When Region [a,e) size exceeds region-max-size, it will be split into several Regions [a,b), [b,c), [c,d), [d,e) and the size of [a,b), [b,c), [c,d) will be region-split-size (or a little larger). See also: region-max-size Optional: Defaults to 96MB optional

region-max-keys
int64

When the number of keys in Region [a,e) exceeds the region-max-keys, it will be split into several Regions [a,b), [b,c), [c,d), [d,e) and the number of keys in [a,b), [b,c), [c,d) will be region-split-keys. See also: region-split-keys Optional: Defaults to 1440000 optional

region-split-keys
int64

When the number of keys in Region [a,e) exceeds the region-max-keys, it will be split into several Regions [a,b), [b,c), [c,d), [d,e) and the number of keys in [a,b), [b,c), [c,d) will be region-split-keys. See also: region-max-keys Optional: Defaults to 960000 optional

TiKVCoprocessorReadPoolConfig

(Appears on: TiKVReadPoolConfig)

Field Description
high-concurrency
int64
(Optional)

Optional: Defaults to 8

normal-concurrency
int64
(Optional)

Optional: Defaults to 8

low-concurrency
int64
(Optional)

Optional: Defaults to 8

max-tasks-per-worker-high
int64
(Optional)

Optional: Defaults to 2000

max-tasks-per-worker-normal
int64
(Optional)

Optional: Defaults to 2000

max-tasks-per-worker-low
int64
(Optional)

Optional: Defaults to 2000

stack-size
string
(Optional)

Optional: Defaults to 10MB

TiKVDbConfig

(Appears on: TiKVConfig)

TiKVDbConfig is the rocksdb config.

Field Description
wal-recovery-mode
int64
(Optional)

Optional: Defaults to 2

wal-ttl-seconds
int64
(Optional)
wal-size-limit
string
(Optional)
max-total-wal-size
string
(Optional)

Optional: Defaults to 4GB

max-background-jobs
int64
(Optional)

Optional: Defaults to 8

max-manifest-file-size
string
(Optional)

Optional: Defaults to 128MB

create-if-missing
bool
(Optional)

Optional: Defaults to true

max-open-files
int64
(Optional)

Optional: Defaults to 40960

enable-statistics
bool
(Optional)

Optional: Defaults to true

stats-dump-period
string
(Optional)

Optional: Defaults to 10m

compaction-readahead-size
string
(Optional)

Optional: Defaults to 0

info-log-max-size
string
(Optional)
info-log-roll-time
string
(Optional)
info-log-keep-log-file-num
int64
(Optional)
info-log-dir
string
(Optional)
rate-bytes-per-sec
string
(Optional)
rate-limiter-mode
int64
(Optional)
auto-tuned
bool
(Optional)
bytes-per-sync
string
(Optional)
wal-bytes-per-sync
string
(Optional)
max-sub-compactions
int64
(Optional)

Optional: Defaults to 3

writable-file-max-buffer-size
string
(Optional)
use-direct-io-for-flush-and-compaction
bool
(Optional)
enable-pipelined-write
bool
(Optional)
defaultcf
TiKVCfConfig
(Optional)
writecf
TiKVCfConfig
(Optional)
lockcf
TiKVCfConfig
(Optional)
raftcf
TiKVCfConfig
(Optional)
titan
TiKVTitanDBConfig
(Optional)

TiKVEncryptionConfig

(Appears on: TiKVConfig)

Field Description
method
string

Encrypyion method, use data key encryption raw rocksdb data Possible values: plaintext, aes128-ctr, aes192-ctr, aes256-ctr Optional: Default to plaintext optional

data-key-rotation-period
string

The frequency of datakey rotation, It managered by tikv Optional: default to 7d optional

master-key
TiKVMasterKeyConfig

Master key config

previous-master-key
TiKVMasterKeyConfig

Previous master key config It used in master key rotation, the data key should decryption by previous master key and then encrypytion by new master key

TiKVFailureStore

(Appears on: TiKVStatus)

TiKVFailureStore is the tikv failure store information

Field Description
podName
string
storeID
string
createdAt
Kubernetes meta/v1.Time

TiKVGCConfig

(Appears on: TiKVConfig)

Field Description
batch-keys
int64
(Optional)

Optional: Defaults to 512

max-write-bytes-per-sec
string
(Optional)

TiKVImportConfig

(Appears on: TiKVConfig)

Field Description
import-dir
string
(Optional)
num-threads
int64
(Optional)
num-import-jobs
int64
(Optional)
num-import-sst-jobs
int64
(Optional)
max-prepare-duration
string
(Optional)
region-split-size
string
(Optional)
stream-channel-window
int64
(Optional)
max-open-engines
int64
(Optional)
upload-speed-limit
string
(Optional)

TiKVMasterKeyConfig

(Appears on: TiKVEncryptionConfig)

Field Description
type
string

Use KMS encryption or use file encryption, possible values: kms, file If set to kms, kms MasterKeyKMSConfig should be filled, if set to file MasterKeyFileConfig should be filled optional

MasterKeyFileConfig
MasterKeyFileConfig

(Members of MasterKeyFileConfig are embedded into this type.)

Master key file config If the type set to file, this config should be filled

MasterKeyKMSConfig
MasterKeyKMSConfig

(Members of MasterKeyKMSConfig are embedded into this type.)

Master key KMS config If the type set to kms, this config should be filled

TiKVPDConfig

(Appears on: TiKVConfig)

Field Description
endpoints
[]string
(Optional)

The PD endpoints for the client.

Default is empty.

retry-interval
string
(Optional)

The interval at which to retry a PD connection initialization.

Default is 300ms. Optional: Defaults to 300ms

retry-max-count
int64
(Optional)

The maximum number of times to retry a PD connection initialization.

Default is isize::MAX, represented by -1. Optional: Defaults to -1

retry-log-every
int64
(Optional)

If the client observes the same error message on retry, it can repeat the message only every n times.

Default is 10. Set to 1 to disable this feature. Optional: Defaults to 10

TiKVRaftDBConfig

(Appears on: TiKVConfig)

Field Description
wal-recovery-mode
string
(Optional)
wal-dir
string
(Optional)
wal-ttl-seconds
int64
(Optional)
wal-size-limit
string
(Optional)
max-total-wal-size
string
(Optional)
max-background-jobs
int64
(Optional)
max-manifest-file-size
string
(Optional)
create-if-missing
bool
(Optional)
max-open-files
int64
(Optional)
enable-statistics
bool
(Optional)
stats-dump-period
string
(Optional)
compaction-readahead-size
string
(Optional)
info-log-max-size
string
(Optional)
info-log-roll-time
string
(Optional)
info-log-keep-log-file-num
int64
(Optional)
info-log-dir
string
(Optional)
max-sub-compactions
int64
(Optional)
writable-file-max-buffer-size
string
(Optional)
use-direct-io-for-flush-and-compaction
bool
(Optional)
enable-pipelined-write
bool
(Optional)
allow-concurrent-memtable-write
bool
(Optional)
bytes-per-sync
string
(Optional)
wal-bytes-per-sync
string
(Optional)
defaultcf
TiKVCfConfig
(Optional)

TiKVRaftstoreConfig

(Appears on: TiKVConfig)

TiKVRaftstoreConfig is the configuration of TiKV raftstore component.

Field Description
sync-log
bool
(Optional)

true for high reliability, prevent data loss when power failure. Optional: Defaults to true

prevote
bool
(Optional)

Optional: Defaults to true

raft-base-tick-interval
string
(Optional)

raft-base-tick-interval is a base tick interval (ms).

raft-heartbeat-ticks
int64
(Optional)
raft-election-timeout-ticks
int64
(Optional)
raft-entry-max-size
string
(Optional)

When the entry exceed the max size, reject to propose it. Optional: Defaults to 8MB

raft-log-gc-tick-interval
string
(Optional)

Interval to gc unnecessary raft log (ms). Optional: Defaults to 10s

raft-log-gc-threshold
int64
(Optional)

A threshold to gc stale raft log, must >= 1. Optional: Defaults to 50

raft-log-gc-count-limit
int64
(Optional)

When entry count exceed this value, gc will be forced trigger. Optional: Defaults to 72000

raft-log-gc-size-limit
string
(Optional)

When the approximate size of raft log entries exceed this value gc will be forced trigger. Optional: Defaults to 72MB

raft-entry-cache-life-time
string
(Optional)

When a peer is not responding for this time, leader will not keep entry cache for it.

raft-reject-transfer-leader-duration
string
(Optional)

When a peer is newly added, reject transferring leader to the peer for a while.

split-region-check-tick-interval
string
(Optional)

Interval (ms) to check region whether need to be split or not. Optional: Defaults to 10s

region-split-check-diff
string
(Optional)

/ When size change of region exceed the diff since last check, it / will be checked again whether it should be split. Optional: Defaults to 6MB

region-compact-check-interval
string
(Optional)

/ Interval (ms) to check whether start compaction for a region. Optional: Defaults to 5m

clean-stale-peer-delay
string
(Optional)

delay time before deleting a stale peer Optional: Defaults to 10m

region-compact-check-step
int64
(Optional)

/ Number of regions for each time checking. Optional: Defaults to 100

region-compact-min-tombstones
int64
(Optional)

/ Minimum number of tombstones to trigger manual compaction. Optional: Defaults to 10000

region-compact-tombstones-percent
int64
(Optional)

/ Minimum percentage of tombstones to trigger manual compaction. / Should between 1 and 100. Optional: Defaults to 30

pd-heartbeat-tick-interval
string
(Optional)

Optional: Defaults to 60s

pd-store-heartbeat-tick-interval
string
(Optional)

Optional: Defaults to 10s

snap-mgr-gc-tick-interval
string
(Optional)
snap-gc-timeout
string
(Optional)
lock-cf-compact-interval
string
(Optional)

Optional: Defaults to 10m

lock-cf-compact-bytes-threshold
string
(Optional)

Optional: Defaults to 256MB

notify-capacity
int64
(Optional)
messages-per-tick
int64
(Optional)
max-peer-down-duration
string
(Optional)

/ When a peer is not active for max-peer-down-duration / the peer is considered to be down and is reported to PD. Optional: Defaults to 5m

max-leader-missing-duration
string
(Optional)

/ If the leader of a peer is missing for longer than max-leader-missing-duration / the peer would ask pd to confirm whether it is valid in any region. / If the peer is stale and is not valid in any region, it will destroy itself.

abnormal-leader-missing-duration
string
(Optional)

/ Similar to the max-leader-missing-duration, instead it will log warnings and / try to alert monitoring systems, if there is any.

peer-stale-state-check-interval
string
(Optional)
leader-transfer-max-log-lag
int64
(Optional)
snap-apply-batch-size
string
(Optional)
consistency-check-interval
string
(Optional)

Interval (ms) to check region whether the data is consistent. Optional: Defaults to 0

report-region-flow-interval
string
(Optional)
raft-store-max-leader-lease
string
(Optional)

The lease provided by a successfully proposed and applied entry.

right-derive-when-split
bool
(Optional)

Right region derive origin region id when split.

allow-remove-leader
bool
(Optional)
merge-max-log-gap
int64
(Optional)

/ Max log gap allowed to propose merge.

merge-check-tick-interval
string
(Optional)

/ Interval to re-propose merge.

use-delete-range
bool
(Optional)
cleanup-import-sst-interval
string
(Optional)

Optional: Defaults to 10m

apply-max-batch-size
int64
(Optional)
apply-pool-size
int64
(Optional)

Optional: Defaults to 2

store-max-batch-size
int64
(Optional)
store-pool-size
int64
(Optional)

Optional: Defaults to 2

hibernate-regions
bool
(Optional)

TiKVReadPoolConfig

(Appears on: TiKVConfig)

Field Description
coprocessor
TiKVCoprocessorReadPoolConfig
(Optional)
storage
TiKVStorageReadPoolConfig
(Optional)

TiKVSecurityConfig

(Appears on: TiKVConfig)

Field Description
ca-path
string
(Optional)
cert-path
string
(Optional)
key-path
string
(Optional)
cert-allowed-cn
[]string
(Optional)

CertAllowedCN is the Common Name that allowed

override-ssl-target
string
(Optional)
cipher-file
string
(Optional)

TiKVServerConfig

(Appears on: TiKVConfig)

TiKVServerConfig is the configuration of TiKV server.

Field Description
status-thread-pool-size
string
(Optional)

Optional: Defaults to 1

grpc-compression-type
string
(Optional)

Optional: Defaults to none

grpc-concurrency
uint
(Optional)

Optional: Defaults to 4

grpc-concurrent-stream
uint
(Optional)

Optional: Defaults to 1024

grpc-memory-pool-quota
string
(Optional)

Optional: Defaults to 32G

grpc-raft-conn-num
uint
(Optional)

Optional: Defaults to 10

grpc-stream-initial-window-size
string
(Optional)

Optional: Defaults to 2MB

grpc-keepalive-time
string
(Optional)

Optional: Defaults to 10s

grpc-keepalive-timeout
string
(Optional)

Optional: Defaults to 3s

concurrent-send-snap-limit
uint
(Optional)

Optional: Defaults to 32

concurrent-recv-snap-limit
uint
(Optional)

Optional: Defaults to 32

end-point-recursion-limit
uint
(Optional)

Optional: Defaults to 1000

end-point-stream-channel-size
uint
(Optional)
end-point-batch-row-limit
uint
(Optional)
end-point-stream-batch-row-limit
uint
(Optional)
end-point-enable-batch-if-possible
uint
(Optional)
end-point-request-max-handle-duration
string
(Optional)
snap-max-write-bytes-per-sec
string
(Optional)

Optional: Defaults to 100MB

snap-max-total-size
string
(Optional)
stats-concurrency
uint
(Optional)
heavy-load-threshold
uint
(Optional)
heavy-load-wait-duration
string
(Optional)

Optional: Defaults to 60s

labels
map[string]string
(Optional)

TiKVSpec

(Appears on: TidbClusterSpec)

TiKVSpec contains details of TiKV members

Field Description
ComponentSpec
ComponentSpec

(Members of ComponentSpec are embedded into this type.)

ResourceRequirements
Kubernetes core/v1.ResourceRequirements

(Members of ResourceRequirements are embedded into this type.)

serviceAccount
string

Specify a Service Account for tikv

replicas
int32

The desired ready replicas

baseImage
string
(Optional)

TODO: remove optional after defaulting introduced Base image of the component, image tag is now allowed during validation

privileged
bool
(Optional)

Whether create the TiKV container in privileged mode, it is highly discouraged to enable this in critical environment. Optional: defaults to false

maxFailoverCount
int32
(Optional)

MaxFailoverCount limit the max replicas could be added in failover, 0 means no failover Optional: Defaults to 3

storageClassName
string
(Optional)

The storageClassName of the persistent volume for TiKV data storage. Defaults to Kubernetes default storage class.

config
TiKVConfig
(Optional)

Config is the Configuration of tikv-servers

TiKVStatus

(Appears on: TidbClusterStatus)

TiKVStatus is TiKV status

Field Description
synced
bool
phase
MemberPhase
statefulSet
Kubernetes apps/v1.StatefulSetStatus
stores
map[string]github.com/pingcap/tidb-operator/pkg/apis/pingcap/v1alpha1.TiKVStore
tombstoneStores
map[string]github.com/pingcap/tidb-operator/pkg/apis/pingcap/v1alpha1.TiKVStore
failureStores
map[string]github.com/pingcap/tidb-operator/pkg/apis/pingcap/v1alpha1.TiKVFailureStore
image
string

TiKVStorageConfig

(Appears on: TiKVConfig)

TiKVStorageConfig is the config of storage

Field Description
max-key-size
int64
(Optional)
scheduler-notify-capacity
int64
(Optional)
scheduler-concurrency
int64
(Optional)

Optional: Defaults to 2048000

scheduler-worker-pool-size
int64
(Optional)

Optional: Defaults to 4

scheduler-pending-write-threshold
string
(Optional)

Optional: Defaults to 100MB

block-cache
TiKVBlockCacheConfig
(Optional)

TiKVStorageReadPoolConfig

(Appears on: TiKVReadPoolConfig)

Field Description
high-concurrency
int64
(Optional)

Optional: Defaults to 4

normal-concurrency
int64
(Optional)

Optional: Defaults to 4

low-concurrency
int64
(Optional)

Optional: Defaults to 4

max-tasks-per-worker-high
int64
(Optional)

Optional: Defaults to 2000

max-tasks-per-worker-normal
int64
(Optional)

Optional: Defaults to 2000

max-tasks-per-worker-low
int64
(Optional)

Optional: Defaults to 2000

stack-size
string
(Optional)

Optional: Defaults to 10MB

TiKVStore

(Appears on: TiKVStatus)

TiKVStores is either Up/Down/Offline/Tombstone

Field Description
id
string

store id is also uint64, due to the same reason as pd id, we store id as string

podName
string
ip
string
leaderCount
int32
state
string
lastHeartbeatTime
Kubernetes meta/v1.Time
lastTransitionTime
Kubernetes meta/v1.Time

Last time the health transitioned from one to another.

TiKVTitanCfConfig

(Appears on: TiKVCfConfig)

TiKVTitanCfConfig is the titian config.

Field Description
min-blob-size
string
(Optional)
blob-file-compression
string
(Optional)
blob-cache-size
string
(Optional)
min-gc-batch-size
string
(Optional)
max-gc-batch-size
string
(Optional)
discardable-ratio
float64
(Optional)
sample-ratio
float64
(Optional)
merge-small-file-threshold
string
(Optional)
blob-run-mode
string
(Optional)

TiKVTitanDBConfig

(Appears on: TiKVDbConfig)

TiKVTitanDBConfig is the config a titian db.

Field Description
enabled
bool
(Optional)
dirname
string
(Optional)
disable-gc
bool
(Optional)
max-background-gc
int64
(Optional)
purge-obsolete-files-period
string
(Optional)

The value of this field will be truncated to seconds.

TidbAutoScalerSpec

(Appears on: TidbClusterAutoScalerSpec)

TidbAutoScalerSpec describes the spec for tidb auto-scaling

Field Description
BasicAutoScalerSpec
BasicAutoScalerSpec

(Members of BasicAutoScalerSpec are embedded into this type.)

TidbAutoScalerStatus

(Appears on: TidbClusterAutoSclaerStatus)

TidbAutoScalerStatus describe the auto-scaling status of tidb

Field Description
BasicAutoScalerStatus
BasicAutoScalerStatus

(Members of BasicAutoScalerStatus are embedded into this type.)

TidbClusterAutoScalerSpec

(Appears on: TidbClusterAutoScaler)

TidbAutoScalerSpec describes the state of the TidbClusterAutoScaler

Field Description
cluster
TidbClusterRef

TidbClusterRef describe the target TidbCluster

metricsUrl
string
(Optional)

We used prometheus to fetch the metrics resources until the pd could provide it. MetricsUrl represents the url to fetch the metrics info

monitor
TidbMonitorRef
(Optional)

TidbMonitorRef describe the target TidbMonitor, when MetricsUrl and Monitor are both set, Operator will use MetricsUrl

tikv
TikvAutoScalerSpec
(Optional)

TiKV represents the auto-scaling spec for tikv

tidb
TidbAutoScalerSpec
(Optional)

TiDB represents the auto-scaling spec for tidb

TidbClusterAutoSclaerStatus

(Appears on: TidbClusterAutoScaler)

TidbClusterAutoSclaerStatus describe the whole status

Field Description
tikv
TikvAutoScalerStatus
(Optional)

Tikv describes the status for the tikv in the last auto-scaling reconciliation

tidb
TidbAutoScalerStatus
(Optional)

Tidb describes the status for the tidb in the last auto-scaling reconciliation

TidbClusterRef

(Appears on: TidbClusterAutoScalerSpec, TidbInitializerSpec, TidbMonitorSpec)

TidbClusterRef reference to a TidbCluster

Field Description
namespace
string
(Optional)

Namespace is the namespace that TidbCluster object locates, default to the same namespace with TidbMonitor

name
string

Name is the name of TidbCluster object

TidbClusterSpec

(Appears on: TidbCluster)

TidbClusterSpec describes the attributes that a user creates on a tidb cluster

Field Description
pd
PDSpec

PD cluster spec

tidb
TiDBSpec

TiDB cluster spec

tikv
TiKVSpec

TiKV cluster spec

tiflash
TiFlashSpec
(Optional)

TiFlash cluster spec

pump
PumpSpec
(Optional)

Pump cluster spec

helper
HelperSpec
(Optional)

Helper spec

paused
bool
(Optional)

Indicates that the tidb cluster is paused and will not be processed by the controller.

version
string
(Optional)

TODO: remove optional after defaulting logic introduced TiDB cluster version

schedulerName
string

SchedulerName of TiDB cluster Pods

pvReclaimPolicy
Kubernetes core/v1.PersistentVolumeReclaimPolicy

Persistent volume reclaim policy applied to the PVs that consumed by TiDB cluster

imagePullPolicy
Kubernetes core/v1.PullPolicy

ImagePullPolicy of TiDB cluster Pods

configUpdateStrategy
ConfigUpdateStrategy

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.

enablePVReclaim
bool
(Optional)

Whether enable PVC reclaim for orphan PVC left by statefulset scale-in Optional: Defaults to false

tlsCluster
TLSCluster
(Optional)

Whether enable the TLS connection between TiDB server components Optional: Defaults to nil

hostNetwork
bool
(Optional)

Whether Hostnetwork is enabled for TiDB cluster Pods Optional: Defaults to false

affinity
Kubernetes core/v1.Affinity
(Optional)

Affinity of TiDB cluster Pods

priorityClassName
string
(Optional)

PriorityClassName of TiDB cluster Pods Optional: Defaults to omitted

nodeSelector
map[string]string
(Optional)

Base node selectors of TiDB cluster Pods, components may add or override selectors upon this respectively

annotations
map[string]string
(Optional)

Base annotations of TiDB cluster Pods, components may add or override selectors upon this respectively

tolerations
[]Kubernetes core/v1.Toleration
(Optional)

Base tolerations of TiDB cluster Pods, components may add more tolerations upon this respectively

timezone
string
(Optional)

Time zone of TiDB cluster Pods Optional: Defaults to UTC

services
[]Service

Services list non-headless services type used in TidbCluster Deprecated

TidbClusterStatus

(Appears on: TidbCluster)

TidbClusterStatus represents the current status of a tidb cluster.

Field Description
clusterID
string
pd
PDStatus
tikv
TiKVStatus
tidb
TiDBStatus
Pump
PumpStatus
tiflash
TiFlashStatus

TidbInitializerSpec

(Appears on: TidbInitializer)

TidbInitializer spec encode the desired state of tidb initializer Job

Field Description
image
string
cluster
TidbClusterRef
imagePullPolicy
Kubernetes core/v1.PullPolicy
(Optional)
permitHost
string
(Optional)

permitHost is the host which will only be allowed to connect to the TiDB.

initSql
string
(Optional)

InitSql is the SQL statements executed after the TiDB cluster is bootstrapped.

initSqlConfigMap
string
(Optional)

InitSqlConfigMapName reference a configmap that provide init-sql, take high precedence than initSql if set

passwordSecret
string
(Optional)
resources
Kubernetes core/v1.ResourceRequirements
(Optional)
timezone
string
(Optional)

Time zone of TiDB initializer Pods

TidbInitializerStatus

(Appears on: TidbInitializer)

Field Description
JobStatus
Kubernetes batch/v1.JobStatus

(Members of JobStatus are embedded into this type.)

phase
InitializePhase

Phase is a user readable state inferred from the underlying Job status and TidbCluster status

TidbMonitorRef

(Appears on: TidbClusterAutoScalerSpec)

TidbMonitorRef reference to a TidbMonitor

Field Description
namespace
string
(Optional)

Namespace is the namespace that TidbMonitor object locates, default to the same namespace with TidbClusterAutoScaler

name
string

Name is the name of TidbMonitor object

TidbMonitorSpec

(Appears on: TidbMonitor)

TidbMonitor spec encode the desired state of tidb monitoring component

Field Description
clusters
[]TidbClusterRef
prometheus
PrometheusSpec
grafana
GrafanaSpec
(Optional)
reloader
ReloaderSpec
initializer
InitializerSpec
imagePullPolicy
Kubernetes core/v1.PullPolicy
persistent
bool
(Optional)
storageClassName
string
(Optional)
storage
string
(Optional)
nodeSelector
map[string]string
(Optional)
annotations
map[string]string
(Optional)
tolerations
[]Kubernetes core/v1.Toleration
(Optional)
kubePrometheusURL
string
(Optional)

kubePrometheusURL is where tidb-monitoring get the common metrics of kube-prometheus. Ref: https://github.com/coreos/kube-prometheus

alertmanagerURL
string
(Optional)

alertmanagerURL is where tidb-monitoring push alerts to. Ref: https://prometheus.io/docs/alerting/alertmanager/

TidbMonitorStatus

(Appears on: TidbMonitor)

TODO: sync status

TikvAutoScalerSpec

(Appears on: TidbClusterAutoScalerSpec)

TikvAutoScalerSpec describes the spec for tikv auto-scaling

Field Description
BasicAutoScalerSpec
BasicAutoScalerSpec

(Members of BasicAutoScalerSpec are embedded into this type.)

TikvAutoScalerStatus

(Appears on: TidbClusterAutoSclaerStatus)

TikvAutoScalerStatus describe the auto-scaling status of tikv

Field Description
BasicAutoScalerStatus
BasicAutoScalerStatus

(Members of BasicAutoScalerStatus are embedded into this type.)

TxnLocalLatches

(Appears on: TiDBConfig)

TxnLocalLatches is the TxnLocalLatches section of the config.

Field Description
enabled
bool
(Optional)
capacity
uint
(Optional)

UnjoinedMember

(Appears on: PDStatus)

UnjoinedMember is the pd unjoin cluster member information

Field Description
podName
string
pvcUID
k8s.io/apimachinery/pkg/types.UID
createdAt
Kubernetes meta/v1.Time

User

User is the configuration of users.

Field Description
password
string
(Optional)
profile
string
(Optional)
quota
string
(Optional)
networks
Networks
(Optional)

Generated with gen-crd-api-reference-docs