role-nginx-ssl/tasks/main.yml

66 lines
1.5 KiB
YAML
Raw Permalink Normal View History

2024-10-05 13:07:13 -05:00
---
# tasks file for nginx-ssl
- name: install nginx
ansible.builtin.package:
name: nginx
2024-10-05 23:55:52 -05:00
state: present
- name: deploy nginx config
ansible.builtin.copy:
src: files/nginx.conf
dest: /etc/nginx/nginx.conf
2024-10-06 14:18:30 -05:00
notify: restart nginx
2024-10-05 23:55:52 -05:00
- name: ensure conf.d exists
ansible.builtin.file:
path: /etc/nginx/conf.d
state: directory
- name: deploy service config(s)
ansible.builtin.template:
src: templates/server.conf
2024-10-06 14:18:30 -05:00
dest: /etc/nginx/conf.d/{{ item.domain }}.conf
2024-10-05 23:55:52 -05:00
loop: "{{ domains }}"
2024-10-06 14:18:30 -05:00
notify: restart nginx
2024-10-05 23:55:52 -05:00
2024-10-06 14:18:30 -05:00
- name: check if letsencrypt is set up
ansible.builtin.command: '[ -d "/etc/letsencrypt/" ]'
2024-10-05 23:55:52 -05:00
register: result
ignore_errors: true
2024-10-06 14:18:30 -05:00
- name: check if letsencrypt is set up
ansible.builtin.command: '[ -d "/etc/nginx/certs/" ]'
register: result2
ignore_errors: true
- name: delete folder if exists
ansible.builtin.file:
state: absent
path: /etc/nginx/certs
when: (result is succeeded and result2 is succeeded) or (result is failed and result2 is failed)
- name: create symlink
ansible.builtin.file:
src: /etc/letsencrypt/live
dest: /etc/nginx/certs
state: link
2024-10-07 22:41:00 -05:00
force: yes
2024-10-06 14:18:30 -05:00
when: result is succeeded
notify: restart nginx
- name: Create certs directory if it doesn't exist
file:
path: /etc/nginx/certs/
state: directory
when: result is failed
2024-10-05 23:55:52 -05:00
- include_tasks: create_cert.yml
when: result is failed
loop: "{{ domains }}"
2024-10-06 14:18:30 -05:00
- name: ensure nginx is running
service:
name: nginx
state: started
enabled: yes