Added periodit goaccess update role
authorLuke Hoersten <luke@hoersten.org>
Sun, 09 Aug 2020 14:20:24 -0500
changeset 131 746d5fdbbc18
parent 130 46785fdb4fc5
child 132 10996eb41bf4
Added periodit goaccess update role
goaccess/defaults/main.yaml
goaccess/handlers/main.yaml
goaccess/tasks/main.yaml
goaccess/templates/goaccess.service.j2
goaccess/templates/goaccess.timer.j2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/goaccess/defaults/main.yaml	Sun Aug 09 14:20:24 2020 -0500
@@ -0,0 +1,5 @@
+---
+
+goaccess_timer_freq: "hourly"
+goaccess_http_log: "/var/log/nginx/access.log"
+goaccess_output_dest: "/var/www/report.html"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/goaccess/handlers/main.yaml	Sun Aug 09 14:20:24 2020 -0500
@@ -0,0 +1,5 @@
+---
+
+- name: daemon reload
+  systemd: name="goaccess.timer" enabled="yes" daemon_reload="yes"
+  become: yes
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/goaccess/tasks/main.yaml	Sun Aug 09 14:20:24 2020 -0500
@@ -0,0 +1,17 @@
+---
+
+- name: apt install goaccess
+  become: yes
+  apt: name="goaccess"
+
+- name: install systemd timer and service
+  become: yes
+  template: src="goaccess.{{item}}.j2" dest="/lib/systemd/system/goaccess.{{item}}"
+  loop:
+    - "timer"
+    - "service"
+  notify: daemon reload
+
+- name: ensure timer is started
+  become: yes
+  systemd: name="goaccess.timer" enabled="yes" state="started"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/goaccess/templates/goaccess.service.j2	Sun Aug 09 14:20:24 2020 -0500
@@ -0,0 +1,11 @@
+[Unit]
+Description=GoAccess
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/goaccess {{goaccess_http_log}} -o {{goaccess_output_dest}} --log-format=COMBINED --no-progress --no-parsing-spinner
+RemainAfterExit=true
+Environment=HOME=/var/run
+
+[Install]
+WantedBy=multi-user.target
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/goaccess/templates/goaccess.timer.j2	Sun Aug 09 14:20:24 2020 -0500
@@ -0,0 +1,9 @@
+[Unit]
+Description=GoAccess refresh timer
+
+[Timer]
+OnCalendar={{goaccess_timer_freq}}
+Unit=goaccess.service
+
+[Install]
+WantedBy=timers.target