Supabase
Verbinden
Verbinde Supabase aus dem Terminal. Mit --help siehst du die Flags, die Supabase akzeptiert, dazu --no-browser für Umgebungen ohne Browser.
polylane cloud connect --provider supabaseOAuth-Autorisierung oder ein Personal Access Token aus deinen Supabase-Kontoeinstellungen.
Supabase wird über OAuth verbunden: Klicke auf Connect with Supabase, autorisiere den Lesezugriff bei Supabase und wähle dabei die Organisation, die verbunden werden soll, 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.
Alternative: Personal Access Token
Wenn du lieber langlebige Zugangsdaten verwendest, verbinde stattdessen mit einem Personal Access Token:
- Öffne Supabase und gehe zu Account → Access Tokens.
- Klicke auf Generate new token und kopiere den Token (er beginnt mit
sbp_). - Füge den Token in Polylane ein. Wenn dein Konto auf mehr als eine Organisation zugreifen kann, gib zusätzlich den Slug der Organisation an, die verbunden werden soll.
- Polylane prüft den Token und startet den Sync.
Jede Verbindung deckt eine einzelne Supabase-Organisation ab. Polylane entdeckt ihre Projekte mit ihren Edge Functions, Datenbank-Branches und Storage-Buckets, inklusive Status, Region und Compute-Größe.
Fehlerbehebung
Fehler "Invalid access token"
- Prüfe, ob der Token in den Supabase-Kontoeinstellungen widerrufen wurde.
- Personal Access Tokens handeln mit den Berechtigungen deines Kontos; stelle sicher, dass dein Konto auf die Organisation zugreifen kann.
Fehler "Multiple Supabase organizations are reachable"
- Die Zugangsdaten erreichen mehr als eine Organisation, nenne also die, die verbunden werden soll.
- Beim Verbinden über OAuth in der Konsole wählst du die Organisation, wenn du nach der Autorisierung danach gefragt wirst.
- Beim Verbinden über die API setzt du das Feld
organizationauf den Slug der Organisation.
Fehlende Ressourcen
- Supabase kann einige Minuten brauchen, bis alles synchronisiert ist.
- Pausierte (inaktive) Projekte werden aufgelistet, aber ihre Edge Functions, Branches und Buckets werden nur synchronisiert, solange das Projekt aktiv ist.
- Starte über den Kontokopf einen manuellen Sync, um zu aktualisieren.
Verbindung trennen
Trenne das Konto in Polylane, dann widerrufe den Access Token in deinen Supabase-Kontoeinstellungen.
Verbinde Supabase aus einem CI-Job oder einer anderen Umgebung ohne Browser.
Für die Verbindung mit Supabase 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 Supabase Personal Access Token (beginnt mit
sbp_) aus Account → Access Tokens. Der OAuth-Ablauf der Konsole braucht einen Browser; Access 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": "supabase",
"workspaceId": "ws_0abc123",
"token": "sbp_...",
"organization": "my-org-slug"
}'
Ein Aufruf verbindet eine Supabase-Organisation.
organizationdarf nur weggelassen werden, wenn der Token genau eine Organisation erreicht; sonst schlägt der Aufruf mit einem400fehl, das die erreichbaren Organisations-Slugs auflistet.
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": "supabase",
"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 Supabase-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 Supabase 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
13Ressourcentypen, die in deinem Infrastrukturgraphen erscheinen.