This ansible role installs a Nginx server in a debian environment. Also installs lua needed for prometheus metrics.
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.
Minimum ansible 2.9.x.x version installed. Inventory destination should be a Debian environment.
For testing purposes, Molecule with Docker as driver.
Create or add to your roles dependency file (e.g requirements.yml):
- src: idealista.nginx_role
version: 5.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
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 activate ssl modules by nginx_ssl_enabled
var (see molecule tests as example).
To import your certificates, you need to place them at the path defined in nginx_certificates_path
, they will be imported in /etc/nginx/certificates
.
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
$ pipenv sync
$ MOLECULE_DISTRO=(debian:stretch-slim|debian:buster-slim|debian:bullseye-slim) pipenv run molecule test
Note: Debian11 (Debian Bullseye) will be used as default linux distro if none is provided.
See molecule.yml to check possible testing platforms.
For testing purposes, a self signed certificate is being used and encripted via ansible-vault. Remember to never upload your vault key in your repository for real projects.
![Goss](https://img.shields.io/badge/goss-0.3.11-green.svg
For the versions available, see the tags on this repository.
Additionaly you can see what change in each version in the CHANGELOG.md file.
- Idealista - Work with - idealista
See also the list of contributors who participated in this project.
This project is licensed under the Apache 2.0 license - see the LICENSE file for details.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.