Projected has moved ->
https://codeberg.org/EntanglementGarden/mkvm
config | ||
libvirtx | ||
volumes | ||
.gitignore | ||
common.go | ||
debian.go | ||
go.mod | ||
go.sum | ||
http.go | ||
main.go | ||
README.md |
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