As another infrastructure as code guy, I’m afraid I need to give you bad news w/ regard to the terraform provider. Volumes are already broken, and the tf provider isn’t a priority according to the fly folks. I think it may have been taken down at this point.
https://community.fly.io/t/fresh-produce-volumes-endpoints-in-machines-api/14408/16
The path forward might be their new kubernetes feature, if that’s going to be more than just an experiment. I’m kinda waiting to see if they’re serious about it, or if it’s just another demo. (It’s not mentions in the docs section of the site yet, and things from the blog articles tend to break)
Unfortunately, the fly/fly.toml files look like a dead-end, because they’re “1 app, 1 target configuration” at a time. And that seems to imply that flyctl is too, because it’s also fly.toml specific.
All that might eventually get sorted out if cool things are built onto the machines api (like the k8s thing, or a new terraform provider), but I read somewhere in the forum that flyctl is where the “fancy” logic is going for deployments and whatnot. And once you go to the machine level, you can never use flyctl to do updates.
There’s a lot of truly amazing stuff here. The dashboards with grafana integration is awesome. The focus on elixir (what brought me here) is cool. But there’s really no story at all for what you want.