apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: generic-device-plugin
  labels:
    app.kubernetes.io/controller: main
    app.kubernetes.io/instance: generic-device-plugin
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: generic-device-plugin
    app.kubernetes.io/version: 0.21.1
    helm.sh/chart: generic-device-plugin-0.21.6
  namespace: generic-device-plugin
spec:
  revisionHistoryLimit: 3
  selector:
    matchLabels:
      app.kubernetes.io/controller: main
      app.kubernetes.io/name: generic-device-plugin
      app.kubernetes.io/instance: generic-device-plugin
  template:
    metadata:
      annotations:
        checksum/configMaps: 473a15a17751b0c136528e129767f6ed0871ca7522e5a6ccd90d041808571e81
      labels:
        app.kubernetes.io/controller: main
        app.kubernetes.io/instance: generic-device-plugin
        app.kubernetes.io/name: generic-device-plugin
    spec:
      enableServiceLinks: false
      serviceAccountName: generic-device-plugin
      automountServiceAccountToken: false
      priorityClassName: system-node-critical
      hostIPC: false
      hostNetwork: false
      hostPID: false
      dnsPolicy: ClusterFirst
      tolerations:
        - effect: NoExecute
          operator: Exists
        - effect: NoSchedule
          operator: Exists
      containers:
        - args:
            - --config=/config/config.yaml
          env:
            - name: LISTEN
              value: :8080
            - name: PLUGIN_DIRECTORY
              value: /var/lib/kubelet/device-plugins
            - name: DOMAIN
              value: devic.es
          image: ghcr.io/squat/generic-device-plugin:latest@sha256:dc192e164c69b03f156765793a1be62ca437709ae477b27ca7d8f3dcf5021576
          imagePullPolicy: Always
          name: main
          securityContext:
            privileged: true
          volumeMounts:
            - mountPath: /config
              name: config
            - mountPath: /dev
              name: dev
            - mountPath: /var/lib/kubelet/device-plugins
              name: device-plugins
      volumes:
        - configMap:
            name: generic-device-plugin-config
          name: config
        - hostPath:
            path: /dev
          name: dev
        - hostPath:
            path: /var/lib/kubelet/device-plugins
          name: device-plugins
