X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/d6577fc4c50eae4f698f176a8bc1b53996241627..a2d1efc9570514573e4fa2b09a63bd8fd0a94b73:/cookbooks/planet/recipes/replication.rb diff --git a/cookbooks/planet/recipes/replication.rb b/cookbooks/planet/recipes/replication.rb index f055280f1..42a6dbea0 100644 --- a/cookbooks/planet/recipes/replication.rb +++ b/cookbooks/planet/recipes/replication.rb @@ -21,6 +21,59 @@ include_recipe "osmosis" db_passwords = data_bag_item("db", "passwords") +package "postgresql-client" + +package "ruby" +package "ruby-dev" +package "ruby-libxml" + +package "libpq-dev" +gem_package "pg" + +remote_directory "/usr/local/bin" do + source "replication-bin" + owner "root" + group "root" + mode 0755 + files_owner "root" + files_group "root" + files_mode 0755 +end + +remote_directory "/store/planet/replication" do + source "replication-cgi" + owner "root" + group "root" + mode 0755 + files_owner "root" + files_group "root" + files_mode 0755 +end + +directory "/store/planet/replication/changesets" do + owner "planet" + group "planet" + mode 0755 +end + +directory "/store/planet/replication/day" do + owner "planet" + group "planet" + mode 0755 +end + +directory "/store/planet/replication/hour" do + owner "planet" + group "planet" + mode 0755 +end + +directory "/store/planet/replication/minute" do + owner "planet" + group "planet" + mode 0755 +end + directory "/etc/replication" do owner "root" group "root" @@ -35,6 +88,22 @@ template "/etc/replication/auth.conf" do variables :password => db_passwords["planetdiff"] end +template "/etc/replication/changesets.conf" do + source "changesets.conf.erb" + user "root" + group "planet" + mode 0640 + 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" @@ -65,7 +134,7 @@ directory "/var/lib/replication/day" do mode 0755 end -template "/var/lib/replication/hour/configuration.txt" do +template "/var/lib/replication/day/configuration.txt" do source "replication.config.erb" owner "planet" group "planet" @@ -83,3 +152,31 @@ template "/etc/cron.d/replication" do group "root" mode 0644 end + +directory "/var/lib/replication/streaming" do + owner "planet" + group "planet" + mode 0755 +end + +directory "/var/log/replication" do + owner "planet" + group "planet" + mode 0755 +end + +[ "streaming-replicator", "streaming-server" ].each do |name| + template "/etc/init.d/#{name}" do + source "streaming.init.erb" + owner "root" + group "root" + mode 0755 + variables :service => name + end + + service name do + action [ :enable, :start ] + supports :restart => true, :status => true + subscribes :restart, "template[/etc/init.d/#{name}]" + end +end