X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/643f28e4f32f013c16d04378d7d1f3dd7d8edc17..45c0862be818c87ac9825ed36a7a2e9d3a1aab7c:/cookbooks/git/recipes/web.rb diff --git a/cookbooks/git/recipes/web.rb b/cookbooks/git/recipes/web.rb index 24307121d..bb99e482c 100644 --- a/cookbooks/git/recipes/web.rb +++ b/cookbooks/git/recipes/web.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: git +# Cookbook:: git # Recipe:: web # -# 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,34 +17,54 @@ # limitations under the License. # -include_recipe "apache::ssl" +include_recipe "apache" package "gitweb" +apache_module "cgid" apache_module "rewrite" -git_directory = node[:git][:directory] +git_site = node[:git][:host] template "/etc/gitweb.conf" do source "gitweb.conf.erb" owner "root" group "root" - mode 0o644 + mode "644" end -ssl_certificate node[:git][:host] do - domains node[:git][:host] - notifies :reload, "service[apache2]" +directory "/srv/#{git_site}" do + owner "root" + group "root" + mode "755" end -apache_site node[:git][:host] do - template "apache.erb" - directory git_directory +template "/srv/#{git_site}/robots.txt" do + source "robots.txt.erb" + owner "root" + group "root" + mode "644" end -template "#{git_directory}/robots.txt" do - source "robots.txt.erb" +template "/srv/#{git_site}/indextext.html" do + source "indextext.html.erb" owner "root" group "root" - mode 0o644 + mode "644" +end + +ssl_certificate git_site do + domains [git_site] + Array(node[:git][:aliases]) + notifies :reload, "service[apache2]" +end + +private_allowed = search(:node, node[:git][:private_nodes]).collect do |n| + n.ipaddresses(:role => :external) +end.flatten + +apache_site git_site do + template "apache.erb" + directory "/srv/#{git_site}" + variables :aliases => Array(node[:git][:aliases]), + :private_allowed => private_allowed end