<?xml version='1.0' encoding='UTF-8'?>
<rougail version="0.10">
  <services>
    <service name="postfix" target="multi-user">
      <override/>
      <file engine="none" source="sysuser-postfix.conf">/sysusers.d/1postfix.conf</file>
      <file engine="none" source="tmpfile-postfix.conf">/tmpfiles.d/0postfix.conf</file>
      <file>/etc/postfix/main.cf</file>
      <file>/etc/postfix/lmtp</file>
      <file>/etc/postfix/sni</file>
      <file engine="none">/etc/postfix/master.cf</file>
      <file>/etc/pki/ca-trust/source/anchors/ca_MailServer.crt</file>
      <file>/etc/pki/tls/certs/postfix.crt</file>
      <file source="sni.pem" file_type="variable" mode="400" variable="domain_name_eth">postfix_pem_files</file>
      <file owner="root" group="postfix" mode="440">/etc/pki/tls/private/postfix.key</file>
    </service>
    <service name="saslauthd">
      <file>/etc/sasl2/smtpd.conf</file>
    </service>
    <service name="opendkim" target="multi-user">
      <file engine="none" source="sysuser-opendkim.conf">/sysusers.d/0opendkim.conf</file>
      <file>/etc/opendkim.conf</file>
      <file>/etc/opendkim/KeyTable</file>
      <file>/etc/opendkim/SigningTable</file>
      <file>/etc/opendkim/TrustedHosts</file>
      <file file_type="variable" owner="opendkim" mode="400" source="opendkim.key" variable="postfix_relay_domains">opendkim_keys</file>
    </service>
    <service name="opendmarc" target="multi-user">
      <file engine="none" source="sysuser-opendmarc.conf">/sysusers.d/0opendmarc.conf</file>
      <file engine="none" source="tmpfile-opendmarc.conf">/tmpfiles.d/0opendmarc.conf</file>
      <file>/etc/opendmarc.conf</file>
    </service>
  </services>
  <variables>
    <family name="network">
      <variable name="dns_client_address" redefine="True"/>
      <variable name="outgoing_ports" redefine="True">
        <value>25</value>
      </variable>
      <variable name="incoming_ports" redefine="True">
        <value>25</value>
      </variable>
    </family>
    <family name="postfix" description="Postfix mail server">
      <variable name="postfix_mail_hostname" type="domainname" description="Nom de domaine extérieur du serveur de courriel" mandatory="True"/>
      <variable name="postfix_relay_domains" type="domainname" description="Domaine de courriel généré localement" multi="True" mandatory="True" hidden="True"/>
      <variable name='postfix_relay_authentifications' description="CA certificate" hidden='True' multi="True" provider="mail"/>
      <family name="local_authentification_" description="Local server authentification" dynamic='postfix_relay_authentifications'>
        <variable name="local_authentification_ip_" type="ip" provider="mail_ip"/>
        <variable name="local_authentification_password_" type="secret" auto_save="False" provider="mail_password"/>
      </family>
      <variable name='postfix_pem_files' type="filename" hidden='True' multi='True'/>
    </family>
    <family name="opendkim">
      <variable name="opendkim_keys" type="filename" description="Keys filename" multi="True" hidden="True"/>
    </family>
  </variables>
  <constraints>
    <fill name="get_provider_name">
      <param type="variable">zone_name_eth0</param>
      <param>ExternalDNS</param>
      <target>dns_client_address</target>
    </fill>
    <fill name="calc_value">
      <param>/etc/opendkim/keys/</param>
      <param type="variable">postfix_relay_domains</param>
      <param>.key</param>
      <param name="join"></param>
      <param name="multi" type="boolean">True</param>
      <target>opendkim_keys</target>
    </fill>
    <fill name="get_password">
      <param name="server_name" type="variable">domain_name_eth0</param>
      <param name="username" type="suffix"/>
      <param name="description">local authentification</param>
      <param name="type">cleartext</param>
      <param name="hide" type="variable">hide_secret</param>
      <target>local_authentification_password_</target>
    </fill>
    <fill name="calc_value">
      <param>/etc/postfix/certs/</param>
      <param type="variable">domain_name_eth</param>
      <param>.pem</param>
      <param name="join"></param>
      <param name="multi" type="boolean">True</param>
      <target>postfix_pem_files</target>
    </fill>
  </constraints>
</rougail>