This project produces an Ubuntu OS Vagrant box, which is built using Hashicorp Packer for consumption by Hashicorp Vagrant, tailored to run on VirtualBox. The box is provisioned using Ansible, and aims to provide developers with an environment containing some of the most common development tools and packages.
This will install:
- Intellij Community Edition
- Spring Tool Suite
- Maven
- Cloud Foundry CLI
- BOSH 2.0 CLI
- and a number of other supporting development tools.
For full details of the tooling and versions provided with this environment please refer to the parent ansible playbook as well as the developer packages playbook.
To validate the packer configuration, navigate to the root of the project and run:
packer validate development-environment-base.json
To build the project, navigate to the root of the project and run:
packer build development-environment-base.json
You'll need to set the VAGRANT_CLOUD_TOKEN
, VAGRANT_CLOUD_ENDPOINT
, ATLAS_USERNAME
& ATLAS_NAME
environment variables to push this artefact up to Vagrant Cloud
The built vagrant artefact is available here. You'll also require VirtualBox and Vagrant to use this base box.
- 8GB RAM (by default 4GB is allocated to the VM, see Getting Started to increase this)
- 30GB disk space (not all will be allocated immediately)
Included is a basic Vagrantfile, run:
vagrant up
See Vagrant cli commands for more information.
The following environment variables can be set to tune the development environment.
Variable | What for | Default |
---|---|---|
DEVENV_PROCESSORS |
How many CPU cores to allocate | 2 |
DEVENV_MONITORCOUNT |
The number of monitors to use | 1 |
DEVENV_MEMORY |
How much memory, in MB, to allocate | 4096 |
Credit to @geerlingguy for his image, on which this is based