Commit Graph

170 Commits

Author SHA1 Message Date
Alessandro Fael Garcia
e9b6c59733
Add separate variables for installing and configuring NGINX (#284) 2020-07-13 18:05:03 +02:00
Alessandro Fael Garcia
857ba8c899
Replace with_items with loop (#282)
`loop` is now the recommended way to loop through lists instead of `with_items`
2020-07-08 14:55:15 +02:00
Alessandro Fael Garcia
6ac3cbac98
Remove arch descriptor from Debian/Ubuntu src repo (#281) 2020-07-07 18:42:00 +02:00
Alessandro Fael Garcia
e51f977a2c
Remove root HTML tasks from source install (#280)
NGINX automatically creates a root HTML site when installing from source
2020-07-07 15:52:53 +02:00
Alessandro Fael Garcia
7341b2ec64
Flush handlers before running nginx -T and setting up logrotate (#279) 2020-07-07 10:44:13 +02:00
Tom Gamull
7e6a7f0397
Triple S!!! Speed, Systemd and Selinux (#272) 2020-06-30 18:59:53 +02:00
Alessandro Fael Garcia
77ccf86255
Add access_log to status and API configuration files (#265) 2020-06-23 17:48:43 +02:00
heronimus
088a33b33a
Add CentOS/RedHat yum repository module_hotfixes option (#264) 2020-06-18 14:34:51 +02:00
Alessandro Fael Garcia
8ef117145f
Improve config cleanup tasks (#262) 2020-06-12 23:42:14 +02:00
Alessandro Fael Garcia
55c2f534ef
Add support for Ubuntu Focal (#258) 2020-06-08 15:46:01 +02:00
Seena Fallah
3db516413e
Add custom logrotate config (#251) 2020-05-19 22:51:08 +02:00
Aleksey Shirokih
5a7731735b
Restrict logging certificate content in diff mode (#242) 2020-04-22 14:59:07 +02:00
Tom Gamull
301416a9c9
Issue239 - fix nginx_version in module install (#240) 2020-04-18 00:40:35 +02:00
Tom Gamull
2289b6a070
Buildfromsource (#233)
* Add build from source option

* Update to Molecule 3.0

* Add service manager to Debian images

* Add .gitignore entry for Ansible retry files

Co-authored-by: Alessandro Fael Garcia <alessfg@hotmail.com>
2020-03-25 18:43:32 +01:00
Alessandro Fael Garcia
d0548a7b0b
Remove NGINX Controller agent tasks (#228)
There's now a separate collection of NGINX Controller roles that can be found at https://github.com/nginxinc/ansible-collection-nginx_controller making the task in this role obsolete
2020-02-28 16:11:29 +01:00
Alessandro Fael Garcia
9fba82755f
Add OS family check (#224) 2020-02-04 17:11:16 +01:00
Alessandro Fael Garcia
d661ff4db9
Only add Debian repositories when installing role in amd64 archs (#212) 2019-12-30 18:46:15 +01:00
erbap
50a6338a35 apt update (after installation from the nginx repo) gives an err… (#211) 2019-12-27 16:07:49 +00:00
Alessandro Fael Garcia
f54b7d2f90
Add new method to install the NGINX Controller agent (#205) 2019-12-11 18:25:20 -08:00
Alessandro Fael Garcia
3b6c744166
Delete NGINX Plus repository when license is deleted (#204)
This fixes a bug when only the license is deleted, making system updates fail since the NGINX Plus repository is still within the repositories list yet there is no license to authenticate to the repository
2019-12-11 12:45:12 -08:00
Alessandro Fael Garcia
8baa94e736
Add option to use/update to the latest version of NGINX (#202)
Resolves #132
2019-12-06 16:48:15 -08:00
Alessandro Fael Garcia
e4e68376f5 Add testing and use correct repository for CentOS/RHEL 8 2019-11-26 22:12:09 +01:00
Vladimir Botka
31beec2e7b NGINX Plus separate installation of Linux and FreeBSD (#193)
* Added variable nginx_plus_linux_families: ['Alpine', 'Debian', 'RedHat', 'Suse']
* Added variable nginx_plus_bsd_systems: ['FreeBSD']
* Added variable nginx_freebsd_extra_packages: ['security/ca_root_nss']
* Installation of Linux moved to install-plus-linux.yml
* Installation of FreeBSD moved to install-plus-bsd.yml
* Installation of nginx_freebsd_extra_packages moved to tasks/prerequisites/setup-freebsd.yml
* Installation of NGINX Plus tested with FreeBSD 12.0; Lint passed
2019-11-26 14:15:55 +01:00
Seena Fallah
1771878e9e Add multiple servers for reverse proxy template (#194)
* Change custom options to better reflect multiple server support
2019-11-26 00:46:03 +01:00
Alessandro Fael Garcia
f6c48c12d6
Add Alpine tests to all molecule scenarios (#191)
* Use distro specific Ansible modules to install NGINX

* Install NGINX directly in Alpine distributions from the official repository to avoid naming conflicts

* Set travis_wait parameter to max timeout setting
2019-11-24 02:10:55 +01:00
Alessandro Fael Garcia
59e0170313
Fix OSS Alpine installation and add Alpine test coverage (#190) 2019-11-22 15:52:34 +01:00
Alessandro Fael Garcia
16f21c5c7c
Optimise testing and fix CentOS GeoIP module (#185)
* Use slim Debian images for testing 
* Update `volume_mounts` to `volumes`
* Update and move default Dockerfile
* Use normal centos image
* Add epel-release prerequisite to CentOS modules
* Separate module and template tests
2019-11-21 19:53:30 +01:00
Vladimir Botka
fd88f4cb22 Tags added to main.yml (#186)
* Tags added to each import_tasks in main.yml
2019-11-19 15:47:29 +01:00
Vladimir Botka
27d94628bd Separate installation of Linux and BSD (#182)
* Added variable nginx_linux_families: ['Debian', 'RedHat', 'Suse']
* Added variable nginx_bsd_systems: ['FreeBSD', 'NetBSD', 'OpenBSD', 'DragonFlyBSD', 'HardenedBSD']
* Handler started only in "not ansible_check_mode" to avoid --check failure when service hes not been installed yet
* Installation of Linux moved to install-oss-linux.yml
* Installation of BSD moved to install-oss-bsd.yml
* File setup-freebsd.yml deleted
2019-11-18 21:09:10 +01:00
Alessandro Fael Garcia
78c21d4346
Add variable to set location of NGINX status conf file (#184) 2019-11-18 17:14:00 +01:00
Alessandro Fael Garcia
41aeda300d
Add option to specify the version of NGINX to install (#177)
And remove outdated Debian Jessie Molecule tests
2019-11-03 15:07:38 +01:00
Alessandro Fael Garcia
1c9a1278b3
Reload NGINX after cleaning up configs (#174) 2019-10-17 21:21:17 +02:00
Thomas Boros
af54ab1401 Fix module installation when with plus (#162)
* Fixes module installation when nginx_delete_license is set to true with plus license
2019-10-03 18:10:51 +02:00
Alessandro Fael Garcia
a92d424bdb
Add support for Debian Buster (#163)
Closes #151
2019-08-07 22:16:27 +02:00
Zeno Grandi
487a2d0c07 Use Molecule for testing (#158)
* Ported test playbooks to Molecule scenarios

* Update Travis integration

* Delete legacy tests
2019-08-03 12:53:21 +02:00
Alessandro Fael Garcia
feda384b94 Improve role handling (#128)
* Improve role handling

* Add defaults to some tasks

* Improve template conditionals
2019-05-21 16:23:06 +01:00
Alessandro Fael Garcia
f3ec78e7ae Add support to the role for RHEL 8 and Alpine Linux (#129)
* Add support to the role for RHEL 8 and Alpine Linux

* Add NGINX Open Source support for Alpine Linux

* Add NGINX Open Source support for SLES 15

* Update supported platforms matrix
2019-05-20 17:32:08 +01:00
Tom Gamull
783d29639c Http auth req additions - issue 120 (#121)
* added http_auth_req

* removed existing set-headers

* is defined for proxy_pass_request_body
2019-04-18 10:51:44 +01:00
Christopher Blanchard
a7d3164ba1 Amplify installation fixes (#113)
* Remove syntax error

When evaluated (i.e. when nginx_amplify_enable=true and
nginx_amplify_api_key is defined) this line causes a syntax error

To check for empty string, opted for temporary solution outlined in https://github.com/ansible/ansible-lint/issues/457

* Fix reference to amplify api key

Previously was labelled `amplify_api_key`. Changed to
`nginx_amplify_api_key` in #a55a50d

* Fix reference to default config file

On my system at least (bionic), the default configuration file is
`/etc/amplify-agent/agent.conf.default`

This is also assumed be to the case on the amplify install shell script https://github.com/nginxinc/nginx-amplify-agent/blob/master/packages/install.sh#L526
2019-04-08 14:27:36 +01:00
Alan Downing
e0bbce9b7f Changing the API config to be a template 2019-02-28 14:27:18 -05:00
Alessandro Fael Garcia
8695f49f2b Refactor signing key tasks (#105) 2019-02-19 15:30:10 +00:00
Alessandro Fael Garcia
589d668def Add parameter to cleanup existing NGINX configs (#103) 2019-02-15 14:51:09 +00:00
Alexander Rublev
f29d9c33f0 Allow setting basic parameters for proxy cache (#94)
* Add parameters for proxy cache
2019-02-12 15:12:40 +00:00
Timothy Allen
3a66e10a17 Basic stream template (#92)
* Add Stream template defaults
* Add stream default config template
* Added stream template variables
* Changed Ansible task to use new stream template
2019-02-06 12:39:48 +00:00
Izak Eygelaar
f79e6d0210 Allow making use of Ansible-vault to encrypt and decrypt sensitive certs and keys (#95)
* Allow making use of Ansible-vault to encrypt sensitive certs and keys
2019-02-01 18:59:56 +00:00
Alessandro Fael Garcia
8ead2b7c00
Install RTMP only when using NGINX Plus (#91)
* Install RTMP only when using NGINX Plus

* Make GeoIP and NJS module tasks idempotent
2019-01-21 17:20:16 +01:00
Alessandro Fael Garcia
6693791de2
Fix module install task (#89)
* Fix module install task

* Fix perl module
2019-01-21 12:34:44 +01:00
Alessandro Fael Garcia
c1c3a372d7
Allow setting a custom apt and rpm signing key host (#84)
* Allow setting a custom apt and rpm signing key host

* Change default fallback key to https

* Use facts to determine which signing key to use

* Add single quotes
2019-01-09 00:26:14 +01:00
Alessandro Fael Garcia
c2cdc68ec3
Improve Ansible Galaxy metadata score (#79) 2018-12-21 15:17:00 +01:00
Alessandro Fael Garcia
e9a3e6a8e2 Refactor apt module loop
Apt/yum with_items module loops have been deprecated in Ansible 2.7
2018-11-19 13:42:41 -08:00
Alessandro Fael Garcia
af4450a8d5 Use url parameter instead of id and keyserver 2018-11-14 13:29:37 -08:00
Alessandro Fael Garcia
d0e6512b12 Always fallback from a hkps to a hkp keyserver 2018-11-14 12:43:41 -08:00
Alessandro Fael Garcia
71f4eb3605 Add hkp signing key fallback option for Stretch 2018-11-12 11:47:37 -08:00
Alessandro Fael Garcia
c07792daee Add extra checks for when the nginx repo is needed. 2018-10-18 21:39:36 +02:00
Alessandro Fael Garcia
42d1937b3a Add extra checks for when the nginx repo is needed. 2018-10-18 21:39:10 +02:00
gusttt
fe32888347 Only add repository key when nginx_repository is used.
Fix #68
2018-10-18 08:41:53 +02:00
Alessandro Fael Garcia
13a847234e Refactor templating
* Add more advanced HTTP templating options
* Let users choose the upload destination when uploading files
* Implement the ability to print your NGINX configuration to your terminal after running a playbook
2018-10-16 11:52:04 -07:00
Alessandro Fael Garcia
27c4069646 Fix module variable name 2018-09-14 17:53:08 -07:00
Alessandro Fael Garcia
9fea522566 Fix more repository variables 2018-09-14 17:27:12 -07:00
Alessandro Fael Garcia
d294779f8b Rename variables
All variables are now prefixed with `nginx` - resolves #57
2018-09-14 16:28:20 -07:00
Alessandro Fael Garcia
a55a50d570 Refactor NGINX Amplify agent installation 2018-09-12 14:03:20 -07:00
Alessandro Fael Garcia
809b9e3580 Fix variables in main task 2018-09-12 12:16:04 -07:00
Alessandro Fael Garcia
5ff9b63aff Update task name 2018-09-11 12:32:22 -07:00
Alessandro Fael Garcia
4b0feeb0cc Update documentation and controller variables 2018-09-11 11:26:56 -07:00
Alessandro Fael Garcia
ef1294b91c Install NGINX Controller agent 2018-09-10 16:05:25 -07:00
max
a5c73e6fcf fix [WARNING]: Ignoring invalid attribute: Name 2018-08-22 16:57:37 +08:00
Alessandro Fael Garcia
795e5a20c2
Merge pull request #50 from nginxinc/(feature)/install-prerequisites
Install Debian dependencies
2018-08-03 11:23:25 -07:00
Alessandro Fael Garcia
19a080925b Install Debian dependencies
Fixes #44
2018-08-02 15:56:25 -07:00
Alessandro Fael Garcia
3a82651d42 Refactor and fix module installation
Fixes #46 and #48
2018-08-02 12:51:45 -07:00
Alessandro Fael Garcia
2a7184a06b Add option to delete license after installing NGINX Plus 2018-08-01 11:40:35 -07:00
Alessandro Fael Garcia
2ce879f7aa Add Amazon Linux 2 for NGINX Plus 2018-07-31 16:17:09 -07:00
Alessandro Fael Garcia
0fef56b4fa Install NGINX Unit on FreeBSD 2018-07-18 14:59:14 -07:00
Alessandro Fael Garcia
a5fe8d20b2 Install NGINX Unit on Amazon Linux 2 2018-07-18 13:35:04 -07:00
Alessandro Fael Garcia
962518e5e1 Minor fixes
* Fix README typo
* Add yml start of file indicator
2018-07-12 11:19:17 -07:00
Alessandro Fael Garcia
c57e0a79d2 Add nginx_enable variable
Users can now choose to only install NGINX Unit
2018-07-11 15:41:10 -07:00
Georgy Berdyshev
194f369e13 Use hkps by default and fallback to hkp for older Debian and Ubuntu releases. 2018-07-07 00:30:48 +02:00
Georgy Berdyshev
8cada84350 Use protocol version without encryption to support older Debian and Ubuntu releases.
Fixes Travis CI error: 'HTTP fetch error 1: unsupported protocol'
2018-07-06 06:51:56 +02:00
Georgy Berdyshev
cbcc7c01f9 Updated key server to bypass firewalled environments. 2018-07-06 05:26:15 +02:00
Alessandro Fael Garcia
bd0c581ac1 Refactor installation of NGINX Unit modules
Use a list that lets users specify which modules they want to install instead of installing all modules available in each distro
2018-06-27 13:16:57 -07:00
Alessandro Fael Garcia
3a8e36e636 Fix Debian/RedHat setup
* Change yum repository from nginx to unit
* Remove apt task causing ansible to be non-idempotent
2018-06-27 11:07:35 -07:00
Alessandro Fael Garcia
a6d54c858e Merge CentOS and RedHat tasks 2018-06-26 16:26:24 -07:00
Alessandro Fael Garcia
02db93d432 Merge branch 'master' into (feature)/unit
Bring the (feature)/unit branch up to date with the master branch
2018-06-25 14:35:09 -07:00
Alessandro Fael Garcia
4037b195ff Refactor repository into a variable 2018-05-11 15:12:06 -07:00
Alessandro Fael Garcia
98974fbf1a Implement support to select NGINX repository
Resolve #32 - Initial options include using the default NGINX packages included in the host system or using the NGINX packages included in the NGINX repository
2018-05-11 13:31:31 -07:00
Alessandro Fael Garcia
033da6684c Fix indentation 2018-05-10 13:17:37 -07:00
Alessandro Fael Garcia
ce880e5731 Refactor NGINX Unit packages into a separate file 2018-05-10 13:03:22 -07:00
Alessandro Fael Garcia
ea6de99eed Use portinstall module instead of package module 2018-05-09 14:05:57 -07:00
Alessandro Fael Garcia
70a2906268 Implement FreeBSD support for NGINX Open Source
Use FreeBSD ports instead of pkgng to fetch the latest version of NGINX Open Source
2018-05-09 13:31:16 -07:00
Alessandro Fael Garcia
40d5b0bb2c Use copy/template backup parameter
Use the backup parameter in the copy/template modules instead of using a convoluted backup system
2018-04-17 17:21:31 -07:00
Alessandro Fael Garcia
b8657834f8 Fix stat path
Use the path for nginx.conf instead of default.conf
2018-04-17 16:25:37 -07:00
Alessandro Fael Garcia
c545949653 Fix stat path
Use the path for nginx.conf instead of default.conf
2018-04-17 15:21:07 -07:00
Alessandro Fael Garcia
05fcff7986 Replace *_upload_* with *_push_* 2018-04-17 14:30:43 -07:00
Alessandro Fael Garcia
e20dd288bf Check if configuration file is defined 2018-04-16 16:41:46 -07:00
Alessandro Fael Garcia
5c7924618a Replace *_upload_enable with *_push_enable
Fixes #23
2018-04-16 15:26:33 -07:00
Alessandro Fael Garcia
fd2e13bd69 Replace && with and 2018-04-13 12:53:38 -07:00
Alessandro Fael Garcia
9555ab9559 Update branding 2018-04-12 10:20:39 -07:00
Alessandro Fael Garcia
9c80941892 Only remove/backup nginx.conf when necessary 2018-04-12 10:05:43 -07:00
Alessandro Fael Garcia
e2cc1660cb
Merge pull request #14 from RDelorier/fix-template-path-bugs
Fix template path issues
2018-04-10 15:45:18 -07:00
Alessandro Fael Garcia
8a8f08a997 Add NGINX Unit variables
* Add unit_enable variable to install NGINX Unit
* Add unit_packages variable to determine whether NGINX Unit packages should be installed
2018-04-09 14:21:38 -07:00
Alessandro Fael Garcia
548fc3f9f3 Initial implementation of NGINX Unit 2018-04-06 16:32:48 -07:00