Skip to content

Commit 856a9c9

Browse files
authored
Add NGINX Plus tests (#318)
1 parent 95fe871 commit 856a9c9

File tree

7 files changed

+183
-15
lines changed

7 files changed

+183
-15
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ before_install:
6565
install:
6666
- pip install ansible==2.9.13
6767
- pip install ansible-lint==4.3.4
68+
- pip install yamllint==1.24.2
6869
- pip install molecule==3.0.8
6970
- pip install docker==4.3.1
7071
script:

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -162,29 +162,29 @@ Role Variables
162162
163163
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:
164164

165-
- **[defaults/main/main.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/defaults/main/main.yml):** NGINX installation variables
166-
- **[defaults/main/amplify.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/defaults/main/amplify.yml):** NGINX Amplify agent installation variables
167-
- **[defaults/main/template.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/defaults/main/template.yml):** NGINX configuration templating variables
168-
- **[defaults/main/upload.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/defaults/main/upload.yml):** NGINX configuration/HTML/SSL upload variables
169-
- **[defaults/main/linux.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/defaults/main/linux.yml):** Linux installation variables
170-
- **[defaults/main/bsd.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/defaults/main/bsd.yml):** BSD installation variables
171-
- **[defaults/main/unit.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/defaults/main/unit.yml):** NGINX Unit installation variables
165+
- **[defaults/main/main.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/defaults/main/main.yml):** NGINX installation variables
166+
- **[defaults/main/amplify.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/defaults/main/amplify.yml):** NGINX Amplify agent installation variables
167+
- **[defaults/main/template.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/defaults/main/template.yml):** NGINX configuration templating variables
168+
- **[defaults/main/upload.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/defaults/main/upload.yml):** NGINX configuration/HTML/SSL upload variables
169+
- **[defaults/main/linux.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/defaults/main/linux.yml):** Linux installation variables
170+
- **[defaults/main/bsd.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/defaults/main/bsd.yml):** BSD installation variables
171+
- **[defaults/main/unit.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/defaults/main/unit.yml):** NGINX Unit installation variables
172172

173173
Similarly, descriptions and defaults for preset variables can be found in the **`vars`** directory:
174174

175-
- **[vars/main.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/vars/main.yml):** NGINX supported modules
175+
- **[vars/main.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/vars/main.yml):** NGINX supported modules
176176

177177
Example Playbooks
178178
-----------------
179179

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

182-
- **[molecule/common/playbooks/default_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/molecule/common/playbooks/default_converge.yml):** Install a specific version of NGINX and set up logrotate
183-
- **[molecule/common/playbooks/module_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/molecule/common/playbooks/module_converge.yml):** Install various NGINX supported modules
184-
- **[molecule/common/playbooks/source_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/molecule/common/playbooks/source_converge.yml):** Install NGINX from source
185-
- **[molecule/common/playbooks/stable_push_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/molecule/common/playbooks/stable_push_converge.yml):** Install NGINX using the stable branch and push a preexisting config from your system to your NGINX instance
186-
- **[molecule/common/playbooks/template_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/molecule/common/playbooks/template_converge.yml):** Use the NGINX configuration templating variables to create an NGINX configuration file
187-
- **[molecule/common/playbooks/unit_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/master/molecule/common/playbooks/unit_converge.yml):** Install NGINX Unit
182+
- **[molecule/common/playbooks/default_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/molecule/common/playbooks/default_converge.yml):** Install a specific version of NGINX and set up logrotate
183+
- **[molecule/common/playbooks/module_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/molecule/common/playbooks/module_converge.yml):** Install various NGINX supported modules
184+
- **[molecule/common/playbooks/source_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/molecule/common/playbooks/source_converge.yml):** Install NGINX from source
185+
- **[molecule/common/playbooks/stable_push_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/molecule/common/playbooks/stable_push_converge.yml):** Install NGINX using the stable branch and push a preexisting config from your system to your NGINX instance
186+
- **[molecule/common/playbooks/template_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/molecule/common/playbooks/template_converge.yml):** Use the NGINX configuration templating variables to create an NGINX configuration file
187+
- **[molecule/common/playbooks/unit_converge.yml](https://github.com/nginxinc/ansible-role-nginx/blob/main/molecule/common/playbooks/unit_converge.yml):** Install NGINX Unit
188188

189189
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`.
190190

@@ -202,7 +202,7 @@ You can find an Ansible role to install NGINX Unit [here](https://github.com/ngi
202202
License
203203
-------
204204

205-
[Apache License, Version 2.0](https://github.com/nginxinc/ansible-role-nginx/blob/master/LICENSE)
205+
[Apache License, Version 2.0](https://github.com/nginxinc/ansible-role-nginx/blob/main/LICENSE)
206206

207207
Author Information
208208
------------------
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
- name: Converge
3+
hosts: all
4+
tasks:
5+
- name: Install NGINX
6+
include_role:
7+
name: ansible-role-nginx
8+
vars:
9+
nginx_type: plus
10+
nginx_license:
11+
certificate: ../../ansible-role-nginx/files/license/nginx-repo.crt
12+
key: ../../ansible-role-nginx/files/license/nginx-repo.key
13+
nginx_modules:
14+
- auth-spnego
15+
- brotli
16+
- cookie-flag
17+
- encrypted-session
18+
- geoip
19+
- geoip2
20+
- headers-more
21+
- image-filter
22+
- lua
23+
- modsecurity
24+
- njs
25+
- opentracing
26+
- passenger
27+
- perl
28+
- prometheus
29+
- rtmp
30+
- subs-filter
31+
- xslt
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
- name: Verify
3+
hosts: all
4+
tasks:
5+
- name: Check if NGINX service is running
6+
service:
7+
name: nginx
8+
state: started
9+
enabled: yes
10+
check_mode: yes
11+
register: service
12+
failed_when: (service is changed) or (service is failed)
13+
14+
- name: Verify NGINX is up and running
15+
uri:
16+
url: http://localhost
17+
status_code: 200

molecule/plus/molecule.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
driver:
3+
name: docker
4+
lint: |
5+
set -e
6+
yamllint .
7+
ansible-lint --force-color
8+
platforms:
9+
- name: debian-stretch
10+
image: debian:stretch-slim
11+
dockerfile: ../common/Dockerfile.j2
12+
privileged: true
13+
volumes:
14+
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
15+
command: "/sbin/init"
16+
- name: debian-buster
17+
image: debian:buster-slim
18+
dockerfile: ../common/Dockerfile.j2
19+
privileged: true
20+
volumes:
21+
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
22+
command: "/sbin/init"
23+
- name: ubuntu-xenial
24+
image: ubuntu:xenial
25+
dockerfile: ../common/Dockerfile.j2
26+
privileged: true
27+
volumes:
28+
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
29+
command: "/sbin/init"
30+
- name: ubuntu-bionic
31+
image: ubuntu:bionic
32+
dockerfile: ../common/Dockerfile.j2
33+
privileged: true
34+
volumes:
35+
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
36+
command: "/sbin/init"
37+
- name: ubuntu-focal
38+
image: ubuntu:focal
39+
dockerfile: ../common/Dockerfile.j2
40+
privileged: true
41+
volumes:
42+
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
43+
command: "/sbin/init"
44+
provisioner:
45+
name: ansible
46+
playbooks:
47+
converge: ../common/playbooks/plus_converge.yml
48+
verify: ../common/playbooks/plus_verify.yml

molecule/plus_alpine/molecule.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
driver:
3+
name: docker
4+
lint: |
5+
set -e
6+
yamllint .
7+
ansible-lint --force-color
8+
platforms:
9+
- name: alpine-3.8
10+
image: alpine:3.8
11+
dockerfile: ../common/Dockerfile.j2
12+
privileged: true
13+
volumes:
14+
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
15+
command: "/sbin/init"
16+
- name: alpine-3.9
17+
image: alpine:3.9
18+
dockerfile: ../common/Dockerfile.j2
19+
privileged: true
20+
volumes:
21+
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
22+
command: "/sbin/init"
23+
- name: alpine-3.10
24+
image: python:alpine3.10
25+
dockerfile: ../common/Dockerfile.j2
26+
privileged: true
27+
volumes:
28+
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
29+
command: "/sbin/init"
30+
- name: alpine-3.11
31+
image: python:alpine3.11
32+
dockerfile: ../common/Dockerfile.j2
33+
privileged: true
34+
volumes:
35+
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
36+
command: "/sbin/init"
37+
provisioner:
38+
name: ansible
39+
playbooks:
40+
converge: ../common/playbooks/plus_converge.yml
41+
verify: ../common/playbooks/plus_verify.yml

molecule/plus_centos/molecule.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
driver:
3+
name: docker
4+
lint: |
5+
set -e
6+
yamllint .
7+
ansible-lint --force-color
8+
platforms:
9+
- name: centos-6
10+
image: centos:6
11+
dockerfile: ../common/Dockerfile.j2
12+
- name: centos-7
13+
image: centos:7
14+
dockerfile: ../common/Dockerfile.j2
15+
privileged: true
16+
volumes:
17+
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
18+
command: "/usr/sbin/init"
19+
- name: centos-8
20+
image: centos:8
21+
dockerfile: ../common/Dockerfile.j2
22+
privileged: true
23+
volumes:
24+
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
25+
command: "/usr/sbin/init"
26+
provisioner:
27+
name: ansible
28+
playbooks:
29+
converge: ../common/playbooks/plus_converge.yml
30+
verify: ../common/playbooks/plus_verify.yml

0 commit comments

Comments
 (0)