name: vultr version: 1.0.0 description: Manage Vultr cloud infrastructure including VPS instances, bare metal, Kubernetes clusters, databases, DNS, firewalls, VPCs, object storage, and more. Use when asked to deploy, manage, list, or modify Vultr resources. author: Erwin Evans tags:
- vultr
- cloud
- infrastructure
- kubernetes
- vps
Vultr Cloud Infrastructure Management
Manage Vultr cloud resources via the Vultr API v2.
Setup
Set the VULTR_API_KEY environment variable or pass --api-key to commands.
Generate API keys at: https://my.vultr.com/settings/#settingsapi
Usage
python3 scripts/vultr.py <resource> <action> [options]
Quick Reference
Account
vultr.py account get # Account info, balance
vultr.py account bgp # BGP configuration
vultr.py account bandwidth # Bandwidth usage
Instances (VPS)
vultr.py instances list # List all instances
vultr.py instances get --id abc123 # Get instance details
vultr.py instances create --region ewr --plan vc2-1c-1gb --os 174 # Create instance
vultr.py instances start --id abc123 # Start instance
vultr.py instances stop --id abc123 # Stop instance
vultr.py instances reboot --id abc123 # Reboot instance
vultr.py instances delete --id abc123 # Delete instance
Bare Metal
vultr.py bare-metal list # List bare metal
vultr.py bare-metal create --region ewr --plan vbm-4c-32gb --os 174
Kubernetes (VKE)
vultr.py kubernetes list # List clusters
vultr.py kubernetes create --region ewr --version v1.28 --label my-cluster
vultr.py kubernetes kubeconfig --id abc123 # Get kubeconfig
vultr.py kubernetes versions # Available versions
Databases
vultr.py databases plans # List plans
vultr.py databases list # List databases
vultr.py databases create --region ewr --type pg --plan <plan>
DNS
vultr.py dns list # List domains
vultr.py dns create --domain example.com --ip 192.0.2.1 # Create domain
vultr.py dns records --domain example.com # List records
vultr.py dns create-record --domain example.com --record-type A --record-name www --record-data 192.0.2.1
Firewall
vultr.py firewall list # List groups
vultr.py firewall create --description "Web servers"
vultr.py firewall rules --id abc123 # List rules
vultr.py firewall create-rule --id abc123 --ip-type v4 --protocol tcp --port 22 --subnet 10.0.0.0/8
VPC
vultr.py vpc list # List VPCs
vultr.py vpc create --region ewr --description "Private network" --subnet 10.0.0.0/24
Snapshots
vultr.py snapshots list # List snapshots
vultr.py snapshots create --instance-id abc123 --description "Backup"
SSH Keys
vultr.py ssh-keys list # List keys
vultr.py ssh-keys create --name "my-key" --key "ssh-rsa AAAA..."
Regions & Plans
vultr.py regions list # List regions
vultr.py plans list # List VPS plans
vultr.py plans bare-metal # Bare metal plans
Block Storage
vultr.py block-storage list # List volumes
vultr.py block-storage create --region ewr --size 100 --label "data"
vultr.py block-storage attach --id abc123 --instance xyz789
Object Storage
vultr.py object-storage clusters # List clusters
vultr.py object-storage create --cluster abc123 --label "my-bucket"
Reserved IPs
vultr.py reserved-ips list # List reserved IPs
vultr.py reserved-ips create --region ewr --ip-type v4 --label "frontend"
Billing
vultr.py billing history # Billing history
vultr.py billing invoices # List invoices
vultr.py billing pending-charges # Current charges
Common Workflows
Deploy a Web Server
# 1. Get available regions and plans
vultr.py regions list
vultr.py plans list
# 2. Create instance with Ubuntu 24.04
vultr.py instances create \
--region ewr \
--plan vc2-2c-4gb \
--os 174 \
--label "web-server" \
--hostname "web01" \
--ipv6 \
--ssh-keys ssh-key-id
# 3. Configure firewall
vultr.py firewall create --description "Web servers"
vultr.py firewall create-rule --id fw-id --ip-type v4 --protocol tcp --port 22 --subnet your-ip/32
vultr.py firewall create-rule --id fw-id --ip-type v4 --protocol tcp --port 80
vultr.py firewall create-rule --id fw-id --ip-type v4 --protocol tcp --port 443
Create a Kubernetes Cluster
# 1. Get available versions
vultr.py kubernetes versions
# 2. Create cluster
vultr.py kubernetes create \
--region ewr \
--version v1.28.0 \
--label "prod-cluster"
# 3. Get kubeconfig
vultr.py kubernetes kubeconfig --id cluster-id > kubeconfig
Set Up Managed Database
# 1. List plans
vultr.py databases plans
# 2. Create PostgreSQL database
vultr.py databases create \
--region ewr \
--type pg \
--plan vdb-1-4-2 \
--label "prod-db"
Full API Reference
See references/api-reference.md for complete endpoint documentation.
Response Format
All commands return JSON. Successful responses include the resource data. Errors include an error field with details.
Example success:
{
"instance": {
"id": "abc123",
"label": "web-server",
"region": "ewr",
"status": "active",
"main_ip": "192.0.2.1"
}
}
Example error:
{
"error": "Invalid API key",
"status": 401
}