apiVersion: apps/v1
kind: Deployment
metadata:
  name: cluster-ng-server
  labels:
    app: cluster-ng-server
spec:
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  revisionHistoryLimit: 2
  replicas: 1
  selector:
    matchLabels:
      app: cluster-ng-server
  template:
    metadata:
      labels:
        app: cluster-ng-server
    spec:
      serviceAccount: cluster-ng-server
      serviceAccountName: cluster-ng-server
      containers:
        - name: server
          image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/cluster-service-ng:release-v0.31-5506a950e74516c28b915fa22c8f4bd54c984a88
          command:
            - /cluster_ng_server
          args:
            - server
            - --config=/etc/cluster_ng_server/config.yaml
          ports:
            - name: http
              containerPort: 8080
              protocol: TCP
            - name: metrics
              containerPort: 9090
              protocol: TCP
          readinessProbe:
            failureThreshold: 10
            initialDelaySeconds: 5
            periodSeconds: 5
            successThreshold: 1
            tcpSocket:
              port: 8080
            timeoutSeconds: 1
          env:
            - name: TIINF_POD_NAME
              value: cluster-next-gen-server
            - name: RDS_USERNAME
              valueFrom:
                secretKeyRef:
                  name: rds-password
                  key: username
            - name: RDS_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: rds-password
                  key: password
          volumeMounts:
            - mountPath: /etc/cluster_ng_server
              name: config
              readOnly: true
          resources:
            limits:
              cpu: 1
              memory: 500Mi
            requests:
              cpu: 500m
              memory: 200Mi
      volumes:
        - name: config
          configMap:
            name: cluster-ng-server-root-config
