subscribes :restart, "systemd_service[chef-server]"
end
+git_allowed = search(:node, node[:git][:allowed_nodes]).collect do |n|
+ n.ipaddresses(:role => :external)
+end.flatten
+
apache_module "alias"
apache_module "proxy_http"
apache_site "chef.openstreetmap.org" do
template "apache.erb"
+ variables :git_allowed => git_allowed
end
template "/etc/cron.daily/chef-server-backup" do
CustomLog /var/log/apache2/chef.openstreetmap.org-access.log combined
ErrorLog /var/log/apache2/chef.openstreetmap.org-error.log
+ DocumentRoot /var/lib/git
+
SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/ssl/certs/chef.openstreetmap.org.pem
SSLCertificateKeyFile /etc/ssl/private/chef.openstreetmap.org.key
+ ProxyPassMatch ^/.*\.git/ !
ProxyPass / https://<%= node[:fqdn] %>:4443/
ProxyPreserveHost on
</VirtualHost>
+
+<Directory /var/lib/git>
+ Require ip <%= @git_allowed.sort.join(" ") %>
+</Directory>