Terraform
NORA acts as a caching proxy for the Terraform registry. Provider binaries are immutably cached; metadata uses TTL-based refresh. This is a proxy-only registry — publishing providers is not supported.
Client Configuration
Section titled “Client Configuration”Configure Terraform to use NORA as a network mirror. Add to your Terraform CLI configuration (~/.terraformrc or terraform.rc):
provider_installation { network_mirror { url = "http://nora.example.com:4000/terraform/" }}Then use Terraform normally:
terraform initterraform planUpstream Proxy
Section titled “Upstream Proxy”config.toml:
[terraform]enabled = trueproxy = "https://registry.terraform.io"proxy_timeout = 30proxy_timeout_download = 120Environment variables:
| Variable | Description | Default |
|---|---|---|
NORA_TERRAFORM_ENABLED | Enable Terraform proxy | false |
NORA_TERRAFORM_PROXY | Upstream registry URL | https://registry.terraform.io |
NORA_TERRAFORM_PROXY_AUTH | Upstream auth (user:pass) | — |
NORA_TERRAFORM_PROXY_TIMEOUT | Upstream timeout for metadata (seconds) | 30 |
NORA_TERRAFORM_PROXY_TIMEOUT_DOWNLOAD | Upstream timeout for binary downloads (seconds) | 120 |
Features
Section titled “Features”| Feature | Status | Notes |
|---|---|---|
Service discovery (.well-known/terraform.json) | Full | Points to NORA |
| Provider versions list | Full | TTL-cached |
| Provider download metadata | Full | download_url rewritten to NORA |
| Provider binary download | Full | Immutable cache |
| Module versions list | Full | TTL-cached |
| Module download | Full | X-Terraform-Get header pass-through |
| Provider publish | — | Proxy-only (read) |
Known Limitations
Section titled “Known Limitations”- Proxy-only: publishing custom providers through NORA is not supported.
- Disabled by default. Set
NORA_TERRAFORM_ENABLED=trueto activate.