resource_name :rails_port
provides :rails_port
+unified_mode true
+
default_action :create
property :site, String, :name_property => true
property :storage_configuration, Hash, :default => {}
property :storage_service, String, :default => "local"
property :storage_url, String
+property :tile_cdn_url, String
action :create do
package %W[
package %w[
g++
+ make
pkg-config
libpq-dev
libsasl2-dev
depth 1
user new_resource.user
group new_resource.group
- notifies :restart, "passenger_application[#{rails_directory}]"
end
declare_resource :directory, "#{rails_directory}/tmp" do
:name => new_resource.database_name,
:username => new_resource.database_username,
:password => new_resource.database_password
- notifies :restart, "passenger_application[#{rails_directory}]"
end
application_yml = edit_file "#{rails_directory}/config/example.application.yml" do |line|
group new_resource.group
mode "664"
content application_yml
- notifies :restart, "passenger_application[#{rails_directory}]"
only_if { ::File.exist?("#{rails_directory}/config/example.application.yml") }
end
"trace_use_job_queue",
"diary_feed_delay",
"storage_service",
- "storage_url"
- ).reject { |_k, v| v.nil? }.merge(
+ "storage_url",
+ "tile_cdn_url"
+ ).compact.merge(
"server_protocol" => "https",
"server_url" => new_resource.site,
"support_email" => "support@openstreetmap.org",
environment "NOKOGIRI_USE_SYSTEM_LIBRARIES" => "yes"
subscribes :run, "gem_package[bundler#{new_resource.ruby}]"
subscribes :run, "git[#{rails_directory}]"
- notifies :restart, "passenger_application[#{rails_directory}]"
end
execute "#{rails_directory}/db/migrate" do
user new_resource.user
group new_resource.group
subscribes :run, "git[#{rails_directory}]"
- notifies :restart, "passenger_application[#{rails_directory}]"
only_if { new_resource.run_migrations }
end
subscribes :run, "file[#{rails_directory}/config/piwik.yml]"
subscribes :run, "execute[#{rails_directory}/package.json]"
subscribes :run, "execute[#{rails_directory}/app/assets/javascripts/i18n]"
- notifies :restart, "passenger_application[#{rails_directory}]"
only_if { new_resource.build_assets }
end
file "#{rails_directory}/public/export/embed.html" do
action :nothing
subscribes :delete, "git[#{rails_directory}]"
+ subscribes :delete, "file[#{rails_directory}/config/settings.local.yml]"
end
passenger_application rails_directory do
action :nothing
+ subscribes :restart, "git[#{rails_directory}]"
+ subscribes :restart, "file[#{rails_directory}/config/database.yml]"
+ subscribes :restart, "file[create:#{rails_directory}/config/application.yml]"
+ subscribes :restart, "file[#{rails_directory}/config/settings.local.yml]"
+ subscribes :restart, "file[#{rails_directory}/config/storage.yml]"
+ subscribes :restart, "file[#{rails_directory}/config/piwik.yml]"
+ subscribes :restart, "execute[#{rails_directory}/Gemfile]"
+ subscribes :restart, "execute[#{rails_directory}/db/migrate]"
+ subscribes :restart, "execute[#{rails_directory}/package.json]"
+ subscribes :restart, "execute[#{rails_directory}/app/assets/javascripts/i18n]"
+ subscribes :restart, "execute[#{rails_directory}/public/assets]"
only_if { ::File.exist?("/usr/bin/passenger-config") }
end