X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/712d39df1c611ad94fe44b4db1a88b71394ffd95..dd7f629ab3f1404a2a3ea5a9c4e28c416ecb6e3b:/cookbooks/nginx/recipes/default.rb diff --git a/cookbooks/nginx/recipes/default.rb b/cookbooks/nginx/recipes/default.rb index 54a9b7524..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,35 +17,66 @@ # limitations under the License. # -package "nginx" +include_recipe "apt" +include_recipe "munin" +include_recipe "prometheus" +include_recipe "ssl" -# admins = data_bag_item("nginx", "admins") +package "nginx" template "/etc/nginx/nginx.conf" do source "nginx.conf.erb" owner "root" group "root" - mode 0644 + mode "644" end -if node['nginx']['cache']['fastcgi']['enable'] - directory "/var/cache/nginx/fastcgi-cache" do - owner "www-data" - group "root" - mode 0755 - end +directory node[:nginx][:cache][:fastcgi][:directory] do + owner "www-data" + group "root" + mode "755" + recursive true + only_if { node[:nginx][:cache][:fastcgi][:enable] } end -if node['nginx']['cache']['proxy']['enable'] - directory "/var/cache/nginx/proxy-cache" do - owner "www-data" - group "root" - mode 0755 - end +directory node[:nginx][:cache][:proxy][:directory] do + owner "www-data" + group "root" + mode "755" + recursive true + only_if { node[:nginx][:cache][:proxy][:enable] } end service "nginx" do - action [:enable] + action [:enable] # Do not start the service as config may be broken from failed chef run 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