Skip to content

fix(docs): fix broken links from GitLab-to-GitHub migration#336

Open
pdmack wants to merge 4 commits into
NVIDIA:mainfrom
pdmack:fix/docs-migration-broken-links
Open

fix(docs): fix broken links from GitLab-to-GitHub migration#336
pdmack wants to merge 4 commits into
NVIDIA:mainfrom
pdmack:fix/docs-migration-broken-links

Conversation

@pdmack

@pdmack pdmack commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

TL;DR

Fix 36 of the 58 broken URLs identified in NVBug 6482070, covering three categories of migration artifacts in the docs source.

Additional Details

Production scan of docs.nvidia.com found 58 unique broken URLs (75 rows counting duplicates across pages). This PR addresses the three categories where the fix lives in the docs source:

Category 1 -- AGENTS.md relative paths (10 URLs, 1 file)
docs/dev/architecture.md links to per-component AGENTS.md files as relative filesystem paths (../../src/.../AGENTS.md). Fern resolves these as docs.nvidia.com/src/... which returns 404. Changed to absolute github.com/NVIDIA/nvcf/blob/main/... URLs.

Category 2 -- Sample file download links (17 URLs, 10 files)
Helmfile installation, standalone, local-dev, and troubleshooting docs link to sample configs and scripts as relative paths (samples/configs/..., samples/scripts/...). Fern cannot serve non-markdown files, so these become dead docs.nvidia.com/.../samples/... URLs. Changed to raw.githubusercontent.com URLs pointing to the files in the repo.

Category 3 -- Archived nv-cloud-function-helpers repo (9 URLs, 28 files)
NVIDIA/nv-cloud-function-helpers is archived. Content migrated to NVIDIA/nvcf/examples/ with path renames (underscores to hyphens, e.g. function_samples/ to function-samples/). Updated all links with corrected paths.

Remaining 22 broken URLs (Omniverse dead links and old slugs already fixed at source) are not addressed here.

For the Reviewer

38 files changed, all in docs/. Changes are mechanical link replacements -- no content changes. Verified with lychee --offline (0 errors after changes).

For QA

lychee --offline --no-progress 'docs/**/*.md' -- 0 errors.

Issues

Fixes #335

Checklist

  • I am familiar with the Contributing Guidelines.
  • I have signed off my commits for Developer Certificate of Origin (DCO) compliance.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Summary by CodeRabbit

  • Documentation
    • Updated example, script, template, monitoring, observability, and load-testing links across current and versioned docs to use new canonical locations.
    • Switched load-testing and container function references from the older repository to the NVCF examples paths.
    • Converted multiple relative/local links to direct downloadable raw GitHub URLs.
    • Refreshed architecture and monitoring references to use stable, absolute GitHub URLs and consistent markdown formatting.

Replace three categories of broken links identified in NVBug 6482070:

1. AGENTS.md links in docs/dev/architecture.md used relative paths
   (../../src/.../AGENTS.md) that Fern resolved as docs.nvidia.com/src/...
   URLs (404). Changed to absolute github.com/NVIDIA/nvcf/blob/main URLs.

2. Sample file links in helmfile, standalone, local-dev, and troubleshooting
   docs used relative paths (samples/configs/..., samples/scripts/...) that
   Fern cannot serve. Changed to raw.githubusercontent.com URLs pointing to
   the files in the repo.

3. Links to the archived NVIDIA/nv-cloud-function-helpers repo updated to
   point to the equivalent content in NVIDIA/nvcf/examples/, with path
   renames from underscore to hyphen convention.

Fixes 36 of the 58 broken URLs in NVBug 6482070.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@pdmack
pdmack requested a review from a team as a code owner July 21, 2026 23:15
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

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: 10a7d142-0288-48e1-a974-3ecfaa00988e

📥 Commits

Reviewing files that changed from the base of the PR and between ac4bf2f and 597c646.

📒 Files selected for processing (7)
  • docs/user/container-functions.md
  • docs/user/function-creation.md
  • docs/v0.5/container-functions.md
  • docs/v0.5/function-creation.md
  • docs/v0.5/local-development.md
  • docs/v0.6.0/container-functions.md
  • docs/v0.6.0/function-creation.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/v0.5/function-creation.md
  • docs/user/function-creation.md
  • docs/v0.5/local-development.md

📝 Walkthrough

Walkthrough

Documentation links were migrated from relative paths and the archived nv-cloud-function-helpers repository to absolute GitHub, raw-content, and NVIDIA/nvcf example URLs across current and versioned documentation.

Changes

Documentation link migration

Layer / File(s) Summary
Absolute component and raw file links
docs/dev/architecture.md, docs/user/helmfile-installation.md, docs/v0.5/..., docs/v0.6.0/...
Component references, configuration templates, deployment scripts, and standalone service templates now use absolute GitHub or raw-content URLs.
Current example repository references
docs/user/..., docs/v0.5/..., docs/v0.6.0/...
CLI, monitoring, container, function, Helm, observability, and local-development links now point to NVIDIA/nvcf example paths.
Load-testing source and script links
docs/dev/*load-testing.md, docs/dev/http-soak-testing.md, docs/v0.5/*load-testing.md, docs/v0.5/http-soak-testing.md, docs/v0.6.0/*load-testing.md, docs/v0.6.0/http-soak-testing.md
Load-test build instructions, repository links, clone commands, and soak-test script references now use the NVIDIA/nvcf examples repository.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • NVIDIA/nvcf#240: Updates the observability example-dashboard link in docs/user/observability.md.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title uses valid Conventional Commits format, but this docs-only PR should be labeled docs rather than fix. Change the type to docs, e.g. "docs(docs): fix broken links from GitLab-to-GitHub migration".
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed The documented changes match #335 by fixing the AGENTS, raw sample, and migrated repository links described in the issue.
Out of Scope Changes check ✅ Passed The PR stays within scope, containing only documentation link migrations and no unrelated content changes.
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.

@github-actions

Copy link
Copy Markdown

@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: 9

🤖 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 `@docs/dev/grpc-load-testing.md`:
- Line 40: Replace the stale nv-cloud-function-helpers link labels with
NVIDIA/nvcf or the current example name while preserving the migrated URLs:
update the deployment link in docs/dev/grpc-load-testing.md:40-40,
docs/dev/http-load-testing.md:32-32, docs/dev/http-soak-testing.md:35-35,
docs/v0.5/grpc-load-testing.md:40-40, docs/v0.5/http-soak-testing.md:35-35,
docs/v0.6.0/grpc-load-testing.md:40-40, docs/v0.6.0/http-load-testing.md:32-32,
and docs/v0.6.0/http-soak-testing.md:35-35; update the script-maintenance link
label in docs/dev/http-soak-testing.md:165-166,
docs/v0.5/http-soak-testing.md:166-167, and
docs/v0.6.0/http-soak-testing.md:162-163.
- Line 45: Replace the non-cloneable repository URLs with the repository root
and update the subsequent working-directory paths to use the corresponding
nvcf/examples locations: docs/dev/grpc-load-testing.md lines 45 and 118,
docs/dev/http-load-testing.md lines 37 and 103, docs/dev/http-soak-testing.md
line 40, docs/v0.5/grpc-load-testing.md lines 45 and 114,
docs/v0.5/http-soak-testing.md line 40, docs/v0.6.0/grpc-load-testing.md lines
45 and 118, docs/v0.6.0/http-load-testing.md lines 37 and 103, and
docs/v0.6.0/http-soak-testing.md line 40.

In `@docs/ngc-managed/cluster-management/monitoring.md`:
- Line 24: Replace the generic “here” link text with descriptive text
identifying the OpenTelemetry Collector cluster monitoring sample in
docs/ngc-managed/cluster-management/monitoring.md:24,
docs/user/cluster-management/monitoring.md:24, and
docs/v0.6.0/cluster-management/monitoring.md:24, preserving the existing
destination URL.

In `@docs/user/cli.md`:
- Line 347: Rename the visible nv-cloud-function-helpers link label to “NVCF
examples” or similar while preserving the existing NVIDIA/nvcf URL and
surrounding documentation. Apply this change at docs/user/cli.md:347-347,
docs/v0.6.0/cli.md:340-340, and docs/v0.6.0/observability.md:298-298.

In `@docs/user/function-creation.md`:
- Line 51: Rename the migrated link labels to match the NVCF examples
destination: update “NVCF Container Helper Functions” to “NVCF examples” in
docs/user/function-creation.md and docs/v0.5/function-creation.md, and replace
“nv-cloud-function-helpers” with “NVCF examples” in docs/user/observability.md,
docs/v0.5/cli.md, and docs/v0.5/observability.md.

In `@docs/v0.5/cluster-management/monitoring.md`:
- Line 24: Update the OpenTelemetry Collector link in the cluster monitoring
documentation to use descriptive link text such as “cluster monitoring example”
instead of “here,” while preserving the existing destination URL.

In `@docs/v0.5/helmfile-installation.md`:
- Line 730: Move the Kubernetes context-selection instructions from Step 5 to
before Step 4, before the create-nvcr-pull-secrets.sh step and its kubectl
commands. Keep Step 5 as a confirmation that the intended context is selected,
without removing the safety check.

In `@docs/v0.5/local-development.md`:
- Line 27: Update the repository reference in the local development instructions
so its visible label matches NVIDIA/nvcf. Add the checkout step to change into
examples/function-samples before running ./setup.sh, or link directly to the
setup script while preserving the intended setup flow.

In `@docs/v0.6.0/function-creation.md`:
- Line 51: Update the Markdown link text in the function-creation documentation
to match the general examples destination, using “NVCF examples”; alternatively,
change the URL to the specific helper implementation only if that destination
exists.
🪄 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: 49c87c8e-9eb4-4a66-98b4-b3eb0b56c809

📥 Commits

Reviewing files that changed from the base of the PR and between 106c310 and ff1c7c0.

📒 Files selected for processing (38)
  • docs/dev/architecture.md
  • docs/dev/grpc-load-testing.md
  • docs/dev/http-load-testing.md
  • docs/dev/http-soak-testing.md
  • docs/ngc-managed/cluster-management/monitoring.md
  • docs/user/cli.md
  • docs/user/cluster-management/monitoring.md
  • docs/user/container-functions.md
  • docs/user/function-creation.md
  • docs/user/helm-functions.md
  • docs/user/helmfile-installation.md
  • docs/user/observability.md
  • docs/user/troubleshooting.md
  • docs/v0.5/cli.md
  • docs/v0.5/cluster-management/monitoring.md
  • docs/v0.5/container-functions.md
  • docs/v0.5/function-creation.md
  • docs/v0.5/grpc-load-testing.md
  • docs/v0.5/helm-functions.md
  • docs/v0.5/helmfile-installation.md
  • docs/v0.5/http-soak-testing.md
  • docs/v0.5/local-development.md
  • docs/v0.5/observability.md
  • docs/v0.5/standalone-core-services.md
  • docs/v0.5/standalone-gateway.md
  • docs/v0.5/standalone-infrastructure.md
  • docs/v0.5/troubleshooting.md
  • docs/v0.6.0/cli.md
  • docs/v0.6.0/cluster-management/monitoring.md
  • docs/v0.6.0/container-functions.md
  • docs/v0.6.0/function-creation.md
  • docs/v0.6.0/grpc-load-testing.md
  • docs/v0.6.0/helm-functions.md
  • docs/v0.6.0/helmfile-installation.md
  • docs/v0.6.0/http-load-testing.md
  • docs/v0.6.0/http-soak-testing.md
  • docs/v0.6.0/observability.md
  • docs/v0.6.0/troubleshooting.md

Comment thread docs/dev/grpc-load-testing.md Outdated
Comment thread docs/dev/grpc-load-testing.md Outdated
Comment thread docs/ngc-managed/cluster-management/monitoring.md Outdated
Comment thread docs/user/cli.md Outdated
Comment thread docs/user/function-creation.md Outdated
Comment thread docs/v0.5/cluster-management/monitoring.md Outdated
Comment thread docs/v0.5/helmfile-installation.md
Comment thread docs/v0.5/local-development.md Outdated
Comment thread docs/v0.6.0/function-creation.md Outdated
- Fix broken git clone URLs in load-testing docs: the first commit
  incorrectly produced /tree/main/examples.git URLs which cannot be
  cloned. Changed to git clone https://github.com/NVIDIA/nvcf.git with
  corrected cd paths (nvcf/examples/... with hyphenated names).
- Update stale link text: labels still named nv-cloud-function-helpers
  after URLs were migrated to nvcf. Renamed to NVCF examples.
- Replace bare 'here' link text in monitoring docs with descriptive
  'cluster monitoring example'.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@pdmack

pdmack commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Addressed in the follow-up commit ac4bf2f:

  • Fixed broken git clone URLs in load-testing docs (the first commit incorrectly produced /tree/main/examples.git URLs). Changed to git clone https://github.com/NVIDIA/nvcf.git with corrected cd paths using hyphenated example names.
  • Updated stale link text from nv-cloud-function-helpers to NVCF examples across all affected files.
  • Replaced bare 'here' link text in monitoring docs with 'cluster monitoring example'.

The helmfile-installation.md Step 4/5 context ordering note is pre-existing and tracked separately.

@sbaum1994

Copy link
Copy Markdown
Contributor
  • High: docs/v0.5/local-development.md:27 still says a ready-to-use k3d configuration and setup.sh are available under examples/function-samples, but that tree contains no setup.sh. The repository guidance says the canonical local-development tooling lives under tools/ncp-local-cluster. Please point this text at the actual workflow and update the command accordingly.

  • Medium: The archived helper-repository migration is incomplete. Seven https://github.com/NVIDIA/nv-cloud-function-helpers destinations remain in the container-functions.md variants, including references to the old helper implementation. At the same time, the function-creation.md variants now point the helper-extraction claim at the generic NVIDIA/nvcf/examples directory, where that helper library does not exist. Please either migrate or link the exact equivalent implementation, or rewrite the claims to match the examples that are actually present.

  • Low: This is documentation-only work, so the title should use the foundational docs type rather than fix, for example docs(docs): fix broken migration links.

Validation gap: lychee --offline does not check external destinations or Git clone commands, which is why the original invalid clone URLs passed. Please add targeted online validation for the newly introduced GitHub and raw-content URLs, or at minimum verify clone commands with git ls-remote and external links with an HTTP failure check.

- docs/v0.5/local-development.md: the k3d setup tip incorrectly pointed
  to examples/function-samples which has no setup.sh. Point to
  tools/ncp-local-cluster with make as the correct workflow.
- container-functions.md (all versions): fix two remaining
  nv-cloud-function-helpers links missed in the first pass -- bare
  /examples link and helper_library path -- and update to nvcf/examples
  and src/libraries/python/nv-cloud-function-helpers respectively.
- function-creation.md (all versions): the helper library reference was
  updated to the generic examples directory where the library does not
  exist. Point to src/libraries/python/nv-cloud-function-helpers instead.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@pdmack

pdmack commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the careful review. Addressed in 597c646:

  • High: docs/v0.5/local-development.md tip now points to tools/ncp-local-cluster with make as the correct workflow. The original nv-cloud-function-helpers/self_hosted_local_development directory had a setup.sh but that tooling now lives in tools/ncp-local-cluster.
  • Medium: Fixed the two remaining nv-cloud-function-helpers links in container-functions.md across all versions -- the bare /examples link and the helper_library path. The helper library exists in src/libraries/python/nv-cloud-function-helpers; function-creation.md now links there directly rather than to the generic examples directory.
  • Low: Noted on the title convention. The intent was docs but fix matches the NVBug framing -- happy to update if you prefer docs(docs).
  • Validation gap: Agreed lychee --offline only covers local paths. The newly introduced GitHub and raw.githubusercontent.com URLs are all direct migrations of previously working paths so the risk is low, but adding an online check for external links is a worthwhile follow-up.

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.

fix(docs): fix broken links from GitLab-to-GitHub migration

2 participants