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.