summaryrefslogtreecommitdiff
path: root/cmd
Commit message (Collapse)AuthorAgeFilesLines
* Log command invocation499-log-command-invocationNick Thomas2021-10-071-1/+11
| | | | | | | | Use reflection to log the command we are about to execute, both in gitlab-shell and gitlab-sshd. Include the environment, which has all the context we need to understand what the command is expected to do. Changelog: added
* Don't swallow an error parsing SSH_ORIGINAL_COMMANDNick Thomas2021-09-271-1/+1
|
* refactor: unify instantiation of command.Shellfeistel2021-09-201-0/+14
|
* Add context fields to loggingid-context-fieldsIgor Drozdov2021-09-151-1/+1
| | | | It adds correlation ids wherever possible
* refactor: fix style issuesfeistel2021-09-081-1/+0
|
* refactor: cleanup func signature and remove unused argsfeistel2021-09-089-29/+22
|
* refactor: rearchitect command and executable Go modulesfeistel2021-09-0812-9/+734
|
* Merge branch 'remove/generic-args' into 'main'Nick Thomas2021-09-084-4/+4
|\ | | | | | | | | | | | | refactor: remove commandargs.GenericArgs Closes #212 See merge request gitlab-org/gitlab-shell!506
| * refactor: add acceptargs field to executablefeistel2021-09-084-4/+4
| | | | | | | | | | parse logic will only run if the executable accept args. healthcheck is the only one not accepting arguments.
* | refactor: move away from ioutil (deprecated)feistel2021-08-191-7/+6
|/
* Switch to labkit for logging system setupNick Thomas2021-08-046-6/+11
| | | | | | | | | | | - We start supporting the "color" format for logs. - We now respond to SIGHUP by reopening the log file. - We now respect the log format when no log filename is specified. Output to syslog in the event of logging system setup is preserved in OpenSSH mode. Changelog: added
* Sshd: Log same correlation_id on auth keysIgor Drozdov2021-07-271-2/+5
|
* Fix formatting via make fmtStan Hu2021-07-261-2/+2
|
* Switch to labkit/log for logging functionalityIgor Drozdov2021-07-222-14/+15
|
* Provide liveness and readiness probesIgor Drozdov2021-07-191-0/+1
| | | | | They are going to be used to determine whether a server is alive and ready to accept traffic
* Shutdown sshd gracefullyIgor Drozdov2021-07-151-1/+27
| | | | | | | | When interruption signal is sent, we are closing ssh listener to prevent it from accepting new connections Then after configured grace period, we cancel the context to cancel all ongoing operations
* Refactor testhelper.PrepareTestRootDir using t.CleanupIgor Drozdov2021-07-141-3/+1
|
* Merge branch '500_git_upload_pack_test' into 'main'Patrick Bajao2021-06-041-0/+23
|\ | | | | | | | | Add acceptance test for git-upload-pack See merge request gitlab-org/gitlab-shell!477
| * Add acceptance test for git-upload-packVasilii Iakliushin2021-06-011-0/+23
| | | | | | | | Contributes to https://gitlab.com/gitlab-org/gitlab-shell/-/issues/500
* | fix: upgrade of the gitaly dependencyPavlo Strokov2021-06-021-2/+2
|/ | | | | | | | | | | Gitaly project now properly respects module release flow and includes a module suffix in the package name. It requires to re-write all non-suffixed imports with suffixed of a specific version of tha module. With proper module versioning we don't need to use a 'replace' directive to point to specific commit and can use semantic versioning for the gitaly dependency. Part of: https://gitlab.com/gitlab-org/gitaly/-/issues/3177
* Add acceptance test for git-upload-archiveVasilii Iakliushin2021-06-011-0/+18
| | | | Contributes to https://gitlab.com/gitlab-org/gitlab-shell/-/issues/500
* Merge branch '501-fix-opentracing-init' into 'main'Igor Drozdov2021-05-245-5/+9
|\ | | | | | | | | | | | | Fix opentracing setup for gitlab-sshd Closes #501 See merge request gitlab-org/gitlab-shell!473
| * Fix opentracing setup for gitlab-sshdNick Thomas2021-05-175-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, opentracing (if configured) was initialized late in the gitlab-shell process's lifespan, coming just before making a gRPC call to Gitaly. By moving the opentracing initialization to be at process startup, we make it available for the whole process lifecycle, which is very useful to gitlab-sshd, as it means we'll only call tracing.Initialize() once on process startup, rather than once per SSH connection. To get this working, we need to introduce a context to gitlab-sshd. This carries the client/service name, but also carries an initial correlation ID. The main outcome of this is that all calls to the authorized_keys endpoint from a given gitlab-sshd process will now share a correlation ID. I don't have a strong opinion about this either way. Changelog: fixed
* | Add a simple acceptance test for git-receive-packSean McGivern2021-05-201-2/+73
| |
* | Add acceptance test for git-lfs-authenticateSean McGivern2021-05-171-0/+27
| |
* | Add acceptance test for 2fa_verifySean McGivern2021-05-171-0/+32
| |
* | Add acceptance test for 2fa_recovery_codesSean McGivern2021-05-171-0/+45
|/
* Add acceptance test for personal_access_token commandSean McGivern2021-05-131-1/+15
|
* gitlab-sshd: Respect the ssl_cert_dir config516-handle-ssl-cert-dir-correctlyNick Thomas2021-04-301-0/+3
| | | | Changelog: fixed
* gitlab-sshd: Support the PROXY protocolNick Thomas2021-04-121-1/+28
|
* Merge branch '500-gitlab-sshd-acceptance-tests' into 'main'Igor Drozdov2021-03-171-0/+192
|\ | | | | | | | | gitlab-sshd: Acceptance test for the discover command See merge request gitlab-org/gitlab-shell!457
| * gitlab-sshd: Acceptance test for the discover commandNick Thomas2021-03-171-0/+192
| | | | | | | | | | With this, we can start to build confidence in making changes to gitlab-sshd.
* | chore: Refactor env introspection to rely on command initialization496-move-env-introspection-to-sshenvLucas Charles2021-03-154-4/+9
|/ | | | | | | Refactors introspection of execution environment to rely on per-connection state (`gitlab-shell`) or per request (`gitlab-sshd`) Relates to https://gitlab.com/gitlab-org/gitlab-shell/-/issues/496
* Add monitoring endpoint to sshdBen Kochie2021-02-161-0/+18
| | | | | | | | | | | Add a basic monitoring endpoint to the sshd command. * Listen on localhost port 9122 by default. * Integrate build/version info. * Update example config. https://gitlab.com/gitlab-org/gitlab-shell/-/issues/121 Signed-off-by: Ben Kochie <superq@gmail.com>
* Refactor Config defaultsBen Kochie2021-02-161-1/+0
| | | | | | | | | | | Use "omitempty" to allow defaults in the config file to be correctly passed. Without this, explicitly setting an empty default like an empty string will not work. Needed in order to allow explicitly disabling some settings. Related to: https://gitlab.com/gitlab-org/gitlab-shell/-/issues/121 Signed-off-by: Ben Kochie <superq@gmail.com>
* RFC: Simple built-in SSH serverLorenz Brun2021-01-186-4/+64
|
* Add support for -version argumentStan Hu2020-10-151-0/+14
| | | | | This will help determine the version of the binary particularly on Cloud Native GitLab, where VERSION may not be shipped with the binaries.
* Make it possible to propagate correlation ID across processesStan Hu2020-09-204-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, gitlab-shell did not pass a context through the application. Correlation IDs were generated down the call stack instead of passed around from the start execution. This has several potential downsides: 1. It's easier for programming mistakes to be made in future that lead to multiple correlation IDs being generated for a single request. 2. Correlation IDs cannot be passed in from upstream requests 3. Other advantages of context passing, such as distributed tracing is not possible. This commit changes the behavior: 1. Extract the correlation ID from the environment at the start of the application. 2. If no correlation ID exists, generate a random one. 3. Pass the correlation ID to the GitLabNet API requests. This change also enables other clients of GitLabNet (e.g. Gitaly) to pass along the correlation ID in the internal API requests (https://gitlab.com/gitlab-org/gitaly/-/issues/2725). Fixes https://gitlab.com/gitlab-org/gitlab-shell/-/issues/474
* Log internal HTTP requestsStan Hu2020-03-104-0/+12
| | | | | | | This restores the previous behavior of logging the success and failures of internal HTTP requests. Part of https://gitlab.com/gitlab-org/gitlab/issues/207916
* More consistent console messages (golang)Ash McKenzie2019-10-233-3/+6
|
* Rename import pathsNick Thomas2019-10-184-16/+16
|
* Move go code up one levelNick Thomas2019-10-184-0/+174