Merge pull request #51 from EvaSDK/gh50-postconf-respect-file-type

Make postconf/newaliases respect file type
This commit is contained in:
Lukas Erlacher 2017-02-23 09:36:33 +01:00 committed by GitHub
commit 3183fc4351
1 changed files with 23 additions and 5 deletions

View File

@ -12,10 +12,24 @@ postfix:
- watch:
- pkg: postfix
{# Used for newaliases, postalias and postconf #}
{%- set default_database_type = salt['pillar.get']('postfix:config:default_database_type', 'hash') %}
# manage /etc/aliases if data found in pillar
{% if 'aliases' in pillar.get('postfix', '') %}
{{ postfix.aliases_file }}:
{%- set need_newaliases = False %}
{%- set file_path = postfix.aliases_file %}
{%- if ':' in file_path %}
{%- set file_type, file_path = postfix.aliases_file.split(':') %}
{%- else %}
{%- set file_type = default_database_type %}
{%- endif %}
{%- if file_type in ("btree", "cdb", "dbm", "hash", "sdbm") %}
{%- set need_newaliases = True %}
{%- endif %}
postfix_alias_database:
file.managed:
- name: {{ file_path }}
- source: salt://postfix/aliases
- user: root
- group: root
@ -23,13 +37,13 @@ postfix:
- template: jinja
- require:
- pkg: postfix
run-newaliases:
{%- if need_newaliases %}
cmd.wait:
- name: newaliases
- cwd: /
- watch:
- file: {{ postfix.aliases_file }}
- file: {{ file_path }}
{%- endif %}
{% endif %}
# manage various mappings
@ -37,7 +51,11 @@ run-newaliases:
{%- set need_postmap = False %}
{%- set file_path = salt['pillar.get']('postfix:config:' ~ mapping) %}
{%- if ':' in file_path %}
{%- set file_path = file_path.split(':')[1] %}
{%- set file_type, file_path = file_path.split(':') %}
{%- else %}
{%- set file_type = default_database_type %}
{%- endif %}
{%- if file_type in ("btree", "cdb", "dbm", "hash", "sdbm") %}
{%- set need_postmap = True %}
{%- endif %}
postfix_{{ mapping }}: