apiVersion: apps/v1
kind: Deployment
metadata:
  name: k8s-version-controller
  labels:
    app: k8s-version-controller
spec:
  replicas: 0
  selector:
    matchLabels:
      app: k8s-version-controller
  template:
    metadata:
      labels:
        app: k8s-version-controller
    spec:
      serviceAccountName: gke-provider
      nodeSelector:
        iam.gke.io/gke-metadata-server-enabled: "true"
      tolerations:
        - effect: NoSchedule
          key: iam.gke.io/gke-metadata-server-enabled
          operator: Exists
      containers:
        - name: k8s-version-controller
          image: gcr.io/pingcap-gardener/tidbcloud/gke-provider:c015445296d41bf7fb997907a30d7e5289d4a364
          command:
            - /eks-provider
            - --root-config=/etc/infra-api/config.yaml
            - --enable-k8s-version-controller=true
          volumeMounts:
            - name: kubeconfig
              mountPath: /.kube
            - name: root-config
              mountPath: /etc/infra-api
          env:
            - name: KUBECONFIG
              value: /.kube/config
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
            limits:
              cpu: 500m
              memory: 500Mi
      volumes:
        - name: kubeconfig
          secret:
            secretName: api-server-kubeconfig
        - name: root-config
          configMap:
            name: gke-provider-root-config
