Funcionalidades
Armazenamento de arquivos
Disco local ou bucket S3-like, e a decisão é por tipo de conteúdo.
Anexos, imagens de comentário, avatares e o .zip do backup passam pela mesma porta. Por baixo dela há dois backends: o volume do container e um bucket S3-like (AWS, MinIO, Magalu Cloud, qualquer um que fale o protocolo).
O destino é por TIPO de conteúdo
É por isso que “S3 ligado” não significa “tudo no bucket”: a resposta da API traz driver (o que foi escolhido) ao lado de effectiveDriver e effectiveBackupDriver (onde as coisas caem de fato). Quando eles divergem, é porque o escopo manda só uma parte para o bucket.
O que fica acima do driver
- A detecção de tipo pelos magic bytes.
- A barreira de nome que impede path traversal.
- A recusa por modo de upload (
NONE,IMAGE,ALL).
As três valem seja qual for o backend: trocar de driver não afrouxa nenhuma delas.
A chave secreta entra e nunca sai
A resposta da API traz apenas hasSecret: existe um segredo, sem dizer qual. Credencial de bucket também não entra no backup.
Testar antes de gravar
O teste de conexão grava, lê e apaga um arquivo de teste usando a configuração do formulário, e não a que já está salva: dá para conferir a credencial antes de gravá-la.