49 lines
1.7 KiB
YAML
49 lines
1.7 KiB
YAML
---
|
|
- name: set facts
|
|
ansible.builtin.set_fact:
|
|
safe_filename: "{{ item.name | regex_replace('[^\\w]', '') }}"
|
|
nginx_entry_type: '{{ nginx_entry_type | default(item.get("entry_type", None)) }}'
|
|
|
|
- name: perform sanity checks
|
|
ansible.builtin.assert:
|
|
that:
|
|
- nginx_entry_type in ["stream", "site"]
|
|
fail_msg: Invalid value for `nginx_entry_type`; expected "stream" or "site", got "{{ nginx_entry_type }}"
|
|
|
|
- name: 'copy entry in {{ nginx_entry_type }}s-available'
|
|
become: true
|
|
ansible.builtin.copy:
|
|
content: '{{ item.content }}'
|
|
dest: "/etc/nginx/{{ nginx_entry_type }}s-available/{{ safe_filename }}.conf"
|
|
owner: '{{ nginx_service_user }}'
|
|
group: '{{ nginx_service_user }}'
|
|
mode: '0640'
|
|
when: item.get('state', 'present') == 'present'
|
|
notify:
|
|
- 'nginx : reload nginx service'
|
|
|
|
- name: 'enable {{ nginx_entry_type }}'
|
|
become: true
|
|
ansible.builtin.file:
|
|
src: "/etc/nginx/{{ nginx_entry_type }}s-available/{{ safe_filename }}.conf"
|
|
path: "/etc/nginx/{{ nginx_entry_type }}s-enabled/{{ safe_filename }}.conf"
|
|
owner: '{{ nginx_service_user }}'
|
|
group: '{{ nginx_service_user }}'
|
|
state: 'link'
|
|
when: item.get('state', 'present') == 'present'
|
|
notify:
|
|
- 'nginx : reload nginx service'
|
|
|
|
- name: 'disable {{ nginx_entry_type }}'
|
|
become: true
|
|
ansible.builtin.file:
|
|
path: "/etc/nginx/{{ nginx_entry_type }}s-enabled/{{ safe_filename }}.conf"
|
|
state: absent
|
|
when: item.get('state', 'present') in ['disabled', 'deleted']
|
|
|
|
- name: 'remove {{ nginx_entry_type }}'
|
|
become: true
|
|
ansible.builtin.file:
|
|
path: "/etc/nginx/{{ nginx_entry_type }}s-available/{{ safe_filename }}.conf"
|
|
state: absent
|
|
when: item.get('state', 'present') == 'deleted'
|