WIP virtual domain configs

This commit is contained in:
Râu Cao
2023-12-07 14:02:37 +01:00
parent ca580bcfe2
commit a70f5f9507
7 changed files with 188 additions and 90 deletions

View File

@@ -17,6 +17,9 @@ domain = node["email"]["domain"]
hostname = node["email"]["hostname"]
ip_addr = node["knife_zero"]["host"]
ldap_search_base = node["email"]["ldap_search_base"]
ldap_user_filter = "(&(objectClass=person)(mailRoutingAddress=%u))"
credentials = Chef::EncryptedDataBagItem.load('credentials', 'email')
user "vmail" do
@@ -41,11 +44,11 @@ template "/etc/dovecot/dovecot-ldap.conf.ext" do
variables uris: "ldap://ldap.kosmos.local", # TODO add list of all IPs instead?
dn: credentials['ldap_dn'],
dnpass: credentials['ldap_dnpass'],
base: "ou=kosmos.org,cn=users,dc=kosmos,dc=org",
user_attrs: "mailhome=home",
user_filter: "(&(objectClass=person)(cn=%u))",
pass_attrs: "cn=user,mailpassword=password",
pass_filter: "(&(objectClass=person)(cn=%u))",
base: ldap_search_base,
user_filter: ldap_user_filter,
user_attrs: "",
pass_filter: ldap_user_filter,
pass_attrs: "mailRoutingAddress=user,mailpassword=password",
default_pass_scheme: "BLF-CRYPT"
notifies :restart, "service[dovecot]", :delayed
end
@@ -60,7 +63,9 @@ template "/etc/dovecot/conf.d/10-mail.conf" do
source "dovecot_10-mail.conf.erb"
mode 0644
variables mail_uid: "vmail",
mail_gid: "mail"
mail_gid: "mail",
mail_location: "mbox:~/mail:INBOX=~/mail/INBOX",
mail_home: "/var/vmail/%d/%n"
notifies :restart, "service[dovecot]", :delayed
end
@@ -79,6 +84,12 @@ template "/etc/dovecot/conf.d/10-ssl.conf" do
notifies :restart, "service[dovecot]", :delayed
end
template "/etc/dovecot/conf.d/15-mailboxes.conf" do
source "dovecot_15-mailboxes.conf.erb"
mode 0644
notifies :restart, "service[dovecot]", :delayed
end
service "dovecot" do
action [:enable, :start]
end