Supabase
Connecter
Connecte Supabase depuis le terminal. Passe --help pour les options que Supabase accepte, plus --no-browser pour les environnements sans interface graphique.
polylane cloud connect --provider supabaseAutorisation OAuth, ou un token d'accès personnel depuis les réglages de ton compte Supabase.
Supabase se connecte via OAuth : clique sur Connect with Supabase, autorise l'accès en lecture sur Supabase en choisissant l'organisation à connecter, et tu es redirigé avec la synchronisation déjà lancée. Les tokens sont chiffrés avant d'être stockés, et l'agent ne les voit jamais.
Alternative par token d'accès personnel
Si tu préfères un identifiant de longue durée, connecte-toi plutôt avec un token d'accès personnel :
- Ouvre Supabase, va dans Account → Access Tokens.
- Clique sur Generate new token et copie le token (il commence par
sbp_). - Colle le token dans Polylane. Si ton compte peut accéder à plus d'une organisation, fournis aussi le slug de l'organisation à connecter.
- Polylane valide le token et commence la synchronisation.
Chaque connexion couvre une seule organisation Supabase. Polylane découvre ses projets avec leurs edge functions, branches de base de données et buckets de stockage, y compris l'état, la région et la taille de calcul.
Dépannage
Erreur "Invalid access token"
- Vérifie que le token n'a pas été révoqué dans les réglages de ton compte Supabase.
- Les tokens d'accès personnels agissent avec les permissions de ton compte ; assure-toi que ton compte peut accéder à l'organisation.
Erreur "Multiple Supabase organizations are reachable"
- Les identifiants peuvent atteindre plus d'une organisation, donc nomme celle à connecter.
- En connexion via OAuth dans la console, choisis l'organisation quand on te le demande après l'autorisation.
- En connexion via l'API, renseigne le champ
organizationavec le slug de l'organisation.
Ressources manquantes
- Supabase peut mettre quelques minutes à tout synchroniser.
- Les projets en pause (inactifs) sont listés, mais leurs edge functions, branches et buckets ne sont synchronisés que tant que le projet est actif.
- Déclenche un Sync manuel depuis l'en-tête du compte pour rafraîchir.
Déconnexion
Déconnecte le compte dans Polylane, puis révoque le token d'accès depuis les réglages de ton compte Supabase.
Connecte Supabase depuis un job de CI ou tout autre environnement sans navigateur.
Connecter Supabase ne nécessite aucun navigateur : le même point d'accès que la console appelle tient dans un job de CI. Un seul POST authentifié crée la connexion et démarre la première synchronisation.
Prérequis
- Une clé API Polylane avec les scopes
cloud_accounts:writeetcloud_accounts:read. Voir Clés API et OAuth. - L'identifiant de ton espace de travail, qui commence par
ws_. Lis-le depuisGET /v1/workspacesavec la même clé. - Un token d'accès personnel Supabase (qui commence par
sbp_) depuis Account → Access Tokens. Le flux OAuth de la console a besoin d'un navigateur ; les tokens d'accès, non.
Créer la connexion
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"
}'
Un seul appel connecte une organisation Supabase.
organizationne peut être omis que lorsque le token n'atteint qu'une seule organisation ; sinon l'appel échoue avec un400qui liste les slugs des organisations atteignables.
La réponse liste ce qui a été connecté, avec la première synchronisation déjà en cours. Réduite aux deux champs que le reste du flux lit :
{
"success": true,
"result": {
"provider": "supabase",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Un compte déjà connecté atterrit dans failures au lieu de accounts, donc répéter l'appel ne duplique jamais une connexion.
Attendre la première synchronisation
Interroge chaque compte renvoyé par son id jusqu'à ce que status atteigne ready (new à l'enregistrement, syncing pendant que les ressources arrivent) :
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
Donne une échéance à la boucle pour qu'une connexion échouée fasse échouer le job au lieu de le bloquer. Une fois que le compte est ready, ses ressources sont dans la topologie et Polylane a démarré sa première vérification.
Déconnecter depuis l'API
Supprimer la connexion arrête chaque synchronisation et chaque vérification et supprime les identifiants que Polylane détenait. L'appel nécessite le 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"
Révoque ensuite l'identifiant Supabase côté fournisseur, comme décrit sous Disconnect ci-dessous.
Déconnecter
La déconnexion arrête chaque synchronisation et chaque vérification et supprime les identifiants que Polylane détenait. Polylane retire ce que l'API de Supabase lui permet de retirer. Ce qui suit reste jusqu'à ce que tu le retires toi-même :
- OAuth grant
polylane cloud disconnect <id>Outils
4Les opérations que les agents peuvent effectuer dans les threads.
Ressources prises en charge
13Les types de ressources qui apparaissent dans ton graphe d'infrastructure.