crooked-oyster-59423
07/08/2025, 10:38 PMechoing-dinner-19531
07/09/2025, 12:29 PMTo bring up a new language for Pulumi - the following is required:
[P0] Create a language host (e.g. <https://github.com/pulumi/pulumi-dotnet/blob/main/pulumi-language-dotnet/main.go>)
A plugin that serves the language.proto gRPC API and invokes programs in the target language
[P0] Create a Pulumi SDK that is feature-parity with the @pulumi/pulumi SDK in <https://github.com/pulumi/pulumi/tree/master/sdk>
The SDK will internally be a gRPC client for the resource.proto gRPC API which connects to the Pulumi engine gRPC server provided by the language host above, and turns new Resource calls in the host language into RegisterResource gRPC calls to the Pulumi engine.
[P1] Add codegen support similar to <https://github.com/pulumi/pulumi/tree/master/pkg/codegen>
Codegen support enables generating SDKs in the new language for any Pulumi Packages (including resource providers)
[P1] Wire codegen for the new language into tfgen <https://github.com/pulumi/pulumi-terraform-bridge/tree/master/pkg/tfgen> and other package SDK generators (<https://github.com/pulumi/pulumi-kubernetes/tree/master/provider/cmd/pulumi-gen-kubernetes>, <https://github.com/pulumi/pulumi-azure-native/blob/master/provider/cmd/pulumi-gen-azure-native>, etc.)
[P2] Add package publishing automation for the language's package manager and get that adopted into all packages
[P2] Add support to integration test harness in <https://github.com/pulumi/pulumi/blob/master/pkg/testing/integration/program.go>
[P3] 10 Examples in <https://github.com/pulumi/examples>
[P3] Langauge docs in <https://www.pulumi.com/docs/index.html>
[P4] All items in docs support the new language - in particular all subpages of <https://www.pulumi.com/docs/concepts/>.
[P4] Templates added to <https://github.com/pulumi/templates>.
[P5] Automation API
echoing-dinner-19531
07/09/2025, 12:30 PMcrooked-oyster-59423
07/09/2025, 3:48 PM