pulumi/pkg
Sean Gillespie 1b6fe6271f
Look for exact match when loading plugins (#2483)
* Look for exact match when loading plugins

Pulumi's current behavior when loading plugins is surprising in that it
will attempt to load the "latest" provider binary instead of exactly the
version that was requested. Since provider binaries and provider
packages are tied together and versioned together, this is going to be
problematic if a provider makes a breaking change.

Although there are other issues in this area, this commit fixes the
arguably bug-like behavior of loading the latest plugin and instead opts
to load the plugin that exactly the requested semver range. Today, the
engine will never ask for anything other than an exact version match.

Since this is a breaking change, this commit also includes an
environment variable that allows users to return back to the "old"
plugin loading behavior if they are broken. The intention is that this
escape hatch can be removed in a future release once we are confident
that this change does not break people.

* CR feedback

* Use SelectCompatiblePlugin for HasPluginGTE check
2019-03-01 15:42:38 -08:00
..
apitype Implement more precise delete-before-replace semantics. (#2369) 2019-01-28 09:46:30 -08:00
backend Decrease log level for HTTP requests and responses (#2460) 2019-02-20 09:20:01 -08:00
diag Initial stack history command (#2270) 2019-01-14 18:19:24 -08:00
encoding Add license headers 2018-05-22 15:02:47 -07:00
engine Add support for explicit delete-before-replace (#2415) 2019-01-31 14:27:53 -08:00
graph Add license headers 2018-05-22 15:02:47 -07:00
operations Implement more precise delete-before-replace semantics. (#2369) 2019-01-28 09:46:30 -08:00
resource Better log messages for replaces/changes (#2452) 2019-02-15 12:02:03 -08:00
testing add more test logging. (#2405) 2019-01-29 13:14:06 -08:00
tokens Adopt golangci-lint and address issues 2018-11-08 14:11:47 -08:00
tools Add a WriteString method to tools/GenWriter. (#1839) 2018-08-29 14:43:20 -07:00
util Use both a in-proc and out-of-proc pipenv lock (#2381) 2019-01-23 09:32:59 -08:00
version Add license headers 2018-05-22 15:02:47 -07:00
workspace Look for exact match when loading plugins (#2483) 2019-03-01 15:42:38 -08:00