Further, K8s exposes an YAML interface because it is relatively human readable and of course is machine readable. I'm sure the k8s community encourages users to build on top of this. Want to really do code as config? Write a nice DSL in your favorite scripting language to produce these YAMLs. Submit that as source. You've now automated away the vast majority of toil related to k8s YAML config, because your code can be:
1. modular by design
2. tested
3. tracked as code
etc etc
Edit: disclaimer, I have not used a PaaS service in a couple years.
It takes containers to their logical conclusion by generalizing them to a function while removing quite some operational overhead on the way.
I think Dhall is in the right category of solutions for this problem. YAML needs to be reusable and text templates a la Helm are an amusingly bad solution. Moreover, I think static typing is a very nice feature for things that generate YAML since it’s so easy to make mistakes with these kinds of tools. I’ve used Starlark for these kinds of tasks in the past and the lack of static typing has been a sore point.
1. Pre-kub: orchestration is manual through AWS EC2 ui
2. Kub: orchestration is automated and configuration is treated as code (YAML, JSON, proto, whatever) and kept in revision control just like source code
3. Post-kub: orchestration is manual through a ui
In all seriousness I'm sure this is useful in limited cases, but for most the right answer isn't some fancy UI, its middleware or some layer on top of kubernetes that allows you to automate away the toil-y parts of YAML, but keep the flexibility.
EDIT: line breaks.