|
|
|
---
|
|
|
|
- name: Check if certificate exists or has been changed
|
|
|
|
import_tasks: test-cert-exists.yml
|
|
|
|
|
|
|
|
- name: Stop services to allow certbot to generate a cert.
|
|
|
|
service:
|
|
|
|
name: "{{ item }}"
|
|
|
|
state: stopped
|
|
|
|
when: not letsencrypt_cert_exists.stat.exists or letsencrypt_cert_updated
|
|
|
|
with_items: "{{ certbot_create_standalone_stop_services }}"
|
|
|
|
|
|
|
|
- name: Generate new certificate if one doesn't exist.
|
|
|
|
shell: "{{ certbot_create_command }}"
|
|
|
|
when: not letsencrypt_cert_exists.stat.exists or letsencrypt_cert_updated
|
|
|
|
|
|
|
|
# TODO May use a more direct https://docs.ansible.com/ansible/latest/copy_module.html
|
|
|
|
- name: Persist domain list to host
|
|
|
|
lineinfile:
|
|
|
|
path: /etc/letsencrypt/domains-{{ cert_item.domains | first }}
|
|
|
|
line: "{{ cert_item.domains }}"
|
|
|
|
state: present
|
|
|
|
create: yes
|
|
|
|
when: letsencrypt_cert_updated
|
|
|
|
|
|
|
|
- name: Start services after cert has been generated.
|
|
|
|
service:
|
|
|
|
name: "{{ item }}"
|
|
|
|
state: started
|
|
|
|
when: not letsencrypt_cert_exists.stat.exists or letsencrypt_cert_updated
|
|
|
|
with_items: "{{ certbot_create_standalone_stop_services }}"
|