Part: 3 - Every developer knows the pain of setting up Kubernetes clusters for testing and development. What starts as a simple task can quickly become a complex maze of configurations, tools, and addons. This was the challenge that inspired me to create Sherpa, a Golang CLI tool designed to streamline Kubernetes cluster bootstrapping.
The Genesis of Sherpa
Initially, my goal was straightforward: create an easy way to bootstrap local Kubernetes clusters for testing. While tools like k3d already existed for spinning up local clusters, I found myself repeatedly manually adding essential addons like ArgoCD. This repetitive process sparked a more ambitious idea.
What if I could create a tool that not only sets up a local cluster but also serves as a control plane for creating additional Kubernetes clusters? Thus, Sherpa was born.
How Sherpa Works
Just as a mountain Sherpa guides climbers to the summit, this CLI tool guides developers through the complex terrain of Kubernetes cluster management. Sherpa leverages k3d to create a local Kubernetes cluster and then automatically installs critical components:
- ArgoCD for continuous deployment
- Crossplane for infrastructure management
- Cluster API for cluster lifecycle automation
These integrated tools transform a simple local cluster into a powerful control plane capable of provisioning clusters both on-premise and in the cloud.
Meet Lead Sherpa: Bare Metal Cluster Bootstrapping
Building on Sherpa's foundation, I developed Lead Sherpa, another Golang CLI that takes cluster management a step further. Specifically designed for bare metal environments, Lead Sherpa combines:
- ArgoCD for deployment
- Cluster API for cluster management
- Tinkerbell for bare metal provisioning
- KubeKey for simplified Kubernetes cluster creation
What's Next?
In my upcoming blog post, I'll introduce Carabiner, a CLI tool designed to bootstrap engineers' laptops, continuing the mission of streamlining development workflows.
Stay tuned, and happy clustering!