Conectar
Conecta Modal desde la terminal. Pasa --help para ver los flags que acepta Modal, más --no-browser para entornos sin navegador.
polylane cloud connect --provider modalUn ID de token y un secreto de token desde la configuración de Modal.
Modal se conecta con un token creado en la configuración de Modal. Un token de Modal se resuelve exactamente a un espacio de trabajo, así que un token conecta un espacio de trabajo. Los tokens se cifran antes de almacenarse, y el agente nunca los ve.
- Abre Modal y ve a Settings → Tokens.
- Haz clic en New token y copia tanto el token ID (empieza por
ak-) como el token secret (empieza poras-). - Pega ambos valores en Polylane.
- Polylane valida el par y empieza a sincronizar.
Polylane descubre tus entornos y, dentro de cada uno, tus apps, funciones incluidos los endpoints web, sandboxes en ejecución, volúmenes, secretos, colas y dicts. Los secretos se mapean solo por nombre: Modal nunca expone los valores de los secretos.
Modal no ofrece tokens de solo lectura, así que un token lleva los permisos de la cuenta que lo creó. Polylane solo lee de Modal durante la sincronización.
Solución de problemas
Error "Invalid token"
- Se requieren tanto el ID del token como el secreto del token; ninguno de los dos autentica por sí solo.
- Comprueba que el token no se haya revocado en la configuración de Modal.
- Confirma que copiaste el valor completo, incluidos los prefijos
ak-yas-.
Faltan recursos
- Las funciones se descubren a través de su app, así que una app que nunca se ha desplegado no tiene funciones que mostrar.
- Los sandboxes terminados se omiten: solo aparecen los que están en ejecución.
- Lanza una sincronización manual para actualizar antes de la siguiente pasada programada.
Métricas y coste
- Las apps llevan dos gráficos: líneas de log de stderr por intervalo y gasto medido por hora. Modal solo reporta medidores instantáneos para todo lo demás, así que las funciones, los sandboxes y los volúmenes no tienen gráficos propios.
- Los recuentos de stderr son líneas de log, no fallos: un traceback de Python son varias líneas.
- Modal conserva los logs durante 24 horas, así que un gráfico nunca llega más atrás.
- El gasto se atribuye por app, y Modal materializa una hora solo cuando ha terminado, así que la hora más reciente se lee baja hasta que se asienta.
Conecta Modal desde un trabajo de CI o cualquier otro entorno sin navegador.
Conectar Modal 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 tokens de Modal de Settings → Tokens: el ID del token (empieza por
ak-) y el secreto del token (empieza poras-).
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": "modal",
"workspaceId": "ws_0abc123",
"tokenId": "ak-...",
"tokenSecret": "as-..."
}'
El token se resuelve exactamente a un espacio de trabajo de Modal, así que una llamada conecta un espacio de trabajo.
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": "modal",
"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 Modal 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. Todo lo que Polylane configuró en Modal también se elimina; no queda nada atrás.
polylane cloud disconnect <id>Herramientas
5Operaciones que los agentes pueden realizar en los hilos.
Recursos compatibles
10Tipos de recurso que aparecen en tu grafo de infraestructura.