From e49b8c0b0e58e8cd50d1675473ff4bc737b068ed Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sun, 7 Dec 2014 23:01:33 +0100 Subject: Add refinery setup tasks for capistrano. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Copied from Åsatru.no setup. --- config/initializers/refinery/core.rb.erb | 54 +++++++++++++++++++++++++++ lib/capistrano/tasks/create_secret_token.rake | 17 +++++++++ lib/capistrano/tasks/refinery_setup.rake | 22 +++++++++++ 3 files changed, 93 insertions(+) create mode 100644 config/initializers/refinery/core.rb.erb create mode 100644 lib/capistrano/tasks/create_secret_token.rake create mode 100644 lib/capistrano/tasks/refinery_setup.rake diff --git a/config/initializers/refinery/core.rb.erb b/config/initializers/refinery/core.rb.erb new file mode 100644 index 0000000..dcec53c --- /dev/null +++ b/config/initializers/refinery/core.rb.erb @@ -0,0 +1,54 @@ +# encoding: utf-8 +# :mode=ruby: + +Refinery::Core.configure do |config| + # When true will rescue all not found errors and display a friendly error page + config.rescue_not_found = Rails.env.production? + + # When true this will force SSL redirection in all Refinery backend controllers. + # config.force_ssl = false + + # When true will use Amazon's Simple Storage Service instead of + # the default file system for storing resources and images + config.s3_backend = !(ENV['S3_KEY'].nil? || ENV['S3_SECRET'].nil?) + + # Whenever Refinery caches anything and can set a cache key, it will add + # a prefix to the cache key containing the string you set here. + config.base_cache_key = "<%= ActiveSupport::Inflector::parameterize(site_name, '_') %>" + + # Site name + config.site_name = "<%= site_name %>" + + # This activates Google Analytics tracking within your website. If this + # config is left blank or set to UA-xxxxxx-x then no remote calls to + # Google Analytics are made. + # config.google_analytics_page_code = "UA-xxxxxx-x" + + # Enable/disable authenticity token on frontend + # config.authenticity_token_on_frontend = true + + # Hide/show child pages in menu + config.menu_hide_children = true + + # CSS class selectors for menu helper + config.menu_css = {:selected=>"active", :first=>"first", :last=>"last"} + + # Should set this if concerned about DOS attacks. See + # http://markevans.github.com/dragonfly/file.Configuration.html#Configuration + config.dragonfly_secret = "<%= SecureRandom.hex(24) %>" + + # Show/hide IE6 upgrade message in the backend + # config.ie6_upgrade_message_enabled = true + + # Show/hide browser update message in the backend + # config.show_internet_explorer_upgrade_message = false + + # Add extra tags to the wymeditor whitelist e.g. = {'tag' => {'attributes' => {'1' => 'href'}}} or just {'tag' => {}} + # config.wymeditor_whitelist_tags = {} + + # Register extra javascript for backend + # config.register_javascript "prototype-rails" + + # Register extra stylesheet for backend (optional options) + # config.register_stylesheet "custom", :media => 'screen' +end diff --git a/lib/capistrano/tasks/create_secret_token.rake b/lib/capistrano/tasks/create_secret_token.rake new file mode 100644 index 0000000..5b048b9 --- /dev/null +++ b/lib/capistrano/tasks/create_secret_token.rake @@ -0,0 +1,17 @@ +# :mode=ruby: +require 'securerandom' + +namespace :deploy do + desc 'Generate secret token if not already set' + task :generate_secret_token do + target_file = File.join(shared_path, 'config', 'initializers', 'secret_token.rb') + on roles(:app) do + unless test "[ -f #{target_file} ]" + result = %Q{ BetaWebApp::Application.config.secret_token = "#{SecureRandom.hex(64)}" } + upload!(StringIO.new(result), target_file) + end + end + end + + before 'deploy', 'deploy:generate_secret_token' +end diff --git a/lib/capistrano/tasks/refinery_setup.rake b/lib/capistrano/tasks/refinery_setup.rake new file mode 100644 index 0000000..d5d21bc --- /dev/null +++ b/lib/capistrano/tasks/refinery_setup.rake @@ -0,0 +1,22 @@ +# :mode=ruby: +require 'securerandom' +require 'active_support/inflector' + +namespace :deploy do + namespace :refinery do + desc 'Initialize refinery config for new deployments.' + task :setup do + output_file = File.join(shared_path, "config", "initializers", "refinery", "core.rb") + on roles(:app) do + unless test "[ -f #{output_file} ]" + template = IO.read(File.join("config", "initializers", "refinery", "core.rb.erb")) + core = ERB.new(template) + site_name = fetch(:site_name, "Beta") + upload!(StringIO.new(core.result(binding)), output_file) + end + end + end + end + + before 'deploy', 'deploy:refinery:setup' +end -- cgit v1.2.3