Vaark is...
-
the simplest, most portable way to describe and build VMs and networks.
-
the most rapid and reproducible way to build VMs for local development.
-
the most secure way to build VM images for cloud deployments.
-
a great way to develop and run clustered applications locally.
-
a handy tool for software integration testers.
-
a free open source project!
Vaark currently supports Intel guests on Intel hardware via VirtualBox. Vaark is currently being ported to use QEMU so it will also support Apple Silicon (M1, M2, ...).
Quick Install
Paste this command into a terminal prompt on Mac or Linux*:
source /dev/stdin <<< "$(curl -fsSL https://vaark.org/dist/vaark-install)"
* on Linux, you might need to install curl first.
The installer will alert you about any dependencies.
See Installing Vaark And Dependencies for further details.
Quick Start 1 — Just a VM, please
- Make a minimal clone of any popular linux distribution. Let’s call it “bessie”
vrk-vm-clone debian-netinst-11 bessie
(Your choices are:)• debian-netinst-10-13-0 • debian-netinst-11-6-0 • ubuntu-server-20-04-5 • ubuntu-server-22-04-1 • almalinux-minimal-8-7-1 # redhat • almalinux-minimal-9-1-1 # redhat • rockylinux-minimal-8-7-0 # redhat • rockylinux-minimal-9-1-0 # redhat • oraclelinux-server-8-7-0 # redhat • oraclelinux-server-9-1-0 # redhat
- Start the VM and connect
vrk-vm-ssh bessie
Quick Start 2 — Minimal Project
- Create a 2-line Vaark project file (project.vrk) defining a single Debian VM, called “holstein”
mkdir -p ~/my-cluster echo '[holstein.vm]' > ~/my-cluster/project.vrk echo ' vm_proto=debian-netinst-11' >> ~/my-cluster/project.vrk
- Build the project
vrk-project-build --file ~/my-cluster
- Start the VM and connect
vrk-vm-ssh holstein
Quick Start 3 — Template Project
- Use vrk-project-starter to start a project called herd using a simple template.
The default template defines 2 VMs – one client and one server.vrk-project-starter ./herd
- Build the project
./herd/project-build
- Start the VMs and connect
vrk-vm-ssh herd-client
vrk-vm-ssh herd-server
- To make changes, edit the files in ./herd/ and build again!