From 90d498034b891123350785a134402172de477f4f Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Wed, 11 May 2016 18:07:09 +0200 Subject: Use systemd unit files for stunnel4. --- roles/common/tasks/munin-node-ssl.yml | 58 +++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 roles/common/tasks/munin-node-ssl.yml (limited to 'roles/common/tasks/munin-node-ssl.yml') diff --git a/roles/common/tasks/munin-node-ssl.yml b/roles/common/tasks/munin-node-ssl.yml new file mode 100644 index 0000000..59ed7d7 --- /dev/null +++ b/roles/common/tasks/munin-node-ssl.yml @@ -0,0 +1,58 @@ +- name: Create /etc/stunnel/certs + file: path=/etc/stunnel/certs + state=directory + owner=root group=root + mode=0755 + +- name: Generate a private key and a X.509 certificate for munin-node + command: genkeypair.sh x509 + --pubkey=/etc/stunnel/certs/munin-{{ inventory_hostname_short }}.pem + --privkey=/etc/stunnel/certs/munin-{{ inventory_hostname_short }}.key + --ou=Munin --cn={{ inventory_hostname }} --dns={{ inventory_hostname }} + -t rsa -b 4096 -h sha512 + register: r1 + changed_when: r1.rc == 0 + failed_when: r1.rc > 1 + notify: + - Restart stunnel@munin-node + tags: + - genkey + +- name: Fetch Munin X.509 certificate + # Ensure we don't fetch private data + become: False + fetch: src=/etc/stunnel/certs/munin-{{ inventory_hostname_short }}.pem + dest=certs/munin/{{ inventory_hostname }}.pem + fail_on_missing=yes + flat=yes + tags: + - genkey + +- name: Copy munin-master X.509 certificates + assemble: src=certs/munin regexp="{{ groups['munin-master'] | join('|') }}\.pem$" remote_src=no + dest=/etc/stunnel/certs/munin-master.pem + owner=root group=root + mode=0644 + register: r2 + when: "'munin-master' not in group_names" + notify: + - Restart stunnel@munin-node + +- name: Configure stunnel + template: src=etc/stunnel/munin-node.conf.j2 + dest=/etc/stunnel/munin-node.conf + owner=root group=root + mode=0644 + register: r3 + when: "'munin-master' not in group_names" + notify: + - Restart stunnel@munin-node + +- name: Enable stunnel@munin-node + service: name=stunnel4@munin-node enabled=yes + +- name: Start stunnel@munin-node + service: name=stunnel4@munin-node state=started + when: not (r1.changed or r2.changed or r3.changed) + +- meta: flush_handlers -- cgit v1.2.3