diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-26 15:07:48 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-26 15:07:48 +0300 |
commit | ef31adeb0fb9a02b2c6a4529ec4e38d7082a4b2b (patch) | |
tree | f0ee2b8bdffd7f91ad0b31388562c90825179585 /doc/development | |
parent | 7e019504f5ac6decde690565857238e7e59aa034 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/development')
-rw-r--r-- | doc/development/architecture.md | 25 |
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 |