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:
- Registered with the secondary external URL.
- Configured with
clone_url
set to theexternal_url
of the secondary instance.