---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: null
  name: tidbclusters.pingcap.com
spec:
  additionalPrinterColumns:
  - JSONPath: .status.conditions[?(@.type=="Ready")].status
    name: Ready
    type: string
  - JSONPath: .status.pd.image
    description: The image for PD cluster
    name: PD
    type: string
  - JSONPath: .spec.pd.requests.storage
    description: The storage size specified for PD node
    name: Storage
    type: string
  - JSONPath: .status.pd.statefulSet.readyReplicas
    description: The desired replicas number of PD cluster
    name: Ready
    type: integer
  - JSONPath: .spec.pd.replicas
    description: The desired replicas number of PD cluster
    name: Desire
    type: integer
  - JSONPath: .status.tikv.image
    description: The image for TiKV cluster
    name: TiKV
    type: string
  - JSONPath: .spec.tikv.requests.storage
    description: The storage size specified for TiKV node
    name: Storage
    type: string
  - JSONPath: .status.tikv.statefulSet.readyReplicas
    description: The ready replicas number of TiKV cluster
    name: Ready
    type: integer
  - JSONPath: .spec.tikv.replicas
    description: The desired replicas number of TiKV cluster
    name: Desire
    type: integer
  - JSONPath: .status.tidb.image
    description: The image for TiDB cluster
    name: TiDB
    type: string
  - JSONPath: .status.tidb.statefulSet.readyReplicas
    description: The ready replicas number of TiDB cluster
    name: Ready
    type: integer
  - JSONPath: .spec.tidb.replicas
    description: The desired replicas number of TiDB cluster
    name: Desire
    type: integer
  - JSONPath: .status.conditions[?(@.type=="Ready")].message
    name: Status
    priority: 1
    type: string
  - JSONPath: .metadata.creationTimestamp
    name: Age
    type: date
  group: pingcap.com
  names:
    kind: TidbCluster
    plural: tidbclusters
    shortNames:
    - tc
  scope: Namespaced
  validation:
    openAPIV3Schema:
      properties:
        apiVersion:
          type: string
        kind:
          type: string
        spec:
          properties:
            affinity:
              properties:
                nodeAffinity:
                  properties:
                    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:
                        - weight
                        - preference
                        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:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          weight:
                            format: int32
                            type: integer
                        required:
                        - weight
                        - podAffinityTerm
                        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:
                                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:
                                      properties:
                                        key:
                                          type: string
                                        operator:
                                          type: string
                                        values:
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                  matchLabels:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          weight:
                            format: int32
                            type: integer
                        required:
                        - weight
                        - podAffinityTerm
                        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:
                                type: object
                            type: object
                          namespaces:
                            items:
                              type: string
                            type: array
                          topologyKey:
                            type: string
                        required:
                        - topologyKey
                        type: object
                      type: array
                  type: object
              type: object
            annotations:
              type: object
            cluster:
              properties:
                name:
                  type: string
                namespace:
                  type: string
              required:
              - name
              type: object
            configUpdateStrategy:
              type: string
            discovery:
              properties:
                limits:
                  type: object
                requests:
                  type: object
              type: object
            enableDynamicConfiguration:
              type: boolean
            enablePVReclaim:
              type: boolean
            helper:
              properties:
                image:
                  type: string
                imagePullPolicy:
                  type: string
              type: object
            hostNetwork:
              type: boolean
            imagePullPolicy:
              type: string
            imagePullSecrets:
              items:
                properties:
                  name:
                    type: string
                type: object
              type: array
            nodeSelector:
              type: object
            paused:
              type: boolean
            pd:
              properties:
                additionalContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                additionalVolumeMounts:
                  items:
                    properties:
                      mountPath:
                        type: string
                      mountPropagation:
                        type: string
                      name:
                        type: string
                      readOnly:
                        type: boolean
                      subPath:
                        type: string
                      subPathExpr:
                        type: string
                    required:
                    - name
                    - mountPath
                    type: object
                  type: array
                additionalVolumes:
                  items:
                    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:
                            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: {}
                                    resource:
                                      type: string
                                  required:
                                  - resource
                                  type: object
                              required:
                              - path
                              type: object
                            type: array
                        type: object
                      emptyDir:
                        properties:
                          medium:
                            type: string
                          sizeLimit: {}
                        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:
                            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:
                        - targetPortal
                        - iqn
                        - lun
                        type: object
                      name:
                        type: string
                      nfs:
                        properties:
                          path:
                            type: string
                          readOnly:
                            type: boolean
                          server:
                            type: string
                        required:
                        - server
                        - path
                        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: {}
                                              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:
                        - monitors
                        - image
                        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
                        - system
                        - secretRef
                        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
                  type: array
                affinity:
                  properties:
                    nodeAffinity:
                      properties:
                        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:
                            - weight
                            - preference
                            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:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    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:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          type: array
                      type: object
                  type: object
                annotations:
                  type: object
                baseImage:
                  type: string
                config: {}
                configUpdateStrategy:
                  type: string
                dataSubDir:
                  type: string
                enableDashboardInternalProxy:
                  type: boolean
                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: {}
                              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
                hostNetwork:
                  type: boolean
                imagePullPolicy:
                  type: string
                imagePullSecrets:
                  items:
                    properties:
                      name:
                        type: string
                    type: object
                  type: array
                initContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                limits:
                  type: object
                maxFailoverCount:
                  format: int32
                  type: integer
                mountClusterClientSecret:
                  type: boolean
                nodeSelector:
                  type: object
                podSecurityContext:
                  properties:
                    fsGroup:
                      format: int64
                      type: integer
                    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
                    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
                        runAsUserName:
                          type: string
                      type: object
                  type: object
                priorityClassName:
                  type: string
                replicas:
                  format: int32
                  type: integer
                requests:
                  type: object
                schedulerName:
                  type: string
                service:
                  properties:
                    annotations:
                      type: object
                    clusterIP:
                      type: string
                    loadBalancerIP:
                      type: string
                    loadBalancerSourceRanges:
                      items:
                        type: string
                      type: array
                    portName:
                      type: string
                    type:
                      type: string
                  type: object
                serviceAccount:
                  type: string
                statefulSetUpdateStrategy:
                  type: string
                storageClassName:
                  type: string
                storageVolumes:
                  items: {}
                  type: array
                terminationGracePeriodSeconds:
                  format: int64
                  type: integer
                tlsClientSecretName:
                  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
                version:
                  type: string
              required:
              - replicas
              type: object
            pdAddresses:
              items:
                type: string
              type: array
            priorityClassName:
              type: string
            pump:
              properties:
                additionalContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                additionalVolumeMounts:
                  items:
                    properties:
                      mountPath:
                        type: string
                      mountPropagation:
                        type: string
                      name:
                        type: string
                      readOnly:
                        type: boolean
                      subPath:
                        type: string
                      subPathExpr:
                        type: string
                    required:
                    - name
                    - mountPath
                    type: object
                  type: array
                additionalVolumes:
                  items:
                    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:
                            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: {}
                                    resource:
                                      type: string
                                  required:
                                  - resource
                                  type: object
                              required:
                              - path
                              type: object
                            type: array
                        type: object
                      emptyDir:
                        properties:
                          medium:
                            type: string
                          sizeLimit: {}
                        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:
                            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:
                        - targetPortal
                        - iqn
                        - lun
                        type: object
                      name:
                        type: string
                      nfs:
                        properties:
                          path:
                            type: string
                          readOnly:
                            type: boolean
                          server:
                            type: string
                        required:
                        - server
                        - path
                        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: {}
                                              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:
                        - monitors
                        - image
                        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
                        - system
                        - secretRef
                        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
                  type: array
                affinity:
                  properties:
                    nodeAffinity:
                      properties:
                        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:
                            - weight
                            - preference
                            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:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    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:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          type: array
                      type: object
                  type: object
                annotations:
                  type: object
                baseImage:
                  type: string
                config: {}
                configUpdateStrategy:
                  type: string
                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: {}
                              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
                hostNetwork:
                  type: boolean
                imagePullPolicy:
                  type: string
                imagePullSecrets:
                  items:
                    properties:
                      name:
                        type: string
                    type: object
                  type: array
                initContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                limits:
                  type: object
                nodeSelector:
                  type: object
                podSecurityContext:
                  properties:
                    fsGroup:
                      format: int64
                      type: integer
                    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
                    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
                        runAsUserName:
                          type: string
                      type: object
                  type: object
                priorityClassName:
                  type: string
                replicas:
                  format: int32
                  type: integer
                requests:
                  type: object
                schedulerName:
                  type: string
                serviceAccount:
                  type: string
                statefulSetUpdateStrategy:
                  type: string
                storageClassName:
                  type: string
                terminationGracePeriodSeconds:
                  format: int64
                  type: integer
                tolerations:
                  items:
                    properties:
                      effect:
                        type: string
                      key:
                        type: string
                      operator:
                        type: string
                      tolerationSeconds:
                        format: int64
                        type: integer
                      value:
                        type: string
                    type: object
                  type: array
                version:
                  type: string
              required:
              - replicas
              type: object
            pvReclaimPolicy:
              type: string
            schedulerName:
              type: string
            serviceAccount:
              type: string
            statefulSetUpdateStrategy:
              type: string
            ticdc:
              properties:
                additionalContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                additionalVolumeMounts:
                  items:
                    properties:
                      mountPath:
                        type: string
                      mountPropagation:
                        type: string
                      name:
                        type: string
                      readOnly:
                        type: boolean
                      subPath:
                        type: string
                      subPathExpr:
                        type: string
                    required:
                    - name
                    - mountPath
                    type: object
                  type: array
                additionalVolumes:
                  items:
                    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:
                            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: {}
                                    resource:
                                      type: string
                                  required:
                                  - resource
                                  type: object
                              required:
                              - path
                              type: object
                            type: array
                        type: object
                      emptyDir:
                        properties:
                          medium:
                            type: string
                          sizeLimit: {}
                        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:
                            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:
                        - targetPortal
                        - iqn
                        - lun
                        type: object
                      name:
                        type: string
                      nfs:
                        properties:
                          path:
                            type: string
                          readOnly:
                            type: boolean
                          server:
                            type: string
                        required:
                        - server
                        - path
                        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: {}
                                              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:
                        - monitors
                        - image
                        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
                        - system
                        - secretRef
                        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
                  type: array
                affinity:
                  properties:
                    nodeAffinity:
                      properties:
                        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:
                            - weight
                            - preference
                            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:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    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:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          type: array
                      type: object
                  type: object
                annotations:
                  type: object
                baseImage:
                  type: string
                config:
                  properties:
                    gcTTL:
                      format: int32
                      type: integer
                    logFile:
                      type: string
                    logLevel:
                      type: string
                    timezone:
                      type: string
                  type: object
                configUpdateStrategy:
                  type: string
                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: {}
                              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
                hostNetwork:
                  type: boolean
                imagePullPolicy:
                  type: string
                imagePullSecrets:
                  items:
                    properties:
                      name:
                        type: string
                    type: object
                  type: array
                initContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                limits:
                  type: object
                nodeSelector:
                  type: object
                podSecurityContext:
                  properties:
                    fsGroup:
                      format: int64
                      type: integer
                    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
                    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
                        runAsUserName:
                          type: string
                      type: object
                  type: object
                priorityClassName:
                  type: string
                replicas:
                  format: int32
                  type: integer
                requests:
                  type: object
                schedulerName:
                  type: string
                serviceAccount:
                  type: string
                statefulSetUpdateStrategy:
                  type: string
                terminationGracePeriodSeconds:
                  format: int64
                  type: integer
                tolerations:
                  items:
                    properties:
                      effect:
                        type: string
                      key:
                        type: string
                      operator:
                        type: string
                      tolerationSeconds:
                        format: int64
                        type: integer
                      value:
                        type: string
                    type: object
                  type: array
                version:
                  type: string
              required:
              - replicas
              type: object
            tidb:
              properties:
                additionalContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                additionalVolumeMounts:
                  items:
                    properties:
                      mountPath:
                        type: string
                      mountPropagation:
                        type: string
                      name:
                        type: string
                      readOnly:
                        type: boolean
                      subPath:
                        type: string
                      subPathExpr:
                        type: string
                    required:
                    - name
                    - mountPath
                    type: object
                  type: array
                additionalVolumes:
                  items:
                    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:
                            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: {}
                                    resource:
                                      type: string
                                  required:
                                  - resource
                                  type: object
                              required:
                              - path
                              type: object
                            type: array
                        type: object
                      emptyDir:
                        properties:
                          medium:
                            type: string
                          sizeLimit: {}
                        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:
                            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:
                        - targetPortal
                        - iqn
                        - lun
                        type: object
                      name:
                        type: string
                      nfs:
                        properties:
                          path:
                            type: string
                          readOnly:
                            type: boolean
                          server:
                            type: string
                        required:
                        - server
                        - path
                        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: {}
                                              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:
                        - monitors
                        - image
                        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
                        - system
                        - secretRef
                        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
                  type: array
                affinity:
                  properties:
                    nodeAffinity:
                      properties:
                        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:
                            - weight
                            - preference
                            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:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    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:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          type: array
                      type: object
                  type: object
                annotations:
                  type: object
                baseImage:
                  type: string
                binlogEnabled:
                  type: boolean
                config: {}
                configUpdateStrategy:
                  type: string
                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: {}
                              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
                hostNetwork:
                  type: boolean
                imagePullPolicy:
                  type: string
                imagePullSecrets:
                  items:
                    properties:
                      name:
                        type: string
                    type: object
                  type: array
                initContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                lifecycle:
                  properties:
                    postStart:
                      properties:
                        exec:
                          properties:
                            command:
                              items:
                                type: string
                              type: array
                          type: object
                        httpGet:
                          properties:
                            host:
                              type: string
                            httpHeaders:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            path:
                              type: string
                            port:
                              anyOf:
                              - type: string
                              - type: integer
                            scheme:
                              type: string
                          required:
                          - port
                          type: object
                        tcpSocket:
                          properties:
                            host:
                              type: string
                            port:
                              anyOf:
                              - type: string
                              - type: integer
                          required:
                          - port
                          type: object
                      type: object
                    preStop:
                      properties:
                        exec:
                          properties:
                            command:
                              items:
                                type: string
                              type: array
                          type: object
                        httpGet:
                          properties:
                            host:
                              type: string
                            httpHeaders:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            path:
                              type: string
                            port:
                              anyOf:
                              - type: string
                              - type: integer
                            scheme:
                              type: string
                          required:
                          - port
                          type: object
                        tcpSocket:
                          properties:
                            host:
                              type: string
                            port:
                              anyOf:
                              - type: string
                              - type: integer
                          required:
                          - port
                          type: object
                      type: object
                  type: object
                limits:
                  type: object
                maxFailoverCount:
                  format: int32
                  type: integer
                nodeSelector:
                  type: object
                plugins:
                  items:
                    type: string
                  type: array
                podSecurityContext:
                  properties:
                    fsGroup:
                      format: int64
                      type: integer
                    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
                    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
                        runAsUserName:
                          type: string
                      type: object
                  type: object
                priorityClassName:
                  type: string
                readinessProbe:
                  properties:
                    type:
                      type: string
                  type: object
                replicas:
                  format: int32
                  type: integer
                requests:
                  type: object
                schedulerName:
                  type: string
                separateSlowLog:
                  type: boolean
                service:
                  properties:
                    additionalPorts:
                      items:
                        properties:
                          name:
                            type: string
                          nodePort:
                            format: int32
                            type: integer
                          port:
                            format: int32
                            type: integer
                          protocol:
                            type: string
                          targetPort:
                            anyOf:
                            - type: string
                            - type: integer
                        required:
                        - port
                        type: object
                      type: array
                    exposeStatus:
                      type: boolean
                    externalTrafficPolicy:
                      type: string
                    mysqlNodePort:
                      format: int32
                      type: integer
                    statusNodePort:
                      format: int32
                      type: integer
                  type: object
                serviceAccount:
                  type: string
                slowLogTailer:
                  properties:
                    limits:
                      type: object
                    requests:
                      type: object
                  type: object
                slowLogVolumeName:
                  type: string
                statefulSetUpdateStrategy:
                  type: string
                storageClassName:
                  type: string
                storageVolumes:
                  items: {}
                  type: array
                terminationGracePeriodSeconds:
                  format: int64
                  type: integer
                tlsClient: {}
                tolerations:
                  items:
                    properties:
                      effect:
                        type: string
                      key:
                        type: string
                      operator:
                        type: string
                      tolerationSeconds:
                        format: int64
                        type: integer
                      value:
                        type: string
                    type: object
                  type: array
                version:
                  type: string
              required:
              - replicas
              type: object
            tiflash:
              properties:
                additionalContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                additionalVolumeMounts:
                  items:
                    properties:
                      mountPath:
                        type: string
                      mountPropagation:
                        type: string
                      name:
                        type: string
                      readOnly:
                        type: boolean
                      subPath:
                        type: string
                      subPathExpr:
                        type: string
                    required:
                    - name
                    - mountPath
                    type: object
                  type: array
                additionalVolumes:
                  items:
                    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:
                            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: {}
                                    resource:
                                      type: string
                                  required:
                                  - resource
                                  type: object
                              required:
                              - path
                              type: object
                            type: array
                        type: object
                      emptyDir:
                        properties:
                          medium:
                            type: string
                          sizeLimit: {}
                        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:
                            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:
                        - targetPortal
                        - iqn
                        - lun
                        type: object
                      name:
                        type: string
                      nfs:
                        properties:
                          path:
                            type: string
                          readOnly:
                            type: boolean
                          server:
                            type: string
                        required:
                        - server
                        - path
                        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: {}
                                              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:
                        - monitors
                        - image
                        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
                        - system
                        - secretRef
                        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
                  type: array
                affinity:
                  properties:
                    nodeAffinity:
                      properties:
                        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:
                            - weight
                            - preference
                            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:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    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:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          type: array
                      type: object
                  type: object
                annotations:
                  type: object
                baseImage:
                  type: string
                config: {}
                configUpdateStrategy:
                  type: string
                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: {}
                              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
                hostNetwork:
                  type: boolean
                imagePullPolicy:
                  type: string
                imagePullSecrets:
                  items:
                    properties:
                      name:
                        type: string
                    type: object
                  type: array
                initContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                limits:
                  type: object
                logTailer:
                  properties:
                    limits:
                      type: object
                    requests:
                      type: object
                  type: object
                maxFailoverCount:
                  format: int32
                  type: integer
                nodeSelector:
                  type: object
                podSecurityContext:
                  properties:
                    fsGroup:
                      format: int64
                      type: integer
                    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
                    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
                        runAsUserName:
                          type: string
                      type: object
                  type: object
                priorityClassName:
                  type: string
                privileged:
                  type: boolean
                recoverFailover:
                  type: boolean
                replicas:
                  format: int32
                  type: integer
                requests:
                  type: object
                schedulerName:
                  type: string
                serviceAccount:
                  type: string
                statefulSetUpdateStrategy:
                  type: string
                storageClaims:
                  items:
                    properties:
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      storageClassName:
                        type: string
                    type: object
                  type: array
                terminationGracePeriodSeconds:
                  format: int64
                  type: integer
                tolerations:
                  items:
                    properties:
                      effect:
                        type: string
                      key:
                        type: string
                      operator:
                        type: string
                      tolerationSeconds:
                        format: int64
                        type: integer
                      value:
                        type: string
                    type: object
                  type: array
                version:
                  type: string
              required:
              - replicas
              - storageClaims
              type: object
            tikv:
              properties:
                additionalContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                additionalVolumeMounts:
                  items:
                    properties:
                      mountPath:
                        type: string
                      mountPropagation:
                        type: string
                      name:
                        type: string
                      readOnly:
                        type: boolean
                      subPath:
                        type: string
                      subPathExpr:
                        type: string
                    required:
                    - name
                    - mountPath
                    type: object
                  type: array
                additionalVolumes:
                  items:
                    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:
                            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: {}
                                    resource:
                                      type: string
                                  required:
                                  - resource
                                  type: object
                              required:
                              - path
                              type: object
                            type: array
                        type: object
                      emptyDir:
                        properties:
                          medium:
                            type: string
                          sizeLimit: {}
                        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:
                            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:
                        - targetPortal
                        - iqn
                        - lun
                        type: object
                      name:
                        type: string
                      nfs:
                        properties:
                          path:
                            type: string
                          readOnly:
                            type: boolean
                          server:
                            type: string
                        required:
                        - server
                        - path
                        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: {}
                                              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:
                        - monitors
                        - image
                        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
                        - system
                        - secretRef
                        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
                  type: array
                affinity:
                  properties:
                    nodeAffinity:
                      properties:
                        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:
                            - weight
                            - preference
                            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:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    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:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          type: array
                      type: object
                  type: object
                annotations:
                  type: object
                baseImage:
                  type: string
                config: {}
                configUpdateStrategy:
                  type: string
                dataSubDir:
                  type: string
                enableNamedStatusPort:
                  type: boolean
                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: {}
                              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
                evictLeaderTimeout:
                  type: string
                hostNetwork:
                  type: boolean
                imagePullPolicy:
                  type: string
                imagePullSecrets:
                  items:
                    properties:
                      name:
                        type: string
                    type: object
                  type: array
                initContainers:
                  items:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      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: {}
                                    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
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: string
                                    - type: integer
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            type: object
                          requests:
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          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
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - name
                          - devicePath
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - name
                          - mountPath
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                limits:
                  type: object
                logTailer:
                  properties:
                    limits:
                      type: object
                    requests:
                      type: object
                  type: object
                maxFailoverCount:
                  format: int32
                  type: integer
                mountClusterClientSecret:
                  type: boolean
                nodeSelector:
                  type: object
                podSecurityContext:
                  properties:
                    fsGroup:
                      format: int64
                      type: integer
                    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
                    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
                        runAsUserName:
                          type: string
                      type: object
                  type: object
                priorityClassName:
                  type: string
                privileged:
                  type: boolean
                recoverFailover:
                  type: boolean
                replicas:
                  format: int32
                  type: integer
                requests:
                  type: object
                schedulerName:
                  type: string
                separateRaftLog:
                  type: boolean
                separateRocksDBLog:
                  type: boolean
                serviceAccount:
                  type: string
                statefulSetUpdateStrategy:
                  type: string
                storageClassName:
                  type: string
                storageVolumes:
                  items: {}
                  type: array
                storeLabels:
                  items:
                    type: string
                  type: array
                terminationGracePeriodSeconds:
                  format: int64
                  type: integer
                tolerations:
                  items:
                    properties:
                      effect:
                        type: string
                      key:
                        type: string
                      operator:
                        type: string
                      tolerationSeconds:
                        format: int64
                        type: integer
                      value:
                        type: string
                    type: object
                  type: array
                version:
                  type: string
              required:
              - replicas
              type: object
            timezone:
              type: string
            tlsCluster: {}
            tolerations:
              items:
                properties:
                  effect:
                    type: string
                  key:
                    type: string
                  operator:
                    type: string
                  tolerationSeconds:
                    format: int64
                    type: integer
                  value:
                    type: string
                type: object
              type: array
            version:
              type: string
          type: object
      type: object
  version: v1alpha1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  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
    format: date-time
    name: Started
    priority: 1
    type: string
  - JSONPath: .status.timeCompleted
    description: The time at which the backup was completed
    format: date-time
    name: Completed
    priority: 1
    type: string
  - JSONPath: .metadata.creationTimestamp
    name: Age
    type: date
  group: pingcap.com
  names:
    kind: Backup
    plural: backups
    shortNames:
    - bk
  scope: Namespaced
  validation:
    openAPIV3Schema:
      properties:
        apiVersion:
          type: string
        kind:
          type: string
        spec:
          properties:
            affinity:
              properties:
                nodeAffinity:
                  properties:
                    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:
                        - weight
                        - preference
                        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:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          weight:
                            format: int32
                            type: integer
                        required:
                        - weight
                        - podAffinityTerm
                        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:
                                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:
                                      properties:
                                        key:
                                          type: string
                                        operator:
                                          type: string
                                        values:
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                  matchLabels:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          weight:
                            format: int32
                            type: integer
                        required:
                        - weight
                        - podAffinityTerm
                        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:
                                type: object
                            type: object
                          namespaces:
                            items:
                              type: string
                            type: array
                          topologyKey:
                            type: string
                        required:
                        - topologyKey
                        type: object
                      type: array
                  type: object
              type: object
            backupType:
              type: string
            br:
              properties:
                checksum:
                  type: boolean
                cluster:
                  type: string
                clusterNamespace:
                  type: string
                concurrency:
                  format: int64
                  type: integer
                db:
                  type: string
                logLevel:
                  type: string
                onLine:
                  type: boolean
                options:
                  items:
                    type: string
                  type: array
                rateLimit:
                  format: int32
                  type: integer
                sendCredToTikv:
                  type: boolean
                statusAddr:
                  type: string
                table:
                  type: string
                timeAgo:
                  type: string
              required:
              - cluster
              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: {}
                          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: {}
            resources:
              properties:
                limits:
                  type: object
                requests:
                  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:
              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
      type: object
  version: v1alpha1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: null
  name: restores.pingcap.com
spec:
  additionalPrinterColumns:
  - JSONPath: .status.phase
    description: The current status of the restore
    name: Status
    type: string
  - JSONPath: .status.timeStarted
    description: The time at which the backup was started
    format: date-time
    name: Started
    type: string
  - JSONPath: .status.timeCompleted
    description: The time at which the restore was completed
    format: date-time
    name: Completed
    type: string
  - JSONPath: .status.commitTs
    description: The commit ts of tidb cluster restore
    name: CommitTS
    type: string
  - JSONPath: .metadata.creationTimestamp
    name: Age
    type: date
  group: pingcap.com
  names:
    kind: Restore
    plural: restores
    shortNames:
    - rt
  scope: Namespaced
  validation:
    openAPIV3Schema:
      properties:
        apiVersion:
          type: string
        kind:
          type: string
        spec:
          properties:
            affinity:
              properties:
                nodeAffinity:
                  properties:
                    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:
                        - weight
                        - preference
                        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:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          weight:
                            format: int32
                            type: integer
                        required:
                        - weight
                        - podAffinityTerm
                        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:
                                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:
                                      properties:
                                        key:
                                          type: string
                                        operator:
                                          type: string
                                        values:
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                  matchLabels:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          weight:
                            format: int32
                            type: integer
                        required:
                        - weight
                        - podAffinityTerm
                        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:
                                type: object
                            type: object
                          namespaces:
                            items:
                              type: string
                            type: array
                          topologyKey:
                            type: string
                        required:
                        - topologyKey
                        type: object
                      type: array
                  type: object
              type: object
            backupType:
              type: string
            br:
              properties:
                checksum:
                  type: boolean
                cluster:
                  type: string
                clusterNamespace:
                  type: string
                concurrency:
                  format: int64
                  type: integer
                db:
                  type: string
                logLevel:
                  type: string
                onLine:
                  type: boolean
                options:
                  items:
                    type: string
                  type: array
                rateLimit:
                  format: int32
                  type: integer
                sendCredToTikv:
                  type: boolean
                statusAddr:
                  type: string
                table:
                  type: string
                timeAgo:
                  type: string
              required:
              - cluster
              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: {}
                          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
            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: {}
            resources:
              properties:
                limits:
                  type: object
                requests:
                  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:
              type: string
            storageClassName:
              type: string
            storageSize:
              type: string
            tableFilter:
              items:
                type: string
              type: array
            tikvGCLifeTime:
              type: string
            to:
              properties:
                host:
                  type: string
                port:
                  format: int32
                  type: integer
                secretName:
                  type: string
                tlsClientSecretName:
                  type: string
                user:
                  type: string
              required:
              - host
              - secretName
              type: object
            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
      type: object
  version: v1alpha1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  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
    plural: backupschedules
    shortNames:
    - bks
  scope: Namespaced
  validation:
    openAPIV3Schema:
      properties:
        apiVersion:
          type: string
        kind:
          type: string
        spec:
          properties:
            backupTemplate:
              properties:
                affinity:
                  properties:
                    nodeAffinity:
                      properties:
                        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:
                            - weight
                            - preference
                            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:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    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:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - weight
                            - podAffinityTerm
                            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:
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          type: array
                      type: object
                  type: object
                backupType:
                  type: string
                br:
                  properties:
                    checksum:
                      type: boolean
                    cluster:
                      type: string
                    clusterNamespace:
                      type: string
                    concurrency:
                      format: int64
                      type: integer
                    db:
                      type: string
                    logLevel:
                      type: string
                    onLine:
                      type: boolean
                    options:
                      items:
                        type: string
                      type: array
                    rateLimit:
                      format: int32
                      type: integer
                    sendCredToTikv:
                      type: boolean
                    statusAddr:
                      type: string
                    table:
                      type: string
                    timeAgo:
                      type: string
                  required:
                  - cluster
                  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: {}
                              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: {}
                resources:
                  properties:
                    limits:
                      type: object
                    requests:
                      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:
                  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
            imagePullSecrets:
              items:
                properties:
                  name:
                    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:
          - schedule
          - backupTemplate
          type: object
      type: object
  version: v1alpha1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: null
  name: tidbmonitors.pingcap.com
spec:
  group: pingcap.com
  names:
    kind: TidbMonitor
    plural: tidbmonitors
    shortNames:
    - tm
  scope: Namespaced
  validation:
    openAPIV3Schema:
      properties:
        apiVersion:
          type: string
        kind:
          type: string
        spec:
          properties:
            additionalContainers:
              items:
                properties:
                  args:
                    items:
                      type: string
                    type: array
                  command:
                    items:
                      type: string
                    type: array
                  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: {}
                                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
                  envFrom:
                    items:
                      properties:
                        configMapRef:
                          properties:
                            name:
                              type: string
                            optional:
                              type: boolean
                          type: object
                        prefix:
                          type: string
                        secretRef:
                          properties:
                            name:
                              type: string
                            optional:
                              type: boolean
                          type: object
                      type: object
                    type: array
                  image:
                    type: string
                  imagePullPolicy:
                    type: string
                  lifecycle:
                    properties:
                      postStart:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                        type: object
                      preStop:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: string
                                - type: integer
                            required:
                            - port
                            type: object
                        type: object
                    type: object
                  livenessProbe:
                    properties:
                      exec:
                        properties:
                          command:
                            items:
                              type: string
                            type: array
                        type: object
                      failureThreshold:
                        format: int32
                        type: integer
                      httpGet:
                        properties:
                          host:
                            type: string
                          httpHeaders:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                              required:
                              - name
                              - value
                              type: object
                            type: array
                          path:
                            type: string
                          port:
                            anyOf:
                            - type: string
                            - type: integer
                          scheme:
                            type: string
                        required:
                        - port
                        type: object
                      initialDelaySeconds:
                        format: int32
                        type: integer
                      periodSeconds:
                        format: int32
                        type: integer
                      successThreshold:
                        format: int32
                        type: integer
                      tcpSocket:
                        properties:
                          host:
                            type: string
                          port:
                            anyOf:
                            - type: string
                            - type: integer
                        required:
                        - port
                        type: object
                      timeoutSeconds:
                        format: int32
                        type: integer
                    type: object
                  name:
                    type: string
                  ports:
                    items:
                      properties:
                        containerPort:
                          format: int32
                          type: integer
                        hostIP:
                          type: string
                        hostPort:
                          format: int32
                          type: integer
                        name:
                          type: string
                        protocol:
                          type: string
                      required:
                      - containerPort
                      type: object
                    type: array
                  readinessProbe:
                    properties:
                      exec:
                        properties:
                          command:
                            items:
                              type: string
                            type: array
                        type: object
                      failureThreshold:
                        format: int32
                        type: integer
                      httpGet:
                        properties:
                          host:
                            type: string
                          httpHeaders:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                              required:
                              - name
                              - value
                              type: object
                            type: array
                          path:
                            type: string
                          port:
                            anyOf:
                            - type: string
                            - type: integer
                          scheme:
                            type: string
                        required:
                        - port
                        type: object
                      initialDelaySeconds:
                        format: int32
                        type: integer
                      periodSeconds:
                        format: int32
                        type: integer
                      successThreshold:
                        format: int32
                        type: integer
                      tcpSocket:
                        properties:
                          host:
                            type: string
                          port:
                            anyOf:
                            - type: string
                            - type: integer
                        required:
                        - port
                        type: object
                      timeoutSeconds:
                        format: int32
                        type: integer
                    type: object
                  resources:
                    properties:
                      limits:
                        type: object
                      requests:
                        type: object
                    type: object
                  securityContext:
                    properties:
                      allowPrivilegeEscalation:
                        type: boolean
                      capabilities:
                        properties:
                          add:
                            items:
                              type: string
                            type: array
                          drop:
                            items:
                              type: string
                            type: array
                        type: object
                      privileged:
                        type: boolean
                      procMount:
                        type: string
                      readOnlyRootFilesystem:
                        type: boolean
                      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
                      windowsOptions:
                        properties:
                          gmsaCredentialSpec:
                            type: string
                          gmsaCredentialSpecName:
                            type: string
                          runAsUserName:
                            type: string
                        type: object
                    type: object
                  startupProbe:
                    properties:
                      exec:
                        properties:
                          command:
                            items:
                              type: string
                            type: array
                        type: object
                      failureThreshold:
                        format: int32
                        type: integer
                      httpGet:
                        properties:
                          host:
                            type: string
                          httpHeaders:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                              required:
                              - name
                              - value
                              type: object
                            type: array
                          path:
                            type: string
                          port:
                            anyOf:
                            - type: string
                            - type: integer
                          scheme:
                            type: string
                        required:
                        - port
                        type: object
                      initialDelaySeconds:
                        format: int32
                        type: integer
                      periodSeconds:
                        format: int32
                        type: integer
                      successThreshold:
                        format: int32
                        type: integer
                      tcpSocket:
                        properties:
                          host:
                            type: string
                          port:
                            anyOf:
                            - type: string
                            - type: integer
                        required:
                        - port
                        type: object
                      timeoutSeconds:
                        format: int32
                        type: integer
                    type: object
                  stdin:
                    type: boolean
                  stdinOnce:
                    type: boolean
                  terminationMessagePath:
                    type: string
                  terminationMessagePolicy:
                    type: string
                  tty:
                    type: boolean
                  volumeDevices:
                    items:
                      properties:
                        devicePath:
                          type: string
                        name:
                          type: string
                      required:
                      - name
                      - devicePath
                      type: object
                    type: array
                  volumeMounts:
                    items:
                      properties:
                        mountPath:
                          type: string
                        mountPropagation:
                          type: string
                        name:
                          type: string
                        readOnly:
                          type: boolean
                        subPath:
                          type: string
                        subPathExpr:
                          type: string
                      required:
                      - name
                      - mountPath
                      type: object
                    type: array
                  workingDir:
                    type: string
                required:
                - name
                type: object
              type: array
            alertManagerRulesVersion:
              type: string
            alertmanagerURL:
              type: string
            annotations:
              type: object
            clusterScoped:
              type: boolean
            clusters:
              items:
                properties:
                  name:
                    type: string
                  namespace:
                    type: string
                required:
                - name
                type: object
              type: array
            grafana: {}
            imagePullPolicy:
              type: string
            imagePullSecrets:
              items:
                properties:
                  name:
                    type: string
                type: object
              type: array
            initializer: {}
            kubePrometheusURL:
              type: string
            nodeSelector:
              type: object
            persistent:
              type: boolean
            prometheus: {}
            pvReclaimPolicy:
              type: string
            reloader: {}
            storage:
              type: string
            storageClassName:
              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
          required:
          - clusters
          - prometheus
          - reloader
          - initializer
          type: object
      type: object
  version: v1alpha1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: null
  name: tidbinitializers.pingcap.com
spec:
  additionalPrinterColumns:
  - JSONPath: .status.phase
    description: The current phase of initialization
    name: Phase
    priority: 1
    type: string
  - JSONPath: .metadata.creationTimestamp
    name: Age
    type: date
  group: pingcap.com
  names:
    kind: TidbInitializer
    plural: tidbinitializers
    shortNames:
    - ti
  scope: Namespaced
  validation:
    openAPIV3Schema:
      properties:
        apiVersion:
          type: string
        kind:
          type: string
        spec:
          properties:
            cluster:
              properties:
                name:
                  type: string
                namespace:
                  type: string
              required:
              - name
              type: object
            image:
              type: string
            imagePullPolicy:
              type: string
            imagePullSecrets:
              items:
                properties:
                  name:
                    type: string
                type: object
              type: array
            initSql:
              type: string
            initSqlConfigMap:
              type: string
            passwordSecret:
              type: string
            permitHost:
              type: string
            resources:
              properties:
                limits:
                  type: object
                requests:
                  type: object
              type: object
            timezone:
              type: string
            tlsClientSecretName:
              type: string
          required:
          - image
          - cluster
          type: object
      type: object
  version: v1alpha1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: null
  name: tidbclusterautoscalers.pingcap.com
spec:
  additionalPrinterColumns:
  - JSONPath: .spec.tidb.maxReplicas
    description: The maximal replicas of TiDB
    name: TiDB-MaxReplicas
    type: integer
  - JSONPath: .spec.tidb.minReplicas
    description: The minimal replicas of TiDB
    name: TiDB-MinReplicas
    type: integer
  - JSONPath: .spec.tikv.maxReplicas
    description: The maximal replicas of TiKV
    name: TiKV-MaxReplicas
    type: integer
  - JSONPath: .spec.tikv.minReplicas
    description: The minimal replicas of TiKV
    name: TiKV-MinReplicas
    type: integer
  - JSONPath: .metadata.creationTimestamp
    name: Age
    type: date
  group: pingcap.com
  names:
    kind: TidbClusterAutoScaler
    plural: tidbclusterautoscalers
    shortNames:
    - ta
  scope: Namespaced
  validation:
    openAPIV3Schema:
      properties:
        apiVersion:
          type: string
        kind:
          type: string
        spec:
          properties:
            cluster:
              properties:
                name:
                  type: string
                namespace:
                  type: string
              required:
              - name
              type: object
            metricsUrl:
              type: string
            monitor:
              properties:
                grafanaEnabled:
                  type: boolean
                name:
                  type: string
                namespace:
                  type: string
              required:
              - name
              type: object
            tidb:
              properties:
                externalEndpoint:
                  properties:
                    host:
                      type: string
                    path:
                      type: string
                    port:
                      format: int32
                      type: integer
                    tlsSecret:
                      properties:
                        name:
                          type: string
                        namespace:
                          type: string
                      required:
                      - name
                      - namespace
                      type: object
                  required:
                  - host
                  - port
                  - path
                  type: object
                maxReplicas:
                  format: int32
                  type: integer
                metrics:
                  items: {}
                  type: array
                metricsTimeDuration:
                  type: string
                minReplicas:
                  format: int32
                  type: integer
                scaleInIntervalSeconds:
                  format: int32
                  type: integer
                scaleOutIntervalSeconds:
                  format: int32
                  type: integer
              required:
              - maxReplicas
              type: object
            tikv:
              properties:
                externalEndpoint:
                  properties:
                    host:
                      type: string
                    path:
                      type: string
                    port:
                      format: int32
                      type: integer
                    tlsSecret:
                      properties:
                        name:
                          type: string
                        namespace:
                          type: string
                      required:
                      - name
                      - namespace
                      type: object
                  required:
                  - host
                  - port
                  - path
                  type: object
                maxReplicas:
                  format: int32
                  type: integer
                metrics:
                  items: {}
                  type: array
                metricsTimeDuration:
                  type: string
                minReplicas:
                  format: int32
                  type: integer
                scaleInIntervalSeconds:
                  format: int32
                  type: integer
                scaleOutIntervalSeconds:
                  format: int32
                  type: integer
              required:
              - maxReplicas
              type: object
          required:
          - cluster
          type: object
        status:
          properties:
            tidb:
              properties:
                currentReplicas:
                  format: int32
                  type: integer
                lastAutoScalingTimestamp:
                  format: date-time
                  type: string
                metrics:
                  items:
                    properties:
                      availableStorage:
                        type: string
                      baselineAvailableStorage:
                        type: string
                      capacityStorage:
                        type: string
                      currentValue:
                        type: string
                      name:
                        type: string
                      storagePressure:
                        type: boolean
                      storagePressureStartTime:
                        format: date-time
                        type: string
                      thresholdValue:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                recommendedReplicas:
                  format: int32
                  type: integer
              required:
              - currentReplicas
              type: object
            tikv:
              properties:
                currentReplicas:
                  format: int32
                  type: integer
                lastAutoScalingTimestamp:
                  format: date-time
                  type: string
                metrics:
                  items:
                    properties:
                      availableStorage:
                        type: string
                      baselineAvailableStorage:
                        type: string
                      capacityStorage:
                        type: string
                      currentValue:
                        type: string
                      name:
                        type: string
                      storagePressure:
                        type: boolean
                      storagePressureStartTime:
                        format: date-time
                        type: string
                      thresholdValue:
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                recommendedReplicas:
                  format: int32
                  type: integer
              required:
              - currentReplicas
              type: object
          type: object
      type: object
  version: v1alpha1