@installdoc/ansible-gas-station
Version:
An Ansible playbook that provisions your network with software from GitHub Awesome lists, developed with disaster recovery in mind ⛽🔥🤤
32 lines (27 loc) • 1.08 kB
YAML
- name: Check if certificate already exists
ansible.windows.win_stat:
path: "{{ certbot_path }}/live/{{ certificate.domains | first | replace('*.', '') }}/cert.pem"
register: letsencrypt_cert
- name: Populate service facts
ansible.windows.win_service_info:
register: service_info
- name: Stop services to allow certbot to generate a certificate
ansible.windows.win_service:
name: "{{ item }}"
state: stopped
loop: "{{ certbot_create_standalone_stop_services }}"
when:
- not letsencrypt_cert.stat.exists
- "('{{ item }}' in service_info) or ('{{ item }}.service' in service_info)"
- name: Generate new certificate if one doesn't exist
ansible.windows.win_command: "{{ certbot_create_command }}"
when: not letsencrypt_cert.stat.exists
- name: Start services after cert has been generated
ansible.windows.win_service:
name: "{{ item }}"
state: started
loop: "{{ certbot_create_standalone_stop_services }}"
when:
- not letsencrypt_cert.stat.exists
- "('{{ item }}' in services) or ('{{ item }}.service' in services)"