apiVersion: v1 kind: Namespace metadata: name: nfd labels: workload.edge.ncr.com: platform platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: nodefeaturerules.nfd.k8s-sigs.io labels: platform.edge.ncr.com/component: node-feature-discovery annotations: controller-gen.kubebuilder.io/version: v0.9.2 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a spec: group: nfd.k8s-sigs.io names: kind: NodeFeatureRule listKind: NodeFeatureRuleList plural: nodefeaturerules shortNames: - nfr singular: nodefeaturerule scope: Cluster versions: - name: v1alpha1 schema: openAPIV3Schema: type: object description: NodeFeatureRule resource specifies a configuration for feature-based customization of node objects, such as node labeling. properties: apiVersion: type: string 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' kind: type: string 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' metadata: type: object spec: type: object description: NodeFeatureRuleSpec describes a NodeFeatureRule. properties: rules: type: array description: Rules is a list of node customization rules. items: type: object description: Rule defines a rule for node customization such as labeling. properties: name: type: string description: Name of the rule. labels: type: object additionalProperties: type: string description: Labels to create if the rule matches. labelsTemplate: type: string description: LabelsTemplate specifies a template to expand for dynamically generating multiple labels. Data (after template expansion) must be keys with an optional value ([=]) separated by newlines. matchAny: type: array description: MatchAny specifies a list of matchers one of which must match. items: type: object description: MatchAnyElem specifies one sub-matcher of MatchAny. properties: matchFeatures: type: array description: MatchFeatures specifies a set of matcher terms all of which must match. items: type: object description: FeatureMatcherTerm defines requirements against one feature set. All requirements (specified as MatchExpressions) are evaluated against each element in the feature set. properties: feature: type: string matchExpressions: type: object additionalProperties: type: object 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. \n NB: CreateMatchExpression or MustCreateMatchExpression() should be used for creating new instances. \n NB: Validate() must be called if Op or Value fields are modified or if a new instance is created from scratch without using the helper functions." properties: value: type: array 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 op: type: string description: Op is the operator to be applied. enum: - In - NotIn - InRegexp - Exists - DoesNotExist - Gt - Lt - GtLt - IsTrue - IsFalse required: - op description: MatchExpressionSet contains a set of MatchExpressions, each of which is evaluated against a set of input values. required: - feature - matchExpressions required: - matchFeatures matchFeatures: type: array description: MatchFeatures specifies a set of matcher terms all of which must match. items: type: object description: FeatureMatcherTerm defines requirements against one feature set. All requirements (specified as MatchExpressions) are evaluated against each element in the feature set. properties: feature: type: string matchExpressions: type: object additionalProperties: type: object 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. \n NB: CreateMatchExpression or MustCreateMatchExpression() should be used for creating new instances. \n NB: Validate() must be called if Op or Value fields are modified or if a new instance is created from scratch without using the helper functions." properties: value: type: array 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 op: type: string description: Op is the operator to be applied. enum: - In - NotIn - InRegexp - Exists - DoesNotExist - Gt - Lt - GtLt - IsTrue - IsFalse required: - op description: MatchExpressionSet contains a set of MatchExpressions, each of which is evaluated against a set of input values. required: - feature - matchExpressions taints: type: array description: Taints to create if the rule matches. items: type: object description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: value: type: string description: The taint value corresponding to the taint key. effect: type: string description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. key: type: string description: Required. The taint key to be applied to a node. timeAdded: type: string description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time required: - effect - key vars: type: object 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. varsTemplate: type: string description: VarsTemplate specifies a template to expand for dynamically generating multiple variables. Data (after template expansion) must be keys with an optional value ([=]) separated by newlines. required: - name required: - rules required: - spec served: true storage: true --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: nodefeatures.nfd.k8s-sigs.io labels: platform.edge.ncr.com/component: node-feature-discovery annotations: controller-gen.kubebuilder.io/version: v0.9.2 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a spec: group: nfd.k8s-sigs.io names: kind: NodeFeature listKind: NodeFeatureList plural: nodefeatures singular: nodefeature scope: Namespaced versions: - name: v1alpha1 schema: openAPIV3Schema: type: object description: NodeFeature resource holds the features discovered for one node in the cluster. properties: apiVersion: type: string 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' kind: type: string 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' metadata: type: object spec: type: object description: NodeFeatureSpec describes a NodeFeature object. properties: labels: type: object additionalProperties: type: string description: Labels is the set of node labels that are requested to be created. features: type: object description: Features is the full "raw" features data that has been discovered. properties: attributes: type: object additionalProperties: type: object description: AttributeFeatureSet is a set of features having string value. properties: elements: type: object additionalProperties: type: string required: - elements flags: type: object additionalProperties: type: object description: FlagFeatureSet is a set of simple features only containing names without values. properties: elements: type: object additionalProperties: type: object description: Nil is a dummy empty struct for protobuf compatibility required: - elements instances: type: object additionalProperties: type: object description: InstanceFeatureSet is a set of features each of which is an instance having multiple attributes. properties: elements: type: array items: type: object description: InstanceFeature represents one instance of a complex features, e.g. a device. properties: attributes: type: object additionalProperties: type: string required: - attributes required: - elements required: - attributes - flags - instances required: - features required: - spec served: true storage: true --- apiVersion: v1 kind: ServiceAccount metadata: name: nfd-master namespace: nfd labels: platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a --- apiVersion: v1 kind: ServiceAccount metadata: name: nfd-worker namespace: nfd labels: platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: nfd-worker namespace: nfd labels: platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a rules: - resources: - nodefeatures apiGroups: - nfd.k8s-sigs.io verbs: - create - get - update --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: nfd-master labels: platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a rules: - resources: - nodes apiGroups: - "" verbs: - get - patch - update - list - resources: - nodefeatures - nodefeaturerules apiGroups: - nfd.k8s-sigs.io verbs: - get - list - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: nfd-worker namespace: nfd labels: platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a roleRef: name: nfd-worker kind: Role apiGroup: rbac.authorization.k8s.io subjects: - name: nfd-worker namespace: nfd kind: ServiceAccount --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: nfd-master labels: platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a roleRef: name: nfd-master kind: ClusterRole apiGroup: rbac.authorization.k8s.io subjects: - name: nfd-master namespace: nfd kind: ServiceAccount --- apiVersion: v1 kind: ConfigMap metadata: name: edge-custom-labels namespace: nfd labels: platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a data: edge-custom-labels.sh: "#! /bin/bash\n\n# dmi labels\nfor i in /sys/devices/virtual/dmi/id/*\ndo\n if [ ! -f $i ]\n then\n continue\n fi\n\n fname=$(basename $i)\n val=$(cat $i | tr ' /' '--')\n\n if [ \"$val\" != \"\" ]\n then\n if [ \"$fname\" != \"uevent\" -a \"$fname\" != \"modalias\" ]\n then\n echo $fname=\"$val\"\n fi\n fi\n \ndone\n\n# ien version\nif [ -f /ien-version ]; then\n version=$(cat /ien-version)\n if [ \"$version\" != \"\" ]; then\n echo \"ien-version=\"$version\n else\n echo \"ien-version=v1.0.0\"\n fi\nfi" --- apiVersion: v1 kind: ConfigMap metadata: name: nfd-worker-conf namespace: nfd labels: platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a data: nfd-worker.conf: | #core: # labelWhiteList: # noPublish: false # sleepInterval: 60s # featureSources: [all] # labelSources: [all] # klog: # addDirHeader: false # alsologtostderr: false # logBacktraceAt: # logtostderr: true # skipHeaders: false # stderrthreshold: 2 # v: 0 # vmodule: ## NOTE: the following options are not dynamically run-time configurable ## and require a nfd-worker restart to take effect after being changed # logDir: # logFile: # logFileMaxSize: 1800 # skipLogHeaders: false #sources: # cpu: # cpuid: ## NOTE: whitelist has priority over blacklist # attributeBlacklist: # - "BMI1" # - "BMI2" # - "CLMUL" # - "CMOV" # - "CX16" # - "ERMS" # - "F16C" # - "HTT" # - "LZCNT" # - "MMX" # - "MMXEXT" # - "NX" # - "POPCNT" # - "RDRAND" # - "RDSEED" # - "RDTSCP" # - "SGX" # - "SSE" # - "SSE2" # - "SSE3" # - "SSE4" # - "SSE42" # - "SSSE3" # attributeWhitelist: # kernel: # kconfigFile: "/path/to/kconfig" # configOpts: # - "NO_HZ" # - "X86" # - "DMI" # pci: # deviceClassWhitelist: # - "0200" # - "03" # - "12" # deviceLabelFields: # - "class" # - "vendor" # - "device" # - "subsystem_vendor" # - "subsystem_device" # usb: # deviceClassWhitelist: # - "0e" # - "ef" # - "fe" # - "ff" # deviceLabelFields: # - "class" # - "vendor" # - "device" # local: # hooksEnabled: true # custom: # # The following feature demonstrates the capabilities of the matchFeatures # - name: "my custom rule" # labels: # my-ng-feature: "true" # # matchFeatures implements a logical AND over all matcher terms in the # # list (i.e. all of the terms, or per-feature matchers, must match) # matchFeatures: # - feature: cpu.cpuid # matchExpressions: # AVX512F: {op: Exists} # - feature: cpu.cstate # matchExpressions: # enabled: {op: IsTrue} # - feature: cpu.pstate # matchExpressions: # no_turbo: {op: IsFalse} # scaling_governor: {op: In, value: ["performance"]} # - feature: cpu.rdt # matchExpressions: # RDTL3CA: {op: Exists} # - feature: cpu.sst # matchExpressions: # bf.enabled: {op: IsTrue} # - feature: cpu.topology # matchExpressions: # hardware_multithreading: {op: IsFalse} # # - feature: kernel.config # matchExpressions: # X86: {op: Exists} # LSM: {op: InRegexp, value: ["apparmor"]} # - feature: kernel.loadedmodule # matchExpressions: # e1000e: {op: Exists} # - feature: kernel.selinux # matchExpressions: # enabled: {op: IsFalse} # - feature: kernel.version # matchExpressions: # major: {op: In, value: ["5"]} # minor: {op: Gt, value: ["10"]} # # - feature: storage.block # matchExpressions: # rotational: {op: In, value: ["0"]} # dax: {op: In, value: ["0"]} # # - feature: network.device # matchExpressions: # operstate: {op: In, value: ["up"]} # speed: {op: Gt, value: ["100"]} # # - feature: memory.numa # matchExpressions: # node_count: {op: Gt, value: ["2"]} # - feature: memory.nv # matchExpressions: # devtype: {op: In, value: ["nd_dax"]} # mode: {op: In, value: ["memory"]} # # - feature: system.osrelease # matchExpressions: # ID: {op: In, value: ["fedora", "centos"]} # - feature: system.name # matchExpressions: # nodename: {op: InRegexp, value: ["^worker-X"]} # # - feature: local.label # matchExpressions: # custom-feature-knob: {op: Gt, value: ["100"]} # # # The following feature demonstrates the capabilities of the matchAny # - name: "my matchAny rule" # labels: # my-ng-feature-2: "my-value" # # matchAny implements a logical IF over all elements (sub-matchers) in # # the list (i.e. at least one feature matcher must match) # matchAny: # - matchFeatures: # - feature: kernel.loadedmodule # matchExpressions: # driver-module-X: {op: Exists} # - feature: pci.device # matchExpressions: # vendor: {op: In, value: ["8086"]} # class: {op: In, value: ["0200"]} # - matchFeatures: # - feature: kernel.loadedmodule # matchExpressions: # driver-module-Y: {op: Exists} # - feature: usb.device # matchExpressions: # vendor: {op: In, value: ["8086"]} # class: {op: In, value: ["02"]} # # # The following features demonstreate label templating capabilities # - name: "my template rule" # labelsTemplate: | # {{ range .system.osrelease }}my-system-feature.{{ .Name }}={{ .Value }} # {{ end }} # matchFeatures: # - feature: system.osrelease # matchExpressions: # ID: {op: InRegexp, value: ["^open.*"]} # VERSION_ID.major: {op: In, value: ["13", "15"]} # # - name: "my template rule 2" # labelsTemplate: | # {{ range .pci.device }}my-pci-device.{{ .class }}-{{ .device }}=with-cpuid # {{ end }} # matchFeatures: # - feature: pci.device # matchExpressions: # class: {op: InRegexp, value: ["^06"]} # vendor: ["8086"] # - feature: cpu.cpuid # matchExpressions: # AVX: {op: Exists} # # # The following examples demonstrate vars field and back-referencing # # previous labels and vars # - name: "my dummy kernel rule" # labels: # "my.kernel.feature": "true" # matchFeatures: # - feature: kernel.version # matchExpressions: # major: {op: Gt, value: ["2"]} # # - name: "my dummy rule with no labels" # vars: # "my.dummy.var": "1" # matchFeatures: # - feature: cpu.cpuid # matchExpressions: {} # # - name: "my rule using backrefs" # labels: # "my.backref.feature": "true" # matchFeatures: # - feature: rule.matched # matchExpressions: # my.kernel.feature: {op: IsTrue} # my.dummy.var: {op: Gt, value: ["0"]} # --- apiVersion: v1 kind: Service metadata: name: nfd-master namespace: nfd labels: platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a spec: type: ClusterIP selector: app: nfd-master platform.edge.ncr.com/component: node-feature-discovery ports: - protocol: TCP port: 8080 --- apiVersion: apps/v1 kind: Deployment metadata: name: nfd-master namespace: nfd labels: app: nfd platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a spec: replicas: 1 selector: matchLabels: app: nfd-master platform.edge.ncr.com/component: node-feature-discovery template: metadata: labels: app: nfd-master platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a spec: serviceAccount: nfd-master containers: - name: nfd-master image: us-east1-docker.pkg.dev/ret-edge-pltf-infra/thirdparty/k8s.gcr.io/nfd/node-feature-discovery:v0.12.1 command: - nfd-master args: [] env: - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName volumeMounts: [] livenessProbe: exec: command: - /usr/bin/grpc_health_probe - -addr=:8080 initialDelaySeconds: 10 periodSeconds: 10 readinessProbe: exec: command: - /usr/bin/grpc_health_probe - -addr=:8080 failureThreshold: 10 initialDelaySeconds: 5 periodSeconds: 10 imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true ports: - containerPort: 8080 volumes: [] affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - key: node-role.kubernetes.io/master operator: In values: - "" weight: 1 - preference: matchExpressions: - key: node-role.kubernetes.io/control-plane operator: In values: - "" weight: 1 tolerations: - value: "" effect: NoSchedule key: node-role.kubernetes.io/master operator: Equal - value: "" effect: NoSchedule key: node-role.kubernetes.io/control-plane operator: Equal --- apiVersion: apps/v1 kind: DaemonSet metadata: name: nfd-worker namespace: nfd labels: app: nfd platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a spec: selector: matchLabels: app: nfd-worker platform.edge.ncr.com/component: node-feature-discovery template: metadata: labels: app: nfd-worker platform.edge.ncr.com/component: node-feature-discovery annotations: pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z" pallet.edge.ncr.com/name: nfd pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds' pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a spec: dnsPolicy: ClusterFirstWithHostNet serviceAccount: nfd-worker containers: - name: nfd-worker image: us-east1-docker.pkg.dev/ret-edge-pltf-infra/thirdparty/k8s.gcr.io/nfd/node-feature-discovery:v0.12.1 command: - nfd-worker args: - -server=nfd-master:8080 env: - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName volumeMounts: - name: ien-version mountPath: /ien-version - name: host-boot readOnly: true mountPath: /host-boot - name: host-os-release readOnly: true mountPath: /host-etc/os-release - name: host-sys readOnly: true mountPath: /host-sys - name: host-usr-lib readOnly: true mountPath: /host-usr/lib - name: source-d readOnly: true mountPath: /etc/kubernetes/node-feature-discovery/source.d/ - name: features-d readOnly: true mountPath: /etc/kubernetes/node-feature-discovery/features.d/ - name: nfd-worker-conf readOnly: true mountPath: /etc/kubernetes/node-feature-discovery imagePullPolicy: IfNotPresent volumes: - name: ien-version hostPath: type: FileOrCreate path: /ien-version - name: source-d configMap: name: edge-custom-labels defaultMode: 0777 - name: features-d hostPath: path: /etc/kubernetes/node-feature-discovery/features.d/ - name: host-boot hostPath: path: /boot - name: host-os-release hostPath: path: /etc/os-release - name: host-sys hostPath: path: /sys - name: host-usr-lib hostPath: path: /usr/lib - name: nfd-worker-conf configMap: name: nfd-worker-conf