]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/imagery/recipes/default.rb
imagery: Add proj + sync OSTN15_NTv2_OSGBtoETRS
[chef.git] / cookbooks / imagery / recipes / default.rb
index a060c17bcdb06b921c0a6de74ed5b0f3ee77387e..f8f811988a0f81f8758bcb815469a094ea1c0b2b 100644 (file)
@@ -1,14 +1,14 @@
 #
-# Cookbook Name:: imagery
+# Cookbook:: imagery
 # Recipe:: default
 #
-# Copyright 2016, OpenStreetMap Foundation
+# Copyright:: 2016, 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,
 include_recipe "nginx"
 include_recipe "git"
 
-# Imagery gdal Requirements
-package "gdal-bin"
-package "python-gdal"
+# Imagery gdal and proj requirements
+package %w[
+  gdal-bin
+  python3-gdal
+  proj-bin
+]
 
-# Imagery MapServer + Mapcache Requirements
-package "cgi-mapserver"
-package "mapcache-cgi"
-package "mapcache-tools"
+# Imagery MapServer + Mapcache requirements
+package %w[
+  cgi-mapserver
+  mapcache-cgi
+  mapcache-tools
+]
+
+# Mapserver via nginx requires as fastcgi spawner
+package %w[
+  spawn-fcgi
+  multiwatch
+]
 
 # Imagery processing Requirements
 package "imagemagick"
 
 # Imagery misc compression
-package "xz-utils"
+package %w[
+  xz-utils
+  unzip
+]
+
+directory "/srv/imagery/mapserver" do
+  owner "root"
+  group "root"
+  mode "755"
+  recursive true
+end
+
+directory "/srv/imagery/common" do
+  owner "root"
+  group "root"
+  mode "755"
+  recursive true
+end
+
+directory "/srv/imagery/common/ostn02-ntv2-data" do
+  owner "root"
+  group "root"
+  mode "755"
+end
+
+execute "uk_os_OSTN15_NTv2_OSGBtoETRS.tif" do
+  command "projsync --file uk_os_OSTN15_NTv2_OSGBtoETRS.tif --system-directory"
+  not_if { ::File.exist?("/usr/share/proj/uk_os_OSTN15_NTv2_OSGBtoETRS.tif") }
+end
+
+remote_file "#{Chef::Config[:file_cache_path]}/ostn02-ntv2-data.zip" do
+  source "https://www.ordnancesurvey.co.uk/documents/resources/ostn02-ntv2-data.zip"
+  not_if { ::File.exist?("/srv/imagery/common/ostn02-ntv2-data/OSTN02_NTv2.gsb") }
+end
+
+archive_file "#{Chef::Config[:file_cache_path]}/ostn02-ntv2-data.zip" do
+  destination "/srv/imagery/common/ostn02-ntv2-data"
+  owner "root"
+  group "root"
+  not_if { ::File.exist?("/srv/imagery/common/ostn02-ntv2-data/OSTN02_NTv2.gsb") }
+end
+
+nginx_site "default" do
+  template "nginx_default.conf.erb"
+  directory "/srv/imagery/default"
+end
+
+systemd_tmpfile "/run/mapserver-fastcgi" do
+  type "d"
+  owner "imagery"
+  group "imagery"
+  mode "0755"
+end