apiVersion: batch/v1
kind: CronJob
metadata:
  name: cse-dfsgc
  namespace: tidb-serverless
spec:
  schedule: 0 0 * * *
  successfulJobsHistoryLimit: 3
  suspend: false
  concurrencyPolicy: Forbid
  failedJobsHistoryLimit: 1
  jobTemplate:
    spec:
      backoffLimit: 16
      template:
        metadata:
          annotations:
            cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
          labels:
            app.kubernetes.io/name: cse-dfsgc
        spec:
          affinity:
            nodeAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                  - matchExpressions:
                      - key: serverless.tidbcloud.com/node
                        operator: In
                        values:
                          - tikv
          tolerations:
            - effect: NoSchedule
              key: serverless.tidbcloud.com/node
              operator: Equal
              value: tikv
          containers:
            - command:
                - /cse-ctl
                - dfs-gc
                - --pd
                - serverless-cluster-pd.tidb-serverless.svc:2379
                - --concurrency
                - "64"
                - --start-time-safe-interval
                - "7d"
                - --file-types-whitelist
                - "sst,txn,col,vec,schema"
                - --cacert
                - /server-cert/ca.crt
                - --cert
                - /server-cert/tls.crt
                - --key
                - /server-cert/tls.key
              env:
                - name: DFS_PREFIX
                  value: CP9_STARTER_SERVERLESS_PREFIX
                - name: DFS_S3_BUCKET
                  value: CP9_STARTER_SERVERLESS_BUCKET
                - name: DFS_S3_REGION
                  value: CP9_STARTER_SERVERLESS_REGION
                - name: CSE_MASTER_KEY_ID
                  value: CP9_STARTER_CSE_MASTER_KEY_ID
                - name: CSE_MASTER_KEY_CIPHER_TEXT
                  value: CP9_STARTER_CSE_KEY_CIPHERTEXT
                - name: CSE_MASTER_KEY_VENDOR
                  value: CP9_STARTER_CSE_KEY_VENDOR
                - name: CA_PATH
                  value: /server-cert/ca.crt
                - name: CERT_PATH
                  value: /server-cert/tls.crt
                - name: KEY_PATH
                  value: /server-cert/tls.key
              image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/serverless/tikv:5b7adce957a177fdebfa4e32740f31ca92301195
              imagePullPolicy: IfNotPresent
              name: cse-dfsgc
              resources:
                limits:
                  cpu: "4"
                  memory: 8Gi
                requests:
                  cpu: 500m
                  memory: 2Gi
              terminationMessagePath: /dev/termination-log
              terminationMessagePolicy: File
              volumeMounts:
                - mountPath: /server-cert
                  name: server-cert
          dnsPolicy: ClusterFirst
          restartPolicy: OnFailure
          schedulerName: default-scheduler
          securityContext: {}
          serviceAccount: backup-restore
          serviceAccountName: backup-restore
          terminationGracePeriodSeconds: 30
          volumes:
            - name: server-cert
              secret:
                secretName: cse-dfsgc-cluster-secret
