Random: Are Pulumi providers originally written in...
# general
f
Random: Are Pulumi providers originally written in Golang, with bindings that are then generated in multiple languages? (unless they come from terraform bridge) Is that tooling for generating golang bindings for multiple languages publicly available? I've got a package I want to write that I really want to expose bindings for in Python, TS, .NET, and Java.
I can see that this gets called on a Pulumi provider in the Makefile when you want to generate an SDK: https://github.com/pulumi/pulumi-provider-boilerplate/blob/main/Makefile
I know it's a stretch, but it'd be so cool if this subcommand (or whatever powers it) could be used for arbitrary Golang packages--not just providers.
b
If by arbitrary packages you are referring to golang written Pulumi components then that is possible.
To answer your original question, most providers are written in golang, but it is possible to write providers (or components) in other languages.
f
I actually meant non-Pulumi packages. I did some digging and I think the answer is "no". The
gen-sdk
tooling relies on the Pulumi resource schema files to do it's thing. It's a really elegant tool, but probably not one you'd use to write high-performance utils exposed in many languages (that aren't related to Pulumi)
l
That's right --
gen-sdk
is powered by schema under the hood, which a Pulumi provider is able to provide. It's not a general purpose translation or code generation tool for converting between languages, if that's what you were wondering? (Apologies if I misunderstand)
f
I was looking for a way to generate go bindings in other languages. Will have to keep looking.