From 7c62bf2920e790fc42c110af6fa6aec3d528c608 Mon Sep 17 00:00:00 2001
From: hoyhbx <hoyhbx@gmail.com>
Date: Wed, 27 Jul 2022 17:44:35 -0500
Subject: [PATCH 1/3] avoid silent rejection to invalid podManagementPolicy

---
 .../pingcap/v1alpha1/tidbcluster_component.go |  4 ++
 pkg/apis/pingcap/v1alpha1/tidbcluster_test.go | 49 +++++++++++++++++++
 2 files changed, 53 insertions(+)

diff --git a/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go b/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go
index c9bb0f3fa73..21ba5b3dbe1 100644
--- a/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go
+++ b/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go
@@ -18,6 +18,7 @@ import (
 	apps "k8s.io/api/apps/v1"
 	corev1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	"k8s.io/klog/v2"
 )
 
 const (
@@ -118,7 +119,10 @@ func (a *componentAccessorImpl) PodManagementPolicy() apps.PodManagementPolicyTy
 	// unified podManagementPolicy check to avoid check everywhere
 	if policy == apps.OrderedReadyPodManagement {
 		return apps.OrderedReadyPodManagement
+	} else if policy == apps.ParallelPodManagement {
+		return apps.ParallelPodManagement
 	}
+	klog.Warningf("PodManagementPolicy \"%s\" is invalid. Fall back to use \"Parallel\" instead\n", policy)
 	return apps.ParallelPodManagement
 }
 
diff --git a/pkg/apis/pingcap/v1alpha1/tidbcluster_test.go b/pkg/apis/pingcap/v1alpha1/tidbcluster_test.go
index 9f36b958b0a..50e106abaa0 100644
--- a/pkg/apis/pingcap/v1alpha1/tidbcluster_test.go
+++ b/pkg/apis/pingcap/v1alpha1/tidbcluster_test.go
@@ -25,6 +25,55 @@ import (
 	"k8s.io/utils/pointer"
 )
 
+func TestPodManagementPolicy(t *testing.T) {
+	g := NewGomegaWithT(t)
+
+	type testcase struct {
+		name     string
+		update   func(c *TidbCluster)
+		expectFn func(*GomegaWithT, apps.PodManagementPolicyType)
+	}
+	testFn := func(test *testcase, t *testing.T) {
+		t.Log(test.name)
+
+		tc := newTidbCluster()
+		test.update(tc)
+		test.expectFn(g, tc.BasePDSpec().PodManagementPolicy())
+	}
+	tests := []testcase{
+		{
+			name: "OrderedReady",
+			update: func(c *TidbCluster) {
+				c.Spec.PD.PodManagementPolicy = "OrderedReady"
+			},
+			expectFn: func(g *GomegaWithT, s apps.PodManagementPolicyType) {
+				g.Expect(s).To(Equal(apps.OrderedReadyPodManagement))
+			},
+		},
+		{
+			name: "Parallel",
+			update: func(c *TidbCluster) {
+				c.Spec.PD.PodManagementPolicy = "Parallel"
+			},
+			expectFn: func(g *GomegaWithT, s apps.PodManagementPolicyType) {
+				g.Expect(s).To(Equal(apps.ParallelPodManagement))
+			},
+		},
+		{
+			name: "Invalid pod management policy, should fall back to Parallel",
+			update: func(c *TidbCluster) {
+				c.Spec.PD.PodManagementPolicy = "invalid"
+			},
+			expectFn: func(g *GomegaWithT, s apps.PodManagementPolicyType) {
+				g.Expect(s).To(Equal(apps.ParallelPodManagement))
+			},
+		},
+	}
+	for i := range tests {
+		testFn(&tests[i], t)
+	}
+}
+
 func TestPDIsAvailable(t *testing.T) {
 	g := NewGomegaWithT(t)
 

From 62ac9d01ddb802eecf44c72e81e083318e28f92f Mon Sep 17 00:00:00 2001
From: hoyhbx <hoyhbx@gmail.com>
Date: Tue, 2 Aug 2022 21:12:01 -0500
Subject: [PATCH 2/3] remove klog; add validation in types.go

---
 manifests/crd.yaml                            | 4897 ++++++++--------
 .../crd/v1/pingcap.com_tidbclusters.yaml      |    3 +
 .../crd/v1beta1/pingcap.com_tidbclusters.yaml |    3 +
 manifests/crd_v1beta1.yaml                    | 4901 +++++++++--------
 .../pingcap/v1alpha1/tidbcluster_component.go |    2 -
 pkg/apis/pingcap/v1alpha1/types.go            |    1 +
 6 files changed, 4909 insertions(+), 4898 deletions(-)

diff --git a/manifests/crd.yaml b/manifests/crd.yaml
index c3cfcd95025..4f119bded41 100644
--- a/manifests/crd.yaml
+++ b/manifests/crd.yaml
@@ -6,35 +6,43 @@ metadata:
   annotations:
     controller-gen.kubebuilder.io/version: v0.6.2
   creationTimestamp: null
-  name: backupschedules.pingcap.com
+  name: backups.pingcap.com
 spec:
   group: pingcap.com
   names:
-    kind: BackupSchedule
-    listKind: BackupScheduleList
-    plural: backupschedules
+    kind: Backup
+    listKind: BackupList
+    plural: backups
     shortNames:
-    - bks
-    singular: backupschedule
+    - bk
+    singular: backup
   scope: Namespaced
   versions:
   - additionalPrinterColumns:
-    - description: The cron format string used for backup scheduling
-      jsonPath: .spec.schedule
-      name: Schedule
+    - description: The current status of the backup
+      jsonPath: .status.phase
+      name: Status
       type: string
-    - description: The max number of backups we want to keep
-      jsonPath: .spec.maxBackups
-      name: MaxBackups
-      type: integer
-    - description: The last backup CR name
-      jsonPath: .status.lastBackup
-      name: LastBackup
-      priority: 1
+    - description: The full path of backup data
+      jsonPath: .status.backupPath
+      name: BackupPath
       type: string
-    - description: The last time the backup was successfully created
-      jsonPath: .status.lastBackupTime
-      name: LastBackupTime
+    - description: The data size of the backup
+      jsonPath: .status.backupSizeReadable
+      name: BackupSize
+      type: string
+    - description: The commit ts of tidb cluster dump
+      jsonPath: .status.commitTs
+      name: CommitTS
+      type: string
+    - description: The time at which the backup was started
+      jsonPath: .status.timeStarted
+      name: Started
+      priority: 1
+      type: date
+    - description: The time at which the backup was completed
+      jsonPath: .status.timeCompleted
+      name: Completed
       priority: 1
       type: date
     - jsonPath: .metadata.creationTimestamp
@@ -52,16 +60,107 @@ spec:
             type: object
           spec:
             properties:
-              backupTemplate:
+              affinity:
                 properties:
-                  affinity:
+                  nodeAffinity:
                     properties:
-                      nodeAffinity:
+                      preferredDuringSchedulingIgnoredDuringExecution:
+                        items:
+                          properties:
+                            preference:
+                              properties:
+                                matchExpressions:
+                                  items:
+                                    properties:
+                                      key:
+                                        type: string
+                                      operator:
+                                        type: string
+                                      values:
+                                        items:
+                                          type: string
+                                        type: array
+                                    required:
+                                    - key
+                                    - operator
+                                    type: object
+                                  type: array
+                                matchFields:
+                                  items:
+                                    properties:
+                                      key:
+                                        type: string
+                                      operator:
+                                        type: string
+                                      values:
+                                        items:
+                                          type: string
+                                        type: array
+                                    required:
+                                    - key
+                                    - operator
+                                    type: object
+                                  type: array
+                              type: object
+                            weight:
+                              format: int32
+                              type: integer
+                          required:
+                          - preference
+                          - weight
+                          type: object
+                        type: array
+                      requiredDuringSchedulingIgnoredDuringExecution:
                         properties:
-                          preferredDuringSchedulingIgnoredDuringExecution:
+                          nodeSelectorTerms:
                             items:
                               properties:
-                                preference:
+                                matchExpressions:
+                                  items:
+                                    properties:
+                                      key:
+                                        type: string
+                                      operator:
+                                        type: string
+                                      values:
+                                        items:
+                                          type: string
+                                        type: array
+                                    required:
+                                    - key
+                                    - operator
+                                    type: object
+                                  type: array
+                                matchFields:
+                                  items:
+                                    properties:
+                                      key:
+                                        type: string
+                                      operator:
+                                        type: string
+                                      values:
+                                        items:
+                                          type: string
+                                        type: array
+                                    required:
+                                    - key
+                                    - operator
+                                    type: object
+                                  type: array
+                              type: object
+                            type: array
+                        required:
+                        - nodeSelectorTerms
+                        type: object
+                    type: object
+                  podAffinity:
+                    properties:
+                      preferredDuringSchedulingIgnoredDuringExecution:
+                        items:
+                          properties:
+                            podAffinityTerm:
+                              properties:
+                                labelSelector:
                                   properties:
                                     matchExpressions:
                                       items:
@@ -79,125 +178,73 @@ spec:
                                         - operator
                                         type: object
                                       type: array
-                                    matchFields:
-                                      items:
-                                        properties:
-                                          key:
-                                            type: string
-                                          operator:
-                                            type: string
-                                          values:
-                                            items:
-                                              type: string
-                                            type: array
-                                        required:
-                                        - key
-                                        - operator
-                                        type: object
-                                      type: array
+                                    matchLabels:
+                                      additionalProperties:
+                                        type: string
+                                      type: object
                                   type: object
-                                weight:
-                                  format: int32
-                                  type: integer
+                                namespaces:
+                                  items:
+                                    type: string
+                                  type: array
+                                topologyKey:
+                                  type: string
                               required:
-                              - preference
-                              - weight
+                              - topologyKey
                               type: object
-                            type: array
-                          requiredDuringSchedulingIgnoredDuringExecution:
-                            properties:
-                              nodeSelectorTerms:
-                                items:
-                                  properties:
-                                    matchExpressions:
-                                      items:
-                                        properties:
-                                          key:
-                                            type: string
-                                          operator:
-                                            type: string
-                                          values:
-                                            items:
-                                              type: string
-                                            type: array
-                                        required:
-                                        - key
-                                        - operator
-                                        type: object
-                                      type: array
-                                    matchFields:
-                                      items:
-                                        properties:
-                                          key:
-                                            type: string
-                                          operator:
-                                            type: string
-                                          values:
-                                            items:
-                                              type: string
-                                            type: array
-                                        required:
-                                        - key
-                                        - operator
-                                        type: object
-                                      type: array
-                                  type: object
-                                type: array
-                            required:
-                            - nodeSelectorTerms
-                            type: object
-                        type: object
-                      podAffinity:
-                        properties:
-                          preferredDuringSchedulingIgnoredDuringExecution:
-                            items:
-                              properties:
-                                podAffinityTerm:
-                                  properties:
-                                    labelSelector:
-                                      properties:
-                                        matchExpressions:
-                                          items:
-                                            properties:
-                                              key:
-                                                type: string
-                                              operator:
-                                                type: string
-                                              values:
-                                                items:
-                                                  type: string
-                                                type: array
-                                            required:
-                                            - key
-                                            - operator
-                                            type: object
-                                          type: array
-                                        matchLabels:
-                                          additionalProperties:
-                                            type: string
-                                          type: object
-                                      type: object
-                                    namespaces:
-                                      items:
-                                        type: string
-                                      type: array
-                                    topologyKey:
-                                      type: string
-                                  required:
-                                  - topologyKey
-                                  type: object
-                                weight:
-                                  format: int32
-                                  type: integer
-                              required:
-                              - podAffinityTerm
-                              - weight
-                              type: object
-                            type: array
-                          requiredDuringSchedulingIgnoredDuringExecution:
-                            items:
-                              properties:
-                                labelSelector:
+                            weight:
+                              format: int32
+                              type: integer
+                          required:
+                          - podAffinityTerm
+                          - weight
+                          type: object
+                        type: array
+                      requiredDuringSchedulingIgnoredDuringExecution:
+                        items:
+                          properties:
+                            labelSelector:
+                              properties:
+                                matchExpressions:
+                                  items:
+                                    properties:
+                                      key:
+                                        type: string
+                                      operator:
+                                        type: string
+                                      values:
+                                        items:
+                                          type: string
+                                        type: array
+                                    required:
+                                    - key
+                                    - operator
+                                    type: object
+                                  type: array
+                                matchLabels:
+                                  additionalProperties:
+                                    type: string
+                                  type: object
+                              type: object
+                            namespaces:
+                              items:
+                                type: string
+                              type: array
+                            topologyKey:
+                              type: string
+                          required:
+                          - topologyKey
+                          type: object
+                        type: array
+                    type: object
+                  podAntiAffinity:
+                    properties:
+                      preferredDuringSchedulingIgnoredDuringExecution:
+                        items:
+                          properties:
+                            podAffinityTerm:
+                              properties:
+                                labelSelector:
                                   properties:
                                     matchExpressions:
                                       items:
@@ -229,1118 +276,229 @@ spec:
                               required:
                               - topologyKey
                               type: object
-                            type: array
-                        type: object
-                      podAntiAffinity:
-                        properties:
-                          preferredDuringSchedulingIgnoredDuringExecution:
-                            items:
+                            weight:
+                              format: int32
+                              type: integer
+                          required:
+                          - podAffinityTerm
+                          - weight
+                          type: object
+                        type: array
+                      requiredDuringSchedulingIgnoredDuringExecution:
+                        items:
+                          properties:
+                            labelSelector:
                               properties:
-                                podAffinityTerm:
-                                  properties:
-                                    labelSelector:
-                                      properties:
-                                        matchExpressions:
-                                          items:
-                                            properties:
-                                              key:
-                                                type: string
-                                              operator:
-                                                type: string
-                                              values:
-                                                items:
-                                                  type: string
-                                                type: array
-                                            required:
-                                            - key
-                                            - operator
-                                            type: object
-                                          type: array
-                                        matchLabels:
-                                          additionalProperties:
-                                            type: string
-                                          type: object
-                                      type: object
-                                    namespaces:
-                                      items:
+                                matchExpressions:
+                                  items:
+                                    properties:
+                                      key:
                                         type: string
-                                      type: array
-                                    topologyKey:
-                                      type: string
-                                  required:
-                                  - topologyKey
-                                  type: object
-                                weight:
-                                  format: int32
-                                  type: integer
-                              required:
-                              - podAffinityTerm
-                              - weight
-                              type: object
-                            type: array
-                          requiredDuringSchedulingIgnoredDuringExecution:
-                            items:
-                              properties:
-                                labelSelector:
-                                  properties:
-                                    matchExpressions:
-                                      items:
-                                        properties:
-                                          key:
-                                            type: string
-                                          operator:
-                                            type: string
-                                          values:
-                                            items:
-                                              type: string
-                                            type: array
-                                        required:
-                                        - key
-                                        - operator
-                                        type: object
-                                      type: array
-                                    matchLabels:
-                                      additionalProperties:
+                                      operator:
                                         type: string
-                                      type: object
-                                  type: object
-                                namespaces:
-                                  items:
-                                    type: string
+                                      values:
+                                        items:
+                                          type: string
+                                        type: array
+                                    required:
+                                    - key
+                                    - operator
+                                    type: object
                                   type: array
-                                topologyKey:
-                                  type: string
-                              required:
-                              - topologyKey
+                                matchLabels:
+                                  additionalProperties:
+                                    type: string
+                                  type: object
                               type: object
-                            type: array
-                        type: object
-                    type: object
-                  azblob:
-                    properties:
-                      accessTier:
-                        type: string
-                      container:
-                        type: string
-                      path:
-                        type: string
-                      prefix:
-                        type: string
-                      secretName:
-                        type: string
-                    type: object
-                  backupType:
-                    type: string
-                  br:
-                    properties:
-                      checkRequirements:
-                        type: boolean
-                      checksum:
-                        type: boolean
-                      cluster:
-                        type: string
-                      clusterNamespace:
-                        type: string
-                      concurrency:
-                        format: int32
-                        type: integer
-                      db:
-                        type: string
-                      logLevel:
-                        type: string
-                      onLine:
-                        type: boolean
-                      options:
-                        items:
-                          type: string
+                            namespaces:
+                              items:
+                                type: string
+                              type: array
+                            topologyKey:
+                              type: string
+                          required:
+                          - topologyKey
+                          type: object
                         type: array
-                      rateLimit:
-                        type: integer
-                      sendCredToTikv:
-                        type: boolean
-                      statusAddr:
-                        type: string
-                      table:
-                        type: string
-                      timeAgo:
-                        type: string
-                    required:
-                    - cluster
-                    type: object
-                  cleanOption:
-                    properties:
-                      batchConcurrency:
-                        format: int32
-                        type: integer
-                      disableBatchConcurrency:
-                        type: boolean
-                      pageSize:
-                        format: int64
-                        type: integer
-                      routineConcurrency:
-                        format: int32
-                        type: integer
                     type: object
-                  cleanPolicy:
-                    type: string
-                  dumpling:
-                    properties:
-                      options:
-                        items:
-                          type: string
-                        type: array
-                      tableFilter:
-                        items:
-                          type: string
-                        type: array
-                    type: object
-                  env:
-                    items:
-                      properties:
-                        name:
-                          type: string
-                        value:
-                          type: string
-                        valueFrom:
-                          properties:
-                            configMapKeyRef:
-                              properties:
-                                key:
-                                  type: string
-                                name:
-                                  type: string
-                                optional:
-                                  type: boolean
-                              required:
-                              - key
-                              type: object
-                            fieldRef:
-                              properties:
-                                apiVersion:
-                                  type: string
-                                fieldPath:
-                                  type: string
-                              required:
-                              - fieldPath
-                              type: object
-                            resourceFieldRef:
-                              properties:
-                                containerName:
-                                  type: string
-                                divisor:
-                                  anyOf:
-                                  - type: integer
-                                  - type: string
-                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                  x-kubernetes-int-or-string: true
-                                resource:
-                                  type: string
-                              required:
-                              - resource
-                              type: object
-                            secretKeyRef:
-                              properties:
-                                key:
-                                  type: string
-                                name:
-                                  type: string
-                                optional:
-                                  type: boolean
-                              required:
-                              - key
-                              type: object
-                          type: object
-                      required:
-                      - name
-                      type: object
-                    type: array
-                  from:
-                    properties:
-                      host:
-                        type: string
-                      port:
-                        format: int32
-                        type: integer
-                      secretName:
-                        type: string
-                      tlsClientSecretName:
-                        type: string
-                      user:
-                        type: string
-                    required:
-                    - host
-                    - secretName
-                    type: object
-                  gcs:
-                    properties:
-                      bucket:
-                        type: string
-                      bucketAcl:
-                        type: string
-                      location:
-                        type: string
-                      objectAcl:
-                        type: string
-                      path:
-                        type: string
-                      prefix:
-                        type: string
-                      projectId:
-                        type: string
-                      secretName:
-                        type: string
-                      storageClass:
-                        type: string
-                    required:
-                    - projectId
-                    type: object
-                  imagePullSecrets:
-                    items:
-                      properties:
-                        name:
-                          type: string
-                      type: object
-                    type: array
-                  local:
-                    properties:
-                      prefix:
-                        type: string
-                      volume:
-                        properties:
-                          awsElasticBlockStore:
-                            properties:
-                              fsType:
-                                type: string
-                              partition:
-                                format: int32
-                                type: integer
-                              readOnly:
-                                type: boolean
-                              volumeID:
-                                type: string
-                            required:
-                            - volumeID
-                            type: object
-                          azureDisk:
-                            properties:
-                              cachingMode:
-                                type: string
-                              diskName:
-                                type: string
-                              diskURI:
-                                type: string
-                              fsType:
-                                type: string
-                              kind:
-                                type: string
-                              readOnly:
-                                type: boolean
-                            required:
-                            - diskName
-                            - diskURI
-                            type: object
-                          azureFile:
-                            properties:
-                              readOnly:
-                                type: boolean
-                              secretName:
-                                type: string
-                              shareName:
-                                type: string
-                            required:
-                            - secretName
-                            - shareName
-                            type: object
-                          cephfs:
-                            properties:
-                              monitors:
-                                items:
-                                  type: string
-                                type: array
-                              path:
-                                type: string
-                              readOnly:
-                                type: boolean
-                              secretFile:
-                                type: string
-                              secretRef:
-                                properties:
-                                  name:
-                                    type: string
-                                type: object
-                              user:
-                                type: string
-                            required:
-                            - monitors
-                            type: object
-                          cinder:
-                            properties:
-                              fsType:
-                                type: string
-                              readOnly:
-                                type: boolean
-                              secretRef:
-                                properties:
-                                  name:
-                                    type: string
-                                type: object
-                              volumeID:
-                                type: string
-                            required:
-                            - volumeID
-                            type: object
-                          configMap:
-                            properties:
-                              defaultMode:
-                                format: int32
-                                type: integer
-                              items:
-                                items:
-                                  properties:
-                                    key:
-                                      type: string
-                                    mode:
-                                      format: int32
-                                      type: integer
-                                    path:
-                                      type: string
-                                  required:
-                                  - key
-                                  - path
-                                  type: object
-                                type: array
-                              name:
-                                type: string
-                              optional:
-                                type: boolean
-                            type: object
-                          csi:
-                            properties:
-                              driver:
-                                type: string
-                              fsType:
-                                type: string
-                              nodePublishSecretRef:
-                                properties:
-                                  name:
-                                    type: string
-                                type: object
-                              readOnly:
-                                type: boolean
-                              volumeAttributes:
-                                additionalProperties:
-                                  type: string
-                                type: object
-                            required:
-                            - driver
-                            type: object
-                          downwardAPI:
-                            properties:
-                              defaultMode:
-                                format: int32
-                                type: integer
-                              items:
-                                items:
-                                  properties:
-                                    fieldRef:
-                                      properties:
-                                        apiVersion:
-                                          type: string
-                                        fieldPath:
-                                          type: string
-                                      required:
-                                      - fieldPath
-                                      type: object
-                                    mode:
-                                      format: int32
-                                      type: integer
-                                    path:
-                                      type: string
-                                    resourceFieldRef:
-                                      properties:
-                                        containerName:
-                                          type: string
-                                        divisor:
-                                          anyOf:
-                                          - type: integer
-                                          - type: string
-                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                          x-kubernetes-int-or-string: true
-                                        resource:
-                                          type: string
-                                      required:
-                                      - resource
-                                      type: object
-                                  required:
-                                  - path
-                                  type: object
-                                type: array
-                            type: object
-                          emptyDir:
-                            properties:
-                              medium:
-                                type: string
-                              sizeLimit:
-                                anyOf:
-                                - type: integer
-                                - type: string
-                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                x-kubernetes-int-or-string: true
-                            type: object
-                          ephemeral:
-                            properties:
-                              readOnly:
-                                type: boolean
-                              volumeClaimTemplate:
-                                properties:
-                                  metadata:
-                                    type: object
-                                  spec:
-                                    properties:
-                                      accessModes:
-                                        items:
-                                          type: string
-                                        type: array
-                                      dataSource:
-                                        properties:
-                                          apiGroup:
-                                            type: string
-                                          kind:
-                                            type: string
-                                          name:
-                                            type: string
-                                        required:
-                                        - kind
-                                        - name
-                                        type: object
-                                      resources:
-                                        properties:
-                                          limits:
-                                            additionalProperties:
-                                              anyOf:
-                                              - type: integer
-                                              - type: string
-                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                              x-kubernetes-int-or-string: true
-                                            type: object
-                                          requests:
-                                            additionalProperties:
-                                              anyOf:
-                                              - type: integer
-                                              - type: string
-                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                              x-kubernetes-int-or-string: true
-                                            type: object
-                                        type: object
-                                      selector:
-                                        properties:
-                                          matchExpressions:
-                                            items:
-                                              properties:
-                                                key:
-                                                  type: string
-                                                operator:
-                                                  type: string
-                                                values:
-                                                  items:
-                                                    type: string
-                                                  type: array
-                                              required:
-                                              - key
-                                              - operator
-                                              type: object
-                                            type: array
-                                          matchLabels:
-                                            additionalProperties:
-                                              type: string
-                                            type: object
-                                        type: object
-                                      storageClassName:
-                                        type: string
-                                      volumeMode:
-                                        type: string
-                                      volumeName:
-                                        type: string
-                                    type: object
-                                required:
-                                - spec
-                                type: object
-                            type: object
-                          fc:
-                            properties:
-                              fsType:
-                                type: string
-                              lun:
-                                format: int32
-                                type: integer
-                              readOnly:
-                                type: boolean
-                              targetWWNs:
-                                items:
-                                  type: string
-                                type: array
-                              wwids:
-                                items:
-                                  type: string
-                                type: array
-                            type: object
-                          flexVolume:
-                            properties:
-                              driver:
-                                type: string
-                              fsType:
-                                type: string
-                              options:
-                                additionalProperties:
-                                  type: string
-                                type: object
-                              readOnly:
-                                type: boolean
-                              secretRef:
-                                properties:
-                                  name:
-                                    type: string
-                                type: object
-                            required:
-                            - driver
-                            type: object
-                          flocker:
-                            properties:
-                              datasetName:
-                                type: string
-                              datasetUUID:
-                                type: string
-                            type: object
-                          gcePersistentDisk:
-                            properties:
-                              fsType:
-                                type: string
-                              partition:
-                                format: int32
-                                type: integer
-                              pdName:
-                                type: string
-                              readOnly:
-                                type: boolean
-                            required:
-                            - pdName
-                            type: object
-                          gitRepo:
-                            properties:
-                              directory:
-                                type: string
-                              repository:
-                                type: string
-                              revision:
-                                type: string
-                            required:
-                            - repository
-                            type: object
-                          glusterfs:
-                            properties:
-                              endpoints:
-                                type: string
-                              path:
-                                type: string
-                              readOnly:
-                                type: boolean
-                            required:
-                            - endpoints
-                            - path
-                            type: object
-                          hostPath:
-                            properties:
-                              path:
-                                type: string
-                              type:
-                                type: string
-                            required:
-                            - path
-                            type: object
-                          iscsi:
-                            properties:
-                              chapAuthDiscovery:
-                                type: boolean
-                              chapAuthSession:
-                                type: boolean
-                              fsType:
-                                type: string
-                              initiatorName:
-                                type: string
-                              iqn:
-                                type: string
-                              iscsiInterface:
-                                type: string
-                              lun:
-                                format: int32
-                                type: integer
-                              portals:
-                                items:
-                                  type: string
-                                type: array
-                              readOnly:
-                                type: boolean
-                              secretRef:
-                                properties:
-                                  name:
-                                    type: string
-                                type: object
-                              targetPortal:
-                                type: string
-                            required:
-                            - iqn
-                            - lun
-                            - targetPortal
-                            type: object
-                          name:
-                            type: string
-                          nfs:
-                            properties:
-                              path:
-                                type: string
-                              readOnly:
-                                type: boolean
-                              server:
-                                type: string
-                            required:
-                            - path
-                            - server
-                            type: object
-                          persistentVolumeClaim:
-                            properties:
-                              claimName:
-                                type: string
-                              readOnly:
-                                type: boolean
-                            required:
-                            - claimName
-                            type: object
-                          photonPersistentDisk:
-                            properties:
-                              fsType:
-                                type: string
-                              pdID:
-                                type: string
-                            required:
-                            - pdID
-                            type: object
-                          portworxVolume:
-                            properties:
-                              fsType:
-                                type: string
-                              readOnly:
-                                type: boolean
-                              volumeID:
-                                type: string
-                            required:
-                            - volumeID
-                            type: object
-                          projected:
-                            properties:
-                              defaultMode:
-                                format: int32
-                                type: integer
-                              sources:
-                                items:
-                                  properties:
-                                    configMap:
-                                      properties:
-                                        items:
-                                          items:
-                                            properties:
-                                              key:
-                                                type: string
-                                              mode:
-                                                format: int32
-                                                type: integer
-                                              path:
-                                                type: string
-                                            required:
-                                            - key
-                                            - path
-                                            type: object
-                                          type: array
-                                        name:
-                                          type: string
-                                        optional:
-                                          type: boolean
-                                      type: object
-                                    downwardAPI:
-                                      properties:
-                                        items:
-                                          items:
-                                            properties:
-                                              fieldRef:
-                                                properties:
-                                                  apiVersion:
-                                                    type: string
-                                                  fieldPath:
-                                                    type: string
-                                                required:
-                                                - fieldPath
-                                                type: object
-                                              mode:
-                                                format: int32
-                                                type: integer
-                                              path:
-                                                type: string
-                                              resourceFieldRef:
-                                                properties:
-                                                  containerName:
-                                                    type: string
-                                                  divisor:
-                                                    anyOf:
-                                                    - type: integer
-                                                    - type: string
-                                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                                    x-kubernetes-int-or-string: true
-                                                  resource:
-                                                    type: string
-                                                required:
-                                                - resource
-                                                type: object
-                                            required:
-                                            - path
-                                            type: object
-                                          type: array
-                                      type: object
-                                    secret:
-                                      properties:
-                                        items:
-                                          items:
-                                            properties:
-                                              key:
-                                                type: string
-                                              mode:
-                                                format: int32
-                                                type: integer
-                                              path:
-                                                type: string
-                                            required:
-                                            - key
-                                            - path
-                                            type: object
-                                          type: array
-                                        name:
-                                          type: string
-                                        optional:
-                                          type: boolean
-                                      type: object
-                                    serviceAccountToken:
-                                      properties:
-                                        audience:
-                                          type: string
-                                        expirationSeconds:
-                                          format: int64
-                                          type: integer
-                                        path:
-                                          type: string
-                                      required:
-                                      - path
-                                      type: object
-                                  type: object
-                                type: array
-                            required:
-                            - sources
-                            type: object
-                          quobyte:
-                            properties:
-                              group:
-                                type: string
-                              readOnly:
-                                type: boolean
-                              registry:
-                                type: string
-                              tenant:
-                                type: string
-                              user:
-                                type: string
-                              volume:
-                                type: string
-                            required:
-                            - registry
-                            - volume
-                            type: object
-                          rbd:
-                            properties:
-                              fsType:
-                                type: string
-                              image:
-                                type: string
-                              keyring:
-                                type: string
-                              monitors:
-                                items:
-                                  type: string
-                                type: array
-                              pool:
-                                type: string
-                              readOnly:
-                                type: boolean
-                              secretRef:
-                                properties:
-                                  name:
-                                    type: string
-                                type: object
-                              user:
-                                type: string
-                            required:
-                            - image
-                            - monitors
-                            type: object
-                          scaleIO:
-                            properties:
-                              fsType:
-                                type: string
-                              gateway:
-                                type: string
-                              protectionDomain:
-                                type: string
-                              readOnly:
-                                type: boolean
-                              secretRef:
-                                properties:
-                                  name:
-                                    type: string
-                                type: object
-                              sslEnabled:
-                                type: boolean
-                              storageMode:
-                                type: string
-                              storagePool:
-                                type: string
-                              system:
-                                type: string
-                              volumeName:
-                                type: string
-                            required:
-                            - gateway
-                            - secretRef
-                            - system
-                            type: object
-                          secret:
-                            properties:
-                              defaultMode:
-                                format: int32
-                                type: integer
-                              items:
-                                items:
-                                  properties:
-                                    key:
-                                      type: string
-                                    mode:
-                                      format: int32
-                                      type: integer
-                                    path:
-                                      type: string
-                                  required:
-                                  - key
-                                  - path
-                                  type: object
-                                type: array
-                              optional:
-                                type: boolean
-                              secretName:
-                                type: string
-                            type: object
-                          storageos:
-                            properties:
-                              fsType:
-                                type: string
-                              readOnly:
-                                type: boolean
-                              secretRef:
-                                properties:
-                                  name:
-                                    type: string
-                                type: object
-                              volumeName:
-                                type: string
-                              volumeNamespace:
-                                type: string
-                            type: object
-                          vsphereVolume:
-                            properties:
-                              fsType:
-                                type: string
-                              storagePolicyID:
-                                type: string
-                              storagePolicyName:
-                                type: string
-                              volumePath:
-                                type: string
-                            required:
-                            - volumePath
-                            type: object
-                        required:
-                        - name
-                        type: object
-                      volumeMount:
-                        properties:
-                          mountPath:
-                            type: string
-                          mountPropagation:
-                            type: string
-                          name:
-                            type: string
-                          readOnly:
-                            type: boolean
-                          subPath:
-                            type: string
-                          subPathExpr:
-                            type: string
-                        required:
-                        - mountPath
-                        - name
-                        type: object
-                    required:
-                    - volume
-                    - volumeMount
-                    type: object
-                  podSecurityContext:
-                    properties:
-                      fsGroup:
-                        format: int64
-                        type: integer
-                      fsGroupChangePolicy:
-                        type: string
-                      runAsGroup:
-                        format: int64
-                        type: integer
-                      runAsNonRoot:
-                        type: boolean
-                      runAsUser:
-                        format: int64
-                        type: integer
-                      seLinuxOptions:
-                        properties:
-                          level:
-                            type: string
-                          role:
-                            type: string
-                          type:
-                            type: string
-                          user:
-                            type: string
-                        type: object
-                      seccompProfile:
-                        properties:
-                          localhostProfile:
-                            type: string
-                          type:
-                            type: string
-                        required:
-                        - type
-                        type: object
-                      supplementalGroups:
-                        items:
-                          format: int64
-                          type: integer
-                        type: array
-                      sysctls:
-                        items:
+                type: object
+              azblob:
+                properties:
+                  accessTier:
+                    type: string
+                  container:
+                    type: string
+                  path:
+                    type: string
+                  prefix:
+                    type: string
+                  secretName:
+                    type: string
+                type: object
+              backupType:
+                type: string
+              br:
+                properties:
+                  checkRequirements:
+                    type: boolean
+                  checksum:
+                    type: boolean
+                  cluster:
+                    type: string
+                  clusterNamespace:
+                    type: string
+                  concurrency:
+                    format: int32
+                    type: integer
+                  db:
+                    type: string
+                  logLevel:
+                    type: string
+                  onLine:
+                    type: boolean
+                  options:
+                    items:
+                      type: string
+                    type: array
+                  rateLimit:
+                    type: integer
+                  sendCredToTikv:
+                    type: boolean
+                  statusAddr:
+                    type: string
+                  table:
+                    type: string
+                  timeAgo:
+                    type: string
+                required:
+                - cluster
+                type: object
+              cleanOption:
+                properties:
+                  batchConcurrency:
+                    format: int32
+                    type: integer
+                  disableBatchConcurrency:
+                    type: boolean
+                  pageSize:
+                    format: int64
+                    type: integer
+                  routineConcurrency:
+                    format: int32
+                    type: integer
+                type: object
+              cleanPolicy:
+                type: string
+              dumpling:
+                properties:
+                  options:
+                    items:
+                      type: string
+                    type: array
+                  tableFilter:
+                    items:
+                      type: string
+                    type: array
+                type: object
+              env:
+                items:
+                  properties:
+                    name:
+                      type: string
+                    value:
+                      type: string
+                    valueFrom:
+                      properties:
+                        configMapKeyRef:
                           properties:
+                            key:
+                              type: string
                             name:
                               type: string
-                            value:
+                            optional:
+                              type: boolean
+                          required:
+                          - key
+                          type: object
+                        fieldRef:
+                          properties:
+                            apiVersion:
+                              type: string
+                            fieldPath:
                               type: string
                           required:
-                          - name
-                          - value
+                          - fieldPath
                           type: object
-                        type: array
-                      windowsOptions:
-                        properties:
-                          gmsaCredentialSpec:
-                            type: string
-                          gmsaCredentialSpecName:
-                            type: string
-                          runAsUserName:
-                            type: string
-                        type: object
-                    type: object
-                  priorityClassName:
-                    type: string
-                  resources:
-                    properties:
-                      limits:
-                        additionalProperties:
-                          anyOf:
-                          - type: integer
-                          - type: string
-                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                          x-kubernetes-int-or-string: true
-                        type: object
-                      requests:
-                        additionalProperties:
-                          anyOf:
-                          - type: integer
-                          - type: string
-                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                          x-kubernetes-int-or-string: true
-                        type: object
-                    type: object
-                  s3:
-                    properties:
-                      acl:
-                        type: string
-                      bucket:
-                        type: string
-                      endpoint:
-                        type: string
-                      options:
-                        items:
-                          type: string
-                        type: array
-                      path:
-                        type: string
-                      prefix:
-                        type: string
-                      provider:
-                        type: string
-                      region:
-                        type: string
-                      secretName:
-                        type: string
-                      sse:
-                        type: string
-                      storageClass:
-                        type: string
-                    required:
-                    - provider
-                    type: object
-                  serviceAccount:
+                        resourceFieldRef:
+                          properties:
+                            containerName:
+                              type: string
+                            divisor:
+                              anyOf:
+                              - type: integer
+                              - type: string
+                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                              x-kubernetes-int-or-string: true
+                            resource:
+                              type: string
+                          required:
+                          - resource
+                          type: object
+                        secretKeyRef:
+                          properties:
+                            key:
+                              type: string
+                            name:
+                              type: string
+                            optional:
+                              type: boolean
+                          required:
+                          - key
+                          type: object
+                      type: object
+                  required:
+                  - name
+                  type: object
+                type: array
+              from:
+                properties:
+                  host:
                     type: string
-                  storageClassName:
+                  port:
+                    format: int32
+                    type: integer
+                  secretName:
                     type: string
-                  storageSize:
+                  tlsClientSecretName:
                     type: string
-                  tableFilter:
-                    items:
-                      type: string
-                    type: array
-                  tikvGCLifeTime:
+                  user:
                     type: string
-                  tolerations:
-                    items:
-                      properties:
-                        effect:
-                          type: string
-                        key:
-                          type: string
-                        operator:
-                          type: string
-                        tolerationSeconds:
-                          format: int64
-                          type: integer
-                        value:
-                          type: string
-                      type: object
-                    type: array
-                  toolImage:
+                required:
+                - host
+                - secretName
+                type: object
+              gcs:
+                properties:
+                  bucket:
                     type: string
-                  useKMS:
-                    type: boolean
+                  bucketAcl:
+                    type: string
+                  location:
+                    type: string
+                  objectAcl:
+                    type: string
+                  path:
+                    type: string
+                  prefix:
+                    type: string
+                  projectId:
+                    type: string
+                  secretName:
+                    type: string
+                  storageClass:
+                    type: string
+                required:
+                - projectId
                 type: object
               imagePullSecrets:
                 items:
@@ -1349,1438 +507,2280 @@ spec:
                       type: string
                   type: object
                 type: array
-              maxBackups:
-                format: int32
-                type: integer
-              maxReservedTime:
-                type: string
-              pause:
-                type: boolean
-              schedule:
-                type: string
-              storageClassName:
-                type: string
-              storageSize:
-                type: string
-            required:
-            - backupTemplate
-            - schedule
-            type: object
-          status:
-            properties:
-              allBackupCleanTime:
-                format: date-time
-                type: string
-              lastBackup:
-                type: string
-              lastBackupTime:
-                format: date-time
-                type: string
-            type: object
-        required:
-        - metadata
-        - spec
-        type: object
-    served: true
-    storage: true
-    subresources: {}
-status:
-  acceptedNames:
-    kind: ""
-    plural: ""
-  conditions: []
-  storedVersions: []
-
----
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
-  annotations:
-    controller-gen.kubebuilder.io/version: v0.6.2
-  creationTimestamp: null
-  name: backups.pingcap.com
-spec:
-  group: pingcap.com
-  names:
-    kind: Backup
-    listKind: BackupList
-    plural: backups
-    shortNames:
-    - bk
-    singular: backup
-  scope: Namespaced
-  versions:
-  - additionalPrinterColumns:
-    - description: The current status of the backup
-      jsonPath: .status.phase
-      name: Status
-      type: string
-    - description: The full path of backup data
-      jsonPath: .status.backupPath
-      name: BackupPath
-      type: string
-    - description: The data size of the backup
-      jsonPath: .status.backupSizeReadable
-      name: BackupSize
-      type: string
-    - description: The commit ts of tidb cluster dump
-      jsonPath: .status.commitTs
-      name: CommitTS
-      type: string
-    - description: The time at which the backup was started
-      jsonPath: .status.timeStarted
-      name: Started
-      priority: 1
-      type: date
-    - description: The time at which the backup was completed
-      jsonPath: .status.timeCompleted
-      name: Completed
-      priority: 1
-      type: date
-    - jsonPath: .metadata.creationTimestamp
-      name: Age
-      type: date
-    name: v1alpha1
-    schema:
-      openAPIV3Schema:
-        properties:
-          apiVersion:
-            type: string
-          kind:
-            type: string
-          metadata:
-            type: object
-          spec:
-            properties:
-              affinity:
+              local:
                 properties:
-                  nodeAffinity:
+                  prefix:
+                    type: string
+                  volume:
                     properties:
-                      preferredDuringSchedulingIgnoredDuringExecution:
-                        items:
-                          properties:
-                            preference:
+                      awsElasticBlockStore:
+                        properties:
+                          fsType:
+                            type: string
+                          partition:
+                            format: int32
+                            type: integer
+                          readOnly:
+                            type: boolean
+                          volumeID:
+                            type: string
+                        required:
+                        - volumeID
+                        type: object
+                      azureDisk:
+                        properties:
+                          cachingMode:
+                            type: string
+                          diskName:
+                            type: string
+                          diskURI:
+                            type: string
+                          fsType:
+                            type: string
+                          kind:
+                            type: string
+                          readOnly:
+                            type: boolean
+                        required:
+                        - diskName
+                        - diskURI
+                        type: object
+                      azureFile:
+                        properties:
+                          readOnly:
+                            type: boolean
+                          secretName:
+                            type: string
+                          shareName:
+                            type: string
+                        required:
+                        - secretName
+                        - shareName
+                        type: object
+                      cephfs:
+                        properties:
+                          monitors:
+                            items:
+                              type: string
+                            type: array
+                          path:
+                            type: string
+                          readOnly:
+                            type: boolean
+                          secretFile:
+                            type: string
+                          secretRef:
+                            properties:
+                              name:
+                                type: string
+                            type: object
+                          user:
+                            type: string
+                        required:
+                        - monitors
+                        type: object
+                      cinder:
+                        properties:
+                          fsType:
+                            type: string
+                          readOnly:
+                            type: boolean
+                          secretRef:
+                            properties:
+                              name:
+                                type: string
+                            type: object
+                          volumeID:
+                            type: string
+                        required:
+                        - volumeID
+                        type: object
+                      configMap:
+                        properties:
+                          defaultMode:
+                            format: int32
+                            type: integer
+                          items:
+                            items:
                               properties:
-                                matchExpressions:
-                                  items:
+                                key:
+                                  type: string
+                                mode:
+                                  format: int32
+                                  type: integer
+                                path:
+                                  type: string
+                              required:
+                              - key
+                              - path
+                              type: object
+                            type: array
+                          name:
+                            type: string
+                          optional:
+                            type: boolean
+                        type: object
+                      csi:
+                        properties:
+                          driver:
+                            type: string
+                          fsType:
+                            type: string
+                          nodePublishSecretRef:
+                            properties:
+                              name:
+                                type: string
+                            type: object
+                          readOnly:
+                            type: boolean
+                          volumeAttributes:
+                            additionalProperties:
+                              type: string
+                            type: object
+                        required:
+                        - driver
+                        type: object
+                      downwardAPI:
+                        properties:
+                          defaultMode:
+                            format: int32
+                            type: integer
+                          items:
+                            items:
+                              properties:
+                                fieldRef:
+                                  properties:
+                                    apiVersion:
+                                      type: string
+                                    fieldPath:
+                                      type: string
+                                  required:
+                                  - fieldPath
+                                  type: object
+                                mode:
+                                  format: int32
+                                  type: integer
+                                path:
+                                  type: string
+                                resourceFieldRef:
+                                  properties:
+                                    containerName:
+                                      type: string
+                                    divisor:
+                                      anyOf:
+                                      - type: integer
+                                      - type: string
+                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                      x-kubernetes-int-or-string: true
+                                    resource:
+                                      type: string
+                                  required:
+                                  - resource
+                                  type: object
+                              required:
+                              - path
+                              type: object
+                            type: array
+                        type: object
+                      emptyDir:
+                        properties:
+                          medium:
+                            type: string
+                          sizeLimit:
+                            anyOf:
+                            - type: integer
+                            - type: string
+                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                            x-kubernetes-int-or-string: true
+                        type: object
+                      ephemeral:
+                        properties:
+                          readOnly:
+                            type: boolean
+                          volumeClaimTemplate:
+                            properties:
+                              metadata:
+                                type: object
+                              spec:
+                                properties:
+                                  accessModes:
+                                    items:
+                                      type: string
+                                    type: array
+                                  dataSource:
                                     properties:
-                                      key:
+                                      apiGroup:
                                         type: string
-                                      operator:
+                                      kind:
+                                        type: string
+                                      name:
                                         type: string
-                                      values:
-                                        items:
-                                          type: string
-                                        type: array
                                     required:
-                                    - key
-                                    - operator
+                                    - kind
+                                    - name
                                     type: object
-                                  type: array
-                                matchFields:
-                                  items:
+                                  resources:
                                     properties:
-                                      key:
-                                        type: string
-                                      operator:
-                                        type: string
-                                      values:
+                                      limits:
+                                        additionalProperties:
+                                          anyOf:
+                                          - type: integer
+                                          - type: string
+                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                          x-kubernetes-int-or-string: true
+                                        type: object
+                                      requests:
+                                        additionalProperties:
+                                          anyOf:
+                                          - type: integer
+                                          - type: string
+                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                          x-kubernetes-int-or-string: true
+                                        type: object
+                                    type: object
+                                  selector:
+                                    properties:
+                                      matchExpressions:
                                         items:
-                                          type: string
+                                          properties:
+                                            key:
+                                              type: string
+                                            operator:
+                                              type: string
+                                            values:
+                                              items:
+                                                type: string
+                                              type: array
+                                          required:
+                                          - key
+                                          - operator
+                                          type: object
                                         type: array
-                                    required:
-                                    - key
-                                    - operator
+                                      matchLabels:
+                                        additionalProperties:
+                                          type: string
+                                        type: object
                                     type: object
-                                  type: array
-                              type: object
-                            weight:
-                              format: int32
-                              type: integer
-                          required:
-                          - preference
-                          - weight
-                          type: object
-                        type: array
-                      requiredDuringSchedulingIgnoredDuringExecution:
+                                  storageClassName:
+                                    type: string
+                                  volumeMode:
+                                    type: string
+                                  volumeName:
+                                    type: string
+                                type: object
+                            required:
+                            - spec
+                            type: object
+                        type: object
+                      fc:
+                        properties:
+                          fsType:
+                            type: string
+                          lun:
+                            format: int32
+                            type: integer
+                          readOnly:
+                            type: boolean
+                          targetWWNs:
+                            items:
+                              type: string
+                            type: array
+                          wwids:
+                            items:
+                              type: string
+                            type: array
+                        type: object
+                      flexVolume:
+                        properties:
+                          driver:
+                            type: string
+                          fsType:
+                            type: string
+                          options:
+                            additionalProperties:
+                              type: string
+                            type: object
+                          readOnly:
+                            type: boolean
+                          secretRef:
+                            properties:
+                              name:
+                                type: string
+                            type: object
+                        required:
+                        - driver
+                        type: object
+                      flocker:
+                        properties:
+                          datasetName:
+                            type: string
+                          datasetUUID:
+                            type: string
+                        type: object
+                      gcePersistentDisk:
+                        properties:
+                          fsType:
+                            type: string
+                          partition:
+                            format: int32
+                            type: integer
+                          pdName:
+                            type: string
+                          readOnly:
+                            type: boolean
+                        required:
+                        - pdName
+                        type: object
+                      gitRepo:
                         properties:
-                          nodeSelectorTerms:
+                          directory:
+                            type: string
+                          repository:
+                            type: string
+                          revision:
+                            type: string
+                        required:
+                        - repository
+                        type: object
+                      glusterfs:
+                        properties:
+                          endpoints:
+                            type: string
+                          path:
+                            type: string
+                          readOnly:
+                            type: boolean
+                        required:
+                        - endpoints
+                        - path
+                        type: object
+                      hostPath:
+                        properties:
+                          path:
+                            type: string
+                          type:
+                            type: string
+                        required:
+                        - path
+                        type: object
+                      iscsi:
+                        properties:
+                          chapAuthDiscovery:
+                            type: boolean
+                          chapAuthSession:
+                            type: boolean
+                          fsType:
+                            type: string
+                          initiatorName:
+                            type: string
+                          iqn:
+                            type: string
+                          iscsiInterface:
+                            type: string
+                          lun:
+                            format: int32
+                            type: integer
+                          portals:
                             items:
-                              properties:
-                                matchExpressions:
-                                  items:
-                                    properties:
-                                      key:
-                                        type: string
-                                      operator:
-                                        type: string
-                                      values:
-                                        items:
-                                          type: string
-                                        type: array
-                                    required:
-                                    - key
-                                    - operator
-                                    type: object
-                                  type: array
-                                matchFields:
-                                  items:
-                                    properties:
-                                      key:
-                                        type: string
-                                      operator:
-                                        type: string
-                                      values:
-                                        items:
-                                          type: string
-                                        type: array
-                                    required:
-                                    - key
-                                    - operator
-                                    type: object
-                                  type: array
-                              type: object
+                              type: string
                             type: array
+                          readOnly:
+                            type: boolean
+                          secretRef:
+                            properties:
+                              name:
+                                type: string
+                            type: object
+                          targetPortal:
+                            type: string
                         required:
-                        - nodeSelectorTerms
+                        - iqn
+                        - lun
+                        - targetPortal
                         type: object
-                    type: object
-                  podAffinity:
-                    properties:
-                      preferredDuringSchedulingIgnoredDuringExecution:
-                        items:
-                          properties:
-                            podAffinityTerm:
+                      name:
+                        type: string
+                      nfs:
+                        properties:
+                          path:
+                            type: string
+                          readOnly:
+                            type: boolean
+                          server:
+                            type: string
+                        required:
+                        - path
+                        - server
+                        type: object
+                      persistentVolumeClaim:
+                        properties:
+                          claimName:
+                            type: string
+                          readOnly:
+                            type: boolean
+                        required:
+                        - claimName
+                        type: object
+                      photonPersistentDisk:
+                        properties:
+                          fsType:
+                            type: string
+                          pdID:
+                            type: string
+                        required:
+                        - pdID
+                        type: object
+                      portworxVolume:
+                        properties:
+                          fsType:
+                            type: string
+                          readOnly:
+                            type: boolean
+                          volumeID:
+                            type: string
+                        required:
+                        - volumeID
+                        type: object
+                      projected:
+                        properties:
+                          defaultMode:
+                            format: int32
+                            type: integer
+                          sources:
+                            items:
                               properties:
-                                labelSelector:
+                                configMap:
                                   properties:
-                                    matchExpressions:
+                                    items:
                                       items:
                                         properties:
                                           key:
                                             type: string
-                                          operator:
+                                          mode:
+                                            format: int32
+                                            type: integer
+                                          path:
                                             type: string
-                                          values:
-                                            items:
-                                              type: string
-                                            type: array
                                         required:
                                         - key
-                                        - operator
+                                        - path
                                         type: object
                                       type: array
-                                    matchLabels:
-                                      additionalProperties:
-                                        type: string
-                                      type: object
+                                    name:
+                                      type: string
+                                    optional:
+                                      type: boolean
                                   type: object
-                                namespaces:
-                                  items:
-                                    type: string
-                                  type: array
-                                topologyKey:
-                                  type: string
-                              required:
-                              - topologyKey
-                              type: object
-                            weight:
-                              format: int32
-                              type: integer
-                          required:
-                          - podAffinityTerm
-                          - weight
-                          type: object
-                        type: array
-                      requiredDuringSchedulingIgnoredDuringExecution:
-                        items:
-                          properties:
-                            labelSelector:
-                              properties:
-                                matchExpressions:
-                                  items:
-                                    properties:
-                                      key:
-                                        type: string
-                                      operator:
-                                        type: string
-                                      values:
-                                        items:
-                                          type: string
-                                        type: array
-                                    required:
-                                    - key
-                                    - operator
-                                    type: object
-                                  type: array
-                                matchLabels:
-                                  additionalProperties:
-                                    type: string
+                                downwardAPI:
+                                  properties:
+                                    items:
+                                      items:
+                                        properties:
+                                          fieldRef:
+                                            properties:
+                                              apiVersion:
+                                                type: string
+                                              fieldPath:
+                                                type: string
+                                            required:
+                                            - fieldPath
+                                            type: object
+                                          mode:
+                                            format: int32
+                                            type: integer
+                                          path:
+                                            type: string
+                                          resourceFieldRef:
+                                            properties:
+                                              containerName:
+                                                type: string
+                                              divisor:
+                                                anyOf:
+                                                - type: integer
+                                                - type: string
+                                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                                x-kubernetes-int-or-string: true
+                                              resource:
+                                                type: string
+                                            required:
+                                            - resource
+                                            type: object
+                                        required:
+                                        - path
+                                        type: object
+                                      type: array
                                   type: object
-                              type: object
-                            namespaces:
-                              items:
-                                type: string
-                              type: array
-                            topologyKey:
-                              type: string
-                          required:
-                          - topologyKey
-                          type: object
-                        type: array
-                    type: object
-                  podAntiAffinity:
-                    properties:
-                      preferredDuringSchedulingIgnoredDuringExecution:
-                        items:
-                          properties:
-                            podAffinityTerm:
-                              properties:
-                                labelSelector:
+                                secret:
                                   properties:
-                                    matchExpressions:
+                                    items:
                                       items:
                                         properties:
                                           key:
                                             type: string
-                                          operator:
+                                          mode:
+                                            format: int32
+                                            type: integer
+                                          path:
                                             type: string
-                                          values:
-                                            items:
-                                              type: string
-                                            type: array
                                         required:
                                         - key
-                                        - operator
+                                        - path
                                         type: object
                                       type: array
-                                    matchLabels:
-                                      additionalProperties:
-                                        type: string
-                                      type: object
+                                    name:
+                                      type: string
+                                    optional:
+                                      type: boolean
+                                  type: object
+                                serviceAccountToken:
+                                  properties:
+                                    audience:
+                                      type: string
+                                    expirationSeconds:
+                                      format: int64
+                                      type: integer
+                                    path:
+                                      type: string
+                                  required:
+                                  - path
                                   type: object
-                                namespaces:
-                                  items:
-                                    type: string
-                                  type: array
-                                topologyKey:
-                                  type: string
-                              required:
-                              - topologyKey
                               type: object
-                            weight:
-                              format: int32
-                              type: integer
-                          required:
-                          - podAffinityTerm
-                          - weight
-                          type: object
-                        type: array
-                      requiredDuringSchedulingIgnoredDuringExecution:
-                        items:
-                          properties:
-                            labelSelector:
+                            type: array
+                        required:
+                        - sources
+                        type: object
+                      quobyte:
+                        properties:
+                          group:
+                            type: string
+                          readOnly:
+                            type: boolean
+                          registry:
+                            type: string
+                          tenant:
+                            type: string
+                          user:
+                            type: string
+                          volume:
+                            type: string
+                        required:
+                        - registry
+                        - volume
+                        type: object
+                      rbd:
+                        properties:
+                          fsType:
+                            type: string
+                          image:
+                            type: string
+                          keyring:
+                            type: string
+                          monitors:
+                            items:
+                              type: string
+                            type: array
+                          pool:
+                            type: string
+                          readOnly:
+                            type: boolean
+                          secretRef:
+                            properties:
+                              name:
+                                type: string
+                            type: object
+                          user:
+                            type: string
+                        required:
+                        - image
+                        - monitors
+                        type: object
+                      scaleIO:
+                        properties:
+                          fsType:
+                            type: string
+                          gateway:
+                            type: string
+                          protectionDomain:
+                            type: string
+                          readOnly:
+                            type: boolean
+                          secretRef:
+                            properties:
+                              name:
+                                type: string
+                            type: object
+                          sslEnabled:
+                            type: boolean
+                          storageMode:
+                            type: string
+                          storagePool:
+                            type: string
+                          system:
+                            type: string
+                          volumeName:
+                            type: string
+                        required:
+                        - gateway
+                        - secretRef
+                        - system
+                        type: object
+                      secret:
+                        properties:
+                          defaultMode:
+                            format: int32
+                            type: integer
+                          items:
+                            items:
                               properties:
-                                matchExpressions:
-                                  items:
-                                    properties:
-                                      key:
-                                        type: string
-                                      operator:
-                                        type: string
-                                      values:
-                                        items:
-                                          type: string
-                                        type: array
-                                    required:
-                                    - key
-                                    - operator
-                                    type: object
-                                  type: array
-                                matchLabels:
-                                  additionalProperties:
-                                    type: string
-                                  type: object
+                                key:
+                                  type: string
+                                mode:
+                                  format: int32
+                                  type: integer
+                                path:
+                                  type: string
+                              required:
+                              - key
+                              - path
                               type: object
-                            namespaces:
-                              items:
+                            type: array
+                          optional:
+                            type: boolean
+                          secretName:
+                            type: string
+                        type: object
+                      storageos:
+                        properties:
+                          fsType:
+                            type: string
+                          readOnly:
+                            type: boolean
+                          secretRef:
+                            properties:
+                              name:
                                 type: string
-                              type: array
-                            topologyKey:
-                              type: string
-                          required:
-                          - topologyKey
-                          type: object
-                        type: array
+                            type: object
+                          volumeName:
+                            type: string
+                          volumeNamespace:
+                            type: string
+                        type: object
+                      vsphereVolume:
+                        properties:
+                          fsType:
+                            type: string
+                          storagePolicyID:
+                            type: string
+                          storagePolicyName:
+                            type: string
+                          volumePath:
+                            type: string
+                        required:
+                        - volumePath
+                        type: object
+                    required:
+                    - name
+                    type: object
+                  volumeMount:
+                    properties:
+                      mountPath:
+                        type: string
+                      mountPropagation:
+                        type: string
+                      name:
+                        type: string
+                      readOnly:
+                        type: boolean
+                      subPath:
+                        type: string
+                      subPathExpr:
+                        type: string
+                    required:
+                    - mountPath
+                    - name
                     type: object
+                required:
+                - volume
+                - volumeMount
                 type: object
-              azblob:
-                properties:
-                  accessTier:
-                    type: string
-                  container:
-                    type: string
-                  path:
-                    type: string
-                  prefix:
-                    type: string
-                  secretName:
-                    type: string
-                type: object
-              backupType:
-                type: string
-              br:
+              podSecurityContext:
                 properties:
-                  checkRequirements:
-                    type: boolean
-                  checksum:
-                    type: boolean
-                  cluster:
-                    type: string
-                  clusterNamespace:
-                    type: string
-                  concurrency:
-                    format: int32
-                    type: integer
-                  db:
-                    type: string
-                  logLevel:
-                    type: string
-                  onLine:
-                    type: boolean
-                  options:
-                    items:
-                      type: string
-                    type: array
-                  rateLimit:
+                  fsGroup:
+                    format: int64
                     type: integer
-                  sendCredToTikv:
-                    type: boolean
-                  statusAddr:
-                    type: string
-                  table:
-                    type: string
-                  timeAgo:
+                  fsGroupChangePolicy:
                     type: string
-                required:
-                - cluster
-                type: object
-              cleanOption:
-                properties:
-                  batchConcurrency:
-                    format: int32
+                  runAsGroup:
+                    format: int64
                     type: integer
-                  disableBatchConcurrency:
+                  runAsNonRoot:
                     type: boolean
-                  pageSize:
+                  runAsUser:
                     format: int64
                     type: integer
-                  routineConcurrency:
-                    format: int32
-                    type: integer
-                type: object
-              cleanPolicy:
-                type: string
-              dumpling:
-                properties:
-                  options:
+                  seLinuxOptions:
+                    properties:
+                      level:
+                        type: string
+                      role:
+                        type: string
+                      type:
+                        type: string
+                      user:
+                        type: string
+                    type: object
+                  seccompProfile:
+                    properties:
+                      localhostProfile:
+                        type: string
+                      type:
+                        type: string
+                    required:
+                    - type
+                    type: object
+                  supplementalGroups:
                     items:
-                      type: string
+                      format: int64
+                      type: integer
                     type: array
-                  tableFilter:
+                  sysctls:
                     items:
-                      type: string
-                    type: array
-                type: object
-              env:
-                items:
-                  properties:
-                    name:
-                      type: string
-                    value:
-                      type: string
-                    valueFrom:
                       properties:
-                        configMapKeyRef:
-                          properties:
-                            key:
-                              type: string
-                            name:
-                              type: string
-                            optional:
-                              type: boolean
-                          required:
-                          - key
-                          type: object
-                        fieldRef:
-                          properties:
-                            apiVersion:
-                              type: string
-                            fieldPath:
-                              type: string
-                          required:
-                          - fieldPath
-                          type: object
-                        resourceFieldRef:
-                          properties:
-                            containerName:
-                              type: string
-                            divisor:
-                              anyOf:
-                              - type: integer
-                              - type: string
-                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                              x-kubernetes-int-or-string: true
-                            resource:
-                              type: string
-                          required:
-                          - resource
-                          type: object
-                        secretKeyRef:
-                          properties:
-                            key:
-                              type: string
-                            name:
-                              type: string
-                            optional:
-                              type: boolean
-                          required:
-                          - key
-                          type: object
+                        name:
+                          type: string
+                        value:
+                          type: string
+                      required:
+                      - name
+                      - value
                       type: object
-                  required:
-                  - name
-                  type: object
-                type: array
-              from:
+                    type: array
+                  windowsOptions:
+                    properties:
+                      gmsaCredentialSpec:
+                        type: string
+                      gmsaCredentialSpecName:
+                        type: string
+                      runAsUserName:
+                        type: string
+                    type: object
+                type: object
+              priorityClassName:
+                type: string
+              resources:
                 properties:
-                  host:
-                    type: string
-                  port:
-                    format: int32
-                    type: integer
-                  secretName:
-                    type: string
-                  tlsClientSecretName:
-                    type: string
-                  user:
-                    type: string
-                required:
-                - host
-                - secretName
+                  limits:
+                    additionalProperties:
+                      anyOf:
+                      - type: integer
+                      - type: string
+                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                      x-kubernetes-int-or-string: true
+                    type: object
+                  requests:
+                    additionalProperties:
+                      anyOf:
+                      - type: integer
+                      - type: string
+                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                      x-kubernetes-int-or-string: true
+                    type: object
                 type: object
-              gcs:
+              s3:
                 properties:
-                  bucket:
-                    type: string
-                  bucketAcl:
+                  acl:
                     type: string
-                  location:
+                  bucket:
                     type: string
-                  objectAcl:
+                  endpoint:
                     type: string
+                  options:
+                    items:
+                      type: string
+                    type: array
                   path:
                     type: string
                   prefix:
                     type: string
-                  projectId:
+                  provider:
+                    type: string
+                  region:
                     type: string
                   secretName:
                     type: string
+                  sse:
+                    type: string
                   storageClass:
                     type: string
                 required:
-                - projectId
+                - provider
                 type: object
-              imagePullSecrets:
+              serviceAccount:
+                type: string
+              storageClassName:
+                type: string
+              storageSize:
+                type: string
+              tableFilter:
+                items:
+                  type: string
+                type: array
+              tikvGCLifeTime:
+                type: string
+              tolerations:
+                items:
+                  properties:
+                    effect:
+                      type: string
+                    key:
+                      type: string
+                    operator:
+                      type: string
+                    tolerationSeconds:
+                      format: int64
+                      type: integer
+                    value:
+                      type: string
+                  type: object
+                type: array
+              toolImage:
+                type: string
+              useKMS:
+                type: boolean
+            type: object
+          status:
+            properties:
+              backupPath:
+                type: string
+              backupSize:
+                format: int64
+                type: integer
+              backupSizeReadable:
+                type: string
+              commitTs:
+                type: string
+              conditions:
                 items:
                   properties:
-                    name:
+                    lastTransitionTime:
+                      format: date-time
+                      nullable: true
+                      type: string
+                    message:
+                      type: string
+                    reason:
+                      type: string
+                    status:
+                      type: string
+                    type:
                       type: string
+                  required:
+                  - status
+                  - type
                   type: object
+                nullable: true
                 type: array
-              local:
+              phase:
+                type: string
+              timeCompleted:
+                format: date-time
+                nullable: true
+                type: string
+              timeStarted:
+                format: date-time
+                nullable: true
+                type: string
+            type: object
+        required:
+        - metadata
+        - spec
+        type: object
+    served: true
+    storage: true
+    subresources: {}
+status:
+  acceptedNames:
+    kind: ""
+    plural: ""
+  conditions: []
+  storedVersions: []
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+  annotations:
+    controller-gen.kubebuilder.io/version: v0.6.2
+  creationTimestamp: null
+  name: backupschedules.pingcap.com
+spec:
+  group: pingcap.com
+  names:
+    kind: BackupSchedule
+    listKind: BackupScheduleList
+    plural: backupschedules
+    shortNames:
+    - bks
+    singular: backupschedule
+  scope: Namespaced
+  versions:
+  - additionalPrinterColumns:
+    - description: The cron format string used for backup scheduling
+      jsonPath: .spec.schedule
+      name: Schedule
+      type: string
+    - description: The max number of backups we want to keep
+      jsonPath: .spec.maxBackups
+      name: MaxBackups
+      type: integer
+    - description: The last backup CR name
+      jsonPath: .status.lastBackup
+      name: LastBackup
+      priority: 1
+      type: string
+    - description: The last time the backup was successfully created
+      jsonPath: .status.lastBackupTime
+      name: LastBackupTime
+      priority: 1
+      type: date
+    - jsonPath: .metadata.creationTimestamp
+      name: Age
+      type: date
+    name: v1alpha1
+    schema:
+      openAPIV3Schema:
+        properties:
+          apiVersion:
+            type: string
+          kind:
+            type: string
+          metadata:
+            type: object
+          spec:
+            properties:
+              backupTemplate:
                 properties:
-                  prefix:
-                    type: string
-                  volume:
+                  affinity:
                     properties:
-                      awsElasticBlockStore:
-                        properties:
-                          fsType:
-                            type: string
-                          partition:
-                            format: int32
-                            type: integer
-                          readOnly:
-                            type: boolean
-                          volumeID:
-                            type: string
-                        required:
-                        - volumeID
-                        type: object
-                      azureDisk:
-                        properties:
-                          cachingMode:
-                            type: string
-                          diskName:
-                            type: string
-                          diskURI:
-                            type: string
-                          fsType:
-                            type: string
-                          kind:
-                            type: string
-                          readOnly:
-                            type: boolean
-                        required:
-                        - diskName
-                        - diskURI
-                        type: object
-                      azureFile:
+                      nodeAffinity:
                         properties:
-                          readOnly:
-                            type: boolean
-                          secretName:
-                            type: string
-                          shareName:
-                            type: string
-                        required:
-                        - secretName
-                        - shareName
+                          preferredDuringSchedulingIgnoredDuringExecution:
+                            items:
+                              properties:
+                                preference:
+                                  properties:
+                                    matchExpressions:
+                                      items:
+                                        properties:
+                                          key:
+                                            type: string
+                                          operator:
+                                            type: string
+                                          values:
+                                            items:
+                                              type: string
+                                            type: array
+                                        required:
+                                        - key
+                                        - operator
+                                        type: object
+                                      type: array
+                                    matchFields:
+                                      items:
+                                        properties:
+                                          key:
+                                            type: string
+                                          operator:
+                                            type: string
+                                          values:
+                                            items:
+                                              type: string
+                                            type: array
+                                        required:
+                                        - key
+                                        - operator
+                                        type: object
+                                      type: array
+                                  type: object
+                                weight:
+                                  format: int32
+                                  type: integer
+                              required:
+                              - preference
+                              - weight
+                              type: object
+                            type: array
+                          requiredDuringSchedulingIgnoredDuringExecution:
+                            properties:
+                              nodeSelectorTerms:
+                                items:
+                                  properties:
+                                    matchExpressions:
+                                      items:
+                                        properties:
+                                          key:
+                                            type: string
+                                          operator:
+                                            type: string
+                                          values:
+                                            items:
+                                              type: string
+                                            type: array
+                                        required:
+                                        - key
+                                        - operator
+                                        type: object
+                                      type: array
+                                    matchFields:
+                                      items:
+                                        properties:
+                                          key:
+                                            type: string
+                                          operator:
+                                            type: string
+                                          values:
+                                            items:
+                                              type: string
+                                            type: array
+                                        required:
+                                        - key
+                                        - operator
+                                        type: object
+                                      type: array
+                                  type: object
+                                type: array
+                            required:
+                            - nodeSelectorTerms
+                            type: object
                         type: object
-                      cephfs:
+                      podAffinity:
                         properties:
-                          monitors:
+                          preferredDuringSchedulingIgnoredDuringExecution:
                             items:
-                              type: string
+                              properties:
+                                podAffinityTerm:
+                                  properties:
+                                    labelSelector:
+                                      properties:
+                                        matchExpressions:
+                                          items:
+                                            properties:
+                                              key:
+                                                type: string
+                                              operator:
+                                                type: string
+                                              values:
+                                                items:
+                                                  type: string
+                                                type: array
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                        matchLabels:
+                                          additionalProperties:
+                                            type: string
+                                          type: object
+                                      type: object
+                                    namespaces:
+                                      items:
+                                        type: string
+                                      type: array
+                                    topologyKey:
+                                      type: string
+                                  required:
+                                  - topologyKey
+                                  type: object
+                                weight:
+                                  format: int32
+                                  type: integer
+                              required:
+                              - podAffinityTerm
+                              - weight
+                              type: object
+                            type: array
+                          requiredDuringSchedulingIgnoredDuringExecution:
+                            items:
+                              properties:
+                                labelSelector:
+                                  properties:
+                                    matchExpressions:
+                                      items:
+                                        properties:
+                                          key:
+                                            type: string
+                                          operator:
+                                            type: string
+                                          values:
+                                            items:
+                                              type: string
+                                            type: array
+                                        required:
+                                        - key
+                                        - operator
+                                        type: object
+                                      type: array
+                                    matchLabels:
+                                      additionalProperties:
+                                        type: string
+                                      type: object
+                                  type: object
+                                namespaces:
+                                  items:
+                                    type: string
+                                  type: array
+                                topologyKey:
+                                  type: string
+                              required:
+                              - topologyKey
+                              type: object
                             type: array
-                          path:
-                            type: string
-                          readOnly:
-                            type: boolean
-                          secretFile:
-                            type: string
-                          secretRef:
-                            properties:
-                              name:
-                                type: string
-                            type: object
-                          user:
-                            type: string
-                        required:
-                        - monitors
-                        type: object
-                      cinder:
-                        properties:
-                          fsType:
-                            type: string
-                          readOnly:
-                            type: boolean
-                          secretRef:
-                            properties:
-                              name:
-                                type: string
-                            type: object
-                          volumeID:
-                            type: string
-                        required:
-                        - volumeID
                         type: object
-                      configMap:
+                      podAntiAffinity:
                         properties:
-                          defaultMode:
-                            format: int32
-                            type: integer
-                          items:
+                          preferredDuringSchedulingIgnoredDuringExecution:
+                            items:
+                              properties:
+                                podAffinityTerm:
+                                  properties:
+                                    labelSelector:
+                                      properties:
+                                        matchExpressions:
+                                          items:
+                                            properties:
+                                              key:
+                                                type: string
+                                              operator:
+                                                type: string
+                                              values:
+                                                items:
+                                                  type: string
+                                                type: array
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                        matchLabels:
+                                          additionalProperties:
+                                            type: string
+                                          type: object
+                                      type: object
+                                    namespaces:
+                                      items:
+                                        type: string
+                                      type: array
+                                    topologyKey:
+                                      type: string
+                                  required:
+                                  - topologyKey
+                                  type: object
+                                weight:
+                                  format: int32
+                                  type: integer
+                              required:
+                              - podAffinityTerm
+                              - weight
+                              type: object
+                            type: array
+                          requiredDuringSchedulingIgnoredDuringExecution:
                             items:
+                              properties:
+                                labelSelector:
+                                  properties:
+                                    matchExpressions:
+                                      items:
+                                        properties:
+                                          key:
+                                            type: string
+                                          operator:
+                                            type: string
+                                          values:
+                                            items:
+                                              type: string
+                                            type: array
+                                        required:
+                                        - key
+                                        - operator
+                                        type: object
+                                      type: array
+                                    matchLabels:
+                                      additionalProperties:
+                                        type: string
+                                      type: object
+                                  type: object
+                                namespaces:
+                                  items:
+                                    type: string
+                                  type: array
+                                topologyKey:
+                                  type: string
+                              required:
+                              - topologyKey
+                              type: object
+                            type: array
+                        type: object
+                    type: object
+                  azblob:
+                    properties:
+                      accessTier:
+                        type: string
+                      container:
+                        type: string
+                      path:
+                        type: string
+                      prefix:
+                        type: string
+                      secretName:
+                        type: string
+                    type: object
+                  backupType:
+                    type: string
+                  br:
+                    properties:
+                      checkRequirements:
+                        type: boolean
+                      checksum:
+                        type: boolean
+                      cluster:
+                        type: string
+                      clusterNamespace:
+                        type: string
+                      concurrency:
+                        format: int32
+                        type: integer
+                      db:
+                        type: string
+                      logLevel:
+                        type: string
+                      onLine:
+                        type: boolean
+                      options:
+                        items:
+                          type: string
+                        type: array
+                      rateLimit:
+                        type: integer
+                      sendCredToTikv:
+                        type: boolean
+                      statusAddr:
+                        type: string
+                      table:
+                        type: string
+                      timeAgo:
+                        type: string
+                    required:
+                    - cluster
+                    type: object
+                  cleanOption:
+                    properties:
+                      batchConcurrency:
+                        format: int32
+                        type: integer
+                      disableBatchConcurrency:
+                        type: boolean
+                      pageSize:
+                        format: int64
+                        type: integer
+                      routineConcurrency:
+                        format: int32
+                        type: integer
+                    type: object
+                  cleanPolicy:
+                    type: string
+                  dumpling:
+                    properties:
+                      options:
+                        items:
+                          type: string
+                        type: array
+                      tableFilter:
+                        items:
+                          type: string
+                        type: array
+                    type: object
+                  env:
+                    items:
+                      properties:
+                        name:
+                          type: string
+                        value:
+                          type: string
+                        valueFrom:
+                          properties:
+                            configMapKeyRef:
                               properties:
                                 key:
                                   type: string
-                                mode:
-                                  format: int32
-                                  type: integer
-                                path:
+                                name:
                                   type: string
+                                optional:
+                                  type: boolean
                               required:
                               - key
-                              - path
                               type: object
-                            type: array
-                          name:
-                            type: string
-                          optional:
-                            type: boolean
-                        type: object
-                      csi:
+                            fieldRef:
+                              properties:
+                                apiVersion:
+                                  type: string
+                                fieldPath:
+                                  type: string
+                              required:
+                              - fieldPath
+                              type: object
+                            resourceFieldRef:
+                              properties:
+                                containerName:
+                                  type: string
+                                divisor:
+                                  anyOf:
+                                  - type: integer
+                                  - type: string
+                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                  x-kubernetes-int-or-string: true
+                                resource:
+                                  type: string
+                              required:
+                              - resource
+                              type: object
+                            secretKeyRef:
+                              properties:
+                                key:
+                                  type: string
+                                name:
+                                  type: string
+                                optional:
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                          type: object
+                      required:
+                      - name
+                      type: object
+                    type: array
+                  from:
+                    properties:
+                      host:
+                        type: string
+                      port:
+                        format: int32
+                        type: integer
+                      secretName:
+                        type: string
+                      tlsClientSecretName:
+                        type: string
+                      user:
+                        type: string
+                    required:
+                    - host
+                    - secretName
+                    type: object
+                  gcs:
+                    properties:
+                      bucket:
+                        type: string
+                      bucketAcl:
+                        type: string
+                      location:
+                        type: string
+                      objectAcl:
+                        type: string
+                      path:
+                        type: string
+                      prefix:
+                        type: string
+                      projectId:
+                        type: string
+                      secretName:
+                        type: string
+                      storageClass:
+                        type: string
+                    required:
+                    - projectId
+                    type: object
+                  imagePullSecrets:
+                    items:
+                      properties:
+                        name:
+                          type: string
+                      type: object
+                    type: array
+                  local:
+                    properties:
+                      prefix:
+                        type: string
+                      volume:
                         properties:
-                          driver:
-                            type: string
-                          fsType:
-                            type: string
-                          nodePublishSecretRef:
+                          awsElasticBlockStore:
                             properties:
-                              name:
+                              fsType:
+                                type: string
+                              partition:
+                                format: int32
+                                type: integer
+                              readOnly:
+                                type: boolean
+                              volumeID:
                                 type: string
+                            required:
+                            - volumeID
                             type: object
-                          readOnly:
-                            type: boolean
-                          volumeAttributes:
-                            additionalProperties:
-                              type: string
+                          azureDisk:
+                            properties:
+                              cachingMode:
+                                type: string
+                              diskName:
+                                type: string
+                              diskURI:
+                                type: string
+                              fsType:
+                                type: string
+                              kind:
+                                type: string
+                              readOnly:
+                                type: boolean
+                            required:
+                            - diskName
+                            - diskURI
                             type: object
-                        required:
-                        - driver
-                        type: object
-                      downwardAPI:
-                        properties:
-                          defaultMode:
-                            format: int32
-                            type: integer
-                          items:
-                            items:
-                              properties:
-                                fieldRef:
-                                  properties:
-                                    apiVersion:
-                                      type: string
-                                    fieldPath:
-                                      type: string
-                                  required:
-                                  - fieldPath
-                                  type: object
-                                mode:
-                                  format: int32
-                                  type: integer
-                                path:
+                          azureFile:
+                            properties:
+                              readOnly:
+                                type: boolean
+                              secretName:
+                                type: string
+                              shareName:
+                                type: string
+                            required:
+                            - secretName
+                            - shareName
+                            type: object
+                          cephfs:
+                            properties:
+                              monitors:
+                                items:
                                   type: string
-                                resourceFieldRef:
+                                type: array
+                              path:
+                                type: string
+                              readOnly:
+                                type: boolean
+                              secretFile:
+                                type: string
+                              secretRef:
+                                properties:
+                                  name:
+                                    type: string
+                                type: object
+                              user:
+                                type: string
+                            required:
+                            - monitors
+                            type: object
+                          cinder:
+                            properties:
+                              fsType:
+                                type: string
+                              readOnly:
+                                type: boolean
+                              secretRef:
+                                properties:
+                                  name:
+                                    type: string
+                                type: object
+                              volumeID:
+                                type: string
+                            required:
+                            - volumeID
+                            type: object
+                          configMap:
+                            properties:
+                              defaultMode:
+                                format: int32
+                                type: integer
+                              items:
+                                items:
                                   properties:
-                                    containerName:
+                                    key:
                                       type: string
-                                    divisor:
-                                      anyOf:
-                                      - type: integer
-                                      - type: string
-                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                      x-kubernetes-int-or-string: true
-                                    resource:
+                                    mode:
+                                      format: int32
+                                      type: integer
+                                    path:
                                       type: string
                                   required:
-                                  - resource
+                                  - key
+                                  - path
                                   type: object
-                              required:
-                              - path
-                              type: object
-                            type: array
-                        type: object
-                      emptyDir:
-                        properties:
-                          medium:
-                            type: string
-                          sizeLimit:
-                            anyOf:
-                            - type: integer
-                            - type: string
-                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                            x-kubernetes-int-or-string: true
-                        type: object
-                      ephemeral:
-                        properties:
-                          readOnly:
-                            type: boolean
-                          volumeClaimTemplate:
+                                type: array
+                              name:
+                                type: string
+                              optional:
+                                type: boolean
+                            type: object
+                          csi:
                             properties:
-                              metadata:
-                                type: object
-                              spec:
+                              driver:
+                                type: string
+                              fsType:
+                                type: string
+                              nodePublishSecretRef:
                                 properties:
-                                  accessModes:
-                                    items:
+                                  name:
+                                    type: string
+                                type: object
+                              readOnly:
+                                type: boolean
+                              volumeAttributes:
+                                additionalProperties:
+                                  type: string
+                                type: object
+                            required:
+                            - driver
+                            type: object
+                          downwardAPI:
+                            properties:
+                              defaultMode:
+                                format: int32
+                                type: integer
+                              items:
+                                items:
+                                  properties:
+                                    fieldRef:
+                                      properties:
+                                        apiVersion:
+                                          type: string
+                                        fieldPath:
+                                          type: string
+                                      required:
+                                      - fieldPath
+                                      type: object
+                                    mode:
+                                      format: int32
+                                      type: integer
+                                    path:
                                       type: string
-                                    type: array
-                                  dataSource:
-                                    properties:
-                                      apiGroup:
-                                        type: string
-                                      kind:
-                                        type: string
-                                      name:
-                                        type: string
-                                    required:
-                                    - kind
-                                    - name
-                                    type: object
-                                  resources:
-                                    properties:
-                                      limits:
-                                        additionalProperties:
-                                          anyOf:
-                                          - type: integer
-                                          - type: string
-                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                          x-kubernetes-int-or-string: true
-                                        type: object
-                                      requests:
-                                        additionalProperties:
+                                    resourceFieldRef:
+                                      properties:
+                                        containerName:
+                                          type: string
+                                        divisor:
                                           anyOf:
                                           - type: integer
                                           - type: string
                                           pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                           x-kubernetes-int-or-string: true
-                                        type: object
+                                        resource:
+                                          type: string
+                                      required:
+                                      - resource
+                                      type: object
+                                  required:
+                                  - path
+                                  type: object
+                                type: array
+                            type: object
+                          emptyDir:
+                            properties:
+                              medium:
+                                type: string
+                              sizeLimit:
+                                anyOf:
+                                - type: integer
+                                - type: string
+                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                x-kubernetes-int-or-string: true
+                            type: object
+                          ephemeral:
+                            properties:
+                              readOnly:
+                                type: boolean
+                              volumeClaimTemplate:
+                                properties:
+                                  metadata:
                                     type: object
-                                  selector:
+                                  spec:
                                     properties:
-                                      matchExpressions:
+                                      accessModes:
                                         items:
-                                          properties:
-                                            key:
-                                              type: string
-                                            operator:
-                                              type: string
-                                            values:
-                                              items:
-                                                type: string
-                                              type: array
-                                          required:
-                                          - key
-                                          - operator
-                                          type: object
-                                        type: array
-                                      matchLabels:
-                                        additionalProperties:
                                           type: string
+                                        type: array
+                                      dataSource:
+                                        properties:
+                                          apiGroup:
+                                            type: string
+                                          kind:
+                                            type: string
+                                          name:
+                                            type: string
+                                        required:
+                                        - kind
+                                        - name
+                                        type: object
+                                      resources:
+                                        properties:
+                                          limits:
+                                            additionalProperties:
+                                              anyOf:
+                                              - type: integer
+                                              - type: string
+                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                              x-kubernetes-int-or-string: true
+                                            type: object
+                                          requests:
+                                            additionalProperties:
+                                              anyOf:
+                                              - type: integer
+                                              - type: string
+                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                              x-kubernetes-int-or-string: true
+                                            type: object
+                                        type: object
+                                      selector:
+                                        properties:
+                                          matchExpressions:
+                                            items:
+                                              properties:
+                                                key:
+                                                  type: string
+                                                operator:
+                                                  type: string
+                                                values:
+                                                  items:
+                                                    type: string
+                                                  type: array
+                                              required:
+                                              - key
+                                              - operator
+                                              type: object
+                                            type: array
+                                          matchLabels:
+                                            additionalProperties:
+                                              type: string
+                                            type: object
                                         type: object
+                                      storageClassName:
+                                        type: string
+                                      volumeMode:
+                                        type: string
+                                      volumeName:
+                                        type: string
                                     type: object
-                                  storageClassName:
-                                    type: string
-                                  volumeMode:
-                                    type: string
-                                  volumeName:
+                                required:
+                                - spec
+                                type: object
+                            type: object
+                          fc:
+                            properties:
+                              fsType:
+                                type: string
+                              lun:
+                                format: int32
+                                type: integer
+                              readOnly:
+                                type: boolean
+                              targetWWNs:
+                                items:
+                                  type: string
+                                type: array
+                              wwids:
+                                items:
+                                  type: string
+                                type: array
+                            type: object
+                          flexVolume:
+                            properties:
+                              driver:
+                                type: string
+                              fsType:
+                                type: string
+                              options:
+                                additionalProperties:
+                                  type: string
+                                type: object
+                              readOnly:
+                                type: boolean
+                              secretRef:
+                                properties:
+                                  name:
                                     type: string
                                 type: object
                             required:
-                            - spec
+                            - driver
                             type: object
-                        type: object
-                      fc:
-                        properties:
-                          fsType:
-                            type: string
-                          lun:
-                            format: int32
-                            type: integer
-                          readOnly:
-                            type: boolean
-                          targetWWNs:
-                            items:
-                              type: string
-                            type: array
-                          wwids:
-                            items:
-                              type: string
-                            type: array
-                        type: object
-                      flexVolume:
-                        properties:
-                          driver:
-                            type: string
-                          fsType:
-                            type: string
-                          options:
-                            additionalProperties:
-                              type: string
+                          flocker:
+                            properties:
+                              datasetName:
+                                type: string
+                              datasetUUID:
+                                type: string
                             type: object
-                          readOnly:
-                            type: boolean
-                          secretRef:
+                          gcePersistentDisk:
                             properties:
-                              name:
+                              fsType:
+                                type: string
+                              partition:
+                                format: int32
+                                type: integer
+                              pdName:
                                 type: string
+                              readOnly:
+                                type: boolean
+                            required:
+                            - pdName
                             type: object
-                        required:
-                        - driver
-                        type: object
-                      flocker:
-                        properties:
-                          datasetName:
-                            type: string
-                          datasetUUID:
-                            type: string
-                        type: object
-                      gcePersistentDisk:
-                        properties:
-                          fsType:
-                            type: string
-                          partition:
-                            format: int32
-                            type: integer
-                          pdName:
-                            type: string
-                          readOnly:
-                            type: boolean
-                        required:
-                        - pdName
-                        type: object
-                      gitRepo:
-                        properties:
-                          directory:
-                            type: string
-                          repository:
-                            type: string
-                          revision:
-                            type: string
-                        required:
-                        - repository
-                        type: object
-                      glusterfs:
-                        properties:
-                          endpoints:
-                            type: string
-                          path:
-                            type: string
-                          readOnly:
-                            type: boolean
-                        required:
-                        - endpoints
-                        - path
-                        type: object
-                      hostPath:
-                        properties:
-                          path:
-                            type: string
-                          type:
-                            type: string
-                        required:
-                        - path
-                        type: object
-                      iscsi:
-                        properties:
-                          chapAuthDiscovery:
-                            type: boolean
-                          chapAuthSession:
-                            type: boolean
-                          fsType:
-                            type: string
-                          initiatorName:
-                            type: string
-                          iqn:
-                            type: string
-                          iscsiInterface:
-                            type: string
-                          lun:
-                            format: int32
-                            type: integer
-                          portals:
-                            items:
-                              type: string
-                            type: array
-                          readOnly:
-                            type: boolean
-                          secretRef:
+                          gitRepo:
                             properties:
-                              name:
+                              directory:
+                                type: string
+                              repository:
+                                type: string
+                              revision:
                                 type: string
+                            required:
+                            - repository
                             type: object
-                          targetPortal:
-                            type: string
-                        required:
-                        - iqn
-                        - lun
-                        - targetPortal
-                        type: object
-                      name:
-                        type: string
-                      nfs:
-                        properties:
-                          path:
-                            type: string
-                          readOnly:
-                            type: boolean
-                          server:
-                            type: string
-                        required:
-                        - path
-                        - server
-                        type: object
-                      persistentVolumeClaim:
-                        properties:
-                          claimName:
-                            type: string
-                          readOnly:
-                            type: boolean
-                        required:
-                        - claimName
-                        type: object
-                      photonPersistentDisk:
-                        properties:
-                          fsType:
-                            type: string
-                          pdID:
-                            type: string
-                        required:
-                        - pdID
-                        type: object
-                      portworxVolume:
-                        properties:
-                          fsType:
-                            type: string
-                          readOnly:
-                            type: boolean
-                          volumeID:
+                          glusterfs:
+                            properties:
+                              endpoints:
+                                type: string
+                              path:
+                                type: string
+                              readOnly:
+                                type: boolean
+                            required:
+                            - endpoints
+                            - path
+                            type: object
+                          hostPath:
+                            properties:
+                              path:
+                                type: string
+                              type:
+                                type: string
+                            required:
+                            - path
+                            type: object
+                          iscsi:
+                            properties:
+                              chapAuthDiscovery:
+                                type: boolean
+                              chapAuthSession:
+                                type: boolean
+                              fsType:
+                                type: string
+                              initiatorName:
+                                type: string
+                              iqn:
+                                type: string
+                              iscsiInterface:
+                                type: string
+                              lun:
+                                format: int32
+                                type: integer
+                              portals:
+                                items:
+                                  type: string
+                                type: array
+                              readOnly:
+                                type: boolean
+                              secretRef:
+                                properties:
+                                  name:
+                                    type: string
+                                type: object
+                              targetPortal:
+                                type: string
+                            required:
+                            - iqn
+                            - lun
+                            - targetPortal
+                            type: object
+                          name:
                             type: string
-                        required:
-                        - volumeID
-                        type: object
-                      projected:
-                        properties:
-                          defaultMode:
-                            format: int32
-                            type: integer
-                          sources:
-                            items:
-                              properties:
-                                configMap:
-                                  properties:
-                                    items:
-                                      items:
-                                        properties:
-                                          key:
-                                            type: string
-                                          mode:
-                                            format: int32
-                                            type: integer
-                                          path:
-                                            type: string
-                                        required:
-                                        - key
-                                        - path
-                                        type: object
-                                      type: array
-                                    name:
-                                      type: string
-                                    optional:
-                                      type: boolean
-                                  type: object
-                                downwardAPI:
+                          nfs:
+                            properties:
+                              path:
+                                type: string
+                              readOnly:
+                                type: boolean
+                              server:
+                                type: string
+                            required:
+                            - path
+                            - server
+                            type: object
+                          persistentVolumeClaim:
+                            properties:
+                              claimName:
+                                type: string
+                              readOnly:
+                                type: boolean
+                            required:
+                            - claimName
+                            type: object
+                          photonPersistentDisk:
+                            properties:
+                              fsType:
+                                type: string
+                              pdID:
+                                type: string
+                            required:
+                            - pdID
+                            type: object
+                          portworxVolume:
+                            properties:
+                              fsType:
+                                type: string
+                              readOnly:
+                                type: boolean
+                              volumeID:
+                                type: string
+                            required:
+                            - volumeID
+                            type: object
+                          projected:
+                            properties:
+                              defaultMode:
+                                format: int32
+                                type: integer
+                              sources:
+                                items:
                                   properties:
-                                    items:
-                                      items:
-                                        properties:
-                                          fieldRef:
+                                    configMap:
+                                      properties:
+                                        items:
+                                          items:
                                             properties:
-                                              apiVersion:
+                                              key:
                                                 type: string
-                                              fieldPath:
+                                              mode:
+                                                format: int32
+                                                type: integer
+                                              path:
                                                 type: string
                                             required:
-                                            - fieldPath
+                                            - key
+                                            - path
                                             type: object
-                                          mode:
-                                            format: int32
-                                            type: integer
-                                          path:
-                                            type: string
-                                          resourceFieldRef:
+                                          type: array
+                                        name:
+                                          type: string
+                                        optional:
+                                          type: boolean
+                                      type: object
+                                    downwardAPI:
+                                      properties:
+                                        items:
+                                          items:
                                             properties:
-                                              containerName:
+                                              fieldRef:
+                                                properties:
+                                                  apiVersion:
+                                                    type: string
+                                                  fieldPath:
+                                                    type: string
+                                                required:
+                                                - fieldPath
+                                                type: object
+                                              mode:
+                                                format: int32
+                                                type: integer
+                                              path:
                                                 type: string
-                                              divisor:
-                                                anyOf:
-                                                - type: integer
-                                                - type: string
-                                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                                x-kubernetes-int-or-string: true
-                                              resource:
+                                              resourceFieldRef:
+                                                properties:
+                                                  containerName:
+                                                    type: string
+                                                  divisor:
+                                                    anyOf:
+                                                    - type: integer
+                                                    - type: string
+                                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                                    x-kubernetes-int-or-string: true
+                                                  resource:
+                                                    type: string
+                                                required:
+                                                - resource
+                                                type: object
+                                            required:
+                                            - path
+                                            type: object
+                                          type: array
+                                      type: object
+                                    secret:
+                                      properties:
+                                        items:
+                                          items:
+                                            properties:
+                                              key:
+                                                type: string
+                                              mode:
+                                                format: int32
+                                                type: integer
+                                              path:
                                                 type: string
                                             required:
-                                            - resource
+                                            - key
+                                            - path
                                             type: object
-                                        required:
-                                        - path
-                                        type: object
-                                      type: array
-                                  type: object
-                                secret:
-                                  properties:
-                                    items:
-                                      items:
-                                        properties:
-                                          key:
-                                            type: string
-                                          mode:
-                                            format: int32
-                                            type: integer
-                                          path:
-                                            type: string
-                                        required:
-                                        - key
-                                        - path
-                                        type: object
-                                      type: array
-                                    name:
-                                      type: string
-                                    optional:
-                                      type: boolean
+                                          type: array
+                                        name:
+                                          type: string
+                                        optional:
+                                          type: boolean
+                                      type: object
+                                    serviceAccountToken:
+                                      properties:
+                                        audience:
+                                          type: string
+                                        expirationSeconds:
+                                          format: int64
+                                          type: integer
+                                        path:
+                                          type: string
+                                      required:
+                                      - path
+                                      type: object
                                   type: object
-                                serviceAccountToken:
+                                type: array
+                            required:
+                            - sources
+                            type: object
+                          quobyte:
+                            properties:
+                              group:
+                                type: string
+                              readOnly:
+                                type: boolean
+                              registry:
+                                type: string
+                              tenant:
+                                type: string
+                              user:
+                                type: string
+                              volume:
+                                type: string
+                            required:
+                            - registry
+                            - volume
+                            type: object
+                          rbd:
+                            properties:
+                              fsType:
+                                type: string
+                              image:
+                                type: string
+                              keyring:
+                                type: string
+                              monitors:
+                                items:
+                                  type: string
+                                type: array
+                              pool:
+                                type: string
+                              readOnly:
+                                type: boolean
+                              secretRef:
+                                properties:
+                                  name:
+                                    type: string
+                                type: object
+                              user:
+                                type: string
+                            required:
+                            - image
+                            - monitors
+                            type: object
+                          scaleIO:
+                            properties:
+                              fsType:
+                                type: string
+                              gateway:
+                                type: string
+                              protectionDomain:
+                                type: string
+                              readOnly:
+                                type: boolean
+                              secretRef:
+                                properties:
+                                  name:
+                                    type: string
+                                type: object
+                              sslEnabled:
+                                type: boolean
+                              storageMode:
+                                type: string
+                              storagePool:
+                                type: string
+                              system:
+                                type: string
+                              volumeName:
+                                type: string
+                            required:
+                            - gateway
+                            - secretRef
+                            - system
+                            type: object
+                          secret:
+                            properties:
+                              defaultMode:
+                                format: int32
+                                type: integer
+                              items:
+                                items:
                                   properties:
-                                    audience:
+                                    key:
                                       type: string
-                                    expirationSeconds:
-                                      format: int64
+                                    mode:
+                                      format: int32
                                       type: integer
                                     path:
                                       type: string
                                   required:
+                                  - key
                                   - path
                                   type: object
-                              type: object
-                            type: array
-                        required:
-                        - sources
-                        type: object
-                      quobyte:
-                        properties:
-                          group:
-                            type: string
-                          readOnly:
-                            type: boolean
-                          registry:
-                            type: string
-                          tenant:
-                            type: string
-                          user:
-                            type: string
-                          volume:
-                            type: string
-                        required:
-                        - registry
-                        - volume
-                        type: object
-                      rbd:
-                        properties:
-                          fsType:
-                            type: string
-                          image:
-                            type: string
-                          keyring:
-                            type: string
-                          monitors:
-                            items:
-                              type: string
-                            type: array
-                          pool:
-                            type: string
-                          readOnly:
-                            type: boolean
-                          secretRef:
+                                type: array
+                              optional:
+                                type: boolean
+                              secretName:
+                                type: string
+                            type: object
+                          storageos:
                             properties:
-                              name:
+                              fsType:
+                                type: string
+                              readOnly:
+                                type: boolean
+                              secretRef:
+                                properties:
+                                  name:
+                                    type: string
+                                type: object
+                              volumeName:
+                                type: string
+                              volumeNamespace:
                                 type: string
                             type: object
-                          user:
-                            type: string
+                          vsphereVolume:
+                            properties:
+                              fsType:
+                                type: string
+                              storagePolicyID:
+                                type: string
+                              storagePolicyName:
+                                type: string
+                              volumePath:
+                                type: string
+                            required:
+                            - volumePath
+                            type: object
                         required:
-                        - image
-                        - monitors
+                        - name
                         type: object
-                      scaleIO:
+                      volumeMount:
                         properties:
-                          fsType:
+                          mountPath:
                             type: string
-                          gateway:
+                          mountPropagation:
                             type: string
-                          protectionDomain:
+                          name:
                             type: string
                           readOnly:
                             type: boolean
-                          secretRef:
-                            properties:
-                              name:
-                                type: string
-                            type: object
-                          sslEnabled:
-                            type: boolean
-                          storageMode:
-                            type: string
-                          storagePool:
-                            type: string
-                          system:
+                          subPath:
                             type: string
-                          volumeName:
+                          subPathExpr:
                             type: string
                         required:
-                        - gateway
-                        - secretRef
-                        - system
+                        - mountPath
+                        - name
                         type: object
-                      secret:
+                    required:
+                    - volume
+                    - volumeMount
+                    type: object
+                  podSecurityContext:
+                    properties:
+                      fsGroup:
+                        format: int64
+                        type: integer
+                      fsGroupChangePolicy:
+                        type: string
+                      runAsGroup:
+                        format: int64
+                        type: integer
+                      runAsNonRoot:
+                        type: boolean
+                      runAsUser:
+                        format: int64
+                        type: integer
+                      seLinuxOptions:
                         properties:
-                          defaultMode:
-                            format: int32
-                            type: integer
-                          items:
-                            items:
-                              properties:
-                                key:
-                                  type: string
-                                mode:
-                                  format: int32
-                                  type: integer
-                                path:
-                                  type: string
-                              required:
-                              - key
-                              - path
-                              type: object
-                            type: array
-                          optional:
-                            type: boolean
-                          secretName:
+                          level:
                             type: string
-                        type: object
-                      storageos:
-                        properties:
-                          fsType:
+                          role:
                             type: string
-                          readOnly:
-                            type: boolean
-                          secretRef:
-                            properties:
-                              name:
-                                type: string
-                            type: object
-                          volumeName:
+                          type:
                             type: string
-                          volumeNamespace:
+                          user:
                             type: string
                         type: object
-                      vsphereVolume:
+                      seccompProfile:
                         properties:
-                          fsType:
+                          localhostProfile:
                             type: string
-                          storagePolicyID:
+                          type:
                             type: string
-                          storagePolicyName:
+                        required:
+                        - type
+                        type: object
+                      supplementalGroups:
+                        items:
+                          format: int64
+                          type: integer
+                        type: array
+                      sysctls:
+                        items:
+                          properties:
+                            name:
+                              type: string
+                            value:
+                              type: string
+                          required:
+                          - name
+                          - value
+                          type: object
+                        type: array
+                      windowsOptions:
+                        properties:
+                          gmsaCredentialSpec:
+                            type: string
+                          gmsaCredentialSpecName:
                             type: string
-                          volumePath:
+                          runAsUserName:
                             type: string
-                        required:
-                        - volumePath
                         type: object
-                    required:
-                    - name
                     type: object
-                  volumeMount:
+                  priorityClassName:
+                    type: string
+                  resources:
                     properties:
-                      mountPath:
-                        type: string
-                      mountPropagation:
+                      limits:
+                        additionalProperties:
+                          anyOf:
+                          - type: integer
+                          - type: string
+                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                          x-kubernetes-int-or-string: true
+                        type: object
+                      requests:
+                        additionalProperties:
+                          anyOf:
+                          - type: integer
+                          - type: string
+                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                          x-kubernetes-int-or-string: true
+                        type: object
+                    type: object
+                  s3:
+                    properties:
+                      acl:
                         type: string
-                      name:
+                      bucket:
                         type: string
-                      readOnly:
-                        type: boolean
-                      subPath:
+                      endpoint:
                         type: string
-                      subPathExpr:
+                      options:
+                        items:
+                          type: string
+                        type: array
+                      path:
                         type: string
-                    required:
-                    - mountPath
-                    - name
-                    type: object
-                required:
-                - volume
-                - volumeMount
-                type: object
-              podSecurityContext:
-                properties:
-                  fsGroup:
-                    format: int64
-                    type: integer
-                  fsGroupChangePolicy:
-                    type: string
-                  runAsGroup:
-                    format: int64
-                    type: integer
-                  runAsNonRoot:
-                    type: boolean
-                  runAsUser:
-                    format: int64
-                    type: integer
-                  seLinuxOptions:
-                    properties:
-                      level:
+                      prefix:
                         type: string
-                      role:
+                      provider:
                         type: string
-                      type:
+                      region:
                         type: string
-                      user:
+                      secretName:
                         type: string
-                    type: object
-                  seccompProfile:
-                    properties:
-                      localhostProfile:
+                      sse:
                         type: string
-                      type:
+                      storageClass:
                         type: string
                     required:
-                    - type
+                    - provider
                     type: object
-                  supplementalGroups:
+                  serviceAccount:
+                    type: string
+                  storageClassName:
+                    type: string
+                  storageSize:
+                    type: string
+                  tableFilter:
                     items:
-                      format: int64
-                      type: integer
+                      type: string
                     type: array
-                  sysctls:
+                  tikvGCLifeTime:
+                    type: string
+                  tolerations:
                     items:
                       properties:
-                        name:
+                        effect:
                           type: string
+                        key:
+                          type: string
+                        operator:
+                          type: string
+                        tolerationSeconds:
+                          format: int64
+                          type: integer
                         value:
                           type: string
-                      required:
-                      - name
-                      - value
                       type: object
                     type: array
-                  windowsOptions:
-                    properties:
-                      gmsaCredentialSpec:
-                        type: string
-                      gmsaCredentialSpecName:
-                        type: string
-                      runAsUserName:
-                        type: string
-                    type: object
-                type: object
-              priorityClassName:
-                type: string
-              resources:
-                properties:
-                  limits:
-                    additionalProperties:
-                      anyOf:
-                      - type: integer
-                      - type: string
-                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                      x-kubernetes-int-or-string: true
-                    type: object
-                  requests:
-                    additionalProperties:
-                      anyOf:
-                      - type: integer
-                      - type: string
-                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                      x-kubernetes-int-or-string: true
-                    type: object
-                type: object
-              s3:
-                properties:
-                  acl:
-                    type: string
-                  bucket:
-                    type: string
-                  endpoint:
-                    type: string
-                  options:
-                    items:
-                      type: string
-                    type: array
-                  path:
-                    type: string
-                  prefix:
-                    type: string
-                  provider:
-                    type: string
-                  region:
-                    type: string
-                  secretName:
-                    type: string
-                  sse:
-                    type: string
-                  storageClass:
+                  toolImage:
                     type: string
-                required:
-                - provider
+                  useKMS:
+                    type: boolean
                 type: object
-              serviceAccount:
-                type: string
-              storageClassName:
-                type: string
-              storageSize:
-                type: string
-              tableFilter:
-                items:
-                  type: string
-                type: array
-              tikvGCLifeTime:
-                type: string
-              tolerations:
+              imagePullSecrets:
                 items:
                   properties:
-                    effect:
-                      type: string
-                    key:
-                      type: string
-                    operator:
-                      type: string
-                    tolerationSeconds:
-                      format: int64
-                      type: integer
-                    value:
+                    name:
                       type: string
                   type: object
                 type: array
-              toolImage:
+              maxBackups:
+                format: int32
+                type: integer
+              maxReservedTime:
                 type: string
-              useKMS:
+              pause:
                 type: boolean
-            type: object
-          status:
-            properties:
-              backupPath:
-                type: string
-              backupSize:
-                format: int64
-                type: integer
-              backupSizeReadable:
+              schedule:
                 type: string
-              commitTs:
+              storageClassName:
                 type: string
-              conditions:
-                items:
-                  properties:
-                    lastTransitionTime:
-                      format: date-time
-                      nullable: true
-                      type: string
-                    message:
-                      type: string
-                    reason:
-                      type: string
-                    status:
-                      type: string
-                    type:
-                      type: string
-                  required:
-                  - status
-                  - type
-                  type: object
-                nullable: true
-                type: array
-              phase:
+              storageSize:
                 type: string
-              timeCompleted:
+            required:
+            - backupTemplate
+            - schedule
+            type: object
+          status:
+            properties:
+              allBackupCleanTime:
                 format: date-time
-                nullable: true
                 type: string
-              timeStarted:
+              lastBackup:
+                type: string
+              lastBackupTime:
                 format: date-time
-                nullable: true
                 type: string
             type: object
         required:
@@ -17379,6 +17379,9 @@ spec:
                   type: string
                 type: array
               podManagementPolicy:
+                enum:
+                - OrderedReady
+                - Parallel
                 type: string
               podSecurityContext:
                 properties:
diff --git a/manifests/crd/v1/pingcap.com_tidbclusters.yaml b/manifests/crd/v1/pingcap.com_tidbclusters.yaml
index 75ab7d90e7d..3cc5048280b 100644
--- a/manifests/crd/v1/pingcap.com_tidbclusters.yaml
+++ b/manifests/crd/v1/pingcap.com_tidbclusters.yaml
@@ -5100,6 +5100,9 @@ spec:
                   type: string
                 type: array
               podManagementPolicy:
+                enum:
+                - OrderedReady
+                - Parallel
                 type: string
               podSecurityContext:
                 properties:
diff --git a/manifests/crd/v1beta1/pingcap.com_tidbclusters.yaml b/manifests/crd/v1beta1/pingcap.com_tidbclusters.yaml
index 71d52edb5b5..ad78dc608f1 100644
--- a/manifests/crd/v1beta1/pingcap.com_tidbclusters.yaml
+++ b/manifests/crd/v1beta1/pingcap.com_tidbclusters.yaml
@@ -5094,6 +5094,9 @@ spec:
                 type: string
               type: array
             podManagementPolicy:
+              enum:
+              - OrderedReady
+              - Parallel
               type: string
             podSecurityContext:
               properties:
diff --git a/manifests/crd_v1beta1.yaml b/manifests/crd_v1beta1.yaml
index 1d39142e249..bbeec635f5e 100644
--- a/manifests/crd_v1beta1.yaml
+++ b/manifests/crd_v1beta1.yaml
@@ -6,25 +6,33 @@ metadata:
   annotations:
     controller-gen.kubebuilder.io/version: v0.6.2
   creationTimestamp: null
-  name: backupschedules.pingcap.com
+  name: backups.pingcap.com
 spec:
   additionalPrinterColumns:
-  - JSONPath: .spec.schedule
-    description: The cron format string used for backup scheduling
-    name: Schedule
+  - JSONPath: .status.phase
+    description: The current status of the backup
+    name: Status
     type: string
-  - JSONPath: .spec.maxBackups
-    description: The max number of backups we want to keep
-    name: MaxBackups
-    type: integer
-  - JSONPath: .status.lastBackup
-    description: The last backup CR name
-    name: LastBackup
-    priority: 1
+  - JSONPath: .status.backupPath
+    description: The full path of backup data
+    name: BackupPath
     type: string
-  - JSONPath: .status.lastBackupTime
-    description: The last time the backup was successfully created
-    name: LastBackupTime
+  - JSONPath: .status.backupSizeReadable
+    description: The data size of the backup
+    name: BackupSize
+    type: string
+  - JSONPath: .status.commitTs
+    description: The commit ts of tidb cluster dump
+    name: CommitTS
+    type: string
+  - JSONPath: .status.timeStarted
+    description: The time at which the backup was started
+    name: Started
+    priority: 1
+    type: date
+  - JSONPath: .status.timeCompleted
+    description: The time at which the backup was completed
+    name: Completed
     priority: 1
     type: date
   - JSONPath: .metadata.creationTimestamp
@@ -32,12 +40,12 @@ spec:
     type: date
   group: pingcap.com
   names:
-    kind: BackupSchedule
-    listKind: BackupScheduleList
-    plural: backupschedules
+    kind: Backup
+    listKind: BackupList
+    plural: backups
     shortNames:
-    - bks
-    singular: backupschedule
+    - bk
+    singular: backup
   preserveUnknownFields: false
   scope: Namespaced
   subresources: {}
@@ -52,16 +60,107 @@ spec:
           type: object
         spec:
           properties:
-            backupTemplate:
+            affinity:
               properties:
-                affinity:
+                nodeAffinity:
                   properties:
-                    nodeAffinity:
+                    preferredDuringSchedulingIgnoredDuringExecution:
+                      items:
+                        properties:
+                          preference:
+                            properties:
+                              matchExpressions:
+                                items:
+                                  properties:
+                                    key:
+                                      type: string
+                                    operator:
+                                      type: string
+                                    values:
+                                      items:
+                                        type: string
+                                      type: array
+                                  required:
+                                  - key
+                                  - operator
+                                  type: object
+                                type: array
+                              matchFields:
+                                items:
+                                  properties:
+                                    key:
+                                      type: string
+                                    operator:
+                                      type: string
+                                    values:
+                                      items:
+                                        type: string
+                                      type: array
+                                  required:
+                                  - key
+                                  - operator
+                                  type: object
+                                type: array
+                            type: object
+                          weight:
+                            format: int32
+                            type: integer
+                        required:
+                        - preference
+                        - weight
+                        type: object
+                      type: array
+                    requiredDuringSchedulingIgnoredDuringExecution:
                       properties:
-                        preferredDuringSchedulingIgnoredDuringExecution:
+                        nodeSelectorTerms:
                           items:
                             properties:
-                              preference:
+                              matchExpressions:
+                                items:
+                                  properties:
+                                    key:
+                                      type: string
+                                    operator:
+                                      type: string
+                                    values:
+                                      items:
+                                        type: string
+                                      type: array
+                                  required:
+                                  - key
+                                  - operator
+                                  type: object
+                                type: array
+                              matchFields:
+                                items:
+                                  properties:
+                                    key:
+                                      type: string
+                                    operator:
+                                      type: string
+                                    values:
+                                      items:
+                                        type: string
+                                      type: array
+                                  required:
+                                  - key
+                                  - operator
+                                  type: object
+                                type: array
+                            type: object
+                          type: array
+                      required:
+                      - nodeSelectorTerms
+                      type: object
+                  type: object
+                podAffinity:
+                  properties:
+                    preferredDuringSchedulingIgnoredDuringExecution:
+                      items:
+                        properties:
+                          podAffinityTerm:
+                            properties:
+                              labelSelector:
                                 properties:
                                   matchExpressions:
                                     items:
@@ -79,125 +178,73 @@ spec:
                                       - operator
                                       type: object
                                     type: array
-                                  matchFields:
-                                    items:
-                                      properties:
-                                        key:
-                                          type: string
-                                        operator:
-                                          type: string
-                                        values:
-                                          items:
-                                            type: string
-                                          type: array
-                                      required:
-                                      - key
-                                      - operator
-                                      type: object
-                                    type: array
+                                  matchLabels:
+                                    additionalProperties:
+                                      type: string
+                                    type: object
                                 type: object
-                              weight:
-                                format: int32
-                                type: integer
+                              namespaces:
+                                items:
+                                  type: string
+                                type: array
+                              topologyKey:
+                                type: string
                             required:
-                            - preference
-                            - weight
+                            - topologyKey
                             type: object
-                          type: array
-                        requiredDuringSchedulingIgnoredDuringExecution:
-                          properties:
-                            nodeSelectorTerms:
-                              items:
-                                properties:
-                                  matchExpressions:
-                                    items:
-                                      properties:
-                                        key:
-                                          type: string
-                                        operator:
-                                          type: string
-                                        values:
-                                          items:
-                                            type: string
-                                          type: array
-                                      required:
-                                      - key
-                                      - operator
-                                      type: object
-                                    type: array
-                                  matchFields:
-                                    items:
-                                      properties:
-                                        key:
-                                          type: string
-                                        operator:
-                                          type: string
-                                        values:
-                                          items:
-                                            type: string
-                                          type: array
-                                      required:
-                                      - key
-                                      - operator
-                                      type: object
-                                    type: array
-                                type: object
-                              type: array
-                          required:
-                          - nodeSelectorTerms
-                          type: object
-                      type: object
-                    podAffinity:
-                      properties:
-                        preferredDuringSchedulingIgnoredDuringExecution:
-                          items:
-                            properties:
-                              podAffinityTerm:
-                                properties:
-                                  labelSelector:
-                                    properties:
-                                      matchExpressions:
-                                        items:
-                                          properties:
-                                            key:
-                                              type: string
-                                            operator:
-                                              type: string
-                                            values:
-                                              items:
-                                                type: string
-                                              type: array
-                                          required:
-                                          - key
-                                          - operator
-                                          type: object
-                                        type: array
-                                      matchLabels:
-                                        additionalProperties:
-                                          type: string
-                                        type: object
-                                    type: object
-                                  namespaces:
-                                    items:
-                                      type: string
-                                    type: array
-                                  topologyKey:
-                                    type: string
-                                required:
-                                - topologyKey
-                                type: object
-                              weight:
-                                format: int32
-                                type: integer
-                            required:
-                            - podAffinityTerm
-                            - weight
-                            type: object
-                          type: array
-                        requiredDuringSchedulingIgnoredDuringExecution:
-                          items:
-                            properties:
-                              labelSelector:
+                          weight:
+                            format: int32
+                            type: integer
+                        required:
+                        - podAffinityTerm
+                        - weight
+                        type: object
+                      type: array
+                    requiredDuringSchedulingIgnoredDuringExecution:
+                      items:
+                        properties:
+                          labelSelector:
+                            properties:
+                              matchExpressions:
+                                items:
+                                  properties:
+                                    key:
+                                      type: string
+                                    operator:
+                                      type: string
+                                    values:
+                                      items:
+                                        type: string
+                                      type: array
+                                  required:
+                                  - key
+                                  - operator
+                                  type: object
+                                type: array
+                              matchLabels:
+                                additionalProperties:
+                                  type: string
+                                type: object
+                            type: object
+                          namespaces:
+                            items:
+                              type: string
+                            type: array
+                          topologyKey:
+                            type: string
+                        required:
+                        - topologyKey
+                        type: object
+                      type: array
+                  type: object
+                podAntiAffinity:
+                  properties:
+                    preferredDuringSchedulingIgnoredDuringExecution:
+                      items:
+                        properties:
+                          podAffinityTerm:
+                            properties:
+                              labelSelector:
                                 properties:
                                   matchExpressions:
                                     items:
@@ -229,1118 +276,229 @@ spec:
                             required:
                             - topologyKey
                             type: object
-                          type: array
-                      type: object
-                    podAntiAffinity:
-                      properties:
-                        preferredDuringSchedulingIgnoredDuringExecution:
-                          items:
+                          weight:
+                            format: int32
+                            type: integer
+                        required:
+                        - podAffinityTerm
+                        - weight
+                        type: object
+                      type: array
+                    requiredDuringSchedulingIgnoredDuringExecution:
+                      items:
+                        properties:
+                          labelSelector:
                             properties:
-                              podAffinityTerm:
-                                properties:
-                                  labelSelector:
-                                    properties:
-                                      matchExpressions:
-                                        items:
-                                          properties:
-                                            key:
-                                              type: string
-                                            operator:
-                                              type: string
-                                            values:
-                                              items:
-                                                type: string
-                                              type: array
-                                          required:
-                                          - key
-                                          - operator
-                                          type: object
-                                        type: array
-                                      matchLabels:
-                                        additionalProperties:
-                                          type: string
-                                        type: object
-                                    type: object
-                                  namespaces:
-                                    items:
+                              matchExpressions:
+                                items:
+                                  properties:
+                                    key:
                                       type: string
-                                    type: array
-                                  topologyKey:
-                                    type: string
-                                required:
-                                - topologyKey
-                                type: object
-                              weight:
-                                format: int32
-                                type: integer
-                            required:
-                            - podAffinityTerm
-                            - weight
-                            type: object
-                          type: array
-                        requiredDuringSchedulingIgnoredDuringExecution:
-                          items:
-                            properties:
-                              labelSelector:
-                                properties:
-                                  matchExpressions:
-                                    items:
-                                      properties:
-                                        key:
-                                          type: string
-                                        operator:
-                                          type: string
-                                        values:
-                                          items:
-                                            type: string
-                                          type: array
-                                      required:
-                                      - key
-                                      - operator
-                                      type: object
-                                    type: array
-                                  matchLabels:
-                                    additionalProperties:
+                                    operator:
                                       type: string
-                                    type: object
-                                type: object
-                              namespaces:
-                                items:
-                                  type: string
+                                    values:
+                                      items:
+                                        type: string
+                                      type: array
+                                  required:
+                                  - key
+                                  - operator
+                                  type: object
                                 type: array
-                              topologyKey:
-                                type: string
-                            required:
-                            - topologyKey
+                              matchLabels:
+                                additionalProperties:
+                                  type: string
+                                type: object
                             type: object
-                          type: array
-                      type: object
-                  type: object
-                azblob:
-                  properties:
-                    accessTier:
-                      type: string
-                    container:
-                      type: string
-                    path:
-                      type: string
-                    prefix:
-                      type: string
-                    secretName:
-                      type: string
-                  type: object
-                backupType:
-                  type: string
-                br:
-                  properties:
-                    checkRequirements:
-                      type: boolean
-                    checksum:
-                      type: boolean
-                    cluster:
-                      type: string
-                    clusterNamespace:
-                      type: string
-                    concurrency:
-                      format: int32
-                      type: integer
-                    db:
-                      type: string
-                    logLevel:
-                      type: string
-                    onLine:
-                      type: boolean
-                    options:
-                      items:
-                        type: string
+                          namespaces:
+                            items:
+                              type: string
+                            type: array
+                          topologyKey:
+                            type: string
+                        required:
+                        - topologyKey
+                        type: object
                       type: array
-                    rateLimit:
-                      type: integer
-                    sendCredToTikv:
-                      type: boolean
-                    statusAddr:
-                      type: string
-                    table:
-                      type: string
-                    timeAgo:
-                      type: string
-                  required:
-                  - cluster
-                  type: object
-                cleanOption:
-                  properties:
-                    batchConcurrency:
-                      format: int32
-                      type: integer
-                    disableBatchConcurrency:
-                      type: boolean
-                    pageSize:
-                      format: int64
-                      type: integer
-                    routineConcurrency:
-                      format: int32
-                      type: integer
                   type: object
-                cleanPolicy:
-                  type: string
-                dumpling:
-                  properties:
-                    options:
-                      items:
-                        type: string
-                      type: array
-                    tableFilter:
-                      items:
-                        type: string
-                      type: array
-                  type: object
-                env:
-                  items:
-                    properties:
-                      name:
-                        type: string
-                      value:
-                        type: string
-                      valueFrom:
-                        properties:
-                          configMapKeyRef:
-                            properties:
-                              key:
-                                type: string
-                              name:
-                                type: string
-                              optional:
-                                type: boolean
-                            required:
-                            - key
-                            type: object
-                          fieldRef:
-                            properties:
-                              apiVersion:
-                                type: string
-                              fieldPath:
-                                type: string
-                            required:
-                            - fieldPath
-                            type: object
-                          resourceFieldRef:
-                            properties:
-                              containerName:
-                                type: string
-                              divisor:
-                                anyOf:
-                                - type: integer
-                                - type: string
-                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                x-kubernetes-int-or-string: true
-                              resource:
-                                type: string
-                            required:
-                            - resource
-                            type: object
-                          secretKeyRef:
-                            properties:
-                              key:
-                                type: string
-                              name:
-                                type: string
-                              optional:
-                                type: boolean
-                            required:
-                            - key
-                            type: object
-                        type: object
-                    required:
-                    - name
-                    type: object
-                  type: array
-                from:
-                  properties:
-                    host:
-                      type: string
-                    port:
-                      format: int32
-                      type: integer
-                    secretName:
-                      type: string
-                    tlsClientSecretName:
-                      type: string
-                    user:
-                      type: string
-                  required:
-                  - host
-                  - secretName
-                  type: object
-                gcs:
-                  properties:
-                    bucket:
-                      type: string
-                    bucketAcl:
-                      type: string
-                    location:
-                      type: string
-                    objectAcl:
-                      type: string
-                    path:
-                      type: string
-                    prefix:
-                      type: string
-                    projectId:
-                      type: string
-                    secretName:
-                      type: string
-                    storageClass:
-                      type: string
-                  required:
-                  - projectId
-                  type: object
-                imagePullSecrets:
-                  items:
-                    properties:
-                      name:
-                        type: string
-                    type: object
-                  type: array
-                local:
-                  properties:
-                    prefix:
-                      type: string
-                    volume:
-                      properties:
-                        awsElasticBlockStore:
-                          properties:
-                            fsType:
-                              type: string
-                            partition:
-                              format: int32
-                              type: integer
-                            readOnly:
-                              type: boolean
-                            volumeID:
-                              type: string
-                          required:
-                          - volumeID
-                          type: object
-                        azureDisk:
-                          properties:
-                            cachingMode:
-                              type: string
-                            diskName:
-                              type: string
-                            diskURI:
-                              type: string
-                            fsType:
-                              type: string
-                            kind:
-                              type: string
-                            readOnly:
-                              type: boolean
-                          required:
-                          - diskName
-                          - diskURI
-                          type: object
-                        azureFile:
-                          properties:
-                            readOnly:
-                              type: boolean
-                            secretName:
-                              type: string
-                            shareName:
-                              type: string
-                          required:
-                          - secretName
-                          - shareName
-                          type: object
-                        cephfs:
-                          properties:
-                            monitors:
-                              items:
-                                type: string
-                              type: array
-                            path:
-                              type: string
-                            readOnly:
-                              type: boolean
-                            secretFile:
-                              type: string
-                            secretRef:
-                              properties:
-                                name:
-                                  type: string
-                              type: object
-                            user:
-                              type: string
-                          required:
-                          - monitors
-                          type: object
-                        cinder:
-                          properties:
-                            fsType:
-                              type: string
-                            readOnly:
-                              type: boolean
-                            secretRef:
-                              properties:
-                                name:
-                                  type: string
-                              type: object
-                            volumeID:
-                              type: string
-                          required:
-                          - volumeID
-                          type: object
-                        configMap:
-                          properties:
-                            defaultMode:
-                              format: int32
-                              type: integer
-                            items:
-                              items:
-                                properties:
-                                  key:
-                                    type: string
-                                  mode:
-                                    format: int32
-                                    type: integer
-                                  path:
-                                    type: string
-                                required:
-                                - key
-                                - path
-                                type: object
-                              type: array
-                            name:
-                              type: string
-                            optional:
-                              type: boolean
-                          type: object
-                        csi:
-                          properties:
-                            driver:
-                              type: string
-                            fsType:
-                              type: string
-                            nodePublishSecretRef:
-                              properties:
-                                name:
-                                  type: string
-                              type: object
-                            readOnly:
-                              type: boolean
-                            volumeAttributes:
-                              additionalProperties:
-                                type: string
-                              type: object
-                          required:
-                          - driver
-                          type: object
-                        downwardAPI:
-                          properties:
-                            defaultMode:
-                              format: int32
-                              type: integer
-                            items:
-                              items:
-                                properties:
-                                  fieldRef:
-                                    properties:
-                                      apiVersion:
-                                        type: string
-                                      fieldPath:
-                                        type: string
-                                    required:
-                                    - fieldPath
-                                    type: object
-                                  mode:
-                                    format: int32
-                                    type: integer
-                                  path:
-                                    type: string
-                                  resourceFieldRef:
-                                    properties:
-                                      containerName:
-                                        type: string
-                                      divisor:
-                                        anyOf:
-                                        - type: integer
-                                        - type: string
-                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                        x-kubernetes-int-or-string: true
-                                      resource:
-                                        type: string
-                                    required:
-                                    - resource
-                                    type: object
-                                required:
-                                - path
-                                type: object
-                              type: array
-                          type: object
-                        emptyDir:
-                          properties:
-                            medium:
-                              type: string
-                            sizeLimit:
-                              anyOf:
-                              - type: integer
-                              - type: string
-                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                              x-kubernetes-int-or-string: true
-                          type: object
-                        ephemeral:
-                          properties:
-                            readOnly:
-                              type: boolean
-                            volumeClaimTemplate:
-                              properties:
-                                metadata:
-                                  type: object
-                                spec:
-                                  properties:
-                                    accessModes:
-                                      items:
-                                        type: string
-                                      type: array
-                                    dataSource:
-                                      properties:
-                                        apiGroup:
-                                          type: string
-                                        kind:
-                                          type: string
-                                        name:
-                                          type: string
-                                      required:
-                                      - kind
-                                      - name
-                                      type: object
-                                    resources:
-                                      properties:
-                                        limits:
-                                          additionalProperties:
-                                            anyOf:
-                                            - type: integer
-                                            - type: string
-                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                            x-kubernetes-int-or-string: true
-                                          type: object
-                                        requests:
-                                          additionalProperties:
-                                            anyOf:
-                                            - type: integer
-                                            - type: string
-                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                            x-kubernetes-int-or-string: true
-                                          type: object
-                                      type: object
-                                    selector:
-                                      properties:
-                                        matchExpressions:
-                                          items:
-                                            properties:
-                                              key:
-                                                type: string
-                                              operator:
-                                                type: string
-                                              values:
-                                                items:
-                                                  type: string
-                                                type: array
-                                            required:
-                                            - key
-                                            - operator
-                                            type: object
-                                          type: array
-                                        matchLabels:
-                                          additionalProperties:
-                                            type: string
-                                          type: object
-                                      type: object
-                                    storageClassName:
-                                      type: string
-                                    volumeMode:
-                                      type: string
-                                    volumeName:
-                                      type: string
-                                  type: object
-                              required:
-                              - spec
-                              type: object
-                          type: object
-                        fc:
-                          properties:
-                            fsType:
-                              type: string
-                            lun:
-                              format: int32
-                              type: integer
-                            readOnly:
-                              type: boolean
-                            targetWWNs:
-                              items:
-                                type: string
-                              type: array
-                            wwids:
-                              items:
-                                type: string
-                              type: array
-                          type: object
-                        flexVolume:
-                          properties:
-                            driver:
-                              type: string
-                            fsType:
-                              type: string
-                            options:
-                              additionalProperties:
-                                type: string
-                              type: object
-                            readOnly:
-                              type: boolean
-                            secretRef:
-                              properties:
-                                name:
-                                  type: string
-                              type: object
-                          required:
-                          - driver
-                          type: object
-                        flocker:
-                          properties:
-                            datasetName:
-                              type: string
-                            datasetUUID:
-                              type: string
-                          type: object
-                        gcePersistentDisk:
-                          properties:
-                            fsType:
-                              type: string
-                            partition:
-                              format: int32
-                              type: integer
-                            pdName:
-                              type: string
-                            readOnly:
-                              type: boolean
-                          required:
-                          - pdName
-                          type: object
-                        gitRepo:
-                          properties:
-                            directory:
-                              type: string
-                            repository:
-                              type: string
-                            revision:
-                              type: string
-                          required:
-                          - repository
-                          type: object
-                        glusterfs:
-                          properties:
-                            endpoints:
-                              type: string
-                            path:
-                              type: string
-                            readOnly:
-                              type: boolean
-                          required:
-                          - endpoints
-                          - path
-                          type: object
-                        hostPath:
-                          properties:
-                            path:
-                              type: string
-                            type:
-                              type: string
-                          required:
-                          - path
-                          type: object
-                        iscsi:
-                          properties:
-                            chapAuthDiscovery:
-                              type: boolean
-                            chapAuthSession:
-                              type: boolean
-                            fsType:
-                              type: string
-                            initiatorName:
-                              type: string
-                            iqn:
-                              type: string
-                            iscsiInterface:
-                              type: string
-                            lun:
-                              format: int32
-                              type: integer
-                            portals:
-                              items:
-                                type: string
-                              type: array
-                            readOnly:
-                              type: boolean
-                            secretRef:
-                              properties:
-                                name:
-                                  type: string
-                              type: object
-                            targetPortal:
-                              type: string
-                          required:
-                          - iqn
-                          - lun
-                          - targetPortal
-                          type: object
-                        name:
-                          type: string
-                        nfs:
-                          properties:
-                            path:
-                              type: string
-                            readOnly:
-                              type: boolean
-                            server:
-                              type: string
-                          required:
-                          - path
-                          - server
-                          type: object
-                        persistentVolumeClaim:
-                          properties:
-                            claimName:
-                              type: string
-                            readOnly:
-                              type: boolean
-                          required:
-                          - claimName
-                          type: object
-                        photonPersistentDisk:
-                          properties:
-                            fsType:
-                              type: string
-                            pdID:
-                              type: string
-                          required:
-                          - pdID
-                          type: object
-                        portworxVolume:
-                          properties:
-                            fsType:
-                              type: string
-                            readOnly:
-                              type: boolean
-                            volumeID:
-                              type: string
-                          required:
-                          - volumeID
-                          type: object
-                        projected:
-                          properties:
-                            defaultMode:
-                              format: int32
-                              type: integer
-                            sources:
-                              items:
-                                properties:
-                                  configMap:
-                                    properties:
-                                      items:
-                                        items:
-                                          properties:
-                                            key:
-                                              type: string
-                                            mode:
-                                              format: int32
-                                              type: integer
-                                            path:
-                                              type: string
-                                          required:
-                                          - key
-                                          - path
-                                          type: object
-                                        type: array
-                                      name:
-                                        type: string
-                                      optional:
-                                        type: boolean
-                                    type: object
-                                  downwardAPI:
-                                    properties:
-                                      items:
-                                        items:
-                                          properties:
-                                            fieldRef:
-                                              properties:
-                                                apiVersion:
-                                                  type: string
-                                                fieldPath:
-                                                  type: string
-                                              required:
-                                              - fieldPath
-                                              type: object
-                                            mode:
-                                              format: int32
-                                              type: integer
-                                            path:
-                                              type: string
-                                            resourceFieldRef:
-                                              properties:
-                                                containerName:
-                                                  type: string
-                                                divisor:
-                                                  anyOf:
-                                                  - type: integer
-                                                  - type: string
-                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                                  x-kubernetes-int-or-string: true
-                                                resource:
-                                                  type: string
-                                              required:
-                                              - resource
-                                              type: object
-                                          required:
-                                          - path
-                                          type: object
-                                        type: array
-                                    type: object
-                                  secret:
-                                    properties:
-                                      items:
-                                        items:
-                                          properties:
-                                            key:
-                                              type: string
-                                            mode:
-                                              format: int32
-                                              type: integer
-                                            path:
-                                              type: string
-                                          required:
-                                          - key
-                                          - path
-                                          type: object
-                                        type: array
-                                      name:
-                                        type: string
-                                      optional:
-                                        type: boolean
-                                    type: object
-                                  serviceAccountToken:
-                                    properties:
-                                      audience:
-                                        type: string
-                                      expirationSeconds:
-                                        format: int64
-                                        type: integer
-                                      path:
-                                        type: string
-                                    required:
-                                    - path
-                                    type: object
-                                type: object
-                              type: array
-                          required:
-                          - sources
-                          type: object
-                        quobyte:
-                          properties:
-                            group:
-                              type: string
-                            readOnly:
-                              type: boolean
-                            registry:
-                              type: string
-                            tenant:
-                              type: string
-                            user:
-                              type: string
-                            volume:
-                              type: string
-                          required:
-                          - registry
-                          - volume
-                          type: object
-                        rbd:
-                          properties:
-                            fsType:
-                              type: string
-                            image:
-                              type: string
-                            keyring:
-                              type: string
-                            monitors:
-                              items:
-                                type: string
-                              type: array
-                            pool:
-                              type: string
-                            readOnly:
-                              type: boolean
-                            secretRef:
-                              properties:
-                                name:
-                                  type: string
-                              type: object
-                            user:
-                              type: string
-                          required:
-                          - image
-                          - monitors
-                          type: object
-                        scaleIO:
-                          properties:
-                            fsType:
-                              type: string
-                            gateway:
-                              type: string
-                            protectionDomain:
-                              type: string
-                            readOnly:
-                              type: boolean
-                            secretRef:
-                              properties:
-                                name:
-                                  type: string
-                              type: object
-                            sslEnabled:
-                              type: boolean
-                            storageMode:
-                              type: string
-                            storagePool:
-                              type: string
-                            system:
-                              type: string
-                            volumeName:
-                              type: string
-                          required:
-                          - gateway
-                          - secretRef
-                          - system
-                          type: object
-                        secret:
-                          properties:
-                            defaultMode:
-                              format: int32
-                              type: integer
-                            items:
-                              items:
-                                properties:
-                                  key:
-                                    type: string
-                                  mode:
-                                    format: int32
-                                    type: integer
-                                  path:
-                                    type: string
-                                required:
-                                - key
-                                - path
-                                type: object
-                              type: array
-                            optional:
-                              type: boolean
-                            secretName:
-                              type: string
-                          type: object
-                        storageos:
-                          properties:
-                            fsType:
-                              type: string
-                            readOnly:
-                              type: boolean
-                            secretRef:
-                              properties:
-                                name:
-                                  type: string
-                              type: object
-                            volumeName:
-                              type: string
-                            volumeNamespace:
-                              type: string
-                          type: object
-                        vsphereVolume:
-                          properties:
-                            fsType:
-                              type: string
-                            storagePolicyID:
-                              type: string
-                            storagePolicyName:
-                              type: string
-                            volumePath:
-                              type: string
-                          required:
-                          - volumePath
-                          type: object
-                      required:
-                      - name
-                      type: object
-                    volumeMount:
-                      properties:
-                        mountPath:
-                          type: string
-                        mountPropagation:
-                          type: string
-                        name:
-                          type: string
-                        readOnly:
-                          type: boolean
-                        subPath:
-                          type: string
-                        subPathExpr:
-                          type: string
-                      required:
-                      - mountPath
-                      - name
-                      type: object
-                  required:
-                  - volume
-                  - volumeMount
-                  type: object
-                podSecurityContext:
-                  properties:
-                    fsGroup:
-                      format: int64
-                      type: integer
-                    fsGroupChangePolicy:
-                      type: string
-                    runAsGroup:
-                      format: int64
-                      type: integer
-                    runAsNonRoot:
-                      type: boolean
-                    runAsUser:
-                      format: int64
-                      type: integer
-                    seLinuxOptions:
-                      properties:
-                        level:
-                          type: string
-                        role:
-                          type: string
-                        type:
-                          type: string
-                        user:
-                          type: string
-                      type: object
-                    seccompProfile:
-                      properties:
-                        localhostProfile:
-                          type: string
-                        type:
-                          type: string
-                      required:
-                      - type
-                      type: object
-                    supplementalGroups:
-                      items:
-                        format: int64
-                        type: integer
-                      type: array
-                    sysctls:
-                      items:
+              type: object
+            azblob:
+              properties:
+                accessTier:
+                  type: string
+                container:
+                  type: string
+                path:
+                  type: string
+                prefix:
+                  type: string
+                secretName:
+                  type: string
+              type: object
+            backupType:
+              type: string
+            br:
+              properties:
+                checkRequirements:
+                  type: boolean
+                checksum:
+                  type: boolean
+                cluster:
+                  type: string
+                clusterNamespace:
+                  type: string
+                concurrency:
+                  format: int32
+                  type: integer
+                db:
+                  type: string
+                logLevel:
+                  type: string
+                onLine:
+                  type: boolean
+                options:
+                  items:
+                    type: string
+                  type: array
+                rateLimit:
+                  type: integer
+                sendCredToTikv:
+                  type: boolean
+                statusAddr:
+                  type: string
+                table:
+                  type: string
+                timeAgo:
+                  type: string
+              required:
+              - cluster
+              type: object
+            cleanOption:
+              properties:
+                batchConcurrency:
+                  format: int32
+                  type: integer
+                disableBatchConcurrency:
+                  type: boolean
+                pageSize:
+                  format: int64
+                  type: integer
+                routineConcurrency:
+                  format: int32
+                  type: integer
+              type: object
+            cleanPolicy:
+              type: string
+            dumpling:
+              properties:
+                options:
+                  items:
+                    type: string
+                  type: array
+                tableFilter:
+                  items:
+                    type: string
+                  type: array
+              type: object
+            env:
+              items:
+                properties:
+                  name:
+                    type: string
+                  value:
+                    type: string
+                  valueFrom:
+                    properties:
+                      configMapKeyRef:
                         properties:
+                          key:
+                            type: string
                           name:
                             type: string
-                          value:
+                          optional:
+                            type: boolean
+                        required:
+                        - key
+                        type: object
+                      fieldRef:
+                        properties:
+                          apiVersion:
+                            type: string
+                          fieldPath:
                             type: string
                         required:
-                        - name
-                        - value
+                        - fieldPath
                         type: object
-                      type: array
-                    windowsOptions:
-                      properties:
-                        gmsaCredentialSpec:
-                          type: string
-                        gmsaCredentialSpecName:
-                          type: string
-                        runAsUserName:
-                          type: string
-                      type: object
-                  type: object
-                priorityClassName:
-                  type: string
-                resources:
-                  properties:
-                    limits:
-                      additionalProperties:
-                        anyOf:
-                        - type: integer
-                        - type: string
-                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                        x-kubernetes-int-or-string: true
-                      type: object
-                    requests:
-                      additionalProperties:
-                        anyOf:
-                        - type: integer
-                        - type: string
-                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                        x-kubernetes-int-or-string: true
-                      type: object
-                  type: object
-                s3:
-                  properties:
-                    acl:
-                      type: string
-                    bucket:
-                      type: string
-                    endpoint:
-                      type: string
-                    options:
-                      items:
-                        type: string
-                      type: array
-                    path:
-                      type: string
-                    prefix:
-                      type: string
-                    provider:
-                      type: string
-                    region:
-                      type: string
-                    secretName:
-                      type: string
-                    sse:
-                      type: string
-                    storageClass:
-                      type: string
-                  required:
-                  - provider
-                  type: object
-                serviceAccount:
+                      resourceFieldRef:
+                        properties:
+                          containerName:
+                            type: string
+                          divisor:
+                            anyOf:
+                            - type: integer
+                            - type: string
+                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                            x-kubernetes-int-or-string: true
+                          resource:
+                            type: string
+                        required:
+                        - resource
+                        type: object
+                      secretKeyRef:
+                        properties:
+                          key:
+                            type: string
+                          name:
+                            type: string
+                          optional:
+                            type: boolean
+                        required:
+                        - key
+                        type: object
+                    type: object
+                required:
+                - name
+                type: object
+              type: array
+            from:
+              properties:
+                host:
                   type: string
-                storageClassName:
+                port:
+                  format: int32
+                  type: integer
+                secretName:
                   type: string
-                storageSize:
+                tlsClientSecretName:
                   type: string
-                tableFilter:
-                  items:
-                    type: string
-                  type: array
-                tikvGCLifeTime:
+                user:
                   type: string
-                tolerations:
-                  items:
-                    properties:
-                      effect:
-                        type: string
-                      key:
-                        type: string
-                      operator:
-                        type: string
-                      tolerationSeconds:
-                        format: int64
-                        type: integer
-                      value:
-                        type: string
-                    type: object
-                  type: array
-                toolImage:
+              required:
+              - host
+              - secretName
+              type: object
+            gcs:
+              properties:
+                bucket:
                   type: string
-                useKMS:
-                  type: boolean
+                bucketAcl:
+                  type: string
+                location:
+                  type: string
+                objectAcl:
+                  type: string
+                path:
+                  type: string
+                prefix:
+                  type: string
+                projectId:
+                  type: string
+                secretName:
+                  type: string
+                storageClass:
+                  type: string
+              required:
+              - projectId
               type: object
             imagePullSecrets:
               items:
@@ -1349,1440 +507,2282 @@ spec:
                     type: string
                 type: object
               type: array
-            maxBackups:
-              format: int32
-              type: integer
-            maxReservedTime:
-              type: string
-            pause:
-              type: boolean
-            schedule:
-              type: string
-            storageClassName:
-              type: string
-            storageSize:
-              type: string
-          required:
-          - backupTemplate
-          - schedule
-          type: object
-        status:
-          properties:
-            allBackupCleanTime:
-              format: date-time
-              type: string
-            lastBackup:
-              type: string
-            lastBackupTime:
-              format: date-time
-              type: string
-          type: object
-      required:
-      - metadata
-      - spec
-      type: object
-  version: v1alpha1
-  versions:
-  - name: v1alpha1
-    served: true
-    storage: true
-status:
-  acceptedNames:
-    kind: ""
-    plural: ""
-  conditions: []
-  storedVersions: []
-
----
-apiVersion: apiextensions.k8s.io/v1beta1
-kind: CustomResourceDefinition
-metadata:
-  annotations:
-    controller-gen.kubebuilder.io/version: v0.6.2
-  creationTimestamp: null
-  name: backups.pingcap.com
-spec:
-  additionalPrinterColumns:
-  - JSONPath: .status.phase
-    description: The current status of the backup
-    name: Status
-    type: string
-  - JSONPath: .status.backupPath
-    description: The full path of backup data
-    name: BackupPath
-    type: string
-  - JSONPath: .status.backupSizeReadable
-    description: The data size of the backup
-    name: BackupSize
-    type: string
-  - JSONPath: .status.commitTs
-    description: The commit ts of tidb cluster dump
-    name: CommitTS
-    type: string
-  - JSONPath: .status.timeStarted
-    description: The time at which the backup was started
-    name: Started
-    priority: 1
-    type: date
-  - JSONPath: .status.timeCompleted
-    description: The time at which the backup was completed
-    name: Completed
-    priority: 1
-    type: date
-  - JSONPath: .metadata.creationTimestamp
-    name: Age
-    type: date
-  group: pingcap.com
-  names:
-    kind: Backup
-    listKind: BackupList
-    plural: backups
-    shortNames:
-    - bk
-    singular: backup
-  preserveUnknownFields: false
-  scope: Namespaced
-  subresources: {}
-  validation:
-    openAPIV3Schema:
-      properties:
-        apiVersion:
-          type: string
-        kind:
-          type: string
-        metadata:
-          type: object
-        spec:
-          properties:
-            affinity:
+            local:
               properties:
-                nodeAffinity:
+                prefix:
+                  type: string
+                volume:
                   properties:
-                    preferredDuringSchedulingIgnoredDuringExecution:
-                      items:
-                        properties:
-                          preference:
+                    awsElasticBlockStore:
+                      properties:
+                        fsType:
+                          type: string
+                        partition:
+                          format: int32
+                          type: integer
+                        readOnly:
+                          type: boolean
+                        volumeID:
+                          type: string
+                      required:
+                      - volumeID
+                      type: object
+                    azureDisk:
+                      properties:
+                        cachingMode:
+                          type: string
+                        diskName:
+                          type: string
+                        diskURI:
+                          type: string
+                        fsType:
+                          type: string
+                        kind:
+                          type: string
+                        readOnly:
+                          type: boolean
+                      required:
+                      - diskName
+                      - diskURI
+                      type: object
+                    azureFile:
+                      properties:
+                        readOnly:
+                          type: boolean
+                        secretName:
+                          type: string
+                        shareName:
+                          type: string
+                      required:
+                      - secretName
+                      - shareName
+                      type: object
+                    cephfs:
+                      properties:
+                        monitors:
+                          items:
+                            type: string
+                          type: array
+                        path:
+                          type: string
+                        readOnly:
+                          type: boolean
+                        secretFile:
+                          type: string
+                        secretRef:
+                          properties:
+                            name:
+                              type: string
+                          type: object
+                        user:
+                          type: string
+                      required:
+                      - monitors
+                      type: object
+                    cinder:
+                      properties:
+                        fsType:
+                          type: string
+                        readOnly:
+                          type: boolean
+                        secretRef:
+                          properties:
+                            name:
+                              type: string
+                          type: object
+                        volumeID:
+                          type: string
+                      required:
+                      - volumeID
+                      type: object
+                    configMap:
+                      properties:
+                        defaultMode:
+                          format: int32
+                          type: integer
+                        items:
+                          items:
                             properties:
-                              matchExpressions:
-                                items:
+                              key:
+                                type: string
+                              mode:
+                                format: int32
+                                type: integer
+                              path:
+                                type: string
+                            required:
+                            - key
+                            - path
+                            type: object
+                          type: array
+                        name:
+                          type: string
+                        optional:
+                          type: boolean
+                      type: object
+                    csi:
+                      properties:
+                        driver:
+                          type: string
+                        fsType:
+                          type: string
+                        nodePublishSecretRef:
+                          properties:
+                            name:
+                              type: string
+                          type: object
+                        readOnly:
+                          type: boolean
+                        volumeAttributes:
+                          additionalProperties:
+                            type: string
+                          type: object
+                      required:
+                      - driver
+                      type: object
+                    downwardAPI:
+                      properties:
+                        defaultMode:
+                          format: int32
+                          type: integer
+                        items:
+                          items:
+                            properties:
+                              fieldRef:
+                                properties:
+                                  apiVersion:
+                                    type: string
+                                  fieldPath:
+                                    type: string
+                                required:
+                                - fieldPath
+                                type: object
+                              mode:
+                                format: int32
+                                type: integer
+                              path:
+                                type: string
+                              resourceFieldRef:
+                                properties:
+                                  containerName:
+                                    type: string
+                                  divisor:
+                                    anyOf:
+                                    - type: integer
+                                    - type: string
+                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                    x-kubernetes-int-or-string: true
+                                  resource:
+                                    type: string
+                                required:
+                                - resource
+                                type: object
+                            required:
+                            - path
+                            type: object
+                          type: array
+                      type: object
+                    emptyDir:
+                      properties:
+                        medium:
+                          type: string
+                        sizeLimit:
+                          anyOf:
+                          - type: integer
+                          - type: string
+                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                          x-kubernetes-int-or-string: true
+                      type: object
+                    ephemeral:
+                      properties:
+                        readOnly:
+                          type: boolean
+                        volumeClaimTemplate:
+                          properties:
+                            metadata:
+                              type: object
+                            spec:
+                              properties:
+                                accessModes:
+                                  items:
+                                    type: string
+                                  type: array
+                                dataSource:
                                   properties:
-                                    key:
+                                    apiGroup:
                                       type: string
-                                    operator:
+                                    kind:
+                                      type: string
+                                    name:
                                       type: string
-                                    values:
-                                      items:
-                                        type: string
-                                      type: array
                                   required:
-                                  - key
-                                  - operator
+                                  - kind
+                                  - name
                                   type: object
-                                type: array
-                              matchFields:
-                                items:
+                                resources:
                                   properties:
-                                    key:
-                                      type: string
-                                    operator:
-                                      type: string
-                                    values:
+                                    limits:
+                                      additionalProperties:
+                                        anyOf:
+                                        - type: integer
+                                        - type: string
+                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                        x-kubernetes-int-or-string: true
+                                      type: object
+                                    requests:
+                                      additionalProperties:
+                                        anyOf:
+                                        - type: integer
+                                        - type: string
+                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                        x-kubernetes-int-or-string: true
+                                      type: object
+                                  type: object
+                                selector:
+                                  properties:
+                                    matchExpressions:
                                       items:
-                                        type: string
+                                        properties:
+                                          key:
+                                            type: string
+                                          operator:
+                                            type: string
+                                          values:
+                                            items:
+                                              type: string
+                                            type: array
+                                        required:
+                                        - key
+                                        - operator
+                                        type: object
                                       type: array
-                                  required:
-                                  - key
-                                  - operator
+                                    matchLabels:
+                                      additionalProperties:
+                                        type: string
+                                      type: object
                                   type: object
-                                type: array
-                            type: object
-                          weight:
-                            format: int32
-                            type: integer
-                        required:
-                        - preference
-                        - weight
-                        type: object
-                      type: array
-                    requiredDuringSchedulingIgnoredDuringExecution:
+                                storageClassName:
+                                  type: string
+                                volumeMode:
+                                  type: string
+                                volumeName:
+                                  type: string
+                              type: object
+                          required:
+                          - spec
+                          type: object
+                      type: object
+                    fc:
+                      properties:
+                        fsType:
+                          type: string
+                        lun:
+                          format: int32
+                          type: integer
+                        readOnly:
+                          type: boolean
+                        targetWWNs:
+                          items:
+                            type: string
+                          type: array
+                        wwids:
+                          items:
+                            type: string
+                          type: array
+                      type: object
+                    flexVolume:
+                      properties:
+                        driver:
+                          type: string
+                        fsType:
+                          type: string
+                        options:
+                          additionalProperties:
+                            type: string
+                          type: object
+                        readOnly:
+                          type: boolean
+                        secretRef:
+                          properties:
+                            name:
+                              type: string
+                          type: object
+                      required:
+                      - driver
+                      type: object
+                    flocker:
+                      properties:
+                        datasetName:
+                          type: string
+                        datasetUUID:
+                          type: string
+                      type: object
+                    gcePersistentDisk:
+                      properties:
+                        fsType:
+                          type: string
+                        partition:
+                          format: int32
+                          type: integer
+                        pdName:
+                          type: string
+                        readOnly:
+                          type: boolean
+                      required:
+                      - pdName
+                      type: object
+                    gitRepo:
                       properties:
-                        nodeSelectorTerms:
+                        directory:
+                          type: string
+                        repository:
+                          type: string
+                        revision:
+                          type: string
+                      required:
+                      - repository
+                      type: object
+                    glusterfs:
+                      properties:
+                        endpoints:
+                          type: string
+                        path:
+                          type: string
+                        readOnly:
+                          type: boolean
+                      required:
+                      - endpoints
+                      - path
+                      type: object
+                    hostPath:
+                      properties:
+                        path:
+                          type: string
+                        type:
+                          type: string
+                      required:
+                      - path
+                      type: object
+                    iscsi:
+                      properties:
+                        chapAuthDiscovery:
+                          type: boolean
+                        chapAuthSession:
+                          type: boolean
+                        fsType:
+                          type: string
+                        initiatorName:
+                          type: string
+                        iqn:
+                          type: string
+                        iscsiInterface:
+                          type: string
+                        lun:
+                          format: int32
+                          type: integer
+                        portals:
                           items:
-                            properties:
-                              matchExpressions:
-                                items:
-                                  properties:
-                                    key:
-                                      type: string
-                                    operator:
-                                      type: string
-                                    values:
-                                      items:
-                                        type: string
-                                      type: array
-                                  required:
-                                  - key
-                                  - operator
-                                  type: object
-                                type: array
-                              matchFields:
-                                items:
-                                  properties:
-                                    key:
-                                      type: string
-                                    operator:
-                                      type: string
-                                    values:
-                                      items:
-                                        type: string
-                                      type: array
-                                  required:
-                                  - key
-                                  - operator
-                                  type: object
-                                type: array
-                            type: object
+                            type: string
                           type: array
+                        readOnly:
+                          type: boolean
+                        secretRef:
+                          properties:
+                            name:
+                              type: string
+                          type: object
+                        targetPortal:
+                          type: string
                       required:
-                      - nodeSelectorTerms
+                      - iqn
+                      - lun
+                      - targetPortal
                       type: object
-                  type: object
-                podAffinity:
-                  properties:
-                    preferredDuringSchedulingIgnoredDuringExecution:
-                      items:
-                        properties:
-                          podAffinityTerm:
+                    name:
+                      type: string
+                    nfs:
+                      properties:
+                        path:
+                          type: string
+                        readOnly:
+                          type: boolean
+                        server:
+                          type: string
+                      required:
+                      - path
+                      - server
+                      type: object
+                    persistentVolumeClaim:
+                      properties:
+                        claimName:
+                          type: string
+                        readOnly:
+                          type: boolean
+                      required:
+                      - claimName
+                      type: object
+                    photonPersistentDisk:
+                      properties:
+                        fsType:
+                          type: string
+                        pdID:
+                          type: string
+                      required:
+                      - pdID
+                      type: object
+                    portworxVolume:
+                      properties:
+                        fsType:
+                          type: string
+                        readOnly:
+                          type: boolean
+                        volumeID:
+                          type: string
+                      required:
+                      - volumeID
+                      type: object
+                    projected:
+                      properties:
+                        defaultMode:
+                          format: int32
+                          type: integer
+                        sources:
+                          items:
                             properties:
-                              labelSelector:
+                              configMap:
                                 properties:
-                                  matchExpressions:
+                                  items:
                                     items:
                                       properties:
                                         key:
                                           type: string
-                                        operator:
+                                        mode:
+                                          format: int32
+                                          type: integer
+                                        path:
                                           type: string
-                                        values:
-                                          items:
-                                            type: string
-                                          type: array
                                       required:
                                       - key
-                                      - operator
+                                      - path
                                       type: object
                                     type: array
-                                  matchLabels:
-                                    additionalProperties:
-                                      type: string
-                                    type: object
+                                  name:
+                                    type: string
+                                  optional:
+                                    type: boolean
                                 type: object
-                              namespaces:
-                                items:
-                                  type: string
-                                type: array
-                              topologyKey:
-                                type: string
-                            required:
-                            - topologyKey
-                            type: object
-                          weight:
-                            format: int32
-                            type: integer
-                        required:
-                        - podAffinityTerm
-                        - weight
-                        type: object
-                      type: array
-                    requiredDuringSchedulingIgnoredDuringExecution:
-                      items:
-                        properties:
-                          labelSelector:
-                            properties:
-                              matchExpressions:
-                                items:
-                                  properties:
-                                    key:
-                                      type: string
-                                    operator:
-                                      type: string
-                                    values:
-                                      items:
-                                        type: string
-                                      type: array
-                                  required:
-                                  - key
-                                  - operator
-                                  type: object
-                                type: array
-                              matchLabels:
-                                additionalProperties:
-                                  type: string
+                              downwardAPI:
+                                properties:
+                                  items:
+                                    items:
+                                      properties:
+                                        fieldRef:
+                                          properties:
+                                            apiVersion:
+                                              type: string
+                                            fieldPath:
+                                              type: string
+                                          required:
+                                          - fieldPath
+                                          type: object
+                                        mode:
+                                          format: int32
+                                          type: integer
+                                        path:
+                                          type: string
+                                        resourceFieldRef:
+                                          properties:
+                                            containerName:
+                                              type: string
+                                            divisor:
+                                              anyOf:
+                                              - type: integer
+                                              - type: string
+                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                              x-kubernetes-int-or-string: true
+                                            resource:
+                                              type: string
+                                          required:
+                                          - resource
+                                          type: object
+                                      required:
+                                      - path
+                                      type: object
+                                    type: array
                                 type: object
-                            type: object
-                          namespaces:
-                            items:
-                              type: string
-                            type: array
-                          topologyKey:
-                            type: string
-                        required:
-                        - topologyKey
-                        type: object
-                      type: array
-                  type: object
-                podAntiAffinity:
-                  properties:
-                    preferredDuringSchedulingIgnoredDuringExecution:
-                      items:
-                        properties:
-                          podAffinityTerm:
-                            properties:
-                              labelSelector:
+                              secret:
                                 properties:
-                                  matchExpressions:
+                                  items:
                                     items:
                                       properties:
                                         key:
                                           type: string
-                                        operator:
+                                        mode:
+                                          format: int32
+                                          type: integer
+                                        path:
                                           type: string
-                                        values:
-                                          items:
-                                            type: string
-                                          type: array
                                       required:
                                       - key
-                                      - operator
+                                      - path
                                       type: object
                                     type: array
-                                  matchLabels:
-                                    additionalProperties:
-                                      type: string
-                                    type: object
+                                  name:
+                                    type: string
+                                  optional:
+                                    type: boolean
+                                type: object
+                              serviceAccountToken:
+                                properties:
+                                  audience:
+                                    type: string
+                                  expirationSeconds:
+                                    format: int64
+                                    type: integer
+                                  path:
+                                    type: string
+                                required:
+                                - path
                                 type: object
-                              namespaces:
-                                items:
-                                  type: string
-                                type: array
-                              topologyKey:
-                                type: string
-                            required:
-                            - topologyKey
                             type: object
-                          weight:
-                            format: int32
-                            type: integer
-                        required:
-                        - podAffinityTerm
-                        - weight
-                        type: object
-                      type: array
-                    requiredDuringSchedulingIgnoredDuringExecution:
-                      items:
-                        properties:
-                          labelSelector:
+                          type: array
+                      required:
+                      - sources
+                      type: object
+                    quobyte:
+                      properties:
+                        group:
+                          type: string
+                        readOnly:
+                          type: boolean
+                        registry:
+                          type: string
+                        tenant:
+                          type: string
+                        user:
+                          type: string
+                        volume:
+                          type: string
+                      required:
+                      - registry
+                      - volume
+                      type: object
+                    rbd:
+                      properties:
+                        fsType:
+                          type: string
+                        image:
+                          type: string
+                        keyring:
+                          type: string
+                        monitors:
+                          items:
+                            type: string
+                          type: array
+                        pool:
+                          type: string
+                        readOnly:
+                          type: boolean
+                        secretRef:
+                          properties:
+                            name:
+                              type: string
+                          type: object
+                        user:
+                          type: string
+                      required:
+                      - image
+                      - monitors
+                      type: object
+                    scaleIO:
+                      properties:
+                        fsType:
+                          type: string
+                        gateway:
+                          type: string
+                        protectionDomain:
+                          type: string
+                        readOnly:
+                          type: boolean
+                        secretRef:
+                          properties:
+                            name:
+                              type: string
+                          type: object
+                        sslEnabled:
+                          type: boolean
+                        storageMode:
+                          type: string
+                        storagePool:
+                          type: string
+                        system:
+                          type: string
+                        volumeName:
+                          type: string
+                      required:
+                      - gateway
+                      - secretRef
+                      - system
+                      type: object
+                    secret:
+                      properties:
+                        defaultMode:
+                          format: int32
+                          type: integer
+                        items:
+                          items:
                             properties:
-                              matchExpressions:
-                                items:
-                                  properties:
-                                    key:
-                                      type: string
-                                    operator:
-                                      type: string
-                                    values:
-                                      items:
-                                        type: string
-                                      type: array
-                                  required:
-                                  - key
-                                  - operator
-                                  type: object
-                                type: array
-                              matchLabels:
-                                additionalProperties:
-                                  type: string
-                                type: object
+                              key:
+                                type: string
+                              mode:
+                                format: int32
+                                type: integer
+                              path:
+                                type: string
+                            required:
+                            - key
+                            - path
                             type: object
-                          namespaces:
-                            items:
+                          type: array
+                        optional:
+                          type: boolean
+                        secretName:
+                          type: string
+                      type: object
+                    storageos:
+                      properties:
+                        fsType:
+                          type: string
+                        readOnly:
+                          type: boolean
+                        secretRef:
+                          properties:
+                            name:
                               type: string
-                            type: array
-                          topologyKey:
-                            type: string
-                        required:
-                        - topologyKey
-                        type: object
-                      type: array
+                          type: object
+                        volumeName:
+                          type: string
+                        volumeNamespace:
+                          type: string
+                      type: object
+                    vsphereVolume:
+                      properties:
+                        fsType:
+                          type: string
+                        storagePolicyID:
+                          type: string
+                        storagePolicyName:
+                          type: string
+                        volumePath:
+                          type: string
+                      required:
+                      - volumePath
+                      type: object
+                  required:
+                  - name
+                  type: object
+                volumeMount:
+                  properties:
+                    mountPath:
+                      type: string
+                    mountPropagation:
+                      type: string
+                    name:
+                      type: string
+                    readOnly:
+                      type: boolean
+                    subPath:
+                      type: string
+                    subPathExpr:
+                      type: string
+                  required:
+                  - mountPath
+                  - name
                   type: object
+              required:
+              - volume
+              - volumeMount
               type: object
-            azblob:
-              properties:
-                accessTier:
-                  type: string
-                container:
-                  type: string
-                path:
-                  type: string
-                prefix:
-                  type: string
-                secretName:
-                  type: string
-              type: object
-            backupType:
-              type: string
-            br:
+            podSecurityContext:
               properties:
-                checkRequirements:
-                  type: boolean
-                checksum:
-                  type: boolean
-                cluster:
-                  type: string
-                clusterNamespace:
-                  type: string
-                concurrency:
-                  format: int32
-                  type: integer
-                db:
-                  type: string
-                logLevel:
-                  type: string
-                onLine:
-                  type: boolean
-                options:
-                  items:
-                    type: string
-                  type: array
-                rateLimit:
+                fsGroup:
+                  format: int64
                   type: integer
-                sendCredToTikv:
-                  type: boolean
-                statusAddr:
-                  type: string
-                table:
-                  type: string
-                timeAgo:
+                fsGroupChangePolicy:
                   type: string
-              required:
-              - cluster
-              type: object
-            cleanOption:
-              properties:
-                batchConcurrency:
-                  format: int32
+                runAsGroup:
+                  format: int64
                   type: integer
-                disableBatchConcurrency:
+                runAsNonRoot:
                   type: boolean
-                pageSize:
+                runAsUser:
                   format: int64
                   type: integer
-                routineConcurrency:
-                  format: int32
-                  type: integer
-              type: object
-            cleanPolicy:
-              type: string
-            dumpling:
-              properties:
-                options:
+                seLinuxOptions:
+                  properties:
+                    level:
+                      type: string
+                    role:
+                      type: string
+                    type:
+                      type: string
+                    user:
+                      type: string
+                  type: object
+                seccompProfile:
+                  properties:
+                    localhostProfile:
+                      type: string
+                    type:
+                      type: string
+                  required:
+                  - type
+                  type: object
+                supplementalGroups:
                   items:
-                    type: string
+                    format: int64
+                    type: integer
                   type: array
-                tableFilter:
+                sysctls:
                   items:
-                    type: string
-                  type: array
-              type: object
-            env:
-              items:
-                properties:
-                  name:
-                    type: string
-                  value:
-                    type: string
-                  valueFrom:
                     properties:
-                      configMapKeyRef:
-                        properties:
-                          key:
-                            type: string
-                          name:
-                            type: string
-                          optional:
-                            type: boolean
-                        required:
-                        - key
-                        type: object
-                      fieldRef:
-                        properties:
-                          apiVersion:
-                            type: string
-                          fieldPath:
-                            type: string
-                        required:
-                        - fieldPath
-                        type: object
-                      resourceFieldRef:
-                        properties:
-                          containerName:
-                            type: string
-                          divisor:
-                            anyOf:
-                            - type: integer
-                            - type: string
-                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                            x-kubernetes-int-or-string: true
-                          resource:
-                            type: string
-                        required:
-                        - resource
-                        type: object
-                      secretKeyRef:
-                        properties:
-                          key:
-                            type: string
-                          name:
-                            type: string
-                          optional:
-                            type: boolean
-                        required:
-                        - key
-                        type: object
+                      name:
+                        type: string
+                      value:
+                        type: string
+                    required:
+                    - name
+                    - value
                     type: object
-                required:
-                - name
-                type: object
-              type: array
-            from:
+                  type: array
+                windowsOptions:
+                  properties:
+                    gmsaCredentialSpec:
+                      type: string
+                    gmsaCredentialSpecName:
+                      type: string
+                    runAsUserName:
+                      type: string
+                  type: object
+              type: object
+            priorityClassName:
+              type: string
+            resources:
               properties:
-                host:
-                  type: string
-                port:
-                  format: int32
-                  type: integer
-                secretName:
-                  type: string
-                tlsClientSecretName:
-                  type: string
-                user:
-                  type: string
-              required:
-              - host
-              - secretName
+                limits:
+                  additionalProperties:
+                    anyOf:
+                    - type: integer
+                    - type: string
+                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                    x-kubernetes-int-or-string: true
+                  type: object
+                requests:
+                  additionalProperties:
+                    anyOf:
+                    - type: integer
+                    - type: string
+                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                    x-kubernetes-int-or-string: true
+                  type: object
               type: object
-            gcs:
+            s3:
               properties:
-                bucket:
-                  type: string
-                bucketAcl:
+                acl:
                   type: string
-                location:
+                bucket:
                   type: string
-                objectAcl:
+                endpoint:
                   type: string
+                options:
+                  items:
+                    type: string
+                  type: array
                 path:
                   type: string
                 prefix:
                   type: string
-                projectId:
+                provider:
+                  type: string
+                region:
                   type: string
                 secretName:
                   type: string
+                sse:
+                  type: string
                 storageClass:
                   type: string
               required:
-              - projectId
+              - provider
               type: object
-            imagePullSecrets:
+            serviceAccount:
+              type: string
+            storageClassName:
+              type: string
+            storageSize:
+              type: string
+            tableFilter:
+              items:
+                type: string
+              type: array
+            tikvGCLifeTime:
+              type: string
+            tolerations:
+              items:
+                properties:
+                  effect:
+                    type: string
+                  key:
+                    type: string
+                  operator:
+                    type: string
+                  tolerationSeconds:
+                    format: int64
+                    type: integer
+                  value:
+                    type: string
+                type: object
+              type: array
+            toolImage:
+              type: string
+            useKMS:
+              type: boolean
+          type: object
+        status:
+          properties:
+            backupPath:
+              type: string
+            backupSize:
+              format: int64
+              type: integer
+            backupSizeReadable:
+              type: string
+            commitTs:
+              type: string
+            conditions:
               items:
                 properties:
-                  name:
+                  lastTransitionTime:
+                    format: date-time
+                    nullable: true
+                    type: string
+                  message:
+                    type: string
+                  reason:
+                    type: string
+                  status:
+                    type: string
+                  type:
                     type: string
+                required:
+                - status
+                - type
                 type: object
+              nullable: true
               type: array
-            local:
+            phase:
+              type: string
+            timeCompleted:
+              format: date-time
+              nullable: true
+              type: string
+            timeStarted:
+              format: date-time
+              nullable: true
+              type: string
+          type: object
+      required:
+      - metadata
+      - spec
+      type: object
+  version: v1alpha1
+  versions:
+  - name: v1alpha1
+    served: true
+    storage: true
+status:
+  acceptedNames:
+    kind: ""
+    plural: ""
+  conditions: []
+  storedVersions: []
+
+---
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+  annotations:
+    controller-gen.kubebuilder.io/version: v0.6.2
+  creationTimestamp: null
+  name: backupschedules.pingcap.com
+spec:
+  additionalPrinterColumns:
+  - JSONPath: .spec.schedule
+    description: The cron format string used for backup scheduling
+    name: Schedule
+    type: string
+  - JSONPath: .spec.maxBackups
+    description: The max number of backups we want to keep
+    name: MaxBackups
+    type: integer
+  - JSONPath: .status.lastBackup
+    description: The last backup CR name
+    name: LastBackup
+    priority: 1
+    type: string
+  - JSONPath: .status.lastBackupTime
+    description: The last time the backup was successfully created
+    name: LastBackupTime
+    priority: 1
+    type: date
+  - JSONPath: .metadata.creationTimestamp
+    name: Age
+    type: date
+  group: pingcap.com
+  names:
+    kind: BackupSchedule
+    listKind: BackupScheduleList
+    plural: backupschedules
+    shortNames:
+    - bks
+    singular: backupschedule
+  preserveUnknownFields: false
+  scope: Namespaced
+  subresources: {}
+  validation:
+    openAPIV3Schema:
+      properties:
+        apiVersion:
+          type: string
+        kind:
+          type: string
+        metadata:
+          type: object
+        spec:
+          properties:
+            backupTemplate:
               properties:
-                prefix:
-                  type: string
-                volume:
+                affinity:
                   properties:
-                    awsElasticBlockStore:
-                      properties:
-                        fsType:
-                          type: string
-                        partition:
-                          format: int32
-                          type: integer
-                        readOnly:
-                          type: boolean
-                        volumeID:
-                          type: string
-                      required:
-                      - volumeID
-                      type: object
-                    azureDisk:
-                      properties:
-                        cachingMode:
-                          type: string
-                        diskName:
-                          type: string
-                        diskURI:
-                          type: string
-                        fsType:
-                          type: string
-                        kind:
-                          type: string
-                        readOnly:
-                          type: boolean
-                      required:
-                      - diskName
-                      - diskURI
-                      type: object
-                    azureFile:
+                    nodeAffinity:
                       properties:
-                        readOnly:
-                          type: boolean
-                        secretName:
-                          type: string
-                        shareName:
-                          type: string
-                      required:
-                      - secretName
-                      - shareName
+                        preferredDuringSchedulingIgnoredDuringExecution:
+                          items:
+                            properties:
+                              preference:
+                                properties:
+                                  matchExpressions:
+                                    items:
+                                      properties:
+                                        key:
+                                          type: string
+                                        operator:
+                                          type: string
+                                        values:
+                                          items:
+                                            type: string
+                                          type: array
+                                      required:
+                                      - key
+                                      - operator
+                                      type: object
+                                    type: array
+                                  matchFields:
+                                    items:
+                                      properties:
+                                        key:
+                                          type: string
+                                        operator:
+                                          type: string
+                                        values:
+                                          items:
+                                            type: string
+                                          type: array
+                                      required:
+                                      - key
+                                      - operator
+                                      type: object
+                                    type: array
+                                type: object
+                              weight:
+                                format: int32
+                                type: integer
+                            required:
+                            - preference
+                            - weight
+                            type: object
+                          type: array
+                        requiredDuringSchedulingIgnoredDuringExecution:
+                          properties:
+                            nodeSelectorTerms:
+                              items:
+                                properties:
+                                  matchExpressions:
+                                    items:
+                                      properties:
+                                        key:
+                                          type: string
+                                        operator:
+                                          type: string
+                                        values:
+                                          items:
+                                            type: string
+                                          type: array
+                                      required:
+                                      - key
+                                      - operator
+                                      type: object
+                                    type: array
+                                  matchFields:
+                                    items:
+                                      properties:
+                                        key:
+                                          type: string
+                                        operator:
+                                          type: string
+                                        values:
+                                          items:
+                                            type: string
+                                          type: array
+                                      required:
+                                      - key
+                                      - operator
+                                      type: object
+                                    type: array
+                                type: object
+                              type: array
+                          required:
+                          - nodeSelectorTerms
+                          type: object
                       type: object
-                    cephfs:
+                    podAffinity:
                       properties:
-                        monitors:
+                        preferredDuringSchedulingIgnoredDuringExecution:
                           items:
-                            type: string
+                            properties:
+                              podAffinityTerm:
+                                properties:
+                                  labelSelector:
+                                    properties:
+                                      matchExpressions:
+                                        items:
+                                          properties:
+                                            key:
+                                              type: string
+                                            operator:
+                                              type: string
+                                            values:
+                                              items:
+                                                type: string
+                                              type: array
+                                          required:
+                                          - key
+                                          - operator
+                                          type: object
+                                        type: array
+                                      matchLabels:
+                                        additionalProperties:
+                                          type: string
+                                        type: object
+                                    type: object
+                                  namespaces:
+                                    items:
+                                      type: string
+                                    type: array
+                                  topologyKey:
+                                    type: string
+                                required:
+                                - topologyKey
+                                type: object
+                              weight:
+                                format: int32
+                                type: integer
+                            required:
+                            - podAffinityTerm
+                            - weight
+                            type: object
+                          type: array
+                        requiredDuringSchedulingIgnoredDuringExecution:
+                          items:
+                            properties:
+                              labelSelector:
+                                properties:
+                                  matchExpressions:
+                                    items:
+                                      properties:
+                                        key:
+                                          type: string
+                                        operator:
+                                          type: string
+                                        values:
+                                          items:
+                                            type: string
+                                          type: array
+                                      required:
+                                      - key
+                                      - operator
+                                      type: object
+                                    type: array
+                                  matchLabels:
+                                    additionalProperties:
+                                      type: string
+                                    type: object
+                                type: object
+                              namespaces:
+                                items:
+                                  type: string
+                                type: array
+                              topologyKey:
+                                type: string
+                            required:
+                            - topologyKey
+                            type: object
                           type: array
-                        path:
-                          type: string
-                        readOnly:
-                          type: boolean
-                        secretFile:
-                          type: string
-                        secretRef:
-                          properties:
-                            name:
-                              type: string
-                          type: object
-                        user:
-                          type: string
-                      required:
-                      - monitors
-                      type: object
-                    cinder:
-                      properties:
-                        fsType:
-                          type: string
-                        readOnly:
-                          type: boolean
-                        secretRef:
-                          properties:
-                            name:
-                              type: string
-                          type: object
-                        volumeID:
-                          type: string
-                      required:
-                      - volumeID
                       type: object
-                    configMap:
+                    podAntiAffinity:
                       properties:
-                        defaultMode:
-                          format: int32
-                          type: integer
-                        items:
+                        preferredDuringSchedulingIgnoredDuringExecution:
+                          items:
+                            properties:
+                              podAffinityTerm:
+                                properties:
+                                  labelSelector:
+                                    properties:
+                                      matchExpressions:
+                                        items:
+                                          properties:
+                                            key:
+                                              type: string
+                                            operator:
+                                              type: string
+                                            values:
+                                              items:
+                                                type: string
+                                              type: array
+                                          required:
+                                          - key
+                                          - operator
+                                          type: object
+                                        type: array
+                                      matchLabels:
+                                        additionalProperties:
+                                          type: string
+                                        type: object
+                                    type: object
+                                  namespaces:
+                                    items:
+                                      type: string
+                                    type: array
+                                  topologyKey:
+                                    type: string
+                                required:
+                                - topologyKey
+                                type: object
+                              weight:
+                                format: int32
+                                type: integer
+                            required:
+                            - podAffinityTerm
+                            - weight
+                            type: object
+                          type: array
+                        requiredDuringSchedulingIgnoredDuringExecution:
                           items:
+                            properties:
+                              labelSelector:
+                                properties:
+                                  matchExpressions:
+                                    items:
+                                      properties:
+                                        key:
+                                          type: string
+                                        operator:
+                                          type: string
+                                        values:
+                                          items:
+                                            type: string
+                                          type: array
+                                      required:
+                                      - key
+                                      - operator
+                                      type: object
+                                    type: array
+                                  matchLabels:
+                                    additionalProperties:
+                                      type: string
+                                    type: object
+                                type: object
+                              namespaces:
+                                items:
+                                  type: string
+                                type: array
+                              topologyKey:
+                                type: string
+                            required:
+                            - topologyKey
+                            type: object
+                          type: array
+                      type: object
+                  type: object
+                azblob:
+                  properties:
+                    accessTier:
+                      type: string
+                    container:
+                      type: string
+                    path:
+                      type: string
+                    prefix:
+                      type: string
+                    secretName:
+                      type: string
+                  type: object
+                backupType:
+                  type: string
+                br:
+                  properties:
+                    checkRequirements:
+                      type: boolean
+                    checksum:
+                      type: boolean
+                    cluster:
+                      type: string
+                    clusterNamespace:
+                      type: string
+                    concurrency:
+                      format: int32
+                      type: integer
+                    db:
+                      type: string
+                    logLevel:
+                      type: string
+                    onLine:
+                      type: boolean
+                    options:
+                      items:
+                        type: string
+                      type: array
+                    rateLimit:
+                      type: integer
+                    sendCredToTikv:
+                      type: boolean
+                    statusAddr:
+                      type: string
+                    table:
+                      type: string
+                    timeAgo:
+                      type: string
+                  required:
+                  - cluster
+                  type: object
+                cleanOption:
+                  properties:
+                    batchConcurrency:
+                      format: int32
+                      type: integer
+                    disableBatchConcurrency:
+                      type: boolean
+                    pageSize:
+                      format: int64
+                      type: integer
+                    routineConcurrency:
+                      format: int32
+                      type: integer
+                  type: object
+                cleanPolicy:
+                  type: string
+                dumpling:
+                  properties:
+                    options:
+                      items:
+                        type: string
+                      type: array
+                    tableFilter:
+                      items:
+                        type: string
+                      type: array
+                  type: object
+                env:
+                  items:
+                    properties:
+                      name:
+                        type: string
+                      value:
+                        type: string
+                      valueFrom:
+                        properties:
+                          configMapKeyRef:
                             properties:
                               key:
                                 type: string
-                              mode:
-                                format: int32
-                                type: integer
-                              path:
+                              name:
                                 type: string
+                              optional:
+                                type: boolean
                             required:
                             - key
-                            - path
                             type: object
-                          type: array
-                        name:
-                          type: string
-                        optional:
-                          type: boolean
-                      type: object
-                    csi:
+                          fieldRef:
+                            properties:
+                              apiVersion:
+                                type: string
+                              fieldPath:
+                                type: string
+                            required:
+                            - fieldPath
+                            type: object
+                          resourceFieldRef:
+                            properties:
+                              containerName:
+                                type: string
+                              divisor:
+                                anyOf:
+                                - type: integer
+                                - type: string
+                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                x-kubernetes-int-or-string: true
+                              resource:
+                                type: string
+                            required:
+                            - resource
+                            type: object
+                          secretKeyRef:
+                            properties:
+                              key:
+                                type: string
+                              name:
+                                type: string
+                              optional:
+                                type: boolean
+                            required:
+                            - key
+                            type: object
+                        type: object
+                    required:
+                    - name
+                    type: object
+                  type: array
+                from:
+                  properties:
+                    host:
+                      type: string
+                    port:
+                      format: int32
+                      type: integer
+                    secretName:
+                      type: string
+                    tlsClientSecretName:
+                      type: string
+                    user:
+                      type: string
+                  required:
+                  - host
+                  - secretName
+                  type: object
+                gcs:
+                  properties:
+                    bucket:
+                      type: string
+                    bucketAcl:
+                      type: string
+                    location:
+                      type: string
+                    objectAcl:
+                      type: string
+                    path:
+                      type: string
+                    prefix:
+                      type: string
+                    projectId:
+                      type: string
+                    secretName:
+                      type: string
+                    storageClass:
+                      type: string
+                  required:
+                  - projectId
+                  type: object
+                imagePullSecrets:
+                  items:
+                    properties:
+                      name:
+                        type: string
+                    type: object
+                  type: array
+                local:
+                  properties:
+                    prefix:
+                      type: string
+                    volume:
                       properties:
-                        driver:
-                          type: string
-                        fsType:
-                          type: string
-                        nodePublishSecretRef:
+                        awsElasticBlockStore:
                           properties:
-                            name:
+                            fsType:
+                              type: string
+                            partition:
+                              format: int32
+                              type: integer
+                            readOnly:
+                              type: boolean
+                            volumeID:
                               type: string
+                          required:
+                          - volumeID
                           type: object
-                        readOnly:
-                          type: boolean
-                        volumeAttributes:
-                          additionalProperties:
-                            type: string
+                        azureDisk:
+                          properties:
+                            cachingMode:
+                              type: string
+                            diskName:
+                              type: string
+                            diskURI:
+                              type: string
+                            fsType:
+                              type: string
+                            kind:
+                              type: string
+                            readOnly:
+                              type: boolean
+                          required:
+                          - diskName
+                          - diskURI
                           type: object
-                      required:
-                      - driver
-                      type: object
-                    downwardAPI:
-                      properties:
-                        defaultMode:
-                          format: int32
-                          type: integer
-                        items:
-                          items:
-                            properties:
-                              fieldRef:
-                                properties:
-                                  apiVersion:
-                                    type: string
-                                  fieldPath:
-                                    type: string
-                                required:
-                                - fieldPath
-                                type: object
-                              mode:
-                                format: int32
-                                type: integer
-                              path:
+                        azureFile:
+                          properties:
+                            readOnly:
+                              type: boolean
+                            secretName:
+                              type: string
+                            shareName:
+                              type: string
+                          required:
+                          - secretName
+                          - shareName
+                          type: object
+                        cephfs:
+                          properties:
+                            monitors:
+                              items:
                                 type: string
-                              resourceFieldRef:
+                              type: array
+                            path:
+                              type: string
+                            readOnly:
+                              type: boolean
+                            secretFile:
+                              type: string
+                            secretRef:
+                              properties:
+                                name:
+                                  type: string
+                              type: object
+                            user:
+                              type: string
+                          required:
+                          - monitors
+                          type: object
+                        cinder:
+                          properties:
+                            fsType:
+                              type: string
+                            readOnly:
+                              type: boolean
+                            secretRef:
+                              properties:
+                                name:
+                                  type: string
+                              type: object
+                            volumeID:
+                              type: string
+                          required:
+                          - volumeID
+                          type: object
+                        configMap:
+                          properties:
+                            defaultMode:
+                              format: int32
+                              type: integer
+                            items:
+                              items:
                                 properties:
-                                  containerName:
+                                  key:
                                     type: string
-                                  divisor:
-                                    anyOf:
-                                    - type: integer
-                                    - type: string
-                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                    x-kubernetes-int-or-string: true
-                                  resource:
+                                  mode:
+                                    format: int32
+                                    type: integer
+                                  path:
                                     type: string
                                 required:
-                                - resource
+                                - key
+                                - path
                                 type: object
-                            required:
-                            - path
-                            type: object
-                          type: array
-                      type: object
-                    emptyDir:
-                      properties:
-                        medium:
-                          type: string
-                        sizeLimit:
-                          anyOf:
-                          - type: integer
-                          - type: string
-                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                          x-kubernetes-int-or-string: true
-                      type: object
-                    ephemeral:
-                      properties:
-                        readOnly:
-                          type: boolean
-                        volumeClaimTemplate:
+                              type: array
+                            name:
+                              type: string
+                            optional:
+                              type: boolean
+                          type: object
+                        csi:
                           properties:
-                            metadata:
-                              type: object
-                            spec:
+                            driver:
+                              type: string
+                            fsType:
+                              type: string
+                            nodePublishSecretRef:
                               properties:
-                                accessModes:
-                                  items:
+                                name:
+                                  type: string
+                              type: object
+                            readOnly:
+                              type: boolean
+                            volumeAttributes:
+                              additionalProperties:
+                                type: string
+                              type: object
+                          required:
+                          - driver
+                          type: object
+                        downwardAPI:
+                          properties:
+                            defaultMode:
+                              format: int32
+                              type: integer
+                            items:
+                              items:
+                                properties:
+                                  fieldRef:
+                                    properties:
+                                      apiVersion:
+                                        type: string
+                                      fieldPath:
+                                        type: string
+                                    required:
+                                    - fieldPath
+                                    type: object
+                                  mode:
+                                    format: int32
+                                    type: integer
+                                  path:
                                     type: string
-                                  type: array
-                                dataSource:
-                                  properties:
-                                    apiGroup:
-                                      type: string
-                                    kind:
-                                      type: string
-                                    name:
-                                      type: string
-                                  required:
-                                  - kind
-                                  - name
-                                  type: object
-                                resources:
-                                  properties:
-                                    limits:
-                                      additionalProperties:
-                                        anyOf:
-                                        - type: integer
-                                        - type: string
-                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                        x-kubernetes-int-or-string: true
-                                      type: object
-                                    requests:
-                                      additionalProperties:
+                                  resourceFieldRef:
+                                    properties:
+                                      containerName:
+                                        type: string
+                                      divisor:
                                         anyOf:
                                         - type: integer
                                         - type: string
                                         pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                         x-kubernetes-int-or-string: true
-                                      type: object
+                                      resource:
+                                        type: string
+                                    required:
+                                    - resource
+                                    type: object
+                                required:
+                                - path
+                                type: object
+                              type: array
+                          type: object
+                        emptyDir:
+                          properties:
+                            medium:
+                              type: string
+                            sizeLimit:
+                              anyOf:
+                              - type: integer
+                              - type: string
+                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                              x-kubernetes-int-or-string: true
+                          type: object
+                        ephemeral:
+                          properties:
+                            readOnly:
+                              type: boolean
+                            volumeClaimTemplate:
+                              properties:
+                                metadata:
                                   type: object
-                                selector:
+                                spec:
                                   properties:
-                                    matchExpressions:
+                                    accessModes:
                                       items:
-                                        properties:
-                                          key:
-                                            type: string
-                                          operator:
-                                            type: string
-                                          values:
-                                            items:
-                                              type: string
-                                            type: array
-                                        required:
-                                        - key
-                                        - operator
-                                        type: object
-                                      type: array
-                                    matchLabels:
-                                      additionalProperties:
                                         type: string
+                                      type: array
+                                    dataSource:
+                                      properties:
+                                        apiGroup:
+                                          type: string
+                                        kind:
+                                          type: string
+                                        name:
+                                          type: string
+                                      required:
+                                      - kind
+                                      - name
+                                      type: object
+                                    resources:
+                                      properties:
+                                        limits:
+                                          additionalProperties:
+                                            anyOf:
+                                            - type: integer
+                                            - type: string
+                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                            x-kubernetes-int-or-string: true
+                                          type: object
+                                        requests:
+                                          additionalProperties:
+                                            anyOf:
+                                            - type: integer
+                                            - type: string
+                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                            x-kubernetes-int-or-string: true
+                                          type: object
+                                      type: object
+                                    selector:
+                                      properties:
+                                        matchExpressions:
+                                          items:
+                                            properties:
+                                              key:
+                                                type: string
+                                              operator:
+                                                type: string
+                                              values:
+                                                items:
+                                                  type: string
+                                                type: array
+                                            required:
+                                            - key
+                                            - operator
+                                            type: object
+                                          type: array
+                                        matchLabels:
+                                          additionalProperties:
+                                            type: string
+                                          type: object
                                       type: object
+                                    storageClassName:
+                                      type: string
+                                    volumeMode:
+                                      type: string
+                                    volumeName:
+                                      type: string
                                   type: object
-                                storageClassName:
-                                  type: string
-                                volumeMode:
-                                  type: string
-                                volumeName:
+                              required:
+                              - spec
+                              type: object
+                          type: object
+                        fc:
+                          properties:
+                            fsType:
+                              type: string
+                            lun:
+                              format: int32
+                              type: integer
+                            readOnly:
+                              type: boolean
+                            targetWWNs:
+                              items:
+                                type: string
+                              type: array
+                            wwids:
+                              items:
+                                type: string
+                              type: array
+                          type: object
+                        flexVolume:
+                          properties:
+                            driver:
+                              type: string
+                            fsType:
+                              type: string
+                            options:
+                              additionalProperties:
+                                type: string
+                              type: object
+                            readOnly:
+                              type: boolean
+                            secretRef:
+                              properties:
+                                name:
                                   type: string
                               type: object
                           required:
-                          - spec
+                          - driver
                           type: object
-                      type: object
-                    fc:
-                      properties:
-                        fsType:
-                          type: string
-                        lun:
-                          format: int32
-                          type: integer
-                        readOnly:
-                          type: boolean
-                        targetWWNs:
-                          items:
-                            type: string
-                          type: array
-                        wwids:
-                          items:
-                            type: string
-                          type: array
-                      type: object
-                    flexVolume:
-                      properties:
-                        driver:
-                          type: string
-                        fsType:
-                          type: string
-                        options:
-                          additionalProperties:
-                            type: string
+                        flocker:
+                          properties:
+                            datasetName:
+                              type: string
+                            datasetUUID:
+                              type: string
                           type: object
-                        readOnly:
-                          type: boolean
-                        secretRef:
+                        gcePersistentDisk:
                           properties:
-                            name:
+                            fsType:
+                              type: string
+                            partition:
+                              format: int32
+                              type: integer
+                            pdName:
                               type: string
+                            readOnly:
+                              type: boolean
+                          required:
+                          - pdName
                           type: object
-                      required:
-                      - driver
-                      type: object
-                    flocker:
-                      properties:
-                        datasetName:
-                          type: string
-                        datasetUUID:
-                          type: string
-                      type: object
-                    gcePersistentDisk:
-                      properties:
-                        fsType:
-                          type: string
-                        partition:
-                          format: int32
-                          type: integer
-                        pdName:
-                          type: string
-                        readOnly:
-                          type: boolean
-                      required:
-                      - pdName
-                      type: object
-                    gitRepo:
-                      properties:
-                        directory:
-                          type: string
-                        repository:
-                          type: string
-                        revision:
-                          type: string
-                      required:
-                      - repository
-                      type: object
-                    glusterfs:
-                      properties:
-                        endpoints:
-                          type: string
-                        path:
-                          type: string
-                        readOnly:
-                          type: boolean
-                      required:
-                      - endpoints
-                      - path
-                      type: object
-                    hostPath:
-                      properties:
-                        path:
-                          type: string
-                        type:
-                          type: string
-                      required:
-                      - path
-                      type: object
-                    iscsi:
-                      properties:
-                        chapAuthDiscovery:
-                          type: boolean
-                        chapAuthSession:
-                          type: boolean
-                        fsType:
-                          type: string
-                        initiatorName:
-                          type: string
-                        iqn:
-                          type: string
-                        iscsiInterface:
-                          type: string
-                        lun:
-                          format: int32
-                          type: integer
-                        portals:
-                          items:
-                            type: string
-                          type: array
-                        readOnly:
-                          type: boolean
-                        secretRef:
+                        gitRepo:
                           properties:
-                            name:
+                            directory:
+                              type: string
+                            repository:
+                              type: string
+                            revision:
                               type: string
+                          required:
+                          - repository
                           type: object
-                        targetPortal:
-                          type: string
-                      required:
-                      - iqn
-                      - lun
-                      - targetPortal
-                      type: object
-                    name:
-                      type: string
-                    nfs:
-                      properties:
-                        path:
-                          type: string
-                        readOnly:
-                          type: boolean
-                        server:
-                          type: string
-                      required:
-                      - path
-                      - server
-                      type: object
-                    persistentVolumeClaim:
-                      properties:
-                        claimName:
-                          type: string
-                        readOnly:
-                          type: boolean
-                      required:
-                      - claimName
-                      type: object
-                    photonPersistentDisk:
-                      properties:
-                        fsType:
-                          type: string
-                        pdID:
-                          type: string
-                      required:
-                      - pdID
-                      type: object
-                    portworxVolume:
-                      properties:
-                        fsType:
-                          type: string
-                        readOnly:
-                          type: boolean
-                        volumeID:
+                        glusterfs:
+                          properties:
+                            endpoints:
+                              type: string
+                            path:
+                              type: string
+                            readOnly:
+                              type: boolean
+                          required:
+                          - endpoints
+                          - path
+                          type: object
+                        hostPath:
+                          properties:
+                            path:
+                              type: string
+                            type:
+                              type: string
+                          required:
+                          - path
+                          type: object
+                        iscsi:
+                          properties:
+                            chapAuthDiscovery:
+                              type: boolean
+                            chapAuthSession:
+                              type: boolean
+                            fsType:
+                              type: string
+                            initiatorName:
+                              type: string
+                            iqn:
+                              type: string
+                            iscsiInterface:
+                              type: string
+                            lun:
+                              format: int32
+                              type: integer
+                            portals:
+                              items:
+                                type: string
+                              type: array
+                            readOnly:
+                              type: boolean
+                            secretRef:
+                              properties:
+                                name:
+                                  type: string
+                              type: object
+                            targetPortal:
+                              type: string
+                          required:
+                          - iqn
+                          - lun
+                          - targetPortal
+                          type: object
+                        name:
                           type: string
-                      required:
-                      - volumeID
-                      type: object
-                    projected:
-                      properties:
-                        defaultMode:
-                          format: int32
-                          type: integer
-                        sources:
-                          items:
-                            properties:
-                              configMap:
-                                properties:
-                                  items:
-                                    items:
-                                      properties:
-                                        key:
-                                          type: string
-                                        mode:
-                                          format: int32
-                                          type: integer
-                                        path:
-                                          type: string
-                                      required:
-                                      - key
-                                      - path
-                                      type: object
-                                    type: array
-                                  name:
-                                    type: string
-                                  optional:
-                                    type: boolean
-                                type: object
-                              downwardAPI:
+                        nfs:
+                          properties:
+                            path:
+                              type: string
+                            readOnly:
+                              type: boolean
+                            server:
+                              type: string
+                          required:
+                          - path
+                          - server
+                          type: object
+                        persistentVolumeClaim:
+                          properties:
+                            claimName:
+                              type: string
+                            readOnly:
+                              type: boolean
+                          required:
+                          - claimName
+                          type: object
+                        photonPersistentDisk:
+                          properties:
+                            fsType:
+                              type: string
+                            pdID:
+                              type: string
+                          required:
+                          - pdID
+                          type: object
+                        portworxVolume:
+                          properties:
+                            fsType:
+                              type: string
+                            readOnly:
+                              type: boolean
+                            volumeID:
+                              type: string
+                          required:
+                          - volumeID
+                          type: object
+                        projected:
+                          properties:
+                            defaultMode:
+                              format: int32
+                              type: integer
+                            sources:
+                              items:
                                 properties:
-                                  items:
-                                    items:
-                                      properties:
-                                        fieldRef:
+                                  configMap:
+                                    properties:
+                                      items:
+                                        items:
                                           properties:
-                                            apiVersion:
+                                            key:
                                               type: string
-                                            fieldPath:
+                                            mode:
+                                              format: int32
+                                              type: integer
+                                            path:
                                               type: string
                                           required:
-                                          - fieldPath
+                                          - key
+                                          - path
                                           type: object
-                                        mode:
-                                          format: int32
-                                          type: integer
-                                        path:
-                                          type: string
-                                        resourceFieldRef:
+                                        type: array
+                                      name:
+                                        type: string
+                                      optional:
+                                        type: boolean
+                                    type: object
+                                  downwardAPI:
+                                    properties:
+                                      items:
+                                        items:
                                           properties:
-                                            containerName:
+                                            fieldRef:
+                                              properties:
+                                                apiVersion:
+                                                  type: string
+                                                fieldPath:
+                                                  type: string
+                                              required:
+                                              - fieldPath
+                                              type: object
+                                            mode:
+                                              format: int32
+                                              type: integer
+                                            path:
                                               type: string
-                                            divisor:
-                                              anyOf:
-                                              - type: integer
-                                              - type: string
-                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                                              x-kubernetes-int-or-string: true
-                                            resource:
+                                            resourceFieldRef:
+                                              properties:
+                                                containerName:
+                                                  type: string
+                                                divisor:
+                                                  anyOf:
+                                                  - type: integer
+                                                  - type: string
+                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                                  x-kubernetes-int-or-string: true
+                                                resource:
+                                                  type: string
+                                              required:
+                                              - resource
+                                              type: object
+                                          required:
+                                          - path
+                                          type: object
+                                        type: array
+                                    type: object
+                                  secret:
+                                    properties:
+                                      items:
+                                        items:
+                                          properties:
+                                            key:
+                                              type: string
+                                            mode:
+                                              format: int32
+                                              type: integer
+                                            path:
                                               type: string
                                           required:
-                                          - resource
+                                          - key
+                                          - path
                                           type: object
-                                      required:
-                                      - path
-                                      type: object
-                                    type: array
-                                type: object
-                              secret:
-                                properties:
-                                  items:
-                                    items:
-                                      properties:
-                                        key:
-                                          type: string
-                                        mode:
-                                          format: int32
-                                          type: integer
-                                        path:
-                                          type: string
-                                      required:
-                                      - key
-                                      - path
-                                      type: object
-                                    type: array
-                                  name:
-                                    type: string
-                                  optional:
-                                    type: boolean
+                                        type: array
+                                      name:
+                                        type: string
+                                      optional:
+                                        type: boolean
+                                    type: object
+                                  serviceAccountToken:
+                                    properties:
+                                      audience:
+                                        type: string
+                                      expirationSeconds:
+                                        format: int64
+                                        type: integer
+                                      path:
+                                        type: string
+                                    required:
+                                    - path
+                                    type: object
                                 type: object
-                              serviceAccountToken:
+                              type: array
+                          required:
+                          - sources
+                          type: object
+                        quobyte:
+                          properties:
+                            group:
+                              type: string
+                            readOnly:
+                              type: boolean
+                            registry:
+                              type: string
+                            tenant:
+                              type: string
+                            user:
+                              type: string
+                            volume:
+                              type: string
+                          required:
+                          - registry
+                          - volume
+                          type: object
+                        rbd:
+                          properties:
+                            fsType:
+                              type: string
+                            image:
+                              type: string
+                            keyring:
+                              type: string
+                            monitors:
+                              items:
+                                type: string
+                              type: array
+                            pool:
+                              type: string
+                            readOnly:
+                              type: boolean
+                            secretRef:
+                              properties:
+                                name:
+                                  type: string
+                              type: object
+                            user:
+                              type: string
+                          required:
+                          - image
+                          - monitors
+                          type: object
+                        scaleIO:
+                          properties:
+                            fsType:
+                              type: string
+                            gateway:
+                              type: string
+                            protectionDomain:
+                              type: string
+                            readOnly:
+                              type: boolean
+                            secretRef:
+                              properties:
+                                name:
+                                  type: string
+                              type: object
+                            sslEnabled:
+                              type: boolean
+                            storageMode:
+                              type: string
+                            storagePool:
+                              type: string
+                            system:
+                              type: string
+                            volumeName:
+                              type: string
+                          required:
+                          - gateway
+                          - secretRef
+                          - system
+                          type: object
+                        secret:
+                          properties:
+                            defaultMode:
+                              format: int32
+                              type: integer
+                            items:
+                              items:
                                 properties:
-                                  audience:
+                                  key:
                                     type: string
-                                  expirationSeconds:
-                                    format: int64
+                                  mode:
+                                    format: int32
                                     type: integer
                                   path:
                                     type: string
                                 required:
+                                - key
                                 - path
                                 type: object
-                            type: object
-                          type: array
-                      required:
-                      - sources
-                      type: object
-                    quobyte:
-                      properties:
-                        group:
-                          type: string
-                        readOnly:
-                          type: boolean
-                        registry:
-                          type: string
-                        tenant:
-                          type: string
-                        user:
-                          type: string
-                        volume:
-                          type: string
-                      required:
-                      - registry
-                      - volume
-                      type: object
-                    rbd:
-                      properties:
-                        fsType:
-                          type: string
-                        image:
-                          type: string
-                        keyring:
-                          type: string
-                        monitors:
-                          items:
-                            type: string
-                          type: array
-                        pool:
-                          type: string
-                        readOnly:
-                          type: boolean
-                        secretRef:
+                              type: array
+                            optional:
+                              type: boolean
+                            secretName:
+                              type: string
+                          type: object
+                        storageos:
                           properties:
-                            name:
+                            fsType:
+                              type: string
+                            readOnly:
+                              type: boolean
+                            secretRef:
+                              properties:
+                                name:
+                                  type: string
+                              type: object
+                            volumeName:
+                              type: string
+                            volumeNamespace:
                               type: string
                           type: object
-                        user:
-                          type: string
+                        vsphereVolume:
+                          properties:
+                            fsType:
+                              type: string
+                            storagePolicyID:
+                              type: string
+                            storagePolicyName:
+                              type: string
+                            volumePath:
+                              type: string
+                          required:
+                          - volumePath
+                          type: object
                       required:
-                      - image
-                      - monitors
+                      - name
                       type: object
-                    scaleIO:
+                    volumeMount:
                       properties:
-                        fsType:
+                        mountPath:
                           type: string
-                        gateway:
+                        mountPropagation:
                           type: string
-                        protectionDomain:
+                        name:
                           type: string
                         readOnly:
                           type: boolean
-                        secretRef:
-                          properties:
-                            name:
-                              type: string
-                          type: object
-                        sslEnabled:
-                          type: boolean
-                        storageMode:
-                          type: string
-                        storagePool:
-                          type: string
-                        system:
+                        subPath:
                           type: string
-                        volumeName:
+                        subPathExpr:
                           type: string
                       required:
-                      - gateway
-                      - secretRef
-                      - system
+                      - mountPath
+                      - name
                       type: object
-                    secret:
+                  required:
+                  - volume
+                  - volumeMount
+                  type: object
+                podSecurityContext:
+                  properties:
+                    fsGroup:
+                      format: int64
+                      type: integer
+                    fsGroupChangePolicy:
+                      type: string
+                    runAsGroup:
+                      format: int64
+                      type: integer
+                    runAsNonRoot:
+                      type: boolean
+                    runAsUser:
+                      format: int64
+                      type: integer
+                    seLinuxOptions:
                       properties:
-                        defaultMode:
-                          format: int32
-                          type: integer
-                        items:
-                          items:
-                            properties:
-                              key:
-                                type: string
-                              mode:
-                                format: int32
-                                type: integer
-                              path:
-                                type: string
-                            required:
-                            - key
-                            - path
-                            type: object
-                          type: array
-                        optional:
-                          type: boolean
-                        secretName:
+                        level:
                           type: string
-                      type: object
-                    storageos:
-                      properties:
-                        fsType:
+                        role:
                           type: string
-                        readOnly:
-                          type: boolean
-                        secretRef:
-                          properties:
-                            name:
-                              type: string
-                          type: object
-                        volumeName:
+                        type:
                           type: string
-                        volumeNamespace:
+                        user:
                           type: string
                       type: object
-                    vsphereVolume:
+                    seccompProfile:
                       properties:
-                        fsType:
+                        localhostProfile:
                           type: string
-                        storagePolicyID:
+                        type:
                           type: string
-                        storagePolicyName:
+                      required:
+                      - type
+                      type: object
+                    supplementalGroups:
+                      items:
+                        format: int64
+                        type: integer
+                      type: array
+                    sysctls:
+                      items:
+                        properties:
+                          name:
+                            type: string
+                          value:
+                            type: string
+                        required:
+                        - name
+                        - value
+                        type: object
+                      type: array
+                    windowsOptions:
+                      properties:
+                        gmsaCredentialSpec:
+                          type: string
+                        gmsaCredentialSpecName:
                           type: string
-                        volumePath:
+                        runAsUserName:
                           type: string
-                      required:
-                      - volumePath
                       type: object
-                  required:
-                  - name
                   type: object
-                volumeMount:
+                priorityClassName:
+                  type: string
+                resources:
                   properties:
-                    mountPath:
-                      type: string
-                    mountPropagation:
+                    limits:
+                      additionalProperties:
+                        anyOf:
+                        - type: integer
+                        - type: string
+                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                        x-kubernetes-int-or-string: true
+                      type: object
+                    requests:
+                      additionalProperties:
+                        anyOf:
+                        - type: integer
+                        - type: string
+                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                        x-kubernetes-int-or-string: true
+                      type: object
+                  type: object
+                s3:
+                  properties:
+                    acl:
                       type: string
-                    name:
+                    bucket:
                       type: string
-                    readOnly:
-                      type: boolean
-                    subPath:
+                    endpoint:
                       type: string
-                    subPathExpr:
+                    options:
+                      items:
+                        type: string
+                      type: array
+                    path:
                       type: string
-                  required:
-                  - mountPath
-                  - name
-                  type: object
-              required:
-              - volume
-              - volumeMount
-              type: object
-            podSecurityContext:
-              properties:
-                fsGroup:
-                  format: int64
-                  type: integer
-                fsGroupChangePolicy:
-                  type: string
-                runAsGroup:
-                  format: int64
-                  type: integer
-                runAsNonRoot:
-                  type: boolean
-                runAsUser:
-                  format: int64
-                  type: integer
-                seLinuxOptions:
-                  properties:
-                    level:
+                    prefix:
                       type: string
-                    role:
+                    provider:
                       type: string
-                    type:
+                    region:
                       type: string
-                    user:
+                    secretName:
                       type: string
-                  type: object
-                seccompProfile:
-                  properties:
-                    localhostProfile:
+                    sse:
                       type: string
-                    type:
+                    storageClass:
                       type: string
                   required:
-                  - type
+                  - provider
                   type: object
-                supplementalGroups:
+                serviceAccount:
+                  type: string
+                storageClassName:
+                  type: string
+                storageSize:
+                  type: string
+                tableFilter:
                   items:
-                    format: int64
-                    type: integer
+                    type: string
                   type: array
-                sysctls:
+                tikvGCLifeTime:
+                  type: string
+                tolerations:
                   items:
                     properties:
-                      name:
+                      effect:
                         type: string
+                      key:
+                        type: string
+                      operator:
+                        type: string
+                      tolerationSeconds:
+                        format: int64
+                        type: integer
                       value:
                         type: string
-                    required:
-                    - name
-                    - value
                     type: object
                   type: array
-                windowsOptions:
-                  properties:
-                    gmsaCredentialSpec:
-                      type: string
-                    gmsaCredentialSpecName:
-                      type: string
-                    runAsUserName:
-                      type: string
-                  type: object
-              type: object
-            priorityClassName:
-              type: string
-            resources:
-              properties:
-                limits:
-                  additionalProperties:
-                    anyOf:
-                    - type: integer
-                    - type: string
-                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                    x-kubernetes-int-or-string: true
-                  type: object
-                requests:
-                  additionalProperties:
-                    anyOf:
-                    - type: integer
-                    - type: string
-                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                    x-kubernetes-int-or-string: true
-                  type: object
-              type: object
-            s3:
-              properties:
-                acl:
-                  type: string
-                bucket:
-                  type: string
-                endpoint:
-                  type: string
-                options:
-                  items:
-                    type: string
-                  type: array
-                path:
-                  type: string
-                prefix:
-                  type: string
-                provider:
-                  type: string
-                region:
-                  type: string
-                secretName:
-                  type: string
-                sse:
-                  type: string
-                storageClass:
+                toolImage:
                   type: string
-              required:
-              - provider
+                useKMS:
+                  type: boolean
               type: object
-            serviceAccount:
-              type: string
-            storageClassName:
-              type: string
-            storageSize:
-              type: string
-            tableFilter:
-              items:
-                type: string
-              type: array
-            tikvGCLifeTime:
-              type: string
-            tolerations:
+            imagePullSecrets:
               items:
                 properties:
-                  effect:
-                    type: string
-                  key:
-                    type: string
-                  operator:
-                    type: string
-                  tolerationSeconds:
-                    format: int64
-                    type: integer
-                  value:
+                  name:
                     type: string
                 type: object
               type: array
-            toolImage:
+            maxBackups:
+              format: int32
+              type: integer
+            maxReservedTime:
               type: string
-            useKMS:
+            pause:
               type: boolean
-          type: object
-        status:
-          properties:
-            backupPath:
-              type: string
-            backupSize:
-              format: int64
-              type: integer
-            backupSizeReadable:
+            schedule:
               type: string
-            commitTs:
+            storageClassName:
               type: string
-            conditions:
-              items:
-                properties:
-                  lastTransitionTime:
-                    format: date-time
-                    nullable: true
-                    type: string
-                  message:
-                    type: string
-                  reason:
-                    type: string
-                  status:
-                    type: string
-                  type:
-                    type: string
-                required:
-                - status
-                - type
-                type: object
-              nullable: true
-              type: array
-            phase:
+            storageSize:
               type: string
-            timeCompleted:
+          required:
+          - backupTemplate
+          - schedule
+          type: object
+        status:
+          properties:
+            allBackupCleanTime:
               format: date-time
-              nullable: true
               type: string
-            timeStarted:
+            lastBackup:
+              type: string
+            lastBackupTime:
               format: date-time
-              nullable: true
               type: string
           type: object
       required:
@@ -17373,6 +17373,9 @@ spec:
                 type: string
               type: array
             podManagementPolicy:
+              enum:
+              - OrderedReady
+              - Parallel
               type: string
             podSecurityContext:
               properties:
diff --git a/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go b/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go
index 21ba5b3dbe1..2c811016e8c 100644
--- a/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go
+++ b/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go
@@ -18,7 +18,6 @@ import (
 	apps "k8s.io/api/apps/v1"
 	corev1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/klog/v2"
 )
 
 const (
@@ -122,7 +121,6 @@ func (a *componentAccessorImpl) PodManagementPolicy() apps.PodManagementPolicyTy
 	} else if policy == apps.ParallelPodManagement {
 		return apps.ParallelPodManagement
 	}
-	klog.Warningf("PodManagementPolicy \"%s\" is invalid. Fall back to use \"Parallel\" instead\n", policy)
 	return apps.ParallelPodManagement
 }
 
diff --git a/pkg/apis/pingcap/v1alpha1/types.go b/pkg/apis/pingcap/v1alpha1/types.go
index f34f91b33ca..a871fa0231a 100644
--- a/pkg/apis/pingcap/v1alpha1/types.go
+++ b/pkg/apis/pingcap/v1alpha1/types.go
@@ -308,6 +308,7 @@ type TidbClusterSpec struct {
 	StatefulSetUpdateStrategy apps.StatefulSetUpdateStrategyType `json:"statefulSetUpdateStrategy,omitempty"`
 
 	// PodManagementPolicy of TiDB cluster StatefulSets
+	// +kubebuilder:validation:Enum=OrderedReady;Parallel
 	// +optional
 	PodManagementPolicy apps.PodManagementPolicyType `json:"podManagementPolicy,omitempty"`
 

From 5b41895eb56ceacf289c8623ea269feedcb015c3 Mon Sep 17 00:00:00 2001
From: hoyhbx <hoyhbx@gmail.com>
Date: Wed, 3 Aug 2022 12:59:59 -0500
Subject: [PATCH 3/3] remove unnecessary checking

---
 pkg/apis/pingcap/v1alpha1/tidbcluster_component.go | 2 --
 1 file changed, 2 deletions(-)

diff --git a/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go b/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go
index 2c811016e8c..c9bb0f3fa73 100644
--- a/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go
+++ b/pkg/apis/pingcap/v1alpha1/tidbcluster_component.go
@@ -118,8 +118,6 @@ func (a *componentAccessorImpl) PodManagementPolicy() apps.PodManagementPolicyTy
 	// unified podManagementPolicy check to avoid check everywhere
 	if policy == apps.OrderedReadyPodManagement {
 		return apps.OrderedReadyPodManagement
-	} else if policy == apps.ParallelPodManagement {
-		return apps.ParallelPodManagement
 	}
 	return apps.ParallelPodManagement
 }