Sobre executores auto-hospedados para Dependabot updates
É possível ajudar os usuários do sua instância do GitHub Enterprise Server a criar e manter o código seguro configurando as atualizações de segurança e de versão do Dependabot. Com Dependabot updates, os desenvolvedores podem configurar repositórios para que suas dependências sejam atualizadas e mantidas seguras automaticamente. Para saber mais, confira Habilitando o Dependabot para sua empresa.
Para usar o Dependabot updates no sua instância do GitHub Enterprise Server, deve-se configurar executores auto-hospedados a fim de criar as solicitações de pull que atualizarão as dependências.
Pré-requisitos
A configuração de executores auto-hospedados é apenas uma etapa no meio do processo para habilitar Dependabot updates. Há várias etapas a serem seguidas antes dessas, incluindo a configuração do sua instância do GitHub Enterprise Server para usar o GitHub Actions com executores auto-hospedados. Para saber mais, confira Habilitando o Dependabot para sua empresa.
Configurar executores auto-hospedados para Dependabot updates
Requisitos do sistema para executores de Dependabot
Qualquer máquina virtual (VM) que você usar para executores de Dependabot deve atender aos requisitos para executores auto-hospedados. Além disso, eles têm de cumprir os seguintes requisitos.
-
Sistema operacional Linux
-
Arquitetura x64
-
Docker instalado com acesso para os usuários do executor:
- Recomendamos instalar o Docker no modo sem raiz e configurar os executores para acessar o Docker sem privilégios
root. - Como alternativa, instale o Docker e dê aos usuários do executor privilégios elevados para executar o Docker.
- Recomendamos instalar o Docker no modo sem raiz e configurar os executores para acessar o Docker sem privilégios
Os requisitos de CPU e memória dependerão do número de executores simultâneos que você implanta em uma determinada VM. Como orientação, criamos de forma bem-sucedida 20 executores em uma única máquina CPU de 8 GB, mas, em última análise, seus requisitos de CPU e memória dependerão fortemente da atualização dos repositórios. Alguns ecossistemas exigirão mais recursos do que outros.
Se você especificar mais de 14 executores simultâneos em uma VM, também precisará atualizar a configuração /etc/docker/daemon.json do Docker para aumentar o número padrão de redes que o Docker pode criar.
{
"default-address-pools": [
{"base":"10.10.0.0/16","size":24}
]
}
Aviso
No momento, redes privadas não são compatíveis com uma VNet (Rede Virtual) do Azure ou com o ARC (Actions Runner Controller) para o Dependabot no GitHub Actions. Se você usar uma VNet ou o ARC, será totalmente responsável pelo uso, e o GitHub não poderá dar suporte em caso de problemas.
Requisitos da rede para executores de Dependabot
Os executores de Dependabot exigem acesso à internet pública, GitHub.com e a todos os registros internos que serão usados nas atualizações do Dependabot updates. Para minimizar o risco para sua rede interna, você deve limitar o acesso da Máquina Virtual (VM) à sua rede interna. Isto reduz o potencial de danos nos sistemas internos se um executor fizer o download de uma dependência capturada.
Configuração de certificado para executores de Dependabot
Se sua instância do GitHub Enterprise Server usar um certificado autoassinado, ou se o Dependabot precisar interagir com repositórios que utilizam certificados autoassinados, esses certificados também deverão ser instalados nos executores auto-hospedados que executam os trabalhos do Dependabot. Essa segurança fortalece a conexão. Você também deve configurar o Node.js para usar o certificado, pois a maioria das ações são escritas em JavaScript e são executadas usando Node.js, que não usa o repositório de certificados do sistema operacional.
Adicionar executores auto-hospedados para atualizações de Dependabot
-
Provisionamento de executores auto-hospedados no nível da conta do repositório, organização ou empresa. Para saber mais, confira Executores auto-hospedados e Adicionar executores auto-hospedados.
-
Configure os executores auto-hospedados com os requisitos descritos acima. Por exemplo, em uma VM que executa o Ubuntu 20.04, você faz o seguinte:
- Instale o Docker e certifique-se de que os usuários do executor tenham acesso ao Docker. Para obter mais informações, consulte a documentação do Docker.
*
Instalar o mecanismo do Docker no Ubuntu
- Abordagem recomendada: executar o daemon do Docker como um usuário não raiz (modo sem raiz)
- Abordagem alternativa: gerenciar o Docker como um usuário não raiz
- Verifique se os executores têm acesso à internet pública e só podem acessar as redes internas de que Dependabot precisa.
- Instale quaisquer certificados autoassinados para sua instância GitHub Enterprise Server ou para registros com os quais o Dependabot precisará interagir.
- Configure o Node.js para usar o mesmo certificado. Para saber mais, confira Solução de problemas de GitHub Actions para sua empresa.
- Instale o Docker e certifique-se de que os usuários do executor tenham acesso ao Docker. Para obter mais informações, consulte a documentação do Docker.
*
Instalar o mecanismo do Docker no Ubuntu
-
Atribua um rótulo
dependabota cada executor que deseja que o Dependabot use. Para saber mais, confira Usar rótulos com os executores auto-hospedados. -
Opcionalmente, habilite os fluxos de trabalho acionados por Dependabot para usar permissões além das permissões somente leitura e ter acesso a todos os segredos que estão normalmente disponíveis. Para saber mais, confira Solução de problemas de GitHub Actions para sua empresa.