diff --git a/roles/aurweb/defaults/main.yml b/roles/aurweb/defaults/main.yml index 35c1715d5a71508048b328e07b3e794b03ee56cb..f0d8955fb6e71d6a0ad7daa3592b086b96eaebf4 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 fa9a50c281711972eb0ce8a2483822b7a95d47e2..7a0336c0e1a5d24bde6621af386fc86692958ae3 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)