Destaques
- Debug ao vivo da migração de imagens para bucket Oracle Cloud Infrastructure (OCI), usando o driver
s3/oracle-s3do Flysystem no Laravel: erro inicial "namespace não autorizado ou bucket não encontrado" resolvido ajustando a policy IAM (manage object-family, manage buckets) e corrigindo a URL pré-autenticada (PAR) — distinção entre a URL de leitura pública e o endpoint de escrita, que estavam invertidos. - Causa raiz do upload que "não subia": o Livewire grava um arquivo temporário no disco de destino antes de mover para a pasta final, e precisa de permissão de delete nessa pasta temporária no bucket; sem essa permissão o upload falhava silenciosamente, sem gravar no banco.
- Solução aplicada: configurar
livewire.phppara gravar o temporário num subdiretório dedicado (bucket/livewire-tmp), separado da pasta de produtos, com permissão de escrita e delete; alternativas discutidas foram usardisk('local')para o temporário do FileUpload do Filament ou desativar o cleanup automático. - Alerta de custo: alguns provedores de object storage cobram taxa se um arquivo for deletado antes de um período mínimo (o grupo citou o exemplo de 3 meses em outro serviço) — relevante para quem fica escrevendo e apagando temporários com frequência.
- Boa prática de modelagem discutida: gravar no banco apenas o nome do arquivo, mantendo o path/bucket base numa configuração à parte, para permitir trocar de bucket, região ou provedor sem precisar migrar dados.
- Ponto em aberto: uma pasta extra, com o próprio nome do bucket, aparecia aninhada no path final sem explicação clara no código do projeto; suspeita recaiu sobre o FilePond (a lib JS usada por baixo do upload do Livewire) ou sobre a montagem da URL do endpoint OCI — ficou como tarefa para investigação posterior entre Virgo e Matheus.
- Anúncio de agenda: próximo workshop em 25/02, às 19h, com um projeto usando Laravel Reverb em esquema multissala e um bot LLM como oponente quando falta um segundo jogador — ideia trazida por Guilherme.
- Atualizações de comunidade: Marcelão migrando seus plugins Filament (File Manager e Terminal SSH) da v4 para a v5 e mantendo um registro privado próprio de pacotes Composer/NPM/Docker; João testando o Claude Agent SDK rodando local com a própria conta Anthropic, sem custo adicional de API.
You have seen a sample. The full version — with the code, the recording and the discussion from this session — lives inside the Clã Beer and Code, along with a new live session every week.
Join the Clã and unlockAI Engineering has become a profession, and you learn it by building, not by watching. The Clã Beer and Code is where that happens live, every week: RAG, agents, observability and LLMOps in real projects, next to people already in production. It is paid, it is a subscription, and it is exactly the environment these sessions give you a taste of.
Join the Clã