]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/tilecache/templates/default/nginx_generate_tilecache_qos_map.erb
tilecache: switch reload to systemctl try-reload-or-restart
[chef.git] / cookbooks / tilecache / templates / default / nginx_generate_tilecache_qos_map.erb
index c0ae1f0b64d2f9f196c724f23225eefaacfedc37..a8f9378233dee2d2dfacbec53d535390036873f1 100755 (executable)
@@ -2,9 +2,9 @@
 # DO NOT EDIT - This file is being maintained by Chef
 
 set -e
-NUM_TOKENS=3 # current + 3
+NUM_TOKENS=4 # current + 4
 VALID_TOKEN=3600 # in seconds
-QOS_TOKENS=($(/usr/bin/oathtool --totp --window=${NUM_TOKENS} --time-step-size=${VALID_TOKEN}s <%= tokens[:tilecache_oath_key] %>))
+QOS_TOKENS=($(/usr/bin/oathtool --totp --window=${NUM_TOKENS} --time-step-size=${VALID_TOKEN}s -b <%= @totp_key %>))
 
 # ${qos_tokens[3]/[-1] } = OSM.org exclusive / current
 # ${qos_tokens[2]/[-2] } = tile.openstreetmap.org default
@@ -18,8 +18,9 @@ if [ "${#QOS_TOKENS[@]}" -ne "$((${NUM_TOKENS}+1))" ]; then
 fi
 
 QOS_TOKEN_OSM=${QOS_TOKENS[-1]} # Cookie set by openstreetmap.org
-QOS_TOKEN_DEFAULT=${QOS_TOKENS[-2]} # Cookie presented by tile.openstreetmap.org to browsers
-QOS_TOKEN_STALE=${QOS_TOKENS[-3]} # Cookie which has become stale and will be replaced
+QOS_TOKEN_OSM_STALE=${QOS_TOKENS[-2]} # Cookie set by openstreetmap.org stale
+QOS_TOKEN_DEFAULT=${QOS_TOKENS[-3]} # Cookie presented by tile.openstreetmap.org to browsers
+QOS_TOKEN_STALE=${QOS_TOKENS[-4]} # Cookie which has become stale and will be replaced
 
 if [ -z "$QOS_TOKEN_OSM" -o -z "$QOS_TOKEN_DEFAULT" -o -z "$QOS_TOKEN_STALE" ]; then
   >&2 echo "ERROR: Unexpected blank token"
@@ -27,16 +28,18 @@ if [ -z "$QOS_TOKEN_OSM" -o -z "$QOS_TOKEN_DEFAULT" -o -z "$QOS_TOKEN_STALE" ];
 fi
 
 cat <<EOF >/etc/nginx/conf.d/tile_qos_rates.map
-default 4096; # Default Rate (No QoS cookie)
-"${QOS_TOKEN_STALE}" 16384; # Stale
+default 24576; # Default Rate (No QoS cookie)
+"${QOS_TOKEN_STALE}" 24576; # Stale
 "${QOS_TOKEN_DEFAULT}" 24576; # Default
+"${QOS_TOKEN_OSM_STALE}" 32768; # Exclusive Stale
 "${QOS_TOKEN_OSM}" 32768; # Exclusive
 EOF
 
 cat <<EOF >/etc/nginx/conf.d/tile_qos_cookies.map
-default 'qos_token=${QOS_TOKEN_DEFAULT}; Secure; httponly; Max-Age=${VALID_TOKEN}; Domain=tile.openstreetmap.org; Path=/'; # Cookie Domain per RFC6265
+default 'qos_token=${QOS_TOKEN_DEFAULT}; Max-Age=${VALID_TOKEN}; Domain=openstreetmap.org; Path=/'; # Cookie Domain per RFC6265
 "${QOS_TOKEN_DEFAULT}" ''; # Do not Set-Cookie. # Default
 "${QOS_TOKEN_OSM}" ''; # Do not Set-Cookie. # Exclusive
 EOF
 
-/etc/init.d/nginx configtest && service nginx reload
+# Check config, reload config and fail safe
+/etc/init.d/nginx configtest && /bin/systemctl try-reload-or-restart nginx