apiVersion: kops/v1alpha2
kind: InstanceGroup
metadata:
  name: tikv-ig-001
  labels:
    kops.k8s.io/cluster: dbaas-jacobkops-cluster.k8s.local
spec:
  additionalUserData:
    - name: preuserdata.sh
      type: text/x-shellscript
      content: |
        #!/bin/sh
        for i in `seq 0 26`; do
          if [ -e "/dev/nvme${i}" ]; then # find the device
            if [ -e "/dev/nvme${i}n1" ]; then
              if ls /dev/nvme${i}n1p* > /dev/null 2>&1; then
                echo "disk /dev/nvme${i}n1 already parted, skipping"
              else
                echo "disk /dev/nvme${i}n1 is not parted"
                if ! blkid /dev/nvme${i}n1 > /dev/null; then
                  echo "/dev/nvme${i}n1 not formatted"
                  mkfs -t ext4 /dev/nvme${i}n1
                  DISK_UUID=$(blkid -s UUID -o value /dev/nvme${i}n1)
                  mkdir -p /mnt/local-ssd/$DISK_UUID
                  echo UUID=`blkid -s UUID -o value /dev/nvme${i}n1` /mnt/local-ssd/$DISK_UUID ext4 defaults 0 2 | tee -a /etc/fstab
                fi
              fi
            fi
          fi
        done

        # mount local ssd disks
        mount -a

        cat <<EOF > /etc/security/limits.d/99-tidb.conf
        root        soft        nofile        1000000
        root        hard        nofile        1000000
        root        soft        core          unlimited
        root        soft        stack         10240
        EOF

        # config docker ulimit
        cp /usr/lib/systemd/system/docker.service /etc/systemd/system/docker.service
        sed -i 's/LimitNOFILE=infinity/LimitNOFILE=1048576/' /etc/systemd/system/docker.service
        sed -i 's/LimitNPROC=infinity/LimitNPROC=1048576/' /etc/systemd/system/docker.service
        systemctl daemon-reload
        systemctl restart docker
  machineType: c5d.4xlarge
  role: Node
  nodeLabels:
    pingcap.com/aws-local-ssd: "true"
  maxSize: 4
  minSize: 3
  subnets:
    - us-west-2a
    - us-west-2b
    - us-west-2c
    - us-west-2d
