pulumi/sdk/go/common/resource
Thomas Gummerer 9962fede18
implement getting plugins from remote git sources (#17827)
Allow users go get and run plugins from remote git sources. This should
work with all currently supported sources, such as GitHub and GitLab
(for the correct URL splitting).

This does not currently support direct links (e.g. just pasting
https://github.com/pulumi/pulumi-tls-self-signed-cert/tree/mikhailshilkov/boilerplateless/lib),
or just getting the latest version of a plugin (the version needs to
always be specified). These can be implemented separately later.

Using this PR, the user can use commands such as 
```
$ pulumi package add github.com/example/bla@deadbeef
or
$ pulumi package add github.com/example/bla@v1.1.0 # there is the expectation that there will be a semver based tag prefixed with `v` in the repository here
```

to download and use packages in their projects. On disk the packages are
stored in `.pulumi/plugins`, with their names being the full URL with
`/` replaced with `_`, e.g. in the case above the name would be
`github.com_example_bla`.

We always include the `PluginDownloadURL` in the package in this case,
so the engine can disambiguate between different versions of the
package, e.g. we couldn't just use `bla` because there might also be a
package at `github.com/bla/bla`. This is done internally, and the
`PluginDownloadURL` does not need to be specified in the schema.


Depends on https://github.com/pulumi/pulumi/pull/17798
2025-01-16 16:10:46 +00:00
..
archive Prepare golangci-lint upgrade (#17065) 2024-08-28 07:57:38 +00:00
asset Add asset/archive to conformance tests and fix engine working dir issues (#16100) 2024-05-02 11:32:54 +00:00
config Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
plugin implement getting plugins from remote git sources (#17827) 2025-01-16 16:10:46 +00:00
sig Move assets and archives to their own package (#15157) 2024-01-25 20:39:31 +00:00
testing Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
urn rewrite the URN when resources are being moved between projects (#16523) 2024-07-01 17:36:11 +00:00
alias.go Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
asset.go Add asset archive test to conformance tests (#16455) 2024-06-24 14:23:18 +00:00
asset_test.go Deserialize Assets with their Sig (#16073) 2024-04-26 19:05:50 +00:00
custom_timeouts.go Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
errors.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
mapper_test.go Move assets and archives to their own package (#15157) 2024-01-25 20:39:31 +00:00
properties.go Flow PropertyValues through NewPropertyMapFromMap (#16894) 2024-08-07 06:50:58 +00:00
properties_diff.go property diff: avoid panic'ing when computed values are present (#18104) 2024-12-23 12:05:04 +00:00
properties_diff_test.go property diff: avoid panic'ing when computed values are present (#18104) 2024-12-23 12:05:04 +00:00
properties_path.go Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
properties_path_test.go Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
properties_test.go Flow PropertyValues through NewPropertyMapFromMap (#16894) 2024-08-07 06:50:58 +00:00
property_compatibility.go Property map keys are just strings (#15767) 2024-03-25 17:26:41 +00:00
property_compatibility_test.go A property.Value implementation to replace resource.PropertyValue (#15145) 2024-03-14 19:58:59 +00:00
resource_goal.go Allow anything in resource names (#14107) 2023-11-20 08:59:00 +00:00
resource_id.go Remove unused resource.NewUniqueHexV2 (#17067) 2024-08-26 10:48:25 +00:00
resource_id_test.go Enable some more linting rules (#17456) 2024-10-03 17:37:13 +00:00
resource_operation.go move pkg/resource -> sdk/go/common/resource, but leave nested resource packages 2020-03-18 13:36:19 -07:00
resource_state.go Centralize resource state dependency traversal (#17320) 2024-09-23 08:37:34 +00:00
resource_state_test.go Centralize resource state dependency traversal (#17320) 2024-09-23 08:37:34 +00:00
stack.go Move resource.URN to urn.URN (#15689) 2024-03-14 15:28:32 +00:00
status.go move pkg/resource -> sdk/go/common/resource, but leave nested resource packages 2020-03-18 13:36:19 -07:00
urn.go Move resource.URN to urn.URN (#15689) 2024-03-14 15:28:32 +00:00