From 9297025d0b7ddf095eb618dfaaab2ff8f2018d8b Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 19 Dec 2023 11:01:45 +0000 Subject: Add latest changes from gitlab-org/gitlab@16-7-stable-ee --- .../backend/create_source_code_be/index.md | 87 ++++++++++++++++------ 1 file changed, 63 insertions(+), 24 deletions(-) (limited to 'doc/development/backend/create_source_code_be/index.md') diff --git a/doc/development/backend/create_source_code_be/index.md b/doc/development/backend/create_source_code_be/index.md index d894a14b006..3ae3c989966 100644 --- a/doc/development/backend/create_source_code_be/index.md +++ b/doc/development/backend/create_source_code_be/index.md @@ -1,25 +1,79 @@ --- stage: Create group: Source Code -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments +info: 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. --- -# Create: Source Code backend +# Source Code Management -The Create: Source Code backend (BE) team focuses on the GitLab suite of Source Code Management -(SCM) tools. It is responsible for all backend aspects of the product categories +The Source Code Management team is responsible for all backend aspects of the product categories that fall under the [Source Code group](https://about.gitlab.com/handbook/product/categories/#source-code-group) of the [Create stage](https://about.gitlab.com/handbook/product/categories/#create-stage) of the [DevOps lifecycle](https://about.gitlab.com/handbook/product/categories/#devops-stages). -We interface with the Gitaly and Code Review teams, and work closely with the -[Create: Source Code frontend team](https://about.gitlab.com/handbook/engineering/development/dev/create/create-source-code-fe/). The features -we work with are listed on the +The Source Code Management team interfaces with the Gitaly and Code Review teams and works across three codebases: Workhorse, GitLab Shell and GitLab Rails. + +## Source Code Features Reference + +Features owned by the Source Code Management group are listed on the [Features by Group Page](https://about.gitlab.com/handbook/product/categories/features/#createsource-code-group). -The team works across three codebases: Workhorse, GitLab Shell and GitLab Rails. +### Code Owners + +Source Code Management shares ownership of Code Owners with the Code Review group. + +- [Feature homepage](../../../user/project/codeowners/index.md) +- [Developer Reference](../../code_owners/index.md) + +### Approval Rules + +- [Approval Rules](../../merge_request_concepts/approval_rules.md) + +### Push Rules + +- [Push Rules development guidelines](../../push_rules/index.md) + +### Protected Branches + +Details about Protected Branches models can be found in the [Code Owners](../../code_owners/index.md#related-models) technical reference page. + +### Repositories + +- [Project Repository Storage Moves](../../repository_storage_moves/index.md) + +### Project Templates + +- [Custom group-level project templates development guidelines](../../project_templates/index.md) + +### Git LFS + +- [Git LFS Development guidelines](../../lfs.md) + +## Technical Stack -## Workhorse +## GitLab Rails + +### Gitaly touch points + +[Gitaly](../../../administration/gitaly/index.md) 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](gitaly_touch_points.md). + +### 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](https://gitlab-com.gitlab.io/gl-infra/platform/stage-groups-index/source-code.html) along +with the [Error Budgets dashboards](https://dashboards.gitlab.net/d/stage-groups-source_code/stage-groups3a-source-code3a-group-dashboard?orgId=1). + +## GitLab Workhorse [GitLab Workhorse](../../workhorse/index.md) 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. @@ -34,18 +88,3 @@ For more information, refer to the [GitLab Shell documentation](../../gitlab_she To learn about the reasoning behind our creation of `gitlab-sshd`, read the blog post [Why we implemented our own SSHD solution](https://about.gitlab.com/blog/2022/08/17/why-we-have-implemented-our-own-sshd-solution-on-gitlab-sass/). - -## GitLab Rails - -### Gitaly touch points - -Gitaly is a Go RPC service which handles all the `git` calls made by GitLab. -GitLab is not exposed directly, and all traffic comes through Create: Source Code. -For more information, read [Gitaly touch points](gitaly_touch_points.md). - -### Source Code REST API Endpoints - -Create: Source Code has over 100 REST endpoints, being a mixture of Grape API endpoints and Rails controller endpoints. -For a detailed list, refer to [Source Code REST Endpoints](rest_endpoints.md). - -An alternative list of the [Source Code endpoints and other owned objects](https://gitlab-com.gitlab.io/gl-infra/platform/stage-groups-index/source-code.html) is available. -- cgit v1.2.3