Skip to content

feat(recipes): pin nfd and k8s-ephemeral-storage-metrics chart versions#758

Merged
mchmarny merged 2 commits into
mainfrom
feat/pin-external-chart-versions
May 5, 2026
Merged

feat(recipes): pin nfd and k8s-ephemeral-storage-metrics chart versions#758
mchmarny merged 2 commits into
mainfrom
feat/pin-external-chart-versions

Conversation

@mchmarny
Copy link
Copy Markdown
Member

@mchmarny mchmarny commented May 5, 2026

Summary

First pass of #749 (Phase A). Pins chart versions for the two external helm components, where no policy decision under #742 is needed.

Motivation / Context

Today these two charts have no defaultVersion in recipes/registry.yaml, so renders track upstream-latest non-deterministically — same recipe rendered today vs. next month can produce different image sets. Pinning closes that gap for the unblocked subset.

NVIDIA-owned charts (gpu-operator, network-operator, nvidia-dra-driver-gpu, nodewright-operator) remain unpinned pending the policy decision in #742 and will land in a follow-up Phase B.

Fixes: (none) — partial progress on #749
Related: #739, #742

Type of Change

  • New feature (non-breaking change that adds functionality)

Component(s) Affected

  • Recipe engine / data (recipes/registry.yaml)

Implementation Notes

Versions chosen are the current upstream stable releases (helm search repo --versions):

  • node-feature-discovery: 0.18.3
  • k8s-ephemeral-storage-metrics: 1.19.2

Verified that our existing values.yaml shapes still render cleanly against the pinned versions (no value-key drift). The resulting image sets are unchanged — 1 image per component, matching pre-pin output.

make bom after the change:

| k8s-ephemeral-storage-metrics | helm | k8s-ephemeral-storage-metrics/k8s-ephemeral-storage-metrics | 1.19.2 | 1 |
| nfd | helm | node-feature-discovery | 0.18.3 | 1 |

Testing

unset GITLAB_TOKEN && make qualify
# Codebase qualification completed

make bom produces the same 71-image inventory across 22 components — pinning these two doesn't change the deployed image set, just locks in determinism.

Risk Assessment

  • Low — Two-line change to recipes/registry.yaml. Both versions verified to render against existing values. No image-set delta. Easy to revert if a downstream regression surfaces.

Rollout notes: none.

Checklist

  • Tests pass locally (make test with -race)
  • Linter passes (make lint)
  • I did not skip/disable tests to make CI green
  • I added/updated tests for new functionality (no new code paths; behavior verified via make bom)
  • I updated docs if user-facing behavior changed (n/a)
  • Changes follow existing patterns in the codebase
  • Commits are cryptographically signed (git commit -S)

First pass of #749. Closes the chart-version pinning gap for the two
external (non-NVIDIA-owned) helm components, where no policy decision
under #742 is needed:

- nfd: node-feature-discovery 0.18.3
- k8s-ephemeral-storage-metrics: 1.19.2

Both versions are the current upstream stable. Verified that our
existing values.yaml shapes still render against the pinned versions
and the resulting image set is unchanged (1 image each in the BOM).

NVIDIA-owned charts (gpu-operator, network-operator,
nvidia-dra-driver-gpu, nodewright-operator) remain unpinned pending
the #742 policy outcome and will land in a follow-up.

Refs #749, #739
@mchmarny mchmarny requested a review from a team as a code owner May 5, 2026 17:53
@mchmarny mchmarny added enhancement New feature or request area/recipes labels May 5, 2026
@mchmarny mchmarny self-assigned this May 5, 2026
@coderabbitai

This comment was marked as resolved.

@mchmarny mchmarny enabled auto-merge (squash) May 5, 2026 17:55
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

Coverage Report ✅

Metric Value
Coverage 75.0%
Threshold 70%
Status Pass
Coverage Badge
![Coverage](https://img.shields.io/badge/coverage-75.0%25-green)

No Go source files changed in this PR.

Copy link
Copy Markdown
Contributor

@iamkhaledh iamkhaledh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mchmarny mchmarny merged commit 4e66191 into main May 5, 2026
89 checks passed
@mchmarny mchmarny deleted the feat/pin-external-chart-versions branch May 5, 2026 18:07
@xdu31
Copy link
Copy Markdown
Contributor

xdu31 commented May 5, 2026

/lgtm

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants