Guías

Almacenamiento

Dos herramientas distintas para dos trabajos distintos: almacenamiento de objetos para los archivos que suben tus usuarios, y volúmenes para el estado que un único contenedor tiene que guardar en disco.

¿Cuál necesito?

Almacenamiento de objetosVolúmenes
Sirve paraArchivos subidos por usuarios, imágenes, exportaciones, copias de seguridad: todo lo que localizas por clave.Bases de datos que gestionas tú, índices de búsqueda, cachés en disco.
Se accede medianteUna API compatible con S3, por la red.Una ruta del sistema de archivos dentro del contenedor.
Efecto en el escaladoNinguno: cualquier número de réplicas puede compartir un bucket.Deja la app fija en una sola réplica.
Efecto en los deploysNinguno.Los deploys detienen el pod antiguo antes de arrancar el nuevo, así que hay una breve interrupción.

Si valen los dos, elige almacenamiento de objetos

Un volumen te hace perder, en toda la app, el escalado horizontal y los deploys sin interrupción. Recurre a uno solo cuando tu carga de trabajo necesite de verdad un sistema de archivos local.

Usa tu propio bucket de S3 o R2

Starter, Standard, Pro y Scale no incluyen buckets de Codara. Para almacenamiento de objetos en estos planes, usa un bucket que ya tengas en cualquier proveedor compatible con S3, como Cloudflare R2 o Amazon S3. Elige Añadir servicio → Servicio externo en el lienzo del entorno; sus credenciales se inyectan en tus apps y jobs. El proveedor te factura ese almacenamiento directamente.

Buckets de almacenamiento de objetos de Codara

Un bucket de Codara es almacenamiento de objetos compatible con S3, alojado en la UE. Tu biblioteca cliente de S3 funciona con él sin cambios.

Los buckets de Codara requieren un acuerdo aparte

En Starter, Standard, Pro y Scale, la creación de un bucket se rechaza con 402 plan_limit_exceeded. El almacenamiento de objetos de Codara está disponible mediante un acuerdo aparte.

Gestiona los buckets desde tu lienzo

Si tienes un acuerdo de almacenamiento de objetos, abre un entorno y elige Añadir servicio → Bucket. Selecciona un bucket para ver su endpoint, conectar una app o eliminar para siempre el bucket y todos sus objetos. Las conexiones con apps aparecen en el lienzo. La API HTTP y las herramientas MCP también admiten buckets; todavía no existe el comando codaracloud buckets.

Qué se inyecta

Al conectar un bucket a una app, esta recibe las siguientes claves. El prefijo por defecto sale del nombre del bucket; si indicas un alias de conexión explícito, sustituye a ese prefijo. La tabla usa UPLOADS como ejemplo.

VariableContiene
UPLOADS_BUCKETEl bucket al que dirigirse.
UPLOADS_S3_ENDPOINTLa URL del endpoint compatible con S3.
UPLOADS_S3_ACCESS_KEY_IDClave de acceso.
UPLOADS_S3_SECRET_ACCESS_KEYClave secreta.
UPLOADS_S3_REGIONLa región que debes pasar a tu cliente de S3.

Subir archivos directamente desde el navegador

Codara puede emitir URLs prefirmadas para que el navegador suba los archivos directamente al almacenamiento, en lugar de pasar por tu app. Así los archivos grandes no tocan tu contenedor en ningún momento: lo habitual es que tu backend pida una URL prefirmada, se la pase al cliente y el cliente envíe el archivo a esa URL con un PUT.

La región se fija al crear el bucket

Los buckets se crean en la jurisdicción de la UE y eso no se puede cambiar después.

Eliminar un bucket destruye su contenido

Eliminar un bucket es irreversible y borra todos los objetos que contiene. No hay papelera.

Volúmenes persistentes

Un volumen es un disco conectado a una app en una ruta de montaje. Sobrevive a reinicios, a nuevos deploys y a cambios de imagen.

¿Necesitas más almacenamiento? Revisa Facturación y uso → Capacidad extra en tu organización. El almacenamiento adicional cuesta 0,12 € por GiB al mes sin impuestos, de 10 a 1.000 GiB, en todos los planes de autoservicio actuales, y solo cuenta mientras tu plan esté activo. Se renueva cada mes aunque tu plan base sea anual, deja de renovarse en cuanto se programa el fin de tu plan, no añade CPU ni RAM y no se le aplica ningún descuento de prueba ni promocional. Usa Cancelar renovación en Tu capacidad extra para cancelar las renovaciones futuras. Consulta la facturación y cómo reducir la capacidad de forma segura para más detalles. Comprar disco adicional no amplía automáticamente un volumen que ya existe ni añade protección con copias de seguridad.

bash
$ codaracloud volumes add my-app \    --name data \    --mount /var/lib/data \    --size 20 \    --client my-workspace $ codaracloud volumes list my-app --client my-workspace
AjusteDetalle
Tamaño por defecto10 GiB
Rango10–10.240 GiB, dentro de la cuota de almacenamiento de tu plan
Ruta de montajeCualquier ruta absoluta dentro del contenedor
NombreEn minúsculas, con guiones, hasta 63 caracteres

Un volumen cambia cómo se ejecuta tu app

Conectar un volumen deja la app fija en una sola réplica y cambia su rollout a «detener y luego arrancar», porque el disco solo lo puede montar un contenedor a la vez. Eso significa que no hay escalado horizontal y que cada deploy provoca una breve caída. Tenlo en cuenta antes de añadir uno a una app que sirve tráfico.

Ampliar un volumen

bash
$ codaracloud volumes grow my-app data --size 50 --client my-workspace

Los volúmenes solo pueden crecer, nunca reducirse, y la app se reinicia una vez para usar el nuevo tamaño. A diferencia del almacenamiento de las bases de datos, los volúmenes de las apps no crecen automáticamente: vigila tú el uso.

Desconectar un volumen

bash
$ codaracloud volumes remove my-app data --client my-workspace

Desconectar no libera cuota de almacenamiento

Por defecto, el disco y sus datos se conservan al desconectarlo, para que puedas volver a conectarlo más adelante. El disco sigue ocupando almacenamiento asignado; desconectarlo no cancela el almacenamiento adicional ni cambia el precio de tu plan base. Para liberar esa asignación tienes que purgar el disco, lo que destruye sus datos para siempre.

Los discos desconectados aparecen en Desconectados, con los datos conservados, en la página de la app. Desde ahí puedes volver a conectar el mismo disco y elegir su ruta de montaje, o eliminarlo para siempre después de escribir su nombre exacto.

bash
# Permanent and irreversible$ codaracloud volumes purge my-app data --confirm data --client my-workspace

Copias de seguridad

Cuando la política de copias de seguridad de volúmenes de apps está activada, los volúmenes se copian periódicamente a un almacenamiento externo. Esto es independiente de las copias de seguridad de las bases de datos, y no puedes restaurar un volumen por tu cuenta: la recuperación la hace un operador. Si los datos son importantes, guarda otra copia en un sitio que controles tú.

Última actualización: