The ImageAPI describes a restful (Swagger/OpenAPI 2.0) interface for attaching, mounting, and launching system image containers. It also includes an image loading implementation.
Currently, if we use a cascading call and it only partially completes we could leave orphaned mounts/attaches. This could be easily remedied by implementing some simple garbage collection that clears out allowable objects automatically.
...the issue is with how we call go-fork in the func init(), which ends up getting called for all makebb processes. Need to move go-fork logic into func main() somewhere, even though that risks tainting generted code.
The concept here is that you want to be able to create a referencable mount or device that natively exists on the underlying system without any real mount or attach taking place.
Add support to copy an RBD image, NFS squashfs file, etc from network storage to local ramdisk or node local storage, then loop mount and overlay as normal.
This will be useful for cases where an admin doesn't want the node to have a hard dependency on the network storage being up, and doesn't care about the increased boot time and load.
...mounts and attachments could be handled in a much more generic way through interfaces, and this will pay off as we add different mount/attach methods.