Geo: Proxy pipeline ref request to primary if it has not been replicated to the secondary
Proposal
This is based on discussions had here #408898 (comment 1372318179).
If a runner attempts to retrieve a pipeline ref from a secondary Geo site and the pipeline ref has not been replicated to the secondary site the job will fail. The job needs to be restarted manually when the pipeline ref has been successfully replicated. This is not a good experience for users and can lead to many failed jobs due to replication lag between sites.
In this situation, we want to proxy the pipeline ref request to the primary thus guaranteeing the job will not fail due to the pipeline ref missing on the secondary site.
This will be a good MVC for enabling the acceleration of CI runners via secondary sites. It aligns with the approach we have taken to concealing replication lag when accelerating users. We can explore optimization in future iterations as and when required.