#
# 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
