Add Azure Blob Storage support
This uses our custom Azure gem (https://gitlab.com/gitlab-org/gitlab-fog-azure-rm) to integrate direct upload access with GitLab. Because the Azure Put Blob API does not work with chunked encoding, uploads cannot be streamed directly via a pre-signed URL without saving to disk first. To make this work without that, we need to add an Azure client directly in Workhorse that uses the Put Block and Put Block List API. The Workhorse client is implemented in https://gitlab.com/gitlab-org/gitlab-workhorse/-/merge_requests/555. We use the Go Cloud Development Kit to generate a URL (e.g. `azblob://container`) that can be extended for other object storage providers. Part of https://gitlab.com/gitlab-org/gitlab/-/issues/25877
显示
- Gemfile 1 个添加, 0 个删除Gemfile
- Gemfile.lock 29 个添加, 0 个删除Gemfile.lock
- changelogs/unreleased/sh-add-azure-blob-support.yml 5 个添加, 0 个删除changelogs/unreleased/sh-add-azure-blob-support.yml
- config/initializers/carrierwave_patch.rb 31 个添加, 0 个删除config/initializers/carrierwave_patch.rb
- config/initializers/direct_upload_support.rb 15 个添加, 5 个删除config/initializers/direct_upload_support.rb
- lib/object_storage/config.rb 4 个添加, 0 个删除lib/object_storage/config.rb
- lib/object_storage/direct_upload.rb 24 个添加, 1 个删除lib/object_storage/direct_upload.rb
- spec/initializers/carrierwave_patch_spec.rb 32 个添加, 0 个删除spec/initializers/carrierwave_patch_spec.rb
- spec/initializers/direct_upload_support_spec.rb 10 个添加, 2 个删除spec/initializers/direct_upload_support_spec.rb
- spec/lib/object_storage/direct_upload_spec.rb 42 个添加, 1 个删除spec/lib/object_storage/direct_upload_spec.rb
加载中
想要评论请 注册 或 登录