Release v0.1.0-rc.8
Pre-releaseCRE v0.1.0-rc.8
The Cluster Readiness Engine (CRE) 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
quarantines bad nodes. See the
README
for the full feature list.
Install ncrectl
# Requires gh CLI authenticated, or GITHUB_TOKEN set.
curl -sSL https://github.com/NVIDIA/cluster-readiness-engine/releases/download/v0.1.0-rc.8/installer | bash -s -- -v v0.1.0-rc.8The version is named explicitly because releases/latest resolves only to
the newest stable release, and every release so far is a pre-release.
Once v0.1.0 is tagged, this shorter form installs the newest stable one:
curl -sSL https://github.com/NVIDIA/cluster-readiness-engine/releases/latest/download/installer | bashHelm Chart
helm install cluster-readiness-engine \
oci://ghcr.io/nvidia/cluster-readiness-engine \
--version v0.1.0-rc.8 \
--namespace cluster-readiness-engine \
--create-namespaceThe controller image for this release is
ghcr.io/nvidia/cluster-readiness-engine/manager:v0.1.0-rc.8.
ncrectl CLI
Download the binary for your platform from the assets below and place it on your $PATH.
| Platform | Binary |
|---|---|
| Linux amd64 | ncrectl-linux-amd64 |
| Linux arm64 | ncrectl-linux-arm64 |
| macOS amd64 | ncrectl-darwin-amd64 |
| macOS arm64 (Apple Silicon) | ncrectl-darwin-arm64 |
Verify your download
Every asset 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 nvidia/distroless/static from v4.0.0 to v4.0.1 in the docker-images group by @dependabot[bot] in #40
- build(deps): bump the actions group with 8 updates by @dependabot[bot] in #43
Other Changes
- docs: expand the README for open source readiness by @dims in #12
- ci: richer release notes and checksums in the release flow by @dims in #20
- build: add make ci and document how to replicate CI locally by @dims in #25
- docs: correct the exitDurationMins default in the BuildConfig comment by @dims in #24
- fix: make the ServiceMonitor optional and add a missing chart default by @dims in #23
- feat: add gangScheduler field to WorkloadRun for KAI Scheduler support by @ndipebot in #32
- chore: fix CODEOWNERS GitHub handle by @ndipebot in #33
- chore: narrow CodeRabbit to behavior changing findings by @dims in #34
- docs: add a first-certification getting started guide by @dims in #21
- docs: remove stale remediation references and fix broken README examples by @dims in #22
- fix: fail docker-buildx on build errors and stop pushing from PR validation by @dims in #26
- test: remove the e2e scaffolding and vet the uat suite by @dims in #27
- fix: let the installer pin a version and fix the release install commands by @dims in #28
- fix: accept pre-release tags when resolving the helm chart version by @dims in #29
- fix: parse pod log timestamps from nodes that are not on UTC by @dims in #31
- feat: report the DCGM service in setup status by @dims in #35
- fix: report the GPUs each node really has in cluster info by @dims in #36
- build: pin the container base images by digest and let Dependabot raise them by @dims in #38
- docs: name UAT as a required check in the local CI instructions by @dims in #39
- fix: strip CNI annotations from UAT pod golden files by @dims in #41
- build: make Dependabot wait before adopting a new version by @dims in #42
- ci: scan binaries for malware and gate the release on it by @dims in #44
- ci: pull docker.io images through a mirror to avoid rate limiting by @dims in #49
- docs: add RELEASE.md by @dims in #46
- ci: run UAT nightly against main by @dims in #45
- docs: name the registry CRE publishes to in the README by @dims in #48
- ci: pin the last floating action refs to commit SHAs by @dims in #50
- ci: group the generated release notes by category by @dims in #47
- docs: correct the GB300 render spot-check in the agent guide by @dims in #53
- docs: add an index of the architecture decision records by @dims in #37
- fix: install the Kubeflow Trainer chart that matches the compiled API by @dims in #56
- fix: report an unresolved logProfileRef instead of hiding it by @dims in #54
- fix: make failureLog usable for triage by @dims in #55
- fix: render the orchestration options the controller will actually use by @dims in #59
- docs: add /cre-test skill and fix CLAUDE.md testing section by @ndipebot in #60
- feat: add OCI GB300 RoCE catalog support by @ndipebot in #62
- fix: make testScale intra-node actually test one node at a time by @dims in #61
- fix: read the logs once more before a goodput measurement completes by @dims in #63
- docs: state the training GPU minimums and namespace the chart install by @dims in #65
- fix: do not lose a group's completion when the Workflow conditions do not change by @dims in #69
- fix: catch a goodput measurement that computed zero, not just an absent one by @dims in #70
- test: cover the NCCL log parser with a real capture at the integration tier by @dims in #81
- docs: correct four claims a reader would act on and get wrong by @dims in #80
- fix: report the test scale that was asked for, not one inferred from the result by @dims in #72
- fix: say which nodes a certification left untested, and make discovery deterministic by @dims in #57
- fix: say why a certification is waiting when no nodes are schedulable by @dims in #74
- feat: report INCOMPLETE when a certification skipped nodes it targeted by @dims in #73
- fix: say when a node shortfall came from mixing GPU architectures by @dims in #75
- fix: size a job against the nodes that survive GPU architecture filtering by @dims in #76
- fix: give a WorkloadRun a safe way to request a GPU off a DGX by @dims in #58
- fix: report INCOMPLETE when a certification skipped cordoned nodes by @dims in #84
- fix: bound a WorkloadRun Job so it cannot run forever by @dims in #64
Full Changelog: v0.1.0-rc.7...v0.1.0-rc.8