Fly.io
Conectar
Conecta Fly.io desde la terminal. Pasa --help para ver los flags que acepta Fly.io, más --no-browser para entornos sin navegador.
polylane cloud connect --provider flyToken de API desde tu panel de Fly.io.
Fly.io se conecta con un token de API de tu panel. Usa el tipo de token más restrictivo: Polylane solo necesita acceso de lectura. Tu token se cifra antes de almacenarse, y el agente nunca lo ve.
Configuración
- Abre el Fly.io Dashboard y ve a Tokens.
- Crea un token nuevo de solo lectura.
- Copia el token y pégalo en Polylane.
- Polylane valida el token y empieza a sincronizar.
Polylane descubre tus apps, máquinas, volúmenes, certificados y otros recursos de Fly.io.
Tipos de token
| Tipo | Alcance | Recomendado |
|---|---|---|
| Read-only | Solo puede leer recursos | Usa este |
| Deploy | Puede desplegar apps | No es necesario |
| Personal | Acceso completo a la cuenta | No recomendado |
Desconexión
Desconecta la cuenta en Polylane y luego revoca el token desde tu panel de Fly.io en Tokens.
Conecta Fly.io desde un trabajo de CI o cualquier otro entorno sin navegador.
Conectar Fly.io 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 token de API de solo lectura de Fly.io, creado en Tokens en el panel de Fly.io.
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": "fly",
"workspaceId": "ws_0abc123",
"token": "<fly-api-token>"
}'
El token se resuelve a una organización de Fly.io, así que una llamada conecta una organización.
- El descubrimiento de la organización lee las apps que el token puede ver, así que un token que no alcanza ninguna app falla con un
400.
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": "fly",
"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 Fly.io 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 Fly.io también se elimina; no queda nada atrás.
polylane cloud disconnect <id>Herramientas
4Operaciones que los agentes pueden realizar en los hilos.
Recursos compatibles
5Tipos de recurso que aparecen en tu grafo de infraestructura.