Support for OCI tarballs

A couple of observations, coming from the Bazel / Podman space, the container build process either allows a buildpack, or assumes that the image is pushed to a registry (I think local docker registry works as well?)
But, images are essentially archives in the OCI format and I think that’s a space currently unexplored. For a purely Docker-less experience,

  1. Bazel can build the source code and generate an OCI tarball, and flyctl should be able to deploy this tarball.
  2. Bazel can build the source code and dump it to the local Docker registry, and then flyctl can deploy from the local registry. But this is suboptimal when the USP is “don’t have to have Docker locally”.

I’m thinking of adding support using the following approach

  1. fly.toml's [build] section can additionally support a tar attribute which is essentially local (or remote?) file path.
  2. The tarball can be verified to be in valid OCI format.
  3. flyctl can then push the tarball just like it would an image from a registry.

Any thoughts?