2.8 KiB
| stage | group | info |
|---|---|---|
| Create | Source Code | Any user with at least the Maintainer role can merge updates to this content. For details, see https://docs.gitlab.com/ee/development/development_processes.html#development-guidelines-review. |
Source Code Management
The Source Code Management team is responsible for all backend aspects of the product categories that fall under the Source Code group of the Create stage of the DevOps lifecycle.
We interface with the Gitaly and Code Review teams. The features we work with are listed on the Features by Group Page.
The team works across three codebases: Workhorse, GitLab Shell and GitLab Rails.
Workhorse
GitLab Workhorse is a smart reverse proxy for GitLab. It handles "large" HTTP
requests such as file downloads, file uploads, git push, git 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.
GitLab Shell
GitLab Shell handles Git SSH sessions for GitLab and modifies the list of authorized keys. For more information, refer to the GitLab Shell documentation.
To learn about the reasoning behind our creation of gitlab-sshd, read the blog post
Why we implemented our own SSHD solution.
CODEOWNERS
Source Code Management shares ownership of Code Owners with the Code Review group.
GitLab Rails
Gitaly touch points
Gitaly provides high-level RPC access to Git repositories. It is present in every GitLab installation and coordinates Git repository storage and retrieval. Gitaly implements a client-server architecture with Gitaly as the server and Gitaly clients, also known as Gitaly consumers, including:
- GitLab Rails
- GitLab Shell
- GitLab Workhorse
Gitaly Rails provides API endpoints that are counterparts of Gitaly RPCs. For more information, read Gitaly touch points.
Annotated Rails Source Code
The :source_code_management annotation indicates which code belongs to the Source Code Management
group in the Rails codebase. The annotated objects are presented on
this page along
with the Error Budgets dashboards.