vxsuite-build-system is our framework for building VxSuite and managing its dependencies, across versions and environments.
- Parallels Pro for Mac: https://www.parallels.com/products/desktop/pro/
- Parallels Virtualization SDK for Mac: https://www.parallels.com/products/desktop/download/
- Xcode Command Line Tools (There are multiple ways to install this. A simple method:
xcode-select --install - Install
packervia homebrew (if you don't already have homebrew installed, you can install homebrew via instructions here: https://brew.sh/):brew tap hashicorp/tapbrew install hashicorp/tap/packer- (Optional, but recommended):
brew upgrade hashicorp/tap/packer
- Clone vxsuite-build-system via https or ssh
- Via https:
git clone https://github.com/votingworks/vxsuite-build-system.git - Via ssh:
git clone [email protected]:votingworks/vxsuite-build-system.git
- Via https:
- Initialize packer
- Be sure to
cdinto the newly cloned vxsuite-build-system repo - Run:
packer init parallels-debian12.pkr.hcl
- Be sure to
- Run:
packer build parallels-debian12.pkr.hcl(This will take 10-20 minutes, depending on your machine and internet speed. You can watch the progress by opening the VM from the Parallels Control Center.) - Once it completes, you will have a new VM available in your local Parallels directory. This is
~/Parallelsby default. To start this VM, run:open ~/Parallels/debian-11.6-arm64.pvm/ - The default username is
vxwith a default password ofchangeme
You can further customize your Parallels VM with various options provided to the packer build command. Unless otherwise noted, you can combine as many of these in a single command as you want.
If you'd like to change the default username, use the local_user variable.
For example: packer build -var "local_user=your_username" parallels-debian12.pkr.hcl
It's possible to make a local folder accessible to this Parallels VM via two variables.
shared_path- the full path on your local machine to make available in the VM (default is /tmp)enable_shared_path- whether to enable/disable sharing. The default isdisable
For example, to share your home directory to the VM:
packer build -var "shared_path=/Users/your_username" -var "enable_shared_path=enable" parallels-debian12.pkr.hcl
Depending on your needs, you can increase or decrease the resources allocated to your VM.
vm_cpus- This determines how many CPUs are available to the VM. The default is 2.vm_memory- This determines the amount of RAM (in megabytes) available to the VM. The default is 8192 (8GB).
For example, to allocate 4 CPUs and 16 GB of RAM to a VM:
packer build -var "vm_cpus=4" -var "vm_memory=16384" parallels-debian12.pkr.hcl
To change the name of the VM being built, use the vm_name variable (default is debian-11.6-arm64.pvm)
For example, to name your VM "MyVM":
packer build -var "vm_name=MyVM" parallels-debian12.pkr.hcl
All files are licensed under GNU GPL v3.0 only. Refer to the license file for more information.