2 # -- NFD image repository
4 repository: cgr.dev/chainguard-private/node-feature-discovery-fips
5 # @schema enum: [Always, IfNotPresent, Never]
8 pullPolicy: IfNotPresent
9 # @schema type: [string, null]
10 # -- NFD image tag. If not specified Chart.AppVersion will be used.
12 tag: 0.20.1-r0@sha256:c2f1b42650933dfd179721860d8ae3162048f09b376072d7af267a6c75574045
13# @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/imagePullSecrets
14# -- Image pull secrets. [More info](https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod).
17# -- Override the name of the chart
20# -- Override a default fully qualified app name
23# -- Override the namespace to install the chart into. By default, the namespace is determined by Helm.
26# @schema patternProperties: {"^[a-zA-Z]$": {type: string}}
27# -- [Feature gates](https://kubernetes-sigs.github.io/node-feature-discovery/v0.20/reference/feature-gates) to enable/disable specific features.
30# -- Only checksum config values (not the full rendered ConfigMap template) for the rollout annotation.
31# When enabled, pods will only restart when config values actually change, not on unrelated template changes.
33checksumValuesOnly: false
34# -- The name of the PriorityClass to be used for the NFD pods.
37# -- Enable/disable the Helm post-delete hook.
39postDeleteCleanup: true
41# Global configuration for NFD used as a sub-chart
44 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/imagePullSecrets
45 # -- If `imagePullSecrets` is specified, it takes precedence over `global.imagePullSecrets`. [More info](https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod).
49# NFD-Master configuration
52 # -- Specifies whether nfd-master should be deployed
53 # @section -- NFD-Master
55 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/args
56 # -- Additional [command line arguments](https://kubernetes-sigs.github.io/node-feature-discovery/v0.20/reference/master-commandline-reference) to pass to nfd-master.
57 # @section -- NFD-Master
59 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/env
60 # -- Additional environment variables to set in the nfd-master container.
61 # @section -- NFD-Master
63 # -- Run the container in the host's network namespace.
64 # @section -- NFD-Master
66 # @schema type: [boolean, null]
67 # -- (bool) Run the container with host user ids. NOTE: if hostNetwork is true, hostUsers should be true.
68 # @section -- NFD-Master
69 hostUsers: ~ # @schema type: [boolean, null]
70 # @enum: [Default, ClusterFirst, ClusterFirstWithHostNet, None]
71 # -- NFD master pod [dnsPolicy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy).
72 # @section -- NFD-Master
73 dnsPolicy: ClusterFirstWithHostNet
74 # @schema type: [object, null]
75 # -- (object) NFD master [configuration](https://kubernetes-sigs.github.io/node-feature-discovery/v0.20/reference/master-configuration-reference).
76 # @section -- NFD-Master
77 config: ### <NFD-MASTER-CONF-START-DO-NOT-REMOVE>
79 # extraLabelNs: ["added.ns.io","added.kubernets.io"]
80 # denyLabelNs: ["denied.ns.io","denied.kubernetes.io"]
82 # informerPageSize: 200
83 # labelWhiteList: "foo"
88 # disableExtendedResources: true
89 # disableAnnotations: true
90 # allowOverwrite: false
91 # denyNodeFeatureLabels: true
92 # nodeFeatureNamespaceSelector:
94 # kubernetes.io/metadata.name: "node-feature-discovery"
96 # - key: "kubernetes.io/metadata.name"
99 # - "node-feature-discovery"
101 # addDirHeader: false
102 # alsologtostderr: false
111 # logFileMaxSize: 1800
112 # skipLogHeaders: false
115 # # this value has to be lower than leaseDuration and greater than retryPeriod*1.2
117 # # this value has to be greater than 0
119 # nfdApiParallelism: 10
120 ### <NFD-MASTER-CONF-END-DO-NOT-REMOVE>
122 # @schema type: integer; minimum: 1; maximum: 65535
123 # -- Port on which to serve http for metrics and healthz endpoints.
124 # @section -- NFD-Master
126 # @schema type: [string, null]
127 # -- Instance name. Used to separate annotation namespaces for multiple parallel deployments.
128 # @section -- NFD-Master
130 # @schema type: [string, null]
131 # -- (string) NFD API controller resync period. Time duration string (e.g. "5m", "1h", "2h45m").
132 # @section -- NFD-Master
134 # @schema item: string
135 # -- Label namespaces to deny. Labels with these prefixes will not be published to the nodes.
136 # @section -- NFD-Master
138 # @schema item: string
139 # -- Additional label namespaces to publish. Labels with these prefixes are allowed even if otherwise denied by `master.denyLabelNs`.
140 # @section -- NFD-Master
142 # -- Enable node tainting.
143 # @section -- NFD-Master
145 # @schema type: [integer, null]; minimum: 1; maximum: 100
146 # -- (int) The maximum number of concurrent node updates.
147 # @section -- NFD-Master
149 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
150 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-master Deployment.
151 # @section -- NFD-Master
152 deploymentAnnotations: {}
153 # -- Number of the desired replicas for the nfd-master Deployment.
154 # @section -- NFD-Master
156 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext
157 # -- [Pod SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) of the nfd-master pods.
158 # @section -- NFD-Master
159 podSecurityContext: {}
160 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers
161 # -- [Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the nfd-master pods.
162 # @section -- NFD-Master
164 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext
165 # -- [SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) of the nfd-master container.
166 # @section -- NFD-Master
169 allowPrivilegeEscalation: false
174 readOnlyRootFilesystem: true
178 # -- Specifies whether a service account should be created.
179 # @section -- NFD-Master
181 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
182 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the service account
183 # @section -- NFD-Master
185 # @schema type: [string, null]
186 # -- The name of the service account to use. If not set and create is true, a name is generated using the fullname template
187 # @section -- NFD-Master
189 # @schema type: [integer, null]
190 # -- (int) Specifies the number of old ReplicaSets for the Deployment to retain. [revisionHistoryLimit](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit)
191 # @section -- NFD-Master
192 revisionHistoryLimit:
194 # -- Create [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) configuration for nfd-master.
195 # @section -- NFD-Master
197 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements
200 # -- Resource [limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-master container.
201 # @section -- NFD-Master
205 # -- Resource [requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-master container.
206 # @section -- NFD-Master
209 # You may want to use the same value for `requests.memory` and `limits.memory`. The “requests” value affects scheduling to accommodate pods on nodes.
210 # If there is a large difference between “requests” and “limits” and nodes experience memory pressure, the kernel may invoke
211 # the OOM Killer, even if the memory does not exceed the “limits” threshold. This can cause unexpected pod evictions. Memory
212 # cannot be compressed and once allocated to a pod, it can only be reclaimed by killing the pod.
213 # Natan Yellin 22/09/2022 https://home.robusta.dev/blog/kubernetes-memory-limit
215 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/nodeSelector
216 # -- [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) for the nfd-master pods.
217 # @section -- NFD-Master
219 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/tolerations
220 # -- [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for the nfd-master pods.
221 # @section -- NFD-Master
224 key: "node-role.kubernetes.io/control-plane"
231 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetSpec
233 # -- Configure PodDisruptionBudget for the nfd-master Deployment.
234 # @section -- NFD-Master
237 # -- Minimum number (or percentage) of pods that must be available after the eviction.
238 # @section -- NFD-Master
241 # -- Policy to evict unhealthy pods when a PodDisruptionBudget is defined.
242 # @section -- NFD-Master
243 unhealthyPodEvictionPolicy: AlwaysAllow
244 # @section -- NFD-Master
246 # -- Should a networkPolicy be deployed for the nfd-master pods
247 # @section -- NFD-Master
249 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyEgressRule
250 # -- [Egress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-master pods.
251 # The minimum egress ports required to function are: DNS (53/udp, 53/tcp, API server (80/tcp, 443/tcp, 6443/tcp). NOTE: OKD and Openshift use 6443/tcp
252 # @section -- NFD-Master
254 - ports: # @schema hidden
265 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyIngressRule
266 # -- [Ingress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-master pods.
267 # @section -- NFD-Master
269 - ports: # @schema hidden
272 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
273 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-master pods.
274 # @section -- NFD-Master
276 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels
277 # -- [Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) to add to the nfd-master pods.
278 # @section -- NFD-Master
280 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity
281 # -- [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) for the nfd-master pods.
282 # @section -- NFD-Master
286 preferredDuringSchedulingIgnoredDuringExecution:
290 - key: "node-role.kubernetes.io/control-plane"
293 # -- Startup probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes).
294 # @section -- NFD-Master
297 # @schema type: [integer, null]
298 # -- (int) The number of seconds after the container has started before probe is initiated.
299 # @section -- NFD-Master
301 # @schema type: [integer, null]; minimum: 1
302 # -- (int) The number of seconds after which the probe times out.
303 # @section -- NFD-Master
305 # @schema type: [integer, null]; minimum: 1
306 # -- (int) How often (in seconds) to perform the probe.
307 # @section -- NFD-Master
309 # @schema type: [integer, null]; minimum: 1
310 # -- (int) The number of consecutive failures for the probe before considering the pod as not ready.
311 # @section -- NFD-Master
313 # -- Liveness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-http-request).
314 # @section -- NFD-Master
317 # @schema type: [integer, null]
318 # -- (int) The number of seconds after the container has started before probe is initiated.
319 # @section -- NFD-Master
321 # @schema type: [integer, null]; minimum: 1
322 # -- (int) The number of seconds after which the probe times out.
323 # @section -- NFD-Master
325 # @schema type: [integer, null]; minimum: 1
326 # -- (int) How often (in seconds) to perform the probe.
327 # @section -- NFD-Master
329 # @schema type: [integer, null]; minimum: 1
330 # -- (int) The number of consecutive failures for the probe before considering the container as failed and restarting it.
331 # @section -- NFD-Master
333 # -- Readiness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes).
334 # @section -- NFD-Master
337 # @schema type: [integer, null]
338 # -- (int) The number of seconds after the container has started before probe is initiated.
339 # @section -- NFD-Master
341 # @schema type: [integer, null]; minimum: 1
342 # -- (int) The number of seconds after which the probe times out.
343 # @section -- NFD-Master
345 # @schema type: [integer, null]; minimum: 1
346 # -- (int) How often (in seconds) to perform the probe.
347 # @section -- NFD-Master
349 # @schema type: [integer, null]; minimum: 1
350 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
351 # @section -- NFD-Master
353 # @schema type: [integer, null]; minimum: 1
354 # -- (int) The number of consecutive failures for the probe before considering the pod as not ready.
355 # @section -- NFD-Master
358# NFD-Worker configuration
361 # -- Specifies whether nfd-worker should be deployed
362 # @section -- NFD-Worker
364 # @schema uniqueItems:true;item:string;itemEnum:["node","pod","ds"]
365 # -- Objects used as owner references for NodeFeature objects. Valid values are `node`, `pod`, and `ds`. This value is passed through `-owner-refs` and takes precedence over `worker.config.core.ownerRefs`.
366 # @section -- NFD-Worker
370 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/args
371 # -- Additional [command line arguments](https://kubernetes-sigs.github.io/node-feature-discovery/v0.20/reference/worker-commandline-reference) to pass to nfd-worker.
372 # @section -- NFD-Worker
374 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/env
375 # -- Additional environment variables to set in the nfd-worker container.
376 # @section -- NFD-Worker
378 # -- Run the container in the host's network namespace.
379 # @section -- NFD-Worker
381 # @schema type: [boolean, null]
382 # -- (bool) Run the container with host user ids. NOTE: if hostNetwork is true, hostUsers should be true.
383 # @section -- NFD-Worker
384 hostUsers: ~ # @schema type: [boolean, null]
385 # @enum: [Default, ClusterFirst, ClusterFirstWithHostNet, None]
386 # -- NFD worker pod [dnsPolicy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy).
387 # @section -- NFD-Worker
388 dnsPolicy: ClusterFirstWithHostNet
389 # @schema type: [object, null]
390 # -- (object) NFD worker [configuration](https://kubernetes-sigs.github.io/node-feature-discovery/v0.20/reference/worker-configuration-reference).
391 # @section -- NFD-Worker
392 config: ### <NFD-WORKER-CONF-START-DO-NOT-REMOVE>
397 # # Select from node, pod and ds. Use [] to disable owner references.
398 # ownerRefs: [pod, ds]
400 # featureSources: [all]
401 # labelSources: [all]
402 # # Discover these features but omit them from the published NodeFeature object
403 # # to reduce its size. Exact key or '*' prefix (e.g. pci.device, pci.*).
404 # # Only for features no NodeFeatureRule/NodeFeatureGroup consumes.
405 # noPublishFeatures: []
407 # addDirHeader: false
408 # alsologtostderr: false
417 # logFileMaxSize: 1800
418 # skipLogHeaders: false
422 ## NOTE: whitelist has priority over blacklist
423 # attributeBlacklist:
450 # attributeWhitelist:
452 # kconfigFile: "/path/to/kconfig"
458 # deviceClassWhitelist:
466 # - "subsystem_vendor"
467 # - "subsystem_device"
469 # deviceClassWhitelist:
479 # # The following feature demonstrates the capabilities of the matchFeatures
480 # - name: "my custom rule"
482 # "vendor.io/my-ng-feature": "true"
483 # # matchFeatures implements a logical AND over all matcher terms in the
484 # # list (i.e. all of the terms, or per-feature matchers, must match)
486 # - feature: cpu.cpuid
488 # AVX512F: {op: Exists}
489 # - feature: cpu.cstate
491 # enabled: {op: IsTrue}
492 # - feature: cpu.pstate
494 # no_turbo: {op: IsFalse}
495 # scaling_governor: {op: In, value: ["performance"]}
498 # RDTL3CA: {op: Exists}
501 # bf.enabled: {op: IsTrue}
502 # - feature: cpu.topology
504 # hardware_multithreading: {op: IsFalse}
506 # - feature: kernel.config
509 # LSM: {op: InRegexp, value: ["apparmor"]}
510 # - feature: kernel.loadedmodule
512 # e1000e: {op: Exists}
513 # - feature: kernel.selinux
515 # enabled: {op: IsFalse}
516 # - feature: kernel.kvm
518 # enabled: {op: IsFalse}
519 # - feature: kernel.version
521 # major: {op: In, value: ["5"]}
522 # minor: {op: Gt, value: ["10"]}
524 # - feature: storage.block
526 # rotational: {op: In, value: ["0"]}
527 # dax: {op: In, value: ["0"]}
529 # - feature: network.device
531 # operstate: {op: In, value: ["up"]}
532 # speed: {op: Gt, value: ["100"]}
534 # - feature: memory.numa
536 # node_count: {op: Gt, value: ["2"]}
537 # - feature: memory.nv
539 # devtype: {op: In, value: ["nd_dax"]}
540 # mode: {op: In, value: ["memory"]}
542 # - feature: system.osrelease
544 # ID: {op: In, value: ["fedora", "centos"]}
545 # - feature: system.name
547 # nodename: {op: InRegexp, value: ["^worker-X"]}
549 # - feature: local.label
551 # custom-feature-knob: {op: Gt, value: ["100"]}
553 # # The following feature demonstrates the capabilities of the matchAny
554 # - name: "my matchAny rule"
556 # "vendor.io/my-ng-feature-2": "my-value"
557 # # matchAny implements a logical IF over all elements (sub-matchers) in
558 # # the list (i.e. at least one feature matcher must match)
561 # - feature: kernel.loadedmodule
563 # driver-module-X: {op: Exists}
564 # - feature: pci.device
566 # vendor: {op: In, value: ["8086"]}
567 # class: {op: In, value: ["0200"]}
569 # - feature: kernel.loadedmodule
571 # driver-module-Y: {op: Exists}
572 # - feature: usb.device
574 # vendor: {op: In, value: ["8086"]}
575 # class: {op: In, value: ["02"]}
577 # - name: "avx wildcard rule"
579 # "my-avx-feature": "true"
581 # - feature: cpu.cpuid
582 # matchName: {op: InRegexp, value: ["^AVX512"]}
584 # # The following features demonstreate label templating capabilities
585 # - name: "my template rule"
587 # {{ range .system.osrelease }}vendor.io/my-system-feature.{{ .Name }}={{ .Value }}
590 # - feature: system.osrelease
592 # ID: {op: InRegexp, value: ["^open.*"]}
593 # VERSION_ID.major: {op: In, value: ["13", "15"]}
595 # - name: "my template rule 2"
597 # {{ range .pci.device }}vendor.io/my-pci-device.{{ .class }}-{{ .device }}=with-cpuid
600 # - feature: pci.device
602 # class: {op: InRegexp, value: ["^06"]}
604 # - feature: cpu.cpuid
608 # # The following examples demonstrate vars field and back-referencing
609 # # previous labels and vars
610 # - name: "my dummy kernel rule"
612 # "vendor.io/my.kernel.feature": "true"
614 # - feature: kernel.version
616 # major: {op: Gt, value: ["2"]}
618 # - name: "my dummy rule with no labels"
620 # "my.dummy.var": "1"
622 # - feature: cpu.cpuid
623 # matchExpressions: {}
625 # - name: "my rule using backrefs"
627 # "vendor.io/my.backref.feature": "true"
629 # - feature: rule.matched
631 # vendor.io/my.kernel.feature: {op: IsTrue}
632 # my.dummy.var: {op: Gt, value: ["0"]}
634 # - name: "kconfig template rule"
636 # {{ range .kernel.config }}kconfig-{{ .Name }}={{ .Value }}
639 # - feature: kernel.config
640 # matchName: {op: In, value: ["SWAP", "X86", "ARM"]}
641 ### <NFD-WORKER-CONF-END-DO-NOT-REMOVE>
643 # @schema type: integer; minimum: 1; maximum: 65535
644 # -- Port on which to serve http for metrics and healthz endpoints.
645 # @section -- NFD-Worker
647 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
648 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-worker DaemonSet.
649 # @section -- NFD-Worker
650 daemonsetAnnotations: {}
651 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext
652 # -- [Pod SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) of the nfd-worker pods.
653 # @section -- NFD-Worker
654 podSecurityContext: {}
655 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers
656 # -- [Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the nfd-worker pods.
657 # @section -- NFD-Worker
659 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext
660 # -- [SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) of the nfd-worker container.
661 # @section -- NFD-Worker
664 allowPrivilegeEscalation: false
669 readOnlyRootFilesystem: true
672 # -- Liveness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-http-request).
673 # @section -- NFD-Worker
676 # @schema type: [integer, null]
677 # -- (int) The number of seconds after the container has started before probe is initiated.
678 # @section -- NFD-Worker
679 initialDelaySeconds: 10
680 # @schema type: [integer, null]; minimum: 1
681 # -- (int) The number of seconds after which the probe times out.
682 # @section -- NFD-Worker
684 # @schema type: [integer, null]; minimum: 1
685 # -- (int) How often (in seconds) to perform the probe.
686 # @section -- NFD-Worker
688 # @schema type: [integer, null]; minimum: 1
689 # -- (int) The number of consecutive failures for the probe before considering the container as failed and restarting it.
690 # @section -- NFD-Worker
692 # -- Readiness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes).
693 # @section -- NFD-Worker
696 # @schema type: [integer, null]
697 # -- (int) The number of seconds after the container has started before probe is initiated.
698 # @section -- NFD-Worker
699 initialDelaySeconds: 5
700 # @schema type: [integer, null]; minimum: 1
701 # -- (int) The number of seconds after which the probe times out.
702 # @section -- NFD-Worker
704 # @schema type: [integer, null]; minimum: 1
705 # -- (int) How often (in seconds) to perform the probe.
706 # @section -- NFD-Worker
708 # @schema type: [integer, null]; minimum: 1
709 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
710 # @section -- NFD-Worker
712 # @schema type: [integer, null]; minimum: 1
713 # -- (int) The number of consecutive failures for the probe before considering the pod as not ready.
714 # @section -- NFD-Worker
717 # -- Specifies whether a service account should be created.
718 # @section -- NFD-Worker
720 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
721 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the service account
722 # @section -- NFD-Worker
724 # @schema type: [string, null]
725 # -- Name of the service account to use. If not set and create is true, a name is generated using the fullname template
726 # @section -- NFD-Worker
728 # @schema type: [integer, null]
729 # -- (int) Specifies the number of old history for the DaemonSet to retain to allow rollback.
730 # @section -- NFD-Worker
731 revisionHistoryLimit:
733 # -- Create [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) configuration for nfd-worker.
734 # @section -- NFD-Worker
736 # Allow users to mount the hostPath /usr/src, useful for RHCOS on s390x
737 # Does not work on systems without /usr/src AND a read-only /usr, such as Talos
738 # -- Mount host path /usr/src inside the container. Does not work on systems without /usr/src AND a read-only /usr.
739 # @section -- NFD-Worker
741 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements
744 # -- Resource [limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-worker container.
745 # @section -- NFD-Worker
749 # -- Resource [requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-worker container.
750 # @section -- NFD-Worker
754 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/nodeSelector
755 # -- [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) for the nfd-worker pods.
756 # @section -- NFD-Worker
758 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/tolerations
759 # -- [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for the nfd-worker pods.
760 # @section -- NFD-Worker
762 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
763 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-worker pods.
764 # @section -- NFD-Worker
766 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels
767 # -- [Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) to add to the nfd-worker pods.
768 # @section -- NFD-Worker
770 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity
771 # -- [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) for the nfd-worker pods.
772 # @section -- NFD-Worker
774 # @schema type: [string, null]
775 # -- The name of the PriorityClass to be used for the nfd-worker pods. Takes precedence over the top-level `priorityClassName`.
776 # @section -- NFD-Worker
778 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.apps.v1.DaemonSetUpdateStrategy
779 # -- Update strategy for the nfd-worker DaemonSet. The default updates
780 # multiple nodes in parallel on large clusters, so upgrades finish within
781 # Helm and Flux HelmRelease timeouts. Set `maxUnavailable: 1` to update one
782 # node at a time. To use `type: OnDelete`, also set `rollingUpdate: null`
783 # (Helm deep-merges maps).
784 # [More info](https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set)
785 # @section -- NFD-Worker
788 # @schema type: [string, integer]
789 maxUnavailable: "10%"
790 # @section -- NFD-Worker
792 # -- Should a networkPolicy be deployed for the nfd-worker pods
793 # @section -- NFD-Worker
795 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyEgressRule
796 # -- [Egress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-worker pods.
797 # The minimum egress ports required to function are: DNS (53/udp, 53/tcp, API server (80/tcp, 443/tcp, 6443/tcp). NOTE: OKD and Openshift use 6443/tcp
798 # @section -- NFD-Worker
800 - ports: # @schema hidden
811 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyIngressRule
812 # -- [Ingress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-worker pods.
813 # @section -- NFD-Worker
815 - ports: # @schema hidden
819# NFD-Topology-Updater configuration
822 # @schema type: [object, null]
823 # -- (object) Configuration for the topology updater. See the [configuration reference](https://kubernetes-sigs.github.io/node-feature-discovery/v0.20/reference/topology-updater-configuration-reference) for details.
824 # @section -- NFD-Topology-Updater
825 config: ### <NFD-TOPOLOGY-UPDATER-CONF-START-DO-NOT-REMOVE>
826 ## key = node name, value = list of resources to be excluded.
827 ## use * to exclude from all nodes.
828 ## an example for how the exclude list should looks like
831 # node2: [memory, example/deviceA]
832 # '*': [hugepages-2Mi]
833 ### <NFD-TOPOLOGY-UPDATER-CONF-END-DO-NOT-REMOVE>
835 # -- Specifies whether nfd-topology-updater should be deployed.
836 # @section -- NFD-Topology-Updater
838 # -- Create the NodeResourceTopology CRD. This MUST be set to true when
839 # 'enable' is true, unless the CRD is installed separately (e.g., by another
840 # Helm release or external tool). If the CRD is missing, the topology-updater
841 # pods keep running but publish nothing; they log "waiting for
842 # NodeResourceTopology CRD to be created" and retry indefinitely.
843 # @section -- NFD-Topology-Updater
845 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/args
846 # -- Additional [command line arguments](https://kubernetes-sigs.github.io/node-feature-discovery/v0.20/reference/topology-updater-commandline-reference) to pass to nfd-topology-updater.
847 # @section -- NFD-Topology-Updater
849 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/env
850 # -- Additional environment variables to set in the nfd-topology-updater container.
851 # @section -- NFD-Topology-Updater
853 # -- Run the container in the host's network namespace.
854 # @section -- NFD-Topology-Updater
856 # @schema type: [boolean, null]
857 # -- (bool) Run the container with host user ids. NOTE: if hostNetwork is true, hostUsers should be true.
858 # @section -- NFD-Topology-Updater
859 hostUsers: ~ # @schema type: [boolean, null]
860 # @enum: [Default, ClusterFirst, ClusterFirstWithHostNet, None]
861 # -- NFD topology updater pod [dnsPolicy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy).
862 # @section -- NFD-Topology-Updater
863 dnsPolicy: ClusterFirstWithHostNet
865 # -- Specifies whether a service account should be created.
866 # @section -- NFD-Topology-Updater
868 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
869 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the service account.
870 # @section -- NFD-Topology-Updater
872 # @schema type: [string, null]
873 # -- Name or the service account to use. If not set and create is true, a name is generated using the fullname template.
874 # @section -- NFD-Topology-Updater
876 # @schema type: [integer, null]
877 # -- (int) Specifies the number of old history for the DaemonSet to retain to allow rollback.
878 # @section -- NFD-Topology-Updater
879 revisionHistoryLimit:
880 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.apps.v1.DaemonSetUpdateStrategy
881 # -- Update strategy for the nfd-topology-updater DaemonSet. The default
882 # updates multiple nodes in parallel on large clusters, so upgrades finish
883 # within Helm and Flux HelmRelease timeouts. Set `maxUnavailable: 1` to
884 # update one node at a time. To use `type: OnDelete`, also set
885 # `rollingUpdate: null` (Helm deep-merges maps).
886 # [More info](https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set)
887 # @section -- NFD-Topology-Updater
890 # @schema type: [string, integer]
891 maxUnavailable: "10%"
893 # -- Create [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) configuration for nfd-topology-updater.
894 # @section -- NFD-Topology-Updater
896 # @schema type: integer; minimum: 1; maximum: 65535
897 # -- Port on which to serve http for metrics and healthz endpoints.
898 # @section -- NFD-Topology-Updater
900 # @schema type: [string, null]
901 # -- Host path for the kubelet config file.
902 # @section -- NFD-Topology-Updater
904 # @schema type: [string, null]
905 # -- Host path for the kubelet socket for podresources endpoint.
906 # @section -- NFD-Topology-Updater
907 kubeletPodResourcesSockPath:
908 # -- Time to sleep between CR updates. Non-positive value implies no CR update.
909 # @section -- NFD-Topology-Updater
911 # -- Namespace to watch pods, `*` for all namespaces.
912 # @section -- NFD-Topology-Updater
914 # -- The kubelet state directory path for watching state and checkpoint files. Empty value disables kubelet state tracking.
915 # @section -- NFD-Topology-Updater
916 kubeletStateDir: /var/lib/kubelet
917 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext
918 # -- [Pod SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) of the nfd-topology-updater pods.
919 # @section -- NFD-Topology-Updater
920 podSecurityContext: {}
921 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers
922 # -- [Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the nfd-topology-updater pods.
923 # @section -- NFD-Topology-Updater
925 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext
926 # -- [SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) of the nfd-topology-updater container.
927 # @section -- NFD-Topology-Updater
930 allowPrivilegeEscalation: false
935 readOnlyRootFilesystem: true
938 # -- Liveness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-http-request).
939 # @section -- NFD-Topology-Updater
942 # @schema type: [integer, null]
943 # -- (int) The number of seconds after the container has started before probe is initiated.
944 # @section -- NFD-Topology-Updater
945 initialDelaySeconds: 10
946 # @schema type: [integer, null]; minimum: 1
947 # -- (int) The number of seconds after which the probe times out.
948 # @section -- NFD-Topology-Updater
950 # @schema type: [integer, null]; minimum: 1
951 # -- (int) How often (in seconds) to perform the probe.
952 # @section -- NFD-Topology-Updater
954 # @schema type: [integer, null]; minimum: 1
955 # -- (int) The number of consecutive failures for the probe before considering the container as failed and restarting it.
956 # @section -- NFD-Topology-Updater
958 # -- Readiness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes).
959 # @section -- NFD-Topology-Updater
962 # @schema type: [integer, null]
963 # -- (int) The number of seconds after the container has started before probe is initiated.
964 # @section -- NFD-Topology-Updater
965 initialDelaySeconds: 5
966 # @schema type: [integer, null]; minimum: 1
967 # -- (int) The number of seconds after which the probe times out.
968 # @section -- NFD-Topology-Updater
970 # @schema type: [integer, null]; minimum: 1
971 # -- (int) How often (in seconds) to perform the probe.
972 # @section -- NFD-Topology-Updater
974 # @schema type: [integer, null]; minimum: 1
975 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
976 # @section -- NFD-Topology-Updater
978 # @schema type: [integer, null]; minimum: 1
979 # -- (int) The number of consecutive failures for the probe before considering the pod as not ready.
980 # @section -- NFD-Topology-Updater
982 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements
985 # -- Resource [limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-topology-updater container.
986 # @section -- NFD-Topology-Updater
990 # -- Resource [requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-topology-updater container.
991 # @section -- NFD-Topology-Updater
995 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/nodeSelector
996 # -- [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) for the nfd-topology-updater pods.
997 # @section -- NFD-Topology-Updater
999 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/tolerations
1000 # -- [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for the nfd-topology-updater pods.
1001 # @section -- NFD-Topology-Updater
1003 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
1004 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-topology-updater pods.
1005 # @section -- NFD-Topology-Updater
1007 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels
1008 # -- [Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) to add to the nfd-topology-updater pods.
1009 # @section -- NFD-Topology-Updater
1011 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
1012 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-topology-updater DaemonSet.
1013 # @section -- NFD-Topology-Updater
1014 daemonsetAnnotations: {}
1015 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity
1016 # -- [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) for the nfd-topology-updater pods.
1017 # @section -- NFD-Topology-Updater
1019 # -- Enables compute and report of pod fingerprint in NRT objects.
1020 # @section -- NFD-Topology-Updater
1021 podSetFingerprint: true
1022 # @section -- NFD-Topology-Updater
1024 # -- Should a networkPolicy be deployed for the nfd-topology pods
1025 # @section -- NFD-Topology-Updater
1027 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyEgressRule
1028 # -- [Egress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-topology pods.
1029 # The minimum egress ports required to function are: DNS (53/udp, 53/tcp, API server (80/tcp, 443/tcp, 6443/tcp). NOTE: OKD and Openshift use 6443/tcp
1030 # @section -- NFD-Topology-Updater
1032 - ports: # @schema hidden
1043 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyIngressRule
1044 # -- [Ingress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-topology pods.
1045 # @section -- NFD-Topology-Updater
1047 - ports: # @schema hidden
1051# NFD-GC configuration
1054 # -- Specifies whether nfd-gc should be deployed.
1055 # @section -- NFD-GC
1057 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/args
1058 # -- Additional [command line arguments](https://kubernetes-sigs.github.io/node-feature-discovery/v0.20/reference/gc-commandline-reference) to pass to nfd-gc.
1059 # @section -- NFD-GC
1061 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/env
1062 # -- Additional environment variables to set in the nfd-gc container.
1063 # @section -- NFD-GC
1065 # -- Run the container in the host's network namespace.
1066 # @section -- NFD-GC
1068 # @schema type: [boolean, null]
1069 # -- (bool) Run the container with host user ids. NOTE: if hostNetwork is true, hostUsers should be true.
1070 # @section -- NFD-GC
1071 hostUsers: ~ # @schema type: [boolean, null]
1072 # -- The number of desired replicas for the nfd-gc Deployment.
1073 # @section -- NFD-GC
1075 # @enum: [Default, ClusterFirst, ClusterFirstWithHostNet, None]
1076 # -- NFD gc pod [dnsPolicy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy).
1077 # @section -- NFD-GC
1078 dnsPolicy: ClusterFirstWithHostNet
1080 # -- Specifies whether a service account should be created.
1081 # @section -- NFD-GC
1083 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
1084 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the service account.
1085 # @section -- NFD-GC
1087 # @schema type: [string, null]
1088 # -- Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
1089 # @section -- NFD-GC
1092 # -- Create [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) configuration for nfd-gc.
1093 # @section -- NFD-GC
1095 # -- Time between periodic garbage collector runs.
1096 # @section -- NFD-GC
1098 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext
1099 # -- [Pod SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) of the nfd-gc pods.
1100 # @section -- NFD-GC
1101 podSecurityContext: {}
1102 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers
1103 # -- [Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the nfd-gc pods.
1104 # @section -- NFD-GC
1106 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext
1107 # -- [SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) of the nfd-gc container.
1108 # @section -- NFD-GC
1111 allowPrivilegeEscalation: false
1116 readOnlyRootFilesystem: true
1119 # -- Liveness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-http-request).
1120 # @section -- NFD-GC
1123 # @schema type: [integer, null]
1124 # -- (int) The number of seconds after the container has started before probe is initiated.
1125 # @section -- NFD-GC
1126 initialDelaySeconds: 10
1127 # @schema type: [integer, null]; minimum: 1
1128 # -- (int) The number of seconds after which the probe times out.
1129 # @section -- NFD-GC
1131 # @schema type: [integer, null]; minimum: 1
1132 # -- (int) How often (in seconds) to perform the probe.
1133 # @section -- NFD-GC
1135 # @schema type: [integer, null]; minimum: 1
1136 # -- (int) The number of consecutive failures for the probe before considering the container as failed and restarting it.
1137 # @section -- NFD-GC
1139 # -- Readiness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes).
1140 # @section -- NFD-GC
1143 # @schema type: [integer, null]
1144 # -- (int) The number of seconds after the container has started before probe is initiated.
1145 # @section -- NFD-GC
1146 initialDelaySeconds: 5
1147 # @schema type: [integer, null]; minimum: 1
1148 # -- (int) The number of seconds after which the probe times out.
1149 # @section -- NFD-GC
1151 # @schema type: [integer, null]; minimum: 1
1152 # -- (int) How often (in seconds) to perform the probe.
1153 # @section -- NFD-GC
1155 # @schema type: [integer, null]; minimum: 1
1156 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
1157 # @section -- NFD-GC
1159 # @schema type: [integer, null]; minimum: 1
1160 # -- (int) The number of consecutive failures for the probe before considering the pod as not ready.
1161 # @section -- NFD-GC
1165 # -- Resource [limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-gc container.
1166 # @section -- NFD-GC
1170 # -- Resource [requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-gc container.
1171 # @section -- NFD-GC
1175 # @schema type: integer; minimum: 1; maximum: 65535
1176 # -- Port on which to serve http for metrics and healthz endpoints.
1177 # @section -- NFD-GC
1179 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/nodeSelector
1180 # -- [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) for the nfd-gc pods.
1181 # @section -- NFD-GC
1183 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/tolerations
1184 # -- [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for the nfd-gc pods.
1185 # @section -- NFD-GC
1187 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
1188 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-gc pods.
1189 # @section -- NFD-GC
1191 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels
1192 # -- [Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) to add to the nfd-gc pods.
1193 # @section -- NFD-GC
1195 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
1196 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-gc Deployment.
1197 # @section -- NFD-GC
1198 deploymentAnnotations: {}
1199 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity
1200 # -- [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) for the nfd-gc pods.
1201 # @section -- NFD-GC
1203 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetSpec
1204 podDisruptionBudget:
1205 # -- Configure PodDisruptionBudget for the nfd-gc Deployment.
1206 # @section -- NFD-GC
1209 # -- Minimum number (or percentage) of pods that must be available after the eviction.
1210 # @section -- NFD-GC
1213 # -- Policy to evict unhealthy pods when a PodDisruptionBudget is defined.
1214 # @section -- NFD-GC
1215 unhealthyPodEvictionPolicy: AlwaysAllow
1216 # @schema type: [integer, null]
1217 # -- (int) Specifies the number of old history for the Deployment to retain to allow rollback.
1218 # @section -- NFD-GC
1219 revisionHistoryLimit:
1220 # @section -- NFD-GC
1222 # -- Should a networkPolicy be deployed for the nfd-gc pods
1223 # @section -- NFD-GC
1225 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyEgressRule
1226 # -- [Egress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-gc pods.
1227 # The minimum egress ports required to function are: DNS (53/udp, 53/tcp, API server (80/tcp, 443/tcp, 6443/tcp). NOTE: OKD and Openshift use 6443/tcp
1228 # @section -- NFD-GC
1230 - ports: # @schema hidden
1241 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyIngressRule
1242 # -- [Ingress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-gc pods.
1243 # @section -- NFD-GC
1245 - ports: # @schema hidden
1249# Prometheus configuration
1252 # -- Create PodMonitor object for enabling metrics collection by Prometheus Operator.
1253 # @section -- Prometheus
1255 # -- Interval at which metrics are scraped.
1256 # @section -- Prometheus
1258 # -- Labels to add to the PodMonitor object.
1259 # @section -- Prometheus