postfix

CI Testing

This role can install, configure and start Postfix MTA.

Role Variables

postfix_conf

postfix_conf:
  relayhost: "example.com"

This is a dictionary which can hold key/value pairs of all supported Postfix configuration parameters. Keys not supported by the installed Postfix are ignored. The default is empty {}.

postfix_check

postfix_check: false

This is a boolean which determines if postfix check is run before starting Postfix if the configuration has changed. The default is true.

postfix_backup

postfix_backup: true

This is a boolean which determines if the role will make a single backup copy of the configuration - for example, cp /etc/postfix/main.cf /etc/postfix/main.cf.backup, thus overwriting the previous backup, if any. The default is false. NOTE: If you want to set this to true, you must also set postfix_backup_multiple: false - see below.

postfix_backup_multiple

postfix_backup_multiple: false

This is a boolean which determines if the role will make a timestamped backup copy of the configuration - for example, cp /etc/postfix/main.cf /etc/postfix/main.cf.$(date -Isec), thus keeping multiple backup copies. The default is true. NOTE: This setting overrides postfix_backup, so you must set this to false if you want to use postfix_backup.

Limitations

There is no way to remove configuration parameters. If you know all of the configuration parameters that you want to set, you can use the file module to remove /etc/postfix/main.cf before running this role, with postfix_conf set to all of the configuration parameters you want to apply.

Example Playbook

Install and enable postfix. Configure relay_domains=$mydestination and relayhost=example.com.

---
- hosts: all
  vars:
    postfix_conf:
      relay_domains: "$mydestination"
      relayhost: "example.com"
  roles:
    - redhat.rhel_system_roles.postfix

Install and enable postfix. Do not run postfix check before restarting postfix:

---
- hosts: all
  vars:
    postfix_check: false
  roles:
    - redhat.rhel_system_roles.postfix

Install and enable postfix. Do single backup of main.cf (older backup will be rewritten) and configure relayhost=example.com:

---
- hosts: all
  vars:
    postfix_conf:
      relayhost: "example.com"
    postfix_backup: true
  roles:
    - redhat.rhel_system_roles.postfix

Install and enable postfix. Do timestamped backup of main.cf and configure relayhost=example.com (if postfix_backup_multiple is set to true postfix_backup is ignored):

---
- hosts: all
  vars:
    postfix_conf:
      relayhost: "example.com"
    postfix_backup_multiple: true
  roles:
    - redhat.rhel_system_roles.postfix

License

Copyright © 2017 Jaroslav Škarvada jskarvad@redhat.com

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.