diff --git a/docs/about/release-notes/current-release.mdx b/docs/about/release-notes/current-release.mdx index aaaeba8d7f..42c5bea4dd 100644 --- a/docs/about/release-notes/current-release.mdx +++ b/docs/about/release-notes/current-release.mdx @@ -153,7 +153,7 @@ For self-managed Kubernetes, start with GRPO jobs also require Kubernetes/Ray, OpenSandbox-enabled Gym execution, and job-storage PVC configuration; see [GRPO and Reward Environments](/documentation/customizer-reference/grpo-and-reward-environments) -and [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/opensandbox). +and [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/open-sandbox). ## Upgrade from v0.4.x @@ -230,6 +230,6 @@ nemo agents ethos migrate --name - Issues: [https://github.com/NVIDIA-NeMo/nemo-platform/issues](https://github.com/NVIDIA-NeMo/nemo-platform/issues) - GRPO and Reward Environments: [https://docs.nvidia.com/nemo-platform/documentation/customizer-reference/grpo-and-reward-environments](https://docs.nvidia.com/nemo-platform/documentation/customizer-reference/grpo-and-reward-environments) - GRPO Environment Packages: [https://docs.nvidia.com/nemo-platform/documentation/customizer-reference/tutorials/grpo-environment-packages](https://docs.nvidia.com/nemo-platform/documentation/customizer-reference/tutorials/grpo-environment-packages) -- OpenSandbox setup: [https://docs.nvidia.com/nemo-platform/documentation/kubernetes-deployment/setup/helm/opensandbox](https://docs.nvidia.com/nemo-platform/documentation/kubernetes-deployment/setup/helm/opensandbox) +- OpenSandbox setup: [https://docs.nvidia.com/nemo-platform/documentation/kubernetes-deployment/setup/helm/open-sandbox](https://docs.nvidia.com/nemo-platform/documentation/kubernetes-deployment/setup/helm/open-sandbox) - NeMo Fabric: [https://docs.nvidia.com/nemo/fabric/about-nemo-fabric/overview/](https://docs.nvidia.com/nemo/fabric/about-nemo-fabric/overview/) - NeMo Agent Toolkit: [https://docs.nvidia.com/nemo/agent-toolkit/latest/](https://docs.nvidia.com/nemo/agent-toolkit/latest/) diff --git a/docs/about/release-notes/release-0-3-0.mdx b/docs/about/release-notes/release-0-3-0.mdx index 94c2e8cc55..b4f627c993 100644 --- a/docs/about/release-notes/release-0-3-0.mdx +++ b/docs/about/release-notes/release-0-3-0.mdx @@ -71,7 +71,7 @@ See [Setup](/documentation/get-started) for prerequisites and provider configuration. For self-managed Kubernetes, start with -[Install NeMo Platform Helm Chart](/documentation/self-managed-deployment/setup/helm/install). +[Install NeMo Platform Helm Chart](/documentation/kubernetes-deployment/setup/helm/install). ## Upgrade from v0.2.x diff --git a/docs/agents/deploy-agents.mdx b/docs/agents/deploy-agents.mdx index bd38c8ebb4..b404a99bb3 100644 --- a/docs/agents/deploy-agents.mdx +++ b/docs/agents/deploy-agents.mdx @@ -387,7 +387,7 @@ models: ``` To make an external model available to the agent, register a provider first — -see [Deploy Models](/documentation/models-and-inference/tutorials/deploy-models#add-external-providers) +see [Deploy Models](/documentation/models-and-inference/deploy-models#add-external-providers) for NVIDIA Build, OpenAI, and Anthropic examples. diff --git a/docs/customizer/grpo-training.mdx b/docs/customizer/grpo-training.mdx index 9d9ff85fb6..67c11ddc80 100644 --- a/docs/customizer/grpo-training.mdx +++ b/docs/customizer/grpo-training.mdx @@ -461,7 +461,7 @@ GRPO fails at submit, before any GPU is claimed, unless the platform operator ha If a submit fails on either of the first two, that is a platform configuration gap, not a problem with your package. Neither is settable per job. -Installing OpenSandbox is a separate operator task: [OpenSandbox](/documentation/self-managed-deployment/setup/helm/opensandbox), or [OpenSandbox with Kata](/documentation/self-managed-deployment/setup/helm/opensandbox-kata) for the Kata runtime. +Installing OpenSandbox is a separate operator task: [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/open-sandbox), or [OpenSandbox with Kata](/documentation/kubernetes-deployment/setup/helm/opensandbox-kata) for the Kata runtime. ## Next Steps diff --git a/docs/customizer/tutorials/grpo-environment-packages.mdx b/docs/customizer/tutorials/grpo-environment-packages.mdx index 80f1393f1b..0b574eb94b 100644 --- a/docs/customizer/tutorials/grpo-environment-packages.mdx +++ b/docs/customizer/tutorials/grpo-environment-packages.mdx @@ -24,7 +24,7 @@ Do not put `.jsonl` in the environment package. If a Gym config lists `datasets[ Before packaging an environment, ensure you have: 1. **A NeMo Platform configured with `platform.runtime: kubernetes`** — GRPO provisions a Ray cluster and has no local Docker fallback -2. **Sandboxed Gym enabled on the cluster** by your platform operator (`sandbox_cluster_capable` and a job-storage PVC claim). Refer to [Cluster prerequisites](/documentation/customizer-reference/grpo-and-reward-environments#cluster-prerequisites); installing OpenSandbox is covered in [OpenSandbox](/documentation/self-managed-deployment/setup/helm/opensandbox) +2. **Sandboxed Gym enabled on the cluster** by your platform operator (`sandbox_cluster_capable` and a job-storage PVC claim). Refer to [Cluster prerequisites](/documentation/customizer-reference/grpo-and-reward-environments#cluster-prerequisites); installing OpenSandbox is covered in [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/open-sandbox) 3. **The `nemo` CLI on your `PATH`**, or a source checkout where `uv run --package nmp-rl` resolves 4. **The training image tag** your cluster runs — vendoring a wheel closure requires the `nemo-gym`, `ray`, and `openai` versions it reports 5. **A machine with internet access** for the packaging step. Training clusters consume uploaded FileSets only. For details on which environment type require internet access too, see details below. @@ -431,7 +431,7 @@ nemo files upload ./weather-env/ weather-env --workspace default nemo files list weather-env --workspace default ``` -Job JSON: [GRPO and Reward Environments](/documentation/customizer-reference/grpo-and-reward-environments#submit-the-job). Sandboxed Gym is configured on the platform (`NMP_RL_SANDBOXED_GYM_DEFAULT`), not in the job payload. Cluster setup: [OpenSandbox](/documentation/self-managed-deployment/setup/helm/opensandbox). +Job JSON: [GRPO and Reward Environments](/documentation/customizer-reference/grpo-and-reward-environments#submit-the-job). Sandboxed Gym is configured on the platform (`NMP_RL_SANDBOXED_GYM_DEFAULT`), not in the job payload. Cluster setup: [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/open-sandbox). ## Next Steps diff --git a/docs/fern/docs.yml b/docs/fern/docs.yml index efb0828995..f23e9161c7 100644 --- a/docs/fern/docs.yml +++ b/docs/fern/docs.yml @@ -36,3 +36,35 @@ redirects: # Sphinx page URLs (foo.html); must follow all :path*/index.html rules above - source: "/:path*.html" destination: "/:path*" + # NV 6722631: OpenSandbox how-to live slug is open-sandbox. + - source: "/documentation/self-managed-deployment/setup/helm/opensandbox" + destination: "/documentation/kubernetes-deployment/setup/helm/open-sandbox" + - source: "/latest/documentation/self-managed-deployment/setup/helm/opensandbox" + destination: "/latest/documentation/kubernetes-deployment/setup/helm/open-sandbox" + - source: "/documentation/kubernetes-deployment/setup/helm/opensandbox" + destination: "/documentation/kubernetes-deployment/setup/helm/open-sandbox" + - source: "/latest/documentation/kubernetes-deployment/setup/helm/opensandbox" + destination: "/latest/documentation/kubernetes-deployment/setup/helm/open-sandbox" + # NV 6722623: published hrefs still use the old self-managed-deployment nav slug. + - source: "/documentation/self-managed-deployment/helm" + destination: "/documentation/kubernetes-deployment/setup/helm" + - source: "/latest/documentation/self-managed-deployment/helm" + destination: "/latest/documentation/kubernetes-deployment/setup/helm" + - source: "/documentation/self-managed-deployment/:path*" + destination: "/documentation/kubernetes-deployment/:path*" + - source: "/latest/documentation/self-managed-deployment/:path*" + destination: "/latest/documentation/kubernetes-deployment/:path*" + # NV 6722632: Models and Inference pages are no longer under /tutorials/. + - source: "/documentation/models-and-inference/tutorials/run-inference" + destination: "/documentation/models-and-inference/run-inference" + - source: "/latest/documentation/models-and-inference/tutorials/run-inference" + destination: "/latest/documentation/models-and-inference/run-inference" + - source: "/documentation/models-and-inference/tutorials/deploy-models" + destination: "/documentation/models-and-inference/deploy-models" + - source: "/latest/documentation/models-and-inference/tutorials/deploy-models" + destination: "/latest/documentation/models-and-inference/deploy-models" + # NV 6722634: Plugin UIs title otherwise kebab-cases to plugin-u-is. + - source: "/documentation/studio/plugin-u-is" + destination: "/documentation/studio/plugins" + - source: "/latest/documentation/studio/plugin-u-is" + destination: "/latest/documentation/studio/plugins" diff --git a/docs/fern/scripts/sync-helm-docs.mjs b/docs/fern/scripts/sync-helm-docs.mjs index 6e21039c92..aec5b3c927 100644 --- a/docs/fern/scripts/sync-helm-docs.mjs +++ b/docs/fern/scripts/sync-helm-docs.mjs @@ -33,13 +33,29 @@ const DROP_LINE = /^Documentation can be found at: https:\/\/docs\.nvidia\.com\/nemo-platform\.\s*$/; const DEPLOYMENT_LINK = - /For deployment instructions, see https:\/\/docs\.nvidia\.com\/nemo-platform\/documentation\/self-managed-deployment\/setup\./; + /For deployment instructions, see https:\/\/docs\.nvidia\.com\/nemo-platform\/(?:latest\/)?documentation\/(?:self-managed-deployment|kubernetes-deployment)\/setup\.?/; const DEPLOYMENT_LINK_REPLACEMENT = "For deployment guide, see " + - "[Self-Managed Deployment](/documentation/self-managed-deployment/setup) " + + "[Kubernetes Deployment](/documentation/kubernetes-deployment/setup) " + "in the NeMo Platform documentation."; +const EXAMPLES_OVERLAY_LINK = /\[examples\/opensandbox\]\(examples\/opensandbox\)/; +const EXAMPLES_OVERLAY_REPLACEMENT = + "[k8s/helm/examples/opensandbox](https://github.com/NVIDIA-NeMo/nemo-platform/tree/main/k8s/helm/examples/opensandbox)"; + +function rewritePublishedDocsUrls(text) { + return text + .replace( + /\/documentation\/self-managed-deployment\//g, + "/documentation/kubernetes-deployment/", + ) + .replace( + /(\/documentation\/kubernetes-deployment\/setup\/helm\/)opensandbox(?!-kata)/g, + "$1open-sandbox", + ); +} + function stripLeadingSpdxComments(markdown) { const lines = markdown.split("\n"); @@ -68,7 +84,13 @@ function extractIntro(readme) { if (DROP_LINE.test(line)) continue; - out.push(line.replace(DEPLOYMENT_LINK, DEPLOYMENT_LINK_REPLACEMENT)); + out.push( + rewritePublishedDocsUrls( + line + .replace(DEPLOYMENT_LINK, DEPLOYMENT_LINK_REPLACEMENT) + .replace(EXAMPLES_OVERLAY_LINK, EXAMPLES_OVERLAY_REPLACEMENT), + ), + ); } while (out.length && !out[out.length - 1].trim()) out.pop(); diff --git a/docs/fern/versions/latest.yml b/docs/fern/versions/latest.yml index d7c870a4cb..76d5321bf6 100644 --- a/docs/fern/versions/latest.yml +++ b/docs/fern/versions/latest.yml @@ -366,6 +366,7 @@ navigation: - page: Monitor path: ../../studio/monitor.mdx - page: Plugin UIs + slug: plugins path: ../../studio/plugins.mdx - page: Guardrail Configs path: ../../studio/guardrails.mdx @@ -403,7 +404,7 @@ navigation: - page: Volcano path: ../../set-up/helm/volcano.mdx - page: OpenSandbox - slug: opensandbox + slug: open-sandbox path: ../../set-up/helm/opensandbox.mdx - page: OpenSandbox with Kata slug: opensandbox-kata diff --git a/docs/guardrails/concepts/configurations/default-configs.mdx b/docs/guardrails/concepts/configurations/default-configs.mdx index 859d0b0470..59a1e982fc 100644 --- a/docs/guardrails/concepts/configurations/default-configs.mdx +++ b/docs/guardrails/concepts/configurations/default-configs.mdx @@ -137,4 +137,4 @@ client.inference.virtual_models.delete(name="guarded-with-defaults") - [Architecture](/documentation/guardrail-models/core-concepts/architecture) — Understand the middleware pipeline and VirtualModel wiring - [Configuration Structure](/documentation/guardrail-models/core-concepts/configurations/configuration-structure) — Configuration schema reference - [Manage Configurations](/documentation/guardrail-models/core-concepts/configurations/manage-configurations) — Create and manage your own configurations -- [Run Inference](/documentation/models-and-inference/tutorials/run-inference) — Run inference with a guardrail configuration +- [Run Inference](/documentation/models-and-inference/run-inference) — Run inference with a guardrail configuration diff --git a/docs/run-inference/tutorials/deploy-models.mdx b/docs/run-inference/tutorials/deploy-models.mdx index 4b2d8aaea1..c7047ca8b2 100644 --- a/docs/run-inference/tutorials/deploy-models.mdx +++ b/docs/run-inference/tutorials/deploy-models.mdx @@ -18,6 +18,7 @@ Resource names for deployments, deployment configs, and providers must contain o --- + ## Add External Providers Register external inference APIs like NVIDIA Build or OpenAI. diff --git a/docs/run-inference/tutorials/index.mdx b/docs/run-inference/tutorials/index.mdx index b5d3f4ffd0..a31bee3697 100644 --- a/docs/run-inference/tutorials/index.mdx +++ b/docs/run-inference/tutorials/index.mdx @@ -16,4 +16,4 @@ Learn how to run inference through the NeMo Platform. ## Guides -- [Run Inference](/documentation/models-and-inference/tutorials/run-inference) — Route requests via model entity, provider, or OpenAI routing +- [Run Inference](/documentation/models-and-inference/run-inference) — Route requests via model entity, provider, or OpenAI routing diff --git a/docs/set-up/helm/file-storage.mdx b/docs/set-up/helm/file-storage.mdx index 25457ae994..d292b0fbf0 100644 --- a/docs/set-up/helm/file-storage.mdx +++ b/docs/set-up/helm/file-storage.mdx @@ -22,7 +22,7 @@ If using S3 storage, you must provision and manage your own bucket and credentia ## Local Storage (Default) -By default, the Files service uses local filesystem storage. Files are stored on the shared PVC configured in [Persistent Volumes](/documentation/self-managed-deployment/setup/helm/persistent-volumes). +By default, the Files service uses local filesystem storage. Files are stored on the shared PVC configured in [Persistent Volumes](/documentation/kubernetes-deployment/setup/helm/persistent-volumes). The default configuration is equivalent to: @@ -34,7 +34,7 @@ platformConfig: path: /vol/files ``` -You do not need to add this to your `values.yaml`. Once the PVC is set up as described in [Persistent Volumes](/documentation/self-managed-deployment/setup/helm/persistent-volumes), local storage works out of the box. +You do not need to add this to your `values.yaml`. Once the PVC is set up as described in [Persistent Volumes](/documentation/kubernetes-deployment/setup/helm/persistent-volumes), local storage works out of the box. ## S3 Object Storage diff --git a/docs/set-up/helm/index.mdx b/docs/set-up/helm/index.mdx index 286f8445f6..c6b664f558 100644 --- a/docs/set-up/helm/index.mdx +++ b/docs/set-up/helm/index.mdx @@ -9,95 +9,95 @@ description: "" NeMo Platform is bundled in an all-in-one Helm chart for self-managed Kubernetes deployments. Use these guides to deploy the platform on local clusters such as minikube and kind, managed clusters such as EKS, AKS, GKE, and OKE, or on-prem Kubernetes. -Start with [Prerequisites](/documentation/self-managed-deployment/setup/helm/prerequisites), then follow [Install](/documentation/self-managed-deployment/setup/helm/install). The install guide pins the chart with `NMP_HELM_CHART_VERSION` and uses the `nvidia/nemo-platform` NGC org for chart and image access. +Start with [Prerequisites](/documentation/kubernetes-deployment/setup/helm/prerequisites), then follow [Install](/documentation/kubernetes-deployment/setup/helm/install). The install guide pins the chart with `NMP_HELM_CHART_VERSION` and uses the `nvidia/nemo-platform` NGC org for chart and image access. - + Review the prerequisites for installing the NeMo Platform Helm Chart. cluster-admin - + Install the NeMo Platform using the Helm chart. cluster-admin on-prem cloud - + Verify Helm NetworkPolicies on a local Kind cluster with Calico and Chainsaw. cluster-admin kind networking - + Set up an external database for the NeMo Platform. cluster-admin on-prem cloud - + Set up Ingress for the NeMo Platform. cluster-admin on-prem cloud - + Set up persistent volumes for the NeMo Platform. cluster-admin on-prem cloud - + Configure storage options for the Files service. cluster-admin on-prem cloud - + Configure high-performance east-west networking (EFA, InfiniBand, TCP-XO, SR-IOV) for multi-node training. cluster-admin cloud - + Install the Volcano scheduler for multi-node jobs. The chart does not install Volcano. cluster-admin - + Install OpenSandbox with the shared-kernel / default runtime path and point jobs at the in-cluster server. cluster-admin - + Install Kata Containers and an OpenSandbox server that uses RuntimeClass kata-qemu. cluster-admin - + Install with OpenShift-compatible configuration. cluster-admin openshift - + Set up backup and restore configurations for the NeMo Platform. diff --git a/docs/set-up/helm/ingress.mdx b/docs/set-up/helm/ingress.mdx index e8a54acf81..81f44de206 100644 --- a/docs/set-up/helm/ingress.mdx +++ b/docs/set-up/helm/ingress.mdx @@ -9,7 +9,7 @@ description: "" The NeMo Platform Helm chart can expose the API service externally using **Kubernetes Ingress**, the **Gateway API HTTPRoute**, or on OpenShift an **OpenShift Route**. Choose one based on your cluster. -**Prerequisites:** Complete [Prerequisites](/documentation/self-managed-deployment/setup/helm/prerequisites) and [Install](/documentation/self-managed-deployment/setup/helm/install) (or [OpenShift](/documentation/self-managed-deployment/setup/helm/openshift)) so the platform is installed. Ensure your cluster has an [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) controller (e.g. Traefik, OpenShift IngressController) or a [Gateway API](https://gateway-api.sigs.k8s.io/) Gateway configured. +**Prerequisites:** Complete [Prerequisites](/documentation/kubernetes-deployment/setup/helm/prerequisites) and [Install](/documentation/kubernetes-deployment/setup/helm/install) (or [OpenShift](/documentation/kubernetes-deployment/setup/helm/openshift)) so the platform is installed. Ensure your cluster has an [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) controller (e.g. Traefik, OpenShift IngressController) or a [Gateway API](https://gateway-api.sigs.k8s.io/) Gateway configured. ## Kubernetes Ingress @@ -52,7 +52,7 @@ To use standard Kubernetes [Ingress](https://kubernetes.io/docs/concepts/service Install or upgrade with your values file so the Ingress resource is created. After installation, use the URL shown in the Helm notes (`helm status nemo-platform`) or the host you configured. -**Advanced:** For multiple hostnames or different paths per host, leave `defaultHost` unset and use `ingress.hosts` (each entry has `name` and `paths`). See the [NeMo Platform Helm Chart reference](/documentation/self-managed-deployment/helm/helm-reference) for the full structure. +**Advanced:** For multiple hostnames or different paths per host, leave `defaultHost` unset and use `ingress.hosts` (each entry has `name` and `paths`). See the [NeMo Platform Helm Chart reference](/documentation/kubernetes-deployment/helm/helm-reference) for the full structure. ## Gateway API HTTPRoute @@ -72,7 +72,7 @@ On clusters that use the [Gateway API](https://gateway-api.sigs.k8s.io/), you ca 2. Install or upgrade with this values file. The HTTPRoute will be created and bound to the specified Gateway(s). -For full option details (e.g. `filters`, `labels`, `annotations`), see the [NeMo Platform Helm Chart reference](/documentation/self-managed-deployment/helm/helm-reference). +For full option details (e.g. `filters`, `labels`, `annotations`), see the [NeMo Platform Helm Chart reference](/documentation/kubernetes-deployment/helm/helm-reference). ## OpenShift Route @@ -92,12 +92,12 @@ On Red Hat OpenShift you can expose the API using an [OpenShift Route](https://d 3. Install or upgrade with your values file. After installation, use the URL from the Helm notes (`helm status nemo-platform`) or the host you configured. -For all options (`targetPort`, `annotations`, `labels`), see the [NeMo Platform Helm Chart reference](/documentation/self-managed-deployment/helm/helm-reference). +For all options (`targetPort`, `annotations`, `labels`), see the [NeMo Platform Helm Chart reference](/documentation/kubernetes-deployment/helm/helm-reference). ## Related -- [Install](/documentation/self-managed-deployment/setup/helm/install) - Install steps and upgrade commands -- [OpenShift](/documentation/self-managed-deployment/setup/helm/openshift) - OpenShift: security context, and optional Route (`openshiftRoute.enabled`), Ingress, or HTTPRoute +- [Install](/documentation/kubernetes-deployment/setup/helm/install) - Install steps and upgrade commands +- [OpenShift](/documentation/kubernetes-deployment/setup/helm/openshift) - OpenShift: security context, and optional Route (`openshiftRoute.enabled`), Ingress, or HTTPRoute ## Cloud Provider Specific Ingress diff --git a/docs/set-up/helm/install.mdx b/docs/set-up/helm/install.mdx index 0473ffe224..75d1b05145 100644 --- a/docs/set-up/helm/install.mdx +++ b/docs/set-up/helm/install.mdx @@ -14,7 +14,7 @@ This setup deploys the full platform to Kubernetes. If you are just getting star -Complete [Prerequisites](/documentation/self-managed-deployment/setup/helm/prerequisites) before installing the chart. +Complete [Prerequisites](/documentation/kubernetes-deployment/setup/helm/prerequisites) before installing the chart. ## Set install variables @@ -96,7 +96,7 @@ helm show values "$NMP_HELM_CHART_REF" \ ## Configure values -At minimum, make sure the chart can use the image pull secret and NGC API secret from [Prerequisites](/documentation/self-managed-deployment/setup/helm/prerequisites): +At minimum, make sure the chart can use the image pull secret and NGC API secret from [Prerequisites](/documentation/kubernetes-deployment/setup/helm/prerequisites): ```yaml existingSecret: ngc-api @@ -105,14 +105,14 @@ imagePullSecrets: - name: nvcrimagepullsecret ``` -Review the [NeMo Platform Helm Chart reference](/documentation/self-managed-deployment/helm/helm-reference) before installing. The most common cluster-specific settings are: +Review the [NeMo Platform Helm Chart reference](/documentation/kubernetes-deployment/helm/helm-reference) before installing. The most common cluster-specific settings are: | Cluster type | What to configure | | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `minikube` or `kind` | Use for single-node smoke testing. Provide a StorageClass or static PersistentVolume that can satisfy the chart's shared PVC. Use port-forwarding or a local ingress addon to reach the API. | | EKS | Use an RWX storage backend such as Amazon EFS for `core.storage`, a PostgreSQL-ready StorageClass such as `gp3` for embedded PostgreSQL, and IRSA or Kubernetes secrets for S3 credentials if you store files in S3. | | AKS, GKE, OKE, or on-prem | Provide an RWX-capable StorageClass for shared jobs storage, configure an ingress or Gateway API route, and install the GPU and network operators required by your node pool. | -| OpenShift | Add the OpenShift security context overrides from [OpenShift](/documentation/self-managed-deployment/setup/helm/openshift). | +| OpenShift | Add the OpenShift security context overrides from [OpenShift](/documentation/kubernetes-deployment/setup/helm/openshift). | ### Local single-node clusters @@ -190,15 +190,15 @@ platformConfig: use_sdk_auth: true ``` -For multi-node GPU jobs on EKS, also configure EFA networking as described in [Multinode Networking](/documentation/self-managed-deployment/setup/helm/multinode-networking). +For multi-node GPU jobs on EKS, also configure EFA networking as described in [Multinode Networking](/documentation/kubernetes-deployment/setup/helm/multinode-networking). ## Cluster engines The chart does not install these. Install them before the workloads that need them: -- [Volcano](/documentation/self-managed-deployment/setup/helm/volcano), required for multi-node scheduling -- [Kyverno](/documentation/self-managed-deployment/setup/helm/multinode-networking), required for multi-node NCCL device injection -- [OpenSandbox](/documentation/self-managed-deployment/setup/helm/opensandbox) required for sandboxed GRPO; [Kata](/documentation/self-managed-deployment/setup/helm/opensandbox-kata) for VM-isolated sandboxes +- [Volcano](/documentation/kubernetes-deployment/setup/helm/volcano), required for multi-node scheduling +- [Kyverno](/documentation/kubernetes-deployment/setup/helm/multinode-networking), required for multi-node NCCL device injection +- [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/open-sandbox) required for sandboxed GRPO; [Kata](/documentation/kubernetes-deployment/setup/helm/opensandbox-kata) for VM-isolated sandboxes ## Install the chart @@ -349,4 +349,4 @@ Deleting CRDs removes all custom resources of those types cluster-wide. Only do ## Troubleshooting -See [Volcano](/documentation/self-managed-deployment/setup/helm/volcano) if the Volcano admission webhook blocks pod creation cluster-wide after you apply the Volcano installer. +See [Volcano](/documentation/kubernetes-deployment/setup/helm/volcano) if the Volcano admission webhook blocks pod creation cluster-wide after you apply the Volcano installer. diff --git a/docs/set-up/helm/network-policy-smoke-test.mdx b/docs/set-up/helm/network-policy-smoke-test.mdx index 66b82bbdaf..3dfa9a2fa5 100644 --- a/docs/set-up/helm/network-policy-smoke-test.mdx +++ b/docs/set-up/helm/network-policy-smoke-test.mdx @@ -82,6 +82,6 @@ create the pull secret. ## Next Steps -- Review the [Helm chart reference](/documentation/self-managed-deployment/helm/helm-reference) for the generated `networkPolicies` values. -- Continue with [Install](/documentation/self-managed-deployment/setup/helm/install) for production chart installation. -- Review [Security](/documentation/self-managed-deployment/setup/security) for broader deployment hardening. +- Review the [Helm chart reference](/documentation/kubernetes-deployment/helm/helm-reference) for the generated `networkPolicies` values. +- Continue with [Install](/documentation/kubernetes-deployment/setup/helm/install) for production chart installation. +- Review [Security](/documentation/kubernetes-deployment/setup/security) for broader deployment hardening. diff --git a/docs/set-up/helm/opensandbox-kata.mdx b/docs/set-up/helm/opensandbox-kata.mdx index e5fc74a00e..26387ce1ad 100644 --- a/docs/set-up/helm/opensandbox-kata.mdx +++ b/docs/set-up/helm/opensandbox-kata.mdx @@ -7,7 +7,7 @@ description: "Install Kata Containers and an OpenSandbox server that pins sandbo --- -Use this path when **sandboxed GRPO / NeMo Gym** sandbox pods must be isolated from the host kernel. We document **Kata QEMU** (`RuntimeClass/kata-qemu`) because it runs each sandbox in a QEMU VM with its own guest kernel. Other kernel-isolated runtimes (for example Kata Firecracker, or a different hardware-isolated RuntimeClass) may work the same way, but they have **not been tested** with NeMo Platform. **Kata is optional**; most installs only need the [shared-kernel OpenSandbox](/documentation/self-managed-deployment/setup/helm/opensandbox) path. This does **not** sandbox the rest of the platform (API, DPO, SFT, inference). +Use this path when **sandboxed GRPO / NeMo Gym** sandbox pods must be isolated from the host kernel. We document **Kata QEMU** (`RuntimeClass/kata-qemu`) because it runs each sandbox in a QEMU VM with its own guest kernel. Other kernel-isolated runtimes (for example Kata Firecracker, or a different hardware-isolated RuntimeClass) may work the same way, but they have **not been tested** with NeMo Platform. **Kata is optional**; most installs only need the [shared-kernel OpenSandbox](/documentation/kubernetes-deployment/setup/helm/open-sandbox) path. This does **not** sandbox the rest of the platform (API, DPO, SFT, inference). Complete the OpenSandbox namespace, Secret, and platform-values steps first; this page only adds virtualization prerequisites and the Kata server overlay. diff --git a/docs/set-up/helm/opensandbox.mdx b/docs/set-up/helm/opensandbox.mdx index 794730c215..244949620e 100644 --- a/docs/set-up/helm/opensandbox.mdx +++ b/docs/set-up/helm/opensandbox.mdx @@ -11,7 +11,7 @@ The NeMo Platform Helm chart does **not** install [OpenSandbox](https://github.c Install OpenSandbox when you run **sandboxed GRPO / NeMo Gym**: untrusted custom environment FileSets run in isolated pods, not in the training container. It does **not** sandbox the rest of the platform (API, DPO, SFT, inference). -This page is the **shared-kernel** path: sandbox pods use the cluster default OCI runtime. That is often **runc** (containerd) or **crun** (CRI-O, including OKE and OpenShift). **A kernel-isolated runtime is not required.** Use [OpenSandbox with Kata](/documentation/self-managed-deployment/setup/helm/opensandbox-kata) when those Gym/GRPO sandbox pods must be isolated from the host kernel. The documented path is Kata QEMU because it gives each sandbox its own guest kernel; other isolated runtimes may work but have not been tested. Example Helm values live in [`k8s/helm/examples/opensandbox/`](https://github.com/NVIDIA-NeMo/nemo-platform/tree/main/k8s/helm/examples/opensandbox). +This page is the **shared-kernel** path: sandbox pods use the cluster default OCI runtime. That is often **runc** (containerd) or **crun** (CRI-O, including OKE and OpenShift). **A kernel-isolated runtime is not required.** Use [OpenSandbox with Kata](/documentation/kubernetes-deployment/setup/helm/opensandbox-kata) when those Gym/GRPO sandbox pods must be isolated from the host kernel. The documented path is Kata QEMU because it gives each sandbox its own guest kernel; other isolated runtimes may work but have not been tested. Example Helm values live in [`k8s/helm/examples/opensandbox/`](https://github.com/NVIDIA-NeMo/nemo-platform/tree/main/k8s/helm/examples/opensandbox). OpenSandbox `[secure_runtime]` is **server-global**. One OpenSandbox server cannot mix shared-kernel and Kata, so point the platform at **one** Service DNS. The cluster keeps its default OCI runtime for every other workload. diff --git a/docs/set-up/helm/openshift.mdx b/docs/set-up/helm/openshift.mdx index fcf17340c6..dfdcada272 100644 --- a/docs/set-up/helm/openshift.mdx +++ b/docs/set-up/helm/openshift.mdx @@ -40,7 +40,7 @@ You can override the default values for the NeMo Platform chart to make it compa fsGroup: 999 ``` -2. **Install** with your custom values and the OpenShift overrides (order matters; later files override earlier). Complete the [Prerequisites](/documentation/self-managed-deployment/setup/helm/prerequisites) and follow [Install](/documentation/self-managed-deployment/setup/helm/install), using the provided OpenShift values file. +2. **Install** with your custom values and the OpenShift overrides (order matters; later files override earlier). Complete the [Prerequisites](/documentation/kubernetes-deployment/setup/helm/prerequisites) and follow [Install](/documentation/kubernetes-deployment/setup/helm/install), using the provided OpenShift values file. ```sh helm upgrade --install "$NMP_HELM_RELEASE" nemo-platform/nemo-platform \ @@ -55,9 +55,9 @@ You can override the default values for the NeMo Platform chart to make it compa You can expose the API using the following methods: -- **Kubernetes Ingress** - supported by OpenShift's default IngressController; set `ingress.enabled: true` and `ingress.defaultHost` as in [Ingress](/documentation/self-managed-deployment/setup/helm/ingress). -- **Gateway API HTTPRoute** - optional; configure `httpRoute` in values. See [Gateway API HTTPRoute](/documentation/self-managed-deployment/setup/helm/ingress#gateway-api-httproute). -- **OpenShift Route** - enable the chart's Route and set an optional hostname. See [OpenShift Route](/documentation/self-managed-deployment/setup/helm/ingress#openshift-route) for steps. +- **Kubernetes Ingress** - supported by OpenShift's default IngressController; set `ingress.enabled: true` and `ingress.defaultHost` as in [Ingress](/documentation/kubernetes-deployment/setup/helm/ingress). +- **Gateway API HTTPRoute** - optional; configure `httpRoute` in values. See [Gateway API HTTPRoute](/documentation/kubernetes-deployment/setup/helm/ingress#gateway-api-httproute). +- **OpenShift Route** - enable the chart's Route and set an optional hostname. See [OpenShift Route](/documentation/kubernetes-deployment/setup/helm/ingress#openshift-route) for steps. ## Troubleshooting diff --git a/docs/set-up/helm/persistent-volumes.mdx b/docs/set-up/helm/persistent-volumes.mdx index d1481b69b0..a4f09a8be7 100644 --- a/docs/set-up/helm/persistent-volumes.mdx +++ b/docs/set-up/helm/persistent-volumes.mdx @@ -19,7 +19,7 @@ The NeMo Platform chart creates a single shared PVC for jobs and files storage, -As an alternative to PVC-based file storage, you can configure the Files service to use S3 object storage. See [File Storage](/documentation/self-managed-deployment/setup/helm/file-storage) for S3 configuration options. When using S3 for files, the shared PVC is still required for jobs storage. +As an alternative to PVC-based file storage, you can configure the Files service to use S3 object storage. See [File Storage](/documentation/kubernetes-deployment/setup/helm/file-storage) for S3 configuration options. When using S3 for files, the shared PVC is still required for jobs storage. ### Option 1: Create a new PVC (default) @@ -70,7 +70,7 @@ platformConfig: Replace `"nfs"` with your StorageClass name (e.g. `oci-nfs`, `gp3`). For NIM scaling and multi-node deployments, use a ReadWriteMany-capable StorageClass. -Refer to the [platform configuration documentation](/documentation/self-managed-deployment/config-reference) for the full config reference. +Refer to the [platform configuration documentation](/documentation/kubernetes-deployment/config-reference) for the full config reference. ## Persistent volume options diff --git a/docs/set-up/helm/prerequisites.mdx b/docs/set-up/helm/prerequisites.mdx index 3954012229..6fb4bba072 100644 --- a/docs/set-up/helm/prerequisites.mdx +++ b/docs/set-up/helm/prerequisites.mdx @@ -24,7 +24,7 @@ export NMP_NAMESPACE=nemo-platform kubectl create namespace "$NMP_NAMESPACE" ``` -Review the [system requirements](/documentation/reference/system-requirements) before choosing node types. For storage and persistent volume configuration, including ReadWriteMany and StorageClass requirements, see [Persistent Volumes](/documentation/self-managed-deployment/setup/helm/persistent-volumes). +Review the [system requirements](/documentation/reference/system-requirements) before choosing node types. For storage and persistent volume configuration, including ReadWriteMany and StorageClass requirements, see [Persistent Volumes](/documentation/kubernetes-deployment/setup/helm/persistent-volumes). ## Cluster requirements @@ -36,7 +36,7 @@ The chart can run on local or managed Kubernetes clusters when the required stor | `kind` | Single-node smoke testing. Provide a static PersistentVolume or StorageClass for the shared PVC and use port-forwarding for API access. | | EKS | Configure EFS or another RWX storage backend for shared jobs storage. Use GPU node groups and NVIDIA GPU Operator or device plugin for GPU workloads. Configure EFA only for multi-node GPU jobs. | | AKS, GKE, OKE, or on-prem | Configure an RWX-capable StorageClass, GPU node support, ingress or Gateway API, and any cloud-specific high-performance networking before enabling multi-node jobs. | -| OpenShift | Apply the OpenShift security context overrides in [OpenShift](/documentation/self-managed-deployment/setup/helm/openshift). | +| OpenShift | Apply the OpenShift security context overrides in [OpenShift](/documentation/kubernetes-deployment/setup/helm/openshift). | ## Create NGC API key and secrets diff --git a/docs/set-up/helm/volcano.mdx b/docs/set-up/helm/volcano.mdx index a21d465ad9..d79bc5fe9e 100644 --- a/docs/set-up/helm/volcano.mdx +++ b/docs/set-up/helm/volcano.mdx @@ -11,7 +11,7 @@ The NeMo Platform Helm chart does **not** install [Volcano](https://volcano.sh/e The chart grants the core controller Volcano RBAC when `rbac.volcanoEnabled` is `true` (the default). -Job-level knobs (`queue`, `scheduler_name`, `plugins`) are documented in [Manage Jobs](/documentation/self-managed-deployment/setup/jobs). Multi-node NCCL injection still requires [Kyverno](/documentation/self-managed-deployment/setup/helm/multinode-networking) in addition to Volcano. +Job-level knobs (`queue`, `scheduler_name`, `plugins`) are documented in [Manage Jobs](/documentation/kubernetes-deployment/setup/jobs). Multi-node NCCL injection still requires [Kyverno](/documentation/kubernetes-deployment/setup/helm/multinode-networking) in addition to Volcano. ## Install diff --git a/docs/set-up/index.mdx b/docs/set-up/index.mdx index a00ba0eba3..6d9bfce730 100644 --- a/docs/set-up/index.mdx +++ b/docs/set-up/index.mdx @@ -33,7 +33,7 @@ The following sections provide detailed instructions on how to deploy the NeMo P - + Install NeMo Platform with Helm on a Kubernetes cluster. @@ -51,12 +51,12 @@ Review and manage other cluster settings. - + Review and configure how NeMo Platform uses OpenTelemetry for observability. - + Review and configure how NeMo Platform uses Milvus for vector database storage. diff --git a/docs/set-up/manage-jobs.mdx b/docs/set-up/manage-jobs.mdx index 9240459275..c3c21bae87 100644 --- a/docs/set-up/manage-jobs.mdx +++ b/docs/set-up/manage-jobs.mdx @@ -51,7 +51,7 @@ jobs: node-pool-name: h200-pool ``` -For full configuration details, see the [platform configuration reference](/documentation/self-managed-deployment/config-reference). +For full configuration details, see the [platform configuration reference](/documentation/kubernetes-deployment/config-reference). ### Default Execution Profiles @@ -60,7 +60,7 @@ The NeMo Platform defines a default execution profile for each execution backend - Default CPU Execution Profile (`cpu`): The default execution profile for CPU based jobs. - Default GPU Execution Profile (`gpu`): The default execution profile for GPU based jobs. -You may configure the default execution profiles by updating the `executor_defaults` section of the `jobs` section of the [platform configuration](/documentation/self-managed-deployment/config-reference). The structure of the `executor_defaults` matches the configuration of the execution backend configuration. +You may configure the default execution profiles by updating the `executor_defaults` section of the `jobs` section of the [platform configuration](/documentation/kubernetes-deployment/config-reference). The structure of the `executor_defaults` matches the configuration of the execution backend configuration. ```yaml jobs: @@ -214,7 +214,7 @@ See the [KAI Scheduler documentation](https://github.com/kai-scheduler/KAI-Sched ### Volcano Jobs -The NeMo Platform supports Volcano Jobs as an execution backend for launching distributed GPU jobs. Install Volcano as a cluster engine; see [Volcano](/documentation/self-managed-deployment/setup/helm/volcano). +The NeMo Platform supports Volcano Jobs as an execution backend for launching distributed GPU jobs. Install Volcano as a cluster engine; see [Volcano](/documentation/kubernetes-deployment/setup/helm/volcano). Volcano Jobs are configured using the same configuration as Kubernetes Jobs, but with the following additional configuration: @@ -222,7 +222,7 @@ Volcano Jobs are configured using the same configuration as Kubernetes Jobs, but - `scheduler_name`: The Volcano scheduler to use for the job. - `plugins`: The Volcano plugins to use for the job. - `max_retry`: The maximum number of retries for the job. -- `enable_multi_node_networking`: Enable multi-node networking injection. Sets annotations to trigger Kyverno policy mutations. This is only available if the platform is configured to use multi-node networking (see [Multi-Node Networking](/documentation/self-managed-deployment/setup/helm/multinode-networking)). +- `enable_multi_node_networking`: Enable multi-node networking injection. Sets annotations to trigger Kyverno policy mutations. This is only available if the platform is configured to use multi-node networking (see [Multi-Node Networking](/documentation/kubernetes-deployment/setup/helm/multinode-networking)). ```yaml jobs: diff --git a/docs/set-up/milvus.mdx b/docs/set-up/milvus.mdx index 95b144171a..e11d85afcf 100644 --- a/docs/set-up/milvus.mdx +++ b/docs/set-up/milvus.mdx @@ -11,11 +11,11 @@ NeMo Evaluator uses Milvus for vector database storage for [Retrieval evaluation ## Configuration -To configure NeMo Evaluator to use Milvus, set the `milvus_url` in the [platform configuration](/documentation/self-managed-deployment/config-reference): +To configure NeMo Evaluator to use Milvus, set the `milvus_url` in the [platform configuration](/documentation/kubernetes-deployment/config-reference): ```yaml evaluator: milvus_url: "milvus-standalone.default.svc.cluster.local:19530" ``` -See the [platform configuration reference](/documentation/self-managed-deployment/config-reference) for the complete NeMo Evaluator configuration reference. +See the [platform configuration reference](/documentation/kubernetes-deployment/config-reference) for the complete NeMo Evaluator configuration reference. diff --git a/docs/set-up/opentelemetry.mdx b/docs/set-up/opentelemetry.mdx index ded7b89f81..89b0115b51 100644 --- a/docs/set-up/opentelemetry.mdx +++ b/docs/set-up/opentelemetry.mdx @@ -25,4 +25,4 @@ telemetry: OTEL_EXPORTER_OTLP_INSECURE: true ``` -For a complete list of the default values, refer to [Helm Configuration](/documentation/self-managed-deployment/helm/helm-reference). +For a complete list of the default values, refer to [Helm Configuration](/documentation/kubernetes-deployment/helm/helm-reference). diff --git a/docs/support-matrix.mdx b/docs/support-matrix.mdx index 770c6bbc16..2a5bf161b3 100644 --- a/docs/support-matrix.mdx +++ b/docs/support-matrix.mdx @@ -20,7 +20,7 @@ self-managed Kubernetes deployments installed with the NeMo Platform Helm chart. | macOS | [macOS Tahoe 26](https://support.apple.com/en-us/122868) and macOS Sequoia 15 | Supported for CLI, SDK, local services, and cloud/provider workflows. Local NVIDIA GPU workloads are not supported on macOS. | | Architecture | x86_64 Linux; Apple Silicon and Intel macOS | NVIDIA GPU workloads require x86_64 Linux. | | Windows and WSL | Not supported for the OSS local install path | Use a supported Linux or macOS host for the local install path. | -| Kubernetes clusters | minikube, kind, EKS, AKS, GKE, OKE, OpenShift, and on-prem Kubernetes | See [Install NeMo Platform with Helm](/documentation/self-managed-deployment/helm) for prerequisites and cluster-specific notes. | +| Kubernetes clusters | minikube, kind, EKS, AKS, GKE, OKE, OpenShift, and on-prem Kubernetes | See [Install NeMo Platform with Helm](/documentation/kubernetes-deployment/setup/helm) for prerequisites and cluster-specific notes. | ## Local Runtime diff --git a/k8s/helm/README.md b/k8s/helm/README.md index 55960dccbc..11aba5827f 100644 --- a/k8s/helm/README.md +++ b/k8s/helm/README.md @@ -6,7 +6,7 @@ ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) Documentation can be found at: https://docs.nvidia.com/nemo-platform. -For deployment instructions, see https://docs.nvidia.com/nemo-platform/documentation/self-managed-deployment/setup. +For deployment instructions, see https://docs.nvidia.com/nemo-platform/documentation/kubernetes-deployment/setup. ## Platform Secrets Encryption Key @@ -124,7 +124,7 @@ and The chart does not install Kyverno. Multi-node NCCL device injection renders ClusterPolicies that Kyverno must apply. Enable exactly one cloud provider under `multinodeNetworking`. -How-to: https://docs.nvidia.com/nemo-platform/latest/documentation/self-managed-deployment/setup/helm/multinode-networking +How-to: https://docs.nvidia.com/nemo-platform/latest/documentation/kubernetes-deployment/setup/helm/multinode-networking ## Volcano @@ -132,7 +132,7 @@ The chart does not install Volcano. Multi-node `volcano_job` workloads need it. `rbac.volcanoEnabled` defaults to true so the core controller can manage Volcano CRs. Skip Volcano and set `rbac.volcanoEnabled: false` if you are not running those jobs. -How-to: https://docs.nvidia.com/nemo-platform/latest/documentation/self-managed-deployment/setup/helm/volcano +How-to: https://docs.nvidia.com/nemo-platform/latest/documentation/kubernetes-deployment/setup/helm/volcano ## OpenSandbox @@ -144,9 +144,9 @@ already installed server as an HTTP client (`OPEN_SANDBOX_DOMAIN`, namespace**. Control plane may stay in `opensandbox-system`. Copy the API-key Secret into the job namespace. -Example overlays: [examples/opensandbox](examples/opensandbox). -Shared-kernel (cluster default OCI runtime): https://docs.nvidia.com/nemo-platform/latest/documentation/self-managed-deployment/setup/helm/opensandbox -Kata QEMU: https://docs.nvidia.com/nemo-platform/latest/documentation/self-managed-deployment/setup/helm/opensandbox-kata +Example overlays: [k8s/helm/examples/opensandbox](https://github.com/NVIDIA-NeMo/nemo-platform/tree/main/k8s/helm/examples/opensandbox). +Shared-kernel (cluster default OCI runtime): https://docs.nvidia.com/nemo-platform/latest/documentation/kubernetes-deployment/setup/helm/open-sandbox +Kata QEMU: https://docs.nvidia.com/nemo-platform/latest/documentation/kubernetes-deployment/setup/helm/opensandbox-kata ## NetworkPolicies @@ -437,7 +437,7 @@ For the complete default values, see [values.yaml](values.yaml). | ncclTest.iterations | int | `3` | How many times to run the full multinode NCCL test (orchestrator loop; env NCCL_TEST_ITERATIONS). Increase the test timeout on helm test if increasing this variable | | ncclTest.validation.minBandwidthMBpsAt1024MB | int | `8000` | Minimum allreduce bandwidth (MB/s) at 1024MB message size; 0 disables the floor check in nccl_test.py. | | ncclTest.waitTimeoutSeconds | int | `900` | Max seconds to wait for each worker pod to complete. | -| networkPolicies | object | [See values.yaml](values.yaml#L143) | NetworkPolicy configuration. Enable the top-level switch to render all default policies, then disable individual policies only for cluster-specific exceptions. For a Calico-backed smoke test, see https://docs.nvidia.com/nemo-platform/documentation/self-managed-deployment/setup/helm/network-policy-smoke-test. | +| networkPolicies | object | [See values.yaml](values.yaml#L143) | NetworkPolicy configuration. Enable the top-level switch to render all default policies, then disable individual policies only for cluster-specific exceptions. For a Calico-backed smoke test, see https://docs.nvidia.com/nemo-platform/documentation/kubernetes-deployment/setup/helm/network-policy-smoke-test. | | networkPolicies.api | object | [See values.yaml](values.yaml#L148) | NetworkPolicy configuration for the Platform API pods. | | networkPolicies.api.enabled | bool | `true` | Create NetworkPolicy resources that isolate Platform API pod ingress. | | networkPolicies.api.extraIngress | list | `[]` | Extra NetworkPolicy ingress rules appended to the API policy, for cluster-specific ingress controllers, gateways, monitoring, or debugging pods. | diff --git a/k8s/helm/examples/opensandbox/README.md b/k8s/helm/examples/opensandbox/README.md index f0d344bc1a..74c6e409f5 100644 --- a/k8s/helm/examples/opensandbox/README.md +++ b/k8s/helm/examples/opensandbox/README.md @@ -17,8 +17,8 @@ sandbox pods must be isolated from the host kernel. The documented example is Kata QEMU because it runs each sandbox in a VM with its own guest kernel; other isolated runtimes may work but have not been tested. -Full procedure: [OpenSandbox](https://docs.nvidia.com/nemo-platform/latest/documentation/self-managed-deployment/setup/helm/opensandbox) -and [OpenSandbox with Kata](https://docs.nvidia.com/nemo-platform/latest/documentation/self-managed-deployment/setup/helm/opensandbox-kata) +Full procedure: [OpenSandbox](https://docs.nvidia.com/nemo-platform/latest/documentation/kubernetes-deployment/setup/helm/open-sandbox) +and [OpenSandbox with Kata](https://docs.nvidia.com/nemo-platform/latest/documentation/kubernetes-deployment/setup/helm/opensandbox-kata) in the NeMo Platform documentation. `helm show readme` of this chart points at those pages. diff --git a/k8s/helm/helm-docs-template/nemo-helm-readme.md.gotmpl b/k8s/helm/helm-docs-template/nemo-helm-readme.md.gotmpl index c5e372dbf8..31897897bb 100644 --- a/k8s/helm/helm-docs-template/nemo-helm-readme.md.gotmpl +++ b/k8s/helm/helm-docs-template/nemo-helm-readme.md.gotmpl @@ -6,7 +6,7 @@ {{ template "chart.typeBadge" . }} Documentation can be found at: https://docs.nvidia.com/nemo-platform. -For deployment instructions, see https://docs.nvidia.com/nemo-platform/documentation/self-managed-deployment/setup. +For deployment instructions, see https://docs.nvidia.com/nemo-platform/documentation/kubernetes-deployment/setup. ## Platform Secrets Encryption Key @@ -124,7 +124,7 @@ and The chart does not install Kyverno. Multi-node NCCL device injection renders ClusterPolicies that Kyverno must apply. Enable exactly one cloud provider under `multinodeNetworking`. -How-to: https://docs.nvidia.com/nemo-platform/latest/documentation/self-managed-deployment/setup/helm/multinode-networking +How-to: https://docs.nvidia.com/nemo-platform/latest/documentation/kubernetes-deployment/setup/helm/multinode-networking ## Volcano @@ -132,7 +132,7 @@ The chart does not install Volcano. Multi-node `volcano_job` workloads need it. `rbac.volcanoEnabled` defaults to true so the core controller can manage Volcano CRs. Skip Volcano and set `rbac.volcanoEnabled: false` if you are not running those jobs. -How-to: https://docs.nvidia.com/nemo-platform/latest/documentation/self-managed-deployment/setup/helm/volcano +How-to: https://docs.nvidia.com/nemo-platform/latest/documentation/kubernetes-deployment/setup/helm/volcano ## OpenSandbox @@ -144,9 +144,9 @@ already installed server as an HTTP client (`OPEN_SANDBOX_DOMAIN`, namespace**. Control plane may stay in `opensandbox-system`. Copy the API-key Secret into the job namespace. -Example overlays: [examples/opensandbox](examples/opensandbox). -Shared-kernel (cluster default OCI runtime): https://docs.nvidia.com/nemo-platform/latest/documentation/self-managed-deployment/setup/helm/opensandbox -Kata QEMU: https://docs.nvidia.com/nemo-platform/latest/documentation/self-managed-deployment/setup/helm/opensandbox-kata +Example overlays: [k8s/helm/examples/opensandbox](https://github.com/NVIDIA-NeMo/nemo-platform/tree/main/k8s/helm/examples/opensandbox). +Shared-kernel (cluster default OCI runtime): https://docs.nvidia.com/nemo-platform/latest/documentation/kubernetes-deployment/setup/helm/open-sandbox +Kata QEMU: https://docs.nvidia.com/nemo-platform/latest/documentation/kubernetes-deployment/setup/helm/opensandbox-kata ## NetworkPolicies diff --git a/k8s/helm/templates/NOTES.txt b/k8s/helm/templates/NOTES.txt index b46e393d8f..09c537a238 100644 --- a/k8s/helm/templates/NOTES.txt +++ b/k8s/helm/templates/NOTES.txt @@ -159,6 +159,6 @@ Successfully installed {{ .Chart.Name }}-{{ .Chart.Version }}, named {{ .Release OPEN_SANDBOX_DOMAIN={{ .Values.opensandbox.domain }} over {{ .Values.opensandbox.protocol }}. Copy Secret {{ .Values.opensandbox.apiKeySecret }} into this release namespace. The chart does not install OpenSandbox. See helm show readme and - https://docs.nvidia.com/nemo-platform/latest/documentation/self-managed-deployment/setup/helm/opensandbox + https://docs.nvidia.com/nemo-platform/latest/documentation/kubernetes-deployment/setup/helm/open-sandbox {{- end }} diff --git a/k8s/helm/values.yaml b/k8s/helm/values.yaml index d16d46e471..77a5208290 100644 --- a/k8s/helm/values.yaml +++ b/k8s/helm/values.yaml @@ -138,7 +138,7 @@ multinodeNetworking: # -- Number of RDMA devices (mlnxnics) to request per GPU rdmaDevicesPerGPU: 8 -# -- NetworkPolicy configuration. Enable the top-level switch to render all default policies, then disable individual policies only for cluster-specific exceptions. For a Calico-backed smoke test, see https://docs.nvidia.com/nemo-platform/documentation/self-managed-deployment/setup/helm/network-policy-smoke-test. +# -- NetworkPolicy configuration. Enable the top-level switch to render all default policies, then disable individual policies only for cluster-specific exceptions. For a Calico-backed smoke test, see https://docs.nvidia.com/nemo-platform/documentation/kubernetes-deployment/setup/helm/network-policy-smoke-test. # @default -- This object has the following default values. The top-level switch is disabled by default so chart upgrades do not change cluster connectivity unless explicitly enabled. networkPolicies: # -- Create NetworkPolicy resources for enabled subpolicies.