.. | ||
.gitlab | ||
_support | ||
changelogs/unreleased | ||
cmd | ||
doc | ||
internal | ||
testdata | ||
.gitignore | ||
.gitlab-ci.yml | ||
authorization_test.go | ||
backend.go | ||
backend_test.go | ||
cable_test.go | ||
CHANGELOG | ||
channel_test.go | ||
config.toml.example | ||
config_test.go | ||
CONTRIBUTING.md | ||
gitaly_integration_test.go | ||
gitaly_test.go | ||
go.mod | ||
go.sum | ||
jobs_test.go | ||
LICENSE | ||
logging.go | ||
main.go | ||
main_test.go | ||
Makefile | ||
PROCESS.md | ||
proxy_test.go | ||
README.md | ||
sendfile_test.go | ||
tools.go | ||
upload_test.go | ||
VERSION |
GitLab Workhorse
GitLab Workhorse is a smart reverse proxy for GitLab. It handles "large" HTTP requests such as file downloads, file uploads, Git push/pull and Git archive downloads.
Workhorse itself is not a feature, but there are several features in GitLab that would not work efficiently without Workhorse.
Canonical source
The canonical source for Workhorse is currently gitlab-org/gitlab-workhorse. As explained in https://gitlab.com/groups/gitlab-org/-/epics/4826, we are in the process of moving the canonical source to gitlab-org/gitlab/workhorse.
Until that transition is complete, changes (Merge Requests) for Workhorse should be submitted at gitlab-org/gitlab-workhorse. Once merged, they will propagate to gitlab-org/gitlab/workhorse via the usual Workhorse release process.
Documentation
Workhorse documentation is available in the doc
folder of this repository.
- Architectural overview
- Operating Workhorse
- Contributing
License
This code is distributed under the MIT license, see the LICENSE file.