From 3ac9da59b2feee3c27cb8be3d2bd093f45742010 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 23 Jan 2024 20:56:21 +0100 Subject: greenbone: add daily feed sync --- roles/greenbone/server/defaults/main.yml | 2 ++ roles/greenbone/server/tasks/main.yml | 17 +++++++++++++++++ roles/greenbone/server/templates/systemd.service.j2 | 8 ++++++++ roles/greenbone/server/templates/systemd.timer.j2 | 9 +++++++++ 4 files changed, 36 insertions(+) create mode 100644 roles/greenbone/server/templates/systemd.service.j2 create mode 100644 roles/greenbone/server/templates/systemd.timer.j2 (limited to 'roles/greenbone/server') diff --git a/roles/greenbone/server/defaults/main.yml b/roles/greenbone/server/defaults/main.yml index 9844fdbb..d4c58442 100644 --- a/roles/greenbone/server/defaults/main.yml +++ b/roles/greenbone/server/defaults/main.yml @@ -8,3 +8,5 @@ greenbone_server_version: 22.4 # ... # greenbone_server_admin_password: secret + +# greenbone_feed_update_schedule: 08:08 diff --git a/roles/greenbone/server/tasks/main.yml b/roles/greenbone/server/tasks/main.yml index 6fd11271..090f2746 100644 --- a/roles/greenbone/server/tasks/main.yml +++ b/roles/greenbone/server/tasks/main.yml @@ -71,3 +71,20 @@ exit 0 dest: "/usr/local/bin/update-greenbone.{{ greenbone_server_hostname }}" mode: 0755 + +- name: install systemd units for feed updates + when: greenbone_feed_update_schedule is defined + loop: + - service + - timer + template: + src: "systemd.{{ item }}.j2" + dest: "/etc/systemd/system/update-greenbone_{{ greenbone_server_hostname }}.{{ item }}" + +- name: make sure systemd is started and enabled + when: greenbone_feed_update_schedule is defined + systemd: + daemon_reload: yes + name: "update-greenbone_{{ greenbone_server_hostname }}.timer" + enabled: yes + state: started diff --git a/roles/greenbone/server/templates/systemd.service.j2 b/roles/greenbone/server/templates/systemd.service.j2 new file mode 100644 index 00000000..42a92760 --- /dev/null +++ b/roles/greenbone/server/templates/systemd.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=greenbone feed update for {{ greenbone_server_hostname }} +After=docker.service +Requires=docker.service + +[Service] +Type=oneshot +ExecStart="/usr/local/bin/update-greenbone.{{ greenbone_server_hostname }}" diff --git a/roles/greenbone/server/templates/systemd.timer.j2 b/roles/greenbone/server/templates/systemd.timer.j2 new file mode 100644 index 00000000..d162c3a1 --- /dev/null +++ b/roles/greenbone/server/templates/systemd.timer.j2 @@ -0,0 +1,9 @@ +[Unit] +Description=greenbone feed update for {{ greenbone_server_hostname }} + +[Timer] +OnCalendar={{ greenbone_feed_update_schedule }} +AccuracySec=10s + +[Install] +WantedBy=timers.target -- cgit v1.2.3