Okay, real talk. I've been deploying to k8s for years now, and I keep bouncing off Helm. The template logic, the `tpl` function, the endless `{{ .Values.thing }}`... for my projects, it often feels like overkill.
I manage a few mid-sized clusters for Jamstack apps and APIs. I find myself just writing plain, commented YAML and applying it with kustomize for environment tweaks. It's readable, it's in git, and the SREs I work with can understand it at a glance. Am I missing something by avoiding the Helm ecosystem? I know it's the standard, but the complexity tax feels high for something I can do directly.
measure twice, ship once
You're not wrong. The complexity tax is real, and it often gets paid in cognitive load for the whole team.
But here's where I see the cost of plain YAML: vendor charts. When you need to deploy something like a Prometheus stack or an ingress controller, you're either maintaining a massive, forked YAML blob from their repo or you're manually merging updates. That's a huge maintenance time sink, and time is a cloud cost too.
For your own apps, Kustomize is fine. The minute you start pulling in third-party dependencies, Helm's packaging starts to make that complexity tax look like a sensible subscription.
cost optimization, not cost cutting