2 # -- NFD image repository
4 repository: chainreg.biz/scratch-images/test-tmp/node-feature-discovery
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.19.0-r3@sha256:2be1ac0f6042bc5962d381c0d95c04bf3e63d90cdbcb3ef67794f5dc3a8a4492
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.19/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.19/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 # -- NFD master [configuration](https://kubernetes-sigs.github.io/node-feature-discovery/v0.19/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
109 ## NOTE: the following options are not dynamically run-time configurable
110 ## and require a nfd-master restart to take effect after being changed
113 # logFileMaxSize: 1800
114 # skipLogHeaders: false
117 # # this value has to be lower than leaseDuration and greater than retryPeriod*1.2
119 # # this value has to be greater than 0
121 # nfdApiParallelism: 10
122 ### <NFD-MASTER-CONF-END-DO-NOT-REMOVE>
124 # @schema type: integer; minimum: 1; maximum: 65535
125 # -- Port on which to serve http for metrics and healthz endpoints.
126 # @section -- NFD-Master
128 # @schema type: [string, null]
129 # -- Instance name. Used to separate annotation namespaces for multiple parallel deployments.
130 # @section -- NFD-Master
132 # @schema type: [string, null]
133 # -- (int) NFD API controller resync period. Time duration string (e.g. "5m", "1h", "2h45m").
134 # @section -- NFD-Master
136 # @schema item: string
137 # -- Label namespaces to deny. Labels with these prefixes will not be published to the nodes.
138 # @section -- NFD-Master
140 # @schema item: string
141 # -- Additional label namespaces to publish. Labels with these prefixes are allowed even if otherwise denied by `master.denyLabelNs`.
142 # @section -- NFD-Master
144 # -- Enable node tainting.
145 # @section -- NFD-Master
147 # @schema type: [integer, null]; minimum: 1; maximum: 100
148 # -- (int) The maximum number of concurrent node updates.
149 # @section -- NFD-Master
151 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
152 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-master Deployment.
153 # @section -- NFD-Master
154 deploymentAnnotations: {}
155 # -- Number of the desired replicas for the nfd-master Deployment.
156 # @section -- NFD-Master
158 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext
159 # -- [Pod SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) of the nfd-master pods.
160 # @section -- NFD-Master
161 podSecurityContext: {}
162 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers
163 # -- [Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the nfd-master pods.
164 # @section -- NFD-Master
166 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext
167 # -- [SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) of the nfd-master container.
168 # @section -- NFD-Master
171 allowPrivilegeEscalation: false
176 readOnlyRootFilesystem: true
180 # -- Specifies whether a service account should be created.
181 # @section -- NFD-Master
183 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
184 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the service account
185 # @section -- NFD-Master
187 # @schema type: [string, null]
188 # -- The name of the service account to use. If not set and create is true, a name is generated using the fullname template
189 # @section -- NFD-Master
191 # @schema type: [integer, null]
192 # -- (int) Specifies the number of old ReplicaSets for the Deployment to retain. [revisionHistoryLimit](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit)
193 # @section -- NFD-Master
194 revisionHistoryLimit:
196 # -- Create [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) configuration for nfd-master.
197 # @section -- NFD-Master
199 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements
202 # -- Resource [limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-master container.
203 # @section -- NFD-Master
207 # -- Resource [requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-master container.
208 # @section -- NFD-Master
211 # You may want to use the same value for `requests.memory` and `limits.memory`. The “requests” value affects scheduling to accommodate pods on nodes.
212 # If there is a large difference between “requests” and “limits” and nodes experience memory pressure, the kernel may invoke
213 # the OOM Killer, even if the memory does not exceed the “limits” threshold. This can cause unexpected pod evictions. Memory
214 # cannot be compressed and once allocated to a pod, it can only be reclaimed by killing the pod.
215 # Natan Yellin 22/09/2022 https://home.robusta.dev/blog/kubernetes-memory-limit
217 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/nodeSelector
218 # -- [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) for the nfd-master pods.
219 # @section -- NFD-Master
221 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/tolerations
222 # -- [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for the nfd-master pods.
223 # @section -- NFD-Master
226 key: "node-role.kubernetes.io/control-plane"
233 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetSpec
235 # -- Configure PodDisruptionBudget for the nfd-master Deployment.
236 # @section -- NFD-Master
239 # -- Minimum number (or percentage) of pods that must be available after the eviction.
240 # @section -- NFD-Master
243 # -- Policy to evict unhealthy pods when a PodDisruptionBudget is defined.
244 # @section -- NFD-Master
245 unhealthyPodEvictionPolicy: AlwaysAllow
246 # @section -- NFD-Master
248 # -- Should a networkPolicy be deployed for the nfd-master pods
249 # @section -- NFD-Master
251 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyEgressRule
252 # -- [Egress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-master pods.
253 # 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
254 # @section -- NFD-Master
256 - ports: # @schema hidden
267 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyIngressRule
268 # -- [Ingress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-master pods.
269 # @section -- NFD-Master
271 - ports: # @schema hidden
274 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
275 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-master pods.
276 # @section -- NFD-Master
278 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels
279 # -- [Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) to add to the nfd-master pods.
280 # @section -- NFD-Master
282 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity
283 # -- [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) for the nfd-master pods.
284 # @section -- NFD-Master
288 preferredDuringSchedulingIgnoredDuringExecution:
292 - key: "node-role.kubernetes.io/control-plane"
295 # -- Startup probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-startup-probes).
296 # @section -- NFD-Master
299 # @schema type: [integer, null]
300 # -- (int) The number of seconds after the container has started before probe is initiated.
301 # @section -- NFD-Master
303 # @schema type: [integer, null]; minimum: 1
304 # -- (int) The number of seconds after which the probe times out.
305 # @section -- NFD-Master
307 # @schema type: [integer, null]; minimum: 1
308 # -- (int) How often (in seconds) to perform the probe.
309 # @section -- NFD-Master
311 # @schema type: [integer, null]; minimum: 1
312 # -- (int) The number of consecutive failures for the probe before considering the pod as not ready.
313 # @section -- NFD-Master
315 # -- Liveness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-liveness-probes).
316 # @section -- NFD-Master
319 # @schema type: [integer, null]
320 # -- (int) The number of seconds after the container has started before probe is initiated.
321 # @section -- NFD-Master
323 # @schema type: [integer, null]; minimum: 1
324 # -- (int) The number of seconds after which the probe times out.
325 # @section -- NFD-Master
327 # @schema type: [integer, null]; minimum: 1
328 # -- (int) How often (in seconds) to perform the probe.
329 # @section -- NFD-Master
331 # @schema type: [integer, null]; minimum: 1
332 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
333 # @section -- NFD-Master
335 # -- Readiness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-readiness-probes).
336 # @section -- NFD-Master
339 # @schema type: [integer, null]
340 # -- (int) The number of seconds after the container has started before probe is initiated.
341 # @section -- NFD-Master
343 # @schema type: [integer, null]; minimum: 1
344 # -- (int) The number of seconds after which the probe times out.
345 # @section -- NFD-Master
347 # @schema type: [integer, null]; minimum: 1
348 # -- (int) How often (in seconds) to perform the probe.
349 # @section -- NFD-Master
351 # @schema type: [integer, null]; minimum: 1
352 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
353 # @section -- NFD-Master
355 # @schema type: [integer, null]; minimum: 1
356 # -- (int) The number of consecutive failures for the probe before considering the pod as not ready.
357 # @section -- NFD-Master
360# NFD-Worker configuration
363 # -- Specifies whether nfd-worker should be deployed
364 # @section -- NFD-Worker
366 # @schema uniqueItems:true;item:string;itemEnum:["node","pod","ds"]
367 # -- 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`.
368 # @section -- NFD-Worker
372 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/args
373 # -- Additional [command line arguments](https://kubernetes-sigs.github.io/node-feature-discovery/v0.19/reference/worker-commandline-reference) to pass to nfd-worker.
374 # @section -- NFD-Worker
376 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/env
377 # -- Additional environment variables to set in the nfd-worker container.
378 # @section -- NFD-Worker
380 # -- Run the container in the host's network namespace.
381 # @section -- NFD-Worker
383 # @schema type: [boolean, null]
384 # -- (bool) Run the container with host user ids. NOTE: if hostNetwork is true, hostUsers should be true.
385 # @section -- NFD-Worker
386 hostUsers: ~ # @schema type: [boolean, null]
387 # @enum: [Default, ClusterFirst, ClusterFirstWithHostNet, None]
388 # -- NFD worker pod [dnsPolicy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-policy).
389 # @section -- NFD-Worker
390 dnsPolicy: ClusterFirstWithHostNet
391 # @schema type: [object, null]
392 # -- NFD worker [configuration](https://kubernetes-sigs.github.io/node-feature-discovery/v0.19/reference/worker-configuration-reference).
393 # @section -- NFD-Worker
394 config: ### <NFD-WORKER-CONF-START-DO-NOT-REMOVE>
399 # # Select from node, pod and ds. Use [] to disable owner references.
400 # ownerRefs: [pod, ds]
402 # featureSources: [all]
403 # labelSources: [all]
404 # # Discover these features but omit them from the published NodeFeature object
405 # # to reduce its size. Exact key or '*' prefix (e.g. pci.device, pci.*).
406 # # Only for features no NodeFeatureRule/NodeFeatureGroup consumes.
407 # noPublishFeatures: []
409 # addDirHeader: false
410 # alsologtostderr: false
417 ## NOTE: the following options are not dynamically run-time configurable
418 ## and require a nfd-worker restart to take effect after being changed
421 # logFileMaxSize: 1800
422 # skipLogHeaders: false
426 ## NOTE: whitelist has priority over blacklist
427 # attributeBlacklist:
453 # attributeWhitelist:
455 # kconfigFile: "/path/to/kconfig"
461 # deviceClassWhitelist:
469 # - "subsystem_vendor"
470 # - "subsystem_device"
472 # deviceClassWhitelist:
482 # # The following feature demonstrates the capabilities of the matchFeatures
483 # - name: "my custom rule"
485 # "vendor.io/my-ng-feature": "true"
486 # # matchFeatures implements a logical AND over all matcher terms in the
487 # # list (i.e. all of the terms, or per-feature matchers, must match)
489 # - feature: cpu.cpuid
491 # AVX512F: {op: Exists}
492 # - feature: cpu.cstate
494 # enabled: {op: IsTrue}
495 # - feature: cpu.pstate
497 # no_turbo: {op: IsFalse}
498 # scaling_governor: {op: In, value: ["performance"]}
501 # RDTL3CA: {op: Exists}
504 # bf.enabled: {op: IsTrue}
505 # - feature: cpu.topology
507 # hardware_multithreading: {op: IsFalse}
509 # - feature: kernel.config
512 # LSM: {op: InRegexp, value: ["apparmor"]}
513 # - feature: kernel.loadedmodule
515 # e1000e: {op: Exists}
516 # - feature: kernel.selinux
518 # enabled: {op: IsFalse}
519 # - feature: kernel.kvm
521 # enabled: {op: IsFalse}
522 # - feature: kernel.version
524 # major: {op: In, value: ["5"]}
525 # minor: {op: Gt, value: ["10"]}
527 # - feature: storage.block
529 # rotational: {op: In, value: ["0"]}
530 # dax: {op: In, value: ["0"]}
532 # - feature: network.device
534 # operstate: {op: In, value: ["up"]}
535 # speed: {op: Gt, value: ["100"]}
537 # - feature: memory.numa
539 # node_count: {op: Gt, value: ["2"]}
540 # - feature: memory.nv
542 # devtype: {op: In, value: ["nd_dax"]}
543 # mode: {op: In, value: ["memory"]}
545 # - feature: system.osrelease
547 # ID: {op: In, value: ["fedora", "centos"]}
548 # - feature: system.name
550 # nodename: {op: InRegexp, value: ["^worker-X"]}
552 # - feature: local.label
554 # custom-feature-knob: {op: Gt, value: ["100"]}
556 # # The following feature demonstrates the capabilities of the matchAny
557 # - name: "my matchAny rule"
559 # "vendor.io/my-ng-feature-2": "my-value"
560 # # matchAny implements a logical IF over all elements (sub-matchers) in
561 # # the list (i.e. at least one feature matcher must match)
564 # - feature: kernel.loadedmodule
566 # driver-module-X: {op: Exists}
567 # - feature: pci.device
569 # vendor: {op: In, value: ["8086"]}
570 # class: {op: In, value: ["0200"]}
572 # - feature: kernel.loadedmodule
574 # driver-module-Y: {op: Exists}
575 # - feature: usb.device
577 # vendor: {op: In, value: ["8086"]}
578 # class: {op: In, value: ["02"]}
580 # - name: "avx wildcard rule"
582 # "my-avx-feature": "true"
584 # - feature: cpu.cpuid
585 # matchName: {op: InRegexp, value: ["^AVX512"]}
587 # # The following features demonstreate label templating capabilities
588 # - name: "my template rule"
590 # {{ range .system.osrelease }}vendor.io/my-system-feature.{{ .Name }}={{ .Value }}
593 # - feature: system.osrelease
595 # ID: {op: InRegexp, value: ["^open.*"]}
596 # VERSION_ID.major: {op: In, value: ["13", "15"]}
598 # - name: "my template rule 2"
600 # {{ range .pci.device }}vendor.io/my-pci-device.{{ .class }}-{{ .device }}=with-cpuid
603 # - feature: pci.device
605 # class: {op: InRegexp, value: ["^06"]}
607 # - feature: cpu.cpuid
611 # # The following examples demonstrate vars field and back-referencing
612 # # previous labels and vars
613 # - name: "my dummy kernel rule"
615 # "vendor.io/my.kernel.feature": "true"
617 # - feature: kernel.version
619 # major: {op: Gt, value: ["2"]}
621 # - name: "my dummy rule with no labels"
623 # "my.dummy.var": "1"
625 # - feature: cpu.cpuid
626 # matchExpressions: {}
628 # - name: "my rule using backrefs"
630 # "vendor.io/my.backref.feature": "true"
632 # - feature: rule.matched
634 # vendor.io/my.kernel.feature: {op: IsTrue}
635 # my.dummy.var: {op: Gt, value: ["0"]}
637 # - name: "kconfig template rule"
639 # {{ range .kernel.config }}kconfig-{{ .Name }}={{ .Value }}
642 # - feature: kernel.config
643 # matchName: {op: In, value: ["SWAP", "X86", "ARM"]}
644 ### <NFD-WORKER-CONF-END-DO-NOT-REMOVE>
646 # @schema type: integer; minimum: 1; maximum: 65535
647 # -- Port on which to serve http for metrics and healthz endpoints.
648 # @section -- NFD-Worker
650 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
651 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-worker DaemonSet.
652 # @section -- NFD-Worker
653 daemonsetAnnotations: {}
654 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext
655 # -- [Pod SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) of the nfd-worker pods.
656 # @section -- NFD-Worker
657 podSecurityContext: {}
658 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers
659 # -- [Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the nfd-worker pods.
660 # @section -- NFD-Worker
662 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext
663 # -- [SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) of the nfd-worker container.
664 # @section -- NFD-Worker
667 allowPrivilegeEscalation: false
672 readOnlyRootFilesystem: true
675 # -- Liveness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-liveness-probes).
676 # @section -- NFD-Worker
679 # @schema type: [integer, null]
680 # -- (int) The number of seconds after the container has started before probe is initiated.
681 # @section -- NFD-Worker
682 initialDelaySeconds: 10
683 # @schema type: [integer, null]; minimum: 1
684 # -- (int) The number of seconds after which the probe times out.
685 # @section -- NFD-Worker
687 # @schema type: [integer, null]; minimum: 1
688 # -- (int) How often (in seconds) to perform the probe.
689 # @section -- NFD-Worker
691 # @schema type: [integer, null]; minimum: 1
692 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
693 # @section -- NFD-Worker
695 # -- Readiness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-readiness-probes).
696 # @section -- NFD-Worker
699 # @schema type: [integer, null]
700 # -- (int) The number of seconds after the container has started before probe is initiated.
701 # @section -- NFD-Worker
702 initialDelaySeconds: 5
703 # @schema type: [integer, null]; minimum: 1
704 # -- (int) The number of seconds after which the probe times out.
705 # @section -- NFD-Worker
707 # @schema type: [integer, null]; minimum: 1
708 # -- (int) How often (in seconds) to perform the probe.
709 # @section -- NFD-Worker
711 # @schema type: [integer, null]; minimum: 1
712 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
713 # @section -- NFD-Worker
715 # @schema type: [integer, null]; minimum: 1
716 # -- (int) The number of consecutive failures for the probe before considering the pod as not ready.
717 # @section -- NFD-Worker
720 # -- Specifies whether a service account should be created.
721 # @section -- NFD-Worker
723 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
724 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the service account
725 # @section -- NFD-Worker
727 # @schema type: [string, null]
728 # -- Name of the service account to use. If not set and create is true, a name is generated using the fullname template
729 # @section -- NFD-Worker
731 # @schema type: [integer, null]
732 # -- (int) Specifies the number of old history for the DaemonSet to retain to allow rollback.
733 # @section -- NFD-Worker
734 revisionHistoryLimit:
736 # -- Create [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) configuration for nfd-worker.
737 # @section -- NFD-Worker
739 # Allow users to mount the hostPath /usr/src, useful for RHCOS on s390x
740 # Does not work on systems without /usr/src AND a read-only /usr, such as Talos
741 # -- Mount host path /user/src inside the container. Does not work on systems without /usr/src AND a read-only /usr.
742 # @section -- NFD-Worker
744 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements
747 # -- Resource [limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-worker container.
748 # @section -- NFD-Worker
752 # -- Resource [requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-worker container.
753 # @section -- NFD-Worker
757 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/nodeSelector
758 # -- [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) for the nfd-worker pods.
759 # @section -- NFD-Worker
761 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/tolerations
762 # -- [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for the nfd-worker pods.
763 # @section -- NFD-Worker
765 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
766 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-worker pods.
767 # @section -- NFD-Worker
769 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels
770 # -- [Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) to add to the nfd-worker pods.
771 # @section -- NFD-Worker
773 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity
774 # -- [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) for the nfd-worker pods.
775 # @section -- NFD-Worker
777 # @schema type: [string, null]
778 # -- The name of the PriorityClass to be used for the nfd-worker pods.
779 # @section -- NFD-Worker
781 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.apps.v1.DaemonSetUpdateStrategy
782 # -- Update strategy for the nfd-worker DaemonSet. Defaults to a rolling
783 # update with `maxUnavailable: "10%"` so upgrades complete in a bounded
784 # number of waves on clusters of any size (the Kubernetes default of
785 # `maxUnavailable: 1` rolls one node at a time and makes Helm wait and
786 # Flux HelmRelease timeouts likely on large clusters). nfd-worker is
787 # stateless and node labels persist while a worker pod restarts, so a
788 # faster roll is safe. Set `maxUnavailable: 1` to restore the Kubernetes
789 # default. To use `type: OnDelete`, also set `rollingUpdate: null`
790 # (Helm deep-merges maps).
791 # [More info](https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set)
792 # @section -- NFD-Worker
795 # @schema type: [string, integer]
796 maxUnavailable: "10%"
797 # @section -- NFD-Worker
799 # -- Should a networkPolicy be deployed for the nfd-worker pods
800 # @section -- NFD-Worker
802 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyEgressRule
803 # -- [Egress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-worker pods.
804 # 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
805 # @section -- NFD-Worker
807 - ports: # @schema hidden
818 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyIngressRule
819 # -- [Ingress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-worker pods.
820 # @section -- NFD-Worker
822 - ports: # @schema hidden
826# NFD-Topology-Updater configuration
829 # @schema type: [object, null]
830 # -- Configuration for the topology updater. See the [configuration reference](https://kubernetes-sigs.github.io/node-feature-discovery/v0.19/reference/topology-updater-configuration-reference) for details.
831 # @section -- NFD-Topology-Updater
832 config: ### <NFD-TOPOLOGY-UPDATER-CONF-START-DO-NOT-REMOVE>
833 ## key = node name, value = list of resources to be excluded.
834 ## use * to exclude from all nodes.
835 ## an example for how the exclude list should looks like
838 # node2: [memory, example/deviceA]
840 ### <NFD-TOPOLOGY-UPDATER-CONF-END-DO-NOT-REMOVE>
842 # -- Specifies whether nfd-topology-updater should be deployed.
843 # @section -- NFD-Topology-Updater
845 # -- Create the NodeResourceTopology CRD. This MUST be set to true when
846 # 'enable' is true, unless the CRD is installed separately (e.g., by another
847 # Helm release or external tool). If the CRD is missing, the topology-updater
848 # pods will fail with "NodeResourceTopology CRD is not installed" error.
849 # @section -- NFD-Topology-Updater
851 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/args
852 # -- Additional [command line arguments](https://kubernetes-sigs.github.io/node-feature-discovery/v0.19/reference/topology-updater-commandline-reference) to pass to nfd-topology-updater.
853 # @section -- NFD-Topology-Updater
855 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/env
856 # -- Additional environment variables to set in the nfd-topology-updater container.
857 # @section -- NFD-Topology-Updater
859 # -- Run the container in the host's network namespace.
860 # @section -- NFD-Topology-Updater
862 # @schema type: [boolean, null]
863 # -- (bool) Run the container with host user ids. NOTE: if hostNetwork is true, hostUsers should be true.
864 # @section -- NFD-Topology-Updater
865 hostUsers: ~ # @schema type: [boolean, null]
866 # @enum: [Default, ClusterFirst, ClusterFirstWithHostNet, None]
867 # -- NFD topology updater pod [dnsPolicy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-policy).
868 # @section -- NFD-Topology-Updater
869 dnsPolicy: ClusterFirstWithHostNet
871 # -- Specifies whether a service account should be created.
872 # @section -- NFD-Topology-Updater
874 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
875 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the service account.
876 # @section -- NFD-Topology-Updater
878 # @schema type: [string, null]
879 # -- Name or the service account to use. If not set and create is true, a name is generated using the fullname template.
880 # @section -- NFD-Topology-Updater
882 # @schema type: [integer, null]
883 # -- (int) Specifies the number of old history for the DaemonSet to retain to allow rollback.
884 # @section -- NFD-Topology-Updater
885 revisionHistoryLimit:
887 # -- Create [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) configuration for nfd-topology-updater.
888 # @section -- NFD-Topology-Updater
890 # @schema type: integer; minimum: 1; maximum: 65535
891 # -- Port on which to serve http for metrics and healthz endpoints.
892 # @section -- NFD-Topology-Updater
894 # @schema type: [string, null]
895 # -- Host path for the kubelet config file.
896 # @section -- NFD-Topology-Updater
898 # @schema type: [string, null]
899 # -- Host path for the kubelet socket for podresources endpoint.
900 # @section -- NFD-Topology-Updater
901 kubeletPodResourcesSockPath:
902 # -- Time to sleep between CR updates. Non-positive value implies no CR update.
903 # @section -- NFD-Topology-Updater
905 # -- Namespace to watch pods, `*` for all namespaces.
906 # @section -- NFD-Topology-Updater
908 # -- The kubelet state directory path for watching state and checkpoint files. Empty value disables kubelet state tracking.
909 # @section -- NFD-Topology-Updater
910 kubeletStateDir: /var/lib/kubelet
911 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext
912 # -- [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.
913 # @section -- NFD-Topology-Updater
914 podSecurityContext: {}
915 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers
916 # -- [Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the nfd-topology-updater pods.
917 # @section -- NFD-Topology-Updater
919 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext
920 # -- [SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) of the nfd-topology-updater container.
921 # @section -- NFD-Topology-Updater
924 allowPrivilegeEscalation: false
929 readOnlyRootFilesystem: true
932 # -- Liveness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-liveness-probes).
933 # @section -- NFD-Topology-Updater
936 # @schema type: [integer, null]
937 # -- (int) The number of seconds after the container has started before probe is initiated.
938 # @section -- NFD-Topology-Updater
939 initialDelaySeconds: 10
940 # @schema type: [integer, null]; minimum: 1
941 # -- (int) The number of seconds after which the probe times out.
942 # @section -- NFD-Topology-Updater
944 # @schema type: [integer, null]; minimum: 1
945 # -- (int) How often (in seconds) to perform the probe.
946 # @section -- NFD-Topology-Updater
948 # @schema type: [integer, null]; minimum: 1
949 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
950 # @section -- NFD-Topology-Updater
952 # -- Readiness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-readiness-probes).
953 # @section -- NFD-Topology-Updater
956 # @schema type: [integer, null]
957 # -- (int) The number of seconds after the container has started before probe is initiated.
958 # @section -- NFD-Topology-Updater
959 initialDelaySeconds: 5
960 # @schema type: [integer, null]; minimum: 1
961 # -- (int) The number of seconds after which the probe times out.
962 # @section -- NFD-Topology-Updater
964 # @schema type: [integer, null]; minimum: 1
965 # -- (int) How often (in seconds) to perform the probe.
966 # @section -- NFD-Topology-Updater
968 # @schema type: [integer, null]; minimum: 1
969 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
970 # @section -- NFD-Topology-Updater
972 # @schema type: [integer, null]; minimum: 1
973 # -- (int) The number of consecutive failures for the probe before considering the pod as not ready.
974 # @section -- NFD-Topology-Updater
976 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements
979 # -- Resource [limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-topology-updater container.
980 # @section -- NFD-Topology-Updater
984 # -- Resource [requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-topology-updater container.
985 # @section -- NFD-Topology-Updater
989 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/nodeSelector
990 # -- [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) for the nfd-topology-updater pods.
991 # @section -- NFD-Topology-Updater
993 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/tolerations
994 # -- [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for the nfd-topology-updater pods.
995 # @section -- NFD-Topology-Updater
997 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
998 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-topology-updater pods.
999 # @section -- NFD-Topology-Updater
1001 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels
1002 # -- [Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) to add to the nfd-topology-updater pods.
1003 # @section -- NFD-Topology-Updater
1005 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
1006 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-topology-updater DaemonSet.
1007 # @section -- NFD-Topology-Updater
1008 daemonsetAnnotations: {}
1009 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity
1010 # -- [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) for the nfd-topology-updater pods.
1011 # @section -- NFD-Topology-Updater
1013 # -- Enables compute and report of pod fingerprint in NRT objects.
1014 # @section -- NFD-Topology-Updater
1015 podSetFingerprint: true
1016 # @section -- NFD-Topology-Updater
1018 # -- Should a networkPolicy be deployed for the nfd-topology pods
1019 # @section -- NFD-Topology-Updater
1021 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyEgressRule
1022 # -- [Egress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-topology pods.
1023 # 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
1024 # @section -- NFD-Topology-Updater
1026 - ports: # @schema hidden
1037 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyIngressRule
1038 # -- [Ingress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-topology pods.
1039 # @section -- NFD-Topology-Updater
1041 - ports: # @schema hidden
1045# NFD-GC configuration
1048 # -- Specifies whether nfd-gc should be deployed.
1049 # @section -- NFD-GC
1051 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/args
1052 # -- Additional [command line arguments](https://kubernetes-sigs.github.io/node-feature-discovery/v0.19/reference/gc-commandline-reference) to pass to nfd-gc.
1053 # @section -- NFD-GC
1055 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/env
1056 # -- Additional environment variables to set in the nfd-gc container.
1057 # @section -- NFD-GC
1059 # -- Run the container in the host's network namespace.
1060 # @section -- NFD-GC
1062 # @schema type: [boolean, null]
1063 # -- (bool) Run the container with host user ids. NOTE: if hostNetwork is true, hostUsers should be true.
1064 # @section -- NFD-GC
1065 hostUsers: ~ # @schema type: [boolean, null]
1066 # -- The number of desired replicas for the nfd-gc Deployment.
1067 # @section -- NFD-GC
1069 # @enum: [Default, ClusterFirst, ClusterFirstWithHostNet, None]
1070 # -- NFD gc pod [dnsPolicy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-policy).
1071 # @section -- NFD-GC
1072 dnsPolicy: ClusterFirstWithHostNet
1074 # -- Specifies whether a service account should be created.
1075 # @section -- NFD-GC
1077 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
1078 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the service account.
1079 # @section -- NFD-GC
1081 # @schema type: [string, null]
1082 # -- Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
1083 # @section -- NFD-GC
1086 # -- Create [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) configuration for nfd-gc.
1087 # @section -- NFD-GC
1089 # -- Time between periodic garbage collector runs.
1090 # @section -- NFD-GC
1092 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext
1093 # -- [Pod SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) of the nfd-gc pods.
1094 # @section -- NFD-GC
1095 podSecurityContext: {}
1096 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers
1097 # -- [Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the nfd-gc pods.
1098 # @section -- NFD-GC
1100 # -- Liveness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-liveness-probes).
1101 # @section -- NFD-GC
1104 # @schema type: [integer, null]
1105 # -- (int) The number of seconds after the container has started before probe is initiated.
1106 # @section -- NFD-GC
1107 initialDelaySeconds: 10
1108 # @schema type: [integer, null]; minimum: 1
1109 # -- (int) The number of seconds after which the probe times out.
1110 # @section -- NFD-GC
1112 # @schema type: [integer, null]; minimum: 1
1113 # -- (int) How often (in seconds) to perform the probe.
1114 # @section -- NFD-GC
1116 # @schema type: [integer, null]; minimum: 1
1117 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
1118 # @section -- NFD-GC
1120 # -- Readiness probe configuration. [More information](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-readiness-probes).
1121 # @section -- NFD-GC
1124 # @schema type: [integer, null]
1125 # -- (int) The number of seconds after the container has started before probe is initiated.
1126 # @section -- NFD-GC
1127 initialDelaySeconds: 5
1128 # @schema type: [integer, null]; minimum: 1
1129 # -- (int) The number of seconds after which the probe times out.
1130 # @section -- NFD-GC
1132 # @schema type: [integer, null]; minimum: 1
1133 # -- (int) How often (in seconds) to perform the probe.
1134 # @section -- NFD-GC
1136 # @schema type: [integer, null]; minimum: 1
1137 # -- (int) Minimum consecutive successes for the probe before considering the pod as ready.
1138 # @section -- NFD-GC
1140 # @schema type: [integer, null]; minimum: 1
1141 # -- (int) The number of consecutive failures for the probe before considering the pod as not ready.
1142 # @section -- NFD-GC
1146 # -- Resource [limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-gc container.
1147 # @section -- NFD-GC
1151 # -- Resource [requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) for the nfd-gc container.
1152 # @section -- NFD-GC
1156 # @schema type: integer; minimum: 1; maximum: 65535
1157 # -- Port on which to serve http for metrics and healthz endpoints.
1158 # @section -- NFD-GC
1160 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/nodeSelector
1161 # -- [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) for the nfd-gc pods.
1162 # @section -- NFD-GC
1164 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/tolerations
1165 # -- [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for the nfd-gc pods.
1166 # @section -- NFD-GC
1168 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
1169 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-gc pods.
1170 # @section -- NFD-GC
1172 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels
1173 # -- [Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) to add to the nfd-gc pods.
1174 # @section -- NFD-GC
1176 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations
1177 # -- [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations) to add to the nfd-gc Deployment.
1178 # @section -- NFD-GC
1179 deploymentAnnotations: {}
1180 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity
1181 # -- [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) for the nfd-gc pods.
1182 # @section -- NFD-GC
1184 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetSpec
1185 podDisruptionBudget:
1186 # -- Configure PodDisruptionBudget for the nfd-master Deployment.
1187 # @section -- NFD-GC
1190 # -- Minimum number (or percentage) of pods that must be available after the eviction.
1191 # @section -- NFD-GC
1194 # -- Policy to evict unhealthy pods when a PodDisruptionBudget is defined.
1195 # @section -- NFD-GC
1196 unhealthyPodEvictionPolicy: AlwaysAllow
1197 # @schema type: [integer, null]
1198 # -- (int) Specifies the number of old history for the Deployment to retain to allow rollback.
1199 # @section -- NFD-GC
1200 revisionHistoryLimit:
1201 # @section -- NFD-GC
1203 # -- Should a networkPolicy be deployed for the nfd-gc pods
1204 # @section -- NFD-GC
1206 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyEgressRule
1207 # -- [Egress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-gc pods.
1208 # 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
1209 # @section -- NFD-GC
1211 - ports: # @schema hidden
1222 # @schema itemRef: $k8s/_definitions.json#/definitions/io.k8s.api.networking.v1.NetworkPolicyIngressRule
1223 # -- [Ingress](https://kubernetes.io/docs/concepts/services-networking/network-policies/#network-traffic-filtering) for the nfd-gc pods.
1224 # @section -- NFD-GC
1226 - ports: # @schema hidden
1230# Prometheus configuration
1233 # -- Create PodMonitor object for enabling metrics collection by Prometheus Operator.
1234 # @section -- Prometheus
1236 # -- Interval at which metrics are scraped.
1237 # @section -- Prometheus
1239 # -- Labels to add to the PodMonitor object.
1240 # @section -- Prometheus