Skip to content

Latest commit

 

History

History
48 lines (29 loc) · 1.4 KB

README.md

File metadata and controls

48 lines (29 loc) · 1.4 KB

POC Vault cluster

6 vms

  • consul consul server to coordinate discovery and provide a backend for vault
  • vault0 vault server
  • vault1 a second vault server to demonstrate how HA works
  • mysql a mysql-server for the todo service to utilize. credentials are managed by vault
  • todo0 the demo service to see everything come together
  • todo1 a second demo service for HA

not just a simple vagrant up:

For vault to be secure, the bootstrapping process for a new vault server must be done out of band. Key shards must be provided to unseal the vault, and these should be entrusted to trusted people (by entrusting them to an automated process, you haven't secured anything - just added another turtle to the stack).

That said, for this POC we are automating it (but keeping the work separate from the normal automation to illustrate the separation). So that's what all the bash scripts coming up are all about.

Setup

Install puppet deps:

./puppet-deps.sh

Bring up the infrastructure:

vagrant up consul vault0 vault1 mysql

Initialize, Unseal, and configure Vault:

./01-init.sh
./02-unseal.sh
./03-configure.sh

Stand up the todo instances:

./04-provision-todo.sh

Verify everything came up correctly:

curl -X POST http://172.20.20.14:8080/todo -d '{"status": "new", "content": "Hello World"}'
curl http://172.20.20.14:8080/todo/1