X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/6a4d93a5eaddb8eb766185621de1265af44f2559..2a9e93bd39ad46954630a0d1e43566e7ccb2aa81:/cookbooks/donate/recipes/default.rb diff --git a/cookbooks/donate/recipes/default.rb b/cookbooks/donate/recipes/default.rb index 3fbeb19d5..e03973340 100644 --- a/cookbooks/donate/recipes/default.rb +++ b/cookbooks/donate/recipes/default.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: donate +# Cookbook:: donate # Recipe:: default # -# Copyright 2016, OpenStreetMap Foundation +# Copyright:: 2016, 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 +# 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, @@ -17,31 +17,22 @@ # limitations under the License. # -node.default[:ssl][:certificates] = node[:ssl][:certificates] | ["openstreetmap"] - -include_recipe "apache::ssl" -include_recipe "mysql" +include_recipe "accounts" +include_recipe "apache" include_recipe "git" +include_recipe "mysql" +include_recipe "php::fpm" -if node[:lsb][:release].to_f >= 16.04 - package "php" - package "php-cli" - package "php-curl" - package "php-mysql" - package "php-gd" - - apache_module "php7.0" -else - package "php5" - package "php5-cli" - package "php5-curl" - package "php5-mysql" - package "php5-gd" - - apache_module "php5" -end +package %w[ + php-cli + php-curl + php-mysql + php-gd +] apache_module "headers" +apache_module "proxy" +apache_module "proxy_fcgi" passwords = data_bag_item("donate", "passwords") @@ -58,12 +49,13 @@ end directory "/srv/donate.openstreetmap.org" do owner "donate" group "donate" - mode 0o755 + mode "755" end git "/srv/donate.openstreetmap.org" do action :sync - repository "git://github.com/osmfoundation/donation-drive.git" + repository "https://github.com/osmfoundation/donation-drive.git" + depth 1 user "donate" group "donate" end @@ -71,32 +63,58 @@ end directory "/srv/donate.openstreetmap.org/data" do owner "donate" group "donate" - mode 0o755 + mode "755" end template "/srv/donate.openstreetmap.org/scripts/db-connect.inc.php" do source "db-connect.inc.php.erb" owner "root" group "donate" - mode 0o640 + mode "644" + variables :passwords => passwords +end + +ssl_certificate "donate.openstreetmap.org" do + domains ["donate.openstreetmap.org", "donate.openstreetmap.com", + "donate.openstreetmap.net", "donate.osm.org"] + notifies :reload, "service[apache2]" +end + +php_fpm "donate.openstreetmap.org" do + php_admin_values "open_basedir" => "/srv/donate.openstreetmap.org/:/usr/share/php/:/tmp/", + "disable_functions" => "exec,shell_exec,system,passthru,popen,proc_open" + prometheus_port 11101 end apache_site "donate.openstreetmap.org" do template "apache.erb" end -template "/etc/cron.d/osmf-donate" do - source "cron.erb" - owner "root" - group "root" - mode 0o600 - variables :passwords => passwords +systemd_service "osmf-donate" do + description "Update donation list" + exec_start "/usr/bin/php /srv/donate.openstreetmap.org/scripts/update_csv_donate2016.php" + working_directory "/srv/donate.openstreetmap.org/scripts" + user "donate" + sandbox true + memory_deny_write_execute true + restrict_address_families "AF_UNIX" + read_write_paths "/srv/donate.openstreetmap.org/data" +end + +systemd_timer "osmf-donate" do + description "Update donation list" + on_boot_sec "2m" + on_unit_inactive_sec "2m" +end + +service "osmf-donate.timer" do + action [:enable, :start] end template "/etc/cron.daily/osmf-donate-backup" do source "backup.cron.erb" owner "root" group "root" - mode 0o750 + mode "750" variables :passwords => passwords end