Modal
Підключити
Підключіть Modal із термінала. Передайте --help, щоб побачити прапорці, які приймає Modal, а також --no-browser для середовищ без браузера.
polylane cloud connect --provider modalІдентифікатор і секрет токена з налаштувань Modal.
Modal підключається за допомогою токена, створеного в налаштуваннях Modal. Токен Modal відповідає рівно одному робочому простору, тому один токен підключає один робочий простір. Токени шифруються перед збереженням, і агент ніколи їх не бачить.
- Відкрийте Modal, перейдіть до Settings → Tokens.
- Натисніть New token і скопіюйте як token ID (починається з
ak-), так і token secret (починається зas-). - Вставте обидва значення в Polylane.
- Polylane перевіряє пару і починає синхронізацію.
Polylane знаходить ваші середовища, а в кожному з них: застосунки, функції, включно з вебендпоінтами, запущені пісочниці, томи, секрети, черги та dict-и. Секрети зіставляються лише за назвою: Modal ніколи не розкриває значення секретів.
У Modal немає токенів лише для читання, тому токен несе дозволи облікового запису, який його створив. Polylane лише читає з Modal під час синхронізації.
Усунення несправностей
Помилка "Invalid token"
- Потрібні і token ID, і token secret; окремо жоден із них не автентифікує.
- Перевірте, чи токен не було відкликано в налаштуваннях Modal.
- Переконайтеся, що скопіювали значення повністю, включно з префіксами
ak-іas-.
Відсутні ресурси
- Функції виявляються через їхній застосунок, тому застосунок, який ніколи не розгортали, не має функцій для показу.
- Завершені пісочниці пропускаються: з'являються лише запущені.
- Запустіть ручну синхронізацію, щоб оновити дані раніше за наступний запланований прохід.
Метрики та вартість
- Застосунки мають два графіки: рядки логів stderr на інтервал і виміряні витрати за годину. Для всього іншого Modal повідомляє лише миттєві показники, тому функції, пісочниці та томи не мають власних графіків.
- Лічильники stderr рахують рядки логів, а не збої: один traceback Python займає кілька рядків.
- Modal зберігає логи 24 години, тому графік ніколи не сягає далі в минуле.
- Витрати відносяться до кожного застосунку, а Modal фіксує годину лише після її завершення, тому найновіша година показує занижене значення, доки не стабілізується.
Підключіть Modal із завдання CI або будь-якого іншого середовища без браузера.
Для підключення Modal браузер не потрібен: той самий ендпоінт, який викликає консоль, вміщується в завдання CI. Один автентифікований POST створює підключення та запускає першу синхронізацію.
Передумови
- Ключ API Polylane з областями дії
cloud_accounts:writeіcloud_accounts:read. Див. Ключі API та OAuth. - Ідентифікатор вашого робочого простору, який починається з
ws_. Прочитайте його черезGET /v1/workspacesтим самим ключем. - Пара токенів Modal із розділу Settings → Tokens: token ID (починається з
ak-) і token secret (починається зas-).
Створення підключення
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "modal",
"workspaceId": "ws_0abc123",
"tokenId": "ak-...",
"tokenSecret": "as-..."
}'
Токен відповідає рівно одному робочому простору Modal, тому один виклик підключає один робочий простір.
Відповідь перелічує те, що було підключено, і перша синхронізація вже виконується. Скорочено до двох полів, які читає решта процесу:
{
"success": true,
"result": {
"provider": "modal",
"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"
Потім відкличте облікові дані Modal на боці провайдера, як описано в розділі Відключення нижче.
Відключити
Відключення зупиняє кожну синхронізацію та перевірку і видаляє облікові дані, які зберігав Polylane. Усе, що Polylane налаштував у Modal, також видаляється; нічого не залишається.
polylane cloud disconnect <id>Інструменти
5Операції, які агенти можуть виконувати в тредах.
Підтримувані ресурси
10Типи ресурсів, які з'являються у графі вашої інфраструктури.