Installing GitLab just for merge requests and CI/CD, but not to be the primary git server

I would like to install GitLab as an add-on to my existing git system in a centralized corporate environment. GitLab can manage its own forks of the main repo and fork-based pull requests, but it would not handle pushes/pulls to/from the main central repo. Has anybody done this? Is it possible with not too much hacking? (We’re willing to hack the source a certain amount if necessary.)

In a corporate environment, I have working gitolite git server. We love it: it is great and robust and as long as linux/ssh are running, git will be running too. It follows the unix philosophy of “do one thing and do it well”. But gitolite does not offer pull requests, CI/CD, etc. I would like to add these features as an add-on to the existing working infrastructure rather than as a forklift replacement.

I know this is not standard practice. We have a very large repo (tens to hundreds of thousands each of commits and tags, hundreds of branches), and the whole thing takes up a lot of space due to binary files (*). We evaluated GitLab in the past and found that it simply did not scale reliably, and we could not trust it for a mission-critical application. We’re willing to give it a second chance in a non-mission-critical role.

Another way of thinking about this is that GitLab simply has an upstream server. Is there a way to automate having GitLab always push to the upstream server?


(*) If you think I am dumb, please just don’t reply rather than derail this question with long explanations enumerating the ways you think I am wrong.