terraform/vendor/github.com
Paddy 5127f1ef8b
command: Unmanaged providers
This adds supports for "unmanaged" providers, or providers with process
lifecycles not controlled by Terraform. These providers are assumed to
be started before Terraform is launched, and are assumed to shut
themselves down after Terraform has finished running.

To do this, we must update the go-plugin dependency to v1.3.0, which
added support for the "test mode" plugin serving that powers all this.

As a side-effect of not needing to manage the process lifecycle anymore,
Terraform also no longer needs to worry about the provider's binary, as
it won't be used for anything anymore. Because of this, we can disable
the init behavior that concerns itself with downloading that provider's
binary, checking its version, and otherwise managing the binary.

This is all managed on a per-provider basis, so managed providers that
Terraform downloads, starts, and stops can be used in the same commands
as unmanaged providers. The TF_REATTACH_PROVIDERS environment variable
is added, and is a JSON encoding of the provider's address to the
information we need to connect to it.

This change enables two benefits: first, delve and other debuggers can
now be attached to provider server processes, and Terraform can connect.
This allows for attaching debuggers to provider processes, which before
was difficult to impossible. Second, it allows the SDK test framework to
host the provider in the same process as the test driver, while running
a production Terraform binary against the provider. This allows for Go's
built-in race detector and test coverage tooling to work as expected in
provider tests.

Unmanaged providers are expected to work in the exact same way as
managed providers, with one caveat: Terraform kills provider processes
and restarts them once per graph walk, meaning multiple times during
most Terraform CLI commands. As unmanaged providers can't be killed by
Terraform, and have no visibility into graph walks, unmanaged providers
are likely to have differences in how their global mutable state behaves
when compared to managed providers. Namely, unmanaged providers are
likely to retain global state when managed providers would have reset
it. Developers relying on global state should be aware of this.
2020-05-26 17:48:57 -07:00
..
Azure Update azure backend storage sdk (#24669) 2020-05-20 17:29:02 +02:00
ChrisTrenkamp/goxpath vendor: github.com/masterzen/winrm@5e5c9a7fe54b 2019-02-25 08:45:01 +00:00
agext/levenshtein vendor: github.com/agext/levenshtein@v1.2.2 2019-02-22 22:15:02 +00:00
agl/ed25519 deps: github.com/hashicorp/vault/helper/pgpkeys 2016-10-25 12:08:50 -05:00
aliyun backend/oss: Support for assume role config 2019-07-30 23:27:17 +08:00
antchfx vendor: github.com/dylanmei/winrmtest@99b7fe2fddf1 2019-02-26 18:22:15 +00:00
apparentlymart vendor: go get github.com/hashicorp/hcl/v2@v2.4.0 2020-04-13 10:48:29 -04:00
armon vendor: github.com/armon/circbuf@5111143e8da2 2019-02-21 08:48:13 +00:00
aws/aws-sdk-go deps: github.com/aws/aws-sdk-go@v1.30.12 [master] (#24745) 2020-04-24 12:20:04 -04:00
bgentry vendor: github.com/terraform-providers/terraform-provider-aws@v1.58.0 2019-02-12 16:32:22 +00:00
blang/semver vendor: github.com/blang/semver@v3.5.1 2019-02-12 10:22:28 +00:00
bmatcuk/doublestar lang/funcs: Switch fileset() function glob implementation to github.com/bmatcuk/doublestar to support additional glob patterns 2019-08-30 20:22:03 -04:00
chzyer/readline vendor: go get github.com/chzyer/readline@master 2019-08-30 14:42:19 -07:00
coreos vendor: make some transitive dependencies line up better 2018-10-16 19:14:54 -07:00
davecgh/go-spew vendor: Update HCL2 and cty, and other related packages 2018-10-16 19:14:11 -07:00
dgrijalva/jwt-go backend/azurerm: Support for authenticating using the Azure CLI (#19465) 2018-12-10 21:23:30 +00:00
dimchansky/utfbom vendor: upgrade Azure SDK and Azure/go-autorest 2019-12-02 10:04:49 -08:00
dylanmei vendor: github.com/dylanmei/winrmtest@99b7fe2fddf1 2019-02-26 18:22:15 +00:00
fatih/color vendor: github.com/mitchellh/cli@v1.0.0 2019-02-21 08:56:05 +00:00
go-test/deep deps: Bump github.com/go-test/deep to 1.0.3 2019-08-21 11:32:13 +01:00
gogo/protobuf backend/s3: Switch from github.com/terraform-providers/terraform-provider-aws to github.com/hashicorp/aws-sdk-go-base 2019-02-18 02:30:30 -05:00
golang command: Unmanaged providers 2020-05-26 17:48:57 -07:00
google go mod tidy & go mod vendor 2019-10-11 22:41:27 +01:00
googleapis/gax-go/v2 vendor: Bump go-getter to 1.4.0 2019-09-09 14:04:58 +02:00
gophercloud Update dependencies 2020-04-25 08:41:54 +02:00
hashicorp command: Unmanaged providers 2020-05-26 17:48:57 -07:00
jmespath/go-jmespath deps: github.com/aws/aws-sdk-go@v1.30.12 [master] (#24745) 2020-04-24 12:20:04 -04:00
joyent/triton-go vendor: update to latest github.com/zclconf/go-cty 2018-10-16 19:14:11 -07:00
json-iterator/go Add Alibaba Cloud backend OSS with lock 2019-04-11 07:06:43 +08:00
kardianos/osext vendor: github.com/kardianos/osext@2bc1f35cddc0 2019-02-22 22:16:33 +00:00
keybase/go-crypto vendor: update to latest github.com/zclconf/go-cty 2018-10-16 19:14:11 -07:00
lib/pq update cty 2020-03-03 15:20:11 -05:00
likexian/gokit backend/cos: Add TencentCloud backend cos with lock (#22540) 2020-02-13 11:37:11 -05:00
lusis/go-artifactory Fix up deps 2016-02-22 10:21:33 -08:00
masterzen vendor: github.com/masterzen/winrm@5e5c9a7fe54b 2019-02-25 08:45:01 +00:00
mattn vendor: github.com/mattn/go-shellwords@v1.0.4 2019-02-22 16:54:29 +00:00
mitchellh vendor: go get github.com/mitchellh/panicwrap@v1.0.0 2019-11-05 16:22:45 -08:00
modern-go Add Alibaba Cloud backend OSS with lock 2019-04-11 07:06:43 +08:00
mozillazg/go-httpheader backend/cos: Add TencentCloud backend cos with lock (#22540) 2020-02-13 11:37:11 -05:00
nu7hatch/gouuid vendor: update to latest github.com/zclconf/go-cty 2018-10-16 19:14:11 -07:00
oklog/run vendor: update to latest github.com/zclconf/go-cty 2018-10-16 19:14:11 -07:00
packer-community/winrmcp vendor: update to latest github.com/zclconf/go-cty 2018-10-16 19:14:11 -07:00
pkg deps: github.com/aws/aws-sdk-go@v1.30.12 [master] (#24745) 2020-04-24 12:20:04 -04:00
posener/complete vendor: github.com/posener/complete@v1.2.1 2019-02-21 09:07:42 +00:00
satori/go.uuid vendor: github.com/dylanmei/winrmtest@99b7fe2fddf1 2019-02-26 18:22:15 +00:00
spf13/afero vendor: github.com/spf13/afero@v1.2.1 2019-02-21 09:09:22 +00:00
svanharmelen/jsonapi vendor: catch up vendoring 2018-11-08 14:20:19 -08:00
tencentcloud/tencentcloud-sdk-go backend/cos: Add TencentCloud backend cos with lock (#22540) 2020-02-13 11:37:11 -05:00
tencentyun/cos-go-sdk-v5 backend/cos: Add TencentCloud backend cos with lock (#22540) 2020-02-13 11:37:11 -05:00
tombuildsstuff/giovanni Update azure backend storage sdk (#24669) 2020-05-20 17:29:02 +02:00
ugorji/go update cty 2020-03-03 15:20:11 -05:00
ulikunitz/xz update cty 2020-03-03 15:20:11 -05:00
vmihailenco/msgpack udpate go.mod and vendor 2018-11-29 15:23:38 -05:00
xanzy/ssh-agent vendor: github.com/xanzy/ssh-agent@v0.2.1 2019-02-22 14:22:13 +00:00
xlab/treeprint vendoring of treeprint library 2017-06-09 14:03:59 -07:00
zclconf vendor: upgrade go-cty dependency to 1.4.1 (#24983) 2020-05-18 14:10:19 -04:00