<?xml version="1.0" encoding="utf-8"?>
<rougail version="0.10">
  <services>
    <service name="slapd" target="multi-user">
      <override/>
      <file source='default.slapd'>/etc/default/slapd</file>
      <file>/etc/pki/tls/certs/openldap.crt</file>
      <file owner="ldap" mode="400">/etc/pki/tls/private/openldap.key</file>
      <file owner="ldap">/var/lib/ldap/DB_CONFIG</file>
      <file>/secrets/users.ldif</file>
      <file>/secrets/users_mod.ldif</file>
      <file>/secrets/config.ldif</file>
      <file>/secrets/config_acl.ldif</file>
      <file>/secrets/admin_ldap.pwd</file>
      <file engine="none">/sysusers.d/risotto-openldap.conf</file>
      <file source="tmpfile-openldap-server.conf">/tmpfiles.d/0openldap-server.conf</file>
	  <file>/tests/openldap.yml</file>
    </service>
  </services>

  <variables>
    <family name="annuaire">
      <family name="server">
        <variable name='ldap_server_address' redefine="True" hidden="True"/>
        <variable name='ldap_schemas' type='filename' description='Schémas LDAP additionnel' multi='True'>
          <value>/etc/openldap/schema/cosine.ldif</value>
          <value>/etc/openldap/schema/inetorgperson.ldif</value>
          <value>/etc/openldap/schema/nis.ldif</value>
          <value>/etc/openldap/schema/misc.ldif</value>
        </variable>
        <family name='limits' description='Limites' mode='expert'>
          <variable name='ldap_loglevel' type='number' description='Niveau de log' mode="expert">
            <value>0</value>
          </variable>
          <variable name='ldap_sizelimit' type='number' description="Nombre maximum d'entrées à retourner lors d'une requête" mode="expert">
            <value>5000</value>
          </variable>
          <variable name='ldap_timelimit' type='number' description='Temps de réponse maximum à une requête (en secondes)' mode="expert">
            <value>3600</value>
          </variable>
        </family>
        <family name='db_environment' description='DB environment' mode='expert'>
          <variable name='db_cache_size_g' description="Quantité de Giga-octets à utiliser pour le cache HDB" type="number">
            <value>0</value>
          </variable>
          <variable name='db_cache_size_o' description="Quantité d'octets à utiliser pour le cache HDB" type="number">
            <value>268435456</value>
          </variable>
          <variable name='db_cache_chunks' description="Nombre de fichiers ou écrire le cache HDB" type="number">
            <value>1</value>
          </variable>
          <variable name='db_log_region_max' type='number' description="Quantité de fichier de cache mis en cache mémoire">
            <value>262144</value>
          </variable>
          <variable name='db_log_max' type='number' description="Quantité d'informations de journalisation conservé jusqu'à rotation">
            <value>10485760</value>
          </variable>
          <variable name='db_log_bsize' type='number' description="Quantité d'informations de journalisation du cache reporté sur le disque">
            <value>2097152</value>
          </variable>
          <variable name='db_log_directory' type='filename' description='Répertoire de conservation des informations de journalisation'>
            <value>/srv/openldap/log</value>
          </variable>
          <variable name='db_lk_max_objects' type='number' description="Nombre d'objet qui peuvent être verrouillés simultanément ">
            <value>5000</value>
          </variable>
          <variable name='db_lk_max' type='number' description='Nombre de verrous maximal'>
            <value>5000</value>
          </variable>
          <variable name='db_lk_max_lockers' type='number' description='Nombre de verroulleur maximal'>
            <value>5000</value>
          </variable>
        </family>
      </family>
      <family name="client">
        <variable name='ldapclient_user' redefine="True"/>
        <!--variable name='ldapclient_user_password' redefine="True"/-->
        <variable name='ldapclient_family' redefine="True" disabled="True"/>
        <variable name='ldapclient_base_dn' redefine="True" mandatory="True" provider="ldap_dn"  description="Base DN"/>
        <variable name='ldap_account_dn' type='string' description="Base DN de l'annuaire des utilisateurs" mandatory="True"/>
        <variable name='ldap_user_dn' type='string' description="Base DN de l'annuaire des utilisateurs n'appartenant à une famille" mandatory="True"/>
        <variable name='ldap_group_dn' type='string' description="Base DN de l'annuaire des groupes" mandatory="True" provider="ldap_group"/>
      </family>
    </family>
  </variables>
  <constraints>
    <!--fill/auto-->
    <fill name='calc_value'>
      <param type='variable'>domain_name_eth0</param>
      <target>ldap_server_address</target>
    </fill>
    <fill name='get_default_base_dn'>
      <param type="variable">domain_name_eth0</param>
      <target>ldapclient_base_dn</target>
    </fill>
    <fill name="calc_ldapclient_base_dn">
      <param type="variable">ldapclient_base_dn</param>
      <param name="base" type="boolean">True</param>
      <target>ldap_account_dn</target>
    </fill>
    <fill name="calc_ldapclient_base_dn">
      <param type="variable">ldapclient_base_dn</param>
      <param name="group" type="boolean">True</param>
      <target>ldap_group_dn</target>
    </fill>
    <fill name="calc_ldapclient_base_dn">
      <param type="variable">ldapclient_base_dn</param>
	  <target>ldap_user_dn</target>
    </fill>
    <fill name='calc_value'>
      <param>cn=admin</param>
      <param type='variable'>ldapclient_base_dn</param>
      <param name="join">,</param>
      <target>ldapclient_user</target>
    </fill>
  </constraints>
</rougail>