Skip to content

v0.2.0 — Cloud sync (AWS) + FinOps idle public IPs

Choose a tag to compare

@fabgcruz fabgcruz released this 27 May 14:27
· 96 commits to main since this release

v0.2.0 — Cloud sync (AWS) + FinOps idle public IPs

Primeira entrega significativa pós-lançamento: o Bagre agora conecta na sua AWS, sincroniza VPCs, subnets, ENIs e Elastic IPs, e mostra quanto você está desperdiçando por mês em IPs públicos ociosos.

✨ Novidades

Cloud Accounts (AWS)

  • Nova página admin em /admin/cloud-accounts
  • Wizard de conexão com policy IAM read-only copy-paste pronta
  • Dois modos de autenticação:
    • Access Key — IAM User dedicado (mais simples)
    • Assume Role — STS:AssumeRole com external ID (mais seguro)
  • Test de credenciais antes de salvar
  • Sync manual com feedback de progresso
  • Histórico de execuções por account (read, created, updated, errors)
  • Credenciais criptografadas com AES-256-GCM no banco

FinOps — IPs públicos ociosos

  • Hero card no topo da página: número grande em USD/mês desperdiçados
  • Drill-down table com address, account, tag Name, allocation ID, idade
  • Endpoint REST: GET /api/cloud/finops/idle-public-ips
  • Atualiza a cada 30s

Estrutura de dados

  • Subnets e IPs ganham campos opcionais de tracking cloud (source, cloudAccountId, cloudResourceId, cloudMetadata, ipKind)
  • Modelos: CloudAccount, CloudSyncRun, enums IpKind, CloudProvider, CloudSyncMode, CloudSyncStatus
  • Per-account site sintético (cloud-aws-<accountId>) pra isolar múltiplas contas
  • Public IP pool sintético pra capturar Elastic IPs unassociated (chave do FinOps)

🧹 Removido

  • Feature de Firewall Rules — fora do escopo de IPAM. Manage suas regras no NetBox, no provider, ou na ferramenta dedicada. A classificação de equipamento como "Firewall" (FortiGate etc) continua disponível.

⚙️ Configuração nova

Pra usar cloud sync, gere uma chave de criptografia e coloque em .env:

echo "CLOUD_CREDS_KEY=$(node -e "console.log(require('crypto').randomBytes(32).toString('hex'))")" >> .env

Pra usar Assume Role (opcional), exporte também as credenciais base do Bagre:

AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION=us-east-1

docker compose up -d continua funcionando sem nenhuma config nova — cloud sync é opt-in.

🚀 Como atualizar

git pull
docker compose build api web
docker compose up -d

🛣️ Próximas entregas

  • Scheduler periódico (hoje sync é só manual)
  • Azure provider
  • GCP provider
  • Surface da origem cloud nas páginas de subnet e IP

🙏 Feedback

O Bagre é jovem e essa é a primeira release com a integração cloud. Se sua dor é planilha de IPs ou sangria de Elastic IP idle, abre uma issue ou discussion — feedback de quem sente a dor pauta o que vem antes.

📦 Código no GitHub — MIT — docker compose up -d em 5 min