apiVersion: apps/v1
kind: StatefulSet
metadata:
  labels:
    control-plane: fts-server
  name: fts-server
  namespace: tidb-admin
spec:
  minReadySeconds: 5
  persistentVolumeClaimRetentionPolicy:
    whenDeleted: Delete
    whenScaled: Delete
  podManagementPolicy: Parallel
  replicas: 2
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      control-plane: fts-server
  serviceName: fts-server
  template:
    metadata:
      labels:
        control-plane: fts-server
        app.kubernetes.io/component: fts-server
        app.kubernetes.io/name: fts-server
      annotations:
        prometheus.io/path: /metrics
        prometheus.io/port: "8443"
        prometheus.io/scrape: "true"
    spec:
      containers:
      - args:
        - --storage-path=/mnt/data0
        command:
          - /qdrant-on-tidb/serving-service
        env:
          # - name: RUST_LOG
          #   value: debug
          # - name: S3_REGION
          #   value: us-east-1
          # - name: S3_FTS_BUCKET
          #   value: dev-us-east-1-f01-fts-serving-server
          - name: FEISHU_WEBHOOK_URL
            value: https://open.feishu.cn/open-apis/bot/v2/hook/d9b583f4-2a33-401d-b0c2-1bf55687d17f
          - name: AUTO_RELOAD_INDEX_INTERVAL
            value: "600"
          # - name: FEISHU_SECRET
          #   value: xxxx
        image: 385595570414.dkr.ecr.us-east-1.amazonaws.com/tidbcloud/serverless/qdrant-on-tidb:4ccf29e3f15b48c7f5f25af35cfc7ed0f55e07cc
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 30
          httpGet:
            path: /healthz
            port: 8443
            scheme: HTTPS
          initialDelaySeconds: 5
          periodSeconds: 20
          successThreshold: 1
          timeoutSeconds: 1
        name: serving-server
        ports:
        - containerPort: 8443
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /healthz
            port: 8443
            scheme: HTTPS
          initialDelaySeconds: 5
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        resources:
          requests:
            cpu: 100m
            memory: 1Gi
        volumeMounts:
        - mountPath: /mnt/data0
          name: data0
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: fts-server
      serviceAccountName: fts-server
      terminationGracePeriodSeconds: 30
  volumeClaimTemplates:
  - apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: data0
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 200Gi
      storageClassName: ebs-sc
      volumeMode: Filesystem
  updateStrategy:
    rollingUpdate:
      partition: 0
    type: RollingUpdate