Skip to content

feat(helm): update chart node-feature-discovery ( 0.18.3 → 0.19.0 )#3023

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/node-feature-discovery-0.x
Open

feat(helm): update chart node-feature-discovery ( 0.18.3 → 0.19.0 )#3023
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/node-feature-discovery-0.x

Conversation

@renovate

@renovate renovate Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
node-feature-discovery minor 0.18.30.19.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

kubernetes-sigs/node-feature-discovery (node-feature-discovery)

v0.19.0

Compare Source

Highlights
  • Immediate node re-labeling after a node rebuild (#​2545): nfd-master detects a recreated Node via the surviving NodeFeature's owner-reference / pod-UID annotation and re-labels immediately instead of waiting for the periodic reconcile.
  • Configurable NodeFeature owner references: -owner-refs / core.ownerRefs (pod, ds, node; default pod,ds) (#​2545).
  • core.noPublishFeatures to slim published NodeFeature objects (#​2530; whitespace-trim fix #​2535).
  • New x86-64 microarchitecture level labels cpu-cpuid.X86_64_V1..V4 (#​2490).
  • nfd-topology-updater: per-pod lookups served from a node-scoped Pod informer, eliminating high-volume per-pod GETs at scale (#​2509). Requires an RBAC update — see Action Required.
  • nfd-master reconciles only on NodeFeature/NodeFeatureRule/NodeFeatureGroup spec changes (#​2532); MatchInRegexp pattern compilation cached (#​2531).
Action Required / Behavior Changes
  1. nfd-topology-updater RBAC (#​2509): the ClusterRole needs list+watch on pods (was get only). Helm and kustomize manifests ship the update, but deployments that bump only the image will crash-loop with pods is forbidden ... cannot list resource "pods" until the new RBAC is applied.
  2. NodeFeatureRule templates (#​2507): env, expandenv and getHostByName were removed from the available template functions (security hardening). Templates using them now fail to parse (function "env" not defined); the rule is skipped and an error is logged.
  3. Helm worker updateStrategy default (#​2519): now rollingUpdate: {maxUnavailable: "10%"} (was Kubernetes default 1). Note for type: OnDelete users: the chart's default rollingUpdate block is deep-merged into your values; the API server accepts and ignores it (verified on v1.30). Optionally set worker.updateStrategy.rollingUpdate: null for a clean spec.
  4. resyncPeriod (nfd-master): drives both the informer resync and the (new in this release, #​2415) periodic full reconcile that re-applies labels and cleans up drift. Setting it to 0 disables this safety net entirely.
  5. Node-rebuild re-labeling dependency (#​2545): immediate re-label requires pod in -owner-refs (default) or the POD_UID env set on the worker; with ds-only/empty owner refs and no POD_UID, re-labeling falls back to the periodic reconcile interval. -owner-refs=node is unaffected.
Fixes
  • nfd-master: don't remove node labels when the NodeFeature cache is incomplete; add periodic reconciliation to clean up genuinely absent NodeFeatures (#​2415).
  • nfd-master: prevent stop() panic and informer leak on init failure (#​2534).
  • nfd-worker: trim whitespace in comma-separated command-line list values (#​2535).
  • Helm: render post-delete prune job resources at container level so they actually apply (#​2515).
Other
  • Container images cross-compile from $BUILDPLATFORM via tonistiigi/xx (#​2512).
  • Reduced cognitive complexity refactors in nfd-master controller and nfd-worker config (#​2536); nfd-master command-line unit tests (#​2469); codecov upload non-fatal in CI verify (#​2527); template/custom-api input-validation hardening (#​2507).

Configuration

📅 Schedule: (in timezone Europe/Moscow)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

| datasource | package                | from   | to     |
| ---------- | ---------------------- | ------ | ------ |
| helm       | node-feature-discovery | 0.18.3 | 0.19.0 |
@mglants-bot

mglants-bot Bot commented Jul 10, 2026

Copy link
Copy Markdown
--- kubernetes/berries/apps/kube-system/node-feature-discovery/app Kustomization: flux-system/node-feature-discovery HelmRelease: kube-system/node-feature-discovery

+++ kubernetes/berries/apps/kube-system/node-feature-discovery/app Kustomization: flux-system/node-feature-discovery HelmRelease: kube-system/node-feature-discovery

@@ -13,13 +13,13 @@

       chart: node-feature-discovery
       interval: 30m
       sourceRef:
         kind: HelmRepository
         name: kubernetes-sigs-nfd-charts
         namespace: flux-system
-      version: 0.18.3
+      version: 0.19.0
   install:
     crds: CreateReplace
   interval: 30m
   upgrade:
     crds: CreateReplace
   values:

@mglants-bot

mglants-bot Bot commented Jul 10, 2026

Copy link
Copy Markdown
--- HelmRelease: kube-system/node-feature-discovery ClusterRole: kube-system/node-feature-discovery-gc

+++ HelmRelease: kube-system/node-feature-discovery ClusterRole: kube-system/node-feature-discovery-gc

@@ -13,18 +13,12 @@

   resources:
   - nodes
   verbs:
   - list
   - watch
 - apiGroups:
-  - ''
-  resources:
-  - nodes/proxy
-  verbs:
-  - get
-- apiGroups:
   - topology.node.k8s.io
   resources:
   - noderesourcetopologies
   verbs:
   - delete
   - list
--- HelmRelease: kube-system/node-feature-discovery DaemonSet: kube-system/node-feature-discovery-worker

+++ HelmRelease: kube-system/node-feature-discovery DaemonSet: kube-system/node-feature-discovery-worker

@@ -8,12 +8,15 @@

     app.kubernetes.io/name: node-feature-discovery
     app.kubernetes.io/instance: node-feature-discovery
     app.kubernetes.io/managed-by: Helm
     role: worker
 spec:
   revisionHistoryLimit: null
+  updateStrategy:
+    rollingUpdate:
+      maxUnavailable: 10%
   selector:
     matchLabels:
       app.kubernetes.io/name: node-feature-discovery
       app.kubernetes.io/instance: node-feature-discovery
       role: worker
   template:
@@ -34,13 +37,13 @@

           allowPrivilegeEscalation: false
           capabilities:
             drop:
             - ALL
           readOnlyRootFilesystem: true
           runAsNonRoot: true
-        image: registry.k8s.io/nfd/node-feature-discovery:v0.18.3
+        image: registry.k8s.io/nfd/node-feature-discovery:v0.19.0
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
             path: /healthz
             port: http
           initialDelaySeconds: 10
@@ -69,13 +72,13 @@

           requests:
             cpu: 5m
             memory: 48Mi
         command:
         - nfd-worker
         args:
-        - -feature-gates=NodeFeatureGroupAPI=false
+        - -owner-refs=pod,ds
         - -port=8080
         ports:
         - containerPort: 8080
           name: http
         volumeMounts:
         - name: host-boot
--- HelmRelease: kube-system/node-feature-discovery Deployment: kube-system/node-feature-discovery-master

+++ HelmRelease: kube-system/node-feature-discovery Deployment: kube-system/node-feature-discovery-master

@@ -36,13 +36,13 @@

           allowPrivilegeEscalation: false
           capabilities:
             drop:
             - ALL
           readOnlyRootFilesystem: true
           runAsNonRoot: true
-        image: registry.k8s.io/nfd/node-feature-discovery:v0.18.3
+        image: registry.k8s.io/nfd/node-feature-discovery:v0.19.0
         imagePullPolicy: IfNotPresent
         startupProbe:
           httpGet:
             path: /healthz
             port: http
           failureThreshold: 30
@@ -69,14 +69,12 @@

           limits:
             memory: 51Mi
           requests:
             cpu: 21m
             memory: 51Mi
         args:
-        - -enable-leader-election
-        - -feature-gates=NodeFeatureGroupAPI=false
         - -port=8080
         volumeMounts:
         - name: nfd-master-conf
           mountPath: /etc/kubernetes/node-feature-discovery
           readOnly: true
       volumes:
--- HelmRelease: kube-system/node-feature-discovery Deployment: kube-system/node-feature-discovery-gc

+++ HelmRelease: kube-system/node-feature-discovery Deployment: kube-system/node-feature-discovery-gc

@@ -28,13 +28,13 @@

       dnsPolicy: ClusterFirstWithHostNet
       imagePullSecrets: null
       securityContext: {}
       hostNetwork: false
       containers:
       - name: gc
-        image: registry.k8s.io/nfd/node-feature-discovery:v0.18.3
+        image: registry.k8s.io/nfd/node-feature-discovery:v0.19.0
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
             path: /healthz
             port: http
           initialDelaySeconds: 10
--- HelmRelease: kube-system/node-feature-discovery Job: kube-system/node-feature-discovery-prune

+++ HelmRelease: kube-system/node-feature-discovery Job: kube-system/node-feature-discovery-prune

@@ -9,12 +9,13 @@

     app.kubernetes.io/instance: node-feature-discovery
     app.kubernetes.io/managed-by: Helm
   annotations:
     helm.sh/hook: post-delete
     helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
 spec:
+  ttlSecondsAfterFinished: 3600
   template:
     metadata:
       labels:
         app.kubernetes.io/name: node-feature-discovery
         app.kubernetes.io/instance: node-feature-discovery
         app.kubernetes.io/managed-by: Helm
@@ -28,18 +29,24 @@

           allowPrivilegeEscalation: false
           capabilities:
             drop:
             - ALL
           readOnlyRootFilesystem: true
           runAsNonRoot: true
-        image: registry.k8s.io/nfd/node-feature-discovery:v0.18.3
+        image: registry.k8s.io/nfd/node-feature-discovery:v0.19.0
         imagePullPolicy: IfNotPresent
         command:
         - nfd-master
         args:
         - -prune
+        resources:
+          limits:
+            memory: 51Mi
+          requests:
+            cpu: 21m
+            memory: 51Mi
       restartPolicy: Never
       affinity:
         nodeAffinity:
           preferredDuringSchedulingIgnoredDuringExecution:
           - preference:
               matchExpressions:
@@ -50,13 +57,7 @@

             weight: 1
       tolerations:
       - effect: NoSchedule
         key: node-role.kubernetes.io/control-plane
         operator: Equal
         value: ''
-      resources:
-        limits:
-          memory: 51Mi
-        requests:
-          cpu: 21m
-          memory: 51Mi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants