X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/2817d4493e7562ef8b7ffe4954174ca37b1e4af6..4bb5cdcc5d392db7cbe59e71d2b448f1f146a434:/cookbooks/tile/recipes/default.rb diff --git a/cookbooks/tile/recipes/default.rb b/cookbooks/tile/recipes/default.rb index 3ad897448..03c850dc9 100644 --- a/cookbooks/tile/recipes/default.rb +++ b/cookbooks/tile/recipes/default.rb @@ -169,7 +169,7 @@ node[:tile][:data].each do |name,data| execute file do action :nothing - command "unzip -qq #{file} -d #{directory}" + command "unzip -qq -o #{file} -d #{directory}" user "tile" group "tile" end @@ -194,16 +194,23 @@ node[:tile][:data].each do |name,data| action :nothing command "find #{directory} -type f -iname '*.shp' -print0 | xargs -0 --no-run-if-empty shapeindex --shape_files" user "tile" - user "tile" + group "tile" subscribes :run, resources(:execute => file), :immediately end remote_file file do - action :create_if_missing + if data[:refresh] + action :create + use_conditional_get true + else + action :create_if_missing + end + source url owner "tile" group "tile" mode 0644 + backup false notifies :run, resources(:execute => file), :immediately notifies :restart, resources(:service => "renderd") end @@ -250,8 +257,14 @@ node[:tile][:styles].each do |name,details| end details[:tile_directories].each do |directory| + directory "#{directory[:name]}" do + owner "www-data" + group "www-data" + mode 0755 + end + directory[:min_zoom].upto(directory[:max_zoom]) do |zoom| - directory "#{directory[:name]}/#{zoom}" do + directory "#{directory[:name]}/#{zoom}" do owner "www-data" group "www-data" mode 0755 @@ -361,11 +374,19 @@ postgresql_munin "gis" do database "gis" end -#file node[:tile][:node_file] do -# owner "tile" -# group "www-data" -# mode 0640 -#end +tile_uid = node[:etc][:passwd]["tile"][:uid] +www_data_gid = node[:etc][:group]["www-data"][:gid] + +ruby_block node[:tile][:node_file] do + block do + File.chown(tile_uid, www_data_gid, node[:tile][:node_file]) + File.chmod(0640, node[:tile][:node_file]) + end + not_if do + stat = File.stat(node[:tile][:node_file]) + stat.uid == tile_uid && stat.gid == www_data_gid && stat.mode == 0640 + end +end directory "/var/log/tile" do owner "tile" @@ -473,6 +494,7 @@ template "/etc/rsyslog.d/20-renderd.conf" do notifies :restart, "service[rsyslog]" end +package "liblockfile-simple-perl" package "libfilesys-df-perl" template "/usr/local/bin/cleanup-tiles" do @@ -495,12 +517,13 @@ template "/etc/cron.d/cleanup-tiles" do end munin_plugin "mod_tile_fresh" +munin_plugin "mod_tile_latency" munin_plugin "mod_tile_response" munin_plugin "mod_tile_zoom" -munin_plugin "mod_tile_latency" munin_plugin "renderd_processed" munin_plugin "renderd_queue" +munin_plugin "renderd_queue_time" munin_plugin "renderd_zoom" munin_plugin "renderd_zoom_time"