pulumi/sdk/go
Thomas Gummerer c9e47e4bba implement programmatic default providers based on context in the engine and Go
This PR takes an alternative approach for implementing programmatic
default providers, that was suggested in the internal design doc.

Instead of making the default provider global, we create an API with a
callback that creates a new subcontext.  In that subcontext and only
in that subcontext is the provider set as the default provider.  We
achieve this by setting up a new monitor with a different port, so the
engine can distinguish between the contexts.
2024-05-17 18:19:59 +02:00
..
auto add support for --import-file when using the Automation API (#16071) 2024-04-30 11:31:43 +00:00
common Add Paramaterize to provider interface (#16174) 2024-05-15 16:22:39 +00:00
internal turn on the golangci-lint exhaustive linter (#15028) 2024-01-17 16:50:41 +00:00
property Property map keys are just strings (#15767) 2024-03-25 17:26:41 +00:00
pulumi implement programmatic default providers based on context in the engine and Go 2024-05-17 18:19:59 +02:00
pulumi-language-go Changelog and go.mod updates for v3.116.1 (#16202) 2024-05-15 09:45:16 +00:00
pulumix Use EqualError/ErrorContains instead of Error (#14737) 2023-12-08 06:40:14 +00:00
Makefile make(sdk/go): Use -C instead of cd for 'go' commands (#13853) 2023-08-31 21:12:03 +00:00
README.md `pulumi update` => `pulumi up` (#2702) 2019-05-06 14:00:18 -07:00

README.md

Pulumi Golang SDK

This directory contains support for writing Pulumi programs in the Go language. There are two aspects to this:

  • pulumi/ contains the client language bindings Pulumi program's code directly against;
  • pulumi-language-go/ contains the language host plugin that the Pulumi engine uses to orchestrate updates.

To author a Pulumi program in Go, simply say so in your Pulumi.yaml

name: <my-project>
runtime: go

and ensure you have pulumi-language-go on your path (it is distributed in the Pulumi download automatically).

By default, the language plugin will use your project's name, <my-project>, as the executable that it loads. This too must be on your path for the language provider to load it when you run pulumi preview or pulumi up.