X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/19aeb7bfffb852ab8be005c004b1ef8e555a5b77..5188a8f5887ab9ec2f08a7a3acf53aad22f38c77:/cookbooks/tilelog/recipes/default.rb?ds=sidebyside diff --git a/cookbooks/tilelog/recipes/default.rb b/cookbooks/tilelog/recipes/default.rb index 0916f6b60..937022515 100644 --- a/cookbooks/tilelog/recipes/default.rb +++ b/cookbooks/tilelog/recipes/default.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: tilelog +# 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. # 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,80 +17,57 @@ # limitations under the License. # -include_recipe "tools" +include_recipe "accounts" +include_recipe "planet::aws" +include_recipe "python" -package %w[ - gcc - make - autoconf - automake - libboost-filesystem-dev - libboost-system-dev - libboost-program-options-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]", :immediate -end - -execute "tilelog-autogen" do - action :nothing - command "autoreconf -i" - cwd tilelog_source_directory - user "root" - group "root" - notifies :run, "execute[tilelog-configure]", :immediate +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]", :immediate +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 -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 +systemd_timer "tilelog" do + description "Tile log analysis" + on_calendar "*-*-* 01:07:00" +end + +service "tilelog.timer" do + action [:enable, :start] end