131 lines
6.6 KiB
XML
131 lines
6.6 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<rougail version="0.10">
|
|
<services>
|
|
<service name="postfix" target="multi-user">
|
|
<override engine="none"/>
|
|
<certificate format="pem" authority="External" type="server" domain="submission_domainname" provider="mail_crt_provider" certificate_type="variable">submission_domainname</certificate>
|
|
<certificate format="pem" server="last_server_name" domain="last_server_name" authority="InternalMail" owner="postfix" type="server">postfixlocal</certificate>
|
|
<certificate authority="Mail" owner="postfix" type="server">postfix</certificate>
|
|
<certificate authority="LDAP" owner="postfix" server="ldap_server_address">postfix_ldap_client</certificate>
|
|
<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 engine="ansible">/etc/postfix/main.cf</file>
|
|
<file engine="none">/etc/postfix/master.cf</file>
|
|
<file engine="ansible">/etc/postfix/relay_passwd</file>
|
|
<file engine="ansible">/etc/postfix/ldapsource.cf</file>
|
|
<file engine="ansible">/etc/postfix/sni</file>
|
|
<file engine="ansible" mode="700">/sbin/risotto_backup</file>
|
|
</service>
|
|
<service name='dovecot-init'>
|
|
<override engine="none"/>
|
|
<file engine="none">/etc/nginx/default.d/autoconfig.conf</file>
|
|
</service>
|
|
<service name='nginx'>
|
|
<file engine="ansible" source='config-v1.1.xml' file_type="variable" variable="mail_domains">well_known_filenames</file>
|
|
</service>
|
|
<service name="dovecot" target="multi-user">
|
|
<certificate authority="External" type="server" domain="imap_domainname" provider="mail_crt_provider" certificate_type="variable">imap_domainname</certificate>
|
|
<certificate authority="IMAP" domain="last_server_name" owner="dovecot" type="server">dovecot</certificate>
|
|
<file engine="none" source="sysuser-dovecot.conf">/sysusers.d/1dovecot.conf</file>
|
|
<file engine="none" source="tmpfile-dovecot.conf">/tmpfiles.d/0dovecot.conf</file>
|
|
<file engine='none'>/etc/dovecot/conf.d/10-logging.conf</file>
|
|
<file engine='none'>/etc/dovecot/conf.d/10-auth.conf</file>
|
|
<file engine='none'>/etc/dovecot/conf.d/10-mail.conf</file>
|
|
<file engine="ansible">/etc/dovecot/conf.d/10-master.conf</file>
|
|
<file engine="ansible">/etc/dovecot/conf.d/10-ssl.conf</file>
|
|
<file engine='none'>/etc/dovecot/conf.d/15-ldap.conf</file>
|
|
<file engine='none'>/etc/dovecot/conf.d/30-service-stats.conf</file>
|
|
<file engine='none'>/etc/dovecot/conf.d/00-risotto.conf</file>
|
|
<!--plain authentification-->
|
|
<file engine="none">/etc/dovecot/conf.d/auth-ldap.conf.ext</file>
|
|
<file engine="ansible">/etc/dovecot/dovecot-ldap.conf.ext</file>
|
|
<!--oauth2 authentification-->
|
|
<file engine="none">/etc/dovecot/conf.d/auth-oauth2.conf.ext</file>
|
|
<file engine="ansible">/etc/dovecot/dovecot-oauth2.conf.ext</file>
|
|
<!--internal authentification-->
|
|
<file engine="ansible" filelist="copy_tests">/tests/imap.yml</file>
|
|
</service>
|
|
</services>
|
|
<variables>
|
|
<family name="network">
|
|
<variable name="incoming_ports" redefine="True">
|
|
<value>587</value>
|
|
<value>993</value>
|
|
</variable>
|
|
</family>
|
|
<family name="ldap">
|
|
<family name="client">
|
|
<variable name='ldapclient_family' redefine="True">
|
|
<value>all</value>
|
|
</variable>
|
|
<variable name="ldap_key_file_owner" redefine="True">
|
|
<value>dovecot</value>
|
|
</variable>
|
|
</family>
|
|
</family>
|
|
<family name="mail" description="Mail configuration">
|
|
<family name="domain" description="Mail domain" leadership="True">
|
|
<variable name="mail_domains" type="domainname" description="Domaine de courriel géré localement" mandatory="True" multi="True" supplier="LMTP:criteria" test="example.net"/>
|
|
<variable name="mail_domains_calc" type="domainname" hidden="True"/>
|
|
<variable name="imap_domainname" type="domainname" description="Domaine exterieur d'accès au serveur IMAP" mandatory="True" test="imap.example.net"/>
|
|
<variable name="submission_domainname" type="domainname" description="Domaine exterieur d'accès au serveur submission" mandatory="True" test="submission.example.net"/>
|
|
</family>
|
|
<variable name="mail_crt_provider" type="choice" description="Autorité de certification signant les certificats des domaines extérieurs" mandatory="True">
|
|
<value>self-signed</value>
|
|
<choice>self-signed</choice>
|
|
<choice>letsencrypt</choice>
|
|
</variable>
|
|
</family>
|
|
<family name="dovecot" description="IMAP mail server">
|
|
<variable name="imap_internal_addresses" type="domainname" description="IMAP client address" mandatory="True" provider="IMAP" multi="True"/>
|
|
<variable name="well_known_filenames" type="filename" hidden='True' multi="True"/>
|
|
</family>
|
|
<family name="revprox">
|
|
<family name="revprox_client">
|
|
<variable name="revprox_client_external_domainnames" redefine="True" hidden="True"/>
|
|
<variable name="revprox_client_web_address" redefine="True" hidden="True"/>
|
|
</family>
|
|
</family>
|
|
<family name="nginx" hidden="True">
|
|
<variable name="nginx_root" redefine='True'>
|
|
<value>/var/www/html</value>
|
|
</variable>
|
|
</family>
|
|
<!-- just for doc ... -->
|
|
<family name="oauth2_client" hidden="True"/>
|
|
</variables>
|
|
<constraints>
|
|
<!--fill name="calc_value">
|
|
<param type="variable">domain_name_eth0</param>
|
|
<target>imap_internal_address</target>
|
|
</fill-->
|
|
<fill name="calc_value">
|
|
<param type="variable">mail_domains</param>
|
|
<target>mail_domains_calc</target>
|
|
</fill>
|
|
<fill name="calc_value">
|
|
<param>/var/www/html/mail/</param>
|
|
<param type="variable">mail_domains</param>
|
|
<param>/autodiscover/autodiscover.xml</param>
|
|
<!--param>/config-v1.1.xml</param-->
|
|
<param name="join"></param>
|
|
<param name="multi" type="boolean">True</param>
|
|
<target>well_known_filenames</target>
|
|
</fill>
|
|
<fill name="calc_well_known">
|
|
<param type="index"/>
|
|
<param type="variable">domain_name_eth0</param>
|
|
<param type="variable">mail_domains</param>
|
|
<target>revprox_client_web_address</target>
|
|
</fill>
|
|
<fill name="calc_domains">
|
|
<param type="variable">mail_domains</param>
|
|
<target>revprox_client_external_domainnames</target>
|
|
</fill>
|
|
<fill name="calc_locations">
|
|
<param type="variable">revprox_client_external_domainnames</param>
|
|
<param type="index"/>
|
|
<target>revprox_client_location</target>
|
|
</fill>
|
|
</constraints>
|
|
</rougail>
|