The idea was to scratch two itches at the same time. The first was to develop a deeper understanding and profiessional competency with as many Hashicorp products as possible. The second was to do something personally satisfying and – whom knows, even useful – with the small bits of hardware at my disposal.
By the latter, I mean a ruddy collection of Raspberry Pis and assorted add-ons. Not the most impressive of “data centres”, admittedly, but then again, I’m quite well and truly done with commodity and cloud computing. It’s a youngun’s game, and I’m officially a grumpy old fart. I wanted something to call mine, something I could work on at my own pace, and get lost in when I felt the desire to get lost, but that actually had some basis in reality.
Hashi at work
We use Hashi at work a lot. I have been perennially impressed by their documentation and by the design of their products. I’ve had the pleasure of putting Packer and Terraform to use on a daily basis, since they form the workhorse team in our continuous delivery pipelines. We’ve used Vault in a more-or less standalone way and I kept bumping into Nomad and Consul. The pressures of delivering service at work meant that it was never “the right time” to bring these into our stable, and that started to frustrate and tickle me. What were these things that seemed to be so near to the centre of the Hashiverse? Everything seemed to point to Consul as some sort of very important, but missing piece of the puzzle.
Hashi at Home
Late in the year of the plague 2020, Hashicorp announced two new products: Boundary and Waypoint. I almost had to take a personal day off when I heard the news! It had been quite a while since they had released a new product and the hype had been building, but in particular Waypoint landed squarely in our catalogue. A CI/CD tool from Hashicorp !? Too good to be true! The curiousity was eating me alive, I simply had to get some of that sweet, sweet Hashi stuff. However, as in all good stories, there was an obstacle to overcome! You see, we already had very good tools in that space, using a combination of Jenkins and Spinnaker for CI and CD respectively. Honestly, Spinnaker is as good as anything I’ve seen out there, and we’re very happy with it. Jenkins is pretty gnarly, but it’s ours. We have a few years’ experience with this combo in prod and we’re not going to change it, so in order to scratch this itch, I would need something isolated. For the longest time I have wanted something in my office that I can use to apply the same CI/CD principles to as I put into practice every day. Nothing I’ve found so far fit that bill - standalone, easy to configure, can run on my pis. I suspected… ok, I hoped that Waypint would finally be it.
So it came to be that I decided to turn my Raspberry Pis to deploy my own personal environment. It’s hard to say was the final factor that convinced me that I should do this, but perhaps it was the arrival of my Turing Pi late in December. Everything suggested that I should put a Kubernetes distribution on it in order to turn it into something useful. While I am not yet comfortable using Kubernetes at work, we deploy a few workloads on it, including our core services platform, so it’s very much a “professional” skill. Indeed, I had been looking forward to getting k3s on it. But reading through the Nomad documentation, I came across the alternative to Kubernetes page and that sealed the deal.
This is just a tribute
I should make it clear that this project is mine, mine mine and is in no way at all affiliated to Hashicorp. Consider this a tribute to their beautiful products!
Come with me as I start my way down the Hashicorp road – who knows, we might have fun and learn something!