rougail/doc/service/override.md

76 lines
1.4 KiB
Markdown
Raw Normal View History

2021-11-24 18:06:09 +01:00
# Réécriture du service
2021-02-10 08:19:33 +01:00
2021-02-12 18:08:28 +01:00
## La balise override
2021-02-10 08:19:33 +01:00
La gestion des overrides se fait dans un conteneur de [service](README.md).
2021-02-14 10:12:42 +01:00
2021-02-12 18:08:28 +01:00
La balise override permet de redéfinir facilement un service systemd.
Il suffit d'avoir un template dont le nom est par défaut le nom du service avec l'extension "service" et de déclarer la balise :
2022-11-03 22:17:43 +01:00
```xml
2021-02-12 18:08:28 +01:00
<services>
2021-12-11 16:33:55 +01:00
<service name="squid">
<override/>
</service>
2021-02-12 18:08:28 +01:00
</services>
```
2022-11-02 22:52:50 +01:00
En YAML :
2022-11-03 22:17:43 +01:00
```yml
2022-11-02 22:52:50 +01:00
services:
- service:
- name: squid
override: null
```
2021-02-12 18:08:28 +01:00
Dans cette exemple, le template associé doit s'appeler squid.service
Si le fichier service a un nom différent (par exemple si plusieurs template se retrouve avec le même nom), il est possible de changer le nom du template avec l'attribut source :
2022-11-03 22:17:43 +01:00
```xml
2021-02-12 18:08:28 +01:00
<override source="test.service"/>
```
2022-11-02 22:52:50 +01:00
En YAML :
2022-11-03 22:17:43 +01:00
```yml
2022-11-02 22:52:50 +01:00
override:
- source: test.service
```
2021-02-12 18:08:28 +01:00
Dans ce cas le fichier de destination aura le même nom.
## Choix du moteur de templating
2022-11-10 22:58:24 +01:00
Par défaut, le moteur de templating est le moteur de templating compatible avec "cheetah".
2021-02-12 18:08:28 +01:00
2021-02-20 18:01:13 +01:00
Il est possible de désactiver la templatisation du fichier (il sera alors uniquement copié) :
2021-02-12 18:08:28 +01:00
2022-11-03 22:17:43 +01:00
```xml
<override engine="none"/>
2021-02-12 18:08:28 +01:00
```
2021-02-20 18:01:13 +01:00
2022-11-02 22:52:50 +01:00
En YAML :
2022-11-03 22:17:43 +01:00
```yml
2022-11-02 22:52:50 +01:00
override:
- engine: 'none'
```
2022-11-10 22:58:24 +01:00
Ou d'utiliser le moteur "jinja" :
2021-02-20 18:01:13 +01:00
2022-11-03 22:17:43 +01:00
```xml
2022-11-10 22:58:24 +01:00
<override engine="jinja"/>
2021-02-20 18:01:13 +01:00
```
2022-11-02 22:52:50 +01:00
En YAML :
2022-11-03 22:17:43 +01:00
```yml
2022-11-02 22:52:50 +01:00
override:
2022-11-10 22:58:24 +01:00
- engine: 'jinja'
2022-11-02 22:52:50 +01:00
```
Il est possible de personnaliser le moteur par défaut dans la [configuration de rougail](../dev/config.md)