db_passwords = data_bag_item("db", "passwords")
+package "postgresql-client"
+
package "ruby"
+package "rubygems"
package "ruby-libxml"
+package "libpq-dev"
gem_package "pg"
remote_directory "/usr/local/bin" 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"
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