summaryrefslogtreecommitdiff
path: root/workhorse/README.md
blob: c1ff104cda8bd2eb05bdec9b1bf18a0c3554aec9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 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](doc/architecture/gitlab_features.md) that would not work efficiently without Workhorse.

## Canonical source

The canonical source for Workhorse is currently
[gitlab-org/gitlab-workhorse](https://gitlab.com/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](https://gitlab.com/gitlab-org/gitlab/tree/master/workhorse).

Until that transition is complete, changes (Merge Requests) for
Workhorse should be submitted at
[gitlab-org/gitlab-workhorse](https://gitlab.com/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](doc/).

* Architectural overview
  * [GitLab features that rely on Workhorse](doc/architecture/gitlab_features.md)
  * [Websocket channel support](doc/architecture/channel.md)
* Operating Workhorse
  * [Source installation](doc/operations/install.md)
  * [Workhorse configuration](doc/operations/configuration.md)
* [Contributing](CONTRIBUTING.md)
  * [Adding new features](doc/development/new_features.md)
  * [Testing your code](doc/development/tests.md)

## License

This code is distributed under the MIT license, see the [LICENSE](LICENSE) file.