Por que conectar o Devin a sistemas auto-hospedados?
Visão geral
- Limita o acesso a uma superfície pequena e controlada – Apenas os IPs conhecidos do Devin podem se conectar
- Exige menos de algumas horas de esforço de engenharia para configurar
- Mantém sua infraestrutura atual – Não é necessário migrar para soluções em nuvem
- Fornece gerenciamento centralizado – Balanceador de carga único opcional para vários serviços
Pré-requisitos
- GitLab auto-hospedado (ou outro sistema de SCM) acessível na sua rede
- Repositório de artefatos auto-hospedado (opcional), como Artifactory ou Nexus
- Acesso de administração de rede para configurar firewalls, balanceadores de carga e DNS
- Endereços IP estáticos do Devin – disponíveis aqui
Essa integração está disponível para clientes do plano Enterprise. Entre em contato com [email protected] se precisar de assistência.
Opções de configuração
Opção 1: Lista de permissões de IP direta (Recomendado)
- Configure seu firewall para permitir conexões de entrada a partir dos IPs do Devin (listados aqui)
- Certifique-se de que sua instância do GitLab (ou outro SCM) esteja acessível via HTTPS
- Forneça a URL ao Devin durante a configuração da integração
- Adicione os IPs do Devin à allowlist do seu Artifactory/Nexus
- Certifique-se de que o repositório de artefatos esteja acessível via HTTPS
- Configure as credenciais apropriadas para o Devin acessar os artefatos
Se estiver usando um load balancer com seu repositório de artefatos, consulte a seção Load Balancer Considerations abaixo para detalhes importantes sobre a lista de permissões de IPs.
Opção 2: Load Balancer centralizado
- Único ponto de gerenciamento para toda a filtragem de rede
- Suporte a vários serviços internos com domínios diferentes
- Auditorias de segurança e conformidade simplificadas
Considerações sobre o Load Balancer
- O ALB opera na camada 7 (HTTP/HTTPS) e oferece recursos avançados de roteamento
- O tráfego passa por NAT, então seus serviços de backend veem os endereços IP internos do ALB, e não os IPs de origem do Devin
- Para repositórios de artefatos por trás de um ALB: você deve configurar o allowlisting de IP diretamente no Artifactory/Nexus, já que o IP interno do load balancer será visto pelo repositório
- Use o AWS WAF para filtragem de IP no nível do ALB (veja o exemplo abaixo)
- O NLB opera na camada 4 (TCP) e preserva os endereços IP de origem
- Seus serviços de backend veem os IPs de origem reais do Devin
- Para repositórios de artefatos por trás de um NLB: o allowlisting de IP no nível do load balancer é suficiente, já que os IPs de origem são mantidos
- Requer configuração manual de grupos de segurança (security groups) para cada endereço IP
Exemplo de implementação na AWS
Application Load Balancer com WAF (Mais fácil)
Substitua os endereços IP pelos IPs corretos da nossa documentação de IPs permitidos.
Balanceador de Carga de Rede (grupos de segurança manuais)
Configuração de DNS
dns-change.json:
Etapas de integração
- Teste a conectividade - Verifique se seus serviços estão acessíveis de fora da sua rede usando o domínio configurado
- Entre em contato com o suporte da Devin - Fale com a Cognition e informe:
- A URL do seu GitLab auto-hospedado (por exemplo,
https://gitlab.yourcompany.com) - A URL do seu repositório de artefatos (se aplicável)
- Quaisquer requisitos específicos de autenticação
- A URL do seu GitLab auto-hospedado (por exemplo,
- Conclua a configuração da integração - Trabalhe com a equipe da Devin para finalizar a conexão
- Configure os repositórios - Adicione seus repositórios à Devin’s Machine
Melhores práticas
- Use HTTPS - Sempre exponha os serviços via HTTPS com certificados SSL válidos
- Crie uma conta de serviço dedicada - Configure uma conta específica para o Devin no seu sistema GitLab/SCM
- Monitore os logs de acesso - Revise regularmente os logs de conexão a partir dos IPs do Devin
- Documente sua configuração - Mantenha documentação interna do seu balanceador de carga e da configuração de DNS
- Teste o failover - Garanta que sua configuração consiga lidar de forma adequada com falhas do balanceador de carga ou do serviço
- Realize auditorias de segurança regulares - Revise periodicamente quais serviços estão expostos e verifique as listas de permissões de IP
Solução de problemas
- Verifique se todos os endereços IP do Devin estão na lista de permissões (allowlist)
- Confira se o seu certificado SSL é válido e confiável
- Certifique-se de que os registros de DNS estejam configurados corretamente e já tenham se propagado
- Verifique se as regras de firewall permitem tráfego HTTPS (porta 443)
- Confirme se as credenciais da conta de serviço (service account) estão corretas
- Verifique se a conta de serviço tem as permissões apropriadas no seu sistema de SCM/artefatos
- Verifique se há restrições de autenticação baseadas em IP além da allowlist
- Monitore as métricas do seu balanceador de carga para identificar gargalos
- Certifique-se de que seus serviços autogerenciados (self-hosted) tenham recursos suficientes
- Considere a proximidade geográfica entre a sua infraestrutura e os sistemas do Devin
Suporte
- Crie um canal Slack Connect com nossa equipe em app.devin.ai/settings/support
- Envie um e-mail para [email protected] com os detalhes específicos da sua configuração
- Compartilhe arquivos de configuração relevantes (com dados confidenciais ocultos) ao relatar problemas
