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

Генерация GitLab CI пайплайна:

bash
terraci generate -o .gitlab-ci.yml

validate

Валидация проекта и конфигурации:

bash
terraci validate

graph

Визуализация графа зависимостей:

bash
terraci graph --format dot -o deps.dot

init

Инициализация конфигурации:

bash
terraci init

summary

Публикация результатов plan в MR:

bash
terraci summary

policy

Проверка Terraform планов на соответствие OPA политикам:

bash
# Загрузить политики из источников
terraci policy pull

# Проверить все модули
terraci policy check

# Проверить конкретный модуль
terraci policy check --module platform/prod/eu-central-1/vpc

Примеры использования

Базовый workflow

bash
# 1. Инициализация конфигурации
terraci init

# 2. Настройка .terraci.yaml под проект

# 3. Валидация
terraci validate

# 4. Просмотр зависимостей
terraci graph --format levels

# 5. Генерация пайплайна
terraci generate --dry-run
terraci generate -o .gitlab-ci.yml

Работа с изменёнными модулями

bash
# Генерация только для изменённых модулей
terraci generate --changed-only --base-ref main

# Просмотр затронутых модулей
terraci graph --changed-only --format levels

Фильтрация модулей

bash
# Только production
terraci generate --environment prod

# Исключить тестовые модули
terraci generate --exclude "*/test/*"

# Конкретный модуль и зависимые
terraci generate --module platform/prod/eu-central-1/vpc

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.