However, it fails when the reality of running a service in production hits and you need to dive into changing a Chart template, requiring knowledge of not just the Kube API but also more often than not ugly template-fu to get the changes that you want reflected.
I really just recommend using raw K8s resource files for almost everything unless you are managing hundreds of similar releases.
https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-a...
If you’re using Kube you need to understand Kube. Conveniences are great to accelerate common tasks but as you say at some point ya gotta get into the guts of it and tweak things.
A package manager lets someone who has knowledge of how to run an application on a platform (e.g., postgresql on debian) package it up in a way that others who don't have this knowledge can run an application without needing to learn it.
That's why I can use `apt install` regularly without needing to know the business logic of running all those apps on my system.
Package managers let you compartmentalize and automate expertise.
I've lost track of how many times helm has misrepresented the result of upgrade operations, even returning success when it actually failed, and what should be routine upgrades often break in ways that require detailed knowledge of both kubernetes and helm to recover from.
Yes, conflicts and failures do sometimes happen with package managers, but with helm we've seen it happen with nearly every Chart at some point or another, from the simplest single-resource pipelines to widely used community projects.
Helm 3 will help, but it's still built around the same messy string-templating system that ensures Charts are fragile and difficult to understand.
what is the competing tech?
In fact, helm has moved closer ideologically in this new release to what Kustomize is.