From cab802db6bdb26598c6101c7aeb6cebc1090a692 Mon Sep 17 00:00:00 2001 From: Riley Karson Date: Thu, 20 Sep 2018 12:40:10 -0700 Subject: [PATCH] Add docs about local provider to CONTRIBUTING (#2085) * Add docs about local provider to CONTRIBUTING Add docs about using a local provider with Terraform to CONTRIBUTING.md. I couldn't find any prescriptive docs for this, so let's make them. Let me know if a different method is preferred (such as `.terraformrc`), this seemed like the best way from my brief search. Upstreamed https://github.com/hashicorp/terraform-website/pull/474 as well to help improve the central Terraform docs on this subject. * Update CONTRIBUTING.md (#2086) --- .github/CONTRIBUTING.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 04c895a0..dbd4c0ee 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -67,6 +67,22 @@ resource.TestStep{ }, ``` +## Running a local copy of the provider +If you are building Terraform from source with a Google provider built from source, Terraform will automatically use the +local `terraform-provider-google` plugin in `$GOPATH/bin`. + +In order to use a release copy of Terrafom with a local provider, you can use the [provider discovery directory](https://www.terraform.io/docs/extend/how-terraform-works.html#discovery) +at `~/.terraform.d/plugins`. When a copy of the Google provider is present in the discovery directory, `terraform init` will +use that copy instead of downloading a release version. + +To use a single locally built version, such as one built by a CI or build server, you can copy a `terraform-provider-google` +binary into the discovery directory. If you're testing a local provider in active development and want the new binary each +time you run `make build`, you can symlink the built binary into the directory: + +```bash +ln -s $GOPATH/bin/terraform-provider-google ~/.terraform.d/plugins/terraform-provider-google +``` + ## Autogenerated Resources Some resources in the Google provider are autogenerated using the [Magic Modules](https://github.com/GoogleCloudPlatform/magic-modules) framework, and have a large disclaimer as a comment at the top of their files to say so. For feature requests or bugs regarding those resources, please continue to file [issues](https://github.com/terraform-providers/terraform-provider-google/issues) here. PRs changing those resources will not be accepted.