Fly.io
Verbinden
Verbinde Fly.io aus dem Terminal. Mit --help siehst du die Flags, die Fly.io akzeptiert, dazu --no-browser für Umgebungen ohne Browser.
polylane cloud connect --provider flyAPI-Token aus deinem Fly.io-Dashboard.
Fly.io wird mit einem API-Token aus deinem Dashboard verbunden. Verwende den restriktivsten Token-Typ: Polylane braucht nur Lesezugriff. Dein Token wird vor dem Speichern verschlüsselt, und der Agent sieht ihn nie.
Einrichtung
- Öffne das Fly.io Dashboard und gehe zu Tokens.
- Erstelle einen neuen schreibgeschützten Token.
- Kopiere den Token und füge ihn in Polylane ein.
- Polylane prüft den Token und startet den Sync.
Polylane entdeckt deine Apps, Machines, Volumes, Zertifikate und andere Fly.io-Ressourcen.
Token-Typen
| Typ | Umfang | Empfohlen |
|---|---|---|
| Read-only | Kann Ressourcen nur lesen | Diesen verwenden |
| Deploy | Kann Apps deployen | Nicht nötig |
| Personal | Voller Kontozugriff | Nicht empfohlen |
Verbindung trennen
Trenne das Konto in Polylane, dann widerrufe den Token in deinem Fly.io-Dashboard unter Tokens.
Verbinde Fly.io aus einem CI-Job oder einer anderen Umgebung ohne Browser.
Für die Verbindung mit Fly.io braucht es keinen Browser: Derselbe Endpunkt, den die Konsole aufruft, passt in einen CI-Job. Ein authentifizierter POST erstellt die Verbindung und startet den ersten Sync.
Voraussetzungen
- Ein Polylane-API-Schlüssel mit den Scopes
cloud_accounts:writeundcloud_accounts:read. Siehe API-Schlüssel und OAuth. - Deine Workspace-ID, die mit
ws_beginnt. Lies sie mit demselben Schlüssel ausGET /v1/workspaces. - Ein schreibgeschützter Fly.io-API-Token, erstellt unter Tokens im Fly.io-Dashboard.
Verbindung erstellen
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>"
}'
Der Token gehört zu einer Fly.io-Organisation, ein Aufruf verbindet also eine Organisation.
- Die Organisationserkennung liest die Apps, die der Token sehen kann, ein Token, der keine Apps erreicht, schlägt also mit einem
400fehl.
Die Antwort listet auf, was verbunden wurde, der erste Sync läuft bereits. Gekürzt auf die zwei Felder, die der Rest des Ablaufs liest:
{
"success": true,
"result": {
"provider": "fly",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Ein bereits verbundenes Konto landet in failures statt in accounts, ein wiederholter Aufruf dupliziert also nie eine Verbindung.
Auf den ersten Sync warten
Frage jedes zurückgegebene Konto über seine id ab, bis status ready erreicht (new bei der Registrierung, syncing, während Ressourcen einlaufen):
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
Gib der Schleife eine Frist, damit ein fehlgeschlagenes Verbinden den Job fehlschlagen lässt, statt ihn hängen zu lassen. Sobald das Konto ready ist, sind seine Ressourcen in der Topologie, und Polylane hat seinen ersten Check gestartet.
Über die API trennen
Das Löschen der Verbindung stoppt jeden Sync und Check und löscht die Zugangsdaten, die Polylane gespeichert hatte. Der Aufruf braucht den Scope cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Widerrufe dann die Fly.io-Zugangsdaten auf Anbieterseite, wie unten unter Trennen beschrieben.
Trennen
Beim Trennen stoppen alle Syncs und Checks, und die Zugangsdaten, die Polylane gespeichert hatte, werden gelöscht. Alles, was Polylane in Fly.io eingerichtet hat, wird ebenfalls entfernt; nichts bleibt zurück.
polylane cloud disconnect <id>Tools
4Operationen, die Agents in Threads ausführen können.
Unterstützte Ressourcen
5Ressourcentypen, die in deinem Infrastrukturgraphen erscheinen.