Fix generation of mail aliases to reflect account changes
authorTom Hughes <tom@compton.nu>
Sat, 22 Jun 2013 09:36:11 +0000 (10:36 +0100)
committerTom Hughes <tom@compton.nu>
Sat, 22 Jun 2013 09:42:15 +0000 (10:42 +0100)
cookbooks/exim/recipes/default.rb
cookbooks/exim/templates/default/aliases.erb

index ff38860..7c9dc68 100644 (file)
@@ -63,6 +63,15 @@ template "/etc/exim4/exim4.conf" do
   notifies :restart, resources(:service => "exim4")
 end
 
+search(:accounts, "*:*").each do |account|
+  name = account["id"]
+  details = node[:accounts][:users][name] || {}
+
+  if details[:status] and account["email"]
+    node.default[:exim][:aliases][name] = account["email"]
+  end
+end
+
 template "/etc/aliases" do
   source "aliases.erb"
   owner "root"
index 52a7f35..d40ff1a 100644 (file)
@@ -3,9 +3,3 @@
 <% node[:exim][:aliases].keys.sort.each do |a| -%>
 <%= a -%>: <%= node[:exim][:aliases][a] %>
 <% end -%>
-
-<% node[:accounts][:users].keys.sort.each do |u| -%>
-<% if node[:accounts][:users][u][:status] and node[:accounts][:users][u][:email] -%>
-<%= u -%>: <%= node[:accounts][:users][u][:email] %>
-<% end -%>
-<% end -%>