late-airplane-27955
10/15/2025, 4:09 PMlate-airplane-27955
10/15/2025, 4:14 PMlate-airplane-27955
10/15/2025, 4:27 PMpulumi package add), rather than trying to build a binary plugin and publishing SDKs to NPM.". I have not seen anything of that guidance. In the guide linked by the README at the bottom it actually says:
Publishing a component as a Pulumi package makes it easier to distribute and integrate into Pulumi workflows. This method enables community contributions and ensures that infrastructure components remain modular and maintainable.That sounds like the opposite of recommending users not to do it, so its mega-confusing
stocky-restaurant-98004
10/15/2025, 4:27 PMstocky-restaurant-98004
10/15/2025, 4:27 PMlate-airplane-27955
10/15/2025, 4:28 PMstocky-restaurant-98004
10/15/2025, 4:28 PMPulumiPlugin.yaml, that's basically the magic that lets us know it's a component, and we can internally auto-generate the schema and the consumer's SDK.late-airplane-27955
10/15/2025, 4:29 PMstocky-restaurant-98004
10/15/2025, 4:31 PMv1.2.3, optionally run pulumi package publish if you are a Pulumi Cloud customer and want the component to appear in Pulumi IDP.stocky-restaurant-98004
10/15/2025, 4:32 PMpulumi package add and then the git source. When the component is pulled down, we auto-generate the schema and SDK so the component can be consumed in any language.stocky-restaurant-98004
10/15/2025, 4:32 PMstocky-restaurant-98004
10/15/2025, 4:33 PMstocky-restaurant-98004
10/15/2025, 4:35 PMlate-airplane-27955
10/15/2025, 4:36 PMlate-airplane-27955
10/15/2025, 4:36 PMlate-airplane-27955
10/15/2025, 4:40 PMYou can also target a standard internally hosted git service, just by providing the repo URL without thethere's very little info here about how version updates would be handled in real-life. Our devs don't have time to manually go thru their referenced packages and check if there might be an update availableportion.<release-version>
stocky-restaurant-98004
10/15/2025, 5:18 PMpulumi package add automatically selects the most recent semver tag.stocky-restaurant-98004
10/15/2025, 5:19 PMstocky-restaurant-98004
10/15/2025, 5:20 PMstocky-restaurant-98004
10/15/2025, 5:21 PMstocky-restaurant-98004
10/15/2025, 5:21 PMlate-airplane-27955
10/15/2025, 5:50 PMwhich means your consumers do not need the language runtime of the upstream componentyeah, this is what I was looking for more information on. How does the "consumer" actually execute the a component resource written in another language - tied to "how to package it". Again, references to this elusive "binary" 🙂. Very much looking forward to reading a revamped Packages docs page.
late-airplane-27955
10/15/2025, 5:50 PMlate-airplane-27955
10/15/2025, 5:52 PMstocky-restaurant-98004
10/15/2025, 6:29 PMVery much looking forward to reading a revamped Packages docs page.Working on it today. The Packages page revision will mostly explain it conceptually: how the provider "binary", schema, and SDK work, and where you use locally generated vs pre-built SDKs.
stocky-restaurant-98004
10/15/2025, 6:32 PMHow does the "consumer" actually execute the a component resource written in another language - tied to "how to package it".The short answer is, whether the SDK is pre-generated or locally generated, you must have the "runtime" (Go has none, which is why it's the recommended choice, absent any governance questions for pre-built SDKs) of the upstream component on your system.
Again, references to this elusive "binary" 🙂. Very much looking forward to reading a revamped Packages docs page.The "binary" is basically the guts of the package where you define the component.
stocky-restaurant-98004
10/15/2025, 6:34 PMnpm i @pulumi/aws for a new version of the AWS provider - it downloads the provider binary (in this case, an actual binary file, which is cached in ~/.pulumi/something-or-otherstocky-restaurant-98004
10/15/2025, 6:35 PMpulumi package gen-sdk command's output.late-airplane-27955
10/15/2025, 7:31 PMlate-airplane-27955
10/15/2025, 7:41 PMThe init script (pretty sure) is part of theI only get:command's output.pulumi package gen-sdk
❯ pulumi package gen-sdk .
SDKs have been written to ./sdklate-airplane-27955
10/15/2025, 7:44 PMThe "binary" part should be clearly definedI'm not sure if you mean "defined in docs" or how but it would be fantastic if someone at pulumi had time to step thru this from the perspective of a user trying to create and package a component resource library in a language besides golang from start to finish - I'm sure a lot of rough edges would be encountered that could result in more complete docs coverage
late-airplane-27955
10/15/2025, 7:45 PMlate-airplane-27955
10/17/2025, 1:33 PM