You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`https_proxy`| Proxy URL for HTTPS traffic. You can include basic authentication if required. |`http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:[email protected]`|
28
-
|`http_proxy`| Proxy URL for HTTP traffic. You can include basic authentication if required. |`http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:[email protected]`|
29
-
|`no_proxy`| A comma-separated list of hosts or IP addresses that should bypass the proxy. Some clients only honor IP addresses when connections are made directly to the IP rather than a hostname. |`example.com`<br>`example.com,myserver.local:443,example.org`|
25
+
{% data reusables.actions.actions-proxy-environment-variables-table %}
30
26
31
27
The proxy environment variables are read when the runner application starts, so you must set the environment variables before configuring or starting the runner application. If your proxy configuration changes, you must restart the runner application.
Copy file name to clipboardExpand all lines: content/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-environment.md
+20-10Lines changed: 20 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,7 @@ You can customize {% data variables.product.prodname_copilot_short %}'s environm
26
26
*[Preinstall tools or dependencies in {% data variables.product.prodname_copilot_short %}'s environment](#preinstalling-tools-or-dependencies-in-copilots-environment)
27
27
*[Set environment variables in {% data variables.product.prodname_copilot_short %}'s environment](#setting-environment-variables-in-copilots-environment)
28
28
*[Upgrade from standard {% data variables.product.github %}-hosted {% data variables.product.prodname_actions %} runners to larger runners](#upgrading-to-larger-github-hosted-github-actions-runners)
29
+
*[Run on your ARC-based {% data variables.product.prodname_actions %} self-hosted runners](#using-self-hosted-github-actions-runners-with-arc)
29
30
*[Enable Git Large File Storage (LFS)](#enabling-git-large-file-storage-lfs)
30
31
*[Disable or customize the agent's firewall](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent).
31
32
@@ -140,20 +141,26 @@ jobs:
140
141
141
142
> [!NOTE]
142
143
> * {% 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.
143
-
> * Self-hosted {% data variables.product.prodname_actions %} runners are not supported.
144
144
145
145
## Using self-hosted {% data variables.product.prodname_actions %} runners with ARC
146
146
147
-
You can use ARC (Actions Runner Controller) to run {% data variables.copilot.copilot_coding_agent %} on 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).
147
+
You can run {% data variables.copilot.copilot_coding_agent %} on self-hosted runners powered by ARC (Actions Runner Controller). You must first set up ARC-managed scale sets in your environment. For more information on ARC, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller).
148
148
149
149
> [!WARNING]
150
-
> Persistent runners are not recommended for autoscaling scenarios with {% data variables.copilot.copilot_coding_agent %}.
150
+
> ARC is the only officially supported solution for self-hosting {% data variables.copilot.copilot_coding_agent %}. For security reasons, we do not recommend using non-ARC self-hosted runners with {% data variables.copilot.copilot_coding_agent %}.
151
151
152
152
> [!NOTE]
153
-
> * ARC is the only officially supported solution for self-hosting {% data variables.copilot.copilot_coding_agent %}.
154
-
> * {% 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.
155
-
> * For more information about ARC, see [AUTOTITLE](/actions/concepts/runners/actions-runner-controller).
153
+
> {% 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.
154
+
155
+
1. Configure network security controls for your {% data variables.product.prodname_actions %} runners to ensure that {% data variables.copilot.copilot_coding_agent %} does not have open access to your network or the public internet.
156
+
157
+
You must configure your firewall to allow connections to the [standard hosts required for {% data variables.product.prodname_actions %} self-hosted runners](/actions/reference/runners/self-hosted-runners#accessible-domains-by-function), plus the following hosts:
156
158
159
+
* `api.githubcopilot.com`
160
+
* `uploads.github.com`
161
+
* `user-images.githubusercontent.com`
162
+
163
+
1. Disable {% data variables.copilot.copilot_coding_agent %}'s integrated firewall in your repository settings. The firewall is not compatible with self-hosted runners. Unless this is disabled, use of {% data variables.copilot.copilot_coding_agent %} will be blocked. For more information, see [AUTOTITLE](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent).
157
164
1. In your `copilot-setup-steps.yml` file, set the `runs-on` attribute to your ARC-managed scale set name:
158
165
159
166
```yaml
@@ -165,10 +172,13 @@ You can use ARC (Actions Runner Controller) to run {% data variables.copilot.cop
165
172
# ...
166
173
```
167
174
168
-
1. Disable {% data variables.copilot.copilot_coding_agent %}'s integrated firewall in your repository settings, as it is not compatible with self-hosted runners. Without disabling the firewall, runners will not be able to connect to {% data variables.product.prodname_copilot_short %}. You must configure your own network security controls before disabling the built-in firewall. For more information, see [AUTOTITLE](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent).
169
-
170
-
> [!WARNING]
171
-
> 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.
175
+
1. If you want to configure a proxy server for {% data variables.copilot.copilot_coding_agent %}'s connections to the internet, configure the following environment variables as appropriate:
176
+
177
+
{% data reusables.actions.actions-proxy-environment-variables-table %}
178
+
| `ssl_cert_file` | The path to the SSL certificate presented by your proxy server. You will need to configure this if your proxy intercepts SSL connections. | `/path/to/key.pem` |
179
+
| `node_extra_ca_certs` | The path to the SSL certificate presented by your proxy server. You will need to configure this if your proxy intercepts SSL connections. | `/path/to/key.pem` |
180
+
181
+
You can set these environment variables by following the [instructions above](#setting-environment-variables-in-copilots-environment), or by baking the environment variables into your custom runner image. For more information on building a custom image, see [AUTOTITLE](/actions/concepts/runners/actions-runner-controller#creating-your-own-runner-image).
172
182
173
183
### Security considerations for self-hosted runners
|`https_proxy`| Proxy URL for HTTPS traffic. You can include basic authentication if required. |`http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:[email protected]`|
4
+
|`http_proxy`| Proxy URL for HTTP traffic. You can include basic authentication if required. |`http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:[email protected]`|
5
+
|`no_proxy`| A comma-separated list of hosts or IP addresses that should bypass the proxy. Some clients only honor IP addresses when connections are made directly to the IP rather than a hostname. |`example.com`<br>`example.com,myserver.local:443,example.org`|
0 commit comments