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}
]
}
Observação
Há suporte para rede privada com uma Rede Virtual (VNET) do Azure ou com o Actions Runner Controller (ARC) para Dependabot em GitHub Actions. Confira Configurando o Dependabot para execução em executores de ação auto-hospedados usando o Actions Runner Controller e Configurando o Dependabot para ser executado em executores de ação hospedados no github usando o Azure Rede Privada.
Requisitos da rede para executores de Dependabot
Dependabot os executores exigem acesso à Internet GitHub.compública e todos os registros internos que serão usados em Dependabot updates. Para minimizar o risco para sua rede interna, você deve limitar o acesso da Máquina Virtual (VM) à sua rede interna. Isso reduz o risco de danos aos sistemas internos caso um executor baixe uma dependência comprometida.
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.
-
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.