postfix
postfix
Этот ролик может установить, настроить и запустить Postfix MTA.
Требования
Смотрите ниже
Требования к коллекции
Роль требует роль firewall
и роль selinux
из коллекции fedora.linux_system_roles
, если postfix_manage_firewall
и postfix_manage_selinux
настроены на true соответственно. (Пожалуйста, также смотрите postfix_manage_firewall
и postfix_manage_selinux
)
Если postfix
— это роль из коллекции fedora.linux_system_roles
или из RPM-пакета Fedora, требование уже выполнено.
Роль требует дополнительные коллекции для управления системами rpm-ostree
. Если вам нужно управлять системами rpm-ostree
, выполните следующую команду для установки коллекций.
ansible-galaxy collection install -r meta/collection-requirements.yml
Переменные роли
postfix_conf
postfix_conf:
relayhost: example.com
Это словарь, который может содержать пары ключ/значение всех поддерживаемых параметров конфигурации Postfix. Ключи, не поддерживаемые установленным Postfix, игнорируются. Значение по умолчанию — пустой объект {}
.
Вы можете указать previous: replaced
внутри словаря postfix_conf
, чтобы удалить любую существующую конфигурацию и применить желаемую конфигурацию на чистой установке postfix.
ПРЕДУПРЕЖДЕНИЕ: Если вы указываете previous: replaced
, роль переустанавливает пакет postfix и заменяет существующие файлы /etc/postfix/main.cf
и /etc/postfix/master.cf
. Убедитесь, что вы сделали резервные копии этих файлов, чтобы сохранить ваши настройки.
ПРЕДУПРЕЖДЕНИЕ: При управлении системами rpm-ostree
роль не может переустановить пакет postfix, поэтому она просто заменяет измененные конфигурационные файлы пустыми. Это не идемпотентно.
Если вы укажете только previous: replaced
в словаре postfix_conf
, роль переустановит пакет postfix
и активирует сервис postfix
, не применяя никакой конфигурации.
Например, чтобы удалить существующую конфигурацию и установить relayhost: example.com
на чистую установку postfix, используйте postfix_conf
следующим образом:
postfix_conf:
previous: replaced
relayhost: example.com
postfix_files
postfix_files:
- name: sasl_passwd
content: example.com user:password
postmap: true
- name: sender_canonical_maps
content: /.+/ [email protected]
Это список файлов, которые будут помещены в /etc/postfix и могут быть преобразованы в таблицы поиска Postfix при необходимости.
Он предназначен как простой механизм для настройки таких вещей, как учетные данные SASL и другие небольшие фрагменты.
postfix_check
postfix_check: false
Это логическое значение, которое определяет, будет ли выполняться postfix check
перед запуском Postfix, если конфигурация изменилась. Значение по умолчанию — true
.
postfix_backup
postfix_backup: true
Это логическое значение, которое определяет, будет ли роль делать одну резервную копию конфигурации — например, cp /etc/postfix/main.cf /etc/postfix/main.cf.backup
, тем самым перезаписывая предыдущую резервную копию, если она есть. Значение по умолчанию — false
. ПРИМЕЧАНИЕ: Если вы хотите установить это значение на true
, вы также должны установить postfix_backup_multiple: false
— смотрите ниже.
postfix_backup_multiple
postfix_backup_multiple: false
Это логическое значение, которое определяет, будет ли роль делать резервную копию конфигурации с временной меткой — например, cp /etc/postfix/main.cf /etc/postfix/main.cf.$(date -Isec)
, тем самым сохраняя несколько резервных копий. Значение по умолчанию — true
. ПРИМЕЧАНИЕ: Эта настройка переопределяет postfix_backup
, поэтому вы должны установить это значение на false
, если хотите использовать postfix_backup
.
postfix_manage_firewall
Логический флаг, позволяющий настраивать брандмауэр с помощью роли брандмауэра. Управляет связанными с smtp портами: 25/tcp, 465/tcp и 587/tcp. Если переменная установлена в false
, роль postfix
не управляет брандмауэром. По умолчанию — false
.
ПРИМЕЧАНИЕ: postfix_manage_firewall
ограничен добавлением портов. Он не может быть использован для удаления портов. Если вы хотите удалить порты, вам нужно будет использовать роль системы брандмауэра напрямую.
ПРИМЕЧАНИЕ: управление брандмауэром не поддерживается на RHEL 6.
postfix_manage_selinux
Логический флаг, позволяющий настраивать selinux с помощью роли selinux. Присваивает smtp_port_t
связанным с smtp портам. Если переменная установлена в false, роль postfix
не управляет selinux.
ПРИМЕЧАНИЕ: postfix_manage_selinux
ограничен добавлением политики. Он не может быть использован для удаления политики. Если вы хотите удалить политику, вам нужно будет использовать роль системы selinux напрямую.
Ограничения
Нет возможности удалить отдельные параметры конфигурации. В качестве обходного пути вы можете использовать postfix_conf
с previous: replaced
, чтобы удалить существующую конфигурацию, а затем применить желаемую конфигурацию на чистой установке postfix. Для получения дополнительной информации смотрите postfix_conf
.
Пример Playbook
Установите и активируйте postfix. Настройте relay_domains=$mydestination
и relayhost=example.com
.
---
- name: Manage postfix
hosts: all
vars:
postfix_conf:
relay_domains: $mydestination
relayhost: example.com
roles:
- linux-system-roles.postfix
Установите и активируйте postfix. Не выполняйте 'postfix check' перед перезапуском postfix:
---
- name: Manage postfix with no check
hosts: all
vars:
postfix_check: false
roles:
- linux-system-roles.postfix
Установите и активируйте postfix. Сделайте одну резервную копию main.cf (предыдущая резервная копия будет перезаписана) и настройте relayhost=example.com
:
---
- name: Manage postfix with relayhost
hosts: all
vars:
postfix_conf:
relayhost: example.com
postfix_backup: true
roles:
- linux-system-roles.postfix
Установите и активируйте postfix. Сделайте резервную копию main.cf с временной меткой и настройте relayhost=example.com
(если postfix_backup_multiple
установлено в true, postfix_backup
игнорируется):
---
- name: Manage postfix with multiple backups
hosts: all
vars:
postfix_conf:
relayhost: example.com
postfix_backup_multiple: true
roles:
- linux-system-roles.postfix
rpm-ostree
Смотрите README-ostree.md
Лицензия
Copyright (C) 2017 Jaroslav Škarvada jskarvad@redhat.com
Эта программа является свободным программным обеспечением: вы можете перераспределять ее и/или изменять согласно условиям GNU General Public License, опубликованной Free Software Foundation, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что окажется полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; без даже подразумеваемой гарантии товарного качества или соответствия конкретной цели. Смотрите GNU General Public License для получения более подробной информации.
Вы должны были получить копию GNU General Public License вместе с этой программой. Если нет, смотрите http://www.gnu.org/licenses/.
ansible-galaxy install linux-system-roles/postfix