Cerbero
Cerbero é a reescrita completa das operações da Karhub de Node/TypeScript para Go, seguindo arquitetura hexagonal (Ports & Adapters) e comunicação event-driven via Google Cloud Pub/Sub com um modelo canônico de eventos.
O primeiro serviço concluído — ml-webhook-adapter — define os padrões arquiteturais que
todos os demais serviços seguem.
Stack
| Item | Tecnologia |
|---|---|
| Linguagem | Go 1.26 |
| Arquitetura | Hexagonal (Ports & Adapters) |
| Comunicação | Google Cloud Pub/Sub (modelo canônico de eventos) |
| Banco | PostgreSQL 16 (schema cerbero para escrita; public/supplier read-only) |
| HTTP | chi/v5 · DB: sqlx + pgx/lib/pq |
| Observabilidade | OpenTelemetry + Prometheus + slog estruturado · Sentry |
| Infra | Docker, Kubernetes, monorepo via go.work |
Mapa de serviços
cerbero/
├── ml-webhook-adapter ✅ Concluído Webhooks ML → eventos canônicos
├── shopify-webhook-adapter 🔨 Em construção Webhooks Shopify/Yampi → eventos canônicos
├── order-processor 🔨 Em construção Consome OrderEvent → persiste → ERP/fulfillment
├── purchase-recommendation 🔨 Em construção API REST de recomendação de compra
├── purchase-closing 🔨 Em construção Fecha pedidos de compra a partir de recomendações
├── service-boilerplate 📦 Template Ponto de partida para novos serviços
└── compras-web 🖥️ Frontend Dashboard de compras (Next.js)
Por onde começar
| Se você quer… | Vá para |
|---|---|
| Entender o padrão hexagonal dos serviços | Arquitetura → Hexagonal |
| Entender o contrato de eventos | Eventos canônicos |
| Entender os IDs que ligam tudo | Chaves de ligação |
| Ver o schema do banco | Banco de dados |
| Estudar o serviço de referência | ml-webhook-adapter |
| Criar um novo serviço | service-boilerplate |
| Ver o checklist obrigatório | Padrões |
Três pilares
| Pilar | Pessoa | Serviços |
|---|---|---|
| Vendas & Marketplace | Emannuel | ml-webhook-adapter, shopify-webhook-adapter, order-processor |
| Compras & Supply Chain | Gabriel | purchase-recommendation, purchase-closing, supplier-order-dispatcher |
| NF-e, Conferência & Logística | Bruna | supplier-invoice-receiving, logistics-service |
O contexto de negócio completo (incluindo o sistema legado) vive no site de Operações Karhub. Este site foca na implementação Go.