String templating of yaml files. Everything is global scope. No sane way of reusing parts of a template.

We use helm, but for the life of me, there are some pretty poor design choices in there.

Shameless plug - I’ve worked on a dsl tool [0] at my previous gig that addresses these because I was similarly unimpressed with helm

[0] - https://github.com/cruise-automation/isopod