Hashi Stack with Vagrant, Terraform, Nomad, Consul, Vault
 
 
Go to file
Anurag Guda ffd00c44d6
Create .gitattributes
2021-03-22 15:49:48 -07:00
consul Hashi Stack 2020-05-18 21:37:21 -07:00
hashi-ui Hashi Stack 2020-05-18 21:37:21 -07:00
images Hashi Stack 2020-05-18 21:37:21 -07:00
nomad Hashi Stack 2020-05-18 21:37:21 -07:00
packer Hashi Stack 2020-05-18 22:04:32 -07:00
terraform Hashi Stack 2020-05-18 21:37:21 -07:00
vagrant Hashi Stack 2020-05-18 22:00:35 -07:00
vault Hashi Stack 2020-05-18 21:37:21 -07:00
vault-consul-kubernetes vault consul on kubernetes 2021-03-01 01:27:35 +00:00
.gitattributes Create .gitattributes 2021-03-22 15:49:48 -07:00
README.md Hashi Stack 2020-05-18 22:10:42 -07:00
setup.sh Hashi Stack 2020-05-18 21:37:21 -07:00

README.md

HitCount

Complete HashiStack

Instroduction

This repository helps you to setup your development environemt and also setup production environment with 3 master nodes and 2 clients.

Motivation

Hashi Stack Setup Vault HA Setup Nomad HA Setup

Build and Test Environment

Build and test Environment helps you to explore the tools and test your changes on vagrant. You can modify the number of servers on vagrant file to test the changes.

The Final Test Environment inclides:

  • Vagrant
    • Consul 1.7.3
    • Nomad 0.11.1
    • Vault 1.4.1

Prerequsites

  • MacOS (Linux testing in progress)
  • Homebrew
  • brew install packer terraform nomad
  • brew cask install virtualbox

Usage

Update your number of servers depends on your system memory and CPU and run below command to explore hashi tools

$ cd vagrant
$ vagrant up

Deployment

Connect nomad cluster and run below command to install job on nomad, please make sure you have enough resources to run the jobs

$ vagrant ssh server-1
$ nomad run -address http://172.20.20.11:4646 /tmp/jobs/nginx.nomad
$ nomad run -address http://172.20.20.11:4646 /tmp/jobs/simple.nomad

Access

Use the private IP address to access the applications, in this

Access Nomad Cluster http://172.20.20.11:4646

Access Consul Cluster http://172.20.20.11:8500

Access Vault Cluster http://172.20.20.101:8200

Access Hashi UI http://172.20.20.11:3000

Enterprise Setup

This enterprise setup helps you to setup High Availability cluster with 3 masters and 2 clients on AWS.

The Final Environments Includes:

  • Packer
  • Terraform
    • Nomad
    • Consul
    • Vault

Prerequsites

  • Install Packer and Terraform
  • AWS access credentials
  • AWS private key

Usage

Uset setup.sh scripts helps you to setup cluster environment on AWS. Update your AWS credentials in variables.tf and run the script

sudo bash setup.sh

Access

With AWS environment we don't have an option to access UI as it's setup with Private IP, but with help of Hashi UI we can access Nomad and Consul

Use the Output of AWS public IP and access hashi UI

Access Hashi UI with http://awspublicip:3000

Troubleshooting

Please raise a github issue, if you had any issue with setup.