I'm looking to deploy <fly.io> apps in my pulumi s...
# getting-started
i
I'm looking to deploy fly.io apps in my pulumi stack but I see there is not yet a terraform provider. What do people do in this situation? I'm leaning towards having two seperate deployment processes, which is not necessarily a bad thing because deploying to fly with flyctl is rather slow as it waits for the machines to come up & then runs a healthcheck
c
i
Ah thank you 🙂 can you bridge to the provider with the nodejs sdk?
c
As for a Pulumi provider based on that, I thought I saw one somewhere but all I see is an empty repo in Fly's GH org. Not sure where else I might have seen it though.
I don't know if the Pulumi TF bridge can bridge that provider. A while back it wasn't possible due to the TF plugin version used by that provider, but maybe it can be bridged now.
i
I think you're right, just noticed this from @tall-crowd-93084: https://github.com/fly-apps/terraform-provider-fly/pull/148
c
Ah yes indeed. That's the one I saw.
t
@icy-controller-6092 I'd be interested to see where you get to with this - I've got 5 or so services that I've just manually deployed for now, but it would be great to spin them up per client with Pulumi!
i
I'm just deploying separately to my pulumi deploy process, but I wonder if you could implement this as a dynamic resource that lightly wraps the fly CLI? https://www.pulumi.com/docs/concepts/resources/dynamic-providers/
l
Hey @icy-controller-6092, do join the #plugin-framework channel. The author of our Pulumi Terraform bridge will be able to help you out.
b
I'm also looking into using Pulumi to provision fly.io resources. I hit a wall before with Terraform because working around the limitations of the TF provider via the GraphQL provider (mainly for shared IPv4 addresses, and ideally also for deploys) made the configs difficult to author and to maintain. I'd like to implement my own dynamic resource provider to consume fly's GraphQL API, but reading through the docs I'm unsure if that's actually possible? (edit: watching

this walkthrough

cleared up some of my misconceptions)