summaryrefslogtreecommitdiff
path: root/go/cmd
Commit message (Collapse)AuthorAgeFilesLines
* Move go code up one levelNick Thomas2019-10-184-174/+0
|
* Remove some unneeded binariesNick Thomas2019-10-156-282/+0
|
* Upgrade Gitaly to 1.68.0jc-upgrade-gitalyJohn Cai2019-10-146-6/+6
| | | | Gitaly 1.68.0 upgrades gRPC to 1.24.0
* Rewrite bin/check in GoNick Thomas2019-10-081-0/+42
|
* Remove feature flags and the fallback commandNick Thomas2019-09-203-6/+0
|
* Replace symlinks with actual binariesPatrick Bajao2019-08-153-1/+93
| | | | | | | | | | | | | | | | | | | We had `gitlab-shell-authorized-keys-check` and `gitlab-shell-authorized-principals-check` as symlinks to `gitlab-shell` before. We determine the `Command` and `CommandArgs` that we build based on the `Name` of the `Executable`. We also use that to know which fallback ruby executable should we fallback to. We use `os.Executable()` to do that. `os.Executable()` behaves differently depending on OS. It may return the symlink or the target's name. That can result to a buggy behavior. The fix is to create binaries for each instead of using a symlink. That way we don't need to rely on `os.Executable()` to get the name. We pass the `Name` of the executable instead.
* Add Executable struct181-migrate-gitlab-shell-checks-fallbackPatrick Bajao2019-08-021-22/+5
| | | | | | | | | | This struct is responsible for determining the name and root dir of the executable. The `RootDir` property will be used to find the config. The `Name` property will be used to determine what `Command` and `CommandArgs` to be built.
* Support falling back to ruby version of checkersPatrick Bajao2019-07-291-16/+2
| | | | | | | | | | | | | | Rename the ruby scripts to have `-ruby` suffix and add a symlink for both to `./gitlab-shell`. The executable name will be used to determine how args will be parsed. For now, we only parse the arguments for gitlab-shell commands. If the executable is `gitlab-shell-authorized-keys-check` or `gitlab-shell-authorized-principals-check`, it'll always fallback to the ruby version. Ruby specs test the ruby script, the fallback from go to ruby and go implementation of both (still pending).
* Respect GITLAB_SHELL_DIR in the Go versionNick Thomas2019-06-041-0/+4
|
* Pass readWriter to Command constructorIgor Drozdov2019-05-201-3/+3
|
* Pass the root directory into the fallback commandNick Thomas2019-04-121-5/+6
|
* Correctly determine the root directory for gitlab-shellNick Thomas2019-04-121-11/+24
| | | | Credit to https://gitlab.com/ejiek for spotting this one.
* Provide go implementation for 2fa_recovery_codes commandIgor2019-03-211-11/+11
|
* Better testing for JSON deserialisationan-improve-test-coverageAndrew Newdigate2019-03-183-0/+177
| | | | | | | | Adds tests to ensure that JSON deserialisation from program arguments takes place. This was a testing blind spot, which led to a brief regression: https://gitlab.com/gitlab-org/gitlab-shell/merge_requests/280
* Wrap Stderr & Stdout in a reporter structBob Van Landuyt2019-03-151-8/+11
| | | | | The reporter struct can be used for passing around and reporting to the io.Writer of choice.
* Fix unmarshalling JSON from the command lineNick Thomas2019-03-063-3/+3
|
* Adds distributed tracing instrumentation to GitLab-Shellan-distributed-tracingAndrew Newdigate2019-03-014-128/+44
| | | | Adds distributed tracing instrumentation to GitLab-Shell using LabKit
* Don't fall back to ruby for non SSH connectionsbvl-feature-flag-commandsBob Van Landuyt2019-01-151-4/+3
| | | | | When SSH_CONNECTION is not set, we don't fall back to ruby, but instead fail directly in go writing the error to stderr.
* Allow enabling gitlab-shell "discover"-featureBob Van Landuyt2019-01-151-17/+18
| | | | | | | | | | | | | | | | | | | This adds the possibility to enable features for GitLab shell. The first feature being recognized is "Discover": It's the command that is executed when running `ssh git@gitlab.example.com` and is called without a command. The gitlab key id or username is already parsed from the command line arguments. Currently we only support communicating with GitLab-rails using unix sockets. So features will not be enabled if the GitLab-url is using a different protocol. The url for this read from the config yaml. Pending ruby-specs have been added for the gitlab-shell command. Refactor to have separate command packages
* Vendor updatesAndrew Newdigate2018-12-114-4/+4
|
* Revert "Merge branch 'zj-rename-gitalypb' into 'master'"revert-0662bdd1Zeger-Jan van de Weg2018-12-074-10/+13
| | | This reverts merge request !262
* Upgrade gitaly Client dependencyZeger-Jan van de Weg2018-12-064-13/+10
| | | | | The client now has TLS support. So this gets pulled into this component. To make it work, we have to upgrade the proto too.
* Allow the config directory to be specifiedNick Thomas2018-09-281-10/+17
|
* Specify a richer scheme to run the migration withNick Thomas2018-09-281-15/+28
|
* Initial feature-flagged go/ruby switchNick Thomas2018-09-281-0/+36
|
* Add Gitaly git-upload-archive migrated commandgitaly-upload-archiveAlejandro RodrĂ­guez2018-03-202-0/+115
|
* - Update gitaly vendoringKim "BKC" Carlbäcker2017-07-032-2/+6
| | | | | - Wire up gitaly-*-pack to Gitaly. Don't pass git-*-pack to go - Disable tests for go1.5 & 1.6
* Check number of argumentsJacob Vosmaer2017-05-232-0/+10
|
* Change signature of logger.FatalJacob Vosmaer2017-05-232-6/+6
|
* Use gitaly-upload-pack and gitaly-receive-packJacob Vosmaer2017-05-233-12/+60
|
* Vendor gitaly-proto 0.5.0go-hello-worldJacob Vosmaer2017-04-121-1/+6
|
* Add hello-world executableJacob Vosmaer2017-04-121-0/+7