75 lines
1.5 KiB
Ruby
75 lines
1.5 KiB
Ruby
#
|
|
# Cookbook:: kosmos_email
|
|
# Recipe:: opendkim
|
|
#
|
|
|
|
%w[
|
|
opendkim
|
|
opendkim-tools
|
|
].each do |pkg|
|
|
apt_package pkg
|
|
end
|
|
|
|
domain = node["email"]["domain"]
|
|
selector = "mail"
|
|
socket = "inet:12301@localhost"
|
|
|
|
template "/etc/opendkim.conf" do
|
|
source "opendkim.conf.erb"
|
|
mode 0644
|
|
variables domain: domain,
|
|
selector: selector,
|
|
socket: socket
|
|
notifies :restart, "service[opendkim]", :delayed
|
|
end
|
|
|
|
template "/etc/default/opendkim" do
|
|
source "opendkim_default.erb"
|
|
mode 0644
|
|
variables socket: socket
|
|
notifies :restart, "service[opendkim]", :delayed
|
|
end
|
|
|
|
directory "/run/opendkim" do
|
|
owner "opendkim"
|
|
group "opendkim"
|
|
action :create
|
|
end
|
|
|
|
directory "/etc/opendkim"
|
|
|
|
template "/etc/opendkim/keytable" do
|
|
source "opendkim_keytable.erb"
|
|
mode 0644
|
|
variables domain: domain,
|
|
selector: selector
|
|
notifies :restart, "service[opendkim]", :delayed
|
|
end
|
|
|
|
template "/etc/opendkim/signingtable" do
|
|
source "opendkim_signingtable.erb"
|
|
mode 0644
|
|
variables domain: domain,
|
|
selector: selector
|
|
notifies :restart, "service[opendkim]", :delayed
|
|
end
|
|
|
|
directory "/etc/opendkim/keys/#{domain}" do
|
|
recursive true
|
|
end
|
|
|
|
execute "Create DKIM keys" do
|
|
cwd "/etc/opendkim/keys/#{domain}"
|
|
command "opendkim-genkey -s #{selector} -d #{domain}"
|
|
creates "/etc/opendkim/keys/#{domain}/#{selector}.private"
|
|
end
|
|
|
|
file "/etc/opendkim/keys/#{domain}/#{selector}.private" do
|
|
owner "opendkim"
|
|
group "opendkim"
|
|
end
|
|
|
|
service "opendkim" do
|
|
action [:enable, :start]
|
|
end
|