2026-01-07 14:27:55 +03:00
|
|
|
- name: Download plugin {{ plugin.name }}
|
|
|
|
|
ansible.builtin.get_url:
|
|
|
|
|
url: "https://github.com/{{ plugin.provider | default('coreruleset') }}/{{ plugin.name }}-plugin/archive/refs/tags/v{{ plugin.version }}.tar.gz"
|
|
|
|
|
dest: "/usr/local/src/"
|
|
|
|
|
mode: "0644"
|
2026-01-20 12:27:03 +03:00
|
|
|
register: "caddy_plugin_downloaded"
|
2026-01-07 14:27:55 +03:00
|
|
|
|
|
|
|
|
- name: Deploy plugin {{ plugin.name }}
|
|
|
|
|
# noqa: no-handler
|
2026-01-20 12:27:03 +03:00
|
|
|
when: "caddy_plugin_downloaded.changed"
|
2026-01-07 14:27:55 +03:00
|
|
|
block:
|
|
|
|
|
|
|
|
|
|
- name: Get temp dir {{ plugin.name }}
|
|
|
|
|
ansible.builtin.tempfile:
|
|
|
|
|
state: "directory"
|
2026-01-20 12:27:03 +03:00
|
|
|
register: "caddy_temp_plugin_dir"
|
2026-01-07 14:27:55 +03:00
|
|
|
|
|
|
|
|
- name: Unarchive plugin {{ plugin.name }}
|
|
|
|
|
ansible.builtin.unarchive:
|
|
|
|
|
src: "/usr/local/src/{{ plugin.name }}-plugin-{{ plugin.version }}.tar.gz"
|
2026-01-20 12:27:03 +03:00
|
|
|
dest: "{{ caddy_temp_plugin_dir.path }}"
|
2026-01-07 14:27:55 +03:00
|
|
|
remote_src: true
|
|
|
|
|
|
|
|
|
|
- name: Copy plugin files {{ plugin.name }}
|
|
|
|
|
ansible.builtin.copy:
|
2026-01-20 12:27:03 +03:00
|
|
|
src: "{{ caddy_temp_plugin_dir.path }}/{{ plugin.name }}-plugin-{{ plugin.version }}/plugins/"
|
|
|
|
|
dest: "{{ caddy_config_dir }}/crs-plugins/"
|
2026-01-07 14:27:55 +03:00
|
|
|
mode: "0644"
|
|
|
|
|
# directory_mode: "0750"
|
2026-01-20 12:27:03 +03:00
|
|
|
group: "{{ caddy_system_group }}"
|
2026-01-07 14:27:55 +03:00
|
|
|
remote_src: true
|
|
|
|
|
notify:
|
2026-01-19 15:06:34 +03:00
|
|
|
- "Restart Caddy"
|
|
|
|
|
|
|
|
|
|
- name: Create after config {{ plugin.name }}
|
|
|
|
|
when: "not(plugin.has_after_config | default(false))"
|
|
|
|
|
ansible.builtin.copy:
|
|
|
|
|
content: ""
|
2026-01-20 12:27:03 +03:00
|
|
|
dest: "{{ caddy_config_dir }}/crs-plugins/{{ plugin.name }}-after.conf"
|
2026-01-19 15:06:34 +03:00
|
|
|
mode: "0644"
|
2026-01-20 12:27:03 +03:00
|
|
|
group: "{{ caddy_system_group }}"
|
2026-01-07 14:27:55 +03:00
|
|
|
|
|
|
|
|
# FIXME: bad hack, why is it required?
|
2026-01-20 12:27:03 +03:00
|
|
|
- name: Adjust plugins diretory permissions
|
2026-01-07 14:27:55 +03:00
|
|
|
ansible.builtin.file:
|
2026-01-20 12:27:03 +03:00
|
|
|
path: "{{ caddy_config_dir }}/crs-plugins"
|
2026-01-07 14:27:55 +03:00
|
|
|
state: "directory"
|
2026-01-20 12:27:03 +03:00
|
|
|
group: "{{ caddy_system_group }}"
|
2026-01-07 14:27:55 +03:00
|
|
|
mode: "0750"
|
|
|
|
|
|
|
|
|
|
- name: Delete temp dir {{ plugin.name }}
|
2026-01-20 12:27:03 +03:00
|
|
|
when: "caddy_temp_plugin_dir.path is defined"
|
2026-01-07 14:27:55 +03:00
|
|
|
ansible.builtin.file:
|
2026-01-20 12:27:03 +03:00
|
|
|
path: "{{ caddy_temp_plugin_dir.path }}"
|
2026-01-07 14:27:55 +03:00
|
|
|
state: "absent"
|