pulumi/sdk/go
Thomas Gummerer 869562e81e automatically get latest version for plugins from a git source
Plugins from a git source are being introduced in https://github.com/pulumi/pulumi/pull/17827.
That implementation requires the user to specify the version manually.
We can and want to do better however.  This commit makes it so that we
detect the version automatically from the repo.

We do this by first checking if there are any tags that parse as
semver, and if so return the latest tag.  If there are no tags that
are valid semver versions, we use the commit hash for the latest
commit on the default branch.
2025-01-10 14:13:04 +01:00
..
auto go automation api support for colorize output (#18184) 2025-01-08 17:04:39 +00:00
common automatically get latest version for plugins from a git source 2025-01-10 14:13:04 +01:00
internal Add OutputWithDependencies (#17856) 2024-11-26 09:53:24 +00:00
property Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
pulumi Avoid calling invokes with dependencies on unknown resources (#18133) 2025-01-06 08:46:33 +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.145.0 (#18181) 2025-01-08 18:33:19 +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.