Skip to content

fabgcruz/bagre

Repository files navigation

Bagre

Open Source IP Address Management

Uma solução leve e poderosa para gerenciar, organizar e monitorar todos os IPs da sua rede — de ambientes simples até infraestruturas híbridas complexas.

Latest release CI License: MIT GitHub stars Issues Contributors Last commit PRs welcome


Por que Bagre?

O bagre é um peixe que vive nas águas turvas e se orienta pelos bigodes sensíveis, detectando tudo ao seu redor. O Bagre IPAM segue a mesma lógica:

  • Enxerga o que está oculto na rede
  • Detecta mudanças e oportunidades (IPs disponíveis, hosts fantasmas, ranges fragmentados)
  • Funciona em diferentes ambientes e infraestruturas
  • Silencioso, resistente e eficiente
  • Mantém tudo organizado e sob controle

Screenshots

Dashboard Subnet detail
Dashboard — resumo de uso + atalhos Subnet detail — histórico de utilização + lista de IPs editáveis
CIDR calculator Cloud Accounts
Calculadora CIDR avançada — split, merge, next-free com detecção de overlap Cloud Accounts — sync AWS/Azure/GCP + FinOps idle public IPs

Mais prints em docs/screenshots/.

O que o Bagre faz

  • Catálogo central de sites, sub-redes (CIDR) e endereços IP com auditoria completa
  • Alocação manual ou automática de IPs respeitando o range da sub-rede
  • Importação de inventários existentes (XLSX/CSV)
  • Cloud sync multi-provider — conecta AWS / Azure / GCP simultaneamente, sincroniza VPCs/VNets/subnetworks, NICs e IPs públicos. Mostra IPs ociosos sangrando custo (relatório FinOps unificado).
  • Descoberta automática via Zabbix e Prometheus — hosts viram pending discoveries; aprovação em 1 clique
  • API REST para integração com Terraform, scripts próprios, OTEL
  • Login local + SSO via OIDC (Microsoft Entra ID, Keycloak, qualquer provider compatível)
  • RBAC com perfis ADMIN/READER e wiki integrada via DokuWiki
  • Métricas Prometheus em /metrics
  • Trilha de auditoria com diff antes/depois de toda alteração

Stack

  • Backend: Node.js 20 + Fastify + Prisma + PostgreSQL 15
  • Frontend: React + Vite + Tailwind CSS
  • Orquestração: Docker Compose
  • Opcional: DokuWiki para documentação operacional, Zabbix para descoberta automática

Quickstart

Requisitos: Docker + Docker Compose plugin.

git clone https://github.com/fabgcruz/bagre.git
cd bagre

cp .env.example .env
# editar .env e definir ADMIN_TOKEN, JWT_SECRET, BOOTSTRAP_ADMIN_EMAIL/PASSWORD

docker compose up -d

Abra http://localhost:3000 e faça login com o e-mail/senha definidos no .env.

Componente URL
Web UI http://localhost:3000
API REST http://localhost:3001
Métricas Prometheus http://localhost:3001/metrics
Health check http://localhost:3001/api/health

Linha do tempo e evolução

Versão Data Highlights
v0.5.0 2026-05-28 Cleanup do backlog (8 issues fechadas) — DNS sync (#17) e validation engine (#27) end-to-end com UI. IPv6 first-class (#10), importação universal CSV/XLSX/JSON (#13), gerador de tutoriais Playwright (#24). Primeiro bug fix da comunidade (#29) — long-standing bug em CIDRs ≥128.0.0.0. Design specs pra Terraform Provider, K8s Operator, SNMP+topology e gRPC.
v0.4.0 2026-05-28 Multi-cloud completo — Azure (#20) e GCP (#21) implementados. FinOps idle-public-IPs report unificado entre AWS + Azure + GCP. Service Principal (Azure) e Service Account JSON (GCP) via REST puro, sem SDKs pesados.
v0.3.2 2026-05-27 Histórico de capacidade (#11) — gráfico SVG inline com IPs em uso ao longo do tempo (7d/30d/90d), indicador de tendência, linha de capacidade total. Scheduler de snapshot a cada 60min.
v0.3.1 2026-05-27 Calculadora CIDR avançada (#12) com 4 tabs (Análise / Dividir / Próximas livres / Supernet) cruzando com IPAM em tempo real. Bulk ops nos IPs (#14) — checkboxes + barra de ação flutuante (Reservar / Liberar / Editar campos em massa).
v0.3.0 2026-05-27 Prometheus discovery (#25) — sugestão da comunidade implementada em <24h. Hardening de segurança — JWT_SECRET fail-closed, sem mais admin123 hardcoded, defaults inseguros do compose removidos. Sidebar reorganizada. Catálogos com abas dinâmicas por cloud account. CONTRIBUTING.md, SECURITY.md, issue templates.
v0.2.0 2026-05-27 Cloud sync AWS (#19) — VPCs, ENIs, Elastic IPs via Access Key OR Assume Role. FinOps idle public IPs (#22). Refocus do escopo — feature Firewall Rules removida (fora de IPAM). Mascote do Bagre + branding limpo. Quickstart fixado (HTTP em :3000, seed.json opcional).
v0.1.0 2026-05-16 Initial release — stack Docker Compose (Fastify + Prisma + PostgreSQL + React/Vite), catálogo de sites/subnets/IPs, alocação manual ou automática, importação XLSX/CSV, audit trail com diff antes/depois, SSO OIDC + RBAC, integração Zabbix nativa, endpoint /metrics Prometheus, wiki opcional via DokuWiki.
  • CHANGELOG.md — detalhe completo de cada release (features, breaking changes, bugs, infra)
  • Releases — release notes formatadas no GitHub
  • ROADMAP.md — visão, princípios, fases planejadas até a 1.0.0
  • Issues — backlog público, incluindo sugestões da comunidade

Documentação

A pasta docs/ contém guias detalhados:

Versão renderizada em HTML único navegável: docs.html (gerada por node scripts/build-docs-html.mjs).

Contribuindo

Pull requests e issues são bem-vindos. Veja CONTRIBUTING.md para fluxo, convenções e onde achar coisas.

Segurança

Para reportar vulnerabilidade, NÃO abra issue pública — use o canal privado descrito em SECURITY.md.

Licença

MIT — use, modifique, redistribua. Atribuição é apreciada mas não exigida.

Status do projeto

Bagre é jovem e evoluindo. Considere produção a partir da versão 1.0.0 (ainda não lançada). Hoje serve bem para laboratórios, ambientes internos e times pequenos.


Bagre — IPAM que enxerga nas águas turvas da sua rede.

About

Bagre — Open Source IP Address Management. IPAM leve e moderno para gerenciar, organizar e monitorar todos os IPs da sua rede.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors