diff --git a/README.md b/README.md index c3ced7b..9a6d05d 100644 --- a/README.md +++ b/README.md @@ -2,21 +2,8 @@ An opinionated cloud VM creation tool: create VMs on libvirt. +## Usage -``` -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: @@ -25,3 +12,30 @@ 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 +```