Fly.io
Połącz
Połącz Fly.io z terminala. Podaj --help, aby zobaczyć flagi, które Fly.io przyjmuje, plus --no-browser dla środowisk headless.
polylane cloud connect --provider flyToken API z twojego panelu Fly.io.
Fly.io łączy się tokenem API z twojego panelu. Użyj najbardziej restrykcyjnego typu tokenu: Polylane potrzebuje tylko dostępu do odczytu. Twój token jest szyfrowany przed zapisaniem, a agent nigdy go nie widzi.
Konfiguracja
- Otwórz Fly.io Dashboard i przejdź do Tokens.
- Utwórz nowy token tylko do odczytu.
- Skopiuj token i wklej go do Polylane.
- Polylane weryfikuje token i zaczyna synchronizację.
Polylane odkrywa twoje aplikacje, maszyny, wolumeny, certyfikaty i inne zasoby Fly.io.
Typy tokenów
| Typ | Zakres | Zalecany |
|---|---|---|
| Tylko do odczytu | Może tylko czytać zasoby | Użyj tego |
| Deploy | Może wdrażać aplikacje | Niepotrzebny |
| Osobisty | Pełny dostęp do konta | Niezalecany |
Odłączanie
Odłącz konto w Polylane, a potem odwołaj token w swoim panelu Fly.io w Tokens.
Połącz Fly.io z zadania CI lub dowolnego innego środowiska bez przeglądarki.
Połączenie Fly.io 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 API Fly.io tylko do odczytu, utworzony w Tokens w panelu Fly.io.
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": "fly",
"workspaceId": "ws_0abc123",
"token": "<fly-api-token>"
}'
Token odpowiada jednej organizacji Fly.io, więc jedno wywołanie łączy jedną organizację.
- Odkrywanie organizacji czyta aplikacje widoczne dla tokenu, więc token, który nie sięga do żadnej aplikacji, kończy się błędem
400.
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": "fly",
"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 Fly.io 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. Wszystko, co Polylane skonfigurowało w Fly.io, również jest usuwane; nic nie zostaje.
polylane cloud disconnect <id>Narzędzia
4Operacje, które agenci mogą wykonywać w wątkach.
Obsługiwane zasoby
5Typy zasobów, które pojawiają się w grafie twojej infrastruktury.