From de137e6bb0d69354b4be5d4a8d845f8bd90551ff Mon Sep 17 00:00:00 2001
From: Jamie Hoyle <j@jamiehoyle.com>
Date: Fri, 3 Mar 2023 19:53:37 +0000
Subject: [PATCH] Added support for specifying S3 storage classes in
 environment (#22480)

---
 config/initializers/paperclip.rb | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb
index a2285427c8..9282c941da 100644
--- a/config/initializers/paperclip.rb
+++ b/config/initializers/paperclip.rb
@@ -90,6 +90,12 @@ if ENV['S3_ENABLED'] == 'true'
     )
   end
 
+  if ENV.has_key?('S3_STORAGE_CLASS')
+    Paperclip::Attachment.default_options[:s3_headers].merge!(
+      'X-Amz-Storage-Class' => ENV['S3_STORAGE_CLASS']
+    )
+  end
+
   # Some S3-compatible providers might not actually be compatible with some APIs
   # used by kt-paperclip, see https://github.com/mastodon/mastodon/issues/16822
   if ENV['S3_FORCE_SINGLE_REQUEST'] == 'true'
-- 
GitLab