Remove SSH repository sync support from Geo
What does this MR do?
Removes support for SSH repository synchronization from Geo. Users will still be able to clone repositories from secondaries using SSH - this is entirely about how the secondary gets the repository contents from the primary.
Are there points in the code the reviewer needs to double check?
SSH repository cloning was deprecated in %10.2 when HTTP/HTTPS repository cloning was added. Users who did not switch to HTTP in that release will be automatically switched to it in this one.
The explicit clone_url_prefix
attribute must remain as the primary may have this configured to point somewhere other than the HTTP host. However, it is only used for telling the user how to clone from the primary!
Why was this MR needed?
The existing SSH repository sync support is a security risk as it relies on instance-global SSH keys that are also controllable by ordinary users. As SSH repo sync has no unique advantages over HTTP repo sync, it makes no sense to do the extra work necessary to bring it up to a maintainable standard. So it must be removed.
Screenshots (if relevant)
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added -
Tests added for this feature/bug - Review
-
Has been reviewed by Backend
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Squashed related commits together -
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
What are the relevant issue numbers?
Closes #3891 (closed)