NVCRE v0.1.0
The NVIDIA Cluster Readiness Engine (NVCRE) is a Kubernetes controller that certifies GPU clusters before production use. It runs real training and communication workloads across topology-aware node groups, measures goodput and bandwidth, detects hardware failures, and reports every failed node with a reason. See the README for the full feature list.
Install nvcrectl
Install this release:
curl -fsSL https://github.com/NVIDIA/cluster-readiness-engine/releases/download/v0.1.0/installer | bash -s -- -v v0.1.0Or install the newest stable release (releases/latest resolves only to stable releases, never pre-releases):
curl -fsSL https://github.com/NVIDIA/cluster-readiness-engine/releases/latest/download/installer | bashHelm Chart
helm install nvcre \
oci://ghcr.io/nvidia/cluster-readiness-engine \
--version v0.1.0 \
--namespace nvcre \
--create-namespaceThe controller image for this release is ghcr.io/nvidia/cluster-readiness-engine/manager:v0.1.0.
nvcrectl CLI
Download the binary for your platform from the assets below and place it on your $PATH.
| Platform | Binary |
|---|---|
| Linux amd64 | nvcrectl-linux-amd64 |
| Linux arm64 | nvcrectl-linux-arm64 |
| macOS amd64 | nvcrectl-darwin-amd64 |
| macOS arm64 (Apple Silicon) | nvcrectl-darwin-arm64 |
Verify your download
Every binary asset (the installer and the nvcrectl-* binaries) is listed in checksums.txt with its SHA-256 digest. After you download an asset, verify it:
sha256sum --check --ignore-missing checksums.txtThird-Party Notices
Third-party Go module licenses are listed in THIRD_PARTY_NOTICES.md and attached as a release asset.
Support
- Ask questions in GitHub Discussions.
- Report bugs with the issue templates.
- Report security issues per SECURITY.md, never through GitHub issues.
What's Changed
Dependency Updates
- build(deps): bump docker/library/golang from 1.26.6-trixie to 1.27.0-trixie in the docker-images group by @dependabot[bot] in #225
- build(deps): bump the actions group with 6 updates by @dependabot[bot] in #226
Other Changes
- docs: resolve the newest release dynamically instead of pinning tags by @ndipebot in #224
- fix(threshold): fail loudly on unknown threshold keys instead of skipping validation by @ndipebot in #227
- fix(controller): surface validation failures on WorkloadRun as ValidationFailed by @ndipebot in #229
- fix(setup): apply chart CRDs on every init run to prevent schema drift on upgrade by @ndipebot in #236
- fix(cli): implement workloadrun run --cleanup instead of silently discarding it by @ndipebot in #228
- fix(platform): pass spec.env to MPI containers instead of silently dropping it by @ndipebot in #230
- fix(controller): exclude nodes with insufficient allocatable GPUs from partitioning by @ndipebot in #231
- fix(setup): verify the installed Kubeflow Trainer version in setup status by @ndipebot in #237
- fix(controller): apply testScale node sizing in the WorkloadRun reconciler by @ndipebot in #233
- fix(controller): wait for workload pods to drain before deleting scoped dependencies by @ndipebot in #235
- fix(workload): treat a suspended TrainJob as pending, not running by @ndipebot in #238
- fix(controller): apply orchestration state mutations inside the status retry closure by @ndipebot in #234
- fix(cli): report workloadrun state and write results on wait timeout by @ndipebot in #241
- fix(api): make Certification and WorkloadRun specs immutable after creation by @ndipebot in #240
- feat(catalog): make training entry CPU/memory overridable via CategoryOptions by @ndipebot in #232
- fix(controller): certify the majority GPU architecture, not the first node's by @ndipebot in #251
- fix(controller): verify ownership before adopting or deleting child resources by @ndipebot in #239
- fix(helm): add missing user-facing ClusterRole trios for three CRDs by @ndipebot in #249
- docs(readme): add WorkloadRun to the "How it works" diagram by @ndipebot in #247
- test(integration): sort validation causes for deterministic goldens by @ndipebot in #253
- fix(controller): use majority GPU architecture detection on every path, not just certification by @ndipebot in #254
- fix(controller): wire event recorders into the four recorder-less reconcilers by @ndipebot in #250
- docs: switch install and release instructions to public download URLs by @ndipebot in #255
- chore: public-launch scrub of docs, CLI hints, tests, and CI by @ndipebot in #256
- fix(helm): rename chart to cluster-readiness-engine and publish to the repo-linked GHCR package by @ndipebot in #257
Full Changelog: v0.1.0-rc.13...v0.1.0