Skip to content

Draft: Geo POC: Proxy most Geo secondary requests to Geo primary

This is a POC to prove that we can make the Geo secondary work as a proxy for the primary. Except when it suits us, for example, we would quickly serve Git requests and assets without proxying to the primary.

More background

We haven't done much with the Geo secondary web UI and API, and since it is read-only, users generally don't use it. If we can proxy most requests to the primary, then it would immediately be a big improvement in usability, and allow sysadmins to place all Geo sites behind a location-aware URL.

Demo

These demos might look boring, but http://gdk.test:3001 is served by the secondary GDK's GitLab Workhorse service. It proxies everything directly to the primary GDK's workhorse service, except for Git requests, assets, and a few other routes.

Add project, edit file, add markdown attachments 1m52s

demo-secondary-proxy-add-project

Use secondary-specific admin Geo views 46s

demo-secondary-proxy-admin

Git HTTP push/pull unchanged from today 3m07s

In this demo, imagine that http://gdk.test:3001 is a location-aware URL that just happens to send me to the secondary. That's why I change the HTTP clone URL in Admin Area > General to http://gdk.test:3001.

demo-secondary-proxy-git-http

Related gitlab#207168 (closed)

How to use this POC locally

See my notes: https://gitlab.com/-/snippets/2087122

Edited by Michael Kozono

Merge request reports