name: node-feature-discovery
services:
  node-feature-discovery-amgjh:
    name: node-feature-discovery
    type: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
    settings:
      role Ref:
        api Group: rbac.authorization.k8s.io
        kind: ClusterRole
        name: node-feature-discovery
      subjects:
      - kind: ServiceAccount
        name: node-feature-discovery
        namespace: default
    traits:
      meshmap:
        edges: []
        id: cf93ad06-12db-4de6-ac77-899dc58774c5
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: false
          logoURL: Created by Meshery Authors
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            height: 25px
            width: 25px
            x: "7"
            "y": "7"
            z-index: 1005
          styles: '{"height":"25px","width":"25px","x":"7", "y":"7"}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/clusterrolebinding-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/clusterrolebinding-white.svg
        position:
          posX: 30.10625
          posY: 30
        whiteboardData:
          style:
            height: 10.5
            width: 10.5
            z-index: 1000
  node-feature-discovery-gc-alino:
    name: node-feature-discovery-gc
    type: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
    settings:
      rules:
      - api Groups:
        - ""
        resources:
        - nodes
        verbs:
        - list
        - watch
      - api Groups:
        - ""
        resources:
        - nodes/proxy
        verbs:
        - get
      - api Groups:
        - topology.node.k8s.io
        resources:
        - noderesourcetopologies
        verbs:
        - delete
        - list
      - api Groups:
        - nfd.k8s-sigs.io
        resources:
        - nodefeatures
        verbs:
        - delete
        - list
    traits:
      meshmap:
        edges:
        - data:
            id: 4bd00e54-66c4-4def-ac31-a09766e38a71
            metadata:
              binded_by: 843de102-3e96-4ff6-b3db-0f2680e2a0e0
            source: a6921bb3-da72-487a-8161-25249f81a3f7
            subType: Permission
            target: ddaadb28-fbd5-4f84-b3ac-7b368ea6b3a7
          style:
            control-point-distances: null
            control-point-weights: "0.5"
            curve-style: bezier
            haystack-radius: "0"
            line-color: rgb(153,153,153)
            line-style: dotted
            opacity: "1"
            segment-distances: 20px
            segment-weights: "0.5"
            target-arrow-shape: vee
            taxi-direction: auto
            taxi-turn: 50%
            taxi-turn-min-distance: 10px
            width: 1.5px
        id: a6921bb3-da72-487a-8161-25249f81a3f7
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: false
          logoURL: Created by Meshery Authors
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            height: 22px
            width: 22px
            x: "8.5"
            "y": "7.5"
            z-index: 1003
          styles: '{"height":"22px", "width":"22px", "x":"8.5", "y":"7.5"}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/clusterrole-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/clusterrole-white.svg
        position:
          posX: -90
          posY: 30
        whiteboardData:
          style: {}
  node-feature-discovery-gc-jcoui:
    name: node-feature-discovery-gc
    type: ServiceAccount
    apiVersion: v1
    namespace: default
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
    settings:
      image Pull Secrets: []
      secrets: []
    traits:
      meshmap:
        edges:
        - data:
            id: 4bd00e54-66c4-4def-ac31-a09766e38a71
            metadata:
              binded_by: 843de102-3e96-4ff6-b3db-0f2680e2a0e0
            source: a6921bb3-da72-487a-8161-25249f81a3f7
            subType: Permission
            target: ddaadb28-fbd5-4f84-b3ac-7b368ea6b3a7
          style:
            control-point-distances: null
            control-point-weights: "0.5"
            curve-style: bezier
            haystack-radius: "0"
            line-color: rgb(153,153,153)
            line-style: dotted
            opacity: "1"
            segment-distances: 20px
            segment-weights: "0.5"
            target-arrow-shape: vee
            taxi-direction: auto
            taxi-turn: 50%
            taxi-turn-min-distance: 10px
            width: 1.5px
        id: ddaadb28-fbd5-4f84-b3ac-7b368ea6b3a7
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: true
          logoURL: https://github.com/cncf/artwork/blob/master/projects/kubernetes/icon/white/kubernetes-icon-white.svg
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: bottom-round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            z-index: 5
          styles: ""
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/serviceaccount-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/serviceaccount-white.svg
        position:
          posX: 90
          posY: 70
        whiteboardData:
          style: {}
  node-feature-discovery-gc-owtlt:
    name: node-feature-discovery-gc
    type: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
    settings:
      role Ref:
        api Group: rbac.authorization.k8s.io
        kind: ClusterRole
        name: node-feature-discovery-gc
      subjects:
      - kind: ServiceAccount
        name: node-feature-discovery-gc
        namespace: default
    traits:
      meshmap:
        edges: []
        id: 843de102-3e96-4ff6-b3db-0f2680e2a0e0
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: false
          logoURL: Created by Meshery Authors
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            height: 25px
            width: 25px
            x: "7"
            "y": "7"
            z-index: 1006
          styles: '{"height":"25px","width":"25px","x":"7", "y":"7"}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/clusterrolebinding-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/clusterrolebinding-white.svg
        position:
          posX: 0.11562634505257563
          posY: 50.025694743345014
        whiteboardData:
          style:
            height: 10.5
            width: 10.5
            z-index: 1000
  node-feature-discovery-gc-ywavd:
    name: node-feature-discovery-gc
    type: Deployment
    apiVersion: apps/v1
    namespace: default
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
      role: gc
    settings:
      spec:
        replicas: 1
        selector:
          match Labels:
            app.kubernetes.io/instance: node-feature-discovery
            app.kubernetes.io/name: node-feature-discovery
            role: gc
        template:
          metadata:
            labels:
              app.kubernetes.io/instance: node-feature-discovery
              app.kubernetes.io/name: node-feature-discovery
              role: gc
          spec:
            containers:
            - args:
              - -gc-interval=1h
              command:
              - nfd-gc
              env:
              - name: NODE_NAME
                value From:
                  field Ref:
                    field Path: spec.nodeName
              image: registry.k8s.io/nfd/node-feature-discovery:v0.16.0
              image Pull Policy: IfNotPresent
              name: gc
              ports:
              - container Port: 8081
                name: metrics
              resources:
                limits:
                  cpu: 20m
                  memory: 1Gi
                requests:
                  cpu: 10m
                  memory: 128Mi
              security Context:
                allow Privilege Escalation: false
                capabilities:
                  drop:
                  - ALL
                read Only Root Filesystem: true
                run As Non Root: true
            dns Policy: ClusterFirstWithHostNet
            security Context: {}
            service Account Name: node-feature-discovery-gc
    traits:
      meshmap:
        edges: []
        id: 41745d17-484f-477c-922a-03caee1855f8
        meshmodel-metadata:
          capabilities: |2-
             {
              "designer": {
                "edit": {
                  "shape": {
                    "convert-shape": false
                  }
                }
              }
            }
          defaultData: ""
          genealogy: parent
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: true
          logoURL: Created by Meshery Authors
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: round-pentagon
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            background-opacity: 0.5
            border-width: 2
            z-index: 1002
          styles: '{"border-width":2,"background-opacity":0.5}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/deployment-color.svg
          svgComplete: ui/public/static/img/meshmodels/kubernetes/complete/deployment-complete.svg
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/deployment-white.svg
        position:
          posX: 10
          posY: 10
        whiteboardData:
          style: {}
  node-feature-discovery-jovzy:
    name: node-feature-discovery
    type: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
    settings:
      rules:
      - api Groups:
        - ""
        resources:
        - nodes
        - nodes/status
        verbs:
        - get
        - patch
        - update
        - list
      - api Groups:
        - nfd.k8s-sigs.io
        resources:
        - nodefeatures
        - nodefeaturerules
        - nodefeaturegroups
        verbs:
        - get
        - list
        - watch
      - api Groups:
        - nfd.k8s-sigs.io
        resources:
        - nodefeaturegroups/status
        verbs:
        - patch
        - update
      - api Groups:
        - coordination.k8s.io
        resources:
        - leases
        verbs:
        - create
      - api Groups:
        - coordination.k8s.io
        resource Names:
        - nfd-master.nfd.kubernetes.io
        resources:
        - leases
        verbs:
        - get
        - update
    traits:
      meshmap:
        edges:
        - data:
            id: 33e300c6-a4b9-4dc9-aa7c-0ebfd458636f
            metadata:
              binded_by: cf93ad06-12db-4de6-ac77-899dc58774c5
            source: 38606e45-1d22-472f-a9fe-b09b363d123a
            subType: Permission
            target: a15b3a17-3f22-4011-a439-c0609ade22aa
          style:
            control-point-distances: null
            control-point-weights: "0.5"
            curve-style: bezier
            haystack-radius: "0"
            line-color: rgb(153,153,153)
            line-style: dotted
            opacity: "1"
            segment-distances: 20px
            segment-weights: "0.5"
            target-arrow-shape: vee
            taxi-direction: auto
            taxi-turn: 50%
            taxi-turn-min-distance: 10px
            width: 1.5px
        id: 38606e45-1d22-472f-a9fe-b09b363d123a
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: false
          logoURL: Created by Meshery Authors
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            height: 22px
            width: 22px
            x: "8.5"
            "y": "7.5"
            z-index: 1006
          styles: '{"height":"22px", "width":"22px", "x":"8.5", "y":"7.5"}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/clusterrole-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/clusterrole-white.svg
        position:
          posX: 10
          posY: 30
        whiteboardData:
          style: {}
  node-feature-discovery-master:
    name: node-feature-discovery-master
    type: Deployment
    apiVersion: apps/v1
    namespace: default
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
      role: master
    settings:
      spec:
        replicas: 1
        selector:
          match Labels:
            app.kubernetes.io/instance: node-feature-discovery
            app.kubernetes.io/name: node-feature-discovery
            role: master
        template:
          metadata:
            labels:
              app.kubernetes.io/instance: node-feature-discovery
              app.kubernetes.io/name: node-feature-discovery
              role: master
          spec:
            affinity:
              node Affinity:
                preferred During Scheduling Ignored During Execution:
                - preference:
                    match Expressions:
                    - key: node-role.kubernetes.io/master
                      operator: In
                      values:
                      - ""
                  weight: 1
                - preference:
                    match Expressions:
                    - key: node-role.kubernetes.io/control-plane
                      operator: In
                      values:
                      - ""
                  weight: 1
            containers:
            - args:
              - -crd-controller=true
              - -feature-gates=NodeFeatureAPI=true
              - -feature-gates=NodeFeatureGroupAPI=false
              - -metrics=8081
              command:
              - nfd-master
              env:
              - name: NODE_NAME
                value From:
                  field Ref:
                    field Path: spec.nodeName
              image: registry.k8s.io/nfd/node-feature-discovery:v0.16.0
              image Pull Policy: IfNotPresent
              liveness Probe:
                grpc:
                  port: 8082
                initial Delay Seconds: 10
                period Seconds: 10
              name: master
              ports:
              - container Port: 8080
                name: grpc
              - container Port: 8081
                name: metrics
              readiness Probe:
                failure Threshold: 10
                grpc:
                  port: 8082
                initial Delay Seconds: 5
                period Seconds: 10
              resources:
                limits:
                  cpu: 300m
                  memory: 4Gi
                requests:
                  cpu: 100m
                  memory: 128Mi
              security Context:
                allow Privilege Escalation: false
                capabilities:
                  drop:
                  - ALL
                read Only Root Filesystem: true
                run As Non Root: true
              volume Mounts:
              - mount Path: /etc/kubernetes/node-feature-discovery
                name: nfd-master-conf
                read Only: true
            enable Service Links: false
            security Context: {}
            service Account Name: node-feature-discovery
            tolerations:
            - effect: NoSchedule
              key: node-role.kubernetes.io/master
              operator: Equal
              value: ""
            - effect: NoSchedule
              key: node-role.kubernetes.io/control-plane
              operator: Equal
              value: ""
            volumes:
            - config Map:
                items:
                - key: nfd-master.conf
                  path: nfd-master.conf
                name: node-feature-discovery-master-conf
              name: nfd-master-conf
    traits:
      meshmap:
        edges: []
        id: d0bedae2-6c95-4bc2-93d6-ddf2dad2df92
        meshmodel-metadata:
          capabilities: |2-
             {
              "designer": {
                "edit": {
                  "shape": {
                    "convert-shape": false
                  }
                }
              }
            }
          defaultData: ""
          genealogy: parent
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: true
          logoURL: Created by Meshery Authors
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: round-pentagon
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            background-opacity: 0.5
            border-width: 2
            z-index: 1006
          styles: '{"border-width":2,"background-opacity":0.5}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/deployment-color.svg
          svgComplete: ui/public/static/img/meshmodels/kubernetes/complete/deployment-complete.svg
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/deployment-white.svg
        position:
          posX: -10
          posY: 70
        whiteboardData:
          style: {}
  node-feature-discovery-master-conf:
    name: node-feature-discovery-master-conf
    type: ConfigMap
    apiVersion: v1
    namespace: default
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
    settings:
      data:
        nfd-master.conf: "null"
    traits:
      meshmap:
        edges: []
        id: aaf62cb6-a761-4c78-b62f-81295a23f942
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: true
          logoURL: https://github.com/cncf/artwork/blob/master/projects/kubernetes/icon/white/kubernetes-icon-white.svg
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: bottom-round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            z-index: 1001
          styles: ""
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/configmap-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/configmap-white.svg
        position:
          posX: -50
          posY: 70
        whiteboardData:
          style: {}
  node-feature-discovery-vvncg:
    name: node-feature-discovery
    type: ServiceAccount
    apiVersion: v1
    namespace: default
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
    settings:
      image Pull Secrets: []
      secrets: []
    traits:
      meshmap:
        edges:
        - data:
            id: 33e300c6-a4b9-4dc9-aa7c-0ebfd458636f
            metadata:
              binded_by: cf93ad06-12db-4de6-ac77-899dc58774c5
            source: 38606e45-1d22-472f-a9fe-b09b363d123a
            subType: Permission
            target: a15b3a17-3f22-4011-a439-c0609ade22aa
          style:
            control-point-distances: null
            control-point-weights: "0.5"
            curve-style: bezier
            haystack-radius: "0"
            line-color: rgb(153,153,153)
            line-style: dotted
            opacity: "1"
            segment-distances: 20px
            segment-weights: "0.5"
            target-arrow-shape: vee
            taxi-direction: auto
            taxi-turn: 50%
            taxi-turn-min-distance: 10px
            width: 1.5px
        id: a15b3a17-3f22-4011-a439-c0609ade22aa
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: true
          logoURL: https://github.com/cncf/artwork/blob/master/projects/kubernetes/icon/white/kubernetes-icon-white.svg
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: bottom-round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides: ""
          styles: ""
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/serviceaccount-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/serviceaccount-white.svg
        position:
          posX: 50
          posY: 30
        whiteboardData:
          style: {}
  node-feature-discovery-worker-conf:
    name: node-feature-discovery-worker-conf
    type: ConfigMap
    apiVersion: v1
    namespace: default
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
    settings:
      data:
        nfd-worker.conf: "null"
    traits:
      meshmap:
        edges: []
        id: 8181bafc-facd-4784-b0f4-6f84b67afb21
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: true
          logoURL: https://github.com/cncf/artwork/blob/master/projects/kubernetes/icon/white/kubernetes-icon-white.svg
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: bottom-round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            z-index: 1004
          styles: ""
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/configmap-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/configmap-white.svg
        position:
          posX: 10
          posY: 70
        whiteboardData:
          style: {}
  node-feature-discovery-worker-drbqd:
    name: node-feature-discovery-worker
    type: ServiceAccount
    apiVersion: v1
    namespace: default
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
    settings:
      image Pull Secrets: []
      secrets: []
    traits:
      meshmap:
        edges:
        - data:
            id: f8425948-ac51-431b-8a3f-3bd4361d3c62
            metadata:
              binded_by: 35f9494b-253e-4431-9f86-d85b7296d728
            source: f09f7661-4f17-47eb-9ffd-60f944254944
            subType: Permission
            target: dc6a8b7c-464d-49c9-80c2-3960c66d10d7
          style:
            control-point-distances: null
            control-point-weights: "0.5"
            curve-style: bezier
            haystack-radius: "0"
            line-color: rgb(153,153,153)
            line-style: dotted
            opacity: "1"
            segment-distances: 20px
            segment-weights: "0.5"
            target-arrow-shape: vee
            taxi-direction: auto
            taxi-turn: 50%
            taxi-turn-min-distance: 10px
            width: 1.5px
        id: dc6a8b7c-464d-49c9-80c2-3960c66d10d7
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: true
          logoURL: https://github.com/cncf/artwork/blob/master/projects/kubernetes/icon/white/kubernetes-icon-white.svg
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: bottom-round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            z-index: 1006
          styles: ""
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/serviceaccount-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/serviceaccount-white.svg
        position:
          posX: 50
          posY: -30
        whiteboardData:
          style: {}
  node-feature-discovery-worker-pjdaq:
    name: node-feature-discovery-worker
    type: RoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    namespace: default
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
    settings:
      role Ref:
        api Group: rbac.authorization.k8s.io
        kind: Role
        name: node-feature-discovery-worker
      subjects:
      - kind: ServiceAccount
        name: node-feature-discovery-worker
        namespace: default
    traits:
      meshmap:
        edges: []
        id: 35f9494b-253e-4431-9f86-d85b7296d728
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: true
          logoURL: https://github.com/cncf/artwork/blob/master/projects/kubernetes/icon/white/kubernetes-icon-white.svg
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            height: 25px
            width: 25px
            x: "7"
            "y": "7"
            z-index: 1006
          styles: '{"height":"25px","width":"25px","x":"7", "y":"7","z-index":4}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/rolebinding-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/rolebinding-white.svg
        position:
          posX: 30.10625
          posY: -30
        whiteboardData:
          style:
            height: 10.5
            width: 10.5
            z-index: 1000
  node-feature-discovery-worker-rwdmf:
    name: node-feature-discovery-worker
    type: DaemonSet
    apiVersion: apps/v1
    namespace: default
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
      role: worker
    settings:
      spec:
        selector:
          match Labels:
            app.kubernetes.io/instance: node-feature-discovery
            app.kubernetes.io/name: node-feature-discovery
            role: worker
        template:
          metadata:
            labels:
              app.kubernetes.io/instance: node-feature-discovery
              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
                value From:
                  field Ref:
                    field Path: spec.nodeName
              - name: POD_NAME
                value From:
                  field Ref:
                    field Path: metadata.name
              - name: POD_UID
                value From:
                  field Ref:
                    field Path: metadata.uid
              image: registry.k8s.io/nfd/node-feature-discovery:v0.16.0
              image Pull Policy: IfNotPresent
              liveness Probe:
                grpc:
                  port: 8082
                initial Delay Seconds: 10
                period Seconds: 10
              name: worker
              ports:
              - container Port: 8081
                name: metrics
              readiness Probe:
                failure Threshold: 10
                grpc:
                  port: 8082
                initial Delay Seconds: 5
                period Seconds: 10
              resources:
                limits:
                  cpu: 200m
                  memory: 512Mi
                requests:
                  cpu: 5m
                  memory: 64Mi
              security Context:
                allow Privilege Escalation: false
                capabilities:
                  drop:
                  - ALL
                read Only Root Filesystem: true
                run As Non Root: true
              volume Mounts:
              - mount Path: /host-boot
                name: host-boot
                read Only: true
              - mount Path: /host-etc/os-release
                name: host-os-release
                read Only: true
              - mount Path: /host-sys
                name: host-sys
                read Only: true
              - mount Path: /host-usr/lib
                name: host-usr-lib
                read Only: true
              - mount Path: /host-lib
                name: host-lib
                read Only: true
              - mount Path: /host-proc/swaps
                name: host-proc-swaps
                read Only: true
              - mount Path: /etc/kubernetes/node-feature-discovery/source.d/
                name: source-d
                read Only: true
              - mount Path: /etc/kubernetes/node-feature-discovery/features.d/
                name: features-d
                read Only: true
              - mount Path: /etc/kubernetes/node-feature-discovery
                name: nfd-worker-conf
                read Only: true
            dns Policy: ClusterFirstWithHostNet
            security Context: {}
            service Account Name: node-feature-discovery-worker
            volumes:
            - host Path:
                path: /boot
              name: host-boot
            - host Path:
                path: /etc/os-release
              name: host-os-release
            - host Path:
                path: /sys
              name: host-sys
            - host Path:
                path: /usr/lib
              name: host-usr-lib
            - host Path:
                path: /lib
              name: host-lib
            - host Path:
                path: /proc/swaps
              name: host-proc-swaps
            - host Path:
                path: /etc/kubernetes/node-feature-discovery/source.d/
              name: source-d
            - host Path:
                path: /etc/kubernetes/node-feature-discovery/features.d/
              name: features-d
            - config Map:
                items:
                - key: nfd-worker.conf
                  path: nfd-worker.conf
                name: node-feature-discovery-worker-conf
              name: nfd-worker-conf
    traits:
      meshmap:
        edges: []
        id: 7d783588-6bfa-43cf-b71b-cafcdc04ce89
        meshmodel-metadata:
          capabilities: |2-
             {
              "designer": {
                "edit": {
                  "shape": {
                    "convert-shape": false
                  }
                }
              }
            }
          defaultData: ""
          genealogy: parent
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: true
          logoURL: Created by Meshery Authors
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: circle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            background-opacity: 0.5
            border-width: 2
            z-index: 1005
          styles: '{"border-width":2,"background-opacity":0.5}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/daemonset-color.svg
          svgComplete: ui/public/static/img/meshmodels/kubernetes/complete/daemonset-complete.svg
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/daemonset-white.svg
        position:
          posX: 50
          posY: -30
        whiteboardData:
          style: {}
  node-feature-discovery-worker-ulddu:
    name: node-feature-discovery-worker
    type: Role
    apiVersion: rbac.authorization.k8s.io/v1
    namespace: default
    model: kubernetes
    labels:
      app.kubernetes.io/instance: node-feature-discovery
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: node-feature-discovery
      app.kubernetes.io/version: v0.16.0
      helm.sh/chart: node-feature-discovery-0.16.0
    settings:
      rules:
      - api Groups:
        - nfd.k8s-sigs.io
        resources:
        - nodefeatures
        verbs:
        - create
        - get
        - update
    traits:
      meshmap:
        edges:
        - data:
            id: f8425948-ac51-431b-8a3f-3bd4361d3c62
            metadata:
              binded_by: 35f9494b-253e-4431-9f86-d85b7296d728
            source: f09f7661-4f17-47eb-9ffd-60f944254944
            subType: Permission
            target: dc6a8b7c-464d-49c9-80c2-3960c66d10d7
          style:
            control-point-distances: null
            control-point-weights: "0.5"
            curve-style: bezier
            haystack-radius: "0"
            line-color: rgb(153,153,153)
            line-style: dotted
            opacity: "1"
            segment-distances: 20px
            segment-weights: "0.5"
            target-arrow-shape: vee
            taxi-direction: auto
            taxi-turn: 50%
            taxi-turn-min-distance: 10px
            width: 1.5px
        id: f09f7661-4f17-47eb-9ffd-60f944254944
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isModelAnnotation: "FALSE"
          isNamespaced: true
          logoURL: https://github.com/cncf/artwork/blob/master/projects/kubernetes/icon/white/kubernetes-icon-white.svg
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides: '{"height":"22px", "width":"22px", "x":"8.5", "y":"7.5","z-index":4}'
          styles: '{"height":"22px", "width":"22px", "x":"8.5", "y":"7.5","z-index":4}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/role-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/role-white.svg
        position:
          posX: 10
          posY: -30
        whiteboardData:
          style: {}
  nodefeaturegroups.nfd.k8s-sigs.io:
    name: nodefeaturegroups.nfd.k8s-sigs.io
    type: CustomResourceDefinition
    apiVersion: apiextensions.k8s.io/v1
    model: kubernetes
    annotations:
      controller-gen.kubebuilder.io/version: v0.14.0
    settings:
      spec:
        group: nfd.k8s-sigs.io
        names:
          kind: NodeFeatureGroup
          list Kind: NodeFeatureGroupList
          plural: nodefeaturegroups
          short Names:
          - nfg
          singular: nodefeaturegroup
        scope: Namespaced
        versions:
        - name: v1alpha1
          schema:
            open APIV3Schema:
              description: NodeFeatureGroup resource holds Node pools by featureGroup
              properties:
                api Version:
                  description: |-
                    APIVersion defines the versioned schema of this representation of an object.
                    Servers should convert recognized schemas to the latest internal value, and
                    may reject unrecognized values.
                    More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
                  type: string
                kind:
                  description: |-
                    Kind is a string value representing the REST resource this object represents.
                    Servers may infer this from the endpoint the client submits requests to.
                    Cannot be updated.
                    In CamelCase.
                    More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
                  type: string
                metadata:
                  type: object
                spec:
                  description: Spec defines the rules to be evaluated.
                  properties:
                    feature Group Rules:
                      description: List of rules to evaluate to determine nodes that
                        belong in this group.
                      items:
                        description: GroupRule defines a rule for nodegroup filtering.
                        properties:
                          match Any:
                            description: MatchAny specifies a list of matchers one
                              of which must match.
                            items:
                              description: MatchAnyElem specifies one sub-matcher
                                of MatchAny.
                              properties:
                                match Features:
                                  description: MatchFeatures specifies a set of matcher
                                    terms all of which must match.
                                  items:
                                    description: |-
                                      FeatureMatcherTerm defines requirements against one feature set. All
                                      requirements (specified as MatchExpressions) are evaluated against each
                                      element in the feature set.
                                    properties:
                                      feature:
                                        description: Feature is the name of the feature
                                          set to match against.
                                        type: string
                                      match Expressions:
                                        additionalProperties:
                                          description: |-
                                            MatchExpression specifies an expression to evaluate against a set of input
                                            values. It contains an operator that is applied when matching the input and
                                            an array of values that the operator evaluates the input against.
                                          properties:
                                            op:
                                              description: Op is the operator to be
                                                applied.
                                              enum:
                                              - In
                                              - NotIn
                                              - InRegexp
                                              - Exists
                                              - DoesNotExist
                                              - Gt
                                              - Lt
                                              - GtLt
                                              - IsTrue
                                              - IsFalse
                                              type: string
                                            value:
                                              description: |-
                                                Value is the list of values that the operand evaluates the input
                                                against. Value should be empty if the operator is Exists, DoesNotExist,
                                                IsTrue or IsFalse. Value should contain exactly one element if the
                                                operator is Gt or Lt and exactly two elements if the operator is GtLt.
                                                In other cases Value should contain at least one element.
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - op
                                          type: object
                                        description: |-
                                          MatchExpressions is the set of per-element expressions evaluated. These
                                          match against the value of the specified elements.
                                        type: object
                                      match Name:
                                        description: |-
                                          MatchName in an expression that is matched against the name of each
                                          element in the feature set.
                                        properties:
                                          op:
                                            description: Op is the operator to be
                                              applied.
                                            enum:
                                            - In
                                            - NotIn
                                            - InRegexp
                                            - Exists
                                            - DoesNotExist
                                            - Gt
                                            - Lt
                                            - GtLt
                                            - IsTrue
                                            - IsFalse
                                            type: string
                                          value:
                                            description: |-
                                              Value is the list of values that the operand evaluates the input
                                              against. Value should be empty if the operator is Exists, DoesNotExist,
                                              IsTrue or IsFalse. Value should contain exactly one element if the
                                              operator is Gt or Lt and exactly two elements if the operator is GtLt.
                                              In other cases Value should contain at least one element.
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - op
                                        type: object
                                    required:
                                    - feature
                                    type: object
                                  type: array
                              required:
                              - matchFeatures
                              type: object
                            type: array
                          match Features:
                            description: MatchFeatures specifies a set of matcher
                              terms all of which must match.
                            items:
                              description: |-
                                FeatureMatcherTerm defines requirements against one feature set. All
                                requirements (specified as MatchExpressions) are evaluated against each
                                element in the feature set.
                              properties:
                                feature:
                                  description: Feature is the name of the feature
                                    set to match against.
                                  type: string
                                match Expressions:
                                  additionalProperties:
                                    description: |-
                                      MatchExpression specifies an expression to evaluate against a set of input
                                      values. It contains an operator that is applied when matching the input and
                                      an array of values that the operator evaluates the input against.
                                    properties:
                                      op:
                                        description: Op is the operator to be applied.
                                        enum:
                                        - In
                                        - NotIn
                                        - InRegexp
                                        - Exists
                                        - DoesNotExist
                                        - Gt
                                        - Lt
                                        - GtLt
                                        - IsTrue
                                        - IsFalse
                                        type: string
                                      value:
                                        description: |-
                                          Value is the list of values that the operand evaluates the input
                                          against. Value should be empty if the operator is Exists, DoesNotExist,
                                          IsTrue or IsFalse. Value should contain exactly one element if the
                                          operator is Gt or Lt and exactly two elements if the operator is GtLt.
                                          In other cases Value should contain at least one element.
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - op
                                    type: object
                                  description: |-
                                    MatchExpressions is the set of per-element expressions evaluated. These
                                    match against the value of the specified elements.
                                  type: object
                                match Name:
                                  description: |-
                                    MatchName in an expression that is matched against the name of each
                                    element in the feature set.
                                  properties:
                                    op:
                                      description: Op is the operator to be applied.
                                      enum:
                                      - In
                                      - NotIn
                                      - InRegexp
                                      - Exists
                                      - DoesNotExist
                                      - Gt
                                      - Lt
                                      - GtLt
                                      - IsTrue
                                      - IsFalse
                                      type: string
                                    value:
                                      description: |-
                                        Value is the list of values that the operand evaluates the input
                                        against. Value should be empty if the operator is Exists, DoesNotExist,
                                        IsTrue or IsFalse. Value should contain exactly one element if the
                                        operator is Gt or Lt and exactly two elements if the operator is GtLt.
                                        In other cases Value should contain at least one element.
                                      items:
                                        type: string
                                      type: array
                                  required:
                                  - op
                                  type: object
                              required:
                              - feature
                              type: object
                            type: array
                          name:
                            description: Name of the rule.
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                  required:
                  - featureGroupRules
                  type: object
                status:
                  description: |-
                    Status of the NodeFeatureGroup after the most recent evaluation of the
                    specification.
                  properties:
                    nodes:
                      description: Nodes is a list of FeatureGroupNode in the cluster
                        that match the featureGroupRules
                      items:
                        properties:
                          name:
                            description: Name of the node.
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                      x-kubernetes-list-map-keys:
                      - name
                      x-kubernetes-list-type: map
                  type: object
              required:
              - spec
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    traits:
      meshmap:
        edges: []
        id: 1eee7aac-802c-4280-a7b3-ace4878b301d
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isNamespaced: false
          logoURL: https://github.com/cncf/artwork/blob/master/projects/kubernetes/icon/white/kubernetes-icon-white.svg
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: circle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            z-index: 1006
          styles: ""
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/customresourcedefinition-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/customresourcedefinition-white.svg
        position:
          posX: -90
          posY: 70
        whiteboardData:
          style: {}
  nodefeaturerules.nfd.k8s-sigs.io:
    name: nodefeaturerules.nfd.k8s-sigs.io
    type: CustomResourceDefinition
    apiVersion: apiextensions.k8s.io/v1
    model: kubernetes
    annotations:
      controller-gen.kubebuilder.io/version: v0.14.0
    settings:
      spec:
        group: nfd.k8s-sigs.io
        names:
          kind: NodeFeatureRule
          list Kind: NodeFeatureRuleList
          plural: nodefeaturerules
          short Names:
          - nfr
          singular: nodefeaturerule
        scope: Cluster
        versions:
        - name: v1alpha1
          schema:
            open APIV3Schema:
              description: |-
                NodeFeatureRule resource specifies a configuration for feature-based
                customization of node objects, such as node labeling.
              properties:
                api Version:
                  description: |-
                    APIVersion defines the versioned schema of this representation of an object.
                    Servers should convert recognized schemas to the latest internal value, and
                    may reject unrecognized values.
                    More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
                  type: string
                kind:
                  description: |-
                    Kind is a string value representing the REST resource this object represents.
                    Servers may infer this from the endpoint the client submits requests to.
                    Cannot be updated.
                    In CamelCase.
                    More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
                  type: string
                metadata:
                  type: object
                spec:
                  description: Spec defines the rules to be evaluated.
                  properties:
                    rules:
                      description: Rules is a list of node customization rules.
                      items:
                        description: Rule defines a rule for node customization such
                          as labeling.
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: Annotations to create if the rule matches.
                            type: object
                          extended Resources:
                            additionalProperties:
                              type: string
                            description: ExtendedResources to create if the rule matches.
                            type: object
                          labels:
                            additionalProperties:
                              type: string
                            description: Labels to create if the rule matches.
                            type: object
                          labels Template:
                            description: |-
                              LabelsTemplate specifies a template to expand for dynamically generating
                              multiple labels. Data (after template expansion) must be keys with an
                              optional value (<key>[=<value>]) separated by newlines.
                            type: string
                          match Any:
                            description: MatchAny specifies a list of matchers one
                              of which must match.
                            items:
                              description: MatchAnyElem specifies one sub-matcher
                                of MatchAny.
                              properties:
                                match Features:
                                  description: MatchFeatures specifies a set of matcher
                                    terms all of which must match.
                                  items:
                                    description: |-
                                      FeatureMatcherTerm defines requirements against one feature set. All
                                      requirements (specified as MatchExpressions) are evaluated against each
                                      element in the feature set.
                                    properties:
                                      feature:
                                        description: Feature is the name of the feature
                                          set to match against.
                                        type: string
                                      match Expressions:
                                        additionalProperties:
                                          description: |-
                                            MatchExpression specifies an expression to evaluate against a set of input
                                            values. It contains an operator that is applied when matching the input and
                                            an array of values that the operator evaluates the input against.
                                          properties:
                                            op:
                                              description: Op is the operator to be
                                                applied.
                                              enum:
                                              - In
                                              - NotIn
                                              - InRegexp
                                              - Exists
                                              - DoesNotExist
                                              - Gt
                                              - Lt
                                              - GtLt
                                              - IsTrue
                                              - IsFalse
                                              type: string
                                            value:
                                              description: |-
                                                Value is the list of values that the operand evaluates the input
                                                against. Value should be empty if the operator is Exists, DoesNotExist,
                                                IsTrue or IsFalse. Value should contain exactly one element if the
                                                operator is Gt or Lt and exactly two elements if the operator is GtLt.
                                                In other cases Value should contain at least one element.
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - op
                                          type: object
                                        description: |-
                                          MatchExpressions is the set of per-element expressions evaluated. These
                                          match against the value of the specified elements.
                                        type: object
                                      match Name:
                                        description: |-
                                          MatchName in an expression that is matched against the name of each
                                          element in the feature set.
                                        properties:
                                          op:
                                            description: Op is the operator to be
                                              applied.
                                            enum:
                                            - In
                                            - NotIn
                                            - InRegexp
                                            - Exists
                                            - DoesNotExist
                                            - Gt
                                            - Lt
                                            - GtLt
                                            - IsTrue
                                            - IsFalse
                                            type: string
                                          value:
                                            description: |-
                                              Value is the list of values that the operand evaluates the input
                                              against. Value should be empty if the operator is Exists, DoesNotExist,
                                              IsTrue or IsFalse. Value should contain exactly one element if the
                                              operator is Gt or Lt and exactly two elements if the operator is GtLt.
                                              In other cases Value should contain at least one element.
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - op
                                        type: object
                                    required:
                                    - feature
                                    type: object
                                  type: array
                              required:
                              - matchFeatures
                              type: object
                            type: array
                          match Features:
                            description: MatchFeatures specifies a set of matcher
                              terms all of which must match.
                            items:
                              description: |-
                                FeatureMatcherTerm defines requirements against one feature set. All
                                requirements (specified as MatchExpressions) are evaluated against each
                                element in the feature set.
                              properties:
                                feature:
                                  description: Feature is the name of the feature
                                    set to match against.
                                  type: string
                                match Expressions:
                                  additionalProperties:
                                    description: |-
                                      MatchExpression specifies an expression to evaluate against a set of input
                                      values. It contains an operator that is applied when matching the input and
                                      an array of values that the operator evaluates the input against.
                                    properties:
                                      op:
                                        description: Op is the operator to be applied.
                                        enum:
                                        - In
                                        - NotIn
                                        - InRegexp
                                        - Exists
                                        - DoesNotExist
                                        - Gt
                                        - Lt
                                        - GtLt
                                        - IsTrue
                                        - IsFalse
                                        type: string
                                      value:
                                        description: |-
                                          Value is the list of values that the operand evaluates the input
                                          against. Value should be empty if the operator is Exists, DoesNotExist,
                                          IsTrue or IsFalse. Value should contain exactly one element if the
                                          operator is Gt or Lt and exactly two elements if the operator is GtLt.
                                          In other cases Value should contain at least one element.
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - op
                                    type: object
                                  description: |-
                                    MatchExpressions is the set of per-element expressions evaluated. These
                                    match against the value of the specified elements.
                                  type: object
                                match Name:
                                  description: |-
                                    MatchName in an expression that is matched against the name of each
                                    element in the feature set.
                                  properties:
                                    op:
                                      description: Op is the operator to be applied.
                                      enum:
                                      - In
                                      - NotIn
                                      - InRegexp
                                      - Exists
                                      - DoesNotExist
                                      - Gt
                                      - Lt
                                      - GtLt
                                      - IsTrue
                                      - IsFalse
                                      type: string
                                    value:
                                      description: |-
                                        Value is the list of values that the operand evaluates the input
                                        against. Value should be empty if the operator is Exists, DoesNotExist,
                                        IsTrue or IsFalse. Value should contain exactly one element if the
                                        operator is Gt or Lt and exactly two elements if the operator is GtLt.
                                        In other cases Value should contain at least one element.
                                      items:
                                        type: string
                                      type: array
                                  required:
                                  - op
                                  type: object
                              required:
                              - feature
                              type: object
                            type: array
                          name:
                            description: Name of the rule.
                            type: string
                          taints:
                            description: Taints to create if the rule matches.
                            items:
                              description: |-
                                The node this Taint is attached to has the "effect" on
                                any pod that does not tolerate the Taint.
                              properties:
                                effect:
                                  description: |-
                                    Required. The effect of the taint on pods
                                    that do not tolerate the taint.
                                    Valid effects are NoSchedule, PreferNoSchedule and NoExecute.
                                  type: string
                                key:
                                  description: Required. The taint key to be applied
                                    to a node.
                                  type: string
                                time Added:
                                  description: |-
                                    TimeAdded represents the time at which the taint was added.
                                    It is only written for NoExecute taints.
                                  format: date-time
                                  type: string
                                value:
                                  description: The taint value corresponding to the
                                    taint key.
                                  type: string
                              required:
                              - effect
                              - key
                              type: object
                            type: array
                          vars:
                            additionalProperties:
                              type: string
                            description: |-
                              Vars is the variables to store if the rule matches. Variables do not
                              directly inflict any changes in the node object. However, they can be
                              referenced from other rules enabling more complex rule hierarchies,
                              without exposing intermediary output values as labels.
                            type: object
                          vars Template:
                            description: |-
                              VarsTemplate specifies a template to expand for dynamically generating
                              multiple variables. Data (after template expansion) must be keys with an
                              optional value (<key>[=<value>]) separated by newlines.
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                  required:
                  - rules
                  type: object
              required:
              - spec
              type: object
          served: true
          storage: true
    traits:
      meshmap:
        edges: []
        id: 477edb97-5e5b-40fd-877d-10b546bcee9e
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isNamespaced: false
          logoURL: https://github.com/cncf/artwork/blob/master/projects/kubernetes/icon/white/kubernetes-icon-white.svg
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: circle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            z-index: 1006
          styles: ""
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/customresourcedefinition-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/customresourcedefinition-white.svg
        position:
          posX: 50
          posY: -70
        whiteboardData:
          style: {}
  nodefeatures.nfd.k8s-sigs.io:
    name: nodefeatures.nfd.k8s-sigs.io
    type: CustomResourceDefinition
    apiVersion: apiextensions.k8s.io/v1
    model: kubernetes
    annotations:
      controller-gen.kubebuilder.io/version: v0.14.0
    settings:
      spec:
        group: nfd.k8s-sigs.io
        names:
          kind: NodeFeature
          list Kind: NodeFeatureList
          plural: nodefeatures
          singular: nodefeature
        scope: Namespaced
        versions:
        - name: v1alpha1
          schema:
            open APIV3Schema:
              description: |-
                NodeFeature resource holds the features discovered for one node in the
                cluster.
              properties:
                api Version:
                  description: |-
                    APIVersion defines the versioned schema of this representation of an object.
                    Servers should convert recognized schemas to the latest internal value, and
                    may reject unrecognized values.
                    More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
                  type: string
                kind:
                  description: |-
                    Kind is a string value representing the REST resource this object represents.
                    Servers may infer this from the endpoint the client submits requests to.
                    Cannot be updated.
                    In CamelCase.
                    More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
                  type: string
                metadata:
                  type: object
                spec:
                  description: Specification of the NodeFeature, containing features
                    discovered for a node.
                  properties:
                    features:
                      description: Features is the full "raw" features data that has
                        been discovered.
                      properties:
                        attributes:
                          additionalProperties:
                            description: AttributeFeatureSet is a set of features
                              having string value.
                            properties:
                              elements:
                                additionalProperties:
                                  type: string
                                description: Individual features of the feature set.
                                type: object
                            required:
                            - elements
                            type: object
                          description: Attributes contains all the attribute-type
                            features of the node.
                          type: object
                        flags:
                          additionalProperties:
                            description: FlagFeatureSet is a set of simple features
                              only containing names without values.
                            properties:
                              elements:
                                additionalProperties:
                                  description: Nil is a dummy empty struct for protobuf
                                    compatibility
                                  type: object
                                description: Individual features of the feature set.
                                type: object
                            required:
                            - elements
                            type: object
                          description: Flags contains all the flag-type features of
                            the node.
                          type: object
                        instances:
                          additionalProperties:
                            description: InstanceFeatureSet is a set of features each
                              of which is an instance having multiple attributes.
                            properties:
                              elements:
                                description: Individual features of the feature set.
                                items:
                                  description: InstanceFeature represents one instance
                                    of a complex features, e.g. a device.
                                  properties:
                                    attributes:
                                      additionalProperties:
                                        type: string
                                      description: Attributes of the instance feature.
                                      type: object
                                  required:
                                  - attributes
                                  type: object
                                type: array
                            required:
                            - elements
                            type: object
                          description: Instances contains all the instance-type features
                            of the node.
                          type: object
                      type: object
                    labels:
                      additionalProperties:
                        type: string
                      description: Labels is the set of node labels that are requested
                        to be created.
                      type: object
                  type: object
              required:
              - spec
              type: object
          served: true
          storage: true
    traits:
      meshmap:
        edges: []
        id: 6d2d799a-d490-4a32-9e88-96a87fba9449
        meshmodel-metadata:
          capabilities: ""
          defaultData: ""
          genealogy: ""
          isAnnotation: false
          isCustomResource: false
          isNamespaced: false
          logoURL: https://github.com/cncf/artwork/blob/master/projects/kubernetes/icon/white/kubernetes-icon-white.svg
          model: kubernetes
          modelDisplayName: Kubernetes
          primaryColor: '#326CE5'
          secondaryColor: '#7aa1f0'
          shape: circle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            z-index: 1006
          styles: ""
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/kubernetes/color/customresourcedefinition-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/kubernetes/white/customresourcedefinition-white.svg
        position:
          posX: 50
          posY: 70
        whiteboardData:
          style: {}
  nodegroupinventorywallet-izoke:
    name: NodeGroupInventoryWallet
    type: NodeGroupInventoryWallet
    apiVersion: core.meshery.io/v1alpha1
    version: 0.7.1
    model: meshery-core
    dependsOn:
    - node-feature-discovery-gc-ywavd
    traits:
      meshmap:
        edges: []
        id: 71f43b7b-6311-44a2-9cb7-26708201ff9b
        label: NodeGroupInventoryWallet
        meshmodel-data:
          category:
            metadata: null
            name: Orchestration & Management
          components: null
          description: ""
          displayName: Meshery Core
          hostID: 26e64aa8-2d86-57bd-92b3-2a73160d27b4
          id: 3e2db384-d3af-5fac-8af2-684fc3c29446
          metadata:
            isAnnotation: false
            subCategory: App Definition and Development
            svgColor: ui/public/static/img/meshmodels/meshery-core/color/meshery-core-color.svg
            svgComplete: ""
            svgWhite: ui/public/static/img/meshmodels/meshery-core/color/meshery-core-color.svg
          model:
            version: 0.7.1
          name: meshery-core
          registrant:
            hostname: artifacthub
          relationships: null
          schemaVersion: core.meshery.io/v1beta1
          status: enabled
          subCategory: App Definition and Development
          version: v1.0.0
        meshmodel-metadata:
          capabilities: |-
            {
              "designer": {
                "pass-events-to": "parent", "supportsCompoundDragAndDrop":false,
                "edit": {
                  "config": false,
                  "copy": false,
                  "delete": false,
                  "duplicate": false,
                  "reset-styles": false,
                  "resolve": false,
                  "lock": false,
                  "shape": {
                    "convert-shape": false
                  },
                  "style": false
                },
                "label": {
                  "edit": false,
                  "show": false,
                  "sync-with-config-property": "none"
                }
              }
            }
          defaultData: '{"label":""}'
          genealogy: parent
          hasInvalidSchema: true
          isAnnotation: true
          primaryColor: '#00B39F'
          secondaryColor: '#00D3A9'
          shape: round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            background-image: none
            background-opacity: 0
            border-style: dashed
            border-width: 0
            data:
              label: ""
            height: 30px
            width: 30px
            z-index: 1006
          styles: '{"height":"30px","width":"30px", "background-image":"none","border-width":0,"border-style":"dashed","background-opacity":0}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/meshery-core/color/anchornode-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/meshery-core/white/anchornode-white.svg
        parent: 41745d17-484f-477c-922a-03caee1855f8
        position:
          posX: 10
          posY: 10
        whiteboardData: {}
  nodegroupinventorywallet-qnzrj:
    name: NodeGroupInventoryWallet
    type: NodeGroupInventoryWallet
    apiVersion: core.meshery.io/v1alpha1
    version: 0.7.1
    model: meshery-core
    dependsOn:
    - node-feature-discovery-worker-rwdmf
    traits:
      meshmap:
        edges: []
        id: a40e68ff-d93a-4605-9f90-9ea752dc80bc
        label: NodeGroupInventoryWallet
        meshmodel-data:
          category:
            metadata: null
            name: Orchestration & Management
          components: null
          description: ""
          displayName: Meshery Core
          hostID: 26e64aa8-2d86-57bd-92b3-2a73160d27b4
          id: 3e2db384-d3af-5fac-8af2-684fc3c29446
          metadata:
            isAnnotation: false
            subCategory: App Definition and Development
            svgColor: ui/public/static/img/meshmodels/meshery-core/color/meshery-core-color.svg
            svgComplete: ""
            svgWhite: ui/public/static/img/meshmodels/meshery-core/color/meshery-core-color.svg
          model:
            version: 0.7.1
          name: meshery-core
          registrant:
            hostname: artifacthub
          relationships: null
          schemaVersion: core.meshery.io/v1beta1
          status: enabled
          subCategory: App Definition and Development
          version: v1.0.0
        meshmodel-metadata:
          capabilities: |-
            {
              "designer": {
                "pass-events-to": "parent", "supportsCompoundDragAndDrop":false,
                "edit": {
                  "config": false,
                  "copy": false,
                  "delete": false,
                  "duplicate": false,
                  "reset-styles": false,
                  "resolve": false,
                  "lock": false,
                  "shape": {
                    "convert-shape": false
                  },
                  "style": false
                },
                "label": {
                  "edit": false,
                  "show": false,
                  "sync-with-config-property": "none"
                }
              }
            }
          defaultData: '{"label":""}'
          genealogy: parent
          hasInvalidSchema: true
          isAnnotation: true
          primaryColor: '#00B39F'
          secondaryColor: '#00D3A9'
          shape: round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            background-image: none
            background-opacity: 0
            border-style: dashed
            border-width: 0
            data:
              label: ""
            height: 30px
            width: 30px
            z-index: 1006
          styles: '{"height":"30px","width":"30px", "background-image":"none","border-width":0,"border-style":"dashed","background-opacity":0}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/meshery-core/color/anchornode-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/meshery-core/white/anchornode-white.svg
        parent: 7d783588-6bfa-43cf-b71b-cafcdc04ce89
        position:
          posX: 50
          posY: -30
        whiteboardData: {}
  nodegroupinventorywallet-udeis:
    name: NodeGroupInventoryWallet
    type: NodeGroupInventoryWallet
    apiVersion: core.meshery.io/v1alpha1
    version: 0.7.1
    model: meshery-core
    dependsOn:
    - node-feature-discovery-master
    traits:
      meshmap:
        edges: []
        id: 95149075-a758-4957-a465-a9ce2e7c84c1
        label: NodeGroupInventoryWallet
        meshmodel-data:
          category:
            metadata: null
            name: Orchestration & Management
          components: null
          description: ""
          displayName: Meshery Core
          hostID: 26e64aa8-2d86-57bd-92b3-2a73160d27b4
          id: 3e2db384-d3af-5fac-8af2-684fc3c29446
          metadata:
            isAnnotation: false
            subCategory: App Definition and Development
            svgColor: ui/public/static/img/meshmodels/meshery-core/color/meshery-core-color.svg
            svgComplete: ""
            svgWhite: ui/public/static/img/meshmodels/meshery-core/color/meshery-core-color.svg
          model:
            version: 0.7.1
          name: meshery-core
          registrant:
            hostname: artifacthub
          relationships: null
          schemaVersion: core.meshery.io/v1beta1
          status: enabled
          subCategory: App Definition and Development
          version: v1.0.0
        meshmodel-metadata:
          capabilities: |-
            {
              "designer": {
                "pass-events-to": "parent", "supportsCompoundDragAndDrop":false,
                "edit": {
                  "config": false,
                  "copy": false,
                  "delete": false,
                  "duplicate": false,
                  "reset-styles": false,
                  "resolve": false,
                  "lock": false,
                  "shape": {
                    "convert-shape": false
                  },
                  "style": false
                },
                "label": {
                  "edit": false,
                  "show": false,
                  "sync-with-config-property": "none"
                }
              }
            }
          defaultData: '{"label":""}'
          genealogy: parent
          hasInvalidSchema: true
          isAnnotation: true
          primaryColor: '#00B39F'
          secondaryColor: '#00D3A9'
          shape: round-rectangle
          shapePolygonPoints: ""
          status: enabled
          styleOverrides:
            background-image: none
            background-opacity: 0
            border-style: dashed
            border-width: 0
            data:
              label: ""
            height: 30px
            width: 30px
            z-index: 1006
          styles: '{"height":"30px","width":"30px", "background-image":"none","border-width":0,"border-style":"dashed","background-opacity":0}'
          subCategory: ""
          svgColor: ui/public/static/img/meshmodels/meshery-core/color/anchornode-color.svg
          svgComplete: ""
          svgWhite: ui/public/static/img/meshmodels/meshery-core/white/anchornode-white.svg
        parent: d0bedae2-6c95-4bc2-93d6-ddf2dad2df92
        position:
          posX: -10
          posY: 70
        whiteboardData: {}
