#
-# Cookbook Name:: gps-tile
+# Cookbook:: gps-tile
# Recipe:: default
#
-# Copyright 2013, OpenStreetMap Foundation
+# Copyright:: 2013, 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,
# limitations under the License.
#
+include_recipe "accounts"
include_recipe "apache"
+include_recipe "git"
+include_recipe "memcached"
-package "make"
-package "build-essential"
-package "pkg-config"
-package "zlib1g-dev"
-package "libbz2-dev"
-package "libarchive-dev"
-package "libexpat1-dev"
-package "libpng-dev"
-package "pngquant"
-package "libcache-memcached-perl"
+package %w[
+ make
+ build-essential
+ pkg-config
+ zlib1g-dev
+ libbz2-dev
+ libarchive-dev
+ libexpat1-dev
+ libpng-dev
+ pngquant
+ libcache-memcached-perl
+]
directory "/srv/gps-tile.openstreetmap.org" do
owner "gpstile"
group "gpstile"
- mode 0755
+ mode 0o755
end
git "/srv/gps-tile.openstreetmap.org/import" do
action :sync
repository "git://github.com/ericfischer/gpx-import.git"
- revision "master"
+ revision "live"
+ depth 1
user "gpstile"
group "gpstile"
end
-execute "import-make" do
+execute "/srv/gps-tile.openstreetmap.org/import/src/Makefile" do
action :nothing
- command "make"
- cwd "/srv/gps-tile.openstreetmap.org/import"
+ command "make DB=none LDFLAGS=-lm"
+ cwd "/srv/gps-tile.openstreetmap.org/import/src"
user "gpstile"
group "gpstile"
subscribes :run, "git[/srv/gps-tile.openstreetmap.org/import]"
git "/srv/gps-tile.openstreetmap.org/datamaps" do
action :sync
repository "git://github.com/ericfischer/datamaps.git"
- revision "master"
+ revision "live"
+ depth 1
user "gpstile"
group "gpstile"
end
-execute "datamaps-make" do
+execute "/srv/gps-tile.openstreetmap.org/datamaps/Makefile" do
action :nothing
command "make"
cwd "/srv/gps-tile.openstreetmap.org/datamaps"
git "/srv/gps-tile.openstreetmap.org/updater" do
action :sync
repository "git://github.com/ericfischer/gpx-updater.git"
- revision "master"
+ revision "live"
+ depth 1
user "gpstile"
group "gpstile"
end
-directory "/srv/gps-tile.openstreetmap.org/html" do
+systemd_service "gps-update" do
+ description "GPS tile update daemon"
+ after ["network.target", "memcached.service"]
+ wants ["memcached.service"]
+ user "gpstile"
+ working_directory "/srv/gps-tile.openstreetmap.org"
+ exec_start "/srv/gps-tile.openstreetmap.org/updater/update"
+ private_tmp true
+ private_devices true
+ protect_system "full"
+ protect_home true
+ no_new_privileges true
+ restart "on-failure"
+end
+
+service "gps-update" do
+ action [:enable, :start]
+ subscribes :restart, "git[/srv/gps-tile.openstreetmap.org/updater]"
+ subscribes :restart, "systemd_service[gps-update]"
+end
+
+remote_directory "/srv/gps-tile.openstreetmap.org/html" do
+ source "html"
owner "gpstile"
group "gpstile"
- mode 0755
+ mode 0o755
+ files_owner "gpstile"
+ files_group "gpstile"
+ files_mode 0o644
+end
+
+apache_module "headers"
+apache_module "rewrite"
+
+ssl_certificate "gps-tile.openstreetmap.org" do
+ domains ["gps-tile.openstreetmap.org",
+ "a.gps-tile.openstreetmap.org",
+ "b.gps-tile.openstreetmap.org",
+ "c.gps-tile.openstreetmap.org",
+ "gps.tile.openstreetmap.org",
+ "gps-a.tile.openstreetmap.org",
+ "gps-b.tile.openstreetmap.org",
+ "gps-c.tile.openstreetmap.org"]
+ notifies :reload, "service[apache2]"
+end
+
+apache_site "gps-tile.openstreetmap.org" do
+ template "apache.erb"
end