github.com/muratcelep/terraform@v1.1.0-beta2-not-internal-4/tools/terraform-bundle/README.md (about) 1 # terraform-bundle 2 3 `terraform-bundle` was a solution intended to help with the problem 4 of distributing Terraform providers to environments where direct registry 5 access is impossible or undesirable, created in response to the Terraform v0.10 6 change to distribute providers separately from Terraform CLI. 7 8 The Terraform v0.13 series introduced our intended longer-term solutions 9 to this need: 10 11 * [Alternative provider installation methods](https://www.terraform.io/docs/cli/config/config-file.html#provider-installation), 12 including the possibility of running server containing a local mirror of 13 providers you intend to use which Terraform can then use instead of the 14 origin registry. 15 * [The `terraform providers mirror` command](https://www.terraform.io/docs/cli/commands/providers/mirror.html), 16 built in to Terraform v0.13.0 and later, can automatically construct a 17 suitable directory structure to serve from a local mirror based on your 18 current Terraform configuration, serving a similar (though not identical) 19 purpose than `terraform-bundle` had served. 20 21 For those using Terraform CLI alone, without Terraform Cloud, we recommend 22 planning to transition to the above features instead of using 23 `terraform-bundle`. 24 25 ## How to use `terraform-bundle` 26 27 However, if you need to continue using `terraform-bundle` 28 during a transitional period then you can use the version of the tool included 29 in the Terraform v0.15 branch to build bundles compatible with 30 Terraform v0.13.0 and later. 31 32 If you have a working toolchain for the Go programming language, you can 33 build a `terraform-bundle` executable as follows: 34 35 * `git clone --single-branch --branch=v0.15 --depth=1 https://github.com/hashicorp/terraform.git` 36 * `cd terraform` 37 * `go build -o ../terraform-bundle ./tools/terraform-bundle` 38 39 After running these commands, your original working directory will have an 40 executable named `terraform-bundle`, which you can then run. 41 42 43 For information 44 on how to use `terraform-bundle`, see 45 [the README from the v0.15 branch](https://github.com/muratcelep/terraform/blob/v0.15/tools/terraform-bundle/README.md). 46 47 You can follow a similar principle to build a `terraform-bundle` release 48 compatible with Terraform v0.12 by using `--branch=v0.12` instead of 49 `--branch=v0.15` in the command above. Terraform CLI versions prior to 50 v0.13 have different expectations for plugin packaging due to them predating 51 Terraform v0.13's introduction of automatic third-party provider installation. 52 53 ## Terraform Enterprise Users 54 55 If you use Terraform Enterprise, the self-hosted distribution of 56 Terraform Cloud, you can use `terraform-bundle` as described above to build 57 custom Terraform packages with bundled provider plugins. 58 59 For more information, see 60 [Installing a Bundle in Terraform Enterprise](https://github.com/muratcelep/terraform/blob/v0.15/tools/terraform-bundle/README.md#installing-a-bundle-in-terraform-enterprise).