2026-01-23 11:20:54 +03:00
|
|
|
- name: Set sites defaults
|
|
|
|
|
ansible.builtin.set_fact:
|
|
|
|
|
caddy_sites_defaults: "{{ caddy_global_sites_defaults | combine(caddy_my_sites_defaults) }}"
|
|
|
|
|
|
2026-01-14 11:03:59 +03:00
|
|
|
- name: Create sites config directories
|
2026-01-20 12:27:03 +03:00
|
|
|
loop: "{{ caddy_sites }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
ansible.builtin.file:
|
2026-01-23 11:20:54 +03:00
|
|
|
path: "{{ caddy_config_dir }}/sites/{{ item.id }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
state: "directory"
|
2026-01-20 12:27:03 +03:00
|
|
|
group: "{{ caddy_system_group }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
mode: "0750"
|
|
|
|
|
|
|
|
|
|
- name: Generate sites coraza.conf config file
|
2026-01-20 12:27:03 +03:00
|
|
|
loop: "{{ caddy_sites }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
loop_control:
|
|
|
|
|
loop_var: "site"
|
|
|
|
|
ansible.builtin.template:
|
|
|
|
|
src: "templates/coraza.conf"
|
2026-01-23 11:20:54 +03:00
|
|
|
dest: "{{ caddy_config_dir }}/sites/{{ site.id }}/coraza.conf"
|
2026-01-20 12:27:03 +03:00
|
|
|
group: "{{ caddy_system_group }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
mode: "0640"
|
|
|
|
|
notify:
|
2026-01-19 15:06:34 +03:00
|
|
|
- "Restart Caddy"
|
2026-01-14 11:03:59 +03:00
|
|
|
|
|
|
|
|
- name: Generate sites crs-setup config file
|
2026-01-20 12:27:03 +03:00
|
|
|
loop: "{{ caddy_sites }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
loop_control:
|
|
|
|
|
loop_var: "site"
|
|
|
|
|
ansible.builtin.template:
|
|
|
|
|
src: "templates/crs-setup.conf"
|
2026-01-23 11:20:54 +03:00
|
|
|
dest: "{{ caddy_config_dir }}/sites/{{ site.id }}/crs-setup.conf"
|
2026-01-20 12:27:03 +03:00
|
|
|
group: "{{ caddy_system_group }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
mode: "0640"
|
|
|
|
|
notify:
|
2026-01-19 15:06:34 +03:00
|
|
|
- "Restart Caddy"
|
2026-01-14 11:03:59 +03:00
|
|
|
|
|
|
|
|
- name: Generate sites exclusions before request file
|
2026-01-20 12:27:03 +03:00
|
|
|
loop: "{{ caddy_sites }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
loop_control:
|
|
|
|
|
loop_var: "site"
|
|
|
|
|
ansible.builtin.template:
|
|
|
|
|
src: "templates/exclusions-request-before.conf"
|
2026-01-23 11:20:54 +03:00
|
|
|
dest: "{{ caddy_config_dir }}/sites/{{ site.id }}/exclusions-request-before.conf"
|
2026-01-20 12:27:03 +03:00
|
|
|
group: "{{ caddy_system_group }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
mode: "0640"
|
|
|
|
|
notify:
|
2026-01-19 15:06:34 +03:00
|
|
|
- "Restart Caddy"
|
2026-01-14 11:03:59 +03:00
|
|
|
|
|
|
|
|
- name: Generate sites exclusions after response file
|
2026-01-20 12:27:03 +03:00
|
|
|
loop: "{{ caddy_sites }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
loop_control:
|
|
|
|
|
loop_var: "site"
|
|
|
|
|
ansible.builtin.template:
|
|
|
|
|
src: "templates/exclusions-response-after.conf"
|
2026-01-23 11:20:54 +03:00
|
|
|
dest: "{{ caddy_config_dir }}/sites/{{ site.id }}/exclusions-response-after.conf"
|
2026-01-20 12:27:03 +03:00
|
|
|
group: "{{ caddy_system_group }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
mode: "0640"
|
|
|
|
|
notify:
|
2026-01-19 15:06:34 +03:00
|
|
|
- "Restart Caddy"
|
2026-01-14 11:03:59 +03:00
|
|
|
|
|
|
|
|
- name: Generate Caddyfile
|
|
|
|
|
ansible.builtin.template:
|
|
|
|
|
src: "templates/Caddyfile"
|
2026-01-20 12:27:03 +03:00
|
|
|
dest: "{{ caddy_config_dir }}/Caddyfile"
|
|
|
|
|
group: "{{ caddy_system_group }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
mode: "0640"
|
|
|
|
|
notify:
|
2026-01-19 15:06:34 +03:00
|
|
|
- "Restart Caddy"
|
2026-01-14 11:03:59 +03:00
|
|
|
|
|
|
|
|
- name: Copy bot barrier template
|
|
|
|
|
ansible.builtin.copy:
|
|
|
|
|
src: "files/bot_barrier_template.html"
|
2026-01-20 12:27:03 +03:00
|
|
|
dest: "{{ caddy_config_dir }}/bot_barrier_template.html"
|
|
|
|
|
group: "{{ caddy_system_group }}"
|
2026-01-14 11:03:59 +03:00
|
|
|
mode: "0640"
|
|
|
|
|
notify:
|
2026-01-19 15:06:34 +03:00
|
|
|
- "Restart Caddy"
|
2026-01-23 11:20:54 +03:00
|
|
|
|
|
|
|
|
- name: Enable and start Caddy
|
|
|
|
|
ansible.builtin.service:
|
|
|
|
|
name: "{{ caddy_my_name }}"
|
|
|
|
|
state: "started"
|
|
|
|
|
enabled: true
|
|
|
|
|
daemon_reload: true
|