Skip to content

feat(helm): deploy BMC proxy as part of NICo Core by default#3682

Open
shayan1995 wants to merge 1 commit into
NVIDIA:mainfrom
shayan1995:snamaghi/issue-3298-enable-bmc-proxy
Open

feat(helm): deploy BMC proxy as part of NICo Core by default#3682
shayan1995 wants to merge 1 commit into
NVIDIA:mainfrom
shayan1995:snamaghi/issue-3298-enable-bmc-proxy

Conversation

@shayan1995

Copy link
Copy Markdown
Contributor

BMC Proxy is required for DPS-based power provisioning, so it shall always be deployed as part of NICo Core (#3298). This flips the umbrella chart default for nico-bmc-proxy to enabled and documents when it can be turned off (only when an external BMC proxy is deployed and wired separately).

The subchart already ships with safe defaults for a default-on component: the ServiceMonitor and the external LoadBalancer Service remain opt-in, and its certificate/vault/database dependencies are the standard NICo Core prerequisites.

Adds a chart test asserting the BMC proxy Deployment renders by default into the release namespace using the shared Core image.

Related issues

Fixes #3298

Type of Change

  • Add - New feature or capability
  • Change - Changes in existing functionality
  • Fix - Bug fixes
  • Remove - Removed features or deprecated functionality
  • Internal - Internal changes (refactoring, tests, docs, etc.)

Breaking Changes

  • This PR contains breaking changes

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed
  • No testing required (docs, internal refactor, etc.)

helm unittest passes for the new suite; the full chart test run shows no new failures relative to main.

@shayan1995
shayan1995 requested a review from a team as a code owner July 17, 2026 18:27
@copy-pr-bot

copy-pr-bot Bot commented Jul 17, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e04756d8-b93d-488c-a505-c196d2eecce8

📥 Commits

Reviewing files that changed from the base of the PR and between c89382b and 28ddbf1.

📒 Files selected for processing (3)
  • helm/README.md
  • helm/tests/bmc_proxy_default_test.yaml
  • helm/values.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
  • helm/README.md
  • helm/values.yaml

Summary by CodeRabbit

  • New Features
    • Enabled the BMC proxy subchart by default for DPS-based power provisioning.
    • Updated Helm chart configuration to treat the BMC proxy as part of NICo Core for DPS workflows.
  • Bug Fixes
    • Added a Helm chart test covering the default BMC proxy deployment, including expected namespace, deployment name, and container image override behavior.
  • Documentation
    • Updated the Helm README to describe the BMC proxy’s HTTPS/BMC authenticating role and refreshed subchart enable/disable examples.

Walkthrough

The Helm chart now enables the BMC proxy by default as part of NICo Core, documents its DPS-based provisioning role, and adds a template test verifying the rendered Deployment and Core image.

Changes

BMC Proxy Core Integration

Layer / File(s) Summary
Default deployment configuration and validation
helm/values.yaml, helm/README.md, helm/tests/bmc_proxy_default_test.yaml
The BMC proxy is enabled by default for DPS-based power provisioning, documented in the chart guidance, and validated through its rendered Deployment metadata and shared Core image reference.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly states the main change: BMC Proxy is now deployed by default as part of NICo Core.
Description check ✅ Passed The description matches the change set and explains the default-on BMC Proxy behavior and new Helm test.
Linked Issues check ✅ Passed The chart now enables BMC Proxy by default and adds a test/docs, satisfying #3298's requirement to always deploy it with NICo Core.
Out of Scope Changes check ✅ Passed The changes are limited to the intended Helm values, docs, and test manifest, with no unrelated scope detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@helm/README.md`:
- Around line 127-128: The Helm README example must qualify the BMC proxy
requirement with the external-proxy exception. Update the nico-bmc-proxy
documentation near its enabled setting to state that disabling it is supported
only when an external BMC Proxy is deployed and wired separately, while
preserving the existing DPS-based provisioning context.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: f7da862f-39e2-4ad4-878b-ccac078d8893

📥 Commits

Reviewing files that changed from the base of the PR and between e1bf27c and c89382b.

📒 Files selected for processing (1)
  • helm/README.md

Comment thread helm/README.md Outdated
BMC Proxy is required for DPS-based power provisioning, so it shall
always be deployed as part of NICo Core (NVIDIA#3298). Flip the umbrella
chart default for nico-bmc-proxy to enabled and document when it can
be turned off (only when an external BMC proxy is deployed and wired
separately).

The subchart already ships with safe defaults for a default-on
component: the ServiceMonitor and the external LoadBalancer Service
remain opt-in, and its certificate/vault/database dependencies are the
standard NICo Core prerequisites.

Also list nico-bmc-proxy in the README subchart enable/disable example
(it was missing entirely), including the external-proxy exception, and
note in the component table that it is required for DPS-based power
provisioning.

Adds a chart test asserting the BMC proxy Deployment renders by
default into the release namespace using the shared Core image.

Fixes NVIDIA#3298

Signed-off-by: Shayan Namaghi <snamaghi@nvidia.com>
@shayan1995
shayan1995 force-pushed the snamaghi/issue-3298-enable-bmc-proxy branch from c89382b to 28ddbf1 Compare July 17, 2026 20:51
@github-actions

Copy link
Copy Markdown

🔍 Container Scan Summary

Service Total Critical High Medium Low Other
boot-artifacts-aarch64 3 0 0 3 0 0
boot-artifacts-x86_64 3 0 0 3 0 0
forge-admin-cli-x86_64 259 16 29 79 7 128
machine-validation-runner 532 39 113 184 15 181
machine_validation 532 39 113 184 15 181
machine_validation-aarch64 532 39 113 184 15 181
nvmetal-carbide 532 39 113 184 15 181
TOTAL 2393 172 481 821 67 852

Per-CVE detail lives in the per-service grype-* artifacts (JSON + SARIF). Severity counts only — no CVE IDs published here.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add BMC Proxy into Core Helmchart

2 participants