Skip to content

Commit 234c4c3

Browse files
authored
docs: Update runpodctl documentation for v2.0 (#563)
2 parents 5ea435a + 8d40731 commit 234c4c3

36 files changed

+1667
-595
lines changed

.claude/commands/test.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Run a test from the testing framework to validate documentation quality.
2323

2424
| Category | Tests | Description |
2525
|----------|-------|-------------|
26-
| `smoke` | 12 | Fast tests, no GPU deploys |
26+
| `smoke` | 13 | Fast tests, no GPU deploys |
2727
| `flash` | 13 | Flash SDK tests |
2828
| `serverless` | 20 | Serverless endpoint tests |
2929
| `vllm` | 6 | vLLM deployment tests |
@@ -32,7 +32,7 @@ Run a test from the testing framework to validate documentation quality.
3232
| `templates` | 6 | Template tests |
3333
| `clusters` | 4 | Instant Cluster tests |
3434
| `sdk` | 8 | SDK and API tests |
35-
| `cli` | 6 | runpodctl tests |
35+
| `cli` | 16 | runpodctl tests |
3636
| `integrations` | 4 | Third-party integrations |
3737
| `public` | 3 | Public endpoint tests |
3838
| `tutorials` | 9 | End-to-end tutorials |

docs.json

Lines changed: 53 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -404,19 +404,21 @@
404404
"group": "Runpod CLI",
405405
"pages": [
406406
"runpodctl/overview",
407+
"runpodctl/reference/runpodctl-doctor",
408+
"runpodctl/reference/runpodctl-pod",
409+
"runpodctl/reference/runpodctl-serverless",
410+
"runpodctl/reference/runpodctl-template",
411+
"runpodctl/reference/runpodctl-hub",
412+
"runpodctl/reference/runpodctl-network-volume",
413+
"runpodctl/reference/runpodctl-registry",
414+
"runpodctl/reference/runpodctl-gpu",
415+
"runpodctl/reference/runpodctl-datacenter",
416+
"runpodctl/reference/runpodctl-billing",
417+
"runpodctl/reference/runpodctl-user",
418+
"runpodctl/reference/runpodctl-ssh",
407419
"runpodctl/reference/runpodctl-config",
408-
"runpodctl/reference/runpodctl-create-pod",
409-
"runpodctl/reference/runpodctl-create-pods",
410-
"runpodctl/reference/runpodctl-get-cloud",
411-
"runpodctl/reference/runpodctl-get-pod",
412-
"runpodctl/reference/runpodctl-receive",
413-
"runpodctl/reference/runpodctl-remove-pod",
414-
"runpodctl/reference/runpodctl-remove-pods",
415420
"runpodctl/reference/runpodctl-send",
416-
"runpodctl/reference/runpodctl-ssh-add-key",
417-
"runpodctl/reference/runpodctl-ssh-list-keys",
418-
"runpodctl/reference/runpodctl-start-pod",
419-
"runpodctl/reference/runpodctl-stop-pod",
421+
"runpodctl/reference/runpodctl-receive",
420422
"runpodctl/reference/runpodctl-update",
421423
"runpodctl/reference/runpodctl-version"
422424
]
@@ -869,6 +871,46 @@
869871
"source": "/runpodctl/reference/runpodctl",
870872
"destination": "/runpodctl/overview"
871873
},
874+
{
875+
"source": "/runpodctl/reference/runpodctl-create-pod",
876+
"destination": "/runpodctl/reference/runpodctl-pod"
877+
},
878+
{
879+
"source": "/runpodctl/reference/runpodctl-create-pods",
880+
"destination": "/runpodctl/reference/runpodctl-pod"
881+
},
882+
{
883+
"source": "/runpodctl/reference/runpodctl-get-pod",
884+
"destination": "/runpodctl/reference/runpodctl-pod"
885+
},
886+
{
887+
"source": "/runpodctl/reference/runpodctl-get-cloud",
888+
"destination": "/runpodctl/reference/runpodctl-datacenter"
889+
},
890+
{
891+
"source": "/runpodctl/reference/runpodctl-remove-pod",
892+
"destination": "/runpodctl/reference/runpodctl-pod"
893+
},
894+
{
895+
"source": "/runpodctl/reference/runpodctl-remove-pods",
896+
"destination": "/runpodctl/reference/runpodctl-pod"
897+
},
898+
{
899+
"source": "/runpodctl/reference/runpodctl-start-pod",
900+
"destination": "/runpodctl/reference/runpodctl-pod"
901+
},
902+
{
903+
"source": "/runpodctl/reference/runpodctl-stop-pod",
904+
"destination": "/runpodctl/reference/runpodctl-pod"
905+
},
906+
{
907+
"source": "/runpodctl/reference/runpodctl-ssh-add-key",
908+
"destination": "/runpodctl/reference/runpodctl-ssh"
909+
},
910+
{
911+
"source": "/runpodctl/reference/runpodctl-ssh-list-keys",
912+
"destination": "/runpodctl/reference/runpodctl-ssh"
913+
},
872914
{
873915
"source": "/get-started/manage-accounts",
874916
"destination": "/accounts-billing/manage-accounts"

get-started.mdx

Lines changed: 18 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -38,25 +38,23 @@ If you haven't set up payments yet, you'll be prompted to add a payment method a
3838

3939
<Tab title="Terminal">
4040

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

4343
```bash
44-
export RUNPOD_API_KEY="your-api-key"
44+
# Install runpodctl
45+
bash <(wget -qO- cli.runpod.io)
46+
47+
# Configure your API key
48+
runpodctl config --apiKey "your-api-key"
4549
```
4650

4751
Then deploy your Pod:
4852

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

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

9896
<Note>
99-
You'll need an [SSH key added to your account](/pods/configuration/use-ssh) for this to work.
97+
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.
10098
</Note>
10199

102-
Get your Pod's SSH connection details:
100+
Get the SSH command for your Pod:
103101

104102
```bash
105-
curl --request GET \
106-
--url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID" \
107-
--header "Authorization: Bearer $RUNPOD_API_KEY"
103+
runpodctl ssh info $RUNPOD_POD_ID
108104
```
109105

110-
The response includes `publicIp` and `portMappings`:
106+
The output includes the SSH command to connect:
111107

112108
```json
113109
{
114-
"id": "uv9wy55tyv30lo",
115-
"publicIp": "194.68.245.207",
116-
"portMappings": {
117-
"22": 22100
118-
},
119-
...
110+
"sshCommand": "ssh root@194.68.245.207 -p 22100 -i ~/.ssh/id_ed25519"
120111
}
121112
```
122113

123-
Use these values to connect via SSH:
114+
Use this command to connect and run code:
124115

125116
```bash
126117
ssh root@194.68.245.207 -p 22100
@@ -165,17 +156,13 @@ To terminate your Pod:
165156
Stop your Pod:
166157

167158
```bash
168-
curl --request POST \
169-
--url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID/stop" \
170-
--header "Authorization: Bearer $RUNPOD_API_KEY"
159+
runpodctl pod stop $RUNPOD_POD_ID
171160
```
172161

173162
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:
174163

175164
```bash
176-
curl --request DELETE \
177-
--url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID" \
178-
--header "Authorization: Bearer $RUNPOD_API_KEY"
165+
runpodctl pod delete $RUNPOD_POD_ID
179166
```
180167

181168
</Tab>

pods/connect-to-a-pod.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ Interactive web environment for code, files, and data analysis. Available on tem
5050
Create a Pod with JupyterLab access using the CLI:
5151

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

6363
After the Pod starts, access JupyterLab at `https://[POD_ID]-8888.proxy.runpod.net`.

pods/manage-pods.mdx

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ runpodctl config --apiKey RUNPOD_API_KEY
1515

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

2525
## Deploy a Pod
2626

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

5050
```sh
51-
runpodctl create pods \
51+
runpodctl pod create \
5252
--name hello-world \
53-
--gpuType "NVIDIA A40" \
54-
--imageName "runpod/pytorch:3.10-2.0.0-117" \
55-
--containerDiskSize 10 \
56-
--volumeSize 100
53+
--gpu-id "NVIDIA A40" \
54+
--image "runpod/pytorch:3.10-2.0.0-117" \
55+
--container-disk-in-gb 10 \
56+
--volume-in-gb 100
5757
```
5858

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

120120
```sh
121-
runpodctl stop pod $RUNPOD_POD_ID
121+
runpodctl pod stop $RUNPOD_POD_ID
122122
```
123123

124124
**Schedule a stop** (e.g., after 2 hours):
125125
```sh
126-
sleep 2h; runpodctl stop pod $RUNPOD_POD_ID &
126+
sleep 2h; runpodctl pod stop $RUNPOD_POD_ID &
127127
```
128128

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

156156
```sh
157-
runpodctl start pod $RUNPOD_POD_ID
157+
runpodctl pod start $RUNPOD_POD_ID
158158
```
159159

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

226226
```sh
227-
# Single Pod
228-
runpodctl remove pod $RUNPOD_POD_ID
229-
230-
# Bulk remove by name
231-
runpodctl remove pods my-bulk-task --podCount 40
227+
runpodctl pod delete $RUNPOD_POD_ID
232228
```
233229

234230
</Tab>

runpodctl/manage-pods.mdx

Whitespace-only changes.

0 commit comments

Comments
 (0)