diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-10 00:07:53 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-10 00:07:53 +0300 |
commit | b558e1ad8f1d2d52e0c88ad712cd3d567cf52e10 (patch) | |
tree | 5fc6b81818c0af3aefd85816aa3026b26515615e /config/object_store_settings.rb | |
parent | b031a57ae71b1fc61782b891d2a31852ab87e7f3 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'config/object_store_settings.rb')
-rw-r--r-- | config/object_store_settings.rb | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/config/object_store_settings.rb b/config/object_store_settings.rb index 53fbfb088db..ea954b7061a 100644 --- a/config/object_store_settings.rb +++ b/config/object_store_settings.rb @@ -16,15 +16,26 @@ class ObjectStoreSettings # we don't need to raise an error in that case ALLOWED_INCOMPLETE_TYPES = %w(pages).freeze + # A fallback switch in case anyone gets a trouble with background upload removal + # Epic: https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/734 + LEGACY_BACKGROUND_UPLOADS_ENV = "GITLAB_LEGACY_BACKGROUND_UPLOADS" + attr_accessor :settings # Legacy parser - def self.legacy_parse(object_store) + def self.legacy_parse(object_store, object_store_type) object_store ||= Settingslogic.new({}) object_store['enabled'] = false if object_store['enabled'].nil? object_store['remote_directory'] ||= nil - object_store['direct_upload'] = false if object_store['direct_upload'].nil? - object_store['background_upload'] = true if object_store['background_upload'].nil? + + if support_legacy_background_upload?(object_store_type) + object_store['direct_upload'] = false + object_store['background_upload'] = true + else + object_store['direct_upload'] = true + object_store['background_upload'] = false + end + object_store['proxy_download'] = false if object_store['proxy_download'].nil? object_store['storage_options'] ||= {} @@ -33,6 +44,10 @@ class ObjectStoreSettings object_store end + def self.support_legacy_background_upload?(object_store_type) + ENV[LEGACY_BACKGROUND_UPLOADS_ENV].to_s.split(',').map(&:strip).include?(object_store_type) + end + def initialize(settings) @settings = settings end |