<?xml version='1.0' encoding='UTF-8'?>
<rougail version="0.10">
  <services>
    <service name="vaultwarden" target="multi-user">
      <override/>
      <file engine="none" source="tmpfile-vaultwarden.conf">/tmpfiles.d/0vaultwarden.conf</file>
      <file source="vaultwarden_config.env">/etc/vaultwarden/config.env</file>
    </service>
  </services>
  <variables>
    <family name="nginx">
      <family name="revprox_client">
        <variable name="revprox_client_location" redefine="True">
          <value>/</value>
          <value>/notifications/hub</value>
          <value>/notifications/hub/negotiate</value>
        </variable>
      </family>
      <variable name="revprox_client_cert_owner" redefine="True" hidden="True">
        <value>vaultwarden</value>
      </variable>
    </family>
    <family name="vaultwarden" description="Vaultwarden">
      <variable name="password_admin_username" description="Nom de l'utilisateur Risotto de Vaultwarden" auto_freeze="True">
        <value>risotto</value>
      </variable>
      <variable name="vaultwarden_admin_email" type="mail" description="Adresse courriel de l'utilisateur Risotto" mandatory="True"/>
      <variable name="vaultwarden_admin_password" type="password" description="Mot de passe de l'utilisateur Risotto" auto_save="True" hidden="True"/>
      <variable name="vaultwarden_device_identifier" description="Identifiant de l'appareil se connectant" auto_save="True" hidden="True"/>
      <variable name="vaultwarden_length" type="number" description="Taille par défaut du mot de passe">
        <value>20</value>
      </variable>
      <variable name="vaultwarden_org_name" description="Nom de l'organisation lors de l'envoi des invitations" mandatory="True">
        <value>Vaultwarden</value>
      </variable>
    </family>
  </variables>
  <constraints>
    <fill name="get_password">
      <param name="server_name" type="variable">domain_name_eth0</param>
      <param name="username">admin_password</param>
      <param name="description">vaultwarden</param>
      <param name="type">cleartext</param>
      <target>vaultwarden_admin_password</target>
    </fill>
    <fill name="gen_uuid">
      <target>vaultwarden_device_identifier</target>
    </fill>
    <fill name="calc_value">
      <param type="boolean">True</param>
      <param name="default" type="boolean">False</param>
      <param name="condition" type="variable">revprox_client_location</param>
      <param name="expected">/notifications/hub</param>
      <target>revprox_client_is_websocket</target>
    </fill>
  </constraints>
</rougail>