pulumi/sdk/go
Pat Gavlin 1f4ef5a92b [plugin] Flow context parameter to requests
These changes adjust the provider plugin's contextful methods to flow
the argument to their context parameter through to the actual gRPC
requests. The incoming context argument is joined with the provider's
global context s.t. the request context is cancelled if either the
context argument or the global context finishes. This allows the caller
to control cancellation via the context (e.g. using a context with a
deadline or a cancel function).

This change does carry a substantial risk of subtely affecting
cancellation behavior during a Pulumi operation. I am working on digging
through that code path and coming up with an appropriate testing
strategy.
2024-10-18 10:43:35 -07:00
..
auto Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
common [plugin] Flow context parameter to requests 2024-10-18 10:43:35 -07:00
internal Clean up stray files from #17267 (#17272) 2024-09-16 23:29:30 +00:00
property Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
pulumi allow better grpc error messages from Go component providers (#17464) 2024-10-10 07:13:31 +00:00
pulumi-internal/netutil try to choose a consistent port for debugging (#17271) 2024-09-18 10:06:17 +00:00
pulumi-language-go Changelog and go.mod updates for v3.137.0 (#17576) 2024-10-17 23:02:13 +00:00
pulumix Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
Makefile sdk/go: fix test_fast Makefile target (#16811) 2024-07-26 10:25:04 +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.