generateName: testbed-rawkv-app-router-
items:
    - name: tiup
      type: WORKLOAD_NODE # 测试资源类型: WORKLOAD_NODE
      spec:
        artifact:
          artifactPaths:
            - /usr/src/automate/
        container:
          name: node
          image: hub.pingcap.net/qa/rawkvtiup:latest
          imagePullPolicy: Always
          resources:
            requests:
              # NOTE: 目前对 tiup 的支持是将 pod 当做虚拟机使用，如果节点占用内存接近 request.memory 时，可能会导致 pod 被 oom killed，导致测试集群无法恢复(因为 tiup 用的 ssh key，systemd service 等被删除)
              # 所以在申请资源时 test-infra 会注入 systemd memory limit = requests.memory - 512 MiB
              #
              # 但中控机上执行的 tiup cluster 命令, haproxy 等不受 systemd 管控，仍需要适当调大 requests.memory 值，避免 pod 重启导致数据丢失
              memory: 16Gi
              cpu: 8000m
          securityContext:
            capabilities:
              add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
    - name: pd
      type: WORKLOAD_NODE
      spec:
          replicas: 3
          artifact:
            artifactPaths:         # NOTE: 测试结束后会打包的目录, 每个目录一个 tarball 传到 minio
            - /tiup/deploy/pd-2579/log
          container:
              name: node
              image: hub.pingcap.net/qa/base-image
              imagePullPolicy: Always
              resources:
                requests:
                    cpu: 4000m
                    memory: 8Gi
              securityContext:
                  capabilities:
                      add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
              topologySpreadConstraints:
                  # in test-infra env there are only 3 zones: zone1, zone2 and zone3
                  -   topologyKey: zone
    - name: tikv
      type: WORKLOAD_NODE
      spec:
          replicas: 20
          artifact:
            artifactPaths:         # NOTE: 测试结束后会打包的目录, 每个目录一个 tarball 传到 minio
            - /tiup/deploy/tikv-20360/log
          container:
              name: node
              image: hub.pingcap.net/qa/base-image
              imagePullPolicy: Always
              # storageClassName: "fast-disks"
              resources:
                requests:
                    cpu: 7000m
                    memory: 16Gi
              securityContext:
                  capabilities:
                      add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
    - name: workload0
      type: WORKLOAD_NODE
      spec:
        replicas: 4
        artifact:
            artifactPaths:
                - /usr/src/rawkvworkload/log/
        container:
          name: workload
          image: hub.pingcap.net/qa/rawkvworkload:release-3.1
          labels:
            workload-app: ccbload
          command:
            - tail
            - "-f"
            - "/dev/null"
          resources:
            requests:
              memory: 16Gi
              cpu: 8000m
    - name: ccbloadimport
      type: WORKLOAD_NODE
      spec:
        artifact:
            artifactPaths:
                - /usr/src/rawkvworkload/log/
        container:
          name: workload
          image: hub.pingcap.net/qa/rawkvworkload:release-3.1
          command:
            - tail
            - "-f"
            - "/dev/null"
          resources:
            requests:
              memory: 16Gi
              cpu: 4000m
    - name: clientmonitor
      type: WORKLOAD_NODE
      spec:
        artifact:
            artifactPaths:
                - /prometheus
        container:
          name: workload
          image: prom/prometheus:v2.8.1
          resources:
            requests:
              memory: 32Gi
              cpu: 4000m