X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/d02429561da1d3ad2b5bbe0ac1108e8fc7774922..fa701fc119f67c4c7626ac07f2e081f249106305:/cookbooks/nginx/recipes/default.rb diff --git a/cookbooks/nginx/recipes/default.rb b/cookbooks/nginx/recipes/default.rb index 6e3a60ff6..d215e51c8 100644 --- a/cookbooks/nginx/recipes/default.rb +++ b/cookbooks/nginx/recipes/default.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: nginx +# Cookbook:: nginx # 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, @@ -17,31 +17,33 @@ # limitations under the License. # -package "nginx" +include_recipe "apt" +include_recipe "munin" +include_recipe "prometheus" +include_recipe "ssl" -resolvers = node[:networking][:nameservers].map do |resolver| - IPAddr.new(resolver).ipv6? ? "[#{resolver}]" : resolver -end +package "nginx" template "/etc/nginx/nginx.conf" do source "nginx.conf.erb" owner "root" group "root" - mode 0o644 - variables :resolvers => resolvers + mode "644" end -directory "/var/cache/nginx/fastcgi-cache" do +directory node[:nginx][:cache][:fastcgi][:directory] do owner "www-data" group "root" - mode 0o755 + mode "755" + recursive true only_if { node[:nginx][:cache][:fastcgi][:enable] } end -directory "/var/cache/nginx/proxy-cache" do +directory node[:nginx][:cache][:proxy][:directory] do owner "www-data" group "root" - mode 0o755 + mode "755" + recursive true only_if { node[:nginx][:cache][:proxy][:enable] } end @@ -50,3 +52,31 @@ service "nginx" do supports :status => true, :restart => true, :reload => true subscribes :restart, "template[/etc/nginx/nginx.conf]" end + +munin_plugin_conf "nginx" do + template "munin.erb" +end + +package "libwww-perl" + +munin_plugin "nginx_request" +munin_plugin "nginx_status" + +prometheus_exporter "nginx" do + port 9113 + options "--nginx.scrape-uri=http://localhost:8050/nginx_status" +end + +template "/usr/local/bin/nginx-old-cache-cleanup" do + source "nginx-old-cache-cleanup.erb" + owner "root" + group "root" + mode "755" +end + +cron_d "nginx-old-cache-cleanup" do + minute "15" + hour "23" + user "www-data" + command "/usr/bin/timeout 6h /usr/local/bin/nginx-old-cache-cleanup" +end