Compute
Managed virtual machines on bare metal — backed by QEMU/KVM and libvirt, with cloud-init, security groups, and VPC networking.
Compute
The Compute service provides managed virtual machines running on bare-metal servers via QEMU/KVM and libvirt. The Compute Agent handles VM creation, networking, security groups, and lifecycle management.
Instance Types
| Type | vCPUs | Memory | Description |
|---|---|---|---|
c1.small | 1 | 1 GB | Development and testing |
c2.medium | 2 | 4 GB | Small workloads |
c4.large | 4 | 8 GB | General purpose |
c4.xlarge | 4 | 16 GB | Memory-intensive apps |
c8.2xlarge | 8 | 32 GB | Production workloads |
c16.4xlarge | 16 | 64 GB | High-performance computing |
ubuntu-22.04— Ubuntu 22.04 LTSubuntu-24.04— Ubuntu 24.04 LTSdebian-12— Debian 12 (Bookworm)rocky-9— Rocky Linux 9
Features
- cloud-init — pass user data scripts for automated instance configuration at boot
- Security groups — stateful firewall rules applied via nftables on the host
- VPC networking — place instances inside VPCs for isolated, private networking via WireGuard
- Live status monitoring — the Compute Agent continuously checks VM health and reports status
Create via CLI
agentmetal instance create \
--name web \
--type c4.large \
--image ubuntu-22.04 \
--vpc prod
Create via API
curl -X POST http://localhost:8080/v1/instances \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "web",
"spec": {
"type": "c4.large",
"image": "ubuntu-22.04",
"vpc": "prod",
"securityGroups": ["web-sg"],
"userData": "#!/bin/bash\napt-get update && apt-get install -y nginx"
}
}'
What the Agent Manages
The Compute Agent performs the following operations automatically:
- VM creation — selects an appropriate bare-metal host, creates a QEMU/KVM virtual machine via libvirt, and allocates resources
- Networking setup — attaches the VM to the specified VPC via WireGuard, assigns a private IP from the subnet IPAM, and configures DNS records
- Security group rules — translates security group definitions into nftables rules on the host and applies them
- Health monitoring — periodically checks that the VM is running, responsive, and has network connectivity
- Self-healing — if a VM becomes unresponsive, the agent attempts to restart it; if the host has failed, it migrates the VM to a healthy host
Security Groups
Define inbound and outbound rules:
agentmetal sg create --name web-sg --vpc prod \
--inbound "tcp:80:0.0.0.0/0" \
--inbound "tcp:443:0.0.0.0/0" \
--inbound "tcp:22:10.0.0.0/16"
Rules are applied as nftables chains on the host and updated in real time when you modify the security group.