Firecracker API¶
Firecracker inventory is exposed under the NetBox plugin API so NMS Cloud can discover available runtime capacity and show provisioned micro-VMs beside existing QEMU and LXC instances.
For common authentication, pagination, and nested serializer behavior, see API Overview.
Inventory Endpoints¶
All paths are relative to /api/plugins/proxbox/.
| Resource | Path | Purpose |
|---|---|---|
| Host pools | firecracker-host-pools/ |
Tenant-visible pools that group Firecracker host-agent VMs |
| Hosts | firecracker-hosts/ |
Host-agent VM records with agent URL, capacity, status, and KVM/network capability fields |
| Image templates | firecracker-image-templates/ |
Kernel/rootfs image bundles available to Cloud users |
| Micro-VMs | firecracker-microvms/ |
Provisioned Firecracker instances tracked in NetBox |
| Cloud resource list | resources/firecracker-microvms/ |
NMS-compatible list shape used by /cloud/instances |
The CRUD viewsets support the normal NetBox REST verbs:
GET /api/plugins/proxbox/firecracker-host-pools/
GET /api/plugins/proxbox/firecracker-host-pools/{id}/
POST /api/plugins/proxbox/firecracker-host-pools/
PUT /api/plugins/proxbox/firecracker-host-pools/{id}/
PATCH /api/plugins/proxbox/firecracker-host-pools/{id}/
DELETE /api/plugins/proxbox/firecracker-host-pools/{id}/
Use the same verb pattern for firecracker-hosts, firecracker-image-templates, and firecracker-microvms.
Cloud List Shape¶
GET /api/plugins/proxbox/resources/firecracker-microvms/ returns micro-VMs in the shape consumed by nms-backend:
{
"count": 1,
"results": [
{
"id": 42,
"instance_ref": "firecracker:42",
"kind": "firecracker",
"name": "tenant-api-01",
"status": {"value": "running", "label": "Running"},
"host_pool": {"id": 3, "display": "edge-firecracker"},
"image": {"id": 7, "display": "Alpine 3.20"},
"vcpus": 1,
"memory_mib": 512,
"disk_mib": 1024,
"guest_ip": "10.10.0.21"
}
]
}
kind is always firecracker. instance_ref is the stable Cloud identifier and uses the firecracker:<netbox-id> format so it cannot collide with numeric NetBox VirtualMachine IDs.
Provisioning Boundary¶
This plugin stores and exposes inventory. The actual micro-VM boot sequence is handled by proxbox-api through /cloud/firecracker/provision or /cloud/firecracker/provision/stream, which calls the selected host-agent.