Saltar al contenido principal
Version: Next

Storages

Storages

Un storage representa un repositorio de almacenamiento. Cada storage tiene un nombre y una conexión asociada que define cómo conectarse al repositorio (por ejemplo, un servidor S3, una instancia de Nuxeo/RDI o un directorio del sistema de archivos).

Storage por defecto

El storage por defecto es aquel cuya conexión no se encuentra definida en el archivo conexiones.yml. Su configuración se realiza exclusivamente mediante variables de entorno.

Este almacenamiento se encuentra habilitado por defecto y no puede ser desactivado. El sistema solo admite un único storage por defecto; los demás se configuran como storages adicionales.

Tipo de almacenamiento

STORAGE_TYPE=RDI | S3 | FileSystemStorage

Configuraciones disponibles

  • RDI
STORAGE_HOST=http://nuxeo:8080/nuxeo/atom/cmis/
STORAGE_USUARIO=
STORAGE_CLAVE=
  • S3
STORAGE_ENDPOINT=
STORAGE_KEY=
STORAGE_SECRET=
STORAGE_REGION=
STORAGE_VERSION=
STORAGE_BUCKET=
  • FileSystemStorage
STORAGE_FILESYSTEM_DIR=/tmp/

Advertencia: FileSystemStorage es adecuado únicamente para desarrollo y pruebas locales. No usar en producción.

Storages adicionales

Los storages adicionales requieren una conexión definida en el archivo conexiones.yml. Se soportan los mismos tres tipos de almacenamiento.

Ejemplo: Se puede tener un storage nuxeo para guardar PDFs autorizados, un storage s3_archivos para imágenes y planillas subidas desde Diaguita, y un storage file_archivos para almacenamiento local temporal.

# config/conexiones.yml
file_archivos:
type: FileSystemStorage
path: /usr/local/app/temp/file_archivos
nuxeo:
type: RDI
host: http://nuxeo:8080/nuxeo/atom/cmis/
usuario: Administrator
clave: Administrator
s3_archivos:
type: S3
endpoint: http://minio:9000
key: admin
secret: admin1234
region: us-east-1
version: latest
bucket: s3archivos

Advertencia: FileSystemStorage es adecuado únicamente para desarrollo y pruebas locales. No usar en producción.

Gestión de storages

Para gestionar los storages se dispone de los siguientes comandos:

ComandoDescripción
storages:agregarRegistra un nuevo storage
storages:activarActiva un storage para que pueda recibir documentos o archivos
storages:desactivarDesactiva un storage
storages:listarLista los storages registrados
storages:validarVerifica que los storages estén correctamente configurados

storages:agregar

./bin/docs storages:agregar --nombre=s3_archivos --conexion=s3_archivos

Registra un nuevo storage en estado PENDIENTE. El valor de --conexion debe coincidir con un identificador definido en conexiones.yml. Antes de poder utilizarlo, debe activarse con storages:activar.

storages:activar

./bin/docs storages:activar {id_storage}

Activa el storage indicado. Antes de activarlo, valida la conexión a ese storage; si la validación falla, el storage no se activa.

storages:desactivar

./bin/docs storages:desactivar {id_storage}

Desactiva el storage indicado. No es posible desactivarlo si:

  • Está siendo referenciado por alguna estrategia activa.
  • Hay documentos o archivos que aún lo utilizan.

storages:listar

./bin/docs storages:listar
./bin/docs storages:listar --full

Lista todos los storages registrados. Con el parámetro --full muestra además la cantidad de documentos y archivos que referencian cada storage, y las estrategias asociadas agrupadas por estado.

storages:validar

./bin/docs storages:validar

Recorre todos los storages activos y verifica que:

  • Su conexión esté definida en conexiones.yml y tenga todos los parámetros necesarios.
  • Sea posible establecer conexión con el repositorio configurado.