summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2013-04-23 15:17:57 -0400
committerMicah Anderson <micah@riseup.net>2013-04-23 15:17:57 -0400
commit4ee607c219719c8ff084c3ed6e2844c9669abb12 (patch)
tree3ad25d1051a4bd3cb40ac9d1f7c174b6e1b5298a
parent5f55183299f054ccb509de2dd41ed1ece5d47084 (diff)
Update README to be more fully fleshed out
-rw-r--r--README192
1 files changed, 164 insertions, 28 deletions
diff --git a/README b/README
index a3518ec..2dae383 100644
--- a/README
+++ b/README
@@ -14,34 +14,6 @@ This module now uses parameterized classes, where it used global variables
before. So please whatch out before pulling, you need to change the
class declarations in your manifest !
-Config
-------
-- set $use_amavisd="yes" to include postfix::amavis
-- set $anon_sasl="yes" to hide the originating IP in email
- relayed for an authenticated SASL client; this needs Postfix
- 2.3 or later to work; beware! Postfix logs the header replacement
- has been done, which means that you are storing this information,
- unless you are anonymizing your logs.
-- set $manage_header_checks="yes" to manage header checks (see
- postfix::header_checks for details)
-- set $manage_transport_regexp="yes" to manage header checks (see
- postfix::transport_regexp for details)
-- set $manage_virtual_regexp="yes" to manage header checks (see
- postfix::virtual_regexp for details)
-- set $manage_tls_policy="yes" to manage TLS policy (see
- postfix::tlspolicy for details)
-- by default, postfix will bind to all interfaces, but sometimes you don't want
- that. To bind to specific interfaces, use the $inet_interfaces
- variable and set it to exactly what would be in the main.cf file.
-- some hosts have weird-looking host names (dedicated servers and VPSes). To
- set the server's domain of origin, set the $myorigin value
-
-== Example:
-
- class { 'postfix': }
-
- postfix::config { "relay_domains": value => "localhost host.foo.com" }
-
Deprecation notice
------------------
@@ -63,3 +35,167 @@ This is not supported anymore.
Every such snippet much now be configured using the (respectively)
postfix::header_checks_snippet and postfix::tlspolicy_snippet defines.
+
+Postfix class configuration parameters
+--------------------------------------
+
+ * use_amavisd => 'yes' - to include postfix::amavis
+
+ * anon_sasl => 'yes' - to hide the originating IP in email
+ relayed for an authenticated SASL client; this needs Postfix
+ 2.3 or later to work; beware! Postfix logs the header replacement
+ has been done, which means that you are storing this information,
+ unless you are anonymizing your logs.
+
+ * manage_header_checks => 'yes' - to manage header checks (see
+ postfix::header_checks for details)
+
+ * manage_transport_regexp => 'yes' - to manage header checks (see
+ postfix::transport_regexp for details)
+
+ * manage_virtual_regexp => 'yes' - to manage header checks (see
+ postfix::virtual_regexp for details)
+
+ * manage_tls_policy => 'yes - to manage TLS policy (see
+ postfix::tlspolicy for details)
+
+ * inet_interfaces: by default, postfix will bind to all interfaces, but
+ sometimes you don't want that. To bind to specific interfaces, use the
+ 'inet_interfaces' parameter and set it to exactly what would be in the
+ main.cf file.
+
+ * myorigin: some hosts have weird-looking host names (dedicated servers and VPSes). To
+ set the server's domain of origin, set the 'myorigin' parameter
+
+ * smtp_listen: address on which the smtp service will listen (Default: 127.0.0.1)
+
+ * root_mail_recipient: who will receive root's emails (Default: 'nobody')
+
+ * tls_fingerprint_digest: fingerprint digest for tls policy class (Default: 'sha1')
+
+ * use_dovecot_lda: include dovecot declaration at master.cf
+
+ * use_schleuder: whether to include schleuder portion at master.cf
+
+ * use_sympa: whether to include sympa portion at master.cf
+
+ * use_firma: whether to include firma portion at master.cf
+
+ * use_mlmmj: whether to include mlmmj portion at master.cf
+
+ * use_submission: set to "yes" to enable submission section at master.cf
+
+ * use_smtps: set to "yes" to enable smtps section at master.cf
+
+ * mastercf_tail: set this for additional content to be added at the end of master.cf
+
+== Examples:
+
+ class { 'postfix': }
+
+ class { 'postfix': anon_sasl => 'yes', myorigin => 'foo.bar.tz' }
+
+ postfix::config { "relay_domains": value => "localhost host.foo.com" }
+
+
+Convience classes
+=================
+
+postfix::config
+---------------
+this can be used to pass arbitrary postfix configurations by passing the $name
+to postconf to add/alter/remove options in main.cf
+
+Parameters:
+- *name*: name of the parameter.
+- *ensure*: present/absent. defaults to present.
+- *value*: value of the parameter.
+- *nonstandard*: inform postfix::config that this parameter is not recognized
+ by the "postconf" command. defaults to false.
+
+Requires:
+- Class["postfix"]
+
+Example usage:
+
+ postfix::config {
+ "smtp_use_tls" => "yes";
+ "smtp_sasl_auth_enable" => "yes";
+ "smtp_sasl_password_maps" => "hash:/etc/postfix/my_sasl_passwords";
+ "relayhost" => "[mail.example.com]:587";
+ }
+
+
+
+postfix::hash
+=============
+
+This can be used to create postfix hashed "map" files. It will create "${name}",
+and then build "${name}.db" using the "postmap" command. The map file can then
+be referred to using postfix::config.
+
+Parameters:
+- *name*: the name of the map file.
+- *ensure*: present/absent, defaults to present.
+- *source*: file source.
+
+Requires:
+- Class["postfix"]
+
+Example usage:
+
+ postfix::hash { "/etc/postfix/virtual":
+ ensure => present,
+ }
+ postfix::config { "virtual_alias_maps":
+ value => "hash:/etc/postfix/virtual"
+ }
+
+
+postfix::virtual
+================
+Manages content of the /etc/postfix/virtual map
+
+Parameters:
+- *name*: name of address postfix will lookup. See virtual(8).
+- *destination*: where the emails will be delivered to. See virtual(8).
+- *ensure*: present/absent, defaults to present.
+
+Requires:
+- Class["postfix"]
+- Postfix::Hash["/etc/postfix/virtual"]
+- Postfix::Config["virtual_alias_maps"]
+- common::line (from module common)
+
+Example usage:
+
+ postfix::hash { "/etc/postfix/virtual":
+ ensure => present,
+ }
+ postfix::config { "virtual_alias_maps":
+ value => "hash:/etc/postfix/virtual"
+ }
+ postfix::virtual { "user@example.com":
+ ensure => present,
+ destination => "root",
+ }
+
+postfix::mailalias
+==================
+Wrapper around Puppet mailalias resource, provides newaliases executable.
+
+Parameters:
+- *name*: the name of the alias.
+- *ensure*: present/absent, defaults to present.
+- *recipient*: recipient of the alias.
+
+Requires:
+- Class["postfix"]
+
+Example usage:
+
+ postfix::mailalias { "postmaster":
+ ensure => present,
+ recipient => 'foo'
+ }
+