- 02 10月, 2019 1 次提交
-
-
由 GitLab Bot 提交于
-
- 25 9月, 2019 1 次提交
-
-
由 GitLab Bot 提交于
-
- 01 9月, 2019 1 次提交
-
-
由 Nick Thomas 提交于
-
- 29 8月, 2019 1 次提交
-
-
由 Jacob Vosmaer 提交于
-
- 23 8月, 2019 1 次提交
-
-
由 Jan Provaznik 提交于
-
- 10 8月, 2019 1 次提交
-
-
由 Stan Hu 提交于
This sanitizes some log messages to be consistent with CE. Full list of changes: https://gitlab.com/gitlab-org/gitlab-workhorse/blob/master/CHANGELOG
-
- 25 4月, 2019 1 次提交
-
-
由 Nick Thomas 提交于
-
- 11 4月, 2019 1 次提交
-
-
由 Francisco Javier López 提交于
-
- 10 4月, 2019 1 次提交
-
-
由 Nick Thomas 提交于
-
- 05 4月, 2019 1 次提交
-
-
由 Francisco Javier López 提交于
We're moving from using terminology related to terminals when we refer to Websockets connections in Workhorse. It's more appropiate a concept like channel.
-
- 02 4月, 2019 3 次提交
-
-
由 Patrick Bajao 提交于
-
由 Patrick Bajao 提交于
Add `GetArchiveRequest` to git-archive params. Modifies `Git::Repository#archive_metadata` to append `path` to `ArchivePrefix` so it'll not hit the cache of repository archive when it already exists.
-
由 Jan Provaznik 提交于
Adds a rake task which can be used for removing EXIF data from existing uploads.
-
- 13 2月, 2019 1 次提交
-
-
由 Nick Thomas 提交于
-
- 06 2月, 2019 1 次提交
-
-
由 Nick Thomas 提交于
-
- 04 2月, 2019 1 次提交
-
-
由 Nick Thomas 提交于
-
- 31 1月, 2019 1 次提交
-
-
由 Nick Thomas 提交于
LFS uploads are handled in concert by workhorse and rails. In normal use, workhorse: * Authorizes the request with rails (upload_authorize) * Handles the upload of the file to a tempfile - disk or object storage * Validates the file size and contents * Hands off to rails to complete the upload (upload_finalize) In `upload_finalize`, the LFS object is linked to the project. As LFS objects are deduplicated across all projects, it may already exist. If not, the temporary file is copied to the correct place, and will be used by all future LFS objects with the same OID. Workhorse uses the Content-Type of the request to decide to follow this routine, as the URLs are ambiguous. If the Content-Type is anything but "application/octet-stream", the request is proxied directly to rails, on the assumption that this is a normal file edit request. If it's an actual LFS request with a different content-type, however, it is routed to the Rails `upload_finalize` action, which treats it as an LFS upload just as it would a workhorse-modified request. The outcome is that users can upload LFS objects that don't match the declared size or OID. They can also create links to LFS objects they don't really own, allowing them to read the contents of files if they know just the size or OID. We can close this hole by requiring requests to `upload_finalize` to be sourced from Workhorse. The mechanism to do this already exists.
-
- 23 1月, 2019 2 次提交
-
-
由 Nick Thomas 提交于
LFS uploads are handled in concert by workhorse and rails. In normal use, workhorse: * Authorizes the request with rails (upload_authorize) * Handles the upload of the file to a tempfile - disk or object storage * Validates the file size and contents * Hands off to rails to complete the upload (upload_finalize) In `upload_finalize`, the LFS object is linked to the project. As LFS objects are deduplicated across all projects, it may already exist. If not, the temporary file is copied to the correct place, and will be used by all future LFS objects with the same OID. Workhorse uses the Content-Type of the request to decide to follow this routine, as the URLs are ambiguous. If the Content-Type is anything but "application/octet-stream", the request is proxied directly to rails, on the assumption that this is a normal file edit request. If it's an actual LFS request with a different content-type, however, it is routed to the Rails `upload_finalize` action, which treats it as an LFS upload just as it would a workhorse-modified request. The outcome is that users can upload LFS objects that don't match the declared size or OID. They can also create links to LFS objects they don't really own, allowing them to read the contents of files if they know just the size or OID. We can close this hole by requiring requests to `upload_finalize` to be sourced from Workhorse. The mechanism to do this already exists.
-
由 Andrew Newdigate 提交于
-
- 12 12月, 2018 1 次提交
-
-
由 Nick Thomas 提交于
-
- 11 12月, 2018 1 次提交
-
-
由 Andrew Newdigate 提交于
-
- 07 12月, 2018 1 次提交
-
-
由 Francisco Javier López 提交于
-
- 05 12月, 2018 1 次提交
-
-
由 Stan Hu 提交于
-
- 01 12月, 2018 1 次提交
-
-
由 Nick Thomas 提交于
-
- 29 11月, 2018 1 次提交
-
- 23 11月, 2018 1 次提交
-
-
由 Mark Chao 提交于
-
- 14 11月, 2018 1 次提交
-
-
由 Stan Hu 提交于
This version now supports redis[s]:// URL schemes.
-
- 07 11月, 2018 1 次提交
-
-
由 Andrew Newdigate 提交于
-
- 02 10月, 2018 1 次提交
-
-
由 Alejandro Rodríguez 提交于
-
- 27 9月, 2018 1 次提交
-
-
由 Stan Hu 提交于
-
- 06 9月, 2018 1 次提交
-
-
由 Stan Hu 提交于
There were several issues: 1. With Google Cloud Storage, we can't override the Content-Type with Response-Content-Type once it is set. Setting the value to `application/octet-stream` doesn't buy us anything. GCS defaults to `application/octet-stream`, and AWS uses `binary/octet-stream`. Just remove this `Content-Type` when we upload new files. 2. CarrierWave and fog-google need to support query parameters: https://github.com/fog/fog-google/pull/409/files, https://github.com/carrierwaveuploader/carrierwave/pull/2332/files. CarrierWave has been monkey-patched until an official release. 3. Workhorse also needs to remove the Content-Type header in the request (https://gitlab.com/gitlab-org/gitlab-workhorse/blob/ef80978ff89e628c8eeb66556720e30587d3deb6/internal/objectstore/object.go#L66), or we'll get a 403 error when uploading due to signed URLs not matching the headers. Upgrading to Workhorse 6.1.0 for https://gitlab.com/gitlab-org/gitlab-workhorse/merge_requests/297 will make Workhorse use the headers that are used by Rails. Closes #49957
-
- 16 8月, 2018 1 次提交
-
-
由 Jacob Vosmaer 提交于
-
- 30 7月, 2018 1 次提交
-
-
由 Nick Thomas 提交于
-
- 04 7月, 2018 1 次提交
-
-
由 Nick Thomas 提交于
-
- 07 6月, 2018 1 次提交
-
-
由 Nick Thomas 提交于
-
- 01 6月, 2018 1 次提交
-
-
由 Nick Thomas 提交于
-
- 22 5月, 2018 1 次提交
-
-
由 Alessio Caiazza 提交于
-
- 01 5月, 2018 1 次提交
-
-
由 Jacob Vosmaer 提交于
-
- 12 4月, 2018 1 次提交
-
-
由 Nick Thomas 提交于
-
- 07 3月, 2018 1 次提交
-
-
由 Kamil Trzciński 提交于
-