Convex
Подключить
Подключите Convex из терминала. Передайте --help, чтобы увидеть флаги, которые принимает Convex, а также --no-browser для окружений без браузера.
polylane cloud connect --provider convexКомандный токен доступа из дашборда Convex.
Convex подключается с помощью командного токена доступа, созданного в дашборде Convex. Командный токен доступа привязан ровно к одной команде, поэтому один токен подключает одну команду. Токены шифруются перед сохранением, и агент никогда их не видит.
- Откройте дашборд Convex, перейдите в Team Settings → Access Tokens.
- Нажмите Create access token и скопируйте значение токена.
- Вставьте токен в Polylane.
- Polylane проверяет токен и начинает синхронизацию.
Polylane обнаруживает ваши проекты и внутри каждого из них его облачные деплои: production-деплой плюс любые preview-, development- и пользовательские деплои с их регионами, URL и классами деплоя.
Командные токены доступа дают управляющий доступ к команде. Синхронизация читает ваши проекты и деплои командным токеном. Когда агент или фоновый мониторинг читает логи функций или метрики деплоя, Polylane выпускает короткоживущий deploy key, ограниченный только этим чтением (просмотр логов или просмотр метрик), использует его для одного вызова и сразу после удаляет, так что каждый ключ живёт ровно столько, сколько длится обслуживаемое им чтение. Всё, что читает Polylane, лежит на управляющем уровне: списки проектов и деплоев, логи функций и метрики деплоев.
Устранение неполадок
Ошибка «Not a team access token»
- Токены уровня проекта и deploy keys не могут перечислить проекты команды; создайте токен в Team Settings → Access Tokens.
- Проверьте, что токен не был удалён в дашборде Convex.
Отсутствуют ресурсы
- Локальные деплои работают на машинах отдельных разработчиков и намеренно не синхронизируются.
- Проект, созданный без деплоя, не показывает деплоев до первого деплоя.
- Запустите ручную синхронизацию, чтобы обновить данные раньше следующего планового прохода.
Журналы аудита
- Convex открывает API журнала аудита только на платных планах. В бесплатной команде чтение журнала аудита возвращает понятную ошибку, и агенты переключаются на логи функций и граф контекста.
Отключение
Отключите аккаунт в Polylane, затем удалите токен доступа в настройках команды Convex.
Подключите Convex из CI-задания или любого другого окружения без браузера.
Для подключения Convex браузер не нужен: тот же эндпоинт, который вызывает консоль, помещается в CI-задание. Один аутентифицированный POST создаёт подключение и запускает первую синхронизацию.
Требования
- API-ключ Polylane с областями
cloud_accounts:writeиcloud_accounts:read. См. API-ключи и OAuth. - ID вашего рабочего пространства, который начинается с
ws_. Прочитайте его изGET /v1/workspacesтем же ключом. - Командный токен доступа Convex из Team Settings → Access Tokens.
Создайте подключение
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "convex",
"workspaceId": "ws_0abc123",
"token": "<team-access-token>"
}'
Командный токен доступа привязан ровно к одной команде, поэтому один вызов подключает одну команду.
Ответ перечисляет, что было подключено, с уже запущенной первой синхронизацией. Сокращён до двух полей, которые читает остальная часть процесса:
{
"success": true,
"result": {
"provider": "convex",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Уже подключённый аккаунт попадает в failures, а не в accounts, поэтому повторный вызов никогда не дублирует подключение.
Дождитесь первой синхронизации
Опрашивайте каждый возвращённый аккаунт по его id, пока status не достигнет ready (new при регистрации, syncing пока ресурсы поступают):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
Задайте циклу предельное время, чтобы неудачное подключение проваливало задание, а не подвешивало его. Как только аккаунт в состоянии ready, его ресурсы находятся в топологии, и Polylane начал свою первую проверку.
Отключение через API
Удаление подключения останавливает все синхронизации и проверки и удаляет учётные данные, которые хранил Polylane. Вызову нужна область cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Затем отозовите учётные данные Convex на стороне провайдера, как описано ниже в разделе Отключение.
Отключить
Отключение останавливает все синхронизации и проверки и удаляет учётные данные, которые хранил Polylane. Всё, что Polylane настроил в Convex, также удаляется; ничего не остаётся.
polylane cloud disconnect <id>Инструменты
3Операции, которые агенты могут выполнять в тредах.
Поддерживаемые ресурсы
2Типы ресурсов, которые появляются в графе вашей инфраструктуры.