Expected Outcome
Copy the Terraform Enterprise Docker Image to a private Docker Registry or download it locally as a tar file.
Prerequisites
- Terraform Enterprise v202309-1 or later
- A Flexible Deployment Options (FDO) Deployment
- Skopeo installed
- Network access to
images.releases.hashicorp.com
Use Case
When performing a Terraform Enterprise deployment in an air-gapped environment, you can use Skopeo to download the required Docker images.
Procedure
The following procedure outlines how to log in to the required registries and provides three alternative methods for transferring the Terraform Enterprise Docker image. After completing Step 1, choose the method from Step 2, 3, or 4 that best suits your environment.
Step 1: Log in to Docker Registries
First, log in to HashiCorp's Docker registry using your license key.
# Login to HashiCorp's Docker Registry echo '<HASHICORP_LICENSE>'| skopeo login --username terraform images.releases.hashicorp.com --password-stdin
Next, if you are using a private registry, log in to it.
# Login to the destination private Docker Registry skopeo login --username <registry-username>
Step 2: Copy a Single Image to a Private Registry
This method is for transferring a single Terraform Enterprise image version to your private registry. For additional options, refer to the Skopeo copy command documentation.
# Copy the Terraform Enterprise Docker Image to the private Docker Registry skopeo copy --override-arch=amd64 --override-os=linux \ docker://images.releases.hashicorp.com/hashicorp/terraform-enterprise:<vYYYYMM-#> \ docker://<private_registry_fqdn>/hashicorp/terraform-enterprise:<vYYYYMM-#>
Step 3: Synchronize Multiple Images to a Private Registry
This method allows you to synchronize multiple image tags at once.
- Create a
sync-config.yamlfile that lists the Terraform Enterprise tags you want to download.
images.releases.hashicorp.com:
images:
hashicorp/terraform-enterprise:
- "v202504-1"
- "v202503-1"- Run the
skopeo synccommand to copy the images to your private registry.
# Sync the images skopeo sync --override-arch=amd64 --override-os=linux --src yaml --dest docker sync-config.yaml <private_registry_fqdn>/hashicorp/
- Verify that the tags are present in your private registry.
# Verify the tags are present in the private Docker Registry skopeo list-tags docker://registry.example.net/hashicorp/terraform-enterprise
The command returns a list of available tags.
{
"Repository": "registry.example.net/hashicorp/terraform-enterprise",
"Tags": [
"v202503-1",
"v202506-1",
"v202504-1"
]
}Step 4: Download an Image as a Local Tar File
If a private Docker Registry is not available, you can use Skopeo to download the image locally as a tar file. You can then copy this file to the Terraform Enterprise instance and load it into the container runtime.
# Download the image locally as a tar file skopeo copy --override-arch=amd64 --override-os=linux \ docker://images.releases.hashicorp.com/hashicorp/terraform-enterprise:<vYYYYMM-#> \ docker-archive:terraform-enterprise-<vYYYYMM-#>.tar:hashicorp/terraform-enterprise:<vYYYYMM-#>