Skip to content

feat(gateway-routes): add opt-in HTTPRoute for the nvcf-ui addon - #312

Merged
vrv3814 merged 2 commits into
mainfrom
add-nvcf-ui-routes
Jul 22, 2026
Merged

feat(gateway-routes): add opt-in HTTPRoute for the nvcf-ui addon#312
vrv3814 merged 2 commits into
mainfrom
add-nvcf-ui-routes

Conversation

@vrv3814

@vrv3814 vrv3814 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Why

Deployments that install the nvcf-ui addon need to expose the UI through the
shared Gateway. This adds an opt-in
HTTPRoute plus the cross-namespace ReferenceGrant that the route requires.

What changed

  • New httproute-nvcf-ui.yaml: HTTPRoute attached to the shared Gateway,
    matching PathPrefix / on the nvcf-ui.<domain> hostname and forwarding to
    the nvcf-ui Service (namespace nvcf-ui, port 8300).
  • New referencegrant-nvcf-ui.yaml: ReferenceGrant permitting HTTPRoutes in the
    shared Gateway namespace to reference the nvcf-ui Service across namespaces.
  • values.yaml: new routes.nvcfUi block, enabled: false by default so the
    route only renders when a deployment opts in.
  • _helpers.tpl: added nvcfUi to the root-hostname uniqueness validation list
    so a duplicate root PathPrefix / hostname is caught at template time.

Both templates are guarded by nvcfGatewayRoutes.enabled and
routes.nvcfUi.enabled, so nothing renders unless the addon is turned on.

Customer Release Notes

Adds an opt-in gateway route that exposes the nvcf-ui addon through the shared
Gateway when enabled.

Plan Summary

When routes.nvcfUi.enabled=true, renders one HTTPRoute and one ReferenceGrant.
No resources render by default.

Usage

Enable in values:

nvcfGatewayRoutes:
  routes:
    nvcfUi:
      enabled: true

Testing

Rendered the chart with helm template for nvcfUi enabled and disabled;
confirmed both resources appear only when enabled and the hostname uniqueness
check passes.

Issues

Closes #313

References

None

Related Pull Requests

None

Dependencies

None

Summary by CodeRabbit

  • New Features

    • Added optional HTTP routing for the NVCF UI through the shared Gateway.
    • Configured default hostname and backend service routing on port 8300.
    • Added permission handling for cross-namespace UI service access.
  • Bug Fixes

    • Expanded hostname conflict detection to include the NVCF UI route.

Summary by CodeRabbit

  • New Features

    • Added optional Gateway routing for the NVCF UI, including hostname matching and backend forwarding.
    • Added cross-namespace access configuration for the NVCF UI route.
    • Added hostname conflict detection for the NVCF UI route.
  • Bug Fixes

    • Improved pull request issue validation for content using CRLF line endings.

@vrv3814
vrv3814 requested a review from a team as a code owner July 21, 2026 15:28
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds an opt-in NVCF UI HTTPRoute and cross-namespace ReferenceGrant to the shared Gateway, includes the route in hostname uniqueness validation, and adds a CRLF parsing acceptance test.

Changes

NVCF UI Gateway routing

Layer / File(s) Summary
Route configuration and hostname validation
deploy/helm/gateway-routes/chart/values.yaml, deploy/helm/gateway-routes/chart/templates/_helpers.tpl
Adds disabled-by-default nvcfUi route settings and includes its hostnames in uniqueness validation.
NVCF UI Gateway resources
deploy/helm/gateway-routes/chart/templates/httproute-nvcf-ui.yaml, deploy/helm/gateway-routes/chart/templates/referencegrant-nvcf-ui.yaml
Conditionally renders the shared-Gateway HTTPRoute and the ReferenceGrant allowing cross-namespace access to the NVCF UI Service.

PR body line-ending handling

Layer / File(s) Summary
Issue checker line-ending acceptance test
ci/test/check-pr-issue.test.sh
Adds a passing case for Issues/Checklist content using CRLF line endings.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Client
  participant SharedGateway
  participant HTTPRoute
  participant NVCFUIService
  Client->>SharedGateway: Request nvcf-ui hostname
  SharedGateway->>HTTPRoute: Match hostname and PathPrefix /
  HTTPRoute->>NVCFUIService: Forward request to port 8300
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The CRLF parsing test for check-pr-issue.sh is unrelated to exposing nvcf-ui through the shared Gateway. Move the check-pr-issue.sh test update to a separate PR unless it is required for this gateway-routes change.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is valid Conventional Commits and accurately summarizes the gateway-routes feature.
Linked Issues check ✅ Passed The PR implements the opt-in HTTPRoute, ReferenceGrant, defaults, guards, and hostname validation required by #313.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch add-nvcf-ui-routes

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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 `@deploy/helm/gateway-routes/chart/templates/httproute-nvcf-ui.yaml`:
- Around line 16-50: Add Helm chart tests for the opt-in nvcfUi route
configuration, verifying it renders disabled by default, produces the expected
HTTPRoute and matching ReferenceGrant fields when enabled, and fails when
hostnames are duplicated. Use the existing chart test conventions and symbols
under nvcfGatewayRoutes.routes.nvcfUi; if testing is not supported in this
location, document the reason in the PR description.
🪄 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: d3e14059-ca20-472a-bfd6-056249c09066

📥 Commits

Reviewing files that changed from the base of the PR and between 5ef95ed and 569e925.

📒 Files selected for processing (4)
  • deploy/helm/gateway-routes/chart/templates/_helpers.tpl
  • deploy/helm/gateway-routes/chart/templates/httproute-nvcf-ui.yaml
  • deploy/helm/gateway-routes/chart/templates/referencegrant-nvcf-ui.yaml
  • deploy/helm/gateway-routes/chart/values.yaml

Comment thread deploy/helm/gateway-routes/chart/templates/httproute-nvcf-ui.yaml
Comment thread deploy/helm/gateway-routes/chart/values.yaml
@vrv3814
vrv3814 force-pushed the add-nvcf-ui-routes branch from 31b3d7f to c30afc0 Compare July 22, 2026 04:08

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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 `@deploy/helm/gateway-routes/chart/templates/referencegrant-nvcf-ui.yaml`:
- Around line 35-38: Update the ReferenceGrant’s spec.to entry in the manifest
template to include the configured backend Service name, using the chart’s
existing Service-name value. Keep the group and kind values unchanged so
cross-namespace access is restricted to that specific Service.
🪄 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: 100faaa2-50be-4fb9-a03a-54ce739ae034

📥 Commits

Reviewing files that changed from the base of the PR and between 7a004a6 and c30afc0.

📒 Files selected for processing (5)
  • ci/test/check-pr-issue.test.sh
  • deploy/helm/gateway-routes/chart/templates/_helpers.tpl
  • deploy/helm/gateway-routes/chart/templates/httproute-nvcf-ui.yaml
  • deploy/helm/gateway-routes/chart/templates/referencegrant-nvcf-ui.yaml
  • deploy/helm/gateway-routes/chart/values.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • deploy/helm/gateway-routes/chart/values.yaml

@vrv3814
vrv3814 added this pull request to the merge queue Jul 22, 2026
Merged via the queue into main with commit bf22730 Jul 22, 2026
11 checks passed
@vrv3814
vrv3814 deleted the add-nvcf-ui-routes branch July 22, 2026 05:02
@balajinvda

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version nvcf-gateway-routes-v1.15.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

apartha-nv added a commit that referenced this pull request Jul 30, 2026
Add a dedicated page documenting how to enable the opt-in NVCF UI
gateway route introduced in PR #312 (feat(gateway-routes): add opt-in
HTTPRoute for the nvcf-ui addon.

The page covers prerequisites, the helmfile environment values to set,
the sync command, and a verification step. It is placed in the
Configuration section of the navigation between Multi-Tenancy and
KAI Scheduler.

Relates to #312
EOF
)

Signed-off-by: Anand Parthasarathi <aparthasarat@nvidia.com>
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.

Expose the nvcf-ui addon through the shared Gateway

3 participants