mirror of
https://github.com/HanXHX/ansible-nginx.git
synced 2026-03-16 10:42:09 +07:00
Remove heavy code (nginx filename) using a filter
This commit is contained in:
20
filter_plugins/nginx.py
Normal file
20
filter_plugins/nginx.py
Normal file
@@ -0,0 +1,20 @@
|
||||
def nginx_site_filename(site):
|
||||
if site.has_key('filename'):
|
||||
return site['filename']
|
||||
else:
|
||||
return nginx_site_name(site)
|
||||
|
||||
def nginx_site_name(site):
|
||||
if isinstance(site['name'], list):
|
||||
return site['name'][0]
|
||||
else:
|
||||
return site['name']
|
||||
|
||||
class FilterModule(object):
|
||||
''' Nginx module '''
|
||||
|
||||
def filters(self):
|
||||
return {
|
||||
'nginx_site_filename': nginx_site_filename,
|
||||
'nginx_site_name': nginx_site_name
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
- name: FAIL | Check filenames
|
||||
fail:
|
||||
msg: "Forbidden keyword default on site {{ item.name if item.name is string else item.name.0 }}"
|
||||
msg: "Forbidden keyword default on site {{ item | nginx_site_name }}"
|
||||
when: item.filename is defined and item.filename == 'default'
|
||||
with_items: "{{ nginx_sites }}"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
- name: FILE | Create root public folders (foreach nginx_sites)
|
||||
file:
|
||||
path: "{{ nginx_root }}/{{ item.filename | default(item.name if item.name is string else item.name.0) }}/public"
|
||||
path: "{{ nginx_root }}/{{ item | nginx_site_filename }}/public"
|
||||
state: directory
|
||||
owner: "{{ item.owner | default(nginx_user) }}"
|
||||
group: "{{ item.group | default(nginx_user) }}"
|
||||
@@ -36,14 +36,14 @@
|
||||
- name: TEMPLATE | Create sites
|
||||
template:
|
||||
src: "etc/nginx/sites-available/{{ item.template if item.redirect_to is not defined else '_redirect' }}.j2"
|
||||
dest: "{{ nginx_etc_dir }}/sites-available/{{ item.filename | default(item.name if item.name is string else item.name.0) }}"
|
||||
dest: "{{ nginx_etc_dir }}/sites-available/{{ item | nginx_site_filename }}"
|
||||
with_items: "{{ nginx_sites }}"
|
||||
notify: ['reload nginx', 'restart nginx freebsd']
|
||||
when: item.state is not defined or item.state != 'absent'
|
||||
|
||||
- name: FILE | Delete sites
|
||||
file:
|
||||
path: "{{ nginx_etc_dir }}/{{ item.1 }}/{{ item.0.filename | default(item.0.name if item.0.name is string else item.0.name.0) }}"
|
||||
path: "{{ nginx_etc_dir }}/{{ item.1 }}/{{ item.0 | nginx_site_filename }}"
|
||||
state: absent
|
||||
with_nested:
|
||||
- "{{ nginx_sites }}"
|
||||
@@ -53,8 +53,8 @@
|
||||
|
||||
- name: FILE | Enable sites
|
||||
file:
|
||||
src: "{{ nginx_etc_dir }}/sites-available/{{ item.filename | default(item.name if item.name is string else item.name.0) }}"
|
||||
dest: "{{ nginx_etc_dir }}/sites-enabled/{{ item.filename | default(item.name if item.name is string else item.name.0) }}"
|
||||
src: "{{ nginx_etc_dir }}/sites-available/{{ item | nginx_site_filename }}"
|
||||
dest: "{{ nginx_etc_dir }}/sites-enabled/{{ item | nginx_site_filename }}"
|
||||
state: link
|
||||
with_items: "{{ nginx_sites }}"
|
||||
notify: ['reload nginx', 'restart nginx freebsd']
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
- name: FILE | Disable sites
|
||||
file:
|
||||
path: "{{ nginx_etc_dir}}/sites-enabled/{{ item.filename | default(item.name if item.name is string else item.name.0) }}"
|
||||
path: "{{ nginx_etc_dir}}/sites-enabled/{{ item | nginx_site_filename }}"
|
||||
state: absent
|
||||
with_items: "{{ nginx_sites }}"
|
||||
notify: ['reload nginx', 'restart nginx freebsd']
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{% set __proto = item.proto | default(['http']) %}
|
||||
{% set __main_name = item.filename | default(item.name if item.name is string else item.name[0]) %}
|
||||
{% set __main_name = item | nginx_site_filename %}
|
||||
{% set __listen = item.listen | default([80]) %}
|
||||
{% set __listen_ssl = item.listen_ssl | default([443]) %}
|
||||
{% set __http_proxy_protocol_port = item.http_proxy_protocol_port | default([]) %}
|
||||
|
||||
Reference in New Issue
Block a user