docs: add air-gapped installation guide#774
Conversation
|
Warning Review limit reached
Next review available in: 41 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds a complete air-gapped installation guide covering artifact mirroring, prerequisite and plane installation, optional modules, and authenticated registries. It also adds an overview diagram, sidebar navigation, and a conditional link from the environment setup guide. ChangesAir-Gapped Installation
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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/platform-engineer-guide/air-gapped-installation.mdx`:
- Around line 173-186: Update the archive naming logic in both the
connected-side pull loop and air-gapped-side push loop to use a
collision-resistant, deterministic filename derived from the complete image
reference, such as a stable hash. Ensure both loops use the identical derivation
so each image maps to its own tarball and the correct artifact is pushed.
- Around line 112-138: Update the image-list generation block around the Helm
template pipeline to enable shell pipeline failure propagation with pipefail
before rendering charts. Ensure any failed helm template causes the overall
command to fail instead of producing a potentially incomplete images.txt, while
preserving the existing image extraction and sorting behavior.
- Around line 506-530: The Authenticated mirrors section only documents
Kubernetes pull secrets and uses a placeholder namespace. Add workstation login
commands for crane and optionally helm using --password-stdin, and update the
kubectl secret example to use --namespace "$NAMESPACE" instead of --namespace
<each namespace>. Keep the existing per-chart credential configuration
unchanged.
🪄 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: Pro
Run ID: 01736d17-4036-496c-ba71-98fd6443d570
⛔ Files ignored due to path filters (1)
docs/platform-engineer-guide/images/air-gapped-installation-overview.svgis excluded by!**/*.svg,!**/*.svg
📒 Files selected for processing (4)
docs/getting-started/try-it-out/on-your-environment.mdxdocs/platform-engineer-guide/air-gapped-installation.mdxdocs/platform-engineer-guide/images/air-gapped-installation-overview.drawiosidebars.ts
Without pipefail a failed helm template still exits zero through the pipeline and leaves a silently incomplete image list. Suggested by CodeRabbit on openchoreo#774. Signed-off-by: Miraj Abeysekara <miraj@wso2.com>
- New Platform Engineer Guide page covering mirroring (images, charts, files), DNS requirements, prerequisite and plane install overrides, module installs, authenticated mirrors, and upgrades - High-level overview diagram (SVG plus editable draw.io source) - Crosslink from the standard installation guide The flow was validated end to end on an isolated cluster with no internet route. References openchoreo/openchoreo#3577. Signed-off-by: Miraj Abeysekara <miraj@wso2.com>
Without pipefail a failed helm template still exits zero through the pipeline and leaves a silently incomplete image list. Suggested by CodeRabbit on openchoreo#774. Signed-off-by: Miraj Abeysekara <miraj@wso2.com>
The rc.1 snapshot was cut before the guide landed, but the charts it documents (global.imageRegistry and global.imagePullSecrets) shipped in v1.2.0-rc.1, so the guide applies to that version. - Copy the guide and its overview diagram into the rc.1 snapshot - Add the sidebar entry under Platform Setup - Crosslink from the rc.1 standard installation guide Signed-off-by: Miraj Abeysekara <miraj@wso2.com>
3f37481 to
5c12aa3
Compare
There was a problem hiding this comment.
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 `@docs/platform-engineer-guide/air-gapped-installation.mdx`:
- Around line 161-201: The air-gapped push loop maps fully qualified Docker Hub
images to the wrong destination when the Helm chart renders a bare image name.
Update the image-to-destination mapping in the “Mirror the images” example to
support a per-image override or otherwise map `docker.io/library/busybox` to
`REGISTRY/busybox` when the rendered chart reference is bare, while preserving
the existing mapping for other image references.
🪄 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: Pro
Run ID: 62790653-b93d-447b-86cc-039b039e87c4
⛔ Files ignored due to path filters (6)
docs/platform-engineer-guide/images/air-gapped-installation-overview.svgis excluded by!**/*.svg,!**/*.svgversioned_docs/version-v1.2.0-rc.1/getting-started/try-it-out/on-your-environment.mdxis excluded by!versioned_docs/**versioned_docs/version-v1.2.0-rc.1/platform-engineer-guide/air-gapped-installation.mdxis excluded by!versioned_docs/**versioned_docs/version-v1.2.0-rc.1/platform-engineer-guide/images/air-gapped-installation-overview.drawiois excluded by!versioned_docs/**versioned_docs/version-v1.2.0-rc.1/platform-engineer-guide/images/air-gapped-installation-overview.svgis excluded by!**/*.svg,!**/*.svg,!versioned_docs/**versioned_sidebars/version-v1.2.0-rc.1-sidebars.jsonis excluded by!versioned_sidebars/**
📒 Files selected for processing (4)
docs/getting-started/try-it-out/on-your-environment.mdxdocs/platform-engineer-guide/air-gapped-installation.mdxdocs/platform-engineer-guide/images/air-gapped-installation-overview.drawiosidebars.ts
🚧 Files skipped from review as they are similar to previous changes (3)
- sidebars.ts
- docs/platform-engineer-guide/images/air-gapped-installation-overview.drawio
- docs/getting-started/try-it-out/on-your-environment.mdx
…reference The note told users to list official images under library/ while the push rule and the chart-rendered reference expect the registry root — following both produced a guaranteed pull failure. The list entry now mirrors whatever the chart renders. Suggested by CodeRabbit on openchoreo#774. Signed-off-by: Miraj Abeysekara <miraj@wso2.com>
Purpose
Adds a Platform Engineer Guide page for installing OpenChoreo into a Kubernetes cluster with no internet access. It covers what to mirror, all four plane installs, the general pattern for installing modules offline with the default observability set as a worked example, and use of authenticated mirrors.
The registry overrides this page documents ship with the core v1.2.0 charts (openchoreo/openchoreo#4182) and the current observability module releases (openchoreo/community-modules#327). The full flow was validated end-to-end on an isolated cluster with no internet connectivity.
Related Issues
Related openchoreo/openchoreo#3577
Checklist
sidebars.tsif adding a new documentation pagenpm run startto preview the changes locallynpm run buildto ensure the build passes without errorsThis PR includes AI-generated content, written and reviewed interactively.