Pular para o conteúdo principal

Cerbero

Operações Karhub · reescrita em Go

O guardião de três cabeças

Cerbero é a reescrita das operações da Karhub de Node/TypeScript para Go, em arquitetura hexagonal e comunicação event-driven via Google Cloud Pub/Sub, com um modelo canônico de eventos. Três pilares guardam o portão: Vendas, Compras e NF/Logística.

Não é da área técnica? Comece aqui

Como a operação funciona → conta, em português comum e sem código, o que acontece entre o cliente comprar e a peça sair do CD. Junto vem um glossário com o vocabulário que a gente usa todo dia (furo, sobra, bip, pack, FULL, CD…) e uma página explicando por que existem dois sistemas rodando ao mesmo tempo.

O resto deste site é documentação de engenharia.

Chegou agora na squad? Comece por aqui

O Starter pack → explica o que é a Karhub, por que o sistema é assim, e em que ordem ler este site nas primeiras semanas. Junto vem o catálogo — SKU, marca, fornecedor, sku_supplier — a base que todo o resto assume que você já conhece.

O serviço de referência — ml-webhook-adapter — define os padrões arquiteturais que todos os demais seguem. Hoje todos os serviços do ecossistema estão implementados e em operação; o service-boilerplate empacota o padrão para o próximo serviço.

Os três pilares

Cabeça I

Vendas & Marketplace

ml-webhook-adapter · shopify-webhook-adapter · order-processor
Cabeça II

Compras & Supply Chain

purchase-recommendation · purchase-closing
Cabeça III

NF-e, Conferência & Logística

supplier-invoice-receiving · wms-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.

Stack

ItemTecnologia
LinguagemGo 1.26
ArquiteturaHexagonal (Ports & Adapters)
ComunicaçãoGoogle Cloud Pub/Sub (modelo canônico de eventos)
BancoPostgreSQL 16 (schema cerbero para escrita; public/supplier read-only)
HTTPchi/v5 · DB: sqlx + pgx/lib/pq
ObservabilidadeOpenTelemetry + Prometheus + slog estruturado · Sentry
InfraDocker, Kubernetes (Helm), monorepo via go.work
FrontendNext.js 16 (App Router) · Auth.js · Tailwind v4

Mapa de serviços

ServiçoPilarPapelEstado
ml-webhook-adapterVendasWebhooks Mercado Livre → eventos canônicos✅ referência
shopify-webhook-adapterVendasWebhooks Shopify/Yampi → eventos canônicos✅ concluído
order-processorVendasConsome OrderEvent → persiste → downstream de compras✅ concluído
purchase-recommendationComprasRecomendação de compra (REST + Pub/Sub)✅ concluído
purchase-closingComprasFecha pedidos de compra, export CSV, feriados/D+1✅ concluído
supplier-invoice-receivingNF/Log.Recebimento de NF de entrada → conferência → Omie✅ concluído
wms-serviceNF/Log.Estoque/alocação, surplus, espelho Omie✅ concluído
access-serviceTransversalRoles & permissions do console de compras✅ concluído
compras-webFrontendConsole operacional das 5 etapas (Next.js)🖥️ console
service-boilerplatePonto de partida para novos serviços📦 template

Por onde começar

Migração v1 → v2

O ciclo completo de Compras (recomendação → fechamento → export → envio ao fornecedor) e o Recebimento de NF de entrada já estão migrados do legado operacoes/compras (Node/TS) para o Cerbero. Veja o mapa de substituição em Migração v1 → v2.