---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    app.kubernetes.io/instance: amd-gpu-operator
    app.kubernetes.io/name: node-feature-discovery
    app.kubernetes.io/version: v0.16.1
    role: worker
  name: amd-gpu-operator-node-feature-discovery-worker
  namespace: kube-amd-gpu
spec:
  selector:
    matchLabels:
      app.kubernetes.io/instance: amd-gpu-operator
      app.kubernetes.io/name: node-feature-discovery
      role: worker
  template:
    metadata:
      labels:
        app.kubernetes.io/instance: amd-gpu-operator
        app.kubernetes.io/name: node-feature-discovery
        role: worker
    spec:
      containers:
        - args:
            - -feature-gates=NodeFeatureAPI=true
            - -feature-gates=NodeFeatureGroupAPI=false
            - -metrics=8081
          command:
            - nfd-worker
          env:
            - name: NODE_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: POD_UID
              valueFrom:
                fieldRef:
                  fieldPath: metadata.uid
          image: registry.k8s.io/nfd/node-feature-discovery@sha256:0bd331dc6acf082d3353a7ddad6b5725a13cd141b60b31e97a1cd4cf90da0d99 # Original tag: v0.16.1
          imagePullPolicy: IfNotPresent
          livenessProbe:
            grpc:
              port: 8082
            initialDelaySeconds: 10
            periodSeconds: 10
          name: worker
          ports:
            - containerPort: 8081
              name: metrics
          readinessProbe:
            failureThreshold: 10
            grpc:
              port: 8082
            initialDelaySeconds: 5
            periodSeconds: 10
          resources:
            limits:
              memory: 512Mi
            requests:
              cpu: 5m
              memory: 64Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
                - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
          volumeMounts:
            - mountPath: /host-boot
              name: host-boot
              readOnly: true
            - mountPath: /host-etc/os-release
              name: host-os-release
              readOnly: true
            - mountPath: /host-sys
              name: host-sys
              readOnly: true
            - mountPath: /host-usr/lib
              name: host-usr-lib
              readOnly: true
            - mountPath: /host-lib
              name: host-lib
              readOnly: true
            - mountPath: /host-proc/swaps
              name: host-proc-swaps
              readOnly: true
            - mountPath: /etc/kubernetes/node-feature-discovery/source.d/
              name: source-d
              readOnly: true
            - mountPath: /etc/kubernetes/node-feature-discovery/features.d/
              name: features-d
              readOnly: true
            - mountPath: /etc/kubernetes/node-feature-discovery
              name: nfd-worker-conf
              readOnly: true
      dnsPolicy: ClusterFirstWithHostNet
      securityContext: {}
      serviceAccountName: amd-gpu-operator-node-feature-discovery-worker
      tolerations:
        - effect: NoExecute
          key: amd-dcm
          operator: Equal
          value: up
      volumes:
        - hostPath:
            path: /boot
          name: host-boot
        - hostPath:
            path: /etc/os-release
          name: host-os-release
        - hostPath:
            path: /sys
          name: host-sys
        - hostPath:
            path: /usr/lib
          name: host-usr-lib
        - hostPath:
            path: /lib
          name: host-lib
        - hostPath:
            path: /proc/swaps
          name: host-proc-swaps
        - hostPath:
            path: /etc/kubernetes/node-feature-discovery/source.d/
          name: source-d
        - hostPath:
            path: /etc/kubernetes/node-feature-discovery/features.d/
          name: features-d
        - configMap:
            items:
              - key: nfd-worker.conf
                path: nfd-worker.conf
            name: amd-gpu-operator-node-feature-discovery-worker-conf
          name: nfd-worker-conf