- name: Create sites config directories loop: "{{ caddy_sites }}" ansible.builtin.file: path: "{{ caddy_config_dir }}/sites/{{ item.name }}" state: "directory" group: "{{ caddy_system_group }}" mode: "0750" - name: Generate sites coraza.conf config file loop: "{{ caddy_sites }}" loop_control: loop_var: "site" ansible.builtin.template: src: "templates/coraza.conf" dest: "{{ caddy_config_dir }}/sites/{{ site.name }}/coraza.conf" group: "{{ caddy_system_group }}" mode: "0640" notify: - "Restart Caddy" - name: Generate sites crs-setup config file loop: "{{ caddy_sites }}" loop_control: loop_var: "site" ansible.builtin.template: src: "templates/crs-setup.conf" dest: "{{ caddy_config_dir }}/sites/{{ site.name }}/crs-setup.conf" group: "{{ caddy_system_group }}" mode: "0640" notify: - "Restart Caddy" - name: Generate sites exclusions before request file loop: "{{ caddy_sites }}" loop_control: loop_var: "site" ansible.builtin.template: src: "templates/exclusions-request-before.conf" dest: "{{ caddy_config_dir }}/sites/{{ site.name }}/exclusions-request-before.conf" group: "{{ caddy_system_group }}" mode: "0640" notify: - "Restart Caddy" - name: Generate sites exclusions after response file loop: "{{ caddy_sites }}" loop_control: loop_var: "site" ansible.builtin.template: src: "templates/exclusions-response-after.conf" dest: "{{ caddy_config_dir }}/sites/{{ site.name }}/exclusions-response-after.conf" group: "{{ caddy_system_group }}" mode: "0640" notify: - "Restart Caddy" - name: Generate Caddyfile ansible.builtin.template: src: "templates/Caddyfile" dest: "{{ caddy_config_dir }}/Caddyfile" group: "{{ caddy_system_group }}" mode: "0640" notify: - "Restart Caddy" - name: Copy bot barrier template ansible.builtin.copy: src: "files/bot_barrier_template.html" dest: "{{ caddy_config_dir }}/bot_barrier_template.html" group: "{{ caddy_system_group }}" mode: "0640" notify: - "Restart Caddy"