5 # Copyright:: 2014-2022, OpenStreetMap Foundation
 
   7 # Licensed under the Apache License, Version 2.0 (the "License");
 
   8 # you may not use this file except in compliance with the License.
 
   9 # You may obtain a copy of the License at
 
  11 #     https://www.apache.org/licenses/LICENSE-2.0
 
  13 # Unless required by applicable law or agreed to in writing, software
 
  14 # distributed under the License is distributed on an "AS IS" BASIS,
 
  15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  16 # See the License for the specific language governing permissions and
 
  17 # limitations under the License.
 
  20 include_recipe "accounts"
 
  21 include_recipe "planet::aws"
 
  22 include_recipe "python"
 
  24 passwords = data_bag_item("tilelog", "passwords")
 
  26 tilelog_directory = "/opt/tilelog"
 
  27 tilelog_output_directory = node[:tilelog][:output_directory]
 
  29 python_virtualenv tilelog_directory do
 
  30   interpreter "/usr/bin/python3"
 
  33 python_package "tilelog" do
 
  34   python_virtualenv tilelog_directory
 
  39 directory tilelog_output_directory do
 
  46 aws_access_key_id = "AKIASQUXHPE7JFCFMOUP"
 
  47 aws_secret_access_key = passwords["aws_keys"][aws_access_key_id]
 
  49 template "/usr/local/bin/tilelog" do
 
  54   variables :output_dir => tilelog_output_directory,
 
  55             :aws_access_key_id => aws_access_key_id,
 
  56             :aws_secret_access_key => aws_secret_access_key
 
  59 systemd_service "tilelog" do
 
  60   description "Tile log analysis"
 
  62   exec_start "/usr/local/bin/tilelog"
 
  64   sandbox :enable_network => true
 
  66   bind_paths "/home/planet"
 
  67   read_write_paths tilelog_output_directory
 
  70 systemd_timer "tilelog" do
 
  71   description "Tile log analysis"
 
  72   on_calendar "*-*-* 01:07:00"
 
  75 service "tilelog.timer" do
 
  76   action [:enable, :start]