cloadyDocs
Docs6 min de lectura

Importar desde Railway, Render o Vercel

Trae un servicio existente con su repositorio, sus variables, su disco y sus dominios ya rellenados.

Si tu app ya se ejecuta en Railway, Render o Vercel, no tienes que describírsela a Cloady desde cero. Conecta Cloady al proveedor una vez: leerá el servicio (repositorio, rama, variables de entorno, tamaño del disco, puerto, dominios propios) y rellenará la tarjeta New application con lo que encuentre.

La importación nunca crea nada por sí sola. Rellena el formulario; tú lo revisas y lo despliegas.

Un servicio, una aplicación

Cloady importa los servicios del proveedor de uno en uno, y cada uno se convierte en una aplicación de Cloady.

Por tanto, un proyecto con un servicio web, un worker y una base de datos supone tres importaciones y tres aplicaciones. Es intencionado: así es como despliega Cloady, y así puedes escalar y reiniciar cada pieza por separado.

Hay una consecuencia que conviene tener prevista. Si tus servicios se referenciaban entre sí mediante variables generadas por el proveedor, esas referencias llegan con el valor que tenían en ese momento, junto con una advertencia. Después de la última importación, abre Settings → Environment en cada app y haz que apunten a la dirección en Cloady de la app hermana.

Antes de empezar

Necesitas un token de acceso del proveedor. Se usa solo para esa importación, nunca se guarda en tu cuenta y nunca aparece en los logs.

ProveedorQué crearDónde
RailwayUn token de proyecto es la opción más restringida; los tokens de cuenta y de espacio de trabajo también sirvenProject Settings → Tokens
RenderUna clave de API (son válidas para toda la cuenta)Account Settings → API Keys
VercelUn token de acceso, preferiblemente limitado a un equipo y con fecha de caducidadAccount Settings → Tokens

Usa el token más restringido que ofrezca el proveedor y revócalo después. Cloady nunca hace más que leer.

Ejecutar la importación

  1. Abre tu espacio de trabajo, haz clic en New application y elige Import from another cloud. También puedes abrir el mismo formulario desde Settings → Import del espacio de trabajo.
  2. Elige Railway, Render o Vercel.
  3. Pega el token. Si quieres, limita la lista a un espacio de trabajo de Railway, un ID de propietario de Render (usr- o tea-) o un equipo de Vercel.
  4. Cloady muestra lo que puede importar, agrupado por proyecto. Lo que no puede importar también aparece, con el motivo.
  5. Elige un servicio. La tarjeta New application se abre ya rellenada.
  6. Revísala (sobre todo las variables) y despliega.

Despliégalo antes de que pasen tres horas. Un servicio elegido se prepara de forma temporal y se elimina a las tres horas si no llegas a desplegarlo; si eso ocurre, basta con volver a elegirlo.

Qué se importa

Railway

Su imagen o repositorio de GitHub, las variables, el tamaño y la ruta de montaje del volumen, el puerto, las réplicas y los dominios propios verificados. En los servicios basados en un repositorio también se importan los comandos de build y de inicio y el directorio raíz.

No se importan: las variables selladas (Railway nunca las devuelve, así que aparecen en la lista para que las vuelvas a introducir), las programaciones de cron, la suspensión de apps inactivas, las comprobaciones de estado, las direcciones del proxy TCP y las referencias a servicios hermanos.

Render

Los servicios web, privados y de tipo worker, con sus variables de entorno y los grupos de entorno vinculados, los discos, los planes y los dominios propios verificados. Los almacenes Postgres y Key Value se importan con sus credenciales.

No se importan: los archivos secretos (cada uno aparece en la lista para que lo vuelvas a añadir como archivo de configuración o como variable secreta), las tareas cron, los sitios estáticos, las comprobaciones de estado, los comandos previos al despliegue, el autoescalado y los datos almacenados.

Vercel

El repositorio de GitHub vinculado, la rama de producción, el directorio raíz, los comandos de build y de instalación, los dominios propios verificados y las variables normales y cifradas del entorno de destino que elijas.

No se importan: las variables sensibles (Vercel nunca las devuelve, así que aparecen en la lista para que las vuelvas a introducir), las funciones serverless y edge, el middleware, las tareas cron y las versiones de Node fijadas.

Los proyectos de Vercel solo se pueden importar si están vinculados a GitHub. Los proyectos de GitLab o Bitbucket, los que no tienen repositorio de origen y los que solo se despliegan con la CLI aparecen en la lista con el motivo por el que no se pueden importar.

Este último punto es el que cambia cómo se ejecuta tu app. En Cloady, un proyecto de Vercel se convierte en un servidor persistente compilado con railpack, no en un conjunto de funciones. buildCommand pasa a ser el comando de build e installCommand pasa a ser RAILPACK_INSTALL_CMD. Si el proyecto es un conjunto de rutas de API detrás de un framework que también funciona como servidor, normalmente no hay que cambiar nada. Si depende de middleware edge o de la configuración de funciones por ruta, cuenta con tener que integrar eso en la propia app.

Los datos nunca se migran

La importación copia la configuración, no el contenido. Los volúmenes, las bases de datos y los archivos subidos se quedan donde están.

Para un almacén Postgres o Key Value de Render, Cloady crea la app equivalente con las mismas credenciales, pero empieza vacía: haz un volcado del antiguo y restáuralo en el nuevo antes de redirigir el tráfico.

Después de la importación

Hay tres cosas que quedan en tus manos a propósito.

Secretos que el proveedor no devuelve. Nadie puede volver a leer las variables selladas de Railway ni las variables sensibles de Vercel, ni siquiera tú. Aparecen en Environment como filas vacías con la etiqueta Not readable from the provider — enter it again. Rellénalas antes de desplegar.

Archivos secretos de Render. Cada uno aparece como una advertencia. Vuelve a añadirlo como archivo de configuración en el compose de la app o como variable secreta, según cómo lo lea tu código.

Dominios propios. Los dominios verificados se muestran para que sepas qué tienes que mover, pero Cloady no los reclama: eso dejaría tu sitio en producción sin servicio a mitad de la migración. Cuando la app importada esté en marcha y la hayas probado en su URL de cloady.io, añade cada dominio en Settings → Domains y actualiza el DNS.

Cómo se tratan tu token y tus valores

Conviene saberlo con precisión, porque estás pegando una credencial en un formulario.

El token viaja en el cuerpo de la solicitud, nunca en una URL; se usa solo para esa llamada y nunca se guarda. Si el proveedor devuelve un error que por casualidad incluye tu token, el texto se limpia antes de llegar a tu navegador.

Los valores de tus variables no se guardan al importar. La importación los devuelve a tu navegador, y el archivo compose generado solo los referencia como ${NAME}. Se guardan, cifrados, cuando despliegas, y no antes.

Todas las variables importadas se tratan como secretas por defecto. Cloady solo marca una como no secreta cuando el proveedor lo indica explícitamente, e incluso entonces sigue siendo secreta si el nombre parece una credencial o el valor contiene una URL con credenciales incrustadas. Si algo queda oculto y prefieres poder leerlo, puedes cambiarlo después en Settings → Environment.

Si algo sale mal

Lo que vesQué significa
El proveedor rechaza el tokenEl token es incorrecto, ha caducado o no tiene acceso a ese proyecto o equipo.
Demasiadas solicitudesEl proveedor está limitando la frecuencia de las solicitudes. Los tokens del nivel gratuito de Railway permiten 100 solicitudes por hora; espera y vuelve a intentarlo.
No se pudo contactar con el proveedorUn fallo del lado del proveedor. Vuelve a intentarlo; si persiste, es probable que el proveedor tenga una incidencia.
Ese servicio ya no existeSe eliminó o se renombró después de cargarse la lista y antes de que lo eligieras. Vuelve a cargar la lista.

Un servicio que usa una imagen de un registro privado se importa con una advertencia en lugar de rechazarse. Cloady no puede trasladar las credenciales de tu registro, así que la descarga de la imagen fallará al desplegar hasta que la imagen sea pública o esté disponible para el clúster.

En esta página