pulumi/sdk/go
Thomas Gummerer 9a50879453
pass correct working directory to RunPlugin (#17763)
RunPlugin expects the working directory of the program to be passed in
in the plugin request. This was the case until
https://github.com/pulumi/pulumi/pull/15191. In that PR we switched from
passing pwd (which is the same as `ctx.Pwd` a layer above) to
minfo.GetProgramDirectory(), which is the path from which the plugin is
executed. Fix this by passing in `info.WorkingDirectory`, which a layer
above is `ctx.Pwd`.

Add a test for this as well to make sure we're not regressing this
again.

Likely nobody noticed this, because most plugins probably don't rely on
this path, and most providers are not being run using `RunPlugin`.
2024-11-14 22:10:28 +00:00
..
auto Update function comments to remove outdated DIY backend note (#17563) 2024-10-29 09:57:23 +00:00
common pass correct working directory to RunPlugin (#17763) 2024-11-14 22:10:28 +00: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 InputPropertyErrors from Calls (#17567) 2024-11-07 09:56:04 +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 [PCL] Support generating invokes options from PCL for invokes (#17696) 2024-11-11 13:01:24 +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.