HashiQube - A Development Lab Using All the HashiCorp Products
This HashiStack demo environment helps you host Nomad, Consul, Terraform, Packer, and Vault locally without leaving dangling Docker volumes or other pollutants afterward.
What if you had a VirtualBox that included HashiCorp Vagrant, Packer, Terraform, Vault, Consul, and Nomad in it for anyone to demo or practise with? Now you can find out, with HashiQube. HashiQube is a development lab that runs all HashiCorp products plus Sentinel policy as code.
Integrations to Try Out
It includes integrations with popular software such as Localstack, which goes with Terraform. Nomad and Consul integrate with the Fabio load balancer and the Count Dashboard demo. Vault is integrated with with MySQL and Microsoft SQL Server (MSSQL). Vault and Jenkins are integrated with the Jenkins Vault Plugin. Vault is also integrated with LDAP for authentication.
This Virtual machine is intended to be used for quick proof of concepts, for demos, or by developers testing integrations with their applications.
Vagrant is the Wrapper
Vagrant was chosen specifically as a wrapper to host these applications and containers so that you don't “pollute” laptops with dangling Docker volumes and programs that start to use unnecessary resources. I also use Vagrant since it's part of the family of HashiCorp products. The setup is simple and I tried to do it all in code. It's small and lightweight to ship and can be extended to host more applications.
Things You Can Test
Nomad jobs are used to launch Fabio load balancer Docker containers and the count dashboard. Routes are added via the command line utility KV store in Consul and propagates to Fabio. Using this setup you can test how Vault creates MySQL and MSSQL users and remove them after the TTL has passed. You can test the Vault and LDAP integration for authentication and test Jenkins fetching secrets from Vault.
What You'll Learn
This talk shows how HashiQube can help students, developers, and sales people demo and develop on HashiCorp products without the need for an internet connection (Once Vagrant up’d) and without the need for an AWS account. The lab can be spun up quickly and destroyed even quicker. Working locally is faster, more comfortable, and enables a range of self test and config changes.
For more content on HashiCube, read the blog Introducing the HashiQube
Where Can I Download HashiQube?
Download HashiQube on Servian's GitHub page
Slides
View this presentation's slides on Google Presentation