crossplane / terrajet

Generate Crossplane Providers from any Terraform Provider
https://crossplane.io
Apache License 2.0
289 stars 38 forks source link

Will terrafjet replace crossplane-contrib/provider-terraform? #246

Closed zzxwill closed 2 years ago

zzxwill commented 2 years ago

Per https://github.com/crossplane/terrajet#prior-art, it seems TerraJet is a replacement for https://github.com/crossplane-contrib/provider-terraform, does it?

Using Terraform modules to provision cloud resources is the best practice for end-users. If the above answer is yes, how will a TerraJet provider support it?

muvaf commented 2 years ago

it seems TerraJet is a replacement for https://github.com/crossplane-contrib/provider-terraform, does it?

No, it isn't. Provider Terraform allows you to use Terraform language HCL and all the flexibilities and restrictions around it; similar to provider-helm and provider-kubernetes. However, Terrajet is a code-generation framework that allows you to generate CRDs that are no different than classic providers, i.e. high fidelity strongly typed schemas with one-to-one matching with external resources that implement all XRM features. So, Terrajet is only a tool to generate a Crossplane provider whereas provider-terraform is a provider on its own.

Using Terraform modules to provision cloud resources is the best practice for end-users. If the above answer is yes, how will a TerraJet provider support it?

I think this could be a feature request but at the moment, we don't really plan to do it. I think the closest thing to TF modules is composition in Crossplane.