From 5771c1e8a4852a38a8c1e86867334049ade69840 Mon Sep 17 00:00:00 2001 From: Alessandro Fael Garcia Date: Fri, 9 Feb 2018 12:00:58 -0800 Subject: [PATCH] Add support for all first party NGINX modules --- defaults/main.yml | 6 +++++- tasks/main.yml | 12 ++++++++++++ tasks/modules/install-geoip.yml | 21 +++++++++++++++++++++ tasks/modules/install-image-filter.yml | 19 +++++++++++++++++++ tasks/modules/install-njs.yml | 4 ++-- tasks/modules/install-perl.yml | 4 ++-- tasks/modules/install-rtmp.yml | 19 +++++++++++++++++++ tasks/modules/install-xslt.yml | 19 +++++++++++++++++++ 8 files changed, 99 insertions(+), 5 deletions(-) create mode 100644 tasks/modules/install-geoip.yml create mode 100644 tasks/modules/install-image-filter.yml create mode 100644 tasks/modules/install-rtmp.yml create mode 100644 tasks/modules/install-xslt.yml diff --git a/defaults/main.yml b/defaults/main.yml index 7ed09ac..c0e8a4f 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -7,12 +7,16 @@ type: opensource # Options are 'mainline' or 'stable'. # Default is stable. branch: mainline -# Install nginscript, perl and/or waf modules. +# Install nginscript, perl, waf, geoip, image-filter, rtmp and/or xslt modules. # Default is false. modules: njs: false perl: false waf: false + geoip: false + image-filter: false + rtmp: false + xslt: false # Install NGINX Amplify. # Use your NGINX Amplify API key. # Default is null. diff --git a/tasks/main.yml b/tasks/main.yml index d53aafc..8ac5889 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -17,6 +17,18 @@ - import_tasks: modules/install-perl.yml when: modules.perl +- import_tasks: modules/install-geoip.yml + when: modules.geoip + +- import_tasks: modules/install-image-filter.yml + when: modules.image-filter + +- import_tasks: modules/install-rtmp.yml + when: modules.rtmp + +- import_tasks: modules/install-xslt.yml + when: modules.xslt + - import_tasks: modules/install-waf.yml when: modules.waf and type == "plus" diff --git a/tasks/modules/install-geoip.yml b/tasks/modules/install-geoip.yml new file mode 100644 index 0000000..29ca8aa --- /dev/null +++ b/tasks/modules/install-geoip.yml @@ -0,0 +1,21 @@ +--- +- name: "(Install: All OSs) Install Open Source NGINX GeoIP Module" + package: + name: nginx-geoip-perl + state: present + when: type == "opensource" + +- name: "(Install: All OSs) Install NGINX Plus GeoIP Module" + package: + name: nginx-plus-geoip-perl + state: present + when: type == "plus" + +- name: "(Setup: All NGINX) Load NGINX GeoIP Module" + blockinfile: + path: /etc/nginx/nginx.conf + insertbefore: BOF + block: | + load_module modules/ngx_http_geoip_module.so; + load_module modules/ngx_stream_geoip_module.so; + notify: "(Handler: All OSs) Reload NGINX" diff --git a/tasks/modules/install-image-filter.yml b/tasks/modules/install-image-filter.yml new file mode 100644 index 0000000..8072617 --- /dev/null +++ b/tasks/modules/install-image-filter.yml @@ -0,0 +1,19 @@ +--- +- name: "(Install: All OSs) Install Open Source NGINX Image Filter Module" + package: + name: nginx-module-image-filter + state: present + when: type == "opensource" + +- name: "(Install: All OSs) Install NGINX Plus Image Filter Module" + package: + name: nginx-plus-module-image-filter + state: present + when: type == "plus" + +- name: "(Setup: All NGINX) Load NGINX Image Filter Module" + lineinfile: + path: /etc/nginx/nginx.conf + insertbefore: BOF + line: load_module modules/ngx_http_image_filter_module.so; + notify: "(Handler: All OSs) Reload NGINX" diff --git a/tasks/modules/install-njs.yml b/tasks/modules/install-njs.yml index e64231b..6216308 100644 --- a/tasks/modules/install-njs.yml +++ b/tasks/modules/install-njs.yml @@ -1,11 +1,11 @@ --- -- name: "(Install: All OSs) Install NGINX NJS Module" +- name: "(Install: All OSs) Install Open Source NGINX NJS Module" package: name: nginx-module-njs state: present when: type == "opensource" -- name: "(Install: All OSs) Install NGINX NJS Module" +- name: "(Install: All OSs) Install NGINX Plus NJS Module" package: name: nginx-plus-module-njs state: present diff --git a/tasks/modules/install-perl.yml b/tasks/modules/install-perl.yml index 575f492..5adf910 100644 --- a/tasks/modules/install-perl.yml +++ b/tasks/modules/install-perl.yml @@ -1,11 +1,11 @@ --- -- name: "(Install: All OSs) Install NGINX Perl Module" +- name: "(Install: All OSs) Install Open Source NGINX Perl Module" package: name: nginx-module-perl state: present when: type == "opensource" -- name: "(Install: All OSs) Install NGINX Perl Module" +- name: "(Install: All OSs) Install NGINX Plus Perl Module" package: name: nginx-plus-module-perl state: present diff --git a/tasks/modules/install-rtmp.yml b/tasks/modules/install-rtmp.yml new file mode 100644 index 0000000..b08626f --- /dev/null +++ b/tasks/modules/install-rtmp.yml @@ -0,0 +1,19 @@ +--- +- name: "(Install: All OSs) Install Open Source NGINX RTMP Module" + package: + name: nginx-module-rtmp + state: present + when: type == "opensource" + +- name: "(Install: All OSs) Install NGINX Plus RTMP Module" + package: + name: nginx-plus-module-rtmp + state: present + when: type == "plus" + +- name: "(Setup: All NGINX) Load NGINX RTMP Module" + lineinfile: + path: /etc/nginx/nginx.conf + insertbefore: BOF + line: load_module modules/ngx_rtmp_module.so; + notify: "(Handler: All OSs) Reload NGINX" diff --git a/tasks/modules/install-xslt.yml b/tasks/modules/install-xslt.yml new file mode 100644 index 0000000..206852c --- /dev/null +++ b/tasks/modules/install-xslt.yml @@ -0,0 +1,19 @@ +--- +- name: "(Install: All OSs) Install Open Source NGINX XSLT Module" + package: + name: nginx-module-xslt + state: present + when: type == "opensource" + +- name: "(Install: All OSs) Install NGINX Plus XSLT Module" + package: + name: nginx-plus-module-xslt + state: present + when: type == "plus" + +- name: "(Setup: All NGINX) Load NGINX XSLT Module" + lineinfile: + path: /etc/nginx/nginx.conf + insertbefore: BOF + line: load_module modules/ngx_http_xslt_filter_module.so; + notify: "(Handler: All OSs) Reload NGINX"