ArquiteturaVisão Geral

Arquitetura do Sistema

A arquitetura do Lunno foi desenhada sob os princípios de Isolamento Multi-tenant, Alta Disponibilidade e Segurança by Design. O objetivo é processar eventos de governança em tempo real sem adicionar latência ou fricção ao pipeline de CI/CD dos clientes.

Design Pattern: O backend do Lunno utiliza conceitos de Arquitetura Hexagonal (Ports and Adapters). Isso garante que a regra de negócio central (Policy Engine) seja totalmente agnóstica em relação às ferramentas externas (Azure DevOps, GitHub ou Slack).


Visão de Alto Nível (Fluxo de Dados)

O Lunno opera de forma passiva e assíncrona, atuando como um “escuta” inteligente do ecossistema de engenharia:

  1. Event Ingestion (Webhook Layer): Recebe os payloads do Azure DevOps (PR criado, Build finalizado, Release aprovada).
  2. Policy Engine (Core): Avalia os metadados recebidos contra os Quality Gates configurados no Workspace da Squad.
  3. Data Persistence: Grava o resultado da avaliação de forma imutável em um banco de dados isolado criptograficamente.
  4. Notification & Action: Alerta o time via ferramentas de comunicação ou bloqueia a GMUD caso uma anomalia de compliance seja detectada.

Tech Stack (Padrão Enterprise)

A escolha da stack tecnológica reflete a necessidade de manter a aplicação ágil para novas features, mas estrita em relação à tipagem e auditoria.

CamadaTecnologiaPropósito no Ecossistema
Frontend (Dashboard)Next.js 14 + ReactInterface executiva e administrativa. Uso de SSR/RSC para performance e SEO técnico interno.
Frontend (Docs)Nextra 4 + MDXPortal de Governança (este site), operando de forma totalmente desacoplada do core transacional.
Backend (Core APIs)Node.js + TypeScriptProcessamento de regras de negócio com tipagem estática rigorosa (evitando runtime errors em deploys de clientes).
Banco de DadosPostgreSQLArmazenamento relacional robusto com suporte avançado a JSONB para flexibilidade nos metadados de GMUD.

Princípios de Resiliência

Para atuar em ambientes de alta criticidade (como o setor bancário/fintechs), a arquitetura do Lunno assegura que:

  • Isolamento de Falhas: Se a API de uma ferramenta de terceiro (ex: Azure DevOps) apresentar lentidão, o Lunno processa as validações de forma assíncrona (filas), sem travar a interface do usuário.
  • Privacidade de Código-Fonte: O Lunno consome apenas metadados (títulos de PR, IDs de Work Items, cobertura percentual de testes). O código-fonte do cliente (Intellectual Property) nunca transita ou é armazenado pelos nossos servidores.