Skip to content

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-vfalseПодробный вывод
--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 levels

Docker

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/terraci

Zsh

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

Released under the MIT License.