Fix user archive takeout when using OpenStack Swift or S3 providers with no ACL support (#24200)
This commit is contained in:
		
					parent
					
						
							
								ddb769f0b8
							
						
					
				
			
			
				commit
				
					
						e084b5b82d
					
				
			
		
					 3 changed files with 7 additions and 2 deletions
				
			
		|  | @ -13,7 +13,11 @@ class BackupsController < ApplicationController | |||
|     when :s3 | ||||
|       redirect_to @backup.dump.expiring_url(10) | ||||
|     when :fog | ||||
|       redirect_to @backup.dump.expiring_url(Time.now.utc + 10) | ||||
|       if Paperclip::Attachment.default_options.dig(:storage, :fog_credentials, :openstack_temp_url_key).present? | ||||
|         redirect_to @backup.dump.expiring_url(Time.now.utc + 10) | ||||
|       else | ||||
|         redirect_to full_asset_url(@backup.dump.url) | ||||
|       end | ||||
|     when :filesystem | ||||
|       redirect_to full_asset_url(@backup.dump.url) | ||||
|     end | ||||
|  |  | |||
|  | @ -18,6 +18,6 @@ | |||
| class Backup < ApplicationRecord | ||||
|   belongs_to :user, inverse_of: :backups | ||||
| 
 | ||||
|   has_attached_file :dump, s3_permissions: 'private' | ||||
|   has_attached_file :dump, s3_permissions: ->(*) { ENV['S3_PERMISSION'] == '' ? nil : 'private' } | ||||
|   validates_attachment_content_type :dump, content_type: /\Aapplication/ | ||||
| end | ||||
|  |  | |||
|  | @ -130,6 +130,7 @@ elsif ENV['SWIFT_ENABLED'] == 'true' | |||
|       openstack_domain_name: ENV.fetch('SWIFT_DOMAIN_NAME') { 'default' }, | ||||
|       openstack_region: ENV['SWIFT_REGION'], | ||||
|       openstack_cache_ttl: ENV.fetch('SWIFT_CACHE_TTL') { 60 }, | ||||
|       openstack_temp_url_key: ENV['SWIFT_TEMP_URL_KEY'], | ||||
|     }, | ||||
|      | ||||
|     fog_file: { 'Cache-Control' => 'public, max-age=315576000, immutable' }, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue