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