Railway
Verbinden
Verbinde Railway aus dem Terminal. Mit --help siehst du die Flags, die Railway akzeptiert, dazu --no-browser für Umgebungen ohne Browser.
polylane cloud connect --provider railwayOAuth-Autorisierung.
Railway wird über OAuth verbunden: Klicke auf Continue to Railway, autorisiere den Lesezugriff bei Railway, und du wirst zurückgeleitet, während der Sync bereits läuft. Tokens werden vor dem Speichern verschlüsselt, und der Agent sieht sie nie.
Polylane entdeckt deine Projekte, Environments, Services, Deployments, Volumes, Domains und TCP-Proxies. Service-Metriken speisen Diagramme und Anomalieerkennung. Variablennamen werden für die Cloud-übergreifende Verknüpfung synchronisiert; Variablenwerte werden nie gelesen. Kurzlebige (Pull-Request-)Environments werden übersprungen.
Deploy- und Alert-Webhooks
Railway schickt Deployment-Statusänderungen und Nutzungswarnungen über Benachrichtigungsregeln. Zeigt eine davon auf Polylane, alarmiert es bei fehlgeschlagenen oder abgestürzten Deploys, löst den Alert beim nächsten erfolgreichen Deploy auf und plant einen Resync:
- Kopiere die Webhook-URL von der Settings-Seite des Cloud-Kontos in Polylane (sie endet mit der ID deines Railway-Workspace).
- Öffne in Railway die Notifications-Einstellungen deines Workspace und füge eine Webhook-Regel hinzu, die auf diese URL zeigt.
- Wähle die Deployment-Ereignisse, die dich interessieren:
Deployment.deployed,Deployment.failed,Deployment.crashedundDeployment.oom_killeddecken den Alert-Ablauf ab (das Erfolgsereignis von Railway istDeployment.deployed; einDeployment.successgibt es nicht). - Füge die Ereignisse VolumeAlert und Monitor hinzu, inklusive
VolumeAlert.resolvedundMonitor.resolved, damit Volume- und Monitor-Alerts in Polylane automatisch geöffnet und geschlossen werden.
Fehlerbehebung
Autorisierung schlägt fehl oder wird abgebrochen
- Stelle sicher, dass du bei Railway mit einem Konto angemeldet bist, das auf den Workspace zugreifen kann.
- Versuche es erneut über Continue to Railway; der Autorisierungslink ist nur wenige Minuten gültig.
Fehlende Ressourcen
- Railway kann einige Minuten brauchen, bis alles synchronisiert ist.
- Kurzlebige (Pull-Request-)Environments werden nicht synchronisiert.
- Starte über den Kontokopf einen manuellen Sync, um zu aktualisieren.
Verbindung trennen
Trenne das Konto in Polylane, widerrufe dann die OAuth-Freigabe in deinen Railway-Kontoeinstellungen und entferne die Benachrichtigungsregel, falls du eine angelegt hast.
Verbinde Railway aus einem CI-Job oder einer anderen Umgebung ohne Browser.
Für die Verbindung mit Railway 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 Railway-Workspace-Token aus deinen Workspace-Einstellungen. Der OAuth-Ablauf der Konsole braucht einen Browser; Workspace-Tokens nicht.
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": "railway",
"workspaceId": "ws_0abc123",
"token": "<railway-workspace-token>"
}'
Ein Aufruf verbindet jeden Railway-Workspace, den der Token erreichen kann; übergib die optionale railwayWorkspaceId, um nur einen zu verbinden.
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": "railway",
"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 Railway-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. Polylane entfernt, was sich über die API von Railway entfernen lässt. Folgendes bleibt bestehen, bis du es selbst entfernst:
- OAuth grant
polylane cloud disconnect <id>Tools
4Operationen, die Agents in Threads ausführen können.
Unterstützte Ressourcen
8Ressourcentypen, die in deinem Infrastrukturgraphen erscheinen.