Frappe Neko (stylised neko) is an agent that can be put on any machine as a Go binary and be used to manage VMs.
- A proper installation and configuration of libvirt and KVM/QEMU
- Root access (all commands should be run in root). This is mostly temporary.
git clone github.com/the-bokya/neko.git
cd neko
go install-
Generate basic config:
neko setup config
This will create a config at
/etc/neko -
Download images:
neko setup images
Images specified in
/etc/neko/config.jsonin the fieldvm_imageswill be downloaded and their sha256sum will be verified. -
Start the server:
neko serve
-
Define new VMs
curl localhost:8000/vms/new --json '{"name": "new-vm", "vcpus": 1, "memory": 512, "image": "Ubuntu 24.04", "disk_size": 5}'Output:
{"status":"Ok","message":"VM created successfully","data":{"name":"new-vm","uuid":"8d715798-663f-4cca-b6b3-0278ee772f1e","state":5}} -
Start a VM
curl localhost:8000/vms/<vm-name>/start -X POST
Output:
{"status":"Ok","message":"VM started successfully","data":{"name":"new-vm","uuid":"8d715798-663f-4cca-b6b3-0278ee772f1e","state":1}}
This is currently a work in progress.