Document self-hosted runners setup with ARC (#57721)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com> Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com>
This commit is contained in:
@@ -140,6 +140,50 @@ jobs:
|
||||
> * {% data variables.copilot.copilot_coding_agent %} is only compatible with Ubuntu x64 Linux runners. Runners with Windows, macOS or other operating systems are not supported.
|
||||
> * Self-hosted {% data variables.product.prodname_actions %} runners are not supported.
|
||||
|
||||
## Using self-hosted {% data variables.product.prodname_actions %} runners with ARC
|
||||
|
||||
You can use self-hosted {% data variables.product.prodname_actions %} runners to support {% data variables.copilot.copilot_coding_agent %} using ARC (Actions Runner Controller). This allows you to run {% data variables.product.prodname_copilot_short %}'s development environment on your own infrastructure.
|
||||
|
||||
Before {% data variables.product.prodname_copilot_short %} can use self-hosted runners, you must first set up ARC-managed scale sets in your environment. For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller).
|
||||
|
||||
To use self-hosted runners with ARC, update the `runs-on` attribute in your `copilot-setup-steps` job to target your ARC-managed scale set:
|
||||
|
||||
```yaml
|
||||
# ...
|
||||
|
||||
jobs:
|
||||
copilot-setup-steps:
|
||||
runs-on: arc-scale-set-name
|
||||
# ...
|
||||
```
|
||||
|
||||
Replace `arc-scale-set-name` with the name of your ARC-managed scale set.
|
||||
|
||||
> [!WARNING]
|
||||
> Persistent runners are not recommended for autoscaling scenarios with {% data variables.copilot.copilot_coding_agent %}.
|
||||
|
||||
> [!NOTE]
|
||||
> * ARC is the only officially supported solution for self-hosting {% data variables.copilot.copilot_coding_agent %}.
|
||||
> * {% data variables.copilot.copilot_coding_agent %} is only compatible with Ubuntu x64 Linux runners. Runners with Windows, macOS or other operating systems are not supported.
|
||||
> * For more information about ARC, see [AUTOTITLE](/actions/concepts/runners/actions-runner-controller).
|
||||
|
||||
### Repository firewall requirements
|
||||
|
||||
To enable communication between {% data variables.copilot.copilot_coding_agent %} and your self-hosted runners, you must disable the repository firewall in the coding agent's repository settings. Without this change, runners will not be able to connect to {% data variables.product.prodname_copilot_short %}.
|
||||
|
||||
For more information about disabling the firewall, see [AUTOTITLE](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent).
|
||||
|
||||
> [!WARNING]
|
||||
> Disabling the firewall reduces isolation between {% data variables.product.prodname_copilot_short %} and your self-hosted environment. You must implement alternative network security controls to protect your environment.
|
||||
|
||||
### Security considerations for self-hosted runners
|
||||
|
||||
When using self-hosted runners, especially with the firewall disabled, ensure your hosting environment has strict network communication controls. The following endpoints must be reachable from your runners:
|
||||
|
||||
* `api.githubcopilot.com`
|
||||
* `uploads.github.com`
|
||||
* `user-images.githubusercontent.com`
|
||||
|
||||
## Enabling Git Large File Storage (LFS)
|
||||
|
||||
If you use Git Large File Storage (LFS) to store large files in your repository, you will need to customize {% data variables.product.prodname_copilot_short %}'s environment to install Git LFS and fetch LFS objects.
|
||||
|
||||
Reference in New Issue
Block a user