/hashibox-nomad

Nomad developement environment based on nunchistudio/hashibox

Primary LanguageShellMozilla Public License 2.0MPL-2.0

HashiBox

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.

Documentation

Getting started:

  1. Introduction
  2. Installation
  3. Vault initialization

Other documents:

Screenshots

Consul

Consul Services

Consul Nodes

Consul Key/Value

Nomad

Nomad Servers

Nomad Clients

Nomad Topology

Vault

Vault Secrets

Vault Access

License

Repository licensed under the Mozilla Public License, version 2.0.