v0.3.0 — Prometheus discovery + security hardening
v0.3.0 — Prometheus discovery + security hardening
Release que responde aos primeiros feedbacks da comunidade após o lançamento, endurece os defaults de segurança e polish geral da experiência.
✨ Destaques
🔥 Prometheus discovery (#25)
Sugerido pelo Leonardo Berbert no LinkedIn — implementado em <24h.
Nova integração admin que conecta no seu Prometheus, lê /api/v1/targets, e cria pending discoveries no Bagre a partir dos labels (__address__, instance, job).
- Auth:
none(default),bearer, oubasic - Tipo derivado do job name (
node→ Servidor Linux,windows→ Servidor Windows, etc) - Scheduler periódico configurável
- Mesmo fluxo de aprovação do Zabbix
Bonus: o pipeline de discovery virou módulo compartilhado, então adicionar SNMP / Nmap / outras descobertas no futuro reusa direto.
🔒 Hardening de segurança
- JWT_SECRET é fail-closed — API recusa boot se < 32 chars ou se for um dos placeholders conhecidos. Tokens forjáveis em deploys mal configurados eram risco real.
- Sem mais "admin123" — se
BOOTSTRAP_ADMIN_PASSWORDnão vier do env, uma senha aleatória forte é gerada e impressa UMA vez no log do container. - docker-compose.yml sem defaults inseguros — todos os tokens vêm do
.env, sem fallbacks placeholder. .env.examplereescrito com instruções claras de geração de cada segredo.
📊 Catálogos com cloud-aware tabs
A aba "Azure Subnets" estática saiu. Em seu lugar: uma aba por cloud account conectado, listando subnets sincronizadas em tempo real (CIDR, region, contagem de IPs, link pra detalhes).
🎯 Hero FinOps reframed
Antes: card verde "Sem desperdício de IPs públicos" mesmo sem conta conectada — falso positivo. Agora 3 estados explícitos:
- Cinza neutro: sem dados pra avaliar
- Verde: auditoria rodou, nenhum ocioso (com nota pra re-sincronizar)
- Âmbar: N ociosos · $X/mês se mantidos · avalie caso a caso
🏷️ EquinixVlan → DatacenterVlan (#23)
Catálogo de VLANs agora é neutro: campo provider aceita Equinix, Ascenty, ODATA, próprio datacenter, etc. Endpoints renomeados de /api/equinix-vlans para /api/datacenter-vlans.
📚 Documentação/processo
- CONTRIBUTING.md novo (#4)
- SECURITY.md novo (#5) — política de disclosure privada via GitHub Security Advisories
- Issue templates (#6) — formulários bug + feature
- docs.html regenerada (#3)
🧹 Removido
- Feature de Firewall Rules — fora do escopo IPAM. NetBox e ferramentas dedicadas fazem isso melhor.
⚠️ Breaking changes
.env requer atualização
JWT_SECRETobrigatório (≥32 chars). Gere com:node -e "console.log(require('crypto').randomBytes(48).toString('base64'))"- Veja
.env.exampleatualizado.
Endpoints renomeados
/api/equinix-vlans/*→/api/datacenter-vlans/*. Quem automatiza via API precisa atualizar.
📦 Como atualizar
git pull
docker compose build api web
docker compose up -dAntes do up -d, garanta que .env está com JWT_SECRET válido — sem isso a API não sobe.
🛣️ O que vem na sequência
Próximas issues na fila:
- #26 SNMP discovery + topology graph (sugestão do Raul Libório)
- #27 Validation plugin system (sugestão do Jesse Fernandes)
- #20 Cloud sync Azure
- #11, #12, #14 — histórico subnet, CIDR avançado, bulk ops
🙏 Obrigado
Comunidade que reagiu ao lançamento e gerou as features desta release:
- Leonardo Berbert — Prometheus discovery
- Raul Libório — SNMP/topology (próximas)
- Jesse Fernandes — gRPC + validation (próximas)
12 issues fechadas nesta release.
📦 Código: https://github.com/fabgcruz/bagre — MIT — docker compose up -d em 5 min