summaryrefslogtreecommitdiff
path: root/spec/gitlab_shell_spec.rb
Commit message (Collapse)AuthorAgeFilesLines
* Remove dead Ruby codeNick Thomas2019-10-151-497/+0
|
* Print console messages to $stderr if present9217-warn-on-git-fetch-over-ssh-if-the-secondary-is-lagging-the-primaryAsh McKenzie2019-04-041-1/+16
| | | | Using ConsoleHelper::write_stderr
* Add support for using gl_project_pathsh-use-gl-project-pathStan Hu2019-02-161-0/+5
| | | | | | This will enable us to track the human-readable project path with SSH access in gitlab-shell. Currently the Gitaly logs will only show the hashed storage and gl_repository path (e.g. project-1234).
* Display helpful feedback when proxying an SSH git push to secondary request ↵Ash McKenzie2018-09-251-3/+3
| | | | (v2)
* Custom Action supportash.mckenzie/custom-action-supportAsh McKenzie2018-09-081-0/+23
|
* GitlabAccessStatus needs HTTP response status codeAsh McKenzie2018-09-071-11/+14
|
* GitlabConfig, GitlabShell & GitlabKeys spec fixesAsh McKenzie2018-09-071-5/+5
| | | | GitlabConfig spec was relying upon real config.yml
* Clean up cmd_exec execution environmentZeger-Jan van de Weg2018-08-241-124/+27
| | | | | | | | | | | Given the gitaly-* now proxy the data from the client to the Gitaly server, the environment variables aren't used. Therefor we don't have to set them either. Only exception to the rule, is the GITALY_TOKEN. These changes also remove the `GIT_TRACE` options, introduced by 192e2bd367494bf66746c8971896a2d9cb84fc92. Part of: https://gitlab.com/gitlab-org/gitaly/issues/1300
* Remove non Gitaly code pathsZeger-Jan van de Weg2018-08-201-16/+0
| | | | | | | All shell access goes through Gitaly, so dead code paths exist to support the legacy way too. This change mostly removes the dead code from `#process_cmd`.
* Remove repo_path from GitlabShellzj-remove-repo-pathZeger-Jan van de Weg2018-08-161-28/+5
| | | | | | | | | | | | | | | The internal api returns '/' from gitlab, since `8fad07383ada021fc995294fd0fe0f77fe37da35` from GitLab CE. To clean up later, https://gitlab.com/gitlab-org/gitlab-shell/issues/135 was created. This change closes that issue, making it possible to remove the field from the response on GitLab-CE too. Given the Rails app always returns `/` as the repository_path, the associated checks are basically a noop too. The tests are updated and at times look a little fishy, but those are testing code that is to be removed in another MR. Closes https://gitlab.com/gitlab-org/gitlab-shell/issues/135
* Remove usages of `its` in specsRobert Speicher2018-08-151-12/+20
|
* Autocorrect specs via `transpec -k its -v stub_with_hash`Robert Speicher2018-08-151-55/+55
|
* Restore "Pass custom git_config_options to Gitalyo"Nick Thomas2018-08-141-0/+7
| | | | This reverts commit 764f6f47fa6a8698ae033532ae49875a87030518.
* Revert "Merge branch 'ash.mckenzie/srp-refactor' into 'master'"Nick Thomas2018-08-141-125/+482
| | | | | This reverts commit 3aaf4751e09262c53544a1987f59b1308af9b6c1, reversing changes made to c6577e0d75f51b017f2f332838b97c3ca5b497c0.
* Revert "Pass custom git_config_options to Gitalyo"Nick Thomas2018-08-141-2/+0
| | | | This reverts commit f4ce4a3c31a9a7fb2fa0bb7daa185d34b8c03c00.
* Pass custom git_config_options to GitalyoRubén Dávila2018-08-071-0/+2
| | | | | The /api/internal/allowed endpoint on GitLab has been updated to return some custom git options that can be used with git commands, we need to pass these received options to Gitaly.
* Merge remote-tracking branch 'origin/master' into ash.mckenzie/srp-refactorAsh McKenzie2018-08-021-0/+2
|\
| * use GIT_PROTOCOL env variable in gitlab_shell#execJames Lopez2018-08-011-1/+5
| |
| * update gitlab shell to remove git_protocol env varJames Lopez2018-08-011-1/+0
| |
| * Add Git protocol v2James Lopez2018-08-011-27/+41
| |
* | Merge remote-tracking branch 'origin/master' into ash.mckenzie/srp-refactorAsh McKenzie2018-08-011-15/+15
|\ \ | |/
| * Add support for SSH certificate authenticationÆvar Arnfjörð Bjarmason2018-07-261-17/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This along with the code submitted to gitlab-ce in the gitlab-org/gitlab-ce! MR implements SSH certificate authentication. See the docs added to gitlab-ce for why and how to enable this. This, along with that MR, closes gitlab-org/gitlab-ce#3457 Implementation notes: - Because it's easy to do, and because an earlier nascent version of this would pass user-ID to gitlab-shell, that's now supported, even though the SSH certificate authentication uses username-USERNAME. - The astute reader will notice that not all the API calls in gitlab-ce's lib/api/internal.rb support a "username" argument, some only support "user_id". There's a few reasons for this: a) For this to be efficient, I am bending over backwards to avoid extra API calls when using SSH certificates. Therefore the /allowed API call will now return a "user id" to us if we're allowed to proceed further. This is then fed to existing APIs that would only be called after a successful call to /allowed. b) Not all of the git-shell codepaths go through /internal/allowed, or ever deal with a repository, e.g. the argument-less "Welcome to GitLab", and /internal/2fa_recovery_codes. These need to use /internal/discover to figure out details about the user, so support looking that up by username. c) Once we have the "user id", the GL_ID gets passed down to e.g. user-authored hooks. I don't want to have those all break by having to handle a third GL_ID mode of "username" in addition to the current "key id" and "user id".
* | Use actor when we don't know if it's a Key or UserAsh McKenzie2018-08-011-10/+14
| | | | | | | | | | | | * Use gl_id when we don't know if it's a key-X or user-X * Use Actor.new_from(gl_id) which will figure out if it's a Key or User * Use key_str when we're referring to key-X as key_id is confusing
* | Utilise new ActionsAsh McKenzie2018-08-011-464/+122
|/ | | | | | | | | | * Move gitaly, git-lfs and 2FA logic out from gitlab_shell.rb * Streamline parsing of origin_cmd in GitlabShell * Utilise proper HTTP status codes sent from the API * Also support 200 OK with status of true/false (ideally get rid of this) * Use HTTP status constants * Use attr_reader definitions (var over @var) * Rspec deprecation fixes
* Rspec upgrade and deprecation fixesash.mckenzie/minor-tidy-upAsh McKenzie2018-07-201-1/+2
|
* Bump version to 7.1.3bvl-display-username-instead-of-fullnameBob Van Landuyt2018-05-241-1/+1
|
* Display the username instead of fullnameBob Van Landuyt2018-05-231-5/+5
| | | | | | | | When running `ssh git@gitlab.example.com` we used to reply with the full name. But it might actually be more useful to display the username. This is unique and can help support identifying issues. Closes #131
* Add Gitaly git-upload-archive migrated commandgitaly-upload-archiveAlejandro Rodríguez2018-03-201-0/+55
|
* Switch to structured loggingJacob Vosmaer (GitLab)2018-03-191-26/+28
|
* Remove special case treatment of Geo nodes for SSHStan Hu2018-01-121-39/+3
| | | | | | | We removed SSH support in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/3553, so we no longer need the ability to show all refs for Geo nodes. Closes #115
* pass gl_username through to hooksDavid Turner2017-09-281-7/+40
|
* Fix SSH support for Git for Windows v2.14sh-fix-git-upload-packStan Hu2017-08-061-2/+10
| | | | | | | Git For Windows 2.14 has a patch that changes `git-upload-pack` to `git upload-pack`. To make this work for gitlab-shell, just map this to `git-upload-pack`. Closes gitlab-org/gitlab-ce#36028
* Use git_config_options instead of git_config_parameters for Gitaly requestssh-support-gitaly-upload-pack-unhide-refsStan Hu2017-08-031-0/+12
|
* Make geo_node a default parametersh-show-all-refsStan Hu2017-07-241-3/+3
|
* Support unhiding of all refs for Geo NodesStan Hu2017-07-211-3/+17
| | | | | | By default, we hide certain refs (e.g. keep-around/XXX) to save user download time. We need to preserve these references on secondary Geo nodes to have a true copy.
* simplify specsKim "BKC" Carlbäcker2017-07-061-2/+2
|
* - Update gitaly vendoringKim "BKC" Carlbäcker2017-07-031-7/+65
| | | | | - Wire up gitaly-*-pack to Gitaly. Don't pass git-*-pack to go - Disable tests for go1.5 & 1.6
* Use gitaly-upload-pack and gitaly-receive-packJacob Vosmaer2017-05-231-11/+13
|
* Handle GL_REPOSITORY env variable and use it in api callsAlejandro Rodríguez2017-05-111-8/+23
|
* Remove git annex supportPawel Chojnacki2017-02-241-66/+0
|
* Enable GIT_TRACE/GIT_TRACE_PACKET/GIT_TRACE_PERFORMANCE by providing the ↵59-git-tracingPaco Guzman2016-09-271-1/+67
| | | | | | git_trace_log_file config key The value of the variable if present must be a writable absolute path. If it’s not the case we log a proper message and not enable tracing to not throw output to the users.
* Style fixes and better tests.Patricio Cano2016-09-061-1/+1
|
* Refactored LFS auth logic to use its own API endpoint.Patricio Cano2016-09-061-2/+1
|
* Added test for old Git LFS clients that submit an extra :oid argument to ↵Patricio Cano2016-09-061-0/+13
| | | | `git-lfs-authenticate`
* Added LFS support to SSHPatricio Cano2016-09-061-1/+15
| | | | - Required changes to GitLab Shell include the actual handling of the `git-lfs-authenticate` command and the retrieval of the correct credentials.
* Add option to recover 2FA via SSHDrew Blessing2016-08-261-3/+63
|
* Simplify protocol assign, and populate ENV['PROTOCOL'] variable when calling ↵Patricio Cano2016-07-051-1/+1
| | | | hooks via SSH
* Refactor repository paths handling to allow multiple git mount pointsshardsAlejandro Rodríguez2016-06-291-59/+87
|
* Simplify the GitAccessStatus classsimplify-access-statusJacob Vosmaer2016-06-231-2/+2
| | | | | Make the optional 'message' argument required. Remove unused 'to_json' method.
* updated spec context ant comment [ci-skip]fix/git-annex-sshJames Lopez2016-03-181-2/+2
|