PlanetScale
Collega
Collega PlanetScale dal terminale. Passa --help per vedere i flag che PlanetScale accetta, più --no-browser per gli ambienti headless.
polylane cloud connect --provider planetscaleAutorizzazione OAuth, oppure un service token dalle impostazioni della tua organizzazione PlanetScale.
PlanetScale si collega via OAuth: fai clic su Connect with PlanetScale, autorizza l'accesso in lettura su PlanetScale e vieni reindirizzato con la sincronizzazione già avviata. Se il tuo account PlanetScale può accedere a più di un'organizzazione, scegli quella da collegare quando ti viene chiesto. I token vengono cifrati prima di essere archiviati e l'agente non li vede mai.
Alternativa con service token
Se preferisci una credenziale a lunga durata, collega invece con un service token:
- Apri PlanetScale e vai su Settings → Service tokens della tua organizzazione.
- Fai clic su Create service token e copia sia il token ID sia il token.
- Concedi al token accesso in lettura all'organizzazione e ai suoi database (ad esempio
read_databases,read_branches). - Incolla token ID e token in Polylane. Se il token può raggiungere più di un'organizzazione, indica anche il nome dell'organizzazione da collegare.
- Polylane convalida il token e avvia la sincronizzazione.
Ogni collegamento copre una singola organizzazione PlanetScale. Polylane scopre i suoi database e i relativi branch, inclusi stato, piano, regione e attività sullo schema.
Risoluzione dei problemi
Errore "Invalid service token"
- Servono sia il token ID sia il token; il token da solo non basta per autenticarsi.
- Verifica che il token non sia stato eliminato nelle impostazioni di PlanetScale.
- Assicurati che il token abbia accesso in lettura all'organizzazione.
Errore "Multiple PlanetScale organizations are reachable"
- Le credenziali possono raggiungere più di un'organizzazione, quindi indica quella da collegare.
- Se colleghi via OAuth nella console, scegli l'organizzazione quando ti viene chiesto dopo l'autorizzazione.
- Se colleghi via API, imposta il campo
organizationsul nome dell'organizzazione.
Risorse mancanti
- PlanetScale può impiegare qualche minuto per sincronizzare tutto.
- Avvia una Sync manuale dall'intestazione dell'account per aggiornare.
Scollegamento
Scollega l'account in Polylane, poi elimina il service token dalle impostazioni della tua organizzazione PlanetScale.
Collega PlanetScale da un job CI o da qualsiasi altro ambiente senza browser.
Collegare PlanetScale non richiede un browser: lo stesso endpoint che chiama la console sta in un job CI. Una sola POST autenticata crea il collegamento e avvia la prima sincronizzazione.
Prerequisiti
- Una chiave API Polylane con gli scope
cloud_accounts:writeecloud_accounts:read. Vedi Chiavi API e OAuth. - L'ID del tuo workspace, che inizia con
ws_. Leggilo daGET /v1/workspacescon la stessa chiave. - Una coppia di service token PlanetScale da Settings → Service tokens della tua organizzazione, con accesso in lettura all'organizzazione (ad esempio
read_databases,read_branches). Il flusso OAuth della console richiede un browser; i service token no.
Crea il collegamento
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "planetscale",
"workspaceId": "ws_0abc123",
"tokenId": "<service-token-id>",
"token": "<service-token>",
"organization": "my-org"
}'
Una sola chiamata collega una organizzazione PlanetScale.
organizationpuò essere omesso solo quando il token raggiunge esattamente una organizzazione; altrimenti la chiamata fallisce con un400che elenca i nomi delle organizzazioni raggiungibili.
La risposta elenca ciò che è stato collegato, con la prima sincronizzazione già in corso. Ridotta ai due campi che il resto del flusso legge:
{
"success": true,
"result": {
"provider": "planetscale",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Un account già collegato finisce in failures invece che in accounts, quindi ripetere la chiamata non duplica mai un collegamento.
Attendi la prima sincronizzazione
Interroga ogni account restituito tramite il suo id finché status non raggiunge ready (new alla registrazione, syncing mentre le risorse arrivano):
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
Dai al ciclo una scadenza, così un collegamento fallito fa fallire il job invece di bloccarlo. Una volta che l'account è ready, le sue risorse sono nella topologia e Polylane ha avviato il suo primo controllo.
Scollega dall'API
Eliminare il collegamento interrompe ogni sincronizzazione e ogni controllo ed elimina le credenziali che Polylane conservava. La chiamata richiede lo 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"
Poi revoca la credenziale PlanetScale sul lato del provider, come descritto sotto Scollega qui sotto.
Scollega
Scollegare interrompe ogni sincronizzazione e ogni controllo ed elimina le credenziali che Polylane conservava. Polylane rimuove ciò che l'API di PlanetScale gli permette di rimuovere. Quanto segue resta finché non lo rimuovi tu:
- OAuth grant
polylane cloud disconnect <id>Strumenti
2Operazioni che gli agenti possono eseguire nei thread.
Risorse supportate
2Tipi di risorsa che compaiono nel grafo della tua infrastruttura.