ansible-nginx-certbot/tasks/main.yml

58 lines
1.8 KiB
YAML

---
- name: Install openssl and certbot
apt:
name:
- openssl
- ssl-cert
- certbot
- python3-certbot-nginx
- name: Add nginx configuration
template:
src: "{{ nginx_conf_file }}"
dest: "/etc/nginx/sites-available/{{ nginx_conf_filename }}"
notify: Restart nginx
when: nginx_conf_file is defined
- name: Check certbot certificate
stat:
path: /etc/letsencrypt/renewal/{{ nginx_domain }}.conf
register: certbot_renewal_conf
- when: use_certbot and not certbot_renewal_conf.stat.exists
block:
- name: Modify SSL certificate to use self-signed certificate
lineinfile:
path: "/etc/nginx/sites-available/{{ nginx_conf_filename }}"
regexp: '^(\s+)ssl_certificate '
line: ' ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;'
- name: Modify SSL key to use self-signed key
lineinfile:
path: "/etc/nginx/sites-available/{{ nginx_conf_filename }}"
regexp: '^(\s+)ssl_certificate_key '
line: ' ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;'
- name: Enable nginx configuration
file:
src: "/etc/nginx/sites-available/{{ nginx_conf_filename }}"
dest: "/etc/nginx/sites-enabled/{{ nginx_conf_filename }}"
state: link
notify: Restart nginx
when: nginx_conf_file is defined
- name: Force all notified handlers to run at this point, not waiting for normal sync points
meta: flush_handlers
- when: use_certbot == true and not certbot_renewal_conf.stat.exists
block:
- name: Generate certbot certificate
command: "certbot certonly --nginx -n --agree-tos -m dev@lafourmi-immo.com -d {{ nginx_domain }}"
- name: Add nginx configuration
template:
src: "{{ nginx_conf_file }}"
dest: "/etc/nginx/sites-available/{{ nginx_conf_filename }}"
notify: Restart nginx
when: nginx_conf_file is defined