Para transferir archivos a tu aplicación corriendo en staging o production primero obtén el nombre del nodo tailscale del proyecto:
tailscale status | grep sperantus-test-staging
NOTAS:
- El nombre del nodo será el nombre del proyecto (con guiones medios en lugar de bajos) seguido del ambiente, por ejemplodaleks-victory-stagingpara el ambiente staging del proyectodaleks_victory.
- Si estás usando Windows, este comando debe hacerse desde el powershell o cmd de Windows.
Ya con el nombre del nodo, puedes transferir archivos usando
scp(o mejor aún,rsyncque soporta continuar transferencias interrumpidas entre otras cosas) desde tu terminal Ubuntu. Usa siempre el directorio remoto/task-storage, que es el compartido entre todos los contenedores de la aplicación corriendo en Sperantus Hosting:
Desde tu máquina a la aplicación:
# Usando scp scp mi_archivo.txt root@nombre-de-nodo-tailscale:/task-storage/ # Usando rsync rsync -av --progress mi_archivo.txt root@nombre-de-nodo-tailscale:/task-storage/
Desde la aplicación a tu máquina:
# Usando scp scp root@nombre-de-nodo-tailscalem:/task-storage/mi_archivo.txt . # Usando rsync rsync -av --progress root@nombre-de-nodo-tailscalem:/task-storage/mi_archivo.txt .- En este caso del ejemplo anterior, el archivo transferido estará en tu aplicación remota en
/task-storage/mi_archivo.txt.
- Ya con esto puedes entrar a un shell de tu aplicación remota con el comando
hosting/hosting aws_container_shell <ambiente>y realizar las operaciones que necesites con dicho archivo.
Ejemplo: transferir un archivo de tu máquina local a la aplicación ejecutándose en staging
Primero encuentra el nodo tailscale mediante el código de proyecto (cambiando guiones bajos por medios). Por ejemplo, si el proyecto es "sperantus_test" busca "sperantus-test-staging":
tailscale status
Se te mostrará un listado de todos los nodos con los que tienes conectividad (algunos pueden tener sufijos numéricos en el nombre). Por ejemplo:
100.66.39.11 sperantus-hosting-sperantus-test-production tagged-devices linux - 100.66.39.12 sperantus-hosting-sperantus-test-staging-1 tagged-devices linux - 100.66.39.13 sperantus-daleks-victory-staging tagged-devices linux - 100.66.39.14 sperantus-daleks-victory-production-1 tagged-devices linux - 100.66.39.15 sperantus-hosting-other-project-staging-1 tagged-devices linux - 100.66.39.16 sperantus-hosting-other-project-production-1 tagged-devices linux -
El nombre del nodo es la segunda columna. En este caso es sperantus-hosting-sperantus-test-staging-1
Suponiendo que quieres copiar un archivo local llamado dump.sql, ejecutarías scp indicando el archivo y el nodo a donde lo quieres copiar (siempre bajo el directorio remoto /task-storage):
scp dump.sql root@nombre-de-nodo-tailscale:/task-storage/sperantus-hosting-sperantus-test-staging-1
Enseguida, entrarías al shell de tu aplicación en staging:
hosting/hosting aws_container_shell staging
Y desde el shell importarías tu dump con los comandos que requieras según tu aplicación. El archivo transferido lo encontrarás bajo el directorio /task-storage.