Railway
Połącz
Połącz Railway z terminala. Podaj --help, aby zobaczyć flagi, które Railway przyjmuje, plus --no-browser dla środowisk headless.
polylane cloud connect --provider railwayAutoryzacja OAuth.
Railway łączy się przez OAuth: kliknij Continue to Railway, autoryzuj dostęp do odczytu w Railway, a wrócisz z już rozpoczętą synchronizacją. Tokeny są szyfrowane przed zapisaniem, a agent nigdy ich nie widzi.
Polylane odkrywa twoje projekty, środowiska, usługi, wdrożenia, wolumeny, domeny i proxy TCP. Metryki usług zasilają wykresy i wykrywanie anomalii. Nazwy zmiennych są synchronizowane na potrzeby powiązań między chmurami; wartości zmiennych nigdy nie są czytane. Środowiska efemeryczne (pull requestów) są pomijane.
Webhooki wdrożeń i alertów
Railway wypycha zmiany statusu wdrożeń i alerty użycia przez reguły powiadomień. Skierowanie jednej z nich na Polylane alertuje o nieudanych lub padniętych wdrożeniach, rozwiązuje alert przy następnym udanym wdrożeniu i planuje ponowną synchronizację:
- Skopiuj adres URL webhook ze strony Settings konta chmurowego w Polylane (kończy się identyfikatorem twojego obszaru roboczego Railway).
- W Railway otwórz ustawienia Notifications swojego obszaru roboczego i dodaj regułę webhook wskazującą na ten adres URL.
- Wybierz zdarzenia Deployment, które cię interesują:
Deployment.deployed,Deployment.failed,Deployment.crashediDeployment.oom_killedpokrywają przepływ alertowania (zdarzeniem sukcesu Railway jestDeployment.deployed; nie maDeployment.success). - Dodaj zdarzenia VolumeAlert i Monitor, łącznie z
VolumeAlert.resolvediMonitor.resolved, aby alerty wolumenów i monitorów otwierały się i zamykały w Polylane automatycznie.
Rozwiązywanie problemów
Autoryzacja nie udaje się lub jest anulowana
- Upewnij się, że jesteś zalogowany do Railway kontem, które ma dostęp do obszaru roboczego.
- Spróbuj ponownie od Continue to Railway; link autoryzacji jest ważny tylko kilka minut.
Brakujące zasoby
- Railway może potrzebować kilku minut, aby zsynchronizować wszystko.
- Środowiska efemeryczne (pull requestów) nie są synchronizowane.
- Wywołaj ręczną Sync z nagłówka konta, aby odświeżyć.
Odłączanie
Odłącz konto w Polylane, a potem odwołaj zgodę OAuth w ustawieniach konta Railway i usuń regułę powiadomień, jeśli ją utworzono.
Połącz Railway z zadania CI lub dowolnego innego środowiska bez przeglądarki.
Połączenie Railway nie potrzebuje przeglądarki: ten sam punkt końcowy, który wywołuje konsola, mieści się w zadaniu CI. Jeden uwierzytelniony POST tworzy połączenie i uruchamia pierwszą synchronizację.
Wymagania wstępne
- Klucz API Polylane z zakresami
cloud_accounts:writeicloud_accounts:read. Zobacz Klucze API i OAuth. - Identyfikator twojego obszaru roboczego, zaczynający się od
ws_. Odczytaj go zGET /v1/workspacestym samym kluczem. - Token obszaru roboczego Railway z ustawień obszaru roboczego. Przepływ OAuth w konsoli wymaga przeglądarki; tokeny obszaru roboczego nie.
Utwórz połączenie
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>"
}'
Jedno wywołanie łączy każdy obszar roboczy Railway, do którego token ma dostęp; przekaż opcjonalny railwayWorkspaceId, aby połączyć tylko jeden.
Odpowiedź wymienia, co zostało połączone, z już działającą pierwszą synchronizacją. Przycięta do dwóch pól, które czyta reszta przepływu:
{
"success": true,
"result": {
"provider": "railway",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Konto, które jest już połączone, trafia do failures zamiast do accounts, więc powtórzenie wywołania nigdy nie duplikuje połączenia.
Poczekaj na pierwszą synchronizację
Odpytuj każde zwrócone konto po jego id, aż status osiągnie ready (new po rejestracji, syncing w trakcie napływu zasobów):
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
Daj pętli termin, aby nieudane połączenie kończyło zadanie błędem zamiast je zawieszać. Gdy konto jest ready, jego zasoby są w topologii, a Polylane uruchomiło pierwszą kontrolę.
Odłącz przez API
Usunięcie połączenia zatrzymuje każdą synchronizację i kontrolę oraz usuwa poświadczenia, które Polylane przechowywało. Wywołanie wymaga zakresu cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Potem odwołaj poświadczenie Railway po stronie dostawcy, jak opisano poniżej w sekcji Disconnect.
Odłącz
Odłączenie zatrzymuje każdą synchronizację i kontrolę oraz usuwa poświadczenia, które Polylane przechowywało. Polylane usuwa to, na co pozwala API Railway. Poniższe elementy zostają, dopóki sam ich nie usuniesz:
- OAuth grant
polylane cloud disconnect <id>Narzędzia
4Operacje, które agenci mogą wykonywać w wątkach.
Obsługiwane zasoby
8Typy zasobów, które pojawiają się w grafie twojej infrastruktury.