PlanetScale
Conectar
Conecta PlanetScale desde la terminal. Pasa --help para ver los flags que acepta PlanetScale, más --no-browser para entornos sin navegador.
polylane cloud connect --provider planetscaleAutorización OAuth, o un token de servicio desde la configuración de tu organización de PlanetScale.
PlanetScale se conecta mediante OAuth: haz clic en Connect with PlanetScale, autoriza el acceso de lectura en PlanetScale y vuelves redirigido con la sincronización ya en marcha. Si tu cuenta de PlanetScale puede acceder a más de una organización, elige la que quieres conectar cuando se te pida. Los tokens se cifran antes de almacenarse, y el agente nunca los ve.
Alternativa con token de servicio
Si prefieres una credencial de larga duración, conecta con un token de servicio:
- Abre PlanetScale y ve a Settings → Service tokens de tu organización.
- Haz clic en Create service token y copia tanto el token ID como el token.
- Concede al token acceso de lectura a la organización y sus bases de datos (por ejemplo
read_databases,read_branches). - Pega el ID del token y el token en Polylane. Si el token puede alcanzar más de una organización, indica también el nombre de la organización que quieres conectar.
- Polylane valida el token y empieza a sincronizar.
Cada conexión cubre una única organización de PlanetScale. Polylane descubre sus bases de datos y sus ramas, incluidos estado, plan, región y actividad de esquema.
Solución de problemas
Error "Invalid service token"
- Se requieren tanto el ID del token como el token; el token por sí solo no autentica.
- Comprueba que el token no se haya eliminado en la configuración de PlanetScale.
- Asegúrate de que el token tiene acceso de lectura a la organización.
Error "Multiple PlanetScale organizations are reachable"
- Las credenciales pueden alcanzar más de una organización, así que indica cuál quieres conectar.
- Al conectar mediante OAuth en la consola, elige la organización cuando se te pida tras autorizar.
- Al conectar mediante la API, establece el campo
organizationcon el nombre de la organización.
Faltan recursos
- PlanetScale puede tardar unos minutos en sincronizar todo.
- Lanza un Sync manual desde la cabecera de la cuenta para actualizar.
Desconexión
Desconecta la cuenta en Polylane y luego elimina el token de servicio desde la configuración de tu organización de PlanetScale.
Conecta PlanetScale desde un trabajo de CI o cualquier otro entorno sin navegador.
Conectar PlanetScale no necesita navegador: el mismo endpoint al que llama la consola cabe en un trabajo de CI. Un único POST autenticado crea la conexión e inicia la primera sincronización.
Requisitos previos
- Una clave de API de Polylane con los scopes
cloud_accounts:writeycloud_accounts:read. Consulta Claves de API y OAuth. - El ID de tu espacio de trabajo, que empieza por
ws_. Léelo desdeGET /v1/workspacescon la misma clave. - Un par de token de servicio de PlanetScale de Settings → Service tokens de tu organización, con acceso de lectura a la organización (por ejemplo
read_databases,read_branches). El flujo OAuth de la consola necesita un navegador; los tokens de servicio no.
Crear la conexión
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 llamada conecta una organización de PlanetScale.
organizationsolo puede omitirse cuando el token alcanza exactamente una organización; de lo contrario la llamada falla con un400que lista los nombres de las organizaciones alcanzables.
La respuesta lista lo que se conectó, con la primera sincronización ya en marcha. Recortada a los dos campos que lee el resto del flujo:
{
"success": true,
"result": {
"provider": "planetscale",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Una cuenta que ya está conectada acaba en failures en lugar de en accounts, así que repetir la llamada nunca duplica una conexión.
Esperar a la primera sincronización
Consulta cada cuenta devuelta por su id hasta que status llegue a ready (new al registrarse, syncing mientras los recursos van llegando):
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
Dale al bucle un plazo límite para que una conexión fallida haga fallar el trabajo en lugar de dejarlo colgado. Cuando la cuenta está ready, sus recursos están en la topología y Polylane ha iniciado su primera comprobación.
Desconectar desde la API
Eliminar la conexión detiene todas las sincronizaciones y comprobaciones y elimina las credenciales que Polylane guardaba. La llamada necesita el 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"
Después revoca la credencial de PlanetScale del lado del proveedor, como se describe más abajo en Desconectar.
Desconectar
Desconectar detiene todas las sincronizaciones y comprobaciones y elimina las credenciales que Polylane guardaba. Polylane elimina lo que la API de PlanetScale le permite eliminar. Lo siguiente permanece hasta que lo elimines tú:
- OAuth grant
polylane cloud disconnect <id>Herramientas
2Operaciones que los agentes pueden realizar en los hilos.
Recursos compatibles
2Tipos de recurso que aparecen en tu grafo de infraestructura.