#Deploy API
Развёртывание приложений на BLACKHOLE-серверах без SSH. Все операции идут через агент туннеля: команды выполняются на сервере, файлы загружаются через туннель, логи читаются из системного журнала (утилита journalctl). AI-агенты должны использовать эту группу эндпоинтов для полного цикла «взять код из git → установить зависимости → запустить сервис → читать логи».
Требования: сервер в режиме BLACKHOLE, статус running, blackholeStatus: CONNECTED. В OPEN-режиме Deploy API вернёт NOT_BLACKHOLE.
Формат ответов: все эндпоинты по умолчанию отдают JSON (201/200 со {"success": true, ...}). Для /deploy и /exec доступен потоковый режим через ?stream=true — возвращается поток SSE (Server-Sent Events) с построчным прогрессом. Для AI-агентов и MCP-клиентов всегда используйте JSON (не добавляйте ?stream=true) — они не умеют разбирать SSE.
Ограничения частоты:
| Ограничение | Значение |
|---|---|
| Операций в минуту на сервер | 10 |
Одновременных exec/deploy |
1 на сервер |
Таймаут exec |
1–600 секунд (по умолчанию 300) |
Размер встроенного тела (base64 в /upload, /deploy source.content) |
50 МБ |
Размер файла через URL (/upload url, /deploy source.url) |
500 МБ |
Размер multipart-архива в /deploy |
50 МБ |
Скоуп: vibe:infra