X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/c45b10b52d55b1eda30d25595ae605bfaabac7b6..45dde9418dd342bb1a632d82559201c0b3becf1a:/cookbooks/exim/recipes/default.rb diff --git a/cookbooks/exim/recipes/default.rb b/cookbooks/exim/recipes/default.rb index a74e4d6a5..7c80f9a0d 100644 --- a/cookbooks/exim/recipes/default.rb +++ b/cookbooks/exim/recipes/default.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: exim +# Cookbook:: exim # Recipe:: default # -# Copyright 2011, OpenStreetMap Foundation +# Copyright:: 2011, 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, @@ -19,9 +19,11 @@ include_recipe "networking" -package "exim4" -package "openssl" -package "ssl-cert" +package %w[ + exim4 + openssl + ssl-cert +] package "exim4-daemon-heavy" if File.exist?("/var/run/clamav/clamd.ctl") @@ -31,29 +33,35 @@ group "ssl-cert" do append true end -template "/tmp/exim.ssl.cnf" do - source "ssl.cnf.erb" - owner "root" - group "root" - mode 0o644 - not_if do - File.exist?("/etc/ssl/certs/exim.pem") && File.exist?("/etc/ssl/private/exim.key") +if node[:exim][:certificate_names] + include_recipe "apache" + + apache_site node[:exim][:certificate_names].first do + template "apache.erb" + variables :aliases => node[:exim][:certificate_names].drop(1) end -end -execute "/etc/ssl/certs/exim.pem" do - command "openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/exim.key -out /etc/ssl/certs/exim.pem -days 3650 -nodes -config /tmp/exim.ssl.cnf" - user "root" - group "ssl-cert" - not_if do - File.exist?("/etc/ssl/certs/exim.pem") && File.exist?("/etc/ssl/private/exim.key") + ssl_certificate node[:exim][:certificate_names].first do + domains node[:exim][:certificate_names] + notifies :restart, "service[exim4]" + end +else + openssl_x509_certificate "/etc/ssl/certs/exim.pem" do + key_file "/etc/ssl/private/exim.key" + owner "root" + group "ssl-cert" + mode 0o640 + org "OpenStreetMap" + email "postmaster@openstreetmap.org" + common_name node[:fqdn] + expire 3650 + notifies :restart, "service[exim4]" end end service "exim4" do action [:enable, :start] supports :status => true, :restart => true, :reload => true - subscribes :restart, "execute[/etc/ssl/certs/exim.pem]" end relay_to_domains = node[:exim][:relay_to_domains]