apiVersion: apps/v1
kind: Deployment
metadata:
  name: tidb-operator-controller-manager
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/component: controller-manager
      app.kubernetes.io/instance: tidb-operator
      app.kubernetes.io/name: tidb-operator
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app.kubernetes.io/component: controller-manager
        app.kubernetes.io/instance: tidb-operator
        app.kubernetes.io/name: tidb-operator
    spec:
      containers:
      - command:
        - /usr/local/bin/tidb-controller-manager
        - -cluster-scoped=false
        - -cluster-permission-node=true
        - -cluster-permission-pv=true
        - -cluster-permission-sc=true
        - -auto-failover=true
        - -pd-failover-period=5m
        - -tikv-failover-period=5m
        - -tiflash-failover-period=5m
        - -tidb-failover-period=5m
        - -dm-master-failover-period=5m
        - -dm-worker-failover-period=5m
        - -v=2
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: TZ
          value: UTC
        image: gcr.io/pingcap-public/dbaas/tidb-operator:v1.4.2
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 10
          initialDelaySeconds: 30
          periodSeconds: 10
          successThreshold: 1
          tcpSocket:
            port: 6060
          timeoutSeconds: 1
        name: tidb-operator
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 300m
            memory: 500Mi
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext:
        runAsUser: 65534
      serviceAccount: serverless-controller
      serviceAccountName: serverless-controller
      terminationGracePeriodSeconds: 30
