Distributed build caching with GitLab Geo
Problem to solve
As a build farm administrator, my build farm may be geographically dispersed (e.g. Asia vs US West Coast). My GitLab instance may be running in one of these regions. The other region will experience slow transfer rates for both artifacts and the build cache produced by GitLab CI.
Further details
Proposal
The current architecture is that these artifacts are uploaded to the GitLab instance. If I have Geo, and I have a replica in the other region, it should be possible to allow artifacts to be uploaded from my secondary region. If we're using object storage, maybe we can also utilise the underlying infrastructure's support for multi-region transfers.
What does success look like, and how can we measure that?
We can perhaps measure the savings in build times for builds which are geographically distributed.