Skip to content

End-to-end air-gapped deployment guide for NeMo Retriever Library#1879

Open
kheiss-uwzoo wants to merge 9 commits intoNVIDIA:26.03from
kheiss-uwzoo:kheiss/6096584
Open

End-to-end air-gapped deployment guide for NeMo Retriever Library#1879
kheiss-uwzoo wants to merge 9 commits intoNVIDIA:26.03from
kheiss-uwzoo:kheiss/6096584

Conversation

@kheiss-uwzoo
Copy link
Copy Markdown
Collaborator

Summary

Adds consolidated documentation for customers who deploy NeMo Retriever / NV-Ingest in air-gapped environments (e.g. 26.3.0), addressing RFE 6096584 (Teradata): one place that explains what to mirror, how to pin versions/digests, Helm chart staging, private registry overrides, and links to mirroring tooling, while pointing to NIM Operator air-gap docs for operator-specific behavior.

Motivation

Guidance was split across Compose notes, Helm pointers, and NIM Operator docs. This change gives a repeatable, NeMo Retriever–centric checklist that fits into the broader offline story (GPU Operator, private registry, NIM caches).

Changes

New: docs/docs/extraction/air-gapped-deployment.md — workflow, image inventory (core + optional profiles + Helm subchart reminders), digest pinning, Compose vs Helm registry configuration, avoiding runtime pulls to public APIs, tooling links (skopeo, crane, Helm, Harbor/distribution), and related internal doc links.
docs/mkdocs.yml — nav entry under Get Started: Air-Gapped Deployment.
docs/docs/extraction/helm.md — air-gap note leads with the new guide, then NIM Operator air-gap.
docs/docs/extraction/quickstart-guide.md — Compose air-gap section links to the full guide.
docs/docs/extraction/releasenotes-nv-ingest.md — 26.03 highlights updated to reference the new guide.

@kheiss-uwzoo kheiss-uwzoo requested a review from a team as a code owner April 20, 2026 19:15
@kheiss-uwzoo kheiss-uwzoo requested review from a team, janishaa-beep, jdye64, randerzander and sosahi and removed request for a team April 20, 2026 19:15
@kheiss-uwzoo kheiss-uwzoo added the doc Improvements or additions to documentation label Apr 20, 2026
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 20, 2026

Greptile Summary

This PR adds a consolidated end-to-end air-gapped deployment guide for NeMo Retriever Library, wires it into the nav, and adds cross-references from helm.md, quickstart-guide.md, and releasenotes-nv-ingest.md. Prior review rounds resolved the stale nv-ingest repo links and pinned the guide's own links to release/26.3.0.

  • quickstart-guide.md line 418 (new air-gap section added by this PR): the docker-compose.yaml hyperlink still resolves to main, directly contradicting the new guide's explicit warning that "main moves forward." Air-gapped operators following the quickstart procedure will read a different compose file than they qualified and mirrored.
  • releasenotes-nv-ingest.md line 34: the pre-existing contradiction between VLM caption enhancements listed in lines 27–29 and the "does not support VLM captioning" disclaimer on line 34 remains unresolved.

Confidence Score: 4/5

Safe to merge after fixing the main branch link in the quickstart air-gap section and resolving the contradictory VLM statement in the release notes.

One clear P1 in new content (quickstart main-branch link contradicts the guide it cross-references) and one unresolved prior P1 in release notes (contradictory VLM statements). Both are documentation correctness issues that affect operators following the guide literally.

docs/docs/extraction/quickstart-guide.md (line 418 main-branch link) and docs/docs/extraction/releasenotes-nv-ingest.md (lines 27–34 VLM contradiction).

Important Files Changed

Filename Overview
docs/docs/extraction/air-gapped-deployment.md New end-to-end air-gapped deployment guide; links and image inventory now use NeMo-Retriever repo and pinned release/26.3.0 branch after prior review rounds.
docs/docs/extraction/quickstart-guide.md New air-gap section correctly links to the full guide, but the docker-compose.yaml hyperlink still resolves to main rather than release/26.3.0, contradicting guidance in the newly added air-gapped deployment doc.
docs/docs/extraction/helm.md Added air-gap note pointing to the new guide and NIM Operator air-gap docs; no issues found.
docs/docs/extraction/releasenotes-nv-ingest.md Added air-gap guide reference to 26.03 highlights, but the contradictory VLM support statements (lines 27-29 vs line 34) remain unresolved from prior review.
docs/mkdocs.yml Added Air-Gapped Deployment nav entry under Get Started; no issues found.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Staging / Bastion Host\nwith internet access] -->|1. Inventory images & charts| B[Image Inventory\nCore + Optional profiles]
    B -->|2. Mirror container images| C[Private Registry\nHarbor / Docker Registry]
    B -->|3. Stage non-image assets| D[Helm .tgz + Python wheels]
    C --> E[Air-Gapped Environment]
    D --> E
    E -->|4. Configure pulls| F[Override image.repository\nimagePullSecrets / IfNotPresent]
    E -->|5. NIM models & caches| G[NIMCache\nNIM Operator air-gap guide]
    F --> H[Deploy Stack\nCompose or Helm]
    G --> H
    H -->|6. Validate| I[Smoke test\n/v1/health/ready + extract job]
Loading

Comments Outside Diff (1)

  1. docs/docs/extraction/quickstart-guide.md, line 418 (link)

    P1 Air-gap section links docker-compose.yaml to main

    This line was added by this PR as part of the new air-gap section, but the linked docker-compose.yaml resolves to the main branch. The new air-gapped-deployment.md guide (added in the same PR) explicitly warns on line 9 that "main moves forward" and directs operators to pin against release/26.3.0. An air-gapped operator following the quickstart air-gap procedure will read the wrong compose file (possibly different image tags) compared to what they actually qualify and mirror.

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: docs/docs/extraction/quickstart-guide.md
    Line: 418
    
    Comment:
    **Air-gap section links `docker-compose.yaml` to `main`**
    
    This line was added by this PR as part of the new air-gap section, but the linked `docker-compose.yaml` resolves to the `main` branch. The new `air-gapped-deployment.md` guide (added in the same PR) explicitly warns on line 9 that "`main` moves forward" and directs operators to pin against `release/26.3.0`. An air-gapped operator following the quickstart air-gap procedure will read the wrong compose file (possibly different image tags) compared to what they actually qualify and mirror.
    
    
    
    How can I resolve this? If you propose a fix, please make it concise.
Prompt To Fix All With AI
This is a comment left during a code review.
Path: docs/docs/extraction/quickstart-guide.md
Line: 418

Comment:
**Air-gap section links `docker-compose.yaml` to `main`**

This line was added by this PR as part of the new air-gap section, but the linked `docker-compose.yaml` resolves to the `main` branch. The new `air-gapped-deployment.md` guide (added in the same PR) explicitly warns on line 9 that "`main` moves forward" and directs operators to pin against `release/26.3.0`. An air-gapped operator following the quickstart air-gap procedure will read the wrong compose file (possibly different image tags) compared to what they actually qualify and mirror.

```suggestion
2. Save images: Export the images to archives (for example, using `docker save` for each image or a script that saves all images referenced by your [docker-compose.yaml](https://github.com/NVIDIA/NeMo-Retriever/blob/release/26.3.0/docker-compose.yaml)).
```

How can I resolve this? If you propose a fix, please make it concise.

Reviews (3): Last reviewed commit: "Update quickstart-guide.md" | Re-trigger Greptile

Comment thread docs/docs/extraction/air-gapped-deployment.md Outdated
Comment thread docs/docs/extraction/air-gapped-deployment.md Outdated
Comment thread docs/docs/extraction/air-gapped-deployment.md
Comment thread docs/docs/extraction/air-gapped-deployment.md Outdated
kheiss-uwzoo and others added 3 commits April 20, 2026 12:42
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 20, 2026

Want your agent to iterate on Greptile's feedback? Try greploops.

docs: update quickstart docker ps to nemotron and llama-nemotron images
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant