HashiQube — A DevOps Development Lab Using All the HashiCorp Products

Riaan Nolan
7 min readJul 5, 2023

--

Hello friends! Today, I’d like to give you a brief introduction to Hashiqube.

HashiQube’s Youtube Channel — Please Subscribe https://www.youtube.com/@hashiqube

Hands-on DevOps Lab HashiQube

This will be the first article in a set, that will help you use Hashiqube to learn and use Hashicorp Products, Docker, Kubernetes, Grafana, Prometheus, Helm Charts and much much more… but let’s start the beginning…

3 years ago, I started learning about and using Hashicorp Terraform and Vault. First I installed it on my laptop, but since I was quite new on Vault, I frequently needed to “Reset” my Vault installation due to the many scenarios and use cases I was exploring.

I knew there was a better way, since I’ve used Vagrant before, with great success, I decided to make a Lab using Vagrant, that I could spin up and down, while keeping my configuration in code, which enabled me to commit my changes to version control. This worked great, because I could spin it up at home, and use my lab on the train without an Internet connection.

I was absolutely blown away by Hashicorp software and I participated in Hashitalks ANZ and you can view the blog post and video below.

As time went by, I needed to integrate services with Vault, such as MySQL, MS SQL, PostgreSQL, Ansible, and Hasiqube steadily grew with more and more integrations.

Fast forward 3 years and Hashiqube now runs the following integrations…

HashiQube — A Development Lab using all the HashiCorp Products
  • Multi Cloud — Hashiqube on AWS, GCP and Azure (Clustered) https://registry.terraform.io/modules/star3am/hashiqube/hashicorp/latest
  • Vagrant — Vagrant is an open-source software product for building and maintaining portable virtual software development environments; e.g., for VirtualBox, KVM, Hyper-V, Docker containers, VMware, and AWS. It tries to simplify the software configuration management of virtualization in order to increase development productivity vagrant up --provision
  • Vault — Secure, store and tightly control access to tokens, passwords, certificates, encryption keys for protecting secrets and other sensitive data using a UI, CLI, or HTTP API vagrant up --provision-with basetools,vault
  • Consul — Consul uses service identities and traditional networking practices to help organizations securely connect applications running in any environment vagrant up --provision-with basetools,consul
  • Nomad — A simple and flexible scheduler and orchestrator to deploy and manage containers and non-containerized applications across on-prem and clouds at scale vagrant up --provision-with basetools,docker,nomad
  • Traefik — Traefik is a modern HTTP reverse proxy and load balancer that seamlessly integrates with Nomad vagrant up --provision-with basetools,docker,nomad or vagrant up --provision-with basetools,docker,minikube
  • Fabio — Fabio is an HTTP and TCP reverse proxy that configures itself with data from Consul vagrant up --provision-with basetools,docker,nomad
  • Terraform — Use Infrastructure as Code to provision and manage any cloud, infrastructure, or service vagrant up --provision-with basetools,docker,localstack,terraform
  • Packer — Create identical machine images for multiple platforms from a single source configuration.
  • Sentinel — Sentinel is an embedded policy-as-code framework
  • Waypoint — Waypoint is an open source solution that provides a modern workflow for build, deploy, and release across platforms vagrant up --provision-with basetools,docker,waypoint or vagrant up --provision-with basetools,docker,waypoint-kubernetes-minikube
  • Boundary — Simple and secure remote access to any system from anywhere based on user identity vagrant up --provision-with basetools,boundary
  • Docker — Securely build, share and run any application, anywhere vagrant up --provision-with basetools,docker
  • Localstack — A fully functional local AWS cloud stack vagrant up --provision-with basetools,docker,localstack,terraform
  • Ansible — Ansible is a suite of software tools that enables infrastructure as code. It is open-source and the suite includes software provisioning, configuration management, and application deployment functionality.
  • LDAP — Lightweight Directory Access Protocol vagrant up --provision-with basetools,vault,ldap
  • Jenkins — Jenkins is an open source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery vagrant up --provision-with basetools,docker,vault,jenkins
  • Oracle MySQL — MySQL is an open-source relational database management system (RDBMS) vagrant up --provision-with basetools,docker,vault,mysql
  • Microsoft MSSQL — Microsoft SQL Server is a relational database management system developed by Microsoft vagrant up --provision-with basetools,docker,vault,mssql
  • PostgreSQL — PostgreSQL, also known as Postgres, is a free and open-source relational database management system emphasizing extensibility and SQL compliance vagrant up --provision-with basetools,docker,vault,postgresql
  • Minikube — Minikube implements a local Kubernetes cluster on macOS, Linux, and Windows vagrant up --provision-with basetools,docker,minikube
  • Newrelic Kubernetes Monitoring — Monitor Kubernetes Clusters and Workloads with Newrelic
  • Docsify — A magical documentation site generator vagrant up --provision-with basetools,docsify
  • Mermaid — Generation of diagram and flowchart from text in a similar manner as markdown
  • Prometheus — Open-source monitoring system with dimensional data model, flexible query language, efficient time series database & modern alerting vagrant up --provision-with basetools,docker,minikube,prometheus-grafana
  • Grafana — Grafana is the open source analytics & monitoring solution for every database vagrant up --provision-with basetools,docker,minikube,prometheus-grafana
  • Elasticsearch — Elasticsearch is a search engine based on the Lucene library vagrant up --provision-with basetools,docker,elasticsearch-kibana-cerebro
  • Kibana — Kibana is an open source data visualization dashboard for Elasticsearch vagrant up --provision-with basetools,docker,elasticsearch-kibana-cerebro
  • Cerebro — Cerebro is the evolution of the previous Elasticsearch plugin Elasticsearch kopf vagrant up --provision-with basetools,docker,elasticsearch-kibana-cerebro
  • AWX-Tower — (AWX Tower is the Open Source version of Ansible Tower) Is a web-based solution that makes Ansible even more easy to use for IT teams of all kinds. It’s designed to be the hub for all of your automation tasks vagrant up --provision-with basetools,docker,minikube,ansible-tower
  • Dbt — Dbt is a data transformation tool that enables data analysts and engineers to transform, test and document data in the cloud data warehouse vagrant up --provision-with basetools,docker,postgresql,dbt
  • Airflow — Apache Airflow is an open-source workflow management platform for data engineering pipelines vagrant up --provision-with basetools,docker,docsify,postgresql,minikube,dbt,apache-airflow
  • Visual-Studio-Code — Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications vagrant up --provision-with basetools,docker,vscode-server
  • Portainer — A lightweight service delivery platform for containerized applications that can be used to manage Docker, Swarm, Kubernetes and ACI environments. It is designed to be as simple to deploy as it is to use vagrant up --provision-with basetools,docker,docsify,portainer
  • Gitlab — GitLab is a complete DevOps platform, delivered as a single application vagrant up --provision-with basetools,docker,docsify,minikube,gitlab
HashiQube runs many other Open Source Integrations

But how does it work? Well essentially Hashiqube is a Docker container (default) or a Virtual Machine.

Hashiqube has a Docker Daemon inside meaning we can run docker containers / pods inside Hashiqube using Kubernetes or Nomad or Docker run. So a docker container, with a docker daemon, running more docker containers… Inception!

Hashiqube runs on your local laptop, PC or a cloud instance.

Hashiqube runs all the Hashicorp products and other popular Open Source tools, such as Minikube, AWX Tower, Prometheus and Grafana and many, many more, See Hashiqube Integrations

You can also run Hashiqube on AWS, GCP and Azure. This is called Hashiqube Multi-Cloud, see: Multi-Cloud

Hashiqube is a Training / Development Lab for you to practise, learn or demo POC stuff with, it should not be run in production.

Hashiqube can be visualized with the diagrams below.

To get started is actually pretty easy!

We need to install Docker, Vagrant and Git! And that’s it!

In a follow-up article, I will go a bit deeper into the various integrations!

I hope Hashiqube helps you learn, test, debug and POC stuff in a quick and efficient way, and remember friends! Have fun while learning!

Thank you for your time, and I hope you have a great day!

Hashicorp blog post: https://www.hashicorp.com/resources/hashiqube-a-development-lab-using-all-the-hashicorp-products
Hashiqube Website: https://hashiqube.com
Hashiqube Github: https://github.com/star3am/hashiqube
Hashiqube Youtube: https://www.youtube.com/watch?v=6jGDAGWaFiw
Hashiqube Medium: https://medium.com/search?q=hashiqube
Hashiqube Terraform Registry module: https://registry.terraform.io/modules/star3am/hashiqube/hashicorp/latest

About Riaan Nolan

My name is Riaan Nolan and I was born in South Africa. I started out as a Web Developer in 2000 and from there progressed into Systems Administration, with a strong focus on Automation, Infrastrtucture and Configuration as Code.

I have worked for Multi-National companies in Portugal, Germany, China, South Africa, United States and Australia.

I am a Hashicorp Ambassador, a Certified Terraform Instructor and a huge fan of DevOps!

You are welcome to connect with me on Linkedin https://www.linkedin.com/in/riaannolan/
Credly profile: https://www.credly.com/users/riaan-nolan.e657145c

--

--

Riaan Nolan

My head is in the clouds and my feet are in the beach sand, I’m working on a dream ❤