X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/5778549669fd0cfa7ebc63c44c84afedb5ce6e17..50aea11082eaa90bd37593b9c987d38a082f4e1b:/cookbooks/tilelog/recipes/default.rb diff --git a/cookbooks/tilelog/recipes/default.rb b/cookbooks/tilelog/recipes/default.rb index 56d7870f3..937022515 100644 --- a/cookbooks/tilelog/recipes/default.rb +++ b/cookbooks/tilelog/recipes/default.rb @@ -2,7 +2,7 @@ # Cookbook:: tilelog # Recipe:: default # -# Copyright:: 2014, OpenStreetMap Foundation +# Copyright:: 2014-2022, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,83 +17,57 @@ # limitations under the License. # -include_recipe "git" -include_recipe "tools" +include_recipe "accounts" +include_recipe "planet::aws" +include_recipe "python" -package %w[ - gcc - g++ - make - autoconf - automake - libboost-filesystem-dev - libboost-program-options-dev - libboost-system-dev -] +passwords = data_bag_item("tilelog", "passwords") -tilelog_source_directory = node[:tilelog][:source_directory] -tilelog_input_directory = node[:tilelog][:input_directory] +tilelog_directory = "/opt/tilelog" tilelog_output_directory = node[:tilelog][:output_directory] -# resources for building the tile analysis binary -git tilelog_source_directory do - action :sync - repository "https://github.com/zerebubuth/openstreetmap-tile-analyze.git" - revision "live" - user "root" - group "root" - notifies :run, "execute[tilelog-autogen]", :immediately +python_virtualenv tilelog_directory do + interpreter "/usr/bin/python3" end -execute "tilelog-autogen" do - action :nothing - command "autoreconf -i" - cwd tilelog_source_directory - user "root" - group "root" - notifies :run, "execute[tilelog-configure]", :immediately +python_package "tilelog" do + python_virtualenv tilelog_directory + python_version "3" + version "1.7.0" end -execute "tilelog-configure" do - action :nothing - command "./configure --with-boost-libdir=/usr/lib/x86_64-linux-gnu" - cwd tilelog_source_directory - user "root" - group "root" - notifies :run, "execute[tilelog-build]", :immediately -end - -execute "tilelog-build" do - action :nothing - command "make" - cwd tilelog_source_directory - user "root" - group "root" +directory tilelog_output_directory do + user "planet" + group "planet" + mode "755" + recursive true end -# resources for running the tile analysis template "/usr/local/bin/tilelog" do source "tilelog.erb" owner "root" group "root" - mode 0o755 - variables :analyze_bin => "#{tilelog_source_directory}/openstreetmap-tile-analyze", - :input_dir => tilelog_input_directory, - :output_dir => tilelog_output_directory + mode "755" + variables :output_dir => tilelog_output_directory, + :aws_key => passwords["aws_key"] end -template "/etc/cron.d/tilelog" do - source "tilelog.cron.erb" - owner "root" - group "root" - mode 0o644 +systemd_service "tilelog" do + description "Tile log analysis" + user "planet" + exec_start "/usr/local/bin/tilelog" + nice 10 + sandbox :enable_network => true + protect_home "tmpfs" + bind_paths "/home/planet" + read_write_paths tilelog_output_directory end -# resources related to the output of the analysis and where it -# can be publicly downloaded. -directory tilelog_output_directory do - user "www-data" - group "www-data" - mode 0o755 - recursive true +systemd_timer "tilelog" do + description "Tile log analysis" + on_calendar "*-*-* 01:07:00" +end + +service "tilelog.timer" do + action [:enable, :start] end