---
# Source: aws-efa-k8s-device-plugin/templates/daemonset.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: aws-efa-aws-efa-k8s-device-plugin
  labels:
    helm.sh/chart: aws-efa-k8s-device-plugin-v0.5.29
    app.kubernetes.io/name: aws-efa-k8s-device-plugin
    app.kubernetes.io/instance: aws-efa
    app.kubernetes.io/version: "v0.5.20"
    app.kubernetes.io/managed-by: Helm
spec:
  selector:
    matchLabels:
      name:  aws-efa-aws-efa-k8s-device-plugin
  updateStrategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        name: aws-efa-aws-efa-k8s-device-plugin
    spec:
      automountServiceAccountToken: false
      tolerations:
        - key: CriticalAddonsOnly
          operator: Exists
      # Mark this pod as a critical add-on; when enabled, the critical add-on
      # scheduler reserves resources for critical add-on pods so that they can
      # be rescheduled after a failure.
      # See https://kubernetes.io/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/
      priorityClassName: "system-node-critical"
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
              - matchExpressions:
                - key: node.kubernetes.io/instance-type
                  operator: In
                  values:
                    - c5n.18xlarge
                    - c5n.9xlarge
                    - c5n.metal
                    - c6a.48xlarge
                    - c6a.metal
                    - c6gn.16xlarge
                    - c6i.32xlarge
                    - c6i.metal
                    - c6id.32xlarge
                    - c6id.metal
                    - c6in.32xlarge
                    - c6in.metal
                    - c7a.48xlarge
                    - c7a.metal-48xl
                    - c7g.16xlarge
                    - c7g.metal
                    - c7gd.16xlarge
                    - c7gd.metal
                    - c7gn.16xlarge
                    - c7gn.metal
                    - c7i.48xlarge
                    - c7i.metal-48xl
                    - c8a.48xlarge
                    - c8a.metal-48xl
                    - c8g.24xlarge
                    - c8g.48xlarge
                    - c8g.metal-24xl
                    - c8g.metal-48xl
                    - c8gb.16xlarge
                    - c8gb.24xlarge
                    - c8gb.48xlarge
                    - c8gb.metal-24xl
                    - c8gb.metal-48xl
                    - c8gd.24xlarge
                    - c8gd.48xlarge
                    - c8gd.metal-24xl
                    - c8gd.metal-48xl
                    - c8gn.16xlarge
                    - c8gn.24xlarge
                    - c8gn.48xlarge
                    - c8gn.metal-24xl
                    - c8gn.metal-48xl
                    - c8i.48xlarge
                    - c8i.96xlarge
                    - c8i.metal-48xl
                    - c8i.metal-96xl
                    - c8ib.48xlarge
                    - c8ib.96xlarge
                    - c8ib.metal-48xl
                    - c8ib.metal-96xl
                    - c8id.48xlarge
                    - c8id.96xlarge
                    - c8id.metal-48xl
                    - c8id.metal-96xl
                    - c8in.48xlarge
                    - c8in.96xlarge
                    - c8in.metal-48xl
                    - c8in.metal-96xl
                    - dl1.24xlarge
                    - dl2q.24xlarge
                    - f2.48xlarge
                    - g4dn.12xlarge
                    - g4dn.16xlarge
                    - g4dn.8xlarge
                    - g4dn.metal
                    - g5.12xlarge
                    - g5.16xlarge
                    - g5.24xlarge
                    - g5.48xlarge
                    - g5.8xlarge
                    - g6.12xlarge
                    - g6.16xlarge
                    - g6.24xlarge
                    - g6.48xlarge
                    - g6.8xlarge
                    - g6e.12xlarge
                    - g6e.16xlarge
                    - g6e.24xlarge
                    - g6e.48xlarge
                    - g6e.8xlarge
                    - g7e.12xlarge
                    - g7e.24xlarge
                    - g7e.48xlarge
                    - g7e.8xlarge
                    - gr6.8xlarge
                    - hpc6a.48xlarge
                    - hpc6id.32xlarge
                    - hpc7a.12xlarge
                    - hpc7a.24xlarge
                    - hpc7a.48xlarge
                    - hpc7a.96xlarge
                    - hpc7g.16xlarge
                    - hpc7g.4xlarge
                    - hpc7g.8xlarge
                    - hpc8a.96xlarge
                    - i3en.12xlarge
                    - i3en.24xlarge
                    - i3en.metal
                    - i4g.16xlarge
                    - i4i.32xlarge
                    - i4i.metal
                    - i7i.24xlarge
                    - i7i.48xlarge
                    - i7i.metal-48xl
                    - i7ie.48xlarge
                    - i7ie.metal-48xl
                    - i8g.48xlarge
                    - i8g.metal-48xl
                    - i8ge.48xlarge
                    - i8ge.metal-48xl
                    - im4gn.16xlarge
                    - inf1.24xlarge
                    - m5dn.24xlarge
                    - m5dn.metal
                    - m5n.24xlarge
                    - m5n.metal
                    - m5zn.12xlarge
                    - m5zn.metal
                    - m6a.48xlarge
                    - m6a.metal
                    - m6i.32xlarge
                    - m6i.metal
                    - m6id.32xlarge
                    - m6id.metal
                    - m6idn.32xlarge
                    - m6idn.metal
                    - m6in.32xlarge
                    - m6in.metal
                    - m7a.48xlarge
                    - m7a.metal-48xl
                    - m7g.16xlarge
                    - m7g.metal
                    - m7gd.16xlarge
                    - m7gd.metal
                    - m7i.48xlarge
                    - m7i.metal-48xl
                    - m8a.48xlarge
                    - m8a.metal-48xl
                    - m8azn.24xlarge
                    - m8azn.metal-24xl
                    - m8g.24xlarge
                    - m8g.48xlarge
                    - m8g.metal-24xl
                    - m8g.metal-48xl
                    - m8gb.16xlarge
                    - m8gb.24xlarge
                    - m8gb.48xlarge
                    - m8gb.metal-24xl
                    - m8gb.metal-48xl
                    - m8gd.24xlarge
                    - m8gd.48xlarge
                    - m8gd.metal-24xl
                    - m8gd.metal-48xl
                    - m8gn.16xlarge
                    - m8gn.24xlarge
                    - m8gn.48xlarge
                    - m8gn.metal-24xl
                    - m8gn.metal-48xl
                    - m8i.48xlarge
                    - m8i.96xlarge
                    - m8i.metal-48xl
                    - m8i.metal-96xl
                    - m8ib.48xlarge
                    - m8ib.96xlarge
                    - m8id.48xlarge
                    - m8id.96xlarge
                    - m8id.metal-48xl
                    - m8id.metal-96xl
                    - m8idb.48xlarge
                    - m8idb.96xlarge
                    - m8idn.48xlarge
                    - m8idn.96xlarge
                    - m8in.48xlarge
                    - m8in.96xlarge
                    - p3dn.24xlarge
                    - p4d.24xlarge
                    - p4de.24xlarge
                    - p5.48xlarge
                    - p5.4xlarge
                    - p5e.48xlarge
                    - p5en.48xlarge
                    - p6-b200.48xlarge
                    - p6-b300.48xlarge
                    - p6e-gb200.36xlarge
                    - p6e-gb300.36xlarge
                    - r5dn.24xlarge
                    - r5dn.metal
                    - r5n.24xlarge
                    - r5n.metal
                    - r6a.48xlarge
                    - r6a.metal
                    - r6i.32xlarge
                    - r6i.metal
                    - r6id.32xlarge
                    - r6id.metal
                    - r6idn.32xlarge
                    - r6idn.metal
                    - r6in.32xlarge
                    - r6in.metal
                    - r7a.48xlarge
                    - r7a.metal-48xl
                    - r7g.16xlarge
                    - r7g.metal
                    - r7gd.16xlarge
                    - r7gd.metal
                    - r7i.48xlarge
                    - r7i.metal-48xl
                    - r7iz.32xlarge
                    - r7iz.metal-32xl
                    - r8a.48xlarge
                    - r8a.metal-48xl
                    - r8g.24xlarge
                    - r8g.48xlarge
                    - r8g.metal-24xl
                    - r8g.metal-48xl
                    - r8gb.16xlarge
                    - r8gb.24xlarge
                    - r8gb.48xlarge
                    - r8gb.metal-24xl
                    - r8gb.metal-48xl
                    - r8gd.24xlarge
                    - r8gd.48xlarge
                    - r8gd.metal-24xl
                    - r8gd.metal-48xl
                    - r8gn.16xlarge
                    - r8gn.24xlarge
                    - r8gn.48xlarge
                    - r8gn.metal-24xl
                    - r8gn.metal-48xl
                    - r8i.48xlarge
                    - r8i.96xlarge
                    - r8i.metal-48xl
                    - r8i.metal-96xl
                    - r8ib.48xlarge
                    - r8ib.96xlarge
                    - r8id.48xlarge
                    - r8id.96xlarge
                    - r8id.metal-48xl
                    - r8id.metal-96xl
                    - r8idb.48xlarge
                    - r8idb.96xlarge
                    - r8idn.48xlarge
                    - r8idn.96xlarge
                    - r8in.48xlarge
                    - r8in.96xlarge
                    - trn1.32xlarge
                    - trn1n.32xlarge
                    - trn2-ac.24xlarge
                    - trn2.3xlarge
                    - trn2.48xlarge
                    - trn2u-ac.24xlarge
                    - trn2u.48xlarge
                    - u7i-12tb.224xlarge
                    - u7i-6tb.112xlarge
                    - u7i-8tb.112xlarge
                    - u7in-16tb.224xlarge
                    - u7in-24tb.224xlarge
                    - u7in-32tb.224xlarge
                    - vt1.24xlarge
                    - x2idn.32xlarge
                    - x2idn.metal
                    - x2iedn.32xlarge
                    - x2iedn.metal
                    - x2iezn.12xlarge
                    - x2iezn.metal
                    - x8aedz.24xlarge
                    - x8aedz.metal-24xl
                    - x8g.24xlarge
                    - x8g.48xlarge
                    - x8g.metal-24xl
                    - x8g.metal-48xl
                    - x8i.48xlarge
                    - x8i.64xlarge
                    - x8i.96xlarge
                    - x8i.metal-48xl
                    - x8i.metal-96xl
                - key: eks.amazonaws.com/compute-type
                  operator: NotIn
                  values:
                  - auto
      hostNetwork: true
      containers:
        - image: 602401143452.dkr.ecr.us-west-2.amazonaws.com/eks/aws-efa-k8s-device-plugin:v0.5.20
          name: aws-efa-k8s-device-plugin
          securityContext:
            allowPrivilegeEscalation: true
            privileged: true
            runAsNonRoot: false
            runAsUser: 0
          resources:
            requests:
              cpu: 10m
              memory: 20Mi
          volumeMounts:
            - name: device-plugin
              mountPath: /var/lib/kubelet/device-plugins
            - name: infiniband-volume
              mountPath: /dev/infiniband/
            - name: neuron-tools
              mountPath: /opt/aws/neuron/
      volumes:
        - name: device-plugin
          hostPath:
            path: /var/lib/kubelet/device-plugins
        - name: infiniband-volume
          hostPath:
            path: /dev/infiniband/
        - name: neuron-tools
          hostPath:
            path: /opt/aws/neuron/
            type: DirectoryOrCreate
