aboutsummaryrefslogtreecommitdiffstats
path: root/roles/archive_client
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/archive_client
downloadselfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.tar.gz
selfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.zip
initial commit
Diffstat (limited to 'roles/archive_client')
-rw-r--r--roles/archive_client/defaults/main.yml4
-rw-r--r--roles/archive_client/tasks/main.yml49
-rw-r--r--roles/archive_client/vars/main.yml2
3 files changed, 55 insertions, 0 deletions
diff --git a/roles/archive_client/defaults/main.yml b/roles/archive_client/defaults/main.yml
new file mode 100644
index 0000000..42d3aa7
--- /dev/null
+++ b/roles/archive_client/defaults/main.yml
@@ -0,0 +1,4 @@
+archive_server_user: s-archiver
+archive_cleanup_on_calendar: daily
+archive_cleanup_older_than_days: 7
+archive_server: '{{ groups.archive_servers | first }}'
diff --git a/roles/archive_client/tasks/main.yml b/roles/archive_client/tasks/main.yml
new file mode 100644
index 0000000..8730407
--- /dev/null
+++ b/roles/archive_client/tasks/main.yml
@@ -0,0 +1,49 @@
+- name: install rsync
+ dnf:
+ name: rsync
+ state: present
+
+- name: add host to archive clients hostgroup
+ ipahostgroup:
+ ipaadmin_principal: '{{ ipa_user }}'
+ ipaadmin_password: '{{ ipa_pass }}'
+ name: '{{ archive_clients_hostgroup }}'
+ host: '{{ ansible_fqdn }}'
+ action: member
+ state: present
+
+- name: create archive directory
+ file:
+ path: '{{ archive_path }}'
+ state: directory
+ owner: root
+ group: root
+ mode: 0755
+
+- name: set default user acl for archive directory
+ acl:
+ path: '{{ archive_path }}'
+ default: yes
+ entity: '{{ archive_server_user }}'
+ etype: user
+ permissions: rwX
+ state: present
+
+- name: set default group acl for archive directory
+ acl:
+ path: '{{ archive_path }}'
+ default: yes
+ etype: group
+ permissions: rwX
+ state: present
+
+- name: set up archive-cleanup timer
+ include_role:
+ name: systemd_timer
+ vars:
+ timer_name: archive-cleanup
+ timer_description: Cleanup old archive files
+ timer_after: network.target
+ timer_on_calendar: '{{ archive_cleanup_on_calendar }}'
+ timer_user: root
+ timer_exec: find {{ archive_path }} -type f -mtime +{{ archive_cleanup_older_than_days }} -exec rm {} +
diff --git a/roles/archive_client/vars/main.yml b/roles/archive_client/vars/main.yml
new file mode 100644
index 0000000..26b8e73
--- /dev/null
+++ b/roles/archive_client/vars/main.yml
@@ -0,0 +1,2 @@
+archive_path: /var/spool/archive
+archive_clients_hostgroup: archive_clients