X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/d2080b805cf3f4af751ad228a4d4eb31c6982d50..1c848471a16f9d1ee1fc8a327af110447ea1ef4c:/cookbooks/owl/recipes/default.rb diff --git a/cookbooks/owl/recipes/default.rb b/cookbooks/owl/recipes/default.rb new file mode 100644 index 000000000..819abdd78 --- /dev/null +++ b/cookbooks/owl/recipes/default.rb @@ -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