Age | Commit message (Collapse) | Author |
|
For admins new to GitLab it can be difficult to tell when an error
was triggered by gitaly vs gitaly-ruby. This changes updates errors
to explicitly mentions gitaly-ruby.
|
|
Both gitaly-ruby and gitaly hooks will need the gitaly internal socket
directory, so we can pull it out into the config package. Also this
change starts an internal gitaly socket that listens for connections.
|
|
Signed-off-by: Mateusz Nowotyński <maxmati4@gmail.com>
|
|
In case the `/tmp` directory can't be used for security reasons, this
can be configured. The default behaviour as in production right now will
remain. So if nothing is set, `/tmp` will be reused.
|
|
Refactored configs so that both praefect and gitaly can share logging
and sentry config structs
|
|
|
|
|
|
This commit adds an optional `git_config_search_path` parameter for
gitaly-ruby.
By default, Rugged searches inside `/etc/gitconfig` instead of
`/opt/gitlab/embedded/etc/gitconfig` for system-wide options unless the
`Rugged::Settings['search_path_system']` is set.
This means that important options such as `core.fsyncObjectFiles` are
not propagated to gitaly-ruby, which can result in data loss after
servers are rebooted.
The command-line `git` doesn't have this issue because it uses the
`prefix` compile-time option, but this isn't available in Rugged.
With this new parameter, package managers (e.g. Omnibus) can specify
where the system `gitconfig` file should be.
Closes https://gitlab.com/gitlab-org/gitaly/issues/2051
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is a second fix for the GRPC bug related to using unix sockets
alongside unix sockets. Previously we fixed incoming clients. This
change fixes the connection between Gitaly and Gitaly-Ruby, which
always relies on unix sockets, and which currently fail when http
proxies are setup.
A (too) long history of this change:
* Unix sockets have never been officially supported by gRPC
* Originally unix sockets didn't work at all, and you had to use a
dialer
* Attempted to upgrade from gRPC 1.9 to 1.16 and found that our dialer
broke connectivity:
https://gitlab.com/gitlab-org/gitaly/merge_requests/972
* Isolated the problem to this commit:
https://github.com/grpc/grpc-go/commit/90dca43332f6cc944c37e16f32a82c41639e7705
* Fixed the problem by switching to the default dialer for unix: URLs
* (note that it's still not officially supported, but without
integration tests with proxy configurations, it seems to work)
* In #1447, discovered that the default dialer breaks if one has http
proxies configured (there was a also a second failure in
https://gitlab.com/gitlab-org/gitaly/merge_requests/1032 which
involved clients talking to Gitaly)
* This change partially reverts
https://gitlab.com/gitlab-org/gitaly/merge_requests/972 while keeping
the fix for the original connectivity issue
|
|
Leveraging `go fix` these changes were made, I only applied some regexp
to get the import grouping correct.
The old package can't be removed from vendor directory yet, as other
dependencies depend on it.
|
|
|
|
|
|
|
|
|
|
If the git hooks aren't symlinked properly, GitLab authentication and
authorization is skipped completely. So on most Git operations, if these
hooks are missing this commit will try to repair them when triggering an
upload-pack, or receive-pack git action.
This change also allows the Gitaly team to change the hooks in following
releases to any new ones. And allowing for absorbing the gitlab-shell
hooks into this project.
Previously attempted in:
https://gitlab.com/gitlab-org/gitaly/commit/87198d32837, which ran into
race conditions. This approach does not
Part of https://gitlab.com/gitlab-org/gitaly/issues/1226
|
|
This propagates our git.GitEnv variables properly, plus DRYes the code
|
|
|
|
For some reason my git got localized in spanish, and we had some tests
failing because they relied on error messages being on english, as well
as some code failing if the text wasn't ASCII-8BIT compatible. These
changes fix those issues.
|
|
This change the result of a grep + sed, to move away from pb, and use
gitalypb instead. The gitalypb points to a vendorred directory that has
the same name. This would fix the use of goimports.
See also: https://gitlab.com/gitlab-org/gitaly-proto/merge_requests/213
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Closes #988
|
|
|
|
Closes #922
|
|
|
|
'840-make-gitlab-git-gitlabprojects-not-work-with-storage-paths' into 'master'
Stop using deprecated gitlab-projects command
Closes #840
See merge request gitlab-org/gitaly!495
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|