Terraform
NORA выступает в роли кеширующего прокси для реестра Terraform. Бинарные файлы провайдеров кешируются иммутабельно; метаданные обновляются по TTL. Это реестр только для чтения — публикация провайдеров не поддерживается.
Настройка клиента
Заголовок раздела «Настройка клиента»Настройте Terraform для использования NORA в качестве сетевого зеркала. Добавьте в конфигурацию Terraform CLI (~/.terraformrc или terraform.rc):
provider_installation { network_mirror { url = "http://nora.example.com:4000/terraform/" }}Затем используйте Terraform как обычно:
terraform initterraform planПроксирование upstream
Заголовок раздела «Проксирование upstream»config.toml:
[terraform]enabled = trueproxy = "https://registry.terraform.io"proxy_timeout = 30proxy_timeout_download = 120Переменные окружения:
| Переменная | Описание | По умолчанию |
|---|---|---|
NORA_TERRAFORM_ENABLED | Включить прокси Terraform | false |
NORA_TERRAFORM_PROXY | URL upstream-реестра | https://registry.terraform.io |
NORA_TERRAFORM_PROXY_AUTH | Аутентификация upstream (user:pass) | — |
NORA_TERRAFORM_PROXY_TIMEOUT | Таймаут upstream для метаданных (секунды) | 30 |
NORA_TERRAFORM_PROXY_TIMEOUT_DOWNLOAD | Таймаут upstream для скачивания бинарных файлов (секунды) | 120 |
Возможности
Заголовок раздела «Возможности»| Функция | Статус | Примечание |
|---|---|---|
Обнаружение сервисов (.well-known/terraform.json) | Полная | Указывает на NORA |
| Список версий провайдера | Полная | Кешируется по TTL |
| Метаданные скачивания провайдера | Полная | download_url перезаписывается на NORA |
| Скачивание бинарного файла провайдера | Полная | Иммутабельный кеш |
| Список версий модуля | Полная | Кешируется по TTL |
| Скачивание модуля | Полная | Проброс заголовка X-Terraform-Get |
| Публикация провайдера | — | Только прокси (чтение) |
Известные ограничения
Заголовок раздела «Известные ограничения»- Только прокси: публикация пользовательских провайдеров через NORA не поддерживается.
- Отключён по умолчанию. Установите
NORA_TERRAFORM_ENABLED=trueдля активации.