Ajout des timers systemd pour remplacer les crons
parent
c9ba53bad5
commit
84a9954ee4
|
@ -1,18 +1,25 @@
|
|||
# Service
|
||||
|
||||
Permet d'installer et de configurer des services issues
|
||||
d'un git. En parituclier, il sert à automatiquement
|
||||
configurer les scripts maisons du crans.
|
||||
Permet d'installer et de configurer des services issues d'un git. En
|
||||
parituclier, il sert à automatiquement configurer les scripts maisons du crans.
|
||||
|
||||
## Variables
|
||||
|
||||
```yaml
|
||||
services:
|
||||
name: nom du service
|
||||
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
|
||||
dependencies: liste des dépendances à installer (dans apt)
|
||||
git:
|
||||
remote: repo à cloner
|
||||
version: version
|
||||
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 }}
|
||||
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
|
||||
template:
|
||||
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