summaryrefslogtreecommitdiff
path: root/app/models/ci/build_trace_chunk.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/ci/build_trace_chunk.rb')
-rw-r--r--app/models/ci/build_trace_chunk.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/models/ci/build_trace_chunk.rb b/app/models/ci/build_trace_chunk.rb
index 6926ccd9438..cf6eb159f52 100644
--- a/app/models/ci/build_trace_chunk.rb
+++ b/app/models/ci/build_trace_chunk.rb
@@ -45,6 +45,10 @@ module Ci
def get_store_class(store)
@stores ||= {}
+
+ # Can't memoize this because the feature flag may alter this
+ return fog_store_class.new if store.to_sym == :fog
+
@stores[store] ||= "Ci::BuildTraceChunks::#{store.capitalize}".constantize.new
end
@@ -74,6 +78,14 @@ module Ci
def metadata_attributes
attribute_names - %w[raw_data]
end
+
+ def fog_store_class
+ if Feature.enabled?(:ci_trace_new_fog_store, default_enabled: true)
+ Ci::BuildTraceChunks::Fog
+ else
+ Ci::BuildTraceChunks::LegacyFog
+ end
+ end
end
def data