Commit 9ae5e95d authored by Douwe Maan's avatar Douwe Maan

Merge branch 'hide-ssh-repo-mirroring' into 'master'

Hide SSH repository mirroring

## What does this MR do?
Removes reference to `ssh://` URLs from the repository mirror settings page

## Are there points in the code the reviewer needs to double check?

- [ ] Is the screenshot now used in the documentation an appropriate resolution?
- [ ] Do the remaining screenshots need re-doing to match?

Repository mirroring is also referenced from the 'Import project by URL' functionality, where much of the text of `_instructions.html.haml` is duplicated in a separate partial. It doesn't mention `ssh://`, though.

## Why was this MR needed?

Mirroring repositories over SSH needs more work before it's generally useful.

Currently, these URLs are interpreted with the implicit context of the SSH client configuration for the GitLab installation's `git` user, particularly `known_hosts` and any SSH private keys it has access to. Unless the user manually alters these details  - especially `known_hosts` - then `ssh://` URLs just don't work. 

We don't wish to support and document manual SSH configuration management, and the naive approach (a single `id_rsa` file used when mirroring all repositories) is insecure - especially for GitLab.com or similar deployments.

Future MRs will re-add documentation for `ssh://` URLs for both password and public-key authentication once `known_hosts` and unique SSH keys for repository mirroring are handled automatically.

Disabling support for `ssh://` URLs entirely would break existing customer setups.

## What are the relevant issue numbers?

#98 #621

## Screenshots (if relevant)

![Screen_Shot_2016-08-02_at_10.58.23](/uploads/940bce89b6e8cc109f5df766cd287c7d/Screen_Shot_2016-08-02_at_10.58.23.png)

See merge request !608
parents 5bf1a2d4 149fb1c9
.account-well.prepend-top-default.append-bottom-default
%ul
%li
The repository must be accessible over <code>http://</code>, <code>https://</code>, <code>ssh://</code> or <code>git://</code>.
The repository must be accessible over <code>http://</code>, <code>https://</code> or <code>git://</code>.
%li
If your HTTP repository is not publicly accessible, add authentication information to the URL: <code>https://username:password@gitlab.company.com/group/project.git</code>.
%li
If your SSH repository is not publicly accessible, add the public SSH key of the GitLab server to the remote repository.
%li
The update action will time out after 10 minutes. For big repositories, use a clone/push combination.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment