Implement a new syntax to specify modules to be installed (#346)
This commit is contained in:
parent
bfbacd0d2b
commit
121312d346
12
CHANGELOG.md
12
CHANGELOG.md
@ -1,5 +1,17 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 0.17.4 (November 12, 2020)
|
||||||
|
|
||||||
|
ENHANCEMENTS:
|
||||||
|
|
||||||
|
* Implement a new syntax to specify modules to be installed. You can now use the following format if you want further fine grained control over how you install modules:
|
||||||
|
```yaml
|
||||||
|
- name: njs # Required
|
||||||
|
state: present # Optional
|
||||||
|
version: =1.19.4+0.4.4-1~bionic # Optional
|
||||||
|
```
|
||||||
|
The old method of specifying modules (using a list of names) still works as expected.
|
||||||
|
|
||||||
## 0.17.3 (November 9, 2020)
|
## 0.17.3 (November 9, 2020)
|
||||||
|
|
||||||
ENHANCEMENTS:
|
ENHANCEMENTS:
|
||||||
|
@ -88,7 +88,9 @@ nginx_remove_license: true
|
|||||||
|
|
||||||
# Install NGINX Modules.
|
# Install NGINX Modules.
|
||||||
# You can select any of the modules listed below. Beware of NGINX Plus only modules (these are marked).
|
# You can select any of the modules listed below. Beware of NGINX Plus only modules (these are marked).
|
||||||
# Default is no modules.
|
# Format is list with either the module name or a dictionary (see njs for an example).
|
||||||
|
# When using a dictionary, the default value for state is present, and for version it's nginx_version if specified.
|
||||||
|
# Default is an empty list (no modules are installed).
|
||||||
nginx_modules: []
|
nginx_modules: []
|
||||||
# - auth-spnego # NGINX Plus
|
# - auth-spnego # NGINX Plus
|
||||||
# - brotli # NGINX Plus
|
# - brotli # NGINX Plus
|
||||||
@ -99,7 +101,9 @@ nginx_modules: []
|
|||||||
# - headers-more # NGINX Plus
|
# - headers-more # NGINX Plus
|
||||||
# - image-filter
|
# - image-filter
|
||||||
# - lua # NGINX Plus
|
# - lua # NGINX Plus
|
||||||
# - njs
|
# - name: njs # Required
|
||||||
|
# state: present # Optional
|
||||||
|
# version: =1.19.4+0.4.4-1~bionic # Optional
|
||||||
# - opentracing # NGINX Plus
|
# - opentracing # NGINX Plus
|
||||||
# - passenger # NGINX Plus
|
# - passenger # NGINX Plus
|
||||||
# - perl # NGINX Plus
|
# - perl # NGINX Plus
|
||||||
|
@ -28,6 +28,8 @@
|
|||||||
- brotli
|
- brotli
|
||||||
- geoip
|
- geoip
|
||||||
- image-filter
|
- image-filter
|
||||||
- njs
|
- name: njs
|
||||||
|
# version: =1.19.4+0.4.4-1~bionic
|
||||||
|
state: present
|
||||||
- perl
|
- perl
|
||||||
- xslt
|
- xslt
|
||||||
|
@ -6,27 +6,28 @@
|
|||||||
- ansible_facts['distribution'] == "CentOS"
|
- ansible_facts['distribution'] == "CentOS"
|
||||||
- '"geoip" in nginx_modules'
|
- '"geoip" in nginx_modules'
|
||||||
|
|
||||||
- name: Install NGINX Modules
|
- name: Install NGINX modules
|
||||||
package:
|
package:
|
||||||
name: "nginx-{{ (nginx_type == 'plus') | ternary('plus-', '') }}module-{{ item }}{{ nginx_version | default('') }}"
|
name: "nginx-{{ (nginx_type == 'plus') | ternary('plus-', '') }}module-{{ item.name | default(item) }}\
|
||||||
state: present
|
{{ item.version | default(nginx_version) | default('') }}"
|
||||||
|
state: "{{ item.state | default('present') }}"
|
||||||
loop: "{{ nginx_modules }}"
|
loop: "{{ nginx_modules }}"
|
||||||
when:
|
when:
|
||||||
- (item in nginx_modules_list and nginx_type == 'opensource')
|
- (item.name | default(item) in nginx_modules_list and nginx_type == 'opensource')
|
||||||
or (item in nginx_plus_modules_list and nginx_type == 'plus')
|
or (item.name | default(item) in nginx_plus_modules_list and nginx_type == 'plus')
|
||||||
- not (item == "auth-spnego")
|
- not (item.name | default(item) == "auth-spnego")
|
||||||
or not (ansible_facts['os_family'] == "Alpine" and (ansible_facts['distribution_version'] | regex_search('^[0-9]+\\.[0-9]+') is version('3.8', '==')))
|
or not (ansible_facts['os_family'] == "Alpine" and (ansible_facts['distribution_version'] | regex_search('^[0-9]+\\.[0-9]+') is version('3.8', '==')))
|
||||||
- not (item == "geoip")
|
- not (item.name | default(item) == "geoip")
|
||||||
or not ((ansible_facts['os_family'] == "RedHat" and ansible_facts['distribution_major_version'] is version('8', '=='))
|
or not ((ansible_facts['os_family'] == "RedHat" and ansible_facts['distribution_major_version'] is version('8', '=='))
|
||||||
or (ansible_facts['os_family'] == "FreeBSD"))
|
or (ansible_facts['os_family'] == "FreeBSD"))
|
||||||
- not (item == "brotli")
|
- not (item.name | default(item) == "brotli")
|
||||||
or not ((ansible_facts['os_family'] == "Alpine")
|
or not ((ansible_facts['os_family'] == "Alpine")
|
||||||
or (ansible_facts['os_family'] == "RedHat" and ansible_facts['distribution_major_version'] is version('8', '<'))
|
or (ansible_facts['os_family'] == "RedHat" and ansible_facts['distribution_major_version'] is version('8', '<'))
|
||||||
or (ansible_facts['os_family'] == "Debian" and ansible_facts['distribution_major_version'] is version('9', '=='))
|
or (ansible_facts['os_family'] == "Debian" and ansible_facts['distribution_major_version'] is version('9', '=='))
|
||||||
or (ansible_facts['os_family'] == "Suse" and ansible_facts['distribution_major_version'] is version('12', '<'))
|
or (ansible_facts['os_family'] == "Suse" and ansible_facts['distribution_major_version'] is version('12', '<'))
|
||||||
or (ansible_facts['distribution'] == "Amazon")
|
or (ansible_facts['distribution'] == "Amazon")
|
||||||
or (ansible_facts['distribution'] == "OracleLinux"))
|
or (ansible_facts['distribution'] == "OracleLinux"))
|
||||||
- not (item == "geoip2") or not (ansible_facts['os_family'] == "Suse")
|
- not (item.name | default(item) == "geoip2") or not (ansible_facts['os_family'] == "Suse")
|
||||||
- not (item == "opentracing")
|
- not (item.name | default(item) == "opentracing")
|
||||||
or not ((ansible_facts['os_family'] == "Suse" and ansible_facts['distribution_major_version'] is version('12', '=='))
|
or not ((ansible_facts['os_family'] == "Suse" and ansible_facts['distribution_major_version'] is version('12', '=='))
|
||||||
or (ansible_facts['os_family'] == "RedHat" and ansible_facts['distribution_major_version'] is version('6', '==')))
|
or (ansible_facts['os_family'] == "RedHat" and ansible_facts['distribution_major_version'] is version('6', '==')))
|
||||||
|
Loading…
Reference in New Issue
Block a user