why k8s ecosystem is so filled with yaml on-top-of-yaml, configuration on-top-of-configuration? where does this end? can we have less yaml, less configuration, not more?
The underlying engine is actually completely decoupled from yaml as it's really just structured data. We chose to stick with yaml for the "interface" since that is ultimately what it's managing—Kubernetes manifests. Personally, I tend to prefer keeping the configuration true to the underlying thing being configured rather than abstracting it away with DSLs, but I realize it's not for everyone.
I think since the complexity is high and you cannot run away from that other than making a very small box that not a lot of use cases fit into. The main use case of k8s is handling more complex use cases so you'd remove a large portion of your audience by constraining the config.
Agreed. YAML was a great upgrade to traditional ini files, but its usage beyond any non-static config use case was a mistake. Not just k8s configs, but also ansible (Chef's ruby was so much better, chef just lost because it required an agent), and GitHub actions.