ansible/roles/nginx_site/tasks/main.yml

47 lines
1.4 KiB
YAML

---
- name: "Create site data directory for {{ site }}"
ansible.builtin.file:
path: "/srv/web/{{ site }}"
state: directory
mode: "0755"
owner: root
group: "{{ ansible_wheel }}"
when: redirect is not defined and proxy is not defined
- name: "Create site config for {{ site }}"
ansible.builtin.template:
dest: /etc/nginx/conf.d/{{ site }}.conf
src: site.conf.j2
mode: "0644"
owner: root
group: "{{ ansible_wheel }}"
notify: Restart nginx
- name: "Copy site private key for {{ site }}"
ansible.builtin.copy:
dest: "{{ tls_private }}/{{ site }}.key"
src: "{{ item }}"
mode: "0600"
owner: root
group: "{{ ansible_wheel }}"
with_first_found:
- "/srv/letsencrypt/live/{{ site }}/privkey.pem"
- "/srv/ca/private/{{ site }}.key"
- "/srv/ca/private/{{ inventory_hostname }}.key"
tags: certificates
notify: Restart nginx
- name: "Copy site certificate for {{ site }}"
ansible.builtin.copy:
src: "{{ item }}"
dest: "{{ tls_certs }}/{{ site }}-fullchain.crt"
mode: "0644"
owner: root
group: "{{ ansible_wheel }}"
validate: /usr/bin/openssl x509 -in %s -noout
with_first_found:
- "/srv/letsencrypt/live/{{ site }}/fullchain.pem"
- "/srv/ca/certs/hosts/{{ site }}.crt"
- "/srv/ca/certs/hosts/{{ inventory_hostname }}.crt"
tags: certificates
notify: Restart nginx