Commit dedad9eb authored by Alessio Caiazza's avatar Alessio Caiazza

Merge branch 'docs-update-development-uploads' into 'master'

Update docs ee/development/uploads

See merge request gitlab-org/gitlab!23870
parents 7f69e446 51ec3d04
...@@ -174,14 +174,14 @@ sequenceDiagram ...@@ -174,14 +174,14 @@ sequenceDiagram
c ->>+w: POST /some/url/upload c ->>+w: POST /some/url/upload
w->>+s: save the incoming file on a temporary location w->>+s: save the incoming file on a temporary location
s-->>-w: s-->>-w: request result
w->>+r: POST /some/url/upload w->>+r: POST /some/url/upload
Note over w,r: file was replaced with its location<br>and other metadata Note over w,r: file was replaced with its location<br>and other metadata
opt requires async processing opt requires async processing
r->>+redis: schedule a job r->>+redis: schedule a job
redis-->>-r: redis-->>-r: job is scheduled
end end
r-->>-c: request result r-->>-c: request result
...@@ -208,9 +208,11 @@ This is the more advanced acceleration technique we have in place. ...@@ -208,9 +208,11 @@ This is the more advanced acceleration technique we have in place.
Workhorse asks rails for temporary pre-signed object storage URLs and directly uploads to object storage. Workhorse asks rails for temporary pre-signed object storage URLs and directly uploads to object storage.
In this setup an extra rails route needs to be implemented in order to handle authorization, In this setup, an extra Rails route must be implemented in order to handle authorization. Examples of this can be found in:
you can see an example of this in [`Projects::LfsStorageController`](https://gitlab.com/gitlab-org/gitlab/blob/cc723071ad337573e0360a879cbf99bc4fb7adb9/app/controllers/projects/lfs_storage_controller.rb)
and [its routes](https://gitlab.com/gitlab-org/gitlab/blob/cc723071ad337573e0360a879cbf99bc4fb7adb9/config/routes/git_http.rb#L31-32). - [`Projects::LfsStorageController`](https://gitlab.com/gitlab-org/gitlab/blob/cc723071ad337573e0360a879cbf99bc4fb7adb9/app/controllers/projects/lfs_storage_controller.rb)
and [its routes](https://gitlab.com/gitlab-org/gitlab/blob/cc723071ad337573e0360a879cbf99bc4fb7adb9/config/routes/git_http.rb#L31-32).
- [API endpoints for uploading packages](packages.md#file-uploads).
**note:** this will fallback to _disk buffered upload_ when `direct_upload` is disabled inside the [object storage setting](../administration/uploads.md#object-storage-settings). **note:** this will fallback to _disk buffered upload_ when `direct_upload` is disabled inside the [object storage setting](../administration/uploads.md#object-storage-settings).
The answer to the `/authorize` call will only contain a file system path. The answer to the `/authorize` call will only contain a file system path.
...@@ -231,17 +233,17 @@ sequenceDiagram ...@@ -231,17 +233,17 @@ sequenceDiagram
w->>+os: PUT file w->>+os: PUT file
Note over w,os: file is stored on a temporary location. Rails select the destination Note over w,os: file is stored on a temporary location. Rails select the destination
os-->>-w: os-->>-w: request result
w->>+r: POST /some/url/upload w->>+r: POST /some/url/upload
Note over w,r: file was replaced with its location<br>and other metadata Note over w,r: file was replaced with its location<br>and other metadata
r->>+os: move object to final destination r->>+os: move object to final destination
os-->>-r: os-->>-r: request result
opt requires async processing opt requires async processing
r->>+redis: schedule a job r->>+redis: schedule a job
redis-->>-r: redis-->>-r: job is scheduled
end end
r-->>-c: request result r-->>-c: request result
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment