Find a file
2024-12-02 23:01:43 -08:00
config misc improvements 2024-12-02 22:57:21 -08:00
libvirtx Initial commit 2024-12-02 20:23:28 -08:00
volumes misc improvements 2024-12-02 22:57:21 -08:00
.gitignore gitignore 2024-12-02 20:54:57 -08:00
go.mod misc improvements 2024-12-02 22:57:21 -08:00
go.sum misc improvements 2024-12-02 22:57:21 -08:00
http.go misc improvements 2024-12-02 22:57:21 -08:00
main.go misc improvements 2024-12-02 22:57:21 -08:00
mkvm.go misc improvements 2024-12-02 22:57:21 -08:00
README.md Add note about config file to README 2024-12-02 23:01:43 -08:00

mkvm

An opinionated cloud VM creation tool: create VMs on libvirt.

Usage:
  mkvm name [name [name]] [flags]

Flags:
  -c, --cpu int                    the number of vCPU cores to assign to the VM (default 2)
  -d, --disk int                   disk size (in GB) (default 25)
  -h, --help                       help for mkvm
      --image string               URL of the image to download (default "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2")
  -m, --memory int                 amount of memory (in MB) to assign to the VM (default 1024)
  -p, --packages stringArray       packages to install on the VM
  -s, --ssh-key-urls stringArray   URL(s) to SSH key(s) authorzed to access the VM. Expected in authorized_keys format.
      --ssh-keys stringArray       SSH key(s) authorzed to access the VM

The default storage pool and network are used, unless overwridden by a config file at ~/.config/mkvm.yaml. The following options are available:

storage_pool: default  # must match an active libvirt storage pool
network: default       # the libvirt network to use
bridge: br0            # bridge interface to configure VMs to use instead of a libvirt network. Ignored if network is set.