|
| 1 | +<a id="deployment-presets"></a> |
| 2 | + |
| 3 | +# Deployment Presets |
| 4 | + |
| 5 | +A **Deployment Preset** is a reusable, administrator-curated bundle of deployment settings — image, runtime, resource slots, cluster mode, environment variables, startup command, replica count, visibility, and other defaults — that end users can apply when they create a model deployment from a storage folder. Presets let administrators publish a small set of vetted, known-good deployment shapes (for example, *vLLM-GPU-Large* or *SGLang-CPU-Small*) so that end users can deploy a model without having to choose every advanced field from scratch. |
| 6 | + |
| 7 | + |
| 8 | +<!-- TODO: Capture screenshot of the deployment preset list (user view) --> |
| 9 | + |
| 10 | +:::info |
| 11 | +Deployment Presets are part of the Model Serving feature set introduced in version 26.4. Cross-references to preset-aware revision creation are documented in the [Model Serving](#model-serving) page. |
| 12 | +::: |
| 13 | + |
| 14 | +## What Is a Deployment Preset? |
| 15 | + |
| 16 | +A Deployment Preset captures the defaults of a model deployment so that: |
| 17 | + |
| 18 | +- **Administrators** can offer end users a curated catalog of deployment shapes that match the organization's hardware and policy constraints. |
| 19 | +- **End users** can pick a preset when deploying a model from the Data page (via the *Create New Deployment with Preset* flow) and skip filling in advanced fields manually. |
| 20 | +- **Operators** can ensure that production deployments use consistent resource allocations, runtimes, and visibility defaults across the organization. |
| 21 | + |
| 22 | +When a deployment is created from a preset, the preset's values pre-populate the deployment launcher fields. Users can still review and adjust those fields before confirming the deployment. |
| 23 | + |
| 24 | +Each preset stores the following deployment defaults: |
| 25 | + |
| 26 | +- **Basic Info**: Name, description, runtime variant, rank (display ordering). |
| 27 | +- **Image**: The container image to deploy. |
| 28 | +- **Resources**: Resource slots (CPU, memory, GPU), shared memory (SHM), and resource options. |
| 29 | +- **Cluster**: Cluster mode (Single-Node or Multi-Node) and cluster size. |
| 30 | +- **Execution**: Startup command, environment variables, and bootstrap script. |
| 31 | +- **Deployment Defaults**: Replica count, revision history limit, and the *Open to Public* visibility default. |
| 32 | +- **Advanced**: Model definition JSON (when needed for a custom runtime). |
| 33 | + |
| 34 | +## (Admin) Manage Deployment Presets |
| 35 | + |
| 36 | +Administrators manage deployment presets from the admin Model Serving area on the **Deployment Presets** tab. |
| 37 | + |
| 38 | + |
| 39 | +<!-- TODO: Capture screenshot of the admin deployment preset list --> |
| 40 | + |
| 41 | +The list view shows each preset with its name, runtime, image, rank, and key resource fields. From this list, administrators can: |
| 42 | + |
| 43 | +- Filter presets by name, runtime, or tag. |
| 44 | +- Click a tag chip on any row to filter the list to presets sharing that tag. |
| 45 | +- Open a preset's detail view to inspect its full configuration. |
| 46 | +- Create, edit, or delete a preset. |
| 47 | + |
| 48 | +### Create a Deployment Preset |
| 49 | + |
| 50 | +1. Click the **Create Preset** button at the top right of the preset list. |
| 51 | +2. Fill in the fields in the *Create Preset* dialog. The dialog is organized into the following sections: |
| 52 | + |
| 53 | + - **Basic Info**: |
| 54 | + * **Name**: A unique preset name (for example, `vLLM-GPU-Large`). |
| 55 | + * **Description**: A short summary of the preset's intended use. |
| 56 | + * **Runtime**: The runtime variant (for example, vLLM, SGLang, or Custom). |
| 57 | + * **Rank**: Display ordering among presets of the same runtime. Lower values appear first. |
| 58 | + - **Image**: The container image to use when deploying. |
| 59 | + - **Resources**: Resource slots (CPU, memory, GPU), shared memory, and resource options (key/value pairs). |
| 60 | + - **Cluster**: Cluster mode (Single-Node or Multi-Node) and cluster size. |
| 61 | + - **Execution**: Startup command, environment variables, and bootstrap script. |
| 62 | + - **Deployment Defaults**: |
| 63 | + * **Replica Count**: Default number of replicas created from this preset. |
| 64 | + * **Revision History Limit**: Number of past revisions kept for each deployment created from this preset. |
| 65 | + * **Open to Public**: Whether the endpoint of deployments created from this preset is reachable without an access token by default. |
| 66 | + - **Advanced** (optional): Model definition JSON for custom runtimes. |
| 67 | + |
| 68 | +  |
| 69 | + <!-- TODO: Capture screenshot of the deployment preset create modal --> |
| 70 | + |
| 71 | +3. Click **Create Preset** to save. A success notification confirms the preset has been created. |
| 72 | + |
| 73 | +:::tip |
| 74 | +If a required field is missing or invalid, the **Create Preset** button stays disabled until the error is resolved. Required fields show inline validation messages as you type. |
| 75 | +::: |
| 76 | + |
| 77 | +### Edit a Deployment Preset |
| 78 | + |
| 79 | +1. From the preset list, open the action menu on the preset row (or open the preset's detail view) and select **Edit Preset**. |
| 80 | +2. The *Edit Preset* dialog opens with the preset's current values pre-filled. The available sections are identical to the *Create Preset* dialog. |
| 81 | +3. Adjust the fields as needed, then click **Edit Preset** to save your changes. |
| 82 | + |
| 83 | + |
| 84 | +<!-- TODO: Capture screenshot of the deployment preset edit modal (optional, same layout as create) --> |
| 85 | + |
| 86 | +Editing a preset only changes the defaults for **future** deployments. Existing deployments that were already created from this preset are not modified. |
| 87 | + |
| 88 | +### Delete a Deployment Preset |
| 89 | + |
| 90 | +1. From the preset list (or the preset's detail view), open the action menu on the preset and select **Delete Preset**. |
| 91 | +2. A typed-confirmation dialog appears asking you to type the preset's name to confirm. The **OK** button stays disabled until the typed value matches the preset name exactly. |
| 92 | +3. Type the preset's name, then click **OK** to confirm. |
| 93 | + |
| 94 | +:::danger |
| 95 | +Deleting a deployment preset is **irreversible**. The preset itself is removed, but deployments that were already created from it continue to run unaffected. Future deployments can no longer reference this preset. |
| 96 | +::: |
| 97 | + |
| 98 | +## Using a Preset When Deploying a Model |
| 99 | + |
| 100 | +End users apply a deployment preset through the **VFolder Deploy** modal, which opens when you deploy a model from a storage folder on the Data page. |
| 101 | + |
| 102 | +1. From the Data page, locate the model folder you want to deploy and click **Deploy as Service**. |
| 103 | +2. The VFolder Deploy modal opens, listing the deployment presets available for your project. |
| 104 | +3. Click a preset row to open its **Deployment Preset Detail** view. The detail view shows every field that the preset will apply when used — image, runtime, resources, cluster mode, replica count, visibility, and so on. |
| 105 | + |
| 106 | +  |
| 107 | + <!-- TODO: Capture screenshot of the deployment preset detail in the VFolderDeployModal --> |
| 108 | + |
| 109 | +4. From the detail view, choose how to proceed: |
| 110 | + |
| 111 | + - **Auto-deploy**: Create the deployment immediately using the preset's values as-is. This is the fastest path; the deployment is created in one click with no further input required. |
| 112 | + - **Manual deploy** (*Create New Deployment with Preset*): Open the deployment launcher with all fields pre-populated from the preset, so you can review and adjust before confirming. |
| 113 | + |
| 114 | +:::note |
| 115 | +The active preset, tab key, and other navigation state are preserved in the URL via `URLSearchParams`. You can share a link to a specific preset's detail view, and the recipient lands on the same screen. |
| 116 | +::: |
| 117 | + |
| 118 | +## Pre-Populated Launcher Fields |
| 119 | + |
| 120 | +When you choose the manual-deploy path, the deployment launcher opens with every field pre-filled from the selected preset: |
| 121 | + |
| 122 | +- Image, runtime variant, and resource group. |
| 123 | +- Resource slots, shared memory, and resource options. |
| 124 | +- Cluster mode and cluster size. |
| 125 | +- Startup command and environment variables. |
| 126 | +- Replica count, revision history limit, and **Open to Public** visibility. |
| 127 | +- Auto-selected resource preset, which is preserved across the launcher's initial-value resolution. |
| 128 | + |
| 129 | +You can edit any pre-populated field before deploying. Editing a field does **not** modify the underlying preset — it only changes the values used for this one deployment. The preset's defaults remain unchanged for future deployments. |
| 130 | + |
| 131 | +:::tip |
| 132 | +If the auto-selected resource preset is the right one for your workload, leave it as-is. The launcher preserves the auto-selection across the initial-values pass, so you do not need to re-select it after switching presets. |
| 133 | +::: |
| 134 | + |
| 135 | +## Filtering by Tags |
| 136 | + |
| 137 | +Both the user-facing preset list and the admin preset list support **clickable tag chips** that filter the list to presets sharing the clicked tag. |
| 138 | + |
| 139 | + |
| 140 | +<!-- TODO: Capture screenshot of the deployment preset list filtered by a tag chip --> |
| 141 | + |
| 142 | +1. Locate a preset row that has the tag you want to filter by. |
| 143 | +2. Click the tag chip on that row. |
| 144 | +3. The list refreshes to show only presets that include the selected tag. The active filter is reflected in the filter bar; clear it to return to the full list. |
| 145 | + |
| 146 | +This is useful when you have many presets and want to quickly narrow down to, for example, all GPU-backed presets or all presets for a specific runtime family. |
0 commit comments