Private
Public Access
2
0
Files
bgwaf/ansible/roles/waf_install/tasks/install_plugin.yml

56 lines
1.8 KiB
YAML
Raw Normal View History

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-14 11:03:59 +03:00
register: "waf_install_plugin_downloaded"
2026-01-07 14:27:55 +03:00
- name: Deploy plugin {{ plugin.name }}
# noqa: no-handler
2026-01-14 11:03:59 +03:00
when: "waf_install_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-14 11:03:59 +03:00
register: "waf_install_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-14 11:03:59 +03:00
dest: "{{ waf_install_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-14 11:03:59 +03:00
src: "{{ waf_install_temp_plugin_dir.path }}/{{ plugin.name }}-plugin-{{ plugin.version }}/plugins/"
2026-01-07 14:27:55 +03:00
dest: "/etc/caddy/plugins/"
mode: "0644"
# directory_mode: "0750"
group: "caddy"
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: ""
dest: "/etc/caddy/plugins/{{ plugin.name }}-after.conf"
mode: "0644"
group: "caddy"
2026-01-07 14:27:55 +03:00
# FIXME: bad hack, why is it required?
- name: Adjust /etc/caddy/plugins permissions
ansible.builtin.file:
path: "/etc/caddy/plugins"
state: "directory"
group: "caddy"
mode: "0750"
- name: Delete temp dir {{ plugin.name }}
2026-01-14 11:03:59 +03:00
when: "waf_install_temp_plugin_dir.path is defined"
2026-01-07 14:27:55 +03:00
ansible.builtin.file:
2026-01-14 11:03:59 +03:00
path: "{{ waf_install_temp_plugin_dir.path }}"
2026-01-07 14:27:55 +03:00
state: "absent"