apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: vpa-agent
  labels:
    control-plane: vpa-agent
spec:
  selector:
    matchLabels:
      control-plane: vpa-agent
  template:
    metadata:
      labels:
        control-plane: vpa-agent
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
              - matchExpressions:
                  - key: serverless.tidbcloud.com/node
                    operator: In
                    values:
                      - "tidb"
      tolerations:
        - operator: "Exists"
      priorityClassName: system-node-critical
      restartPolicy: Always
      containers:
        - name: vpa-agent
          image: tidbcloudprod-registry.ap-southeast-1.cr.aliyuncs.com/dbaas/aws-shared-provider-vpa-agent:b004fee264939848560f153a6ff89cc8332d07be
          resources:
            requests:
              cpu: 100m
              memory: 64Mi
            limits:
              cpu: 100m
              memory: 64Mi
          command:
            - /vpa-agent
          args:
            - --nodeName=$(NODE_NAME)
            - --enableMonitorRebalanceSignal=false
            - --enableKillPod=false
          env:
            - name: NODE_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
          volumeMounts:
          - mountPath: /host_proc
            name: host-proc
            readOnly: true
          ports:
            - name: server-port
              containerPort: 4040
          livenessProbe:
            httpGet:
              path: /healthz
              port: server-port
            initialDelaySeconds: 15
          readinessProbe:
            httpGet:
              path: /readyz
              port: server-port
            initialDelaySeconds: 15
      volumes:
      - name: host-proc
        hostPath:
          path: /proc
          type: Directory
      hostNetwork: true
      serviceAccountName: vpa-agent
