GitHub App
Instale o App num repo ou org, configure o manifesto e todo evento pull_request dispara um PR Diff Red-Team Gate. O complemento ao fluxo CLI/Action.
O GitHub App é o caminho de configuração zero para o PR Diff Red-Team Gate: instale uma vez no nível da organização, configure o manifesto, e cada evento pull_request em arquivos observados dispara um scan com o resultado publicado na caixa de merge.
É o complemento do fluxo CLI/Action — mesmo esquema de manifesto, modelo de posse diferente. Esta página ajuda a escolher e declara exatamente o que está entregue hoje.
Pontos-chave
- Webhook autenticado por HMAC X-Hub-Signature-256 contra GITHUB_APP_WEBHOOK_SECRET. Auth JWT/API-key é bypassado só para esta rota.
- Escuta eventos pull_request; roda o gate (manifesto → scan → Check Run + comentário) em background task detached para ACK em ~10s.
- Token de instalação cunhado por org via private key do App. Armazenado em githubInstallStore para eventos seguintes não re-handshakearem.
- Veredito (PROMOTE / HOLD) é postado como Check Run + comentário sticky de PR para o gate ficar visível no merge box.
App vs. CLI/Action
- Use o App quando quer gating zero-config em vários repos: instale uma vez no nível da org.
- Use o Action/CLI quando o time prefere workflow file explícito e opt-in por repo.
- O App é o único caminho para Check Runs nativos (a API que dirige o vermelho/verde no merge box).
Escolha o App quando muitos repositórios devem ser monitorados sem cada time manter um arquivo de workflow; escolha Action/CLI quando opt-in por repositório e um arquivo de workflow explícito forem a preferência do time. Check Runs nativos — o vermelho/verde na caixa de merge — são o diferencial do App.
O que está em prod hoje
- Handshake de install, receiver de webhook, verificação de assinatura, achado de manifesto, posting de Check Run + comentário.
- Schema do manifesto espelha o .doesitdefend.yml do Action: target.endpoint, template, paths observados.
- Estado de install persistido; reinstalações lidam limpo com ciclos revoke + re-grant.
O que está entregue hoje: o handshake de instalação, o receiver de webhook com verificação de assinatura, o achado do manifesto espelhando o .doesitdefend.yml da Action e estado de instalação persistido que lida com ciclos de revoke e re-grant de forma limpa.
Recursos relacionados