Railway
Підключити
Підключіть Railway із термінала. Передайте --help, щоб побачити прапорці, які приймає Railway, а також --no-browser для середовищ без браузера.
polylane cloud connect --provider railwayАвторизація OAuth.
Railway підключається через OAuth: натисніть Continue to Railway, авторизуйте доступ на читання в Railway, і вас перенаправить назад із уже запущеною синхронізацією. Токени шифруються перед збереженням, і агент ніколи їх не бачить.
Polylane знаходить ваші проєкти, середовища, сервіси, розгортання, томи, домени та TCP-проксі. Метрики сервісів живлять графіки та виявлення аномалій. Назви змінних синхронізуються для зв'язування між хмарами; значення змінних ніколи не читаються. Тимчасові середовища (для pull request) пропускаються.
Webhook розгортань та алертів
Railway надсилає зміни статусу розгортань і алерти про використання через правила сповіщень. Якщо спрямувати одне з них на Polylane, він створює алерти про невдалі або аварійно завершені розгортання, закриває алерт після наступного успішного розгортання та планує повторну синхронізацію:
- Скопіюйте URL webhook зі сторінки Settings хмарного облікового запису в Polylane (він закінчується ідентифікатором вашого робочого простору Railway).
- У Railway відкрийте налаштування Notifications свого робочого простору та додайте правило webhook, яке вказує на цей URL.
- Виберіть потрібні події Deployment:
Deployment.deployed,Deployment.failed,Deployment.crashedіDeployment.oom_killedохоплюють процес алертів (подія успіху в Railway називаєтьсяDeployment.deployed; подіїDeployment.successне існує). - Додайте події VolumeAlert і Monitor, включно з
VolumeAlert.resolvedіMonitor.resolved, щоб алерти томів і моніторів автоматично відкривалися та закривалися в Polylane.
Усунення несправностей
Авторизація не вдається або скасовується
- Переконайтеся, що ви увійшли в Railway з обліковим записом, який має доступ до робочого простору.
- Повторіть спробу через Continue to Railway; посилання для авторизації дійсне лише кілька хвилин.
Відсутні ресурси
- Railway може потребувати кількох хвилин, щоб синхронізувати все.
- Тимчасові середовища (для pull request) не синхронізуються.
- Запустіть ручну Sync із заголовка облікового запису, щоб оновити дані.
Відключення
Відключіть обліковий запис у Polylane, потім відкличте дозвіл OAuth у налаштуваннях облікового запису Railway і видаліть правило сповіщень, якщо ви його створили.
Підключіть Railway із завдання CI або будь-якого іншого середовища без браузера.
Для підключення Railway браузер не потрібен: той самий ендпоінт, який викликає консоль, вміщується в завдання CI. Один автентифікований POST створює підключення та запускає першу синхронізацію.
Передумови
- Ключ API Polylane з областями дії
cloud_accounts:writeіcloud_accounts:read. Див. Ключі API та OAuth. - Ідентифікатор вашого робочого простору, який починається з
ws_. Прочитайте його черезGET /v1/workspacesтим самим ключем. - Токен робочого простору Railway з налаштувань вашого робочого простору. Процес 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": "railway",
"workspaceId": "ws_0abc123",
"token": "<railway-workspace-token>"
}'
Один виклик підключає кожний робочий простір Railway, до якого має доступ токен; передайте необов'язковий railwayWorkspaceId, щоб підключити лише один.
Відповідь перелічує те, що було підключено, і перша синхронізація вже виконується. Скорочено до двох полів, які читає решта процесу:
{
"success": true,
"result": {
"provider": "railway",
"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"
Потім відкличте облікові дані Railway на боці провайдера, як описано в розділі Відключення нижче.
Відключити
Відключення зупиняє кожну синхронізацію та перевірку і видаляє облікові дані, які зберігав Polylane. Polylane видаляє те, що дозволяє видалити API Railway. Наведене нижче залишається, доки ви не видалите його самостійно:
- OAuth grant
polylane cloud disconnect <id>Інструменти
4Операції, які агенти можуть виконувати в тредах.
Підтримувані ресурси
8Типи ресурсів, які з'являються у графі вашої інфраструктури.