/vavamu

Build a local 3-node Vault cluster on M1 architecture

Primary LanguageShell

VaVaMu

Build a local 3-node Vault cluster on M1 architecture

This will deploy a three node Vault (Raft) cluster using Vagrant and MultiPass on Apple hardware using an M1 (ARM) processor.

This is an attempt to automate the setup as much as possible. As a result you'll have the following post deployment:

  • Vault started and unsealed.
  • Two standby nodes joined to the cluster.
  • Shamir unseal keys and root token written to /home/vagrant/unseal.keys on the active node.

Disclaimer

Please do not use this for production employments. This is for lab/testing purposes only.

Prerequisites

Usage

Clone the project

$ git clone https://github.com/kwagga/vavamu
$ cd vavamu

Setup OSS or Enterprise

  • For OSS run: sed -i "" 's/vault-enterprise/vault/g' Vagrantfile
  • For Enterprise populate vault.hclic with your license.

Fire up the vm's and bring up the cluster

$ vagrant up
$ ./cluster_up.sh

Once the cluster is up the nodes can be accessed with vagrant:

$ vagrant ssh node[1-3]

Clean up

$ vagrant destroy

Limitations

Multipass for MacOS on M1 does not currently support network management. canonical/multipass#2424

Troubleshooting

In some cases vagrant might not be able to bring up all three nodes. This results in some multipass vm's running (less then 3) while vagrant destroy won't be able to do a proper cleanup. To remove the stale vm's list, delete and then purge them.

$ multipass info --all
$ multipass delete <nodename>
$ multipass purge