puter-gateway - SSH gateway shell commands
The puter gateway provides an SSH-accessible shell for managing
VMs. Users connect via SSH and run commands interactively or as one-off
invocations.
First-time users see a welcome screen with identity info, a
display name prompt, resource quota overview, and a getting-started guide.
Returning users see a condensed status line.
Interactive shell:
$ ssh DOMAIN
One-off command:
$ ssh DOMAIN COMMAND [ARGS...]
- list
- List your VMs with name, status, IP, CPU, memory, and disk.
- new [--cpu N] [--memory SIZE]
[--disk SIZE] NAME
- Create a new VM. Defaults: 1 CPU, 1G memory, 10G disk. Polls for readiness
and shows progress until the VM is running.
- start NAME
- Start a stopped VM.
- stop NAME
- Stop a running VM.
- delete
NAME
- Delete a VM and its resources.
- ssh NAME [--
cmd...]
- SSH into a running VM. Generates an ephemeral key pair for the session.
Pass commands after -- to execute remotely without an interactive
shell.
- snapshot
NAME
- Create a snapshot of a running VM.
- clone SOURCE
DEST
- Clone a VM (must be stopped).
- restore NAME
SNAPSHOT_ID
- Restore a VM from a previously created snapshot.
- ssh-key
list|add|remove NAME [KEY]
- Manage SSH keys on a VM. Subcommands:
- expose VM --subdomain
NAME [--port N] [--public]
- Expose a VM service via a subdomain. Default port is 80. Use --list
to show existing mappings for a VM.
- unexpose VM
--subdomain NAME
- Remove a subdomain mapping.
- quota
- Show your resource limits and current usage (VMs, CPU, memory, disk).
- help
- Show the help text with all available commands.
Connect directly to a VM using the gateway as a jump host:
$ ssh -J DOMAIN myvm.DOMAIN
Create a VM with custom specs:
$ ssh DOMAIN new --cpu 2 --memory 2G --disk 20G myvm
List your VMs:
$ ssh DOMAIN list
NAME STATUS IP CPU MEM DISK
myvm running 10.0.0.10 2 2G 20G
Check resource usage:
$ ssh DOMAIN quota
Resource Used Limit
VMs 1 5
CPU cores 2 8
Memory 2 GB 16 GB
Disk 20 GB 100 GB
SSH into a VM:
$ ssh DOMAIN ssh myvm