# 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
+# https://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,
require "yaml"
require "securerandom"
-include_recipe "apache::ssl"
+include_recipe "apache"
include_recipe "passenger"
include_recipe "git"
+include_recipe "memcached"
include_recipe "mysql"
include_recipe "nodejs"
include_recipe "postgresql"
-
-package "php"
-package "php-cgi"
-package "php-cli"
-package "php-curl"
-package "php-db"
-package "php-fpm"
-package "php-imagick"
-package "php-mcrypt"
-package "php-mysql"
-package "php-pear"
-package "php-pgsql"
-package "php-sqlite3"
-
-package "pngcrush"
-package "pngquant"
-
-package "python"
-package "python-argparse"
-package "python-beautifulsoup"
-package "python-cheetah"
-package "python-dateutil"
-package "python-magic"
-package "python-psycopg2"
-package "python-gdal"
+include_recipe "python"
+
+package %w[
+ php
+ php-cgi
+ php-cli
+ php-curl
+ php-db
+ php-fpm
+ php-imagick
+ php-mysql
+ php-pear
+ php-pgsql
+ php-sqlite3
+]
+
+package %w[
+ pngcrush
+ pngquant
+]
+
+package %w[
+ python
+ python-argparse
+ python-beautifulsoup
+ python-cheetah
+ python-dateutil
+ python-magic
+ python-psycopg2
+ python-gdal
+]
nodejs_package "svgo"
-easy_install_package "geojson"
+python_package "geojson"
apache_module "env"
apache_module "expires"
package "apache2-suexec-pristine"
-gem_package "sqlite3"
-
-gem_package "rails" do
- version "3.0.9"
-end
-
-service "php7.0-fpm" do
+service "php7.2-fpm" do
action [:enable, :start]
end
-template "/etc/php/7.0/fpm/pool.d/default.conf" do
+template "/etc/php/7.2/fpm/pool.d/default.conf" do
source "fpm-default.conf.erb"
owner "root"
group "root"
mode 0o644
- notifies :reload, "service[php7.0-fpm]"
+ notifies :reload, "service[php7.2-fpm]"
end
-file "/etc/php/7.0/fpm/pool.d/www.conf" do
+file "/etc/php/7.2/fpm/pool.d/www.conf" do
action :delete
- notifies :reload, "service[php7.0-fpm]"
+ notifies :reload, "service[php7.2-fpm]"
+end
+
+directory "/srv/dev.openstreetmap.org" do
+ owner "root"
+ group "root"
+ mode 0o755
+end
+
+template "/srv/dev.openstreetmap.org/index.html" do
+ source "dev.html.erb"
+ owner "root"
+ group "root"
+ mode 0o644
+end
+
+ssl_certificate "dev.openstreetmap.org" do
+ domains "dev.openstreetmap.org"
+ notifies :reload, "service[apache2]"
+end
+
+apache_site "dev.openstreetmap.org" do
+ template "apache.dev.erb"
end
package "phppgadmin"
action :delete
end
+ssl_certificate "phppgadmin.dev.openstreetmap.org" do
+ domains "phppgadmin.dev.openstreetmap.org"
+ notifies :reload, "service[apache2]"
+end
+
apache_site "phppgadmin.dev.openstreetmap.org" do
template "apache.phppgadmin.erb"
end
name = account["id"]
details = node[:accounts][:users][name] || {}
- next unless %w(user administrator).include?(details[:status])
+ next unless %w[user administrator].include?(details[:status])
user_home = details[:home] || account["home"] || "#{node[:accounts][:home]}/#{name}"
port = 7000 + account["uid"].to_i
- template "/etc/php/7.0/fpm/pool.d/#{name}.conf" do
+ template "/etc/php/7.2/fpm/pool.d/#{name}.conf" do
source "fpm.conf.erb"
owner "root"
group "root"
mode 0o644
variables :user => name, :port => port
- notifies :reload, "service[php7.0-fpm]"
+ notifies :reload, "service[php7.2-fpm]"
+ end
+
+ ssl_certificate "#{name}.dev.openstreetmap.org" do
+ domains ["#{name}.dev.openstreetmap.org", "#{name}.dev.osm.org"]
+ notifies :reload, "service[apache2]"
end
apache_site "#{name}.dev.openstreetmap.org" do
database_port node[:postgresql][:clusters][:"9.5/main"][:port]
database_name database_name
database_username "apis"
+ memcache_servers ["127.0.0.1"]
+ csp_enforce true
run_migrations true
end
group "apis"
mode 0o644
variables :site => site_name
- notifies :run, "execute[#{rails_directory}]"
+ notifies :restart, "rails_port[#{site_name}]"
end
ssl_certificate site_name do
apache_site site_name do
template "apache.rails.erb"
- variables :name => site_name, :aliases => site_aliases, :secret_key_base => secret_key_base
+ variables :application_name => name, :aliases => site_aliases, :secret_key_base => secret_key_base
end
else
apache_site site_name do
end
end
end
+
+directory "/srv/ooc.openstreetmap.org" do
+ owner "root"
+ group "root"
+ mode 0o755
+end
+
+remote_directory "/srv/ooc.openstreetmap.org/html" do
+ source "ooc"
+ owner "root"
+ group "root"
+ mode 0o755
+ files_owner "root"
+ files_group "root"
+ files_mode 0o644
+end
+
+ssl_certificate "ooc.openstreetmap.org" do
+ domains ["ooc.openstreetmap.org",
+ "a.ooc.openstreetmap.org",
+ "b.ooc.openstreetmap.org",
+ "c.ooc.openstreetmap.org"]
+ notifies :reload, "service[apache2]"
+end
+
+apache_site "ooc.openstreetmap.org" do
+ template "apache.ooc.erb"
+end