Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
4b5ef69
Create new simpler Serverless quickstart
muhsinking Mar 18, 2026
2dabf1e
Update quickstart links
muhsinking Mar 19, 2026
fea96d9
Update runpodctl documentation for v2.0
promptless[bot] Mar 20, 2026
9827d75
Test and update runpodctl 2.0
muhsinking Mar 20, 2026
dd79678
Remove requestexample component from longer CLI pages
muhsinking Mar 20, 2026
2a23280
update
muhsinking Mar 20, 2026
6a6d2c1
remove model
muhsinking Mar 20, 2026
79e8158
Sync documentation updates
promptless[bot] Mar 23, 2026
cd5a6d5
Sync documentation updates
promptless[bot] Mar 23, 2026
d64d35b
Merge branch 'main' into promptless/runpodctl-v2-documentation
muhsinking Mar 23, 2026
1be64ae
Merge branch 'main' into new-sls-quickstart
muhsinking Mar 23, 2026
3aa73dc
Sync documentation updates
promptless[bot] Mar 23, 2026
698bae1
Merge branch 'promptless/runpodctl-v2-documentation' into new-sls-qui…
muhsinking Mar 23, 2026
08fb45d
Sync documentation updates
promptless[bot] Mar 24, 2026
ce55c39
Merge branch 'main' into promptless/runpodctl-v2-documentation
muhsinking Mar 24, 2026
6b0609c
Merge branch 'main' into promptless/runpodctl-v2-documentation
muhsinking Mar 25, 2026
4e6359e
Sync documentation updates
promptless[bot] Mar 25, 2026
012fd74
Merge branch 'main' into promptless/runpodctl-v2-documentation
muhsinking Mar 25, 2026
915b74d
docs: Update agent tests and docs for runpodctl v2
muhsinking Mar 25, 2026
91290df
docs: Clarify serverless vs pod template requirements
muhsinking Mar 25, 2026
4792e17
docs: Update pods quickstart to use runpodctl v2
muhsinking Mar 25, 2026
32b8ed1
Update quickstart instructions
muhsinking Mar 25, 2026
97967bf
Merge branch 'main' into new-sls-quickstart
muhsinking Mar 27, 2026
caec769
Merge branch 'promptless/runpodctl-v2-documentation' into new-sls-qui…
muhsinking Mar 27, 2026
d500bbd
Add CLI steps to Serverless quickstart
muhsinking Mar 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude/commands/test.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Run a test from the testing framework to validate documentation quality.

| Category | Tests | Description |
|----------|-------|-------------|
| `smoke` | 12 | Fast tests, no GPU deploys |
| `smoke` | 13 | Fast tests, no GPU deploys |
| `flash` | 13 | Flash SDK tests |
| `serverless` | 20 | Serverless endpoint tests |
| `vllm` | 6 | vLLM deployment tests |
Expand All @@ -32,7 +32,7 @@ Run a test from the testing framework to validate documentation quality.
| `templates` | 6 | Template tests |
| `clusters` | 4 | Instant Cluster tests |
| `sdk` | 8 | SDK and API tests |
| `cli` | 6 | runpodctl tests |
| `cli` | 16 | runpodctl tests |
| `integrations` | 4 | Third-party integrations |
| `public` | 3 | Public endpoint tests |
| `tutorials` | 9 | End-to-end tutorials |
Expand Down
72 changes: 59 additions & 13 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
"pages": [
"serverless/overview",
"serverless/quickstart",
"serverless/build-worker",
"serverless/sdks",
"serverless/pricing",
{
Expand Down Expand Up @@ -150,7 +151,6 @@
"group": "vLLM",
"pages": [
"serverless/vllm/overview",
"serverless/vllm/get-started",
"serverless/vllm/configuration",
"serverless/vllm/vllm-requests",
"serverless/vllm/openai-compatibility",
Expand Down Expand Up @@ -411,19 +411,21 @@
"group": "Runpod CLI",
"pages": [
"runpodctl/overview",
"runpodctl/reference/runpodctl-doctor",
"runpodctl/reference/runpodctl-pod",
"runpodctl/reference/runpodctl-serverless",
"runpodctl/reference/runpodctl-template",
"runpodctl/reference/runpodctl-hub",
"runpodctl/reference/runpodctl-network-volume",
"runpodctl/reference/runpodctl-registry",
"runpodctl/reference/runpodctl-gpu",
"runpodctl/reference/runpodctl-datacenter",
"runpodctl/reference/runpodctl-billing",
"runpodctl/reference/runpodctl-user",
"runpodctl/reference/runpodctl-ssh",
"runpodctl/reference/runpodctl-config",
"runpodctl/reference/runpodctl-create-pod",
"runpodctl/reference/runpodctl-create-pods",
"runpodctl/reference/runpodctl-get-cloud",
"runpodctl/reference/runpodctl-get-pod",
"runpodctl/reference/runpodctl-receive",
"runpodctl/reference/runpodctl-remove-pod",
"runpodctl/reference/runpodctl-remove-pods",
"runpodctl/reference/runpodctl-send",
"runpodctl/reference/runpodctl-ssh-add-key",
"runpodctl/reference/runpodctl-ssh-list-keys",
"runpodctl/reference/runpodctl-start-pod",
"runpodctl/reference/runpodctl-stop-pod",
"runpodctl/reference/runpodctl-receive",
"runpodctl/reference/runpodctl-update",
"runpodctl/reference/runpodctl-version"
]
Expand Down Expand Up @@ -612,13 +614,17 @@
}
},
"redirects": [
{
"source": "/serverless/vllm/get-started",
"destination": "/serverless/quickstart"
},
{
"source": "/tutorials/pods/fine-tune-llm-axolotl",
"destination": "/fine-tune"
},
{
"source": "/serverless/workers/custom-worker",
"destination": "/serverless/quickstart"
"destination": "/serverless/build-worker"
},
{
"source": "/runpodctl/install-runpodctl",
Expand Down Expand Up @@ -876,6 +882,46 @@
"source": "/runpodctl/reference/runpodctl",
"destination": "/runpodctl/overview"
},
{
"source": "/runpodctl/reference/runpodctl-create-pod",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-create-pods",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-get-pod",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-get-cloud",
"destination": "/runpodctl/reference/runpodctl-datacenter"
},
{
"source": "/runpodctl/reference/runpodctl-remove-pod",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-remove-pods",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-start-pod",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-stop-pod",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-ssh-add-key",
"destination": "/runpodctl/reference/runpodctl-ssh"
},
{
"source": "/runpodctl/reference/runpodctl-ssh-list-keys",
"destination": "/runpodctl/reference/runpodctl-ssh"
},
{
"source": "/hub/public-endpoints",
"destination": "/public-endpoints/overview"
Expand Down
49 changes: 18 additions & 31 deletions get-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,25 +38,23 @@ If you haven't set up payments yet, you'll be prompted to add a payment method a

<Tab title="Terminal">

First, [create an API key](/get-started/api-keys) if you haven't already. Export it as an environment variable:
First, install the [Runpod CLI](/runpodctl/overview) on your local machine and configure it with your API key:

```bash
export RUNPOD_API_KEY="your-api-key"
# Install runpodctl
bash <(wget -qO- cli.runpod.io)

# Configure your API key
runpodctl config --apiKey "your-api-key"
```

Then deploy your Pod:

```bash
curl --request POST \
--url https://rest.runpod.io/v1/pods \
--header "Authorization: Bearer $RUNPOD_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"name": "quickstart-pod",
"imageName": "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04",
"gpuTypeIds": ["NVIDIA A40"],
"gpuCount": 1
}'
runpodctl pod create \
--name "quickstart-pod" \
--gpu-id "NVIDIA A40" \
--image "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04"
```

The response includes your Pod ID:
Expand Down Expand Up @@ -96,31 +94,24 @@ Once your Pod finishes initializing, connect and run some code:
<Tab title="Terminal">

<Note>
You'll need an [SSH key added to your account](/pods/configuration/use-ssh) for this to work.
You'll need an [SSH key added to your account](/pods/configuration/use-ssh) for this to work. You can run `runpodctl doctor` to set this up automatically.
</Note>

Get your Pod's SSH connection details:
Get the SSH command for your Pod:

```bash
curl --request GET \
--url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID" \
--header "Authorization: Bearer $RUNPOD_API_KEY"
runpodctl ssh info $RUNPOD_POD_ID
```

The response includes `publicIp` and `portMappings`:
The output includes the SSH command to connect:

```json
{
"id": "uv9wy55tyv30lo",
"publicIp": "194.68.245.207",
"portMappings": {
"22": 22100
},
...
"sshCommand": "ssh root@194.68.245.207 -p 22100 -i ~/.ssh/id_ed25519"
}
```

Use these values to connect via SSH:
Use this command to connect and run code:

```bash
ssh root@194.68.245.207 -p 22100
Expand Down Expand Up @@ -165,17 +156,13 @@ To terminate your Pod:
Stop your Pod:

```bash
curl --request POST \
--url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID/stop" \
--header "Authorization: Bearer $RUNPOD_API_KEY"
runpodctl pod stop $RUNPOD_POD_ID
```

You'll still be charged a small amount for storage on stopped Pods (\$0.20 per GB per month). If you don't need to retain any data on your Pod, terminate it completely:

```bash
curl --request DELETE \
--url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID" \
--header "Authorization: Bearer $RUNPOD_API_KEY"
runpodctl pod delete $RUNPOD_POD_ID
```

</Tab>
Expand Down
2 changes: 1 addition & 1 deletion hub/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ The Hub also offers <PublicEndpointTooltip />s for popular AI models. These are
Publish your GitHub repository on the Hub by preparing a <WorkerTooltip /> with a <HandlerFunctionTooltip /> and `Dockerfile`.

<Tip>
New to building Serverless workers? Follow the [quickstart guide](/serverless/quickstart).
New to building Serverless workers? Follow the [build a custom worker](/serverless/build-worker) guide.
</Tip>

1. Add configuration files in a `.runpod` directory per the [publishing guide](/hub/publishing-guide).
Expand Down
2 changes: 1 addition & 1 deletion integrations/n8n-integration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ First, you'll deploy a vLLM worker to serve the `Qwen/qwen3-32b-awq` model.

<Step title="Configure your endpoint">
<Tip>
For more details on vLLM deployment options, see [Deploy a vLLM worker](/serverless/vllm/get-started).
For more details on vLLM deployment options, see [Configure vLLM](/serverless/vllm/configuration).
</Tip>

In the deployment modal:
Expand Down
2 changes: 1 addition & 1 deletion integrations/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ To integrate with Serverless:
5. Start [sending requests](/serverless/endpoints/send-requests) to the endpoint.

<Tip>
For a full walkthrough of how to create and test custom endpoints, try the [Serverless quickstart](/serverless/quickstart).
For a full walkthrough of how to create and test custom endpoints, try the [build a custom worker](/serverless/build-worker) guide.
</Tip>

## Integrate with Pods
Expand Down
2 changes: 1 addition & 1 deletion overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ For a list of available models, see the [model reference](/public-endpoints/refe
<Card title="Build a load balancing API" href="/tutorials/flash/build-rest-api-with-load-balancer" icon="scale-balanced" horizontal>
Create a REST API with automatic load balancing using Flash.
</Card>
<Card title="Deploy vLLM for text generation" href="/serverless/vllm/get-started" icon="comments" horizontal>
<Card title="Deploy vLLM for text generation" href="/serverless/quickstart" icon="comments" horizontal>
Deploy a large language model in minutes using vLLM on Serverless.
</Card>
</CardGroup>
Expand Down
12 changes: 6 additions & 6 deletions pods/connect-to-a-pod.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,14 @@ Interactive web environment for code, files, and data analysis. Available on tem
Create a Pod with JupyterLab access using the CLI:

```bash
runpodctl create pod \
runpodctl pod create \
--name my-jupyter-pod \
--gpuType "NVIDIA GeForce RTX 4090" \
--imageName "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04" \
--containerDiskSize 20 \
--volumeSize 50 \
--gpu-id "NVIDIA GeForce RTX 4090" \
--image "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04" \
--container-disk-in-gb 20 \
--volume-in-gb 50 \
--ports "8888/http" \
--env "JUPYTER_PASSWORD=your_secure_password"
--env '{"JUPYTER_PASSWORD":"your_secure_password"}'
```

After the Pod starts, access JupyterLab at `https://[POD_ID]-8888.proxy.runpod.net`.
Expand Down
34 changes: 15 additions & 19 deletions pods/manage-pods.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ runpodctl config --apiKey RUNPOD_API_KEY

| Action | Web UI | CLI |
|--------|-----|-----|
| **Deploy** | [Pods page](https://www.console.runpod.io/pods) → Deploy | `runpodctl create pods --name NAME --gpuType "GPU" --imageName "IMAGE"` |
| **Start** | Expand Pod → Play icon | `runpodctl start pod POD_ID` |
| **Stop** | Expand Pod → Stop icon | `runpodctl stop pod POD_ID` |
| **Update** | Three-dot menu → Edit Pod | |
| **Terminate** | Expand Pod → Trash icon | `runpodctl remove pod POD_ID` |
| **List** | [Pods page](https://www.console.runpod.io/pods) | `runpodctl get pod` |
| **Deploy** | [Pods page](https://www.console.runpod.io/pods) → Deploy | `runpodctl pod create --name NAME --gpu-id "GPU" --image "IMAGE"` |
| **Start** | Expand Pod → Play icon | `runpodctl pod start POD_ID` |
| **Stop** | Expand Pod → Stop icon | `runpodctl pod stop POD_ID` |
| **Update** | Three-dot menu → Edit Pod | `runpodctl pod update POD_ID` |
| **Terminate** | Expand Pod → Trash icon | `runpodctl pod delete POD_ID` |
| **List** | [Pods page](https://www.console.runpod.io/pods) | `runpodctl pod list` |

## Deploy a Pod

Expand Down Expand Up @@ -48,12 +48,12 @@ Deploy preconfigured Pods from the [Runpod Hub](/hub/overview#deploy-as-a-pod) f
<Tab title="CLI">

```sh
runpodctl create pods \
runpodctl pod create \
--name hello-world \
--gpuType "NVIDIA A40" \
--imageName "runpod/pytorch:3.10-2.0.0-117" \
--containerDiskSize 10 \
--volumeSize 100
--gpu-id "NVIDIA A40" \
--image "runpod/pytorch:3.10-2.0.0-117" \
--container-disk-in-gb 10 \
--volume-in-gb 100
```

</Tab>
Expand Down Expand Up @@ -118,12 +118,12 @@ Pods with [network volumes](/storage/network-volumes) attached cannot be stopped
<Tab title="CLI">

```sh
runpodctl stop pod $RUNPOD_POD_ID
runpodctl pod stop $RUNPOD_POD_ID
```

**Schedule a stop** (e.g., after 2 hours):
```sh
sleep 2h; runpodctl stop pod $RUNPOD_POD_ID &
sleep 2h; runpodctl pod stop $RUNPOD_POD_ID &
```

</Tab>
Expand Down Expand Up @@ -154,7 +154,7 @@ Resume a stopped Pod. Note: You may be allocated [zero GPUs](/references/trouble
<Tab title="CLI">

```sh
runpodctl start pod $RUNPOD_POD_ID
runpodctl pod start $RUNPOD_POD_ID
```

</Tab>
Expand Down Expand Up @@ -224,11 +224,7 @@ Terminating permanently deletes all data not stored in a [network volume](/stora
<Tab title="CLI">

```sh
# Single Pod
runpodctl remove pod $RUNPOD_POD_ID

# Bulk remove by name
runpodctl remove pods my-bulk-task --podCount 40
runpodctl pod delete $RUNPOD_POD_ID
```

</Tab>
Expand Down
Empty file removed runpodctl/manage-pods.mdx
Empty file.
Loading
Loading