This project contains the Packer build configurations for all golden calf VM images used at Currenthost.
Each box builds a minimal base box for use with VirtualBox.
The following software must be installed/present on your local machine before you can use Packer to build any of these Vagrant boxes:
Make sure all the required software (listed above) is installed, then cd into one of the box directories and run:
$ packer build -var 'version=1.2.0' box-config.json
After a few minutes, Packer should tell you the box was generated successfully, and the box was uploaded to Vagrant Cloud.
Note: This configuration includes a post-processor that pushes the built box to Vagrant Cloud (which requires a
VAGRANT_CLOUD_TOKEN
environment variable to be set); remove thevagrant-cloud
post-processor from the Packer template to build the box locally and not push it to Vagrant Cloud. You don't need to specify aversion
variable either, if not using thevagrant-cloud
post-processor.
Whenever VirtualBox is updated, it's best to re-build all the base boxes, so they have the latest guest additions.
Assuming you have Ansible and Packer installed already, and you have a VAGRANT_CLOUD_TOKEN
available in your environment, you can run the playbook to build and push updated versions for all the boxes:
ansible-playbook build-boxes.yml
You can also build and push just one box:
ansible-playbook build-boxes.yml -e "{'boxes':['debian11']}"
There's an included Vagrantfile that allows quick testing of the built Vagrant boxes. From the same box directory, run the following command after building the box:
$ vagrant up
Test that the box works correctly, then tear it down with:
$ vagrant destroy -f
MIT
Most of the credit for this repo must go to Jeff Geerling, author of Ansible for DevOps. We extend the golden hand of gratitude for all your work.