Resolve "Pull repository mirroring: Support for SSH keys"
What does this MR do?
Introduces SSH public-key authentication to pull mirroring.
- Configuration backend (username/password auth)
- Configuration backend (public-key auth)
- Configuration frontend (wireframe)
- Configuration frontend (complete) https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2550
- SSH known_hosts file generator (backend)
- SSH host key fingerprint verification (backend)
- SSH host key fingerprint verification (frontend) https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2550
gitlab-shell.fetch_remoteupdated to support pubkey auth
- gitlab-shell#95 (closed)
- Comprehensive test coverage. Pull mirroring seems to be mostly untested at the moment
- Backports to CE https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13275
Are there points in the code the reviewer needs to double check?
project_import_data data is shared with CE, so we need to pay attention to backports when refactoring.
Why was this MR needed?
Scheduled feature for %9.5
Screenshots (if relevant)
Does this MR meet the acceptance criteria?
- Changelog entry added, if necessary
- Documentation created/updated
- API support added
- Added for this feature/bug
- All builds are passing
- Conform by the merge request performance guides
- Conform by the style guides
Branch has no merge conflicts with
master(if it does - rebase it please)
- Squashed related commits together