From 5effc3f0aa45d234caf33caed171222ac64a3554 Mon Sep 17 00:00:00 2001 From: moson <moson@archlinux.org> Date: Mon, 21 Aug 2023 09:25:55 +0200 Subject: [PATCH] aurweb: Refactor tasks for services/timers Use variables to define our systemd unit files. Signed-off-by: moson <moson@archlinux.org> --- roles/aurweb/defaults/main.yml | 24 ++++++++++++++ roles/aurweb/tasks/main.yml | 59 +++++++--------------------------- 2 files changed, 36 insertions(+), 47 deletions(-) diff --git a/roles/aurweb/defaults/main.yml b/roles/aurweb/defaults/main.yml index 35c1715d5..f0d8955fb 100644 --- a/roles/aurweb/defaults/main.yml +++ b/roles/aurweb/defaults/main.yml @@ -26,3 +26,27 @@ aurweb_window_length: '86400' aurweb_memcached_memory: 2048 aurweb_workers: 4 + +# aurweb timers and services are installed and restarted by default, +# unless .install and .restart are explicitly set to "false" +aurweb_timers: + - { name: "aurweb-git.timer" } + - { name: "aurweb-aurblup.timer" } + - { name: "aurweb-mkpkglists.timer" } + - { name: "aurweb-pkgmaint.timer" } + - { name: "aurweb-popupdate.timer" } + - { name: "aurweb-tuvotereminder.timer" } + - { name: "aurweb-usermaint.timer" } + - { name: "aurweb-github-mirror.timer" } + +aurweb_services: + - { name: "aurweb-git.service", restart: false } + - { name: "aurweb-aurblup.service", restart: false } + - { name: "aurweb-mkpkglists.service", restart: false } + - { name: "aurweb-pkgmaint.service", restart: false } + - { name: "aurweb-popupdate.service", restart: false } + - { name: "aurweb-tuvotereminder.service", restart: false } + - { name: "aurweb-usermaint.service", restart: false } + - { name: "aurweb-github-mirror.service", restart: false } + - { name: "aurweb.service" } + - { name: "goaurrpc.service", install: false } diff --git a/roles/aurweb/tasks/main.yml b/roles/aurweb/tasks/main.yml index fa9a50c28..7a0336c0e 100644 --- a/roles/aurweb/tasks/main.yml +++ b/roles/aurweb/tasks/main.yml @@ -71,44 +71,18 @@ check_mode: true - name: Install AUR systemd service and timers - template: src={{ item }}.j2 dest=/etc/systemd/system/{{ item }} owner=root group=root mode=0644 + template: src={{ item.name }}.j2 dest=/etc/systemd/system/{{ item.name }} owner=root group=root mode=0644 with_items: - - aurweb-git.service - - aurweb-git.timer - - aurweb-git-archive.service - - aurweb-git-archive.timer - - aurweb-aurblup.service - - aurweb-aurblup.timer - - aurweb-mkpkglists.service - - aurweb-mkpkglists.timer - - aurweb-pkgmaint.service - - aurweb-pkgmaint.timer - - aurweb-popupdate.service - - aurweb-popupdate.timer - - aurweb-tuvotereminder.service - - aurweb-tuvotereminder.timer - - aurweb-usermaint.service - - aurweb-usermaint.timer - - aurweb.service - - aurweb-github-mirror.service - - aurweb-github-mirror.timer - when: release.changed + - "{{ aurweb_services }}" + - "{{ aurweb_timers }}" + when: release.changed and (item.install is not defined or item.install) - name: Stop AUR systemd services and timers - service: name={{ item }} enabled=yes state=stopped + service: name={{ item.name }} enabled=yes state=stopped with_items: - - aurweb-git.timer - - aurweb-git-archive.timer - - aurweb-aurblup.timer - - aurweb-mkpkglists.timer - - aurweb-pkgmaint.timer - - aurweb-popupdate.timer - - aurweb-tuvotereminder.timer - - aurweb-usermaint.timer - - aurweb.service - - goaurrpc.service - - aurweb-github-mirror.timer - when: release.changed + - "{{ aurweb_services }}" + - "{{ aurweb_timers }}" + when: release.changed and (item.restart is not defined or item.restart) - name: Clone aurweb repo git: > @@ -312,17 +286,8 @@ - Restart sshd - name: Start and enable AUR systemd services and timers - systemd: name={{ item }} enabled=yes state=started daemon_reload=yes + systemd: name={{ item.name }} enabled=yes state=started daemon_reload=yes with_items: - - aurweb-git.timer - - aurweb-git-archive.timer - - aurweb-aurblup.timer - - aurweb-mkpkglists.timer - - aurweb-pkgmaint.timer - - aurweb-popupdate.timer - - aurweb-tuvotereminder.timer - - aurweb-usermaint.timer - - aurweb.service - - goaurrpc.service - - aurweb-github-mirror.timer - when: release.changed + - "{{ aurweb_services }}" + - "{{ aurweb_timers }}" + when: release.changed and (item.restart is not defined or item.restart) -- GitLab