aboutsummaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorStonewall Jackson <stonewall@sacredheartsc.com>2023-06-02 20:26:54 -0400
committerStonewall Jackson <stonewall@sacredheartsc.com>2023-06-02 20:26:54 -0400
commit1de144a5b8a67f77608e88b28fd278707173a8b0 (patch)
treedabeec5b48267894acea52836e4107e61983aa79 /roles
parent3f5be7a4561573ae0cc8f1f6e70aadcc8ced18d8 (diff)
downloadselfhosted-1de144a5b8a67f77608e88b28fd278707173a8b0.tar.gz
selfhosted-1de144a5b8a67f77608e88b28fd278707173a8b0.zip
znc: fix znc.conf clobbering, add clientbuffer module
Diffstat (limited to 'roles')
-rw-r--r--roles/znc/handlers/main.yml5
-rw-r--r--roles/znc/tasks/main.yml42
-rw-r--r--roles/znc/vars/main.yml6
3 files changed, 47 insertions, 6 deletions
diff --git a/roles/znc/handlers/main.yml b/roles/znc/handlers/main.yml
index 4db4153..219cb43 100644
--- a/roles/znc/handlers/main.yml
+++ b/roles/znc/handlers/main.yml
@@ -6,3 +6,8 @@
- name: reload znc
command: pkill -HUP znc
failed_when: no
+
+- name: restart znc
+ systemd:
+ name: znc
+ state: restarted
diff --git a/roles/znc/tasks/main.yml b/roles/znc/tasks/main.yml
index a64ffc5..6f20b2b 100644
--- a/roles/znc/tasks/main.yml
+++ b/roles/znc/tasks/main.yml
@@ -46,15 +46,45 @@
- 'moddata'
- 'moddata/cyrusauth'
-- name: generate config files
+- name: create znc custom module directories
+ file:
+ path: '{{ item }}'
+ state: directory
+ loop:
+ - '{{ znc_module_path }}'
+ - '{{ znc_clientbuffer_src_path }}'
+
+- name: extract znc-clientbuffer tarball
+ unarchive:
+ src: '{{ znc_clientbuffer_url }}'
+ remote_src: yes
+ dest: '{{ znc_clientbuffer_src_path }}'
+ extra_opts:
+ - '--strip-components=1'
+ register: znc_clientbuffer_src
+
+- name: build znc-clientbuffer
+ command:
+ chdir: '{{ znc_module_path }}'
+ cmd: znc-buildmod {{ znc_clientbuffer_src_path }}/clientbuffer.cpp
+ when: znc_clientbuffer_src.changed
+ notify: restart znc
+
+- name: generate znc.conf if it does not exist
template:
- src: '{{ znc_home[1:] }}/{{ item }}.j2'
- dest: '{{ znc_home }}/{{ item }}'
+ src: '{{ znc_home[1:] }}/configs/znc.conf.j2'
+ dest: '{{ znc_home }}/configs/znc.conf'
+ owner: znc
+ group: znc
+ force: no
+ notify: reload znc
+
+- name: generate cyrusauth configuration
+ template:
+ src: '{{ znc_home[1:] }}/moddata/cyrusauth/.registry.j2'
+ dest: '{{ znc_home }}/moddata/cyrusauth/.registry'
owner: znc
group: znc
- loop:
- - configs/znc.conf
- - moddata/cyrusauth/.registry
notify: reload znc
- name: start znc
diff --git a/roles/znc/vars/main.yml b/roles/znc/vars/main.yml
index 27cebbf..73e35ee 100644
--- a/roles/znc/vars/main.yml
+++ b/roles/znc/vars/main.yml
@@ -1,11 +1,17 @@
znc_packages:
- znc
+ - znc-devel
+ - zlib-devel
- cyrus-sasl
- cyrus-sasl-plain
znc_home: /var/lib/znc/.znc
znc_clone_user: cloneuser
+znc_clientbuffer_url: https://github.com/CyberShadow/znc-clientbuffer/archive/refs/heads/master.tar.gz
+znc_clientbuffer_src_path: /usr/local/src/znc-clientbuffer
+znc_module_path: /usr/lib64/znc
+
znc_hbac_hostgroup: znc_servers
znc_hbac_service: znc