Update docs

* Update README
* Update Ansible Galaxy metadata
* Fix syntax on defaults file
This commit is contained in:
Alessandro Fael Garcia 2018-07-18 15:01:16 -07:00
parent 0fef56b4fa
commit dcfa8cd43b
3 changed files with 223 additions and 193 deletions

396
README.md
View File

@ -17,187 +17,205 @@ It supports all platforms supported by [NGINX Open Source](https://nginx.org/en/
**NGINX Open Source:** **NGINX Open Source:**
CentOS: ```yaml
versions: CentOS:
- 6 versions:
- 7 - 6
RedHat: - 7
versions: RedHat:
- 6 versions:
- 7 - 6
Debian: - 7
versions: Debian:
- jessie versions:
- stretch - jessie
Ubuntu: - stretch
versions: Ubuntu:
- trusty versions:
- xenial - trusty
- zesty - xenial
SUSE/SLES: - artful
versions: - bionic
- 12 SUSE/SLES:
versions:
- 12
FreeBSD:
versions:
- 10
- 11
```
**NGINX Plus:** **NGINX Plus:**
Debian: ```yaml
versions: CentOS:
- jessie versions:
- stretch - 6
Ubuntu: - 7
versions: RedHat:
- trusty versions:
- xenial - 6
- zesty - 7
- artful Debian:
CentOS: versions:
versions: - jessie
- 6.5 - stretch
- 7 Ubuntu:
RedHat: versions:
versions: - trusty
- 6.5 - xenial
- 7 - artful
Oracle Linux: - bionic
versions: Oracle Linux:
- 6.5 versions:
- 7 - 6.5
Amazon Linux: - 7
versions: Amazon Linux:
- 2016.09 versions:
SUSE/SLES: - 2018.03
versions: SUSE/SLES:
- 12 versions:
FreeBSD: - 12
versions: FreeBSD:
- 10.3 versions:
- 11 - 10
- 11
```
**NGINX Unit:** **NGINX Unit:**
CentOS: ```yaml
versions: CentOS:
- 6 versions:
- 7 - 6
RedHat: - 7
versions: RedHat:
- 6 versions:
- 7 - 6
Debian: - 7
versions: Debian:
- jessie versions:
- stretch - jessie
Ubuntu: - stretch
versions: Ubuntu:
- xenial versions:
- artful - xenial
- bionic - artful
Amazon Linux: - bionic
versions: Amazon Linux:
- 2016.09 versions:
- 2018.03
- 2
FreeBSD:
versions:
- 10
- 11
```
Role Variables Role Variables
-------------- --------------
This role has multiple variables. The defaults for all these variables are the following: This role has multiple variables. The defaults for all these variables are the following:
--- ```yaml
# Install NGINX. ---
# Default is true. # Install NGINX.
nginx_enable: true # Default is true.
nginx_enable: true
# Specify which version of NGINX you want to install. # Specify which version of NGINX you want to install.
# Options are 'opensource' or 'plus'. # Options are 'opensource' or 'plus'.
# Default is 'opensource'. # Default is 'opensource'.
type: opensource type: opensource
# Specify repository origin for NGINX Open Source. # Specify repository origin for NGINX Open Source.
# Options are 'nginx_repository' or 'os_repository'. # Options are 'nginx_repository' or 'os_repository'.
# Only works if 'type' is set to 'opensource'. # Only works if 'type' is set to 'opensource'.
# Default is nginx_repository. # Default is nginx_repository.
install_from: nginx_repository install_from: nginx_repository
# Specify source repository for NGINX Open Source. # Specify source repository for NGINX Open Source.
# Only works if 'install_from' is set to 'nginx_repository'. # Only works if 'install_from' is set to 'nginx_repository'.
# Defaults are the official NGINX repositories. # Defaults are the official NGINX repositories.
nginx_repository: nginx_repository:
debian: debian:
- deb https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx - deb https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx
- deb-src https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx - deb-src https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx
redhat: redhat:
- https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}{{ (ansible_distribution == "RedHat") | ternary('rhel/', 'centos/') }}{{ ansible_distribution_major_version|int }}/$basearch/ - https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}{{ (ansible_distribution == "RedHat") | ternary('rhel/', 'centos/') }}{{ ansible_distribution_major_version|int }}/$basearch/
suse: suse:
- https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}sles/12 - https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}sles/12
# Specify which branch of NGINX Open Source you want to install. # Specify which branch of NGINX Open Source you want to install.
# Options are 'mainline' or 'stable'. # Options are 'mainline' or 'stable'.
# Only works if 'install_from' is set to 'nginx_repository'. # Only works if 'install_from' is set to 'nginx_repository'.
# Default is mainline. # Default is mainline.
branch: mainline branch: mainline
# Install NGINX JavaScript, Perl, ModSecurity WAF (NGINX Plus only), GeoIP, Image-Filter, RTMP Media Streaming, and/or XSLT modules. # Install NGINX JavaScript, Perl, ModSecurity WAF (NGINX Plus only), GeoIP, Image-Filter, RTMP Media Streaming, and/or XSLT modules.
# Default is false. # Default is false.
modules: modules:
njs: false njs: false
perl: false perl: false
waf: false waf: false
geoip: false geoip: false
image_filter: false image_filter: false
rtmp: false rtmp: false
xslt: false xslt: false
# Install NGINX Amplify. # Install NGINX Amplify.
# Use your NGINX Amplify API key. # Use your NGINX Amplify API key.
# Default is null. # Default is null.
amplify_enable: false amplify_enable: false
amplify_key: null amplify_key: null
# Enable NGINX status data. # Enable NGINX status data.
# Will enable 'stub_status' in NGINX Open Source and 'status' in NGINX Plus. # Will enable 'stub_status' in NGINX Open Source and 'status' in NGINX Plus.
# Default is false. # Default is false.
status_enable: false status_enable: false
# Enable NGINX Plus REST API, write access to the REST API, and NGINX Plus dashboard. # Enable NGINX Plus REST API, write access to the REST API, and NGINX Plus dashboard.
# Default is false. # Default is false.
rest_api_enable: false rest_api_enable: false
rest_api_write: false rest_api_write: false
rest_api_dashboard: false rest_api_dashboard: false
# Location of your NGINX Plus license in your local machine. # Location of your NGINX Plus license in your local machine.
# Default is the files folder within the NGINX Ansible role. # Default is the files folder within the NGINX Ansible role.
license: license:
certificate: license/nginx-repo.crt certificate: license/nginx-repo.crt
key: license/nginx-repo.key key: license/nginx-repo.key
# Enable uploading NGINX configuration files to your system. # Enable uploading NGINX configuration files to your system.
# Default for uploading files is false. # Default for uploading files is false.
# Default location of files is the files folder within the NGINX Ansible role. # Default location of files is the files folder within the NGINX Ansible role.
main_push_enable: false main_push_enable: false
main_push_location: conf/nginx.conf main_push_location: conf/nginx.conf
http_push_enable: false http_push_enable: false
http_push_location: conf/http/*.conf http_push_location: conf/http/*.conf
stream_push_enable: false stream_push_enable: false
stream_push_location: conf/stream/*.conf stream_push_location: conf/stream/*.conf
# Configuration variables to create a templated NGINX configuration. # Configuration variables to create a templated NGINX configuration.
# Defaults are the values found in a fresh NGINX installation. # Defaults are the values found in a fresh NGINX installation.
main_template_enable: false main_template_enable: false
main_template_user: nginx main_template_user: nginx
main_template_worker_processes: auto main_template_worker_processes: auto
main_template_error_level: warn main_template_error_level: warn
main_template_worker_connections: 1024 main_template_worker_connections: 1024
http_template_enable: false http_template_enable: false
http_template_keepalive_timeout: 65 http_template_keepalive_timeout: 65
http_template_listen: 80 http_template_listen: 80
http_template_server_name: localhost http_template_server_name: localhost
stream_template_enable: false stream_template_enable: false
stream_template_listen: 12345 stream_template_listen: 12345
# Install NGINX Unit and NGINX Unit modules. # Install NGINX Unit and NGINX Unit modules.
# Use a list of supported NGINX Unit modules. # Use a list of supported NGINX Unit modules.
# Default is false. # Default is false.
unit_enable: false unit_enable: false
unit_modules: null unit_modules: null
```
Dependencies Dependencies
------------ ------------
@ -209,43 +227,51 @@ Example Playbook
This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost and installing the open source version of NGINX. This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost and installing the open source version of NGINX.
--- ```yaml
- hosts: localhost ---
become: true - hosts: localhost
roles: become: true
- role: nginxinc.nginx roles:
- role: nginxinc.nginx
```
This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost and installing NGINX Plus. This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost and installing NGINX Plus.
--- ```yaml
- hosts: localhost ---
become: true - hosts: localhost
roles: become: true
- role: nginxinc.nginx roles:
vars: - role: nginxinc.nginx
type: plus vars:
type: plus
```
This is a sample playbook file for deploying the Ansible Galaxy NGINX role to a dynamic inventory containing the `nginx` tag. This is a sample playbook file for deploying the Ansible Galaxy NGINX role to a dynamic inventory containing the `nginx` tag.
--- ```yml
- hosts: tag_nginx ---
remote_user: root - hosts: tag_nginx
roles: remote_user: root
- role: nginxinc.nginx roles:
- role: nginxinc.nginx
```
This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost to install NGINX Unit and the PHP/Perl NGINX Unit language modules. This is a sample playbook file for deploying the Ansible Galaxy NGINX role in a localhost to install NGINX Unit and the PHP/Perl NGINX Unit language modules.
--- ```yml
- hosts: localhost ---
become: true - hosts: localhost
roles: become: true
- role: nginxinc.nginx roles:
vars: - role: nginxinc.nginx
nginx_enable: false vars:
unit_enable: true nginx_enable: false
unit_modules: unit_enable: true
- unit-php unit_modules:
- unit-perl - unit-php
- unit-perl
```
To run any of the above sample playbooks create a `setup-nginx.yml` file and paste the contents. Executing the Ansible Playbook is then as simple as executing `ansible-playbook setup-nginx.yml`. To run any of the above sample playbooks create a `setup-nginx.yml` file and paste the contents. Executing the Ansible Playbook is then as simple as executing `ansible-playbook setup-nginx.yml`.

View File

@ -19,12 +19,12 @@ install_from: nginx_repository
# Defaults are the official NGINX repositories. # Defaults are the official NGINX repositories.
nginx_repository: nginx_repository:
debian: debian:
- deb https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx - deb https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/', '') }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx
- deb-src https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx - deb-src https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/', '') }}{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx
redhat: redhat:
- https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}{{ (ansible_distribution == "RedHat") | ternary('rhel/', 'centos/') }}{{ ansible_distribution_major_version|int }}/$basearch/ - https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/', '') }}{{ (ansible_distribution == "RedHat") | ternary('rhel/', 'centos/') }}{{ ansible_distribution_major_version|int }}/$basearch/
suse: suse:
- https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/','') }}sles/12 - https://nginx.org/packages/{{ (branch == 'mainline') | ternary('mainline/', '') }}sles/12
# Specify which branch of NGINX Open Source you want to install. # Specify which branch of NGINX Open Source you want to install.
# Options are 'mainline' or 'stable'. # Options are 'mainline' or 'stable'.

View File

@ -1,7 +1,8 @@
---
galaxy_info: galaxy_info:
author: Alessandro Fael Garcia author: Alessandro Fael Garcia
description: Official Ansible role for NGINX description: Official Ansible role for NGINX
company: NGINX Inc company: NGINX, Inc.
license: Apache License, Version 2.0 license: Apache License, Version 2.0
@ -10,15 +11,14 @@ galaxy_info:
platforms: platforms:
- name: Debian - name: Debian
versions: versions:
- wheezy
- jessie - jessie
- stretch - stretch
- name: Ubuntu - name: Ubuntu
versions: versions:
- precise
- trusty - trusty
- xenial - xenial
- yakkety - artful
- bionic
- name: EL - name: EL
versions: versions:
- 6 - 6
@ -26,6 +26,10 @@ galaxy_info:
- name: SLES - name: SLES
versions: versions:
- 12 - 12
- name: FreeBSD
versions:
- 10
- 11
galaxy_tags: galaxy_tags:
- nginx - nginx