pombredanne / nginx_role

Ansible role to install nginx http and reverse proxy server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

Build Status Ansible Galaxy

Nginx Ansible role

This ansible role installs a Nginx server in a debian environment. Also installs lua needed for prometheus metrics.

Getting Started

These instructions will get you a copy of the role for your ansible playbook. Once launched, it will install a Nginx server in a Debian system.

Prerequisities

Ansible 2.7.5.0 version installed. Inventory destination should be a Debian environment.

For testing purposes, Molecule with Docker as driver.

Installing

Create or add to your roles dependency file (e.g requirements.yml):

- src: idealista.nginx_role
  version: 2.0.0
  name: nginx

Install the role with ansible-galaxy command:

ansible-galaxy install -p roles -r requirements.yml -f

Use in a playbook:

---
- hosts: someserver
  roles:
    - role: nginx

Usage

Look to the defaults vars file to see the possible configuration vars.

The server is installed using the sources adding the headers-more module and lua module. You can add/remove compile built-in and external modules by setting nginx_builtin_modules and nginx_external_modules vars.

You can add new servers to nginx by including your server as a file or as a template, setting the server files in the path defined by nginx_extra_servers_path or nginx_extra_servers_template_path (see molecule tests as example).

If you want to change any version do it at your risk. Some nginx versions and modules are not compatible. Known compatible versions are:

Nginx: 1.10.* + lua_module_version: 0.10.7
Nginx: 1.12.* + lua_module_version: 0.10.11
Nginx: 1.14.* + lua_module_version: 0.10.13

Testing

$ pipenv install -r test-requirements.txt --python 2.7
$ MOLECULE_DISTRO=(debian8|debian9) pipenv run molecule test

Note: Debian9 (Debian Stretch) will be used as default linux distro if none is provided.

See molecule.yml to check possible testing platforms.

Built With

Ansible Molecule

Versioning

For the versions available, see the tags on this repository.

Additionaly you can see what change in each version in the CHANGELOG.md file.

Authors

See also the list of contributors who participated in this project.

License

Apache 2.0 Licence

This project is licensed under the Apache 2.0 license - see the LICENSE file for details.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Acknowledgments

About

Ansible role to install nginx http and reverse proxy server

License:Apache License 2.0