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).