X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/3ae5b9b4fbb5a637df5a9e8138cd421e0c6e74e7..c4abdded449ba9f2905f78fb9d2c017a49f99b17:/cookbooks/nginx/definitions/nginx_site.rb diff --git a/cookbooks/nginx/definitions/nginx_site.rb b/cookbooks/nginx/definitions/nginx_site.rb new file mode 100644 index 000000000..51228d632 --- /dev/null +++ b/cookbooks/nginx/definitions/nginx_site.rb @@ -0,0 +1,43 @@ +# +# Cookbook Name:: nginx +# Definition:: nginx_site +# +# 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 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +define :nginx_site, :action => [ :create ], :variables => {} do + name = params[:name] + directory = params[:directory] || "/var/www/#{name}" + site_action = params[:action] + + if site_action.include?(:create) + template "/etc/nginx/conf.d/#{name}.conf" do + cookbook params[:cookbook] + source params[:template] + owner "root" + group "root" + mode 0644 + variables params[:variables].merge(:name => name, :directory => directory) + notifies :reload, resources(:service => "nginx") + end + end + + if site_action.include?(:delete) + file "/etc/nginx/conf.d/#{name}.conf" do + action :delete + notifies :restart, resources(:service => "nginx") + end + end +end