aboutsummaryrefslogtreecommitdiffstats
path: root/roles/journald
diff options
context:
space:
mode:
authorStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:23:43 -0500
committerStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:52:13 -0500
commit0261e875679f1bf63c8d689da7fc7e014597885d (patch)
tree3f19cd74a0c1070944f75437f30b098d6ef2ffcb /roles/journald
downloadselfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.tar.gz
selfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.zip
initial commit
Diffstat (limited to 'roles/journald')
-rw-r--r--roles/journald/defaults/main.yml3
-rw-r--r--roles/journald/handlers/main.yml4
-rw-r--r--roles/journald/tasks/main.yml23
-rw-r--r--roles/journald/templates/etc/systemd/journald.conf.j26
4 files changed, 36 insertions, 0 deletions
diff --git a/roles/journald/defaults/main.yml b/roles/journald/defaults/main.yml
new file mode 100644
index 0000000..8c0ad8f
--- /dev/null
+++ b/roles/journald/defaults/main.yml
@@ -0,0 +1,3 @@
+journald_persistent: no
+journald_forward_to_syslog: yes
+journald_max_use: null
diff --git a/roles/journald/handlers/main.yml b/roles/journald/handlers/main.yml
new file mode 100644
index 0000000..760a573
--- /dev/null
+++ b/roles/journald/handlers/main.yml
@@ -0,0 +1,4 @@
+- name: restart journald
+ systemd:
+ name: systemd-journald
+ state: restarted
diff --git a/roles/journald/tasks/main.yml b/roles/journald/tasks/main.yml
new file mode 100644
index 0000000..163c417
--- /dev/null
+++ b/roles/journald/tasks/main.yml
@@ -0,0 +1,23 @@
+- name: generate journald.conf
+ template:
+ src: etc/systemd/journald.conf.j2
+ dest: /etc/systemd/journald.conf
+ notify: restart journald
+
+- name: set journald storage method
+ file:
+ path: /var/log/journal
+ state: "{{ 'directory' if journald_persistent else 'absent' }}"
+ register: journal_directory
+
+- name: configure persistent journal
+ block:
+ - name: set journal directory permissions
+ command: systemd-tmpfiles --create --prefix /var/log/journal
+
+ - name: flush journal to disk
+ command: journalctl --flush
+
+ when:
+ - journald_persistent
+ - journal_directory.changed
diff --git a/roles/journald/templates/etc/systemd/journald.conf.j2 b/roles/journald/templates/etc/systemd/journald.conf.j2
new file mode 100644
index 0000000..33c59ba
--- /dev/null
+++ b/roles/journald/templates/etc/systemd/journald.conf.j2
@@ -0,0 +1,6 @@
+[Journal]
+Storage=auto
+{% if journald_max_use %}
+{{ 'System' if journald_persistent else 'Runtime' }}MaxUse={{ journald_max_use }}
+{% endif %}
+ForwardToSyslog={{ journald_forward_to_syslog | bool | to_json }}