X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/0751a4f9434ce69a40996fbec967501fe43e4f83..9584cda7a747710c42f2d4b2bd876c4014f1ad6f:/cookbooks/tilelog/recipes/default.rb?ds=sidebyside diff --git a/cookbooks/tilelog/recipes/default.rb b/cookbooks/tilelog/recipes/default.rb index 4d3ddb512..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,84 +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 -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_virtualenv tilelog_directory do + interpreter "/usr/bin/python3" 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 +python_package "tilelog" do + python_virtualenv tilelog_directory + python_version "3" + version "1.7.0" 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 -cron_d "tilelog" do - minute "17" - hour "22" - user "www-data" - command "/usr/local/bin/tilelog" - mailto "zerebubuth@gmail.com" +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