diff --git a/manifests/crd.yaml b/manifests/crd.yaml index 7711123183..c8cba27ac0 100644 --- a/manifests/crd.yaml +++ b/manifests/crd.yaml @@ -5105,24 +5105,6 @@ spec: cluster-level updateStrategy if present Optional: Defaults to cluster-level setting' type: string - diskRequests: - description: The DiskRequests of the persistent volume for TiFlash - data storage. TiFlash supports multiple disks - items: - description: TiDBSpec contains details of TiDB members - properties: - storageClassName: - description: The storageClassName of the persistent volume - for data storage. Defaults to Kubernetes default storage - class. - type: string - storageSize: - description: StorageSize is the request storage size for TiFlash - type: string - required: - - storageSize - type: object - type: array env: description: List of environment variables to set in the container, like v1.Container.Env. Note that following env names cannot be @@ -5385,1504 +5367,24 @@ spec: serviceAccount: description: Specify a Service Account for TiFlash type: string - tidb: - description: TiDBSpec contains details of TiDB members - properties: - affinity: - description: Affinity is a group of affinity scheduling rules. - properties: - nodeAffinity: - description: Node affinity is a group of node affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods - to nodes that satisfy the affinity expressions specified - by this field, but it may choose a node that violates - one or more of the expressions. The node that is most - preferred is the one with the greatest sum of weights, - i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating - through the elements of this field and adding "weight" - to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches - all objects with implicit weight 0 (i.e. it's a - no-op). A null preferred scheduling term matches - no objects (i.e. is also a no-op). - properties: - preference: - description: A null or empty node selector term - matches no objects. The requirements of them - are ANDed. The TopologySelectorTerm type implements - a subset of the NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement - is a selector that contains values, a - key, and an operator that relates the - key and values. - properties: - key: - description: The label key that the - selector applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. - type: string - values: - description: An array of string values. - If the operator is In or NotIn, the - values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. If - the operator is Gt or Lt, the values - array must have a single element, - which will be interpreted as an integer. - This array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement - is a selector that contains values, a - key, and an operator that relates the - key and values. - properties: - key: - description: The label key that the - selector applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. - type: string - values: - description: An array of string values. - If the operator is In or NotIn, the - values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. If - the operator is Gt or Lt, the values - array must have a single element, - which will be interpreted as an integer. - This array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - weight: - description: Weight associated with matching the - corresponding nodeSelectorTerm, in the range - 1-100. - format: int32 - type: integer - required: - - weight - - preference - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: A node selector represents the union of - the results of one or more label queries over a set - of nodes; that is, it represents the OR of the selectors - represented by the node selector terms. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. - The terms are ORed. - items: - description: A null or empty node selector term - matches no objects. The requirements of them - are ANDed. The TopologySelectorTerm type implements - a subset of the NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement - is a selector that contains values, a - key, and an operator that relates the - key and values. - properties: - key: - description: The label key that the - selector applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. - type: string - values: - description: An array of string values. - If the operator is In or NotIn, the - values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. If - the operator is Gt or Lt, the values - array must have a single element, - which will be interpreted as an integer. - This array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement - is a selector that contains values, a - key, and an operator that relates the - key and values. - properties: - key: - description: The label key that the - selector applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. - type: string - values: - description: An array of string values. - If the operator is In or NotIn, the - values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. If - the operator is Gt or Lt, the values - array must have a single element, - which will be interpreted as an integer. - This array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - type: array - required: - - nodeSelectorTerms - type: object - type: object - podAffinity: - description: Pod affinity is a group of inter pod affinity - scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods - to nodes that satisfy the affinity expressions specified - by this field, but it may choose a node that violates - one or more of the expressions. The node that is most - preferred is the one with the greatest sum of weights, - i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating - through the elements of this field and adding "weight" - to the sum if the node has pods which matches the - corresponding podAffinityTerm; the node(s) with the - highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred - node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those - matching the labelSelector relative to the given - namespace(s)) that this pod should be co-located - (affinity) or not co-located (anti-affinity) - with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query - over a set of resources. The result of matchLabels - and matchExpressions are ANDed. An empty - label selector matches all objects. A null - label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list - of label selector requirements. The - requirements are ANDed. - items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: key is the label key - that the selector applies to. - type: string - operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located - (affinity) or not co-located (anti-affinity) - with the pods matching the labelSelector - in the specified namespaces, where co-located - is defined as running on a node whose value - of the label with key topologyKey matches - that of any node on which any of the selected - pods is running. Empty topologyKey is not - allowed. - type: string - required: - - topologyKey - type: object - weight: - description: weight associated with matching the - corresponding podAffinityTerm, in the range - 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified - by this field are not met at scheduling time, the - pod will not be scheduled onto the node. If the affinity - requirements specified by this field cease to be met - at some point during pod execution (e.g. due to a - pod label update), the system may or may not try to - eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all - terms must be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or - not co-located (anti-affinity) with, where co-located - is defined as running on a node whose value of the - label with key matches that of any - node on which a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query - over a set of resources. The result of matchLabels - and matchExpressions are ANDed. An empty label - selector matches all objects. A null label selector - matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of - label selector requirements. The requirements - are ANDed. - items: - description: A label selector requirement - is a selector that contains values, a - key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that - the selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only - "value". The requirements are ANDed. - type: object - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified - namespaces, where co-located is defined as running - on a node whose value of the label with key - topologyKey matches that of any node on which - any of the selected pods is running. Empty topologyKey - is not allowed. - type: string - required: - - topologyKey - type: object - type: array - type: object - podAntiAffinity: - description: Pod anti affinity is a group of inter pod anti - affinity scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods - to nodes that satisfy the anti-affinity expressions - specified by this field, but it may choose a node - that violates one or more of the expressions. The - node that is most preferred is the one with the greatest - sum of weights, i.e. for each node that meets all - of the scheduling requirements (resource request, - requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements - of this field and adding "weight" to the sum if the - node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred - node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those - matching the labelSelector relative to the given - namespace(s)) that this pod should be co-located - (affinity) or not co-located (anti-affinity) - with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query - over a set of resources. The result of matchLabels - and matchExpressions are ANDed. An empty - label selector matches all objects. A null - label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list - of label selector requirements. The - requirements are ANDed. - items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: key is the label key - that the selector applies to. - type: string - operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located - (affinity) or not co-located (anti-affinity) - with the pods matching the labelSelector - in the specified namespaces, where co-located - is defined as running on a node whose value - of the label with key topologyKey matches - that of any node on which any of the selected - pods is running. Empty topologyKey is not - allowed. - type: string - required: - - topologyKey - type: object - weight: - description: weight associated with matching the - corresponding podAffinityTerm, in the range - 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified - by this field are not met at scheduling time, the - pod will not be scheduled onto the node. If the anti-affinity - requirements specified by this field cease to be met - at some point during pod execution (e.g. due to a - pod label update), the system may or may not try to - eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all - terms must be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or - not co-located (anti-affinity) with, where co-located - is defined as running on a node whose value of the - label with key matches that of any - node on which a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query - over a set of resources. The result of matchLabels - and matchExpressions are ANDed. An empty label - selector matches all objects. A null label selector - matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of - label selector requirements. The requirements - are ANDed. - items: - description: A label selector requirement - is a selector that contains values, a - key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that - the selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only - "value". The requirements are ANDed. - type: object - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified - namespaces, where co-located is defined as running - on a node whose value of the label with key - topologyKey matches that of any node on which - any of the selected pods is running. Empty topologyKey - is not allowed. - type: string - required: - - topologyKey - type: object - type: array - type: object - type: object - annotations: - description: 'Annotations of the component. Merged into the - cluster-level annotations if non-empty Optional: Defaults - to cluster-level setting' - type: object - baseImage: - description: Base image of the component, image tag is now allowed - during validation - type: string - binlogEnabled: - description: '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' - type: boolean - config: - description: TiDBConfig is the configuration of tidb-server - For more detail, refer to https://pingcap.com/docs/stable/reference/configuration/tidb-server/configuration/ - properties: - alter-primary-key: - description: 'Optional: Defaults to false' - type: boolean - binlog: - description: Binlog is the config for binlog. - properties: - binlog-socket: - description: Use socket file to write binlog, for compatible - with kafka version tidb-binlog. - type: string - enable: - description: optional - type: boolean - ignore-error: - description: If IgnoreError is true, when writing binlog - meets error, TiDB would ignore the error. - type: boolean - strategy: - description: 'The strategy for sending binlog to pump, - value can be "range,omitempty" or "hash,omitempty" - now. Optional: Defaults to range' - type: string - write-timeout: - description: 'Optional: Defaults to 15s' - type: string - type: object - check-mb4-value-in-utf8: - description: 'Optional: Defaults to true' - type: boolean - compatible-kill-query: - type: boolean - cors: - type: string - delay-clean-table-lock: - description: imported from v3.1.0 optional - format: int64 - type: integer - enable-batch-dml: - description: 'Optional: Defaults to false' - type: boolean - enable-dynamic-config: - description: EnableDynamicConfig enables the TiDB to fetch - configs from PD and update itself during runtime. see - https://github.com/pingcap/tidb/pull/13660 for more details. - type: boolean - enable-streaming: - description: 'Optional: Defaults to false' - type: boolean - enable-table-lock: - description: imported from v3.1.0 optional - type: boolean - experimental: - description: '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.' - properties: - allow-auto-random: - description: Whether enable the syntax like `auto_random(3)` - on the primary key column. imported from TiDB v3.1.0 - type: boolean - type: object - isolation-read: - description: IsolationRead is the config for isolation read. - properties: - engines: - description: Engines filters tidb-server access paths - by engine type. imported from v3.1.0 - items: - type: string - type: array - type: object - lease: - description: 'Optional: Defaults to 45s' - type: string - log: - description: Log is the log section of config. - properties: - disable-timestamp: - description: Disable automatic timestamps in output. - type: boolean - enable-error-stack: - description: EnableErrorStack enables annotating logs - with the full stack error message. - type: boolean - enable-slow-log: - type: boolean - enable-timestamp: - description: EnableTimestamp enables automatic timestamps - in log output. - type: boolean - expensive-threshold: - description: 'Optional: Defaults to 10000' - format: int32 - type: integer - file: - properties: - filename: - description: Log filename, leave empty to disable - file log. - type: string - log-rotate: - description: Is log rotate enabled. - type: boolean - max-backups: - description: Maximum number of old log files to - retain. - format: int32 - type: integer - max-days: - description: Max log keep days, default is never - deleting. - format: int32 - type: integer - max-size: - description: Max size for a single file, in MB. - format: int32 - type: integer - type: object - format: - description: 'Log format. one of json, text, or console. - Optional: Defaults to text' - type: string - level: - description: 'Log level. Optional: Defaults to info' - type: string - query-log-max-len: - description: 'Optional: Defaults to 2048' - format: int64 - type: integer - record-plan-in-slow-log: - description: 'Optional: Defaults to 1' - format: int64 - type: integer - slow-query-file: - type: string - slow-threshold: - description: 'Optional: Defaults to 300' - format: int64 - type: integer - type: object - lower-case-table-names: - format: int32 - type: integer - max-server-connections: - description: MaxServerConnections is the maximum permitted - number of simultaneous client connections. - format: int64 - type: integer - mem-quota-query: - description: 'Optional: Defaults to 34359738368' - format: int64 - type: integer - new_collations_enabled_on_first_bootstrap: - description: NewCollationsEnabledOnFirstBootstrap indicates - if the new collations are enabled, it effects only when - a TiDB cluster bootstrapped on the first time. - type: boolean - oom-action: - description: 'Optional: Defaults to log' - type: string - opentracing: - description: OpenTracing is the opentracing section of the - config. - properties: - enable: - description: 'Optional: Defaults to false' - type: boolean - reporter: - description: OpenTracingReporter is the config for opentracing - reporter. See https://godoc.org/github.com/uber/jaeger-client-go/config#ReporterConfig - properties: - buffer-flush-interval: - format: int64 - type: integer - local-agent-host-port: - type: string - log-spans: - type: boolean - queue-size: - format: int32 - type: integer - type: object - rpc-metrics: - type: boolean - sampler: - description: OpenTracingSampler is the config for opentracing - sampler. See https://godoc.org/github.com/uber/jaeger-client-go/config#SamplerConfig - properties: - max-operations: - format: int32 - type: integer - param: - format: double - type: number - sampling-refresh-interval: - format: int64 - type: integer - sampling-server-url: - type: string - type: - type: string - type: object - type: object - performance: - description: Performance is the performance section of the - config. - properties: - bind-info-lease: - description: 'Optional: Defaults to 3s' - type: string - cross-join: - description: 'Optional: Defaults to true' - type: boolean - feedback-probability: - description: 'Optional: Defaults to 0.05' - format: double - type: number - force-priority: - description: 'Optional: Defaults to NO_PRIORITY' - type: string - max-memory: - description: 'Optional: Defaults to 0' - format: int64 - type: integer - max-procs: - format: int32 - type: integer - pseudo-estimate-ratio: - description: 'Optional: Defaults to 0.8' - format: double - type: number - query-feedback-limit: - description: 'Optional: Defaults to 1024' - format: int32 - type: integer - run-auto-analyze: - description: 'Optional: Defaults to true' - type: boolean - stats-lease: - description: 'Optional: Defaults to 3s' - type: string - stmt-count-limit: - description: 'Optional: Defaults to 5000' - format: int32 - type: integer - tcp-keep-alive: - description: 'Optional: Defaults to true' - type: boolean - txn-entry-count-limit: - description: 'Optional: Defaults to 300000' - format: int64 - type: integer - txn-total-size-limit: - description: 'Optional: Defaults to 104857600' - format: int64 - type: integer - type: object - pessimistic-txn: - description: PessimisticTxn is the config for pessimistic - transaction. - properties: - enable: - description: 'Enable must be true for ''begin lock'' - or session variable to start a pessimistic transaction. - Optional: Defaults to true' - type: boolean - max-retry-count: - description: 'The max count of retry for a single statement - in a pessimistic transaction. Optional: Defaults to - 256' - format: int32 - type: integer - type: object - plugin: - description: Plugin is the config for plugin - properties: - dir: - type: string - load: - type: string - type: object - prepared-plan-cache: - description: PreparedPlanCache is the PreparedPlanCache - section of the config. - properties: - capacity: - description: 'Optional: Defaults to 100' - format: int32 - type: integer - enabled: - description: 'Optional: Defaults to false' - type: boolean - memory-guard-ratio: - description: 'Optional: Defaults to 0.1' - format: double - type: number - type: object - proxy-protocol: - description: ProxyProtocol is the PROXY protocol section - of the config. - properties: - header-timeout: - description: PROXY protocol header read timeout, Unit - is second. - format: int32 - type: integer - networks: - description: PROXY protocol acceptable client networks. - Empty *string means disable PROXY protocol, * means - all networks. - type: string - type: object - repair-mode: - description: RepairMode indicates that the TiDB is in the - repair mode for table meta. - type: boolean - repair-table-list: - items: - type: string - type: array - run-ddl: - description: 'Optional: Defaults to true' - type: boolean - security: - description: Security is the security section of the config. - properties: - cluster-ssl-ca: - type: string - cluster-ssl-cert: - type: string - cluster-ssl-key: - type: string - skip-grant-table: - type: boolean - ssl-ca: - type: string - ssl-cert: - type: string - ssl-key: - type: string - type: object - socket: - type: string - split-region-max-num: - description: 'Optional: Defaults to 1000' - format: int64 - type: integer - split-table: - description: 'Optional: Defaults to true' - type: boolean - status: - description: Status is the status section of the config. - properties: - metrics-addr: - type: string - metrics-interval: - description: 'Optional: Defaults to 15' - format: int32 - type: integer - record-db-qps: - description: 'Optional: Defaults to false' - type: boolean - report-status: - description: 'Optional: Defaults to true' - type: boolean - type: object - stmt-summary: - description: StmtSummary is the config for statement summary. - properties: - enable: - description: Enable statement summary or not. - type: boolean - history-size: - description: The maximum history size of statement summary. - format: int32 - type: integer - max-sql-length: - description: 'The maximum length of displayed normalized - SQL and sample SQL. Optional: Defaults to 4096' - format: int32 - type: integer - max-stmt-count: - description: 'The maximum number of statements kept - in memory. Optional: Defaults to 100' - format: int32 - type: integer - refresh-interval: - description: The refresh interval of statement summary. - format: int32 - type: integer - type: object - tikv-client: - description: TiKVClient is the config for tikv client. - properties: - batch-wait-size: - description: 'BatchWaitSize is the max wait size for - batch. Optional: Defaults to 8' - format: int32 - type: integer - commit-timeout: - description: 'CommitTimeout is the max time which command - ''commit'' will wait. Optional: Defaults to 41s' - type: string - copr-cache: {} - grpc-connection-count: - description: 'GrpcConnectionCount is the max gRPC connections - that will be established with each tikv-server. Optional: - Defaults to 16' - format: int32 - type: integer - grpc-keepalive-time: - description: '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' - format: int32 - type: integer - grpc-keepalive-timeout: - description: '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' - format: int32 - type: integer - max-batch-size: - description: 'MaxBatchSize is the max batch size when - calling batch commands API. Optional: Defaults to - 128' - format: int32 - type: integer - max-batch-wait-time: - description: 'MaxBatchWaitTime in nanosecond is the - max wait time for batch. Optional: Defaults to 0' - format: int64 - type: integer - max-txn-time-use: - description: 'MaxTxnTimeUse is the max time a Txn may - use (in seconds) from its startTS to commitTS. Optional: - Defaults to 590' - format: int32 - type: integer - overload-threshold: - description: 'If TiKV load is greater than this, TiDB - will wait for a while to avoid little batch. Optional: - Defaults to 200' - format: int32 - type: integer - region-cache-ttl: - description: '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' - format: int32 - type: integer - store-limit: - description: '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' - format: int64 - type: integer - type: object - token-limit: - description: 'Optional: Defaults to 1000' - format: int32 - type: integer - treat-old-version-utf8-as-utf8mb4: - description: 'Optional: Defaults to true' - type: boolean - txn-local-latches: - description: TxnLocalLatches is the TxnLocalLatches section - of the config. - properties: - capacity: - format: int32 - type: integer - enabled: - type: boolean - type: object - type: object - configUpdateStrategy: - description: 'ConfigUpdateStrategy of the component. Override - the cluster-level updateStrategy if present Optional: Defaults - to cluster-level setting' - type: string - env: - description: 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 - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be - a C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previous defined environment variables in - the container and any service environment variables. - If a variable cannot be resolved, the reference in the - input string will be unchanged. The $(VAR_NAME) syntax - can be escaped with a double $$, ie: $$(VAR_NAME). Escaped - references will never be expanded, regardless of whether - the variable exists or not. Defaults to "".' - type: string - valueFrom: - description: EnvVarSource represents a source for the - value of an EnvVar. - properties: - configMapKeyRef: - description: Selects a key from a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap or - its key must be defined - type: boolean - required: - - key - type: object - fieldRef: - description: ObjectFieldSelector selects an APIVersioned - field of an object. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - type: object - resourceFieldRef: - description: ResourceFieldSelector represents container - resources (cpu, memory) and their output format - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: {} - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - secretKeyRef: - description: SecretKeySelector selects a key of a - Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - type: object - required: - - name - type: object - type: array - hostNetwork: - description: 'Whether Hostnetwork of the component is enabled. - Override the cluster-level setting if present Optional: Defaults - to cluster-level setting' - type: boolean - imagePullPolicy: - description: 'ImagePullPolicy of the component. Override the - cluster-level imagePullPolicy if present Optional: Defaults - to cluster-level setting' - type: string - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - maxFailoverCount: - description: 'MaxFailoverCount limit the max replicas could - be added in failover, 0 means no failover Optional: Defaults - to 3' - format: int32 - type: integer - nodeSelector: - description: 'NodeSelector of the component. Merged into the - cluster-level nodeSelector if non-empty Optional: Defaults - to cluster-level setting' - type: object - plugins: - description: Plugins is a list of plugins that are loaded by - TiDB server, empty means plugin disabled - items: + storageRequests: + description: The StorageRequests of the persistent volume for TiFlash + data storage. TiFlash supports multiple disks + items: + description: TiDBSpec contains details of TiDB members + properties: + storageClassName: + description: The storageClassName of the persistent volume + for data storage. Defaults to Kubernetes default storage + class. type: string - type: array - podSecurityContext: - description: PodSecurityContext holds pod-level security attributes - and common container settings. Some fields are also present - in container.securityContext. Field values of container.securityContext - take precedence over field values of PodSecurityContext. - properties: - fsGroup: - description: |- - A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - - If unset, the Kubelet will not modify the ownership and permissions of any volume. - format: int64 - type: integer - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in SecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a - non-root user. If true, the Kubelet will validate the - image at runtime to ensure that it does not run as UID - 0 (root) and fail to start the container if it does. If - unset or false, no such validation will be performed. - May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata - if unspecified. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence for - that container. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied - to the container - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - type: object - supplementalGroups: - description: A list of groups applied to the first process - run in each container, in addition to the container's - primary GID. If unspecified, no groups will be added - to any container. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used - for the pod. Pods with unsupported sysctls (by the container - runtime) might fail to launch. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: object - type: array - windowsOptions: - description: WindowsSecurityContextOptions contain Windows-specific - options and credentials. - properties: - gmsaCredentialSpec: - description: GMSACredentialSpec is where the GMSA admission - webhook (https://github.com/kubernetes-sigs/windows-gmsa) - inlines the contents of the GMSA credential spec named - by the GMSACredentialSpecName field. This field is - alpha-level and is only honored by servers that enable - the WindowsGMSA feature flag. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. This field is alpha-level - and is only honored by servers that enable the WindowsGMSA - feature flag. - type: string - runAsUserName: - description: The UserName in Windows to run the entrypoint - of the container process. Defaults to the user specified - in image metadata if unspecified. May also be set - in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. This field is alpha-level and it - is only honored by servers that enable the WindowsRunAsUserName - feature flag. - type: string - type: object - type: object - priorityClassName: - description: 'PriorityClassName of the component. Override the - cluster-level one if present Optional: Defaults to cluster-level - setting' - type: string - replicas: - description: The desired ready replicas - format: int32 - type: integer - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - schedulerName: - description: 'SchedulerName of the component. Override the cluster-level - one if present Optional: Defaults to cluster-level setting' - type: string - separateSlowLog: - description: 'Whether output the slow log in an separate sidecar - container Optional: Defaults to true' - type: boolean - service: - properties: - exposeStatus: - description: 'Whether expose the status port Optional: Defaults - to true' - type: boolean - externalTrafficPolicy: - description: 'ExternalTrafficPolicy of the service Optional: - Defaults to omitted' - type: string - type: object - slowLogTailer: - description: TiDBSlowLogTailerSpec represents an optional log - tailer sidecar with TiDB - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. More info: - https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - type: object - tlsClient: {} - tolerations: - description: 'Tolerations of the component. Override the cluster-level - tolerations if non-empty Optional: Defaults to cluster-level - setting' - items: - description: The pod this Toleration is attached to tolerates - any taint that matches the triple using - the matching operator . - properties: - effect: - description: Effect indicates the taint effect to match. - Empty means match all taint effects. When specified, - allowed values are NoSchedule, PreferNoSchedule and - NoExecute. - type: string - key: - description: Key is the taint key that the toleration - applies to. Empty means match all taint keys. If the - key is empty, operator must be Exists; this combination - means to match all values and all keys. - type: string - operator: - description: Operator represents a key's relationship - to the value. Valid operators are Exists and Equal. - Defaults to Equal. Exists is equivalent to wildcard - for value, so that a pod can tolerate all taints of - a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of - time the toleration (which must be of effect NoExecute, - otherwise this field is ignored) tolerates the taint. - By default, it is not set, which means tolerate the - taint forever (do not evict). Zero and negative values - will be treated as 0 (evict immediately) by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches - to. If the operator is Exists, the value should be empty, - otherwise just a regular string. - type: string - type: object - type: array - version: - description: 'Version of the component. Override the cluster-level - version if non-empty Optional: Defaults to cluster-level setting' - type: string - required: - - replicas - type: object + storageSize: + description: StorageSize is the request storage size for TiFlash + type: string + required: + - storageSize + type: object + type: array tolerations: description: 'Tolerations of the component. Override the cluster-level tolerations if non-empty Optional: Defaults to cluster-level setting' @@ -6930,7 +5432,7 @@ spec: type: string required: - replicas - - diskRequests + - storageRequests type: object tikv: description: TiKVSpec contains details of TiKV members