pulumi/sdk/go
Joe Duffy be22e1164d Support SSH-style Git URLs
This adds support for SSH-style Git URLs, enabling folks to use
private repos for their templates.

For instance,

    $ pulumi new git@github.com:acmecorp/templates/website

will now work as intended.

The logic to find the SSH key depends on the well-known ~/.ssh/config
file when available (as that is typically how the ssh-agent is
configured for auth with the Git client), but falls back on other
common key names in the event that isn't configured.

If the SSH key is protected by a password, the user will be prompted
to supply the password on-demand. (It is memoized to avoid asking
multiple times, as the template workflow requires using it more than
once.) To avoid prompting, the PULUMI_GITSSH_PASSPHRASE envvar can
be set -- which is coincidentally the only option in non-interactive
modes.

Fixes #4872 and #5007.
2023-05-03 16:58:49 -07:00
..
auto Added missing flag to honor the CLI. Fixed #12254 2023-03-28 21:12:38 +02:00
common Support SSH-style Git URLs 2023-05-03 16:58:49 -07:00
pulumi sdk/go: Propagate more resource options from provider.Construct 2023-04-21 10:58:59 -07:00
pulumi-language-go Merge #12755 2023-04-26 20:34:59 +00:00
Makefile ci: Enable testing of language version sets 2022-09-21 09:48:38 -07: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.