]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/owl/recipes/default.rb
Add a load more cookbooks to the public repository
[chef.git] / cookbooks / owl / recipes / default.rb
diff --git a/cookbooks/owl/recipes/default.rb b/cookbooks/owl/recipes/default.rb
new file mode 100644 (file)
index 0000000..819abdd
--- /dev/null
@@ -0,0 +1,134 @@
+#
+# Cookbook Name:: owl
+# Recipe:: default
+#
+# Copyright 2012, OpenStreetMap Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+include_recipe "apache"
+include_recipe "postgresql"
+
+package "python"
+package "python-psycopg2"
+
+package "libxslt-dev"
+
+package "ruby#{node[:owl][:ruby]}"
+package "ruby#{node[:owl][:ruby]}-dev"
+package "rubygems#{node[:owl][:ruby]}"
+package "irb#{node[:owl][:ruby]}"
+
+gem_package "bundler#{node[:owl][:ruby]}" do
+  package_name "bundler"
+  gem_binary "gem#{node[:owl][:ruby]}"
+  options "--format-executable"
+end
+
+apache_module "deflate"
+
+apache_module "passenger" do
+  conf "passenger.conf.erb"
+end
+
+munin_plugin "passenger_memory"
+munin_plugin "passenger_processes"
+munin_plugin "passenger_queues"
+munin_plugin "passenger_requests"
+
+postgresql_user "tomh" do
+  cluster "9.1/main"
+  superuser true
+end
+
+postgresql_user "matt" do
+  cluster "9.1/main"
+  superuser true
+end
+
+postgresql_user "ppawel" do
+  cluster "9.1/main"
+  superuser true
+end
+
+postgresql_user "owl" do
+  cluster "9.1/main"
+end
+
+postgresql_database "owl" do
+  cluster "9.1/main"
+  owner "owl"
+end
+
+postgresql_munin "owl" do
+  cluster "9.1/main"
+  database "owl"
+end
+
+# grant select on changeset_tiles to owl;
+# grant select on geometry_columns to owl;
+# grant select on changesets to owl;
+# grant select on users to owl;
+
+directory "/srv/owl.openstreetmap.org" do
+  owner "owl"
+  group "owl"
+  mode 02775
+end
+
+file "/srv/owl.openstreetmap.org/openstreetmap-watch-list/rails/tmp/restart.txt" do
+  action :nothing
+end
+
+execute "/srv/owl.openstreetmap.org/openstreetmap-watch-list/rails/Gemfile" do
+  action :nothing
+  command "bundle#{node[:owl][:ruby]} install"
+  cwd "/srv/owl.openstreetmap.org/openstreetmap-watch-list/rails"
+  user "root"
+  group "root"
+  notifies :touch, resources(:file => "/srv/owl.openstreetmap.org/openstreetmap-watch-list/rails/tmp/restart.txt")
+end
+
+git "/srv/owl.openstreetmap.org/openstreetmap-watch-list" do
+  action :sync
+  repository "git://github.com/ppawel/openstreetmap-watch-list.git"
+  revision "owl.osm.org"
+  user "owl"
+  group "owl"
+  notifies :run, resources(:execute => "/srv/owl.openstreetmap.org/openstreetmap-watch-list/rails/Gemfile")
+end
+
+directory "srv/owl.openstreetmap.org/openstreetmap-watch-list/rails/tmp" do
+  owner "owl"
+  group "owl"
+end
+
+file "srv/owl.openstreetmap.org/openstreetmap-watch-list/rails/config/environment.rb" do
+  owner "owl"
+  group "owl"
+end
+
+template "/srv/owl.openstreetmap.org/openstreetmap-watch-list/rails/config/database.yml" do
+  source "database.yml.erb"
+  owner "owl"
+  group "owl"
+  mode 0664
+  notifies :run, resources(:execute => "/srv/owl.openstreetmap.org/openstreetmap-watch-list/rails/Gemfile")
+  only_if { node[:postgresql][:clusters]["9.1/main"] }
+end
+
+apache_site "owl.openstreetmap.org" do
+  template "apache.erb"
+  variables :aliases => [ "owl.osm.org" ]
+end