Here's yet another example of a fair criticism of Helm.
I think the problem raised by this article lays however deeper that it appears at the first glance. Sure, it is easier to "validate" the plain YAML with your eyes than YAML with GoTemplate logic on top of it. Still, this problem is kind of solved in the "conventional" software engineering already. Normally, you do not reimplement everything from scratch, and you do not read the whole library codebase when doing your
import foo. There are downsides, ofc, but somehow this whole industry works.In my opinion, we should start treating other people's charts (modules, roles, recipes, what have you) as libraries, not "someone else's shell scripts". Thus, tests and documentation shouldn't be an afterthought, even when it comes to the internal things. Moreover, it's on you to write acceptance tests for your use-case. Maintaining some tests is much easier than parsing walls of YAML by yourself, trust me.
P.S. If you're interested in testing of Helm charts (including 3rd-party ones), I have a two-parter on this: Part I and Part II.
P.P.S. I also recall a quote from Kelsey Hightower that YAML is just Kubernetes' Assembly. The fact that you can read and understand it doesn't mean you have to.
#kubernetes #helm