Simple and fast creation of throwaway VMs on your local machine. Connect via SSH in just a few seconds.
- Create throwaway VMs on your local machine and connect via SSH in just a few seconds.
- Fast and easy to use.
- Fast boot times because by default uses minimal cloud images.
- On demand download of latest Debian, Ubuntu, Arch, Fedora, CentOS and Alma cloud images.
- Shell completion.
- Customizable cloud-init commands if needed.
- Uses KVM, QEMU and libvirt.
Sometimes Docker containers are not sufficient for all use cases. For example when you want to load or unload kernel modules. Also when Systemd is needed to test unit files or install and test applications that require an init system. In this case a VM is often the better choice. Unfortunately it usually takes far too long to create a local VM for quick tests. Download ISO, create VM, run installer, network config, reboot, ssh login. This usually takes at least 5-15 minutes. VmChamp can create local VMs within seconds and then establish a network connection via SSH.
Your local linux machine needs to support virtualization and KVM must be installed and working.
VmChamp run mytestvm
# or VmChamp run mytestvm --os debian11 --mem 256MB --disk 4GB
For shell completion put this in your ~.zshrc:
source <(VmChamp --completion zsh)
Usage:
VmChamp [command] [options]
Options:
--completion <completion> generate shell completion. (zsh or bash)
--version Show version information
-?, -h, --help Show help and usage information
Commands:
run, start <name> start a new VM [default: testvm]
clean delete all vms and images
remove, rm <name> removes a vm [default: testvm]
reboot, reset, restart <name> force restarts a vm [default: testvm]
ssh <name> connect to vm via ssh [default: testvm]
list, ls, ps list all existing vms
images, os get a list of all available os images