HashiBox is a local environment to simulate a highly-available cloud with Consul, Nomad, and Vault.
It also installs Docker for running Nomad's jobs inside containers. It leverages Vagrant for virtualization, and Bolt for maintenance automation across nodes.
The main goal is to provide a development setup where Nomad jobs can safely be tested against real-life environments as close as possible.
Notes:
- The Vagrant environment uses a lot of resources. 1Go RAM per client nodes
(x3) and 512Mo RAM per server nodes (x3). You should change these resources
in the
Vagrantfile
accordingly to your machine. - To simplify the setup, ACL and TLS across Consul, Nomad, and Vault are not configured. As stated, the primary goal is to test Nomad jobs in a highly available environment. Feel free to make a pull request to support these features.
- Only Vault server is leveraged. Vault agents in client mode are not setup since we don't use it. Feel free to make a pull request to support it.
- We could have leveraged Vagrant's sync folders instead of Bolt. Bolt is a better choice for better production-practices.
Getting started:
Other documents:
Repository licensed under the Mozilla Public License, version 2.0.