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
      hostNetwork: true
      priorityClassName: system-node-critical
      restartPolicy: Always
      serviceAccountName: vpa-agent
      tolerations:
        - operator: Exists
      containers:
        - name: vpa-agent
          image: cp9.local/vpa-agent:placeholder
          imagePullPolicy: Always
          command:
            - /vpa-agent
          args:
            - --nodeName=$(NODE_NAME)
          env:
            - name: NODE_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
          ports:
            - name: server-port
              containerPort: 4040
          livenessProbe:
            httpGet:
              path: /healthz
              port: server-port
            initialDelaySeconds: 15
          readinessProbe:
            httpGet:
              path: /readyz
              port: server-port
            initialDelaySeconds: 15
          resources:
            limits:
              cpu: 100m
              memory: 64Mi
            requests:
              cpu: 100m
              memory: 64Mi
          volumeMounts:
            - name: host-proc
              mountPath: /host_proc
              readOnly: true
      volumes:
        - name: host-proc
          hostPath:
            path: /proc
            type: Directory
