136 lines
6.3 KiB
Markdown
136 lines
6.3 KiB
Markdown
# Personnalisons la configuration de Rougail
|
|
|
|
La configuration de rougail se trouve dans l'objet RougailConfig :
|
|
|
|
```python
|
|
from rougail import RougailConfig
|
|
```
|
|
|
|
C'est un simple dictionnaire python avec différentes clefs.
|
|
|
|
Pour modifier il suffit de faire :
|
|
|
|
```python
|
|
RougailConfig[key] = value
|
|
```
|
|
|
|
## Configuration de chargement des dictionnaires
|
|
|
|
### Les répertoires des dictionnaires
|
|
|
|
Il existe deux types de répertoires de dictionnaires :
|
|
|
|
- les dictionnaires principaux avec la clef `dictionaries_dir`. La valeur par défaut est `['/srv/rougail/dictionaries']`. Cette variable doit contenir la liste des répertoires contenants des dictionnaires.
|
|
|
|
- les dictionnaires extra avec la clef `extra_dictionaries`. La valeur est un dictionnaire avec l'ensemble des espaces de nom. La clef étant l'espace de nom et la valeur étant une liste de répertoire.
|
|
|
|
Par exemple pour ajouter l'extra `example` il faut faire :
|
|
|
|
```python
|
|
RougailConfig['extra_dictionaries']['example'] = ['/dir1', '/dir2']
|
|
```
|
|
|
|
Les dictionnaires sont chargés dans le même ordre que les dictionnaires principaux.
|
|
|
|
### Le fichier de fonction
|
|
|
|
Le fichier qui contient les fonctions personnalisés est géré dans la clef "functions_file" et a comme valeur par défaut "/srv/rougail/functions.py". Cette clef peut contenir une liste s'il y a plusieurs fichiers.
|
|
|
|
Les fonctions doivent retourner une valeur, même si la variable que l'on calcul est une variable multiple.
|
|
Si la fonction peut retourner une valeur multiple (une liste), il faut mettre le nom de la fonction dans la clef "multi_functions".
|
|
|
|
### La variable auto_freeze
|
|
|
|
La propriété auto_freeze n'est appliqué que une variable spécifique passe à True. Par défaut le nom de la variable est "instancied_module", mais il est possible de changer le nom de cette variable via la clef "auto_freeze_variable".
|
|
|
|
### Les modes
|
|
|
|
Les modes sont personnalisables dans Rougail. Par défaut les modes sont "basic", "normal" et "expert".
|
|
Il est possible de changer cette liste via la clef "modes_level".
|
|
|
|
Si vous changer ces valeurs, penser à changer les modes par défaut des familles et des variables.
|
|
|
|
### Le mode par défaut pour une famille
|
|
|
|
Le mode par défaut d'une famille est "basic". Il est possible de changer le mode par défaut d'une famille via la clef "default_family_mode".
|
|
|
|
### Le mode par défaut pour une variable
|
|
|
|
Le mode par défaut d'une variable est "normal". Il est possible de changer le mode par défaut d'une variable via la clef "default_variable_mode".
|
|
|
|
### Le nom des fonctions internes
|
|
|
|
Il est possible d'ajouter des fonctions interne via la clef "internal_functions".
|
|
|
|
## Configuration de la templatisation
|
|
|
|
### Le répertoire des templates
|
|
|
|
Le répertoire des templates est géré dans la clef "templates_dir" et a comme valeur par défaut : "/srv/rougail/templates". Cette clef peut contenir une liste s'il y a plusieurs répertoires.
|
|
|
|
### Le répertoire des patchs
|
|
|
|
Le répertoire des patches est géré dans la clef "patches_dir" et a comme valeur par défaut : "/srv/rougail/patches".
|
|
|
|
### Le répertoire temporaire
|
|
|
|
Le répertoire temporaire est utile lors de la génération de template. Il contient une copie des templates avec, éventuellement, les patches appliqués sur les templates.
|
|
|
|
Le répertoire de temporaire est géré dans la clef "tmp_dir" et a comme valeur par défaut : "/srv/rougail/tmp".
|
|
|
|
### Le répertoire de destination des fichiers générés
|
|
|
|
Le répertoire de destination des fichiers générés est géré dans la clef "destinations_dir" et a comme valeur par défaut : "/srv/rougail/destinations".
|
|
|
|
### Les informations systemd
|
|
|
|
Un certain nombre de variables concerne les templates systemd.
|
|
|
|
#### Les services
|
|
|
|
Les services sont générés dans le sous-répertoire de la clef "systemd_service_directory" (par défault "/systemd") du répertoire "destinations_dir" (voir plus haut) .
|
|
|
|
Par contre la racine de ce sous répertoire sur le système finale sera la valeur de la clef "systemd_service_destination_directory" (par défaut "/usr/local/lib").
|
|
Les autres services, non généré via Rougail, devront être dans le répertoire de la clef "system_service_directory" (par défault "/usr/lib/systemd/system").
|
|
|
|
Lorsqu'on [réécrit un service](../service/override.md) le fichier définit dans la clef "systemd_service_file" (par défaut "rougail.conf").
|
|
Les [IP](../service/ip.md) seront dans le fichier définit dans la clef "systemd_service_ip_file" (par défaut "rougail_ip.conf").
|
|
|
|
### Les tmpfiles
|
|
|
|
Les fichiers tmpfiles sont générés dans le sous-répertoire de la clef "systemd_tmpfile_directory" (par défault "/tmpfiles.d") du répertoire "destinations_dir" (voir plus haut) .
|
|
|
|
Par contre la racine de ce sous répertoire sur le système finale sera la valeur de la clef "systemd_tmpfile_factory_dir" (par défaut "/usr/local/lib").
|
|
|
|
Le fichier généré dans ce répertoire aura le nom définit dans la clef "systemd_tmpfile_file", donc "0rougail.conf" par défaut.
|
|
|
|
## La configuration par défaut des fichiers
|
|
|
|
### Le moteur de templates par défaut
|
|
|
|
Le moteur de template est géré dans la clef "default_files_engine" et a comme valeur par défaut : "cheetah". Les valeurs possible sont "none", "cheetah" ou "jinja".
|
|
|
|
### Les droits par défaut des fichiers
|
|
|
|
Les droits des fichiers générés est géré dans la clef "default_files_mode" (valeur de type nombre) et a comme valeur par défaut : 644.
|
|
|
|
### Le propriétaire par défaut des fichiers
|
|
|
|
Le propriétaire des fichiers générés est géré dans la clef "default_files_owner" et a comme valeur par défaut : "root".
|
|
Le groupe propriétaire des fichiers générés est géré dans la clef "default_files_group" et a comme valeur par défaut : "root".
|
|
|
|
### La méthode d'inclusion par défaut des fichiers
|
|
|
|
La méthode d'inclusion des fichiers générés est géré dans la clef "default_files_included" et a comme valeur par défaut : "no". Les valeurs possible sont "no", "name" et "content".
|
|
'default_files_included': 'no',
|
|
|
|
## La configuration du moteur de templates
|
|
|
|
Le moteur de template est géré dans la clef "default_overrides_engine" et a comme valeur par défaut : "cheetah". Les valeurs possible sont "none", "cheetah" ou "jinja".
|
|
|
|
## Ajout d'une fonction de conversion
|
|
|
|
Les fonctions de conversion fait parti du moteur de rougail. Il converti les informations des dictionnaires pour créer des variables Tiramisu.
|
|
|
|
La clef "extra_annotators" permet d'ajouter des fonctions complémentaires.
|
|
|