Ajout des timers systemd pour remplacer les crons
parent
c9ba53bad5
commit
84a9954ee4
|
@ -1,18 +1,25 @@
|
||||||
# Service
|
# Service
|
||||||
|
|
||||||
Permet d'installer et de configurer des services issues
|
Permet d'installer et de configurer des services issues d'un git. En
|
||||||
d'un git. En parituclier, il sert à automatiquement
|
parituclier, il sert à automatiquement configurer les scripts maisons du crans.
|
||||||
configurer les scripts maisons du crans.
|
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
|
```yaml
|
||||||
services:
|
services:
|
||||||
name: nom du service
|
name: nom du service
|
||||||
install_dir: chemin où le repo sera cloner
|
install_dir: chemin où le repo sera cloner
|
||||||
cron:
|
systemd: si existe, configure un systemd service
|
||||||
|
catégorie: par exemple Unit ou Service
|
||||||
|
option: valeur -> par exemple Restart: on-failure
|
||||||
|
timer: si existe, configure un timer systemd
|
||||||
|
catégorie: par exemple Timer
|
||||||
|
option: valeur -> par exemple OnCalendar: "23:59"
|
||||||
|
cron: si existe configure un cron
|
||||||
frequency: fréquence d'éxécution du cron
|
frequency: fréquence d'éxécution du cron
|
||||||
dependencies: liste des dépendances à installer (dans apt)
|
dependencies: liste des dépendances à installer (dans apt)
|
||||||
git:
|
git:
|
||||||
remote: repo à cloner
|
remote: repo à cloner
|
||||||
version: version
|
version: version
|
||||||
config: variable à écrire dans le fichier de configuration {{ service.install_dir }}/{{ service.name }}.json
|
config: variable à écrire dans le fichier de configuration {{ service.install_dir }}/{{ service.name }}.json
|
||||||
|
```
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Restart timer
|
||||||
|
service:
|
||||||
|
name: services-{{ service.name }}.timer
|
||||||
|
enabled: true
|
||||||
|
state: restarted
|
||||||
|
|
||||||
|
- name: systemctl daemon-reload
|
||||||
|
systemd:
|
||||||
|
daemon_reload: true
|
|
@ -57,6 +57,23 @@
|
||||||
dest: /etc/cron.d/services-{{ service.name }}
|
dest: /etc/cron.d/services-{{ service.name }}
|
||||||
when: service.cron is defined and service.cron.frequency is defined
|
when: service.cron is defined and service.cron.frequency is defined
|
||||||
|
|
||||||
|
- name: Deploy systemd service
|
||||||
|
template:
|
||||||
|
src: systemd/system/service.service.j2
|
||||||
|
dest: /etc/systemd/system/services-{{ service.name }}.service
|
||||||
|
notify:
|
||||||
|
- systemctl daemon-reload
|
||||||
|
when: service.systemd is defined
|
||||||
|
|
||||||
|
- name: Deploy systemd timer
|
||||||
|
template:
|
||||||
|
src: systemd/system/service.timer.j2
|
||||||
|
dest: /etc/systemd/system/services-{{ service.name }}.timer
|
||||||
|
notify:
|
||||||
|
- Restart timer
|
||||||
|
- systemctl daemon-reload
|
||||||
|
when: service.timer is defined
|
||||||
|
|
||||||
- name: Deploy service configuration
|
- name: Deploy service configuration
|
||||||
template:
|
template:
|
||||||
src: service/config.json
|
src: service/config.json
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
{{ ansible_header | comment }}
|
||||||
|
|
||||||
|
{% for category in service.systemd %}
|
||||||
|
|
||||||
|
[{{ category }}]
|
||||||
|
{% for option in service.systemd[category] %}
|
||||||
|
{{ option }}={{ service.systemd[category][option] }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
|
@ -0,0 +1,9 @@
|
||||||
|
{{ ansible_header | comment }}
|
||||||
|
|
||||||
|
{% for category in service.timer %}
|
||||||
|
|
||||||
|
[{{ category }}]
|
||||||
|
{% for option in service.timer[category] %}
|
||||||
|
{{ option }}={{ service.timer[category][option] }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
Loading…
Reference in New Issue