CLI-команды
TerraCi предоставляет набор команд для работы с Terraform-проектами.
Установка
bash
# Из исходников
go install github.com/edelwud/terraci@latest
# Docker
docker run --rm -v $(pwd):/workspace ghcr.io/edelwud/terraci generateГлобальные флаги
| Флаг | Сокращение | Описание |
|---|---|---|
--config | -c | Путь к файлу конфигурации |
--dir | -d | Рабочая директория |
--verbose | -v | Подробный вывод |
--log-level | -l | Уровень логирования (debug, info, warn, error) |
--help | -h | Показать справку |
Команды
| Команда | Описание |
|---|---|
| generate | Генерация CI пайплайна (GitLab CI или GitHub Actions) |
| validate | Валидация структуры проекта |
| graph | Граф зависимостей (DOT, PlantUML, list, levels) |
| init | Инициализация конфигурации (интерактивный TUI-мастер) |
| cost | Оценка стоимости AWS из файлов плана |
| summary | Публикация результатов plan в MR/PR |
| policy | Загрузка и проверка OPA-политик |
| tfupdate | Разрешение версий зависимостей Terraform и синхронизация lock-файлов |
local-exec plan / run | Локальный запуск plan/apply поверх того же IR с учётом зависимостей (предоставляется плагином localexec) |
schema | Сгенерировать JSON-схему для .terraci.yaml (со всеми расширениями включённых плагинов) |
version | Информация о версии |
Примеры использования
bash
# Генерация пайплайна (GitLab CI)
terraci generate -o .gitlab-ci.yml
# Генерация пайплайна (GitHub Actions)
terraci generate -o .github/workflows/terraform.yml
# Валидация с подробным выводом
terraci validate -v
# Использование другого конфига
terraci -c custom.yaml generate
# Работа в другой директории
terraci -d /path/to/project validate
# Фильтрация модулей по сегменту
terraci generate --filter environment=production --filter region=us-east-1Работа с изменёнными модулями
bash
# Генерация только для изменённых модулей
terraci generate --changed-only --base-ref main
# Просмотр затронутых модулей
terraci graph --changed-only --format levelsDocker
bash
# Генерация пайплайна
docker run --rm \
-v $(pwd):/workspace \
-w /workspace \
ghcr.io/edelwud/terraci generate -o .gitlab-ci.yml
# Валидация
docker run --rm \
-v $(pwd):/workspace \
-w /workspace \
ghcr.io/edelwud/terraci validateКоды возврата
| Код | Описание |
|---|---|
0 | Успешное выполнение |
1 | Любая ошибка (конфигурация, валидация, генерация, рантайм) |
Переменные окружения
| Переменная | Описание |
|---|---|
TERRACI_CONFIG | Путь к конфигурации (альтернатива --config) |
TERRACI_DIR | Рабочая директория (альтернатива --dir) |
TERRACI_VERBOSE | Включить verbose-режим (true/false) |
Автодополнение
Bash
bash
terraci completion bash > /etc/bash_completion.d/terraciZsh
bash
terraci completion zsh > "${fpath[1]}/_terraci"Fish
bash
terraci completion fish > ~/.config/fish/completions/terraci.fishСправка
bash
# Общая справка
terraci --help
# Справка по команде
terraci generate --help
terraci graph --help