Skip to main content

Managing self-hosted runners for Dependabot updates on your enterprise

You can create dedicated runners for お使いの GitHub Enterprise Server インスタンス that Dependabot uses to create pull requests to help secure and maintain the dependencies used in repositories on your enterprise.

About self-hosted runners for Dependabot updates

You can help users of お使いの GitHub Enterprise Server インスタンス to create and maintain secure code by setting up Dependabot security and version updates. With Dependabot updates, developers can configure repositories so that their dependencies are updated and kept secure automatically. For more information, see "Enabling Dependabot for your enterprise."

To use Dependabot updates on お使いの GitHub Enterprise Server インスタンス, you must configure self-hosted runners to create the pull requests that will update dependencies.

Prerequisites

Configuring self-hosted runners is only one step in the middle of the process for enabling Dependabot updates. There are several steps you must follow before these steps, including configuring お使いの GitHub Enterprise Server インスタンス to use GitHub Actions with self-hosted runners. For more information, see "Enabling Dependabot for your enterprise."

Configuring self-hosted runners for Dependabot updates

# System requirements for Dependabot runners

Dependabot ランナーのために使用する 仮想マシン (VM) は、セルフホステッド ランナーの要件を満たす必要があります。 さらに、次の要件も満たしている必要があります。

  • Linux オペレーティング システム

  • x64 アーキテクチャ

  • Docker がランナー ユーザーのアクセス権を使用してインストールされていること:

    • Docker をルートレス モードでインストールし、root 権限なしで Docker にアクセスするようにランナーを構成することをお勧めします。
    • または、Docker をインストールしてから、Docker を実行するための昇格権限をランナー ユーザーに付与します。

CPU とメモリの要件は、特定の VM にデプロイする同時実行ランナーの数によって異なります。 ガイダンスとしては、1 台の 2 CPU 8 GB マシンに 20 台のランナーを正常に設定できました。ただし、最終的に CPU とメモリの要件は更新対象のリポジトリによって大きく異なります。 エコシステムによっては、他のエコシステムよりも多くのリソースが必要になります。

14 を超える同時実行ランナーを 1 つの VM に指定する場合は、Docker が作成できるネットワークの既定数を増やすように Docker の /etc/docker/daemon.json 構成も更新する必要があります。

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

Network requirements for Dependabot runners

Dependabot ランナーは、パブリック インターネット、GitHub.com、および Dependabot updates 更新プログラムで使用されるすべての内部レジストリへのアクセスが必要です。 内部ネットワークに対するリスクを最小限に抑えるには、仮想マシン (VM) から内部ネットワークへのアクセスを制限する必要があります。 これにより、ハイジャックされた依存関係をランナーがダウンロードした場合に、内部システムが損害を受ける可能性が減少します。

Certificate configuration for Dependabot runners

If your GitHub Enterprise Server instance uses a self-signed certificate, or if Dependabot needs to interact with registries that use self-signed certificates, those certificates must also be installed on the self-hosted runners that run Dependabot jobs. This security hardens the connection. You must also configure Node.js to use the certificate, because most actions are written in JavaScript and run using Node.js, which does not use the operating system certificate store.

Adding self-hosted runners for Dependabot updates

  1. Provision self-hosted runners, at the repository, organization, or enterprise account level. For more information, see "セルフホステッド ランナーの概要" and "自己ホストランナーの追加."

  2. Set up the self-hosted runners with the requirements described above. For example, on a VM running Ubuntu 20.04 you would:

  3. Assign a dependabot label to each runner you want Dependabot to use. For more information, see "セルフホストランナーとのラベルの利用."

  4. Optionally, enable workflows triggered by Dependabot to use more than read-only permissions and to have access to any secrets that are normally available. For more information, see "Troubleshooting GitHub Actions for your enterprise."