mkvm/README.md
2024-12-08 23:08:21 -08:00

1.6 KiB

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