The Kubernetes ecosystem is rife with tools like this, and it feels like such a chore to just keep up with every new templating system for YAML files. I have started to just write Go programs that directly talk to the Kubernetes API and manage my rollouts (one step away from operators).
https://github.com/bitnami/charts/blob/master/bitnami/grafan...
It's more curly brackets than YAML :)
Instead, kpt's key design philosophy is to keep configuration as data. This makes it easier to develop tooling that operate on configs.