#Инфраструктура
Создавайте виртуальные серверы и деплойте приложения Битрикс24 через API. Каждый сервер невидим из интернета по умолчанию — все входящие порты заблокированы iptables (режим Black Hole). Доступ к приложению через HTTPS-субдомен и Deploy API.
#Обзор
Infrastructure API — внутренний API платформы VibeCode (не обёртка над Bitrix24). Предоставляет 30 RESTful-эндпоинтов для управления серверами и деплоя приложений. Позволяет:
- Выбрать облачного провайдера, тариф, регион и ОС
- Создать сервер одним запросом (всегда в режиме Black Hole)
- Отслеживать статус до полной готовности
- Деплоить приложения через Deploy API (exec, upload, logs, deploy)
- Управлять сервером: остановка, запуск, удаление
- Настроить политику доступа для приложений (кто видит HTTPS-субдомен)
Безопасность по умолчанию: каждый сервер создаётся в режиме Black Hole — iptables DROP на все входящие порты. Сервер невидим из интернета. Приложение доступно только через HTTPS-субдомен (
app-{id}.vibecode.bitrix24.tech), проксируемый Gateway через агентский WebSocket-туннель.
Требуемый скоуп: vibe:infra (автоматически включён во все API-ключи)
Базовый URL: https://vibecode.bitrix24.tech/v1
Авторизация: заголовок X-Api-Key с вашим API-ключом.
Лимит серверов: задаётся политикой портала maxServersPerUser (по умолчанию 5), каждый API-ключ считается отдельно.
#Быстрый старт
#1. Создайте сервер
curl -X POST https://vibecode.bitrix24.tech/v1/infra/servers \
-H "X-Api-Key: $VIBE_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "bitrix-cloud",
"name": "my-crm-app",
"plan": "plan-id",
"region": "region-id",
"image": "image-id"
}'
Сервер создаётся в режиме Black Hole — невидим из интернета, доступ только через платформу.
#2. Дождитесь готовности
# Повторяйте запрос пока status не станет "running" и blackholeStatus не станет "CONNECTED"
curl -H "X-Api-Key: $VIBE_KEY" \
https://vibecode.bitrix24.tech/v1/infra/servers/SERVER_ID
#3. Задеплойте приложение
curl -X POST "https://vibecode.bitrix24.tech/v1/infra/servers/SERVER_ID/deploy?stream=false" \
-H "X-Api-Key: $VIBE_KEY" \
-H "Content-Type: application/json" \
-d '{
"source": { "url": "https://github.com/user/app/archive/main.tar.gz" },
"runtime": "node20",
"install": "cd /opt/app && npm install --production",
"start": "cd /opt/app && node server.js",
"port": 3000
}'
Готово. Приложение доступно по адресу https://app-{id}.vibecode.bitrix24.tech.
#Провайдеры и каталоги
#GET /v1/infra/providers
Возвращает список облачных провайдеров. Поле available указывает, настроены ли учётные данные провайдера на платформе.
Параметры: нет
Пример (curl):
curl -H "X-Api-Key: $VIBE_KEY" \
https://vibecode.bitrix24.tech/v1/infra/providers
Пример (JavaScript):
const res = await fetch('https://vibecode.bitrix24.tech/v1/infra/providers', {
headers: { 'X-Api-Key': VIBE_KEY }
})
const { data } = await res.json()
const active = data.filter(p => p.available)
console.log('Доступные провайдеры:', active.map(p => p.name))
Ответ (200):
{
"success": true,
"data": [
{ "id": "bitrix-cloud", "name": "Bitrix Cloud", "available": true }
]
}