From 8eb721c09b168f46aa8b1a88bc2701f055bf8eb9 Mon Sep 17 00:00:00 2001 From: Arthur BOUDREAULT <arthur@lydra.fr> Date: Fri, 21 Jan 2022 13:11:28 +0100 Subject: [PATCH] refactor: minor changes in template script, add new var dest_script --- README-FR.md | 3 ++- README.md | 6 ++++-- defaults/main.yml | 5 +++-- tasks/autoupdate.yml | 5 +++-- templates/ynh_autoupdate.sh.j2 | 24 ++++++++++++++---------- 5 files changed, 26 insertions(+), 17 deletions(-) diff --git a/README-FR.md b/README-FR.md index 41da43f..0644a77 100644 --- a/README-FR.md +++ b/README-FR.md @@ -143,11 +143,12 @@ ynh_autoupdate: ``` Une tâche cron peut être mise en place pour automatiser la vérification des mises à jour système et applications suivant la périodicité de votre choix. - - `ynh_autoupdate.scheduled` : Activez la tâche cron en mettant la valeur à `True`. + - `ynh_autoupdate.scheduled` : activez la tâche cron en mettant la valeur à `True`. - `ynh_autoupdate.special_time`: est indispensable. Elle permet de préciser quand vous souhaitez que cette tâche soit exécutée. Valeurs possibles : (`annually`,`daily`,`hourly`,`monthly`,`reboot`,`weekly`,`yearly`). Pour en savoir plus sur les _special times_, cliquez [ici](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/cron_module.html). - `ynh_autoupdate.apps` : est indispensable. Activez la mise à jour automatique des applications Yunohost en mettant la valeur à `True`. - `ynh_autoupdate.system` : est indispensable. Activez la mise à jour automatique du système Yunohost en mettant la valeur à `True`. + - `ynh_autoupdate.dest_script` est obligatoire. Il s'agit du répertoire où le fichier de template va être stocké. Si des mises à jour sont disponibles, elles sont faites automatiquement. En cas de problème suite à la mise à jour d'une application, vous pouvez lire les logs qui sont disponibles ici `/var/log/yunohost/categories/operation`. Vous avez aussi la possibilité de revenir à la version précédente car Yunohost fait toujours une sauvegarde automatique d'une application lorsqu'elle est mise à jour. diff --git a/README.md b/README.md index bd6a617..8154e48 100644 --- a/README.md +++ b/README.md @@ -140,13 +140,15 @@ ynh_autoupdate: special_time: "daily" #Choices are [annually,daily,hourly,monthly,reboot,weekly,yearly] apps: True system: True + dest_script: "/usr/local/bin/ynh_autoupdate.sh" ``` A cron job can been set up to automate the check for system and application updates on a schedule of your choice. - - `ynh_autoupdate.scheduled` : Enable the cron job by setting the value to `True`. - - `ynh_autoupdate.special_time`: It is mandatory. It allows you to specify when you want this task to be executed. Possible values: (`annually`,`daily`,`hourly`,`monthly`,`reboot`,`weekly`,`yearly`). To learn more about special times, click [here](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/cron_module.html). + - `ynh_autoupdate.scheduled` : enable the cron job by setting the value to `True`. + - `ynh_autoupdate.special_time`: it is mandatory. It allows you to specify when you want this task to be executed. Possible values: (`annually`,`daily`,`hourly`,`monthly`,`reboot`,`weekly`,`yearly`). To learn more about special times, click [here](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/cron_module.html). - `ynh_autoupdate.apps`: is required. Enable automatic updating of Yunohost applications by setting the value to `True`. - `ynh_autoupdate.system`: is required. Enable automatic updating of the Yunohost system by setting the value to `True`. + - `ynh_autoupdate.dest_script` is mandatory. This is the directory where the template script will be stored. If available, updates are done automatically. In case of problems following an application update, you can read logs located in `/var/log/yunohost/categories/operation` . You also have the possibility to rollback to the previous version since Yunohost always makes an automatic backup of an application when it is updated. diff --git a/defaults/main.yml b/defaults/main.yml index e193802..18adf50 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -67,5 +67,6 @@ ynh_apps: null ynh_autoupdate: scheduled: False # special_time: "daily" #Choices are [annually,daily,hourly,monthly,reboot,weekly,yearly] - # apps: False - # system: False \ No newline at end of file + # apps: True + # system: True + # dest_script: "/usr/local/bin/ynh_autoupdate.sh" diff --git a/tasks/autoupdate.yml b/tasks/autoupdate.yml index 754c10b..d0ec3e1 100644 --- a/tasks/autoupdate.yml +++ b/tasks/autoupdate.yml @@ -21,7 +21,7 @@ - name: Creates Yunohost autoupdate script ansible.builtin.template: src: "templates/ynh_autoupdate.sh.j2" - dest: "/usr/local/bin/ynh_autoupdate.sh" + dest: "{{ ynh_autoupdate.dest_script }}" owner: root group: root mode: '0740' @@ -32,4 +32,5 @@ Logs can be found in /var/log/yunohost/categories/operation" special_time: "{{ ynh_autoupdate.special_time }}" user: root - job: "/usr/local/bin/ynh_autoupdate.sh" + job: "{{ ynh_autoupdate.dest_script }}" + cron_file: ynh_autoupdate_cron diff --git a/templates/ynh_autoupdate.sh.j2 b/templates/ynh_autoupdate.sh.j2 index 4329412..05df184 100644 --- a/templates/ynh_autoupdate.sh.j2 +++ b/templates/ynh_autoupdate.sh.j2 @@ -1,16 +1,20 @@ #!/bin/sh {% if ynh_autoupdate.apps and ynh_autoupdate.system %} - yunohost tools update && \ - yunohost tools upgrade system && \ - yunohost tools upgrade apps +yunohost tools update && \ +yunohost tools upgrade system && \ +yunohost tools upgrade apps + {% elif ynh_autoupdate.apps %} - yunohost tools update && \ - yunohost tools upgrade apps +yunohost tools update && \ +yunohost tools upgrade apps + {% elif ynh_autoupdate.system %} - yunohost tools update && \ - yunohost tools upgrade system +yunohost tools update && \ +yunohost tools upgrade system + {% else %} - echo "Read the readme to know more about ynh_autoupdate.apps and ynh_autoupdate.system" - exit 1 -{% endif %} \ No newline at end of file +echo "Read the readme to know more about ynh_autoupdate.apps and ynh_autoupdate.system" +echo "https://lab.frogg.it/lydra/yunohost/ansible-yunohost/-/blob/main/README.md" +exit 1 +{% endif %} -- GitLab