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 | .terraci.yaml | Путь к файлу конфигурации |
--dir | -d | . | Рабочая директория |
--verbose | -v | false | Подробный вывод |
--help | -h | Показать справку |
Команды
| Команда | Описание |
|---|---|
| generate | Генерация CI пайплайна (GitLab CI или GitHub Actions) |
| validate | Валидация структуры проекта |
| graph | Граф зависимостей (DOT, PlantUML, list, levels) |
| init | Инициализация конфигурации (интерактивный TUI-мастер) |
| cost | Оценка стоимости AWS из файлов плана |
| summary | Публикация результатов plan в MR/PR |
| policy | Загрузка и проверка OPA-политик |
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 | Ошибка выполнения |
2 | Ошибка конфигурации |
3 | Модули не найдены |
Переменные окружения
| Переменная | Описание |
|---|---|
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