Terraform MCP Server
официальныйMCP-сервер HashiCorp Terraform для рабочих процессов Infrastructure as Code, включая обнаружение провайдеров и модулей через реестр Terraform.
Что можно делать с Terraform MCP?
- Поиск в публичном реестре Terraform — попросите ИИ найти провайдеров или модули по ключевому слову с помощью
search_providersилиsearch_modules. - Получение сведений о провайдерах и модулях — получите документацию, версии, входные и выходные данные для конкретного провайдера или модуля через
get_provider_detailsиget_module_details. - Управление рабочими пространствами HCP Terraform — создавайте, обновляйте или удаляйте рабочие пространства, а также управляйте их переменными, тегами и запусками с помощью
list_workspaces,create_workspaceи связанных инструментов. - Список организаций и проектов — просматривайте доступные организации HCP Terraform и их проекты с помощью
list_organizationsиlist_projects. - Доступ к частным реестрам — выполняйте поиск и получайте сведения из частных реестров Terraform Enterprise при подключении к экземпляру TFE.
Документация
Terraform MCP Server
Terraform MCP Server — это Model Context Protocol (MCP) сервер, обеспечивающий бесшовную интеграцию с API реестра Terraform, предоставляя расширенные возможности автоматизации и взаимодействия для разработки Infrastructure as Code (IaC).
Возможности
- Поддержка двух транспортных протоколов: транспорт Stdio и StreamableHTTP с настраиваемыми конечными точками
- Интеграция с реестром Terraform: прямая интеграция с публичными API реестра Terraform для провайдеров, модулей и политик
- Поддержка HCP Terraform и Terraform Enterprise: полное управление рабочими пространствами, просмотр организаций/проектов и доступ к частному реестру
- Операции с рабочими пространствами: создание, обновление, удаление рабочих пространств с поддержкой переменных, тегов и управления запусками
- Метрики OTel для мониторинга использования инструментов: интеграция с измерителями OpenTelemetry для отслеживания количества вызовов инструментов, задержек и сбоев в режиме Streamable HTTP. Также предоставляет стандартные метрики HTTP-сервера при включении этой функции
Примечание по безопасности: В зависимости от запроса MCP-сервер может раскрывать определенные данные Terraform MCP-клиенту и LLM. Не используйте MCP-сервер с ненадежными MCP-клиентами или LLM.
Юридическое примечание: Использование вами стороннего MCP-клиента/LLM регулируется исключительно условиями использования такого MCP/LLM, и IBM не несет ответственности за работу таких сторонних инструментов. IBM явным образом отказывается от каких-либо гарантий и ответственности за сторонние MCP-клиенты/LLM и может быть не в состоянии предоставить поддержку для решения проблем, вызванных сторонними инструментами.
Предостережение: Результаты и рекомендации, предоставляемые MCP-сервером, генерируются динамически и могут варьироваться в зависимости от запроса, модели и подключенного MCP-клиента. Пользователи должны тщательно проверять все результаты/рекомендации, чтобы убедиться, что они соответствуют лучшим практикам безопасности, целям экономической эффективности и нормативным требованиям их организации, прежде чем внедрять их.
Предварительные требования
- Убедитесь, что Docker установлен и запущен для использования сервера в контейнеризованной среде.
- Установите AI-ассистента, поддерживающего Model Context Protocol (MCP).
Параметры командной строки
Переменные окружения:
| Переменная | Описание | По умолчанию |
|---|---|---|
TFE_ADDRESS | Устанавливает адрес Terraform Enterprise/HCP Terraform для вызовов API. Должен включать протокол (например, https://app.terraform.io). В режиме streamable-http это единственный способ задать адрес; он не может быть предоставлен клиентами через заголовок или параметр запроса. | Необязательно |
TFE_TOKEN | Токен API Terraform Enterprise | "" (пусто) |
TF_MCP_SHARED_SECRET | Общий секрет, отправляемый в заголовке X-Tf-Mcp-Secret в запросах к HCP Terraform / TFE, используемый для идентификации запросов, исходящих от размещенного развертывания MCP. Следует использовать только через TLS. | "" (пусто) |
TFE_SKIP_TLS_VERIFY | Пропустить проверку TLS для HCP Terraform или Terraform Enterprise | false |
LOG_LEVEL | Уровень логирования: trace, debug, info, warn, error, fatal, panic (переопределяет флаг --log-level) | info |
LOG_FORMAT | Формат логирования: text или json (переопределяет флаг --log-format) | text |
TRANSPORT_MODE | Установите в streamable-http, чтобы включить HTTP-транспорт (устаревшее значение http все еще поддерживается) | stdio |
TRANSPORT_HOST | Хост для привязки HTTP-сервера | 127.0.0.1 |
TRANSPORT_PORT | Порт HTTP-сервера | 8080 |
MCP_ENDPOINT | Путь конечной точки HTTP-сервера | /mcp |
MCP_REDIRECT_ROOT_URL | URL для перенаправления запросов к / | "" |
MCP_KEEP_ALIVE | Интервал keep-alive для SSE-соединений (например, 30s, 1m). 0 для отключения | 0 |
MCP_SESSION_MODE | Режим сессии: stateful или stateless | stateful |
MCP_ALLOWED_ORIGINS | Список разрешенных источников для CORS, разделенных запятыми | "" (пусто) |
MCP_CORS_MODE | Режим CORS: strict, development или disabled | strict |
MCP_TLS_CERT_FILE | Путь к файлу TLS-сертификата, обязателен для развертывания не на localhost (например, /path/to/cert.pem) | "" (пусто) |
MCP_TLS_KEY_FILE | Путь к файлу TLS-ключа, обязателен для развертывания не на localhost (например, /path/to/key.pem) | "" (пусто) |
MCP_RATE_LIMIT_GLOBAL | Глобальный лимит скорости (формат: rps:burst) | 10:20 |
MCP_RATE_LIMIT_SESSION | Лимит скорости на сессию (формат: rps:burst) | 5:10 |
MCP_ORGANIZATION_ALLOWLIST | CSV-список имен организаций HCP Terraform, которым разрешен доступ к HTTP-серверу | "" (пусто) |
MCP_FORWARD_CLIENT_IP | Пересылать IP-адрес клиента в HCP Terraform / TFE через X-Forwarded-For. Установите в true, чтобы включить | false |
MCP_REMOTE_IP_METHOD | Способ получения IP-адреса клиента при включенной пересылке: RemoteAddr (только прямое соединение), X-Real-IP или X-Forwarded-For | RemoteAddr |
MCP_XFF_TRUSTED_HOPS | Количество доверенных прокси-переходов, отсчитываемых справа от цепочки X-Forwarded-For. Используется только при MCP_REMOTE_IP_METHOD=X-Forwarded-For | 0 |
ENABLE_TF_OPERATIONS | Включить инструменты, требующие явного одобрения | false |
OTEL_METRICS_ENABLED | Включить метрики инструментов и сервера с использованием otel | false |
OTEL_METRICS_SERVICE_VERSION | Версия terraform-mcp-server, отправляющего метрики, используется для установки атрибутов метрик. Также помогает отслеживать метрики в разных развертываниях | latest |
OTEL_METRICS_SERVICE_NAME | Идентифицирует источник метрик (например, "terraform-mcp-server") | terraform-mcp-server |
OTEL_METRICS_EXPORT_INTERVAL | Управляет частотой сброса метрик | 2 |
OTEL_METRICS_ENDPOINT | URL вашего OTel Collector или бэкенда | localhost:4318 |
INSTANA_ENABLED | Включить инструментирование Instana (метрики и трассировка HTTP-запросов) для сервера streamable-http. Требует агент Instana, доступный для сервера. | false |
# Stdio mode
terraform-mcp-server stdio [--log-file /path/to/log] [--log-level info] [--log-format text] [--toolsets <toolsets>] [--tools <tools>]
# StreamableHTTP mode
terraform-mcp-server streamable-http [--transport-port 8080] [--transport-host 127.0.0.1] [--mcp-endpoint /mcp] [--organization-allowlist <orgs-csv>] [--log-file /path/to/log] [--log-level info] [--log-format text] [--toolsets <toolsets>] [--tools <tools>]
Инструкции
Инструкции по умолчанию для MCP-сервера находятся в cmd/terraform-mcp-server/instructions.md, если они не соответствуют практикам Terraform вашей организации или если MCP-сервер выдает неточные ответы, замените их своими инструкциями и пересоберите контейнер или двоичный файл. Пример такой инструкции находится в instructions/example-mcp-instructions.md
AGENTS.md по сути ведет себя как README для агентов кодирования: специальное, предсказуемое место для предоставления контекста и инструкций, помогающих AI-агентам кодирования работать над вашим проектом. Один файл AGENTS.md работает с разными агентами кодирования. Пример такой инструкции находится в instructions/example-AGENTS.md, чтобы использовать его, зафиксируйте файл с именем AGENTS.md в каталоге, где находятся ваши конфигурации Terraform.
Установка
Использование с Visual Studio Code
Добавьте следующий блок JSON в файл пользовательских настроек (JSON) в VS Code. Это можно сделать, нажав Ctrl + Shift + P и введя Preferences: Open User Settings (JSON).
Подробнее об использовании инструментов MCP-сервера в документации по режиму агента VS Code.
| Версия 0.3.0+ или выше | Версия 0.2.3 или ниже |
|---|---|
|
|
При желании вы можете добавить аналогичный пример (т.е. без ключа mcp) в файл с именем .vscode/mcp.json в вашем рабочем пространстве. Это позволит вам поделиться конфигурацией с другими.
| Версия 0.3.0+ или выше | Версия 0.2.3 или ниже |
|---|---|
|
|
Использование с Cursor
Добавьте это в конфигурацию Cursor (~/.cursor/mcp.json) или через Настройки → Настройки Cursor → MCP:
| Версия 0.3.0+ или выше | Версия 0.2.3 или ниже |
|---|---|
|
|
Использование с Claude Desktop / Amazon Q Developer / Kiro CLI
Подробнее об использовании инструментов MCP-сервера в пользовательской документации Claude Desktop. Узнайте больше об использовании MCP-сервера в Amazon Q Developer и Kiro CLI.
| Версия 0.3.0+ или выше | Версия 0.2.3 или ниже |
|---|---|
|
|
Использование с Claude Code
Подробнее об использовании и добавлении инструментов MCP-сервера в пользовательской документации Claude Code
- Локальный (
stdio) транспорт
claude mcp add terraform -s user -t stdio -- docker run -i --rm hashicorp/terraform-mcp-server
- Удаленный (
streamable-http) транспорт
# Run server (example)
docker run -p 8080:8080 --rm -e TRANSPORT_MODE=streamable-http -e TRANSPORT_HOST=0.0.0.0 hashicorp/terraform-mcp-server
# Add to Claude Code
claude mcp add --transport http terraform http://localhost:8080/mcp
Использование с расширениями Gemini
В целях безопасности избегайте жесткого кодирования учетных данных, создайте или обновите ~/.gemini/.env (где ~ — ваш домашний или проектный каталог) для хранения учетных данных HCP Terraform или Terraform Enterprise
# ~/.gemini/.env
TFE_ADDRESS=your_tfe_address_here
TFE_TOKEN=your_tfe_token_here
Установите расширение и запустите Gemini
gemini extensions install https://github.com/hashicorp/terraform-mcp-server
gemini
Использование с Bob IDE / Shell
Подробнее об использовании и добавлении инструментов MCP-серверов в Bob IDE или Shell Использование MCP в Bob.
| Версия 0.3.0+ или выше | Версия 0.2.3 или ниже |
|---|---|
|
|
Установка из исходников
Используйте последнюю версию релиза:
go install github.com/hashicorp/terraform-mcp-server/cmd/terraform-mcp-server@latest
Используйте основную ветку:
go install github.com/hashicorp/terraform-mcp-server/cmd/terraform-mcp-server@main
| Версия 0.3.0+ или выше | Версия 0.2.3 или ниже |
|---|---|
|
|
Сборка Docker-образа локально
Перед использованием сервера необходимо собрать Docker-образ локально:
- Клонируйте репозиторий:
git clone https://github.com/hashicorp/terraform-mcp-server.git
cd terraform-mcp-server
- Соберите Docker-образ:
make docker-build
- Это создаст локальный Docker-образ, который можно использовать в следующей конфигурации.
# Run in stdio mode
docker run -i --rm terraform-mcp-server:dev
# Run in streamable-http mode
docker run -p 8080:8080 --rm -e TRANSPORT_MODE=streamable-http -e TRANSPORT_HOST=0.0.0.0 terraform-mcp-server:dev
# Filter tools (optional)
docker run -i --rm terraform-mcp-server:dev --toolsets=registry,terraform
docker run -i --rm terraform-mcp-server:dev --tools=search_providers,get_provider_details
Примечание: При запуске в Docker следует установить
TRANSPORT_HOST=0.0.0.0, чтобы разрешить подключения извне контейнера.
- (Необязательно) Проверьте соединение в режиме http
# Test the connection
curl http://localhost:8080/health
- Вы можете использовать его в своем AI-ассистенте следующим образом:
{
"mcpServers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"terraform-mcp-server:dev"
]
}
}
}
Доступные инструменты
Ознакомьтесь с доступными инструментами здесь :link:
Доступные ресурсы
Ознакомьтесь с доступными ресурсами здесь :link:
Доступные метрики
Собираются два вида метрик. Во-первых, стандартные метрики HTTP-сервера добавляются путем обертывания HTTP-мультиплексора с помощью otelhttp.NewHandler(...). Это выдает:
- http.server.request.body.size
- http.server.response.body.size
- http.server.request.duration
Во-вторых, MCP-сервер записывает пользовательские метрики инструментов во время выполнения инструментов с использованием MCP-хуков (BeforeCallTool / AfterCallTool). Они выдают:
- mcp_tool_calls_total
- mcp_tool_errors_total
- mcp_tool_duration_seconds
Фильтрация инструментов
Управляйте доступными инструментами с помощью --toolsets (группы) или --tools (отдельные):
# Enable tool groups (default: registry)
terraform-mcp-server --toolsets=registry,terraform
# Enable specific tools only
terraform-mcp-server --tools=search_providers,get_provider_details,list_workspaces
Доступные наборы инструментов: registry, registry-private, terraform, all, default. Названия отдельных инструментов смотрите в pkg/toolsets/mapping.go. Нельзя использовать оба флага одновременно.
Поддержка транспорта
Terraform MCP Server поддерживает несколько транспортных протоколов:
1. Транспорт Stdio (по умолчанию)
Обмен данными через стандартный ввод/вывод с использованием сообщений JSON-RPC. Идеально подходит для локальной разработки и прямой интеграции с клиентами MCP.
2. Транспорт StreamableHTTP
Современный транспорт на основе HTTP, поддерживающий как прямые HTTP-запросы, так и потоки Server-Sent Events (SSE). Это рекомендуемый транспорт для удалённых/распределённых конфигураций.
Возможности:
- Конечная точка:
http://{hostname}:8080/mcp - Проверка работоспособности:
http://{hostname}:8080/health - Настройка окружения: Установите
TRANSPORT_MODE=httpилиTRANSPORT_PORT=8080для включения - Список разрешённых организаций: Установите
MCP_ORGANIZATION_ALLOWLISTили--organization-allowlistв виде CSV-списка разрешённых имён организаций HCP Terraform
Режимы сессий
Terraform MCP Server поддерживает два режима сессий при использовании транспорта StreamableHTTP:
- Режим с сохранением состояния (по умолчанию): Сохраняет состояние сессии между запросами, обеспечивая контекстно-зависимые операции.
- Режим без сохранения состояния: Каждый запрос обрабатывается независимо, без сохранения состояния сессии, что может быть полезно для высокодоступных развёртываний или при использовании балансировщиков нагрузки.
Чтобы включить режим без сохранения состояния, установите переменную окружения:
export MCP_SESSION_MODE=stateless
Проброс токенов для централизованных развёртываний
При централизованном запуске MCP-сервера (режим StreamableHTTP) для нескольких пользователей каждый пользователь может передавать свой собственный токен Terraform через HTTP-заголовки для обеспечения RBAC. Это позволяет одному экземпляру сервера обслуживать нескольких пользователей с разными разрешениями.
Когда настроен MCP_ORGANIZATION_ALLOWLIST или --organization-allowlist, список разрешённых должен быть CSV-списком имён организаций HCP Terraform. Сервер требует Authorization: Bearer <token> и отклоняет запросы, если этот токен не может получить доступ хотя бы к одной организации из CSV-списка. Токен Bearer имеет приоритет, если запрос также включает заголовок TFE_TOKEN, что гарантирует, что токен, проверенный по списку разрешённых, используется для запросов к API Terraform. Сопоставление имён организаций нечувствительно к регистру. Если настроенное значение CSV преобразуется в ноль имён организаций, сервер завершает работу с ошибкой о некорректном списке разрешённых организаций.
Проброс IP-адреса клиента
При централизованном запуске MCP-сервера за прокси или балансировщиком нагрузки вы можете передавать исходный IP-адрес клиента в HCP Terraform / TFE через заголовок X-Forwarded-For. По умолчанию это отключено и должно быть включено с помощью MCP_FORWARD_CLIENT_IP=true.
При включении сервер определяет IP-адрес клиента в соответствии с MCP_REMOTE_IP_METHOD:
| Метод | Поведение |
|---|---|
RemoteAddr (по умолчанию) | Использует только адрес прямого TCP-соединения. Игнорирует X-Forwarded-For и X-Real-IP. |
X-Real-IP | Использует заголовок X-Real-IP, если он является действительным IP, в противном случае возвращается к RemoteAddr. |
X-Forwarded-For | Использует цепочку X-Forwarded-For, выбирая запись на MCP_XFF_TRUSTED_HOPS позиций справа. Возвращается к RemoteAddr, если значение отсутствует или недействительно. |
Модель доверия
X-Forwarded-For и X-Real-IP устанавливаются клиентами и промежуточными прокси, поэтому они могут быть подделаны, если только доверенный прокси перед сервером не перезаписывает их. По этой причине по умолчанию используется RemoteAddr, который доверяет только узлу, к которому сервер подключён напрямую. Включайте X-Real-IP или X-Forwarded-For только тогда, когда сервер находится за прокси, который вы контролируете и который устанавливает эти заголовки.
Доверенные переходы
При использовании X-Forwarded-For, MCP_XFF_TRUSTED_HOPS — это количество прокси, которые вы используете между сервером и интернетом. Переходы отсчитываются справа от цепочки, поскольку каждый прокси добавляет адрес, с которого он получил запрос, и самая правая запись устанавливается прокси, ближайшим к серверу. Сервер пропускает это количество доверенных записей и берёт следующую слева.
Например, при MCP_XFF_TRUSTED_HOPS=1 и заголовке 200.1.2.3, 10.1.1.10 сервер выбирает 200.1.2.3. При MCP_XFF_TRUSTED_HOPS=2 и 108.0.0.1, 200.1.2.3, 10.1.1.10, 192.168.0.1 он выбирает 200.1.2.3. Если количество переходов превышает количество записей или выбранная запись не является действительным IP, сервер возвращается к RemoteAddr.
Установка слишком низкого количества переходов приведёт к доверию значению, предоставленному клиентом; установка слишком высокого — к доверию адресу, находящемуся глубже в вашей собственной инфраструктуре. Установите его равным точному количеству прокси, которые вы используете.
Ограничения
- Сервер читает только первый заголовок
X-Forwarded-Forв запросе. Запрос может содержать несколько заголовковX-Forwarded-For, но стандартная библиотека Go возвращает только первый, и сервер не объединяет их. Если ваша цепочка прокси генерирует несколько заголовков, настройте её на генерацию одного объединённого заголовкаX-Forwarded-For. - Поддерживаются адреса IPv4 и IPv6. Значения, не являющиеся действительными IP, отклоняются, и сервер возвращается к
RemoteAddr.
Миграция с более ранних версий
В более ранних версиях использовалось самое левое значение X-Forwarded-For, когда заголовок присутствовал, без какой-либо настройки. Это было небезопасно, поскольку самое левое значение легче всего подделать. Теперь по умолчанию используется RemoteAddr. Если вы запускаете сервер за прокси и полагаетесь на передачу X-Forwarded-For в HCP Terraform / TFE, установите MCP_REMOTE_IP_METHOD=X-Forwarded-For и MCP_XFF_TRUSTED_HOPS равным количеству прокси, которые вы используете.
Поддерживаемые заголовки
| Заголовок | Описание |
|---|---|
TFE_TOKEN | Токен API Terraform |
Authorization: Bearer <token> | Альтернативный метод с использованием стандартной аутентификации Bearer |
TFE_SKIP_TLS_VERIFY | Пропустить проверку TLS для запроса |
Пример: curl
# Using TFE_TOKEN header
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "TFE_TOKEN: your-user-token" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",...}'
# Using Authorization Bearer header
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-user-token" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",...}'
Вопросы безопасности
- TFE_ADDRESS не может быть установлен клиентами. В режиме streamable-http адрес Terraform берётся только из переменной окружения
TFE_ADDRESSна стороне сервера (или значения по умолчанию). Запросы, пытающиеся установитьTFE_ADDRESSчерез HTTP-заголовок или параметр запроса, отклоняются с ошибкой 403. Это не позволяет клиенту перенаправлять запросы и токенAuthorizationна вредоносный сервер. - Идентификация размещённого развёртывания: установка
TF_MCP_SHARED_SECRETотправляет это значение в качестве заголовкаX-Tf-Mcp-Secretпри каждом запросе к HCP Terraform / TFE, позволяя бэкенду идентифицировать запросы от известного размещённого развёртывания (например, для применения списков разрешённых IP-адресов). Это статический секрет, отправляемый в заголовке, поэтому используйте его только через TLS и обращайтесь со значением как с учётными данными. - Никогда не передавайте токены в параметрах запроса — сервер отклонит такие запросы с ошибкой 400.
- Всегда используйте TLS (
MCP_TLS_CERT_FILE/MCP_TLS_KEY_FILE) при централизованном развёртывании для защиты токенов при передаче. - Настройте
MCP_ALLOWED_ORIGINS, чтобы ограничить круг клиентов, которые могут подключаться.
Пример централизованного развёртывания
# Start server centrally (no token set server-side)
docker run -p 8080:8080 \
-e TRANSPORT_MODE=streamable-http \
-e TRANSPORT_HOST=0.0.0.0 \
-e TFE_ADDRESS=https://tfe.company.com \
-e MCP_TLS_CERT_FILE=/certs/server.pem \
-e MCP_TLS_KEY_FILE=/certs/server-key.pem \
-e MCP_ALLOWED_ORIGINS=https://ide.company.com \
-e MCP_ORGANIZATION_ALLOWLIST=team-alpha,team-beta \
-v /path/to/certs:/certs \
hashicorp/terraform-mcp-server:1.1.0
Затем пользователи подключаются со своими индивидуальными токенами, переданными через заголовки, что обеспечивает применение RBAC для каждого пользователя.
Устранение неполадок
Корпоративный прокси / Инспекция TLS (Zscaler и т.п.)
Если вы находитесь за корпоративным прокси, который выполняет инспекцию TLS (например, Zscaler Internet Access), вы можете увидеть ошибки сертификата:
tls: failed to verify certificate: x509: certificate signed by unknown authority
Решение: Смонтируйте корневой сертификат вашего ЦС в контейнер:
docker run -i --rm \
-v /path/to/corporate-ca.pem:/etc/ssl/certs/corporate-ca.pem \
-e SSL_CERT_FILE=/etc/ssl/certs/corporate-ca.pem \
hashicorp/terraform-mcp-server:1.1.0
Для конфигураций клиента MCP:
{
"mcpServers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v", "/path/to/corporate-ca.pem:/etc/ssl/certs/corporate-ca.pem",
"-e", "SSL_CERT_FILE=/etc/ssl/certs/corporate-ca.pem",
"-e", "TFE_TOKEN=<>",
"hashicorp/terraform-mcp-server:1.1.0"
]
}
}
}
Альтернатива: Запустите двоичный файл напрямую
Если Docker не разрешён в вашей среде, вы можете установить и запустить двоичный файл сервера напрямую, который будет использовать хранилище сертификатов вашей системы:
go install github.com/hashicorp/terraform-mcp-server/cmd/terraform-mcp-server@latest
terraform-mcp-server stdio
Разработка
Предварительные требования
- Go (проверьте файл go.mod для конкретной версии)
- Docker (опционально, для сборки контейнеров)
Доступные команды Make
| Команда | Описание |
|---|---|
make build | Собрать двоичный файл |
make test | Запустить все тесты |
make test-e2e | Запустить сквозные тесты |
make docker-build | Собрать образ Docker |
make run-http | Запустить HTTP-сервер локально |
make docker-run-http | Запустить HTTP-сервер в Docker |
make test-http | Проверить конечную точку работоспособности HTTP |
make clean | Удалить артефакты сборки |
make help | Показать все доступные команды |
Участие в разработке
- Сделайте форк репозитория
- Создайте ветку для вашей функции
- Внесите изменения
- Запустите тесты
- Отправьте pull request
Лицензия
Этот проект лицензирован на условиях открытой лицензии MPL-2.0. Полные условия смотрите в файле LICENSE.
Безопасность
По вопросам безопасности обращайтесь по адресу security@hashicorp.com или следуйте нашей политике безопасности.
Поддержка
Для сообщений об ошибках и запросов функций, пожалуйста, создайте issue на GitHub.
Для общих вопросов и обсуждений создайте GitHub Discussion.