diff --git a/docs/apps/compute.mdx b/docs/apps/compute.mdx
index 2c79438..5fde1c2 100644
--- a/docs/apps/compute.mdx
+++ b/docs/apps/compute.mdx
@@ -24,6 +24,11 @@ To deploy an image from a private registry (e.g., Amazon ECR, Google Artifact Re
Enter your SSH public key to configure access to the instance, select a GPU instance type, and click Deploy.
+Optional settings on the create form:
+
+- **Enable logging** — collect container output and show it on the deployment **Logs** tab.
+- **Annotations** — optional key/value metadata on the instance.
+
@@ -74,16 +79,22 @@ The interactive shell depends on what your image provides:
The instance includes the libraries from your image. Additional packages can be installed with your preferred package manager.
+### In-console Terminal
+
+While the instance is **Active**, the deployment **Terminal** tab opens a shell in the browser without SSH from your machine. Use SSH (above) for `scp`/`SFTP` and port forwarding. See [Managing Deployments](/resources/managing_deployments) for Terminal availability, pause/resume, clone, and logs.
+
+Compute deployments are not revision-aware in the console: edits update the instance in place and there is no rollback table.
+
## What's next
- Learn how to interact with the NVIDIA CCluster programmatically
+ In-console Terminal, logs, pause, and clone.
+Changing worker **Min Replicas** or **Max Replicas** on a running Dynamo deployment scales in place and **does not create a new revision**. Editing the spec (model, protocol, extra arguments, and similar) creates a new revision. See [Managing Deployments](/resources/managing_deployments) for Terminal, pause/resume, clone, and the shared revision model.
+
+
+Editing a Dynamo deployment creates a new revision and starts an operator-managed rolling update. You can inspect historical revision status and logs, clone a deployment, or roll back to an earlier revision. Pausing or resuming the whole deployment is supported; pausing only an in-progress Dynamo rollout is not.
The console's **Edit** and **Clone** flows currently support aggregated deployments only. For a disaggregated deployment, use the Dynamo API to update supported fields or create a copy from the `worker_pools` configuration returned by the API.
@@ -190,11 +194,11 @@ The current integration has a single Frontend and does not expose Frontend high
- Protect your endpoint with a Bearer token or mTLS client certificate.
+ Terminal, pause, clone, revisions, and replica scaling.
+Changing min or max replica counts on a running deployment scales in place and **does not create a new revision**. Spec changes such as image, command, or affinity do. See [Managing Deployments](/resources/managing_deployments).
+
@@ -109,6 +132,8 @@ Click on the deployment to view the details page, logs and monitoring informatio
+From the detail page you can stream **Logs**, open the in-browser **Terminal** while the deployment is Active, pause or resume, clone, edit (which creates a new revision), or roll back. See [Managing Deployments](/resources/managing_deployments).
+
Once the deployment status is ready, the container port is going to be exposed under the endpoint url shown in the details page.
### Accessing your endpoint
@@ -140,6 +165,13 @@ For gRPC deployments, see [gRPC Inference Endpoints](/resources/grpc) for connec
## What's next
+
+ Logs, Terminal, pause, clone, revisions, and replica scaling.
+
Learn how to protect your endpoints with Bearer tokens and mTLS certificates
-
- Learn how to interact with the NVIDIA CCluster programmatically
-
The environment variable names `JOB_COMPLETION_INDEX` and `JOB_COMPLETIONS` are reserved by the platform and cannot be used for your own variables. CCluster runs jobs in **indexed** completion mode and automatically injects both variables into every replica so each one can determine which slice of work it owns:
@@ -49,7 +50,7 @@ You can integrate your own private cluster into CCluster through bring-your-own-
## 4. Monitor your job
-Once created, your job appears in the deployments listing view alongside its current status. Click into the job to view its details page, including per-pod status and, when **Enable logging** is turned on, the logs from each pod.
+Once created, your job appears in the deployments listing view alongside its current status. Click into the job to view its details page, including per-pod status and, when **Enable logging** is turned on, the logs from each pod. While pods are running, the **Terminal** tab opens an in-browser shell. Jobs are not revision-aware and have no pause/resume or replica autoscaling. See [Managing Deployments](/resources/managing_deployments).
Because jobs are batch workloads, there is no endpoint to call — the job runs until your container exits. A job is considered complete once the requested number of **Completions** finish successfully, and failed pods are retried up to the **Backoff Limit** (or until the **Active Deadline Seconds** is reached).
@@ -57,11 +58,11 @@ Because jobs are batch workloads, there is no endpoint to call — the job runs
- Deploy long-running, scalable inference endpoints for your models.
+ Follow logs and use the in-console Terminal while the job is running.
+Scaling min or max replicas on a running deployment does **not** create a new revision. Changing the serving spec does. See [Managing Deployments](/resources/managing_deployments).
+
+
### (Optional) Performance customization
For advanced users, NVIDIA CCluster also offers an option to customize their model performance configuration. Simply click the "Custom" configuration to gain full control over several tunable parameters.
## 3. Deploy and integrate
Finally, click "Deploy". Once the deployment is ready in a few minutes, copy the endpoint url and go to `https:///docs` to find the list of API endpoints to start using your LLM deployment. We offer API compatibility with CServe, OpenAI, and Cortex, making integration with other applications seamless.
+From the deployment detail page you can stream logs, open the in-browser **Terminal**, pause or resume, clone, edit (new revision), or roll back. See [Managing Deployments](/resources/managing_deployments).
+
Endpoints are never public, so every request must authenticate with a Bearer token or a client certificate. The example below uses a Bearer token; see [Securing Endpoints](/resources/private) for all options.
```bash
@@ -77,11 +100,11 @@ For more details on how to use the LLM deployment, please refer to the [examples
- Learn how to interact with the NVIDIA CCluster programmatically
+ Logs, Terminal, pause, clone, revisions, and replica scaling.
+The Terminal is available only while the deployment status is **Active**. For batch jobs, it is available while job pods are running. It disappears when the deployment is paused, completed, or no longer Active.
+
+
+The shell you get depends on the image, the same as SSH on Compute:
+
+| Image | Shell in the Terminal |
+| --- | --- |
+| Images with `bash` (for example Ubuntu, Debian, NGC images) | `bash` |
+| Images with only `sh` (for example Alpine) | `/bin/sh` |
+| Images without a shell (for example distroless) | No interactive shell |
+
+For Compute instances, the Terminal does **not** replace SSH. Use [SSH](/apps/compute) from your machine when you need `scp`/`SFTP`, port forwarding, or a persistent local session. Use the in-console Terminal for a short interactive session.
+
+## Pause and resume
+
+On the deployment detail page you can **Pause** an Active deployment or **Resume** a paused one. Pausing stops serving (or stops the Compute instance) without deleting the deployment.
+
+- **LLM Serving**, **General Inference**, **Compute**: pause and resume the whole deployment.
+- **Dynamo**: pause and resume the whole deployment. You cannot pause only an in-progress Dynamo rollout. See [NVIDIA Dynamo](/apps/dynamo).
+- **Jobs**: jobs run to completion and then stop. Pause and resume do not apply.
+
+You can also pause and resume from the CLI (`ccluster pause` / `ccluster resume`). See [Client Setup](/clients/setup).
+
+## Clone and edit
+
+**Clone** opens the create form prefilled from an existing deployment (the name typically gets a `-clone` suffix). Review hardware, secrets, and tokens before you deploy the copy — cloned credentials such as Hugging Face tokens may need to be selected again.
+
+**Edit** (update) changes the running deployment. On revision-aware types, spec edits create a **new revision** and start a rollout. Compute and jobs are not revision-aware in the console: an edit updates the deployment without a revision table or rollback UI.
+
+## Revisions, rollback, and rollout
+
+**LLM Serving**, **General Inference**, and **Dynamo** are revision-aware. The **Detail** tab lists revisions so you can inspect status and logs per revision and **roll back** to an earlier revision.
+
+**Compute** and **Jobs** do not expose a revision table or rollback in the console.
+
+When you edit a revision-aware deployment that is already Active, you can set rollout surge:
+
+| Setting | Description |
+| --- | --- |
+| **Max surge** | Extra replicas allowed above the desired count during the rollout. |
+| **Max unavailable** | Replicas that may be unavailable during the rollout. |
+
+Neither value can exceed the deployment's max replica count. Dynamo rollouts are operator-managed; see [NVIDIA Dynamo](/apps/dynamo) for Dynamo-specific behavior.
+
+### Scaling replicas does not create a revision
+
+
+Changing **Min Replicas** or **Max Replicas** (scaling up or down) updates the running deployment in place and **does not create a new revision**.
+
+
+A new revision is created when you change the deployment **spec** — for example image, command, environment variables, session affinity, model caching, or a config file — on a revision-aware type.
+
+Rollback restores an earlier **spec** revision. It does not undo a replica-count change. To undo a scale-up or scale-down, set the replica fields back to the values you want.
+
+## Logs
+
+Logs appear on the **Logs** tab when **Enable logging** was on for that revision (or for the deployment, on types without revisions). Historical revisions keep the logs collected while they ran. If logging was off, the Logs tab has nothing to show for that revision.
+
+On Dynamo, pick a Frontend or Worker pod; replica counts are reported per component. See [NVIDIA Dynamo](/apps/dynamo).
+
+## What each deployment type supports
+
+| Action | LLM Serving | General Inference | Dynamo | Compute | Jobs |
+| --- | --- | --- | --- | --- | --- |
+| Logs | Yes, if logging is enabled | Yes, if logging is enabled | Yes, if logging is enabled | Yes, if logging is enabled | Yes, if logging is enabled |
+| Terminal | While **Active** | While **Active** | While **Active** | While **Active** | While pods are running |
+| Pause / resume | Yes | Yes | Whole deployment only | Yes | Not applicable |
+| Clone | Yes | Yes | Yes | Yes | Yes |
+| Edit | New revision | New revision | New revision | In-place update | In-place update |
+| Revision table / rollback | Yes | Yes | Yes | No | No |
+| Change rollout (`max_surge` / `max_unavailable`) | Yes | Yes | Operator-managed | No | No |
+| Scale replicas without a new revision | Yes | Yes | Yes | Not a multi-replica serving deployment | Not applicable |
+
+## What's next
+
+
+
+ Configure logging, affinity, caching, config files, and autoscaling when you create an endpoint.
+
+
+ Deploy a dedicated LLM endpoint, then operate it from the detail page.
+
+
+ Use SSH from your machine or the in-console Terminal on an Active instance.
+
+
diff --git a/sidebars.js b/sidebars.js
index 009ac82..6c01357 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -38,6 +38,7 @@ const sidebars = {
items: [
{ type: 'doc', id: 'resources/custom_image', customProps: { icon: 'screwdriver-wrench' } },
{ type: 'doc', id: 'resources/hardware_instances', customProps: { icon: 'server' } },
+ { type: 'doc', id: 'resources/managing_deployments', customProps: { icon: 'sliders' } },
{ type: 'doc', id: 'resources/grpc', customProps: { icon: 'waypoints' } },
{ type: 'doc', id: 'resources/nim', customProps: { icon: 'box-open-full' } },
{ type: 'doc', id: 'resources/trtllm', customProps: { icon: 'gauge' } },
diff --git a/src/icons.js b/src/icons.js
index 679dc9f..8071328 100644
--- a/src/icons.js
+++ b/src/icons.js
@@ -23,6 +23,7 @@ import {
Bot,
Server,
Gauge,
+ SlidersHorizontal,
} from 'lucide-react';
// Single source of truth for icon names → Lucide components, shared by the
@@ -56,6 +57,7 @@ const icons = {
bot: Bot,
server: Server,
gauge: Gauge,
+ sliders: SlidersHorizontal,
};
export function renderIcon(name, {size = 16, strokeWidth = 1.75} = {}) {