pulumi/tests/integration/packageadd-remote/provider/pulumi-ts-provider
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
..
src implement getting plugins from remote git sources (#17827) 2025-01-16 16:10:46 +00:00
package.json implement getting plugins from remote git sources (#17827) 2025-01-16 16:10:46 +00:00
tsconfig.json implement getting plugins from remote git sources (#17827) 2025-01-16 16:10:46 +00:00