J'utilise Rails 3.2 avec carrierwave
et sitemap_generator
.sitemap_generator et Carrierwave - Modification de la permission S3, mais seulement temporairement
Le fichier est correctement téléchargé, mais les autorisations ne sont pas publiques sur S3.
- Comment puis-je définir l'autorisation pour ce fichier "sitemap.xml.gz" seulement?
Mon S3 Bucket est normalement ouvert uniquement pour les jetons:
CarrierWave.configure do |config|
config.storage = :fog
config.fog_credentials = {
:provider => 'AWS', # required
:aws_access_key_id => ENV['S3_KEY'],
:aws_secret_access_key => ENV['S3_SECRET']
}
config.fog_directory = ENV['S3_BUCKET_NAME']
# -> THIS is what sitemap_generator likes:
# -> config.permissions = "0666"
# here I set my permissions:
config.fog_public = false
config.fog_attributes = {'Cache-Control' => 'max-age=315576000'}
end
et mon petit bijou de sitemap_generator initalizer est:
# WaveAdapter: carrierwave
SitemapGenerator::Sitemap.adapter = SitemapGenerator::WaveAdapter.new
SitemapGenerator::Sitemap.sitemaps_host = "http://s3.amazonaws.com/#{ENV['S3_BUCKET_NAME']}/"
SitemapGenerator::Sitemap.public_path = 'tmp/'
SitemapGenerator::Sitemap.sitemaps_path = 'sitemaps/'
Merci!