Manages a cloudarmor.io
site that can be used as a Terraform network mirror
for installing a limited set of Terraform providers
and Terraform-associated tools. The site can be used directly or replicated into a disconnected network to serve as a Terrform
network mirror.
The Terraform providers and current versions are tracked within versions.tf
. The available tools and current versions are
tracked either within Dockerfile.tools
or dependabot_hack.yml
. An automated process utilizing Dependabot, Mergify, and GitHub Actions
will update the versions as they become available and append the new files to the mirror. A limited number of older versions will be maintained
in the mirror but will be removed after a period of time. New providers or tools can be added to the project by submitting a PR updating any of
previously mentioned files. New releases for this project will track the Terraform core version. As new versions of Terraform are incorporated, a corresponding release of this project will be created.
The providers mirror created by this project can be used directly, replicated to a disconnected network, or the project itself can be used to create a Terraform network mirror.
The Terraform providers mirror
can be used directly by creating a Terraform CLI Configuration file
and using the following
provider_installation
block:
provider_installation {
network_mirror {
url = "https://hashicorp-mirror.cloudarmor.io/repo/terraform-registry/"
}
}
The mirror can be copied as-is onto a local system. The provider_installation
block in the Terraform CLI Configuration file needs to be updated
to use filesystem_mirror
with the path to where the mirror was copied.
Another option is to create an internal static website using the mirror, use the `network_mirror`` option with a url to the static website.
Please see Provider Installation
for additional information.
To use this project to create a mirror, simply clone this project and run terraform providers mirror
with the desired -platform
parameter
and destination path.
For example,
terraform providers mirror -platform=linux_amd64 ./mirror/
To add additional providers, provider versions, or platforms, simply update versions.tf
and re-run the above command with the desired
platform using the same mirror path. Using the same mirror path will allow Terraform to properly update the mirror json files to properly track multple provider versions.