You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* All of the variables have been updated to prevent naming collisions when using other roles. Please see README.MD for new variable names.
8
+
* Example playbook has been removed by collection authors in favor of using the Molecule configuration as a 'known-working' implementation.
9
+
10
+
ENHANCEMENTS:
11
+
12
+
* Huge refactoring by @alessfg to better unify this role with the structures present in the other nginxinc Ansible roles.
13
+
* Update Ansible to 2.9.13 and Ansible Lint to 4.3.4.
14
+
* Explicitly defined mode in relevant tasks for breaking changes in Ansible.
15
+
* Role refactored to separate install and configure operations in preparation for an upcoming role split.
16
+
17
+
FEATURES:
18
+
19
+
* Molecule 3 testing foundation is in the project, and linting is being performed by TravisCI. Now time to write tests!
20
+
21
+
BUG FIXES:
22
+
23
+
* The CentOS, RHEL, Debian and Ubuntu repositories have slightly changed to respond to a NAP repository deprecation activity. You may run into some duplication issues when running the role on a preexisting target that already has had NGINX installed using the role. To fix this, manually remove the old repository source.
24
+
* The RHEL and CentOS repository setups were incorrectly using a static gpgkey instead of using the variable as a source.
25
+
26
+
## 0.1.0 (September 9, 2020)
27
+
28
+
Supports App Protect 2.0, which brings a number of features including support for Ubuntu 18.04.
29
+
30
+
Release notes for NGINX App Protect 2.0: docs.nginx.com/nginx-app-protect/releases/#release-2-0
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+19-19Lines changed: 19 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,25 +14,25 @@ The following is a set of guidelines for contributing to the NGINX App Protect A
14
14
*[Git Guidelines](#git-guidelines)
15
15
*[Ansible Guidelines](#ansible-guidelines)
16
16
17
-
[Code of Conduct](CODE_OF_CONDUCT.md)
17
+
[Code of Conduct](https://github.com/nginxinc/ansible-role-nginx-app-protect/blob/main/CODE_OF_CONDUCT.md)
18
18
19
19
## Ask a Question
20
20
21
-
Please open an Issue on GitHub with the label `question`.
21
+
Don't know how something works? Curious if the role can achieve your desired functionality? Please open an Issue on GitHub with the label `question`.
22
22
23
23
## Getting Started
24
24
25
-
Follow our [Installation Guide](README.md#Installation) to install Ansible and Molecule and get ready to use the NGINX App Protect Ansible role.
25
+
Follow our [Installation Guide](https://github.com/nginxinc/ansible-role-nginx-app-protect/blob/main/README.md#Installation) to install Ansible and Molecule and get ready to use the NGINX Ansible role.
26
26
27
27
### Project Structure
28
28
29
-
* The NGINX App Protect Ansible role is written in `yaml` and supports open source NGINX Plus.
29
+
* The NGINX Ansible role is written in `yaml` and supports NGINX App Protect.
30
30
* The project follows the standard [Ansible role directory structure](https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html)
31
-
* The main code is found at`tasks/`
32
-
* The main variables can be found at`defaults/main/`
33
-
* Configuration templates for NGINX can be found at`templates/`
31
+
* The main code is found in`tasks/`
32
+
* The main variables can be found in`defaults/main.yml`
33
+
* Configuration templates for NGINX Plus and NGINX App Protect can be found in`templates/`
34
34
*[Molecule](https://molecule.readthedocs.io/) tests can be found in `molecule/`.
35
-
* CI/CD is done via Travis using `.travis.yml`Deployment yaml files, and Helm files are found at `deployments/`
35
+
* CI/CD is done via Travis using `.travis.yml`deployment yaml files
36
36
37
37
## Contributing
38
38
@@ -46,27 +46,27 @@ To suggest an enhancement, please create an issue on GitHub with the label `enha
46
46
47
47
### Open a Pull Request
48
48
49
-
* Fork the repo, create a branch, submit a PR when your changes are tested and ready for review
50
-
* Fill in [our pull request template](https://github.com/nginxinc/ansible-role-nginx-app-protect/blob/master/.github/PULL_REQUEST_TEMPLATE.md)
49
+
* Fork the repo, create a branch, submit a PR when your changes are **tested** (ideally using Molecule) and ready for review
50
+
* Fill in [our pull request template](https://github.com/nginxinc/ansible-role-nginx-app-protect/blob/main/.github/PULL_REQUEST_TEMPLATE.md)
51
51
52
52
Note: if you’d like to implement a new feature, please consider creating a feature request issue first to start a discussion about the feature.
53
53
54
54
## Code Guidelines
55
55
56
+
### Ansible Guidelines
57
+
58
+
* Run `molecule lint` over your code to automatically resolve a lot of `yaml` and Ansible style issues.
59
+
* Run `molecule test --all` on your code before you submit a PR to catch any potential issues.
60
+
* Follow these guides on some good practices for Ansible:
* Keep a clean, concise and meaningful git commit history on your branch (within reason), rebasing locally and squashing before submitting a PR
59
-
* Follow the guidelines of writing a good commit message as described here <https://chris.beams.io/posts/git-commit/> and summarized in the next few points
67
+
* Follow the guidelines of writing a good commit message as described here <https://chris.beams.io/posts/git-commit/> and summarised in the next few points
60
68
* In the subject line, use the present tense ("Add feature" not "Added feature")
61
69
* In the subject line, use the imperative mood ("Move cursor to..." not "Moves cursor to...")
62
70
* Limit the subject line to 72 characters or less
63
71
* Reference issues and pull requests liberally after the subject line
64
72
* Add more detailed description in the body of the git message (`git commit -a` to give you more space and time in your text editor to write a good message instead of `git commit -am`)
65
-
66
-
### Ansible Guidelines
67
-
68
-
* Run `molecule lint` over your code to automatically resolve a lot of `yaml` and Ansible style issues.
69
-
* Run `molecule test --all` on your code to catch any other issues.
70
-
* Follow these guides on some good practices for Ansible:
This role has multiple variables. The descriptions and defaults for all these variables can be found in the **[defaults/main.yml](https://github.com/nginxinc/ansible-role-nginx-app-protect/blob/main/defaults/main.yml)**.
56
+
This role has multiple variables. The descriptions and defaults for all these variables can be found in the **`defaults`** directory in the following files:
57
+
58
+
- **[defaults/main.yml](https://github.com/nginxinc/ansible-role-nginx-app-protect/blob/main/defaults/main.yml)**: NGINX App Protect installation and configuration variables
59
+
60
+
Similarly, descriptions and defaults for preset variables can be found in the **`vars`** directory in the following files:
61
+
62
+
- **[vars/main.yml](https://github.com/nginxinc/ansible-role-nginx-app-protect/blob/main/vars/main.yml):** List of supported NGINX App Protect platforms
57
63
58
64
Dependencies
59
65
------------
@@ -67,119 +73,31 @@ Dependencies
67
73
Example Playbook
68
74
----------------
69
75
70
-
This is a sample playbook file for using the role to install NGINX App Protect on NGINX Plus and configure it using basic settings to all `wafs` inventory hosts.
71
-
72
-
A copy of this is in the sample-playbook directory in this repo.
73
-
74
-
First create a file for all the variables as `nginx-app-protect-vars.yml`
75
-
76
-
```yaml
77
-
---
78
-
# Specify whether you want to maintain your version of NGINX App Protect, upgrade to the latest version, or remove NGINX App Protect.
79
-
# Can be used with `nginx_app_protect_version` to achieve fine grained control on which version of NGINX App Protect is installed/used on each playbook execution.
80
-
# Using 'present' will install the latest version (or 'nginx_app_protect_version') of NGINX App Protect on a fresh install.
81
-
# Using 'latest' will upgrade NGINX App Protect to the latest version (that matches your 'nginx_app_protect_version') of NGINX App Protect on every playbook execution.
82
-
# Using 'absent' will remove NGINX App Protect from your system.
83
-
# Default is present.
84
-
nginx_app_protect_state: present
85
-
86
-
# OPTIONAL: Installs a specific version of NGINX App Protect
87
-
nginx_app_protect_version: 22
88
-
89
-
# The installation of NGINX App Protect includes a base signature set, which may be out of date.
90
-
# This option installs the latest NGINX App Protect signatures.
91
-
nginx_app_protect_install_signatures: true
92
-
93
-
# The installation of NGINX App Protect can include a page of frequently-updated, high-accuracy signatures called Threat Campaigns.
94
-
# This option installs the latest NGINX App Protect Threat Campaigns signatures.
95
-
nginx_app_protect_install_threat_campaigns: true
96
-
97
-
# Creates basic configuration files and enables NGINX App Protect on the target host
98
-
nginx_app_protect_configure: true
99
-
100
-
# Removes the license (certificate and key) for the NGINX App Protect repositories on the target host(s) when playbook run is complete.
101
-
nginx_app_protect_delete_license: true
102
-
103
-
# If you have a RHEL subscription, NGINX App Protect's dependencies will use subscription repos.
104
-
# Otherwise, it will source packages from CentOS' repositories.
To run any of the above sample playbooks create a `nginx-app-protect-playbook.yml` file and paste the contents. Executing the Ansible Playbook is then as simple as executing `ansible-playbook nginx-app-protect-playbook.yml -b -i inventory`.
167
-
168
-
Alternatively, you can also clone this repository instead of installing it from Ansible Galaxy. If you decide to do so, replace the role variable in the previous sample playbooks from `nginxinc.nginx_app_protect` to `ansible-role-nginx-app-protect`.
78
+
- **[molecule/default/converge.yml](https://github.com/nginxinc/ansible-role-nginx-app_protect/blob/main/molecule/default/converge.yml):** Install and configure NGINX App Protect
169
79
170
80
Other NGINX Roles
171
81
-----------------
172
82
83
+
You can find an Ansible role to install NGINX [here](https://github.com/nginxinc/ansible-role-nginx)
84
+
85
+
You can find an Ansible role to configure NGINX [here](https://github.com/nginxinc/ansible-role-nginx-config)
86
+
173
87
You can find an Ansible collection of roles to help you install and configure NGINX Controller [here](https://github.com/nginxinc/ansible-collection-nginx_controller)
174
88
89
+
You can find an Ansible role to install NGINX Unit [here](https://github.com/nginxinc/ansible-role-nginx-unit)
90
+
175
91
License
176
92
-------
177
93
178
-
[Apache License, Version 2.0](https://github.com/nginxinc/ansible-role-nginx-app-protect/blob/master/LICENSE)
94
+
[Apache License, Version 2.0](https://github.com/nginxinc/ansible-role-nginx-app-protect/blob/main/LICENSE)
0 commit comments