Update README to be more fully fleshed out

This commit is contained in:
Micah Anderson 2013-04-23 15:17:57 -04:00
parent 5f55183299
commit 4ee607c219

192
README
View file

@ -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 before. So please whatch out before pulling, you need to change the
class declarations in your manifest ! 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 Deprecation notice
------------------ ------------------
@ -63,3 +35,167 @@ This is not supported anymore.
Every such snippet much now be configured using the (respectively) Every such snippet much now be configured using the (respectively)
postfix::header_checks_snippet and postfix::tlspolicy_snippet defines. 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'
}