--- - 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