# Dependabot no GitHub Actions

Informações detalhadas sobre como usar Dependabot com GitHub Actions.

## Restrições ao Dependabot disparar eventos

Dependabot consegue acionar fluxos de trabalho de GitHub Actions nos seus pull requests e comentários. No entanto, certos eventos são tratados de maneira diferente.

Para fluxos de trabalho iniciados por Dependabot (`github.actor == 'dependabot[bot]'`) usando o `pull_request`, , `pull_request_review`, `pull_request_review_comment`, `push`, `create`, `deployment`e `deployment_status` eventos, essas restrições se aplicam:

* `GITHUB_TOKEN` tem permissões somente leitura por padrão.
* Os segredos originam-se de Dependabot segredos.
  GitHub Actions os segredos não estão disponíveis.

Para fluxos de trabalho iniciados por Dependabot (`github.actor == 'dependabot[bot]'`) usando o evento `pull_request_target`, se o ref base da solicitação de pull foi criado por Dependabot (`github.event.pull_request.user.login == 'dependabot[bot]'`), o `GITHUB_TOKEN` será somente leitura e os segredos não estarão disponíveis.

Essas restrições se aplicam mesmo que o fluxo de trabalho seja executado novamente por outro agente.

Para obter mais informações, confira [Como manter suas GitHub Actions e seus fluxos de trabalho seguros: prevenção contra solicitações pwn](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/).

## Requisitos para o uso de Dependabot com runners auto-hospedados.

Para gerar Dependabot updates usando executores auto-hospedados, você precisa configurar corretamente seu sistema, rede e certificados.

### Requisitos do sistema

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.

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.

```json
{
  "default-address-pools": [
    {"base":"10.10.0.0/16","size":24}
  ]
}
```

### Requisitos de rede

Os executores Dependabot exigem acesso à Internet públicaGitHub.com e a 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. Isto reduz o potencial de danos nos sistemas internos se um executor fizer o download de uma dependência capturada.

Você também deve permitir o tráfego de saída para `dependabot-actions.githubapp.com` para evitar a falha das tarefas de Dependabot security updates. Para saber mais, confira [Referência de executores auto-hospedados](/pt/actions/reference/runners/self-hosted-runners).

### Configuração do Certificado

Se Dependabot precisar interagir com registros que usam certificados autoassinados, esses certificados também deverão ser instalados nos executores autogeridos que executam Dependabot tarefas. 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.