pulumi/sdk/go/common/resource
Thomas Gummerer 07b27164ca
allow Git packages in subdirectories (#18322)
We recently introduced getting plugins from Git repositories. So far we
only allowed users to get repositories with code in the top level
directory, not in subdirectories. Since people might be interested in
monorepos, where multiple plugins live in a single repository, we start
allowing that in this PR.

We also want to allow these plugins to access code in their parent
directories if they live in the same repository. This means we want to
install the whole repository in `$PULUMI_HOME/plugins`.

We do that by installing the repository with the same name as if the
plugin were living at the top level. The plugin download URL then
encodes enough information for us to figure out the path within that
directory to execute the plugin.

There's an interesting case here when someone wants to install different
plugins from the same repository at the same version. We would usually
only install the dependencies for the first installation. However in
this case we also want to install the dependencies for the second plugin
in the same folder, without having to fetch the whole repo all over
again. We do that at the small expense that when a plugin fails to be
started, we try to install the dependencies and try to start the plugin
again. In normal operation there will be no performance impact from
this.

Fixes https://github.com/pulumi/pulumi/issues/18250
2025-01-24 09:57:15 +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 allow setting the type of the config value in pulumi config set (#18287) 2025-01-23 15:22:53 +00:00
plugin allow Git packages in subdirectories (#18322) 2025-01-24 09:57:15 +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