Look at helm charts, they have become the de facto standard for packaging/distributing/deploying/updating whole apps on Kubernetes
Something like Jsonnet would serve one better, I think. The only part that kinda sucks is the "package management" but that's a small price to pay to avoid the YAML insanity. Helm is fine for consuming third-party packages.