Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-26 15:07:48 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-26 15:07:48 +0300
commitef31adeb0fb9a02b2c6a4529ec4e38d7082a4b2b (patch)
treef0ee2b8bdffd7f91ad0b31388562c90825179585 /doc/development/architecture.md
parent7e019504f5ac6decde690565857238e7e59aa034 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/development/architecture.md')
-rw-r--r--doc/development/architecture.md25
1 files changed, 15 insertions, 10 deletions
diff --git a/doc/development/architecture.md b/doc/development/architecture.md
index 32626c19298..061e910a6d0 100644
--- a/doc/development/architecture.md
+++ b/doc/development/architecture.md
@@ -563,18 +563,23 @@ sequenceDiagram
participant Git on server
Note left of Git on client: git fetch
- Git on client->>SSH server: git fetch-pack
- SSH server-->>AuthorizedKeysCommand: gitlab-shell-authorized-keys-check git AAAA...
- AuthorizedKeysCommand-->>Rails: GET /internal/api/authorized_keys?key=AAAA...
+ Git on client->>+SSH server: ssh git fetch-pack request
+ SSH server->>+AuthorizedKeysCommand: gitlab-shell-authorized-keys-check git AAAA...
+ AuthorizedKeysCommand->>+Rails: GET /internal/api/authorized_keys?key=AAAA...
Note right of Rails: Lookup key ID
- Rails-->>SSH server: 200 OK, command="gitlab-shell upload-pack key_id=1"
- SSH server-->>GitLab Shell: gitlab-shell upload-pack key_id=1
- GitLab Shell-->>Rails: GET /internal/api/allowed?action=upload_pack&key_id=1
+ Rails-->>-AuthorizedKeysCommand: 200 OK, command="gitlab-shell upload-pack key_id=1"
+ AuthorizedKeysCommand-->>-SSH server: command="gitlab-shell upload-pack key_id=1"
+ SSH server->>+GitLab Shell: gitlab-shell upload-pack key_id=1
+ GitLab Shell->>+Rails: GET /internal/api/allowed?action=upload_pack&key_id=1
Note right of Rails: Auth check
- Rails-->>GitLab Shell: 200 OK, { gitaly: ... }
- GitLab Shell-->>Gitaly: SSHService.SSHUploadPack bidirectional request
- Gitaly-->>Git on server: git upload-pack
- Git on server->>Git on client: SSHService.SSHUploadPack bidirectional response
+ Rails-->>-GitLab Shell: 200 OK, { gitaly: ... }
+ GitLab Shell->>+Gitaly: SSHService.SSHUploadPack request
+ Gitaly->>+Git on server: git upload-pack request
+ Note over Git on client,Git on server: Bidirectional communication between Git client and server
+ Git on server-->>-Gitaly: git upload-pack response
+ Gitaly -->>-GitLab Shell: SSHService.SSHUploadPack response
+ GitLab Shell-->>-SSH server: gitlab-shell upload-pack response
+ SSH server-->>-Git on client: ssh git fetch-pack response
```
The `git push` operation is very similar, except `git receive-pack` is used