pulumi/sdk/go
Fraser Waters 2dc683f8c5
Retry plugin downloads (#10248)
* Retry plugin downloads

We occasionally see network issues (most notably "tls: bad record MAC")
during plugin downloads. When grabbing plugins for codegen we already
had some retry logic. This shares that retry logic to the pulumi plugin install command and the engine.

Fixes #9824

Note, plumbing in the progress bar and support for printing about
retries is a little bit odd but we're going to have to totally rethink
this interface at some point when the engine gets put behind a gRPC
interface and all the display logic has to be ripped out. So it works
good enough for now.

* Add to CHANGELOG

* lint

* Finish comment
2022-07-27 11:13:17 +01:00
..
auto Add proto interfaces to move about logic to plugins (#10228) 2022-07-25 12:35:16 +01:00
common Retry plugin downloads (#10248) 2022-07-27 11:13:17 +01:00
pulumi Expose context.Context from pulumi.Context (#10190) 2022-07-20 14:15:02 -07:00
pulumi-language-go Add proto interfaces to move about logic to plugins (#10228) 2022-07-25 12:35:16 +01:00
Makefile Remove PROJECT_ROOT Make var (#9953) 2022-06-24 10:04:40 -04: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.