Go to file
2020-09-24 04:21:15 +02:00
.github Add basic assertions (#319) 2020-09-15 21:27:06 +02:00
defaults/main Add NGINX Plus tests to TravisCI (#327) 2020-09-20 21:38:40 +02:00
files Prepare 0.15.0 release (#300) 2020-08-19 18:39:17 +02:00
handlers Swap order of handlers (#332) 2020-09-24 04:21:15 +02:00
meta Update Ansible Galaxy metadata (#313) 2020-09-03 00:31:20 +02:00
molecule Add NGINX Plus tests to TravisCI (#327) 2020-09-20 21:38:40 +02:00
tasks Do not fail when assert module fails (#330) 2020-09-22 17:50:07 +02:00
templates Add NGINX Plus tests to TravisCI (#327) 2020-09-20 21:38:40 +02:00
vars Add NGINX Plus tests to TravisCI (#327) 2020-09-20 21:38:40 +02:00
.gitignore Prepare 0.15.0 release (#300) 2020-08-19 18:39:17 +02:00
.travis.yml Add NGINX Plus tests to TravisCI (#327) 2020-09-20 21:38:40 +02:00
.yamllint Buildfromsource (#233) 2020-03-25 18:43:32 +01:00
CHANGELOG.md Swap order of handlers (#332) 2020-09-24 04:21:15 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2019-12-12 14:22:11 -08:00
CONTRIBUTING.md Add basic assertions (#319) 2020-09-15 21:27:06 +02:00
LICENSE Initial commit 2018-01-10 14:37:00 -08:00
README.md Do not fail when assert module fails (#330) 2020-09-22 17:50:07 +02:00

Ansible NGINX Role

Ansible Galaxy Build Status

This role installs NGINX Open Source, NGINX Plus, the NGINX Amplify agent, or NGINX Unit on your target host.

Note: This role is still in active development. There may be unidentified issues and the role variables may change as development continues.

Deprecation Warnings:

With the advent of Ansible collections and to reduce the overhead of this role, the decision has been made to split this role into three smaller roles:

  • The NGINX Ansible role will keep working as is and be used to install and setup NGINX.
  • There now is a separate role to manage and create NGINX configurations available here. Any new issues or PRs related to configuring NGINX should be submitted in the new NGINX Config repository. New issues or PRs related to configuring NGINX submitted in this repository will not be worked on. The NGINX configuration functionalities included in this role will be removed in an upcoming release.
  • NGINX Unit now has a separate role available here. Any new issues or PRs related to NGINX Unit should be submitted in the new NGINX Unit repository. New issues or PRs related to NGINX Unit submitted in this repository will not be worked on. The NGINX Unit functionalities included in this role will be removed in an upcoming release.

Requirements

Ansible

This role was developed and tested with maintained versions of Ansible. Backwards compatibility is not guaranteed.

Instructions on how to install Ansible can be found in the Ansible website.

Molecule

Molecule is used to test the various functionalities of the role.

Instructions on how to install Molecule can be found in the Molecule website.

Installation

Ansible Galaxy

Use ansible-galaxy install nginxinc.nginx to install the latest stable release of the role on your system.

Git

Use git clone https://github.com/nginxinc/ansible-role-nginx.git to pull the latest edge commit of the role from GitHub.

Platforms

The NGINX Ansible role supports all platforms supported by NGINX Open Source, NGINX Plus, the NGINX Amplify agent, and NGINX Unit:

NGINX Open Source

Alpine:
  - 3.9
  - 3.10
  - 3.11
  - 3.12
CentOS:
  - 6
  - 7.4+
  - 8
Debian:
  - stretch
  - buster
Red Hat:
  - 6
  - 7.4+
  - 8
SUSE/SLES:
  - 12
  - 15
Ubuntu:
  - xenial
  - bionic
  - eoan
  - focal

NGINX Plus

Alpine:
  - 3.9
  - 3.10
  - 3.11
Amazon Linux:
  - 2018.03
Amazon Linux 2:
  - any
CentOS:
  - 6.5+
  - 7.4+
  - 8
Debian:
  - stretch
  - buster
FreeBSD:
  - 11.2+
  - 12
Oracle Linux:
  - 6.5+
  - 7.4+
Red Hat:
  - 6.5+
  - 7.4+
  - 8
SUSE/SLES:
  - 12
  - 15
Ubuntu:
  - xenial
  - bionic
  - eoan
  - focal

NGINX Amplify Agent

Amazon Linux:
  - 2017.09
CentOS:
  - 6
  - 7
Debian:
  - jessie
  - stretch
Red Hat:
  - 6
  - 7
Ubuntu:
  - xenial
  - bionic
  - focal

NGINX Unit

Amazon Linux:
  - 2018.03
Amazon Linux 2:
  - any
CentOS:
  - 6
  - 7
  - 8
Debian:
  - stretch
  - buster
Red Hat:
  - 6
  - 7
  - 8
Ubuntu:
  - xenial
  - bionic
  - focal

Note: You can also use this role to compile NGINX Open Source from source, install NGINX Open Source on compatible yet unsupported platforms, or install NGINX Open Source on BSD systems at your own risk.

Role Variables

This role has multiple variables. The descriptions and defaults for all these variables can be found in the defaults/main/ directory in the following files:

Similarly, descriptions and defaults for preset variables can be found in the vars/ directory in the following files:

Example Playbooks

Working functional playbook examples can be found in the molecule/common/ directory in the following files:

Do note that if you install this repository via Ansible Galaxy, you will have to replace the role variable in the sample playbooks from ansible-role-nginx to nginxinc.nginx.

Other NGINX Roles

You can find an Ansible role to configure NGINX here

You can find an Ansible role to install and configure NGINX App Protect here

You can find an Ansible collection of roles to install and configure NGINX Controller here

You can find an Ansible role to install NGINX Unit here

License

Apache License, Version 2.0

Author Information

Alessandro Fael Garcia

Grzegorz Dzien

Tom Gamull

© F5 Networks, Inc. 2018 - 2020