Skip to main content

Armazenamento de arquivos

Mídias, documentos, exports e arquivos de conhecimento serão armazenados atrás de um contrato S3-compatible próprio da Nuvexa.

Princípio

Aplicações e domínios não conhecem o servidor físico.
Metadata canônica permanece no PostgreSQL:
  • Organização proprietária.
  • Object ID e provider key.
  • Tamanho e media type.
  • Checksum.
  • Retention class.
  • Estado de validação.
  • Timestamps.

Contrato necessário

  • Upload e download por streaming.
  • URLs assinadas.
  • Multipart upload.
  • Metadata e checksums.
  • Range requests.
  • Copy e delete.
  • Health e métricas.
  • Erros normalizados.

Segurança

  • Buckets privados por padrão.
  • URLs assinadas de curta duração.
  • Credenciais de menor privilégio.
  • Prefixos tenant-aware com IDs opacos.
  • Validação de tamanho e tipo.
  • Scan de arquivos quando necessário.
  • Auditoria de exports e acessos privilegiados.

Produção gerenciada

Um serviço gerenciado compatível com S3 pode ser a escolha mais segura quando disponibilidade, durabilidade e menor carga operacional forem prioritárias. A arquitetura não exige self-hosting de todos os componentes.

SeaweedFS

Status: candidato self-hosted preferencial para prova de conceito. Motivos:
  • Projeto ativo em 2026.
  • Licença Apache 2.0.
  • API S3-compatible.
  • Arquitetura preparada para muitos arquivos e expansão horizontal.
  • Topologia que pode começar compacta.
Ser compatível com S3 não garante comportamento idêntico à AWS em todos os casos. A Nuvexa manterá uma suíte de conformidade para o subconjunto utilizado.
Testes obrigatórios:
  • Presigned PUT e GET.
  • Multipart upload.
  • Range de mídia.
  • Metadata e checksum.
  • Reinício e recuperação.
  • Backup e restore.
  • Upgrade de versão.
  • Isolamento por organização.

MinIO

Status: compatibilidade para instalações existentes, não default. O repositório público community do MinIO foi arquivado em abril de 2026 e passou a descrever a distribuição como source-only. Essa mudança aumenta a responsabilidade operacional e de distribuição. A Nuvexa poderá conectar instalações existentes pelo provider S3, mas não adotará imagens flutuantes ou builds não revisados como parte padrão do Compose.

Local filesystem

Permitido apenas em desenvolvimento isolado e testes. Não oferece durabilidade, escala ou segurança adequadas para produção.

Migração de provider

Trocar o backend exige:
  1. Inventário de objetos e metadata.
  2. Cópia com verificação de checksum.
  3. Reconciliação.
  4. Troca controlada da configuração.
  5. Período de rollback.
  6. Remoção do provider anterior somente após validação.
Os IDs canônicos de arquivo não mudam.

SeaweedFS

Código, arquitetura e releases.

SeaweedFS S3 API

Gateway e compatibilidade S3.

MinIO community

Estado atual do repositório público.

Amazon S3 API

Referência do contrato de object storage.