Edge

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