Volúmenes y copias
Cada despliegue crea un contenedor nuevo, así que lo que un servicio escriba fuera de un volumen se pierde con el anterior. Esta guía explica cómo añadir volúmenes y cómo funcionan sus copias de seguridad.
Volúmenes
Los componentes del catálogo ya traen el suyo. Un servicio propio que guarda estado en disco (un SQLite en /data, ficheros subidos) lo pide en Ajustes → Volúmenes, con la ruta absoluta donde escribe:
fundaia volumes add tienda api /data
fundaia volumes list tienda api
fundaia volumes resize vol_abc123 --gb 5
- Se monta en el siguiente despliegue, no al añadirlo. Hasta entonces la lista lo marca como Sin desplegar.
- La ruta tiene que ser absoluta y no puede ser
/, repetir la de otro volumen del servicio ni caer sobre/proc,/sys,/devo un directorio que llena la imagen (/usr,/etc,/lib…). - El tamaño va en gigas enteros, desde 1. Es lo que se reserva y se factura, no un límite que el disco imponga.
Quitar un volumen
fundaia volumes remove vol_abc123
Quitarlo lo desprende, no lo borra: el servicio deja de verlo en su próximo despliegue, pero los datos siguen en disco. Lo mismo pasa al borrar un servicio: sus volúmenes se conservan.
Cuánto disco cabe
El plan del espacio fija cuánto almacenamiento incluye (ver Facturación). En Base no se puede pasar de ahí; en Pro lo que exceda se factura. Añadir o ampliar un volumen que no cabe se rechaza con el motivo.
Ver los archivos
La pestaña Archivos de un servicio con volumen recorre lo que hay dentro, leído del contenedor que está sirviendo: carpetas primero, un clic abre una carpeta o enseña un archivo, y cualquiera de hasta 20 MB se descarga.
fundaia files ls tienda api # la raíz del primer volumen
fundaia files ls tienda api /data/uploads
fundaia files cat tienda api /data/config.json
fundaia files get tienda api /data/app.db -o copia.db
- Solo se puede leer dentro de un volumen. Una ruta fuera de ellos se rechaza, también con
... - La vista previa son los primeros 256 KB y los secretos del servicio salen tapados, como en la consola; un archivo binario se descarga en vez de enseñarse. La descarga es el archivo tal cual.
- Hace falta que el servicio esté en marcha: dormido, o sin un despliegue que haya arrancado, no hay contenedor al que preguntar. Para escribir, la consola.
- Una carpeta enseña como mucho 1.000 entradas.
Para un agente son list_files y read_file.
Copias de seguridad
Todo servicio con volumen se copia a diario desde que existe. La copia es un archivo del volumen entero, tomado con el servicio en marcha: la misma operación para un Postgres, un Redis o un bucket.
| Programación | Cada | Se guardan |
|---|---|---|
| Diaria | 24 horas | La última |
| Semanal | 7 días | Las 4 últimas |
| Mensual | 30 días | Las 3 últimas |
Se puede tener cualquier combinación. La retención cuenta copias, no días: la más vieja se borra solo cuando existe una más nueva que la sustituya, así que una semana de fallos no te deja sin nada.
fundaia backups list tienda Postgres
fundaia backups new tienda Postgres # una copia ahora; espera a que termine
fundaia backups schedule tienda Postgres daily,monthly
fundaia backups keep bkp_abc # que la retención no se la lleve
fundaia backups unkeep bkp_abc
fundaia backups remove bkp_abc
backups schedule sin ninguna programación deja de copiar y conserva las copias que haya. keep es lo que se hace la tarde antes de una migración delicada.
Restaurar
fundaia backups restore bkp_abc --confirm bkp_abc
Restaurar sobrescribe el volumen. Antes, la plataforma hace siempre una copia del estado actual; después para el servicio, restaura y lo vuelve a arrancar, también si la restauración falla.
Copias fuera de la máquina
Si quien administra la instancia lo ha configurado, cada copia se sube también a un almacenamiento externo en cuanto termina, y lo que la retención borra se borra también allí. La pestaña Copias dice adónde se suben, y cada copia aparece como subida o sin subir con el motivo; una subida fallida no invalida la copia local y se reintenta sola. Al restaurar una copia que ya no está en la máquina, se trae primero de fuera.