---
title: "CLI Compute Commands"
description: "Manage virtual machines, SSH keys, and security groups from the command line."
url: https://edge.network/docs/cli/compute/
---

# CLI Compute Commands

CLI

# Compute Commands

Create and manage virtual machines, SSH keys, and security groups.

## Virtual Machines

### List VMs

```
$ edge compute list
ID          NAME           STATUS    IP             SIZE           REGION
vm-abc123   web-1          running   192.0.2.10     s-2vcpu-4gb    london
vm-def456   api-server     running   192.0.2.11     s-4vcpu-8gb    london
vm-ghi789   database       stopped   192.0.2.12     s-8vcpu-16gb   london
```

### Create a VM

```
$ edge compute create \
    --name web-2 \
    --size s-2vcpu-4gb \
    --image ubuntu-24 \
    --region london \
    --ssh-key my-laptop

Creating VM... done

ID:      vm-jkl012
Name:    web-2
Status:  creating
IP:      Assigning...
Size:    s-2vcpu-4gb
Region:  london
```

Or use interactive mode:

```
$ edge compute create
? VM name: my-webserver
? Size: s-2vcpu-4gb (2 vCPU, 4 GB RAM)
? Image: ubuntu-24
? Region: london
? SSH key: my-laptop

Creating VM... done
```

### Get VM Details

```
$ edge compute get vm-abc123
ID:           vm-abc123
Name:         web-1
Status:       running
IP:           192.0.2.10
IPv6:         2001:db8::1
Size:         s-2vcpu-4gb
vCPUs:        2
Memory:       4 GB
Disk:         50 GB
Image:        ubuntu-24.04-x64
Region:       london
Created:      2025-02-10 14:30:00 UTC
SSH Keys:     my-laptop, deploy-key
```

### VM Actions

```
# Start a stopped VM
edge compute start vm-abc123

# Stop a running VM
edge compute stop vm-abc123

# Restart a VM
edge compute restart vm-abc123

# Delete a VM (with confirmation)
edge compute delete vm-abc123

# Delete without confirmation
edge compute delete vm-abc123 --yes
```

### Resize a VM

```
$ edge compute resize vm-abc123 --size s-4vcpu-8gb

Resizing VM... done

Note: VM will be restarted to apply new size.
```

### SSH Access

```
# SSH into a VM by ID
edge compute ssh vm-abc123

# SSH with a specific user
edge compute ssh vm-abc123 --user root

# Open web console in browser
edge compute console vm-abc123
```

### Metrics

```
$ edge compute metrics vm-abc123
Period: Last 24 hours

CPU Usage:      12.5% avg, 45.2% peak
Memory Usage:   1.2 GB / 4 GB (30%)
Disk Read:      150 MB
Disk Write:     45 MB
Network In:     2.3 GB
Network Out:    890 MB

# Specify time period
edge compute metrics vm-abc123 --period 7d

# Export as CSV
edge compute metrics vm-abc123 --period 30d --export csv > metrics.csv

# Show specific metric
edge compute metrics vm-abc123 --metric cpu
```

## SSH Keys

### List Keys

```
$ edge compute keys list
ID          NAME           FINGERPRINT                                    CREATED
key-abc     my-laptop      SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczC...  2025-01-15
key-def     deploy-key     SHA256:vM9Jxk8sxCHd0ccjU4e9BmjRXYVpLaJEUNe1...  2025-02-01
key-ghi     backup-server  SHA256:wK0Kyl9tyCIe1ddkV5f0CnkSYWWqMbKFVO...    2025-02-10
```

### Create a Key

```
# Create from file
edge compute keys create --name work-laptop --public-key-file ~/.ssh/id_rsa.pub

# Create with inline key
edge compute keys create --name ci-server --public-key "ssh-rsa AAAA..."
```

### Delete a Key

```
edge compute keys delete key-abc
```

## Security Groups

### List Groups

```
$ edge compute groups list
ID           NAME         RULES    VMs
grp-abc123   webserver    3        2
grp-def456   database     1        1
grp-ghi789   default      0        5
```

### Get Group Details

```
$ edge compute groups get grp-abc123
ID:    grp-abc123
Name:  webserver
VMs:   web-1, web-2

Rules:
  1. Allow TCP 22 from 0.0.0.0/0 (SSH)
  2. Allow TCP 80 from 0.0.0.0/0 (HTTP)
  3. Allow TCP 443 from 0.0.0.0/0 (HTTPS)
```

### Manage Groups

```
# Create a security group
edge compute groups create --name api-servers

# Add rules
edge compute groups add-rule grp-abc123 --port 443 --protocol tcp --source 0.0.0.0/0
edge compute groups add-rule grp-abc123 --port 22 --protocol tcp --source 10.0.0.0/8

# Remove a rule
edge compute groups remove-rule grp-abc123 rule-xyz

# Delete a group
edge compute groups delete grp-abc123
```

## Common Flags

| Flag | Description |
| --name, -n | Name for the resource |
| --size, -s | VM size (e.g., s-2vcpu-4gb) |
| --image, -i | OS image (e.g., ubuntu-24, debian-12) |
| --region, -r | Datacenter region |
| --ssh-key | SSH key name or ID to attach |
| --security-group | Security group name or ID |
| --yes, -y | Skip confirmation prompts |

## See Also

[CDN Commands Manage deployments and domains](https://edge.network/docs/cli/cdn) [Compute Docs Full Compute documentation](https://edge.network/docs/compute)
[Back to Docs](https://edge.network/docs) [Need help?](https://edge.network/support)
