https://github.com/linuxkit/linuxkit/blob/master/README.md
It is mostly for cloud systems (last I checked the Alpine distro was a core dependency) and is still a bit raw but a vast improvement compared to what's currently available. Existing solutions like Buildroot/Yocto etc. have a horrendous UX, think editing Makefiles by hand while LinuxKit is Docker-style single yaml defined immutable system + go binary build tool with a unified interface.
There are also stuff like Nix and GUIX but the learning curve is non-negligible and have a lot less money driving the development.
I've seen linuxkit a few times now but it didn't click that this is what it does.
The problem still remains that there's no good distribution-agnostic combination of boot image creator + provisioning system. The ideal situation is one tool that allows me to start with an arbitrary base distribution, provision it, and build a bootable image for the VM provider of my choice (VirtualBox, EC2, bhyve, etc.).
It's a little bit more low-level, but I use it to build images which run under VMWare and on EC2 in AWS. I tend to just use the configuration file to install ansible inside the new instance, then configure the actual system like that.
Edit: not an edit, but I realize it's a double standard to think of Dockerfile's as anything but specifying strings for provisioning.
and if we go deeper you can also see isolinux has been doing this for sometime
It integrates directly with Grub for easy booting.
https://old.reddit.com/r/archlinux/comments/7uqf88/announcin...
I've been using it for over a year with Ubuntu.
Here are my recipes: https://github.com/pauldotknopf/darch-recipes