summaryrefslogtreecommitdiff
path: root/config/object_store_settings.rb
diff options
context:
space:
mode:
Diffstat (limited to 'config/object_store_settings.rb')
-rw-r--r--config/object_store_settings.rb20
1 files changed, 18 insertions, 2 deletions
diff --git a/config/object_store_settings.rb b/config/object_store_settings.rb
index 0d346135463..767fcd7579c 100644
--- a/config/object_store_settings.rb
+++ b/config/object_store_settings.rb
@@ -1,8 +1,12 @@
# Set default values for object_store settings
class ObjectStoreSettings
- SUPPORTED_TYPES = %w(artifacts external_diffs lfs uploads packages dependency_proxy terraform_state).freeze
+ SUPPORTED_TYPES = %w(artifacts external_diffs lfs uploads packages dependency_proxy terraform_state pages).freeze
ALLOWED_OBJECT_STORE_OVERRIDES = %w(bucket enabled proxy_download).freeze
+ # pages may be enabled but use legacy disk storage
+ # we don't need to raise an error in that case
+ ALLOWED_INCOMPLETE_TYPES = %w(pages).freeze
+
attr_accessor :settings
# Legacy parser
@@ -115,7 +119,9 @@ class ObjectStoreSettings
next unless section
- raise "Object storage for #{store_type} must have a bucket specified" if section['enabled'] && target_config['bucket'].blank?
+ if section['enabled'] && target_config['bucket'].blank?
+ missing_bucket_for(store_type)
+ end
# Map bucket (external name) -> remote_directory (internal representation)
target_config['remote_directory'] = target_config.delete('bucket')
@@ -152,4 +158,14 @@ class ObjectStoreSettings
true
end
+
+ def missing_bucket_for(store_type)
+ message = "Object storage for #{store_type} must have a bucket specified"
+
+ if ALLOWED_INCOMPLETE_TYPES.include?(store_type)
+ warn "[WARNING] #{message}"
+ else
+ raise message
+ end
+ end
end