From 9b02af106448192f65a5e5ea530601322602cf5a Mon Sep 17 00:00:00 2001 From: Nikolaos Kakouros Date: Sun, 12 May 2019 18:29:59 +0200 Subject: [PATCH] Adds test for systemd --- .travis.yml | 2 ++ molecule/default/playbook.yml | 1 + tasks/systemd.yml | 12 ++++++++++++ templates/certbot-renew.service.j2 | 2 +- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6e475ce..4fa541d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,8 @@ env: - MOLECULE_DISTRO: centos6 MOLECULE_PLAYBOOK: playbook-source-install.yml - MOLECULE_DISTRO: ubuntu1804 + - MOLECULE_DISTRO: ubuntu1604 + CERTBOT_AUTO_RENEW_SYSTEMD: true - MOLECULE_DISTRO: ubuntu1604 - MOLECULE_DISTRO: ubuntu1404 MOLECULE_PLAYBOOK: playbook-source-install.yml diff --git a/molecule/default/playbook.yml b/molecule/default/playbook.yml index 9d6e5e7..7f4bb38 100644 --- a/molecule/default/playbook.yml +++ b/molecule/default/playbook.yml @@ -5,6 +5,7 @@ vars: certbot_auto_renew_user: root + certbot_auto_renew_systemd: "{{ lookup('env', 'CERTBOT_AUTO_RENEW_SYSTEMD') }}" pre_tasks: - name: Update apt cache. diff --git a/tasks/systemd.yml b/tasks/systemd.yml index 2a08aea..dd25a81 100644 --- a/tasks/systemd.yml +++ b/tasks/systemd.yml @@ -1,13 +1,25 @@ --- +- name: Get absolute path of certbot executable + command: "which {{ certbot_script }}" + register: certbot_script_absolute + changed_when: false + - name: Create certbot-renew service template: src: certbot-renew.service.j2 dest: /etc/systemd/system/certbot-renew.service notify: certbot restart renew timer + vars: + certbot_script_path: "{{ certbot_script_absolute.stdout }}" - name: Create certbot-renew timer template: src: certbot-renew.timer.j2 dest: /etc/systemd/system/certbot-renew.timer notify: certbot restart renew timer + +- name: Start certbot-renew timer + systemd: + name: certbot-renew.timer + state: started diff --git a/templates/certbot-renew.service.j2 b/templates/certbot-renew.service.j2 index 1270240..7ea508b 100644 --- a/templates/certbot-renew.service.j2 +++ b/templates/certbot-renew.service.j2 @@ -4,6 +4,6 @@ Description=Let's Encrypt renewal service [Service] User={{ certbot_auto_renew_user }} Type=oneshot -ExecStart={{ certbot_script }} renew --quiet --agree-tos +ExecStart={{ certbot_script_path }} renew {{ certbot_auto_renew_options }} ExecStartPost=/bin/systemctl reload {{ certbot_web_service }}.service