From 2299dbd8f4a00f4d50fc05cb833fd9749abdf07a Mon Sep 17 00:00:00 2001
From: shirenn <shirenn@crans.org>
Date: Fri, 18 Jun 2021 20:00:35 +0200
Subject: [PATCH] [service] make cron optional

---
 group_vars/dhcp.yml                                          | 5 +++--
 group_vars/firewall.yml                                      | 5 +++--
 .../routeur-gulp.cachan-adm.crans.org/prefix_delegation.yml  | 5 +++--
 roles/service/tasks/main.yml                                 | 2 ++
 roles/service/templates/cron.d/service.j2                    | 2 +-
 5 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/group_vars/dhcp.yml b/group_vars/dhcp.yml
index 0583a5a1..b181eb94 100644
--- a/group_vars/dhcp.yml
+++ b/group_vars/dhcp.yml
@@ -8,7 +8,8 @@ glob_service_dhcp:
   name: dhcp
   install_dir: /var/local/services/dhcp
   generated: yes
-  frequency: "*/2 * * * *"
-  options: -q
+  cron:
+    frequency: "*/2 * * * *"
+    options: -q
   dependencies:
     - python3-jinja2
diff --git a/group_vars/firewall.yml b/group_vars/firewall.yml
index e0d69129..5f5a9722 100644
--- a/group_vars/firewall.yml
+++ b/group_vars/firewall.yml
@@ -1,8 +1,9 @@
 glob_service_firewall:
   name: firewall
   install_dir: /var/local/services/firewall
-  frequency: "*/2 * * * *"
-  options: -q
+  cron:
+    frequency: "*/2 * * * *"
+    options: -q
   dependencies:
     - python3-iso8601
     - python3-jinja2
diff --git a/host_vars/routeur-gulp.cachan-adm.crans.org/prefix_delegation.yml b/host_vars/routeur-gulp.cachan-adm.crans.org/prefix_delegation.yml
index 6397cbad..1cb904ef 100644
--- a/host_vars/routeur-gulp.cachan-adm.crans.org/prefix_delegation.yml
+++ b/host_vars/routeur-gulp.cachan-adm.crans.org/prefix_delegation.yml
@@ -6,8 +6,9 @@ loc_service_prefix_delegation:
     user: services
     password: "{{ vault.re2o_service_password }}"
   name: prefix_delegation
-  install_dir: /var/local/services/prefix_delegation
-  frequency: "*/5 * * * *"
+  cron:
+    install_dir: /var/local/services/prefix_delegation
+    frequency: "*/5 * * * *"
   dependencies:
     - python3-iso8601
   git:
diff --git a/roles/service/tasks/main.yml b/roles/service/tasks/main.yml
index ec31e7de..78c40fa8 100644
--- a/roles/service/tasks/main.yml
+++ b/roles/service/tasks/main.yml
@@ -7,6 +7,7 @@
   register: apt_result
   retries: 3
   until: apt_result is succeeded
+  when: service.dependencies is defined
 
 - name: Create service directory
   file:
@@ -54,6 +55,7 @@
   template:
     src: cron.d/service.j2
     dest: "/etc/cron.d/services-{{ service.name }}"
+  when: service.cron is defined
 
 - name: Deploy service configuration
   template:
diff --git a/roles/service/templates/cron.d/service.j2 b/roles/service/templates/cron.d/service.j2
index 76847b5f..0bbc719e 100644
--- a/roles/service/templates/cron.d/service.j2
+++ b/roles/service/templates/cron.d/service.j2
@@ -1,2 +1,2 @@
 {{ ansible_header | comment }}
-{{ service.frequency }} root /usr/bin/python3 {{ service.install_dir }}/{{ service.name }}.py {{ service.options | default("") }}
+{{ service.cron.frequency }} root /usr/bin/python3 {{ service.install_dir }}/{{ service.name }}.py {{ service.cron.options | default("") }}
-- 
GitLab