Private
Public Access
2
0
Files
bgwaf/seb4itik/byow/roles/caddy/tasks/plugin_install.yml

56 lines
1.9 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-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"