Managing applications with code

Is there a way to manage applications with code? Something like Terraform or AWS CDK for Fly.io?

I am considering Fly.io for a certain use case, and I’d need to manage about a dozen different apps and databases in different region-groups, and I’d really like to have all configuration coming from a Git repo with change history.

I can probably invent something that synchronizes with the GraphQL API, but wondering if there’s something that already exists.

1 Like

The GraphQL that powers flyctl can do everything you need, but we don’t have a Terraform provider.

We’ve looked pretty closely at Pulumi, it shouldn’t be too hard to build a Pulumi provider for Fly. We just haven’t done it yet!

You might be able to do what you need with flyctl and some bash scripts, however. fly regions set, fly scale count, are fly scale vm are idempotent, you can safely run them over and over. If you create a bash file for a given app config, you can just run it over and over. You’d still have to create the initial postgres clusters and apps first, so it’s not perfect. But this is how I’d start.

1 Like

Sorry to resurrect this one but I think its important. @Ramon_Snir did you make any progress on this?

@kurt do you know if there has been any other work done in this progress? It seems like “Stacks” or some other way of automatically linking apps / resource together within a single deploy is something that is critically missing from Fly.io (I see a lot of requests about this sort of thing)

I just found this topic which is suuper interesting! fly.io terraform provider - #7 by DAlperin

Yep @DAlperin has been working on an official terraform provider for us: Terraform Registry

Yep! Like @rugwiro said I’ve been working for fly to build the terraform provider. I would love any feedback when you try it out! Please file any issues you find: GitHub - fly-apps/terraform-provider-fly: Terraform provider for the Fly.io API