Railway
Conectar
Conecta Railway desde la terminal. Pasa --help para ver los flags que acepta Railway, más --no-browser para entornos sin navegador.
polylane cloud connect --provider railwayAutorización OAuth.
Railway se conecta mediante OAuth: haz clic en Continue to Railway, autoriza el acceso de lectura en Railway y vuelves redirigido con la sincronización ya en marcha. Los tokens se cifran antes de almacenarse, y el agente nunca los ve.
Polylane descubre tus proyectos, entornos, servicios, despliegues, volúmenes, dominios y proxies TCP. Las métricas de los servicios alimentan los gráficos y la detección de anomalías. Los nombres de las variables se sincronizan para enlazar entre nubes; los valores de las variables nunca se leen. Los entornos efímeros (de pull request) se omiten.
Webhooks de despliegue y alertas
Railway envía los cambios de estado de los despliegues y las alertas de uso mediante reglas de notificación. Apuntar una a Polylane alerta sobre despliegues fallidos o caídos, resuelve la alerta en el siguiente despliegue correcto y programa una resincronización:
- Copia la URL del webhook desde la página Settings de la cuenta de nube en Polylane (termina con el ID de tu espacio de trabajo de Railway).
- En Railway, abre la configuración de Notifications de tu espacio de trabajo y añade una regla de webhook que apunte a esa URL.
- Selecciona los eventos de Deployment que te interesan:
Deployment.deployed,Deployment.failed,Deployment.crashedyDeployment.oom_killedcubren el flujo de alertas (el evento de éxito de Railway esDeployment.deployed; no existeDeployment.success). - Añade los eventos de VolumeAlert y Monitor, incluidos
VolumeAlert.resolvedyMonitor.resolved, para que las alertas de volúmenes y monitores se abran y se cierren automáticamente en Polylane.
Solución de problemas
La autorización falla o se cancela
- Asegúrate de haber iniciado sesión en Railway con una cuenta que pueda acceder al espacio de trabajo.
- Reinténtalo desde Continue to Railway; el enlace de autorización solo es válido durante unos minutos.
Faltan recursos
- Railway puede tardar unos minutos en sincronizar todo.
- Los entornos efímeros (de pull request) no se sincronizan.
- Lanza un Sync manual desde la cabecera de la cuenta para actualizar.
Desconexión
Desconecta la cuenta en Polylane, luego revoca la autorización OAuth en la configuración de tu cuenta de Railway y elimina la regla de notificación si creaste una.
Conecta Railway desde un trabajo de CI o cualquier otro entorno sin navegador.
Conectar Railway 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 espacio de trabajo de Railway de la configuración de tu espacio de trabajo. El flujo OAuth de la consola necesita un navegador; los tokens de espacio de trabajo 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": "railway",
"workspaceId": "ws_0abc123",
"token": "<railway-workspace-token>"
}'
Una sola llamada conecta todos los espacios de trabajo de Railway que el token puede alcanzar; pasa el railwayWorkspaceId opcional para conectar solo uno.
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": "railway",
"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 Railway 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 Railway le permite eliminar. Lo siguiente permanece hasta que lo elimines tú:
- OAuth grant
polylane cloud disconnect <id>Herramientas
4Operaciones que los agentes pueden realizar en los hilos.
Recursos compatibles
8Tipos de recurso que aparecen en tu grafo de infraestructura.