Configuration / fichiers utiles
###############################

Les fichiers de configuration sont gérés par les procédures d'installation ou de mise à niveau de l'environnement :term:`VITAM`. Se référer au :term:`DIN`.

Les fichiers de configuration sont définis sous ``/vitam/conf/functional-administration``.


Fichier ``functional-administration.conf``
-------------------------------------------

ce fichier permet de définir l'URL d'accès au access server.

.. literalinclude:: ../../../../../deployment/ansible-vitam/roles/vitam/templates/functional-administration/functional-administration.conf.j2
   :language: text

Passage des identifiants des référentiels en mode esclave
----------------------------------------------------------

La génération des identifiants des référentiels est gérée par Vitam quand il fonctionne en mode maître.

Par exemple :

- Préfixé par ``PR-`` our les profils
- Préfixé par ``IC-`` pour les contrats d'entrée
- Préfixé par ``AC-`` pour les contrats d'accès

Si vous souhaitez gérer vous-même les identifiants sur un service référentiel, il faut qu'il soit en mode esclave.

.. note:: Cette modification de comportement est réalisable post-installation. Une interruption temporaire de service est à prévoir (redémarrage du service ``vitam-functional-administration``.

Par défaut, tous les services référentiels de :term:`VITAM` fonctionnent en mode maître. Pour désactiver le mode maître de Vitam, il faut modifier le fichier de configuration  ``/vitam/conf/functional-administration/functional-administration.conf``. 

.. code-block:: text

 # ExternalId configuration

 listEnableExternalIdentifiers:
  0:
    - INGEST_CONTRACT
    - ACCESS_CONTRACT
  1:
    - INGEST_CONTRACT
    - ACCESS_CONTRACT
    - PROFILE
    - SECURITY_PROFILE
    - CONTEXT
   
Depuis la version 1.0.4, la configuration par défaut de Vitam autorise des identifiants externes (ceux qui sont dans le fichier json importé).

 - pour le tenant 0 pour les référentiels : contrat d'entrée et contrat d'accès.
 - pour le tenant 1 pour les référentiels : contrat d'entrée, contrat d'accès, profil, profil de sécurité et contexte.

La liste des choix possibles, pour chaque tenant, est :

  - INGEST_CONTRACT : contrats d'entrée
  - ACCESS_CONTRACT : contrats d'accès
  - PROFILE : profils SEDA
  - SECURITY_PROFILE : profils de sécurité (utile seulement sur le tenant d'administration)
  - CONTEXT : contextes applicatifs (utile seulement sur le tenant d'administration)
  - ARCHIVE_UNIT_PROFILE : profils d'unités archivistiques

.. note:: se référer au métier pour ces choix.

.. warning:: Cette modification implique le redémarrage du/des composants (si mono-instance ou multi-instances du composant). 

.. caution:: En mode "esclave", il est fortement recommandé de faire débuter les référentiels avec d'autres chaînes de caractères que celle définies en mode "maître".

.. caution:: Ne pas oublier de répercuter cette modification sur le site secondaire

Paramétrage du batch de calcul pour l'indexation des règles héritées
---------------------------------------------------------------------

La paramétrage du batch de calcul pour l'indexation des règles héritées peut être réalisé dans le fichier ``/group_vars/all/advanced/vitam_vars.yml``. 

La section suivante du fichier ``vitam_vars.yml`` permet de paramétrer la fréquence de passage du batch : 

.. code:: json

    vitam_timers: 
        metadata:
            - name: vitam-metadata-computed-inherited-rules
              frequency: "*-*-* 02:30:00"

La section suivante du fichier ``vitam_vars.yml`` permet de paramétrer la liste des tenants sur lequels s'exécute le batch :  

.. code:: json

    vitam:
      worker:
            # api_output_index_tenants : permet d'indexer les règles de gestion, les chemins des règles et les services producteurs
            api_output_index_tenants: [0,1,2,3,4,5,6,7,8,9] 
            # rules_index_tenants : permet d'indexer les règles de gestion 
            rules_index_tenants: [0,1,2,3,4,5,6,7,8,9]


Configuration du Functional administration
-------------------------------------------

**functional-administration.conf** : Fichier Yaml de configuration du server *worker*.  Il possède une propriété :

- **listMinimumRuleDuration**: la durée minimum de chaque type de règle par tenant

.. code-block:: yaml

  listMinimumRuleDuration:
    2:
      AppraisalRule : 1 year

