Find a file
2024-12-08 23:08:21 -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 Refactor in preperation for non-Debian support 2024-12-08 19:17:56 -08:00
.gitignore gitignore 2024-12-02 20:54:57 -08:00
common.go drop old root command, fix flags, etc 2024-12-08 22:59:06 -08:00
debian.go drop old root command, fix flags, etc 2024-12-08 22:59:06 -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 drop old root command, fix flags, etc 2024-12-08 22:59:06 -08:00
main.go drop old root command, fix flags, etc 2024-12-08 22:59:06 -08:00
README.md Update README 2024-12-08 23:08:21 -08:00

mkvm

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

Usage

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.

There are some common flags to dictate the parameters of the VM:

  -c, --cpu int                    the number of vCPU cores to assign to the VM (default 2)
  -d, --disk int                   disk size (in GB) (default 25)
  -m, --memory int                 amount of memory (in MB) to assign to the VM (default 1024)

Other than that, different distros have different flags.

Debian

Usage:
  mkvm debian vm-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 debian
  -m, --memory int                 amount of memory (in MB) to assign to the VM (default 1024)
  -p, --packages stringArray       apt packages to install
  -r, --release string             debian release to install. Options: bookworm (default), trixie, sid (default "bookworm")
  -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