:fire::rocket:Exciting New Updates Rolled Out for ...
# package-authoring
b
🔥🚀Exciting New Updates Rolled Out for Pulumi TF Provider Cookiecutter template! 🚀🔥 Hello, Pulumi community! 👋🏻 I'm happy to announce a series of new updates to the Cookiecutter Template that are set to enhance your experience when wrapping Terraform providers in Pulumi. Let's dive into these new features. Firstly, I’ve implemented support for the
TFProviderModuleVersion
property in
tfbridge.ProviderInfo
. This addition kicks in when the Go module specifies a version that's equal or greater than v2. It ensures that
TFGEN
can seamlessly locate the correct resources to convert the Terraform provider documentation. For those of you who are facing issues with Terraform providers that include invalid GO module definitions, the next feature is a lifesaver. I introduced support for the upstream directory in the provider repository. The template will now smartly emit code that takes care of cloning the Terraform provider source from its repository via the
Makefile
. It then sets up the
UpstreamRepoPath
property within
tfbridge.ProviderInfo
accordingly to assist
TFGEN
with the documentation conversion. Problem solved! Speaking of module definitions. I improved the strategy for automatically detecting when a wrapped Terraform provider's Go module definition goes awry, such as with the NCloud or Configcat Terraform Providers, or if the Terraform provider version must be referenced by a Git SHA commit. If it does, the template now generates the necessary
replace
statements in the
go.mod
file more flawlessly. This is also applicable to a SHIM required for a provider instance located in an internal package of the Terraform provider. It's all about making the process smoother while wrapping a Terraform provider. We don't just roll out features without making sure they work as intended. Rigorous testing? Check . I’ve added testing code to ensure that the created project is valid according to the created GO code and the GitHub workflows. And a little note for our Pulumiverse CI/CD aficionados: I've updated the
PYPI_PASSWORD
secret name to
PYPI_PASSWORD
from
PYPI_API_TOKEN
. So, when instructing the template to create code for publishing the provider via Pulumiverse, the GitHub workflows are configured correctly out of the box now. Your feedback is incredibly valuable to me, so please reach out if you have any impressions to share or suggestions on where we can head next with the template. #pulumiverse #announcements #C01T8BSGTHC @enough-garden-22763 @ancient-policeman-24615 @limited-rainbow-51650 @many-telephone-49025 @echoing-dinner-19531 @delightful-salesclerk-16161