Skip to content

Secondary runners (PREMIUM SELF EXPERIMENT)

Introduced in GitLab 16.7 with a flag named geo_proxy_check_pipeline_refs. Disabled by default.

FLAG: On self-managed GitLab, by default this feature is not available. To make it available, an administrator can enable the feature flag named geo_proxy_check_pipeline_refs. On GitLab.com, this feature is not available.

With Geo proxying for secondary sites, it is possible to register a gitlab-runner with a secondary site. This offloads load from the primary instance.

Enable or disable secondary runners

To enable secondary runners, SSH into a Rails node on the primary Geo site and run:

sudo gitlab-rails runner 'Feature.enable(:geo_proxy_check_pipeline_refs)'

To disable secondary runners, SSH into a Rails node on the primary Geo site and run:

sudo gitlab-rails runner `Feature.disable(:geo_proxy_check_pipeline_refs)`

Use secondary runners with a Location Aware public URL (Unified URL)

Using a Location Aware public URL, with the feature flag enabled works with no extra configuration. After you install and register a runner in the same location as a secondary site, it automatically talks to the closest site, and only proxies to the primary if the secondary is out of date.

Use secondary runners with separate URLs

Using separate secondary URLs, the runners should be:

  1. Registered with the secondary external URL.
  2. Configured with clone_url set to the external_url of the secondary instance.