I have found that generating Kubernetes configurations using Jsonnet is quite pleasant. You don't have to use YAML. Jsonnet as far as I know, is the configuration language closest in semantics to Borg Config Language, which is what Google uses. I don't believe Googlers really thought people would use YAML directly. I think they assumed folks would use something nicer to generate YAML, which is the "assembly code" of Kubernetes configuration.