The keytype field is actually `ssh-dss` for DSA keys and they will not
be stored as `id_rsa.pub`.
Note that newer version of ssh actually also support
`ecdsa-sha2-nistp256` and others so it is also misleading to assume the
field always starts with `ssh-`.
docs: raketasks: Add documentation on uploading to mounted shares
Fog has a local storage provider, which can be use to copy backups to locally mounted cifs / nfs / smb shares. This MR adds documentation to doc/raketasks/backup_restore.md in response to #3387.
@stanhu I found some time tonight and was able to get this started earlier than I initially expected, glad I could contribute.
See merge request !2246
Environment variables in the app
Fixes#3717 and #3519
## Why environment variables?
We need environmental variables, they are an expected way to configure apps https://medium.com/@kelseyhightower/12-fractured-apps-1080c73d481c#.ntrdiyu4c
This causes many tools and to tutorials to make it easy to set environmental variables and harder to supply a configuration file.
So even though we agree they are not ideal https://support.cloud.engineyard.com/hc/en-us/articles/205407508-Environment-Variables-and-Why-You-Shouldn-t-Use-Them the market has spoken.
## Why for GitLab the application and not for the Omnibus packages?
Environmental variables are also needed by people that do not run our Omnibus packages, for example natively bundled apps (Debian apt-get) and idiomatic Docker packages (Mesos, Kubernetes, etc.).
Of course it should work great with Omnibus packages too so any advise is welcome in that regard.
There is an MR https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/575/diffs to be able to set any variable in gitlab.rb via environmental variables. I think both that and this MR should be merged to solve the configuration problem for both Omnibus and non-Omnibus installations. When both are merged the documentation should be crosslinked.
## Why uppercase?
Need to be all cap according to Google Shell guideline:
"Constants and Environment Variable Names => All caps, separated with underscores, declared at the top of the file."
https://google.github.io/styleguide/shell.xml#Constants_and_Environment_Variable_Names
Or as explained on http://stackoverflow.com/a/673940/613240
Keeping to this convention, you can rest assured that you don't need to know every environment variable used by UNIX tools or shells in order to avoid overwriting them. If it's your variable, lowercase it. If you export it, uppercase it.
/cc @JobV @DouweM @marin @jacobvosmaer @ayufan @pravi
See merge request !2215
Add support for Google reCAPTCHA in user registration to prevent spammers
To do:
- [x] Failing reCAPTCHA test causes all the fields to be lost
- ~~[ ] Improve styling of reCAPTCHA box~~ (not possible)
- ~~[ ] Put settings in `application_settings` (?)~~


Page when you fail CAPTCHA:

See merge request !2216
update-init-script was listed two times. removed one without explanation.
`update-init-script` was listed two times. removed one without explanation.
See merge request !2170
Add project permissions to all project API endpoints
This standardizes all the project API formats. Also needed to support Huboard.
See merge request !2090
Link to the gitlab-ci.yml file of GitLab itself.
I'm hunting for this link from time to time in customer demo's so I think it is useful to add.
/cc @ayufan
See merge request !1993
Backport JIRA service
Fixes#3839
Move EE JIRA functionality back to CE.
- [x] Make it function in manual testing
- [x] Migrate JIRA-specific tests
- [x] Tests pass
- [x] Migrate documentation
- [x] Rollback to previous CE JIRA integration locally, activate on a project then try to migrate db and see if integration still works.
- [x] Final EE search for JIRA references
See merge request !2146
Clarify Windows shell executor artifact upload support
@ayufan noted that the runner does not support artifact upload for Windows shell executor. This adds a note so users aren't confused.
See merge request !2142