Go to file
Heinz Wiesinger 1541a59c83 Fix multiple values for the same key (include/listen) in server config file.
With this one can now also write

 - include:
   - file1
   - file2

Rather than only

 - include: file1
 - include: file2
2019-02-19 09:26:15 +01:00
nginx Fix multiple values for the same key (include/listen) in server config file. 2019-02-19 09:26:15 +01:00
tests implement test harness 2018-03-17 15:25:25 -05:00
tools implement test harness 2018-03-17 15:25:25 -05:00
.gitignore implement test harness 2018-03-17 15:25:25 -05:00
.travis.yml implement test harness 2018-03-17 15:25:25 -05:00
CHANGELOG.rst Adds basic ng state functionality. 2014-05-15 18:06:48 -04:00
FORMULA Add support for Gentoo to nginx.ng 2015-08-15 12:26:42 +02:00
LICENSE Update LICENSING year 2015-03-20 20:06:14 -04:00
Makefile implement test harness 2018-03-17 15:25:25 -05:00
pillar.example Fix multiple values for the same key (include/listen) in server config file. 2019-02-19 09:26:15 +01:00
README.rst Merge branch 'master' into test-harness 2018-05-17 14:40:31 -05:00
VERSION Adds basic ng state functionality. 2014-05-15 18:06:48 -04:00

nginx

Install nginx either by source or by package.

Available states

nginx

Runs the states to install nginx, configure the common files, and the users.

nginx.common

Ensures standard nginx files are in place, and configures enabled sites.

nginx.luajit2

Installs luajit.

nginx.openresty

Installs openresty.

nginx.package

Installs the nginx package via package manager.

nginx.source

Installs nginx via the source files.

nginx.users

Installs apache utils, and configures nginx users specified in the pillar. This requires basicauth from salt-contrib (either add it to your salt or ship this single file in your _modules directory see Dynamic Module Distribution

Next-generation, alternate approach

The following states provide an alternate approach to managing Nginx and Nginx servers, as well as code organization. Please provide feedback by filing issues, discussing in #salt in Freenode and the mailing list as normal.

nginx.ng

Meta-state for inclusion of all ng states.

Note: nginx.ng requires the merge parameter of salt.modules.pillar.get(), first available in the Helium release.

nginx.ng.pkg

Installs nginx from package, from the distribution repositories, the official nginx repo or the ppa from Launchpad.

nginx.ng.src

Builds and installs nginx from source.

nginx.ng.certificates -------------------

Manages the deployment of nginx certificates.

nginx.ng.config

Manages the nginx main server configuration file.

nginx.ng.service

Manages the startup and running state of the nginx service.

nginx.ng.servers_config --------------------------

Manages virtual host files. This state only manages the content of the files and does not bind them to service calls.

nginx.ng.servers -------------------

Manages nginx virtual hosts files and binds them to service calls.

nginx.ng.passenger

Installs and configures Phusion Passenger module for nginx. You need to enable the upstream phusion passenger repository with install_from_phusionpassenger: true. Nginx will also be installed from that repository, as it needs to be modified to allow the passenger module to work.

Running Tests

This test runner was implemented using the formula-test-harness project.

Tests will be run on the following base images:

  • simplyadrian/allsalt:centos_master_2017.7.2
  • simplyadrian/allsalt:debian_master_2017.7.2
  • simplyadrian/allsalt:opensuse_master_2017.7.2
  • simplyadrian/allsalt:ubuntu_master_2016.11.3
  • simplyadrian/allsalt:ubuntu_master_2017.7.2

Local Setup

pip install -U virtualenv
virtualenv .venv
source .venv/bin/activate
make setup

Run tests

  • make test-centos_master_2017.7.2
  • make test-debian_master_2017.7.2
  • make test-opensuse_master_2017.7.2
  • make test-ubuntu_master_2016.11.3
  • make test-ubuntu_master_2017.7.2

Run Containers

  • make local-centos_master_2017.7.2
  • make local-debian_master_2017.7.2
  • make local-opensuse_master_2017.7.2
  • make local-ubuntu_master_2016.11.3
  • make local-ubuntu_master_2017.7.2