zuazo/dovecot-cookbook

View on GitHub
templates/default/conf.d/10-director.conf.erb

Summary

Maintainability
Test Coverage
# Generated by Chef

##
## Director-specific settings.
##

# Director can be used by Dovecot proxy to keep a temporary user -> mail server
# mapping. As long as user has simultaneous connections, the user is always
# redirected to the same server. Each proxy server is running its own director
# process, and the directors are communicating the state to each others.
# Directors are mainly useful with NFS-like setups.

# List of IPs or hostnames to all director servers, including ourself.
# Ports can be specified as ip:port. The default port is the same as
# what director service's inet_listener is using.
<%= DovecotCookbook::Conf.attribute(@conf, 'director_servers') %>

# List of IPs or hostnames to all backend mail servers. Ranges are allowed
# too, like 10.0.0.10-10.0.0.30.
<%= DovecotCookbook::Conf.attribute(@conf, 'director_mail_servers') %>

# How long to redirect users to a specific server after it no longer has
# any connections.
<%= DovecotCookbook::Conf.attribute(@conf, 'director_user_expire', '15 min') %>

# TCP/IP port that accepts doveadm connections (instead of director connections)
# If you enable this, you'll also need to add inet_listener for the port.
<%= DovecotCookbook::Conf.attribute(@conf, 'director_doveadm_port', 0) %>

# How the username is translated before being hashed. Useful values include
# %Ln if user can log in with or without @domain, %Ld if mailboxes are shared
# within domain.
<%= DovecotCookbook::Conf.attribute(@conf, 'director_username_hash', '%Lu') %>

<% if @services['director'].kind_of?(Hash) and @services['director'].length > 0 -%>
<%=  DovecotCookbook::Conf.service('director', @services['director']) %>
<% else -%>
# To enable director service, uncomment the modes and assign a port.
service director {
  unix_listener login/director {
    #mode = 0666
  }
  fifo_listener login/proxy-notify {
    #mode = 0666
  }
  unix_listener director-userdb {
    #mode = 0600
  }
  inet_listener {
    #port = 
  }
}
<% end -%>

# Enable director for the wanted login services by telling them to
# connect to director socket instead of the default login socket:
service imap-login {
  #executable = imap-login director
}
service pop3-login {
  #executable = pop3-login director
}

# Enable director for LMTP proxying:
protocol lmtp {
  #auth_socket_path = director-userdb
}