Skip to content

Commit f66a511

Browse files
authored
Update NGINX App Protect default repository (#88)
1 parent a23daaa commit f66a511

File tree

6 files changed

+64
-12
lines changed

6 files changed

+64
-12
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## 0.5.0 (Unreleased)
44

5+
BREAKING CHANGES:
6+
7+
* The NGINX App Protect repository has been updated. This might cause some issues when running the role on an instance that already has NGINX Plus or NGINX App Protect installed. **Starting with NGINX Plus R25, you will need to install NGINX Plus using release `0.5.0`. If you are trying to install R23, please use release `0.4.3`. NGINX Plus R24 should work with both release `0.4.3` and `0.5.0`.**
8+
59
DEPRECATION WARNINGS:
610

711
* **The ability to create an NGINX config including some basic App Protect directives will be removed in the upcoming `0.6.0` release at some stage after June 2021.** Please instead use the [NGINX config role](https://github.com/nginxinc/ansible-role-nginx-config) for this (and much more) functionality. This will include the removal of the following variables: `nginx_app_protect_conf_template_enable`, `nginx_app_protect_conf_template`, `nginx_app_protect_demo_workload_protocol`, `nginx_app_protect_demo_workload_host`, `nginx_app_protect_log_policy_syslog_target`, `nginx_app_protect_log_policy_target`.

defaults/main.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,13 @@ nginx_app_protect_install_threat_campaigns: true
3535
# nginx_plus: https://cs.nginx.com/static/keys/nginx_signing.key
3636
# security_updates: https://cs.nginx.com/static/keys/app-protect-security-updates.key
3737

38+
# (Optional) Specify repository for NGINX Plus.
39+
# Defaults are the official NGINX repositories.
40+
# nginx_plus_repository: deb [arch=amd64] https://pkgs.nginx.com/plus/debian buster nginx-plus
41+
3842
# (Optional) Specify repository for NGINX App Protect.
3943
# Defaults are the official NGINX repositories.
40-
# nginx_app_protect_repository: deb [arch=amd64] https://plus-pkgs.nginx.com/debian buster nginx-plus
44+
# nginx_app_protect_repository: deb [arch=amd64] https://pkgs.nginx.com/app-protect/debian buster nginx-plus
4145

4246
# (Optional) Specify repository for NGINX App Protect security updates.
4347
# Defaults are the official NGINX repositories.

tasks/install/install-alpine.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
---
2+
- name: (Alpine Linux) {{ nginx_license_status is defined | ternary('Remove', 'Configure') }} NGINX Plus repository
3+
lineinfile:
4+
path: /etc/apk/repositories
5+
insertafter: EOF
6+
line: "{{ nginx_plus_repository | default(nginx_plus_default_repository_alpine) }}"
7+
state: "{{ nginx_license_status | default ('present') }}"
8+
29
- name: (Alpine Linux) {{ nginx_license_status is defined | ternary('Remove', 'Configure') }} NGINX App Protect repository
310
lineinfile:
411
path: /etc/apk/repositories

tasks/install/install-debian.yml

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,26 @@
11
---
2-
- name: (Debian/Ubuntu) {{ nginx_app_protect_license_status is defined | ternary('Remove', 'Configure') }} NGINX App Protect license
2+
3+
- name: (Debian/Ubuntu) {{ nginx_app_protect_license_status is defined | ternary('Remove', 'Configure') }} NGINX Plus license
34
blockinfile:
45
path: /etc/apt/apt.conf.d/90nginx
6+
create: yes
7+
block: |
8+
Acquire::https::{{ (nginx_plus_repository | default(nginx_plus_default_repository_debian)) | regex_search('(?<=https://)[^/]*') }}::Verify-Peer "true";
9+
Acquire::https::{{ (nginx_plus_repository | default(nginx_plus_default_repository_debian)) | regex_search('(?<=https://)[^/]*') }}::Verify-Host "true";
10+
Acquire::https::{{ (nginx_plus_repository | default(nginx_plus_default_repository_debian)) | regex_search('(?<=https://)[^/]*') }}::SslCert "/etc/ssl/nginx/nginx-repo.crt";
11+
Acquire::https::{{ (nginx_plus_repository | default(nginx_plus_default_repository_debian)) | regex_search('(?<=https://)[^/]*') }}::SslKey "/etc/ssl/nginx/nginx-repo.key";
12+
state: "{{ nginx_license_status | default ('present') }}"
13+
mode: 0444
14+
15+
- name: (Debian/Ubuntu) {{ nginx_app_protect_license_status is defined | ternary('Remove', 'Configure') }} NGINX App Protect license
16+
blockinfile:
17+
path: /etc/apt/apt.conf.d/90app-protect
518
create: true
619
block: |
7-
Acquire::https::plus-pkgs.nginx.com::Verify-Peer "true";
8-
Acquire::https::plus-pkgs.nginx.com::Verify-Host "true";
9-
Acquire::https::plus-pkgs.nginx.com::SslCert "/etc/ssl/nginx/nginx-repo.crt";
10-
Acquire::https::plus-pkgs.nginx.com::SslKey "/etc/ssl/nginx/nginx-repo.key";
20+
Acquire::https::{{ (nginx_app_protect_repository | default(nginx_app_protect_default_repository_debian)) | regex_search('(?<=https://)[^/]*') }}::Verify-Peer "true";
21+
Acquire::https::{{ (nginx_app_protect_repository | default(nginx_app_protect_default_repository_debian)) | regex_search('(?<=https://)[^/]*') }}::Verify-Host "true";
22+
Acquire::https::{{ (nginx_app_protect_repository | default(nginx_app_protect_default_repository_debian)) | regex_search('(?<=https://)[^/]*') }}::SslCert "/etc/ssl/nginx/nginx-repo.crt";
23+
Acquire::https::{{ (nginx_app_protect_repository | default(nginx_app_protect_default_repository_debian)) | regex_search('(?<=https://)[^/]*') }}::SslKey "/etc/ssl/nginx/nginx-repo.key";
1124
state: "{{ nginx_app_protect_license_status | default ('present') }}"
1225
mode: 0444
1326

@@ -25,6 +38,14 @@
2538
when: nginx_app_protect_install_signatures | bool
2639
or nginx_app_protect_install_threat_campaigns | bool
2740

41+
- name: (Debian/Ubuntu) {{ nginx_app_protect_license_status is defined | ternary('Remove', 'Configure') }} NGINX Plus repository
42+
apt_repository:
43+
repo: "{{ nginx_plus_repository | default(nginx_plus_default_repository_debian) }}"
44+
filename: nginx-plus
45+
mode: 0644
46+
update_cache: false
47+
state: "{{ nginx_app_protect_license_status | default ('present') }}"
48+
2849
- name: (Debian/Ubuntu) {{ nginx_app_protect_license_status is defined | ternary('Remove', 'Configure') }} NGINX App Protect repository
2950
apt_repository:
3051
repo: "{{ nginx_app_protect_repository | default(nginx_app_protect_default_repository_debian) }}"

tasks/install/install-redhat.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
---
2+
- name: (CentOS/RHEL) {{ nginx_app_protect_license_status is defined | ternary('Remove', 'Configure') }} NGINX Plus repository
3+
yum_repository:
4+
name: nginx-plus
5+
baseurl: "{{ nginx_plus_repository | default(nginx_plus_default_repository_redhat) }}"
6+
description: NGINX Plus repository
7+
sslclientcert: /etc/ssl/nginx/nginx-repo.crt
8+
sslclientkey: /etc/ssl/nginx/nginx-repo.key
9+
enabled: true
10+
gpgcheck: true
11+
state: "{{ nginx_app_protect_license_status | default ('present') }}"
12+
213
- name: (CentOS/RHEL) {{ nginx_app_protect_license_status is defined | ternary('Remove', 'Configure') }} NGINX App Protect repository
314
yum_repository:
415
name: nginx-app-protect

vars/main.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,17 @@ nginx_app_protect_default_signing_key_rsa_pub: https://nginx.org/keys/nginx_sign
4040
nginx_app_protect_security_updates_default_signing_key_pgp: https://cs.nginx.com/static/keys/app-protect-security-updates.key
4141
nginx_app_protect_security_updates_default_signing_key_rsa_pub: https://cs.nginx.com/static/keys/app-protect-security-updates.rsa.pub
4242

43+
# Default NGINX Plus repositories
44+
nginx_plus_default_repository_alpine: "https://pkgs.nginx.com/plus/alpine/v{{ ansible_facts['distribution_version'] | regex_search('^[0-9]+\\.[0-9]+') }}/main"
45+
nginx_plus_default_repository_debian: "deb [arch=amd64] https://pkgs.nginx.com/plus/{{ ansible_facts['distribution'] | lower }} {{ ansible_facts['distribution_release'] }} nginx-plus"
46+
nginx_plus_default_repository_redhat: "https://pkgs.nginx.com/plus/centos/{{ ansible_distribution_major_version }}/$basearch/"
47+
4348
# Default NGINX App Protect repositories
44-
nginx_app_protect_default_repository_alpine: "https://plus-pkgs.nginx.com/alpine/v{{ ansible_distribution_version | regex_search('^[0-9]+\\.[0-9]+') }}/main"
45-
nginx_app_protect_default_repository_debian: "deb [arch=amd64] https://plus-pkgs.nginx.com/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} nginx-plus"
46-
nginx_app_protect_default_repository_redhat: "https://plus-pkgs.nginx.com/centos/{{ ansible_distribution_major_version }}/$basearch/"
49+
nginx_app_protect_default_repository_alpine: "https://pkgs.nginx.com/app-protect/alpine/v{{ ansible_distribution_version | regex_search('^[0-9]+\\.[0-9]+') }}/main"
50+
nginx_app_protect_default_repository_debian: "deb [arch=amd64] https://pkgs.nginx.com/app-protect/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} nginx-plus"
51+
nginx_app_protect_default_repository_redhat: "https://pkgs.nginx.com/app-protect/centos/{{ ansible_distribution_major_version }}/$basearch/"
4752

4853
# Default NGINX App Protect Security Updates repositories
49-
nginx_app_protect_security_updates_default_repository_alpine: "https://app-protect-security-updates.nginx.com/alpine/v{{ ansible_distribution_version | regex_search('^[0-9]+\\.[0-9]+') }}/main"
50-
nginx_app_protect_security_updates_default_repository_debian: "deb [arch=amd64] https://app-protect-security-updates.nginx.com/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} nginx-plus"
51-
nginx_app_protect_security_updates_default_repository_redhat: "https://app-protect-security-updates.nginx.com/centos/{{ ansible_distribution_major_version }}/$basearch/"
54+
nginx_app_protect_security_updates_default_repository_alpine: "https://pkgs.nginx.com/app-protect-security-updates/alpine/v{{ ansible_distribution_version | regex_search('^[0-9]+\\.[0-9]+') }}/main"
55+
nginx_app_protect_security_updates_default_repository_debian: "deb [arch=amd64] https://pkgs.nginx.com/app-protect-security-updates/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} nginx-plus"
56+
nginx_app_protect_security_updates_default_repository_redhat: "https://pkgs.nginx.com/app-protect-security-updates/centos/{{ ansible_distribution_major_version }}/$basearch/"

0 commit comments

Comments
 (0)