Hello everyone, I’m creating a Pulumi provider fo...
# general
q
Hello everyone, I’m creating a Pulumi provider for my company using the tfbridge. I’ve got the provider up and running using my local installation & using the package I’ve published to NPM repo. (currently we are creating only javascript provider) Forked the registry and opened a PR waiting for review by maintainers. Any estimation on how long this should take ? Thanks in advance 🙂
c
Hi @quaint-beach-19549! Thanks for contributing! I saw the PR you opened and left a comment for a few adjustments that need to be made.
q
That was quick! thanks! I’ll modify what is needed and update here
@colossal-address-99162 Fixed the comments.
c
nice, thanks Ron! I'll have a look!!
Hey Ron, one more thing I just noticed. You will need to create a tagged release version (i.e.
v<major>.<minor>.<patch>
) in the GitHub repository for the SatoriCyber provider in order for the registry publishing pipeline to pick up the provider. Btw, we also auto update the registry packages by checking for new release tags of the provider on a twice daily cadence so anytime you make any updates to the provider and publish a new release tag we will automatically pick it up and update it on the registry site.
q
Oh thats amazing. I’ll create one now
Done. So whenever I want to update some documentation with examples or other stuff all I need is to create a new release ?
Hey @colossal-address-99162, I wonder, is there any more comments that I need to fix, or can the PR be merged/ should be reviewed by other team before merging??
c
Hi Ron, I was looking this over and sorry, one last thing - the release needs to contain the provider binaries in order for the pulumi CLI to pull the binary to use when provisioning the resources (i.e. when you run pulumi up, the CLI will reach out and download the binary plugin to use if not present on the machine). So there are two things it needs, the SDK (which is already published) which it pulls using the languages package manager (e.g. npm), and the plugin binary. This can be generated using goreleaser which will deposit these assets in a dist directory. Most providers typically use a GitHub action workflow that will automatically generate these assets and upload both to the release once a new git tag is pushed as well as publish the updated SDKs to the package managers. More info on setting that up here. But for now if you prefer you should be able to just run the goreleaser and manually add the generated assets in the
dist
directory to your v0.0.1 release you created and should work fine for now (honestly might be easier to just add the workflow). Once this is done, the release should contain the binaries for the different platforms/architectures. See this provider as an example. Let me know if you need any other assistance here.
So whenever I want to update some documentation with examples or other stuff all I need is to create a new release ?
correct!!