apiVersion: apps/v1
kind: Deployment
metadata:
  name: tidb-x-migration
  namespace: tidb-management-service
  labels:
    app: tidb-x-migration
spec:
  replicas: 2
  selector:
    matchLabels:
      app: tidb-x-migration
  template:
    metadata:
      labels:
        app: tidb-x-migration
    spec:
      containers:
      - name: tidb-x-migration
        image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/tidb-management-service:migration-7962527f61f8813a47d2ac927190a4e9afde1662
        ports:
        - containerPort: 8080
        env:
        - name: PORT
          value: "8080"
        - name: DATA_DIR
          value: "/data"
        - name: STORAGE_TYPE
          value: "mysql"
        - name: MYSQL_DSN
          valueFrom:
            secretKeyRef:
              name: tidb-x-migration
              key: tidb_dsn
        - name: TIDB_DSN
          value: ""
        - name: MAX_RETRIES
          value: "3"
        - name: MAX_CONCURRENT_TASKS
          value: "4"
        - name: TASK_POLL_INTERVAL_MS
          value: "500"
        - name: STALE_TASK_TTL_SECONDS
          value: "900"
        - name: DUMPLING_TIMEOUT_SECONDS
          value: "300"
        - name: LIGHTNING_TIMEOUT_SECONDS
          value: "900"
        - name: LIGHTNING_TABLE_CONCURRENCY
          value: "16"
        - name: LIGHTNING_INDEX_CONCURRENCY
          value: "16"
        - name: LIGHTNING_REGION_CONCURRENCY
          value: "16"
        - name: LIGHTNING_IO_CONCURRENCY
          value: "8"
        - name: LIGHTNING_BATCH_SIZE
          value: "65536"
        - name: LIGHTNING_BATCH_ROWS
          value: "32768"
        - name: ENABLE_POST_IMPORT_VERIFICATION
          value: "false"
        resources:
          requests:
            cpu: 100m
            memory: 256Mi
          limits:
            cpu: 500m
            memory: 512Mi
        livenessProbe:
          httpGet:
            path: /health
            port: 8080
          initialDelaySeconds: 20
          periodSeconds: 30
        readinessProbe:
          httpGet:
            path: /health
            port: 8080
          initialDelaySeconds: 10
          periodSeconds: 15
        command:
        - /command/tidb-x-migration/tidb-x-migration
        volumeMounts:
        - name: data
          mountPath: /data
      volumes:
      - name: data
        emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
  name: tidb-x-migration
  namespace: tidb-management-service
spec:
  selector:
    app: tidb-x-migration
  ports:
  - port: 8080
    targetPort: 8080
  type: ClusterIP
