Redirect HTTP Git push from secondary to primary
As @jramsay wrote in https://gitlab.com/gitlab-org/gitlab-ee/issues/3834, and related to https://gitlab.com/gitlab-org/gitlab-ee/issues/623#note_43446269:
Asking users to manually update the
push
URL every time they clone a new repository is tedious. We should make it possible for people to do bothfetch
andpush
operations using the secondary by proxyingredirecting thepush
operations to the primary.
This makes easier for people to use geo because they only needed to grab the closest secondary when cloning and they're good to go.
Users are also mostly static relative to secondary nodes, unless they regularly travel large distances, and will always want to use the same secondary. We should allow users to save their preferred secondary.
Proposal
Start with HTTP and Git push only for simplicity.
Any properly authenticated push request should be proxied to the primary.