#
# Cookbook Name:: cplanet
# Recipe:: default
#
# Copyright 2018, 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
#
#     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,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

user = 'cplanet'
basedir = '/srv/cplanet'
planet_source = 'https://planet.openstreetmap.org/pbf/planet-latest.osm.pbf'

package %w[
  pyosmium
]

directory basedir do
  owner 'root'
  group 'root'
  mode 0o755
end

%w[bin jobs log].each do |dir|
  directory "#{basedir}/#{dir}" do
    owner 'root'
    group 'root'
    mode 0o755
  end
end

directory "#{basedir}/planet" do
  owner user
  group user
  mode 0o755
end

%w[update update-planet].each do |file|
  template "#{basedir}/bin/#{file}" do
    source "#{file}.erb"
    owner 'root'
    group 'root'
    mode 0o755
    variables :basedir => basedir, :user => user
  end
end

remote_file "#{basedir}/planet/planet.pbf" do
  action :create_if_missing
  source planet_source
  owner user
  group user
  mode 0o644
end

cron 'update-planet' do
  hour 1
  minute 17
  user 'root'
  command "#{basedir}/bin/update"
end

