PlanetScale
Підключити
Підключіть PlanetScale із термінала. Передайте --help, щоб побачити прапорці, які приймає PlanetScale, а також --no-browser для середовищ без браузера.
polylane cloud connect --provider planetscaleАвторизація OAuth або сервісний токен із налаштувань організації PlanetScale.
PlanetScale підключається через OAuth: натисніть Connect with PlanetScale, авторизуйте доступ на читання в PlanetScale, і вас перенаправить назад із уже запущеною синхронізацією. Якщо ваш обліковий запис PlanetScale має доступ до кількох організацій, виберіть ту, яку потрібно підключити, коли з'явиться запит. Токени шифруються перед збереженням, і агент ніколи їх не бачить.
Альтернатива: сервісний токен
Якщо ви віддаєте перевагу довгоживучим обліковим даним, підключіться за допомогою сервісного токена:
- Відкрийте PlanetScale, перейдіть до Settings → Service tokens своєї організації.
- Натисніть Create service token і скопіюйте як token ID, так і token.
- Надайте токену доступ на читання до організації та її баз даних (наприклад,
read_databases,read_branches). - Вставте token ID і token у Polylane. Якщо токен має доступ до кількох організацій, також вкажіть назву організації для підключення.
- Polylane перевіряє токен і починає синхронізацію.
Кожне підключення охоплює одну організацію PlanetScale. Polylane знаходить її бази даних та їхні гілки, включно зі станом, планом, регіоном і активністю схеми.
Усунення несправностей
Помилка "Invalid service token"
- Потрібні і token ID, і token; сам токен не автентифікує.
- Перевірте, чи токен не було видалено в налаштуваннях PlanetScale.
- Переконайтеся, що токен має доступ на читання до організації.
Помилка "Multiple PlanetScale organizations are reachable"
- Облікові дані мають доступ до кількох організацій, тому вкажіть, яку саме підключити.
- Під час підключення через OAuth у консолі виберіть організацію, коли з'явиться запит після авторизації.
- Під час підключення через API задайте в полі
organizationназву організації.
Відсутні ресурси
- PlanetScale може потребувати кількох хвилин, щоб синхронізувати все.
- Запустіть ручну Sync із заголовка облікового запису, щоб оновити дані.
Відключення
Відключіть обліковий запис у Polylane, а потім видаліть сервісний токен у налаштуваннях організації PlanetScale.
Підключіть PlanetScale із завдання CI або будь-якого іншого середовища без браузера.
Для підключення PlanetScale браузер не потрібен: той самий ендпоінт, який викликає консоль, вміщується в завдання CI. Один автентифікований POST створює підключення та запускає першу синхронізацію.
Передумови
- Ключ API Polylane з областями дії
cloud_accounts:writeіcloud_accounts:read. Див. Ключі API та OAuth. - Ідентифікатор вашого робочого простору, який починається з
ws_. Прочитайте його черезGET /v1/workspacesтим самим ключем. - Пара сервісного токена PlanetScale з розділу Settings → Service tokens вашої організації з доступом на читання організації (наприклад,
read_databases,read_branches). Процес OAuth у консолі потребує браузера; сервісні токени не потребують.
Створення підключення
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "planetscale",
"workspaceId": "ws_0abc123",
"tokenId": "<service-token-id>",
"token": "<service-token>",
"organization": "my-org"
}'
Один виклик підключає одну організацію PlanetScale.
organizationможна опустити лише тоді, коли токен має доступ рівно до однієї організації; інакше виклик завершується помилкою400із переліком назв доступних організацій.
Відповідь перелічує те, що було підключено, і перша синхронізація вже виконується. Скорочено до двох полів, які читає решта процесу:
{
"success": true,
"result": {
"provider": "planetscale",
"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"
Потім відкличте облікові дані PlanetScale на боці провайдера, як описано в розділі Відключення нижче.
Відключити
Відключення зупиняє кожну синхронізацію та перевірку і видаляє облікові дані, які зберігав Polylane. Polylane видаляє те, що дозволяє видалити API PlanetScale. Наведене нижче залишається, доки ви не видалите його самостійно:
- OAuth grant
polylane cloud disconnect <id>Інструменти
2Операції, які агенти можуть виконувати в тредах.
Підтримувані ресурси
2Типи ресурсів, які з'являються у графі вашої інфраструктури.