kislerdm / terraform-provider-neon

Terraform provider to manage Neon SaaS resources
https://registry.terraform.io/providers/kislerdm/neon/latest/docs
Mozilla Public License 2.0
27 stars 10 forks source link

Move provider to be non-internal for pulumi bridged provider #75

Closed jcgsville closed 5 months ago

jcgsville commented 5 months ago

I'm trying to create a Pulumi provider for Neon by creating a bridged terraform provider based on your work here.

I'm using this boilerplate. For the tfgen command to work, I need to import your provider package, but because your provider is at internal/provider/, go will not let me import it.

Is there a reason why the provider is marked as internal? Would there be any harm to moving it to provider/ so that it can be imported by a Pulumi provider?

Thanks for the work you have put into this provider. It's pretty great :)

kislerdm commented 5 months ago

@jcgsville Hey Chandler, thank you for using the provider and for your support! 🙂

Is there a reason why the provider is marked as internal?

Yes, the codebase of the terraform provider is not meant for distribution as Go module. It is a common practice, see the terraform provider's template.

The terraform provider uses the Go SDK to interact with Neon via their restful API. If you intend to build a Go app (for example, Pulumi provider) to provision Neon resources, I'd strongly advise you to use the SDK directly without extra complexity layer of the terraform provider.

For example, consider following the Pulumi docs which describe how to build a native provider package. BTW I plan to support a native pulumi provider - please feel free to join forces with me 💪🏻 🚀

I'd kindly decline your request for two reasons:

Thanks for understanding!

jcgsville commented 5 months ago

fair enough :) Thanks for the thoughtful response