Resolve "Transparently proxy HTTP Git push from secondary to primary"
What does this MR do?
This MR adds the ability for Geo customers to push to a secondary and have the request redirected automatically to the primary without any configuration.
The vast majority of this change was spiked out by @mkozono so massive props to him
Are there points in the code the reviewer needs to double check?
Documentation - interested in ideas on how / where we should document this new feature?
I added a feature toggle around the functionality. May not need it? If needed, is geo_push_to_secondary
an appropriate name choice?
Also am not entirely happy / convinced with the test coverage as I simply added to what was there. Can probably be improved.
Why was this MR needed?
Existing Geo customers need to maintain a separate git origin in their config and use it to push code, so they would typically have an origin
pointing to the secondary and origin-primary
(or such) pointing to the primary to facilitate pushing.
Screenshots (if relevant)
N/A
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated [ ] API support added-
Tests added for this feature/bug - Conform by the code review guidelines
[ ] Has been reviewed by a UX Designer[ ] Has been reviewed by a Frontend maintainer-
Has been reviewed by a Backend maintainer [ ] Has been reviewed by a Database specialist
-
EE specific content should be in the top level /ee
folder -
Conform by the merge request performance guides -
Conform by the style guides [ ] If you have multiple commits, please combine them into a few logically organized commits by squashing them[ ] Internationalization required/considered-
If paid feature, have we considered GitLab.com plan and how it works for groups and is there a design for promoting it to users who aren't on the correct plan -
End-to-end tests pass ( package-qa
manual pipeline job)
What are the relevant issue numbers?
Closes #3912 (closed)