It’s been a while since we’ve dug into Helm! Since the Helm team just shipped 3.8.0, it’s time to dedicate another Kubelist newsletter to this project. Helm is now a graduated project, and is one of (if not the top) most popular ways to consume OSS applications in Kubernetes. You know Helm, so let’s just dig into this week's links! 🎓
Let’s start with the most recent news: Helm 3.8.0 has been released. Lots of stuff here, but the one that’s getting the most attention is OCI registry support. I’m super excited about this feature and the opportunity it means for easier storage and distribution of charts! If your registry doesn’t yet support OCI (most do!) you should check for an update or consider switching to an OCI-compliant registry. 🆕
From our friend Matt Butcher (Podcast 21 - Krustlet) here’s an older but still relevant walkthrough of creating Helm plugins. There’s a lot of untapped potential in Helm plugins, and I’m looking forward to seeing the community start to package and deliver some powerful functionality this way. 🔌
One of the pain points of Helm is accepting user data in the values.yaml file. This file is too often prone to user error. What if you want an int, and the person running helm install passes a string? Chances are that this will break your app, so catch it with some schema validation. Schema validation at this level is supported in Helm today, and if you are packaging a helm chart, consider creating that schema file.
There are some good patterns here if you are going to deliver a Helm chart. A lot of the learnings here are the types of things we figure out only after shipping and in the middle of a debug session. Why didn't a Deployment roll when the customer shipped an update etc, great to learn about these things when your hair is not on fire!. Take a look, all of this is solid pragmatic advice.
Anyone who knows me would tell you that I’m a GitOps fan. Helm can be operationalized better with GitOps and ArgoCD is doing a great job of bringing that to the community. Typing “helm install” into your CLI is one of many ways to use Helm, but when in Kubernetesland one must understand there are many right ways to do things. Argo can meet you where you are and let you manage charts the way you manage other Kubernetes resources, in your CI/CD pipeline. 📊
More GitOps! I recently deployed a Helm chart using the steps on this page because I have Flux2 running in a cluster. It was extremely easy and felt natural. Even if you aren’t on the Helm bandwagon, give it a try and you’ll be delighted. Sometimes it is nice to just have “things work”!
Part of this great Kubernetes Documentary is out! If you missed this during the past week, I recommend it. This is a great watch, featuring some early stories. 🎥