Use the DHI Terraform provider
The DHI Terraform provider lets you manage Docker Hardened Image mirrors and customizations as infrastructure as code.
Install and configure the provider
Add the provider to your Terraform configuration:
terraform {
required_providers {
dhi = {
source = "docker-hardened-images/dhi"
}
}
}
provider "dhi" {
docker_hub_username = var.docker_username
docker_hub_password = var.docker_password
organization = var.org_name
}Instead of specifying credentials in the provider block, you can set environment variables:
| Variable | Description |
|---|---|
DOCKER_USERNAME | Docker Hub username or organization namespace |
DOCKER_PASSWORD | Docker Hub password or personal/organization access token |
DHI_ORG | Target organization namespace |
You can authenticate using a personal access token (PAT) or an organization access token (OAT) in place of a password. When using an OAT, permission scopes apply:
- Read (pull) access is required to list mirrors.
- Push access is required to create or delete mirrors.
Resources
dhi_mirror
Manages a mirrored DHI repository in your organization. See Mirror a Docker Hardened Image repository for task-based examples.
For the full list of resource attributes, see the Terraform Registry documentation.
dhi_customization
Manages image customizations applied to a mirrored repository. See Customize a Docker Hardened Image for task-based examples.
For the full list of resource attributes, see the Terraform Registry documentation.