Christian Boltz ed723b
postfix:
Christian Boltz ed723b
  pkg.installed: []
Christian Boltz ed723b
  service.running:
Christian Boltz ed723b
    - enable: True
Christian Boltz ed723b
Christian Boltz ed723b
# update /etc/aliases
Christian Boltz ed723b
{%- for user, target in salt['pillar.get']('profile:postfix:aliases', {}).items() %}
Christian Boltz ed723b
postfix_alias_present_{{ user }}:
Christian Boltz ed723b
  alias.present:
Christian Boltz ed723b
    - name: {{ user }}
Christian Boltz ed723b
    - target: {{ target }}
Christian Boltz ed723b
{%- endfor %}
Christian Boltz ed723b
Christian Boltz ed723b
# update main.cf
Christian Boltz ed723b
# (only update options given in profile:postfix:maincf pillar, other settings stay unchanged)
Christian Boltz ed723b
{%- for option, value in salt['pillar.get']('profile:postfix:maincf', {}).items() %}
Christian Boltz ed723b
/etc/postfix/main.cf_{{ option }}:
Christian Boltz ed723b
  file.replace:
Christian Boltz ed723b
    - name: /etc/postfix/main.cf
Christian Boltz ed723b
    - pattern: '^{{ option }} *=.*$'
Christian Boltz ed723b
    - repl: '{{ option }} = {{ value }}'
Christian Boltz ed723b
    - append_if_not_found: True
Christian Boltz ed723b
    - require:
Christian Boltz ed723b
      - pkg: postfix
Christian Boltz ed723b
    - watch_in:
Christian Boltz ed723b
      - service: postfix
Christian Boltz ed723b
{%- endfor %}
Jacob Michalskie b2e287
Jacob Michalskie b2e287
# update master.cf
Jacob Michalskie b2e287
# (only update options given in profile:postfix:maincf pillar, other settings stay unchanged)
Jacob Michalskie b2e287
{%- for option, value in salt['pillar.get']('profile:postfix:mastercf', {}).items() %}
Jacob Michalskie b2e287
/etc/postfix/master.cf_{{ option }}:
Jacob Michalskie b2e287
  file.replace:
Jacob Michalskie b2e287
    - name: /etc/postfix/master.cf
Jacob Michalskie 488d0e
    - pattern: '^{{ option }}\s.*$'
Jacob Michalskie b2e287
    - repl: '{{ option }} {{ value }}'
Jacob Michalskie b2e287
    - append_if_not_found: True
Jacob Michalskie b2e287
    - require:
Jacob Michalskie b2e287
      - pkg: postfix
Jacob Michalskie b2e287
    - watch_in:
Jacob Michalskie b2e287
      - service: postfix
Jacob Michalskie b2e287
{%- endfor %}