X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/9bb39d8d9dfa583ef2d9218ed8b1f72d5deaa7fb..35f220a555dee107786152d3daff4d66d1655e56:/cookbooks/planet/recipes/replication.rb diff --git a/cookbooks/planet/recipes/replication.rb b/cookbooks/planet/recipes/replication.rb index ac0009aa8..adb9bb7e1 100644 --- a/cookbooks/planet/recipes/replication.rb +++ b/cookbooks/planet/recipes/replication.rb @@ -21,10 +21,13 @@ include_recipe "osmosis" db_passwords = data_bag_item("db", "passwords") +package "postgresql-client" + package "ruby" -package "rubygems" +package "ruby-dev" package "ruby-libxml" +package "libpq-dev" gem_package "pg" remote_directory "/usr/local/bin" do @@ -37,6 +40,13 @@ remote_directory "/usr/local/bin" do files_mode 0755 end +template "/usr/local/bin/users-agreed" do + source "users-agreed.erb" + owner "root" + group "root" + mode 0755 +end + remote_directory "/store/planet/replication" do source "replication-cgi" owner "root" @@ -93,6 +103,14 @@ template "/etc/replication/changesets.conf" do variables :password => db_passwords["planetdiff"] end +template "/etc/replication/users-agreed.conf" do + source "users-agreed.conf.erb" + user "planet" + group "planet" + mode 0600 + variables :password => db_passwords["planetdiff"] +end + directory "/var/lib/replication" do owner "planet" group "planet" @@ -135,11 +153,17 @@ link "/var/lib/replication/day/data" do to "/store/planet/replication/day" end -template "/etc/cron.d/replication" do - source "replication.cron.erb" - owner "root" - group "root" - mode 0644 +if node[:planet][:replication] == "enabled" + template "/etc/cron.d/replication" do + source "replication.cron.erb" + owner "root" + group "root" + mode 0644 + end +else + file "/etc/cron.d/replication" do + action :delete + end end directory "/var/lib/replication/streaming" do @@ -154,7 +178,7 @@ directory "/var/log/replication" do mode 0755 end -[ "streaming-replicator", "streaming-server" ].each do |name| +["streaming-replicator", "streaming-server"].each do |name| template "/etc/init.d/#{name}" do source "streaming.init.erb" owner "root" @@ -163,9 +187,16 @@ end variables :service => name end - service name do - action [ :enable, :start ] - supports :restart => true, :status => true - subscribes :restart, "template[/etc/init.d/#{name}]" + if node[:planet][:replication] == "enabled" + service name do + action [:enable, :start] + supports :restart => true, :status => true + subscribes :restart, "template[/etc/init.d/#{name}]" + end + else + service name do + action [:disable, :stop] + supports :restart => true, :status => true + end end end