From 879fec9648a9ae1ed8823e988897620da48e2301 Mon Sep 17 00:00:00 2001 From: Carl Ikai Date: Tue, 4 Mar 2025 06:06:14 -0800 Subject: [PATCH 001/723] Update setting-up-nginx-demo-environment.md (#250) Edited titles to sentence case --- .../setting-up-nginx-demo-environment.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md b/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md index 1c3ced59f..1b0111013 100644 --- a/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md +++ b/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md @@ -4,7 +4,7 @@ description: Configure NGINX Open Source as a web server and F5 NGINX Plus as a docs: DOCS-462 doctypes: - task -title: Setting Up an NGINX Demo Environment +title: Setting up an NGINX demo environment toc: true weight: 100 --- @@ -19,7 +19,7 @@ This guide assumes you have already provisioned a number of host systems (physic Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. -## Configuring NGINX Open Source for Web Serving +## Configuring NGINX Open Source for web serving The steps in this section configure an NGINX Open Source instance as a web server to return a page like the following, which specifies the server name, address, and other information. The page is defined in the demo-index.html configuration file you create in Step 4 below. @@ -188,7 +188,7 @@ If you are using these instructions to satisfy the prerequisites for one of our ``` -## Configuring NGINX Plus for Load Balancing +## Configuring NGINX Plus for load balancing The steps in this section configure an NGINX Plus instance to load balance requests across the group of NGINX Open Source web servers you configured in the [previous section](#nginx-oss). @@ -272,7 +272,7 @@ Repeat these instructions on each instance. Alternatively, you can configure one Directive documentation: [include](http://nginx.org/en/docs/ngx_core_module.html#include) -### Revision History +### Revision history - Version 2 (April 2019) – Generalized instructions for use with deployment guides - Version 1 (April 2018) – Initial version From 877aafea380d3b0dd89378f57c546d754e55ce2c Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Tue, 4 Mar 2025 06:15:39 -0800 Subject: [PATCH 002/723] Update theme to 0.42.1 (#251) chore: Update theme to 0.42.1 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index dee18a98e..573590eee 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/nginxinc/docs go 1.19 -require github.com/nginxinc/nginx-hugo-theme v0.41.22 // indirect +require github.com/nginxinc/nginx-hugo-theme v0.42.1 // indirect \ No newline at end of file diff --git a/go.sum b/go.sum index 1819ea06c..0b0801e9a 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,2 @@ -github.com/nginxinc/nginx-hugo-theme v0.41.22 h1:Gb/OLbpumNqp8vOPkZzO2GmgPDRd1yr2tWHWUBHg8BA= -github.com/nginxinc/nginx-hugo-theme v0.41.22/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= +github.com/nginxinc/nginx-hugo-theme v0.42.1 h1:SYj7R7fKPYwtbQobTcJWy/ZWQxa5tlHCSJfU2dxYXxY= +github.com/nginxinc/nginx-hugo-theme v0.42.1/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= From 6ad874d1f2e0b355b2d0437219e4ddf61dc20a81 Mon Sep 17 00:00:00 2001 From: Micheal Kingston <44472403+mkingst@users.noreply.github.com> Date: Tue, 4 Mar 2025 14:54:27 +0000 Subject: [PATCH 003/723] App Protect WAF Config management now supported --- content/nim/nginx-app-protect/setup-waf-config-management.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/nim/nginx-app-protect/setup-waf-config-management.md b/content/nim/nginx-app-protect/setup-waf-config-management.md index 7cf3cc952..4c4723be8 100644 --- a/content/nim/nginx-app-protect/setup-waf-config-management.md +++ b/content/nim/nginx-app-protect/setup-waf-config-management.md @@ -30,8 +30,6 @@ Complete the following prerequisites before proceeding with this guide. ### Limitations -{{}}App Protect WAF Config management is currently not supported when [deploying Instance Manager on Kubernetes]({{}}).{{}} - Instance Manager does not support the following NGINX App Protect features: - [Policies with external references](https://docs.nginx.com/nginx-app-protect/configuration-guide/configuration/#external-references) From 986cd63d4c60aad0427f9980bffcf31e2633d2d2 Mon Sep 17 00:00:00 2001 From: 65397 Date: Tue, 4 Mar 2025 17:47:25 +0000 Subject: [PATCH 004/723] fix: Removed extra slash in URI (#253) Fixed wrong URI --- .../nim/nginx-app-protect/setup-waf-config-management.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/nim/nginx-app-protect/setup-waf-config-management.md b/content/nim/nginx-app-protect/setup-waf-config-management.md index 4c4723be8..71e3ec064 100644 --- a/content/nim/nginx-app-protect/setup-waf-config-management.md +++ b/content/nim/nginx-app-protect/setup-waf-config-management.md @@ -252,7 +252,7 @@ You will need to use your NGINX repo certificates to setup automatic retrieval o Example request ```shell - curl -X POST 'https://{{NMS_FQDN}}//api/platform/v1/certs' \ + curl -X POST 'https://{{NMS_FQDN}}/api/platform/v1/certs' \ --header "Authorization: Bearer " \ --header "Content-Type: application/json" \ -d@nginx-repo-certs.json @@ -372,7 +372,7 @@ You will need to use the [Instance Manager REST API]({{< relref "/nim/fundamenta Attack Signatures Example ```shell -curl -X POST 'https://{{NMS_FQDN}}//api/platform/v1/security/attack-signatures' \ +curl -X POST 'https://{{NMS_FQDN}}/api/platform/v1/security/attack-signatures' \ --header "Authorization: Bearer " \ --form 'revisionTimestamp="2022.11.16"' \ --form 'filename=@"/attack-signatures.tgz"' @@ -384,7 +384,7 @@ curl -X POST 'https://{{NMS_FQDN}}//api/platform/v1/security/attack-signatures' Threat Campaigns Example ```shell -curl -X POST 'https://{{NMS_FQDN}}//api/platform/v1/security/threat-campaigns' \ +curl -X POST 'https://{{NMS_FQDN}}/api/platform/v1/security/threat-campaigns' \ --header "Authorization: Bearer " \ --form 'revisionTimestamp="2022.11.15"' \ --form 'filename=@"/threat-campaigns.tgz"' From c41328dddc5f32f76a8dd4419777bd78d4dde766 Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Tue, 4 Mar 2025 13:43:44 -0800 Subject: [PATCH 005/723] specified the correct URL for known issues, faq, and changelog (#257) --- content/nginxaas-azure/changelog.md | 2 ++ content/nginxaas-azure/faq.md | 2 ++ content/nginxaas-azure/known-issues.md | 2 ++ 3 files changed, 6 insertions(+) diff --git a/content/nginxaas-azure/changelog.md b/content/nginxaas-azure/changelog.md index e3c09ff37..5d1aff6b6 100644 --- a/content/nginxaas-azure/changelog.md +++ b/content/nginxaas-azure/changelog.md @@ -3,6 +3,8 @@ title: "Changelog" weight: 900 toc: true docs: "DOCS-870" +url: /nginxaas/azure/changelog/ + --- Learn about the latest updates, new features, and resolved bugs in F5 NGINX as a Service for Azure. diff --git a/content/nginxaas-azure/faq.md b/content/nginxaas-azure/faq.md index 56e427307..5677c1099 100644 --- a/content/nginxaas-azure/faq.md +++ b/content/nginxaas-azure/faq.md @@ -4,6 +4,8 @@ weight: 800 categories: ["concepts"] toc: true docs: "DOCS-881" +url: /nginxaas/azure/faq/ + --- Common questions about F5 NGINX as a Service for Azure (NGINXaaS). diff --git a/content/nginxaas-azure/known-issues.md b/content/nginxaas-azure/known-issues.md index d84808867..276879348 100644 --- a/content/nginxaas-azure/known-issues.md +++ b/content/nginxaas-azure/known-issues.md @@ -3,6 +3,8 @@ title: "Known issues" weight: 1000 toc: true docs: "DOCS-871" +url: /nginxaas/azure/known-issues/ + --- List of known issues in the latest release of F5 NGINX as a Service for Azure (NGINXaaS). From b7c1913e45e3c95374374e55feb44d0f7d4fa386 Mon Sep 17 00:00:00 2001 From: 4acf <136143054+4acf@users.noreply.github.com> Date: Wed, 5 Mar 2025 05:47:56 -0800 Subject: [PATCH 006/723] fix: Update product titles and articles in N1C getting-started.md (#258) --- content/nginx-one/getting-started.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/content/nginx-one/getting-started.md b/content/nginx-one/getting-started.md index b0898804b..7bbe242cd 100644 --- a/content/nginx-one/getting-started.md +++ b/content/nginx-one/getting-started.md @@ -7,26 +7,26 @@ product: NGINX One docs: DOCS-1393 --- -This guide provides step-by-step instructions on how to activate and start using the F5 NGINX One Console. NGINX One is a management console for monitoring and managing NGINX data plane instances. +This guide provides step-by-step instructions on how to activate and start using F5 NGINX One Console. NGINX One is a management console for monitoring and managing NGINX data plane instances. ## Enable the NGINX One service {#enable-nginx-one} To get started using NGINX One, enable the service on F5 Distributed Cloud. -1. Log in to the [F5 Distributed Console](https://www.f5.com/cloud/products/distributed-cloud-console). +1. Log in to [F5 Distributed Console](https://www.f5.com/cloud/products/distributed-cloud-console). 1. Select **NGINX One** from the list of services. 1. Select **Enable Service**. -1. After the service has been enabled, select **Visit Service** to load the NGINX One console. +1. After the service has been enabled, select **Visit Service** to load NGINX One Console. --- ## Add your NGINX instances to NGINX One -Next, add your NGINX instances to NGINX One. You'll need to create a data plane key and then install the NGINX Agent on each instance you want to monitor. +Next, add your NGINX instances to NGINX One. You'll need to create a data plane key and then install NGINX Agent on each instance you want to monitor. ### Add an instance -Depending on whether this is your first time using the NGINX One console or you've used it before, follow the appropriate steps to add an instance: +Depending on whether this is your first time using NGINX One Console or you've used it before, follow the appropriate steps to add an instance: - **For first-time users:** On the welcome screen, select **Add Instance**. - **For returning users:** If you've added instances previously and want to add more, select **Instances** on the left menu, then select **Add Instance**. @@ -51,17 +51,17 @@ Data plane keys expire after one year. You can change this expiration date later ### Install NGINX Agent -After entering your data plane key, you'll see a `curl` command similar to the one below. Copy and run this command on each NGINX instance to install the NGINX Agent. Once installed, the NGINX Agent typically registers with NGINX One within a few seconds. +After entering your data plane key, you'll see a `curl` command similar to the one below. Copy and run this command on each NGINX instance to install NGINX Agent. Once installed, NGINX Agent typically registers with NGINX One within a few seconds. {{}} -The NGINX Agent must be able to establish a connection to the NGINX One Console's Agent endpoint (`agent.connect.nginx.com`). Ensure that any firewall rules you have in place for your NGINX hosts allows network traffic to port `443` for all of the following IPs: +NGINX Agent must be able to establish a connection to NGINX One Console's Agent endpoint (`agent.connect.nginx.com`). Ensure that any firewall rules you have in place for your NGINX hosts allows network traffic to port `443` for all of the following IPs: - `3.135.72.139` - `3.133.232.50` - `52.14.85.249` {{}} -To install the NGINX Agent on an NGINX instance: +To install NGINX Agent on an NGINX instance: 1. **Check if NGINX is running and start it if it's not:** @@ -79,7 +79,7 @@ To install the NGINX Agent on an NGINX instance: 2. **Install NGINX Agent:** - Next, use the `curl` command provided to you to install the NGINX Agent: + Next, use the `curl` command provided to you to install NGINX Agent: ``` shell curl https://agent.connect.nginx.com/nginx-agent/install | DATA_PLANE_KEY="YOUR_DATA_PLANE_KEY" sh -s -- -y @@ -105,11 +105,11 @@ If you followed the [Installation and upgrade](https://docs.nginx.com/nginx-agen -{{}} We recommend keeping `dataplane.status.poll_interval` between `30s` and `60s` in the NGINX Agent config (`/etc/nginx-agent/nginx-agent.conf`). If the interval is set above `60s`, the NGINX One Console may report incorrect instance statuses.{{}} +{{}} We recommend keeping `dataplane.status.poll_interval` between `30s` and `60s` in the NGINX Agent config (`/etc/nginx-agent/nginx-agent.conf`). If the interval is set above `60s`, NGINX One Console may report incorrect instance statuses.{{}}
- Make sure your Linux operating system is listed below. The installation script for the NGINX Agent is compatible with these distributions and versions. + Make sure your Linux operating system is listed below. The installation script for NGINX Agent is compatible with these distributions and versions. #### NGINX Agent installation script: supported distributions @@ -136,7 +136,7 @@ If you followed the [Installation and upgrade](https://docs.nginx.com/nginx-agen ## Enable NGINX metrics reporting -In order for the NGINX One console to show specific traffic and system metrics, you need to enable the appropriate API on your NGINX data plane instances. The sections below provide step-by-step instructions for both NGINX Plus and NGINX Open Source (OSS). +In order for NGINX One Console to show specific traffic and system metrics, you need to enable the appropriate API on your NGINX data plane instances. The sections below provide step-by-step instructions for both NGINX Plus and NGINX Open Source (OSS). ### Enable NGINX Plus API @@ -154,7 +154,7 @@ After connecting your NGINX instances to NGINX One, you can monitor their perfor ### Log in to NGINX One -1. Log in to the [F5 Distributed Console](https://www.f5.com/cloud/products/distributed-cloud-console). +1. Log in to [F5 Distributed Console](https://www.f5.com/cloud/products/distributed-cloud-console). 1. Select **NGINX One > Visit Service**. ### Overview of the NGINX One dashboard @@ -172,7 +172,7 @@ Navigating the dashboard: **NGINX One dashboard metrics** | Metric | Description | Details | |---|---|---| -| **Instance availability** | Understand the operational status of your NGINX instances. | - **Online**: The NGINX instance is actively connected and functioning properly.
- **Offline**: The NGINX Agent is connected but the NGINX instance isn't running, isn't installed, or can't communicate with the NGINX Agent.
- **Unavailable**: The connection between the NGINX Agent and NGINX One has been lost or the instance has been decommissioned.
- **Unknown**: The current state can't be determined at the moment. | +| **Instance availability** | Understand the operational status of your NGINX instances. | - **Online**: The NGINX instance is actively connected and functioning properly.
- **Offline**: NGINX Agent is connected but the NGINX instance isn't running, isn't installed, or can't communicate with NGINX Agent.
- **Unavailable**: The connection between NGINX Agent and NGINX One has been lost or the instance has been decommissioned.
- **Unknown**: The current state can't be determined at the moment. | | **NGINX versions by instance** | See which NGINX versions are in use across your instances. | | | **Operating systems** | Find out which operating systems your instances are running on. | | | **Certificates** | Monitor the status of your SSL certificates to know which are expiring soon and which are still valid. | | From ae1f1623d4e355c401f9c55e9e38ab94cefcf7bc Mon Sep 17 00:00:00 2001 From: Austin Lai <76412946+alai97@users.noreply.github.com> Date: Wed, 5 Mar 2025 08:34:01 -0800 Subject: [PATCH 007/723] Update CONTRIBUTING_DOCS.md (#255) Addresses https://github.com/nginx/documentation/issues/73. Co-authored-by: Alan Dooley --- CONTRIBUTING_DOCS.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING_DOCS.md b/CONTRIBUTING_DOCS.md index 1090107a1..2947cc8bd 100644 --- a/CONTRIBUTING_DOCS.md +++ b/CONTRIBUTING_DOCS.md @@ -64,7 +64,7 @@ We have templates for the following types of documentation: ## How to format docs -### Basic markdown formatting +### Basic Markdown formatting There are multiple ways to format text: for consistency and clarity, these are our conventions: @@ -152,6 +152,25 @@ Here are some other shortcodes: - `readfile`: Include the content of another file in the current file, which can be in an arbitrary location. - `bootstrap-table`: formats a table using Bootstrap classes; accepts any bootstrap table classes as additional arguments, e.g. `{{< bootstrap-table "table-bordered table-hover" }}` +### How to use Hugo includes + +As mentioned above, [Hugo includes](https://gohugo.io/contribute/documentation/#include) are a custom shortcode that allows you to reference reusable content stored in the [`/content/includes` directory](https://github.com/nginx/documentation/tree/main/content/includes). + +For example, if the [`controller/add-existing-instance.md`](https://github.com/nginx/documentation/blob/main/content/includes/controller/add-existing-instance.md) file contains instructions on adding an instance to the NGINX Controller, you can reuse it on multiple pages by adding: + +```md +{{< include "controller/add-existing-instance.md" >}} +``` + +The `controller/add-existing-instance.md` file is included in the following pages on the NGINX Docs Site: + +- [Add an NGINX App Protect Instance](https://github.com/nginx/documentation/blob/main/content/controller/infrastructure/instances/add-nap-instance.md?plain=1#L35) +- [Manage Your NGINX Instances](https://github.com/nginx/documentation/blob/main/content/controller/infrastructure/instances/manage-instances.md?plain=1#L29) +- [Trial NGINX Controller with NGINX Plus](https://github.com/nginx/documentation/blob/main/content/controller/admin-guides/install/try-nginx-controller.md?plain=1#L277) +- [Trial NGINX Controller with App Security](https://github.com/nginx/documentation/blob/main/content/controller/admin-guides/install/try-nginx-controller-app-sec.md?plain=1#L290) + +This ensures that content is defined once and referenced in multiple places without duplication. + ## Linting To run the markdownlint check, run the following command, which uses the .markdownlint.yaml file to specify rules. For ``, specify the path to your Markdown files: From d9836d1312ed484069a79f8ce1cf885b3ae68552 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Wed, 5 Mar 2025 08:51:36 -0800 Subject: [PATCH 008/723] feature: Describe use of XC-based RBAC (#248) * feature: Describe use of roles in N1C * Add default roles page * More * Update content/nginx-one/rbac/rbac-api.md * Apply suggestions from code review Co-authored-by: Alan Dooley --------- Co-authored-by: Alan Dooley --- content/includes/security/rbac-intro.md | 9 ++++ content/nginx-one/rbac/_index.md | 6 +++ content/nginx-one/rbac/overview.md | 13 ++++++ content/nginx-one/rbac/rbac-api.md | 45 +++++++++++++++++++ content/nginx-one/rbac/roles.md | 25 +++++++++++ content/nim/admin-guide/rbac/overview-rbac.md | 4 +- 6 files changed, 99 insertions(+), 3 deletions(-) create mode 100644 content/includes/security/rbac-intro.md create mode 100644 content/nginx-one/rbac/_index.md create mode 100644 content/nginx-one/rbac/overview.md create mode 100644 content/nginx-one/rbac/rbac-api.md create mode 100644 content/nginx-one/rbac/roles.md diff --git a/content/includes/security/rbac-intro.md b/content/includes/security/rbac-intro.md new file mode 100644 index 000000000..7122c1110 --- /dev/null +++ b/content/includes/security/rbac-intro.md @@ -0,0 +1,9 @@ +--- +files: + - content/nginx-one/rbac/overview.md + - content/nim/admin-guide/rbac/overview-rbac.md +docs: DOCS-000 +--- +Role-based access control (RBAC) is a security system that governs access to resources within a software application. By assigning specific roles to users or groups, RBAC ensures that only authorized individuals have the ability to perform certain actions or access particular areas. + +The value of RBAC lies in its ability to provide clear and structured control over what users can see and do. This makes it easier to maintain security, streamline user management, and ensure compliance with internal policies or regulations. By giving users only the permissions they need to fulfill their roles, RBAC reduces the risk of unauthorized access and fosters a more efficient and secure operating environment. diff --git a/content/nginx-one/rbac/_index.md b/content/nginx-one/rbac/_index.md new file mode 100644 index 000000000..a1f7050ff --- /dev/null +++ b/content/nginx-one/rbac/_index.md @@ -0,0 +1,6 @@ +--- +title: Role-based access control +description: +weight: 300 +url: /nginx-one/rbac +--- diff --git a/content/nginx-one/rbac/overview.md b/content/nginx-one/rbac/overview.md new file mode 100644 index 000000000..ccab68d4b --- /dev/null +++ b/content/nginx-one/rbac/overview.md @@ -0,0 +1,13 @@ +--- +title: "Role-based access control overview" +weight: 400 +toc: true +type: reference +product: NGINX One +docs: DOCS-000 +--- + +{{< include "security/rbac-intro.md" >}} + +The NGINX One Console uses the **[F5 Distributed Cloud User Management](https://docs.cloud.f5.com/docs-v2/administration/how-tos/user-mgmt)** system for access controls and user permissions. +General information can be found on the User Management documentation for **[F5 Distributed Cloud](https://docs.cloud.f5.com/docs-v2/administration/how-tos/user-mgmt)**. This document provides guidance and reference material for utilizing those features to grant and restrict access within the NGINX One Console. diff --git a/content/nginx-one/rbac/rbac-api.md b/content/nginx-one/rbac/rbac-api.md new file mode 100644 index 000000000..a11f6d3c9 --- /dev/null +++ b/content/nginx-one/rbac/rbac-api.md @@ -0,0 +1,45 @@ +--- +title: "Custom roles and API groups" +weight: 500 +toc: true +type: reference +product: NGINX One +docs: DOCS-000 +--- + +Beyond [Default roles]({{< relref "/nginx-one/rbac/roles.md" >}}), you may need to set up custom roles. For convenience, we include a list of API groups that you could use to specify permissions for custom roles. + +These are not NGINX One APIs. + +## F5 API groups for NGINX One + +The following table lists the **[F5 XC roles](https://docs.cloud.f5.com/docs-v2/administration/how-tos/user-mgmt/roles)** that you can use. These are narrowly scoped API Groups that align with all the features and functionality within the NGINX One Console. These groups can help you create custom roles tailored to your specific needs. + +{{< note >}}If you create custom roles using the more granular API Groups, users may not have access until you add the corresponding API Groups to their roles.{{< /note >}} + +| API Group Name | Level of Access | Description | +|-----------------------------------------|-----------------|-------------------------------------------------------------------------------------------------------------------------------| +| f5xc-nginx-one-application-monitor | Read | View all features and data. | +| f5xc-nginx-one-application-settings | Write | View and update settings. | +| f5xc-nginx-one-application-write | Write | View and edit all features except settings. | +| f5xc-nginx-one-custom-all-instances-metric-read | Read | View metrics for all Instances. Required to see the Overview dashboard. | +| f5xc-nginx-one-custom-instance-list | Read | View list of all Instances. Also view summarized information such as certificate status and CVEs. | +| f5xc-nginx-one-custom-all-instances-manage | Write | View and delete all Instances. | +| f5xc-nginx-one-custom-instance-manage | Write | View and edit Instance details. | +| f5xc-nginx-one-custom-instance-read | Read | View Instance and configuration details. | +| f5xc-nginx-one-custom-certificate-manage | Write | View TSL/SSL certificate details. Create, update, and delete any managed certificates. | +| f5xc-nginx-one-custom-certificate-read | Read | View TLS/SSL certificates. | +| f5xc-nginx-one-custom-all-certificates-manage | Write | View all TLS/SSL certificates. Delete managed certificates. | +| f5xc-nginx-one-custom-data-plane-key-manage | Write | View, create, update, and delete any Data Plane Keys. Note: The actual Data Plane Key is shown _only_ when created. | +| f5xc-nginx-one-custom-data-plane-key-read | Read | View Data Plane Key Details. Note: The actual Data Plane Key is shown _only_ when created. | +| f5xc-nginx-one-custom-all-data-plane-keys-manage | Write | View and delete Data Plane Keys. | +| f5xc-nginx-one-custom-cve-read | Read | View NGINX CVEs. | +| f5xc-nginx-one-custom-config-sync-group-manage | Write | View, create, update, and delete Config Sync Groups. | +| f5xc-nginx-one-custom-config-sync-group-read | Read | View Config Sync Groups with details. | +| f5xc-nginx-one-custom-all-config-sync-groups-manage | Write | View and delete Config Sync Groups. | +| f5xc-nginx-one-custom-settings-manage | Write | View and update NGINX One Console Settings. | +| f5xc-nginx-one-custom-settings-read | Read | View NGINX One Console Settings. | +| f5xc-nginx-one-custom-event-read | Read | View NGINX One Events. | +| f5xc-nginx-one-custom-ai-assistant | Write | Interact with the NGINX One AI Assistant. | +| f5xc-nginx-one-custom-staged-config-manage | Write | View, create, update, and delete Staged Configs. | +| f5xc-nginx-one-custom-staged-config-read | Read | View Staged Configs. | diff --git a/content/nginx-one/rbac/roles.md b/content/nginx-one/rbac/roles.md new file mode 100644 index 000000000..760e98f42 --- /dev/null +++ b/content/nginx-one/rbac/roles.md @@ -0,0 +1,25 @@ +--- +title: "Default roles" +weight: 500 +toc: true +type: reference +product: NGINX One +docs: DOCS-000 +--- + +## Default roles + +We provide three default **[roles](https://docs.cloud.f5.com/docs-v2/administration/how-tos/user-mgmt/roles)** that can be used for providing various access levels to the NGINX One Console. These roles will be automatically updated as new features are added to the NGINX One Console. Default roles can be scoped to specific namespaces. + +### Admin + +The Admin role, identified as f5xc-nginx-one-admin, provides full read and write access to all endpoints and features within the NGINX One Console. + +### User + +Our standard User role, listed as f5xc-nginx-one-user in the role list, provides read and write access to all endpoints and features, save for those considered to be administrator level. An example of an administrator level feature would be **[Instance Settings](https://docs.nginx.com/nginx-one/how-to/nginx-configs/clean-up-unavailable-instances/)** where unavailable instance clean up logic is set. + +### Monitor + +Our read only or Monitor role, f5xc-nginx-one-monitor, grants read only access to all non-administrator features and endpoints within the NGINX One Console. + diff --git a/content/nim/admin-guide/rbac/overview-rbac.md b/content/nim/admin-guide/rbac/overview-rbac.md index 7da6ddeb6..f3259a258 100644 --- a/content/nim/admin-guide/rbac/overview-rbac.md +++ b/content/nim/admin-guide/rbac/overview-rbac.md @@ -9,9 +9,7 @@ docs: DOCS-919 ## Overview -Role-Based Access Control (RBAC) is a security system that governs access to resources within a software application. By assigning specific roles to users or groups, RBAC ensures that only authorized individuals have the ability to perform certain actions or access particular areas. - -The value of RBAC lies in its ability to provide clear and structured control over what users can see and do. This makes it easier to maintain security, streamline user management, and ensure compliance with internal policies or regulations. By giving users only the permissions they need to fulfill their roles, RBAC reduces the risk of unauthorized access and fosters a more efficient and secure operating environment. +{{< include "security/rbac-intro.md" >}} The following are essential concepts related to RBAC: From 6a2c2bec3df89cecbe4486a6b562438d94fd0854 Mon Sep 17 00:00:00 2001 From: Balakoteswara Panchakshari Date: Thu, 6 Mar 2025 16:28:44 +0530 Subject: [PATCH 009/723] fix: update helm doc with NIM 2.18 and fix broken links (#260) * fix: update helm doc with NIM 2.18 and fix broken links * fix: Update content/nim/deploy/kubernetes/deploy-using-helm.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * fix: Update content/nim/deploy/kubernetes/deploy-using-helm.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> --- .../deploy/kubernetes/deploy-using-helm.md | 108 +++++++++++++++++- .../setup-waf-config-management.md | 4 +- 2 files changed, 106 insertions(+), 6 deletions(-) diff --git a/content/nim/deploy/kubernetes/deploy-using-helm.md b/content/nim/deploy/kubernetes/deploy-using-helm.md index 585c7d28e..71eadbaa7 100644 --- a/content/nim/deploy/kubernetes/deploy-using-helm.md +++ b/content/nim/deploy/kubernetes/deploy-using-helm.md @@ -15,6 +15,8 @@ tags: This guide explains how to deploy F5 NGINX Instance Manager on a Kubernetes or OpenShift cluster using Helm. You’ll learn how to download and use Docker images and customize your deployment. +{{< note >}} Starting in NGINX Instance Manager 2.19, you can deploy NGINX Instance Manager on an OpenShift cluster using Helm. {{< /note >}} + ### About Helm Helm charts are pre-configured packages of Kubernetes resources deployed with a single command. They let you define, install, and upgrade Kubernetes applications easily. @@ -169,6 +171,8 @@ The `values.yaml` file customizes the Helm chart installation without modifying tag: ``` + {{< note >}} Starting in NGINX Instance Manager 2.19, the `secmon` pod is included in the NGINX Instance Manager deployment. {{< /note >}} + 2. Save and close the `values.yaml` file. --- @@ -221,10 +225,6 @@ nms nginx-stable/nms-hybrid \ --wait ``` -To help you choose the right NGINX Instance Manager chart version, see the following table (through version v2.18.0): - -{{< include "nim/kubernetes/nms-chart-supported-module-versions.md" >}} - --- ## Validate the deployment @@ -334,6 +334,106 @@ networkPolicies: --- +## Helm Deployment for NGINX Instance Manager 2.18 or lower + +### Create a Helm deployment values.yaml file + +The `values.yaml` file customizes the Helm chart installation without modifying the chart itself. You can use it to specify image repositories, environment variables, resource requests, and other settings. + +1. Create a `values.yaml` file similar to this example: + + - In the `imagePullSecrets` section, add the credentials for your private Docker registry. + - Change the version tag to the version of NGINX Instance Manager you would like to install. See "Install the chart" below for versions. + - Replace `` with your private Docker registry and port (if applicable). + + {{< see-also >}} For details on creating a secret, see Kubernetes [Pull an Image from a Private Registry](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/). {{}} + + ```yaml + nms-hybrid: + imagePullSecrets: + - name: regcred + apigw: + image: + repository: private-registry.nginx.com/nms/apigw + tag: + core: + image: + repository: private-registry.nginx.com/nms/core + tag: + dpm: + image: + repository: private-registry.nginx.com/nms/dpm + tag: + ingestion: + image: + repository: private-registry.nginx.com/nms/ingestion + tag: + integrations: + image: + repository: private-registry.nginx.com/nms/integrations + tag: + utility: + image: + repository: private-registry.nginx.com/nms/utility + tag: + ``` + +2. Save and close the `values.yaml` file. + +--- + +### Install the chart + +Run the `helm install` command to deploy NGINX Instance Manager: + +1. Replace `` with the path to your `values.yaml` file. +2. Replace `YourPassword123#` with a secure password (containing a mix of uppercase, lowercase letters, numbers, and special characters). + + {{< important >}} Remember to save the password for future use. Only the encrypted password is stored, and there's no way to recover or reset it if lost. {{< /important >}} + +3. Replace `` with the desired chart version 1.15.0 or lower. If omitted, it will lead to an unsuccessful deployment as it will try to install the latest vesrion 1.16.0 or later. + +```shell +helm install -n nms \ +--set nms-hybrid.adminPasswordHash=$(openssl passwd -6 'YourPassword123#') \ +nms nginx-stable/nms \ +--create-namespace \ +-f \ +--version \ +--wait +``` + +To help you choose the right NGINX Instance Manager chart version, see the table in: + +{{< include "nim/kubernetes/nms-chart-supported-module-versions.md" >}} + +--- + +### Upgrade NGINX Instance Manager + +To upgrade: + +1. [Update the Helm repository list](#add-helm-repository). +2. [Adjust your `values.yaml` file](#create-a-helm-deployment-values.yaml-file) if needed. +3. To upgrade the NGINX Instance Manager deployment, run the following command. This command updates the `nms` deployment with a new version from the `nginx-stable/nms` repository. It also hashes the provided password and uses the `values.yaml` file at the path you specify. +4. Replace `` with the desired chart version 1.15.0 or lower. If omitted, it will lead to an unsuccessful deployment as it will try to upgrade to the latest vesrion 1.16.0 or later. + + ```bash + helm upgrade -n nms \ + --set nms-hybrid.adminPasswordHash=$(openssl passwd -6 'YourPassword123#') \ + nms nginx-stable/nms \ + -f \ + --version \ + --wait + ``` + + - Replace `` with the path to the `values.yaml` file you created]({{< relref "/nim/deploy/kubernetes/deploy-using-helm.md#configure-chart" >}}). + - Replace `YourPassword123#` with a secure password that includes uppercase and lowercase letters, numbers, and special characters. + + {{}} Save this password for future use. Only the encrypted password is stored in Kubernetes, and you can’t recover or reset it later. {{}} + +--- + ## Troubleshooting For instructions on creating a support package to share with NGINX Customer Support, see [Create a Support Package from a Helm Installation]({{< relref "/nms/support/k8s-support-package.md" >}}). diff --git a/content/nim/nginx-app-protect/setup-waf-config-management.md b/content/nim/nginx-app-protect/setup-waf-config-management.md index 71e3ec064..06e1dca21 100644 --- a/content/nim/nginx-app-protect/setup-waf-config-management.md +++ b/content/nim/nginx-app-protect/setup-waf-config-management.md @@ -32,8 +32,8 @@ Complete the following prerequisites before proceeding with this guide. Instance Manager does not support the following NGINX App Protect features: -- [Policies with external references](https://docs.nginx.com/nginx-app-protect/configuration-guide/configuration/#external-references) -- [Policies with modifications](https://docs.nginx.com/nginx-app-protect/configuration-guide/configuration/#modifying-configurations) +- [Policies with external references](https://docs.nginx.com/nginx-app-protect-waf/v4/configuration-guide/configuration/#external-references) +- [Policies with modifications](https://docs.nginx.com/nginx-app-protect-waf/v4/configuration-guide/configuration/#modifying-configurations) - Custom signatures --- From 3392ec01bb3c8e11993b76811db750f601ca6271 Mon Sep 17 00:00:00 2001 From: Puneet Singh Sarna Date: Tue, 11 Mar 2025 06:09:28 -0700 Subject: [PATCH 010/723] Update docs to point towards Standard V2 (#254) Now that we have the Standard plan officially retired, we should update our docs with the same information and point users to migrate over to it. Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- content/nginxaas-azure/billing/overview.md | 9 ------ content/nginxaas-azure/changelog.md | 6 ++++ .../nginx-configuration/overview.md | 2 +- .../monitoring/metrics-catalog.md | 28 ++++++++++--------- content/nginxaas-azure/overview/overview.md | 2 +- content/nginxaas-azure/quickstart/scaling.md | 4 +-- 6 files changed, 25 insertions(+), 26 deletions(-) diff --git a/content/nginxaas-azure/billing/overview.md b/content/nginxaas-azure/billing/overview.md index 1e9227f6d..63aca2574 100644 --- a/content/nginxaas-azure/billing/overview.md +++ b/content/nginxaas-azure/billing/overview.md @@ -33,15 +33,6 @@ The SKU for the Basic pricing plan is `basic_Monthly`. {{< note >}}The costs for your plan will appear on the Azure Portal Cost Analysis page and the Azure Consumption APIs. There may be a 24h delay before usage is visible.{{< /note >}} -### Standard plan (deprecated) - -The Standard plan is comparable to the Standard V2 plan except that it doesn't support some features like NGINX App Protect WAF. - -The SKU to use for the Standard pricing plan is `standard_Monthly`. - -{{< note >}} Standard plan is now deprecated in favor of Standard V2 plan.{{< /note >}} - - ## NGINX Capacity Unit (NCU) {{< include "/nginxaas-azure/ncu-description.md" >}} diff --git a/content/nginxaas-azure/changelog.md b/content/nginxaas-azure/changelog.md index 5d1aff6b6..0db135ccb 100644 --- a/content/nginxaas-azure/changelog.md +++ b/content/nginxaas-azure/changelog.md @@ -13,6 +13,12 @@ To see a list of currently active issues, visit the [Known issues]({{< relref "/ To review older entries, visit the [Changelog archive]({{< relref "/nginxaas-azure/changelog-archive" >}}) section. +## March 5, 2025 + +- {{% icon-info %}} **Retirement of Standard Plan** + + The `Standard` plan for NGINXaaS for Azure has been retired, and you can no longer use it to create new deployments. If you have a deployment running on the `Standard` plan, consider [migrating]({{< relref "/nginxaas-azure/troubleshooting/migrate-from-standard.md">}}) it to the [`Standard V2 plan`]({{< relref "/nginxaas-azure/billing/overview.md#standard-v2-plan" >}}) to access new features such as NGINX App Protect WAF and additional listen ports. Plan migration does not incur downtime. + ## February 10, 2025 - {{% icon-feature %}} **NGINXaaS Load Balancer for Kubernetes is now Generally Available** diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/overview.md b/content/nginxaas-azure/getting-started/nginx-configuration/overview.md index 9b5d05939..3d3dce483 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/overview.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/overview.md @@ -62,7 +62,7 @@ Some directives cannot be overridden by the user provided configuration. |------------------ | ----------------------- | -----------------| | `user` | `nginx` | The `nginx` user has the correct permissions for accessing certificates, policy files and other auxfiles. | | `worker_processes` | `auto` | Set to `auto` to automatically set `worker_processes` to the number of CPU cores. | - | `worker_connections` |
  • standard plan `4000`
  • basic plan `3000`
| To ensure reasonable performance of the NGINXaaS deployment for standard plan the `worker_connections` is fixed at 400/NCU; for basic plan this is set lower. | + | `worker_connections` |
  • Standard V2 plan `4000`
  • basic plan `3000`
| To ensure reasonable performance of the NGINXaaS deployment for Standard V2 plan, the `worker_connections` is fixed at 400/NCU; for basic plan this is set lower. | | `pid` | `/run/nginx/nginx.pid` | Set to this value to allow NGINXaaS to automatically manage the NGINX master process. | | `daemon` | `on` | Automatically set to `on` to allow NGINXaaS to manage the NGINX master process. | | `master_process` | `on` | This directive is intended for NGINX developers. | diff --git a/content/nginxaas-azure/monitoring/metrics-catalog.md b/content/nginxaas-azure/monitoring/metrics-catalog.md index 791529841..f6b87c232 100644 --- a/content/nginxaas-azure/monitoring/metrics-catalog.md +++ b/content/nginxaas-azure/monitoring/metrics-catalog.md @@ -11,16 +11,18 @@ F5 NGINX as a Service for Azure (NGINXaaS) provides a rich set of metrics that y ## Available metrics -- [NGINXaaS Statistics](#nginxaas-statistics) -- [NGINX connections statistics](#nginx-connections-statistics) -- [NGINX requests and response statistics](#nginx-requests-and-response-statistics) -- [NGINX SSL Statistics](#nginx-ssl-statistics) -- [NGINX Cache Statistics](#nginx-cache-statistics) -- [NGINX Worker Statistics](#nginx-worker-statistics) -- [NGINX Upstream Statistics](#nginx-upstream-statistics) -- [NGINX System Statistics](#nginx-system-statistics) -- [NGINX Stream Statistics](#nginx-stream-statistics) -- [NGINX Resolver Statistics](#nginx-resolver-statistics) +- [Available metrics](#available-metrics) +- [Metrics](#metrics) + - [NGINXaaS statistics](#nginxaas-statistics) + - [NGINX connections statistics](#nginx-connections-statistics) + - [NGINX requests and response statistics](#nginx-requests-and-response-statistics) + - [NGINX SSL statistics](#nginx-ssl-statistics) + - [NGINX cache statistics](#nginx-cache-statistics) + - [NGINX worker statistics](#nginx-worker-statistics) + - [NGINX upstream statistics](#nginx-upstream-statistics) + - [NGINX system statistics](#nginx-system-statistics) + - [NGINX stream statistics](#nginx-stream-statistics) + - [NGINX resolver statistics](#nginx-resolver-statistics) ## Metrics @@ -33,9 +35,9 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | **Metric** | **Dimensions** | **Type** | **Description** | **Roll-up per** | | --------------------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | -| ncu.provisioned | | count | The number of successfully provisioned NCUs during the aggregation interval. During scaling events, this may lag behind `ncu.requested` as the system works to achieve the request. Available for Standard plan deployments. | deployment | -| ncu.requested | | count | The requested number of NCUs during the aggregation interval. Describes the goal state of the system. Available for Standard plan deployments. | deployment | -| ncu.consumed | | count | The estimated number of NCUs used to handle the current traffic. This may burst above the `ncu.provisioned`. This can be used to guide scaling out or in to match your workload. See [Scaling Guidance]({{< relref "/nginxaas-azure/quickstart/scaling.md#iterative-approach" >}}) for details. Available for Standard plan deployments. | deployment | +| ncu.provisioned | | count | The number of successfully provisioned NCUs during the aggregation interval. During scaling events, this may lag behind `ncu.requested` as the system works to achieve the request. Available for Standard plan(s) only. | deployment | +| ncu.requested | | count | The requested number of NCUs during the aggregation interval. Describes the goal state of the system. Available for Standard plans(s) only. | deployment | +| ncu.consumed | | count | The estimated number of NCUs used to handle the current traffic. This may burst above the `ncu.provisioned`. This can be used to guide scaling out or in to match your workload. See [Scaling Guidance]({{< relref "/nginxaas-azure/quickstart/scaling.md#iterative-approach" >}}) for details. Available for Standard plan(s) only. | deployment | | system.worker_connections | pid process_name | count | The number of nginx worker connections used on the dataplane. This metric is one of the factors which determines the deployment's consumed NCU value. | deployment | | nginxaas.certificates | name status | count | The number of certificates added to the NGINXaaS deployment dimensioned by the name of the certificate and its status. Refer to [Certificate Health]({{< relref "/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md#monitor-certificates" >}}) to learn more about the status dimension. | deployment | | nginxaas.maxmind | status | count | The status of any MaxMind license in use for downloading geoip2 databases. Refer to [License Health]({{< relref "/nginxaas-azure/quickstart/geoip2.md#monitoring" >}}) to learn more about the status dimension. | deployment | diff --git a/content/nginxaas-azure/overview/overview.md b/content/nginxaas-azure/overview/overview.md index 4dcaee8f5..d91fb5578 100644 --- a/content/nginxaas-azure/overview/overview.md +++ b/content/nginxaas-azure/overview/overview.md @@ -46,7 +46,7 @@ NGINXaaS for Azure is supported in the following regions: ### Redundancy -With the Standard Plan, NGINXaaS uses the following redundancy features to keep your service available. +With the Standard V2 Plan, NGINXaaS uses the following redundancy features to keep your service available. - We run _at least_ two NGINX Plus instances for each deployment in an active-active pattern - NGINX Plus is constantly monitored for health. Any unhealthy instances are replaced with new ones diff --git a/content/nginxaas-azure/quickstart/scaling.md b/content/nginxaas-azure/quickstart/scaling.md index bcdd955ec..2a98d1a7b 100644 --- a/content/nginxaas-azure/quickstart/scaling.md +++ b/content/nginxaas-azure/quickstart/scaling.md @@ -9,7 +9,7 @@ url: /nginxaas/azure/quickstart/scaling/ F5 NGINX as a Service for Azure (NGINXaaS) supports manual and automatic scaling of your deployment, allowing you to adapt to application traffic demands while controlling cost. -{{}}Scaling requires the Standard plan.{{}} +{{}}This feature is only available for Standard plan(s).{{}} An NGINXaaS deployment can be scaled out to increase the capacity (increasing the cost) or scaled in to decrease the capacity (reducing the cost). Capacity is measured in [NGINX Capacity Units (NCU)](#nginx-capacity-unit-ncu). @@ -65,7 +65,7 @@ The following table outlines constraints on the specified capacity based on the {{}} | **Marketplace Plan** | **Minimum Capacity (NCUs)** | **Maximum Capacity (NCUs)** | **Multiple of** | |------------------------------|-----------------------------|-----------------------------|----------------------------| -| Standard | 10 | 500 | 10 | +| Standard plan(s) | 10 | 500 | 10 | {{}} {{< note >}}If you need a higher maximum capacity, please [open a request](https://my.f5.com/manage/s/) and specify the Resource ID of your NGINXaaS deployment, the region, and the desired maximum capacity you wish to scale to.{{< /note >}} From 24f9a30a10e5c66aa0724bc73cc4227973c3b0f6 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Tue, 11 Mar 2025 16:36:34 +0000 Subject: [PATCH 011/723] feat: add labeler action (#268) * feat: add labeler action * fix: fix nginx-one path * feat: add filters for Unit and potential include paths --- .github/labeler.yml | 122 ++++++++++++++++++++++++++++++++++ .github/workflows/labeler.yml | 18 +++++ 2 files changed, 140 insertions(+) create mode 100644 .github/labeler.yml create mode 100644 .github/workflows/labeler.yml diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 000000000..1887bf358 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,122 @@ +# Label PRs based on modified file paths (v5 format) +# https://github.com/actions/labeler + +# General documentation + +documentation: + - changed-files: + - any-glob-to-any-file: + - 'content/**' + - 'assets/**' + - 'static/**' + - 'data/**' + +# Product labels + +product/agent: + - changed-files: + - any-glob-to-any-file: + - 'content/agent/**' + - 'content/includes/agent/**' + +product/amplify: + - changed-files: + - any-glob-to-any-file: 'content/amplify/**' + +product/controller: + - changed-files: + - any-glob-to-any-file: + - 'content/controller/**' + - 'content/includes/controller/**' + +product/mesh: + - changed-files: + - any-glob-to-any-file: 'content/mesh/**' + +product/modsec-waf: + - changed-files: + - any-glob-to-any-file: 'content/modsec-waf/**' + +product/nap-dos: + - changed-files: + - any-glob-to-any-file: + - 'content/nap-dos/**' + - 'content/includes/nap-dos/**' + +product/nap-waf: + - changed-files: + - any-glob-to-any-file: + - 'content/nap-waf/**' + - 'content/includes/nap-waf/**' + +product/ngf: + - changed-files: + - any-glob-to-any-file: + - 'content/ngf/**' + - 'content/includes/ngf/**' + +product/nginx-plus: + - changed-files: + - any-glob-to-any-file: + - 'content/nginx/**' + - 'content/includes/nginx-plus/**' + +product/nginx-one: + - changed-files: + - any-glob-to-any-file: + - 'content/nginx-one/**' + - 'content/includes/nginx-one/**' + +product/nginxaas: + - changed-files: + - any-glob-to-any-file: + - 'content/nginxaas-azure/**' + - 'content/includes/nginxaas-azure/**' + +product/nim: + - changed-files: + - any-glob-to-any-file: + - 'content/nim/**' + - 'content/includes/nim/**' + +product/nms: + - changed-files: + - any-glob-to-any-file: + - 'content/nms/**' + - 'content/includes/nms/**' + +product/unit: + - changed-files: + - any-glob-to-any-file: + - 'content/unit/**' + - 'content/includes/unit/**' + +# Other labels + +process documentation: + - changed-files: + - any-glob-to-any-file: + - 'templates/**' + - '*.md' + - 'LICENSE' + +tooling: + - changed-files: + - any-glob-to-any-file: + - 'layouts/**' + - '.github/**' + - '.cloudcannon/**' + - 'styles/**' + - 'layouts/**' + - 'config/**' + - 'archetypes/**' + - '*.yml' + - '*.yaml' + - '*.json' + - '*.ts' + - '*.sh' + - '*.js' + - 'Makefile' + - '.vale.ini' + - '.gitignore' + - '.gitattributes' diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 000000000..667025ada --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,18 @@ +name: PR Labeler + +on: + pull_request: + types: [opened, synchronize, reopened] + +permissions: + contents: read # Required to read the labeler.yml file + pull-requests: write # Required to apply labels to PRs + +jobs: + label: + runs-on: ubuntu-latest + steps: + - name: Apply labels based on file paths + uses: actions/labeler@v5 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" From 2e10138b2a4544b661dd2806b88e74b34d597b34 Mon Sep 17 00:00:00 2001 From: Saylor Berman Date: Tue, 11 Mar 2025 12:12:25 -0600 Subject: [PATCH 012/723] Update NGF version for patch release (#272) --- layouts/shortcodes/version-ngf.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/shortcodes/version-ngf.html b/layouts/shortcodes/version-ngf.html index 2eda823ff..308b6faa7 100644 --- a/layouts/shortcodes/version-ngf.html +++ b/layouts/shortcodes/version-ngf.html @@ -1 +1 @@ -1.6.1 \ No newline at end of file +1.6.2 \ No newline at end of file From 60f285fc97183850bde5369524b3686c25304fd7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 11:35:13 -0700 Subject: [PATCH 013/723] build(deps): bump axios from 1.7.4 to 1.8.2 in the npm_and_yarn group across 1 directory (#271) build(deps): bump axios in the npm_and_yarn group across 1 directory Bumps the npm_and_yarn group with 1 update in the / directory: [axios](https://github.com/axios/axios). Updates `axios` from 1.7.4 to 1.8.2 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.7.4...v1.8.2) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- package-lock.json | 9 +++++---- package.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 62ac45c1d..db56a4529 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "documentation", "version": "1.0.0", "dependencies": { - "axios": "^1.7.4", + "axios": "^1.8.2", "lighthouse": "^12.2.2", "puppeteer": "^23.8.0" }, @@ -503,9 +503,10 @@ } }, "node_modules/axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.2.tgz", + "integrity": "sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", diff --git a/package.json b/package.json index a985837e1..6ef73422f 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "hugo-bin": "^0.111.3" }, "dependencies": { - "axios": "^1.7.4", + "axios": "^1.8.2", "lighthouse": "^12.2.2", "puppeteer": "^23.8.0" } From 6ea20d449408cec9cb2b70c460183e4efd772042 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 11:39:08 -0700 Subject: [PATCH 014/723] build(deps): bump github/codeql-action from 3.28.10 to 3.28.11 (#266) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.10 to 3.28.11. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d...6bb031afdd8eb862ea3fc1848194185e076637e5) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- .github/workflows/ossf_scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ossf_scorecard.yml b/.github/workflows/ossf_scorecard.yml index d79dd6956..ef9feab3c 100644 --- a/.github/workflows/ossf_scorecard.yml +++ b/.github/workflows/ossf_scorecard.yml @@ -56,6 +56,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: Upload SARIF results to code scanning - uses: github/codeql-action/upload-sarif@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10 + uses: github/codeql-action/upload-sarif@6bb031afdd8eb862ea3fc1848194185e076637e5 # v3.28.11 with: sarif_file: results.sarif From eb3e343045670d4e5da2b50399f5cf6cfd030260 Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Tue, 11 Mar 2025 13:24:21 -0700 Subject: [PATCH 015/723] Unpublished Global Server Load Balancing with Amazon Route 53 and NGINX Plus (#274) --- .../route-53-global-server-load-balancing.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md b/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md index b04f7f557..be57bb386 100644 --- a/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md +++ b/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md @@ -7,6 +7,8 @@ doctypes: title: Global Server Load Balancing with Amazon Route 53 and NGINX Plus toc: true weight: 300 +draft: true +noindex: true --- This deployment guide explains how to configure global server load balancing (GSLB) of traffic for web domains hosted in Amazon [Elastic Compute Cloud](https://aws.amazon.com/ec2/) (EC2). For high availability and improved performance, you set up multiple backend servers (web servers, application servers, or both) for a domain in two or more AWS regions. Within each region, NGINX Plus load balances traffic across the backend servers. From ffb25482caafd4a0a998dff4ab915a959b4bfa56 Mon Sep 17 00:00:00 2001 From: Jack Hickey <133868041+nginx-jack@users.noreply.github.com> Date: Wed, 12 Mar 2025 11:46:21 +0000 Subject: [PATCH 016/723] CICD: Change on target of labeler to fix permissions (#276) CICD: Change on target of labler to fix permissions --- .github/workflows/labeler.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 667025ada..975aad2c4 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -1,8 +1,7 @@ name: PR Labeler on: - pull_request: - types: [opened, synchronize, reopened] +- pull_request_target permissions: contents: read # Required to read the labeler.yml file From a706afacc5b5244729f88f07e1d505a6d7bc191c Mon Sep 17 00:00:00 2001 From: 65397 Date: Wed, 12 Mar 2025 11:48:02 +0000 Subject: [PATCH 017/723] Removed references to private registry (#269) Removed outdated references to private docker registry --- content/nim/deploy/kubernetes/deploy-using-helm.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/nim/deploy/kubernetes/deploy-using-helm.md b/content/nim/deploy/kubernetes/deploy-using-helm.md index 71eadbaa7..a6630b952 100644 --- a/content/nim/deploy/kubernetes/deploy-using-helm.md +++ b/content/nim/deploy/kubernetes/deploy-using-helm.md @@ -133,7 +133,6 @@ The `values.yaml` file customizes the Helm chart installation without modifying - In the `imagePullSecrets` section, add the credentials for your private Docker registry. - Change the version tag to the version of NGINX Instance Manager you would like to install. See "Install the chart" below for versions. - - Replace `` with your private Docker registry and port (if applicable). - If deploying on OpenShift, add the `openshift.enabled: true` setting. {{< see-also >}} For details on creating a secret, see Kubernetes [Pull an Image from a Private Registry](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/). {{}} @@ -344,7 +343,6 @@ The `values.yaml` file customizes the Helm chart installation without modifying - In the `imagePullSecrets` section, add the credentials for your private Docker registry. - Change the version tag to the version of NGINX Instance Manager you would like to install. See "Install the chart" below for versions. - - Replace `` with your private Docker registry and port (if applicable). {{< see-also >}} For details on creating a secret, see Kubernetes [Pull an Image from a Private Registry](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/). {{}} From dfc67ce8d5f2680fc2bd8917e99b1522db5f588b Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Wed, 12 Mar 2025 06:01:14 -0700 Subject: [PATCH 018/723] fix: remove unused ref to internal catalog (#270) fix: remove unused ref to internal catelog Co-authored-by: Alan Dooley --- archetypes/concept.md | 4 +--- archetypes/default.md | 4 +--- archetypes/tutorial.md | 4 +--- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/archetypes/concept.md b/archetypes/concept.md index df8ce0f50..328a4e9ea 100644 --- a/archetypes/concept.md +++ b/archetypes/concept.md @@ -10,8 +10,6 @@ type: concept # Intended for internal catalogue and search, case sensitive: # Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit product: -# Intended for internal catalogue -docs: "DOCS-000" --- [//]: # "These are Markdown comments to guide you through document structure. Remove them as you go, as well as any unnecessary sections." @@ -71,4 +69,4 @@ Starting from the of the diagram, you can see that is connect ## See also -[//]: # "Link to related documents, such as concepts, reference material or similar use cases." \ No newline at end of file +[//]: # "Link to related documents, such as concepts, reference material or similar use cases." diff --git a/archetypes/default.md b/archetypes/default.md index 6797a233c..707434ec0 100644 --- a/archetypes/default.md +++ b/archetypes/default.md @@ -10,8 +10,6 @@ type: how-to # Intended for internal catalogue and search, case sensitive: # Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit product: -# Intended for internal catalogue -docs: "DOCS-000" --- [//]: # "These are Markdown comments to guide you through document structure. Remove them as you go, as well as any unnecessary sections." @@ -87,4 +85,4 @@ To complete this guide, you will need the following prerequisites: ## See also -[//]: # "Link to related documents, such as concepts, reference material or similar use cases." \ No newline at end of file +[//]: # "Link to related documents, such as concepts, reference material or similar use cases." diff --git a/archetypes/tutorial.md b/archetypes/tutorial.md index eb16ada82..794d3f9bd 100644 --- a/archetypes/tutorial.md +++ b/archetypes/tutorial.md @@ -10,8 +10,6 @@ type: tutorial # Intended for internal catalogue and search, case sensitive: # Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit product: -# Intended for internal catalogue -docs: "DOCS-000" --- [//]: # "These are Markdown comments to guide you through document structure. Remove them as you go, as well as any unnecessary sections." @@ -119,4 +117,4 @@ To verify the creation of , you can also inspect information about it ## See also -[//]: # "Link to related documents, such as concepts, reference material or similar use cases." \ No newline at end of file +[//]: # "Link to related documents, such as concepts, reference material or similar use cases." From 4984bc9b9aeb441ab1029e093694f40badd12a57 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Wed, 12 Mar 2025 06:07:37 -0700 Subject: [PATCH 019/723] Removed redundant call-out shortcode (#277) chore: Removed redundant call-out shortcode --- layouts/shortcodes/call-out.html | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 layouts/shortcodes/call-out.html diff --git a/layouts/shortcodes/call-out.html b/layouts/shortcodes/call-out.html deleted file mode 100644 index 9148b4b3a..000000000 --- a/layouts/shortcodes/call-out.html +++ /dev/null @@ -1,14 +0,0 @@ - -
-
- - {{ with .Get 2 }} - - - {{ end }} - - {{ .Get 1 }}
- - {{ .Inner | markdownify }} -
-
\ No newline at end of file From cac2c21f64832d96bfa8478e05eada453176011c Mon Sep 17 00:00:00 2001 From: Alan Dooley Date: Thu, 13 Mar 2025 12:39:29 +0000 Subject: [PATCH 020/723] feat: Remove broken link to Yioop search engine (#281) This commit removes the link to the Yioop search engine, which is currently offline. Our pipeline automatically checks for broken links, and has been firing warnings about this. By changing the link to plain text, readers still retain the context that the associated bot is trusted. --- content/includes/nap-waf/config/common/anti-automation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/includes/nap-waf/config/common/anti-automation.md b/content/includes/nap-waf/config/common/anti-automation.md index 1a445fe0f..229037e39 100644 --- a/content/includes/nap-waf/config/common/anti-automation.md +++ b/content/includes/nap-waf/config/common/anti-automation.md @@ -131,7 +131,7 @@ This is a list of the trusted bots that are currently part of the bot signatures |MojeekBot | [Mojeek search engine](https://www.mojeek.com/) | |Yahoo! Slurp | [Yahoo search engine](https://www.yahoo.com/) | |Yandex | [Yandex search engine](https://yandex.com/) | -|YioopBot | [Yioop search engine](https://www.yioop.com/) | +|YioopBot | Yioop search engine | {{}} From 4dd3142f121628a634cb1d9ea4fc23844ecca2a7 Mon Sep 17 00:00:00 2001 From: yar Date: Thu, 13 Mar 2025 15:05:30 +0000 Subject: [PATCH 021/723] Minor updates for NGINX OSS and Plus installation guides. (#283) * Updated versions in NGINX OSS Install Guide. * Updated unpriv install installation to match script. * Updated procedure of adding JWT in Install Guide. --- .../install/copy-jwt-to-etc-nginx-dir.md | 4 +- .../installing-nginx-open-source.md | 64 +++++++------- .../installing-nginx/installing-nginx-plus.md | 88 +++++++------------ 3 files changed, 65 insertions(+), 91 deletions(-) diff --git a/content/includes/nginx-plus/install/copy-jwt-to-etc-nginx-dir.md b/content/includes/nginx-plus/install/copy-jwt-to-etc-nginx-dir.md index 2e83bd0b5..c14190754 100644 --- a/content/includes/nginx-plus/install/copy-jwt-to-etc-nginx-dir.md +++ b/content/includes/nginx-plus/install/copy-jwt-to-etc-nginx-dir.md @@ -2,10 +2,8 @@ docs: --- -After downloading the JWT file, copy it to the **/etc/nginx/** directory and make sure it's named **license.jwt**: +Copy the downloaded JWT file to the **/etc/nginx/** directory and make sure it is named **license.jwt**: ```shell sudo cp .jwt /etc/nginx/license.jwt ``` - -Replace `.jwt` with the actual name of your downloaded JWT file. \ No newline at end of file diff --git a/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md b/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md index 1ab54b023..c2c01998d 100644 --- a/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md +++ b/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md @@ -47,9 +47,8 @@ NGINX, Inc. provides packages for the following CentOS, Oracle Linux, RHEL, Alm |Version | Supported Platforms | | ---| --- | -|7.4+ | x86_64, aarch64/arm64 | -|8x | x86_64, aarch64/arm64, s390x | -|9x | x86_64, aarch64/arm64, s390x | +|8x | x86_64, aarch64/arm64 | +|9x | x86_64, aarch64/arm64 | {{}} @@ -155,7 +154,7 @@ The package can be installed from: ```shell curl -I 127.0.0.1 HTTP/1.1 200 OK - Server: nginx/1.27.0 + Server: nginx/1.27.4 ``` @@ -284,7 +283,7 @@ The package can be installed from: ```shell curl -I 127.0.0.1 HTTP/1.1 200 OK - Server: nginx/1.27.0 + Server: nginx/1.27.4 ``` @@ -299,8 +298,8 @@ NGINX provides packages for the following Ubuntu operating systems: | ---| ---| --- | |20.04 | focal | x86_64, aarch64/arm64, s390x | |22.04 | jammy | x86_64, aarch64/arm64, s390x | -|22.10 | kinetic | x86_64, aarch64/arm64 | -|23.04 | lunar | x86_64, aarch64/arm64 | +|24.04 | noble | x86_64, aarch64/arm64 | +|24.10 | oracular | x86_64, aarch64/arm64 | {{}} @@ -412,7 +411,7 @@ The package can be installed from: ```shell curl -I 127.0.0.1 HTTP/1.1 200 OK - Server: nginx/1.27.0 + Server: nginx/1.27.4 ``` @@ -425,7 +424,6 @@ NGINX provides packages for SUSE Linux Enterprise Server: |Version | Supported Platforms | | ---| --- | -|SLES 12 SP5+ | x86_64 | |SLES 15 SP2+ | x86_64 | {{}} @@ -508,10 +506,10 @@ NGINX provides packages for the following Alpine Linux operating systems: |Version | Supported Platforms | | ---| --- | -|3.15 | x86_64, aarch64/arm64 | -|3.16 | x86_64, aarch64/arm64 | -|3.17 | x86_64, aarch64/arm64 | |3.18 | x86_64, aarch64/arm64 | +|3.19 | x86_64, aarch64/arm64 | +|3.20 | x86_64, aarch64/arm64 | +|3.21 | x86_64, aarch64/arm64 | {{}} @@ -689,9 +687,9 @@ Prior to compiling NGINX Open Source from source, you need to install librarie - [PCRE](http://pcre.org/) – Supports regular expressions. Required by the NGINX [Core](https://nginx.org/en/docs/ngx_core_module.html) and [Rewrite](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html) modules. ```shell - wget github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.gz - tar -zxf pcre2-10.42.tar.gz - cd pcre2-10.42 + wget github.com/PCRE2Project/pcre2/releases/download/pcre2-10.43/pcre2-10.43.tar.gz + tar -zxf pcre2-10.43.tar.gz + cd pcre2-10.43 ./configure make sudo make install @@ -700,9 +698,9 @@ Prior to compiling NGINX Open Source from source, you need to install librarie - [zlib](http://www.zlib.net/) – Supports header compression. Required by the NGINX [Gzip](https://nginx.org/en/docs/http/ngx_http_gzip_module.html) module. ```shell - wget http://zlib.net/zlib-1.2.13.tar.gz - tar -zxf zlib-1.2.13.tar.gz - cd zlib-1.2.13 + wget http://zlib.net/zlib-1.3.1.tar.gz + tar -zxf zlib-1.3.1.tar.gz + cd zlib-1.3.1 ./configure make sudo make install @@ -711,9 +709,9 @@ Prior to compiling NGINX Open Source from source, you need to install librarie - [OpenSSL](https://www.openssl.org/) – Supports the HTTPS protocol. Required by the NGINX [SSL](https://nginx.org/en/docs/http/ngx_http_ssl_module.html) module and others. ```shell - wget http://www.openssl.org/source/openssl-1.1.1v.tar.gz - tar -zxf openssl-1.1.1v.tar.gz - cd openssl-1.1.1v + wget http://www.openssl.org/source/openssl-3.0.13.tar.gz + tar -zxf openssl-3.0.13.tar.gz + cd openssl-3.0.13 ./Configure darwin64-x86_64-cc --prefix=/usr make sudo make install @@ -727,17 +725,17 @@ Download the source files for both the stable and mainline versions from [**ngin To download and unpack the source for the latest _mainline_ version, run: ```shell -wget https://nginx.org/download/nginx-1.27.0.tar.gz -tar zxf nginx-1.27.0.tar.gz -cd nginx-1.27.0 +wget https://nginx.org/download/nginx-1.27.4.tar.gz +tar zxf nginx-1.27.4.tar.gz +cd nginx-1.27.4 ``` To download and unpack source files for the latest _stable_ version, run: ```shell -wget https://nginx.org/download/nginx-1.26.1.tar.gz -tar zxf nginx-1.26.1.tar.gz -cd nginx-1.26.1 +wget https://nginx.org/download/nginx-1.26.3.tar.gz +tar zxf nginx-1.26.3.tar.gz +cd nginx-1.26.3 ``` @@ -752,8 +750,8 @@ An example of options to the `configure` script (should be typed as a single lin --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid ---with-pcre=../pcre2-10.42 ---with-zlib=../zlib-1.2.13 +--with-pcre=../pcre2-10.43 +--with-zlib=../zlib-1.3.1 --with-http_ssl_module --with-stream --with-mail=dynamic @@ -841,8 +839,8 @@ If you do not need a module that is built by default, you can disable it by nami --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-stream ---with-pcre=../pcre2-10.42 ---with-zlib=../zlib-1.2.13 +--with-pcre=../pcre2-10.43 +--with-zlib=../zlib-1.3.1 --without-http_empty_gif_module ``` @@ -896,8 +894,8 @@ An example of the `configure` command that includes nondefault modules (should b --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid ---with-pcre=../pcre2-10.42 ---with-zlib=../zlib-1.2.13 +--with-pcre=../pcre2-10.43 +--with-zlib=../zlib-1.3.1 --with-http_ssl_module --with-stream --with-mail diff --git a/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md b/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md index 6695f2d2b..051696147 100644 --- a/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md +++ b/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md @@ -26,10 +26,6 @@ This article explains how to install NGINX Plus on different operating systems, 1. {{< include "licensing-and-reporting/download-jwt-crt-from-myf5.md" >}} -1. {{< include "nginx-plus/install/create-dir-for-jwt.md" >}} - -1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} - 1. {{< include "nginx-plus/install/install-ca-certificates-dependency-dnf.md" >}} 1. {{< include "nginx-plus/install/create-dir-for-crt-key.md" >}} @@ -44,6 +40,8 @@ This article explains how to install NGINX Plus on different operating systems, 1. {{< include "nginx-plus/install/install-nginx-plus-package-dnf.md" >}} +1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} + 1. {{< include "nginx-plus/install/check-nginx-binary-version.md" >}} 1. {{< include "nginx-plus/install/configure-usage-reporting.md" >}} @@ -58,10 +56,6 @@ This article explains how to install NGINX Plus on different operating systems, 1. {{< include "licensing-and-reporting/download-jwt-crt-from-myf5.md" >}} -1. {{< include "nginx-plus/install/create-dir-for-jwt.md" >}} - -1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} - 1. {{< include "nginx-plus/install/install-ca-certificates-dependency-yum.md" >}} 1. {{< include "nginx-plus/install/create-dir-for-crt-key.md" >}} @@ -76,6 +70,8 @@ This article explains how to install NGINX Plus on different operating systems, 1. {{< include "nginx-plus/install/install-nginx-plus-package-yum.md" >}} +1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} + 1. {{< include "nginx-plus/install/check-nginx-binary-version.md" >}} 1. {{< include "nginx-plus/install/configure-usage-reporting.md" >}} @@ -130,10 +126,6 @@ CentOS 7.4, RHEL 7.4, and Oracle Linux 7.4 are deprecated as of NGINX Plus Relea 1. {{< include "licensing-and-reporting/download-jwt-crt-from-myf5.md" >}} -1. {{< include "nginx-plus/install/create-dir-for-jwt.md" >}} - -1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} - 1. {{< include "nginx-plus/install/install-ca-certificates-dependency-dnf.md" >}} 1. {{< include "nginx-plus/install/create-dir-for-crt-key.md" >}} @@ -153,6 +145,8 @@ CentOS 7.4, RHEL 7.4, and Oracle Linux 7.4 are deprecated as of NGINX Plus Relea 1. {{< include "nginx-plus/install/install-nginx-plus-package-dnf.md" >}} +1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} + 1. {{< include "nginx-plus/install/enable-nginx-service-at-boot.md" >}} 1. {{< include "nginx-plus/install/check-nginx-binary-version.md" >}} @@ -169,10 +163,6 @@ CentOS 7.4, RHEL 7.4, and Oracle Linux 7.4 are deprecated as of NGINX Plus Relea 1. {{< include "licensing-and-reporting/download-jwt-crt-from-myf5.md" >}} -1. {{< include "nginx-plus/install/create-dir-for-jwt.md" >}} - -1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} - 1. {{< include "nginx-plus/install/install-ca-certificates-dependency-dnf.md" >}} 1. {{< include "nginx-plus/install/create-dir-for-crt-key.md" >}} @@ -192,6 +182,8 @@ CentOS 7.4, RHEL 7.4, and Oracle Linux 7.4 are deprecated as of NGINX Plus Relea 1. {{< include "nginx-plus/install/install-nginx-plus-package-dnf.md" >}} +1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} + 1. {{< include "nginx-plus/install/enable-nginx-service-at-boot.md" >}} 1. {{< include "nginx-plus/install/check-nginx-binary-version.md" >}} @@ -210,10 +202,6 @@ NGINX Plus can be installed on the following versions of Debian or Ubuntu: 1. {{< include "licensing-and-reporting/download-jwt-crt-from-myf5.md" >}} -1. {{< include "nginx-plus/install/create-dir-for-jwt.md" >}} - -1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} - 1. {{< include "nginx-plus/install/create-dir-for-crt-key.md" >}} 1. {{< include "nginx-plus/install/copy-crt-and-key.md" >}} @@ -282,6 +270,8 @@ NGINX Plus can be installed on the following versions of Debian or Ubuntu: sudo apt install -y nginx-plus ``` +1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} + 1. {{< include "nginx-plus/install/check-nginx-binary-version.md" >}} 1. {{< include "nginx-plus/install/configure-usage-reporting.md" >}} @@ -296,19 +286,6 @@ NGINX Plus can be installed on the following versions of Debian or Ubuntu: 1. {{< include "licensing-and-reporting/download-jwt-crt-from-myf5.md" >}} -1. Create the **/usr/local/etc/nginx/** directory for the JWT license file: - - ```shell - sudo mkdir -p /usr/local/etc/nginx - cd /usr/local/etc/nginx - ``` - -1. Rename the downloaded JWT file to **license.jwt** and copy it to the **/usr/local/etc/nginx** directory: - - ```shell - sudo cp license.jwt /usr/local/etc/nginx - ``` - 1. Install the prerequisite **ca_root_nss** package: ```shell @@ -340,6 +317,12 @@ NGINX Plus can be installed on the following versions of Debian or Ubuntu: sudo pkg install nginx-plus ``` +1. Copy the downloaded JWT file to the **/usr/local/etc/nginx** directory and make sure it is named **license.jwt**: + + ```shell + sudo cp license.jwt /usr/local/etc/nginx + ``` + 1. {{< include "nginx-plus/install/check-nginx-binary-version.md" >}} 1. {{< include "nginx-plus/install/configure-usage-reporting.md" >}} @@ -354,10 +337,6 @@ NGINX Plus can be installed on the following versions of Debian or Ubuntu: 1. {{< include "licensing-and-reporting/download-jwt-crt-from-myf5.md" >}} -1. {{< include "nginx-plus/install/create-dir-for-jwt.md" >}} - -1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} - 1. {{< include "nginx-plus/install/create-dir-for-crt-key.md" >}} 1. {{< include "nginx-plus/install/copy-crt-and-key.md" >}} @@ -399,6 +378,8 @@ NGINX Plus can be installed on the following versions of Debian or Ubuntu: zypper install nginx-plus ``` +1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} + 1. {{< include "nginx-plus/install/check-nginx-binary-version.md" >}} 1. {{< include "nginx-plus/install/configure-usage-reporting.md" >}} @@ -413,10 +394,6 @@ NGINX Plus can be installed on the following versions of Debian or Ubuntu: 1. {{< include "licensing-and-reporting/download-jwt-crt-from-myf5.md" >}} -1. {{< include "nginx-plus/install/create-dir-for-jwt.md" >}} - -1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} - 1. Upload **nginx-repo.key** to **/etc/apk/cert.key** and **nginx-repo.crt** to **/etc/apk/cert.pem**. Ensure these files contain only the specific key and certificate — Alpine Linux doesn't support mixing client certificates for multiple repositories. 1. Put the NGINX signing public key in the **/etc/apk/keys** directory: @@ -444,13 +421,14 @@ NGINX Plus can be installed on the following versions of Debian or Ubuntu: sudo apk add nginx-plus ``` +1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} + 1. {{< include "nginx-plus/install/check-nginx-binary-version.md" >}} 1. {{< include "nginx-plus/install/configure-usage-reporting.md" >}} 1. {{< include "nginx-plus/install/install-nginx-agent-for-nim.md" >}} - ## Install Dynamically Loadable Modules {#install_modules} NGINX Plus functionality can be extended with dynamically loadable modules that are not included in the prebuilt packages: @@ -637,7 +615,7 @@ As a workaround, in such environments NGINX Plus can be installed with a specia - Makes a backup copy of the configuration directory -- Has an option to upgrade an existing unprivileged installation of NGINX Plus +- Provides an option to upgrade an existing unprivileged installation of NGINX Plus Comparing to a standard installation of NGINX Plus, an unprivileged installation has certain limitations and restrictions: @@ -645,7 +623,7 @@ Comparing to a standard installation of NGINX Plus, an unprivileged installatio - The script is not intended to replace your operating system's package manager and does not allow for the installation of any software other than NGINX Plus and its modules. Modifications to the script for other installations are not covered by the support program. -- NGINX Plus will not start automatically, so, you must add custom `init` script/`systemd`unit file for each unprivileged installation on the host. +- NGINX Plus will not start automatically, so, you must add a custom `init` script or a `systemd` unit file for each unprivileged installation on the host. - all dependencies and libraries required by the NGINX Plus binary and its modules are not installed automatically and should be checked and installed manually. @@ -662,6 +640,10 @@ Before starting the unprivileged installation, make sure you have all the prereq To perform an unprivileged installation of NGINX Plus: +1. {{< include "licensing-and-reporting/download-jwt-crt-from-myf5.md" >}} + +1. Ensure that the downloaded JWT license file is named **license.jwt**. + 1. Obtain the script: ```shell @@ -674,14 +656,12 @@ To perform an unprivileged installation of NGINX Plus: chmod +x ngxunprivinst.sh ``` -1. Download NGINX Plus and its module packages for your operating system. The ``, `` and `` are your NGINX Plus certificate, private key, and JWT license obtained from [MyF5 Customer Portal](https://account.f5.com/myf5/): +1. Download NGINX Plus and its module packages for your operating system. The `` and `` are your NGINX Plus certificate and a private key required to access the NGINX Plus repo: ```shell - ./ngxunprivinst.sh fetch -c -k -j + ./ngxunprivinst.sh fetch -c -k ``` - {{< note >}} Starting from [NGINX Plus Release 33]({{< ref "nginx/releases.md#r33" >}}), a JWT license file (``) is required for each NGINX Plus instance. For more information, see [About Subscription Licenses]({{< ref "/solutions/about-subscription-licenses.md">}}). {{< /note >}} - If you need to install a particular version of NGINX Plus: - first, list all available NGINX Plus versions from the repository: @@ -690,13 +670,13 @@ To perform an unprivileged installation of NGINX Plus: ./ngxunprivinst.sh list -c -k ``` - - then specify a particular NGINX Plus version with the `-v` option: + - then specify a particular NGINX Plus version with the `-v` parameter: ```shell ./ngxunprivinst.sh fetch -c -k -v ``` -1. Extract the downloaded packages to the provided NGINX Plus prefix ``. An optional `-y` option will overwrite an existing installation (if any). Starting from version R33, the `-j` option that specifies the `` is mandatory: +1. Extract the downloaded packages to the program prefix `` specified by the `-p` parameter and specify the **license.jwt** `` with the `-j` parameter. The optional `-y` parameter allows overwriting an existing installation: ```shell ./ngxunprivinst.sh install [-y] -p -j @@ -708,7 +688,7 @@ To perform an unprivileged installation of NGINX Plus: /usr/sbin/nginx -p /etc/nginx -c /etc/nginx/conf.d ``` -With this script, you can also upgrade an existing unprivileged installation of NGINX Plus in the provided . An optional `-y` option performs a forced upgrade without any confirmation: +With this script, you can also upgrade an existing unprivileged installation of NGINX Plus in the provided ``. The optional `-y` parameter performs a forced upgrade without any confirmation: ```shell ./ngxunprivinst.sh upgrade [-y] -p @@ -732,10 +712,6 @@ To install NGINX Plus offline, you will need a machine connected to the Internet 1. Make sure you’ve downloaded the SSL certificate, private key, and the JWT file required for your NGINX Plus subscription. You can find these files in the MyF5 Customer Portal. For details on how to obtain these files, see [Step 1: Obtaining files on the machine connected to the Internet](#offline-obtain-files). -1. {{< include "nginx-plus/install/create-dir-for-jwt.md" >}} - -1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} - 1. {{< include "nginx-plus/install/create-dir-for-crt-key.md" >}} 1. {{< include "nginx-plus/install/copy-crt-and-key.md" >}} @@ -766,6 +742,8 @@ To install NGINX Plus offline, you will need a machine connected to the Internet rpm -ivh ``` +1. {{< include "nginx-plus/install/copy-jwt-to-etc-nginx-dir.md" >}} + 1. {{< include "nginx-plus/install/check-nginx-binary-version.md" >}} 1. Install NGINX Instance Manager 2.18 or later in your local environment to enable usage reporting, which is mandatory since R33. For more information, see [Disconnected environments](https://docs.nginx.com/nginx-instance-manager/disconnected/) and [About Subscription Licenses]({{< ref "/solutions/about-subscription-licenses.md">}}). From b78bff70ec1105db724342b5c15afa30acaee8ef Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Thu, 13 Mar 2025 11:02:24 -0700 Subject: [PATCH 022/723] Update call-out shortcode usage in Contributing (#286) * chore: Update call-out shortcode usage in Contributing * Update with suggestion Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- CONTRIBUTING_DOCS.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING_DOCS.md b/CONTRIBUTING_DOCS.md index 2947cc8bd..e8b50661e 100644 --- a/CONTRIBUTING_DOCS.md +++ b/CONTRIBUTING_DOCS.md @@ -133,12 +133,14 @@ Supported callouts: - `caution` - `warning` -You can also create custom callouts using the `call-out` shortcode `{{< call-out "type" "header" "font-awesome icon >}}`. For example: +You can also create custom callouts using the `call-out` shortcode `{{< call-out "type position" "header" "font-awesome icon >}}`. For example: ```md -{{}} +{{}} ``` +By default, all custom callouts are included inline, unless you add `side-callout` which places the callout to the right of the content. + Here are some other shortcodes: - `fa`: Inserts a Font Awesome icon From a3870f7bb063e4c401bd415b965fa05ae2739168 Mon Sep 17 00:00:00 2001 From: Alex Russell <91080557+arussellf5@users.noreply.github.com> Date: Fri, 14 Mar 2025 02:57:17 -0600 Subject: [PATCH 023/723] NLB-5919 Inform users of the new nginxaas.capacity.percentage metric (#247) --- content/nginxaas-azure/changelog.md | 6 ++ .../monitoring/metrics-catalog.md | 7 ++- content/nginxaas-azure/quickstart/scaling.md | 57 ++++++++++--------- 3 files changed, 41 insertions(+), 29 deletions(-) diff --git a/content/nginxaas-azure/changelog.md b/content/nginxaas-azure/changelog.md index 0db135ccb..c9cb1c6cb 100644 --- a/content/nginxaas-azure/changelog.md +++ b/content/nginxaas-azure/changelog.md @@ -13,6 +13,12 @@ To see a list of currently active issues, visit the [Known issues]({{< relref "/ To review older entries, visit the [Changelog archive]({{< relref "/nginxaas-azure/changelog-archive" >}}) section. +## March 13, 2025 + +- {{% icon-resolved %}} **Percentage capacity metric** + + We’re introducing the new percentage capacity metric, `nginxaas.capacity.percentage`, which provides a more accurate estimate of your deployment's load compared to the previous consumed NCUs metric. The new capacity metric expresses the capacity consumed as a percentage of the deployment's total capacity. Please modify any alerts and monitoring on deployment performance to use the new percentage capacity metric. The consumed NCUs metric is being deprecated and will be removed in the near future. Please see [Scaling guidance]({{< relref "/nginxaas-azure/quickstart/scaling.md">}}) for more details. + ## March 5, 2025 - {{% icon-info %}} **Retirement of Standard Plan** diff --git a/content/nginxaas-azure/monitoring/metrics-catalog.md b/content/nginxaas-azure/monitoring/metrics-catalog.md index f6b87c232..ace227062 100644 --- a/content/nginxaas-azure/monitoring/metrics-catalog.md +++ b/content/nginxaas-azure/monitoring/metrics-catalog.md @@ -37,13 +37,15 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | --------------------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | | ncu.provisioned | | count | The number of successfully provisioned NCUs during the aggregation interval. During scaling events, this may lag behind `ncu.requested` as the system works to achieve the request. Available for Standard plan(s) only. | deployment | | ncu.requested | | count | The requested number of NCUs during the aggregation interval. Describes the goal state of the system. Available for Standard plans(s) only. | deployment | -| ncu.consumed | | count | The estimated number of NCUs used to handle the current traffic. This may burst above the `ncu.provisioned`. This can be used to guide scaling out or in to match your workload. See [Scaling Guidance]({{< relref "/nginxaas-azure/quickstart/scaling.md#iterative-approach" >}}) for details. Available for Standard plan(s) only. | deployment | +| nginxaas.capacity.percentage | | count | The percentage of the deployment's total capacity being used. This can be used to guide scaling your workload. See [Scaling Guidance]({{< relref "/nginxaas-azure/quickstart/scaling.md#iterative-approach" >}}) for details. Available for Standard plan(s) only. | deployment | | system.worker_connections | pid process_name | count | The number of nginx worker connections used on the dataplane. This metric is one of the factors which determines the deployment's consumed NCU value. | deployment | | nginxaas.certificates | name status | count | The number of certificates added to the NGINXaaS deployment dimensioned by the name of the certificate and its status. Refer to [Certificate Health]({{< relref "/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md#monitor-certificates" >}}) to learn more about the status dimension. | deployment | | nginxaas.maxmind | status | count | The status of any MaxMind license in use for downloading geoip2 databases. Refer to [License Health]({{< relref "/nginxaas-azure/quickstart/geoip2.md#monitoring" >}}) to learn more about the status dimension. | deployment | {{}} +{{< warning >}}The `ncu.consumed` metric is now deprecated and is on the path to retirement. Please change any alerting on this metric to use the new Capacity Percentage metric.{{< /warning >}} + ### NGINX connections statistics {{}} @@ -225,6 +227,9 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | system.interface.packets_sent| interface | count | System Interface Packets Sent. | deployment | | system.interface.total_bytes| interface | count | System Interface Total Bytes, sum of bytes_sent and bytes_rcvd. | deployment | | system.interface.egress_throughput| interface | count | System Interface Egress Throughput, i.e. bytes sent per second| deployment | +| system.listener_backlog.max| listen_addr, file_desc | count | The fullness (expressed as a fraction) of the fullest backlog queue. | deployment | +| system.listener_backlog.length| listen_address, file_desc | count | The number of items in a specific backlog queue, labelled by listen address. | deployment | +| system.listener_backlog.queue_limit| listen_address, file_desc | count | The capacity of a specific backlog queue, labelled by listen address. | deployment | {{}} diff --git a/content/nginxaas-azure/quickstart/scaling.md b/content/nginxaas-azure/quickstart/scaling.md index 2a98d1a7b..31446ed7e 100644 --- a/content/nginxaas-azure/quickstart/scaling.md +++ b/content/nginxaas-azure/quickstart/scaling.md @@ -15,12 +15,12 @@ An NGINXaaS deployment can be scaled out to increase the capacity (increasing th In this document you will learn: -* What an NGINX Capacity Unit (NCU) is -* How to manually scale your deployment -* How to enable autoscaling on your deployment -* What capacity restrictions apply for your Marketplace plan -* How to monitor capacity usage -* How to estimate the amount of capacity to provision +- What an NGINX Capacity Unit (NCU) is +- How to manually scale your deployment +- How to enable autoscaling on your deployment +- What capacity restrictions apply for your Marketplace plan +- How to monitor capacity usage +- How to estimate the amount of capacity to provision ## NGINX Capacity Unit (NCU) @@ -50,11 +50,11 @@ To enable autoscaling using the Azure Portal, ### Scaling rules -NGINXaaS automatically adjusts the number of NCUs based on "scaling rules." A scaling rule defines when to scale, what direction to scale, and how much to scale. NGINXaaS will evaluate the following scaling rules, in order, based on consumed and provisioned NCU metrics. +NGINXaaS automatically adjusts the number of NCUs based on "scaling rules." A scaling rule defines when to scale, what direction to scale, and how much to scale. NGINXaaS will evaluate the following scaling rules, in order, based on the percentage capacity consumed metric and the provisioned NCU metric. - - *Moderate Increase Rule*: Over the last 5 minutes, if the average consumed NCUs is greater than or equal to 70% of the average provisioned NCUs, increase capacity by 20%. - - *Urgent Increase Rule*: Over the last minute, if the number of consumed NCUs is greater than or equal to 85% of the number of provisioned NCUs, increase capacity by 20%. - - *Decrease Rule*: Over the last 10 minutes, if the average consumed NCUs is less than or equal to 60% of the average provisioned NCUs, decrease capacity by 10%. +- *Moderate Increase Rule*: Over the last 5 minutes, if the average capacity consumed is greater than or equal to 70% of the average provisioned NCUs, increase capacity by 20%. +- *Urgent Increase Rule*: Over the last minute, if the capacity consumed is greater than or equal to 85% of the number of provisioned NCUs, increase capacity by 20%. +- *Decrease Rule*: Over the last 10 minutes, if the average capacity consumed is less than or equal to 60% of the average provisioned NCUs, decrease capacity by 10%. To avoid creating a loop between scaling rules, NGINXaaS will not apply a scaling rule if it predicts that doing so would immediately trigger an opposing rule. For example, if the the "Urgent Increase Rule" is triggered due to a sudden spike in traffic, but the new capacity will cause the "Decrease Rule" to trigger immediately after, the autoscaler will not increase capacity. This prevents the deployment's capacity from increasing and decreasing erratically. @@ -63,6 +63,7 @@ To avoid creating a loop between scaling rules, NGINXaaS will not apply a scalin The following table outlines constraints on the specified capacity based on the chosen Marketplace plan, including the minimum capacity required for a deployment to be highly available, the maximum capacity, and what value the capacity must be a multiple of. By default, an NGINXaaS for Azure deployment will be created with the corresponding minimum capacity. {{}} + | **Marketplace Plan** | **Minimum Capacity (NCUs)** | **Maximum Capacity (NCUs)** | **Multiple of** | |------------------------------|-----------------------------|-----------------------------|----------------------------| | Standard plan(s) | 10 | 500 | 10 | @@ -78,51 +79,51 @@ The following table outlines constraints on the specified capacity based on the NGINXaaS provides metrics for visibility of the current and historical capacity values. These metrics, in the `NGINXaaS Statistics` namespace, include: -* NCUs Requested: `ncu.requested` -- how many NCUs have been requested using the API. This is the goal state of the system at that point in time. -* NCUs Provisioned: `ncu.provisioned` -- how many NCUs have been successfully provisioned by the service. - * This is the basis for [billing]({{< relref "/nginxaas-azure/billing/overview.md" >}}). - * This may differ from `ncu.requested` temporarily during scale-out/scale-in events or during automatic remediation for a hardware failure. -* NCUs Consumed: `ncu.consumed` -- how many NCUs the current workload is using. - * If this is under 60% of the provisioned capacity, consider scaling in to reduce costs. If this is over 70% of the provisioned capacity, consider scaling out; otherwise, requests may fail or take longer than expected. Alternatively, enable autoscaling, so your deployment can automatically scale based on the consumed and provisioned capacity. - * This value may burst higher than `ncu.requested` due to variation in provisioned hardware. You will still only be billed for the minimum of `ncu.requested` and `ncu.provisioned`. +- NCUs Requested: `ncu.requested` -- how many NCUs have been requested using the API. This is the goal state of the system at that point in time. +- NCUs Provisioned: `ncu.provisioned` -- how many NCUs have been successfully provisioned by the service. + - This is the basis for [billing]({{< relref "/nginxaas-azure/billing/overview.md" >}}). + - This may differ from `ncu.requested` temporarily during scale-out/scale-in events or during automatic remediation for a hardware failure. +- Capacity Percentage: `nginxaas.capacity.percentage` -- the percentage of the current workload's total capacity that is being used. + - If this is over 70%, consider scaling out; otherwise, requests may fail or take longer than expected. Alternatively, enable autoscaling, so your deployment can automatically scale based on the amount of capacity consumed. See the [Metrics Catalog]({{< relref "/nginxaas-azure/monitoring/metrics-catalog.md" >}}) for a reference of all metrics. {{< note >}}These metrics aren't visible unless enabled, see how to [Enable Monitoring]({{< relref "/nginxaas-azure/monitoring/enable-monitoring.md" >}}) for details.{{< /note >}} +{{< warning >}}The `ncu.consumed` metric is now deprecated and is on the path to retirement. Please change any alerting on this metric to use the new Capacity Percentage metric.{{< /warning >}} ## Estimating how many NCUs to provision To calculate how many NCUs to provision, take the highest value across the parameters that make up an NCU: -* CPU -* Bandwidth -* Concurrent connections +- CPU +- Bandwidth +- Concurrent connections Example 1: "I need to support 2,000 concurrent connections but only 4 Mbps of traffic. I need 52 ACUs." You would need `Max(52/20, 4/60, 2000/400)` = `Max(2.6, 0.07, 5)` = At least 5 NCUs. Example 2: "I don't know any of these yet!" Either start with the minimum and [adjust capacity](#adjusting-capacity) with the [iterative approach](#iterative-approach) described below, or [enable autoscaling](#autoscaling). -In addition to the maximum capacity needed, we recommend adding a 10% to 20% buffer of additional NCUs to account for unexpected spikes in traffic. Monitor the [NCUs Consumed metric](#metrics) over time to determine your peak usage levels and adjust your requested capacity accordingly. +In addition to the maximum capacity needed, we recommend adding a 10% to 20% buffer of additional capacity to account for unexpected spikes in traffic. Monitor the [Percentage Capacity Metric](#metrics) over time to determine your peak usage levels and adjust your requested capacity accordingly. ### Iterative approach 1. Make an estimate by either: - * using the [Usage and Cost Estimator]({{< relref "/nginxaas-azure/billing/usage-and-cost-estimator.md" >}}) - * compare to a [reference workload](#reference-workloads) -2. Observe the `ncu.consumed` [metric](#metrics) in Azure Monitor of your workload + - using the [Usage and Cost Estimator]({{< relref "/nginxaas-azure/billing/usage-and-cost-estimator.md" >}}) + - compare to a [reference workload](#reference-workloads) +2. Observe the `nginxaas.capacity.percentage` [metric](#metrics) in Azure Monitor of your workload 3. Decide what headroom factor you wish to have -4. Multiply the headroom factor by the consumed NCUs to get the target NCUs. +4. Multiply the headroom factor by the provisioned NCUs to get the target NCUs. 5. [Adjust capacity](#adjusting-capacity) to the target NCUs 6. repeat from step 2 -- it is always good to check back after making a change *Example*: 1. I am really unsure what size I needed so I just specified the default capacity, `20NCUs`. -2. I observe that my `ncu.consumed` is currently at `18NCUs`. +2. I observe that my `nginxaas.capacity.percentage` is currently at `90%`. 3. This is early morning, traffic. I think midday traffic could be 3x what it is now. -4. `18 * 3 = 54` is my target capacity. +4. `90% * 3 = 270%. 2.7 * 20 NCUs = 54 NCUs` 54 NCUs is my target capacity. 5. I can see that I need to scale by multiples of 10 so I'm going to scale out to `60NCUs`. -6. At midday I can see that I overestimated the traffic I would be getting and it was still a busy day. We peaked at `41NCUs`, let me scale in to `50NCUs` to reduce my cost. +6. At midday I can see that I overestimated the traffic I would be getting and it was still a busy day. We peaked at `68%` of capacity, let me scale in to `50NCUs` to match the workload. ### Reference workloads From ac54abb550113e3cc0ed781935f42199d90147f4 Mon Sep 17 00:00:00 2001 From: Tim Straley <42082701+tstraley@users.noreply.github.com> Date: Fri, 14 Mar 2025 08:22:33 -0600 Subject: [PATCH 024/723] Update and clarify NGINX One RBAC docs (#265) * Update and clarify NGINX One RBAC docs --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- content/nginx-one/rbac/rbac-api.md | 12 ++++++------ content/nginx-one/rbac/roles.md | 7 ++++--- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/content/nginx-one/rbac/rbac-api.md b/content/nginx-one/rbac/rbac-api.md index a11f6d3c9..9b6e2127b 100644 --- a/content/nginx-one/rbac/rbac-api.md +++ b/content/nginx-one/rbac/rbac-api.md @@ -7,15 +7,15 @@ product: NGINX One docs: DOCS-000 --- -Beyond [Default roles]({{< relref "/nginx-one/rbac/roles.md" >}}), you may need to set up custom roles. For convenience, we include a list of API groups that you could use to specify permissions for custom roles. - -These are not NGINX One APIs. +Beyond the [Default roles]({{< relref "/nginx-one/rbac/roles.md" >}}) for NGINX One Console access, you can create [custom roles](https://docs.cloud.f5.com/docs-v2/administration/how-tos/user-mgmt/roles#custom-roles) with more precisely defined access permissions. +You can assign custom roles to users or service accounts. You can associate these roles with specific namespaces, to help facilitate the principle of least privilege across your tenant. +For this use-case, we include a list of API groups that you can use to specify permissions for custom roles with more granular access controls to NGINX One Console APIs. ## F5 API groups for NGINX One -The following table lists the **[F5 XC roles](https://docs.cloud.f5.com/docs-v2/administration/how-tos/user-mgmt/roles)** that you can use. These are narrowly scoped API Groups that align with all the features and functionality within the NGINX One Console. These groups can help you create custom roles tailored to your specific needs. +The following table lists the available API groups that you can use to construct a Role. These are narrowly scoped API groups that align with all the features and functionality within the NGINX One Console. These groups can help you create custom roles tailored to your specific needs. -{{< note >}}If you create custom roles using the more granular API Groups, users may not have access until you add the corresponding API Groups to their roles.{{< /note >}} +{{< note >}}If you create custom roles using these API groups, users may not have access to all capabilities of the browser web portal.{{< /note >}} | API Group Name | Level of Access | Description | |-----------------------------------------|-----------------|-------------------------------------------------------------------------------------------------------------------------------| @@ -27,7 +27,7 @@ The following table lists the **[F5 XC roles](https://docs.cloud.f5.com/docs-v2/ | f5xc-nginx-one-custom-all-instances-manage | Write | View and delete all Instances. | | f5xc-nginx-one-custom-instance-manage | Write | View and edit Instance details. | | f5xc-nginx-one-custom-instance-read | Read | View Instance and configuration details. | -| f5xc-nginx-one-custom-certificate-manage | Write | View TSL/SSL certificate details. Create, update, and delete any managed certificates. | +| f5xc-nginx-one-custom-certificate-manage | Write | View TLS/SSL certificate details. Create, update, and delete any managed certificates. | | f5xc-nginx-one-custom-certificate-read | Read | View TLS/SSL certificates. | | f5xc-nginx-one-custom-all-certificates-manage | Write | View all TLS/SSL certificates. Delete managed certificates. | | f5xc-nginx-one-custom-data-plane-key-manage | Write | View, create, update, and delete any Data Plane Keys. Note: The actual Data Plane Key is shown _only_ when created. | diff --git a/content/nginx-one/rbac/roles.md b/content/nginx-one/rbac/roles.md index 760e98f42..6fc089a73 100644 --- a/content/nginx-one/rbac/roles.md +++ b/content/nginx-one/rbac/roles.md @@ -13,13 +13,14 @@ We provide three default **[roles](https://docs.cloud.f5.com/docs-v2/administrat ### Admin -The Admin role, identified as f5xc-nginx-one-admin, provides full read and write access to all endpoints and features within the NGINX One Console. +The Admin role, identified as `f5xc-nginx-one-admin`, provides full read and write access to all endpoints and features within the NGINX One Console. +It also supports RBAC for related XC services, as described in [Role-based Access Control Concepts](https://flatrender.tora.reviews/docs-v2/administration/how-tos/user-mgmt/rbac). ### User -Our standard User role, listed as f5xc-nginx-one-user in the role list, provides read and write access to all endpoints and features, save for those considered to be administrator level. An example of an administrator level feature would be **[Instance Settings](https://docs.nginx.com/nginx-one/how-to/nginx-configs/clean-up-unavailable-instances/)** where unavailable instance clean up logic is set. +Our standard User role, listed as `f5xc-nginx-one-user` in the role list, provides read and write access to all endpoints and features, save for those considered to be administrator level. An example of an administrator level feature would be **[Instance Settings](https://docs.nginx.com/nginx-one/how-to/nginx-configs/clean-up-unavailable-instances/)** where unavailable instance clean up logic is set. ### Monitor -Our read only or Monitor role, f5xc-nginx-one-monitor, grants read only access to all non-administrator features and endpoints within the NGINX One Console. +Our read only or Monitor role, `f5xc-nginx-one-monitor`, grants read only access to all non-administrator features and endpoints within the NGINX One Console. From d21fa1d258c19f76718d182acef181282f260a75 Mon Sep 17 00:00:00 2001 From: Saylor Berman Date: Fri, 14 Mar 2025 09:03:32 -0600 Subject: [PATCH 025/723] Update NGF cert-manager docs (#289) cert-manager has updated their installation command, so we need to update our docs to reflect that change. --- .../how-to/traffic-security/integrating-cert-manager.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/ngf/how-to/traffic-security/integrating-cert-manager.md b/content/ngf/how-to/traffic-security/integrating-cert-manager.md index a8ec6e326..751e06329 100644 --- a/content/ngf/how-to/traffic-security/integrating-cert-manager.md +++ b/content/ngf/how-to/traffic-security/integrating-cert-manager.md @@ -68,9 +68,10 @@ The first step is to deploy cert-manager onto the cluster. cert-manager jetstack/cert-manager \ --namespace cert-manager \ --create-namespace \ - --version v1.12.0 \ - --set installCRDs=true \ - --set "extraArgs={--feature-gates=ExperimentalGatewayAPISupport=true}" + --set config.apiVersion="controller.config.cert-manager.io/v1alpha1" \ + --set config.kind="ControllerConfiguration" \ + --set config.enableGatewayAPI=true \ + --set crds.enabled=true ``` --- From aa13b7e3b4dccf3091063f2ee04a1be141a4a637 Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Fri, 14 Mar 2025 08:49:13 -0700 Subject: [PATCH 026/723] Added known issues for NIM 2.19.0 (#238) * Added known issues for NIM 2.19.0 * edits to known issue 45845 * Refactor Redocly code to handle new theme (#236) fix: refactored api page to render with mf * Apply suggestions from code review Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --------- Co-authored-by: Lam <150060045+lamATnginx@users.noreply.github.com> Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- content/nim/releases/known-issues.md | 590 +++++++++++++++------------ 1 file changed, 328 insertions(+), 262 deletions(-) diff --git a/content/nim/releases/known-issues.md b/content/nim/releases/known-issues.md index bae3cfeec..7668f26b8 100644 --- a/content/nim/releases/known-issues.md +++ b/content/nim/releases/known-issues.md @@ -16,35 +16,99 @@ weight: 200 --- +## 2.19.0 +February 6, 2025 + +### {{% icon-bug %}} Publishing the NAP policy fails with the error "The attack signatures with the given version was not found" {#45845} + +{{}} + +| Issue ID | Status | +|----------|--------| +| 45845 | Open | + +#### Description + +In NGINX Instance Manager v2.19.0, publishing an NGINX App Protect WAF policy from the UI fails if the latest NGINX App Protect WAF compiler v5.264.0 (for NGINX App Protect WAF v4.13.0 or v5.5.0) is manually installed without adding the NGINX repository certificate and key. + +#### Workaround + +1. Download the NGINX repository certificate and key: + - Log in to [MyF5](https://account.f5.com/myf5). + - Go to **My Products and Plans > Subscriptions**. + - Download the SSL certificate (*nginx-repo.crt*) and private key (*nginx-repo.key*) for your NGINX App Protect subscription. + +2. Upload the certificate and key using the NGINX Instance Manager web interface: + - Go to **Settings > NGINX Repo Connect**. + - Select **Add Certificate**. + - Choose **Select PEM files** or **Manual entry**. + - If using manual entry, copy and paste your *certificate* and *key* details. + + For detailed steps, see [Upload NGINX App Protect WAF certificate and key](https://docs.nginx.com/nginx-instance-manager/nginx-app-protect/setup-waf-config-management/#upload-nginx-app-protect-waf-certificate-and-key). + +3. Restart the `nms-integrations` service: + + ```shell + sudo systemctl restart nms-integrations + ``` + +{{}} + +--- + ## 2.18.0 November 8, 2024 +### {{% icon-bug %}} Automatic downloading of NAP compiler versions 5.210.0 and 5.264.0 fails on Ubuntu 24.04 {#45846} + +{{}} + +| Issue ID | Status | +|----------|--------| +| 45846 | Open | + +#### Description + +On Ubuntu 24.04, NGINX Instance Manager v2.18.0 and v2.19.0 fail to automatically download NGINX App Protect WAF compiler v5.210.0 (for NGINX App Protect WAF v4.12.0) and v5.264.0 (for NGINX App Protect WAF v4.13.0) from the NGINX repository. + +#### Workaround + +Manually install the missing compiler by following the instructions in [Install the WAF compiler]({{< relref "nim/nginx-app-protect/setup-waf-config-management.md#install-the-waf-compiler" >}}). + +{{}} + ### {{% icon-resolved %}} Error messages persist after fix {#45024} {{}} -| Issue ID | Status | -|----------------|--------| -| 45024 | Fixed in Instance Manager 2.19.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 45024 | Fixed in Instance Manager 2.19.0 | -### Description + +#### Description There is an issue that causes previous error messages to persist in the web interface, even after fixing the error causing the message. {{}} +--- + #### Description + There is an issue that causes previous error messages to persist in the web interface, even after fixing the error. ### {{% icon-resolved %}} .tgz files are not accepted in templates {#45301} {{}} -| Issue ID | Status | -|----------------|--------| -| 45301 | Fixed in Instance Manager 2.19.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 45301 | Fixed in Instance Manager 2.19.0 | {{}} +--- + #### Description `.tgz` files are not accepted in templates while `.tar.gz` files are. @@ -52,12 +116,14 @@ There is an issue that causes previous error messages to persist in the web inte {{}} -| Issue ID | Status | -|----------------|--------| -| 45570 | Fixed in Instance Manager 2.19.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 45570 | Fixed in Instance Manager 2.19.0 | {{}} +--- + #### Description If there is an NGINX configuration error when pushing a template configuration, the text overlaps outside the error window. @@ -65,9 +131,9 @@ If there is an NGINX configuration error when pushing a template configuration, {{}} -| Issue ID | Status | -|----------------|--------| -| 45573 | Fixed in Instance Manager 2.19.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 45573 | Fixed in Instance Manager 2.19.0 | {{}} @@ -83,9 +149,9 @@ September 13, 2024 {{}} -| Issue ID | Status | -|----------------|--------| -| 45565 | Fixed in Instance Manager 2.19.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 45565 | Fixed in Instance Manager 2.19.0 | {{}} @@ -101,9 +167,9 @@ July 10, 2024 {{}} -| Issue ID | Status | -|----------------|--------| -| 45512 | Fixed in Instance Manager 2.18.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 45512 | Fixed in Instance Manager 2.18.0 | {{}} @@ -116,9 +182,9 @@ The months in the custom date range were not displayed correctly because NGINX I {{}} -| Issue ID | Status | -|----------------|--------| -| 44975 | Fixed in Instance Manager 2.18.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 44975 | Fixed in Instance Manager 2.18.0 | {{}} @@ -131,9 +197,9 @@ When publishing a configuration template fails, the system only displays "Accept {{}} -| Issue ID | Status | -|----------------|--------| -| 45153 | Open | +| Issue ID | Status | +|----------|--------| +| 45153 | Open | {{}} #### Description @@ -151,9 +217,9 @@ If you're installing NGINX Agent from package files, follow the steps in the [In {{}} -| Issue ID | Status | -|----------------|--------| -| 45131 | Open | +| Issue ID | Status | +|----------|--------| +| 45131 | Open | {{}} #### Description @@ -175,9 +241,9 @@ add_header Content-Security-Policy "default-src 'none'; block-all-mixed-content; {{}} -| Issue ID | Status | -|----------------|--------| -| 45113 | Open | +| Issue ID | Status | +|----------|--------| +| 45113 | Open | {{}} #### Description @@ -193,9 +259,9 @@ Edit the "/etc/nginx-agent/nginx-agent.conf" file and configure "precompiled_pub {{}} -| Issue ID | Status | -|----------------|--------| -| 44971 | Fixed in Instance Manager 2.17.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 44971 | Fixed in Instance Manager 2.17.0 | {{}} #### Description @@ -211,9 +277,9 @@ April 18, 2024 {{}} -| Issue ID | Status | -|----------------|--------| -| 44961 | Fixed in Instance Manager 2.17.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 44961 | Fixed in Instance Manager 2.17.0 | {{}} #### Description @@ -242,9 +308,9 @@ If you need to modify a template that you have already submitted, create a copy {{}} -| Issue ID | Status | -|----------------|--------| -| 44877 | Fixed in Instance Manager 2.17.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 44877 | Fixed in Instance Manager 2.17.0 | {{}} #### Description @@ -260,9 +326,9 @@ December 12, 2023 {{}} -| Issue ID | Status | -|----------------|--------| -| 44759 | Fixed in Instance Manager 2.15.1 | +| Issue ID | Status | +|----------|----------------------------------| +| 44759 | Fixed in Instance Manager 2.15.1 | {{}} #### Description @@ -287,9 +353,9 @@ To use the NGINX Management Suite predefined log profiles with NGINX App Protect {{}} -| Issue ID | Status | -|----------------|--------| -| 44758 | Fixed in Instance Manager 2.15.1 | +| Issue ID | Status | +|----------|----------------------------------| +| 44758 | Fixed in Instance Manager 2.15.1 | {{}} #### Description @@ -305,9 +371,9 @@ Upgrade to NGINX Instance Manager 2.15.1. {{}} -| Issue ID | Status | -|----------------|--------| -| 44698 | Open | +| Issue ID | Status | +|----------|--------| +| 44698 | Open | {{}} #### Description @@ -327,9 +393,9 @@ sudo systemctl restart nms {{}} -| Issue ID | Status | -|----------------|--------| -| 44686 | Fixed in Instance Manager 2.17.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 44686 | Fixed in Instance Manager 2.17.0 | {{}} #### Description @@ -345,9 +411,9 @@ Refreshing the browser clears the error and allows the user to log on. {{}} -| Issue ID | Status | -|----------------|--------| -| 44685 | Open | +| Issue ID | Status | +|----------|--------| +| 44685 | Open | {{}} #### Description @@ -367,9 +433,9 @@ October 16, 2023 {{}} -| Issue ID | Status | -|----------------|--------| -| 44603 | Fixed in Instance Manager 2.15.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 44603 | Fixed in Instance Manager 2.15.0 | {{}} #### Description @@ -390,9 +456,9 @@ Download manually the latest [Attack Signatures package, Threat Campaign package {{}} -| Issue ID | Status | -|----------------|--------| -| 44586 | Fixed in Instance Manager 2.15.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 44586 | Fixed in Instance Manager 2.15.0 | {{}} #### Description @@ -408,9 +474,9 @@ Restart the Clickhouse service. {{}} -| Issue ID | Status | -|----------------|--------| -| 44554 | Open | +| Issue ID | Status | +|----------|--------| +| 44554 | Open | {{}} #### Description @@ -422,9 +488,9 @@ When using the Scan feature, the CVE column may provide a value of '--' for inst {{}} -| Issue ID | Status | -|----------------|--------| -| 44547 | Open | +| Issue ID | Status | +|----------|--------| +| 44547 | Open | {{}} #### Description @@ -440,9 +506,9 @@ Configure NGINX Plus or NGINX Stub Status APIs to send correctly the NGINX metri {{}} -| Issue ID | Status | -|----------------|--------| -| 44536 | Open | +| Issue ID | Status | +|----------|--------| +| 44536 | Open | {{}} #### Description @@ -454,9 +520,9 @@ Sorting HTTP errors by “Request Count” sometimes shows the data in an incorr {{}} -| Issue ID | Status | -|----------------|--------| -| 44531 | Open | +| Issue ID | Status | +|----------|--------| +| 44531 | Open | {{}} #### Description @@ -472,9 +538,9 @@ NGINX Agent does not report NGINX App Protect as "Active" when the Attack Signat {{}} -| Issue ID | Status | -|----------------|--------| -| 44520 | Open | +| Issue ID | Status | +|----------|--------| +| 44520 | Open | {{}} #### Description @@ -493,9 +559,9 @@ or {{}} -| Issue ID | Status | -|----------------|--------| -| 44504 | Fixed in Instance Manager 2.15.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 44504 | Fixed in Instance Manager 2.15.0 | {{}} #### Description @@ -507,9 +573,9 @@ Dashboard data may update unexpectedly when opening a drawer view. The updated d {{}} -| Issue ID | Status | -|----------------|--------| -| 44351 | Fixed in Instance Manager 2.15.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 44351 | Fixed in Instance Manager 2.15.0 | {{}} #### Description @@ -529,9 +595,9 @@ September 05, 2023 {{}} -| Issue ID | Status | -|----------------|--------| -| 44323 | Open | +| Issue ID | Status | +|----------|--------| +| 44323 | Open | {{}} #### Description @@ -563,9 +629,9 @@ August 28, 2023 {{}} -| Issue ID | Status | -|----------------|--------| -| 44277 | Fixed in Instance Manager 2.13.1 | +| Issue ID | Status | +|----------|----------------------------------| +| 44277 | Fixed in Instance Manager 2.13.1 | {{}} #### Description @@ -577,9 +643,9 @@ When configuring role-based access control (RBAC), you can't assign access level {{}} -| Issue ID | Status | -|----------------|--------| -| 44267 | Open | +| Issue ID | Status | +|----------|--------| +| 44267 | Open | {{}} #### Description @@ -601,9 +667,9 @@ Retry pushing the new configuration. The deployment should work the second time {{}} -| Issue ID | Status | -|----------------|--------| -| 44254 | Fixed in Instance Manager 2.13.1 | +| Issue ID | Status | +|----------|----------------------------------| +| 44254 | Fixed in Instance Manager 2.13.1 | {{}} #### Description @@ -624,9 +690,9 @@ To work around this issue, you have two options: {{}} -| Issue ID | Status | -|----------------|--------| -| 44051 | Open | +| Issue ID | Status | +|----------|--------| +| 44051 | Open | {{}} #### Description @@ -638,9 +704,9 @@ The reporting of severities has been disabled in NGINX App Protect 4.4. As a res {{}} -| Issue ID | Status | -|----------------|--------| -| 43950 | Open | +| Issue ID | Status | +|----------|--------| +| 43950 | Open | {{}} #### Description @@ -656,9 +722,9 @@ July 20, 2023 {{}} -| Issue ID | Status | -|----------------|--------| -| 43719 | Open | +| Issue ID | Status | +|----------|--------| +| 43719 | Open | {{}} #### Description @@ -721,9 +787,9 @@ To fix this issue, follow the steps below for your environment type. {{}} -| Issue ID | Status | -|----------------|--------| -| 43655 | Open | +| Issue ID | Status | +|----------|--------| +| 43655 | Open | {{}} #### Description @@ -745,9 +811,9 @@ kubectl -n nms scale --replicas=0 deployment.apps/integrations; kubectl -n nms s {{}} -| Issue ID | Status | -|----------------|--------| -| 43606 | Open | +| Issue ID | Status | +|----------|--------| +| 43606 | Open | {{}} #### Description @@ -763,9 +829,9 @@ Toggle the telemetry setting off and on. You can do this by selecting **Settings {{}} -| Issue ID | Status | -|----------------|--------| -| 43580 | Open | +| Issue ID | Status | +|----------|--------| +| 43580 | Open | {{}} #### Description @@ -783,9 +849,9 @@ More information is available in the Platform API reference guide, under the Lic {{}} -| Issue ID | Status | -|----------------|--------| -| 43438 | Fixed in Instance Manager 2.13.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 43438 | Fixed in Instance Manager 2.13.0 | {{}} #### Description @@ -805,9 +871,9 @@ June 12, 2023 {{}} -| Issue ID | Status | -|----------------|--------| -| 43034 | Open | +| Issue ID | Status | +|----------|--------| +| 43034 | Open | {{}} #### Description @@ -830,9 +896,9 @@ To obtain the UID value for Attack-Signatures and Threat-Campaigns, you can quer {{}} -| Issue ID | Status | -|----------------|--------| -| 43016 | Open | +| Issue ID | Status | +|----------|--------| +| 43016 | Open | {{}} #### Description @@ -848,9 +914,9 @@ Redeploy a new version of the security policy or an updated `nginx.conf`. {{}} -| Issue ID | Status | -|----------------|--------| -| 43012 | Open | +| Issue ID | Status | +|----------|--------| +| 43012 | Open | {{}} #### Description @@ -866,9 +932,9 @@ Use the unique identifier to assign specific permissions to a particular certifi {{}} -| Issue ID | Status | -|----------------|--------| -| 43010 | Open | +| Issue ID | Status | +|----------|--------| +| 43010 | Open | {{}} #### Description @@ -884,9 +950,9 @@ Use an earlier version of the NGINX Agent. You can install the NGINX Agent from {{}} -| Issue ID | Status | -|----------------|--------| -| 42967 | Open | +| Issue ID | Status | +|----------|--------| +| 42967 | Open | {{}} #### Description @@ -904,9 +970,9 @@ Delete or move the support package output files: `nms-hybrid/support-package/k8s {{}} -| Issue ID | Status | -|----------------|--------| -| 42838 | Open | +| Issue ID | Status | +|----------|--------| +| 42838 | Open | {{}} #### Description @@ -926,9 +992,9 @@ April 26, 2023 {{}} -| Issue ID | Status | -|----------------|--------| -| 42999 | Fixed in Instance Manager 2.12.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 42999 | Fixed in Instance Manager 2.12.0 | {{}} #### Description @@ -940,9 +1006,9 @@ The Disk Usage metric on the Metrics Summary page averages disk usage across all {{}} -| Issue ID | Status | -|----------------|--------| -| 42932 | Fixed in Instance Manager 2.12.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 42932 | Fixed in Instance Manager 2.12.0 | {{}} #### Description @@ -966,9 +1032,9 @@ sudo systemctl restart nms {{}} -| Issue ID | Status | -|----------------|--------| -| 42598 | Fixed in Instance Manager 2.10.1 | +| Issue ID | Status | +|----------|----------------------------------| +| 42598 | Fixed in Instance Manager 2.10.1 | {{}} #### Description @@ -980,9 +1046,9 @@ Sometimes, valid licenses for NGINX Management Suite are incorrectly identified {{}} -| Issue ID | Status | -|----------------|--------| -| 42219 | Fixed in Instance Manager 2.11.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 42219 | Fixed in Instance Manager 2.11.0 | {{}} #### Description @@ -1011,9 +1077,9 @@ After installation, we recommend you return the default to a more secure algorit {{}} -| Issue ID | Status | -|----------------|--------| -| 42217 | Open | +| Issue ID | Status | +|----------|--------| +| 42217 | Open | {{}} #### Description @@ -1029,9 +1095,9 @@ Threat Campaign versions can be published with the API using the route: `api/pla {{}} -| Issue ID | Status | -|----------------|--------| -| 42182 | Fixed in Instance Manager 2.11.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 42182 | Fixed in Instance Manager 2.11.0 | {{}} #### Description @@ -1047,9 +1113,9 @@ Manually delete the certificate and key from the /etc/nginx/ path. {{}} -| Issue ID | Status | -|----------------|--------| -| 42133 | Open | +| Issue ID | Status | +|----------|--------| +| 42133 | Open | {{}} #### Description @@ -1065,9 +1131,9 @@ When upgrading to 2.10 you may see a warning like the below message for the NGIN {{}} -| Issue ID | Status | -|----------------|--------| -| 42119 | Open | +| Issue ID | Status | +|----------|--------| +| 42119 | Open | {{}} #### Description @@ -1083,9 +1149,9 @@ Republish the configuration for the affected configuration blocks. {{}} -| Issue ID | Status | -|----------------|--------| -| 42108 | Open | +| Issue ID | Status | +|----------|--------| +| 42108 | Open | {{}} #### Description @@ -1097,9 +1163,9 @@ After upgrading to Instance Manager 2.10, the publish status on App Security pag {{}} -| Issue ID | Status | -|----------------|--------| -| 42105 | Fixed in Instance Manager 2.12.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 42105 | Fixed in Instance Manager 2.12.0 | {{}} #### Description @@ -1111,9 +1177,9 @@ When you apply a filter with double backslashes (`\\`) on any of the Analytics e {{}} -| Issue ID | Status | -|----------------|--------| -| 41257 | Open | +| Issue ID | Status | +|----------|--------| +| 41257 | Open | {{}} #### Description @@ -1133,9 +1199,9 @@ April 06, 2023 {{}} -| Issue ID | Status | -|----------------|--------| -| 43031 | Open | +| Issue ID | Status | +|----------|--------| +| 43031 | Open | {{}} #### Description @@ -1155,9 +1221,9 @@ March 21, 2023 {{}} -| Issue ID | Status | -|----------------|--------| -| 41557 | Fixed in Instance Manager 2.9.1 | +| Issue ID | Status | +|----------|---------------------------------| +| 41557 | Fixed in Instance Manager 2.9.1 | {{}} #### Description @@ -1169,9 +1235,9 @@ After upgrading to Instance Manager 2.9.0, the system may display a "URI malform {{}} -| Issue ID | Status | -|----------------|--------| -| 41157 | Fixed in Instance Manager 2.10.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 41157 | Fixed in Instance Manager 2.10.0 | {{}} #### Description @@ -1191,9 +1257,9 @@ January 30, 2023 {{}} -| Issue ID | Status | -|----------------|--------| -| 41328 | Fixed in Instance Manager 2.9.0 | +| Issue ID | Status | +|----------|---------------------------------| +| 41328 | Fixed in Instance Manager 2.9.0 | {{}} #### Description @@ -1209,9 +1275,9 @@ Prior to upgrading, we recommend that you [back up your configuration files]({{< {{}} -| Issue ID | Status | -|----------------|--------| -| 40484 | Open | +| Issue ID | Status | +|----------|--------| +| 40484 | Open | {{}} #### Description @@ -1255,9 +1321,9 @@ The instance on the NGINX Management Suite's Instance Details page should show * {{}} -| Issue ID | Status | -|----------------|--------| -| 40396 | Open | +| Issue ID | Status | +|----------|--------| +| 40396 | Open | {{}} #### Description @@ -1284,9 +1350,9 @@ This issue is related to [bug 39563](#39563) and has the same workaround. {{}} -| Issue ID | Status | -|----------------|--------| -| 40085 | Fixed in Instance Manager 2.9.0 | +| Issue ID | Status | +|----------|---------------------------------| +| 40085 | Fixed in Instance Manager 2.9.0 | {{}} #### Description @@ -1302,9 +1368,9 @@ To fix this issue, return to the Policy Detail page and select **Assign Policy a {{}} -| Issue ID | Status | -|----------------|--------| -| 40020 | Open | +| Issue ID | Status | +|----------|--------| +| 40020 | Open | {{}} #### Description @@ -1320,9 +1386,9 @@ The default Attack Signature might be unavailable for publishing from Instance M {{}} -| Issue ID | Status | -|----------------|--------| -| 39760 | Fixed in Instance Manager 2.9.0 | +| Issue ID | Status | +|----------|---------------------------------| +| 39760 | Fixed in Instance Manager 2.9.0 | {{}} #### Description @@ -1342,9 +1408,9 @@ December 20, 2022 {{}} -| Issue ID | Status | -|----------------|--------| -| 41327 | Fixed in Instance Manager 2.10.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 41327 | Fixed in Instance Manager 2.10.0 | {{}} #### Description @@ -1403,9 +1469,9 @@ If you encounter any of the errors mentioned above, you can attempt to rebuild a {{}} -| Issue ID | Status | -|----------------|--------| -| 39431 | Fixed in Instance Manager 2.9.0 | +| Issue ID | Status | +|----------|---------------------------------| +| 39431 | Fixed in Instance Manager 2.9.0 | {{}} #### Description @@ -1445,9 +1511,9 @@ November 17, 2022 {{}} -| Issue ID | Status | -|----------------|--------| -| 39563 | Open | +| Issue ID | Status | +|----------|--------| +| 39563 | Open | {{}} #### Description @@ -1510,9 +1576,9 @@ Once the `attack-signatures` and/or `threat-campaigns` packages have been added {{}} -| Issue ID | Status | -|----------------|--------| -| 38782 | Open | +| Issue ID | Status | +|----------|--------| +| 38782 | Open | {{}} #### Description @@ -1524,9 +1590,9 @@ When installing NGINX Instance Manager on Kubernetes via Helm Chart, the App Pro {{}} -| Issue ID | Status | -|----------------|--------| -| 38596 | Open | +| Issue ID | Status | +|----------|--------| +| 38596 | Open | {{}} #### Description @@ -1546,9 +1612,9 @@ This can also be diagnosed with log entries in `/var/log/nginx-agent/agent.log`, {{}} -| Issue ID | Status | -|----------------|--------| -| 38589 | Open | +| Issue ID | Status | +|----------|--------| +| 38589 | Open | {{}} #### Description @@ -1568,9 +1634,9 @@ Post upgrade, do the following steps: {{}} -| Issue ID | Status | -|----------------|--------| -| 38488 | Open | +| Issue ID | Status | +|----------|--------| +| 38488 | Open | {{}} #### Description @@ -1586,9 +1652,9 @@ Unreferenced policy files may be removed manually from /etc/nms. {{}} -| Issue ID | Status | -|----------------|--------| -| 38041 | Open | +| Issue ID | Status | +|----------|--------| +| 38041 | Open | {{}} #### Description @@ -1600,9 +1666,9 @@ The values currently populated for http.version_schema are incorrect. The respon {{}} -| Issue ID | Status | -|----------------|--------| -| 37705 | Fixed in Instance Manager 2.11.0 | +| Issue ID | Status | +|----------|----------------------------------| +| 37705 | Fixed in Instance Manager 2.11.0 | {{}} #### Description @@ -1618,9 +1684,9 @@ The data presented in the graph can be retrieved from the API. {{}} -| Issue ID | Status | -|----------------|--------| -| 36265 | Open | +| Issue ID | Status | +|----------|--------| +| 36265 | Open | {{}} #### Description @@ -1641,9 +1707,9 @@ October 04, 2022 {{}} -| Issue ID | Status | -|----------------|--------| -| 37498 | Open | +| Issue ID | Status | +|----------|--------| +| 37498 | Open | {{}} #### Description @@ -1657,9 +1723,9 @@ Request body has an error: doesn't match the schema: Error at "/auxFiles/files/3 {{}} -| Issue ID | Status | -|----------------|--------| -| 37479 | Open | +| Issue ID | Status | +|----------|--------| +| 37479 | Open | {{}} #### Description @@ -1677,9 +1743,9 @@ Make a minor edit to a staged config, such as adding a space, then save the chan {{}} -| Issue ID | Status | -|----------------|--------| -| 37437 | Open | +| Issue ID | Status | +|----------|--------| +| 37437 | Open | {{}} #### Description @@ -1706,9 +1772,9 @@ June 30, 2022 {{}} -| Issue ID | Status | -|----------------|--------| -| 35172 | Open | +| Issue ID | Status | +|----------|--------| +| 35172 | Open | {{}} #### Description @@ -1730,9 +1796,9 @@ sudo systemctl stop nginx-agent {{}} -| Issue ID | Status | -|----------------|--------| -| 34255 | Open | +| Issue ID | Status | +|----------|--------| +| 34255 | Open | {{}} #### Description @@ -1758,9 +1824,9 @@ May 25, 2022 {{}} -| Issue ID | Status | -|----------------|--------| -| 34185 | Open | +| Issue ID | Status | +|----------|--------| +| 34185 | Open | {{}} #### Description @@ -1780,9 +1846,9 @@ April 05, 2022 {{}} -| Issue ID | Status | -|----------------|--------| -| 33307 | Open | +| Issue ID | Status | +|----------|--------| +| 33307 | Open | {{}} #### Description @@ -1798,9 +1864,9 @@ You can safely delete the older entries or wait for them to expire. {{}} -| Issue ID | Status | -|----------------|--------| -| 33160 | Open | +| Issue ID | Status | +|----------|--------| +| 33160 | Open | {{}} #### Description @@ -1830,9 +1896,9 @@ December 21, 2021 {{}} -| Issue ID | Status | -|----------------|--------| -| 32718 | Open | +| Issue ID | Status | +|----------|--------| +| 32718 | Open | {{}} #### Description @@ -1844,9 +1910,9 @@ NGINX Instance Manager does not currently support managing NGINX App Protect WAF {{}} -| Issue ID | Status | -|----------------|--------| -| 31225 | Fixed in Instance Manager 2.7.0 | +| Issue ID | Status | +|----------|---------------------------------| +| 31225 | Fixed in Instance Manager 2.7.0 | {{}} #### Description @@ -1866,9 +1932,9 @@ NGINX Instance Manager does not currently support managing NGINX App Protect WAF {{}} -| Issue ID | Status | -|----------------|--------| -| 31081 | Open | +| Issue ID | Status | +|----------|--------| +| 31081 | Open | {{}} #### Description @@ -1884,9 +1950,9 @@ Keep config files under 50 MB. {{}} -| Issue ID | Status | -|----------------|--------| -| 28758 | Open | +| Issue ID | Status | +|----------|--------| +| 28758 | Open | {{}} #### Description @@ -1902,9 +1968,9 @@ Install a supported version of NGINX (v1.18 or later) or NGINX Plus (R22 or late {{}} -| Issue ID | Status | -|----------------|--------| -| 28683 | Open | +| Issue ID | Status | +|----------|--------| +| 28683 | Open | {{}} #### Description From 82045bbe196f86a8b53b5fa2afbefc8c5acd7ab6 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Fri, 14 Mar 2025 09:04:35 -0700 Subject: [PATCH 027/723] feature, NGINX One: Add release note for certs on CSGs (#230) * feature, NGINX One: Add release note for certs on CSGs * Apply suggestions from code review Co-authored-by: Sylvia Wang <139922338+sylwang@users.noreply.github.com> * Update content/nginx-one/changelog.md * Apply suggestions from code review Co-authored-by: Alan Dooley --------- Co-authored-by: Sylvia Wang <139922338+sylwang@users.noreply.github.com> Co-authored-by: Alan Dooley --- content/nginx-one/changelog.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/content/nginx-one/changelog.md b/content/nginx-one/changelog.md index a5727ac26..c8ec05f13 100644 --- a/content/nginx-one/changelog.md +++ b/content/nginx-one/changelog.md @@ -34,6 +34,19 @@ Stay up-to-date with what's new and improved in the F5 NGINX One Console. ## January 20, 2025 +### Manage certificates with Config Sync Groups + +With the NGINX One Console, you can now manage certificate deployment in Config Sync Groups. + +You can: + +- Add a certificate to a Config Sync Group +- Remove a deployed certificate from a Config Sync Group + +For more information, including warnings about risks, see our documentation on how you can: +- [Add a file]({{< ref "/nginx-one/how-to/nginx-configs/add-file.md" >}}) +- [Manage certificates]({{< ref "/nginx-one/how-to/certificates/manage-certificates.md" >}}) + ### Revert a configuration Using the NGINX One Console you can now: From a1fc2a83867448c9f49a5b0dc770d42611719a6e Mon Sep 17 00:00:00 2001 From: lucYang55 <150298290+lucYang55@users.noreply.github.com> Date: Mon, 17 Mar 2025 09:13:12 -0700 Subject: [PATCH 028/723] Update NGINX Agent and NGINX One console in Docs (#273) * Updated documentation for create-manage-data-plane-keys to follow new style updates per issue #228 * Updated documentation for configure-nginx-agent-group.md to follow new style updates per issue #228 * Updated documentation for install-nginx-agent.md to follow new style updates per issue #228 * Apply suggestions from code review @lucYang55 I have applied my suggestions to my PR as these are minor and well documented in our style guide. --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> --- .../configure-nginx-agent-group.md | 2 +- .../create-manage-data-plane-keys.md | 2 +- .../nms/nginx-agent/install-nginx-agent.md | 28 +++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/content/agent/configuration/configure-nginx-agent-group.md b/content/agent/configuration/configure-nginx-agent-group.md index bb6260daf..d1152bfb2 100644 --- a/content/agent/configuration/configure-nginx-agent-group.md +++ b/content/agent/configuration/configure-nginx-agent-group.md @@ -13,7 +13,7 @@ doctypes: ["task"] During installation, NGINX Agent detects the NGINX user (typically `nginx`) for the master and worker processes and adds this user to a group called `nginx-agent`. -If you change the NGINX username after installing the NGINX Agent, you'll need to add the new username to the `nginx-agent` group so that the NGINX socket has the proper permissions. +If you change the NGINX username after installing NGINX Agent, you'll need to add the new username to the `nginx-agent` group so that the NGINX socket has the proper permissions. A failure to update the `nginx-agent` group when the NGINX username changes may result in non-compliance errors for NGINX Plus. diff --git a/content/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md b/content/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md index abcf7b89c..9ad9cafe6 100644 --- a/content/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md +++ b/content/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md @@ -62,7 +62,7 @@ If you need to deactivate a data plane key before its expiration date, follow th ## Delete a data plane key -Before you can delete a key, it must be expired or revoked. You can revoke a key either through the NGINX One console, as explained above, or by using the REST API. Once deleted, all information about the data plane key is permanently removed. +Before you can delete a key, it must be expired or revoked. You can revoke a key either through the NGINX One Console, as explained above, or by using the REST API. Once deleted, all information about the data plane key is permanently removed. 1. On the left menu, select **Data Plane Keys**. 2. Find the key you want to revoke in the list of expired or revoked keys. diff --git a/content/nms/nginx-agent/install-nginx-agent.md b/content/nms/nginx-agent/install-nginx-agent.md index b93746c5b..59105d952 100644 --- a/content/nms/nginx-agent/install-nginx-agent.md +++ b/content/nms/nginx-agent/install-nginx-agent.md @@ -17,7 +17,7 @@ This section lists the prerequisites for installing and configuring NGINX Agent. 1. [F5 NGINX Management Suite is installed on a server]({{< relref "/nim/deploy/_index.md" >}}). - {{}} When installing and configuring NGINX Management Suite, take note of the fully qualified domain name (FQDN) and gRPC port number. You'll need this information to properly configure the NGINX Agent to communicate with NGINX Management Suite. + {{}} When installing and configuring NGINX Management Suite, take note of the fully qualified domain name (FQDN) and gRPC port number. You'll need this information to properly configure NGINX Agent to communicate with NGINX Management Suite. {{}} 2. Make sure NGINX is running on your instance: @@ -58,7 +58,7 @@ To see if `nginx_agent_selinux` is installed, run the following command: ## Install NGINX Agent -You can choose one of the following two methods to install the NGINX Agent on your data plane host: +You can choose one of the following two methods to install NGINX Agent on your data plane host: - Install via the NGINX Management Suite API Gateway - Install from packages downloaded from [MyF5 Customer Portal](https://account.f5.com/myf5) or from your NGINX/F5 sales team. @@ -102,7 +102,7 @@ root 293850 109 1.1 1240056 23536 ? Ssl 22:00 0:07 /usr/local/bi vagrant 293866 0.0 0.0 8160 736 pts/0 S+ 22:00 0:00 grep --color=auto nginx-agent ``` -Once you've verified the NGINX Agent is running on your data plane, you should confirm it's registered with NGINX Management Suite. You can do this two ways: +Once you've verified NGINX Agent is running on your data plane, you should confirm it's registered with NGINX Management Suite. You can do this two ways: {{}} @@ -138,17 +138,17 @@ If you need to remove the instance, ensure that the NGINX Agent service is stopp ## Configuring the NGINX Agent -The following sections explain how to configure the NGINX Agent using configuration files, CLI flags, and environment variables. +The following sections explain how to configure NGINX Agent using configuration files, CLI flags, and environment variables. {{}} -- The NGINX Agent interprets configuration values set by configuration files, CLI flags, and environment variables in the following priorities: +- NGINX Agent interprets configuration values set by configuration files, CLI flags, and environment variables in the following priorities: 1. CLI flags overwrite configuration files and environment variable values. 2. Environment variables overwrite configuration file values. 3. Config files are the lowest priority and config settings are superseded if either of the other options is used. -- The NGINX Agent is configured by default to connect to the NGINX Management Suite on port 443 based on the address used to download the install script. If this setting doesn't work, you can change the `server` fields in the `nginx-agent.conf` file. Instructions are provided in the following sections. +- NGINX Agent is configured by default to connect to the NGINX Management Suite on port 443 based on the address used to download the install script. If this setting doesn't work, you can change the `server` fields in the `nginx-agent.conf` file. Instructions are provided in the following sections. - Open any required firewall ports or SELinux/AppArmor rules for the ports and IPs you want to use. @@ -156,7 +156,7 @@ The following sections explain how to configure the NGINX Agent using configurat ### Configure with Config Files -The configuration files for the NGINX Agent are `/etc/nginx-agent/nginx-agent.conf` and `/var/lib/nginx-agent/agent-dynamic.conf`. These files have comments at the top indicating their purpose. +The configuration files for NGINX Agent are `/etc/nginx-agent/nginx-agent.conf` and `/var/lib/nginx-agent/agent-dynamic.conf`. These files have comments at the top indicating their purpose. {{}}If you're running Instance Manager 2.10.1 or earlier or NGINX Agent 2.25.1 or earlier, the `agent-dynamic.conf` file is located in `/etc/nginx-agent/`.{{}} @@ -231,7 +231,7 @@ extensions: # Enable reporting NGINX App Protect details to the control plane. nginx_app_protect: - # Report interval for NGINX App Protect details - the frequency the NGINX Agent checks NGINX App Protect for changes. + # Report interval for NGINX App Protect details - the frequency NGINX Agent checks NGINX App Protect for changes. report_interval: 15s # Enable precompiled publication from the NGINX Management Suite (true) or perform compilation on the data plane host (false). precompiled_publication: true @@ -271,7 +271,7 @@ tags: ## CLI Flags & Environment Variables -This section details the CLI flags and corresponding environment variables used to configure the NGINX Agent. +This section details the CLI flags and corresponding environment variables used to configure NGINX Agent. ### Usage @@ -402,7 +402,7 @@ Additionally, you can use the agent installation script to add these fields: ## SELinux for NGINX Agent -This section explains how to install and configure the SELinux policy for the NGINX Agent. +This section explains how to install and configure the SELinux policy for NGINX Agent. ### Installing NGINX Agent SELinux Policy Module @@ -418,7 +418,7 @@ To load the NGINX Agent policy, run the following commands: ### Adding Ports for NGINX Agent SELinux Context -You can configure the NGINX Agent to work with SELinux. Make sure you add external ports to the firewall exception list. +You can configure NGINX Agent to work with SELinux. Make sure you add external ports to the firewall exception list. The following example shows how to allow external ports outside the HTTPD context. You may need to enable NGINX to connect to these ports. @@ -430,11 +430,11 @@ For additional information on using NGINX with SELinux, refer to the guide [Usin --- -## Secure the NGINX Agent with mTLS +## Secure NGINX Agent with mTLS -{{< important >}}By default, communication between the NGINX Agent and NGINX Management Suite is unsecured.{{< /important >}} +{{< important >}}By default, communication between NGINX Agent and NGINX Management Suite is unsecured.{{< /important >}} -For instructions on how configure mTLS to secure communication between the NGINX Agent and NGINX Management Suite, see [NGINX Agent TLS Settings](https://docs.nginx.com/nginx-agent/configuration/encrypt-communication/). +For instructions on how configure mTLS to secure communication between NGINX Agent and NGINX Management Suite, see [NGINX Agent TLS Settings](https://docs.nginx.com/nginx-agent/configuration/encrypt-communication/). --- From 6baaa2061773e8a09e878f0720a15b65bb9445bf Mon Sep 17 00:00:00 2001 From: Saylor Berman Date: Tue, 18 Mar 2025 09:31:05 -0600 Subject: [PATCH 029/723] Fix NGF header link (#295) A header link was not written correctly and didn't actually link to the section. --- content/ngf/how-to/data-plane-configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ngf/how-to/data-plane-configuration.md b/content/ngf/how-to/data-plane-configuration.md index 90d2070f2..d74555049 100644 --- a/content/ngf/how-to/data-plane-configuration.md +++ b/content/ngf/how-to/data-plane-configuration.md @@ -15,7 +15,7 @@ NGINX Gateway Fabric can dynamically update the global data plane configuration The data plane configuration is stored in the NginxProxy custom resource, which is a cluster-scoped resource that is attached to the `nginx` GatewayClass. -By default, the NginxProxy resource is not created when installing NGINX Gateway Fabric. However, you can set configuration options in the `nginx.config` Helm values, and the resource will be created and attached when NGINX Gateway Fabric is installed using Helm. You can also [manually create and attach](#manually-creating-the-configuration) the resource after NGINX Gateway Fabric is already installed. +By default, the NginxProxy resource is not created when installing NGINX Gateway Fabric. However, you can set configuration options in the `nginx.config` Helm values, and the resource will be created and attached when NGINX Gateway Fabric is installed using Helm. You can also [manually create and attach](#manually-create-the-configuration) the resource after NGINX Gateway Fabric is already installed. When installed using the Helm chart, the NginxProxy resource is named `-proxy-config`. From e9b849a9b4b461a8d45986ce70121fc91545d018 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Tue, 18 Mar 2025 08:53:26 -0700 Subject: [PATCH 030/723] fix: Add theme update step to local docs development instructions (#261) --- CONTRIBUTING_DOCS.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING_DOCS.md b/CONTRIBUTING_DOCS.md index e8b50661e..58c264644 100644 --- a/CONTRIBUTING_DOCS.md +++ b/CONTRIBUTING_DOCS.md @@ -16,14 +16,13 @@ If you're an employee of F5/NGINX, also read [For F5/NGINX Employees](./F5-NGINX You will need to install Hugo _or_ Docker to build and preview docs in your local development environment. Refer to the [Hugo installation instructions](https://gohugo.io/getting-started/installing/) for more information. -**NOTE**: We are currently running [Hugo v0.134.2](https://github.com/gohugoio/hugo/releases/tag/v0.134.2) in production. - Although not a strict requirement, markdown-link-check is also used in documentation development. If you have [Docker](https://www.docker.com/get-started/) installed, there are fallbacks for all requirements in the [Makefile](Makefile), meaning you don't need to install them. - [Installing Hugo](https://gohugo.io/getting-started/installing/) + - **NOTE**: We are currently running [Hugo v0.134.2](https://github.com/gohugoio/hugo/releases/tag/v0.134.2) in production. - [Installing markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli?tab=readme-ov-file#installation) - [Installing markdown-link-check](https://github.com/tcort/markdown-link-check?tab=readme-ov-file#installation). @@ -35,7 +34,11 @@ The configuration files are as follows: ## Local Docs Development -To build the documentation locally, use the `make` command in the documentation folder with these targets: +To build the documentation locally, use the `make` command in the documentation folder. First make sure you have the latest version of our Hugo theme with: + +`make hugo-update` + +Once you've updated the theme, you can use these targets: ```text make watch - Runs a local Hugo server, allowing for changes to be previewed in a browser. From b62ab5287eecde5f8c29b6e3e5a19dc6906cc907 Mon Sep 17 00:00:00 2001 From: Alan Dooley Date: Tue, 18 Mar 2025 17:43:10 +0000 Subject: [PATCH 031/723] feat: Update NIM Security Monitoring front matter and reference links (#298) This commit updates the Security Monitoring subsection of the NAP WAF documentation within NGINX Instance Manager to have contemporary frontmatter formatting, including a fixed url parameter for the index. The previous URL parameter was causing some odd behaviour, with duplicate deployments of folders. --- .../security-monitoring/_index.md | 4 +- .../set-up-app-protect-instances.md | 206 +++++++++++------- .../security-monitoring/troubleshooting.md | 11 +- .../security-monitoring/update-geo-db.md | 8 +- .../security-monitoring/update-signatures.md | 8 +- .../setup-waf-config-management.md | 22 +- 6 files changed, 153 insertions(+), 106 deletions(-) diff --git a/content/nim/nginx-app-protect/security-monitoring/_index.md b/content/nim/nginx-app-protect/security-monitoring/_index.md index e5d05ad14..e03c962d2 100644 --- a/content/nim/nginx-app-protect/security-monitoring/_index.md +++ b/content/nim/nginx-app-protect/security-monitoring/_index.md @@ -1,5 +1,5 @@ --- title: Security Monitoring -weight: 10000 -url: /nginx-instance-manager/monitoring/security-monitoring/ +weight: 500 +url: /nginx-instance-manager/nginx-app-protect/security-monitoring/ --- diff --git a/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md b/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md index 9e58b4f51..5b52c892a 100644 --- a/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md +++ b/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md @@ -11,66 +11,92 @@ docs: DOCS-1107 F5 NGINX Security Monitoring supports two main use cases: -- **Security Monitoring only**: Monitor data from NGINX App Protect WAF instances. You can view security dashboards to identify threats and adjust policies. WAF configurations are managed outside NGINX Instance Manager. -- **Security Monitoring and Instance Manager**: Monitor security data and manage WAF configurations and policies in one place. Push pre-compiled updates to individual instances or groups. +- **Security Monitoring only**: Use only the Security Monitoring module to monitor data from NGINX App Protect WAF instances. You will be able to review the security dashboards to assess potential threats and identify opportunities to fine-tune your policies. Your NGINX App Protect WAF configurations are managed outside of the NGINX Instance Manager context. +- **Security Monitoring and Instance Manager**: Use the Security Monitoring module with the NGINX Instance Manager. In addition to monitoring your application security, you will be able to manage your NGINX App Protect WAF configurations and security policies in a single location and push pre-compiled updates to an instance or instance group. --- ## Before you begin -Complete these steps before starting: +Complete the following prerequisites before proceeding with the steps in this guide. -1. If you’re new to NGINX App Protect WAF, follow these guides: +1. If you are new to NGINX App Protect WAF, follow the instructions in the installation and configuration guides to get up and running: - - [Install NGINX App Protect WAF](https://docs.nginx.com/nginx-app-protect/admin-guide/install/) on each data plane instance. Ensure connectivity to the NGINX Instance Manager host. - - [Configure NGINX App Protect WAF](https://docs.nginx.com/nginx-app-protect/configuration-guide/configuration/#policy-configuration-overview) as needed for each instance. + - [Install NGINX App Protect WAF]({{< ref "/nap-waf/v4/admin-guide/install.md" >}}) on one or more data plane instances. Each data plane instance must have connectivity to the NGINX Instance Manager host. + - [Configure NGINX App Protect WAF]({{< ref "/nap-waf/v4//configuration-guide/configuration.md#policy-configuration-overview" >}}) according to your needs on each of the data plane instance. -2. Review NGINX App Protect WAF dependencies: +1. Review the dependencies with NGINX App Protect WAF and NGINX Plus. {{< include "nim/tech-specs/security-data-plane-dependencies.md" >}} -3. Determine your use case: **Security Monitoring only** or **Security Monitoring and Configuration Management**. +1. Determine your use case: **Security Monitoring only** or **Security Monitoring and Configuration Management**. +1. [Upload your license]({{< relref "/nim/admin-guide/license/add-license.md" >}}). --- ## Install NGINX Agent -NGINX Agent collects metrics, manages configurations, and sends events. Install and configure it on each WAF data plane host. +NGINX Agent is a companion daemon for NGINX Open Source or NGINX Plus instance that provides: -1. Connect to the host via SSH. -2. Install the NGINX Agent package from the NGINX Instance Manager host: +- Remote management of NGINX configurations +- Collection and reporting of real-time NGINX performance and operating system metrics +- Notifications of NGINX events + +Repeat the steps in this section on each NGINX App Protect WAF data plane host to install and configure NGINX Agent for use with Security Monitoring. **These settings apply to both of the Security Monitoring use cases.** + +1. Use SSH to connect to the data plane host. +1. Install the NGINX Agent package from the NGINX Instance Manager host. {{< include "agent/installation/install-agent-api.md" >}} -3. Edit `/etc/nginx-agent/nginx-agent.conf` to enable `nap_monitoring`. Add this configuration: +1. Edit the `/etc/nginx-agent/nginx-agent.conf` file to add the `nap_monitoring` configuration. - ```yaml + ```yaml dataplane: status: + # poll interval for data plane status - the frequency the NGINX Agent will query the data plane for changes poll_interval: 30s + # report interval for data plane status - the maximum duration to wait before syncing data plane information if no updates have been observed report_interval: 24h events: + # report data plane events back to the management plane enable: true metrics: + # specify the size of a buffer to build before sending metrics bulk_size: 20 + # specify metrics poll interval report_interval: 1m collection_interval: 15s mode: aggregated + + # OSS NGINX default config path + # path to aux file dirs can also be added config_dirs: "/etc/nginx:/usr/local/etc/nginx:/usr/share/nginx/modules:/etc/nms:/etc/app_protect" + + # Enable reporting NGINX App Protect details to the management plane. extensions: - - nginx-app-protect - - nap-monitoring + - nginx-app-protect + - nap-monitoring + + # Enable reporting NGINX App Protect details to the control plane. nginx_app_protect: + # Report interval for NGINX App Protect details - the frequency the NGINX Agent checks NGINX App Protect for changes. report_interval: 15s + # Enable precompiled publication from the NGINX Instance Manager (true) or perform compilation on the data plane host (false). precompiled_publication: true + + # NGINX App Protect Monitoring config nap_monitoring: + # Buffer size for collector. Will contain log lines and parsed log lines collector_buffer_size: 50000 + # Buffer size for processor. Will contain log lines and parsed log lines processor_buffer_size: 50000 + # Syslog server IP address the collector will be listening to syslog_ip: "127.0.0.1" + # Syslog server port the collector will be listening to syslog_port: 514 - ``` -4. If `location /api` isn’t configured in `nginx.conf`, add this directive: +1. If `location /api` isn’t configured in `nginx.conf`, add this directive: ```nginx server { @@ -82,111 +108,137 @@ NGINX Agent collects metrics, manages configurations, and sends events. Install } ``` - Restart NGINX: + After adding the directive, restart NGINX to apply the changes: - ```bash + ```shell sudo systemctl restart nginx ``` -5. **Important:** The `syslog:server=:` must match the `syslog_ip` and `syslog_port` values in the NGINX Agent configuration file. The dashboards won’t display data if these settings don’t match. - - - For NGINX App Protect Version 5, networking changes prevent using `127.0.0.1` as a syslog server address. Instead, use the `docker0` interface address (typically `192.0.10.1`) or the IP address of the data plane host. +{{}}You can change the values of `syslog_ip` and `syslog_port` to meet your needs. + You must use the same values when configuring logging for the Security Monitoring module. If the `syslog:` configuration does not match these settings, the monitoring dashboards will not display any data. Also, the networking changes for NGINX App Protect Version 5 preclude the use of `127.0.0.1` as a syslog server address. For Version 5, the address of the `docker0` interface (typically `192.0.10.1`) or the IP address of the data plane host can be used for the syslog server address.{{}} -6. Use the NGINX Agent installation script to add `nginx_app_protect` and `nap_monitoring` fields to the configuration. Follow these steps: + {{}}You can use the NGINX Agent installation script to add the fields for `nginx_app_protect` and `nap_monitoring`: - ```bash - # Download the installation script via API - curl https:///install/nginx-agent > install.sh +```shell +# Download install script via API +curl https:///install/nginx-agent > install.sh - # Use the --nap-monitoring flag to set the child fields for nap_monitoring. - # The values will match the example configuration above. - # Use -m | --nginx-app-protect-mode to set up NGINX App Protect management. - # Example: Specify 'precompiled-publication' for precompiled policy publication, - # which sets 'precompiled_publication' to 'true'. To set it to 'false', use 'none'. +# Use the flag --nap-monitoring to set the child fields for the field 'nap_monitoring', the +# child field values will be set to the values in the example configuration from above. Specify +# the -m | --nginx-app-protect-mode flag to set up management of NGINX App Protect on the instance. +# In the example below we specify 'precompiled-publication' for the flag value which will make the +# config field 'precompiled_publication' set to 'true', if you would like to set the config field +# 'precompiled_publication' to 'false' you can specify 'none' as the flag value. +sudo sh ./install.sh --nap-monitoring true --nginx-app-protect-mode precompiled-publication +``` - sudo sh ./install.sh --nap-monitoring true --nginx-app-protect-mode precompiled-publication - ``` +Restart NGINX Agent: - {{}}The `--nap-monitoring` flag adds fields under `nap_monitoring`. The `--nginx-app-protect-mode` flag sets up management of NGINX App Protect with the following options: - - Use `precompiled-publication` to enable precompiled policy publication (`precompiled_publication: true`). - - Use `none` if you don’t want to enable precompiled publication (`precompiled_publication: false`).{{}} +```shell +sudo systemctl restart nginx-agent +``` -7. Restart the NGINX Agent: +{{}} - ```bash - sudo systemctl restart nginx-agent - ``` --- ## Create instances for Security Monitoring only -Use these steps if you’re only monitoring security data without managing configurations in NGINX Instance Manager. +Complete the steps in this section if you are only using the Security Monitoring module to monitor your application security. In this use case, you are **not using Instance Manager** to manage your WAF security policies. -1. Connect to the data plane host via SSH. -2. Create a log format file at `/etc/app_protect/conf/log_sm.json`: +Repeat the steps below on each NGINX App Protect WAF data plane instance. - ```json +1. Use SSH to connect to the data plane host. + +1. Create a new log format definition file with the name `/etc/app_protect/conf/log_sm.json` and the contents shown below. + This defines the log format for the Security Monitoring module. + + This configuration sets the maximum accepted request payload to 2048 bytes and the maximum message size to 5k. The latter setting truncates messages larger than 5k. +2. Add character escaping for the used separator `,` to be escaped with its standard URL encoding `%2C`. + + ``` json { - "filter": { - "request_type": "illegal" - }, - "content": { - "format": "user-defined", - "format_string": "%blocking_exception_reason%,%dest_port%,%ip_client%,%severity%,%uri%", - "escaping_characters": [ - { - "from": ",", - "to": "%2C" - } - ], - "max_request_size": "2048", - "max_message_size": "5k" - } + "filter": { + "request_type": "illegal" + }, + "content": { + "format": "user-defined", + "format_string": "%blocking_exception_reason%,%dest_port%,%ip_client%,%is_truncated_bool%,%method%,%policy_name%,%protocol%,%request_status%,%response_code%,%severity%,%sig_cves%,%sig_set_names%,%src_port%,%sub_violations%,%support_id%,%threat_campaign_names%,%violation_rating%,%vs_name%,%x_forwarded_for_header_value%,%outcome%,%outcome_reason%,%violations%,%violation_details%,%bot_signature_name%,%bot_category%,%bot_anomalies%,%enforced_bot_anomalies%,%client_class%,%client_application%,%client_application_version%,%transport_protocol%,%uri%,%request%", + "escaping_characters": [ + { + "from": ",", + "to": "%2C" + } + ], + "max_request_size": "2048", + "max_message_size": "5k", + "list_delimiter": "::" + } } ``` -3. In the NGINX configuration, add: +1. Find the context in your NGINX configuration where NGINX App Protect WAF logging is enabled. + In the same context, add the `app_protect_security_log` directive shown in the example below to configure attack data logging for use with the Security Monitoring dashboards. ```nginx - app_protect_security_log_enable on; - app_protect_security_log "/etc/app_protect/conf/log_sm.json" syslog:server=127.0.0.1:514; + app_protect_security_log_enable on; + app_protect_security_log "/etc/app_protect/conf/log_sm.json" syslog:server=127.0.0.1:514; ``` -4. Restart NGINX Agent and NGINX: + {{}}The `syslog:server=:` must match the `syslog_ip` and `syslog_port` values specified in the [NGINX Agent configuration file](#agent-config). The dashboards won't display any data if these settings don't match. Also, the networking changes for NGINX App Protect Version 5 preclude the use of `127.0.0.1` as a syslog server address. For Version 5, the address of the `docker0` interface (typically `192.0.10.1`) or the IP address of the data plane host can be used for the syslog server address.{{}} + +1. Restart NGINX Agent and the NGINX web server. ```bash sudo systemctl restart nginx-agent sudo systemctl restart nginx ``` +You should now be able to view data from your NGINX App Protect instances in the NGINX Security Monitoring dashboards. + --- ## Create instances for Security Monitoring with Instance Manager -Follow these steps to use Security Monitoring and Instance Manager together. +Complete the steps in this section if you want to use the Security Monitoring module **and** Instance Manager. In this use case, you will use NGINX Instance Manager to monitor threats and to manage your NGINX App Protect WAF configurations and security policies. + +Take the steps below to update your NGINX App Protect WAF configurations by using Instance Manager. -1. Log in to the NGINX Instance Manager interface. -2. Navigate to **Modules** > **Instance Manager**. -3. Select **Edit Config** for the desired instance or group. -4. Add the following to the configuration file: +1. Log in to the NGINX Instance Manager user interface and go to **Modules** > **Instance Manager**. +1. Select **Instances** or **Instance Groups**, as appropriate. +1. Select **Edit Config** from the **Actions** menu for the desired instance or instance group. +1. Next, edit the desired configuration file. You will add directives that reference the security policies bundle and enable the NGINX App Protect WAF logs required by the Security Monitoring dashboards. An example configuration is provided below. ```nginx - app_protect_enable on; - app_protect_policy_file "/etc/nms/NginxDefaultPolicy.tgz"; - app_protect_security_log_enable on; - app_protect_security_log "/etc/nms/secops_dashboard.tgz" syslog:server=127.0.0.1:514; + app_protect_enable on; + app_protect_enable on; + app_protect_policy_file "/etc/nms/NginxDefaultPolicy.tgz"; + app_protect_security_log_enable on; + app_protect_security_log "/etc/nms/secops_dashboard.tgz" syslog:server=127.0.0.1:514; ``` -5. **Important:** Add the `app_protect_policy_file` directive with a reference to a security policy. Use the `.tgz` file extension for precompiled publication or `.json` for non-precompiled configurations. Ensure the policy file exists at the specified location. If using custom policies, update them in NGINX Instance Manager. + - Add the `app_protect_policy_file` directive with a reference to a security policy. + + The policy reference must use the `.tgz` file extension when using Instance Manager to perform precompiled publication of NGINX App Protect WAF policies and log profiles. The file path referenced must exist on the NGINX Instance Manager host, but it's ok if the policy file doesn't exist yet. If your Instance is not configured for precompiled publication, then use the `.json` file extension for polcies and log profiles. In this case, the file path referenced in the NGINX configuration must reside on the Instance. + + If you are using custom security policies, at this stage, it's fine to use the default security policy shown in the example above. After completing the steps in this guide, refer to the instructions in [Set Up App Protect WAF Configuration Management]({{< relref "/nim/nginx-app-protect/setup-waf-config-management#add-waf-config" >}}) to add your custom security policy files to NGINX Instance Manager and update your NGINX configuration. + + - Add the `app_protect_security_log_enable on` and the `app_protect_security_log` directive to any NGINX context where NGINX App Protect WAF is enabled and you want to be able to review attack data. + + The logging configuration must reference `"/etc/nms/secops_dashboard.tgz"`, as shown in the example. + + If the `app_protect_security_log_enable` setting is already present, just add the `app_protect_security_log` beneath it in the same context. + + {{}}The `syslog:server=:` must match the `syslog_ip` and `syslog_port` values specified in the [NGINX Agent configuration file](#agent-config). The Security Monitoring dashboards won't display any data if these settings don't match. Also, the networking changes for NGINX App Protect Version 5 preclude the use of `127.0.0.1` as a syslog server address. For Version 5, the address of the `docker0` interface (typically `192.0.10.1`) or the IP address of the data plane host can be used for the syslog server address.{{}} -6. Add the `app_protect_security_log_enable` and `app_protect_security_log` directives to log attack data. Ensure the configuration references the correct `syslog:server` values. +1. Select **Publish** to immediately push the configuration file updates out to your NGINX instance or instance group. -7. Select **Publish** to push updates to instances. +You should now be able to view data from your NGINX App Protect WAF instances in the Security Monitoring dashboard. --- ## See also -- [Add user access to Security Monitoring dashboards]({{< relref "/nim/nginx-app-protect/security-monitoring/give-access-to-security-monitoring-dashboards.md" >}}) -- [Manage your app protect WAF configs]({{< relref "/nim/nginx-app-protect/setup-waf-config-management" >}}) +- [Add user access to Security Monitoring dashboards]({{< ref "/nim/nginx-app-protect/security-monitoring/give-access-to-security-monitoring-dashboards.md" >}}) +- [Manage your app protect WAF configs]({{< relref "/nim/nginx-app-protect/setup-waf-config-management.md" >}}) diff --git a/content/nim/nginx-app-protect/security-monitoring/troubleshooting.md b/content/nim/nginx-app-protect/security-monitoring/troubleshooting.md index 983405844..8bbe9b78a 100644 --- a/content/nim/nginx-app-protect/security-monitoring/troubleshooting.md +++ b/content/nim/nginx-app-protect/security-monitoring/troubleshooting.md @@ -1,12 +1,11 @@ --- -docs: DOCS-1226 -doctypes: -- reference -tags: -- docs title: Troubleshooting +weight: 500 toc: true -weight: 1000 +type: how-to +product: NIM +docs: DOCS-1226 + --- ## Security event log backup with Security Monitoring diff --git a/content/nim/nginx-app-protect/security-monitoring/update-geo-db.md b/content/nim/nginx-app-protect/security-monitoring/update-geo-db.md index 7d5a2495f..72bee1780 100644 --- a/content/nim/nginx-app-protect/security-monitoring/update-geo-db.md +++ b/content/nim/nginx-app-protect/security-monitoring/update-geo-db.md @@ -26,15 +26,15 @@ Ensure the following prerequisites are met: ## Update the geolocation database 1. Create a [MaxMind](https://dev.maxmind.com/geoip/geolite2-free-geolocation-data/) account and subscribe to receive updates for the GeoLite2 database. -2. Download the GeoLite2 Country database (Edition ID: GeoLite2-Country) in GeoIP2 Binary `.mmdb` format from the [MaxMind](https://www.maxmind.com/en/accounts/current/geoip/downloads) website. The database is included in a `.gzip` file. -3. Extract the `.gzip` file to access the GeoLite2 Country database file, named `GeoLite2-Country.mmdb`. -4. Replace the existing `GeoLite2-Country.mmdb` file on the NGINX Instance Manager control plane at `/usr/share/nms/geolite2/GeoLite2-Country.mmdb` with the new database: +1. Download the GeoLite2 Country database (Edition ID: GeoLite2-Country) in GeoIP2 Binary `.mmdb` format from the [MaxMind](https://www.maxmind.com/en/accounts/current/geoip/downloads) website. The database is included in a `.gzip` file. +1. Extract the `.gzip` file to access the GeoLite2 Country database file, named `GeoLite2-Country.mmdb`. +1. Replace the existing `GeoLite2-Country.mmdb` file on the NGINX Instance Manager control plane at `/usr/share/nms/geolite2/GeoLite2-Country.mmdb` with the new database: ```bash sudo scp /path/to/GeoLite2-Country.mmdb {user}@{host}:/usr/share/nms/geolite2/GeoLite2-Country.mmdb ``` -5. Restart the NGINX Instance Manager services to apply the update: +1. Restart the NGINX Instance Manager services to apply the update: ```bash sudo systemctl restart nms-ingestion diff --git a/content/nim/nginx-app-protect/security-monitoring/update-signatures.md b/content/nim/nginx-app-protect/security-monitoring/update-signatures.md index 374a75076..a606dc797 100644 --- a/content/nim/nginx-app-protect/security-monitoring/update-signatures.md +++ b/content/nim/nginx-app-protect/security-monitoring/update-signatures.md @@ -28,20 +28,20 @@ Ensure the following prerequisites are met: ## Update the Signature Database 1. Open an SSH connection to the data plane host and log in. -2. Generate a Signature Report file using the [Attack Signature Report Tool]({{< relref "/nap-waf/v4/configuration-guide/configuration.md#attack-signature-report-tool" >}}). Save the file as `signature-report.json`: +1. Generate a Signature Report file using the [Attack Signature Report Tool]({{< relref "/nap-waf/v4/configuration-guide/configuration.md#attack-signature-report-tool" >}}). Save the file as `signature-report.json`: ```bash sudo /opt/app_protect/bin/get-signatures -o ./signature-report.json ``` -3. Open an SSH connection to the management plane host and log in. -4. Copy the `signature-report.json` file to the NGINX Instance Manager control plane at `/usr/share/nms/sigdb/`: +1. Open an SSH connection to the management plane host and log in. +1. Copy the `signature-report.json` file to the NGINX Instance Manager control plane at `/usr/share/nms/sigdb/`: ```bash sudo scp /path/to/signature-report.json {user}@{host}:/usr/share/nms/sigdb/signature-report.json ``` -5. Restart the NGINX Instance Manager services to apply the update: +1. Restart the NGINX Instance Manager services to apply the update: ```bash sudo systemctl restart nms-ingestion diff --git a/content/nim/nginx-app-protect/setup-waf-config-management.md b/content/nim/nginx-app-protect/setup-waf-config-management.md index 06e1dca21..857b94272 100644 --- a/content/nim/nginx-app-protect/setup-waf-config-management.md +++ b/content/nim/nginx-app-protect/setup-waf-config-management.md @@ -1,18 +1,14 @@ --- +title: Manage Your App Protect WAF Configs +weight: 100 +toc: true description: Learn how to use F5 NGINX Instance Manager to secure your applications with NGINX App Protect WAF security policies. +type: how-to +product: NIM docs: DOCS-996 -doctypes: -- task -tags: -- docs -title: Manage Your App Protect WAF Configs -toc: true -weight: 100 --- -{{< shortversions "2.6.0" "latest" "nimvers" >}} - ## Overview Instance Manager helps you manage your F5 NGINX App Protect WAF configurations, making it easy to stay secure. This guide shows you how to set up Instance Manager to configure and manage NGINX App Protect WAF. @@ -21,9 +17,9 @@ Instance Manager helps you manage your F5 NGINX App Protect WAF configurations, Complete the following prerequisites before proceeding with this guide. -- You have one or more instances of [NGINX App Protect WAF](https://docs.nginx.com/nginx-app-protect/admin-guide/install/) installed and running. See [Support for NGINX App Protect WAF]({{< relref "tech-specs#support-for-nginx-app-protect-waf" >}}) for a list of supported versions. +- You have one or more instances of [NGINX App Protect WAF]({{< ref "/nap-waf/" >}}) installed and running. See [Support for NGINX App Protect WAF]({{< ref "tech-specs.md#support-for-nginx-app-protect-waf" >}}) for a list of supported versions. - {{}}If you are using configuration management and the NGINX Instance Manager Security Monitoring, follow the instructions in the [setup guide]({{}}) to set up your NGINX App Protect instances before proceeding with this guide.{{}} + {{< note >}} If you are using configuration management and the NGINX Instance Manager Security Monitoring, follow the instructions in the [setup guide]({{< ref "/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md" >}}) to set up your NGINX App Protect instances before proceeding with this guide. {{}} - You have Instance Manager v2.6.0 or later [installed]({{< relref "/nim/deploy/vm-bare-metal/_index.md" >}}), licensed, and running. If you have a subscription to NGINX App Protect WAF, you can find your Instance Manager license in the subscription details section of [MyF5](https://my.f5.com). @@ -398,7 +394,7 @@ curl -X POST 'https://{{NMS_FQDN}}/api/platform/v1/security/threat-campaigns' \ The Security Monitoring module's analytics dashboards make use of a Signature Database to provide more information on Attack Signatures that have triggered Security Violations, such as the Signature's name, accuracy, and risk level. -To ensure that the dashboards show the most up-to-date information, you need to [update the Security Monitoring Signature Database]({{< relref "/nim/nginx-app-protect/security-monitoring/update-signatures" >}}) +To ensure that the dashboards show the most up-to-date information, you need to [update the Security Monitoring Signature Database]({{< ref "/nim/nginx-app-protect/security-monitoring/update-signatures.md" >}}) --- @@ -922,7 +918,7 @@ server { app_protect_security_log "/etc/nms/secops_dashboard.tgz" syslog:server=127.0.0.1:514; ``` -Refer to the [Security Monitoring setup guide]({{< relref "/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances" >}}) to learn more. {{}} +Refer to the [Security Monitoring setup guide]({{< relref "/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md" >}}) to learn more. {{}} {{}} NGINX configuration for NGINX App Protect Version 5 requires the following changes: From f2fb2709829eb45df6e5896bcf78fcd9481a00d5 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Wed, 19 Mar 2025 11:07:11 +0000 Subject: [PATCH 032/723] docs: add agent unprivileged doc (#297) * docs: add agent unprivileged doc * Update content/agent/installation-upgrade/installation-unprivileged.md Co-authored-by: Alan Dooley * Update content/agent/installation-upgrade/installation-unprivileged.md Co-authored-by: Alan Dooley * Update content/agent/installation-upgrade/installation-unprivileged.md Co-authored-by: Alan Dooley * Update content/agent/installation-upgrade/installation-unprivileged.md Co-authored-by: Alan Dooley * Update content/agent/installation-upgrade/installation-unprivileged.md Co-authored-by: Alan Dooley * docs: remove indentation * Update content/agent/installation-upgrade/installation-unprivileged.md * Update content/agent/installation-upgrade/installation-unprivileged.md * chore: remove separators --------- Co-authored-by: Alan Dooley --- .../installation-unprivileged.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 content/agent/installation-upgrade/installation-unprivileged.md diff --git a/content/agent/installation-upgrade/installation-unprivileged.md b/content/agent/installation-upgrade/installation-unprivileged.md new file mode 100644 index 000000000..137bdf752 --- /dev/null +++ b/content/agent/installation-upgrade/installation-unprivileged.md @@ -0,0 +1,57 @@ +--- +title: Run without root privileges +weight: 450 +toc: true +type: how-to +product: Agent +--- + +## Overview + +If the policies of your organization do not allow running processes as root, you can run NGINX Agent under a user without root privileges. + +This also aligns with the principle of least privilege, which is a security concept that limits the access rights of users to the bare minimum permissions they need to perform their work. + +--- + +## Before you begin + +Please note that **root access is required to install NGINX Agent**. The agent can be run under a non-root user after the installation. + +--- + +## Installation + +The installation process involves installing NGINX Plus without root privileges and then installing NGINX Agent: + +### Install NGINX Plus without root privileges + +You can install NGINX Plus without root privileges following the steps on the [NGINX Plus installation page]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus/#unpriv_install" >}}). The steps include a script that will allow you to install NGINX Plus in a non-root environment. + +{{< note >}} +NGINX Agent has its own user group (`nginx-agent`) which is created when NGINX Agent is installed. The user NGINX is running under is added to this user group during the installation of NGINX Agent. If you change the NGINX user after installing NGINX Agent, you will need to [manually add the new NGINX user]({{< ref "/agent/configuration/configure-nginx-agent-group.md" >}}) to the `nginx-agent` group. +{{< /note >}} + +### Install NGINX Agent + +After installing NGINX Plus, you can install NGINX agent following the steps on the [NGINX Agent installation page]({{< ref "/agent/installation-upgrade/installation-oss.md" >}}). + +### Start NGINX Agent + +Run the command corresponding to your operating system to start NGINX Agent: + +{{}} + +| Operating System | Command(s) | +|------------------------------------------------------|------------------------------------------------| +| RHEL, CentOS,
Rocky Linux, AlmaLinux,
Oracle Linux, Ubuntu,
Debian, SLES, Amazon Linux | ```sudo systemctl start nginx-agent``` | +| Alpine Linux | ```sudo rc-service nginx-agent start```
or
```sudo /etc/init.d/nginx-agent start``` | +| FreeBSD | ```sudo service nginx-agent start``` | + +{{
}} + +You can confirm that NGINX Agent is running under the same user as NGINX Plus by running the following command: + +```bash +ps aux | grep nginx-agent +``` From 32293496669fb20323d5de82f93a1df06ff761c3 Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Wed, 19 Mar 2025 11:48:33 -0700 Subject: [PATCH 033/723] Removed unnecessary metadata keys and standardized the remaining ones (#287) * Removed unnecessary metadata keys and standardized the remaining ones * Update call-out shortcode usage in Contributing (#286) * chore: Update call-out shortcode usage in Contributing * Update with suggestion Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * removed extra blank line after front matter block * edits * Update content/controller/admin-guides/install/resilient-cluster-aws.md Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> * Update content/mesh/about/mesh-tech-specs.md * fixed types that had blank values * removed null from empty descriptions * removed ' character from weight key * removed trial links that weren't correct --------- Co-authored-by: Lam <150060045+lamATnginx@users.noreply.github.com> Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> Co-authored-by: Alan Dooley --- content/agent/_index.md | 11 +++---- content/agent/configuration/_index.md | 10 +++--- .../configuration/configuration-overview.md | 9 +++--- .../configure-nginx-agent-features.md | 7 ++--- .../configure-nginx-agent-group.md | 9 +++--- .../configuration/encrypt-communication.md | 4 +-- content/agent/configuration/health-checks.md | 7 ++--- content/agent/contribute/_index.md | 10 +++--- content/agent/contribute/community.md | 9 +++--- .../agent/contribute/dev-environment-setup.md | 9 +++--- content/agent/installation-upgrade/_index.md | 7 ++--- .../container-environments/_index.md | 7 ++--- .../container-environments/docker-images.md | 9 +++--- .../container-environments/docker-support.md | 8 ++--- .../installation-upgrade/getting-started.md | 9 +++--- .../installation-github.md | 9 +++--- .../installation-upgrade/installation-oss.md | 9 +++--- .../installation-upgrade/installation-plus.md | 9 +++--- .../agent/installation-upgrade/uninstall.md | 9 +++--- content/agent/installation-upgrade/upgrade.md | 9 +++--- content/agent/overview.md | 9 +++--- content/agent/technical-specifications.md | 9 +++--- content/amplify/additional-resources.md | 3 +- content/amplify/faq/general.md | 4 +-- content/amplify/faq/metrics-and-metadata.md | 3 +- content/amplify/faq/nginx-amplify-agent.md | 3 +- content/amplify/faq/user-interface.md | 3 +- content/amplify/known-issues.md | 3 +- .../metrics-metadata/metrics-overview.md | 3 +- .../amplify/metrics-metadata/nginx-metrics.md | 3 +- .../amplify/metrics-metadata/os-metrics.md | 3 +- .../amplify/metrics-metadata/other-metrics.md | 3 +- .../amplify-agent-overview.md | 3 +- .../configuration-analysis.md | 3 +- .../configuring-metric-collection.md | 3 +- .../detecting-monitoring-instances.md | 3 +- .../install/configuring-amplify-agent.md | 3 +- .../install/installing-amplify-agent.md | 3 +- .../install/uninstalling-amplify-agent.md | 3 +- .../install/updating-amplify-agent.md | 3 +- .../install/using-amplify-agent-docker.md | 3 +- .../metadata-metrics-collection.md | 3 +- .../nginx-amplify-agent/source-code.md | 3 +- .../troubleshooting-metrics-collection.md | 3 +- .../overview/overview-main-components.md | 3 +- .../user-interface/account-settings.md | 3 +- content/amplify/user-interface/alerts.md | 3 +- content/amplify/user-interface/analyzer.md | 3 +- content/amplify/user-interface/dashboards.md | 3 +- content/amplify/user-interface/graphs.md | 3 +- content/amplify/user-interface/inventory.md | 3 +- content/amplify/user-interface/overview.md | 3 +- content/controller/admin-guides/_index.md | 4 +-- .../admin-guides/backup-restore/_index.md | 6 +--- .../backup-restore-cluster-config.md | 6 ++-- .../backup-restore-embedded-config-db.md | 6 ++-- .../backup-restore-external-config-db.md | 6 ++-- .../backup-restore-metrics-db.md | 6 ++-- .../admin-guides/config-agent/_index.md | 10 ++---- .../config-agent/about-controller-agent.md | 6 ++-- .../configure-metrics-collection.md | 10 +++--- .../config-agent/configure-the-agent.md | 6 ++-- .../config-agent/use-agent-with-docker.md | 6 ++-- .../controller/admin-guides/install/_index.md | 7 +---- .../admin-guides/install/agent-restart.md | 6 ++-- .../install/get-n-plus-cert-and-key.md | 10 +++--- .../install/install-agent-non-root.md | 6 ++-- .../install/install-for-controller.md | 8 ++--- .../install/install-nginx-controller-agent.md | 7 ++--- .../install-nginx-controller-rhel-8.md | 7 ++--- .../install/install-nginx-controller.md | 6 ++-- .../install/nginx-controller-tech-specs.md | 6 ++-- .../install/resilient-cluster-aws.md | 10 +++--- .../resilient-cluster-private-cloud.md | 10 +++--- .../install/try-nginx-controller-app-sec.md | 10 +++--- .../install/try-nginx-controller.md | 10 +++--- .../install/using-helper-script.md | 6 ++-- content/controller/analytics/_index.md | 5 +-- content/controller/analytics/alerts/_index.md | 5 +-- .../analytics/alerts/about-alerts.md | 6 ++-- .../analytics/alerts/manage-alerts.md | 6 ++-- .../alerts/manage-registered-emails.md | 6 ++-- .../alerts/service-now-notifications.md | 7 ++--- .../controller/analytics/catalogs/_index.md | 8 +---- .../analytics/catalogs/dimensions.md | 7 ++--- .../controller/analytics/catalogs/metrics.md | 10 +++--- .../controller/analytics/dashboards/_index.md | 5 +-- .../dashboards/application-health-score.md | 6 ++-- .../analytics/dashboards/custom-dashboards.md | 6 ++-- .../dashboards/overview-dashboard.md | 6 ++-- .../analytics/data-explorer/_index.md | 5 +-- .../analytics/data-explorer/how-to-use.md | 9 +++--- content/controller/analytics/events/_index.md | 5 +-- .../analytics/events/view-events.md | 6 ++-- .../controller/analytics/forwarders/_index.md | 5 +-- .../forward-analytics-to-datadog.md | 6 ++-- .../forwarders/forward-analytics-to-otlp.md | 6 ++-- .../forwarders/forward-analytics-to-splunk.md | 6 ++-- .../forwarders/forward-analytics-to-syslog.md | 6 ++-- .../controller/analytics/metrics/_index.md | 5 +-- .../analytics/metrics/metrics-api.md | 6 ++-- .../metrics/overview-metrics-metadata.md | 10 +++--- .../metrics/overview-traffic-metrics.md | 8 ++--- .../analytics/metrics/view-traffic-metrics.md | 8 ++--- .../analytics/view-app-security-analytics.md | 8 ++--- content/controller/api-management/_index.md | 4 +-- .../controller/api-management/manage-apis.md | 6 ++-- .../api-management/manage-dev-portals.md | 6 ++-- content/controller/api/_index.md | 4 +-- content/controller/api/overview.md | 6 ++-- .../controller/api/reference/ctlr-adc-api.md | 12 +++---- .../api/reference/ctlr-analytics-api.md | 7 ++--- .../controller/api/reference/ctlr-apim-api.md | 7 ++--- .../api/reference/ctlr-platform-api.md | 7 ++--- content/controller/app-delivery/_index.md | 6 +--- .../controller/app-delivery/about-caching.md | 10 +++--- .../controller/app-delivery/about-snippets.md | 6 ++-- .../app-delivery/deploy-simple-app.md | 6 ++-- .../controller/app-delivery/manage-apps.md | 6 ++-- .../app-delivery/security/_index.md | 3 +- .../app-delivery/security/concepts/_index.md | 3 +- .../app-sec-default-policy-original.md | 8 ++--- .../security/concepts/app-sec-metrics.md | 9 +++--- .../concepts/bring-your-own-policy.md | 9 +++--- .../concepts/extend-app-security-snippets.md | 8 ++--- .../security/concepts/what-is-waf.md | 8 ++--- .../app-delivery/security/tutorials/_index.md | 3 +- .../tutorials/add-app-security-with-waf.md | 8 ++--- .../tutorials/set-waf-monitor-mode.md | 6 ++-- .../security/tutorials/tune-waf-for-app.md | 8 ++--- .../tutorials/using-rbac-with-app-security.md | 6 ++-- .../tutorials/view-app-security-analytics.md | 8 ++--- content/controller/infrastructure/_index.md | 4 +-- .../infrastructure/instances/_index.md | 4 +-- .../instances/add-aws-instance.md | 6 ++-- .../instances/add-azure-instance.md | 7 ++--- .../instances/add-nap-instance.md | 6 ++-- .../instances/add-vsphere-instance.md | 7 ++--- .../infrastructure/instances/analyzer.md | 6 ++-- .../infrastructure/instances/graphs.md | 13 +++----- .../infrastructure/instances/ha-data-plane.md | 6 ++-- .../manage-containerized-instances.md | 6 ++-- .../instances/manage-instance-templates.md | 6 ++-- .../instances/manage-instances.md | 6 ++-- .../locations/manage-locations.md | 6 ++-- content/controller/platform/_index.md | 4 +-- .../platform/about/get-controller-version.md | 6 ++-- .../platform/about/what-is-controller.md | 6 ++-- .../platform/access-management/_index.md | 4 +-- .../manage-active-directory-auth-provider.md | 10 +++--- .../access-management/manage-roles.md | 6 ++-- .../access-management/manage-users.md | 6 ++-- .../platform/integrations/_index.md | 4 +-- .../platform/integrations/aws-integration.md | 6 ++-- .../integrations/big-ip-self-service.md | 6 ++-- .../platform/licensing-controller.md | 6 ++-- .../controller/platform/maintenance/_index.md | 4 +-- .../maintenance/changing-ip-address.md | 8 ++--- content/controller/platform/manage-cluster.md | 8 ++--- content/controller/releases/_index.md | 3 -- content/controller/releases/adc/_index.md | 8 ++--- .../releases/adc/adc-release-notes-3.20.1.md | 6 ++-- .../releases/adc/adc-release-notes-3.20.md | 6 ++-- .../releases/adc/adc-release-notes-3.21.md | 6 ++-- .../releases/adc/adc-release-notes-3.22.1.md | 6 ++-- .../releases/adc/adc-release-notes-3.22.2.md | 6 ++-- .../releases/adc/adc-release-notes-3.22.3.md | 6 ++-- .../releases/adc/adc-release-notes-3.22.4.md | 6 ++-- .../releases/adc/adc-release-notes-3.22.5.md | 6 ++-- .../releases/adc/adc-release-notes-3.22.6.md | 6 ++-- .../releases/adc/adc-release-notes-3.22.7.md | 6 ++-- .../releases/adc/adc-release-notes-3.22.8.md | 6 ++-- .../releases/adc/adc-release-notes-3.22.md | 6 ++-- content/controller/releases/apim/_index.md | 4 +-- .../apim/apim-release-notes-3.18.1.md | 6 ++-- .../releases/apim/apim-release-notes-3.18.md | 6 ++-- .../apim/apim-release-notes-3.19.1.md | 6 ++-- .../apim/apim-release-notes-3.19.2.md | 6 ++-- .../releases/apim/apim-release-notes-3.19.md | 6 ++-- content/controller/releases/release-notes.md | 8 ++--- content/controller/services/_index.md | 4 +-- .../controller/services/available-policies.md | 6 ++-- content/controller/services/manage-certs.md | 6 ++-- .../services/manage-environments.md | 6 ++-- .../controller/services/manage-gateways.md | 6 ++-- .../services/manage-identity-providers.md | 6 ++-- content/controller/services/overview.md | 6 ++-- content/controller/support/_index.md | 3 -- content/controller/support/contact-support.md | 7 ++--- .../support/troubleshooting-controller.md | 11 +++---- .../support/troubleshooting-forwarders.md | 6 ++-- .../includes/security/jwt-password-note.md | 1 - content/mesh/_index.md | 16 +++++----- content/mesh/about/_index.md | 9 +++--- content/mesh/about/architecture.md | 10 +++--- content/mesh/about/mesh-tech-specs.md | 9 +++--- content/mesh/about/what-is-nsm.md | 9 +++--- content/mesh/get-started/_index.md | 8 ++--- .../mesh/get-started/install/configuration.md | 9 +++--- .../get-started/install/install-with-helm.md | 9 +++--- content/mesh/get-started/install/install.md | 8 ++--- .../mesh/get-started/platform-setup/_index.md | 4 +-- .../mesh/get-started/platform-setup/gke.md | 8 +++-- .../get-started/platform-setup/kubeadm.md | 5 +-- .../get-started/platform-setup/kubespray.md | 5 +-- .../get-started/platform-setup/openshift.md | 8 +++-- .../platform-setup/persistent-storage.md | 8 +++-- .../mesh/get-started/platform-setup/rke.md | 8 +++-- .../platform-setup/supported-platforms.md | 6 ++-- .../uninstall/uninstall-with-helm.md | 9 +++--- .../mesh/get-started/uninstall/uninstall.md | 7 +++-- .../get-started/upgrade/upgrade-with-helm.md | 9 +++--- content/mesh/get-started/upgrade/upgrade.md | 9 +++--- content/mesh/guides/_index.md | 6 ++-- content/mesh/guides/inject-sidecar-proxy.md | 11 ++++--- content/mesh/guides/monitoring-and-tracing.md | 11 ++++--- content/mesh/guides/private-registry.md | 9 +++--- content/mesh/guides/production-tuning.md | 7 +++-- content/mesh/guides/prometheus-metrics.md | 10 +++--- content/mesh/guides/secure-traffic-mtls.md | 10 +++--- content/mesh/guides/smi-traffic-metrics.md | 10 +++--- content/mesh/guides/smi-traffic-policies.md | 11 ++++--- content/mesh/guides/v1alpha1-ratelimit.md | 8 ++--- content/mesh/reference/_index.md | 4 +-- content/mesh/reference/api-usage.md | 8 ++--- content/mesh/reference/nginx-meshctl.md | 7 +++-- content/mesh/reference/permissions.md | 10 +++--- content/mesh/releases/_index.md | 7 ++--- .../mesh/releases/oss-dependencies/index.md | 2 -- content/mesh/releases/release-notes-0.5.0.md | 12 ++++--- content/mesh/releases/release-notes-0.6.0.md | 12 ++++--- content/mesh/releases/release-notes-0.7.0.md | 12 ++++--- content/mesh/releases/release-notes-0.8.0.md | 12 ++++--- content/mesh/releases/release-notes-0.9.0.md | 12 ++++--- content/mesh/releases/release-notes-0.9.1.md | 12 ++++--- content/mesh/releases/release-notes-1.0.0.md | 12 ++++--- content/mesh/releases/release-notes-1.0.1.md | 12 ++++--- content/mesh/releases/release-notes-1.1.0.md | 12 ++++--- content/mesh/releases/release-notes-1.2.0.md | 12 ++++--- content/mesh/releases/release-notes-1.2.1.md | 12 ++++--- content/mesh/releases/release-notes-1.3.0.md | 12 ++++--- content/mesh/releases/release-notes-1.3.1.md | 12 ++++--- content/mesh/releases/release-notes-1.4.0.md | 12 ++++--- content/mesh/releases/release-notes-1.4.1.md | 12 ++++--- content/mesh/releases/release-notes-1.5.0.md | 12 ++++--- content/mesh/releases/release-notes-1.6.0.md | 12 ++++--- content/mesh/releases/release-notes-1.7.0.md | 12 ++++--- content/mesh/releases/release-notes-2.0.0.md | 13 +++++--- content/mesh/support/_index.md | 6 ++-- content/mesh/support/contact-support.md | 9 +++--- content/mesh/tutorials/_index.md | 6 ++-- content/mesh/tutorials/deploy-example-app.md | 11 ++++--- content/mesh/tutorials/kic/deploy-with-kic.md | 10 +++--- .../mesh/tutorials/kic/egress-walkthrough.md | 10 +++--- .../tutorials/kic/ingress-udp-walkthrough.md | 10 +++--- .../mesh/tutorials/kic/ingress-walkthrough.md | 10 +++--- content/mesh/tutorials/observability.md | 10 +++--- .../mesh/tutorials/ratelimit-walkthrough.md | 9 +++--- .../tutorials/trafficsplit-deployments.md | 10 +++--- content/nap-dos/_index.md | 5 +-- content/nap-dos/deployment-guide/_index.md | 3 -- ...with-dos-and-waf-on-amazon-web-services.md | 4 +-- .../learn-about-deployment.md | 4 +-- .../nap-dos/directives-and-policy/_index.md | 4 +-- content/nap-dos/monitoring/_index.md | 4 +-- content/nap-dos/monitoring/access-log.md | 4 +-- .../monitoring/live-activity-monitoring.md | 4 +-- content/nap-dos/monitoring/operation-log.md | 4 +-- content/nap-dos/monitoring/security-log.md | 4 +-- content/nap-dos/monitoring/types-of-logs.md | 4 +-- content/nap-dos/releases/_index.md | 4 +-- .../nap-dos/troubleshooting-guide/_index.md | 4 +-- .../how-to-troubleshoot.md | 4 +-- content/nap-waf/_index.md | 10 ++---- content/nap-waf/v4/_index.md | 4 +-- content/nap-waf/v4/admin-guide/_index.md | 8 ++--- content/nap-waf/v4/admin-guide/install-nms.md | 4 +-- .../nap-waf/v4/admin-guide/upgrade-nap-waf.md | 7 ++--- .../nap-waf/v4/configuration-guide/_index.md | 5 +-- .../v4/configuration-guide/configuration.md | 4 +-- .../nap-waf/v4/declarative-policy/_index.md | 7 ++--- content/nap-waf/v4/logging-overview/_index.md | 8 ++--- .../nap-waf/v4/logging-overview/access-log.md | 4 +-- .../nap-waf/v4/logging-overview/debug-logs.md | 4 +-- .../v4/logging-overview/logs-overview.md | 4 +-- .../v4/logging-overview/operation-logs.md | 4 +-- .../v4/logging-overview/security-log.md | 4 +-- content/nap-waf/v4/releases/_index.md | 8 ++--- .../v4/troubleshooting-guide/_index.md | 7 ++--- .../troubleshooting-guide/troubleshooting.md | 4 +-- content/nap-waf/v5/_index.md | 4 +-- content/nap-waf/v5/admin-guide/_index.md | 8 ++--- .../nap-waf/v5/configuration-guide/_index.md | 5 +-- .../v5/configuration-guide/configuration.md | 8 ++--- .../nap-waf/v5/declarative-policy/_index.md | 4 +-- .../nap-waf/v5/declarative-policy/policy.md | 10 +++--- content/nap-waf/v5/logging-overview/_index.md | 8 ++--- .../nap-waf/v5/logging-overview/access-log.md | 10 +++--- .../v5/logging-overview/logs-overview.md | 4 +-- .../v5/logging-overview/security-log.md | 10 +++--- content/nap-waf/v5/releases/_index.md | 8 ++--- .../v5/troubleshooting-guide/_index.md | 4 +-- .../troubleshooting-guide/troubleshooting.md | 10 +++--- content/nginx-one/about.md | 7 ++--- content/nginx-one/api/api-reference-guide.md | 9 ++---- content/nginx-one/api/authentication.md | 6 ++-- content/nginx-one/changelog.md | 8 ++--- content/nginx-one/glossary.md | 6 ++-- .../certificates/manage-certificates.md | 9 ++---- .../how-to/config-sync-groups/add-file-csg.md | 9 ++---- .../manage-config-sync-groups.md | 9 ++---- ...ginx-plus-container-images-to-nginx-one.md | 8 ++--- .../create-manage-data-plane-keys.md | 6 ++-- .../how-to/nginx-configs/add-file.md | 9 ++---- .../how-to/nginx-configs/add-instance.md | 6 ++-- .../clean-up-unavailable-instances.md | 8 ++--- .../manage-config-sync-groups.md | 9 ++---- .../view-edit-nginx-configurations.md | 8 ++--- .../set-up-nginx-proxy-for-nginx-one.md | 8 ++--- content/nginx/_index.md | 9 +++--- content/nginx/admin-guide/_index.md | 4 +-- .../admin-guide/basic-functionality/_index.md | 4 +-- .../managing-configuration-files.md | 4 +-- .../basic-functionality/runtime-control.md | 4 +-- .../nginx/admin-guide/content-cache/_index.md | 8 ++--- .../content-cache/content-caching.md | 4 +-- .../admin-guide/dynamic-modules/_index.md | 4 +-- .../admin-guide/dynamic-modules/brotli.md | 4 +-- .../dynamic-modules/cookie-flag.md | 4 +-- .../dynamic-modules/dynamic-modules.md | 4 +-- .../dynamic-modules/encrypted-session.md | 6 ++-- .../nginx/admin-guide/dynamic-modules/fips.md | 4 +-- .../admin-guide/dynamic-modules/geoip.md | 4 +-- .../admin-guide/dynamic-modules/geoip2.md | 4 +-- .../dynamic-modules/headers-more.md | 4 +-- .../http-substitutions-filter.md | 4 +-- .../dynamic-modules/image-filter.md | 4 +-- .../nginx/admin-guide/dynamic-modules/lua.md | 6 ++-- .../nginx/admin-guide/dynamic-modules/ndk.md | 6 ++-- .../admin-guide/dynamic-modules/nginscript.md | 4 +-- .../admin-guide/dynamic-modules/nginx-waf.md | 4 +-- .../dynamic-modules/opentelemetry.md | 4 +-- .../dynamic-modules/opentracing.md | 14 ++++----- .../dynamic-modules/passenger-open-source.md | 4 +-- .../nginx/admin-guide/dynamic-modules/perl.md | 4 +-- .../dynamic-modules/prometheus-njs.md | 4 +-- .../nginx/admin-guide/dynamic-modules/rtmp.md | 4 +-- .../admin-guide/dynamic-modules/set-misc.md | 4 +-- .../admin-guide/dynamic-modules/spnego.md | 4 +-- .../admin-guide/dynamic-modules/uninstall.md | 4 +-- .../nginx/admin-guide/dynamic-modules/xslt.md | 4 +-- .../admin-guide/high-availability/_index.md | 8 ++--- .../configuration-sharing.md | 8 ++--- .../high-availability/ha-keepalived-nodes.md | 4 +-- .../high-availability/ha-keepalived.md | 4 +-- .../high-availability/zone_sync.md | 10 +++--- .../high-availability/zone_sync_details.md | 4 +-- .../admin-guide/installing-nginx/_index.md | 4 +-- .../installing-nginx-docker.md | 4 +-- .../installing-nginx-open-source.md | 4 +-- ...stalling-nginx-plus-amazon-web-services.md | 4 +-- ...alling-nginx-plus-google-cloud-platform.md | 4 +-- .../installing-nginx-plus-microsoft-azure.md | 8 ++--- .../installing-nginx/installing-nginx-plus.md | 8 ++--- .../nginx/admin-guide/load-balancer/_index.md | 8 ++--- .../dynamic-configuration-api.md | 8 ++--- .../load-balancer/grpc-health-check.md | 4 +-- .../load-balancer/http-health-check.md | 4 +-- .../load-balancer/http-load-balancer.md | 4 +-- .../load-balancer/tcp-health-check.md | 4 +-- .../load-balancer/tcp-udp-load-balancer.md | 8 ++--- .../load-balancer/udp-health-check.md | 8 ++--- .../load-balancer/using-proxy-protocol.md | 6 ++-- .../nginx/admin-guide/mail-proxy/_index.md | 8 ++--- .../admin-guide/mail-proxy/mail-proxy.md | 4 +-- .../nginx/admin-guide/monitoring/_index.md | 4 +-- .../nginx/admin-guide/monitoring/debugging.md | 8 ++--- .../monitoring/diagnostic-package.md | 4 +-- .../monitoring/live-activity-monitoring.md | 9 +++--- .../nginx/admin-guide/monitoring/logging.md | 4 +-- .../monitoring/new-relic-plugin.md | 8 ++--- .../admin-guide/security-controls/_index.md | 9 +++--- .../configuring-http-basic-authentication.md | 4 +-- .../configuring-jwt-authentication.md | 4 +-- .../configuring-subrequest-authentication.md | 4 +-- .../controlling-access-by-geoip.md | 4 +-- .../controlling-access-proxied-http.md | 4 +-- .../controlling-access-proxied-tcp.md | 4 +-- .../denylisting-ip-addresses.md | 4 +-- .../securing-http-traffic-upstream.md | 4 +-- .../securing-tcp-traffic-upstream.md | 4 +-- .../security-controls/terminating-ssl-http.md | 4 +-- .../security-controls/terminating-ssl-tcp.md | 4 +-- .../nginx/admin-guide/web-server/_index.md | 8 ++--- .../web-server/app-gateway-uwsgi-django.md | 8 ++--- .../admin-guide/web-server/compression.md | 4 +-- .../admin-guide/web-server/reverse-proxy.md | 4 +-- .../web-server/serving-static-content.md | 4 +-- .../admin-guide/web-server/web-server.md | 4 +-- content/nginx/deployment-guides/_index.md | 10 +++--- .../amazon-web-services/_index.md | 8 ++--- .../ec2-instances-for-nginx.md | 2 +- .../high-availability-keepalived.md | 8 ++--- ...high-availability-network-load-balancer.md | 10 +++--- ...-controller-elastic-kubernetes-services.md | 4 +-- .../route-53-global-server-load-balancing.md | 4 +-- .../global-server-load-balancing/_index.md | 4 +-- .../ns1-global-server-load-balancing.md | 4 +-- .../google-cloud-platform/_index.md | 4 +-- .../high-availability-all-active.md | 8 ++--- .../load-balance-third-party/_index.md | 4 +-- .../load-balance-third-party/apache-tomcat.md | 4 +-- .../microsoft-exchange.md | 4 +-- .../load-balance-third-party/node-js.md | 4 +-- .../oracle-e-business-suite.md | 4 +-- .../oracle-weblogic-server.md | 4 +-- .../load-balance-third-party/wildfly.md | 4 +-- .../microsoft-azure/_index.md | 4 +-- ...igh-availability-standard-load-balancer.md | 10 +++--- .../virtual-machines-for-nginx.md | 9 +++--- .../migrate-hardware-adc/_index.md | 4 +-- .../citrix-adc-configuration.md | 8 ++--- .../f5-big-ip-configuration.md | 4 +-- .../nginx-plus-high-availability-chef.md | 4 +-- .../setting-up-nginx-demo-environment.md | 4 +-- .../single-sign-on/_index.md | 4 +-- .../active-directory-federation-services.md | 4 +-- .../deployment-guides/single-sign-on/auth0.md | 6 ++-- .../single-sign-on/cognito.md | 4 +-- .../single-sign-on/keycloak.md | 4 +-- .../deployment-guides/single-sign-on/okta.md | 4 +-- .../single-sign-on/onelogin.md | 6 ++-- .../single-sign-on/ping-identity.md | 4 +-- content/nginx/directives.md | 2 -- content/nginx/fips-compliance-nginx-plus.md | 6 ++-- content/nginx/open-source-components.md | 4 +-- content/nginx/releases.md | 8 ++--- content/nginx/technical-specs.md | 10 +++--- content/nginxaas-azure/_index.md | 15 ++++----- content/nginxaas-azure/app-protect/_index.md | 4 +-- .../app-protect/configure-waf.md | 5 +-- .../nginxaas-azure/app-protect/disable-waf.md | 5 +-- .../app-protect/enable-logging.md | 5 +-- .../nginxaas-azure/app-protect/enable-waf.md | 5 +-- content/nginxaas-azure/billing/_index.md | 5 +-- content/nginxaas-azure/billing/overview.md | 7 +++-- .../billing/usage-and-cost-estimator.md | 7 +++-- .../changelog-archive/_index.md | 5 +-- content/nginxaas-azure/client-tools/_index.md | 5 +-- content/nginxaas-azure/client-tools/cli.md | 9 +++--- content/nginxaas-azure/client-tools/sdk.md | 10 +++--- .../nginxaas-azure/client-tools/templates.md | 10 +++--- .../nginxaas-azure/client-tools/terraform.md | 9 +++--- content/nginxaas-azure/faq.md | 8 ++--- .../nginxaas-azure/getting-started/_index.md | 5 +-- .../create-deployment/_index.md | 5 +-- .../create-deployment/deploy-azure-cli.md | 5 +-- .../create-deployment/deploy-azure-portal.md | 7 +++-- .../create-deployment/deploy-terraform.md | 5 +-- .../managed-identity-portal.md | 7 +++-- .../nginx-configuration/_index.md | 5 +-- .../nginx-configuration-azure-cli.md | 5 +-- .../nginx-configuration-portal.md | 7 +++-- .../nginx-configurations-terraform.md | 5 +-- .../nginx-configuration/overview.md | 5 +-- .../getting-started/prerequisites.md | 7 +++-- .../ssl-tls-certificates/_index.md | 7 ++--- .../ssl-tls-certificates/overview.md | 5 +-- .../ssl-tls-certificates-azure-cli.md | 5 +-- .../ssl-tls-certificates-portal.md | 7 +++-- .../ssl-tls-certificates-terraform.md | 5 +-- content/nginxaas-azure/monitoring/_index.md | 5 +-- .../monitoring/configure-alerts.md | 7 +++-- .../monitoring/enable-logging/_index.md | 4 +-- .../enable-logging/logging-using-cli.md | 7 +++-- .../enable-logging/logging-using-portal.md | 7 +++-- .../enable-logging/logging-using-terraform.md | 7 +++-- .../monitoring/enable-monitoring.md | 7 +++-- .../monitoring/metrics-catalog.md | 7 +++-- content/nginxaas-azure/overview/_index.md | 5 +-- .../overview/feature-comparison.md | 9 +++--- content/nginxaas-azure/overview/overview.md | 7 +++-- content/nginxaas-azure/quickstart/_index.md | 5 +-- .../quickstart/basic-caching.md | 7 +++-- content/nginxaas-azure/quickstart/geoip2.md | 5 +-- .../quickstart/hosting-static-content.md | 7 +++-- .../quickstart/loadbalancer-kubernetes.md | 5 +-- .../nginxaas-azure/quickstart/njs-support.md | 7 +++-- .../quickstart/rate-limiting.md | 7 +++-- content/nginxaas-azure/quickstart/recreate.md | 7 +++-- .../quickstart/runtime-state-sharing.md | 7 +++-- content/nginxaas-azure/quickstart/scaling.md | 7 +++-- .../quickstart/security-controls/_index.md | 5 +-- .../security-controls/auth-basic.md | 5 +-- .../security-controls/certificates.md | 5 +-- .../quickstart/security-controls/jwt.md | 5 +-- .../quickstart/security-controls/oidc.md | 5 +-- .../private-link-to-upstreams.md | 5 +-- .../securing-upstream-traffic.md | 7 +++-- .../quickstart/upgrade-channels.md | 7 +++-- .../nginxaas-azure/troubleshooting/_index.md | 5 +-- .../troubleshooting/migrate-from-standard.md | 5 +-- .../troubleshooting/troubleshooting.md | 7 +++-- .../authentication/oidc/getting-started.md | 6 ++-- .../authentication/oidc/keycloak-setup.md | 8 ++--- .../oidc/microsoft-entra-automation.md | 6 ++-- .../oidc/microsoft-entra-setup.md | 9 ++---- .../authentication/oidc/scim-provisioning.md | 6 ++-- .../nim/admin-guide/license/add-license.md | 11 ++++--- .../report-usage-connected-deployment.md | 31 ++++++------------- .../maintenance/backup-and-recovery.md | 2 -- .../maintenance/sqlite-installation.md | 2 -- content/nim/admin-guide/rbac/assign-roles.md | 6 ++-- content/nim/admin-guide/rbac/create-roles.md | 6 ++-- .../rbac/manage-resource-groups.md | 6 ++-- ...y-nginx-instance-manager-docker-compose.md | 17 +++------- .../deploy-nginx-plus-and-agent-docker.md | 10 +++--- .../build-and-deploy.md | 6 ++-- .../infrastructure-as-code/configuration.md | 6 ++-- .../deploy/infrastructure-as-code/overview.md | 6 ++-- .../deploy/kubernetes/deploy-using-helm.md | 8 ++--- .../frequently-used-helm-configs.md | 6 ++-- .../deploy/kubernetes/helm-config-settings.md | 6 ++-- .../vm-bare-metal/install-nim-deprecated.md | 10 ++---- content/nim/deploy/vm-bare-metal/install.md | 8 ++--- .../add-license-disconnected-deployment.md | 31 ++++++------------- .../report-usage-disconnected-deployment.md | 26 ++++++---------- content/nim/fundamentals/api-overview.md | 10 +++--- .../nim/fundamentals/dashboard-overview.md | 6 ++-- content/nim/fundamentals/tech-specs.md | 3 +- content/nim/monitoring/catalogs/_index.md | 11 ++----- content/nim/monitoring/catalogs/dimensions.md | 8 ++--- content/nim/monitoring/catalogs/events.md | 8 ++--- content/nim/monitoring/catalogs/metrics.md | 8 ++--- content/nim/monitoring/metrics-api.md | 6 ++-- content/nim/monitoring/overview-metrics.md | 8 ++--- content/nim/monitoring/view-events-metrics.md | 3 +- .../overview-nap-waf-config-management.md | 6 ++-- .../security-monitoring/troubleshooting.md | 1 - .../waf-config-management.md | 2 -- .../config-templates/concepts/_index.md | 1 - .../concepts/augment-templates.md | 30 ++++++------------ .../concepts/config-templates.md | 30 ++++++------------ .../concepts/default-base-template.md | 21 ++++++------- .../concepts/template-resources.md | 30 ++++++------------ .../config-templates/how-to/_index.md | 1 - .../manage-nginx-configs-with-templates.md | 31 ++++++------------- .../rbac-config-templates-and-submissions.md | 30 ++++++------------ .../config-templates/reference/_index.md | 1 - .../reference/json-schema-reference.md | 30 ++++++------------ .../config-templates/tutorials/_index.md | 1 - .../tutorials/round-robin-reverse-proxy.md | 16 ++++------ content/nim/nginx-configs/publish-configs.md | 6 ++-- content/nim/nginx-configs/stage-configs.md | 6 ++-- content/nim/nginx-instances/add-tags.md | 6 ++-- .../nginx-instances/manage-certificates.md | 6 ++-- .../nginx-instances/manage-instance-groups.md | 11 +++---- content/nim/nginx-instances/scan-instances.md | 6 ++-- content/nim/releases/known-issues.md | 20 ------------ content/nim/support/contact-support.md | 6 ++-- content/nim/support/k8s-support-package.md | 8 ++--- content/nim/support/support-package.md | 8 ++--- .../configure-clickhouse.md | 6 ++-- .../system-configuration/configure-gateway.md | 6 ++-- .../system-configuration/configure-selinux.md | 6 ++-- .../configure-telemetry.md | 6 ++-- .../system-configuration/configure-vault.md | 6 ++-- .../configure-with-config.md | 8 ++--- .../system-configuration/secure-traffic.md | 6 ++-- content/nim/troubleshooting.md | 6 ++-- content/nms/acm/_index.md | 5 ++- content/nms/acm/about/api-overview.md | 2 -- content/nms/acm/about/architecture.md | 6 ++-- content/nms/acm/about/policies-overview.md | 6 ++-- .../acm/getting-started/add-api-gateway.md | 6 ++-- .../nms/acm/getting-started/add-devportal.md | 6 ++-- content/nms/acm/getting-started/overview.md | 2 -- .../acm/getting-started/publish-api-proxy.md | 6 ++-- .../how-to/deploy-api-connectivity-manager.md | 6 ++-- .../devportals/devportal-support-package.md | 8 ++--- .../configure-devportal-helm-options.md | 6 ++-- .../installation/devportal-helm-chart.md | 6 ++-- .../installation/install-dev-portal.md | 6 ++-- .../installation/install-devportal-offline.md | 6 ++-- .../how-to/devportals/publish-to-devportal.md | 6 ++-- .../configure-devportal-backend.md | 2 -- .../infrastructure/customize-devportal.md | 2 -- .../enable-create-credentials.md | 6 ++-- .../infrastructure/enable-sso-devportal.md | 6 ++-- .../manage-api-infrastructure.md | 10 +++--- .../publish-developer-portal.md | 6 ++-- content/nms/acm/how-to/install-acm.md | 6 ++-- .../how-to/policies/access-control-routing.md | 6 ++-- .../acm/how-to/policies/advanced-security.md | 8 ++--- .../how-to/policies/allowed-http-methods.md | 8 ++--- .../policies/api-access-control-lists.md | 2 -- .../nms/acm/how-to/policies/apikey-authn.md | 12 +++---- .../nms/acm/how-to/policies/basic-authn.md | 12 +++---- .../how-to/policies/cluster-wide-config.md | 8 ++--- .../acm/how-to/policies/cluster-zone-sync.md | 8 ++--- content/nms/acm/how-to/policies/cors.md | 12 +++---- .../how-to/policies/error-response-format.md | 8 ++--- .../nms/acm/how-to/policies/grpc-policies.md | 10 +++--- .../nms/acm/how-to/policies/health-check.md | 9 +++--- .../policies/http-backend-configuration.md | 8 ++--- .../nms/acm/how-to/policies/introspection.md | 8 ++--- .../nms/acm/how-to/policies/jwt-assertion.md | 12 +++---- content/nms/acm/how-to/policies/log-format.md | 10 ++---- .../acm/how-to/policies/manage-policies.md | 10 +++--- .../nms/acm/how-to/policies/openID-connect.md | 13 +++----- .../nms/acm/how-to/policies/proxy-cache.md | 10 +++--- .../how-to/policies/proxy-request-headers.md | 12 +++---- .../how-to/policies/proxy-response-headers.md | 10 +++--- content/nms/acm/how-to/policies/rate-limit.md | 8 ++--- .../policies/request-body-size-limit.md | 6 ++-- .../how-to/policies/request-correlation-id.md | 8 ++--- .../policies/request-header-specification.md | 8 ++--- .../nms/acm/how-to/policies/tls-policies.md | 10 +++--- .../nms/acm/how-to/services/publish-api.md | 10 +++--- .../acm/how-to/services/publish-gRPC-proxy.md | 10 +++--- content/nms/acm/releases/known-issues.md | 14 ++++----- content/nms/acm/releases/release-notes.md | 2 -- content/nms/acm/troubleshooting.md | 6 ++-- content/nms/acm/tutorials/advanced-routing.md | 10 +++--- content/nms/acm/tutorials/aws-deploy.md | 2 -- content/nms/acm/tutorials/enable-metrics.md | 6 ++-- .../acm/tutorials/introspection-keycloak.md | 6 ++-- .../nms/acm/tutorials/oas-security-schemes.md | 6 ++-- content/nms/acm/tutorials/rbac-api-owners.md | 6 ++-- .../nms/acm/tutorials/rbac-infra-admins.md | 6 ++-- .../nms/nginx-agent/install-nginx-agent.md | 6 ++-- .../getting-started/waf-config-management.md | 6 ++-- content/nms/nms-resilience.md | 6 ++-- content/nms/oss-attribution-notice.md | 6 ++-- content/nms/reference/catalogs/_index.md | 11 ++----- content/nms/reference/catalogs/dimensions.md | 8 ++--- content/nms/reference/catalogs/events.md | 8 ++--- content/nms/reference/catalogs/metrics.md | 8 ++--- content/nms/support/contact-support.md | 6 ++-- content/nms/support/k8s-support-package.md | 8 ++--- content/nms/support/support-package.md | 8 ++--- content/ossc.md | 4 --- content/search.md | 5 +-- content/solutions/_index.md | 6 ++-- .../solutions/about-subscription-licenses.md | 6 ++-- content/solutions/nginx-one-subscription.md | 6 ++-- ...release-guidance-for-automatic-upgrades.md | 8 ++--- 647 files changed, 1822 insertions(+), 2625 deletions(-) diff --git a/content/agent/_index.md b/content/agent/_index.md index 95b9e6b1b..330490eb8 100644 --- a/content/agent/_index.md +++ b/content/agent/_index.md @@ -1,9 +1,8 @@ --- -title: "NGINX Agent" -description: "NGINX Agent is a companion daemon for your NGINX Open Source or NGINX Plus instance." -linkTitle: "NGINX Agent" -menu: docs +title: NGINX Agent +description: NGINX Agent is a companion daemon for your NGINX Open Source or NGINX + Plus instance. url: /nginx-agent/ cascade: - logo: "NGINX-product-icon.png" ---- \ No newline at end of file + logo: NGINX-product-icon.png +--- diff --git a/content/agent/configuration/_index.md b/content/agent/configuration/_index.md index 7a1f1bce8..1c0c90128 100644 --- a/content/agent/configuration/_index.md +++ b/content/agent/configuration/_index.md @@ -1,8 +1,6 @@ --- -title: "Configuration" -description: "Learn how to configure NGINX Agent." -linkTitle: "Configuration" -weight: "400" -menu: docs +title: Configuration +description: Learn how to configure NGINX Agent. +weight: 400 url: /nginx-agent/configuration/ ---- \ No newline at end of file +--- diff --git a/content/agent/configuration/configuration-overview.md b/content/agent/configuration/configuration-overview.md index e82e76246..b060f4728 100644 --- a/content/agent/configuration/configuration-overview.md +++ b/content/agent/configuration/configuration-overview.md @@ -1,12 +1,11 @@ --- -title: "Basic configuration" +title: Basic configuration draft: false weight: 100 toc: true -tags: [ "docs" ] -docs: "DOCS-1229" -categories: ["configuration"] -doctypes: ["task"] +docs: DOCS-1229 +type: +- how-to --- The following sections explain how to configure NGINX Agent using configuration files, CLI flags, and environment variables. diff --git a/content/agent/configuration/configure-nginx-agent-features.md b/content/agent/configuration/configure-nginx-agent-features.md index 2a1cddcd1..14f3c8c9d 100644 --- a/content/agent/configuration/configure-nginx-agent-features.md +++ b/content/agent/configuration/configure-nginx-agent-features.md @@ -1,11 +1,10 @@ --- -title: "Features configuration" +title: Features configuration draft: false weight: 150 toc: true -tags: [ "docs" ] -categories: ["configuration"] -doctypes: ["task"] +type: +- how-to --- ## Overview diff --git a/content/agent/configuration/configure-nginx-agent-group.md b/content/agent/configuration/configure-nginx-agent-group.md index d1152bfb2..47e6f15e0 100644 --- a/content/agent/configuration/configure-nginx-agent-group.md +++ b/content/agent/configuration/configure-nginx-agent-group.md @@ -1,12 +1,11 @@ --- -title: "Add NGINX users to nginx-agent Group" +title: Add NGINX users to nginx-agent Group draft: false weight: 300 toc: true -tags: [ "docs" ] -docs: "DOCS-933" -categories: ["configuration"] -doctypes: ["task"] +docs: DOCS-933 +type: +- how-to --- ## Overview diff --git a/content/agent/configuration/encrypt-communication.md b/content/agent/configuration/encrypt-communication.md index 7d9f1b547..a7cf75134 100644 --- a/content/agent/configuration/encrypt-communication.md +++ b/content/agent/configuration/encrypt-communication.md @@ -1,10 +1,8 @@ --- title: Encrypt communication -tags: -- docs toc: true weight: 200 -docs: "DOCS-802" +docs: DOCS-802 --- ## Overview diff --git a/content/agent/configuration/health-checks.md b/content/agent/configuration/health-checks.md index f045955fb..4aa65608a 100644 --- a/content/agent/configuration/health-checks.md +++ b/content/agent/configuration/health-checks.md @@ -1,11 +1,10 @@ --- -title: "Health checks" +title: Health checks draft: false weight: 400 toc: true -tags: [ "docs" ] -categories: ["configuration"] -doctypes: ["task"] +type: +- how-to --- ## Overview diff --git a/content/agent/contribute/_index.md b/content/agent/contribute/_index.md index 24e4c7de2..a11203387 100644 --- a/content/agent/contribute/_index.md +++ b/content/agent/contribute/_index.md @@ -1,8 +1,6 @@ --- -title: "Contribute" -description: "Learn about the NGINX Agent community and contribute to the project." -linkTitle: "Contribute" -menu: docs -weight: "500" +title: Contribute +description: Learn about the NGINX Agent community and contribute to the project. +weight: 500 url: /nginx-agent/contribute/ ---- \ No newline at end of file +--- diff --git a/content/agent/contribute/community.md b/content/agent/contribute/community.md index 2566b4741..da54b13b0 100644 --- a/content/agent/contribute/community.md +++ b/content/agent/contribute/community.md @@ -1,12 +1,11 @@ --- -title: "Community and contribution" +title: Community and contribution draft: false weight: 100 toc: true -tags: [ "docs" ] -docs: "DOCS-1087" -categories: ["configuration"] -doctypes: ["task"] +docs: DOCS-1087 +type: +- how-to --- # Community diff --git a/content/agent/contribute/dev-environment-setup.md b/content/agent/contribute/dev-environment-setup.md index 4860764f5..58e69d2c6 100644 --- a/content/agent/contribute/dev-environment-setup.md +++ b/content/agent/contribute/dev-environment-setup.md @@ -1,12 +1,11 @@ --- -title: "Development environment setup" +title: Development environment setup draft: false weight: 200 toc: true -tags: [ "docs" ] -docs: "DOCS-1088" -categories: ["development"] -doctypes: ["task"] +docs: DOCS-1088 +type: +- how-to --- ## Overview diff --git a/content/agent/installation-upgrade/_index.md b/content/agent/installation-upgrade/_index.md index 3ef1ed5bb..1d84d3ebc 100644 --- a/content/agent/installation-upgrade/_index.md +++ b/content/agent/installation-upgrade/_index.md @@ -1,7 +1,6 @@ --- -title: "Installation and upgrade" -description: "Learn how to install, upgrade, and uninstall NGINX Agent." -menu: docs +title: Installation and upgrade +description: Learn how to install, upgrade, and uninstall NGINX Agent. weight: 300 url: /nginx-agent/installation-upgrade/ ---- \ No newline at end of file +--- diff --git a/content/agent/installation-upgrade/container-environments/_index.md b/content/agent/installation-upgrade/container-environments/_index.md index ae6338d52..35c6aa73f 100644 --- a/content/agent/installation-upgrade/container-environments/_index.md +++ b/content/agent/installation-upgrade/container-environments/_index.md @@ -1,7 +1,6 @@ --- -title: "Container environments" -description: "Learn how to build and run NGINX Agent docker images." -menu: docs +title: Container environments +description: Learn how to build and run NGINX Agent docker images. weight: 800 ur: /nginx-agent/installation-upgrade/container-environments/ ---- \ No newline at end of file +--- diff --git a/content/agent/installation-upgrade/container-environments/docker-images.md b/content/agent/installation-upgrade/container-environments/docker-images.md index 88879d743..e898134b1 100644 --- a/content/agent/installation-upgrade/container-environments/docker-images.md +++ b/content/agent/installation-upgrade/container-environments/docker-images.md @@ -1,12 +1,11 @@ --- -title: "Build container images" +title: Build container images draft: false weight: 100 toc: true -tags: [ "docs" ] -categories: ["configuration"] -doctypes: ["task"] -docs: "DOCS-1410" +docs: DOCS-1410 +type: +- how-to --- ## Overview diff --git a/content/agent/installation-upgrade/container-environments/docker-support.md b/content/agent/installation-upgrade/container-environments/docker-support.md index 6d764a1f0..5dbad4826 100644 --- a/content/agent/installation-upgrade/container-environments/docker-support.md +++ b/content/agent/installation-upgrade/container-environments/docker-support.md @@ -1,13 +1,11 @@ --- title: Container support and troubleshooting -categories: -- installation draft: false -tags: -- docs toc: true weight: 200 -docs: "DOCS-909" +docs: DOCS-909 +type: +- task --- ## Overview diff --git a/content/agent/installation-upgrade/getting-started.md b/content/agent/installation-upgrade/getting-started.md index 222ff2b48..388fb5bde 100644 --- a/content/agent/installation-upgrade/getting-started.md +++ b/content/agent/installation-upgrade/getting-started.md @@ -1,12 +1,11 @@ --- -title: "Getting started" +title: Getting started draft: false weight: 100 toc: true -tags: [ "docs" ] -docs: "DOCS-1089" -categories: ["configuration"] -doctypes: ["task"] +docs: DOCS-1089 +type: +- how-to --- ## Overview diff --git a/content/agent/installation-upgrade/installation-github.md b/content/agent/installation-upgrade/installation-github.md index d53a07006..282f1e8d9 100644 --- a/content/agent/installation-upgrade/installation-github.md +++ b/content/agent/installation-upgrade/installation-github.md @@ -1,12 +1,11 @@ --- -title: "Installation from GitHub release" +title: Installation from GitHub release draft: false weight: 200 toc: true -tags: [ "docs" ] -docs: "DOCS-1090" -categories: ["configuration"] -doctypes: ["task"] +docs: DOCS-1090 +type: +- how-to --- ## Overview diff --git a/content/agent/installation-upgrade/installation-oss.md b/content/agent/installation-upgrade/installation-oss.md index cf24dd1a6..9c22416d7 100644 --- a/content/agent/installation-upgrade/installation-oss.md +++ b/content/agent/installation-upgrade/installation-oss.md @@ -1,12 +1,11 @@ --- -title: "Installation from NGINX repository" +title: Installation from NGINX repository draft: false weight: 300 toc: true -tags: [ "docs" ] -docs: "DOCS-1216" -categories: ["configuration"] -doctypes: ["task"] +docs: DOCS-1216 +type: +- how-to --- ## Overview diff --git a/content/agent/installation-upgrade/installation-plus.md b/content/agent/installation-upgrade/installation-plus.md index fe77bbb58..16209abcb 100644 --- a/content/agent/installation-upgrade/installation-plus.md +++ b/content/agent/installation-upgrade/installation-plus.md @@ -1,12 +1,11 @@ --- -title: "Installation from NGINX Plus repository" +title: Installation from NGINX Plus repository draft: false weight: 400 toc: true -tags: [ "docs" ] -docs: "DOCS-1217" -categories: ["configuration"] -doctypes: ["task"] +docs: DOCS-1217 +type: +- how-to --- ## Overview diff --git a/content/agent/installation-upgrade/uninstall.md b/content/agent/installation-upgrade/uninstall.md index 49184df82..2f783dbb6 100644 --- a/content/agent/installation-upgrade/uninstall.md +++ b/content/agent/installation-upgrade/uninstall.md @@ -1,12 +1,11 @@ --- -title: "Uninstall NGINX Agent package" +title: Uninstall NGINX Agent package draft: false weight: 700 toc: true -tags: [ "docs" ] -docs: "DOCS-1230" -categories: ["configuration"] -doctypes: ["task"] +docs: DOCS-1230 +type: +- how-to --- ## Overview diff --git a/content/agent/installation-upgrade/upgrade.md b/content/agent/installation-upgrade/upgrade.md index f5e3409af..50477e94b 100644 --- a/content/agent/installation-upgrade/upgrade.md +++ b/content/agent/installation-upgrade/upgrade.md @@ -1,12 +1,11 @@ --- -title: "Upgrade NGINX Agent package" +title: Upgrade NGINX Agent package draft: false weight: 600 toc: true -tags: [ "docs" ] -docs: "DOCS-1227" -categories: ["configuration"] -doctypes: ["task"] +docs: DOCS-1227 +type: +- how-to --- ## Overview diff --git a/content/agent/overview.md b/content/agent/overview.md index ea9e92ddd..289b6ebab 100644 --- a/content/agent/overview.md +++ b/content/agent/overview.md @@ -1,12 +1,11 @@ --- -title: "Overview" +title: Overview draft: false weight: 100 toc: true -tags: [ "docs" ] -docs: "DOCS-1091" -categories: ["configuration"] -doctypes: ["task"] +docs: DOCS-1091 +type: +- how-to --- ## Overview diff --git a/content/agent/technical-specifications.md b/content/agent/technical-specifications.md index a17b9fe9f..0d275bc3a 100644 --- a/content/agent/technical-specifications.md +++ b/content/agent/technical-specifications.md @@ -1,12 +1,11 @@ --- -title: "Technical specifications" +title: Technical specifications draft: false weight: 200 toc: true -tags: [ "docs" ] -docs: "DOCS-1092" -categories: ["development"] -doctypes: ["task"] +docs: DOCS-1092 +type: +- how-to --- ## Overview diff --git a/content/amplify/additional-resources.md b/content/amplify/additional-resources.md index 301f7c13c..554e6c8b3 100644 --- a/content/amplify/additional-resources.md +++ b/content/amplify/additional-resources.md @@ -2,8 +2,7 @@ title: Other NGINX Amplify Resources weight: 899 toc: true -tags: ["docs"] -docs: "DOCS-977" +docs: DOCS-977 --- If you are interested in learning more about F5 NGINX Amplify, visit the [NGINX Amplify Resources Page](https://amplify.nginx.com/docs/), where you will find links to: diff --git a/content/amplify/faq/general.md b/content/amplify/faq/general.md index 96f884a63..5aab8c8f2 100644 --- a/content/amplify/faq/general.md +++ b/content/amplify/faq/general.md @@ -3,11 +3,9 @@ title: General description: General questions about F5 NGINX Amplify weight: 10 toc: true -tags: ["docs"] -docs: "DOCS-956" +docs: DOCS-956 --- - ### What Is F5 NGINX Amplify? NGINX Amplify is a tool for comprehensive NGINX monitoring. With NGINX Amplify it's easy to proactively analyze and fix problems related to running and scaling NGINX-based web applications. diff --git a/content/amplify/faq/metrics-and-metadata.md b/content/amplify/faq/metrics-and-metadata.md index 701c98376..3ec976fad 100644 --- a/content/amplify/faq/metrics-and-metadata.md +++ b/content/amplify/faq/metrics-and-metadata.md @@ -3,8 +3,7 @@ title: NGINX Amplify Metrics and Metadata description: Questions about F5 NGINX Amplify's Metrics and Metadata weight: 40 toc: true -tags: ["docs"] -docs: "DOCS-957" +docs: DOCS-957 --- ### What Data Does F5 NGINX Amplify Agent Gather? diff --git a/content/amplify/faq/nginx-amplify-agent.md b/content/amplify/faq/nginx-amplify-agent.md index f4506a01f..3e705104b 100644 --- a/content/amplify/faq/nginx-amplify-agent.md +++ b/content/amplify/faq/nginx-amplify-agent.md @@ -3,8 +3,7 @@ title: NGINX Amplify Agent description: Questions about F5 NGINX Amplify Agent weight: 20 toc: true -tags: ["docs"] -docs: "DOCS-958" +docs: DOCS-958 --- ### What Operating Systems are Supported? diff --git a/content/amplify/faq/user-interface.md b/content/amplify/faq/user-interface.md index fc05e70b1..517837eef 100644 --- a/content/amplify/faq/user-interface.md +++ b/content/amplify/faq/user-interface.md @@ -3,8 +3,7 @@ title: NGINX Amplify User Interface description: Questions about F5 NGINX Amplify's User Interface weight: 30 toc: true -tags: ["docs"] -docs: "DOCS-959" +docs: DOCS-959 --- ### What Browsers are Supported? diff --git a/content/amplify/known-issues.md b/content/amplify/known-issues.md index c91861925..667f24065 100644 --- a/content/amplify/known-issues.md +++ b/content/amplify/known-issues.md @@ -1,9 +1,8 @@ --- title: Known Issues weight: 1000 -description: "List of known issues in the latest release of F5 NGINX Amplify" +description: List of known issues in the latest release of F5 NGINX Amplify toc: true -tags: ["docs"] --- {{}} diff --git a/content/amplify/metrics-metadata/metrics-overview.md b/content/amplify/metrics-metadata/metrics-overview.md index c0aa38c7b..d49a09ce4 100644 --- a/content/amplify/metrics-metadata/metrics-overview.md +++ b/content/amplify/metrics-metadata/metrics-overview.md @@ -3,8 +3,7 @@ title: Metrics and Metadata Overview description: Learn about the metrics and metadata F5 NGINX Amplify collects. weight: 10 toc: true -tags: ["docs"] -docs: "DOCS-972" +docs: DOCS-972 --- Most metrics are collected by F5 NGINX Amplify Agent without requiring the user to perform any additional setup. For troubleshooting, see [Troubleshooting Metrics Collection]({{< relref "/amplify/nginx-amplify-agent/troubleshooting-metrics-collection.md" >}}). diff --git a/content/amplify/metrics-metadata/nginx-metrics.md b/content/amplify/metrics-metadata/nginx-metrics.md index ece5a188c..34971aab6 100644 --- a/content/amplify/metrics-metadata/nginx-metrics.md +++ b/content/amplify/metrics-metadata/nginx-metrics.md @@ -3,8 +3,7 @@ title: NGINX Metrics description: List of NGINX Metrics weight: 30 toc: true -tags: ["docs"] -docs: "DOCS-973" +docs: DOCS-973 --- ## HTTP Connections and Requests diff --git a/content/amplify/metrics-metadata/os-metrics.md b/content/amplify/metrics-metadata/os-metrics.md index 620b35411..6a204d0df 100644 --- a/content/amplify/metrics-metadata/os-metrics.md +++ b/content/amplify/metrics-metadata/os-metrics.md @@ -3,8 +3,7 @@ title: OS Metrics description: List of OS Metrics weight: 20 toc: true -tags: ["docs"] -docs: "DOCS-974" +docs: DOCS-974 --- ## System Metrics diff --git a/content/amplify/metrics-metadata/other-metrics.md b/content/amplify/metrics-metadata/other-metrics.md index 62b7d7f2d..e02ed3ef4 100644 --- a/content/amplify/metrics-metadata/other-metrics.md +++ b/content/amplify/metrics-metadata/other-metrics.md @@ -3,8 +3,7 @@ title: Other Metrics description: Learn about other metrics used by F5 NGINX Amplify weight: 40 toc: true -tags: ["docs"] -docs: "DOCS-975" +docs: DOCS-975 --- {{< note >}}Monitoring PHP-FPM and MySQL metrics is only supported by F5 NGINX Amplify Agent.{{< /note >}} diff --git a/content/amplify/nginx-amplify-agent/amplify-agent-overview.md b/content/amplify/nginx-amplify-agent/amplify-agent-overview.md index a42891ce6..b4fe8dd60 100644 --- a/content/amplify/nginx-amplify-agent/amplify-agent-overview.md +++ b/content/amplify/nginx-amplify-agent/amplify-agent-overview.md @@ -3,8 +3,7 @@ title: NGINX Amplify Agent Overview description: Learn about F5 NGINX Amplify Agent. weight: 1 toc: true -tags: ["docs"] -docs: "DOCS-960" +docs: DOCS-960 --- F5 NGINX Amplify Agent is a compact application written in Python. Its role is to collect various metrics and metadata and send them securely to the backend for storage and visualization. diff --git a/content/amplify/nginx-amplify-agent/configuration-analysis.md b/content/amplify/nginx-amplify-agent/configuration-analysis.md index 424058f55..d402a81fc 100644 --- a/content/amplify/nginx-amplify-agent/configuration-analysis.md +++ b/content/amplify/nginx-amplify-agent/configuration-analysis.md @@ -3,8 +3,7 @@ title: NGINX Configuration Analysis description: Learn about F5 NGINX Amplify Agent's configuration analysis feature. weight: 600 toc: true -tags: ["docs"] -docs: "DOCS-961" +docs: DOCS-961 --- F5 NGINX Amplify Agent can automatically find all relevant NGINX configuration files, parse them, extract their logical structure, and send the associated JSON data to the Amplify backend for further analysis and reporting. For more information on configuration analysis, please see the [Analyzer]({{< relref "/amplify/user-interface/analyzer.md" >}})) documentation. diff --git a/content/amplify/nginx-amplify-agent/configuring-metric-collection.md b/content/amplify/nginx-amplify-agent/configuring-metric-collection.md index 168e82b8d..f2c73b619 100644 --- a/content/amplify/nginx-amplify-agent/configuring-metric-collection.md +++ b/content/amplify/nginx-amplify-agent/configuring-metric-collection.md @@ -3,8 +3,7 @@ title: Configuring NGINX for Metric Collection description: Learn how to configure NGINX Instances to collect data. weight: 400 toc: true -tags: ["docs"] -docs: "DOCS-963" +docs: DOCS-963 --- To monitor an NGINX instance, F5 NGINX Amplify Agent must [find the relevant NGINX master process]({{< relref "/amplify/nginx-amplify-agent/detecting-monitoring-instances" >}}) and determine its key characteristics. diff --git a/content/amplify/nginx-amplify-agent/detecting-monitoring-instances.md b/content/amplify/nginx-amplify-agent/detecting-monitoring-instances.md index fa35ddfc3..1df04cd92 100644 --- a/content/amplify/nginx-amplify-agent/detecting-monitoring-instances.md +++ b/content/amplify/nginx-amplify-agent/detecting-monitoring-instances.md @@ -3,8 +3,7 @@ title: Detecting and Monitoring NGINX Instances description: Learn how F5 NGINX Amplify Agent detects NGINX Instances. weight: 300 toc: true -tags: ["docs"] -docs: "DOCS-962" +docs: DOCS-962 --- F5 NGINX Amplify Agent is capable of detecting several types of NGINX instances: diff --git a/content/amplify/nginx-amplify-agent/install/configuring-amplify-agent.md b/content/amplify/nginx-amplify-agent/install/configuring-amplify-agent.md index 82d012fc4..40f2e8bce 100644 --- a/content/amplify/nginx-amplify-agent/install/configuring-amplify-agent.md +++ b/content/amplify/nginx-amplify-agent/install/configuring-amplify-agent.md @@ -3,8 +3,7 @@ title: Configuring NGINX Amplify Agent description: Learn how to configure F5 NGINX Amplify Agent. weight: 300 toc: true -tags: ["docs"] -docs: "DOCS-967" +docs: DOCS-967 --- F5 NGINX Amplify Agent keeps its configuration in `/etc/amplify-agent/agent.conf`. The NGINX Amplify Agent configuration is a text-based file. diff --git a/content/amplify/nginx-amplify-agent/install/installing-amplify-agent.md b/content/amplify/nginx-amplify-agent/install/installing-amplify-agent.md index 9e65e86c3..dea514179 100644 --- a/content/amplify/nginx-amplify-agent/install/installing-amplify-agent.md +++ b/content/amplify/nginx-amplify-agent/install/installing-amplify-agent.md @@ -3,8 +3,7 @@ title: Install NGINX Amplify Agent description: Learn how to install F5 NGINX Amplify Agent. weight: 100 toc: true -tags: ["docs"] -docs: "DOCS-968" +docs: DOCS-968 --- To use F5 NGINX Amplify to monitor your infrastructure, you need to install NGINX Amplify Agent on each system you wish to monitor. diff --git a/content/amplify/nginx-amplify-agent/install/uninstalling-amplify-agent.md b/content/amplify/nginx-amplify-agent/install/uninstalling-amplify-agent.md index a74142dc2..b31c632d2 100644 --- a/content/amplify/nginx-amplify-agent/install/uninstalling-amplify-agent.md +++ b/content/amplify/nginx-amplify-agent/install/uninstalling-amplify-agent.md @@ -3,8 +3,7 @@ title: Uninstall NGINX Amplify Agent description: Learn how to uninstall F5 NGINX Amplify Agent. weight: 400 toc: true -tags: ["docs"] -docs: "DOCS-969" +docs: DOCS-969 --- To completely delete a previously monitored object, perform the following steps: diff --git a/content/amplify/nginx-amplify-agent/install/updating-amplify-agent.md b/content/amplify/nginx-amplify-agent/install/updating-amplify-agent.md index 02e2eba92..a616bccdf 100644 --- a/content/amplify/nginx-amplify-agent/install/updating-amplify-agent.md +++ b/content/amplify/nginx-amplify-agent/install/updating-amplify-agent.md @@ -3,8 +3,7 @@ title: Update NGINX Amplify Agent description: Learn how to update F5 NGINX Amplify Agent. weight: 200 toc: true -tags: ["docs"] -docs: "DOCS-970" +docs: DOCS-970 --- {{< important >}} diff --git a/content/amplify/nginx-amplify-agent/install/using-amplify-agent-docker.md b/content/amplify/nginx-amplify-agent/install/using-amplify-agent-docker.md index d2030e8a0..6b979affb 100644 --- a/content/amplify/nginx-amplify-agent/install/using-amplify-agent-docker.md +++ b/content/amplify/nginx-amplify-agent/install/using-amplify-agent-docker.md @@ -3,8 +3,7 @@ title: Use NGINX Amplify Agent with Docker description: Learn how to use F5 NGINX Amplify Agent with Docker. weight: 500 toc: true -tags: ["docs"] -docs: "DOCS-971" +docs: DOCS-971 --- You can use F5 NGINX Amplify Agent in a Docker environment. Although it's still work-in-progress, NGINX Amplify Agent can collect most of the metrics and send them over to the Amplify backend in either "standalone" or "aggregate" mode. The standalone mode of operation is the simplest one, with a separate "host" created for each Docker container. Alternatively, the metrics from NGINX Amplify Agents running in different containers can be aggregated on a "per-image" basis — this is the aggregate mode of deploying NGINX Amplify Agent with Docker. diff --git a/content/amplify/nginx-amplify-agent/metadata-metrics-collection.md b/content/amplify/nginx-amplify-agent/metadata-metrics-collection.md index cf3a88ac7..c95335a6c 100644 --- a/content/amplify/nginx-amplify-agent/metadata-metrics-collection.md +++ b/content/amplify/nginx-amplify-agent/metadata-metrics-collection.md @@ -3,8 +3,7 @@ title: Metadata and Metrics Collection description: Learn how F5 NGINX Amplify Agent collects data. weight: 200 toc: true -tags: ["docs"] -docs: "DOCS-964" +docs: DOCS-964 --- F5 NGINX Amplify Agent collects the following types of data: diff --git a/content/amplify/nginx-amplify-agent/source-code.md b/content/amplify/nginx-amplify-agent/source-code.md index 8e4b5d22d..4730d4d2c 100644 --- a/content/amplify/nginx-amplify-agent/source-code.md +++ b/content/amplify/nginx-amplify-agent/source-code.md @@ -3,8 +3,7 @@ title: NGINX Amplify Agent Source Code description: Learn where to find F5 NGINX Amplify Agent's source code. weight: 700 toc: true -tags: ["docs"] -docs: "DOCS-965" +docs: DOCS-965 --- F5 NGINX Amplify Agent is an open source application. It is licensed under the [2-clause BSD license](https://github.com/nginxinc/nginx-amplify-agent/blob/master/LICENSE), and is available here: diff --git a/content/amplify/nginx-amplify-agent/troubleshooting-metrics-collection.md b/content/amplify/nginx-amplify-agent/troubleshooting-metrics-collection.md index ff8635c34..79bef938d 100644 --- a/content/amplify/nginx-amplify-agent/troubleshooting-metrics-collection.md +++ b/content/amplify/nginx-amplify-agent/troubleshooting-metrics-collection.md @@ -3,8 +3,7 @@ title: Troubleshooting Metrics Collection description: Learn what to check if F5 NGINX Amplify Agent isn't reporting metrics. weight: 500 toc: true -tags: ["docs"] -docs: "DOCS-966" +docs: DOCS-966 --- After you [install and start]({{< relref "/amplify/nginx-amplify-agent/install/installing-amplify-agent" >}}) F5 NGINX Amplify Agent, it should start reporting right away, pushing aggregated data to the Amplify backend at regular 1 minute intervals. It'll take about a minute for a new system to appear in the Amplify web interface. diff --git a/content/amplify/overview/overview-main-components.md b/content/amplify/overview/overview-main-components.md index e0aeb6dbc..3ae2416ee 100644 --- a/content/amplify/overview/overview-main-components.md +++ b/content/amplify/overview/overview-main-components.md @@ -3,8 +3,7 @@ title: Overview and Main Components description: Learn about F5 NGINX Amplify and its main components. weight: 10 toc: true -tags: ["docs"] -docs: "DOCS-976" +docs: DOCS-976 --- ## What Is F5 NGINX Amplify? diff --git a/content/amplify/user-interface/account-settings.md b/content/amplify/user-interface/account-settings.md index 9e2bc8e18..039707c6d 100644 --- a/content/amplify/user-interface/account-settings.md +++ b/content/amplify/user-interface/account-settings.md @@ -3,8 +3,7 @@ title: Account Settings description: Learn about the Account settings for the User Interface. weight: 70 toc: true -tags: ["docs"] -docs: "DOCS-978" +docs: DOCS-978 --- The **Account** option in the user menu at the top right corner of the user interface povides access to several user settings. diff --git a/content/amplify/user-interface/alerts.md b/content/amplify/user-interface/alerts.md index 42f2c2462..f89818d48 100644 --- a/content/amplify/user-interface/alerts.md +++ b/content/amplify/user-interface/alerts.md @@ -3,8 +3,7 @@ title: Alerts description: Learn about the Alerts page of the User Interface. weight: 60 toc: false -tags: ["docs"] -docs: "DOCS-979" +docs: DOCS-979 --- The **Alerts** page describes the configuration of the alert rules used to notify you of any anomalies in the behavior of your systems. diff --git a/content/amplify/user-interface/analyzer.md b/content/amplify/user-interface/analyzer.md index 9958828bc..83ca976f1 100644 --- a/content/amplify/user-interface/analyzer.md +++ b/content/amplify/user-interface/analyzer.md @@ -3,8 +3,7 @@ title: Analyzer description: Learn about the Analyzer page of the User Interface. weight: 50 toc: false -tags: ["docs"] -docs: "DOCS-980" +docs: DOCS-980 --- F5 NGINX Amplify Agent parses NGINX configuration files and transmits them to the backend component for further analysis. NGINX Amplify offers configuration recommendations to help improve the performance, reliability, and security of your applications. With well-thought-out and detailed recommendations, you’ll know exactly where the problem is, why it is a problem, and how to fix it. diff --git a/content/amplify/user-interface/dashboards.md b/content/amplify/user-interface/dashboards.md index 6ddeb5fc8..d057d03ea 100644 --- a/content/amplify/user-interface/dashboards.md +++ b/content/amplify/user-interface/dashboards.md @@ -3,8 +3,7 @@ title: Dashboards description: Learn about the Dashboards page of the User Interface. weight: 40 toc: false -tags: ["docs"] -docs: "DOCS-981" +docs: DOCS-981 --- You can create your own dashboards populated with highly customizable graphs of NGINX and system-level metrics. diff --git a/content/amplify/user-interface/graphs.md b/content/amplify/user-interface/graphs.md index 1562565c9..5556fbaff 100644 --- a/content/amplify/user-interface/graphs.md +++ b/content/amplify/user-interface/graphs.md @@ -3,8 +3,7 @@ title: Graphs description: Learn about the Graphs page of the User Interface. weight: 20 toc: false -tags: ["docs"] -docs: "DOCS-982" +docs: DOCS-982 --- On the **Graphs** page, you can find a collection of predefined graphs. Here you can see an overview of the key metric stats, such as CPU, memory, and disk usage for all your systems. diff --git a/content/amplify/user-interface/inventory.md b/content/amplify/user-interface/inventory.md index 5824bc056..f57cc399a 100644 --- a/content/amplify/user-interface/inventory.md +++ b/content/amplify/user-interface/inventory.md @@ -3,8 +3,7 @@ title: Inventory description: Learn about the Inventory page of the User Interface. weight: 30 toc: false -tags: ["docs"] -docs: "DOCS-983" +docs: DOCS-983 --- You can access the inventory by selecting the first icon on the top menu. The inventory gives an overview of the systems that are being monitored. When F5 NGINX Amplify Agent is running and reporting on a new system, it's listed in the system index on the left side of the user interface and in the **Inventory** section. diff --git a/content/amplify/user-interface/overview.md b/content/amplify/user-interface/overview.md index f4975cf00..f358b5e1f 100644 --- a/content/amplify/user-interface/overview.md +++ b/content/amplify/user-interface/overview.md @@ -3,8 +3,7 @@ title: Overview description: Learn about the Overview page of the User Interface. weight: 10 toc: true -tags: ["docs"] -docs: "DOCS-984" +docs: DOCS-984 --- The Overview page is designed to provide a quick summary of the state of your NGINX infrastructure. Here you can quickly check the total sum of HTTP 5xx errors over the past 24 hours and compare it to the previous 24 hours. diff --git a/content/controller/admin-guides/_index.md b/content/controller/admin-guides/_index.md index a1ae4ba2a..7c7510467 100644 --- a/content/controller/admin-guides/_index.md +++ b/content/controller/admin-guides/_index.md @@ -1,10 +1,8 @@ --- description: Learn how to install and manage NGINX Controller and NGINX Controller Agent. -menu: - docs: - parent: NGINX Controller title: Admin Guides weight: 100 url: /nginx-controller/admin-guides/ --- + diff --git a/content/controller/admin-guides/backup-restore/_index.md b/content/controller/admin-guides/backup-restore/_index.md index ac42e8e9a..542b76cb3 100644 --- a/content/controller/admin-guides/backup-restore/_index.md +++ b/content/controller/admin-guides/backup-restore/_index.md @@ -1,11 +1,7 @@ --- description: Learn how to back up and restore NGINX Controller. -menu: - docs: - parent: Admin Guides - title: Backup & Restore - weight: 50 title: Back Up & Restore weight: 300 url: /nginx-controller/admin-guides/backup-restore/ --- + diff --git a/content/controller/admin-guides/backup-restore/backup-restore-cluster-config.md b/content/controller/admin-guides/backup-restore/backup-restore-cluster-config.md index 6edfb59cb..93dfdad4b 100644 --- a/content/controller/admin-guides/backup-restore/backup-restore-cluster-config.md +++ b/content/controller/admin-guides/backup-restore/backup-restore-cluster-config.md @@ -2,13 +2,11 @@ description: Learn how to back up your F5 NGINX Controller cluster configuration and encryption keys. docs: DOCS-247 -doctypes: -- task -tags: -- docs title: Back Up & Restore Cluster Config and Encryption Keys toc: true weight: 97 +type: +- how-to --- ## Overview diff --git a/content/controller/admin-guides/backup-restore/backup-restore-embedded-config-db.md b/content/controller/admin-guides/backup-restore/backup-restore-embedded-config-db.md index 156cf2f21..f9c44b289 100644 --- a/content/controller/admin-guides/backup-restore/backup-restore-embedded-config-db.md +++ b/content/controller/admin-guides/backup-restore/backup-restore-embedded-config-db.md @@ -2,13 +2,11 @@ description: Learn how to back up and restore the embedded F5 NGINX Controller config database. docs: DOCS-248 -doctypes: -- tutorial -tags: -- docs title: Back Up & Restore an Embedded Config Database toc: true weight: 98 +type: +- tutorial --- ## Overview diff --git a/content/controller/admin-guides/backup-restore/backup-restore-external-config-db.md b/content/controller/admin-guides/backup-restore/backup-restore-external-config-db.md index 2c465c0b6..b409601ea 100644 --- a/content/controller/admin-guides/backup-restore/backup-restore-external-config-db.md +++ b/content/controller/admin-guides/backup-restore/backup-restore-external-config-db.md @@ -2,13 +2,11 @@ description: Learn how to back up and restore the external F5 NGINX Controller config database. docs: DOCS-249 -doctypes: -- tutorial -tags: -- docs title: Back Up & Restore an External Config Database toc: true weight: 99 +type: +- tutorial --- ## Overview diff --git a/content/controller/admin-guides/backup-restore/backup-restore-metrics-db.md b/content/controller/admin-guides/backup-restore/backup-restore-metrics-db.md index 101d6c0ed..bce77e9f2 100644 --- a/content/controller/admin-guides/backup-restore/backup-restore-metrics-db.md +++ b/content/controller/admin-guides/backup-restore/backup-restore-metrics-db.md @@ -1,13 +1,11 @@ --- description: Learn how to back up and restore the F5 NGINX Controller analytics database. docs: DOCS-250 -doctypes: -- task -tags: -- docs title: Back Up & Restore the Analytics Database toc: true weight: 100 +type: +- how-to --- ## Overview diff --git a/content/controller/admin-guides/config-agent/_index.md b/content/controller/admin-guides/config-agent/_index.md index 1edb9dc6e..5d32cc45c 100644 --- a/content/controller/admin-guides/config-agent/_index.md +++ b/content/controller/admin-guides/config-agent/_index.md @@ -1,12 +1,8 @@ --- -description: Learn how to configure and manage the interaction between the F5 NGINX Plus - data plane and NGINX Controller. -menu: - docs: - parent: Admin Guides - title: Configure NGINX Controller Agent - weight: 30 +description: Learn how to configure and manage the interaction between the F5 NGINX + Plus data plane and NGINX Controller. title: Configure NGINX Controller Agent weight: 200 url: /nginx-controller/admin-guides/config-agent/ --- + diff --git a/content/controller/admin-guides/config-agent/about-controller-agent.md b/content/controller/admin-guides/config-agent/about-controller-agent.md index 53c26b7e8..9c21dd66e 100644 --- a/content/controller/admin-guides/config-agent/about-controller-agent.md +++ b/content/controller/admin-guides/config-agent/about-controller-agent.md @@ -1,13 +1,11 @@ --- description: Learn about the NGINX Controller Agent. docs: DOCS-508 -doctypes: -- concept -tags: -- docs title: Get to Know the F5 NGINX Controller Agent toc: true weight: 100 +type: +- concept --- ## Overview diff --git a/content/controller/admin-guides/config-agent/configure-metrics-collection.md b/content/controller/admin-guides/config-agent/configure-metrics-collection.md index 767cb5099..a24b19e16 100644 --- a/content/controller/admin-guides/config-agent/configure-metrics-collection.md +++ b/content/controller/admin-guides/config-agent/configure-metrics-collection.md @@ -1,14 +1,12 @@ --- -description: Contains instructions for setting up the F5 NGINX Controller Agent to collect - metrics for NGINX Plus instances. +description: Contains instructions for setting up the F5 NGINX Controller Agent to + collect metrics for NGINX Plus instances. docs: DOCS-509 -doctypes: -- task -tags: -- docs title: Set up Metrics Collection toc: true weight: 120 +type: +- how-to --- ## Before You Begin diff --git a/content/controller/admin-guides/config-agent/configure-the-agent.md b/content/controller/admin-guides/config-agent/configure-the-agent.md index 23ee87785..df01388c1 100644 --- a/content/controller/admin-guides/config-agent/configure-the-agent.md +++ b/content/controller/admin-guides/config-agent/configure-the-agent.md @@ -1,13 +1,11 @@ --- description: Customize the F5 NGINX Controller Agent configuration. docs: DOCS-510 -doctypes: -- tutorial -tags: -- docs title: Configure the NGINX Controller Agent toc: true weight: 110 +type: +- tutorial --- ## Overview diff --git a/content/controller/admin-guides/config-agent/use-agent-with-docker.md b/content/controller/admin-guides/config-agent/use-agent-with-docker.md index d6debdf89..3c5980a2b 100644 --- a/content/controller/admin-guides/config-agent/use-agent-with-docker.md +++ b/content/controller/admin-guides/config-agent/use-agent-with-docker.md @@ -1,13 +1,11 @@ --- description: Learn how to use the F5 NGINX Controller Agent in a Docker environment. docs: DOCS-511 -doctypes: -- reference -tags: -- docs title: Use the NGINX Controller Agent with Docker toc: true weight: 200 +type: +- reference --- ## Before You Begin diff --git a/content/controller/admin-guides/install/_index.md b/content/controller/admin-guides/install/_index.md index 0a0f35294..fbede0eb5 100644 --- a/content/controller/admin-guides/install/_index.md +++ b/content/controller/admin-guides/install/_index.md @@ -1,13 +1,8 @@ --- description: Learn how to install and update F5 NGINX Controller and the NGINX Controller Agent. -menu: - docs: - parent: Admin Guides - title: Installation - weight: 10 title: Installation weight: 100 -aliases: /admin-guides/installation/ url: /nginx-controller/admin-guides/install/ --- + diff --git a/content/controller/admin-guides/install/agent-restart.md b/content/controller/admin-guides/install/agent-restart.md index 7e6190270..103b35573 100644 --- a/content/controller/admin-guides/install/agent-restart.md +++ b/content/controller/admin-guides/install/agent-restart.md @@ -2,13 +2,11 @@ description: How to start, stop, and verify the state of the F5 NGINX Controller Agent service. docs: DOCS-251 -doctypes: -- task -tags: -- docs title: Manage the NGINX Controller Agent Service toc: true weight: 210 +type: +- how-to --- ## Starting and Stopping the Agent diff --git a/content/controller/admin-guides/install/get-n-plus-cert-and-key.md b/content/controller/admin-guides/install/get-n-plus-cert-and-key.md index 2e8c1f977..7a40e98e2 100644 --- a/content/controller/admin-guides/install/get-n-plus-cert-and-key.md +++ b/content/controller/admin-guides/install/get-n-plus-cert-and-key.md @@ -1,14 +1,12 @@ --- -description: How to download the F5 NGINX Plus nginx.crt and nginx.key files using the - NGINX Controller API. +description: How to download the F5 NGINX Plus nginx.crt and nginx.key files using + the NGINX Controller API. docs: DOCS-252 -doctypes: -- task -tags: -- docs title: Download the NGINX Plus Cert and Key Bundle toc: true weight: 105 +type: +- how-to --- ## Overview diff --git a/content/controller/admin-guides/install/install-agent-non-root.md b/content/controller/admin-guides/install/install-agent-non-root.md index 22e30d56d..b73ad2d7f 100644 --- a/content/controller/admin-guides/install/install-agent-non-root.md +++ b/content/controller/admin-guides/install/install-agent-non-root.md @@ -1,13 +1,11 @@ --- description: How to install the F5 NGINX Controller Agent to run as a non-root user. docs: DOCS-253 -doctypes: -- beta -- tutorial -- troubleshooting title: Install NGINX Controller Agent for Non-root Users toc: true weight: 205 +type: +- tutorial --- ## Overview diff --git a/content/controller/admin-guides/install/install-for-controller.md b/content/controller/admin-guides/install/install-for-controller.md index 5d02707bc..1ed1bfdb9 100644 --- a/content/controller/admin-guides/install/install-for-controller.md +++ b/content/controller/admin-guides/install/install-for-controller.md @@ -1,12 +1,12 @@ --- -description: Take the steps in this guide to deploy F5 NGINX App Protect WAF as a datapath - instance for use with NGINX Controller. +description: Take the steps in this guide to deploy F5 NGINX App Protect WAF as a + datapath instance for use with NGINX Controller. docs: DOCS-645 -doctypes: -- task title: Using NGINX App Protect WAF with NGINX Controller toc: true weight: 500 +type: +- how-to --- **Note:** Refer to the [F5 NGINX Controller Technical Specifications]({{< relref "/controller/admin-guides/install/nginx-controller-tech-specs.md" >}}) guide to find out which distributions are supported for use with NGINX Controller and NGINX Controller Agent. diff --git a/content/controller/admin-guides/install/install-nginx-controller-agent.md b/content/controller/admin-guides/install/install-nginx-controller-agent.md index 7378817ba..aa336e58d 100644 --- a/content/controller/admin-guides/install/install-nginx-controller-agent.md +++ b/content/controller/admin-guides/install/install-nginx-controller-agent.md @@ -1,14 +1,11 @@ --- description: How to install, upgrade, and uninstall the F5 Controller Agent. docs: DOCS-254 -doctypes: -- tutorial -- troubleshooting -tags: -- docs title: Install NGINX Controller Agent toc: true weight: 150 +type: +- tutorial --- ## Overview diff --git a/content/controller/admin-guides/install/install-nginx-controller-rhel-8.md b/content/controller/admin-guides/install/install-nginx-controller-rhel-8.md index a0c17f1a0..c330312c8 100644 --- a/content/controller/admin-guides/install/install-nginx-controller-rhel-8.md +++ b/content/controller/admin-guides/install/install-nginx-controller-rhel-8.md @@ -2,14 +2,11 @@ description: This guide explains how to prepare your RHEL 8 system to install F5 NGINX Controller and the NGINX Controller Agent. docs: DOCS-342 -doctypes: -- beta -- tutorial -tags: -- docs title: Install NGINX Controller on RHEL 8 (experimental) toc: true weight: 200 +type: +- tutorial --- ## Preparing the F5 NGINX Controller Host diff --git a/content/controller/admin-guides/install/install-nginx-controller.md b/content/controller/admin-guides/install/install-nginx-controller.md index a6c359768..b0e3225e2 100644 --- a/content/controller/admin-guides/install/install-nginx-controller.md +++ b/content/controller/admin-guides/install/install-nginx-controller.md @@ -1,13 +1,11 @@ --- description: This guide explains how to install and update F5 NGINX Controller. docs: DOCS-255 -doctypes: -- tutorial -tags: -- docs title: Install NGINX Controller toc: true weight: 120 +type: +- tutorial --- ## Overview diff --git a/content/controller/admin-guides/install/nginx-controller-tech-specs.md b/content/controller/admin-guides/install/nginx-controller-tech-specs.md index 41d318a24..59f9d3d0d 100644 --- a/content/controller/admin-guides/install/nginx-controller-tech-specs.md +++ b/content/controller/admin-guides/install/nginx-controller-tech-specs.md @@ -1,13 +1,11 @@ --- description: Guidelines and recommendations for configuring F5 NGINX Controller. docs: DOCS-256 -doctypes: -- reference -tags: -- docs title: NGINX Controller Tech Specs toc: true weight: 100 +type: +- reference --- ## Overview diff --git a/content/controller/admin-guides/install/resilient-cluster-aws.md b/content/controller/admin-guides/install/resilient-cluster-aws.md index 9efe83a77..0d3ad51d1 100644 --- a/content/controller/admin-guides/install/resilient-cluster-aws.md +++ b/content/controller/admin-guides/install/resilient-cluster-aws.md @@ -1,14 +1,12 @@ --- -description: This guide explains how to deploy F5 NGINX Controller as a multi-node resilient. - cluster on AWS. +description: This guide explains how to deploy F5 NGINX Controller as a multi-node + resilient cluster on AWS. docs: DOCS-257 -doctypes: -- tutorial -tags: -- docs title: Deploy NGINX Controller as a Resilient Cluster on AWS toc: true weight: 310 +type: +- tutorial --- ## Overview diff --git a/content/controller/admin-guides/install/resilient-cluster-private-cloud.md b/content/controller/admin-guides/install/resilient-cluster-private-cloud.md index cc9dbedf1..a0209f61e 100644 --- a/content/controller/admin-guides/install/resilient-cluster-private-cloud.md +++ b/content/controller/admin-guides/install/resilient-cluster-private-cloud.md @@ -1,14 +1,12 @@ --- -description: This guide explains how to deploy F5 NGINX Controller as a multi-node resilient - cluster on a private cloud. +description: This guide explains how to deploy F5 NGINX Controller as a multi-node + resilient cluster on a private cloud. docs: DOCS-258 -doctypes: -- tutorial -tags: -- docs title: Deploy NGINX Controller as a Resilient Cluster on a Private Cloud toc: true weight: 300 +type: +- tutorial --- ## Overview diff --git a/content/controller/admin-guides/install/try-nginx-controller-app-sec.md b/content/controller/admin-guides/install/try-nginx-controller-app-sec.md index c65534569..f25430c85 100644 --- a/content/controller/admin-guides/install/try-nginx-controller-app-sec.md +++ b/content/controller/admin-guides/install/try-nginx-controller-app-sec.md @@ -1,14 +1,12 @@ --- -description: This quick-start tutorial shows you how to get started using F5 NGINX Controller - with the Application Security Add-on. +description: This quick-start tutorial shows you how to get started using F5 NGINX + Controller with the Application Security Add-on. docs: DOCS-259 -doctypes: -- tutorial -tags: -- docs title: Trial NGINX Controller with App Security toc: true weight: 115 +type: +- tutorial --- ## Overview diff --git a/content/controller/admin-guides/install/try-nginx-controller.md b/content/controller/admin-guides/install/try-nginx-controller.md index cbdc29fb7..147903fb6 100644 --- a/content/controller/admin-guides/install/try-nginx-controller.md +++ b/content/controller/admin-guides/install/try-nginx-controller.md @@ -1,14 +1,12 @@ --- -description: This quick-start tutorial shows you how to get started using F5 NGINX Controller - with NGINX Plus. +description: This quick-start tutorial shows you how to get started using F5 NGINX + Controller with NGINX Plus. docs: DOCS-260 -doctypes: -- tutorial -tags: -- docs title: Trial NGINX Controller with NGINX Plus toc: true weight: 110 +type: +- tutorial --- ## Overview diff --git a/content/controller/admin-guides/install/using-helper-script.md b/content/controller/admin-guides/install/using-helper-script.md index 023363a09..1ba4e2444 100644 --- a/content/controller/admin-guides/install/using-helper-script.md +++ b/content/controller/admin-guides/install/using-helper-script.md @@ -2,13 +2,11 @@ description: Learn how to update F5 NGINX Controller installation settings and manage the NGINX Controller service using the helper.sh script. docs: DOCS-261 -doctypes: -- task -tags: -- docs title: Update NGINX Controller Settings with helper.sh toc: true weight: 200 +type: +- how-to --- ## Overview diff --git a/content/controller/analytics/_index.md b/content/controller/analytics/_index.md index 7a62df501..885c42874 100644 --- a/content/controller/analytics/_index.md +++ b/content/controller/analytics/_index.md @@ -1,10 +1,7 @@ --- description: Learn about the F5 NGINX Controller Analytics module. -menu: - docs: - parent: NGINX Controller - title: Analytics title: Analytics weight: 120 url: /nginx-controller/analytics/ --- + diff --git a/content/controller/analytics/alerts/_index.md b/content/controller/analytics/alerts/_index.md index 4bae6e7ab..272f87c87 100644 --- a/content/controller/analytics/alerts/_index.md +++ b/content/controller/analytics/alerts/_index.md @@ -1,10 +1,7 @@ --- description: Learn about F5 NGINX Controller alerts and notifications. -menu: - docs: - parent: Analytics - weight: 10 title: Alerts weight: 100 url: /nginx-controller/analytics/alerts/ --- + diff --git a/content/controller/analytics/alerts/about-alerts.md b/content/controller/analytics/alerts/about-alerts.md index 9277494ed..5b573b18a 100644 --- a/content/controller/analytics/alerts/about-alerts.md +++ b/content/controller/analytics/alerts/about-alerts.md @@ -1,13 +1,11 @@ --- description: Learn about NGINX Controller Alerts and Notifications. docs: DOCS-520 -doctypes: -- concept -tags: -- docs title: About Alerts toc: true weight: 100 +type: +- concept --- ## Overview diff --git a/content/controller/analytics/alerts/manage-alerts.md b/content/controller/analytics/alerts/manage-alerts.md index 746390e08..96bbb5412 100644 --- a/content/controller/analytics/alerts/manage-alerts.md +++ b/content/controller/analytics/alerts/manage-alerts.md @@ -1,13 +1,11 @@ --- description: Learn how to view, add, mute, and delete Alerts. docs: DOCS-521 -doctypes: -- concept -tags: -- docs title: Manage Alerts toc: true weight: 200 +type: +- concept --- ## Overview diff --git a/content/controller/analytics/alerts/manage-registered-emails.md b/content/controller/analytics/alerts/manage-registered-emails.md index f21d815a6..f064fe50e 100644 --- a/content/controller/analytics/alerts/manage-registered-emails.md +++ b/content/controller/analytics/alerts/manage-registered-emails.md @@ -2,13 +2,11 @@ description: Learn how to manage the email addresses that receive automatic alert notifications. docs: DOCS-522 -doctypes: -- concept -tags: -- docs title: Manage Registered Email Addresses toc: true weight: 310 +type: +- concept --- ## Overview diff --git a/content/controller/analytics/alerts/service-now-notifications.md b/content/controller/analytics/alerts/service-now-notifications.md index f14ff27cc..8e857b14e 100644 --- a/content/controller/analytics/alerts/service-now-notifications.md +++ b/content/controller/analytics/alerts/service-now-notifications.md @@ -1,14 +1,11 @@ --- description: Set up Alerts Integration with ServiceNow. Deprecated in v3.13. docs: DOCS-523 -doctypes: -- task -tags: -- docs -- deprecated title: ServiceNow Alerts Integration toc: true weight: 600 +type: +- how-to --- ## ServiceNow Alert Integration diff --git a/content/controller/analytics/catalogs/_index.md b/content/controller/analytics/catalogs/_index.md index 42f5a7ff3..6edb79a50 100644 --- a/content/controller/analytics/catalogs/_index.md +++ b/content/controller/analytics/catalogs/_index.md @@ -1,13 +1,7 @@ --- -aliases: -- /analytics/dimensions/reference/ -- /analytics/metrics/reference/ description: Reference information for F5 NGINX Controller Catalogs. -menu: - docs: - parent: Analytics - weight: 20 title: Catalogs Reference weight: 210 url: /nginx-controller/analytics/catalogs/ --- + diff --git a/content/controller/analytics/catalogs/dimensions.md b/content/controller/analytics/catalogs/dimensions.md index dbf884d61..db1629c2d 100644 --- a/content/controller/analytics/catalogs/dimensions.md +++ b/content/controller/analytics/catalogs/dimensions.md @@ -1,15 +1,12 @@ --- -catalog: true description: Information about all of the Dimensions collected by F5 NGINX Controller Agent. docs: DOCS-524 -doctypes: -- reference -tags: -- docs title: NGINX Controller Dimensions Catalog toc: false weight: 20 +type: +- reference --- {{< dimensions path="/static/ctlr/catalogs/dimensions-catalog.json" >}} diff --git a/content/controller/analytics/catalogs/metrics.md b/content/controller/analytics/catalogs/metrics.md index 39e167b92..3e457a0a9 100644 --- a/content/controller/analytics/catalogs/metrics.md +++ b/content/controller/analytics/catalogs/metrics.md @@ -1,14 +1,12 @@ --- -catalog: true -description: Information about all of the Metrics collected by F5 NGINX Controller Agent. +description: Information about all of the Metrics collected by F5 NGINX Controller + Agent. docs: DOCS-525 -doctypes: -- reference -tags: -- docs title: NGINX Controller Metrics Catalog toc: false weight: 20 +type: +- reference --- {{< metrics path="/static/ctlr/catalogs/metrics-catalog.json" >}} diff --git a/content/controller/analytics/dashboards/_index.md b/content/controller/analytics/dashboards/_index.md index 8b6ae2a58..88cfef7a1 100644 --- a/content/controller/analytics/dashboards/_index.md +++ b/content/controller/analytics/dashboards/_index.md @@ -1,10 +1,7 @@ --- description: Learn about F5 NGINX Controller Dashboards. -menu: - docs: - parent: Analytics - weight: 40 title: Dashboards weight: 120 url: /nginx-controller/analytics/dashboards/ --- + diff --git a/content/controller/analytics/dashboards/application-health-score.md b/content/controller/analytics/dashboards/application-health-score.md index 135b78d2c..226c576f2 100644 --- a/content/controller/analytics/dashboards/application-health-score.md +++ b/content/controller/analytics/dashboards/application-health-score.md @@ -1,13 +1,11 @@ --- description: View and understand the Application Health Score for your application. docs: DOCS-526 -doctypes: -- concept -tags: -- docs title: Understanding the Application Health Score toc: true weight: 20 +type: +- concept --- ## Overview diff --git a/content/controller/analytics/dashboards/custom-dashboards.md b/content/controller/analytics/dashboards/custom-dashboards.md index de2458940..dd0af1525 100644 --- a/content/controller/analytics/dashboards/custom-dashboards.md +++ b/content/controller/analytics/dashboards/custom-dashboards.md @@ -1,13 +1,11 @@ --- description: Create custom dashboards to view custom graphs. docs: DOCS-527 -doctypes: -- task -tags: -- docs title: Create Custom Dashboards toc: true weight: 20 +type: +- how-to --- ## Overview diff --git a/content/controller/analytics/dashboards/overview-dashboard.md b/content/controller/analytics/dashboards/overview-dashboard.md index fa1467bd3..5bb28e8bb 100644 --- a/content/controller/analytics/dashboards/overview-dashboard.md +++ b/content/controller/analytics/dashboards/overview-dashboard.md @@ -2,13 +2,11 @@ description: Learn about the Dashboards that displays cumulative metrics for your NGINX Instances. docs: DOCS-528 -doctypes: -- task -tags: -- docs title: Analytics Overview toc: true weight: 10 +type: +- how-to --- ## Overview diff --git a/content/controller/analytics/data-explorer/_index.md b/content/controller/analytics/data-explorer/_index.md index 59a5fefb5..ce3a033f6 100644 --- a/content/controller/analytics/data-explorer/_index.md +++ b/content/controller/analytics/data-explorer/_index.md @@ -1,10 +1,7 @@ --- description: Learn about F5 NGINX Controller Data Explorer. -menu: - docs: - parent: Analytics - weight: 40 title: Data Explorer weight: 120 url: /nginx-controller/analytics/data-explorer/ --- + diff --git a/content/controller/analytics/data-explorer/how-to-use.md b/content/controller/analytics/data-explorer/how-to-use.md index fa575fc17..3016aa920 100644 --- a/content/controller/analytics/data-explorer/how-to-use.md +++ b/content/controller/analytics/data-explorer/how-to-use.md @@ -1,13 +1,12 @@ --- -description: Use the Data Explorer to examine the metrics that F5 NGINX Controller collects. +description: Use the Data Explorer to examine the metrics that F5 NGINX Controller + collects. docs: DOCS-529 -doctypes: -- task -tags: -- docs title: How To Use the Data Explorer toc: true weight: 20 +type: +- how-to --- ## Overview diff --git a/content/controller/analytics/events/_index.md b/content/controller/analytics/events/_index.md index 0dff2641d..5a1be006d 100644 --- a/content/controller/analytics/events/_index.md +++ b/content/controller/analytics/events/_index.md @@ -1,10 +1,7 @@ --- description: View system events and audit logs. -menu: - docs: - parent: Analytics - weight: 30 title: Events weight: 140 url: /nginx-controller/analytics/events/ --- + diff --git a/content/controller/analytics/events/view-events.md b/content/controller/analytics/events/view-events.md index 6e28bfb8c..fd4f93bf9 100644 --- a/content/controller/analytics/events/view-events.md +++ b/content/controller/analytics/events/view-events.md @@ -1,13 +1,11 @@ --- description: View the audit log of system and user actions. docs: DOCS-530 -doctypes: -- task -tags: -- docs title: View Events toc: true weight: 20 +type: +- how-to --- ## Overview diff --git a/content/controller/analytics/forwarders/_index.md b/content/controller/analytics/forwarders/_index.md index 77ce17e24..4fa75a092 100644 --- a/content/controller/analytics/forwarders/_index.md +++ b/content/controller/analytics/forwarders/_index.md @@ -1,10 +1,7 @@ --- description: Learn how to forward data from F5 NGINX Controller to external services. -menu: - docs: - parent: Analytics - weight: 40 title: Data Forwarders weight: 130 url: /nginx-controller/analytics/forwarders/ --- + diff --git a/content/controller/analytics/forwarders/forward-analytics-to-datadog.md b/content/controller/analytics/forwarders/forward-analytics-to-datadog.md index 098d33703..ee02e3566 100644 --- a/content/controller/analytics/forwarders/forward-analytics-to-datadog.md +++ b/content/controller/analytics/forwarders/forward-analytics-to-datadog.md @@ -1,13 +1,11 @@ --- description: How to forward Analytics data to Datadog. docs: DOCS-531 -doctypes: -- tutorial -tags: -- docs title: Forward Analytics Data to Datadog toc: true weight: 100 +type: +- tutorial --- ## Overview diff --git a/content/controller/analytics/forwarders/forward-analytics-to-otlp.md b/content/controller/analytics/forwarders/forward-analytics-to-otlp.md index d1aa43915..42f63598a 100644 --- a/content/controller/analytics/forwarders/forward-analytics-to-otlp.md +++ b/content/controller/analytics/forwarders/forward-analytics-to-otlp.md @@ -1,13 +1,11 @@ --- description: How to forward Analytics Metrics to OpenTelemetry Collector. docs: DOCS-532 -doctypes: -- tutorial -tags: -- docs title: Forward Analytics Metrics to OpenTelemetry Collector toc: true weight: 201 +type: +- tutorial --- ## Overview diff --git a/content/controller/analytics/forwarders/forward-analytics-to-splunk.md b/content/controller/analytics/forwarders/forward-analytics-to-splunk.md index 3c94a73e6..b2ac5883d 100644 --- a/content/controller/analytics/forwarders/forward-analytics-to-splunk.md +++ b/content/controller/analytics/forwarders/forward-analytics-to-splunk.md @@ -1,13 +1,11 @@ --- description: How to forward Analytics data to Splunk. docs: DOCS-533 -doctypes: -- tutorial -tags: -- docs title: Forward Analytics Data to Splunk toc: true weight: 200 +type: +- tutorial --- ## Overview diff --git a/content/controller/analytics/forwarders/forward-analytics-to-syslog.md b/content/controller/analytics/forwarders/forward-analytics-to-syslog.md index 018a31c30..22e5cfa2e 100644 --- a/content/controller/analytics/forwarders/forward-analytics-to-syslog.md +++ b/content/controller/analytics/forwarders/forward-analytics-to-syslog.md @@ -1,13 +1,11 @@ --- description: How to forward Analytics Events to Syslog. docs: DOCS-534 -doctypes: -- tutorial -tags: -- docs title: Forward Analytics Events to Syslog toc: true weight: 201 +type: +- tutorial --- ## Overview diff --git a/content/controller/analytics/metrics/_index.md b/content/controller/analytics/metrics/_index.md index e5640c17d..841c2b5b5 100644 --- a/content/controller/analytics/metrics/_index.md +++ b/content/controller/analytics/metrics/_index.md @@ -1,10 +1,7 @@ --- description: Learn about F5 NGINX Controller Metrics. -menu: - docs: - parent: Analytics - weight: 50 title: Metrics weight: 150 url: /nginx-controller/analytics/metrics/ --- + diff --git a/content/controller/analytics/metrics/metrics-api.md b/content/controller/analytics/metrics/metrics-api.md index 52b85d6ed..afedb9470 100644 --- a/content/controller/analytics/metrics/metrics-api.md +++ b/content/controller/analytics/metrics/metrics-api.md @@ -2,13 +2,11 @@ description: Tips and tricks for using the Metrics API query parameters to refine your data. docs: DOCS-535 -doctypes: -- tutorial -tags: -- docs title: Using the Metrics API toc: true weight: 50 +type: +- tutorial --- ## Overview diff --git a/content/controller/analytics/metrics/overview-metrics-metadata.md b/content/controller/analytics/metrics/overview-metrics-metadata.md index ff67020c8..871ea09a0 100644 --- a/content/controller/analytics/metrics/overview-metrics-metadata.md +++ b/content/controller/analytics/metrics/overview-metrics-metadata.md @@ -1,14 +1,12 @@ --- -description: Understanding how the F5 NGINX Controller Agent collects and reports metrics - and metadata. +description: Understanding how the F5 NGINX Controller Agent collects and reports + metrics and metadata. docs: DOCS-536 -doctypes: -- reference -tags: -- docs title: 'Overview: Metrics and Metadata' toc: true weight: 20 +type: +- reference --- ## Overview diff --git a/content/controller/analytics/metrics/overview-traffic-metrics.md b/content/controller/analytics/metrics/overview-traffic-metrics.md index de4b7271a..769df0714 100644 --- a/content/controller/analytics/metrics/overview-traffic-metrics.md +++ b/content/controller/analytics/metrics/overview-traffic-metrics.md @@ -1,14 +1,12 @@ --- description: Understanding how traffic metrics are collected, aggregated, and reported. docs: DOCS-537 -doctypes: -- concept -- reference -tags: -- docs title: 'Overview: Traffic Metrics' toc: true weight: 100 +type: +- concept +- reference --- ## Overview diff --git a/content/controller/analytics/metrics/view-traffic-metrics.md b/content/controller/analytics/metrics/view-traffic-metrics.md index 4afd3f773..8dd7202e3 100644 --- a/content/controller/analytics/metrics/view-traffic-metrics.md +++ b/content/controller/analytics/metrics/view-traffic-metrics.md @@ -1,14 +1,12 @@ --- description: How to view the traffic metrics gathered by NGINX Controller Analytics. docs: DOCS-538 -doctypes: -- task -- tutorial -tags: -- docs title: View Traffic Metrics toc: true weight: 150 +type: +- how-to +- tutorial --- ## Overview diff --git a/content/controller/analytics/view-app-security-analytics.md b/content/controller/analytics/view-app-security-analytics.md index d54262e27..f029f0667 100644 --- a/content/controller/analytics/view-app-security-analytics.md +++ b/content/controller/analytics/view-app-security-analytics.md @@ -1,14 +1,12 @@ --- description: How to view App Security Analytics. docs: DOCS-539 -doctypes: -- concept -- reference -tags: -- task title: View App Security Analytics toc: true weight: 500 +type: +- concept +- reference --- ## Overview diff --git a/content/controller/api-management/_index.md b/content/controller/api-management/_index.md index f8f0f8394..91312bebd 100644 --- a/content/controller/api-management/_index.md +++ b/content/controller/api-management/_index.md @@ -1,9 +1,7 @@ --- description: Tasks for deploying and managing your APIs. -menu: - docs: - parent: NGINX Controller title: API Management weight: 155 url: /nginx-controller/api-management/ --- + diff --git a/content/controller/api-management/manage-apis.md b/content/controller/api-management/manage-apis.md index 696158c9e..c64a0cbaf 100644 --- a/content/controller/api-management/manage-apis.md +++ b/content/controller/api-management/manage-apis.md @@ -2,13 +2,11 @@ description: Use the F5 NGINX Controller API Manager to add APIs and control how your APIs are exposed and consumed. docs: DOCS-569 -doctypes: -- tutorial -tags: -- docs title: Manage Your APIs toc: true weight: 110 +type: +- tutorial --- ## Overview diff --git a/content/controller/api-management/manage-dev-portals.md b/content/controller/api-management/manage-dev-portals.md index 02923d76e..9d2dd388a 100644 --- a/content/controller/api-management/manage-dev-portals.md +++ b/content/controller/api-management/manage-dev-portals.md @@ -1,13 +1,11 @@ --- description: Learn how to create and manage Developer Portals for your API documentation. docs: DOCS-570 -doctypes: -- tutorial -tags: -- docs title: Manage Developer Portals toc: true weight: 120 +type: +- tutorial --- ## Overview diff --git a/content/controller/api/_index.md b/content/controller/api/_index.md index fbce5140c..100d0ce46 100644 --- a/content/controller/api/_index.md +++ b/content/controller/api/_index.md @@ -1,9 +1,7 @@ --- description: Learn how to use the F5 NGINX Controller REST API. -menu: - docs: - parent: NGINX Controller title: API Reference weight: 210 url: /nginx-controller/api/reference/ --- + diff --git a/content/controller/api/overview.md b/content/controller/api/overview.md index 2e277cd0d..70213cd1f 100644 --- a/content/controller/api/overview.md +++ b/content/controller/api/overview.md @@ -1,14 +1,12 @@ --- description: Provides information about the F5 NGINX Controller API. docs: DOCS-343 -doctypes: -- concept layout: docs -tags: -- docs title: API Overview toc: true weight: 10 +type: +- concept --- ## Introduction diff --git a/content/controller/api/reference/ctlr-adc-api.md b/content/controller/api/reference/ctlr-adc-api.md index 94af14cb5..bafb157a5 100644 --- a/content/controller/api/reference/ctlr-adc-api.md +++ b/content/controller/api/reference/ctlr-adc-api.md @@ -1,13 +1,9 @@ --- -description: - Represents the state of the F5 NGINX Controller Application Delivery REST - API. +description: Represents the state of the F5 NGINX Controller Application Delivery + REST API. docs: DOCS-1280 -doctypes: - - reference -type: redoc -tags: - - api +type: +- reference title: ADC API toc: false weight: 300 diff --git a/content/controller/api/reference/ctlr-analytics-api.md b/content/controller/api/reference/ctlr-analytics-api.md index 40499bac0..a1aa3e3cc 100644 --- a/content/controller/api/reference/ctlr-analytics-api.md +++ b/content/controller/api/reference/ctlr-analytics-api.md @@ -1,11 +1,8 @@ --- description: Represents the state of the F5 NGINX Controller Analytics REST API. docs: DOCS-1279 -doctypes: - - reference -type: redoc -tags: - - api +type: +- reference title: Analytics API toc: false weight: 200 diff --git a/content/controller/api/reference/ctlr-apim-api.md b/content/controller/api/reference/ctlr-apim-api.md index 0003f6235..ad2a55f8a 100644 --- a/content/controller/api/reference/ctlr-apim-api.md +++ b/content/controller/api/reference/ctlr-apim-api.md @@ -1,11 +1,8 @@ --- description: Represents the state of the F5 NGINX Controller API Management REST API. docs: DOCS-1281 -doctypes: - - reference -type: redoc -tags: - - api +type: +- reference title: APIM API toc: false weight: 400 diff --git a/content/controller/api/reference/ctlr-platform-api.md b/content/controller/api/reference/ctlr-platform-api.md index dcf93ec2b..b5b8e444a 100644 --- a/content/controller/api/reference/ctlr-platform-api.md +++ b/content/controller/api/reference/ctlr-platform-api.md @@ -1,11 +1,8 @@ --- description: Represents the state of the F5 NGINX Controller Platform REST API. docs: DOCS-1278 -doctypes: - - reference -type: redoc -tags: - - api +type: +- reference title: Platform API toc: false weight: 100 diff --git a/content/controller/app-delivery/_index.md b/content/controller/app-delivery/_index.md index e6ae5aeea..021e9ba97 100644 --- a/content/controller/app-delivery/_index.md +++ b/content/controller/app-delivery/_index.md @@ -1,11 +1,7 @@ --- -aliases: -- /services/apps/_index.md description: Tasks for deploying and managing your applications. -menu: - docs: - parent: NGINX Controller title: Application Delivery weight: 152 url: /nginx-controller/app-delivery/ --- + diff --git a/content/controller/app-delivery/about-caching.md b/content/controller/app-delivery/about-caching.md index 4a8212ccb..b314231c4 100644 --- a/content/controller/app-delivery/about-caching.md +++ b/content/controller/app-delivery/about-caching.md @@ -1,14 +1,12 @@ --- -description: Learn how F5 NGINX Controller handles caching configurations and what NGINX - cache directives are supported. +description: Learn how F5 NGINX Controller handles caching configurations and what + NGINX cache directives are supported. docs: DOCS-339 -doctypes: -- concept -tags: -- docs title: About Caching toc: true weight: 200 +type: +- concept --- ## Overview diff --git a/content/controller/app-delivery/about-snippets.md b/content/controller/app-delivery/about-snippets.md index da03de377..17cd6506b 100644 --- a/content/controller/app-delivery/about-snippets.md +++ b/content/controller/app-delivery/about-snippets.md @@ -1,12 +1,10 @@ --- docs: DOCS-340 -doctypes: -- concept -tags: -- docs title: About Snippets toc: true weight: 300 +type: +- concept --- ## Overview diff --git a/content/controller/app-delivery/deploy-simple-app.md b/content/controller/app-delivery/deploy-simple-app.md index e62726cb9..e6fc7ad8d 100644 --- a/content/controller/app-delivery/deploy-simple-app.md +++ b/content/controller/app-delivery/deploy-simple-app.md @@ -1,13 +1,11 @@ --- description: Overview of the steps required to deploy a simple App. docs: DOCS-477 -doctypes: -- tutorial -tags: -- docs title: Deploy a Simple Application toc: true weight: 400 +type: +- tutorial --- ## Overview diff --git a/content/controller/app-delivery/manage-apps.md b/content/controller/app-delivery/manage-apps.md index ab4e10613..3a34403b9 100644 --- a/content/controller/app-delivery/manage-apps.md +++ b/content/controller/app-delivery/manage-apps.md @@ -1,13 +1,11 @@ --- description: Create, view, and edit Apps and Components. docs: DOCS-478 -doctypes: -- task -tags: -- docs title: Manage Apps & Components toc: true weight: 300 +type: +- how-to --- ## Overview diff --git a/content/controller/app-delivery/security/_index.md b/content/controller/app-delivery/security/_index.md index e1d529167..54d5419bf 100644 --- a/content/controller/app-delivery/security/_index.md +++ b/content/controller/app-delivery/security/_index.md @@ -1,8 +1,7 @@ --- -aliases: -- services/apps/security/_index.md description: Secure your applications using F5 NGINX Controller App Security title: App Security weight: 100 url: /nginx-controller/app-delivery/security/ --- + diff --git a/content/controller/app-delivery/security/concepts/_index.md b/content/controller/app-delivery/security/concepts/_index.md index 1fd100ddc..097169f5b 100644 --- a/content/controller/app-delivery/security/concepts/_index.md +++ b/content/controller/app-delivery/security/concepts/_index.md @@ -1,8 +1,7 @@ --- -aliases: -- services/apps/security/concepts/_index.md description: Overview of the App Security module and default policy title: Learn About App Security weight: 100 url: /nginx-controller/app-delivery/security/concepts/ --- + diff --git a/content/controller/app-delivery/security/concepts/app-sec-default-policy-original.md b/content/controller/app-delivery/security/concepts/app-sec-default-policy-original.md index a422b0e9c..12105faae 100644 --- a/content/controller/app-delivery/security/concepts/app-sec-default-policy-original.md +++ b/content/controller/app-delivery/security/concepts/app-sec-default-policy-original.md @@ -2,14 +2,12 @@ description: Learn about the default protections provided by F5 NGINX Controller App Security. docs: DOCS-479 -doctypes: -- concept -- reference -tags: -- docs title: Default WAF Policy toc: true weight: 200 +type: +- concept +- reference --- ## Overview diff --git a/content/controller/app-delivery/security/concepts/app-sec-metrics.md b/content/controller/app-delivery/security/concepts/app-sec-metrics.md index 6a0da647d..99ce76f41 100644 --- a/content/controller/app-delivery/security/concepts/app-sec-metrics.md +++ b/content/controller/app-delivery/security/concepts/app-sec-metrics.md @@ -1,13 +1,12 @@ --- -description: Learn about the F5 NGINX Controller Application Security metrics and events. +description: Learn about the F5 NGINX Controller Application Security metrics and + events. docs: DOCS-480 -doctypes: -- reference -tags: -- docs title: App Security Metrics toc: true weight: 400 +type: +- reference --- ## Overview diff --git a/content/controller/app-delivery/security/concepts/bring-your-own-policy.md b/content/controller/app-delivery/security/concepts/bring-your-own-policy.md index 9345d0b73..fb97b2a33 100644 --- a/content/controller/app-delivery/security/concepts/bring-your-own-policy.md +++ b/content/controller/app-delivery/security/concepts/bring-your-own-policy.md @@ -1,13 +1,12 @@ --- -description: Learn how to use your own F5 NGINX App Protect WAF policies with NGINX Controller. +description: Learn how to use your own F5 NGINX App Protect WAF policies with NGINX + Controller. docs: DOCS-481 -doctypes: -- concept -tags: -- docs title: Bring Your Own WAF Policy toc: true weight: 300 +type: +- concept --- ## Overview diff --git a/content/controller/app-delivery/security/concepts/extend-app-security-snippets.md b/content/controller/app-delivery/security/concepts/extend-app-security-snippets.md index 9f5375b47..c6c2321a6 100644 --- a/content/controller/app-delivery/security/concepts/extend-app-security-snippets.md +++ b/content/controller/app-delivery/security/concepts/extend-app-security-snippets.md @@ -2,14 +2,12 @@ description: Learn how to extend your App Security configurations using F5 NGINX Controller Snippets. docs: DOCS-338 -doctypes: -- concept -- reference -tags: -- task title: Extend App Security with Snippets toc: true weight: 400 +type: +- concept +- reference --- ## Overview diff --git a/content/controller/app-delivery/security/concepts/what-is-waf.md b/content/controller/app-delivery/security/concepts/what-is-waf.md index 96a7e120f..51e8214ae 100644 --- a/content/controller/app-delivery/security/concepts/what-is-waf.md +++ b/content/controller/app-delivery/security/concepts/what-is-waf.md @@ -1,14 +1,12 @@ --- description: Overview of the App Security module's WAF feature. docs: DOCS-483 -doctypes: -- concept -- reference -tags: -- docs title: About App Security toc: true weight: 100 +type: +- concept +- reference --- ## Overview diff --git a/content/controller/app-delivery/security/tutorials/_index.md b/content/controller/app-delivery/security/tutorials/_index.md index 5dc3298fd..838458c47 100644 --- a/content/controller/app-delivery/security/tutorials/_index.md +++ b/content/controller/app-delivery/security/tutorials/_index.md @@ -1,8 +1,7 @@ --- -aliases: -- services/apps/security/tutorials/_index.md description: How to deploy and configure the App Security module title: Manage App Security weight: 200 url: /nginx-controller/app-delivery/security/tutorials/ --- + diff --git a/content/controller/app-delivery/security/tutorials/add-app-security-with-waf.md b/content/controller/app-delivery/security/tutorials/add-app-security-with-waf.md index bb01665e2..79239681a 100644 --- a/content/controller/app-delivery/security/tutorials/add-app-security-with-waf.md +++ b/content/controller/app-delivery/security/tutorials/add-app-security-with-waf.md @@ -1,14 +1,12 @@ --- description: How to add F5 NGINX Controller App Security to your applications. docs: DOCS-484 -doctypes: -- concept -- reference -tags: -- task title: Manage App Security toc: true weight: 100 +type: +- concept +- reference --- ## Overview diff --git a/content/controller/app-delivery/security/tutorials/set-waf-monitor-mode.md b/content/controller/app-delivery/security/tutorials/set-waf-monitor-mode.md index cec01746d..af051bdb6 100644 --- a/content/controller/app-delivery/security/tutorials/set-waf-monitor-mode.md +++ b/content/controller/app-delivery/security/tutorials/set-waf-monitor-mode.md @@ -2,13 +2,11 @@ description: How to use F5 NGINX Controller App Security to monitor or block security violations. docs: DOCS-485 -doctypes: -- task -tags: -- docs title: Set Up App Security Monitor Mode toc: true weight: 200 +type: +- how-to --- ## Overview diff --git a/content/controller/app-delivery/security/tutorials/tune-waf-for-app.md b/content/controller/app-delivery/security/tutorials/tune-waf-for-app.md index 74a173b9a..fe4c9e16d 100644 --- a/content/controller/app-delivery/security/tutorials/tune-waf-for-app.md +++ b/content/controller/app-delivery/security/tutorials/tune-waf-for-app.md @@ -1,14 +1,12 @@ --- description: How to tune WAF for your App. docs: DOCS-486 -doctypes: -- concept -- reference -tags: -- task title: Manage WAF Tuning for App Components toc: true weight: 300 +type: +- concept +- reference --- ## Overview diff --git a/content/controller/app-delivery/security/tutorials/using-rbac-with-app-security.md b/content/controller/app-delivery/security/tutorials/using-rbac-with-app-security.md index 9274bbdec..658ba0f50 100644 --- a/content/controller/app-delivery/security/tutorials/using-rbac-with-app-security.md +++ b/content/controller/app-delivery/security/tutorials/using-rbac-with-app-security.md @@ -1,13 +1,11 @@ --- description: How to use Role Based Access Control with App Security. docs: DOCS-845 -doctypes: -- task -tags: -- docs title: Using RBAC with the App Security Add-On toc: true weight: 400 +type: +- how-to --- Role Based Access Control (RBAC) allows you to define permissions for Apps Security resources. With RBAC, you can specify which role has the permissions to create, read (and reference), update, and delete a Security Strategy or a Security Policy. You can then assign roles to specific users so that the users inherit the permissions. diff --git a/content/controller/app-delivery/security/tutorials/view-app-security-analytics.md b/content/controller/app-delivery/security/tutorials/view-app-security-analytics.md index 738d54cd8..680ff7fdd 100644 --- a/content/controller/app-delivery/security/tutorials/view-app-security-analytics.md +++ b/content/controller/app-delivery/security/tutorials/view-app-security-analytics.md @@ -1,14 +1,12 @@ --- description: How to view App Security Analytics. docs: DOCS-487 -doctypes: -- concept -- reference -tags: -- task title: View App Security Analytics toc: true weight: 500 +type: +- concept +- reference --- ## Overview diff --git a/content/controller/infrastructure/_index.md b/content/controller/infrastructure/_index.md index fa7e33a9e..e67c8e177 100644 --- a/content/controller/infrastructure/_index.md +++ b/content/controller/infrastructure/_index.md @@ -1,9 +1,7 @@ --- description: Learn how to manage F5 NGINX Controller's underlying infrastructure. -menu: - docs: - parent: NGINX Controller title: Infrastructure weight: 130 url: /nginx-controller/infrastructure/ --- + diff --git a/content/controller/infrastructure/instances/_index.md b/content/controller/infrastructure/instances/_index.md index 0ebddf5c8..fbeb3ebe1 100644 --- a/content/controller/infrastructure/instances/_index.md +++ b/content/controller/infrastructure/instances/_index.md @@ -1,8 +1,6 @@ --- -menu: - docs: - parent: Infrastructure title: Instance Management weight: 10 url: /nginx-controller/infrastructure/instances/ --- + diff --git a/content/controller/infrastructure/instances/add-aws-instance.md b/content/controller/infrastructure/instances/add-aws-instance.md index 07ca4f119..ba53536f5 100644 --- a/content/controller/infrastructure/instances/add-aws-instance.md +++ b/content/controller/infrastructure/instances/add-aws-instance.md @@ -1,13 +1,11 @@ --- description: Learn how to deploy an AWS F5 NGINX instance using NGINX Controller. docs: DOCS-768 -doctypes: -- tutorial -tags: -- docs title: Add an AWS NGINX Instance toc: true weight: 30 +type: +- tutorial --- ## Overview diff --git a/content/controller/infrastructure/instances/add-azure-instance.md b/content/controller/infrastructure/instances/add-azure-instance.md index fbb7fb08a..e4fdd8ea1 100644 --- a/content/controller/infrastructure/instances/add-azure-instance.md +++ b/content/controller/infrastructure/instances/add-azure-instance.md @@ -1,14 +1,11 @@ --- description: Learn how to deploy an Azure NGINX instance using F5 NGINX Controller. docs: DOCS-769 -doctypes: -- beta -- tutorial -tags: -- docs title: Add an Azure NGINX Instance toc: true weight: 35 +type: +- tutorial --- ## Overview diff --git a/content/controller/infrastructure/instances/add-nap-instance.md b/content/controller/infrastructure/instances/add-nap-instance.md index b8a760c65..9b3344d73 100644 --- a/content/controller/infrastructure/instances/add-nap-instance.md +++ b/content/controller/infrastructure/instances/add-nap-instance.md @@ -2,13 +2,11 @@ description: Learn how to register an F5 NGINX App Protect instance with NGINX Controller for use with the ADC module. docs: DOCS-770 -doctypes: -- task -tags: -- docs title: Add an NGINX App Protect Instance toc: true weight: 20 +type: +- how-to --- ## Overview diff --git a/content/controller/infrastructure/instances/add-vsphere-instance.md b/content/controller/infrastructure/instances/add-vsphere-instance.md index 9644b00e9..ef944a55a 100644 --- a/content/controller/infrastructure/instances/add-vsphere-instance.md +++ b/content/controller/infrastructure/instances/add-vsphere-instance.md @@ -1,14 +1,11 @@ --- description: Learn how to deploy a vSphere NGINX instance using F5 NGINX Controller. docs: DOCS-771 -doctypes: -- beta -- tutorial -tags: -- docs title: Add a vSphere NGINX Instance toc: true weight: 35 +type: +- tutorial --- ## Overview diff --git a/content/controller/infrastructure/instances/analyzer.md b/content/controller/infrastructure/instances/analyzer.md index 26b04788c..827c70f8f 100644 --- a/content/controller/infrastructure/instances/analyzer.md +++ b/content/controller/infrastructure/instances/analyzer.md @@ -1,13 +1,11 @@ --- description: View graphs and system reports for your Instances. docs: DOCS-772 -doctypes: -- task -tags: -- docs title: View Performance Reports for Your Instances toc: true weight: 60 +type: +- how-to --- ## Overview diff --git a/content/controller/infrastructure/instances/graphs.md b/content/controller/infrastructure/instances/graphs.md index 62f123a88..694fb56ca 100644 --- a/content/controller/infrastructure/instances/graphs.md +++ b/content/controller/infrastructure/instances/graphs.md @@ -1,17 +1,14 @@ --- description: View key metrics for all of your monitored systems. docs: DOCS-773 -doctypes: -- task -- tutorial -- concept -- reference -- troubleshooting -tags: -- docs title: View System Metrics Graphs toc: true weight: 70 +type: +- how-to +- tutorial +- concept +- reference --- ## Overview diff --git a/content/controller/infrastructure/instances/ha-data-plane.md b/content/controller/infrastructure/instances/ha-data-plane.md index 6e8a03c6e..ff0cc762f 100644 --- a/content/controller/infrastructure/instances/ha-data-plane.md +++ b/content/controller/infrastructure/instances/ha-data-plane.md @@ -2,13 +2,11 @@ description: Learn how to configure a high-availability data plane for your apps in on-premises deployments using F5 NGINX Controller, NGINX Plus, and keepalived. docs: DOCS-774 -doctypes: -- tutorial -tags: -- docs title: Set Up Data Plane High Availability toc: true weight: 40 +type: +- tutorial --- ## Overview diff --git a/content/controller/infrastructure/instances/manage-containerized-instances.md b/content/controller/infrastructure/instances/manage-containerized-instances.md index b8d69675d..7bcbb2c10 100644 --- a/content/controller/infrastructure/instances/manage-containerized-instances.md +++ b/content/controller/infrastructure/instances/manage-containerized-instances.md @@ -2,13 +2,11 @@ description: How to set up Kubernetes-native API Gateways using Instance Groups (requires the API Management module). docs: DOCS-775 -doctypes: -- tutorial -tags: -- docs title: Manage Containerized Instances toc: true weight: 15 +type: +- tutorial --- ## Overview diff --git a/content/controller/infrastructure/instances/manage-instance-templates.md b/content/controller/infrastructure/instances/manage-instance-templates.md index d7aab04bd..903356e1e 100644 --- a/content/controller/infrastructure/instances/manage-instance-templates.md +++ b/content/controller/infrastructure/instances/manage-instance-templates.md @@ -1,13 +1,11 @@ --- description: Create and manage templates for your F5 NGINX Plus instances. docs: DOCS-776 -doctypes: -- tutorial -tags: -- docs title: Manage Your Instance Templates toc: true weight: 50 +type: +- tutorial --- ## Overview diff --git a/content/controller/infrastructure/instances/manage-instances.md b/content/controller/infrastructure/instances/manage-instances.md index f2ee622e0..5df6560ed 100644 --- a/content/controller/infrastructure/instances/manage-instances.md +++ b/content/controller/infrastructure/instances/manage-instances.md @@ -1,13 +1,11 @@ --- description: Use the Instance Overview page to view and manage your F5 NGINX Instances. docs: DOCS-777 -doctypes: -- tutorial -tags: -- docs title: Manage Your NGINX Instances toc: true weight: 10 +type: +- tutorial --- ## Overview diff --git a/content/controller/infrastructure/locations/manage-locations.md b/content/controller/infrastructure/locations/manage-locations.md index 2eb8867f6..7f06f8167 100644 --- a/content/controller/infrastructure/locations/manage-locations.md +++ b/content/controller/infrastructure/locations/manage-locations.md @@ -1,13 +1,11 @@ --- description: Create and manage Locations for your F5 NGINX Instances. docs: DOCS-778 -doctypes: -- tutorial -tags: -- docs title: Manage Locations toc: true weight: 10 +type: +- tutorial --- ## Overview diff --git a/content/controller/platform/_index.md b/content/controller/platform/_index.md index 2f12528fa..bd8b42cbe 100644 --- a/content/controller/platform/_index.md +++ b/content/controller/platform/_index.md @@ -1,9 +1,7 @@ --- description: Learn how to manage the F5 NGINX Controller platform. -menu: - docs: - parent: NGINX Controller title: Platform weight: 140 url: /nginx-controller/platform/ --- + diff --git a/content/controller/platform/about/get-controller-version.md b/content/controller/platform/about/get-controller-version.md index cf9cd94e9..288b74271 100644 --- a/content/controller/platform/about/get-controller-version.md +++ b/content/controller/platform/about/get-controller-version.md @@ -1,13 +1,11 @@ --- description: How to look up the version details for F5 NGINX Controller and its components. docs: DOCS-780 -doctypes: -- task -tags: -- docs title: Look Up Version Information toc: true weight: 130 +type: +- how-to --- ## Overview diff --git a/content/controller/platform/about/what-is-controller.md b/content/controller/platform/about/what-is-controller.md index 3a2f06aa4..3cec37859 100644 --- a/content/controller/platform/about/what-is-controller.md +++ b/content/controller/platform/about/what-is-controller.md @@ -1,13 +1,11 @@ --- description: Overview of F5 NGINX Controller. docs: DOCS-781 -doctypes: -- concept -tags: -- docs title: Get to Know NGINX Controller toc: true weight: 100 +type: +- concept --- ## Overview diff --git a/content/controller/platform/access-management/_index.md b/content/controller/platform/access-management/_index.md index 276e71b8b..703198839 100644 --- a/content/controller/platform/access-management/_index.md +++ b/content/controller/platform/access-management/_index.md @@ -1,9 +1,7 @@ --- description: Create and manage Authentication Providers, Users, Roles, and Role Groups -menu: - docs: - parent: Platform title: Access Management weight: 140 url: /nginx-controller/platform/access-management/ --- + diff --git a/content/controller/platform/access-management/manage-active-directory-auth-provider.md b/content/controller/platform/access-management/manage-active-directory-auth-provider.md index 7aa36efb3..d9eed3e77 100644 --- a/content/controller/platform/access-management/manage-active-directory-auth-provider.md +++ b/content/controller/platform/access-management/manage-active-directory-auth-provider.md @@ -1,14 +1,12 @@ --- -description: Set up Active Directory authentication for F5 NGINX Controller using OIDC - with Microsoft Entra or LDAP, LDAPs, and StartTLS with Windows Active Directory. +description: Set up Active Directory authentication for F5 NGINX Controller using + OIDC with Microsoft Entra or LDAP, LDAPs, and StartTLS with Windows Active Directory. docs: DOCS-782 -doctypes: -- tutorial -tags: -- docs title: Configure Active Directory Integration toc: true weight: 10 +type: +- tutorial --- ## Overview diff --git a/content/controller/platform/access-management/manage-roles.md b/content/controller/platform/access-management/manage-roles.md index 4d3f7a759..885c5cb99 100644 --- a/content/controller/platform/access-management/manage-roles.md +++ b/content/controller/platform/access-management/manage-roles.md @@ -1,13 +1,11 @@ --- description: Create and manage Roles and Role Groups. docs: DOCS-783 -doctypes: -- tutorial -tags: -- docs title: Manage Roles and Role Groups toc: true weight: 30 +type: +- tutorial --- ## Overview diff --git a/content/controller/platform/access-management/manage-users.md b/content/controller/platform/access-management/manage-users.md index 7a718eb26..94825e319 100644 --- a/content/controller/platform/access-management/manage-users.md +++ b/content/controller/platform/access-management/manage-users.md @@ -1,13 +1,11 @@ --- description: Create and manage User resources. docs: DOCS-784 -doctypes: -- tutorial -tags: -- docs title: Manage Users toc: true weight: 20 +type: +- tutorial --- ## Overview diff --git a/content/controller/platform/integrations/_index.md b/content/controller/platform/integrations/_index.md index 182dd5bdc..fdc4c07d0 100644 --- a/content/controller/platform/integrations/_index.md +++ b/content/controller/platform/integrations/_index.md @@ -1,9 +1,7 @@ --- description: 'Integrate popular third-party services with F5 NGINX Controller. ' -menu: - docs: - parent: Platform title: Integrations weight: 200 url: /nginx-controller/platform/integrations/ --- + diff --git a/content/controller/platform/integrations/aws-integration.md b/content/controller/platform/integrations/aws-integration.md index 6c21f88b8..c2f168445 100644 --- a/content/controller/platform/integrations/aws-integration.md +++ b/content/controller/platform/integrations/aws-integration.md @@ -1,13 +1,11 @@ --- description: Integrate F5 NGINX Controller with Amazon Web Services. docs: DOCS-785 -doctypes: -- tutorial -tags: -- docs title: AWS Integration toc: true weight: 20 +type: +- tutorial --- ## AWS Integration Requirements diff --git a/content/controller/platform/integrations/big-ip-self-service.md b/content/controller/platform/integrations/big-ip-self-service.md index ab034be2f..80b82af3d 100644 --- a/content/controller/platform/integrations/big-ip-self-service.md +++ b/content/controller/platform/integrations/big-ip-self-service.md @@ -1,13 +1,11 @@ --- description: Integrate F5 NGINX Controller with a BIG-IP cluster. docs: DOCS-786 -doctypes: -- tutorial -tags: -- docs title: BIG-IP Integration toc: true weight: 20 +type: +- tutorial --- ## Overview diff --git a/content/controller/platform/licensing-controller.md b/content/controller/platform/licensing-controller.md index ed7f1119a..446860c4f 100644 --- a/content/controller/platform/licensing-controller.md +++ b/content/controller/platform/licensing-controller.md @@ -1,13 +1,11 @@ --- description: Follow these steps to license your F5 NGINX Controller. docs: DOCS-787 -doctypes: -- task -tags: -- docs title: License NGINX Controller toc: true weight: 120 +type: +- how-to --- ## Overview diff --git a/content/controller/platform/maintenance/_index.md b/content/controller/platform/maintenance/_index.md index bfe38953a..83e67b75f 100644 --- a/content/controller/platform/maintenance/_index.md +++ b/content/controller/platform/maintenance/_index.md @@ -1,9 +1,7 @@ --- description: Learn how to perform maintenance tasks on your F5 NGINX Controller. -menu: - docs: - parent: Platform title: Maintenance weight: 250 url: /nginx-controller/platform/maintenance/ --- + diff --git a/content/controller/platform/maintenance/changing-ip-address.md b/content/controller/platform/maintenance/changing-ip-address.md index e25a6e1d9..56ee9aaa7 100644 --- a/content/controller/platform/maintenance/changing-ip-address.md +++ b/content/controller/platform/maintenance/changing-ip-address.md @@ -1,14 +1,12 @@ --- description: Learn how to safely change the management IP of F5 NGINX Controller. docs: DOCS-779 -doctypes: -- task -- tutorial -tags: -- docs title: Changing the IP address toc: true weight: 135 +type: +- how-to +- tutorial --- ## Overview diff --git a/content/controller/platform/manage-cluster.md b/content/controller/platform/manage-cluster.md index ab6ded842..47b7d8ecc 100644 --- a/content/controller/platform/manage-cluster.md +++ b/content/controller/platform/manage-cluster.md @@ -2,14 +2,12 @@ description: Learn how to add and manage additional F5 NGINX Controller nodes to create a resilient cluster. docs: DOCS-788 -doctypes: -- task -- tutorial -tags: -- docs title: Manage Your Cluster toc: true weight: 140 +type: +- how-to +- tutorial --- ## Overview diff --git a/content/controller/releases/_index.md b/content/controller/releases/_index.md index 281c430e7..19fa4a9d1 100644 --- a/content/controller/releases/_index.md +++ b/content/controller/releases/_index.md @@ -1,8 +1,5 @@ --- description: Stay up-to-date with the latest F5 NGINX Controller releases. -menu: - docs: - parent: NGINX Controller title: Releases weight: 1000 url: /nginx-controller/releases/ diff --git a/content/controller/releases/adc/_index.md b/content/controller/releases/adc/_index.md index 10b8f4388..be6bd6a49 100644 --- a/content/controller/releases/adc/_index.md +++ b/content/controller/releases/adc/_index.md @@ -1,10 +1,8 @@ --- -description: Stay up-to-date with the latest releases for the [F5 NGINX Controller Application - Delivery Module](https://www.nginx.com/products/nginx-controller/load-balancer-application-delivery/). -menu: - docs: - parent: NGINX Controller +description: Stay up-to-date with the latest releases for the [F5 NGINX Controller + Application Delivery Module](https://www.nginx.com/products/nginx-controller/load-balancer-application-delivery/). title: NGINX Controller Application Delivery Module weight: 50 url: /nginx-controller/releases/adc/ --- + diff --git a/content/controller/releases/adc/adc-release-notes-3.20.1.md b/content/controller/releases/adc/adc-release-notes-3.20.1.md index e1cd9f1ff..70087b926 100644 --- a/content/controller/releases/adc/adc-release-notes-3.20.1.md +++ b/content/controller/releases/adc/adc-release-notes-3.20.1.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-362 -doctypes: -- reference -tags: -- docs title: Release Notes 3.20.1 toc: true weight: 99 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/adc/adc-release-notes-3.20.md b/content/controller/releases/adc/adc-release-notes-3.20.md index 25525767c..076c07f0f 100644 --- a/content/controller/releases/adc/adc-release-notes-3.20.md +++ b/content/controller/releases/adc/adc-release-notes-3.20.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-363 -doctypes: -- reference -tags: -- docs title: Release Notes 3.20.0 toc: true weight: 100 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/adc/adc-release-notes-3.21.md b/content/controller/releases/adc/adc-release-notes-3.21.md index 882bef68e..e63c0af3c 100644 --- a/content/controller/releases/adc/adc-release-notes-3.21.md +++ b/content/controller/releases/adc/adc-release-notes-3.21.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-364 -doctypes: -- reference -tags: -- docs title: Release Notes 3.21.0 toc: true weight: 98 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/adc/adc-release-notes-3.22.1.md b/content/controller/releases/adc/adc-release-notes-3.22.1.md index c95a4fcee..d9cc65174 100644 --- a/content/controller/releases/adc/adc-release-notes-3.22.1.md +++ b/content/controller/releases/adc/adc-release-notes-3.22.1.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-834 -doctypes: -- reference -tags: -- docs title: Release Notes 3.22.1 toc: true weight: 96 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/adc/adc-release-notes-3.22.2.md b/content/controller/releases/adc/adc-release-notes-3.22.2.md index a4e7deb53..586c068bc 100644 --- a/content/controller/releases/adc/adc-release-notes-3.22.2.md +++ b/content/controller/releases/adc/adc-release-notes-3.22.2.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-844 -doctypes: -- reference -tags: -- docs title: Release Notes 3.22.2 toc: true weight: 95 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/adc/adc-release-notes-3.22.3.md b/content/controller/releases/adc/adc-release-notes-3.22.3.md index de886eec6..ad259a183 100644 --- a/content/controller/releases/adc/adc-release-notes-3.22.3.md +++ b/content/controller/releases/adc/adc-release-notes-3.22.3.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-903 -doctypes: -- reference -tags: -- docs title: Release Notes 3.22.3 toc: true weight: 94 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/adc/adc-release-notes-3.22.4.md b/content/controller/releases/adc/adc-release-notes-3.22.4.md index 96fe39bfa..fd71f5470 100644 --- a/content/controller/releases/adc/adc-release-notes-3.22.4.md +++ b/content/controller/releases/adc/adc-release-notes-3.22.4.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-904 -doctypes: -- reference -tags: -- docs title: Release Notes 3.22.4 toc: true weight: 93 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/adc/adc-release-notes-3.22.5.md b/content/controller/releases/adc/adc-release-notes-3.22.5.md index 32b148cf7..38b8dd89c 100644 --- a/content/controller/releases/adc/adc-release-notes-3.22.5.md +++ b/content/controller/releases/adc/adc-release-notes-3.22.5.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-945 -doctypes: -- reference -tags: -- docs title: Release Notes 3.22.5 toc: true weight: 92 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/adc/adc-release-notes-3.22.6.md b/content/controller/releases/adc/adc-release-notes-3.22.6.md index 69d3c3931..827c96bb4 100644 --- a/content/controller/releases/adc/adc-release-notes-3.22.6.md +++ b/content/controller/releases/adc/adc-release-notes-3.22.6.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-1086 -doctypes: -- reference -tags: -- docs title: Release Notes 3.22.6 toc: true weight: 91 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/adc/adc-release-notes-3.22.7.md b/content/controller/releases/adc/adc-release-notes-3.22.7.md index 2e37daceb..36271ea7f 100644 --- a/content/controller/releases/adc/adc-release-notes-3.22.7.md +++ b/content/controller/releases/adc/adc-release-notes-3.22.7.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-1388 -doctypes: -- reference -tags: -- docs title: Release Notes 3.22.7 toc: true weight: 90 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/adc/adc-release-notes-3.22.8.md b/content/controller/releases/adc/adc-release-notes-3.22.8.md index 9b3fad81a..52885fa05 100644 --- a/content/controller/releases/adc/adc-release-notes-3.22.8.md +++ b/content/controller/releases/adc/adc-release-notes-3.22.8.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-1128 -doctypes: -- reference -tags: -- docs title: Release Notes 3.22.8 toc: true weight: 89 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/adc/adc-release-notes-3.22.md b/content/controller/releases/adc/adc-release-notes-3.22.md index ec48ca730..f549c3ebc 100644 --- a/content/controller/releases/adc/adc-release-notes-3.22.md +++ b/content/controller/releases/adc/adc-release-notes-3.22.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller Application Delivery Module. docs: DOCS-833 -doctypes: -- reference -tags: -- docs title: Release Notes 3.22.0 toc: true weight: 97 +type: +- reference --- {{< include "controller/adc-rn-preamble.md" >}} diff --git a/content/controller/releases/apim/_index.md b/content/controller/releases/apim/_index.md index 3a96dd50b..df9a675f3 100644 --- a/content/controller/releases/apim/_index.md +++ b/content/controller/releases/apim/_index.md @@ -1,10 +1,8 @@ --- description: Stay up-to-date with the latest releases for the [NGINX Controller API Management Module](https://www.nginx.com/products/nginx-controller/api-management/). -menu: - docs: - parent: NGINX Controller title: NGINX Controller API Management Module weight: 100 url: /nginx-controller/releases/apim/ --- + diff --git a/content/controller/releases/apim/apim-release-notes-3.18.1.md b/content/controller/releases/apim/apim-release-notes-3.18.1.md index bddda7430..daa7f82d4 100644 --- a/content/controller/releases/apim/apim-release-notes-3.18.1.md +++ b/content/controller/releases/apim/apim-release-notes-3.18.1.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller API Management Module. docs: DOCS-365 -doctypes: -- reference -tags: -- docs title: Release Notes 3.18.1 toc: true weight: 99 +type: +- reference --- {{< include "controller/apim-rn-preamble.md" >}} diff --git a/content/controller/releases/apim/apim-release-notes-3.18.md b/content/controller/releases/apim/apim-release-notes-3.18.md index 2a7a0330d..dc97e3107 100644 --- a/content/controller/releases/apim/apim-release-notes-3.18.md +++ b/content/controller/releases/apim/apim-release-notes-3.18.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller API Management Module. docs: DOCS-366 -doctypes: -- reference -tags: -- docs title: Release Notes 3.18.0 toc: true weight: 100 +type: +- reference --- {{< include "controller/apim-rn-preamble.md" >}} diff --git a/content/controller/releases/apim/apim-release-notes-3.19.1.md b/content/controller/releases/apim/apim-release-notes-3.19.1.md index de0ea6b86..6bb063f3e 100644 --- a/content/controller/releases/apim/apim-release-notes-3.19.1.md +++ b/content/controller/releases/apim/apim-release-notes-3.19.1.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller API Management Module. docs: DOCS-367 -doctypes: -- reference -tags: -- docs title: Release Notes 3.19.1 toc: true weight: 96 +type: +- reference --- {{< include "controller/apim-rn-preamble.md" >}} diff --git a/content/controller/releases/apim/apim-release-notes-3.19.2.md b/content/controller/releases/apim/apim-release-notes-3.19.2.md index 6697d1d4a..42130b2a4 100644 --- a/content/controller/releases/apim/apim-release-notes-3.19.2.md +++ b/content/controller/releases/apim/apim-release-notes-3.19.2.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller API Management Module. docs: DOCS-368 -doctypes: -- reference -tags: -- docs title: Release Notes 3.19.2 toc: true weight: 95 +type: +- reference --- {{< include "controller/apim-rn-preamble.md" >}} diff --git a/content/controller/releases/apim/apim-release-notes-3.19.md b/content/controller/releases/apim/apim-release-notes-3.19.md index 34ab0d06d..811f6e123 100644 --- a/content/controller/releases/apim/apim-release-notes-3.19.md +++ b/content/controller/releases/apim/apim-release-notes-3.19.md @@ -2,13 +2,11 @@ description: These release notes contain information about new features, improvements, known issues, and bug fixes in the NGINX Controller API Management Module. docs: DOCS-369 -doctypes: -- reference -tags: -- docs title: Release Notes 3.19.0 toc: true weight: 97 +type: +- reference --- {{< include "controller/apim-rn-preamble.md" >}} diff --git a/content/controller/releases/release-notes.md b/content/controller/releases/release-notes.md index 5654c32c1..e29c60e2e 100644 --- a/content/controller/releases/release-notes.md +++ b/content/controller/releases/release-notes.md @@ -2,13 +2,11 @@ description: Learn about the new features, enhancements, resolved issues, and known issues in F5 NGINX Controller. docs: DOCS-370 -doctypes: -- reference -tags: -- docs -title: "NGINX Controller v3.0.0\u20133.18.3" +title: NGINX Controller v3.0.0–3.18.3 toc: true weight: 10 +type: +- reference --- ## Release Notes diff --git a/content/controller/services/_index.md b/content/controller/services/_index.md index a679c8374..4422fe534 100644 --- a/content/controller/services/_index.md +++ b/content/controller/services/_index.md @@ -1,10 +1,8 @@ --- description: Set up Environments, Certificates, and Gateways for Application Delivery and API Management. -menu: - docs: - parent: NGINX Controller title: Services weight: 150 url: /nginx-controller/services/ --- + diff --git a/content/controller/services/available-policies.md b/content/controller/services/available-policies.md index 3f68eeaeb..81c97b719 100644 --- a/content/controller/services/available-policies.md +++ b/content/controller/services/available-policies.md @@ -1,13 +1,11 @@ --- description: Learn about the policies available for use in the F5 NGINX Controller. docs: DOCS-568 -doctypes: -- concept -tags: -- docs title: Learn About Policies toc: true weight: 130 +type: +- concept --- ## Overview diff --git a/content/controller/services/manage-certs.md b/content/controller/services/manage-certs.md index 9737099e0..44c9b835c 100644 --- a/content/controller/services/manage-certs.md +++ b/content/controller/services/manage-certs.md @@ -1,13 +1,11 @@ --- description: Create, apply, and mange Certs to use with your environments. docs: DOCS-371 -doctypes: -- tutorial -tags: -- docs title: Manage Certs toc: true weight: 120 +type: +- tutorial --- ## Overview diff --git a/content/controller/services/manage-environments.md b/content/controller/services/manage-environments.md index 243276cc9..07be81760 100644 --- a/content/controller/services/manage-environments.md +++ b/content/controller/services/manage-environments.md @@ -1,13 +1,11 @@ --- description: Create and manage environments to use with your apps, gateways, and certs. docs: DOCS-372 -doctypes: -- tutorial -tags: -- docs title: Manage Environments toc: true weight: 100 +type: +- tutorial --- ## Overview diff --git a/content/controller/services/manage-gateways.md b/content/controller/services/manage-gateways.md index e61370473..c0db4e723 100644 --- a/content/controller/services/manage-gateways.md +++ b/content/controller/services/manage-gateways.md @@ -1,13 +1,11 @@ --- description: Create, view, and edit Gateways. docs: DOCS-373 -doctypes: -- tutorial -tags: -- docs title: Manage Gateways toc: true weight: 120 +type: +- tutorial --- ## Overview diff --git a/content/controller/services/manage-identity-providers.md b/content/controller/services/manage-identity-providers.md index 8eede4f03..71906b06a 100644 --- a/content/controller/services/manage-identity-providers.md +++ b/content/controller/services/manage-identity-providers.md @@ -1,13 +1,11 @@ --- description: Create and Manage Identity Providers. docs: DOCS-571 -doctypes: -- tutorial -tags: -- docs title: Manage Identity Providers toc: true weight: 140 +type: +- tutorial --- ## Overview diff --git a/content/controller/services/overview.md b/content/controller/services/overview.md index 9f895467d..d484fe023 100644 --- a/content/controller/services/overview.md +++ b/content/controller/services/overview.md @@ -2,13 +2,11 @@ description: Learn about the common tasks and resources that are required to deploy and manage Services using F5 NGINX Controller. docs: DOCS-374 -doctypes: -- tutorial -tags: -- docs title: Set Up NGINX Controller Services toc: true weight: 10 +type: +- tutorial --- ## Introduction diff --git a/content/controller/support/_index.md b/content/controller/support/_index.md index a6606b43b..0f65a57e1 100644 --- a/content/controller/support/_index.md +++ b/content/controller/support/_index.md @@ -1,8 +1,5 @@ --- description: How to get support for F5 NGINX Controller -menu: - docs: - parent: NGINX Controller title: Support weight: 500 url: /nginx-controller/support/ diff --git a/content/controller/support/contact-support.md b/content/controller/support/contact-support.md index 7527a57e5..c526b6fed 100644 --- a/content/controller/support/contact-support.md +++ b/content/controller/support/contact-support.md @@ -1,14 +1,11 @@ --- description: Contact information and knowledge resources for F5 NGINX Support. docs: DOCS-375 -doctypes: -- reference -- troubleshooting -tags: -- docs title: Where to Go for Support toc: true weight: 10 +type: +- reference --- ## Contact F5 NGINX Support diff --git a/content/controller/support/troubleshooting-controller.md b/content/controller/support/troubleshooting-controller.md index f4ef2914c..1edc703da 100644 --- a/content/controller/support/troubleshooting-controller.md +++ b/content/controller/support/troubleshooting-controller.md @@ -1,15 +1,12 @@ --- -description: Steps to take to investigate and fix issues with F5 NGINX Controller and - the Controller Agent. +description: Steps to take to investigate and fix issues with F5 NGINX Controller + and the Controller Agent. docs: DOCS-376 -doctypes: -- tutorial -- troubleshooting -tags: -- docs title: Troubleshoot NGINX Controller and the Controller Agent toc: true weight: 100 +type: +- tutorial --- ## Overview diff --git a/content/controller/support/troubleshooting-forwarders.md b/content/controller/support/troubleshooting-forwarders.md index 04eedbbfc..49c56058d 100644 --- a/content/controller/support/troubleshooting-forwarders.md +++ b/content/controller/support/troubleshooting-forwarders.md @@ -1,13 +1,11 @@ --- description: Steps to take to investigate and fix issues with data forwarders. docs: DOCS-377 -doctypes: -- tutorial -tags: -- docs title: Troubleshoot Data Forwarders toc: true weight: 200 +type: +- tutorial --- ## Overview diff --git a/content/includes/security/jwt-password-note.md b/content/includes/security/jwt-password-note.md index fe13728a6..d7c1640a3 100644 --- a/content/includes/security/jwt-password-note.md +++ b/content/includes/security/jwt-password-note.md @@ -2,7 +2,6 @@ docs: --- - {{}} To protect your system and data, follow these security practices: diff --git a/content/mesh/_index.md b/content/mesh/_index.md index 76d2241e0..c30b9c2f1 100644 --- a/content/mesh/_index.md +++ b/content/mesh/_index.md @@ -1,11 +1,13 @@ --- -title: "F5 NGINX Service Mesh" -description: | - NGINX Service Mesh is a fully integrated lightweight service mesh that leverages a data plane powered by NGINX Plus to manage container traffic in Kubernetes environments. -linkTitle: "NGINX Service Mesh" -menu: docs +title: F5 NGINX Service Mesh +description: 'NGINX Service Mesh is a fully integrated lightweight service mesh that + leverages a data plane powered by NGINX Plus to manage container traffic in Kubernetes + environments. + + ' cascade: - type: "mesh-eos" - noindex: true + type: mesh-eos + noindex: true url: /nginx-service-mesh/ --- + diff --git a/content/mesh/about/_index.md b/content/mesh/about/_index.md index 8a1b6f517..510e7b8da 100644 --- a/content/mesh/about/_index.md +++ b/content/mesh/about/_index.md @@ -1,10 +1,9 @@ --- title: About NGINX Service Mesh -description: "Learn the fundamentals of NGINX Service Mesh." +description: Learn the fundamentals of NGINX Service Mesh. weight: 10 -categories: ["concepts"] -menu: - docs: - parent: NGINX Service Mesh url: /nginx-service-mesh/about/ +type: +- concept --- + diff --git a/content/mesh/about/architecture.md b/content/mesh/about/architecture.md index e088e4f21..c5db8f34f 100644 --- a/content/mesh/about/architecture.md +++ b/content/mesh/about/architecture.md @@ -1,10 +1,12 @@ --- -title: "Architecture" +title: Architecture weight: 200 -description: "Learn about F5 NGINX Service Mesh Architecture." -categories: ["concepts", "reference"] +description: Learn about F5 NGINX Service Mesh Architecture. toc: true -docs: "DOCS-676" +docs: DOCS-676 +type: +- concept +- reference --- ## Overview diff --git a/content/mesh/about/mesh-tech-specs.md b/content/mesh/about/mesh-tech-specs.md index 18e7fba37..737a6b493 100644 --- a/content/mesh/about/mesh-tech-specs.md +++ b/content/mesh/about/mesh-tech-specs.md @@ -1,10 +1,11 @@ --- -title: "Technical Specifications" +title: Technical Specifications weight: 110 -description: "Cluster requirements and F5 NGINX Service Mesh footprint" -categories: ["reference"] +description: Cluster requirements and F5 NGINX Service Mesh footprint. toc: true -docs: "DOCS-677" +docs: DOCS-677 +type: +- reference --- The following document outlines the software versions and overhead F5 NGINX Service Mesh uses while running. diff --git a/content/mesh/about/what-is-nsm.md b/content/mesh/about/what-is-nsm.md index 59ce33fb8..1b212f4e0 100644 --- a/content/mesh/about/what-is-nsm.md +++ b/content/mesh/about/what-is-nsm.md @@ -1,10 +1,11 @@ --- -title: "What is NGINX Service Mesh?" +title: What is NGINX Service Mesh? weight: 100 -description: "Learn about F5 NGINX Service Mesh fundamentals." -categories: ["concepts"] +description: Learn about F5 NGINX Service Mesh fundamentals. toc: true -docs: "DOCS-678" +docs: DOCS-678 +type: +- concept --- ## What is a Service Mesh? diff --git a/content/mesh/get-started/_index.md b/content/mesh/get-started/_index.md index 0d89ca5c1..4ddf46179 100644 --- a/content/mesh/get-started/_index.md +++ b/content/mesh/get-started/_index.md @@ -1,11 +1,9 @@ --- title: Getting Started -description: "Learn how to install NGINX Service Mesh." +description: Learn how to install NGINX Service Mesh. weight: 100 -categories: ["concepts"] -menu: - docs: - parent: NGINX Service Mesh url: /nginx-service-mesh/get-started/ +type: +- concept --- diff --git a/content/mesh/get-started/install/configuration.md b/content/mesh/get-started/install/configuration.md index 97ddd2ba5..345e9fb4b 100644 --- a/content/mesh/get-started/install/configuration.md +++ b/content/mesh/get-started/install/configuration.md @@ -1,10 +1,11 @@ --- -title: "Configuration Options" +title: Configuration Options weight: 100 -description: "Learn about F5 NGINX Service Mesh features and deployment options." -categories: ["concepts"] +description: Learn about F5 NGINX Service Mesh features and deployment options. toc: true -docs: "DOCS-679" +docs: DOCS-679 +type: +- concept --- ## Overview diff --git a/content/mesh/get-started/install/install-with-helm.md b/content/mesh/get-started/install/install-with-helm.md index 4126bf7a7..d3c8154bc 100644 --- a/content/mesh/get-started/install/install-with-helm.md +++ b/content/mesh/get-started/install/install-with-helm.md @@ -1,11 +1,12 @@ --- -title: "Install with Helm" +title: Install with Helm draft: false toc: true -description: "This guide explains how to install F5 NGINX Service Mesh using Helm." +description: This guide explains how to install F5 NGINX Service Mesh using Helm. weight: 300 -categories: ["tasks"] -docs: "DOCS-680" +docs: DOCS-680 +type: +- how-to --- ## Prerequisites diff --git a/content/mesh/get-started/install/install.md b/content/mesh/get-started/install/install.md index c9e9fd729..4d6a4a5d4 100644 --- a/content/mesh/get-started/install/install.md +++ b/content/mesh/get-started/install/install.md @@ -1,11 +1,11 @@ --- -title: "Install with nginx-meshctl" -date: 2020-02-20T19:43:59Z +title: Install with nginx-meshctl draft: false toc: true weight: 200 -categories: ["tasks"] -docs: "DOCS-681" +docs: DOCS-681 +type: +- how-to --- ## Overview diff --git a/content/mesh/get-started/platform-setup/_index.md b/content/mesh/get-started/platform-setup/_index.md index 7395a7937..06622538f 100644 --- a/content/mesh/get-started/platform-setup/_index.md +++ b/content/mesh/get-started/platform-setup/_index.md @@ -1,7 +1,7 @@ --- title: Prepare Your Cluster -description: Prepare your Kubernetes or OpenShift cluster for use with NGINX Service Mesh. -date: 2020-08-17 +description: Prepare your Kubernetes or OpenShift cluster for use with NGINX Service + Mesh. weight: 1 url: /nginx-service-mesh/get-started/platform-setup/ --- diff --git a/content/mesh/get-started/platform-setup/gke.md b/content/mesh/get-started/platform-setup/gke.md index 1f5d04486..5ee197288 100644 --- a/content/mesh/get-started/platform-setup/gke.md +++ b/content/mesh/get-started/platform-setup/gke.md @@ -1,9 +1,11 @@ --- title: Google Kubernetes Engine -description: Learn how to set up Google Kubernetes Engine (GKE) for use with F5 NGINX Service Mesh. -categories: ["tasks"] +description: Learn how to set up Google Kubernetes Engine (GKE) for use with F5 NGINX + Service Mesh. toc: true -docs: "DOCS-683" +docs: DOCS-683 +type: +- how-to --- Google Kubernetes Engine (GKE) is a hosted Kubernetes solution created by Google. To use GKE with F5 NGINX Service Mesh, your Kubernetes user account has to have the `ClusterAdmin` role. diff --git a/content/mesh/get-started/platform-setup/kubeadm.md b/content/mesh/get-started/platform-setup/kubeadm.md index 0221b6ba7..971db529a 100644 --- a/content/mesh/get-started/platform-setup/kubeadm.md +++ b/content/mesh/get-started/platform-setup/kubeadm.md @@ -1,9 +1,10 @@ --- title: Kubeadm description: Learn how to set up Kubeadm for use with F5 NGINX Service Mesh. -categories: ["tasks"] toc: true -docs: "DOCS-684" +docs: DOCS-684 +type: +- how-to --- Kubeadm is a tool that creates Kubernetes clusters by following best practices. To use kubeadm with F5 NGINX Service Mesh, you need to enable some extra flags on the Kubernetes API Server to enable Service Account Token Volume Projection. See [Service Account Token Volume Projection](#service-account-token-volume-projection) section to learn why this is needed. diff --git a/content/mesh/get-started/platform-setup/kubespray.md b/content/mesh/get-started/platform-setup/kubespray.md index 5d7a01899..ee99ce369 100644 --- a/content/mesh/get-started/platform-setup/kubespray.md +++ b/content/mesh/get-started/platform-setup/kubespray.md @@ -1,9 +1,10 @@ --- title: Kubespray description: Learn how to set up Kubespray for use with F5 NGINX Service Mesh. -categories: ["tasks"] toc: true -docs: "DOCS-685" +docs: DOCS-685 +type: +- how-to --- [Kubespray](https://github.com/kubernetes-sigs/kubespray) is where Kubernetes meets [Ansible](https://www.ansible.com/). It's a composition of Ansible playbooks, provisioning tools, and domain knowledge for creating production-ready Kubernetes clusters. Kubespray builds on top of kubeadm. If you are using Kubespray v2.16.0 or later no changes are needed to deploy F5 NGINX Service Mesh. For older versions you need to enable some extra flags on the Kubernetes API Server to enable Service Account Token Volume Projection. See [Service Account Token Volume Projection]( {{< ref "kubeadm.md#service-account-token-volume-projection" >}} ) section to learn why this is needed. diff --git a/content/mesh/get-started/platform-setup/openshift.md b/content/mesh/get-started/platform-setup/openshift.md index d941f7b44..b2cc39ce9 100644 --- a/content/mesh/get-started/platform-setup/openshift.md +++ b/content/mesh/get-started/platform-setup/openshift.md @@ -1,9 +1,11 @@ --- title: OpenShift -description: Learn what is different in OpenShift, and the considerations a user must make. -categories: ["tasks"] +description: Learn what is different in OpenShift, and the considerations a user must + make. toc: true -docs: "DOCS-689" +docs: DOCS-689 +type: +- how-to --- ## Introduction diff --git a/content/mesh/get-started/platform-setup/persistent-storage.md b/content/mesh/get-started/platform-setup/persistent-storage.md index f19110cd0..06051f8ca 100644 --- a/content/mesh/get-started/platform-setup/persistent-storage.md +++ b/content/mesh/get-started/platform-setup/persistent-storage.md @@ -1,10 +1,12 @@ --- title: Persistent Storage -description: Learn how to set up persistent storage for use with F5 NGINX Service Mesh. -categories: ["tasks"] +description: Learn how to set up persistent storage for use with F5 NGINX Service + Mesh. weight: 101 toc: true -docs: "DOCS-686" +docs: DOCS-686 +type: +- how-to --- F5 NGINX Service Mesh generates data that needs to persist across restarts and failures to ensure uninterrupted operations. For example, if the SPIRE Server restarts, the new instance can pick up the the existing database of identities without having to rebuild everything. Depending on the environment, persistent storage may already be set up and ready for use by NGINX Service Mesh. diff --git a/content/mesh/get-started/platform-setup/rke.md b/content/mesh/get-started/platform-setup/rke.md index 2404cef53..2e4bd98e0 100644 --- a/content/mesh/get-started/platform-setup/rke.md +++ b/content/mesh/get-started/platform-setup/rke.md @@ -1,9 +1,11 @@ --- title: Rancher Kubernetes Engine -description: Learn how to set up Rancher Kubernetes Engine (RKE) for use with F5 NGINX Service Mesh. -categories: ["tasks"] +description: Learn how to set up Rancher Kubernetes Engine (RKE) for use with F5 NGINX + Service Mesh. toc: true -docs: "DOCS-687" +docs: DOCS-687 +type: +- how-to --- Rancher Kubernetes Engine (RKE) is a CNCF-certified Kubernetes distribution that runs entirely within Docker containers. It works on bare-metal and virtualized servers. diff --git a/content/mesh/get-started/platform-setup/supported-platforms.md b/content/mesh/get-started/platform-setup/supported-platforms.md index 16a756eeb..958606c80 100644 --- a/content/mesh/get-started/platform-setup/supported-platforms.md +++ b/content/mesh/get-started/platform-setup/supported-platforms.md @@ -1,10 +1,10 @@ --- title: Supported Platforms -description: Find out which platforms are supported for use with F5 NGINX Service Mesh. -date: 2020-08-17 +description: Find out which platforms are supported for use with F5 NGINX Service + Mesh. weight: 100 toc: true -docs: "DOCS-688" +docs: DOCS-688 --- ## Kubernetes diff --git a/content/mesh/get-started/uninstall/uninstall-with-helm.md b/content/mesh/get-started/uninstall/uninstall-with-helm.md index 0e7b55c29..b2b2af62d 100644 --- a/content/mesh/get-started/uninstall/uninstall-with-helm.md +++ b/content/mesh/get-started/uninstall/uninstall-with-helm.md @@ -1,11 +1,12 @@ --- -title: "Uninstall with Helm" +title: Uninstall with Helm draft: false toc: true -description: "This topic explains how to uninstall F5 NGINX Service Mesh using Helm." +description: This topic explains how to uninstall F5 NGINX Service Mesh using Helm. weight: 300 -categories: ["tasks"] -docs: "DOCS-699" +docs: DOCS-699 +type: +- how-to --- ## Uninstalling the Chart diff --git a/content/mesh/get-started/uninstall/uninstall.md b/content/mesh/get-started/uninstall/uninstall.md index 50e7970f3..32ae4838e 100644 --- a/content/mesh/get-started/uninstall/uninstall.md +++ b/content/mesh/get-started/uninstall/uninstall.md @@ -1,10 +1,11 @@ --- -title: "Uninstall with nginx-meshctl" +title: Uninstall with nginx-meshctl draft: false toc: true weight: 200 -categories: ["tasks"] -docs: "DOCS-1481" +docs: DOCS-1481 +type: +- how-to --- ## Overview diff --git a/content/mesh/get-started/upgrade/upgrade-with-helm.md b/content/mesh/get-started/upgrade/upgrade-with-helm.md index f97984585..5519d9446 100644 --- a/content/mesh/get-started/upgrade/upgrade-with-helm.md +++ b/content/mesh/get-started/upgrade/upgrade-with-helm.md @@ -1,11 +1,12 @@ --- -title: "Upgrade with Helm" +title: Upgrade with Helm draft: false toc: true -description: "This guide explains how to upgrade F5 NGINX Service Mesh using Helm." +description: This guide explains how to upgrade F5 NGINX Service Mesh using Helm. weight: 300 -categories: ["tasks"] -docs: "DOCS-700" +docs: DOCS-700 +type: +- how-to --- You can upgrade to the latest mesh version from the version immediately before it (for example, from v1.6.0 to v1.7.0). F5 NGINX Service Mesh doesn't support skipping versions. diff --git a/content/mesh/get-started/upgrade/upgrade.md b/content/mesh/get-started/upgrade/upgrade.md index db1058cb5..5d1ac3e68 100644 --- a/content/mesh/get-started/upgrade/upgrade.md +++ b/content/mesh/get-started/upgrade/upgrade.md @@ -1,11 +1,12 @@ --- -title: "Upgrade with nginx-meshctl" +title: Upgrade with nginx-meshctl draft: false toc: true -description: "This guide explains how to upgrade F5 NGINX Service Mesh using nginx-meshctl." +description: This guide explains how to upgrade F5 NGINX Service Mesh using nginx-meshctl. weight: 200 -categories: ["tasks"] -docs: "DOCS-1482" +docs: DOCS-1482 +type: +- how-to --- You can upgrade to the latest mesh version from the version immediately before it (for example, from v1.6.0 to v1.7.0). F5 NGINX Service Mesh doesn't support skipping versions. diff --git a/content/mesh/guides/_index.md b/content/mesh/guides/_index.md index c506c1ce4..833f0462f 100644 --- a/content/mesh/guides/_index.md +++ b/content/mesh/guides/_index.md @@ -1,10 +1,8 @@ --- title: Guides weight: 150 -description: "Learn how to use NGINX Service Mesh." +description: Learn how to use NGINX Service Mesh. draft: false -menu: - docs: - parent: NGINX Service Mesh url: /nginx-service-mesh/guides/ --- + diff --git a/content/mesh/guides/inject-sidecar-proxy.md b/content/mesh/guides/inject-sidecar-proxy.md index bad63b070..9ddd2d3bf 100644 --- a/content/mesh/guides/inject-sidecar-proxy.md +++ b/content/mesh/guides/inject-sidecar-proxy.md @@ -1,11 +1,12 @@ --- -title: "Sidecar Proxy Injection" -date: 2020-08-24T11:46:19-06:00 +title: Sidecar Proxy Injection toc: true -description: "Learn about the configuration options for F5 NGINX Service Mesh sidecar proxy injection." +description: Learn about the configuration options for F5 NGINX Service Mesh sidecar + proxy injection. weight: 10 -categories: ["tasks"] -docs: "DOCS-692" +docs: DOCS-692 +type: +- how-to --- ## Overview diff --git a/content/mesh/guides/monitoring-and-tracing.md b/content/mesh/guides/monitoring-and-tracing.md index 0093979ad..dec5da3c0 100644 --- a/content/mesh/guides/monitoring-and-tracing.md +++ b/content/mesh/guides/monitoring-and-tracing.md @@ -1,11 +1,12 @@ --- -title: "Monitoring and Tracing" -date: 2020-08-24T10:00:30-06:00 +title: Monitoring and Tracing toc: true -description: "Learn about the monitoring and tracing features available in F5 NGINX Service Mesh." +description: Learn about the monitoring and tracing features available in F5 NGINX + Service Mesh. weight: 20 -categories: ["tasks"] -docs: "DOCS-693" +docs: DOCS-693 +type: +- how-to --- ## Overview diff --git a/content/mesh/guides/private-registry.md b/content/mesh/guides/private-registry.md index 86c246095..8d97f4565 100644 --- a/content/mesh/guides/private-registry.md +++ b/content/mesh/guides/private-registry.md @@ -1,10 +1,11 @@ --- -title: "Private Registry" -description: "How to set up access to a private registry" -categories: ["tasks"] +title: Private Registry +description: How to set up access to a private registry weight: 70 toc: true -docs: "DOCS-694" +docs: DOCS-694 +type: +- how-to --- ## Overview diff --git a/content/mesh/guides/production-tuning.md b/content/mesh/guides/production-tuning.md index ddd04561a..15be7ee28 100644 --- a/content/mesh/guides/production-tuning.md +++ b/content/mesh/guides/production-tuning.md @@ -1,9 +1,10 @@ --- -title: "Production Tuning" -categories: ["tasks"] +title: Production Tuning weight: 80 toc: true -docs: "DOCS-695" +docs: DOCS-695 +type: +- how-to --- #### Overview diff --git a/content/mesh/guides/prometheus-metrics.md b/content/mesh/guides/prometheus-metrics.md index 2e7b9b769..84a829ddf 100644 --- a/content/mesh/guides/prometheus-metrics.md +++ b/content/mesh/guides/prometheus-metrics.md @@ -1,11 +1,11 @@ --- -title: "Prometheus Metrics" -date: 2020-08-24T11:18:39-06:00 -description: "How to set up and view prometheus metrics for valuable workload insights" -categories: ["tasks"] +title: Prometheus Metrics +description: How to set up and view prometheus metrics for valuable workload insights weight: 40 toc: true -docs: "DOCS-840" +docs: DOCS-840 +type: +- how-to --- ## Overview diff --git a/content/mesh/guides/secure-traffic-mtls.md b/content/mesh/guides/secure-traffic-mtls.md index 6512428b1..2bd7b30c9 100644 --- a/content/mesh/guides/secure-traffic-mtls.md +++ b/content/mesh/guides/secure-traffic-mtls.md @@ -1,11 +1,11 @@ --- -title: "Secure Mesh Traffic using mTLS" -date: 2020-08-24T10:48:05-06:00 +title: Secure Mesh Traffic using mTLS toc: true -description: "Learn about the mTLS options available in F5 NGINX Service Mesh." +description: Learn about the mTLS options available in F5 NGINX Service Mesh. weight: 30 -categories: ["tasks"] -docs: "DOCS-696" +docs: DOCS-696 +type: +- how-to --- ## Overview diff --git a/content/mesh/guides/smi-traffic-metrics.md b/content/mesh/guides/smi-traffic-metrics.md index 69a2ca33c..6421adbcb 100644 --- a/content/mesh/guides/smi-traffic-metrics.md +++ b/content/mesh/guides/smi-traffic-metrics.md @@ -1,11 +1,11 @@ --- -title: "SMI Traffic Metrics" -date: 2020-08-24T11:18:39-06:00 -description: "How to set up and view SMI traffic metrics" -categories: ["tasks"] +title: SMI Traffic Metrics +description: How to set up and view SMI traffic metrics weight: 50 toc: true -docs: "DOCS-697" +docs: DOCS-697 +type: +- how-to --- ## Overview diff --git a/content/mesh/guides/smi-traffic-policies.md b/content/mesh/guides/smi-traffic-policies.md index b13fc2fb0..16bf93a3f 100644 --- a/content/mesh/guides/smi-traffic-policies.md +++ b/content/mesh/guides/smi-traffic-policies.md @@ -1,11 +1,12 @@ --- -title: "SMI Traffic Policies" +title: SMI Traffic Policies toc: true -description: "Learn about the traffic policies supported by F5 NGINX Service Mesh and how to configure them." +description: Learn about the traffic policies supported by F5 NGINX Service Mesh and + how to configure them. weight: 60 -categories: ["tasks"] -toc: true -docs: "DOCS-698" +docs: DOCS-698 +type: +- how-to --- ## Overview diff --git a/content/mesh/guides/v1alpha1-ratelimit.md b/content/mesh/guides/v1alpha1-ratelimit.md index e73a7b58c..38735b6a3 100644 --- a/content/mesh/guides/v1alpha1-ratelimit.md +++ b/content/mesh/guides/v1alpha1-ratelimit.md @@ -1,9 +1,7 @@ --- -title: "v1alpha1 RateLimit Documentation" -docs: "DOCS-701" -description: "v1alpha1 RateLimit documentation." -_build: - list: never +title: v1alpha1 RateLimit Documentation +docs: DOCS-701 +description: v1alpha1 RateLimit documentation. --- ## RateLimit diff --git a/content/mesh/reference/_index.md b/content/mesh/reference/_index.md index ae7441a15..36875c884 100644 --- a/content/mesh/reference/_index.md +++ b/content/mesh/reference/_index.md @@ -1,8 +1,6 @@ --- title: Reference weight: 500 -menu: - docs: - parent: NGINX Service Mesh url: /nginx-service-mesh/reference/ --- + diff --git a/content/mesh/reference/api-usage.md b/content/mesh/reference/api-usage.md index d58873154..c68955b8e 100644 --- a/content/mesh/reference/api-usage.md +++ b/content/mesh/reference/api-usage.md @@ -1,11 +1,11 @@ --- title: NGINX Service Mesh API -description: "Instructions for interacting with the F5 NGINX Service Mesh API." +description: Instructions for interacting with the F5 NGINX Service Mesh API. toc: true -tags: ["api"] weight: 200 -categories: ["reference"] -docs: "DOCS-702" +docs: DOCS-702 +type: +- reference --- ## Overview diff --git a/content/mesh/reference/nginx-meshctl.md b/content/mesh/reference/nginx-meshctl.md index b81257c3b..cf6f21812 100644 --- a/content/mesh/reference/nginx-meshctl.md +++ b/content/mesh/reference/nginx-meshctl.md @@ -1,11 +1,12 @@ --- title: CLI Reference -description: "Man page and instructions for using the F5 NGINX Service Mesh CLI" +description: Man page and instructions for using the F5 NGINX Service Mesh CLI draft: false weight: 300 toc: true -categories: ["reference"] -docs: "DOCS-704" +docs: DOCS-704 +type: +- reference --- ## Usage diff --git a/content/mesh/reference/permissions.md b/content/mesh/reference/permissions.md index 9521d78e6..ee54c919b 100644 --- a/content/mesh/reference/permissions.md +++ b/content/mesh/reference/permissions.md @@ -1,13 +1,11 @@ --- -title: "NGINX Service Mesh Permissions" -date: 2022-05-09T09:37:44-07:00 +title: NGINX Service Mesh Permissions weight: 100 draft: false toc: true -tags: [ "docs" ] -docs: "DOCS-883" -categories: ["reference"] -doctypes: ["beta"] +docs: DOCS-883 +type: +- reference --- ## Init Container diff --git a/content/mesh/releases/_index.md b/content/mesh/releases/_index.md index a2a2e16f8..e92cc3699 100644 --- a/content/mesh/releases/_index.md +++ b/content/mesh/releases/_index.md @@ -1,8 +1,5 @@ --- title: Releases -description: "Stay up-to-date with the latest F5 NGINX Service Mesh release" -menu: - docs: - parent: NGINX Service Mesh +description: Stay up-to-date with the latest F5 NGINX Service Mesh release url: /nginx-service-mesh/releases/ ---- \ No newline at end of file +--- diff --git a/content/mesh/releases/oss-dependencies/index.md b/content/mesh/releases/oss-dependencies/index.md index 7ac379c77..4cb7184be 100644 --- a/content/mesh/releases/oss-dependencies/index.md +++ b/content/mesh/releases/oss-dependencies/index.md @@ -1,7 +1,5 @@ --- title: Open Source Licenses Addendum -_build: - list: never url: /nginx-service-mesh/releases/oss-dependencies/ --- diff --git a/content/mesh/releases/release-notes-0.5.0.md b/content/mesh/releases/release-notes-0.5.0.md index d7a64d951..96e68d944 100644 --- a/content/mesh/releases/release-notes-0.5.0.md +++ b/content/mesh/releases/release-notes-0.5.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 0.5.0" +title: Release Notes 0.5.0 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -500 -categories: ["reference"] -docs: "DOCS-705" +docs: DOCS-705 +type: +- reference --- ## NGINX Service Mesh Version 0.5.0 diff --git a/content/mesh/releases/release-notes-0.6.0.md b/content/mesh/releases/release-notes-0.6.0.md index 278cd9106..19425adf9 100644 --- a/content/mesh/releases/release-notes-0.6.0.md +++ b/content/mesh/releases/release-notes-0.6.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 0.6.0" +title: Release Notes 0.6.0 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -600 -categories: ["reference"] -docs: "DOCS-706" +docs: DOCS-706 +type: +- reference --- ## NGINX Service Mesh Version 0.6.0 diff --git a/content/mesh/releases/release-notes-0.7.0.md b/content/mesh/releases/release-notes-0.7.0.md index ee8a8ea0e..e9e84825f 100644 --- a/content/mesh/releases/release-notes-0.7.0.md +++ b/content/mesh/releases/release-notes-0.7.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 0.7.0" +title: Release Notes 0.7.0 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -700 -categories: ["reference"] -docs: "DOCS-707" +docs: DOCS-707 +type: +- reference --- ## NGINX Service Mesh Version 0.7.0 diff --git a/content/mesh/releases/release-notes-0.8.0.md b/content/mesh/releases/release-notes-0.8.0.md index 27b3f2f09..8f3c07c82 100644 --- a/content/mesh/releases/release-notes-0.8.0.md +++ b/content/mesh/releases/release-notes-0.8.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 0.8.0" +title: Release Notes 0.8.0 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -800 -categories: ["reference"] -docs: "DOCS-708" +docs: DOCS-708 +type: +- reference --- ## NGINX Service Mesh Version 0.8.0 diff --git a/content/mesh/releases/release-notes-0.9.0.md b/content/mesh/releases/release-notes-0.9.0.md index 460a6226e..ad5b13ed7 100644 --- a/content/mesh/releases/release-notes-0.9.0.md +++ b/content/mesh/releases/release-notes-0.9.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 0.9.0" +title: Release Notes 0.9.0 draft: false toc: true -description: Release information for F5 GINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 GINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -900 -categories: ["reference"] -docs: "DOCS-709" +docs: DOCS-709 +type: +- reference --- ## NGINX Service Mesh Version 0.9.0 diff --git a/content/mesh/releases/release-notes-0.9.1.md b/content/mesh/releases/release-notes-0.9.1.md index f8a68a6d4..64f893130 100644 --- a/content/mesh/releases/release-notes-0.9.1.md +++ b/content/mesh/releases/release-notes-0.9.1.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 0.9.1" +title: Release Notes 0.9.1 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -901 -categories: ["reference"] -docs: "DOCS-710" +docs: DOCS-710 +type: +- reference --- ## NGINX Service Mesh Version 0.9.1 diff --git a/content/mesh/releases/release-notes-1.0.0.md b/content/mesh/releases/release-notes-1.0.0.md index 373197706..6214dd1f0 100644 --- a/content/mesh/releases/release-notes-1.0.0.md +++ b/content/mesh/releases/release-notes-1.0.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.0.0" +title: Release Notes 1.0.0 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1000 -categories: ["reference"] -docs: "DOCS-711" +docs: DOCS-711 +type: +- reference --- ## NGINX Service Mesh Version 1.0.0 diff --git a/content/mesh/releases/release-notes-1.0.1.md b/content/mesh/releases/release-notes-1.0.1.md index a09cdbf45..3a34c347a 100644 --- a/content/mesh/releases/release-notes-1.0.1.md +++ b/content/mesh/releases/release-notes-1.0.1.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.0.1" +title: Release Notes 1.0.1 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1001 -categories: ["reference"] -docs: "DOCS-712" +docs: DOCS-712 +type: +- reference --- ## NGINX Service Mesh Version 1.0.1 diff --git a/content/mesh/releases/release-notes-1.1.0.md b/content/mesh/releases/release-notes-1.1.0.md index 17993b1d0..f51b6eb0e 100644 --- a/content/mesh/releases/release-notes-1.1.0.md +++ b/content/mesh/releases/release-notes-1.1.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.1.0" +title: Release Notes 1.1.0 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1100 -categories: ["reference"] -docs: "DOCS-713" +docs: DOCS-713 +type: +- reference --- ## NGINX Service Mesh Version 1.1.0 diff --git a/content/mesh/releases/release-notes-1.2.0.md b/content/mesh/releases/release-notes-1.2.0.md index d5377900b..c84eb50d9 100644 --- a/content/mesh/releases/release-notes-1.2.0.md +++ b/content/mesh/releases/release-notes-1.2.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.2.0" +title: Release Notes 1.2.0 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1200 -categories: ["reference"] -docs: "DOCS-714" +docs: DOCS-714 +type: +- reference --- ## NGINX Service Mesh Version 1.2.0 diff --git a/content/mesh/releases/release-notes-1.2.1.md b/content/mesh/releases/release-notes-1.2.1.md index cda42b971..1515a829d 100644 --- a/content/mesh/releases/release-notes-1.2.1.md +++ b/content/mesh/releases/release-notes-1.2.1.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.2.1" +title: Release Notes 1.2.1 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1201 -categories: ["reference"] -docs: "DOCS-715" +docs: DOCS-715 +type: +- reference --- ## NGINX Service Mesh Version 1.2.1 diff --git a/content/mesh/releases/release-notes-1.3.0.md b/content/mesh/releases/release-notes-1.3.0.md index baddb8a58..c207c9b8f 100644 --- a/content/mesh/releases/release-notes-1.3.0.md +++ b/content/mesh/releases/release-notes-1.3.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.3.0" +title: Release Notes 1.3.0 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1300 -categories: ["reference"] -docs: "DOCS-716" +docs: DOCS-716 +type: +- reference --- ## NGINX Service Mesh Version 1.3.0 diff --git a/content/mesh/releases/release-notes-1.3.1.md b/content/mesh/releases/release-notes-1.3.1.md index ecc1e9ddb..b44e30f8a 100644 --- a/content/mesh/releases/release-notes-1.3.1.md +++ b/content/mesh/releases/release-notes-1.3.1.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.3.1" +title: Release Notes 1.3.1 draft: false toc: true -description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided. +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1301 -categories: ["reference"] -docs: "DOCS-717" +docs: DOCS-717 +type: +- reference --- ## NGINX Service Mesh Version 1.3.1 diff --git a/content/mesh/releases/release-notes-1.4.0.md b/content/mesh/releases/release-notes-1.4.0.md index 528eea655..f2d828bd9 100644 --- a/content/mesh/releases/release-notes-1.4.0.md +++ b/content/mesh/releases/release-notes-1.4.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.4.0" +title: Release Notes 1.4.0 draft: false toc: true -description: "Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided." +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1400 -categories: ["reference"] -docs: "DOCS-1488" +docs: DOCS-1488 +type: +- reference --- ## NGINX Service Mesh Version 1.4.0 diff --git a/content/mesh/releases/release-notes-1.4.1.md b/content/mesh/releases/release-notes-1.4.1.md index c357bdb6c..89cbbaaae 100644 --- a/content/mesh/releases/release-notes-1.4.1.md +++ b/content/mesh/releases/release-notes-1.4.1.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.4.1" +title: Release Notes 1.4.1 draft: false toc: true -description: "Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided." +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1401 -categories: ["reference"] -docs: "DOCS-1484" +docs: DOCS-1484 +type: +- reference --- ## NGINX Service Mesh Version 1.4.1 diff --git a/content/mesh/releases/release-notes-1.5.0.md b/content/mesh/releases/release-notes-1.5.0.md index 6fb531e10..a1ce1ff5c 100644 --- a/content/mesh/releases/release-notes-1.5.0.md +++ b/content/mesh/releases/release-notes-1.5.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.5.0" +title: Release Notes 1.5.0 draft: false toc: true -description: "Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided." +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1500 -categories: ["reference"] -docs: "DOCS-1487" +docs: DOCS-1487 +type: +- reference --- ## NGINX Service Mesh Version 1.5.0 diff --git a/content/mesh/releases/release-notes-1.6.0.md b/content/mesh/releases/release-notes-1.6.0.md index fa61f60d2..a8adb8f60 100644 --- a/content/mesh/releases/release-notes-1.6.0.md +++ b/content/mesh/releases/release-notes-1.6.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.6.0" +title: Release Notes 1.6.0 draft: false toc: true -description: "Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided." +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1600 -categories: ["reference"] -docs: "DOCS-1486" +docs: DOCS-1486 +type: +- reference --- ## NGINX Service Mesh Version 1.6.0 diff --git a/content/mesh/releases/release-notes-1.7.0.md b/content/mesh/releases/release-notes-1.7.0.md index 78f47e84e..dee14a113 100644 --- a/content/mesh/releases/release-notes-1.7.0.md +++ b/content/mesh/releases/release-notes-1.7.0.md @@ -1,11 +1,15 @@ --- -title: "Release Notes 1.7.0" +title: Release Notes 1.7.0 draft: false toc: true -description: "Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided." +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1700 -categories: ["reference"] -docs: "DOCS-1483" +docs: DOCS-1483 +type: +- reference --- ## NGINX Service Mesh Version 1.7.0 diff --git a/content/mesh/releases/release-notes-2.0.0.md b/content/mesh/releases/release-notes-2.0.0.md index c553cb625..89e1571f3 100644 --- a/content/mesh/releases/release-notes-2.0.0.md +++ b/content/mesh/releases/release-notes-2.0.0.md @@ -1,12 +1,15 @@ --- -title: "Release Notes 2.0.0" -date: 2023-04-25 +title: Release Notes 2.0.0 draft: false toc: true -description: "Release information for F5 NGINX Service Mesh, a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). Lists of new features and known issues are provided." +description: Release information for F5 NGINX Service Mesh, a configurable, low‑latency + infrastructure layer designed to handle a high volume of network‑based interprocess + communication among application infrastructure services using application programming + interfaces (APIs). Lists of new features and known issues are provided. weight: -1800 -categories: ["reference"] -docs: "DOCS-1485" +docs: DOCS-1485 +type: +- reference --- ## NGINX Service Mesh Version 2.0.0 diff --git a/content/mesh/support/_index.md b/content/mesh/support/_index.md index 68da3ce0c..8f0922116 100644 --- a/content/mesh/support/_index.md +++ b/content/mesh/support/_index.md @@ -1,10 +1,8 @@ --- title: Support weight: 600 -description: "Contact Support and troubleshoot F5 NGINX Service Mesh." +description: Contact Support and troubleshoot F5 NGINX Service Mesh. draft: false -menu: - docs: - parent: NGINX Service Mesh url: /nginx-service-mesh/support/ --- + diff --git a/content/mesh/support/contact-support.md b/content/mesh/support/contact-support.md index 9c7f97524..132facbc9 100644 --- a/content/mesh/support/contact-support.md +++ b/content/mesh/support/contact-support.md @@ -1,11 +1,12 @@ --- -title: "Where to Go for Support" +title: Where to Go for Support weight: 100 -description: "Learn where to go for F5 NGINX Service Mesh support." -categories: ["support"] +description: Learn where to go for F5 NGINX Service Mesh support. toc: true draft: false -docs: "DOCS-718" +docs: DOCS-718 +type: +- task --- Thank you for your interest in F5 NGINX Service Mesh. NGINX Service Mesh can be installed via helm charts, or by [downloading nginx-meshctl](https://github.com/nginxinc/nginx-service-mesh/releases/latest). diff --git a/content/mesh/tutorials/_index.md b/content/mesh/tutorials/_index.md index 010b67119..641c2bb9d 100644 --- a/content/mesh/tutorials/_index.md +++ b/content/mesh/tutorials/_index.md @@ -1,9 +1,7 @@ --- title: Tutorials weight: 200 -description: "Walkthrough docs for using F5 NGINX Service Mesh." -menu: - docs: - parent: NGINX Service Mesh +description: Walkthrough docs for using F5 NGINX Service Mesh. url: /nginx-service-mesh/tutorials/ --- + diff --git a/content/mesh/tutorials/deploy-example-app.md b/content/mesh/tutorials/deploy-example-app.md index a660c163d..771bdd8c4 100644 --- a/content/mesh/tutorials/deploy-example-app.md +++ b/content/mesh/tutorials/deploy-example-app.md @@ -1,12 +1,13 @@ --- -title: "Deploy an Example App with NGINX Service Mesh" -date: 2020-02-20T19:43:59Z +title: Deploy an Example App with NGINX Service Mesh draft: false toc: true -description: "This topic provides a walkthrough of deploying an App with F5 NGINX Service Mesh." +description: This topic provides a walkthrough of deploying an App with F5 NGINX Service + Mesh. weight: 100 -categories: ["tutorials"] -docs: "DOCS-720" +docs: DOCS-720 +type: +- tutorial --- ## Overview diff --git a/content/mesh/tutorials/kic/deploy-with-kic.md b/content/mesh/tutorials/kic/deploy-with-kic.md index f15019680..1176823f1 100644 --- a/content/mesh/tutorials/kic/deploy-with-kic.md +++ b/content/mesh/tutorials/kic/deploy-with-kic.md @@ -1,11 +1,13 @@ --- -title: "Deploy with NGINX Ingress Controller" -description: "This topic describes how to install and use F5 NGINX Ingress Controller with NGINX Service Mesh" +title: Deploy with NGINX Ingress Controller +description: This topic describes how to install and use F5 NGINX Ingress Controller + with NGINX Service Mesh weight: 200 draft: false toc: true -categories: ["tutorials"] -docs: "DOCS-721" +docs: DOCS-721 +type: +- tutorial --- ## Overview diff --git a/content/mesh/tutorials/kic/egress-walkthrough.md b/content/mesh/tutorials/kic/egress-walkthrough.md index b5c829d35..e245e7d91 100644 --- a/content/mesh/tutorials/kic/egress-walkthrough.md +++ b/content/mesh/tutorials/kic/egress-walkthrough.md @@ -1,10 +1,12 @@ --- -title: "Configure a Secure Egress Route with NGINX Ingress Controller" -description: "This topic provides a walkthrough of how to securely route egress traffic through F5 NGINX Ingress Controller for Kubernetes with NGINX Service Mesh." +title: Configure a Secure Egress Route with NGINX Ingress Controller +description: This topic provides a walkthrough of how to securely route egress traffic + through F5 NGINX Ingress Controller for Kubernetes with NGINX Service Mesh. weight: 210 -categories: ["tutorials"] toc: true -docs: "DOCS-722" +docs: DOCS-722 +type: +- tutorial --- ## Overview diff --git a/content/mesh/tutorials/kic/ingress-udp-walkthrough.md b/content/mesh/tutorials/kic/ingress-udp-walkthrough.md index 4854da3ea..303bcc959 100644 --- a/content/mesh/tutorials/kic/ingress-udp-walkthrough.md +++ b/content/mesh/tutorials/kic/ingress-udp-walkthrough.md @@ -1,10 +1,12 @@ --- -title: "Expose a UDP Application with NGINX Ingress Controller" -description: "This topic describes the steps to deploy F5 NGINX Ingress Controller for Kubernetes, to expose a UDP application within NGINX Service Mesh." +title: Expose a UDP Application with NGINX Ingress Controller +description: This topic describes the steps to deploy F5 NGINX Ingress Controller + for Kubernetes, to expose a UDP application within NGINX Service Mesh. weight: 230 -categories: ["tutorials"] toc: true -docs: "DOCS-841" +docs: DOCS-841 +type: +- tutorial --- ## Overview diff --git a/content/mesh/tutorials/kic/ingress-walkthrough.md b/content/mesh/tutorials/kic/ingress-walkthrough.md index c4705c112..3360add08 100644 --- a/content/mesh/tutorials/kic/ingress-walkthrough.md +++ b/content/mesh/tutorials/kic/ingress-walkthrough.md @@ -1,10 +1,12 @@ --- -title: "Expose an Application with NGINX Ingress Controller" -description: "This topic provides a walkthrough of deploying F5 NGINX Ingress Controller for Kubernetes to expose an application within NGINX Service Mesh." +title: Expose an Application with NGINX Ingress Controller +description: This topic provides a walkthrough of deploying F5 NGINX Ingress Controller + for Kubernetes to expose an application within NGINX Service Mesh. weight: 220 -categories: ["tutorials"] toc: true -docs: "DOCS-723" +docs: DOCS-723 +type: +- tutorial --- ## Overview diff --git a/content/mesh/tutorials/observability.md b/content/mesh/tutorials/observability.md index 93c7e3a9c..7bc39dfbd 100644 --- a/content/mesh/tutorials/observability.md +++ b/content/mesh/tutorials/observability.md @@ -1,11 +1,13 @@ --- -title: "Install NGINX Service Mesh with Basic Observability" +title: Install NGINX Service Mesh with Basic Observability draft: false toc: true -description: "This topic provides a walkthrough of deploying F5 NGINX Service Mesh with basic observability components." +description: This topic provides a walkthrough of deploying F5 NGINX Service Mesh + with basic observability components. weight: 90 -categories: ["tutorials"] -docs: "DOCS-886" +docs: DOCS-886 +type: +- tutorial --- ## Overview diff --git a/content/mesh/tutorials/ratelimit-walkthrough.md b/content/mesh/tutorials/ratelimit-walkthrough.md index 01ed4279a..812903586 100644 --- a/content/mesh/tutorials/ratelimit-walkthrough.md +++ b/content/mesh/tutorials/ratelimit-walkthrough.md @@ -1,11 +1,12 @@ --- -title: "Configure Rate Limiting" -description: "Learn how to configure rate limiting between workloads." +title: Configure Rate Limiting +description: Learn how to configure rate limiting between workloads. draft: false toc: true weight: 140 -categories: ["tutorials"] -docs: "DOCS-724" +docs: DOCS-724 +type: +- tutorial --- ## Overview diff --git a/content/mesh/tutorials/trafficsplit-deployments.md b/content/mesh/tutorials/trafficsplit-deployments.md index cfbedbd6e..b578c79e3 100644 --- a/content/mesh/tutorials/trafficsplit-deployments.md +++ b/content/mesh/tutorials/trafficsplit-deployments.md @@ -1,10 +1,12 @@ --- -title: "Deployments using Traffic Splitting" -description: "This topic provides a guide for using traffic splits with different deployment strategies." +title: Deployments using Traffic Splitting +description: This topic provides a guide for using traffic splits with different deployment + strategies. weight: 110 -categories: ["tutorials"] toc: true -docs: "DOCS-725" +docs: DOCS-725 +type: +- tutorial --- ## Overview diff --git a/content/nap-dos/_index.md b/content/nap-dos/_index.md index 058171b30..179526ba7 100644 --- a/content/nap-dos/_index.md +++ b/content/nap-dos/_index.md @@ -1,8 +1,9 @@ --- -description: "F5 NGINX App Protect DoS provides behavioral DoS detection and mitigation.\n\nRequest - your [free 30-day trial](https://www.nginx.com/free-trial-request/) today. \n" +description: "F5 NGINX App Protect DoS provides behavioral DoS detection and mitigation." title: F5 NGINX App Protect DoS url: /nginx-app-protect-dos/ cascade: logo: "NGINX-App-Protect-DoS-product-icon.svg" --- + +Request your [free 30‑day trial](https://www.nginx.com/free-trial-request) today. \ No newline at end of file diff --git a/content/nap-dos/deployment-guide/_index.md b/content/nap-dos/deployment-guide/_index.md index ff74352e2..14aebe96b 100644 --- a/content/nap-dos/deployment-guide/_index.md +++ b/content/nap-dos/deployment-guide/_index.md @@ -1,8 +1,5 @@ --- description: Learn how to deploy NGINX App Protect DoS. -menu: - docs: - parent: NGINX App Protect DoS Documentation. title: Deployment Guide weight: 100 url: /nginx-app-protect-dos/deployment-guide/ diff --git a/content/nap-dos/deployment-guide/installing-nginx-plus-with-dos-and-waf-on-amazon-web-services.md b/content/nap-dos/deployment-guide/installing-nginx-plus-with-dos-and-waf-on-amazon-web-services.md index 01c590f28..2edad7a49 100644 --- a/content/nap-dos/deployment-guide/installing-nginx-plus-with-dos-and-waf-on-amazon-web-services.md +++ b/content/nap-dos/deployment-guide/installing-nginx-plus-with-dos-and-waf-on-amazon-web-services.md @@ -4,11 +4,11 @@ description: Install F5 NGINX Plus, NGINX App Protect WAF + DoS on Amazon Web Se behavioral DoS detection and mitigation that works seamlessly in DevOps environments for your apps running on CentOS, RHEL, Debian and Ubuntu Linux OS. docs: DOCS-1204 -doctypes: -- task title: NGINX App Protect WAF + DoS AMIs on Amazon EC2 toc: true weight: 110 +type: +- how-to --- NGINX, Inc. participates in the Amazon Web Services (AWS) Partner Network as a Standard Technology Partner. We offer Amazon Machine Images (AMIs) for use in the Amazon Elastic Compute Cloud (EC2), available at the AWS Marketplace for several operating systems, including Amazon Linux, Red Hat Enterprise Linux, and Ubuntu. diff --git a/content/nap-dos/deployment-guide/learn-about-deployment.md b/content/nap-dos/deployment-guide/learn-about-deployment.md index f2b35d160..bedda6553 100644 --- a/content/nap-dos/deployment-guide/learn-about-deployment.md +++ b/content/nap-dos/deployment-guide/learn-about-deployment.md @@ -1,11 +1,11 @@ --- description: Learn about F5 NGINX App Protect DoS Deployment. docs: DOCS-666 -doctypes: -- task title: NGINX App Protect DoS Deployment toc: true weight: 100 +type: +- how-to --- ## Overview diff --git a/content/nap-dos/directives-and-policy/_index.md b/content/nap-dos/directives-and-policy/_index.md index c4cc3e3ea..0d66fcde8 100644 --- a/content/nap-dos/directives-and-policy/_index.md +++ b/content/nap-dos/directives-and-policy/_index.md @@ -1,10 +1,8 @@ --- description: Learn about the Directives and Policy attributes necessary to configure F5 NGINX App Protect DoS. -menu: - docs: - parent: NGINX App Protect DoS Documentation. title: Directives and Policy weight: 120 url: /nginx-app-protect-dos/directives-and-policy/ --- + diff --git a/content/nap-dos/monitoring/_index.md b/content/nap-dos/monitoring/_index.md index 2c5f1da8c..8485a67c4 100644 --- a/content/nap-dos/monitoring/_index.md +++ b/content/nap-dos/monitoring/_index.md @@ -1,10 +1,8 @@ --- description: Documentation explaining how to monitor, generate logs for, and debug F5 NGINX App Protect DoS. -menu: - docs: - parent: NGINX App Protect DoS Documentation. title: Monitoring weight: 130 url: /nginx-app-protect-dos/monitoring/ --- + diff --git a/content/nap-dos/monitoring/access-log.md b/content/nap-dos/monitoring/access-log.md index 85185e723..61ef69359 100644 --- a/content/nap-dos/monitoring/access-log.md +++ b/content/nap-dos/monitoring/access-log.md @@ -1,11 +1,11 @@ --- description: Learn about the F5 NGINX App Protect DoS Request Log Mechanism. docs: DOCS-668 -doctypes: -- task title: NGINX App Protect DoS Access Log Request Mechanism toc: true weight: 160 +type: +- how-to --- ## Access Logs diff --git a/content/nap-dos/monitoring/live-activity-monitoring.md b/content/nap-dos/monitoring/live-activity-monitoring.md index d8a5b0b80..fa88f1a2a 100644 --- a/content/nap-dos/monitoring/live-activity-monitoring.md +++ b/content/nap-dos/monitoring/live-activity-monitoring.md @@ -1,11 +1,11 @@ --- description: Learn about the F5 NGINX App Protect DoS Live Activity Monitoring. docs: DOCS-1389 -doctypes: -- task title: NGINX App Protect DoS Live Activity Monitoring toc: true weight: 140 +type: +- how-to --- {{< img src="/dashboard/dos-tab.png" alt="NGINX App Protect DoS Dashboard" >}} diff --git a/content/nap-dos/monitoring/operation-log.md b/content/nap-dos/monitoring/operation-log.md index dbfae5bc9..5764cd385 100644 --- a/content/nap-dos/monitoring/operation-log.md +++ b/content/nap-dos/monitoring/operation-log.md @@ -1,11 +1,11 @@ --- description: Learn about the F5 NGINX App Protect DoS Operation Log. docs: DOCS-669 -doctypes: -- task title: NGINX App Protect DoS Operation Log toc: true weight: 180 +type: +- how-to --- ## Overview diff --git a/content/nap-dos/monitoring/security-log.md b/content/nap-dos/monitoring/security-log.md index ca40a57f2..6d2f3ce1a 100644 --- a/content/nap-dos/monitoring/security-log.md +++ b/content/nap-dos/monitoring/security-log.md @@ -1,11 +1,11 @@ --- description: Learn about the F5 NGINX App Protect DoS Security Log. docs: DOCS-670 -doctypes: -- task title: NGINX App Protect DoS Security Log toc: true weight: 140 +type: +- how-to --- ## Overview diff --git a/content/nap-dos/monitoring/types-of-logs.md b/content/nap-dos/monitoring/types-of-logs.md index dbe488cbf..b14dd4d11 100644 --- a/content/nap-dos/monitoring/types-of-logs.md +++ b/content/nap-dos/monitoring/types-of-logs.md @@ -1,11 +1,11 @@ --- description: Learn about the F5 NGINX App Protect DoS Logs Overview. docs: DOCS-671 -doctypes: -- task title: NGINX App Protect DoS Logs Overview toc: true weight: 130 +type: +- how-to --- There are 4 types of logs corresponding to App Protect DoS: diff --git a/content/nap-dos/releases/_index.md b/content/nap-dos/releases/_index.md index 33ea5b259..7ac8e5f15 100644 --- a/content/nap-dos/releases/_index.md +++ b/content/nap-dos/releases/_index.md @@ -1,9 +1,7 @@ --- description: Stay up-to-date with the latest F5 NGINX App Protect DoS release. -menu: - docs: - parent: NGINX App Protect DoS Documentation. title: Releases weight: 220 url: /nginx-app-protect-dos/releases/ --- + diff --git a/content/nap-dos/troubleshooting-guide/_index.md b/content/nap-dos/troubleshooting-guide/_index.md index 6ef2f6d32..ccc6eeebc 100644 --- a/content/nap-dos/troubleshooting-guide/_index.md +++ b/content/nap-dos/troubleshooting-guide/_index.md @@ -1,9 +1,7 @@ --- description: Learn how to troubleshoot your F5 NGINX App Protect DoS deployment. -menu: - docs: - parent: NGINX App Protect DoS Documentation. title: Troubleshooting Guide weight: 200 url: /nginx-app-protect-dos/troubleshooting-guide/ --- + diff --git a/content/nap-dos/troubleshooting-guide/how-to-troubleshoot.md b/content/nap-dos/troubleshooting-guide/how-to-troubleshoot.md index 2e84a793a..405cc237f 100644 --- a/content/nap-dos/troubleshooting-guide/how-to-troubleshoot.md +++ b/content/nap-dos/troubleshooting-guide/how-to-troubleshoot.md @@ -1,11 +1,11 @@ --- description: Learn about the F5 NGINX App Protect DoS Troubleshooting Guide. docs: DOCS-675 -doctypes: -- task title: NGINX App Protect DoS Troubleshooting Guide toc: true weight: 200 +type: +- how-to --- ## Overview diff --git a/content/nap-waf/_index.md b/content/nap-waf/_index.md index bddd99112..464ae344d 100644 --- a/content/nap-waf/_index.md +++ b/content/nap-waf/_index.md @@ -1,13 +1,9 @@ --- -description: | - Modern app security solution that works seamlessly in DevOps environments. - - Request your [free 30-day trial](https://www.nginx.com/free-trial-request/) today. -linkTitle: F5 NGINX App Protect WAF -menu: docs +description: Modern app security solution that works seamlessly in DevOps environments. title: F5 NGINX App Protect WAF weight: 100 url: /nginx-app-protect-waf/ cascade: - logo: "NGINX-App-Protect-WAF-product-icon.svg" + logo: NGINX-App-Protect-WAF-product-icon.svg --- + diff --git a/content/nap-waf/v4/_index.md b/content/nap-waf/v4/_index.md index 4e6c5d6b3..14b683550 100644 --- a/content/nap-waf/v4/_index.md +++ b/content/nap-waf/v4/_index.md @@ -1,9 +1,7 @@ --- description: F5 NGINX App Protect WAF v4 documentation. -menu: - docs: - parent: F5 NGINX App Protect WAF Documentation. title: Version 4 and Earlier weight: 100 url: /nginx-app-protect-waf/v4/ --- + diff --git a/content/nap-waf/v4/admin-guide/_index.md b/content/nap-waf/v4/admin-guide/_index.md index ee20b96c0..02c42cc18 100644 --- a/content/nap-waf/v4/admin-guide/_index.md +++ b/content/nap-waf/v4/admin-guide/_index.md @@ -1,10 +1,8 @@ --- -description: Learn how to deploy, upgrade, and manage F5 NGINX App Protect WAF and App - Protect Signatures. Versions 4 and earlier. -menu: - docs: - parent: v4 and earlier +description: Learn how to deploy, upgrade, and manage F5 NGINX App Protect WAF and + App Protect Signatures. Versions 4 and earlier. title: Administration Guides weight: 100 url: /nginx-app-protect-waf/v4/admin-guide/ --- + diff --git a/content/nap-waf/v4/admin-guide/install-nms.md b/content/nap-waf/v4/admin-guide/install-nms.md index 9020cba28..ca728e7a9 100644 --- a/content/nap-waf/v4/admin-guide/install-nms.md +++ b/content/nap-waf/v4/admin-guide/install-nms.md @@ -2,11 +2,11 @@ description: Learn how to get more from F5 NGINX App Protect WAF with the NGINX Management Suite Security Monitoring and Instance Manager modules. docs: DOCS-1126 -doctypes: -- task title: Using NGINX App Protect WAF with NGINX Management Suite toc: true weight: 100 +type: +- how-to --- ## Overview diff --git a/content/nap-waf/v4/admin-guide/upgrade-nap-waf.md b/content/nap-waf/v4/admin-guide/upgrade-nap-waf.md index 7bbb4cab6..28ab6c148 100644 --- a/content/nap-waf/v4/admin-guide/upgrade-nap-waf.md +++ b/content/nap-waf/v4/admin-guide/upgrade-nap-waf.md @@ -1,10 +1,9 @@ --- -title: "Upgrade NGINX App Protect WAF on Managed Instances" -description: "How to Upgrade F5 NGINX App Protect WAF on managed NGINX instances" +title: Upgrade NGINX App Protect WAF on Managed Instances +description: How to Upgrade F5 NGINX App Protect WAF on managed NGINX instances weight: 300 toc: true -tags: [ "NGINX Management Suite" ] -docs: "DOCS-1198" +docs: DOCS-1198 --- ## Overview diff --git a/content/nap-waf/v4/configuration-guide/_index.md b/content/nap-waf/v4/configuration-guide/_index.md index 672aa2fe9..03e3929f5 100644 --- a/content/nap-waf/v4/configuration-guide/_index.md +++ b/content/nap-waf/v4/configuration-guide/_index.md @@ -1,9 +1,6 @@ --- description: Learn how to configure F5 NGINX App Protect WAF. Versions 4 and earlier. -menu: - docs: - parent: v4 and earlier title: Configuration Guides weight: 400 url: /nginx-app-protect-waf/v4/configuration-guide/ ---- \ No newline at end of file +--- diff --git a/content/nap-waf/v4/configuration-guide/configuration.md b/content/nap-waf/v4/configuration-guide/configuration.md index 291bf59be..01a06e645 100644 --- a/content/nap-waf/v4/configuration-guide/configuration.md +++ b/content/nap-waf/v4/configuration-guide/configuration.md @@ -1,11 +1,11 @@ --- description: F5 NGINX App Protect WAF security features. docs: DOCS-647 -doctypes: -- task title: NGINX App Protect WAF Configuration Guide toc: true weight: 200 +type: +- how-to --- ## Overview diff --git a/content/nap-waf/v4/declarative-policy/_index.md b/content/nap-waf/v4/declarative-policy/_index.md index 3da55814c..4a5d81728 100644 --- a/content/nap-waf/v4/declarative-policy/_index.md +++ b/content/nap-waf/v4/declarative-policy/_index.md @@ -1,9 +1,8 @@ --- -description: Learn about F5 NGINX App Protect WAF Policies Reference. Versions 4 and earlier. -menu: - docs: - parent: v4 and earlier +description: Learn about F5 NGINX App Protect WAF Policies Reference. Versions 4 and + earlier. title: Declarative Policy weight: 720 url: /nginx-app-protect-waf/v4/declarative-policy/ --- + diff --git a/content/nap-waf/v4/logging-overview/_index.md b/content/nap-waf/v4/logging-overview/_index.md index 4cc4dabd8..a77289853 100644 --- a/content/nap-waf/v4/logging-overview/_index.md +++ b/content/nap-waf/v4/logging-overview/_index.md @@ -1,9 +1,7 @@ --- -description: Documentation explaining how to monitor, generate logs for, and debug F5 NGINX App Protect WAF. Versions 4 and earlier. -menu: - docs: - parent: v4 and earlier +description: Documentation explaining how to monitor, generate logs for, and debug + F5 NGINX App Protect WAF. Versions 4 and earlier. title: Logging Overview weight: 800 url: /nginx-app-protect-waf/v4/logging-overview/ ---- \ No newline at end of file +--- diff --git a/content/nap-waf/v4/logging-overview/access-log.md b/content/nap-waf/v4/logging-overview/access-log.md index 1ec864d30..eaff647a6 100644 --- a/content/nap-waf/v4/logging-overview/access-log.md +++ b/content/nap-waf/v4/logging-overview/access-log.md @@ -1,11 +1,11 @@ --- description: Learn about the F5 NGINX App Protect WAF Access Log Request Mechanism. docs: DOCS-910 -doctypes: -- concept title: NGINX App Protect WAF Access Log toc: true weight: 550 +type: +- concept --- ## Access Logs diff --git a/content/nap-waf/v4/logging-overview/debug-logs.md b/content/nap-waf/v4/logging-overview/debug-logs.md index 0414de45d..154d95b5f 100644 --- a/content/nap-waf/v4/logging-overview/debug-logs.md +++ b/content/nap-waf/v4/logging-overview/debug-logs.md @@ -1,11 +1,11 @@ --- description: Learn about the NGINX App Protect WAF Debug Log. docs: DOCS-913 -doctypes: -- concept title: NGINX App Protect WAF Debug Log toc: true weight: 540 +type: +- concept --- ## Debug Logs diff --git a/content/nap-waf/v4/logging-overview/logs-overview.md b/content/nap-waf/v4/logging-overview/logs-overview.md index 3fefc8a0c..49ecbcf87 100644 --- a/content/nap-waf/v4/logging-overview/logs-overview.md +++ b/content/nap-waf/v4/logging-overview/logs-overview.md @@ -1,11 +1,11 @@ --- description: Learn about the F5 NGINX App Protect WAF Logs Overview. docs: DOCS-911 -doctypes: -- concept title: NGINX App Protect WAF Logs Overview toc: true weight: 510 +type: +- concept --- ## Overview diff --git a/content/nap-waf/v4/logging-overview/operation-logs.md b/content/nap-waf/v4/logging-overview/operation-logs.md index ad001c3bf..bc51c423e 100644 --- a/content/nap-waf/v4/logging-overview/operation-logs.md +++ b/content/nap-waf/v4/logging-overview/operation-logs.md @@ -1,11 +1,11 @@ --- description: Learn about the F5 NGINX App Protect WAF Operation Log. docs: DOCS-912 -doctypes: -- concept title: NGINX App Protect WAF Operation Log toc: true weight: 530 +type: +- concept --- ### Overview diff --git a/content/nap-waf/v4/logging-overview/security-log.md b/content/nap-waf/v4/logging-overview/security-log.md index cf34473cb..905ecff57 100644 --- a/content/nap-waf/v4/logging-overview/security-log.md +++ b/content/nap-waf/v4/logging-overview/security-log.md @@ -1,11 +1,11 @@ --- description: Learn about the F5 NGINX App Protect WAF Security Log. docs: DOCS-915 -doctypes: -- concept title: NGINX App Protect WAF Security Log toc: true weight: 520 +type: +- concept --- ## Security Logs diff --git a/content/nap-waf/v4/releases/_index.md b/content/nap-waf/v4/releases/_index.md index 369b86033..9eddf7604 100644 --- a/content/nap-waf/v4/releases/_index.md +++ b/content/nap-waf/v4/releases/_index.md @@ -1,9 +1,7 @@ --- -description: Stay up-to-date with the latest F5 NGINX App Protect WAF and NGINX App Protect WAF. Versions 4 and earlier. -menu: - docs: - parent: v4 and earlier +description: Stay up-to-date with the latest F5 NGINX App Protect WAF and NGINX App + Protect WAF. Versions 4 and earlier. title: Releases weight: 2000 url: /nginx-app-protect-waf/v4/releases/ ---- \ No newline at end of file +--- diff --git a/content/nap-waf/v4/troubleshooting-guide/_index.md b/content/nap-waf/v4/troubleshooting-guide/_index.md index d8655b829..51bb71bb9 100644 --- a/content/nap-waf/v4/troubleshooting-guide/_index.md +++ b/content/nap-waf/v4/troubleshooting-guide/_index.md @@ -1,9 +1,8 @@ --- -description: Learn about the F5 NGINX App Protect WAF Troubleshooting Guide. Versions 4 and earlier. -menu: - docs: - parent: v4 and earlier +description: Learn about the F5 NGINX App Protect WAF Troubleshooting Guide. Versions + 4 and earlier. title: Troubleshooting Guide weight: 1100 url: /nginx-app-protect-waf/v5/troubleshooting-guide/ --- + diff --git a/content/nap-waf/v4/troubleshooting-guide/troubleshooting.md b/content/nap-waf/v4/troubleshooting-guide/troubleshooting.md index a62b7b90b..4adce39c1 100644 --- a/content/nap-waf/v4/troubleshooting-guide/troubleshooting.md +++ b/content/nap-waf/v4/troubleshooting-guide/troubleshooting.md @@ -1,11 +1,11 @@ --- description: Learn about the F5 NGINX App Protect WAF Troubleshooting Guide. docs: DOCS-665 -doctypes: -- concept title: NGINX App Protect WAF Troubleshooting Guide toc: true weight: 400 +type: +- concept --- ## Overview diff --git a/content/nap-waf/v5/_index.md b/content/nap-waf/v5/_index.md index 5c50a48a7..4d0aced21 100644 --- a/content/nap-waf/v5/_index.md +++ b/content/nap-waf/v5/_index.md @@ -1,9 +1,7 @@ --- description: F5 NGINX App Protect WAF v5 documentation. -menu: - docs: - parent: NGINX App Protect WAF Documentation. title: Version 5 weight: 200 url: /nginx-app-protect-waf/v5/ --- + diff --git a/content/nap-waf/v5/admin-guide/_index.md b/content/nap-waf/v5/admin-guide/_index.md index 34e455b2c..9714dcbe4 100644 --- a/content/nap-waf/v5/admin-guide/_index.md +++ b/content/nap-waf/v5/admin-guide/_index.md @@ -1,10 +1,8 @@ --- -description: Learn how to deploy, upgrade, and manage F5 NGINX App Protect WAF v5 and App - Protect Signatures. -menu: - docs: - parent: v5 +description: Learn how to deploy, upgrade, and manage F5 NGINX App Protect WAF v5 + and App Protect Signatures. title: Administration Guides weight: 100 url: /nginx-app-protect-waf/v5/admin-guide/ --- + diff --git a/content/nap-waf/v5/configuration-guide/_index.md b/content/nap-waf/v5/configuration-guide/_index.md index 464f28e1e..027661c26 100644 --- a/content/nap-waf/v5/configuration-guide/_index.md +++ b/content/nap-waf/v5/configuration-guide/_index.md @@ -1,9 +1,6 @@ --- description: Learn how to configure F5 NGINX App Protect WAF v5. -menu: - docs: - parent: v5 title: Configuration Guides weight: 400 url: /nginx-app-protect-waf/v5/configuration-guide/ ---- \ No newline at end of file +--- diff --git a/content/nap-waf/v5/configuration-guide/configuration.md b/content/nap-waf/v5/configuration-guide/configuration.md index 8feb6634d..44e44d482 100644 --- a/content/nap-waf/v5/configuration-guide/configuration.md +++ b/content/nap-waf/v5/configuration-guide/configuration.md @@ -1,12 +1,12 @@ --- -description: This guide explains the F5 NGINX App Protect WAF security features and how - to use them. +description: This guide explains the F5 NGINX App Protect WAF security features and + how to use them. docs: DOCS-1368 -doctypes: -- task title: NGINX App Protect WAF Configuration Guide toc: true weight: 200 +type: +- how-to --- ## Overview diff --git a/content/nap-waf/v5/declarative-policy/_index.md b/content/nap-waf/v5/declarative-policy/_index.md index 483dc8b5f..9adac65d0 100644 --- a/content/nap-waf/v5/declarative-policy/_index.md +++ b/content/nap-waf/v5/declarative-policy/_index.md @@ -1,9 +1,7 @@ --- description: Learn about F5 NGINX App Protect WAF v5 Policies Reference. -menu: - docs: - parent: v5 title: Declarative Policy weight: 720 url: /nginx-app-protect-waf/v5/declarative-policy/ --- + diff --git a/content/nap-waf/v5/declarative-policy/policy.md b/content/nap-waf/v5/declarative-policy/policy.md index 2f5288cb8..7b038b1f0 100644 --- a/content/nap-waf/v5/declarative-policy/policy.md +++ b/content/nap-waf/v5/declarative-policy/policy.md @@ -1,13 +1,11 @@ --- description: '' -doctypes: -- reference -tags: -- docs -title: "NGINX App Protect WAF Declarative Policy" +title: NGINX App Protect WAF Declarative Policy toc: false weight: 300 -docs: "DOCS-1644" +docs: DOCS-1644 +type: +- reference --- {{< include "nap-waf/policy.html" >}} diff --git a/content/nap-waf/v5/logging-overview/_index.md b/content/nap-waf/v5/logging-overview/_index.md index 9ee8cb049..15401b776 100644 --- a/content/nap-waf/v5/logging-overview/_index.md +++ b/content/nap-waf/v5/logging-overview/_index.md @@ -1,9 +1,7 @@ --- -description: Documentation explaining how to monitor, generate logs for, and debug F5 NGINX App Protect WAF v5. -menu: - docs: - parent: v5 +description: Documentation explaining how to monitor, generate logs for, and debug + F5 NGINX App Protect WAF v5. title: Logging Overview weight: 800 url: /nginx-app-protect-waf/v5/logging-overview/ ---- \ No newline at end of file +--- diff --git a/content/nap-waf/v5/logging-overview/access-log.md b/content/nap-waf/v5/logging-overview/access-log.md index e652e45f0..5c7f0de2c 100644 --- a/content/nap-waf/v5/logging-overview/access-log.md +++ b/content/nap-waf/v5/logging-overview/access-log.md @@ -1,11 +1,11 @@ --- -description: "Learn about the F5 NGINX App Protect WAF Access Log Request Mechanism." -doctypes: -- concept -title: "NGINX App Protect WAF Access Log" +description: Learn about the F5 NGINX App Protect WAF Access Log Request Mechanism. +title: NGINX App Protect WAF Access Log toc: true weight: 550 -docs: "DOCS-1641" +docs: DOCS-1641 +type: +- concept --- ## Access Logs diff --git a/content/nap-waf/v5/logging-overview/logs-overview.md b/content/nap-waf/v5/logging-overview/logs-overview.md index 090301692..1b41da5d2 100644 --- a/content/nap-waf/v5/logging-overview/logs-overview.md +++ b/content/nap-waf/v5/logging-overview/logs-overview.md @@ -1,11 +1,11 @@ --- description: Learn the types of logs available in F5 NGINX App Protect WAF v5. docs: DOCS-1374 -doctypes: -- concept title: NGINX App Protect WAF Logs Overview toc: true weight: 1010 +type: +- concept --- ## Log Types diff --git a/content/nap-waf/v5/logging-overview/security-log.md b/content/nap-waf/v5/logging-overview/security-log.md index 312169929..24b085c84 100644 --- a/content/nap-waf/v5/logging-overview/security-log.md +++ b/content/nap-waf/v5/logging-overview/security-log.md @@ -1,11 +1,11 @@ --- -description: "Learn about the F5 NGINX App Protect WAF Security Log." -doctypes: -- concept -title: "NGINX App Protect WAF Security Log" +description: Learn about the F5 NGINX App Protect WAF Security Log. +title: NGINX App Protect WAF Security Log toc: true weight: 520 -docs: "DOCS-1642" +docs: DOCS-1642 +type: +- concept --- ## Security Logs diff --git a/content/nap-waf/v5/releases/_index.md b/content/nap-waf/v5/releases/_index.md index e4d0291a8..c1fa198cf 100644 --- a/content/nap-waf/v5/releases/_index.md +++ b/content/nap-waf/v5/releases/_index.md @@ -1,9 +1,7 @@ --- -description: Stay up-to-date with the latest F5 NGINX App Protect WAF and NGINX App Protect WAF v5 release. -menu: - docs: - parent: v5 +description: Stay up-to-date with the latest F5 NGINX App Protect WAF and NGINX App + Protect WAF v5 release. title: Releases weight: 2000 url: /nginx-app-protect-waf/v5/releases/ ---- \ No newline at end of file +--- diff --git a/content/nap-waf/v5/troubleshooting-guide/_index.md b/content/nap-waf/v5/troubleshooting-guide/_index.md index b2bbef02d..2fab045f5 100644 --- a/content/nap-waf/v5/troubleshooting-guide/_index.md +++ b/content/nap-waf/v5/troubleshooting-guide/_index.md @@ -1,9 +1,7 @@ --- description: Learn about the F5 NGINX App Protect WAF v5 Troubleshooting Guide. -menu: - docs: - parent: v5 title: Troubleshooting weight: 1100 url: /nginx-app-protect-waf/v5/troubleshooting-guide/ --- + diff --git a/content/nap-waf/v5/troubleshooting-guide/troubleshooting.md b/content/nap-waf/v5/troubleshooting-guide/troubleshooting.md index 076a749cf..fb483e6f7 100644 --- a/content/nap-waf/v5/troubleshooting-guide/troubleshooting.md +++ b/content/nap-waf/v5/troubleshooting-guide/troubleshooting.md @@ -1,11 +1,11 @@ --- -description: "Learn about the F5 NGINX App Protect WAF Troubleshooting Guide." -doctypes: -- concept -title: "NGINX App Protect WAF Troubleshooting Guide" +description: Learn about the F5 NGINX App Protect WAF Troubleshooting Guide. +title: NGINX App Protect WAF Troubleshooting Guide toc: true weight: 400 -docs: "DOCS-1645" +docs: DOCS-1645 +type: +- concept --- ## Overview diff --git a/content/nginx-one/about.md b/content/nginx-one/about.md index 18ef02cd2..5b52046f8 100644 --- a/content/nginx-one/about.md +++ b/content/nginx-one/about.md @@ -1,16 +1,13 @@ --- description: '' docs: DOCS-1392 -doctypes: -- reference -tags: -- docs title: About toc: true weight: 10 +type: +- reference --- - The F5 NGINX One Console makes it easy to manage NGINX instances across locations and environments. The console lets you monitor and control your NGINX fleet from one place—you can check configurations, track performance metrics, identify security vulnerabilities, manage SSL certificates, and more. ## Benefits and key features diff --git a/content/nginx-one/api/api-reference-guide.md b/content/nginx-one/api/api-reference-guide.md index da2406461..9a90f9fd3 100644 --- a/content/nginx-one/api/api-reference-guide.md +++ b/content/nginx-one/api/api-reference-guide.md @@ -1,11 +1,8 @@ --- -description: "" +description: '' docs: DOCS-1398 -doctypes: - - reference -type: redoc -tags: - - api +type: +- reference title: API reference guide toc: false weight: null diff --git a/content/nginx-one/api/authentication.md b/content/nginx-one/api/authentication.md index b9b4cfafd..062f9824d 100644 --- a/content/nginx-one/api/authentication.md +++ b/content/nginx-one/api/authentication.md @@ -1,13 +1,11 @@ --- description: '' docs: DOCS-1397 -doctypes: -- task -tags: -- docs title: Authentication toc: true weight: 10 +type: +- how-to --- In this guide, we'll show you how to authenticate API requests with F5 Distributed Cloud and the F5 NGINX One Console. There are two options for authentication: API Token or API Certificate. Both methods ensure secure access to your data. diff --git a/content/nginx-one/changelog.md b/content/nginx-one/changelog.md index c8ec05f13..6ddc2f585 100644 --- a/content/nginx-one/changelog.md +++ b/content/nginx-one/changelog.md @@ -1,13 +1,11 @@ --- -description: "" +description: '' docs: DOCS-1394 -doctypes: - - reference -tags: - - docs title: Changelog toc: true weight: 99999 +type: +- reference --- - -
- -
- - -
-
{{ .Content}}
-
-
- -{{ end }} From 6bb9f12627da2956220b3d4c369482adcf299954 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Thu, 22 May 2025 17:17:22 +0100 Subject: [PATCH 182/723] Fix CLOSED_CONTRIBUTIONS.md (#586) The steps dont work without this change --- CLOSED_CONTRIBUTIONS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CLOSED_CONTRIBUTIONS.md b/CLOSED_CONTRIBUTIONS.md index 275c2322a..e031c3a24 100644 --- a/CLOSED_CONTRIBUTIONS.md +++ b/CLOSED_CONTRIBUTIONS.md @@ -33,7 +33,7 @@ To create closed content, add the closed repository as a remote to the main repo ```shell cd documentation git remote add internal git@github.com:.git -git fetch +git fetch --all ``` Check out the remote `main` branch, and use it to create a feature branch. **Ensure that you prefix all branch names with `internal/`** @@ -64,4 +64,4 @@ git merge internal/internal/feature git push origin ``` -Once the content changes have been merged in the open repository, they will synchronize back to the closed repository. \ No newline at end of file +Once the content changes have been merged in the open repository, they will synchronize back to the closed repository. From 9ab430d73b7724902beef86be9e8cf78b6816856 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Thu, 22 May 2025 09:43:14 -0700 Subject: [PATCH 183/723] Trigger slack notification workflow in theme repo (#574) * feat: Add a new trigger to build push workflow * feat: Add additional job to trigger slack notification * feat: Updated code to use environment from payload if inputs does not exist * feat: Add permissions * chore: Remove redoc layout * chore: Moved owner + repo to env variable for slack job * chore: Updated with passing client payload for release metadata * chore: Changed PAT to F5 + moved owner/repo to secrets --- .github/workflows/build-push.yml | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index c24db68be..b06d2976d 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -41,14 +41,14 @@ on: env: FRONT_DOOR_USERNAME: ${{ secrets.FRONT_DOOR_USERNAME }} FRONT_DOOR_PASSWORD: ${{ secrets.FRONT_DOOR_PASSWORD }} - GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }} + GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }} jobs: prod-check-branch: runs-on: ubuntu-24.04 steps: - name: Output variables run: | - echo "Environment: ${{ inputs.environment }}" + echo "Environment: ${{ inputs.environment || github.event.client_payload.environment }}" echo "Branch: ${{ github.ref }}" - name: Checks to see that main branch is selected if deploying to prod if: ${{ inputs.environment == 'prod' && github.ref != 'refs/heads/main' }} @@ -65,7 +65,7 @@ jobs: docs_source_path: "public" docs_build_path: "./" doc_type: "hugo" - environment: ${{inputs.environment}} + environment: ${{ inputs.environment || github.event.client_payload.environment }} force_hugo_theme_version: ${{inputs.hugo_theme_override}} auto_deploy_branch: "main" auto_deploy_env: "prod" @@ -73,6 +73,25 @@ jobs: AZURE_CREDENTIALS: ${{secrets.AZURE_CREDENTIALS_DOCS}} AZURE_KEY_VAULT: ${{secrets.AZURE_KEY_VAULT_DOCS}} + trigger-theme-slack-notification: + if: github.event_name == 'repository_dispatch' + needs: call-docs-build-push + runs-on: ubuntu-latest + permissions: read-all + steps: + - name: Trigger 'Slack notification for new theme release' workflow in 'nginx-hugo-theme' repo. + run: | + curl -L \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${{ secrets.F5_CLA_TOKEN }}" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "https://api.github.com/repos/${{ secrets.OWNER }}/${{ secrets.REPO }}/dispatches" \ + -d "{"event_type": "trigger-slack-notification", "client_payload": {"previewURL": "${{ env.PREVIEW_URL }}", "author": "${{ github.event.client_payload.author}}", "tag_name": "${{ github.event.client_payload.tag_name }}", "release_name": "${{ github.event.client_payload.release_name }}"}}" + env: + PREVIEW_URL: ${{ needs.call-docs-build-push.outputs.PREVIEW_URL }} + + lighthouseci: if: github.event.pull_request needs: call-docs-build-push From aca3815bc4ee7fa69b8fd00ef8cd2cc6905e23d6 Mon Sep 17 00:00:00 2001 From: Nicole Huang <42621884+xynicole@users.noreply.github.com> Date: Thu, 22 May 2025 10:51:42 -0700 Subject: [PATCH 184/723] NLB-6321: R33 release announcement (#440) NLB-6321: R33 release announcement --- content/nginxaas-azure/changelog.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/nginxaas-azure/changelog.md b/content/nginxaas-azure/changelog.md index 8e902fb72..de3ebc390 100644 --- a/content/nginxaas-azure/changelog.md +++ b/content/nginxaas-azure/changelog.md @@ -14,6 +14,14 @@ To see a list of currently active issues, visit the [Known issues]({{< ref "/ngi To review older entries, visit the [Changelog archive]({{< ref "/nginxaas-azure/changelog-archive" >}}) section. +## May 22, 2025 + +- {{% icon-feature %}} **NGINXaaS is now running NGINX Plus Release 33 (R33) in the Stable Upgrade Channel** + + NGINXaaS for Azure deployments using the **Stable** [Upgrade Channel]({{< ref "/nginxaas-azure/quickstart/upgrade-channels.md" >}}) have now been automatically upgraded to [NGINX Plus Release 33 (R33)]({{< ref "/nginx/releases.md#nginxplusrelease-33-r33" >}}). This upgrade also includes updates to the following NGINX Plus modules: + - nginx-plus-module-njs + For a complete list of allowed directives, see the [Configuration Directives List]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/overview/#configuration-directives-list" >}}). + ## May 20, 2025 - {{% icon-feature %}} **Azure Monitor Platform Metrics** From 217267b5d5cbf85a23a205db2bc8448c90dffe20 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Thu, 22 May 2025 12:04:09 -0700 Subject: [PATCH 185/723] Updated Slack workflow with new PAT + small fixes to quotes (#588) --- .github/workflows/build-push.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index b06d2976d..072b06cbf 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -84,10 +84,10 @@ jobs: curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${{ secrets.F5_CLA_TOKEN }}" \ + -H "Authorization: Bearer ${{ secrets.DOCUMENTATION_SLACK_FLOW_PAT }}" \ -H "X-GitHub-Api-Version: 2022-11-28" \ "https://api.github.com/repos/${{ secrets.OWNER }}/${{ secrets.REPO }}/dispatches" \ - -d "{"event_type": "trigger-slack-notification", "client_payload": {"previewURL": "${{ env.PREVIEW_URL }}", "author": "${{ github.event.client_payload.author}}", "tag_name": "${{ github.event.client_payload.tag_name }}", "release_name": "${{ github.event.client_payload.release_name }}"}}" + -d "{\"event_type\": \"trigger-slack-notification\", \"client_payload\": {\"previewURL\": \"${{ env.PREVIEW_URL }}\", \"author\": \"${{ github.event.client_payload.author}}\", \"tag_name\": \"${{ github.event.client_payload.tag_name }}\", \"release_name\": \"${{ github.event.client_payload.release_name }}\"}}" env: PREVIEW_URL: ${{ needs.call-docs-build-push.outputs.PREVIEW_URL }} From 02ec8f10486d43a11dc0678d059fd24d271e99fb Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Thu, 22 May 2025 12:53:46 -0700 Subject: [PATCH 186/723] Fixed Slack workflow with correct PAT (#589) Signed-off-by: Lam Nguyen --- .github/workflows/build-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index 072b06cbf..b6e36b54a 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -84,7 +84,7 @@ jobs: curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${{ secrets.DOCUMENTATION_SLACK_FLOW_PAT }}" \ + -H "Authorization: Bearer ${{ secrets.THEME_SLACK_FLOW_PAT }}" \ -H "X-GitHub-Api-Version: 2022-11-28" \ "https://api.github.com/repos/${{ secrets.OWNER }}/${{ secrets.REPO }}/dispatches" \ -d "{\"event_type\": \"trigger-slack-notification\", \"client_payload\": {\"previewURL\": \"${{ env.PREVIEW_URL }}\", \"author\": \"${{ github.event.client_payload.author}}\", \"tag_name\": \"${{ github.event.client_payload.tag_name }}\", \"release_name\": \"${{ github.event.client_payload.release_name }}\"}}" From df963030b7fb7e70758d206b5f20bac0e722d732 Mon Sep 17 00:00:00 2001 From: Saylor Berman Date: Thu, 22 May 2025 14:03:16 -0600 Subject: [PATCH 187/723] Update supportpkg link for NGF (#587) --- content/ngf/support.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ngf/support.md b/content/ngf/support.md index c6f28eed2..7ec9f3f35 100644 --- a/content/ngf/support.md +++ b/content/ngf/support.md @@ -15,7 +15,7 @@ After opening a support ticket, F5 staff will request additional information to ## Kubernetes support plugin -The [nginx-supportpkg-for-k8s](https://github.com/nginxinc/nginx-supportpkg-for-k8s) plugin collects the information needed by F5 Technical Support to assist with troubleshooting your issue. +The [nginx-supportpkg-for-k8s](https://github.com/nginx/nginx-supportpkg-for-k8s) plugin collects the information needed by F5 Technical Support to assist with troubleshooting your issue. The plugin uses [krew](https://krew.sigs.k8s.io), the plugin manager for the Kubernetes [kubectl](https://kubernetes.io/docs/reference/kubectl/) command-line tool. @@ -30,7 +30,7 @@ The plugin may collect some or all of the following global and namespace-specifi This plugin **does not** collect secrets or coredumps. -Visit the [project’s GitHub repository](https://github.com/nginxinc/nginx-supportpkg-for-k8s) for further details. +Visit the [project’s GitHub repository](https://github.com/nginx/nginx-supportpkg-for-k8s) for further details. --- From 573f3ccd27399ebd8e8e27d803829b9160c4aa46 Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Fri, 23 May 2025 06:47:41 -0700 Subject: [PATCH 188/723] feat: Add "disconnected" as preferred term to style guide --- templates/style-guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/style-guide.md b/templates/style-guide.md index d97e06a98..4959228fd 100644 --- a/templates/style-guide.md +++ b/templates/style-guide.md @@ -107,6 +107,7 @@ The table provides guidelines about the terms you should and should not use for | data source | | | | database | Do not abbreviate as "db". Always a single word. | | |date format | Use _month day, year_ format, as in December 4, 2024. Don't use _day month year_, as in 31 July 2016.
In the UI, it's OK to use numbers and slashes for dates if the code supports that format and automatically displays the appropriate date format for different locales. For example, 12/4/2024. | This format aligns with standard American usage for consistency and clarity. | +| disconnected | Use this term to describe environments without internet or external network access, such as air-gapped, offline, or network-restricted setups. Preferred term due to alignment with product UI and configuration settings (for example, `mode_of_operation: disconnected`). If needed, clarify as "in a disconnected (network-restricted) environment" for context. | | | DoS/DDoS/3DoS | Spell out on first reference:
- denial-of-service (DoS)
- distributed denial-of-service (DDoS)
- diverse distributed denial-of-service (3DoS) | | | e.g., i.e., etc. | Avoid using Latin abbreviations.
- e.g. = for example
- i.e. = in other words
- etc. = and so on | | | earlier and later | Use to describe versioning. For example, "This applies to versions earlier than NGINX Plus R31".
Do not use before, after, greater, lower, higher, below, above, and so on. | | From 507005d3fa705ce49d5e6b2e7835f41ac1dc76a1 Mon Sep 17 00:00:00 2001 From: Jack Hickey <133868041+nginx-jack@users.noreply.github.com> Date: Fri, 23 May 2025 15:39:51 +0100 Subject: [PATCH 189/723] Tooling: Pull request triggers support slashes in branch names (#593) --- .github/workflows/build-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index b6e36b54a..e990e6afb 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -33,7 +33,7 @@ on: type: string pull_request: branches: - - "*" + - "**" push: branches: - "main" From e51762c0f3d23e52824ee38e3211f41eef93d08f Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Mon, 26 May 2025 10:52:40 +0100 Subject: [PATCH 190/723] docs: Transfer Unit docs (#171) * docs: migrate UNIT to hugo and documentation repo * docs: fixes * docs: update news and fix links * fix: fix broken code block * fix: fix some code blocks * docs: remove unused include * add-pull-173 --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> Co-authored-by: Alan Dooley --- config/_default/config.toml | 3 +- .../includes/unit/howto_change_ownership.md | 18 + content/includes/unit/howto_install_app.md | 2 + content/includes/unit/howto_install_prereq.md | 1 + content/includes/unit/howto_install_unit.md | 1 + content/includes/unit/howto_upload_config.md | 14 + content/includes/unit/version.md | 1 + content/unit/_index.md | 7 + content/unit/about.md | 25 + content/unit/certificates.md | 193 + content/unit/changes.md | 1216 +++++ content/unit/community.md | 64 + content/unit/community.md:Zone.Identifier | 0 content/unit/configuration.md | 4155 +++++++++++++++++ content/unit/controlapi.md | 524 +++ content/unit/howto/_index.md | 5 + content/unit/howto/ansible.md | 116 + content/unit/howto/apps/_index.md | 4 + content/unit/howto/apps/apollo.md | 179 + content/unit/howto/apps/bugzilla.md | 93 + content/unit/howto/apps/datasette.md | 74 + content/unit/howto/apps/dokuwiki.md | 105 + content/unit/howto/apps/drupal.md | 157 + content/unit/howto/apps/grafana.md | 192 + content/unit/howto/apps/jira.md | 168 + content/unit/howto/apps/joomla.md | 96 + content/unit/howto/apps/mailman.md | 105 + content/unit/howto/apps/matomo.md | 125 + content/unit/howto/apps/mediawiki.md | 168 + content/unit/howto/apps/mercurial.md | 95 + content/unit/howto/apps/modx.md | 85 + content/unit/howto/apps/moin.md | 159 + content/unit/howto/apps/nextcloud.md | 192 + content/unit/howto/apps/opengrok.md | 67 + content/unit/howto/apps/phpbb.md | 121 + content/unit/howto/apps/phpmyadmin.md | 71 + content/unit/howto/apps/plone.md | 124 + content/unit/howto/apps/redmine.md | 55 + content/unit/howto/apps/reviewboard.md | 109 + content/unit/howto/apps/roundcube.md | 89 + content/unit/howto/apps/trac.md | 162 + content/unit/howto/apps/wordpress.md | 102 + content/unit/howto/certbot.md | 283 ++ content/unit/howto/docker.md | 468 ++ content/unit/howto/frameworks/_index.md | 4 + content/unit/howto/frameworks/bottle.md | 93 + content/unit/howto/frameworks/cakephp.md | 106 + content/unit/howto/frameworks/catalyst.md | 76 + content/unit/howto/frameworks/codeigniter.md | 69 + content/unit/howto/frameworks/django.md | 176 + .../unit/howto/frameworks/djangochannels.md | 120 + content/unit/howto/frameworks/express.md | 111 + content/unit/howto/frameworks/falcon.md | 150 + content/unit/howto/frameworks/fastapi.md | 102 + content/unit/howto/frameworks/flask.md | 87 + content/unit/howto/frameworks/guillotina.md | 151 + content/unit/howto/frameworks/koa.md | 140 + content/unit/howto/frameworks/laravel.md | 77 + content/unit/howto/frameworks/lumen.md | 71 + content/unit/howto/frameworks/pyramid.md | 137 + content/unit/howto/frameworks/quart.md | 107 + content/unit/howto/frameworks/rails.md | 74 + content/unit/howto/frameworks/responder.md | 108 + content/unit/howto/frameworks/sanic.md | 85 + content/unit/howto/frameworks/springboot.md | 121 + content/unit/howto/frameworks/starlette.md | 155 + content/unit/howto/frameworks/symfony.md | 107 + content/unit/howto/frameworks/yii.md | 221 + content/unit/howto/frameworks/zope.md | 229 + content/unit/howto/integration.md | 127 + content/unit/howto/modules.md | 350 ++ content/unit/howto/overview.md | 100 + content/unit/howto/samples.md | 822 ++++ content/unit/howto/security.md | 768 +++ content/unit/howto/source.md | 873 ++++ content/unit/howto/walkthrough.md | 84 + content/unit/installation.md | 1962 ++++++++ content/unit/keyfeatures.md | 53 + content/unit/news/2023/_index.md | 4 + .../unit/news/2023/unit-1.30.0-released.md | 344 ++ .../unit/news/2023/unit-1.31.0-released.md | 240 + .../unit/news/2023/unit-1.31.1-released.md | 63 + content/unit/news/2024/_index.md | 4 + .../unit/news/2024/fermyon-spin-rust-sdk.md | 85 + .../unit/news/2024/unit-1.32.0-released.md | 259 + .../unit/news/2024/unit-1.32.1-released.md | 39 + .../unit/news/2024/unit-1.33.0-released.md | 192 + .../unit/news/2024/unit-1.34.0-released.md | 148 + .../news/2024/wasm-component-model-part-1.md | 69 + .../news/2024/wasm-component-model-part-2.md | 233 + content/unit/news/2025/_index.md | 4 + .../unit/news/2025/unit-1.34.1-released.md | 24 + content/unit/news/_index.md | 4 + content/unit/news/archived-news/2018.md | 633 +++ content/unit/news/archived-news/2019.md | 592 +++ content/unit/news/archived-news/2020.md | 717 +++ content/unit/news/archived-news/2021.md | 696 +++ content/unit/news/archived-news/2022.md | 510 ++ content/unit/news/archived-news/_index.md | 4 + content/unit/scripting.md | 212 + content/unit/statusapi.md | 213 + content/unit/troubleshooting.md | 324 ++ content/unit/unitctl.md | 345 ++ static/unit/downloads/Dockerfile.go.txt | 41 + static/unit/downloads/Dockerfile.java.txt | 26 + static/unit/downloads/Dockerfile.nodejs.txt | 33 + static/unit/downloads/Dockerfile.perl.txt | 32 + static/unit/downloads/Dockerfile.php.txt | 24 + static/unit/downloads/Dockerfile.python.txt | 28 + static/unit/downloads/Dockerfile.ruby.txt | 31 + static/unit/downloads/grafana.patch | 58 + static/unit/downloads/unit-openapi.Dockerfile | 157 + static/unit/images/apollo.png | Bin 0 -> 62438 bytes static/unit/images/bugzilla.png | Bin 0 -> 110906 bytes static/unit/images/cakephp.png | Bin 0 -> 252155 bytes static/unit/images/catalyst.png | Bin 0 -> 327441 bytes static/unit/images/codeigniter.png | Bin 0 -> 231643 bytes static/unit/images/datasette.png | Bin 0 -> 212477 bytes static/unit/images/django.png | Bin 0 -> 149887 bytes static/unit/images/djangochannels.png | Bin 0 -> 137826 bytes static/unit/images/dokuwiki.png | Bin 0 -> 363297 bytes static/unit/images/drupal.png | Bin 0 -> 854533 bytes static/unit/images/express.png | Bin 0 -> 94998 bytes static/unit/images/fastapi.png | Bin 0 -> 213409 bytes static/unit/images/grafana.png | Bin 0 -> 155283 bytes static/unit/images/hg.png | Bin 0 -> 238210 bytes static/unit/images/jira.png | Bin 0 -> 132317 bytes static/unit/images/joomla.png | Bin 0 -> 296633 bytes static/unit/images/laravel.png | Bin 0 -> 269429 bytes static/unit/images/mailman.png | Bin 0 -> 154747 bytes static/unit/images/matomo.png | Bin 0 -> 284388 bytes static/unit/images/modx.png | Bin 0 -> 417804 bytes static/unit/images/moin.png | Bin 0 -> 274320 bytes static/unit/images/mw_install.png | Bin 0 -> 98497 bytes static/unit/images/mw_ready.png | Bin 0 -> 349258 bytes static/unit/images/nextcloud.png | Bin 0 -> 185874 bytes static/unit/images/openapi.png | Bin 0 -> 22589 bytes static/unit/images/opengrok.png | Bin 0 -> 362419 bytes static/unit/images/phpbb.png | Bin 0 -> 269931 bytes static/unit/images/phpmyadmin.png | Bin 0 -> 183134 bytes static/unit/images/plone.png | Bin 0 -> 229314 bytes static/unit/images/rails.png | Bin 0 -> 664442 bytes static/unit/images/redmine.png | Bin 0 -> 181117 bytes static/unit/images/reviewboard.png | Bin 0 -> 205703 bytes static/unit/images/roundcube-setup.png | Bin 0 -> 290892 bytes static/unit/images/roundcube.png | Bin 0 -> 143087 bytes static/unit/images/springboot.png | Bin 0 -> 69755 bytes static/unit/images/symfony.png | Bin 0 -> 204496 bytes static/unit/images/trac.png | Bin 0 -> 186391 bytes static/unit/images/wordpress.png | Bin 0 -> 222018 bytes static/unit/images/yii1.1.png | Bin 0 -> 209339 bytes static/unit/images/yii2.png | Bin 0 -> 205916 bytes 152 files changed, 24396 insertions(+), 1 deletion(-) create mode 100644 content/includes/unit/howto_change_ownership.md create mode 100644 content/includes/unit/howto_install_app.md create mode 100644 content/includes/unit/howto_install_prereq.md create mode 100644 content/includes/unit/howto_install_unit.md create mode 100644 content/includes/unit/howto_upload_config.md create mode 100644 content/includes/unit/version.md create mode 100644 content/unit/_index.md create mode 100644 content/unit/about.md create mode 100644 content/unit/certificates.md create mode 100644 content/unit/changes.md create mode 100644 content/unit/community.md create mode 100644 content/unit/community.md:Zone.Identifier create mode 100644 content/unit/configuration.md create mode 100644 content/unit/controlapi.md create mode 100644 content/unit/howto/_index.md create mode 100644 content/unit/howto/ansible.md create mode 100644 content/unit/howto/apps/_index.md create mode 100644 content/unit/howto/apps/apollo.md create mode 100644 content/unit/howto/apps/bugzilla.md create mode 100644 content/unit/howto/apps/datasette.md create mode 100644 content/unit/howto/apps/dokuwiki.md create mode 100644 content/unit/howto/apps/drupal.md create mode 100644 content/unit/howto/apps/grafana.md create mode 100644 content/unit/howto/apps/jira.md create mode 100644 content/unit/howto/apps/joomla.md create mode 100644 content/unit/howto/apps/mailman.md create mode 100644 content/unit/howto/apps/matomo.md create mode 100644 content/unit/howto/apps/mediawiki.md create mode 100644 content/unit/howto/apps/mercurial.md create mode 100644 content/unit/howto/apps/modx.md create mode 100644 content/unit/howto/apps/moin.md create mode 100644 content/unit/howto/apps/nextcloud.md create mode 100644 content/unit/howto/apps/opengrok.md create mode 100644 content/unit/howto/apps/phpbb.md create mode 100644 content/unit/howto/apps/phpmyadmin.md create mode 100644 content/unit/howto/apps/plone.md create mode 100644 content/unit/howto/apps/redmine.md create mode 100644 content/unit/howto/apps/reviewboard.md create mode 100644 content/unit/howto/apps/roundcube.md create mode 100644 content/unit/howto/apps/trac.md create mode 100644 content/unit/howto/apps/wordpress.md create mode 100644 content/unit/howto/certbot.md create mode 100644 content/unit/howto/docker.md create mode 100644 content/unit/howto/frameworks/_index.md create mode 100644 content/unit/howto/frameworks/bottle.md create mode 100644 content/unit/howto/frameworks/cakephp.md create mode 100644 content/unit/howto/frameworks/catalyst.md create mode 100644 content/unit/howto/frameworks/codeigniter.md create mode 100644 content/unit/howto/frameworks/django.md create mode 100644 content/unit/howto/frameworks/djangochannels.md create mode 100644 content/unit/howto/frameworks/express.md create mode 100644 content/unit/howto/frameworks/falcon.md create mode 100644 content/unit/howto/frameworks/fastapi.md create mode 100644 content/unit/howto/frameworks/flask.md create mode 100644 content/unit/howto/frameworks/guillotina.md create mode 100644 content/unit/howto/frameworks/koa.md create mode 100644 content/unit/howto/frameworks/laravel.md create mode 100644 content/unit/howto/frameworks/lumen.md create mode 100644 content/unit/howto/frameworks/pyramid.md create mode 100644 content/unit/howto/frameworks/quart.md create mode 100644 content/unit/howto/frameworks/rails.md create mode 100644 content/unit/howto/frameworks/responder.md create mode 100644 content/unit/howto/frameworks/sanic.md create mode 100644 content/unit/howto/frameworks/springboot.md create mode 100644 content/unit/howto/frameworks/starlette.md create mode 100644 content/unit/howto/frameworks/symfony.md create mode 100644 content/unit/howto/frameworks/yii.md create mode 100644 content/unit/howto/frameworks/zope.md create mode 100644 content/unit/howto/integration.md create mode 100644 content/unit/howto/modules.md create mode 100644 content/unit/howto/overview.md create mode 100644 content/unit/howto/samples.md create mode 100644 content/unit/howto/security.md create mode 100644 content/unit/howto/source.md create mode 100644 content/unit/howto/walkthrough.md create mode 100644 content/unit/installation.md create mode 100644 content/unit/keyfeatures.md create mode 100644 content/unit/news/2023/_index.md create mode 100644 content/unit/news/2023/unit-1.30.0-released.md create mode 100644 content/unit/news/2023/unit-1.31.0-released.md create mode 100644 content/unit/news/2023/unit-1.31.1-released.md create mode 100644 content/unit/news/2024/_index.md create mode 100644 content/unit/news/2024/fermyon-spin-rust-sdk.md create mode 100644 content/unit/news/2024/unit-1.32.0-released.md create mode 100644 content/unit/news/2024/unit-1.32.1-released.md create mode 100644 content/unit/news/2024/unit-1.33.0-released.md create mode 100644 content/unit/news/2024/unit-1.34.0-released.md create mode 100644 content/unit/news/2024/wasm-component-model-part-1.md create mode 100644 content/unit/news/2024/wasm-component-model-part-2.md create mode 100644 content/unit/news/2025/_index.md create mode 100644 content/unit/news/2025/unit-1.34.1-released.md create mode 100644 content/unit/news/_index.md create mode 100644 content/unit/news/archived-news/2018.md create mode 100644 content/unit/news/archived-news/2019.md create mode 100644 content/unit/news/archived-news/2020.md create mode 100644 content/unit/news/archived-news/2021.md create mode 100644 content/unit/news/archived-news/2022.md create mode 100644 content/unit/news/archived-news/_index.md create mode 100644 content/unit/scripting.md create mode 100644 content/unit/statusapi.md create mode 100644 content/unit/troubleshooting.md create mode 100644 content/unit/unitctl.md create mode 100644 static/unit/downloads/Dockerfile.go.txt create mode 100644 static/unit/downloads/Dockerfile.java.txt create mode 100644 static/unit/downloads/Dockerfile.nodejs.txt create mode 100644 static/unit/downloads/Dockerfile.perl.txt create mode 100644 static/unit/downloads/Dockerfile.php.txt create mode 100644 static/unit/downloads/Dockerfile.python.txt create mode 100644 static/unit/downloads/Dockerfile.ruby.txt create mode 100644 static/unit/downloads/grafana.patch create mode 100644 static/unit/downloads/unit-openapi.Dockerfile create mode 100644 static/unit/images/apollo.png create mode 100644 static/unit/images/bugzilla.png create mode 100644 static/unit/images/cakephp.png create mode 100644 static/unit/images/catalyst.png create mode 100644 static/unit/images/codeigniter.png create mode 100644 static/unit/images/datasette.png create mode 100644 static/unit/images/django.png create mode 100644 static/unit/images/djangochannels.png create mode 100644 static/unit/images/dokuwiki.png create mode 100644 static/unit/images/drupal.png create mode 100644 static/unit/images/express.png create mode 100644 static/unit/images/fastapi.png create mode 100644 static/unit/images/grafana.png create mode 100644 static/unit/images/hg.png create mode 100644 static/unit/images/jira.png create mode 100644 static/unit/images/joomla.png create mode 100644 static/unit/images/laravel.png create mode 100644 static/unit/images/mailman.png create mode 100644 static/unit/images/matomo.png create mode 100644 static/unit/images/modx.png create mode 100644 static/unit/images/moin.png create mode 100644 static/unit/images/mw_install.png create mode 100644 static/unit/images/mw_ready.png create mode 100644 static/unit/images/nextcloud.png create mode 100644 static/unit/images/openapi.png create mode 100644 static/unit/images/opengrok.png create mode 100644 static/unit/images/phpbb.png create mode 100644 static/unit/images/phpmyadmin.png create mode 100644 static/unit/images/plone.png create mode 100644 static/unit/images/rails.png create mode 100644 static/unit/images/redmine.png create mode 100644 static/unit/images/reviewboard.png create mode 100644 static/unit/images/roundcube-setup.png create mode 100644 static/unit/images/roundcube.png create mode 100644 static/unit/images/springboot.png create mode 100644 static/unit/images/symfony.png create mode 100644 static/unit/images/trac.png create mode 100644 static/unit/images/wordpress.png create mode 100644 static/unit/images/yii1.1.png create mode 100644 static/unit/images/yii2.png diff --git a/config/_default/config.toml b/config/_default/config.toml index 35098fc49..10337a908 100644 --- a/config/_default/config.toml +++ b/config/_default/config.toml @@ -47,7 +47,8 @@ enableGitInfo = true "taxonomyTerm" ] taxonomiesExcludedFromSitemap = ["tags", "categories", "doctypes"] - + unitversion= "1.34.1" + unitversionv= "v1.34.1" #logo = "" # Version lists; used by the versions shortcode diff --git a/content/includes/unit/howto_change_ownership.md b/content/includes/unit/howto_change_ownership.md new file mode 100644 index 000000000..36fa9d9e3 --- /dev/null +++ b/content/includes/unit/howto_change_ownership.md @@ -0,0 +1,18 @@ +Run the following command (as root) so Unit can access the application +directory (If the application uses several directories, run the command for +each one): + +```console +# chown -R unit:unit /path/to/app/ # User and group that Unit's router runs as by default +``` + + +{{< note >}} +The **unit:unit** user-group pair is available only with +[official packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) +, Docker [images]({{< relref "/unit/installation.md#installation-docker" >}}), +and some [third-party repos]({{< relref "/unit/installation.md#installation-community-repos" >}}). Otherwise, account names may differ; run the `ps aux | grep unitd` command to be sure. +{{< /note >}} + +For further details, including permissions, see the +[security checklist]({{< relref "/unit/howto/security.md#secutiry-apps" >}}). diff --git a/content/includes/unit/howto_install_app.md b/content/includes/unit/howto_install_app.md new file mode 100644 index 000000000..acd12fb6e --- /dev/null +++ b/content/includes/unit/howto_install_app.md @@ -0,0 +1,2 @@ +Install {{ app }}'s [app-link]. Here, we install it at **/path/to/app/**; use +a real path in your configuration. diff --git a/content/includes/unit/howto_install_prereq.md b/content/includes/unit/howto_install_prereq.md new file mode 100644 index 000000000..7018bd54e --- /dev/null +++ b/content/includes/unit/howto_install_prereq.md @@ -0,0 +1 @@ +Install and configure {{ app }}'s [app-preq]. diff --git a/content/includes/unit/howto_install_unit.md b/content/includes/unit/howto_install_unit.md new file mode 100644 index 000000000..8bf3f5bea --- /dev/null +++ b/content/includes/unit/howto_install_unit.md @@ -0,0 +1 @@ +Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a {{ mod }} language module. diff --git a/content/includes/unit/howto_upload_config.md b/content/includes/unit/howto_upload_config.md new file mode 100644 index 000000000..b218b7b51 --- /dev/null +++ b/content/includes/unit/howto_upload_config.md @@ -0,0 +1,14 @@ +Assuming the JSON above was added to +`config.json`. Run the following command as root: + +```console +# curl -X PUT --data-binary @config.json --unix-socket \ + /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/ # Path to the config section in Unit's control API +``` + +{{< note >}} +The [control socket]({{< relref "/unit/installation.md#configuration-socket" >}}) path may vary; run +`unitd -h` or see +[Startup and shutdown]({{< relref "/unit/howto/source.md#source-startup" >}}) for details. +{{< /note >}} diff --git a/content/includes/unit/version.md b/content/includes/unit/version.md new file mode 100644 index 000000000..4b06b5bed --- /dev/null +++ b/content/includes/unit/version.md @@ -0,0 +1 @@ +1.34.1 \ No newline at end of file diff --git a/content/unit/_index.md b/content/unit/_index.md new file mode 100644 index 000000000..a809a67b0 --- /dev/null +++ b/content/unit/_index.md @@ -0,0 +1,7 @@ +--- +title: NGINX Unit +description: A lightweight web app server that combines several layers of the typical application stack into a single component. +url: /nginx-unit/ +cascade: + logo: "NGINX-Unit-product-icon-RGB.png" +--- \ No newline at end of file diff --git a/content/unit/about.md b/content/unit/about.md new file mode 100644 index 000000000..14db002bc --- /dev/null +++ b/content/unit/about.md @@ -0,0 +1,25 @@ +--- +title: About NGINX Unit +weight: 100 +toc: true +--- + +# Universal web app server + +NGINX Unit is a lightweight and versatile application runtime that provides the +essential components for your web application as a single open-source server: +running application code (including WebAssembly), serving static assets, +handling TLS and request routing. + +Unit was created by [nginx](https://nginx.org/en/) team members from scratch to +be highly efficient and fully configurable at runtime. You can read the details +about the latest release in the [news]({{< relref "/unit/news/">}}) section. + +- See a quickstart [guide](https://github.com/nginx/unit/) on our GitHub page. +- Browse the [Changelog]({{< relref "/unit/changes/">}}) or see the release notes in the [Releases and announcements]({{< relref "/unit/news/">}}) archive. +- Check out the discussion of our [key features]({{< relref "/unit/keyfeatures.md">}}) for further + details. +- Peek at our future plans with a GitHub-based [roadmap](https://github.com/orgs/nginx/projects/1). + + +Watch the entire NGINX Unit tutorial course in the [NGINX YouTube channel](https://www.youtube.com/playlist?list=PLGz_X9w9raXdV3vuPUu0kKBSBjG9rPaUf). diff --git a/content/unit/certificates.md b/content/unit/certificates.md new file mode 100644 index 000000000..4861ca946 --- /dev/null +++ b/content/unit/certificates.md @@ -0,0 +1,193 @@ +--- +title: SSL/TLS certificates +weight: 800 +toc: true +--- + +The **/certificates** section of the [control API]({{< relref "/unit/controlapi.md" >}}) +handles TLS certificates that are used with Unit's +[listeners]({{< relref "/unit/configuration.md#configuration-listeners">}}). +To set up SSL/TLS for a listener, upload a **.pem** file with your certificate +chain and private key to Unit, and name the uploaded bundle in the listener's configuration; next, the listener can be accessed via SSL/TLS. + +{{< note >}} +For the details of certificate issuance and renewal in Unit, +see an example in [TLS with Certbot]({{< relref "/unit/howto/certbot.md" >}}). +{{< /note >}} + + +First, create a **.pem** file with your certificate chain and private key: + +```console +cat cert.pem ca.pem key.pem > bundle.pem # Leaf certificate file | CA certificate file | Private key file | Arbitrary certificate bundle's filename +``` + +Usually, your website's certificate (optionally followed by the intermediate CA certificate) is enough to build a certificate chain. If you add more certificates +to your chain, order them leaf to root. + +Upload the resulting bundle file to Unit's certificate storage under a suitable name +(in this case, **bundle**), running the following command as root: + +```console +# curl -X PUT --data-binary @bundle.pem --unix-socket /path/to/control.unit.sock http://localhost/certificates/bundle + +{ + "success": "Certificate chain uploaded." +} +``` + +{{< warning >}} +Don't use **-d** for file upload with `curl`; this option damages **.pem** files. +Use the **--data-binary** option when uploading file-based data to avoid data +corruption. +{{< /warning >}} + +Internally, Unit stores the uploaded certificate bundles along with other configuration data in its **state** subdirectory; the +[control API]({{< relref "/unit/controlapi.md" >}}) +exposes some of their properties as **GET**-table JSON using **/certificates**: + +```json +{ + "certificates": { + "bundle": { + "key": "RSA (4096 bits)", + "chain": [ + { + "subject": { + "common_name": "example.com", + "alt_names": [ + "example.com", + "www.example.com" + ], + + "country": "US", + "state_or_province": "CA", + "organization": "Acme, Inc." + }, + + "issuer": { + "common_name": "intermediate.ca.example.com", + "country": "US", + "state_or_province": "CA", + "organization": "Acme Certification Authority" + }, + + "validity": { + "since": "Sep 18 19:46:19 2022 GMT", + "until": "Jun 15 19:46:19 2025 GMT" + } + }, + { + "subject": { + "common_name": "intermediate.ca.example.com", + "country": "US", + "state_or_province": "CA", + "organization": "Acme Certification Authority" + }, + + "issuer": { + "common_name": "root.ca.example.com", + "country": "US", + "state_or_province": "CA", + "organization": "Acme Root Certification Authority" + }, + + "validity": { + "since": "Feb 22 22:45:55 2023 GMT", + "until": "Feb 21 22:45:55 2026 GMT" + } + } + ] + } + } +} +``` + +{{< note >}} +Access array items, such as individual certificates in a chain, +and their properties by indexing, running the following commands as root: + +```console +# curl -X GET --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/certificates/bundle/chain/0/ # Certificate bundle name +``` + +```console +# curl -X GET --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/certificates/bundle/chain/0/subject/alt_names/0/ # Certificate bundle name +``` +{{< /note >}} + +Next, add the uploaded bundle to a +[listener]({{< relref "/unit/configuration.md#configuration-listeners" >}}). +the resulting control API configuration may look like this: + +```json +{ + "certificates": { + "bundle": { + "key": "", + "chain": [ + "" + ], + "comment_bundle": "Certificate bundle name" + } + }, + + "config": { + "listeners": { + "*:443": { + "pass": "applications/wsgi-app", + "tls": { + "certificate": "bundle", + "comment_certificate": "Certificate bundle name" + } + } + }, + + "applications": { + "wsgi-app": { + "type": "python", + "module": "wsgi", + "path": "/usr/www/wsgi-app/" + } + } + } +} +``` + +All done; +the application is now accessible via SSL/TLS: + +```console +$ curl -v https://127.0.0.1 # Port 443 is conventionally used for HTTPS connections + ... + * TLSv1.2 (OUT), TLS handshake, Client hello (1): + * TLSv1.2 (IN), TLS handshake, Server hello (2): + * TLSv1.2 (IN), TLS handshake, Certificate (11): + * TLSv1.2 (IN), TLS handshake, Server finished (14): + * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): + * TLSv1.2 (OUT), TLS change cipher, Client hello (1): + * TLSv1.2 (OUT), TLS handshake, Finished (20): + * TLSv1.2 (IN), TLS change cipher, Client hello (1): + * TLSv1.2 (IN), TLS handshake, Finished (20): + * SSL connection using TLSv1.2 / AES256-GCM-SHA384 + ... +``` + +Finally, you can delete a certificate bundle that you don't need anymore +from the storage, running the following command as root: + +```console +# curl -X DELETE --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/certificates/bundle # Certificate bundle name + +{ + "success": "Certificate deleted." +} +``` + +{{< note >}} +You can't delete certificate bundles still referenced in your configuration, +overwrite existing bundles using **put**, or delete non-existent ones. +{{< /note >}} diff --git a/content/unit/changes.md b/content/unit/changes.md new file mode 100644 index 000000000..f53aefdd8 --- /dev/null +++ b/content/unit/changes.md @@ -0,0 +1,1216 @@ +--- +title: Changelog +weight: 900 +toc: true +--- + +```text +Changes with Unit 1.34.1 10 Jan 2025 + + *) Bugfix: fix instability issues due to OpenTelemetry (OTEL) support. + + *) Bugfix: fix issues with building OpenTelemetry (OTEL) support on + various platforms, including macOS. + + +Changes with Unit 1.34.0 19 Dec 2024 + + *) Feature: initial OpenTelemetry (OTEL) support. (Disabled by default). + + *) Feature: support for JSON formatted access logs. + + *) Bugfix: tweak the Perl language module to avoid breaking scripts in + some circumstances. + + +Changes with Unit 1.33.0 17 Sep 2024 + + *) Feature: make the number of router threads configurable. + + *) Feature: make the listen(2) backlog configurable. + + *) Feature: add Python application factory support. + + *) Feature: add experimental chunked request body support. (Disabled by + default). + + *) Feature: add fuzzing via oss-fuzz. + + *) Feature: add "if" option to the "match" object. + + *) Feature: show list of loaded language modules in the /status + endpoint. + + *) Feature: Unit ships with a new Rust based CLI application "unitctl". + + *) Feature: the wasm-wasi-component language module now inherits the + processes environment. + + *) Change: under systemd unit runs in forking mode (once again). + + *) Change: if building with njs, version 0.8.3 or later is now required. + + *) Change: Unit now builds with -std=gnu11 (C11 with GNU extensions). + + *) Change: Unit now creates the full directory path for the PID file and + control socket. + + *) Change: build system improvements, including pretty printing the make + output and enabling various make variables to influence the build + process (see: make help). + + *) Change: better detection of available runnable CPUs on Linux. + + *) Change: default listen(2) backlog on Linux now defaults to Kernel + default. + + *) Bugfix: don't modify REQUEST_URI. + + *) Bugfix: fix a crash when interrupting a download via a proxy. + + *) Bugfix: wasm-wasi-component application process hangs after receiving + restart signal from the control endpoint. + + *) Bugfix: njs variables accessed with a JS template literal should not + be cacheable. + + *) Bugfix: properly handle deleting arrays of certificates. + + *) Bugfix: don't create the $runstatedir directory which triggered an + Alpine packaging error. + + +Changes with Unit 1.32.1 26 Mar 2024 + + *) Bugfix: NJS variables in templates may have incorrect values due to + improper caching. + + *) Bugfix: Wasm application process hangs after receiving restart signal + from the control. + + +Changes with Unit 1.32.0 27 Feb 2024 + + *) Feature: WebAssembly Components using WASI interfaces defined in + wasi:http/proxy@0.2.0. + + *) Feature: conditional access logging. + + *) Feature: njs variables access. + + *) Feature: $request_id variable contains a string that is formed using + random data and can be used as a unique request identifier. + + *) Feature: options to set control socket permissions. + + *) Feature: Ruby arrays in response headers, improving compatibility + with Rack v3.0. + + *) Feature: Python bytearray response bodies for ASGI applications. + + *) Bugfix: router could crash while sending large files. Thanks to + rustedsword. + + *) Bugfix: serving static files from a network filesystem could lead to + error. + + *) Bugfix: "uidmap" and "gidmap" isolation options validation. + + *) Bugfix: abstract UNIX socket name could be corrupted during + configuration validation. Thanks to Alejandro Colomar. + + *) Bugfix: HTTP header field value encoding could be misinterpreted in + Python module. + + *) Bugfix: Node.js http.createServer() accepts and ignores the "options" + argument, improving compatibility with strapi applications, among + others. + + *) Bugfix: ServerRequest.flushHeaders() implemented in Node.js module to + make it compatible with Next.js. + + *) Bugfix: ServerRequest.httpVersion variable format in Node.js module. + + *) Bugfix: Node.js module handles standard library imports prefixed with + "node:", making it possible to run newer Nuxt applications, among + others. + + *) Bugfix: Node.js tarball location changed to avoid build/install + errors. + + *) Bugfix: Go module sets environment variables necessary for building + on macOS/arm64 systems. + + +Changes with Unit 1.31.1 19 Oct 2023 + + *) Feature: allow to set the HTTP response status in Wasm module. + + *) Feature: allow uploads larger than 4GiB in Wasm module. + + *) Bugfix: application process could crash while rewriting URLs with + query strings. + + *) Bugfix: requests larger than about 64MiB could cause error in Wasm + module. + + *) Bugfix: when using many headers in Java module some of them could be + corrupted due to memory realocation issue. + + *) Bugfix: ServerRequest.destroy() implemented in Node.js module to make + it compatible with some frameworks that might use it. + + *) Bugfix: chunk argument of ServerResponse.write() can now be a + Uint8Array to improve compatibility with Node.js 15.0.0 and above. + + *) Bugfix: Node.JS unit-http NPM module now has appropriate default + paths for macOS/arm64 systems. + + *) Bugfix: build on musl libc with clang. + + +Changes with Unit 1.31.0 31 Aug 2023 + + *) Change: if building with njs, version 0.8.0 or later is now required. + + *) Feature: technology preview of WebAssembly application module. + + *) Feature: "response_headers" option to manage headers in the action + and fallback. + + *) Feature: HTTP response header variables. + + *) Feature: ASGI lifespan state support. Thanks to synodriver. + + *) Bugfix: ensure that $uri variable is not cached. + + *) Bugfix: deprecated options were unavailable. + + *) Bugfix: ASGI applications inaccessible over IPv6. + + +Changes with Unit 1.30.0 10 May 2023 + + *) Change: remove Unix domain listen sockets upon reconfiguration. + + *) Feature: basic URI rewrite support. + + *) Feature: njs loadable modules support. + + *) Feature: per-application logging. + + *) Feature: conditional logging of route selection. + + *) Feature: support the keys API on the request objects in njs. + + *) Feature: default values for 'make install' pathnames such as prefix; + this allows to './configure && make && sudo make install'. + + *) Feature: "server_version" setting to omit the version token from + "Server" header field. + + *) Bugfix: request header field values could be corrupted in some cases; + the bug had appeared in 1.29.0. + + *) Bugfix: PHP error handling (added missing 403 and 404 errors). + + *) Bugfix: Perl applications crash on second responder call. + + +Changes with Unit 1.29.1 28 Feb 2023 + + *) Bugfix: stop creating world-writeable directories. + + *) Bugfix: memory leak related to njs. + + *) Bugfix: path parsing in PHP applications. + + *) Bugfix: enabled UTF-8 for Python config by default to avoid + applications failing in some cases. + + *) Bugfix: using asyncio.get_running_loop() instead of + asyncio.get_event_loop() when it's available to prevent errors in + some Python ASGI applications. + + *) Bugfix: applications that make use of various low level APIs such as + pthreads could fail to work correctly. + + *) Bugfix: websocket endianness detection for obscure operating systems. + + +Changes with Unit 1.29.0 15 Dec 2022 + + *) Change: removed $uri auto-append for "share" when loading + configuration. + + *) Change: prefer system crypto policy instead of hardcoding a default. + + *) Feature: njs support with the basic syntax of JS template literals. + + *) Feature: support per-application cgroups on Linux. + + *) Feature: the $request_time variable contains the request processing + time. + + *) Feature: "prefix" option in Python applications to set WSGI + "SCRIPT_NAME" and ASGI root-path variables. + + *) Feature: compatibility with Python 3.11. + + *) Feature: compatibility with OpenSSL 3. + + *) Feature: compatibility with PHP 8.2. + + *) Feature: compatibility with Node.js 19.0. + + *) Feature: Ruby Rack v3 support. + + *) Bugfix: fix error in connection statistics when using proxy. + + *) Bugfix: fix HTTP cookie parsing when the value contains an equals + sign. + + *) Bugfix: PHP directory URLs without a trailing '/' would give a 503 + error (fixed with a 301 re-direct). + + *) Bugfix: missing error checks in the C API. + + *) Bugfix: report the regex status in configure summary. + + +Changes with Unit 1.28.0 13 Sep 2022 + + *) Change: increased the applications' startup timeout. + + *) Change: disallowed abstract Unix domain socket syntax in non-Linux + systems. + + *) Feature: basic statistics API. + + *) Feature: customizable access log format. + + *) Feature: more HTTP variables support. + + *) Feature: forwarded header to replace client address and protocol. + + *) Feature: ability to get dynamic variables. + + *) Feature: support for abstract Unix sockets. + + *) Feature: support for Unix sockets in address matching. + + *) Feature: the $dollar variable translates to a literal "$" during + variable substitution. + + *) Bugfix: router process could crash if index file didn't contain an + extension. + + *) Bugfix: force SCRIPT_NAME in Ruby to always be an empty string. + + *) Bugfix: when isolated PID numbers reach the prototype process host + PID, the prototype crashed. + + *) Bugfix: the Ruby application process could crash on SIGTERM. + + *) Bugfix: the Ruby application process could crash on SIGINT. + + *) Bugfix: mutex leak in the C API. + + +Changes with Unit 1.27.0 02 Jun 2022 + + *) Feature: ability to specify a custom index file name when serving + static files. + + *) Feature: variables support in the "location" option of the "return" + action. + + *) Feature: support empty strings in the "location" option of the + "return" action. + + *) Feature: added a new variable, $request_uri, that includes both the + path and the query parts as per RFC 3986, sections 3-4. + + *) Feature: Ruby Rack environment parameter "SCRIPT_NAME" support. + + *) Feature: compatibility with GCC 12. + + *) Bugfix: Ruby Sinatra applications don't work without custom logging. + + *) Bugfix: the controller process could crash when a chain of more than + four certificates was uploaded. + + *) Bugfix: some Perl applications failed to process the request body, + notably with Plack. + + *) Bugfix: some Spring Boot applications failed to start, notably with + Grails. + + *) Bugfix: incorrect Python protocol auto detection (ASGI or WSGI) for + native callable object, notably with Falcon. + + *) Bugfix: ECMAScript modules did not work with the recent Node.js + versions. + + +Changes with Unit 1.26.1 02 Dec 2021 + + *) Bugfix: occasionally, the Unit daemon was unable to fully terminate; + the bug had appeared in 1.26.0. + + *) Bugfix: a prototype process could crash on an application process + exit; the bug had appeared in 1.26.0. + + *) Bugfix: the router process crashed on reconfiguration if "access_log" + was configured without listeners. + + *) Bugfix: a segmentation fault occurred in the PHP module if chdir() or + fastcgi_finish_request() was called in the OPcache preloading script. + + *) Bugfix: fatal errors on DragonFly BSD; the bug had appeared in + 1.26.0. + + +Changes with Unit 1.26.0 18 Nov 2021 + + *) Change: the "share" option now specifies the entire path to the files + it serves, rather than a document root directory to be prepended to + the request URI. + + *) Feature: automatic adjustment of existing configurations to the new + "share" behavior when updating from previous versions. + + *) Feature: variables support in the "share" option. + + *) Feature: multiple paths in the "share" option. + + *) Feature: variables support in the "chroot" option. + + *) Feature: PHP opcache is shared between application processes. + + *) Feature: request routing by the query string. + + *) Bugfix: the router and app processes could crash when the requests + limit was reached by asynchronous or multithreaded apps. + + *) Bugfix: established WebSocket connections could stop reading frames + from the client after the corresponding listener had been + reconfigured. + + *) Bugfix: fixed building with glibc 2.34, notably Fedora 35. + + +Changes with Unit 1.25.0 19 Aug 2021 + + *) Feature: client IP address replacement from a specified HTTP header + field. + + *) Feature: TLS sessions cache. + + *) Feature: TLS session tickets. + + *) Feature: application restart control. + + *) Feature: process and thread lifecycle hooks in Ruby. + + *) Bugfix: the router process could crash on TLS connection open when + multiple listeners with TLS certificates were configured; the bug had + appeared in 1.23.0. + + *) Bugfix: TLS connections were rejected for configurations with + multiple certificate bundles in a listener if the client did not use + SNI. + + *) Bugfix: the router process could crash with frequent multithreaded + application reconfiguration. + + *) Bugfix: compatibility issues with some Python ASGI apps, notably + based on the Starlette framework. + + *) Bugfix: a descriptor and memory leak occurred in the router process + when an app process stopped or crashed. + + *) Bugfix: the controller or router process could crash if the + configuration contained a full-form IPv6 in a listener address. + + *) Bugfix: the router process crashed when a request was passed to an + empty "routes" or "upstreams" using a variable "pass" option. + + *) Bugfix: the router process crashed while matching a request to an + empty array of source or destination address patterns. + + +Changes with Unit 1.24.0 27 May 2021 + + *) Change: PHP added to the default MIME type list. + + *) Feature: arbitrary configuration of TLS connections via OpenSSL + commands. + + *) Feature: the ability to limit static file serving by MIME types. + + *) Feature: support for chrooting, rejecting symlinks, and rejecting + mount point traversal on a per-request basis when serving static + files. + + *) Feature: a loader for automatically overriding the "http" and + "websocket" modules in Node.js. + + *) Feature: multiple "targets" in Python applications. + + *) Feature: compatibility with Ruby 3.0. + + *) Bugfix: the router process could crash while closing a TLS + connection. + + *) Bugfix: a segmentation fault might have occurred in the PHP module if + fastcgi_finish_request() was used with the "auto_globals_jit" option + enabled. + + +Changes with Unit 1.23.0 25 Mar 2021 + + *) Feature: support for multiple certificate bundles on a listener via + the Server Name Indication (SNI) TLS extension. + + *) Feature: "--mandir" ./configure option to specify the directory for + man page installation. + + *) Bugfix: the router process could crash on premature TLS connection + close; the bug had appeared in 1.17.0. + + *) Bugfix: a connection leak occurred on premature TLS connection close; + the bug had appeared in 1.6. + + *) Bugfix: a descriptor and memory leak occurred in the router process + when processing small WebSocket frames from a client; the bug had + appeared in 1.19.0. + + *) Bugfix: a descriptor leak occurred in the router process when + removing or reconfiguring an application; the bug had appeared in + 1.19.0. + + *) Bugfix: persistent storage of certificates might've not worked with + some filesystems in Linux, and all uploaded certificate bundles were + forgotten after restart. + + *) Bugfix: the controller process could crash while requesting + information about a certificate with a non-DNS SAN entry. + + *) Bugfix: the controller process could crash on manipulations with a + certificate containing a SAN and no standard name attributes in + subject or issuer. + + *) Bugfix: the Ruby module didn't respect the user locale for defaults + in the Encoding class. + + *) Bugfix: the PHP 5 module failed to build with thread safety enabled; + the bug had appeared in 1.22.0. + + +Changes with Unit 1.22.0 04 Feb 2021 + + *) Feature: the ServerRequest and ServerResponse objects of Node.js + module are now compliant with Stream API. + + *) Feature: support for specifying multiple directories in the "path" + option of Python apps. + + *) Bugfix: a memory leak occurred in the router process when serving + files larger than 128K; the bug had appeared in 1.13.0. + + *) Bugfix: apps could stop processing new requests under high load; the + bug had appeared in 1.19.0. + + *) Bugfix: app processes could terminate unexpectedly under high load; + the bug had appeared in 1.19.0. + + *) Bugfix: invalid HTTP responses were generated for some unusual status + codes. + + *) Bugfix: the PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server + variables were missing in the PHP module. + + *) Bugfix: the router process could crash with multithreaded apps under + high load. + + *) Bugfix: Ruby apps with multithreading configured could crash on start + under load. + + *) Bugfix: mount points weren't unmounted when the "mount" namespace + isolation was used; the bug had appeared in 1.21.0. + + *) Bugfix: the router process could crash while removing or + reconfiguring an app that used WebSocket. + + *) Bugfix: a memory leak occurring in the router process when removing + or reconfiguring an application; the bug had appeared in 1.19.0. + + +Changes with Unit 1.21.0 19 Nov 2020 + + *) Change: procfs is mounted by default for all languages when "rootfs" + isolation is used. + + *) Change: any characters valid according to RFC 7230 are now allowed in + HTTP header field names. + + *) Change: HTTP header fields with underscores ("_") are now discarded + from requests by default. + + *) Feature: optional multithreaded request processing for Java, Python, + Perl, and Ruby apps. + + *) Feature: regular expressions in route matching patterns. + + *) Feature: compatibility with Python 3.9. + + *) Feature: the Python module now supports ASGI 2.0 legacy applications. + + *) Feature: the "protocol" option in Python applications aids choice + between ASGI and WSGI. + + *) Feature: the fastcgi_finish_request() PHP function that finalizes + request processing and continues code execution without holding onto + the client connection. + + *) Feature: the "discard_unsafe_fields" HTTP option that enables + discarding request header fields with irregular (but still valid) + characters in the field name. + + *) Feature: the "procfs" and "tmpfs" automount isolation options to + disable automatic mounting of eponymous filesystems. + + *) Bugfix: the router process could crash when running Go applications + under high load; the bug had appeared in 1.19.0. + + *) Bugfix: some language dependencies could remain mounted after using + "rootfs" isolation. + + *) Bugfix: various compatibility issues in Java applications. + + *) Bugfix: the Java module built with the musl C library couldn't run + applications that use "rootfs" isolation. + + +Changes with Unit 1.20.0 08 Oct 2020 + + *) Change: the PHP module is now initialized before chrooting; this + enables loading all extensions from the host system. + + *) Change: AVIF and APNG image formats added to the default MIME type + list. + + *) Change: functional tests migrated to the pytest framework. + + *) Feature: the Python module now fully supports applications that use + the ASGI 3.0 server interface. + + *) Feature: the Python module now has a built-in WebSocket server + implementation for applications, compatible with the HTTP & WebSocket + ASGI Message Format 2.1 specification. + + *) Feature: automatic mounting of an isolated "/tmp" file system into + chrooted application environments. + + *) Feature: the $host variable contains a normalized "Host" request + value. + + *) Feature: the "callable" option sets Python application callable + names. + + *) Feature: compatibility with PHP 8 RC 1. Thanks to Remi Collet. + + *) Feature: the "automount" option in the "isolation" object allows to + turn off the automatic mounting of language module dependencies. + + *) Bugfix: "pass"-ing requests to upstreams from a route was broken; the + bug had appeared in 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for + discovering and fixing it. + + *) Bugfix: the router process could crash during reconfiguration. + + *) Bugfix: a memory leak occurring in the router process; the bug had + appeared in 1.18.0. + + *) Bugfix: the "!" (non-empty) pattern was matched incorrectly; the bug + had appeared in 1.19.0. + + *) Bugfix: fixed building on platforms without sendfile() support, + notably NetBSD; the bug had appeared in 1.16.0. + + +Changes with Unit 1.19.0 13 Aug 2020 + + *) Feature: reworked IPC between the router process and the applications + to lower latencies, increase performance, and improve scalability. + + *) Feature: support for an arbitrary number of wildcards in route + matching patterns. + + *) Feature: chunked transfer encoding in proxy responses. + + *) Feature: basic variables support in the "pass" option. + + *) Feature: compatibility with PHP 8 Beta 1. Thanks to Remi Collet. + + *) Bugfix: the router process could crash while passing requests to an + application under high load. + + *) Bugfix: a number of language modules failed to build on some systems; + the bug had appeared in 1.18.0. + + *) Bugfix: time in error log messages from PHP applications could lag. + + *) Bugfix: reconfiguration requests could hang if an application had + failed to start; the bug had appeared in 1.18.0. + + *) Bugfix: memory leak during reconfiguration. + + *) Bugfix: the daemon didn't start without language modules; the bug had + appeared in 1.18.0. + + *) Bugfix: the router process could crash at exit. + + *) Bugfix: Node.js applications could crash at exit. + + *) Bugfix: the Ruby module could be linked against a wrong library + version. + + +Changes with Unit 1.18.0 28 May 2020 + + *) Feature: the "rootfs" isolation option for changing root filesystem + for an application. + + *) Feature: multiple "targets" in PHP applications. + + *) Feature: support for percent-encoding in the "uri" and "arguments" + matching options and in the "pass" option. + + +Changes with Unit 1.17.0 16 Apr 2020 + + *) Feature: a "return" action with optional "location" for immediate + responses and external redirection. + + *) Feature: fractional weights support for upstream servers. + + *) Bugfix: accidental 502 "Bad Gateway" errors might have occurred in + applications under high load. + + *) Bugfix: memory leak in the router; the bug had appeared in 1.13.0. + + *) Bugfix: segmentation fault might have occurred in the router process + when reaching open connections limit. + + *) Bugfix: "close() failed (9: Bad file descriptor)" alerts might have + appeared in the log while processing large request bodies; the bug + had appeared in 1.16.0. + + *) Bugfix: existing application processes didn't reopen the log file. + + *) Bugfix: incompatibility with some Node.js applications. + + *) Bugfix: broken build on DragonFly BSD; the bug had appeared in + 1.16.0. + + +Changes with Unit 1.16.0 12 Mar 2020 + + *) Feature: basic load-balancing support with round-robin. + + *) Feature: a "fallback" option that performs an alternative action if a + request can't be served from the "share" directory. + + *) Feature: reduced memory consumption by dumping large request bodies + to disk. + + *) Feature: stripping UTF-8 BOM and JavaScript-style comments from + uploaded JSON. + + *) Bugfix: negative address matching in router might work improperly in + combination with non-negative patterns. + + *) Bugfix: Java Spring applications failed to run; the bug had appeared + in 1.10.0. + + *) Bugfix: PHP 7.4 was broken if it was built with thread safety + enabled. + + *) Bugfix: compatibility issues with some Python applications. + + +Changes with Unit 1.15.0 06 Feb 2020 + + *) Change: extensions of dynamically requested PHP scripts were + restricted to ".php". + + *) Feature: compatibility with Ruby 2.7. + + *) Bugfix: segmentation fault might have occurred in the router process + with multiple application processes under load; the bug had appeared + in 1.14.0. + + *) Bugfix: receiving request body over TLS connection might have + stalled. + + +Changes with Unit 1.14.0 26 Dec 2019 + + *) Change: the Go package import name changed to "unit.nginx.org/go". + + *) Change: Go package now links to libunit instead of including library + sources. + + *) Feature: ability to change user and group for isolated applications + when Unit daemon runs as an unprivileged user. + + *) Feature: request routing by source and destination addresses and + ports. + + *) Bugfix: memory bloat on large responses. + + +Changes with Unit 1.13.0 14 Nov 2019 + + *) Feature: basic support for HTTP reverse proxying. + + *) Feature: compatibility with Python 3.8. + + *) Bugfix: memory leak in Python application processes when the close + handler was used. + + *) Bugfix: threads in Python applications might not work correctly. + + *) Bugfix: Ruby on Rails applications might not work on Ruby 2.6. + + *) Bugfix: backtraces for uncaught exceptions in Python 3 might be + logged with significant delays. + + *) Bugfix: explicit setting a namespaces isolation option to false might + have enabled it. + + +Changes with Unit 1.12.0 03 Oct 2019 + + *) Feature: compatibility with PHP 7.4. + + *) Bugfix: descriptors leak on process creation; the bug had appeared in + 1.11.0. + + *) Bugfix: TLS connection might be closed prematurely while sending + response. + + *) Bugfix: segmentation fault might have occurred if an irregular file + was requested. + + +Changes with Unit 1.11.0 19 Sep 2019 + + *) Feature: basic support for serving static files. + + *) Feature: isolation of application processes with Linux namespaces. + + *) Feature: built-in WebSocket server implementation for Java Servlet + Containers. + + *) Feature: direct addressing of API configuration options containing + slashes "/" using URI encoding (%2F). + + *) Bugfix: segmentation fault might have occurred in Go applications + under high load. + + *) Bugfix: WebSocket support was broken if Unit was built with some + linkers other than GNU ld (e.g. gold or LLD). + + +Changes with Unit 1.10.0 22 Aug 2019 + + *) Change: matching of cookies in routes made case sensitive. + + *) Change: decreased log level of common errors when clients close + connections. + + *) Change: removed the Perl module's "--include=" ./configure option. + + *) Feature: built-in WebSocket server implementation for Node.js module. + + *) Feature: splitting PATH_INFO from request URI in PHP module. + + *) Feature: request routing by scheme (HTTP or HTTPS). + + *) Feature: support for multipart requests body in Java module. + + *) Feature: improved API compatibility with Node.js 11.10 or later. + + *) Bugfix: reconfiguration failed if "listeners" or "applications" + objects were missing. + + *) Bugfix: applying a large configuration might have failed. + + +Changes with Unit 1.9.0 30 May 2019 + + *) Feature: request routing by arguments, headers, and cookies. + + *) Feature: route matching patterns allow a wildcard in the middle. + + *) Feature: POST operation for appending elements to arrays in + configuration. + + *) Feature: support for changing credentials using CAP_SETUID and + CAP_SETGID capabilities on Linux without running main process as + privileged user. + + *) Bugfix: memory leak in the router process might have happened when a + client prematurely closed the connection. + + *) Bugfix: applying a large configuration might have failed. + + *) Bugfix: PUT and DELETE operations on array elements in configuration + did not work. + + *) Bugfix: request schema in applications did not reflect TLS + connections. + + *) Bugfix: restored compatibility with Node.js applications that use + ServerResponse._implicitHeader() function; the bug had appeared in + 1.7. + + *) Bugfix: various compatibility issues with Node.js applications. + + +Changes with Unit 1.8.0 01 Mar 2019 + + *) Change: now three numbers are always used for versioning: major, + minor, and patch versions. + + *) Change: now QUERY_STRING is always defined even if the request does + not include the query component. + + *) Feature: basic internal request routing by Host, URI, and method. + + *) Feature: experimental support for Java Servlet Containers. + + *) Bugfix: segmentation fault might have occurred in the router process. + + *) Bugfix: various potential memory leaks. + + *) Bugfix: TLS connections might have stalled. + + *) Bugfix: some Perl applications might have failed to send the response + body. + + *) Bugfix: some compilers with specific flags might have produced + non-functioning builds; the bug had appeared in 1.5. + + *) Bugfix: Node.js package had wrong version number when installed from + sources. + + +Changes with Unit 1.7.1 07 Feb 2019 + + *) Security: a heap memory buffer overflow might have been caused in the + router process by a specially crafted request, potentially resulting + in a segmentation fault or other unspecified behavior + (CVE-2019-7401). + + *) Bugfix: install of Go module failed without prior building of Unit + daemon; the bug had appeared in 1.7. + + +Changes with Unit 1.7 20 Dec 2018 + + *) Change: now rpath is set in Ruby module only if the library was not + found in default search paths; this allows to meet packaging + restrictions on some systems. + + *) Bugfix: "disable_functions" and "disable_classes" PHP options set via + Control API did not work. + + *) Bugfix: Promises on request data in Node.js were not triggered. + + *) Bugfix: various compatibility issues with Node.js applications. + + *) Bugfix: a segmentation fault occurred in Node.js module if + application tried to read request body after request.end() was + called. + + *) Bugfix: a segmentation fault occurred in Node.js module if + application attempted to send header twice. + + *) Bugfix: names of response header fields in Node.js module were + erroneously treated as case-sensitive. + + *) Bugfix: uncatched exceptions in Node.js were not logged. + + *) Bugfix: global install of Node.js module from sources was broken on + some systems; the bug had appeared in 1.6. + + *) Bugfix: traceback for exceptions during initialization of Python + applications might not be logged. + + *) Bugfix: PHP module build failed if PHP interpreter was built with + thread safety enabled. + + +Changes with Unit 1.6 15 Nov 2018 + + *) Change: "make install" now installs Node.js module as well if it was + configured. + + *) Feature: "--local" ./configure option to install Node.js module + locally. + + *) Bugfix: Node.js module might have crashed due to broken reference + counting. + + *) Bugfix: asynchronous operations in Node.js might not have worked. + + *) Bugfix: various compatibility issues with Node.js applications. + + *) Bugfix: "freed pointer is out of pool" alerts might have appeared in + log. + + *) Bugfix: module discovery did not work on 64-bit big-endian systems + like IBM/S390x. + + +Changes with Unit 1.5 25 Oct 2018 + + *) Change: the "type" of application object for Go was changed to + "external". + + *) Feature: initial version of Node.js package with basic HTTP + request-response support. + + *) Feature: compatibility with LibreSSL. + + *) Feature: --libdir and --incdir ./configure options to install libunit + headers and static library. + + *) Bugfix: connection might be closed prematurely while sending + response; the bug had appeared in 1.3. + + *) Bugfix: application processes might have stopped handling requests, + producing "last message send failed: Resource temporarily + unavailable" alerts in log; the bug had appeared in 1.4. + + *) Bugfix: Go applications did not work when Unit was built with musl C + library. + + +Changes with Unit 1.4 20 Sep 2018 + + *) Change: the control API maps the configuration object only at + "/config/". + + *) Feature: TLS support for client connections. + + *) Feature: TLS certificates storage control API. + + *) Feature: Unit library (libunit) to streamline language module + integration. + + *) Feature: "408 Request Timeout" responses while closing HTTP + keep-alive connections. + + *) Feature: improvements in OpenBSD support. Thanks to David Carlier. + + *) Bugfix: a segmentation fault might have occurred after + reconfiguration. + + *) Bugfix: building on systems with non-default locale might be broken. + + *) Bugfix: "header_read_timeout" might not work properly. + + *) Bugfix: header fields values with non-ASCII bytes might be handled + incorrectly in Python 3 module. + + +Changes with Unit 1.3 13 Jul 2018 + + *) Change: UTF-8 characters are now allowed in request header field + values. + + *) Feature: configuration of the request body size limit. + + *) Feature: configuration of various HTTP connection timeouts. + + *) Feature: Ruby module now automatically uses Bundler where possible. + + *) Feature: http.Flusher interface in Go module. + + *) Bugfix: various issues in HTTP connection errors handling. + + *) Bugfix: requests with body data might be handled incorrectly in PHP + module. + + *) Bugfix: individual PHP configuration options specified via control + API were reset to previous values after the first request in + application process. + + +Changes with Unit 1.2 07 Jun 2018 + + *) Feature: configuration of environment variables for application + processes. + + *) Feature: customization of php.ini path. + + *) Feature: setting of individual PHP configuration options. + + *) Feature: configuration of execution arguments for Go applications. + + *) Bugfix: keep-alive connections might hang after reconfiguration. + + +Changes with Unit 1.1 26 Apr 2018 + + *) Bugfix: Python applications that use the write() callable did not + work. + + *) Bugfix: virtual environments created with Python 3.3 or above might + not have worked. + + *) Bugfix: the request.Read() function in Go applications did not + produce EOF when the whole body was read. + + *) Bugfix: a segmentation fault might have occurred while access log + reopening. + + *) Bugfix: in parsing of IPv6 control socket addresses. + + *) Bugfix: loading of application modules was broken on OpenBSD. + + *) Bugfix: a segmentation fault might have occurred when there were two + modules with the same type and version; the bug had appeared in 1.0. + + *) Bugfix: alerts "freed pointer points to non-freeble page" might have + appeared in log on 32-bit platforms. + + +Changes with Unit 1.0 12 Apr 2018 + + *) Change: configuration object moved into "/config/" path. + + *) Feature: basic access logging. + + *) Bugfix: 503 error occurred if Go application did not write response + header or body. + + *) Bugfix: Ruby applications that use encoding conversions might not + have worked. + + *) Bugfix: various stability issues. + + +Changes with Unit 0.7 22 Mar 2018 + + *) Feature: Ruby application module. + + *) Bugfix: in discovering modules. + + *) Bugfix: various race conditions on reconfiguration and during + shutting down. + + *) Bugfix: tabs and trailing spaces were not allowed in header fields + values. + + *) Bugfix: a segmentation fault occurred in Python module if + start_response() was called outside of WSGI callable. + + *) Bugfix: a segmentation fault might have occurred in PHP module if + there was an error while initialization. + + +Changes with Unit 0.6 09 Feb 2018 + + *) Bugfix: the main process died when the "type" application option + contained version; the bug had appeared in 0.5. + + +Changes with Unit 0.5 08 Feb 2018 + + *) Change: the "workers" application option was removed, the "processes" + application option should be used instead. + + *) Feature: the "processes" application option with prefork and dynamic + process management support. + + *) Feature: Perl application module. + + *) Bugfix: in reading client request body; the bug had appeared in 0.3. + + *) Bugfix: some Python applications might not have worked due to missing + "wsgi.errors" environ variable. + + *) Bugfix: HTTP chunked responses might be encoded incorrectly on 32-bit + platforms. + + *) Bugfix: infinite looping in HTTP parser. + + *) Bugfix: segmentation fault in router. + + +Changes with Unit 0.4 15 Jan 2018 + + *) Feature: compatibility with DragonFly BSD. + + *) Feature: "configure php --lib-static" option. + + *) Bugfix: HTTP request body was not passed to application; the bug had + appeared in 0.3. + + *) Bugfix: HTTP large header buffers allocation and deallocation fixed; + the bug had appeared in 0.3. + + *) Bugfix: some PHP applications might not have worked with relative + "root" path. + + +Changes with Unit 0.3 28 Dec 2017 + + *) Change: the Go package name changed to "nginx/unit". + + *) Change: in the "limits.timeout" application option: application start + time and time in queue now are not accounted. + + *) Feature: the "limits.requests" application option. + + *) Feature: application request processing latency optimization. + + *) Feature: HTTP keep-alive connections support. + + *) Feature: the "home" Python virtual environment configuration option. + + *) Feature: Python atexit hook support. + + *) Feature: various Go package improvements. + + *) Bugfix: various crashes fixed. + + +Changes with Unit 0.2 19 Oct 2017 + + *) Feature: configuration persistence. + + *) Feature: improved handling of configuration errors. + + *) Feature: application "timeout" property. + + *) Bugfix: POST request for PHP were handled incorrectly. + + *) Bugfix: the router exited abnormally if all listeners had been + deleted. + + *) Bugfix: the router crashed under load. + + *) Bugfix: memory leak in the router. + + +Changes with Unit 0.1 06 Sep 2017 + + *) First public release. +``` diff --git a/content/unit/community.md b/content/unit/community.md new file mode 100644 index 000000000..a61629678 --- /dev/null +++ b/content/unit/community.md @@ -0,0 +1,64 @@ +--- +title: Community +weight: 1200 +toc: true +--- + + + + +The [Discussions section](https://github.com/nginx/unit/discussions) of the +Unit repo is the main place for discussing any topics related to the NGINX Unit project. + +Here you can share your ideas, ask questions, and discuss any issues both about +using Unit and contributing to Unit. + +## Reporting bugs and issues + +- You can report issues and bugs on the + [Issues](https://github.com/nginx/unit/issues) section of the Unit repo. +- If you have found a fix or want to suggest a change to the code, + you can open a [pull request](https://github.com/nginx/unit/pulls) + on the Unit repo. + +## Reporting security concerns + +Please report any security-related issues concerning Unit to +[security-alert@nginx.org](mailto:security-alert@nginx.org). +For our mutual convenience, specifically mention **NGINX Unit** in the subject and, if possible, provide a [CVSS score](https://www.first.org/cvss/). + +## Contributing + +We welcome contributions to the NGINX Unit project. + +If you have a feature request or want to suggest an improvement, please submit a pull request on the [unit repo](https://github.com/nginx/unit/pulls). + +Please review the [Contributing Guidelines](https://github.com/nginx/unit/blob/master/CONTRIBUTING.md) before submitting your pull request. + +You can also ask questions and discuss your suggestions for Unit by: + +- Visiting the [Discussions section](https://github.com/nginx/unit/discussions) + of the Unit repo. +- Subscribing to the [unit@nginx.org mailing list](https://mailman.nginx.org/mailman3/lists/unit.nginx.org/) + and posting your ideas there. + +## Documentation + +If you are interested in contributing to the **Unit documentation**, +or find a typo or an error in the docs, you can submit a pull request on the +[unit-docs repo](https://github.com/nginx/documentation/pulls). + +## Source Code + +The source code for the NGINX Unit project is available on GitHub. + +{{}} + +| Repository | Description | +|------------|------------| +| [github.com/nginx/unit](https://github.com/nginx/unit) | The repository for the NGINX Unit project source code. | +| [github.com/nginx/documentation`](https://github.com/nginx/documentation) | The source code for the NGINX Unit documentation you are currently reading. | +| [`github.com/nginx/unit/tree/master/tools`](https://github.com/nginx/unit/tree/master/tools) | Source code for the NGINX Unit command-line tools. | + +{{}} + diff --git a/content/unit/community.md:Zone.Identifier b/content/unit/community.md:Zone.Identifier new file mode 100644 index 000000000..e69de29bb diff --git a/content/unit/configuration.md b/content/unit/configuration.md new file mode 100644 index 000000000..cf7487c2b --- /dev/null +++ b/content/unit/configuration.md @@ -0,0 +1,4155 @@ +--- +title: Configuration +weight: 600 +toc: true +--- + +{{}} +The commands in this document starting with a hash (#) must be run as root or +with superuser privileges. +{{}} + +The **/config** section of the +[control API]({{< relref "/unit/controlapi.md#configuration-api" >}}) +handles Unit's general configuration with entities such as +[listeners]({{< relref "/unit/configuration.md#configuration-listeners" >}}), +[routes]({{< relref "/unit/configuration.md#configuration-routes" >}}), +[applications]({{< relref "/unit/configuration.md#configuration-applications" >}}), +or +[upstreams]({{< relref "/unit/configuration.md#configuration-upstreams" >}}). + +## Listeners {#configuration-listeners} + +To accept requests, +add a listener object in the **config/listeners** API section; +the object's name can be: + +- A unique IP socket: + **127.0.0.1:80**, **\[::1\]:8080** +- A wildcard that matches any host IPs on the port: + **\*:80** +- On Linux-based systems, [abstract UNIX sockets](https://man7.org/linux/man-pages/man7/unix.7.html) +can be used as well: **unix:@abstract_socket**. + +{{< note >}} +Also on Linux-based systems, wildcard listeners can't overlap with other listeners +on the same port due to rules imposed by the kernel. +For example, **\*:8080** conflicts with **127.0.0.1:8080**; +in particular, this means **\*:8080** can't be *immediately* replaced +by **127.0.0.1:8080** (or vice versa) without deleting it first. +{{< /note >}} + +Unit dispatches the requests it receives to destinations referenced by listeners. +You can plug several listeners into one destination or use a single listener +and hot-swap it between multiple destinations. + +Available listener options: + +{{}} +| Option | Description | +|------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **pass** (required) | Destination to which the listener passes incoming requests. Possible alternatives:

- [Application](< relref "/unit/configuration.md#configuration-applications">): **applications/qwk2mart**

- [PHP target]({{< relref "/unit/configuration.md#configuration-php-targets" >}}) or [Python target]({{< relref "/unit/configuration.md#configuration-python-targets" >}}): **applications/myapp/section**

- [Route]({{< relref "/unit/configuration.md#configuration-routes" >}}): **routes/route66**, **routes**

- [Upstream]({{< relref "/unit/configuration.md#configuration-upstreams" >}}): **upstreams/rr-lb**

The value is [variable]({{< relref "/unit/configuration.md#configuration-variables-native" >}})-interpolated; if it matches no configuration entities after interpolation, a 404 "Not Found" response is returned. | +| **forwarded** | Object; configures client IP address and protocol [replacement]({{< relref "/unit/configuration.md#configuration-listeners-forwarded" >}}). | +| **tls** | Object; defines SSL/TLS [settings]({{< relref "/unit/configuration.md#configuration-listeners-ssl" >}}). | +| **backlog** | Integer; controls the 'backlog' parameter to the *listen(2)* system-call. This essentially limits the number of pending connections waiting to be accepted. The default varies by system.

On Linux, FreeBSD, OpenBSD, and macOS, the default is **-1** which means use the OS default. For example, on Linux since 5.4, this is **4096** (previously **128**) and on FreeBSD it's **128**. On other systems, the default is **511**.

NOTE: Whatever limit you set here will be limited by the OS system-wide sysctl. For example, on Linux that is `net.core.somaxconn` and on BSD it's `kern.ipc.somaxconn`. *(since 1.33.0)* | +{{
}} + +Here, a local listener accepts requests at port 8300 and passes them to the **blogs** app +[target]({{< relref "/unit/configuration.md#configuration-php-targets" >}}) +identified by the **uri** [variable]({{< relref "/unit/configuration.md#configuration-variables-native" >}}). +The wildcard listener on port 8400 relays requests at any host IPs to the **main** +[route]({{< relref "/unit/configuration.md#configuration-routes" >}}): + +```json +{ + "127.0.0.1:8300": { + "pass": "applications/blogs$uri" + }, + + "*:8400": { + "pass": "routes/main" + } +} +``` + +Also, **pass** values can be +[percent encoded](https://datatracker.ietf.org/doc/html/rfc3986#section-2.1). +For example, you can escape slashes in entity names: + +```json +{ + "listeners": { + "*:80": { + "pass": "routes/slashes%2Fin%2Froute%2Fname" + } + }, + + "routes": { + "slashes/in/route/name": [] + } +} +``` + +### SSL/TLS configuration {#configuration-listeners-ssl} + +The **tls** object provides the following options: + +{{}} +| Option | Description | +|------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **certificate** (required) | String or an array of strings; refers to one or more [certificate bundles]({{< relref "/unit/certificates.md">}}) uploaded earlier, enabling secure communication via the listener. | +| **conf_commands** | Object; defines the OpenSSL [configuration commands](https://www.openssl.org/docs/manmaster/man3/SSL_CONF_cmd.html) to be set for the listener.

To have this option, Unit must be built and run with OpenSSL 1.0.2 or later.

Also, make sure your OpenSSL version supports the commands set by this option. | +| **session** | Object; configures the TLS session cache and tickets for the listener. | +{{
}} + +To use a certificate bundle you +[uploaded]({{< relref "/unit/certificates.md#configuration-ssl" >}}) +earlier, +name it in the **certificate** option of the **tls** object: + +```json +{ + "listeners": { + "127.0.0.1:443": { + "pass": "applications/wsgi-app", + "tls": { + "certificate": "bundle", + "comment_certificate": "Certificate bundle name" + } + } + } +} +``` + +
+Configuring multiple bundles + +Since version 1.23.0, Unit supports configuring +[Server Name Indication (SNI)](https://datatracker.ietf.org/doc/html/rfc6066#section-3) +on a listener by supplying an array of certificate bundle names for the +**certificate** option value: + + ```json + { + "*:443": { + "pass": "routes", + "tls": { + "certificate": [ + "bundleA", + "bundleB", + "bundleC" + ] + } + } + } + ``` + +- If the connecting client sends a server name, + Unit responds with the matching certificate bundle. +- If the name matches several bundles, + exact matches have priority over wildcards; + if this doesn't help, the one listed first is used. +- If there's no match or no server name was sent, Unit uses + the first bundle on the list. +
+ +To set custom OpenSSL +[configuration commands](https://www.openssl.org/docs/manmaster/man3/SSL_CONF_cmd.html) +for a listener, +use the **conf_commands** object in **tls**: + +```json +{ + "tls": { + "certificate": "bundle", + "comment_certificate": "Certificate bundle name", + "conf_commands": { + "ciphersuites": "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256", + "comment_ciphersuites": "Mandatory cipher suites as per RFC8446, section 9.1", + "minprotocol": "TLSv1.3" + } + } +} +``` + + + +The **session** object in **tls** +configures the session settings of the listener: + +{{}} +| Option | Description | +|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **cache_size** | Integer; sets the number of sessions in the TLS session cache.

The default is **0** (caching is disabled). | +| **tickets** | Boolean, string, or an array of strings; configures TLS session tickets.

The default is **false** (tickets are disabled). | +| **timeout** | Integer; sets the session timeout for the TLS session cache.

When a new session is created, its lifetime derives from current time and **timeout**. If a cached session is requested past its lifetime, it is not reused.

The default is **300** (5 minutes). | +{{
}} + +#### Example: + +```json +{ + "tls": { + "certificate": "bundle", + "comment_certificate": "Certificate bundle name", + "session": { + "cache_size": 10240, + "timeout": 60, + "tickets": [ + "k5qMHi7IMC7ktrPY3lZ+sL0Zm8oC0yz6re+y/zCj0H0/sGZ7yPBwGcb77i5vw6vCx8vsQDyuvmFb6PZbf03Auj/cs5IHDTYkKIcfbwz6zSU=", + "3Cy+xMFsCjAek3TvXQNmCyfXCnFNAcAOyH5xtEaxvrvyyCS8PJnjOiq2t4Rtf/Gq", + "8dUI0x3LRnxfN0miaYla46LFslJJiBDNdFiPJdqr37mYQVIzOWr+ROhyb1hpmg/QCM2qkIEWJfrJX3I+rwm0t0p4EGdEVOXQj7Z8vHFcbiA=" + ] + } + } +} +``` + +The **tickets** option works as follows: + +- Boolean values enable or disable session tickets; + with **true**, a random session ticket key is used: + + ```json + { + "session": { + "tickets": true, + "comment_tickets": "Enables session tickets" + } + } + ``` + +- A string enables tickets and explicitly sets the session ticket key: + + ```json + { + "session": { + "tickets": "IAMkP16P8OBuqsijSDGKTpmxrzfFNPP4EdRovXH2mqstXsodPC6MqIce5NlMzHLP", + "comment_tickets": "Enables session tickets, sets a single session ticket key" + } + } + ``` + + This enables ticket reuse in scenarios + where the key is shared between individual servers. + +
+ Shared key rotation + If multiple Unit instances need to recognize tickets + issued by each other + (for example, when running behind a load balancer), + they should share session ticket keys. + + For example, + consider three SSH-enabled servers named `unit*.example.com`, + with Unit installed and identical `:443` listeners configured. + To configure a single set of three initial keys on each server: + + ```console + SERVERS="unit1.example.com + unit2.example.com + unit3.example.com" + + KEY1=$(openssl rand -base64 48) + KEY2=$(openssl rand -base64 48) + KEY3=$(openssl rand -base64 48) + + for SRV in $SERVERS; do + ssh root@$SRV \ # Assuming Unit runs as root on each server + curl -X PUT -d '["$KEY1", "$KEY2", "$KEY3"]' --unix-socket /path/to/control.unit.sock \ # Path to the remote control socket + 'http://localhost/config/listeners/*:443/tls/session/tickets/' + done + ``` + + To add a new key on each server: + + ```shell + NEWKEY=$(openssl rand -base64 48) + + for SRV in $SERVERS; do + ssh root@$SRV \ # Assuming Unit runs as root on each server + curl -X POST -d "\"$NEWKEY\"" --unix-socket /path/to/control.unit.sock \ # Path to the remote control socket + 'http://localhost/config/listeners/*:443/tls/session/tickets/' + done + ``` + + To delete the oldest key after adding the new one: + + ```shell + for SRV in $SERVERS; do + ssh root@$SRV \ # Assuming Unit runs as root on each server + curl -X DELETE --unix-socket /path/to/control.unit.sock \ # Path to the remote control socket + 'http://localhost/config/listeners/*:443/tls/session/tickets/0' + done + ``` + + This scheme enables safely sharing session ticket keys + between individual Unit instances. + --- + +
+ + Unit supports AES256 (80-byte keys) or AES128 (48-byte keys); + the bytes should be encoded in Base64: + + ```console + $ openssl rand -base64 48 + + LoYjFVxpUFFOj4TzGkr5MsSIRMjhuh8RCsVvtIJiQ12FGhn0nhvvQsEND1+OugQ7 + ``` + + ```console + $ openssl rand -base64 80 + + GQczhdXawyhTrWrtOXI7l3YYUY98PrFYzjGhBbiQsAWgaxm+mbkm4MmZZpDw0tkK + YTqYWxofDtDC4VBznbBwTJTCgYkJXknJc4Gk2zqD1YA= + ``` + +- An array of strings just like the one above: + + ```json + { + "session": { + "tickets": [ + "IAMkP16P8OBuqsijSDGKTpmxrzfFNPP4EdRovXH2mqstXsodPC6MqIce5NlMzHLP", + "Ax4bv/JvMWoQG+BfH0feeM9Qb32wSaVVKOj1+1hmyU8ORMPHnf3Tio8gLkqm2ifC" + ], + "comment_tickets": "Enables session tickets, sets two session ticket keys" + } + } + ``` + + Unit uses these keys to decrypt the tickets submitted by clients + who want to recover their session state; + the last key is always used to create new session tickets + and update the tickets created earlier. + + {{< note >}} + An empty array effectively disables session tickets, + same as setting **tickets** to **false**. + {{< /note >}} + +### IP, protocol forwarding {#configuration-listeners-forwarded} + +Unit enables the **X-Forwarded-\*** header fields +with the **forwarded** object and its options: + +{{}} +| Option | Description | +|---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **source** (required) | String or an array of strings; defines [address-based patterns]({{< relref "/unit/configuration.md#configuration-routes-matching-patterns" >}}) for trusted addresses. Replacement occurs only if the source IP of the request is a [match](configuration-routes-matching-resolution).

A special case here is the **"unix"** string; it matches *any* UNIX domain sockets. | +| **client_ip** | String; names the HTTP header fields to expect in the request. They should use the [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For>) format where the value is a comma- or space-separated list of IPv4s or IPv6s. | +| **protocol** | String; defines the relevant HTTP header field to look for in the request. Unit expects it to follow the [X-Forwarded-Proto](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto>) notation, with the field value itself being **http**, **https**, or **on**. | +| **recursive** | Boolean; controls how the **client_ip** fields are traversed.

The default is **false** (no recursion). | +{{
}} + +{{< note >}} +Besides **source**, the **forwarded** object must specify +**client_ip**, **protocol**, or both. +{{< /note >}} + +{{< warning >}} +Before version 1.28.0, Unit provided the **client_ip** object +that evolved into **forwarded**: + +{{}} +| **client_ip** (pre-1.28.0) | **forwarded** (post-1.28.0) | +|----------------------------|-----------------------------| +| **header** | **client_ip** | +| **recursive** | **recursive** | +| **source** | **source** | +| N/A | **protocol** | +{{}} + +This old syntax still works but will be eventually deprecated, +though not earlier than version 1.30.0. +{{< /warning >}} + +When **forwarded** is set, Unit respects the appropriate header fields +only if the immediate source IP of the request +[matches]({{< relref "/unit/configuration.md#configuration-routes-matching-resolution" >}}) +the **source** option. Mind that it can use not only subnets but any +[address-based patterns]({{< relref "/unit/configuration.md#configuration-routes-matching-patterns" >}}): + +```json +{ + "forwarded": { + "client_ip": "X-Forwarded-For", + "source": [ + "198.51.100.1-198.51.100.254", + "comment_source_1": "Ranges can be specified explicitly", + "!198.51.100.128/26", + "comment_source_2": "Negation rejects any addresses originating here", + "203.0.113.195", + "comment_source_3": "Individual addresses are supported as well" + ] + } +} +``` + +#### Overwriting protocol scheme {#configuration-listeners-xfp} + +The **protocol** option enables overwriting the incoming request's protocol scheme +based on the header field it specifies. Consider the following **forwarded** configuration: + +```json +{ + "forwarded": { + "protocol": "X-Forwarded-Proto", + "source": [ + "192.0.2.0/24", + "198.51.100.0/24" + ] + } +} +``` + +Suppose a request arrives with the following header field: + +```none +X-Forwarded-Proto: https +``` + +If the source IP of the request matches **source**, +Unit handles this request as an **https** one. + +#### Originating IP identification {#configuration-listeners-xff} + +Unit also supports identifying the clients' originating IPs +with the **client_ip** option: + +```json +{ + "forwarded": { + "client_ip": "X-Forwarded-For", + "recursive": false, + "source": [ + "192.0.2.0/24", + "198.51.100.0/24" + ] + } +} +``` + +Suppose a request arrives with the following header fields: + +```none +X-Forwarded-For: 192.0.2.18 +X-Forwarded-For: 203.0.113.195, 198.51.100.178 +``` + +If **recursive** is set to **false** (default), Unit chooses the *rightmost* +address of the *last* field named in **client_ip** as the originating IP of the +request. +In the example, it's set to 198.51.100.178 for requests from 192.0.2.0/24 or 198.51.100.0/24. + +If **recursive** is set to **true**, Unit inspects all **client_ip** fields in reverse order. +Each is traversed from right to left until the first non-trusted address; +if found, it's chosen as the originating IP. In the previous example with **"recursive": true**, +the client IP would be set to 203.0.113.195 because 198.51.100.178 is also trusted; +this simplifies working behind multiple reverse proxies. + +## Routes {#configuration-routes} + +The **config/routes** configuration entity defines internal request routing. +It receives requests +from [listeners]({{< relref "/unit/configuration.md#configuration-listeners" >}}) +and filters them through +[sets of conditions]({{< relref "/unit/configuration.md#configuration-routes-matching" >}}) +to be processed by +[apps]({{< relref "/unit/configuration.md#configuration-applications" >}}), +[proxied]({{< relref "/unit/configuration.md#configuration-proxy" >}}) +to external servers or +[load-balanced]({{< relref "/unit/configuration.md#configuration-upstreams" >}}) +between them, +served with +[static content]({{< relref "/unit/configuration.md#configuration-static" >}}), +[answered]({{< relref "/unit/configuration.md#configuration-return" >}}) +with arbitrary status codes, or +[redirected]({{< relref "/unit/configuration.md#configuration-return" >}}). + +In its simplest form, **routes** is an array that defines a single route: + +{ + "listeners": { + "*:8300": { + "pass": "routes" + } + }, + "routes": [], + "comment_routes": { + "hint": "Array-mode routes, simply referred to as 'routes'", + "placeholder": "Any acceptable route array may go here; see the 'Route Steps' section for details" + } +} +``` + +Another form is an object with one or more named route arrays as members: + +```json +{ + "listeners": { + "*:8300": { + "pass": "routes/main" + } + }, + "routes": { + "main": { + "value": [ + "..." + ], + "comment": "Any acceptable route array may go here; see the 'Route Steps' section for details" + }, + "comment_main": "Named route, referred to as 'routes/main'", + "route66": { + "value": [ + "..." + ], + "comment": "Any acceptable route array may go here; see the 'Route Steps' section for details" + }, + "comment_route66": "Named route, referred to as 'routes/route66'" + } +} +``` + +### Route steps {#configuration-routes-step} + +A +[route]({{< relref "/unit/configuration.md#configuration-routes" >}}) +array contains step objects as elements; they accept the following options: + +{{}} + +| Option | Description | +|---------------|--------------------------------------------------------------------------------------------------------------------| +| **action** (required) | Object; defines how matching requests are [handled]({{< relref "/unit/configuration.md#configuration-routes-action" >}}). | +| **match** | Object; defines the step's [conditions]({{< relref "/unit/configuration.md#configuration-routes-matching" >}}). | +{{}} + +A request passed to a route traverses its steps sequentially: + +- If all **match** conditions in a step are met, the traversal ends + and the step's **action** is performed. +- If a step's condition isn't met, Unit proceeds to the next step of the route. +- If no steps of the route match, a 404 "Not Found" response is returned. + +{{< warning >}} +If a step omits the **match** option, its **action** occurs automatically. +Thus, use no more than one such step per route, always placing it last to +avoid potential routing issues. +{{< /warning >}} + +
+Ad-Hoc examples +A basic one: + +```json +{ + "routes": [ + { + "match": { + "host": "example.com", + "scheme": "https", + "uri": "/php/*" + }, + + "action": { + "pass": "applications/php_version" + } + }, + { + "action": { + "share": "/www/static_version$uri" + } + } + ] +} +``` + +This route passes all HTTPS requests to the **/php/** subsection of the +**example.com** website to the **php_version** app. +All other requests are served with static content from the **/www/static_version/** +directory. If there's no matching content,a 404 "Not Found" response is returned. + +A more elaborate example with chained routes and proxying: + +```json +{ + "routes": { + "main": [ + { + "match": { + "scheme": "http" + }, + + "action": { + "pass": "routes/http_site" + } + }, + { + "match": { + "host": "blog.example.com" + }, + + "action": { + "pass": "applications/blog" + } + }, + { + "match": { + "uri": [ + "*.css", + "*.jpg", + "*.js" + ] + }, + + "action": { + "share": "/www/static$uri" + } + } + ], + + "http_site": [ + { + "match": { + "uri": "/v2_site/*" + }, + + "action": { + "pass": "applications/v2_site" + } + }, + { + "action": { + "proxy": "http://127.0.0.1:9000" + } + } + ] + } +} +``` + +Here, a route called **main** is explicitly defined, so **routes** is an object +instead of an array. The first step of the route passes all HTTP requests +to the **http_site** app. The second step passes all requests that target +**blog.example.com** to the **blog** app. The final step serves requests for +certain file types from the **/www/static/** directory. +If no steps match, a 404 "Not Found" response is returned. + +--- +
+ +### Matching conditions {#configuration-routes-matching} + +Conditions in a +[route step]({{< relref "/unit/configuration.md#configuration-routes-step" >}})'s +**match** object +define patterns to be compared to the request's properties: + +{{}} +| Property | Patterns Are Matched Against | Case | +|------------|------------------------------|------| +| **arguments** | Arguments supplied with the request's [query string](https://datatracker.ietf.org/doc/html/rfc3986#section-3.4); these names and value pairs are [percent decoded](https://datatracker.ietf.org/doc/html/rfc3986#section-2.1), with plus signs (**+**) replaced by spaces. | Yes | +| **cookies** | Cookies supplied with the request. | Yes | +| **destination** | Target IP address and optional port of the request. | No | +| **headers** | [Header fields](https://datatracker.ietf.org/doc/html/rfc9110#section-6.3) supplied with the request. | No | +| **host** | **Host** [header field](https://datatracker.ietf.org/doc/html/rfc9110#section-7.2), converted to lower case and normalized by removing the port number and the trailing period (if any). | No | +| **method** | [Method](https://datatracker.ietf.org/doc/html/rfc7231#section-4) from the request line, uppercased. | No | +| **query** | [Query string](https://datatracker.ietf.org/doc/html/rfc3986#section-3.4), [percent decoded](https://datatracker.ietf.org/doc/html/rfc3986#section-2.1), with plus signs (**+**) replaced by spaces. | Yes | +| **scheme** | URI [scheme](https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml). Accepts only two patterns, either **http** or **https**. | No | +| **source** | Source IP address and optional port of the request. | No | +| **uri** | [Request target](https://datatracker.ietf.org/doc/html/rfc9110#target.resource), [percent decoded](https://datatracker.ietf.org/doc/html/rfc3986#section-2.1) and normalized by removing the [query string](https://datatracker.ietf.org/doc/html/rfc3986#section-3.4) and resolving [relative references](https://datatracker.ietf.org/doc/html/rfc3986#section-4.2) ("." and "..", "//"). | Yes | +{{}} + +
+Arguments vs. query + +Both **arguments** and **query** operate on the query string, +but **query** is matched against the entire string whereas **arguments** considers +only the key-value pairs such as **key1=4861&key2=a4f3**. + +Use **arguments** to define conditions based on key-value pairs in the query string: + +```json +"arguments": { + "key1": "4861", + "key2": "a4f3" +} +``` + +Argument order is irrelevant: **key1=4861&key2=a4f3** and **key2=a4f3&key1=4861** +are considered the same. Also, multiple occurrences of an argument must all match, +so **key=4861&key=a4f3** matches this: + +```json +"arguments":{ + "key": "*" +} +``` + +But not this: + +```json +"arguments":{ + "key": "a*" +} +``` + +To the contrary, use **query** if your conditions concern query strings +but don't rely on key-value pairs: + +```json +"query": [ + "utf8", + "utf16" +] +``` + +This only matches query strings of the form +**https://example.com?utf8** or **https://example.com?utf16**. + +--- +
+ +#### Match resolution {#configuration-routes-matching-resolution} + +To be a match, +the property must meet two requirements: + +- If there are patterns without negation + (the **!** prefix), + at least one of them matches the property value. +- No negated patterns match the property value. + +
+Formal explanation + +This logic can be described with set operations. +Suppose set *U* comprises all possible values of a property; +set *P* comprises strings that match any patterns without negation; +set *N* comprises strings that match any negation-based patterns. +In this scheme, +the matching set is: + +*U* ∩ *P* \\ *N* if *P* ≠ ∅ + +*U* \\ *N* if *P* = ∅ + +--- +
+ +Here, the URI of the request must fit **pattern3**, +but must not match **pattern1** or **pattern2**: + +```json +{ + "match": { + "uri": [ + "!pattern1", + "!pattern2", + "pattern3" + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +Additionally, special matching logic applies to **arguments**, **cookies**, +and **headers**. Each of these can be either a single object that lists +custom-named properties and their patterns or an array of such objects. + +To match a single object, the request must match *all* properties named in the object. +To match an object array, it's enough to match *any* single one of its item objects. +The following condition matches only if the request arguments include **arg1** and **arg2**, +and both match their patterns: + +```json +{ + "match": { + "arguments": { + "arg1": "pattern", + "arg2": "pattern" + } + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +With an object array, the condition matches if the request's arguments include +**arg1** or **arg2** (or both) that matches the respective pattern: + +```json +{ + "match": { + "arguments": [ + { + "arg1": "pattern" + }, + { + "arg2": "pattern" + } + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +The following example combines all matching types. Here, **host**, **method**, **uri**, +**arg1** *and* **arg2**, either **cookie1** or **cookie2**, and either **header1** +or **header2** *and* **header3** must be matched for the **action** to be taken +(**host & method & uri & arg1 & arg2 & (cookie1 | cookie2) +& (header1 | (header2 & header3))**): + +```json +{ + "match": { + "host": "pattern", + "method": "!pattern", + "uri": [ + "pattern", + "!pattern" + ], + + "arguments": { + "arg1": "pattern", + "arg2": "!pattern" + }, + + "cookies": [ + { + "cookie1": "pattern", + }, + { + "cookie2": "pattern", + } + ], + + "headers": [ + { + "header1": "pattern", + }, + { + "header2": "pattern", + "header3": "pattern" + } + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +
+Object pattern examples + +This requires **mode=strict** and any **access** argument other than **access=full** +in the URI query: + +```json +{ + "match": { + "arguments": { + "mode": "strict", + "access": "!full" + } + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +This matches requests that either use **gzip** and identify as **Mozilla/5.0** +or list **curl** as the user agent: + +```json +{ + "match": { + "headers": [ + { + "Accept-Encoding": "*gzip*", + "User-Agent": "Mozilla/5.0*" + }, + { + "User-Agent": "curl*" + } + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +--- +
+ +#### Pattern syntax {#configuration-routes-matching-patterns} + +Individual patterns can be address-based (**source** and **destination**) +or string-based (other properties). + +String-based patterns must match the property to a character; wildcards or +regexes (Available only if Unit was built with PCRE support enabled, +which is the default for the official packages) modify this behavior: + +- A wildcard pattern may contain any combination of wildcards + (**\***), + each standing for an arbitrary number of characters: + **How\*s\*that\*to\*you**. + + + +- A regex pattern starts with a tilde + (**~**): + **~^\\d+\\.\\d+\\.\\d+\\.\\d+** + (escaping backslashes is a + [JSON requirement](https://www.json.org/json-en.html)). + The regexes are + [PCRE](https://www.pcre.org/current/doc/html/pcre2syntax.html)-flavored. + +
+Percent encoding in arguments, query, and URI patterns + + +Argument names, non-regex string patterns in **arguments**, +**query**, and **uri** can be `percent encoded +(https://datatracker.ietf.org/doc/html/rfc3986#section-2.1) +to mask special characters (**!** is **%21**, **~** is **%7E**, +***** is **%2A**, **%** is **%25**) or even target single bytes. +For example, you can select diacritics such as Ö or Å by their starting byte +**0xC3** in UTF-8: + +```json +{ + "match": { + "arguments": { + "word": "*%C3*" + } + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +Unit decodes such strings and matches them against respective request entities, +decoding these as well: + +```json +{ + "routes": [ + { + "match": { + "query": "`%7Efuzzy word search" + }, + + "action": { + "return": 200 + } + } + ] +} +``` + +This condition matches the following percent-encoded request: + +```console +$ curl http://127.0.0.1/?~fuzzy%20word%20search -v + + > GET /?~fuzzy%20word%20search HTTP/1.1 + ... + < HTTP/1.1 200 OK + ... +``` + +Note that the encoded spaces (**%20**) in the request match their unencoded +counterparts in the pattern; vice versa, the encoded tilde (**%7E**) +in the condition matches **~** in the request. + +--- +
+ +
+String pattern examples + + + +A regular expression that matches any **.php** files in the **/data/www/** +directory and its subdirectories. Note the backslashes; escaping is a +JSON-specific requirement: + +```json +{ + "match": { + "uri": "~^/data/www/.*\\.php(/.*)?$" + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +Only subdomains of **example.com** match: + +```json +{ + "match": { + "host": "*.example.com" + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +Only requests for **.php** files +located in **/admin/**'s subdirectories +match: + +```json +{ + "match": { + "uri": "/admin/*/*.php" + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +Here, any **eu-** subdomains of **example.com** match except **eu-5.example.com**: + +```json +{ + "match": { + "host": [ + "eu-*.example.com", + "!eu-5.example.com" + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +Any methods match except **HEAD** and **GET**: + +```json +{ + "match": { + "method": [ + "!HEAD", + "!GET" + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +You can also combine certain special characters in a pattern. Here, any URIs match +except the ones containing **/api/**: + +```json +{ + "match": { + "uri": "!*/api/*" + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +Here, URIs of any articles that don't look like **YYYY-MM-DD** dates match. +Again, note the backslashes; they are a JSON requirement: + +```json +{ + "match": { + "uri": [ + "/articles/*", + "!~/articles/\\d{4}-\\d{2}-\\d{2}" + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` +--- + +
+ +Address-based patterns define individual IPv4 +(dot-decimal or +[CIDR](https://datatracker.ietf.org/doc/html/rfc4632)), +IPv6 (hexadecimal or +[CIDR](https://datatracker.ietf.org/doc/html/rfc4291#section-2.3)), +or any +[UNIX domain socket](https://en.wikipedia.org/wiki/Unix_domain_socket) +addresses +that must exactly match the property; +wildcards and ranges modify this behavior: + +- Wildcards + (**\***) + can only match arbitrary IPs + (**\*:\**). +- Ranges + (**-**) + work with both IPs + (in respective notation) + and ports + (**\-\**). + +
+Address-based allow-deny lists + + + +Addresses come in handy when implementing an allow-deny mechanism +with routes, for instance: + +```json +"routes": [ + { + "match": { + "source": [ + "!192.168.1.1", + "!10.1.1.0/16", + "192.168.1.0/24", + "2001:0db8::/32" + ] + }, + + "action": { + "share": "/www/data$uri" + } + } +] +``` + +See +[here]({{< relref "/unit/configuration.md#configuration-routes-matching-resolution" >}}) +for details of pattern resolution order; this corresponds to the following +`nginx` directive: + +```nginx +location / { + deny 10.1.1.0/16; + deny 192.168.1.1; + allow 192.168.1.0/24; + allow 2001:0db8::/32; + deny all; + + root /www/data; +} +``` +--- +
+ +
+ Address pattern examples + + +This uses IPv4-based matching with wildcards and ranges: + +```json +{ + "match": { + "source": [ + "192.0.2.1-192.0.2.200", + "198.51.100.1-198.51.100.200:8000", + "203.0.113.1-203.0.113.200:8080-8090", + "*:80" + ], + + "destination": [ + "192.0.2.0/24", + "198.51.100.0/24:8000", + "203.0.113.0/24:8080-8090", + "*:80" + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +This uses IPv6-based matching with wildcards and ranges: + +```json +{ + "match": { + "source": [ + "2001:0db8::-2001:0db8:aaa9:ffff:ffff:ffff:ffff:ffff", + "[2001:0db8:aaaa::-2001:0db8:bbbb::]:8000", + "[2001:0db8:bbbb::1-2001:0db8:cccc::]:8080-8090", + "*:80" + ], + + "destination": [ + "2001:0db8:cccd::/48", + "[2001:0db8:ccce::/48]:8000", + "[2001:0db8:ccce:ffff::/64]:8080-8090", + "*:80" + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +This matches any of the listed IPv4 or IPv6 addresses: + +```json +{ + "match": { + "destination": [ + "127.0.0.1", + "192.168.0.1", + "::1", + "2001:0db8:1::c0a8:1" + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +Here, any IPs from the range match except **192.0.2.9**: + +```json +{ + "match": { + "source": [ + "192.0.2.1-192.0.2.10", + "!192.0.2.9" + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +This matches any IPs but limits the acceptable ports: + +```json +{ + "match": { + "source": [ + "*:80", + "*:443", + "*:8000-8080" + ] + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` + +This matches any UNIX domain sockets: + +```json +{ + "match": { + "source": "unix" + }, + + "action": { + "pass": "...", + "_comment_pass": "Any acceptable 'pass' value may go here; see the 'Listeners' section for details" + } +} +``` +--- +
+ +### Handling actions {#configuration-routes-action} + +If a request matches all +[conditions]({{< relref "/unit/configuration.md#configuration-routes-matching" >}}) +of a route step +or the step itself omits the **match** object, +Unit handles the request with the respective **action**. +The mutually exclusive **action** types are: + +{{}} + +| Option | Description | Details | +|----------|------------------------------------------------------------------------------------------------------------------|-----------------------------------------| +| **pass** | Destination for the request, identical to a listener's **pass** option. | [Listeners]({{< relref "/unit/configuration.md#configuration-listeners" >}}) | +| **proxy** | Socket address of an HTTP server to where the request is proxied. | [Proxying]({{< relref "/unit/configuration.md#configuration-proxy" >}}) | +| **return** | HTTP status code with a context-dependent redirect location. | [Instant responses, redirects]({{< relref "/unit/configuration.md#configuration-return" >}}) | +| **share** | File paths that serve the request with static content. | [Static files]({{< relref "/unit/configuration.md#configuration-static" >}}) | + +{{}} + + +An additional option is applicable to any of these actions: +{{}} +| Option | Description | Details | +|-------------------|---------------------------------------------------|--------------------------------------------| +| **response_headers** | Updates the header fields of the upcoming response. | [Response headers]({{< relref "/unit/configuration.md#configuration-response-headers" >}}) | +| **rewrite** | Updated the request URI, preserving the query string. | [URI rewrite]({{< relref "/unit/configuration.md#configuration-rewrite" >}}) | +{{}} + +An example: + +```json +{ + "routes": [ + { + "match": { + "uri": [ + "/v1/*", + "/v2/*" + ] + }, + + "action": { + "rewrite": "/app/$uri", + "pass": "applications/app" + } + }, + { + "match": { + "uri": "~\\.jpe?g$" + }, + + "action": { + "share": [ + "/var/www/static$uri", + "/var/www/static/assets$uri" + ], + + "fallback": { + "pass": "upstreams/cdn" + } + } + }, + { + "match": { + "uri": "/proxy/*" + }, + + "action": { + "proxy": "http://192.168.0.100:80" + } + }, + { + "match": { + "uri": "/return/*" + }, + + "action": { + "return": 301, + "location": "https://www.example.com" + } + } + ] +} +``` + + + +## Variables {#configuration-variables-native} + +Some options in Unit configuration allow the use ofvariables whose values are +calculated at runtime. There's a number of built-in variables available: + +{{}} +| Variable | Description | +|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **arg_***, **cookie_***, **header_*** | Variables that store [request arguments, cookies, and header fields]({{< relref "/unit/configuration.md#configuration-routes-matching" >}}), such as **arg_queryTimeout**, **cookie_sessionId**, or **header_Accept_Encoding**. The names of the **header_*** variables are case insensitive. | +| **body_bytes_sent** | Number of bytes sent in the response body. | +| **dollar** | Literal dollar sign (**$**), used for escaping. | +| **header_referer** | Contents of the **Referer** request [header field](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer). | +| **header_user_agent** | Contents of the **User-Agent** request [header field](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent). | +| **host** | **Host** [header field](https://datatracker.ietf.org/doc/html/rfc9110#section-7.2), converted to lower case and normalized by removing the port number and the trailing period (if any). | +| **method** | [Method](https://datatracker.ietf.org/doc/html/rfc7231#section-4) from the request line. | +| **remote_addr** | Remote IP address of the request. | +| **request_id** | Contains a string generated with random data. Can be used as a unique request identifier. | +| **request_line** | Entire [request line](https://datatracker.ietf.org/doc/html/rfc9112#section-3). | +| **request_time** | Request processing time in milliseconds, formatted as follows: **1.234**. | +| **request_uri** | Request target [path](https://datatracker.ietf.org/doc/html/rfc3986#section-3.3) *including* the [query](https://datatracker.ietf.org/doc/html/rfc3986#section-3.4), normalized by resolving relative path references ("." and "..") and collapsing adjacent slashes. | +| **response_header_*** | Variables that store [response header fields]({{< relref "/unit/configuration.md#configuration-response-headers" >}}), such as **response_header_content_type**. The names of these variables are case insensitive. | +| **status** | HTTP [status code](https://datatracker.ietf.org/doc/html/rfc7231#section-6) of the response. | +| **time_local** | Local time, formatted as follows: **31/Dec/1986:19:40:00 +0300**. | +| **uri** | Request target [path](https://datatracker.ietf.org/doc/html/rfc3986#section-3.3) *without* the [query](https://datatracker.ietf.org/doc/html/rfc3986#section-3.4) part, normalized by resolving relative path references ("." and "..") and collapsing adjacent slashes. The value is [percent decoded](https://datatracker.ietf.org/doc/html/rfc3986#section-2.1): Unit interpolates all percent-encoded entities in the request target [path](https://datatracker.ietf.org/doc/html/rfc3986#section-3.3). | +{{}} + +These variables can be used with: + +- **pass** in + [listeners]({{< relref "/unit/configuration.md#configuration-listeners" >}}) + and + [actions]({{< relref "/unit/configuration.md#configuration-routes-action" >}}) + to choose between routes, applications, app targets, or upstreams. +- **rewrite** in + [actions]({{< relref "/unit/configuration.md#configuration-routes-action" >}}) + to enable [URI rewriting]({{< relref "/unit/configuration.md#configuration-rewrite" >}}). +- **share** and **chroot** in + [actions]({{< relref "/unit/configuration.md#configuration-routes-action" >}}) + to control + [static content serving]({{< relref "/unit/configuration.md#configuration-static" >}}). +- **location** in **return** + [actions]({{< relref "/unit/configuration.md#configuration-return" >}}) + to enable HTTP redirects. +- **format** in the + [access log]({{< relref "/unit/configuration.md#configuration-access-log" >}}) + to customize Unit's log output. + +To reference a variable, prefix its name with the dollar sign character +(**\$**), optionally enclosing the name in curly brackets (**{}**) to separate it +from adjacent text or enhance visibility. Variable names can contain letters and +underscores (**\_**), so use the brackets if the variable is immediately followed +by such characters: + +```json +{ + "listeners": { + "*:80": { + "pass": "routes/${method}_route", + "comment_pass": "The method variable is thus separated from the '_route' postfix" + } + }, + + "routes": { + "GET_route": [ + { + "action": { + "return": 201 + } + } + ], + + "PUT_route": [ + { + "action": { + "return": 202 + } + } + ], + + "POST_route": [ + { + "action": { + "return": 203 + } + } + ] + } +} +``` + +To reference an **arg\_\***, **cookie\_\***, or **header\_\*** variable, add +the name you need to the prefix. A query string of **Type=car&Color=red** +yields two variables: **\$arg_Type** and **\$arg_Color**. Unit additionally +normalizes capitalization and hyphenation in header field names, so the +**Accept-Encoding** header field can also be referred to as **\$header_Accept_Encoding**, +**\$header_accept-encoding**, or **\$header_accept_encoding**. + +{{< note >}} +With multiple argument instances (think **Color=Red&Color=Blue**),the rightmost +one is used (**Blue**). +{{< /note >}} + +At runtime, variables expand into dynamically computed values (at your risk!). +The previous example targets an entire set of routes, picking individual +ones by HTTP verbs from the incoming requests: + +```console +curl -i -X GET http://localhost + + HTTP/1.1 201 Created +``` + +```console +curl -i -X PUT http://localhost + + HTTP/1.1 202 Accepted +``` + +```console +curl -i -X POST http://localhost + + HTTP/1.1 203 Non-Authoritative Information +``` + +```console +curl -i --head http://localhost # Bumpy ride ahead, no route defined + + HTTP/1.1 404 Not Found +``` + +If you reference a non-existing variable, it is considered empty. + +
+Examples + + +This configuration selects the static file location based on the requested +hostname; if nothing's found, it attempts to retrieve the requested file +from a common storage: + +```json +{ + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "action": { + "share": [ + "/www/$host$uri", + "comment_share_1": "Note that the $uri variable value always includes a starting slash", + "/www/storage$uri" + ] + } + } + ] +} +``` + +Another use case is employing the URI to choose between applications: + +```json +{ + "listeners": { + "*:80": { + "pass": "applications$uri" + } + }, + + "applications": { + "blog": { + "root": "/path/to/blog_app/", + "script": "index.php" + }, + + "sandbox": { + "type": "php", + "root": "/path/to/sandbox_app/", + "script": "index.php" + } + } +} +``` + +This way, requests are routed between applications by their target URIs: + +```console +curl http://localhost/blog # Targets the 'blog' app +``` + +```console +curl http://localhost/sandbox # Targets the 'sandbox' app +``` + +A different approach puts the **Host** header field received from the client +to the same use: + +```json +{ + "listeners": { + "*:80": { + "pass": "applications/$host" + } + }, + + "applications": { + "localhost": { + "root": "/path/to/admin_section/", + "script": "index.php" + }, + + "www.example.com": { + "type": "php", + "root": "/path/to/public_app/", + "script": "index.php" + } + } +} +``` + +You can use multiple variables in a string, repeating and placing them +arbitrarily. This configuration picks an app target (supported for +[PHP]({{< relref "/unit/configuration.md#configuration-php-targets" >}}) +and [Python]({{< relref "/unit/configuration.md#configuration-python-targets" >}})) +based on the requested hostname and URI: + + +```json +{ + "listeners": { + "*:80": { + "pass": "applications/app_$host$uri" + } + } +} +``` + +Note that the $uri value doesn't include the request's query part. + +At runtime,a request for **example.com/myapp** is passed to +**applications/app_example.com/myapp**. + +To select a share directory based on an **app_session** cookie: + +```json +{ + "action": { + "share": "/data/www/$cookie_app_session" + } +} +``` + +Here, if **$uri** in **share** resolves to a directory, the choice of an index +file to be served is dictated by **index**: + +```json +{ + "action": { + "share": "/www/data$uri", + "index": "index.htm" + } +} +``` + +Note that the $uri variable value always includes a starting slash. + +Here, a redirect uses the **$request_uri** variable value to relay the +request, *including* the query part, to the same website over HTTPS: + +```json +{ + "action": { + "return": 301, + "location": "https://$host$request_uri" + } +} +``` +--- +
+ + +## URI rewrite {#configuration-rewrite} + +All route step [actions]({{< relref "/unit/configuration.md#configuration-routes-action" >}}) +support the **rewrite** option that updates the URI of the incoming request +before the action is applied. It does not affect the [query](https://datatracker.ietf.org/doc/html/rfc3986#section-3.4) +but changes the **uri** and **\$request_uri** [variables]({{< relref "/unit/configuration.md#configuration-variables-native" >}}). + +This **match**-less action prefixes the request URI with **/v1** and returns +it to routing: + +```json +{ + "action": { + "rewrite": "/v1$uri", + "pass": "routes" + } +} +``` + +{{< warning >}} +Avoid infinite loops when you **pass** requests back to **routes**. +{{< /warning >}} + +This action normalizes the request URI and passes it to an application: + +```json +{ + "match": { + "uri": [ + "/fancyAppA", + "/fancyAppB" + ] + }, + + "action": { + "rewrite": "/commonBackend", + "pass": "applications/backend" + } +} +``` + +## Response headers {#configuration-response-headers} + +All route step +[actions]({{< relref "/unit/configuration.md#configuration-routes-action" >}}) +support the **response_headers** option that updates the header fields of Unit's response +before the action is taken: + +```json +{ + "action": { + "share": "/www/static/$uri", + "response_headers": { + "Cache-Control": "max-age=60, s-maxage=120", + "CDN-Cache-Control": "max-age=600" + } + } +} +``` + +This works only for the **2XX** and **3XX** responses; +also, **Date**, **Server**, and **Content-Length** can't be set. + +The option sets given string values for the header fields of the response +that Unit will send for the specific request: + +- If there's no header field associated with the name (regardless of the case), + the value is set. +- If a header field with this name is already set, its value is updated. +- If **null** is supplied for the value, the header field is *deleted*. + +If the action is taken and Unit issues a response, it sends the header +fields *this specific* action specifies. Only the last action along the +entire routing path of a request affects the resulting response headers. + +The values support [variables]({{< relref "/unit/configuration.md#configuration-variables-native" >}}) +and [template literals]({{< relref "/unit/scripting.md" >}}), which enables +arbitrary runtime logic: + +```json +"response_headers": { + "Content-Language": "`${ uri.startsWith('/uk') ? 'en-GB' : 'en-US' }`" +} +``` + +Finally, there are the **response_header\_\*** variables that evaluate to the +header field values set with the response (by the app, upstream, or Unit +itself; the latter is the case with **\$response_header_connection**, +**\$response_header_content_length**, and **\$response_header_transfer_encoding**). + +One use is to update the headers in the final response; this extends the +**Content-Type** issued by the app: + + +```json +"action": { + "pass": "applications/converter", + "response_headers": { + "Content-Type": "${response_header_content_type};charset=iso-8859-1" + } + } +} +``` + +Alternatively, they will come in handy with +[custom log formatting]({{< relref "/unit/configuration.md#configuration-access-log" >}}). + + +## Instant responses, redirects {#configuration-return} + +You can use route step +[actions]({{< relref "/unit/configuration.md#configuration-routes-action" >}}) +to instantly handle certain conditions with arbitrary +[HTTP status codes](https://datatracker.ietf.org/doc/html/rfc7231#section-6): + +```json +{ + "match": { + "uri": "/admin_console/*" + }, + + "action": { + "return": 403 + } +} +``` + +The **return** action provides the following options: + +{{}} + +| Option | Description | +|-------------|----------------------------------------------------------------------------------------------------------------------------| +| **return** | (required)
Integer (000–999); defines the HTTP response status code to be returned. | +| **location**| String URI; used if the **return** value implies redirection. | + +{{
}} + + +Use the codes according to their intended [semantics](https://datatracker.ietf.org/doc/html/rfc7231#section-6); +if you use custom codes, make sure that user agents can understand them. + +If you specify a redirect code (3xx), supply the destination using the +**location** option alongside **return**: + +```json +{ + "action": { + "return": 301, + "location": "https://www.example.com" + } +} +``` + +Besides enriching the response semantics, **return** simplifies +[allow-deny lists]({{< relref "/unit/configuration.md#allow-deny" >}}): +instead of guarding each action with a filter, add [conditions]({{< relref +"/unit/configuration.md#configuration-routes-matching" >}}) to deny unwanted +requests as early as possible, for example: + + +```json +"routes": [ + { + "match": { + "scheme": "http" + }, + + "action": { + "return": 403 + } + }, + { + "match": { + "source": [ + "!192.168.1.1", + "!10.1.1.0/16", + "192.168.1.0/24", + "2001:0db8::/32" + ] + }, + + "action": { + "return": 403 + } + } +] +``` + +## Static files {#configuration-static} + +Unit is capable of acting as a standalone web server, efficiently serving +static files from the local file system; to use the feature, list the file +paths in the **share** option of a route step [action]({{< relref +"/unit/configuration.md#configuration-routes-action" >}}). + + +A **share**-based action provides the following options: + +{{}} + +| Option | Description | +|---------------------|------------------------| +| **share** (required) | String or an array of strings; lists file paths that are tried until a file is found. When no file is found, **fallback** is used if set.

The value is [variable]({{< relref "/unit/configuration.md#configuration-variables" >}})-interpolated. | +| **index** | Filename; tried if **share** is a directory. When no file is found, **fallback** is used if set.

The default is **index.html**. | +| **fallback** | Action-like [object]({{< relref "/unit/configuration.md#configuration-fallback" >}}); used if the request can't be served by **share** or **index**. | +| **types** | [Array]({{< relref "/unit/configuration.md#configuration-share-mime" >}}) of [MIME type](https://www.iana.org/assignments/media-types/media-types.xhtml) patterns; used to filter the shared files. | +| **chroot** | Directory pathname that [restricts]({{< relref "/unit/configuration.md#configuration-share-path" >}}) the shareable paths.

The value is [variable]({{< relref "/unit/configuration.md#configuration-variables" >}})-interpolated. | +| **follow_symlinks**, **traverse_mounts** | Booleans; turn on and off symbolic link and mount point [resolution]({{< relref "/unit/configuration.md#configuration-share-resolution">}}) respectively; if **chroot** is set, they only [affect]({{< relref "/unit/configuration.md#configuration-share-path" >}}) the insides of **chroot**.

The default for both options is **true** (resolve links and mounts). | + +{{
}} + + +{{< note >}} +To serve the files, Unit's router process must be able to access them; +thus, the account this process runs as must have proper permissions +[assigned]({{< relref "/unit/configuration.md#security-apps" >}}). When +Unit is installed from the [official packages]({{< relref +"/unit/installation.md#installation-precomp-pkgs" >}}), the process runs +as **unit:unit**; for details of other installation methods, see +[installation]({{< relref "/unit/installation/">}}). +{{< /note >}} + +Consider the following configuration: + +```json +{ + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "action": { + "share": "/www/static/$uri" + } + } + ] +} +``` + +It uses +[variable interpolation]({{< relref "/unit/configuration.md#configuration-variables-native" >}}): +Unit replaces the **\$uri** reference with its current value and tries the +resulting path. If this doesn't yield a servable file, a 404 "Not Found" +response is returned. + + +{{< warning >}} +Before version 1.26.0, Unit used **share** as the document root. This was +changed for flexibility, so now **share** must resolve to specific files. +A common solution is to append **\$uri** to your document root. + +Pre-1.26, the snippet above would've looked like this: + +```json +"action": { + "share": "/www/static/" +} +``` + +Mind that URI paths always start with a slash, so there's no need to separate +the directory from **\$uri**; even if you do, Unit compacts adjacent slashes +during path resolution, so there won't be an issue. +{{< /warning >}} + +If **share** is an array, its items are searched in order of appearance +until a servable file is found: + +```json +"share": [ + "/www/$host$uri", + "/www/error_pages/not_found.html" +] +``` + +This snippet tries a **\$host**-based directory first; if a suitable file +isn't found there, the **not_found.html** file is tried. If neither is +accessible, a 404 "Not Found" response is returned. + +Finally, if a file path points to a directory, Unit attempts to serve an +**index**-indicated file from it. Suppose we have the following directory +structure and share configuration: + + +```none +/www/static/ +├── ... +└──default.html +``` + +```json +"action": { + "share": "/www/static$uri", + "index": "default.html" +} +``` + +The following request returns **default.html** even though the file isn't named +explicitly: + +```console +curl http://localhost/ -v + + ... + < HTTP/1.1 200 OK + < Last-Modified: Fri, 20 Sep 2021 04:14:43 GMT + < ETag: "5d66459d-d" + < Content-Type: text/html + < Server: Unit/{{< param "unitversion" >}} + ... +``` + +{{< note >}} +Unit's ETag response header fields use the **MTIME-FILESIZE** format, where +**MTIME** stands for file modification timestamp and **FILESIZE** stands for +file size in bytes, both in hexadecimal. +{{< /note >}} + +### MIME filtering {#configuration-share-mime} + +To filter the files a **share** serves by their [MIME types](https://www.iana.org/assignments/media-types/media-types.xhtml), +define a **types** array of string patterns. They work like [route patterns]({{< relref "/unit/configuration.md#configuration-routes-matching-patterns" >}}) +but are compared to the MIME type of each file; the request is served only if +it's a [match]({{< relref "/unit/configuration.md#configuration-routes-matching-resolution" >}}): + + +```json +{ + "share": "/www/data/static$uri", + "types": [ + "!text/javascript", + "!text/css", + "text/*", + "~video/3gpp2?" + ] +} +``` + +This sample configuration blocks JS and CSS files with +[negation]({{< relref "/unit/configuration.md#configuration-routes-matching-resolution" >}}) +but allows all other text-based MIME types with a +[wildcard pattern]({{< relref "/unit/configuration.md#configuration-routes-matching-patterns" >}}). +Additionally, the **.3gpp** and **.3gpp2** file types are allowed by a +[regex pattern]({{< relref "/unit/configuration.md#configuration-routes-matching-patterns" >}}). + +If no MIME types match the request, a 403 "Forbidden" response is returned. You +can pair that behavior with a +[fallback]({{< relref "/unit/configuration.md#configuration-fallback" >}}) option that will be called +when a 40x response would be returned. + +```json +{ + "share": "/www/data/static$uri", + "types": ["image/*", "font/*", "text/*"], + "response_headers": { + "Cache-Control": "max-age=1209600" + }, + "fallback": { + "share": "/www/data/static$uri", + } +} +``` + +Here, all requests to images, fonts, and any text-based files will have a +cache control header added to the response. Any other requests will still +serve the files, but this time without the header. This is useful for +serving common web page resources that do not change; web browsers and +proxies are informed that this content should be cached. + +If the MIME type of a requested file isn't recognized, it's considered +empty (**""**). Thus, the **"!"** pattern ("deny empty strings") can be +used to restrict all file types [unknown]({{< relref "/unit/configuration.md#configuration-mime" >}}) +to Unit: + + +```json +{ + "share": "/www/data/known-types-only$uri", + "types": [ + "!" + ] +} +``` + +If a share path specifies only the directory name, Unit *doesn't* apply MIME filtering. + +### Path restrictions {#configuration-share-path} + +{{< note >}} +To have these options, Unit must be built and run on a system with Linux kernel +version 5.6+. +{{< /note >}} + +The **chroot** option confines the path resolution within a share to a +certain directory. First, it affects symbolic links: any attempts to go up +the directory tree with relative symlinks like **../../var/log** stop at +the **chroot** directory, and absolute symlinks are treated as relative +to this directory to avoid breaking out: + + +```json +{ + "action": { + "share": "/www/data$uri", + "chroot": "/www/data/", + "comment_chroot": "Now, any paths accessible via the share are confined to this directory" + } +} +``` + +Here, a request for **/log** initially resolves to **/www/data/log**; however, +if that's an absolute symlink to **/var/log/app.log**, the resulting path +is **/www/data/var/log/app.log**. + +Another effect is that any requests for paths that resolve outside the +**chroot** directory are forbidden: + + +```json +{ + "action": { + "share": "/www$uri", + "chroot": "/www/data/" + } +} +``` + +Now, any paths accessible via the share are confined to the `/www/data/` directory + +Here, a request for **/index.xml** elicits a 403 "Forbidden" response +because it resolves to **/www/index.xml**, which is outside **chroot**. + + + +The **follow_symlinks** and **traverse_mounts** options disable resolution +of symlinks and traversal of mount points when set to **false** (both default +to **true**): + + +```json +{ + "action": { + "share": "/www/$host/static$uri", + "follow_symlinks": false, + "comment_follow_symlinks": "Disables symlink traversal", + "traverse_mounts": false, + "comment_traverse_mounts": "Disables mount point traversal" + } +} +``` + +Here, any symlink or mount point in the entire **share** path results in a +403 "Forbidden" response. + +With **chroot** set, **follow_symlinks** and **traverse_mounts** only affect +portions of the path *after* **chroot**: + + +```json +{ + "action": { + "share": "/www/$host/static$uri", + "chroot": "/www/$host/", + "follow_symlinks": false, + "traverse_mounts": false + } +} +``` + +Here, **www/** and interpolated **\$host** can be symlinks or mount points, +but any symlinks and mount points beyond them, including the **static/** +portion, won't be resolved. + +
+Details + + + +Suppose you want to serve files from a share that itself includes a symlink +(let's assume **$host** always resolves to **localhost** and make it a symlink +in our example) but disable any symlinks inside the share. + +Initial configuration: + +```json +{ + "action": { + "share": "/www/$host/static$uri", + "chroot": "/www/$host/", + "comment_chroot": "Now, any paths accessible via the share are confined to this directory" + } +} +``` + +Create a symlink to **/www/localhost/static/index.html**: + +```console +mkdir -p /www/localhost/static/ && cd /www/localhost/static/ +``` + +```console +cat > index.html << EOF + > index.html + > EOF +``` + +```console +ln -s index.html /www/localhost/static/symlink +``` + +If symlink resolution is enabled (with or without **chroot**), a request that +targets the symlink works: + +```console +curl http://localhost/index.html + + index.html +``` + +```console +curl http://localhost/symlink + + index.html +``` + +Now set **follow_symlinks** to **false**: + +```json +{ +"action": { + "share": "/www/$host/static$uri", + "chroot": "/www/$host/", + "comment_chroot": "Now, any paths accessible via the share are confined to this directory", + "follow_symlinks": false +} +} +``` + +The symlink request is forbidden, which is presumably the desired effect: + +```console +curl http://localhost/index.html + + index.html +``` + +```console +curl http://localhost/symlink + + Error 403

Error 403. +``` + +Finally, what difference does **chroot** make? To see, remove it: + +```json +{ + "action": { + "share": "/www/$host/static$uri", + "follow_symlinks": false + } +} +``` + +Now, **"follow_symlinks": false** affects the entire share, and **localhost** +is a symlink, so it's forbidden: + +```console +curl http://localhost/index.html + + Error 403

Error 403. +``` + +--- +

+ +### Fallback action {#configuration-fallback} + +Finally, within an **action**, you can supply a **fallback** option beside +a **share**. It specifies the [action]({{< relref "/unit/configuration.md#configuration-routes-action" >}}) +to be taken if the requested file can't be served from the **share** path: + + +```json +{ + "share": "/www/data/static$uri", + "fallback": { + "pass": "applications/php" + } +} +``` + +Serving a file can be impossible for different reasons, such as: + +- The request's HTTP method isn't **GET** or **HEAD**. +- The file's MIME type doesn't match the **types** + [array]({{< relref "/unit/configuration.md#configuration-share-mime" >}}). +- The file isn't found at the **share** path. +- The router process has + [insufficient permissions]({{< relref "/unit/configuration.md#security-apps" >}}) + to access the file or an underlying directory. + +In the previous example, an attempt to serve the requested file from the +**/www/data/static/** directory is made first. Only if the file can't be +served, the request is passed to the **php** application. + +If the **fallback** itself is a **share**, it can also contain a nested +**fallback**: + + +```json +{ + "share": "/www/data/static$uri", + "fallback": { + "share": "/www/cache$uri", + "chroot": "/www/", + "fallback": { + "proxy": "http://127.0.0.1:9000" + } + } +} +``` + +The first **share** tries to serve the request from **/www/data/static/**; +on failure, the second **share** tries the **/www/cache/** path with +**chroot** enabled. If both attempts fail, the request is proxied elsewhere. + +
+Examples + + + +One common use case that this feature enables is the separation of requests +for static and dynamic content into independent routes. The following example +relays all requests that target **.php** files to an application and uses a +catch-all static **share** with a **fallback**: + +```json +{ + "routes": [ + { + "match": { + "uri": "*.php" + }, + + "action": { + "pass": "applications/php-app" + } + }, + { + "action": { + "share": "/www/php-app/assets/files$uri", + "fallback": { + "proxy": "http://127.0.0.1:9000" + } + } + } + + ], + + "applications": { + "php-app": { + "type": "php", + "root": "/www/php-app/scripts/" + } + } +} +``` + +You can reverse this scheme for apps that avoid filenames in dynamic URIs, +listing all types of static content to be served from a **share** in a +**match** condition and adding an unconditional application path: + +```json +{ + "routes": [ + { + "match": { + "uri": [ + "*.css", + "*.ico", + "*.jpg", + "*.js", + "*.png", + "*.xml" + ] + }, + + "action": { + "share": "/www/php-app/assets/files$uri", + "fallback": { + "proxy": "http://127.0.0.1:9000" + } + } + }, + { + "action": { + "pass": "applications/php-app" + } + } + + ], + + "applications": { + "php-app": { + "type": "php", + "root": "/www/php-app/scripts/" + } + } +} +``` + +If image files should be served locally and other proxied, use the **types** +array in the first route step: + + +```json +{ + "match": { + "uri": [ + "*.css", + "*.ico", + "*.jpg", + "*.js", + "*.png", + "*.xml" + ] + }, + + "action": { + "share": "/www/php-app/assets/files$uri", + "types": [ + "image/*" + ], + + "fallback": { + "proxy": "http://127.0.0.1:9000" + } + } +} +``` + +Another way to combine **share**, **types**, and **fallback** +is exemplified by the following compact pattern: + +```json +{ + "share": "/www/php-app/assets/files$uri", + "types": [ + "!application/x-httpd-php" + ], + + "fallback": { + "pass": "applications/php-app" + } +} +``` + +It forwards explicit requests for PHP files to the app while serving all +other types of files from the share; note that a **match** object isn't +needed here to achieve this effect. + +--- +
+ + +## Proxying {#configuration-proxy} + +Unit's routes support HTTP proxying to socket addresses using the **proxy** +option of a route step [action]({{< relref "/unit/configuration.md#configuration-routes-action" >}}): + +```json +{ + "routes": [ + { + "match": { + "uri": "/ipv4/*" + }, + "action": { + "proxy": "http://127.0.0.1:8080", + "comment_proxy": "Note that the http:// scheme is required" + } + }, + { + "match": { + "uri": "/ipv6/*" + }, + "action": { + "proxy": "http://[::1]:8080", + "comment_proxy": "Note that the http:// scheme is required" + } + }, + { + "match": { + "uri": "/unix/*" + }, + "action": { + "proxy": "http://unix:/path/to/unix.sock", + "comment_proxy": "Note that the http:// scheme is required, followed by the unix: prefix" + } + } + ] +} +``` + +As the example suggests, you can use UNIX, IPv4, and IPv6 socket addresses +for proxy destinations. + +{{< note >}} +The HTTPS scheme is not supported yet. +{{< /note >}} + +### Load balancing {#configuration-upstreams} + +Besides proxying requests to individual servers, Unit can also relay incoming +requests to *upstreams*. An upstream is a group of servers that comprise a single +logical entityand may be used as a **pass** destination for incoming requests in a +[listener]({{< relref "/unit/configuration.md#configuration-listeners" >}}) +or a [route]({{< relref "/unit/configuration.md#configuration-routes" >}}). + +Upstreams are defined in the eponymous **/config/upstreams** section of the API: + +```json +{ + "listeners": { + "*:80": { + "pass": "upstreams/rr-lb" + } + }, + "upstreams": { + "rr-lb": { + "comment_rr-lb": "Upstream object", + "servers": { + "comment_servers": "Lists individual servers as object-valued options", + "192.168.0.100:8080": { + "comment_192.168.0.100:8080": "Empty object needed due to JSON requirements" + }, + "192.168.0.101:8080": { + "weight": 0.5 + } + } + } + } +} +``` + +An upstream must define a **servers** object that lists socket addresses as +server object names. Unit dispatches requests between the upstream's servers +in a round-robin fashion, acting as a load balancer. Each server object can +set a numeric **weight** to adjust the share of requests it receives via the +upstream. In the above example, **192.168.0.100:8080** receives twice as many +requests as **192.168.0.101:8080**. + +Weights can be specified as integers or fractions in decimal or scientific +notation: + + +```json +{ + "servers": { + "192.168.0.100:8080": { + "weight": 1e1, + "comment_weight": "All three values are equal" + }, + "192.168.0.101:8080": { + "weight": 10.0, + "comment_weight": "All three values are equal" + }, + "192.168.0.102:8080": { + "weight": 10, + "comment_weight": "All three values are equal" + } + } +} +``` + +The maximum weight is **1000000**, the minimum is **0** (such servers receive +no requests); the default is **1**. + + +## Applications {#configuration-applications} + +Each app that Unit runs is defined as an object in the **/config/applications** +section of the control API; it lists the app's language and settings, its +runtime limits, process model, and various language-specific options. + +{{< note >}} +Our official +[language-specific packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) +include end-to-end examples of application configuration, available for your +reference at **/usr/share/doc/\/examples/** after package installation. +{{< /note >}} + +Here, Unit runs 20 processes of a PHP app called **blogs**, stored in the +**/www/blogs/scripts/** directory: + +```json +{ + "blogs": { + "type": "php", + "processes": 20, + "root": "/www/blogs/scripts/" + } +} +``` + + +App objects have a number of options shared between all application languages: + +{{}} +| Option | Description | +|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **type** (required) | Application type: **external** (Go and Node.js), **java**, **perl**, **php**, **python**, **ruby**, or **wasm** (WebAssembly).

Except for **external** and **wasm**, you can detail the runtime version: **"type": "python 3"**, **"type": "python 3.4"**, or even **"type": "python 3.4.9rc1"**.

Unit searches its modules and uses the latest matching one, reporting an error if none match.

For example, if you have only one PHP module, 7.1.9, it matches **"php"**, **"php 7"**, **"php 7.1"**, and **"php 7.1.9"**.

If you have modules for versions 7.0.2 and 7.0.23, set **"type": "php 7.0.2"** to specify the former; otherwise, PHP 7.0.23 will be used. | +| **environment** | String-valued object; environment variables to be passed to the app.

Unit passes the environment variables to the app without modification, even if no environment configuration object is specified.

Any data specified in the **environment** object gets merged to the existing environment variables.

If an environment variable already exists in the system and gets declared in this object, the object's value takes precedence and gets passed to the application. | +| **group** | String; group name that runs the [app process]({{< relref "/unit/howto/security.md#sec-processes" >}}).

The default is the **user**'s primary group. | +| **isolation** | Object; manages the isolation of an application process.

For details, see [here]({{< relref "/unit/configuration.md#configuration-proc-mgmt-isolation" >}}). | +| **limits** | Object; accepts two integer options, **timeout** and **requests**.

Their values govern the life cycle of an application process.

For details, see [here]({{< relref "/unit/configuration.md#configuration-proc-mgmt-lmts" >}}). | +| **processes** | Integer or object; integer sets a static number of app processes, and object options **max**, **spare**, and **idle_timeout** enable dynamic management.

For details, see [here]({{< relref "/unit/configuration.md#configuration-proc-mgmt-prcs" >}}).

The default is 1. | +| **stderr**, **stdout** | Strings; filenames where Unit redirects the application's output.

The default when running *with* **--no-daemon** is to send *stdout* to the *console* and *stderr* to Unit's *log*.

The default when running *without* **--no-daemon** is to send *stdout* to */dev/null* and *stderr* to Unit's *log*.

These options have *no* effect when running with **--no-daemon**. | +| **user** | String; username that runs the [app process]({{< relref "/unit/howto/security.md#sec-processes" >}}).

The default is the username configured at [build time]({{< relref "/unit/howto/source.md#source-config-src" >}}) or at [startup]({{< relref "/unit/howto/source.md#source-startup" >}}). | +| **working_directory** | String; the app's working directory.

The default is the working directory of Unit's [main process]({{< relref "/unit/howto/security.md#sec-processes" >}}). | + +{{
}} + +Also, you need to set **type**-specific options +to run the app. This +[Python app]({{< relref "/unit/configuration.md#configuration-python" >}}) +sets **path** and **module**: + +```json +{ + "type": "python 3.6", + "processes": 16, + "working_directory": "/www/python-apps", + "path": "blog", + "module": "blog.wsgi", + "user": "blog", + "group": "blog", + "environment": { + "DJANGO_SETTINGS_MODULE": "blog.settings.prod", + "DB_ENGINE": "django.db.backends.postgresql", + "DB_NAME": "blog", + "DB_HOST": "127.0.0.1", + "DB_PORT": "5432" + } +} +``` + +### Process management {#configuration-proc-mgmt} + +Unit has three per-app options that control how the app's processes behave: +**isolation**, **limits**, and **processes**. Also, you can **GET** the +**/control/applications/** section of the API to restart an app: + + +```console +# curl -X GET --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/control/applications/app_name/restart # Your application's name as defined in the /config/applications/ section +``` + +Unit handles the rollover gracefully, allowing the old processes to deal +with existing requests and starting a new set of processes (as defined by +the **processes** [option]({{< relref "/unit/configuration.md#configuration-proc-mgmt-prcs" >}})) +to accept new requests. + + + +#### Process isolation {#configuration-proc-mgmt-isolation} + +You can use +[namespace](https://man7.org/linux/man-pages/man7/namespaces.7.html) +and +[file system](https://man7.org/linux/man-pages/man2/chroot.2.html) +isolation for your apps if Unit's underlying OS supports them: + +```console +ls /proc/self/ns/ + + cgroup mnt \ # The mount namespace + net \ # The network namespace + pid ... \ + user \ # The credential namespace + uts \ # The uname namespace +``` + +The **isolation** application option has the following members: + +{{}} +| Option | Description | +|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **automount** | Object; controls mount behavior if **rootfs** is enabled. By default, Unit automatically mounts the [language runtime dependencies]({{< relref "/unit/configuration.md#conf-rootfs" >}}), a [procfs](https://man7.org/linux/man-pages/man5/procfs.5.html) at **/proc/**, and a [tmpfs](https://man7.org/linux/man-pages/man5/tmpfs.5.html) at **/tmp/**, but you can [disable]({{< relref "/unit/configuration.md#disable-automounts" >}}) any of these default mounts. | +| **cgroup** | Object; defines the app's [cgroup]({{< relref "/unit/configuration.md#conf-app-cgroup" >}}).

**Options:**

   - **path** (required): String; configures absolute or relative path of the app in the [cgroups v2 hierarchy](https://man7.org/linux/man-pages/man7/cgroups.7.html#CGROUPS_VERSION_2). The limits trickle down the hierarchy, so child cgroups can't exceed parental thresholds. | +| **gidmap** | Same as **uidmap**, but configures group IDs instead of user IDs. | +| **namespaces** | Object; configures [namespace](https://man7.org/linux/man-pages/man7/namespaces.7.html) isolation scheme for the application.

**Options (system-dependent; check your OS manual for guidance):**

   - **cgroup**: Creates a new cgroup namespace for the app.

   - **credential**: Creates a new user namespace for the app.

   - **mount**: Creates a new mount namespace for the app.

   - **network**: Creates a new network namespace for the app.

   - **pid**: Creates a new PID namespace for the app.

   - **uname**: Creates a new UTS namespace for the app. | +| | | | All options listed above are Boolean; to isolate the app, set the corresponding namespace option to **true**; to disable isolation, set the option to **false** (default). | +| **rootfs** | String; pathname of the directory to be used as the new [file system root]({{< relref "/unit/configuration.md#conf-rootfs">}}) for the app. | +| **uidmap** | Array of user ID [mapping objects]({{< relref "/unit/configuration.md#conf-uidgid-mapping" >}}); each array item must define the following:

- **container**: Integer; starts the user ID mapping range in the app's namespace.

- **host**: Integer; starts the user ID mapping range in the OS namespace.

- **size**: Integer; size of the ID range in both namespaces. | +{{
}} + +To disable automounts: + + + +```json +{ + "isolation": { + "automount": { + "procfs": false, + "tmpfs": false + } + } +} +``` + + + + +A sample **isolation** object that enables all namespaces and sets mappings for +user and group IDs: + +```json +{ + "namespaces": { + "cgroup": true, + "credential": true, + "mount": true, + "network": true, + "pid": true, + "uname": true + }, + + "cgroup": { + "path": "/unit/appcgroup" + }, + + "uidmap": [ + { + "host": 1000, + "container": 0, + "size": 1000 + } + ], + + "gidmap": [ + { + "host": 1000, + "container": 0, + "size": 1000 + } + ] +} +``` + +##### Using control groups {#conf-app-cgroup} + +A control group (cgroup) commands the use of computational resources by a +group of processes in a unified hierarchy. Cgroups are defined by their +*paths* in the cgroups file system. + +The **cgroup** object defines the cgroup for a Unit app; its **path** option +can set an absolute (starting with **/**) or a relative value. If the path +doesn't exist in the cgroups file system, Unit creates it. + +Relative paths are implicitly placed inside the cgroup of Unit's +[main process]({{< relref "/unit/howto/security.md#sec-processes" >}}); +this setting effectively puts the app to the **/\
/production/app** +cgroup: + +```json +{ + "isolation": { + "cgroup": { + "path": "production/app" + } + } +} +``` + +An absolute pathname places the application under a separate cgroup subtree; +this configuration puts the app under **/staging/app**: + +```json +{ + "isolation": { + "cgroup": { + "path": "/staging/app" + } + } +} +``` + +A basic use case would be to set a memory limit on a cgroup. +First, find the cgroup mount point: + +```console +mount -l | grep cgroup + + cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot) +``` + +Next, check the available controllers and set the **memory.high** limit: + +```console +cat /sys/fs/cgroup/staging/app/cgroup.controllers # cgroup's path set in Unit configuration + + cpuset cpu io memory pids +``` + +As root, run the following command: + +```console +echo 1G > /sys/fs/cgroup/staging/app/memory.high # cgroup's path set in Unit configuration +``` + +For more details and possible options,refer to the +[admin guide](https://docs.kernel.org/admin-guide/cgroup-v2.html). + +{{< note >}} +To avoid confusion, mind that the **namespaces/cgroups** option +controls the application's cgroup *namespace*; instead, the **cgroup/path** option +specifies the cgroup where Unit puts the application. +{{< /note >}} + +##### Changing root directory {#conf-rootfs} + +The **rootfs** option confines the app to the directory you provide, making +it the new [file system root](https://man7.org/linux/man-pages/man2/chroot.2.html). +To use it, your app should have the corresponding privilege (effectively, run +as **root** in most cases). + +The root directory is changed before the language module starts the app, so +any path options for the app should be relative to the new root. Note the +**path** and **home** settings: + + +```json +{ + "type": "python 2.7", + "path": "/", + "comment_path": "Without rootfs, this would be /var/app/sandbox/", + "home": "/venv/", + "comment_home": "Without rootfs, this would be /var/app/sandbox/venv/", + "module": "wsgi", + "isolation": { + "rootfs": "/var/app/sandbox/" + } +} +``` + +{{< warning >}} +When using **rootfs** with **credential** set to **true**: + +```json +"isolation": { + "rootfs": "/var/app/sandbox/", + "namespaces": { + "credential": true + } +} +``` + +Ensure that the user the app *runs as* can access the **rootfs** directory. +{{< /warning >}} + +Unit mounts language-specific files and directories to the new root +so the app stays operational: + +{{}} +| Language | Language-Specific Mounts | +|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Java** | - JVM's **libc.so** directory

- Java module's [home]({{< relref "/unit/howto/source.md#modules-java" >}}) directory | +| **Python** | Python's **sys.path** [directories](https://docs.python.org/3/library/sys.html#sys.path) | +| **Ruby** | - Ruby's header, interpreter, and library [directories](https://idiosyncratic-ruby.com/42-ruby-config.html): **rubyarchhdrdir**, **rubyhdrdir**, **rubylibdir**, **rubylibprefix**, **sitedir**, and **topdir**

- Ruby's gem installation directory (**gem env gemdir**)

- Ruby's entire gem path list (**gem env gempath**) | +{{
}} + + +
+Using "uidmap", "gidmap" + + +The **uidmap** and **gidmap** options are available only if the underlying OS +supports [user namespaces](https://man7.org/linux/man-pages/man7/user_namespaces.7.html) + +If **uidmap** is omitted but **credential** isolation is enabled,the effective +UID (EUID) of the application process in the host namespace is mapped to the +same UID in the container namespace; the same applies to **gidmap** and GID, +respectively. This means that the configuration below: + +```json +{ + "user": "some_user", + "isolation": { + "namespaces": { + "credential": true + } + } +} +``` + +Is equivalent to the following (assuming **some_user**'s EUID and EGID are +both equal to 1000): + +```json +{ + "user": "some_user", + "isolation": { + "namespaces": { + "credential": true + }, + + "uidmap": [ + { + "host": "1000", + "container": "1000", + "size": 1 + } + ], + + "gidmap": [ + { + "host": "1000", + "container": "1000", + "size": 1 + } + ] + } +} +``` +--- +
+ +#### Request limits {#configuration-proc-mgmt-lmts} + +The **limits** object controls request handling by the app process and has two +integer options: + +{{}} +| Option | Description | +|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **requests** | Integer; maximum number of requests an app process can serve. When the limit is reached, the process restarts; this mitigates possible memory leaks or other cumulative issues. | +| **timeout** | Integer; request timeout in seconds. If an app process exceeds it while handling a request, Unit cancels the request and returns a 503 "Service Unavailable" response to the client.

Unit doesn't detect freezes, so the hanging process stays on the app's process pool. | +{{
}} + + +#### Example: + +```json +{ + "type": "python", + "working_directory": "/www/python-apps", + "module": "blog.wsgi", + "limits": { + "timeout": 10, + "requests": 1000 + } +} +``` + +#### Application processes {#configuration-proc-mgmt-prcs} + +The **processes** option offers a choice between static and dynamic process +management. If you set it to an integer, Unit immediately launches the given +number of app processes and keeps them without scaling. + +To enable a dynamic prefork model for your app, supply a **processes** object +with the following options: + +{{}} +| Option | Description | +|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **idle_timeout** | Number of seconds Unit waits for before terminating an idle process that exceeds **spare**. | +| **max** | Maximum number of application processes that Unit maintains (busy and idle).

The default is 1. | +| **spare** | Minimum number of idle processes that Unit tries to maintain for an app. When the app is started, **spare** idles are launched; Unit passes new requests to existing idles, forking new idles to keep the **spare** level if **max** allows. When busy processes complete their work and turn idle again, Unit terminates extra idles after **idle_timeout**. | +{{
}} + +If **processes** is omitted entirely, Unit creates 1 static process. If an +empty object is provided: **"processes": {}**, dynamic behavior with default +option values is assumed. + +Here, Unit allows 10 processes maximum, keeps 5 idles, and terminates extra +idles after 20 seconds: + + +```json +{ + "max": 10, + "spare": 5, + "idle_timeout": 20 +} +``` + +{{< note >}} +For details of manual application process restart, see the +[process management]({{< relref "/unit/configuration.md#configuration-proc-mgmt" >}}) +documentation. +{{< /note >}} + + + +### Go {#configuration-go} + +To run a Go app on Unit, modify its source to make it Unit-aware and rebuild +the app. + +
+Updating Go apps to run on Unit + + + +Unit uses [cgo](https://pkg.go.dev/cmd/cgo) to invoke C code from Go, +so check the following prerequisites: + +- The `CGO_ENABLED` variable is set to **1**: + + ```console + go env CGO_ENABLED + + 0 + ``` + + ```console + go env -w CGO_ENABLED=1 + ``` + +- If you installed Unit from the + [official packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}), + install the development package: + + - Debian, Ubuntu + + ```console + apt install unit-dev + ``` + + - Amazon, Fedora, RHEL + + ```console + yum install unit-devel + ``` + +- If you installed Unit from + [source]({{< relref "/unit/howto/source/" >}}), + install the include files and libraries: + + ```console + make libunit-install + ``` + +In the **import** section, list the **unit.nginx.org/go** package: + +```go +import ( + ... + "unit.nginx.org/go" + ... +) +``` + +Replace the **http.ListenAndServe** call with **unit.ListenAndServe**: + +```go +func main() { + ... + http.HandleFunc("/", handler) + ... + // http.ListenAndServe(":8080", nil) + unit.ListenAndServe(":8080", nil) + ... +} +``` + +If you haven't done so yet, initialize the Go module for your app: + +```console +go mod init example.com/app # Arbitrary module designation + + go: creating new go.mod: module example.com/app +``` + +Install the newly added dependency and build your application: + +```console +go get unit.nginx.org/go@{{< param "unitversion" >}} + + go: downloading unit.nginx.org + +go build -o app app.go # Executable name and Application source code +``` + +If you update Unit to a newer version, repeat the two commands above +to rebuild your app. + +The resulting executable works as follows: + +- When you run it standalone, the **unit.ListenAndServe** call + falls back to **http** functionality. + +- When Unit runs it, **unit.ListenAndServe** directly communicates + with Unit's router process, ignoring the address supplied as its first argument + and relying on the + [listener's settings]({{< relref "/unit/configuration.md#configuration-listeners" >}}) + instead. + +--- + +
+ +Next, configure the app on Unit; besides the +[common options]({{< relref "/unit/configuration.md#configuration-apps-common" >}}), +you have: + +{{}} +| Option | Description | +|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **executable** (required) | String; pathname of the application, absolute or relative to **working_directory**. | +| **arguments** | Array of strings; command-line arguments to be passed to the application. The example below is equivalent to **/www/chat/bin/chat_app --tmp-files /tmp/go-cache**. | +{{}} + + +#### Example: + +```json +{ + "type": "external", + "working_directory": "/www/chat", + "executable": "bin/chat_app", + "user": "www-go", + "group": "www-go", + "arguments": [ + "--tmp-files", + "/tmp/go-cache" + ] +} +``` + +{{< note >}} +For Go-based examples, see our [grafana]({{< relref "/unit/howto/apps/grafana/">}}) +howto or a basic +[sample]({{< relref "/unit/howto/samples.md#sample-go" >}}). +{{< /note >}} + +### Java {#configuration-java} + +First, make sure to install Unit along with the +[Java language module]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}). + +Besides the +[common options]({{< relref "/unit/configuration.md#configuration-apps-common" >}}), +you have: + +{{}} +| Option | Description | +|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **webapp** (required) | String; pathname of the application's **.war** file (packaged or unpackaged). | +| **classpath** | Array of strings; paths to your app's required libraries (may point to directories or individual **.jar** files). | +| **options** | Array of strings; defines JVM runtime options. Unit itself exposes the **-Dnginx.unit.context.path** option that defaults to **/**; use it to customize the [context path](https://javaee.github.io/javaee-spec/javadocs/javax/servlet/ServletContext.html#getContextPath--). | +| **thread_stack_size** | Integer; stack size of a worker thread (in bytes, multiple of memory page size; the minimum value is usually architecture specific). The default is usually system dependent. | +| **threads** | Integer; number of worker threads per [app process]({{< relref "/unit/howto/security.md#sec-processes" >}}). When started, each app process creates this number of threads to handle requests. The default is **1**. | +{{}} + + +#### Example: + +```json +{ + "type": "java", + "classpath": [ + "/www/qwk2mart/lib/qwk2mart-2.0.0.jar" + ], + + "options": [ + "-Dlog_path=/var/log/qwk2mart.log" + ], + + "webapp": "/www/qwk2mart/qwk2mart.war" +} +``` + +{{< note >}} +For Java-based examples, see our +[Jira]({{< relref "/unit/howto/apps/jira/">}}), +[OpenGrok]({{< relref "/unit/howto/apps/opengrok/">}}), +and +[Springbook]({{< relref "/unit/howto/frameworks/springboot/">}}) +howtos or a basic +[sample]({{< relref "/unit/configuration.md#sample-java" >}}). +{{< /note >}} + +### Node.js {#configuration-nodejs} + +First, you need to have the `unit-http` module +[installed]({{< relref "/unit/installation.md#installation-nodejs-package" >}}). +If it's global, symlink it in your project directory: + +```console +npm link unit-http +``` + +Do the same if you move a Unit-hosted app to a new system where `unit-http` is +installed globally. Also, if you update Unit later, update the Node.js module as +well according to your +[installation method]({{< relref "/unit/installation.md#installation-nodejs-package" >}}). + +Next, to run your Node.js apps on Unit, you need to configure them. +Besides the +[common options]({{< relref "/unit/configuration.md#configuration-apps-common" >}}), +you have: + +{{}} + +| Option | Description | +|---------------|--------------------------------------------------------------------------------------------------------------------| +| **executable** (required) | String; pathname of the app, absolute or relative to **working_directory**.

Supply your **.js** pathname here and start the file itself with a proper shebang:

`#!/usr/bin/env node`

**Note:** Make sure to `chmod +x` the file you list here so Unit can start it. | +| **arguments** | Array of strings; command-line arguments to be passed to the app. The example below is equivalent to **/www/apps/node-app/app.js --tmp-files /tmp/node-cache**. | + +{{
}} + + +#### Example: + +```json +{ + "type": "external", + "working_directory": "/www/app/node-app/", + "executable": "app.js", + "user": "www-node", + "group": "www-node", + "arguments": [ + "--tmp-files", + "/tmp/node-cache" + ] +} +``` + + + +You can run Node.js apps without altering their code, using a loader module +we provide with `unit-http`. Apply the following app configuration, +depending on your version of Node.js: + +{{}} + +{{%tab name="14.16.x and later"%}} + +```json +{ + "type": "external", + "executable": "/usr/bin/env", + "comment_executable": "The external app type allows to run arbitrary executables, provided they establish communication with Unit", + "arguments": [ + "node", + "--loader", + "unit-http/loader.mjs", + "--require", + "unit-http/loader", + "app.js" + ], + "comment_arguments_last": "Application script name" +} +``` + +{{%/tab%}} + +{{%tab name="14.15.x and earlier"%}} + +```json +{ + "type": "external", + "executable": "/usr/bin/env", + "comment_executable": "The external app type allows to run arbitrary executables, provided they establish communication with Unit", + "arguments": [ + "node", + "--require", + "unit-http/loader", + "app.js" + ], + "comment_arguments_last": "Application script name" +} +``` + +{{%/tab%}} + +{{}} + +The loader overrides the **http** and **websocket** modules with their Unit-aware versions +and starts the app. + +You can also run your Node.js apps without the loader by updating the application source code. +For that, use **unit-http** instead of **http** in your code: + +```javascript +var http = require('unit-http'); +``` + +To use the WebSocket protocol, your app only needs to replace the default **websocket**: + +```javascript +var webSocketServer = require('unit-http/websocket').server; +``` + +{{< note >}} +For Node.js-based examples, see our +[apollo]({{< relref "/unit/howto/apps/apollo/">}}), +[express]({{< relref "/unit/howto/frameworks/express/">}}), +[koa]({{< relref "/unit/howto/frameworks/koa/">}}), +and +[Docker]({{< relref "/unit/howto/docker" >}}) +howtos or a basic +[sample]({{< relref "/unit/configuration.md#sample-nodejs" >}}). +{{< /note >}} + +### Perl {#configuration-perl} + +First, make sure to install Unit along with the +[Perl language module]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}). + +Besides the +[common options]({{< relref "/unit/configuration.md#configuration-apps-common" >}}), +you have: + +{{}} +| Option | Description | +|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **script** (required) | String; PSGI script path. | +| **thread_stack_size** | Integer; stack size of a worker thread (in bytes, multiple of memory page size; the minimum value is usually architecture specific). The default is usually system dependent and can be set with `ulimit -s `. | +| **threads** | Integer; number of worker threads per [app process]({{< relref "/unit/howto/security.md#sec-processes" >}}). When started, each app process creates this number of threads to handle requests. The default is **1**. | +{{}} + +#### Example: + +```json +{ + "type": "perl", + "script": "/www/bugtracker/app.psgi", + "working_directory": "/www/bugtracker", + "processes": 10, + "user": "www", + "group": "www" +} +``` + +{{< note >}} +For Perl-based examples of Perl, +see our +[Bugzilla]({{< relref "/unit/howto/apps/bugzilla/">}}) +and +[Catalyst]({{< relref "/unit/howto/frameworks/catalyst/">}}) +howtos or a basic +[sample]({{< relref "/unit/configuration.md#sample-perl" >}}). +{{< /note >}} + +### PHP {#configuration-php} + +First, make sure to install Unit along with the +[PHP language module]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}). + +Besides the +[common options]({{< relref "/unit/configuration.md#configuration-apps-common" >}}), you have: + +{{}} + +| Option | Description | +|---------------|--------------------------------------------------------------------------------------------------------------------| +| **root** (required) | String; base directory of the app's file structure. All URI paths are relative to it. | +| **index** | String; filename added to URI paths that point to directories if no **script** is set.

The default is **index.php**. | +| **options** | Object; [defines]({{< relref "/unit/configuration.md#configuration-php-options" >}}) the **php.ini** location and options. | +| **script** | String; filename of a **root**-based PHP script that serves all requests to the app. | +| **targets** | Object; defines application sections with [custom]({{< relref "/unit/configuration.md#configuration-php-targets" >}}) **root**, **script**, and **index** values. | + +{{
}} + + +The **index** and **script** options enable two modes of operation: + +- If **script** is set, all requests to the application are handled + by the script you specify in this option. +- Otherwise, the requests are served according to their URI paths; + if they point to directories, **index** is used. + + + +You can customize **php.ini** via the **options** object: + +{{}} + +| Option | Description | +|-----------------------|------------------------------------------------------------------------------------------------------------------------| +| **admin**, **user** | Objects for extra directives. Values in **admin** are set in **PHP_INI_SYSTEM** mode, so the app can't alter them; **user** values are set in **PHP_INI_USER** mode and can be [updated](https://www.php.net/manual/en/function.ini-set.php) at runtime.

- The objects override the settings from any ***.ini** files

- The **admin** object can only set what's [listed](https://www.php.net/manual/en/ini.list.php) as **PHP_INI_SYSTEM**; for other modes, set **user**

- Neither **admin** nor **user** can set directives listed as [php.ini only](https://www.php.net/manual/en/ini.list.php) except for **disable_classes** and **disable_functions** | +| **file** | String; pathname of the **php.ini** file with [PHP configuration directives](https://www.php.net/manual/en/ini.list.php). | + +{{
}} + + +To load multiple **.ini** files, use **environment** with `PHP_INI_SCAN_DIR` to +[scan a custom directory](https://www.php.net/manual/en/configuration.file.php): + +```json +{ + "applications": { + "hello-world": { + "type": "php", + "root": "/www/public/", + "script": "index.php", + "environment": { + "PHP_INI_SCAN_DIR": ":/tmp/php.inis/" + }, + "comment_PHP_INI_SCAN_DIR": "Path separator" + } + } +} +``` + +Mind that the colon that prefixes the value here is a path separator; +it causes PHP to scan the directory preconfigured with the +{option}`!--with-config-file-scan-dir` option, which is usually **/etc/php.d/**, +and then the directory you set here, which is **/tmp/php.inis/**. +To skip the preconfigured directory, drop the **:** prefix. + +{{< note >}} +Values in **options** must be strings (for example, **"max_file_uploads": "4"**, +not **"max_file_uploads": 4**); for boolean flags, use **"0"** and **"1"** only. +For details aof **PHP_INI\_\*** modes, see the +[PHP docs](https://www.php.net/manual/en/configuration.changes.modes.php). +{{< /note >}} + +{{< note >}} +Unit implements the **fastcgi_finish_request()** [function](https://www.php.net/manual/en/function.fastcgi-finish-request.php) in a manner similar to PHP-FPM. +{{< /note >}} + +#### Example: + +```json +{ + "type": "php", + "processes": 20, + "root": "/www/blogs/scripts/", + "user": "www-blogs", + "group": "www-blogs", + "options": { + "file": "/etc/php.ini", + "admin": { + "memory_limit": "256M", + "variables_order": "EGPCS" + }, + + "user": { + "display_errors": "0" + } + } +} +``` + +#### Targets {#configuration-php-targets} + +You can configure up to 254 individual entry points for a single PHP app: + +```json +{ + "applications": { + "php-app": { + "type": "php", + "targets": { + "front": { + "script": "front.php", + "root": "/www/apps/php-app/front/" + }, + + "back": { + "script": "back.php", + "root": "/www/apps/php-app/back/" + } + } + } + } +} +``` + +Each target is an object that specifies **root** and can define **index** or **script** +just like a regular app does. Targets can be used by the **pass** options +in listeners and routes to serve requests: + +```json +{ + "listeners": { + "127.0.0.1:8080": { + "pass": "applications/php-app/front" + }, + + "127.0.0.1:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": "/back" + }, + + "action": { + "pass": "applications/php-app/back" + } + } + ] +} +``` + +App-wide settings (**isolation**, **limits**, **options**, **processes**) +are shared by all targets within the app. + +{{< warning >}} +If you specify **targets**, there should be no **root**, **index**, or **script** +defined at the app level. +{{< /warning >}} + +{{< note >}} +For PHP-based examples, see our +[CakePHP]({{< relref "/unit/howto/frameworks/cakephp/">}}), +[CodeIgniter]({{< relref "/unit/howto/frameworks/codeigniter/">}}), +[DokuWiki]({{< relref "/unit/howto/apps/dokuwiki/">}}), +[Drupal]({{< relref "/unit/howto/apps/drupal/">}}), +[Laravel]({{< relref "/unit/howto/frameworks/laravel/">}}), +[Lumen]({{< relref "/unit/howto/frameworks/lumen/">}}), +[Matomo]({{< relref "/unit/howto/apps/matomo/">}}), +[MediaWiki]({{< relref "/unit/howto/apps/mediawiki/">}}), +[MODX]({{< relref "/unit/howto/apps/modx/">}}), +[Nextcloud]({{< relref "/unit/howto/apps/nextcloud/">}}), +[phpBB]({{< relref "/unit/howto/apps/phpbb/">}}), +[phpMyAdmin]({{< relref "/unit/howto/apps/phpmyadmin/">}}), +[Roundcube]({{< relref "/unit/howto/apps/roundcube/">}}), +[Symfony]({{< relref "/unit/howto/frameworks/symfony/">}}), +[WordPress]({{< relref "/unit/howto/apps/wordpress/">}}), +and +[Yii]({{< relref "/unit/howto/frameworks/yii/">}}) +howtos or a basic +[sample]({{< relref "/unit/configuration.md#sample-php" >}}). +{{< /note >}} + +### Python {#configuration-python} + +First, make sure to install Unit along with the +[Python language module]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}). + +Besides the +[common options]({{< relref "/unit/configuration.md#configuration-apps-common" >}}), +you have: + +{{}} + +| Option | Description | +|-----------------------|------------------------------------------------------------------------------------------------------------------------| +| **module** (required) | String; app's module name. This module is [imported](https://docs.python.org/3/reference/import.html) by Unit the usual Python way. | +| **callable** | String; name of the **module**-based callable that Unit runs as the app. The default is **application**. | +| **factory** | Boolean: when enabled, Unit treats **callable** as a factory. The default is **false**.

**Note:** Unit does *not* support passing arguments to factories. *(since 1.33.0)* | +| **home** | String; path to the app's [virtual environment](https://packaging.python.org/en/latest/tutorials/installing-packages/#creating-virtual-environments). Absolute or relative to **working_directory**.

**Note:** The Python version used to run the app is determined by **type**; for performance, Unit doesn't use the command-line interpreter from the virtual environment. | +| **path** | String or an array of strings; additional Python module lookup paths. These values are prepended to **sys.path**. | +| **prefix** | String; **SCRIPT_NAME** context value for WSGI or the **root_path** context value for ASGI. Should start with a slash (**/**). | +| **protocol** | String; hints Unit that the app uses a certain interface. Can be **asgi** or **wsgi**. | +| **targets** | Object; app sections with [custom]({{< relref "/unit/configuration.md#configuration-python-targets" >}}) **module** and **callable** values. | +| **thread_stack_size** | Integer; stack size of a worker thread (in bytes, multiple of memory page size; the minimum value is usually architecture specific). The default is usually system dependent and can be set with `ulimit -s `. | +| **threads** | Integer; number of worker threads per [app process]({{< relref "/unit/howto/security.md#sec-processes" >}}). When started, each app process creates this number of threads to handle requests. The default is **1**. | + +{{
}} + + +#### Example: + +```json +{ + "type": "python", + "processes": 10, + "working_directory": "/www/store/cart/", + "path": "/www/store/", + "comment_path": "Added to sys.path for lookup; store the application module within this directory", + "home": ".virtualenv/", + "comment_home": "Path where the virtual environment is located; here, it's relative to the working directory", + "module": "cart.run", + "comment_module": "Looks for a 'run.py' module in /www/store/cart/", + "callable": "app", + "prefix": "/cart", + "comment_prefix": "Sets the SCRIPT_NAME or root_path context value", + "user": "www", + "group": "www" +} +``` + +This snippet runs the **app** callable from the **/www/store/cart/run.py** module +with **/www/store/cart/** as the working directory and **/www/store/.virtualenv/** +as the virtual environment; the **path** value accommodates for situations +when some modules of the app are imported from outside the **cart/** subdirectory. + + + +You can provide the callable in two forms. The first one uses WSGI +([PEP 333](https://peps.python.org/pep-0333/) +or [PEP 3333](https://peps.python.org/pep-3333/)): + +```python +def application(environ, start_response): + start_response('200 OK', [('Content-Type', 'text/plain')]) + yield b'Hello, WSGI\n' +``` + +The second one, supported with Python 3.5+, uses +[ASGI](https://asgi.readthedocs.io/en/latest/): + +```python +async def application(scope, receive, send): + + await send({ + 'type': 'http.response.start', + 'status': 200 + }) + + await send({ + 'type': 'http.response.body', + 'body': b'Hello, ASGI\n' + }) +``` + +{{< note >}} +Legacy [two-callable](https://asgi.readthedocs.io/en/latest/specs/main.html#legacy-applications) +ASGI 2.0 applications were not supported prior to Unit 1.21.0. +{{< /note >}} + +Choose either one according to your needs; Unit tries to infer your choice automatically. +If this inference fails, use the **protocol** option to set the interface explicitly. + +{{< note >}} +The **prefix** option controls the **SCRIPT_NAME** +([WSGI](https://wsgi.readthedocs.io/en/latest/definitions.html)) +or **root_path** +([ASGI](https://asgi.readthedocs.io/en/latest/specs/www.html#http-connection-scope)) +setting in Python's context, allowing to route requests regardless of the app's factual path. +{{< /note >}} + + +#### Targets {#configuration-python-targets} + +You can configure up to 254 individual entry points for a single Python app: + +```json +{ + "applications": { + "python-app": { + "type": "python", + "path": "/www/apps/python-app/", + "targets": { + "front": { + "module": "front.wsgi", + "callable": "app" + }, + + "back": { + "module": "back.wsgi", + "callable": "app" + } + } + } + } +} +``` + +Each target is an object that specifies **module** and can also define **callable** and **prefix** +just like a regular app does. Targets can be used by the **pass** options +in listeners and routes to serve requests: + +```json +{ + "listeners": { + "127.0.0.1:8080": { + "pass": "applications/python-app/front" + }, + + "127.0.0.1:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": "/back" + }, + + "action": { + "pass": "applications/python-app/back" + } + } + ] +} +``` + +The **home**, **path**, **protocol**, **threads**, and **thread_stack_size** settings +are shared by all targets in the app. + +{{< warning >}} +If you specify **targets**, there should be no **module** or **callable** +defined at the app level. Moreover, you can't combine WSGI and ASGI targets +within a single app. +{{< /warning >}} + +{{< note >}} +For Python-based examples, see our +[Bottle]({{< relref "/unit/howto/frameworks/bottle/">}}), +[Datasette]({{< relref "/unit/howto/apps/datasette/">}}), +[Django]({{< relref "/unit/howto/frameworks/django/">}}), +[DjangoChannels]({{< relref "/unit/howto/frameworks/djangochannels/">}}), +[Falcon]({{< relref "/unit/howto/frameworks/falcon/">}}), +[FastAPI]({{< relref "/unit/howto/frameworks/fastapi/">}}), +[Flask]({{< relref "/unit/howto/frameworks/flask/">}}), +[Guillotina]({{< relref "/unit/howto/frameworks/guillotina/">}}), +[Mailman]({{< relref "/unit/howto/apps/mailman/">}}), +[Mercurial]({{< relref "/unit/howto/apps/mercurial/">}}), +[Moin]({{< relref "/unit/howto/apps/moin/">}}), +[Plone]({{< relref "/unit/howto/apps/plone/">}}), +[Pyramid]({{< relref "/unit/howto/frameworks/pyramid/">}}), +[Quart]({{< relref "/unit/howto/frameworks/quart/">}}), +[Responder]({{< relref "/unit/howto/frameworks/responder/">}}), +[ReviewBoard]({{< relref "/unit/howto/apps/reviewboard/">}}), +[Sanic]({{< relref "/unit/howto/frameworks/sanic/">}}), +[Starlette]({{< relref "/unit/howto/frameworks/starlette/">}}), +[Trac]({{< relref "/unit/howto/apps/trac/">}}), +and +[Zope]({{< relref "/unit/howto/frameworks/zope/">}}) +howtos or a basic +[sample]({{< relref "/unit/configuration.md#sample-python" >}}). +{{< /note >}} + + +### Ruby {#configuration-ruby} + +First, make sure to install Unit along with the +[Ruby language module]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}). + +{{< note >}} +Unit uses the [Rack](https://rack.github.io) interface to run Ruby scripts; +you need to have it installed as well: + +```console +$ gem install rack +``` +{{< /note >}} + +Besides the +[common options]({{< relref "/unit/configuration.md#configuration-apps-common" >}}), +you have: + +{{}} + +| Option | Description | +|----------------|----------------------------------------------------------------------------------------------------------------------| +| **script** (required) | String; rack script pathname, including the **.ru** extension, for instance: **/www/rubyapp/script.ru**. | +| **hooks** | String; pathname of the **.rb** file setting the event hooks invoked during the app's lifecycle. | +| **threads** | Integer; number of worker threads per [app process]({{< relref "/unit/howto/security.md#sec-processes" >}}). When started, each app process creates this number of threads to handle requests. The default is **1**. | + +{{}} + + +#### Example: + +```json +{ + "type": "ruby", + "processes": 5, + "user": "www", + "group": "www", + "script": "/www/cms/config.ru", + "hooks": "hooks.rb" +} +``` + +The **hooks** script is evaluated when the app starts. If set, it can define +blocks of Ruby code named **on_worker_boot**, **on_worker_shutdown**, +**on_thread_boot**, or **on_thread_shutdown**. If provided, these blocks are +called at the respective points of the app's lifecycle, for example: + + +```ruby +@mutex = Mutex.new + +File.write("./hooks.#{Process.pid}", "hooks evaluated") +# Runs once at app load. + +on_worker_boot do + File.write("./worker_boot.#{Process.pid}", "worker boot") +end +# Runs at worker process boot. + +on_thread_boot do + @mutex.synchronize do + # Avoids a race condition that may crash the app. + File.write("./thread_boot.#{Process.pid}.#{Thread.current.object_id}", + "thread boot") + end +end +# Runs at worker thread boot. + +on_thread_shutdown do + @mutex.synchronize do + # Avoids a race condition that may crash the app. + File.write("./thread_shutdown.#{Process.pid}.#{Thread.current.object_id}", + "thread shutdown") + end +end +# Runs at worker thread shutdown. + +on_worker_shutdown do + File.write("./worker_shutdown.#{Process.pid}", "worker shutdown") +end +# Runs at worker process shutdown. +``` + +Use these hooks to add custom runtime logic to your app. + +{{< note >}} +For Ruby-based examples, see our +[Rails]({{< relref "/unit/howto/frameworks/rails/">}}) +and +[Redmine]({{< relref "/unit/howto/apps/redmine/">}}) +howtos or a basic +[sample]({{< relref "/unit/configuration.md#sample-ruby" >}}). +{{< /note >}} + + +### WebAssembly {#configuration-wasm} + + + +{{}} +{{%tab name="wasm-wasi-component"%}} + +First, make sure to install Unit along with the +[WebAssembly language module]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}). + +Besides the +[common options]({{< relref "/unit/configuration.md#configuration-apps-common" >}}), +you have: + +{{}} +| Option | Description | +|--------------|-----------------------------------------------------------------------------------------------------------------| +| **component** (required) | String; WebAssembly component pathname, including the **.wasm** extension, for instance: "/var/www/wasm/component.wasm" | +| **access** | Object; its only array member, **filesystem**, lists directories to which the application has access. | +{{}} + +The `access` object has the following structure: + +```json +"access": { + "filesystem": [ + "/tmp/", + "/var/tmp/" + ] +} +``` + +#### Example: + +```json + { + "listeners": { + "127.0.0.1:8080": { + "pass": "applications/wasm" + } + }, + "applications": { + "wasm": { + "type": "wasm-wasi-component", + "component": "/var/www/app/component.wasm", + "access": { + "filesystem": [ + "/tmp/", + "/var/tmp/" + ] + } + } + } + } +``` + +{{< note >}} +A good, first Rust-based project is available at +[sunfishcode/hello-wasi-http](https://github.com/sunfishcode/hello-wasi-http). +It also includes all the important steps to get started with WebAssembly, WASI, and Rust. +{{< /note >}} +{{%/tab%}} + +{{%tab name="unit-wasm"%}} +{{< warning >}} +The `unit-wasm` module is deprecated. We recommend using `wasm-wasi-component` +instead, which supports WebAssembly Components using standard WASI 0.2 interfaces. +The `wasm-wasi-component` module is available in Unit 1.32 and later. +{{< /warning >}} + +First, make sure to install Unit along with the +[WebAssembly language module]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}). + +Besides the +[common options]({{< relref "/unit/configuration.md#configuration-apps-common" >}}), +you have: + +{{}} +| Option | Description | +|----------------------------|-----------------------------------------------------------------------------------------------------------------| +| **module** (required) | String; WebAssembly module pathname, including the **.wasm** extension, for instance: **applications/wasmapp/module.wasm**. | +| **request_handler** (required) | String; name of the request handler function. If you use Unit with the official `unit-wasm` [package]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}), the value is language specific; see the [SDK](https://github.com/nginx/unit-wasm/) documentation for details. Otherwise, use the name of your custom implementation. The runtime calls this handler, providing the address of the shared memory block used to pass data in and out the app. | +| **malloc_handler** (required) | String; name of the memory allocator function. See note above regarding language-specific handlers in the official `unit-wasm` package. The runtime calls this handler at language module startup to allocate the shared memory block used to pass data in and out the app. | +| **free_handler** (required) | String; name of the memory deallocator function. See note above regarding language-specific handlers in the official `unit-wasm` package. The runtime calls this handler at language module shutdown to free the shared memory block used to pass data in and out the app. | +| **access** | Object; its only array member, **filesystem**, lists directories the application can access: | +| | `"access": {`

    `"filesystem": [`

        `"/tmp/",`

        `"/var/tmp/"`

    `]`

  `}` | +| **module_init_handler** | String; name of the module initialization function. If you use Unit with the official `unit-wasm` [package]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}), the value is language specific; see the [SDK](https://github.com/nginx/unit-wasm/) documentation for details. Otherwise, use the name of your custom implementation. It is invoked by the WebAssembly language module at language module startup, after the WebAssembly module was initialized. | +| **module_end_handler** | String; name of the module finalization function. If you use Unit with the official `unit-wasm` [package]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}), the value is language specific; see the [SDK](https://github.com/nginx/unit-wasm/) documentation for details. Otherwise, use the name of your custom implementation. It is invoked by the WebAssembly language module at language module shutdown. | +| **request_init_handler** | String; name of the request initialization function. If you use Unit with the official `unit-wasm` [package]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}), the value is language specific; see the [SDK](https://github.com/nginx/unit-wasm/) documentation for details. Otherwise, use the name of your custom implementation. It is invoked by the WebAssembly language module at the start of each request. | +| **request_end_handler** | String; name of the request finalization function. If you use Unit with the official `unit-wasm` [package]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}), the value is language specific; see the [SDK](https://github.com/nginx/unit-wasm/) documentation for details. Otherwise, use the name of your custom implementation. It is invoked by the WebAssembly language module at the end of each request, when the headers and the request body were received. | +| **response_end_handler** | String; name of the response finalization function. If you use Unit with the official `unit-wasm` [package]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}), the value is language specific; see the [SDK](https://github.com/nginx/unit-wasm/) documentation for details. Otherwise, use the name of your custom implementation. It is invoked by the WebAssembly language module at the end of each response, when the headers and the response body were sent. | +{{
}} + + +#### Example: + +```json + { + "type": "wasm", + "module": "/www/webassembly/unitapp.wasm", + "request_handler": "my_custom_request_handler", + "malloc_handler": "my_custom_malloc_handler", + "free_handler": "my_custom_free_handler", + "access": { + "filesystem": [ + "/tmp/", + "/var/tmp/" + ] + }, + "module_init_handler": "my_custom_module_init_handler", + "module_end_handler": "my_custom_module_end_handler", + "request_init_handler": "my_custom_request_init_handler", + "request_end_handler": "my_custom_request_end_handler", + "response_end_handler": "my_custom_response_end_handler" + } +``` + +Use these handlers to add custom runtime logic to your app; for a detailed +discussion of their usage and requirements, see the +[SDK](https://github.com/nginx/unit-wasm/) source code and documentation. + +{{< note >}} +For WASM-based examples, see our [Rust and C samples]({{< relref "/unit/configuration.md#sample-wasm" >}}). +{{< /note >}} +{{%/tab%}} +{{
}} + +## Settings {#configuration-stngs} + +Unit has a global **settings** configuration object that stores instance-wide preferences. + +{{}} +| Option | Description | +|---------------------|--------------------------------------------------------------------------------------------------------------------------| +| **listen_threads** | Integer; controls the number of router threads created to handle client connections. Each thread includes all the configured listeners. By default, we create as many threads as the number of CPUs that are available to run on. *(since 1.33.0)* | +| **http** | Object; fine-tunes handling of HTTP requests from the clients. | +| **js_module** | String or an array of strings; lists enabled `njs` [modules]({{< relref "/unit/scripting.md" >}}), uploaded via the [control API]({{< relref "/unit/controlapi.md" >}}). | +| **telemetry** | Object: OpenTelemetry configuration *(since 1.34.0)* | + +{{}} + + +In turn, the **http** option exposes the following settings: + +{{}} + +| Option | Description | +|------------------------|----------------------------------------------------------------------------------------------------------------------------| +| **body_read_timeout** | Maximum number of seconds to read data from the body of a client's request. This is the interval between consecutive read operations, not the time to read the entire body. If Unit doesn't receive any data from the client within this interval, it returns a 408 "Request Timeout" response. The default is 30. | +| **discard_unsafe_fields** | Boolean; controls header field name parsing. If it's set to **true**, Unit only processes header names made of alphanumeric characters and hyphens (see [RFC 9110](https://datatracker.ietf.org/doc/html/rfc9110#section-16.3.1-6); otherwise, these characters are also permitted: **.!#$%&'*+^_`|~**. The default is **true**. | +| **header_read_timeout** | Maximum number of seconds to read the header of a client's request. If Unit doesn't receive the entire header from the client within this interval, it returns a 408 "Request Timeout" response. The default is 30. | +| **idle_timeout** | Maximum number of seconds between requests in a keep-alive connection. If no new requests arrive within this interval, Unit returns a 408 "Request Timeout" response and closes the connection. The default is 180. | +| **log_route** | Boolean; enables or disables [router logging]({{< relref "/unit/troubleshooting.md#troubleshooting-router-log" >}}). The default is **false** (disabled). | +| **max_body_size** | Maximum number of bytes in the body of a client's request. If the body size exceeds this value, Unit returns a 413 "Payload Too Large" response and closes the connection. The default is 8388608 (8 MB). | +| **send_timeout** | Maximum number of seconds to transmit data as a response to the client. This is the interval between consecutive transmissions, not the time for the entire response. If no data is sent to the client within this interval, Unit closes the connection. The default is 30. | +| **server_version** | Boolean; if set to **false**, Unit omits version information in its **Server** response [header fields](https://datatracker.ietf.org/doc/html/rfc9110.html#section-10.2.4). The default is **true**. *(since 1.30.0)* | +| **static** | Object; configures static asset handling. Has a single object option named **mime_types** that defines specific [MIME types](https://www.iana.org/assignments/media-types/media-types.xhtml) as options. Their values can be strings or arrays of strings; each string must specify a filename extension or a specific filename that's included in the MIME type. You can override default MIME types or add new types. | + +{{}} + + +The **telemetry** option exposes the following settings: + +{{}} + +| Option | Description | +|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------| +| **endpoint** | The endpoint for the OpenTelemetry (OTEL) Collector.

It takes a URL to either a gRPC or HTTP(S) endpoint. | +| **protocol** | Determines the protocol used to communicate with the endpoint.

Can be either *http(s)* or *grpc*. | +| **batch_size** | Number of spans to cache before triggering a transaction with the configured endpoint. This is optional.

This allows the user to cache up to N spans before the OpenTelemetry (OTEL) background thread sends spans over the network to the collector.

If specified, it must be a positive integer. | +| **sampling_ratio** | Percentage of requests to trace.

This allows the user to only trace anywhere from 0% to 100% of requests that hit Unit. In high throughput environments this percentage should be lower. This allows the user to save space in storing span data, and to collect request metrics like time to decode headers and whatnot without storing massive amounts of duplicate superfluous data.

If specified, it must be a positive floating point number. | + +{{
}} + + +#### Example: + +```json +"settings": { + "telemetry": { + "batch_size": 20, + "endpoint": "http://example.com/v1/traces", + "protocol": "http", + "sampling_ratio": 1.0 + } +}, +``` + + +## Access log {#configuration-access-log} + +To enable basic access logging, specify the log file path in the **access_log** option +of the **config** object. + +In the example below, all requests will be logged to **/var/log/access.log**: + +```console +curl -X PUT -d '"/var/log/access.log"' \ + --unix-socket /path/to/control.unit.sock \ + http://localhost/config/access_log + + { + "success": "Reconfiguration done." + } +``` + +By default, the log is written in the +[Combined Log Format](https://httpd.apache.org/docs/2.2/logs.html#combined). +Example of a CLF line: + +```none +127.0.0.1 - - [21/Oct/2015:16:29:00 -0700] "GET / HTTP/1.1" 200 6022 "http://example.com/links.html" "Godzilla/5.0 (X11; Minix i286) Firefox/42" +``` + +### Custom log formatting {#custom-log-format} + +The **access_log** option can be also set to an object to customize both the log path +and its format: + +{{}} + +| Option | Description | +|----------|-------------------------------------------------------------------------------------------------------------------------------| +| **format** | String; sets the log format. Besides arbitrary text, can contain any [variables]({{< relref "/unit/configuration.md#configuration-variables-native" >}}) Unit supports. | +| **path** | String; pathname of the access log file. | + +{{}} + + +#### Example: + +```json +{ + "access_log": { + "path": "/var/log/unit/access.log", + "format": "$remote_addr - - [$time_local] \"$request_line\" $status $body_bytes_sent \"$header_referer\" \"$header_user_agent\"" + } +} +``` + +By a neat coincidence, the above **format** is the default setting. +Also, mind that the log entry is formed *after* the request has been handled. + +Besides +[built-in variables]({{< relref "/unit/configuration.md#configuration-variables-native" >}}), +you can use `njs` [templates]({{< relref "/unit/scripting.md" >}}) +to define the log format: + +```json +{ + "access_log": { + "path": "/var/log/unit/basic_access.log", + "format": "`${host + ': ' + uri}`" + } +} +``` + +### JSON log format + +Starting with NGINX Unit 1.34.0, **format** can instead be an object +describing JSON field name/value pairs, for example, + +```json +{ + "access_log": { + "path": "/tmp/access.log", + "format": { + "remote_addr": "$remote_addr", + "time_local": "$time_local", + "request_line": "$request_line", + "status": "$status", + "body_bytes_sent": "$body_bytes_sent", + "header_referer": "$header_referer", + "header_user_agent": "$header_user_agent" + } + } +} +``` + +The JSON *values* can be strings, variables and JavaScript. + + +### Conditional access log {#conditional-access-log-1} + +The **access_log** can be dynamically turned on and off by using the **if** option: + +{{}} +| Option | Description | +|--------|-------------| +| **if** | if the value is empty, 0, false, null, or undefined, the logs will not be recorded. | +{{}} + + +This feature lets users set conditions to determine whether access logs are +recorded. The **if** option supports a string and JavaScript code. +If its value is empty, 0, false, null, or undefined, the logs will not be +recorded. And the '!' as a prefix inverses the condition. + +Example without njs: + +```json +{ + "access_log": { + "if": "$cookie_session", + "path": "..." + } +} +``` + +All requests using a session cookie named **session** will be logged. + +We can add `!` to inverse the condition. + +```json +{ + "access_log": { + "if": "!$cookie_session", + "path": "..." + } +} +``` + +Now, all requests without a session cookie will be logged. + +Example with njs and the use of a template literal: + +```json +{ + "access_log": { + "if": "`${uri == '/health' ? false : true}`", + "path": "..." + } +} +``` diff --git a/content/unit/controlapi.md b/content/unit/controlapi.md new file mode 100644 index 000000000..a8c57aab2 --- /dev/null +++ b/content/unit/controlapi.md @@ -0,0 +1,524 @@ +--- +title: Control API +weight: 500 +toc: true +--- + +Unit's configuration is JSON-based, accessible via a RESTful control API, +and entirely manageable over HTTP. The control API provides a root object +(**/**) that comprises four primary options: + + +{{}} +| Object | Description | +|-------------------|------------------------------------------------------------------------------------------------------------------| +| **/certificates**| Responsible for SSL/TLS [certificate management]({{}}). | +| **/config** | Used for general [configuration management]({{}}). | +| **/control** | Queried for [application restart]({{}}). | +| **/status** | Queried for [usage statistics]({{}}). | +{{}} + + + +The API is exposed through a socket whose type and address depend on the + [installation method]({{}}). +Its compile-time setting can be overridden at +[startup]({{}}). + + + +For consistency and +[security]({{}}), +our examples use Unix domain sockets unless stated otherwise. +Example queries use `curl`, and URIs are prefixed with **http://localhost** +as the utility expects (the hostname is irrelevant for Unit itself), +but you can use any HTTP tool you like. For instance, Visual Studio Code users +may benefit from this +[third-party extension](https://marketplace.visualstudio.com/items?itemName=Stanislav.vscode-nginx-unit). + +
+No configuration files used + +The control API is the single source of truth about Unit's configuration. +There are no configuration files that can or should be manipulated; +this is a deliberate design choice made to avoid issues such as: + +- Undetected invalid states: + Configuration files can be saved in an invalid state, + and the issue won't be seen until reload or startup. + The control API avoids this by validating configuration changes on the fly. + +- Too broad or too narrow configuration file permissions: + If a configuration file is inaccessible, it can't be loaded; + if it's public,sensitive data may leak. + The control API has a single manageable point of entry. + +- Unpredictable behavior: + In a configuration file hierarchy, it's easy to lose track and misconfigure something. + With the control API, the entire configuration is a single, organized, and navigatable entity. +
+ + +
+Replicating Unit states + +Although Unit is fully dynamic, sometimes you just want to copy an existing setup +without extra modification. Unit's +[state directory]({{< relref "/unit/howto/source.md#source-config-src-state" >}}) +are interchangeable as long as Unit version stays the same, +so you can use a shortcut to replicate a Unit instance. Also, this works with the +Docker [images]({{< relref "/unit/howto/docker.md" >}}). + +{{< warning >}} +Unit's state can change its structure between versions +and must not be edited by external means. +{{< /warning >}} + +On the machine where the *reference* Unit instance runs, +find out where the state is stored: + +```console +unitd -h + + --state DIRECTORY set state directory name + default: "/path/to/reference/unit/state" # The value we're looking for +``` + +Double-check that the state location isn't overridden at startup: + +```console +ps ax | grep unitd + ... + unit: main v1.34.1 [unitd --state /runtime/path/to/reference/unit/state ... ] # The runtime value overrides the default +``` + +Repeat these commands on the second machine to see where the target instance +stores its state. + +Stop both Unit instances, for example, running the following command as root: + +```console +systemctl stop unit +``` + +{{< note >}} +Stop and start commands may differ if Unit was installed from a +[non-official]({{}}) +repo or built from [source]({{}}). +{{< /note >}} + +Copy the reference state directory to the target state directory by arbitrary means; +make sure to include subdirectories and hidden files. +Finally, restart both Unit instances running the following command as root: + +```console +systemctl restart unit +``` + +If you run your Unit instances manually, **--state** can be used to set the +state directory at [startup]({{}}). + +After restart, the target instance picks up the configuration you've copied to +the state directory. +
+ +## OpenAPI specification {#controlapi-openapi} + +For a more formal approach to Unit's control API, download the +[OpenAPI specification](https://raw.githubusercontent.com/nginx/unit/master/docs/unit-openapi.yaml) +or try the interactive Docker +[ version](/unit/downloads/unit-openapi.Dockerfile). +First, build the image and run a container: + +```console +docker build --tag=unit-openapi -f unit-openapi.Dockerfile . +``` + +```console +docker run -d -p 8765:8765 -p 8080:8080 unit-openapi +``` + +Next, open **http://localhost:8765** in a browser. + +To use this image against a pre-existing Unit instance, type in the address and +port of the instance's +[control socket]({{}}). +(only IP sockets are supported now) on the page: + +![Unit's OpenAPI Image Page - Customizing Control Socket Address](/unit/images/openapi.png) + + +## Quick start {#configuration-quickstart} + +{{< note >}} +Run the `curl` commands in this section as root. +{{< /note >}} + +For a brief intro, we configure Unit to serve a static file. +Suppose you saved this as **/www/data/index.html**: + +```html + + + + Welcome to NGINX Unit! + + + +

Welcome to NGINX Unit!

+

If you see this page, the NGINX Unit web server is successfully + installed and working. Further configuration is required. +

+

For online documentation and support, please refer to + unit.nginx.org.
+

+

Thank you for using NGINX Unit.

+ + +``` + +Now, Unit should +[listen]({{< relref "/unit/configuration.md#configuration-listeners" >}}) +on a port that +[routes]({{< relref "/unit/configuration.md#configuration-routes" >}}) +the incoming requests to a **share** action, +which serves the file: + +```json +{ + "listeners": { + "127.0.0.1:8080": { + "pass": "routes" + } + }, + + "routes": [ + { + "action": { + "share": "/www/data$uri" + } + } + ] +} +``` + +To configure Unit, **PUT** this snippet to the **/config** section via the +[control socket]({{}}). +Working with JSON in the command line +can be cumbersome; instead, save and upload it as **snippet.json**. + +```console +curl -X PUT --data-binary @snippet.json --unix-socket \ + /path/to/control.unit.sock http://localhost/config # Path to Unit's control socket in your installation + + { + "success": "Reconfiguration done." + } +``` + +To confirm this works, query the listener. Unit responds with the **index.html** +file from the **share** directory: + +```console +curl -i 127.0.0.1:8080 + + HTTP/1.1 200 OK + Content-Type: text/html + Server: Unit/1.28.0 + + + + + Welcome to NGINX Unit! + ... +``` + +## API manipulation {#configuration-mgmt} + +To address parts of the control API, query the +[control socket]({{}}) +over HTTP; URI path segments of your API requests must be the names of its +[JSON object](https://datatracker.ietf.org/doc/html/rfc8259#section-4) +members or indexes of its +[JSON array](https://datatracker.ietf.org/doc/html/rfc8259#section-5) +elements. + +{{< note >}} +If you often configure Unit manually, JSON command-line tools such as +[jq](https://stedolan.github.io/jq/) and [jo](https://jpmens.net/2016/03/05/a-shell-command-to-create-json-jo/) may +come in handy. +{{< /note >}} + +The API supports the following HTTP methods: + +{{}} +| Method | Action | +|----------|-------------------------------------------------------------------------------------------------------| +| **GET** | Returns the entity at the request URI

as a JSON value in the HTTP response body. | +| **POST** | Updates the *array* at the request URI,

appending the JSON value from the HTTP request body. | +| **PUT** | Replaces the entity at the request URI

and returns a status message in the HTTP response body.| +| **DELETE**| Deletes the entity at the request URI

and returns a status message in the HTTP response body.| +{{
}} + + +Before a change, Unit checks the difference it makes in the entire configuration; +if there's none, nothing is done. Thus, you can't restart an app +by reuploading its unchanged configuration (but there's a +[way]({{< relref "/unit/configuration.md#configuration-proc-mgmt" >}}) +of restarting apps). + +Unit performs actual reconfiguration steps +as gracefully as possible: +running tasks expire naturally, +connections are properly closed, +processes end smoothly. + +Any type of update can be done with different URIs, +provided you supply the right JSON. Run the following commands as root: + +```console +# curl -X PUT -d '{ "pass": "applications/blogs" }' --unix-socket \ + /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/listeners/127.0.0.1:8300 +``` + +```console +# curl -X PUT -d '"applications/blogs"' --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/listeners/127.0.0.1:8300/pass +``` + +However, the first command replaces the *entire* listener, +dropping any other options you could have configured, +whereas the second one replaces only the **pass** value +and leaves other options intact. + + + +## Examples {#conf-examples} + +To minimize typos and effort, +avoid embedding JSON payload in your commands; +instead, store your configuration snippets for review and reuse. +For instance, save your application object as **wiki.json**: + +```json +{ + "type": "python", + "module": "wsgi", + "user": "www-wiki", + "group": "www-wiki", + "path": "/www/wiki/" +} +``` + +Use it to set up an application called **wiki-prod**. + +```console +# curl -X PUT --data-binary @wiki.json \ + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/applications/wiki-prod +``` + +Use it again to set up a development version of the same app +called **wiki-dev**: + +```console +# curl -X PUT --data-binary @wiki.json \ + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/applications/wiki-dev +``` + +Toggle the **wiki-dev** app to another source code directory: + +```console +# curl -X PUT -d '"/www/wiki-dev/"' \ + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/applications/wiki-dev/path +``` + +Next, boost the process count for the production app +to warm it up a bit: + +```console +# curl -X PUT -d '5' \ + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/applications/wiki-prod/processes +``` + +Add a listener for the **wiki-prod** app +to accept requests at all host IPs: + +```console +# curl -X PUT -d '{ "pass": "applications/wiki-prod" }' \ + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + 'http://localhost/config/listeners/*:8400' +``` + +Plug the **wiki-dev** app into the listener to test it: + +```console +# curl -X PUT -d '"applications/wiki-dev"' --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + 'http://localhost/config/listeners/*:8400/pass' +``` + +Then rewire the listener, +adding a URI-based route to the development version of the app: + +```console +$ cat << EOF > config.json + + [ + { + "match": { + "uri": "/dev/*" + }, + + "action": { + "pass": "applications/wiki-dev" + } + } + ] + EOF +``` + +```console +# curl -X PUT --data-binary @config.json --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/routes +``` + +```console +# curl -X PUT -d '"routes"' --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + 'http://localhost/config/listeners/*:8400/pass' +``` + +Next, change the **wiki-dev**'s URI prefix +in the **routes** array, +using its index (0): + +```console +# curl -X PUT -d '"/development/*"' --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/routes/0/match/uri +``` + +Append a route to the prod app: +**POST** always adds to the array end, +so there's no need for an index: + +```console +# curl -X POST -d '{"match": {"uri": "/production/*"}, \ + "action": {"pass": "applications/wiki-prod"}}' \ + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/routes/ +``` + +Otherwise, use **PUT** with the array's last index +(0 in our sample) +*plus one* +to add the new item at the end: + +```console +# curl -X PUT -d '{"match": {"uri": "/production/*"}, \ + "action": {"pass": "applications/wiki-prod"}}' \ + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/routes/1/ +``` + +To get the complete **/config** section: + +```console +# curl --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/ + + { + "listeners": { + "*:8400": { + "pass": "routes" + } + }, + + "applications": { + "wiki-dev": { + "type": "python", + "module": "wsgi", + "user": "www-wiki", + "group": "www-wiki", + "path": "/www/wiki-dev/" + }, + + "wiki-prod": { + "type": "python", + "processes": 5, + "module": "wsgi", + "user": "www-wiki", + "group": "www-wiki", + "path": "/www/wiki/" + } + }, + + "routes": [ + { + "match": { + "uri": "/development/*" + }, + + "action": { + "pass": "applications/wiki-dev" + } + }, + { + "action": { + "pass": "applications/wiki-prod" + } + } + ] + } +``` + +To obtain the **wiki-dev** application object: + +```console +# curl --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/applications/wiki-dev + + { + "type": "python", + "module": "wsgi", + "user": "www-wiki", + "group": "www-wiki", + "path": "/www/wiki-dev/" + } +``` + +You can save JSON returned by such requests +as **.json** files for update or review: + +```console +# curl --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/ > config.json +``` + +To drop the listener on **\*:8400**: + +```console +# curl -X DELETE --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + 'http://localhost/config/listeners/*:8400' +``` + +Mind that you can't delete objects that other objects rely on, +such as a route still referenced by a listener: + +```console +# curl -X DELETE --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/routes + + { + "error": "Invalid configuration.", + "detail": "Request \"pass\" points to invalid location \"routes\"." + } +``` diff --git a/content/unit/howto/_index.md b/content/unit/howto/_index.md new file mode 100644 index 000000000..4d4e46b58 --- /dev/null +++ b/content/unit/howto/_index.md @@ -0,0 +1,5 @@ +--- +title: How-to guides +weight: 1100 +url: /unit/howto/ +--- diff --git a/content/unit/howto/ansible.md b/content/unit/howto/ansible.md new file mode 100644 index 000000000..b891e3235 --- /dev/null +++ b/content/unit/howto/ansible.md @@ -0,0 +1,116 @@ +--- +title: Unit in Ansible +weight: 400 +toc: true +--- + +The [Ansible collection](https://galaxy.ansible.com/steampunk/unit) by [XLAB +Steampunk](https://steampunk.si) provides a number of Unit-related tasks +that you can use with Ansible; some of them simplify installation and setup, +while others provide common configuration steps. + +{{< note >}} +Ansible 2.9+ required; the collection relies on official packages and +supports Debian only. + +A brief intro by the collection's authors can be found [here](https://docs.steampunk.si/unit/quickstart.html); a behind-the-scenes +blog post is [here](https://steampunk.si/blog/why-and-how-of-the-nginx-unit-ansible-collection/). +{{< /note >}} + +First, install the collection: + +```console +$ ansible-galaxy collection install steampunk.unit +``` + +After installation, you can use it in a playbook. Consider this +[WSGI app]({{< ref "/unit/configuration.md#python.md" >}}): + +```python +def application(environ, start_response): + start_response("200 OK", [("Content-Type", "text/plain")]) + return (b"Hello, Python on Unit!") +``` + +This [playbook](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_intro.html) +installs Unit with the Python language module, copies the app's file, and runs +the app: + +```yaml +--- +- name: Install and run NGINX Unit + hosts: unit_hosts + become: true + + tasks: + - name: Install Unit + include_role: + name: steampunk.unit.install + + - name: Create a directory for our application + file: + path: /var/www + state: directory + comment_path: "Directory where the app will be stored on the host" + + - name: Copy application + copy: + src: files/wsgi.py + dest: /var/www/wsgi.py + mode: "644" + comment_src: "Note that the application's code is copied from a subdirectory" + comment_dest: "Filename on the host" + + - name: Add application config to Unit + steampunk.unit.python_app: + name: sample + module: wsgi + path: /var/www + comment_name: "Becomes the application's name in the configuration" + comment_module: "Goes straight to 'module' in the application's configuration" + comment_path: "Again, goes straight to the application's configuration" + + - name: Expose application via port 3000 + steampunk.unit.listener: + pattern: "*:3000" + pass: applications/sample + comment_pattern: "The listener's name in the configuration" + comment_pass: "Goes straight to 'pass' in the listener's configuration" +``` + +The final preparation step is the +[host inventory](https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html) +that lists your managed hosts' addresses: + +```yaml +all: + children: + unit_hosts: + hosts: + 203.0.113.1: +``` + +With everything in place, start the playbook: + +```console +$ ansible-playbook -i inventory.yaml playbook.yaml # Replace with your filenames + + PLAY [Install and run NGINX Unit] *** + + ... + + TASK [Expose application via port 3000] *** + ok: [203.0.113.1] + + PLAY RECAP ******************************** + 203.0.113.1 : ok=15 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 +``` + +If it's OK, try the app at the host address from the inventory and the port +number set in the playbook: + +```console +$ curl 203.0.113.1:3000 + + Hello, Python on Unit! +``` diff --git a/content/unit/howto/apps/_index.md b/content/unit/howto/apps/_index.md new file mode 100644 index 000000000..bbeb1a472 --- /dev/null +++ b/content/unit/howto/apps/_index.md @@ -0,0 +1,4 @@ +--- +title: Applications +weight: 1100 +--- \ No newline at end of file diff --git a/content/unit/howto/apps/apollo.md b/content/unit/howto/apps/apollo.md new file mode 100644 index 000000000..5f0c7c992 --- /dev/null +++ b/content/unit/howto/apps/apollo.md @@ -0,0 +1,179 @@ +--- +title: Apollo +weight: 100 +toc: true +--- + +To run the [Apollo](https://www.apollographql.com) GraphQL server +using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with the + **unit-dev/unit-devel** package. Next, [install]({{< relref "unit/installation.md#installation-nodejs-package" >}}) Unit's **unit-http** package. Run the following + command as root: + + ```console + # npm install -g --unsafe-perm unit-http + ``` + +2. Create your app directory, [install](https://expressjs.com/en/starter/installing.html) Apollo, and link + **unit-http**. Run the commands starting with a hash (#) as root: + + ```console + $ mkdir -p /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ npm install @apollo/server graphql + ``` + + ```console + # npm link unit-http + ``` + +3. Create the [middleware](https://www.apollographql.com/docs/apollo-server/api/express-middleware/) + module; let's store it as **/path/to/app/apollo.js**. + First, initialize the directory: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ npm init + ``` + + Next, add the following code: + + ```javascript + import { ApolloServer } from '@apollo/server'; + import { expressMiddleware } from '@apollo/server/express4'; + import { ApolloServerPluginDrainHttpServer } from '@apollo/server/plugin/drainHttpServer'; + import express from 'express'; + import http from 'http'; + import cors from 'cors'; + import bodyParser from 'body-parser'; + //import { typeDefs, resolvers } from './schema'; + + const typeDefs = `#graphql + type Query { + hello: String + } + `; + + // A map of functions which return data for the schema. + const resolvers = { + Query: { + hello: () => 'world', + }, + }; + + + // Required logic for integrating with Express + const app = express(); + // Our httpServer handles incoming requests to our Express app. + // Below, we tell Apollo Server to "drain" this httpServer, + // enabling our servers to shut down gracefully. + const httpServer = http.createServer(app); + + // Same ApolloServer initialization as before, plus the drain plugin + // for our httpServer. + const server = new ApolloServer({ + typeDefs, + resolvers, + plugins: [ApolloServerPluginDrainHttpServer({ httpServer })], + }); + // Ensure we wait for our server to start + await server.start(); + + // Set up our Express middleware to handle CORS, body parsing, + // and our expressMiddleware function. + app.use( + '/', + cors(), + bodyParser.json(), + // expressMiddleware accepts the same arguments: + // an Apollo Server instance and optional configuration options + expressMiddleware(server, { + context: async ({ req }) => ({ token: req.headers.token }), + }), + ); + + // Modified server startup; port number is overridden by Unit config + await new Promise((resolve) => httpServer.listen({ port: 80 }, resolve)); + ``` + + Make sure your **package.json** resembles this + (mind **"type": "module"**): + + ```json + { + "name": "unit-apollo", + "version": "1.0.0", + "description": "Running Apollo over Express on Unit", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Unit Team", + "license": "ISC", + "dependencies": { + "@apollo/server": "^4.7.5", + "apollo-server": "^3.12.0", + "body-parser": "^1.20.2", + "cors": "^2.8.5", + "express": "^4.18.2", + "graphql": "^16.7.1", + "unit-http": "^1.30.0" + } + } + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-nodejs" >}}) the Apollo configuration for + Unit: + ```json + { + "listeners": { + "*:80": { + "pass": "applications/apollo" + } + }, + + "applications": { + "apollo": { + "type": "external", + "working_directory": "/path/to/app/", + "_comment_working_directory": "Needed to use the installed NPM modules; use a real path in your configuration", + "executable": "/usr/bin/env", + "_comment_executable": "The external app type allows to run arbitrary executables, provided they establish communication with Unit", + "arguments": [ + "node", + "--loader", + "unit-http/loader.mjs", + "--require", + "unit-http/loader", + "apollo.js" + ], + "_comment_arguments": "The env executable runs Node.js, supplying Unit's loader module and your app code as arguments" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener's IP + address and port: + + ![Apollo on Unit](/unit/images/apollo.png) diff --git a/content/unit/howto/apps/bugzilla.md b/content/unit/howto/apps/bugzilla.md new file mode 100644 index 000000000..4947be823 --- /dev/null +++ b/content/unit/howto/apps/bugzilla.md @@ -0,0 +1,93 @@ +--- +title: Bugzilla +weight: 200 +toc: true +--- + +To run the [Bugzilla](https://www.bugzilla.org) bug tracking system using +Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Perl language module. + + +2. Install and configure Bugzilla's [prerequisites](https://bugzilla.readthedocs.io/en/latest/installing/linux.html#install-packages). + +3. Install Bugzilla`s [core files](https://bugzilla.readthedocs.io/en/latest/installing/linux.html#bugzilla). + Here we install them at **/path/to/app**; use a real path in your configuration. + + {{< note >}} + Unit uses [PSGI](https://metacpan.org/pod/PSGI) to run Perl + applications; Bugzilla natively supports PSGI since version 5.1. + {{< /note >}} + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + + +5. Next, + [prepare]({{{< relref "/unit/configuration.md#configuration-perl" >}}}) + the Bugzilla configuration for Unit. The default **.htaccess** scheme roughly + translates into the following (use real values for **share**, **script**, + and **working_directory**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "source": "192.20.225.0/24", + "_comment_source": "Well-known IP range", + "uri": "/data/webdot/*.dot" + }, + "_comment_match": "Restricts access to .dot files to the public webdot server at research.att.com", + + "action": { + "share": "/path/to/app$uri", + "_comment_share": "Serves static files that match the conditions above" + } + }, + { + "action": { + "share": "/path/to/app$uri", + "_comment_share": "Unconditionally serves remaining requests that target static files", + "types": [ + "text/css", + "image/*", + "application/javascript" + ], + "_comment_types": "Enables sharing only for certain file types", + "fallback": { + "pass": "applications/bugzilla" + }, + "_comment_fallback": "Serves any requests not served with the 'share' immediately above" + } + } + ], + + "applications": { + "bugzilla": { + "type": "perl", + "working_directory": "/path/to/app/", + "_comment_working_directory": "Path to the application directory; use a real path in your configuration", + "script": "/path/to/app/app.psgi", + "_comment_script": "Path to the application directory; use a real path in your configuration" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, browse to and [set up](https://bugzilla.readthedocs.io/en/latest/installing/essential-post-install-config.html) + your Bugzilla installation: + + ![Bugzilla on Unit - Setup Screen](/unit/images/bugzilla.png) diff --git a/content/unit/howto/apps/datasette.md b/content/unit/howto/apps/datasette.md new file mode 100644 index 000000000..55782d2b2 --- /dev/null +++ b/content/unit/howto/apps/datasette.md @@ -0,0 +1,74 @@ +--- +title: Datasette +weight: 300 +toc: true +--- + +To run the [Datasette](https://docs.datasette.io/en/stable/) data exploration tool using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.6+ language module. + +2. Create a virtual environment to install Datasette's + [PIP package](https://docs.datasette.io/en/stable/installation.html#using-pip), for instance: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + $ python --version # Make sure your virtual environment version matches the module version + Python X.Y.Z # Major version, minor version, and revision number + $ python -m venv venv # Arbitrary name of the virtual environment + $ source venv/bin/activate # Name of the virtual environment from the previous command + $ pip install datasette + $ deactivate + ``` + +3. Running Datasette on Unit requires a wrapper to expose the [application object](https://github.com/simonw/datasette/blob/4f7c0ebd85ccd8c1853d7aa0147628f7c1b749cc/datasette/app.py#L169) + as the ASGI callable. Let's use the following basic version, saving it as + **/path/to/app/asgi.py**: + + ```python + import glob + from datasette.app import Datasette + + application = Datasette(glob.glob('*.db')).app() + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) the Datasette configuration for + Unit (use real values for **type**, **home**, and **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/datasette" + } + }, + + "applications": { + "datasette": { + "type": "python 3.Y", + "_comment_type": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "_comment_path": "Path to the ASGI module", + "home": "/path/to/app/venv/", + "_comment_home": "Path to the virtual environment, if any", + "module": "asgi", + "_comment_module": "ASGI module filename with extension omitted", + "callable": "app", + "_comment_callable": "Name of the callable in the module to run" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, Datasette should be available on the listener’s IP + address and port: + + ![Datasette on Unit - Query Screen](/unit/images/datasette.png) diff --git a/content/unit/howto/apps/dokuwiki.md b/content/unit/howto/apps/dokuwiki.md new file mode 100644 index 000000000..56ee87b6f --- /dev/null +++ b/content/unit/howto/apps/dokuwiki.md @@ -0,0 +1,105 @@ +--- +title: DokuWiki +toc: true +weight: 400 +--- + +To run the [DokuWiki](https://www.dokuwiki.org) content management system +using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PGP language module. + +2. Install and configure DokuWiki's [prerequisites](https://www.dokuwiki.org/requirements) + +3. Install DokuWiki's [core files](https://www.dokuwiki.org/install). Here we install them at **/path/to/app**; + use a real path in your configuration. + + ```console + $ mkdir -p /path/to/app/ && cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz + ``` + + ```console + $ tar xvzf dokuwiki-stable.tgz --strip-components=1 # Avoids creating a redundant subdirectory + ``` + + ```console + $ rm dokuwiki-stable.tgz + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, prepare the app + [configuration]({{< relref "/unit/configuration.md#configuration-php" >}}) + for Unit (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": [ + "/data/*", + "/conf/*", + "/bin/*", + "/inc/*", + "/vendor/*" + ] + }, + "_comment_match": "Denies access to files and directories best kept private", + "action": { + "return": 404 + } + }, + { + "match": { + "uri": [ + "/", + "*.php" + ] + }, + "action": { + "pass": "applications/dokuwiki" + } + }, + { + "action": { + "share": "/path/to/app$uri" + }, + "_comment_action": "Serves static files" + } + ], + + "applications": { + "dokuwiki": { + "type": "php", + "root": "/path/to/app/", + "_comment_root": "Path to the application directory; use a real path in your configuration", + "index": "doku.php", + "_comment_index": "The app's main script" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port. + +7. Browse to **/install.php** to complete your [installation](https://www.dokuwiki.org/installer): + + ![DokuWiki on Unit - Installation Screen](/unit/images/dokuwiki.png) diff --git a/content/unit/howto/apps/drupal.md b/content/unit/howto/apps/drupal.md new file mode 100644 index 000000000..ce917466f --- /dev/null +++ b/content/unit/howto/apps/drupal.md @@ -0,0 +1,157 @@ +--- +title: Drupal +weight: 500 +toc: true +--- + +To run the [Drupal](https://www.drupal.org) content management system using +Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + +2. Install and configure Drupal's [prerequisites](https://www.drupal.org/docs/system-requirements) + +3. Install Drupal's [core files](https://www.drupal.org/docs/develop/using-composer/manage-dependencies#download-core). +Here we install them at **/path/to/app**; use a real path in your configuration. + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the Drupal configuration for Unit. + The default **.htaccess** [scheme](https://github.com/drupal/drupal) + in a Drupal installation roughly translates into the following (use real + values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": [ + "!*/.well-known/*", + "/vendor/*", + "/core/profiles/demo_umami/modules/demo_umami_content/default_content/*", + "*.engine", + "*.inc", + "*.install", + "*.make", + "*.module", + "*.po", + "*.profile", + "*.sh", + "*.theme", + "*.tpl", + "*.twig", + "*.xtmpl", + "*.yml", + "*/.*", + "*/Entries*", + "*/Repository", + "*/Root", + "*/Tag", + "*/Template", + "*/composer.json", + "*/composer.lock", + "*/web.config", + "*sql", + "*.bak", + "*.orig", + "*.save", + "*.swo", + "*.swp", + "*~" + ] + }, + "_comment_match": "Denies access to certain types of files and directories best kept hidden, allows access to well-known locations according to RFC 5785", + "action": { + "return": 404 + } + }, + { + "match": { + "uri": [ + "/core/authorize.php", + "/core/core.api.php", + "/core/globals.api.php", + "/core/install.php", + "/core/modules/statistics/statistics.php", + "~^/core/modules/system/tests/https?\\.php", + "/core/rebuild.php", + "/update.php", + "/update.php/*" + ] + }, + "_comment_match": "Allows direct access to core PHP scripts", + "action": { + "pass": "applications/drupal/direct" + } + }, + { + "match": { + "uri": [ + "!/index.php*", + "*.php" + ] + }, + "_comment_match": "Explicitly denies access to any PHP scripts other than index.php", + "action": { + "return": 404 + } + }, + { + "action": { + "share": "/path/to/app/web$uri", + "_comment_share": "Serves static files", + "fallback": { + "pass": "applications/drupal/index" + }, + "_comment_fallback": "Funnels all requests to index.php" + } + } + ], + + "applications": { + "drupal": { + "type": "php", + "targets": { + "direct": { + "root": "/path/to/app/web/", + "_comment_root": "Path to the web/ directory; use a real path in your configuration" + }, + "index": { + "root": "/path/to/app/web/", + "_comment_root": "Path to the web/ directory; use a real path in your configuration", + "script": "index.php", + "_comment_script": "All requests are handled by a single script" + } + } + } + } + } + ``` + + {{< note >}} + The difference between the **pass** targets is their usage of + the **script** [setting]({{< relref "/unit/configuration.md#configuration-php" >}}): + + - The **direct** target runs the **.php** script from the + URI or **index.php** if the URI omits it. + - The **index** target specifies the **script** that Unit + runs for *any* URIs the target receives. + {{< /note >}} + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, browse to and [set up](https://www.drupal.org/docs/develop/using-composer/manage-dependencies#s-install-drupal-using-the-standard-web-interface) + your Drupal installation: + + ![Drupal on Unit - Setup Screen](/unit/images/drupal.png) diff --git a/content/unit/howto/apps/grafana.md b/content/unit/howto/apps/grafana.md new file mode 100644 index 000000000..3a4b47952 --- /dev/null +++ b/content/unit/howto/apps/grafana.md @@ -0,0 +1,192 @@ +--- +title: Grafana +toc: true +weight: 600 +--- + +Here, we install Grafana from [sources](https://github.com/grafana/grafana/blob/main/contribute/developer-guide.md) +so we can +[configure it]({{< relref "/unit/configuration.md#configuration-go" >}}) +to run on Unit. + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Go language module. + + Also, make sure Unit's Go module is available at **\$GOPATH**. + +2. Download Grafana's source files: + + ```console + $ go get github.com/grafana/grafana + ``` + +3. Update the code, adding Unit to Grafana's protocol list. You can either + apply a patch ([ grafana.patch](/unit/downloads/grafana.patch)): + + ```console + $ cd $GOPATH/src/github.com/grafana/grafana # The path where the previous step saves the application's files + ``` + + ```console + $ curl -O https://unit.nginx.org/_downloads/grafana.patch + ``` + + ```console + $ patch -p1 < grafana.patch + ``` + + Or update the sources manually. In **conf/defaults.ini**: + + ```ini + #################################### Server ############################## + [server] + # Protocol (http, https, socket, unit) + protocol = unit + ``` + + In **pkg/api/http_server.go**: + + ```go + import ( + // ... + "net/http" + "unit.nginx.org/go" + "os" + // ... + ) + + // ... + + switch setting.Protocol { + + // ... + + case setting.HTTP, setting.HTTPS, setting.HTTP2: + var err error + listener, err = net.Listen("tcp", hs.httpSrv.Addr) + if err != nil { + return errutil.Wrapf(err, "failed to open listener on address %s", hs.httpSrv.Addr) + } + case setting.SOCKET: + var err error + listener, err = net.ListenUnix("unix", &net.UnixAddr{Name: setting.SocketPath, Net: "unix"}) + if err != nil { + return errutil.Wrapf(err, "failed to open listener for socket %s", setting.SocketPath) + } + case setting.UNIT: + var err error + err = unit.ListenAndServe(hs.httpSrv.Addr, hs.macaron) + if err == http.ErrServerClosed { + hs.log.Debug("server was shutdown gracefully") + return nil + } + ``` + + In **pkg/setting/setting.go**: + + ```go + const ( + HTTP Scheme = "http" + HTTPS Scheme = "https" + SOCKET Scheme = "socket" + UNIT Scheme = "unit" + DEFAULT_HTTP_ADDR string = "0.0.0.0" + ) + + // ... + + Protocol = HTTP + protocolStr, err := valueAsString(server, "protocol", "http") + // ... + if protocolStr == "https" { + Protocol = HTTPS + CertFile = server.Key("cert_file").String() + KeyFile = server.Key("cert_key").String() + } + if protocolStr == "h2" { + Protocol = HTTP2 + CertFile = server.Key("cert_file").String() + KeyFile = server.Key("cert_key").String() + } + if protocolStr == "socket" { + Protocol = SOCKET + SocketPath = server.Key("socket").String() + } + if protocolStr == "unit" { + Protocol = UNIT + } + ``` + +4. Build Grafana: + + ```console + $ cd $GOPATH/src/github.com/grafana/grafana # The path where the previous step saves the application's files + $ go get ./... # Installs dependencies + $ go run build.go setup + $ go run build.go build + $ yarn install --pure-lockfile + $ yarn start + ``` + + Note the directory where the newly built **grafana-server** is placed, + usually **\$GOPATH/bin/**; it's used for the **executable** option in + the Unit configuration. + +5. Run the following commands (as root) so Unit can access Grafana's files: + + ```console + # chown -R unit:unit $GOPATH/src/github.com/grafana/grafana # User and group that Unit's router runs as by default | Path to the application's files + ``` + + ```console + # chown unit:unit $GOPATH/bin/grafana-server # User and group that Unit's router runs as by default | Path to the application's executable + ``` + + {{< note >}} + The **unit:unit** user-group pair is available only with + [official packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}), Docker + [images]({{< relref "/unit/installation.md#installation-docker" >}}) + , and some + [third-party repos]({{< relref "/unit/installation.md#installation-community-repos" >}}). + Otherwise, account names may differ; run the `ps aux | grep unitd` command to be sure. + {{< /note >}} + + For further details, including permissions, see the + [security checklist]({{< relref "/unit/howto/security.md#security-apps" >}}). + +6. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the configuration (replace + **\$GOPATH** with its value in **executable** and + **working_directory**): + + ```json + { + "listeners": { + "*:3000": { + "pass": "applications/grafana" + } + }, + + "applications": { + "grafana": { + "executable": "$GOPATH/bin/grafana-server", + "_comment_executable": "Replace with the environment variable's value | Path to the application's executable", + "type": "external", + "working_directory": "$GOPATH/src/github.com/grafana/grafana/", + "_comment_working_directory": "Replace with the environment variable's value | Path to the application's files" + } + } + } + ``` + + See + [Go application options]({{< relref "/unit/configuration.md#configuration-go" >}}) + and the Grafana [docs](https://grafana.com/docs/grafana/latest/administration/configuration/#static_root_path) + for details. + +7. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, Grafana should be available on the listener's IP + and port: + + ![Grafana on Unit - Setup Screen](/unit/images/grafana.png) diff --git a/content/unit/howto/apps/jira.md b/content/unit/howto/apps/jira.md new file mode 100644 index 000000000..ad99fcd81 --- /dev/null +++ b/content/unit/howto/apps/jira.md @@ -0,0 +1,168 @@ +--- +title: Jira +toc: true +weight: 700 +--- + +{{< note >}} +This howto uses the 8.19.1 version; other versions may have different +dependencies and options. +{{< /note >}} + +To run [Atlassian Jira](https://www.atlassian.com/software/jira) using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Java language module. + +2. Install Jira's [core files](https://www.atlassian.com/software/jira/update). Here we install them at **/path/to/app**; + use a real path in your configuration. + + For example: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ curl https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.19.1.tar.gz -O -C - + ``` + + ```console + $ tar xzf atlassian-jira-core-8.19.1.tar.gz --strip-components 1 + ``` + +3. Download Jira's third-party dependencies to the **lib** subdirectory: + + ```console + $ cd lib/ + ``` + + ```console + $ curl https://github.com/mar0x/unit-transaction-init/releases/download/2.0/transaction-init-2.0.jar -O -C - + ``` + + ```console + $ curl https://repo1.maven.org/maven2/com/atomikos/atomikos-util/5.0.8/atomikos-util-5.0.8.jar -O -C - + ``` + + ```console + $ curl https://repo1.maven.org/maven2/com/atomikos/transactions-api/5.0.8/transactions-api-5.0.8.jar -O -C - + ``` + + ```console + $ curl https://repo1.maven.org/maven2/com/atomikos/transactions-jdbc/5.0.8/transactions-jdbc-5.0.8.jar -O -C - + ``` + + ```console + $ curl https://repo1.maven.org/maven2/com/atomikos/transactions-jta/5.0.8/transactions-jta-5.0.8.jar -O -C - + ``` + + ```console + $ curl https://repo1.maven.org/maven2/com/atomikos/transactions/5.0.8/transactions-5.0.8.jar -O -C - + ``` + + ```console + $ curl https://repo1.maven.org/maven2/javax/transaction/jta/1.1/jta-1.1.jar -O -C - + ``` + + ```console + $ curl https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-jndi/11.0.6/jetty-jndi-10.0.6.jar -O -C - + ``` + + ```console + $ curl https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-plus/11.0.6/jetty-plus-10.0.6.jar -O -C - + ``` + + ```console + $ curl https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-util/11.0.6/jetty-util-10.0.6.jar -O -C - + ``` + + Later, these **.jar** files will be listed in the **classpath** + option of the Unit configuration. + +4. Patch your Jira configuration, dropping **env** from the + **comp/env/UserTransaction** object path. This ensures the + **UserTransaction** object will be found by your installation: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ sed -i 's#comp/env/UserTransaction#comp/UserTransaction#g' \ + atlassian-jira/WEB-INF/classes/entityengine.xml + ``` + +5. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + + +6. Next, + [put together]({{< relref "/unit/configuration.md#configuration-java" >}}) + the Jira configuration (use real values for **working_directory** and **jira.home**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/jira" + } + }, + + "applications": { + "jira": { + "type": "java", + "working_directory": "/path/to/app/", + "_comment_working_directory": "Path to the application directory; use a real path in your configuration", + "webapp": "atlassian-jira", + "options": [ + "-Djava.awt.headless=true", + "-Djavax.accessibility.assistive_technologies= ", + "-Djira.home=/path/to/jira/home/", + "_comment_options": "Path to your Jira home directory; use a real path in your configuration", + "-Dnginx.unit.context.listener=nginx.unit.TransactionInit", + "-Xms1024m", + "-Xmx1024m" + ], + "_comment_options": "Jira-specific startup options", + "classpath": [ + "lib/atomikos-util-5.0.8.jar", + "lib/hsqldb-1.8.0.10.jar", + "lib/jcl-over-slf4j-1.7.30.jar", + "lib/jetty-jndi-10.0.6.jar", + "lib/jetty-plus-10.0.6.jar", + "lib/jetty-util-10.0.6.jar", + "lib/jta-1.1.jar", + "lib/log4j-1.2.17-atlassian-3.jar", + "lib/slf4j-api-1.7.30.jar", + "lib/slf4j-log4j12-1.7.30.jar", + "lib/transaction-init-2.0.jar", + "lib/transactions-5.0.8.jar", + "lib/transactions-api-5.0.8.jar", + "lib/transactions-jdbc-5.0.8.jar", + "lib/transactions-jta-5.0.8.jar" + ], + "_comment_classpath": "Required third-party dependencies from Step 3" + } + } + } + ``` + + See + [Java application options]({{< relref "/unit/configuration.md#configuration-java" >}}) + for details. + + {{< note >}} + You can't update the configuration in Unit after startup due to Jira's + own restrictions. + {{< /note >}} + +7. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, Jira should be available on the listener's IP + address and port. Browse to to continue the setup in + your browser: + + ![Jira on Unit - Setup Screen](/unit/images/jira.png) diff --git a/content/unit/howto/apps/joomla.md b/content/unit/howto/apps/joomla.md new file mode 100644 index 000000000..b451bef40 --- /dev/null +++ b/content/unit/howto/apps/joomla.md @@ -0,0 +1,96 @@ +--- +title: Joomla +toc: true +weight: 800 +--- + +To run the [Joomla](https://www.joomla.org) content management system using +Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + + +2. Install and configure Joomla's [prerequisites](https://downloads.joomla.org/technical-requirements) + +3. Install Joomla's [core files](https://docs.joomla.org/Special:MyLanguage/J3.x:Installing_Joomla). +Here we install them at **/path/to/app**; use a real path in your configuration. + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the Joomla configuration for + Unit (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": [ + "*.php", + "*.php/*", + "/administrator/" + ] + }, + "_comment_match": "Matches direct URLs and the administrative section of the site", + "action": { + "pass": "applications/joomla/direct" + } + }, + { + "action": { + "share": "/path/to/app$uri", + "_comment_share": "Serves matching static files", + "fallback": { + "pass": "applications/joomla/index" + }, + "_comment_fallback": "Unconditionally matches all remaining URLs, including rewritten ones" + } + } + ], + + "applications": { + "joomla": { + "type": "php", + "targets": { + "direct": { + "root": "/path/to/app/", + "_comment_root": "Path to the application directory; use a real path in your configuration" + }, + "index": { + "root": "/path/to/app/", + "_comment_root": "Path to the application directory; use a real path in your configuration", + "script": "index.php", + "_comment_script": "All requests are handled by a single script" + } + } + } + } + } + ``` + + The first route step handles the admin section and all URLs that specify a + PHP script; the **direct** target doesn't set the **script** option + to be used by default, so Unit looks for the respective **.php** file. + + The next step serves static files via a **share**. Its **fallback** + enables rewrite mechanics for [search-friendly URLs](https://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs). All + requests go to the **index** target that runs the **index.php** + script at Joomla's directory root. + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, Joomla should be available on the listener’s IP + and port to finish the [setup](https://docs.joomla.org/J3.x:Installing_Joomla#Main_Configuration): + + ![Joomla on Unit - Setup Screen](/unit/images/joomla.png) + diff --git a/content/unit/howto/apps/mailman.md b/content/unit/howto/apps/mailman.md new file mode 100644 index 000000000..4893d59dc --- /dev/null +++ b/content/unit/howto/apps/mailman.md @@ -0,0 +1,105 @@ +--- +title: Mailman Web +toc: true +weight: 800 +--- + +To install and run the web UI for the [Mailman 3](https://docs.list.org/en/latest/index.html) suite using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.7+ language module. + +2. Follow Mailman's [guide](https://docs.list.org/en/latest/install/virtualenv.html#virtualenv-install) + to install its prerequisites and core files, but stop at [setting up a WSGI + server](https://docs.list.org/en/latest/install/virtualenv.html#setting-up-a-wsgi-server); + we'll use Unit instead. Also, note the following settings (values from the + guide are given after the colon): + + - Virtual environment path: **/opt/mailman/venv/** + - Installation path: **/etc/mailman3/** + - Static file path: **/opt/mailman/web/static/** + - User and group: **mailman:mailman** + + These are needed to configure Unit. + +3. Run the following command (as root) so Unit can access Mailman's static files: + + ```console + # chown -R unit:unit /opt/mailman/web/static/ # User and group that Unit's router runs as by default | Mailman's static file path + ``` + + {{< note >}} + The **unit:unit** user-group pair is available only with + [official packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}), Docker + [images]({{< relref "/unit/installation.md#installation-docker" >}}) + , and some + [third-party repos]({{< relref "/unit/installation.md#installation-community-repos" >}}). + Otherwise, account names may differ; run the `ps aux | grep unitd` command to be sure. + {{< /note >}} + + Alternatively, add Unit's unprivileged user account to Mailman's group so Unit + can access the static files. Run the following command as root: + + ```console + # usermod -a -G mailman unit # Mailman's user group noted in Step 2 | User that Unit's router runs as by default + ``` + +4. Next, prepare the Mailman [configuration]({{< relref "/unit/configuration.md#configuration-python" >}}) for Unit + (use values from Step 2 for **share**, **path**, and **home**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": "/static/*" + }, + "_comment_match": "Matches requests for web UI's static content", + "action": { + "share": "/opt/mailman/web/$uri" + }, + "_comment_action": "Mailman's static file path without the 'static/' part; URIs starting with /static/ are thus served from /opt/mailman/web/static/" + }, + { + "action": { + "pass": "applications/mailman_web" + } + } + ], + + "applications": { + "mailman_web": { + "type": "python 3.X", + "_comment_type": "Must match language module version and virtual environment version", + "path": "/etc/mailman3/", + "_comment_path": "Mailman's installation path you noted in Step 2", + "home": "/opt/mailman/venv/", + "_comment_home": "Mailman's virtual environment path you noted in Step 2", + "module": "mailman_web.wsgi", + "_comment_module": "Qualified name of the WSGI module, relative to installation path", + "user": "mailman", + "_comment_user": "Mailman's user group noted in Step 2", + "environment": { + "DJANGO_SETTINGS_MODULE": "settings" + }, + "_comment_environment": "App-specific environment variables", + "_comment_DJANGO_SETTINGS_MODULE": "Web configuration module name, relative to installation path" + } + } + } + ``` + +5. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, Mailman's web UI should be available on the + listener’s IP address and port: + + ![Mailman on Unit - Lists Screen](/unit/images/mailman.png) + diff --git a/content/unit/howto/apps/matomo.md b/content/unit/howto/apps/matomo.md new file mode 100644 index 000000000..f518866f9 --- /dev/null +++ b/content/unit/howto/apps/matomo.md @@ -0,0 +1,125 @@ +--- +title: Matomo +toc: true +weight: 900 +--- + +To run the [Matomo](https://matomo.org) web analytics platform using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + +2. Install and configure Matomo's [prerequisites](https://matomo.org/faq/on-premise/matomo-requirements/) + +3. Install Matomo's [core files](https://matomo.org/faq/on-premise/installing-matomo/). + Here we install them at **/path/to/app**; use a real path in your configuration. + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the Matomo configuration for Unit + (use real values for **share** and **root**). The default + **.htaccess** scheme in a Matomo installation roughly translates into the + following: + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": [ + "/index.php", + "/js/index.php", + "/matomo.php", + "/misc/cron/archive.php", + "/piwik.php", + "/plugins/HeatmapSessionRecording/configs.php" + ] + }, + "_comment_match": "Handles all PHP scripts that should be public", + "action": { + "pass": "applications/matomo/direct" + } + }, + { + "match": { + "uri": [ + "*.php", + "*/.htaccess", + "/config/*", + "/core/*", + "/lang/*", + "/tmp/*" + ] + }, + "_comment_match": "Denies access to files and directories best kept private, including internal PHP scripts", + "action": { + "return": 404 + } + }, + { + "match": { + "uri": "~\\.(css|gif|html?|ico|jpg|js(on)?|png|svg|ttf|woff2?)$" + }, + "_comment_match": "Enables access to static content only", + "action": { + "share": "/path/to/app$uri" + }, + "_comment_action": "Serves matching static files" + }, + { + "match": { + "uri": [ + "!/libs/*", + "!/node_modules/*", + "!/plugins/*", + "!/vendor/*", + "!/misc/cron/*", + "!/misc/user/*" + ] + }, + "_comment_match": "Disables access to certain directories that may nonetheless contain public-facing static content served by the previous rule; forwards all unhandled requests to index.php in the root directory", + "action": { + "share": "/path/to/app$uri", + "_comment_action": "Serves remaining static files", + "fallback": { + "pass": "applications/matomo/index" + }, + "_comment_fallback": "A catch-all destination for the remaining requests" + } + } + ], + + "applications": { + "matomo": { + "type": "php", + "targets": { + "direct": { + "root": "/path/to/app/" + }, + "_comment_direct": "Path to the application directory; use a real path in your configuration", + "index": { + "root": "/path/to/app/", + "script": "index.php" + }, + "_comment_index": "All requests are handled by a single script" + } + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, Matomo should be available on the listener’s IP + address and port: + + ![Matomo on Unit](/unit/images/matomo.png) diff --git a/content/unit/howto/apps/mediawiki.md b/content/unit/howto/apps/mediawiki.md new file mode 100644 index 000000000..c8a8261da --- /dev/null +++ b/content/unit/howto/apps/mediawiki.md @@ -0,0 +1,168 @@ +--- +title: MediaWiki +weight: 1000 +toc: true +--- + +To run the [MediaWiki](https://www.mediawiki.org) collaboration and +documentation platform using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PGP language module. + +2. Install MediaWiki's [core files](https://www.mediawiki.org/wiki/Download). + Here we install them at **/path/to/app**; use a real path in your configuration. + +3. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +4. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the MediaWiki configuration for Unit + (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": [ + "!/tests/qunit/*", + "/cache/*", + "/includes/*", + "/languages/*", + "/maintenance/*", + "/tests/*", + "/vendor/*" + ] + }, + "_comment_match": "Controls access to directories best kept private", + "action": { + "return": 404 + } + }, + { + "match": { + "uri": [ + "/api.php*", + "/img_auth.php*", + "/index.php*", + "/load.php*", + "/mw-config/*.php", + "/opensearch_desc.php*", + "/profileinfo.php*", + "/rest.php*", + "/tests/qunit/*.php", + "/thumb.php*", + "/thumb_handler.php*" + ] + }, + "_comment_match": "Enables access to application entry points", + "action": { + "pass": "applications/mw/direct" + } + }, + { + "match": { + "uri": [ + "!*.php", + "!*.json", + "!*.htaccess", + "/extensions/*", + "/images/*", + "/resources/assets/*", + "/resources/lib/*", + "/resources/src/*", + "/skins/*" + ] + }, + "_comment_match": "Enables static access to specific content locations", + "_comment_negations": "The negations deny access to the file types listed here", + "action": { + "share": "/path/to/app$uri" + }, + "_comment_action": "Serves matching static files" + }, + { + "action": { + "pass": "applications/mw/index" + } + } + ], + + "applications": { + "mw": { + "type": "php", + "targets": { + "direct": { + "root": "/path/to/app/" + }, + "_comment_direct": "Path to the application directory; use a real path in your configuration", + "index": { + "root": "/path/to/app/", + "script": "index.php" + }, + "_comment_index": "All requests are handled by a single script" + } + } + } + } + ``` + + {{< note >}} + The difference between the **pass** targets is their usage of the + **script** [setting]({{< relref "/unit/configuration.md#configuration-php" >}}): + + - The **direct** target runs the **.php** script from the URI or + defaults to **index.php** if the w omits it. + - The **index** target specifies the **script** that Unit runs + for *any* URIs the target receives. + {{< /note >}} + +5. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + +6. Browse to and set MediaWiki up using + the settings noted earlier: + + ![MediaWiki on Unit](/unit/images/mw_install.png) + + Download the newly generated **LocalSettings.php** file and place it + [appropriately](https://www.mediawiki.org/wiki/Manual:Config_script): + + ```console + $ chmod 600 LocalSettings.php + ``` + + Run the following commands (as root) to set the correct ownership: + + ```console + # chown unit:unit LocalSettings.php # Values from Step 3 + ``` + + ```console + # mv LocalSettings.php /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + +7. After installation, add a match condition to the first step to disable + access to the **mw-config/** directory. Run the following command (as root): + + ```console + # curl -X POST -d '"/mw-config/*"' \ + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/config/routes/mediawiki/0/match/uri/ # Path to the route's first step condition and the 'uri' value in it + + { + "success": "Reconfiguration done." + }\ + ``` + + After a successful update, MediaWiki should be available on the listener’s IP + address and port: + + ![MediaWiki on Unit](/unit/images/mw_ready.png) diff --git a/content/unit/howto/apps/mercurial.md b/content/unit/howto/apps/mercurial.md new file mode 100644 index 000000000..3dc69c8e4 --- /dev/null +++ b/content/unit/howto/apps/mercurial.md @@ -0,0 +1,95 @@ +--- +title: Mercurial +weight: 1100 +toc: true +--- + +To install and run the [Mercurial](https://www.mercurial-scm.org) source +control system using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python language module. + +2. Install Mercurial's [core files](https://www.mercurial-scm.org/wiki/UnixInstall). + Here we install them at **/path/to/app**; use a real path in your configuration. + +3. Optionally, configure a [repository](https://www.mercurial-scm.org/wiki/TutorialInit) or choose an existing + one, noting its directory path. + +4. Unit [uses WSGI]({{< relref "/unit/configuration.md#configuration-python" >}}) to run Python apps, so it + requires a [wrapper](https://www.mercurial-scm.org/repo/hg/file/default/contrib/hgweb.wsgi) + script to publish a Mercurial repo. Here, it's **/path/to/app/hgweb.py** + (note the extension); the **application** callable is the entry + point: + + ```python + from mercurial.hgweb import hgweb + + # path to a repo or a hgweb config file to serve in UTF-8 (see 'hg help hgweb') + application = hgweb("/path/to/app/repo/or/config/file".encode("utf-8")) # Replace with a real path in your configuration + ``` + + This is a very basic script; to elaborate on it, see the + Mercurial repo publishing [guide](https://www.mercurial-scm.org/wiki/PublishingRepositories#hgweb). + +5. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +6. Next, prepare the Mercurial [configuration]({{< relref "/unit/configuration.md#configuration-python" >}}) for Unit (use a real value for **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/hg" + } + }, + + "applications": { + "hg": { + "type": "python", + "path": "/path/to/app/", + "_comment_path": "Path to the WSGI file referenced by the module option; use a real path in your configuration", + "module": "hgweb", + "_comment_module": "WSGI module basename with extension omitted" + } + } + } + ``` + +7. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, you can proceed to work with your Mercurial + repository as usual: + + ```console + hg config --edit + ``` + + ```console + hg clone http://localhost/ project/ + ``` + + ```console + cd project/ + ``` + + ```console + touch hg_rocks.txt + ``` + + ```console + hg add + ``` + + ```console + hg commit -m 'Official: Mercurial on Unit rocks!' + ``` + + ```console + hg push + ``` + + ![Mercurial on Unit - Changeset Screen](/unit/images/hg.png) diff --git a/content/unit/howto/apps/modx.md b/content/unit/howto/apps/modx.md new file mode 100644 index 000000000..cf2b9635b --- /dev/null +++ b/content/unit/howto/apps/modx.md @@ -0,0 +1,85 @@ +--- +title: MODX +weight: 1200 +toc: true +--- + +To run the [MODX](https://modx.com) content application platform using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + +2. Install and configure MODX's [prerequisites]() + +3. Install MODX's [core files](https://modx.com/download). Here we install them at **/path/to/app**; + use a real path in your configuration. + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the MODX configuration for Unit + (use real values for **share** and **root**). The default + **.htaccess** scheme in a MODX installation roughly translates into the + following: + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": [ + "!/.well-known/", + "/core/*", + "*/.*" + ] + }, + "_comment_match": "Denies access to directories best kept private", + "action": { + "return": 404 + } + }, + { + "match": { + "uri": "*.php" + }, + "_comment_match": "Serves direct requests for PHP scripts", + "action": { + "pass": "applications/modx" + } + }, + { + "action": { + "share": "/path/to/app$uri", + "_comment_share": "Serves static files", + "fallback": { + "pass": "applications/modx" + }, + "_comment_fallback": "A catch-all destination for the remaining requests" + } + } + ], + + "applications": { + "modx": { + "type": "php", + "root": "/path/to/app/", + "_comment_root": "Path to the application directory; use a real path in your configuration" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, MODX should be available on the listener’s IP + address and port: + + ![MODX on Unit - Manager Screen](/unit/images/modx.png) diff --git a/content/unit/howto/apps/moin.md b/content/unit/howto/apps/moin.md new file mode 100644 index 000000000..f062b6edc --- /dev/null +++ b/content/unit/howto/apps/moin.md @@ -0,0 +1,159 @@ +--- +title: MoinMoin +toc: true +weight: 1300 +--- + +{{< warning >}} +So far, Unit doesn't support handling the **REMOTE_USER** headers directly, so +authentication should be implemented via other means. For a +full list of available authenticators, see [here](https://moinmo.in/HelpOnAuthentication). +{{< /warning >}} + +To run the [MoinMoin](https://moinmo.in/MoinMoinWiki) wiki engine using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 2 language module. + + {{< note >}} + As of now, MoinMoin [doesn't fully support](https://moinmo.in/Python3) + Python 3. Mind that Python 2 is officially deprecated. + {{< /note >}} + +2. Install and configure MoinMoin's [prerequisites](https://moinmo.in/MoinMoinDependencies) + +3. Install MoinMoin's [core files](https://moinmo.in/MoinMoinDownload). Here we install them at **/path/to/app**; + use a real path in your configuration. + + For example: + + ```console + tar xzf moin-X.Y.Z.tar.gz --strip-components 1 -C /path/to/app/ # MoinMoin version | Path to the application directory; use a real path in your configuration + ``` + +4. Configure your wiki instances: + + {{}} + {{%tab name="Single Wiki"%}} + See the 'Single Wiki' section [here](https://master.moinmo.in/InstallDocs/ServerInstall) for an explanation of these commands: + + ```console + cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + mkdir single/ + ``` + + ```console + cp wiki/config/wikiconfig.py single/ # Wiki instance configuration + ``` + + ```console + cp -r wiki/data/ single/data/ + ``` + + ```console + cp -r wiki/underlay/ single/underlay/ + ``` + + ```console + cp wiki/server/moin.wsgi single/moin.py # WSGI module to run, extension should be changed for proper discovery + ``` + + Next, [edit](https://moinmo.in/HelpOnConfiguration#Configuring_a_single_wiki) + the wiki instance configuration in **wikiconfig.py** as appropriate. + {{%/tab%}} + + {{%tab name="Multiple Wikis"%}} + + + See the 'Multiple Wikis' section [here](https://master.moinmo.in/InstallDocs/ServerInstall) for an explanation of these commands: + + ```console + cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + mkdir multi/ multi/wiki1/ multi/wiki2/ + ``` + + ```console + cp wiki/config/wikifarm/* multi/ + ``` + + ```console + cp wiki/config/wikiconfig.py multi/wiki1.py # Wiki instance configuration + + ``` + + ```console + cp wiki/config/wikiconfig.py multi/wiki2.py # Wiki instance configuration + + ``` + + ```console + cp -r wiki/data/ multi/wiki1/data/ + ``` + + ```console + cp -r wiki/data/ multi/wiki2/data/ + ``` + + ```console + cp -r wiki/underlay/ multi/wiki1/underlay/ + ``` + + ```console + cp -r wiki/underlay/ multi/wiki2/underlay/ + ``` + + ```console + cp wiki/server/moin.wsgi multi/moin.py # WSGI module to run, extension should be changed for proper discovery + ``` + + Next, [edit](https://moinmo.in/HelpOnConfiguration#Configuration_of_multiple_wikis) + the farm configuration in **farmconfig.py** and the wiki instance + configurations, shown here as **wiki1.py** and **wiki2.py**, as appropriate. + + {{%/tab%}} + {{}} + + +5. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +6. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) the MoinMoin configuration for + Unit (use real values for **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/moin" + } + }, + + "applications": { + "moin": { + "type": "python 2", + "path": [ + "/path/to/app/wsgi/module/", + "/path/to/app/" + ], + "_comment_path": "Path where the WSGI module was stored at Step 4 | Path where the MoinMoin directory was extracted at Step 3", + "module": "moin", + "_comment_module": "WSGI file basename" + } + } + } + ``` + +7. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, MoinMoin should be available on the listener’s IP + address and port: + + ![Moin on Unit - Welcome Screen](/unit/images/moin.png) diff --git a/content/unit/howto/apps/nextcloud.md b/content/unit/howto/apps/nextcloud.md new file mode 100644 index 000000000..a1877a943 --- /dev/null +++ b/content/unit/howto/apps/nextcloud.md @@ -0,0 +1,192 @@ +--- +title: NextCloud +weight: 1400 +toc: true +--- + +To run the [NextCloud](https://nextcloud.com) share and collaboration +platform using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + +2. Install and configure NextCloud's [prerequisites](https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation) + +3. Install NextCloud's [core files](https://docs.nextcloud.com/server/latest/admin_manual/installation/command_line_installation.html). Here we install them at **/path/to/app**; + use a real path in your configuration. + + {{< note >}} + Verify the resulting settings in **/path/to/app/config/config.php**; + in particular, check the [trusted domains](https://docs.nextcloud.com/server/latest/admin_manual/installation/installation_wizard.html#trusted-domains-label) + to ensure the installation is accessible within your network: + + ```php + 'trusted_domains' => + array ( + 0 => 'localhost', + 1 => '*.example.com', + ), + ``` + {{< /note >}} + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, + [put together]({{< relref "/unit/configuration.md#configuration-php" >}}) + the NextCloud configuration for Unit (use real values for **share** and + **root**). The following is based on NextCloud's own + [guide](https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": [ + "/build/*", + "/tests/*", + "/config/*", + "/lib/*", + "/3rdparty/*", + "/templates/*", + "/data/*", + "/.*", + "/autotest*", + "/occ*", + "/issue*", + "/indie*", + "/db_*", + "/console*" + ] + }, + "_comment_match": "Denies access to files and directories best kept private", + "action": { + "return": 404 + } + }, + { + "match": { + "uri": [ + "/core/ajax/update.php*", + "/cron.php*", + "/index.php*", + "/ocm-provider*.php*", + "/ocs-provider*.php*", + "/ocs/v1.php*", + "/ocs/v2.php*", + "/public.php*", + "/remote.php*", + "/status.php*", + "/updater*.php*" + ] + }, + "_comment_match": "Serves direct URIs with dedicated scripts", + "action": { + "pass": "applications/nextcloud/direct" + } + }, + { + "match": { + "uri": "/ocm-provider*" + }, + "action": { + "pass": "applications/nextcloud/ocm" + } + }, + { + "match": { + "uri": "/ocs-provider*" + }, + "action": { + "pass": "applications/nextcloud/ocs" + } + }, + { + "match": { + "uri": "/updater*" + }, + "action": { + "pass": "applications/nextcloud/updater" + } + }, + { + "action": { + "share": "/path/to/app$uri", + "_comment_share": "Serves matching static files", + "fallback": { + "pass": "applications/nextcloud/index" + } + } + } + ], + + "applications": { + "nextcloud": { + "type": "php", + "targets": { + "direct": { + "root": "/path/to/app/" + }, + "_comment_direct": "Path to the application directory; use a real path in your configuration", + "index": { + "root": "/path/to/app/", + "script": "index.php" + }, + "_comment_index": "All requests are handled by a single script", + "ocm": { + "root": "/path/to/app/ocm-provider/", + "script": "index.php" + }, + "_comment_ocm": "All requests are handled by a single script", + "ocs": { + "root": "/path/to/app/ocs-provider/", + "script": "index.php" + }, + "_comment_ocs": "All requests are handled by a single script", + "updater": { + "root": "/path/to/app/nextcloud/updater/", + "script": "index.php" + }, + "_comment_updater": "All requests are handled by a single script" + } + } + } + } + ``` + + {{< note >}} + The difference between the **pass** targets is their usage of the + **script** [setting]({{< relref "/unit/configuration.md#configuration-php" >}}): + + - The **direct** target runs the **.php** script from the URI or + defaults to **index.php** if the URI omits it. + - Other targets specify the **script** that Unit runs for *any* URIs + the target receives. + {{< /note >}} + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + 7. Adjust Unit's **max_body_size** [option]({{< relref "/unit/configuration.md#configuration-stngs" >}}).to + avoid potential issues with large file uploads, for example, runnig the + following command as root: + + ```console + # curl -X PUT -d '{"http":{"max_body_size": 2147483648}}' --unix-socket \ + /path/to/control.unit.sock # Path to Unit's control socket in your installation + http://localhost/config/settings # Path to the 'config/settings' section in Unit's control API + ``` + + After a successful update, browse to and [set up](https://docs.nextcloud.com/server/latest/admin_manual/installation/installation_wizard.html) + your NextCloud installation: + + ![NextCloud on Unit - Home Screen](/unit/images/nextcloud.png) + diff --git a/content/unit/howto/apps/opengrok.md b/content/unit/howto/apps/opengrok.md new file mode 100644 index 000000000..08e2c716f --- /dev/null +++ b/content/unit/howto/apps/opengrok.md @@ -0,0 +1,67 @@ +--- +title: OpenGrok +toc: true +weight: 1500 +--- + +To run the [OpenGrok](https://github.com/oracle/opengrok) code search engine using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Java 11+ language module. + +2. Follow the official OpenGrok [installation guide](https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok). Here, + we'll place the files at **/path/to/app/**: + + ```console + mkdir -p /path/to/app/{src,data,dist,etc,log} # Path to the application directory; use a real path in your configuration + ``` + + ```console + tar -C /path/to/app/dist --strip-components=1 -xzf opengrok-X.Y.Z.tar.gz # Path to the application directory; use a real path in your configuration | Specific OpenGrok version + ``` + + Our servlet container is Unit so we can repackage the **source.war** + file to an arbitrary directory at [Step 2](https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok#step2---deploy-the-web-application): + + ```console + opengrok-deploy -c /path/to/app/etc/configuration.xml \ + /path/to/app/dist/lib/source.war /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + The resulting pathname is **/path/to/app/source.war**. + +3. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +4. Next, [prepare]({{< relref "/unit/configuration.md#configuration-java" >}}) + the OpenGrok configuration for Unit: + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/opengrok" + } + }, + + "applications": { + "opengrok": { + "type": "java", + "webapp": "/path/to/app/source.war", + "_comment_webapp": "Path to the application directory; use a real path in your configuration | Repackaged in Step 2", + "options": [ + "-Djava.awt.headless=true" + ] + } + } + } + ``` + +5. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, OpenGrok should be available on the listener’s IP + address and port: + + ![OpenGrok on Unit - Search Screen](/unit/images/opengrok.png) diff --git a/content/unit/howto/apps/phpbb.md b/content/unit/howto/apps/phpbb.md new file mode 100644 index 000000000..52ac1dbc6 --- /dev/null +++ b/content/unit/howto/apps/phpbb.md @@ -0,0 +1,121 @@ +--- +title: phpBB +toc: true +weight: 1600 +--- + +To run the [phpBB](https://www.phpbb.com) bulletin board using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + +2. Install and configure phpBB's [prerequisites](https://www.phpbb.com/support/docs/en/3.3/ug/quickstart/requirements/) + +3. Install phpBB's [core files](https://www.phpbb.com/downloads/). Here we install them at **/path/to/app**; + use a real path in your configuration. + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, prepare the app + [configuration]({{< relref "/unit/configuration.md#configuration-php" >}}) + for Unit (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": [ + "/cache/*", + "/common.php*", + "/config.php*", + "/config/*", + "/db/migration/data/*", + "/files/*", + "/images/avatars/upload/*", + "/includes/*", + "/store/*" + ] + }, + "_comment_match": "Denies access to files and directories best kept private", + "action": { + "return": 404 + } + }, + { + "match": { + "uri": [ + "/", + "*.php", + "*.php/*" + ] + }, + "action": { + "pass": "applications/phpbb/direct" + } + }, + { + "action": { + "share": "/path/to/app$uri", + "_comment_share": "Serves static files", + "fallback": { + "pass": "applications/phpbb/index" + }, + "_comment_fallback": "Catch-all for requests not yet served by other rules" + } + } + ], + + "applications": { + "phpbb": { + "type": "php", + "targets": { + "direct": { + "root": "/path/to/app/" + }, + "_comment_direct": "Path to the application directory; use a real path in your configuration", + "index": { + "root": "/path/to/app/", + "script": "app.php" + }, + "_comment_index": "Path to the application directory; use a real path in your configuration" + } + } + } + } + ``` + + {{< note >}} + The difference between the **pass** targets is their usage of the + **script** [setting]({{< relref "/unit/configuration.md#configuration-php" >}}): + + - The **direct** target runs the **.php** script from the URI or + defaults to **index.php** if the URI omits it. + - The **index** target specifies the **script** that Unit runs + for *any* URIs the target receives. + {{< /note >}} + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ![phpBB on Unit](/unit/images/phpbb.png) + + +7. Browse to **/install/app.php** to complete your installation. Having + done that, delete the **install/** subdirectory to mitigate security + risks: + + ```console + rm -rf /path/to/app/install/ # Path to the application directory; use a real path in your configuration + ``` diff --git a/content/unit/howto/apps/phpmyadmin.md b/content/unit/howto/apps/phpmyadmin.md new file mode 100644 index 000000000..bf6aedffb --- /dev/null +++ b/content/unit/howto/apps/phpmyadmin.md @@ -0,0 +1,71 @@ +--- +title: phpMyAdmin +toc: true +weight: 1700 +--- + +To run the [phpMyAdmin](https://www.phpmyadmin.net) web tool using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + +2. Install and configure phpMyAdmin's [prerequisites](https://docs.phpmyadmin.net/en/latest/require.html) + +3. Install phpMyAdmin's [core files](https://docs.phpmyadmin.net/en/latest/setup.html#quick-install-1). Here we install them at **/path/to/app**; + use a real path in your configuration. + + {{< note >}} + Make sure to create the **config.inc.php** file [manually](https://docs.phpmyadmin.net/en/latest/setup.html#manually-creating-the-file) + or using the [setup script](https://docs.phpmyadmin.net/en/latest/setup.html#using-the-setup-script). + {{< /note >}} + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the phpMyAdmin configuration for Unit + (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": "~\\.(css|gif|html?|ico|jpg|js(on)?|png|svg|ttf|woff2?)$" + }, + "_comment_match": "Enables access to static content only", + "action": { + "share": "/path/to/app$uri" + }, + "_comment_action": "Serves matching static files" + }, + { + "action": { + "pass": "applications/phpmyadmin" + } + } + ], + + "applications": { + "phpmyadmin": { + "type": "php", + "root": "/path/to/app/" + }, + "_comment_root": "Path to the application directory; use a real path in your configuration" + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, phpMyAdmin should be available on the listener’s IP + address and port: + + ![phpMyAdmin on Unit](/unit/images/phpmyadmin.png) diff --git a/content/unit/howto/apps/plone.md b/content/unit/howto/apps/plone.md new file mode 100644 index 000000000..aa1db6db6 --- /dev/null +++ b/content/unit/howto/apps/plone.md @@ -0,0 +1,124 @@ +--- +title: Plone +toc: true +weight: 1800 +--- + +To run the [Plone](https://plone.org) content management system using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.6+ language module. + +2. Install and configure Plone's [prerequisites](https://docs.plone.org/manage/installing/requirements.html) + +3. Install Plone's [core files](https://docs.plone.org/manage/installing/installation.html). + Here, we install them at **/path/to/app/**; use a real path in your configuration: + + ```console + mkdir /tmp/plone && cd /tmp/plone/ + ``` + + ```console + wget https://launchpad.net/plone/A.B/A.B.C/+download/Plone-A.B.C-UnifiedInstaller-1.0.tgz # Plone version + ``` + + ```console + tar xzvf Plone-A.B.C-UnifiedInstaller-1.0.tgz --strip-components=1 # Plone version | Avoids creating a redundant subdirectory + ``` + + ```console + ./install.sh --target=:/path/to/app/ \ # Path to the application directory; use a real path in your configuration + --with-python=/full/path/to/python \ # Full pathname of the Python executable used to create Plone's virtual environment + standalone + ``` + + {{< note >}} + Plone's [Zope](https://plone.org/what-is-plone/zope) instance and + virtual environment are created in the **zinstance/** subdirectory; + later, the resulting path is used to configure Unit, so take care to note + it in your setup. Also, make sure the Python version specified with + `--with-python` matches the module version from Step 1. + {{< /note >}} + +4. To run Plone on Unit, add a new configuration file named + **/path/to/app/zinstance/wsgi.cfg**: + + ```cfg + [buildout] + extends = + buildout.cfg + + parts += + wsgi.py # The basename is arbitrary; the extension is required to make the resulting Python module discoverable + + [wsgi.py] + recipe = plone.recipe.zope2instance + user = admin:admin # Instance credentials; omit this line to configure them interactively + eggs = + ${instance:eggs} + scripts = + initialization = + from Zope2.Startup.run import make_wsgi_app + wsgiapp = make_wsgi_app({}, '${buildout:parts-directory}/instance/etc/zope.conf') # Path to the Zope instance's configuration + def application(*args, **kwargs):return wsgiapp(*args, **kwargs) + ``` + + It creates a new Zope instance. The part's name must end with **.py** + for the resulting instance script to be recognized as a Python module; the + **initialization** [option](https://pypi.org/project/plone.recipe.zope2instance/#common-options) + defines a WSGI entry point using **zope.conf** from the **instance** + part in **buildout.cfg**. + + Rerun Buildout, feeding it the new configuration file: + + ```console + cd /path/to/app/ # Path to the application directory; use a real path in your configurationzinstance/ + ``` + + ```console + bin/buildout -c wsgi.cfg + + ... + Installing wsgi.py. + Generated script '/path/to/app/zinstance/bin/wsgi.py'. + ``` + + Thus created, the instance script can be used with Unit. + +5. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +6. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) the Plone configuration for Unit + (use real values for **path** and **home**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/plone" + } + }, + + "applications": { + "plone": { + "type": "python 3.Y", + "_comment_type": "Python executable version used to install Plone", + "path": "/path/to/app/zinstance/", + "_comment_path": "Path to the application directory; use a real path in your configuration", + "home": "/path/to/app/zinstance/", + "_comment_home": "Path to the application directory; use a real path in your configuration", + "module": "bin.wsgi", + "_comment_module": "WSGI module's qualified name with extension omitted" + } + } + } + ``` + +7. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your Plone instance should be available on the + listener’s IP address and port: + + ![Plone on Unit - Setup Screen](/unit/images/plone.png) diff --git a/content/unit/howto/apps/redmine.md b/content/unit/howto/apps/redmine.md new file mode 100644 index 000000000..f71945e8a --- /dev/null +++ b/content/unit/howto/apps/redmine.md @@ -0,0 +1,55 @@ +--- +title: Redmine +toc: true +weight: 1900 +--- + +To run the [Redmine](https://www.redmine.org) project management system using +Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Ruby language module. + +2. Install and configure Redmine's [prerequisites](https://www.redmine.org/projects/redmine/wiki/RedmineInstall#Installation-procedure) + +3. Install Redmine's [core files](https://www.redmine.org/projects/redmine/wiki/RedmineInstall#Step-1-Redmine-application). + Here we install them at **/path/to/app**; use a real path in your configuration. + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-ruby" >}}) + the Redmine configuration for Unit (use a real value for **working_directory**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/redmine" + } + }, + + "applications": { + "redmine": { + "type": "ruby", + "working_directory": "/path/to/app/", + "_comment_working_directory": "Path to the application directory; use a real path in your configuration", + "script": "config.ru", + "_comment_script": "Entry point script name, including the file name extension", + "environment": { + "RAILS_ENV": "production" + }, + "_comment_environment": "Environment name in the Redmine configuration file" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, Redmine should be available on the listener's IP + and port: + + ![Redmine on Unit - Sample Screen](/unit/images/redmine.png) diff --git a/content/unit/howto/apps/reviewboard.md b/content/unit/howto/apps/reviewboard.md new file mode 100644 index 000000000..559d7f016 --- /dev/null +++ b/content/unit/howto/apps/reviewboard.md @@ -0,0 +1,109 @@ +--- +title: Review Board +toc: true +weight: 2000 +--- + +To run the [Review Board](https://www.reviewboard.org) code review tool using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 2.7 language module. + +2. Install and configure Review Board's [prerequisites](https://www.reviewboard.org/docs/manual/dev/admin/installation/linux/#before-you-begin) + + {{< note >}} + We'll use Unit as the web server, so you can skip the corresponding step. + {{< /note >}} + +3. Install the [core files](https://www.reviewboard.org/docs/manual/dev/admin/installation/linux/#installing-review-board) + and create a [site](https://www.reviewboard.org/docs/manual/dev/admin/installation/creating-sites/). + Here, it's **/path/to/app/**; use a real path in your configuration: + + ```console + rb-site install /path/to/app/ # Path to the application directory; use a real path in your configuration + + * Welcome to the Review Board site installation wizard + + This will prepare a Review Board site installation in: + + /path/to/app + + We need to know a few things before we can prepare your site for + installation. This will only take a few minutes. + ... + ``` + +4. Add the **.py** extension to the WSGI module's name to make it + discoverable by Unit, for example: + + ```console + mv /path/to/app/htdocs/reviewboard.wsgi \ + /path/to/app/htdocs/wsgi.py # Path to the application directory; use a real path in your configuration + ``` + +5. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + + Also, make sure the following directories are [writable](https://www.reviewboard.org/docs/manual/dev/admin/installation/creating-sites/#changing-permissions): + + ```console + chmod u+w /path/to/app/htdocs/media/uploaded/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + chmod u+w /path/to/app/data/ # Path to the application directory; use a real path in your configuration + ``` + +6. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) +the Review Board configuration for Unit (use real values for **share** and **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": [ + "/media/*", + "/static/*", + "/errordocs/*" + ] + }, + "_comment_match": "Static file directories", + "action": { + "share": "/path/to/app/htdocs$uri" + }, + "_comment_action": "Serves matching static files" + }, + { + "action": { + "pass": "applications/rb" + } + } + ], + + "applications": { + "rb": { + "type": "python 2", + "path": "/path/to/app/htdocs/", + "_comment_path": "Path to the application directory; use a real path in your configuration", + "module": "wsgi", + "_comment_module": "WSGI module basename with extension omitted" + } + } + } + ``` + +7. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, browse to and [set up](https://www.reviewboard.org/docs/manual/dev/admin/#configuring-review-board) + your Review Board installation: + + ![Review Board on Unit - Dashboard Screen](/unit/images/reviewboard.png) diff --git a/content/unit/howto/apps/roundcube.md b/content/unit/howto/apps/roundcube.md new file mode 100644 index 000000000..58e52c77c --- /dev/null +++ b/content/unit/howto/apps/roundcube.md @@ -0,0 +1,89 @@ +--- +title: Roundcube +toc: true +weight: 2100 +--- + +To run the [Roundcube](https://roundcube.net) webmail platform using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + +2. Install and configure Roundcube's [prerequisites](https://github.com/roundcube/roundcubemail/wiki/Installation#install-dependencies) + +3. Install Roundcube's [core files](https://roundcube.net/download/). Here we install them at **/path/to/app**; + use a real path in your configuration. + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the Roundcube configuration for Unit + (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": [ + "*.php", + "*/" + ] + }, + "_comment_match": "Serves direct requests for PHP scripts and directory-like URIs", + "action": { + "pass": "applications/roundcube" + } + }, + { + "action": { + "share": "/path/to/app$uri" + }, + "_comment_action": "Serves static files" + } + ], + + "applications": { + "roundcube": { + "type": "php", + "root": "/path/to/app/", + "_comment_root": "Path to the application directory; use a real path in your configuration" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, browse to and [set up](https://github.com/roundcube/roundcubemail/wiki/Installation#configuring-roundcube) + your Roundcube installation: + + ![Roundcube on Unit - Setup Screen](/unit/images/roundcube-setup.png) + + + +7. After installation, switch **share** and **root** to the + **public_html/** subdirectory to [protect](https://github.com/roundcube/roundcubemail/wiki/Installation#protect-your-installation) + sensitive data, run the following command as root: + + ```console + curl -X PUT -d '"/path/to/app/public_html$uri"' --unix-socket /path/to/control.unit.sock \ + http://localhost/config/routes/1/action/share + ``` + + ```console + curl -X PUT -d '"/path/to/app/public_html/"' --unix-socket /path/to/control.unit.sock \ + http://localhost/config/applications/roundcube/root + ``` + + Thus, Roundcube should be available on the listener’s IP address and port: + + ![Roundcube on Unit - Login Screen](/unit/images/roundcube.png) diff --git a/content/unit/howto/apps/trac.md b/content/unit/howto/apps/trac.md new file mode 100644 index 000000000..3403037be --- /dev/null +++ b/content/unit/howto/apps/trac.md @@ -0,0 +1,162 @@ +--- +title: Trac +toc: true +weight: 2200 +--- + +{{< warning >}} +So far, Unit doesn't support handling the **REMOTE_USER** headers +directly, so authentication should be implemented via external means. For +example, consider using [trac-oidc](https://pypi.org/project/trac-oidc/) or +[OAuth2Plugin](https://trac-hacks.org/wiki/OAuth2Plugin). +{{< /warning >}} + +To run the [Trac](https://trac.edgewall.org) issue tracking system using +Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 2 language module. + + {{< note >}} + As of now, Trac [doesn't fully support](https://trac.edgewall.org/ticket/12130) Python 3. Mind that Python 2 + is officially deprecated. + {{< /note >}} + +2. Prepare and activate a [virtual environment](https://virtualenv.pypa.io/en/latest/) to contain your installation + (assuming `virtualenv` is installed): + + ```console + mkdir -p /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + virtualenv venv + ``` + + ```console + source venv/bin/activate + ``` + +3. Next, [install Trac](https://trac.edgewall.org/wiki/TracInstall) and its + optional dependencies, then initialize a [Trac environment](https://trac.edgewall.org/wiki/TracEnvironment) and deploy static files: + + ```console + pip install Trac + ``` + + ```console + pip install babel docutils genshi \ + pygments pytz textile # optional dependencies + ``` + + ```console + mkdir static/ # Arbitrary directory name, will store Trac's /chrome/ tree + ``` + + ```console + mkdir trac_env/ # Arbitrary directory name + ``` + + ```console + trac-admin trac_env/ initenv # initialize Trac environment + ``` + + ```console + trac-admin trac_env/ deploy static/ # extract Trac's static files + ``` + + ```console + mv static/htdocs static/chrome # align static file paths + ``` + + ```console + rm -rf static/cgi-bin/ # remove unneeded files + ``` + + ```console + deactivate + ``` + +4. Unit [uses WSGI]({{< relref "/unit/configuration.md#configuration-python" >}}) + to run Python apps, so a + [wrapper](https://trac.edgewall.org/wiki/1.3/TracModWSGI#Averybasicscript) + script is required to run Trac as a Unit app; let's save it as + **/path/to/app/trac_wsgi.py**. Here, the **application** callable + serves as the entry point for the app: + + ```python + import trac.web.main + + def application(environ, start_response): + environ["trac.locale"] = "en_US.UTF8" + return trac.web.main.dispatch_request(environ, start_response) + ``` + +5. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +6. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) the Trac configuration for Unit + (use real values for **share**, **path**, **home**, + **module**, **TRAC_ENV**, and **PYTHON_EGG_CACHE**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": "/chrome/*" + }, + "action": { + "share": "/path/to/app/static$uri" + }, + "_comment_action": "Serves matching static files | Path to the static files; use a real path in your configuration" + }, + { + "action": { + "pass": "applications/trac" + } + } + ], + + "applications": { + "trac": { + "type": "python 2", + "path": "/path/to/app/", + "_comment_path": "Path to the application directory; use a real path in your configuration", + "home": "/path/to/app/venv/", + "_comment_home": "Path to the application directory; use a real path in your configuration", + "module": "trac_wsgi", + "_comment_module": "WSGI module basename from Step 4 with extension omitted", + "environment": { + "TRAC_ENV": "/path/to/app/trac_env/", + "_comment_TRAC_ENV": "Path to the Trac environment; use a real path in your configuration", + "PYTHON_EGG_CACHE": "/path/to/app/trac_env/eggs/" + }, + "_comment_PYTHON_EGG_CACHE": "Path to the Python egg cache for Trac; use a real path in your configuration" + } + } + } + ``` + + The route serves requests for static files in Trac's **/chrome/** + [hierarchy](https://trac.edgewall.org/wiki/TracDev/TracURLs) from the + **static/** directory. + +7. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, Trac should be available on the listener’s IP + address and port: + + ![Trac on Unit - New Ticket Screen](/unit/images/trac.png) diff --git a/content/unit/howto/apps/wordpress.md b/content/unit/howto/apps/wordpress.md new file mode 100644 index 000000000..8651167af --- /dev/null +++ b/content/unit/howto/apps/wordpress.md @@ -0,0 +1,102 @@ +--- +title: WordPress +toc: true +weight: 2300 +--- + +{{< note >}} +For a more specific walkthrough that includes SSL setup and NGINX as a +proxy, see our [blog post](https://www.nginx.com/blog/automating-installation-wordpress-with-nginx-unit-on-ubuntu/). +{{< /note >}} + +To run the [WordPress](https://wordpress.org) content management system +using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 7.3+ language module. + +2. Install and configure WordPress's [prerequisites](https://wordpress.org/support/article/before-you-install/) + +3. Install WordPress's [core files](https://wordpress.org/download/). Here we install them at **/path/to/app**; + use a real path in your configuration. + +4. Update the **wp-config.php** [file](https://wordpress.org/support/article/editing-wp-config-php/) with your + database settings and other customizations. + +5. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +6. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the WordPress configuration for Unit + (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": [ + "*.php", + "*.php/*", + "/wp-admin/" + ] + }, + "action": { + "pass": "applications/wordpress/direct" + } + }, + { + "action": { + "share": "/path/to/app$uri", + "fallback": { + "pass": "applications/wordpress/index" + } + } + } + ], + + "applications": { + "wordpress": { + "type": "php", + "targets": { + "direct": { + "root": "/path/to/app/" + }, + "index": { + "root": "/path/to/app/", + "script": "index.php" + } + } + } + } + } + ``` + + {{< note >}} + The difference between the **pass** targets is their usage of the + **script** [setting]({{< relref "/unit/configuration.md#configuration-php" >}}): + + - The **direct** target runs the **.php** script from the URI or + defaults to **index.php** if the URI omits it. + - The **index** target specifies the **script** that Unit runs + for *any* URIs the target receives. + {{< /note >}} + +7. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, browse to and [set up](https://wordpress.org/support/article/how-to-install-wordpress/#step-5-run-the-install-script) + your WordPress installation: + + ![WordPress on Unit - Setup Screen](/unit/images/wordpress.png) + + {{< note >}} + The resulting URI scheme will affect your WordPress configuration; updates + may require [extra steps](https://wordpress.org/support/article/changing-the-site-url/). + {{< /note >}} diff --git a/content/unit/howto/certbot.md b/content/unit/howto/certbot.md new file mode 100644 index 000000000..cf24d8444 --- /dev/null +++ b/content/unit/howto/certbot.md @@ -0,0 +1,283 @@ +--- +title: TLS with Certbot +toc: true +weight: 600 +--- + +To set up +[SSL/TLS access in Unit]({{< relref "/unit/certificates.md#configuration-ssl" >}}), +you need certificate bundles. Although you can use self-signed certificates, it's +advisable to obtain certificates for your website from a certificate authority +(CA). For this purpose, you may employ EFF's [Certbot](https://certbot.eff.org) that issues free certificates signed by [Let's +Encrypt](https://letsencrypt.org), a non-profit CA. + +{{< note >}} +The commands in this document starting with a hash (#) must be run as root or +with superuser privileges. +{{< /note >}} + +## Generating certificates + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) on your website's server. + +2. Install [Certbot](https://certbot.eff.org/instructions) on the same + server, choosing `None of the above` in the `Software` + dropdown list and the server's OS in the `System` dropdown list + at EFF's website. + +3. Run the `certbot` utility and follow its instructions to create the + certificate bundle. You'll be prompted to enter the domain name of the + website and [validate domain ownership](https://letsencrypt.org/docs/challenge-types/); the latter can be done + differently. Perhaps, the easiest approach is to use the [webroot](https://eff-certbot.readthedocs.io/en/stable/using.html#webroot) method + by having Certbot store a certain file locally and then access it by your + domain name. First, configure Unit with a temporary route at port 80: + + ```json + { + "listeners": { + "*:80": { + "pass": "routes/acme", + "comment_*:80": "Certbot attempts to reach the domain name at port 80" + } + }, + "routes": { + "acme": [ + { + "match": { + "uri": "/.well-known/acme-challenge/*", + "comment_uri": "The URI that Certbot probes to download the file" + }, + "action": { + "share": "/var/www/www.example.com$uri/", + "comment_share": "Arbitrary directory, preferably the one used for storing static files" + } + } + ] + } + } + ``` + + Make sure the **share** directory is accessible for Unit's + [router process]({{< relref "/unit/howto/security.md#security-apps" >}}) + user account, usually **unit:unit**. + + Next, run `certbot`, supplying the **share** directory as the + webroot path: + + ```console + # certbot certonly --webroot -w /var/www/www.example.com/ -d www.example.com # path where the file is stored and your domain name + ``` + + If you can't employ the previous method for some reason, try using DNS + records to validate your domain: + + ```console + # certbot certonly --manual --preferred-challenges dns -d www.example.com # your domain name + ``` + + Certbot will provide instructions on updating the DNS entries to prove + domain ownership. + + Any such `certbot` command stores the resulting **.pem** files + as follows: + + ```none + /etc/letsencrypt/ # Location can be configured, see Certbot help + └── live/ + └── www.example.com # Your website name + ├── cert.pem # Leaf website certificate + ├── chain.pem # Root CA certificate chain + ├── fullchain.pem # Concatenation of the two PEMs above + └── privkey.pem # Your private key, must be kept secret + + ``` + + {{< note >}} + Certbot offers other validation methods ([authenticators](https://eff-certbot.readthedocs.io/en/stable/using.html#getting-certificates-and-choosing-plugins)) + as well, but they're omitted here for brevity. + {{< /note >}} + +4. Create a certificate bundle fit for Unit and upload it to the + **certificates** section of Unit's + [control API]({{< relref "/unit/controlapi.md#configuration-api" >}}): + + ```console + # cat /etc/letsencrypt/live/www.example.com/fullchain.pem \ + /etc/letsencrypt/live/www.example.com/privkey.pem > bundle1.pem # Arbitrary certificate bundle's filename + ``` + + ```console + # curl -X PUT --data-binary @bundle1.pem \ # Certificate bundle's filename + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/certificates/certbot1 # Certificate bundle name in Unit's configuration + + { + "success": "Certificate chain uploaded." + } + ``` + +5. Create or update a [listener]({{< relref "/unit/configuration.md#configuration-listeners" >}}) to use the + uploaded bundle in Unit: + + ```console + # curl -X PUT --data-binary \ + '{"pass": "applications/ssl_app", "tls": {"certificate": "certbot1"}}' \ # Certificate bundle name in Unit's configuration + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + 'http://localhost/config/listeners/*:443' # Listener's name in Unit's configuration + + ``` + +6. Try accessing your website via HTTPS: + + ```console + $ curl https://www.example.com -v + + ... + * TLSv1.3 (OUT), TLS handshake, Client hello (1): + * TLSv1.3 (IN), TLS handshake, Server hello (2): + * TLSv1.3 (IN), TLS Unknown, Certificate Status (22): + * TLSv1.3 (IN), TLS handshake, Unknown (8): + * TLSv1.3 (IN), TLS Unknown, Certificate Status (22): + * TLSv1.3 (IN), TLS handshake, Certificate (11): + * TLSv1.3 (IN), TLS Unknown, Certificate Status (22): + * TLSv1.3 (IN), TLS handshake, CERT verify (15): + * TLSv1.3 (IN), TLS Unknown, Certificate Status (22): + * TLSv1.3 (IN), TLS handshake, Finished (20): + * TLSv1.3 (OUT), TLS change cipher, Client hello (1): + * TLSv1.3 (OUT), TLS Unknown, Certificate Status (22): + * TLSv1.3 (OUT), TLS handshake, Finished (20): + * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 + * ALPN, server did not agree to a protocol + * Server certificate: + * subject: CN=www.example.com + * start date: Sep 21 22:10:42 2020 GMT + * expire date: Dec 20 22:10:42 2020 GMT + ... + ``` + +## Renewing certificates + +Certbot enables renewing the certificates [manually](https://eff-certbot.readthedocs.io/en/stable/using.html#renewing-certificates) +or [automatically](https://eff-certbot.readthedocs.io/en/stable/using.html#automated-renewals). +For manual renewal and rollover: + +1. Repeat the preceding steps to renew the certificates and upload the new + bundle under a different name: + + ```console + # certbot certonly --standalone + + What would you like to do? + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1: Keep the existing certificate for now + 2: Renew & replace the cert (may be subject to CA rate limits) + ``` + + ```console + # cat /etc/letsencrypt/live/www.example.com/fullchain.pem \ + /etc/letsencrypt/live/www.example.com/privkey.pem > bundle2.pem # Arbitrary certificate bundle's filename + ``` + + ```console + # curl -X PUT --data-binary @bundle2.pem \ # Certificate bundle's filename + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/certificates/certbot2 # Certificate bundle name in Unit's configuration + + { + "success": "Certificate chain uploaded." + } + ``` + + Now you have two certificate bundles uploaded; Unit knows them as + **certbot1** and **certbot2**. Optionally, query the + **certificates** section to review common details such as expiry dates, + subjects, or issuers: + + ```console + # curl --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/certificates + ``` + +2. Update the [listener]({{< relref "/unit/configuration.md#configuration-listeners" >}}), switching it to the + renewed certificate bundle: + + ```console + # curl -X PUT --data-binary 'certbot2' \ # New certificate bundle name in Unit's configuration + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + 'http://localhost/config/listeners/*:443/tls/certificate' # Listener's name in Unit's configuration + ``` + + {{< note >}} + There's no need to shut Unit down; your server can stay online during the + rollover. + {{< /note >}} + +3. Delete the expired bundle: + + ```console + # curl -X DELETE --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + 'http://localhost/certificates/certbot1' # Old certificate bundle name in Unit's configuration + + { + "success": "Certificate deleted." + } + ``` + +4. You can also make use of Unit's + [SNI]({{< relref "/unit/configuration.md#configuration-listeners" >}}) + support by configuring several certificate bundles for a listener. + + Suppose you've successfully used Certbot to obtain Let's Encrypt + certificates for two domains, **www.example.com** and + **cdn.example.com**. First, upload them to Unit using the same steps as + earlier: + + ```console + # cat /etc/letsencrypt/live/cdn.example.com/fullchain.pem \ + /etc/letsencrypt/live/cdn.example.com/privkey.pem > cdn.example.com.pem # Arbitrary certificate bundle's filename + ``` + + ```console + # cat /etc/letsencrypt/live/www.example.com/fullchain.pem \ + /etc/letsencrypt/live/www.example.com/privkey.pem > www.example.com.pem # Arbitrary certificate bundle's filename + ``` + + ```console + # curl -X PUT --data-binary @cdn.example.com.pem \ # Certificate bundle's filename + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/certificates/cdn.example.com # Certificate bundle name in Unit's configuration + + { + "success": "Certificate chain uploaded." + } + ``` + + ```console + # curl -X PUT --data-binary @www.example.com.pem \ # Certificate bundle's filename + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + http://localhost/certificates/www.example.com # Certificate bundle name in Unit's configuration + + { + "success": "Certificate chain uploaded." + } + ``` + + Next, configure the listener, supplying both bundles as an array value for + the **tls/certificate** option: + + ```console + # curl -X PUT --data-binary '{"certificate": ["cdn.example.com", "www.example.com"]}' \ # Certificate bundle names in Unit's configuration + --unix-socket /path/to/control.unit.sock \ # Path to Unit's control socket in your installation + 'http://localhost/config/listeners/*:443/tls' # Listener's name in Unit's configuration + + ``` + + Unit does the rest of the job, automatically figuring out which bundle to + produce for each incoming connection to both domain names. + +{{< note >}} +Currently, Certbot doesn't have [installer plugins](https://eff-certbot.readthedocs.io/en/stable/using.html#getting-certificates-and-choosing-plugins) +that enable automatic certificate rollover in Unit. However, you can set up +Certbot's [hooks](https://eff-certbot.readthedocs.io/en/stable/using.html#renewing-certificates) +using the commands listed here to the same effect. +{{< /note >}} diff --git a/content/unit/howto/docker.md b/content/unit/howto/docker.md new file mode 100644 index 000000000..c19019ecc --- /dev/null +++ b/content/unit/howto/docker.md @@ -0,0 +1,468 @@ +--- +title: Unit in Docker +weight: 200 +toc: true +--- + +To run your apps in a containerized Unit using the +[images we provide]({{< relref "/unit/installation.md#installation-docker" >}}), +you need at least to: + +- Mount your application files to a directory in your container. +- Publish Unit's listener port to the host machine. + +For example: + +```console + $ export UNIT=$( \ + docker run -d --mount type=bind,src="$(pwd)",dst=/www \ + -p 8080:8000 unit:{{< param "unitversion" >}}-python3.11 \ + ) +``` + +The command mounts the host's current directory where your app files are stored +to the container's **/www/** directory and publishes the container's port +**8000** that the listener will use as port **8080** on the host, +saving the container's ID in the `UNIT` environment variable. + +Next, upload a configuration to Unit via the control socket: + +```console +$ docker exec -ti $UNIT curl -X PUT --data-binary @/www/config.json \ + --unix-socket /var/run/control.unit.sock \ # Socket path inside the container + http://localhost/config +``` + +This command assumes your configuration is stored as **config.json** in the +container-mounted directory on the host; if the file defines a listener on port +**8000**, your app is now accessible on port **8080** of the host. For +details of the Unit configuration, see +[Configuration]({{< relref "/unit/controlapi.md#configuration-api" >}}). + +{{< note >}} +For app containerization examples, refer to our sample [ Go](/unit/downloads/Dockerfile.go.txt), +[ Java](/unit/downloads/Dockerfile.java.txt), +[ Node.js](/unit/downloads/Dockerfile.nodejs.txt), +[ Perl](/unit/downloads/Dockerfile.perl.txt), +[ PHP](/unit/downloads/Dockerfile.php.txt), +[ Python](/unit/downloads/Dockerfile.python.txt), +and [ Ruby](/unit/downloads/Dockerfile.ruby.txt) Dockerfiles; +also, see a more elaborate discussion +[below]({{< relref "/unit/howto/docker.md#docker-apps" >}}) +{{< /note >}} + +Now for a few detailed scenarios. + +## Apps in a containerized Unit {#docker-apps-containerized-unit} + +Suppose we have a web app with a few dependencies, say +[Flask`s]({{< relref "/unit/howto/frameworks/flask.md" >}}) official **hello, world** app: + +```console +$ cd /path/to/app/ # Directory where all app-related files will be stored; use a real path in your configuration +``` + +```console +$ mkdir webapp +``` + +```console +$ cat << EOF > webapp/wsgi.py + +from flask import Flask +app = Flask(__name__) + +@app.route('/') +def hello_world(): + return 'Hello, World!' +EOF +``` + +However basic it is, there's already a dependency, so let's list it in a file +called **requirements.txt**: + +```console +$ cat << EOF > requirements.txt + +flask +EOF +``` + +Next, create a simple Unit +[configuration]({{< relref "/unit/configuration.md#configuration-python" >}}) +file for the app: + +```console +$ mkdir config +``` + +```console +$ cat << EOF > config/config.json + +{ + "listeners": { + "*:8000": { + "pass": "applications/webapp" + } + }, + + "applications": { + "webapp": { + "type": "python 3", + "path": "/www", # Directory inside the container where the app files will be stored + "module": "wsgi", # WSGI module basename with extension omitted + "callable": "app" # Name of the callable in the module to run + } + } +} +EOF + +``` + +Finally, let's create **log/** and **state/** directories to store Unit +[log and state]({{< relref "/unit/howto/source.md#source-startup" >}}) + +```console +$ mkdir log +``` + +```console +$ touch log/unit.log +``` + +```console +$ mkdir state +``` + +Our file structure so far: + +```none +/path/to/app # Directory where all app-related files are stored; use a real path in your configuration +├── config +│ └── config.json +├── log +│ └── unit.log +├── requirements.txt +├── state +└── webapp + └── wsgi.py +``` + +Everything is ready for a containerized Unit. First, let's create a +**Dockerfile** to install app prerequisites: + +```dockerfile +FROM unit:{{< param "unitversion" >}}-python3.11 +COPY requirements.txt /config/requirements.txt +RUN python3 -m pip install -r /config/requirements.txt +``` + +```console +$ docker build --tag=unit-webapp . # Arbitrary image tag +``` + +Next, we start a container and map it to our directory structure: + +```console +$ export UNIT=$( \ + docker run -d \ + --mount type=bind,src="$(pwd)/config/",dst=/docker-entrypoint.d/ \ + --mount type=bind,src="$(pwd)/log/unit.log",dst=/var/log/unit.log \ + --mount type=bind,src="$(pwd)/state",dst=/var/lib/unit \ + --mount type=bind,src="$(pwd)/webapp",dst=/www \ + -p 8080:8000 unit-webapp \ + ) +``` + +{{< note >}} +With this mapping, Unit stores its state and log in your file structure. By +default, our Docker images forward their log output to the [Docker log +collector](https://docs.docker.com/config/containers/logging/). +{{< /note >}} + +We've mapped the source **config/** to **/docker-entrypoint.d/** in the +container; the official image +[uploads]({{< relref "/unit/installation.md#installation-docker-init" >}}) +any **.json** files found there into Unit's **config** section if the +state is empty. Now we can test the app: + +```console +$ curl -X GET localhost:8080 + + Hello, World! +``` + +To relocate the app in your file system, you only need to move the file +structure: + +```console +$ mv /path/to/app/ # Directory where all app-related files are stored + /new/path/to/app/ # New directory; use a real path in your configuration +``` + +To switch your app to a different Unit image, prepare a corresponding +**Dockerfile** first: + +```dockerfile +FROM unit:{{< param "unitversion" >}}-minimal +COPY requirements.txt /config/requirements.txt +# This time, we took a minimal Unit image to install a vanilla Python 3.9 +# module, run PIP, and perform cleanup just like we did earlier. + +# First, we install the required tooling and add Unit's repo. +RUN apt update && apt install -y curl apt-transport-https gnupg2 lsb-release \ + && curl -o /usr/share/keyrings/nginx-keyring.gpg \ + https://unit.nginx.org/keys/nginx-keyring.gpg \ + && echo "deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] \ + https://packages.nginx.org/unit/debian/ `lsb_release -cs` unit" \ + > /etc/apt/sources.list.d/unit.list + +# Next, we install the module, download app requirements, and perform cleanup. +RUN apt update && apt install -y unit-python3.9 python3-pip \ + && python3 -m pip install -r /config/requirements.txt \ + && apt remove -y curl apt-transport-https gnupg2 lsb-release python3-pip \ + && apt autoremove --purge -y \ + && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/*.list +``` + +```console +$ docker build --tag=unit-pruned-webapp . +``` + +Run a container from the new image; Unit picks up the mapped state +automatically: + +```console +$ export UNIT=$( \ + docker run -d \ + --mount type=bind,src="$(pwd)/log/unit.log",dst=/var/log/unit.log \ + --mount type=bind,src="$(pwd)/state",dst=/var/lib/unit \ + --mount type=bind,src="$(pwd)/webapp",dst=/www \ + -p 8080:8000 unit-pruned-webapp \ + ) +``` + + +## Containerized apps {#docker-apps} + +Suppose you have a Unit-ready +[Express]({{< relref "/unit/howto/frameworks/express.md" >}}) +app, stored in the **myapp/** directory as **app.js**: + +```javascript +#!/usr/bin/env node + +const http = require('http') +const express = require('express') +const app = express() + +app.get('/', (req, res) => res.send('Hello, Unit!')) +http.createServer(app).listen() +``` + +Its Unit configuration, stored as **config.json** in the same directory: + +```json +{ + "listeners": { + "*:8080": { + "pass": "applications/express" + } + }, + + "applications": { + "express": { + "type": "external", + "working_directory": "/www/", + "comment_working_directory": "Directory inside the container where the app files will be stored", + "executable": "/usr/bin/env", + "comment_executable": "The external app type allows to run arbitrary executables, provided they establish communication with Unit", + "arguments": [ + "node", + "--loader", + "unit-http/loader.mjs", + "--require", + "unit-http/loader", + "app.js" + ], + "comment_arguments": "The env executable runs Node.js, supplying Unit's loader module and your app code as arguments", + "comment_app.js": "Basename of the application file; be sure to make it executable" + } + } +} +``` + +The resulting file structure: + +```none +myapp/ +├── app.js +└── config.json +``` + +{{< note >}} +Don't forget to `chmod +x` the **app.js** file so Unit can run it. +{{< /note >}} + +Let's prepare a **Dockerfile** to install and configure the app in an +image: + +```dockerfile +# Keep our base image as specific as possible. +FROM unit:{{< param "unitversion" >}}-node15 + +# Same as "working_directory" in config.json. +COPY myapp/app.js /www/ + +# Install and link Express in the app directory. +RUN cd /www && npm install express && npm link unit-http + +# Port used by the listener in config.json. +EXPOSE 8080 +``` + +When you start a container based on this image, mount the **config.json** file to +[initialize]({{< relref "/unit/installation.md#installation-docker-init" >}}) +Unit's state: + +```console +$ docker build --tag=unit-expressapp . # Arbitrary image tag +``` + +```console +$ export UNIT=$( \ + docker run -d \ + --mount type=bind,src="$(pwd)/myapp/config.json",dst=/docker-entrypoint.d/config.json \ + -p 8080:8080 unit-expressapp \ + ) +``` + +```console +$ curl -X GET localhost:8080 + + Hello, Unit! +``` + +{{< note >}} +This mechanism allows to initialize Unit at container startup only if its +state is empty; otherwise, the contents of **/docker-entrypoint.d/** is +ignored. Continuing the previous sample: + +```console +$ docker commit $UNIT unit-expressapp # Store a non-empty Unit state in the image. + +# cat << EOF > myapp/new-config.json # Let's attempt re-initialization. + ... + EOF + +$ export UNIT=$( \ + docker run -d \ + --mount type=bind,src="$(pwd)/myapp/new-config.json",dst=/docker-entrypoint.d/new-config.json \ + -p 8080:8080 unit-expressapp \ + ) +``` + +Here, Unit *does not* pick up the **new-config.json** from the +**/docker-entrypoint.d/** directory when we run a container from the +updated image because Unit's state was initialized and saved earlier. +{{< /note >}} + +To configure the app after startup, supply a file or an explicit snippet via +the [control API]({{< relref "/unit/controlapi.md" >}}): + +```console +$ cat << EOF > myapp/new-config.json + ... + EOF +``` + +```console +$ export UNIT=$( \ + docker run -d \ + --mount type=bind,src="$(pwd)/myapp/new-config.json",dst=/cfg/new-config.json \ + unit-expressapp \ + ) +``` + +```console +$ docker exec -ti $UNIT curl -X PUT --data-binary @/cfg/new-config.json \ + --unix-socket /var/run/control.unit.sock \ + http://localhost/config +``` + +```console +$ docker exec -ti $UNIT curl -X PUT -d '"/www/newapp/"' \ + --unix-socket /var/run/control.unit.sock \ + http://localhost/config/applications/express/working_directory +``` + +This approach is applicable to any Unit-supported apps with external +dependencies. + +## Multilanguage images {#docker-multi} + +Earlier, Unit had a **-full** Docker image with modules for all supported +languages, but it was discontinued with version 1.22.0. If you still need a +multilanguage image, use the following **Dockerfile** template that starts +with the minimal Unit image based on +[Debian 11]({{< relref "/unit/installation.md#installation-debian-11" >}}): +and installs official language module packages: + +```dockerfile +{ + "listeners": { + "*:8080": { + "pass": "applications/express" + } + }, + + "applications": { + "express": { + "type": "external", + "working_directory": "/www/", + "comment_working_directory": "Directory inside the container where the app files will be stored", + "executable": "/usr/bin/env", + "comment_executable": "The external app type allows to run arbitrary executables, provided they establish communication with Unit", + "arguments": [ + "node", + "--loader", + "unit-http/loader.mjs", + "--require", + "unit-http/loader", + "app.js" + ], + "comment_arguments": "The env executable runs Node.js, supplying Unit's loader module and your app code as arguments", + "comment_last_argument": "Basename of the application file; be sure to make it executable" + } + } +} +``` + +Instead of packages, you can build custom +[modules]({{< relref "/unit/howto/source.md#source-modules" >}}); +use these **Dockerfile.\*** [templates](https://github.com/nginx/unit/tree/master/pkg/docker) as reference. + +## Startup customization {#docker-startup} + +Finally, you can customize the way Unit starts in a container by adding a new +Dockerfile layer: + +```dockerfile +FROM unit:{{< param "unitversion" >}}-minimal + +CMD ["unitd-debug","--no-daemon","--control","unix:/var/run/control.unit.sock"] +``` + +The **CMD** instruction above replaces the default `unitd` +executable with its debug version. Use Unit's +[command-line options]({{< relref "/unit/howto/source.md#source-startup" >}}) +to alter its startup behavior, for example: + +```dockerfile +FROM unit:{{< param "unitversion" >}}-minimal + +CMD ["unitd","--no-daemon","--control","0.0.0.0:8080"] +``` + +This replaces Unit's default UNIX domain control socket with an IP socket +address. diff --git a/content/unit/howto/frameworks/_index.md b/content/unit/howto/frameworks/_index.md new file mode 100644 index 000000000..0e70cc70f --- /dev/null +++ b/content/unit/howto/frameworks/_index.md @@ -0,0 +1,4 @@ +--- +title: Frameworks +weight: 1000 +--- \ No newline at end of file diff --git a/content/unit/howto/frameworks/bottle.md b/content/unit/howto/frameworks/bottle.md new file mode 100644 index 000000000..98088a2de --- /dev/null +++ b/content/unit/howto/frameworks/bottle.md @@ -0,0 +1,93 @@ +--- +title: Bottle +weight: 100 +toc: true +--- + +To run apps built with the [Bottle](https://bottlepy.org/docs/dev/) web +framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 2.7+ language module. + +2. Create a virtual environment to install Bottle's +[PIP package](https://bottlepy.org/docs/dev/tutorial.html#installation), for + instance: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + $ python --version # Make sure your virtual environment version matches the module version + Python X.Y.Z # Major version, minor version, and revision number + $ python -m venv venv # Arbitrary name of the virtual environment + $ source venv/bin/activate # Name of the virtual environment from the previous command + $ pip install bottle + $ deactivate + ``` + + {{< warning >}} + Create your virtual environment with a Python version that matches the + language module from Step 1 up to the minor number (**X.Y** in + this example). Also, the app **type** in Step 5 must + [resolve]({{< relref "/unit/configuration.md#configuration-apps-common" >}}) + to a similarly matching version; Unit doesn't infer it from the environment. + {{< /warning >}} + +3. Let's try an updated version of the [quickstart app](https://bottlepy.org/docs/dev/tutorial.html#the-default-application), + saving it as **/path/to/app/wsgi.py**: + + ```python + from bottle import Bottle, template + + app = Bottle() # Callable name used in Unit's configuration + + @app.route('/hello/') + def hello(name): + return template('Hello, {{name}}!', name=name) + + # run(app, host='localhost', port=8080) + ``` + + Note that we've dropped the server code. + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) the Bottle configuration for + Unit (use real values for **type**, **home**, and **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/bottle" + } + }, + "applications": { + "bottle": { + "type": "python X.Y", + "type_comment": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "path_comment": "Path to the WSGI module; use a real path in your configuration", + "home": "/path/to/app/venv/", + "home_comment": "Path to the virtual environment, if any; use a real path in your configuration", + "module": "wsgi", + "module_comment": "WSGI module basename with extension omitted", + "callable": "app", + "callable_comment": "Name of the callable in the module to run" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ```console + $ curl http://localhost/hello/Unit + + Hello, Unit! + ``` diff --git a/content/unit/howto/frameworks/cakephp.md b/content/unit/howto/frameworks/cakephp.md new file mode 100644 index 000000000..af88812b3 --- /dev/null +++ b/content/unit/howto/frameworks/cakephp.md @@ -0,0 +1,106 @@ +--- +title: CakePHP +weight: 200 +toc: true +--- + +To run apps based on the [CakePHP](https://cakephp.org) framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP 7.2+ language module. + +2. [Install](https://book.cakephp.org/4/en/installation.html) CakePHP and + create or deploy your app. Here, we use CakePHP's [basic template](https://book.cakephp.org/4/en/installation.html#create-a-cakephp-project) + and Composer: + + ```console + $ cd /path/to/ # Path where the application directory will be created; use a real path in your configuration + ``` + + ```console + $ composer create-project --prefer-dist cakephp/app:4.* app # Arbitrary app name; becomes the application directory name + + ``` + + This creates the app's directory tree at **/path/to/app/**. Its + **webroot/** subdirectory contains both the root **index.php** and + the static files; if your app requires additional **.php** scripts, also + store them here. + +3. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +4. Next, prepare the app [configuration]({{< relref "/unit/configuration.md#configuration-php" >}}) + for Unit (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + "routes": [ + { + "match": { + "uri": [ + "*.php", + "*.php/*" + ], + "uri_comment": "The second element '*.php/*' handles all requests that explicitly target PHP scripts" + }, + "action": { + "pass": "applications/cakephp/direct" + } + }, + { + "action": { + "share": "/path/to/app/webroot$uri", + "share_comment": "Unconditionally serves remaining requests that target static files", + "fallback": { + "pass": "applications/cakephp/index", + "fallback_comment": "Serves any requests not served with the 'share' immediately above" + } + } + } + ], + "applications": { + "cakephp": { + "type": "php", + "targets": { + "direct": { + "root": "/path/to/app/webroot/", + "root_comment": "Path to the webroot/ directory; use a real path in your configuration" + }, + "index": { + "root": "/path/to/app/webroot/", + "root_comment": "Path to the webroot/ directory; use a real path in your configuration", + "script": "index.php", + "script_comment": "All requests are handled by a single script" + } + } + } + } + } + ``` + + {{< note >}} + The difference between the **pass** targets is their usage of the + **script** [setting]({{< relref "/unit/configuration.md#configuration-php" >}}): + + - The **direct** target runs the **.php** script from the URI or + defaults to **index.php** if the URI omits it. + - The **index** target specifies the **script** that Unit runs + for *any* URIs the target receives. + {{< /note >}} + + For a detailed discussion, see [Fire It Up](https://book.cakephp.org/4/en/installation.html#fire-it-up) in CakePHP docs. + +5. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ![CakePHP Basic Template App on Unit](/unit/images/cakephp.png) diff --git a/content/unit/howto/frameworks/catalyst.md b/content/unit/howto/frameworks/catalyst.md new file mode 100644 index 000000000..987499b08 --- /dev/null +++ b/content/unit/howto/frameworks/catalyst.md @@ -0,0 +1,76 @@ +--- +title: Catalyst +weight: 300 +toc: true +--- + +To run apps based on the [Catalyst](https://metacpan.org/dist/Catalyst-Manual) 5.9+ framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Perl language module. + +2. Install Catalyst's [core files](https://metacpan.org/dist/Catalyst-Manual/view/lib/Catalyst/Manual/Intro.pod#Install). + +3. [Create](https://metacpan.org/dist/Catalyst-Manual/view/lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod#CREATE-A-CATALYST-PROJECT) + a Catalyst app. Here, let's store it at **/path/to/app/**: + + ```console + $ cd /path/to/ # Path where the application directory will be created; use a real path in your configuration + ``` + + ```console + $ catalyst.pl app # Arbitrary app name; becomes the application directory name + ``` + + ```console + $ cd app + ``` + + ```console + $ perl Makefile.PL + ``` + + Make sure the app's **.psgi** file includes the **lib/** + directory: + + ```perl + use lib 'lib'; + use app; + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, + [prepare]({{< ref "/unit/configuration.md#configuration-perl" >}}) + the Catalyst configuration for Unit + (use real values for **script** and **working_directory**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/catalyst" + } + }, + + "applications": { + "catalyst": { + "type": "perl", + "working_directory": "/path/to/app/", + "_comment_working_directory": "Needed to use modules from the local lib directory; use a real path in your configuration", + "script": "/path/to/app/app.psgi", + "_comment_script": "Path to the application directory; use a real path in your configuration" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ![Catalyst Basic Template App on Unit](/unit/images/catalyst.png) diff --git a/content/unit/howto/frameworks/codeigniter.md b/content/unit/howto/frameworks/codeigniter.md new file mode 100644 index 000000000..d577522c6 --- /dev/null +++ b/content/unit/howto/frameworks/codeigniter.md @@ -0,0 +1,69 @@ +--- +title: CodeIgniter +weight: 400 +toc: true +--- + +To run apps built with the [CodeIgniter](https://codeigniter.com) web +framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + +2. Download CodeIgniter's [core files](https://codeigniter.com/user_guide/installation/index.html) and [build](https://codeigniter.com/user_guide/tutorial/index.html) your application. + Here, let's use a [basic app template](https://forum.codeigniter.com/thread-73103.html), installing it at + **/path/to/app/**. + +3. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + + +4. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) + the CodeIgniter configuration for Unit: + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": "!/index.php" + }, + "_comment_match": "Denies access to index.php as a static file", + + "action": { + "share": "/path/to/app/public$uri", + "_comment_share": "Path to the application directory; use a real path in your configuration", + "fallback": { + "pass": "applications/codeigniter" + }, + "_comment_fallback": "Serves any requests not served with the 'share' immediately above" + } + } + ], + + "applications": { + "codeigniter": { + "type": "php", + "root": "/path/to/app/public/", + "_comment_root": "Path to the application directory; use a real path in your configuration", + "script": "index.php" + }, + "_comment_script": "All requests are served by a single script" + } + } + ``` + +5. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ![CodeIgniter Sample App on Unit](/unit/images/codeigniter.png) diff --git a/content/unit/howto/frameworks/django.md b/content/unit/howto/frameworks/django.md new file mode 100644 index 000000000..896abe266 --- /dev/null +++ b/content/unit/howto/frameworks/django.md @@ -0,0 +1,176 @@ +--- +title: Django +toc: true +weight: 500 +--- + +To run apps based on the Django [framework](https://www.djangoproject.com) +using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3 language module. + +2. Install and configure the Django [framework](https://www.djangoproject.com). The official docs [recommend](https://docs.djangoproject.com/en/stable/topics/install/#installing-an-official-release-with-pip) + setting up a virtual environment; if you do, list it as **home** when + configuring Unit later. Here, it's **/path/to/venv/**. + +3. Create a Django [project](https://docs.djangoproject.com/en/stable/intro/tutorial01/). Here, we + install it at **/path/to/app/**; use a real path in your configuration. + The following steps assume your project uses [basic directory structure](https://docs.djangoproject.com/en/stable/ref/django-admin/#django-admin-startproject): + + ```none + /path/to/app/ # Project directory + |-- manage.py + |-- django_app1/ # Individual app directory + | |-- ... + |-- django_app2/ # Individual app directory + | |-- ... + |-- project/ # Project subdirectory + | |-- ... + | |-- asgi.py # ASGI application module + | `-- wsgi.py # + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, prepare the Django [configuration]({{< relref "/unit/configuration.md#configuration-python" >}}) + for Unit. Here, the **/path/to/app/** directory is stored in the + **path** option; the virtual environment is **home**; the WSGI or + ASGI module in the **project/** subdirectory is + [imported](https://docs.python.org/3/reference/import.html) via **module**. + If you reorder your directories, + [set up]({{< relref "/unit/configuration.md#configuration-python" >}}) + **path**, **home**, and **module** accordingly. + + You can also set up some environment variables that your project relies on, + using the **environment** option. Finally, if your project uses Django's + [static files](https://docs.djangoproject.com/en/stable/howto/static-files/), + optionally add a + [route]({{< relref "/unit/configuration.md#configuration-routes" >}}) to + [serve]({{< relref "/unit/configuration.md#configuration-static" >}}) them with Unit. + + + Here's an example (use real values for **share**, **path**, + **environment**, **module**, and **home**): + + {{< tabs "interface" >}} + {{% tab name="WSGI" %}} + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": "/static/*" + }, + + "action": { + "share": "/path/to/app$uri", + "_comment_share": "Thus, URIs starting with /static/ are served from /path/to/app/static/" + } + }, + { + "action": { + "pass": "applications/django" + } + } + ], + + "applications": { + "django": { + "type": "python 3.X", + "_comment_type": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "_comment_path": "Project directory; use a real path in your configuration", + "home": "/path/to/venv/", + "_comment_home": "Virtual environment directory; use a real path in your configuration", + "module": "project.wsgi", + "_comment_module": "Note the qualified name of the WSGI module; use a real project directory name in your configuration", + "environment": { + "_comment_environment": "App-specific environment variables", + "DJANGO_SETTINGS_MODULE": "project.settings", + "DB_ENGINE": "django.db.backends.postgresql", + "DB_NAME": "project", + "DB_HOST": "127.0.0.1", + "DB_PORT": "5432" + } + } + } + } + ``` + + {{% /tab %}} + {{% tab name="ASGI" %}} + + {{< note >}} + ASGI requires Python 3.5+ and Django 3.0+. + {{< /note >}} + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": "/static/*" + }, + + "action": { + "share": "/path/to/app$uri", + "_comment_share": "Serves static files. URIs starting with /static/ are served from /path/to/app/static/" + } + }, + { + "action": { + "pass": "applications/django" + } + } + ], + + "applications": { + "django": { + "type": "python 3.X", + "_comment_type": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "_comment_path": "Project directory; use a real path in your configuration", + "home": "/path/to/venv/", + "_comment_home": "Virtual environment directory; use a real path in your configuration", + "module": "project.asgi", + "_comment_module": "Note the qualified name of the ASGI module; use a real project directory name in your configuration", + "environment": { + "DJANGO_SETTINGS_MODULE": "project.settings", + "DB_ENGINE": "django.db.backends.postgresql", + "DB_NAME": "project", + "DB_HOST": "127.0.0.1", + "DB_PORT": "5432" + }, + "_comment_environment": "App-specific environment variables" + } + } + } + ``` + + {{% /tab %}} + {{< /tabs >}} + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your project and apps should be available on the + listener's IP address and port: + + ![Django on Unit - Admin Login Screen](/unit/images/django.png) + diff --git a/content/unit/howto/frameworks/djangochannels.md b/content/unit/howto/frameworks/djangochannels.md new file mode 100644 index 000000000..f2566ef41 --- /dev/null +++ b/content/unit/howto/frameworks/djangochannels.md @@ -0,0 +1,120 @@ +--- +title: Django Channels +toc: true +weight: 600 +--- + +To run Django apps using the Django Channels [framework](https://channels.readthedocs.io/en/stable/) with Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.6+ language module. + +2. Install and configure the Django 3.0+ [framework](https://www.djangoproject.com). The official docs [recommend](https://docs.djangoproject.com/en/stable/topics/install/#installing-an-official-release-with-pip) + setting up a virtual environment; if you do, list it as **home** when + configuring Unit later. Here, it's **/path/to/venv/**. + +3. Install Django Channels in your virtual environment: + + ```console + $ cd /path/to/venv/ # Path to the virtual environment; use a real path in your configuration + ``` + + ```console + $ source bin/activate + ``` + + ```console + $ pip install channels + ``` + + ```console + $ deactivate + ``` + +4. Create a Django project. Here, we'll use the [tutorial chat app](https://channels.readthedocs.io/en/stable/tutorial/part_1.html#tutorial-part-1-basic-setup), + installing it at **/path/to/app/**; use a real path in your + configuration. The following steps assume your project uses [basic + directory structure](https://docs.djangoproject.com/en/stable/ref/django-admin/#django-admin-startproject): + + ```none + /path/to/app/ # Project directory + |-- manage.py + |-- chat/ # Individual app directory + | |-- ... + |-- mysite/ # Project subdirectory + | |-- ... + | `-- asgi.py # ASGI application module + `-- static/ # Static files subdirectory + ``` + +5. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +6. Integrate Django Channels into your project according to the official [Channels guide](https://channels.readthedocs.io/en/stable/tutorial/part_1.html#integrate-the-channels-library). + +7. Next, create the Django Channels [configuration]({{< relref "/unit/configuration.md#configuration-python" >}}) for + Unit. Here, the **/path/to/app/** directory is stored in the + **path** option; the virtual environment is **home**; the ASGI + module in the **mysite/** subdirectory is [imported](https://docs.python.org/3/reference/import.html) via **module**. If + you reorder your directories, [set up]({{< relref "/unit/configuration.md#configuration-python" >}}) + **path**, **home**, and **module** accordingly. + + You can also set up some environment variables that your project relies on, + using the **environment** option. Finally, if your project uses + Django's [static files](https://docs.djangoproject.com/en/stable/howto/static-files/), optionally + add a [route]({{< relref "/unit/configuration.md#configuration-routes" >}}) to + [serve]({{< relref "/unit/configuration.md#configuration-static" >}}) them with Unit. + + Here's an example (use real values for **share**, **path**, + **environment**, **module**, and **home**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + "routes": [ + { + "match": { + "uri": "/static/*" + }, + "action": { + "share": "/path/to/app$uri", + "share_comment": "Serves static files. Thus, URIs starting with /static/ are served from /path/to/app/static/; use a real path in your configuration" + } + }, + { + "action": { + "pass": "applications/djangochannels" + } + } + ], + "applications": { + "djangochannels": { + "type": "python 3.X", + "type_comment": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "path_comment": "Project directory; use a real path in your configuration", + "home": "/path/to/venv/", + "home_comment": "Virtual environment directory; use a real path in your configuration", + "module": "mysite.asgi", + "module_comment": "Note the qualified name of the ASGI module; use a real site directory name in your configuration", + "environment": { + "DJANGO_SETTINGS_MODULE": "mysite.settings" + }, + "environment_comment": "App-specific environment variables" + } + } + } + ``` + +8. Upload the updated configuration: + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your project and apps (here, a chat) run on + the listener's IP address and port: + + ![Django Channels on Unit - Tutorial App Screen](/unit/images/djangochannels.png) diff --git a/content/unit/howto/frameworks/express.md b/content/unit/howto/frameworks/express.md new file mode 100644 index 000000000..f18ef846d --- /dev/null +++ b/content/unit/howto/frameworks/express.md @@ -0,0 +1,111 @@ +--- +title: Express +toc: true +weight: 700 +--- + +To run apps built with the [Express](https://expressjs.com) web framework +using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) + with the **unit-dev/unit-devel** package. Next, [install]({{< relref "unit/installation.md#installation-nodejs-package" >}}) Unit's **unit-http** package. Run the following + command as root: + + ```console + # npm install -g --unsafe-perm unit-http + ``` + +2. Create your app directory, [install](https://expressjs.com/en/starter/installing.html) Express, and link **unit-http**: + + ```console + $ mkdir -p :/path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ npm install express --save + ``` + + Run the following command as root: + + ```console + # npm link unit-http + ``` + +3. Create your Express [app](https://expressjs.com/en/starter/hello-world.html); + let's store it as **/path/to/app/app.js**. First, initialize the directory: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ npm init + ``` + + Next, add your application code: + + ```javascript + #!/usr/bin/env node + + const http = require('http') + const express = require('express') + const app = express() + + app.get('/', (req, res) => res.send('Hello, Express on Unit!')) + + http.createServer(app).listen() + ``` + + The file should be made executable so the application can run on Unit: + + ```console + $ chmod +x app.js # Application file; use a real path in your configuration + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-nodejs" >}}) +the Express configuration for Unit: + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/express" + } + }, + "applications": { + "express": { + "type": "external", + "working_directory": "/path/to/app/", + "working_directory_comment": "Needed to use the installed NPM modules; use a real path in your configuration", + "executable": "/usr/bin/env", + "executable_comment": "The external app type allows to run arbitrary executables, provided they establish communication with Unit", + "arguments": [ + "node", + "--loader", + "unit-http/loader.mjs", + "--require", + "unit-http/loader", + "app.js" + ], + "arguments_comment": "The env executable runs Node.js, supplying Unit's loader module and your app code as arguments", + "app_js_comment": "Basename of the application file; be sure to make it executable" + } + } + } + ``` + +6. {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener's IP + address and port: + +![Express on Unit - Welcome Screen](/unit/images/express.png) diff --git a/content/unit/howto/frameworks/falcon.md b/content/unit/howto/frameworks/falcon.md new file mode 100644 index 000000000..8ee6419b6 --- /dev/null +++ b/content/unit/howto/frameworks/falcon.md @@ -0,0 +1,150 @@ +--- +title: Falcon +weight: 800 +toc: true +--- + +To run apps built with the [Falcon](https://falcon.readthedocs.io/en/stable/) +web framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.5+ language module. + +2. Create a virtual environment to install Falcon's + [PIP package](https://falcon.readthedocs.io/en/stable/user/install.html), for + instance: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + $ python --version # Make sure your virtual environment version matches the module version + Python X.Y.Z # Major version, minor version, and revision number + $ python -m venv venv # Arbitrary name of the virtual environment + $ source venv/bin/activate # Name of the virtual environment from the previous command + $ pip install falcon + $ deactivate + ``` + + + {{< warning >}} + Create your virtual environment with a Python version that matches the + language module from Step 1 up to the minor number (**X.Y** in + this example). Also, the app **type** in Step 5 must + [resolve]({{< relref "/unit/configuration.md#configuration-apps-common" >}}) + to a similarly matching version; Unit doesn't infer it from the environment. + {{< /warning >}} + +3. Let's try an updated version of the [quickstart app](https://falcon.readthedocs.io/en/stable/user/quickstart.html): + + {{< tabs name="falcon" >}} + {{% tab name="WSGI" %}} + + ```python + import falcon + + # Falcon follows the REST architectural style, meaning (among + # other things) that you think in terms of resources and state + # transitions, which map to HTTP verbs. + class HelloUnitResource: + def on_get(self, req, resp): + """Handles GET requests""" + resp.status = falcon.HTTP_200 # This is the default status + resp.content_type = falcon.MEDIA_TEXT # Default is JSON, so override + resp.text = ('Hello, Unit!') + + # falcon.App instances are callable WSGI apps + # in larger applications the app is created in a separate file + app = falcon.App() + + # Resources are represented by long-lived class instances + hellounit = HelloUnitResource() + + # hellounit will handle all requests to the '/unit' URL path + app.add_route('/unit', hellounit) + ``` + + Note that we’ve dropped the server code; save the file as + **/path/to/app/wsgi.py**. + + + {{% /tab %}} + {{% tab name="ASGI" %}} + + ```python + import falcon + import falcon.asgi + + + # Falcon follows the REST architectural style, meaning (among + # other things) that you think in terms of resources and state + # transitions, which map to HTTP verbs. + class HelloUnitResource: + async def on_get(self, req, resp): + """Handles GET requests""" + resp.status = falcon.HTTP_200 # This is the default status + resp.content_type = falcon.MEDIA_TEXT # Default is JSON, so override + resp.text = ('Hello, Unit!') + + # falcon.asgi.App instances are callable ASGI apps... + # in larger applications the app is created in a separate file + app = falcon.asgi.App() + + # Resources are represented by long-lived class instances + hellounit = HelloUnitResource() + + # hellounit will handle all requests to the '/unit' URL path + app.add_route('/unit', hellounit) + ``` + + Save the file as **/path/to/app/asgi.py**. + + {{% /tab %}} + {{< /tabs >}} + +--- + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) + the configuration for Unit (use real values for **type**, **home**, **module**, + **protocol**, and **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/falcon" + } + }, + "applications": { + "falcon": { + "type": "python X.Y", + "type_comment": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "path_comment": "Path to the WSGI module; use a real path in your configuration", + "home": "/path/to/app/venv/", + "home_comment": "Path to the virtual environment, if any; use a real path in your configuration", + "module": "module_basename", + "module_comment": "WSGI/ASGI module basename with extension omitted, such as 'wsgi' or 'asgi' from Step 3", + "protocol": "wsgi_or_asgi", + "protocol_comment": "'wsgi' or 'asgi', as appropriate", + "callable": "app", + "callable_comment": "Name of the callable in the module to run" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ```console + $ curl http://localhost/unit + + Hello, Unit! + ``` diff --git a/content/unit/howto/frameworks/fastapi.md b/content/unit/howto/frameworks/fastapi.md new file mode 100644 index 000000000..dfef6891a --- /dev/null +++ b/content/unit/howto/frameworks/fastapi.md @@ -0,0 +1,102 @@ +--- +title: FastAPI +toc: true +weight: 900 +--- + +To run apps built with the [FastAPI](https://fastapi.tiangolo.com) web framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.6+ language module. + +2. Create a virtual environment to install FastAPI's + [PIP package](https://fastapi.tiangolo.com/tutorial/#install-fastapi), for + instance: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + $ python --version # Make sure your virtual environment version matches the module version + Python X.Y.Z # Major version, minor version, and revision number + $ python -m venv venv # Arbitrary name of the virtual environment + $ source venv/bin/activate # Name of the virtual environment from the previous command + $ pip install fastapi + $ deactivate + ``` + + {{< warning >}} + Create your virtual environment with a Python version that matches the + language module from Step 1 up to the minor number (**X.Y** in + this example). Also, the app **type** in Step 5 must + [resolve]({{< relref "/unit/configuration.md#configuration-apps-common" >}}) + to a similarly matching version; Unit doesn't infer it from the environment. + {{< /warning >}} + +3. Let's try a version of a [tutorial app](https://fastapi.tiangolo.com/tutorial/first-steps/), + saving it as **/path/to/app/asgi.py**: + + ```python + from fastapi import FastAPI + + app = FastAPI() + + @app.get("/") + async def root(): + return {"message": "Hello, World!"} + ``` + + {{< note >}} + For something more true-to-life, try the + [RealWorld example app](https://github.com/nsidnev/fastapi-realworld-example-app); just + install all its dependencies in the same virtual environment where you've + installed FastAPI and add the app's **environment** {ref}`variables + ` like **DB_CONNECTION** or + **SECRET_KEY** directly to the app configuration in Unit instead of + the **.env** file. + {{< /note >}} + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) + the FastAPI configuration for Unit (use real values for **type**, **home**, and **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/fastapi" + } + }, + "applications": { + "fastapi": { + "type": "python 3.Y", + "type_comment": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "path_comment": "Path to the ASGI module", + "home": "/path/to/app/venv/", + "home_comment": "Path to the virtual environment, if any", + "module": "asgi", + "module_comment": "ASGI module filename with extension omitted", + "callable": "app", + "callable_comment": "Name of the callable in the module to run" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ```console + curl http://localhost + + Hello, World! + ``` + + Alternatively, try FastAPI's nifty self-documenting features: + + ![FastAPI on Unit - Swagger Screen](/unit/images/fastapi.png) diff --git a/content/unit/howto/frameworks/flask.md b/content/unit/howto/frameworks/flask.md new file mode 100644 index 000000000..caff1b38a --- /dev/null +++ b/content/unit/howto/frameworks/flask.md @@ -0,0 +1,87 @@ +--- +title: Flask +toc: true +weight: 1000 +--- + +To run apps built with the [Flask](https://flask.palletsprojects.com/en/1.1.x/) web framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3 language module. + +2. Create a virtual environment to install Flasks`s + [PIP package](https://flask.palletsprojects.com/en/1.1.x/installation/#install-flask), for + instance: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + $ python --version # Make sure your virtual environment version matches the module version + Python X.Y.Z # Major version, minor version, and revision number + $ python -m venv venv # Arbitrary name of the virtual environment + $ source venv/bin/activate # Name of the virtual environment from the previous command + $ pip install Flask + $ deactivate + ``` + + {{< warning >}} + Create your virtual environment with a Python version that matches the + language module from Step 1 up to the minor number (**X.Y** in + this example). Also, the app **type** in Step 5 must + [resolve]({{< relref "/unit/configuration.md#configuration-apps-common" >}}) + to a similarly matching version; Unit doesn't infer it from the environment. + {{< /warning >}} + +3. Let's try a basic version of the [quickstart app](https://flask.palletsprojects.com/en/1.1.x/quickstart/), + saving it as **/path/to/app/wsgi.py**: + + ```python + from flask import Flask + app = Flask(__name__) # Callable name used in Unit's condfiguration + + @app.route("/") + def hello_world(): + return "Hello, World!" + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) the [ app ] configuration for + Unit (use real values for **type**, **home**, and **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/flask" + } + }, + "applications": { + "flask": { + "type": "python 3.Y", + "type_comment": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "path_comment": "Path to the WSGI module", + "home": "/path/to/app/venv/", + "home_comment": "Path to the virtual environment, if any", + "module": "wsgi", + "module_comment": "WSGI module filename with extension omitted", + "callable": "app", + "callable_comment": "Name of the callable in the module to run" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ```console + $ curl http://localhost + + Hello, World! + ``` diff --git a/content/unit/howto/frameworks/guillotina.md b/content/unit/howto/frameworks/guillotina.md new file mode 100644 index 000000000..388b6e869 --- /dev/null +++ b/content/unit/howto/frameworks/guillotina.md @@ -0,0 +1,151 @@ +--- +title: Gillotina +toc: true +weight: 1000 +--- + +To run apps built with the [Guillotina](https://guillotina.readthedocs.io/en/latest/) web framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.7+ language module. + +2. Create a virtual environment to install Guillotina's + [PIP package](https://guillotina.readthedocs.io/en/latest/training/installation.html), + for instance: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + $ python --version # Make sure your virtual environment version matches the module version + Python X.Y.Z # Major version, minor version, and revision number + $ python -m venv venv # Arbitrary name of the virtual environment + $ source venv/bin/activate # Name of the virtual environment from the previous command + $ pip install guillotina + $ deactivate + ``` + + {{< warning >}} + Create your virtual environment with a Python version that matches the + language module from Step 1 up to the minor number (**X.Y** in + this example). Also, the app **type** in Step 5 must + [resolve]({{< relref "/unit/configuration.md#configuration-apps-common" >}}) + to a similarly matching version; Unit doesn't infer it from the environment. + {{< /warning >}} + +3. Let's try a version of the [tutorial app](https://guillotina.readthedocs.io/en/latest/#build-a-guillotina-app), + saving it as **/path/to/app/asgi.py**: + + ```python + from guillotina import configure + from guillotina import content + from guillotina import schema + from guillotina.factory import make_app + from zope import interface + + + class IMyType(interface.Interface): + textline = schema.TextLine() + + + @configure.contenttype( + type_name="MyType", + schema=IMyType, + behaviors=["guillotina.behaviors.dublincore.IDublinCore"], + ) + class MyType(content.Resource): + pass + + + @configure.service( + context=IMyType, + method="GET", + permission="guillotina.ViewContent", + name="@textline", + ) + async def textline_service(context, request): + return {"textline": context.textline} + + + # Callable name that Unit looks for + application = make_app( + settings={ + "applications": ["__main__"], + "root_user": {"password": "root"}, + "databases": { + "db": {"storage": "DUMMY_FILE", "filename": "dummy_file.db"} + }, + } + ) + ``` + + Note that all server calls and imports are removed. + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) the Guillotina configuration for + Unit (use real values for **type**, **home**, and **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/guillotina" + } + }, + "applications": { + "guillotina": { + "type": "python 3.Y", + "type_comment": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "path_comment": "Path to the ASGI module", + "home": "/path/to/app/venv/", + "home_comment": "Path to the virtual environment, if any", + "module": "asgi", + "module_comment": "ASGI module filename with extension omitted", + "protocol": "asgi", + "protocol_comment": "Protocol hint for Unit, required to run Guillotina apps" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ```console + $ curl -XPOST --user root:root http://localhost/db \ + -d '{ "@type": "Container", "id": "container" }' + + {"@type":"Container","id":"container","title":"container"} + ``` + + ```console + $ curl --user root:root http://localhost/db/container + + { + "@id": "http://localhost/db/container", + "@type": "Container", + "@name": "container", + "@uid": "84651300b2f14170b2b2e4a0f004b1a3", + "@static_behaviors": [ + ], + "parent": { + }, + "is_folderish": true, + "creation_date": "2020-10-16T14:07:35.002780+00:00", + "modification_date": "2020-10-16T14:07:35.002780+00:00", + "type_name": "Container", + "title": "container", + "uuid": "84651300b2f14170b2b2e4a0f004b1a3", + "__behaviors__": [ + ], + "items": [ + ], + "length": 0 + } + ``` + diff --git a/content/unit/howto/frameworks/koa.md b/content/unit/howto/frameworks/koa.md new file mode 100644 index 000000000..04c6a5fcf --- /dev/null +++ b/content/unit/howto/frameworks/koa.md @@ -0,0 +1,140 @@ +--- +title: Koa +weight: 1100 +toc: true +--- + +To run apps built with the [Koa](https://koajs.com) web framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) +with the **unit-dev/unit-devel** package. Next, +[install]({{< relref "unit/installation.md#installation-nodejs-package" >}}) +Unit's **unit-http** package. Run the following command as root: + + ```console + # npm install -g --unsafe-perm unit-http + ``` + +2. Create your app directory, [install](https://koajs.com/#introduction) + Koa, and link **unit-http**: + + ```console + $ mkdir -p /path/to/app/ #Path to the application directory; use a real path in your configuration + ``` + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ npm install koa + ``` + + Run the following command as root: + + ```console + # npm link unit-http + ``` + +3. Let’s try a version of the [tutorial app](https://koajs.com/#application), saving it as + **/path/to/app/app.js**: + + ```javascript + const Koa = require('koa'); + const app = new Koa(); + + // logger + + app.use(async (ctx, next) => { + await next(); + const rt = ctx.response.get('X-Response-Time'); + console.log(`${ctx.method} ${ctx.url} - ${rt}`); + }); + + // x-response-time + + app.use(async (ctx, next) => { + const start = Date.now(); + await next(); + const ms = Date.now() - start; + ctx.set('X-Response-Time', `${ms}ms`); + }); + + // response + + app.use(async ctx => { + ctx.body = 'Hello, Koa on Unit!'; + }); + + app.listen(); + ``` + + The file should be made executable so the application can run on Unit: + + ```console + $ chmod +x app.js # Application file; use a real path in your configuration + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-nodejs" >}}) + the Koa configuration for Unit: + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/koa" + } + }, + "applications": { + "koa": { + "type": "external", + "working_directory": "/path/to/app/", + "working_directory_comment": "Needed to use the installed NPM modules; use a real path in your configuration", + "executable": "/usr/bin/env", + "executable_comment": "The external app type allows to run arbitrary executables, provided they establish communication with Unit", + "arguments": [ + "node", + "--loader", + "unit-http/loader.mjs", + "--require", + "unit-http/loader", + "app.js" + ], + "arguments_comment": "The env executable runs Node.js, supplying Unit's loader module and your app code as arguments", + "app_js_comment": "Basename of the application file; be sure to make it executable" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener's IP + address and port: + + ```console + $ curl http://localhost -v + + * Trying 127.0.0.1:80... + * TCP_NODELAY set + * Connected to localhost (127.0.0.1) port 80 (#0) + > GET / HTTP/1.1 + > Host: localhost + > User-Agent: curl/7.68.0 + > Accept: */* + > + * Mark bundle as not supporting multiuse + < HTTP/1.1 200 OK + < Content-Type: text/plain; charset=utf-8 + < Content-Length: 11 + < X-Response-Time: 0ms + < Server: Unit/{{< param "unitversion" >}} + + Hello, Koa on Unit! + ``` diff --git a/content/unit/howto/frameworks/laravel.md b/content/unit/howto/frameworks/laravel.md new file mode 100644 index 000000000..ff7d23e0b --- /dev/null +++ b/content/unit/howto/frameworks/laravel.md @@ -0,0 +1,77 @@ +--- +title: Laravel +weight: 1200 +toc: true +--- + +To run apps based on the [Laravel](https://laravel.com) framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + +2. Install and configure Laravel's [prerequisites](https://laravel.com/docs/deployment#server-requirements). + +3. Create a Laravel [project](https://laravel.com/docs/installation#creating-a-laravel-project). + For our purposes, the path is **/path/to/app/**: + + ```console + $ cd /path/to/ #Path where the application directory will be created; use a real path in your configuration + ``` + + ```console + $ composer create-project laravel/laravel `app` #Arbitrary app name; becomes the application directory name + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + + {{< note >}} + See the Laravel docs for further details on [directory structure](https://laravel.com/docs/structure). + {{< /note >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the Laravel configuration for + Unit (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + "routes": [ + { + "match": { + "uri": "!/index.php", + "uri_comment": "Denies access to index.php as a static file" + }, + "action": { + "share": "/path/to/app/public$uri", + "share_comment": "Serves static files", + "fallback": { + "pass": "applications/laravel", + "pass_comment": "Uses the index.php at the root as the last resort" + } + } + } + ], + "applications": { + "laravel": { + "type": "php", + "root": "/path/to/app/public/", + "root_comment": "Path to the application directory; use a real path in your configuration", + "script": "index.php", + "script_comment": "All requests are handled by a single script" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, browse to and [set up](https://laravel.com/docs/configuration) your Laravel application: + + ![Laravel on Unit - Sample Screen](/unit/images/laravel.png) + diff --git a/content/unit/howto/frameworks/lumen.md b/content/unit/howto/frameworks/lumen.md new file mode 100644 index 000000000..d17beffe1 --- /dev/null +++ b/content/unit/howto/frameworks/lumen.md @@ -0,0 +1,71 @@ +--- +title: Lumen +weight: 1300 +toc: true +--- + +To run apps based on the [Lumen](https://lumen.laravel.com) framework using +Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + +2. Install and configure Lumen's [requirements](https://lumen.laravel.com/docs/8.x#server-requirements) + +3. Create a Lumen [project](https://lumen.laravel.com/docs/8.x#installing-lumen). + For our purposes, the path is **/path/to/app/**: + + ```console + $ cd /path/to/ # Path where the application directory will be created; use a real path in your configuration + ``` + + ```console + $ composer create-project laravel/lumen app # Arbitrary app name; becomes the application directory name + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the Lumen configuration for + Unit (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + "routes": [ + { + "match": { + "uri": "!/index.php", + "uri_comment": "Denies access to index.php as a static file" + }, + "action": { + "share": "/path/to/app/public/", + "share_comment": "Serves static files", + "fallback": { + "pass": "applications/lumen", + "pass_comment": "Uses the index.php at the root as the last resort" + } + } + } + ], + "applications": { + "lumen": { + "type": "php", + "root": "/path/to/app/public/", + "root_comment": "Path to the application directory; use a real path in your configuration", + "script": "index.php", + "script_comment": "All requests are handled by a single script" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, browse to and [set up](https://lumen.laravel.com/docs/8.x/configuration) your Lumen application. diff --git a/content/unit/howto/frameworks/pyramid.md b/content/unit/howto/frameworks/pyramid.md new file mode 100644 index 000000000..cfda4cdaa --- /dev/null +++ b/content/unit/howto/frameworks/pyramid.md @@ -0,0 +1,137 @@ +--- +title: Pyramid +weight: 1300 +toc: true +--- + +To run apps built with the [Pyramid](https://trypyramid.com) web framework +using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3 language module. + +2. Create a virtual environment to install Pyramid`s + [PIP package](https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html#installing-pyramid-on-a-unix-system), for instance: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + $ python --version # Make sure your virtual environment version matches the module version + Python X.Y.Z # Major version, minor version, and revision number + $ python -m venv venv # Arbitrary name of the virtual environment + $ source venv/bin/activate # Name of the virtual environment from the previous command + $ pip install + $ deactivate + ``` + + {{< warning >}} + Create your virtual environment with a Python version that matches the + language module from Step 1 up to the minor number (**X.Y** in + this example). Also, the app **type** in Step 5 must + [resolve]({{< relref "/unit/configuration.md#configuration-apps-common" >}}) + to a similarly matching version; Unit doesn't infer it from the environment. + {{< /warning >}} + + {{< note >}} + Here, **\$VENV** isn't set because Unit picks up the virtual + environment from **home** in Step 5. + {{< /note >}} + +3. Let's see how the apps from the Pyramid + [tutorial](https://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial) + run on Unit. + + {{< tabs name="pyramid" >}} + {{% tab name="Single-File" %}} + + We modify the [tutorial app](https://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/hello_world.html#steps) + saving it as **/path/to/app/wsgi.py**: + + ```python + from pyramid.config import Configurator + from pyramid.response import Response + + def hello_world(request): + return Response('

Hello, World!

') + + with Configurator() as config: + config.add_route('hello', '/') + config.add_view(hello_world, route_name='hello') + + # Callables' name is used in Unit configuration + app = config.make_wsgi_app() + + # serve(app, host='0.0.0.0', port=6543) + ``` + + Note that we've dropped the server code; also, mind that Unit imports + the module, so the **if __name__ == '__main__'** idiom would be + irrelevant. + + {{% /tab %}} + {{% tab name="INI-Based" %}} + + To load the + [configuration](https://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/ini.html), + we place a **wsgi.py** file next to **development.ini** in **/path/to/app/**: + + ```python + from pyramid.paster import get_app, setup_logging + + # Callables' name is used in Unit configuration + app = get_app('development.ini') + setup_logging('development.ini') + ``` + + This [sets up](https://docs.pylonsproject.org/projects/pyramid/en/latest/api/paster.html) + the WSGI application for Unit; if the **.ini**'s pathname is + relative, provide the appropriate **working_directory** in Unit + configuration. + + {{% /tab %}} + {{< /tabs >}} + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) + the Pyramid configuration for Unit (use real values for **type**, **home**, + and **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/pyramid" + } + }, + "applications": { + "pyramid": { + "type": "python 3.Y", + "type_comment": "Must match language module version and virtual environment version", + "working_directory": "/path/to/app/", + "working_directory_comment": "Path to the application directory; use a real path in your configuration", + "path": "/path/to/app/", + "path_comment": "Path to the application directory; use a real path in your configuration", + "home": "/path/to/app/venv/", + "home_comment": "Path to the virtual environment, if any", + "module": "wsgi", + "module_comment": "WSGI module filename with extension omitted", + "callable": "app", + "callable_comment": "Name of the callable in the module to run" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ```console + $ curl http://localhost + +

Hello, World!

+ ``` diff --git a/content/unit/howto/frameworks/quart.md b/content/unit/howto/frameworks/quart.md new file mode 100644 index 000000000..f705a7a8e --- /dev/null +++ b/content/unit/howto/frameworks/quart.md @@ -0,0 +1,107 @@ +--- +title: Quart +weight: 1400 +toc: true +--- + + +To run apps built with the [Quart](https://pgjones.gitlab.io/quart/index.html) web framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.5+ language module. + +2. Create a virtual environment to install Quart`s + [PIP package](https://pgjones.gitlab.io/quart/tutorials/installation.html), + for instance: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + $ python --version # Make sure your virtual environment version matches the module version + Python X.Y.Z # Major version, minor version, and revision number + $ python -m venv venv # Arbitrary name of the virtual environment + $ source venv/bin/activate # Name of the virtual environment from the previous command + $ pip install quart + $ deactivate + ``` + + {{< warning >}} + Create your virtual environment with a Python version that matches the + language module from Step 1 up to the minor number (**X.Y** in + this example). Also, the app **type** in Step 5 must + [resolve]({{< relref "/unit/configuration.md#configuration-apps-common" >}}) + to a similarly matching version; Unit doesn't infer it from the environment. + {{< /warning >}} + + +3. Let's try a WebSocket-enabled version of a + [tutorial app](https://pgjones.gitlab.io/quart/tutorials/deployment.html), + saving it as **/path/to/app/asgi.py**: + + ```python + from quart import Quart, websocket + + app = Quart(__name__) + + @app.route('/') + async def hello(): + return '

Hello, World!

' + + # Let's add WebSocket support to the app as well + @app.websocket('/ws') + async def ws(): + while True: + await websocket.send('Hello, World!') + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) + the Quart configuration for Unit (use real values for **type**, **home**, + and **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/quart" + } + }, + "applications": { + "quart": { + "type": "python 3.Y", + "type_comment": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "path_comment": "Path to the ASGI module", + "home": "/path/to/app/venv/", + "home_comment": "Path to the virtual environment, if any", + "module": "asgi", + "module_comment": "ASGI module filename with extension omitted", + "callable": "app", + "callable_comment": "Name of the callable in the module to run" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ```console + $ curl http://localhost + +

Hello, World!

+ ``` + + ```console + $ wscat -c ws://localhost/ws + + < Hello, World! + < Hello, World! + < Hello, World! + ... + ``` diff --git a/content/unit/howto/frameworks/rails.md b/content/unit/howto/frameworks/rails.md new file mode 100644 index 000000000..1e7e0b32a --- /dev/null +++ b/content/unit/howto/frameworks/rails.md @@ -0,0 +1,74 @@ +--- +title: Ruby on Rails +weight: 1600 +toc: true +--- + +To run apps based on the [Ruby on Rails](https://rubyonrails.org) framework +using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Ruby language module. + +2. [Install](https://guides.rubyonrails.org/getting_started.html#creating-a-new-rails-project-installing-rails) + Ruby on Rails and create or deploy your app. Here, we use Ruby on Rails's [basic template](https://guides.rubyonrails.org/getting_started.html#creating-the-blog-application): + + ```console + $ cd /path/to/ # Path where the application directory will be created; use a real path in your configuration + ``` + + ```console + $ rails new app # Arbitrary app name; becomes the application directory name + ``` + + This creates the app's directory tree at **/path/to/app/**; its + **public/** subdirectory contains the static files, while the entry + point is **/path/to/app/config.ru**. + +3. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +4. Next, + [prepare]({{< relref "/unit/configuration.md#configuration-ruby" >}}) + the Ruby on Rails configuration (use real values for **share** and + **working_directory**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + "routes": [ + { + "action": { + "share": "/path/to/app/public$uri", + "share_comment": "Serves static files", + "fallback": { + "pass": "applications/rails" + } + } + } + ], + "applications": { + "rails": { + "type": "ruby", + "script": "config.ru", + "script_comment": "All requests are handled by a single script, relative to working_directory", + "working_directory": "/path/to/app/", + "working_directory_comment": "Path to the application directory, needed here for 'require_relative' directives; use a real path in your configuration" + } + } + } + ``` + +5. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ![Ruby on Rails Basic Template App on Unit](/unit/images/rails.png) + diff --git a/content/unit/howto/frameworks/responder.md b/content/unit/howto/frameworks/responder.md new file mode 100644 index 000000000..9192953f9 --- /dev/null +++ b/content/unit/howto/frameworks/responder.md @@ -0,0 +1,108 @@ +--- +title: Responder +weight: 1500 +toc: true +--- + +# Responder + +To run apps built with the [Responder](https://responder.kennethreitz.org/) web framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.6+ language module. + +2. Create a virtual environment to install Responder’s +[PIP package](https://responder.kennethreitz.org/#installing-responder), +for instance: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + $ python --version # Make sure your virtual environment version matches the module version + Python X.Y.Z # Major version, minor version, and revision number + $ python -m venv venv # Arbitrary name of the virtual environment + $ source venv/bin/activate # Name of the virtual environment from the previous command + $ pip install responder + $ deactivate + ``` + + {{< warning >}} + Create your virtual environment with a Python version that matches the + language module from Step 1 up to the minor number (**X.Y** in + this example). Also, the app **type** in Step 5 must + [resolve]({{< relref "/unit/configuration.md#configuration-apps-common" >}}) + to a similarly matching version; Unit doesn't infer it from the environment. + {{< /warning >}} + + +3. Let's try a Unit-friendly version of a [tutorial app](https://responder.kennethreitz.org/quickstart.html#declare-a-web-service), + saving it as **/path/to/app/asgi.py**: + + ```python + import responder + + app = responder.API() + + @app.route("/") + def hello_world(req, resp): + resp.text = "Hello, World!" + + @app.route("/hello/{who}") + def hello_to(req, resp, *, who): + resp.text = f"Hello, {who}!" + ``` + + The **app.run()** call is omitted because **app** will be directly + run by Unit as an ASGI [callable](https://github.com/kennethreitz/responder/blob/c6f3a7364cfa79805b0d51eea011fe34d9bd331a/responder/api.py#L501). + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) the Responder configuration for + Unit (use real values for **type**, **home**, and **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/responder" + } + }, + "applications": { + "responder": { + "type": "python 3.Y", + "type_comment": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "path_comment": "Path to the ASGI module", + "home": "/path/to/app/venv/", + "home_comment": "Path to the virtual environment, if any", + "working_directory": "/path/to/app/", + "working_directory_comment": "Path to the directory where Responder creates static_dir and templates_dir", + "module": "asgi", + "module_comment": "ASGI module filename with extension omitted", + "callable": "app", + "callable_comment": "Name of the callable in the module to run" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ```console + $ curl http://localhost + + Hello, World! + ``` + + ```console + $ curl http://localhost/hello/JohnDoe + + Hello, JohnDoe! + ``` + diff --git a/content/unit/howto/frameworks/sanic.md b/content/unit/howto/frameworks/sanic.md new file mode 100644 index 000000000..a71adce94 --- /dev/null +++ b/content/unit/howto/frameworks/sanic.md @@ -0,0 +1,85 @@ +--- +title: Sanic +weight: 1700 +toc: true +--- + +To run apps built with the [Sanic](https://sanic.dev/) web framework +using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.7+ language module. + +2. Create a virtual environment to install Sanic's + [PIP package](https://sanic.dev/en/guide/getting-started.html), for + instance: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + $ python --version # Make sure your virtual environment version matches the module version + Python X.Y.Z # Major version, minor version, and revision number + $ python -m venv venv # Arbitrary name of the virtual environment + $ source venv/bin/activate # Name of the virtual environment from the previous command + $ pip install sanic + $ deactivate + ``` + +3. Let's try a version of a [tutorial app](ttps://sanic.dev/en/guide/basics/response.html#methods), + saving it as **/path/to/app/asgi.py**: + + ```python + from sanic import Sanic + from sanic.response import json + + app = Sanic() + + @app.route("/") + async def test(request): + return json({"hello": "world"}) + ``` + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) + the Sanic configuration for Unit (use real values for **type**, **home**, and + **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/sanic" + } + }, + "applications": { + "sanic": { + "type": "python 3.Y", + "type_comment": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "path_comment": "Path to the ASGI module", + "home": "/path/to/app/venv/", + "home_comment": "Path to the virtual environment, if any", + "module": "asgi", + "module_comment": "ASGI module filename with extension omitted", + "callable": "app", + "callable_comment": "Name of the callable in the module to run" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ```console + $ curl http://localhost + + {"hello":"world"} + ``` + diff --git a/content/unit/howto/frameworks/springboot.md b/content/unit/howto/frameworks/springboot.md new file mode 100644 index 000000000..2d8407bfd --- /dev/null +++ b/content/unit/howto/frameworks/springboot.md @@ -0,0 +1,121 @@ +--- +title: Spring Boot +weight: 1800 +toc: true +--- + +To run apps based on the [Spring Boot](https://spring.io/projects/spring-boot) frameworks using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Java language module. + +2. Create your Spring Boot project; we'll use the [quickstart](https://spring.io/quickstart) + example, creating it at : + + ![Spring Initializr - Project Setup Screen](/unit/images/springboot.png) + + {{< note >}} + Choose the same Java version that your Unit language module has. + {{< /note >}} + + Download and extract the project files where you need them: + + ```console + $ unzip demo.zip -d /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + This creates a directory named **/path/to/app/demo/** for you to add + your app code to; in our [example](https://spring.io/quickstart), it's a + single file called + **/path/to/app/demo/src/main/java/com/example/demo/DemoApplication.java**: + + ```java + package com.example.demo; + + import org.springframework.boot.SpringApplication; + import org.springframework.boot.autoconfigure.SpringBootApplication; + import org.springframework.web.bind.annotation.GetMapping; + import org.springframework.web.bind.annotation.RequestParam; + import org.springframework.web.bind.annotation.RestController; + + @SpringBootApplication + @RestController + public class DemoApplication { + + public static void main(String[] args) { + SpringApplication.run(DemoApplication.class, args); + } + + @GetMapping("/hello") + public String hello(@RequestParam(value = "name", defaultValue = "World") String name) { + return String.format("Hello, %s!", name); + } + } + ``` + + Finally, assemble a **.war** file. + + If you chose [Gradle](https://gradle.org) as the build tool: + + ```console + $ cd /path/to/app/demo/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ ./gradlew bootWar + ``` + + If you chose [Maven](https://maven.apache.org): + + ```console + $ cd /path/to/app/demo/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ ./mvnw package + ``` + + {{< note >}} + By default, Gradle puts the **.war** file in the **build/libs/** + subdirectory, while Maven uses **target/**; note your path for later + use in Unit configuration. + {{< /note >}} + +3. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +4. Next, + [put together]({{< relref "/unit/configuration.md#configuration-java" >}}) + the Spring Boot configuration (use a real value for **working_directory**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/bootdemo" + } + }, + "applications": { + "bootdemo": { + "type": "java", + "webapp": "gradle-or-maven-build-dir/demo.war", + "webapp_comment": "Relative pathname of your .war file", + "working_directory": "/path/to/app/demo/", + "working_directory_comment": "Path to the application directory; use a real path in your configuration" + } + } + } + ``` + +5. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener's IP + address and port: + + ```console + $ curl http://localhost/hello?name=Unit + + Hello, Unit! + ``` diff --git a/content/unit/howto/frameworks/starlette.md b/content/unit/howto/frameworks/starlette.md new file mode 100644 index 000000000..fa16f6735 --- /dev/null +++ b/content/unit/howto/frameworks/starlette.md @@ -0,0 +1,155 @@ +--- +title: Starlette +toc: true +weight: 1900 +--- + +# Starlette + +To run apps built with the [Starlette](https://www.starlette.io) web +framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.5+ language module. + +2. Create a virtual environment to install Starlette's + [PIP package](https://www.starlette.io/#installation), for + instance: + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + $ python --version # Make sure your virtual environment version matches the module version + Python X.Y.Z # Major version, minor version, and revision number + $ python -m venv venv # Arbitrary name of the virtual environment + $ source venv/bin/activate # Name of the virtual environment from the previous command + $ pip install 'starlette[full]' + $ deactivate + ``` + + {{< warning >}} + Create your virtual environment with a Python version that matches the + language module from Step 1 up to the minor number (**X.Y** in + this example). Also, the app **type** in Step 5 must + [resolve]({{< relref "/unit/configuration.md#configuration-apps-common" >}}) + to a similarly matching version; Unit doesn't infer it from the environment. + {{< /warning >}} + +3. Let's try a version of a [tutorial app](https://www.starlette.io/applications/), + saving it as **/path/to/app/asgi.py**: + + ```python + from starlette.applications import Starlette + from starlette.responses import PlainTextResponse + from starlette.routing import Route, Mount, WebSocketRoute + + + def homepage(request): + return PlainTextResponse('Hello, world!') + + def user_me(request): + username = "John Doe" + return PlainTextResponse('Hello, %s!' % username) + + def user(request): + username = request.path_params['username'] + return PlainTextResponse('Hello, %s!' % username) + + async def websocket_endpoint(websocket): + await websocket.accept() + await websocket.send_text('Hello, websocket!') + await websocket.close() + + def startup(): + print('Ready to go') + + + routes = [ + Route('/', homepage), + Route('/user/me', user_me), + Route('/user/{username}', user), + WebSocketRoute('/ws', websocket_endpoint) + ] + + app = Starlette(debug=True, routes=routes, on_startup=[startup]) + ``` + + {{< note >}} + This sample omits the static route because Unit's quite + [capable]({{< relref "/unit/configuration.md#configuration-static" >}}) + of serving static files itself if needed. + {{< /note >}} + +4. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + + +5. Next, [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) the Starlette configuration for Unit + (use real values for **type**, **home**, and **path**), adding a + [route]({{< relref "/unit/configuration.md#configuration-routes" >}}) to serve static content: + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + "routes": [ + { + "match": { + "uri": "/static/*" + }, + "action": { + "share": "/path/to/app$uri", + "share_comment": "Serves static files. Thus, URIs starting with /static/ are served from /path/to/app/static/; use a real path in your configuration" + } + }, + { + "action": { + "pass": "applications/starlette" + } + } + ], + "applications": { + "starlette": { + "type": "python 3.Y", + "type_comment": "Must match language module version and virtual environment version", + "path": "/path/to/app/", + "path_comment": "Path to the ASGI module", + "home": "/path/to/app/venv/", + "home_comment": "Path to the virtual environment, if any", + "module": "asgi", + "module_comment": "ASGI module filename with extension omitted", + "callable": "app", + "callable_comment": "Name of the callable in the module to run" + } + } + } + ``` + +6. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the listener’s IP + address and port: + + ```console + $ curl http://localhost + + Hello, world! + ``` + + ```console + $ curl http://localhost/user/me + + Hello, John Doe! + ``` + + ```console + $ wscat -c ws://localhost/ws + + Connected (press CTRL+C to quit) + < Hello, websocket! + Disconnected (code: 1000, reason: "") + ``` diff --git a/content/unit/howto/frameworks/symfony.md b/content/unit/howto/frameworks/symfony.md new file mode 100644 index 000000000..c07b5a68e --- /dev/null +++ b/content/unit/howto/frameworks/symfony.md @@ -0,0 +1,107 @@ +--- +title: Symfony +toc: true +weight: 1900 +--- + +To run apps built with the [Symfony](https://symfony.com) framework using Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP 8.2+ language module. + +2. Next, [install](https://symfony.com/doc/current/setup.html) Symfony + and create or deploy your app. Here, we use + Symfony's [reference app](https://symfony.com/doc/current/setup.html#the-symfony-demo-application): + + ```console + $ cd /path/to/ # Path where the application directory will be created; use a real path in your configuration + ``` + + ```console + $ symfony new --demo app # Arbitrary app name + ``` + + This creates the app's directory tree at **/path/to/app/**. Its + **public/** subdirectory contains both the root **index.php** and + the static files; if your app requires additional **.php** scripts, also + store them here. + +3. Change ownership: + + {{< include "unit/howto_change_ownership.md" >}} + +4. Next, [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) the Symfony configuration for Unit + (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + "routes": [ + { + "match": { + "uri": [ + "*.php", + "*.php/*" + ], + "uri_comment": "Handles all direct script-based requests" + }, + "action": { + "pass": "applications/symfony/direct" + } + }, + { + "action": { + "share": "/path/to/app/public$uri", + "share_comment": "Serves static files", + "fallback": { + "pass": "applications/symfony/index", + "pass_comment": "Uses the index.php at the root as the last resort" + } + } + } + ], + "applications": { + "symfony": { + "type": "php", + "targets": { + "direct": { + "root": "/path/to/app/public/", + "root_comment": "Path to the application directory; use a real path in your configuration" + }, + "index": { + "root": "/path/to/app/public/", + "root_comment": "Path to the application directory; use a real path in your configuration", + "script": "index.php", + "script_comment": "All requests are handled by a single script" + } + } + } + } + } + ``` + + {{< note >}} + The difference between the **pass** targets is their usage of the + **script** [setting]({{< relref "/unit/configuration.md#configuration-php" >}}): + + - The **direct** target runs the **.php** script from the URI or + defaults to **index.php** if the URI omits it. + - The **index** target specifies the **script** that Unit runs + for *any* URIs the target receives. + {{< /note >}} + + For a detailed discussion, see [Configuring a Web Server](https://symfony.com/doc/current/setup/web_server_configuration.html) in + Symfony docs. + +5. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your project and apps should be available on the + listener's IP address and port: + + ![Symfony Demo App on Unit - Admin Post Update](/unit/images/symfony.png) + diff --git a/content/unit/howto/frameworks/yii.md b/content/unit/howto/frameworks/yii.md new file mode 100644 index 000000000..ef92dc20d --- /dev/null +++ b/content/unit/howto/frameworks/yii.md @@ -0,0 +1,221 @@ +--- +title: Yii +weight: 2000 +toc: true +--- + + +To run apps based on the [Yii](https://www.yiiframework.com) framework +versions 1.1 or 2.0 using Unit: + +{{< tabs name="version" >}} +{{% tab name="Yii 2.0" %}} + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + + +2. Next, [install](https://www.yiiframework.com/doc/guide/2.0/en/start-installation) + Yii and create or deploy your app. + + Here, we use Yii's [basic project template](https://www.yiiframework.com/doc/guide/2.0/en/start-installation#installing-from-composer) + and Composer: + + ```console + $ cd /path/to/ # Partial path to the application directory; use a real path in your configuration + ``` + + ```console + $ composer create-project --prefer-dist yiisoft/yii2-app-basic app # Arbitrary app name + ``` + + This creates the app's directory tree at **/path/to/app/**. + Its **web/** subdirectory contains both the root + **index.php** and the static files; if your app requires + additional **.php** scripts, also store them here. + +3. Change ownership: + {{< include "unit/howto_change_ownership.md" >}} + +4. Next, + [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) + the Yii configuration for Unit (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + "routes": [ + { + "match": { + "uri": [ + "!/assets/*", + "*.php", + "*.php/*" + ], + "uri_comment": "This path stores application data that shouldn't be run as code" + }, + "action": { + "pass": "applications/yii/direct" + } + }, + { + "action": { + "share": "/path/to/app/web$uri", + "share_comment": "Serves static files", + "fallback": { + "pass": "applications/yii/index" + } + } + } + ], + "applications": { + "yii": { + "type": "php", + "targets": { + "direct": { + "root": "/path/to/app/web/", + "root_comment": "Path to the application directory; use a real path in your configuration" + }, + "index": { + "root": "/path/to/app/web/", + "root_comment": "Path to the application directory; use a real path in your configuration", + "script": "index.php", + "script_comment": "All requests are handled by a single script" + } + } + } + } + } + ``` + + For a detailed discussion, see [Configuring Web Servers](https://www.yiiframework.com/doc/guide/2.0/en/start-installation#configuring-web-servers) + and [Running Applications](https://www.yiiframework.com/doc/guide/2.0/en/start-workflow) in Yii 2.0 docs. + +{{< note >}} + The difference between the **pass** targets is their usage of + the **script** + [setting]({{< relref "/unit/configuration.md#configuration-php" >}}): + + - The **direct** target runs the **.php** script from the + URI or **index.php** if the URI omits it. + + - The **index** target specifies the **script** that Unit + runs for *any* URIs the target receives. +{{< /note >}} + + +5. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the + listener’s IP address and port: + + ![Yii Basic Template App on Unit](/unit/images/yii2.png) + +{{% /tab %}} +{{% tab name="Yii 1.1" %}} + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a PHP language module. + +2. Next, [install](https://www.yiiframework.com/doc/guide/1.1/en/quickstart.installation) +Yii and create or deploy your app. + + Here, we use Yii's [basic project template](https://www.yiiframework.com/doc/guide/1.1/en/quickstart.first-app) + and `yiic`: + + ```console + $ git clone git@github.com:yiisoft/yii.git /path/to/yii1.1/ # Arbitrary framework path + ``` + + ```code-block:: console + $ /path/to/yii1.1/ framework/yiic webapp /path/to/app/ #Path to the application directory; use a real path in your configuration + ``` + + This creates the app's directory tree at **/path/to/app/**. + +3. Next, + [prepare]({{< relref "/unit/configuration.md#configuration-php" >}}) + the Yii configuration for Unit (use real values for **share** and **root**): + + ```json + { + "listeners": { + "*:80": { + "pass": "routes" + } + }, + "routes": [ + { + "match": { + "uri": [ + "!/assets/*", + "!/protected/*", + "!/themes/*", + "*.php", + "*.php/*" + ], + "uri_comment": "This path stores application data that shouldn't be run as code" + }, + "action": { + "pass": "applications/yii/direct" + } + }, + { + "action": { + "share": "/path/to/app$uri", + "share_comment": "Serves static files", + "fallback": { + "pass": "applications/yii/index" + } + } + } + ], + "applications": { + "yii": { + "type": "php", + "targets": { + "direct": { + "root": "/path/to/app/", + "root_comment": "Path to the application directory; use a real path in your configuration" + }, + "index": { + "root": "/path/to/app/", + "root_comment": "Path to the application directory; use a real path in your configuration", + "script": "index.php", + "script_comment": "All requests are handled by a single script" + } + } + } + } + } + ``` + + For a detailed discussion, see Yii 1.1 [docs](https://www.yiiframework.com/doc/guide/1.1/en/quickstart.first-app). + +{{< note >}} +The difference between the **pass** targets is their usage of +the **script** +[setting]({{< relref "/unit/configuration.md#configuration-php" >}}): + +- The **direct** target runs the **.php** script from the + URI or **index.php** if the URI omits it. + +- The **index** target specifies the **script** that Unit + runs for *any* URIs the target receives. +{{< /note >}} + +4. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your app should be available on the + listener’s IP address and port: + + ![Yii Basic Template App on Unit](/unit/images/yii1.1.png) + +{{% /tab %}} +{{< /tabs >}} diff --git a/content/unit/howto/frameworks/zope.md b/content/unit/howto/frameworks/zope.md new file mode 100644 index 000000000..a02a62074 --- /dev/null +++ b/content/unit/howto/frameworks/zope.md @@ -0,0 +1,229 @@ +--- +title: Zope +weight: 2100 +toc: true +--- + +To run apps built with the [Zope](https://www.zope.dev/) web framework using +Unit: + +1. Install [Unit]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) with a Python 3.6+ language module. + +2. Install Zope. Here, we do this at **/path/to/app/**; use a real path + in your configuration. + + {{< tabs name="installation" >}} + {{% tab name="Buildout" %}} + + First, install Zope's + [core files](https://zope.readthedocs.io/en/latest/INSTALL.html#installing-zope-with-zc-buildout), + for example: + + ```console + $ pip install -U pip wheel zc.buildout + ``` + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ wget https://pypi.org/packages/source/Z/Zope/Zope-A.B.C.tar.gz # Zope version + ``` + + ```console + $ tar xfvz Zope-A.B.C.tar.gz --strip-components =1 # Avoids creating a redundant subdirectory + ``` + + ```console + $ buildout + ``` + + Next, add a new configuration file named **/path/to/app/wsgi.cfg**: + + ```cfg + [buildout] + extends = + buildout.cfg + + parts += + wsgi.py # The basename is arbitrary; the extension is required to make the resulting Python module discoverable + + [wsgi.py] + recipe = plone.recipe.zope2instance + user = admin:admin # Instance credentials; omit this line to configure them interactively + zodb-temporary-storage = off # Avoids compatibility issues + eggs = + scripts = + initialization = + from Zope2.Startup.run import make_wsgi_app + wsgiapp = make_wsgi_app({}, '${buildout:parts-directory}/wsgi.py/etc/zope.conf') # Path to the instance's configuration file + def application(*args, **kwargs):return wsgiapp(*args, **kwargs) + ``` + + It creates a new Zope instance. The part's name must end with + **.py** for the resulting instance script to be recognized as a + Python module; the **initialization** [option](https://pypi.org/project/plone.recipe.zope2instance/#common-options) + defines a WSGI entry point. + + Rerun Buildout, feeding it the new configuration file: + + ```console + $ buildout -c wsgi.cfg + + ... + Installing wsgi.py. + Generated script '/path/to/app/bin/wsgi.py'. + ``` + + Thus created, the instance script can be used with Unit. + + {{< include "unit/howto_change_ownership.md" >}} + + Last, + [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) + the Zope configuration for Unit (use a real value for **path**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/zope" + } + }, + + "applications": { + "zope": { + "type": "python 3", + "path": "/path/to/app/", + "comment_path": "Path to the application directory; use a real path in your configuration", + "module": "bin.wsgi", + "comment_module": "WSGI module's qualified name with extension omitted" + } + } + } + ``` + + {{% /tab %}} + {{% tab name="PIP" %}} + + Create a virtual environment to install Zope's [PIP package](https://pypi.org/project/Zope/) + + ```console + $ cd /path/to/app/ # Path to the application directory; use a real path in your configuration + ``` + + ```console + $ python3 --version # Make sure your virtual environment version matches the module version + Python 3.Y.Z # Major version, minor version, and revision number + ``` + + ```console + $ python3 -m venv venv # This is the virtual environment directory + ``` + + ```console + $ source venv/bin/activate + ``` + + ```console + $ pip install 'zope[wsgi]' + ``` + + ```console + $ deactivate + ``` + + {{< warning >}} + Create your virtual environment with a Python version that matches + the language module from Step 1 up to the minor number + (**3.Y** in this example). Also, the app **type** in Unit + configuration must + [resolve]({{< relref "/unit/configuration.md#configuration-apps-common" >}}) + to a similarly matching version; Unit doesn't infer it from the environment. + {{< /warning >}} + + After installation, create your Zope [instance](https://zope.readthedocs.io/en/latest/operation.html#creating-a-zope-instance): + + ```console + $ venv/bin/mkwsgiinstance -d instance # Using Zope's own script and the Zope instance's home directory + ``` + + To run the instance on Unit, create a WSGI entry point: + + ```python + from pathlib import Path + from Zope2.Startup.run import make_wsgi_app + + wsgiapp = make_wsgi_app({}, str(Path(__file__).parent / 'etc/zope.conf')) # Path to the instance's configuration file + def application(*args, **kwargs):return wsgiapp(*args, **kwargs) + ``` + + Save the script as **wsgi.py** in the instance home directory + (here, it's **/path/to/app/instance/**). + + {{< include "unit/howto_change_ownership.md" >}} + + Last, + [prepare]({{< relref "/unit/configuration.md#configuration-python" >}}) + the Zope configuration + for Unit (use real values for **path** and **home**): + + ```json + { + "listeners": { + "*:80": { + "pass": "applications/zope" + } + }, + "applications": { + "zope": { + "type": "python 3.Y", + "type_comment": "Must match language module version and virtual environment version", + "path": "/path/to/app/instance/", + "path_comment": "Path to the instance/ subdirectory; use a real path in your configuration", + "home": "/path/to/app/venv/", + "home_comment": "Path to the virtual environment; use a real path in your configuration", + "module": "wsgi", + "module_comment": "WSGI module basename with extension omitted" + } + } + } + + ``` + + {{% /tab %}} + {{< /tabs >}} + +--- + + +3. Upload the updated configuration. + + {{< include "unit/howto_upload_config.md" >}} + + After a successful update, your Zope instance should be available on the + listener’s IP address and port: + + ```console + $ curl http://localhost + + + + + + + Auto-generated default page + + + + +

Zope + Auto-generated default page

+ + This is Page Template index_html. + + + ``` + +[app-link]: https://zope.readthedocs.io/en/latest/INSTALL.html diff --git a/content/unit/howto/integration.md b/content/unit/howto/integration.md new file mode 100644 index 000000000..aa89d2267 --- /dev/null +++ b/content/unit/howto/integration.md @@ -0,0 +1,127 @@ +--- +title: NGINX integration +toc: true +weight: 500 +--- + +Unit is a potent and versatile server in its own right. However, if you're +used to NGINX's rich feature set, you can deploy it in front of Unit; one +notable use case for NGINX here is securing the Unit control socket. + +## Fronting Unit with NGINX + +Configure a [listener]({{< relref "/unit/configuration.md#configuration-listeners" >}}) in Unit: + +```json +{ + "127.0.0.1:8080": { + "comment_127.0.0.1:8080": "Socket address where NGINX proxies requests", + "pass": "...", + "comment_pass": "Unit's internal request destination", + "forwarded": { + "client_ip": "X-Forwarded-For", + "comment_client_ip": "The header field set by NGINX", + "source": [ + "127.0.0.1" + ], + "comment_source": "The IP address where NGINX runs" + } + } +} +``` + +Here, **forwarded** is optional; it enables identifying the +[originating IPs]({{< relref "/unit/configuration.md#configuration-listeners-xff" >}}) +of requests proxied from **source**. + +In NGINX configuration, create an upstream in the **http** context, adding +the listener's socket as a **server**: + +```nginx +http { + upstream unit_backend { + server 127.0.0.1:8080; # Unit's listener socket address + } + + server { + location /unit/ { # Arbitrary location + proxy_pass http://unit_backend; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # Unit's listener must list the same name in client_ip/header + } + } +} +``` + +A more compact alternative would be a direct **proxy_pass** in your +**location**: + +```nginx +http { + server { + location /unit/ { # Arbitrary location + proxy_pass http://127.0.0.1:8080; # Unit's listener socket address + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # Unit's listener must list the same name in client_ip/header + } + } +} +``` + +The **proxy_set_header X-Forwarded-For** directives work together with the +listener's **client_ip** option. + +For details, see the [NGINX documentation](https://nginx.org). Commercial +support and advanced features are [also available](https://www.nginx.com). + +## Securely proxying Unit's control API {#nginx-secure-api} + +By default, Unit exposes its +[control API]({{< relref "/unit/controlapi.md#configuration-mgmt" >}}) +via a UNIX domain socket. These sockets aren't network accessible, so the API is +local only. To enable secure remote access, you can use NGINX as a reverse proxy. + +{{< warning >}} +Avoid exposing an unprotected control socket to public networks. Use NGINX +or a different solution such as SSH for security and authentication. +{{< /warning >}} + +Use this configuration template for NGINX (replace placeholders in +**ssl_certificate**, **ssl_certificate_key**, +**ssl_client_certificate**, **allow**, **auth_basic_user_file**, +and **proxy_pass** with real values): + +```nginx +server { + + # Configure SSL encryption + listen 443 ssl; + + ssl_certificate /path/to/ssl/cert.pem; # Path to your PEM file; use a real path in your configuration + ssl_certificate_key /path/to/ssl/cert.key; # Path to your key file; use a real path in your configuration + + # SSL client certificate validation + ssl_client_certificate /path/to/ca.pem; # Path to certification authority PEM file; use a real path in your configuration + ssl_verify_client on; + + # Network ACLs + allow 1.2.3.4; # Replicate and update as needed with allowed IPs and network CIDRs + deny all; + + # HTTP Basic authentication + auth_basic on; + auth_basic_user_file /path/to/htpasswd; # Path to your htpasswd file + + location / { + proxy_pass http://unix:/path/to/control.unit.sock; # Path to Unit's control socket + } +} +``` + +The same approach works for an IP-based control socket: + +```nginx +location / { + proxy_pass http://127.0.0.1:8080; # Unit's control socket address +} +``` diff --git a/content/unit/howto/modules.md b/content/unit/howto/modules.md new file mode 100644 index 000000000..a2c61b31c --- /dev/null +++ b/content/unit/howto/modules.md @@ -0,0 +1,350 @@ +--- +title: Working with language modules +weight: 700 +toc: true +--- + +Languages supported by Unit fall into these two categories: + +- [External]({{< relref "/unit/howto/modules.md#modules-ext" >}}) + (Go, Node.js): Run outside Unit with an + interface layer to the native runtime. +- [Embedded]({{< relref "/unit/howto/modules.md#modules-emb" >}}) + (Java, Perl, PHP, Python, Ruby, WebAssembly): + Execute in runtimes that Unit loads at startup. + +For any specific language and its version, Unit needs a language module. + +{{< note >}} +The commands in this document starting with a hash (#) must be run as root or +with superuser privileges. +{{< /note >}} + +## External language modules {#modules-ext} + +External modules are regular language libraries or packages that you install +like any other. They provide common web functionality, communicating with Unit +from the app's runspace. + +In Go, Unit support is implemented with a package that you +[import]({{< relref "/unit/configuration.md#configuration-go" >}}) +in your apps to make them Unit-aware. + +In Node.js, Unit is supported by an `npm`-hosted [package](https://www.npmjs.com/package/unit-http) that you +[require]({{< relref "/unit/configuration.md#configuration-nodejs" >}}) +in your app code. You can +[install]({{< relref "/unit/installation.md#installation-nodejs-package" >}}) +the package from the `npm` repository; +otherwise, [build]({{< relref "/unit/howto/source.md#modules-nodejs" >}}) +it for your version of Node.js using Unit's sources. + +For WebAssembly, Unit delegates bytecode execution to the +[Wasmtime](https://wasmtime.dev/) runtime that is installed with the +[language module]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) +module or during a +[source build]({{< relref "/unit/howto/source.md#source-wasm" >}}). + +## Embedded language modules {#modules-emb} + +Embedded modules are shared libraries that Unit loads at startup. Query Unit +to find them in your system: + +```console +$ unitd -h + + ... + --log FILE set log filename + default: /default/path/to/unit.log # This is the default log path which can be overridden at runtime + + --modules DIRECTORY set modules directory name + default: /default/modules/path/ # This is the default modules path which can be overridden at runtime + +$ ps ax | grep unitd # Check whether the defaults were overridden at launch + ... + unit: main v1.34.1 [unitd --log /runtime/path/to/unit.log --modules /runtime/modules/path/ ... ] # If this option is set, its value is used at runtime + +$ ls /path/to/modules # Use runtime value if the default was overridden + + java.unit.so php.unit.so ruby.unit.so wasm_wasi_component.unit.so + perl.unit.so python.unit.so wasm.unit.so + +``` + +To clarify the module versions, check the {ref}`Unit log ` +to see which modules were loaded at startup: + +```console +# less /path/to/unit.log # Path to log can be determined in the same manner as above + ... + discovery started + module: "/path/to/modules/.unit.so" + ... +``` + +If a language version is not listed, Unit can't run apps that rely on it; +however, you can add new modules: + +- If possible, use the official + [language packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) + for easy integration and maintenance. +- If you installed Unit via a + [third-party repo]({{< relref "/unit/installation.md#installation-community-repos" >}}), + check whether a suitable language package is + available there. +- If you want a customized yet reusable solution, + [prepare]({{< relref "/unit/howto/modules.md#modules-pkg" >}}) + your own package to be installed beside Unit. + +### Packaging Custom Modules {#modules-pkg} + +There's always a chance that you need to run a language version that isn't yet +available among the official Unit +[pacakges]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}). +but still want to benefit from the convenience of a packaged installation. In +this case, you can build your own package to be installed alongside the +official distribution, adding the latter as a prerequisite. + +Here, we are packaging a custom PHP 7.3 +[module]({{< relref "/unit/howto/source.md#source-modules" >}}) +to be installed next to the official Unit package; +adjust the command samples as needed to fit your scenario. + +{{< note >}} +For details of building Unit language modules, see the source code +[now-to]({{< relref "/unit/howto/source.md#source-modules" >}}); it also describes building +[Unit]({{< relref "/unit/howto/source.md" >}}) itself. +For more packaging examples, see our package +[sources](https://github.com/nginx/unit/tree/master/pkg). +{{< /note >}} + + + + + +{{< tabs name="packages">}} +{{% tab name=".deb" %}} + +Assuming you are packaging for the current system and have the official +Unit package installed: + +1. Make sure to install the + [prerequisites]({{< relref "/unit/howto/source.md#source-prereq-build" >}}) + for the package. In our example, it's PHP 7.3 on Debian 10: + + ```console + # apt update + ``` + + ```console + # apt install ca-certificates apt-transport-https debian-archive-keyring # Needed to install the php7.3 package from the PHP repo + ``` + + ```console + # curl --output /usr/share/keyrings/php-keyring.gpg \ + https://packages.sury.org/php/apt.gpg # Adding the repo key to make it usable + ``` + + ```console + # echo "deb [signed-by=/usr/share/keyrings/php-keyring.gpg] \ + https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list + ``` + + ```console + # apt update + ``` + + ```console + # apt install php7.3 + ``` + + ```console + # apt install php-dev libphp-embed # Needed to build the module and the package + ``` + +1. Create a staging directory for your package: + + ```console + $ export UNITTMP=$(mktemp -d -p /tmp -t unit.XXXXXX) + $ mkdir -p $UNITTMP/unit-php7.3/DEBIAN + $ cd $UNITTMP + ``` + + This creates a folder structure fit for `dpkg-deb`; the + **DEBIAN** folder will store the package definition. + +1. Run `unitd --version` and note the `./configure` + [flags]({{< relref "/unit/howto/source.md#source-config-src" >}}) + for later use, omitting `--ld-opt` and `--njs`: + + ```console + $ unitd --version + + unit version: {{< param "unitversion" >}} + configured as ./configure # Note the flags, omitting --ld-opt and --njs + ``` + +1. Download Unit's sources, + [configure]({{< relref "/unit/howto/source.md#source-modules" >}}) + and build your custom module, then put it where Unit will find it: + + ```console + $ curl -O https://sources.nginx.org/unit/unit-{{< param "unitversion" >}}.tar.gz + $ tar xzf unit-{{< param "unitversion" >}}.tar.gz # Puts Unit's sources in the unit-{{< param "unitversion" >}} subdirectory + $ cd unit-{{< param "unitversion" >}} + $ ./configure FLAGS # Use the ./configure flags noted in the previous step + $ ./configure php --module=php7.3 --config=php-config # Configures the module itself + $ make php7.3 # Builds the module in the build/ subdirectory + $ mkdir -p $UNITTMP/unit-php7.3/MODULESPATH # Use the module path set by ./configure or by default + $ mv build/php7.3.unit.so $UNITTMP/unit-php7.3/MODULESPATH # Adds the module to the package + ``` + +1. Create a **$UNITTMP/unit-php7.3/DEBIAN/control** + [file](https://www.debian.org/doc/debian-policy/ch-controlfields.html), + listing **unit** with other dependencies: + + ```control + Package: unit-php7.3 + Version: {{< param "unitversion" >}} + Comment0: Use Unit's package version for consistency: 'apt show unit | grep Version' + Architecture: amd64 + Comment1: To get current architecture, run 'dpkg --print-architecture' + Comment2: For a list of other options, run 'dpkg-architecture -L' + Depends: unit (= {{< param "unitversion" >}}-1~buster), php7.3, libphp-embed + Comment3: Specify Unit's package version to avoid issues when Unit updates + Comment4: Again, run 'apt show unit | grep Version' to get this value + Maintainer: Jane Doe + Description: Custom PHP 7.3 language module for NGINX Unit {{< param "unitversion" >}} + ``` + + Save and close the file. + +1. Build and install the package: + + ```console + $ dpkg-deb -b $UNITTMP/unit-php7.3 + # dpkg -i $UNITTMP/unit-php7.3.deb + ``` + +{{% /tab %}} +{{% tab name=".rpm" %}} + +Assuming you are packaging for the current system and have the official +Unit package installed: + +1. Make sure to install the + [prerequisites]({{< relref "/unit/howto/source.md#source-prereq-build" >}}) + for the package. In our example, it's PHP 7.3 on Fedora 30: + + ```console + # yum install -y php-7.3.8 + ``` + + ```console + # yum install php-devel php-embedded + ``` + +1. Install RPM development tools and prepare the directory structure: + + ```console + # yum install -y rpmdevtools + ``` + + ```console + $ rpmdev-setuptree + ``` + +1. Create a **.spec** [file](https://rpm-packaging-guide.github.io/#what-is-a-spec-file) + to store build commands for your custom package: + + ```console + $ cd ~/rpmbuild/SPECS + ``` + + ```console + $ rpmdev-newspec unit-php7.3 + ``` + +1. Run `unitd --version` and note the `./configure` + [flags]({{< relref "/unit/howto/source.md#source-config-src" >}}) for later use, omitting + `--ld-opt` and `--njs`: + + ```console + $ unitd --version + + unit version: {{< param "unitversion" >}} + configured as ./configure FLAGS # Note the flags, omitting --ld-opt and --njs + ``` + +1. Edit the **unit-php7.3.spec** file, adding the commands that + download Unit's sources, + [configure]({{< relref "/unit/howto/source.md#source-modules" >}}) + and build your custom module, then put it where Unit will find it: + + ```spec + Name: unit-php7.3 + Version: {{< param "unitversion" >}} + # Use Unit's package version for consistency: 'yum info unit | grep Version' + Release: 1%{?dist} + Summary: Custom language module for NGINX Unit + + License: ASL 2.0 + # Unit uses ASL 2.0; your license depends on the language you are packaging + URL: https://example.com + BuildRequires: gcc + BuildRequires: make + BuildRequires: php-devel + BuildRequires: php-embedded + Requires: unit = {{< param "unitversion" >}} + # Specify Unit's package version to avoid issues when Unit updates + # Again, run 'yum info unit | grep Version' to get this value + Requires: php >= 7.3 + Requires: php-embedded + + %description + Custom language module for NGINX Unit {{< param "unitversion" >}} (https://unit.nginx.org). + + Maintainer: Jane Doe + + %prep + curl -O https://sources.nginx.org/unit/unit-{{< param "unitversion" >}}.tar.gz + # Downloads Unit's sources + tar --strip-components=1 -xzf unit-{{< param "unitversion" >}}.tar.gz + # Extracts them locally for compilation steps in the %build section + + %build + ./configure FLAGS W/O --LD-OPT & --NJS # The ./configure flags, except for --ld-opt and --njs + ./configure php --module=php7.3 --config=php-config + # Configures the module itself + make php7.3 + # Builds the module + + %install + DESTDIR=%{buildroot} make php7.3-install + # Adds the module to the package + + %files + %attr(0755, root, root) MODULESPATH/php7.3.unit.so + # Lists the module as package contents to include it in the package build + # Use the module path set by ./configure or by default + + ``` + + Save and close the file. + + +1. Build and install the package: + + ```console + $ rpmbuild -bb unit-php7.3.spec + + ... + Wrote: /home/user/rpmbuild/RPMS//unit-php7.3-..rpm + ... + ``` + + ```console + # yum install -y /home/user/rpmbuild/RPMS//unit-php7.3-..rpm + ``` + +{{% /tab %}} +{{< /tabs >}} diff --git a/content/unit/howto/overview.md b/content/unit/howto/overview.md new file mode 100644 index 000000000..fc9a92ba4 --- /dev/null +++ b/content/unit/howto/overview.md @@ -0,0 +1,100 @@ +--- +title: Overview +weight: 100 +toc: true +--- + +This section describes various real-life situations and issues that you may +experience with Unit. + + +## How-to guides + +- [Unit in Docker]({{< relref "/unit/howto/docker.md">}}) +: Configure a standalone Unit or a Unit-run app in a Docker + container. +- [Building from source]({{< relref "/unit/howto/source.md">}}) +: Build Unit and its language modules from source code. +- [Unit in Ansible]({{< relref "/unit/howto/ansible.md">}}) +: Use a third-party Ansible collection to automate Unit + deployment. +- [NGINX integration]({{< relref "/unit/howto/integration.md">}}) +: Front or secure Unit with NGINX. +- [TLS with Certbot]({{< relref "/unit/howto/certbot.md">}}) +: Use EFF's Certbot with Unit to simplify certificate + manipulation. +- [Working with language modules]({{< relref "/unit/howto/modules.md">}}) +: Build new modules or prepare custom packages for + Unit. +- [App samples]({{< relref "/unit/howto/samples.md">}}) +: Reuse sample app configurations for all languages + supported by Unit. +- [Security checklist]({{< relref "/unit/howto/security.md">}}) +: Recommendations and considerations for hardening Unit. +- [Walkthrough]({{< relref "/unit/howto/walkthrough.md">}}) +: Follow an end-to-end guide to application configuration + in Unit. + +## Frameworks {#howto-frameworks} + +With Unit, you can configure a diverse range of applications based on the +following frameworks: + +- [Bottle]({{< relref "/unit/howto/frameworks/bottle.md">}}) +- [CakePHP]({{< relref "/unit/howto/frameworks/cakephp.md">}}) +- [Catalyst]({{< relref "/unit/howto/frameworks/catalyst.md">}}) +- [CodeIgniter]({{< relref "/unit/howto/frameworks/codeigniter.md">}}) +- [Django]({{< relref "/unit/howto/frameworks/django.md">}}) +- [DjangoChannels]({{< relref "/unit/howto/frameworks/djangochannels.md">}}) +- [Express]({{< relref "/unit/howto/frameworks/express.md">}}) +- [Falcon]({{< relref "/unit/howto/frameworks/falcon.md">}}) +- [FastAPI]({{< relref "/unit/howto/frameworks/fastapi.md">}}) +- [Flask]({{< relref "/unit/howto/frameworks/flask.md">}}) +- [Guillotina]({{< relref "/unit/howto/frameworks/guillotina.md">}}) +- [Koa]({{< relref "/unit/howto/frameworks/koa.md">}}) +- [Laravel]({{< relref "/unit/howto/frameworks/laravel.md">}}) +- [Lumen]({{< relref "/unit/howto/frameworks/lumen.md">}}) +- [Pyramid]({{< relref "/unit/howto/frameworks/pyramid.md">}}) +- [Quart]({{< relref "/unit/howto/frameworks/quart.md">}}) +- [Responder]({{< relref "/unit/howto/frameworks/responder.md">}}) +- [Rails]({{< relref "/unit/howto/frameworks/rails.md">}}) +- [Sanic]({{< relref "/unit/howto/frameworks/sanic.md">}}) +- [SpringBoot]({{< relref "/unit/howto/frameworks/springboot.md">}}) +- [Starlette]({{< relref "/unit/howto/frameworks/starlette.md">}}) +- [Symfony]({{< relref "/unit/howto/frameworks/symfony.md">}}) +- [Yii]({{< relref "/unit/howto/frameworks/yii.md">}}) +- [Zope]({{< relref "/unit/howto/frameworks/zope.md">}}) + + +# Applications + +You can also make use of detailed setup instructions for popular web apps such +as: + +- [Apollo]({{< relref "/unit/howto/apps/apollo.md">}}) +- [Bugzilla]({{< relref "/unit/howto/apps/bugzilla.md">}}) +- [Datasette]({{< relref "/unit/howto/apps/datasette.md">}}) +- [DokuWiki]({{< relref "/unit/howto/apps/dokuwiki.md">}}) +- [Drupal]({{< relref "/unit/howto/apps/drupal.md">}}) +- [Grafana]({{< relref "/unit/howto/apps/grafana.md">}}) +- [Jira]({{< relref "/unit/howto/apps/jira.md">}}) +- [Joomla]({{< relref "/unit/howto/apps/joomla.md">}}) +- [Mailman]({{< relref "/unit/howto/apps/mailman.md">}}) +- [Matomo]({{< relref "/unit/howto/apps/matomo.md">}}) +- [MediaWiki]({{< relref "/unit/howto/apps/mediawiki.md">}}) +- [Mercurial]({{< relref "/unit/howto/apps/mercurial.md">}}) +- [MODX]({{< relref "/unit/howto/apps/modx.md">}}) +- [Moin]({{< relref "/unit/howto/apps/moin.md">}}) +- [Nextcloud]({{< relref "/unit/howto/apps/nextcloud.md">}}) +- [OpenGrok]({{< relref "/unit/howto/apps/opengrok.md">}}) +- [phpBB]({{< relref "/unit/howto/apps/phpbb.md">}}) +- [phpMyAdmin]({{< relref "/unit/howto/apps/phpmyadmin.md">}}) +- [Plone]({{< relref "/unit/howto/apps/plone.md">}}) +- [Redmine]({{< relref "/unit/howto/apps/redmine.md">}}) +- [ReviewBoard]({{< relref "/unit/howto/apps/reviewboard.md">}}) +- [Roundcube]({{< relref "/unit/howto/apps/roundcube.md">}}) +- [Trac]({{< relref "/unit/howto/apps/trac.md">}}) +- [WordPress]({{< relref "/unit/howto/apps/wordpress.md">}}) + +If you are interested in a specific use case not yet listed here, please [post +a feature request](https://github.com/nginx/documentation/issues) on GitHub. diff --git a/content/unit/howto/samples.md b/content/unit/howto/samples.md new file mode 100644 index 000000000..8f6c906b1 --- /dev/null +++ b/content/unit/howto/samples.md @@ -0,0 +1,822 @@ +--- +title: App samples +toc: true +weight: 800 +--- + + +{{< note >}} +These steps assume Unit was already +[installed]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) +with the language module for each app. + +The commands in this document starting with a hash (#) must be run as root or +with superuser privileges. +{{< /note >}} + +## Go {#sample-go} + +Let's configure the following basic app, saved as **/www/app.go**: + +```go +package main + +import ( + "io" + "net/http" + "unit.nginx.org/go" +) + +func main() { + http.HandleFunc("/",func (w http.ResponseWriter, r *http.Request) { + io.WriteString(w, "Hello, Go on Unit!") + }) + unit.ListenAndServe(":8080", nil) +} +``` + +First, create a [Go module](https://go.dev/blog/using-go-modules), `go +get` Unit's package, and build your application: + +```console + $ go mod init example.com/app # Your Go module designation + $ go get unit.nginx.org/go@{{< param "unitversion" >}} + $ go build -o /www/app /www/app.go +``` + +Upload the +[app config]({{< relref "/unit/configuration.md#configuration-go" >}}) +to Unit and test it: + +```console +# curl -X PUT --data-binary '{ + "listeners": { + "*:8080": { + "pass": "applications/go" + } + }, + "applications": { + "go": { + "type": "external", + "working_directory": "/www/", + "executable": "/www/app" + } + } + }' --unix-socket /path/to/control.unit.sock http://localhost/config/ # Path to Unit's control socket in your installation +``` + +```console +$ curl http://localhost:8080 + + Hello, Go on Unit! +``` + +Try this sample out with the Dockerfile +[ here](/unit/downloads/Dockerfile.go.txt) +or use a more elaborate app example: + +```go + package main + + import ( + "crypto/sha256"; + "fmt"; + "io"; + "io/ioutil"; + "encoding/json"; + "net/http"; + "strings"; + "unit.nginx.org/go" + ) + + func formatRequest(r *http.Request) string { + + h := make(map[string]string) + m := make(map[string]string) + t := make(map[string]interface{}) + + m["message"] = "Unit reporting" + m["agent"] = "NGINX Unit {{< param "unitversion" >}}" + + body, _ := ioutil.ReadAll(r.Body) + m["body"] = fmt.Sprintf("%s", body) + + m["sha256"] = fmt.Sprintf("%x", sha256.Sum256([]byte(m["body"]))) + + data, _ := json.Marshal(m) + for name, _ := range r.Header { + h[strings.ToUpper(name)] = r.Header.Get(name) + } + _ = json.Unmarshal(data, &t) + t["headers"] = h + + js, _ := json.MarshalIndent(t, "", " ") + + return fmt.Sprintf("%s", js) + } + + func main() { + http.HandleFunc("/",func (w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json; charset=utf-8") + io.WriteString(w, formatRequest(r)) + }) + unit.ListenAndServe(":8080", nil) + } +``` + +## Java {#sample-java} + +Let's configure the following basic app, saved as **/www/index.jsp**: + +```jsp +<%@ page language="java" contentType="text/plain" %> +<%= "Hello, JSP on Unit!" %> +``` + +Upload the +[app config]({{< relref "/unit/configuration.md#configuration-java" >}}) +to Unit and test it: + +```console +# curl -X PUT --data-binary '{ + "listeners": { + "*:8080": { + "pass": "applications/java" + } + }, + "applications": { + "java": { + "type": "java", + "webapp": "/www/" + } + } + }' --unix-socket /path/to/control.unit.sock http://localhost/config/ # Path to Unit's control socket in your installation +``` + +```console +$ curl http://localhost:8080 + + Hello, JSP on Unit! +``` + +Try this sample out with the Dockerfile +[ here](/unit/downloads/Dockerfile.java.txt) +or use a more elaborate app example (you'll +need to [download](https://cliftonlabs.github.io/json-simple/) and +[add]({{< relref "/unit/configuration.md#configuration-java" >}}) the +`json-simple` library to your app's **classpath** option): + +```jsp + <%@ page language="java" contentType="application/json; charset=utf-8" %> + <%@ page import="com.github.cliftonlabs.json_simple.JsonObject" %> + <%@ page import="com.github.cliftonlabs.json_simple.Jsoner" %> + <%@ page import="java.io.BufferedReader" %> + <%@ page import="java.math.BigInteger" %> + <%@ page import="java.nio.charset.StandardCharsets" %> + <%@ page import="java.security.MessageDigest" %> + <%@ page import="java.util.Enumeration" %> + <% + JsonObject r = new JsonObject(); + + r.put("message", "Unit reporting"); + r.put("agent", "NGINX Unit {{< param "unitversion" >}}"); + + JsonObject headers = new JsonObject(); + Enumeration h = request.getHeaderNames(); + while (h.hasMoreElements()) { + String name = (String)h.nextElement(); + headers.put(name, request.getHeader(name)); + } + r.put("headers", headers); + + BufferedReader br = request.getReader(); + String body = ""; + String line = br.readLine(); + while (line != null) { + body += line; + line = br.readLine(); + } + r.put("body", body); + + MessageDigest md = MessageDigest.getInstance("SHA-256"); + byte[] bytes = md.digest(body.getBytes(StandardCharsets.UTF_8)); + BigInteger number = new BigInteger(1, bytes); + StringBuilder hex = new StringBuilder(number.toString(16)); + r.put("sha256", hex.toString()); + + out.println(Jsoner.prettyPrint((Jsoner.serialize(r)))); + %> +``` + +## Node.js {#sample-nodejs} + +Let's configure the following basic app, saved as **/www/app.js**: + +```javascript +#!/usr/bin/env node + +require("unit-http").createServer(function (req, res) { + res.writeHead(200, {"Content-Type": "text/plain"}); + res.end("Hello, Node.js on Unit!") +}).listen() +``` + +It's important to use unit-http instead of the regular http module. + +Make it executable and link the Node.js language package you've +[installed]({{< relref "/unit/installation.md#installation-nodejs-package" >}}) + +```console +$ cd /www +``` + +```console +$ chmod +x app.js +``` + +```console +$ npm link unit-http +``` + +Upload the [app config]({{< relref "/unit/configuration.md#configuration-nodejs" >}}) +to Unit and test it: + +```console +# curl -X PUT --data-binary '{ + "listeners": { + "*:8080": { + "pass": "applications/node" + } + }, + "applications": { + "node": { + "type": "external", + "working_directory": "/www/", + "executable": "app.js" + } + } + }' --unix-socket /path/to/control.unit.sock http://localhost/config/ # Path to Unit's control socket in your installation +``` + +```console +$ curl http://localhost:8080 + + Hello, Node.js on Unit! +``` + +Try this sample out with the Dockerfile +[ here](/unit/downloads/Dockerfile.nodejs.txt) +or use a more elaborate app example: + +```javascript + #!/usr/bin/env node + + const cr = require("crypto") + const bd = require("body") + require("unit-http").createServer(function (req, res) { + bd (req, res, function (err, body) { + res.writeHead(200, {"Content-Type": "application/json; charset=utf-8"}) + + var r = { + "agent": "NGINX Unit {{< param "unitversion" >}}", + "message": "Unit reporting" + } + + r["headers"] = req.headers + r["body"] = body + r["sha256"] = cr.createHash("sha256").update(r["body"]).digest("hex") + + res.end(JSON.stringify(r, null, " ").toString("utf8")) + }) + }).listen() +``` + +{{< note >}} +You can run a version of the same app +[without]({{< relref "/unit/configuration.md#configuration-nodejs-loader" >}}) +requiring the **unit-http** module explicitly. +{{< /note >}} + +## Perl {#sample-perl} + +Let's configure the following basic app, saved as **/www/app.psgi**: + +```perl +my $app = sub { + return [ + "200", + [ "Content-Type" => "text/plain" ], + [ "Hello, Perl on Unit!" ], + ]; +}; +``` + +Upload the +[app config]({{< relref "/unit/configuration.md#configuration-perl" >}}) +to Unit and test it: + +```console +# curl -X PUT --data-binary '{ + "listeners": { + "*:8080": { + "pass": "applications/perl" + } + }, + "applications": { + "perl": { + "type": "perl", + "working_directory": "/www/", + "script": "/www/app.psgi" + } + } + }' --unix-socket /path/to/control.unit.sock http://localhost/config/ # Path to Unit's control socket in your installation +``` + +```console +$ curl http://localhost:8080 + + Hello, Perl on Unit! +``` + +Try this sample out with the Dockerfile +[ here](/unit/downloads/Dockerfile.perl.txt) +or use a more elaborate app example: + +```perl + use strict; + + use Digest::SHA qw(sha256_hex); + use JSON; + use Plack; + use Plack::Request; + + my $app = sub { + my $env = shift; + my $req = Plack::Request->new($env); + my $res = $req->new_response(200); + $res->header("Content-Type" => "application/json; charset=utf-8"); + + my $r = { + "message" => "Unit reporting", + "agent" => "NGINX Unit {{< param "unitversion" >}}", + "headers" => $req->headers->psgi_flatten(), + "body" => $req->content, + "sha256" => sha256_hex($req->content), + }; + + my $json = JSON->new(); + $res->body($json->utf8->pretty->encode($r)); + + return $res->finalize(); + }; +``` + +## PHP {#sample-php} + +Let's configure the following basic app, saved as **/www/index.php**: + +```php + +``` + +Upload the +[app config]({{< relref "/unit/configuration.md#configuration-php" >}}) +to Unit and test it: + +```console +# curl -X PUT --data-binary '{ + "listeners": { + "*:8080": { + "pass": "applications/php" + } + }, + "applications": { + "php": { + "type": "php", + "root": "/www/" + } + } + }' --unix-socket /path/to/control.unit.sock http://localhost/config/ # Path to Unit's control socket in your installation + +$ curl http://localhost:8080 + + Hello, PHP on Unit! +``` + +Try this sample out with the Dockerfile +[ here](/unit/downloads/Dockerfile.php.txt) +or use a more elaborate app example: + +```php + "Unit reporting", + "agent" => "NGINX Unit {{< param "unitversion" >}}" + ); + + foreach ($_SERVER as $header => $value) + if (strpos($header, "HTTP_") === 0) + $r["headers"][$header] = $value; + + $r["body"] = file_get_contents("php://input"); + $r["sha256"] = hash("sha256", $r["body"]); + + echo json_encode($r, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); + + ?> +``` + +## Python {#sample-python} + +Let's configure the following basic app, saved as **/www/wsgi.py**: + +```python +def application(environ, start_response): + start_response("200 OK", [("Content-Type", "text/plain")]) + return (b"Hello, Python on Unit!") +``` + +Upload the +[app config]({{< relref "/unit/configuration.md#configuration-python" >}}) +to Unit and test it: + +```console +# curl -X PUT --data-binary '{ + "listeners": { + "*:8080": { + "pass": "applications/python" + } + }, + "applications": { + "python": { + "type": "python", + "path": "/www/", + "module": "wsgi" + } + } + }' --unix-socket /path/to/control.unit.sock http://localhost/config/ # Path to Unit's control socket in your installation +``` + +```console +$ curl http://localhost:8080 + + Hello, Python on Unit! +``` + +Try this sample out with the Dockerfile +[ here](/unit/downloads/Dockerfile.python.txt) +or use a more elaborate app example: + +```python + import hashlib, json + + def application(env, start_response): + start_response("200 OK", [("Content-Type", + "application/json; charset=utf-8")]) + + r = {} + + r["message"] = "Unit reporting" + r["agent"] = "NGINX Unit {{< param "unitversion" >}}" + + r["headers"] = {} + for header in [_ for _ in env.keys() if _.startswith("HTTP_")]: + r["headers"][header] = env[header] + + bytes = env["wsgi.input"].read() + r["body"] = bytes.decode("utf-8") + r["sha256"] = hashlib.sha256(bytes).hexdigest() + + return json.dumps(r, indent=4).encode("utf-8") +``` + +## Ruby {#sample-ruby} + +Let's configure the following basic app, saved as **/www/config.ru**: + +```ruby +app = Proc.new do |env| + ["200", { + "Content-Type" => "text/plain", + }, ["Hello, Ruby on Unit!"]] +end + +run app +``` + +Upload the +[app config]({{< relref "/unit/configuration.md#configuration-ruby" >}}) +to Unit and test it: + +```console +# curl -X PUT --data-binary '{ + "listeners": { + "*:8080": { + "pass": "applications/ruby" + } + }, + "applications": { + "ruby": { + "type": "ruby", + "working_directory": "/www/", + "script": "config.ru" + } + } + }' --unix-socket /path/to/control.unit.sock http://localhost/config/ # Path to Unit's control socket in your installation +``` + +```console +$ curl http://localhost:8080 + + Hello, Ruby on Unit! +``` + +Try this sample out with the Dockerfile +[ here](/unit/downloads/Dockerfile.ruby.txt) +or use a more elaborate app example: + +```ruby + require "digest" + require "json" + + app = Proc.new do |env| + body = env["rack.input"].read + r = { + "message" => "Unit reporting", + "agent" => "NGINX Unit {{< param "unitversion" >}}", + "body" => body, + "headers" => env.select { |key, value| key.include?("HTTP_") }, + "sha256" => Digest::SHA256.hexdigest(body) + } + + ["200", { + "Content-Type" => "application/json; charset=utf-8", + }, [JSON.pretty_generate(r)]] + end; + + run app +``` + +## WebAssembly (Wasm) {#sample-wasm} + +{{< tabs name="web-assembly" >}} +{{% tab name="wasm-wasi-component" %}} + +Instead of dealing with bytecode, let's build a Unit-capable Rust app +and compile it into a WebAssembly (Wasm) component. + +Make sure you have the Rust toolchain (cargo, rustc, etc.) installed. +We recommend using [rustup](https://rustup.rs/) to get started. + +This example was built with **rustc** version 1.76.0. + +Start by adding the wasm32-wasi support as a compilation target for **rustc** + +```console +$ rustup target add wasm32-wasi +``` + +Next, install cargo component. This simplifies building a WebAssembly +component from Rust Code, making it the recommended method. + +```console +$ cargo install cargo-component +``` + +Currently, the fastest way to get started with WebAssembly components using WASI +0.2 wasi-http API is the **hello-wasi-http** demo application by +Dan Gohman. Clone the repository and build the component running +the following command: + +```console +$ git clone https://github.com/sunfishcode/hello-wasi-http +``` + +```console +$ cd hello-wasi-http +``` + +```console +$ cargo component build +``` + +The output of the build command should be similar to this: + +```console +$ cargo component build +Compiling hello-wasi-http v0.0.0 (/home/unit-build/hello-wasi-http) +Finished dev [unoptimized + debuginfo] target(s) in 0.17s +Creating component /home/unit-build/hello-wasi-http/target/wasm32-wasi/debug/hello_wasi_http.wasm +$ +``` + +This creates a WebAssembly component you can deploy on Unit using the +following Unit configuration. Make sure you point the **component** path +to the WebAssembly component you have just created. Create a +**config.json** file: + +```json +{ + "listeners": { + "127.0.0.1:8080": { + "pass": "applications/wasm" + } + }, + "applications": { + "wasm": { + "type": "wasm-wasi-component", + "component": "/home/unit-build/hello-wasi-http/target/wasm32-wasi/debug/hello_wasi_http.wasm" + } + } +} +``` + +Apply the Unit configuration by using the CLI: + +```console +$ unitc /config < config.json +``` + +Or by sending it manually to Units control API: + +```console +$ cat config.json | curl -X PUT -d @- --unix-socket /path/to/control.unit.sock http://localhost/config/ +``` + +Congratulations! You have created your very first WebAssembly component +on Unit! Send a GET Request to your configured listener. + +```console +$ curl http://localhost:8080 +``` + +{{% /tab %}} +{{% tab name="unit-wasm" %}} + +{{< warning >}} +Unit 1.32.0 and later support the WebAssembly component +Model and WASI 0.2 APIs. +We recommend to use the new implementation. +{{< /warning >}} + +Instead of dealing with bytecode, let's build a Unit-capable +Rust app and compile it into WebAssembly. + +{{< note >}} +Currently, WebAssembly support is provided as a Technology Preview. +This includes support for compiling Rust and C code into Unit-compatible WebAssembly, +using our SDK in the form of the the `libunit-wasm` library. +For details, see our `unit-wasm` [repository](https://github.com/nginx/unit-wasm) +on GitHub. +{{< /note >}} + +First, install the WebAssembly-specific Rust tooling: + +```console +$ rustup target add wasm32-wasi +``` + +Next, initialize a new Rust project with a library target +(apps are loaded by Unit's WebAssembly module as dynamic libraries). +Then, add our **unit-wasm** crate to enable the `libunit-wasm` library: + +```console +$ cargo init --lib wasm_on_unit +``` + +```console +$ cd wasm_on_unit/ +``` + +```console +$ cargo add unit-wasm +``` + +Append the following to **Cargo.toml**: + +```toml +[lib] +crate-type = ["cdylib"] +``` + +Save some sample code from our `unit-wasm` repo as **src/lib.rs**: + +```console +wget -O src/lib.rs https://raw.githubusercontent.com/nginx/unit-wasm/main/examples/rust/echo-request/src/lib.rs +``` + +Build the Rust module with WebAssembly as the target: + +```console +$ cargo build --target wasm32-wasi +``` + +This yields the **target/wasm32-wasi/debug/wasm_on_unit.wasm** file +(path may depend on other options). + +Upload the [app config]({{< relref "/unit/configuration.md#configuration-wasm" >}}) +to Unit and test it: + +```console +# curl -X PUT --data-binary '{ + "listeners": { + "127.0.0.1:8080": { + "pass": "applications/wasm" + } + }, + + "applications": { + "wasm": { + "type": "wasm", + "module": "/path/to/wasm_on_unit/target/wasm32-wasi/debug/wasm_on_unit.wasm", + "request_handler": "uwr_request_handler", + "malloc_handler": "luw_malloc_handler", + "free_handler": "luw_free_handler", + "module_init_handler": "uwr_module_init_handler", + "module_end_handler": "uwr_module_end_handler" + } + } +}' --unix-socket /path/to/control.unit.sock http://localhost/config/ # Path to Unit's control socket in your installation +``` + +```console +$ curl http://localhost:8080 + + * Welcome to WebAssembly in Rust on Unit! [libunit-wasm (0.3.0/0x00030000)] * + + [Request Info] + REQUEST_PATH = / + METHOD = GET + VERSION = HTTP/1.1 + QUERY = + REMOTE = 127.0.0.1 + LOCAL_ADDR = 127.0.0.1 + LOCAL_PORT = 8080 + SERVER_NAME = localhost + + [Request Headers] + Host = localhost:8080 + User-Agent = curl/8.2.1 + Accept = */* +``` + +Further, you can research the Unit-based WebAssembly app internals in more depth. +Clone the `unit-wasm` repository and build the examples in C and Rust +(may require `clang` and `lld`): + +```console +$ git clone https://github.com/nginx/unit-wasm/ +``` + +```console +$ cd unit-wasm +``` + +```console +$ make help # Explore your options first +``` + +```console +$ make WASI_SYSROOT=/path/to/wasi-sysroot/ examples # C examples +``` + +```console +$ make WASI_SYSROOT=/path/to/wasi-sysroot/ examples-rust # Rust examples +``` + +{{< note >}} +If the above commands fail like this: + +```console +wasm-ld: error: cannot open .../lib/wasi/libclang_rt.builtins-wasm32.a: No such file or directory +clang: error: linker command failed with exit code 1 (use -v to see invocation) +``` + +Download and install the library to `clang`'s run-time dependency directory: + +```console +$ wget -O- https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/libclang_rt.builtins-wasm32-wasi-20.0.tar.gz \ + | tar zxf - # Unpacks to lib/wasi/ in the current directory +``` + +```console +$ clang -print-runtime-dir # Double-check the run-time directory, which is OS-dependent + + /path/to/runtime/dir/linux +``` + +```console +# mkdir /path/to/runtime/dir/wasi # Note the last part of the pathname +``` + +```console +# cp lib/wasi/libclang_rt.builtins-wasm32.a /path/to/runtime/dir/wasi/ +``` + +{{< /note >}} + +{{% /tab %}} +{{< /tabs >}} diff --git a/content/unit/howto/security.md b/content/unit/howto/security.md new file mode 100644 index 000000000..790f5f9bd --- /dev/null +++ b/content/unit/howto/security.md @@ -0,0 +1,768 @@ +--- +title: Security checklist +weight: 800 +toc: true +--- + +At its core, Unit has security as one of its top priorities; our development +follows the appropriate best practices focused on making the code robust and +solid. However, even the most hardened system requires proper setup, +configuration, and maintenance. + +This guide lists the steps to protect your Unit from installation to individual +app configuration. + +{{< note >}} +The commands in this document starting with a hash (#) must be run as root or +with superuser privileges. +{{< /note >}} + +## Update Unit regularly {#security-update} + +**Rationale**: Each release introduces [bug fixes and new +features]({{< relref "/unit/changes.md" >}}) that improve your installation's security. + +**Actions**: Follow our latest [news](https://mailman.nginx.org/mailman3/lists/unit.nginx.org/) +and upgrade to new versions shortly after they are released. + +
+Details + + +Specific upgrade steps depend on your installation method: + +- The recommended option is to use our official + [packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) + or Docker + [images]({{< relref "/unit/installation.md#installation-docker" >}}); + with them, it's just a matter of updating + **unit-*** packages with your package manager of choice or + switching to a newer image. + +- If you use a third-party installation + [method]({{< relref "/unit/installation.md#installation-community-repos" >}}), + consult the maintainer's documentation for details. + +- If you install Unit from + [source files]({{< relref "/unit/howto/source.md" >}}), + rebuild and reinstall Unit and its modules from scratch. + +
+ +## Secure socket and state {#security-socket-state} + +**Rationale**: Your +[control socket and state directory]({{< relref "/unit/howto/source.md#source-dir" >}}) +provide unlimited access to Unit's configuration, which +calls for stringent protection. + +**Actions**: Default configuration in our +[official packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) +is usually sufficient; if you use another installation method, ensure the control +socket and the state directory are safe. + +
+Control socket + + + +If you use a UNIX control socket, ensure it is available to **root** +only: + +```console +$ unitd -h + + ... + --control ADDRESS set address of control API socket + default: "unix:/default/path/to/control.unit.sock" # Build-time setting, can be overridden + +$ ps ax | grep unitd + + ... unit: main {{< param "unitversionv" >}} [... --control /path/to/control.sock ...] # Make sure to check for runtime overrides + +# ls -l /path/to/control.unit.sock # If it's overridden, use the runtime setting + + srw------- 1 root root 0 ... /path/to/control.unit.sock + +``` + +UNIX domain sockets aren't network accessible; for remote access, use +[NGINX]({{< relref "/unit/howto/integration.md#nginx-secure-api" >}}) oor a solution such as SSH: + +```console +$ ssh -N -L ./here.sock:/path/to/control.unit.sock root@unit.example.com & # Local socket | Socket on the Unit server; use a real path in your command | Unit server hostname +``` + +```console +$ curl --unix-socket ./here.sock # Use the local socket to configure Unit + + { + "certificates": {}, + "config": { + "listeners": {}, + "applications": {} + } + } +``` + +If you prefer an IP-based control socket, avoid public IPs; they expose the +[control API]({{< relref "/unit/controlapi.md#configuration-api" >}}) +and all its capabilities. This means your Unit instance can be manipulated by +whomever is physically able to connect: + +```console +# unitd --control 203.0.113.14:8080 +``` + +```console +$ curl 203.0.113.14:8080 + + { + "certificates": {}, + "config": { + "listeners": {}, + "applications": {} + } + } +``` + +Instead, opt for the loopback address to ensure all access is local to your +server: + +```console +# unitd --control 127.0.0.1:8080 +``` + +```console +$ curl 203.0.113.14:8080 + + curl: (7) Failed to connect to 203.0.113.14 port 8080: Connection refused +``` + +However, any processes local to the same system can access the local socket, +which calls for additional measures. A go-to solution would be using NGINX +to [proxy]({{< relref "/unit/howto/integration.md#nginx-secure-api" >}}) +Unit's control API. + +
+ +
+State directory + + + +The state directory stores Unit's internal configuration between launches. +Avoid manipulating it or relying on its contents even if tempted to do so. +Instead, use only the control API to manage Unit's configuration. + +Also, the state directory should be available only to **root** (or the +user that the **main** +[process]({{< relref "/unit/howto/security.md#security-apps" >}}) +runs as): + +```console +$ unitd -h + + ... + --state DIRECTORY set state directory name + default: /default/path/to/unit/state/ # Build-time setting, can be overridden +``` + +```console +$ ps ax | grep unitd + + ... unit: main {{< param "unitversionv" >}} [... --state /path/to/unit/state/ ...] # Make sure to check for runtime overrides +``` + +```console +# ls -l /path/to/unit/state/ # If it's overridden, use the runtime setting + + drwx------ 2 root root 4096 ... +``` + +
+ +## Configure SSL/TLS {#security-ssl} + +**Rationale**: To protect your client connections in production scenarios, +configure SSL certificate bundles for your Unit installation. + +**Actions**: For details, see [SSL/TLS configuration]({{< relref "/unit/certificates.md#configuration-ssl" >}}) and [TLS with certbot]({{< relref "/unit/howto/certbot.md" >}}). + +## Error-proof your routes {#security-routes} + +**Rationale**: Arguably, [routes]({{< relref "/unit/configuration.md#configuration-routes" >}}) +are the most flexible and versatile part of the Unit configuration. Thus, they must be as +clear and robust as possible to avoid loose ends and gaping holes. + +**Actions**: Familiarize yourself with the +[matching]({{< relref "/unit/configuration.md#configuration-routes-matching" >}}) +logic and double-check all +[patterns]({{< relref "/unit/configuration.md#configuration-routes-matching-patterns" >}}) +that you use. + +
+Details + + + + +Some considerations: + +- Mind that + [variables]({{< relref "/unit/configuration.md#configuration-variables-native" >}}) + contain arbitrary user-supplied request values; variable-based **pass** values in + [listeners]({{< relref "/unit/configuration.md#configuration-listeners" >}}) + and + [routes]({{< relref "/unit/configuration.md#configuration-routes-action" >}}) + must account for malicious requests, or the requests must be properly filtered. + +- Create + [matching rules]({{< relref "/unit/configuration.md#configuration-routes-matching" >}}) + to formalize the restrictions of your Unit instance and the apps it runs. + +- Configure + [shares]({{< relref "/unit/configuration.md#configuration-static" >}}) + only for directories and files you intend to make public. + +
+ +## Protect app data {#security-apps} + +**Rationale**: Unit's architecture involves many processes that operate +together during app delivery; improper process permissions can make sensitive +files available across apps or even publicly. + +**Actions**: Properly configure your app directories and shares: apps and the +router process need access to them. Still, avoid loose rights such as the +notorious **777**, instead assigning them on a need-to-know basis. + +
+File permissions + + + +To configure file permissions for your apps, check Unit's build-time and +run-time options first: + +```console +$ unitd -h + + ... + --user USER # set non-privileged processes to run as specified user | default: unit_user (Build-time setting, can be overridden) + + --group GROUP set non-privileged processes to run as specified group + default: user's primary group +``` + +```console +$ ps ax | grep unitd + + ... unit: main {{< param "unitversionv" >}} [... --user unit_user --group unit_group ...] # Make sure to check for runtime overrides +``` + +In particular, this is the account the router process runs as. Use this +information to set up permissions for the app code or binaries and shared +static files. The main idea is to limit each app to its own files and +directories while simultaneously allowing Unit's router process to access +static files for all apps. + +Specifically, the requirements are as follows: + +- All apps should run as different users so that the permissions can be + configured properly. Even if you run a single app, it's reasonable to + create a dedicated user for added flexibility. + +- An app's code or binaries should be reachable for the user the app runs + as; the static files should be reachable for the router process. Thus, + each part of an app's directory path must have execute permissions + assigned for the respective users. + +- An app's directories should not be available to other apps or + non-privileged system users. The router process should be able to access + the app's static file directories. Accordingly, the app's directories + must have read and execute permissions assigned for the respective users. + +- The files and directories that the app is designed to update should + be writable only for the user the app runs as. + +- The app code should be readable (and executable in case of + [external]({{< relref "/unit/howto/modules.md#modules-ext" >}}) apps) + for the user the app runs as; the static content should be readable for the + router process. + +A detailed walkthrough to guide you through each requirement: + +1. If you have several independent apps, running them with a single user +account poses a security risk. Consider adding a separate system user +and group per each app: + + ```console + # useradd -M app_user # Add user account without home directory + ``` + + ```console + # groupadd app_group + ``` + + ```console + # usermod -L app_user # Deny interactive login + ``` + + ```console + # usermod -a -G app_group app_user # Add user to the group + ``` + + Even if you run a single app, this helps if you add more apps or need to + decouple permissions later. + +1. It's important to add Unit's non-privileged user account to *each* app +group: + + ```console + # usermod -a -G app_group unit_user + ``` + + Thus, Unit's router process can access each app's directory and serve + files from each app's shares. + +1. A frequent source of issues is the lack of permissions for directories +inside a directory path needed to run the app, so check for that if in +doubt. Assuming your app code is stored at **/path/to/app/**: + + ```console + # ls -l / + + # drwxr-xr-x some_user some_group path # Permissions are OK + ``` + + ```console + # ls -l /path/ + + # drwxr-x--- some_user some_group to # Permissions are too restrictive + ``` + + This may be a problem because the **to/** directory isn't owned by + **app_user:app_group** and denies all permissions to non-owners (as + the **---** sequence tells us), so a fix can be warranted: + + ```console + # chmod o+rx /path/to/ # Add read/execute permissions for non-owners + ``` + + Another solution is to add **app_user** to **some_group** + (assuming this was not done before): + + ```console + # usermod -a -G some_group app_user + ``` + +1. Having checked the directory tree, assign ownership and permissions for +your app's directories, making them reachable for Unit and the app: + + ```console + # chown -R app_user:app_group /path/to/app/ # Assign ownership for the app code | Path to the application directory; use a real path in your command + ``` + + ```console + # chown -R app_user:app_group /path/to/static/app/files/ # Assign ownership for the static files | Can be outside the app directory tree; use a real path in your command + ``` + + ```console + # find /path/to/app/ -type d -exec chmod u=rx,g=rx,o= {} \; # Path to the application directory; use a real path in your command | Add read/execute permissions to app code directories for user and group + ``` + + ```console + # find /path/to/static/app/files/ -type d -exec chmod u=rx,g=rx,o= {} \; # Can be outside the app directory tree; use a real path in your command | Add read/execute permissions to static file directories for user and group + ``` + +1. If the app needs to update specific directories or files, make sure +they're writable for the app alone: + + ```console + # chmod u+w /path/to/writable/file/or/directory/ # Add write permissions for the user only; the group shouldn't have them | Repeat for each file or directory that must be writable + ``` + + In case of a writable directory, you may also want to prevent non-owners + from messing with its files: + + ```console + # chmod +t /path/to/writable/directory/ # Sticky bit prevents non-owners from deleting or renaming files | Repeat for each directory that must be writable + + ``` + + {{< note >}} + Usually, apps store and update their data outside the app code + directories, but some apps may mix code and data. In such a case, + assign permissions on an individual basis, making sure you understand + how the app uses each file or directory: is it code, read-only + content, or writable data. + {{< /note >}} + +1. For [embedded]({{< relref "/unit/howto/modules.md#modules-emb" >}}) + apps, it's usually enough to make the + app code and the static files readable: + + ```console + # find /path/to/app/code/ -type f -exec chmod u=r,g=r,o= {} \; # Path to the application's code directory; use a real path in your command | Add read rights to app code for user and group + ``` + + ```console + # find /path/to/static/app/files/ -type f -exec chmod u=r,g=r,o= {} \; # Can be outside the app directory tree; use a real path in your command | Add read rights to static files for user and group + ``` + +1. For + [external]({{< relref "/unit/howto/modules.md#modules-ext" >}}) + apps, additionally make the app code or binaries executable: + + ```console + # find /path/to/app/ -type f -exec chmod u=rx,g=rx,o= {} \; # Path to the application directory; use a real path in your command | Add read and execute rights to app code for user and group + ``` + + ```console + # find /path/to/static/app/files/ -type f -exec chmod u=r,g=r,o= {} \; # Can be outside the app directory tree; use a real path in your command | Add read rights to static files for user and group + ``` + +1. To run a single app, [configure]({{< relref "/unit/configuration.md" >}}) + Unit as follows: + + ```json + { + "listeners": { + "*:80": { /* Or another suitable socket address */ + "pass": "routes" + } + }, + + "routes": [ + { + "action": { + "share": "/path/to/static/app/files/$uri", + /* Router process needs read and execute permissions to serve static content from this directory */ + "fallback": { + "pass": "applications/app" + } + } + } + ], + + "applications": { + "app": { + "type": "...", + "user": "app_user", + "group": "app_group" + } + } + } + ``` + +1. To run several apps side by side, + [configure]({{< relref "/unit/configuration.md" >}}) + them with appropriate user and group names. The following + configuration distinguishes apps based on the request URI, but you can + implement another scheme such as different listeners: + + ```json + { + "listeners": { + "*:80": { /* Or another suitable socket address */ + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "uri": "/app1/*" /* Arbitrary matching condition */ + }, + + "action": { + "share": "/path/to/static/app1/files/$uri", + /* Router process needs read and execute permissions to serve static content from this directory */ + "fallback": { + "pass": "applications/app1" + } + } + }, + + { + "match": { + "uri": "/app2/*" /* Arbitrary matching condition */ + }, + + "action": { + "share": "/path/to/static/app2/files/$uri", + /* Router process needs read and execute permissions to serve static content from this directory */ + "fallback": { + "pass": "applications/app2" + } + } + } + ], + + "applications": { + "app1": { + "type": "...", + "user": "app_user1", + "group": "app_group1" + }, + + "app2": { + "type": "...", + "user": "app_user2", + "group": "app_group2" + } + } + } + ``` + +{{< note >}} +As usual with permissions, different steps may be required if you use +ACLs. +{{< /note >}} +
+ +
+App internals + + + +Unfortunately, quite a few web apps are built in a manner that mixes their +source code, data, and configuration files with static content, which calls +for complex access restrictions. The situation is further aggravated by the +inevitable need for maintenance activities that may leave a footprint of +extra files and directories unrelated to the app's operation. The issue has +several aspects: + +- Storage of code and data at the same locations, which usually happens by +(insufficient) design. You neither want your internal data and code files +to be freely downloadable nor your user-uploaded data to be executable as +code, so configure your routes and apps to prevent both. + +- Exposure of configuration data. Your app-specific settings, **.ini** +or **.htaccess** files, and credentials are best kept hidden from +prying eyes, and your routing configuration should reflect that. + +- Presence of hidden files from versioning, backups by text editors, and +other temporary files. Instead of carving your configuration around +these, it's best to keep your app free of them altogether. + +If these can't be avoided, investigate the inner workings of the app to +prevent exposure, for example: + +```json + { + "routes": { + "app": [ + { + "match": { + "uri": [ + "*.php", + "*.php/*" + ] + /* Handles requests that target PHP scripts to avoid having them served as static files */ + }, + + "action": { + "pass": "applications/app/direct" + } + }, + { + "match": { + "uri": [ + "!/sensitive/*", /* Restricts access to a directory with sensitive data */ + "!/data/*", /* Restricts access to a directory with sensitive data */ + "!/app_config_values.ini", /* Restricts access to a specific file */ + "!*/.*", /* Restricts access to hidden files and directories */ + "!*~" /* Restricts access to temporary files */ + ] + /* Protects files and directories best kept hidden */ + }, + + "action": { + "share": "/path/to/app/static$uri", + /* Serves valid requests with static content | Path to the application's static file directory; use a real path in your configuration */ + + "types": [ + "image/*", + "text/*", + "application/javascript" + ] + /* Limits file types served from the share */ + + "fallback": { + "pass": "applications/app/index" + } + /* Relays all requests not yet served to a catch-all app target */ + } + } + ] + } + } + +``` + +However, this does not replace the need to set up file permissions; use both +[matching rules]({{< relref "/unit/configuration.md#configuration-routes-matching" >}}) +and per-app user +permissions to manage access. For more info and real-life examples, refer +to our app [how-tos]({{< relref "/unit/howto/" >}}). +and the 'File Permissions' callout above. +
+ +
+Unit's process summary + + + +Unit's processes are detailed [elsewhere](https://www.nginx.com/blog/introducing-nginx-unit/), +but here's a synopsis of the different roles they have: + +{{}} +| Process | Privileged? | User and Group | Description | +|--------------|------------|---------------------------------------------------------|-------------| +| **Main** | Yes | Whoever starts the **unitd** executable

; by default, **root**. | Runs as a daemon, spawning Unit's non-privileged and app processes; requires numerous system capabilities and privileges for operation. | +| **Controller** | No | Set by `--user` and `--group` options at [build]({{< relref "/unit/howto/source.md#source-config-src" >}}) or [execution]({{< relref "/unit/howto/source.md#source-startup" >}})

; by default, **unit**. | Serves the control API, accepting reconfiguration requests, sanitizing them, and passing them to other processes for implementation. | +| **Discovery** | No | Set by `--user` and `--group` options at [build]({{< relref "/unit/howto/source.md#source-config-src" >}}) or [execution]({{< relref "/unit/howto/source.md#source-startup" >}})

; by default, **unit**. | Discovers the language modules in the module directory at startup, then quits. | +| **Router** | No | Set by `--user` and `--group` options at [build]({{< relref "/unit/howto/source.md#source-config-src" >}}) or [execution]({{< relref "/unit/howto/source.md#source-startup" >}})

; by default, **unit**. | Serves client requests, accepting them, processing them on the spot, passing them to app processes, or proxying them further; requires access to static content paths you configure. | +| **App processes** | No | Set by per-app **user** and **group** [options]({{< relref "/unit/configuration.md#configuration-applications" >}})

; by default, `--user` and `--group` values. | Serve client requests that are routed to apps; require access to paths and namespaces you configure for the app. | +{{
}} + + +You can check all of the above on your system when Unit is running: + +```console + $ ps aux | grep unit + + ... + root ... unit: main {{< param "unitversionv" >}} + unit ... unit: controller + unit ... unit: router + unit ... unit: "front" application +``` + +The important outtake here is to understand that Unit's non-privileged +processes don't require running as **root**. Instead, they should have +the minimal privileges required to operate, which so far means the ability +to open connections and access the application code and the static files +shared during routing. + +
+ +## Prune debug and access logs {#security-logs} + +**Rationale**: Unit stores potentially sensitive data in its general and access +logs; their size can also become a concern if debug mode is enabled. + +**Actions**: Secure access to the logs and ensure they don't exceed the allowed +disk space. + +
+Details + + + +Unit can maintain two different logs: + +- A general-purpose log that is enabled by default and can be switched to +debug mode for verbosity. + +- An access log that is off by default but can be enabled via the control +API. + +If you enable debug-mode or access logging, rotate these logs with tools +such as `logrotate` to avoid overgrowth. A sample +`logrotate` [configuration](https://man7.org/linux/man-pages/man8/logrotate.8.html#CONFIGURATION_FILE_DIRECTIVES): + +```none +/path/to/unit.log { # Use a real path in your configuration + daily + missingok + rotate 7 + compress + delaycompress + nocreate + notifempty + su root root + postrotate + if [ -f `/path/to/unit.pid` ]; then + /bin/kill -SIGUSR1 `cat /path/to/unit.pid` # Use a real path in your configuration + fi + endscript +} +``` + +To figure out the log and PID file paths: + +```console +$ unitd -h + + ... + --pid FILE set pid filename + default: "/default/path/to/unit.pid" # Build-time setting, can be overridden + + --log FILE set log filename + default: "/default/path/to/unit.log " # Build-time setting, can be overridden + +$ ps ax | grep unitd + + ... unit: main {{< param "unitversionv" >}} [... --pid /path/to/unit.pid --log /path/to/unit.log...] # Make sure to check for runtime overrides +``` + +Another issue is the logs' accessibility. Logs are opened and updated by +the +[main process]({{< relref "/unit/howto/security.md#security-apps" >}}) +that usually runs as **root**. +However, to make them available for a certain consumer, you may need to +enable access for a dedicated user that the consumer runs as. + +Perhaps, the most straightforward way to achieve this is to assign log +ownership to the consumer's account. Suppose you have a log utility running +as **log_user:log_group**: + +```console +# chown log_user:log_group :/path/to/unit.log # If it's overridden, use the runtime setting +``` + +```console +curl -X PUT -d '"/path/to/access.log"' \ + --unix-socket /path/to/control.unit.sock \ + http://localhost/config/access_log +``` + + +```console +# chown log_user:log_group /path/to/access.log # Use a real path in your command> +``` + +If you change the log file ownership, adjust your `logrotate` +settings accordingly: + +```none +/path/to/unit.log { + ... + su log_user log_group + ... +} +``` + +{{< note >}} +As usual with permissions, different steps may be required if you use +ACLs. +{{< /note >}} + +
+ +## Add restrictions, isolation {#security-isolation} + +**Rationale**: If the underlying OS allows, Unit provides features that create an +additional level of separation and containment for your apps, such as: + +- Share [path restrictions]({{< relref "/unit/configuration.md#configuration-share-path" >}}) +- Namespace and file system root + [isolation]({{< relref "/unit/configuration.md#configuration-proc-mgmt-isolation" >}}) + +**Actions**: For more details, see our blog posts on [path restrictions](https://www.nginx.com/blog/nginx-unit-updates-for-summer-2021-now-available/#Static-Content:-Chrooting-and-Path-Restrictions), +[namespace](https://www.nginx.com/blog/application-isolation-nginx-unit/) and +[file system](https://www.nginx.com/blog/filesystem-isolation-nginx-unit/) +isolation. diff --git a/content/unit/howto/source.md b/content/unit/howto/source.md new file mode 100644 index 000000000..917af6855 --- /dev/null +++ b/content/unit/howto/source.md @@ -0,0 +1,873 @@ +--- +title: Building from source +weight: 300 +toc: true +--- + +After you've obtained Unit's +[source code]({{< relref "/unit/installation.md#source" >}}), configure +and compile it to fine-tune and run a custom Unit build. + +{{< note >}} +The commands in this document starting with a hash (#) must be run as root or +with superuser privileges. +{{< /note >}} + +## Installing Required Software {#source-prereq-build} + +Before configuring and compiling Unit, install the required build tools and the +library files for the required languages (Go, Java, Node.js, PHP, +Perl, Python, and Ruby are supported) and all other features you want in your +Unit, such as TLS or regular expressions. + +The commands below assume you are configuring Unit with all supported languages +and features (**X**, **Y**, and **Z** denote major, minor, and +revision numbers, respectively); omit the packages you won't use. + +{{< tabs name="prereq" >}} + +{{% tab name="Debian, Ubuntu" %}} + +```console +# apt install build-essential +``` + +```console +# apt install golang +``` + +```console +# apt install curl && \ + curl -sL https://deb.nodesource.com/setup_VERSION.x | bash - && \ # Node.js 8.11 or later is supported + apt install nodejs +``` + +```console +# npm install -g node-gyp +``` + +```console +# apt install php-dev libphp-embed +``` + +```console +# apt install libperl-dev +``` + +```console +# apt install pythonX-dev # Both Python 2 and Python 3 are supported +``` + +```console +# apt install ruby-dev ruby-rack +``` + +```console +# apt install openjdk-X-jdk # Java 8 or later is supported. Different JDKs may be used +``` + +```console +# apt install libssl-dev +``` + +```console +# apt install libpcre2-dev +``` + +{{% /tab %}} + +{{% tab name="Amazon, Fedora, RHEL" %}} + +```console +# yum install gcc make +``` + +```console +# yum install golang +``` + +```console +# yum install curl && \ + curl -sL https://rpm.nodesource.com/setup_VERSION.x | bash - && \ # Node.js 8.11 or later is supported + yum install nodejs +``` + +```console +# npm install -g node-gyp +``` + +```console +# yum install php-devel php-embedded +``` + +```console +# yum install perl-devel perl-libs +``` + +```console +# yum install pythonX-devel # Both Python 2 and Python 3 are supported +``` + +```console +# yum install ruby-devel rubygem-rack +``` + +```console +# yum install java-X.Y.Z-openjdk-devel # Java 8 or later is supported. Different JDKs may be used +``` + +```console +# yum install openssl-devel +``` +```console +# yum install pcre2-devel +``` + +{{% /tab %}} + +{{% tab name="FreeBSD" %}} + +Ports: + +```console +# cd /usr/ports/lang/go/ && make install clean +``` + +```console +# cd /usr/ports/www/node/ && make install clean +``` + +```console +# cd /usr/ports/www/npm/ && make install clean && npm i -g node-gyp +``` + +```console +# cd /usr/ports/lang/phpXY/ && make install clean # PHP versions 5, 7, and 8 are supported +``` + +```console +# cd /usr/ports/lang/perlX.Y/ && make install clean # Perl 5.12 or later is supported +``` + +```console +# cd /usr/ports/lang/python/ && make install clean +``` + +```console +# cd /usr/ports/lang/rubyXY/ && make install clean # Ruby 2.0 or later is supported +``` + +```console +# cd /usr/ports/java/openjdkX/ && make install clean # Java 8 or later is supported. Different JDKs may be used +``` + +```console +# cd /usr/ports/security/openssl/ && make install clean +``` + +```console +# cd /usr/ports/devel/pcre2/ && make install clean +``` + +Packages: + +```console +# pkg install go +``` + +```console +# pkg install node && pkg install npm && npm i -g node-gyp +``` + +```console +# pkg install phpXY # PHP versions 5, 7, and 8 are supported +``` + +```console +# pkg install perlX # Perl 5.12 or later is supported +``` + +```console +# pkg install python +``` + +```console +# pkg install rubyXY # Ruby 2.0 is supported +``` + +```console +# pkg install openjdkX # Java 8 or later is supported. Different JDKs may be used +``` + +```console +# pkg install openssl +``` + +```console +# pkg install pcre2 +``` + +{{% /tab %}} + +{{% tab name="Solaris" %}} + +```console +# pkg install golang +``` + +```console +# pkg install php-XY # PHP versions 5, 7, and 8 are supported +``` + +```console +# pkg install ruby +``` + +```console +# pkg install jdk-X # Java 8 or later is supported. Different JDKs may be used +``` + +```console +# pkg install openssl +``` + +```console +# pkg install pcre +``` + +Also, use `gmake` instead of `make` when [building +and installing]({{< relref "/unit/howto/source.md#source-bld-src" >}}) Unit on Solaris. + +{{% /tab %}} + +{{< /tabs >}} + +
+Enabling njs + + + +To build Unit with [njs](https://nginx.org/en/docs/njs/) support, +download the `njs` code to the same parent directory as the Unit code. + +**0.8.2** is the latest version of `njs` that Unit supports. +Make sure you are in the correct branch before configuring the binaries. + +```console +$ git clone https://github.com/nginx/njs.git +``` + +```console +$ cd njs +``` + +```console +$ git checkout -b 0.8.2 0.8.2 +``` + +Next, configure and build the `njs` binaries. Make sure to use the +`--no-zlib` and `--no-libxml2` options to avoid +conflicts with Unit's dependencies: + +```console +$ ./configure --no-zlib --no-libxml2 && make # Ensures Unit can link against the resulting library +``` + +Point to the resulting source and build directories when +[configuring]({{< relref "/unit/howto/source.md#source-config-src-njs" >}}) +the Unit code. + +--- +
+ +
+Enabling WebAssembly + + +{{< tabs name="source-enable-webassembly" >}} +{{% tab name="wasm-wasi-component" %}} + +To build Unit with support for the WebAssembly Component Model, +you need **rust** version 1.76.0+, **cargo** and the developer +package for **clang** as mentioned in the +[Required Software]({{< relref "/unit/howto/source.md#source-prereq-build" >}}) +section. + +Next please refer to +[Configuring Modules - WebAssembly]({{< relref "/unit/howto/source.md#modules-webassembly" >}}) +for further instructions. + +{{% /tab %}} +{{% tab name="unit-wasm" %}} + +{{< warning >}} +The **unit-wasm** module is deprecated. We recommend using **wasm-wasi-component** instead, +available in Unit 1.32.0 and later, which supports WebAssembly Components using +standard WASI 0.2 interfaces. +{{< /warning >}} + +To build Unit with the [WebAssembly](https://webassembly.org) +language module, you need the [Wasmtime](https://wasmtime.dev) runtime. +Download the C API [files](https://github.com/bytecodealliance/wasmtime/releases/) +suitable for your OS and architecture to the same parent directory as the Unit code, +for example: + +```console + $ cd .. +``` + +```console +$ wget -O- https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.0/wasmtime-v12.0.0-x86_64-linux-c-api.tar.xz \ + | tar Jxf - # Unpacks to the current directory +``` + +Point to the resulting **include** and **lib** directories when +[configuring]({{< relref "/unit/howto/source.md#source-modules-webassemble" >}}) +the Unit code. + +To build WebAssembly apps that run on Unit, you need +the +[wasi-sysroot](https://github.com/WebAssembly/wasi-sdk) SDK: + +```console +$ wget -O- https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sysroot-20.0.tar.gz | tar zxf - +``` + +When building the apps, add the following environment variable: + +```console + WASI_SYSROOT=/path/to/wasi-sysroot-dir/ # wasi-sysroot directory +``` + +{{% /tab %}} +{{< /tabs >}} +
+ +--- + +## Configuring Sources {#source-config-src} + +To run system compatibility checks and generate a **Makefile** with core +build instructions for Unit: + +```console +$ ./configure COMPILE-TIME OPTIONS +``` + +See the table belo for common options. + +Finalize the resulting **Makefile** by configuring the +[language modules]({{< relref "/unit/howto/source.md#source-modules" >}}). +you need before proceeding further. + +General options and settings that control compilation, runtime privileges, +or support for certain features: + +{{}} + +| Option | Description | +|--------|------------| +| **--help** | Displays a summary of common `./configure` options.

For language-specific details, run `./configure --help` or see [below](#source-modules). | +| **--cc=pathname** | Custom C compiler pathname.

The default is **cc**. | +| **--cc-opt=options**, **--ld-opt=options** | Extra options for the C compiler and linker. | +| **--group=name**, **--user=name** | Group name and username to run Unit's non-privileged [processes]({{< relref "/unit/howto/security.md#security-apps" >}}).

The defaults are **--user**'s primary group and **nobody**, respectively. | +| **--debug** | Turns on the [debug log]({{< relref "/unit/troubleshooting.md#troubleshooting-dbg-log" >}}). | +| **--no-ipv6** | Turns off IPv6 support. | +| **--no-unix-sockets** | Turns off UNIX domain sockets support for control and routing. | +| **--openssl** | Turns on OpenSSL support. Make sure OpenSSL (1.0.1+) header files and libraries are in your compiler's path; it can be set with the **--cc-opt** and **--ld-opt** options or the **CFLAGS** and **LDFLAGS** environment variables when running `./configure`.

For details of TLS configuration in Unit, see [configuration-ssl]({{< relref "/unit/certificates#configuration-ssl" >}}). | + +{{
}} + + + + +By default, Unit relies on the locally installed version of the [PCRE](https://www.pcre.org) library to support regular expressions in +[routes]({{< relref "/unit/configuration.md#configuration-routes" >}}); +if both major versions are present, Unit selects PCRE2. Two additional options +alter this behavior: + +{{}} + +| Option | Description | +|--------|------------| +| **--no-regex** | Turns off regex support; any attempts to use a regex in Unit configuration cause an error. | +| **--no-pcre2** | Ignores PCRE2; the older PCRE 8.x library is used instead. | + +{{}} + + + + +Unit also supports the use of [njs](https://nginx.org/en/docs/njs/) scripts +in configuration; to enable this feature, use the respective option: + +{{}} + +| Option | Description | +|---------|------------| +| **--njs** | Turns on `njs` support; requires **--openssl**. | + +{{}} + + +When `--njs` is enabled, the `--cc-opt` and `--ld-opt` option values should +point to the **src/** and **build/** subdirectories of the `njs` source code. +For example, if you cloned the `njs` repo beside the Unit repo: + +```console +$ ./configure --njs --openssl \ + --cc-opt="-I../njs/src/ -I../njs/build/" \ + --ld-opt="-L../njs/build/" \ + ... +``` + +The next option group customizes Unit's runtime +[directory structure]({{< relref "/unit/howto/source.md#source-dir" >}}): + +{{}} + +| Option | Description | +|--------|------------| +| **--prefix=PREFIX** | Destination directory prefix for [path options]({{< relref "/unit/howto/source.md#source-dir" >}}): `--bindir`, `--sbindir`, `--includedir`, `--libdir`, `--modulesdir`, `--datarootdir`, `--mandir`, `--localstatedir`, `--libstatedir`, `--runstatedir`, `--logdir`, `--tmpdir`, `--control`, `--pid`, `--log`.

The default is **/usr/local**. | +| **--exec-prefix=EXEC_PREFIX** | Destination directory prefix for the executable directories only.

The default is the **PREFIX** value. | +| **--bindir=BINDIR**, **--sbindir=SBINDIR** | Directory paths for client and server executables.

The defaults are **EXEC_PREFIX/bin** and **EXEC_PREFIX/sbin**. | +| **--includedir=INCLUDEDIR**, **--libdir=LIBDIR** | Directory paths for `libunit` header files and libraries.

The defaults are **PREFIX/include** and **EXEC_PREFIX/lib**. | +| **--modulesdir=MODULESDIR** | Directory path for Unit's language [modules]({{< relref "/unit/howto/modules.md" >}}).

The default is **LIBDIR/unit/modules**. | +| **--datarootdir=DATAROOTDIR**, **--mandir=MANDIR** | Directory path for **unitd(8)** data storage and its subdirectory where the `man` page is installed.

The defaults are **PREFIX/share** and **DATAROOTDIR/man**. | +| **--localstatedir=LOCALSTATEDIR** | Directory path where Unit stores its runtime state, PID file, control socket, and logs.

The default is **PREFIX/var**. | +| **--libstatedir=LIBSTATEDIR** | Directory path where Unit's runtime state (configuration, certificates, other resources) is stored between runs. If you migrate your installation, copy the entire directory.

**Warning:** The directory is sensitive and must be owned by **root** with **700** permissions. Don't change its contents externally; use the config API to ensure integrity.

The default is **LOCALSTATEDIR/run/unit**. | +| **--logdir=LOGDIR**, **--log=LOGFILE** | Directory path and filename for Unit's [log]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}).

The defaults are **LOCALSTATEDIR/log/unit** and **LOGDIR/unit.log**. | +| **--runstatedir=RUNSTATEDIR** | Directory path where Unit stores its PID file and control socket.

The default is **LOCALSTATEDIR/run/unit**. | +| **--pid=pathname** | Pathname for the PID file of Unit's `main` [process]({{< relref "/unit/howto/security.md#security-apps" >}}).

The default is **RUNSTATEDIR/unit.pid**. | +| **--control=SOCKET** | [Control API]({{< relref "/unit/controlapi.md#configuration-mgmt" >}}) socket address in IPv4, IPv6, or UNIX domain format:

`$ ./configure --control=127.0.0.1:8080`
`$ ./configure --control=[::1]:8080`
`$ ./configure --control=unix:/path/to/control.unit.sock` (Note the `unix:` prefix).

**Warning:** Avoid exposing an unprotected control socket in public networks. Use [NGINX]({{< relref "/unit/howto/integration.md#nginx-secure-api" >}}) or a different solution such as SSH for security and authentication.

The default is **unix:RUNSTATEDIR/control.unit.sock**, created as **root** with **600** permissions. | +| **--tmpdir=TMPDIR** | Defines the temporary file storage location (used to dump large request bodies). The default value is **/tmp**. | + +{{
}} + +### Directory Structure {#source-dir} + +By default, `make install` installs Unit at the following pathnames: + +{{}} + +| Directory | Default Path | +|-----------|-------------| +| **bin** directory | **/usr/local/bin/** | +| **sbin** directory | **/usr/local/sbin/** | +| **lib** directory | **/usr/local/lib/** | +| **include** directory | **/usr/local/include/** | +| **tmp** directory | **/tmp/** | +| Man pages | **/usr/local/share/man/** | +| Language modules | **/usr/local/lib/unit/modules/** | +| Runtime state | **/usr/local/var/lib/unit/** | +| PID file | **/usr/local/var/run/unit/unit.pid** | +| Log file | **/usr/local/var/log/unit/unit.log** | +| Control API socket | **unix:/usr/local/var/run/unit/control.unit.sock** | + +{{}} + + +The defaults are designed to work for most cases; to customize this layout, +set the `--prefix` and its related options during +[configuration]({{< relref "/unit/howto/source.md#source-config-src-prefix" >}}). +defining the resulting file structure. + +## Configuring Modules {#source-modules} + +Next, configure a module for each language you want to use with Unit. The +`./configure ` commands set up individual language modules +and place module-specific instructions in the **Makefile**. + +{{< note >}} +To run apps in several versions of a language, build and install a module +for each version. To package custom modules, see the module +[howto]({{< relref "/unit/howto/modules.md#modules-pkg" >}}). +{{< /note >}} + +{{< tabs name="modules" >}} +{{% tab name="Go" %}} + +When you run `./configure go`, Unit sets up the Go package that +lets your applications +[run on Unit]({{< relref "/unit/configuration.md#configuration-go" >}}). +To use the package, +[install]({{< relref "/unit/howto/source.md#source-bld-src-ext" >}}) +it in your Go environment. Available configuration options: + +{{}} + +| Option | Description | +|--------|-------------| +| **--go=pathname** | Specific Go executable pathname, also used in [make]({{< relref "/unit/howto/source.md#source-bld-src-ext" >}}) targets.

The default is **go**. | +| **--go-path=directory** | Custom directory path for Go package installation.

The default is **$GOPATH**. | + +{{
}} + + +{{< note >}} +Running `./configure go` doesn't alter the `GOPATH` +[environment variable](https://github.com/golang/go/wiki/GOPATH), so +configure-time `--go-path` and compile-time `$GOPATH` +must be coherent for Go to find the resulting package. + +```console +$ GOPATH= GO111MODULE=auto go build -o app app.go # App executable name and source code>` +``` +{{< /note >}} + +{{% /tab %}} +{{% tab name="Java" %}} + +When you run `./configure java`, the script configures a module +to support running [Java Web Applications](https://download.oracle.com/otndocs/jcp/servlet-3_1-fr-spec/index.html) +on Unit. Available command options: + +{{}} + +| Option | Description | +|--------|-------------| +| **--home=directory** | Directory path for Java utilities and header files to build the module.

The default is the **java.home** setting. | +| **--jars=directory** | Directory path for Unit's custom **.jar** files.

The default is the Java module path. | +| **--lib-path=directory** | Directory path for the **libjvm.so** library.

The default is based on JDK settings. | +| **--local-repo=directory** | Directory path for the local **.jar** repository.

The default is **$HOME/.m2/repository/**. | +| **--repo=directory** | URL path for the remote Maven repository.

The default is **http://central.maven.org/maven2/**. | +| **--module=basename** | Resulting module's name (**.unit.so**), also used in [make]({{< relref "/unit/howto/source.md#source-bld-src-emb" >}}) targets.

The default is **java**. | + +{{
}} + +To configure a module called **java11.unit.so** with OpenJDK +11.0.1: + +```console +$ ./configure java --module=java11 \ + --home=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home +``` + +{{% /tab %}} +{{% tab name="Node.js" %}} + +When you run `./configure nodejs`, Unit sets up the +`unit-http` module that lets your applications +[run on Unit]({{< relref "/unit/configuration.md#configuration-nodejs" >}}). +Available configuration options: + +{{}} + +| Option | Description | +|--------|-------------| +| **--local=directory** | Local directory path where the resulting module is installed.

By default, the module is installed globally [(recommended)](/unit/installation.md#installation-nodejs-package). | +| **--node=pathname** | Specific Node.js executable pathname, also used in [make]({{< relref "/unit/howto/source.md#source-bld-src-emb" >}}) targets.

The default is **node**. | +| **--npm=pathname** | Specific `npm` executable pathname.

The default is **npm**. | +| **--node-gyp=pathname** | Specific `node-gyp` executable pathname.

The default is **node-gyp**. | + +{{
}} + +{{% /tab %}} +{{% tab name="Perl" %}} + +When you run `./configure perl`, the script configures a module +to support running Perl scripts as applications on Unit. Available +command options: + +{{}} + +| Option | Description | +|--------|-------------| +| **--perl=pathname** | Specific Perl executable pathname.

The default is **perl**. | +| **--module=basename** | Resulting module's name (**.unit.so**), also used in [make]({{< relref "/unit/howto/source.md#source-bld-src-emb" >}}) targets.

The default is the filename of the `--perl` executable. | + +{{
}} + +To configure a module called **perl-5.20.unit.so** for Perl +5.20.2: + +```console + $ ./configure perl --module=perl-5.20 \ + --perl=perl5.20.2 +``` + +{{% /tab %}} +{{% tab name="PHP" %}} + +When you run `./configure php`, the script configures a custom +SAPI module linked with the `libphp` library to support running +PHP applications on Unit. Available command options: + +{{}} + +| Option | Description | +|--------|-------------| +| **--config=pathname** | Pathname of the `php-config` script used to set up the resulting module.

The default is **php-config**. | +| **--lib-path=directory** | Directory path of the `libphp` library file (**libphp*.so** or **libphp*.a**), usually available with an `--enable-embed` PHP build. | +| **--lib-static** | Links the static `libphp` library (**libphp*.a**) instead of the dynamic one (**libphp*.so**); requires `--lib-path`. | +| **--module=basename** | Resulting module's name (**.unit.so**), also used in [make]({{< relref "/unit/howto/source.md#source-bld-src-emb" >}}) targets.

The default is `--config`'s filename minus the `-config` suffix; thus, **--config=/path/php7-config** yields **php7.unit.so**. | + +{{
}} + + +To configure a module called **php70.unit.so** for PHP 7.0: + +```console + $ ./configure php --module=php70 \ + --config=/usr/lib64/php7.0/bin/php-config \ + --lib-path=/usr/lib64/php7.0/lib64 +``` + +{{% /tab %}} +{{% tab name="Python" %}} + +When you run `./configure python`, the script configures a +module to support running Python scripts as applications on Unit. +Available command options: + +{{}} + +| Option | Description | +|--------|-------------| +| **--config=pathname** | Pathname of the `python-config` script used to set up the resulting module.

The default is **python-config**. | +| **--lib-path=directory** | Custom directory path of the Python runtime library to use with Unit. | +| **--module=basename** | Resulting module's name (**.unit.so**), also used in [make]({{< relref "/unit/howto/source.md#source-bld-src-emb" >}}) targets.

The default is `--config`'s filename minus the `-config` suffix; thus, **/path/python3-config** turns into **python3**. | + +{{
}} + + +{{< note >}} +The Python interpreter set by `python-config` must be +compiled with the `--enable-shared` [option](https://docs.python.org/3/using/configure.html#linker-options). +{{< /note >}} + +To configure a module called **py33.unit.so** for Python 3.3: + +```console +$ ./configure python --module=py33 \ + --config=python-config-3.3 +``` +{{% /tab %}} +{{% tab name="Ruby" %}} + +When you run `./configure ruby`, the script configures a module +to support running Ruby scripts as applications on Unit. Available +command options: + +{{}} +| Option | Description | +|-----------------------|-----------------------------------------------------------------------------| +| **--module=basename** | Resulting module's name (**.unit.so**), also used in [make]({{< relref "/unit/howto/source.md#source-bld-src-emb" >}}) targets.

The default is the filename of the `--ruby` executable. | +| **--ruby=pathname** | Specific Ruby executable pathname.

The default is **ruby**. | +{{
}} + + +To configure a module called **ru23.unit.so** for Ruby 2.3: + +```console + $ ./configure ruby --module=ru23 \ + --ruby=ruby23 +``` + +{{% /tab %}} +{{% tab name="WebAssembly" %}} + +When you run `./configure wasm-wasi-component`, +the script configures a module to support running WebAssembly +components on Unit. + +The module doesn't accept any extra configuration parameters. +The module's basename is wasm-wasi-component. + +{{% /tab %}} +{{% tab name="Unit-Wasm" %}} + +{{< warning >}} +Unit 1.32.0 and later support the WebAssembly Component Model and WASI +0.2 APIs. +We recommend using the new implementation. +{{< /warning >}} + +When you run `./configure wasm`, the script configures a module +to support running WebAssembly applications on Unit. +Available command options: + +{{}} +| Option | Description | +|-----------------------|-----------------------------------------------------------------------------| +| **--module=basename** | Resulting module's name (**.unit.so**), also used in [make]({{< relref "/unit/howto/source.md#source-bld-src-emb" >}}) targets. | +| **--runtime=basename** | The WebAssembly runtime to use.

The default is **wasmtime**. | +| **--include-path=path**| The directory path to the runtime's header files. | +| **--lib-path=path** | The directory path to the runtime's library files. | +| **--rpath=** | The directory path that designates the run-time library search path.

If specified without a value, assumes the **--lib-path** value. | +{{
}} + + +To configure a module called **wasm.unit.so**: + +```console +$ ./configure wasm --include-path=/path/to/wasmtime/include \ + --lib-path=/path/to/wasmtime/lib \ + --rpath +``` + +{{% /tab %}} +{{< /tabs >}} + +--- + +## Building and Installing Unit {#source-bld-src} + +To build and install Unit's executables and language modules that you have +`./configure`'d earlier: + +```console +$ make +``` + +```console +# make install +``` + +Mind that **make install** requires setting up Unit's +[directory structure]({{< relref "/unit/howto/source.md#source-dir" >}}) +with `./configure` first. +To run Unit from the build directory tree without installing: + +```console +$ ./configure --prefix=./build +``` + +```console +$ make +``` + +```console +$ ./build/sbin/unitd +``` + +You can also build and install language modules individually; the specific +method depends on whether the language module is embedded in Unit (Java, Perl, +PHP, Python, Ruby) or packaged externally (Go, Node.js). + +{{< note >}} +For further details about Unit's language modules, see +[Working with language modules]({{< relref "/unit/howto/modules.md" >}}) +{{< /note >}} + +### Embedded Language Modules {#source-bld-src-emb} + +To build and install the modules for Java, PHP, Perl, Python, or Ruby after +configuration, run `make ` and `make -install`, +for example: + +```console +$ make perl-5.20 # This is the --module option value from ./configure perl +``` + +```console +# make perl-5.20-install # This is the --module option value from ./configure perl +``` + +### External Language Modules {#source-bld-src-ext} + +To build and install the modules for Go and Node.js globally after +configuration, run `make -install` and `make -install`, for example: + +```console +# make go-install # This is the --go option value from ./configure go +``` + +```console +# make node-install # This is the --node option value from ./configure nodejs +``` + +{{< note >}} +To install the Node.js module locally, run `make -local-install`: + +```console +# make node-local-install # This is the --node option value from ./configure nodejs +``` + +If you haven't specified the `--local` directory with `./configure nodejs` +earlier, provide it here: + +```console +# DESTDIR=/your/project/directory/ make node-local-install +``` + +If both options are specified, `DESTDIR` prefixes the +`--local` value set by `./configure nodejs`. + +Finally, mind that global installation is preferable for the Node.js module. +{{< /note >}} + +If you customized the executable pathname with `--go` or `--node`, use the +following pattern: + +```console +$ ./configure nodejs --node=/usr/local/bin/node8.12 # Executable pathname +``` + +```console +# make /usr/local/bin/node8.12-install # Executable pathname becomes a part of the target +``` + +```console +$ ./configure go --go=/usr/local/bin/go1.7 # Executable pathname +``` + +```console +# make /usr/local/bin/go1.7-install # Executable pathname becomes a part of the target +``` + +## Startup and Shutdown {#source-startup} + +{{< warning >}} +We advise installing Unit from +[precompiled packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}); +in this case, startup is +[configured]({{< relref "/unit/installation.md#installation-precomp-startup" >}}) +automatically. + +Even if you install Unit otherwise, avoid manual startup. Instead, configure a +service manager (`OpenRC`, `systemd`, and so on) or create an `rc.d` script to +launch the Unit daemon using the options below. +{{< /warning >}} + +The startup command depends on the directories you set with `./configure`, but +their default values place the `unitd` binary in a well-known place, so: + +```console +# unitd RUNTIME OPTIONS # Your PATH environment variable should list a path to unitd +``` + +See the table below for common runtime options. + +Run `unitd -h` or `unitd --version` to list Unit's +compile-time settings. Usually, the defaults don't require overrides; still, +the following runtime options are available. For their compile-time +counterparts, see +[here]({{< relref "/unit/howto/source.md#source-config-src" >}}). + +{{}} +| Option | Description | +|--------------------------------|-----------------------------------------------------------------------------| +| **--help**, **-h** | Displays a summary of the command-line options and their defaults. | +| **--version** | Displays Unit's version and the `./configure` settings it was built with. | +| **--no-daemon** | Runs Unit in non-daemon mode. | +| **--control socket** | Control API socket address in IPv4, IPv6, or UNIX domain format:

`# unitd --control 127.0.0.1:8080`

`# unitd --control [::1]:8080`

`# unitd --control unix:/path/to/control.unit.sock` | +| **--control-mode** | Sets the permission of the UNIX domain control socket. Default: 0600 | +| **--control-user** | Sets the owner of the UNIX domain control socket. | +| **--control-group** | Sets the group of the UNIX domain control socket. | +| **--group name**, **--user name**| Group name and user name used to run Unit's non-privileged [processes]({{< relref "/unit/howto/security.md#security-apps" >}}). | +| **--log pathname** | Pathname for Unit's [log]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}). | +| **--modules directory** | Directory path for Unit's language [modules]({{< relref "/unit/howto/modules.md" >}}) (***.unit.so** files). | +| **--pid pathname** | Pathname for the PID file of Unit's **main** [process]({{< relref "/unit/howto/security.md#security-apps" >}}). | +| **--state directory** | Directory path for Unit's state storage. | +| **--tmp directory** | Directory path for Unit's temporary file storage. | +{{
}} + + +Finally, to stop a running Unit: + +```console +# pkill unitd +``` + +This command signals all Unit's processes to terminate in a graceful manner. diff --git a/content/unit/howto/walkthrough.md b/content/unit/howto/walkthrough.md new file mode 100644 index 000000000..d39ca9358 --- /dev/null +++ b/content/unit/howto/walkthrough.md @@ -0,0 +1,84 @@ +--- +title: Walkthrough +weight: 900 +toc: true +--- + +OK, so you've decided to give Unit a try with your web app of choice. You may +be looking for ways to run it faster with less config overhead, streamlining +your technology stack, or simply be tech-curious. In any case: + +## Check the prerequisites + +1. Verify that Unit + [supports]({{< relref "/unit/installation.md#source-prereqs" >}}) + your platform and app language version. + +1. If possible, ensure the app can run beside Unit to rule out + external issues. + +## Get Unit on the system + + Install Unit with the language modules you need. Your options: + + - Official .deb/.rpm + [packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) + + - Docker + [images]({{< relref "/unit/installation.md#installation-docker" >}}) + + - Third-party + [packages]({{< relref "/unit/installation.md#installation-community-repos" >}}) + + - Source + [build]({{< relref "/unit/installation.md#source" >}}) + +1. Configure and launch Unit on your system: + + - Our own and third-party packages + [rely on]({{< relref "/unit/installation.md#installation-precomp-startup" >}}) + `systemctl` or `service`. + + - Containerized Unit can be + [run]({{< relref "/unit/howto/docker.md" >}}) with common `docker` commands. + + - If none of the above applies, customize Unit's + [startup]({{< relref "/unit/howto/source.md#source-startup" >}}) + manually. + +## Prepare the app for Unit + +1. *(Only applies to + [Go]({{< relref "/unit/configuration.md#configuration-go" >}}))* Patch + your app to run on Unit. + +1. Choose + [common]({{< relref "/unit/configuration.md#configuration-applications" >}}) + options such as app type, working directory, user/group. + +1. Add + [language-specific]({{< relref "/unit/configuration.md#configuration-languages" >}}) + settings such as index, entry module, or executable. + +## Plug the app into Unit + +1. *(Optional)* Add Unit-wide [settings]({{< relref "/unit/configuration.md#configuration-stngs" >}}). to + your app's config to run it smoothly. + +1. [Upload]({{< relref "/unit/controlapi.md#configuration-mgmt" >}}) + your config into Unit to spin up the app. + +1. *(Optional)* Set up a + [route]({{< relref "/unit/configuration.md#configuration-routes" >}}) + to your app to benefit from internal routing. + +1. *(Optional)* Upload a + [certificate bundle]({{< relref "/unit/certificates.md#configuration-ssl" >}}) + if you want to support SSL/TLS. + +1. Finally, set up a + [listener]({{< relref "/unit/configuration.md#configuration-listeners" >}}) + to make your app publicly available. + + +For the details of each step, see specific documentation sections. diff --git a/content/unit/installation.md b/content/unit/installation.md new file mode 100644 index 000000000..62fd09740 --- /dev/null +++ b/content/unit/installation.md @@ -0,0 +1,1962 @@ +--- +title: Installation +weight: 400 +toc: true +--- + +You can install NGINX Unit in four alternative ways: + +- Choose from our official [binary packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) for a few popular systems. + They're as easy to use as any other packaged software and suit most purposes + straight out of the box. +- If your preferred OS or language version is missing from the official package list, + try [third-party repositories]({{< relref "/unit/installation.md#installation-community-repos" >}}). + Be warned, though: we don't maintain them. +- Run our [Docker official images]({{< relref "/unit/installation.md#installation-docker" >}}), + prepackaged with varied language combinations. +- To fine-tune Unit to your goals, + download the [sources]({{< relref "/unit/installation.md#source" >}}), + install the [toolchain]({{< relref "/unit/howto/source.md#source-prereq-build" >}}), + and [build]({{< relref "/unit/howto/source.md#source-config-src" >}}) a custom binary from scratch; just make sure you know what you're doing. + +{{< note >}} +The commands in this document starting with a hash (#) must be run as root or +with superuser privileges. +{{< /note >}} + +## Prerequisites {#source-prereqs} + +Unit compiles and runs on various Unix-like operating systems, including: + +- FreeBSD 10 or later +- Linux 2.6 or later +- macOS 10.6 or later +- Solaris 11 + +It also supports most modern instruction set architectures, such as: + +- ARM +- IA-32 +- PowerPC +- MIPS +- S390X +- x86-64 + +App languages and platforms that Unit can run +(including several versions of the same language): + +- Go 1.6 or later +- Java 8 or later +- Node.js 8.11 or later +- PHP 5, 7, 8 +- Perl 5.12 or later +- Python 2.6, 2.7, 3 +- Ruby 2.0 or later +- WebAssembly Components WASI 0.2 + +Optional dependencies: + +- OpenSSL 1.0.1 or later for [TLS]({{< relref "/unit/certificates.md#configuration-ssl" >}}) support +- PCRE (8.0 or later) or PCRE2 (10.23 or later) for + [regular expression matching]({{< relref "/unit/configuration.md#configuration-routes-matching-patterns">}}) +- The [njs](https://nginx.org/en/docs/njs/) scripting language +- Wasmtime for WebAssembly Support + +## Official packages {#installation-precomp-pkgs} + +Installing an official precompiled Unit binary package +is best on most occasions; +they're available for: + +- Amazon Linux [AMI]({{< relref "/unit/installation.md#installation-amazon-ami" >}}), + Amazon Linux [2]({{< relref "/unit/installation.md#installation-amazon-20lts" >}}), + Amazon Linux [2023]({{< relref "/unit/installation.md#installation-amazon-2023" >}}) +- Debian [11]({{< relref "/unit/installation.md#installation-debian-11" >}}), + [12]({{< relref "/unit/installation.md#installation-debian-12" >}}) +- Fedora [41]({{< relref "/unit/installation.md#installation-fedora-41" >}}) +- RHEL [8]({{< relref "/unit/installation.md#installation-rhel-8x" >}}), + [9]({{< relref "/unit/installation.md#installation-rhel-9x" >}}) +- Ubuntu [16.04]({{< relref "/unit/installation.md#installation-ubuntu-1604" >}}), + [18.04]({{< relref "/unit/installation.md#installation-ubuntu-1804" >}}), + [20.04]({{< relref "/unit/installation.md#installation-ubuntu-2004" >}}), + [21.04]({{< relref "/unit/installation.md#installation-ubuntu-2104" >}}), + [22.04]({{< relref "/unit/installation.md#installation-ubuntu-2204" >}}), + [24.04]({{< relref "/unit/installation.md#installation-ubuntu-2404" >}}) + +The packages include core executables, developer files,and support for individual +languages. +We also maintain a Homebrew [tap]({{< relref "/unit/installation.md#installation-macos-homebrew" >}}) for +macOS users and a [module]({{< relref "/unit/installation.md#installation-nodejs-package" >}}) for Node.js +at the [npm](https://www.npmjs.com/package/unit-http) registry. + +{{< note >}} +For details of packaging custom modules that install alongside the official Unit, +see [here]({{< relref "/unit/howto/modules.md#modules-pkg" >}}). +{{< /note >}} + +### Repository installation script {#repo-install} + +
+Repo installation script + + We provide a [script](https://github.com/nginx/unit/tree/master/tools>) + that adds our official repos on the systems we support: + + ```console + wget https://raw.githubusercontent.com/nginx/unit/master/tools/setup-unit && chmod +x setup-unit + ``` + + Run the following command as root: + + ```console + ./setup-unit repo-config + ``` + + Use it at your discretion; explicit steps are provided below + for each distribution. +
+ +--- + +### Amazon Linux {#installation-precomp-amazon} + +{{}} + +{{%tab name="2023"%}} +Supported architecture: x86-64. + +1. To configure Unit's repository, + create the following file named + **/etc/yum.repos.d/unit.repo**: + + ```ini + [unit] + name=unit repo + baseurl=https://packages.nginx.org/unit/amzn/2023/$basearch/ + gpgkey=https://unit.nginx.org/keys/nginx-keyring.gpg + gpgcheck=1 + enabled=1 + ``` + +1. Install the core package and other packages you need: + + ```console + # yum install unit + ``` + + ```console + # yum install unit-devel unit-jsc17 unit-perl \ # unit-devel is required to install the Node.js module + unit-php unit-python39 unit-python311 unit-wasm + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + + + +{{}} +| Runtime details: | Description | +|--------------------|--------------------------------------------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/unit/control.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} +{{%/tab%}} + +{{%tab name="2022 LTS"%}} + +Supported architecture: x86-64. + +1. To configure Unit's repository, create the following file named **/etc/yum.repos.d/unit.repo**: + + ```ini + [unit] + name=unit repo + baseurl=https://packages.nginx.org/unit/amzn2/$releasever/$basearch/ + gpgkey=https://unit.nginx.org/keys/nginx-keyring.gpg + gpgcheck=1 + enabled=1 + ``` + +1. Install the core package + and other packages you need: + + ```console + # yum install unit + ``` + + ```console + # yum install unit-devel unit-jsc8 unit-perl \ # unit-devel is required to install the Node.js module + unit-php unit-python27 unit-python37 unit-wasm + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + +{{}} + +| Runtime details: | Description | +|--------------------|--------------------------------------------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/unit/control.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + + +{{%/tab%}} + +{{%tab name="AMI"%}} + +{{< warning >}} +Unit's 1.22+ packages aren't built for Amazon Linux AMI. This distribution is +obsolete; please update. +{{< /warning >}} + +Supported architecture: x86-64. + +1. To configure Unit's repository, + create the following file named + **/etc/yum.repos.d/unit.repo**: + + ```ini + + [unit] + name=unit repo + baseurl=https://packages.nginx.org/unit/amzn/$releasever/$basearch/ + gpgkey=https://unit.nginx.org/keys/nginx-keyring.gpg + gpgcheck=1 + enabled=1 + ``` + +1. Install the core package + and other packages you need: + + ```console + # yum install unit + ``` + + ```console + # yum install unit-devel unit-jsc8 unit-perl unit-php \ # unit-devel is required to install the Node.js module + unit-python27 unit-python34 unit-python35 unit-python36 + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + +{{}} + +| Runtime details: | Description | +|--------------------|--------------------------------------------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/unit/control.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + +{{%/tab%}} +{{}} + +--- + +### Debian {#installation-precomp-deb} + +{{}} +{{%tab name="12"%}} +Supported architectures: arm64, x86-64. + +1. Download and save NGINX's signing key: + + ```console + # curl --output /usr/share/keyrings/nginx-keyring.gpg \ + https://unit.nginx.org/keys/nginx-keyring.gpg + ``` + + This eliminates the "packages cannot be authenticated" warnings during installation. + +1. To configure Unit's repository, create the following file named + **/etc/apt/sources.list.d/unit.list**: + + ```none + deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/debian/ bookworm unit + deb-src [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/debian/ bookworm unit + ``` + +1. Install the core package and other packages you need: + + ```console + # apt update + ``` + + ```console + # apt install unit + ``` + + ```console + # apt install unit-dev unit-jsc17 unit-perl \ # unit-dev is required to install the Node.js module + unit-php unit-python3.11 unit-ruby unit-wasm + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` +{{}} +| Runtime details: | Description | +|--------------------|--------------------------------------------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | +{{}} + +{{%/tab%}} +{{%tab name="11"%}} + +Supported architectures: arm64, x86-64. + +1. Download and save NGINX's signing key: + + ```console + # curl --output /usr/share/keyrings/nginx-keyring.gpg \ + https://unit.nginx.org/keys/nginx-keyring.gpg + ``` + + This eliminates the "packages cannot be authenticated" warnings + during installation. + +1. To configure Unit's repository, create the following file named + **/etc/apt/sources.list.d/unit.list**: + + ```none + deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/debian/ bullseye unit + deb-src [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/debian/ bullseye unit + ``` + +1. Install the core package and other packages you need: + + ```console + # apt update + ``` + + ```console + # apt install unit + ``` + + ```console + # apt install unit-dev unit-jsc11 unit-perl \ # unit-dev is required to install the Node.js module + unit-php unit-python2.7 unit-python3.9 unit-ruby unit-wasm + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + +{{}} +| Runtime details: | Description | +|---------------------------------------|--------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | +{{}} + +{{%/tab%}} +{{}} + +--- + +### Fedora {#installation-precomp-fedora} + +{{}} +{{%tab name="41"%}} + +Supported architecture: x86-64. + +1. To configure Unit's repository, create the following file named + **/etc/yum.repos.d/unit.repo**: + + ```ini + [unit] + name=unit repo + baseurl=https://packages.nginx.org/unit/fedora/$releasever/$basearch/ + gpgkey=https://unit.nginx.org/keys/nginx-keyring.gpg + gpgcheck=1 + enabled=1 + ``` + +1. Install the core package and other packages you need: + + ```console + # dnf install unit + ``` + + ```console + # dnf install unit-devel unit-jsc17 unit-perl \ # unit-devel is required to install the Node.js module + unit-php unit-python311 unit-ruby + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + +{{}} +| Runtime details | Description | +|-----------------------------------------------|-----------------------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/unit/control.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | +{{}} + +{{%/tab%}} +{{}} + +--- + +### RHEL and derivatives {#installation-precomp-rhel} + +{{< note >}} +Use these steps for binary-compatible distributions: AlmaLinux, CentOS, +Oracle Linux, or Rocky Linux. +{{< /note >}} + +{{}} +{{%tab name="9.x"%}} + +Supported architecture: x86-64. + +1. To configure Unit's repository, create the following file named + **/etc/yum.repos.d/unit.repo**: + + ```ini + [unit] + name=unit repo + baseurl=https://packages.nginx.org/unit/rhel/$releasever/$basearch/ + gpgkey=https://unit.nginx.org/keys/nginx-keyring.gpg + gpgcheck=1 + enabled=1 + ``` + +1. Install the core package and other packages you need: + + ```console + # yum install unit + ``` + + ```console + # yum install unit-devel unit-go unit-jsc8 unit-jsc11 \ # unit-devel is required to install the Node.js module and build Go apps + unit-perl unit-php unit-python39 unit-wasm + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + +{{}} + +| Runtime details | Description | +|---------------------------------------|--------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/unit/control.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + +{{%/tab%}} +{{%tab name="8.x"%}} + +Supported architecture: x86-64. + +1. To configure Unit's repository, create the following file named + **/etc/yum.repos.d/unit.repo**: + + ```ini + [unit] + name=unit repo + baseurl=https://packages.nginx.org/unit/rhel/$releasever/$basearch/ + gpgkey=https://unit.nginx.org/keys/nginx-keyring.gpg + gpgcheck=1 + enabled=1 + ``` + +1. Install the core package and other packages you need: + + ```console + # yum install unit + ``` + + ```console + # yum install unit-devel unit-jsc8 unit-jsc11 \ # unit-devel is required to install the Node.js module + unit-perl unit-php unit-python27 unit-python36 unit-python38 unit-python39 unit-wasm + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + +{{}} + +| Runtime details | Description | +|---------------------------------------|--------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/unit/control.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + +{{%/tab%}} +{{}} + +--- + +{{< note >}}Use these steps for binary-compatible distributions: AlmaLinux, CentOS, Oracle Linux, or Rocky Linux.{{< /note >}} + +--- + +### Ubuntu {#installation-precomp-ubuntu} +{{}} +{{%tab name="24.04"%}} + +Supported architectures: arm64, x86-64. + +1. Download and save NGINX's signing key: + + ```console + # curl --output /usr/share/keyrings/nginx-keyring.gpg \ + https://unit.nginx.org/keys/nginx-keyring.gpg + ``` + + This eliminates the "packages cannot be authenticated" warnings + during installation. + +1. To configure Unit's repository, create the following file named + **/etc/apt/sources.list.d/unit.list**: + + ```none + deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ noble unit + deb-src [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ noble unit + ``` + + +1. Install the core package and other packages you need: + + ```console + # apt update + ``` + + ```console + # apt install unit + ``` + + ```console + # apt install unit-dev unit-go unit-jsc11 unit-jsc17 unit-jsc21 \ # unit-dev is required to install the Node.js module and build Go apps + unit-perl unit-php unit-python3.12 unit-ruby unit-wasm + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|--------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + +{{%/tab%}} +{{%tab name="22.04"%}} + +Supported architectures: arm64, x86-64. + +1. Download and save NGINX's signing key: + + ```console + # curl --output /usr/share/keyrings/nginx-keyring.gpg \ + https://unit.nginx.org/keys/nginx-keyring.gpg + ``` + + This eliminates the "packages cannot be authenticated" warnings + during installation. + +1. To configure Unit's repository, create the following file named + **/etc/apt/sources.list.d/unit.list**: + + ```none + deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ jammy unit + deb-src [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ jammy unit + ``` + +1. Install the core package and other packages you need: + + ```console + # apt update + ``` + + ```console + # apt install unit + ``` + + ```console + # apt install unit-dev unit-go unit-jsc11 unit-jsc16 unit-jsc17 unit-jsc18 \ # unit-dev is required to install the Node.js module and build Go apps + unit-perl unit-php unit-python2.7 unit-python3.10 unit-ruby unit-wasm + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|--------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + +{{%/tab%}} +{{%tab name="20.04"%}} + +Supported architectures: arm64, x86-64. + +1. Download and save NGINX's signing key: + + ```console + # curl --output /usr/share/keyrings/nginx-keyring.gpg \ + https://unit.nginx.org/keys/nginx-keyring.gpg + ``` + + This eliminates the "packages cannot be authenticated" warnings + during installation. + +1. To configure Unit's repository, create the following file named + **/etc/apt/sources.list.d/unit.list**: + + ```none + deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ focal unit + deb-src [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ focal unit + ``` + +1. Install the core package and other packages you need: + + ```console + # apt update + ``` + + ```console + # apt install unit + ``` + + ```console + # apt install unit-dev unit-jsc11 unit-perl \ # unit-dev is required to install the Node.js module + unit-php unit-python2.7 unit-python3.8 unit-ruby unit-wasm + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|--------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + +{{%/tab%}} +{{%tab name="18.04"%}} + +{{< warning >}} +Unit's 1.31+ packages aren't built for Ubuntu 18.04. This distribution is obsolete; +please update. +{{< /warning >}} + +Supported architectures: arm64, x86-64. + +1. Download and save NGINX's signing key: + + ```console + # curl --output /usr/share/keyrings/nginx-keyring.gpg \ + https://unit.nginx.org/keys/nginx-keyring.gpg + ``` + + This eliminates the "packages cannot be authenticated" warnings + during installation. + +1. To configure Unit's repository, create the following file named + **/etc/apt/sources.list.d/unit.list**: + + ```none + deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ bionic unit + deb-src [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ bionic unit + ``` + +1. Install the core package and other packages you need: + + ```console + # apt update + ``` + + ```console + # apt install unit + ``` + + ```console + # apt install unit-dev unit-jsc8 unit-jsc11 unit-perl \ # unit-dev is required to install the Node.js module + unit-php unit-python2.7 unit-python3.6 unit-python3.7 unit-ruby + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|--------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + +{{%/tab%}} +{{%tab name="16.04"%}} + +{{< warning >}} +Unit's 1.24+ packages aren't built for Ubuntu 16.04. This distribution is obsolete; +please update. +{{< /warning >}} + +Supported architectures: arm64, i386, x86-64. + +1. Download and save NGINX's signing key: + + ```console + # curl --output /usr/share/keyrings/nginx-keyring.gpg \ + https://unit.nginx.org/keys/nginx-keyring.gpg + ``` + + This eliminates the "packages cannot be authenticated" warnings + during installation. + +1. To configure Unit's repository, create the following file named + **/etc/apt/sources.list.d/unit.list**: + + ```none + deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ xenial unit + deb-src [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ xenial unit + ``` + +1. Install the core package and other packages you need: + + ```console + # apt update + ``` + + ```console + # apt install unit + ``` + + ```console + # apt install unit-dev unit-jsc8 unit-perl unit-php \ # unit-dev is required to install the Node.js module + unit-python2.7 unit-python3.5 unit-ruby + ``` + + ```console + # systemctl restart unit # Necessary for Unit to pick up any changes in language module setup + ``` + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|--------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + +{{%/tab%}} +{{}} + +--- + +### macOS {#installation-macos} + +To install Unit on macOS, use the official Homebrew +[tap](https://github.com/nginx/homebrew-unit). + +```console +$ brew install nginx/unit/unit +``` + +This deploys the core Unit binary and the prerequisites for the +[Node.js]({{< relref "/unit/installation.md#installation-nodejs-package" >}}) +language module. + +To install the Java, Perl, Python, and Ruby language modules from Homebrew: + +```console +$ brew install unit-java unit-perl unit-php unit-python unit-python3 unit-ruby +``` + +```console +# pkill unitd # Stop Unit +``` + +```console +# unitd # Start Unit to pick up any changes in language module setup +``` + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/usr/local/var/run/unit/control.sock** (Intel), **/opt/homebrew/var/run/unit/control.sock** (Apple Silicon) | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/usr/local/var/log/unit/unit.log** (Intel), **/opt/homebrew/var/log/unit/unit.log** (Apple Silicon) | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **nobody** | + +{{}} + + +{{< note >}} +To run Unit as **root** on macOS: + +```console +$ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES +``` + +```console +$ sudo --preserve-env=OBJC_DISABLE_INITIALIZE_FORK_SAFETY /path/to/unitd ... +``` +{{< /note >}} + +### Node.js {#installation-nodejs-package} + +Unit's npm-hosted Node.js [module](https://www.npmjs.com/package/unit-http) +is called `unit-http`. Install it to run Node.js apps on Unit: + +1. First, install the **unit-dev/unit-devel** + [package]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}); it's needed to build `unit-http`. + +2. Next, build and install `unit-http` globally (this requires + `npm` and `node-gyp`): + + ```console + # npm install -g --unsafe-perm unit-http + ``` + + {{< warning >}} + The `unit-http` module is platform dependent due to optimizations; + you can't move it across systems with the rest of **node-modules**. + Global installation avoids such scenarios; just [relink]({{< relref "/unit/configuration.md#configuration-nodejs" >}}) + the migrated app. + {{< /warning >}} + +3. It's entirely possible to run + [Node.js apps]({{< relref "/unit/configuration.md#configuration-nodejs" >}}) + on Unit without mentioning **unit-http** in your app sources. + However, you can explicitly use **unit-http** in your code instead of the + built-in **http**, but mind that such frameworks as Express may require extra + [changes]({{< relref "/unit/howto/frameworks/express.md" >}}). + +{{< warning >}} +The `unit-http` module and `Unit` must have matching version numbers. +{{< /warning >}} + +If you update Unit later, make sure to update the module as well: + +```console +# npm update -g --unsafe-perm unit-http +``` + +{{< note >}} +You can also [configure]({{< relref "/unit/howto/modules.md#howto/source-modules-nodejs" >}}) and +[install]({{< relref "/unit/installation.md#source-bld-src-ext" >}}) the `unit-http` module from sources. +{{< /note >}} + +#### Working with multiple Node.js versions {#multiple-nodejs-versions} +
+Working with multiple Node.js versions + +To use Unit with multiple Node.js versions side by side, we recommend +[Node Version Manager](https://github.com/nvm-sh/nvm). + +```console +$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/x.y.z/install.sh | bash # Replace x.y.z with the nvm version +``` + +Install the versions you need and select the one you want to use with Unit: + +```console +$ nvm install 18 +``` + +```console +$ nvm install 16 +``` + +```console +$ nvm use 18 + Now using node v18.12.1 (npm v8.19.2) # Note the version numbers +``` + +Having selected the specific version, install the `node-gyp` module: + +```console +$ npm install -g node-gyp +``` + +Next, clone the Unit source code to build a `unit-http` module for the selected +Node.js version: + +```console +$ git clone https://github.com/nginx/unit +``` + +```console +$ cd unit +``` + +```console +$ pwd + /home/user/unit # Note the path to the source code +``` + +```console +$ ./configure +``` + +```console +$ ./configure nodejs + + configuring nodejs module + checking for node ... found + + node version v18.12.1 # Should be the version selected with nvm + checking for npm ... found + + npm version `8.19.2 # Should be the version selected with npm + checking for node-gyp ... found + + node-gyp version v9.3.0 +``` + +Point to Unit's header files and libraries in the source code directory +to build the module: + +```console +$ CPPFLAGS="-I/home/user/unit/include/" LDFLAGS="-L/home/user/unit/lib/" \ + make node-install +``` + +```console +$ npm list -g + + /home/vagrant/.nvm/versions/node/v18.12.1/lib + ├── corepack@0.14.2 + ├── node-gyp@9.3.0 + ├── npm@8.19.2 + └── unit-http@1.29.0 +``` + +That's all; use the newly built module to run your +[Node.js apps]({{< relref "/unit/configuration.md#configuration-nodejs" >}}) +on Unit as usual. +
+ +### Startup and shutdown {#installation-precomp-startup} + +{{< tabs name="Startup and shutdown" >}} +{{% tab name="Amazon, Debian, Fedora, RHEL, Ubuntu" %}} + +Enable Unit to launch automatically at system startup: + +```console +# systemctl enable unit +``` + +Start or restart Unit: + +```console +# systemctl restart unit +``` + +Stop a running Unit: + +```console +# systemctl stop unit +``` + +Disable Unit's automatic startup: + +```console +# systemctl disable unit +``` + +{{%/tab%}} +{{% tab name="macOS (Homebrew)" %}} + +Start Unit as a daemon: + +```console +# unitd +``` + +Stop all Unit's processes: + +```console +# pkill unitd +``` + +For startup options, see the +[Building from source]({{< relref "/unit/howto/source.md#source-startup" >}}) +documentation. +{{%/tab%}} +{{}} + +--- + +{{< note >}} Restarting Unit is necessary after installing or uninstalling any +language modules to pick up the changes. +{{< /note >}} + +## Community Repositories {#installation-community-repos} + +{{< warning >}} +These distributions are maintained by their respective communities, +not NGINX. Use them with caution. +{{< /warning >}} + +{{< tabs name="Community Repositories" >}} +{{% tab name="Alpine" %}} + +To install Unit's core executables from the Alpine Linux +[packages](https://pkgs.alpinelinux.org/packages?name=unit*): + +```console +# apk update +``` + +```console +# apk upgrade +``` + +```console +# apk add unit +``` + +To install service manager files and specific language modules: + +```console +# apk add unit-openrc unit-perl unit-php7 unit-python3 unit-ruby +``` + +```console +# service unit restart # Necessary for Unit to pick up any changes in language module setup +``` + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|-----------------------------------------------| +| Control [socket]({{< relref "/unit/howto/source.md#source-startup" >}}) | **/run/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + + +- **Startup and shutdown:** + + ```console + # service unit enable # Enable Unit to launch automatically at system startup + ``` + + ```console + # service unit restart # Start or restart Unit; one-time action + ``` + + ```console + # service unit stop # Stop a running Unit; one-time action + ``` + + ```console + # service unit disable # Disable Unit's automatic startup + ``` + +{{%/tab%}} +{{%tab name="Alt" %}} + +To install Unit's core executables and specific language modules +from the Sisyphus [packages](https://packages.altlinux.org/en/sisyphus/srpms/unit): + +```console +# apt-get update +``` + +```console +# apt-get install unit +``` + +```console +# apt-get install unit-perl unit-php unit-python3 unit-ruby +``` + +```console +# service unit restart # Necessary for Unit to pick up any changes in language module setup +``` + +Versions of these packages with the ***-debuginfo** suffix contain symbols for +[debugging]({{< relref "/unit/troubleshooting.md#troubleshooting-core-dumps" >}}). + + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|-----------------------------------------------| +| Control [socket]({{< relref "/unit/howto/source.md#source-startup" >}}) | **/run/unit/control.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **_unit** (mind the **_** prefix) | + +{{}} + + +- **Startup and shutdown:** + + ```console + # service unit enable # Enable Unit to launch automatically at system startup + ``` + + ```console + # service unit restart # Start or restart Unit; one-time action + ``` + + ```console + # service unit stop # Stop a running Unit; one-time action + ``` + + ```console + # service unit disable # Disable Unit's automatic startup + ``` + +{{%/tab%}} +{{%tab name="Arch" %}} + + +To install Unit's core executables and all language modules, +clone the [Arch User Repository (AUR)](https://aur.archlinux.org/pkgbase/nginx-unit/). + +```console +$ git clone https://aur.archlinux.org/nginx-unit.git +$ cd nginx-unit +``` + +Before proceeding further, verify that the **PKGBUILD** and the accompanying files +aren't malicious or untrustworthy. AUR packages are user produced without +pre-moderation; use them at your own risk. + +Next, build the package: + +```console +$ makepkg -si +``` + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|-----------------------------------------------| +| Control [socket]({{< relref "/unit/howto/source.md#source-startup" >}}) | **/run/nginx-unit.control.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/nginx-unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **nobody** | + +{{}} + +- **Startup and shutdown:** + + ```console + # systemctl enable unit # Enable Unit to launch automatically at system startup + ``` + + ```console + # systemctl restart unit # Start or restart Unit; one-time action + ``` + + ```console + # systemctl stop unit # Stop a running Unit; one-time action + ``` + + ```console + # systemctl disable unit # Disable Unit's automatic startup + ``` + +{{%/tab%}} +{{%tab name="FreeBSD" %}} + +To install Unit from +[FreeBSD packages](https://docs.freebsd.org/en/books/handbook/ports/#pkgng-intro>) +get the core package and other packages you need: + +```console +# pkg install -y unit +``` + +```console +# pkg install -y `libunit # Required to install the Node.js module +``` + +```console +# pkg install -y unit-java8 \ + unit-perl5.36 \ + unit-php81 unit-php82 unit-php83 \ + unit-python39 \ + unit-ruby3.2 \ + unit-wasm +``` + +```console +# service unitd restart # Necessary for Unit to pick up any changes in language module setup +``` + +To install Unit from [FreeBSD ports](https://docs.freebsd.org/en/books/handbook/ports/#ports-using), +start by updating your port collection. + +With `portsnap`: + +```console +# portsnap fetch update +``` + +With `git`: + +```console +# cd /usr/ports && git pull +``` + +Next, browse to the port path to build and install the core Unit port: + +```console +# cd /usr/ports/www/unit/ +``` + +```console +# make +``` + +```console +# make install +``` + +Repeat the steps for the other ports you need: +[libunit](https://www.freshports.org/devel/libunit/) +(required to install the Node.js +[module]({{< relref "/unit/installation.md#installation-nodejs-package" >}}) +and build +[Go apps]({{< relref "/unit/configuration.md#configuration-go" >}}), +, +[unit-java](https://www.freshports.org/www/unit-java/), +[unit-perl](https://www.freshports.org/www/unit-perl/), +[unit-php](https://www.freshports.org/www/unit-php/), +[unit-python](https://www.freshports.org/www/unit-python/), +[unit-ruby](https://www.freshports.org/www/unit-ruby/), +or +[unit-wasm](https://www.freshports.org/www/unit-wasm/). + +After that, restart Unit: + +```console +# service unitd restart # Necessary for Unit to pick up any changes in language module setup +``` + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|-----------------------------------------------| +| Control [socket]({{< relref "/unit/howto/source.md#source-startup" >}}) | **/var/run/unit/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **www** | + +{{}} + + +- **Startup and shutdown:** + + ```console + # service unitd enable # Enable Unit to launch automatically at system startup + ``` + + ```console + # service unitd restart # Start or restart Unit; one-time action + ``` + + ```console + # service unitd stop # Stop a running Unit; one-time action + ``` + + ```console + # service unitd disable # Disable Unit's automatic startup + ``` + +{{%/tab%}} +{{%tab name="Gentoo" %}} + +To install Unit using [Portage](https://wiki.gentoo.org/wiki/Handbook:X86/Full/Portage), +update the repositoryand install the + +```console +# emerge --sync +``` + +```console +# emerge www-servers/nginx-unit +``` + +To install specific language modules and features, apply the corresponding +[USE flags](https://packages.gentoo.org/packages/www-servers/nginx-unit). + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|-----------------------------------------------| +| Control [socket]({{< relref "/unit/howto/source.md#source-startup" >}}) | **/run/nginx-unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/nginx-unit** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **nobody** | + +{{}} + +- **Startup and shutdown:** + + ```console + # rc-update add nginx-unit # Enable Unit to launch automatically at system startup + ``` + + ```console + # rc-service nginx-unit restart # Start or restart Unit; one-time action + ``` + + ```console + # rc-service nginx-unit stop # Stop a running Unit; one-time action + ``` + + ```console + # rc-update del nginx-unit # Disable Unit's automatic startup + ``` + +{{%/tab%}} +{{%tab name="NetBSD" %}} + +To install Unit's core package and the other packages you need +from the [NetBSD Packages Collection](https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/www/unit/index.html): + +```console +# pkg_add unit +``` + +```console +# pkg_add libunit # Required to install the Node.js module +``` + +```console +# pkg_add unit-perl \ + unit-python2.7 \ + unit-python3.8 unit-python3.9 unit-python3.10 unit-python3.11 unit-python3.12 \ + unit-ruby31 unit-ruby32 unit-ruby33 +``` + +```console +# service unit restart # Necessary for Unit to pick up any changes in language module setup +``` + +To build Unit manually, start by updating the package collection: + +```console +# cd /usr/pkgsrc && cvs update -dP +``` + +Next, browse to the package path to build and install the core Unit binaries: + +```console +# cd /usr/pkgsrc/www/unit/ +``` + +```console +# make build install +``` + +Repeat the steps for the other packages you need: +[libunit](https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/libunit/index.html) +(required to install the Node.js +[module]({{< relref "/unit/installation.md#installation-nodejs-package" >}}) and build +[Go apps]({{< relref "/unit/configuration.md#configuration-go" >}}), +[unit-perl](https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/www/unit-perl/index.html), +[unit-php](https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/www/unit-php/index.html), +[unit-python](https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/www/unit-python/index.html), +or +[unit-ruby](https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/www/unit-ruby/index.html). + +Note that **unit-php** packages require the PHP package to be built with the **php-embed** option. To enable the option for **lang/php82**: + +```console +# echo "PKG_OPTIONS.php82=php-embed" >> /etc/mk.conf +``` + +After that, restart Unit: + +```console +# service unit restart # Necessary for Unit to pick up any changes in language module setup +``` + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|-----------------------------------------------| +| Control [socket]({{< relref "/unit/howto/source.md#source-startup" >}}) | **/var/run/unit/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + + +- **Startup and shutdown:** + +First, add Unit's startup script to the **/etc/rc.d/** directory: + + ```console + # cp /usr/pkg/share/examples/rc.d/unit /etc/rc.d/ + ``` + + After that, you can start and stop Unit as follows: + + ```console + # service unit restart # Start or restart Unit; one-time action + ``` + + ```console + # service unit stop # Stop a running Unit; one-time action + ``` + +To enable or disable Unit's automatic startup, edit **/etc/rc.conf**: + +```ini +# Enable service: +unit=YES + +# Disable service: +unit=NO +``` + +{{%/tab%}} +{{%tab name="Nix" %}} + +To install Unit's core executables and all language modules using the +[Nix](https://nixos.org) package manager, update the channel, check if Unit's +available, and install the [package](https://github.com/NixOS/nixpkgs/tree/master/pkgs/servers/http/unit) + +```console +$ nix-channel --update +$ nix-env -qa 'unit' +$ nix-env -i unit +``` + +This installs most embedded language modules and such features as SSL or IPv6 support. +For a full list of optionals, see the +[package definition]https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/http/unit/default.nix); +for a **.nix** configuration file defining an app, see +[this sample](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/web-servers/unit-php.nix). + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|-----------------------------------------------| +| Control [socket]({{< relref "/unit/howto/source.md#source-startup" >}}) | **/run/unit/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + + +- **Startup and shutdown:** + + Add **services.unit.enable = true;** to **/etc/nixos/configuration.nix** + and rebuild the system configuration: + + ```console + # nixos-rebuild switch + ``` + + After that, use `systemctl`: + + ```console + # systemctl enable unit # Enable Unit to launch automatically at system startup + ``` + + ```console + # systemctl restart unit # Start or restart Unit; one-time action + ``` + + ```console + # systemctl stop unit # Stop a running Unit; one-time action + ``` + + ```console + # systemctl disable unit # Disable Unit's automatic startup + ``` + +{{%/tab%}} +{{%tab name="OpenBSD" %}} + +To install Unit from [OpenBSD packages](https://www.openbsd.org/faq/faq15.html) +get the core package and other packages you need: + +```console +# pkg_add unit +``` + +```console +# pkg_add unit-perl +``` + +```console +# pkg_add unit-php74 +``` + +```console +# pkg_add unit-php80 +``` + +```console +# pkg_add unit-php81 +``` + +```console +# pkg_add unit-php82 +``` + +```console +# pkg_add unit-php83 +``` + +```console +# pkg_add unit-python +``` + +```console +# pkg_add unit-ruby +``` + +```console +# rcctl restart unit # Necessary for Unit to pick up any changes in language module setup +``` + +To install Unit from [OpenBSD ports](https://pkgsrc.se/www/unit), +start by updating your port collection, for example: + +```console +$ cd /usr/ +``` + +```console +$ cvs -d anoncvs@anoncvs.spacehopper.org:/cvs checkout -P ports +``` + +Next, browse to the port path to build and install Unit: + +```console +$ cd /usr/ports/www/unit/ +``` + +```console +$ make +``` + +```console +# make install +``` + +This also installs the language modules for Perl, PHP, Python, and Ruby; +other modules can be built and installed from +[source]({{< relref "/unit/howto/source.md" >}}). + +After that, restart Unit: + +```console +# rcctl restart unit # Necessary for Unit to pick up any changes in language module setup +``` + +{{}} + +| Runtime details | Description | +|-----------------------------------------------|-----------------------------------------------| +| Control [socket]({{< relref "/unit/howto/source.md#source-startup" >}}) | **/var/run/unit/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **_unit** | + +{{}} + + +- **Startup and shutdown:** + + ```console + # rcctl enable unit # Enable Unit to launch automatically at system startup + ``` + + ```console + # rcctl restart unit # Start or restart Unit; one-time action + ``` + + ```console + # rcctl stop unit # Stop a running Unit; one-time action + ``` + + ```console + # rcctl disable unit # Disable Unit's automatic startup + ``` + +{{%/tab%}} +{{%tab name="Remi's RPM" %}} + +[Remi's RPM repository](https://blog.remirepo.net/post/2019/01/14/PHP-with-the-NGINX-unit-application-server>), +which hosts the latest versions of the PHP stack for Fedora and RHEL, +also has the core Unit package and the PHP modules. + +To use Remi's versions of Unit's packages, configure the +[repository](https://blog.remirepo.net/pages/Config-en) +first. +Remi's PHP language modules are also compatible with the core Unit package from +[our own repository]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}). + +Next, install Unit and the PHP modules you want: + +```console +# yum install --enablerepo=remi unit \ + php54-unit-php php55-unit-php php56-unit-php \ + php70-unit-php php71-unit-php php72-unit-php php73-unit-php php74-unit-php \ + php80-unit-php php81-unit-php php82-unit-php +``` + +```console +# systemctl restart unit # Necessary for Unit to pick up any changes in language module setup +``` + +{{}} + +| Runtime details | Description | +|-------------------------------------|-----------------------------------------------| +| Control [socket]({{< relref "/unit/howto/source.md#source-startup" >}}) | **/run/unit/control.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | **/var/log/unit/unit.log** | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **nobody** | + +{{}} + + +- **Startup and shutdown:** + + ```console + # systemctl enable unit # Enable Unit to launch automatically at system startup + ``` + + ```console + # systemctl restart unit # Start or restart Unit; one-time action + ``` + + ```console + # systemctl stop unit # Stop a running Unit; one-time action + ``` + + ```console + # systemctl disable unit # Disable Unit's automatic startup + ``` + +{{%/tab%}} +{{}} + +--- + +## Docker Images {#installation-docker} + +Unit's Docker images +come in several language-specific flavors: + +{{}} + +| Tag | Description | +|--------------------------------------|--------------------------------------------------------------------------------------------------| +| `{{< param "unitversion" >}}-minimal` | No language modules; based on the **debian:bullseye-slim** [image](https://hub.docker.com/_/debian). | +| `{{< param "unitversion" >}}-go1.21` | Single-language; based on the **golang:1.21** [image](https://hub.docker.com/_/golang). | +| `{{< param "unitversion" >}}-jsc11` | Single-language; based on the **eclipse-temurin:11-jdk** [image](https://hub.docker.com/_/eclipse-temurin). | +| `{{< param "unitversion" >}}-node20` | Single-language; based on the **node:20** [image](https://hub.docker.com/_/node). | +| `{{< param "unitversion" >}}-perl5.38`| Single-language; based on the **perl:5.38** [image](https://hub.docker.com/_/perl). | +| `{{< param "unitversion" >}}-php8.2` | Single-language; based on the **php:8.2-cli** [image](https://hub.docker.com/_/php). | +| `{{< param "unitversion" >}}-python3.11` | Single-language; based on the **python:3.11** [image](https://hub.docker.com/_/python). | +| `{{< param "unitversion" >}}-ruby3.2` | Single-language; based on the **ruby:3.2** [image](https://hub.docker.com/_/ruby). | +| `{{< param "unitversion" >}}-wasm` | Single-language; based on the **debian:bullseye-slim** [image](https://hub.docker.com/_/debian). | + +{{}} + + +### Customizing language versions in Docker images {#inst-lang-docker} + +
+Customizing language versions in Docker images + +To build a custom language version image, clone and rebuild the sources locally +with Docker installed: + +```console +$ make build- VERSIONS_= +``` + +The `make` utility parses the command line to extract the language name and version; +these values must reference an existing official language image to be used as the base +for the build. +If not sure whether an official image exists for a specific language version, +follow the links in the tag table above. + +{{< note >}} +Unit relies on the official Docker images, so any customization method offered by their +maintainers is equally applicable; to tailor a Unit image to your needs, +see the quick reference for its base image. +{{< /note >}} + +The language name can be **go**, **jsc**, **node**, **perl**, **php**, +**python**, or **ruby**; the version is defined as **\.\**, +except for **jsc** and **node** that take only major version numbers (as seen in +the tag table). + +Thus, to create an image with Python 3.10 +and tag it as **unit:{{< param "unitversion" >}}-python3.10**: + +```console +$ git clone https://github.com/nginx/unit +``` + +```console +$ cd unit +``` + +```console +$ git checkout {{< param "unitversion" >}} # Optional; use to choose a specific Unit version +``` + +```console +$ cd pkg/docker/ +``` + +```console +$ make build-python3.10 VERSIONS_python=3.10 # Language and version +``` + +For details, see the [Makefile](https://github.com/nginx/unit/blob/master/pkg/docker/Makefile). +For other customization scenarios, see the [Docker howto]({{< relref "/unit/howto/docker.md">}}). +
+ +
+Image tags for pre-1.29.1 Unit versions +Before Unit 1.29.1 was released, our Docker images were available +from the official [NGINX repository](https://hub.docker.com/r/nginx/unit/) +on Docker Hub. +
+ +
+Images with pre-1.22.0 Unit versions +Before Unit 1.22.0 was released, the following tagging scheme was used: + +{{}} + +| Tag | Description | +|----------------------|-----------------------------------------------------------------------------| +| **\-full** | Contains modules for all languages that Unit then supported. | +| **\-minimal**| No language modules were included. | +| **\-\** | A specific language module such as **1.21.0-ruby2.3** or **1.21.0-python2.7**. | + +{{}} + + +
+ +You can obtain the images from these sources: + +{{< tabs name="Docker" >}} +{{% tab name="Docker Hub" %}} + + +To install and run Unit from [official builds](https://hub.docker.com/_/unit) +at Docker Hub: + +```console +$ docker pull unit:TAG # Specific image tag; see above for a complete list +``` + +```console +$ docker run -d unit:TAG # Specific image tag; see above for a complete list +``` + +{{%/tab%}} +{{% tab name="Amazon ECR Public Gallery" %}} + +To install and run Unit from NGINX's [repository](https://gallery.ecr.aws/nginx/unit) +at Amazon ECR Public Gallery: + +```console +$ docker pull public.ecr.aws/nginx/unit:TAG # Specific image tag; see above for a complete list +``` + +```console +$ docker run -d public.ecr.aws/nginx/unit:TAG # Specific image tag; see above for a complete list +``` + +{{%/tab%}} +{{% tab name="packages.nginx.org" %}} + +{{< warning >}} +Unit's 1.30+ image tarballs aren't published on the website; this channel is deprecated. +{{< /warning >}} + +To install and run Unit from the tarballs stored on our +[website](https://packages.nginx.org/unit/docker/): + +```console +$ curl -O https://packages.nginx.org/unit/docker/1.29.1/nginx-unit-TAG.tar.gz # Specific image tag; see above for a complete list +``` + +```console +$ curl -O https://packages.nginx.org/unit/docker/1.29.1/nginx-unit-TAG.tar.gz.sha512 # Specific image tag; see above for a complete list +``` + +```console +$ sha512sum -c nginx-unit-TAG.tar.gz.sha512 # Specific image tag; see above for a complete list + nginx-unit-TAG.tar.gz: OK # Specific image tag; see above for a complete list +``` + +```console +$ docker load < nginx-unit-TAG.tar.gz # Specific image tag; see above for a complete list +``` + +{{%/tab%}} +{{}} + +--- + +{{}} +| Runtime details | Description | +|-------------------------------------|-----------------------------------------------| +| Control [socket]({{< relref "/unit/howto/security.md#sec-socket" >}}) | **/var/run/control.unit.sock** | +| Log [file]({{< relref "/unit/troubleshooting.md#troubleshooting-log" >}}) | Forwarded to the [Docker log collector](https://docs.docker.com/config/containers/logging/) | +| Non-privileged [user and group]({{< relref "/unit/howto/security.md#security-apps" >}}) | **unit** | + +{{}} + + +For more details, see the repository pages ([Docker Hub](https://hub.docker.com/_/unit), +[Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/unit)) +and our [Docker howto]({{< relref "/unit/howto/docker.md">}}). + +### Initial configuration {#installation-docker-init} + +The official images support initial container configuration, +implemented with an **ENTRYPOINT** +[script](https://docs.docker.com/engine/reference/builder/#entrypoint). +First, the script checks the Unit +[state directory]({{< relref "/unit/howto/source.md#source-config-src-state" >}}) +in the container +(**/var/lib/unit/**). + +If it's empty, +the script processes certain file types +in the container's **/docker-entrypoint.d/** directory: + +{{}} + +| File Type | Purpose/Action | +|------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **.pem** | [Certificate bundles]({{< relref "/unit/certificates.md">}}), uploaded under respective names:

**cert.pem** to **/certificates/cert**. | +| **.json** | [Configuration snippets]({{< relref "/unit/controlapi.md#configuration-mgmt" >}}), uploaded to the **/config** section of Unit's configuration. | +| **.sh** | Shell scripts, run after the **.pem** and **.json** files are uploaded. Use shebang in your scripts to specify a custom shell;

must be executable. | + +{{
}} + + +The script warns about any other file types in **/docker-entrypoint.d/**. + +This mechanism enables customizing your containers at startup, +reusing configurations, and automating workflows to reduce manual effort. +To use the feature, add **COPY** directives for certificate bundles, +configuration fragments, and shell scripts to your **Dockerfile** derived from +an official image: + +```dockerfile +FROM unit:{{< param "unitversion" >}}-minimal +COPY ./*.pem /docker-entrypoint.d/ +COPY ./*.json /docker-entrypoint.d/ +COPY ./*.sh /docker-entrypoint.d/ +``` + +{{< note >}} +Mind that running Unit even once populates its state directory; +this prevents the script from executing, so this script-based initialization must occur +before you run Unit in your derived container. +{{< /note >}} + +This feature comes in handy if you want to tie Unit to a certain app configuration +for later use. For ad-hoc initialization, you can mount a directory with configuration files to a container at startup: + +```console +$ docker run -d --mount \ + type=bind,src=/path/to/config/files/,dst=/docker-entrypoint.d/ \ # Use a real path instead + unit:{{< param "unitversion" >}}-minimal +``` + +## Source Code {#source} + +You can get Unit's source code from our official GitHub repository or as a tarball. + +{{< tabs name="Source Code" >}} +{{% tab name="Git" %}} + +```console +$ git clone https://github.com/nginx/unit # Latest updates to the repository +``` + +```console +$ # -- or -- +``` + +```console +$ git clone -b {{< param "unitversion" >}} https://github.com/nginx/unit # Specific version tag; see https://github.com/nginx/unit/tags +``` + +```console +$ cd unit +``` + +{{%/tab%}} +{{% tab name="Tarball" %}} + +```console +$ curl -O https://sources.nginx.org/unit/unit-{{< param "unitversion" >}}.tar.gz +``` + +```console +$ tar xzf unit-{{< param "unitversion" >}}.tar.gz +``` + +```console +$ cd unit-{{< param "unitversion" >}} +``` + +{{%/tab%}} +{{}} + +--- + +To build Unit and specific language modules from these sources, +refer to the [source code howto]({{< relref "/unit/howto/source.md" >}}). +to package custom modules, see the +[module howto]({{< relref "/unit/howto/modules.md#modules-pkg" >}}). diff --git a/content/unit/keyfeatures.md b/content/unit/keyfeatures.md new file mode 100644 index 000000000..613bb327f --- /dev/null +++ b/content/unit/keyfeatures.md @@ -0,0 +1,53 @@ +--- +title: Key features +weight: 200 +toc: true +--- + +From the start, our vision for Unit was versatility, speed, and reliability. Here's how we tackle these goals. + +## Flexibility + +- The [entire configuration]({{< relref "/unit/controlapi.md#configuration-api/">}}) is managed dynamically over HTTP via a friendly [RESTful JSON API]({{< relref "/unit/controlapi.md#configuration-mgmt">}}). +- Updates to the configuration are performed granularly at runtime with zero interruption. +- Requests are [routed]({{< relref "/unit/configuration.md#configuration-routes">}}) between [static content]({{< relref "/unit/configuration.md#configuration-static">}}), upstream [servers]({{< relref "/unit/configuration.md#configuration-proxy">}}), and local [apps]({{< relref "/unit/configuration.md#configuration-applications">}}). +- Request filtering and dispatching uses elaborate [matching rules]({{< relref "/unit/configuration.md#configuration-routes-matching">}}) that enable [regular expressions]({{< relref "/unit/configuration.md#configuration-routes-matching-patterns">}}), [response header]({{< relref "/unit/configuration.md#configuration-response-headers">}}) awareness, and `njs` [scripting]({{< relref "/unit/scripting/">}}). +- Apps in multiple languages and language versions run [side by side]({{< relref "/unit/configuration.md#configuration-applications">}}). +- Server-side [WebAssembly]({{< relref "/unit/configuration.md#configuration-wasm">}}) is natively supported. +- Common [language-specific APIs]({{< relref "/unit/howto/overview.md#howto-frameworks">}}) for all supported languages run seamlessly. +- Upstream [server groups]({{< relref "/unit/configuration.md#configuration-upstreams">}}) provide dynamic load balancing using a weighted round-robin method. +- Originating IP identification [supports]({{< relref "/unit/configuration.md#configuration-listeners-xff">}}) **X-Forwarded-For** and similar header fields. + +## Performance + +- Requests are asynchronously processed in threads with efficient event loops (`epoll`, `kqueue`). +- Syscalls and data copy operations are kept to a necessary minimum. +- 10,000 inactive HTTP keep-alive connections take up only a few MBs of memory. +- Router and app processes rely on low-latency IPC built with lock-free queues over shared memory. +- Built-in [statistics]({{< relref "/unit/statusapi.md">}}) provide insights into Unit's performance. +- The number of per-app processes is defined statically or [scales]({{< relref "/unit/configuration.md#configuration-proc-mgmt-prcs">}}) preemptively within given limits. +- App and instance usage statistics are collected and [exposed]({{< relref "/unit/statusapi.md">}}) via the API. +- Multithreaded request processing is supported for [Java]({{< relref "/unit/configuration.md#configuration-java">}}), [Perl]({{< relref "/unit/configuration.md#configuration-perl">}}), [Python]({{< relref "/unit/configuration.md#configuration-python">}}), and [Ruby]({{< relref "/unit/configuration.md#configuration-ruby">}}) apps. + +## Security & robustness + +- Client connections are handled by a separate non-privileged router process. +- Low-resource conditions (out of memory or descriptors) and app crashes are handled gracefully. +- [SSL/TLS]({{< relref "/unit/certificates.md">}}) with [SNI]({{< relref "/unit/configuration.md#configuration-listeners-ssl">}}), [session cache and tickets]({{< relref "/unit/configuration.md#configuration-listeners-ssl-sessions">}}) is integrated (OpenSSL 1.0.1 and later). +- Different apps are isolated in separate processes. +- Apps can be additionally containerized with namespace and file system [isolation]({{< relref "/unit/configuration.md#configuration-proc-mgmt-isolation">}}). +- Static file serving benefits from [chrooting]({{< relref "/unit/configuration.md#configuration-share-path">}}), symlink and mount point [traversal restrictions]({{< relref "/unit/configuration.md#configuration-share-resolution">}}). + +## Supported app languages + +Unit interoperates with: + +- [Binary-compiled languages](https://www.nginx.com/blog/nginx-unit-adds-assembly-language-support/) in general: using the embedded `libunit` library. +- [Go]({{< relref "/unit/configuration.md#configuration-go">}}): by [overriding]({{< relref "/unit/configuration.md#updating-go-apps">}}) the `http` module. +- [JavaScript (Node.js)]({{< relref "/unit/configuration.md#configuration-nodejs">}}): by automatically [overloading]({{< relref "/unit/installation.md#installation-nodejs-package">}}) the `http` and `websocket` modules. +- [Java]({{< relref "/unit/configuration.md#configuration-java">}}): by using the Servlet Specification 3.1 and WebSocket APIs. +- [Perl]({{< relref "/unit/configuration.md#configuration-perl">}}): by using PSGI. +- [PHP]({{< relref "/unit/configuration.md#configuration-php">}}): by using a custom SAPI module. +- [Python]({{< relref "/unit/configuration.md#configuration-python">}}): by using WSGI or ASGI with WebSocket support. +- [Ruby]({{< relref "/unit/configuration.md#configuration-ruby">}}): by using the Rack API. +- [WebAssembly]({{< relref "/unit/configuration.md#configuration-wasm">}}): by using Wasmtime. diff --git a/content/unit/news/2023/_index.md b/content/unit/news/2023/_index.md new file mode 100644 index 000000000..d452ec906 --- /dev/null +++ b/content/unit/news/2023/_index.md @@ -0,0 +1,4 @@ +--- +title: 2023 +weight: 300 +--- \ No newline at end of file diff --git a/content/unit/news/2023/unit-1.30.0-released.md b/content/unit/news/2023/unit-1.30.0-released.md new file mode 100644 index 000000000..fcd7fae4c --- /dev/null +++ b/content/unit/news/2023/unit-1.30.0-released.md @@ -0,0 +1,344 @@ +--- +title: Unit 1.30.0 Released +weight: 300 +--- + +We are happy to announce Unit 1.30.0! This release brings a new level of +sophistication to Unit’s configuration and enhances logging controls. + +- Incoming URIs can now be rewritten as part of the routing process +- Configuration values can now be evaluated by referencing JavaScript modules + and functions +- Each application can now write its diagnostic output to log files (or not at + all) +- The steps taken by the router can now be logged for diagnostic purposes + +Alongside 1.30.0, we are pleased to present [Docker official Images for NGINX +Unit](https://hub.docker.com/_/unit) and the new [OpenAPI specification](https://github.com/nginx/unit/blob/master/docs/unit-openapi.yaml) for +Unit’s control API. + +## URI Rewrite + +Rewriting the incoming URI to match the expectations of the application or +filesystem layout has been a much-requested feature. Now, the URI can be +rewritten by specifying a `rewrite` rule in a +[route action]({{< relref "/unit/configuration.md#configuration-routes-action" >}}). +. + +In this example, all requests have `/api/v2` prepended to the original +URI before being passed to the application: + +```json +{ + "routes": [ + { + "action": { + "rewrite": "/api/v2$uri", + "pass": "applications/my_api" + } + } + ] +} +``` + +With web applications and APIs, some URIs may need to be removed or replaced. +Unit simplifies the management of these URIs by utilizing the recursive nature +of routing. Rewritten requests can be sent back to start the routing process +again. + +```json +{ + "routes": [ + { + "match": { + "uri": ["/api/v1/lookup", "/api/v2beta/search"] + }, + "action": { + "rewrite": "/api/v2/search", + "pass": "routes" + } + }, + { + "action": { + "pass": "applications/my_api" + } + } + ] +} +``` + +The rewritten URI can also be constructed programmatically by using JavaScript +expressions in the value. In this example, we convert all request URIs to +lowercase using the built-in capabilities of JavaScript: + +```json +{ + "routes": [ + { + "action": { + "rewrite": "`${uri.toLowerCase()}`", + "share": "/var/www$uri" + } + } + ] +} +``` + +{{< note >}} +The path portion of the incoming URI is the only part that is rewritten, +and any original queries or arguments (anything following the `?` +character) are preserved. + +The `$uri` and `$request_uri` variables are both updated during +the rewrite process. When using custom log formatting, use the +\$request_line variable to log the original URI. +{{< /note >}} + +## Application Logging + +Another new feature addresses a crucial need for diagnostics in application +management. One of the strengths of Unit is its ability to host multiple +applications simultaneously under a single daemon. However, this capability is +also a challenge when managing multiple application and error logs. + +Today, we're excited to introduce per-application logging that allows you to +define the file where `stdout` and `stderr` streams will be +directed for each application. This makes it easy to access necessary log +entries when troubleshooting issues. The logging interface is independent of +the application module or language you use. As an example, let's consider a +Java SpringBoot application. + +```json +"applications": { + "my_spring_app": { + "type": "java", + "stdout": "/var/log/catalina.out", + "stderr": "/var/log/spring_err.log", + "webapp": "spring-0.0.1-SNAPSHOT.war", + "working_directory": "/var/www/" + } +} +``` + +Now, in an application configuration object, you can define a file target for +`stdout` as well as `stderr`. + +By default, application logging is directed to {file}`/dev/null` (no output). +However, if `unitd` is started with the `--no-daemon` option, +application logging is sent to the console. + +## Router Diagnostic Logging + +Unit’s router is a powerful tool for handling incoming requests and taking +appropriate action. It's often used to offload request routing from application +frameworks, allowing Unit to serve static files and freeing up the framework to +focus on what it does best, i.e. dynamic content. However, as the +`routes` object grows in size and complexity, diagnosing why a request +was not handled as expected can be daunting. + +With this release, you can now enable diagnostic logging of the routing process +to have full transparency on how each request is handled, including URI +rewrites. This feature is enabled by the `log_route` option in the +`settings/http` configuration object: + +```json +{ + "settings": { + "http": { + "log_route": true + } + } +} +``` + +Remember the second URI rewrite example above? This is how its logs might look +after a request: + +```none + [notice] 79575#31129125 *52 http request line "GET /api/v1/search?q=help HTTP/1.1" + [notice] 79575#31129125 *52 "routes/0" selected + [notice] 79575#31129125 *52 URI rewritten to "/api/v2/search" + [info] 79575#31129125 *52 "routes/0" discarded + [notice] 79575#31129125 *52 "routes/1" selected +``` + +Here, quoted route identifiers are URIs to the `/config` object in Unit's +control API, allowing direct access to more information about the route and its +corresponding action: + +```console +$ unitc /config/routes/1 + + { + "action": { + "pass": "applications/my_api" + } + } +``` + +## JavaScript Modules + +Unit 1.29.0 added {doc}`NGINX JavaScript integration +<../2022/unit-1.29.0-released>`, allowing the use of JavaScript expressions in +configuration values. But managing complex JavaScript code within configuration +values can be difficult. With the latest release, JavaScript code can be +separated from configuration and managed as a standalone entity. Then, you can +use your JavaScript functions in configuration values, unlocking the full power +of configuration scripting. + +JavaScript functions can extend Unit’s functionality in the following ways: + +- Performing complex URI rewrites or sending `3xx` redirects +- Extracting attributes from cookies or authentication tokens for logging or + routing +- Augmenting the router with business logic that goes beyond what `match` + offers + +As an example, let’s split clients across two versions of an application as a +[blue/green deployment](https://en.wikipedia.org/wiki/Blue-green_deployment) +on a single Unit instance. + +This JavaScript module ({file}`split.js`) exports a single function that +accepts two parameters, `variant` (string) and `proportion` (number +0..1). The string `"green"` is returned if an MD5 hash of the +`variant` falls within a certain `proportion` of the address space. +MD5 produces a 128-bit value; we convert that to a positive integer and +multiply the proportion by 65536 for comparability. + +```javascript +function clients(variant, proportion) { + var c = require('crypto'); + var i = c.createHash('md5').update(variant).digest().readInt16BE() + 32768; + return (proportion * 65536) > i ? 'green' : 'blue'; +} + +export default { clients } +``` + +JavaScript modules are managed similarly to TLS certificates in that they can +be uploaded via the control API to be referenced in the configuration. To +upload a module, `PUT` it as a resource under `/js_modules`: + +```json +$ curl --unix-socket /path/to/control.sock -X PUT -d@split.js http://localhost/js_modules/split +$ # --- OR --- +$ unitc /js_modules/split < split.js +``` + +Now let’s use our function to decide which version of the application each +request is sent to: + +```json +{ + "settings": { + "js_module": "split" + }, + + "listeners": { + "*:8080": { + "pass": "`applications/${split.clients(remoteAddr,0.25)}`" + } + }, + + "applications": { + "blue": { … }, + "green": { … } + } +} +``` + +With this configuration in place, 25% of all client IP addresses will be +directed to the `green` application, the remainder to the `blue` +application. The proportion can be changed on the fly by updating the value of +`/config/listeners/*:8080/pass`. Notice that the uploaded JavaScript +module must also be enabled in `settings`. For multiple modules, the +`js_module` value is an array of strings. + +## Configurable Server Header + +Unit includes a `Server` header in every response by default, identifying +itself and its version. It's recommended to exclude the version number for +security reasons in production environments. Now, this can be achieved by +setting the `server_version` value in +[settings]({{< relref "/unit/configuration.md#configuration-stngs" >}}). + +## Updates for Language Modules + +- Java 20 is now available on Ubuntu 23.04 +- Expanded PHP’s HTTP response code range: missing files now return + `404`, inaccessible files return `403` +- Added support for `filter_input()` + +## Docker Official Images + +We are thrilled that the Unit project has been recognized by Docker with +[official images on Docker Hub](https://hub.docker.com/_/unit). + +Each of the Unit Docker Official Images are built from the official images for +the programming language in question. They now also support x86 and arm64 +platforms. + +Getting started with Unit on Docker is now as simple as: + +```console +$ docker pull unit +``` + +Please update your automation pipelines to acquire images from +. + +## OpenAPI Specification + +We are glad to announce the first public release of our [OpenAPI specification](https://github.com/nginx/unit/blob/master/docs/unit-openapi.yaml) for NGINX +Unit. It aims to simplify configuring and integrating NGINX Unit deployments +and provide an authoritative source of knowledge about the control API. + +Although the specification is still in the early beta stage, it is a promising +step forward for the NGINX Unit community. While working on it, we kindly ask +you to experiment and provide feedback to help improve its functionality and +usability. + +## Changes in Behavior + +The `configure` script for building Unit from source now has a default +`/usr/local/` value for `--prefix`, simplifying the process of +creating installable builds or packages. + +Also, new configure options allow more precise control of Unit's directories, +replacing the deprecated `--incdir`, `--modules`, `--state`, +and `--tmp` options that will be removed in the future. See +`configure --help` for details. + +Finally, Unix domain listen sockets are now removed when `unitd` shuts +down. + +## Full Changelog + +```none +Changes with Unit 1.30.0 10 May 2023 + + *) Change: remove Unix domain listen sockets upon reconfiguration. + + *) Feature: basic URI rewrite support. + + *) Feature: NJS loadable modules support. + + *) Feature: per-application logging. + + *) Feature: conditional logging of route selection. + + *) Feature: support the keys API on the request objects in NJS. + + *) Feature: default values for 'make install' pathnames such as prefix; + this allows to './configure && make && sudo make install'. + + *) Feature: "server_version" setting to omit the version token from + "Server" header field. + + *) Bugfix: request header field values could be corrupted in some cases; + the bug had appeared in 1.29.0. + + *) Bugfix: PHP error handling (added missing 403 and 404 errors). + + *) Bugfix: Perl applications crash on second responder call. +``` diff --git a/content/unit/news/2023/unit-1.31.0-released.md b/content/unit/news/2023/unit-1.31.0-released.md new file mode 100644 index 000000000..2b9360d5d --- /dev/null +++ b/content/unit/news/2023/unit-1.31.0-released.md @@ -0,0 +1,240 @@ +--- +title: Unit 1.31.0 Released +weight: 200 +--- + +We are delighted to announce Unit 1.31.0, which marks a significant milestone +following the release of 1.30 in May. Over the past 15 weeks, our dedicated +team has been hard at work developing an innovative language module for NGINX +Unit. We are excited to introduce the Unit WebAssembly (WASM) feature as part +of this release, which represents a significant leap forward in Unit's +capabilities. + +This is a technology preview of WebAssembly support in Unit, and we look +forward to learning more about the use cases and ideas that the community will +share with us. + +This release also brings a notable addition to our repertoire - the ability to +send response headers and harness the power of response header variables within +the configuration. These enhancements will greatly increase the flexibility and +customization options available to you. + +Complementing these key advancements, we have carefully addressed a spectrum of +minor bug fixes and introduced additional refinements to ensure a seamlessly +enhanced user experience. + +- Thanks to our newest contributor, + [synodriver](https://github.com/nginx/unit/commits?author=synodriver) + for adding Python support to ASGI `lifespan_state` +- the `unitc` CLI tool now provides interactive editing of + configuration URIs + +## Server-Side WebAssembly: Technology Preview + +WebAssembly adoption has grown rapidly over the past two years. The flexibility +that comes with this new binary format is remarkable. In particular, +server-side WebAssembly offers many advantages for application developers. +Since Unit already provides native support for various programming language +runtimes, it was a natural progression to take on the challenge of adding +server-side WebAssembly support to NGINX Unit. + +Unit can now run WebAssembly modules as a native application type. Read more in +our blog post: +[Introducing a Technology Preview for Server-Side WebAssembly on NGINX Unit](https://www.nginx.com/blog/server-side-webassembly-nginx-unit/). + +## Working with Response Headers + +Having full control over the HTTP response headers sent back to the client is a +feature our community has been waiting for. With 1.31, we are adding support +for adding, removing, or overriding HTTP response headers using the Unit router +and using the values in dedicated response header variables. Let's see what we +can do with 1.31 and response headers. + +### Set Response Headers + +As mentioned above, you use Unit’s router to add, remove, or override response +headers. In most cases, the router will already be in use. If your listener +points to a router object like this, you are good to go. + +```json +{ + "listeners": { + "*:80": { + "pass": "routes" + } + } +} +``` + +If not, and you are new to the world of Unit Routes, be sure to read the +[documentation]({{< relref "/unit/configuration.md#configuration-routes" >}}) +before diving into this new +feature. + +Let's start with a simple use case. We are using Unit to host a frontend along +with a web API. The languages or the Unit application object do not really +matter in this case. The current configuration looks like this: + +```json +{ + "listeners": { + "*:8080": { + "pass": "routes/app" + } + }, + + "routes": { + "app": [ + { + "match": { + "uri": [ + "/api/*" + ] + }, + + "action": { + "pass": "applications/api" + } + }, + { + "action": { + "share": [ + "/var/www/frontend$uri", + "/var/www/frontend/index.html" + ] + } + } + ] + } +} +``` + +A newly introduced `response_headers` object can be added to any +`action` object. The `response_headers` object contains a list of +key/value pairs, each of which defines a single header. If a header name +matches a response header already present in the response, its value is +replaced. Otherwise, a new response header is created. A value of `null` +omits the header from the response. An empty string does not. Let's change the +configuration to demonstrate what all this means. First, we want to hide an +`X-Version` header sent by the API application: + +```json +{ + "action": { + "pass": "applications/api", + "response_headers": { + "X-Version": null + } + } +} +``` + +For our front-end, we want to add a version hash to identify the deployed +version without digging into the sources: + +```json +{ + "action": { + "share": [ + "/var/www/frontend$uri", + "/var/www/frontend/index.html" + ], + "response_headers": { + "X-FE-Version": "abc1234def" + } + } +} +``` + +In addition to fixed values, you can call an NJS function to create a value +using some more complex rules. To do this, use a template literal: + +```json +"Upper-Case": "`${host.toUpperCase()}`" +``` + +If this sounds all new to you, read more about the NGINX JavaScript Engine in +Unit in our [documentation]({{< relref "/unit/scripting.md" >}}). + +### Use Response Header Variables + +With 1.31 and the ability to control response headers, we have added a new set +of variables. When Unit receives a response from an application hosted on Unit, +and you want to modify an existing response header based on the value that was +shared by the application, it becomes imperative for Unit to retain that +specific value. This is where the newly introduced response header variables +come into play. + +The format of the new variables is based on other variables that Unit already +supports in the router. To retrieve the value of a particular HTTP header, use +`response_header` as the key identifier, followed by +`name_of_the_header` enclosed in `${}`. If you are new to using +variables with Unit during request processing, use this +[documentation]({{< relref "/unit/configuration.md#configuration-variables" >}}) +to learn more. Let's look at this through an example +use case. + +In the following configuration, we want to add a charset to the +`Content-Type` response header that was already set by the application: + +```json +[ + { + "action": { + "pass": "applications/calc", + "response_headers": { + "Content-Type": "${response_header_content_type};charset=iso-8859-1" + } + } + } +] +``` + +Since the `Content-Type` header already exists in the response, Unit will +change its value. + +## CLI Interactive Mode + +In 1.29, we introduced a wrapper script for curl to simplify interaction with +the Unit API. In 1.31, we added an interactive edit mode to this script: + +```console +$ unitc EDIT /config +``` + +This opens the given endpoint's JSON configuration in the editor currently +defined in `$EDITOR`. In most cases this will default to +`nano`. If you want to use something else, like `vim`: + +```console +$ EDITOR=vim unitc EDIT /config +``` + +Saving the changes automatically applies the changes and reconfigures Unit. + +## Changes in Behavior + +Nothing new here. + +## Full Changelog + +```none +Changes with Unit 1.31.0 31 Aug 2023 + + *) Change: if building with njs, version 0.8.0 or later is now required. + + *) Feature: technology preview of WebAssembly application module. + + *) Feature: "response_headers" option to manage headers in the action + and fallback. + + *) Feature: HTTP response header variables. + + *) Feature: ASGI lifespan state support. Thanks to synodriver. + + *) Bugfix: ensure that $uri variable is not cached. + + *) Bugfix: deprecated options were unavailable. + + *) Bugfix: ASGI applications inaccessible over IPv6. +``` diff --git a/content/unit/news/2023/unit-1.31.1-released.md b/content/unit/news/2023/unit-1.31.1-released.md new file mode 100644 index 000000000..aa7476551 --- /dev/null +++ b/content/unit/news/2023/unit-1.31.1-released.md @@ -0,0 +1,63 @@ +--- +title: Unit 1.31.1 Released +weight: 100 +--- + +We are delighted to announce Unit 1.31.1, a maintenance release that fixes +several bugs, enhances the WebAssembly technology preview, and updates tools +and packaging. + +## WebAssembly Technology Preview Enhancements + +After a very successful launch of our WebAssembly integration in +{doc}`1.31.0 ` +[1.31.0]({{< relref "/unit/news/2023/unit-1.31.0-released.md" >}}), +, +we have made some minor improvements.With the `unit-wasm` SDK, +you can now explicitly set the HTTP return code of a given request. +Also, requests with payloads larger than 4 GB are now handled properly. + +For more information, see the `unit-wasm` SDK +[documentation](https://github.com/nginx/unit-wasm). + +## Updates to the Unit CLI Tool `unitc` + +The +[unitc](https://github.com/nginx/unit/tree/master/tools) +command line tool is now able to convert Unit configuration +between JSON and YAML formats. +It also supports a new URI scheme `docker://` +to make it even easier to work with Unit running in a container. + +## Full Changelog + +```none +Changes with Unit 1.31.1 19 Oct 2023 + + *) Feature: allow to set the HTTP response status in Wasm module. + + *) Feature: allow uploads larger than 4GiB in Wasm module. + + *) Bugfix: application process could crash while rewriting URLs with + query strings. + + *) Bugfix: requests larger than about 64MiB could cause error in Wasm + module. + + *) Bugfix: when using many headers in Java module some of them could be + corrupted due to memory realocation issue. + + *) Bugfix: ServerRequest.destroy() implemented in Node.js module to make + it compatible with some frameworks that might use it. + + *) Bugfix: chunk argument of ServerResponse.write() can now be a + Uint8Array to improve compatibility with Node.js 15.0.0 and above. + + *) Bugfix: Node.JS unit-http NPM module now has appropriate default + paths for macOS/arm64 systems. + + *) Bugfix: build on musl libc with clang. +``` + +For a full list of changes and bugfixes, +please see the [changelog]({{< relref "/unit/CHANGES.md" >}}). diff --git a/content/unit/news/2024/_index.md b/content/unit/news/2024/_index.md new file mode 100644 index 000000000..8aefa487d --- /dev/null +++ b/content/unit/news/2024/_index.md @@ -0,0 +1,4 @@ +--- +title: 2024 +weight: 200 +--- diff --git a/content/unit/news/2024/fermyon-spin-rust-sdk.md b/content/unit/news/2024/fermyon-spin-rust-sdk.md new file mode 100644 index 000000000..5051b3cda --- /dev/null +++ b/content/unit/news/2024/fermyon-spin-rust-sdk.md @@ -0,0 +1,85 @@ +--- +title: "Wasm Components: Working with the Spin SDK for Rust" +weight: 500 +--- + +In our blog series [Part 1]({{< relref "/unit/news/2024/wasm-component-model-part-1.md" >}}) and [Part 2]({{< relref "/unit/news/2024/wasm-component-model-part-2.md" >}}) , we have covered the core mechanism of the WebAssembly Component Model and showcased how to create a Wasm Component using WASI 0.2 APIs and the **wasi/http:proxy** world. + +In this blog post, we will have a look at the [Fermyon's Spin](https://www.fermyon.com/spin) SDK for [Rust](https://fermyon.github.io/rust-docs/spin/main/spin_sdk/index.html) and create a Wasm Component that can be hosted on NGINX Unit. + +The Spin SDKs provide a great developer experience, as they wrap a lot of the manual work in easy to consume APIs. In this blog post we will focus on Rust, but if you would like to learn more about the other language SDKs, please see the official [documentation](https://developer.fermyon.com/spin/v2/language-support-overview). + +Let's start by creating a new Rust library using **cargo new**. This will create a new library project in a sub-directory **test-spin-component** of our current work directory. + +```bash +$ cargo new --lib test-spin-component +$ cd test-spin-component +``` + +Add the latest version of the "spin-sdk" and "anyhow" (Flexible Error Types and a dependency of the Spin SDK) crates to the project by running the following command: + +```bash +$ cargo add spin-sdk anyhow +``` + +Before we implement the actual functionality, we must modify our **Cargo.toml** file. Open the **Cargo.toml** with an editor of your choice and append the following to the bottom of your existing **Cargo.toml** file. + +```toml +[lib] +crate-type = ["cdylib"] + +[package.metadata.component] +package = "component:test-component" +proxy = true + +[package.metadata.component.dependencies] +``` + +Next, replace the content of **src/lib.rs** file with the following code: + +```rust +use spin_sdk::http::{IntoResponse, Request, Response}; +use spin_sdk::http_component; + +#[http_component] +fn handle_hello_world(_req: Request) -> anyhow::Result { + let body_string = String::from("Hello, this is a Wasm Component using Spin SDK"); + + Ok(Response::builder() + .status(200) + .header("Content-Type", "text/plain") + .header("Content-Lenght", body_string.len().to_string()) + .body(body_string) + .build()) +} +``` + +Compile the Rust Library into a Wasm Component using **cargo component**: + +```bash +$ cargo component build --release +``` + +To run the Wasm Component on NGINX Unit, start up Unit and use this initial configuration. + +{{< note >}} +Make sure you point to the Wasm component by using an absolute path. +{{< /note >}} + +```json +{ + "listeners": { + "127.0.0.1:8085": { + "pass": "applications/my-spin-component" + } + }, + "applications": { + "my-spin-component": { + "type": "wasm-wasi-component", + "component": "target/wasm32-wasi/release/test_spin_component.wasm" + } + } +} +``` + +As the Wasm Component we have just created uses the request and response interfaces defined by the **wasi:http/proxy**, it can easily be deployed on NGINX Unit. diff --git a/content/unit/news/2024/unit-1.32.0-released.md b/content/unit/news/2024/unit-1.32.0-released.md new file mode 100644 index 000000000..88e4fc752 --- /dev/null +++ b/content/unit/news/2024/unit-1.32.0-released.md @@ -0,0 +1,259 @@ +--- +title: Unit 1.32.0 Released +weight: 700 +--- + +Unit 1.32.0 comes with a new language module for WebAssembly that supports +the WASI 0.2 HTTP world so that WebAssembly Components implementing this +interface can be hosted on Unit. + +This new language module improves upon the existing WebAssembly support. We +recommend all users to use this new implementation for WebAssembly. We consider +the old **unit-wasm** module deprecated now. + +Additionally, we have added the following features: + +- Enhanced the {doc}`njs (NGINX JavaScript) experience <../../scripting>` by making all Unit variables + accessible from JavaScript +- Added support for + {ref}`conditional access logging `, to help + you filter the requests that are logged +- Added support for changing Unit's control socket permissions +- Added a [new variable]({{}}) +, **\$request_id** + +...and much more! Keep reading to learn more about what changed since 1.31.1. + +## WebAssembly: Support for Wasm components and the WASI 0.2 API + +Since the release of Unit 1.31.0 in August 2023 and the announcement of our +technology preview for WebAssembly, a lot has changed and happened in the +WebAssembly ecosystem. + +So we evolved and with 1.32.0, we are happy to announce the support for the +WebAssembly Component Model using the WASI 0.2 APIs. This opens the +possibilities to run Wasm Components compatible with the WASI 0.2 APIs on Unit +without having a need to rebuild them. This is also the first Language Module +for Unit that was driven by the Community. Special thanks to Alex Crichton +for the contribution! + +We are preparing a blog post where we will dive deeper into the details of the +new WebAssembly language module. Stay tuned! + +## Enhanced scripting support - Use Unit-variables in NGINX JavaScript + +Using JavaScript in Unit's configuration unlocks almost endless opportunities. +A simple Unit configuration can be used to decide where a request should be +routed or rewritten to by creating the values for **pass** and **rewrite** +dynamically inside a JavaScript function. + +Previously JavaScript modules had access to a +{doc}`limited set of objects and scalars <../../scripting>`. Now JavaScript has +access to all of {ref}`Unit's variables ` through +the vars object. + +In the following sample configuration, we set the **Cache-Control** header +based on the HTTP method. We do this by accessing the method variable as +**vars.method**. When the method starts with a "P" (POST, PUT, PATCH), +we do not want to cache the response. For all other methods we set a **max-age** +of 3600 seconds. + +```json +{ + "action": { + "pass": "applications/my_app", + "response_headers": { + "Cache-Control": "`${vars.method.startsWith('P') ? 'no-cache' : 'max-age=3600'}`" + } + } +} +``` + +## Conditional access logging {#conditional-access-logging-news} + +Access logs are a great way to monitor the traffic sent to Unit. +However, you might find that certain requests, such as regular +health checks and automated UI tests, aren't ones you want +cluttering up your logs. While these checks are crucial for monitoring +the health of your services or web applications, they can significantly +increase the volume of data in your access logs, leading to unnecessary noise. + +With conditional access logging, you can define rules to decide if a request +should be logged or not. + +```json +{ + "access_log": { + "if": "`${uri == '/health' ? false : true}`", + "path": "/var/log/unit/access.log", + "format": "`${host + ': ' + uri}`" + } +} +``` + +In this example we don't want to log any health checks sent to Unit. +As shown in our example, to get the maximum out of the newly added **if** +option, you can combine it with our JavaScript scripting feature, but this +is not a must. + +The **if** option also supports simple string validation to check if a value +is present in a request or not. + +```json +{ + "access_log": { + "if": "$cookie_session", + "path": "…" + } +} +``` + +In this example Unit will check the existence of a Cookie named session +and only log requests when it exists. + +## CLI enhancements + +The **unitc** command line tool is a convenient way of applying and editing Unit +configuration without constructing lengthy **curl(1)** commands or knowing where +the control socket is located. Unit 1.32.0 includes two useful enhancements to +**unitc** that are included in the official packages. + +A Docker container ID can now be specified as the configuration target. +To access the configuration of a local Unit container, use the **docker://** +scheme to specify the container ID or name. + +It is now also possible to convert Unit's configuration to and from YAML. +This can be convenient when a more compact format is desirable, such as when +storing it in a source control system. YAML format also provides an elegant way +of displaying Unit's usage statistics without the noise" of JSON. + +Let's combine these two enhancements to display a compact form of Unit's usage +statistics from a Docker container: + +```bash +$ unitc docker://f4f3d9e918e6 /status --format YAML +connections: + accepted: 1067 + active: 13 + idle: 4 + closed: 1050 +requests: + total: 1307 +applications: + my_app: + processes: + running: 14 + starting: 0 + idle: 4 + requests: + active: 10 +``` + +Note that the [yq(1)](https://github.com/mikefarah/yq#install) tool is required +for YAML format conversion. + +## Unit is now on GitHub! + +This release is special! Special for us and the Community! As you may have +noticed we have moved more and more of our development and planning workloads +from our old systems to [GitHub](https://github.com/nginx/unit/). + +GitHub is no longer just a read-only mirror. It now serves as the primary +source for our source code and tests. We invite you to create +[issues](https://github.com/nginx/unit/issues), contribute through +[pull requests](https://github.com/nginx/unit/pulls), or join our +[discussions](https://github.com/nginx/unit/discussions). There are many +ways to get involved with us. + +We've also fully transitioned the development and maintenance of unit.nginx.org +to the [Github unit-docs](https://github.com/nginx/unit-docs/) repository. +We look forward to pull requests and issues that will improve our documentation. + +## Changes in behavior and other updates + +### Docker image uses **stderr**, so now you can send **access_log** to stdout + +With 1.32.0 the **unit.log** file is symlinked to the container's +**/dev/stderr** instead of **/dev/stdout**. This leaves room for the +*access_log* to be redirected to **/dev/stdout** and will not populate +the Unit log messages to **stdout** which might be scraped by log collectors. + +### unit.nginx.org/download/ is now sources.nginx.org/unit/ + +We have moved the location of the Unit tarballs from "unit.nginx.org/download/" +to a new, central source archive for NGINX: +[sources.nginx.org/unit/](https://sources.nginx.org/unit/). + +The old link is currently proxying to the new location, but officially +deprecated now! Please update to the new location "sources.nginx.org/unit/". + +## Wall of fame + +Special Thanks to all external contributors helping us +making Unit better! With 1.32.0 we would like to send a shout out to: + +- Alejandro Colomar +- Alex Crichton +- Andrei Vasiliu +- Chris Adams +- David Carlier +- Dean Coakley +- rustedsword +- Hippolyte Pello +- Javier Evans + +## Full Changelog + +```none +Changes with Unit 1.32.0 27 Feb 2024 + + *) Feature: WebAssembly Components using WASI interfaces defined in + wasi:http/proxy@0.2.0. + + *) Feature: conditional access logging. + + *) Feature: NJS variables access. + + *) Feature: $request_id variable contains a string that is formed using + random data and can be used as a unique request identifier. + + *) Feature: options to set control socket permissions. + + *) Feature: Ruby arrays in response headers, improving compatibility + with Rack v3.0. + + *) Feature: Python bytearray response bodies for ASGI applications. + + *) Bugfix: router could crash while sending large files. Thanks to + rustedsword. + + *) Bugfix: serving static files from a network filesystem could lead to + error. + + *) Bugfix: "uidmap" and "gidmap" isolation options validation. + + *) Bugfix: abstract UNIX socket name could be corrupted during + configuration validation. Thanks to Alejandro Colomar. + + *) Bugfix: HTTP header field value encoding could be misinterpreted in + Python module. + + *) Bugfix: Node.js http.createServer() accepts and ignores the "options" + argument, improving compatibility with strapi applications, among + others. + + *) Bugfix: ServerRequest.flushHeaders() implemented in Node.js module to + make it compatible with Next.js. + + *) Bugfix: ServerRequest.httpVersion variable format in Node.js module. + + *) Bugfix: Node.js module handles standard library imports prefixed with + "node:", making it possible to run newer Nuxt applications, among + others. + + *) Bugfix: Node.js tarball location changed to avoid build/install + errors. + + *) Bugfix: Go module sets environment variables necessary for building + on macOS/arm64 systems. +``` diff --git a/content/unit/news/2024/unit-1.32.1-released.md b/content/unit/news/2024/unit-1.32.1-released.md new file mode 100644 index 000000000..69dcfc261 --- /dev/null +++ b/content/unit/news/2024/unit-1.32.1-released.md @@ -0,0 +1,39 @@ +--- +title: Unit 1.32.1 Released +weight: 300 +--- + +NGINX Unit 1.32.1 is a maintenance release that fixes bugs in the new WebAssembly Language Module and in our njs implementation. + +## Resolved issues + +This release fixes the following issues: + +### Applications of type `wasm-wasi-component` can't be restarted + +Applications deployed as `wasm-wasi-components` can't be restarted using the `restart` endpoint. + +After deploying a new Wasm Component binary to disk, the restart will trigger a reload of the component in Unit without restarting the server. + +As restarts will work independently of the application type, the behavior shipped with **1.32.0** was not right. It has been fixed in this release. + +### Unit-variables in NGINX JavaScript are constantly cached + +In **1.32.0** we added the possibility to access all Unit variables form inside njs. + +As reported in GitHub issue [#1169](https://github.com/nginx/unit/issues/1169) the variables were cached and would hold the wrong value, which is not how this feature should work. With version 1.32.1, we have fixed this issue. + +## Full Changelog + +```none +Changes with Unit 1.32.1 26 Mar 2024 + + *) Bugfix: NJS variables in templates may have incorrect values due to + improper caching. + + *) Bugfix: Wasm application process hangs after receiving restart signal + from the control. +``` + +For a full list of changes and bugfixes, +please see the [changelog]({{< relref "/unit/changes.md" >}}. diff --git a/content/unit/news/2024/unit-1.33.0-released.md b/content/unit/news/2024/unit-1.33.0-released.md new file mode 100644 index 000000000..db840f0ba --- /dev/null +++ b/content/unit/news/2024/unit-1.33.0-released.md @@ -0,0 +1,192 @@ +--- +title: Unit 1.33.0 Released +weight: 200 +--- + +We are pleased to announce the release of NGINX Unit 1.33.0. This release includes +a number of new features and changes: + +## New configuration options + +This release introduces three new configuration options: + +1. **listen_threads** + + This option can be set under **/settings/listen_threads** and controls the + number of threads the router process creates to handle client + connections. By default, Unit creates the same number of threads as there + are CPUs available. + +2. **backlog** + + This option can be set under **/listeners/backlog**. This is a per-listener + option that sets the the backlog parameter as passed to the **listen(2)** + system-call, which defines the maximum length for the queue of pending + connections for the socket. + + This is analogous to the **backlog** parameter of the **listen** directive in + NGINX. + +3. **factory** + + This option can be set under '/applications/\/factory' and is specific to + Python applications. This allows you to enable the `Application factories` + feature of Python. + + This option is a boolean value. If set to 'true', Unit treats 'callable' as + a factory. + + The default value is 'false'. + + NOTE: Unit does **not** support passing arguments to factories. + +## unitctl CLI tool + +[unitctl]({{}}) +is a Rust-based CLI tool that allows you to deploy, manage, and configure Unit +in your environment. + +{{< note >}} +This is a "Technical Preview" release of **unitctl**. We welcome feedback and +suggestions for this early access version. It is provided to test its features +and should not be used in production environments. +{{< /note >}} + +## Chunked request body support + +Unit can now accept chunked requests rather than returning **411 +Length Required**. This feature is experimental (not documented and subject to change), and can +be enabled setting the **/settings/chunked_transform** configuration option +to **true**. + +## Changes in behavior and other updates + +- On Linux, we now default to a **listen(2)** backlog of **-1**, which means we + use the OS's default: **4096** for Linux 5.4 and later; **128** for older versions. + + The previous default for Unit was 511. + +- Under systemd, Unit once again runs in **forking** mode. This allows the + per-application logging feature to work out the box. + +- The Python language module now supports **Application Factories** + (thanks to Gourav). + +## Changes for developers + +We have made some changes to the build system: + +### Prettified make output by default with GNU make + +Instead of getting the normal compiler command for each target being built +you now get a simplified line like: + +```console +CC build/src/nxt_cgroup.o +``` + +You can use the **V=1** option to get the old verbose output, for example: + +```console +make V=1 +``` + +### Make variables + +You can now control some aspects of the build process by passing variables to +**make** (like the above). The currently supported variables are: + +{{}} + +| Option | Description | Default | +|----------------|--------------------------------|---------| +| **D=1** | Enables debug builds (-O0) | 0 | +| **E=0** | Disables -Werror | 1 | +| **V=1** | Enables verbose output | 0 | +| **EXTRA_CFLAGS=** | Add extra compiler options | | + +{{}} + + +### GCC & Clang + +We removed support for several lesser-known compilers. GCC and Clang are now the +only supported compilers for building Unit. + +### -std=gnu11 + +We now build with **-std=gnu11** (C11 with GNU extensions). While previously we +didn't explicitly set the -std= option, as we were supporting CentOS 7 (which is now +EOL), we were effectively limited to **-std=gnu89/90**. + +## Wall of fame + +Special Thanks to all external contributors helping us +making Unit better! With 1.33.0 we would like to send a shout out to: + +- Alejandro Colomar +- Costas Drongos +- Gourav +- Remi Collet +- Robbie McKinstry + +Special thanks to Arjun for his fuzzing work. + +## Full Changelog + +```none +Changes with Unit 1.33.0 18 Sep 2024 + + *) Feature: show list of loaded language modules in the /status + endpoint. + + *) Feature: make the number of router threads configurable. + + *) Feature: make the listen(2) backlog configurable. + + *) Feature: add fuzzing via oss-fuzz. + + *) Feature: add Python application factory support. + + *) Feature: add chunked request body support. + + *) Feature: add "if" option to the "match" object. + + *) Feature: Unit ships with a new Rust based CLI application "unitctl". + + *) Feature: the wasm-wasi-component language module now inherits the + processes environment. + + *) Change: under systemd unit runs in forking mode (once again). + + *) Change: if building with njs, version 0.8.3 or later is now required. + + *) Change: Unit now builds with -std=gnu11 (C11 with GNU extensions). + + *) Change: Unit now creates the full directory path for the PID file and + control socket. + + *) Change: build system improvements, including pretty printing the make + output and enabling various make variables to influence the build + process (see: make help). + + *) Change: better detection of available runnable CPUs on Linux. + + *) Change: default listen(2) backlog on Linux now defaults to Kernel + default. + + *) Bugfix: fix a crash when interrupting a download via a proxy. + + *) Bugfix: don't create the $runstatedir directory which triggered an + Alpine packaging error. + + *) Bugfix: wasm-wasi-component application process hangs after receiving + restart signal from the control endpoint. + + *) Bugfix: njs variables accessed with a JS template literal should not + be cacheable. + + *) Bugfix: don't modify REQUEST_URI. + + *) Bugfix: properly handle deleting arrays of certificates. +``` diff --git a/content/unit/news/2024/unit-1.34.0-released.md b/content/unit/news/2024/unit-1.34.0-released.md new file mode 100644 index 000000000..3a3e89f0c --- /dev/null +++ b/content/unit/news/2024/unit-1.34.0-released.md @@ -0,0 +1,148 @@ +--- +title: Unit 1.34.0 Released +weight: 100 +--- + +We are pleased to announce the release of NGINX Unit 1.34.0. This release +includes a number of new features and changes: + +## JSON formatted access logs + +This release introduces the ability to specify a JSON format for access logs. + +When defining an access log you can specify 'format' as an object defining +JSON field name/value pairs, e.g. + +```json +{ + "access_log": { + "path": "/tmp/access.log", + "format": { + "remote_addr": "$remote_addr", + "time_local": "$time_local", + "request_line": "$request_line", + "status": "$status", + "body_bytes_sent": "$body_bytes_sent", + "header_referer": "$header_referer", + "header_user_agent": "$header_user_agent" + } + } +} +``` + +The JSON *values* support being strings, variables and JavaScript. + +## OpenTelemetry (OTEL) + +This release includes initial support for OpenTelemtry (OTEL) +\<> + +This support has been added via the OpenTelemetry Rust SDK and as such +requires cargo/rust to build. + +An example configuration looks like + +```json +{ + "listeners": { + "[::1]:8080": { + "pass": "routes" + } + }, + + "settings": { + "telemetry": { + "batch_size": 20, + "endpoint": "http://example.com/v1/traces", + "protocol": "http", + "sampling_ratio": 1 + } + }, + + "routes": [ + { + "match": { + "headers": { + "accept": "*text/html*" + } + }, + "action": { + "share": "/usr/share/unit/welcome/welcome.html" + } + }, { + "action": { + "share": "/usr/share/unit/welcome/welcome.md" + } + } + ] +} +``` + +- **endpoint** + + The endpoint for the OpenTelemetry (OTEL) Collector. This is required. + + The value must be a URL to either a gRPC or HTTP endpoint. + +- **protocol** + + Determines the protocol used to communicate with the endpoint. This is + required. + + Can be either "http" or "grpc". + +- **batch_size** + + Number of spans to cache before triggering a transaction with the + configured endpoint. This is optional. + + This allows the user to cache up to N spans before the OpenTelemetry + (OTEL) background thread sends spans over the network to the collector. + + Must be a positive integer. + +- **sampling_ratio** + + Percentage of requests to trace. This is optional. + + This allows the user to only trace anywhere from 0% to 100% of requests + that hit Unit. In high throughput environments this percentage should be + lower. This allows the user to save space in storing span data, and to + collect request metrics like time to decode headers and whatnot without + storing massive amounts of duplicate superfluous data. + + Must be a positive floating point number. + + This support is disabled by default but can be enabled by passing --otel + to ./configure. + +## Changes to language modules + +- The Perl language module no longer adds a 'new' constructor to parsed + scripts. It's not required and could interfere with scripts that were + trying to use 'new' themselves. + +## Changes for developers + +- -funsigned-char + + We now compile Unit with -funsigned-char, this ensures we are using the + same char type on all platforms (what you get by default varies by + platform). + + This is also a first step in getting rid of (mostly at least) our usage of + u_char and using char instead, which better aligns with libc interfaces and + so on. + +## Full Changelog + +```none +Changes with Unit 1.34.0 19 Dec 2024 + + *) Feature: initial OpenTelemetry (OTEL) support. (Disabled by default). + + *) Feature: support for JSON formatted access logs. + + *) Bugfix: tweak the Perl language module to avoid breaking scripts in + some circumstances. +``` diff --git a/content/unit/news/2024/wasm-component-model-part-1.md b/content/unit/news/2024/wasm-component-model-part-1.md new file mode 100644 index 000000000..fde637994 --- /dev/null +++ b/content/unit/news/2024/wasm-component-model-part-1.md @@ -0,0 +1,69 @@ +--- +title: The WebAssembly Component Model - Part 1 +weight: 500 +--- + +Are you interested in getting started with the WebAssembly Component Model but feel overwhelmed by the ecosystem and unsure where to begin? If so, this blog post is for you! + +In this post, we'll share some of the lessons we learned and the "aha" moments we experienced while adding support for the WebAssembly Component Model to NGINX Unit, thanks to the assistance of the robust and active community. + +If you're already familiar with the Wasm ecosystem or just would like to get started with code, feel free to jump directly to [Part 2](/news/2024/wasm-component-model-part-2) of this blog series. + +## The WebAssembly Component Model and NGINX Unit + +A lot has happened since we shipped the first version of our Wasm Language Module for Unit. +Back in September 2023 we said: + +> We introduce WebAssembly support as a Technology Preview - we expect to replace it with WASI-HTTP support as soon as that is possible. + +We have done just that with Unit 1.32.0. This release supports Wasm Components using the WASI 0.2 APIs and the wasi:http/proxy world as its main interface. + +Let's pause here for a moment. If the previous sentence contained unfamiliar vocabulary, don't worry. This blog post will explain the concept of the Component Model for WebAssembly (Wasm) and the role that the WebAssembly System Interface (WASI) plays in this context. We will also discuss the significance of the "WebAssembly Interface Types." + +As you can read in our first [Wasm blog post](https://www.nginx.com/blog/server-side-webassembly-nginx-unit/), the Wasm runtime shares data with the Wasm Module as raw bytes over shared memory. To make sense of this byte stream, the Host as well as the Wasm Module must speak about the same things or technically speaking, implementing the same interfaces. It is a core concept of NGINX Unit to create an application-specific context of an incoming HTTP request and share this set of bytes in memory with the runtime. + +This is exactly what we did with **unit-wasm** and it was an interesting and necessary learning to add Wasm support to Unit. However, this is far away from implementing or using a standard. This is where the Wasm Component Model comes into play. + +The WebAssembly (Wasm) Component Model outlines how different Wasm modules, or components, can communicate with each other and the runtime environment. It establishes specific contracts that must be met to ensure that code compiled into a Wasm component can be hosted on a compatible runtime and seamlessly exchange data with other Wasm components during runtime. + +To provide a practical illustration of this theoretical framework, we can examine the implementation found in NGINX Unit, which serves as a textbook example of the Wasm Component Model in action. + +The two essential parts of the Wasm Component Model are the WebAssembly System Interface (WASI) and WebAssembly Interface Types (WIT). +Let's have a closer look on the two standards. + +## WASI and WIT + +WASI is short for "WebAssembly System Interface" and was introduced by the Wasmtime project and was designed from the ground up for Wasm. WASI is a portable system interface for Wasm that provides access to several operating system-like features, including files and the file system, sockets, clocks, random numbers, and more. But why is that necessary? + +As we are creating Wasm components for server-side runtimes, we cannot target browser-based Wasm runtimes anymore where Web APIs or JavaScript is used to provide this functionality. Code that is outside the browser needs a way to talk to the underlaying system. To better understand where WASI comes into play, we develop a very simple program, written in Rust that will print out "Hello World". + +The code we write can be compiled into an executable binary file. After launching it, we will see "Hello World" printed on the command line. The magic behind this is a standard called POSIX, which defines system calls. System calls work differently on different operating systems. + +WASI provides an abstraction layer for those syscalls, that can be targeted from the code that will be compiled to Wasm. +A WASI compatible runtime will be able to handle the execution of that code. We see this in action in our [Rust tutorial](/news/2024/wasm-component-model-part-2) further in part 2 of this blog series. Since Preview2 of the WASI proposal - [the WASI-APIs are defined in WIT-files](https://bytecodealliance.org/articles/webassembly-the-updated-roadmap-for-developers#webassembly-system-interface-wasi). + +WIT (Wasm Interface Types) is a descriptive [interface description language (IDL)]() used to define interfaces. It isn't a general-purpose coding language. The written WIT files don't contain any business logic; they are pure definitions of contracts. Multiple interfaces can be further combined into worlds. While it is not required to deeply understand the way you can create your own WIT-files, it will help to track down issues or trouble-shoot them while building components. To learn more about the WIT programming language, see the official [documentation.](https://component-model.bytecodealliance.org/design/wit.html#structure-of-a-wit-file) + +The WIT files used by the Wasm Component Model and the **wasi:http/proxy** world in specific, are created and maintained by the Bytecode Alliance. At the time of writing this blog post, the best way to make use of them are the Wasmtime project's GitHub repository and a manual pull. + +One of the interesting facts about WIT-files is the versioning system. As the host implementing the Wasm runtime as well as the component we are about to build are creating bindings for the contracts defined by the WIT files, it is important to target the same version of those contracts or choose a runtime that supports multiple versions of those WIT files. But this is worth another blog post. For now, we should focus on the latest stable release, which it was published in February 2024 and is labeled as WASI 0.2. +This release included **wasi:cli** and the **wasi:http** worlds. + +In the WebAssembly ecosystem, these contracts are referred to as "worlds." Therefore, we will use that term from now on. For the use cases of NGINX Unit, it was pretty clear we will be targeting the **wasi:http/proxy** world. You can think of the **wasi:http/proxy** world as the set of interfaces describing how a HTTP request and response will look like, including all its data (HTTP Method, Headers, Body, and more). If you are an old-school web developer, this might remind you of CGI. + +## NGINX Unit, Wasmtime and Rust - A runtime implementation + +After a brief investigation, we discovered that the WASI/WIT pair we'd already heard of plays a vital role in supporting the Component Model. As the host, Unit must implement the WASI HTTP proxy interfaces defined by WIT files to fulfill the contract. This isn't new information; we were already aware of this fact. Since we're using Wasmtime as the Wasm runtime, we could delegate this task to the runtime, right? Indeed, we could! However, there was a small but significant detail: our implementation at the time was written entirely in C using the Wasmtime C-APIs. Unfortunately, these APIs lack the necessary functions to support the Component Model. + +As mentioned at the beginning of this article, any challenge, regardless of its complexity, can be solved when the right people and community share the same mindset. +Fermyon has been, and continues to be, a valuable and significant partner for us. After a late-night Slack and Zoom Session, we found it too complex to add native support for the Component Model to the Wasmtime C-API. Additionally, implementing the interfaces manually with WIT files without help from automation tools like **bindgen** would result in a significant amount of ongoing upkeep work. + +While explaining how the internals of NGINX Unit and the current C-based Language Module work to Fermyon, they shared a prototype of a Rust-based Unit Language Module targeting the Rust API of Wasmtime. Not the C-API anymore. + +Now we are equipped with the necessary knowledge to write some code. + +## What's next? + +In the next part we will covering the process of creating a Wasm Component using Rust and the WASI 0.2 APIs. + +[Part 2]({{< relref "/unit/news/2024/wasm-component-model-part-2.md" >}}) diff --git a/content/unit/news/2024/wasm-component-model-part-2.md b/content/unit/news/2024/wasm-component-model-part-2.md new file mode 100644 index 000000000..dda11ab81 --- /dev/null +++ b/content/unit/news/2024/wasm-component-model-part-2.md @@ -0,0 +1,233 @@ +--- +title: The WebAssembly Component Model - Part 2 +weight: 600 +--- + +This is Part 2 of our blog series about the Wasm Component Model, it's ecosytem and how to use Wasm Components with NGINX Unit. +In [Part 1](/news/2024/wasm-component-model-part-1) we have covered all the conceptional parts. In this part, we will focus on the process of creating a Wasm Component. + +## Tutorial - A Rust based Wasm Component + +Rust is the premier language for WebAssembly development and the most mature in terms of support. In the example, we will use Rust and its ecosystem to create a Wasm Component that can be hosted directly on NGINX Unit. + +This tutorial targets Linux-based operating systems and MacOS. If you are on Windows, we recommend using WSL2 (Windows Subsystem for Linux) to follow along. If you haven't already installed NGINX Unit alongside the WebAssembly language module, please refer to the [docs](https://docs.nginx.com/nginx-unit/installation/#official-packages) on how to do it or use the official [Docker Image](https://docs.nginx.com/nginx-unit/installation/#docker-images) **unit:wasm**. + +### Rust Development Setup + +Let's start by installing the Rust ecosystem, if not already done. At the time of writing, Rust 1.76 is the latest stable version. +To install Rust, see the instructions on their [website](https://www.rust-lang.org/tools/install). + +After the installation completes, you can confirm the current version of Rust by running: + +```bash +$ rustc -V +rustc 1.76.0 (07dca489a 2024-02-04) +``` + +To work with Wasm Components, we need some additional tooling. This is a one-time setup for you to be able to write Rust source code and compile it to a Wasm Component. + +### Add the wasm32-wasi compiler target + +The wasm32-wasi compiler target will provide general Wasm support to your rustc installation. Add the target by running: + +```bash +$ rustup target add wasm32-wasi +``` + +### Install cargo-component + +**cargo-component** will add a cargo subcommand to build Wasm Components without any intermediate steps from our Rust project. +To install the latest version, run the following command: + +```bash +$ cargo install cargo-component +``` + +### Install wasmtime runtime and CLI for testing + +The wasmtime-cli will be used to test and play around with the Wasm component. At the time of writing, we are using Wasmtime 18. +To install the latest version of Wasmtime, run: + +```bash +$ curl https://wasmtime.dev/install.sh -sSf | bash +``` + +For more information about Wasmtime and installing it, see their [GitHub repository](https://github.com/bytecodealliance/wasmtime/) + +Once we have all the tools in place, we can create the Rust projects. + + + +### Using the **wasi** Rust library + +Our experience with the official WASI Rust library was very interesting and exciting. The component build time was fascinating, and the library has a low dependency footprint. However, there are some costs in terms of developer experience. See for yourselves: + +Start by creating a new Wasm Component using **cargo component**: + +```bash +$ cargo component new --lib test-wasi-component +``` + +Navigate into the **test-wasi-component** directory. + +Add the **wasi** crate: + +```bash +$ cargo add wasi +``` + +Next, modify the **Cargo.toml** file with the text editor of your choice. Add the **proxy = true** configuration to the **[package.metadata.component]** section. After saving the changes, your **Cargo.toml** file should look like this: + +```toml +[package] +name = "test-wasi-component" +version = "0.1.0" +edition = "2021" + +[dependencies] +bitflags = "2.4.2" +wit-bindgen-rt = "0.21.0" +wasi = "0.13.0" + +[lib] +crate-type = ["cdylib"] + +[package.metadata.component] +package = "component:test-wasi-component" +proxy = true + +[package.metadata.component.dependencies] +``` + +The actual code from **src/lib.rs** should look like this: + +```rust +use wasi::http::types::{ + Fields, IncomingRequest, OutgoingBody, OutgoingResponse, ResponseOutparam, +}; + +wasi::http::proxy::export!(Component); + +struct Component; + +impl wasi::exports::http::incoming_handler::Guest for Component { + fn handle(_request: IncomingRequest, response_out: ResponseOutparam) { + + let hdrs = Fields::new(); + let mesg = String::from("Hello, This is a Wasm Component using wasi/http:proxy!"); + let _try = hdrs.set(&"Content-Type".to_string(), &[b"plain/text".to_vec()]); + let _try = hdrs.set(&"Content-Length".to_string(), &[mesg.len().to_string().as_bytes().to_vec()]); + + let resp = OutgoingResponse::new(hdrs); + + // Add the HTTP Response Status Code + resp.set_status_code(200).unwrap(); + + let body = resp.body().unwrap(); + ResponseOutparam::set(response_out, Ok(resp)); + + let out = body.write().unwrap(); + out.blocking_write_and_flush(mesg.as_bytes()).unwrap(); + drop(out); + + OutgoingBody::finish(body, None).unwrap(); + } +} +``` + +Targeting the wasi crate requires some low-level Rust work by us. Not bad at all, but something to consider when choosing this option. For the **wasi:http/proxy** world there is an interface description available on [GitHub](https://github.com/WebAssembly/wasi-http/blob/main/proxy.md) which will help to write your code. + +Let's build the component. Run the following command from the **test-wasi-component** directory: + +```bash +$ cargo component build --release +``` + +The build shows a very small dependency footprint, so is a major benefit from the wasi crate. + +To test the Component, we can use wasmtime serve. + +```bash +$ wasmtime serve target/wasm32-wasi/release/test_wasi_component.wasm +``` + +The output should look like the following: + +```bash +$ wasmtime serve target/wasm32-wasi/release/test_wasi_component.wasm + Serving HTTP on http://0.0.0.0:8080/ +``` + +Sending a request to the exposed endpoint will output something like this: + +```bash +$ curl -v localhost:8080 +… +> GET / HTTP/1.1 +> Host: localhost:8080 +> User-Agent: curl/8.4.0 +> Accept: */* +> +< HTTP/1.1 200 OK +< content-type: plain/text +< content-length: 54 +< date: Tue, 12 Mar 2024 12:28:56 GMT +< +* Connection #0 to host localhost left intact +Hello, This is a Wasm Component using wasi/http:proxy! +``` + +## NGINX Unit for production grade Wasm workloads + +While the **wasmtime-cli** interface is good for testing Wasm components locally, there are more requirements for production workloads. + +With NGINX Units Wasm runtime, you will be able to run your Wasm workloads next to other host applications on a single host and make use of all the other powerful Unit features. Given Units design and as we have decoupled the listeners from the application runtime, you can make full use of the Unit Router to make routing decisions before sharing a request with your Wasm Component or add HTTPS to your stack. + +To run the component on NGINX Unit, start Unit, and send the initial configuration, make sure you point to the Wasm component by using an absolute path. + +Create a **config.json** file: + +```json +{ + "listeners": { + "127.0.0.1:8085": { + "pass": "applications/my-wasm-component" + } + }, + "applications": { + "my-wasm-component": { + "type": "wasm-wasi-component", + "component": "path/target/wasm32-wasi/release/test_wasi_component.wasm" + } + } +} +``` + +Apply the configuration using **unitc**: + +```bash +$ unitc config.json /config +``` + +Sending a request to the exposed endpoint will create the same output from a different runtime implementation: + +```bash +$ curl -v localhost:8085 +… +< HTTP/1.1 200 OK +< content-type: plain/text +< content-length: 54 +< Server: Unit/1.32.0 +< Date: Tue, 12 Mar 2024 15:16:13 GMT +< +* Connection #0 to host localhost left intact +Hello, This is a Wasm Component using wasi/http:proxy! +``` + +This is the full power of Wasm Components. Build once - run on every runtime. + +## What's next? + +The Wasm ecosystem and all its associated projects are undergoing rapid and positive changes. Every week brings new features and opportunities for innovation. NGINX Unit remains dedicated to Wasm and will continue implementing new features in our Wasmtime integration and publishing technical blog posts about Wasm. + +Feel free to share your feedback about this blog post on our [GitHub discussions](https://github.com/nginx/unit/discussions) page. We'd love to know what you think is missing regarding the work with Wasm Components. diff --git a/content/unit/news/2025/_index.md b/content/unit/news/2025/_index.md new file mode 100644 index 000000000..b44aade6e --- /dev/null +++ b/content/unit/news/2025/_index.md @@ -0,0 +1,4 @@ +--- +title: 2025 +weight: 100 +--- \ No newline at end of file diff --git a/content/unit/news/2025/unit-1.34.1-released.md b/content/unit/news/2025/unit-1.34.1-released.md new file mode 100644 index 000000000..5772af0c4 --- /dev/null +++ b/content/unit/news/2025/unit-1.34.1-released.md @@ -0,0 +1,24 @@ +--- +title: Unit 1.34.1 Released +weight: 100 +--- + +We are pleased to announce the release of NGINX Unit 1.34.1. This is a +maintenance release that fixes stability issues caused by the +OpenTelemetry (OTEL) support that was added in the previous release. + +- It addresses instability issues resulting in Unit segmentation + faulting when OTEL was not actually configured. +- It addresses issues of not being able to build Unit with OTEL support + on various platforms, including macOS. + +## Full Changelog + +```none +Changes with Unit 1.34.1 10 Jan 2025 + + *) Bugfix: fix instability issues due to OpenTelemetry (OTEL) support. + + *) Bugfix: fix issues with building OpenTelemetry (OTEL) support on + various platforms, including macOS. +``` diff --git a/content/unit/news/_index.md b/content/unit/news/_index.md new file mode 100644 index 000000000..073b6ad27 --- /dev/null +++ b/content/unit/news/_index.md @@ -0,0 +1,4 @@ +--- +title: Releases and announcements +weight: 20000 +--- \ No newline at end of file diff --git a/content/unit/news/archived-news/2018.md b/content/unit/news/archived-news/2018.md new file mode 100644 index 000000000..947b16e63 --- /dev/null +++ b/content/unit/news/archived-news/2018.md @@ -0,0 +1,633 @@ +--- +title: 2018 +weight: 500 +toc: true +--- + +## Unit 1.7 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This is a bugfix release with a primary focus on the stabilization of +the Node.js module. We have made great progress with it, and now Node.js +support is in much better shape than before. + +```none +Changes with Unit 1.7 20 Dec 2018 + + *) Change: now rpath is set in Ruby module only if the library was not + found in default search paths; this allows to meet packaging + restrictions on some systems. + + *) Bugfix: "disable_functions" and "disable_classes" PHP options set via + Control API did not work. + + *) Bugfix: Promises on request data in Node.js were not triggered. + + *) Bugfix: various compatibility issues with Node.js applications. + + *) Bugfix: a segmentation fault occurred in Node.js module if + application tried to read request body after request.end() was + called. + + *) Bugfix: a segmentation fault occurred in Node.js module if + application attempted to send header twice. + + *) Bugfix: names of response header fields in Node.js module were + erroneously treated as case-sensitive. + + *) Bugfix: uncatched exceptions in Node.js were not logged. + + *) Bugfix: global install of Node.js module from sources was broken on + some systems; the bug had appeared in 1.6. + + *) Bugfix: traceback for exceptions during initialization of Python + applications might not be logged. + + *) Bugfix: PHP module build failed if PHP interpreter was built with + thread safety enabled. +``` + +Highly likely, this is the last release of Unit in 2018, so I would like to +wish you a Happy New Year on the behalf of the entire Unit team. + +2018 was an exciting year in Unit development. Many important features have +been introduced, including: + +- Advanced Process Management, which allows scaling application processes + dynamically depending on the amount of load. Thanks go to Maxim Romanov + who primarily worked on this feature. + + Documentation: https://docs.nginx.com/nginx-unit/configuration/#process-management + +- Perl, Ruby, and Node.js application support. Thanks to Alexander Borisov + who implemented these language modules. + +- TLS support and Certificates Storage API that allows to dynamically + configure TLS certificates. Thanks to Igor Sysoev who collaborated with + me on this feature. + + Documentation: https://docs.nginx.com/nginx-unit/certificates/ + +- C API language modules were moved into a separate library; this helped a lot + with Node.js integration and aids the upcoming Java support. Thanks again + to Maxim Romanov for this work. + +- Essential access logging support. + Documentation: https://docs.nginx.com/nginx-unit/configuration/#access-log + +- Advanced settings for applications including environment variables, runtime + arguments, PHP options, and php.ini path customization. + +I can’t imagine releasing any of these features without the effort of our QA +engineer, Andrey Zelenkov, who relentlessly improves test coverage of Unit +codebase, runs various fuzzing tests, and reports any suspicious behaviour +to the developers. + +In addition, one of the most important achievements of the year was a tangible +improvement of documentation quality. The unit.nginx.org website is up-to-date +now and covers all the features introduced in the new and previous Unit +releases. This duty was successfully carried out by our technical writer, +Artem Konev. + +Besides, he continues refactoring the documentation and plans to introduce +HowTos for various use cases and applications. If you have any particular +suggestions concerning applications you’d like to configure with Unit, +please create a feature request in our documentation issue tracker on GitHub: +https://github.com/nginx/unit-docs/issues + +Thanks to our system engineers, Andrei Belov and Konstantin Pavlov, who are +toiling over packages in our own repositories and images in Docker hub. + +Thanks to our product manager Nick Shadrin who helps us to envision our +strategy and gives excellent talks on conferences around the world. +You can see him in the latest Unit demo session at NGINX Conf 2018: +https://www.youtube.com/watch?v=JQZKbIG3uro + +Of course, everything I’ve just mentioned wouldn’t be possible without our +vibrant community; our users who are eager to move their projects to Unit; +everyone who reports bugs and suggests features, guiding us to the right path. +We urge everybody to participate via our mailing list at unit/at/nginx.org or +on GitHub: https://github.com/nginx/unit + +I gladly mention 洪志道 (Hong Zhi Dao) as one of the most active community +members who not only reports bugs but also reads our code, asks pointed +questions, and regularly sends patches with improvements. Thank you very much +for your contribution. + +Special thanks go to the maintainers of Unit packages in various community +repositories: Sergey A. Osokin (FreeBSD), Ralph Seichter (Gentoo), André +Klitzing (Alpine Linux), and Julian Brost (Arch Linux). Sorry if I didn't +mention anyone else who maintains Unit packages for other distributions; you +can open an issue for your repository to be included in the Installation +section at unit.nginx.org: https://github.com/nginx/unit-docs/issues + +Unfortunately, we weren’t able to achieve each and every of our audacious +goals this year. The development of some features is postponed until +the upcoming year. + +Currently, there is ongoing work on WebSocket support, the Java module, +request routing, and static files serving. + +We have already made good progress on the Java module. This work is underway +in a separate GitHub public `repository `__, so +everybody willing to run their Java applications on Unit can participate. + +Many other good things and announcements about Unit will surely happen in 2019. +Thank you for staying with us, and all the best. + +--- + +## Unit 1.6 Released + +Hello, + +I'm glad to announce a new release of NGINX Unit. + +This release primarily focuses on improvements in Node.js module compatibility; thanks to our vibrant community, we made great progress here. + +Please don't hesitate to report any problems to: + +- Github: https://github.com/nginx/unit/issues +- Mailing list: https://mailman.nginx.org/mailman/listinfo/unit + +If you have installed the `unit-http` module from [npm](https://www.npmjs.com), then don't forget to update it besides Unit itself. + +Detailed instructions for Node.js installation can be found here: +http://unit.nginx.org/installation/#node-js + +```none +Changes with Unit 1.6 15 Nov 2018 + + *) Change: "make install" now installs Node.js module as well if it was + configured. + + *) Feature: "--local" ./configure option to install Node.js module + locally. + + *) Bugfix: Node.js module might have crashed due to broken reference + counting. + + *) Bugfix: asynchronous operations in Node.js might not have worked. + + *) Bugfix: various compatibility issues with Node.js applications. + + *) Bugfix: "freed pointer is out of pool" alerts might have appeared in + log. + + *) Bugfix: module discovery didn't work on 64-bit big-endian systems + like IBM/S390x. +``` + +--- + +## Unit 1.5 Released + +Hello, + +I'm glad to announce a new release of NGINX Unit. + +This release introduces preliminary Node.js support. + +Currently it lacks WebSockets, and there's a known problem with "promises". However, our admirable users have already started testing it even before the release: https://medium.com/house-organ/what-an-absolute-unit-a36851e72554 + +Now it even easier, since Node.js package is published in [npm](https://www.npmjs.com): https://www.npmjs.com/package/unit-http + +So feel free to try it and give us feedback on: + + - Github: https://github.com/nginx/unit/issues + - Mailing list: https://mailman.nginx.org/mailman/listinfo/unit + +We will continue improving Node.js support in future releases. + +Among other features we are working on right now: WebSockets, Java module, flexible request routing, and serving of static media assets. + +```none +Changes with Unit 1.5 25 Oct 2018 + + *) Change: the "type" of application object for Go was changed to + "external". + + *) Feature: initial version of Node.js package with basic HTTP + request-response support. + + *) Feature: compatibility with LibreSSL. + + *) Feature: --libdir and --incdir ./configure options to install libunit + headers and static library. + + *) Bugfix: connection might be closed prematurely while sending + response; the bug had appeared in 1.3. + + *) Bugfix: application processes might have stopped handling requests, + producing "last message send failed: Resource temporarily + unavailable" alerts in log; the bug had appeared in 1.4. + + *) Bugfix: Go applications didn't work when Unit was built with musl C + library. +``` + +--- + +## Unit 1.4 Released + +Hello, + +I'm glad to announce a new release of NGINX Unit. + +The key feature of the new version is dynamically configurable TLS support +with certificate storage API that provides detailed information about your +certificate chains, including common and alternative names as well as +expiration dates. + +See the documentation for details: +https://docs.nginx.com/nginx-unit/certificates/ + +This is just our first step in TLS support. More configuration options +and various TLS-related features will be added in the future. + +Full-featured HTTP/2 support is also in our sights. + +```none + Changes with Unit 1.4 20 Sep 2018 + + *) Change: the control API maps the configuration object only at + "/config/". + + *) Feature: TLS support for client connections. + + *) Feature: TLS certificates storage control API. + + *) Feature: Unit library (libunit) to streamline language module + integration. + + *) Feature: "408 Request Timeout" responses while closing HTTP + keep-alive connections. + + *) Feature: improvements in OpenBSD support. Thanks to David Carlier. + + *) Bugfix: a segmentation fault might have occurred after + reconfiguration. + + *) Bugfix: building on systems with non-default locale might be broken. + + *) Bugfix: "header_read_timeout" might not work properly. + + *) Bugfix: header fields values with non-ASCII bytes might be handled + incorrectly in Python 3 module. +``` + +In a few weeks, we are going to add preliminary Node.js support. It's almost +ready; our QA engineers are already testing it. + +Now we are also working on Java module, WebSockets support, flexible request +routing, and serving of static media assets. + +Please also welcome Artem Konev, who joined our team as a technical writer. He +has already started improving documentation on the website and updated it with +the configuration options currently available: +https://github.com/nginx/unit-docs/ + +Of course, the website still leaves much to be desired, so Artem will strive to +provide industry-grade documentation for Unit. You are welcome to join this +effort with your ideas, suggestions, and edits: just send a pull request or +open an issue in our documentation repository on GitHub: +https://github.com/nginx/unit-docs/ + +Stay tuned! + +--- + +## Unit 1.3 Released + +Hello, + +I'm glad to announce a new release of NGINX Unit. + +```none + Changes with Unit 1.3 13 Jul 2018 + + *) Change: UTF-8 characters are now allowed in request header field + values. + + *) Feature: configuration of the request body size limit. + + *) Feature: configuration of various HTTP connection timeouts. + + *) Feature: Ruby module now automatically uses Bundler where possible. + + *) Feature: http.Flusher interface in Go module. + + *) Bugfix: various issues in HTTP connection errors handling. + + *) Bugfix: requests with body data might be handled incorrectly in PHP + module. + + *) Bugfix: individual PHP configuration options specified via control + API were reset to previous values after the first request in + application process. +``` + +Here's an example configuration with new parameters: + +```json + { + "settings": { + "http": { + "header_read_timeout": 30, + "body_read_timeout": 30, + "send_timeout": 30, + "idle_timeout": 180, + "max_body_size": 8388608 + } + }, + + "listeners": { + "127.0.0.1:8034": { + "application": "mercurial" + } + }, + + "applications": { + "mercurial": { + "type": "python 2", + "module": "hgweb", + "path": "/data/hg" + } + } + } +``` + +All timeouts values are specified in seconds. The `max_body_size` value is specified in bytes. + +Please note that the parameters of the `http` object in this example are set to their default values. So, there's no need to set them explicitly if you are happy with the values above. + +Binary Linux packages and Docker images are available here: + +- Packages: https://docs.nginx.com/nginx-unit/installation/#official-packages +- Docker: https://hub.docker.com/r/nginx/unit/tags/ + +Also, please follow our blog posts to learn more about new features in the recent versions of Unit: https://www.nginx.com/blog/tag/nginx-unit/ + +--- + +## Unit 1.2 Released + +Hello, + +I'm glad to announce a new release of NGINX Unit. + +```none + Changes with Unit 1.2 07 Jun 2018 + + *) Feature: configuration of environment variables for application + processes. + + *) Feature: customization of php.ini path. + + *) Feature: setting of individual PHP configuration options. + + *) Feature: configuration of execution arguments for Go applications. + + *) Bugfix: keep-alive connections might hang after reconfiguration. +``` + +Here's an example of new configuration parameters of application objects: + +```json + { + "args-example": { + "type": "go", + "executable": "/path/to/compiled/go/binary", + "arguments": ["arg1", "arg2", "arg3"] + }, + + "opts-example": { + "type": "php", + "root": "/www/site", + "script": "phpinfo.php", + + "options": { + "file": "/path/to/php.ini", + "admin": { + "memory_limit": "256M", + "variables_order": "EGPCS", + "short_open_tag": "1" + }, + "user": { + "display_errors": "0" + } + } + }, + + "env-example": { + "type": "python", + "path": "/www/django", + "module": "wsgi", + + "environment": { + "DB_ENGINE": "django.db.backends.postgresql_psycopg2", + "DB_NAME": "mydb", + "DB_HOST": "127.0.0.1" + } + } + } +``` + +Please note that `environment` can be configured for any type of application. + +Binary Linux packages and Docker images are available here: + +- Packages: https://docs.nginx.com/nginx-unit/installation/#official-packages +- Docker: https://hub.docker.com/r/nginx/unit/tags/ + +--- + +## Unit 1.1 Released + +Hello, + +I'm glad to announce a new release of NGINX Unit. This is mostly a bugfix release with stability and compatibility improvements. + +```none + Changes with Unit 1.1 26 Apr 2018 + + *) Bugfix: Python applications that use the write() callable did not + work. + + *) Bugfix: virtual environments created with Python 3.3 or above might + not have worked. + + *) Bugfix: the request.Read() function in Go applications did not + produce EOF when the whole body was read. + + *) Bugfix: a segmentation fault might have occurred while access log + reopening. + + *) Bugfix: in parsing of IPv6 control socket addresses. + + *) Bugfix: loading of application modules was broken on OpenBSD. + + *) Bugfix: a segmentation fault might have occurred when there were two + modules with the same type and version; the bug had appeared in 1.0. + + *) Bugfix: alerts "freed pointer points to non-freeble page" might have + appeared in log on 32-bit platforms. +``` + +A half of these issues were reported on GitHub by our users. Thank you all for helping us make Unit better. + +If you have encountered a problem with Unit or have any ideas for improvements, please feel free to share here: + +- Mailing list: https://mailman.nginx.org/mailman3/lists/unit.nginx.org/ +- GitHub: https://github.com/nginx/unit/issues + +--- + +## Unit 1.0 Released + +Hello, + +I'm happy to congratulate you on the [International Day of Human Space Flight](https://www.un.org/en/observances/human-spaceflight-day) and glad to announce the release of NGINX Unit 1.0. + +```none + Changes with Unit 1.0 12 Apr 2018 + + *) Change: configuration object moved into "/config/" path. + + *) Feature: basic access logging. + + *) Bugfix: 503 error occurred if Go application did not write response + header or body. + + *) Bugfix: Ruby applications that use encoding conversions might not + work. + + *) Bugfix: various stability issues. +``` + +With this release Unit ends its beta period. If you wish to know more about +the project and our plans, please read the announcement blog post: +https://www.nginx.com/blog/nginx-unit-1-0-released/ + +--- + +## Unit Beta 0.7 Released + +Hello, + +I'm glad to announce a new beta of NGINX Unit with a number of bugfixes and Ruby/Rack support. Now you can easily run applications like Redmine with Unit. + +The full list of supported languages today is PHP, Python, Go, Perl, and Ruby. More languages are coming. + +```none +Changes with Unit 0.7 22 Mar 2018 + + *) Feature: Ruby application module. + + *) Bugfix: in discovering modules. + + *) Bugfix: various race conditions on reconfiguration and during + shutting down. + + *) Bugfix: tabs and trailing spaces were not allowed in header fields + values. + + *) Bugfix: a segmentation fault occurred in Python module if + start_response() was called outside of WSGI callable. + + *) Bugfix: a segmentation fault might occur in PHP module if there was + an error while initialization. +``` + +Binary Linux packages and Docker images are available here: + +- Packages: https://docs.nginx.com/nginx-unit/installation/#precompiled-packages +- Docker: https://hub.docker.com/r/nginx/unit/tags/ + +Packages and images for the new Ruby module will be built next week. + +--- + +## Unit Beta 0.6 Released + +Hello, + +I'm glad to announce a new beta of NGINX Unit with advanced process management and Perl/PSGI support. One of the Perl applications that has been tested is Bugzilla, and it runs with Unit flawlessly. + +Here is a changes log of 0.5 and 0.6 versions: + +```none +Changes with Unit 0.5 08 Feb 2018 + + *) Change: the "workers" application option was removed, the "processes" + application option should be used instead. + + *) Feature: the "processes" application option with prefork and dynamic + process management support. + + *) Feature: Perl application module. + + *) Bugfix: in reading client request body; the bug had appeared in 0.3. + + *) Bugfix: some Python applications might not work due to missing + "wsgi.errors" environ variable. + + *) Bugfix: HTTP chunked responses might be encoded incorrectly on 32-bit + platforms. + + *) Bugfix: infinite looping in HTTP parser. + + *) Bugfix: segmentation fault in router. + +Changes with Unit 0.6 09 Feb 2018 + + *) Bugfix: the main process died when the "type" application option + contained version; the bug had appeared in 0.5. +``` + +The announcement of 0.5 was skipped as a serious regression was found right after the packages were built and published. + +Besides the precompiled packages for CentOS, RHEL, Debian, Ubuntu, and Amazon Linux, now you can try Unit using official Docker containers. See the links below for details: + +- Packages: https://docs.nginx.com/nginx-unit/installation/#precompiled-packages +- Docker: https://hub.docker.com/r/nginx/unit/tags/ + +--- + +## Unit Beta 0.4 Released + +Hello, + +I'm glad to announce a new beta of NGINX Unit. This is mostly a bugfix release in order to eliminate significant regressions in the previous version. + +```none +Changes with Unit 0.4 15 Jan 2018 + + *) Feature: compatibility with DragonFly BSD. + + *) Feature: "configure php --lib-static" option. + + *) Bugfix: HTTP request body was not passed to application; the bug had + appeared in 0.3. + + *) Bugfix: HTTP large header buffers allocation and deallocation fixed; + the bug had appeared in 0.3. + + *) Bugfix: some PHP applications might not work with relative "root" + path. +``` + +You can find links to the source code and precompiled Linux packages here: +https://docs.nginx.com/nginx-unit/installation/ + +Internally, we use Buildbot to build each commit and run tests on a large number of systems. We also use various static analysis tools to improve code quality and check test coverage. + +There is ongoing work on a functional tests framework that will allow us to avoid such regressions in the future. And there are plans to add fuzz testing. + +You can learn more about recent Unit changes in this detailed blog post: +https://www.nginx.com/blog/unit-0-3-beta-release-available-now/ + +Besides that, please welcome Alexander Borisov, who's joined our Unit dev team today. His first task is going to be adding Perl/PSGI support. diff --git a/content/unit/news/archived-news/2019.md b/content/unit/news/archived-news/2019.md new file mode 100644 index 000000000..731f529c9 --- /dev/null +++ b/content/unit/news/archived-news/2019.md @@ -0,0 +1,592 @@ +--- +title: "2019" +weight: 400 +toc: true +--- + +## Unit 1.14.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +Besides improving the request routing abilities, this release simplifies +operations concerning the Go module. Now it can also be installed with the +`go get` command: + +```console +$ go get unit.nginx.org/go +``` + +Mind, however, that it requires the `unit-dev/unit-devel` [package](https://docs.nginx.com/nginx-unit/installation/#official-packages). + +Great effort went into improving the efficiency and avoiding memory bloat in +cases where an application generates gigabytes of response body. Now Unit can +deal with that without much hassle. We will continue improving the performance +and increasing efficiency, as this is one of our primary priorities. + +```none +Changes with Unit 1.14.0 26 Dec 2019 + + *) Change: the Go package import name changed to "unit.nginx.org/go". + + *) Change: Go package now links to libunit instead of including library + sources. + + *) Feature: ability to change user and group for isolated applications + when Unit daemon runs as an unprivileged user. + + *) Feature: request routing by source and destination addresses and + ports. + + *) Bugfix: memory bloat on large responses. +``` + +We also updated our Docker images and switched them from Debian 9 to 10 as the +base, so the language module versions have been updated respectively: +[https://docs.nginx.com/nginx-unit/installation/#docker-images](https://docs.nginx.com/nginx-unit/installation/#docker-images) + +Python 3.6 module packages were added to CentOS and RHEL 7 repositories, +and Python 3.7 package was added to Amazon Linux 2 LTS. Please note that +the name of Python 2.7 package in these repositories was changed from +`unit-python` to `unit-python27`. + +The Go package now has the same name `unit-go` across all our +repositories and depends on `unit-dev`. + +This is the last release of 2019, so I'll use this opportunity to wish +a Happy New Year to our strong community. Thank you for your requests, +bug reports, ideas, and suggestions. Everything that we do, we primarily +do for you, our users. + +This year, we made 8 releases, with 427 commits to the repository, where 65242 +lines were added and 8219 removed. The biggest features of the year are: + +- Support for Java Servlet Containers, which means that now Unit supports + 7 languages + +- Advanced internal request routing that allows to filter requests by various + parameters, including: URI, header fields, arguments, cookies, addresses, + and ports + +- Built-in WebSocket server offloading for Node.js and Java + +- Isolation of application processes + +- Serving of static files + +- Reverse proxying + +These features establish a firm basis for further development of Unit as a +general-purpose web server that is able to perform absolutely any task related +to handling and processing web protocols in the most efficient way. This is +our ultimate goal, and we are eager to achieve it over the coming years. + +I'd like to thank everyone who worked hard with me on Unit through the year: + +- Andrei Belov - system engineer, who maintained repositories and prepared + packages + +- Andrei Zeliankou - QA engineer, who wrote functional tests and ran fuzzing + +- Artem Konev - technical writer, who wrote documentation and blog posts, + improved the website, and sometimes helped us to arrange + words in sentences the right way + +- Axel Duch - junior developer, who improved request routing + +- Igor Sysoev - senior developer and architect, who worked on request routing, + proxying, and many internal aspects + +- Konstantin Pavlov - system engineer, who prepared Docker images and packages + +- Maxim Romanov - senior developer, who worked on Java, WebSockets, + and internal IPC + +- Tiago Natel de Moura - senior developer, who worked on isolation features + +Thank you guys, I'm happy to work with you. + +--- + +## Unit 1.13.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This release expands Unit's functionality as a generic web server by +introducing basic HTTP reverse proxying. + +See the details in our documentation: +[https://docs.nginx.com/nginx-unit/configuration/#proxying](https://docs.nginx.com/nginx-unit/configuration/#proxying) + +Compared to mature proxy servers and load balancers, Unit's proxy features +are limited now, but we'll continue the advance. + +Also, this release improves the user experience for Python and Ruby modules and +remediates compatibility issues with existing applications in these languages. + +Our long-term goal is to turn Unit into the ultimate high-performance building +block that will be helpful and easy to use with web services of any kind. To +accomplish this, Unit's future releases will focus on the following aspects: + +- security, isolation, and DoS protection +- ability to run various types of dynamic applications +- connectivity with load balancing and fault tolerance +- efficient serving of static media assets +- statistics and monitoring + +```none +Changes with Unit 1.13.0 14 Nov 2019 + + *) Feature: basic support for HTTP reverse proxying. + + *) Feature: compatibility with Python 3.8. + + *) Bugfix: memory leak in Python application processes when the close + handler was used. + + *) Bugfix: threads in Python applications might not work correctly. + + *) Bugfix: Ruby on Rails applications might not work on Ruby 2.6. + + *) Bugfix: backtraces for uncaught exceptions in Python 3 might be + logged with significant delays. + + *) Bugfix: explicit setting a namespaces isolation option to false might + have enabled it. +``` + +Please feel free to share your experiences and ideas on GitHub: +[https://github.com/nginx/unit/issues](https://github.com/nginx/unit/issues) + +Or via Unit mailing list: [https://mailman.nginx.org/mailman/listinfo/unit](https://mailman.nginx.org/mailman/listinfo/unit) + +--- + +## Unit 1.12.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This is an ad-hoc release that focuses on fixing several annoying bugs and adds +compatibility with the upcoming PHP 7.4, scheduled for release on November 28, +2019. + +```none +Changes with Unit 1.12.0 03 Oct 2019 + + *) Feature: compatibility with PHP 7.4. + + *) Bugfix: descriptors leak on process creation; the bug had appeared in + 1.11.0. + + *) Bugfix: TLS connection might be closed prematurely while sending + response. + + *) Bugfix: segmentation fault might have occurred if an irregular file + was requested. +``` + +Regarding our plans for the near future, see our earlier [announcement](#unit-1.11.0-released). + +To know more about some features introduced recently, you can follow posts +about Unit in the official blog: [https://www.nginx.com/blog/tag/nginx-unit/](https://www.nginx.com/blog/tag/nginx-unit/) + +We also updated our Docker images with an initialization script that +significantly simplifies the initial configuration of Unit daemon inside a +container. Please check the documentation for instructions: +[https://docs.nginx.com/nginx-unit/installation/#initial-configuration](https://docs.nginx.com/nginx-unit/installation/#initial-configuration) + +--- + +## Unit 1.11.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This release improves the stability of Go applications and introduces +three major features: + +### 1. Ability to Serve Static Media Assets + +With this feature, we're only at the beginning of a long road to transform +Unit into a full-fledged web server, capable of acting as a building block +for web services of any kind. + +In this release, the support for static files is very simple; you can only +specify the document root directory for Unit to handle: + +```json +{ + "share": "/data/www/example.com" +} +``` + +Also, you can fine-tune MIME types: + +```json +{ + "mime_types": { + "text/plain": [ + "readme", + ".c", + ".h" + ], + + "application/msword": ".doc" + } +} +``` + +Use encoding to access object members with names that contain "/" characters +directly by their URI: `GET +/config/settings/http/static/mime_types/text%2Fplain/` + +See the documentation for details: +[https://docs.nginx.com/nginx-unit/configuration/#static-files](https://docs.nginx.com/nginx-unit/configuration/#static-files) + +In the upcoming releases, we'll extend this area of functionality to handle +more use cases in the most performant manner. + +Unfortunately, basic proxying support did not make it to this release, as +tests have revealed that it needs more work. There are excellent chances +that the feature will be included in the next release in a month or so. + +### 2. Application Isolation + +This capability increases the security of running applications, allowing to +run them in isolated environments based on Linux namespaces. This is very +similar to how Docker containers work. + +The configuration is pretty straightforward: you can customize the isolation +level and configure UID/GID mapping between the host and the container: + +```json +{ + "namespaces": { + "credential": true, + "pid": true, + "network": true, + "mount": false, + "uname": true, + "cgroup": false + }, + + "uidmap": [ + { + "container": 1000, + "host": 812, + "size": 1 + } + ], + + "gidmap": [ + { + "container": 1000, + "host": 812, + "size": 1 + } + ] +} +``` + +See the documentation for details: +[https://docs.nginx.com/nginx-unit/configuration/#process-isolation](https://docs.nginx.com/nginx-unit/configuration/#process-isolation) + +This feature was implemented by Tiago de Bem Natel de Moura, who has joined +our team recently; he will continue working on security features hardening +and container support of Unit. + +### 3. WebSockets in Java Servlet Containers + +WebSocket connection offloading was first introduced in the previous release +for Node.js only; now it's extended to JSC as well. We will continue advancing +application language support further to provide equally broad opportunities, +whichever language you may prefer. + +```none +Changes with Unit 1.11.0 19 Sep 2019 + + *) Feature: basic support for serving static files. + + *) Feature: isolation of application processes with Linux namespaces. + + *) Feature: built-in WebSocket server implementation for Java Servlet + Containers. + + *) Feature: direct addressing of API configuration options containing + slashes "/" using URI encoding (%2F). + + *) Bugfix: segmentation fault might have occurred in Go applications + under high load. + + *) Bugfix: WebSocket support was broken if Unit was built with some + linkers other than GNU ld (e.g. gold or LLD). +``` + +That's all for this release. Try, test, leave feedback, and stay tuned! + +--- + +## Unit 1.10.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This release includes a number of improvements in various language modules and, finally, basic handling of incoming WebSocket connections, currently only for Node.js. Next in line to obtain WebSocket support is the Java module; it's almost ready but requires some polishing. + +To handle WebSocket connections in your Node.js app via Unit, use the server object from the `unit-http` module instead of the default one: + +```javascript +var webSocketServer = require('unit-http/websocket').server; +``` + +Another interesting and long-awaited feature in this release is the splitting of `PATH_INFO` in the PHP module. Now, Unit can properly handle requests like `/app.php/some/path?some=args`, which are often used to implement "user-friendly" URLs in PHP applications. + +```none +Changes with Unit 1.10.0 22 Aug 2019 + + *) Change: matching of cookies in routes made case sensitive. + + *) Change: decreased log level of common errors when clients close + connections. + + *) Change: removed the Perl module's "--include=" ./configure option. + + *) Feature: built-in WebSocket server implementation for Node.js module. + + *) Feature: splitting PATH_INFO from request URI in PHP module. + + *) Feature: request routing by scheme (HTTP or HTTPS). + + *) Feature: support for multipart requests body in Java module. + + *) Feature: improved API compatibility with Node.js 11.10 or later. + + *) Bugfix: reconfiguration failed if "listeners" or "applications" + objects were missing. + + *) Bugfix: applying a large configuration might have failed. +``` + +Please welcome our new junior developer, Axel Duch. For this release, he implemented scheme matching in request routing; now, he works to further extend the request routing capabilities with source and destination address matching. + +In parallel, Tiago Natel de Moura, who also joined the development recently, has achieved significant progress in the effort to add various process isolation features to Unit. You can follow his recent work on Linux namespaces support in the following pull request: https://github.com/nginx/unit/pull/289 + +See also his email about the feature: https://mailman.nginx.org/pipermail/nginx/2019-August/058321.html + +In the meantime, we are about to finish the first round of adding basic support for serving static media assets and proxying in Unit. + +--- + +## Unit 1.9.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +In this release, we continue improving routing capabilities for more advanced +and precise request matching. Besides that, the control API was extended with +POST operations to simplify array manipulation in configuration. + +Please check the documentation about new features: + +- Matching rules: https://docs.nginx.com/nginx-unit/configuration/#matching-conditions +- API operations: https://docs.nginx.com/nginx-unit/controlapi/ + +If you prefer to perceive information visually, here's a recording of NGINX +Meetup that gives a good overview of dynamic application routing, although +doesn't discuss new features from this release: +https://www.youtube.com/watch?v=5O4TjbbxTxw + +Also, a number of annoying bugs were fixed; thanks to your feedback, +the Node.js module now works fine with more applications. + +```none +Changes with Unit 1.9.0 30 May 2019 + + *) Feature: request routing by arguments, headers, and cookies. + + *) Feature: route matching patterns allow a wildcard in the middle. + + *) Feature: POST operation for appending elements to arrays in + configuration. + + *) Feature: support for changing credentials using CAP_SETUID and + CAP_SETGID capabilities on Linux without running main process as + privileged user. + + *) Bugfix: memory leak in the router process might have happened when a + client prematurely closed the connection. + + *) Bugfix: applying a large configuration might have failed. + + *) Bugfix: PUT and DELETE operations on array elements in configuration + did not work. + + *) Bugfix: request schema in applications did not reflect TLS + connections. + + *) Bugfix: restored compatibility with Node.js applications that use + ServerResponse._implicitHeader() function; the bug had appeared in + 1.7. + + *) Bugfix: various compatibility issues with Node.js applications. +``` + +With this release, packages for Ubuntu 19.04 "disco" are also available. See +the website for a full list of available repositories: +https://docs.nginx.com/nginx-unit/installation/ + +Meanwhile, we continue working on WebSocket support. It's almost ready and +has great chances to be included in the next release for Node.js and Java +modules. + +Work on proxying and static files serving is also in progress; this will +take a bit more time. + +--- + +## Unit 1.8.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. This release contains two +big features that we have been working on diligently during the last months. + +Some of you wonder why listener sockets are separated from applications in +Unit configuration API. That was done intentionally to introduce advanced +routing between sockets and applications in the future, and this future is +finally happening. + +Now you will be able to specify quite handy rules that will direct your +requests to a particular application depending on various parameters. + +Please take a glance at the routing documentation: +https://docs.nginx.com/nginx-unit/configuration/#routes + +Currently, it only supports internal routing by Host, URI, and method request +parameters. In the following releases, available options are going to be +expanded to allow matching arbitrary headers, arguments, cookies, source +and destination addresses. We will also add regular expression patterns. + +In future releases, these routing abilities will be handy for issuing redirects +and changing configuration on a per route basis. + +As usual with Unit, all routing changes are fully dynamic and gracefully done +through its control API. + +The second feature is even bigger. We've merged the code that Maxim Romanov +developed in a separate branch last year to support running applications +leveraging certain technology described in the Java(tm) Servlet 3.1 (JSR-340) +specification. This module is a **BETA** release as the module is untested and +presumed incompatible with the JSR-340 specification. + +Now everybody can easily install it from our packages, try it with their Java +applications, and leave us feedback. If you're a Jira user, please use this +HowTo: https://docs.nginx.com/nginx-unit/howto/jira/ + +More documentation is available in +[Installation](https://docs.nginx.com/nginx-unit/installation) and +[Configuration](https://docs.nginx.com/nginx-unit/configuration/) sections. + +We intend to use our open-development process to refine and improve the +software and to eventually test and certify the software's compatibility +with the JSR-340 specification. Unless and until the software has been +tested and certified, you should not deploy the software in support of +deploying or providing Java Servlet 3.1 applications. You should instead +deploy production applications on pre-built binaries that have been tested +and certified to meet the JSR-340 compatibility requirements such as +certified binaries published for the JSR-340 reference implementation +available at https://javaee.github.io/glassfish/. + + +{{< note>}} +Java is a registered trademark of Oracle and/or its affiliates. +{{< /note>}} + +```none +Changes with Unit 1.8.0 01 Mar 2019 + + *) Change: now three numbers are always used for versioning: major, + minor, and patch versions. + + *) Change: now QUERY_STRING is always defined even if the request does + not include the query component. + + *) Feature: basic internal request routing by Host, URI, and method. + + *) Feature: experimental support for Java Servlet Containers. + + *) Bugfix: segmentation fault might have occurred in the router process. + + *) Bugfix: various potential memory leaks. + + *) Bugfix: TLS connections might have stalled. + + *) Bugfix: some Perl applications might have failed to send the response + body. + + *) Bugfix: some compilers with specific flags might have produced + non-functioning builds; the bug had appeared in 1.5. + + *) Bugfix: Node.js package had wrong version number when installed from + sources. +``` + +Our versioning scheme is actually always supposed to have the third version +number, but the ".0" patch version was hidden. In order to avoid any possible +confusion, it was decided to always show ".0" in version numbers. + +For those who are interested in running Unit on CentOS, Fedora, and RHEL +with latest versions of PHP, the corresponding packages are now available +in Remi's RPM repository: +https://docs.nginx.com/nginx-unit/installation/#community-remisrpm + +Many kudos to Remi Collet for collaboration. + +Note also that our technical writer Artem Konev has recently added more HowTos +to the site about configuring various applications, including WordPress, Flask, +and Django-based ones: https://docs.nginx.com/nginx-unit/howto/ + +He will continue discovering and writing instructions for other applications. +If you're interested in some specific use cases and applications, please don't +hesitate to leave a feature request on the documentation GitHub: +https://github.com/nginx/unit-docs/issues + +In the following releases, we will continue improving routing capabilities +and support for Java applications. Among other big features we're working +on are WebSockets support and serving static media assets. + +Stay tuned, give feedback, and help us to create the best software ever. + +--- + +## Unit 1.7.1 Released + +Hi, + +This is a bugfix release of NGINX Unit that eliminates a security flaw. +All versions of Unit from 0.3 to 1.7 are affected. + +Everybody is strongly advised to update to a new version. + +```none +Changes with Unit 1.7.1 07 Feb 2019 + + *) Security: a heap memory buffer overflow might have been caused in the + router process by a specially crafted request, potentially resulting + in a segmentation fault or other unspecified behavior + (CVE-2019-7401). + + *) Bugfix: install of Go module failed without prior building of Unit + daemon; the bug had appeared in 1.7. +``` + +Release of Unit 1.8 with support for internal request routing and an +experimental Java module is planned for end of February. diff --git a/content/unit/news/archived-news/2020.md b/content/unit/news/archived-news/2020.md new file mode 100644 index 000000000..fc64c94a4 --- /dev/null +++ b/content/unit/news/archived-news/2020.md @@ -0,0 +1,717 @@ +--- +title: 2020 +weight: 300 +toc: true +---- + +## Unit 1.21.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +Our two previous releases were thoroughly packed with new features and +capabilities, but Unit 1.21.0 isn't an exception either. This is our +third big release in a row, with only six weeks since the previous one! + +Perhaps, the most notable feature of this release is the support for +multithreaded request handling in application processes. Now, you can +fine-tune the number of threads used for request handling in each +application process; this improves scaling and optimizes memory usage. + +As a result, your apps can use a combination of multiple processes and +multiple threads per each process for truly dynamic scaling; the feature +is available for any Java, Python, Perl, or Ruby apps out of the box +without any need to update their code. + +Moreover, if you make use of ASGI support in Unit (introduced in the +previous release), each thread of each process of +your application can run asynchronously. + +To configure the number of threads per process, use the `threads` option +of the application object: [https://docs.nginx.com/nginx-unit/configuration/#applications](https://docs.nginx.com/nginx-unit/configuration/#applications) + +Yet another cool feature is the long-awaited support for regular expressions. +In Unit, they enable granular request filtering and routing via our compound +matching rules; now, with PCRE syntax available, your request matching +capabilities are limited only by your imagination. For details and examples, +see our documentation: [https://docs.nginx.com/nginx-unit/configuration/#routes](https://docs.nginx.com/nginx-unit/configuration/#routes) + +### Full Changelog + +```none +Changes with Unit 1.21.0 19 Nov 2020 + + *) Change: procfs is mounted by default for all languages when "rootfs" + isolation is used. + + *) Change: any characters valid according to RFC 7230 are now allowed in + HTTP header field names. + + *) Change: HTTP header fields with underscores ("_") are now discarded + from requests by default. + + *) Feature: optional multithreaded request processing for Java, Python, + Perl, and Ruby apps. + + *) Feature: regular expressions in route matching patterns. + + *) Feature: compatibility with Python 3.9. + + *) Feature: the Python module now supports ASGI 2.0 legacy applications. + + *) Feature: the "protocol" option in Python applications aids choice + between ASGI and WSGI. + + *) Feature: the fastcgi_finish_request() PHP function that finalizes + request processing and continues code execution without holding onto + the client connection. + + *) Feature: the "discard_unsafe_fields" HTTP option that enables + discarding request header fields with irregular (but still valid) + characters in the field name. + + *) Feature: the "procfs" and "tmpfs" automount isolation options to + disable automatic mounting of eponymous filesystems. + + *) Bugfix: the router process could crash when running Go applications + under high load; the bug had appeared in 1.19.0. + + *) Bugfix: some language dependencies could remain mounted after using + "rootfs" isolation. + + *) Bugfix: various compatibility issues in Java applications. + + *) Bugfix: the Java module built with the musl C library couldn't run + applications that use "rootfs" isolation. +``` + +Also, packages for Ubuntu 20.10 "Groovy" are available in our repositories: +[https://docs.nginx.com/nginx-unit/installation/#ubuntu-2010](https://docs.nginx.com/nginx-unit/installation/#ubuntu-2010) + +Thanks to Sergey Osokin, the FreeBSD port of Unit now provides an almost +exhaustive set of language modules: [https://www.freshports.org/www/unit/](https://www.freshports.org/www/unit/) + +We encourage you to follow our roadmap on GitHub, where your ideas and requests +are always more than welcome: [https://github.com/orgs/nginx/projects/1](https://github.com/orgs/nginx/projects/1) + +--- + +## Unit 1.20.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +It is yet another big release, featuring ASGI support for Python and a long list +of other improvements and bug fixes. + +[ASGI 3.0](https://asgi.readthedocs.io/en/latest/) is a modern standardized +interface that enables writing natively asynchronous web applications making +use of the async/await feature available in latest versions of Python. Now, +Unit fully supports it along with WSGI. Even more, Unit automatically detects +the interface your Python app is using (ASGI or WSGI); the configuration +experience remains the same, though. Also, our take on ASGI relies on Unit's +native high-performance capabilities to implement WebSockets. + +To learn more about the new feature, check out the documentation: +[https://docs.nginx.com/nginx-unit/configuration/#python](https://docs.nginx.com/nginx-unit/configuration/#python) + +In addition, we've prepared for you a couple of howtos on configuring popular +ASGI-based frameworks with Unit: + +- [Quart](https://docs.nginx.com/nginx-unit/howto/quart/) (note a simple WebSocket app) +- [Starlette](https://docs.nginx.com/nginx-unit/howto/starlette/) + +Finally, we've updated the Django howto to include the [ASGI alternative](https://docs.nginx.com/nginx-unit/howto/django/#asgi-interface). + +### Full Changelog + +```none +Changes with Unit 1.20.0 08 Oct 2020 + + *) Change: the PHP module is now initialized before chrooting; this + enables loading all extensions from the host system. + + *) Change: AVIF and APNG image formats added to the default MIME type + list. + + *) Change: functional tests migrated to the pytest framework. + + *) Feature: the Python module now fully supports applications that use + the ASGI 3.0 server interface. + + *) Feature: the Python module now has a built-in WebSocket server + implementation for applications, compatible with the HTTP & WebSocket + ASGI Message Format 2.1 specification. + + *) Feature: automatic mounting of an isolated "/tmp" file system into + chrooted application environments. + + *) Feature: the $host variable contains a normalized "Host" request + value. + + *) Feature: the "callable" option sets Python application callable + names. + + *) Feature: compatibility with PHP 8 RC 1. Thanks to Remi Collet. + + *) Feature: the "automount" option in the "isolation" object allows to + turn off the automatic mounting of language module dependencies. + + *) Bugfix: "pass"-ing requests to upstreams from a route was broken; the + bug had appeared in 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for + discovering and fixing it. + + *) Bugfix: the router process could crash during reconfiguration. + + *) Bugfix: a memory leak occurring in the router process; the bug had + appeared in 1.18.0. + + *) Bugfix: the "!" (non-empty) pattern was matched incorrectly; the bug + had appeared in 1.19.0. + + *) Bugfix: fixed building on platforms without sendfile() support, + notably NetBSD; the bug had appeared in 1.16.0. +``` + +I would very much like to highlight one of these changes. Perhaps the least +noticeable, it is still important for the entire project: our functional tests +moved to a more feature-rich pytest framework from the native Python unittest +module that we've used previously. This change should enable us to write more +sophisticated tests, boosting the overall quality of our future releases. + +All in all, this is a genuinely solid release, but I'm still more excited +about the things yet to come. Yes, even more great features are coming our +way very shortly! Right now, we are tinkering with route matching patterns +to support regular expressions; working on keepalive connection caching; +adding multithreading to application modules; and finally, fabricating the +metrics API! + +We encourage you to follow our roadmap on GitHub, where your ideas and requests +are always more than welcome: [https://github.com/orgs/nginx/projects/1](https://github.com/orgs/nginx/projects/1) + +--- + +## Unit 1.19.0 Released + +Hi, + +I'm always happy to announce a new release of NGINX Unit, but this one's BIG. +Besides the varied features and bugfixes, some breakthrough improvements were +made under the hood. + +As you may know, Unit uses an advanced architecture that relies on dedicated +processes to serve different roles in request processing. The process that +handles client connections is the router. It uses asynchronous threads (one +per CPU core) to accept new connections and send or receive data over already +established connections in a non-blocking manner. For security and scalability, +all applications run as separate processes over which you have a degree of +control: [https://docs.nginx.com/nginx-unit/configuration/#process-management](https://docs.nginx.com/nginx-unit/configuration/#process-management) + +To talk to application processes, relay requests for actual processing, +and obtain their responses, the router process uses an elaborate mechanism +of inter-process communication (IPC) based on shared memory segments. +The general idea is to avoid copying data between processes and minimize +overhead, potentially achieving almost zero-latency application interaction. + +Our first implementation of this protocol used a complex algorithm to +distribute requests between processes, heavily utilizing Unix socket pairs +to pass synchronization control messages. In practice, this turned out +rather sub-optimal due to lots of extra syscalls and overt complexity. +Also, the push semantics became a serious limitation that prevented us +from efficiently handling asynchronous applications. + +Thus, we stepped back a bit at the end of the last year to meticulously +reconsider our approach to IPC, and now this tremendous work finally sees +the light of day with the release of Unit version 1.19.0. Maintaining the +progress achieved while working with shared memory segments, the protocol now +is enhanced to bring the number of syscalls almost to zero under heavy load. +We have also changed the request distribution semantics. Now, instead of +pushing requests to application processes using a complex router process +algorithm, we make application processes pull requests out of a shared +queue anytime they're ready. This enables implementing async interfaces +in applications in the most effective manner. + +Relying on this new approach to IPC, we shall be able to improve the +performance of Go and Node.js modules in the upcoming releases, also +introducing multithreading and new interfaces, such as ASGI in Python. + +We are obsessed over performance and will continue optimizing Unit to +make it the best and brightest in every aspect. + +As for the other features of the release, there's an improvement in proxying: +now it speaks HTTP/1.1 and accepts chunked responses from backends. + +Moreover, request matching rules were also upgraded to enable more complex +wildcard patterns like `*/some/*/path/*.php*`. + +Finally, we have introduced our first configuration variables. They are +a small bunch at the moment, but that's to change. In a while, variables +shall be sufficiently diversified and will be available in more and more +options. + +### Full Changelog + +```none +Changes with Unit 1.19.0 13 Aug 2020 + + *) Feature: reworked IPC between the router process and the applications + to lower latencies, increase performance, and improve scalability. + + *) Feature: support for an arbitrary number of wildcards in route + matching patterns. + + *) Feature: chunked transfer encoding in proxy responses. + + *) Feature: basic variables support in the "pass" option. + + *) Feature: compatibility with PHP 8 Beta 1. Thanks to Remi Collet. + + *) Bugfix: the router process could crash while passing requests to an + application under high load. + + *) Bugfix: a number of language modules failed to build on some systems; + the bug had appeared in 1.18.0. + + *) Bugfix: time in error log messages from PHP applications could lag. + + *) Bugfix: reconfiguration requests could hang if an application had + failed to start; the bug had appeared in 1.18.0. + + *) Bugfix: memory leak during reconfiguration. + + *) Bugfix: the daemon didn't start without language modules; the bug had + appeared in 1.18.0. + + *) Bugfix: the router process could crash at exit. + + *) Bugfix: Node.js applications could crash at exit. + + *) Bugfix: the Ruby module could be linked against a wrong library + version. +``` + +Also, official packages for Fedora 32 are available now: +[https://docs.nginx.com/nginx-unit/installation/#fedora](https://docs.nginx.com/nginx-unit/installation/#fedora) + +And if you'd like to know more about the features introduced recently in +the previous release, see the blog posts: + +- [NGINX Unit 1.18.0 Adds Filesystem Isolation and Other Enhancements](https://www.nginx.com/blog/nginx-unit-1-18-0-now-available/) +- [Filesystem Isolation in NGINX Unit](https://www.nginx.com/blog/filesystem-isolation-nginx-unit/) + +--- + +:orphan: + +## Unit 1.18.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This release includes a few internal routing improvements that simplify some +configurations and a new isolation option for chrooting application processes +called `rootfs`. + +```none +Changes with Unit 1.18.0 28 May 2020 + + *) Feature: the "rootfs" isolation option for changing root filesystem + for an application. + + *) Feature: multiple "targets" in PHP applications. + + *) Feature: support for percent encoding in the "uri" and "arguments" + matching options and in the "pass" option. +``` + +Also, our official packages for the recently released Ubuntu 20.04 (Focal Fossa) +are available now: [https://docs.nginx.com/nginx-unit/installation/#ubuntu](https://docs.nginx.com/nginx-unit/installation/#ubuntu) + +At least two of the features in this release deserve special attention. + +### Changing The Root Filesystem + +Security is our top priority, so let's look closer at the `rootfs` +option first. + +The coolest thing about it is that it's not just a simple `chroot()` +system call as some may expect. It's not a secret that `chroot()` is +not intended for security purposes, and there's plenty of ways for an attacker +to get out of the chrooted directory (just check "man 2 chroot"). That's why +on modern systems Unit can use `pivot_root()` with the `mount` +namespace isolation enabled, which is way more secure and pretty similar to +putting your application in an individual container. + +Also, our goal is to make any security option as easy to use as possible. +In this case, Unit automatically tries to mount all the necessary +language-specific dependencies inside a new root, so you won't need +to care about them. Currently, this capability works for selected languages +only, but the support will be extended in the next releases. + +For more information and examples of `rootfs` usage, check the +documentation: [https://docs.nginx.com/nginx-unit/configuration/#process-isolation](https://docs.nginx.com/nginx-unit/configuration/#process-isolation) + +Now to the second feature... + +### Multiple PHP Application "Targets" + +The other major update in this release is called `targets`, aiming to +simplify configuration for many PHP applications. Perhaps, it is best +illustrated by an example: WordPress. This is one of many applications that +use two different addressing schemes: + +1. Most user requests are handled by `index.php` regardless of the actual + request URI. + +2. Administration interface and some components rely on direct requests + to specific `.php` scripts named in the URI. + +Earlier, users had to configure two Unit applications to handle this disparity: + +```json +{ + "wp_index": { + "type": "php", + "user": "wp_user", + "group": "wp_user", + "root": "/path/to/wordpress/", + "script": "index.php" + }, + + "wp_direct": { + "type": "php", + "user": "wp_user", + "group": "wp_user", + "root": "/path/to/wordpress/" + } +} +``` + +The first app directly executes the `.php` scripts named by the URI, +whereas the second one passes all requests to `index.php`. + +Now, you can use `targets` instead: + +```json +{ + "wp": { + "type": "php", + "user": "wp_user", + "group": "wp_user", + + "targets": { + "index": { + "root": "/path/to/wordpress/", + "script": "index.php" + }, + + "direct": { + "root": "/path/to/wordpress/" + } + } + } +} +``` + +The complete example is available in our WordPress howto: +[https://docs.nginx.com/nginx-unit/howto/wordpress/](https://docs.nginx.com/nginx-unit/howto/wordpress/) + +You can configure as many `targets` in one PHP application as you want, +routing requests between them using various sophisticated request matching +rules. + +Check our website to know more about the new option: +[https://docs.nginx.com/nginx-unit/configuration#targets](https://docs.nginx.com/nginx-unit/configuration/#targets) + +To learn more about request matching rules: +[https://docs.nginx.com/nginx-unit/configuration/#matching-conditions](https://docs.nginx.com/nginx-unit/configuration/#matching-conditions) + +Finally, see here for more howtos: +[https://docs.nginx.com/nginx-unit/howto/](https://docs.nginx.com/nginx-unit/howto/) + +We have plenty of them, covering many popular web applications and frameworks, +but if your favorite one is still missing, let us know by opening a ticket here: +[https://github.com/nginx/unit-docs/issues](https://github.com/nginx/unit-docs/issues) + +To keep the finger on the pulse, refer to our further plans in the roadmap here: +[https://github.com/orgs/nginx/projects/1](https://github.com/orgs/nginx/projects/1) + +--- + +:orphan: + +## Unit 1.17.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +In addition to improved stability, this release introduces two handy features. + +The first one is configured using the `return` and `location` +options of the action object. It can be used to immediately generate a simple +HTTP response with an arbitrary status - for example, to deny access to some +resources: + +```json +{ + "match": { + "uri": "*/.git/*" + }, + + "action": { + "return": 403 + } +} +``` + +Or, you can redirect a client to another resource: + +```json +{ + "match": { + "host": "example.org" + }, + + "action": { + "return": 301, + "location": "http://www.example.org" + } +} +``` + +See the documentation for a detailed description of routing: +[https://docs.nginx.com/nginx-unit/configuration/#routes](https://docs.nginx.com/nginx-unit/configuration/#routes) + +The second new feature of the release is mostly syntax sugar rather than new +functionality. Now, you can specify servers' weights in an upstream group +using fractional numbers. + +Say, you have a bunch of servers and want one of them to receive half as many +requests as the others for some reason. Previously, the only way to achieve +that was to double the weights of all the other servers: + +```json +{ + "192.168.0.101:8080": { + "weight": 2 + }, + "192.168.0.102:8080": { + "weight": 2 + }, + "192.168.0.103:8080": {}, + "192.168.0.104:8080": { + "weight": 2 + } +} +``` + +Using fractional weights, you can perform the update much easier by altering +the weight of the server in question: + +```json +{ + "192.168.0.101:8080": {}, + "192.168.0.102:8080": {}, + "192.168.0.103:8080": { + "weight": 0.5 + }, + "192.168.0.104:8080": {} +} +``` + +For details of server groups, see here: +[https://docs.nginx.com/nginx-unit/configuration/#proxying](https://docs.nginx.com/nginx-unit/configuration/#proxying) + +```none +Changes with Unit 1.17.0 16 Apr 2020 + + *) Feature: a "return" action with optional "location" for immediate + responses and external redirection. + + *) Feature: fractional weights support for upstream servers. + + *) Bugfix: accidental 502 "Bad Gateway" errors might have occurred in + applications under high load. + + *) Bugfix: memory leak in the router; the bug had appeared in 1.13.0. + + *) Bugfix: segmentation fault might have occurred in the router process + when reaching open connections limit. + + *) Bugfix: "close() failed (9: Bad file descriptor)" alerts might have + appeared in the log while processing large request bodies; the bug + had appeared in 1.16.0. + + *) Bugfix: existing application processes didn't reopen the log file. + + *) Bugfix: incompatibility with some Node.js applications. + + *) Bugfix: broken build on DragonFly BSD; the bug had appeared in + 1.16.0. +``` + +Please also see a blog post about the new features of our two previous releases: +[https://www.nginx.com/blog/nginx-unit-1-16-0-now-available/](https://www.nginx.com/blog/nginx-unit-1-16-0-now-available/) + +To keep the finger on the pulse, refer to our further plans in the roadmap here: +[https://github.com/orgs/nginx/projects/1](https://github.com/orgs/nginx/projects/1) + +--- + +## Unit 1.16.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +{{< note >}} +To all Unit package maintainers: please don't miss the new `--tmp` +configure option. It specifies the directory where the Unit daemon +stores temporary files (i.e. large request bodies) at runtime. +{{< /note >}} + +In this release, we continue improving the functionality related to proxying +and static media asset handling. + +Now, the new `upstreams` object enables creating server groups for +weighted round-robin load balancing: + +```json +{ + "listeners": { + "*:80": { + "pass": "upstreams/rr-lb" + } + }, + + "upstreams": { + "rr-lb": { + "servers": { + "192.168.0.100:8080": {}, + "192.168.0.101:8080": { + "weight": 2 + } + } + } + } +} + +``` + +See the docs for details: +[https://docs.nginx.com/nginx-unit/configuration/#configuration-upstreams](https://docs.nginx.com/nginx-unit/configuration/#configuration-upstreams) + +So far, it's rather basic, but many more proxying and load-balancing +features are planned for future releases. + +By its design, the new `fallback` option is somewhat similar to the +`try_files` directive in `nginx`. It allows proceeding to +another action if a file isn't available: + +```json +{ + "share": "/data/www/", + + "fallback": { + "pass": "applications/php" + } +} + +``` + +In the example above, an attempt is made first to serve a request +with a file from the `/data/www/` directory. If there's no such +file, the request is passed to the `php` application. + +Also, you can chain such fallback actions: + +```json +{ + "share": "/data/www/", + + "fallback": { + "share": "/data/cache/", + + "fallback": { + "proxy": "http://127.0.0.1:9000" + } + } +} + +``` + +More info: [https://docs.nginx.com/nginx-unit/configuration/#configuration-fallback](https://docs.nginx.com/nginx-unit/configuration/#configuration-fallback) + +Finally, configurations you upload can use line (`//`) and block +(`/* */`) comments. Now, Unit doesn't complain; instead, it strips them +from the JSON payload. This comes in handy if you store your configuration in +a file and edit it manually. + +```none +Changes with Unit 1.16.0 12 Mar 2020 + + *) Feature: basic load-balancing support with round-robin. + + *) Feature: a "fallback" option that performs an alternative action if a + request can't be served from the "share" directory. + + *) Feature: reduced memory consumption by dumping large request bodies + to disk. + + *) Feature: stripping UTF-8 BOM and JavaScript-style comments from + uploaded JSON. + + *) Bugfix: negative address matching in router might work improperly in + combination with non-negative patterns. + + *) Bugfix: Java Spring applications failed to run; the bug had appeared + in 1.10.0. + + *) Bugfix: PHP 7.4 was broken if it was built with thread safety + enabled. + + *) Bugfix: compatibility issues with some Python applications. +``` + +To keep the finger on the pulse, see our further plans in the roadmap here: +[https://github.com/orgs/nginx/projects/1](https://github.com/orgs/nginx/projects/1) + +Also, good news for macOS users! Now, there's a Homebrew tap for Unit: +[https://docs.nginx.com/nginx-unit/installation/#homebrew](https://docs.nginx.com/nginx-unit/installation/#homebrew) + +--- + +## Unit 1.15.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This is mostly a bugfix release that eliminates a few nasty issues. +Also, it addresses incompatibilities caused by a minor API change in +the recently released major version of Ruby. + +```none +Changes with Unit 1.15.0 06 Feb 2020 + + *) Change: extensions of dynamically requested PHP scripts were + restricted to ".php". + + *) Feature: compatibility with Ruby 2.7. + + *) Bugfix: segmentation fault might have occurred in the router process + with multiple application processes under load; the bug had appeared + in 1.14.0. + + *) Bugfix: receiving request body over TLS connection might have + stalled. +``` + +More features are planned for the next release that is expected in the +beginning of March. Among them are basic load balancing in the proxy module +and `try_files`-like functionality for more sophisticated request +routing. diff --git a/content/unit/news/archived-news/2021.md b/content/unit/news/archived-news/2021.md new file mode 100644 index 000000000..46600063d --- /dev/null +++ b/content/unit/news/archived-news/2021.md @@ -0,0 +1,696 @@ +--- +title: 2021 +weight: 200 +toc: true +--- + +## Unit 1.26.1 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This is a minor bugfix release that aims to eliminate some annoying regressions +revealed after the release of Unit 1.26.0 two weeks ago. + +Notably, the shared [OPcache](https://www.php.net/manual/en/book.opcache.php) implementation in that +release required introducing some major architectural changes, but our +functional tests didn't catch some regressions caused by these changes. Still, +thanks to our active community, the issues were reported shortly after the +release, and now we can provide an updated version. We will also improve our +functional testing to avoid such regressions in the future. + +The most painful and visible one was that sometimes Unit daemon couldn't +completely exit, leaving some zombie processes. However, the second attempt to +stop it always succeeded. Also, some [DragonFly BSD](https://www.dragonflybsd.org) kernel interfaces +are seemingly broken, preventing the Unit daemon from functioning, so we +disabled their use when compiling for DragonFly BSD. + +### Full Changelog + +```none +Changes with Unit 1.26.1 02 Dec 2021 + +- Bugfix: occasionally, the Unit daemon was unable to fully terminate; + the bug had appeared in 1.26.0. + +- Bugfix: a prototype process could crash on an application process + exit; the bug had appeared in 1.26.0. + +- Bugfix: the router process crashed on reconfiguration if "access_log" + was configured without listeners. + +- Bugfix: a segmentation fault occurred in the PHP module if chdir() or + fastcgi_finish_request() was called in the OPcache preloading script. + +- Bugfix: fatal errors on DragonFly BSD; the bug had appeared in + 1.26.0. +``` + +To know more about the bunch of changes introduced in Unit 1.26 and the roadmap +for 1.27, please see the previous announcement: +[https://mailman.nginx.org/pipermail/unit/2021-November/000288.html](https://mailman.nginx.org/pipermail/unit/2021-November/000288.html) + +Thank you again for keeping your finger on the pulse, reporting issues, and +submitting feature requests via our [GitHub issue tracker](https://github.com/nginx/unit/issues). + +--- + +## Unit 1.26.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +Please read this letter to the end, as it explains some significant changes in +the latest version. But first, I have great news for the PHP users: now the +interpreter's [OPcache](https://www.php.net/manual/en/book.opcache.php) is +shared between the processes of an app. + +In previous versions, due to an architecture limitation (which imposed strong +isolation, much stronger than was sometimes needed), each PHP process had +a separate OPcache memory. As a result, with some workloads (especially +involving many dynamic processes), performance could degrade because each +new process had to warm up the cache after starting. Also, it required more +memory because the bytecode of the same PHP scripts was duplicated in each process. +Now, all these flaws are finally gone. + +Next, we noticed that more and more users use Unit to serve static files, +if only because it's efficient and easy to configure. Modern apps are all +dynamic, yes, but at the same time, almost all apps and websites have static +resources like images, scripts, styles, fonts, and media files. It's very +important to supply these resources as fast as possible without any delays +to smoothen the overall user experience. We take this aspect seriously and +continue improving Unit capabilities as a generic static media web server. + +This time, all changes are about configuration flexibility. You may know that +NGINX has a number of different directives that control static file serving: + +- `root` +- `alias` +- `try_files` + +Some of these are mutually exclusive, some can be combined, some work +differently depending on the location type. That gives the configuration +a lot of flexibility but may look a bit complicated. Users kept asking us +to provide the same functionality in Unit, but instead of just repeating +these, we thought about how we can improve this experience to make it easier +to understand without losing flexibility. + +Finally, we came up with a solution. In previous versions, we introduced the +`share` directive, very similar to the `root` directive in +NGINX: + +```json +{ + "share": "/path/to/dir/" +} +``` + +Basically, it specified the so-called document root directory. To determine a +file to serve, Unit appended the URI from the request to this `share` +path. For this request: + +```none +GET /some/file.html +``` + +The above configuration served `/path/to/dir/some/file.html`. + +In simple times, that's exactly what you want. Still, there are plenty of +cases when a different file needs to be served and the requested URI doesn't +match a path. More, you may want to serve a single file for any requests; +the so-called one-page apps often utilize such a scheme. + +Starting with Unit 1.26.0, the `share` option specifies the *entire* path +to a shared file rather than just the document root. And yes, the option +supports variables, so you can write: + +```json +{ + "share": "/www/data/$uri" +} +``` + +This occurs only once, after the version update. If you manage your +configurations using some scripts and store them somewhere else, +make sure to adjust the "share" values there accordingly. + +To read more about the new share behavior, check the documentation: +[https://docs.nginx.com/nginx-unit/configuration/#static-files](https://docs.nginx.com/nginx-unit/configuration/#static-files) + +### Full Changelog + +```none +Changes with Unit 1.26.0 18 Nov 2021 + + *) Change: the "share" option now specifies the entire path to the files + it serves, rather than a document root directory to be prepended to + the request URI. + + *) Feature: automatic adjustment of existing configurations to the new + "share" behavior when updating from previous versions. + + *) Feature: variables support in the "share" option. + + *) Feature: multiple paths in the "share" option. + + *) Feature: variables support in the "chroot" option. + + *) Feature: PHP opcache is shared between application processes. + + *) Feature: request routing by the query string. + + *) Bugfix: the router and app processes could crash when the requests + limit was reached by asynchronous or multithreaded apps. + + *) Bugfix: established WebSocket connections could stop reading frames + from the client after the corresponding listener had been + reconfigured. + + *) Bugfix: fixed building with glibc 2.34, notably Fedora 35. +``` + +Other major features that we are preparing for the next release include: + +- Basic statistics API for monitoring Unit instances +- Various variables for different aspects of request and connection data +- Customization of access log format with variables +- Custom variables out of regexp captures on various request parameters +- Simple request rewrite using variables +- Command-line tool to simplify the use of Unit's control socket API + +To participate, share your ideas, or discuss new features, you're welcome +to visit Unit's issue tracker on GitHub: [https://github.com/nginx/unit/issues](https://github.com/nginx/unit/issues) + +--- + +## Unit 1.25.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This one is much awaited not only because the last one occurred quite some +time ago, but also because it contains some sought-after features that were +requested quite often. + +### Obtaining The Originating Client IP Address + +When Unit operates behind a reverse proxy, it receives all incoming connections +from a proxy machine address. As a result, the originating IP address of +a client cannot be determined from the IP protocol. To overcome this, a +special HTTP request header field can be used to carry the client IP address +information over one to several proxies. Such header fields are usually called +"X-Forwarded-For", but variations exist as well ("X-Real-IP", "X-Remote-Addr", +etc..). + +Before, Unit could not use information from such header fields otherwise than +just pass them on "as is." With this release, functionality similar to the +real-ip nginx module became available. Now, in any listener object, you can +specify a `client_ip` option, configuring trusted proxy addresses and the +header field name, to obtain the client IP address: + +```json +{ + "listeners": { + "*:80": { + "client_ip": { + "header": "X-Forwarded-For", + "recursive": true, + "source": [ + "10.0.0.0/8", + "150.172.238.0/24" + ] + } + } + } +} +``` + +Unit will use the address obtained from this header to the same effect as if a +direct connection was made from the client. For instance, it will be reflected +in any logs, used for source address matching in routing, and provided to the +application via a relevant request environment (e.g. `$_SERVER['REMOTE_ADDR']` in PHP). + +See more details in the documentation: +[https://docs.nginx.com/nginx-unit/configuration/#originating-ip-identification](https://docs.nginx.com/nginx-unit/configuration/#originating-ip-identification) + +### Control API to Restart Application Processes + +Unit dynamic configuration is pretty smart and granular. If it detects +no changes to an application during reconfiguration, it won't touch the +application's processes. However, sometimes our users need to restart a +specific application, and the only good way to do that was to intentionally +introduce a change to the application's configuration. Usually, a dummy +`environment` option was used for this: + +```console +curl -X PUT -d '"$RANDOM"' --unix-socket /var/run/control.unit.sock \ + /config/applications//environment/gen +``` + +While it worked well, the solution can't be called elegant; it was more like a +workaround. But now, Unit has a special section in the control API that allows +restarting any configured application with a basic GET request: + +```console +curl --unix-socket /var/run/control.unit.sock \ + /control/applications//restart +``` + +See here for the details of app process management in Unit: +[https://docs.nginx.com/nginx-unit/configuration/#process-management](https://docs.nginx.com/nginx-unit/configuration/#process-management) + +### Full Changelog + +```none +Changes with Unit 1.25.0 19 Aug 2021 + + *) Feature: client IP address replacement from a specified HTTP header + field. + + *) Feature: TLS sessions cache. + + *) Feature: TLS session tickets. + + *) Feature: application restart control. + + *) Feature: process and thread lifecycle hooks in Ruby. + + *) Bugfix: the router process could crash on TLS connection open when + multiple listeners with TLS certificates were configured; the bug had + appeared in 1.23.0. + + *) Bugfix: TLS connections were rejected for configurations with + multiple certificate bundles in a listener if the client did not use + SNI. + + *) Bugfix: the router process could crash with frequent multithreaded + application reconfiguration. + + *) Bugfix: compatibility issues with some Python ASGI apps, notably + based on the Starlette framework. + + *) Bugfix: a descriptor and memory leak occurred in the router process + when an app process stopped or crashed. + + *) Bugfix: the controller or router process could crash if the + configuration contained a full-form IPv6 in a listener address. + + *) Bugfix: the router process crashed when a request was passed to an + empty "routes" or "upstreams" using a variable "pass" option. + + *) Bugfix: the router process crashed while matching a request to an + empty array of source or destination address patterns. +``` + +In the meantime, there are several other features currently at different stages +of development and implementation: + +- Variable support in the static file serving options +- Custom variables from regexp captures in the "match" object +- Simple request rewrites using variables +- More variables to access request and connection information +- A statistics API +- Unit CLI utility tool +- App prototype processes to reduce memory usage, share the PHP opcache, + and improve the handling of apps isolation +- [`njs`](https://nginx.org/en/docs/njs/index.html) integration +- .NET Core language module prototype + +--- + +## Unit 1.24.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This one is full of shiny new features. But before I dive into the details, +let me introduce our new developers without whom this release wouldn't be so +feature-rich. Please, welcome Zhidao Hong (洪志道) and Oisín Canty. + +Zhidao has already been contributing to various nginx open-source projects for +years as a community member, and I'm very excited to finally have him on board. + +Oisín is a university student who's very interested in Unit; he joined our dev +team as an intern and already shown solid coding skills, curiosity, and +attention to details, which is so important to our project. Good job! + +Now, back to the features. I'd like to highlight the first of our improvements +in serving static media assets. + +### MIME Type Filtering + +Now, you can restrict file serving by MIME type: + +```json +{ + "share": "/www/data", + "types": [ "image/*", "video/*" ] +} +``` + +The configuration above allows only files with various video and image +extensions, but all other requests will return status code 403. + +In particular, this goes well with the `fallback` option that performs +another action if the `share` returns a 40x error: + +```json +{ + "share": "/www/data", + "types": [ "!application/x-httpd-php" ], + + "fallback": { + "pass": "applications/php" + } +} +``` + +Here, all requests to existing files other than `.php` will be served as +static content while the rest will be passed to a PHP application. + +More examples and documentation snippets are available here: +[https://docs.nginx.com/nginx-unit/configuration/#mime-filtering](https://docs.nginx.com/nginx-unit/configuration/#mime-filtering) + +### Full Changelog + +```none +Changes with Unit 1.24.0 27 May 2021 + + *) Change: PHP added to the default MIME type list. + + *) Feature: arbitrary configuration of TLS connections via OpenSSL + commands. + + *) Feature: the ability to limit static file serving by MIME types. + + *) Feature: support for chrooting, rejecting symlinks, and rejecting + mount point traversal on a per-request basis when serving static + files. + + *) Feature: a loader for automatically overriding the "http" and + "websocket" modules in Node.js. + + *) Feature: multiple "targets" in Python applications. + + *) Feature: compatibility with Ruby 3.0. + + *) Bugfix: the router process could crash while closing a TLS + connection. + + *) Bugfix: a segmentation fault might have occurred in the PHP module if + fastcgi_finish_request() was used with the "auto_globals_jit" option + enabled. +``` + +--- + +## Unit 1.24.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This one is full of shiny new features. But before I dive into the details, +let me introduce our new developers without whom this release wouldn't be so +feature-rich. Please, welcome Zhidao Hong (洪志道) and Oisín Canty. + +Zhidao has already been contributing to various nginx open-source projects for +years as a community member, and I'm very excited to finally have him on board. + +Oisín is a university student who's very interested in Unit; he joined our dev +team as an intern and already shown solid coding skills, curiosity, and +attention to details, which is so important to our project. Good job! + +Now, back to the features. I'd like to highlight the first of our improvements +in serving static media assets. + +### MIME Type Filtering + +Now, you can restrict file serving by MIME type: + +```json +{ + "share": "/www/data", + "types": [ "image/*", "video/*" ] +} +``` + +The configuration above allows only files with various video and image +extensions, but all other requests will return status code 403. + +In particular, this goes well with the `fallback` option that performs +another action if the `share` returns a 40x error: + +```json +{ + "share": "/www/data", + "types": [ "!application/x-httpd-php" ], + + "fallback": { + "pass": "applications/php" + } +} +``` + +Here, all requests to existing files other than `.php` will be served as +static content while the rest will be passed to a PHP application. + +More examples and documentation snippets are available here: +[https://docs.nginx.com/nginx-unit/configuration/#mime-filtering](https://docs.nginx.com/nginx-unit/configuration/#mime-filtering) + +### Full Changelog + +```none +Changes with Unit 1.24.0 27 May 2021 + + *) Change: PHP added to the default MIME type list. + + *) Feature: arbitrary configuration of TLS connections via OpenSSL + commands. + + *) Feature: the ability to limit static file serving by MIME types. + + *) Feature: support for chrooting, rejecting symlinks, and rejecting + mount point traversal on a per-request basis when serving static + files. + + *) Feature: a loader for automatically overriding the "http" and + "websocket" modules in Node.js. + + *) Feature: multiple "targets" in Python applications. + + *) Feature: compatibility with Ruby 3.0. + + *) Bugfix: the router process could crash while closing a TLS + connection. + + *) Bugfix: a segmentation fault might have occurred in the PHP module if + fastcgi_finish_request() was used with the "auto_globals_jit" option + enabled. +``` + +--- + +## Unit 1.23.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +Nowadays, TLS is everywhere, while plain HTTP is almost nonexistent in the +global network. We are fully aware of this trend and strive to simplify TLS +configuration in Unit as much as possible. Frankly, there's still much to do, +but the introduction of smart SNI certificate selection marks yet another step +in this direction. + +Perhaps, you already know about Unit's certificate storage API that uploads +certificate bundles to a running instance. Otherwise, if you're not yet fully +informed but still curious, here's a decent overview: +[https://docs.nginx.com/nginx-unit/certificates/](https://docs.nginx.com/nginx-unit/certificates/) + +Basically, you just upload a certificate chain and a key under some name; after +that, you can specify the name (`mycert` in the example below) with any +listening socket to configure it for HTTPS: + +```json +{ + "listeners": { + "*:443": { + "tls": { + "certificate": "mycert" + }, + "pass": "routes" + } + } +} +``` + +Unit's API also enables informative introspection of uploaded certificate +bundles so you can monitor their validity and benefit from service discovery. + +You can also upload any number of certificate bundles to switch between them on +the fly without restarting the server. Still, with this release, there are even +more options, as you can supply any number of certificate bundle names with a +listener socket: + +```json +{ + "certificate": [ "mycertA", "mycertB", ... ] +} +``` + +For each client, Unit automatically selects a suitable certificate from the +list depending on the domain name the client connects to (and therefore +supplies via the "Server Name Indication" TLS extension). Thus, you don't even +need to care about matching certificates to server names; Unit handles that for +you. As a result, there's almost no room for a mistake, which spares more time +for stuff that matters. + +As one can reasonably expect, you can always add more certs, delete them, or +edit the cert list on the fly without compromising performance. That's the +Unit way! + +Also, plenty of solid bug-fixing work was done by the whole team. See the full +change log below: + +### Full Changelog + +```none +Changes with Unit 1.23.0 25 Mar 2021 + + *) Feature: support for multiple certificate bundles on a listener via + the Server Name Indication (SNI) TLS extension. + + *) Feature: "--mandir" ./configure option to specify the directory for + man page installation. + + *) Bugfix: the router process could crash on premature TLS connection + close; the bug had appeared in 1.17.0. + + *) Bugfix: a connection leak occurred on premature TLS connection close; + the bug had appeared in 1.6. + + *) Bugfix: a descriptor and memory leak occurred in the router process + when processing small WebSocket frames from a client; the bug had + appeared in 1.19.0. + + *) Bugfix: a descriptor leak occurred in the router process when + removing or reconfiguring an application; the bug had appeared in + 1.19.0. + + *) Bugfix: persistent storage of certificates might've not worked with + some filesystems in Linux, and all uploaded certificate bundles were + forgotten after restart. + + *) Bugfix: the controller process could crash while requesting + information about a certificate with a non-DNS SAN entry. + + *) Bugfix: the controller process could crash on manipulations with a + certificate containing a SAN and no standard name attributes in + subject or issuer. + + *) Bugfix: the Ruby module didn't respect the user locale for defaults + in the Encoding class. + + *) Bugfix: the PHP 5 module failed to build with thread safety enabled; + the bug had appeared in 1.22.0. +``` + +--- + +## Unit 1.22.0 Released + +Hi, + +I'm glad to announce a new release of NGINX Unit. + +This is our first release of 2021, and it focuses on improving stability. +There's an extensive list of bugfixes, although many occur in rare conditions +that have so far been observed only in our test environments. These bugs +were caught due to improvements in our continuous functional testing; our QA, +Andrei Zeliankou, is always looking to increase the testing coverage and use +new techniques to spot various race conditions and leaks, thus improving +the quality of each release. This very important work never ends. + +### IMPORTANT: Changes to Official Linux Packages + +Starting with this release, the user and group accounts that run non-privileged +Unit processes are changed in our Linux packages: + +- in previous packages: `nobody:nobody` +- in 1.22.0 and later: `unit:unit` + +These settings are used to serve static files and run applications if +`user` or `group` options are not explicitly specified in the app +configuration. + +Please take a note of the change and update your configuration appropriately +before upgrading an existing Unit installation with our official packages: +[https://docs.nginx.com/nginx-unit/installation/#official-packages](https://docs.nginx.com/nginx-unit/installation/#official-packages) + +The rationale for this change in our packages was that using `nobody` by +default was very inconvenient while serving static files. You can always +override these settings with the `--user` and `--group` +daemon options in your startup scripts. See here for more details: +[https://docs.nginx.com/nginx-unit/howto/source/#startup-and-shutdown](https://docs.nginx.com/nginx-unit/howto/source/#startup-and-shutdown) + +### IMPORTANT 2: Changes to official Docker images + +Another notable change is also related to our official distributions; in +this case, it affects our Docker images. Many asked us to provide the most +up-to-date versions of language modules in our Docker images, but there was +no maintainable way of doing this while still relying on the Debian base +image we used before. + +Starting with 1.22.0, we stop maintaining images with language modules that use +the old Debian base; instead, now we rely on official Docker images for latest +language versions: [https://docs.nginx.com/nginx-unit/installation/#docker-images](https://docs.nginx.com/nginx-unit/installation/#docker-images) + +Our images are available at both Docker Hub and Amazon ECR Public Gallery; +you can also download them at our website. + +### Full Changelog + +```none +Changes with Unit 1.22.0 04 Feb 2021 + + *) Feature: the ServerRequest and ServerResponse objects of Node.js + module are now compliant with Stream API. + + *) Feature: support for specifying multiple directories in the "path" + option of Python apps. + + *) Bugfix: a memory leak occurred in the router process when serving + files larger than 128K; the bug had appeared in 1.13.0. + + *) Bugfix: apps could stop processing new requests under high load; the + bug had appeared in 1.19.0. + + *) Bugfix: app processes could terminate unexpectedly under high load; + the bug had appeared in 1.19.0. + + *) Bugfix: invalid HTTP responses were generated for some unusual status + codes. + + *) Bugfix: the PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server + variables were missing in the PHP module. + + *) Bugfix: the router process could crash with multithreaded apps under + high load. + + *) Bugfix: Ruby apps with multithreading configured could crash on start + under load. + + *) Bugfix: mount points weren't unmounted when the "mount" namespace + isolation was used; the bug had appeared in 1.21.0. + + *) Bugfix: the router process could crash while removing or + reconfiguring an app that used WebSocket. + + *) Bugfix: a memory leak occurring in the router process when removing + or reconfiguring an application; the bug had appeared in 1.19.0. +``` diff --git a/content/unit/news/archived-news/2022.md b/content/unit/news/archived-news/2022.md new file mode 100644 index 000000000..f294c5891 --- /dev/null +++ b/content/unit/news/archived-news/2022.md @@ -0,0 +1,510 @@ +--- +title: 2022 +weight: 100 +toc: true +--- + +## Unit 1.29.0 Released + +We are happy to announce Unit 1.29.0! This release enhances the configuration +experience when managing Unit and provides programmability within the +configuration. + +- NGINX JavaScript (njs) is now built with official Unit packages, enabling + JavaScript expressions within configuration values. +- First-time users benefit from a setup script that configures Unit with a + helpful welcome page. +- A simple command-line curl(1) wrapper simplifies configuring a running + instance in real time. + +In addition, Unit's isolation capabilities have been extended so that each +application can run in a new or a pre-existing [Linux cgroup](https://en.wikipedia.org/wiki/Cgroups), +but this is only a sampler of even richer per-application observability. Read on for full details of these +enhancements, smaller features, and bug fixes. + +### NGINX JavaScript Integration + +NGINX JavaScript (njs) is a server-side JavaScript runtime, optimized for +ultra-fast initialization, with a virtual machine that lives and dies with each +request. Originally designed for extending NGINX, the njs architecture lends +itself to integration, and now it also extends Unit! + +This release brings the initial integration of the NGINX JavaScript engine to +Unit. Future releases will extend these capabilities to enable more elaborate +uses. With Unit 1.29.0, JavaScript template literals may be used in +configuration strings to execute JavaScript expressions. A simple example is +to use the ternary operator to make a routing decision. + +```console +# curl --unix-socket /var/run/control.unit.sock http://localhost/config/routes +``` + +```json +[ + { + "action": { + "pass": "`applications/${new Date().getHours() < 12 ? 'am' : 'pm'}`" + } + } +] +``` + +Here, requests are passed between different applications depending on the time +of day. Note that a template literal is enclosed in backticks (`\``), +and `${}` encloses the JavaScript expression. Template literals may be +used wherever Unit supports variables, and multiple expressions can appear in a +single template literal. + +Also, this embedded JavaScript code can access various HTTP request properties: + +- Scalars: `host`, `uri`, `remoteAddr` +- Objects: `args`, `cookies`, `headers` + +Let's use these properties to redirect clients to the HTTPS login page if there +is no `session` cookie: + +```console +# curl --unix-socket /var/run/control.unit.sock http://localhost/config/routes/0 +``` + +```json +{ + "match": { + "scheme": "http" + }, + + "action": { + "return": 302, + "location": "`https://${host}${cookies['session'] === undefined ? '/login' : uri}`" + } +} +``` + +More complex logic can be implemented using the [immediately invoked function expressions (IIFE)](https://developer.mozilla.org/en-US/docs/Glossary/IIFE) in +the template literal: an entire JavaScript function can be defined, +comprising multiple statements and local variables. + +This defines a simple key-value log format that parses a JSON Web Token (JWT) to extract the sub claim: + +```console +# curl --unix-socket /var/run/control.unit.sock http://localhost/config/access_log +``` + +```json +{ + "path": "/var/log/unit/access_kv.log", + "format": "`timestamp=${new Date().toISOString()} ip=${remoteAddr} uri=${uri} sub=${(() => { var authz = headers['Authorization']; if (authz === undefined) { return '-'; } else { var parts = authz.slice(7).split('.').slice(0,2).map(v=>Buffer.from(v, 'base64url').toString()).map(JSON.parse); return parts[1].sub; } } )()} +`" +} +``` + +Embedding IIFE code in the configuration is extremely powerful, but is typically long, difficult to read, and challenging to debug. The [`njs` command line utility](http://nginx.org/en/docs/njs/cli.html) can be used to help develop JavaScript expressions. + +Future releases will support loading JavaScript modules into a separate storage and later using module-based functions in the configuration. + +### Configuration Tools + +This release introduces two new command-line tools to simplify Unit's installation and configuration. + +#### setup-unit + +The `setup-unit` tool automates configuring the software repository +prior to installing Unit. It also verifies a fresh installation by configuring +and serving a "welcome" web page. This takes some of the guesswork out of the +installation process for first-time users and guides them to their next steps. +Installing and running Unit on a typical Linux system is now as simple as this: + +```console +$ wget https://unit.nginx.org/_downloads/setup-unit && chmod +x setup-unit +``` + +```console +# ./setup-unit repo-config +``` + +```console +# apt install unit || yum install unit +``` + +```console +# ./setup-unit welcome +``` + +The `setup-unit` tool has other useful functions you can explore by +running `setup-unit --help`. + +#### unitc + +The `unitc` tool provides a command-line interface as a wrapper for +`curl(1)` for daily configuration and management of Unit instances. + +```console +$ unitc /config +``` + +```console +$ cat conf.json | unitc /config +``` + +### Per-Application Cgroups + +With Unit 1.29.0, we support the cgroup V2 API to provide the ability to place +each application into its own cgroup or have multiple applications in a single +cgroup. The following configuration illustrates the newly added configuration +syntax: + +```json +"applications": { + "cgroup-demo": { + "type": "python", + "path": "/path/to/app/dir", + "module": "app", + "isolation": { + "cgroup": { + "path": "unit/cgroup-demo" + } + } + } +} +``` + +--- + +## Unit Not Impacted By CVE-2022-35256, CVE-2022-40674 + +This is a brief announcement to notify our users that NGINX Unit is not +impacted by [CVE-2022-40674](https://nvd.nist.gov/vuln/detail/CVE-2022-40674#vulnCurrentDescriptionTitle) +and [CVE-2022-35256](https://feed.prelude.org/p/cve-2022-35256); we don't +use `libexpat` and implement our own HTTP stack when integrating with +Node.js. + +--- + +## Unit 1.28.0 Released + +We are happy to announce Unit 1.28! This release sets the first milestone for +observability: + +- It is now possible to get basic information about connections, requests, and + other per-application metrics + +- All this is now available via our powerful RESTful API + +In addition, we introduce new variables and the ability to use them to +customize the access log format. Besides the long-awaited statistics and +logging use cases, we also present: + +- Enhanced forward header handling with new configuration syntax and + X-Forwarded-Proto support + +- Support for abstract UNIX domain sockets in listeners on Linux-like + systems + +- Fixes for several community-reported bugs + +### Metrics and Statistics + +With 1.28, the Unit API has a new endpoint available; the `/status` +endpoint is exposed at the root level, as with the `/config` and +`/certificates` endpoints: + +```console +curl --unix-socket /var/run/control.unit.sock http://localhost +``` + +```json +{ + "config": { + "listeners": { + }, + + "applications": { + } + }, + + "status": { + "connections": { + "accepted": 0, + "active": 0, + "idle": 0, + "closed": 0 + }, + + "requests": { + "total": 0 + }, + + "applications": {} + } +} +``` + +The `status` object contains three nested objects: + +- The `connections` object provides detailed information about the client + connections to the Unit instance or, specifically, to its listeners. Here, + `accepted` and `closed` are total values accumulated over the + instance's lifetime; restarting Unit resets the total values. + +- In contrast, `active` and `idle` are spot values representing the + number of active or idle requests at one of the listeners that Unit exposes. + +The `requests` object holds the total number of requests to all exposed +listeners since the last restart. + +{{< note >}} + +Both `connections` and `requests` count requests to Unit's +listeners, NOT the config API itself. + +{{< /note >}} + +- The `applications` section follows the `/config/applications` + tree in the API; again, there's no special setup required because Unit + automatically maintains per-app metrics for all applications in + `/config/applications`, and the apps' names identify them respectively. + +Consider the following applications configuration as an example: + +```json +{ + "my-app":{ + "type": "external", + "working_directory": "/www/chat", + "executable": "bin/chat_app", + "processes":{ + "max": 10, + "spare": 5, + "idle_timeout": 20 + } + } +} +``` + +The interesting part is the `processes` configuration. We defined a +maximum of 10 and a spare number of 5 processes; the `idle_timeout` is 20 +seconds. After a couple of requests, let's look at the app statistics: + +```json +{ + "my-app":{ + "processes":{ + "running": 9, + "starting": 0, + "idle": 2 + }, + + "requests":{ + "active": 9 + } + } +} +``` + +Knowing the process configuration of `my-app`, this is quite easy to +understand. Currently, there are 9 out of 10 total processes running, while 0 +are currently starting. The two idles are inactive app processes that have not +reached the `idle_timeout` yet; these will be removed when the configured +timeout of 20 seconds elapses, so the number of running processes will drop to +7. + +So, with Unit 1.28, you now can see your basic workload and process statistics +for the Unit instance itself as well as individual applications. This is but a +first, very important step to increased visibility for us. + +### Full Changelog + +```none +Changes with Unit 1.28.0 13 Sep 2022 + + *) Change: increased the applications' startup timeout. + + *) Feature: basic statistics API. + + *) Feature: customizable access log format. + + *) Feature: more HTTP variables support. + + *) Feature: forwarded header to replace client address and protocol. + + *) Feature: ability to get dynamic variables. + + *) Feature: support for abstract Unix sockets. + + *) Bugfix: the Ruby application process could crash on SIGINT. + + *) Bugfix: mutex leak in the C API. +``` + +### Platform Updates + +#### Docker Images + +- The Unit JSC11 image is now based on `eclipse-temurin` instead of + `openjdk` + +- Go version bump: 1.18 → 1.19 + +- Perl version bump: 5.34 → 5.36 + +--- + +## Unit 1.27.0 Released + +We are pleased to announce NGINX Unit 1.27. This release brings a new level of +maturity to Unit for serving static assets. We love using Unit as a +cloud-native web server, and this release brings some missing features to this +use case. + +- Redirecting HTTP requests to HTTPS +- Configurable filename for path-only URIs + +### Redirecting HTTP Requests to HTTPS + +Since we added TLS support and certificate management to Unit, we’ve been asked +to simplify redirecting plaintext HTTP requests to the TLS-enabled listener. +This is now possible by configuring the `location` value of a route +action to contain variables. Indeed, a new variable, `$request_uri`, is +now available that contains the path-and-query parts of the original URI, +preserving any encoding needed by the browser. + +A full example is provided below. + +```json +{ + "listeners": { + "*:443": { + "tls": { + "certificate": "example.com" + }, + "pass": "routes" + }, + "*:80": { + "pass": "routes" + } + }, + + "routes": [ + { + "match": { + "scheme": "http" + }, + "action": { + "return": 301, + "location": "https://${host}${request_uri}" + } + } + ] +} +``` + +This configuration enables Unit to listen on plaintext and TLS-enabled ports, +ensuring that any requests received on the plaintext port notify the browser to +resubmit on the TLS-enabled port. See more details in the documentation. + +### Configurable Filename for Path-Only URIs + +While it is conventional for `index.html` to represent the resource to be +served when a path-only URI is requested, i.e., one without a filename suffix, +this convention is rooted in history. It comes from a time in the early 1990s +when HTTP was used exclusively to index and navigate HTML pages. + +You can now use a different default filename by specifying the index for a +route action. A full example is provided below. + +```json +"routes": [ + { + "match": { + "uri": "/cms/*" + }, + "action": { + "share": "/var/cms$uri", + "index": "default.html" + } + }, + { + "action": { + "share": "/var/www$uri" + } + } +] +``` + +This configuration enables Unit to serve `default.html` for path-only +URIs made to `/cms/*` and the default `index.html` filename for all +other path-only URIs. See more details in the documentation. + +### Full Changelog + +```none +Changes with Unit 1.27.0 02 Jun 2022 + + *) Feature: ability to specify a custom index file name when serving + static files. + + *) Feature: variables support in the "location" option of the "return" + action. + + *) Feature: support empty strings in the "location" option of the + "return" action. + + *) Feature: added a new variable, $request_uri, that includes both the + path and the query parts as per RFC 3986, sections 3-4. + + *) Feature: Ruby Rack environment parameter "SCRIPT_NAME" support. + + *) Feature: compatibility with GCC 12. + + *) Bugfix: Ruby Sinatra applications don't work without custom logging. + + *) Bugfix: the controller process could crash when a chain of more than + four certificates was uploaded. + + *) Bugfix: some Perl applications failed to process the request body, + notably with Plack. + + *) Bugfix: some Spring Boot applications failed to start, notably with + Grails. + + *) Bugfix: incorrect Python protocol auto-detection (ASGI or WSGI) for + native callable object, notably with Falcon. + + *) Bugfix: ECMAScript modules did not work with the recent Node.js + versions. +``` + +### Platform Updates + +Official packages are now available for the following Linux distributions: + +- Fedora 36 +- RHEL 9 +- Ubuntu 22.04 + +Docker images have been updated to use the latest +language versions: + +- Go 1.18 +- PHP 8.1 +- Ruby 3.1 + +### Community, Roadmap, and Open Issues + +We continue to receive valuable bug reports and feature requests to our [GitHub +issues page](https://github.com/nginx/unit/issues). Although we are a small +team, every issue is reviewed, and we aim to respond within 2-3 days. Since the +last release, we refreshed our [GitHub README](https://github.com/nginx/unit#readme) +with a super-quick-start guide and added [contribution guidelines](https://github.com/nginx/unit/blob/master/CONTRIBUTING.md) +to help you get involved. For other discussions, please join us at the `#unit-users` +channel on the [NGINX Community Slack](https://nginxcommunity.slack.com/join/shared_invite/zt-1aaa22w80-~_~wSMNyPxLPLp5xunOC7w) +or the [mailing list](https://mailman.nginx.org/mailman3/lists/unit.nginx.org/). + +Although this release focuses on bug fixes and web server features, we have +advanced in several other projects that you can expect to see in forthcoming +releases this year: + +- Custom logging (which brings lots of new variables and places you can use them) +- JavaScript-in-the-configuration (already available as an [experimental patch](https://github.com/nginx/unit/issues/652)) +- Statistics API to provide true observability for Unit +- CLI tool for easier command-line management of Unit diff --git a/content/unit/news/archived-news/_index.md b/content/unit/news/archived-news/_index.md new file mode 100644 index 000000000..e6716b2fa --- /dev/null +++ b/content/unit/news/archived-news/_index.md @@ -0,0 +1,4 @@ +--- +title: "Archived news and releases" +weight: 400 +--- diff --git a/content/unit/scripting.md b/content/unit/scripting.md new file mode 100644 index 000000000..ee058810c --- /dev/null +++ b/content/unit/scripting.md @@ -0,0 +1,212 @@ +--- +title: Scripting +weight: 700 +toc: true +--- + +NGINX Unit's [control API]({{< relref "/unit/controlapi.md" >}}) supports +JavaScript expressions, including function calls, in the form of +[template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) +written in +[NGINX JavaScript](https://nginx.org/en/docs/njs/) ( `njs` ). +They can be used with these [configuration]({{< relref "/unit/configuration.md" >}}) options: + +- **pass** in + [listeners]({{< relref "/unit/configuration.md#configuration-listeners">}}) + and + [actions]({{< relref "/unit/configuration.md#configuration-routes-action">}}) + to choose between routes, applications, app targets, or upstreams. +- **response_headers** values in + [actions]({{< relref "/unit/configuration.md#configuration-routes-action">}}) + to manipulate response header fields. +- **rewrite** in + [actions]({{< relref "/unit/configuration.md#configuration-routes-action">}}) + to enable [URI rewriting]({{< relref "/unit/configuration.md#configuration-rewrite">}}). +- **share** and **chroot** in + [actions]({{< relref "/unit/configuration.md#configuration-routes-action">}}) + to control [static content serving]({{< relref "/unit/configuration.md#configuration-static">}}). +- **location** in **return** + [actions]({{< relref "/unit/configuration.md#configuration-return">}}) + to enable HTTP redirects. +- **format** in the + [access log]({{< relref "/unit/configuration.md#custom-log-format">}}) + to customize Unit's log output. +- **if** in the + [access log]({{< relref "/unit/configuration.md#conditional-access-log-1">}}) + to dynamically turn Unit's logging on and off. + +As its JavaScript engine, Unit uses the `njs` library, +shipped with the [official packages]({{< relref "/unit/installation.md#installation-precomp-pkgs" >}}) +or +[built from source]({{< relref "/unit/installation.md#installation-source" >}}). + +{{< warning >}} +Unit 1.32.0 and later require [njs 0.8.2](https://nginx.org/en/docs/njs/changes.html). +{{< /warning >}} + +Some request properties are exposed as `njs` objects or scalars: + +{{}} + +| Name | Type | Description | +|-------------|--------|------------------------------------------------------------------------------------------------------------------| +| **args** | Object | Query string arguments; **Color=Blue** is **args.Color**; can be used with **Object.keys()**. | +| **cookies** | Object | Request cookies; an **authID** cookie is **cookies.authID**; can be used with **Object.keys()**. | +| **headers** | Object | Request header fields; **Accept** is **headers.Accept**, **Content-Encoding** is **headers['Content-Encoding']** (hyphen requires an array property accessor); can be used with **Object.keys()**. | +| **host** | Scalar | **Host** [header field](https://datatracker.ietf.org/doc/html/rfc7230#section-5.4), converted to lower case and normalized by removing the port number and the trailing period (if any). | +| **remoteAddr** | Scalar | Remote IP address of the request. | +| **uri** | Scalar | [Request target](https://datatracker.ietf.org/doc/html/rfc7230#section-5.3), [percent decoded](https://datatracker.ietf.org/doc/html/rfc3986#section-2.1) and normalized by removing the [query string](https://datatracker.ietf.org/doc/html/rfc3986#section-3.4) and resolving [relative references](https://datatracker.ietf.org/doc/html/rfc3986#section-4.2) ("." and "..", "//"). | +| **vars** | Object | Unit [variables]({{< relref "/unit/configuration.md#configuration-variables-native" >}}); vars.method is **$method**. | + +{{}} + + +Template literals are wrapped in backticks. To use a literal backtick in a string, +escape it: **\\\\\`** (escaping backslashes is a +[JSON requirement](https://www.json.org/json-en.html)). +The `njs` snippets should be enclosed in curly brackets: +**\${...}**. + +Next, you can upload and use custom JavaScript modules +with your configuration. Consider this **http.js** script that distinguishes requests +by their **Authorization** header field values: + +```javascript +var http = {} + +http.route = function(headers) { + var authorization = headers['Authorization']; + if (authorization) { + var user = atob(authorization.split(' ')[1]); + if (String(user) == 'user:password') { + return 'accept'; + } + + return 'forbidden'; + } + + return 'unauthorized'; +} + +export default http +``` + +To upload it to Unit's JavaScript module storage as **http**, run the following +command as root: + +```console +# curl -X PUT --data-binary @http.js --unix-socket /path/to/control.unit.sock \ # + http://localhost/js_modules/http # +``` + +Unit doesn't enable the uploaded modules by default, so add the module's name to **settings/js_module** running the following command as root: + +```console +curl -X PUT -d '"http"' # Module name to be enabled + /path/to/control.unit.sock \ # Path to the remote control socket + http://localhost/config/settings/js_module +``` + +{{< note >}} +Please note that the **js_module** option +can be a string or an array; choose the appropriate HTTP method. +{{< /note >}} + +Now, the **http.route()** function can be used with Unit-supplied header field values: + +```json +{ + "routes": { + "entry": [ + { + "action": { + "pass": "`routes/${http.route(headers)}`" + } + } + ], + + "unauthorized": [ + { + "action": { + "return": 401 + } + } + ], + + "forbidden": [ + { + "action": { + "return": 403 + } + } + ], + + "accept": [ + { + "action": { + "return": 204 + } + } + ] + } +} +``` + +## Examples {#njs-examples} + +This example adds simple routing logic that extracts the agent name from the +**User-Agent** header field to reject requests issued by `curl`: + +```json +"routes": { + "parse": [ + { + "action": { + "pass": "`routes/${ headers['User-Agent'].split('/')[0] == 'curl' ? 'reject' : 'default' }`" + } + } + ], + + "reject": [ + { + "action": { + "return": 400 + } + } + ], + + "default": [ + { + "action": { + "return": 204 + } + } + ] +} +``` + +This example uses a series of transformations to log the request's date, IP, URI, +and all its headers: + +```json +{ + "path": "/var/log/unit/access_kv.log", + "format": "`@timestamp=${new Date().toISOString()} ip=${remoteAddr} uri=${uri} ${Object.keys(headers).map(k => 'req.' + k + '=\"' + headers[k] + '\"').join(' ')}\n`" +} +``` + +The next example will add the **Cache-Control** Header based on the HTTP Request method: + +```json +{ + "action": { + "pass": "applications/my_app", + "response_headers": { + "Cache-Control": "`${vars.method.startsWith('P') ? 'no-cache' : 'max-age=3600'}`" + } + } +} +``` + +For further reference, +see the [njs documentation](https://nginx.org/en/docs/njs/). diff --git a/content/unit/statusapi.md b/content/unit/statusapi.md new file mode 100644 index 000000000..ec4877474 --- /dev/null +++ b/content/unit/statusapi.md @@ -0,0 +1,213 @@ +--- +title: Status API +weight: 900 +toc: true +--- + + + +Unit collects information about the loaded language models, as well as +instance- and app-wide metrics, and makes them available via the **GET**-only +**/status** section of the [control API]({{< relref "/unit/controlapi.md" >}}): + +{{}} + +| Option | Description | +|--------------|-----------------------------------------------------| +| **modules** | Object; lists currently loaded language modules. | +| **connections** | Object; lists per-instance connection statistics. | +| **requests** | Object; lists per-instance request statistics. | +| **applications** | Object; each option item lists per-app process and request statistics. | + +{{}} + +Example: + +```json +{ + "modules": { + "python": [ + { + "version": "3.12.3", + "lib": "/opt/unit/modules/python.unit.so" + }, + { + "version": "3.8", + "lib": "/opt/unit/modules/python-3.8.unit.so" + } + ], + + "php": { + "version": "8.3.4", + "lib": "/opt/unit/modules/php.unit.so" + } + }, + + "connections": { + "accepted": 1067, + "active": 13, + "idle": 4, + "closed": 1050 + }, + + "requests": { + "total": 1307 + }, + + "applications": { + "wp": { + "processes": { + "running": 14, + "starting": 0, + "idle": 4 + }, + + "requests": { + "active": 10 + } + } + } +} +``` + +--- + +## Modules + +Each item in the **modules** object lists one of the currently loaded language +modules, the installed version (or versions) of the module, and the path to the +module file: + +{{}} + +| Option | Description | +|-----------|-------------| +| **name** | String; language module name. | +| **version** | String; language module version. If multiple versions are loaded, the list contains multiple items. | +| **lib** | String; path to the language module file. | + +{{}} + +--- + +## Connections + +The **connections** object offers the following Unit instance metrics: + +{{}} + +| Option | Description | +|----------|-------------| +| **accepted** | Integer; total accepted connections during the instance's lifetime. | +| **active** | Integer; current active connections for the instance. | +| **idle** | Integer; current idle connections for the instance. | +| **closed** | Integer; total closed connections during the instance's lifetime. | + +{{}} + +Example: + +```json +"connections": { + "accepted": 1067, + "active": 13, + "idle": 4, + "closed": 1050 +} +``` + +{{< note >}} +For details of instance connection management, +refer to +[Configuration Settings]({{< relref "/unit/configuration.md#configuration-stngs" >}}). +{{< /note >}} + +--- + +## Requests + +The **requests** object currently exposes a single instance-wide metric: + +{{}} + +| Option | Description | +|----------|-------------| +| **total** | Integer; total non-API requests during the instance's lifetime. | + +{{}} + +Example: + +```json +"requests": { + "total": 1307 +} +``` + +--- + +## Applications + +Each item in **applications** describes an app currently listed in the +**/config/applications** +[section]({{< relref "/unit/configuration.md#configuration-applications" >}}). + +{{}} + +| Option | Description | +|------------|-------------| +| **processes** | Object; lists per-app process statistics. | +| **requests** | Object; similar to **/status/requests**, but includes only the data for a specific app. | + +{{}} + +Example: + +```json +"applications": { + "wp": { + "processes": { + "running": 14, + "starting": 0, + "idle": 4 + }, + + "requests": { + "active": 10 + } + } +} +``` + +--- + +## Processes + +The **processes** object exposes the following per-app metrics: + +{{}} + +| Option | Description | +|------------|-------------| +| **running** | Integer; current running app processes. | +| **starting** | Integer; current starting app processes. | +| **idle** | Integer; current idle app processes. | + +{{}} + + +Example: + +```json +"processes": { + "running": 14, + "starting": 0, + "idle": 4 +} +``` + +{{< note >}} +For details of per-app process management, +refer to +[Process management]({{< relref "/unit/configuration.md#configuration-proc-mgmt" >}}). +{{< /note >}} diff --git a/content/unit/troubleshooting.md b/content/unit/troubleshooting.md new file mode 100644 index 000000000..3f185a864 --- /dev/null +++ b/content/unit/troubleshooting.md @@ -0,0 +1,324 @@ +--- +title: Troubleshooting +weight: 1100 +toc: true +--- + +{{< note >}} +The commands in this document starting with a hash (#) must be run as root or +with superuser privileges. +{{< /note >}} + +## Logging {#troubleshooting-log} + +Unit maintains a single general-purpose log, a system-wide log for runtime messaging, + usually found at `/var/log/unit.log`, for diagnostics and troubleshooting +(not to be confused with the [access log]({{< relref "/unit/configuration#configuration-access-log" >}})). +To find out its default location in your installation: + +```console +$ unitd -h + + unit options: + ... + --log FILE set log filename + default: "/path/to/unit.log" +``` + +The **--log** option overrides the default value; if Unit is already running, +check whether this option is set: + +```console +$ ps ax | grep unitd + ... + unit: main v1.34.1 [/path/to/unitd ... --log /path/to/unit.log ...] +``` + +If Unit isn't running, see its system startup scripts or configuration files +to check if **--log** is set, and how. + +Available log levels: + +- **[alert]**: Non-fatal errors such as app exceptions or misconfigurations. +- **[error]**: Serious errors such as invalid ports or addresses. +- **[warn]**: Recoverable issues such as **umount2(2)** failures. +- **[notice]**: Self-diagnostic and router events. +- **[info]**: General-purpose reporting. +- **[debug]**: Debug events. + +{{< note >}} +Mind that our Docker images forward their log output to the +[Docker log collector](https://docs.docker.com/config/containers/logging/) +instead of a file. +{{< /note >}} + +### Router events {#troubleshooting-router-log} + +The **log_route** option in Unit's +[settings]({{< relref "/unit/configuration#configuration-stngs" >}}) +allows recording +[routing choices]({{< relref "/unit/configuration#configuration-routes-matching" >}}) +in the general-purpose log: + +{{}} + +| Event | Log Level | Description | +|----------------------|----------------|---------------------------------------------------------------------------------------------------| +| HTTP request line | **[notice]** | Incoming [request line](https://datatracker.ietf.org/doc/html/rfc9112#section-3). | +| URI rewritten | **[notice]** | The request URI is updated. | +| Route step selected | **[notice]** | The route step is selected to serve the request. | +| Fallback taken | **[notice]** | A **fallback** action is taken after the step is selected. | + +{{}} + + +Sample router logging output may look like this: + +```none +[notice] 8308#8339 *16 http request line "GET / HTTP/1.1" +[info] 8308#8339 *16 "routes/0" discarded +[info] 8308#8339 *16 "routes/1" discarded +[notice] 8308#8339 *16 "routes/2" selected +[notice] 8308#8339 *16 URI rewritten to "/backend/" +[notice] 8308#8339 *16 "fallback" taken +``` + +It lists specific steps and actions (such as **routes/2**) that can be queried via +the [control API]({{< relref "/unit/controlapi.md" >}}) for details: + +```console +curl --unix-socket /path/to/control.unit.sock http://localhost/config/routes/2 # The step listed in the log +``` + +### Debug events {#troubleshooting-dbg-log} + +Unit's log can be set to record **[debug]**-level events; the steps to enable this +mode vary by install method. + +{{< warning >}} +Debug log is meant for developers; it grows rapidly, so enable it only for +detailed reports and inspection. +{{< /warning >}} + +{{< tabs name="debug-log" >}} +{{% tab name="Installing From Our Repos" %}} + +Our [repositories]({{< relref "/unit/installation.md#installation-precomp-packages" >}}) +provide a debug version of `unitd` called `unitd-debug` within the `unit` package: + +```console +# unitd-debug +``` + +{{% /tab %}} +{{% tab name="Running From Docker Images" %}} + +To enable debug-level logging when using our +[Docker iamges]({{< relref "/unit/installation.md#installation-docker" >}}): + +```console +$ docker run -d unit:{{< param "unitversion" >}}-minimal unitd-debug --no-daemon \ + --control unix:/var/run/control.unit.sock +``` + +Another option is adding a new layer in a Dockerfile: + +```dockerfile + +FROM unit:{{< param "unitversion" >}}-minimal + +CMD ["unitd-debug","--no-daemon","--control","unix:/var/run/control.unit.sock"] +``` + +The **CMD** instruction above replaces the default `unitd` executable +with its debug version. + +{{% /tab %}} +{{% tab name="Building From Source" %}} + +To enable debug-level logging when +[installing from source]({{< relref "/unit/installation.md#source" >}}), +use the **--debug** option: + +```console +$ ./configure --debug +``` + +Then recompile and reinstall Unit and your +[language modules]({{< relref "/unit/howto/source.md#source-modules" >}}). +{{% /tab %}} +{{< /tabs >}} + + +## Core dumps {#troubleshooting-core-dumps} + +Core dumps help us investigate crashes; attach them when +[reporting an issue]({{< relref "/unit/troubleshooting.md#troubleshooting-support" >}}). +For builds from +[our repositories]({{< relref "/unit/installation.md#installation-precomp-packages" >}}), +we maintain debug symbols in special packages; they have the original packages' +names with the **-dbg** suffix appended, such as **unit-dbg**. + +{{< note >}} +This section assumes you're running Unit as **root** (recommended). +{{< /note >}} + +{{< tabs name="core-dumps" >}} +{{% tab name="Linux: systemd" %}} + +To enable saving core dumps while running Unit as a `systemd` service +(for example, with +[packaged installations]({{< relref "/unit/installation.md#installation-precomp-packages" >}})), +adjust the [service settings](https://www.freedesktop.org/software/systemd/man/systemd.exec.html) +in **/lib/systemd/system/unit.service**: + +```ini +[Service] +... +LimitCORE=infinity +LimitNOFILE=65535 +``` + +Alternatively, update the +[global settings](https://www.freedesktop.org/software/systemd/man/systemd.directives.html) +in **/etc/systemd/system.conf**: + +```ini +[Manager] +... +DefaultLimitCORE=infinity +DefaultLimitNOFILE=65535 +``` + +Next, reload the service configuration and restart Unit to reproduce the crash +condition: + +```console +# systemctl daemon-reload +``` + +```console +# systemczl restart unit.service +``` + +After a crash, locate the core dump file: + +```console +# coredumpctl -1 # optional + + TIME PID UID GID SIG COREFILE EXE + Mon 2020-07-27 11:05:40 GMT 1157 0 0 11 present /usr/sbin/unitd +``` + +```console +# ls -al /var/lib/systemd/coredump/ # default, see also /etc/systemd/coredump.conf and /etc/systemd/coredump.conf.d/*.conf + + ... + -rw-r----- 1 root root 177662 Jul 27 11:05 core.unitd.0.6135489c850b4fb4a74795ebbc1e382a.1157.1590577472000000.lz4 +``` + +{{% /tab %}} +{{% tab name="Linux: Manual Setup" %}} + +Check the +[core dump settings](https://www.man7.org/linux/man-pages/man5/limits.conf.5.html) +in **/etc/security/limits.conf**, adjusting them if necessary: + +```none +root soft core 0 # disables core dumps by default +root hard core unlimited # enables raising the size limit +``` + +Next, raise the core dump size limit with +[ulimit](https://www.man7.org/linux/man-pages/man1/bash.1.html#SHELL_BUILTIN_COMMANDS), +then restart Unit to reproduce the crash condition: + +```console +# ulimit -c unlimited +``` + +```console +# cd /path/to/unit/ # Unit's installation directory +``` + +```console +# sbin/unitd # or sbin/unitd-debug +``` + +After a crash, locate the core dump file: + +```console +# ls -al /path/to/unit/working/directory/ # default location, see /proc/sys/kernel/core_pattern + + ... + -rw-r----- 1 root root 177662 Jul 27 11:05 core.1157 +``` + +{{% /tab %}} +{{% tab name="FreeBSD" %}} + +Check the +[core dump settings](https://www.freebsd.org/cgi/man.cgi?sysctl.conf(5)) +in **/etc/sysctl.conf**, adjusting them if necessary: + +```ini +kern.coredump=1 +# must be set to 1 +kern.corefile=/path/to/core/files/%N.core +# must provide a valid pathname +``` + +Alternatively, update the settings in runtime: + +```console +# sysctl kern.coredump=1 +``` + +```console +# sysctl kern.corefile=/path/to/core/files/%N.core +``` + +Next, restart Unit to reproduce the crash condition. +If Unit is installed as a service: + +```console +# service unitd restart +``` + + +If it's installed manually: + +```console +# cd /path/to/unit/ # Unit's installation directory +``` + +```console +# sbin/unitd +``` + +After a crash, locate the core dump file: + +```console +# ls -al /path/to/core/files/ # core dump directory + + ... + -rw------- 1 root root 9912320 Jul 27 11:05 unitd.core +``` + +{{% /tab %}} +{{< /tabs >}} + +## Getting support {#troubleshooting-support} + +{{}} + +| Support \| Channel | Details | +|----------------------|---------| +| **GitHub** | Visit our [repo](https://github.com/nginx/unit) to submit issues, suggest features, ask questions, or see the roadmap. | +| **Mailing lists** | To post questions to [unit@nginx.org](mailto:unit@nginx.org) and get notifications, including release news, email [unit-subscribe@nginx.org](mailto:unit-subscribe@nginx.org) or sign up [here](https://mailman.nginx.org/mailman/listinfo/unit).

To receive all OSS release announcements from NGINX, join the general mailing list [here](https://mailman.nginx.org/mailman/listinfo/nginx-announce). | +| **Security alerts** | Please report security issues to [security-alert@nginx.org](mailto:security-alert@nginx.org), specifically mentioning NGINX Unit in the subject and following the [CVSS v3.1](https://www.first.org/cvss/v3.1/specification-document) specification. | + +{{
}} + + +In addition, we offer [commercial support](https://my.f5.com/manage/s/article/K000140156/). diff --git a/content/unit/unitctl.md b/content/unit/unitctl.md new file mode 100644 index 000000000..ea4a0e73e --- /dev/null +++ b/content/unit/unitctl.md @@ -0,0 +1,345 @@ +--- +title: CLI (unitctl) +weight: 1000 +toc: true +--- + +{{< note >}} +**unitctl** is currently being provided as a "Technical Preview". We welcome +feedback and suggestions for this early access version. It is provided to test +its features and should not be used in production environments. +{{< /note >}} + +Unit provides a [Rust SDK](https://github.com/nginx/unit/tree/master/tools/unitctl) +to interact with its [control API]({{< relref "/unit/controlapi.md" >}}), and a command line +interface (unitctl) that exposes the functionality provided by the SDK. + +This CLI is a multi-purpose tool that allows you to deploy, manage, and configure +Unit in your environment. + +## Download binaries + +Unitctl binaries are available for Linux (ARM64 and X64) and macOS systems. + +Download the latest binaries from the [Unit GitHub releases page](https://github.com/nginx/unit/releases). + +## Build from source + +To build unitctl from source, follow the instructions in the [unitctl repository](https://github.com/nginx/unit/tree/master/tools/unitctl). + +## Using unitctl + +The unitctl CLI offers several commands to interact with Unit. Here are the available commands: + +{{}} + +| Command | Description | +|---------------|-----------------------------------------------------------------------------| +| **instances** | List all running Unit processes | +| **apps** | List and restart active applications | +| **edit** | Open the current Unit configuration in the default system editor | +| **export** | Export the current Unit configuration (excluding certificates) to a tarball | +| **import** | Import Unit configuration from a directory | +| **execute** | Send a raw JSON payload to Unit | +| **status** | Get the current status of Unit | +| **listeners** | List all active listeners | +| **help** | Display help information for commands and options | + +{{}} + + +There are also a number of options that you can use with the unitctl CLI: + +{{}} + +| Option | Description | +|----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------| +| **-s, --control-socket-address ** | Specify a path (e.g., unix:/var/run/unit/control.sock), TCP address with port (e.g., 127.0.0.1:80), or URL for Unit's control socket | +| **-w, --wait-timeout-seconds ** | Specify the timeout in seconds for the control socket to become available | +| **-t, --wait-max-tries ** | Specify the maximum number of tries to connect to the control socket when waiting (default: 3) | +| **-h, --help** | Display help information for commands and options | +| **-v, --version** | Display the version of the unitctl CLI | + +{{}} + + +### List and create instances of Unit + +The **instances** command lets you list all running Unit processes and +deploy new instances of Unit. + +The **instances** command has the following option: + +{{}} + +| Option | Description | +|----------|--------------------------------------| +| **new** | Deploy a new instance of Unit | + +{{}} + + +Running unitcl with the **instances** command shows output similar to this: + +```console +$ unitctl instances +No socket path provided - attempting to detect from running instance +unitd instance [pid: 79489, version: 1.32.0]: + Executable: /opt/unit/sbin/unitd + API control unix socket: unix:/opt/unit/control.unit.sock + Child processes ids: 79489, 79489 + Runtime flags: --no-daemon + Configure options: --prefix=/opt/unit --user=myUser --group=myGroup --openssl +``` + +You can use the **new** option with three arguments to deploy a new instance of Unit: + +1. **Control API path**: A file path for a Unix socket or a TCP address with port. + + - If you specify a directory, the Unit container will mount it to **/var/run** internally. + The control socket and pid file are accessible from the host. Example: **/tmp/2**. + - If you specify a TCP address, the Unit container will listen on this + address and port. Example: **127.0.0.1:7171**. + +2. **Application path**. The Unit container will mount this path in read-only mode + to **/www** internally. This setup allows you to configure the Unit + container to expose an application stored on the host. Example: **\$(pwd)**. + +3. **Image tag**: Unitctl will deploy this image, enabling you use custom + images. For example: **unit:wasm**. + +```console +$ unitctl instances new /tmp/2 $(pwd) 'unit:wasm' +Pulling and starting a container from unit:wasm +Will mount /tmp/2 to /var/run for socket access +Will READ ONLY mount /home/user/unitctl to /www for application access +Note: Container will be on host network +``` + +After the deployment is complete, you will have one Unit container running on the +host network. + +### List and restart running apps + +The **apps** command lets you list and restart active applications. + +#### Options + +The **apps** command has the following options: + +{{}} + +| Option | Description | +|------------------------|-------------------------------------| +| **list** | List all active applications | +| **restart ** | Restart the specified application | + +{{}} + + +To list active applications, run: + +```console +$ unitctl apps list +{ + "wasm": { + "type": "wasm-wasi-component", + "component": "/www/wasmapp-proxy-component.wasm" + } +} +``` + +To restart an application, run: + +```console +$ unitctl apps restart wasm +{ + "success": "Ok" +} +``` + +{{< note >}} +This command supports operating on multiple instances of Unit at once. To do +this, use the **-s** option multiple times with different values: + +```console +$ unitctl -s '127.0.0.1:8001' -s /run/nginx-unit.control.sock app list +``` +{{< /note >}} + +### Fetch active listeners + +Unitctl can query a given control API to fetch all configured listeners. + +To list all active listeners, run: + +```console +$ unitctl listeners +No socket path provided - attempting to detect from running instance +{ + "127.0.0.1:8080": { + "pass": "routes" + } +} +``` + +{{< note >}} +This command supports operating on multiple instances of Unit at once. To do +this, use the **-s** option multiple times with different values: + +```console +$ unitctl -s '127.0.0.1:8001' -s /run/nginx-unit.control.sock listeners +``` +{{< /note >}} + +### Check the status of Unit + +Unitctl can query the control API to provide the **status** of the running Unit +daemon. + +To get the current status of the Unit, run: + +```console +$ unitctl status -t yaml +No socket path provided - attempting to detect from running instance +connections: + accepted: 0 + active: 0 + idle: 0 + closed: 0 +requests: + total: 0 +applications: {} +``` + +{{< note >}} +This command supports operating on multiple instances of Unit at once. To do +this, use the **-s** option multiple times with different values: + +```console +$ unitctl -s '127.0.0.1:8001' -s /run/nginx-unit.control.sock status +``` +{{< /note >}} + +### Send configuration payloads to Unit + +With the **execute** command, Unitctl can accept custom request payloads and +query specified API endpoints with them. Use the **-f** flag to pass the request +payload as a filename or **-** to denote stdin, as shown in the example below. + +```console +$ echo '{ + "listeners": { + "127.0.0.1:8080": { + "pass": "routes" + } + }, + + "routes": [ + { + "action": { + "share": "/www/data$uri" + } + } + ] +}' | unitctl execute --http-method PUT --path /config -f - +{ +"success": "Reconfiguration done." +} +``` + +{{< note >}} +This command supports operating on multiple instances of Unit at once. To do +this, use the **-s** option multiple times with different values: + +```console +$ unitctl -s '127.0.0.1:8001' -s /run/nginx-unit.control.sock execute ... +``` +{{< /note >}} + +### Edit current configuration + +Unitctl can fetch the configuration from a running instance of Unit and load it +in a preconfigured editor on your command line using the **edit** command. + +Unitctl tries to use the editor configured with the **EDITOR** environment +variable, but defaults to vim, emacs, nano, vi, or pico if **EDITOR** is not set. + +To edit the current configuration, run: + +```console +$ unitctl edit +``` + +The configuration loads into the editor, allowing you to make any necessary +changes. Once you save and close the editor, you see the following output: + +```console +{ +"success": "Reconfiguration done." +} +``` + +{{< note >}} +This command does not support operating on multiple instances of Unit at once. +{{< /note >}} + +### Importing the configuration from a folder + +The **import** command lets Unitctl read configuration files, certificates, and +NJS modules from a directory. Unitctl then converts these files into a payload +to reconfigure a Unit daemon. + +To export the configuration, run: + +```console +$ unitctl import /opt/unit/config +Imported /opt/unit/config/certificates/snake.pem -> /certificates/snake.pem +Imported /opt/unit/config/hello.js -> /js_modules/hello.js +Imported /opt/unit/config/put.json -> /config +Imported 3 files +``` + +### Exporting the configuration from Unit + +The **export** command queries a control API to fetch the running configuration +and NJS modules from a Unit process. The output does not include the currently +stored certificate bundles due to a technical limitation. The output is saved +as a tarball with the filename specified by the **-f** argument. You can also +use standard output with **-f -**, as shown in the examples below: + +```console +$ unitctl export -f config.tar +``` + +```console +$ unitctl export -f - +``` + +```console +$ unitctl export -f - | tar xf - config.json +``` + +```console +$ unitctl export -f - > config.tar +``` + +{{< warning >}} +The exported configuration omits certificates. +{{< /warning >}} + +{{< note >}} +This command does not support operating on multiple instances of Unit at once. +{{< /note >}} + +### Wait for a socket to be available + +All commands support waiting for Unix sockets to become available: + +```console +$ unitctl --wait-timeout-seconds=3 --wait-max-tries=4 import /opt/unit/config` +Waiting for 3s control socket to be available try 2/4... +Waiting for 3s control socket to be available try 3/4... +Waiting for 3s control socket to be available try 4/4... +Timeout waiting for unit to start has been exceeded +``` diff --git a/static/unit/downloads/Dockerfile.go.txt b/static/unit/downloads/Dockerfile.go.txt new file mode 100644 index 000000000..d65890139 --- /dev/null +++ b/static/unit/downloads/Dockerfile.go.txt @@ -0,0 +1,41 @@ +FROM unit:1.31.1-go1.21 +# Alternatively, you can download the base image from AWS ECR: +# FROM public.ecr.aws/nginx/unit:1.31.1-go1.21 + +# port used by the listener in config.json +EXPOSE 8080 + +# application setup +RUN mkdir /www/ && go env -w GO111MODULE=auto && echo ' \ + package main; \ + import ( \ + "io"; \ + "net/http"; \ + "unit.nginx.org/go" \ + ); \ + func main() { \ + http.HandleFunc("/",func (w http.ResponseWriter, r *http.Request) {\ + io.WriteString(w, "Hello, Go on Unit!") \ + }); \ + unit.ListenAndServe(":8080", nil) \ + } \ + ' > /www/app.go \ + && go build -o /www/app /www/app.go \ +# final cleanup + && rm /www/app.go + +# prepare the app config for Unit +RUN echo '{ \ + "listeners": { \ + "*:8080": { \ + "pass": "applications/go_app" \ + } \ + }, \ + "applications": { \ + "go_app": { \ + "type": "external", \ + "working_directory": "/www/", \ + "executable": "/www/app" \ + } \ + } \ + }' > /docker-entrypoint.d/config.json \ diff --git a/static/unit/downloads/Dockerfile.java.txt b/static/unit/downloads/Dockerfile.java.txt new file mode 100644 index 000000000..e11c146d0 --- /dev/null +++ b/static/unit/downloads/Dockerfile.java.txt @@ -0,0 +1,26 @@ +FROM unit:1.31.1-jsc11 +# Alternatively, you can download the base image from AWS ECR: +# FROM public.ecr.aws/nginx/unit:1.31.1-jsc11 + +# port used by the listener in config.json +EXPOSE 8080 + +# application setup +RUN mkdir /www/ && echo \ + '<%@page language="java" contentType="text/plain"%> \ + <%="Hello, JSP on Unit!"%>' \ + > /www/index.jsp \ +# prepare the app config for Unit + && echo '{ \ + "listeners": { \ + "*:8080": { \ + "pass": "applications/java_app" \ + } \ + }, \ + "applications": { \ + "java_app": { \ + "type": "java", \ + "webapp": "/www/" \ + } \ + } \ + }' > /docker-entrypoint.d/config.json diff --git a/static/unit/downloads/Dockerfile.nodejs.txt b/static/unit/downloads/Dockerfile.nodejs.txt new file mode 100644 index 000000000..2893f5580 --- /dev/null +++ b/static/unit/downloads/Dockerfile.nodejs.txt @@ -0,0 +1,33 @@ +# keep our base image as small as possible +FROM unit:1.31.1-node20 +# Alternatively, you can download the base image from AWS ECR: +# FROM public.ecr.aws/nginx/unit:1.31.1-node20 + +# port used by the listener in config.json +EXPOSE 8080 + +#application setup +RUN mkdir /www/ && echo '#!/usr/bin/env node \n\ + require("unit-http").createServer(function (req, res) { \ + res.writeHead(200, {"Content-Type": "text/plain"}); \ + res.end("Hello, Node.js on Unit!") \ + }).listen() \ + ' > /www/app.js \ +# make app.js executable; link unit-http locally + && cd /www && chmod +x app.js \ + && npm link unit-http \ +# prepare the app config for Unit + && echo '{ \ + "listeners": { \ + "*:8080": { \ + "pass": "applications/node_app" \ + } \ + }, \ + "applications": { \ + "node_app": { \ + "type": "external", \ + "working_directory": "/www/", \ + "executable": "app.js" \ + } \ + } \ + }' > /docker-entrypoint.d/config.json diff --git a/static/unit/downloads/Dockerfile.perl.txt b/static/unit/downloads/Dockerfile.perl.txt new file mode 100644 index 000000000..74436b6ea --- /dev/null +++ b/static/unit/downloads/Dockerfile.perl.txt @@ -0,0 +1,32 @@ +FROM unit:1.31.1-perl5.38 +# Alternatively, you can download the base image from AWS ECR: +# FROM public.ecr.aws/nginx/unit:1.31.1-perl5.38 + +# port used by the listener in config.json +EXPOSE 8080 + +#application setup +RUN mkdir /www/ && echo ' \ + my $app = sub { \ + return [ \ + "200", \ + [ "Content-Type" => "text/plain" ], \ + [ "Hello, Perl on Unit!" ], \ + ] \ + }; \ + ' > /www/app.psgi \ +# prepare the app config for Unit + && echo '{ \ + "listeners": { \ + "*:8080": { \ + "pass": "applications/perl_app" \ + } \ + }, \ + "applications": { \ + "perl_app": { \ + "type": "perl", \ + "working_directory": "/www/", \ + "script": "/www/app.psgi" \ + } \ + } \ + }' > /docker-entrypoint.d/config.json diff --git a/static/unit/downloads/Dockerfile.php.txt b/static/unit/downloads/Dockerfile.php.txt new file mode 100644 index 000000000..21f5c2c3a --- /dev/null +++ b/static/unit/downloads/Dockerfile.php.txt @@ -0,0 +1,24 @@ +FROM unit:1.31.1-php8.2 +# Alternatively, you can download the base image from AWS ECR: +# FROM public.ecr.aws/nginx/unit:1.31.1-php8.2 + +# port used by the listener in config.json +EXPOSE 8080 + +# application setup +RUN mkdir /www/ \ + && echo '' > /www/index.php \ +# prepare the app config for Unit + && echo '{ \ + "listeners": { \ + "*:8080": { \ + "pass": "applications/php_app" \ + } \ + }, \ + "applications": { \ + "php_app": { \ + "type": "php", \ + "root": "/www/" \ + } \ + } \ + }' > /docker-entrypoint.d/config.json diff --git a/static/unit/downloads/Dockerfile.python.txt b/static/unit/downloads/Dockerfile.python.txt new file mode 100644 index 000000000..570963f2a --- /dev/null +++ b/static/unit/downloads/Dockerfile.python.txt @@ -0,0 +1,28 @@ +FROM unit:1.31.1-python3.11 +# Alternatively, you can download the base image from AWS ECR: +# FROM public.ecr.aws/nginx/unit:1.31.1-python3.11 + +# port used by the listener in config.json +EXPOSE 8080 + +# application setup +RUN mkdir /www/ && echo ' \n\ +def application(environ, start_response): \n\ + start_response("200 OK", [("Content-Type", "text/plain")]) \n\ + return (b"Hello, Python on Unit!") \ + ' > /www/wsgi.py \ +# prepare the app config for Unit + && echo '{ \ + "listeners": { \ + "*:8080": { \ + "pass": "applications/python_app" \ + } \ + }, \ + "applications": { \ + "python_app": { \ + "type": "python", \ + "path": "/www/", \ + "module": "wsgi" \ + } \ + } \ + }' > /docker-entrypoint.d/config.json diff --git a/static/unit/downloads/Dockerfile.ruby.txt b/static/unit/downloads/Dockerfile.ruby.txt new file mode 100644 index 000000000..6f4627579 --- /dev/null +++ b/static/unit/downloads/Dockerfile.ruby.txt @@ -0,0 +1,31 @@ +FROM unit:1.31.1-ruby3.2 +# Alternatively, you can download the base image from AWS ECR: +# FROM public.ecr.aws/nginx/unit:1.31.1-ruby3.2 + +# port used by the listener in config.json +EXPOSE 8080 + +# application setup +RUN mkdir /www/ && echo ' \ + app = Proc.new do |env| \ + ["200", { \ + "Content-Type" => "text/plain", \ + }, ["Hello, Ruby on Unit!"]] \ + end; \ + run app \ + ' > /www/config.ru \ +# prepare the app config for Unit + && echo '{ \ + "listeners": { \ + "*:8080": { \ + "pass": "applications/ruby_app" \ + } \ + }, \ + "applications": { \ + "ruby_app": { \ + "type": "ruby", \ + "working_directory": "/www/", \ + "script": "config.ru" \ + } \ + } \ + }' > /docker-entrypoint.d/config.json diff --git a/static/unit/downloads/grafana.patch b/static/unit/downloads/grafana.patch new file mode 100644 index 000000000..69882ad12 --- /dev/null +++ b/static/unit/downloads/grafana.patch @@ -0,0 +1,58 @@ +diff -r e23e42b2ca07 conf/defaults.ini +--- a/conf/defaults.ini Sat May 09 07:45:29 2020 +0000 ++++ b/conf/defaults.ini Sat May 09 07:47:01 2020 +0000 +@@ -29,7 +29,7 @@ + #################################### Server ############################## + [server] + # Protocol (http, https, h2, socket) +-protocol = http ++protocol = unit + + # The ip address to bind to, empty will bind to all interfaces + http_addr = +diff -r e23e42b2ca07 pkg/api/http_server.go +--- a/pkg/api/http_server.go Sat May 09 07:45:29 2020 +0000 ++++ b/pkg/api/http_server.go Sat May 09 07:47:01 2020 +0000 +@@ -7,6 +7,7 @@ + "github.com/grafana/grafana/pkg/services/search" + "net" + "net/http" ++ "unit.nginx.org/go" + "os" + "path" + "sync" +@@ -116,6 +117,13 @@ + if err != nil { + return errutil.Wrapf(err, "failed to open listener for socket %s", setting.SocketPath) + } ++ case setting.UNIT: ++ var err error ++ err = unit.ListenAndServe(hs.httpSrv.Addr, hs.macaron) ++ if err == http.ErrServerClosed { ++ hs.log.Debug("server was shutdown gracefully") ++ return nil ++ } + + // Make socket writable by group + if err := os.Chmod(setting.SocketPath, 0660); err != nil { +diff -r e23e42b2ca07 pkg/setting/setting.go +--- a/pkg/setting/setting.go Sat May 09 07:45:29 2020 +0000 ++++ b/pkg/setting/setting.go Sat May 09 07:47:01 2020 +0000 +@@ -30,6 +30,7 @@ + HTTP Scheme = "http" + HTTPS Scheme = "https" + HTTP2 Scheme = "h2" ++ UNIT Scheme = "unit" + SOCKET Scheme = "socket" + DEFAULT_HTTP_ADDR string = "0.0.0.0" + REDACTED_PASSWORD string = "*********" +@@ -679,6 +680,9 @@ + Protocol = SOCKET + SocketPath = server.Key("socket").String() + } ++ if protocolStr == "unit" { ++ Protocol = UNIT ++ } + + Domain, err = valueAsString(server, "domain", "localhost") + if err != nil { diff --git a/static/unit/downloads/unit-openapi.Dockerfile b/static/unit/downloads/unit-openapi.Dockerfile new file mode 100644 index 000000000..bac6188fa --- /dev/null +++ b/static/unit/downloads/unit-openapi.Dockerfile @@ -0,0 +1,157 @@ +FROM unit:node + +RUN mkdir -p /www/html && echo ' \ + \ + \ + \ + \ + \ + \ + \ +' > /www/html/index.html + +RUN echo '{ \ + "listeners": { \ + "*:8765": { \ + "pass": "routes/share" \ + }, \ + "*:8080": { \ + "pass": "applications/node-proxy" \ + } \ + }, \ + "routes": { \ + "share": [ \ + { \ + "action": { \ + "share": "/www/html/$uri" \ + } \ + } \ + ] \ + }, \ + "applications": { \ + "node-proxy": { \ + "type": "external", \ + "working_directory": "/www/", \ + "executable": "/usr/bin/env", \ + "arguments": [ \ + "node", \ + "--loader", \ + "unit-http/loader.mjs", \ + "--require", \ + "unit-http/loader", \ + "server.js" \ + ] \ + } \ + } \ +}' > /docker-entrypoint.d/config.json + +RUN echo 'var http = require("http"); \ +var httpProxy = require("http-proxy"); \ + \ +var proxy = httpProxy.createProxyServer({}); \ +var sendError = function(res, err) { \ + return res.status(500).send({ \ + error: err, \ + message: "An error occured in the proxy" \ + }); \ +}; \ + \ +proxy.on("error", function (err, req, res) { \ + sendError(res, err); \ +}); \ + \ +var enableCors = function(req, res) { \ + if (req.headers["access-control-request-method"]) { \ + res.setHeader("access-control-allow-methods", req.headers["access-control-request-method"]); \ + } \ + \ + if (req.headers["access-control-request-headers"]) { \ + res.setHeader("access-control-allow-headers", req.headers["access-control-request-headers"]); \ + } \ + \ + if (req.headers.origin) { \ + res.setHeader("access-control-allow-origin", req.headers.origin); \ + res.setHeader("access-control-allow-credentials", "true"); \ + } \ +}; \ + \ +proxy.on("proxyRes", function(proxyRes, req, res) { \ + enableCors(req, res); \ +}); \ + \ +proxy.on("error", function (err, req, res) { \ + sendError(res, err); \ +}); \ + \ +var enableCors = function(req, res) { \ + if (req.headers["access-control-request-method"]) { \ + res.setHeader("access-control-allow-methods", req.headers["access-control-request-method"]); \ + } \ + \ + if (req.headers["access-control-request-headers"]) { \ + res.setHeader("access-control-allow-headers", req.headers["access-control-request-headers"]); \ + } \ + \ + if (req.headers.origin) { \ + res.setHeader("access-control-allow-origin", req.headers.origin); \ + res.setHeader("access-control-allow-credentials", "true"); \ + } \ +}; \ + \ +proxy.on("proxyRes", function(proxyRes, req, res) { \ + enableCors(req, res); \ +}); \ + \ +var server = http.createServer(function(req, res) { \ + if (req.method === "OPTIONS") { \ + enableCors(req, res); \ + res.writeHead(200); \ + res.end(); \ + return; \ + } \ + \ + proxy.web(req, res, { \ + target: "http://127.0.0.1:9999", \ + secure: true, \ + changeOrigin: true \ + }, function(err) { \ + sendError(res, err); \ + }); \ +}); \ + \ +server.listen(8080);' > /www/server.js + +RUN echo '{ \ + "name": "oas", \ + "version": "1.0.0", \ + "description": "", \ + "main": "server.js", \ + "scripts": { \ + "test": "echo \"Error: no test specified\" && exit 1" \ + }, \ + "author": "", \ + "license": "ISC", \ + "dependencies": { \ + "http-proxy": "^1.18.1", \ + "unit-http": "^1.30.0" \ + } \ +}' > /www/package.json + +WORKDIR /www/ +RUN npm install + +EXPOSE 8080 +EXPOSE 8765 + +CMD ["unitd","--no-daemon","--control","127.0.0.1:9999"] diff --git a/static/unit/images/apollo.png b/static/unit/images/apollo.png new file mode 100644 index 0000000000000000000000000000000000000000..a4dced058f49c7450b1762887887df12164da8bd GIT binary patch literal 62438 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 literal 0 HcmV?d00001 diff --git a/static/unit/images/bugzilla.png b/static/unit/images/bugzilla.png new file mode 100644 index 0000000000000000000000000000000000000000..4f593f09c67d6e9e6ff9232b42871ac02a33501f GIT binary patch literal 110906 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

wfkI1^I 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͵{huj%vw9TIGtCLj=3+o8x=)9*Qj%yE$4 zQgN#lw)Hu;Y6=dNbU$HON!xmj1f~}iBt5UMQw`8>S8!dizERKByic0r2!;WC%CTN3%|FN2DrelAh-itN_DG`YvAgV_asD>Q8WShyuSU`>*6d6 z;bgQ;+bsyM8Fq7|Z9Cz22+N37PSeDEuZp!jAf_Tw;Oyv;5P0^Mz6>9tDGSyq9}>7- zEtL0b%?(MQK~d*G^OCJnfU|JxdiCNGXzl@-KqLfw;fE4(#0VJyR@Sfd_5!RQ)jiBA z-BVF!`A7*o^f_R?)$E8NfE-kj4GXZstDjTPVDlJXMy{#`xAuCzuG11 zf}P@{tyZWLHYC?K3XXiXSPNDc1%MJXrm8QQp#GP0zFHl4V*Aeuoq4x+UnJaCm6*Ug zCRkn);EDa=es210HzCrfrLZAGslr+UNn4Av0cTZc%)+1f*m|~YB>BESZS&rC%A-Hj zS)SijV7J$aK@{eU(j-|{D|8zhazNIkYc4Wl%q>223*s(`16$IdmWI(F_HNydqe$Kd z7wmLvn$b|eXrN`?l-cUvk?(cQ#WnA#fnbT%$p?!i8_bsFP67wh;v*dJ*wBs|0U?bp zH+&M&kqYJe*I&rkf{loxbY<(R?^&Pt#Q(w_<{ZV{j486LeXcA>k1}0a=T3SEawIU} zKS|)Oyw$J5{s00)@sTxw!k?nmN|%;%)oA<)`P_*Rs+DYP(}h0*Tmmc@er$KcIUv#R z(u|=72SCC;MeSDiiisHp1U4sOF^Y-Wz|!kJf34UU zoO!c+4&LG3vnAkqBm03jO&`h_S@Q@3Bo2Io`~BWFHz-}4NV8Dr^w+vl#d@?Ft}F~~ zNmO!v3LG%iPjimqJ=s+2 zbB-Jn?GLRyT2RK^D>9_}1%b>v#CxE$lT*Y|#8qn(N*N~20)cERZwv9gQPenMxOXrG zm@LdIaD#J(A?lC8n{fk=RWQfXS$M=r@k93;k5@1q&&85Tp7#a3zb{Au@eR5~G=lFHVgr7u(1{KHzVYgnrZ_L-V@n}UN z3)fs1z&Ts{35>p-xQ7XX(y(O-D8FfWRRswvk≪Em{W3AEVNr6fEfF6tFe1oRTO9 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 R+&QgfVq|Gpr+?$&{{U0^hRpx~ literal 0 HcmV?d00001 diff --git a/static/unit/images/cakephp.png b/static/unit/images/cakephp.png new file mode 100644 index 0000000000000000000000000000000000000000..f8b0fe9ca3d68704a7ca0c1ec3e6a914c3a741fb GIT binary patch literal 252155 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 literal 0 HcmV?d00001 diff --git a/static/unit/images/catalyst.png b/static/unit/images/catalyst.png new file mode 100644 index 0000000000000000000000000000000000000000..35040bf83bac40054cd574efbf661b43482ad42e GIT binary patch literal 327441 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 z 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

Ab`H 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�V(?tgrEcls@|k0mhZ=7UU8Cv()El$B(^9Vg>- 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 literal 0 HcmV?d00001 diff --git a/static/unit/images/codeigniter.png b/static/unit/images/codeigniter.png new file mode 100644 index 0000000000000000000000000000000000000000..d1872a6ba4c03f8d41774090dd93082d0e566d94 GIT binary patch literal 231643 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≥`Q~W!NujY4VuTlrS+vER-thWrSquI7bgS!*l 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 p5% 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

mMWA6?Rd8squ*P$)%|up&oF{%zbdzC z7E2m2+YOi0+htvZEAB}30Lf;Z0B_@>@;tm7eLZ&BY|5(%+2&em4V@2aU?}QiS~3`V zhh4msmwt6nlD2R9EsId3CG!^XX8g?0lYr>KMr~|f@_Y^u+{dYps4M@egke|_Ip=lW z!|6b?C-Kzf3Z_eIVjuRu=lDI@Xnne9^pjc)*i`kVykg&qQ* zNw}{@u6Kh_6iIJd>bZsK?x}q*unT>h>X#7vA?KW6MMHxGG|N%VPO+oiGq^7zJh~ma zz3T)93$L+~`n=BoT{m{~12I#p=P3i&)7H?dig3QT+ZWH|zG({P3z1HZ)~dBUbpEPL z>DL2?ebtNIO;8Z|Bs!TKs4R;4rPyBKu|QfFd4+2g@^q;S`;c%36FO zGgsj_6{eQCj#sHHEFD1nSiLsJqY2d zYV{rT_)oyh?#*_jcI5r2^i_+# zeu^>zXXq(MyTjcLcLcZ3{o4oPdfk_4R{QY0WY;-e+xmu1sv+S_8DC_FYfEez`m}V> zJ;0E*^O^T^I}^}W&f5up9y)!l6KTtA;o5`n=mefBL&tE4t#X|5S|=QbNE@5VKyXoc z=<}d7sB+hRW$Il3rt2pzM!tbjKWVjNms8k*=Fkr- zV>o4X|0n4kA%0ukQE5db*K4OP

qDVX$;hbeU7dKAbXBU*5|}`Zr1$t-Lu&;xw+$ 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

)x( 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 _T+4O`P83`a*85vzli@#QD-f4p0U{n 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 literal 0 HcmV?d00001 diff --git a/static/unit/images/django.png b/static/unit/images/django.png new file mode 100644 index 0000000000000000000000000000000000000000..7dc1ca65f0b3c47e3e438b25764988ead6119930 GIT binary patch literal 149887 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

@%k^ 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

8QGf;kh|HwThXd7OJ|K2rVuTKG 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ʆ(ET$21i|j1o!g81=!d1|FR)oyo-M0FSQd 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

%~QO9zo{y8r$y7?e~*~tqowra*5uBpWI3!>-eFN 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 VRA#Qf@BY`tRNw6zZ*JIg;y(us^7a4# literal 0 HcmV?d00001 diff --git a/static/unit/images/dokuwiki.png b/static/unit/images/dokuwiki.png new file mode 100644 index 0000000000000000000000000000000000000000..7f4c4d3bc7ac1760e05cd84193c45591cd18d5e9 GIT binary patch literal 363297 zcmbrlc|6qL`#+o{l}b`1%T$P>hJ*?;?GmM3B4gKr3CT9*rEJMEvdc1+Bt^Eeq)gVa zOR|LqV~N3R#%!;7y>6f1{r!FK-}m$Ox$i&j^Ei)j=4Ixb>pIu-dS2IAChF2f(@h(8 zZdkQy)h4rZr?0G9CAn+WDv9`YYnPvFExVe#O5)jHv(qQ8`HRifK3;ydD&(aoUp{~J zzncI5OWL>U%O2aFzFsxVALIh#2Ij{{z5jlyKIeFtA|~UTNznc#KhS+TJHEz)`{_u3 zn^*L_>VksH+|v@1qGS_d*EE}tL;atBrrF3HGS5{yKAMVmtQ~ya?dqcv9Wf-&r8EES zga7MmXq`QK1`A5NW4(>#JM!I}+BDFu0}8Rl!@?K;qu2jEhRpMGhckXUzrK7%T&u6dHJd8^s_w+*g0+~(FLchS9-V63uD}^+Xhuv z?fpN^_kZ_9>Eyz&DUUAq{3a8Fr+CfTZ0mT+G>Ja6!S8D&vFLu+0Qb&sy(R)ZJ4LfE zroSTS@c#cf^#6KixnKj_(<{r??yCMQO+l zv-wcJ3ShLLYboFsMgo*6bTEE}{`eJ%h3Gl%nTy#qN6>6TgwN&5Ohf>R=zkOFXPy$3 zbm)1529NqQwmHIi_z0a=Fhi!u0^RWsh%W0$VL{P_z|%}0rtXUqg!>@aLTG4WuG{j7FrhRS688NrVpTJN8oAc+^#^5SP z5`|7VoTk!o=d`%FUzmQ|*UMlxZ()7Ly z=`}LSz0xX&H^wlix0scCA^a-}0u0)h8$3YatXPUzV>m151BhY*j_|mHSOCAI@k#U< zVR49`Ht#W|kzLs`zP7M(-*`adg)eBPu>Qj5ZUW8rFI^HG^2OT%*)Vcx#f~{`63}%~ zy@<>~E+UP!cPSUu_7|^15FV5D<*+~J~Ib1cno=p8!q#^p2 z%q>;4YINo>YE;3)aj`-tbo(g?)CChC^|wQ*RMN zB~C)t7fd|d1M$@Hq7N+EN=2Fsv`|R3NbCZ}ZXPgBkvb<`K2_pRbu)Oh{md`T0HZ$- zRNr(M{qYM$kTUot`~s>0QwoG$Bc_W4PTh0_mxLzOtW=f<<u9FmE+ z`Dwdh{hZHZewmjS@#b74F4K@r{bu-Q4vzm1riR5xkSdhMMOrPQ838ws2cEVegkMRl z)3F<3N)&9Tw)Q(Yu-UQHfGnO@s0xRkn-qcbqV^!Mi#FpG(gNSX{*_A+Vo})0Hxfy6 z(Lv0owanw8-;%E^4D_{!4zNU;jm9zDj+`FlFrl9aV5lqF&2=<-6L zp^%FiTWKqmv_G#8x2*~k&lT~U?F?OA!r0d0#MzIl!Ah1r$y#`cbIyy z`PQ>Z)$;b&uR2N2+lqWM4HK43@bZRdY}h3tdDO>5!9XY2j$Nb%CW3AtpNF9v2Cq~^ zz;`5qHI%_lm1-i{{)F2_o??8ulC8z2=)-cCYWIw9I$TOqpZ@dX5Bn`erIoam{)!MT zYDajDL}4ri=6re3JBt*LS-Frfe=7_p5!g=jpI@*$!%fsv90Cg2eJy)tnTgR7^bQs2 z9r|(xU5?;^n=AhiP@P|r&>oI*}d6A^=7 zexWx>H3Qn{N87!{CNY`M#5V;Rd)^_9T@al|?-b1i^1!jmrAK|HDP_<-=n#`83BFpf zb6B1y5{LXxL8483VMY@P@fX-nhV9|Q+PmP=f}3wl?5MBnmqwb#Whj_|1mwXEIegH# zv@LBd+Vg7_qThs0*0*D(lT=!O$C!hQ6~3_i+Fd2#m zu0pI$_^MsNjl&DrS)%qXfbx9KHl|&(O=t6Vb$L%-B-eg7lY6JLemdy&WrC_*^#R@{ z!$BGJAD`upC(u+n18d5{jA8{V7T`JNAfru+Pc|cEwGdu2-SG=yx$s9QKNYj=vWK+V zNUR?zR@wa& zG&?c{1s1<%0#g;k#Azar6GhoPL6>AzoFUmw^dtVR>}RRbAoC<73d3xkLTWU@s5WUS z)JH!Lc#$nF)x7w$zbd-eUia{)SqaRpV|%4Mrc%Wr6MjO^QUgMg&DFr0fq{F_%djEv zTxN+xSkQs*Udi;Z7RVB3ryBA&Vd%|MbV)WLl#RhC!T1w!7>J%K4rzGfWA3Tl%)?U4 z9S{DfyvVAF^QaIfZddA>k++?;+&3AG+WA0mfZNs|N}+yfM>H){^LAbtxOjh@a2-e> z9S}_JA>l(;gm=+0krW}9r$Xel3w~q|3Tr`S=sD!}wF+p(Nj1|^dnruAfg3rQ?q-R0 zr4o-IJpyImKCJ}zmRUh6L}cYAaX^Rkm~5@!$5F1 zLIcF_f^W8C{`}R0@!lX=D9Ag4sNMrKIfzA>waVFdc&7O)leFB6nVFd5FZdGChMX~9 z_c9NEjLl-suMDA5Y8B=N+X)nE!|w^q<)|)N4Ztr~RuF?^w6%bu5Q;oI^$h9Y6hg9z zM5LoTxt8W^*dtP6qN%I9QSFBI%ck&F1EpvrD%zhaH>QElK^U$EZ(0~0F#?Bvxrw8h zgEf}mCO&17&;Y*%@L+%N1cfw6S`j($b_fz@rOJa|KS;)D7YGz3gD(of$cw}P zxR?U(TanrS^)JgQtRz?-57&&s*3Fpg35xs_39$qA@(1Mw8Zin*=)F{|SODj7VZLtq zaMe?@+SHIzuc>KKsYU&odIVqCww5%i7i4&tJ=Ouf;3-c}qu3hDnc8l6Eo=?RLB{Yy zP_hYrilL19trWO|MTpUgWfyvhkz>ID2RX`=fNt9VY_R5RM^eQM|;aEkh8E9vE{IATTQfkxl){$WC4!&O+0FALMqq;69i zOs8<*Z4AihnxM#u@IOhr;XKiWm23f9@g@~T&`GHDZ+|$GZV4W0S^h2?tUNnKktYM0 zHvzAQOSa9xC-}?X;t=hDv8Rn$__qtOvfBw7QupfPT8pJnvPU@G_uTNdNOsU{WHN7{ z9A^oxCKA()+W;vb0gbOiCli-ZX~bSmp`sy?_)587O$`LSUJl%V9E;)xoqUxl(D~cH zY>`GV*b9Qc9$6;Ji_KoeaA^pR+RZ?&``NVP0yo0vCf;Mgl4v> z!AHipX3)Gdq?-Xa?=Tg~@`cf&{^Ahan7z>GZisnbgwu1Ds+H8o+WXgy3B-zaa?0RZ zz?dhFH^XIHlDgPE1Y#6IiigAh*(F>LU&8ZzyNlddKy%TGYzKq`a6F0FjFuA#8jx-* zOHj83eQ^Sj$fPHNiXsl!!=$tM=n=sBcumFAhKVNXn;-RS4&zYRzGlDdME;$hPD9un zVsO;HkIH*RHvSALk$)!t=C4I9w$l)^lmKq$69mEI1RV{$^Zz zJG<)Dj8()5HWn%wz82oKJ_4@;2Nw=hKQ1|kT`ckCMz}(czLRv(a{E|i{xSE%LcugC zp4Y+PxJh>~9r#`(3lMqDq&co1FAZ4PZ$%fNBY&59LY*_V2j~#}l%ArSK}KvU)&7lE?i0emPT$Uddx1%zVET=&b|aWVAIDC4#}F z`B7BLOuhf&vN)_~1fLW(mG2I5#c4&Pe0Zl^{C!jElNQf+;kVjA;MJzij3N4XdSgmT>>Eiy1pk7ipIT>x2Pq}i1M7`y=x zhL8~L%MwpUQPPR(3gB6dk1hSovhQadDkk7DUfFO4e@EU!=sDH|<}(q?zzjuD?u%8` zu)P?1q5KLT@8aOkPK=>?sxH$>w{d)s>Smik4<)gyRmQLkRisGfAghRHI7Oy1XcKK0 zjX=B(z{{eN(umMzbi1H|A`h~pMBY&=!U&Cj1z;H5bo317>{MhFXu`ao0N5;=Cjgjs zia81rJ_j$aLAC?8vtYK!sx)64Y;h1%2<>V-0v|jH4IioM@#t)EuBRL##u|_^o})en zWbi7~fPg8dNLA@6k{2$W*n#?}yzq-Skw@|B$xert8kSdE_@8u!7cP|muITQQkyFdt z041Xp>1e*q22pXsvRJfnUJtSz&A)jy4lYjvB9C&cFV#hmjA4#F+`AW*ZF9WI(Mi>A zaC44}=fHW}2Y*Bkdv?mBo>jWxFM#te(SJ4gwAYm9By|rS{+FrQIw^kl-+F8!bD8#f z2<@Awhq3@?Vki6>W63+SQZ&H8VVH|Nr*4V{e!Vn)U)3@+gU0=)2$b6Q40`kOJ0O8c zvE&U}{h0q7F#C)EE)zk&Dowh`(0|P4_}<)pxx{A?!S*^*j~0B(TPnNve>^%KEK91L z4*Kg>EoQx=snRFN{V}B!>`ow8X@CVCZcs2QovaAuUDAQZ*k`dV`a@C7JoI1keM_)p zv_BD#VXVBTvAl9X@|Ks^ZhQ@qxfzQdwXAhLvW4e2QN-|zLkGTkroD;3nXm0{83ULU zLxKYM332|H_TqtEmr;(pHy+%%4KT4jT@e|9qsE3bfm+XM8nCh?hgy#)SYtzF1A$}& z&gXZ{S32xLuqZzmktNGZ?PYdWr;;wPdx#T}2)^HP3R`>xUKE-w=P>>9;KvoAx4d+a z0Bjg==5lh)RfDttC14ar2ckxiRAJZ&3`&3_m`Ex9<<%EimcbJk3?M9k>pc5XI?#To zTgSb%?*9DYxclMPrs=_jif37YipGL)c-DTr(OI4+f!~C{G(Ds3f`_rg_o6`wK2}mx z*%ZO-B74*bi`Dovcj&VFTQ&jo%|>%*PnI_%B3ELP8vHmn5pTnw%aSaYXA(0Sd5RQ{ zuIki=k3&yD3Fm_jO|!c`#_$6muJVwdJi&jsxVh{}N$Gs!_y^5_wFONhc!oLe zt4b&GX4sgaz~8QHB(j-Qi#?)oAYPWV2MAxzoFWpiqql|{-1_Egix!y`a<)col)skc z7p5csj|MLAt|;?vzoh7`B~_<@w~@y+K1p@jz}lMfhoDuSTR@Ea3urH28>hIi+abrQuP54d*CCp{cI8;|B3| z^V?1=!oRGE@2E1tLtk=wGI-UDvgW>6gHG=+?TQ(`ry5oZ^Q2mntRIu1NJ z8j7BwK%ZA9>nplgMZOj^dC{n%oB9+0D&zp%L`Q z6RY$MxHpT{@3vy$0|~J<;SLdE=vMOGtIDR~XjfFZz2U?%35;j9W3?|ag-_a<)teL^ z{W)BDwDQjKT0)COZF<-IoG*c=#$6Kx;00c9@Ii?fB&&_EGD%fLgUh)>wjhfAcg$8G zL4_ruG#&vh3AU1=8x=NGDYFT6vL+kOU$7-8mIY3gRlnd#Si7+?^8J+NXJ=!W4@IIx zqg}c(N|~{;oh?*11vVEPzo89nA_Vy0yQe8J+(?Qmss<<-1GeTPoN8$>;ak~gGS&YH zZ$ZU)Zx5pW&X$P5cIo=|_I3+bn@n8vx_>n{?$HzO4bC`L_3LMIRoeWq{GTRzBW!l& zp5I>rXacFR=e8?K&~q0#%}1#Q+^a)@Pn@!L67L{nsSK2jN(y1 z5`v3~ujcTyq{Lqrjod}03x7sG-IsJZF0ddcm9_QtP>*-}i8Gp~w7UaOd8q7n`WD7H z)M5C&U28Y?Y{C2W`Ysa%a_>?qc4G~Eca=NVWI1Z}-7o3+b%wtsMlyYGy5}7%7Qpcs zGW10bg1eAxg@HvT+>Tq&XiUIZtpd9~CS9sdJSBq#)~0{P)lBYH%<1!Px9WFuI6%+J z=*sEe6Bf)0*0q!Y`3+>1PZZaQelKXh9wHR$mD0P%5XF7n^{FG9g#YJ^{P!$@prM;A znt19Ln;V!-qWI7YCa=?9lVF}-N1OkUaV$AOt!ljrc?;{rT2=aSch#ad%J*`rt^S{A00)F-^DhykoK=*K}7Nr^bM}N#FLj%05#l41%Sca5|=~FDv2ldP>NI zO{~3Y#K7lkhQvx^c0YCm|A*Q6lz0?B=lX_1Q1+X0i<6ckszV7sn$t~))*#w7bSCZn z*_a)^jOV6to-pMgObHtKeg2BITj|oJ7C1vbFaL97h}RdDkcKJti!J+mA5Z4fKfl?j z<3^{Zo8UGrzTj;tO68pmOocOjvPM1tMtnN$m8+KmJa*&u}D?4MMH zJDCqmI`T@;m<@7E4zQ%D;TfL7wJ08Dz1}zZGn`C43Y}b1H%(yp@rL5>PONo4-@2uw ziS{@264hz8>EhpT@z|<8`D^qqSt_(no5g-!S7Ot7FXCq5L{r7dxu1SNZ6))g4?o3= zJ@CGNpH`nkjtOFa3~~*leI%J=20<=kVX|Etz6EPU?(2z@lHJRR^pXv%=SAsruB&!% zcG2s1y!esW729?{=#u0sX<t;{R9sd)hG@cR9u*-y>WbWY~dwXsn_~lmCq5RWz9Zm1x2HL)BAxFCQ z=$^<9?4^_D?-=eHY17^3nr69W#KUaef^KlYeO=7yf*+M9+he$|Qgc$$x;E=D6PJ&F zj-r;->yx@7?cQrKjxnPfn(S_p{UVtTZ?n5|$jbh|x}7$IoCSbHa1OCuMKkr1_8@Lwd#O?oipj9%qCDRG{Al`|5 zxE?p)+4cW2F(AK)R(DHaNhB?Ur)J2zD(SGHp+@Lh-@Ww_n=jb;L+O5Y{$uI=1*0-O z)ek?Etj4$$>J1GL_odxPgvYVF-VU37Q*eAXykkIG|I%~p=_{C*0{v^LGNe*5SPHJG zgv0f_q%WC3L!0^gE@kh2yKQEz)1pay6vnjkqL=QtT&ivM8BcV|zLb(U-FxR2=#r|D zj84-D4;1$!uA|n?0ly_y@*|GrGmZwGlgbq-@^a*I5>u<&O{)9!@y=5G;S z{+yt{GQ8x+mCIN58v)NRb^Jt1*B84RB7-(t+8;=7*U(!pHsxUO!96@ciY3q2Xq_=S zq>NK>kbC2LoSZ!OH$-7;Y5u7ROA{YWT)%~uK{M&Rx>582Rs}z`>eVy-b2&y|pQ%-a zK5P$>O%X6G3T^uJX2ScU(cg=5o5j$hl1e5K*N9hdGw*#Sxe3Qef)))T^w;PQb3t~x zi-_q6{OU`4WPMP-c{9%2#y}pc%Ltpn~@e`9o!BRj&p0?n~J}P8>T@ z97{8r-?7goqh9fAi}P9?Vcj1`JkX*uM>H zJU1eW?5b}pP)Hc(e5G55--b}-kA&xzO=jhC_N+_EZ}7hoc!Sh)_5Esf(MRHV>Nii) z|5S_Y_`mhTY-&6Cb&)5upwiQ+_iu{SX)UsOmP9n%r6qsRmKU^d(lGhEu9})seB+{K z#p$WK(sm%t+(rGDlxH641hjaZofj+G#6qUkzvU0*>^%Nx>(ch9>gro==S{hqSEcmt z&S;;E2$sHMHu7R!FNmUK+(>PThn7;G|Rlen*L(jv>05dM%Z#wBVoZ=V_E<@b5i9n<))>^LdRy zcH%pdI86#qYnh)=ix8Y6DV&~78j7ccQ^xWHI+C&cF{BG+&zQ@(ttx@q3^ezn-#5DR zqNuhpI`y$wQV_sz*^L_s?*pHWpfbBQ#BE{J{+p~Gf{KShpd%(N#!~1x3HJV)! z*Kt#p^V6r-)}OYELL<-T)QNlmeL8f6Jhts=cYGnwlO^NXNof`#ZF*~@TzGA z{Ef$E{1Wa&W`Yt+6t%3`fNp)z4nzkF^ro{_3_+$PurFN^wRjz1mzDS?!qq9IvB%!G zS)fvXyf942aQS>Ys2iI9pFZ~gD6%X8nc}t+nBFQgIf(>jW`z|s%y7lrq|~v1xX=l+ zg2SBZBxJK~$_wtOU-#gXapX??wYXEFuxOpjETpr=3xHYa7f+f&3DM$PeWjBVNk5XT zjU<%Y9$Y+CrJ_;OEO8nbUH{{|%;aCLra6f`U0K-N*yjcCcH=$zT%J;9wpsI>l&AkJ zE%_m0Y?>6}=L-zK+ut<~G&s_m>3h$*fG}IAX)Os{2Z!^EKHpc)kc_SE8Td;Q-TOD% z_-~c4LM3?ewbPsmK*WMs!GTkY`MpI5_-_!`d>`iI?kQCXhg-F7m^MIdfM#w4%jU}(K&U?*lP#O*MO+Nl$ z-_YG|X`VPJ(H;kV>U#ByIGaQGb?Zj9Y5)U`&Pyi<9JxNXUj|kk%nN+I@w4Llujbaj z8oPcJBMi&6XMKVe8p!6=xBE6FQf5E=_%eCud#U6+rQyGI__v1ml5_B)3525Yj8dO= zpMBYsWX0C#zXWokU{Cz=SJ^YJYJQ`~eb{XDEeBm6~`J}-1fmD)tlF=5leKbP-qz`f~ zA=f$L&z848yoV!b@!Kb_?aiZKElFEyxjqu+U|gmG-LmJLRz3G8fYBu63sciIUfo2|5@&WoYku@Vh{xWeiX%_pORDx}-=gAkCr#DvEI~`U?>3r|IvHmRnP%%w6b_vz`4l&Lh z=WfDq3D1Z*glLD|j~&0~5*JI*vRr$iRrTp>rGE+v>$UE^@}s6?Xe!SZZ>*WVhEJ<; zGdse^EOlyzd+bKhs%Mja6O7P@R|D?iJko<4FqP@ZND5ZrMoZodVB6(%Ko~eEbn_u886v! z3$lsP@}yz6Fb&u8p(L$F-UqdZJfvT~w*QbN@qq^yI_q(Y)Qj{!ZCTOFHpRsr?H5*X z^somw35~cuJr@%{TiOXOX?Qxacsk&%ul2sua#uyxd9!W@Up#j^J7<0{-tE`<1+(3a z-S7m29xK_qH)01`nrbxdLy?>bA}p_7_#eR5qJOV&I_2CK`mvo6GHwW3X(kK?Z=oDb zJxq;xP4+o9-v^i9^-?($BYvT7+tQ3cdVCrMGzFYnU>_7>x~PH0#l-Mn2#Vge0X_MR zCF3(z4|I8jOxF<_lrGngvZZkqN9GE>aDVY1r|GvS?t1Hrj#0%Jxn=hug3H!59^Jt+LNWi78^_Xnrd_@}NquDD%9 z=aY7VWg5#n)NfKzx-@1%AS_i9ci)L{Y~pq4?G_8VUU`hHB{Kf}Gd@5^xzk zYbtt&;N;+cVb1+mgCMv}q%R(%%!G=QtbVjVdxi%r?a&r0VsZ$oG1J+uGkr~JR-yEF_ z_P6hJ^865PRCl0Y3cHoEqW;FlQ7c_kZk=`yLZ!!lm6-;iysZh)FbDrN2M&YGq*A*U!|r^=oWEa zwTL%Sk4 zo}4HInO}o%>QG{|HHzo zf@^w$!WS@e*T#g^s|9leMiwd`qKRE189%hPyO9HJ_?wr$#BVM@*BpzT)%E9`=5`L=k@g=OKrdRzO@$>27rQfL9*yeycg0y{v z^z`&B;|<#Q7za1Ehh2G9!RLKvld{jdeD0r}OQtPMvU`qxDZD^KTNQ?#lR;eH8f@D7 z8s5f#w{=IGLE$Fag$D_za}v~!rO52QYIZ(GyO(sX_0nX+#C1W&2>+c>2-u#hpCY5I zSI4J&5dR!28sZ$0y%t=&Pa`4GF|g`*`poo(nm;PE4+o#6r@s60XY0^&kCOayt)mJm z_v79VNh}%q{V_4xuqE4n+)PKl=Xitt-tRm1;lY$QO`0dqtdO|&J%kj9{?2VX_ z=5wAb31X;;qvRgUutIwGdHjoGV1SCBt0ycVfX)A?wNvIpA8%L3yGYFop^?>iCN8Y% zGI%1)Bxq@LxJ`=5H(gKaF=I{x2fI$~EC8O=FPIpW#FMLHA>qacDbkXARt@zJbSmpfp<$1BSqeduiN{2clhk{wH6|AxxjTs3&Yqw__%b!u)^ie_r=bF ztn}0u{S~c8%wBI++&;KZqUr<7p_#DKNFl#pdDe&*Ee^{=WfD6EPKcQ3R zr!an0<=Am#*Qxh>U5KUhzE+TWq@ouNeFhY#>7`El)Dg9Qo@hk#o*!)_>fvVE*yDqC z$?(=`?C)uM0%hNq$hnYV?U}7DhR5-x7bidDe!bXwKM8tmSHHjNr}rDwK2Frud2%25 zR~L5%H;}|pG&D+xP_w*-QVZyx^VjbAe&qvEq2s{y$uCBTM5!us=E>i0pCP_1zK@M9 zrCoo?=`_QxuG{aHYfu(|JZS!ruh7bW!;6~K%5XXV@a>#UO?D3d#`?&e^tsLpP8kX} zR=NEx-X^*S=bSBR@6NMFN|+gKUpkVs>BRY;NFU##PnyC*)#pyqk(j|m>njzI)a`^= z_3dkV_p%*QAAJDn8h|^_ee@$~($d1>{B5uV6tjV;va-R`1asT(3QAQ!XwP~(ADoFA zQ#gKyX=0$OBp#-{c&c?({B}US$$mqb_$m76L+=kBMu4NEJ+4mQ`u{T~>$%k3QAGTuawaFXhtKC>W=t60s_Vc1d-^_i+ z+%2|YHedb{>)5e>=1jsYdyTxI_)NKEa>jmTH|*NqzV(-u&b6xPtG>Li`>Uqr)1ps9 z@N`*KW&t_vNI(yk|D_|9Q}F|an2Bo2Uujt0-4`KZOpUwWv5|1r;Ta=zLwMsFCUkV{`Qzh-(|P%d%^U>(`9EqX*>Y?D z0-bVTH1F>3BT$r2A(J#@rmN?(E>ap$s;@s)7zG%bDHg#Em(BYTZ#Fh^zqzs=(|6g* zz5NX|daqT(xpw5)U9>yhb`S1RzVa9d&*$Y&W@N?m0W>M=?w+SFR8Bj_w0&;$eq3$)vf#)L zor;5ps%|dfag;QHO=@>lwQ&p_we#eu0^OxiV6ia-lYOn zLt`Y~4=eodnUHf+k4Gn+#-d!xWkdJW>8h$eaa&s(>1wI6Mv{!W>9uC;kW#+Ue!Ztb zjoR(&-u1B)Kk3EO&@9z|R7nEy?WuX_UzBd>6-y;P?76|~+FUumWb|Nil2&rJ{`^;1 zga}jZf5xl6n8y@Ye#uJth~6A);ZQzybu@^R5gxs2?`EHU4CQmo{88EOsCKu{l;T$S zQxAV{5aijVdHTB3?Q}@Z_j`vVWr8V|E7n@Dh&!p>-*9SYE2-`rzU1Vdue?{JE8*5Rqhpw66=KeF6 zMa}m$_idDy?X|yq)!>|9J0^J(;s8~4hYrqn%i(v;xtB!`JcmTsPU08Wd!t3@pe82* zTJDSAT-r_^hi*b;k`Z(*;2wE%h|(&g_(XYrKbjlitny%D71AkOrm5=B5v-?UG49cW z&5XGd4^|2L*e=SS0ntAR!W8<>&ignhMxS{d4BLHiUtjJ%@>uI2N$G>t$A-THcXq(z zQpj-tB*1aV;2HC=!3LNQblHBQ!*dF5h@gVYVBVuS_eOT4-#6iHf3_k?R^{97C~-Ws z0^WvR%0UNq6G;zJ!l!p%=!4_thfXAY0{MiH^l-}ur$gN8xgkF4IL`(*I{OIv&tHf= z%Pc{Fm)L;BF1=e_UxS0+t6eGDKi_;LxarnS=QOSTOD`qN8ky%G zf?q^@<9fG7zbpMphj2R(+87$<5|lcFP4A|>I}h~CM-V?B4@o+nB;{AIHL1t$sC{|N z3n{zz8>G5A6AkJs=+zgtQ?#;=BFd1~T62@^%&|PzniwQ6swVAs+*m!stivd1`gWPq zt~!cngwiINu5SAHfc5qFv0_1*QjV4(Qv5xY_+%rY!Sj69{5r2YV_)Cvj0 zCPsXYH$fx-Q%5d6?v2a-Eceb9>3B;G}Gy*K+B2Y)k`SE4{m6%Iow=3+tX z`tw01iGK(`lM2XS0%vEUSt7Uynsv|NVKZKQ`P+rC6U|c|XLtt6*Px^~wiu+!V^*Iv z4M7OTh_!UElWw~>jRbs`+;cc+{m(h!U4W9Y-qZEF=FN(CbUa{Xw=xkK_jbK{ARWYyAk zxi-1JKKRDO&wy$_7ohq_LD5yWb%&FlKJJjzq3hI_bG3`9&vNg5)x+KIuX($DEa#$BA7rh%}qXSB%6B4jQ#JnjXz;sla|)gUG6qt(fvLJ$r1r7Rv%(-32pP8DyaC zx|IXGSiPExfuaE$<8_ccJWh0~74IK;aNy&gFQ0dl0zk!&@LTXKgryjScLk3@3DcI+ zV-NkC7UPY9TXQzrh*V=s4Z`won}-XB{MMi(R33*}rbr)t3b2J;)s!Ifb5^!h+mGE= zVI4?lZ9CNYsbz=Rqd2vZeoc?zht}uLW4d=rDP-k48DLv3?_IlJ?6Uj$Cp*P^*XH!z z6tyYhZ;M*)R!_eI?&5Eq0(xo!8Y}8POy+D_{U+5};+SUSIgJmm_q%cWen>cV)of1Q zNZIgEM=Uo%V)h zuN)}HRBYLi5uxPTA2(hbD_iNoU$+$Zu(*b%lRnWRWAJEQ5cyc8Z{s?ZVI7$!PZjUn z=~f9MjpY)zeRHtxJ?g#Dk6bn0FG(d&|FZgzTI*?6V$__lsLS@E4Xr~VG>SzfUHl-T zjjz-eR@Lxk=mYQG*JIZxjQs?2O4iscH=qEJbsE2}aQ22yg6=M5iHOu7?SSpYW3k_R z{j?{Xf>Dv5;aFY=6>#7y8WfOUiA$Dv&L6UUG_%vzrz2^yq6viN2Fk$yFuBSr+5!Wb=T!@~w*O7}45qnREM*(QhKQaPUK!?X60fr)|+O^}}@)7wq zN-5T6gicvn=R=q>%|Drcgt}sG=+`kp_vo1 z{)^p+Q>#bC=_K(F{e}0wV^!b?8cA#!bX-eH$Yi4OHD%ip&ixtZXEQURXGF1G_1snG znCe>Ngj*0MO(<>n4K}k0u9^Q3XKdwr=W+Y>8Dv5MlyGeZ+4T0RfxeMm;3jL)hqqAD zeo@r+o()f~y(0CFYbjpbdJT7|UcP+1;&{mEmNTx&TPJnQS=%=dMy|KK4gRx6<%aX& zrJk**R95fhTFfP!5qck!|hB@rf@wy|ekZ+@)y0}RrtpCD8<{+*!qi~g2-t#5Zng z>9|_Baj)4Sw>MH>1v?{iDvZA331crZ3ckfeU|%=qMte+pj?NA#wB?1oQ3R3Y3|a9j z`#bgLx8AVeOce~|S|35;**wg-nx_Oky&cN)x)|f-U3*e+9bM0jJQD?#qA zfu-L2gOYC!2K%I4=L{++p!Fh8A!Lkx0=q0JM7>q^-ey)j0lP^2@7Q9rRb>qv3iI!y z{|OZ|iw3}+0+C}OuHDJt%Io2eE;xeM)~s=c4^*Qy**!8p1)B*g?Ej> z=jUDwx(96csr=OQ)ZdQd8?*PCDd3Px8d#FZL0^u7sJ&l*eR^dJueSP&c~=M|GZg<~ zKTdo-)PW6Mm7cV(to6}bWYUP)%@SY2wM(xKe!cD}n_Tchi+!Gdqa%Du(MIi2=J`wD zr%@XTTi)4`i?Imp^-WlVAs}lk{>9B3?|AlQ`(7|@ABN--bD=-E^_6ZNJ5t_UTyyr6 z<61Lkj@ee(l((BD`(wtxwMA@d%e*Lo*tjqKQOn0*{jpQ@2Wd(gV~Gs0z3Y$pbeqoZ zH96YK`);IJ@k-3y$tk5MDraW5kI+tduSvb%^_-8K?(x>!uH{(Me#LqA(eJr*#!dFU z9-BlgVTwsd10#aQEP~#SWOWvJbaZh>kB5P$0R?;zNF)-;RyC~a&em%kUs8_^e7fti zWw+!3$QFmfy$c!(;5i;a2(PYhT>FRDbT41&v#>Gnpyq7m4hKu0 zjW9Lm1uw&7`7R~z0<~)+NP>khBM4x~^IC}f{3rAd4qQbPS%V97(b4SSDFq$jTF{k= z{RAm86q_(qWu|my90xpy?bWy!SDL-tDc%MrPO~lAvV5W0zwvmh}?DV zA#dxxkXSg`oSEavEq^WFeA@YeG?4h<>@`~*p8_c9mdLaRA^_Lp^T>b6{I)!)ld8)$xw?Fqg@E!n$==w-DUn zoF2C)l~#4wWO%wWtKOivCVD!(meR9i6s}U|#Ar zNQ(6TK{yN%w@DG(z;aQ&ac$$qV5JvFpNS*V>ub|h1qaSD_V?R7xS@?`^fk1_)X|0P z$Yqo?EJvS24a;$~D9`l7oLC>z3fIMZjNpmk=q*?O#Y+@>k>T`mIIB%B{=h^`B#vLL zP3-!Qp{)i zR)gtP`ECX`?rly#@J$DybY=as{6+nrJ-wTvcf+fSy|Yi8mvr%uAAH*}i^%W!GvHep zJo)sR*=gM;Id!X_CU2ir-*a${nT*!h_e!TpO#|Pon~sf=_WYmYx!)L;5^nYT>n>n# zl)P-5P=CFq^khzX*Z)P=djK`Lc5B1*A|OadfuMAyqXGg6MT&v~qSBOrG?k_xJtS0- z4kArTL{xCoL3#;AdQ(9W5JL~rQfNs?^8DH7{NFdt5wrYh6o5 z|D?=Y^!_}@89R$gA0MMEk*+q_wxN^&0z}BX)BU_TwADum)>`*=@o28EH916vJ4e0V z@&~5rxm~`AV-LHOrGD(00ThCAur;%?IL19-dVeEq$zyRW-vo~z6`}-_5WDY1@QpPv z9xg5}-0IS;gc}7~Z*`}ALnu7RZrpSO>q}ua4Y3~QyO2}-M(W7=$`&Bh(Navo3fG&x z7sR3%p?x@Fe4gU@Mjg6bN|ZeLj>ydp8mM?Uy@!(B!e;*yEJ}HeMok_cV}){|(f+f| z_fd!%g@_BLr@P=IJXyMm2yegRkx|t~3LJuXC=QS*>-dnwzSULj0m4Nc^~7t#gM;!X z;HMBvys6x7p`k3L3o532u!o@>3z=tY_YO$oD`*(?2p}JQMZ8xcsTmP(nYvElIxPjk z;^IQLI&dXK$#Md!<_Po?1N=3%eqB*LUN&J()BLCc$TlXfCnEQU9(ojJZTKzh`@;V|b;Fbl# zJDMT?HP=H`?Q08c14$uwFRj1zW0s-5Z1emTBUzFE*!eHvGF#X!YM0T)8+Xtd53)%} zQLrG|qS*fU@^kXrtvtqM!TaOr1SINXZ;>uG()8?^-hr zBt&~d$A#){!vqjN-1-TxXVku_<41Kl>T+#+5?D@b_qX-hEQx-Rkgbg5x!`vR`JMEb z_w^u32eHr=q#cT5kQ=xsO8wUQdty)(u{L^%xI+Nm*9s6S7Aw6j+_>d4*TK0^Qu1Q} zO)xx(<9?nXQrFp%&mU_(Vu^c96*w>rdl*<>|M87f)(Cx0nwiKOM(zPotmpyz94qbUAkEcMvpe zcl_bU^GYb}B3yZW>c z+-MIjE=zc?ZzZ3$vO26+6#DKVq-X|$05G+Y$9MNgfg@ASVzQG+!;_Mdzirj8aE(hc zY?9HKV=I!Y&!Z1Z^Wuxw3w*?y+$TN}HvY0byO$O5uHU>ArQKlsg=UFt_H&3d#UEs5 zZ(5z>d)$>0M90@KAIQ0c+1WsK@|oNhg+8iTYt3sym6b0Wwr(F}226OL{dVtJUR7D8 z;H>4#CSSy}DX}gHsLN5@8b-Z&|5npag|Bz@6P6oJJ?JE4jTvqHH1P(zFw7pfZmw(O z)en!K)z9UYC8m8nX}}VyAw7;zxOOhcuRo$nMBu>wY6@0#Yx&!+;O~Z)E-(7sGyd89 zeV7HkVqkqs>QHL^0e2>uiz_FZPdy`o)a84!;75kgQy%Ec$I^jm(iPEbPI0{Fi3&@a z!)Z1ThQto}8)#=&)cj|2T%4vXNDpS4uIZj0K#3t1<{GsxYQ`qwKgln~7o`InP#PiE zn=p?7Mw8F2+I2Bu^$k*{-?z9wm3I#*55kve$cX^V@^0_`0t1`+2Y5N9?D&3E%a#Ee))!dma zXi$S`{?0y*-*Hmydnr50jY9nYdgVu<4+R8m1T$cxF~tRgfs?9>@p}5GJVM+0)(|Q* z4galG57Bx=* zyHyPlqmFJstPjs@K{bL6@%LM4&z#A*RMFZ~@zs4yZixPRthoy=2q9{r?%cS za;T9#Ij{S}a3-^`vv=gi?`VT>LzYsfzUArcv%Xq&iHiF!+uK!__92@v8=QZtz2+Qu z5Chv0QN|Kf&IdOSK9W~FR-#4e{M-nRx^E};H0M&jB|jup#G?9vbwam^$gskAZunxt zy-rPJ&%3y@OD%%-Z4c))d}j+q@)>WeAi5}x6*DfLHZXCE6e96G8zq>CxEX9j9*gC8 za!sT_%YVQ+q+9}DL#ILD%bXV1V6d!YwZ_I}MJ%Hhh5 zsi~g`+hUBOc(3dm9Z>o5DD2Wr;w7s8AUR^~AA{(xN7zj)N;lX?bxtE9?ftwDH~Qzn zp-|;tT|vi}`>-o}3F~?`E z`!c1?o~+_rVH8{@eF~mG394${Or8PL-G`y7PkjN*y^}X6xqTt9+`%Ct@7)N;UM&4(c9+^@k*JRRA0F ze#}&hfEGt`K}rP0*?%T_iOJGPol6$kc~Y8*P*50ch34{7o%|!i z*Jh7XJ<;v3ny(sSDmQtw?!Vmvp=PXJXh&cOALPFRO-i5-uhR2Mg3p&_NI@Y zw43|}>mStX+E$gT^J+E^afCpig#wblC1|-3#4)o0H)8gm`U+kM1xKJn6CuCnmWMK> zE#;I=X@hI_Gb#>e5eGC(^+~ZevW#C`8uX$$0}Bl7m|0S}S==+naKH=M-0i~eOl&HZ zS*evN^-gYKV5t*b{F%HNEJLK^W61uY9qBfF&F+6bSOl#XixxSgMNkiBV%sSCU95N7 zj8>UHdOgzPgtaeC)$mg8q(PJ<07+WX3NHuor(62LF|X)80Yca?E5_l|yP-|gBb=Q$ zVsVlEWN|Z)0N(FO+n}w*Kt z5m|JKP#U?_vX_&QI?{FQ@5#o0o-8%^kxwY~;yhQY=q$BZ)|&lkX5DBYF3?P3kUQ{u zRQ=S2A2+n3Ictp;_Qb9&hFy1In-p_cWR6aUHqWNqF;%tDJN_d`;g(B@;~XRH1`f)f z%1Ig*T{q}f(=4WbVp&Z?8VJH|K7Z%wCnlGHrO#g7M~}9pPiS?!=UKJps$Bu9UR3nR zS{=txc4^6$rnfqP(E*@?G#Rf-T1HOJp)>nle064rqAb-8pf`PAI7 z`vB>G&#z%|A;j_A(|diy@=Y#Yjde0?<5XvBtEv zDzn>(@!M@ZF8)Jv-t9c{dnr5i3nPSE;K5A2%-l1S<#8W}^&50#NG-pj4j!AAdF9f6h`BP358w|d4ioDt=5tfL9C!F&1D)>tSG=i z@t8;OBC_#bihw}Wv1dl0g4gaD66+$MOxF!Doev;F2T0zo(WGZVUAq|_%@F@4U? zUAgQ@`G$aC_qoeIt??Y(a(zY10H@)d2@vFxk@f8dZ!jv5sIb5M( zMiKoNpgq}k_n8dZxk9L$TiQfii7c`25E1B|C7ljVlCk_!d5MljU&@4t1FTh?nKn%M zjBk|W3@nnx%oF3z3S>OGrf_D2A>T*4uJEMuy^z?F50oqpmW;zd?8Xy-W=B1SxN*=UakK{;s% z2qFm2E+dRX8m1tw(q8VMNg}S4M6N^hOx?u>F|_%R#xqQ|!0Tv}%Y_>&C=*Kjp61(r z;X}lGsudsmf}F>3`XDPZrbeGcybMKfOcn?U3KiO`w5&Smfev!zV5;?hoB}?L+I@k( zrDah=T6u#zEKiW_rpgfUZJp%YxFlNrkb}WaDoYor5TRn>g}Lg#Aiyg`vZVB|VImg<{i3atiA=T<4kOi%*m&G~pz! zjw?$GN@zfsyJX5|*lgBKx`s!?%pSw7pM|+Zqnm$!>VF9i9M$lY3T*FXA$UIluaQ!? zvRuB95^S$dVoYLzwbln0sJXd8z;NE)g6U$#=qFJ`vpDJLg*KSbpjZz-9{OC>kWH!Q zy;bY8Ycw3y>La6OJ>!TJD~&#le@bQ~TdUP8VmdyLzy>|dacYI=^U{v|8F70ehX_dHKS~xwiASSU7pcv+ zB?9d=ala#IFa0S4*u^arUY9iBAFdavl?fTgehVS+pm9aNB9EXiV^ymR_(&H(2>Z)4 zD&@`~(rO#Rp!a75l!<~JV=*;yG=_Uoz+LlT_`#h zNU>4z-pumI8^bRtWV=<>QiKlrmuEWd!#Su)>#spj3`0H)6njc=L8I2!zM+Zd?LC1z zYs+jlh2F8REjV%lZ~qztcO5P|txmRo)Q3gcxVmY`tCUL3@o!gLaO-as9*FyerHw#Qh$VJEmZ)EjHsbO5;hzaHESkneZAnn0N zkH4c-G(d&8xVfESe$CdkS>fCl&CH&&$U6^QsBS6Ts&3C=$#c6obQ+rJjP22EmpaeDkD_hco2Nd(F>){Gc;pNMPZAEG+ zgTYSjMr>$ccCyX| z<1^Do^m?f?-|!G9jXvDlLOq;!fP!LOrn~KalTZ7#{rNyQ;`_kJh3duE-qn3$e6>?I zwP8dKU0q#$iYpO)U4|d*WXti8tIL)Dqgp28ka=%_#mfwCkD(=G@oX~)+nNxuOU;^< zlsY4Iw@*Z-P9DU_e~vMLwoK#gpza|4XN>pXA)hKhTL5Sg`x`cnL9)8-H}9Y6scP=X z8C7jx79iBLY-{+1jaQ|dp5!W6tScR4M!a9)9UX)akVC|V7XY^#UHrNJ0G0B+9~n<= zPD6iu$#{JeAXZ3K=4i3pR15;d^ng=T|HQx}7v*u9^SCJ@4{y5#yE}=^qf+{*Afw~sRm^_`_O%L8q0m=F_ z2E{#2D*Ck7K*0r!DhLqz1PnnVDQA=S4$-Try(Hz=>M0m1QcDVV89W;M3(vDvJ#eM# z_5kR5m+~gCc?{xM0r2;>5m8ds&+A!{6CsDwASGOK=lYEs6D+4xSa*igImyY_FBHen z_z%ij$nMh!O7r@L)x9X%yK+eOSUDozd)NkXo|wf-)cJYD;v$RSV3NVFi)g8zc!AeV z7aUDL&!R7KZG!Xs&gb~HZcsMND%xsw&{XuB9{fz45o-h-Oeo##5cV=_Lw^O-ww|4< zhcp;!G~?9Qw2P+r;-5H3>bBU+lYPBHe&(DNYgvByyw!%=Jv7HN>^UF5yU>hOH@C;n zoY47vUzSKpuRJzAr9Lon=2%mAzJJP{bL@qcs3^Si7BQnH>{UFs`vb3;4^7k)9I)mR zK7`>5%*P{R-9Hpwn3~VTT!oRnol5TIhO?S##sYOT_}N5)vl;w@n@Hg@O;rNmS_47g zu=7SV4f&hCFL_L*Th@Nq1y1cDQ7i~i+T`a!@0xgbcSGITwZ3$5&ybK1DLi)R%%>c6 zsjOiJ8J6-JL;M9c&g7O3MCU zkJaii_E@ro_x4YvMrOAhzbj9eq5CG#T6usAwZYYj@7}utX1EHUz;(y+ve8b^Kp69Nu@s#yQUNM>01^~_4`-YAL$3Qu zHEUN9lw$V{*q?L}JRw`9{YgP3{O;tBW~S13illddkdn<yDT%6$MPipCNE?VVFmdHYK!NDbYNri-o=r8Hlvb*| z8c)Hou1eX1>lX;9i8OT)}KafjP}QNU9=Ikal+z*i#Pme=Sc z?846JiIB)9img@fPM#Z{t zT#y20_LF=hc0WC}@#Df6-k3CAIH4y2{Q1vRne^X&!eS7WfFctc{0AWC5FZcGeRLb4 zV+D+p;x&y}foXDH1h%VerDDbDD~zU6=W`HvMmwZ!|LCE~h1tPn);S2aLb z7`7-A();7Yr6zg|uEsfPc+1HOaT-FEhqA>%u$y}aO8T74(_ zuiW%arP)4FNu-H@9hRmPY75cU#TQ6yFUeODA6TIYoh8MmnjsK%&rYGcaT6T2syAFE zrG{8GubOdd_No1lU!J__Q->4Qd)noXI7T~8_ypY(u$BpO=DNpyC#2KUrEXNXP=9dR z^Q6RE7-&U&#IU0)ovM}RX{ zq(}k6=ivs9hd&l`X1bC@Iu_UaNz8a4=|c7D+*UQKg-e(mSTa8`y`4D)!E0W}=H5LI zdf}d5?^XXG(eo_7*x8XmSus&l;h`;IR-gAUzV~5HivNE1xw`07f5+G@C=ecnqj3$9 zTsWOcf7uaI${+$5$X@`NYUz8;>kp9;uEs_Ap|=R;_y4sY*qC;jh^kN zLok0(3|u?VJdZAXL091Gu2>MI2eev}u#5f6{ptYUIa|Uww{%GurTSz&7&x*3?ASEE zC>LgxvA(nJd*d@(`qpL67$Fv)eZKT>Ul2y-GBmioX#4X{50u%IYZLk>@e3;F3wrJ) zh{ck}FiK`@Y}DpYfZ5w}kspl*drwa&_7vw{YIa~##OW_)BAHS6Jys+uv9;x7^ZV|j z0Oy>ai^**|mYjY}S_74=(O-2ndHW}%svGqDM>&=}Sj1<4uN|fPzKmC8bbOJ)_DZgZ zcc_i9=+iU(qcwk=RPX|pWa4qD%$7W4^YrMyL==#_;PeFy2=f=afX#?QkF1IT6C6=vkaXn&{R-wywu=O+bc}m`%qWf@r;s- zVLwG6ioxVom76<8yo?U_*p~qzJ8;+b<|R>6Cb{-@aro+~;19>HgOIyIt)rSA^^7mB z8acRIxNx%EefC|0S?`hrsJ`DqgP*A}^mwq6xU1-1#{`b9VI^^qCviv=b@G2rfzp$G z*59bya6tdr1|K$bJ_1MPwBFs$-&-P#n*Ivk@_zK=hiK}L(4DI0fZ2WVMT#gtKkl%( zGuN1%*OWFwH~)0SLwv`}6CwWv0M`Ev07@WKx`AJKLpE(x2E_g3byjpn>(qTcN?Z2P zB1RIhn*}xml2e&j|M)Y))dbzGvLnVns#=-kYqt)+RWNl`8h3a-ZA3cNeUB=;VbvpN z11Rd0bg-(coq%i0Z$eGLbv7dR$Rw*g8e2xfK970Krof%My;-wNS^6>rJ+p=Jy0h6# z%S^Cjii!#Rbst8LG;t%klY^e!cd33D48InSxoBJ{=CJP6s!HH{nbdX5Wqt0fKe)3W zB&lmgxFYHh)#o7-+j6=w$fM3-nK#XsZXtRqS3b67@?6O**nBo3YF{~FQ?aP8@nBB4*|I)Ky*dO7dcp6X^cW9X7NYdHj9HNmAw2m??P zN-0PO1}$MMpAQf7%p`R*3P{=%B0K!~)m$@UetWj*7(-)Io!G=CT~$s;S4}^*#?T8l zIYz)kah$bR*)oQdKe^9s!*Z7AQ>+$4J|a;qKp%p32>IX1A&MXp1~`+cM^?bLs&?46 z(&ZHfHlCIU2~c(Wu1*JTv@1p=vOjlE5lIlY&dU)Lw%2{?6ALMr+r`v)Qe5c-cz^4_ zL(L2O$o{`Wf#JXXz#|Hy8z*r8g^1|tJwlJn8`d>#Hi-cg_ZZ)z<3r~cs1X{wppmrA z9sk`fK`k~}T={ai0pYBb>{1@G zqi2ef&`w%T_2z{oojIGYeM)_xRgq^Gs_U4|IWCO!m;t(a6s_8J z&I~V@C#+S$QAOHX<>csU;nNL&4G_uyE8+!g91}9=c!Od$iHzi3Ow-+6{E45+lag&& z`(Cp+Rf7T(*jIq}xy~bvGtM*Lhkg99grOyA%ixeh2a0ie%8+};Lms|W2mX&M@-_a6 zK2mYh8P}p7UUTQXaB*nMzopnm%3}=rxKei5eE4oJiWUZlFenSc&hi^Y?4|aT{#{?_ zQxTig5IPhIrGAIHQh(jV)3_3c5)dSRnj)|X1#D%8tm*JDiH3UWnJ`10tGVfm+``m6 z{J+|A_YWWdp`9XHG||fo=U33FhWgkr%nq>U7wYT-s63q{YVd^(ux~Br?* zJx@bc_6y??*;K19yz9*fsm<62CqWmXAxfHsPP=ZTR@e!6j+*A-7pSQXw;q)G-i#h8 zkkbQABguB@_E$E)qF$Tq*GN(o32tIe)`(K=31g?2M#g|V!k@HMJ%jfGc+bJDO_JYR zqi)k^l+*c%Optaa`l@sSnj@B%v6MP!isra&+Vg-wX*Z3kqBu6=Ox?8hWi?s2E;} ztC!~+M9WGN7sl{MM(tA`_Mrx=0q;I|d`>({WJjn5Zr?}#MDXq7?9Kq+_pFM*rnF}#kCDxkDb~lDa6@_h zN4C0#xxIY7*CLUu!_Y-_LKV;Z117s2dm^nX_>0uYXOH9o3|tU z^=?~W6EX+889|ePKt|hF@K>hLXo4~{mZi+9xQ|pNmT}GC5QDtv=CP-(v30g z(47<9Q^<_o z#t&xbE{=|RyP^--2N14aulhAgay(~Ac z;a*CM;wxQBUg!eSiue^>_yk+v_?y}@Hkg*!fN@zVByMoxcX{1u`>Dzhf>Zlcy|P(a z&fVqg0loQ^(<^o3RqEgqAhHF1(cderLnn|-RRf=FFL?caXXOc*d3mT{F&Zt*4jB1J z-2VlDX`3ska2lPt`S!cE)Z^U<2ru|qMsvrSayO20bw@@XyVZV@^}`x zvXUOzf&4p^m0dwk($f|HmZj$&ROC2ruPOocji@?94{9%@0G&s_`x0$2Dxs7=(|?qA zyD-0FR1I2y36Y8BG_0BF-GR!z)?^gR5Zxl(p;{?)reAJwNFt|mJvV%kLKdK_N4T}4 z0pi@lo5~EyTUMqhnh7r|mEuf&^pvV>M*WyjbLZk|H_~_v$D^q5>2>alJs;)3W`^TU zp`FnQpoG0gHy6bHZr*Oks_%@oS-BQ(1(+OUha}Rw%CjSLg~)-Z)Zn#pyyQU<_J40G4>f$+!~v zH7XE&{JY(fQudUVlB_|)tw3l3dOMGDuY~&Es=%}1SB+Iupx3_|@A)dF-KDg6M5t*q}XzdXCU zlFUFXh0vzr<*q8X>0n8dC{E24EbUNLD|+(8Xzk5jw~XY-Gjd}$Vl;hAuC2WlH{5S{ z>vxjUkx+V`cw&&)`VzetIU-0@Bt9y>-Zg(x31eGmr5}^9H(#REbH(bJWseQl#C&06 zQ0YT64i=kfZWwD*13?nDfthE5ImKavW2~<&o>qI^z*1qPm(=!pPskx^8`VyE@>}%| z+j(C;P`(O;`T1(@8b;wmegqSr^USM~QM;#|y(f;1M51|LuR!!^B6z&p6L{U^gybjS zEg^ePJ{uU>*(52q@QjKDaODiOD$@F6ZQmAEoQpM$$kS>&ZE9Q~qVI(DkCt6zHhV3bmM;?Ii`;Y2lm z5)@mwMjhg%Y<$|Tnb_15!vZ<-^vd;vREXtD5O3K{e=32I?C0@SduRr05w6UyDgG1CpTMvBdYZh- zlhaKZ{`vx|BZ6B4S8E5EVCa+<7Vqig6FgqGMa}g`%jKk4sj_ovhIwA2I>maBqYdbd z8hTV{#YKm4JPw+jX$+nQ{AFnqPciUy217Gl9z#;&4hQ2EEUNtpC#n<`K zt6F8cA9PhFj)iH(pSk(;5#N_#h4l6xFl+j5i+f9Aa!)$#7;MTo`DeLxX4}k5^d;K{ zK%g+Q`?*i293D`S+c!gTB?)Sa1Njhd=5%`fR3jhvWg2;h;D6;w)Q3k=SLFaV_QysV z8jo@Wkh~bL#H-9dUaG(3&nTJaG-r}E;LJ?i3T2L6#|)=rM@PP`Tw0@gwp62-maKB4a3NFZ_?a6Ctlv%jRb@Q9G+wVp>2&L4oVxhZ5C;}IIGDTSHa9NwxhR%a$y3D*i} zothl%C_o|v7!XGxh(=DBib39*_S345g;k<(jGDJ~k0~LtHaB*oZ1LS*fzClyi=3Bt z+IlwE@A6tLe1QIAKa~;8TjyzXq17}xCVe*nt7w0^m)ksSu}{-SAJpb!+^wWC>R8^Q z?jo%UA_`zcJeCu{jST25T?n>^y|z2#j5jM1*K@1GaDVJgI_#+QlPu%fXMZ7iYID-% z^E$nJ&u=$HZY|zrG0JN{y(4rfKJzRtUhv1Q5V*tT>bso*T|zV`y6kL;pqcpQi6)yI z;S>0f0%HOqh%)?c!T$(C@B%Y%0Q&pHqrDLMtZe$9_NWYvVSc7cdklJnx1H;%v6G&v zTvQ6g*_2Dvmu(eviv8Lf;St^+S$wCjAmrS!35O`)A7I#Q)co$rV`>BgW!Sy`86`ws znMyeg>?|z2pGOpbiakJzjUv3de+`O3vY1h$^y@?Nbl0SpS>so&!cl;3)s0@Sbl;=;STcq!{-v2;uM07b1fDWnr)wnp*^mLnqm8x}F{p zq4+b=HK_NJJsNbjH#q~gGfy3CdD+e~+{hL53r;%!#J=K(k@58s^^4KyL!4PjU0YQv zrTYR&@$=hUEG^iQ3BnlnlP~9~1nW(xna#TJ+t)_L*iPm<+MrD$$z|cs=aX{3x?Pl? z7+kle@Bm3)7hOrna1cyT)^#VpOC4Z;^kw1c;7K{p}+x zBd&RH#bX81@O82VkDmSQ+(u1r9%Md1zknSvjW)d6XsK60GxU+fTpte1+=K5{9v-7K ze>*<{1e){OUrby?g0?Emg-64kCrRHw`WK;Yw;rLX4Y)PvpU|B0j5_BB9*c1=CNd2o!;O=>ZrEyu`~LsZH3bBFff(UNo&2y!E8{41ivxrSzx zPFoGPTWyG=W!v8azVVYqGNJFpua4`{^L{6ij8f5cYgj>VW|P8v_+pH`mtp6DyKB-T zC)|8YO}$UiHffGSfs+t>ROZH;|#^4`=jL%5q&jw`R#C zo>k8$2F*fp6EGK4c#2Zlq&cOcJ*RsJ%}tlvgD+D4%|dj+lg6v?Qh%R1_V<)lP8u*k z9`M;NPeY7h{L`9sB0Syx9HO3v7vV!AYH4RSiM^yvVotmeY*g&5n(;YYd~*DRmFSO2 zFE73Iv4MdT$Djwt$ab-=bh+EO2-6AHhj3F=uMY5f?cfd1Imap4<)kdbA@4rS0gl>B z&YDl6z^Q{#mvPE3BC~p*E0-V+2&z{RT$g2u0g*jErgtl9*0V<%vn&j?gXW&vgTEL1~=kqzVSS$f?2j=l~b?DUGwf34_ z2%GQxMD=~KLe<2+^y8_Uhxd>DKF82I&cv#dGp z=~Onkuqi}$zhW5TP?Bzx=(u3UrmhX2_mnJZl-^1H7a6D~ri<$swYO_l{%up{FHa5x z%P30#g_>q3A=h;u(fjlmh>x8l^eE z?rQB`THx&k7;#=JRv-dCL#PqJhk8HW`?CF;rw`%kNynqt(p2NDuS;za4RHmo=g?2! zj#4z;dAfWympcfwgz_WhpMYAzB-0Ak z)sIrhjv4g=$WF#o>tExN4fiJvFzyg1fJQFKwx?We*v?Z149o#Z4WwS6{EqMBs>OXI( zn?IIwYT>6nQd#l*!PIyjdGBKNYx3T7894sy!_*ItRKh9m?Ii;yEalo$yl6fx5Ro-n z!R$5|8uVRg>KG>GJ$`z8C__vRbICm4=Ufm)CbNq2xhh(y4JF-Cc56WC?Bpxg^|gx@ zw|d=ONN;h0ezOZjYQKMPE_X%0i<}4kx$~r;=Z+n;|9b;I*`oE`quQ^seF(sr5#{R| z5|S{!qdXCe{bO!*mC}ySsAwVlRnfZt(aOX3;@d|*?qUIk6-fSz;F&?=3AN*{51-}^ zK?5Q+9fb3AA_&ElAE$3Qo-seR9h_u^4#h1|e&O%n8u?H~mU-JvDb0fmEmK!+IXeJ* zbh>MaDE3_hHi?X^=k8cuQ)OG^1vac0R2FGR7&L5e&u|$F&}t?bp@Ln*<;$V`pWfVh zlH4H8=!j;o`<8_n_GOcN-`PF+KJ`uFDW6p%u4KlcXb>wmBq#6$w3L=pN)r~lf9?r= z>(_aMfo_vK7tMOAYhcy^tb9)4)~;p|EbW{<{k}QD%;*ua`Xs5Rxl!M5LcuwCo;z46 zsi34XckkzWmq8NXcizDHB#svgbhG{<>sk45VU~qQH89%OkW`cP&L`-l) z2jyo*V68Oy07Z#Y?m1mZh!iM$%%<+kA0s+CSYTxBx{_dMyDBogTsbU+=eaIRLNtWP zUrE}t7aWYtQae7R`Rg3Bbv3wthnh7jO(}-I33}@qm9zu8{0X9HmR3M!&uzU6-uzgD zjE;242zw8aY++P583~n$bT-qfeJ}lBEx|IO!#}WyU4H)f7OLqJkafmJem?z51bm4$ zk0k#ii+wXx=~*dZUMP4omXZ@P=6$qwvAlK+h!_|M~;WiyDC@oJR!tEV)!d`Ghx`|pVKFex3x zxX_EvmOFn`X0O*X#(60)ZD4 zdVxRA^k9p(2-++ZMZx2 zEW~S>7&<|LR+*=CbNn>D1mj4#wTc@c`8-7kWR$$>#)56Dfd zwDV{K^)F)aN9ZLu1CjGv*dR4+;FvPB9JyKU9WW9opmpARRh8XtlPXbM<_Zd0OkM8J&N=kgl)KJr9^IFNhLR#9lq99)& z`n^xGP~DcbB2kM8lonk|+=NJU4?X#*INyI7aquq;$lyu#`H|)>nu^)Y z-mc9T{V4oB_&4}pP&8TSAQSbFCOFpO?)sCJG?~`%{u-^fbd+>?7yjWwv68h6;cdpAecuODYoZXg?_fAMC9rLU?EJh12?J5M6|BCQx)jN-H>KSlM}N{q{%&-Y^mAUIZM417xfu^(MbUr!Y-vf=`Gz}ohK@|@1)pvhNQy;e?Txkj6t&9Atp zF>I}R8crLLpzIu z|F0nnryiNL(SCmd=5DU7eTve{mtK;w4yAxltg(jM@}jm z$n-Pt({ceJ;!)rK@Ng?~U!s6183JY);J{)rttC$ue_0$McK=0Gk+jY>T0uF*Zw6g( z2(>*ylzNw{ahtntza&V$EAEvR%YBhysL_$%=dh+;%AYTL@&x1;N+Nyz?)R=9EEma1 zuMkx<1Wf#n$z~R-pWe@i{+Jf`{m6HXupbu=+^}6577GLeAG0Fmr%GE98Tod-89KYb+>h6abe{(q#5uia`A|rP@_O!pF5vO!EP(t zCwmkhsFai>DzYibGF0LrSHzDlb93B1}5oB2|| zq4|M1ZqChUO7n=*zvJdBF3a#0|3a1s{a;UvnlbU9Un#k!Tl;1ozpe*Hej1zO)O~Kx zl1mQzj`jb7`0tm3Z2zao`Xtj{A!fF)N_~!-m@+tc+c;w`L%14c_Ug>j5AGTe*AKBu z9+wb~vz}Iydz$LNEY2DtLa1rVK)hdv0+W;-`m3~eRA2u1E2)V|@v&+S(s@m?NsDBo zmYK#*%_C9;P!+tkR0WDXj+abivV*a``{Z}8E?2{FLaR>}y{U1!d3a{@Tj8f?Z-2bh zV>&o^p}Oa^V*y~y1i|3%7DxYQt;_#(o&i6bp)Yh=X~*yxv;zV@Mm?lfqe^dXJO)?$ z`7}_jHPyS(`0ZzB=yyesWV@J2=b?u(mLbPcYM(|)^I{-Opr{v& z3Wliif4i#t`r#4&%_QjSXS5ux1iV>Eo&%l-Ymqk^$m-%m8+eHx=od$G;fl=QTEt~2 zC?AyEm<5<=GzPsI4kz1WVfRLBfTA|m z3+g)=Cu98DK4N*_)oef8G|eFtGdBv+Zcw@w2j8NsD3SG+LDR?sh~ytgv24)EUsCx3 zlc8~iZVub#6{TO_vdXtsYF_Tl3``;G@%s*WwyZStg~dQR^7f$viG$@@Zw&6^=PeGQ z|F#4~)%6@K`Zu0@d~q@PFv#q2^?Tk#p-V>U1Lt?J@LuZK<2)pQ_2L|(Tg9qHhD09;C_(jAAejy6PGvf`&H#N=UU)j z7tqYC6jjr4-AM!myXOzzYyaB+X16fT=inBvP0pu0laJZlN5oV7Afo% zFwdct-t%-l4AR72dlXfzmRI$NHo$;CPnx+g=SDL{O~O8XchP?hEG!=R^GGp2eDn3> zE2tV|wdB#oVjY8mcioZPC%|rN*z(bdUEJ3&Sl65tC+(!noxSf5l=c}e&~h1z|)!}V;+**sjS{`)d72k*m^H+1(rQZVd%fpR$q zNr&zSF{|)2fP|&H9e@M^x~T3iWv>1A0~{uE&9^OFf91j6R>Z&NT0>vnp8d8knZ~|g zlNu33E<4S9f0{H0Xh7CuG{uf?(xP`aCTLu1-o_1QNDH(J#d`r?7BYSTT$sQ6(p5Lq??fvB&8b!q@_Wck?!ssx%>uBr0;Te{!c2HSwM!SF_+CpPJ6~b^L9FT`YC<5^c}=cnmoKK&~S0cVa3VZu3KWwj2Z~@&3R6WUi@V9;iu7 z!FkB8^GuaN(NoYQxIhINxL&jXObSCVpLZdc6>p4oyl<7^Faqca+-U9R6>&8qPa{S8 zTI84aV@tUjaKbm3|6CV4Fax+<(6fjq*0Ee0ONONJ+L%`NgjLV zLdCx_Ix3dDm=f0Is6!efyR*^tO2)61U5kJcuNDP`{*)qE@gJ&Z9#LZ-5FGtZPnH~Z z)}2PwJ~2&v!4Z+aTwlo}IkOf=I1Vx0r!hkAIIdQ{A$*6FWAauvpblCPGi#=s4Y z|JjZBw{Vw3Q7n0mDyPgN(4TeNN#wU{F|$0RoY8La5Tg9{vD*G*gX{qu^ps2L!*Kh3 zJ6-G+PB1r`VsJ?9-fh+km(M7*z8 zJu%Ym3n=wY{ELC)80JEoBiEb(V`Ti~s~Vs&vIp_5>dh^{k=jLi4Pk+L{0V$vn%b0OIkHxyFMxTirtgSs@`wP9t_kMD{)9KE+EBj@!-Kt0PM$*@*uvIF`^QH zj9K*8_$$n?Ec8dvtrV(Yh&X)s%X_%mt83*Zbf{UZ5enA}o`@WzByC&Ab5>u?(KQ^kx$N^Zciq4!txEBh>1ef$K&8z}qLWzgARjKu8%4T`No4QsgA zNLPJGWY>Q8SESmz8YIE|iDt?-9H$_%2hfTMG6@|{{8;_69bscMSbYj6dj!8cnU(T#78Ao@%ffxPtVY!w7FXllnCBzLaK(K!6W~1#f-=9h+@~*2p}sqK zQal3%)jn1I`+lYKzk?VbKqS~xi(r?B;z*N(wFSW|Ib@*Mn^9mD^5`I+KjUnJ3$ihT zZ0~q(6X6$}D9^?3D{HA~1LI$%&n+2=fL?lj^7Wzv0_nhiUXS|3Kp~>UkO69?P#gL? zZrQ&NGCmlHw3Ti-J5oTZEh2MJn?~GXl?OCI&g?&eZV)FZMEWA{te@zp)X!N8IYI(8 zZv_VS;CHESseVY>P*%UWtV;lX07C|xft=uIi1Hfj{%I=E!HNZ9s$|)pHevH$0g4s< z6p?ABtWKFk*3TiH!)i|5%?%7~k}> zu+;J+cgJd$k*4<$e!Av9C>6vA!Il%*Pf_yCNCkS(A^FmQqiK()d3)nEdcTTBN>bI$ zI79gO#IEn*>R*n{c#0hrWmCVb7W*W{#9zAYx?ZtDIPXTG`82!K<~`GEgBD(+&=8+k zAb7txk?%7|>OY&f8tj?}lv~WI-2fQJ=}2v^pMvhQMFuU9^@_Jf94=P*YBt5Nij8ie*=5PeR`qQ?KhG6ntxl!((5hAW?61H%55 z!Z6|h7rt179ETj{`bB?B`onT*8{qL(K-O{Qs+HKr{!G$Vj57wNVZdyPGgXp~5vF33>|5 zJ_X-G5l8j0;C1jC`2&~;dh-0OuF*3yHu|W2!BvkO3k8gelQ-cWo7vA3%zZs*!R-4e zK$Ru{C4CRasSiZ)4lb}{{~q{j<~&I1AyD_4DFDIj`T+9hJOJE&^Fj=swyqb090^blS|E@U@Zta@1Wki7eMkfS@r?G8 z!GtFKeZpJgEsY4ybKs(};tgQHfnxp!!OC%Mv`4wI4z9cddSt{h8rm-^-+pwkym!*I zs9p}faQtU3l#d;l2UK!@N9;+cvLpvV1vP`Fs3?-a5Ch3Vo)kRwu^ z9Cg4B!1+ksi;ek507;3>^S2Tn4rbj_i!2uJeWWwI9-{Esb!Xl{{h*vj{ubIOvx2ln zIHJmj0E!2U`;uKSK=9w+R<*H}L^{7|M;s(FJQlB%AjNY9HvnS?7jT#(vJZ+v7ixFz zy_2y9=O6iRgV!!S6$JFbI8^r@y&=K3%`WN74>U;ftBd9z?|?BILU-dijlkysHL>Yi6%t2Za!_{;TLEFn$0jQS&Pos)>H9zJlM$w%fvLE%j zG8!hl$F*+vW{7urM}k1}F~powX<|4Mtp@ z?j=2~-QH-IWN|()WY$$brJz{YsIfTf;>MdY1SEjOXn+^HO-#>5E|L@XN$2}yG z@p%F#*Bq_z8C`@YlKd6wMK3pp0zYS(&;?OrIAK$$zK2U?=$gVLuUdF*+U#X~qrKaz z9po31ph)mpo!oy_V!;gp9WGzuP5rxiP_i0wiSo3NcM?z12>UV3M5KO;d^>@4$UKIB z=BN4=wn2;~x=%e=Z9jNG-Y|d;<3AuD1@}&@!%Ug47-Rn~udKl?0I`=i1ztt$Bf>lc zYkk#`eJB)N)OS3MM|X0f)+TYi)U5}R5)Y=BWxm31c9UxkpBe$nFo!POGG6UOgaK3R zhXIa=m0j3G939dK{9hl6O~Dt5Xh$`&G1}m#Jg}fLOA@oko?mpWRk-EwDhB@ckwFIf zG7Dt_t&k0|;7KGqS**Y>?x);T^$SAOi!!&J->?`->8l2YCHDt*Z!Ldv+_4fvANh9& zY#hP2yRf^#m%AI|S5u_1|87|U()5DuXa3-=D9lxvVT<9T`{3_Z*7Nh<;jRDvvH9_S zg*b$et}d))eYJnC%oSVEN?mN-T6WSI8$0BX;Dy|n2an6TA&VZ_KFn=oIzJO9K&%vo zC#uWI4TGgW88kcip?YFE!R{T2h=@>^!#{wL2w~MN4%f;#UabYg8^2?0+JhZ|=*NS_ zwshoFoBStu#Mvdlmn8S0_!@#4gTz_`2kj#zsGl4KvrH;=suUVX?O;KM9tQ zn26m4)>qWi(7#}>cAUFvC!ZOM!Eo!~6XD%CxS--DhSt6)puzC}zmKXkOR+|Vbg7PE z<&Ns%gXd32oAKKH&R0sAIDrQ7nWA3F0K|PjZ?9BdetyeNw6Oc8AG-UWF7(1~qhsB2 zo2shzW3)N)GUeTD4?GzUe2w48p&X#2dd6qu&bL`W&?Y$21*Yc?X@KB&A(sjQJa8{4 z%IZI?%%tm<==L@o6ol>L5s41xCizYbQ>;rQ{zUTK4Sg9 z){8->;iUd~O|uh2elP0Mk&9r+Yva=ghoG@s`yR&p@hss1)cwV0HCYB2KJ9(+$sTxg6TzwvrM(9(W=Kr@gD!SiYw}}C{ z%Ogg2^~;S~Y&|~*F+!s_L!*L&yy)DKtLa0%avSqu~NOMdYYA&>8IQQyAhsDwdIabZu+re&b1Pd_lq6ce1+^pZStv%k0&uF$Fcne$&%L(I5s= zf)IVAj<2o&=|H+j#K?{P)|HXY77|0_WBPJ;ie*+XUtvk5+=Znrr@W8L-d-&`+}j6? z!4BXJ^fqF+f_wUsWq~W5@36 z?q{UtW2v1vPu5EHTAwP5`tr{dMKaK{8PtZJ8|ZP`kE_pD>Wn{z++IG~gB=hs!Dr%w z=l=t1Z)HvT2z8xgX#s-3k2E<5>I8~ve_2x66>QlR%}NWN{DT^^@~e(2x%T}MxcZ6M zEm<D9+?h&=0BIUH1V~H!ql}>3 z1&^}*0g{D(DgHXAOA%!8L}4sgNK3n%;LQKt@2m5jZu(xsjdx6+YrTT}NX(#AN0y&= zy>}Ju#y@m3L;T#a7v@XB#`;an+Rtfud4nLR0{U$fxA<@=EC%02`*E?}zprQm-MC-S zY5vNPz!04y)5Oe)%heGun+ ze-%m`A31%Y@{W-)f#2S+meK#1Vos*4+KI>i9MpYbB%+pL-VKlrJ_I+1BPAyA=fFXm zNOi&7=$||yxxt!Z`knJ)ft6<=7LV#@?#X=16Sw*pY7=+5wquSGL9 z@!(n`jAsHq4S^#tfm813*{U~*qbKXz1+l*FlV@M^R0k4My+|g^>f-*Ia2Xo-zNq?QD_K6 zAMj3Cesa@mx`}jZYg@Gyxp-6v=m9=TB&eiUC@U(y)d6?Z%*l)eaFdpZxquEek-1w4o z4z*J~HV2=3$lOVc8 zHUvgPSxU~OJn!LZE}ZPe=H{g=R{9xR2+nK5too_U85MY2D6Wq72vN zBR!`g@yL(PVDB2Jfb#=S^iGcR)dl!)sZLaHp?9X}3tN(jX{QBI1|xZ#FLl#;YRd86 zMX`K@3C^*8@KI0MRH>D*p>SX(GbQ>vt-rNDuZ(JKwS3$`1=bOsT zyMx9ZkLNaGu+4v3e{_rl-;^hQHAS=?MN;v`-r7>AHEDXtrMPE??`7wSuVK|&UsC#b z)|+1iinHl)MZCFqf6!WeYis}moVRc%zt#w!EIpIQp;*k;nR)SN{zOfi6cF;RTJfD7 z!hK(XdMHu;F`8;UgchxJvQ$q!Jo1Wy z(k3Qc2NR5OnUr59J}Wl-V$&mS+$rgH?5z3jGysdpmm!`FRcI@@pHu37GI7ysT)9H-4+s+#q_1H=8aacVS!cUS**s>D}ZNWOZt05MULu@1(h&tuB3d+P2Bu!I0o;T~}39Lz#vkYL@iwd@ zE4RPIcu}y0t#P>2fJywx?Va8E2hDcggnRzt%VU4c(G0cy6E-K)NjmAgX;dQqxxxwx=E6Cpbvt*u}CbxMzel;1KlL#KDJ3knL#oK=E$ z78e`y~}l;rJ_`q9S*%kHAnA#qS8+KjE-kzmi5EZk>Ox-UCEn)%tIj z`0%tkKYYmdei_H06d1NAP;YgQQ;5BxP)(IJm!9-jLz)ZzIDJX~DY8?#66(I$`Q&)E zwC9c6s^4}|hFzX+gS9n_W(TT0(sF|h`L`h)6b4$1IWV%VGy~+Mv}BV#24w>1RNR}d zMdEAmq4ho@k7d(bwZzt%LFQxWH9yXDtNKx5&TY)Mn8?=0Cu7$w@KxwTwetMPCr;pk zln_Gn5g-D)pOZmL|`AFkOO)* z1)P?=ywE?7oC=arM7!I4>O=`otqbUe{IJ(m!jYl9BiNBN;7^z8Lfa}yTOIhv&Aq+5 z{XDoo&X%LL;gXMu-f#CWc3j#ysheb^W54TZQ9hJkovBBt2?Mucl8l`81D>hItNlTa zD1&a_wY2N*PJZEsug1lon$=s3rgBP2NfAWCpb%nm@`1+-@PwMOsO#Jj zUJ8eiQn6ANlYa9bWStw?7gfrW72v1&=a@==no-di>yXU#db8JgRBJ0@=lonLvpJq3 zglYV#4gDH??4r{PPtW2-8qP@YEJyJ)x2=Z33fJt+#AEGykGImH3rn2F-Omg>j|!K) zF4`Mbokq3>XTeCg{R_Nuj1hsW{<4z-y602OL7k{a)~L4wMb{d6JJ*M_pJeZnVEo>I|RJ?JF* z#G|rde)?*JV?uC<22ADsM|^yas1ba<(1X%I)~<&z$i%@0wq;(M zC%1jRia;Ti?09uRkJs0l>1BEbc;CcUT6Sf8iMmkoa?Neys0SbLwyEB{52ZnLVl1i= zN;JRXxgT>ws8pxiVc48~Cjhg$Ngxq+4q}$-ru6}2YZP06wR27)arZTIu_ibFSNen8 zkN~<>(1qWe>0_-2$-z%1yYDNhYAJIdmt$oCrJg|*_q7MJM>nDR(POurGa+l9lcCa$ zc{D-SS3^s)p!x?w!)5A;!D{eiD51U0a3b@=&Yh8S-j2PAkooD$?vJ~2`e9NEW_xC3 zm8I&qg}-&@<}}JGE2pRBT^3kaZ?zW2U61GLB0O(Ti_X`6hq-QtHOGeq5)FN`dp)5@ z+#U2XhLMD*Ba!HZ1Wh8rbJJS2cL|uz?<$$(O4%6@HA58@r<@sp3_ZWqvsKr%@V6^X zt-g`Gl5_K#5jzM(EApt1JbT`ek+P^SY3^5cmIi4|IdAy0K!ZI1O-KRFE3M;@uyk0r zn<_!+Wx&Sl{gnN2#|+o8P)@m$kc&Z<_tuEeR*+Wds!~)>3&rz~hcn86%82*BWiei3u)@yW`pS)ag2Qe}{eOUbZkHrB zpQ157H(^#$UWHQwlJuX0@plwq=ADzlQhrq7YD_d*L(#xpVr3CjR}lw4{ff%^kR8FhRcGmCf*q6^SzxVhqZ^OYGV;+t zExbfuS68I^fsVs0sTKK#=ZAoD6GMqDQ2`c zDy`z>JZm)!QcX)-M~cPf4&IXQ6`6o%7oy!UwjNL-__LZcp!V&hCjW)W<{?MX=Sxwh z*qO;SJbm~;Bj%e*rqQP8xr14d>%8-cTTJ0(hvb1*#ZLqoNiJA=yd(4BKn_`F))(^C zbykhlNuolR@!Ok|qD8fYkuE(_H9rj3C)e=W&zIvR{)V{BmiQI%8qL9)J3_ zPqKOTq^ji$$oEg)YYJag5EW)6cwAM;0c7hke2G*}(RXOJYdumBb-C;NeUc1udf&(G zdSh0+uOB{ek~tGSS;|ONKpefUjDFf0(YW|slD%nk`gke7)!MpDLqkV!t?(r==eZ+u zS!rpKez>)@oeJywK80l9eG{geP=e_cA=QqF1>ShY%RbV#UCDxZh34;hXTc5e-u%7RDE@639Z3YSsG*!%x|1x^FlxKC1?c4V<|@cg60x-Px$nvlI;c?F`}Y+5dl*J>QRU%LIFu$4Y_*|s zPo4&Z#bC47$7&k+xE65{_z^H0tb3lY>zgx(ZKq3le|*W~hebuIxHnJ zj!#Y;f6{i;C>#2!3uX296>?9AsJ(CAQSh!PE1Uj(QdKUAFG>=Eww)Gvxic{G!T3eZ zU~e*t!=z3j-%k3m=Bj1*zSnrzk!I79 z{81NE;*o0np2}(o;RyHIk?Z&2spOrOR&F@H3!^0z%`K<^45S4|>wHx| zsO@9|EYnJdq64OE$xptStANWj_26cZ7Q~g#EGRYNL2_li6i^=`_t;7!n$_x}5p$m9 zx+N&HKg=lvPn2|-u6aE9BY8Wmv|^vzFt4o<@Zwg>$HyQ;KRkBmg|)4sm9D9C70=jU zVX7t{1rvs3xP)BED}R&Rw{2Bux#F}fWYDF?qHnB1~ez@BL#t?{3PSMfxve0fESoGDZV}z z?RSA0q<+6i{@AMrzL&C=`mXPrDU30a32<9;O*!2N83mDsHfZTP206UmUM)mo%Ij)r zG3HPYL{Tt)D2dteTW|M@aDG91e%^Y)u*(M3JZSl+b;&&AXx;0Abm5Ji(p5Df7U>=1 z4Kd!Uj)!B`stKZclsc3gK;KGsKH3bxpD!z~3dc_L(pvvBP07K*Nx+xl9EvdZk+PLC z9`AY1|2%HuNtl488ZlNSWus1ED9?OmxXZXHGh8V5>}rES2{du#t|0Us!or{O_EG=q z^FjFChLOJTsznR%lIuCgyDixM^Eg8KPbCCxIlbIj8MeepdIOWM1_ z3zY|l95pSIz<8AFQu{^@XpMZRlRgAumLsb%Vlic08^U)>a>@J?O}-? zkZ?QPra9p0R=s}2F9(=EW&rSH@sX+4-@m8DVd%+O)LL6-4;3z^XK$(EFvGqyn!N98 zjP86{nDfWtS2||QxKN#|s1Tj0@fKnD1f;~@gUVom{`v55d>(+x`&y88&~B|oQ+T&m zX5Y->T0@o=X-ZNC86L3-F!nm>%@sZ_+yWdohKOlOb5(^?HIy0Ef$|h+&yG>F2%UYwz2%Q=5}`Z< z(J!BIxZusCyvX$@j9Ej?zwt4Y0MpG9hc6U5AB=ZLVa%hyvjmn_qgRQ)II2uNTrt*X z4UNj|2`z7PQB?YZ5+psszl*Dzhwe6hAX&d+bf*yA&}B1y=OwwiH{M_>*OIJ4Ud6z}Xx$B$pZPK)YC^MLM!HSN0TpexM_Ax$Ek=A` zv`o$}e*pHvTS15FjtA?@D~ts;!lwjyj=hiyH{&!N?%LMbRp(F6VTsS75vP?NyOj;}M#wB|9iW=;sR7$C;2car zXk3G)l2L-miZ++AyvmS`0XQ^3z;O|5cy+##4F##IUhK3t! zJEbs(5>*~@I)_N)zN-5(Vk+Y2^C(^KK6?rgAtR$+yKOmH4z~?d5&mR8VB1(1b5+Yl z=zFsoQ9TvKzgGC>_pD8MmFw{KvqGb@r`S)Kv%gf|EU18P_z2(~m%}4Rf3ljU+3|fV z$k*=;lfs&hwN9$9{IW>RYHgS2M4T%8lOv~>K6;%sxA7Uaf)J0O9UjL2*m8Ff4EGm# zdSOg2he;hrC2F==c)tG{r;)Ox^}}2s{6Jv!6bmiL$QN4pj|#Sys@O}Z`VWa1PhUKJ zxg9B({Bo6z8tJJIzLzRP$|4~RIlXcXubHXXK`&z2=qM^8p2 zm`W=vNu$-z^)gc^zW?(3CxnHr-#=(TKYU-;1q{0UqWicunRnsKXtFqZ();b?61uV> zQA2gYJ<;1gsRIZ%(IxOerRjP_QQUQ)l%d`Bt1V89hlcJ423B;OLPMf%~h*&^sFEAPYtnXL(X|<{T zT`F2He!IUcD)Wr4I3Z7@tV|EsUkOl_7J4r6*XFqvGO9P14tNGJHU80`-N2Xb3aAKeNS~Qiez(YRDNb|0 zLrY_K|DDGd*`tbGRTY&gb)m|c@pgSTl%Wg0J$}Mf{o#X<>r;XB<^eF|b z-ZT!eJLAjJRYLPU?H|SDDcoJ4w=4E$u^R+_Jjz{XUt9p(q2Z~fd9U+A{8IZjE9SsM z3>g@5lZ-$;jI{8{MHJajxJ){L4Smf4hB*aNNj1f1g3kp;;r(Fh24eWfoS7||$;)7IH@GZdjLuu1qFQnR0KgJnTCp(fFGwJNP3CGz&5UYa6R ztr>mOr9Wyy9us9i-RTE9xicr)N;xPt8d>|^L zGr))JXlmx#U|Jt#vrCyQd%lqoaqrp<+JIC zdop8i;!>qz^K#g*^(#PJs64#NfX8x$ea>u3I?2{5&OegmIhMbR9ns;ULDRxC9Q}B- z+;FA@#8}n=B)?g=FwXm6^fdvlYu``6M6jB1Y3?|$>@wBMK5 zn#ZC167+R)ie@*hm0d}g+|7&l0z(*!%y;^sXVrN3M|a^*?arLH?}H`sn3X~#`f&02 zn`l0A(O@;BE@87(us{z-gNze%lo83XJ49Q!xl`RMQ}%(^t0ocb^{6ynxe?g6Pz<={ zP;q_dO*|M4K)9cw;$kkD8o1Abt_?e-aOk%}d*D%ZNHm5C^8z}pCn4Kaa7u%B<@-<= zMz7W^^p*jIbbxou_?`AG@V zNl)Ls&W>q&`4RDnTxw84g~H+Oiv2&Wplt=i?=^kTLbIH)1b_I6R7Y0+zI%!-tR#B{ z6v=LxGBPm)veY8BZ@@X0Po`gQoqnluI@SGGa}%GbhGej&STs2QWAcD$O}?k;yn zn?mGcm4{WsT!GS*ej40zbX4|r)bZ{yR4LO`o<3WCE@US^o*~x}X#CLE**>5+kqCy>&m*IIdu}(7z43**EB#JLu zBZf5!>#BVXa1+wi*IJd@o#?*Bv}=ATRwPqtdXuc$M#mf!7Zxk#;;8c1PCki`HG?E5 zWeE*AIP;Jav0)q>*{v)tGNrEF;(Vb~dL|gD3G5Wan82Ivpa-qMp}Z#QGy&(XWOzGkCXX8lJzUo&=3kKLS^ zg>0Ez;pzA{tw0yK?ox1|d+pLk(}C!P0cv1XakjV0f{|MYp5Xo4%8q4CU7NA9`h`hJ zmm_JdlN~~8CMso1Sm2Ad9THob5d>6bRRjLr-!lCtQ#R{JSZPG)7&MdVzvz{O$=XpM z?(`DYADn6pAHKzBzvdJtE;0+u8FLC8Qua+PW2GMGx(}hE6w^$rka|NJsIS3MkfM->v5T}b3b>1yqI)`{!5Z|iZ2(QDUB zMSIraXL3wM%Y~k01Gn%Jv_p=qA@j z#)=H#kDr+|yQ@)DP7hrOu^<=bP$McN9QyikiqJvvLmt3FkAO1Vk09oSAl%S>>$$Ta z(e(71{m?@%X^=2WsQK;^n!efY-il>@ltA_me2dXdr%RHJ4UE`+4K0I0=Lyl2uG=3r z|D%zz^tpJH8SGC5D~AN}_v*{eRxVH4+k&c6Vw5D^Y{KQtABTq45wl;~!D zGOy}QL6H%!=d|s}7I*i{-YFxdDg@CuI-I$N=6{F}hOcBCA3s6Gglmiw#+`(}`pvu| z;pZ?}C7h#sJYSZ;o;5n31(~h2Q~;LjZX_=UsGUy+j?bCN*7Km^9AFXsrZrEn(&L2m zvU`s~!?sg~^}yNPOerI%e1OVRA}V3PCgCP|0T@GF^k^?EAG79FW!HA)j!QYItX8B% z3PkHeMT4QCvWL^PQu=#C&t~{Wh7&k7k_M#3S4V<53%PQ2RdZ|or11KW!v$vews(51 zUWwk0KU;$jYa2jzFFavcVcb%3VeoIYaa2Aw{!}l;l$6_q#k3d>XQ+$zjw43KrSv1x z6qtM$=d>6#wA6~!`KEKS=Y-6fx`aH7pB!r%MgLQ({^Ed6TGwo9eAxrOuInh#1YpAy_MfkWb|9W%N-&s_xg4)n$YudCagsN*}{ zs?Kf#tJVF7Ua0^|rJ%2AthI#EQBNe@&l(o6aNXm3Fjb}+v*-`DP&7sKqJ;+$=Go^G zRjp1}eWJn;f?vrQF{UEhq4cLgio}dj@i&+&6hH*DScvPQE?DAq;a&Id_d-jvTDcNq-p&MG#-fj^|P5D`@3LtkIq4|E6r+|^Tt+P zyHwoWyMHJzr3f9Qb0Fiw$`upNx2S9s$vG62vC@)yr45AN@TM%*{CUjX^zrY;Rz}5s zc!O6W4{F*42of6^IP;X>b@kGMQ5%B%Q65jWeDt%!tKB*mp%cGWJdmPzp?2{zCC0&; zY~A8Nq9^mpj+FkF&vOu#O2>CwTFBQHAlEcJp+5p^w?Ma}jOva_u86y-xRBF|jA}6* zWmH6S-gflOz_-g-XeZH!_xmA(?)Nycva+hdB$k`gbpy3xUKWaH;mn2~Cg`{6j3roy zi-d_3*#cz+&uMa?XKUw9Xh8T1&Y@&(~)4{;_|u3D1A5#VSsaqRZ=6rs|XPf6{tFK@fAPS zcw5|r?FVVXw4x=W`@)qaz)K(TVWp)}Ay8WyV;7}XiOVYG%G4C&bz0zNq*AAP-L^~1 zuR|dTt_fyI52xiI*FhEJ6h5_YQ2_ew)aEc3FTKEW7Aplya;VK#gO(;pLo3n$qe^Vr zd#+D@c^_D%WOTy((|QL#MvbxS+NZs9*;UFosTu$*piOv}h9zVq4LvJkQZ6g{t*_A{ zF@s{M-kQdU-V*Te@Epd=zaPq=juDCJ&-OZBV$k0;^g8RyG3yei8<{g# z!d*1au$7|XZ$|m$QmGRX1X#{U_+8U#pmZyZZ70cHewb~QgLb%B&9C|wTfzneyfMP( z0@01GwKr^MUTAT)B5U6q&qo%S*in0K}-SLZ#RokTz5j)OOx& z3&qZ>5B6E#IeBq*R;gr92oQuFZ(glBPYn6+ZSpnU;!^M_w0+-2oI5yPlm|VNjUMZh zSa+^Y74fJAe`!N=Qo2qVJW=jjFp5NIv7nqtEWQRT1;wOCA2P?UXa}7JLA+Z$LW62R zE@dCbCQ(QOqI-b4?EWFY`^GCA$ZgNb-f&N|<^w?uzuX%*Y~w~0(&MeG*i`&3IX*5^ z*ZdSZB|A3890%dd!X%({hK$UWTi`2ZO{3~>v4i!by)y*ZCoKT{M?DwmP7+%@qK{o9 zaauLCBBlLgN5{qe$5#UbhrccQ50{Gv4&#~_SuhIA^w&TKjgMgR{-ZcI#-l#vqQjnx zjKGhAc5KS~T_A3@w96%{Xfi%BH#+ z$qG!#8B2*+y){#YzCYg)J4U4?syeffprMB*nNmzku=Ooz8*#5?4gKzH#PBdUj+gkP zP)J|j$ye-P=Ap2clw@stuef036Ni9Z>Am6m)#RDNI7jp;Txv~~kC;hECs&-JDmPo6 zBlo*dCCwn6n5uTzQ6xdd6E&I0%#Mn}28~v`UqwHR+;|OKM_QL3?-^YVmnKfSkzQJE zVwWw3?k6%nd`^)Jd_0iibko1eohs9bK`zxjVCFoKSZVU#lz6wU*zKaJ&`uqQ5uVjyMF@B%fE9Mw@@=$I}t!wwApfjy>45?YYFGS!KBq#7>9 z$sg8o^>S1?XV?A;m4Q9%C073SODo05*CPaje@M_qP@FK{ZQaA-Ap@LI)qbnn%Ne~O z)!^}TJLiTUJ_79$4Ei`K=zKNA*a{_;U)UJ`M+|ju_i+QcZ9cmb15jG~u8iVCZ&R*4 zKk9ET=f{F;^Q8v6p|Y}{1W@H^ywonrv-liW^Xd$)(Wn zxY-t=q7kG~kf%#Da|W)nn$(coeqH8`_QsM$NvD{FTu+Vj0r&!U@(lFLPK}l#RkH-P9-S?tf z^+rVtjA>?SWs8hB>m8KnUcSnfC1aiL-{4L$oE~0V=7W|Bl11j(`1eHtxt<7F-XQ$8PhWWmp ztkm}*XCbGVNE#c243cnG7jacl-IyJ3wCjrsCvBDWj>)EKD%y@8Ber&Kt_BhoIUZ+B ze9E0c&*dy6eD1s;s8gZp%sRk0uV(T|G@;1sdIrQ^uUNSx8&z2!(fCJ_W61ZpNw&## zfY4kbrtXXY>B_pMkXxDB&i#}pa_MBQWlI^=ttR9*!;W0Wy#W1%xmk)3?vjhGE7hX% z()|3Z>NZ-jas9kBF?0pe^p{q&x(SYo6x^B_fy{5Fyl8DzHH*%Hd`GQXz)4~^V1-S! zkNf}#+Gf{+R5Po6HHQ1QbO1jfAe0i-2Y|PjbX@kuEFmv}v&-$01%0q~sAeG1&FPX_ z;qI)Oa)Y?6l*}{bXR0?B8%80NP8eG=&q4$Lt(L**WR}*}Ce9@gA}DnDR$0^kI+Gv?EgAp;<2cTY_^tVDHtOk1jiH z``!`-yayG|k%d7(dHPM~j`W0BZxf8XObT9JUVSyY_qFjTFOII8ia;Ximp_GlTg{JU zE5_A`&~Kr)|4Vk@VRP8f>`tewqOyvWfmTvq#7jg`CwcF3Qw~Rhvv79^!qg7a(L4~1 zBfBn%IT|+J)2&z5*V--e4uMc9pX^Pbt<2vZoPu`*X&kYM!(Tb#`$eY^-iva&9Db3K zTzw2wk(SzhPLKPVM;7{3?5=xG%P7mXIcD=42@Mk-m56q5duA^;t{X4d!2QJ+>X!J@ zk+CC7+VZoOE(8?!*Kt|-F{*fGxK%9nWG-+PRlkwJgm+6JjVch%49gPH6STV>;&k9> z+%O>1>4Hq)g3EqP0>7op6F#VYe=-S{%RweFpcfe9MhZqn3p<*v?alw`v?^FxlzQSi zk6}wqQjFLIRQj?(`j9=HGsX5Cim9_XoI4CF_{hdPUIry37qM||W059%=`0G*HEq$R zKePD)^Z-vvzemIJk-4a{vEmDb!#UA(3Iwy5`Y8?C z1;#_OBim?ci?96RhCZMfSFzV^O$Z~g`DdmnGb*#;E!sRFEi8-``s+6SDaZHCZi$?| zOvzBG!+o*6#;nqa*44Vsps&&-F5SOAk(no%DcqdO_`P@MVn3XDSG9s)rM|IB^4^=J z(gJ{osxd$;pQc>4MZb7T!9nRjEuJ}Wc{jue+O+$Gv%6IOZyAzJWkWKS`1SK_Q-<3v z)F`b%c@=>bNQZ0}uUxa`d02BvSV89n>1s&*Q2TypM`r|Dn|6@4T){u*2F*+@_`gqj zP%d%*k2aF-5&5=?DTWZfyJnQbO+6L2cbbsW+H8M}`pwOzWRdLK8C2Ay-iFXhO*L1n z_?c&e`+;}P6_bniN=M8VTwBWSY>*P2#kcQbGJP}|$jxiUw{^bIA?*5vXdJ~0)G&Sr zjZ;&`E14*r#Bh}l+?u|NIpaO@&h`*4pE(9IhUamSMjaGW%h;SX{6AEERa9Nuwk$5e z-JM`TgS$Hf*Wd(qcXtU3g1fs1ch?ZyCAhmgyqRFK82`YO zezu;Lw_;Q(E>bO#LuFBD>SEK=kFo8oED35niio9g4dLRxN;X})9OZK6APil${T@>P z+fsKfBhnnXHz$yJI>;`1A>6KbuX6|$xnVU2pQy%zr1LnJbI9TW2Z@d;sbPUyWl@xBcIVA7qQ@>l=CMM7`sSL-+uhw_s)IHc<)7tD0VZayR-w#N=3T&~i#*Sgsd{FJ*3QzEK zk*U*5ov$ErTapE`O+3n~s^b2c&0K4A=ZYP$IMFbd#5{yDFA{HbJ^`>Fb*O}-DFB|> z3F>hXZY@+X(inc9guLgZyQiC!x)(x`I*`7%FQXfba+B(iclmcC*C^bOdZa*)w8WXb zPIU7su0iI4k5NnOu+2Rn*Fa6e2!j>*!9%_?M=nWXv)lf$o|Z8+rkkN@H891dWx#$V zp}or^*Ah1EMm~L+L{0a42ox$6YnLW*9U%ulq9w(2&2Hf=!$u z_^|bdyQM{|wdR;VKSc%;CyJfVzZ(9r(bY_{j1y?38TZK()%(<47xhXGq5Wk}1obQ> zb}5*xi0IHc%?yW$;X-5}Lx8m<>}qBh^B)*`vZda83y1%`mLsn2MC+c0e-qY8I6nLVK&-i+Hx-Q2kx z*>=%}(-rloMf%~lJG=_p8e=y8;Uf?s_~acC*B1#+xk`Bo$uW0kXFBKs)YgHgYEL=4B|W4V)W+cI@HqMnSeYkd=s9-@Y3+7uLA0HryJ-_x86 zKQ<=GV|0qzSB>($r0Ab`ZDLnwePmMK6iosZF^aw=j!HD+VMPT$D`r}vw`YcUDPl`w zVv=2KW)%pKHKTE;Y0aY@!*f#nY8a8xRsEXSuN8h!B1lyPkoU5hS`3Z$?AQH%Drt4x zN_EngtM`NRLc*l;BN3tO;i)IG#?-}glPLpgv~0?E5m7&j(5X#UjJJ8oKXtKB3m1g$ z2_?F)d+y#gId5!IQwUg^S67wA3?-QAvpPy%_2n=82x0@gY*<65slaXFN|Dw)9byUg zgWg4CGl$paUL1+jC7b7m3vPlvYNfaybS6HOiLz-wkeu%yXg%4n4j$sir#<%dwa_o8 z{vikqV-W*Bgb^A}*rSjNG@3nd1SbQ6+Du@k9pFTS9M31W^Q|v{xmbkYm;sOsHK)?- z)TS9V0ivaT7GSeV&jHYnf!N)K^H+f6Q|2>)A}ex=>2PaTlquA<6=%C z%VtHG>1N`sUhXAU`ZAv|!fDs9xro+`p3TaXfoZ18D7*fZ&P4FHJ(D7Cw0j*KE~X7q zfpN0g9$6Hp+ln2}y^rvXnSGt)-gorb#jAcey3R^PAAPbeIIqqQp-B;~E}u}oJql#s zP{S=N`B}ogBI)!QTta+1@OEAE4A`c0CcxlwFt&NEz^I#7U6wMqUA$^37rf)F6x5P? z6?os)&o7G<8!NXMTa=b5{0yh<5iI!z>9ir8D>64X`=d)So`9+i<+E)}%MZnZl(JED zdK^Ex-YmM$Xsj^@#p4aqopgy2sFT)S;w-z3-@m4(6wf2(6#z;jlStiBFuf+;97|VLqI3-S_!>~ zVO0&v6(7~MdU1nf&gd1CjVh{CskL%-$4h7o*QOlOsA+@QL=|0>(P#|`d~$wXbNxkR zRO$PuY*c2LR{zkU2*s~QdKs~ZbwA#k8bkn zBb{8V-5y@zioX~(i!9=W`ehtBu}FANK~8eaLh(bDyKgsTJk(NJGTZ|~Ck|^@I!Oy* zn4pxo06AS0?TgIqnRdYN@MlNvt;U_G*7;s@_<(dxuJli9!g)A_s$ncee*W zyEliSkLErBOHe2cHeRu}fz|1EidR9$)x}4S_)gM7?AC$eev)Rrq8H-A)EUr7)W8h6 zGp_2Gfdq+-NPiH07Y;h5N%zGi_Ig<7+6-2yeJB54O9sS%?s&E!Nk7nWjh(R?t_OK~ z{}myw5}f?C8@TfwX-M#o(O@T*R8;iecfI>8`M!sjeBMBHo?_m0GAY2O_VUxmA^Q~e z@h$;3F&d+g>sVn*S1zuwG#&@)$@+j59d-w-IQy2wc;i^%a6v)iU6wOYjiKl~w$vs# z*Sa8i%R@*>A8(hxBd+jibrPDtvNM0qZKfLKM*sEZUf*NPDCuIP6jv#<6$YIYL%J3; zsS7$Pr+iXoLUSaXpX2QNNiXg$H$HZ40wb>njffG4%Zm&C@mH27wKg^{-qar(Y9bIZ zVkGD8gX+cSRoEZU!bEAwP$GYPYY<|+IImdk5kEmt*+Jm1V3gR#h?Di17HgxxgLG#QO@)i%spI6rovIy5+r7n(Unk^ZQ-ta9QoR*7wXS+|{)Y5oUH+4GPg! zXX`NunQv)10$PiiN#N+pLt|kW?IA3%8#W1^2 zZ+F@9^A+-oDjL)Rqp)@A{tnmN*LGD zxW9gnY{JbSEn`DffOS>(@xwt%CGJ;o$0>{oE``*@iCPw{s7NPI6txU~eZ{ z0|q~I`{NfitU#pwZW^4u-3S|99g6>uq)7gd%A^6>kI?iJtd`T)!o{mUpY^H@(=5aEpyVNu;9)@=4aRY3 z{S&@VRxbr+P(frT@BjPK1YT^DyyO0z5h0yf(VV37J?_Mx)OZ0z`z63jPl-Fnd|qq! zVCCWEbvUkUD%w1VJ0+pXizIdTge7+I*V70s=a(omQJIk4%HIYnCc*B_3Z9-S$+i_0 zg>*ezjqrgC5I}g6JE+T@kiuO=tFSm=LVcw@ed@gFa)y!;{T1qxAX4^SWnD`0SDZ_I zX6;R;GR#DE1#ixRhHH!(iOFkl1Ieu0>pbBe2kcFx`4_f$64MUBbLdau#{5~c4p5FI2FyLfMEIFY)IL|2C1q(@3VEd z6e`qRz*$H*&-`$Uq=ptFa@$>7hRaWn&?uTmteAk)JIi9Yh%DJ|=FY`Hd z6o}Y>ns5h&p?k*|S>%gwN(N{IR}DW4z2zxx5)S|6NwUxIl4W^50LhMC=y%!gb`+S? za#&&*e}C|b$o>lhV}fX)kJ@+zZRSNW1^ttO5flcvc8&JNQrRdSZNS2HB#AvJ$GNr< zbpVeH*KUFev*}n0+ZLM1^Zh3!aa7oX{H{iVePbqDsTFWSg67xjQ{1mv9YYjRz>kum zqJL{EPlaYJ#N6CmxJ3S98=Ujl;o^*$P&V}6*9&p={9Dg8-yHa%q~E2OpG>~5_LDw7 zvQ!~W{;9vDsEX=$Opl+!;vR*YWi9oiFf+{c+OABI4f(WHmOkeyB_Q7lJBw;)!Ln>$ z6sg>T0$f0W(0@nNKoV)KEjWkizM+Ygkerm;kq;TOZC>Y#t7Hk*0~QfZrISn)J))_S z<|*`Zf`b3N=suB2OOJ!IJCD?WbUcqt%3C%PM2TAU=g;@w4QNmhl;1oFi?vf^ebBh6 z68FLERQ z{c*3N(Xd8l9K^GB^9T6iYEl`LCjM}zt7!E%MeGnx%Y@geJ<;Pka zu^J zT8(-DNV2}w7N=*w;T&W6p^O-QADA1hNwePU@660fGw%Wte!_xBf;~Qpen(AD76*Qe z;cQ+)M;y!zDdlo5UPZYk{XA*R7M3lIFRhmFYw|v#TE(m>$5D`<`G;@aZ>A(2nT9m! z!Dm#Fn?gO?4<)S^Cv(lM&Vx_6A}`FR<)q_S%<(9%E{$WPO%~{|$fl;m)F+{MpAbn0 z(aJ}jc0%PO3h=>{QYp~>G0T(ZyJr1-(_HQb~1^xA#YMu9ZRJ)VmUIYyTJUL zg~csVVQAqOSSud~p`wX?>1{=og=lwj@b1+$T^#Q*(H_!JWTL>B7+ZTND`j_876V@z z@-!IK27XFH&)+)>OW>)7AEBijrCRC9$!XC|LmqtevNDp&o7@cN<{8_Yije&L8esf< zO7Sz%!kQS8>{+a2z>%{R{ew@bytG;wxk6o*5189%h>{!owuk3`v@3qj3nT_H{uYt! ze^aEnRm>m}V;1Ty?5UDmzF#?ifqc8!@7ml6WH#O1B^CY^w17azedMo%%WlH9ICZdi z!G}%callgkf{zf}#uJ>L1itXa;J9~gvE3d?X9$u$et-8A0+kK1BBKAYY0y>jqt=i6^*e31((105J>-PD zB9)HT5e9Jf_xIz2QdT&S@ID6@eSWei8A^%aCh~eh6!Tu~GSURr;r;3G$PWrifRw7eF!5-2Utb7i{5)wZozlJybwsPe^aR9;^O9eI&x==Trt_g!ojmROmKNSX!r zcP4D*Bf}fEa2tvlD=l&$_|rnkGN+Qo>jpQT=2m{q#2JReh0}rwH_uoLQXI)KL1K=v z+Bj??xagLhdl)))c`(rBwO$Zib(PNUqYcB{ZqE-3SlB$|1(zdCjmnV2SV{#?*nws# zVoUcD^5kPesNmYnG0O0hqh;i-g;>bq#V#fiKy2&_{DhFx^v9Kx*nI;nLpv6f-@6pv zwt5}6UmHk8R}AX87gwvQ6<6GLQ<0{h zz3%5v_ituqzYe5A;mw=idDDHYlxy38zX9VK;L z{N)&JOIF!6-O^Kf!>5XBMx4nbY8cU1ew-dUh;JGiP@mLo#Az@U#rpq%swE-5*&-X& za^3SnA+FJmR6ERC#Og+$@K_)Jl%`iD*OtfJfzm9FqSR?-tnAxyu^%%Z4%~)-CkS65 z&Vx_R`~jctC6>p<6y8U@vpG5=xsj17YG^NCW=A7o9<)!Qk@Wp|f*|O<%^tDS=S|al zcjtqvu;+$HoISs4(*DL6ULlvGG8&co4tWOF2FZmcU%>h60SDjR!8TW00czN;DcPQT z`EInX_igsB>74k#{OLh&sq5rT*}K0XUj4M-*LZT6hkO06i*gwNSA3OmVTAf#<< zgHe66-=WL0J?r-(k*ET!MWQr}i~;|(=gG^47qdgdl>$jG%k$oEWM6M?1!3i$&?+Wb z_2*zx%J9qhIOYaZmcikTaAJyjdD2FYk8ar;G%63xZy|$n1)@~90_D;p(RP`CgQ-{k z3HCRk)pvwZHm=FS9!H`;kEmlsZPkSL9oy0~4Tb;p4J{T}BCRHq)ZqzuFydxd$_}g# z_RgOWKq1`1(Ii>l9s26*yN3zoNC*bUAg>&ba>bi(W*t`_TBaVZM*3JB+>xUavXc3t zW?^4EX${$yq>KI$oh+iW1n%E4&VU_r8()S-!;kNDPCs zCx~LYD2&~gb(=5Ng!bkiKSW*`455P|#3<&gyTQl3;0u01KQcVm9Try(Vs|4|V$mkofc~$d3LNKm#!ni4Xs@(Lub|N6D#&TYNc`oR8U&3M zIE}B!qc89_KFF>;AIcm_$MlZsx=U$ml9bo+LUrO z;@^3j7h9;Eu21&F$=TX}wzcW|#D|hM>m-wno)-DO!7wzR#NPbaZGcq_kqT2$LegtO zpgFVj@joZFvbOF=;(SM}?qG(^CQ^@<)}j{(d|QeM>LoLjzop+twDM!U1p{-3N zR%CG-9}J^fC_#mYp12$tlwm@ynD0-ao{=t!A(9`<=7iLTjdB^x@fP)P`c}n%r*u^j z5qG1NaBG3%f@!y*KWww|IxKX#866gVaitGzn%LO&=m>>hf#wQj7Z%a8Trj?J`9pQF zaW4nCp*4HXLaa!3>0qXY)#=cOa`BeIdGR=%TQUYm-dkHv%u6EsD~j1;*>28y%h? zD?J(zl~#Mwij5Y@g8k znJrQE|0T2m1;_F#A9yHQe;*11xbl)Y4IMR-!q=AE(x1pkCLRR-sYb@RWsRd=F`ws- zc{^rNXpZY)wS36r0pV`Ia;xbg2RCVMPp^I?acqmdHO}p=e9f4U%znW!9--S&jTNe9 zZ36~Mr%urR9%qjOpPt*7qL7L#wDAvl%!FbCv50zuE-f55*-YL2|eK znVo;!Izk*P^&yUpFAJYhQ?XD0^l7hB*vW@Le9F-S2M~mtfc<#j8P;(}#)OleQu@R#` ztqHm4U?t_?wi84nnSu5Nu}_R`bE|vG(EC16srm3lsrjvr!hYL>!r>vPZE zuB%Zt`&A~oYlp`Be-{3NkzQBXBzb>;CH8&TT#Es`|Hc=j&d$yoOn#41)lS=$O@Hte z_qCRvso<`>Y6M^Z$rAzg;Qu_u8^JlP)EKbCGJ?Xg3>h@}Qp4uvBLB4Iap(jjVB1|O z(^d)`rw3IEMDTjS$MW+Dl#8>%6$~T2a7UT(&8Q-9;V#)y{yS|vwZTebWl44QQ0G{02!fK9)?>ur!{s)M&y(|58aqO9hT{i7pUUTb zoxa`=T#6nABqLy{si~ntZB_fdmY-iAjee>Y)91dORq?6rDlLWg*#tCBR~=`5fc6Mg zfGBT@2AS_d=!x*jnOwVp7xwKaEzE)n7>bgG8EkR#W+ zz8H};gZ?~nV?|wEkWZgBi}TbAs8|0D4gM9jp4z;NuW&| zZPKGTcQ>0GH#tUQlzZ>W?vG&bu&)%;&pG>i-M8*(WyQy~!9%lEl0J~|k%GU+$9q{P zx}vLnj!iKe-8NQ#hh)cxk1&{y5;w(jc()@diLdTUC;w((0U?@mW<4xoN zoF3u8`n-4aW4dBTM;u7 z2zGX(173J|Z0yEIkNqlu z--m6z(um|Exd`w`vuBFD2@)IybZ9k6&9x zliz5%7R+HMq$EuE@$0-2$Li!sZs`$0+Q6*R5wDDo9rLV4dhLfpVTjc+t+3pxPP|&p zK4V{mqL|iQ}g6 zN(D8rMY?~+#>EA6y}mlEUaVysMH_G5^m;=f`m;?3ALo$@BFrG;#^kkIW0P>}C3^At zQgTpHsC!&^(aQkuF(M>V1A}IxIjeRWk0FelyEh_#6@~*p-^ya722Y#)l3Ma+()pk8 z#yeMM7q_}@i4{v;WQp%(-8YA@8^Av9GcfH7MQR2#(heuJLqoN(h5*aPa>yv9!WT6YM4@PjHzU!-UR6ueZtRo_wbMsYbL=pbf!47c@XFx%H%I~I0>&Hfi1FkO?YDOn)0*|Kk2iPpLc4f`EeOsm)RgcfPgOLgaFd6CrZbpl5zhgTT-Ln@cF- zswzocLo#2d=gQ_sSkC-{yy+#Iwx9U{ieiG;dJZWkwX+ z8y>e?Qfec@h8<*q%j{A*!3OpViasiYuiQ*qQ#H7%$`-pHkwmG~QeR@%uVG1!m~PZF zQSFAfDNV**m2826JI=P_)b`~pOK@|z0&(nvS>L5U)NvHCMADw2%&uYzmHWF+G7K-F zMTrq5l6W-b0tG7QV~wp17KdF$5bW7~^RMkw@bf0OO%fOR6h14Mx5o?pi0Ca+swwIa#z8xHC7UAkEs6%1IA(fWVa7VkX#YB9f~ zp})KwmAAo@`})k)H=;^rwvV%lNmF%}{5ISQyi!?JWkn^~2Zf#Gvu?14e>)^4rBJcn z!Rg&&v@tmFB6v`SUu9*u-D>b~p!k8W7cn_MMXNg=`7e!}oJvS_jf7-KWp2_20npPk z3>z6s!$k?>LNf55c3oXvthr4C zef7oK`RZ_OU9Dy`=TcDEs=dG#JVArYEwdaeZL2br_0q-Xu?z<&Y$l!H+2J)|LEvU0 z2S9-lO{?Fb6Hev7ECy~gvnTgw(h4%_zp74iOUOa@O;ig1g9=sv(yF}z;u5FFB zY`NX1#!>7@GG5xbCD%lR@M?rtK)#Fjz=R0pbRN+HJG&{Yq7(0$U zD}4RP#)&wf@Vn!ArcR`;!Ib%);5YVuLS7&lN0*jJ}q-wTjj2@ zhYm$k7}GH>M5~1=Q9fcx%i#6*xBCa+53J#P=;~OV>F+=i!XY558DTnHUtZt8;9zHY zS^HrVkf9&U?Q;6QxXYz}Hff?@VnTuR_ieeQ2~!w}7N4D-p{DlnmE@k{peT_#+Z!E_D$w6JjC1dIGrhm;3#wEF_5bb& z+2+bVLi*Zhb6!2Q=&W;izdR%_EJBH%doKM}X=h{ey67bGe{1tvtbbfw{a%ZkRs~jy zJx8DckZl)}37V1`nhl}J@V7a%Wft9LKClM#E(9?0ulzCgqdREBi_K_j=S==9lWSW@rNYayx{sG-(@oou%+ac$2}B-g4QJeN7jOUaNGT zps#bJXyv7)(APK&LkIS_hBG_9pqS&_3Q`1E5WR?Lw^*<1h7XOvmA!eh0U7$_fD{xW zBvB>{y{<-B*^}$p{lTTF7aV?fktX4LiIqQ#C+3^?xg9VeUf*z`M0daqr5n5IboxF9 z4EK_favK_uVr3{9`DD*@0XGaH-7(U~$FAk~n!=1y4)D51&zSh$-$A$E}=H&XAEK^5tc~$ENz@)+K z)AS=nCgzJP=*PulKFKTG1m88{9VG(;!;7v5VB6SEv#K(TyNeY?&OMiTirING9*ph* zX5QZ?{NApcF9!)6_A}kKfD*k&z#|YN9)nRRV zUA51t)x+w(Kp0@RO7bl~c+Lhfa68f>^Ps|A*!5g&_IU^%-fuLn*yf*S2`4TJ@9zNa z2Eanq3~83(03#8N+tanlMn^}-4A{D!7$~ZFpBwD!{UDHf z`Dhn32#lt*bl&R!-I&_)5pOf^w=R!cSDr#_OI8vMAU+y0LB=9U&M z^)EV2A$Q7xP+-eFF0it%Y$4FXeW&JOzrfE(`p&A?#^<%3H8wtzM&>| z8?i15u5LmQ;0aqAIN%|pM2?vkc>VQFvsQ2fCNp3|2M5Rq-O`^LxzVmo8 zB5e=+5J}MPFLeWEA)IQv)}uwIMLlEP_6EMQaBy!GL4noB3FuD@C?Ld{IE!uqKrrR(g% zLLaO%+WJD{B=iO-$Wr-SNN^JR@@8A(S>K=1FkQmV`>rng*6GCD3ue?K>8%sVds+aS zvSQV3-G~0pdyh4{NB`{#r;|3Psw&3MO)5pF!;}5(_1te8$e{ih5Nmh$7pzSi0{Pv} zeQ*nf=Q2kVk70r@0niyAWs@ie#L=%027`bv!%^V7ggR?IW_+^UKZiiSDw0nRJqOUX zW}PV#<^lJusQlTvTi3JhIw$DlY%wke$h5Er@m)y;_ZcoT{$b)V{VUW$D6;Fg#kRrW z-caj_Ccd^4c5z`pr+y`#6!@LNjR7E|ZBJ*!I}MtpP2j7D2EP-8;jx--c&$GZzr(~& z5=4k8w@OOWQ0+f5`CcMq08R)%;ZuO?(kh(0{-&pTU`obQETzcE#5ANNNhIz^Fw%v> z6DBDBPk$Cm9Q#_`75Fw)#` z`?SnagU+XUB>Qqi9FU;X&tWGvbnJwBa3a*(sHCBW^2-SgmlM0CI5YZW+l+$El`Xo0 zzD8z`3(z@nFL8q*&T`gwvmq9&?@vjUPvl3oW?&&2^cC40937eN=Nsauu(3s7iaIV{ z9xRUdg4iBd1i$6}2$903-gIXc^!AgL|CD5B101y{-cXCTi$~4wjk$Q`3<#Wl=TxgM z`$ROfv=VM^IB-6Kd_MX}7~h816gJhD3@JwRv&?xM zV$XwI0ezuY;C{%lz!kx_OHe&w0#Mcn?`im6Z)ViOCiFt`tVcSwlSy7SU{55JE=l5t zuFvKk58O5YQ`pUEcwWh@f~bGNgx~3MgGDpR43{h92A{0gI*fn?5dwOXw9w-qXJ=1f zzP{8(HjfJ(g20DPq5&WokkOBG9q<9)tfkI(PRo<*U>CfSIw<(qF_9RfTaKV*+E$dk z5eY$15iz0f-SJB9P=NRXmGUJv0rWcrTu6K=O%`zXb^Qr@&0cI@xa;*U*4-QED-C;t z;WK^;H2_pM?Ej8ar{5)Z(u~ zk)C@wmDwDD1W|cjQxMLb*D&ZV?8C@maaJwn7Um-6SCl(h&U_+?+XhfU^gLA0q`hE3 z1C7f)yUe>BKi;WOI*}jRSYc>1cl6!d4n*;Z!r!9MFq&@c+d{sq(Y9n?F75etRc^Z- zF5^~XklIRmO=lTW76LY_JT4sABD(Cx$dkl3^_afb`#;~yt2^lq`KADJXazpVYHx3k z96zeJaS6P%-KtxjlG(SHt8?+0>b9IfOfh;Lh~$*}lHM8a->K_C`6cc+gt6dkBD(rePKoS{^NZu|F8?_&iBHn-hsp6mAv3|0v?CbQkm^A1V?We1j{pJo{*90 zyp6oRQ(K%vz%g9=05EU{D5AZ*;$<`6F`iG%{%zO8L7|31H`#C1*^O_>0GhVs-7Kmx z$Jd@Ok1HD~G+nQE2~lmZqr@gp_HnD3yXRw)j}yuOtwrJFd5wrP*W!Y5tny2m zQNRAYj^n` z_Xav;ICZxeU-7pvP_=~_b^07zqw6jsI0V|#;NQ>R4Ag&~#IwMI;h})1Ut10)`n^WU z=SUmRE`x%=({|}C`{@hcvGdFIIf~I;tt2&tMxp>{xzTb6X5(~Z;+H5Tx*B6I)w+q2 z<5)@@E~l+C2<(vxhG3TIM@ED%+2uV@!EZkjE6EWLRNTStzyZkTPA|$S|3SF5TmJbR zHuCewO*O1`*bj&I0Z`&}WkYmCIN!7{%Xbd=fTlfGAokiiw#I(5m!BNs2i&3L!!tl$ zMgs;FWF13Nck97&K_B#YXD^0913FNQ<24}_!wKw zu_dZ*6V+j>Q$EX1G*Q@ezUd|rC*&7fMnoo;0v5?Id?5)_s!`crlk!{Fl>&z7>`AO=X*uAC@^I#6*MIK&Y=wz~ zliT(wkC$`v7M&s8J7oVlmS9|x4d2)-z%YePQaRW~2WPVvBExa?QnSTqHwSZb#KQ>y zH+|G?-$M(cGJwP>SNt=i_b(JjDs$@&6^%A^G^#2pkb*$l>DbkHa$=1rMssKP@^EPZ z9}7TK@JkDXSRjJ7rUuoEfO{f%_gC_{x>Vku@GZSHCm>?}bXC+T#}QB?JG~FS1wS#y zTWMnr%{W`5P+sc%(;698AN+e99et=<#`pne4oih~G~S}EE4yURKd~@%lIclRx&CzK zt1HM5ET+rQu8A3H(iez4Aot#57B&K8s{vK(l0J3&VrAaB4Ki=P2CwhB;X$8sY0p6WFzv04B#J|9LHR6L zwO)gjbht4~A!#H@9*}6W1_$n+FIHVvTMish#9E(kY8q-0ez`W1r`a2(!fb$pgQ>Yf zyjNNUa~g5IxldGI{lXj#yTOA;Yg<9@m2BjBqx&Klsk>7(<4a66V?8fa%`M~dnXwk8}7 zM1>Z z28c(|Dyot$M?=^`5}2I_RJjd8%a-Ym$*sjV>Jx?{^OlRBveX5e^%oQndMs?9ff3v; zF$j-BvWJcyLLyp1LxtjqVA&wG2tVq>g^Kv6Yn`3lP_!sV9h!;hdjSv~4Bv{d_Y6n> zf^Be}4{V-Yd&qnniBMl=s@kW{ve06w;7y??>k>ZSK zDGeNMVYl^tB@c0&Z>6SOgnQf4m!X*A<=cxKgP`i2@I}Da4IhLSX>uGD6zFMMWCY}- z5yBrPXJin*0H|~bfvLUQp^UO@5_&E$5aMC?aX)+CH|Vve>+P25Y+^4N_^cj5=m`?` zr`-PqunsxOy1J*IJnsQ)agEhbJ_N1IkB)!m0 zN>gVBXTP49{Y4|S0Ecw4+7j<&2PnX^yB6#^A5A0i&Qy4YfL>G|k-5Z-QT+1ht+L3; z-;?b9%&n^r861hl~hq26%;8|Bx|wyjM~z|O^9Q;;=2CCS9I_UHzAtCjM73q7ObWWHSqh?|9T^9|TT)JSpL|OiZRUVXXUMW_Vnm!=m8~OLlODFr04vNz{QPPNa&k zQQo?FlPEHGaHh53Lk~*x`J6B;QU6q>vv8tb@q=8~jbt=gg!vBrCE(&+?fo+S8UR@R zvz|J9^Kj=|oc4{})!A5xX8a?!#BsXT%(#QATpno8UX5G?-B&`RDV0zzsUIVq;BGe zrUJ6F>+qd~mKGjxACwFu7d~O>DJ(jUN9v!jvj9<9ZLSP3_tB0=;7@Pek`W&_g$*?e` z-+%_V8^swpHkS4uN}O2}n0Gv9yiwfd&hFy_dNUr+ZE4XJcp6@#Ls+qLtHTeawy(3Z zsv3C8BpXwZV!?8dz##Ukb%|N-#PBGDk~#+<&iBylGGrw($qKs_Hpi7vrjHUcvbScU ztzkL%eOc081m`fKp@V{FOc(1lKT<;{0Tuw(oOIlKd=%J`|6z^kxA=ASnfU9(IpA)! z>$Nx!Ohq%Q{ZffmL$9i_uzBhx*d2f&6PKDE5!Z)ce-s_(UR4Xp#OX}B1D=G??b_nn z4VFgXKwn}ZDsL7|p#lGkb<(KKy|xtk`=iIh+^OKP1Fv^jS{ykx=$wb@sPhSnxFMx2 z<3vX@DdH(KG=ZE7z6+24n$T&CzCy1dbYQdxPB-O?q<_I55RePa^#aV;dT_?1!(|3i zSd16R#K`?ghJ~fa+xVdeBBuv@9X+2mfq+Ld>WMcIU*Ar-zlQ@GTv!B zF~k<=SE0CeAXpzIDvMI)hk5Y_|7>gxT^Fn&M-@aK@q%e?g_XTzAZP>O@4nlBJ-U_i z(}09VFFj;kA)*`?0CvbC5x}c%ox=;Z-_C#ir<4ohehYt_1z3*h_v!Bjr}FHV3HQ1- zL45eMS+JP5iAsNF2(-#3<{(XqO3ux1*MwEGRi)sv5kGbLuLb2~g{(B?dX12~;+vY7 zZ6+8aORDLz8bv_Ksi0x8ga0;${l;kIK#;kn%f}R*;84D-I6qKb;%{sSIS>LTp9$rp zi8r=tKQX+`rKX596tJ=!`jA&>{<`*B@_uPIc{lylo~PCDTd*eE#|j~^V-DLOEKuGw z$3`m5*choP5eLK&F*`cST>VBwn)+g6lpHQxYxnpa4fcF}K7}pyfF%0IrjO|EMWyhf zD12akej5s0@4eS(hcVr?M7t>uC)Xu{N_+Qwq!g@>CcC0jfBy75mko|mfy(2%`y zw8=qWp2UKC7*!X>NO`RI-YP~8P7?cU)1>5Z(`5gfeW9CaCqWiLy#8%eqf_KEyfZTc zxTvP)?UmcyNR##n6r-gNB^9Yh`Gx;>R^T?kSvMJK0vxrAM{$BRKr9Q0K+Ib6q$Qoo zAZMC6OO@@AdllMZ<7T1#)5^pduSkC!L&Uqt@6inoyD<~oFX5;-&GK51;l34dAuB73 z0P`UVo8fBPw;%y*y=!WgWE$lry@NW1%Ypn=J-#l{7v&&h-+iO8kwaBYElxJeIG^^j z>vFxtzl;7*ZwrR?TKs-oocm6u3tLdW+nKiPB!7A>yWk#15+Q={mY6% z&4&Py{S8?0bb|UW3fP;DU6L&X)&yIDdW5}Bs@zk3Y@zfiS zXEbMvI-p%5vX-c4HaGGMHG zBsIqrufNaLdi7JezNw+dg;2hx&_nPDk{f%|o>9-^(FBp>>FK_@P2)wv4juFKvE$qa z#W#mbxU7K_dU(aIEAuJ*v2*f$jCJCIfqkU@AF-3KeA)q+1Yh*xJF;s zyu9Pt8HR8FT1>({ zOs$X=?L&laT-tP;4-y#dJ^af(c|ZQrFCxI?N^7gHpY1w!_J3_U0WQ|qYSVy^@Dd0; zKOe6A+C;9K<$Wdn=KGffQy5ow9G~$Rz3iq;nf@*zN#ugb*mm;S`}phnR>{2r%0H?@ z%0Qq;0Pt+lfAFmNQcaAqRD;72!J#?#&zMHmq)wI5jmJb6*qf)(@hPv+pT52La<}{w z7-r)5nk|MqneKGG)LFgbBDgR{UpaDj6Lru!}(&Jvj_Y3Ye8U_t*(NRA_Q99j)-*SYNEq zo&{VqE_iHsS~$hsA8)qzJ&?J_&AOE8Tur>=<_|TvbRkn3|1=cWJP#L!tEgT$oV^XF zVuc=t^^}m@Fyx_ia6AWjhu$>tEtF{Dec5+=k-Leg@qDBj^tS zjNvL{xg;_>xE_%GEW_WcS3kl-H00Z2#uoGBzNM+hlbKZ@qNlY~g@hodaB|VE~ zOUBBdJ#2`TNtt=RVE+HH!r0Z!Ds;gX2=yAf-@((g+>{SzFvp2^xl8hXXj^emZ704( z;SY?V&XyRGb((yAgAK1-fody4c9s2<{M}xUIFElO(?!1K^JlP6u_sI;LC;dt z%wF*uY>3#LzgMksQ}OJ#Il{++ib=T)=~tyH%$zAY9d#$zB2QF6lJ?X6-?F8eI*D}^ z1jFvS1Y&HeJHKn}cZQ67)PhSBqBk`ja4KgxzjblHY-o7c_eZbydWC~{{O7vThB^9z|CzFX%%S%~0t z`sg1}k!@V`p$xsrFyr>u4iT?VgFB9AaKB|FM#eg=It-mUfd8<(p?1uIpY3BKqEY5t zOYh{H*oMnN1I5m6VP#AP^8w<3b33KOKm6E>Z3I!F{tDj7LxQe7;@W6?P!jj zVVnS$#u=VS{$S3-Cw=kFkYrM)QPrJ&yN;l~=QC@L(>Cf|dyiv!DJ~}+z!rkQK_Su<2ABScmQe08 zMumy#eGs&*`Sy*cV%7sZ>Khe#BF*v)_GxLTUS7nlZ_niIXSTRnTJ0J8T=rgBUgZl$ zmwgI(mR{_QE`t|cnGEh#r3fG!o4)h+P6!3QI;853|3}$7hIJOUeWTg7Jz;9HZM%t+ zZQD(DO_OcAY0_ldHYVHNt6R_gyvN3|zjX9@{nxs#^Zaok;7xx!dY0uqK6T;=AJKH4Fb=fm$Ur{Z5aLp z#Hg=}4;-K8URORIr2WQOlUX2X@ul5fvC=GQNY~n8{e3xWYaO7o5GJbnCC`fex~AN6 zlbx-rv|Pe)guOSZ3c`@7jLrp>>BS!ZMuwi-gUoy0r%ry15EdO5|<}_#JvJUk9JsLi3nL^0VcOhQ}~_PUKn* zh(@Ep=mN$`44Z-R7*EbD@EJx8l*$T%!0GASl;?*jN_K}OaTn|N2xUoKr?j! z?@PuFdo*Oa!hVPKAw#IOU2A!Z3By4Fqi9Z{rmxM=%(1z9{b_$@IezXRg&NS_R(2@^9vb>RIi$y1N zlNlV=_DDol-5zF?7h;^TL; z$XyZGbmTPVnsCe08grPYyOFBC=aKSl_kEzFkWlC!IoU7DKqJXljU-3`XBU@KY+Ix< zHy|-^n(NmF_t!x&RVAgZV}Whox9e;pw>T0s1Sl6O93D%z0YKOcC!mP%soC@%d-hs( z(JhC+=}_4A0$_S#$fceG-FfA02NhI1fkvTL2OwdMlB}YwT zt~HYl(bPq%Z^8+P=c^{W+yhcqg+50_Ms9_cm3@8~=+Kv{l64e1lcU~_dwRUZURzsRH6|l5b=a^c@Ccmz1*&Beym`p3UYnoB}UsW~girbnp_4o-=zy#}g!mjtdi9 zbsG$%9zU^%9w+n`{Dknscb0gkJDNdmTS{i6tccF0sT%3fPC7dO)NJT-65{zdGKkN^ zC&Bf45hv(>9D@yn$!3&Q_uWVX-nAycA@v7^k)LyC%Ea{@YB{L!UQy(zWOJh~n(6@p;_NcHLL)sqy>xu3dV0 zrY6_E|24-i<38S6M3qfrB#M{h(9L9le&)f@d@5w{35PK0xGZJ$)52Ch{HJDnQc?s& zPT)>;e?Z`k2|(bRJK*9d4sM@YZusL4=W(bD{IX!5!T0v|+yPO_<#r^)_IG%CL28Wd ztX%;89cZ*!xoc55e|tW^UptQ{xcR{GH*)GMW+-DIJ3eI0ueS?3fZCxK7`ql}S~@;b z10S{|1fEb~TfCel8|wef3I;~M&FKNYa*_A^t-@n})}MJH>~tsHbL`!7NrB9M!r!t3 zb!xts5x~?ZKhfD+!c`Q`x0t_dpU*PHau^;z+pdj}%A}Yv{Lo}6P7_gwxV4K!Z7ZJzkhD`_^ z7_Sugu$m=^!&ehxg!-GN7<;%*(wqq*z7{?x^DERGf6X1B5KrU%WrO{NQ0Xh1YhGhB zd?qS>OwaY{Q_-a|E~yG^tmHhCoG-Ce`tP0Bvc!WZm->_?+}KW69of&gk?7(?Axs`7 zjI%CXn?@Pg$pePpQ=FE(H5@)u3`&J8e~%51D4tL zf_Ndd5~4{oDn%riAKG(xltbZeM6O{du)}P#?l*|nkSsu80U#+?sRbPbOA+fC7EJi30#ZmnkI#brWP@GhK$`T$zrP8cM#)Z zmJTIV{3>Wj*8Igw9JgXRmvQhB23c+5m}`I_cr`V&dvGimU%{S`oCTtL^Ylue$99;% zc3r~ob7VZP-~>Pl&$7AIqAV@r2A;ZuOpKrt`s(~1pn{a|5f&*xlsQ@;Kcm!7#maNV z;Oe3qCE!P-isr>2zY6(&krS5Rri;zR`!G?50 zg{{>IZyuB<6LIO!KvC`hK#5Ud{RQGZ9_#%8Ueuunkz;dG1i8?OQVz84eQnWKCmG;K z*^3miW4Z=`GF8}a1qilR*Z=X)`AA6lV*E>lSojIhS0IY*6>M41a)Y-Eq6pJ_jv~!28IHVAPtcZz=ab1n`;x?OQMggCv*to?2 z`T2=Tyic!?pedI2fKrf{D$cDtj(EgbR0QpGAZR~J0vH(=)wgAGUh_;|Jx4z_)TC_u zhzH3YV<9IAFTR#-R8P#zaNFIWIwq@L=TYkH?`?|o1PgNF%~u`9h&9wq1qC3LUn*bt z$23=#AO>9Ga0eydm>e{lQdlj}T+b@DIh$T#9Tk)s2*de4}scis!$W3diSro{rC8JtujWazuG8VR@% zEd(d5Yz8AzlF9a?S$2c45&AqqHtOI-2}#}z4vI_pDbeV zIgor8TU=;$=!zzo3L|d;nN5+)RPE|Mq-2ESE9VF9Ekq)C*W@} zNCx#7%UU$3Oh&kW8-_}LXI)U{m^FO??$dFKgtksy=PnRvdvr-i+zwc;yn!Ko|GKC; z4#yjaDpuNMSzGL$pfM2qH;`>GN%}OQTXwGZu9BGua8*?;N@c^P7*Zy%JKJesmXWaJJHDPL49NY%a2g zs7D>3&LZ^yT#ANj(A)?vv*@uS6%Y9K}<1ZrP%n z@#GTQ%U0EEHWaj6YCvrML=v{$`1dy##gQw%XJ zm&KaohzhBs`2}l|&u5ZCbCR8;rng4wwNR&=9Za07SBj$>5z=ouyYM@{Bmv_BX6{fT zFW!g;@I?6=q)Kt*5O2kkfL4vf82GMnTbnP%WD){DFR-+HtroR$qm4}YI^d-9Nko;4 z&)nR~McbA2%DPNssz)L=(WEU_E!A0=5^}uhG`F4yXjt_xKJvwhDF2rJV=?8WOR@2j zzDC1@Hs^Nl6vk=i{GHYr_T$<3p1aWiS)1xFgee1D^N9#UogOS!aji)_D+!f?#J&L< zk1)IWh57-{d0Svi4ARM$y1Ik&tpi^NfimIW?>HN?sBODfcyR>|S%?@Vp(J7xKdjX8 zebA-=P^F_-8yc1cJhM)q3*fcW`; z6z@VFe$c3^xwC#rcP<^S$MGOTV72cZpRmekX=xwp^EdW^9`djl;!FVw&MQR1*^Ya7 zy$7%l=47!E5x6{f{&{))kf(l{S+DpwSpFaUoKpX9e$H1BF)^-|)_jcy<4U5g-y?_n zo`d7#Tkwa7h+q6IEFCJBnei|1PmNM*k80AHBto2VPT7yf_UI^ zF(O9h8|yTMEjly|v`nH{bj{!4(b+8ed#H|F{vH41?lfT7ruPdilE(6v0s1_Ltq7}e z4}3E)v|n9kYG)QpRE+J?7V+;mn3PQx+-QOF&!v*CwH=Kx55VumIu)Q8fDgqd$ ze6imQLW#p^ylWrL1fFs4OHLxmpVK#9DD{F)B?h^+c_?EWGYL|i<25AyFbbeR*7@ot zJqe!OUzWfAV=;@wW+>8aCdl+TYu?`m0COrTCZ2(gn?ioAf7 znT9QgAwT_IkM$Y=wXl?Z!41@a!@rld?<9hc@0G8m|HNvN+rg(*F_fu!_RXVdZXdxx za%?h+smp}KKB?AQ-kv&wPqD%G(pz+=MQ6F_pJWb1=lq>ur%egIvWJae?$NhFHZ61c z)F+Spg#BwEk3zq!yHG1LIrwarf|nvQ?q=fF|I8e0^NVRfeCUu$WYYdloV~U)m7#gG zOCHm7NR=qUnk$4{JeIXpW%qQ8i@Obgrq?>b#(MCm>nojVRamS>RaVX|F6jpLpJ6$# zC_&J{d#KT`hCswnXNIu!6GvWCW&|aOPjnXKO~GgiiTSgE4D<)VCQ{SUbw)C@g>^yc zRQLib(#440Tirwza|G%x)GG9MkZV=vJAo!T-+``*Yb3Bi(!v!v|Pfsm6;bXYOhTi6MBUPuU(Jwb+@q~kCL z{Y9P^SZ0kj7m=hxer^M1V56n!LLAw+bo=!-kEYG<@cfst+_&KAfDrvD0T_?BON+A% z1FY->2LiVZUWJ9Hfi8uqV~v)A1Cn3JC3@6(@tz4!STZ;54!#qRc;HFCoD&cM zPkGbP6s^aV()2PBYHKr!qSSpmaBoe(m&OVCp8-qgAoeX5h;=A@`b#zWp24@}@BDS{ zYrURF8snj*bVXq)fOZhbDeV!?ebxC^Zg+TF$lnXvtWLj89HxauveV+9!uy7cn@WwZ z7SY&9&xr(UM2y`rd_>Cg(vm^FUJ4|nj`2)lod)f2pJVUr$_II6GTY$?JyO&Lu{X} zNs6Km*^qB33EX$l%Ym4JgcAEw&)aFlR*lo2oGWfH9dR_8j-@rMdCWSU0BO+x()J3< z1T&2O^m4 zURiGh(D@mC+RiOJ>SEMz($FlaM-DW9Wi@6L6H+Lss{(qD8|4jE!0%YoJ{cQ@qZyNy z1|^!m>kpC3ef}`Qh=Y)0Jct6se~=mQ&;X`U;am$6V@MPyG(NI*={EIW%(#D~jiH#C z8ucNN7&5~QxPr?rN?_85Baf`4?IZ^vBO^fT%`R9cS$;T_t|l`biB6%OiyAcq2lq#x z^3>#+kSDQM_v96^J>)pBVa+oP!(KSk>0~^3Ai__Vy>) zEUv2sK2@1E3~-}38EO|(mxDkfr1~>`GE%}Iim+GXmv)R`v^k*AW;`s&a$p|E@j{Tt z@xVdC;|A^V`a6VZQbz*EIXE;HaJpDhRuy7!YjX~a9TC`i-th~~zj67!IX^OI9)h2o)_^*d z1H_{pS3o>%wV$(*Rfjoy9LdjvR(`jHGY_=#0AU_LV+-Lbm@yu(1qs4oJu z38-^l{L@mLdwuo+g8%~kkNE}tU(4_Rx2sr9rt-gC#ayfAFt0ua%?Mw<5H2>A!UYJD z>_Ku(fM0ccg!Sjy6G))KsVbcWj;K}h}?i`5tFM(pVRaw zvHxW-CJfZ~!O>x1YK-q)?>U@!a;|Jzya!BTMNpjWbGMTE&Rb3FEhp4zJEtYltOgQp zgpJN$4djkZ>8vzEKhd#P^>=60mRMjWu~&8tC*5kSwSeMlaTv%vyILQocC^&v-L6F+ zg#C8Xw(JhS_Qf#%Yb4r4fF3!pol`fIqUyjnP@JXeLBKC?_|@C@%HrWFz-*gVWuhzB zWJWPVC#pgaOS@?h)-<2B7@|3sP6NuO{&@?87vzS7V0>ps^V>J@6gA6BB}`pH{KP~f zMnh4^b@x*jZ#;YFJ*wV1IxNsoMEw5RvY8^e9!;~%K5RAs($Z~v{F`oWX-O6zr|tZT zW#S27$41Y0r{1U@0FC@W0W91O#Pv2SjSjI=GpsW_F&3i|*wdxOxq3hd9w_(tpNNM0 zH8)})8sm7Sj}!RZ__2-`s*81h_$&z=4K%7lN}`F!a&E)i1nwu^KtQUYpBv4BzK#KO{i_Trq4gsKC zY9HzT@|5-i6H}|!9YbACpi($<+Smjnp|_qpFyVO^r>6@#dVm=J!+)s(nEGtnF2$E6 zxRZQ+?_KwI3vN#m_J8`0`U12`UP}ueAbMl;VJO;D{ABR>u}^&DEX>Z%ZgxQv_ZCPc zJQ-}<>HKFId(!-u3A<}Re{)C4O%nSPpN`*D5-do~FYq37p5pn<=!N40Xqj~N?2WHS zJgjp_QMNpDdNaSJerK1Bl!7lq6GLoHfBnXRd}>SrmWDa6+Q^sVTQYpz;gOXLo4Zk3 zRn^x8o&EiM!}(Ly>tF22sVT^iU_nMMu4ea>?AYzxj(1#z*JD&)plEMf8KMF?Gt?@* zoYC!Bxx#9_AB^-5R=v^S@L+%Lo{If&Q;(u1FWS^N%+c|2t;@0a&qTz5hfDNDM4Z?G zO?`^maaX=G+*ErT*RTB+mMdY4OtZflbDLZ7nK(j967ypghHu>DfBz zO7&u!zhURpw&M0J1*h;klf~dVFy1=v`b@3mb?L**&GC2!MJxf9@N|bgz)nxLoT}{o zHQxdpmkSWNbo2sxwNNuXcOv1ZxS1cl3K8a&Wo3p_1EsCQ^INVs|;!&Mu{MWdnS$ydXb@1P7{H7Kc!w7j? zC-2E%6-=n~qzJ|l!Vyw|rnX@B-s2_X4?D2IgW%xAW zsg|{!mBa{FQvSS68Rj-$q!Hz(K9-hGyiHBJDCR-QZNX#vGCF<30S%``S6;rLd_?Q{ zE&E15h6{<_lXO$X|0{gTQ@_f|0E@TvGEUH%#P(Y zc~|PJw*v!O_<7oZM^OjyH6tJhMDv+y9u6o<%*f&6Y9aVy0(MkS zA(mUo>F9sx<2sr9V(}Vu2AQPs7TS!!80Ro5`dee+JH?sY$_6eC9(xcVnUeCvg(J`g zjp~O%h_{=kV#1N}unY>5-zT!VgFrRuD&OCCGS#3*h#QzmfOBu_n8&&pe)B>c)(X|v z8sgLqEryM7mUVLM9)y7e-Vl(^#ma{VRA?ejNZ^#f(IGHZ4~g@&W5xqC^pHPbPHaFeBmeSm!Vl!N`-PeAf@fG=k zDqc(gZR6`@ygdy)D@T+DUCewVR!UN0MrfWi;Y?2};_-#_sjzcSq)wE}x8vHawP=mk z4z`s0R*$Az_}@G5W`3CJx|edR*X4Q!T|YP`+4_a&xyYy3*@8M=?hRfpj*jgoV(t1O ztJ}jMRm*D%T*#AHZ9A`?qBWLS)HrOqi;@Tz=hdP^B+83MT;~~*!1zmcOD<$zkK;n7~0za?5 z#s%+1*eB~=bP8K;du{BK;UI}~3!IbLQCMSxqd13>L0S`~hQ@l-IcK}L*xexM36gw=1E5lf9aX5Fx(C0RKo;t)tVvLo^$%~brKM7_(*A2XD50;k9=5_O5Qot;|ms>_!HWa z_Jx|46CK;fh578M3-#d^*=+l%T7IC!fa{_N!{7#ShVgHN6m`jH=)QYRK2k;#Jd3{J zAP`XVm>53z#~xvsnSAl$oTK(-K_S=cOiR{D#^ExccvA*CGsbCPqQ5jhrc;U>xu=%A z$jEUECu$HkWV-?^Ms*C)q2RM@&#umeV2=!3c+_8ZR$gDI$=Qn^ z#U!!dJYHe&gk*`iL3bj>$&G_2G0*$G=45JXToKW-5M}rp8^mex_xAE9m*?RYOb43r z{K_L@BkT{!exmjR2Gg*)anHxvt)*NKZQ6LY)s?g-3uR5-}4&3EiSzzj_wrKP$y z2u2YfM#X5l%DId2*YIi2i19fo(4m*3c(Z0gq4QJyKyDsc?Ai~zHl1MP7DJrJLTO{H z5PhgG##qLrUgk)`&A5!R;8myHG0pzayRnEyy}?FG-b)Y-Q7ji5X4%~n?Y@L(k5dY@ zyO|y^i=C5s27^Px;%cTaT{)1kUjilJVi9D9obj7dd06AL4dEpJ!>Rej?OmU@dd*BHgBZ%aL=aZJCrswCkiP9y1yC7$O5au z)Ezsp0?-M2kh=0X{w#&o$OWm3sEcD^jf!fM)eu6@I_?hVu}7n4j$~$fX+Xts*aNkf zr|X)b{kxfVT-B}4(2Nqx?<~-0yA*ViL4bjcSp#E%C+>J55D4`H`~?JoAB_Uh7yKw{ z*Zu2`*-m2u29e8G>`#a*E=oUif>;K|`yaNa+6XgiZQB}c_>*R<1EJOVs^gQBBP9#c zJ-I(uPlOU9Ke7Di zob2d{oE`m%ev}cl_bWQECE)NPUpBfZ!@c+yV|NN)RfgtRy-tFka^Rfn` zrat1nC!8iMjniUSM!+bdBsb@R+DK-vHEg7+bSmScP)Oa|(h8l8h-%%867jDPk%q6}pYAJh(_ddlziRCrx>2 z4!1dYmoru3qnBUjb=(r}Q`b|aHfw4dzGc-FYnhLk#YYm8cYkghfn=s>Y4-GEB$6KQ zag{XhL}jeUj1AT|hD#AbjtYafW6Do~`Z`HL{BlvGhN9+en7=bil}*aLUk-N(u^SxW@Reqtq(;X2VkyC) z7DtfL2?3Qn^7Ff7AxUakj;r|>wm_>eb;=ViLh}_=TnyH!VI0JjIhMNu#1ei-I=%j6 z$FVORfZQ==yGY=yAfYyC9OugAzQp8O+|e- zAF7q5)sSiZ+B2r5QRiD0Yhog1hSQtH=u2IuMYT`x6r-Ones~Dn$$CuxB>5gx{9-3E ziBf!y?I6fe$b7u4>h_~+_MozQLF2-Fj1<$;WNpRm2;z`!!uC*X*58HX>@G|*q7fD3 zjh;M6r|`ZV3R+qlGt<;Daz13tkeFO$L0n}Byzia*``Gj|cu=u-itWjWG&YhvbZkHM zDq5*_pet=AFr7Oi_5KX))a&Jpj2M0QFOKND*7X;!lHm#SB!r!VaTnvsWLd& zMy7`wA_`w13s^;qJ#RYrYCCQ^gos4POCxrI~O zwYDZ!qv?7U#-aB>ZC^V}tDlv8@Evavfz3vcJ9DQeww(kkHh7DCG4~g#YGR#EFgJ|i zFqC7G@-S4wH|sxKt!K5+ZUUSMs;8RMkN(CYXc$P~{UB$}L@i{|wN7}PB}rYkfu&_~ zsNv$nLMElO(TN%nkc`Je?t4-p!zu3|$JJ zU${wzLV78;op9|IRKzVuV|HGxDFm2Q7gx#(r74^tBjn-hh#GtRI_^;Bzj!x6Q#2@@wrAYk+l2_c=GpK}c@6t|Mifpr80 znaj6Ur^xqhM(rARkxhL?>u7zlrsq0^A!>g%{X71Iuo0`M6isgjmFi zET?4E0IGtQb3)D1G}0!V1CHjK@!Een8gP6fWKw~K9NUmg)gm8(tD~2I% z@1E#_pUrF*bF>F7cATkjIgbaS#(N&lM1u33ecaDsY+o<7$o%2X?H*rC+nL0Hr==(+ z_QR%eDdX?oy0Zfa*tA^e|+j|ZtM1c+zw_`;S(){5%tIz1Opo>0iRvUPQNZR+`iEjg!Q6y&Vd z3!P2q9Qu=&$2IO6*uQx_5tB1qSp8aF=ybgT9rnr zqF&}Z@9}8P|H=qH9lPU)Gog*mX3QFoL0b3Tk^9fd|M6i~q;`wr1BpruKLl?1-;c$h zjWrr5yg{hg*qSaSQ{u#XcIS`~srS2HrWNHY$u{R>K|l?BHcIWDWPFyu>&|WJ4nyc{ zY(J%sB&XdE2jtdu>8YwlkWkmP{lcBNmL|Z%MuE+tpztwvm? zf9Q6VS+^p3Gl>C_{XGZ2B(D39t3Mvre{M~~F;&}x!{-;VtK#$ccZ&+$Q_w?72>EAI z_nVBoVNG&&`|nc77nvCB_FBST73bF8xHmgb)1XTOA+hHA7BkF_&Ah|NJp+!L$z^3^ zFsx%=#;7rKae{Qp7Dq52y#oNU(Q$i-s-~_o?2t}hq%)7Q^|OqpCU)~30p;YzVHoS# z^w{2T(LM;;3CZL#lyj-*kEy_8%~k_Wa3};4v}o6J((qa@vE{7+pAc*Q6bGsbi5`pN zdT*VcHHOvk!hM1sOf%wvYXv?@nQOxzn2E0LSqd=2Tka@9I<7QB0xN;3#=Y}Yh@E40k-zgNh8MUU(ae?sNH&TQCQ)|_5iUOUBA zP^;Z1YGpBcl7&54@cy4?CJX~h8vjy!e(V?fG7+;55!c`B@K};@?cYXljwh|}?NLMmY1%4OE#|F6r!_*mM|3(P+(W-iCLwLk3o%GBIM;&Y zV~rmKR3FYo@#XXphRma;z(ecSYvK_q@nw0lKoG=_r>8>V4>}c@IEPAnB$&=BqDwig zDTuMnE{m-gw%T@(cl)I}wt+~y9K}%;RaH4UED4%#C_D`LlTZi-twl6GkxClFh|`#G z$O?~lh8vOfF#_MaPuTI9pN7rW%N}{J9_zhpz3Kf=gJi`MjN!Oiu5goz)qfyf{j_Pg z6d%=N%uY(e3PQ1B|F3s$q(=H}M*Y?+{{5EBpMoxGzd_w|k8Iq9GhLyj)Vwy->Sw)e z#e#^Bs_*FwbA*A<%bW6hC=Br@f9smHSRhL>P?Bz*@U!yKLwQLF1y*>S_hZ@Fg&d7_ z&4GvR{f|PS+QFJFL|NWLitm`3%chmxvF`4u6T0O;>$b8H$-Z%SaGAou32}8bK#$-Q zvrH2)L8-fo(S*@iMxTq}X!4{)<4dr39@w`ARVeGap@f6#%wjl!W>w=fYzg+uYbT?c z*@_NeNfEu>i)eel)oME*q4Hi%X3}XtBqFjTV5(A24E(H<)EOr}UHy9h^0U6Qkcr)! zLT9wL=1+Lh_};E_j4|{0rt|l}fio!`F+v>k2^Z!+7L0(83lt%-KaB8M%^>lx} zo9NIg4MXd92VI&IGM)xoz>v;s|JN(nEm4T!lh7ggHXHd8yABnn+nkc%j91)*U4FPN`%Jfx5j(JI$QG$V0eHVw3;4O%^!1t*DANrGPU<#4T zk(%wteXRe5I_33YWDfgs{2N2Ugqe+c0dcsYh@=i2anG%J zYw9#O&0ah_9J_l)y(7OJy=V4*hi9TkZDK_U?eyx>a7*C8j|latcpECc(Ym($;G(%m z&G~g%_UuBw1)-vp{L*sFKqxRgi75U0G4{PRw{;;H;k=>lQg>U8>{%!9k{14)+`1V$B%nDJBnUap3o){ksWJ3pOQx+V*}{##J29m9(wONCKNynR zAdi}C?N%RX&xY@NtqD;Sn#k3k;&N*(OI4rbr7*a<$+Rf$#RzMU|ETOIie|!a@n=s1 z4VPxGBpy?ckj?Sc=c{!mi0U_A^HCr)|E>)pxW)~R<2DK*o_&pe#iMq8;1%omwj|*& z-wW<>(Ed%M;er+|91d-$;1ui&?7k_6J~W&)Nz3Pz@gL(R-fN91vB|P#wOT@qvpaK; z=gj$gGAqrRsO5Pjk&X3CdV^D0x_uGjrfJK`)6+}RG7FB&*E;&0_eLiz$5r0!PLx6@ zB>(GPiJo_RjNDb&Ab+p#xoHGf4i-}yzkszcLtFMB-nzxec!msmVdN77)kVJL>vTiY z5U5a?%s!HVHs1K=w&uXf_Jur~0VIMskP=HlQEx-=+c%zIl1>#O>BJ^v~Y6teC-g&Y<+ujyMfvpVXS?I2{cIn7| zhF8f&7_$4u@Ahk_>g+jepAO`LQ~#3#*_~%Nj3lOEdJb;$Nquf^?r`c7$^I5_31rnH zjT=Fl6WmU7Ir{Xzdmq>JYmlm!=Tr8uRsZ;gHGu(F(WF30h9l6$XB?wJS7VL2wur{P z(_I@BsR<#9s&`+|g-&xg?wWx07I3^Jg9lG*PHVckQqVhG=bRqd8K{J!R$9l-AgzAl z-$+K|8$U-~6M@$D4$jw~fscDk&n%C%t(x=Gvb?%ttVtmFWg%m6c#@)q){O4Fp;gZ; zG0#J!Cwz|3%-NO3*Tc7ueNfLe??HT==4*dAJ@W%O-A2%xtwZa%e99A+jJnS%IGp*! z5pjkFm$xWhA@-zVvKa#+A}Ca{yt3G0|7+Y44zu5r0Ctfa-|DN5b;!7_0$3G!o+v`n zy@I*`!ma1X!u!^QJ}DbSEFpL2WAqzEfo<#IrR<|f{@KMveeix5$hR`#Cry>(rYr_UbJT4#T|i^qF_B_E;C%@s`ca@y_ox*X&Xv%7E5OGyR)8hWy zMa$kNgepQH47(PzjOj1WJ=_(Z&SY=7QPiT*mw6sL^rIN!2?@aQXBh zjE=?Ydj`LxHcbf;w7<2Vu(?vX;{L)E`3!AX<7PCuNeaZ%BYD3}N&IJe{J4-b$iXFf zDBcfOo<6?y>k}K0!$ffutlzvGb@s$$83?|}_&QjbL!Uc2bBoovTW(*8j<9>4M4yy= zrUpXT=D{NlX9RxBgnvIG62~u7VKZjNjp*|?rw|rnjzA=~IXKv&4OYjCU^eOC1+f_n z7NY2AJtLAA*q81%!_)A+$ENeNoSbMz%!l}|EQMydAm%kzkgEij!I zM^N*`tn(qs(uuwd{fj&7E4CvQ3}*2Y`;o&I?2>*jn|Uu=s~81jBfa2SRrHvxj{xIlHKRQPoYGQ_1-W2MwpAmBxk@UV9!OaT$t#22|uSn9dG^ zvTnTLM(Sxx+N#D#t`1yd3f^loXIf~bf3vXA5#ml30nOSs7=7n$W$zDK$m_lqoPu!m znE%Q;G#@xnzdtyJD`1R(8U7QIG#aV>+kk(gmzX75AXUUraS`Ca_u^{3#-R{#sH{~%WHrnP z)vC0Hp3nbGr2X#~j46ce^LzZ0?OUd0`ShvPwo$0)#`;=}APW-J%sc=vblhX+6%g*dFOlt6%nH5w zdhgF@e{+%y##6JeSmqTwD9bLwinSk?FK;?6aJC<`Gj6i@0ulMf6yOQ^oJ2Pb%%@gmCIT5cQ6c8f&Q8;t6I-nAQKRs!yBOkdCBS&q@<$E zusZv+??!>&V2td)M-wvb$6Dko?4fMW^!M8`aOF@~njmC}O>5ahU1CssO0#a!M02iB zF7stB`cA>i~{?CW-I*!lq<2ye#j zN~ZVg#39|gaWmpAP?M3Wyhl&gQt>yOZg6>Y^H`}e#-|u69gG=-Jf1T?Ug4B-+*>enU3|9ig z@N?-P({9S@{}*>(85U*t^@|`S(n@zX(jcj%f*>Uz0@5H2(lCQ`w}hm0NO#RhNQZQH zjO5VG%(>O)ec$JQzMSivkH?Ga@(YW5@3q%jzqR*Xd;RtyBDU*Y4UAe3S>>2oGrxOg z)vy;l7QHyl2yxrJxvN9qPv2vwprlkPbn!WChsmv1X&j;#)MA?P{S*|bK-v6Mh+-~I zXG%y*c|BV$F)1k_-Z3rg!G)e+e(rPm<$0BrI70}oendq1E$8&YIl+y66R$--|JLFe zd8tJiMm~gCZte;tBZHdD>h0iyxw3A?{&QE%IOEt~jwJ70D+G1J51!P#M-|8D`7rA} zqc#hkh>j$e$dqdx!-&g1B8K29>kPi@BW(cn#Y0ET_Bv2W)2qc;X`1+qeE1UH@!-f9 zEYgX?>9CORxa8SwBWD;rz8SWK<1c|@z>D6rP>D?~w|R3NRmrPI00$2t@YZ0Yq5?wk z@8C{gvxJC=N1p2W!f#+;;|$<*;8Vhv;4F+hfUwnh-<@A$(N+_Dcbk$hQ(Oh=l zRrUpC<0n^ERQAOwVFOaU$ zX%&#`&D++9y&4+mvpf+t;|g&JlZ)@}Cj402VC;{AZ;r`kLO8-R@L|N$E%CyXE5u)Q zIv1CA8?l4OhK-zw#J%p_bau0z!Ua_`PcI$Qfm;wf^+g6*o9>|YX|+MdHZEDFgIphx znZWaCVG9xN_Z9;TZ_J+Vr!&-3j_-R51|GSOM0(#3SD2^c-%^})Ez7DNJvRQhARS{6 zJasg$?7ngVT}qX7qcN3E7%oR;q_in6KW#dP>o~2Sfz6H+Vq#U@5<&4Cv-2Sz|e53`IMKAwp=^Hm40Y&sz@GP6dYF56mM9 z8rDPTg=as?e)*CVH?Y~c{4f{*pUPm2Hw|@!j{=?u-lyDSHYJo8k!8oHl<>;*r3O_r zV-_6_K)60XBh<*hH%B&>`Y_ctDZ_0xO&^{*sI6nv`PATytI3rmqJW!eI*B!&4X$rJ z+l*qjUwY-!r{gnM?Kh>uTF*#Ci?Xiu@$4u2b~<`)cA4qp3W;lqG+WU`Bco=tG`j^E zz9(kY=(WQ4KUu8!F^Su^k-%F|gdJKD{QLXXB_$Zn>t`a48(%|?YZfooZcm0`0AZC$ z!Yh%@W=e;ZvWDfg)gGGFW6tvT5#053aY~2ah<}4-s8p{JaGzs({S5vR?;nl#<@Ka=tOT6N;Zv6)Eq}*;Gy!9hN@Q;z-0SdSZJj;Vnrf&!&Zi z+B{}`vm_fM`bnJDEBa)(G4X2+;~;cfGYK*&$49x+nSgZj}tI3!)w{lJGKzX$M)EeG~!3fNgvf)$lJm8n=%_%$`DBy+KbJv{qC>Bk4!Q6 z9p4X$m@+AomcQ@I*;D~tqX$Q)e>aC-KjwuT^N&a%slZ1K&A%8^3F}t^9KTXvm zLu)oJiAwoS?;D5%(94|BL~#PcuMTbJYI9cS=yJkc6c&g>c4-_};0>!>8~^<4`$~_5 zV}Q~_&iOZdzI{|n4w=fz%|pXNYgc~vOgmH+(O!da*{CogGYS_Ij?VfVst}Fsw`O-< z{;l1LM_IOCL@j};U!g>G-!uMG^ z{|3gcm;gQuU<(OBT=XIzWqT9Le4&9{WC&SwW+l_i6dR}Gvk-wq&wq*Uj?GQm>s#TU znX29~WZx*?(P0rtTVducx*y$L6t4H=usuc?6qJ+z_oj~`yaeO5-z%`bJDfW2BzWWd*N?+`L)9(NjnWor%gt}XiG{WVQGc^veQV3 z#evae$BBVmJuyGqhn)~D{^}}!?)v#p<7yJ|N4bz$hLw(gukdVwpxjCS8)%va z{IC-AAN^wcbg2Jv8E}_|Cr}6-fi8oh*heJ$81WZ}_8Sa)mXWuV<&7J*!=h(Oc;aSi z=S#l&cw)a`=^q#3(!Hm6n|At@uX=E&k5|wxPHtUB4*Pm&1$-`bqs6u#s!GEd+^E~Q zsV_#%m!KA-kV<0SomKfqD;RN=)xPMoJlE-9kr5MXi^rM%DWvzlZ-08o{=`os+x0uN zuyx>4z0S7fhvRV*gS#7-<(qbsw?ygN-%^4R>lICVIRc{ay)Y{9;618pBu%>L(UW2EUBU9^wddt67DV_9-mK#V z5U?QZk?{Z%~~9q6Qn!?dghBh>Cv-`CYtS4VrYU|$t8w?1KJtsJz_ zt~Br3Z|#(_Iw9nttHJuTCS%JEmI=RflkQFgARuQNV0$0e7z5*s{F-*`gYu@97j`F~ zb#xt{%Jq_0kv-H)>OqkCca-jwgXvM-MEM$+!1@sRUfYf6hjqTCfsaRe&7HwD<}|uh zp*{L=?v99Qms7$X6r!hynSXD~nS8Wf(qF03PQc9((?GK8Lh~HWKBAzy(|~kpaf5#Y zP5ycKYZS5$A*(xN*7Y24v9IrI`fxd#Hd@zx@rcXr1AP|f`-_iS?;{JIYRgJxt!H}M z!^-C?fNty8xTJ{b*>uMa^*!iv=3eW#+cFh+xR{l?C!aL4Ckq6A?7rYEkU$Ie7cm4! zHPyh@JRfuE)rOn!^<%SU4F@H^>!U^ZNFrNz=?}c$^Sdvcur(|lp@<+)3=wXNWw+<} z;LR~k(7-Irpo>sZ#jGd8&3qxywTS$QUwA)9d|2K-L=fXakiS8>(EOya>{uHJMBu)F zl)cz#PE2wkD})$7{Y7)anYWVVfZ(cRqNeoN@=o#v{v+vMQnB@D z)w!hu7_r$;=3Z-Rc7FdP>+#{(MdJ3*wDs;>ytejRL3w$cUBhAkv8rek@Ju`YMS}gx z6j-V&0AFo$2{Usu+MC5?o;t?qPWoWI8NAT>3{#DXqI9b(LDdwAhGz_PZNDzq!kRbM z)6;t)LD+L5LAkbh;yJc0Xt2Nk(am*ElI`RQ^%;G(?ycJ+>{=Eq!MQ+h!5x_dM$emz3mF@G;6f%RJ5FF~`o)aEP)JsRotrh7(H4Sn|Ks z7)sj!>HD3py!vCKuTnZC>8luqF#`rXMfWGpuvrhvVU(i#8JpK}a6O}ofNN>G--Rat zz2A7@2t856y_ug5U7_j{M>CHyzuXeVNF7t*OFc;i-g{*2mbV1~%n=pue73czz_-PF z^*2kll?a82NnD1{C0`j*YoBEoK5DX!#@_uV>!K+zE}fzJRhKS#V4hChCW>z^IOFZS zs_vs1O(2yNaAY z<)dgX90RH2s5vi3*3?p)H_)~|3ePq>@jho-I~wJr<;!E~HWZI}Mv6*8@}RNoEFi~e zN{z+Z@bgwNyHVvXq-RX@<7-ie5Wat7bl@c+wm%90(gh%3_X?Cz1P66$X$6??VX-fC z3EqBBOqlZuoPLCjrYe0arJ@D3^j)8bIsdILU>`>FS_OIP!p1H6V1?7XVFaV{!Q4 zy3Jg$2MuID!LY?DhP0?Ll0{;}3tj!#Nq}Z7sL9B4h4Q8|<8JNf{B^`ESCa!Cr?ios z@+BXBGKcGCy=(bKhCJ=bUJmk!_;}YEy0VAE4(49-oz({$qF>)*h3BTYPZE2cX`>ZI zDqg+!B7Rlo87+C8cl_{wzyh$GQRyV(&$pIQr7@bzaNw{Jdz(hM_|y?7ieqt{isCjh z`Z)CsH{EQK^;uqcD+E7qG0i(~XGTJ= zuX^~Qn%Z6bzMFXBkxfh&*?(jrr^Npkm2O&OJa>K@U_$$*GYdf>UdF6GW3*@PF$+Y? zC$^-f41|UJ+Aqvq!#yOPHFFLuG(~va3|)BqLiF9bj=f6voRg=j98sro>OC6FXb5Ch z{-RXaa_BoURoS`k^Drjqt6Ydks8Ewb8sfW z1KoSMba#nUzu-x0-+V!s>4`8uxSbw<=Y2tGEB2A~4bp`Lhc;9BrbD&0$TCFPGZWXa z?L&-8wzb`U^;er=GT~_LN_+Y6Yu$L+4;U^o+T2gK`0i@V2fs9YF^!QXl|e+|{OjmK zPMYyb^Dq3BGV5lT9H4m)Giiyw5MP)k>^Pl#0N%1UBZs(2vEe)JVygNs#_Y_0-wt8! zj-(!n&*$F2K~KaqEH33Ei6N{|iZ3duW;FWAWzZbyjugn~q4mwAEN==B7-@}f1G_!+ zhI^6~W_S@I8#kqvt}X>I@QflDRi)zek*?w*3m{5v?lKkRhNekX<4H0#PfJO zL6^Do^VU9+i+;`9>LIq8lf^y(52a{i2B*fx6EkP@OmA!9H2W6mG>2Lq`}3mLs+>~) zou2)U)gZarDJ8_Xy>wwmAKFq@q_95|DuPP^seB6@ntVyToq&}o^E&c_S#|ryi zZD%{xc|=0famlX7+N@4r37I!?O$Om}Qm5j1#%}0!=0pQpVL>2Z%1yu0!}cKKTeelR z3V9kr!cVkbeopqR>p9jad>~KO%})8KJBN>>q@?K9!c0KVLM5v&7hiJFoYbfv}LS zO=rVBje9XMPawXJIPFu1J1j|lPR4gfczO_``{6yT+F|R%#W+0EDeX1GITsUr{RAVR zYSmQRJaWX67Z#wFm9DPfew8O2lHGSqa9+`GEazO?$`Q-y_eP-yzS`Pw@+i%fT zeC;2Aug008pYAzEU;Z$@y>bxYhc;!Pv1SgVsi~RnL})f$UB9?J4rC+~a84;JtE*!C z*&KrMdiLb%`TGjwk9#*KBR7T4h{qR|=ha?s9lo^ZSdxxS#<%mL$MtLGO{rE@<_DZd zQ$a|1a46N}LgjrSDdYW&36@Wc*Y{_gcDbKm{L9A!3GPDqFv^5{WB*o;R9sNU8mkX@ z`aKcCWi3W=mz=dqX`TCeZ&M=0h@!t(`~Jc;AsyW}xcJ#Ca52;Qm#x>t4T2)EC z9urx|Eh!YZcF~1i(vuP1io2-9#18YrK2X( zBXH}ay&1IEwkxc~vJSNUOk+*so#Roo6MX+9*gp6$i1_)ODcN%qMS>Z+crAJV1Qwcs zj2KA!HtB-O`Ypv<``bYD1ehu6t178>m=RZD4JXh5oNHwV3K^D%dVWeeCF99DWy6;| z<`8$NVSd}Pnp+l3u-2pYKRKBa7WDvP=en=Z;_{a9TLevzId%5KBvbBMx* z+8rI+5|uef;7UP1?<=oTrHz_bc-5)sqQ(9l>BqU9d%EALcR8t-`N+pP;K(Bao~!K3^3&~;F?mh-Kc&S7s2?=e7ob_|og{bGu@ zoOMm_Dm*y2i8eNiD(pD%G(86Qc~xgdY5U40*zGxpHFRR`fKV^3WMw0axM{aaMD(sT zjr`mdm%G7NL89>L;~P%cofieT^*kjG*jtRWA$bJ)`F39xBz2i|CB&GvsCHGweeN(S3Y(f7 zTvi5w6P8USy|={u&ngNhP4-DC>X27({ ze+EGX^mEKNtN49v%U*aFz$Xtrjt(J0uex;39l$-g$*&uSlzR$hW##y(1$x zWykmaNbu09f+mpZ>C&UfA<|gBZP^$%7hVyE{Lj=qp>S!_II&s9`ud~U(CIJIQX3Uc zBQWm&64a8Rkwv*GnePr>v&AUUQE*NNl3U04SvX#Z-Iik) zO8!67`~EoEcv3ne0hnIY9%~ANrrG!v)49b>*0>u&K)nv; z5!<1+gjYAz$Ll@1$g#i6v9{6Uas$|(98yGGCYYOIOp(jJ>t=uGZ1<=@#Xd&iOushI z^Nn4`^yShLXxL~CPI9$;5DQL>(V0QV{_`h(dV_y~RR_STr(op`HPTpRYlDXC#hLCV zxnHZ~#BbNHCT%Yhk1VGm?DTPzoG*^jErZ#z7`?9QrHE;s$!IFHXn!O)*zY%65Bj z*YNlY3GNOFzIj)Uk@N00jpc%r4QQDD%ZmPnIOy>o>Bbej-hX0|h`vm>T+OHbs#wYA z$9IJ;?-lht>~xd)w~tuBz6sL~ng6BIYrX>1#pNko`M>D*3J<>qQ_ zweN`@<(Tdvjpa`s>0ZFH-5PFvmuY)0OVR#(FZB3m5Fw8g1ZafM9b^hp-VeM;-cN4> z(Gb&`$GcV!gt(oXM|ju9LzlRr7nw-1zdl{QvhZ8z&-dz#hnE8-zHPR*CPd7?JRl;j zfL%rR!sDO_6NKBH&!4aO*^rq^oJzyC)K04Zn=Op&a*kUselvpr=B6 zQ`hor5#lAn@EB?!P5Vb~EK1L^Xu-Cxri4B4oelI5Xc^%^SmWw1aoqEBPJfY z$bzhUO#XLxsP%T7z%`O&_C{*U3c!AJ`LC?%QbXg{qY^CltT}jv3~10(Of@y6=Ou7)$5ud z>L%t>%q#8#G5d6IF?H-;)&BP1KaOGA?6+{zeKfarbM@uZY;^(6yj<334y1OhoQD}K z*G*L6J_Mb>Q~D$Io$uRqR?P_zk;72=?bPM!HB{`$$&4ir4D?4~AvSNtMC!r44o4t4 zgurof%LXUy9|iewevT=t>uI`+Kv?G>l{L}LVk&K)UJxy<+s>46ePoxmNR5~oFu}iL zJvs5V=|eUvLl|}ck)(!}AjMe0IY>&U{aeCso30T8mKS7_X=5oWAUG$8;KV$U#4Rz& zz4R)7e`rwscv^g;VT#A~KIh-@V*mbTIdb=?Z5y>(-ip(d9rvTE3FoqR*O`$g)as?t zwCxeyb;~WAsQw0Tob*9F`13ysLILmu?>g(`7zWsqw7+Xi9Io|Z{8bS?JIln{vwhE) z>9eXzsRY`ri}?+szcE-Q{k8}x#tDWX(|GAj$3kfKw+!uebuR9M1`b4-#4qM5lNR z?0=;_)}J+b$^e!_fI@CB`KF+Pe@82Nb(Hwq)R&R39>*F-1fLQ{P#%H2UGBVE*%Rh- z)$d5StuwXtVM36GhOCq1%NBV=gZKvR=K5o|XMeH%bcyylYy3Ei_->i#3cxvyx6@@H zk$NW{LNAZ*z^O*i#)Z@^+ZNl!yZ#&-g!8n|KThh$d56eFz-n)$Mv?NvKKI04+RT|! z!VJUv$^@&Ft>yK}87U`qt?HXc;-L~7)3-Q#{{U-fl+JY)@p0ib6oDmxZl=mJl0eOT zX&!@pz&E9PXb5RY4ym1fa|RrehX9#n17Hk)S0+0UNR|?%myz5x=w>_|`V+Dcp0lE< zF+VB5GQ94LW8(Buk&!o$0V4+JGBbF-zK4(JuNkdG{#8-bHYz{M=aFf+yi4ONM9^Q6y&D98II+^RNcm4digiGXFf@5?1ERqhj%<@i5uzDB zYVMM|@GzE)@yk4x`QLAWt{ii3*$*l$Q z0nI;T$*X=PFL*WgkT;Bc$#My0xg@zFmG}oCE76Ysndt9ya@6*{H2=|87L=D&fv31&A6EFZKv)lPzi|y9H@3Sp<$3W*QNC!{4a$^$Zwl?o2=}nuyOJB;g;a z>M=e=XXeSX)IX;t1@?7jxSyuk5MU!46?6PzHE>JTsTjKpFBGgxys#eaPI@#$wU6Soga|E{dNOj ze4V#=y^XUZ)36&tWSiol^E*wFpQeMZ%|h+NQtIM(F3>11&lOAl z(3C|?M!)|X38;R9COx?P|3}bF+x(sI-tv08qYx^S{LI?BaOT7e?3|%<}Z=+S=mdp!1)6(HVvAM%}e1NT;?7uLk!6 z6_*|Xq_=xyD+Dsu*@@QH+Dd?O->rvm8Ix$J-tHRRBfYS&5NI+gCn6$pABCM*##t7z z{>(SvRxN5=&@Yi`GHLDD^)6b;mw-Q|av*|-TS!-o&v}eVe)5ccPh;76BIbS$=$~v6 zMTUzc7odOwf1stMO?(ZUtO3`-TCZQrundokSc5>B^Q)`$sVKT{-^TCuhTPNbABh53 zg1UVD<_8BKUd{IPVNXs@sw*g9Y{Fog#>VuU8yl|`6%`*W#ykO|#3DUjFVi74#W|zU zdewy3UWnx@%soWob zLy4tmSMc<_lCE1{H+>n}vwmE<9RLTOR@#q`kKccvQ&#q>Jh!K(hc=bb*VlKUzM-KH z4U$fokdWYmhk=37n=uH!YBK`b;i)@0@s*XAgSc}DlFU85hb0>iPDe(35Ga>f5Y{UW zI&hXp5v}=s3EbgluYn0+KP5Wb4cDBBv{CfNN9ZIMBslp<&OYCTBn)9*= zlWLm!Dt3y#^Xk$xf!D|UZw||V>Ul%$w;CGH8yXrm3JMDq-(*L}#3ZBvb;a8v{QSom zk6pclN@1J?6%`fcgV$t>OOhII-}c{OU}FA_e<*>yLqqvZO-*@aH8ly4+J=Uf^MQeZ z+^pBy+VZ)%xeEYwMeqIZKYzx)Q%p@w-H=V8l&Y+*evWN!ZeCki`F&)mq_niSv@{~i zAirCz=k{J}LXu|&ln%__hg3mTI%3CWPY9@)j9}LWOTE_!h!7{5EXvD^&wh%h>zI|| z?JE|Rr!i-Rvg48xXb_8dqp8W*zPz zK-}JPjVx%Kq?;m80-w`AN384l4$vWS#CIq$V~syIzoh>h9Nfq&Vl0O72%xy0ykPcb zFDOF{RX(*ckfxfrp1HRTuB)p%HTU(+h`)k^&xh$A&Cx}!BV$?u5(J1Cnm#4O2ZU0F zJr8HXd%)nY)Wn8$PlM+Hy(kA;m|tEV)dG{w*_pVCulQ_(gS*JSF-Yjg!OgIQz{%i1 zD>Buyy!`a&h`w`nmYk1L5?zU=11olkbBDnl{c+D=baZt8s-q|sUP$Nf|KfU1PHKXK zgS9j?a`N(+9zS|il$#sSR0?IpY|8ASnuc48P{rvQ8IAam7;6FR^uf+t1FijrN;28fxYi7S0?o;o;#Ev$HRH ziSO{ap0cRw+uN5D5fLS3WRw9dsGe7oQA)126RPGzp;=;W8X6jj2??F5Z_2)XJ3L^` zgQTaYYnhtnzEoE3(;+7(?;jWdUS)rtnw}0zW98-H<=qC`=GrA@WmSCnLa}vr`fTPP zx4f2E@m27S?7N2ATBgpWB^uA0JisSo_v)}bY-bPysIJlTc@;&JQjtandwXnTfRpyl zUq0!`Sj4DJxFrmiyqxIh@COX`P>7k8wMJ9jz`(%E(^LHk7cZ}kqvKCjpAo2Q`;^T5 zLZEnaW8=?>i9`hjg&Ar@DTuTjaY7*-5fS0jQ}cbJY-!2xF$oEWkkDi49{ViIdv16S z9~Lz>ra;l&l^z_}1CgnZWnn}h1WnrMdZgkr?c+ei1$8ua>~hiviXS6PCrx~jX6#j? zNgUTbFPD>YK5#r3Rq(9qk8#_a-yGQYi?qG8{490+h;E-cMkPg6O${9(Wm!!?Nx9qB z%!#V=8dxn378V5n+2L?__{0BNcVPM3BR(2x6z1oLkq*tz&wF`!jg5}RiS`9Iu|nr1 zq@==kUj*V+8B0;o(pCVW0eF2G=J|y8Hf*tbfxwu72jC6M%6bquKd+za91;@pIWw~y zXbYo`(Se5J1H{}Qt0$6@+?1+YUv1^0>gt5l)$Yp%MlCKH&?_*purSDZ1ru7^+mo0R z6h>V$IzIu^Qc@E87gQY`9v&*jVSd6FMVWfrZib^b~WIE4o$BmUm?M_V6yot`_$$EE^!AkDduvB22m=@UvpQ zX4In1dBr|Z35BXHNrm0WR!vjFtBh~pgM*O-WtF&{ai(XPC`_a;5nl((j5MfuGFjZ31X;?gT4Pv zP10jCEI(AD6q10iafJ7kUgI(l1QOhni`D)ta~~H?_deEhLCr~y&s|`Bu(ZUXbMwXN z*0c1IgQEiQ?Wrl>9EGQ~vJj9x>ead=uHE^LB*uTuMOU zlg<>lzdq|La{Ha05Z$Dh@CwY!O7~U+(^X|qn=;&ThwLlCXi-V`IkMCW%=l}-oWFEOVlY5oO#S?574F)=aGWeyuTBjXE!(e~VODV5BRcr54yl10ws6cjI$c?{xV zBncOpUJeRsBIl;@L7)0vI^LV{cQ4<+al}utUAq@{q$IBL(M1yRC6KS1%rug(yRvAI zL8zWJ)t!JU%+R{-EjG}hKY_q>=lhzN>+BN5H*IC5JzyK4MZk9QpF`%w2aRM&W9paF zU@;OYDk>-t;jGLzI3(Kz<6h0jvxZ`c64uB>|MI^pKz9vP>UtXbUhVha3(`0scQXa> zl-VoMr9kyPud^B<*d4wUh2n>$Ajq7f;~x}+o)e;hCn3A1$Iw7P!NSVw3f9&94vC&k zAuw&M!1hoTm0%pBlTi=Q^0_>uhc}{{h8C4q0c_K{S7>XSK?8PxZ2OxbBB50U;4n#S<71v$vqIaP5f?E82)VC0viI)?^6#SI9J0d zat@31IUNUK6t(nu)AtBJk8A@Z%kUn9RhSO?Zu~cIdj4vRzM8en2UC>_ii%e>D;a@U za^luLKIxXMpORtA2^XnVSk`xiJ~ye?Mw~#4JNZvq6OTakCM8qZe&x)r6dj12*7~1Q z3ZgN?l=IWV*_5Na`vTY&0z+z@6hFFkk%UTc|4)z3BYHThtCJe6SySGtsHqLuB)-rO z!qk?M)4;>WXZ_x(R?HOc?SP>s5^dR`^aWevl%+Y;Wu8s6tT6XUzGB0dCVKNch z&e5OUx3)f!L;#EYd!-A+V(WsHq(~;69Dk%Ho#p_YwN(x;k4#CbY_J1LOG~kJL%T6r zU0|vmM~^?5nwtkbDtZbg5fBi-CX9FC;pWbdp_OL&VBkMT>W30iHUObI0Vqi2D4t)d zXc4f})}izx6=%R8kkpG)Gh^yibk;X}+BrUsUS4+zdv782ZWh($`scpWsKYxY8%$ zZ@Fh1z7{IRcR#K*A&7=dMwt@gr(a()RualS=?wZQrllLY!&S7t@2GC`_0BEie0ug2 zd^aX#v}L=sT!z+{%&S06B@KG#N}W0r=PdN>5#3caEJA{`eFJ-hkp(>A(S_A6TlT27 zy-RbOQ3>{w6F!vE3>4P`4ca?@2_4)ZYe3-Bl(8XBB$8WJTxKE3p4~ zIhpB0LU}GhMg}^$2Rjrd-q=)9E%I*3wz*isBshz5R>HPRlHTW5 zqiJlzOrcyIQa@3=vNz9y>8KK#Fi)v17ujM>TAXRV z8&=?``^ecDk1JS_>OWo+V%T6{x;L7A%Ke=JLv>Ov)Pi>UhEFRSN=^_Imi>xCw>xJF zOg5b%?LPDiKl%Zd3B`O~U62RwNV-@83L*X{hZ;Js*y~EHT(h>0uyi4bbduv9gPP@| zZ;D4C!f!a$!WhkNUE1fQ6TO=)C&Hdh=R$TAI2zcb? z{myZ}X4z&(1Ry(Jp+#G}&q8>bA7B6E-4~&i-N9qAR`*LRD#G^D@ay)9De3&WOxVtp zXfA7P#{yCzaNC>tbP?Az6#rzjz2-HIxrgTCi={xU9A@=6s*oPe%&0uFc&t8On2#Lq z+L=7XJC-Cl>5?hTrSi@H@ji)}FLKAv0w40D&KK)D4nIm<{cbFn{bPHNh>c*j+8pP( zk|H4{rrv$RoNr3J9;+Sb{Bufl^gEi?B%6sPL~Jv0;d|Q@dycj$DPO*nw8Am*s9sb2 zJO$|Q64C16K==F5%Umf+LbHiFt52q4^BnUuwjH_ zrt#r5*DllPh}f?$W4%t?cg?c-+VtMFdc;*rZT1*+E*)V75VrLMPVF%y%7nusG~fcJ zmzi}4&GNf(I{7(2+HU7Gj5kHJY*V;T=S=l*rQ2I7-V)$94$P};BR+Oo#IH$mapFTbzGmc~oi#g53bd2%{ zvyS(FqO;&F&;bff+JIqVx5I`rl>OZZK%P9uKN)b*GySrydbYf8$$ujknW+j%b$j-k zGKHM5`)j2B_{G#!eKe9@dEaE1zq-B4_jq}O6(#o~ekYcQYT`-m2F7qXSGD3t8u{VX z*Y8Lf_{?F9UPMuPbuTXI&^NNa`zol+Lc!9)Lgue3`(B8L8N4%Z(4l^|bW(OUKG6X!4BqM8;Oab>|UH=0*uC?yD;=jC+A%5A@LdshiG~ zy&N#uK#Qa6I2BwBkHx)xgqGJw{&9Qf@8mTs;VC&&QaE96XIR7uimCKgSjRBDqqzj- zci%q9#|6AKeU!qE=TTOzzlakpqwECe?qc3DF5X?to8vzMt+4 zQVgnl{Irc`F2v0?27KXpQ?S}qB+tSbKHPa2*0fBJ+@M6LFD*$h9nPDOX<6fd6KGWa9*Q)K3!$S{&=;3G%4W zN9FTev?j>oLYY18u3d@bL|#e&=Swg9L9#%9Ej(kmE83_UA4N6Z4yMo5anQ23U9FzJ z-y;$G1tpyd!~8cE`;YSTn0*gdp1n0RR0W9YwhtCttW8W9uy@ussdYdPBU-R=R}pCpyKaIAMt@wg`(m z#a1zNLm$hL%tbBww28<564xpkCv778N0$F&M6b}RLMD>rNR8L!>3P#u4#lLUvud-& zq@*%Y6phl~89O^`xOq;mr~n&>6h9>zxl$}2B%-Z4dg<`6lFHfCuHV+|B%-*uI1wi@ zGBOW1SCJED{=kenY6N6c^3en2vTyZA-zv@S+Jdgl(no;^`ZkcktMN+E^mjtB$$lm! zP#|(0aaKrm2aiGTEqW62CH5zt2#b8j54%7&SAZZP3+{yl*SgvNvhQ&E;%1As6fMlD zgVb3C`XCP`7kFRpWj$068TY6n)Rj!x5l98(v{o(J&ouSXlsui`OKmwzY42m8$Nxlv z$g%V#favtaUPNS6)ZNGux!>HWxv|f*Ig5Zm;#V`3alZ#-Y~hB?0v4GV3FKcBvF5vbWV?9cPYKA~a06LKtK{%nG)PR6Hm z#;0wO-{nMp@U`RG`{JPP^yxfy_cOweaz~r~L}L92*VA94&3fgIEJjr(Kh(Z73nG1! zk#_@X2XKMTpOz!1S-1PiKats558eoIX=~wLnLRJzuqwW1dX-_m`tI-*YT*Mr5*#zc z`y2kU-Fcij2ib3UOh~g$A;td54-E9Ns0s=9@5}DcB$c%&MahkQHiUu}fuI5~^vH&2 z#Z)QIw75Iy2*S$^TB^Mr{5@|sdwyRO{Qg<*OJLzFLn z5m#psf9TQ&5Rx=fir9BGodUr$RYajj+q@J2CMYrRi___%;c7UfJdtI5YJk){n+qd6(h3e~lyHDaHIx{Tt%@*U&?oQEc}mq~fvg-+K15iP~(*XBU-!QIWp zk=T!5TuL%d$<7roW$NU08isK7;pqm4Ws8R%Svk~FJ}F~7n>X_qzX^830GXCF5r^gw zeA;H4X`s>`6TkUQ`(4EdnLlEo$;CRR%2FlQ!|nFcslj%Z|G;}m{4>@yd!NU$xd+lK zGjiE7INw<4j@9&r`3(9J`<_PBw(BIr=ckwhCYBJ=@sWIOruds&+d0s8!gD`b^wj6Ol!aH=pQn! zZ1g3RvjU{i8Y*_E6MDTXZF?TG> zSHA=`F|A?dFse3$QiaA5(T-$F?gryg@7y<+oH06dOh>$CF<GG)7R6YoTgJIAJEhW#b6wG`fT9InhH3L9F)rTfi6SGr!Wk z#7WO8RLi2VJJ}jaukZoSqsR%G$9NsB$@|#zIjzZwfDyMz(wJ`nN~8dcjqL=;JgNXCp{a?>H ze%xcP)i2J8C3!Agr)oFw%{LX1+Q3YL&Q4hQAw1Q3ykIpfHsse)rHsX-9LkmlbywoL&LxbGaUl!(@qe zBsbw(^BB#WGDrx4Ptmku%Oq8;@@az%aTev>;xEgXyR>_()*tlVG$~|C)>TVKaz5u# z&&9IGTF?e4gmo+ZU}_5|n>_-ZDV7j8e=9iXB0mi7u`f$ITakJ+a_DP8Rv^9U08K~e zpt@=(>*ZHcKPu=Ws(rP~7ZhOPJ0`_7+kLEKo%PadsG%we+C8?roHq@9RZ(}~-lw~q z1&7sA#qQx-zj%0?Z5A+2Boa^GSCn$o^B(;29A?%Sc^3rld(Y^vUgz_%QvG%WTlgGl zYf}B9y?`l==HZzcMYASp{m>Xp1pR^t9W z<_)Not38nw@+q|+=SA{74(qT+{S0n0L;>ufBn z2;f02_pP^I+_519#s2W!8cKsj1kS}sd3ai98P&#)^@#KXw%_*K8&56vz+a8Y6udhm zwgF3$!XieD-GrUUPl+fyMfWs`!hk5{tK{-4pr+6v5T91+l1}(~g>FZ7BNv}A z5~3aWC~(JgZgrszLgGfm?N_TfkhlEHsk_V*YeEU52-sidRf4pP-zt1sr92wO4 z?Y-BYYtFgW`iT}_01?96a0j`{JmdaC_~NDB!zG8fQ2Y3!$EHLl3}}xoR!pI<$-j4e z(&rYK7f(n!y)<-^eJ0yiQ+v=Uj&7@)^e6TE>xxwJgNpC{OnMdy+A)Pw>Qg=;!xLej z%wPTng&QG^Y*w-!Y;EY#uWtxg?oo_elg!oJ?mewQ2MZ;6E7Lu`W=#XOgsL{2{dbqj z!fA30zw4ZzTRCd;=RhIapXIuKYrThdudLMR|N5jhFSCys{Oo6;_slCAs$nprs$}{> z0PCfZPL}=;pEQ{l+DHtUDY@$8>a;HVfVfFJhnp5o;+w8Ua(HVcQ|#?OpdzHy!q__e z@pxJ9Pdn>zn^p@)fk^PrSygJ^e}zu)@1f>!IAJl5`H11z>sPeggO%+Cw)Tp-_RQy9 zttEKOmt5AfrKC;sKYxCe9hw4w^2w|h;*I1iwK7K;>pfE&J)Y8^GNO%c9%Q+!XZo!v zRUddUy?hX%^NYEXUHXc;@7`8N}!2&v;`kM_=-a?jMDoQeKZVUpAq!G+Fk#WdgfD>BQgx)pG}>57_oT_5}7T=}p+E@B2jXS9+BN|=kOS#tykeSo@D(ceCcvhV+AtWM-oNowu zoGZdd2Ey+4pDZri7a7x??6UcbDmR$?s|}x+9LS zjya*R_aSaR^0!IQytiD#ds~PkJaG-BMf$~CF`4L|`j-^ z<>gM!#>#NrIP{d z#VkHYmy>lGm|nvwC_at$FXJKHh&fNz%&WaWk+=8DN0%)eEWnpCB`>kjRc5BkIehwo zCgvUL`rN}blWxQ1`71{8LF;=??eAHiKS80xGG0}#s4Nk^hJ=0u!v)WkR#{s8lTWIb zhrbH`@H@FOG92{7n!S`LE==1j@VEt&58>e84R62Mw|M$e?3^{-f1cj^Q9ieyWi4=Y z>DjVmcj(vzCPw4H4Gk=N-oAzA`hGcvZpRw3MMh6Kx6578jfGHcNhi0CRQu>@>3?*( z8n{b$eRe(Gwh1a1(*9Z#zYUFZahk!beduic^~z(-jZ}&eOwJlC@4k>^?qf0%j4x821bqwyAU4q6&B?n!=U0w}k4( ztCz|5pG{_7Tz=sb#~7o&mfx)K9J)k?y(_S%u=+`D^Pt!E4_;6KUnJ}Li~_o{EYtcM zrKcnsF;{x!lN(Jo;!4{c#%1@L|8g;V`3qhvL(jeff6|9`zo<72mO?T%yJgAhAD3Q@ zK#4d~(`Dh4pK=e{AAY9lIlkqT z!R5px4U3TT>O(R|t}*r@>U(D16=jS-)LU9%tXLeT#g$8I$Pi}A5NhVy-B2WEci&=n zSSio*D`w_Q8%_f_2qc1CgF=V~zLQc3uk_ZfGf3nclLnok%f>M}qh53wZ zjV(o<>FbE3rQ^84K{3JfV+HK_{y zw#M;dkjd*8KBW|KTJtO^WK+B?y+l8JY#;i%5?Wk0atXufLHp6?M2~YcEHmjk$l64)?Da4?6PVb14a!2*= zxu8zPucvH&G$~)J6u+|7N&FJJXi-&s zz1WAN$ZRx+5TQg-{dbMs%W{dG8PUtdo{$e6_rw(Bupvi+4Y$V~G?I6!Q8ePzv0^vO zgXU?rA)d!=B+d`*VA^ft!_B^gO#TE6&%SAN8pR(n5k=+sh3 zAYQqtl^zSdQjb#m`vG1Lclsl8Sx(SaavkOlQeg|O!p$#Jy8KWcWRz^ZJ!+|ZWaYfC z=R7IB`{OHt$Ddt)3cE&sE35PCY>ST>WPI-l2gPm=0+aPU&|9;FKOThDj0s~phhX4I zzqi6Kc%Z*$33^CIMm2q!9fzN$J4ICZXUD1AK2RQ&aE4y>wO+ZlID4jQbJA6PnEg{* zWwG9(D`t}X|2)3i%-Y$oXhdD+|ZN zd@k*0jRkBt@Ixj(y^3)aX+HENu{fS2G*aj89FKNG(WUN%{rh5~5>p<0{_GbqTA!Tf z5;X{U_HLqDUf*6pyrMZ!|Ng0TnI6Ac9+7gwiPdG#oUU`#XZhTqI}>pdtu^grVm9k& z?vwx>(rv%2p_0Epnj)07q7~m6>9Fl`IeYkb?X+SKmFpsWKUz1hw~`11Dav)(9hD!& z8YB!TuNf2Ez>Hjn!@9YEjopPh){8|aCC+}jP|ARk@@9-urc~SR{tR9#d_kY*{T!gK zQV?qRRNE5@=49)ZY!riBZg;8x^W%aQ6Q$49TB%yYtTnaookQhHD76RLW~}%FobOKE z^P|Scf=ow0*ZU&zi1(AZ+{XVL{3JO1)gTi|%vQPLbGw$Gpx6z4xD+qJ)G)iG0liFx zQjGtA;mZSK&yOF01~f7>(M4H4{FKl}h8cwO@1?@W1>nu;NAF z1Fdf52lIdtD{eOvlwPbu1b62#mqWq9*WTX=+}Vf~N3mu&YB_GVoXSUEsIv~0=V&7o zzdJ!JRWcY)JgYIGRAp@ZAhPq*BCG5~jIq?>dcnG4t^SwYMx9rT<85lR;doD_VHd)p z%bcDdq?bU#sLo}7Hajxj%2Qrme$D;#JCg(GeA0RKaC?lW%M`=+H0Zau95noy&$FNh zk|+XdRfV$D^QmRmovxTB_|$cB*N+q3oyQ{j-lNuad=+~1TS zX0!Ww!2PbcPOZR#vuQ2l(>-fu@p}VjgJS3er-Lw$(5Y@??XyDM`4NsB-ttj4x*ruB zFLLE$KXYq+SFP!fh?S^*#Bdi#6ZoCWaM~4Cw(zy66WA|M;cgKHabH-#>CM#!!rfVn z?&rXH!0n>1%EAqlS`EN6EB@WUfc}_;0AmVn%8YMyDzlp7U|OXAVg>pjpm%}H>&xDt z=g>!Fr9>Yud-;1Na$s)3u6eJpwyFpF`8zkCROU~NzR-Ku;GKTsD(BR=`Y|UCd8O2P zv7z4R+A1-J;r8r`lV)y6VK*14S+4fYpJ}D>d5yaFGgD>=lFbUmvYr><>GO{N^g0`z zHp`W0eico=by0O#|Etg!>{w?_x0QFiJBJM`VtU*C!#DR9USM+bp84n(NGpbprVkir z<(zs|KifWxlzVcU+*jugKEkRS%I#3yZ4vZ&=0@JYz6*ITARqwa_E`yQDmJ(C?nEsW z>#bCvGb8`9+Xnc_;MeC_9%xm%2Bp8hzgp2WC^U|&S?~vl;z($*P5e>Uu}!Rkf~hRm z7PI{cRW84Ouuu_6o{%9_;&)d4csaZKSmrH<)--lrNOhr$L0*}&xlUdSC7hu++^tH2 zkxt%ZEkY$p9YsB#wxSbUOHJ9N`$z5RFDSe@udEj?enidBTFUBxk0$XOO!K4fDq)o& z^M3OvG(pzZtM{8#^Nhw;U()w>BG*>V?o;r^d~dIq6=>x{_orjtW6sYRnbqj24T_BE zLerCpmNMjsuP~^AHju>DkVBXcf4+j9U)t1C<%Q48en!spKlR0IdMw zG7_1xytoww*N`T*%*%O&b9SAFpVF;6E>ilY&ZG8>+a~LMlrR%o4|{wvZxZYOqeKJ8 znN;6xEjYU+vb_G&C;W-veh;72l;^JOHb(RFU{vJxE-PNp`4RI zr3x~M6(u(7W-3LR0@P)7qwm_Bd0sR>!f~D9n}MZ|zp%P)Go{?J-H0&ND1pFBZLb`E5zhX}Lbm zWM$2+K6Gw!e{(ep;)TKb8I9UM^F6|bIynx97frJb0b#0HxlE#}fRBM2D{_h!U?s=K zW}Npbx|1+O;ra?p?p==-Snka7eF*0=>G%687 z@6;|gFlD{dgb;2p!*w~lpJ7X~A_*ULITo1u>in|O_C0B4x}_8dfdqs_ti ztKTIR^Pz__mP3n{mCddS5V^^OuYsxh^&_G~o&la&Tlbh9{0gx{p3(GQyS#ChLkTmU z23+2Q8SALkTS+9+ZqKgLq#@0Pe|?_^`~!bT_LSDn zJ4^wzL0J=KAP&ke)#4Put8vD!7{jM<%Sn6J-N#W%>+@-Jc^HOi65sp{YK(1D(&7yk zk_$wFyp;{!y$jO$&_>kd;fq3L!8kNw^e*W)L1qlq^8h=F=9umm8dH38x`+{)lnJ4H zD3|jlIB}4TfyW|3xN}|FA5o~(%)VN$%_Z?|4T6!~hPRtJtB|vC@jO7UX5(5-@X0o) z+kfbJ(ZGrvSQQDVja9vJrMQQ0NqlUp{i93A?m_p685dwRnOxa?P7oU~g5 zOA@kC`C$lTB;m%gV1ysLaq*;}7G7uWog~vy$H8@$#iHPU<|bl&nS~zrO3Sw6>9v$s zGc#6UwVwQ==H2Qh5F!{cCs<_W7>pK{rLcvNpbTK;__D+?Oev0dD7rGI3v4*~Y~0_D zi0-62y=YVRA?((Qb)A6s{QybLD*l@??cH{?XZmxvaBp_PNF1gdxis-EKzidj-jz z3x1%TFV?QYbLicf!}J@0NzuM{rD~2)yuwIc&5H7;*`7aEDV?mKcMGNj5jxxUg-)CZ ze_(5?&RUo2u)sxO!A}1Uk(>Tr`bO35zQVALGLCqJs8J!wV$XR8&sWi(rP#(_`gOCk zUrpvh?#X3P>~X)LoV|Xp#*NzF{ZdQ=f#1VIVbapzU0P3c-Ry2@4x%OW{u0$1DOQPc%TT*BNdNxU1Wgx|Rc6{3gqVS=D)J+geqJh8>DbCCj8e4b z=ZcfSSXuqTw{9-{Sv4Yh5~{fPJ&viY?tNddODUMEG%yX{KXvG^7(+~RCb-0~Uc?gC zQoQSST<<&O_aXYH_c<&dy*uf_0e2Y53%ns;$ke|$>ePE2$-sH4n z{BU<|DEd=2B4!*mDv6mM(N) z`$6KdW%tA<`*13t!6dXMcK9q5#j0vQz4SE=Hm6qW&@1AEZwt4wqcw2Fx7LeJ*~DmG z{?}deE#RwWs?T{Ji9xS{?|raVjrrR3PL>SNJPj8C7_)zua+8od001|l3l(=_~PthE!SL2S*s@P}>1_n^J#0BIAP)gx*V(uPGxOfZ^{=VgGC=xKWi#%?x` z!fJ#MlsjJ-FP7&&!IMjtoJnn(6*Md+D)F`kIt0tS6o$B%?GhRa9wmj{T4Bn@w~@v zHz$#Ml?xVJ}A5siJ{ zb^d8arSUq^R^_Eo7}(E|ovSbqzbLTar}wxx2q))zpJGi0R6ACU32%^(zWBK4AahVR zr;kfNw|d5K&y;($b}k-7Osi+8D$Vxx%P4xHK35$wtNpjKb7_2de;zyW=h7~E>qUBZ zxp!e4|9Kc_@%Oc%<6^hZKK?W#Np~6(A|&NB8zKblYyAu^HUco&IUVqT7t@*+=f{cC{7?0eRt>m?UsGPvptq z%;xJ>2p4JSxg<7iOw`-zM0``Y4&R$D;vpUrIa4?QX{Xypv_S5!4zz4ROQ+S8hM(pX zV#m(C5ch5BGbh8cJ?lduD9Ce}8zE$!z%S_l0M^+wLICgcAI2_A8-K)KsM$^n1pYJ!E75F`&7|w}`$*A>W(^zHV-< z`smZWRr*HQY-W8P;u3BUrvy=hR(<=s4dP2HD;8-Q;e6&FlV3E~g zg9V#J1T^hhO9`$hgOfb&6A$4d1*bXBD|c*a)D>SSps#xi(WQE*o9fH$Iw<& z46&3<-YC*a3j{tV(HcA_z(F|KzF-!1jJZqS7R&NHYDywb8^^~Mzq3b+57bl-UYznJ zq#<504kDqYYCmB}OG66(6?7la*a&eXRI#|Py?j>B*Vmwq!XSz9pHqMHDW-SB!RiN?Bs1?yp?&LaDRWAO z`WxAu8cdGd_}5kJ4c~O1&W5bN3^w8PIR7nOlyN*zZZ@RUTzluRKR!_GhBb@V+_r02 zkg}G;Eb9+IafdUc+6jt$ELAv?pEf3;K|gJ$g6qOH+a^Y<*H#K|6;P6e8vI4Wz?*OX zmgJ-DooMIId%X%K=RvL|?kpGK3uew~I$4cXfDPH+lr-(H?)_@uuxr{P=6HG5RJ0ok z{31GK-!XPpzu#N%e-gzxUj%efXyaN4g^iuQY#$~^>kBTvJBtw9N!ojsFCa#AJbLFm zAuQi?SH)od?JLb^R<~3~hb#SVtRFgJ(}nfgx)x+?l~+kPb9y+D$Nkb6h)L6uMYA{i zm~*-8IxEC0Ss$uaZ`d$wNPR>0S+{40ZkU}-YFD!4il%4Y_Wg~@B`3Ie0DBBWOhIV8 zc8e+4Ebow}wX1!WyMrmPmPI32@ zj!l)cS^-U=eZR&L%Q1TYNE_IPMm-@A9IVohv@mMw)G%Tkoq+K~%a~k)_rr2}cX{Sd z%Hlkk0VZi>u?jYwdR{uMFx`-^X)FOGh=M=SEzx)W$fG(ZfAVAhyg6UaOexc$gG8*)fN$eA08oFm8n-(Ymai=%!7J_f1-3ykQ z&XCJMvw*DXPusPAeAB&Wd$M8VG+-kZ?7zP@-f%VcY}ZRen$;}b?=z)aJ< z>=YK`(L0Tbm~P@eTaU$zEbQ9P1UQ((;aQHx8Rtst*M#DwSImFkIN(Tvvo8sdg2RgU zB^MSOAihcd!g)tcJ1MU|ujdtLCxXup8*x!WH4VA}y(Uj?Xe80&6zLf42`VLiWrt}5 zy^a?`=4m9g?X*E=SMMGW7|2((4}?r#;~VhN_WT1O!MLw_8#3$1>$#Ea-GHa){aiQ? za#^kYI4f6)FZ{LQXY;eKm{ovd!ZhOc+#-h@0}I z52I0m)(~s^IsY!?*nVw%#78<&QX2AR@${f@NvM6*e6dfd`6iMfa{wYGL>v4!dlZDb z4#SFo-Q@!0MCDI8r*{DDsSX*4lm(j2rC;X|8+dW4u+#aTx zu&3EbK;v1d0sp$%+HRYH%0ap@fa>>afH7uFJg+zLllW2m^N(6U-sS~$P>a>IQ8*|^>wqr7oq z*l`7`GerLENxMqr-=X)fJ!vc@*YOmVxvl-_V2~wNsqEhIazW<&X{^X%7TK~dhltD- zov&(?pt$ws`bzN-t6!n{D)<^V3ny1M?!PxRUC?}7*bCqI2SP=tiF`!`Vl}Ol^6MIF zau$KG&n+?Y*9GMr43AXb+R~LOk*pvo7IpUPWiGac|2OCV*G}X|Qu#_4_9v@&J#-FQ z9Us7FJIa#3{0Y57w%p!qXxYho{+ho^bMWe;NRkHRzn293HvDkU&hq~KrL!7-wGsrX zLO*R@yz*ByOR(|ZC*XfApeZ;r8}kIQLd=I->P}MQGf&okA<#{vzLIIpW|8PE*6A-5 zxMZ@72{4HR=D&gsQe49=Q7`L;%TZm+G_^RPj_k3<@#P5v(o?azjeBV~~`p+dOxyi+2&ICCO z`efL1DW16AV1+)S7uWs!6L0S3{258^19eTML!{RHTQ?^Ku2=0f5m?_%FSeh%yz0K` z3o?)^d3SJg@#{m`8c-izm;qxJHwvk(9xb4svYA<^%`ZT9WBd`tGc@Gw<>pBqW<3)GwL;LIMb&- z;Kc}iprc4ClQpw#C*&_%S%d0?e>1)~_z8eQB3~_dGm-=Iz_>V3Z6@D>0x+{S6R0Nb&y^Gk!8Hk>%8s!4{5&ilZ6 zrvulb^iPeEH0f`<%aIAQ_)Y&_)vySpu9YGt``ZaK%UK6@Z1J-XcWq!aM#o5&I1Nm6 zob3nL^{uuxM!YC{$DJdA4-D3=&uAF*rEr;?fDC(MLJB9C&Tl8nm-=$i3FoK->Jw&} zBIYeTmmXbi5#~!?V3hbk_y)G^ni%n5aqKH!BVkEl6l1yz!I5rFQ1z3aBg z+`S-lPUrVEh}p)U(fL%8mi!&hdJzTeg1E-*0$j5ek(5?yxQ?3Y#m0nl`1#9ec)0LC zc)g8M7u{Y`kLHeUZjN<*=(--xE*>AuAB^j5BaONhEJa7w>ldx%jPTs=- zg)XvdiCA^kbFb?Ehe9dp@#n=r43z^IP&$c@iYJOnY43L^6eIk*m@=F-=y%Yk|KyI( z1Zh>_gFnx2ek$iI5YHkAq0kl1E+$Tu`|UV$;{ZvYs_Si#4pOy>Jf#!slW~&xC$820 ztU;str6$vWJu}&2!S+YA4V#*}5zpMW4Vk*b+T>k@dS&5-A-+sT3obbCxI|7LD;65B zqJ(XjpFVq0Z`tk?e;$cl_Kgk$s3InDFv?d+?3!U{qYIU$7esfw$Ue?*Jtc(E-rl4Kg=MrVs)kQ#AG&(7|#?$TTd<>QTMwO|z3+?C^tzu!zQ_ggoStzvCANDc~Pw$XY; zLE}Sa!C-HIG|S@ou4B3zgq~O2l3M#RCAOwqJ4zByF_B3p;_!Sx9S&q; zQ^k{J`azDK;8LtUeP{LOoO(C-Rx1mD7sP*T4?8xEH$vvgTkf$kAiq5m8oiLa76|EXF8X0bS4tv@KY=%FUKvkq9!> zSF3kt;{)JZhXSrWRZ&vc`+O#a-(O!kc= z;Rp$pJZ5WHMA!gn?@rxpiXHEwM+mJ~6z)E5!0QCYD)HIJNI90)`=-$>*29l`-Q0Y& zI>>fJ0l>YGD5AH{$yF^<6g;e*wjZE!tt@BiuB>l7n2rIQhmvz3gt`kz&hnSf_QP`j zEjh13#<}Odfds{Q;Z&Q_p%-r#K!1Ip(Pblk*;xbhogW0KxK}O%z^N>8mD;sm(RQI7 z6KEX;Ob7|qfiO-LmINOfByt&bBP{|(dXeA&@XVGg?V_+uSghy5+x==hE&atgO#w_q zCzgcDoA79%7jlexDdy8QO&neHx681GafKJ+KQ^~y&J_m0)}6E9@KMTrQM z$vhLdS!p9|z}5;Wj9%yLk6~TAwYj>ERWV&JyiI~oirgK@k@6}$@-|0a83-0&M{(gB z$GT+SaL{!e#>c2UdE{#p+$ZyT^(3wc3cYPu?08mkW=5_XdD-XsBrE_>p&Os%+2OCj z#R}=hc~DS175d2QRXo@UN>D*UyfvoXfsY zZ++`%6YP#mIy9Qccf#+I07VsZzXmP{BqJ&n9VTnwEMO8LobHYay^KAlXq{8A%e~brEUk`ZK=yVn6zpD>3#tz!T3y0A(9=DFV|CAAxe7eW@;d z7~QiUqCzU|ZXfmhpb~LRXos>;wO@wDyVqLFl@J)m3oT>W>gN&Uli87TQig=cz;9D- z;Hr;PZTcNwe;mviT_xWLrSVx^SOqfi_E{9L!Jm?qfBKP5$=dg0zoH}4GXOjfGVp|+ zgy7JOiC1Q4$E5ODgg{&Ipn~SDpB@NccZtEHS0I!Tl?HvSWUmB+BVY4pmGB>y%eP3& zCFgy+xhf!AFVd|V@rwM1tx{%*5o%b5Wy)sL;X)Z?Y`UL$<}Nym9Fc0F--Ncut0|B7A=YwGIBbwu@1g{|+Dn>TT;b_? zjG{2DQIuB^X(mSp2mIR2!D2ox9h%U}u4=UQQ*{hiMqXw6oRgQ#ij!7qc+T%cFXl~X z&wtNsBwsh4bYt#CNQzJwaR$LW4+4w!h}=LPd;}Xa&ge(FO!O+0sQvyzrzA&a?y)rP ztdi-FSYh2*_>mr%U|*5oTc6ldVbC_D$SB}Nb!9q!Ic7FQ3xQK zvjpfZUc#vHew-X=AMmE}vlQiaxAl8}Q!nykL+VK`*^#NB;RI|%|fIZfT^!u-RdsDp3#tutmT=!-l=Xe4{F{`i> z*MP#j{bj!01nA}%<%vrbYGTw85a+TlegmI#v%F5xmrA3Q;$tOArs49w<#fti(giC< z?3Xfm0Gp21H@Rj8yrA4YU>wAfbciwW-A=XG#m!F%2c$oj_qQ_4we$cMO_rlummQiX zem}mcMRtp~UvE=fNTaeIZyd1-ghIze8ACiHEZ-G`fv^OB`bAw@XxV?RFdB>`$?P{={3OY$gWx&;I zeoqdXbsaACdKam`sUdvYlCBgX0rZV%oQOR;B%wwVEZvXlR7hX7^5A+ttf1-GkfV~F zjyO8Wl_$|-AoN;9-WPra-S#HBv+6@+9!J*^{iCt=omAY z8AC7VXaV?Cr-;ydFb&j#3wF*Y+ALU<@6%Jh%^P|T0ajn*XQR84@=4Kf^0!lrC*Z6kp`oEN+*k6;p4u4W{Lg@R{+Ks^3F4(Y&2NC zCT-zmle|9Bq>BQ1SUftg?q}BEJ}I#7ZDiu_YFB&KpX%vw6hP>c@deKPEYLW{-|i)) zujU)){kK$`eGLc*n~nH!g}+FQTgukaB#_QV*$FXs3+cDl-%sWuPaEdagZtIIJD}qG zjx=@z!u}JC2f!=Ss+YuIm!2*F-3%qriYYIIZ|@OD^UM0o$pN$~?4}M5P_NVjP=VcC zWg-1s5WCK-nW^wZdTMgkH1L8@DKyD*C0gmGswY|{rREavW8P*@H0~9qaoe(3zo_Pa z47mFsfRqh^HZ{mt`b$=ZJ!k&=j;Jb6S7H|Yx`6>AH#tm3)cjw>YKa#TW;OqRVs((w zV!jILFFUeOE?5>&#vl2ZAkBs{kjq4!UJ8qE^+e1!&&`EAf2&;Da=MyamJosA`XCKI zE_sCwMW|L4OIXlhgpN-_^DLg;OxPA%wxt~*H{}D8O~ca1-IZNjY1kP8;`;z9yTiRzZ*}V)H>*L=DLSel1Tf=;(E3h4lq~c=~NdaOs!;*zbY&kCn0U{Y+47OZq z=Cgihyfu{Qb#wyqm5H3Ni^E?QqJ8CEayf!=J0aF@F^9qW|_M(50 zL52Tq(YNaB*2?z5f-Y+UeL9zmH^UMX6|_D>eM-O@E*56lAiPp1(;qV#2T(Jl9CZLS*lFOJz1sa;w9#&YV(c*<@9PWvC(-I|J@_x3Eu9v z6^iiMd==){vJtU_D9SDB@Xa)uJwfV)Ms>n*SL-eKxIQc2xk70dy`12LTgOB%b%Am# z26Hmu#SY9h@l#n(sC^cTpKzC!U>zaFYHr%C{Z>2!2vs3T5Y23(&<0Zp%L$KC{#WTg zz=b$IlGl3n5inLg?~kF11S)xz`s0lFq~^pJ#b(kut0fkFAHej|Itx{cu}-(BpNn=| zENHg6arstMLY9f3iV9v)`Y=jV5;`o0CEJ6dxr##N(8Ne!5x?#K9BZVV#5=pbrbTQ1-%7p`D`!~yhmAFiPu8teCSf|^3xhj>_%KF9Cf zOx&cLjbj}=1hkn$hcRkQ%h5D_yrTu?3OR!qBmvY4TOoc zSvoj4D3bkEU_c2JbyB|fpJ%@3N5*}9A3yw7)@(sj_;Fy&sQANGPlZrU9^PNh1KL!D z0GMe}IT0<-vKidMfnLBe%$WV*D$Md6Sj&w5bj1BXSp+r#2L($r)15|*Ntr112?l7? z2_!r|mV74@mSnT#Nqi+UT%V3FmW zq>RR!;!!8!a0O`EvQG;s7pVAzV@l5tYwKni3rx=2Z;t}6F1v3vZj@?a)dy&7FPb|G zBeb)5(+Hln8NbIgm$UWXk7PhVuvql@81cKgSE=Pn`Wn~ZZ?xB~;h*m?Zc1oakl2`}y(nb&_3AY&F zt}&8VnvtHne36$i3O=X%b*P3__nx?ObsUxF{@dDAC3%Kqz5$l_N`z5HJ2ED5r4jH0 z4f3T_*MYn!DFmNH*B;*IW{)X`!od5S2pfcT0?ew*WzP-ZrHxU03>l_u{t)#Aa8e_Sfwr-q2@RWv~R~5{crd?NZ+hSiXP*SoCd;`5PxCm@C6LOBWMn zyS+1kUzSP%#oX0c#~NZQ+p7gUHvkJ1XpU5^CTi$QKp*afK2QSoq7*S43!%VhlKUv8~gYjv{~yV4<@*OgCmivO$-bd z=S8EFur0TXy2PvBq4=aaAMgeaHD(7&VtHR?Xd^SnmW)@x_)q`0&Igk_A8e}UY;5Ly zu*VKNQqBn_#`g5mBpGLeRb##dKd<jhr z7ce}=0hbyE@cItke8xAceuwE75IPG7JLbp#= zzgQRcRUNXBhXtlCve{q%ba4}TeEyqowP%OF56gSM3dfD#nzRQKhrcsUhySUsh=TyT zOoy0@AW9sdf?+Iof{%RXuBQjp;#5VZtGdd&-qeAaztZ-#ey&J0BXV^nUUP+>g=T5K zA7y%RYmsl$bR^VwtnY7{uKt8wIBB}s&cBOqoh|24?kbWty&r75Siq##cLGC#Cz{L$ zcrNttqTbMjDY9bFOG`^{&0>KLb4;1O5AGOJMja>Hjgrxc19#U%G?*QkM(8w;H-&@z z0+{!oB?+KJ6sfgwlqQ454~G5YnyOVW(?_zE-Ka}<9~Pw5yxriqaRWOdVB7h8V&-*K zyYAX&$;bOI9f515L^%%yEw~@JK$W9{ia=3{!syVCHvaxnF{V2cM2s9lIUdms!pD0- z2f(e>cUeAYl`k$$EZ+K%9FBplZNZW(p46+rcOK}7%%RGTy&~V}?=ft#@IyUv|5+X~ z@yh91^S%*esZrLb(@}f(hqkZxn)VN~{a@?1XKci}9n$_-8{_ugeT&*!G{JUJ7q_Z= z&duciDCytAO!2Q=-Xm=IvYUBJfoZSP5zK}QbLgOP#JJY$gQ;5FQCD`!^Y_TOO~b%< z0RiN=F)-r6ymq^d-0}4LmHf0Bx*#>82*!h%H24nQYHAjrM{&PG8p#x;039xNGN)6& zx5fNOZ30@PLWVFAtO_UxG1eseF-LNaL$LKg70;93+i4%h2n**u_RCmx#f8IR)hWv~ z#i~WvKmdHDOez76N)TwiF&Qq~@KiO|IF#yR*c};gRT*#sN_KX0vt3hI7s9~=2BGt^ zqu5syOyH00C1dZhKY`a{ZrZlUw3t6HJfE-1pKg|W6Kd>4pHaYe&fY^>;S}>SQh9Y7 z_eT@PvwDh_^Dg3=vsUvRl~TrM?KEjl?8JiiY)$MpS&=l_ezn+`x`v)K`dBUrtm8>m z752skQ;~6Y@LpUa*?K>e+6RdT`!m<-Ix{{DalU>I|7mo4D_HWmIiv*Anq9oxE8ln- zi2%W{WeY^eXMOShj67bk$U2el7S%-R#ea^|zl5%Dh_B&Kc?s|{u4Gkg7!OkGO-IoK zx5DGlcaZ)By`Bh*BOZzOw$jCcEN1IU@Pv4BsW}uGc{wt01=7dK;1<7pQ3vXZ|Ps@feI9p?!}E{>X<%R z4egQ0esZ*%8gKksIzqAle-fQo8b{b`8?M(P2J0VW|EIwLjgCQV3ZAU&Uv-KWz$s}$ zJi?M;MY8yLhA=J7a?vJZtBG~V^mQpdR({HH>9oUXOv#7qEu~(?~1(mx+vWRrw0zd)8 zueK1-K#Bf6aJ2Q!gDPKY5%1fJx~d%8U-g=89(@072gejNm<WpEtxb=NB4W=`WFZNl9T)MNc`xx_iEH+_K zeb5e9OtcY6o;%UL=xVR-0<|?^pyI1cKF=*twcZ!%G%t4b1rt^i+I8L^h$GfGb_SXk zk;1NWo0?I6!QJe@3E+>7U>7`YJ+mLA3(W=r26kh?;cFYwkBT8=WS_H?RkEg;abM;z2B9jT&QL?xF0hgj9-oH2PTYet;d#2y86?>L% z_(sPG<7BzRCTp7`~|?I2I(PMGPtWKOXT zL9y!hekXUV3NxC6NN+pMFwm>X3g=`!l0$vIe%Zr1>>JFm zetEvfX*IW6p&h^8;a{%Lm2=)i2sw?8(yC+kWCgHoWh8WCkfdK7q6 zLx5iGKXF(GaI{pIS0OOB!@Rp}o(SwM2izsrtbc7Y`r?%j-W9q{+{yinl%=WE4z{jf zQ564o-wR@e555D%JK%dk7nooD|M*_yy`;jp2neox-s4LLzmN#4^=_}ix#$!7=~|yn zaI~8jTV6R+szs3dKKs{Xuavyf`(uq>P^vfnC6*TCKLo)tx}Jx13PnSrCRvt0tDh)} zU7NOol5IDTicbRnyKjE~6KiGs{vFa_+!rk$5A6Zv9ssmB4ma=uIKL#re8umMk6=ai zdpJ?u(h4z0||v7 z)2xHrEYqRSEY6D6YoM}sopf)#2MEiN;2?ztka%1kMK^$jEVGiL@z|x)56l$x%mrs1 zwE98@x}tHb6V3!_NX{Jd-nsts3gh{U$Oi*#b zqZiZ&9!iZm!5MIm^uuZwx`m?^^5iDt?BC4Qqkug9F%Uk**G=C!dGPy>V(+ZHzU+D22U?QVG;6fd{NxCxU5+dr9au;$ zE&1M2%@zxCHhX|6nm z-oAf_8s=B1L*cnJC_mY)-b#P*&G-&wF7$E?9P05~Y~WUAf?6Uf ziQn^r8$p@OuI*g?U4=eXkmtYmL{YjUMvTxlDZe?JKU$SO-jCx;ZyC?Fi;p09HEw>A zXXZ4vee1>x*hy5d@h5wH_Z|Q5Z9(FeQpCnXt%MjD-Qlr>)R#+K!7YlV{3K|eXWxy^bmB{$!vDFOG}HS+>o3zj?ptb@1gzO>&HPOHS??8O z0|E~HS)`{=YAhh4RX%qv!1U`r8Vqr_gQ|hfd6R*d0#4LIM$qI<@PWqD0{-zpV%;GR zkEn^~0VfZS#djlfbMtLeI?6tOUoJ3!1cN8=88YE7t!=Cts{Rmzai+FUE}LJT1J#sX29Rb)u%^5zhAF|h3l%$;$I;XpD|2`!s>ZOc@yaHyFtZ- zA@HL$nn}E*vzC5E^?!Ie3!u1`ZVTfQAh^2*NrJn>5L}bs?k>S?(BSS)aCe8`o*=;` zxVyW}JKTH!H$@dGswQ)$&*|>Hcdz}e9!W9`2u8BzFi_C2VZ#H;!CJ&&K>qbdT`MFK zAZc*))wb-U{l+L&1Wv^HcT$Y3kLGL8T2z;`LL|L{E^Bqw!^@d=@I_M^HO67Gzz-JU zN3k-~Q@a|?9P4hg@b-tM7(*XE|y2w@9iM^LztEzTWK$cQl z<6@ttzZ?nhKCYvvzgxD=nj~qMvIgq?fILOPi(dDE z0PVS?|9E!}g2TxWh7zM7IAid!zcgW@7G)Xdp6byBm&L4zn`;m0U6n_^ zBDxmhMK#u03g7Y065P`Jp~VTitBM&{ za+D)UZve}Bqs#X_{z_U511>;p_q!JmWJuJL8EQ;b;wndlNP^5Rh@+6201+9{ZYt1L zk6Mf<&i})lKlk!AXoBtNy~ixWQ`d)v?USOS629NU{_XFPf)rRj_3{EXB0>33AA?NA zSJECvFFA_+5G*BGsxv@)p6F?9+2Dr_4MVXiAt3n&#L*X?%JBuuss+7HWGUbK#BmX1 zPxB^r6`=xl5o-MPQ06Mq6FDRUv>C~<$(`7OxBre17Sek0^?k#Z3 z$S8vZ0NwVddQ41dkubF}L7e()!1k(FYATcO;L<$6CC*_zq z&OltV08ldwK&F%*S-4c%#gu7`rBkR)@>E!;K#cvU6FC|TBB9f9h*&+cZB(oh8_Vj{+4{vS}yHip`}B*vpTBIvVXmOo*w(<+n;XW%<||HzD?25QI`w7?@93e#cp!C!%tk z7$f`)-~1lGd&1Ww?1?XW0Hq$~xP@~7Bgsyya+CxQS>SOHg*=OUBi%jet&z3fFrOp3>hgVG=`N*Ua; zEesQ9DPB`fid#WF9Bjsu3=*RHGfQi=Msmy;Q5hN%#Orx3?T*1DJ^SYF`A)Dcdgp^Y z`y4L%QRr-`Ck8wMSzykq#*HHoYmJpr%G;u+C^um!NGT8TM3;p!Or8SH*sob?5$~V_ zxeo`F5AZsceKiw8(%eO^MD}1Nt*BDmfx089N*0mS+550)TM!b$HMywD^#{x^0wG#h z#y}xJNCLN!wwzV8-YRw!ZO%8L(`~fY^iwpMyoat9(8(EJg$omR@UWn-6EwUc@u1bp5Npi?__z}VuLWUzx`tHT7kn% z0j)y!P#xyX*s!<+s-LKxh*HIf{#gOk^5yc3WANfPn5={VSdc4rLZg#9WTYOwUi?_9 z6CAR0m4BmWwGYG=oD`Zkh;Kkj7(g?g!nj^_aPOI(x>idQNL3DIY`{cfeRYmRZiT8uQ1-*4@(S zM+`hJaW(@2Bedfn0>n8o0U$0DINc1fSnI~raukJ3S?wc=#z;;3pgtFUJ-)@8gYZat zz!~?K6k<{HS}LS$Ddnkrk@&hgwT?5LhH&s@xz?(4yovmn37-v4^nALE9ZmK42U-#L z-A-HSbLU^-+Lsq-GGA^h8v`7w$!S3V9AdJTqd@Hzq8V>+2Hg8aC5pF()75^3Z;35f zaToG$>((fJW_!H?8An;uF9a}f-?7lwsvAXe%EiDm(i2nzsBn6T^h#od$ficRvj$=9`Vmln(4A}^qyrvkt)fB7O0XD zu+JS89|4;aaYP2TL+0@~NQ);71gnT=w)Clr{oK;rK>C%{lyeKSyUTfej(I+fPwI2m zOI`~%l(ekKIP9wv2umF`W*pJYka!qG8n&6Qr#Fu{LcQ5#n;%VPd3`CgP2P-0Mxy1e zx6Ky!`iNlA{OBtCEWtT^evD`|1dRo+baJSUCpS_*06hpbH^x?*5 z$h`9)%)~|GaRClvB$7kcm^%t?5Jqi zsN-MxHAKq44T+tH149%z80{ld`N@@~;qre(h$r=aNVRGXp8RK)D}==4KsZ{Sot~?h zC48rUh%lD62tRtg>hF@?9dg`_i^~UFl^u-bT|V467eBAqT4YBuO5%xvcrTP%RPVdp zV#YLMk%kY;m~|VzCJ}HD+@3NYcO-W-bjMP&f@wq)9E%Hcg3k@%Fr5oS*a&g+M;3r1 zutWt`WcN+W0KG5z4?v#Bh7L{O%&@OkVkap-GK{YB62m5OI7qmUB#uQ-sHGK-E3>RY zL25Epl?dw2?I~7S9l{v#Z+Or0^d_#1>sMEoZ$ZqTpq-APC-&Q6;I_S3I2iD^Lpr<# z-K6?gsRfGv359-KcHvQBDQM8!e*;i<*Zi1rJPI37GNofr`E!es^qWc?G|IYUdc+y! zpz`)(YRB{v@bmP7&b>&!Y8K!c6gmQjH2~lzfU0a-l zI{ipWr&3fDNY>LD7-OCmg!3&yrXXoaF(P$OO>kE{&?IUf_At;nlD)=y1yHPy!j%JA zI2{HXJVu4=D*Qrhpf&W4$Xr2e!&LwUl8Sll3)aKu))zHtOo|!gOr>JX;s*>lZVW!P zZ@W|aqNL0%qKP_>1$@V9JXe}c_2Y$c)JU}|FUR#V(Sr6*5jVd_A1gE&h^uP$NsgHR zVy2IppLw^K7A;?Npb-lV(X~;};RNAX=o=Rs`mVPJ=ZMP?QBg}1#=UW7l31C}b~}3$ z!5k6hf#`36N$`%7502p*%iCv4Xc*vJDep*%eY#Q#DG4K0;h|xJQcO8#&?h<=nT%O= z7^NxT%rW|%TV>1OnPPuvQCNhvJ7lI~QiAghFBW~G-9NcVCSsJ*q9oSL*3@=c6t6%0 zg#W#CRYMiMRDsVG#(l^heEuPgcd`DdzfSO4@SnXLGU{x#w*CC*IerYoWXy#D^*(@I z^}zu7BFz4u8`UoF$0BC|;{!erfmsliy65}yDoOf2E#$%u=z`m~5p9Ae z+6Mw0qXM`IOxdH3*qg6%ZjS=SWx1^H?0-@&Jh|pWF`SL{eRjE7Fl+jhH^fdz%^Oo( zWHoSmKn9}5^GjpIl4t3W9*uJ-9-z&N2(eD}F36H-%e5-wXx`7)V|vl$_+DA%{>$y6 zT<|~=us(SSnI7f5EoDy)3+L+_vU7)cKbG8a_MZyfg8v(ED$JggBPtbU8S}HX^3?1r z&BuJ%uUj~TT3%e3xdb&vUVys_;s-dKG0|xPW#eg)gsx8@yj|&cHa~UcepMezafT}; zbp8|*1L78z!LS%&L67)gUv zX;N`h$YG@(z)Jxk@Quvg;Q5lIXf60>OscM|Fffq?d-e8&N3DdvLgIZ>sYGU(OlDK~Ex1vnpKe+r`R!MxFMMbL8Z zPOE4Z8Rb%UNa$W&d0DjeeqkbJ<=IoIa>4lcJcOrZJyCy8w=AU$t&$x-v5e}Z3km|N z1~KM?BLV(b8qd62G2(IqZ%X`LtHi%ygN}ied+Hl>9O7G0L18?&;ta3UI7-}(H%d2qj=`ihk>UptL%^|)$3K17!W)6qJ{r;D6Gsb=D&d?L1MZ{ z^$$D>PZX;4;$F$Hakx0kW9lxi75IsyM5;oXgOYQv zT2LxH?E@5-=gT?9pRrey|%Y-^rXVjH0H}FC_Iau zV@CM>N*K`42kGl?cBf#gy}6myvg0H~ukOQ=od+suc7}k8p$X`o z_mX1Pu#CcRmc}tHQ`#bk`NftwpbgLp7G?HBq>9)j6g8-rn48yNrh1bqnpQL!QbSfU z4Fw}>j0V$GK7Z)A+xSG3rvSQE0RDxt*^PXe0zJTSIsZqVIjgJG?^iD^V$~)8zj%U{;hWZ8Iz#i1IrGl>>oNaW?Hl;5puh{w}h*h3kXx*}`m~ zjPV|2G?+we;j(bfEmDlyTB0%J{X$ehGDk4TF%Mv3 zojM96Dwx{)2iZME=?6W3sFEoEmoKm?pSz#=`O&TW(UzFXy(_11=Y$fxJfGUj{-U!X zp=0K1NR>VG=rOwNi=Prj5KWlXjVrM=@0_C_`H){Po?%kcm#)-KmjN0hGTjnqbWr!F z^Qr8YX*g%G*K&7W2N7mCk|mNAL8Uv-VR;=YB~n0g?gL1T3}{B8>m|%f_J4Hmwo+}N zydysZ8V5{)*2pI1K62PV!zY~jq9EiRqUYCkmk-RP+w{;hiut$$>=Z5&=+M&~l#GfE zsL~LzNR&4d@w4#Mh<_Xn-|OUk%sc{CXL zhgXs(&UtpR3HY;gc0`wa``phnrRY_bW%mD`itzWfAwb=2(Yc!;a4LT9y(5E^_odT6~d#L?8{!0!oZ1 zhMcpQ*OrDeu!hz0#W& zOkRJeCm9jnK9tC-(mA2~0>Qfr5VoDyU4_o=m729`q6g=0%Tx;>p$o+-^`vOzc+&?h zc(?1vuk3DJ&f3g^fw_1=^ohVS1Ra#Rt{mlaTurQ)MBW(u1{(Hmi+ z;4@@l6Ux=tNB;zb+m0Oy--8*o6+s#Wc^jG(zv37}9#cJuS(^y$(VXm{4B6*kYGOF_ z2#%kkILaU)s~+^-;xLumJ?j8h*hs+MNdDUvJhM#=AcWT3{ihTV8;0u%)eW7F6wIA* zJ+FAjcUn=|5Zy)p_+5^|I6`D8_Q%F=tyfvruM2lc%tqTUAKiM5* z-+Hv;brD$L+?8T>m%PTO_N>0^e-9ZYiGLXgDCRL8ApqLOpXu~Er%AV*-J2f{yJ3kY z{qe}MA*h?bA2M|3cD0rfC@x;MnSE*i9i(5&D92JL%~r?Q>Y&##^+!kB6Lgv z+fNYMa%_{selK;?R1=JPOjgGV6S!|PUOA>fJ+|$i1VX>EWv4dNWf9p=?5#>Z8|~Dm z-&V(;lNGq&H9++6IY=x=$cX--zX&Nx^OLZpiS4j|bnsKq2>w(L>bFn88>urrx+kO!emh-Pe3w?<9Yyvk`A;_1RVN(uB-2RzTwq{aI>BXg_g9@ZqW8h$yIKzGnUn>&fA& z&yLzv)BT}_#qB{ulU+YD!H1x~hZ(L%6`{1co9(SsT)SIK$Q1L{EzC~Ebg8+HS9}c2 zb+7EF#8IunmG(0+qv|LxIML@M&~qV&Gh`6?s*NljhvMuX;n^Rd~#Rd9Fk< zsfE!Uc4`!1A{s^!s3d?>;wo0-*2g}km`1F^VK}{oyNU6B+RhRVkM$!a={;GHkLnlv zO%rVb)d&>vtID<$!z}6GJ^{+G33R&*TwQb!GTu5+Ks9-0IzEX}jzP+=7v(4{BAg5J zAS)-{NgBUw2aXI^QpDjlKPw8(q);R06<<@s) zKl;K$KZnHwE|L98@bjS_Hg34+I4u2+|Ci4oN)-r#ol(Sjk2k36^P>O~EVGEC?avd9 zM}oup-_De8;=YtTyf74HO#XQ}?8fS}Tha>|%Rd8r8*cA(db|A}qZ_Y9K4MdKChnvG z{(x0uG_Q{d%nbnmwBycl7yb~_qdv+WHNGeLnL zQq#J^Piv2de}YWuhDu>WsmtIb*QcuECZtxa-T@bIWlepRz0;Ka10t&OX14VAd1;U( zi9+#JSP5PEU`Zn%egdt1>7PR87>#`Iw{u{h*Qe!dO2YH_v6c{}H$2ArJtm2yJa?u8 zY7|K-_cbH%oRDI7DCT4IU<^zF9MF@%m?zzMq@;{ssmAa4y7NRx6JH6i-53nv?7_NL zp6Hfv!$3=5RDHdSJO2y?d@QPNpJAZV#K*a?$LR4(!9MC87DXC*Bco#jjt!l^qe|Gp z#bP@!o9V$~6;P)JxjrSg(rsA#S~ET;%w$w&KP-Sg(|W2kU()Y?hK>r0TDh^qy?Wm0keX!v7jiuF)9z|292z|9LZY)fS%fSVhwJ8$jAUd+J#bI zNp{rvd3x4;?}1u8q2rjFFL+9|tp?}-OxFivT-qDcU7|+~f4&6wH1Z!5=b`eD7ZB~? zD}?9kv;%$9)&Xc-EPhBw#~585UHi&st{J7@6?++_jFt+4P~Spb9Ac4u)BZA-OeIpv zT5O6_GR=E8r8cl3drgk?^%4?>4-CbxQuYt^^gP=7fz_%RNWvu{$*8p?kny z+-*xlqzwPOhnEK*xK&d`qCXM}JVboCow>2$1V*THMbOjFly?0<|87jsgbG7)b6@OnK9j_ z+du?Vm++|{i@BpxXk!yuxjKP@75%fXQIYlg*|*O$7jagSruZgaEgNA>i?zmo0KS@C zgt+qzW|^A00Xzu|=3U{zGaOJO$*qZko`?lIe5B%T=`db{?i&Xh!itB2fiv!iIk-(TW<04&&%xln>ydfezrA1$F<7WvhK5xq%8Z0Y? zAX-dVTtzOYV=0_I(JaJwLxIYkjKu!!$GP`V04Gd8>EdOlvd@HMQP&-y}^Smp%>$-cKedK@c z>bQI0>{#HKpiO>#N^I4z=*#QB7NBT#bCv!3=AyIoCL0}aisa_RQ~hXZ?IwApbQxP; z1`<-Z+%Uq3u}w}3mys0zKoD_mONAsAFVUB$;`AEg0y`<*A=&F>rJ(Q#)0`{~mH#Da zdHOkk6`mwdnplQU;blxW;3_tu&7AA?Bo2^bDaVsL1WEN=VG({HVUA7k0aomLY(yEA zWSKAW-|1zk7)w|cR-0!*lbq#05yvvI>EtL>qOa;e;tHP^IHdw)(ZD;Q#qv9dn68#9 ziXAtE%4tZg+MPgu`#EHBkM2d-({;^4VDnlAV1jqy6UB!p`2|uC}Xb%VTTi^K&(c^Ucb*W_pT; z=AqODPEp4xc|pR;Tlhr`mxr%cAEPHwY^o~u^07|F|N5QE?6q?3<;c+Qzw!8h=d|oZ z?m|OF?TD7M`)g=t$#ctf1T~X1TAeh8d^f4L%@CrRRRb{sJ3^(h%8bW5xS^XPfL}()zZ*ke>PT-J|4? z*6|80ic~@&?%_l3?1Od%u8&9sW_)~n|Fd4|WG26BBfp<3{MHqD_D3e^ zI2!4={EW*+UoS)ns^5|)B<1uZlBhTVp0Y!J{Ln^}gyG^>3dBkFL$d32-#VJjki7q@ zW+-mEs*k_9EpijQuzD{((TU~&yT*Rw1AlLHh*>^=%*|lH=54NH#Q*D)Ti;&qHLg+L z^ZVr#;h@^eHTUPZix1?q`__YlgZlt0u+8AUSOUOjES_XT|Capca-1w?G>b@M@aH?{ zg&S^tN*a8P#eep~e~}A{G#603LE?vR36DiNtf4SP1G+@$7S`B0KhmzQ`X&Hh<)5Em zs$GG|`$zo8qS+VpZ6il$!f2&YO6xweK_%_*ikx_&X#W0oc;@D;*zEI>+AS|v5i+d* z-WvCw^4Mo*%vEbc;6z*(4BZHFHSr)EavR`LJcmdLJM86qfwjpz516YzcBzdq4GKc|GjmR zGBKKWm%|5Q2$^1iD0@OLP)5j`p{++J##mgah;2B!(8t0!pR`K z7rgi#cY$tznE$^IpX7-`Ha*ol%3gfzyyWq3Fs!DG)MESWC7q%)5MJsvaN_a4+-juC zZIynGMg6+%q#{Z6D zuI6F<_!YU)`tABVANkE9t>`IjA;`f?!uffmCqwS3k5|Hq*J-rH($kJ;9F0Y#aFcfF z%it5q#o!KUObqL%k8hwe2>z;bH4w|S8ajD4`rM45qY%Bc&pl;0{`=)84IZv<*%7%)ye_YN;F z{Vyf$5dL7&7;2))z<%7PYl14D+BFqMsgpVD#D&N{V_mg=XR9LQnps zplWkR;Nz#p%I2W)quyL2aOX5IC;$1sUJOo2e92_}p_TyLIiNKD_orP;;IHb{;B5M# z({+LF_QglDW3R7z@@z-SlnGJ*ITf?|x*Fv{p;lx8521Lr8%c0bYi;W*`rXr6S@Yuv zBD?BB&UP0K{nQdvrexZ_5A^B_3sR^Oj<2liPZpm5SiVRW@ytrPJ@yHha4z1p8CRGe z{tsFWQ_|pT9fJC()aV)w{pv5MUQ>O@+S5Q(oEF5}UdCl=in`Q0Pv_{Af7+6wzQ`6|tV&v{0S;vF+R!)9*1P zjwEfl)cKUU|1y#Jphz7nwFMFWb?fs|cpeXlx`lk%d}7@r{hY|a6Mgyhn#W`Y`kcQq zV^9xqJ0Z)_ok-!cBhj$p=)J|l6>IcV&Hh4!IUNUk8tp~O)R8$C7h+M%pA2(b4)iqi z(eNF!%bf3jdd!vU2{d6oL?wY_^9p!A462GS<$V2PY5uhyK{LG~d{*)>C-TpL`R980 z#W0)j#`SvYMfl?|7fH_=Z>4MzK+y^U>{R~yrR&2@A;UR?LjRy6wz>X|$?(oP+%$c< zpaY-ymj8QhNVC_&S0#=;i>H2vvPN#u;i=$u*v_i^0j{QT*#+#3#nN9I!;+N=5tA0H zCyFHNn(!~QozeU!)f#x1NQ{QtZxP3+!I^BM*J5^W!rcN{J(qQhRJCf|ed6yF@Fyc! z6-UXl!_Tvc+SCD%^QWSrdB)#%Uk`O*p71x-_tgemy!P_n&(E( zcHS=GkFI+6To+~K9iq2Sc*G~ogN{Eg?plm#w%rL9-_pnykoRpBaA_ys8BHHpI4GgQ5 z_|s!8R1ft??db|lGt+K^=G73vR*8BZ*xdH->oMHZK2mgPd0EhJ4MW?^H?=YPYmltX>qZ^hb~H}a^Stb|pY;@JMPo8xunvkEN;piCyVq#2y_Cz2qSGPe z*U%GA$^lQ>B&FJ2OMw1)(J0n9S|5tj84QK+6#x8;v{V-Dd1ccGrli7rKkZkfC^~Lt z7QpyRj7Pu8FvC@h&}F$0$;(^o{dZa0bZD0_cX7#q?vwiQ4jb4R)!>@Jn|>baQ>^k< zL!2B8ebT@d76%zDZXp(w8n-v_6Bt~&O;Ai9@cj&u=h@Pu5&22o$+XA$%5e3s6Z5JW z?0nF|H!I(nQj)r)jH3MPnp0H^a#)PbwBN-|Y~D*?E3Xy9xq8{H;Moq_A2ROQqEYv; zwR%%NtXyd264@h^J^`WInMn!#(a`#-#w!^~PTVHtFzd9q;!W?NHhHVdg;fQ-Wy zm{#2=k-l6!k<|GpgwsoKwWygMZqurKcrKk}S#m|(JMH{h5dr}(dIgA`m93jyZ=SLm z8x54xkR2_f>f*0(6ITjCyn8E`smC&d zP>8Aa`P=;2jhc6X1={J^t`Yq?j$%xa{v1!w zh`L@F&d75ANcVK13j5+!g=u$FVsr;*Xurd{<$h6u_s1n2_gwp|&*p3M(G}a0qcbfS zoaeV58%f$vOg<(-hq`sr)`&F)KJd@pX+ODjB|4v&x<-usEiuKHosFKk8w4#xMz#CySXnnWmw&pQlZenhY z@2B>XB$@d1sjfv={%P9THp?LQ8Icm4BgbKx&*Fh|$m~8gJ-1aayB+RDKBSDl zdw)cCSoW(4H&U869fz^3y;xR;S9M=T&;6KNo^fke`!E1rAWSdULfRl$I0c7x&$sfn zCK~W&dbu%t@>(RUx+#``JeHo{uX#k==dwfAq1am1=w8}chY<97JDrz2q~R-tib%$V zR03RgE3((=tulQ8Vra(lk}{1`&&Jua+kwH_+!El(hiW?=m7xSid= zV@2nCVsbQ<`QV3e`(^iSij#0xV6)R-dC5=gCN^K5K>@xc5rPd%W96L3>_(mF^$>iJ zCMvd~a4B{GPs-=Fr-2_MF;mF(?7A9ulP>RBjz<1^#EW6v8f5SZhW?PXOAj^1LftvL z5}z?IN1+b6CTl7A)jE6jfar+dJbNY96}FBa@ac3OR`&kh z7yQB=L^5D&Y?xw)1?+j<0a%h#CQMuiM@h@0|5rT?2$aP2%jcVx@ZYELoFCCrklWMCm9eZz=g>A8-xEOQHl8OU2SBWhquTXh5H* zv8Me~gtR(AzaVlfvN$z@jnJRF%WR&JfkT`hdB_NI!^T0oPH(#B8>+nt7fK{iFT>Qx zlh4<(d^o(ENRGeiV3ue1_*gAQ&;)#%w&Ng6Cucz()ZvKqRNGiN8C^n*Hz52*{rFhy zJ;!97{dKImt)^qZe~jm6x82CPP=vb6@ALWHErz9cINX9fDACt;!}IX6o#>(6<%4T& znaye?8dh_mgr|ep%$W$i?Q{~Lq)9;v$Bfq*$Ob_H;y8=`C4}Tqrw^GY?pxW|Z)l1I zdR!=%Bz&y|8^U|CH#<7C0%*J4mGw5&E|dSAgCXcpgh%yr)yfVjCPdUIq#DvB`{vzC ze=r?Vwlz8f80fpiaPb0T#$vi!l&!QFHw_jI8S2%Pm5~-6)|&`mSrH;rSeY!SWorf) zm5*w?S)+J=Ot*5>#e_f756&^6;F=ixncine0l_qHH4^e{m6zPT%*}i4*3S%l=P{4Q zI%<+-&8RmrNh0gzwa8!m{&5`&tp1RXT zw-ovq$hm=+DfL-6tx%W8?r@j$zpce!2!|wKLAU#vD&4GTt(gKg(0uyf;+isLC&^{5 zX{_&UsL^M%+r`Jt<$>>Hr|9K_aa|MHv-<-I>L=MekI^5su~+tV!ojy+*(t>FzPXS) zf2q@qYYev3M;~lyF4C%VcKo&~FL&379N%HLK~_ZYq>gs-GZ#>oC#DhBsc0<6ueMKC zOWo3lPZUIk(0dsp=3iuM&y5Q~e$)A)w#7>oT1=p}XjJ8(rfU;*aGhYQ%yn3>n^Oae zqtkW#y=t~kh`>ekfA{6Ca?k-g&b+FU=@Y&?L^O(~05>_5O@OMrMn-ftk4$SP{|{!3 z=O4N3)U9z8!RB$}N@F5kzB=CTc3@lBn&0Q)yN5MXsuE8TiyyM2x`(g5rzvaL<2_9t z9@mx?wG7CbJFuFxwf%w?S@34Uet+`jHf}3lXn>+imH99!ILz87i;aniLhhLP@ACfJ z1zlfYP*au9qoBV`Tw2UkNFQp{Uu>vEI;p_kGb|Azk3 zViq`d{@&)v@lGoVD(IdpejI9&7rO&rmL|^cU*3ct3mp_cpk|F8uE9!qUC0xUbnqt| z<4)HGHFen%0=62V*S4Qtv>w$=Hq-eF?6jf%_GrOq}4P*7e?W52`sSUJq?yN~D z5O0aM89R_WgQy2+><@eEtov9Mcyr@BXI&)@- zV36y`Y1;VbqXyIDg4wR2ry$wER0OwBMz|cEoWe%_@51{|%2y!I_4TztbvFX>4{9t- zX&Nl0mpZotvseh_U(9l8?#-Du8e*1WLaYracv6<)C++lPNIcXx?Xq9~eiq(7z~2&m z7NGra$kOeUh8)tlCNZ^01&|d{t-FEnZQ~_tbbdQ!cpfs%kix+kDrft%8V1*d^3N#x zXbo;rv z!!8CjfKJh-(8qK-`h9&*^)Th}?ogG)edP;60m0P(iMGolYI(;L+|u86_s~;x_e%*} zF4e?LZ*`+xWYoyBWoA}gyPs#XB-)PSa^+2fAQG3GFHfu-Q4o1~G|V;yx5s!@?Pp>3 z`_!|w-SAVNNCP0iP*NeO^@Kvq=1pA36MAk$L%+4@7J8@HO*W|5eJ71NIwq38T}o zq*n*EbI@jXQMc>e{RpMD#2bJ6p-Pagq~h)76ZUWGan%f$ZKrA5J7%s$Gb+Y8(!ovu zhAY9urqSpK=c=u1;YWKTWbsCrd4-sOi*f9XAo|Lty9QsOH|%f3t|rS|yN;tHJDpvNm5UBZCJNUQH7jo5A zOCWIe0B;V*@FUk^hu)!V9DMQ;JJ1r=NlUATRr2QF@e><*qWgEI)dIoV-Nkng7t3xf z&juK;D>=cpi+O!86%l!#I^9dih$}wFaKZ80-(o#IeG2edx?$+k@;>|n>97o9Kcm9b z@6-u9--vHOYF*1`Tl(hk9o?FsbuFQne?8ijc!AaQbe$6Gt%=aP+YBZ8%gdwN)PvW& z5bRSFD@t+82jbIF3t?00?=MPf@QhqnssuU0zhzukBS4X| zYtM(VyRE2;Qs~WoP4}$ZEGPwDsG-0wdIEZ_UW zXM~t~bx4CzD-FAKNr_&<-!r!TgELo$CZ*L2i(!ktgVv;pn3*Q`=9BB{2U{H+wEB!s zI+}-i_v=~mRA^eQlyXS+A%E`MiTDhJo(LgDa1R)8P`68;z z)bp-pEp=?B)6bXV?vu|^=LBuqfK=<=4BbTDS! zVRrXn=_b<8WFv&N5>LS~w0Zmk?M!zq(HX%~|r z@CRm?B8$X9+6Iq;UPK29A9b_}y}zS8VhII0;dj{u5nAJ4zthvlADYctw;B>$jWd{+ zaH7o3Oh$im%vz>5v>(Z>xqJu=}n&~SPbJd-* zt-y-kqaoN_#n7bdDZjLBvo#n0EqdV|1X~sC(=p>Z>JP3OY_@~4HhVFfON@ieAgRtB zOCmR=gvjc6^Sx=KKM{{^-YtTWoctaiq{f96wDmnOBhLoJ} z3A_>NEz5py@52-)WZP;mquzlPx|Bvn_a*>b4o_6oL#f(ioXpjS`CSID9R&}(gw z?S0b?*y%-o)M;GU~lVkX|gU))7i(apS(GM6WA3u&73OwsBL( zLWxnXHOeyae!~CfA`zpPcA0-=*A7AA)I;p~$8?X}*F)=ZDHAS``rcKsgFiDo+A^GI)&dUXOxMes^O7Be-p}%7FNu2(O zdZCg={x?8FuSL(YNR*oOMR@f%AV=?iEl>Vwm$9E;p*`{fnYa^BQ7PS-lg6}+>m>-A z!~>xs6q|Lw_GId}{tp`R7xwRnY8uC!mJ?5m8Gh1VFCXSs0-nwXR&ZrolK^ue5JUyN z2(%^DjPV`ni_WSWp}m@9K0n?D-@e+M02*_N)ei62;oDW8@!d21yU-tiH`sy^D&NH7 zVi>@}*Z}w}{RqU?zOVRuK%FM^YDWEjgt_y{|CMb5v<fXW^OIPighNd+wM8Nz@mPU>_d@L3KsU)2oyLNKKU_4LB}4ex-~s#jOw>I_+QSSJyg= z#O0~>*Ln9!KoWT1pP(J~DUZbmFy?#I-DR0?1)84UcgcpYQ)c%X0sg{B4*+!Ni1pQg zLmjZNaR7Lld7if?s50k(Z_N6uMG1h>2m!bqB>Ob+(m}5C#_{s@faq`&Xr|nCUk_*Q zsAjF5H%ZocCEdHB3tnMZv4`{mE>nbXxg{mYfE^1|<QVB+JHTnx=G?!dq7Oz`v@TIs{s?zTBgM7bD%r<+|>OJ0 zRA|Duocj9dR>&*)Wuq5eIB+mZB*=BCv$nN0?NN(utrq~n_lcli0ph7TVyskq$nS<( z&2UkQZ{H2b$72Btp?U9L7#Oc6l1W;&yeWW#$owxrNVa6IRP}Av#AXK|JC9gXF+1X8lxxt_{0pT1sM3XfdG$fojLAr zGn+-HyIP*3!oE>VPI_z zMD_wOmjHkTycr|@*3Y1tpik*!_+2&}0P=AGoK}R-`mhz(0G3TJfVmHNb$fXAMGD!y z86dW!hzA6(`UQ!qhDt*UqAp5o8Qb8LA-p#73de8#xN62{;Q+CN;MHW^$^f7up-S^= z;;z8sYx^c8;UPql1pLNGT26Vz%A5n7-3u*)$xLxqiyo}(0!LpxYiTZavR zpWd#b{QnqGwHU_#duVWTujc|(bkg2$ZyBJlQ6~SQbA!_*Z;E#c|1N8DTmxDwtI8fy z5Q;g0Fk8oXAT|sl1XeKCTdi- z*#a9O)I7B~3x>tNFeYxMuMTPckGZ#us%m|sN9pcvHYL)M0@Ar@*mO$>0wS%TG)POM zG|~+sAt2HvC`h+72uMk9>b~1kzdQcpj&bj|%a?P8x>;+lH`epaIo~E~WyRW0u z7tDIRySrv$ox;02vC=o*M12)@@RsR|0pc1wo?#H16*fet;e=fM&r2o(I)nmc7zm)y zy*}LxXcz(jts0EfVE!{N`T4dMvvu^q`;kZUJR;s!zw(Tuws({T#^W%zm5)kVp_-Mg z@a=hnM zS{n^431yKR7-<SZ0fTPWOkmU2be{1_0UOQdNCJv;F>QY{H$+s)~Of1h%ME1FaIK!D!jX26#x4L+tKx5iVfAFv@ITcz}_ECxK(uRl#{G;S)P%Gw2o*FT@_T)3Lm4udmI zS*O2;pJqQxILd8x?&bVY@QGzue1{tmxG9pC!Xl5bgk;V#d%ic6F1&MF^BnV?SiK8X zJKuwSEKUU(wtGy9SSV!b%vL0?m{srUb3mXeIA~F1c#$~q@u4!s}|@`mFJftIeA| zmoHcGlrlb14K1+_1<;APvo<_k!1?{s_h3o3{0$gXo;|Jjl8ru&(g)>})zLW|!}`+Rk**xh{(dFH2Ri2QFhf@c zD=VwqeW_z@1A{Q3l;mW{WWI9TLHPyzge$;o9hh~qv-W(xBNmm?SDh{4LsD2+=zV)5 z2`rot(Tm+8Po@K@9^46$E-0_>19>a|P3MBD{=vbJ-#I4bmO3F*btVt%?9w7 zAtFO}@2Zk_1PgR**6vA3lO=uFOG}umt7e>-f^P>V*O@oDqbtYKmHwVeBb@hzC;>-4 zOuzGkj_kJ>3>+_hP4joRN#o$)$ncod$$$_Snfp)Yq1WEiLZ`F9mX?g1d>L3$iI66? z`dx+%=SW}1Pi&Y)^#>&VGg&sIId4k~;XcCsw;yivPz82ix)%6mgGD?sZ`G_>-bRVI z8cwp6HR!zEHfV$=R9C~bF$)T|!72k*f+83MbU*D0UQCugU+zRFinHFGs?L!%AnR`b z1u|3*&OJUo-&Z2}g%#7KSoPr7L58rCfv*DB#4Zpu7&qs;Rcqh`e*x#AJalWwqOq; z786XL`A^RYL9Tiy_&R@L6*I-g?4(CQg%_Wb6Zah~PvQ)I8;sMv1*ZjHVBXeQpptYC zI09#|7}J**ss(HE@rOugfpr?=SB!wlV$thJ#JX zLD!|XrnFLT6;)86bIEEt%dJW`B?fN;4bYHP-+g6snZh^ycJbrjb z7QB+RhzME*0;_4szA7j#>rCbIn=7Bo`qVGB@1HJ+?}!|~;V}&Zf8U!GL{X)YdM_x5 zCZzk|=P0Ke19O*1n2&rIUX3=7KgN{rQaf^;%i@pyp5V{t=dfq0yk?C=puAR|sxs#X zTicV_I_x+`X(iaLb@lrCI)#}g2mlu61l8GVU^8hN0j)Ht?*s|y#3n7?HM<-)hH~Kq z^qq}vtKQP`I+ONBro|!3|1J7tL?ij-sO?E2(kR6;L&Q5QeK>{sM`B)HQmJ8Q5ex5L z=d#X;VLcsb+VScNz7wBg=IXkLd!jbQKY;uc5!SUf+URD3I{;R6Fo*~YmS6}UNK2GR zpRhsl-kTTOfyF55gqnfC$uMwFEaUI3toP}MQy?=;&w$;Xt$3Sgj621o7q6*vzr|}YEkOdhGVx3x1 z+b}-%&HfFofpN^cVxNG20R*BvDSCWW38UFeyK^`1+ip9*PMRmN0}E;_KaxuAuD!<+ zOywm@bEFc2gHbAsYcYUfaSvGIhrid=9&{c9OE!_ggN0Ae?{aa~Hbq|jT10dZpp&n+ z&k}X(jFsf!;pqX>7?}A!rhoBkepMJaVXbxMD}u%OZFVx{;$T_+LGv+qM$hWD7lj-~ z(K7D4^!CLuRz65L%MtVFjkUi1y&hfpY8evJNi_A%3$b6m>9wG?0NwZaWY^h%_FMC$ zmg%f7!h3TchsDJ_tPJnQ6|JA`^h8s(ybUU$7rtEWBQ#ah(b1t2pG{vmIk=t_`EOjk zyOV$CknOM!-*UIBlgQkBIb787?yb1IJq&yOlDg$r_R{)+)7nsBJ>zA=ce)eWW;prP z6Ti}7pO^J2p;@uOAhUKR)4HT&=x{ytgu&ZgM!?S)St>Df%pB}hJk#^%{RaC570N|t8# zn!la?6f)kMa1W+-gmq7L1Qk9~}w& z3AKp9UO#$LYt3M&+H$XUjVLZ0>KrM>Age@-7cUCz+boPVTS${WQiYZH)uA z-_A+ia){3&Jw#tSypFzccy~*C7qTOlA5e}RAhR71`;Bq`76YfB?WuJ+?rQ_DAwR35_(7vqpW!f}H!hP5bvw6fE(vYs zJZ(cxA#KjmFAsmt3`=ugHica@@%K{M#54_Mk|H5#udn{Oe%&pt6so{D`jFd*+Apq* zoT*nI8~a+>*3)q!#6JU9FULamm^FmYBvVY`FT!XSMD#`49`-0b6g+a zT>O$#og7ef#EAUoQ*R!n`D@>@wCVXj!Xu04Ak5BOz4Odz!Br~0-@KOTTVc*f(bL=4 zSLp#7s{KiSedJgRb2IKVK;HDdlF^UvB$WKmDVwxf+q`z2N{4?#25aPwJu(t z@*I82_~eD}di~=?;ninfiLSpt9QgUHggn0Qln-8+Dv5ZKNo+0#&Aiu*!D9A1K#G$iE1zN#wQ1B zu6c@0ZgZNY;iSh_xMZZW!H5JdBu&uzgmUQLyOzN&y%pmPsJktv=76-VgztF8-UdW| z=P;T4TJb3FtV)r`Cw`sgqH@q^=cMzZ*yQi)O^4~s#4X8RhjC0%nJypKOg&4`efaxYw0<0hiPCMasufJC?8V(jtH&)U@ zgH3%OzQRyb{k{#6BMs@#(t!LjBH|}=2EWvFi6hrDQ4@MLS1)5%+eKr4UNRg>tZHH{ zf5zOGbg!@CYOac|E$4K9^o-=pSST!R3%CF3C?^Ik-G6%^8Yo1GduK~R<0!czth`0V ztlTriE@BKXdgr{MO{`kr+8q1(0@vX0w|9CGw#JyR-dqD!81mqUhl|gzVCGYNr$b1p zRfoQ-)xR*%kcr+QVabqdn;@ehp`Zn#aB9B;4H?77#@YGlVNAU1hkIN?mXlUC4ZwztnW(JeP zh78Hu^>i^$YQ^(cM?uW zL$EaU)8OQoyhl&Sl?lQSHTN2{-{%Pmo%kZtkjLOvQYmutbhrbcGt}Z|01Y9vAuftO zNtl`_;YT>wa@T#ALqyp3AkYjHS7C}atqfABHjoY(*S?kZO2wqs4IFvwws^Tq4uC^f z^RqDi*Atc%(&XQ7AFt;T^t(Bdr6il{#z3>E5@Jzzr6sbe$>ea#?#OMbAF{dLK{x1g zWHx2>pCW+T{PS&%4j__?HGK@xMARVh!_F7D$ncB&1{o0+HnDBD*ZaZ?^0()G(sGEj z51o|bA2?hUM7^mSRshfg{pkBZuPO8U2;;rR+ndW((DlC-1{i6D*LRSjaDfa?;d*5P zgS|#E>X&rx{Y;|F`7@2%W#ubtNm{W0dy;-tT7g?0l2tsaFNn8Ovs+V9 zeZ?iLv+hZ-TOD+=ZFluyXhQYy)!zd|W%CtSbatSgBl4nFfj{zQuFDfJDh2W>_b7o2 z5?5@iH^_~%d13>gA-uznZPz?y2;8R^VRgL%Cfx^xuVYKzZGB#?m1xy4=;_AG_y zlSxy)7bK(Z+w%o_LY1=DI|K9J%OOYeG#DYmxkTSJX_1Axxq zr^V~onm&*XtO_5!xA8VsK-%Qi!4vUyfICbUMro#y7qsN)N$&WJr!QvT=FpwX;-T`@ z`frD7!Ydz(^D-;R7QsvNuWxq8|0rYe07=Tg#Gw!o+oLiTPJ0(*n1>)30vnJgt6M3? z(68oA>$D`>@U)8T;mO5^0OL;Y9pZUKageUcvnWy$3b8Mz>&)C$n?7~1i?Bv%HmJg4vBM#+JXBe zsKQ-=3k-6TX1KKaAR?k=ce_mv*f3T+2xRFy!5@mHVos8sCBjwkdv(BLvkX1`3_x^i z&nEChRwGzqu@G>v8-egf;ej7#Y8}q)@gM6_ z?|Au~9v&=pxB+SheX5orqDPd$_n;#Xus)etEUzy?VhrCYwMCzo-P2FO!w-kLC@qjW zjQsRh{i_wHoLbJk1i!_d6p`i z+VF(fd15l)=vMExqY}mdhj4K_K+O?}5?n~`f()TZ6UfsVtry-|qwnun@lOOGo|{ie z)>-)r?oMQ^(W$Z=0Q*A6QS)$DHgj%{iZ*wFGQ+LRxb=B#+!J^NWvJ4Azs z`8IRyK<_a7t`&+f2oUy;mj>C{y$Ed8$Di0R)v$Y)_Gu&2&n`qNctt&6Y?vFRz#bS7 z-B*Dc8V6oUcMQzECS>Yz?HKa-wjzL;_km2R81M`)kIKh7NgoclIm+qaKThJ`YdIRK z0Xrh*eo*%pko|l=`Q`}h5jbW}F>zEGPd=!yHk%nXF#?wy3+|@1#EvGgt!F;WCYmNn zD)o!_sgJ)wEE{G+l+?&OPUZ_N?L(5kA$XoMn{O{^bu!N*0O4}u11UP$nIhy*@@aQ~ zN~@p``1=~fz!CWd&smGpuujh)c&c`v9RO;tbTyzV=!y}6%Pf(m2TA8b%X@2AiA zVl8~uC|>DzEIudgmAO)k?DcaRtFJH2j1bW>{I!{kD*>2t3k6|$X=XLkM2?Dq7oUMK zh3z0q9A^y(5rQRIkv#mqDOAEvx6Z?d32?xSxM9kDqbf&@oDN390@h9vybmIu6_{0W z%B&=sfs_4t>@pIjKI%1&+CZarnvO%XHuyxf_4jwO5?_m-JyyThfkpzW zH6?Jvbwk(5XwC=zGWTl0md4ZwrLw{&i!$bGyi5G)VWP?%S!m?Kv$@w^z)SOHMN>gE zS|{jdkkfAj&untFOc)>&iXWK<+-BLQ#0-odkt<~0jY4DY)=ssK;(&hsDuQ-M?CRK& zN@?M3wZYaf>&O*4lL{Qu*J*71mC~{=q;D^@zJeku!Xbf4pWnJ>v;bk|EZl?M{fsK$ z>ahM!vw{cbhy_2uf~vzJXcT3Mdg{-s1FqFh#N37tdypnMy{uNjuCrdtU+k(>kW`ym zAB{^Yb9{N&@ z7~sIIJ()Dv93G0DDUfQAAv|0|KQp`vza}|mm9f(y?m(f8LF+feB#~9E_JIz|-{u{B zr_Bw=yp=KOwIgLjURKCMTVdKFC60Bw$BYGWL{P*e56}p&+&0i%&5gMlxx(?NgO3Og zDW^(dx$f7veRTBDsR((^70exK9lZNXfTQVpS+*ZZTVB+7w>{CG29w zjx^$>=+(HG36CE%>qF!oBwp&+C_(Lcl0?X-?i__q z$6{%je1FkC(l<@?0X(Yatt?9MznFg2sO9&L>%*)FHqSNCSf zDDQtYBN;J-m;sG2gf0H?AobW!?kNNCOR?fKzq_Js2)+-631f}{Obiee58XrxWjErI5ZdtT75OGKhK5D=EaDy(YT!?Op^cw`t{kqiiBjZf%tBs}AScbJ zUX!Is=0Z+6j8bdjSFZE!lE?`mVo1GFrX*-K%4j?|)?I=W+;yTzUutWlt?G1_gYWAXOpxg)Yt*ab0Q*PVn&kBvL2 zR@Z8|x|)}9$pfLh$bg}?R7S#mxA(A>(36{25tey+uSdFTr*Q~Bx1EO1eL>x$W4882 zuy^ITr~Ivx?iDkNttrf${B9ymnRSZLNG<_KUj;^TY`FnhZGlHwq3q_lb0tmNga4_~ zQ$bX^e*xSZ#V{G7_(*AsgxE6BGu61HA0qO!aXD=KwzDJbNM$caDPc!ufIlA|hs8?L z^TW?UNGb+uA&gMlN z-AzYtUd(X$)rqD*<8ZPM=}3cMlUhQf3@fb4~1BPrsrr+tJVFh%P|{8jYmdy1EyhVj&8vJLg*bOj+|11S$=`rAkbf+> zTGD$_=G0C}U}W03SKVgR$uxR=(X|#N%J^98=`ctJYZ2RjU8) zO%#VpRHAj~qg6grY&W48VSP_l9WcBOi>FQWUs;jo)-TiRhM~RMa|da8Xu;`-h_`eT z-{h{J-{lGM8IT4SA|lkbi~F)D@e}lkOJ71;;7v?Dw}2)Hn++@ZQ|8$tY1SnM|?bdfs^S3=i$XL)wh2ukD^Z~tb|<% z9gl~jfzDB`v*z$yCq|snoTp$7Zp?BZz_B%;(vF-l^Y13x>AOXWIN0*DN<9_s_FU9X3O!K(x{C0b9&t*jsvnuVyLkq)1v=o>h=4s@+}lc*k)Nq~ z<#lE0gbI%pzBy{YB@BY@G(AuU(No99UdkD~^(<8n_+6LUsdTk%UOlC6WcV;kzDYk7%TuE~nqJkzENI%K&tODUPcdCHIB);|+qCG_X zjX(h}nJ6YH7Bu2Teo9zv!0k=YUDhD%J88BgjyjWM5S7nS+APJkBVTn3nnN2J8qNnT zZ%8sp5kYsE+LGK-V3`(vqZ9Xhytb*?)SBDN29oK?#Baf7tgNq0Y)F;o8kCwJHz_*w z6-XJR1iB0Ca+X?uKK(2pW+#1pJf=OMle@?WdJq1h1SmJ_2i$L3Ebs>4tJ#Am_?5_5 z;s-#D@{Nr_CV`x=El?01Hv$PpK80`YLy*?H;Sbx^8YL2(Oy5!PdVZq#8u0>jfy}qL z%d9+oIx+ z?pNcO934Ewi(7{Ofn&)lWC`fu%M34n5ldhp3NRG=eju}=Bk=}8!*7UiyRxE$c~DZy zTYs^R=ArmF@2&<(PWV7LLUfi5nfy69*yZ&KH7PvGT`3{)-UB1oiZ3eRR0>xJP`3nM z6ksIF?^r)ueCCB>=jx+#I})sX|JrxT8i5j{i1HKk^JJjxG%3?CN?!2*uoWLhy|~Ko zpu8{a=kNF%UPu^Ev8q^deq_2vU_Pj_82lSR=cVAi(bBkB(q;g$^Wz97 z&YtL#25nV`PudyK1xi38xpGnZc0eoy!@@dn-NNd)R_5Md=pY|?+tdc^SXVb6BETlu zYvn5RsmPrVi~g7Bel}GvNhZeU!6wGM=+bDKL5?t9+}HgmEoX?`S-vbw{?Pj7H5_-a9ppy+G#zAr!dI=RXvYavmTrO%h&1!cJo2ZUC4wj!%CAZlR8ot#S&+0N#=J>U6!AFhD{%2$ILhK*5Z= zv@9-XC;0>z%Q8{YpiBclYT^P`vg62BTr|}cUA5P%P>wRaoD-aQv1>=oGnF!$h+qVi_MPC>w=YOzR;$Y#+g(Nq)Lw zkLQ%gbKb0snQ%(oXa27isEnrb6Z4`D#wE;hn@Du0Aq9Nl>zvHdq!A9N5cy#p&a|)c{u%{c!AWJ|!qGP0cveW`^kk{0a4< z7CrYmcghA&y5>LZ5fur5FuwH{+Nkw*cv-sp6R4Yp;?|Rr*4{d!W)q*aDEp46BLgE$ ziF3sl)tZZZgOCy|cj)ceEpJMi-*^%-_a{=&*grHcaFSu9y`a{Nxl3RzZP`*H&VF2d zPQ&L9nw#AE1@G$~xUSnZUqZ<9L;pRQ8_5z<$SeJlB$^hC(wvut9>=5n9JkJ&R_vo4 z9K}BlAPnYaZ=H+uKv(xFZ&)+R;qyi3nV+Ie=(gxS3-k6oDxY$YlGz-Wy1L18 zZ<3Iu8bd=65O9jpzsi!Ewqkx8!h$C~HNm3tI6B?xV)HZv9H?%C%LVd*%#!Scu^OwJ z+5}|ti7p^54}qXz6^s6K9f@sFBkE&3QFfcsIeQ9X&6w70gHn5PwLp>-_t3r3*p;wk z(aC&m)T7ek?9R`TsTy?M@kOo_Oe9HRZ*o*jBh^waKk3B3pdP^oG41g(RF{Ra*K$?s zV3H1*)x2>dQ+-^8p(#HpAZ(e!kh1EE`w{r0kTfIJ#BlTbFujTk>Su!x;*;$F2MZkR_&WCirgD`DNS#(Sw~RrpZxO-fm#+)Q;ii62K@!i9o|YJnyg~juf?_i$P4CnW+{L?^2P8M;U3cE8le=RwQ4e1Ks`_TJ-xESR-Q0t|imz^}>@6_=5A^`9 zUy7iBQmoTnM0iESfjhKv769lY3oS-8Ry+>H_Cx(o_Tq;4>y4FB_$ftS9Mm{8<@cwk z12PSw_Tk{)|Jx;{+N~EPY2ws?cU%~M@3_upebX^xA7PJS3<`=ZGkJDFp{#;xNctUx zHL?P^q&K>?oDJ!#<@ynJq)h*{pE3Ml@O)6SxwPj+^U|pCHrb8`@%I`9IR0r&g2*a3 zj2N`5$FbAJRR*i)3R{b0%dc%O)vJYdwsm7IRSz91Nh}R)|Gg)0cMdcN;0}>#8uAR_ z41GVXWB6H=Vz5A&8fPhU8!boBuUA0o&R|rUyrh99PyqycMdkGL z-=DvpaB2;yCm~(@>nQ|NIdvNaiW(sZzD$-uvHPA;?5iIz3x^L+ih}ALWH=0zQ_gok zM5?-J91d2JEDHZmbB~ycf(?OtvQ8~G*4L$hH+@n%br=Oy;cs>`X6;@Uoj&4X62wk| zY0LJ#No1?DyV5)VFy48%8z}TY;|!=nBQ`{@Xm*tc&oLoJ{*b9zQK>nrHb*9uIFN2L zaA!6F$3TwPcIM4W`O=*_hq;0O^EXTR#zz}Zlkc`-?hVZ<*UhAcZ-ikA?11W z!l%oh8wyI4VztJ0Jo$yvzE5%g!sfyn;}9PdC2L4K3sg=Md?-5_T@rF_nz25@oP4bXC4(}r`G#>mq zjfNq|y#XO3`Z4`0U$d7{(k=Qc575j1ZQ;~+4gkK^_y54N-|^Q(G`fgGTfuM8lL6Kw z4ur$BbpWd4-ChQKK2Fvdc=^Y@xMv3-^N!{W+eDSTGz94`ch(Pja+-%RW7Xi9LJ|Ep z$2(UX1E`p#F0y*McuCF#HGMI*j;y+lD(4f9(iWDop0~3Z)^A`}rv?$juOCyg{<{W? zEOhLvKcC{vf=5CJrX@g4s6jZQ_B=SNgwPaYM8w9%o{P-@M$ZQL=3>o)&N^veoI7GVq(BLcm=UPndC_MH|@!=OQ!GUKaG#&aswd z#BGw~>rY;t|FD%^M>#O||5f30=R%_*a*!o%S$URB}D5Gvl)pp-ipJ8rCj_jt4*Z{yrqc*R4r z$HgV(e=Y~a4d(G-9$>oR(z%JQf#|<1Aa0OcK`0_hEg+ZXpcG_6uxE%aS=kZnC+@c3 z#MGGRaww@a@W#be$OXKpgzJwipfBL}JwHen#`PKkgbGujAK*8>h=Ri}tEo1zks!@f zv5&h^Nw$%Z_wswOdqVFjU;N|;#JSqxKWXMUJ zjO((PSC>~cJJyZO()%5cbnwU2&=5+UKRl4)U@7mY*EOrEZUpYn!HZe`@U4YxQnO_7 zGjO{Us#c|olHmSF=y^f5$kI82H(mnJZ!9>kBV=IeT>tR(QpMT}S4RC+1S;+N3(*f$ z6c)ZQ;iLe>=0m?Htrr_^K>1MnH2sCMzy?4n`KY+g#`pctK2b?{yV8N4wK>)c=4kzA*2!ch;u@(bv4DdO zSAv+|Md2$YF|I(pw9%-F6Y(qr+!*f@Q=9_O@% zQFkMPRDT1xhM~tT;(ymchvat1A*+Y+Xlr!zd61N7|x>JkqRl8?0Df&KJMtF0PKe|_&gkS!&PwE}V1`X5?T&ts2EbIjdt%KZ7RyW}?@ zl`#8QWSU{NDjR~~MSTSLZI33YsNv|UL4Y~wR$={G2QrPeZ81cZ;;tCaYnaa*pRx&- zpZG?-KPQU44?sMse13o|qK{_8@4?mIb8o{dG;&hD?v(6Z00`nE9{Qw8(C{{Y2>-km z@gb@Sw3t_pV9$%$dUvS7#NL#R*`H+ZUvyS6qHC+{_#GCGY@qp}#S`AM8at|(ZC+l<}K7Xy9@y_1j z!kog4k=`VXKBsGLXU*yf80Xa9&j9BhCz%aWcGJS~A=|bqmDd`oyRHo!#T6Fpm&LKD z_|QYK>R2z|C;k7-j2H)Vkng+j?sPGn(Vyy|-13@}(^_7S;f=DQdL;IpRLBxIv4|y> zumN-{B@x<8oWVNB`-=euB0Xffp(R-CL8M#Y1wz;!Dc}4Jp)}xJk!wes7-~G{WVRkh zVJD5v1+^q!a~^XE1_6&XBF!TxM7au*DJq&Fz}I?i?HXg27=ydXT9q3mN$#j(y6Lv#hX>=;9kMy7lXFKqbp_v1ZK@3R4 zUYB6KWRkjAODc(5IbxOq*AoSGX^0;cZq>v2+)PTKptw~~^eh+WLr6nfZs0q};HmI? zgbXIVg!WN}xtRk|4sw#ZfXcn>sCfGM!R~geKRO)OiKso_NgT88TcGnn^}fB|cJcZY z)vSE}Q_qyj;jrVFb|xs>#;Bq!+iuvWYypQ!9&tU+TxgWySIc62|J7*puQBND2~SIVjWtEEgxL(#GI`xst6fw-Ev^^ohhy+n$xekSWy-rYB_te)lZ+Z$1IeFx!@fiWV19 zyl3U(f){k=deX4qyI7-vi8zL9$J20=hVde(u&lNh0t2_Z|9*;a)ahz!oInQ(sQ zu+&^SLJqnBa#1`f%ySg^9$ET=tqL&oiL%oyyL^^!Acb29%+L(i@7V$Q%l3q{#-Ft|GNb3*i_*Ka`x*ONjt_4F5@gMv? zga3Q;D{@uIiNIb8b=kXvaR*Iq|_1 zUf%%dSRnWUyfOz5&8=zrEP*OXcJaeOs1qN{NMsF)O?TRx+=dNAO%&J|eel3;^Mk0d z=-P|GMz9=EiSDhRnqVe{tnoRT`DbqtIRtkF^ zbzCcdqsOR5nfOsK4|wcJP=ZBwoiouZM0bP#;Sc#eUVVF_jx*U%(9EgLDlD`amJ(G) zQ12ArW!5)wH_CWaY-04C$5n&DYZuIde;Svu+4!egdX78jTLgmcl+Q5DG=h^usIkK( z3NS`nCP`?ZI*sEnwVt1WrZJdnqPMO%E1t}i6%47Xq09yp)+Yz87Rd%=4FCo%LEqw1 zEUa1>zW26AcB%VI3WyL)Vt#=n_qebs%Pig}8|MMUtumpPB%ETY4i5N&QSCz=W|u+? z3%!u>T#}bcUe0c(%TZm%5sxEj$#sa2rG&a>6}aWGl8K@OiIAJ7?G+AvzJLQG#YNgs zPKO{H-MfmVurOw$VH z$@OLz9O4f8L{-emp`1H2d52k`{)+W6%Q4J}jFQd^qm&(~bIsvnSbvC*|kj{6!b>hXZgen^ns1w=Z7Zg~*h7)WzduphUa7tBtx> z&AN+MW!@>x)CX*C_*8^6Gx^|?`u{o&2U*u{I(WEEG(Yw?d-+Zr9b75lE%7L3-oRxrWR#VUBn7 zxtj8`mRW{sHA)3XKU>6F(^t+MQ_in+WCj1JSk!ld+aoR?0p)g(6VX)CIe-LE?~ei* z*c1-LQR?UTe z<)uMU8yk9LsLiLB$9Qs^x(Uh$E}70%6Q@dH7>$7fG_;9Th9XR_qJYC01N0>sNMcMW z&BuUo#1mU6(T(yr29-!8m`!_ms!3}~;s28IP)+E%N`ED3F4Hci^mSC=k@Ee3B?Jft9?;imP%nKYmiQI$ ztELZy_!a!IC`(Ee;S}jmXDIB#OFz28&Sc=%xUS{4tlSo&ObZ+&E~YQFRUV@b9}^TC z+Lj~WZ-Tm+KbvrzAfc1@FrMEEztkXrb}K7D6=FbHq`xuk^J965yD+QMCL3Hr%aSPuNg;= z?j}r4^+{<|XIV$bfsjKx|873DWyn)CzsI0M2OBl2qDJ8S-O%BH%oKyXG-FWPgh*$e zPv-o+8^`QIL?FD&G2OYzJ#m@6gv+Hg#z>#Q$g(6Yj>%uXkez2PWPt=u9KG71J4#gJ zjr>|-rf%%o>0lhlFZ~w%#sDLjt*a(km7`H4 z>x(|GwTo=0?MsEj@+yn6Nx}$XQ z{QKQ4KYUS$28Kr8WB2KX!j`%hSx<8HSK~5Pp1*e~@7|Q&=oL!uB6z@k-X;7I7)r$7 z>K!_BwDK!+#@XFss+s-`;!rz5oVUK`%Cr4Yv@1%p!vQt%n*ct{`MYB_FhXr!cCqdc z-X-b&fW5Zo{?N~?!|v{gQfgR!bN%dW;rUdB{>LwOGP=RqpbH#30^TKr9ZiTbt6hg< z${?&cT>J*mf`qWvNtBu=h>q$(mfc~~6Ek|~c9^OwnHc^KDxrk7=ylnsm!l*i&klRE zqZ6!?Z%62n4{gY-5tA-=JbUixC+CU!FEn3$fmO#JNjNA1SjjhwGM<`@`9x-r_tlih zpYuuZNjCX|6a5usJBSJd{4NSBK++Su-UJ>U)h4(};u-ID@V$H|DL{41uMy)UBVvTm z6Kdbm7RRH)I$%MAFkvNbrR;&=&JK8mgJ0w*vwxMAjidss&UtZDm0XRz1M~3_LaXc zRDmfo5Wp|`_wFNz;`rH9P|n5xiH8KV2D*rVYfD0`J!X*J03K5YkL;>t*0KCmzk?CF zwXs$ZWRMPVss|YWL?nLkwD0?vuJ1Zwk1+7lj>PS>0QRdDz$ROc8p$OENIYE-XTb(0Pvh!iTou$`1nWIv36wN$wx+H1hshi7x-#o?QQ5wf?Dp8z>CKz>(QLEn{$A9Dp* zip3$I>SU3GCY^LSGe7FyU{M7;2H!+p4}hc)4ER7MnIsTiKj;jzl&OOl?Q|u4fd}le zFk3^``duSsN%Ocwvh=Tl+HGVXe}V&7)A5+I6>JKZ>u)U?I^F{7#0)d9am{ZWHpEX@ zAFd?ZN~8I0SFPBlXwTO6o#2H+2YpKLG~2=b3iId9#oH198Xy8ZCkbH5L$Jr{ce&IN`SYv5><@Gj1;g=n9-d{9CfhNYY0$o)q=pYUgjqf3y@Q|nb1YS|w6(L5x zyuxmzgdA=sQS7i|jzB^Q4)f5yE1(xcKeW0#?S zZAVio1jX;H0Vb-l2RzM){U%{u^r+I_X?OCrhP20 zZWTY*5?M@Dq}s^H829>4*K+lH&~3qM3Vo3d$YcydJdPMW;Lrt4ohzEZDyA{+X`c2) zH3YpLUqmL0`Fs?-qZZe1m)*L+K{eVSuIM((4S)ouGm{1^E(xuG&3s5D>&v2o9D%o#cD~Y7s zH8O@$aHG9U=-ry|66kpKGz>c!1&)JmWj1azVT)FJ5T)PW`heE7+0GXpx0CEiU!e5` z7~F}T7tt;TBCt3!uk4Fq{zW8P?!0qhfxq^X)D2AblI_}E#9^*Q&B{o0Xtf3)s~yi1 z39OsYpxFM#fppp3VkXds<07B$GjFLDuAT41$FdUZUKaBl_-CxJ67xl;jV2Dj#jp!< z&qrg)EU&+y6m$>L1V1u1J<;M%swzC&9=UyS2OXr6#IAL;i;6vVKTauYq|0T&ezm%W zlIGProHYNkBF;sfwEaE?n-udCCMi3_SvbfytWJtpak_wUv}r)9$mRWCq`h}I*Ztc+ zZWEbF$d*lIWn_q+hmqiW)dkQqp~71lD&TC)75odpZoj! z-p6s@zn{N4I*#;yzsB=C&&N91E4Zj-92KQWNShuH1u6|8X6A?aHKgj{JHeRP#dcvplo-F>lcSLlW}``&8&cz(_F^0OnnfCE z{*rIle6FNy#=Ajm3pI0`9KJ;6UKF2i_@7oLJA{q-gx{;E#i#=DD?#k{$^F`*C}J8o zSQfH+(@&>&ihXTJz?tSt3lue7i*ojL1Glq%WIYL>Igxx*KpO+(yHAbnBmcm6NUCYW}(eti9ktH!s-&r3;1bEJAkt?u&K+VShQxI zRBsw@+vNwxZ;~`ug8z+EU5nqCdqyq=>h<*#JHpP0-%QWfj~(YV>^Q9dgo8Fv;l$Ml z=P1#KFF;j83^D;xO zTE=bf1I0E!=y>JNMbN^r>Yu!oiAbf5H$30@k+mLZNmn#gZj&Ox3a{X^kw>MxYumrCy3GI7im*UB- zp3$*q)98<@D37}wQ(n?i9Q~);5hLG`&1ksqkUf?uLp*2|wmc*T_UP6vg9Cj4X_mFt z>tFs}S=t|ZHOzd!oLm(rH(THtw(}|s(NA^V(GS&ejN35nJe~a<@oE95Rb`b`DqyBM z_?vjR{sIx^KMdLgxAVNL!{n=|!_?9+_!YgE&XS+)T4UV2&r?-8D!w3Jn?vOAS_3lr~Ys z-E|NI6`f~Fs1@g*sm7jW<0F@!c^#mRic?RaK|N67vQ0cHYaf*nEhO$f$pRD;VoB@H zgbQcC?ODgoTeiD+0A`b{vu;>-Pw>k`( zBI}C1Pa7K`#{~my>_8c$D3rNOX~*lc4C*spFlUKPTpOqnm*V?RH4IJ}zUu`W1U#n2 zvpb<_^>q~qmcfL){tM42U>>=H1T&Wi-KlsR>*3lGud=qp8fY`@ESG=;qZPD;4Du4a zmkL^tk9S8e-~$Fj)@z$|Z?VSq4>)z9>&?xk&6hUd>vd}X`&2%_suR-NZwJ3lU*3AO znq#wNqLA_svD($yymkUU9wkWhe(3VF)v^O15}yok8U8PGarR|H$jT+ne9Ygt^U035bIaCvM z)jYH~@Y#oKC$hFG{9kr0x(4Wh39I6c<=uUCT6{}U2jdGEa0vckosp*3-E_)!sM~2L}>RZ%49Uh%U_>1k%avNne%!;<~e^TN?<4d{$ z8fhDFelMe_OQ9k#J|Noe98Fs@au+Z#-D_jMYazy2v!7}Ce!Z}D6%jkFGXK0D+3vc@ zdq87zT6!O5DvT-Jz~Gl1JZynmR@xv7YOHCx)}14wji4!t!ND9d?vFj+BvdYuJ?MAa;L6eyvv^nwmNep(0_Lo5>zwIEHY;DoIz5_z6b>*X z7FB~fBi-~VNJ4A_4{?)N7XV6P`Qh6`7BAi|$%!yFrv?7}f?saCW0t@Fw6C^_{xC-f zA<{FAo$5>=IFDqB4%1WhPNjl6JRLj*J&?rv8OXLbV&5x7wHnQD)g66V53HVdSm9FE z6h!2;o&XlI|NSn2-N(b6kZ$A}+j?8rdjMh%u(!1RI6TrE>)_ZGBf`^ty^6a9T|cVD z*lC+-vohbr$8?-cH}l5U@m=EsiA?au2gxUi@-4 z@#vnUJhb9UY?DrPtNpM2=plV~piy|}uoZXi{y*0v7_Hep^V#}-T6AA#jwhIdZJ!6z zkvja|2i%7}EhFQ;)|>QCD0-wEPO$3sisNJ@jRkXOLE`X3RS#Gi@lefEyQBEFD(^bksaogTgeRpJ z_91WO6g+X2R3y%7%}_`YMI4^d_WTJtgUH1tP;ZDz{*}0~q*lFE0#llr z_VE(nA&Droo6qT&jC-pj`M_B+akpXn5~8+Wmu8OG-?~+Nb`MgQ>E@f{KjgJNRg^Sj z)yPW3{`=(M?ooC>VX?m=F=LO6oj4+yC@*bmkZ}+e(vmQ=vJNn@p3s_z|vgZBo zHk}}0V3AzhXmXEMr3(SvwBVhe2OM|xY<&WF-ymJ%ad2h!Lt&0HH^Jdl3Q$}Ngg$Oq9{{k>xC>^p+uYn!xHLVaMf!sfIgn``$IYtnZk=BD3ClJDgBG5$TtH zX7A*tq@WSoABP)x<_ zM8rT*;qaafF!+Uz!?C7^#JBs@tgS>!li<}?ytIq-ZO!Nqoxca|AEB;hU<{i;ajh%L z4-ocP8m$I{{kc4yO(0Q-2Q46clOBQ3C8tbnpsWw)5-~VR%CD4zA+AmTywFjylhxKs zS3e_66UQ-M^L|Pr9PRVbBA1P?p$@wE8c(D3&GA6VBQNJUgK|*JStp5NK*SC97s5uBCwf zEp5Mg7}Ivlw`L7W5|d+I+q8i*rVzF&-Te$Vqb5T*_L4#HzDD=Ad_E zh0p8h4d+JBB`DE~tIx#E-0Pu%x&F2IX-aHwR&94;vFy70w~VI`M%2g`b$YhbHe}7M z$r){TbC#Fq2KHlKl;M;akhwFI}*ciwn|jB zS&&-s9cnJ67vX--*VUh;h*E`#H^EOtN1H9j9)1ggMF? zSWHcU!Ni>%cAzdjXJ`KSa3r;&<>PP;nF?A$y}6F-Y{I0#|0s0HoJH)q?h_XQ4z;n(PQ#9v*e8}=GkUFsn60ZW z&;{-P-VUW2;dC?Jv{87{X4EkjOSp7+8OFXsPu3s4MX?cl#u>k^`nzVyXg_hWUv(V| zKDKvT(5KT-^ViOAU)3c+JETlX{aQ@&x?;M1?_T-xy57XL!K7Q(Uk`-A<}cj2@rT+% z1eby=I_6ZGhmxHtx+*nQ3Wl(S1s|{#C6|f}9>Ln9S1LJjFHCZ7Dl50mqz-u}Cw5yT zlM7w%*Y^2goa}V%c1G`q`0SYe6T8@zyE`(bcFznMFHT>4+25S3m3XWn=Xr3r&UyLs z5*gt<w~+JV=;ZSUzQ*2AFI+${Jl4)(f7bL4JIh+wpA8QDAi!c#-)OYYK0YtPOskrXwNS0(-eUCQ>^}+gQttbRW zqB(0CoUOY+P{_{zCVlF>mYd}>mXuGS3P(C|cdv|8Cp)tUpV@%ob>!%>RH!~R7v3?B z-C?kf;yp=Xx>0T7(s2m&+V>gLkK#&>8aHei83wg{h7mV|!@rr}$OWn;I3>d-&$KWg zfhAE1<%~EK@@Y__iKlbC4BCKl;&oe2An<~7CsLljdFCzIT7o9pJQzb-%i#;~$dPjcewEO7pqzIJ|g~K4= z$Eb`>o5{p5Fl^(MrkZ8a=9k_2A7rkGXET@p;qm34Tg~`2Ot@tfR~D;9ZHHL)v{ud; z&H%f^ATIr?KBK6S!$ajsW!$U&I%fh!U?~VjM`?I&L}pUDE_Lp=@;XnN9`e+)HYE`ocmaz6wXF$cuYI0xdx6uEtm}Q5v*noN1_2nf5wP|8hsIJbpy46uEw-&f2HU z$}C*6H3qrRjl^bkey5*cpO9y~qxg?sAzNS)THM^sB{EqZg`kZ3L|yVqFV-~9baf_Z zA$^qEvs&>TEG+#?c-OUvh`T{jP76+6t@-MS2t5rwMuDPg8(qhf_c@OUQ?FClL^LWI zXq=+QGv=Xe8MGS3dDBOTc_MS;nE$f~;$=zqypR+OLEyvb7WpIQRelUofj5eR3+Mw1#(0s7RRUkLWywkW)4_- z=B?i|21fpPAE`-`T>DG_l~W#dC?NdFE;v@3-~}&ABIJp|=v8yPk}3M( zJ^uShX5HkNhmbS=8L!1z7i#QJ0169gD5!qM*2f#Z2$VbYkyCV$sPW0+yzI-WOTBd+ zcKB#P2LcCzr^xRnt8^0SZu}n?>4Qwcepu;7-OK0uab9n5O*Qkd&FW@ShaQU&#-;P0 z`ypA8nHDepA#?Ul=7!VQhEzRs)E~0ZHjFPU$@dGjl;Lr0idGfhTVXQRD1t$szbbLN zmuVe{9ab6V)XNVToK^Ij4&S9LO2eZ_&Q3JAw0_g-UQIvMJLfm-^?K(c%x^OLf^~I=ozCTbmPT)XYsz< zUy+>j_5EvyT2NSJU~FTjY?l#Jj&!jk@UL7^?E#u~DomFo8*+u!m}^;*bwW<(nI_op zj2t~y2CG*9Y-|R0J0aLus+TcQ`!*Wt*$72-w{>^bu3syns*QbMG-FJtWU}Jpdq&YO z^c!*T;vk3P2a}-kKe%TlR3RcleLYU6Vb{F=O#eGU(&YAj?v_F=jL}^gD^nW|q2Kb2 z##h*Nwrl=ooNdGOv?OaDi)=nGa|jm~$Xt_wb5j{hfc>=IqsH2Th>70yrWrRt4861k zq9W+3VwhZe>6y>mpzo5haF9$n_f-E_={Rf#3TIb-Fp9&ZK?_J}F@D<&iY<#tQ%sh3 z=+Wb$?XiV3kdXQc&tAF(q%9pauWrEJBtIke)Z01f(e@_P zwa#x`Qn6Fqt32Nu4TPG&+9JmSV1YlNl*U+DEqpoS(2*B}18Ks485Vo?HB|}J-IaJ~ zN%1(#2t~;=3k`yU3%UZOzoroNK@8Dd>IRihKh3!0u!pX<0!8;nGi+gAc4zm+Wad-A zlM>DT3M*l9X{Hv27FS%QmxFT!+MJJ<8w571vQ3D+)x(J&So4 zDi-4^IZo5LXk_7nLN;pw^a` zvJS z;dpwQ=?oMF;J_|Wn>s?AQVq=Wv&)O+UCwy=0)^Lv8o~6!Jqm;Rg>-{sCvanGoKCzG zd~xCW1xVB7B6KV|n=4kZ<%%;A?J>A8TpNKT;UalQYhcxwnD?TXyldx}N`4FM0Kjw3L-Jh6n|+l_81WHMgu*<5 zWxzE^3BGg!Zby^JeUfx0;t4=wIJ2a9SQ(?A2I^7XqXEQ90|~LOD)@XO>9XL2n>;w- zEbh08vmGyPF!AG0-w!uv$HiJ>8?Ry$vqTq&Jz0I@12sQo#(q4ZQkLSN@9`yiB1caB z(9Mty`MX<2e~2NtIu`nn0eP5JCUNY`-yH(QhgGo9 zatr4kL4Y`sTafkoL-`$c45dIpNnlX@n-z^OZvh;WpOmyfIVseMVtKs+=oMoi3uIV5 zbX@Lk-aTIE3G)@il<2Qo@FY3EQO917`xxVXA@m&xkmRY{Lf*f;7VgHZ?xIO9rx-4u zC2`ftK_B{=n%5qt?|Pjqpf${m9Gb8w&2VDG|=nMER z4_V?3td`n2BUR|f0;Ju$oyq%Xw7h4Xb+#6$<5ut-SBTej)@`oe-o8 zjX!qSXQySCi?)31{+`je@fSF>7ThEpi?ewu0D0T-C5a(zNz2dT@ZPDLUE`W`7fRCT&2=1s+nT^ zXndzC(sRG|)>kz=?V;kiQeip^b&-8G#yvGCpVJ2mo-bFbH&nIdoDFc zhIlp51gY=YbB)|%ICPx=(>B@;xKGs+=yDPF3Fj&u*9p9eDRpL3(Jz84b>PNp0rce* zQ(*A4=)g?VRgKgWy3?EIN@@U^d71Jp(2W>z{_YIx z6T`He;jgN;9^WXMb$d4Mw#e_`lIixlznb<*p=Hh{PO`!F()Oc{@4pBxUpS)h)#um3 zUujSi`}Y`ab15Gfgx-#lk+i!0JlMH@hl813<}^fln82pUtw0bG#yi@t~CIo6>Q2w{Nlr##9#QO%4Bza9cW^JJe zPq5SDCqx3kL0DzfG;J_rt#S129YA4iYe}SST^9*ffasf5{CI5Ya;#gMmp5phTvqf& zAMeH$-HAOtkePfnX@m^UT_-WVmY+RzKXeAx6_@W-jxvhTaq!VgCtMxC=G@MlPyYDq zL>IY^yjs!Sgoqxgd!>D)e5-svHfVmn=&SiHotzQAp<(<^Db-BF>*;t-!eB*0H+FB9 zX{&~F#wl&U;dHv??y2|Z*>PhoYD--a$1(=3&BPJ5JH&VQj>$Y7bjP~gx8biRXc3gD z{2tOhopp6gp_>bTKMe$rWvvSqZyId<>`d?6$W}gm-o5e=(J0IW9#4U*ne_=dpeJ_!Kx%i@h z++&8BBx$R6%~klW^Kbq%h=2V?7t)IdnhE$QYzms5LIP=cT*vKT7wPwCp{&>C-xaa; ze#z#KACEgaFU)7G%-NLddpE0{{Xc^-&iF3|{9$7MSG4~tqJPX*e_h&Ex(~9~|LS}{ z?0@D7?f0jh_)z9!FnpuCxBdp#74FOWr2IcV>z4)fhozEQ#hanY&-Tbav)@7Eq^b_z zDFPBo4B$(}e+sGS)3}#ah z^&hm`wiD*#V+WZUzJO1jzBb>qz7A3Zn;TQxKN~1pH=&1nV1H2%WojIRiKP91$<&xQ zK(IvLiy8c07?!w>LY>P+kT25$P#{HtIL+nrZ3#e}ovE%u(9?BVq?PffjRb_iR|i`6EjIeR{^f_wItNqV>e{UDS>tMz0lF z4+}eygYfu`62%Y5fOFaw|IQ`*Vf8V~_4i;^c;=PVDuzqm`@dZu!Tq0;zHs<=h^5D% ztVe6$mLH*_gr4h9E3o#8qwydm1!5_3tcCKqg2l{5ICb>-EwCZ{Id0ee$P0`mCZ4z# z(LK8L@5{y53~9-xLQMJQJKS;WuLjgi4C`@Np-wUtu7*mFB;hOsZ=#{bPD zOdxWGZJBNGbSR|{L%KdQ^)=uJN%VU@daW-qwDs%lmwW~K$*js0Qz(`9%ClA zdsJI=sXV80w{j+_cDsXFuQ&Gb~6gpd^KNo zUJ#_i!Vs+41}3eeurF5uh1u$ng?mC*PS&c~;J5zjTMNV>;!lsG^p!8)kwptRa{Pta zUxu6u<23LtI^Kr3;ASZ(y{{}DgR4OwE%rd^ZEZ-BZSf3Z2u>sjEWrX&pCkE+*L^e&v3*ipDPMkC;8aSXdzXLpeD0~8d zQ|7)pgIvlHiLiUf1Ji$E9R*eY!y`uXdWW0N{We%YW(2bX27ci#P^4mWvR4yv4j#&e zy(dX=gi*=*xynv6?iEZG3mVPyLV9H@c3%hB+On3ndw<_syL#4F<-&i*8gkl{b*1L) z_&J4Q5-MM4eX3bFM*T^(`8Tz&?ev{&Oad3jwMUr$7i~y~!30ZJJyK~-r!L*tcRa7w zERyUrh}pQLQb14L5Q)L1E_Jmt7vkvual`Rk^GoVdMU@-0)W^>?ufwwW8y7^EfU7Uu zS^29>@A&E1cEY@?AAxZNo!mQ^z07MM#-g^Xa0j#yFLz)(j}--J=hHRpprqaR=QnHU z;)px`YqZ7D<%}ueBU)m5oA96r*zr^5y#uMztjM+R>|Qlz4Os&BZ%1@A{c_FTkbIfF zVIlE=>xo4S{r6B#7-c5wLYGX6Bv0h86>}Vp72p7F(e{N5pnw;@vxNQPu0cje6KXkSa zGfT$~d6&sEAmYgxkm4ibrc`zBEE#V?@Z zFD{~$>gzhwSWMW}p2t49n6mG%%_t+q{n7^GJ`AnjfrQ%0Ss#EY)-@}_O3Hwm%G7w? z;O4Dcr{p33;Jt^=Q*Qs&Bh>P@9oT6HhfSZh)74<@!r%qhWV6n) z5Jb zKbA;WeXQVKyz#MiLzZ0VhPT<4=}QJD8GGm2{_c-czs-cQTo)qt1}@eTU6FGsGtykR zu=Xys_j6`1h21mPj#>9Izgfu-{(f8b7K~>9H<|fO?L$uw7r1AR$19E;P<*1KTcMZOe-8E$S5IK2eo&pkW z9)5f+obn(%;|$@{%R?Ig)l8H$Q8Zy&6Je)<+2iV@Z1B-G&R~WkJQpFoZd9e$1jtCE zk@J>Svh4t29RFR)F;BEJYupeT>Tv{AUhanVxm3Roft}(}dxVOGJ#xG_*YPXqqZLDX z)cH0LQWXmJ452iRn?%|*X5|3tr0P@)RRK(ZfUXPNnznnAQ`y6dkBYy|d2_W4NQu8a zNPYgdfl7nDj*1TF^~vM_t$dCD1#RNyUu^eB8=(-v^$>?;XT|?mz%L{%LNbBZQXUEC z%{oC+ZAgiC{~Ot84Z#epXUSnmrq+t$hhITcaSj7$l~Ygz7edI6@UVmYBzHiqAUxPEmNI zS-D(OJvc2sSV-U^I0T~tV3dzxI}Jfbgjg07+sn3K+d_C0S~Fudvp0}K zOaErBQnFL8MUm0JM1_@KyD?XiY$A1k$L@4$W@Vf%PqpvSb<;*j8#~r1%4Y!!Bxt}* zWFrIRGXO(o(Eu_VQG$Zo?-@UDPNvBa4_G;?Rut zjhkz!>)1KiDlIMEFbaGk|_>l5O$i7N#~OI2#+akGDw^_I2B`wn@a%NHFRgte|8g^n!^fA z(awQQ4jetky9-|OANseMi;yj2u* z&KOf_HZm6HzA4c@Ab9`C6579W00&aH@u#}=O2(4#d?I>7yXyP`|Hu>80X#L!_wJ9_ z9+2>wL{^_6TxGZyG45lX44L^_&l4+1YPWucB!Jg1up)T|>v&2=0*VdIIC zC#otOK>q%3ax;}K|7vMEW2RKBx&gMBt^#Bmly^?Oniu(K`HL;JJk0CEqu~d!VMf7+ zM^3H=8fZjK71L#YIx@QtNHC+!i6?16O~gE5?Ue85*m7o@c0ZT6+}2vCxq0V+iad;? zuSsfg{tp!yweoU-LEViHbhpkQQ|>UZ>S-=kfW^9>rnK5v-E;6ejnQ6=$yZV9YA!#7_ zc2o-GF)r~&=YlAX(s+6W&BhbFeZ;G~1U9%ul@8$#2LgY4>PcT%w6VCJN3b!kt6 z);p6%(4s*%%B)0hB3Em<=BCYw`12b-Tv-ocEUQ|gd5JOpB$B;N%>f=@@+4kKWRK%n zrNw<-)t_KbBgWwNV1?7a3jiuf4i}E`$`f&UBezxAT257veJ`I|w##w7H6?DEH15N8 zDKA(4s9X0X+aMkN(pk47Rs0m!l5(mqZu%Vg1{dLfl5g=}XvWh2pcyX>9J!y=5i@k1 z1drs56_hlbigop?RUQ2K&7dLWu6mT4xJRk@+)_Q62TU3d6Se%C3EBEsXXpt7k5ud< z+PaZTgvSq(K^@&%avAwG2<%wv_Jr>F>_g@lb-ZXj+M4^m{yefmb1 z?c!~o_i1cS9Kx?0NRHaTPD!$l_TzbqpA+C2P{t8&h_~|HM3RnI0-rU*Zv2oG37&pQ zxb#wp2#>Sq1!5jqm^J2i5%Xv~4r4~!&ZMwG>aFrtq#}$oylXJQPR_l07W+aoZvv=R zN#}E@*VLo!lL>-R=Zx8*kS)#g7OXABF6UNx3FngMzU-{W+H)}eAz$L)o6iPm^U@NW zyFzx2QQbU;l*}}l(7jfcJdd;G)=v)KknC?2n%?vCVz!CEqIfjE|NEzK>^=P_S@ry! z*mTKe0;ML@c0mk|v_+=P4OpU6)Lyae9M>1ZB;b0vr|P76kz0tfQb!$9je^dn&I3L^ z{`C8U9SF&}e1%u>@)`*M^iz*7}jPO?}sdv#=86_j_rD|r-2-T@+cTSk<4o8WM z<*fyt@qaljQ0C$7$W{89RFYmHWmnmmdno5=CPh~_mnl5rl|p#24AAMDDL-hKuG@?@ z2K4YcSH<)jrBB0s{TzdLVlJ10)M_G$^bX{lk!IOsP0gZA0e{jR2eClaY-f7*B&K0=h%FYaiENCRQiJC4RmL(x@sE<&mJ&e?Bw zV-MC1v_Y#oqd41X7FC3T$S!KCfBYTIO%;%NZI^e%CEYSQlo%zc`r^#&spv#1Bl1Pj z%VG$+(%#2zmyDC9TIbe~w5ce02wtv{!rv9ZvA)+X&#O4%QXB#qfWaT7D1nD`zBqt) zYzP|vi>rw)P9l>p0Y>JpS@8&`c?I z468hMOj5n4pW!NF0q&B6?W#cYGiQDcM!Ebq0Y;i?$VtQ<_=C-1_9V2~!N!z@_aw_9 zzN?&d(r3ezlwa$yzUE`9w_bS~WA17ZsatGZ)m-Ceck_g^r#Ix+y6`m1#<%wG-o3^y z8DRZr$2suqYoY2_H=OU@<&ji;QB81&O3cIgkT#nn!9#L_yAP97HrJ<D3iNoR1U}NPcXx3SywVBc zbM_@o2FHTZ$r)O-E+O!O3_v_C(B$b_p9in_%Ve&9i%SK%BGIe6|7o zX#{k=ryPWVM(a6uNFM1U$EA*dQqis!u)ClKVKA+Vo`G(Jt(Vnl8;}*H%aX-l8DzWt zjpFP))nt@ys*c>|2`b4S0=xbYQc8rI*~W7D*UM~K2pii}|EXqKowE>|#8c>9;5f`s zw^ZBmAcB=+2w)mkSu~s;W>GnapeQ9)Bo&^9{+MK_!-J&xgzkps7N^dc+J35A)c%qb z;FIw|fRADwn$Xm%jZ?H0_tYvgDAuHqVtbCJ@;vUFjt;V4;EEv&k|H?Ox(S^)2VwF;0d0m)+ln_bm& zNrRw+$t|W#GFWY9i30Tyq)7kp%ficKB=w5J#bTr61|smyHJH0e9nBqXa}7RRyAiow zc;i1-EIe`tR>+Y}kS(bc;{~KRQHtuX2=<0&I5PU>Kga}6zVNSwfUagJV2r&yIzeVk z5P@3?FJLgr>l_DynZmPC5C%d)oAbSoIssb6j0TWzDX4dvfJwsk0mC(nDxGOii>*qK z;O78>6Lf>N@DSUw%9v24niNndV64YpNfeZI@Z-W9a)d=Dn(wFDdTgY7>g$y=-}NUg z>;%2Yo(nVJZ%ISQEyuh_1V-XlY#5w#BF$i4y8j`=IX>vemBTi$^O&tb$cF1{KgK(H z5KeLGh~Fgy!!BAjtOUxgz2ncBv(&9yKix%ku+e}pSj2nZ<(#B#1Y6}ftDqG;YGyR} z5=gnSwE{mKQgwPIj;4ZFsx@e_ML<7L)QQ?(jVmSem&et`iOYjK)3NqqOny@VtEpbY zrv~;l3EKCtN0J9sk4(fe9gB})6#QJpDUkWr$3Xb{@XOL~Pv;HHI^=jbTK>TX9<*%3 zy-FRRI_*5FKo_?B%UV%RM6fj#FgVX1qetz6W=G1(uF)IJqZHg;RsiPZQv_l^!x6Zo z!v2Kbsr@;#A_w)OR*&3K&vQP}48Z)^!mi~|FgfU_XierfowRfmm!*d>c-RAsGPY3L zAAR*-kJ$1CD*Ie^EvwS=lPlZ5O1rL{ty7&ymo6iBdfYyI`ljcr8_L5~JGH7L#wS%< z@dHXEsAg%O3tLete03m^H7&pmVhcLYa#J@|gv7|>ExR=74dH%FGXsHWC5VL7R!Vi+ zskHl*ve=SzEB-ulcYn*_QtY~e<4}Xv8T|(0T-mqpjhv=#mFavj z6^bxy!&yCl$Fpx*j3rIFg50kmmtQX8=s(?)y*-K`^ni8R?JmJpn%+Q;PWqgR!ix zydb^3rnE1x?%zr3)^X_20()<@ioVhde_r-TnwhkVF^xRi3$o?k207OLg->XeD0Pm# z;g87OAQ9w!EFV^D9>fxdG3W$kRs;q(@QOui7Z_^oT91cQg_qxNa6caNSnk~;rwFMj zUOHAnOZ{IWZ{{KhZ{{k?&z|o0A?zNe<<}pxeN-2=^vmK#X-j(s*0Gi3QRL|!l_O)q z58K#Tt}{j6bow|=E-`ZY%+Pht8~p~}u{o@5_a_30ubsz4`X_`L%cP7{w6y)Qwa{Kk zHOO8DdkFBC^xK4B+zhskyNpfLFwMgFnyy}8@i}T~aOp!d?U1jO;x)ku0uTjF3gu;Wc6wXDfkS%8l^9}P9ex0?3AiwG+g^@& z2y(@%Q(bbvX1z(EYn+a4LWWnC?dbWcIFhL386R`KtLyAfrVIhd!M|w%z@IR9 zEQ#h}QM?OK1zrWmAGF0Vg$E^Y>3jhN7c7l*%Ofn=GxXaI-m+38>Axa)H`mXBKs7vb zvU@?_${@$c_s;f(RB>GggGwunHNHX{tD^tN8rC}r8&lCD2ri5`)2}ukP(3b#Tc!o+ zr;M$9+}ZlaOn*TcCn)xK626F_?PU-@5ZmrTxI0Z*x9ykHGVwup_3*lmgQmxzOU3p= zs%*{$J3Bj*eQd)n-tH+)SvI4m{BK>Xv%K=2i;T3M!Q$6;gun1}u)fDguu!c3PVPPf zR=aONWNiWWA2z-G3>?d9f-irh3&Z))nj5qf_wMAY8wCw}TcxjwjuWt4LHPM^u4~}? zvM%65!nL-SH$4R5X0n?U?)QH4eZFUmc<+T6MF!2ANj1@Nv}%9SH$=vM1Q)!7(jgG;OM-%WmQ9*8Ag;zk=x^77{UCm{~xc3&C|qg&@c{}lMo#gPZU@`Ehz-_1obZm<-as=Vf%Z@rFp zx_c{YHQO(|$)q*>P#-r*WA@2c)7#Yk^7fklyurWk1o{(-XY3vJ4cN=kXH&S76}mcf zYT=taLwG?M_cPZc3+jgi*m=rsoL`G`J~H%s=nY)S!JK~;vxqupLUACw3&-aC2=Pv| zm-P02uw&2|##)jd*uc+tAK1Xx__mTL9uR>IyajCFfARM46=D$@+Xhd=QINno{eFO= zIzR6NlXuA04A=Fs@H8Ky#1p2J+OEO6gv((JvMp*dY_Piqgn+&K>4yG>R~-zmQ^mOO zb+%w_rr&p{Say(gh<}Yauxp)IZ8le!;vHY`d0ug`g(YQ*bGJm+^-aJoA*O5 zPNNAVg6un(wa9Hde=zyN1(97i_QNmEf1Iiy%BG$lH#?LucirK_kPf~G8;1%Pwj?g| z*PXo>A8g&*Yg~i3ZV_%LVb%i0vNu!d{sg&;Nv(-}a9rN=VQ78>H(8z+vGuWdaBXU4 z%Xz-2Pa)wV>N%m8E}Mtgyi;Aa%uyV-vdR{S&5@{Zhk~{bIfz#PX zJW9y+8%tF7SC}Er%BT)xeC+9=t_$Xo!zu^okg5fNr;V??8#a|64cU^7OH83-S^ekY zPl38I3@tGyqGVxOwMIlLm^j&Jf4QN!38feP&-TE^HGB4x_hHEDO30w?f58zZoaTsK zP2EBbU59eX9qfrKFc2vbq=&3K34)|TTQ?;8-~KG*^%XX^j46acxyrrv#M|T zo`K&sbVg5cu;=a@YKJnO*y1v(6e+mAPqEe=uCe@+~FCwbFmLK2jLD z-;-eS5tgaebF*>z`z2Yu0vf(h`1PW^kn*PziwA-X>9nnNIrZpG)uIBs8Lu`Y4 z_xHClDC#P3V5bU#BYu$4+X^b^7oaoi)T(^N3w8h47_;c*a;qnnZals8mX0T0&Z~#_ zHTn~2@jFz0yVxY>-r;+X3@+qlNEQ`Ff!w#vkspBmX%hIR#AO*FKgTUt1{GKii;vPoo!<@Tyn19MJw7(gjkuK)ndPJrsq?T^>Jvh z8u~U{4;aUfJ$Hir2D3Q9=X<|F9Up9OL?I+dEAW9keMJz)+|uvy=B+6GwvsJT-*}q*fykyWpdOn|Df}0?se5S-{aCZ z`8^I_6Fb-GHrq;M3pMjB;T%Pf>3f_R6BOd)kG8t)fyP61f-e<6ypAX?bsufen1|(^ zubXftC$Cs80-&=DbPdlrf{(-yXQ)~VSELR04YF7av_JR!ph!$Tm|s%(rHQE)oX|?h z@8X&A@kyZYB0fFXdB@gXft}axY5)$lBTW>WB%(yUBYQ=LFKyRgI`)LY{j8TS9e4{l zZ5sUY2X84@c-p%9;@>>|N(fwo7h~}d*ocn;%&LEXJkN=b+>;V-CZ*UYZF^gFvi^9o zwoZch_Esl6Yo*|?ZAHDGwX(W8U6yH51ZW-(FSC2$d#+7CyCt{ya6B)+NU8H6X$Zln zpMi9kfVVD^23=W62=L}zhCS~BH$lgPI&xbW1r>HeAoerrr&0+^;6}?jpi~|^@DfFW zfI$lR8LB}Aap;jo(cT8)+HAmRam{=-1k}*c(&=F^l&)(5_5B|_&o#NIW~#AN^6(k-<|aAusF$TYkSVXqdF7&n{~K*%gPQ*oXKzW z_GX+&)bVpO>Y59>;%37?-0tl6`j(|i_dfUGyum7Q#dgc;CIfD?#fIe`Pg$;ziw$(lwqvY1VzZB6Jt_Uu(eU8Abd>4+c#&KL zBplzDM)}Epj)*S8ghgUwmfQA7s2K^9kh{MTXvZcSzh1oMLnL-J@Y1$n8fCMZ`B*wy z1jrO^Kugqg$NyuP*j6>d{4oq3dB2uU+8nVAVmcd6JYo7!?x?PF0pc-(&IGFx${85` z@FPjHB8e;zE&1ANLdhtGsp(3hMCZGMmp78m6bKWbz*Vj9As0^*&q^4Rb@|n5QU9FW z>@fQP8L`SIwN=KcUuKum{RS43$T@7;Ym(g`&Hc+`ig$-t5qYm@{;(Sm96E4&Yhhrj z6zevaa(zvITy*Q<<%+#t`t7<8`;+1fb#!cxz4B=In)70NA|`>WF0@eMI~qE2wr`2H zq0)+cd+XI~etZ3FFI!ch50|ZYcCiRF+^z=Hjh}7=)xUkN0^)1VFZ3--XlwAHtk;y9 zH`6>iB6;q3dWoVK9x855q}DLh3D41gM)Ic~$P$n!V~C&BI*>f|gbWj^uaQ)~Bz(AV z@|mLQ*K;KIcn@B6j#6$ljI9&UaEBwr6~!=beEI2njFYTcu>UL-UNvRYrzLoC#{)j# zsN9Ex=#=$at|ys(K_V!^mGWnf$70R2N4pqK_k}l%q;zwtg@!C6JR-jS)gO}6o)cRh z9d`vd_4`;qIJJo}pYK1UP4U273G!sR+U5>uP9)U%I5F;^NUjU^JCMm2TTKTzT-{>v zyKO`5o>I%JaYjprKh=hz>7<+X=oS^8j@sbn`&+(8pg|+E4S&esmMqNKZF>Qdu!Lni zJ~Ke-lw<9$bUxk${P5KLFRA;z`EE~mO;F-b$|H|t*Bxs7LuAZN5F@(ACU{DTbJ#Tu zD^CFjaDTGNDW!xgt5N_f*UQl9dc~W7<9bStjF_HWYipSA^&L#jklUPyyQ3iR8Fq`+v1wU7JgyRK!*!Tw z#Zp3f#2H7v-Q$;|%2P-|c}w1CU=uXO*440A!>%&h=J4t7axQ2yvC1(P{J~o(#nI!p z3v1>>f$xf+n1kqRAu0$D-0XC3tfqR83BNt@_(XKk;o35)TU2;}?h(H^L1XhcR|5BU z>rZO5N&w{@ zecdc;*Ayx6hT-ygYD=o;1Sy3;tlS|9z9|UjUvS&YHjY>Qj8vBxZsB6|JZwa`QN&oU z5=)dnZ$B+-v>N0_WtyQsbnnyJUS!tX{+^kjtC!4= z{WR!notOUo3GDplZ3o6 zu<=m-l}Rtf&Glnt{aV|f7Be@6~S#(#W{HE#qJIHd0czOLpn?BqwePIk4}q> zwZ+}Mjv$2KXC!PRk9_H`{h}03iRBdbkh^6K#$&Fx9{zrre=_6G9gBUY$0GIg_oc`n zMwWhBnH$of>^lNdTd+cJyEYL8?c+)f$V)L(bG)d^P|~GI(I0Qd6xE;x*~7+uEHx^O z#MVO(DJ~Cj4T-ghXJC~7AJ*PG9P9r7AGY_--ZLYWk&I;TlD)DrLS!c=C9?NQC7IdE zEJ9?@go=n#c0{&BxSy}CuJQYQ@B29J-+kQu)#o~{kL&b4&-3+qJ|ENhhF=!w5PxuX z3I61>fe*qlGe>2j%ZGC`oTPIKPhT4;W%jZpvBo#{$R8UpB<`=C8$u%AY`@{>WgD*( zM7qD%PqC^iu%|AFl zF5OhV$AZ8A)y?_OxKDtsO2#VXQTxM))6-Ff(>_<>rgMQRW(VY)F7#ZUny8WlrSTL8 zu7Mmb0(Ek8uW9476L~{=#FaG;)Ii681RiUVE^{Lhnt)| zmQUm!%?6S(Gg@YUdhJi%3mcPNN5f)E`rC%Z+>xJiUC6X*;D~kw^KyI*AEDx+B&%_+ zB4k=EdV_uChJ+R0hsE<-MH5%8Rk!z^M+da(>Be56;=Rn@bMv{X=sb2pH^gM-IxxLy zAc_pdB_Jcxy%hxusd*if8d0XbsuQm|anIKt>^is(x={W&gXJ}9NrS)B%X5$P_7L@c zxZe}=b%vCM`Wj^cq4Yzp*gQ^O7WTAHbl>&FF_O_}P5S~0^rJ@V&2WXb1=wxkDb>h< z#AzmkCzfByk%-e|3aP)qB)cvkUq=4TU^>C4<)^_3W}5yjn5hkE3k14GvTvU4%}m4J zh$b9Yx3}^<>vUVx?c$#e)B-;JM2XI!LbPHy86WV)eL_2{3wMXiblb)a3T2Y_x80UZ z1a{3IkMjS($&V5ZXT_BjG=F*?Ji2e#{Oes|k>~PX+~0w%?#LtD96d?AUl_gza+#?! z&kZO3zB-v)Q(+HyxS|7>RFh+V-G(^!I9|3 z`A$do{WuCm{7R0wKvR+;gAn6RVbru|Y7<7MgmS@if7QNk(s}Lm}{UNW$y!QR*_E~B&&EnpoNUJx(5`E(H5v#0^t$%H{9av?f`&#<8 z$INWBiBCopDB^Bk;ZWRLyk_pK>@wbCxDr(a{8LKzCT^RDKG_Z=fv=d2 zraNolUiel6+x&-FaO2~_u-JTR{3Al*j#MVL~Jyjs=g zmYP!AtiqCu#C8~cSD2Jz@##%D<7L;osV_(!00&D=Vyrni4MTn$vMm6p53zs0zusz& zP)T__>_#jsgBj`DNiZ6z|IX}41r*y3zL7E1lL#A$ge>Q845~1g*K7LGvIKKaf2r2U z>_ir8=i4I_u&&K_H-nC^^hWC_NU-@l1Z79qFX*$8hZf_ID zPU=o$e4D(>}4ftb|bFG}>TVdrG z+7Ufn@Y7r2y%`!|iVnAqtp}x4rhKVdKX)SI%9-x*RVxx9)ewEn5UQRn!;seb_^a~O zidr7$M%_DBA9tq1!-$Nkr(U4nCwfQT4gk$ZM=s){iI-*BaNtN(K z3QWYdP{lyG2J%PEx}o~8k3TQ2sz-7=_rZz7f|QEskb6`K$@yFp?J#$;#szz1kyLB; z%gd%g`0h)%Q@+Zj01U!}C|J8i+;iy-v?YvCv)6hV zs+7B1*K%_f!(;gLJMu#adM6C_VFuq1=VDrk`N^`$Q4^&s7>;SnD%W69qKm5(4QR%# z>PH!L} z9~Jgtz$W`MUow5Vq<1Td@18EBhKeE{U4u&`ckbXVB26fKby3l|RCx=fO=93_7l-@` ztOVbUS72BK4j*#|@U};Y$Vd*O=DDq6gu9P;d7$7kq;H^#ujiTfS83C}bkpPu-GH+1RW{+MhT`m2G`LGI<_<(hYj%mclt)mV{`9yct#`LsdGdTh!1& zecN{m+0vWGu%?IA<5Y~2Datj6WSUY~M zC*Z5dA$)t=FY*9k2l=1gm^4hTp;Re&HzQ;vJ5q zkD(s8`4*IaC`<8+w>^S)AU#1H?}r?dN-7Ghj}Y#g6b}@A-2p}pMhyO>S;_+dtZ*v{ zxHPslaXzq3%1{xTraDeqWx6oo2{lZwMwj5TE0f%PfY*~Yoig@Blv~*Lbz%gj-4*N% zYp}k;7k01mqn+m#0dtQ!BckHMcQ6Qb8-soI_<2o0@Tpf_L_6u zgO%vh!=(8<*(*;w`7Da^`j8#eKyg1w%(| zqMVbY_ex?a3Nh7UE6&fWS;tU4z4wLL>tYPAx<*sqP(>yD<{|Db26jku9&x_ZH1zdA zu=R0%RlHl-DrOM~$Hf>=T3K}+v(I= zypKN(`tDt$7p1eDLEJ*gF3H|85i(yXv({u!Fiy+e7A1fCmnx-^mh(<)x|fpD4d&GD zyndgfFBXOQx;9FAe_Z(BzLK-wPhVl}8|!Y%QlazVo&6Q-sEwZya`Gy5o;|1}M)7Ml z*iod$mk)}Eer1Su#{SNsn7$#kzFp~IC49i!9o2~=sb`Od4gB9#5z#)~@rMUw~n*Tp}c`_0)JGDb4MSfC$2* z>`l(oD@+e}zqsgb+gc)Cd8FIot53hOtRO&|bC=w_`=qyjmA?71++C+iWW5_g=>8Mo zHm%CqkgH+W1P%0Wsh)@l8ySY@B}U&e6CDm(OEWYd#%H6Ey6Ys)-@OzSpj9QGjlVQ< z#E$4(%N@(Jf}s_HTFs^YAfl=LN-SGfQ0TTnspEEn$VJhLpj}O=V(Mr29ar8TRsaL9 ztquW=_+i$bY!a5{%MKLLy(@-!ypP(B6!7$G&EUkIwJ`-daOJ+n_P7?F z22)5sv!;*{VR@bCU0O-wao@bu>brSQdgEWNMD5=ywQrjL364=&wy05!A~Ge%Rr`m3 zW;{l_UaqUWeq6KrqxZS+3R>^4Q*C@c*p{4~gC;ctqKU8nlR0)>^!T65@f$MkfBl)U zqQ6T#Do(b31UC3lxe~RDR4kD5j>B zNKTf29x-H+v!c)aYSRoi|Mca(yKs&QZO{JKliVi&H@HI-x*ZXI%voq@eHpIzI0RCn zjCK@0ZHruf@R)cK`uqDU5TycJA}q-zVn)f+&01TA%9m^7T=fYtcUc?{hnlxf5sg{r z-wPlR*Uu;^H(HVmgI-3Iq|+81^Uoi6Wa2`oxDJ5<`CopTG7w_h#d;Efr+MqSbvloh;ZVZ>UXl@TnzqDf+rgSZ}=UA&WyY+?fDSR1U z)c*ZvsB!b}+^w(d7=`!$B1^qa3X4I^rE0UIl}n_!c@6qARS#s|7f|q-v-P~B9gkk( zPcq!93Eh90jQdZA=U;Cx!KV=Yzng|64Ubiw+H)o-e?H9)CfwxiBGAZ z@#20}V{c6?nWJ5P{A!a9^xyuODE@rLZ2ls@f8UwGWaqTW1MVd~%UH};FjhU|e6`Kj zRZ}nSYSyEHg-cE%Ii*HR<~RQ}WQaP<=oK4I!5xu+%v5rqT4gjtN}4qo;X8m`8Gr3d z&&EjF3nt&(tyM06nPlD;UtMA=i^AomBdb5uD+8jGj{ZOzx8_A`HW$?Ph&cJ z)%<(P<}J7Uh>ZX9g8Km7qDN#-EJU}80*>1Oj21O&&AJLgH$9U7^1y?yedAENU=&L5 zHWWbpTp~wd(6;#nBQ^`oMICO{-OUX{U$zw9vAooBt)SvZ1dEN#cedXJkwp^e zX$oECD{jbWvbT12uQJoz9yf210R*=>J0bil{Xsh8LM=k=Aw%_M9**mE5G6 zH@PEjFI{BS+5PMh@tdRcJ7gTBJMpMW0>;263Mpqn`8Wj!x0CK@M`uD;>GKKZ#X~)H zHo9sI{ENY^h6sx<0?Owq_1JfyODWM<-i3UmDahcJ7l++iu!u~nZLzf;FTh$BMluVu zIiwd(#Yw!6)REsmwabjyMCFeFc_;OJ#-7MQ$(8n-p8y-C4^m%-40M{; zQCuI_kr0S3I^H`(bX|<#_qQJ);D}4h`kEwHuJ^>sY6yB>EfmeF%lyd;&7rp7)8OsI#tF~vEuzi?IWne1QIx_6rMS<-hvqJ zi1u!H-=tT+-hf~9(MhD9?EsfEjRM6W%9;`T9eSO8rjlljdZk;~trg{>qf}sB;Cj;; z&4j^PoZ}CUs!t*g*Hn@?eh;#B2PR-6e*-r1M+8x~H1C#@9UE&3+4r`)vsbt{eBl3j z`b`kNMj-{OwOQ2np(zD=a0&;-I zf-{uFEUKCBcIkkE+y&xNGt(5u_b|cenkPP4`+;_EJY+UR3kAVt$XXVyLegBNtrL~) zG&X%-h5o@5hTBgnKTWV@z|{NxheD>e_; zp#=tS@I7F9pFKeZ*##&d2a20i$k+dUNue=Ifzb@IO6?$vmE3E%6ec-OB+Y%KF$ba8 zk8TA-jPgDdA`-s5zknahe;vs@6;@mJ++fJ0z~k6`;7yG-7v~j^oQ|1_>dTn&Y=o<58dP2sXr~mtE)=?aoMR7%(d5JH>4$ZocvBvyx!`3V zvZ^tm)US>w?njL7*~=q&Rtk+6s*)yP(Vc^2rGBz>oyPqsg}O{6+A1c%;+SM}0`ctF z7QR)5cH6O`zyLOj>tS)pRc0wG-H&fcAFM(m8^k7m8Gih&OY-y0BSR5gPT?*&OM0o_;yS>)(6Ik~t7*o}Ea;?m%qNpg2GZ{JF{$?8goBo1$! zzbmGv^2>j8@AI#~%Ttl5H%%X09sNd2Eh@rY5F1$>(Rkqq@~)Fni%wUJJm8sn-e%<( z7x{tP_B#8is7Sx?#(oCs4fS@VLu)f(Zh8)53|Uy0HRf6Pq1!9<_UN`=A?nJpiYfxG zuROu2lwejTpk7nX*I#fZh%G+g{PxF5(R4PB$p^8PmJmL$6dh?TJd8hG=1lRtjI0lS zZOg0Tpjo;Gsvb8>kjRvqsSlHu9K%J%789ed#a9Aha9WlDIa|G$k>b~RS7c;3A!pLY zx&Cur3~mTtMTvRVtO#?b8%7n2G`e)$^`G2fffrcOp)3loT}lJODq_6Ax%*Wa{K%?v zi29Zf^o143XE=C&)B%XWrQT+^QQucXSta?%He_SJ;|r1~T6`3M?BPbLL?^zn zqqWE1B%6M|9@u{ztzdc92Am)VA1)YOTUd;TwRv}b87|+cGUu|kr0d%LNO(0d2k{z< zy*J^DYB@|ud26CT=!CD4>gT{95AO!rxI!2cA7R%bS|%#Zmd6Aqz;MRKEor)4+$p?>Iug|$m2 z|K<;f3z)gM8#69aU@D#p6Mw9REAiW&+c_htHZ>FEHfAp<6%KhXw&c@ebFq)6&5D7& zU_dy?P5eprbYD{MQroF4vv9g+*$WX1%I_$S9Y(mNkc_?MeVdjiPrk>p@}^MWh*lf( zwveSugNRD5mO+c75bkm7O$_zQv&Bb#0)$Kxu9$mC z^5ykTY?udwM`gpDZx@ck5Wpp@gySx?TMK6sp_Pxq_*xpTZ${AxW;oCLsEtH9 z@v@8rjB;|G$e;ZJSGv1yLc>r2b3~3N*_aY;YXu`B;s!$Xqed zJnanXatg)xm&u-`(c?MN6e#&Ygu}4pk$SAwDl;7hZv=^6NMxt7g^sEjk;VJBN||(Y zV3i5Z3_j_S5Da1X3V92Rm`d*o@6YtBnl+lij`4PH`hCHHL= zhF_h4ahraQ(beH9?*+~Yx&cyRx=`GEk=;9q-YbBr&q#5d;>K_u&?X$S5g~p>LUZu} zrBG-x>s`)Z?nQwV5xZ3EP69@k-9aKMAN(BCZ$8>Ik;8!YRw>~fx%XVI)trV*Vov&y zr|UAPFcejWuYZ~k6wW=c(^VKAH|uIR%Ie<#+`qYc7F?zz*hVXF6?W!wXxncpiG5R~ zMGqa1GTZR%3QybG>?A#%mYqo2xxY}dZ-JND6ZOyf;ro;&(-_PxFL>m27T@vOvp+-b zY`$1=>0wS=Ww~N(-dhSM{Jmew?v^M2osT)YD;SUGkW(JvS`o!#lqHx|4Wqh~R2xbZ zc0ZZ^%5B+;y#e?$?zqRR&NZ~1u457x-c3G3K^4qPbJ-N{*4LZ}9M2MFf3XrS65Mgr zIE3Y@)WBV6ZAE!oTk_K>v|t3m2zSC?*)Omji6x1-JOyuDGE$D2^1G|r$o(Bqt;9m+ z=};+2K(8aP*7J?pIKpLlu|+j0n|a6_ZqraFb?iGknXGHjC-7`(@Lp~S1fpp#KVYp& z+0?1M_H-Nr?{rp6Tgn=)tjgNgtIx2^$nDJTyU=vMxMz_sn}TI=qLmw#v$bcOrXi zAm@ozu23@9x4bNn%$#P|rlo2WGFIKlT(4!AKH0jOdiIYy>=vJV{L2mPlil6ZPg7WFerFZ6;J6=OrN1jV zg%+D2ShuuoJqW0_h^8;f#>3thz)68+m5c<4%SC6^RHw&&J*j?wF~_42MLZa8R2)3| zkt=J#^1HDOr=^yCgqJf`(2i4)l5(MGf7#uKZlab#(Eg;-#ck&&b1JbY+KE@8B!lRh z?(421?;t`!LlfUq1B|?>fkYS!2CCX0fWcaC638y(-3b;M3)O@ki~Nn7cuH4Cj4EjS zF*qyEp%?K~8WyQuUg1{~V~;QJ%RK|LTI&7*JZPbO_C#Gx6wR$=LUUA5Oi0z}nzQ`f zyzJ}6xthbvfP`_6Ki{X{4*CZ^Ae*q|q-;HZP$n7tfc_&2Ak!^7y9UrVo<_Ek=}vwX z$UDQEar1c@n3Q;2ZA4k!wHwSY0C|r(wq~M+U6|i+L}7xSa|N?-G4~{30JDG7$)kD;mZ%uM`Er z1grJ@dvk$L4jE~Ko?r7#w4?Jn(e1C$KSegtKO=EeM`WHbr=8lXPVSVXTD-~oz(p6p zDZg<%QV24f7T}^g%|vh6W1gIBH+(&RA9GUX4jVb9M*dm&et(MaQ`qbNc~G&6oHXmn zC3IFsNS*zLg|_UDtd-f-K_$OZ?iscrmTsO1kMO}AK+D71nPffDJ&6`7oPmcl@Q7q1 zOY1VPy*5x_a%=|}c7!|K(B{QE#Mt;DZsJwNGU8b14DS$$%S`R?UJ!+lS;1M}sy{BNHE z@?MO*cfr=r&=PXa8>wL}kr2#g%TZGvvx+m(tdTJ|TOv7blC*ySq%ntn%KP>|WH5*v zug!==KH&YnDZ}~&NIf=A9SvQgGn|I}HsIz2jq!!ea1_ur!}okpiS)NcWkxl(A7r0# z9#2Rn$6T0)IYLDm@Q5!*VsgU#cR+|5Y!L?E=o|E}6s9irSlDpAyp*+@FpX>lGuL=e zvP|W)29T`FbK{_*@ypX=q>OuNC{Ums6nShkcJB2HN5>Rzonhnm%8nPqrctcL9^q{m zNoClQzn~eU(tQge_mnBEXIOJd+O$TELVbu6fyB4+C>6@SM7Bs;XZ@ zNmK(}==N%N4K5z}XVLBh77$zdl(Q1M+Qp*f;b0LzI_!itRy94+gPS9kTm$wxin9K& zpU${;D9LB4Hm>8f-VlEG_28=%N`h0IkZQMVJw4T;UTaRQjk)2#yR=C)me!g?IaytHj8sN{U%)}m05>Ktbp_~_5UujEg2(HMvK(IdR~KxOl*^yB^)w$p%4o@T&Ds4+ZK6)f+PqCDFtZW`Y0f1@9Y`==A3a(?`y2SlJJcjQPQ$5c za=}8d!@#GQm#-$7_I>)QmlN};OIh30&&n@6&p!=cx%dCNMXyX|4thQKm4O$W=>;27 zXzP?_O7F^=!V?BejezecoKJnY9~vo`A~h7O#b);fk1!D(?|oF)u5yAgZiW zo-V_V5krlQt(GGO0_N|`tqOLX)F+$47DqK1m!3#t*BxSds_c`2+;)EVE8Pi8q|jah zyotm>z_W@A8RBneAES_6ZLYVxg9=fa#p&H8WDmc9;5Zh(>Fiu}bCqwer_VQrxx|L5 z&XI0N%?Hw=0=Gm-nuECnTM5^$kg~TBAnh3NQ3|L0zUiO^lzX1o~#Gqbfr(X zur|U8i<9$EHWO`QC&TUO%mn%=El;txRf2ZO9YA>$AAntTtSN$)rRHovIR#-}OSTgS zIYqgv;E7T>$LG4;+g%#lXGUv`mNwd6`22H)l99f>xPxTI%2v^44F(jIFmjkpXz}#H z4a0^|9fA2NSUZjcTU-of3T+7?B+SuuX?gV1*c?89UT?T1a!j69V1ZIleWoEO(VKA! zJIdFhKyRNbWeHec0mW*EGu}kXt;r;^k7zJ^T*gCJDXk1>Y~Uuo3X8~GfMKnUDfB)m zTUEda>ppY+mBClkIVVjV)0LE18o1NO;T#o8RKw__?D4*T{e40>c4s`$_*ec`)d6)DbbJUx|T{=I7UQ;a(v!8tT z`=7DRxMEI14TfTIo?_&Te~IFxw|Y(17>XcRdVYQ9-<0$(#5M3J2vLzA$|}e6D>Y5& z+z4Uy#PkL=cvDe}E2N$a~ht@>0zyodv$2yHiM>F?g&Liw%PXs*ooSc*fL70YwC2X5x^RxLkxgRSQ5>urkLb3ynv!8Z2IvlH!L76 zaYlBgwjC61!HlNfIo1=-&zMef(Jz|Sa){Y$d;~D+SxmNm7X#9Wvf?)VW) z=(omr2;!B8ej29zQ=YsZzXQpo$Y|1j0#AP1<`&O)5kl$jBmq%UmLg@J^hCCOuxyN_ z>G3lYdG3HpA@v&`B^yFYZ)?wy*ik_xUJ2d=AR-b|a05Rchn=uU^DIf=E@#LOsHo4QKFq6-mp0C1{xYDv3k3Op#3vT}C*+$_(bfl8Hmj3bH=Gz=^; zVEyr|1w`A2kzSX%%b&O&qF)RB5JZncvHV+JEG`r*=%sRHHF z>o=x6i={~;vmjcuu7R`i_I-hkxWshnJh$i4*RMQne*FC2^P{#Hdfo?n_?xz5YVx(= zC_nHl(YuQj?2kjS`s>s|ls+o*nn%v-0IaLe_r3PZRf3kXWZpcmJSBRe$J0izxFtB? zOqEjFM@hPnno^d%j2^lC{3UO0{fi9$+|3o7alV98oL0e1D$n5@t{<-m!EkXEtqNU& z=ogIgWMg=#HQAkT-B1(eOntw=<2zLv@g6+x^{gaMUuftMSz;b=sX0)+A$lF{crmV? ziqf=p00&3J4bW$ak6=8AA0axE;Px4ibGay>g zYkd`z!BkVpSa`gPow;NQkI1;mH{9VyKEbZ;b(;I;FpdA$ZvaxB(>UL7F{V>u;I6F0 ztX=V}wD=~jkr-kLkamQ8QQJ;ItrHZMBD-YLOT-qU&M6vN_g z7wO2M*awX3?kvGfQ=ul7zG)b9asT5x{-5QC-&pVE?L1%B45QoE*ZWk0yEzuG-DqO| z?!dJwY4@zcvZh;^vv}a0fW>|YkC!1RvaWjdSgvplYq;2TXHV5=&GU&!0WmUR&^iCf z&pzBf1QEAvCIv%YX>Y<>~J}Cy6 z3sN7Q*uc?|Ub;k?`f4eHN;krj&WB?!c!Om?a_)pJNlp^=-fpu*vE20@b4`s4DuSV| zb3s?Eq^zZ_;Ql$JVqMd9>{rog&P~%D9BMh1nZxRPkl@+K^k(bllW_?M^6YgYEFF|+?4Zr+4d}9acSW3wsww=;-1M)rpa*rKym!(C4S4} zqya*73zw_1t~!)=SQL&umf3uX^5+MH20s|=pNu;P5{m^bQG0--Lu(eY@Vl8$WR)Uu=9y z_`&eZ;n?u71Sg3|XN1i^{)oG-VLMiytLb|h{bL=$y2Te z$+K_5Obu**0e)-6>4XEjy(Bh*a{v+IN{Cdwa4bW)^!GmL3No`6w_~Gl z0tXaMu(F4QB!A-=v7#vF63G#NGr_Z$owSFBJy`R4_iK^KlKC|e`V95W=&Z+N0Ca_}Oa zi_*%c>D;M*CrbuC!CUP}e)<4tn{)GSC<0V3XrTkc9D$@6{K$aue=E%(qW*u7W<13x zGJAuD<-g(|Mmy&S!Rg^s96<5=p-7389S}`y1m9eOSCfLmFmm}sw9gWPagTM32DHtl z=PZ1^>ScVYVPbqy?Tha*c;Xm67oDoGQsql4qPLnIK0fdv^(cxvhyy)t7!C5s$FeipL5rYZ#*0em&aSl5r z_G;>ds5IsE8i&&@e{MObtL)h~*m4eRblAJgyghE9-*5b1c|}?x7*6D%=toBjrOB&N z#)`tGcE8`!%PM>glh#R`_pFe7Hg<127Mo?f;ZMfC5YnXeLo4jQ+>^&FayN4Fj&V3W3mFt&d=7_5{ehljC5O zuqFZ2|B@(!2qh*@Loz&XmZ`m!-z?pdF7g$`P2P5Oy#cyv^@7}7o)Zu+g6slz@WT>7 ziTAt`x{W%KbR6a7l`GeRso8Th?|V1=9NFd{p@Okwzu*EjelZQ|bTUu)e{DQR)^{b) z^Ae(PmQEx`D9pId%teKJushOJ6orHxFh9PKf^VlC zB!0YM0c@FXX~7}^Wm7&6+rDSzn{DHL5ppdh`$`ehn95`E*%l;SG2jXiMyjRBa8aY* zIRI46tZ#mQsj%z@B&I=KFegKW1RaXjHv-*;{j9beSe+9bkED+j^Z*N>yZ7l^U=NgK z*BOvV6dex;XZ>B4jmxV=abw`e;tV70L1y$pe@(-I5O*iLaVP7xjGIcV#L~W0n_L11 z^%1fg1II2uirm?%_|f$9uop`6epZNms2CCCw!Nfso{8Fk@Ys_jd%ebm$&WH&NSa?d41h8;9jnW_lOJy|X4s-mv6Q28ateJ>%BF5)ia zs#n`wj*B#fp!I}Eavs}|$ekSh;%n7^5<}oneE_FvJ@+FQ*gw9>z!3ievLUS3r0WSaym8$QVCHoe@(ej zQqj3)P>797zz2)cHw!dgBbE@DdU?b{APv`J;OviU^!O$H!a@zN1|OpN%?xp1?M0`8mG=vI-?RUu}tD!UZ+cO$MGdqwu{ zBF54ymHuga#YkAhf;egRxNi7@ly{!kp2%xQ`d*RaPP;a{gU{M}4|7=ZgKJJjp-lW= zaX;EN1$#r^R)jZdjW8#0zjhh@ENJ&APVeoF1&0*T{FXJdmHgKWPqj#9$5{5uOJxb| z%cSa1CjR&P@{cPui`jZzq6Hrhzk?IHM- z4~wEhu|ZFAVX5ixKvcE_hm@VC5_qQ$l#DtbCF{Ow-(n}AVq_W#SsZ3Q>OP**&U%)q z6i$%i3SvSTg$Z#?F)AbIr4GM;&JaJ&G;n`wfpFqnsAwD<0K)#gD5YG14btS!Z*RBY zilN(@hi52K={W7AZk!2C!^w-XL)MZGA9@sI*#7pr{3Qi&2n zrluaIwT6~l$Ur7ERMk;Z zd>d}+T0NZljtdnlQW;fd_^)}9BWUZ2-Bk!O(4%uG;{O7xTi1=pZr-Q>vi+$D%C5!g zjE42bxMLDac5>C?G0F6sBNZWyC5epO&%?fH{`BEzK3({L-{{SWk||59ji|a{Usk)k z)AxeA*fO(>)FrG1|3APxH}_*<7*(S0Jw zqc}8+PSApz^wY&b^%SsXctv;9p@zeo5+19p4MG(g`DhXX}z>4 z`&jV8ZD`mhvR}`|QN=yDbq!a25V>6p8TQcXCLyufY9ap+>uKdhk zh4gETrZ9gfzpa3GSOhr|(xK$z;m_PsjM&+a$Ux9x2>%N9Q*<)iPGb+u5@^&A`hRq<<5+Y*sU zhGW>Jm$G7xGx+=iGcl^9Iq%5Ods5>meZdZue8_16p`)3mUsNykej`&jXo5XSJSfZy zTiEv1i_kDDmGFxb31$^4*_Sv*K`PiI&&0I8uY@)Mg*A{zQCs8m8PIo?m@bxx8 zDZ6*@yEE~$Li=L3^Ou*9LvqUX2+$EC+=_;6oSoe`EW+K~B$j@&clF3`JW#c#A0K8= zY5OYpj4cOy!J+X8IrpU_wl&TS|kJ|;%l`N$abw> z;u*1AYsg_Imc~4DX5DxhIgI&5;y2KH>{#1Q;s_r%4j(Koo%s$bT6w(yg#B2%LC=;em;9&xkx zBf;K}*EUM_Jd3oa2VCBL^f>XG>yEej8rZ>QnuCH5QjX}&jiRpZ?CY-O;VwjW_aO9}|7jpfW9Oa0r3YOttmoTlIRMZaoq>V(eB%*@1 zBNK0rF}U|o1^u7~i+!qM>#y0>0tKnoi&R>aw9ys(6;2mwTZ9#iH#R311aF@z@%u1? z|6uHXXkR;2IrK}jGf)0Vgq!M%b{IeFa<>L8O=uYHFl#~RqtZs5 zjOJrTzf&0AwBZrSH~U5FevBQ-@E^EBY?wWm-Phw^`9}vK<23-Kknre);*?K1{ql27 zV>(6oO`iPeXE@ia^M`P0gfu1YG6JsC%B!lDUle^|xiFb_=!DOy;(E58TMw5V_uiEL zM~)HOF!n4co$DI65)ZqgugzkETDHQ2=RmOpC8*_~2*0TaEY1nUsvM#piQJh`p!D$t- z)6eCM-SSVLp^F|p4f5?t>Zl)FnE{xy@K zXVGCU{N7bEG9CJyYT_J`>w2WVm6~iC$Sv89uR2z7CUuOp28hjW%t6V`om6i33$ngz z2d#DqtO21RWY{x1vXIBln>;m456FNuE6iN6On&pLw8K9Q7^tpxG~dR}rDqjS+!_A; zDOwQz$fXunHt#N@v)kX`9K11hs)^{zeqsOitF5LQE7HV8LumbOteMp<)x=)b&BcAY z?cAVMHT+;vukpjn=%pX-bbG%>b71cL^JF&ZTU~nZ;OTHF-MIxX07Hcw^x-2Hp4)7# zy3vvh|Ad>xzyu42e&Vk5wOmeG{_Xl>L+=c_Ka7A#Nr6ISw;uQ)DWi4(>Y+tJbuWRDhw-Wj+!GA^C`E==tgV zo4yZ(duc-n*!Sm8QR)S?Dkqc$XwPeYPBYQ=uzFZfnEB^A(C1btp)S$wCc5Up&^JWQ zJd(L+;HXIMu9L9{lA9Nm);V9@K{b*3nf9MYlR6RPu@3YK-j~_P5sn-_>Lq`i%;a@3 zrRF^VHP(s@iK<5-Ou!{<^NukMV_p| zebV2x_+ zf!#jL5uNZX8BDDF^5=rQ&Z>pWrVv#Eufph^E*pYTqj5I0GU?k(k|U%gsU4Rs>p2s* zP5(SUy>nn;W~+PccwtV!aVed&8&(q2aL^n9(!bie1d;x9|1U^?oWDOTjCNFGL`}qz zo{a&65B4FxnZ@r-J0jV^BT-2|xF*Z=y;aug-j+SMfDEMCKujTyV{GYT*@G$UOm8A#(gw2g(=g$*a)(T^@e!5-P>uGM#2&FN=v^ZI7tsV9NU0K7VWP4(I7 zZtML|e%FVu*7Mw-L!e=G^WHqt7?;mucby5De~%Ub3rbUBb`(jCx{V|@ zsqa_Z35&;O3?=PH$Np z^m$anJXKs!*fKyvvSK30F9ct*lRAX5GgeSIv z6$XEj9fdt`KIhwO2Z2QJDl?d-V%nLNRqI@x&T?0a69dY_2EN?BW2erkesNp!{n=Cs3cgom~`U>tUBHs57Y=D|{f9MOFGu zqO^AAg^Z>lb@p-aT->kguAQQb!@7|9P9WO~&WY#DvgN%@m*L92McKXk?d1C`lFcRv zY9YsO>!5$$PBNu*`heSE9APaV72dHx}XxAn-bqvJCggFS$I>q zc$!I#+-q|P;mft^KB7K_!wT~<5n0M8yy$7L9FcHZ^N}t^;`a`B)^gEPQBc461_hdm z&tfJjKqYjJlgpRchl@b}BsZ6p-lu2^qPs-3>rTiPM}4~Ze$%ufBZT`K5T$~92sKM` z>NsL$)&R0X(8VDN+;_L++j-QwN}Y@FHM=ZS_eC{EErmm+N-ZzWngI5utiBSxUeK6|GmlP3XVxF(tX{EXMIG z>)SX3_C8sMNCxCxoDuDsCap|6P$Qt8ff8EIcK3w_E=L}lqb}iz zGmKaN4s|#}wJN3Tl%ku~vJrhNA+lEQ6k&x9kxeJ=z${toB%pZOMg3oo_xX9viK;Pu z5N`TD6nNnqW?DLe&>bg15zoC{zPeg{d1U_L-n}2yzdn|{`wv1@m$U;|%x{|Ieov>% zyOWZfhiA2M5?h6aG<>WwhV~AM;}6F8JDOZ|gr0o8AH8VImOXO)>SE(q+P3?hxSFPEmm|59I{;?QjYVb zAngw&js*}mrH31iKGEpmZBa7ZgIz#_T&17vhx zGBj?9cSa8ecUbX9@?zN5GbHXNGJUG2Ir_{8GKJCG<)&U&ZUoF|5tlM1~KW+LuiSvfiQtO7#S^9SJk zqzs5mA`al|t{J`&Kv`9M z{h<2sV;2QRyYrN8_C!4`M;w2B`7c|WdK6cbwbBeH53fmBfkJzVm5*0sQ6gaE!L@v? z^__2t@x0UqU z$?skwAZJ$j${P0Xlm&lFb)aY)lif{NR=>^&Q^{qrq2})InRR8%y`JXRmGhlE@@NRV zAsFGo?_dOK;IpN{z!H_8N!s&;SX2o^v>rxvn*00)zsLK>|D4P4b5HT8c(};ycWoH5=g$K5Bl^&eL4YgOr7A>Q*+b))U%JcaN; zB#!F@of$Pm;MUUU-C>kDJ$fkw17#h5$5;LJEEdQ!GBRxT3lGrFC$JuLUQ>pv3sts< z_j<65=TWQ*N%kKU-(J2#^{h$j_#T-$85)T0C$5Jtexv z-U)nHs(Q!S`C*)Ew&7=)bo+Ts{RiGuayOf?-95LY^>*bU=e4Gm=qKoj|VH zI5-RBVIUrsf&$rT0E(k8Y7C(n&JHwvs=t1Rd%XumCH#c5MQ6ZwU-)mB^Ai*@9D|(3 zH4w*w3ebLYWi9Vc0i$IByRE1v1Uje^AVuIy6hA5Fu;a;tEJc)WRJUcAqQfJu+=i$1}q3|9fR!=%Yz;$Z(YENss%KP50^El0`C36`J0KZ zwtxvh_FJ1N5CVlEOg!+Q7T%2^N>BH00DVa-(y>uv>D9lrkcp2igEHjdGW<|3U1I3H?+b%J-O(r|DD zv}}qGwVMRf^hi{wef2_)3pBhT|6|{B&ojjTQ;YTZH_^quVPvmyS`@6YvNgQNZgJ66 zlYq;5Le&+&z($I_KEJf+Bxl|K+ANrm#XD0Wkq)I56-qd-QT#370EB`|^K&GJJ>&%;z z{%8?}l+mHUkiPvh5bwdrV=~eX6ns_=7V&$oz|32uYC&4JVXIoG$S5 zZlnbn+wZZm(6SgIf@2q;t}~(9{7$zrkXhKy*PwOy}jC_2M=FA5zm|CO5? zc%&(s5HoFao0@KvXMNaal%ZI61Oq=18zL@J0s#Co7xh!gf8B?zrFgFg&7QM`EB$q7 zf@dU45;AAmfI+gI;lHQ^9J@A)F#ka4KiX&9WK1$ovvZzGeo-F1y`#zW{tdlg`D9Ib z);q;=wZ1v`%h!^6hq!iAWW2B8Jc;Pd3J?zoIF3bz6JE4rG^}!Zy$GKD3kbl3=$rCb z;s;ld-0Wj8Uv81RaxvMOCD<0F8PKFAD$(V7yuw7F3M zJ8-O$Jh>1q{WAEbyljxJ9`svyjWn`9Uxwy-K5c@=Kk6L~^@ydPJtI``o^EY$PTovc zk{#^FY3j#80PLW&*7Jf`H?MTE1vy3iBQj{ljLRy5WaX>XTcBkdNJLDo6?1)7LV41yqqThxE9&P7e+DYh`|~{>wfkGFlm}(gx-Dd>M4IP|qyg zL*i+-@56B&rI_i?@IAxyDfJs+6h+7hZ1!UfaUIILx4{R3Ve~h;)zEb_&;f^o?Po|C z-W%@XdTE(dBJ_Of`P6FI-Ea7%GvHk8yq5@^)0%xSxBo$_P(CI*bMOPpZM?mAQWxws zT7AJ@1D}JWk$`jd{W+7ocTXODXv;de#)K&=uN_BVsKVtm$3K!dnqsd5Hl;d6U%{S< zU)g;Bi3=?6b|jMu0j*BMSUp?e{iScQE-uIfDT=S-p{t%Ye}`^t8XA+Z2)=5LQ!u1d zzyUHz9SU(Xn_|H*rgQI=@nqL@vOwX1(w-RqQE29jK_r3%z{%Q0I@tkTeb9ACCDFx1 ztY;8PG*Umej$PIPc}+6L4AAQ@AU5XywE_wSw6(|dYI?gkO;rS&66OD#DVh?fmk2n! zG?dBI;I#eb@=6vmC)Ef){A4%Xxl7yNNAvaG=oQ3O4#qVM@_L_}*n-Q@hp0HjQ;mFY z3yNm>>VpjB@m)CNGp354h_Bwi)-b;5R+sADwRm~haP>lh`Qkfd8TOuW+y(g`h$>&i z*W}FKjGDiB^rW0IdGUQvY(U-<^|a1QopVUZIy*WixBpaEUH_sxR(WM2_PQv;&eDktw`x7vJr6U=>gyQno2J zQ3f)(J0E^MHGIRsh*dqU5qXvINH=felfS&wr{F1Ym|0a!`0VSCENSydt zD4;0E{_ytW%ZSD6l--(=12yX*QE5C0=W$Np|5u_3{|Y3Ufbr|)w)J?5D$dZo=;3kb zSwn@{n(lSK#q(0Vk?wUIdT9dd=qKFJLFQ2kRCll0HpZO5Qe%fENUHV{nY3IlPE#Y| zh<}dxNw4rsOeCh6y9_Edrs3MQL4gpDMh`CZVF z??9%MC207c8}XXEaRWlKnOba}qzAEst5+EQJ&j?l(HqRSX@$?;tlxj^XniHGpSb`gNZgqJjhuNUHEd5z@z|b4&A;$F?jqo6W)q zxx^FhAx{=PX6+ZcSFqMuX_)UY#D>O%#(H`qX1?br?%;Z~L#)Ibzwlx>kAu{ebvBT) z;L6C7hR=#X=hCzK2QmNFBg(;XtgQDt@Zs8ctl5!G?UM$!wEno&e#NK*RSb&)htFEg z*L;7Zta;Kh$`StG6V+sQqij@BbHG7E!(i}Yxgnz`&(?BPlOb{)imH}%rf0`bX&pn~ zaTJq$=tL}!<&e<#x3sbU0h})e{0%slzW4pk5x>YE9_AT-ar5Ch-Uw{v!|ybIFJ45s zD>9p89x9$W&+VP_t_6N0u^%Wa@%$=?sbIO@0!|<2k@~%(nX&BGDe%d9%rf-s3d%xl z&m+|z5;0i}Mz(EG!71E6?dXlZ!B@qGrQzag7?z-g;gHGDAKV4sqZpip+tG39P{!UH z3huajnpqbn>zx7Reodn3?Yu_Cj#3CMN~d)wC0kH7gGNCiE9@UW*E~A*^a!2#4srvo zen&DGxbfNC1ZYnnl?A~j#5u<@NP_7`4WGXoV7bBX4M&AvKV&)ZVa4m|NM zFBhuK-cKPQ-RC;aJ{@vk{4!=NY1u7vuyZlyac0}4vF?Qj+v9(x&^}z&5BYm`0_?Us z0;*le5fWcYxIwnf^yy2RNY z@-UhbJR%@7y?LI6Q~{h_Ph|?!FU^?eQ`f&(zjRLE>Yqd0k=&p0;&JbLcIC|(qMu0^ z8l^f6%A2=ToykRsmf#c0*gJpR!Rlo33GM*~z_k1L!%Gh}J`+#CDMlr6ab!-(l2Ydh zV^L7=irC*vpc3~wgtd@+1Y;XQxW<&4-=UU;{~$#KPl>WUgnqaHo~lkoSOyTKZY*v_ z@JPq}>C@o*yOU2;-;Bp9#T*gK3kC@>6n5?1=UGIeU(l-=yBxBK>z=eeqD-DkGACIK zL;S9wt1CmCqQl-b%Vl~;N6L>u`0gRFJ;G+*DzOU-o)I#y{)7SlP#chR<-PK@au{(pOSM+jFMaa? z@0xhzA4S|W)Mb`Gi!D*GD5zyQ`kuYH#Pq$_ZxLgNVRPSx#O=qn@alBU+u9R$^C7x; zW2eo^VL$KciX)gzE!Kzt|4H$k8urR+XVpE=C_W|g_9Ub&$X7Fc-cWpz0%~E?>50;fvH+kALwjJXKJR*-?^og$rW}RZHZi}(s47oFo(RJ?c3q0mWp6^WWxmz z#K+TN{YCU#)jK7I*+er>HLk~LifKm;2_2@6OO<6Tza{aop1>PZx+##OKdBTfj(ecd zd|p8uUBOeUmheEJ9PYeUsAN&pC;Pu_q#b>ciXeuvmeT87_#-pG5($gJ+L~jTTWZ@g zIhN7&$Kb}GCZg**mW}{vHue#^xaq}b+Uu-gmstY#-shL7hSEK~vmURF^FiKK32pbF zuZ5JaMW(56Q!e(>P3#Da8P{cE5F688uuFHG#;-ysD3=_nUQXiLd&4&9d-%650kQhU zQ+c#cwtrJ&@|5GsCm%|}y1bAhf_vBzKSOcKe#xlU9;}a!m__iSvMWR4_V7vXe{Lp4 zlFkPLvrq_C(DD89UJ{tO#0Fa~Z@l8%d$ye-#I=JR@%b70=ozTX6>>$bA0i}!A0LXP z0`9^+C7Fd0mj0=39=_>C0e(0o#W&+zoFdiVmhS`vY|tr~2TS)f*Hxb(&RgbS79UD3 zFWNsU;|((Fk*kEv!Mp0hd+YhwOf<1?QO}ru0Z4QIgy~Te5OX>%JbS?20*~mK&=#@O zke4~S(U!l!(eP9He59I82Epifpj+K9n!6;!;^O#FOsf1gZCMhC2Ftm_t{t41b!0@U z@{znuy0Z0sa=hven!xiiIg?uazVMFD>)EN4pX{u=$sj^c%X}FkAf69fY#aFBT+CI? zLcP~i6pLHR=`DA~&(`K}UDIyXIv({ETwYqs`@nLPrxo~vVE0Ajwhg;SH5Pp#}vlHOBrk?rS(!ph7HWygZvnDrVjfuQV=o1^q>s{ zn$*&j+VZ_b=~1O>Op^UEk+m#OQWHutCPOH97A}&Ip~jA#*~oE3FQOO6GwQNm9tzF; zbpG97nEL1E<>D{$zAyOT{#6hV?ePRXu$VM_Ly*DA=2Dc%;zjDfB2`Z&^2sp+#60=W570n*1l`!36-QxQ;NG<=kSA9BV17 zhGUTQ8?_s?)ygSvii(1ABFTbrW2sq(2(Zi>C$#b2>PxSU8DF;SR)D)hOHz_}O-rWc zu}dM9QRWS1Z=QSocu}4Pu6500hlocGQgHFx$!oL)!VqFxOW}l!9F?GKq9U=NZ*~BbgmFBVuzmqc7DkK+TZX9?)C7ZsN zV7JO-*iiklqMFR2kD9bK8_x~O4gX7$WNmnNUOT@NO(l|L6;{Omg@4PpS6LY=opO5i ztqzA4mg3Zs+xbuDEykZ-?Vi+iyP&g^IYeqOdK(Wn{d6Wb4@<3JgEf*-Td@6}`2hWP z8e`4OM8`V$CE@3rZEn7_oCuY5=|J&(5)_J{(gSqhO-1IA!>y1QlRF#vJxA% ztJY#_*9yY6|E+DRNM=M;aCWWBSBZbSL1=`ZjA<-xkxNdLEIaOwrhEuZ)`gFY>ZAOZ zT7$wDwN=u3cE=39`C@|S>g0m>EOl@%vBZNH?U*r_7!Nes&g+T`c9LFB-=9$tNdNrC zFnvXE>M*4rBs}1%PQi#oKw_==jwyo5D&!l{m!7 zC?VX5S}lW&!J|?bZ*dJg^HJ2nrYEqpN1pZ;jT2PPcp)+que|sa5=VKJ+FSFqVX1;n z2E~o#43As;#Q^ZGy`eO zxz)#^>T@!!#Xe3+blHNATn(+d6 z(-nfvJhD>(%u(H+{Q0z>0BXGVvHQmaxBV1=6AazbGDn1M`D?~bue`l!Cf>GH)NBk} zZ{8$mA{v&}XnOjv{#@J3LD?OD+)F4^^q8ANoqDWxLvCLVz~J&)hwmAX>0W4(D!*g< zrftTS&5i$@ochHZuIptPs+#IGgMC?x57>?z$}?8ltr4V4?Jl#>Ik$9_%yIKtSg0tZ zd8fCr>Ef88%<^(`rq;%T{ad$UoG+69esCc>Jxjb*frCVxgFRpfvq_oBeshpE?91Py z`5fF1w;Y|-Ynv+{V|(hT_vmM;n(ad7`8-_&?;E@NdG=~$xTSY_J9VBIs$ucTIt09# zCGW#+Q%%3&f1xQE%?``cOdt^tJ7u!bT%2 zJ+B2@@!GKU>|@f|!*>$K_!I@WoHN+ab|jwDAYOCaEIX$ul#CgH;F*Y6&~B*=E%!D% zgr4(G+TODnrsXnxOIdjji$SOOs}!ed-M{TvB(udhRDV296(WG& ztMHNm3?#6?xn3OxU>ERbp3FO{zO@}ckdR@(X()+-Za za!S}&yDno^iKyHSQcq#bW7^R|G*~oBR{^3&jBx+=u{I%Stw|c)P$W(iP5t}FEV6T^ z=;h9NrdFh&2bPNaO>jZQc5sMJbszto&YGIjf0rqrIB{lYA4(R%vtp-Sy>3W?1(F1U zm4MUDt-_nNjpT*r)UpsaBn-s)^yxm-xBEXF8ZAGn_nzL1(I@P+YJ2-?Jaq|sc>a(n zM%K$Cy2G0hn0V&ePv&pze?!u6pohL&IN*Yq^Ad39qXOvCEVUt&GJW^Pj#Sud5bVu= z4&%=D%;S5J)uI#Elzjdk$*n+~9H{JPyU&=&;~XBNa5 zzi_zPclwDc$HL`I65p?&%Fj5_JW<223_}}vF(DUDJeFRs8^YXgqFx$<6Ea**o~V=Y z(U8O9$eitn-hPa0H*Cq_pUGL$5O^cyJhLKV5cHt9(*nvaGHUU<+fW5Nj^UF^Y^z7w zBKhWJVu;(yiJ7F}W^fo_IU;V?i3Y)jw{4Eyd$vZZv`fpEPd#} z)NIoX`0|;*$~|X=$*K7<=R0y@Rd!-owqY$|f()^elR+HLMqbkiDw%)5pe~SXFvI94 z0?B5b1}H&pCLGFnPDM&&;D+ZKL62xmT3VsJVMOv-5#U>}8RzpC`E+-L((Ta#Q@7h; z5Ut7!Kwd5+SAmChq}1s?K?M~I+ioECA2Xs^w-B_?hFJm;;~}x5=JHG*#z1|>&7Y$O zsjAa3)`&uy6W=yOWP&VSuaP%FiqTe`dUde$i(&rL0z-;mktgfn`=3s`5)qR&Sq}cx zWey(BEh7H+$S8~KiOc<;0=T)tFqy^N{H(AATO~jM6X`O&W&7xs+~Om@&JV6Kq%Qp) zp2t8ug+yRh@w>m74|90PNG_Lmdppg!Wi~{r1C#gxL zF>ct62}{Y~83Mt7Z1d3u%YVOuC#Sj`(s{36=~Blg6CAj$h!njT+{iB~&sNlp^RfQA z>p3yC`!9WLpsDCpfw(bv^Kkv-5P)$it7|JXrsr8B;Pf&KAn^J)1-zifv6x`j&6llk zijX5QVI3VQGtjFNxd5p9XCM)VWDFySkTqN62tc{?NW=*m;S9LJUP>1)RXG?mgL#$< zz%!k+=0PR`NR&*kfN62cvDx-jAapS-zLCfOJw5Wh_>BatHA4g(3gujmxkQfP4-ud+ zXd)8m5t(M9SP|YzpWgX5E+JpmVLQ$ zI=aiL$0sPW5~Lqy0767kTP86>q%&DdT_yOlvWZ7)J|%&OKIUR@Tkn&s4fYBRSW0fX zjb!zaWl{ovi2Z-VA0qxL$^JKgDE!}x#ehnl$yFE7cJF60mp?O~R1@;HKlFP136mry zfjvQwJ7hJ<6vlXH-44R?DAwd#>=lDQ}_#8cNkLtWeqkYX}oDrBl> zB9O)rAXVd^W!!#1B48;&pLl%N>*z~+L)~v(o4;9Ccp0|~o+}??_sQ80ev?6C7 z-^-;^Obt>}*`Piicdo?WFnOgw@L@0(YcD&#;CdI~j&2F6UM@#ensHxso?$EUk~Gl# z(|x?OuN69R#oU}2U_;}~myOb%`=(O2ma#bh!AJ9WY&WYZ+&A}~<2Uq24(&NV-xt`N z35_V9FudAj6V@$z+0ZHJVO1ugNsl?mKl1xd#(<~);-Jv+$(y`=5uFPISO^WR7zU1i z4|z{lY`Wh4hTAWOS?*~p={cv;B**FnTLNzObo@}RAmSN`$-VW(#W4R+sxG9SMB+{( zfp3af`!i>?y$dQA2ky`Y1VJ&;O}!uo{=kEHBm^8ne{rtf762uhl4um;*ZyL&!pl+< zK=VWf{bq1uG#he5y`wrik2mH6m)rUbi!SX}%|SC8Wod(Tmx2E*V@ALOsz1Bjb)PXv zX%3Lbr*~(sSMg-l)k!2j0ne`Jjk!ZQ|F>5hTHLB~i%=??KX_jbHE+j9|NoW`v`rRC z_2jSnYr{$Huk-t6wx&!`0vcx{KVhuga}gzc{K!YQCOj_Q&5aX3y`IIY(lWTaK(Swc z>p@&-Vry4;DPx@)hD}F(DeH*t;}SH^jgqG(BiXuTYC_Kov)3NIIg3g~<#!g*#ED^^ zl=RK?y;Yp^ET&iCSWY}|vD@p*FoVu(((n~*BK~`_9b)Q$aC2D2h#(y90t5+JJp5{; zOZ>Z%x8}9xH4)7)Obexny)NGdoszZV7$5w9ubw|(X6%=b3lN@6I+7TLfqv!LIWTA)VC32&W8#Rr2ay`m_Z|>!OD5y zRx>y}X!9atTynsQIDRyK1rA@;_un5jEl39b&#%8OCf1B-=pkW4V+Q?YoV#o^Cigcj z;un)bk76ywdDu@Fu7!4hpL!N+)iJUnI3k!=)UG){3wr+09c*7YJqg?t?nN7{^ ziCKQBSjKocp`_*EBecK%7#8)P&BRZ5o+W1cyZ8Mpx)M=BBF@5~s3Es*s zjof?g@NBk>?S{}!GmTvJBQE{Ct@ecXYlFC?Cm%Na9tV*_-=4RhW@aHFT<-a*QH`gp8Dk|V@TNXn1@$N)qVPRo@ zMa6J*boBDh&NuD4dleb>=H{%&tNeU?meIpe5oQHeBw{=VnR^sx6hADW{%#> z%++C>`}2eRnw@Ra(ba7hk&qDl)nK5f=Q-i~z}~)VcW-ZHfB(CXu&{%LMT>6vyASMwi` zQOzOv?)wmUpAa4p!(#}Pt8AVpTzy7MFf*IRGqCOIbC*HWX{fa9#hRCB+reqz zad?+Lzr62x%)cJz=;TzO^M2%vn1sZjZ)bb^`;Q++7rxnkTX*a3>8WpcpO8R#bOjCD z;=;C6)r@feS@2PpwzTT=MRubPH-2A`lGk@s9n&0d*KrzBc-)hz>y+QMp z_n!x-n~aT(m6w)UEG;cfE}a!Wq*Qm+9-(cxD$$6+{K<^j+WDN3TmUXU3Zs##BDnP~ z<=r1AYU`~&E)NMw2pa=yYQDNJ8aKGj?k>2g?R9MrZf9LOIqC6wJ23FgW2x@ZotIw5 zK6_wMS<`kz#;W)o9PaFzpAvrzB)Q&!7%z~B_U(d#3$z{I>_Pu|byudl8VGD7sxskS zFwE;p1*X_o=-nUCk3`*mYtl^ou!A||J4|=%AVD$G0q$b3mJJz!v7%M$%$65akYkZw zPk|Fb>vIpNC-x9(SOmPdF(lO6Hr>OM2m<}s#ehiUu)jXpCh|*O?03A@G62mLp)sNp zWOpXqoe)FEmwnAh2Xt;B9+Xo^ zNMJdL7iiiAL8(A{Tdr*n*jq)*+LC^JkhUNO&`B3!N?72z8e3kfDWcT%1sc9SXN{>m zBapZ|e5l(si}sA_jEkff8#+B%^P`=63}x=+o@o-XWfPD&1h>-oLxj%t_W3OWGQl37 z=*;FZinnds8SO5aIyrv3fSb__OyASjciNgx0W{L`b!Rsi7 z(933_ad)lh>R&$_1s_7qQ|{F*z%Qbx_I^x<@l{pT$UV`}-=mew382AE+RcvYR(&l+SW~k5#uD=JUJ!$2jSwUKx2Bb16A! zp#&aNgvA}#Em`P$PxU;c8hqwV|=qZNrAr?znP&`0I_aR2$mZ@+w2)xm#n$1s@2r92!e`j?DkHu%#${v3>+n9uL2q=(+M#)%{I(sf48d{fGdHv6r4Fg( zQkw_fnuK^ru=6EZJmw&j?EFJD=8Hr?aP%~@>;%?KQkL26D_}mzUK`^8RHIuzVUCkU zzJTFf0>X#lyPZNvKzlA)Viw^K6~vi_Dx+egKX@xkvn`4?k*DE!(_vMZg5}&CIGH-^ ziO|r}KGzO)a3cbX$VCg#t(lC)9qHNTX2%T{C(0x0_y^OVi(T%74}QS$7#>kzf2{4P zQV)Z3wh|z`vU^JcJ(Dfl6J({&wO?^Pwg>B-`>v1)!}j92!zqF~IYf^j9+TR#2Etcf zLj1w#k2!#Xo+Bw%Dgyb%X`u6V{wYI=VqGd z-=xfY%0zu}89Yriqk&E({t~*sk;3sI>SMYr3_ZjpoF8t?$qVe3Xm9Q7k?ajdROdBZF}JVzzv|N_4-38N9zYY> zbfn#T>+>^$rcT5lr>QKJ;IOkL%tZ3#NQO0YK{cLe?y%Ze$BAUDb9KCnyG(3A;R}uTU?CPO0-(%vA z%4w7L?qyfM^ApZ$XNz9U~92? zuD=4865X|gFTaU^xoCbv0iPS2M1W4Q_pKUZs(J!}iwORKWT5~oi4$jR0|CT?1i%RU z*(|~hA?IJ8rYsRC{*EkH|DGrlLphl{-Cp|I_0R0z6}M;A#kVJcn$Iz>a^Y}ki$<~Uo? zPJceIxhlCT5c5@pyxk8t)-IL$?7yU&@WbEt+YwF0HhC%gD9jR&T<%vXIScQ+?B_gB zx#t9s6mPni5P%DYN(Z2BnOAEh69k7|J+6EDT&a3obYl=l>bMRaoRTnCp?V>4^nj*D z;OO&&aG7#g*m_(fG+8Xvx36JlB+{94?Wdfdl^iw>sd!Ir^br2pep1i5W@9lGl3{im z&Q89vz&T1Ytkn3dQ!wI2lGh6Y+b-Pq?9LWBQ^}1G><~Hd(fO7OgNvUe9REYql|q_* zg+*t%ImzKmn0v3YrwS*;t_EV#SC}|IvP=r3UVTaNqvER31Vs$y$wOzw1We%rXz9(1 z082bFLY=pv(OFO%CvR{)0i&7(1^=7gHE%4LTl2<*4Ffy|n#vvVvwzz-u5DwI9@x=- zZgIk+9H?#I^EqT1mhI4RJq;^pJS-=i`eTm1cK;fM<{${ zvW_OV#b0cKOt~5b7bsto4WjU*j+U=JhG~^3UkhRRC5kM5%fpQX>}P=v%9zT@%2QWy za>e@mH@sng<|hHHIu5a;T!?D-Ao>JIhV0{if@^mHRAx!O5E~FX7)T%WwTj7i@szK{ z4>GNcZZ4y;819RcC7_JS?3C~B!|37*;_12@68eeeybW)GW=R)gziJ%iw*$Z;^~E15 zQ|Lcae{tQE80CoiE^;Y%iQsj#mkgI`10})bgxsS6lVA!RlX}!JiO4TBF#sG_z&J+c z6?fJv3qB0DSabRPzvw&xr1nfvMJBt`VXmnbL$Ii`QPstj!D3k>#U_9PAuivey} zU{Lg`8$%3S>hRDzkEYZgM=H2HJVIN&f+ZMKA7{rtXlmj2$;?-@f6$lb`*gZR#;p3* zGAPI{&jCtYY6kZc{f`GCi97+nS}>&Cg-%tu3oO9HDPA;`f*!qiu(bg8Wkc5ExUCvM zW@(uQnWyf^7IbBpRb&uSZ$O9}X-F2~MM*xM2V0^$s4FQ5c>Lz9;!QucT5F&4hW{yXs8gJmCko;E)%e zj2fWaI!(s8cT{BW*O>Xu;mK>T9@7Ta>sq{(#slcky_7d$>?+eJl` zt*Ddl*H#JMi?@@O`u(bTeQy9ea5&4P8~a-sisRjD0b!m}a(Z>GzTJcMI!y(EEz^vu z-h~TNx*s;i(K-L!iG4K>*GeLOXT9RNeP`iU&}ON(jZb6KgJ(#orZrv__<@UDj8Ns$ znBw)0k{-6h78b$P>;39et}MiF3GGCr%?WzUOj!#;th1T2^9Uuf#CdR|l_-z&rIkus zvIBdyjzzU;{6KnZB5rmp=r4Z&>%UQP)*iO+C=Q-X8&4}2bm>BhtCP2!aKSvh1*j9Lpa6kXy zkzNR2xDb!OuAzTpBQ;ibwA`qEkfPBIp3-TStQ=$ZW0h&JK#JIu1GXSuG&%TT*Spe>|v>1goQ&YI;7z49+7r@z*+!n{Fg z7DalraniQ`Q{30Qu4RsjGx?uOi&>shh7jmDR1xv#a*~si^_bFMwV!A1&aDY>zN$fs zm@zm1wt$hGa1Tq1^q0?o)Z72Mt^DErLs<8esnUaQphD$e0ZcY$mS$B<40Krq-1`6_ z*Zs5#8Q2VXt7suUYKNC2;c*H^7Kh?sAHcfkykiZ%Le8JF;{C8Nr*)mBK;aG&&EaK{sT9LUcV5s( z!AJf6iNc}QgA@J?1^?~9&;(UdjOk45tL|*Wc}=p~R*j^!obGw-El#$VeA8#8-Y4$Q zZ0F$ryAdo3Sd|ExcQvswZeO8%$(p_?fGI-BeH%NxXd9+U)W2M_Rv|RJS-=uUmvo19 z+J!~>It+Gl=s|V%+VSoKBenx*gv^f1*Gt3ra5m~5&>=u*A?ysl$e0a0pg2-R1cM58J-r0u%%t#P( zGhLVSS00H=c5{apeahr`#~-g&z5Uh3cK6yIhXyY6UAD*hhZzyCUt)Eju2B}+bF79| zylR;ZY@#8&Cln%sSwAq?xc_s(NaX2ZXa@Sfzb{_@?9R&AFq&?ZSU3y3(pvuhj~sV} z##sxSdAguvnKc3frXjMnNNPD6?Le@Ld~Zu?XAA+?gIVDbr@PQmqya)4U6L9zAY8eL} z_lbCo2V-FO7tt7J8QAD<(%HD^f-ipGFxl=zt)opy=?OBD3{L_qM+J!1c{yDQA29l{3jzhLap_?R98 z$ng=8Zx|IQs}0Qc2r=#0sx(eR$5aMmv}?}?7GccJo8|ZeWOqbn-c#}yhGF2@S>pfY zJXtr@q{_GNWXRo|Vw;ys1WbJU{yqayR0I$g#WdY?{7$ve`_~c9Y|BUG)VEbeJ*hBi z`Z3@IQHLLW#~}g4#4620r}JcrrP+g;v*GSu^Yv80g7$N**r4b&3o(112Di$GKv1VCBCnEOr`L)mASYSQ5f8}wRD6Co< z3s#(EUsdw^g!M#gP>r}_af!b_1Rm#5JVgTbdypC{-BkwP;7d?`0#XZ@DyY1 zRG4)a2Hcnh04WoPWg>F~=5wa}_4{TDO|9URXXG5t3p3u(hgo`M!2Il8Z8-C7ky_jz z0eXg`zm_HNR{2H76r*T@E1TX_r$JX5>b%`JkXVikWSe&J^zjn#1Rek+0^?`iHY=RS zn40L?*(|vUWCCv__5ixoG4Nk)DW{9^2!a*=qkO{maa&5g`d3sU)y4`OSi;|J-xr9G z4v`%~)4D-LxrvDQ#w=4DMAUc|S%XGkp8Z9X-GimQvr-pc-4pods47#0G;YS-L}td- zF56%ay1*;#OGbwR0}p@IPSPkOWm;aG^WW+az2AUXSqtvxCt*_=_0qNN!lX(bOSZNI zy7=s=mAp>4QmtTbTQO(zn>T$$d=+e$Th>Y-~}hHIq#euq&rdt`?VxP0b# z1T~Y0MLrG~2L(o!Zrks6No9{^L2{pHT`WOaQIZBHb=HLG8HQ#bJK!vTgl!sQP^iOu zrK^!>uj}*b*!ji7S!Tjn3jq=4B|=fA_a7RR{XV}syHCkPye_y#g&O6;uw>AZFc?@}pR81bs8rnSL2HyvONmOz-GXJ(Q zMW>4vTNSBS`iMAk27e?8w61_Z{;)L@Vxslf3c^*sXoPK{d`qaYN`5@G2kR{8Jt+111 z*bD)^>;VfD@jW)p4!nRGrfYqEhf0gL3}K*+;zNa_$Wb0B{%U0Z&5l8M zhpF6CA{moOy(H3Lffi1ca3yE-C4kxZvSwQDw0rUbX*LzJhjnhSEt=jg+obR^&N?z# zG#LYXl>pECa0eB7*4PFbMs2vj;ud=h+$Qn5i_>kj+*w5{M4_o*C#uzmT?Itd>3imd z%xpByj@L1AC0=fYMu!IB8P${a&<_*3y}w#yOjRXviSE+gg;m4K+?Vf5xt^JlSXNr; zcuu6N4+}?w70l1kQ~(4Mj}pQT$rxYWfHRO@s^&CN!QY-J?E)ijGS=JH+M-hDPb3o# zVFWfsPLD`NjSM$zm?aAer`(wP|Ec@%G#Wgwce=ieo3gTJl$mJ~2t1!R_)uj$#E{!} zwaDaFcrS-uk-rF_Uw4eOVzhHY&G?pEPopmgG$DbDZYUZxv6X8r%7jIzm?UZ2PY>Gh zUpr?;2~B;YGd5B}`@}ip$P}`7OxJidpz?`ym>YL`#P>_a%SyF88=@>U(X2sfC3C}j z=f9%&@X@`-!zp%>oMlytE``ZzLba0)r~a&3YDyaRFqJv^*O-ss>~i_7b8CY8GIJ$U zNBokMEQ;@1j};l7K;@C@E^%K@|H>#0sUKs-dkabDQ^ZhomPeMNP%oJtyqq5ZprR2H zd%!T@uEWE?d^5QIP=sZ3I%lcZYpyyO@Lw|rHA7%zn@UJZszBWc(xc0f7`RBt3trAzGH1Q=>Q5Z^t;MH%B z5Zws3D(}82(xo(VAEYs73`HR(7EL#14@0u(W?o?1wBS+MvrPD%NjUP+$%lH0RDJ(B z8aVhQiw+6QJ}5i^P+-uQCX&2|LoYTOxcA+2?|Sf*xnbxp8h!waXD-4V#C^T|YxN3Ss8`rs#o^v8R-KTy6mZ zZ-%VIP>H39;NSgXjqGEXKo zE&>rUy58*4?;l~Q*4J&?iSB5t3tpmp-C$smgy7NCt7GGSK35+)+qk7U^ZX$6s+1l~ zL#fCNIv9FTY{w_W)(z}jq?$`^Zr~jfBbwOo5!zgwAkI~5Y{-~%yGI=UGsI^ml+nG6 zW83RX&Ar(TxvqJG$fNCP-sR@tj#m{=8uoCexxbw?Ra%^5vQg<^UJ6`HTX&$zMAQGg zNlhX`V(EVOu)fj!kvA22=6X^DCga|Xh^G4;WrR_t#-~5`7B+m0t2m?&A5UB)NI0cw z`O>u4wBdPEs)sv{ZQ;IPKrf5B@L$E4d?I12EFKxQGV>yZk^8-NCoubL*S8(NMb6|> z9)36luczXc&`6g0!^G;sH-*wcvyB(1nC`AeU|6`J=B#HiG8>+LZNt6G$w=qNTgX}! zx-b@^`)ez;9iQbM`PI8ORF5ZQn6P8kMm5}e%L33ArtYgWUfIw!=w02E@uM{cs+SHt90pGKHvvY`Vap5r}{loIKOd=eMDhJ zy&$Yog}Ani!gR+D?pjo?gafE;II}2!0?KJG%Y?;QCP8rtBkP@%$e!TaGmd(NW)n(u zSMU9Yg{9+Hm*1DVrbY;98}$8}kqy_{`pO+Sp{}-Z=S<^2T^e4WMsiAuN~0ZkW8!#d zIDn}Ib2opP5}A)Peet>zqVKecET|zf>q-(BtP#8*WS=xVPws&uC}(&3Ov8I?pMfM*T&|S<3G~01`vn+SM|0JI<4EK-^BL5e%LCJ;!5;a;naC^-1`V_$R zpC62S=%&QtRWX`E$0w`-7iFF=(rrB@&u7+KRyP;HOJ-!_t#{(mG)`+VEb^iJ8S-Sx zCo+R{!)E84l=&0e|CHT`r`rhR2-$$X_dULVz(;7F#-PQrn{JEx2wI+4gU9f+VWih| zLgEoVRI)h8mO#Fet31*9~`IciEzJ@<1{v`6&QKroOhl4nDZ!{A2;him$(oP37s`qvz50} z8g>P}!&R=S{>=6MyCSWF1yZu~D5U@uuYmH^Dcdls12{9lj{q=L$Jd6pljI(FbNBu{ z{@YmzUTk6QMTTBXY+5Vv4(|@u6wdR%37$t$yIoIXS%nybRCLuF z8&XIUdP_FsCck*ow`irhb{~_yy1Oq z!rmgAP=%5*CTE@dutR4|qWqs%jQs89O&h)JGi@nfofG~DG<=5d-?X>(7})IRjgNDaJLyEC2BXa#dkqW> zKKG=7%JrN4@D|KwF4ynE9gu`dqhNHA*3tj#!~2+zVUdYTsA_dCpr+({I_33bH$yAV zhxg}su03G#J-(+EI$^}P5mC_bp9Mb!MOqQO>t~h+-ajvr!=rsCMUYyjDIcbR>3*jN zH&b_UDgO4bvQ6$c7c7jZIVsDQ^i41M>zz*5xY&C&>H4XKTn2HwWt zKVv`1+s@!>{aSeToA}CGli=7bLGn*of;idn34{}Nd|aUmGl2vtq+DzJ7aH_dhy}Ko zeYGT7=49gu|MOno_#=jb<$a2@ean#Mp8iVq9b-E4)VGO zQc#PPgDkV11cJcd>&I6M^u*Y9(`y88d=rHHioZ(SzPNmnj;ERm?16XBw}k{=V64Zj z_i_8qnC4<6v-8B7hhhS|=hdfK+4LXPp%W+n4E(Y}qa#jmPUHLQp zg!5pRJU^`BRjlHToK_ivU~ZpRaYdvPKgEW=ckYL+y|14V`>&52XpJ9%=Ne^M_js=y zzZI~u6&xeC)U!^nMAUC-sl5XYzb}{T@5LV~V6L*78|ACnNePmBnps74R9f;cC?mase z`A863m^CZmxqol!L-Bdv%e4ud?jz?&$~{fIdyN#LHr(z{Rgkwj%g8Eq(;uJFmwJM@N{D{DM;jh2a;jVzxwA>YOR4E5aAW*Ce z+73#9CZXP(-@WD>S-*x@-?@8aF_wb%GI+WK=IDb6xnT^fUu;#fD3JU#dSywLKm(f2x(VBC9wk6>JYNSfO{B98`N)fAfdTspEM zQjDhStm{BHwX|0(LLIxQEp zYnPcE+$!pOQpyhujj5E!0&EO990=b!^bHNS4wTD}Ch*yQdF!BTN1I%Jr@!1_ROi-M zQE5Tn=+n0jX+uIR4zyVgnWYYKN|G6Bi?siq@(8s#>?J#>6Fo{G&wwo|DylYy zS09<@1GXT}iET#&E(K;_=kmPBp)(=e9YHBHg?y9mT}2FqpI`H_Ja%-2u^^RGO4sFP zA{8z@wp_Vli+t@*%KZxSGeFnoe0(!kFELBj>YP3_T?7Iw3jsbQuvxaeQh4vitA!(A zX&hpc*S&TVI?T=(snaA8Bpi0~qqedN%L0ZkLR5G$&UkX0svQ^u$}9^kKBhHbx+$ST z)$?U_4!GYpQ}ccDE>ame%P_CP2{SP1B?XqXSJdLb>n7iVF)1;(G9D}G{YnpJVYYV5 z&G0IuTsisakB%8f(BUnahWO|#41Zu8dr^lANST;JTLTd6y)w4fK#2~>+f#h^VUI46 zQsEwi>b$IWG<@&nW30XMoScik>4+}?-9t^1!W$E3fUrx+^z498{AE_t-H|mUz1v9Z zu5Uw#cG7JaVltH5Roq#qe?FPqvH0OqdZ&7ndN~nWP>7?fyY^{n$*JV1lpC|JxyErq)5BXE<4<}1z0;rZeIJE% zs^HA0gP9_l1Us9E=}>clS@tKH=X?*Q#f#lHsHj4-2?zg-%d4I3V)^JEr`5+H+Um*- zXC?i|-mqRC0LnIbWm3;2jUt-Dc?VHYh-8UeG$*zIYQ6{-FGVmB3}ATaB6RR8M>PdX zV@cu%-yyj`4v>)eTJp6hY~eCda0Ynh0B&ZL*NKto!wrR-H(KRxQ00!q)V$$xwV2!o z$m0gl;r2q{moJ*=)R)qKyNVtM` zrWB8n^)v~~z-sk782eiKKaX~A+2*8JB-leUx|h3e`}>n%c*He|4BM&ev*ND&(~n*Y z%>$wRJ|Yxtyx--~T=kWpJ?t^6A6IZ0+}g@De-X7%5OkrhhK>6ax@cS(f_>@z`X^6e zyY~F=YD;?;4%gEaXfk`e8)Axq7v)7O?3mi9t#wPm+bF(^w_!Ea_UA*cx{FthxyNJr zi&XsiII@?cnKmZk|4a_WrNkDSX-p)B{f!NIHM_V_KMXNU2a`bA&4qNG`g z`n3VvDuyX4Dszf|?|tPou`J0_n0#~s>Z?E*u>#gs6@&CP>u@`b0<*@vwJ0?0`h6ns z?!ne%k1Oo??`b(R`+erS^RR!%b1np-J?VW2?_&&3p!;CbL`=9uxiD7oA&NmFnfxUk zX1nTQjTu?*#WZ(KO{_Ss822X$)xIJ)A6Diu?u9V@&UqVYF`44-13aXpG(a8cxFe={ zs-J)E4VNj}RJ{q`O-IL6i^_lx|Q#T1iDZq?ArkI^Ozu@_+BVJNG?i&dfPy zl)d+Fe`Bprt>8{j{n$Y-M3*%NZIXjCV6(NH7!1#ncpmc0I$ysIxRHu6-|Vr?rWRgE zpbt>OOvZ@~sgGiNezk00t%2;w3XC+x0MYIVHg90f|UXWK_Ube>g$i(dB(292x^ zyW!<=u=HM*VVc{A1elhC@_>_7)4b4X5J8<|NZg!&th%xMJ)ebioJOn~tmC#Oh_*Xu z3Y$;ZJF=hpy+({Vr{cDDwElvFo}dossNHV9mPQc9KELZe+S2@hZE822mvYc}sjO9~ z*Qsq!x+;5M_f^FHB;WU75*c@ll}lUQ3~^E|e-acDbYv}smf=T$l(06 zEC91pC4;P=dQyr@q4Hgb8#*RFy?2?yB$4x4*&PCr$tBxRZ>u^>=Xa!ZsC8d1x70C| z%&g3cTto3gAvc}dhw?D!r?;J5MyHU;(@0x8!&|0oGNbIL@i?qwN7^C##xjqjBi$b} z)h%?zogcvp#*-nNC(G%Z$(9bmCA5BZb9X1IE;w<;0(T^5{;sJUZRWGUvZakuEY)(j zB2gH+K?`Q9{3XSeAg3`)TG*s>Qi?Fxc_}3`OXM`0v%ept452X-=gw0xTx)svNl~l7 zbFY4(&iK~6xE624H$O+1J}Y#6RQ6}LchjEV6ga*x>hy`iPG-q$VcjiCQ@GjBH$FTu zT)vIAqjsoP+kUT5`)u_UNl|@v0~rdspuj?SSZXe+J;%5tU8CNs%Qlj0SINa_<`-84 z8>tgzBKul+bH#fVj-b%_1AoK%ykkBqP<&*aPw$b#>-^HAINAgQ{pL3ivKo2LKCW`l zyBs&2z>e$k(3yH25h5g`&?m|ePZsJ&L!Z<}J*iG}J}CkHE`$#Zqo%i8U>D*)h5WRP zs)X-NU(PG&MKNI#-cgj$k4D4_dt)zJ9l%-z$C=zO_xQSN3_e-*1Phw=4~)cXTyW<^ zrH$(W9eCU-lBa;P+=939k>f>fufL=VmRR0)T-{7`HrCJl%sV&7r$I?THQ43RV_O&Q z!t#R;-R>bT%&6O+D)RCkaOF{;_7OobnPC-ltj%&T{*GU$)h+F9*SR@nu(@Z<)L!UK z6vdH^v2pEENy=UM><0>G%QgFPPd}agFqsYP!5kWFS1`O7s+fW4AwT5u#3lzFU2r=d zL#LLdt-pOg`kw1Ql7n0mXQJ6#Q8?py{jKJhk-S`QQym)hdl-EMrRBKE6ecEKJa75L z{P32H)3q~v0;`HoeW)3O7Mz1xF(lWT2&DmU|YDqfYwT;+NI!YW|mVwmpRz zP4Ve5k-8^Gd!0m4B9XHAdKuSt8mKc%pP@YRVXP*hnHxx(@n0KuQ|Y~hS!+{&^b1OU zBd$!(k0;N5=HdS$;zXWFwRf?c9N%rlfL9jBxQC|CMK7T#NQqExWe@~CWv*kflvz zv)li8`{wGo!4I6CaWzkL$(`pIsI{@H_cGV~Uh!Y~NmpDm2W!I3KH zEKtbxd-vFS*fq0igtLreUyZF&*j`b+wUB#l_;}yN_AUg#pYlnkh3rQX;tdYucQC5& zCAxp~pNgjxv=7d7*chXEXWHrGIea9s>=|Q{OsbB$_jGMUX^)9W^H42i-ge~7)c{Rl zQ@cFcepZlNs~Q8nDt{@P;VwZ`Eun+&Xu_s&$KJv=)hdgmupNjKw6T9(+J#~^<4l7u ziRq6bYU>BiM(9tHX#DCn=env9TJI%>)k2sJ87O8oSZmpQ4Lfi!AP+zDDd1JQxG{4g z3CQi4>54wvCXa1wfLKr?$ogU&Ud)z6Ke~tyT8D7j!U+7AF9__ z^F~`?@m9J$;O460DZKqm#eN}vvXaR0>hxwv!L9K*`|11c#gQBc#agi%aKMFF@Zh%0pZSM%28N6#_>lZ4%MmPs$aXB(*lkMEc`F`HT zZyB{n4nwc0*k5h6(T68$+m2s%^2VVGSN`nsqeIJiay(@78Fa`bR~Hk`H5z?5>gQ!A zQqyVv5}UUSp|)6RSH?l9bJH7h;H$pvtle8gP{FuzJkU{|c$D>$%?ZM}UnF`(3|uTf z7l`8maT_^-!fJElACj2X|CFGolvjYiKBs$rCxYaNwO4)D4Im1n)+z9C?$_wV-+zPE z(sV$RwYM&0%pq}!?5$#xH;C;=p%t<~5-sL}i(!gn`>&5&SAe#m_a23m@ZM?HLD|;c z`NE4XT0iz|(LJWShFN0!s5;(q1mE11{3UL@=t7}1{|onT&s1Jb z#O@s}d4Fp(sNAC|`S>iL7->!8vUJYe_yr!GyA<5fl7g4R^ffwV)K^(KkL{X%Wh{-KPS%eu)u*QCxMjt`>0&Sxed12}ehfB(V7xRzs*z8h6B54Mp` z{P{CfNPd1qEhSsW^bYmtIl=HHuZuVg4^4xky34mnxC^BVWCQPf;1$FQ`aVOh-;px6 zEAEHnpg-(GnI+O7Vn{BxpfjP(aaH8^c2BgSkc5kY=F)} z2))@Ga2Zejs)?w*d$c^IpsWpEs~JTi{&yOWvar5JCLYLxA z51rp0&`BVfn#$F}VVGa0PY786*M`oZqw3Z+oApIdsjx%Ass`8*$s$cwjz{4N(j`bdo5k(sH z>FpJ)CwCj{n#0`T_%RCAAAIe;Z&b?pae%FYFsUQ0V|r17D3l^%@O6G$Gy?MtqsCc& zyZgGV7viNS`&i^h5T8Nd+6~0-kRT$J8G$v@i$GpOp%INB+NW#hn*gy5 za1Rhquy05~kob_NuGfQxwrkJ*1=Iv!a(^W%zGP}olNfQze@?Dp>vqO$#+uzowEdqj zzQ&ouhi`#D&2rvbH$KY0>WJy`B%BdFWg#S)AjGWMdnKghD3wBrI)t;?gUEDQ?+vPi zUGOym2Auux@r>&L<1Q>4xHgmfyBt7f>RQ3`_==h(K$M?CCipIBStk(k6S2`W^}wHL z09a%`;8=ua9g?pvi?etGSm%r@!oLm}qq(UkB-o82eM&nrg!!ARa0xM*NX>VGyDJzo zLT&AxyjOp^fbO?SDF@@c1?wE=99KXYA8Q@ar8Hz3x;j@nSaT3J5q6;iFf~48XiHR` zUA$s>=Vb;Boavtv!#PAO{&pxaU--R?t378oZBM`c*k%(tnwK5}IaG3C zpon}A7K6h!{wp>D_CJ2feTe+#G4*)<`Hi^T>CAv(in@3a%w51ztI}Uojxt1;NjIpX zQ7DbNlW*MGsmAN;2K4u%3q9fX7T>Cfxba>5TwwyHL5}uShN5}s+`qQHi%jO5Y!xvb z3Uz-gUUeH+5XWUzMS)PhzVztuB0=TVGx*jdH*B%)dBS1s+CS6SC$eq!VBzT9UKZv| zkP~}?I|Q#yz!#~ua0M}p5#F8mV_5ZLONK?{G7?Rls54@kCuRNVtO7gHKYON>_Wh7H z)@Ju&P;W&1%`ic7d@)l-f2}C5I1gIW$XC)`Drh_ulD;DB`n}tXJ;&xTsQq8OQ@hV6 zTvzbc2$eo#!cmxRI6YiVQz;KTx1z@Q!=1EK1DBD}j$Z*?sf&7sz$uhCbU!u1Bp3z!!Sz>4VpB(D2_$yZY zUIDonu*12B%V)Y!Hlb%}W8|>DMVJ!hFp4ME1F|@p$RMkb(*-ASjQ&sFIv)fX zSjDnxp1pVH%qVemEg?bz@pzR6bxwzgKUxjgvu2UaV&(BFASddScF&oXjlgf8UD$Xj z)cJHZb_eT`wsciq4>k%en?I%mllJz&QO4V=f%pAZR-sY3oB17>{?@>3f5&*AT zY)FUl%kS&etb#1%g)6l2i;wRNz1_5GWOX<*BH4#0PEL+FT7}jPx zeqJta>ay1RM!7PSYfqkq2#x6a8b+$Ue!XuTDZuaw{TCXIKmTQ>&~3Vkmm-%rJ-2c2 za}C*#m&?`9Wjw+a5Bjdgzujs6#3FssrBiUZN{3=HU@Q;`6!}6|8u|F!*G`r$-mc@h zZ@H{Z6jz1tt0|xAKQBMrR(^Pr`KJVwRe_}f z!n*0@tr{OKq;joqCVbXn`0=TfPVJb7!2gG^=f3zFZ(CGb`G?_`6ccApgK&@V+zRI& z1V45MnKi?WRQDN%7m0^8#<*=3D>Er#Qdr%ji3h$Yi$8!5SYQaDn3lhHMTWsQEyncf z2*2N~e|v)p+IEZ&p@Wo*l=Yrbvq*=24*_pL>xm%MSbuc_JAuZ`==UJ>ro~S0$UG_- zl;tolA@Swp+0kVlW#fV*n7EClb&m1H9>bB}OYxN3523}|xKX#S@A0R$1+~%b4%e@p z?7)HS&qn)2dY}7^KlXk$oZb;lv0!8O&fgxhI(-&EF1SIcRi^r^hTX{Y$hpbRFJEP9 z{Drd7^zg3m&* zorD&^f5p10#@gjoZ4HARRb~z8WtB9cx2w#bZ!ll$4I@*GHRHj&SyE<_A;ZAVdZLz<#b!qnmq)$KOCGklbC1o>uyAV!x*f*l z%XS%IEqeo|bzMT!;hxY0F{dQIc&aksd!TrT!+vz9GM~}>nSLmY1%VJUEr)9{w|^gPEHk2~2z3iic*G0|JBj05H+N(KDCev^9X zp?S9BG@e%&!pI!Ui~WfAB9Rg9a2I`@m-;o^!8s6yXXZM>bXJe7OheiU!|P-5SZ$f^TJ zOgZn-UGzA4Rmt0y4WHWtUld58_r?SWM~FQAoaOt5qNzM?|M*(Ry)~<2=9PQ={un3y z6?tZHK@a&91YR;M_~EH`ddc`bNu@6nY(q&W?NF0BzU^@luFe_JDF(m83P=zw#Cb)O z#kiMpT)v*zk`g?&UKJf<^f2LTyOdh5OuW~w2LQeg@lz}&tpm#4F4wHP>-qjohhb?v zgJLsHARprq+KPXW0am_wvFORoZSJ;yYeM=ErgHbBu4FP5Jr~)p`qPap-->!M1;xm< zzbnlN4{G@i1(4{3`);leAHRWOEvJ3*7P40h*i*GcKa`xH{=Xxf^z>|05n7MvHko77dH)t zU(z^FZ(*0?sBFK>e=Mh$Dfy+doU}@O==6GY1)u3yPKYhX)|!EKXzU&2qPTGdPNO7^)%oF zvB<6sQs4(KU@FFJK8YUGW7{Tk%nI8x&-S95UzGJVeAjlLvw~2^9I>qfhJGm%>;t>t z-b*2A9bjC?_?7|b+3m%g2KV0m!X03ouK`lF^LQFPZ64_y(u`fBnjuTfQcFcJr5W4< zDoUE1oxp6^0T*r}U#MP4Fq?QdNQV|#C|1y{9}ULSB4=N_Bp>CNj3=#)5FU1kIxey# zeO~SO&xh$%whgr9&j?unrL6)TwI;Rfgs0pedPvD&4g36-w;;<*jNZ@otzi!;RkZhj zxO2Rd3?`+lbk7{BBX-El^qww{WXOg3Edwo@_R?3Vnvw9nrgkUY)IvbQ+>vVRs)*S9 z*8p~5S$_rO#W)CkZTjF=gG>WRY90ot5_F6)7aHKiaBET zgO_*Bk*PJEA?NHt4r*i2xd6PD9>vJQg3Scjp7t-zaeMGOfo!W9nbm~7&35C@ZyRO; zD0qYB6Au2_0O!8&i;ZkSp6msRK&9}v4#4)5)Tq@3ekx@ zjCuM)x9Z*I8}<&~6=UKFl65-QUnF$q`QxB9!595TNCi5Z^SMm%a%jy+(+92#a-e#q zaS@=Lir*sCLlDc2+{8WU*YcOnb9!_xi0lTDp+DGPhs9Ej)fry4SQ!0)(JM}Hc*ZBM zuMBu#Jn2ft+0W?~(d^hLY{*c?y33c?;yY<_oNi|!A8Z}O84HM`X&2FE09WS72V)#% zIK~uN)0ut#wbKFJanbK?KX33avLhro44=6wyFlpC2eygs6uk^1A=ysXuQ`OT^W~0N z8;MCq=JplewQa^zCd$ws&vqc84K7m#R^gXy%D_1E6;3^IPI;a*9JOM!7DSQ!(-)ut zNBD=8rAVGoR2}S#Zvj#CqDV+JI>zUT_|C}6H4EiJa zI=@9|(r1=b-G-brHlH1;Y#}zX{DA&eLooK~ly6yRY8)N5>B6e0|9z3n(CcPm zaKSn+j=^V%H?yssbdB)?Ywndn^%qa26L9epHgiHkyp3CXahm8H*W9CERBQoY2aT zeXL5~j(v|Q(eC)aPc2x{jCsH7^6aw*-SpR4%{x!W2^*&=f(^9|WN+0*)r1D85aJks z|J_$3HnVBi?RdlUI`)Mm9Imo+!89dp7m_jQ7HNX1tLYU*qnAdB2xkzPjd8edn%~yd z?k-3n2pPQ@r${B~TNe|SE-lXdom+kW%6~4arAvQm=4?)QL;iP~Ib~mx+(nrcofVBa zi#CnuRl>bF5cXIhv#^3K7|=H$vBCDwlUXAkB+ygH1ycHX+A`;c)Cs*&+$V}^;pvZw z%%KIe#I)y{O+k(46u|l_%U|bEO$X71 z{=i7rDwFweK#6TOKpCQ`)E%}dNKV@3{zE#f7c=F)Z!F#5*SW_BgiVFCU=bJ&#?eIN z=5oa?yFgA)03mMuo!(>(v*&NrAdjRP(Gv(DG+8lQ z^YjNemI->FK^l55F@ycL+w*4|2QHPJo2Qnic!wus$@fSAaFgItV80cgyY!?)(~|x zvX4Nd_y7@1t${YI0t8kpzG^Ce{y5FaVllMA8FvRU=f^e00F5ViBGX`$c&c@>59aPQ zc75V|FdRAcR!j&9w%*}&7IV7BclV3RA8r#*>pg8Jm-%V-hbVR{^pz9T>NRZ_l@q&~ z|GM=fmFQI%StRa&l1~UOf?T$_bh_WSBbX7NoLk1kD{&n-4$KVC?pm;upT4)P8Xi)e zJ5-9`kY*3rT*#q_jJ~r0ATLuCRHBWr2&@+-0mJk!3fqMk0DU7Q zIyTH{vu+;WAqF(Ajb+^5)y29Y^U@Lyj8cfyus62tVJW%h1Jmr@Skc-9om>nV-~nUG zx3^>9^sxYwP&s$)Wb#G6;ei1QgKhmDy#;iarB-lj2EriD*&VX9dWdh>)9>t4dS2l zP9gUt^(O%EeHgHYLLkf3E&TwXv-*y|M2TZaA!YPe{1EOM0HgMMlCE$!UP(JB;Rc>J zHht=MkWl7xnENw`2-+7U_q1T!{;Fde0~XaRcQ*;y4y3CApAFK_*J_FRU$5V4)Q%s2 zL2t3kagpWVzLo|XTh8{*r{hJ(?o}(hC%M%svN)s)1 zMpeH&wyU_4YVu>of7nqCjEBE)N~tPNtu8KL@)a zzbL4serw~tN!oy(ikY<1`x^zU3D;xsbQnUGtkCeubpI>hsy#<}0cWRgd8@SRmMR+K zsf2k9;E0|OKh;)HK<;7t+S0eH612;bay<4!Y&yB<-1EQ`}{btSqs0^ zev{NpN)&xhk@mE;@J=Q?6LMna4nVLcHV$SbpG8ONyvcG|Lt=Q78+yhi$U1VaivRp1 z`w_&1gA0u>f!+898gs4(r53a==iJ9O5zC&UC^8O6| z7rCU+g=L1530>kop76Ljo>$Vm{q<~pJhN$!Otaqe##y&@>G?~Z)J`cSo)|~g(s6i7 zPFG7AUKTYa?DiW+PV192cCHIBs3KB{-yA144|sqSh0u zdgBt4H2e}oCD#+!nB?mIy11r7TY>+*PG{plyC3IGj`wr7S`_arqeyLVX8MKgBQCCa z^;XMAG?^MA`I?{mvR@x%MBmJ$LpWwU5IcxX*42RMXugaiZ>ZJeLR}ZQQia?!XFI{W zp+7kqQQZ!vtKiCyGf*Jc!udX?6y!kM$(EO^^0JR~qZno~wPmYiNs8b)A<0wzuJIIC zsjWP}CEc`n7GYo>AhIg50Lr|MVM7OQWqIikWb%sTB1O^F8CT{hUVPy`_C@&Gg>Cz; z+{c5ON_fE|&9u|h?^g+mn3B21a{a{Ug0?Ula8S3S>vnv=#C&scSc)OKY#DYfrM~klhSgpe@Ac1@8*!#Vr;8TNBEyvzc^ z%AZR>jURb~izkgVZeJ4TN8{41=^F{ODyE{h$!hR^>)TKraO9p3*0;9^FJDnCN5X^( zVpt>fA_)Yq-7q+Svd2K%f`OL54;=cI2#Uu}{U)!p(BUJ}P@oQcxPmzrUX_)nWE}t! zd*MZ(gBQg!Lev9A3?>Qt#!;o)83e7{64KmL0!Mdhn@)N;f~pc?N$G|73DS9yU;|JY z`uW;`YNi;8CyM>>W`IFcizxyZ0Mj))hJV76|InGFniOY?)xl2;)>Ps3~H#reJP z<+C56EfmSSspa&nZmE*nd}x*$)vI;D8~dgSJnu1BxWsPUo3n`ogR_S!9(0LU43c(I zZ&4OveI#baVC1u)u;8?CT*0=+T?3(k4fPsGO7CxnW!*nGiFIL<=h+Hqg(@#vU#ZKg zL}!7!<)w8{V_jrVD^A`cYyUiaM>+XJ6>LMPz6$!jD>pAWw8?CQq{?_*+bu!|O&TpI5Z#_^gC;Ygu8msml_AaZqM1bRxhOXM z$XYNFj14?`G030SXSLAC*uv2G9xx6<>gdj~qlm;s{Es{#58|I(Bs3$mV5GiZu5QSV z#X8fXnISnGozp?%LH};oBx6o+M|=$zLd5VbXg7wEb14~1L$W6?l~1Y=MZPmm`}`m( zhD?~(LZiCGlG?H7Cgx3tjITq~lP;N8YwkOnUFi!fiyR&6<*$=s3THq|GoHv-WgAfw zmogDdi0l>I7(t6)vZ$*e8m)X^7kG_OxmPySh&ox)lgQqjvF`=DtzRagXMIW6Zk$6_ z{lear`zM{N?$G=0`jq12=Z2f%DlAJz6{r~();G`i7Nw9IERsT*TtG#V|Jme=b5-UfI^l}Q1qF<3x8P}lYrJSh-aB| z+Cu?vOjpX;%~LS)_IKk%k+R9+sOz%!14{IyFJH!~tQL|jC|dy+?cR*NsJrmsF)4Kd zR%7fw(p zRjFdPXigFr09bjVXK!0^HMr9f5fFZIVb?>|%oanEDA)svNsKwaKL#;xF-cwv3+d}U z?glp+&6{bKOP_Ku{0WGw(K8}`X5EdM9=&kFJ57rJ!B<_yBsPyl`Y|=#qfujZc`6xB zU3KEkJL(=rGRK*7o%_Qj|8m9!w;NI?yELZ?WQkM<~_->ne|wONGt`dtaO2>wp7-U5kj) zMTn_m-uUJ1c_f&qVe+z}=a@KSN@2{C9)ihNL)rR|Z=Aci#{86H!)Sr^q<_3=RJiob z1)jvTHvvw7H~xMaVN|7gXWGJml$U*#Cz3?lgU+&UkhEBR&JqZVbLC< zXsW+;yq%+O^9~xpzc%?DVzp((;)=`IB7f-g=q24B(~qAZ^H>V zthVwE$cEZ|(Dv@dwGs{EXlUe_Ws-5K2boy?INXRAFUK2i2Iy>z(9{PUNZcBHf%qH` zx38`Q)Po@H{wsa?>aC2JLcIS7@yD;OaGtA1BzZZiyu%OgmR)VJTa#txVSE@b#3W%CYoA-XZ9FTPNtkF+ zHTnx{u)=+WoL%xsMn(||$HtR>`8nsiZyti)`n@Xn3xla1dIvz$$%~&n(LdUxpeaE4|1B$0fLnuK+H|Jo=WMFqCeb*r> ziij(@;T;CK53eR$6-XzOd?<3?78tzxoph0V_Pr7-(Vy_M=CZVzZ5OMJ7DN%Y(K6E&m-rWW!LXc(vzYM&pPxKG9q75ZEDL zOQBTM)rv%!6zxh8>B@^*`wgoVOnZC--=huXej9T?pBdx!(q9kHE_b$;U5c!=U=gAt z8P?yb5XGh3dinytV^4Llg?~`_AA~p3vmOdJgV;C}l$iH_OT(~GbxgJz;hGey4m6oe zP&n>skB|MC$Nwt55g8`Gka${kb(zE^*gDKRq7R}ewFrHMAm~>$#w8D99gGR*OVrvP zX^MlB4(pmZttTDyICY{(_wFGmQg8`}{Mv)EoZZs-adYr+=Y14JMvOL08DD{P|9ax2 zM+H+E{*UUExvNR~J_IY1BlBEeVSN)(lr~UJ1hDNyuo4^ zcbhDmSrtrCC^qN;?26xttjY~AVU|_)iFI?B59#O$VzN;d@-YGWM77LNOoHT9 z0On9Mvji|jsS?l1G_;8rV1X*-25VSq(ldb@f?xDjM(Q6c9BNTVeqX_Y^u$9JhtIS6 zJzb!?w1vYiVJ>_fioMh@72&C>8GH%oLzRb3kz6${%-(8b=^*HwQF1nE(>v7pdt->eES7pF7;Mi~$Jn6m z(+xc?B_KlWYk-IR4%Yb{-)sS65tn2rRWeOP6nNfl$*kCx)4c)l);g#ptHGv7fq6-= zvgl&L$#tD8DArqlo&f029ioXL-p(g zS=3iC%?p%QH-=6rhHja{U}!UdHp-fzy)p+cD3=TdzT6Q6{w^mV=+>ZLCD2Y&nXv8Z zXL#O%`?A334(L#E<4z|)6?Z4)x>$F>@jRVNtc$4uS-jZFWw11>nP3tSS-_G^v;I|*I-nvbD@pu14Sj3`_gmn^4AxA8^M|<_K?HVBQzO$0yX-dF7G}~&uM=!F$_ttq>5?9 zLR*VypM~KYWaiCcI4%&LU>|}Y4hVB)1aI64pn?wc&@Vy53&95v^n*vpNjOh<-T5;N za^VT9db)PMEt2Su%`>7W#}hw6;|iAoeJ(}J$uYH__N^lY%C2DN3rOO_9828ko50&d zkOs=cP8V{-4^sbj{sokaG8iMI@tpBPtGv6bBmIC-ph%fcVWTADe1PGc7Z$OD5_iI# zBX{^J%Ye-MG6p`}Zx&p4B}%TL-9cmPpv+<4@et>~f&>yxM-YX(%<}WZKDl=Nwb=d0 z@2a+0otZeamqpgAzN|ss#p;#qG>7}pQkTKdlC8w^BRD7A$4#MHu8?(FRuWp@CK1Cg z*VX_Z&Jn0MGyic=ghb3lJM+wzceLN^%lb_c79k|z|56I|*Qqtgn^)@Qf|iprxX86X z_bK;Ok6r(fbq)p5ho>q;ZETa;Skx)OJGhG%`ZBQYilE`5T_k_bh($BVi7;fWORS>mbr3z9>h|kizdTV7)*p` zNhzs$zh=7soCS{s0pF(Z_?_oG${I1xufD+iWyw^{RcL#%v$j)qrB2t`r~VUpXXp+x z%(vZ(G{h|Ii1c&x4zaZMH}Ce8sko8yd#!KH-$ZxTU9+GUVElP-9E-0@D?;yAy7>}& zCvx@SDtWE*TmO2pLY53W+Bx5aGaB+jCWLS53|y^j@zFWjJKu+c?`oVcPBCL)zs6=4 z1UtoW!-a;jc0avMqDneTRyn1lhetmk71q)+G>7N2q*-nSgR`87V*nD+olif)xAUkp>GXIH|9Ox1-Or0WmTh{*tHyN0aWk5%?fmg_ zwC-m3n9V##;>;2vZXs0_5Esuxz&eWHOCJWE#?CKI*SX9;c9?7;{9xisTFot|8R}*9 zLi6>rfr}OQ8@_&EdC4TkCCmS9m|q>?rJq7udtc3b^AAla(r%$Jb6*g(@>73D+^AwnLa%Hf*?PXS zIToD4!d|x$HiIolXx&_9=Kbw7>Tv5lbNJV~r;jATamh)Jt`M*}A=f-$8scTJe_Mn$ zVY%~xd@}Pp+|W;qiN6WYPn*x6j+c}ENdby{6lx3XUu-6XK*VVrZ6%^Gmg6My?8~38 z5RG&ba0~iu+G;x=Qu2r(zKLuk$++$3dMoGFgT8q*BHrlq5*C)zP5Q*(&im^HqDzL- zf$rO&xk=yWw1Ii;H4KPx34;OjTbYgc74I zid}(*uIh2dkfo27?>+W#tbYP@8AAD}u6Y(AcQ3}ElnEHnZ^1K5kUP|ZteJtcEBR)4 z%@z@qtFu`tw2}^2n7;|{=0y*53B*8 zc?I6AM8fub=ab)OVD^~-E2h=ufeZWuj*Ux;0tA_sPd=T$J=HNrfnUas8yqlgRKJhQ z`mM!Q#e<}2=wC^{453RaD@W{(u4s+)v)XQ8tLV6;^ zD-J%T8?Qa8&0Y7KR^j*8Sj-rGapx@Y^~?Rp1mci?b-TacH_8+$rq#b9pb4p0W;yce-L|_shD+1^AVQ`n74l{GRn?7S=GlH-46rEtk2eUbE@(sg^=}S2cG9&gd%bJv)N< z>>=S~%FuSzr_Y%aV#@WLvbH(pOxvw{88XKU-ch9_MSriB0u~s9i~j~7Z#!%Bhc5FS zV`b*8NPK-6D54P1`wp0;E0J=ORZedk@HO&7Lr4rHZ}AAYTZkQGw=9HoU6bq} zu)pWh;~P1xO|V^0=6pBgs`l%{#^jCCxL0V%vp0g;8+VTenwLRXtu( zVh%qtehX;`K1IZrPv5ZddH=jK0fqM(6riQ$ZrVqdbBkl9VMEJaQ7bD*@a9rL74vJ< ziX3f?k7gsG+q3i?5t~8xrm1&t+EVMO`_WS>x8D!CdbzAVk*$_zZchLh@xPu|8}z*D z3MsWn`Y_a@77)Xg_!J<48Zd7>Cd^%QgJN(TyzY15^=qP(I_0qPpJ5;w99a;y^ek9# zn~Y@O&c`Ydg&gO60_}^tvlBj@l-DjvZTk%w{Hrm{nEj8`nhywdS_U=vIP@=8fYm)K ze*2>fNgSCCzQWKDO{!;H&PRSTj?y}Jw?Bzc#%tl`U$4n}{ZKmOb*6w6{Y!>|iU)?D z_l({?oHgSvsEG<_S`zH&Pm7u+iFO^<`uD5P(4Fl^Afgw6)uGpEq&v|4P9RKY8Hipo z2#2g76_uw)ex>cgQziy)jQ=mjoa7(Iyah(sP$3g#9Fd@Jjp@|e-gd@ep70`uZf=z+ z^T7Hh(D4m%>u%%dBP(YzrdDh1~FyfelQScSfiwF4ttmU3+_0C!`wxBdr|1e z7$-<6moHpvK_;o}_o+#pSUE}4`5GN+cg5917lK5`*Z|v-6-U7zeCW6fH@lJOe$UE$c`c%$jFO}p>wT)j$;h87i136SMEvhbbeZ( zNcxc=`oXKxbmb8;=cX1h6pe=%z7*L9?IQ6)5_j2qkjNftJPwI{pr?M|V$*cxFt^jJVEQbCG7*mKH?6n z1uHnEdH7}`N*^OE4R?l9p!4j$@59iBULhVX?H*`XqX_SSLCR)(3P#DW`+yc`4LF)A zkYfxWbA6rw1g!jQ1ir6g=U4!xxK1kS7cy`@cbp#d2e{ro=!t#+3)K+>k(GdR#P7&a z`-hj=0@eE#k5ZuE`Cx4alg|Z~jbj3m56|ki+emtoYG%c2fFd zzQ-%!!{W}*RwU#W$qQeH|IJH4;4JCo)r>E`b)AaO?A(aT_Afh#DbbMLpYwCM2G9uG zxEo1<<1G}d6)Zc@URqI=SR#=f5?k+4GjZgszS`EEIxP4|q>jQ&Xw~R{;!wU~I zxq6H8N@@`_7vJ+StB_9;CR(?^Q~&KEYN#Sv?cS&*LC0s;dTN|8NFYA?9fL(o8E*@L zP4kZt<*GFE<)7$#6rHE=mFSBS+Bl>50Sl~)Ppwrqj%2aPm`EBYM1C0j?&#=P1t@9Q zgRmL1DZCcE&RL#e5Gb@F0=!TKF_2A&mkwy8d7!3l4MDQpMw7%dnMk=A9w7tr3Y`8n@r zjujt!X8l}R$ArqCJy%HOKY$~OXrQi9R25C2X8xIaoh{Qj+0@klnQ4N`tmkXUwSh}Wu9+~!7*F^f9pC!=_{S_WGH`aH#^YJWll$u%%mW1W3 zb22p3opG*{E}gT^6>yEEYG>tbRvI!i&=V;ziX2RG%S#dJ(1dbej;O6sRihXBEC^yM zN{KPd)DeZhNVlPkp*NdRcUR~&#HYTVCoHGH?8hF@X#W<8u*2Z$d$Zqs(CLBZa;xU6 zw*zViDSz2DcF&sned^8-k^~WEB4rNr=BL2UU;0&DbNih)X`e*f&%DSA5uEe*0c!LiSn<*U8=>$hT zVXB?`_1l6T9Rrqk*o&ZSVwkyx^OV|2MKxxAWg0T%E(S zL2k~LhxV5{*bVhN7!Q#UJN%8ekh?b=n2}oNN3D6pP*x>)o9Bf()jgSn5vV~!_ig^5 z5O;`Q((wptmK*AAft&Nvz8Axd6nhZb6^rK0t*K5Hqhpn0S?0~Rp?6Uv-7Pn)LlqoO zWv+fMTU@`Uy(m&S$;6s&b#VogY*(35tpsPXY|yIBE;C3>9Dy@Mp0XYx#HUb}I%;{NT680_phuR8X7t>+R5+OMo~ z{}Z3Sk_eD+e`by5;0eSKU0sCP=QUC1(G)@zvUi{Gay-1T1ve2Nl33IgPafZ|Kz)^5 zKv81!>CBbZ`p~Tfd?6{;$y-#8W#?Pe(_%*9X0RR8?LiulsS7-{pfpLAUzYJJ1CHvk zdtxlnuL~~WMHHK9}`wN3=Cl;pYrR$2xF>h-w$0FET?S$~MH^5b1YjPR%D7 z90nOrBR|QA$Hc1=7ViVk=Y7lzr?6=_zOkZ1*TJpy*wmzl0z(Vd*}mo~)6rcim7v{eG#`yjm>88PXII3w(5 zHiXCtks1)7^v7pjfAa818$N%c7QD$^#5O+_l%I zGM^h>dN^KBXCrkp7k`El^sDRpmwrl-^Ie6^-ok*0$ugB$w@p5M3fzoz7m$7D6dY5Rkye}5vmlPj*@6rMn7gRNQ*F8eM@9BD&-g!Hr;chU`qREcc2dgl5Op9V3?=PAGqtab zrp<}cSUR5+Pe~Ft7=5*n0DIHO;@BCt1Z_nA_)xX!pILX4H=)gV*^G?Q19c&DHK7Y* z(v<}7NFm2jJ~w@{7yct{Xed!5SKORsQsk?jz}NL z-@r9==j`-kJ(O7WGS@yZ0OK{_Ya0cAI3hbn-2yr?p84x=lg!OjD18vKfj^LeaDO%M zB$<*m{|{+z85QN)_YF%AQbUIdL#Kp{q#KRS<5ebt!*&pImhw;{}PW}#`mCWZvs-Q6CZJY_63i$)NTui z)*T5i2=^jRUx4?pSOPp`i8Fc`n{P#BP02!EY5@qw%rC$`LDD8V9w7lvA6&3|Imn0x z{;l>{A;)A#(pP8z$0EIR#3!mX!EmuYS8eIrVam6Ek_e_TYt|9})3s8$?gd3fJ>1nH z`Sp^k<9K<$Wkt3-r!AQPFO841xj?S5>t5vlmB1<-q4#80joV>YX?Kb8h z?JX3_h{lD%m=(gxgNZgsUxTz{-0ffbpzNaf=Ex&)aKHau1f&g^!?}5HQhlDW`T<6p z&%aOvcBUP!Fx1LJf=GdU1^NXdD;U5o6ux3cFm_00uFOJ#y+BmVwLm8fx36$6i0T(N zozG~hTvO$e>w>%dfaoj^Qy_JG#@c4C-34*IbrOFj+5-q_QERPk?a{#;PwZ4;66!v; z(01*Kg4&KWP*bX!-WRhdm$?^LA@PUahyQO91fbe`Qd@9>_&aONTbdwuA2)7mk~I;O z?3`L#+rtzJzcEy$n8w`9?%Mnz$?STOw?0kmRKq`C{tm^J)c>-9|4+a?{E$n{z-#ri%2z#64+X_sR$nC?grTVR(@&@0B%B)i~Z5e z4m#4T=8sw>#M(cN{zUVii}l?z%C`JbrvD#!TZzypJ;3$a-l{2C%L#mhgv?>KH{0uO zfQQhT3-WUMLuT7OqO8-V(8V)rasl+5XYu^GSS0D$%-2Zv2?KPJqx@cq%EwNsKSN*7 zm+jq-j!nf|j@PGm4^(4W-v9g$Z3$xx*>IjOHmyi%u!XXDIBD3=Bp3V6z#*#lt6N|V zsU6s2a{y6Ugv^GB?F{1ksY>QzfHXe`+6H*55^2c8@jPC*fmg2F(p;`8t3TUnZSun$ zVx4)wNd-NFdMOC5z|df!*L%k@3?rftuv~LM06~zdEh=x5pl4~?+Q4QgZs65l0<^4Y z)p^hhs2XE`1>%$mPlyk)U3O;2=u-ttHC8B*WOIw|M}CfnJ#^c?c)zefR-|S;k z2C)S^!`s(AX7@`I-7esQ4OEMgXjg)BJH|U}Hotbhw4SK1c}?Dm(ljL&X3Xks!AeAM zWNAt}F-BU>=dSp+tnQ_7g-JEhFZ?eb|EbE?e-1Q5_zAg^e>s7{FnN}+3Uo;sxJ^Nh zguF>P)Da7Qo??DaE&q3;%KruVHY@>Dg*)i+2-k03Kg2VZ?P-Airi@ho z0ocs{^i5bf{L?ofJp-^AwZle7ziaDl;~+5n1#&!k?T=9Lu-8lWCjS#4aa%gs-7%p3 z%)U!U!p5-QrEr7m8y-9Lqts+CBh!n3w;{#@M-2aq3qsOrFt~-a0`5VH_Qi}p9E51+ z7S{YN(1yx)&Hq~Z=;Ud-Ticl$z;&MvwA|tS&pa zkd%_X`qZ2Wo(}o-=#W0n?8t|q`+&%) zftVK{)qDZYxi28^+xgSVZ%Fe-c{edQ-7UgSYYvEEM&2Jy6(Pqp?=p5pGS~t!7K4;8 za7x~aY7#VJT=DrvjZR(hab%2qWzYEa<`wb(zm4Kvh;iM2ZGNDF1b6aRtFKjhX~{Gx z$|<_2xH1H?7XI}=OjLqXbjt60^q^QD>QOmJ!uPxg`zvFKAMe0=n`yEbhWDPt&EghH2d~x+rz5+f#Q#jdCQa7?*;+;h7FoYVGc<__9{Nx_EeU$GCg1 zXv3Rg0qpY318*n)fNfA;XCJa)hTol4s;V&W)_-0P7W?bxy{iXf+EIb&BP7+}5bbFQ zfsA(iAApxD!8rl)w;R1(XZ;M!C{QVN4fu0rOPkJK-Vn45Lj%g>NeFm5C(O@9$O-n` zpCwt(1pm(r><1@f1jfbtPS{m+jEC{VKvlj z>7piLQ3p`5*f<%9`Y#JAw}6Ygx*vN!N_?jp=%*%_{=198IuuCu8_F{vl^FNd)%@I~ z8(>UqdRY^B!Z_t?NXfY80UlKe^l9B6QXN#D0zSnC!d-!sXbj>d&OyGkx`6HGcv%MI zRR7x%9U=yRKJhmsWDAuUWuoK%{o&VCm9qa`Z8p3>=;Uro>4)UzV}$AbIXwwNI~23bnwO<^)JuVmzzGeSjlOFcZ4`QUBm1Fbsll{d^OY{91$&+7LSoD58M`Dvk z90ILoRY{*{L0Ez2nVAm`Re5lpubwejuAF6;Z?~3DhzD}9ZlcJx%s{*BD&_a@|v1TtX zU+}+;LlK?Up@2dei4a|YIet7n0osEpaCBOOB`u{DxZEtPiz@=6Lyo{QQ4J1nO_JLd z8P@-x6(cwQ{@mbWsshJfl9x*Z2q5sp6+hA4IDjf5z*6qHnDtQQ!Na0U@L=xLDu^J z7-#>0hp5ZxikY}&1#(F%#lSxXpi!Qu*uz36Z)U%P$aBY&_JoX1trAbQn{&LMf15$V zRgeV?b=UpJ(K`I`U9e!q{a>QDHbh>7fOecfrgh6{Gq5aii88Er4=FO(05A2E2q3l} zgY+dz6JCKrvE$| zwcnxNAne2IVAnf$yph@r)i&oB=bAM?L3vLR88qc{B>I1B?9R57-fa&)22Q4FxDKQ$ zXw3h>$mt1;T^JCkM1&E1Ogel}E@1;$z7=Tu?izsXY1C`(pOFwH^-T=yR$&=X3oMlw zn1XD8`k)5jST~S^P%e8}<9^7V&zTm1>XQ)9`I1_0lXlHB#hh~^@*yp_Yp!r z`mEDhV)!@$Wj7ACvQ1(mkYLhwDh5iyZ3Z)CYQb`M!|Yb}9Fz_Z+CUQ^j=k%YqZ*xjrSS{E6jVX^M7LGsr=9HLiSp<6wqCHI4g56Y zDJakrSG2PEFevXg13vSxEg-ws(y%dbxsZDI9Ajo8x@6PlD^V7{V7_hAd-k8}{DOi% zq?4@L2=BT(%EmgK1iXJQ=G&VVu#WF|&!(3zWA=Rf@y^LaOrK&-?Vq|QxApEl%rA^s zdVFLHLm{AF`@Z!PU|4y_lUveK#9{q8{V~Y?Ug-BA2IZU}N3Q4KzW*t)LKKZ!pYA@; z$Mdfk$P8i&StTce-z^=@AbZu@eCdSdd*D4H@2jOA!mG5l;1-|4Cg1Ji(AccIdRcI= z;ra#KwzNkspK?=6w7lR#lmNhyF=?%gA1n#7UP6^4vobGOK&4KgUX2#f&cSeF2X`(kjqebUBWJveIYXt1OIfD$>&d*7Lx_p9X66 z)gx1P&*k;An(+mS<-gkD6+j%v9*dcAAYKw+@AB-HcczfT%}4Q={{8eGfkT!uP$%t>NaBLY^ zRNSB!ow1kjSw^X#ws%~NzSi>D&()yA@WIaA!6i&+9cEr=ZQpWjlT83n1m!)z(9?qIQHElCvzKv}Nvw=ge!Kyc#haB{ioJ&~a8 z4vn}O3V|#$;NF8m)gUBB(MX}S8n4oNDB%017 z>w)Mb_!cl=3|$`POKILc&hx?E(|)4Y>HW^otZ)^iH;I_+Jp<4~&EFRhg?ND@GWCLa z1&d9INRy959HgRRKLzE(HUQ?6U#kWKM}ph)(RCz+9R=Ck+${m^fNVm6tInjD%a(Rw|BW9NxshcpEr}yML9?)5{aXT}Y#zPf z;4ZnyY4Pmme84~MXl0aipdG!!dYdvlP?%giHh5pqq6hvId~17aUIN@8ptNYpAV}Ft zVYr+1i*4b}9KRh`v%*B|i<-*s_8<+Qs!Muq3gXqnZPn9?FY6{P$pO$#i(eVa4Cz`EbgU7$WrtHUtT{O6-W9S?YxnB0gKBAt)LjxWZrFU`xg7wAs{iviDJiz(72egLd=Q#)K}ND1{lE@Ku_(PlwA7&} zj`)V*__5!K5k^YGw+%Gra+ZwyM4?BnwVcATk-7QCO11K4RaN*tXNjeo-w1Dy@t#sin@9(PccYUHH z?dkxd!rG5UJ9l7FAAUTfB;E<5nx~L`y)Ex&)|D*6%)8z|4-yKCP)kD0>x(gCcSj>N z4d?a_wfOMY^!2>%0n@>7ZLk(#Y|xy-E~_ zF^I(dmY>BGJS+|BDu_yXvc`Mb|e&^q_O&?#5O5mH& z58V=z{Mp68>Y{Z#ss_)Wdc{#alla zz-U3biG4Ga{f3cS7*U(mA_zo}R8^T{3DfLyX;gmn#T8D*2d113apXDEW#2=+@j>hF z2HTMkVq{$hZ1M`4m7?s(TtkqzQU9~*g19n#ue*g|h-!$8#Hi7Qb>Ga7G#75FE9>?0 z1$uPTYd_iVEsj!tdSMbl1=q9cAN8-VZ*eC+REcIfRyX_NQ1 zM5}bsVUv@AuY$?Qi#V@nyfc8|;AjZZrrL6PBKWe@m=;Ir9J$hl;6 z!|`t+-My*vDyqrfi%HIiuxTrcl04pyeQDa(B3p-~F%{!Xs{Vyh7)+7iEd%ZZ@GA;W z@s@KOgoeMzv8_;O$GnTW`J%O%ivMQ(Ds>wcBZ2a!kIM~GwFw0ldQmXkuzq~T+fdaL z=>n&ha{c`iWWn6w?ProeBZ+O4{YF@Lco}~QFm%a=o$ZCZd~q)!PO=qCjfoT!=4cV- zx!2bAnIt;+Vf+XmjZ53R>*7NO$<*SPbi;4Nuh(B)lYK3BBYU;{we-nD!W_~cbnh)$ zObs5Lvzdk!o=2?4Y_MW& z3faptyC@CKRGOuTL|p7&vUC$hsce{yo^6_C*h`F*sSD)~6R+(YeI*iWMEK$p$<-+= zEH0V92N&+nJ-s=yd`|$R3G)yh_`w;)Q5@?XCa|#C(E-*eTu{( zIYHssG7cakyGSgu5<}$F+;Yb-FKPjA_5tQhAxk}^8*uVkxz#{?QYYBLE^GSxd z#UgERrv-B(18b1kQyukFsl#({wf}%9F9?wwSjMZ`Y?ma0sn?EaZ$u z#qI*IMTEreRaIWL=>w87LBs{Ck@ zvRB+6-by2f3O>Y%gh-D2Yo?MtwJUs)!Y!Zwu`ugl)IJauCzVNUkdX9@F)P7lLauSb zXpueF_hCZ24V3!+coM}^cL+$(M%5G{>m(4YNJ?*x3@}J+vXLG>G-7A^z8T#auJtJ( z4qi7)N2mJO%`pa+0RsK8#mJynbRHvEz~D*m4+OCWZHJT6Lx+LPj&VCEqB6JZBbR5=2jYJv!|=d zF7Zw2?32**om~T>eVZksKxtq6uL~8ANx{px1thl+4wS`WOf4jRg)i$}w%8T)&qoDuHyrW1er&Fj8xl6`q}S zpPo54swPa*9o2Ej_}Q|?J(HMiW}(B=dnrsug-LPW3t$*+(*jipu0C=S3*z3=QC2nb})9m5D88wSflfXYu6x&u^-U)&M}5Q zp9&PE{r5YKrVYEz>9@=r$B-@#MOw|vR|Dy?et1uk#_WSH0YY)G9wxVY>+96XpKga| z46O1u`PE5)Juv(oe7vH3 zgsmieJvTe~-R+ZyCF&SkLWV-0(9U~YrM#mgY4>au&=jL{vs_0959O^WQPL!RYQK$K z=lxj-N`bd>P#m&pGjh|BddBCje3ASe9s6i29;ZYUq)5C1T2~QQ@N>HM^b-nW`8hLY zbOTjg5jq(Yxzv*!8ED~#$5l-F#BpC&zVS#LU{C?^MLdOxx@P#Q{!O`87_ABZF=5K7 zZ6%g(WtifuQL-p^?BRc>zO^zqk}Oj3y4Z0KUk}r%4Bo8{!8hBSWYvQ+Lqm-A{Aq`W z1obukXUQ2C-PAsN041pg3-ib>E~w$i3`mWHxw-z~QcNv+qZsorZBkM8t!bfw; zUvaa+q8ebUj|x7cTrUIya<>mJgA%jz0^YRL4g(K71_~ zQk>}eap<|OsW4gFIIQ>uX*xVGX^pYx2$#eXbrHEF`AcRED&__M_Mf}%<_@WNYHUjd z-E#33TY9e1j~4Rkx?**&i`y+YE8f`!?Y%=vh0u|AgS-Mtom5g+H}a-$;d&o+OCkZ( z0d#KoEFCG{wD+3<`jbCE@O>lQ-!+R2SBInmFzm^vsTe$3Ex^n1vf8JjtB{O9j_nVy zU?&6v*g?>(5({LX36yHj)-HX{EL(rv@l;$3fNn14n5vlXBI!GXEB5M*|5@}=h>sx~ zj|D|FSQ}^Ivct+6%~8frSu#6LxKQ80Rvb}rr;X^qSe#ivE+RxJXzw8zR6sDBDqE1<>5vBAz>R070_ z6!e}f*z1C9I%7(3kGQHm4X?AMFs@0M)I3W9npfTkLWW#ZJN9@z1q!cPkEavx<`Z5_qGhT#Toq{yd0K>V? z7rp6owwi3sE5%t200DpeP$&iXy%zYjh)A z|8VrEJdA%P6bj15{yDcth!2?De!@>X+Ru6*MT8j?FD$ME-t1W_rrJXxML7<$*Q%d} zp3oS#X__JWBqs|De*PTrQ2+SLiyDA=iBn47RglyvCWHbBMu0@S@!m4ms>#JIO!Kn9 zX!sOR+x$u6Z;883Bx|CWOqDZ9Rm3cSvMqPnf2{hXr1i(={KgEZC>hA@TTs|ccoyH! zRM#|u&y1hO;N@~T;`4^i)H^kxTXx##9zEpTh|Au@b}Y@`pqOk2gw0IjOemt ze*@sJCAmyzi2SQI{p-1RI}%+)^O5KM5DyE5O9sE}E}E+7NQr|BA2MdS!^`VkK2h;7 z?X?}fU}DpZ+si`#&lBqgHXLvJ?ERi;fXELxilv+W0YDH_c@zj_6T3yKvyT9K%iE_( zQoVxVZuHqCnzlg^vcz(YGf50F43(5!K$SHopIHI*^+7QO!=3zIi>}DhmreOcFswWU zO{qHr=1mU_DTZVDpW9#ub-ujsJOHG*A|T#^*@RhyG%c{+k@-iMQ0p;opg#qrY!GevwkfaGefj-2BdXX(!CJVXM?rMfj-h^I1(s8H1MB zXKSyNqB2%|OnN!aBmKc$lLzb1O?tbrIP*AfCnl+BZXESIV^XjZQfo*6Qu}0aqxU@+ zS-N79|L*XpGsHeVu4fR7>$Cx2?&4nOL_sigc$j4NA;JE>=9&M`DWnI__SLpavtWyK zEG7ybOk-U;d}3Do_LmQyK9#Eq*&Q8|kw^~31|m@)^yFmYZ?f@Qh051p=6M7x zwa+N?cv`I^<2XZDv|N%&!+c2h<1AUsXJ>@wJ~ws+Y4IK6bgiizE$kH-?UU*7KgstF zjFXY`#S{QgKJz0LIr-l?Nr4r=F5Frqphj@Bi7TiyFAhKdRKUv zxPURaeShfli-tZK>XrM76eD(a(?ZfAGEdhEJVS~yh94b$eV1PkeO%?DW3p0Iq2d2x zyFrJvXZO+WZ@)EfzihvpuV8I$C7|?+V4(|}+y3F78sSEdkR&E(x(t)wSzyV^2l$! zXVfJPt$(shKUOS;PFAF!d|rpq z7Fw*G&;yIyJ8qvpU%RTGeW#(E6)MEpuWs|&W!3I_(Ra>e>eSEzm0I>Zqx&C!a8GWZ zpf>Eb=rcF%Uzawlpf+5LVy1}i1ztY+tYw=r`}y)(+T-)xQ(>vlNOHYcuzX0bQRxwo zJ@QjF<@RP>hJ+sc;BsVh`_Jkub8i8XnF47d`3`FvIT?mR=w3K(q%hK80blM62g%Mv zCzN~JFWenWOMBAD7tBkH$j7P?e7I+Tv1aqfooC;}lz&kL<$~zQB$emp5@s2Rt0~X4 z>532lty>;MKquQWUFvfAIm>@sp=0We|`nvO|7Or zL_C~H`A!3Y)WI4j+4#w{+bxyU8>^Qh89RfwavW<93e64I9Ji2fA zjlhFTe*IbD+~|6a<(Xsc-fUV<<{PmRwH@tDt-#B~ZH#qF%S3XrdyS!misx?=wb_?6 z-Nom!$xpPr6vK}a^>Z)57?IiA$l$RJQ7?ago$k@>^6_oZOSf{D2sX>-Mba+x4_iR->_{D~-FsP=F5g_6#f z@%;#k+KD<83W|Jy{_@p2EN1s9dJlP{nflBhoYgjxGM3>- z@3dW|2}b7Pz&&1E*~bORh91Q|&SFJ~hfRHBk#_yh$QpD=AmbfW4VG*gH@V8LE_(KD(}T~)gl zr#+gpRWmX-rgC)m-DNj|BVI-1^-ocrKlBILpjNix|TU^1>9w?myB5k z()ZVI0o~#l7x)3A_^Q_rGd|8~HE$@9A|xdDEK;noDMn1@7)xhSkCj^MJvRhLOURCj zF2aO!V6@mBE9}&rK;9K3uOUjeFnQN4n2c2=?(e^-a+-4Stnv5TQ;pgyVW|nuI*(^{ z66bm0m%s6yG;e%x&WS8s{jnugdom;zb-O`PLTace$@ zzHr1BLZ3%mKhkz8&}#5#IJS8iHT(H2wDj^3!6={365_>mct`Wu1~;Tm@c`dP1xasE zc|a7&&m)u42tJ#C|4HwkZPXg{m9cS7JeMM@4xHUAZ@1;0JlOG|?23~j$Ck-8hN0%$ z1E-<33%Y8b-x!Kd4Vg`n2)LIO{MAl{71=LK>A`mbGi!T5& zC+zuyhJWUdRzDe?M7@G+C%qeG%@;qvJlR&=%PaZz$|P`dDYklY zi9E&dk44~@-OF)sV(~Lp0bY6fI(Mk zK_*%LRChcDVO5*>sFpwzA~gFB$YW@xz^MGz8F0IhX|-#euX1gnhsx0WdXpyCRP(~m zTTPcCT@@uI3l|SxCQSLKuPkyNin@}+eD9f+}gq>o#$?)=420V(?p>rs42AFh*TYWCF1 zLT}qO&N7PnR}BG_BM2Rx{0)~7n<389_#>AZ6?8P#ofm8X1h~K5jc?#i_|Nwbqf%=@ zdp2zG%8*BsODca?kGgxWu(_LCUZvveM8>!e*3_%rf#pe(F8%-d`!koyn*A>0GOywZ z$sDCaL_&&+wf3gAxojK-%tFY%(D&<<+9z@eI67Vx*%2tCr}dY+-h|0MW)&|$ z`M?+ShE8)O{=dg+CdZDVN^jWksPN_Uean%i__BS63;7{Q%4vcvn?HN`INVgBxc`}F zv4ZSzmqWZD?ApJ)Fz5Dk| zL{Pw#^$n6QK_%@E!a)B^>F4cxpMhPXgiayirWL^YDj0dx zPSfi%Yhw=vz1CYyW$J=eD^H*ZT0jv2U0FYh&Tq{WvlqnQd-;Y+QWinpG{ zYDl`(^HlaQ{Z-^WJimDi^c<)1ZeS_?4WJpGP$zUe&{EJpAe$SVJ--G}z zKpF*NQ>X}_SFN$FEa39T#F_QrRmc-I32f_S>)uQz49h$^{k^++5A6+}1rqXq3^OF4 z+y>?go@XO-dKF(D5tSA<=TL5}hSJ0ySu(DDeP<7JD1X~5!FBv3ou};6Ldfzs;H74O z^iKR7=$ne0cfo&70O|jSvDuY<{A%nY{R)kOZ04!YMa{@x#abo=@%9c+ z3ob8LFlezMNfqQL4SKSSpTQ=c_o(2v{Bg$BDM){Ln)U~;{ATCV&^L>>CvK_jPIwMT z96ND0Ia~k*!IRnNKocUAWSMN$=T%o%Hx2MM+apMJ9q;wr5>y}WV}GWCApJ_3H_&L` zL9X$thAcOdoM{&%JKKWcqXLJV9^^2yB^)pBK@O9z3NV??3dk=GvF_9cb~2~;Z(+MV zCa%-pD6Nh+uJNd^C#anX@g@TCHT(2#n%4VIm0Ejx%VJYpMg+^v)@98O@7{eKnHzwifUAF} z7Nk@pe!<*Jng*J@uk;My5n4`u1}4rwT!C(hvanQ*`wDi>VqLw;K=CQ-Hzh zE2b`{Oq-}_aQN{^#^oV90UM8Q|LLmKl@%zEV4nb3s1;Dne#9vW^i&jB`vl@kcwqY< zMzq&YKQ?n3HYU{Z3G0AN#6E=YK=Wp$;0~>|*Xi@%@%?ubr{lh_)*1an4z$wC_P^lB z33*!E5FT!&`b5$Tdt?r;#Z502w1hBa=AVpUaheMx+ce&XPdfRe4#2? z#bswTT3niBU9VBzl0~MeXNpoA>y+t12Ln_J@- zM^3CiikI3RcONkH9MI9@%3wK27iulN<3Tqc8`kc=+Nxcp^9`5gnY);HmOqEi3BM@T znsqs(HheQ>D7EkAcAjocSn2=Vrbt|8d2V_9Q=V_8t!w}gGw0y~fn6Y^vK!k!B=xIg zm52FXef6XN0_4!Yfx$N(1JRZnX7LnrSem1nZ|L6H{wY87{l|zQgZ6~+f~)m=vDiwS z1@hY45u3wBwtl<;<6&}%Y1?L_0-5TuAsd@~79(>7XS88dg;KCHoTc!ns5c#?iYBJX z>$ihg%R1_zAV{`r14`oZeNe})7TKFP%6!r)Jrq#C zfPFYHGQ1g`r=Ro!e+NJEuJZ0u6~qF(oCi^J0=l4PT<|=i_mtss7w;+f0)#i61A(Y5 zIjp}ipRbSA#eJ{pEd%w#KXfSJ`)H-jzX9r@p>e(=pjvMn-I1hU z4mbTQ?%{m3``)369_%0n)b!qd6gfn~s|`!%9)S9pf)bME_WIsQ?g+3ProY>^axcU8 z?K_ULO9Hw`6{BN{V{V(BH@|zrQ-(iqHNA_vxZyS^gGYM=)n<;}0=p&Uv>rvt=EWsF zqq{Ku{?Fz+9fQIadW*3|%5(1<&PEK|!I2U;6y`uR4Ng*X0D|9MOdLr>o#XqGZL?-$ zV#~~mAxQC#xUwETYtHg58GQW*J;8f_{ZGZ8NR93}$%U$`bFt~^>Ha@Y-!WyV#yGAZ z0P!q+-4E1=wt8O)l0OjA)K+)`(TxM5;-90YqprNfy{yz@2?uP%yLYc%1Hl-pJoZ50 zMTSE4qW<2`Y6WR^_sdl>x4_i^U=a;nbw-Ae`Lwb?B?UY!|Y*3*Z5rM<*EetV{D}~LKXF8Emn%w)en7Xm{Z$y z`7G}@c+!fvWvxm+T>g1d)XbpQg6D(Hy&rc-*8p@qwbA*B&@N}x!?MIeE`0vY*3ros{Q;H9@X=;GdH652D!8!vs`1L zJf6cl0n$UGs8kL5NVSkXyK`{&S;gWbg_zpRD3@@Qs0cqPh!?!Y62R0n0X>Ir*0KW0 zzK?ppaU|YXdqQyTKv-VBtvNTuMz!Wv_D97|=9>9XMpK7usHZ%9@c{HBxBC5gUQGH) z^76#|43o4Q>`Ax%xUhM5mOI~J>vu)iuiX3tcqXPKxVn-@0(SkI7wk5>p|m^-<>5Lt zPtAS-7O+F)Jo4%!a^sB0JoO}{u>f`Mhcrgkc%)rN_th|tJ@+@Vgo;sZQP#f%;0CKfD$C`S@e^?{5wecfj@Y{SOEpvzOrc1%wbO z?K?pbbzA@Q@y$emH||&DQzKtJmXuDzN4|K0t4r_hAp5K5K2<9R=kNUXOj{2Dy0=8X zKi;y_2GdTnrNoVuRB0Zw`zcN^E^Vi|0&%sFvQF zgB$*<&%CYx6oM^dysZD43(dZ9d}ho!iuH(Hd+&98VT&-D#howb`4NxN zi+6(#HYPr1_*Wp-_z*XHLt@0~BxI5jf!x-kaZwyPzHI;-W*OrT@3f#U6Qv5+3yY>< z$_l`7YiquvY{8h)X%bNbK@W@rPz2E?FhL}RFOX?bWQR>fVQ(q^G+E%AN1}a`SR%!!FtCqrEpRecS-yXkP>xx?63 zKTH5c`#ayaXAQ0VrLNL<6vCK|@^qtr&^s8Z{9He(!!eE8xl3Q~*Jt+IZCN6t%FvuR z3}epPlMlw+@7xH)oi}|uMa`Je@!b-g9{r+Dci-@sjQ;rGcmA<-PKk=_bld*HY)<5P z+Gc)6`K87sk!5t`IW-pcHVJK&9et_K)}b%;ms1b7j`qj`Qsa#S#!AH45S;I2o1 z_MA;nhhtw1{P+pexVxhEMLx6jhQ>fIFos<>iWIjsQR@|iX(|NWK>&BQ8(?m1z;3eY zRo0fYf5kAbscBNIxqC%DPfDVhP8t-`egNNs0*naxEwhbZ`a513}cZh{z=&J4~ zWr6SibOlS(Q>y-_@6F9VDtR%Anl*Cy8mv$T-g=YdjHjUgYH^Y>M~Co360>PfcjME5 z2d=VX1O=G8zvJxr2Zo?`c2MW9_)iV(yatK?&affz-c8t~q3`A2tEb%1xif}XBSBPS#8$kF>duTfK>SJtgIjG2CIP>gd3M0_m`2$0mt1#$ z*Af%jkY8qC2a+)6kC3`2VmB`A6s#g)yQp8XJ?dB;ta29ER@k^~ zgMK&77`oKTU42&J*@7Pa<*iJZq34h|Vn>IqQ`dm|C*OGMDXAU)&N}kLht{KarnK{f zFY0DL+co$#7d8xRlKle1f(lj{kUwsw9quEzjPj^z5|w%YY8qUIdGYRmb=cd`WU3v4>MWv`A= z2wM^*ou!hs*@MD?xF692M|DzxQaXu}8tgDki7KBJW(iaUB`MvBSKu`TAwuyj{`59i z@*Mihvc0RDSl{*MMblGQlt66BYnrJEuzbpT&=8v@<*XhVw6;XlM_?mMF&6I-(pue( z7U8#C(93=T$30Rbf~B+wQVqn4&yi1J+7st!G%^OiXg>%I>pN{^cWp9#{ngp*lix%b zX{_I4!Vf_}_Csn_wGunx2D)cSw*sEu2>Sr{J$e;)*k5)|#BA_Q+ZWo*gdH&cLBdL} z^4z3Vj+Q7#K4q(_tsm#NuJEddFC}3-QqIe4z$N%YJ1&dfkaOg^y}EM@Jh^kmK+Whq z7~&0oQj!=Iu}O?1o{we{nq<+z<;Nh0GJ!C}K3gbr?N+A(e#4^GnjT+%_Burp_7j5H z_tl1s+VNMKV?AWFq(MnM=4nO2d8IiDx`=Mo*j@pGIWmUWp*FDvq{c5j+*v_<0yDNN zSSbB+o5k>Ln4w=1qo)1>of$@YmiHRZ?&U&L7GE#coO#9;*#Z@_O(9D_?FRs3&88@j;y6fi^zbBGq+3S1z@OK~veU=*jmGSNV z8Gh+yQABgzik7(Sext^8&FjSs63Urt0{jH&qXMtw`4h6@R|23264(0M{$25%PtzIr zM>^J&l@MQ`ps-BJ$?gsLWi_v~0 zm(QytU^$9#F>p~92;EMl5Y`tJt`*+gQKXNO@upUJKu*=Rs;qVRVm~oDk?*m$H~?#Q zVf+5Q1|Jle3Hs^rGlbox_NHzOJSEBU)xjoWOT5R2WNizi!q_dA3G4ikPqiks?|F@p z^*zloDVd^Pb=k}QFN2J&aMRXE9Mf2*j2=3bST8v(Y& z>nv#a*p5en{l&}!UC5cRLdjvdek~&+NL%8YqJt2@{996$y`by{{+y14Q-i08zy~fL zt*zWLi8F(9Hxf-`S*1y*OB8>PZZ)%t$Yr{U)#EmgxZN9KV9TbOEgxPzFL;MPfG4ge zP^@&%OW0;en1hg;h~0w=qx$#?$I528POiD)lw6Lur+7F|huU-0bzrqL z$!JpDzWWVnjBpwPM&a*wB_+;&v_Z-N`#Sklh=kT)6my^k=|+4bJbgWm*e3`JfKqOe zW*IA?^p|&IBclyM{PN^GER5xse!Zt$R9~^A|2CJD0yp$sRo#EBGSaEb`L#Sjj1p<% zqV)Taamww@^Y0jbDFgTD7ui>;j>2rms^B)ttkCkBq!@Vlqx@`o6F`O@^B8(gg#{f- zf0dqE1r*wv!}eTLI^mCH(+a28H~8exO`e-~!Lx12Rch0S!u&;P*%g-V_5#YR^itr#ME8$3*G=!Jj`F$2a;f)r+0HT=eb%xc)?ju(0d17=JrtkRZ`mm`GS;l6})!ZH8VizJDW=2TDicBHX^m#5v%SCFYeIO>&qvfaI z&~9#`M6Bd+Cmm!<t*^VpMr*99^kEc)=3Fb2*QtmiE3~0tD60K>Ykc`$@UfBh(NW~rkIhRl&uX8b zWd=zQd^r5U?M!v-yDG?!(cV9%bLkqFdDGc=Ex6|2^mIn+!EoNQ?>ouq9?t9d&#HPC z-@V`(`vT*Ja?LPKm3KQf36e~(+`hl`$AL@JAgEQwbjyh_d;>`xMiEi=B#ch{r|cO7 zr{@M&R=;b4TI^@s>?&ynS50;IUTD*B>BTyJ^Aw*KM5zFDi`c=9xh=mNYM-%MZ`Uq1#L*!ukG_t)I3;jnEA(y>FY_hH~4}$XLC) zk?KL@XKeE-;{$ZQx_aOeF*`^n!13K|emoc13ByToUl6%(J}o11pyht~)#K#i&;}Qp z`SdLDNqU@6(wes|CMLbIUd~u z>_{56Dkz-?kl95~F&uiL7!S!!3FGr+6KaKJ*7T7`2tiQ`t4ONBA{M=-nLp6BJ{+On z`Zeq(4^OqA)y`{E{|Z+C<`BUQ3!?&bDaaL+S^&d2Zga~|2?>|&e=}I-K|8CDVj2&> zrc5L6uiAF~hAo@q^Ur?OxwQee zk^cnUE$ZJX>3K{yoxg6=nIfY=50v3B)M7jnlc~-PuY;HDKQGBqIS=l9{PumuKI)s0 z_O$DHzi8fG{eyd-!qF3RX;n6j2hM1NVSJSLDw9OJHghgMlM`IMsSX)|)+eI($Nr>% z1?ZQ0nL<$oY`lnkxDma%a7U*v@x6~v8SQ|sEMA9kh{(08g(JMlqBP`r_KN+wMI_&; zL=oK_(CqWD_Lp>h(qOLtOMU$n&4DK_0Gw~~YktUh>E6#K4FPuc4k^1EJZo(=k#wU4 z=$bEyXQ31TdOoU}fF5~_!3h9dM{_4Z#FA9wwP*1K{vMKvQD#tF?lYNL0f$$N4>7uL zf*Q;qgjz_~0i6M;>E7K%7Bk(9pvoX6OwyWy5NBW{Phl%2+Cy3F(W;taE0T=WOyO0K z?By7}xJz#Y%W%zRM1BaMSxT;Wv~c#4lJWij$JAFqMb&kGOLs|kh;$>80wPFv2uOFQ zbc5i~Ez;f6El7tTA>AU~Af3bf56|wE^< z%nZL!qXC$uPJ(SHk1SRxnlhN>O1*5POHG#EJN_y+C}H`Et?NUK&zblP%;vx_LFDw01o1pFAed1zpYjugPS z>pZg`;-5fFM=M&vZ}kisjryoo%o0EaGV`Y3!-MTtWG(!ti{?2mGe9LB?Mee44Ll#a z{0S=;pv4vkJ@{f8bMiYD>jrB}`0dfNUwnU{bJwDZj^*tr8*w8k0J7HF&x&4EHfy=U zxeyMC(6>-mShCnY;QCRNo;M;SEZ_FPCW^h~+E_<@*XsIN04Kl|b6XK4T7=3MqpaePqlta#jeawi5TG76zS9MHxLHx-Lv&*^iC$rWLHV zJd6{dhF=7l_X^s3k3`V0S=zi8UJke=ys_&K;&X2i%aKMoW8I=3jlvK0-WUdRJ<8O` zS4-d1L|GmBW&T3R$QDWHbY7|h0B@pM6QEzhyyg+xV$3b^hhN+j@H2&t<2t)Z>0C8` z2Lo(4*$O_QO8ZJ90OFj2YOba5T{OP|qzQHYeBiNJ1$sFzjk)n0ZYt@Q)Y0hcnS%;e zet<&w+>>LQ@Sxr8Do#w+s}{r`{g>9>?{A=SP5fT$XY{Cl*DD?Mef2^+wXq&Fnipa;dJOs)d*z^gAV>BAK)^R5Soaq7m9~68aRyW zBho_aek}gLS60aDV7hwsJ5n$tHy%-ND-VmGVw==pY>otrPHr2L_u}J|`QpdtfMgFu zep3+nsjCV>2cLEQI5?8K{4fVOq-8W`hr|uL3W+#H>-hV7D~}7D4;LP_j^$Hh2==(= z{J5mRE=BGAhjFRR8wgW>d6$|zyE%Y^J*WG4(F1gCo-Ng= zA^`kDMFO3N0K>FO%OVoJGE>v67er)CE zBIA$Dc87fv+F&7E64ZAWpq^N*oiDn&h8X;AbJJ*#{eT(>DDdzTlNK~r*q^Re#O%(3%P5Yy?Lq=7Ze-1mO z0+OwrwLblWb%h!%FvOcD_ZvQ4f`gRjKoh%8>a4% z9sN_9|HHvb?N{5lVwCkR?Sd=oedOMsGC**@LW0}MXhc|sSr$FN zUjYotYGpR2MOy80<-AYz$o&~>hWnMW`*FEcrfu8V&Dm$CWCc1@_+w`onUO3bQAx5V z%>YY-hGwHB-f3MYRk1GA?G*7I9u$EpTVwb}7r=*R(Y=~Y;(u<8pr#7~x;;r0}t zNNx%4DDIGD&Yju|Y!fmsGNI!S2}9RnLlgSNWn|ChzK()++ZsiEsM`DY@6q$hkaU6| z!QZ(pM>7PJy>HL0$uRMJC3j)+DIB2!+BlcAOuWGtWEg>PP}-xWR$3$`oE4TlP6hIi zK!Kz0j6iC*?|X6A)0Ov#@Ho>xYy{|`5~K*V7q{}`*<^bG0R_mteNyNQMB;w>2gKGH z&LUiezx9?xev|T|Z#f5s8x@E9q!< zWk?w^E9?H_lvE)ylgjqzhmtE_mx*TEov5)GhLp=z+AYSNu2ozn%N|xcZ9Dr>`0*ZN z$Z@LAhCd4QYq}^xB>URRXI|=Qa`#}!S%#>eF5H0jy~ZT$PR~TU&9SmjOduq%gI1(< zYemB~ZAIO6FW_0g^~$!N0F#8T`e>9x7q30^yHJjV9xPMXLxZV4&3sl=v+>+!+uDz+ z6}lP;Z`4w3y5HaEMJyWLXvT{k8XTfYFiIC&TGj4({nxmmgVNU}u$V1ku*)j%_~K6& zLZ*n98usMAl= za=MXSl8{DiN|MR6t~K~`v|LT6R&_$Hs!^%tooa|of*KvophMa6W_s0D*8EvM@k+V6 z>-KP}kK@(NiIC+{%T?QUhR^Ym>*!fPwuh3Hx#W)NiRX^(iS~|zH5p+nHx9Shul5Jx zNpGUBQm2WUx+foLVETs$izcsRqcdfOY`=15WuM_}`3_&%KX6i*mYjE5B$weAX~;ET zXoYJiCliaLv1w=;zaN}Zz+#Eop_XYNe`aGV9y=i0aV1jK)?Bn#SwZC-HC1SHsIG#9 zqRnvHvd4WbQWtx0oD}P}Y%0!2y28$axfnXDGN?7{@?}r^w_~Gu?aRh{oYlE$n8I}N zgXlCPEcW2?!jxTln*GxDyddMoRM*k4w5U)ncyD~U)uUV|DtxH7XZ0FaD_`SFC^X=?&(%?%UzjUvl9+K~#HPsht7f8u zl@7zg5<;aH>hPbEtIuK$U{^=W`7E3ieBIcM<7c*`&r0W_TzOe=1R0GCYov>DL}L&q zksRo>n^5W_av}(t@Lg7U;3@8kI%`74;IJ{q$&;?grD;b?o9yQ4Zp$Xu+py1TJG{;; z1X?AlR7|6|iyEOU9f>mmX`_aQu<~c(*aewPF5wJ=;RhJ<1z6a5UFMy&G(-IFbBFyI z0^(2c{gSge>5LVMy9{E|>(6a4qDZNzh=_zYcWjKM=J#pZ`=S$$1_nAw4t#cDB>Yc) zM(B?B)XfSwuYIgm?9oaiPvZ@#LE67U8o)(=wpQc$dp@B4{9@HH)&JOy+Q;7j7Q5A0 zR4SIn-OdoHgVW#4}Ni}1LBhS5q38j*wU+;*>AC@so?d{#kVz_j%W{;-wRpa&nI;aSGt%A3)&v-62h?C)I4MtD7u^GZevddQ;bTT)b;h&y8%% z`7wXO;H*wFZd|>+UQg3nxQbCZtHdsVwpac(crxJ2-gjW?${L`IH)o>qV%ja+Wciz$ zi8$^)Lky)b1IypM4gog(ZyKaVG^QK55!Kj`%<~%#cD25Tnrui8YUBBxsLKYV8w>GE z>=KahvcKzR_RB2Am9*RV1{sn*eGB_}wmlZGuKWj?5?3@ zI^iR9n;07tvp1B?`pxI6vP5R{I;F8r0)qL(IPJp4uFS{}GYK9!YwN1`;m#_GyMOrO zg9)@W=HZ=m;4nJxq?I^Y$ZjW7qI;!`m#HNh6J%~s<2UII%Hpu$xs<=@H=}xX;+Iv1 z9a_c4h+7x?vr>sZlU~hn`gInH+76d5P=MjUFG%_`tToeWf2jA#D^c(BlA;K1%dxC! z5Sra!4}K@}hngh@ofCFNTt#25aginoq$0va3{Ms!wqs)D4Po`DUA-jgiJL!Dq%|qG z?V920&6CIY2oMa0viviS`5dHTo_taiN_y3Ad48J=H5IFolCrXk2*n^quZa&*Nq=d- zx6>dwAEKV|j;p!!fSb9o0$ZcuGn9|;3{#x1pTx8X19?XqmYRCccP=*FV8osl8f2C4X0TTk@pM zc^&z4HpFGsAE*^$mwIrWkBfL5Wdw>Q-d!Fhf{&hz!z#bXJ{qh_3UH@{<4Jg}I$ppt z)Ahnpf%T@p|7;-9(w>zW&~QIDB?f4TZF<0@C+*$SqjGu|LL>FStm!8?3)K{FJT=WO z_5E5BMo|n~Z$2+RgpE&7!&Lge?7Gniy6q+X0ng|{v-2~p^gTpO6~D^^(#1FCMOu}5 zgO{paG69k-YGdL1y4w{QON|L0es-1bXQ?FID6c-YB&yU1VHQ`mMN0o#2ZX1t4hb0e!Xe$X|1F zU%cV|IoZT=N_D2s+XJTU-)`e`*5Zc-u8s@D9Q-N_p{M1@w_;?bmk0B2R^E02nqLEm zsJ-GNFZ9Sw?sWPh2w8W;N>^8nFOawTB8eBOjo&~P>J>U?G!>1&FlYzZhz96Gt3D&y z%6;~*qOnKBBbVLiKzZY*iThLS+0SziijujajE>|}d}xB0TzvE{`qpUX&mWp;cdoqQ z{!}mK224Kn-|16ff9hFv5}=6jSdm?cPCl`hiqhl^cqght;Pm51F!r-Emna#K$_KKylrLYrWdhL_k@Fvs?Z(`-!V(Yb0Glc>-<&2lZN z5A_RQY`Yt5XKnUpDi#{;$&+JstBr!Zad-nB?ynV8Z+2dvY{3qexg7{(36TGsM$ys) zA}V!i3OuI^PQs0MMxf((jZFiuJoYuKKH#(-;ZGj>@%fdka`fSm_wx7dw9R*#a9>*y z%YmQxL*31a!jsgEi=;5?sUqjgbiDHQQ3EsfqkCi*j4tyuq+}`I26`{`@FE^Y zDV@56z*AXvdp<&OcRrl)egH9*{fk1duFK&>(Z{UAm6z>$jZ3fu3vqB9cuC0IjCn&X z&pM_Qo_N_HYuO%MFx+zK~IE^@-`#lUXgFR@Z z!7Dy}Hvo;72JWAOV+PilPO~rW#dd87km?bnA)+h_ZK+;~+lv)^U& z%vjtSqW*J4;MaR5m`*Fq_ko{We5*)aZM1AjMXy1_{iewUnp=6yzgQGtv80!6dfbt* z8?gLxb4eWb^WQH+r77PK+rR2id`P*=z@kYk;IRH(DZDvHO~+g+9zjUBIya87&%CvC8a@AK6=H9WA7Bvaj~F zPo3l!ztmNY^z_cGG6&&T8`*bDutLmvo54Z7K6{vGgT2mTE) zj~SR#rBsx@sYG~DV;uR4*GBUp9#d^RWDKNF?~AKpwnGiJD<%zLxK13sF8 z$EZM7@RIq<;p@Gv%0*AFxdieK2OKvmXjQ;?K|0S~1-H%D2H%H!FW>uXZoYPZsF43ASOeDw6B*ZU&bIUK{;s}(ezj=> z%g&Rgv!mtKlgqqGQe zq^#2kbA^mw?R$Qv2h0hhFbyVD+8(Et)z~jK{_{R~{At|Ohs@N&4F;>5X%fqro}Zpq z4C{YYITaRPmyYk_^)tmBO<%FW+uv-a; zB${=@Jds2IxX)hyOCm&5AjP)%vrtK-P`MFk4or%i4X@`>z4FF9LLTs~@ETrW90XF7 z#QdV%P4;&$5#Ba|dy4!47PyHW1` zL(Ge`52BCu2V}q?@&&Lsw*dh58Ew<(LhbDcD1XNZ zuF{Vu@T`_qHetWARq0Vn1P~k8pg#0~=0LhG-gTI9ctrJhZvT1vh-+1K6g+6;!LT$p z0zXt&cbN}#vSqG{K(_yWC)9`#E`0VOIQU{JvwI9`a{mjNwTm53Y_f_W+I|1;VB#P{ zdQ_4dncw+19>GmS^N-orMA_@MB_ZER62GB-xHrJhUK}UT4+64oIS{Hy z&WnFbCL90Xvv~Z0G7gx;mx?9t1t7r}kfT5BJ<(F9z1I`Qv6F5-DXDG@ee3b@`WMyu ziC^RZxTA%Jlt7-drR^ffUsxZJf6D?1L94!(CSD038Ykd zMa13sN3*{OAQVE9`u~41qMC0nTq>~QJ&C;NfQNJ0al(h@OC|nE`a=BqDVbe!qoIaO zh~K23)uK@Nidb)Py@sy=B#GV{@nHJpsKB}vK&DH|X!!WFI<2Z*hj0n>ZM**GmYe|l zojpJ>CU~@Ad+ZM2(j7)=bofIxo)`EpgIaw(@ZYcn5YR~==RZUhRFI}w5CD4+0xE(Z zhPelJ0K8EX@zKCBCb38ruXB3Pc?h(+zIx{wpIXvHwy?QxgD^F_YIx^FYdMxFKq*yE+;T~hdV`c7XYmUFVa@@ zQH_{qAs;l>rMH0A{4}V0SAw=_)@8!)+7iF`oucRMnXLf9mVP%L>KSoMk(lJ@+M{e-v-L zBd+ZzFG{mvd2}XS0O0Wp;Ca|Wz4kk-bIv7ds-f>J{OpnNlnQ>u9}^1T-I@JktqTMV zi(^<>=HSjE_~ipUsXn=Vef&}Tox^m2(Xdx#vmy{)Cvy8m{OH>{H<`jcfhSGT#T~T% zD+OHD_bs45G6Lq$0uVMi2R0K!FM8_e;en)O)^XFMC=?8#UnQ7sVZrW%=TiL7{xeDF zW!XeuDh0?wOT}TVD+m+KL9d@v;vQu9Mh`6ijrsLsZmyAR@9XZd5EHGxPkCR{-$eT8 zz*o|;DG<*&!n2siz*5>;-VEfW%(RmjFIa(GVa6kgxaQ~ zlZ73^C)8fhGy@E|_?42&RF1SrL#QM{s@v?rppO!_78R z-VOj6nyKnPA}Svlatk>Cr2E-t0@#8_KmhCeRu1nY>q5xRWRs(zJ+Q@0GYUql2k_hd zKm_bgo#MytSB_su*nT(+$k}7y;w;B%fg-YG z?<9}}E$AvJQD&>9Apu|c8Px_g^d8$7L6yQdym6Y~EwGOymc;w$yeCy)BFa60m%fC9 zK$tQ5>PjzW7wEHaWGN5R_Hwxbj?6&KpWC-%tx6>w%gD|t&W{jRPj@G5YWhDtaJqmu z)c}lSS=EHLL_C%lOh$ov(o*ZA^{1qCKV+LAxaha%I+lMiIPdKCjnrJwJ_>a|vzq~o zhk-NIUzlSFsDHai_E!Dzyh=Ne+dePziyUJtX#OHzPWfN_u#S63xK$5&;5UOe)A-Vp z759ruh#}9(75YYRh3)y)*&*ts(tu+XuRm-CV)#lnSbJ_}W+pk0-%S<7sN`2G@bq^I zwKR^jwWlw>3aD$xp{V_&lcQnb0PEAzvo)F{E}}j2KqRYcz;D(mh>a1Xh~s%=!qc%? z^Z=J7NV;q^BAf%zGw4EM_~Lsy*Z}P6>6~cP;vC)q__3JeHZwNcqgeVm1|2sY#jXpU zuJfc$eGhYi?xRO?8fbH}ZzMH2a*+aIr5BIRA#2I2mJt|AjAvj`we4#9oH}VyCk#>7hou)FB_*g5cVJ?U>_@wn zV!UH?FqDiB8)ZCldz48g1)|97+FS<7W356Zt;?#2et`IbNRbVQXuesYidoO}MYoEi zW2q{$EwR_qu1=-^!>j-}GbafUDeszY@r{{^<>T#NbIDAK$kPG2e>7_P6YXc%<;bYv z4|hNI^K$f&{KggkH*F^{6K|DG*TB-tqS&<{w&CfP1D8aj@wRV@@}-7~y*}}IUFUA} z%XQ>bw|;8eHJnMZlX6DcGM6PGK3irY?+kcnKrEdBqEC$C5DMUXfmk4aU^9zqee2|{ z19{X(bpz(TYZ_h7gWS=;ZwNla87Qz74ufXobEmuL#XYe`C!lRIq+Q=DivoH4FI$>_+->z4}K{C zl_`p`Tl9>OpSW8ue+&OgT8vDxfr|(ti_?#T%Akw!?ecg=PHo({t)PPY`7ACY{6soOZwyghik z*?8jqS_a1Xq~)2EZGN$i|nCkTx_DP@^QnK+U4 zKvfm+1sDpm&clL$4D|6*wV*yLL^+Jq=zb+8;W9c@*8)c=-|8nA1+-Fe>jFOWpl$BS zjYOx!y3%w6ET+=V!oKaK06r;EZt7I5F3_7L4f(eC4hdBe@`8xNx(aSd0Tn|4B{Pd4 zD3@bz2mjK(K#>ZiHDulQQG-lmfGsR=n>((O_mcI*+4JQGQ8$U6ZT(~#PdfN9fL(Zy z)&su3QQ6G6>NiBOEj21~9e@73i0T8Y0b58;4A+psrz82SuKMLaKkU*hWwGK38R>s{ z03y2|)|DwPpc_2KrR4t&<7{5KJZ$jV#dm-Smj=OjT~@9c?Qe8_A2yovVz2~y*X{0# zV55A$#|`X$*55@o;T}Xm0mMuRoY`=NWNYnt*cgYTB&ynmlo6mK8IRBVpbpW9tfoc5 z(<{+^MCSZ}16E-7*Zt?^ur!1OjmR)RjziJt>-O)QWHC(I=E<4|WD#*`Q}BVJ_kZ6= z8RdmDbgM!j@0Qxjj9|iVZ4JCj79hel+oWECmCK~PyObKg8;a-e_yu;g%| z*+0kmKdz_nrEf;|^H+AHbQXOU`{uXAUG?1IX%{D5#oo;ZsIZcWfpFXx%$cMykLFJeD?E$T?j7ea*TL{ z{eqclN(X=FARPxYb=DBf1*H?sjl&|8ozZO&rd`BLEYl zG4MRhAgA#O>16e9u!#QdNC>s502<`*OP?W0OCd-yhAUQ1`jr0Ht8DFe)Ci9Zw}KEe zJpD&h8OYVSFnUzu5CGr9kT3Ezq~aT>nr;t(MQ(0>sX9=#f<{+*r4?psGp4lVJsJJ( zrp?x0#&x04)BvR*=rHQ?(!KvuY)hw`V*3W8pxr`Q-l@#KGu2_Wv05K?>k2kR^s=4- z-3B)x5pI2O{SgWr-nvoRgv5vjZ$?qr_60wKx${B@$#zd{dVq5ZhK?x1T7^LID=0Xc z_hs#~jrc=U{z)Rop}y@_2M;C4ar!#RcC){gZQ(U4?rxyM(^Akm`38cv8SV}+knhqy z->>Qz`jGrYaKS2nu=zno&&-1MH^!yA<*BeIaH#Z}Jie>>TQaTn{t#ARyh#Nr@$Wgr zk!RJuSL4R?*Z?%$G|QG-hVTJwHwXz~)N(@Z4<65X2jT+rVIT|4^NfrL!(DHDdavC5 zMfKXS@XWMAV*AWww=kv1QKoq1rUr~$!D^1r9Gp(ezsb?;Iq=yFh|w91ybuLk5^>=Z_Ur47^K?z|>9YiXR%wB)r8ab6kn*T4K$l z&LVek)bxBkn0NN)yhGj6o8lmht=Otiw#%Eb&>Q;vq8J`p)sf?bBg0GZe1RXzx4`SiVaRTV zY&?O^a=j2^gjPW+X6HLU{tb-V4|?ZY%?>Kh{Gi2}x2x2rPWq$;qZD8-j?}EJ%@l^3 z%>k+hRryTjxYFNY*`uO&c3pC;6=wVtb6BOoLQMbB?A2&S$FdNM?CFxjH4qljh){o8 z8y6I^4P*_%g9#(I$-ovHQCZ~Vqg0E_&?0{?Gbh+#j-@#&u`_f(?hs`}wr*7MAe3)J zV5ywI;qvqLxAyx}d8q?LhYe3JiYKe0D&uXejE${>{cRZzf7xi4e*%X1A&&Lqj$j7h zsJ8s4f$V^R=r3@rU(2o(4=>@mJe}yT0RDc%mT_fFQ%LhFXq|rF2 zdK0?;3Hvpn#tg~i%W;3>9ytiPPGjgbWlR@$fc^4y3yN7nHUBKIy<*a~$_;%1=oB_8 zcGX?T4+uqI)7>baAq{3{`!a_R_zl7C&d#sgPgE>U%=i^Y$m;qwWs^g$|q?qJC%!rY*xqxN@M^IN24^{N?t5B*CS_3fmlDgz5(r5Z%+hKsiXHhs4$kJXFqbfD?P{~Gvn@c~SxtDfKO zIqhK?IA;-du>ImeojbtMC45};W5gajVb4DO{M>jZ^b1sAqT(s}mf4$$Z+B^Q~5fQQ)y5S7*7Iz}(aUsmMW zA_O<@X}@){rWW2cu%1T;2E)8aatoSE#E&z=k-k6gfJLv|kZc~)C8 z+Knnf6uBn^47blgEGol}SbWC`L5zA;?SZXS2gtzDqLSK4g5VK*)d-29V6^8@VtDjR zQ0gcJp~&D-gtsj0%X!lk9tc4{8-Q@ZDntrZT727$PX*5gl+&hQrpMT?h0yZ20+pMy zMl3?U6X)vyIW63p2&Oqa#6-mqR3a>kE)$~2J{#iW0FV1_R-Aq}%6A{rafm*6z=Rzw zEj(7zk4N~y%PuxG&Vu%trk?!b=j7yM`0=V@2Tq<;AYkykx~XZqrH<6e={wr3KE~TQ zD8hoT_x-(xtie8>^^T5=RdsnT2ZMz4;|m2gdKD2MSNLWk!;H6#lMhX1dy$P4j#L9K zCMITRVIj@!z>oar>8Xp3pMJKnXqz+sw$m(-luj}6&9*b6JI$*we zT6dQmx8HJu850}Z)8DnB<;O8Pjlx@5SxG;xdm3i{+j6S(_b&dSThfZ~-^)t|((&ea z%ie>tiSZNF4>!}JFa;fd1Qgm6mA6*z>PjSa*njat2KdXo)e2yilpFD;Pi+`@1}27U%SfSQn{17;l&(3)t-TP;vzwC6!K=` zG+|QTgMv|ZW+vL(A%Uo>M5i^xQZuo5{gy*hKM4dHWGk0D5+^*7_#{52yp=Rn#vd?do!K)0TbCQ97#= z3^yBB{PUw(&T{4Dx1E1p*XT5pm>HaGY}ZQ3KY#u_y}o8DO;~DAHGkkF#lgWDZPGEx zG5h;zdwcu&GA#)kb5}7NF){JIoU>ADdOA5B#oOec{L!XQU;Aa3w#yJ{yv&31qKU^< zMXYeY`;3BzJUcsU{Kn4T5WX_V$^@Th^YT(_N#;=~(S_PKOkvbdR%BGG{Z+vE{k@(^ z?&)Ax%Jj5mfufhcKL@D>*%Auf=H@0+>07>F&cUnIb(=^W{AE>60NT=1v}Gy~&TMTJHuwHi!YKPO3vWP9 zdO+-Qlupo<8htH*#NwZqh>UxSjuB<^+Zn-bJNQ@7@(Fd#7k`6#RNuJ`#@mr@lZ#!b zx8~Uo=RT-i6eHhKYnbM?+&?jABW|w?Y;;M-rCSfaSN3Bg4tT?%R9|6!pZ-nbl>eFY z>mnqnL93(w`nK>*4TsmfT@AmMuqRJPd-WBzj1KtYtwp=uY;|c+Szu0!WO)XUec*OT zlJgAWrad!RGe0A9hzxHUM}K%b)(O^xAa{r&wL!!PHxG_d9P`1lGPx*E@48=lLq{6uS_)}|i zZRYRaYR?!E+^PE(+nB9^?^Z`%u51r030qeFdLva*|GYwxn(mdhdI=kX`x3OpCI^LT z|1dFj?!aKMu?wY24YWwAmgVkn@lM%%7d2CdCe4@;83iee*J5?{^>bBH z4qIZMhz`Y1`-hAlhS`L|Tlbe_@8>jGd--DQ zo86zYIY|l6=0{a{H4PmS1uuvOMEW`h=+?VoM>=|~h&*%ei4SFT_J44&by)u$^5l5K zed5O<(OgvB&pGE;te`UrL~PH>`m}J2 z=Bnco_gy|5gg+qmbC`Vp{o5cY5FgbwJyceQB4t^sB>Uw3)_fexuLCl|4&hdhV6d9xqkRu&|*YRpgZh$W-wv>Mb?Qm`JMBT zlJ{ugFR!P{j9CgI$cY97-&A*GP=@`s9L@_1_(LD+d6Re47txn(crl5DW^a2NR2eEc zKJX6xns_K?J8y=CSS^}gD zS#4piu@Mo~IOat;p+vPNI$?7mAA09vM0X<1Zw-_>({OC5YTr`Mg(dIhA=go4zw+tl zhOHZ=&8tw((>dV)S-k7S@4_F$>Cy5942=1ip8Ec>Ld14_jTeU)+$~F2V`vg6Qn;Bo zh@Sa7V=Yv0rcJo^77E?AkdIwES9QLk9@`7}9A$am+&|Xm8Ii{n5u7OVb#rl%JcZ_6 z0QpNf^XR-R?roiPVvaX_zq;@)&(EhE932G@1wOVBH%3NA){BwSakZ2i7#g-@BxO`{ zD0|^>434jFxyw;l3~@sQ-8TLVNhJ8zTPx_fESawHqjW*;;%v)aC*{|~K9`kf(b`uo z<=4{#%YvRU#h01z@ahda+d5A#uXuv4>CFW}rp4vu%&R{yapZ*U93A{Q7U=&~%uhBIj5FY!LJ&`KpbdzNMx?PM!_zAKsGqbAgB*ka!jKOK?sr6=^j zZ=%hKisO1%QES#bzR$GWLJ@YzC(O?%+ZDsyoZ^Gi7kzBOYJbN z7}yV3NBn_F zR--G#lM~l<7k(8Gn*sZI12q!9vs@UtxtYI$iRQzy^;JiYCt>FVp*u3;oHqWDCA>mf zQO%L+Q0#4icjOBbMU9bp+J2{f(Zq8MuYi43>hHkD)T$J^IHxew+a{jNO_)T_}9Z;2Uc!*q-!@sKyDkdxUv)a zCb+3F_$i~!PBACuATCx=PT~ZPiDF9hu^}gJII4P$Hx2MgSSkv0mH=;nIpihtg5=R92Y4= zNWHDR!Tf@l9@~eCAJ-?a7-!{=jf3-El^}qahO!W*umVH5=!kMndP4gA;#H={Hgt6C zflkQB(s1W#$G0vElQ`MPh=nVd>08)>0!*w!6()6}Pu-ySB<|=xk#HZ80kj7=I-lk^2x?#ar0-wf5w+vQrv})?_5R>Ekp0DwzYLJ z_|~>`eTCcFCF+7%2$guk$VE|}l7HaY6;W4cV9#{n5&h{^4KCHX%;L&QwpSIJ_ZvN{ z9u=O#TuYEeK)c4tBhYw)xQN&Mm*(fK-}GAas7M4_P0=WZ;}YVz64JQixp&pbaBW81 zue(kP3Vsq;dKpPO+CY0{p4xm&PEL;X>P-~a>Ytu<4doZII(ro^tXD?^T$1xIH&Xvx zBXWym>%6kGv`mEwL^5`{wl+1*zEvZT+7+9;>S%swdMOml7wr~uKd!??*>(J0=$PPF z!_k@=J#S)iqyLzS?)GlLVe5tCYBOepi-fL5qz38fnN%Iy2Z4c>gvsQ%N!P2MoRi>ywkQ$jnMb99ASl)h+6PQ?YIzald^eI0-ANisbghlS-bu#+oCgXb|$xf%OZR5NPLx)YGH!gW*pV8NJg|H0iLY;99PET zf+s0{@!~d7rOGm0y63lR>i%v%e{yOn%gL zbNsm8iXF$@|D|#Z?EdNfc-&mCk$Em;W%}g4$CB_nP^@5IrC|Jn!v01(JrzF2(F4i? zc+yFFo+qGBnsAHj9M0LidL2m}a9pToo1r`rC=#{qprXd1#*2@rp+y#G7PjFWfG#gwFpLpN@B?dMTyjo$ zoV|kI+KaC<+23CJ6W(U)C5{`z@st+Z#H)RkBehqYQOvb9M=MOWs`aq>!yI5A%X4zk zcFW4#emh0SFX2mQ`iNZr_Ehcgk6Hh;f?onCs>I@0`A?Es|1%Dl5|kWOpu?OIAiYL_ z!EG^2LJ?2{_v4(4XxKcb6OV7y;1Ez7oWYpNEAVG>gORur zbvt=g*7TDt+_iBQAZ8}{z0ToCi)q>_6n?^JCT*l#D$I%p1dET&hn)fD2xVAcJ*uV$ zTlnKI*I>>82?mVjk&zM9Og@8WrV2qFstvP-U&RQ4riU<1q4z0jnjSM@(eNzqs!Yfv zeM@nQ#za#2%h*U;U52NIktDK(htsGhc+`i%FTl|JGYSgdCtE!n5&3wmX_R_Fy%EwA z_aXWz=^7|!?`y4(TI<(6VFn)E!2+8}>L!=-ma)1LQ1{nb`2JN>PTn(Q(@sek3FqZ5 zV(1gqa@u(eudroWsQ0lx+Vm@3egT$8y`X$8yP(qEOd34QEfFK@wQN{~rRWk&3w#Xr}Y z+{IzGYWH;TX6kDCgiOSF8Z~lhR?~q=rds%NSDSfXRMfILal)tB;H;%RhguTtmW+^Us`jO(TNkBD_=0Mw zDl5R>Ad6P9v56;C5)rfg>0J(hL6bkLu9+#7mkGLj*ZV?h<4lJxU(Z(kwxN$?HlY4t zQtHG9Tp6od7(#85hI)8>{UyD^1c63GnboA9jqGdtS;@q*#k4j4&FdIycX6_R?;W5> zIn0AAUS^zpdLMO_O%5f-$JI57ah*f@#OxKG%WWW`zDHcv_w z!RcKw!As=#qP9@;1K%n(iin-rs_frl&fsB^4!h!Y6Ow{GKrz0mR&e$I@HB@OH=bbZ z1niZoV98*`Ad7rfGaAoYN~q5$Z+x{pFqX&OHy*rw&2GNdRA`bKO|Re_{1kGE5D~)sQH``u%Qy81Os5vn&>k6!Ssy|47DO!@jb($bA1eKPf<;QeRUElB|t(s zK9cjFE|fG-0|PJK?N4{IF!B^V7c@ScdErqcx5oiJ;F}$Ui@bho-v_uKp!~~A3@+|B z{j?~316wyU9TZ^a6y=P!Z~-KPz6y!U@RkiexY9-#JtJWFfczB+K&plVk`C0 ziJb$WB3#eSGDSCfjEZ>fB4oOPi|mB~&Jq|OAs!7Mb6f=3ZVhv>jUswUgy~+E@2mRq zLT&p}>WlRCa%TUrx8Y*}2Uhz~dB!-Wq_*9^maWD{F zeh8}O=+2-$(D&#;5DCOJAP?|Psy{VtkUe;6=k~XO7axKKTl>h zu>oCSp5`IQn069!!%uBsOz%H=$fQO#^G&H^VPfLxqid0Crz$Z(t&(>W)8(m!_5)NR z1r2zJs4rhvQcry82c4oZX!9Gqi8WAr{rneIGh5JxfsO-XPt5_qDInjQkz@tS2)+{< zM?IQ!)4k%D(gtF;qzI#L4zU{4@|mK%0N5101}NiIbEsnPl^B4|H#ZP8MycLvvvmGa zONCm<1&ZtgK(0L%F$UgNgEfl#-{?CIlaoS}!IGdvM+$1R>r%isb{Z)aQzUxvck4yz z3_(YW#QjsnF+MrphoINI{~bqJ=GT*B$yJ;%(h!56ep>#~FY-{`U7njeMbdty`Jo|w z(|mI^bhfwT{0!9k6Vl@6N4Tdo)RBI1Iy7j$)92$6XvbxG6k!$_?Y@IU)rF{`zJ(aa zy^fNE7*iyV$vNYS>)=eI=3V-u7mo0Lv?1BVXVnfmZn0~=(wLHag)?tR;yU!2b{9c&@o%3}dSTS7XF+{f6AuPq!uMI2pyNAEc z?)_C;l6ZQagkGjJnR7Z8pET*tF7d5{zVCB*(cu1t!ME)8(=YW*rJTBB_2P#SRkmuz zN^AJ?C(|$juS7MNVuZ5cedX-rt6v#*752RwSLbyvJ2JN?pgDIz1LO;fi^Z7#iH!YU zgir@N6>JXDsC z+&KuF{AHBaAEHXRIWtOtHv)6KUL2 zMii4*m#g|&amD&g?&+3p!K9P@(*^Neh1};UEK~at&tEH7?F)X-Iy#OwNb%vm;(R4{ z;zO_cGU1{BRs1aqltL$4{`UR*%l-B#TV6IP#2uPt zpKHFR9KY7&VxQl;E!O?tN0$2n8!%jpzzh&<{OxV4mPV)b*SCq1zk8f6l1(B)Yf0;A zu*?5(_0?fj<=@wU2p3R7N|3swAc%BGw-}_-UD6<;beA-uNJ$xhN=bus3J5AGA>A$A z?>;lXnfX5N9}~}vaL+yGe0Hq8*4k$kCs~f;wLc1sBoEisH%Y)wltMr5ZL)c4ON(M) zdrPf)Ph6`=qWLBXG4(B>jv8U{TjHHA@;#~b4T?*BFr6fsw+syym}?f>sa>$kdGl-^ z_10A0>(j2ChGV=t5NiL-Hn$~zQge>nth-`UP^az7k#n|l^+mw_26g|=pN=}By{>Tu zw+LmEDc-%HKtJCp5f@=~@zV8t#40Fvy!LQb=)dpNnurinWw2duG+pl1CTt&G<{n7L zU-mr@$C+$92SZ&0eP(!_$d3K4*tJi0t-rq`qfd4b^KsbN|DWG+x!2we;?Oiq?@&lc zxs^$MF_4FXe%7z#RO4vBWxEaw%e;sGS()9BJC(+nib;&GWDcBy4SRz|Gz?lkZ(6fU zPMi|7=M+NdIOqmTXA{Vyc+hQvfu6dbMncBGHT8hzNy^Gp6 zv7z_8OP?NU(3e1@`7sqAP&!b0>95-E|Nb@?a>XGGY@VBe{ZCpt2YeI;3NArlbv#sx zuRIJ;W(&>!zj(T&y@%I^wKdj*g@uEu}fRCc%L0 z2kRvQT^6Sg-z~4l>R24_lGSMiHvjK4ft0>@&ssb0tWV`wX)`4p6^l)3ZxOEffrxI) zSef1NQ@-O}5!>6hbnesC7~Vamiz2JL+3)*rMf>+fHXP_bh1Mx_>Y4&3CT|?R%Fmz7 zQl!=$1ka}gS%S%)?`ZU}mnBbsJaKGfe2a)v|NCxLR0HWY^mVbPT3658;wP~6@m&mf zFa7h+`ZskW*@aTgcHWcx;Gc<)j@83eY$NwSGhX?hABJD^_#BMY8xK`hrzyXmWg(4Q zZhR_k+1vS@e&4J~9@pts?&ql+^xA&ANLH6m6Z_wFNS+mB}nIm;mzuTV_ErqKu}T6&3Pv6_La(0Xj`4BPfCI zw@8(XbTz!#%UD`e7;_Kp!}jz4=PpPG;nRe9SQ?s zX&RVbi_eJ&cZT}ypsMJSOwhH-MTjR^G|&x#C_v+4Q zr=WGfZ=V?)(0BQEqtvy)5S9vH!sGEwg|1|Ce>$d3^6a2T7)VV{wdWJ-cPP*H+aw=W z40~N)N`>_#JW|K-XPlu|xcm8N3-~nA5KM*X+$JzZe9`X{O~Wz#Q;vZ670&WXpO+2@ zLN_cQQKBJ2i27ijsO0%!{7MrYFpGKY+e60xxg*)MgLOC=|AEYP^ItEfUXcY3ZV$Ep z@3)Ga2wXyZmFR%TR{>O8lB=e$ZH1ZkLy(BXek#a8Q4b$Kl_@)I2LA0;GT4%q0Uwey(DhkW$frH?v2QH11)F<%m zuh5+aeFF14`;%yDvNgKQt`*!w>Qcn3FhHPkhk z+Oik-N~m=2JhXYSPeI@CZ(IxL^Fdj_nW3{jP|~}Ml+*O;Z9r6{2Z_czbzw#&CAVck zhCA&7ap&7PIq)T#;knJ9>kzL4r`S&G^L-hARq_N%T_zkfEeDTCnd3qibY{t3hd!Do$YDk}OhvUbJlXJ4aUS+R%(J!c*{4n0` zb=_?Ko%nun^6BiOWR2s5*06Q5PcQ!s;TIa2cD9h^EqFqk0EKN#K6w#H9X_Axa?cLL zKPW0;M<04dsR;Mr#^ zX2!e$nVx4WkzI|rYfMq`JX!>{5h*I(UZ8hDBO4Ram|mKa1t+I}>W9ve?pj`n`X}Iu z^z}x7_(T-8&GuR!ox)kMxxNXmf799#(3XlLjf>5A%ca|#{tWl$IOeO#5B@99>$88qvWz;}N!?6$-=c#qR-7b7lx@OsVmPvSnV zFY{@hQ;~e#6NcS{*8I*zE#M&5R#nLT_S@Shwsv1OTb)6Xv&rJ`cfsf?sDrM^Als3s z%XPm1(sci|2F>FzGvP2~4bV^iHYkk?Jj2)BE%0AQFj|!-doQC>b)?5yK~IT$gKogq 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

ZE#0>aJ4GWX#|65SpRHA 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 literal 0 HcmV?d00001 diff --git a/static/unit/images/drupal.png b/static/unit/images/drupal.png new file mode 100644 index 0000000000000000000000000000000000000000..1787290621871722e4c43d108742bb61ba9e21ca GIT binary patch literal 854533 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ðKeK`N?Rj|Y{Cl&8W*Md?oD7Rb|Oo9$oJ8u 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%0Ajr!Nc?j8N0idt)0viH~J z6!NpxKZFTfgrz_D;U4iTZTW~La?}+rX}a?X8vX)LCm=r3PL@&>M%7i7TJFR1B1Ks` zy@S5EN1O}j{GHDJHOvn9Kr0agW4{6yeg5)EnH}<*kak|bk1l!N~vD8U>>AtVph+{*Ku;H6&0qwpJg*y$ClEM2ayVGb2p(z5o+?Z z6Pd1}knCd$i%0dWyh5|UgcJL~C1mDaYaQIt{Q^e3BG!^5v7Ae`fYot+%VNLzy2DLn zn-Fe4I1#>3!r*<3q{&VB{B2I4ehr@en&WO|W(a2{cLH55I>_p~?m%V5Wz( z7@ED?bFjB^t?-y$1bkO0XCkX*fmxebewYNeHn)i&<#=g^K+Zat$|&}oG&kUc{%VrkfrOH4=2GL*LDzt z%XoYgA{b&8dGbtPZTrS28AE!5z~*RZ{kHMV2^?e7+d23SupYosEQ46-M1|YvC5oo= z(_C$w-QS=1`*q;qu6ri=tGAOD&Y>t_a4aC^EGg?O%4yWZtj_bh$9HsCdVH#3S4cwNwu+g zevhTCvB>A(JPRSQt(xnp{F(8B&kcDSjpO!LB20@qe{-xqz85pqsM&oZaqAR&ajv&d ziD=k&`*6>RH15_6tTFTa9gn;F#x~DyIan$|whHZv3mj_ydKJ61N)_I04oC-W38$WH zY+PN_w~(_1t|mEiEC1@BDsHMoFoNep0j{i4+m6NP0ng!p!hn&_AGWm0Hju zs2z>JA6neB9^K6eghd@*#3(W>awqh|>WchWK<8;fx2R&kTeM{|Rj=t=or7T0C;A`5%qc+c?qGwA| z*B^%gDcR#Vv32_sbtwb+I)~Pg@qhs5jQo>ZK&4Q%)?JKPnlaa4=YJ5y2Y&%ZC8Px2 zbRve%BX!SN+f`mLF}l_Y(gAoSPXWs1`R+pw1OIg~(7WfzGfFr0EYKbsKp#w&F*LbM z-|gjXt?K^ioJ@_)_aHZa?`Zjr2u#M+KWw+ zW2lREM424R#o7j-6lDd~UH!oX`+z&dU&>n#sJaB1j)^zN<`A?pN&$w!7j(`&OeI3WfKwxDgGCdN1il5~;hGu0yZNU^}Z z#L@z0wNNdzAT28x<{r!x=o z3pGpxEAWRH>-G7PYWR2%0YvyX6^qkyw7-1@Md%lG@pQ?=#2{1$ienLV1>W;}_D_%K zPg_s^=T22-{P_MMq2wL3I|JGSA?Do69hYwc0ra>t;9co;8alXNh3kp*wMkyq!VFVa z(U{eQRqFIZ9A6O*J&4TivQI}8C?ZkhnP=7XElMvQZg&SWG1z{}FhqAZwymqxy<-_I zCV4g9I}O*0iAosi)#ZQB?$O8+JQ)A>!FlOX!z)sHJ~30bKlgP6MSN7>dwRv0f zt0T?U_G*dOZaZP?9Zj)?V zk+bU}a^3i`9ZTv3tpGFDEM@u2&Z8XNyAI@W;|i67Q}f3b?JK?U{hTL!(< zOb~2$EvLCz8)(YYK77pmZ!1np7&*qR9M9PBKwPv;MEPFao_M+Bq?%9F;xkQMd{mSX z_lIK>^H$r!V)Ja5Th5B{+3u~MPM7{d)pLqPLeng!qoJpy8zbGGJc*IfnXt!*_ZbuI zGe28SmpC)?JMN!gQP`UhW9@p?nR{DtBIoy$3c$s?1v$EtKaoC^4LF|ogLiFODc=^{ zNj78dypy|?_HH?7>ydH@p(kISaWX!|y=Z(aKHa|okltI>Zl*Zw*9BA`cHR>E=ZVFy!hx1juK=uc#_U4_*!E9qxWF~Vjp!k8tbxX zneDYoMc9^8;h4yGvU)~gPUW2|$F@1?dp>EdJj>=VYdPz)BaKArB`~VfPk|V2WlU3= zb8Pv?h9l;;R8v0xq4d0tNbSaaR6acW{R5E`v%!}wyo}gFFO=@ZgyS$o1FLp^`|q_@rQp>_mbVFwig zV!s=l&-#(?WaTcXild;V*9e00HhJeAJ3#^HfzP;e!5z}dD|0qQ5;OxvCK#;?C-W-( z{OMFIoceT^lbwxcOVW>Q&Ec=y?KMRu!HxM%tjDkI9pzF0@_!cJ=zmiP6 zm_VAUt=|v3duM^{>k%F7$2!Z96i|A1KCfFTM~KISW@}+{L)#~n?Jx=}pv5<@Sf{?w z?!T@@!QRy)dP`btwQujT5Co^dY)rIO{?W5DCe{fr;bff`YLOS3;IPtlzq$H;vc=ZR zoQe6@f!oq>$HqT3-7oz8-&t?aQ9;!}eg2DjsOWE-(>2_54$84nC#AY7S~Xp7B<-U? zyXOP4-vdh0ayMWa2{ucDa+Vo5)B{n-LE54h;!VTJNcmXzwywE?Z@O;^B|e}oox z_lsm&x&%EZ9B6YVZCtw*qHqUwbFvF;nm@iQF)J|NnT1SuHg~Va{3%H?@+W{I6M(A2 zO{Ce=i*MYxe??Dqqr=*EJlkw>I^#Rz3&BKK4sWZX6=$V~Q!lVN}QuCwvjG(ghh&~?TK{}U-&L0}P4Z-XM^=*Q*rpkrDOxAZ(; zru^Q?0n|kF2gPU0XifA3BqpW#Pk1BuFS9(#BNV1F#+lYm65JC27Pt#g%Ks;1q6n=4 zPC0}h%aOg9wKf5vPXSlg>48$N6g=PZ0R)*0O4Ex_)PqHc>W*&xfyell1eqf3&IAsC zFJsLAN70$TL;1FGII@&Nkt8yeP$VHl7?Kns`}SqDFbN@B)+dCDD21$JN%nnQ zj=7X_N^nx+*x=OVf?AKvRl~)~ln17lrz$ow!+R1In=P7Mlm_VyR)a@IK68>(7~72j zBGqABsY34NwGojw{7#ek5B?GQPCsNrja*1&@=%>sTYCGxU9Yrva@jlo_^P#5{`h#B z%WDg#H;CpJx2^^x%7-zbO4t{yr$6#J~Xgq#dTn5kB zg$R_3tGGQSEM0CjZNY}V5EXG?tC2ps>!Y1)nzs!h}WCc-iLek86qe>dRp=HqE(K97mp zwON7U%thK`SUjwzGAFF%8obmlH(hy(_6C%K=NRTc*DWBKa|nGAj(wX+2;ow8d>zkHG5l^blbZ@O_l_8wG8jprC7-M{x4|h>!A{C<>2#-C|)zQx!sA>Jn#*7u8y>& z^enfqKi2ELOw{LoxV-->d85y}FceT%d(xjGWfE9`q>)-?7azwb7n2>o=^58_o+s0JO zY|w;VqAPD+nrhQu*?b8yw2hS3h?Mowvnno5^q2X;gL$Av(malK?^D36j}{!M?HFt~ zw1KXh6R!jXU;ameT;?*-4%VzT7v(!`NAcm5K3c8hcAC%z(9)$^QlM z>#jJ50snN5uE#;2LDI%5+x8-U1i7n8+S`#|d_kUMgApN8- z$`n_n5{4t`t$r5CJH=cg!ncBHJuSAq`FTLnytCe7PHmG){JK&gb95x~cN3~(uuwSb zqIG+L`NxinO)mJst}&_L?B};P)a>byX?;~q zgL)q}!7NZ);?+6VM}Qj^ftNbW#-VK;)cxpy+eQBtfHj5$qPBQ6%fax_qf+ooyvyT{ zKM7RA3r-TWusg^PvAc9e)`e6;FByaATdNgNSfvkp$kg#*7?87wglqiM-AOtnS;^9 zml{tmObcF!p61&l{!uD_dNH)u@-zAT;lBbyU+7p7MazI|AC%{=K07YcGxBXU`Owns zqu*D#m@I2*8sz3vwZfaqLn4BW+T>0tOhX7(Ln;2*_d4jCeETIHAMHHih1$OuW+vI) zN~3#>gqS&Ty%(>o2>N!j)PbF4KHns=So0%YaJ0A%O43|;7ZTC9g+Xh%-5cfjR%)Pb zn?EymRb%MgxP7-W8~24Lo_2d}c`i?$+}EgX?Q>gjw}lpI_)uWP%BhpJ!%Z@2IBs*i zd0U{dB!A<&oJ4VFsF;M?QM7lOxQKIUO7&$nrLV6UpV+YSpTJIOtYkHU&iVnB0 zIY|Az=!m2jUYwIwhI)S7Bjg8d3N@P@x_39rYOkfGGDyHeH5IWfGXt@OZ4@?Nu`paa zA;i)*s+jl9>bb0wh(KGkgWL6GkEPBr|LDV4$DKaPHPbX*gbft1Xpx-eE6+&|?Zs|+ z`4yvoxw2Dh1)mp8*_5Z`TD6~XKw9LOvZcKP{IQtVyVXLd`8u!lt{ny+n5 ztGwGefXy`4m6Zd{bvgs(&78X0`7ArzOpTs$b@cNmNt*NyHpnkKTH?>td21cHV9|-^ zjxXH4B~_!daYyB4z>+{LQk2}T+E@4W!irB>;KFFqI`;5|);kivV_$>WhMKE>cu{i+ z{U%Dlr4ETYkR6lMC>-JZBIbVol>EriHLsc@URq_3kZ+Fqh*?vS%hK$>ocCVD+tJ1u zy`i{IjizwNS-0NGd8FK27=$dnE7_kaK+}TtVW+e!scBo~sVP-VqGSU;1)m$MmX9gH z|KK_}9*y6{Q`q;P(2^UshMSRG4n0ppW1{Dx+rA=j6UroCBROQx*{bk+Qk~g z?KwxU<`w|cUm(@dmDYh97*lJ7@|YcG@%6s57@PrZ{3;Qyh#rEMv;gPtlWB8TlrF>F zvT=4@iw(2bHy}2$$w!4@y0td<%>KN8;6uk}o!Pwx-aT{!Qoy`I$Xw+N`0K7M>2GdW zr}Iv(f~E)~)O)XyLk}3=i5#fdG(5bGOT2NL3k7|RGTyjUjz5cZ52-z zxIn#JhseqiuG5&8*X!J03wRQOYQZ{o7qOo58O92+eA~$1fL5>#iw!t)>f-i51~dk< z123M8BiCupbQDEe?c#OGPtO216VFQ874}BTDv+2GKhkhF1hWtIOnH}!-#_5*R+4He z*jHJ*9|kl$bnd_S0^?F@M^L84kH_?9E9nb~kvgVvk^h#sQNGW!KW4F8UoxN`ZG+Ky zN_q3Z?-NjASEFzekma#IU8smgxN;r=i!Ear0-G$a!iJJ_8;Loi(rR&a6muy?M$pUZ zeiv@_He5+7VPCr>)7h(lwYD=1zEmbKgC}y*_SRmD>_82!^PrBDK<`lV|1}y9x6o43d4LzoKg*v>9ILO^*!si&D8(+emn}HifK_M?-f2m8YV1qY+9T4^S zC}q;_g95+fK^w{Zb}x_E{SiK3>}2^H{P>w#7kw67GEu`dBXKSZYKfry)Qe+TGPe5+ z(87fD3g9E*gkf-5)ozv5j;o9jlN30dmjlUqFU7G8x&-A;oj z^Ve{53VuX z(OgTw_#9NS&j+Y8JK9rw{^-{)=&J90HLZZ}q4nL{Wb1`0YYpt~OkyL~xAtb7LK%+x z8(83_6k6`{-Jqug(S`Phm)0VR{cpL91{a;a)U1-gBw&wB57?1oE$qDWa{YDlr@TFf zw8QSl@tksv8U>32x^hyyi@wWBb#~U~S3fa2dJ9R0%z=L46{^(h*5=Zsgs&y(Z!>aI ztIpg)b4kQD>wU6>+SFS9#O1a6UpIEz$L_NRvoM<^hm@@zsu@2lo0X%7XFA17be@-W zI>|6Z{w1WR(5I3(_LZgzXwH(4W1kvLXGU2U-@AEh^Wy%))3T9^GV_^x+b5jQKM+;_ znsw*nJ1-A@f$!gDfX^$x*$>ScJq4%s&js8KUO1O1au|Mde+Xgk_uSRT@r{XXW-3cB zAyd?tm}ChjIkl#Kr6P;Z=;(H#OX$_DlCqwD2V?wT=A__KrL5SwfH$QdUbiK9u{VL! zu>2F<#K`ZwDJdr;abp>&e96KysMLtHzXsdPU0-wAH?Q7*O(4N$gVHYzm!PPj z^O5D2SdxJ!bhkPvc&0I0zOPI9Xpmcsj$D@l#&yG*GobBzGy$)3*z})zV$IDT0)D~r z2BMy&uG`3<8ES-_)jqNxDvv4ZY23MHg_U&Ak%-Lz>e7oVmE-)tkku(yuL5p`cYHT_ zY$SGt^d>y4H+1UH%3*3xro~zO1=~krx&DGJYcgD{pS2 zQEY(;QPa2UW@O%a>G+rJb*k9E|JrF)v1gyrdDW^G4)KBUx~~(|x;-J$m|rKw0=H2u zKo%w|k+2(zhXXkeHmcSGv|w|;D#`JNpcL2mxszNMG*5iHgVCIw(gBNj6Y33`@fy3F z6_xhLu}~Z6jP~Cwo5eairF7v zk7j-p^<;Iu{ht(WIg^8pPm9DKi0jJHQR;g)kL^DD&jIEHasK=@Bp?aT%(;@Jmp{;@ z*(ai)B9yY07+e*!hMkDpxFkFflOKJ5Dz9X}W)ri*zrV#C1rgrg`fL>n#s{A9BK+0m z)Si$F{I4%Se)5F+{gU}kaAS)L?hzMizXMZJvq5^+vR)1ig}(#@exN6BZ}q@d1Qz-+ z{A*&ni(J_52fDl$Z=mV;dH)MLcHtl@Iyt%Sy5YzFuaH1QHj==bF;;K`N?xV7V=JTMBp8)I2N zg@o_EbHO<+x{hM43E~9oCVS;W2g%~7Xksuqs}+O?NKb0hc&d^1kO%UH$H%9E=7j81 zr709>8~flVtAAMp=M6@xn>#CEHF+Hx#TN=tMm<};?wZSW*#k+#?%f1`*VGH$OyX{x zffaB~4q&H++MGGEh7OGep+vD-(jaI>6k#?V)prkraC$*@Gnjd@oc$p4AeC=?J&p!_ z=MHxUIc;(qV7wgb(5xGv!N84FL(X8&kg*j}y99E)-rN=*gF6z=A6ipl{BNEU!Mv*O z6+UDqa^tzlJ8(ad3HT#~48T?&@cy;OT)RR&B>ntN&R!1oPTL%>=b{u~qTy51*S|{b zU^8m|?Snn{s=h(B@4K6z29~=1qmP+Ve6IWbfh(&6JKSSbUd2UXtW^y5OD6OG^}I#a zzH<46`KA-_gjS#ygFKptMA4iWF%`}vOgo-L#Jkb9=GcEBs1cP-sZ90TTf;nfVnTk| z{R;O8)C4jzG}5maY~Ydzv+8OY_^o}Vw?2LpMNI1c@V719=Sh8k!+f(qmb*UkuMb32 zgw}{bm3581hrAr_q{wIeeR(;BBYUA%gG=Ft{>bO}hhNIjQl{_Y(u}*K>DE0baJcfjzRFHSMmgKEhGMLb}1bfc?oJf+J zt>sDN3NP^#7R&9yVTArFfR+ z{~|*6pp!IE<&_@AZS-M&KLE-!oEc|=2Z+w#M_Lu-j~`6p%qs82tiK0GF0 z@XYtF^jZYSO{#wOK{sw!39CjdAxoST?tMqFK2=kkUsO1Ba^#`pClWl9atLHdq?wnPLUn#`Z z$0J#OUjl^RiwS0{!bvWl58aW`yf5|dBF*Dp+I@6YZF-5oub(9^9vb-HU?wf$U&#Am zOM1@~J-hs6P(sh`2hGPv%3%){gAr3cO%eElFbYm<%@vh zX?wXtE{4R{CmudjZ8r##>hQbr`CJl{+~WQD*uaY*i^z1mm~8{r!N(m>N!S$H-x!(E z^Zsz4Ya)3$mmbkbfacGy(p+Od@@~!l7>@^6@9g4Xjh^eq5z&pLEm5lEi?X13C93<@ z#HK7fC}v13sRglM8MDqw8-De;`_v`6PbjFL#xtJM?IFKz!F*U=O)bC=e=KjPD?8bQ zeEz-Q zPJkf>oNBW#vjOc@GIG$m3v8kL%=mdqtjLWX?FssGX?jSIqPRVS1orz z6;E>4QH8p_OES7({qGtV>cy9kcUBo3V-NRNKV8}tnI;OsP+P^}f?=4IdDpyg8}q$E zIaTk6T+C0k(SB)~E{HoM3`0Ap9R{xINmLiIIvkd6I8ASZ8O27rG#NZ)EP*E&zAG$6 z61)G|mA-?Ze`DQ5dV77JLvc*^FgK2x4cR&-;zx%11m&qJPI{ixBH$_oJeWQ=q9fvAIeJhA zu(v%=cYZ*bl2+|5@(i5u6CQa5;JcJUm%qeE@YMf3XLE?6RSb)|OsAV{Q+0KFvys@v_USb~J}JsNQdm-CCqo?x= z8s*4#xZ;maIO2Bs)9r-eEyXi;NoR}PpK1J))Q?VO9+2X8Pm$z3_2d$7iba&Ho74E{ zg5{wPk6WB|tcKDKu{%w@DtUN!g70-)a^n~E^%D`_tH&-ldJ95&7&$SgW9(DUe46iy zXA@Fbcv*y$9?qt_Tl#uRo+qj_w02Ngil53}dCi&JFXAQs-kNVH#%yD~SMrCYdM!@v zmaTJL#WVLKqrR85evxjmO*T}tBUnrh&a?ZS`n?yx^xJzg)q0@WJRL_|I1;8-siGpx zaqNlr2rmn!8Oc`=U(F6h(wB~FUwp%_rM;MU8Y9VNn zav^jgT^3XXi_;1?tiCc2C*i9@gEJ4L7c1Tl7u!cXY5z|Fjki3>2GR_eKK!$F@~Arg zighGwZ%Np`-neT}JD<67M*VfPk5|FXK<>nCp~Ne+Tle^c2K`RcBD_4^!MN1AN(E=m z+o2e}7p&5W><#v%m1Vs>+qfg=C+Sdl(rhB?MZ=l2R;8=#_f)mJHu{?oY(p|Bf)uWQ z^*Ea3yqdY-XXA>Lqa%0sewhhgE9@~YWCNHr)Ud8SIp(Bop?^MpK@YWJlwmJ_`880- zajBpe^s`RZ6q{;qBuDv_nm9X3-ul|aSI1Vuvn`J1BwEr`z88THG~>4Tx*vJUQ$~fhOjs1i4k$68tmzRnaW7aee0V^zE0X9y!0&h6_{QuUG?3 zu8X)2oc+?`S-)q}7T$=Zehx)%f7uv%{d_^`z*YB5|5l_Ie(>5T%e&16Pgw#Vg{vvi zCA$)|$$w0nJt(m8thdC)J+gTMB51+kqWMn~33wZxH{?Z{5-(kE3F`^3t=@QSU=>q# z)%Q$@K)$-07t{=$Rp}1_vluyJ$wxn!cM%_0=-6t{Go54aHaep>uSsQZAovl!Ci2$O-1u^yU!#O-;E{89ay9=6Mw6$ z#klj0dj~L4|l@O*NzTl=y+&+cW1Z^%xaJyR&|D z#4U}h^EP(zDsmmdJoC&U)h}R~ztdWZQl3zU{rDQo7>Bt}88A_B`umXvO^a8TO%xAO z7g!t_G;f?974I{#TT%#ZqdTE~#qa%qlWt^w{`W}&PtqVSRLJsHHpe4oM@Q$Hd%?PFQY4u z7y6h#d=_lDz6G2VKL*JFCOv__JG?H|xQwZM<>DYUNzsN+NM-!q)}oI! z@Rbt_Oqi->E`=@06`vambm?*f!w@QfOxL52?_(4x0s2mqNjzx-Pwnrr0=qc)KNn}G zs#M3z*PaCyhdi%Qd(9*vSmWyLe#zpiPxZ-a$;a^<0<0Ik#}$k;s{JHHHkAw{F^oQV z#gQw*Qf#AA=-P_VBeTD2$=Cf2RL5m*Ukz{*b52Rz2>v`AQ?xqb`Ey#+rT!ul*L~Kh z*^6vKKTY^H#*O&e3@T8WTRA8e<>qIR=qpkIy>YI6N9UMMTJ**{8w~9;3ioZFzMMX0 znJT_N?$YEL{-40H`w~7IBa3^mV&Vf9&a)!_$tk#7-bfs^d8S$%JwO~WfJce2uc8Vn zxBAUbc+HCI>a#M31^z7M!=^*;^w-w4BKEMN4`eSlVV}jb&0x+8@LB(C!t&|Q;Dg5! zib?Nir-i;h{#(PVyR?>nm zLd|-;+HeXIgmQ{5EcLXi`d_v*QPcAOulJ64X-$K4<&~DVJn;3>Yu$57k2lix9BGlj z&HMHbR$rxovg_-4w)HrtYp=;{H1OTUnvf$tTe)J={jTlL5#yQ-`GyiL} zm)*+r@MoZukuL2jOaCwDKWp_rU9s=4w+ZhZK_8J@)9W4o4cTyT$Bc-7EjZ3-2zs}_ zOY)fw2s2X6e^u|-0Nf6uBR zbe^AV5F*B|Hjm{M$~@S+tmMQ-CeqOc>07?(Y6>{lA-x-lMf+o`j1H-ZI9;zMcu%I! zw<>5JNkM6jGLTWmk$E=SlF@;sr&DU|ooin9ZxlvEk9MV?4&=5OiE5`=tQd@1^f`-c zXGDcCO8-=D@2@1u?zob-kj8*LaveGbcr(HZqe;M@)nI2+6AqP^kt&n#zBkp12`#C= zBsibb3932g>Tj@~3#Bb-y#a3|=okZ78b29RaQPS*YM8m)KHm9y9)1kPPCT}Z{%l^c zbIR_~3*l)&sg_aj7Q82R3r{8KD&BFHWqi6GqIU2XjDFj$!C~mFJz+HB;J-bLy3nWt zU2)<4BNB2d_0u<*`Lgvuy7fMO9~wWpwTn+S%jO)_})lVmn4uZ103o2k*S%y6QQtA!LeOa$ITaB2!IRkcVMXFH=mNsCB|S zp5IpUPa4J*w)Vk&Oey$8MQS}u1o`C&w-^Z|*L|J*)Y~yd;W>J6gmldGiW%R+;pJbg zIxzdtBkM3zcc61r$CH?w$EdM}Ye$-YkhwCwH3+z4UU+R7Djx1hJ`Km|*#R&kzzY~| z8nUnu00}byK{3~bw*pD=G)UC19aXdfhHukc$;c%90~$BLI<&zII|BDmKI57T_Ns=U zRde5syZJ43d&G!YRMgFhXqy$EfFVr5&L4p{HyGdptq#2KREPWZfu)M?;KL5~fO7{q zfMNXMh;0ZLwCa_wR z##iz~c%*n>)eav$_m2%z?DqG3JtLZi`8OB00mQ_g@nC)X^!|eXo`qV93-@iBJ?hkJ z+Z!}M32a`sUhbfGlmAHAyG+v@=udCoMrjoPlh0MKlsM^R@^dmHfPsQ>9DxYm>w~T+ zFEgJJc|2SE{@#(@=WlP`CO=&|F+E?AqIj3D<#lowT;VObIMbl$a<0O=4F3WfvKKR& zn8eC2aAxFB(jM_Hq_y$7W{jP8%>Mi1je<~#_#WlJPbXjXGKT6t6GJ44lCJOC8e_fB z#g3JEX>(9y&4ixL*Pj(<%J{Fm%;iMzzUnqV0Ye-L&?Cgtx3o&raQ~(xvsnbME5|lw z7<@;bv17c!_4DS{n=@xGl78+DY$5$$z{W;tqmVl0yUU;jb_Z)!5rhzWJd31mGjF2S z*FR-`vn)vwB1z)ZK7;!eKVNx~1h&+MU12o+HHTBKcqR_UU=16M)51iv-O+7>$;C&y zmQ}+=Dl2x&%oXZWy_LL&O5q+00e3Oe2d{PcmkT&kc1j-aYx+npIysYiQYPmE?CBd3 z-__5Kt1NTVhK&opI)-IV@0BFq;n_S$s)+Sma*;b7{m1Nd*788hjkII5DjP?6#y5Ys zkx@Ge%~~}fxD0%MD{#^JKC{Bv8Kkgl0yJj+qVWRF16UW`X84Xs=CqQ4t9_N9kRP(TshH%At*5+czt7?0!?v+` zkn;7<8Jar4P;h7_n+I5S>Rb8h!;%v#0ycF}CSJe2WFVaLoc&+dejh`N9UIfbqoviV zjfp6>z_F=3PC1pc>0_pA<0r<7o%Hx9*p-L`vD^~*I~xw%U?4@ut)}D5?g%=s=>lom znSZsC7VCAqZwvHQ<8u$2H)h|u!`=S&QIkLNE70$oan_!4)K9>wrN zd&J|;x9&m6Ej*RZPmctt{PewT&`5LjfMe|&A^3#=I8Y3R{?9u7#gKc}TmTyHmW?g_ zR)#5K#Wgb!*M7zmDM|iWsBv%mBxy^}c|J4~BMMs|W{hS2xR{lH@+-0cOX4lq;h4Tu z0`4DjxCxr3HiBww@wH3Zj#VN2(z^(%qYo$DcwdwK(iW6w>Z%LUDd(sxbap>oia{YG z&pbp*z5;BL-Snp&$FYB*OyX716?I^W=(9NL5;|Ag+T&S(G!@E6M52hhcJ>SMz>7>cr zraz@%2YL%XGfz4B%c}CNo&eF|U+ml`pzUj12bLGOYT2kzo>*u683wk>wfv*l$oeRK=hRLnAO`MTB%=a_{WL9h%W^Odd37 z0e!ilzx}g=(oCKPnbKsRO(ZN$1*gx%(IbMICRGMkrd91}lb5!fO9SVDT4UJw8@)AY zD)dSOZ_mDbjV`<|1>LA9SNO>oL21LsfyjKO{+-5q%ZP2nK~Kes9l$?0s|}y1_fg-? z_&M%8!McT@6~DB4 zs|1&fG1aw{ZV8N~|1t8q3{B|-Vhk?+YJ3(Hk94&{?fV#}u6Q}7B6$K4wzzxB7``(T zvqTxGeuk=^0B8^uHA#I!$HOEbQ%*zkd@G4!{d&%^@^ifh)8yDMsnbTdM_dRe*Pb~y z-L%|>%&)HPot3YG_?S0E0<>{z5Bg3{RFYenWI27m-YkkdtMP$#M!?LyM}?YRdlP5X zaQ|ncR94bzUBtS+WL4$UwlgLtu1L_uIUl~7ysWV~z_p%f#$2zA_9sLvmB>4kJLBly z29nDKXl&(nqVvoQ*?LcK)VeY*Vs9)Uoa|QjWj#3dk@pSc^zn@1nB>7z0=E5hCl-l9 zEtmKI;LR68hf6N-^;*QmC=vTzx+2wke}H;^acx2ot~KD6-FDxs){i?O6}=c@NzSkX z{Z_Z7V~GvvxAIb9$MKxPiVi{AcwUt}e@=5kCq=DWfMZ!#PR19i8O(2dzdmJjHjG_O z(`erV-T7wyRn(_!qHV9JrF_M&9b&V{8YTwVZxMXZWbEy2qh2!2IY`I?Z@~hhQ zQA4fcBwQ16+@glL%vy6w3sv;(uMy><;nH*ydxe}BUCEu>x%P2e=CqPBX;IGGWV!W0 zHU1+~OHyIRU^bahKb=keZz-n2W{e@!!Wk7vG-!s#2oLHUZw3}B24|~>aKT9l{JT19 z+NVc8o3_q1W^gtTS$;$iey#U6`MK*TyQ0r|d?I=UthRK$eN3lqb~hnateo6RRf|t_ zI9->Z0-1VAOU$YF#oxO)|YXEOz>r4_881x$yM-8)$Nk_sM8Fq z<#!!dUy@nXjWS<&O0wqaTHy!h@!~U6FU8$ze&BUfPTCcauhNEfwH5j}e!7Od$ULa9 zkHt)I1~pI05$@Grhxtj`F%#y+-yKDQ=J9MlQ#gNa>gb7{@`I4aM9^S@2&gq^NAB{`NF02<%&dPu3Kqlp@l)_4ItW0Q zaDHnxp82-@id{+kF16z|R+xn12USkl3VwvZCH9=bCWz=x+vF2(y6Jv6;8)#W!sICy zeV!wOfh^I=E#OROD;$a!yQ$l4KFNRA=FMJBu>kjio6oUHq^EU#B_b1->b$~uBT`*y zkz1xZOVYH&4bU@(k-84|KwNOyNn{(=Io1P_;Q~hl)oTw@J8D6~{jXpQ4r9EU)5zDX zasJ_1d%Q3%SODLS-6**NR6+IK>~B^+)^K7>?MTx#j1@ZwYA`3q(5MPz9DS)dg?IM@ z)nu{-J8?H2s0`XX2tYJ|tGBT)^I|u|o;up@FoKT=Q0vLx2(C#KE66%+A0r$Q$D6qHx ze3Ks!nTzv0oIcwPcci6<$d+TTRsXm)vg`hdNu?#gsh4L0v3X6d7m>7mH6%~g;G#fp-M~DovBA{PtQ>07?8f?-mzUF^Dsb*zJnhqi2TKCKXnA%bOfOyM zP=3ixkLi$rfzvV|EM5fPKsQ5&jwhrn7zp{L?S52;2O`vnJy^tj$swc^Bs|ZdoWt`x zy}RzQEk8+m7v&=xbd>&JZGD&aN=lc6Z-GjD7*rqF7#wdb>OaJjdr{)kq`;E(;|JNl z!hR_?m148X46F&z9A2j2BW&GwzA^70=8hB@A^+wq43Q-umhF!>_bZF7uUa+pZ#jVi z^gg%hrRTi5;-?AAn!`I35bFF%y?3F?Bd^&14G`6(ZGM{*EM_Y{=DydE!c{}7| z&AyVJ5gH^AIr1bJ7gbI|s!`3v3O-PG@XYj4u>|2x4>~TL(f;>sLfI}86$`;lvvH|E zDM}aGy1Bf*+SlesVdatP8qAdBwdN{?W@+Yvr`A7SI-RkV){I!Y9NWDwpImC4sK})@ zc|60)n(J^zMviQnAt+t)sK3$Z=*V=nJ_C*I}%W{u@?H{~%itApxG-+%sR0iE8@K!DQJrN^+ z#U`F(!g}XWX%oWA?h$Ep|H=&B693dT;$V%IQ6x}h?|nDCoPhYlCnehqPAHwY@~jj* z{q)#h()3ieB@wVVKZ}>&)cdF3B{V`(e6suuOg;*uBWU802PoUY{4O~-lJg+)hQ-4{ z_L~87NT*p;IK7s5ab{2PLPSk# zK=y6@`=_(=?>mJ7b#8GJ|M070cNLN2BPiNl>I>7Oy{AjEiQzSZP_KpJ8Gm2? z8EjELC=amvblCT${@UkR$b)X9`$_Ir`3#n2Zt^t2zBtc8C>YEZw!@*Kw~VXj4Vu<( zLZlC5KCnpCfI>Ab;2#%{3Ec{_+eQ#%tZm+#Duw+?reb_S4s71Sa-n1KN~P1e-H6jg zhNY3J{HXq`-xwc~N!_i}j1Dof#A~^R=lNs$&wBxToTp&EkJgw@{HgtuQBTWa<}0Kq zhGN7dHqZnu!p8KR>Msa$fRdu4zB)M_Nh;eP;*j1HlG#TU%~WG>`OCCXFj>IQ2(j@F zxl#&$-!x*q?F+IbJqSo;O^FIMXOOFK|7do$T!o`~(Vil_M9%8CkIuoYZ*PW^Ni34p__lV* zue-(GXbf1OtzB{9yX#-)AHXk<%_XvISi*^fh7Q=OWR99xPXE}$y!F8=2yS(euWEh#bfIVQ$;=A2x+^~B% zU6N9cs=7J~Y1T+>fh20lfxk^kk*f39`d!qZ*f3+y=kQ?U;a`w=VV%7^XdpqjDDYv4 zt*Eu+g{s3+wu3{!KovZ+7E40?Yma9M zWOW|xV7HRRnnYZr)aeSsS#~8nO+Onr1J-z{$a0XSx|V!n^>r!%DtZv6*zF}WNy6}A zi$Ez`{}S9xoVMnG86$$@K4f6RBuSzCVZ;OV@RJhhXeu%ma`3JO7n6o|L_osIxYz+b znSp77&b?miuIYfW6p%is3Eq=kBf-Q^XR79`79r=_f!>X3AiX0OP4qH=ooEHjmZV6Y zb7HuPyN_v@=g^KB1BxFI1udit(R7h_3=G}=F?nuZ0K{#ei6p81f(lB2>m0;y?akEb zG#rE31ThO=Jde_#6SL8;3V8y4=pj;DPnT^WNKRCSmPi|PfZ#21@|?j`Y7r2E@^Q0B zO5&VB!0=8EEd7MGaceeagAS$y(r^ExB?=!eb9|&sDL{_>N>n6iC0_^saOwEZjTeVx zZlIQHmKnAj{CooU1p9SHrUI>w977IB4{SqLdt3kK4EDyDmBafe5QgTg^9z5?oO_y= zd{gSM+kXtVy&A&wNquu>B8H4n*#dTX-g`?d{ z7F`rm!9iV7B?VD1{OA5p+`La^LTQCY1zQ24+=B0Xe!;gIha+h|9ZGHMmy7J47ByC0 z-za>1Em1<{x9#k5r)Qy9!yx4L5%a*Y&+1~BuwYS`S=cp84dM)~~ zXsq3>%3RWe)H>|16&ntHr^N?fS6<5X*x2_KYI7O8baqeFsLg2zvtP*xFQS%^g)g}E zsE_hC9b;;=vN@~p;&9#bV611+rmd5!fLY%OVbuwn#6Jp~R4y%kSPS*;@H*1;iq`Ad z6&Ze0J_iAxw$P-!FhBi7&HjQW4y+s zg^t#XgdeLO237Zlj@;BAeS}U^AUvJMP>a+n3MhrGj^U}>Sax{rtVyLtm(p5Ld!O&E zOGh6%0gQvTxwo15FVIO--A66$Hw`#n<#oQftDPUBelnhMMKE-Hv>aYmTJa&^Q;V7>13nZUf#AmQ1Cg08#a7-oC@ zZ|l$K@0PpWN0W-2X--oGq^(-+i1x<)g&%x@RfgYcUgv+YR};#yDo9P*f*d~-->A@Y zbtIX?KUFieuaO#`#g~nZkC!I=Nq$@%xwphGL|DDCFK=x^T8h38mway^M6gfi%hG1< zHmri>gC)ZX)$Dm}rO~YmGha-n5p>k6Qf_zUd%9~0ykV#vy=|m*XD0A4Q$53^?>GaQ z1ib~@I-L-qsLRY8m>h2_wmf*Mz#GB~tgaj(W zQ-as@5LysqqD-R5&f+I8!p^#q+G1BUvIh#pKh;4Ft@GmCKK;10E`5JFFPDeHnb&83NV+ zU2saaolFvcXPhee4rWv=I4$?AQa79LAKf)R?);<3?up@PGj&VH*1qG$wU2U7uP#X zCdHOEpRx0h-_s{WX2*1JVc(Rw#}Coxly*C1_~=v3I=Cgz1@xni8dLsmAUF{gWQC7> z>Xj$=&QoRw36};@!Ft3?f5W40|IcAWR{eJ|rC=F%NR@d1164vZ}< zJ`NBTh$Z1(9Y5{w^zn8qf9`0!rM~R5>PAYyDL6FE?B0b(XM?b#L9fI~$-c$PPfU?p z9@RZcTc%fb@MeOKvN}_v7fHhO2q0;)Thk%QBu%CFV^8Fz1e;;WP90bVGpqcN!IEuW1Byoey z)qTnwVDPmUtky7fT}CQQ46x0T97S0GTt!}om*4jXxE}K4x|AwC9~$}Z$*Q4+^TtBGy+z1pvhY3Njf5A^>Er?%6^fizf`wi~-X zYk1U5nN#&1$GH$m){Z-!H#Pe=9Gu_Qux5S17>QbF7-&Y0*XTx_ZL{WhAd)`W)g98I zQI#8oji2IBPD-1_Bsd5>+j<`*D1;ngI}+1DC@SwW{N;Z7qkLqpSKL#Rlj)0ZdY)|i6qpq0sg>P=O;26ff@2iEZ zsy*-emolr{SOc91Hh;pVZTD1JIaKfu@Cy*nLnrCAu*QOfKlyUji<8e2UX%}IRu^)} z{@~B>5NhHCT$;_G5ZA<&8G;OxS4A}uL6y{_yh$AmZ2XQ(N92w)eE9A`%E_BQX&tXrv3oBB z#jlXzsv?eyjdKXfhHnQk@K{#UMzIApqJ2O?=LWA*QI+tJ@D75My@~QYbbWvAYe6{f z7uNKcz?8kS`7b;ha3o<4JErN31@y{<`Dp(spDFU0iS*lI(agC7S)8&V)`Pme{&nZ5 zhXWBQ<6Un3Z)&SUd7fXzdVyG(oSZ6TJ=Rnd)8;1o+`(o%5fS(z@HXaW3yvB12tv^h zcW*m!UK#K@SfrPblreC!TV zK#JdL7egPOw6{5tH0b$vPiGh1C;h52L`WHUTKbfgy*GA_dht5wmDEbj13P@M6)y8{ z?Mapdkv1z|$C625VVlrvZ%j4esM-e#YdtAZkl?0FIJ$4}{?k5w5Ldi>Yc5kn{F)W8 zdhWsrr@M+|4!N`C4V-jp(tqi$w&p{SLrqLA zo};&wTR7U95P?>XQ?}5jag&kxH+(N|U7O0rK2)s?sy*;J*FkZrbY_F5@kG~Igwhq7 zJ3Iv#JMn)*Bbtz3y9 zS#CXMH$@A7uJj5;l#CqjZ|sI@D%bx~j?TN(FRy=`cfF-yX6@_6yOF$!*=o2uw7nNs&fs0Npd)iqY_=%o$oiX0rfKFa+l}}6^-VS^f?{t^TqMl=ltT7^t@<3)~5=x&j3#1;Q-lt35uyMaw@(lBKEG zBhI(c%Tb2~ma(ze%cd`P&|*1>AOrV`Q2fE~ku}L_1yt1o%ybO?M{)#Iy#dL3CqkKW*GQ*v~mtZ0l&@8-gW2fY4yJjmb=es3 z1QLZq?7j!PEn5Arp3!~- z+q0Xwk`y_ZphREBBX7W85oZs{f8t?c=W`NHDw9|23%(mTOlM$*!6cVnG$!!R>rCuc z@>V4AXrSwlm0Q|*!qi=-h_CJMOi7zYc> zaOWS+J~M8#-Wcv@^($_p@H~_e|8F#8%;@g**-5_*%L}*iy7cd}OLYDx6If;GbmjVy zBWo$%I zlij{}otv2GKQ&urF7MwMckNG$v&rvgMI&(A$Sxi6;}N2ph-wka4v{VkV(sW*)TaTXJxyGy5|1>lO11yuKzl|1D&HbO6;-hRkMd{cLVaWir5!8D(`70BGXE>^ zyXd_4-??e>gSf3~=?;l8PQIe(iLs~;fdf1;9M<}zvw!qWd+poL&;5_0^Zuvu{o{Bg zkwoQ#WEN6pD4RnnMX0RILozb6Gw({MtPqlMjO@KL53<)m+3DDuV;mf3+}HPf|A704 z^SB@Pb>7!?Jzvk)r-NX-m#?&7|7Fp$4@V^K=@EXt3yCmHZnz7&pWjEBp$~=OYuv-&lG9>XZ zAMoUz50UNc?J2BKSfkgS5PK;gGb>+9Vgy}U6hoE`gg>~P z)Br*86m@v|)!aB2z7;t|j84fJ1KQY=?HuIWz(-N<YKwxi1T~st#Oel@Cf+xc z=1w*f^N2>t=TYPlZ5JFw70P$Y zU?jtzYoItx*zFRxmByZ38pHv8mt5MIvPAFa~RB^F$Wm~8F=z5E(XLj8qr=m zL~Syk{kRd{5$M4~3 zb-+bYc3efdJ##Rdkvl0$(LH20Xu9o5U*ul;7E$1-9`1dZ&6=_rpAflM0u-;(z!Hra z$J7D0xwremhgYloE7gW;VBMRAu2ge|k?#`|bD$uPB7G!q*rW?<6RveMGt`GRn~$&jM+A36B?v%c5F0g zw2J{4IIJ7ICmR__?u_qOwV)5gH|F$UM~!E~R`2%xSnRrgkudwa$^D@(YGfs}55w;C zfULJUi_D2~IU5f1IX1h+Zyfs&&*ws!``}7))`4@1*$WcM1E4OMT}{ahHa(ZM2i~Er zAjkHPe@?Gy5fTgrZkQVxv{iuA@vGeGB6 zheN9*j}z|fiboCte%>@q?5dgZcEWxIV_#VJ{`7*#@U=XbW8*^9CP)Q9B(0o}S6EvWYr$J95 z8s0^d$HAGyTv1U)Ir9hG!`B=f?^dhwTV@%G-AP)1GQ}4nWxuDKl9zoHJG*veoFUZQ zW$x9|lhCQx*W4IqE=T{$f6HgnWp*>S-_d4%N`%C|c zjm@1UtsjcY)AUId=O0@oJC!Vx18dw?InBmm{8ciS!-LOocWri7 zCF@Yshy2*G_)(n-)BOuQh>GG@TCSbHHgcA3OwEH>gw#5#{Zp@>I5bYn6W)G2d_~Rj z*pBjBAquj~ZRW-`3bp?LJtv~4%WDpF7gJq+;}Q2$PjTIf!l9}3Mi0H4L@_k0%fvhL zdXX8sV3moP`eNM1J6QKPm*G)(W#q&UR|=B#YmO_~NF+Ep!q>pf{vS$eM#JW<2G8vc zc36z{=rMf~!P?v@<9nlfExS58iEHE4@HTOMUj? z?DDrkNt#u}Eb2&nj#ubXP&;Oa7ukE|Fn7mQsH*h*##)y3D@x^jc7(??VmWb(qER{w zIb-*Rtj6)B$?#V&ef-r&RKu=YOr%T^mUEdNt`#MZ_(!G)_NRKTn zoZYWLGg2Gr=v0bjk^wWf265^e+L0pBmd$WM&Q$i7HDc?cUpa8j9T#;<&zsjHAqmkt zt`HmIy8Y6<`};RH{uz`!qsk^SDV!==ah5MGSstJq`l=W1@cYty4ttu+Zo~u^t>9u19_f&xl-hJ&2 zgsksNI+8|Ze;=8d7u6upy&`$3Xn`+HxjM%6<5->9OR~gf83n;`!?YBomQ)Uh>NbSG z+r^nG7wjAl;z7O?o)!#!gTVxFEee=jQAl1n-MDZ zN+3YZzw;JVkNrOYzv5U77V`T4M(GZKt)Fq|T&yc)vuo-fI^|^3MV8N~V-pUd#i#mv z<7NrCs@0=&6baN2mO4V~@YcgH*VE&f-7enSG*w-}%@I0QhR7+U1bGfaKh!}g5>O}U ztm^gCs`&|Vm1Z3E+e5ZC*h~4Z+wG9c(>K(7d)(1#QEk3+$FT=De&&%LmD#-cQP|fj z({{{IlTJ<-z4qo}N&il;3dg#e!S{c0pF_m%B~(mit<-I~mfl*>EPnr+DM2Pm`kee( zjsc>`jp?QJ+F?t)WK8d*|FCGEcjpVM+bNhk8?|S0E43x9^+JP#KN}lsQ2kl2u(NDVJH3;v`wGf3{IP(1<3|*dygaR9{di4gW?OB*|HI zactdDcj(Va#%|@{5^jDAkPzd_=GYPEu~KUpt2tF$Q(JN-Zl1HEBn0}8kJqd%qT94J zmm+3EqmgiSQEwihPq=g|F80;0YWnxRG3RmbnCFUa+I;NX&#ixz@BDARJpA&{qLtU@ z_L&%sMgB4+eC$%{V|v*87kp zv~YLhS9gwxGlD1aUgAZ!WEV=XTYiS;fV^~#%-(4tv2hGjpZD@?1H>(~c1dSZAit|s zPF~WKjO)(XBU&x{dnJJ?=}CDt%#r>Ro0@0wEC+nX0S`$M6!8+7>c3x7t`Ja_p|_vw z5K5_+F+YUm%SM+g9@q#neO^xU3yodGetf9@5~-qYb2nIP{}x@Ea`*-7a$e!n^p985 zs-zAy^e0I{tN6T7gCYIs*O?*M!UxM`(zChBFMo~hJ7wUa-vK)@!RH^QF~0AiReaGY z9;!(sS`?oXi`-x@QJ9B@kenK9_;l;!;TUzP?WI4jNrdO83#L*y#M3r59ay#+j;v~I zzmiuN&mEU;3#&i`YG=I8g|l1y!>$<_kNr0gE{J7|t4w^YMw>6^)s3{NdUbSewV@t3 zBAnaEDS8^kzRP=<$659J%F&2!Xxh?oOe`2tJkSx&lWaRmDsSI>I?OK4hM&1&PS*FU z4$i7K9f8>V&Tl|I@rJJ`O`@QSIQ@~AU^M%+a!~HxE#o#s5?;>5^M7VZIfjACr@BW#HDGwdfmubS^Djqs?;0KB(yzbSQ8N>=V?O5Ggf4LO zfCF*R+BWzF^zDHXL@a0wKBY5Sdsj@$z1}pwH&ddaUKyeybc3D?yqvW;WatZmfsdIo zzGr8%4#m>A|78lyhyexOPKrliWZk%()!Bwse@Z0kbkfo;gE~AK3u7w~AAk`Bu?jMw zZFHO;U*D!~tWyRyGb#I^LAi<|Fj2%aAfRm0LtO`WVIiDj-^t#8NzK@N4UvNh*yw(i zh}oTRbC~&>?jgb$*1&{Dzao!>Q$V`MYo(E zaqOF5Lwy{U5)_##UAD7Rl=t**o#PG!v)XaZ$B0Io|3BCZL-c;3pp`0|c)7xZ5U6J& zoFmfpb?JPYGk*4=j+V;Yj4k^~9qW zeiwRD9M?|dBK0x*cQ@jKI+ET!r{f5GsuUh~{;&bfY<`C#nTSuNMshUA2&vi2`CO|r9P|s$6IRtY^oaI-YWt;C&f(@G(btMK z1vNaE`fm*Kh-$awSibI+8jcv&^c7DJl^HKq(pysyI_X&K?ueGhmSOD1^sk48(`0l! zKU@9TBm5j~Q_3;3-V!A?q5Q1*j|xuC=Wad1=bgt)uLVx>4}8*7t;08Kyqd)hY8w6* z-)l7Bf1@FQ(41n(C(x_v^w6MxE3byz#v^PLybdP@L)W zS-8$&&uq;x-cR#+zF7GPiE%XYoon|R{rXMndD^R!#>?LgnCzqWeKa{8X+e=`fS{Cc z3tM5Qya@BhF`SbTA^O+>#7i9M*Pt`9`76Ay#6(ypPutHjpKy}b+9lzn zanv@2uZMY*#k`hXO69J|o$MUL%+qm(_fV zfF+L0Y-4wsu`ehSl3B4-iiPt#4VdQUEBRG$cn*&7wSahPe+PC!l!kWn*y>mtExc7F z69`h)Zxd>Eu_fyqhrx?dVc#QeSLaQ2<$az zNT6m~BJ680(FRn;!9do3yK1ntjr~7IW&QAVSn=k3?i%21P9M}8xwxz}Jzb?E^4E^? z^xE1Y!jxQ^tCKru`y1$ssGLF};Mxc6qj*FsI)sYCS(AO2OV+dub2UDlM;Q%`?6GfB zPfkzhp(a5Hby+qAPbNFUfiB9p=Pr;q=8XglB*_EEIV0A^n8foY0h=@MN^f4a^or#% z&Gyy?3mhtW1NnBd)P}4J^8*$;#=0`t;!=f9)HC-db<9J+N1X?Be3K0^x2|YVWL@KhTLp$YT#4di7<n43CHV!^xt72g986Ede8$KyT@Q90*t>Xwz)lB*)qL z_$qHm2(-07JeSvFF{~6Hq3QTFrEoeA59A*6=fB(Ksa+U#;y?c+QFU#)O?vS8mccufCI_wJO1~>4-8Me1cXhM$)^C&_i5zA#P)+v? zVaR(Bc!6Sa-W>j~_X>{tkU}=Ot#y?0cGgfP+eSTevRuQ2>BoX1zq@R;6`&^s(k5hb)2}6 zNTsi=jpKbn;%}kWu3OTj|9#o;z+P^Py0+@&vQx@%9rafG_OsGfFakTWoo2ea!)qc| z|6V7}XSLx@{;q4>`p`)*D>b)0nB={~NqaY1Pj0qId85EnEVV3M)I4IDjqRdzTCn;T zS)_>FDQs0+(PUjStnY2|fmP_#zytWD?Jt&x?t=85a|Tk+A5;%rVGEOM>^J4m)mQy{ zaH#HGxQk|8WrdyP2m_yi$!Mt8i%S`&SV?AT|Lo#}JGNKUm`GT& zN$E%lYZ{M1bo9PP?n8CdW76<%FWrurttGb$k)M~&!|0KTF+_%LHs7G`Rv35<9Md8_ zqX?$oe-9F4u<3;wHqda$38HtwM20v+u1WpfWtpQ*rQD4xYtxPBR&=c6=Q|H^i>`A( zeefJzUj*PHj)ATp7p5%7@9L-=k@ceV2`V?;c88r_+dMH!2AW+@_&!l&soHG_MYGU4 zSnEFf-B*X{YxUvNidzbLze~$Nro`m+Fe$?Lu_LGx_KVsnRSarwIOZapc70Vy>ODZ z+wb!Hs2vMz|HfOeDam0GQZnWIt?29vPhMGT9`ee4+fNq6QuED;SoM1ey*(f8$zGUFwL!V;m?=R2kxko=G2^25ft8fA z+8b2xr2oX8VrMZt1Vuor^nmJrsJ$4xZ%)I3kl;1cgubs|H{G(#IYe`!lG77Yyi}3yRJRCs zC__9I?jq7HQmJBS#2_8#(1u zS`Dl27DVvC55$edNPkrr)#uopd^I_z-9ALhit_&tNH$SeU|VuxE5~2z{C6smWwyZ@b*d znm;NMMS}7Ry1faPl|IYYmwY%Jd!VW2;%e|mL8K(XqwqtPQi6$NY-_wVzIw~TsHyBj zrR`VM(;reZllz&ZJvn-6+q4dGTG?!!to=NF3n{AB6IpC|1qBBw5lO~849-9g!C0Zu zO&>wOuF9Kr`rRizbG09aXLjjk3no!*%yg^JrL8fgOde zXjA6rXZUQDt`MFWT^RAk%Q)uXnA%v=JC<{$r`2G)j8&46&mi!lIyX6^NREbwp82Gi zll&)!ltk{PBJ8&%S?f-_z4)M;B05mG#7~CM1~Kyf1?vGQ>_(*^UAe^1gA z(YSrqs(bJ+yZ<6C1saJ@25odD)z$iS6}XGdp^mQf2(}@x!BsdJCsl_Zv6lwnS`2h~ z;&3lL*r^9KDf9JC)tIYF3CgD92xs%fK>(~Y-X}<$ zA~e8ZDJj|?d;rEGv#8ULtB;K7;w#8#d?F60ns?Z&KKTuM2)Vp}w+PCtb1m3<#7nVK zUlcbL&%rAZ*9=~Kk9wIn6?vXqJBHZB2Efjsn)u0$%@+Ax@-y62uW?ao-4~>||-7;(t35P1p^<2+E()Qcj$0T9}2*hgO2;QvS7@yOHOZ{M2u4^owG^h{N!;Vf-GXI6z{K1Bsy+(m4QZc!6x61 zJtIPGl=KqR)C-~d;(`AD`M{2!$j+K2^z^0&Ah>Ch3k`V4(dVkChY{7ap7B*84d$uT zi-843LMnbry)*)y>ueWuBa6X)4b4<a^DrT2+v~=swuJ~)mc;-j^ir6OdA)|u_3xpLtc{jc&Y2keh$WTEMcPiT^;`Pzzo8UO@ z07!x8HGjDNq~a!o_nk>hIXzm!MRX;g$aXUn-Q%=ilrA1Qc5z_8^!-G9+duu@~z?Bw6dcG<}jF6_{3x;?r zq7DbU@9!WQzTJn>#WANUKvD+P9N_XsSoQ1PAjk-!Yxpe%d2n$dQGEm;75s_U|eO>*4P> zJl(D7CnT?$uI)F}Vv(Mdx-0l2pLTF2uvvsib$Q>WP$;bFdIf~C>sA}>3nWxk<<{xK02`77#X5m>#MvmQ98h*ws6M#o5X~Ysai~dp<=vgev+8r81@GcWK8|Z<0*wMO{HA|EDhU?`Ynh+_1yA*u<>VT${g0|LuN2?$eSs*>vbs z;O3nNq}ct$A9~f_zrF|@tFn20^>Tjf3yX)S{$b9Ky;0_?(l@-u$2+e4Em+$I?}Je3 z-VNM8?&pvIz; zmIrfql)SX3una?xvQKCCSke90iv^OH3D(s4fU2F1KhOW_-K=$?-4B>i{Ax@sWD0t7 z8g111=Ih*eA3kYKy?VU^fhdi=7PKne_ag!t(@n5ysSxhOIQ7yy-msfR#$VWcw~aMN z@8Fn*XA&`&f!B_1dUs{$Of&tzZ9YL(FS(_=*FtxhDek|ozMkAs9@JoBGEli?DwfQk zU#yn|YvK9rLW6Z(WE;0yDu0bA$E#;I*Qf3o9}2FQ3>8!vss1-}dqw%2ePP?3Wi)wM z5hdX*sWsvLiWkO;Xxp7^rfJqB8v%6>?Q~{%RO(@k!^}}{9e*GOVFW+4&4l=J`Rw?k z50d47njo2IZ2q`MAE|tjo0*50e)${A(L0-x;M7fGmvPrg@Zxgqh)ZeU81zZM9eDo~ zaS;pO4GrKhAeatb*~x8D@^{}cQiEHj8wcd_1;8A*vz@}?R1`{uf)C^$2y7X&UVK(? zjhDn6cqr~#2@62Pr||;hL`n=?XFxd{7*smhmQ^i;*YLj!4H-DdiRQrPmQit@))bul z2G$NiwT--%g2Q|TF=w9SNqnzm2&!2GStJ~Xk_ppUjwodg52c2MhULZUJ33r-ud5wY*(;V*emn>x^ z$qrz`$k9!<(rntaqSk>-DrxE~75CSWYE<}JcKjC+LB8g`{edrhm)Z0`IG*u&M^rL= z^B&hBI#~K|X(yB8?q~~d9Ym0yCF%chPps?ud$SmO2#98&G#^xgb+X%~)@S3(Wn@eO zjHBq9el33-t=NjoXeb)%=}sCWDv$MOk2Tq@0ct?88@%?LJ>EE?%2_Yox0Ia||AbNF zC804K)37Yud&o{k-txKiWAO~T*0bvMyKIxN;q8=zX*hSvaAtK^m*LAS5=_EAPoGpa z8Xg0~q&p(9w*9{>KTao0=0Oe?hW92gEj^yygF#J?CJ^<9g2!qob zbYC8Bvh|6`B^M_$T*VX3Q)rTtl{y(h8_0F+9FHG)wCAU6K!GiFT=i%(4nC7~N0FP5P?xa$GJ|No1=w_$7p$FzR^k`^DsBvU`LRYdgM8Ac~d zigndpr!e{rL&YujB#JFryNYb~`>3*5Gs$AW2Y3^)+z@^R-EhkD(>Hb{-p$1CV)jQ` zsuByXuBwV7qTii~ehJK7bR(I^nn=viRRlaKgkSJULbFr)!Isw=<71E%p8=cV|F4WC z9W@sPjiKNT^pp53DN1PO&c7)=a`x8wKW}|6i=e#vDnz#MOu~Y$=Z&LFd%7oH%eZt@ zSvp<*bfaO&?SeX^(V!f1cyGwL{%h;s+R%y0>$ca1T$@sQvfhocUCPAPey$j35xlYV zWzN-EFC7ZWCbp@g!s3tOamOxSgO#VC!S&0_DUd8?t>fukCiS7fC6g~>{i6Sjqppy~ zU+ce4(0?X2(EdvP?5Ii4S`MvhiB*-!DYKpU`@#z^Hk#f`os_e9?`d(O0fUwdvVC72 z>~ATV5}9>zGkK8h6509rWiU%md^Q#4k@?fH-zHyUP_MLu z>o#tm-puO$>nMsNt?yPco6N$?3yQprEACPG>r`xpB1d|ulz0DeT)!o89&uLJ^5l)^ zoM^q^!hFkmlSji2UlJaj)@w~HsEBVp11`EQHQq;OM60_n?n~^Tv~rg}EM6H6YWdZf zvl8?PuvWP!#+Ps@1Uj&D?Sufji1%Pp__L4qhF2=H8)g75R1QyVnuqE;FBvwro{!ko zEryu3+uxq3d^PuMuxrnWvqE2kBw32>L8L8N9lOGg7~EIjV3)P|nwcZKK&8f$iQ`Ul zgtyEUP%>typ_cp>Ew~+U#%-Z_ib0JDh zWWAF0Or^&|c<(qI0VQc%E1w^2CB zz%c)ZoXD7j{2(#Tc=9%$x4Eu0dwQor*QEBgOpjLIw>pqDGD9$$TYO;42^v@Pd%JuG zi2mImA2Nl*f9_x?aTi|~$frwC{4LBEppjBZ>CxM{qKD0D*rY`tmCHR=a^`gKefN7) z4&S47ewM8*%g-@{pLP4zsPu^UWlpa${KTauz8J|-^z#K4VX%xT6F zQU(d+o3*EMGA}A5^KDGhZK)*Y*3}mLOyHIvvApOuU%(L9dA}C_w^}LTZ}=q8fjSqe zWch%sxWzc)2&AhxenuWPnFP8Y7c8r?ch+h9ms6JgM_R#$mhg=nZx0=@Zq(8)RP`cPk4e% zkGi>?;$*b3{F?T{5%v-KxC8~xQY02Ck$C^#-$@fD$;>}jq??3@)B`OI$6_qy0L}3B zIyF{`Aj#HpznXmGcBl|auopZ1YyXM0k%1GN`-g9Kt5vp6t?6QAy1WP9Im{xTO!PkN z%aG8hm)6vDuC_lrG)x-KvE*&e(F|=_<$ie=pgo>{?tTBeQ zjAUHpRHgo)%ILz|6zM>>pvuTYCY04IW}ITr)t(!83on`WP0y&>PXU#ASX^+(;XP-6 zRKDeXsqIhA+-0Miw8nkj$t!PP4%NQMd%Vh_@2GYvR2&4QaR|lr*r8WP%dfCE%da|P!CxvzKrm` zAU~vbKZ4OV>O7IRb|%4q4|5os$p5k`!M3g(&7ZerY^yWzR-)`vcd|u^jwIZ(ia`Ap zD*w>_R!U+*?u!s?j4ls)_$TAGboKxc3^+^Q3dIet*G58uFDF`#%(Hsc6slNq-W(Aa z4dfSk8&wEhRu^^y1ugVn6T?B}{c4RC14t7xa*U3I#&}7Qf+T~kcu}eF>3y5eq@x>y z0>)DUIe%Kn7TyTI!C02TUc54nHTcbS#sR|(^Q;2PUc{RMXk!t2=!%rDw*H$5RbDW%d_pV&j@Cd*yS%re4-Z#Tq`a9Ot}lY zYZzpE+ub+RAXM@fKZe#(-2#1xK<2tm5rnzCbeu>p zMr4ln-<>09O*~&%spuVv-QJfWZQI-|yG?TUO-iAG};68@$SvADcz_2nRdOBE^!c zseYG+Dp!(SAAs+{rE_`Sr&#xL@A0BPECH3=oM*Z_5PcTdcb&u9ggcua8FCbOe8IF# zZTtbhHwypOz#(QAbl=?uUpfRySm&!DkYF_(9f$!whi`_!$V!-B>_&U4(uaZ$dFJrrKNeRGqsc z<|T9@!J6)!&~J8FM2lD(Oz$kJg|PlmJdSQIf$n4TUjcO_X;UV-lC{PzO^0%>;RONv z#UFQwjyp$frHDSzQ=MJBIgC6+rv%Q7`CoubDz>kJ5NM9dcyxkgn3*E9gTCmxvw4rs zwQPFyf#J)Cp`6i$tOCj%^kNjW3m>!bCrT@on|C@%?*|N)b4e1%3#xg?XtLNle{H~f z^yplnJqSFNRy_D`dkyqe0A}VOzHBC)^JnJ#ZRAOEZ`V`q*vr4kZ>KW|Kj%7+=th*{ zrT}%bgBh*UIYJVI)Hs#TQ_z!OHB~E1&Mu*z)z&NTPMZ?*1K zbgle%X}(E@8;4qo*(tA0t5O7Jjj^gIJMvq? z0#yT;nq7M=@J)`!%i{HNCK=tt;Z(6onv}jVwSVao?3asZMre9*Fa9A0e#9tMajf2^ z$QODB@e&oN6|{{A46HzdKWhF{a3BFHsg@Fz0s*)7H$3OxKQ!K@FULRqp+whvWElKq zG}N%qASTRzLM!9_N#~zm62h{F#@8-;6+8_5JDB&lRXnCH8M9DP)7$rC$GM z_b2;COJt<%m4okwx4nD+qQ<^;dx@?O6gssrt@>h?~_0IU;CuI+eBbx{k4-TwaGWtHYdYLm}SPbyBIMuIAT9 z9~5{0iz)xk7+7*^gWb0}_1%irkiq(Mi$}|ER8mu&s-1auX^q92Nz4A1aXHM$+yjqKDqDf3 zMA@1Xdq-}zw{QE_q{Md9x>~6tk4pQgrE|AVqdjaKQu1txG_r!kRjEw$y|}LHE@4Z@ zdTqe=*O|b67Wq@!*cFLK@>c}@QJ66@a32AZT)QKidT=NQJ|Wz;WBW@UXGPJPfd62; zZyylehw}bl`QULy*ofM+0^gcam;N0IVN8moYWAYQBc*rE?`yh|MncDf)9;juW1K0b zxcRY4zi&r+jz9On(719XY-J)~{s`U>Z&#w5Z-&SYdk_s~1DL^_;ETg=gY3xn24*Mv z(5+H}pd1RLg#CI>L~Ks*%X-&UJD#UBJcw@?<9#%n53;BnGUM0@^V&Xhtw*I5f-I$o zW)bV0mmYRFSlWk)(m-8R8+s?!whJ75g6r_kO9?v&JS3lL%CEA?DZFsu*lsMt@Uu4G z$Ko#(4-9$;%rM3u?E7Qr^hbQ+sr?3+mholnRK^e)1u|mDwK{>xyjk>=XrZUZ4m9JN z^vbj9A^1XZd`yC$KHX-^s6lgiri$&2H<0J}QBy$EunfLgV@<*m3{785MA`k)0l5L+ z92_n5Kq6(}--ng)`T3LrPfbbCxK zD%jhhUbVqDz!^lg1Wu|{QhKP*-Y0i$t=4tTbJ$S%MdxFe4$?zWp2JcFMrw0k8)E(m z!G|5O=_(CQf$=lA9peQgna(2Djg|cA0DWd!p|C>RYI@j%kPWV+?;*x}v#}}Xi7B?1 zlfm8oh5X_(tK!Wh5D27kXjw~74-Vo=&LzYi^{$e+8G9$q8t}3o{1beATnOP3gZ6L; zc;){DAZSkl;$J<=JlI$iES50}WqHRLu4*mDLCT7sI`MYoEf!+&9rANWklPy%RQ+)#I65)O&rQe0F>Ab^7)R4fT z+Fq(|8ZLc>v82BKH=Y#VtWt_0cTvMNXpjZ>Fb;v*8Z(Bo@8!zhughF^ka!(=)$a8y zBW~Yc%DV4b{;_#Z=CVwZoV5~Zq+G$MezHe!N%^INn(@09LE>fq<}asjC{I4Sz2qcn z|AHJ>+?3>@rY*QcDCP^dJz0?L>F&x@ zF-P87WYOXwNMLAa;wByxm;}morC<@8@jF6fjZv?^rUNq1a`MOI)J5EXct=l4M$e12 zK_8&8PkU$KO(S;_zui0K+)R%x0}aC?HxqsIF3RTU+u;H?NV8t-rzl)gkTRPD%fyzA z5KvUCse^fM@IczAD&J`>`PD>pe8&RgjgGcfs*$X({W-Iw`m%^WQxmlV87KQGZzQ7!hSw1lMN&^B- zEkk^Y!h}@}j-PsEIwTobxQjYUC zTuaOAWg%9u578C;@ViM6B`&0t#?`7H=o>m?P6>ScH~A*@U;mjG>HBcT$fiuW!<>$e+!e{@!gmIDWOztM7HQ=sWp!!hXt|v_Y+e;9`bR@ zOW?q4=y!^RsRtCQ7lW!Zi8}C+AY|i^#mt0|0%<{zF^IXi7dVKNnkt?iy}LJ$n5+MX z%QCtGyv_V0g7Ka{s7sW(pdNJB{tz{*)VwP}9Qk6_V-)i%psVtyz&WPQBK{i}-;q!^ z!Q0bJM-Et)0k`l)PzUwryomn3e@eCuu_B@J0 z)W%suqz#Pmqc>0LH#j#OKs)uW(+@G3)fVe9S8P&k1>P7=fLOTjGjYG}6*LJth(ajC ziUx(W^M*Hr#t%w>(O30%O-;c&A5hcci4@+|hCMFhmn6>SYb4%d#MaDBFkVP0t=l)D z`b-#ZcZ0Vo__vRyK^#z+y=o>Wd4^}{!(=CTlwDQsLgHOMJPSC*{En(YE+vGk^_qfAlBztFBW<_+k_f*Am{Qu;gIUlu&zV{ zigj+fXgC67C;izubRroVL3A-9IWDQN99|;#MVnpexpur#!uNzVy%a7Kt8~@XcFe@Q zMYvd3J9Rn5+7ZNHzWs~4OK%$c9*VaZCL;X^)F$bRO2(g%6-eXs>7Nb!SkY&0voJM7 zNgcKg8imsYRdOZoQm@r964>kJ20D(%argELp*u8Hh7>Q_)h?3_gx5ust&ajzHJ-$5 zWJGigbU97L`_hS3#~ueD_E&zOILcDWMSfS7Q;$acK4GdCAdj3?=4gZ;Gg{)r6=hGj z2n%n~I>wk*E#GZ=l(T!EJ%8nT!yj*Q1D&($9x))R${v%tt-vU z-)W7*n&}Mhi3xa0Y!O}$-4^e)M_QiO)3B~!VOT5-vuPN`*5c3iNk*$J)@X=EsANQB0pnEof=EIhL1|(Tu~V&|)j?XFwOdzW+u= zTpy|Q)D>Zi=S$z#uH_aMJj_u(NzIad7548B?<3H8?|*Fv+*P&ew@kD;Ds^YKPX8Bh zeE@3$iFoP1^G+>|;H8xg5K3=XPl|RTic#m=20O)aHSF1w-9inHU(H>lW*?Bd8-Ed2 zY#w8w24x|AAKj(5y#L|d?8AdRV8dHEWS^FqqO+szgRx1HpCzxtieJuAu59RP|G${@Vr@JK5H!0c^L7pjT*NdvelNeqb!Z>9 zc*a4W=`;+XvOeTa&5=r6_>Hv&U+va~rWJCTOFFCwiDq^Vz1c|hiE@0Cifh=l$&C!USo^o8 zh&d{~94woh$4WmGXIr5^Cx0fx)vi2vVrWJ2^p{Hrdk`puq>}Fc5*2-&`3OL z!kn&q*2cTBKt^sOCdz%6m5l{>ZzP2r0_*Mo}@igC7iW7cNw>-z%0K zUxeO)0pr8Y{Uy-jWG7eP8&;(A3G8=O25wRJe(A@LiXS!`V^&Pw-`oJP5DgH%mB3`D zXIQLQEwfnq)o8m>Qk+6nM*8@cBig~h*5?CL*c9BNbVpq#N;qA)HedH^kR`fJ+*9@a zOOsf(2xuBgK&wE%%Zt_S#^HV5XOdREEg#n?pJcw|@RG(Jupb`%0Sj()rCDsft#lm&{x&yse6zGqz`>po>5+oK)F*_LO^#$#eHLe_NG_%V$$l zpquX;;yo2=-=xB&H{;~eZVXQu4qK!>5(Y;1pr#3QA4V^`;$_8FzMp_re`O~ZYPvBw$r z^_=JTN8HzaUGLB5{d#5pIJ_enM0Z}$O^t#4Ht|BFcOv$wJVac~dX6pj5NqHM2ms~H z2Q$YsV$B#~vhAqHX|KTE7I=tUwCQ z)5Vok;*XmeXLLD+y?2q{t`QhX1gl|1T1543fvey}K#{0H(-8 zEVHDfT&KLfi1C`EQ}xcVLhIN?^8Ni&FINSQ(RJknE%jDVdedA|e#;>{3Azec< z490iFZb+0nmlVA|;F6lk&|mc1${O3=m)el)=($tUnZCr@=zW!1h;!cMy^uTQb1Bv9 z4$_Y7DwUkhmLcU#bn`8Sm72^~GDulB1m==be+H2gs%u}ku{umDtCQxzL$7CKfT63% z5w}S27eC(S0y|eO>H(6FjI1?br1|X@v9`VCKteIu>o+S?3P0^Vdxt_MwTv4^=w-B} z9md$WSXGPjVaw~*x8Hd2y(Gkj$Hr^^QdEMA0Q-o&N`pXy{m+f4?1Pg*$=P(@c7oqb z!j*Q>so}l6QPq>v#Q8g98-Uf=yLKrjjD24dG<=DXzEyW4*H*A~>Iu zJl#m})~dCxn^^gM>Fn%b8wr>2S<~^h-`JyDrymmSv$*)NyX+100pP7J&evm(zV12Y z%}EQ|%G5+vouB>)iM6n^aTUKE#%$%}cA<%~=K876?xu1%83K);hzpyNMpA`;p?gp& z#a(X4@Gk__;cIWSKNP2avCIvioC!O{@}%e1Xpi>9|+84Y&ZKu2ke)|t>H%jk5 zfm?BF`rE3HEq+OETM+HMDt+3&1m&EEZH8{RJ?k9l2-8jAJsHJwz3Px8kJt3f1Uo@j zW-qshYYc5?-rg+qd%$$*P?M-;3iY`K!O{mhznt)iz?(duOnF0!-obQNCXQ_8Tqxa2 z4!K1+@hYUzBxe@NERDUT+HuLfgZsEy0X%lTvxd+%lw8xOi9FQ2sJ8a0gCf%MtB9pu zWb%OEsSrs6Z>rU#Jm+pf}27dBDnkHIaPigj}A4;DoatacBm( zuoqgo<{b~>N`1MBnx}|G!&P=ll72X$1meT(kpoocjH74p#xOHird7SW0zv!=0! z;%}nE#KV~0_j%QiO0n>hTHSAOlct@Eo<;a`?lf+oR;PzjG-Ir03 z5A83MV(|#52b3WN+vh^I%sdIj_n_ZT7iB71zphBRup0v09N7z4pVE*8?Wxm^+qqsD z*~1pQr(L;Iw+GDazBXbCZW5F>?wu4Lql>*;(^mfSjRA46fBM#Fz(9@&EknN_`Ic75 zZujhwlaJJhzjW3_)kd+60Qpj>9dzPODNn^E3!yK*c@!rfZ8`yF=qW7k5p{faQXa4g zxTsuRb#>YVwdAExp70=0_@}QPK&t^qz^zmBqF=2C;-t{(6yp30AIhm$e2vLfdTH?wT+tMCwDvINxr z+q?mV$}O<(;HOR6kxFAaY7#e4R_jJE624eJ(H7M3g(dGrV=Jb*%{RxxZn&+iH1($9>+yTmsJhTU}>zTC6#WtSr z2&v^uxPK2UH{7`C``u_oku-Sng>JVMB2q~v-iA3h-DyQiw`PTY$ERQ2;j_>X74gN` zIxV7qh2L?a>!-O}r{qZBCDOO2L>_gyTx+zydEV`9fNcn7Jg|HCYk^{wxuJCc%}eXZ z#1B`!9SH?~?EZ0{PZDwHm6+2u0{0uoW_7%cQp6-HXshLXRyRBkC7+;NImRUB(Ao~w zRhkT!24p<*wp72oHkikt6Acu7|ChKLuC6VGyU2Gw)ImjptjCL?_3| zF|!B(wm}1M>BT4iFnQeep+u*0-|Nt}@mjGRr^iwm8$Q$yQm>odjc#t6!8~k&TyJ;j z5G}zt`;C90#FxWyl2NPmSAIP*h}o~WT+-pRsMNB*;@487-G zleXq7R+cl!)Gw%Rq=oPLH-R{$v`TS{j=+4+xr-T~g6ulaapE#-Oj!wei|EFK_U6@p zm>&Wu;Ks*ls!n7vBE3UObKH^qHyh2M_u<;8onc->6d`4yl<2U=QQZEh!5n&o_j>^G zzuzFUw2+Dm6Mqh5kKj|uVP4y zH*YFDL~tU+irL|A$y))TIcOepQpH_E&q;(j{^GN1F+=Gn0$h~tl7NZSZz~xC0 z6uLTcLNr~nW)bDmw#NSUUw~Hcwm|wL8iaivILYF^i08(B42dtj*k_ry78FZwkG{>Y z%8v25ZpjM9$b9N?gx)v9^yQQTNM8I9lGB5V$U%iD?5Dfq{D2C|JC9rz<(#tbJ@R{a zDz~p~^L)XTZ4V_^3)^_fS~)#CHDVxL2US$7Di|@p{?~*d!8>w7&-e5mFf3*W88l)m zFujn;7IcK>_36Vpj0fLeUNq!STv z-c}tiLiWVVtRw8xR~9E98vJ{2i~oKPtjIcgr2MQ=7Pd@S!nMBs@)Z6Is^YrckX%i} z(m!b9%bH!6Dz(kk!Z6a`&DNpb|0sqqL|j4DCI1cFio`ZcQn-2!vM?oZEvMU{* zcJ@a4o^9=wQ zGRCP3CxA!qr=Uq>ZRDYz$Rp6ZnO|y_eTnIjV?gG$4Az1(C+_c}x~xTbzPi;7xBF7z zjsvBn4M*8dCA(hWrSxdelyzQW6mjp4W)OWYU3bp$nT1x+Q{1Dy+l0r?8>&jC<8Lez zrkcI8{kq3Tqkc#G^hsMD>5a&*47Vo-U8mhLSS2_rwNshP6(X#A^1Ysju|>POXA5s% z*`C`!7p*c9QGfj~O)fh_Nm8lz>19{?|!e9~N9;({A*1yC{giNJ*!+vO(*X@YKiF zD5h%Zt@E%i^0CLSt~DxG{OtUIY_R+FiG*+~Vr43`R9EJR*f={JP1%i4DwEsA4l%26 zm>HT6k^FX|X>`9Ty&=p#Itg_W9=e=u+GVT}qDK!Ks+}a2Uqr0Ys8GZ7WOi-5vn1oc zz`FXT2_t%s(?0h1W-48Ng#E6G%K7kkmXOpMEn~~a+_1;;s}ONT4wFouGl-a2YqH^8 z;@!u|>!WgSwwVk~2)d2=27Rw*RuY@QW@ov9RwB~A@qrHOCp_MDHR$p_zr0ebZhWU& zhzzsTx97rMSq7|zM)iBt_~nHz^^$g0?llF9N+jAD3YOC78Kytv2JBY4(XQpQ`- zFNWpuZ}Mh!mb#lYy3BvOJ@Gdqd@?6`-NI<{`&(*34Q`LST5a|5Gu4<(A-GU?Vc51( zde~IEBXnKu(tBp>hgZ+DSAP4z=9S9wRsTGCbmZrB4(^@?{|-jvwR{fdWpb0cqd(uY zU<33YC{Rq;lWO?F=Fpp$Lm#e9vo%5#g0UzS|hsQ20%m3`)^P6X2*zOE%#ZXWBo{M4@3**>6>{M*Jzr5Jv*NPTjPXk}&38sxuO+^Tx0x6T*^Z@?aj*KyYc<19Yh+vB(w?H3$B4pw5ZD_ zLMO|8AJ>*nq#_{*&3!HTp!N{L+H^xSE;`BVx%{X_&RvP4U{Yy=_ndkXBIx+e0qXYz zXhRCDdVeJ4ii|?Dc>_DA#zu022o_>AGzlJT;ogG!s}x7bBM+p7sMcg?Ce6NUEn-`H zV>$=S4U0TSK_|l( z_MXC?WDtj3isv&9p;@f#6K}2!r_R1}P}HIC?m8m~;p4z}devB?dC{M@uw#19+ktjJ!uPum9&1fB zKLK)lsQnMijsH2u_T72<9nwxX0PYoEc{bLU&56!Rf#g5TibxzxsA?jWmK310Km3nl zoz5D)pkA4<6_Fr#{wbMd`r3VwU&F7joR6Bw+0%0=qvb1E!0Ujw4$q;FOg}KLw#8?f zliUeui;me3prrPKQ!x(q@NtVB7^bkZO{t!BmK^hDrlg}9NratM)pA>yH6En`U zg#7kh%ksEQj^JZi@~`Oq<6W(z;4cb5Jvq%z+mL_kdqmX$Wz%ipjj)RBH`FYco$+q` z4-t#07H4*IolLC9jP8qm8KmA)R7!AN_WB;2v@9=$ZZ~@4oY9QJrp zhCSV6LFuUxdTJESG5;#eYs7hEq|d?Mv68k$s}Fk&j}iDt264&u@%XKWAD$HvW`Fe09=`+1Um@5 zu9M=US;*CYT+}3mBVV=R&5?QZsbI+o-3cEdSvSxieln9CboF;Pp$#4`?Qlp1T+9q_ zENg8L+6P;ER12m)!!5z5R>gY_Gr!w)s$_Z=MF2xn7?Jj7=MFe0aZy7VB~iMtW9sht7As2=}RNyJ3-jP0#onrd;RD1WqAx zfc>BE&Ao+-#a)xSOChH``tf@QKW7lp@x-?+$b;(K9h8eCw zA*d0L2#Ax>{krLIIv7{rIVr(UGo8#lW&p{|n!`LcXQSqdb?X@ruZ{PK0ULU}gnIKfRv_upP|+PTGy)dWzo=#kyi1UbWEAFXePLR6bK!j*AP z@Z%XeSFzQ%{kCOZz(&dqPTC~C(_GT1G*_yWWsN2E#V_mStwkE888rS6MxAoY9N|l| zrUUXj(F?=JXuoY6VRcBZGe=P&eqvX3;1=SjXOND?&3t1sHeN`u(< ze8fMX@JO-kHS||!VisZ00;V@emroGI{gx7ebHNy8q{q9D1U}jPl&oD0J`xgX`KCbs z<>G2Jt*Nz2JPR>t%al+4sHkXBX5MNDet;domRRn>Xp zE&;ny>OTNR$;ygaPt^ zobx?y_7Qet4o;OBAZR zF?INOgPOVr9le9QCA)wQ2G0qrnP+xNE%$9t%bPfSBez3_fEBSD`GyQxy;1hxp;2|r zmh>6-<$Aj)Kc5*HmnV3>FU1>nzU0ILD=tiXefBOYZ3}Y&ob!FT&3>LVceVzWI0RA_ zdW27+8>NEp^!7$Y9#xLum8kbQao;Lsm~TzvPcI$#MS$sj5j<=-oSpQR98jR!vK~WJ zoXGFU1*jX#;0L)6mTF4>hJWv>41sNmyvdrrr<+r=y( zhaGj^zYiJE?Qna(WU?b})ZhE6up%U0=5GUwfb(IY<7ncGXV%yBO)T1SCQM>tgJR4{ zy*=?=%tqolMNOANf1ee7cZ)M4_T87t7p=%k?^Wh)0fW4qz>6%8%(N6{R@ci|olu8+ zF$OwzQxdt)8B$R=I=@RdM_3zeF266;{pc7uqW<=-_IXC*wZsX1Qy0?D`yG4O zGv&F+T(P02=Zro=WK#%r3&SpetGBW6!^dLXa`{}NBqja-&i`Ox^t2(OYy}ZTv!w3|w6#R>!ES0gQp`!jJaZ3|%D)tv@dm+b81>{PN?)idI z>m!W~dr=|%gMlUTssCQaRoO0(KU?ii+`WAnU_glr}~|Rvnu_IPYS$ngJHWL z=@Pech1}z{_{B>qO_B+^z&IOlsHZv zqH(jx{Pq<84!yjX4J}bG@=MO08_sPjd|=Dd-B~|_C#m_%$LfBIx3l-phf1J(Wusym9L+l!r^;zJbD;j zahX?_PLf~*_AXh04J8Zo>N(JA*!?655N5IJk0{-aHCnkY+ZTS=qPVn8hKcStsod~T z*Xbv2Kj(PStL~o!Xg3K_`Acs~kGyw4BW*;Z{!LS@= zn_jYu6`Ly2?Kw_dH!4!VCv7_INO`99y);D$HcxJ4<+sIwv+NsJNg_M?#`@k04EAuA^{b?XM!B54`)|elO*Baif2F;H5Y1R38`>Wk*8zXv1iJx7TD}FA>Po zN6t32)kGD!Z!%6Qy2=_(9ksLOj*OsvO`Fl{W%pqz0PP&Zg@q%gwN0cyXxTIU17ZJ~ z)u_pJpJOu=G+Kb45<=aj)+0HQ#6ga^jgrWQnU&;We#hZMm=%9@g0KVOFG6Jf=h z)3kf~j;_HasI1YEj(-eF#<>X=74B9#HOcu@nV1utbK`TadAsGrM9cZz)H@lOx-UAf zz3diKJa+ro@>_L0@`|qe=6Fgt3uIaDFA#f&>f3P8)i)ylP~ujO!|kx36vu04R_;Dm zWwdUV^IqZw&gz}98?P)?E+l3hUc0D4Kh|l`yr!Sat8>ZaT(Uv^t?w*8&AN|?y`gE`zf>df-@r~cMLXJ`#v;iy@v3S)L+9q!``G zXMZ-K(8h_OInIe9(}W9jnJ%E$^2N?oU{12Mm-w8rn)Qwy2p>g4iS|UHzL#4JIw2wZ zXHAA%-d3>C5%XNE(Q{Z|+SwmO>8U#xAIgk1A&ML9GbrYU7-@(y=6{O`UtXSjC_}Kh zSE(Uc)FJ$ z$;R|_<1}YDQ&UFC;L#d9tS57Qx+IYT+^^AA=00ifj4}y_&!V}6+igu>y*3h6gv<*4MF|@OXG4jKDyyTCS*< z0s~GHZA*K|?a?FBkZT+>7TPS_3_|bK{|B>zRnsXXpVBY(MrN%?regxM_&B6p0OV5N zPyOc1inw6V4JVRaS8Pt18R3Y9O9iJ=9`L{+(Is(_`U~c04`Z`+~3M{G0poU;1}X0_ ztg;s%6XZ$g9>0%H?IzU2Tm9qEAQ&3@R9`67Y*-xA-D%! z?Gws%od-~TH~fTJ%f)C1JcZXUHKpD^W4F}Y(Xj?lM4?zPjw#58Dguhy;rrI zBi59(g*}Y;VrRZ>F%{&G)(OLBGzP#da+n|^K9bm~il}@RQb7J0GN@7EvDtpOP={xf zP!EnsUOIVs2Jdv?`kTCR8|P`MGnG3{?Vprp5&{w`RNF*UoE!z7hwC$xxHB;u@a8L? zzuc_!X`pn zSIk~*(0Qx&W}%(-80Q(QS?qB2b0p3En`44vH0;IeG^y_wdPZj5#rA_WhExCJCzjVG zA515Krj!aX!VjnJL{1xNIu6)Fx!9A5rpLRPOiJe^mKO69^NW!LUD2u)1F!VNtP44IxvM#+?N(EGaUcD^D6RSJ(Lsz@}#Np=|kG4^`d#h ziIWXk22EGbJ+5|*zZwVpIGuVYrUoBUs0fTSG(F0%naQuDq2?fu?XDb!HexyM@Gw&{%1@lfjNc+7H`@Gne!#x3X8S~rDhk8O&$IyW9uFX_TG4zJ#Ig#t*w2Y zQZ~Lpo5S+_JprpRA8VllH(2h_6k~)u2{*3o>Wk5MXj4+YLb@_54xg6nMmsJhBRQ|4 z&I3MHGJHF+Xn3J#+@n^b$GeuQKPwath(aVWx(YqU>P&PWUu|fiNV*^QNq(a=0P5v- zSB+e=si*wl%uQaOCPp6?@;;PQfD4BxuCtxk9C1sBy*H=h^4}&Tg+Xb^#>^a5t-7pJ zD%8;QP}i-Oy?<_@LWyJ%+o_YUp|4{ba`7g|>v}I zX1p+W^Lo3DAP~cfwM4*=utY9m{p*P{cQ(+8KzWHQ$+AD23GBp;1E9IW{>ZZIB2c+f zS^OQcB>Jc)$31gk`EDb$*5KQw{*W-ai1c)OSK@n3GS!AL3pd`16g9!2VcW?sg;Iv& zD{W}|35W56BmD(biDK8D1+cL~T_qXV)QV2Dukgd~+(HsQ?l=1dg zM%cwL4GiS0TqPlLD|T_>M=ya#2os^+wQZmqc5khE9JwXrX&eFlI#jJ(occJxdEqd> z98kgJmVe*nC>;bCssR5531>!KQv&p&8Y(%7&tB;PM5oIbq}mf1ezT;tlqj@#J3)6f zILH*sNz`($cA>O#pu_qiC}Q@#7iF}foKwgDTmHXR@%?W_lW79lUg+iT4KJp z7K|L9)=+q88bfc&P5KVH^{kR_p9)k;IL?6=y?Kjo3bh(jc%Ev?lUyUyZcX;kn^%kxGD$;q!l}~gQ z7$&j~uKN5lH}G}eNi(3n%?5}8Ho=u|d|&c@{TS&zarHUCXz`}T3Y9TP6oVHn;@r%QEy43%!3nX)}!|GY!zw1+U-7LZL4q83ly+0yq< z_1UVXt#^qgwmg@5cgb-f`jle4>k&W3_2#FmIU|;k4H!H;8Xpa#cg5V+R5DE)MV)w4iI?}>DC>x$+hrpOj}<9H5P|HF1hcO%V@vcs>ESAemn>dbVl#g!jRW0&wOCx*rA`Mt%ARG;^e zR7@P3eg<}>j-GTraw~6kaP$Lu zkJ`@UDwV3pR8~=vQrsp3?vZlm3@tx97Njjw3?5!dEO=6TR=ZqNy*#eZBH%jmiY`yA0*9KkO+S9@=yNO3D=9wf=IL2K&Z%W&t8}elCx2(( z`Y_9~l)uA8eHAb@i<}3}GMcO5B_|m9W9Qk@A0PvoA+r(2-*&ul?486<7VjPXf_Od% zo(2_#`m3I_Hz*wHpa1j-`>M?1#W00q=$&~Niu#w2RzH_{uVPz}3Nowv_uK-^NvkLg z#h9SBgMr>(P$pW(?=~OrfrEL{fp*?D3vocIMOyG65_&(%z99j3ZzRE`>vYuOe_uQj zaQHId^UnY|3tstq^nE)<*F9;C*g|hnDj{t-;UU*dPpcmXE4qcP6A)WhO<-dUKb6l-=xzqFDEa*NM zogw(99b$3xr$PDu8{d&w$IzHn5uSSLM>#U%AfK4^M%N&dYO35yK>7G)P`fqx%&C>QG z%c`!fpECN3Q~B9 zM;?WeH0{*jsEm3{(XV;udmj$fOcO|RbeCq!e)PZLN)g-qfRr#`9JzMHCwvBm$k8wn z`t-xqarzG|kbapkkt>pXaHZ2!=K@MDKLP)$dfx@yhz~*wr$_!NC1UngmKVw>I!)&= zX(cgX)E_%Fg_anivVHPp2{R>1FUk5mBs@4 z%#axyfG!gyBJQ4-w;;VVe!vOM!mQBbe|omGkwPOp`BnaK$+KJ)n%DkX#FbOvMO<^m zLn~wsd;^S&M*0(DX!;#|eFvdYA@T9oVSPon55w^?ax9l6j>*!qZwH6R93)>w@X$|g zsOtA}JK;56+H9YlZfYjNooQ;odkBF#jfNJG_y&|w9FkOtH2vv4-FJpkZ2nN2Q+M`O zdiGyxuc(Sg|Kg3=G7BWH2es>HX1*-BKHS5O{vqs>?;dBtjqjOxK@sa;-s_{_N7sDJ z*)VCnefQkAv%eUtX1IGZE?gSf;v$;3T#3mZIw$njDtNu?*dRbeuQ5PXWP>|7F+H{> zP3|r}*YD3;dOaCeYgFngO`OH6i5-^^#r?FQvbg;jJ1bu|6`3!^M-l_KmC&WJjeOyI zAKq2F^$n7)lJ0Gz48{Y~E-qBOeo*)yNyWy$P|lCK@=7M5Bt=*J#p>U-eD>WbV=G%n zC~;+`CcbzbDV6pW8{caWYvy;+h|qLc`$kV6V>fkLk{~}AK$o0zDs&lIf{OTJeUj5QZ}wE>^YgL6#IAD zu)OY_IQ+GoCnRFUMXzRiNd|t&JF`UL`3FikouZ7j`LY!ThFhoBc72_7dfrYWc|O~8 zT63+%TSU_5Y8EN`Gr+U>JLqTG&(v!Px6?H}70*^Z~b9S27(uPa~*l|w$eWaZZ0w2&QvZS_$YGPff zO#2Tiygjm9rHtG}FU=)@+3aGxXn-;wRb96DG1c^Rdm%xH>ob9ZltGRIn&S(SxZ?sB zcaSGG)8+R*w%^I`+?%d^;c@xYX)?>C4;zSOwr&GukT1NWzJsWh=4bNUNcIL66>Xqox^ViK;SL7xeoX$n^xnu)8^00lQ{A?`Q~s z98B|Ff;9xHmpBnCi1Z~@9WtQ#+w}73KFytXHjMH%aCG2BuxIkkDF_Nm zMxdD`H1YBVGjN-v5IVpll7vVY2HT;P>YD-fCd}0Shm~^~B|)Ib+B8@*y?5;9uGgkk z(%zS?2Y#hKZih?2dSeK*;F=d((O>*^%pLlsbpC#${(6H&6@xCfSws^N`V5#RS0439 zuPlv5ZN}7PV^yS<-ENsb3eC^^OLrDbWw+(b=Ga?kh~M(B|0sMsJAu~LyFHJdzl<6O z~q7Z!fN73WL~!AwjO!d)v(mCw|pSK>c2WGqamNVHge6kf(o9!~q0x zvU&uWvM;-GPpv)W0%f1`r^@WYC)b~##HhzA`G*cp2??;zhcaSgri~4O*t6NSp5{)( za5iEWpwa{K*I`JZt`pWi>do3;`cUqvuRSYCd5LT&zD|R&RTk5e&TqgYrX5z9b3a1dp{bytt+xCg zk=$Va(&BYU}pf$!K`mm>)DQxQlk zdDd?1xO*m&p}%MZPe{cyIuz7wvkBVEwf{Tl{ru%qV>4u06!&qa@R!JrHRhDTk0(jl zn`G8J%=YC+O65uND*O7v&ZyvaeY) z=!%>}+ZOY-U(;i?F#gKA6+hj=pi;YKV&gDzI(sd02H`OqZkM~db3J%MQV~2@G4$TP zaFi#kwbxFBE|WHLcd@HPyKw}=ViEKPHtf%3yx)%u_)47>eJ#8yG`KOW+<&N+DB@S} z{iE9R!k22T&0tt;<93`2@T(b*g)2G#&cbt#uMa5g(c{JL z=#&=`#)|8bQm;Tw#Oyz1Y>#yoII2DttF%5GR%%7RA9d;TT}2NCR>3m6^g<38uf1wz z*?gLbgRPwstyk1ApWlwufl#~pEzMR_vn|Ih&TZezrwe7*JuMu>(b2GB`LYg8K>&1u zwl*pr#Cts>-+tQ^AmtUzbYow=IwlEcioo*{==osR2mHk2=FMvG!%3Yeh)GO8Ay^aD zK+xA+v=B@M6mr^3F4x-KPdA=D^R4b`3;I1(!T3+Wno_Oy@a6%%o`egmb|&1-1|Im_1j&1S zUS$s&Vof4&zryS5bvxktipu@hfOi@4Z92;R!rl!DfO*Y`4|<{3h=@qJJeiRJZkam+ z=R7BBI`eH!E1=?#JodqjQ27%Xj-PKOrp`)skUeIH_)t>0x+z`)6Q@p82P!OST$y8r zi;y{3rOdythDRTV+MGd|Ls7w!Zp*Jp6=lj$5pWUZ3G&D-<{a6svkaw&bceg%Si1VMeyi@_ZUPG~ zY)R;@U_o3h5ZdSkp&zYbA>t%#l&$)H0Cj{qL=u3>`QB@Qmc@Du)PXh&+MrY|?_t|h zWC+ruIu)Ql*_nQvuRdC z&CaCMu#QTE2Bcrw#jBr1>MB={<24UKX_j6IsRSt2)5AzvN2^`7z~6gFc0l_%QK|+g zq%4Hk2wnv~q|{v${&=?(mkUU{?YL43hlUtnAO3YWE*hRG#g29h4A!5d<8P(-`zc~m zj#>{$Ql#ljB+rH^70Ju1_r=7Wfn(CKERm7KeK4AVTn=4Ve0cVNT#Qs3u7t@ZFjrPV zN*tAR5kns3W2Hmm=A4?8bkc|G;hZRX9rg$C#%%e^e*rK*M_=u+_mlo14W)?G*Cr{c zb=sqE+H@VNKZRVh#=6Z=&-;BW2jnGfj;zoQ~GB4ivdr0`2{KZzGb#Z zSEf66uHSP!;}`gH&%lsps7IFaDXZGScJtlV{OWISD&!6SH8R0dU7Z@0ijg8MC$92A z3kr0O0&2UdI@%AP>vl9@pK~Q$TG!llB04uZGW#5LBm{u%9O}d zkYz|%U2#M5#FU4(x&N)lbS9tm=BEFp%UA|p_rC{9*9xp{wM9if9{z#;F^+mYtqgpX z8#WRFTf;ADZ*Q?F({W#ioGJBxZI8cI7|t#^87KZ>>ujNI!c!Qg3hr47o>$O5bH~K) zqI}R;31e(|X#9W7;S@B;%l^vOb;=f^eabTIxilFq9_d+56 znFWNrpHOLFzhT&I`i&Ra_oE6v$#*iWn#!tav|WbxB_hCU%q-NHls>LWp>x3@8ey>s(O6MCn?xTH}=9iIjrCFJJ z#-^5kBe`|I7)U;#uzr0Ct?g%a*i$Ns>|PR%17mMj0|${@u}#Y%C6wXX1JVpvNv1U> z8>!QdXmN2d_bUf8hd@$)dlhw_PWB?Z7#p#hOK)Uyw)s`V{fmF0gP{XZWY5bK1jW5_ ziyGc~&DIy$5W_cmG`cV$vw?^Uq4|Cjis6+Nb>>i6q<`g_%|nd#+kXR%qk6eyHn2*V z&G>V}>qni$^ zsGUa}D8FNf99om{-$&3#tb^~&ACMHg9|5pOxMk8J8CjKlM`}+QY%Y)2HMT``W#GG9 zPq3x1CDj{127^SC?T@pk=_Pxd<$}O@bG04sZ+H7m??}bxq+V!LhIHzu7qU*+mZTva zpO|v$iIAjxT*(?V(#lo*<{#{1;zKNg!cVYU%zW(}?yMHyWv5`Fwxs6;hWnKke+(d> zJX?sz&$P%2Uza-bp0Y3={)1CD6}9;?0TIkjVUg9*pR8g{`}NQ;<#D&_|G3vX>Z~>? zXDkG2U20yami+qGP{PwfrQA77+jmjMNwl(jDJJ)e=`~uE&UWUPyHaaO@;;N|bSpo% z;s+TSj0|dyUsq8@2B(HTF!j=lBIGM-(V2)m(-HN&{q49}*KX6YC+*J|&F6QG3(6U# zDE&G9v-%oIC;Cs?`D+_v_xbyt?Bn%mQ*ueGG#?x2Zhm84VN>!xcBeJ?!e*me*Islz zD(h~a^s<+(FsE#cqC!d}4SDF*V7txM{mBN^XU$lWu|PQb_PKa(JNwW{_zA;bliGK2 zdxX4@Z^(}H%v*^&D^1WgNm*fv?q?md$U%xv#CN3O7#%T4?@LbTNU7u2?cDRYO(_#e z<%YkH{*R*b4utyu<9MOWXpn>yiO48f8AmEbQ3;t>*<|lHpAfP~M&^a+Yi}~o2q8Or zoRz)raBh6wzx(}t|9V#czC`AV&;$I#qdXuNj@c0l&#d_PVNb*9BfuRu4yAhTC;+!4bEr77O7 zZBnK~J(<}5k=NihWuz=j6f^aRNULJ}wvV=4-xG33XMm*Of9y`$)i-A%Asjjncw-_g zq}1e>ssm^o$v@)F-}$kx`jqevR9;bTAjn;cdwbPx@XqTT=rc&Tz)W8Gk}I}#u+b@# z;r@c>Yt+=2+Mt{?mtpUlrc91G7J~R+fPMEQZduS?y~6E_%xKz^aG6kNCTc1n$D23;UI%3 zI4&tt!71(QDN|1tze@3^;*K7ls4!xI^W0oI=dXdL}fp?WwTW6?88iTwveKL)DY%J+n?SZegeeyGlwlbwu@y?Zta#nvC2Ga|#Dp?aw`E z0`@p1>CC7!Wx%Q2Y>CZ@>hg0+y0URwnZ7<^Aji<&sA?8n3{8nYvlLwTTVHv75WJ$E zC2xs-)Oj#&))w(54WSD4?Q`pn50T0N>s|e6m2-o1qtd+1NfOtr zZw`a+-(OD3EHLaPyo^ieqa~Sy29`r3|I`lI@J|}P!fe~_lSNjwdQ3x%z^~Jjgch}@ zc#ijvgVFCX0>52)M>@Hk+kZ~>#)3hG#TAA>=hAbyT99UZeg>jmX?GP_A?bIa5EvWnk( zZA*0ZHznX0DTgZ$FuvBgJ8yE7?TEACoj$VST}E7chy70-jR*MFT*0a=n5XL9i>X-D zP3*TaNi5BBX6&tMt{V+%_Cbv?YnsF9`2tk% z9hukisAc=-ao1evJJ3%J=*|B7wEsuTQl@TUXiGaxhEfnhKH_5-&%lCJ~)0J54C8|TB_XT-c!C(hpY{|FTq8d*2N%aD)Fi(^p^qE zJgfq?O~NswuJJP~8-?-3lrKp4mBM7DdhIf^p{Tqf7G>o{if1ks-@YhfKM5;aZ#+{N z*3Bqz+s5#6sp@e<9xkF%!-R?lo0BVMMwG3bC9`ivWjAm=MK|mV>fim>^ZD=e8FsbN z5`$!JBA#w5A@^nKdct|QBTX{imZwrUx)O4^kkwHZ9*33t8a&PFt3npIQyI@;6>^i{ zS*kDK-i&Q*nr2a0;O23oT^TVl-nUjtY(a6?JxATdI12q`sjq z&vd`NI`G*LMO8-8UiC|O(AO0556;!YP1RN0?ADHQZ((P}jzL%6r7heap4*yNUlG_I z(I)Wk3d_IvU_M(@!H|$p+vrzyX{2lBpr-t1musP5!+z%@kFMKNd+0Xk>r6|IZgnHC zgU6p!L~8TX55);v)BYTPIm*VWyT*#@<$u3)l7O_+d3%SWvkOWN85TSS36ST7OSMub z40IoI?PZufk+C4kBvaRNd;9CzKLln`~&O_wPP`tSZ|i{)X%)*sJQ ze%+zEIJR0#GA_&kQJsXB;Aks#+{h4=I}r2iAQ%ohUe~WZavlA?!&g4&IX0H~k^RG) z1C71NpTzNv5O4*2!prH~9(p_M=R^CBJqT{XwX&e&NUJj*F)PzZdhP3=Rzdk2{{4ie%rV(5!y!%!yab?d|t2n&Rvz*M~(zcBNmZAFH9!ySCP@OW|*L>q6GQzVWd%e9ss>=xuk#a)CbLv5ldO4+Gll;;bW z%Ry3g>hVV2E$en41?C$|o^fj#}8xr1;JBKzuux0P-nw8^%HO^IDMDC~Y9 zPcERUi!qN?!uVdEyeymfu+3QzJK$~@dYh@vUMOf1$d)5>L9~^_Cg4%HL}8nZDYOI} zzb4_$Oh*zG@`NWG`vV@bUFFjTY%5guh;k4Gxij3&phdYeO^KF+w&N$34GYL7!()y| zamfCOj#<5JN(*H7EYB(}f0{B>UiufM_I30O(q zHpYiR$4JsTVg;tGV@Wx>T}0|Wur0c3l#k!bRzwtF85&+^CW^s9rJRnJ_6 znX%6h=NWnjtEcvm8M)ui#UjL}I%C6K!O2hpPhDL6;=?scsXUVtFQ9yHjRV44D21=J zd59~jotRIvo&!4|ZUBjW0OG4d4q5U~yD)!W|Lt6yFU6)EtU;`d4NzP4`QX01ew+09 z&zY}j3A8+(PZ&LH+s>Xkxc*xbeSKd&as60)E0*2ZrM=~Qzw<*u+(cb#Y}WA6jEC)? z#W#og8!H2Br*GqF7e6VB_fUB#!`wE}@;LWo#`F&fk^Ng?m=!Lor#;C~A zW>~cJo^9V7+ZSE2pA5Q61(*?Q=PsEXUD@iXp`Eu6d3KjMBpET_pgi7(hh6x&C(;Lc_Z)z740r3`CAw|(v%-XITQ!yqfNRqMKe;d?;hw91v)COGLj-MrA;;)#)TPBi`omxa+l#dq zUc|OF-l3rq!RcW}x7g1f1i*?8&P``XY1i@9!ZjJ~YZt{_7!FaF%s!_EuR`S*{$nfh zDXw?+qIF5Dj`@$DGdJ)0(%%|Gw|5!g^bJrh9Icc^w~%-?$h7_>qgc`2F8xTDXsgtX-{)%(Pf z-I6&gdk*T0XZX*pjI~2CvU>(ITy>YKH({q>Lr={8mrG89y&<92>vws)iB~}kD8z12 z9<5y2*$XF2%$`|UF*|moe5qYXv0JINei2j|aAN@?8|@?E=>2tF|5dC+2+ zwvP?csDm7d&|FevL;}^u29?2i3O=KJ%Q_)uibM%dP7+$PG4?3rZ0MU&V0V)K)djcN z2Sg!8#wM$EnuV(`3}?*eFkB<8t`vPEp6r)~1ghQu^8>7`zIWN{k21(_t{{8=7g57v zL5Tx%8uzZ?bwqbo5VkpYZ=4hrnLZ;s6C@FNkhC3qewg>kXRl}qGGqQnROiQcg;cA- zy@Z)=+z@fBzZ48|W*sJM_v!IR!&HpazRyhq8o-RKAX`uYBWA~Dl?O}&S=18S_3VjG zL7-hGbm({)(CzleY&H6V0Yo!`7(!rkVZ(4WF$g*Mw_K!_JWpt@DBBDDDYHDJC$%1; z?@6yFW`vP%k$`XFA$V){l!OQYwK;XWY?$lbj23?g`bpp1HUjpjHR;AxFG4F6VRTrY zrns90sX%%^>p7IaO2Z@q6ywTGeg-%R>b`5mRpgymr7LT?1Td(sGR>$_M>7rs5uuqm zV1-zMiaE*l(pE3a>%0|xC&*9tS2oI(i?K=?P0ttpbNJ+i`-RX*#WQpv#~quL;0hQ; z-f)cc3xzw`?EMuq4UTSoK^-R-eSTsU{m?hrqM+jCOEe{xe{Gcb6mx*I(YZm{TGtvL z>+eSM;*;165mKm?(04JyDOvAboKkaosdyu;bEb! zUDXzPS7JK5$xS0ViwS5oG3%Rf87&z7K?safA+hw%56ox~W`Cg#EqtJkT@U%MPt(}e z?POC65*Qui#Bh9zd{V(&XHXfZa=yLpyJ*mWv1Ap+c^ybgKHqLN_`1?tU9T@vrn1M! zps?1~vGCu}b%mO*%yb%sPH1;@1Wt@xmXNz+J8`kZEJShm%f+6Y(K~g3_3+0Za4}^d)|cT>O){$NveZqDp3~b2zdlOP@Sh^WDJv zO4CXdU4{TH>nBbgI=Z(?8zZVthuZ^3WR1h0pP>21!wy2tm!Y47a8lWC4=PZDuTAF8 zbOd-oG;tUU7HAfmfogonw4$0i!B#Zi+dpX{=s?a)B*L|4 zmNMrlp6{aZ1^&QH;;vkEEK!;tTFe?XG)0Hqi~;|1jly7i4W~i;+d;{ zmVd4Ee!ao!_HCNp+By$&d}_Xi*o%I82XhkA5b;K04jeZCEtu&*?4wC+{bgj%{x9Sj z*fEvMYEhuRr`)2dlZ63H-&|9;K&_By8}>rtpl2Vs-@Z_#hR=wlDCNIikJD7lU48&8<8=!oYHe22Fb;~Y zek!x1pihu0!C+_8AdDQYXh@zYQu3<+cH;nrRoxBW+wu5!*4;B_Wq$REaTp4_VA_K=tyFEFJ;tXr%-lSq$1!v`=GOHg^ZU4SdBVSBubgxr@)tnV%_SZE!^y-yUnS2k>gj5?;!w}z|>|p;lNfq$;wDjBr{oC)MilF!1PES3U{w*2 z-G;isqdCKK`#f=%i-Oa9IYr(${m%ZBN3$Tgf@*pyn6^Us`B!P3E&7D?t?7H$x}&Dm zziw^n3aUbuhAj;;6JLuBZ4@rP`MdQ;jVs#SqwLj-q^gl>=9v>nIec%Tl54`|-zW}x zg%;vvIfjPbl>LOJbWUj_>DaY*ownhans@e>Uq@ekOJUi6r1~OZxLBEMk8YA*jg2_^ z@p*=>{o3(aIw7SWZ~m0Tp)I!fRTNfTcZ$EaT4}4iI>Oo`Q{R6-cm1@#oSZIYkS=_w zQmlOTZnV?fjPOoUY%TE0Z(>%oXS@m^x$MjJtkK_v2 zgz5gFrd^9jy+$HmH(YZgpOgIibkr8>9pb>*uk>RM7-8}Ti<`Ss6R)7OOL-}u$L5oH zMMLQX_5n77?4*Qb*lGF}kEzqXYe);od6ueFbKa1MuJ3}|Z_>lGsC;V^o500iT|#tj zEf~WoR>s27louZP?@#Qm6f-R3wHDI`{zjYcqeBt9D!L+gb#4Kx=XHzsXGo6Tsy!{g zOJgJj+Pt=$#2acR?V}C~HswYx#kFDr`R4x!0i6%&%c$1CcVr3rURKs`j#mDJXx@2N z|Gx}(`4KJjij`v;fuIEX(MeRA@ve0zx6p)gAC$xM3|0PDxCYgLf9Gq*xC)s~454zR zxnQA#>vw8WZrI1_mN`DH`hRaW5{9>>(?Hac_N&z`YP$Y(O3^VNjxY5@jY6_;S~ssV z%MH@KKo7kX4~<-4nRuVNNh+4J{77D`@CQaedfZ`qIdp)4MRaW7OdLeFWxZ!{ymK7( ztUXy|c^>iV@5wNS;<{B)@zOlSDj3s@36wbu$_9Z@7t;LXhm5_Ig9_j-Ix$dk3!)nI|V*AW?ExlIm*9|nDnb?8Y083=b(=giRmP+XF)?i+}qa0`Q%$Y$PGR}TYUiBt$v2Q?C80H7~A@s?#;Ye@Z(@QuqAKS@wMU`KD*; zAyQzm9sC4sa1xv&L$RfmAnAlBvR;^gxCrXbyc^Mb(Y!XKo*++KSysS!RMZK#-57{H z8II@k;7%invlDk@31AnY1(2B=t{~^PT^}`RBpJmB^9kAXUh_pAzi5VbLFtV{zQOG9 zy~oRz_Se;hb4_9W!5T2;JljZ22j2jGaI17=H}D%yFR$w7G5UOD{QFCbY*AIYa7*I9 z*+6_1C`yg^Wlql2cuzbHK<6YgK#ZC5)rMJG`*0m&Tlw^uipr-#^;Nt)VkF@pj@?d* zIv^T_BF=#c>^blOX1)Ri!bv-k2zY>LpvFI2ie~G-BIsh{M`ZZ{md9m1f8Ys*SJf|7 zA|H_dNUv?+&ZX;ppTd*4SE1Xeo$w=rkQL#Yv9rT9`I`*2cWC@pWZ`-Yu-K`B@l^Yx zK#VKboNf8d>BI}_a`n%<7ea8^(|@{q1l#Y6by@e?5*^&n$%|wfwB5v1j24w#9U*Qv$Cu{jVqfZHMI(T9I!fZ#UyBUG@MWNolH3>F*$@8Jj2DS;Ed=KDz zUMd_*mZ+)lCPMU*aB%(|b=`^QHT%wvgtHZW&0s*H^|-=xDM`d?+1r}NqbGD^m3DD<9HO`}CWpk!k zS8sw;F!d(2Xfy_dT;U=og7vd1Cn7z&hZMDD?E8bd6Up@4zj^St;*zFSE!0WYlvIUU zX|=rOkUecD-Kdv137)uFpiY8BOOpbqE9|H^QgcPVVhFr*l~wZZu@1+%L0S0kZPk5r zz8W49%(x7g{yw%0thJTj`1vKIsjHfJ(mm&q z8x492!u$r}WXB%#V@vBo2A{mSDCUp$9IyR~oWbfkjdpGI+h5r0P_CS;;4;6X(3f4< zP~x?3EU=)UkzL0aea#Fmkk6F7kDwX~;cDJv`5JS3>#*63!you)G2&>pH0k+1mdF|Y z&*XA_?66T0SJ65<)d2OC{>Bdqw~3RRXVqD0KD%u`jR3C>56$~)fc5T2D)_IE9;q$+ z)0OQF;p65`CU}3UX2}5BgG$xQZ@VQ%nli)xUVc(09HDTpBg)@bz$L{@FWM`Pu!k7b zQ?0obKO@=DeD#0YUnn|eWD(zoisGY)*sa8nL{N^oowp1AepUF4c<)%6qjE~Bg=z_n zd@4GD$a18ZC9D>p3h}q6z}j1&>3L%n&WDPrI7Fh*rSlH#gj5n6T=2@>$K`DeERwIol6xWS)7h1gKz0d+;J?7g#EJnqk5zZRZ484L7- zZoLXr{v+A0m0=nwOCd=C(Buwj!hm881kzgwq9n}r@kOzO5y7E$ZZn|vQ1Wi;&RhwV z7)8`XWF84YczWPbbO8N5<$1Ml_9IoO#)Wp*{ZHh^nV0%8eaBh2+T!*1gSM2KhaoHV zMtQnDPcRQ55Btcq{iA*^(8ESufu{4Bo~-NCtfUPT8Fv4BxEJhY=BCQSo)*bQ=0n>{ zcs)pf$Td&FF%U$JqSHqrv)JjFRTcZ0hZtkmkD1IfN~3zMM#Qt!^Y}3;bE+9CHj*?SopP9uD~LsCIao2zmC7*{<>l&YR`@R=#M; zzI13hbffA|*5aQTHIQCa4mz;YQd=0ypElooV)kw~Jw&{evuNnWvEk))+~|hK$o2B6 z6*5u<)sv`DWzW`bNqqQgoDAPbVC`X`hL+Cy!RB0}bUp+z`I?7k8PR&}k{PSGy#Q|d zk>>7sESOv_6P{gs$_tJt>Tj7#9Gf0i|3F&_apNbr8-D~E*PdQ3oDtvR?x7EC6bJ3= z!B)A>H@vo~AnQXA7+zvL>ySElS_o&FNXGHmy*KZ!LfHQsaJ43orx)(>9 zo>up;f44IFF1zk&!{Yz_9clIPuV9uJuNte$6pN^$ zxzI|-^}8EZB4PDGOY+trZH4Y-e^lB(nU}`{9-5t@AkOd|WkZeeOd=$f(P2F34d%hn zjPc&9t!{~Ji9R90V(-LK!??@gbckh&BhG*D<(GpB^lG%a{sZ_~dN#Y)m1Ya*n*^CY zIbVZc|H^p8KUj=sW)gl!ag^a1pqw2KPw=R6Mw?`e>`ACwW@rYV4mxCNOS#i+o&UZQuj3LAODHwRpAMFTlk6WycX z%v%{>1)z75Q}A0*bBHDt_^ix@h#ocWc(*~hWUGFLENE_gh+;RoOew=Xxx;i^@q&X5 zHQ!ILg3k7ncB6VHd;=gi=QZqY7-@L<$0x)to8GngD)HWr+jlIHOThFb)RoyU$1buX zo1os*$JDek5V~41GRm#UIm+oej-5ts@{F?i#UL(#fowrR%oj+dD|RSJ9%SYl0Tuj9 zpN{wI3uHFfj69{h;TQ|Z4DZ_DFO>Wxdi|gAv$xA#S&S8s!8L4tG4&nO+ zAZAK|Zf$240h_&k6GdB z`Z?N#3-|xCJgEuvV>Iw(;W>~ZUHvV{K+0!Z>&3WDFz?Qt1ISl@$e_$B1Qz5yn-={x zC&^EH!xip2Tp$cTU)1Bm-iM!^q& z=o)}(HnsNzeE;r34xd6^ZJ4s4gKtOO@@|AIjpN9(4+kiLijgkSKQ!hLa~1<^H9`O_2RT}wCL z)A0g^epbUJWy`WeYW4&o9W|L-P^i9x+NmsSk8}~K89N?JQ^~U|!PYVp$BI&~H=A#` z-jckjpu0Kuvh+J!QJk~hb-G86x64n5bA6&C{hhsdlJd`>DjqdG_BQQm-K!@du3w*e zc=+4DYb<_Mrio$v{;OtQuSn6ISixDIj9<}xx4ap|o6CXtf@%z7)UaFOqR~vonuqhY zOlULL-oB-;seX_~kEjTy6|IuS1>%mdMYfuKgEbV@TBFGG-dcHiajIQ>96|D)Khodq z$Mg6Fa(iF>(0X~`A{%9(+flA>!Tt6dqb+H*5-$q{8?EAq>qTG#^~mM|irsSc!d;Fg}|S2P{Ql4;H#LVYoU|kB4X7C;^`l9-S0f`AN~DZT zM#fxnQb9(I`NaT{pykG42EW&(&iD4P9{cH=+a4~eqT}-_W8CnW4eq;Jm2vErL$taU z<2R&fZp%(J=3UKCY%BaFq^P#HzkFCYsEiJLV~{hn8GeRhRmSz~K)mKAodET`e=U#a zv-SrZ3aXKyz5g54Y#J@FDev+4sKD_+aAJ-gN($Aq@RG#KjwCpy3}^Ot)&HY3O4y03 z>&DCJivfaX3tD#nWf!-5WY;^2!@S%-CNG+pD#0>&a0NH|D(}DM?<)saJ>>=4W3Si0 zPQs%@4#R4R+Jy!+`Gc%gLk;CRIZ@elb?uNF(AWv4J$Jm2EagC-Hr}G;jyCFuqDb6K z+%iZU&^N-9x-^hPrTia8zUHrJsD((v<3UV=UuiLpQPnJsu|f1G+r(m_I+d>Ne&YV1 zP#`(GCv;Wet)|qfI9eSj;@xL`J$HASO}LNyP2})mW12f(Gm76Q!ByW-3iErZ^LCCw#dYOe!CDmjV?Cave{j`x{`i{hw0I-@fy;{S;h-_%0t6Gx(mIw8s`jjgtd5!b$_r z=eIs=fRCWx^mEE9(Q^I6(+KbPOA+S!Zn6in1~->5ZX9?hJ+Z~Lhl`A!6QK8V9#VBTOgH-7+r`o9MvKmAwXcr*fxyeD}!1 zLCn1K{8#%$qH(N!95jGFMBtThUK4OVKKmT6)0a;Q%J&8urU3q|EUaY}(?mRude=-1 zb9@fI2=vE3zZ)^5l!F$8oxw0TqTaWQ2wcB|%PD+0J9i3j1lpQSHmZw2LU&RE@3@WJ zvtF%#soN{dOhP^}9E5SCPTyhO9xE`9al?vK4P4afkueHSeQo7fvzfNZ}IN}j7@T-K8~srpSSGJF>@uhgIfL5EiKn1BMK z<3fd;_6b=?S1Q8$B>Ce%Yoe@}hKwW)>%?|fbV*9unf zo#|he1tq`bh~+yxqul#XyzQR$;C1<@!Ko}HRt=Hi9RKYW%i^$o{9Vz8g@m+Um(I*tQkKIEa!?0XFIxvmX-OqLh+@-s zzWRuP24|)aqRA=JNyxWTw9hE;sJ9Jm(EQt0aVM~}d#*x9KCAzId*rv#xRIe!*?#q( zH`}VJfUsMkv^i^?^fkNsqkgfhv*hi!?XF*sKZ&OZ{1ULCQ|f;;p~s%d25P?cq&nYL*nx8_Il0l+&eI*rvrM<>f`5%rWW+8z2Bh*t>`Z+isQx;lZv5HvTve5 zZ+iL5DPLwo&Ys3A`qq(@FbcRZg!XN}&3L5c?jshr4;NBR=;$E!_FfIKS}B3Y&ifuJhY- zK{^aOsPMT~i1|*g*Ema56n3}L8{iK=>>iC)(^AVtg@VKk`l?^hTW=5c1Cc%9cAIt}ANVJ+ca)9Mg8<`j zn&_Hn%YnLom&aN+LOA^ID|ED|W$lcP=r9Kw;y2dSN-t!{9`PMBq5A9pHOO(SD%2-? z=$ZEHlV6?+dWI$b*x}nBtN0ZlE=C?xChVN2RyR}(;5yy}ck3=^LB!yxci}7SUl`rM z&+8qCk?7525tAp%X&k$MT%VQs$s-LA_=0Cha$!OS1NI_Hxs65e5Hk)*b{G`a!>Hxs zOppwA-!EYqyyEwuZPYjonu-`#1+^Hqt>th1#4>|Vf~2h(J&%NKBvm^I(P75b4%Ls) zR+&lmHFJf$lVAy^5)f^Cb26jSThIiy?2NX1=u*j4WTN?KVsXcJ?!6rEAywwps@ZUR<6-*2Q-+*Y=(LGm&=> zkJyGv-az~I6BlC1BgzJ#Fb`;xNDo1dldMnG5g!R{jUT{NlO+nVM9kWhc7I00IuOr% z+A`+Y4w}Sn*I35BgYv^8>Rxn-+Z;dIgq{@f?nY-Qkn`-xXi0k;V1RIWf!`T=3lGEB zD^Fi+F1b+igHrO}Ckmf^YNXbKWl#-mfn$OOx=dVQGjcVXdq02-mY3aIF}|l4zY>2N3UCdJu01I`RU^^Qc*PKjRK?JIncIJ zD}WjzNtj+HOI!)R-=2@h+&vpBp-GPRnb*4Od}|ona+>`5S+?LN(ucSOxJFP3)!-a9 zLGO$H-{J zeA@L8({0tZIa1`^bFF+%LUuaHIBF~Eq9G<-u9sK9>E0IG6k;EuEj`c8liu@<4{Na$ z_{Dy2kU4yb;|xIHV{coK=wSiCO|)9szc_OLq2zXD8G| zCK1NivOv*Z=Yi~tleYXtJH5XvIA2L5q$C>nG!U}kHot1liQFA@q{i@J-SVT)F!2*i z&akO{={|(aa%8=$>HG{~*w2ZW+L>Qjm%@;!wjB~uPiX^5wt}2hLR%!_x_|0lo@5Aq z7}ol7$Jt6pmNjlfx0_|F!meo3#=>3(uc0Lvb@J^k^+?f2j5lAEbY~x%b$93R>;7ce z82UqFSrW>;-#0LJWjxT7CC-YHA@TXnDpywb54FpdcuhXaTyorF?Mtk}sZ}s!a~T)uRmW#e)cu+_S6y3|^cfTK>H0m?;a&f2MWysG zB|<2IC1cpUw(Q3T{TPU$%jP;~%~*+sQWS4U;@IP=pvk<2_bxo`2^uo|1zUGvhY_lTPcgeqQKOudY)4V7O^!9EpQ_LxNJJ>^-P+v=ySP)olA!NZz1CJQw=GDP zIuYz@_dUitZBl*gzgN<5FG%qmN^?3zSqO_Z$SepOpQO7LpYq$Zxh74z(DQ9$D|Aaa zh3);una|1BAO?{&*2k9h&y*{k7igY56=|q;BX2~&H6*#`Cb=M>xq2*7st$Xgt@uT|{W0A@d$Vl}OTFxM#w(5}!6;2i?BQ#UWl;CJc> zYy_)WHV!C~tgof%lOgQMt`v_;LX1V-nKh|f*&ym9DR%{=jFtRS7t}dy$K=l#znxux zG%~pHW2@#=;`qvY*^#sqdCeQgqjH}T)4V$o+W5s&VsJ>4A=hm`9m62w2 zA9WJS>6JlXn-U{)fyiu+Ilg*-`tYW>ERmtDjEgWcIb59|iiC7aeZZcB0c>7~rW`dL zxkP^qh2-UveTr31_C3;lmah}EJXurcduxzyBti|05qC(+JNt;F@2rW;O9wgz_Qw+U zS}`J8jh=Df0*FI7?qjX|8z*+Z>%Fvkl4Rcl>H0|5-8rnWy}mC3%#QV8BaYb)s34ZB zPP68?{veW5Kc=SHdjy3Caa1^$LKjMt>QNLt#>haND>Mf;T_5dU{2&Ol9wlUrv0bb@ zRSt?Su@DV02hgcXb~#l<2V4$ElTU&?R6X-0pa!TD|9`iIesk?17xNDo;T5$BZKqJg74`RPZr)R+@(BwJvmJdg ze}E6G+z8?y(BZaEPu`Ruf$15Q?6?5(i&Niy1EVZnN&lq>+4s{OQbSltCE<}*czeDs z^9=*5i>t?fv!?#h=wCSw1<`i{=x5Y*7i>jkyw2VG57|$QXZBR=Rv%INkn3hez2gJ} zTT-nowTX{_Jp%G&UzmqznQc2fI-rcS7l9BI&c3IaZ$qK=6fsSVd^JhoJ}uk*{2#Cw z;;;aqi{dFkm}ILSAVH4) z+LRlYlsr@ZA7#TM>6NbLA$hjP)v9KgFSW@J;lG@m?Fui4&_wNRrQr{_hL04EJ;vBF zsnvXS)DB5hrO}Hu93AO0dK5&I)Wkx|lCSJrBP4z1Hjr9GCS&;7FcPZ@99=2aTjp9_ zFK%H9^S>~#Cq^QZmN}@p!k9k~2gkd&)T}WLG5#Ql6e$aK^ zYC`y@=6xxb(nY`csBoIRlZ1?%iY_vq=`s!{0pV`0|`oA0wtK*!4xHGY^H*YG^A{S^C7(e;96- z0k;Rwxm8#EERp zWe`c7vi*7;tu{Y*MqqTLa}#0=e>+19iXT%qLqa;*I6l{e*2jJUr-zMWP|Fcd4iSb& zmzE@U-gRBlcDkabZ`Q^jLr1RK&KXd49k6j0fIBH|dqKm>T(vF5XU~@vc~TpJf*)w_ z@uVm$!g+#c6+IH4hlhkCyc{IIUiO7(k;;F#7yyx1m)I+Ey+>v07vjd7#3Q$nSY6aH zE_3H&pjEC5oRbd{8^_=1;M>w`0vxuTrZ@9_U7n9{_}!+$;~I6-iz!E7nY%%pfbQbo z4HhGB>0G0?%xrx2aAJjrD?#Q=Zl#wzf|+YS7`jRCzPqDgE%IPcVU+dx+Y%*Zl?tnI z4BJvPfluru$NCEF6>Wf#V?FWsre?ZT8F)$a-d$MXcve^G%T@k;7F3&5V$$x9G})@? z@U^_ixG}yydv~?R`ytW}@+ISLx>^=SvZALh^8N~eixORS^No6E|H}IxVZ|q!FG{~Mv#3Sv(WAWupIyuxkP3K3BD#!QD`qaOd>_0mrwAhBXk!zq0$(~h! zsGBR1caw~Er3DG7$?XqSv>-!gsr#(_&zUlTDT2BwBPcX*JvXS~Ic6lq_XXmqwUXEFZr(P7j5M$gQ zbCsBHbKFOMSWb&Bu{QMWIFxWg2b0HwE+2*{N0ZgJxq$C`dcKbZiPxcjS3CJ=2gR;j zCDXnP=pBU`ZIXjN*Od%L+rC<^kvKKdVnaftedMQfhp`^YuC(Qbb58tdu5cO%VZJXt zU$Y9z>GGNqDV<EhW zmd_hrD_g;wgVkkj{|So(n^vhKG-Uo8?}emCmJEy(t@?p!pY8et z1TmreGSBuo*xgxPhy)&m>*8dEOwFbFe;vwZDjc7R|H#o1II;_^{i&YaGG$o3dgl1w z0F=Ejz(NTJ)L}^vslTFhLQwxz@4ASEbGu1v)+5`;d~Tea$M)1;V*zqCVKcYxE7n5G zCXW1P_f0bWgKAE`m?JC^F+D!RHvq{oFCY*^s@hVY!YK(~%m8YO(TGZ#%Fe(hYn>H* zsLhuowt3@tFEvH&VW{7~AS@o@O1&e{fg3WZo+0Xk z48tS;inqtbmxgDPp70C53i4P>pLk&2?>!DXh2iSslS^$jNm`+4GQt6uPej$VDvys} zqQP?ceip0FlGZMoWR+eWW3qpDkY*_Md^0t3AyGo$OB_p!;#iB}i)9bZtF<{ZdEfRL z&dK+Uvqge|1{#Z(_i&J2`8WUXE=PF@BbIdx7iUc#>B_$ebW&Wg6v!PkK*79sk|gg> zaQAZA9eO?7G2KGV)jf)0;&Sh;9Zla@mU-Nx*%)^HRv62Dc1x=eeTjJqk6q{Dm%)*c z=qs5&cdcsjt|)AV7`$i#vR|)}r%Y7cAHAjf{7A2ZMU!2kUq)mxiHe1bw`CVz#CBZ0 zYs2v{^IZfqbEbFZVQ*XLcPC-rkuBXyY@IA!%YRF6g8fB8PlJj(+ski5K#)?vvJk;B zAm&fqP>kmcV_$C9=~KAyk>b;UZiM6{I1gR-X0d4aZtU2<`!Z;#aR)X_3j`iHT8X>b z%SHL`Erw#QWyC!B{HJZ)+d7+x@5KnN1^Oz$Ux+g}RW^^fX&F#jBe!gM>hy+wf{6dc z49d7OKc_K)RQzQwq@XPCzQ(OKU+)-Dw0>$;;j}p{6t$}7ZZe1ML#^@2L4TvFHot#V zxoyVgTiSW)xyP%hiKJG9KVwy<>sa8g4{nt;wiX-iqM=t!5vdCXFEdQ=PTWOOUTh}L znOvU7KR0alka5Gy5!Y~7DWTKEn}hEtb=e&C$;mxduxFawz}##T8nZ0Y)zy*Gf)Pa@ zzN6Sen59>z9d=)L1=`~HA}#0Oy`#LBtDP0w#mWQSpF)(yUX=M}o-`GMy6+*ewR%-0 zX7FzZ`f}$CJ*k>|Nigm)Xl$UufkrW>;c$uml4QI?k}WfPC7bNb zV`PtGWYaM__B_T}@B4SY*Y*4VT<4GT$9-P+>wZ2T59*R70&YYO{Plzvo6*a}5tW7D zo}0RAXQlHWLOV``Ub_}-st3FKMHePHELIyE1krDO-dy?Ab`?kpZux{klj&NRrImk< zDd+p{SX{$D01{(DT9*IS4mAF&)#d;SC!=6!{G^Xui??Qk?R58Ra&oEk&?N#rdXTqu z*CsVL8S@N&4!bIOWMGooK^2%o?*)@fJqV>`Iwf_2`-tiE$#VM+qivmg9zWczd!XJ} zy=}JA>5c4DLjsC7e)+-HWLys47f`+Eji8{XwVx@^iMtn!6oYJB7Pnw*i_f;Wv24XC zmjg5kWuG89eqBf7n>c2d@QjkfLo8{#LefV5TV0|fozZ|l8lUSFs`QutK~@9Wooy>G~<(@x(KK6XGQ){e-!a4$W z?WrK}`d3x(QY1WQUVNbb05{?%*Xfxxkr)tKVuHsyt*;4Sl)&_E$qSo zQ#AHdt`Y$_Vqu~p(c`_0HnSH*iCoB^sw5dzG1@$Pu5J2U?8ez|ty)?+rx1^W`a(oa zV}sdDkn)*9Rjb>14=5VF-@~{flc0>T>&E2dOZE*lf=)6C8UtF#9SqA_;gC|TPukJP z)=Yhdovf?)Ta!03?&HcWOsTe6hliw6ty@+)V)#Tu_W^&3QvL>BR`l?O9Ppu+HIx+8 z#$~+kdT#PVm}catv|8k2q>Dxqq?4@Wl5=H?p?65?u|i>vcamK35V5aczvqjHkL2K! z^rIzur?QW2d&4Nwpht4ye{Kwc1Gv&^(>@38WBag^ho;%_kLXe~hEBkG$O(&nr^9ZX zu~{7}g>5I&?%HTwwyrU;_Rih7>_^Vp*BP{Xe8W~sU(rVHa#-HZTEe%0q~jna1bwSc zwTCB=P_F!wDI0!a6Nwr3tvYp0CtsklV}!VD6HG{7uB8z-S{fcP%O~w1tq@PvajM8B zU#t4|%xOoZj>@oS#vZy^pDG?nI8-!CS@4YHo=&zYj;`%t(6$!a8SQBOqouA=^Ms3uShZ# zqtmz_#)jB(bxD@NThZi2xB?&w@7?`sS%fV3y!+?Ah4Ls9z{%cILmXpNUvw+_ULiYn zr@LnP@u>N%JcrAU^P%oLxh4Vyx4vKIhd)|d;^Rev5WA?rGNVA2QG*4vb@=dK z{@!1m<9_q{eOc-vmpww3KK1YsPv3oiVIOHVs+n_@kPG`SuYJ__D~V!96kLPKOX1Nm zq?~tp`K8f8Lv7dN1|t^LkupelF7GGZ6I{X7Zq4O5j zr`S6XEq-!mrSX_5eW-~Q@WawO!mz^J@(hSnpxKw2LlK3Kf7v@poO^jb_Q2WV=QacT zuV|(!auj$vqVl69JjvNqQ9-DP<63r;6X!43;>6W|bx(-JE8fIY!&D$4;>{Rm|ydvnEeSZ%n2fMP?=6|t8h0= z>PF!IUSS%Q*#;40Ypo|W7$_M8Qgov}NvA$fmk#U0ubl1w=AL_f8oJ2oumd&^AtPPZ z5^r$Pl*J?2C!U-@!Ne(tg6%+Og{Rk#Z?-!6D4(Pbz$wTieB_ zCFB0xu3RbN(GVo}3*$|d6(Q=ZuZG_IHDa;>xdkGfw`E=zBkhk7Ip$W4$6y=}+^`N% z0OVaL1Fxa`3F=^^%rEI+#KdUv(jZr)gCZzqLxT3quYQ`mZ20*nZ1Yh%MDnq= zJd;nyWCy2*dv(>f&DWNv0+e#_?6f=?oub_fftocqm)datKC+-sT5|I0db~QD&+Rbt zzsCE#+B|Usj_~_CQ>?vWSrMr){HV-X}a zQ~PmBAC>l@5)He01nwh`flLLX&%z+6Q<~*O%&2O|UOeps9_oUxS-BaRXDnkIoxPHn zse3a+fw7$4>KJ`#979x#?Zro8vju-M_RjJLp)Hqg2b>p3vVB0r{EE|#^fd4L_&bs5 z$AR%qy5{8I?=#xP_jXWDu@1zcB=%cDO;)Gt{8y{ZEyhkHn(y4{4>Ys1I9H#57GxNv z$7MS5VP5|bTCXq|qX*vaZaL_@z&Rw#v5#sYp6X{N6*r6K_ig;Gv~gM2Dko}%@9z3T z3Hg3PVt0beE11Y_+g)KdT2vlcrJ2ZtI-r8ybCV`mN;0Bp*cW~K@_tl3L-Ir&V+=~7 z@G$8KKHWOz7D=l@Q(wj_biHXUpn#t?QMSA>RvQ|G3RW7Q_bh;&~!h1I!mesPgmBwFN#Y z?$&po31vD)Fe4Fm$7b>Lh zd;6O!FiZ^IA}n&w_#t?RX}1ltwhuV);j`1?b!Ui0mTTbHtQb_Vo~s~h3reI}Z|H#` zAP&!QcNs^A92(M=b>50EU`$M~Cf92lrkJ}~Kbg01dfQ{pioc9Qr)1RHz?uV>_&@^(V<-VxbrP!<1Kyeq_ zfh0x3F7Yi5dA|YzJS%ost>h$-9Z9vS(FDOd zaX+O@t_m{m1Vi*JWx$X~zlRnAgw$oEtNj$9%jOMglFoj8rN~P@FFh4GyLqpfxJt_2`IYi>{KLCx*Rv6_rpGz*C&w4Gp zmAVSBMo7w0EfQ#7@1Fv=zOz{`U}|T!{?oSJtq*hr9olU@aX8^`D{cvpb*M648qc;7^#Nson!^% z1kYF4S#Cqo{+|UF_nbh2AxQN!b8I9wlrd5=ajFRGb z@!QeZm(S@ja>s}xXbzFOOkIp)jSKB5-AK^QJc#7+Yups#G8AK)T>$tBu92y9EvYT8 zsFc}f6cRx$z-g6B^xF!iW?Up)V$sB0=zwJxO$k_tTvYaTrd<)07)UPi`w_A9p)K3` z_|-Aimmtm(H{CP@KFT@1hOVt5F}w{XPN5aNQhvM72#ji<3Llt}|8##3n#8p17!H^) z*D0tT>*i#yY&XB>dCO^}s4sBl@}&w>@#&>k2WBE~k!yFfmtu%*O*}uIug|dbM8Sfv1^~?IXB0oh%D)6%RZWEKr+Up|- z+H(rWx>g2DH=<{LbDoDKUoB!|PQIqkCw#suYJUQlfG>7$N}JJtDO%7Y?4<7xO#QCL z=Hf7{fRU}B@zKqYtQI78Kn!)%=7zFh0ks;aLqz-&T^~pSw=_MyzBE)c>Ic|JcVb4T zgOsAgQo}{N?r056{>cIJW`4xdukwbIn<9N;eD>r2(HNh+cKg@BBelER;-I+paeslI zy}nBzuv0T{-^6eA1x@Kj*czs?_?G#bo$)zTjJTkGC09iJ7G(k5bE8VHj|tBFclgi* z$!`04T_&jK#UgUG!dG|L)wo&mxv(9n@JQKqvmosk**b>d?Gonv_LVrFooqj70J^dG zVv?_u4!0CI{@#wjwD@fyuI~PbTtr?9UE2B>aFn5F}W&65I%zD-*T&|A7AB+SiVE9nThc2 zLiFnjRBcwuHROe9ziHci$r!SCMHBplYrEg!0%k&)DXbq%dvK9EC+qpq!lRZeC^4(1 z@llG`;88;@%jbd1^*Ud(pTB#Em#`kEwi?TqhivuHK^@BRWhMe|>EX|}3##o%dtCD< z{3!9AAzXpZLd}>Bp@yj{b}c(WRnxe!ka*yC{Dvub><^*i@pPKBXbu+XuEmz z8*Ol=CdI8p+z$i*p&3_Q4t&)(^W0-K{U1h;r2e^%xBE6MV)4Z_ZKzWCe0cGS5iB|# zlH{9UvC;xAlhse2TS6Xkcv+KmFJbP%mfTN?!gy_2!Jv&Z^-RP{pT|wTzVNzY_P!z6)#EzqXb?rLu?c+^%OTl55g{1Kj1fOHqfIxs$_?-if8~ z1Y4*!ORf#Jd=gM+#VEMYdpS7jpW9o+35lJMOppo19VMIFj)kbvm0G3eKy~-$^^otn z;v*u$Zd|*i30|v?z)>(l`zv42nkuYB1RsWg{ae*rtH5YIj}#0q<}ZITBAxqlSv(rp zW0&3vd}O%i4<2r{*Ipt$*bwd&CZOiBr*2NBTT?-c&-Zw*O4LM`jf`NVS6C^0|B$yz z2c5eSc)iKHJC0XEf#VcbEtd1XM=5Y4A?uFIfhC3tR#fOeK(D1oLmI!^yl zA>=QP4&{wd5%?I}sdJCYUd%Lob8TIyH&Yn4Ze%dx1}5kW^R_B?0mA#uTe{4bpJeso z=0Qy4Y8?2yAA};mrHUxW`5|VD_2QNv7ZCEV_tnfDi$|jUBh$h(JZ=I&44L2;P-vsl$t;i$ciZyP-b{HGoq~jgoBt9(s#}=1M!17bw z21`TED_n{`k6=$x zA`zD%vKf1Z|72|46*;Nwk$sZy=j=L@N?V(;AFE9KrFa$YsC0Rdh*wp>Q;bKPhmPtR zSAT47C&A{I1K_lrMswi1P0frWJ#|Kj3DBW4Pi0-jXMexXG2LxZ`PCxx_8X$4t`hvP zcR_68chLne?HE;l9Y$jwn?C*mNyOsAxy!~cnML{UFDBjz6#4P!G)--HWvpxDDo6jr z%ZbUOs$(MCTW9XAWM9qW4WDAzD!OY~aLWc~HfPI|8vaCURNMY92mS!5&RtOTkcO*W z153JRe^Uy4vG4K|Ny)u!+^@sVjmtSxnRngHy7V9HqJuYeE{}YBS90LYk$30)?f8bG z+bZlQK3}$G(?;OO{SJ1wDSBx^Tel6QJTS1rz+(grV@oRQsIUc>>Og7(QMm5madZ{Ni)@76$)%qSag(@Df&XNozvC(%~o*04Yaiy z^N5m3=5vy~Gsv`6u~4ufL>3gCy8R;U{sQS)pi+&N3~jPqQTiP%E~O6b_>?IF;RqT7 z-oQ0(%nFrU=$T?Uo=|mJDm;t84*If|&swI}Eci8-#Qt|n<_*Nlcv^sJ3}f%?6TRc`Ff^p*Rixgn%b(Mo&Ai?(^fmAdi32@BHHqF!2E) zq<}+yvhXccqMe!eN+F9oBkuG+Vj6lJV?ZPjVK1F(zj=NF(%MLo2!5mMZ@nMCyoS@q zOoGU^>JOG;1H~M~vtwm<@z5f=lB(_+0tVK$WNv8XUq||zp1z&PMru?rbAv?hbN+Wm z%Z&XdvRifm*?xidPG$dTxK@9A4|`leEncN02T}%E)_HwDYq7a{5!z*MZ(kWvP zOEc^Z&_Y$sEh3h`(8QBMvyjV zAgcHMFf6J#k=J(m&%DhPr`2ZaX!ju4&jO-Kn(RyD1!I7AEm5)m9>96r3EJ)`^6QL- zQnL9D2|6R(4Pr+xwVU$ z23;E-pbZZ`Nk6K0_V2tx8g8Lt;2+&BmzziQ$l@UZQ&RPY)8BQC*U^M@A4XNuyOGTE zFGr(CU~$+I?8;732LDiRToma^tiCJ-HRxP|j;5Ba%CC)Gf@eMH^#4wvwlaoWq0*1k zPnik-u_(+o$WqfjMs3n0!W;zTl0r{}^==RHxAmvV;h-JN^YP_K3dR_Dol{A-qz&5Q z{6v?qQj*4I#KKGZF=35&UhK(2=vxt#p8gx6MjxSSfcP-rqXesyxcgR`3cP3!dq>e5 zz*=YwPzjXr-H}!gBDtE;L_u_=&KRoy1f{KUjHr&|QKQ8bedsS3VC_un5KY^qP|jQ1 zL%QjLY5X7HK8Kt2|FNvB@5lH`uB;xV>`IjGO0PiHMIX~R z){y(SO;BuFyh{BaP&}X-dXVWux&4}JD@P|1?JnKcU3+Nu`3|41qho4qNL&3?N2R-J zS?;TM`a@fS-;@s-=-#x*%Paqwk>!{sa519#I<2U`Tu&1777u}|KU72IoY(h1i|Ge# zbBLN9Jo!S(i!Bc}$#SzThCdbJ1I>8Br9V!~7kg|=2oHT7nfL_sri6?Nbqy-!WJb)n zmxyf*HxI+(g()_9l9WIBa!qGGh?ZKF`SwS@61S0i$lo6!|Es=KrYAAQ!RV<6Q@C^4 zfW%>M=jRYe_3e+XSS67(XRv`e@5b*%8?hq4AImhGL0N*#eVCj z)M`Sw+ai*Bg%)NzgP9Zhwo3~mDl?zyB=O3+NaTk>y;=pQ)~R;*j78m7d* zgYb0!0xFP^z!_NN`O7r4Mn=7h&U~ZLJ!g!6xqV$0I~ujdAkU>B}5U zHi(yX^u#$%+j}1f9m5vpVL^~W1DbDH+SX&gpMW`Y?AIb4)8#!} zVLBz+BVIX^`q(kO1u2zj5YyXD`!)yX4_RWQAAcxu$* z;UILWojtDjgEGBRSUoEqCHd=mlX}!M`AY?lga*PONpFKx{_@e$_LiDT>(uAq-4`XH zbsTYXr^q@-2-Jp3wwRs%j|j$yIY8q1oifowV_;2rs4+TF$@=*PD)v90_bCQ$J+Nu& z+|G*dvQ7_$x`!dy1IY(cF%J8u`p9kEY$g z4?5-1O7WmlsV+YMbO97h1;GtaHF~Bl`jYcXiVK6*o^Tl@)cYm3>pm)a;+dRcd~ImJ zF4Ax&0p}4ekmj1F)8^)S0QgA=iobJM2$RRFVC(oQOGU-NoaIu(u{!oz$rI$#vp!>> zVhKHl@FzH}+oO&v(IGV&J6~!mr>Gd2AsqQy;eRi9{14LiCA@AESi_^9?EjL?z#Vhl z)G}2Dg0tYYb*7nYA1BU3rpi)91s1$Uai@#{!4(jLGN#l#i0OxO%z#e`P_ch=^NL5W z>r+n_VtdFkxCalSpJ`2BuW2Ib>pa_O$}4ad$b6z2&nKX)i;L<&R$p*`??>cA4KKgv$AH&7#X9ZzyF!7KWgH=<0}Y z_lHTO)5kzcFhzK?&+(<__A|5XP|yXt?d=@c{(Q%u<)UU-QMtbb-1f^(Gq*tDNX$a# zB?)+!mkBywc$}V^_cP8YKkQxI?u{(!BPbsF=JPncUJ#&)H=hKWLsF$FAJJADC8xku zHAhRO-Z43Hr!jq)$`Z1YP8f9(L?2L@kNUv(2+a+RLArNgszoUM{-F}5G+)pT5d1oW zm;bc1edXAi-VxDGyvfJ4(|rc;1N#~G^@?Lm*XyUXH!o?puPV^DXT5x9;CRnACR0CqFzAw^(8c_ro0*}-gsNgN~@<|<8p~-`*y?g zd>Y_d*L<_l_rb=636{#54>m01PIAqA3*m=ZSKxG zubehWE3TXJXaAVDAtQguiqcxMr9XBa$a>4Dmdn}uCXX)r@t8hwwDP)9SA8nIO!QGO zkC&J>>*PP^5pS(>f$Zpxoyx&SM+0*guNzo>^cL0s&J!Jv>{0vNMEGfq(s8uj^G6;A zqlKXD2JLOfJ@CR)Bry!%um8f;@idf84VoER z$(v8oNs;8Q6>s*S8b(wr(!QE3h?#c%_&dvRlix@v^G^cbej0ZaJ1~yi5q1e92eI0B zNZIGU_TxGjAL67bTMgx>@4FT=guK$-8t-!UiVqMI96alH*L?D1Ci~`QG2M@x zDf+XnmTznDB@9eSW-%W{SJAcWHE?6zL<14YSTkB;Blx%7?_2?!<$>6d2~lFesTUfe z-!Hb1KSZ&=OPjCJ+7y&z_32N;Dxa2gL?*HaSA6kAt=Q541z3g7A`Ok>T{~1d#7sc&{5bW|TsMkpSmiclYl&R-i= zjxKNkVZhrT44ZVum2`kPXc6ws7aI9$845IN^XzU)E?a;CA_i^!neRycgTu2|70Z}? zgJ6@j>*uRXjaCTpx=ds@UA54*@UU;kN;qAhl!$qB~i3V3Q9kT=_!A%kKaV~5Ms7lHO@xHRjE39=0~SD*OozKxtdFV*yb zoTrmuXiPJvCtP**ZevAhBgZM}TiN(hG%2!CiCqBBoig+={_u5LxATxePk0i0R%R>; z84a}FtCFxas<2D}$xO-PoJG5p|n{f-zrwLrf{0y;j5yH2DShLhH#1w>Zh_)EH|q+_3p$ zh8G^mom-2^?&V#B$YPFR4xjy$rii~G$7sB>ccAJhpS!5C5rpAh7X=JL>rB zFnVM@#bU#dt>k`yc#s@9uuse2`>nYWF4iLCt(N4fEc}_6vbnccJKUa;qtl?V4s^=r z94>=7_2q8IAg}n23$4&^wK?c$|78Wafxpg7~j{V1W z;mylK!D0E)<+g4c;v9d$3xnaO%}HX??@tm@f118v<<0FW9%G)@;fg-$P(~RnmUhug z)d}_kN*}reIC_|sSVk`m>T=&+xkzf>{v)N?aO-wA+T8^wiJ<`v<~H{kSklo4sBVWU zo9|ij=J{`23&IQEN>y=J!ICS<)vLl)ceS7D6NgI^9dvu9Bz$&}rRd@_r-`i`_^dCpp-`wAXD2pq@w-}|nfCsVH`Xt-icX(*Xp5L#dp|@_9vv>Cg zH1-D?EtxH;FoVi%`BsOHF!J##==ZVPD0LFbICg43qxQ`TxHq>74HfdHI88H6^RV_1 z8xNp*`c0uFth;-G>fXb3SJF7+gPR_ciTy`qkO2`nZf3u&pM8~km+C7zF=n5_=rC9V za^lIzc(2gs?mGc=_e@B51$Z@D#ig`ODnoILw6xPiR zH)!jdI)EIX3 zG8V8V7jp5hsVUa3^KiR08{2}*2sq=jh_aqItm;CpYCQProb^l(K_z^@R!tF;D%f!b z9Jo^P;bVy&<1Z^=B4-k1oF&TuhFD5SKY(C5Fvgk-P((yY?!#+IC&~-&1)^VIzmr)t z!FeBADH9$CU9jT=kD`xykpuz)3?ce1{pt;LJ^L;qtHv?M{`aIZ=2*q&9o@;|1_IXW z(n+E&g8LeIM0rv zeF86R+FyR{j*0Q4Wq@7boBLK*(`dg-dT6~oSaZPCzoi>LBXmj(G&^3*V3Uj&Y%Itu zlvbsh)}CFRF4tjGB&U=BhsxVpW9R{N-W^A2b{Rf4qQ&14p^TKTIU#2x3vBaG z_*nZXX_vku3sih-zASB`c~Z)4>P?;W&X!k)ydg`+V4F)D#lHV|Fhy_+EpqL^xm?fX zLd9LR(wC12|DAFde72|;X&B(-@2<*Khuu(wOQN()`a16I+}+clP&{i?dBG zTJ4%uN9&*9zX5B){yT7f7kl0nXv8qkWpHo8Q0H(ZOdm*KhdY9k} z29NJotPKlOwy*eoz#JJWPn_7+;Ynqu2Stq^Do>Z%lrX(t<)=}OV5)jv^lLfl!o^sw z%h*%l|CrYkzT40)>Z8BsZBr3!_mz^i#hw&w{AoHa9s4{b>0ph>nBvfBJru%(vTX z0yxjHs5)`|>3N~#@y)U*WLnHpvue>#KF($DyKiXj?un^L7atB4Nlxp=IVc@Ylf5ox zC}*m_RX0BQUCegCuJ{tr2yGrMk2x#*v&!WsN8AtBqi6qq^#%w`Pw>etA0&Z`6P!Ym zRdA@+p_x8B(XaVA%X6|N`B+^>LK0^pv3}0y7^I@kcNe(6X;-@8;7UrI?i1YpnR?bNH0Tg2-&hiuUFQ z*=&APIK|_-$tRj2k2hZ%UAaY>)XbEv^x%!0-z2iAChcJN)kKXcdgJ+WhRj0eljd2l- zXFsi`#qVH}nm?^_uwO*2ssO=h!7aOsTWuS!PQa5K(@+Owa*WB=|uQhS=Hj)J!` z^sjQDaOH<9p%RS~>G9xI2;WUllcbB?>gFV@NL^CmdO)qcL)g^!0O(UJ9<}3490P=( zD}oIF!Ge_ZZ72wKCS_ix08<%VSX}fb)8CBmEXPVJAaYZfemPUNK0U?48$UN(8!P>q z`u%J>bKnf;$4$FM6zcVflDv%S(o8j!zt@Q zPCF`cQ8g4{O2v?n9(oBaAhiiS+kg`5<#vV13kk7gdBw8;D}XWWjBKf!c^ymnT(0=x z`Ar7WtG&<-u>xVfG-||!qR!ORLwNQ#L!q{-O~|>1g4+7fmb470QG1N*!OZF^7?EQo zvjUWoNI5q)cN5aCWdeQAQ(>ibNGwG8m+lzh0jQgmLhhj7YI;p0wIYX z9+qe_+iZCNm-DMqB6Y5>1)(RdpFOpTn1c}H_19wp1?_==8Pr>BX1g#urKb-mPChIH zsP*_a4`BV$Mb=?t&GF@J0dma}xO|A-uBK`|E%p-+3c)4dA0)5*07CGb z)S}sG3F8%sLa8HWJYoOLUgD&+92T99H!i{*eJc|iO2w;UTAhZscS%$LOv5mkr@~a` zJ^D|iDj4AcBpJZ8@Dgp61jO^2e211FlIi{2`LFVC8E+mrFcaJ8&&MZUS+@{)b-wFN zW61bif(UH6^&{tnOkr0^o{vGYZN$?z@%O#c4*%2N?7P9JZgaV}D&T&$zG_cYsp5Oc z7!*aztF{8{nX%ZZg6A(Lye#LP18*cVw=ASq`Cd8RL5Q9&8BEc3NSgkq|B2zxrr*E! zivceMSwcP1pv9kU&&vxUL}x__MK|!*KAsGXdO#KPl~!11qD5JBHtJ03mv|zryE{(m zN(V$PWERwgEBMy`E887&*x%RQyXd1`8&{Ar&o_sE4{_S&6 ztmx)E*;DSSsgz}hvy2hN9OQQX$aLQJ6v0lrX{6emS_wqA7=~mt$QEu0y(~&P#)&>s zJH}ze-iqVBSm2svo4BuCNpWP2D{OW1;09~6WMIteOTjzpp}!RV+S5@VoQ3H3dn?>- zKo4l{%+Kg0Q`K%N#xXdd`K#`bH9_US?*Uw0NP(2{?2Kvxq9xhKknLULE^2wcX$Qf7 zwi!HZTbdIV@m%5zp|}*BahJC5#fD5Zae=;0^22nq|E}&ERTunJCS%mH??_uKu@5~v z7kv1MiH@oZPx5U1*oIHUn5-bEq*3rD%K&sV>+S_U)Vw$Q5Y+je#y7fw{k+j)T)@~B zZTxce(Ah5^p{_#iN0B7q;^#+5CW?wj&mOCRnB_?vBYc=R`$Grw>WgJ>Qqut8PuPP^`LlW3+Gz*D0eVXs56sr z%{G##WG|QCcvf;K5R3+@ey0Ta4}clBNn{*!u zs)ty*^qz%q6VC~$Q<%y7O4OwqcAwE>k*q*{S!^fhzN)H z;{x|NeBg@I=>Dx>P{>l1T770M11h~u-G(H~EsFj1zpC2aq-C`gg=d|Pn>>4cll@=n zXTCkczE2t{k<7t-UB8_YxfA)a6P_?d$PVKtp*MvA;xPM5zndZnr4rx1>>!t@XT}bC zo?iA$!=Kr%61`&{xwlxPu1y;VN7D1J-ep?{jIndUGh$AN2ZTod_KgedLq@^nM@e>*hj$+lpyLK9!xXL+ZFda%NoeC= zzqv|ebE-j80Y8hJ$%w9XSb@?a?On8qX{YwY*_ZJFsHqEBnDGPrh zV(Ih*i+95&(0Vz!{a28>FEMZ0d2w8wV-B1@d#`8@lAcB)DUO5Gjkq~QRr}*!=g?Gb zvuz8}EkdqBWA}xMbB08Js7uukn@U)yn`Cmzf%w7X1$5RV75}so--}1yKKU-r`oXOu zu5Da8;VSeU2X8sUW8274Dr6iGI11mWbqy78Nhf8#EM)8BmN&`LvdGBu7p^RN`m*cg zlSF?djllcNDZdIX`n}FAj1}O%A!5L$b=F90%t3?Er~LPu&+CseSoxeWYl}4&P3e`(ieA~* zdT3_BGCIrC{#W}&FGp1Td;C*DL_Ay^lY0GINqBkI92c_4Y#r8rGhEW9|DLmU`Om%L zHm<2OV_cCCQ{RuLpQgn3j6@LH{rPsxsh}CbHS_S%OSMVJGWar(8D1|<*>^a#_^Qih z^0EDoR?q6v>wg=VT5QkRkOSznahz@8`knAC&(X1zIrNH!%%+&{ z<=5IjSbjDq2gNtks3Jmsz(|>sP4w_2M9UIbRkV7-U7NLm>COWFe73n&&NiBd`#tXb zJhD$G+M)U6RQ%D+?)kEcXX#$e(Z1V+-(~VQ$b|(Co#)}o4!^I?(nyM=bZ<(nAWnX3 zHu(HdGZ0^DM^`rOg#C1qz8%89POhqSmF}y+mbqv~dsXDt7@Q_SB)7iYGkaRcD5`(FNORLvK@Pb=5 z6K*Rich3M1V_J5-fDe!ZRwD=7GB-#wOHz_8RBLagjNZF3hvSXdi31ozxe%mbU1{c z7E0-uJvn;@A$hH2UF}r6rwO5c9&M^9T6cUmZi?Uc@#7!79Xsh)$m#lNx1~xLK)Xz* zExPQX?v94+`y(vxw+ZoXNN)S%Gg&Gsr9K>OtMM#KhiX~ofc4F*PED8Yp-q;NIGI`g zJCF7d^Tpz%cx0IU+tJ=wu!4#QbLgPg!TqClL66##cF{$EYWqxeUyR_-N;d;{@d3k=Us-%kaU{j{W6N*PrgljE`vWFf56@99+}R~1zSL{d-S~P?%KI#}Q4wIb zyfY|YhwpMbTyC6_pG1{k5II}t{ioj}GTS%Z0pkv~BOwvTxx8myrChF*|@$ZcTcV1;>qWE1=fmxiwEIov$e zGy%$?L2%5ohial_A$_G*=6lt?LrrvgUco@t1Z3J$B2O4o=X;7j^^JeFPzy$ET--I` z7oLLi&vO{|=6rd@+RQ&=Oiq$%y@{`lH4;w%B>4e@!T`wYnhyHPi;oJ7|>4wa>KCzTP2MfS)qb#)cCHp$% z2!7j0LZ5fPTJPtwk*lbXg`Pw@Fihm;4t9x7~LcYKU{&FX>Tz_$T`2B7GA^H zX%Z+L;=Lzd-1S@8^@5X`&VpUfnlF^6+35nz@*=X!=<CggGX>hVU(5ZVZGDe?2Akd z7OC=;j3qi3&voghI;WuvWW`Aq^7Na$=R(}0%wD$L zY9!2=Zq9s$|65nlHtnfg@V;>KP#6t#iUOBUN=!@49( z=o*hDF28E^c9iyOL8l1UTxmY8h+z&&2;&;~dS;+#n6fCU_VybIK}9hp|J}W}i0V)e zh9A1se7ff45h=ixU(uv=n)}{k-9@@t5%t^(^Wh_J^~4W{hi^^=-dC5ta9*ncwtYGK zC^*2WfhGby)+pbNe-ZuhARq|TJ-`e z#E{wV_5RY5(iY`a`8mIP;f2}P6_6t@ZclSH)o6J_4r9K)bRd_uip63x-|)m0lhnZy zPv)?D7FB?#eq1`8MT`RkHNIgt!|y|B%GbDO(e+zG96B8{Jy}_k+EgZ8r6>om1pUBT zTli>{@oDk_Q_Y$9HfWa6S}il0v`j+z#S4UoXRmB|vR>8d)UVsj9)*Lfm0=gauk-@h zE5bPGw$cnFA9f>R?bi{}XxCs{N}%r#3QjQt#J^`=$7Pb8BhQ@x@9yZs6_}3u1KPSk zWAwplvh%O{#4!{1UZ~N-as|x|Zy$sbb#mD!CF-CBXaWi+V8jciXorE z(;(yUOX(i63zYtv6y8I;V6GRMN5n%~OB*8#J`saOww=^u3|zB>omAu?A1J<`Qjfuh*ibuB&PZO0N#=t_rnhz}OOCVw> z`&Lk&mc0ik7seO%(LfExt7M8TAw9#7*?S12E{2i)KKn2ogP)j`@2`ngjRNkSa3{#M zbKm+*!AQ6MA4TUKPu2g&@yaT*L=w6cl9iBbH%UTBR)|~n9$A^k2;VYp2+6o1BRhLv zBRj5G$BK_TWBy!$)A)SSn< zcEK-kch=|p>ldz#Vel{m2L1oFdu4Sp@8R8$V; zLH!U+Mo9*$0n;^sZ9x*88n+Yzp*PV8HChrCr(u2PHg=-y$M7i^azBLmNt}U3KMO$h zuGPX29rZX}I`aSHbch4p`fTXf_4UlW!W1a}o(7OA`}EQhEciv2>C9(S%T1O;7*$F2 z6nzvp=B8eXQl(aCgh2dbxKGv5UT*7HZU!ew`3)!+OGbu3+KE&v$`-c1h2=?7N0zNE=a2Qyn7pGHB2-I@uTw&TZx1pO)Bu|4=^1DB+UxWIt=NTAul#xm?I! z)K-BDy?x--rb?Ty-|{lwKB}=_7w5S>WmNf{Hink&jlv5<;Q{)`q>QwLjWL`FNH)xT zhnwyA;Bwpchtq9F)xs)0bNrD_3hvq3Ghz${zNHH-) zzVat&PiOY8-3KW>tc9JLoN|#-W@e#4o#;N_(sfS67^p{%u&?~i0Q!f5x)$Uf@53nc zHCNS{j^(oGuuV*EXsg*pM@$$14D-Wmy>!9BT@Rmw&uB@=U1fmR z$UE34TZPxIYh{eNxK`1=dYWuTp;mE8`<{Kd!mSUx{_cC{&X_aw_tlFZ+CW`I|!l zT_zB|2P={{+URu*1@>^h5u+npK5f(`|J^Yd4w7Q(@W{_hc71#oW z&TNG8E7peR2HW6O>-SPzsFf{7wLsj43?88#?f1R7iYkb05HTQw*@^b$t7Yd}ot5zq zcHVCZJ}4(PaH{tLK8Tl!MHyB<%PL->W>MIDi1ft=bSWvyU$9?*58tE6D2U82R6o1i zBB~)|p;sB9#vZ)EVpwmG|9;iUU;VjMwEOgCHu`IARxfa6it*J2s8Tx!A}Mu-O_epO zl1fcaWX@H7RV)@QFY-Zgf)aZYW}fxdxd8Q;TpK9}6qi6H&p^??g{J8W2J6~T1!ecO z0Lo>hoRBxyOpte;rdmD9v&ZE9zn4IyG7;efT!o!{?|uHtxeWn#U$@kRK9nR-kW#tGEwC{r^zphvgvpY0p+A+yu9(`t4`mZRP+jSzLjWvw!wnBCB6s^lZ)d*J{BP`1 zaycGD(eg%(sVK}xTW$>GrpNPY8Rp%RiT(So9U6v84F)hu6i9{)-$GJgJk+fykO0y` z;Gc4^1z~2iS#B2!wj;`F!08YBazm@{hLImE_Un2>VjHp%cFoik;#m{nFXi~$8_NM7 zWRlV4?~H=kp@@+5)(EPYihu~Fp?t-wD^mB5Hk8x9X9{IY?R^R_$W;_VWIl8uLL>m` zU#N`&NX%T__*ovgNy&}PPis{z?e2JM;@{{?Z6&I3ch#An?)%X7vnI~E(0)18iKXcK zlmh$ZV35(E>ckzZqPe8@-QR|lJoAq_I{Lb=8!>TAn~d{4!Dw`hzG`^+=*9iZ5+X4Y zEhsD^`Qbg6){W5E4Qa7y)||$UH!|8N(?Hubx1P_^8ygIFb89&|NA^Jd4L?K=2}#32 z+(GINXl2B??PN2yro3%C$^YbQeqpSD?q7Fy#)vjnBz#Th=a0M06 zYou%2j;djGzk9lVbDvK}dDc-lDrZhj8mc?R4RV;hsvAYxU^o`Wu{a z57SJAk*w)Us-jLC??ddB^FvbN=LbS7@sSgSe*5;{T?;Skfz5kpM)xZl2<-zLcUaC`6|F?qyb)9R1FkTv z`<`EtfG@0Nkchlz;+p%HlT?Bg>zXgT4UPX6YqWU^sv=|;zRtN_x;9NN;|)%x&VgMi zY^{RCH#;|RanCEjyw^k5O6BDB#+d8dE`2{)0IBgH`OR7Rvmo|us%HV;vx|SCe_y5q zPa<2ZPd{U@#1O=(`LHZ#3fE;D!YbU7?#0XEk~K6hjw-CoRe{QHg@++ea)Z_Cfke#< zAN4E^ErCV<*T?ja%7b`GSTE?!NeX%f7!i7&c??o9Xu!Dm(UK43V_5>s`A<;Gc7nZ$ zAAou2_QmGXBqz!iKowE}tA_{q8(&z(gsd0G;a&cYbu~^wm=7+FdysP%9t~rFu z80_hWG6o-#0K0)R80OF}0Kbp2x9)MjJ14m$-(GS*S%1na&c_ zIdlqjqZrtaSRViz{|H_d#N+{v+XtO5p-PGbspkZS9$$f?WTF4|V89vE=>w`<6HWI!G?*&$Bw|CWV_!6)- zkoi{ju1Hv(Ls(M?`v#F93Znc+hurI=t56dHzMN8#4`0&BF)vpgy)=87 za&&A{lYlfXb1%szVeKls;>);hYoOxT&dAogrG_xK0%?Zy(m^h(kjqT!Tf zs&0^+Ga_+Su_IlJ^*(c*(D@+_`^e`hX!m?+(>S5AJBGz_G>E)?e1^%<)%(d;Uw3WU z+0IV$nRzX~oVW;y!tQl=el)M&PZcwia&Tm;5gdNBka8+Z?%sPmlFAfBn`km?>Y^H5 z(&1s}Hsoa|cJt!P>I~jHk8-bx7&^O6tXzFq{%>97hJZ@Q0V3GNtN|J74P<&Yp7as1 z1@mJv*X2-|vq_odw{$!oQ70L*3dX;(l4>+6#*J>tamy@!2n+(_S?->Qbxcog>A$kj zb{4ef^Mw8kolg#vdGx~@)GZySFde2oulOTEb2TTRZU%S9!-41~m~vQ$Td&%iYrlg-aef{2*$hxk4IiSquZvKoDsKi(mA_f|bguXZHJCf}}m z32S?)%MH+XzKy?MmDjoi1ZR-Y{%=bkzZ_KI41;w*Uo;v5Tw~D<;PfqxH`rBV8EyblwfGKP2*{;spuDFWpPnEaZU6*fO*r5C%hLHtI}P3)ICi&ED} zLC=-5(^P({c_b68?ho)g?xVi_B2^wp@XB|{{~YfP9qU3)aIB#1eBBB3t~U3ST9;sr z+zH`JZt%Se^=4c8e_EX==~t5pi1G6ev_R)8Kj2L>YG`HA;e#-A3IP>S(qcuHoE2GD zUt`w&!w#9V1beJczv=nlY3Dn^wI67NDGdeWsf%(I&X>JVO5L3oJZANlaPT7(^opT! zPp?gdWL+B6hALM|Ab0tHo6udb(0w3(%Q*nsWsr|vj|^VtB4H-nO#D$z z?Y|!^!;6o*xucp}OZQC3S9;;lit+2;A_Z5@w8Mk9zVPwQqXo&uoIlpJPrRk|6_q|g zN`DT}G7@)1SC5Y`Lv1!OD)vIB1DVv(D;UvS35In}6VXH1zPpL)bjVd3r{d6HRD#4UW0w^QlLBxN-5sCOin+!0hyruGsVeuMMJm28t`E}NrHl{I-O_( zU=8%(Ni^ZSAe~ z{sht9VFOb)*vK;N7v#IN$k8OB(<&j*=$Oy4=LA5JKq`6WFz7}WUA#a+WA_m(Y-ghN zon`yb1pem+Bt1OzcEEGjD2O_Mz6psYZlZc2?mdA!z5Zj3)$Q=Z*kmQsM905RLHYe% z)*D)t9s?E{>ejGy(UO1iLwkgcTD{Y`AGMDm2|9RoIX8~+X=7rb>z|KF@19~y8jpuIMO4#?=boGfJkILKSMo_+bcSu zs%^a$q{4XV2LSUp%k{IMkd16{_;qrsg6M0tz5C0koD4kIX3hc21*=H1ET~PbQ~vK< z+#*y5qMp?85~BTn49rykrhM=3Fn=Y&aoSSeDJ$^J3?jVwBMc1hL4mdZ4@@TDLQa^6 zvr>ye{JVZ{}%Hc2Gfe4I}9eAzjSqj^+g!zXi%KsTaSy zROQe2bHoe#aEIq-?0uEEkd{bs9 z)g1D#5;`Af6wXS-mA&M)AIxP7o~=k+Tcof(O<2Aj@#*B|e@Z)uzIU;r*2-`nHB?o) zE#a%1}!h4?djJxij|~1wk!J115fU;Zrx(rPaSIoeVr!_X{Wwa6^_QB`j?n@jy zNQFDO!zrs5JUDc>qrz3*B}tn4xG%S!U3>c}(I*meC0}Y@nmh~1U26zjs_#teCYg`e z-^_bGxF|8qc7m<^MRxBrFH^f27h3`F5ot485)2@RR`@EKSI=Dc9EwVQNvM84G-(Uv zoLQHFioX(i_8Bv|z}Y3VK(r2M(r=6{{&dvQiied(`_;KBi$>OjVD3agcOp%;k=fMQ zELK#qi(uZlZ{J*)Y(yM-J~u09wNOd94~1PP?Xu~d+LM2n$pk$nVf-+2x!terB+SMa z?3HJnMYL$|to*mW%VR#qT*|kTHG%O`N)xcfWzCFP`Z40dq|23Or-|-v+D=qAC`x}7 zIKut_ni`g@DkfW#a3#Peaq)s%M4+DIw>olNts9@ZuCa;Gj~t&R4!E{Ofp9$XI=)!u z(0&*>i8?vrI^TBTKnqs)Wwz9UV!sY77@xQg*R|3H+YvKK=x@7DnxeWVXb~zpLGJVy zx??tL{MN3DtL8mmBKYfV3@)a{9}e$AuRvGUF8uid_5XAw*Ck5bOPAi#!`on~H^NRM zXgE^joUfePqTaz**C^-_CVo-wL*D@sE0n`V?M_2K@>fGMP!7mk18}di8J%;k=brXb zQb@z zY{E6Id)XJ!AD2xdz_*iOex%7TXR9{PI)+{NS-vg4wM8vxIp`AZCm(~x!q>poA9-Py zjlW;6e45+?G*Q19_#tcpDHeAGl!a0B%2XJ`Zf^{EJ9lIc1tYiIPtp05)zgo)kSon9 z;nqy4*clr>1Q z#Sy~%J)0~qIeQHEdquU^r5?{8Yh3;Wr%H$V37d_e9_EhN^RWZ;Gs=KUcCEB^yliOZ z?<4dkx{}itdZfMl;rC?viTQ<1PVnX&1Dq=UE>*sJf1%*tl_+fJ4V4F%g4~JJcT^@- z=YzX$hP17p>$gAt%Tbnp(C{wZ;|3U^6hlBN@|l7awExFEWbRoHyj;e-)g&N~;6fL4 zsJO>$Mib_=DdrZIGk6-vDrnqoUVKvCej-J27o-4#Y0X0~E>aeOpcBYoRg5G$3W#*0 zGi~-@o2U>rEIJ!_3f%&SH6VARV!QO#sX&NCm6EVic4OgXFa;V8tGhl&9r@oQ_p&NHqr(7fQrmUC{_ywF^ z-3*VRaLk`5QS8sx`Qf$3O`}hfRh4qv2?wPU)8<2lFU-< zVw|->CuTq867d-7?6AyB2zWTOC2sckCI>^XY*0aF*v|cSo9oE1u*HYw47A<@Y zxIFQZN!!|KeX7GnZo^5m+K*+Mxg(fnRO3Twz@Jezjjrib7e%4oy$+jC8@V;Ihvub1 zFMqzW5s^BiAy0d!XAG^;o{@B}Xs4ghoap^SchI^Cduspp> znTm4J56;oqU!a#y)#S@&4bCWKeIb8k-1uCwlxvU0@hb51&CfO%?m=WFPsnGEreD&7mHoQ@^|b>Ae8dcr)XLb8UP(4_ zW@Bb;38XS&4qZP#ciyQJ_(bU~Zi^AG|C}&zQbsljMbziBn+%Cfu%+)Vo1KB)K1yj+ zc>658`a&?!VPOTQ^DoeU;=(QN!@vt<_&wo6hn}ZEt`h z|DGk@V>|dQt;G3YM9C-oQZ*dkymxnH#+cJq_;pi4nhMZ|?z9f`?9&XBF4Fv#oww)n z$gkGhk?z7BrIIT{(nXO8=$eV8vIj)j=8X~rwaAO9Dy-leHRU~!HqxKDB)kI)5*W1S zX@2_G9~$90F(Jwcj{p@_0+80!z~5qivZCbs!#dW*qlo!G?NFl1SA!cSwTIne_evN{ zj5JQL%dA@C_x2=5_`iJnDcTJY-KZs&?($aTS+EM+P5JXt8$m92*+6Af;FU2u(x5Uc zl@`1ne2=~MKDMFf+2e4QjXYLbHIVNV1A0M4C6IRQBW(QYYT3mJV5z}h=`q1Q!`d_xZG!IOjXe<#ou*(z|A(df;$@AO_QP;&21Ep8Fz)q z{#AKejcz(?ZA~CXA`O0*f_^f)It48RQl(@LneT`yf9Cs65XZ<}!}GSclMYaAiOq}2jzmn)vaey4g%T#2FMN!BEuj%R=6MEHbmPs=}kt2ih< zJo03AJoreuP0Z4UGJApm3rcT@no7=sXp+itgSfX=-NK}@F^@U9EBT2~MEg1@0jB)r z&1`}*U71?0y(jeF9rFI~Xl`f>a+nJ+WEgG^5UMVGInUj$>Q`|ocsiy7y%5Lz=`Sl- zBJrB-8brXPlgw$s65s-~P-t=zF5#RaM0B5gz8s4XQ58Y601RiwpM4=ucpr6MN$Hs34#$Zf6&EH5#5di z^nMLRJ_N`=sXJ=+GgX7G`zINT{@}?(?C`XY3=w3$rSRP0>UTE9KNQ(CAOE(%S5z{N(WkhNt`dJJ^R%$>BVYz{~yxk`r+_3 zfh+gFicX4*$mV`0ezO=we;&NbGjXK}cRGx!U>Pr$n=r|Jc=hbR%mz`}Tm#+Lb?vb; z)j19>X7(MAS(1(P=WX&2!@($vekq0$DO7nhSp?@Z?U5`&b+$AJrJU!+MUtmvg6=nx6MO zE`3`zrDGIie5ZZAc-^p&m)*pePK0~)jm|>MKRVGPR>Qx~Dm>U;@Js*pEBxLT3XS~< zZ(vEt5hgdCJ3}5*kh3ML0shCh(xK$htgg%z#YU)1#76sRPQ}@#SfIv@ec6cT;rw8J z-jE4dvQF|MfAMbZ!>w4_@R3JeRghc@yYQDiM4e_7G;X4BVO6mkK0oU5U)C9^z}r>o#1m^tyGnD+2Jz`s6|f@$fn5Q5c9tWp|Bs|2C<964jAn#CJgl{m?HB z6)`|bn*6tO`=K!MP};PG;4ZU!0qipQ4NOOyia-3upcDfsKG$6R^;c{C;m7Mjdw+9{ zc7IqpahFI*<{X)iw`=M|$_1PwNbvIfY26^}Ko;P1U08;pu|kFOX^A5Z3+fEua7n&Y zvhE1+?Y~1-vBnzTefbTnllsO(S9BkincBnf`n%#g$}(sUVY7Ww$6n9*A`1whWS~zk z_UI9UdwU`NNR|lKjK;ZdpbhVee9JqkI%|oh>6(FTDdy(X?!~u}R|vbC!@*sU956U0 zK7%nmz8%C$9su`Gb2l+06KB7%sEfqQkQw?i!Uqy(7%|X6NuL86{QeLSr)h-L%xVTu z`}pYvNboSFWs!W6t><&B2u9!CIh<^4hw#Bxkc=N4u>(>epvbUHJ3bKMChlhD zNGqD)4uaqb)E(9=8Y{Jh(z zG^eJbqXE!DkiyWUv#9}krPhG|_XFM$)*=@e%D50sC5VW3S3Zn-e9rF4N-5e}d@I@^ z7xfw}*Wz?xP}18A85*S~`q2BpIvb{drfKi?Ln})5aRZGz5#Wk{OE>upV1XjGAG7;= zl(?GA$v?COnOIa5C~S?;6u`*As@(oTkh^Sz&)XL?I7%bvp#*x?n#4)Aa##7Yzb||% zVlpiv>p7>jdfTQ*(jeC%^W8U`PBYNUqzOnIYVD%l0IW7?H7&hmfjX~}a%RIQRb0o_ zMMVx0uo?B$~f&?Ii;b_Ri zSnScHY(D1nK3!nMGJbd7EgX<%I9O$x;jH zJ@_g-L%Kw=y0VpkJ%E4E7|9PbnT5Qp#*UJOenR=!%fKG$Esd;)7{x?|9!V0uH+=xb zHPL7Y=+Dq`{52t46q2{n5oeE_!R0GmwPgc9G+P1V)|3#IfveUv%H0F zauSR_egLYg5!r}b9~RLI`vqtjA{GXa2_WNhji8$=01xFNSG9e^zmnU0690Dbuc~h~ zfw3E@8zkkw>xzxa*y&3F!FB3ryW~Rtd4-o_Cymdr*!?QLQfeYy8rpX!YoJeZ&7A*V zJl{2Vt?2qVs#8^S?_M?6>)}eXtdU2WVftB%CHhk8nH#Fkv`l}lsZBKzc=5@!d9^;l zc2A6De%aoLV>U38mK+!sSNMM8ifc__idyK>FyoNZ9FJSVVnflzp3rhqU@W&0dxPt_ zQs!oG$@gmapi%EM!vjaB+_H7mo6nD1W^UZHd7u#=5m5V_=^7)B>X2yBx4T3VTYl=N z(VcBBTxPYH1D~-n)f5`tSE~DSRj4g~ZSu*GErYX7^KRoKB~K=q!O6ih}8PTGs0)S2bQgW|unGsu#n&+DM2-5Ykwx#2s2nU}~I<`N%c5 zw9PB64AQLePVuap1<6)|OK7u%-LPUQ0m)x9u|9;_h>!o@9&#rHYA4j>5-x%5g`D0w zCa-r`AScn>vNInh9Ml6^&qckld3j7j(Ka}A{JV!5*^xHi{JFRtKf4Cc!_+sobFS~f z2A=J*Xv%KInx8)9v_goy{axM;ynO#ISknIM5tpADB`iYvUIfI6-+rZ^*jvc4I+r%@ znk%*huzo61Fd?YHpP!0<;6)5Md%|z;xj%1Kd;a{T(a}9ZPp@v9I<{ri&F$QBMkeMX zTct#i!<{0#I(DY1TsT0Z+2Mhhh{5nJdm1z z3csmGsU{uD!X1jJMjbUZ>LcutuH!mlPOXaaJ@f|AA-UT6>eR(m!o~eFefd>-gSgue zu2fTMBkSeb-G;9lC0HfXg91bGW-1eUL)XKgjhnd6;2SGC{d2QlX}x|lGEi0UeN)^+ z;2+e?lq}2|yQh>n?zA#r_^F^nIcHZ>ZxlkTme2k=sk&y~X~rGI67Y8Ia7_P#=MfuK z(cdHnos2_~EJpIu&;94`2aqAyLka2K zYwd_2uqeO##EGZ^m@q!6)Kc}AKaXaD8ex~AEkQC;jb7-trOB!|Ryn@6N^O>aJBf3( zI^AV_BE+L5;qG?03fH24>)b;JK3etTqad!!)O;#orUZ`Y@~9MK$dSUG zoLgGt->7mydOSz3EB!c=BqefdK$YG9(>G+MmBlYUFDHRwc8h9I+v8d#XfTB!lg0H|&eE6eo{~+s~X8es{f;OpSCFSG~GXA59UYOyYJ6d3{6i z)nfbkMK$x{0)+Q91#>cjyv7Yq0mdwwfwk>z=q>aUJ=h66OWy@#p#L@9F3|pQwCO1# z=qI$<1#<1aWRmw)uy_e-Q&Ziqyzhu)-J}@cn|?uJ&@0Ji_rz$)?@exiBGDtYY3-_X zmi>8z>olwrG)WIxkvK^rt%kWQP3SKn7)e-z8>C8L8)FcpQ!kA^b3rB1$wdb ze_E~KRAblUou~VT6iWrsPfXh0?Un)~kI#S-BNJ&3R1ZR0Ip%D-~*yun!_1LRwJgy9`H=<+Pl zLZyu(_x%Xw$=Ui!zk3>wl*UkiUGpGk)-1kC{p|WC|26aa2I9K4)~dsoPEz>HN~T zvAC4=0XTWg30kdc;C6lQ_6jW`4&MaMiWncI#R~7zl$Kt>!?+PITI)&OC`_9x1BLwQ zXzPeayQ}2;PcZ$5a8^&`On-*)8aJow$f1!>U5;tG)Ytm2rfCEdVlAXd?wR(IlTg9y zzCr&;v5n^-^prl3VsNCJUOluwtcKXlMTWoY+|<)hh;*6~G3qomIAG>(MUHS{xpApy z6$otQIn&+UiGv6gu93-o<)H4{D&5h?x1D@A4`F)+3pRrRt)++9Mlag=Lb0}l?_vv? zitkWGVJ!&>Z!6@QjC8`jk}xC}!a?bEP06txve43QmcFY7_X}#+EW&z>r`WyPybN=zrchz-m@Lnfc2>e-h8%*5;%wRjrWD~jm z5xbM+GHf!BVllP-ZEQ6+TIGu^B)SG4%nH1#FkX=YpOA3WW?|DmVcW05tf0-6x)0C- zQ0n~kzp!aQFzMMlb`EEj)AALGG9D$CmYny1NOmOT45+u8k`@W~HgSsSuU{5U33-}n zY6u{mp&#ex4M)Y+4J>|K$sainwyGX~?D_i>cU^X2A_$%ZTTlJ;Q( zd@4ougHSnzB}B`D$v74r190`eHnCZP{hoo$Mj>IB2IANO^C>$dU-^B!|BF7KYx|m_ zD@D5OZ}s1NtwD#O#{K9=H=vXwl$q|UkNZNDssz2Q@ir_wc$;$60AX`!1)O4mS!^%q z@2#Eufznd3>vqIr>LT~e_=N8kz=Dq_&u?-mgZMg4h_sBPD*k2yZbH+y7J4@`S{kse za7&drsn&vi?Xhyb^}w;#FRkzbbl@;H2kOGNBv`jN54(@}B^PXv&Y*vva8Z=)5^Axk z`2X9TNL0Ji5s?cx#?_6|(ii)FS7*9V)6j9jUoLx1a0&l8LHkBr?6H*{Gb?*#)=kNO&CmPZPYIo8D_iH5UsI>KTS-A#BNl(t+h6_yjX{d8)V5EehN zR;09yH3b@ylZ5w>%N@GB%%e@=zPI{*p?TrMaPJ~55*oc@Uq?XhqwVv{_qRf`Sk&f$ zWrU>gmFMOJjR#jD@y?jsNf{w$^yU(_R4$mg5qI;*5b%ODI_jnPEJ};|C2CS}b5mh$ zvz}26iMdLm7kU!n=qex7(L6jkO@y+xF>BZL??79MG z2eb^6UPH%nB~3fvp#|L?&(;aG%?BZtjOzpeHokeeT|L7-2KTZ&-@)pKwhv_VQZh{P zcYJ!2hL_X+e6_X$-9et37dCwIUs_mAcuULdsz)4gEM%ZG3c~9rOlxCV_J9>{ALG$p z;24mZ_?OWaN8X>y^ksSFt?7Mt0qGQEGu95Y!H1&hY1iTBJ4gN+O;h4xUxZ4U|IE5m zfn#KP8M^bLu5vpwYG*o}6VNzdW6V=foQK;PhKsJnZ3_}Zsal*?D5l1l5;2nh&2#MA zzYKWe)A!oPUqGCnwxBy-=S@c6L#;YBfa7PgT|`_=VkW+`7>{p-S$vn zljoo}GO)mJ`jP*_2@iMNACrq0_bt!b!#o_eLwXma^!;?k$^HpR)L_;{aEMM2brZ0}M= zwMvhK06YWS(wUNt3vBEk`zcN_DVyPSwKA8M*T$Ym*IFABe}6|C)ueF)V<*5?d~ObO z1&UdA%7I6u1o=_@P;6rb2Z!!=z%Q^DXB&^|J`A!rQgCN02AEdeU5UoS<<0(8$O?x5 zHQe(_99MiuCx=6HWM@!kz?=W*>+ah!1#Mci_u)dWsyNB9KZDu5yIRI4N;=P1;BPuz z+0j{&?ZbPaZienjnrYmWBtPFdjeZGJ-k~pv9gf+%9I{fih2-D9$Zrn$>ro)3!CYEF zG5V;RdvgZ(f=1H^o7xR8etCxG2rAlBitl=Ioi$n$v8L41_19UK9jCd;-rkWBNU)qUbQ! zv;WfE&dq1M@YzAD(1732_0|i`g?B63g?pUtJ(b$;sd{haF(BU3FI;-+y~rADlZmV3 z28g;1iQF{ry)y8amYkMLfxGe|C4Q@PKxx=%QFG_#kGw-Em~@@_;W2i@ zGgt%~3YRh0ee&byOG-Fe4doZ#zd$6LSVB>|<@7*4o6O+@%*;&xwYiVK-2cYO{9`RN za~U7>-SGph$yIN6FoknJRrQnfW5xm@25>M=t9sN7{Sxw}59{OP|X?XAC+ahmpp#q$dmMc4rLfzC!GuLR(K>u*zVF-kfE{yt5~OU<5U3 z`x{z)%|wVs`~7mhFU=8DHQ^ACY-L49V8XaF;m*J66@k>ctI<)X5@9UBf59UZd(?Pi zBFp_?l^wcJCM?_%1H&E8?*9I&q@C)-W>+?zX*6V-vif1@=X*FWNsiGQVa06xr`10L z_!I~>HKPomwl`;?y1QZXa_ddKH%1}L6=cR2=L7T)s8Z+C)9-)+56}F0?nrXXIZ-BJ zb0S`IQ1QNoSD>!=L1b%&3eOaV3j3bsO}a;;b`ZQzSM|5bCvH*=N2O4dmTDhsg~}>? zhmdhB~+l=aUuqZ1GBksx6L)s_!Mg#K2ZsxXT9b)czxyy^T8f0+yZL9TV3x{ z3@~)Pa{Ujid5JELd<-vov#d^ewYeflstbaM!;{C^buxR2V49k2CwN7C>*YMqXR--g z1FG6%J*)Dd&W1Y|V-p7sGpdAtbqA7@Vpc54KixQrP@43gW->r-SU;uG82im7uLQ+~dzk#uCq&td7 zcFkx*|0FxdA{Cr^08Q&U_HT*lvC~Z1K~P?~UpgMgJOuN)C~tsYgaFmOmSOr7C`!v-O6Xb@gkXY4DFm$)q+C;JI>J##K=W?Sgo}9;L-zQ2XD_!>d33~SRGP`i-+vbnv(^C?+NL)Ri zd0m>dF2B6yWpJO{@KI~t7elO5zlDz!-H(@hL2`fFr(FbB?aM8)aP%w~=IUGr7}3Tr zLHAKicm+=G$$kF*v@hnmHZllDqnhai9eQ7{WsgS=lufy7F^tmZnDb7V@7fyYF*90m zbuN@%ecq7c&$D_(Z_<7=P<#_@e6e4crvDl}U^^cCJNTN`3z?xL+_1#hq@T;n`hdPo zp(;-VIdwe(ILk&J2+}{w^DPs&-qC9AGgEiXdkGe#@N~tW$1{E13v&Kl^yufjsfarb z&|^RR`=v+Z^uH0WCeG(gun4HcTvETR!ZY-Hdp!a3ys+4xJ)gT@fc$Wq3sW*IvJDS1 z#_4gQ*CMYi&#tv58H+t}K7WK;K)1okmzCh`OO4Y1><4kmX06p+wz*{u{Jt|kLCfva zcedooU+9eSyc63eNr|jfno7x+V!>ww|3{bJC$7#C7T56GMTQxKruojZyl)F%uX zpurTYbprW9Wqj>!2Oz5|VuF;o$O?#JFs?&PnYTpSEDpVxT*gGoe*AZlLL{n-a53r+ zzET>pqb*A{i*-po#F-;%iehiU!kOedmr}5u-);N_jjVlpQ_gBW9)d z2RwPM)X3u~M;V5TJA8`1k^9PL21iy$#IvMvFy`}*ykcq4QH!Lwrdd-(${s^#V?W0s zHmpx%f}QIvh$ISIE|Ll=4EFO(h0|~;Q(P}Y?dI(-O;2smCAW41%J$QWX!CxSP zfaAT6FVBT^$l4w=!o}0Wug|tJLYKisplp~Oss%;K?!IZR(x4IFOa`ZK9)^Lq00Y@T z43UZGKL&L{=Rg5KN3)!#4=D9thk6l3PJAzt$?*F1MW8Tvl?r0^+`g1@nqo%%qd}bR z9;LEBYta5!pzoiU96-ag&=$i+#5#P~-o1b#d~>tt5_~LI)^H_)oJoXJ>*Exp z1WX`x@bKaW`3H)cbNu^J_Bo5s&dL=qCi1i0f%*Bo-3p6T8UzJ+z0yc0S=G%Q3KsYqCHaTGZn6C|>S2wlh1K7S+_Q%UZLqhMaG zSA~#v*Dt=91SN)`O|U8b3h9ImEIL;`VFr*jfITWiB9yD()m^XhL@bt?0!LD$l{ZgU zup`n!6jNKX{Bry14a{j4_9}Gvl^j&wpixrxc(dv>2LaMAAy5A@KEE7)E^^jV1+at~ zs{OA2p8Eqse#0Uj?JBOHNN`Z@kIG-`L=ty+a)1wTZ+yxjQ@X zem)$AA|$tXMU(1$?rXl3)g@tVogC|pLVwP5LHgBfGTOeXP1?szJI}!}M4!-T%i{%e zd>r)Vt0WB_(VX+D+^efPZ^(T*=L~=79x!-AS|=uiS^YL*hIGAP`|GL{mK*QkFF!f- z?&P0C`t(+h5;8z#lc%F&w)ju#dwjx?hL1fU>9zlHbRPax{_h|ERHP)5 zBpIhAA{5DrlaLS^Mu?N7Q%SP7J5(xiija(Bgv?{hJhseZ4LyYu;L+K){K9x@#NFz_@V!HyG3o3Hcsci6 z%?7gcpseWG{3b<^K6_Z0*h6};@FXttkyG%)U`-r4bmyk|y2d&QV*z*E>x8`it{xPV z?o9v5CoPDG2sL4%f(dZkoIbyt9g8RM)_1-IQfODMWh1{K~$PJRj z%~XuaJ`lkoTC%zHs=ucoRXW?EegGXi@5th4bM3aGUS>Vn)JWLyZ3!(qId&a1E@7!6 zOY-deexYYD@hH68<5Koir-h7M!^+an?NbOd^R&8HOj<#-p@a_;joc{seeFqtvA3Bv z%pBMCX=DRby9b<;9)Uk;v*wV#%{O7vrrz9lAXDGABdHkD1;Qah`^1I9&4yPBAS6_( zt}7ss?tBT_MBvwl`;r2~OMIfi zw9QafN|DY6ICr(L?ErId+$2KUf##e@*uWR|hO*sdXR9I@SE%yTR$3TSzf9Vw!^}>8 zM;Qt?nzHi!mK&M2S&XEh^LU4*Ye+%!pLm5jgK$} zXwyU25mN~6`96O9alOA;(K)+LKveT)YD)pqH%^lj1#Tu5mPrT77(A`^ymrD!;9V4} zP5juvfW>Nw^i>CILwJAgN6iN+JIHWcCR1#yCXjhG=VJav=qD)1oCoK~dOLtV2A9KZ z=NhQjTnz@-@j9fpW$wP+r)BCvaSA~n^Qd}$^Y+5!uPpZds1WI0U@jo9k@y&>UYSyC z15!c9^L8+dANFEYUj(_k*6=NiF5J}MHfgehERsnz8F=MnOJY*SfzX;fa|*c3{P<8? zf!5fS9P?TE@0#i{rx>T1Jo7H!^BZ356`TGAX!dw8gqcpRsU{%Jo|bLkH7+&;k_R^M zrn#vDgWKpDDwzNC2H-rL4e9bnEcXF+q`iz#{!rv(Gg|LU1HB;`0BMEK_7kEu$%tFz zb%1zr7+OHAv-IE%%}Jy$#6a*mkdT~K0LZ~xlm($Jmt1&FIN6^#i=#*sPQ39=DK0&r z=T$Bv!Qu(n(fjnX^^hR@>(q~PT zd%vq^RnF{pe)B0W`7PN~cZiN2MqHY~#~RbKt_4L~emq5;uU*w1R=d(OG1b{_aC)>) zuwbPqP{Jnsa@Q-P(?8diqt;iLy#4Z=WikS^vapIn?MJ5l+P(dse5t(0Q9m*!NHDR| zL>?1eDMdH=ELpKBX2wH_L0dg=Dmd9f`89QOLj_c+2;28aXVSOdAl8| zn$}I-Mnq`G4US#*`RT##B&{hau60C2)x@DC&$S&GG&;0NS5P3eK0MctlVBEyoH#eG z7wY@Vx57>RNgab(oJ>$-dOeGB6*RS|neB1TL$0T@WAq?P)Md2NBIa#O_j?BAQeXu z{eH;SwuBF&Y$2a+CAPQSMu%V3BRYNH$BWEi)?35-6eeq<-TwCC~GPLvsp3v0n6!J zs-33~6|?)a zC>leVeJjrBjFWpI7zWAObbE@s#>YAA2<=+p-MP_u>XwISdU*Fb#A{ocL&q4B0Xcz$>OBm#@1hZ z)B5gv`5VHn@b+)(52b!9#Z(-Wubve8rr7C(MJs#ExF`G3!87%$HtQ-moo}w8#Y9~y z**-{~fZ78At5}c4;LNPl`&(iAVl?L881pe1Zc}iM0)blIXcCd*#l$%`0pCV^_K)LK zFUhxF%pA2NXq=T2FO!cIt5Hc60yZJwOcWPzR{HNIf_%Ts=Ni&tbIUt5Bvw$}A{VI- z7^rD>|+d-sJtrKvW=zi1J+0}*q7Itzdy|w!m_{w_D>i0UrI>boR3%$7P zoVb?YnDxYK3$=jlhhuA7%`HJT9N!O|fWV2~q2p{p;7@C71gnNjANH0E;Gch`_dW8%h2d837QOxwClC*@$BwL{P(Wqh;y}#i)uG+)U23zpJGpmmz|an*=40n zWndD!`a+$5eH<<){q(K;{x#DoQ${2dURXHVA}=BZEbex3k?I1&w?yVQlWZnYSuS&6 z@#q}-k?OIPgF%>lRxx;WFVG5oepBEAAT$VQ+Noshf0q63(aIcJ>p zVLIFzaAjhKPl7dN`?OcKKpvU6iv7n|JAz^`K)p%eZYy9S!07+**U=cao4S7H8Barw zcC7Ps30KkA*-X9C)X&eTRkNf2zDLcg!#iu5>@%uXQ+;7D8LN*)rs9!l6e=khO9?~z zVr%hxOa6`yg6ZueGa&ob+Uos+aAFg;Rb2{?mP}}TmHJQ4dKxJa5oEVxVq|0f@<)i8GYWhUpDU} z!!Mn3_>aG7+HlZ&i2KH=$xo_LsVP_PJWC*5mcPrbZss(*s3)Ckdb*B&Xt-P#A<2F7 zu>8o0eAn+s{Xfok^dc^7{UJ`>H2%{$^}{<*Opxb9pC*u)A-oTe7sP$08EtGA9_Od>@`yRYZ{92B@kTa>IM?tl53 zREK0hwN+IIJZa8U-YcfM7Utfs;kGG*9mYNO-b&NF1oPcC!q+_WRWe3#W70NRv=)6a z_c*NQ;n=)_+YiLz#<+tg|6U6GzH*r@_Yz=T9(|^UQNny~KQL1FYeektL9nLF{-JF8 zw>*8z#`ygic-v`ql1lEbkXA6h6h}oUCfB7(--(YqKUnbaK|s*JaZm4f~LHG|M`J<(Hmuw01LI=Y8&{ksH?Tv#9j||~sbV*s7 z4iM#DLh~N=|E8{8)xQ1hZ?%SKS0p6zp8*`RgCNJPK8V>D#%7p!#a8Bm8Z4AEa+E$k ziQ3bC6BJL#-wF%7#qsxL_V<{-GRtbXEMej6(ab6uF?#d7f&6oHrWktLMlFk=#n zz6Hb>d;+>)kX_<7cgPpGs)nvz2t+~i?U7n|lPdLuabj08spO6z92;!=`0La#nQdQZ z9|+Zfk}4_1;`Cuj)lMo7@gAb`MNd~pi7_?7EK9EDz9A?h@bB|P`@T&H}MDU`c3 zLdb}}E3IPwobT783YSw1FFU{uN(b)68sF*z8rFZ+$Re=bqnuA~G!@st#Qms>9!%&=RIGiydt~>c+ zrR@XTdsFY3Mh`}_9q3=h8^o|XT;BuMK{N}aBmnYy>icJ%N0?jVz#?e{$%1;=cQX+t zq{M`Rv%aLh(#)2_T_#lA#*aC5*TtZ6Er@RGNG9Z}{!vIHbU(Tgyjq87$S(B}7{wr+ z14m~FJE7=5;^qdK`+ppGgFgV~@d058x7iQ^gjVAWbjR(#rRYviUGP|mDgf~UP_OY# zC8NY$ehIk=TLN2j;OmNlW_su{;3Tm%2TZ*(c@+FVY@ci|*w{CN!R}Wcm zpl4CY+=EGHQE@I>MnCm>bH5tPyR6s`^+e_k|y62ZP zZJS!6Rd4q3-Z4itjsVbI{2F(C)3VPUx4}rzf>kze+f)45hnmZ=&K%$Q;*Zu^cXp!{ zli2S{SLJ8?@OjB{T)>E;$r*nU4ADS%q*05pS%My;q-OjE*>~=o@+@6F`8!JuIuw#b znLb1e4Llz}iC;Q%(EnD;NxLip4ih{;?H&YV*2P2V_NGSrW_J zzk8=U%u~-;^)ftV_E=vHVux_7GyQd<^3`>=foM9-9WNii};TlC;$ZYuE zHDAD}uQ;WbCo|c~TxOl-N0b*Hg_UMjF8srLzo(&88Hw9VFPZO76~BWvk%8zv2-W_lpsIAmQpnF0}EH&4ls!k3RbR zfG<}Pg*bTnd-ydUUQZVV_<@z`wKvxXxv1>jsi!AgU_8Ki=L@{IHZs zHZ}l~YbyjdP(e{Uw1j6vnaP^klxFhQ5?g$B?P9{2evYef!22Tg%2M#d>!4k2d>5U@ z^X)dt_xGr;0n8OJBLg$00=j*iBWw5b^==ZU^pg7jFsxx}b(eNBYLtp(*S0u;L(4N3 z13d!)>Y{hi;CmRtl9o7u^@+Y2Z=I;{sZ%;NB9}`-W%5vLy&-DMubiGhMeeH0%W^w8 z<72;11zv(T1%YLbw~0H`ftF!dCk{b|zEglKJG6#PjZ9`EpO$!w`NB%#6HVc&~ zmu4{a05v=FAc#~Oy!pHhtQZWoaZQ;H3C6pKnBE_sv`4Gr!#+(Nx%PxreP{`THmYpX z!WHm^X~b_}9lvYiC#+XefnUvaeZ|uP9t&+;WlHkr#(soq48lXJ?WsC#z0vjqXgc!D zYKYsH*aRKfqebP*p!6y=l)QMoUF$w8uS1Snv3(vZd4QG6L&LD}_hZ1?k)4M-NOHCp z|EYCk)?;TXlX@{g7 zsokpyVYJJTxlY=jxmdMXXAq>0uNIm*EGK(?;xK4MqdJ}p|3-kleaPUVhz-ntL*4Du zQI98%`({>L6zWuYdyX$H5q9nO+z4A6v3hTf1ILjx(vFMVHW9Lhk zjGnI5fgF9+H<}x7n}3@f9De?wJBk18rhM{aj=u&i8E|(pR8+sW^QtFraJ{jR?0vza zOTb|4oJadzo^$guRmbSvizDrC?%Ee5Uw`!txr4fSr^>18SlLxLVK)4=j-DOD1HRT# zd~n?Ac}cvxh)}s%wpG`J87+5K*WkWa+uam~i5Xi96yOxUMyNPM&S*oW=DsZX0Nw|@0S_|`I~F8Vu_ZJt znb*xY>781(i>bZ?tWHBvP2~N)H+d$Ts6W|HZN$FaBY_G4Nv3M6bY3txc)o7nTZq=q!wQAd&6bwIoA#Rw!EX~Q&X_&n#d zIZVEG)6p$@`o92G?@>*V*K}_4w+ndhl*fH+SiFR!jDHVCsG;qe8xDLL4u@GC{mHkH zPj&3&u6>vB?i;|@J-%NU=W-D~_xr z$dOKjdQI3#AdeP`f(b_~S(rh$QQh~yU73MK zE@zP$=*{{Ab)fdj*kV_(&M`o>+x%s=7Yji%k%-&HatF?kp!2Y$VTAakXTm%-hSB_R zDr)F(K>t_l@b2RwQn$P!V)BIR$d}BqypDQIhIk9rBDJXE%kq86(=QhzpA9uFwnA6eGRpWP#Q7$~kqR&2su z(ti@e0bwlCG`<$%UG}@V^b^5(kyfqz=(x>y-~!LGMCh5sZkn~H^`P(u7za^jA^l6| zEyvHA`8MTD@eiT0D>1aNCnI09hVbs?ZR}9ewh**#3JH|TC;l%-o!K>)<;fnv~YwULlNnXvQ6YYz@sP2$6&W`j^)e@QQpl2U60}jJ{5C zjEtU=#TK+Z3O3m-7dD9m54V93`N*0EQ61@-Z-Va>opW5*6hdxzTO?SfI^I5hIU?-r zDRcFGRvj5S$egR(z5Fl6p9pFlOb|abfX| zKK0Z5QelEvcm7LNOM_<)&uX9kZaW|yI2ce|k6H+|)X4N0IM{?Nab`Tw|GaAt?-lfr z3W0CWtXY*hduCaQt?PX@d-$K7*@G=%9@3Atqa(_edYUElDcGl^+IJ$S=*`7k+3I(M zr{|X4aG%PaH6V=HZoz=dhHl1uWty+|hJdsKSN3E%kw^3He2|u0Hca#~T1x$F5>#Q? zcH#CLyh>5I$6Z9O)hfw+P7zvV8EU=-Uv<&{DQ_XoGc8i< zC79@7Tpt@1V*EA`#Tpj;q_`nNDrpTn_wZf+sk6=f{$9`HtKZ`1bN}*|vK|KJ5hlfZ z)E){12U9!;m=Vc7PU`z6bvOnzLfL@3V+m({7GLu0&xt%SmU{WaXQ@I?HqpXlM@rVd z#@Vt2X`ko*-=q3`<9Ny;D61GCPW+4oPG)t;n#FmQ4yOEUl_w3Qse`hdskR<$LgLT% zwAYU3u0MF?y4|ELL>CHnFpv7dcXuijZWJpke8rNC1PMD+z{Uck9i|S)*OV<-Uwt5? z#`*k@Q4kw)x>aw{4pZ2sm~x&O<2 z$g}U>$AwR7Q+Nz-%7&!J2iofawb6R9J{nRR#K5@SfLQ!oz>JCGj@VMU*w++@ZAwHE zK8qH!c|Vx}F%C#7;&%c3Tew|fNf$_7QJbKZXscz@Cn)weuevR8$ z1h{8kmn4mVvP}0s-f?CEKvVKb7Ud$g9LAT8+L7dpux-!`LiLu`xvSs$?=5!t>|zN2 zKw;*F8BDpHxx0pGD)Z*Qy$`r@U^h2^{UfVh%~(S%BS$~L$XRgU%FXCklN8*7^WGEO zFFX*5Lv&1w_fL1LBCrzm6_)2J4wn6qICsh~Awggn#VM0|6IGttTfDg!$8LJ#sR<*Y zk}Z1qEI#NBT!PPlakSC6omh0$d(UYi*p`s~O8)RIE?J6&nD{-lL{z1cOqr{ZOj6_p z#V^+8jp)A*3Z<&7mC%Y$==)Vp>lPJZkwiE*Ji7eKO; zEtO^;TaRY4kTj^`$L2e5l{#8xy=}SF9WYCXhp}VaO)oduo+x_Ca;8V7ckLMk!?Z*H zG%q6wkxb{&C+rD4*ITq4!&>9&Tr)5Yrd*W|1}A~@jxv+G@G28B4Hsb>DhziloTpl?wEgict29oClDds}mZ{olkC zmm%wx{{MkO{F}iGVmCaDV|)0>&WR-z zof>th*ru?Jzz!G`)3E`aWbbZCWW1OudLSd1{iy}c&7ei-X;y!uV|`fVuQJ|+J$AhR z;X1-fk$4q}Wg}cq{$}{eTptfC)$xaIM!wO`%-+IbRnsb@59Vv(jj-T$$CgrVDd;f9 zDmWGOPm9_V2_!z#HvcAS^TB7NEb(E&zK|kb-{^Ujs?jZ0%-6^2m0|ipL}qi5Xd?G91=-UNS!pNYyD)gHH)@xbigQ_sQOzy3>-A%_vK5rQ4?uww&M62)!rU zc6Cct8+~K3Dt=i^6HRZsG&XIZU#fcXNd{Un`ESaVXLm{nq<3$bLt6_~xH5IAC>4}} z;E}PiCk_bu=d&~^a%PR)K#WFTC>s%aPi1^!z|HHD&Qo>WIid9u+aF?S#|_hoX9f;^ z^7!V0)pwDPe!lGsf<7%2%W2}c@jsnP5>64tsZlc%irZ!LITBH=Tm41ep_7@T!U|v} z@YOT|zN8!V@+F^aZ1<;4oOu#4S8s-IS5%efkHHkG1(l{U_>&JN!(2&0XICZ(3^uXC zf}U6i=j~N3Kc#iANo%_iHT8-E*?2u)2;LV!0e$qul-lTz+1m)+h!)`=HU$OD0w&!E$cplt;Qt`7$mNL*h~wLD$XMzhnH}5l z6~Gk+#g^s4GJ0G_t8@Xb>Qx#=SR_9SdhxR1y;fi&-Q-P+TdfeU;0hEI>@fi(=-E5D zF>oGZV*y61IF^EGWPI^DT`^m#28cBK^g+YyheIO19+WY$Wc;kpHvQ|88|x7BtVL@= zxd_Kmc*uVpd+SKCkS2i5nY%{j1uUUqh+|<2sCV9Szjru#ej3U?rVH2|h!$`l7@aN$ z7grO5fYF(l(I!iH)&}4h6blx#-Lp`j*g3!*xM0j9sbwiUNuU*xUJI?EM8ppQT(m5W z;R=4GW?uk`v-lOhe}H&#*0%J4ftU^ZA-U?*%cmEL0|~a@;8_EUA4LR~eAa071$yi{ zNk*0-WFyThT@<+UfpD9J0l&eebHui);i`H+avzt7=U6J#&9InYTNr=jQ*d+w!!Rkzm4HROZ*uWu!7u9cSgH=o-#QKhZ)U0usRgyo1NMeIQH z5p#eDMRQE+%>C3X2eDLnv-PYL@CVGeS&i;s!{pw>v}}+qCB`s;rE~W5!?ru*QWi7> zb=y?zVAZyMb^lN$`~h0X7VN)cJ2?AC67)&Xxp#o>P%{*Z1_*F|{{Y#>A|IXKJ^?c=h;o!YNfVYg@CfouWR!%@49SJ#4n!wPr zz$2t{b@_{iOV9?=m<41ov&K9CeLkQS`46bzOTpO~u$aGnNQB+z&IIfy(D}fVlgt=o zZ}7t`%QLH-(eR3p3&*hhDvS>-6B>@H4cu8b54unZi_n(@=n*#wA+Fn*3&;$4U+47S z83+P$ptu8KRM0yq%obE$np2@2|dB*S_Ir`{NezGl(fU`VW5jRKfW;R|Z8|T$+{p0s` zyMtIJ@b1k<*L!KPg*(efq^#_(+<${z5E_{k?>K1)Wy!*G0xc!wo3JwQw&sbyX7uVfDg&ic{X~4p$WHwgS-HcA zanB3w#>eaT=IKrxquz=GK!y-`gB8Lcw#MX3RK%qIE|gDWk@!(_Wb z|K}uL62CogSKTBJ|Lk*Br%3dy#v1mSk%V3}n}_V&QN7o3tTD9AvE)~OF8e;!{N!xz zGS88K4%OAuRI<2Zi&4!O)U9$?#LdcdN5Yw@%`V+*br&o1ZGidXrgOWNqr~X;Pnj6u z4D~UBUu=arQSZSZEf8m|AtJ&g2lT(#G5n8UR+Ie;SGi>I-+1AAJtU8pNq8+5Y({?N zT>hA>(;VhP{8)b0F!^J@6RKuk=Hs)D-6NIL|6QO9soYIrQ@mg9)%%T>(TBx+?s*8l z|9b%tRBr_*q_%GP1;aHxB`-2|$gyPSFtm|K4xAH^ueD5nja?(teoI{kiwhF6W zg4jgX%kDq6t8#+>fnUaaJ$DaCm8>FnXJQdb7~;9mYJik}Bs;UPN@By|5tvRFZ~4;nQNa_cMM2SRrE;v0WTUg7aJldTyN0)! z;6=mNvNs={x}m|Z_<3aKnQdCJ9Oo~WToa~Stjw##KXBDa4r|P*pU)06&w{*Pl_xvY zM3$5ZZMi3hrk7rj7Gu6#Sd%OdT{dY0gl%XBTbvwk;K*xV2n)dko6sQw5mu#{ zKkt^z2vMECrCs7ViYvVPL#>%u`Mq`tbO-H*oORB1J23*c~h=w#yKnchPlfc>kzUvlz4axp-V9-b5rZ zFZ}fc=BCiP&2^WXuV?&MH&GX;lFW7Gy~=e!Vy^y0tB4f&aPj3BncBG99{51n^k%b~**jZks#tT&@@&LWLij%D z2OC5#v~`G{gj^u@osf+MZy6dC$o{X&4iBtRZmeP<6=-htAfriGcQVCPOiDa&QqSiN z5;F5)aro9rdEMV5#A$?DCuj^N>Fy6vs*xoJ?GsK`G^FCH0x80ItoAKu!{inp4!CPD z8DGY8QSfnmWAw5~(Y3aJ+v@kU3TP3=apY(!GV?(4Zwfi_%gTu*pZ4=-(TA0*yw2va zLc!9t8bBA8O}|Hk#;k;y>YLUri8*nc9ka=+G}~zwPu99=bAx?WEeB30^j)}s-U0Vd zga<>6{JkM2Teu9fVU75!u!iILY0#J@w24&jSf;WUvCZ|I?ki}kCCQx2w+q*Y)%gvA z&_r=%tqg-CABFJ1zYJZGTMS~-24SOI-l@g-GU^~J%{Rhd#l72d^#v!k^`W|lf*pyp zO{!!NMxJZr#U)fPrc>a{ig7ZiK|ar^+xNjPEmpesR`r*LlS?GM*wJ(Rm$g0GK?*5$ z5c!n<=boBgnj!%S{N8#j=IU5M8B%(VuIfuY2YVnAthdcVG?vl}fN{ zZ8{MaQ%3AQn0Wc6Rs55cpSW#nWvwsQyQ$c%b?>$RX7L|E;VFxmmn=VuAAIDn*Z4zR zQ|tphV%f_g_-+zT`F~(=_PS}rJ0RTjosKN(T4QfV}c+E84#NZx(@$et^_})(8Dt=2sga2mE zZ5I9~urOkwNuLP2%SHdfgxgJ+V&cJ)G&qJ!;1g>ih@_p3ab9W$Vxwa9EbaW(8xn@tk5= z+{OJ3lUY5jh*tph6X;P%<*wV~pr4A&O`C)Ul8l*4N0y-=SApQoJz@qXuS zNqyx9iiFU_c#B&P+JV402pAFC9p@U)UGZ636PO}tvYvw)I;g0ctf<5O14T@Euf6@W z#?AF4YZyO|uvCOk)6l@N4Q>T@@!sp~_7xq0yarPnrLT|j-7_KeQP6HadT47b_{yKp zS)SzZqxUKQ1u$*o(liuyoJAIyM`C+GD*6XoF-Bb3x3bQ_&jg4GrOs8Gtn8*8pkcP; z!2BS{-s_%c1vXFsf4L<(?m}a-X_WqKhE_oF>vK)tYQE*Vmhs%sD!!2DBXV0|&fepi zwH0MJr#;T;(wXln^){-d12>MQ{B5r6(TpV9hp6Ah<#)XnMqeUxJ%Ja zoeJ7E?~@@Bi}g7{lU)^7B^7E&KhZJr<7oHJJ(T6*nuM z$r}mk#fpww2kl+GHhi=GfWYT?)dR*hA8k~W--h{tIzh^+DsNA#FxNTb7&R)zGJ3rH z9KkduR9GwBS;+Wq8IO4V za`ycchYETFG@gBeZ1>W0SC!klMKv^rY0`FFbOZN$FcsBxG61}T)LpHpnTx>?qg{IF zwnG`_YN+`){qZ01(X#Kl;$Sr9xn2{C@?O)jE?cvQE<2cGA>e)!oUDhlpRaxbQTznv ztxK=8@9*O4A>?3hl|P_bGY9L{*MVabf>wNzS@rn3;*s7_YVZDFNqVhTQ7C@KxYN zT&Rml>9aqTyedsD5|?{p0}bIB(Gz)S8TK-rkO!;jh+7?@)I{KM&aKIW3K4hn)Ogl z(dYj@u4BaJV{*EOhC($N2yUTf;OM42`KsvPi?GANq9ic{STh)rdWfvQ!mX}F5Q3+03xU;rEFmP zd%}?muM?`hcW<3})pg|wkOd)3Y+|IV1K)4?wN}Mnz8r(vV9IOKI&C=ntfl($zk5}k zeR|&wa^0jbH`iu*Qm|Y$TYZ=nXVU2vJI)_{z(k~O=g-fOUa|5wC2*d{VHSRQvA9cu zfv=C;elUt~O%8Lufod)&f(~p9iJxTOI_m3{u(IAsK%Fn%WDs6l1r%PG> ziS;Kn9YHZgf!VriLOdOJJ*9F0Mo#z`x{kuv=oXGP%eHxbLWl+YSL_jFYfs40O52wU zs6KGE#>}-NFn|GahV2M<&`Qh2%g+9@J0RP!9mi^yXZ;g_HV9z7m2D^ceXoE00&BET zkxR&?W*$FI9572F&`63CN(;F4gzvRUstfs+D+@{=HL;0;ImJhbYy#O+x;Zzq^9Nf} zhCv2GoWHn!5nn2+D+!ke4P?+Rd7D?O;H&xmY@w@$g*nX~A0S3Bpu-3OuLKdhJ2Pr9 z=sw*&$L9QPVdP2Oy*(})kt;U|a$!NIU*!?!wD^>6bP zM)^IiW^v(H=|8otvb9!lUXKPBw||Yx?+w;)EH&odJF2LAEsD$OUP9kMa8xb%$%-~q z;+GKM>u|}elx$XMU?%H4N0V{1+PZ7d!V=kZQ{Ephs+mX7aTE5PfO=aCCVun_CT6L- zq~^QjKdmqKa8QADm29+7pY~9Z4;FJvQ%*VrO#gN7X3co&@CtZ?Z5nRnM6qTGJQ}BM zAi0F3vkL3QaX*;WlILl4{X1r(!hs3=S{C>zH=wCdVN>SteK(3Q>)UazNoBap9^yV(+m^>4Glv)_QYB~P_=Y% zZ^l&qhK+Mz+q3vB+5ze=OTGGgw!SJU7nxqF`$@ZqG6?`8_2 z`TY0hi!UQxE9JoHHwBlur||L8ic?rQ?yFK$P)GD;gC|aUjeLc76)D`y5jKgOG)ef3 z_TG1Q@3VsPo?mCMa%p<2XECp6# zrDKqDRqZW86Jk9XeFAXWlY`lJst)CaSz*l&Ak;i3wP;n0%E^Cmx%Ib|CJp5;j-$)Ho$5f;esyW*9=|1gWd#QLaq zMrL1Sg`Dr^c>QYi{g%nvo0*Oc46!m(>}ipi)Ah*1D}y`1hmYQQvD2}UIRtoUIqf2n zc^9vG;uW95SDJgFEK@4Nv#?CPJ2qQ2AfAOhBnYR}oQF$@-E@pv~WEk#jFb#;rhioXqZdFm7eO zi?qWDQDcp-ZSw`YV*asbNv}h7@eTJqz^r1`i7{ z{$FUVm3!HTVt7r5&?vTq8KmgUSg?>p5H`8D``I4I8VuTu{yEbR406(%o*EC*@oM3( zAr1K4hqNwo3WizEB9Ca$u(zC4hA8Qel3K;}Vf)*mZx430&RuK_I8Nh2>;m*fV>T^-zEIDL)I=hD|^w6&1bZ zY?gf*I+UFje`JqLu;C7PQVjh2Vcy_IB9H)e*ah?|p31jdIpvgV&cvCS2}xZ1C2@J^ z(|p>Q7OFDq4-A?>>;h0Px%H_j?%#GS3paLl3aj4vVb3`9Il!Lqv-hP{YX>ZZ5y1Zv zhhsli*}}1EffE{AgkMj~JK4AAS*S?k4a<=^3d+9#_ealXP%9Iea2rd6YIsxV`dHc& zbGXAEDaKgR0@9@-NxLTg?_Z7eECmSwW;5!++6m;0}qkn zTbEzZb54#Jh?t(td;0K?i^2KCqF5^Ko8|CY>*f30?>k`0n#$F>HI7Q#D@~V^CEe#< z`v^Bask<6?TQAPyQXUp(@p*IZbw|Xhay7@=WnuBF=9m1#b|1I3w>z7?PW|arYJ0}5 zD{I4k|6L`l*=W5UFUj2OyMi-$xxw7?G54YC!-EHWy4fjz`Y9tD@7QCd74uNB~G_y!LpyI&cWK7*>@H%~;1V(9BK7YBVQY=Tn9HlY68|YhGCT(P+IIh2K#S z)=1kEa%ZKEE?gOXLYDE2>$z6{R_Gp1xMBv4jk0Bp4W~|$;&zI1YXEP^>#bLzA=A0! zx_-nnQ8k3h+hsln%SD&;kWd7Y*<_Ajf zNeA(VYvJ)W>NNQii<^o>6SMx-`p{Ly4N~_V>Ywadg%+m+>Muh7jzDIH=r#h~`Ds5C(q7cYb2)oQ zoeQQ>euE6YyV()PF3pE?|9qhUOiE|Cw7H{Aq%F^&=Pl?hR@x%AxA)_oJ~RL_{Un(x zbLFM(KOfHW3q5@o|VIquIRN|EJE;O@3P{abJb zXgU97jiMI3ssnp7tv{i2UBMi-a$}HLj#p!br|E29-yG{^+_{i^^XGloaO&IXGxVnv zH!x^HcVGdIdZaoK?2oNctjw26|AhA0&#0SUDj+_p5b|`0Chw3i@HakjjV=^1djf19gjK;uXr7nF$BcbGIE(zjX_3AuzuY$m zr-3&381R~x8{G+=#nUi9>>p+pS(lzJ&f3rTNUg(_xDoS)S;VSnsc4J<_1cw87Gj39 zgAI&GxF9LQZYxp))n7X@NN(1H&tA!}@H%caf1qr|1>cgOokUi}Tcla6AzM|rA(w%w z_R>Z$wCN`64$p247K%R#W7s+Wg!JWpkKEp)BdKwNbMyq-KfF-74cxu8(0N-Bs-9*OCeP9@bqYnc3iF$gZ(%};rmCS7_$cHTYw zfj8~K*~C}c800+A%z!u|_bmk|ST<+;(+#b>qzw>ScJ-;?CdSjq>%Guj8BUEI10uSJ z-D{tXCWP#UQ7Xqs)nrf!io^fGhwO`y`#|5TRQdC6uPQ#1#PyZVX@>2u87LI*bqw@A zaev^Y`da9)`H_In#d^ssKH#));HOR4y|mNiA^s_CUHwAUmzvsza(Ipjax@Gj zfe)@%D;_K2&zD-}&$Ch(-;ZEtiX8|`@2Vy&euX=!!N_r3$Lj#*u!~ULWYO&0&0wQO z3NV2_L!pq*)%fY6Pt3ns@1ZH-bf5+;@luDtUKBWT%Kk`J7qtu1(A4WeNo*&{?w zEi2c)o{Sr|!O1(g=$T}-EgZx8#UiZrvXD+Cs}XAb+D=@i5L8EG(TekymfC?DG*{3> zvL=%m?*dBC2fp-+ns2Ekk|x;gylo79SJmO?q|YFDqvre^I=y0oEK*ZAd#WabZsTpF zRieIlMno=+`f>KoZUA%Pw~k1h-Px{rv8kuFq}isc(%i3SPK|{f&Mn{RQ;W$Tt>zIIDNFFx0skG2uDNvwa1{wRip ziki%_KsNEA5ZPXo&Rw|-GvrLUA&sGT&7lSd$qDP;${<+LLn$%wZ#PT9()8oA^+slo zy;Zt+dm2I%9{eKX4!4U{szA(B>f3JLw`>3Lkz4ERC(d=EuB?dAT(^G=`$p>?Ioe4l zxfrZ7@{trp68wpXkV|o@Bz#U}>Dnm*}D6{#i9_pxwa})^eBF zcI;zmELr|UKfQ_jmxg-|m#xayJX|C=nZcY-GaTED``e3S2EB!|{&#(64OqM`J}$}3 zFH_QWr1$O}m(zF5{i`{8XTc7gkA@kS$i$eBjCV$^Uw28~4u_Mn58m*Ol zr!c6dKZN*Mp6*&9W4S&hm(v?WyD4b%_sZ|lvo_WI-@Nm^JmVUSBE&xg>Tds_y)ge+ zZ6|F3hA8z-VK!&|W0i`l6m}83S1E>Ne`w>x;n38pT-*iKzo?hP zWn?o`t5rg>!9mM#+);7}+{@FS{StMI+Z=jG9%X#5lUu8ak=uIz-86vhwPEzKDLg8= zi}?+eky|ofO<~d$x>@~a7p3y%rMX;TVjJoh zq78h9R_3y)HCtIV3+IF1XM=Gt|3+cAq!=I={U_~MUtOcS!#;1*So|?N!MQunAjgV)5nzZ7iM3vJSJJ@wTZz5v{V>m*JY#Y*o(U+Gxfg{WD%h`LJ* z6!V*xc+Bb{8#8(mwifp0yN`8p}*J51x849uKwL&=Z3<(T+_ zvA8+Fh~41shrJ46lw~|3A`2UZ7*5a%%cJlIs=vuIXa?D+&%QMn=97AMQ z>bnDBcjX%M-yjdLi64GG16{zC@)v9^w0@WD#Fd+WJ}k19^|6s5wsWK++i<48wnZb} z)0WlfEq~DP{t86fCe3pe9m+gCA1(g-c&g8NGH=YP-#|{bS^Ab`;e8Ouv20I7-^X3Q zgTu+w&jprEq`UlsOIMH|!|+>XKUDU&4ua-uAYiuV#Ud8@NTDa;+^UW3Sgrcnr;V(Q z^8smKZQoNYJHGdp+lq1>Ygb13TE_jH!qif=kbg#Yg|NrD(%AeYtqVb(5=?R{CI%}a z?Z16fq_S8dN+oWZVTzn2a>`C1M)W2|@<;o!{gyj!A(C%~eI(rM3vP;hi?JZMV1Fl+ z>v?s5%|Pq$scCzsn;ZOF8Nn91;8E6}EfO3GTm!m4ouU8d_p3Tg+^nxs?yr4v-xP~S z$=-~No3@n6TBW#@%;lsH(YH<4ITf|fs=nfrt?9e-?e^LE>P`AG#N%_CBC=TcI3jh@9y^G_BEMjvfvr%jV{T;hGo=K& zc*Qv&Cs^lWzEx6Z5`& zP6f{F?)s!H^W)Xk=`_(_j1>*8vDv6lm2C@pRwT@*7!qnog$xq_a8A@ z+K4B$#@uXnc?Kt^&P}+zbIROg&_$+l)nG8%0)B90g;6E4mn~Y@<(&!Go@uZ}8f6yq z8kBNOp;kP!nwfk|n4)CSYs-cvquFH#d0r$_dnp3075$u*8y!(tJjP>kW+y96@7L#loFkAD3BuFQ(L1&2k8`DXDkvQYBIZ4O*7zFS-D%*cWf{qG@nyoJ{wv>$ z)`QXZ+{E-ArrU8m3il*p2gxO9`rl$w)#M0VDm;%2qP^T(+hSn{5 z&^^jiGe~8NuqSE6SXvc~R{C*r`Z^IL7M%C_Q}o3+L}e z83aYommVIbqVnB`>Et^GLIbz)(%TFs1?_t((0 zP^~W{(or-{GBzu7WXEva3{H7-x+dIp;iYGv`(tz1W4XcvOzxsR4jr)FUO5peX@5p@ zuL(J-y^EenvvW?V=YMM@Z)9b1+1=iz`Uw^3^3j1txQh3#2CIW51)!BB58{0$zlg+g zdrOpqS(LlvXh|X?at&_gK+77Oj8TfV6pJmc3%k9+fDXQDS#{5=T1Tt^{N++g*ARm^ zyB&MQROr2lqLWwNA}O6Pnit1gZ^BR3s5w@Kk{u#_rSvKd=^)2J2NZAupO*kg=$I#m zK;Rxk!u2Cl}NVTsHY={Tg!&ioypep7K~Tg)y-J@ ze1alHI^xfI#Rh_a7Ig61C->|8hH52B@04{ywd{tZ<6yFz;hbN{V1U%&q`y9U_4Fxk6 z?EikIOJ6a&E4TDf>R0S@1<}#646CedSIR!}1wA{dk&YVCdSXM$f)@qG)~jNKnK?Xloa``7_e*aru?aP>uXd?0I!+Z zEU#4Y)VrP~ExO~g?CGmGYF?5Jy%RzIa+rwB^ibNv*eCu=X|K3FZ!g9uiTSjR|HBP0 zKfs1$A>}4IOYdtC$+Ryh4nK;jJ+0S?W=X-FhK80gn8Tjc85^}L9@aQNL5a_bJgZ39 zmkLRkI#Dc$4f=F;O^l0EgP6fF&0|7`r-uvi6X&-n+=Xx7X1Xs%CwyC25Y%L`6Mm6@ z@ObT1qRXet(JO=D&GVz}{UMDN;c)|R>q&7T+Lw4S3*YoNy98QF5?78(*#}=&ujwt# z*2xZ%AT@0ji*^5WwrmYszDwp>R3X@Wn)s4zA}=eV4B16IQ&RrxyjDLkT$AxuF1tW* zcfI(UVBwR!cnx6Yn^;n19wY9zal_~_6Z+2ujR_ShO%XRM&Mgj15R2(675d-cA82Tb9iD>!A5bpKa{^Pdq$Z2lwCj{^-f zqqEz{@0~or?YmV(<+L}?-SljQ{~bBQURih;^tTU$s-H57x{WLpiz0_rnAWaMRFGv} z8Z!Uha%n?E)vHM*LL1q|87-d^37U87mgLWa_+9Cs#B*T4XMXjFiTj|frd+zuP=Za5 zg{PB7#=WQ0aKa^5UnEf%U+g2lB};X|0e5y4OkR*p&N-^hrY! zGT_*QylH=!mW+j+|D#cho3bX#eaj3c9UV=(udK1FaAC#6{eLu)& zxyQ-OT1rDKQ1M@9FmyY<$0@;O!$_|ph>tp>$7*%X@Bwb6 zy!G#{)&Z6ho8WyxspfO};qiwuw@L23+y61P~pR9CD-dd6f9Ydyi%s_Z_m8RQj&#+D^-9 zmA(oiziqTVj*P9l+7Z97S3lRh7JfHpk5P+t&5yT#!OZWG-iSpV#6CdnLzPi$^7|;= zqTw0TfnLTSDfY0)AP@%aWK_ON*={7##Fjzmw*IDf98|hIp)14A(3s2mGr&x%fOE?l zS9X`6u}?FY0+~lmdev@a58V?Oj}qm;2j;-n*vtGQ(5h5gjKUZz`<#3>Z51J!4HZ1UE*H%9^dq%J`L$&U`r~+v(HdeOLj)l(5yHoB zHYN!Pr5fB^ckMl!@<)Oqk4Hg0jO<`)yAw^C6bs!w-$v*wFjSOwGE(QH<2?BJ^B$r_ zw@mx~Z3WY<$%?D*yI}Mz6b#1Je@yl9epc)hEe~DOBi1q=@x_1y+M3@0Aaa!J1y$2~ zrz#mtZj?QL9Upoe)IrVQaG+j&4b19t2gN-k4DnErG{nG@1JWDRI{Iha@6opX*!6_E zeb$J_cn>OtQwQ_2zS2UPCN`3u4@Ao`qQK+uJ36O5;-^6tqSUOuN)WaV58mda&q8m5 zc3e_nBq=}CspSM?!Xd1^A!j%JO^a~nY{Nbz_{5ru<6U}|8Vpw8ao|8l=!}U<&>n)Q z1qVk8SPGPFI~d-G+v`_yoziC&>qZhV1>hBUa=-2}jAQhJhNxkCL{K2~w4n8>0yntC zZhD+DlmG`m6{ad)%v^`G7Pf&$$m=oH%Qmy%5mW2}lA@@XdNc<$M*7Q0v}{En)%w9S zTfcId2e#`W-Gvr#DhQps0`a8ZFZ(x9Y+-d z6g|~~bVkZ=&zUjzow!;RyFyU25u(;BZL_Ckl`JT*6!&g?Ju_yZG%>k99C=L2SYFO% zTzw-gt!2jT#?{QK!eyIn8TQ}KRt5vx-uUk08VJ7|-PHINZbiR0Y870Q|1=NK4H~Db zKgtz3aX;GiSH`|h$khmG4#%1YBi~i{Y(L?3D;%;c?F&sVEQc;I zj8|pif}2Q^qHBC`X<%H=35Z2b$-sfrxc!om%|PhGL?_ue4JA3Hw zK|3fBzICsKjnT-||JY_krlUk?PI|SJ3XvYce_T7SdM^|VcbTdYx%-Tb!UvI&l4gJ7 zqhD23*yEMna8?^j_|7WBna;kS$8T3MA356aZ%r}QHD&b2$=uubJGqM#XnjWaw2sD% z2c?;@!<~=B%Wx;+B|X-V#`5U8H589r!MD{lv*BmQ*+w+F`wHKyCFZ0vni4^RVD(a~ zafJ`*$i)JyA@{uw!P09SK8)FjbQV*@fQNlC#`RI}u8HD#N`{u4hU{ww ziq6Q^fDwXV4R|HJ6lqTx4@hA*>rd9q08ME-#{%aO0{@Y*lu%l}imc0?q%XRFEQQ~T z?te99on=L{0D&WvXCy6{k8u#0V-zR$^KYbjeYfakaK6h;4sdnT(?!`vuiN&Qgx>h$Au8^ANC!z22^5`rP><3v+HNR z&~?e!2TAXj=w;7#Pnl{gf7x)cfPKS?EEdv&PLlNsX4EqE9mg=GS-p>MvQYIX`I&TW z=ccHm!PngLlJHlka%q*-Q$}I8ZuJABlbga?AswYn*Ea)UUHWu?lH}tz-}eWg62NVE zm3X@Q$;cHtN=ag5QMhpCrb&{%l#MBaE06h}M~W%DZjl73Tqrp|h4l+IZ@asT+m}9W z!CR5Gm+u+Ys}^x?A2^^TsHmq|*W21XOmodvr09vlUtdK1G|*eWa8~!C8$Ox-LAQz7 z3apI*?cIYP^sR>T`iN2z72Ph$@`Z7($CI^XH`B}1m#5tuH}ZgGb(SwRIW z&qG~HE5NBL&8YmR(87BCu;gDwsLYo31J|Df*W|+mHp)}bF@;N>SAy`U({TOq%no2I zVYUle6_s!&kRIAw47a9gk$K~WgVcfAI0)~NldkI9mci+LaZYyo3rpfb}{fCwxV1?V#{} z_m7sX&)5r%NSKt#^e81e41+v=x$jmcPe!d6aCK#g(&wD(Iagsl>qNU@p1y*#o`M@! zkkYmt3}M5T^j{O1nuj>n4d8qsXG@_e=o}W##F0vH)W=05Xm}0tGd1Fe+@!PVoh$n1 zOv*Zr$NiMjZvO6@Tv4RopQL<@E|9^@|D@m7W_al;@_p7&&R0?^3O>h$Jv|3e!h`aon0>${&#rJ>O)h= zrQ$bVeGE1(h&b?RG*ca({U$q+8fGq59d-2DxVRybc>1_hhUUIwK~+h4;FF~GM&H z+s2%}wbWDMpsjZ3#fwOn9UI9+5(bv8^Ju&O3grFfkZ&eT5F6)^OMn~HyHvY{0^8-R ziPKK5u_V3o`(?(}El3H2-8W(Iw~hTUlh<^P-AI?rF1Pu%lDD75$?04mEc{T`x05w? z=5_|o@3NtVJ91fFB!ffzl+&P9|NC(AV2$;3M8gH0qUVZPTB)$(y@N?aKwj40Zu(S* z-E35Y#0o-%V7w;wI$;}ggCU!L=k)?C9t#7egb$;rX~j)WMWbJr{PSLQ{4^5snKF7Y z2WeBZYK@jIR3y6TWcc^;vjX=oGyQ3)-9~k;GnhZXS2|0ADup z1=24~BB!n{mDfJc_M3_QEWyB0^{UF@VDh%~6#sJZ84kCcLgBT4BJ>dtPgQN{94wuc zeH-UPgT%oA=H*E1xG3=XTtu<-?G=JX850R%fUfOcymez2%vs4H-MXOa=snB|!{Uos zC>wPRdS$W9(>JKMh}nYppkiFEAtUb1xc)a|7NNZ;+Oh$I!*Sbe7u_UIEC$TQ`j>iP zi607spoLm9TK4wa*SY~>{D<9*_wW#yZ@P>y(R5s~Iv4`+6;`MNY;&p(#Rqfor<=%m zdy%G?nZY59DmLL2d$*)8I zXei1c@I>Yb3{?Wg`MQpfv8Q7)@mGk=>g50@Ed5OVCNJO5 zd@$U4I5KnC9Bw^Cd!-j|fOtUQC? zN)KxIYjV{3Cfc4MFq002Wf>;FEn5mBoWh7qI5$l21Xj0`6X7iNVE~tb{Vn=8#}XtR zqAwRE{!u%lM;Rt47AG7^^$YcPt57fw+$=Es!gcJjEum*Lx4%aGd7OBymOA0uu4P*D z?=5YDQpmu!6PJ=?$qv7tcJ$}k)06cDHC}2mhn`d73l~q(C-7PKL6++NI5WMRdiCG0jz>dAJ}r(a$(1oUN}C@~ zcF)Nz`}WvM*{||KD8qrVIxze3f?%nCcI1$|)l0FCSDGcVDMyHZT;D>hr`qYc!}3l+ z*Kwb1NT2`9G0)Oj39`BBx&^2iEGN5sl4}ky*Q&=4CjH}cx>%-%a$>KAO}}_jaMI>g ztR)xQ>I}x^dE~?i=J5LRb+)_``5JeXQ%XLa@5 z$+`ag#}mt2BEZDbi%BGN z-xx$h?117syJb#CYiJ0nLq5A)atQ5Xj8&dU3d}*tw-cKc);u?MDfcrMHBb8r9qX4( z#@G?B`{+2smj-gMf(_`(BL{Fzo5rJ8muLiRW>WqqTd(1XmmgjR#C;HY;VcxnFl6Q2 zpJHIS|K^`HKgFG73T&AY5Q2_$3lGMfPjw@<2vmj0W)5GG38N{Z2k44$=bRS2_UpPu zz#OJWdL{YvCT0}T`DCeW++e-SbQV|9JA61U_Cjtynp#F>&=BZ~@4wRQyKR8!$dDHo zGtGkTTMPC=z**Eg*EWnjQ&0>f>Xx)EN+Z}SFkF&oD{h+q(Y5)QtMVJjSwvk6(=LjJ z>$_8ea*L;7lrQyM?Q6n_m#T1#nfGy>;zBtQZ_lEP;tCZ+d9_Lm^V;u^oH+=ho)|Vq zR|F;jwnz>#N(0uTL&JYC#I)P6>v-yei*8RkBZL)kB+~}>t~J4@N(>g z&N&IAtW}NjH_kzx`cya!Mr8#n?IFp_aT`}Y=m#G#0_q`*ISW#Rqq>=RZP#pNWe&Qq ztj}RH3l(Oa?a`Rn#WZh}gX1mzHL%a}?rn6Q0*(i1l)i|M-a+2W!BD}Z?Kfd|?{Q#H z8(*69*+!g+`4KeX)Pfq9?h&{md2o@A+((8OZLKMsUWpCdlSVDvvM8ZytKA~6)cY%^ z;+_%aeCncF2ZHucR3q-D7aDoLvFJXtU{#jq9Vpgj)wnV2t4M$<=C^wGIwM`(ytQJjWYdN zC^TPYa&=G&IRFF=`uxbkS+|Yc@flQ9WevPc7r<=sP_PnogaAYo2pT=nAG@`oi6^=yivc#dD$uzTdr=m3v(*upfw~tgjpZWxJN|MDoWeqr~Z@w`S=+ z)#j%JsOJ|SE7hF1eAv#$)#WI6h3MCS+xM62^_$LQ^V%{Nt^MH-J&FVRq-?w&NbOgw zXP~=2dCE`)GZtIPgi8$lv73bdxduHsn}k$NTgCE&#|?Bv;?u=ex=EPfRF|DmYkQ0k#cMy43vZ$RsY|l_fKk+Wo!#S4m-iY-p0nbJcL+2Y>a9>ZB zl0IdP|AP_-9(SAIl^jw6M~-0PxR1x245SrR?#4*eugxGRX%8g=?%)3lhaTC246{%7 zW)0K1!567D%Kak(!^1)U_MyDdKEf@5J9_pC%07LOgnP(HwJTHBMCm?#?Pc7kKRz0nswXAQJ9nU{56{9EPDAcYk`zjUOrW(68VSRpI{sT>} z+)izg-$ZFrOmt{@rZHkeOCRo+D*3{o;*Ia3v!X*xUsFP%* zPGZkYZL3Z(ibHf0H283Ouz!F;SaNHZb=a=ag`i^A9y$;Fz=(F1fMJ*%UkgrTznyg$ zq1=TN_w)*#HK77$KVA@6Ht)^sx}cOqIJbFf0aJh3oh=#aN2FOOK_hHg_`&St`Wa)R zzei>6pq5=JR)v33_(Zu5^bUCY>}VD<>lGjY^y4gcAzz@Hwq@K_(}yET<0odNs2anw z6Khzhhk-b7A?YMOc7V?L)^bm83YtRBqevRS{|^SQNNHD`g&1a8#%pLB*M>Q3K>+W8 z?`4&R;tYE{Cd0`SEW!TmlYW}ZSW49`pVQ}g-doKt0;La%`#$w2^FKAf1d8jev*s=T z!!Kz}KTu2XES&16hkt#dt-1)QrGN+1O|uA3Gg8EMY^zyGN%O}LQ4yL@*^D%SHXI_O zFM704$QG1X_E=TXJw$hMKr{8_->!iV7ro!D2%YU?lKk2LX}>Qs5;R(qk0C=@?=KSKv6J!T17I@01l-HKTT+HBi?l)cu|(5NIOf z_}h72Z?D`}LDk4i?=3-B`Yt|kI@xgn|4jQ6;HI$&5wlHv7uWwsGQh%55zzHA&)LVR!6_2 z1HRU2+{$|&FA`qd4xA%4gI_m90FTT^plH>wVOvFCnM?V#jqWh92B@O>L%X60NW8K1 zzR$R;6=-dQF&&_TumKE?yr3cZo<`Mg*wDG)hS0CBRPEhScr-K00RH~9gn^c|3sAbx zv~4R~W@4^Mo+;aay!|G>GwP?>z`)-#7e~R}fEPiy8fkPcP~d?Tr}=Lpn6O*4--5M9 zq!~d6mv@1jlw@WoMdE-%X5HqZCao1J+X!w`v1f1_s9{PA+s2Cu_Tk7$bJ>- z8?bjay!m&KPf4-Y2Zav5yM`M$z-hnHL}Ale$C7hCHsU`8rNW{jO#$Ht^!WYZtz|U% zKj_Ocyy*&$Y$1mmU?PhC$9%(h__|jM)7}%?kqwnkC*L0l!~SQ={& zrQ!oVJ&ndRdcrODsH%^%Kf0RpdzWo)U3ss4=&a`HKWR+3e#p=0MMLAIp3wN}vb|V= z$1=M1n-Z@VUON4|Fl*D4eMlo&FhFG3VZOe`CC6yPy`J5E?%DeR$7bHx$KU1;MkvJa z{l56bC~bhg-0BQ*TXF6~Af^aREp!El%tL{||hO8#ccSr_%Oy{j0=9F=1+<(21{$IxK zmdu6E*r^L^h`Zku?qOo_61mlDzaRYuY?AjAjidEOumn-n@2d(^qi&a9qwg&z&q~@y zbfHB9Nu?6*Q;yC(F=-^!K~Jvn?)DXC&vB3Fzr3e9wU;iRd7L$6HiNo*G;XFgYh|Z6 zPx$b^kE4Eue|T%gjAVFd1|rXd8ps>XYaaUuGB(YrxMZO{7IWHvTXZ`3YAuF3xL43eDOmg&m-w}?L44TDQ z24Kh_SU~roi`|H~m;Kld(&*!C=0<$;evoQAV-R8O`soQrzwNAh&PDQH)Qa=~qHf2j zovVss`IXZy!DwkhL9u**fAUE<_FDdX0&DaZ$wxv4lP@vKq4t!?^p%AiCVxcEeyGUe zcHBUJnHB|Ou~Tm(h&8k_3$Wxk)%kEs!u~QXmfRxCzME`-ZazUE+ zad1;h;cJ=WVJSge$k0E1wQX714Plm?a$YawM$$gem+)(ar^}Vl)@)ZYrkM$`Tudh@$KTnNE@5mAASYwZA3@G!n-K#7lB zGxRSbP=1T}NtTE#8EC`e%^hgz;dxDk^E%a#|2W_Y7k36eykIrvv-pmSp~C()1!1v| zDH^W#gsW~R5vNyen1KHCT&}sCKp7CK_KP$M!_r_Og+VSsz6hp}J}t_~t5j0iHhV*1a2(_Oq*+H13vQ(5q;#e#P_=jaAj|8%tLm zM9mO7K!i3wu-oD11+AO&G^fAS$*SLVnZoX%9$Z6cK3gs{9{!9dLl`Yjlb>dUo_xsn z*Ztd}iEoRS(FAJtc{frKhb0AkiBxN+)odeh?4(g?pj_)IR4zK1xh==6{~meInJThco=i1cKJ2d zgMyOet^QO}tG=*k%ngA!a(ynMe?%m_-dWCA0X$ORQWK` z89f_kMfXhswbYJjsRfq1w4Re4T+aAVBsN8!eu2ZH>h0+KZ|L2T8z&Zf2(ZDx@2Kaj zS|toIDZ1;-`=K+1U9uySVu#z=yrs91e#YJ3&hLh+O3j{|Yt8AH0oE~JvN!{GkgTCj z{VBBCL{Sjl=-%g7OHYvy89Z82nbfDSwftOBsj%8+&%sPwvRcBXCG*3!Yi_1}n|My> z^(^v>;@bvTwcWB~Eqe5W2l1Y*zbn7$e>h@&8oX=lvNdhQTY#%px^cVQur)`)9y=IJ zN-V`-U>_TF+vgYb^>I7z+U>2QN2ZXhFNG*qo}R;LO!;szvy#>#Kv_;48L?RJ+1 z2VWqsZ11>xq~+)4@Wx+C44oBto-ZesHiLtLLmK;aUQeA@z+Bi7gGD-;5^Gj1-uDNj za*9(?2Sc>{x4IA= zG-(5xv3L1+g<6r}_OL1HH%D2x0%;jJg#1Rm-~?3a%zfy9HXq>rirukQn%FH(D8Xv?@v|#~j@A;@?+vq5lA+=0br9Bz|L8 z^dud%k4vMuQZTPw$_oBoIi54zSos#hYqvioHB|pv&3s@^<*cc(4yU4T8P)#}Gd(|9IJB7gu% z!)NAPQN7hWYB+1#0b+IIu({_rbyklK&Xu+yPMi^Y&-d-|Bz(Xd`IMTW&`qFo2R230 zw1Ytbw0`zAYu(Da<2$u5a4?flrH8pB%HbCDV_pxU5-~#XCxkH*MQvs%DZV1Wi-NrP zEC#;n8YlQ0N%<04QF(=di{x8Ee#JD#t6}%eX=G^?&yp3d7<{Y_T4PY4uQnTMXH|Lq z`wNH-A|NSrX$gP&3Ywm7?KVD;Egm|P@p!-H!_kzOn$>7M_WYlZ{`-Ci`%8$*R^ZVX z^{QpYuAKL@gWD%N|H(p|lDlT^=k&g;8-6>QQ>Y(v?#!v`MHJZszQtsj35R$F_9 zvn4ijr=8H9Ma!!{H1k+2j7vP@G#`5_(VSxZG=^38W`9<#hnQ2LpnPB59B){ViRFMD z$mHv9yGF8aD++P%$5@>WD*rbe#}TGticbw`Jh&F9JIKb1)~Ym}3qkg}%^S^)pRc}| zygdn%O=zPYualKIUOUgDGvj1i=c+ORsCZFHZvrtAwW{H`@SKr8!ln0o%_zZD%8?lP2cGQjwzLIRROPwSE*pyvCh zH9b{&Gh3Q!*s!Cu;PF5l#CAOr-1AP)^Vs6~6auKU?0VPgpis!oL-mM|g5tv8j8OEdNT|=Tjq@*kOm^_PsX=xu%8s9RIHh{G;%QX|>+e8_3@fh) zR23vzRz$HTtJ;NN?THq0iAt}!7kk9TiIjSPXE;TS#;upB!c(RtKeY~j*gK0dHj%2{ zi4`dtpK19yBDb^E^>mw4^R-ElWBFEb@sf`2Hp!I(Y@=2xTQKsEsb8F-N9y=H9eO+1 zbe2qh{tJ{%;T(S_I$uK#Cvc5*P{MXEf<{pK_B*`wrqq*5{P?1J9Br$tuHHi6-2Qd{ zl}N#ngAVu>xCJ|UTl^3?fYmdj#yDri#z8SdCtpp|idiVee6zD3!X|+hWbrYbac}LF zrCX35m0c%pXoDU}yjd8nZK}F8ypJITF^moxAQbV+dl1w=fH~I~2-fdm0{iyLwN@<3 zc^An7xfRbLJsK2Ta|y-KcK@GHd@(1S4@(DjmOr`gwn*o6cOTQq($p2aaln<)xC-*# z^5L!9>jWj)E`HLgCL(YknJ#COCUpBITV2FHh<|7e#ZN`3$#pW$sWD(R{_JWGCG&jK z%c(HGF`g;p8k772hTAaFA^ZJ#xW?j8=WIIlQxh2Jnm(Z7 z&73oCv(uus>il?6B5TNi;EL7DhrTS$W*tAP!TnDl_>hjXLYdHkzO;PLsR%HpVCo)pE@vB`Xa&Djw{M#7d@=C z9TUna1t)20>*veVQIcK>v@HQ0h@wgJ5X=hIj!^7H+vb&0=GBpx4`pLg4u@p%QEc1l ziNAQ=GCfp9>0%u}EuTMJ+>)>~LjMMzabLHrzBnkuCb(Oe%Yg%Z47rUN)Tnr9^&uhD z?B{W!r#guNP7Q3Au3gHmW82%1tCRVPn{KL&xsM9Jj@~#Kl#5o!QD+X>ouv4(55@#W zftn+wLfcdXpde{e2%}L7546wVB2}nf3>7Gixzyr%Dy`?IBeuHpbHFB4|4AAz8$hmj&YCnYktOo;Ys;4t zmDPG3Oq{lZ97+v?;lI%Gp^6#lh_PdLqc52_W$on}7O|aq#!i2nRjj{|8WvEQn;f<5 zKi)$gI&>iB)GhO~O``xOfwc~O^hw_Fc4R!Rk5( zV6<|6ah|5E3VzWZ*;#S&EwN$=F;~A8BIsm2eNE}4xt{Z3Ryvo`2XM3Jn#`MpCw{-#-$CLQ3vV@t2VN@M zmUYcIT-=<5sBhdJd^efFj&l@aX$$>`n1I(2A>Ff|7f^nYB_T^>ngbg!Uqt*EwPgGBSVQ@`H1p!wi14bz8=3{TVOl zI1|e*-2a@GVzKsk?-?9QYr&GL)-r0!2i z%!qSf_Qv^K$A~Gep00a)85d3%lpqsOp``~%rMht+ypR)u`MBX}^A5zmuI_pUF3I9a zHL1~V<oiV?{H=XkA|c9@4t!n{>i2!U4p{~he23Ee1W6>x2+fO&8@N%9yM0B zU@fl~z3hLo=n6he3htg2vBZ!_Zuit(w(FSbC$WJ|k_RW~cT0XL`c>|f?V+ih=+Dff zlfY$V-YMfpX8OrMA_B#UL)tcT(loN)0^XtjPMK=}aphko*waVXIc+>ae!ToYo#)cu ztlzkdH!&FITa3@k#*@&l+b>&M``7GEq;toI9aR!46-|L(s0pnhO2R}yGxTS7ZyOr; z@4wE38Ng8~Jcyatw-p9n#tB=7oA)LD!-v!2bxhi9n5Fu6996>;k6OxfA0W z2bxlFYflS)w}2VCJtC-%Cfy0`cTiHswLYb87A7P=^hTrK*IU5hN7SLzeUl-!N6su} zm_6KglM(19>c_ydmxvQosL!OLq_n#ERsWD($5YI}pQjJ^Te76*p?lBPKsod+#tvL^ zq=xPlr8(q6Zk!v2_Q%b^5O|2AAQ3Vcr*)2yX-6^}RW5y)u@;%ZsN>)>tf#Sc-MG}< zQButZd-7H;58&4Q98Sk1cBGM_zk-K0Pcyre&0xq5OaS8%C_cCD?>@4lamzqnTJ6;K z)}1@+Dxw}ga|U2NF8&f|$PV`<-XY5_DKKaH5+jM@R8{>4J_o#VqUdG2m~S~Iw00pu z7K$k{h?{&v6EK4eKI$bHb0FS{n058uObB2^v9k$NFb0`*>2dmK0%!&KGhYhLEl3js z+SD6Tq`PWD%$xq_QAdsv@Xqw4q5{`FwG= zGaWo#8u{(!%fx{X82*)~fui68in|FdX zOoDt%%9#3#tKf)G-=%7fu)eN)^Z*u$S{v9L#eNf6|FZS^BYwmw&hz*F9VqZNqnV>B zl8;{VxlY%cgWzcb1J3;yY#zeP`5%w!xH+@}`%2sOfhJ+Jznz`pO$-J}|!e+k0S@Rpl{wf-5!Em-}CYuoXy$4z51Dc>AFHh=#NWmoXJ8zZtRtQ1*>J!;q<;O zt;sDFd{&%Px|?@)sHTKLN1C*2KOqpD+t+!Kt%7;^j{b6V535PRe;s@~f_@(?HbXb7 zCwMK~nY8C)8crxwc>7R6l#@b_1^*OBykc*9*sGONsx4sBgQ6X{d~IqVuerC$Ne?-U zF1?=bg>xmrq%K2eTOLkw*8>^&G1I5MX)D@bCB}Dx{h?Nxhl*`|M%QBwMh`Ybo_SOAFJ)7op?Sm!hUc$H{3TgMp+rJ=orX;``#Q* zT2Zz2LpaOPm!oKTbX!}Vndl4mF5g~(H%L1)-DO(L%ud0y z@10*!4WiOiD%1z|P2^EH%@wasigznkvbs$))vY!@s+F>+T4u4+dHqV}P`ua`&_`Q6 zcdQS%$}f!^Vs^Ke4@OMpn!ko~!3$3ml$hnzQA~vm$~x5fntV9osF$$vr)Jz@0dXql z_4MhI2&5K#PyJ-XZo_mS6^N_b23$#loY!$L?UwogR8FqACHJHv0?YtCfh((sV>Goc zXt-u}jA#d_rA*8k%(4aktwexXD0&G?%KPU1@l~axmXL0K&eWKqAZ24LmveXF*=#D% zjV23DD6W-{WX&SALiJ~Ko?(?*%QL`$=(2-{hVQqjdz()-xRs24ZiLtLe4z9bMex9V z6tE%(>AEhSL+8^sRPO3170F>syn`OtQM*7Y)Z%%wZ~bM%)ZDTh_sSuIGWHa0-K+bk zMfB=|S_v#j(md*||9UHG_Pi!sr~>Uq0F%Xt3*FreUgLn3%R~ifdhLtzRRXoT!_)*L z2ayE9k?`7Ru*pTZF(&9*dUNj7qz3t{cN0tx$^t0pVi4&+Xe2BcLNIm$hS~gN59Et) zCq-JY$Hp&u9KR$uD;`Z~du*o4Sg|fJzG+^it7H{pK7;OIw|E#k28#iYBdVHag=4gT z%ucD)MS9S+^AMH&rg~9q7mmdvCqDQM$9q2`peJCWw;u?==c)#hcM<$AwnT4$Vg6!R zbjJ>xB`=)h1NpYRzdeAJ;CX1VnHfk)P4LN!fD3)UuaZS5U-^#>XKI6Ay_~BuVpx1JsM)&33sUq=r zUh!6Y#nTRQk-FZh8?`I7x8=E-;pDhnE=>{X+}B~{J;vi5aw#!~uYeqmf3L<_!gO~) zP}X$!Tj8_D)ZZ@_$kTTfEwtjLtnNx$$c}#zde!Ux+em5?_xsw?V6l7*MbL)cwbeD6 z1JBVH@{Ss~T3F>Pt}TK!3TO#}TiDf|0;lI|Z;_1oZ{%177EUb$38jjPWq#?Le{0fu zEM>s3-h#9ml6(U~bk4@NV6SepJ>(BLH-{A`Np4WTMPMX>9k=E2;F4Fj=PzfzmA0S{ z=8P8OS~>Yi*SVCJ!|HIYscG$hx(vG#C6-9oc-Cm|`-t1hk^5Thf8Jn^p;?}avJU~Z zi#)v8j}J$v(|Dqi1Z^iWQf*OO@p&spc&f#*vhP>@_Gj+JmQhTAYJ~kKpqeO=V{qj5 z5J8LV(DwZcq39u6(1NBpNo{2WfrFpg*&uto#d0m9M_Nw^jK`A{2Lc|1n7{jYE#!Lu zuAAao#@qP>@D^fAy|XBOw-c^NlIVIzm>Yxw8(VA!70^1bmPOLdT|Ge=Za2@t_OjfK zvX=rCsU2ryJv%4QK-%T`yD0M~wyP7Fj}w;QPQ(BxYzp_M#(q=P$LTlmj(B z?GUIFn5`OzM%m|KwQV+x;O1{<_HoKoINeAm@fB`ZtPROs{4plt0ozYg3ZqfzuY`l! zRKk=o<5bR5g$*$pdRLKAm=}%QqaizivoIUk&jyF=>CRv3Tqz_O&u;JBE1G46J!a8* zAF9DrWe5q0pPUuqtg{J-9+{27Y0y#ZPB@C!^>bTlS6~of0RWtZr;VD$kqefl;-7 zFnup4KiB==FM|Qn$ah(CfT7%>$a}vk2O?)R7w#$GnY-Y1ZuG6}H6KoVMk;t@r8E14 zJUS9k^Y~@x5L?fpbUR`fk#B7LWw@_ z>d6d*y<+|xFF+sKjd5i!+{6y^A!WPWa|z4jyRaLQWUSK;et*}IF#lU91gdCH%Q06l}aTWd0p8I^3qNC|&ar-8cajGC_hQjRo-)Bu{_ zAvdfi{Z1O4_IexZ(&Mt@@bsI6U}Lgi6?6UHSbHgC!sEs37$>>TjlZ?;303>Pxg!6xO#sY*S&DHmqA(!X2or02F zSmGphgY_QDgjj%Oq9kjlWp4M9>;`p}^;WmlR*~tEgLoC}U5c88cf2g^id;#b{=US* zUvfH*umu*CN2s9fLcS*^7j0JX12`(_)HS>M!|AgYldst{9G{l5KeS|ZN6U7)g=GWAL9il3G`%duIopchnHsWROr`*<~{DE_{at{ zcqkZueC%7$DnF98a#*(F)jg8brxBAYyjI;WwHB=!AnC)j&DaEp(iGBO6>I_gp>gabWG${T*UU_IqO8`p2AS)62?u z^-n|pj?4&FZKP>M?(wEMCw41`vQl<7@m#;Bk;7H21*InwFoJv?1EYCjeVgy-@#%3v zH>sszT5V_4d5?fwo*64saTPwO|-?>yMreUQD>zyeSVzeBBOiEuFFbfv6 z)%LVOnd~Q9_LorUH4Kj!Vtm6}Rb_b&%jbV|eQmhz{->DZY8y>2+;F{YN<;ZkllbR> z|2!=aYQu~~%745mqHRYfU{h~b_OZ>>U1a>XN2~$0idwH!ix9+w8ua-43lU~qMugt+ zT(-A@eAz-bvR}M(dXu9?E5Ac}Vye^Tw=IutKE)W;0Oo{3$8HsW5Rp$Lt=#1CseTdt z!THSCgsy0ohQ;rsn0BLAZDm!H$^jz|&uz8U%mn|vT6y<8@`U%WJiM>AYE^&n)tqORIr| zZ*4#Oj-6E1$>`FnoZ(!R-cj%ZGo^LrknA`3L5AP))TL+t+{bcrq1%3J94(w@KKYGo zVoDyMbh4eIh3u?vwnac5Z3sdciUk|?;v72THnBE*6=Q5^H74ljzWOe5N%eCPS+ElV zT}P+7ZUvXZ78Fg`T`dFjJod59j{2k|hupEFI3ZjuJX8zUHsa*rTM6syTrJp9I|}mQ zBZ&yMycR+r`}K-+P0yN$g;`^~02r72tZ4t*!uc)7Fyn5KccEcz*n#(NW?|Y?pmP^K zU!n{&%oFfy+R00+O6C=X*zF97)O7th9p=l|89Cnm_~x5zAu+&sH>mZsiM6+tVfXoL z^4&Y-7c1POASrqHt0Q~491+XB@LS>de2L~uI?8h^QwtVGy-uj+s~+-5dkaE%2<_BTj1Lr1)R~fE3n&0k(Bu+fmQ59m><*zB)Op5Y{b7K zU1-&7@q_uQns=mVRZt=R4)20*o))`Ix-zM~i4J?y1|?408Z-9hF54oj8zUOyj&u~m zo~Rk3nmnT43s+0001Qx66CfF1tDRW6Fp>{~M;f{lgM+;NC_EGz;xH31sJe35l^5_6XK*lV74j?zGRV+b4Uizx|-JcA{RefhN!hfbOKtTuLH;9e+lO^Z%{g$Bc zXMuJ_;7X+Yo4_q#PQq#1&tn<=*Y5WZhl0)FI|E|hwN*c@upcc^4zW+Hhpf|q6KKBm ziD~F%3mkh2l(5YW%~zNM`HvJTxps3~XDOZXkd4)Gg-llqA(X=AzKoJS7-iWOev#=t}Px%{Wc+BetK#t44n!!QzySKlS-S6_0Q*wrOU1y z%mXH$bpboQs8xbC7)v0D;S28piH>ofzIDFqwsYu%?}y_`)+hR4E9{;tH3?EYLd-hk z4DIM0z$MSEb#x%40y4IrJYCp13)^zBDcVK9At>B?`@(TZy`TpBcla!k^OxkB;2>JSWkq4n z{~{&cypBjQB@)Lc83qvDJ_QT6DKmvY`@|>heCW6kbpM?5F)7gob$yT9U#w$%CQd9evP@nla9t@Kn{56@4ZpKPG=$ zY55V&KXYsHytc9KeF$e=5x3eV%Ai1pbDnSbWtd}Uo@2hqHB@Fn>y!82-gXgVzSuQu z=CX*mp!n0K(F`VR25BfZT;pN%vCbOv%@<|)E6evfjZS~y$~?K5GxXZRNM9g?!R6Tu7n!AYd2&u-3{p%!u(1VI5msars(U$%QRlR zK<)G~L*mv}tI6i9r!f@QItF~;*HhKfg`HMoht^k0Md42Y#O$5I-c`>( z|4roz*D1#svw;^=5l@ND7%8QsbL5fY!L^Sc6XXV8?(`J{9&f9#e zyV(0iefFB)8E$XCEd4ny!4 zgT)jWg%^6|xGbivRTpO5BsjRlO;+y++vh<~u<|^o`jJl_oXY77zasbsOBkDmy7R7K zOVNIM&--w#v%(K#XfI}ABN3Zsia`C~QfrKR46U2oAK+?(>l-WI0!LL&(n2FMUZCa;s0e-avrdgpwk z+o4{Qj*M-mggrC~k%aB}LqG+#Quf=<_Sa#0s+sR|5bS)l`dC=+gtMED_yxf9Su+C= zlUJx}KXJ(0PJX0480QPg9t8pKW{}8{+rhrjONe!{)waK=250FlC6e@zKJ))-sDz{q zbf@Q^XscO7g4SNMWQ$BZW;?t9Tj>1+h{JRiQeIh&Gk{U{#zB3@^=bI&b{WOE#qxi` zvyIbi{VaA$Eu|VhSBQJo?*K>12pB(KBYr<{T4(fd8xO`o`qMLG1?D``tmF-)53JTv zQwDcZ=L^TDbPZE#R}m$DTG&;0q3^Uw3i2Kk;7+2`UGy>N+qk3LoY^rvh`HZYRswe5FUQC*5l|I@H2;}@R2)R4FHDZ&&c7>`;G9C>?2njBC-k+m^7Qr zTJ-R6lh}ho35w>F2^?4|i#%wB@KGmLk?JZ|;Xj81`PrBWc=X6N$3;q7Otr0=lwZsx zuR)_U(Y1tzp5x@q?Uk}og{k!@z0AxSKcBvVD}0KzfdJU-m>Pt|E*z`s20JWPI~%h(@t%Bq{GhhLUv*+(i|^ zVJT?x?-3)2NPTAvol*4j*dG~*41s=(1>#6wF6kue*heP^uAk^to##z*vsw`jSvq}L zo(U-4;0XS3PuE@5iWKmR*Q5(0aQy5U*4Nh0ME*-qFK_lA?eCr~34Am`Xzjz2_Q3h& zLJKR4^}9m+BbTC^7jw?YhciW$y)<~E%h>Vzhc~;F!w-q2O^(6BlJ_=e;-ItYy_h?1 zGqj3)`~K0dOj@G@BZW`xcZ4OLlxAJec{V5=ZJQV}rc`k%Lz!mRpn6nid6D_219#9_ z9BsPBcvqgFVeaq93Fk?+)*ed{&FQxIx&9&HTd$6X@RfHJ31wKAQ)g0J_$1ury~ zbZf+@%!#8wy#0qBZi`gJKgVdDl~cS5@@xPMtpt+nkf`kejJ?im$o( zoX^iiayO;h?HreSz?}_RU>jzttb{9*uh7XA9n`oc6SVdR`I&!2O@X^ohyUIT6LBl< zeyzF4hWw_UiptxtgI3WNm;a=v*bcEeLKrh;ny}nQDNG+3T%-^`Tm2WZv&j~Mg7pzd zv)H@Iaqj~&FHkw}B-@NQDHbCG*9HRD%k-4qZgXf%N=m}E%!*{)TC2kTq2Pu&)C3;B zk5@tx-aMR5XKhcPm>IL|lwet&%Y8@{QYiA&#lEc65I0$ zy|E4RSt)I_HYgd0?bbvXnkOk~zfGTha9yW4`z&j|o3+C(&k%N0+E~%d)IMtFea&jkfa3JwM!O#3wM6w;#{g z-a$Bcl^3g9ZSxktz_=0ftLv8@MqrwU1=4!KS%i4OKyL=N33`T;#NYZIbRdh*|4k3N zSI@U!?TPF7O(~Onw@>iy1D@bM_ykH7#aHE{hg$Pb^#q#pZG0W|%usXQ+W)rgd(uAh zVBhWM&x&9rG@rIg$boCN&7ABJ==pNLb5P=TgY+=x3$LtmG0l<&p1{p{2SvtsD>#@h zTg*dj#O2;Wmn5JtIaDWSA*)01&m!X^6}Re5OIh31lMK@z0nJ#?bB&K zNJ3!_B9#g5H9b-s5;$dqGS?#rF5vK{L^zC3bS%NynuC3?kk}f0WS-t)502Hhj=Sn9aUv? z=TI^Ne0P2`j7KaWR4rk#U1-@WSO2onSBjeUypHaT7vC3u(_R8>?sUeVhrz-x)m`-c zX)0)?tMJYn-E)fh(5H$4qhOEofScU8fE{=5N59h6(Tnv5{h2!Oxdq&UmNj$@HXcWp zBP#<{71UiZH`;BMoF5GL#U9`Gd`AF`lr^wFT>-ebiK4V_n!}$D3c8aevK0w_U_t#z z#rTd^U-Y4__n*Q!?n9_pi{wR?9f8ixq<#@tt?6jEey)a(+&Z(C+pv>eZ-u*$%sj*xd~oDZO~!+ zo-s`O`Hi98VJ-x=3x+W8A{s0}HPm#8g;rE>=m}i%a5%cFfxP>}f@I7%;|3(G1DSAZyEt;?bkfk^-q2HLI5J zt7L98GyzXyiI;sF5MCBQ?qP5)Yn&LD)Do`kw0XJsWHUPPTAZ2lRvz(N;T`Pg6hGx< z!&Sve1Z$ws*QvjzIywQi+Od^u{H8KyekHJBsln52sc1ysJ3+2n_ffGl*J{L_SHi!S z=PU=^pGs3;_^Q^dq4S}Fi;Fk$BA(0Vdr{x(wWjBEP_{FJjoodZ^pICaWfgaQU!C$A zF_yI(8Gn2^{$|40i0am3vZ!ZW+v{QC0{!LpPey-Fh8g#ZdF!;CsW^>y3bkuuIkdgGt5E1nMpcjt*PPi|N1(Y)35!TMA0+m@p=>_d2EHdRoa?X)XyW> z1;k%&?9a2tzFiQb&PHXpzD&C&G#s7upfdSS8W5i%TvOyLz|$xDMRBqq0{oheqd`~`D4p6#dj2Dz&lRr*~qPs zP!y+O=bO~JWYiUX`L_L6sXn=c-OVEVLPQoLDKvu*Rhx@Rs>-S^ee7`{z)oWUyyj_vXak;HTNN%V$*;CB(vG)op1m;ADCW zi-Xxk)O*c>6b2!X&DUT z=aGk4YhT+;v{Z0i3sHLxHC^5vkw($M$(+azpda3CmTp^9@ITLvJj9jvJHfe^}Z9kiV;3L|5H-z-W?D1jSf9bvz+ z^&88qQGXHI;gir9R*vVt#OS~n%SYX)?X9{JN~gCtSK&0_IX-rYspA3yfp?x61TLp0 zI0LVdq18-kJWB;R0u@$%Hb7D@_n$9^MtvUPCkgLlnVlwV(^2Wo1Gf%$p>NcF)Kvc) z*rr`>4e?0!ODxjXH90yI3?5lt`Si&pg9=0E&%B8n0#&y{iT42{!o`{QV#MlS^^Z2s zTwpwM5r)=~hWljg;oMVJ6u=UwCaEY*VA$ zxp=GyOrS8QaM zPQ_O{|F@j^GGa5Q*!eh63{cO~{{%^(rTeu(BiT~&&juE0KT2AMEVE&QQ>v?h~{B{)!%4+37?s7EA;^dAsH9hxOlha6F+!ge+p<0WGxORK4~(RCvIJV& z9S9sgS`tGWJKD)Ci9)C4osAWFytOrwl1w-fMb6)_(o)y@)N5Zl!L1=!g!B^=irCHOHX_!EB(* z`V8QaXxNw0R=*V}{-a7PIsa1cJN5Es_P;7$8MN!YwN(ftv%tDSQA1~IF`pg23NL6N z(xwNZK_Yff#evfij$eA7vB^oP(;pUN+5k$p+Mua!OY=F+Y^BVPQ;pFExq9!D``0_3 zqFjT4fcc*N%yjOX3I;;n%9Kg>fsALphgM4LNTI6_aAYrZIXU^4m`*8t1FDHkl{+$i zfLr)1YGW)!gtuKMc_D{$1JZJoL(6Mr+K7?RS1(5vk$zfsS7KJc;=xV@2Q3D>K+He?HkVsQm3=Xm*Byr zgS9HAu+tKm$GPkuUMo+(2U)PgO6RpOfqgyxY$M1x@U_?mLMLXiFlma}KrdFu09Ll+ zTQJ_h6LazVfv$TO=|>8M&J2X6?K3^9)16naq&Idt@n-pW5*$@4nQ*H!=c?ZpTDoz4%Pkn@54 zJM#+^C#}h9jnS8?Bl|<1zAG0t%8NlB$lXA_1X}#Y?<{~?d5!=1%Tpp}81jHlF8%p+ z_8vRkAj>mUu_agN;4~45E(-r8uH0!E9z4gLI7YQpI*x7c0|xMqT|qLl6^5MU@fPnn3A_xxp3T#T#UxV* zg=8o~FeBLnTIVj$RQS*6x>6(2kh56hR9LMk3{D`h-!Dg=8CwkU9LA;R3 z45WJc?Uz^5;m_+gd%uIb>{b-JDt+z4tb_0t*eQ6u0s0E*KbQnruH``OMz9&y;A+%j z)vkgg2n2%Ze}78ZfW{&)_vsL_Fdc8;-W1MSs=6`t$onkspsn8Ch&{Mb?*$^kxEcZLi zpuaawxqwHipgVf8sRUE+7iU&Sa8W@*s?VPIqcr@1tRC=jSETghG^r5 z#IAc1XW_dW2aGROJC9{)tERhV{wwpHIhyMM_3v$`&sBud7UnXEGk7&7@sf1UL|*mA z4f7JR%U_>AmHtCGKmUTS6TgYn^%VEkydM)6+vYB_Va?hsthSQ9zLtDVz1fhzlOim- z^mfI~=Rxl4pag^U<_w#H0A@;t<#=wMyfLd;>5b<%lT}o;k9Ok-}?-U6w^LDGeI6Ox*=s97iewFvJ_kiFjXNitpnIn7I@l6)gyBW(` zA(C3p^I>nZeQC$uPY+19A7n5%ocxc3zCoC@y0u8Ly*A(RAA>fXCCfE78IKw8`k0$+ zS}NWiA?je)+u`T5G!Vq+ckV~QIcUT`1ufkBgtLadh0yqH2yT@8Y=l>RFQaqqNR}{o zEV!R9vs)Mw(Sj9jW>O335i(Ov>#$!LgL?cegTt1uCSChw3ivgGvVY9W=2m{@ zxfSPFxi6`V$u=4(ye4ajSWVyRoV$d~ibUz>m+i{a6ko~MlerufFX$LDz+G?=tw zk5VUnaP~p^lkt1#3Q_)1qF!K9Z^6&eE~P_5vSLqT1_{Tn&Q?^S={|#Hdp+Mjd%^N` z>4SNH&9$?*uumrx*h*)16Pt~mjJj#g51ZZGpAP4DQu^E-0}pOuKlvN-KVW(W)D0v) zU(;lk5n&`3=38FXmDoB=Zl72dsYTSvlf#`(Kb>CXQ>2aNyyI1tR`*JIYcl3!pxPW& z3Y~{@-+ncw^m6ztIDIFWfHE5oC>_8;D}S()QPZQnxKfMUF0r)pBrA7)z=9@cDoqu z7*`ZeP9gDj`3dPXU@U;{v>&u+Q=&cmW)(|pBpU3|JFB#__ldzD4~owRNvNMEE5k#X ze2yK+5kX4sK~FihE)Xy=z8R@It^1A-(!||tO(*IpT>}VOmMh5tHB-5F*qdZ2kK*9(`ITopvkwx zIP&C*YP^f<{o12(zi64L$emgEY6`7)h#(r*6Mt;v8SfcSKA@m;K9DaG+^91NvvTTnZPeuGLwF|y$hnSb`3JF#ZTqs#BGOhANS z+y%OHGx&WZy}o|=yy0=n17^<>V@Ikl zl}Np~ibUl@;=fG5s0EYnHnWE=j9d){=M?*44^GQdu-X23geNQUi?BcNzsV*NW>>7h z)%vuIuby}h{4s7sd%ZAM9 z;U{nYPO2qrrjvS#(or&zxd-@8++! z6$2%^`N58W1-N3HM`_nE@IW62MJ`r>T01WZ*C4uE`ghw_E3KkLI>ll;UTI5LdtFqy zqi3k7x7`|jUE|_cXqnUfT7q!0lz!>evAI9*rUPYr=&x2gW;_lv>k==caTKH3(XGDu z&covO;Y6-3+G|5mJF)$b@k`H39I|U=?m9;f?!j&#Q=LV$! zjVf!*H%**qps`ucQ47AlfUae>sC#HC@@{#P3h;fK<7!ILC$IpA`zphQp(QHKu3jfy zJsU8x**E^%7G*)`rMuIlRYPSd^l;DpLBS)h)-Lw_q2?*fIbHqyCF}(DA@Vsn&^~S# zi88+d5>Sa%2}}W!1oeY6aTycgXZv3bw~rnm=YhITMbd4p(E=m!YaQboT3D$_gKo1l zr|9Gb_IK0sK&#S{=8?w#(85Y@(ldiPBnGQL<@_K8K@&!zKEbW}Q6ran*yDSA%W3yE zfm6;XBgLA#G!We|(^O>(ZGw<*u4i&b4PP_LVxU1~`!u)NWZSlt+7g6WCQ_7%Ddq^F=Wv3YZS z+5$++4+vx~6OSMCo77L6W!RP1ZMhh{n6>i2l9KnVcZ!=RIQ_Z%tiZ(x ztUc|1LQBkrtCx)mesw52HraPE5#?IISf;w3k8 zt=7Z1gB$%7ravAZFyWhl$Y%Hzm4Elm*k8ZS)$v$653j;BdD{)hL!Q$s`3}twh;)8r(EK<9^>@VhmY=ECzHWt1+yqbu5fH z)DU*-uKG=t*>(T7Oz~W?^S5ir6|?%zFBnKoYy)i&Ywa7Ytr`9M*nT-{lg9lA^3M0G zt4B6+oEvwikZ8^Sa64Yy>U*^)?Xsvxt3%urgbfqS);<}lvz-VD@w1Yx7`cW=20+9( zId!n<-z|`}aymZmq~z02i25_IIW)5}4)=~6t$iyduUsJ^-<^a7$+4SAMNDGxht44) zXb{DlgLFXcb3p{7&Gb^ZmqWwz1i2km@7Yp!JCCdjMG(s{* zlWXCJzz1qZT2lP5IVbWDqUid<%SMo_!*N0nnSUfOOrS}{P$o(SO`cQ@6eHSXni1>o zWFl8QyiLiyR(tz(%bdm4m-BmF|4a|xFVz2)UreE0cpQ_TCb-z#;!6B(M0v{4uNoPL_RMQ7A^ z+&}fci@8>2cAW0Q8MU5S$Lk;emEV0VyC@wl&S1els)^@U{5a{Tgt?TUXSmLR&iy); zdcDFvcu3#e$K+?Y-g+Q>;p6FzNfD>9dpz6@cZbD?qlJFW2A4$f(?u4=PJm|82bxBY zzJJddAq%y;iBil?{c*F;b^G!j{%i|+^!2Zo;~!1dFHy2ti+Wt=p3%0T4mj}@F?YuN zJ^X~z@|O7i{l2R#y7+50Y|~yUD6y)hfltX_-}*G&=B)`f(z3*v5}LrLt+0m$b4pL3 z{<(=_|6S-1aprqj!0c#!v=g&bKlW^2F6TD*12in+dW7SLJM^QoS-6RJE+uOQBeC>M_H*FRzEq z$=@hV(Q%GA#*Unv8z&Fn@-(!b`Cb)}^JdQOpLqM(DI~+aiG4FB;=G87OpV)}N=~xc zIF9ivztre>^Cd^j@W>UeFc+V%tvR|H!j@m=B_M5dbl^#1Sk~L`@(1@eP+8^-`hy(% zZH|XM4JblUsuvWl66-?qVbpoJisHHu6IS-M=7hq0R!#Yl6#$jtM? z`Vn^ehrTy)<`Vs@!k8|isy1~0Oho}Bp_J8Fv zNgk1ofYl_PqE8jDO-Tu5y7o_)lvL zmR;OE_9icRO-VDv_)vM@q3?`sQy454Yke%zCl)rJE1cQgJFBK{(h@?wuc!qn93l8t zFZW)YA62a7@3N{WF*y6&Rj9ARH_crt-p7=4;Za)V-4Wzb!VY%TiV|Tu<>W9zjHrkd zTn48dJ)M`L^!09w{rJ^-e~zw{L{cCn_W%$TE-n!04`Lm+#PW#Y$C@e)Tz+*>@ zXYC88oczZiG&0YE=%Tnu8U1eH@|)jJN^r*_Pw@ysQx7KPBVdIu^Dev2kZCnv^=$|7 zc})T|dayxWNq{5(u6&(H3Lu2+OsT3^wWF_j^)MZ~`n5{X`acUSy9KG(ZLr4SmxKhXQ}Q`Bzk7OuwIfbaNqG{*B`CYsw}5vm*t*x)B0e2RAOsq-a| z!dEIq&o4kp$c%yQEl5V59Gf+5jdJzerQnF8*FsloG|wN335asbr+KjVXmE61^;A$Z z2Ek>Y&Dd^$iBt7_gY{@SP9&Rx8pOYYb9T`WGaMaH@b!ucZM9EdPB`c`O5vT z0Eq!&Fn=L#50Ut{Rv{l+FxG9Gglm%mR_%X8<$jcG!6dTXZgpbS)~36L0ol&fmA6b- z=U#90{K&$$g(ET(3s!mA6dl5UT(Zc7c2!8Wzv`(&g`^{rGt{pxr|!#Bph%?kzZj%W zOxm_@2%c`2$|@AbZ2;cIb7XV?(2F?)sb~k&v&;6DfMYd7lO9IyV!NK~qK|Rq7s-nJ zUjIUO#7KgaN$I6o5G5&F4T&A|*%snjkf)79k$sAF6c7vMMDUe0Wf$PUf*r{Qn8j9I zH+*YmQhRI+n@t53OR8QD-9(>dyf@PaU5AKS;j+-lk>e`Vmvz@(+yCab^DnHvYORaV z{d82RG0@w$4Zn!MudZYwiS(4mUQX+oh1+rPIKE5_wzeS>NzEdvuZ*|%2aYOldXFO3 zj#3U{z4tbt1!dh)XctMoyBD;cI4rw=T%j-eNrRO=OfxxO+^QfVX}Pg{fY{HR@tyy# zZ8_a}4zJwXclA0pB^yx>6FoyB8kH($gt!aQcH$V`+*4{{Iy4y;vx!M3x@VyeQ#$8l z7%Pis%0&yj9130QYK9Dqx4*B71#qCTs$xukY4bY&FkhNczxk3OcU>ogJ3G>mTqElz z8jMM?>;FYs&70~MTI~6D;v1DBmn5Fy1@JKYmqqj8(v4 zN`|~+g9^H#(^0<%M39y9zsj!lzQ}QCF1O&$77fVt_;of#P)ZYkRMNIgPlAdYE2f&K zbUDm7v|DyW`3UNE*x?9=rqXa)JQ&ymF)#CH~RILwv)t{pvm?ZY4P!_Rtu+wqX9VFEfaRXv5%oNw?;59?gXR5;0z=J3k- z<&??)sAia(^IM4?-bPT|y{UrgAO#}RaR_E?XJVML3T+_yWm&hVZkXhlq>AXrUJ{z0S`t}C z2cwZctg7@IJTa3$iDY_8q03M4%Fob9r3E^DGM!Y^y83~V062;B0CR+UbG~+d+|2k< zdPi6Ls24oR%0))D0LSGbU7z}KhdJPSR2T}5G1ZOx-n`+(`<)tZ_xEc&0n0R-bpbh# zY-g=euefth%OA9ksky&!ovPH@XUpma{3d@;A1PdkD7eCV|7~Uao|cx1F&P@OGvQr> zbc@`>X6PQ?08}l(l&#>Mnx8;WP~ZHoh7qy)X60o_$bL@xpWs>Y->h`IK2SY7s?70UD|F z8Vm&*0h2lePJn2AzVa;sY!hINi19vP#!wDuDfPR$*dwTkfP-}31EqofT~#n{10)5KyN}2c&I=fpLyj+E4IMO z10SdyAeW908goKxCbFcojymstEo>5NLUx&Ssc>+2+|>n0-Q`vgjMN^^riM_+R#;ta zaG2vc#fG%fSq@xwj;V)2&S}RT?>70@@3(CCDpmh;{rtUt!A`KQchw`aciWa&x4LqL z$W2_~$8!J?il-@AorK?_ZbN74Vb>Yyg%1v8jP>|Lef0@MJ`K|7KfiEv|ELKW7QF1$ zdzD@|*ys#zzz#1vyGy*P!uXSwoJ-o?!h`A$#10l?RP%qAy}9PqbV<*hx1vK{)G#a4 zJ%yiG>7+IM!31}5hjDu^leU(Dw)k6aG$TeyThwLp_bZMwqVE?N<2P|TK^5A5iPLF< z+!sDPdlSCwREew+F5%wtgM~$)8rn%r+Ma{=Jy$LVfw1S5Rl=3pCm$9}_`>hV zRcSs4ruM-rXJ%d*tDMB0>Y9a;u)?@$_cotbW)12In-NiyC(XIr#vaP+#Dh}cb}G&G zX_U}dk_W(8+!PEyztLtR5Cp5U-Amlj`cOu5xi8k#q~b=h@C)iwmmO!*JriB@BHa{U z(0PfYLWkN1rBT}ZDdo3+Kj(|&>GI$cw664An=_<41!F7|^&1*!Ifi`;{e(J}8wuixdvI{iY`_hPGR?%h)m!%6F1^sd?icx`;ocm+H0X22qQ4(qV95K8v1lzv>T@YgsK*H&&I zceS?-L(V=TG}_?a{`J;j{x(rA)#rAHw$fGar?90c51HpU(A01PydI9;sMm@!Bcdvg z=->wGfLO5SDSmv#l+2y=9Fyq`)4*l0RX@MQ|50@2;ZS{l9Iq&eOj2Z>O7hK;qOzML zDJm^?F_n;AWM8f&sVtL(tfN$RvhT)HcE%F2j(zNd!Hik%`OWXY`|mt=o^w9;ocH_n zLU4g5qMUVeX3IYT2GsL|5PGrI^dfECVd;iA{cD^I9Y?}0j5b137{22J21gwkB&IDh zgB~7v48}%4Z-4;o!R z*Z`01ou}~_&D+j{M}I`zIB0UN`5TyDr+V&fL!L3=87M?o0h1-3X1RmwL*itQ0QJQL{JuQUw25|;b z;)Uy^f*we4660_mueKy!U=SkUn|RS`jo^r3n!_e?d&96D+V1P&ZCclXIn8y6K1S{$ zkM}_$vzW1?Y--n^?t|U0=I1o$LyvkBV9pb|E4HQY7lolW0#>5wk0+k(fph1-yO%Sa z7!Sw5d=vZe+%Q}UwUNovd=fjb$6@D1!alv9YtT(t*Iv3otsK~$4`zlkvGY(7c&ze3 zA*%KLi0Wm1%R9dfuGIXcg`c(@19LS`A9VYC2@IF}6zj+MxrV|ie<14RrHnRqQF;E-To20Z$@^~iS?q%%G=k3Cm-b0L~1CQVCq;-OG zC%v{wX-<%x!-=yPs>`F3WK^wECn#dN)G_d;41#VYnK=d{7wNFp*E#44|30uJ=3fY) zUo28DnmX_doP-(_RjQ#iqmfm+;%#VxjscP}$lo;9F2HD}4xq$n=)g4Utnq;qG?T5* zLUSbg(pbu|z61^O2zi$jXo}x(5bcopINg zj7*X++{*gwyj#n=)Banjd9#ajX<)_R88v-ye|_++(iefm+5W=%o*1=5KTu7lUtaGV zdwAh|@KnT58zOFkFEU}6d_Ob#`XwC3z`5eCp}FqL*O#{*1^7Qu=J;i-G@~V3bwzyI zr(ibl8T7zp;!)3LLj~#A+wcxG#)%wSB#J;L@M#VeY%8YI&&~ z4Aau??4)6R=`oRHF68{+S8@Cs%I))(yDAJ$3z1uwMv zk{(L84rw6wqYT$HS8i@^wMnjH6+R$)1GADzxNMcf1i;=Uy|b2xSc!x@z>X#+_fY5N$AqJ6^2z81tLHRXkJQ5MrXBoPKB?tm0t6o3!=Q8`n*FZ@T_s4 z|Lw5BxAGv@DfR0{?V79?Ow=8!5k7%qYR+(PRTYIpjIsVDvW{Fp=gRV)q9 z8GeUkB6=@3o1No8w}IBib{bv_GNx^cnq}|Rr?`-n@2=%W()Fb zK)qVG8)L~LdyebwDtWEBJo`j~92mBPXKelx&iEXayfK{fT_Zb9jRKKD`0n=D9$~O!sdBK~=6k{(df&T_ z%Xf!t(bJIC6McWL9qqH~HuVRA2BVOu)EG*67m~hsej1(A6Ay1H`~VYazOR3bXQ$_5 z`aqvx;@gF|KnC2R)pUC5bd7&6C{CQssnG;hP{2ZXO?ol*%ctf~OHxz!zDU>rEMbTG%mOHTuM2uJDP3`VVHMxbO>)Q1KAa*Kow1mU-!0_;_Os(Jx^*3p!u%|P7^n0Zw^ zsT^lO1FETXV+Lq110RS>YJ4NOT-|F`YU?GOS9*Oc|An((^Ajf&SR8uqQDxHXtZNmq z1)oAZt;iNOSO(NioWY@)8o!7q+#AyK|ZbaPW0N!JWU$^~#<3fGHA zeQr8+|I8ieY4MUHTf5#YUd`Oj`1{w>zjlQe&WJ=FEU&&o|GRSPz0$P0ZC&N^2Rvuw zjFNbAjoM911zq0A==A}G$!KHVzbXfq4#OT)IHMGi7{LSoT08Z4)OD`Xe0PNEVgBfV zU3i|_7%5HeO>umak@fV3*rS&`Epf3nW~LY&B1A0ono@3pMSBqo(r}o?>3OJP~ej@grUfSPvp$BiTohVO8q(cy`oHCzE}N3c1f)HNvVI zv%_(2Hwj5!=^?K8p>&Hkr8l&Gf5Rslr$07ckKaSIW~bi!K`&$`yW(C&SB~!4I4`{% z%?!GnDLV)|>=kyf!^S~UoqG=!AbgJ*167N?5@fR%7Jp-dC00qtFur+;Kb_a>~=;vfR_eFFeQLae)jPgWV`6oukd=aZDj2yvdKRBDhi@Mb=Pj1su zW@K6%Eqq(;v%S)4uh3DL4otoDCO>6~|NCZ&zH=^?q-Ie>8^XCgN$mt>Hebp%!?)$` z2cP}7YK39O=A;Dfn(V$Gy}SbBQm(kpV-HpSOTC!*twY~oe;+hB13FVDcr?h9EvWp9 zRYO{y>#IXUbwkk3FX=5)lvlShP8a6I2gNMdWMe2#sGTJ(dRvmtae`@V@T-%8Tl!RK z*NOZ7u8N1Zv9VVV8<<_?dtDAcn;pDp#_2`Oa$~a}7m(P0I%XPNm_{qV#VP~?>29I~ zn9n#~w{A*n4ek%uP(@|W&GsWVM}kn5y`*7;OR4n3Z)L96h%n?1YT>{0cB%KqoG-)U zw2BobEnDjNi2yw);1EnQ-^*eq@K4Zi0lDM z=$r0|m4N+rU+DT~#%@5#9w{b*W4TvHEJ)Ver1%eDhEkC_PsADiLaR7T~|iqR*-jC~BejP3@C$oiro#4uy>g4DNsMqW!#y|q68(O^2+ZVa7& z{amU+G~eC7*Nlq0Y-gqZX|i;o9wQ(&srI#VF%Y@MNe!RM*u85ImmDb zuL}y@Rw{-!9DgDJ1N4!2Kyb75Fel>w9JD___%4W}s zMq)y0%LY0OR3FVwGYYnSttqlJI^bm_ALja-P8M)xVG8FV!(pupimUuR;kLoz6UsNK zT&5DrHz=PM8OOB7twwMYeQ@dAVU_vL1=8Uylfi@wB#+>qrEocPHoRsJ@hA+X}nD?;aZ)7+gqH{lZpUqT9nf!jP z;qF3U`Z#^es6v-=CI_ypd;{g*`ujGSk@ujR5H8k^Ix>rWe}Ba``eicttl9JkJZV`1 z)&66+Q9SZE`K;x}7TBkDqGONG)S3 zj=2>hhIHAhl_m?~jN<$jEmTuCR_c8#aYvUi zl6ofVZ`yU-%jre3m$sm?a1+!!K;sgTqK(_Zi>nK#1=LBC43gh=uMYS%EJsG!))IFk z>eWQWnZyPQC*{TO)ttVuOhs%%=G#4UK-jT;!#23(JC*7Av~tS`kj0Y0NAr)bt!wvi zVUQ3qpYLEdQ%A%U;G~@4*|yox8E`HwUm8ZcOR(Gm z5okM>(>3jH?a-_B<mfT36f~dTX2LsY_ zPuHn zzZq!7J8Kej0XP9!ya_qe(Ypw@cTSu5rguqQ<{&|xn3q9Zf5yS|V=KMi<5t}73h}^& z!*RIGiTwM&ta8wDL$atAweQ|mtNWKw#*CI-T!8u*FrGn$ugD1VY;geW)w0mwhyXLI zn1;%jl)3J7+)mv5FGk@;j)#re7HP^o81oy1F{@f$ztf;U1qnSk!XEIf5U!T1)H8pa z(&{Z=9m#qp8z{VSKXylsxH)eag_4)5JhG+JG@A-oeWEtYu~acpcBaoPppe{IxNrgZ zbP)n@5ic>RaEn#mkp=1|n9*mcHgLcT9wg-~6ExE|ZWR2RqtpCE#C=tB2XHI49Ulfs zt2eZbzZBo0+ZHlq>N%MAnz4jNk-nm9wEGSnKXKTy`UI>3ycp0^ap=0}(oP7aGxFV@ zAOCCyajorF_;*^#PgKND?0!Z1K6GID(h4badxtsvvk*!S^bf-Jf*G$VI-G*n#u2_5 z^8~>iEL@75VJ2$>fGZZ85&!zjLIaL2ZpUESc;sdSr=jUdD%BYS(Z@4v*S8OE~j0 zhsxxmQ!ONd$x(b}seH=3BB72Y#ampqoJ7o1i~?2(vNi3|(pb)EOByEzUI}jv*5hEq z-u2q=-1tEoXXL7oQ)&2vlf<72U69t#f1@h&Hb3ajm8UiIG()8E;PKBzB_WCw7RA?d z<=FKw(U7zYw~yWOYP=O8&6Aw>AjpTd1t~I!Lti^%hnH`+ z6e;B)66temTXZq>m+A*m!<4q$KR?AWE!}SgyxphHU2^Dku|rbHid1kzvVp%(&)owk zsh5jEXWljpp6sf)8BLOLT4cH5AIId-3+XzZTNfmU^m>*wJiqr``sqi)Ssx(;Oj^(o zVhX?<*d*Gl?MMeLeMBcv30W3l3HGUKX-@n@a&`F)dWC-L{Lr14W5u>LQdv)#w>+8( zY~B=}o~Jv}%na_pr->}U$-fg~wNI*cQ*d+Go-)4n=^qeNzDmW`_nfVmZp~w{Xzi5r zPZEg_PiL>5*p*w)^N)0o)E6GNC)zS+*CKY&_aBdD(WgYeT>a0@zapcdyOR_Z7`ytH zytVp1hu0umat{Go{bp~f(_62Nh8GTYs8@sgNxj^tmyrv7<|Z3fi(0J-Nq%v=ld9e= zOoc-RW6E=Y{PRf<@7M5T zJK#IRa=8v(`T@Nq<8y>M%OP#=6=(!ovz8*QmIq>R^|5v%`$kydxun@0J-{WdHO6pZ zB1d0ilMH_hltWpSoSlbx+F5bS!Q{=YY*>Hp%Ug=b(YJ6YaDtrR;aj*Ou=BQf%nF8H z%FtcZ1N!7_C`EpnC=Hfj!z1Ns(p?< z7@^`UVn-IBgO07sYvI$-qPy6`tv+6646H4Z4D&6TvIJWgq}KKipr5Y46*E_}D)(B@ z?>{vI)oZN7Nn;w$myV9i{qC@7Rl4v!Nkf4e_l`e=e+Vp(hH)Q*d-9|P=lkOB8pX|Y zGDtT$bhh(|6-*3h+#(FF8^m`Ge{Xmy1DQy1|7NQ&F=4buK3|1yA<|d=04h6$iP^0$ z*#PCZRUk6gJ_BJK7i(EO2D;yfZ|fHED62#iRPtorj*e&GYTh@X(|qg#E^PrPlFatB zG<+{^hn?Q({@N#cot<8@$Px0+dh}v4V2yxfe^@YC%&0`@yc}%GAkOe^eq7ZeaLq#G zBz6%$z2kRX0QwcAHadM2Ua0cVXM=q)IMeVoeLC2bSYpVyJ3_b}V0^+|boYL^4QN&c zxv@hDz+;SH4is?AP2kn3@fjdBH)l~4NvS(b4v2!L*X7W>u4c&ds1<}%Uw(+s*=Fdr z#(5r`mu&p~s_5%tf@#+_#V@~MF4{UFD2F; z26K*s4Gd5=&FX7`bPpgV4b%23XA*}C_BL9GrqL-r@9 z8*()Be?=|cD+2T4DZ_OM?~6TnuWb-kF2lc9j|Xq$htkBd5Wv_45+Rtlol^}Jdvunr z47jE^tlr+O;(Dr|y*0DJJ%?FT`t|d6=uvUGd0C(s*D5tNnDoS>s`#73#b3FlV`d$K zE+gydb_EPG#_%R>B=c$KOUw3{#%nIA&+dPA4T@1nV>NG}RmkkA3FUkWo8R)~{=vm2 zVy*SZjW-q&f8~atCB2^q#U61fnKl0;Z-6ZAIO5Kx_DX_0=a!tJ=!+DCSEcYSEhEu* z21+p3<>00xOKhds53N{x#j4|7s|oke;?vvQUKMtIy#bg0yWV4ZT<5&h z76%i>sPT>_74M-f4lR4$R+>bpvWFQr!DBoNi^lu_BFWkoQX*qXJFJ)jT|0$ugtbHpGxCr z=adbbaEapMtGdMnCgo$!g6)CT5i)cvdl_fyiAQ#;E*phw1S1FCd*fM}cgc?b_OGs# zXv4?78{xpw{tp_Qlj7LJ?c4TpRE25iZ|n|gyN_2Brkl2aYAfg4uDcU{OT(}E<53gi z(6b-qaG&0+!{e538<6PONhd9{_vU7WHQR6WSV)-cQ=qJB2u3au$`KQOt(Y~h*(%+C z%|i`vE3Ezx+&}tn7h*o3BcTWeR7j+&2C1}YcQ9FkUaJ$kkv0N-m@67}N27Bw#(l7tT6(KCvyL;&d3_drwmk z%Fp*g>!`kl$1F##9lr7gjK3nd?pMnN>A@a0aoe}O(Vd=8`OM|dZvVl2rVRb#H8q^3RzRW-)Ht?nX!Y} zGzwV9dFCvm3n@c?M&gorURUeopy$ zq{Cq{+fCk?7bR5`<#R6#E{}1~3+A8qm#m1Q6-;JLolv>DNxquwaxLIZ_Vvz=qAu|V z>iTOR=a)x9uMFHalDJ?x=4{oBzcubAQS9(MRvp|OflArNoc#AV-d0E1+qC?bj7dL( zUkKh5xoMnUE_xCXF#6>Zqh>q$r#_uib?_hCA*w<`xH9+R`s1YThhkfD6}IDDTH8ol z71E5o(B%*ZU=ygx8l#+_NOde{5{1PRGZ5; z;?N@;Vvwljm46YO;eV=n@IGSjMZwLjcfL;kIy}<&M)`l!=Df{0@>dZb!<&l4L!K(( zQXgBTmh2%^KAG05)6p?PasM{_%}KZe*X+Z89vK%CY*EuXbLq8|pwpcz(z@~(?%r-d zDQNe8lq(nXGTKS=1vlP^acQ5j*ODm`mMqqAb7T zakY<(LCw}}r`S7^XQ0uo%vUqAdl&|Jy!qjy_eR`rUk*Tl2sTyYoY-@&$q#va-&BPfDu)MnBj>zKtEPU|fYY zhusk0cJ$;VGp7>oazQs-y!K6QBN^(l8UwVj(1}+e=_c{;{6Md<@VyHEcm`6+&g2wb zjxlYo{qbDfZCTo~y}Sf0No^2Hr~7L=<}?RWp^=eHw<{FW5b8Ad8W;j)+c?(k;-x9V z*N)yT$?V%8o`fdR1x)XuYk-eCDEqK*S53GVV-P0^dwrefZ3zO(Q^?<-I%2b8)P2QC zC(BAZwyR_wyGb(L(%%*q*WMoEbR^9e;#nw43hZuNr)dBFFgeGaZCA3Sqpyk;AJhXc zt7pFz?$B+^aXTlRtJV-oTKgHlVD~&o7Al8_Bkc_hG$XvW1CV6Yt8*NFKLG1}4j!4#&FQm}sozv#F)1Vx82=Hy3fKTXiaXb}I z)G5_bea6WcQK@Sd$_uwn)}SWGm#=r730xPaQ}`HoGgGk47U0u(^v~f+t;DP28KzWF z@1E)o2x$?q)}WO5k;Gq?d-W2n6|Qh(tnE!M$Cqp#+9nnkO&H0Z?h98Kf|EfPpP!32 zYhaDtNVxRXr|d-fFDCR6LieG@U}D0}wyj}Fk6OSNHSQ`=_v0G_6ZE+IQ~q0yH$eMx z8ZRP%WGr-KRB)nCT-dr39btbUEQ&ce>Ow`*j`ACPyGA*(+=9&ic8Gx)0|$A+0zW9% z`5g9|`B$v+(|f)0auX|GLD)Na=;ec@`tS70%~o3&R8U*H zN|-?E*D<*BFf{-7+4RoO=T~`vMkQf4Tv54xf4$F{LE`(Bv&e}b=l>td*3k#EL<}kr z&Rki6Z0Z;SE+4E8p3lLTeH)ikw?!$eB(4!(iU)q5?5Lq!D!GbLG}*>2Do>^$-v_R^ z+jbvJC3@jz={0|i9ekDwQCz9afPvlMM{&Au7?{O=W(1A~m7+1?9S-U%oj$<$uT7!y3MKtacYCb6 z@c!=_Go`QZj>k_Q;2Jvp=ev=|%T3~c8zN~LRlKF?dAfCnw;GTyY&2G&!DH<2ej1gY zJnkU>P2)gsz?fzVqI7?-;@Y%YMNht?or4c|YZ^HrSe^ONdSg4)^ovk%*6a{6tt3MR zJ5#4kXwepbyrVIE^~mTtFXHgam!#U;JO&rsOVqXcD5%HkQc#fPqh{t~9OK&&t#8*d?JxEDO`(k7-q!1e z^A26W@dMS#k`lO4FPR&M8*}_FFK07**eJ+~Ld(}=h)O*p3Pu(z&t}Xfm@SHR+Z0bD zZQ_IT)pCuwf`Mh+0yCU00qZ!6B=1$kb##@aAWSAH`ohyjqot=EsqA}{-c5hu(8m=9 z;|yfk{0$BJIs*m0wBx6b(6KgX6Sg*e=N`klXM3|d&Og5h0BidU{~pld?z<7}Cj--!-yo}Ngx?=$Xyx68$hNI1Ng zAQEDUr+-M8OR*|6!HKF%{@7jWqm5{{Lxvi!%UoMH7#K@S*#HyP-2IDNHAJ}@_!W3+ z+yp|a*_g7i(E7h;M}#-9xrWI;7Zsl-K8SKGR4fgH-XMf(8w{fsMjqCEXAa9$JcygU zD72)=nd3JpNgF=-DJ40rG3_`ZBCxry3AC>+g2P_u5V&e9j=j*4 zpS~N|LT3qAd8HY}>yo-$W?{MXz>Gd0Vmac;1U@rQ_{d zk_m}PSLnFK&Jo)*BItvXI4d?lC@SRfZ7TF(?rS5@22J>Wk1(^4co^Kk()R;*cm~P` zhL2Hkh$hqwRM8T-@L9}Tu>J^ZFfQ7=Pd1JY4~ym+72OM3*L;|+XE@UMEMgMcP;djQ?tXlPWC%wB!H>otydB)k|tL z(*vFC=ivy=3|)eWel5s0_oW-t_o8mcR92wP6?Qp0G_hnLxQS{zSsUn?Z|lJQWUSO;7vm5vjIYhZxSdGKmUxPCnAWFykXij>)} zn61*qA-ylTLrxqQ{(0kCQVBo105gtE}Y@~hyZ4?~yz8(lT1*xwDEaFd{*R_1bV-d~)ouX|p3iHQ^^Ig)lw}X4uQyz^UN{lk?9everzz{y`*ZtbaX?k-a;U&_2rPBxDMNI0aHA zi9wC*TrXQL9D04#Gfq}Gkcl?vO0S+NWJ|$<* zrOyj8@IYOc-r8L=%|su6)1Tl}cfQc_tjv6N%xtNbo@L1CT(ww-j`?V*|MtC~1W!Nj zXrVtsw0>t{RO!gcr;gW^e}}!GFugA7w8Vv2@C7~5GA}uuEi-d>%3`!*^U|H8oBICi zm%+SHc6h^Wb3eJgOhIJZ>&4-^*!IuXKCW*9egQmxI)HXPxoW?M}A;iC19c4Z=$jzWxVi9-MBy5OP5?{Bi>2 zv;vYLt~5I(2O|08cqkTc{d$_v7HJs4_1^Ea*E}rKx0Ldn z8?$EG*M#xBED>+HvD}2>2)amzmcy4o4D9tWjBL55!UY9M6P7_SQ_i+Nl~w4Lhp%1a zRLg2O?lN8tDfdHr7f?_GG=-ube0uNFeo?{o&pG|K^1w#u8cr?sUax+0@rz`KH#*9T z4JCd?!`@U5hAn}eUbtgB>$7!^wnD{S1S?4nEizQDcHU`d7fnUhu;;~9`BqSvR(<4N z@N~7h(>Q z|EXDEJN)ji-(JO1ta0kz{$1Rf3&z3KLuU8-O%#vs2UZ;?C%)Sm=(v+!-E{`WHDklB zp6uoR;007pC8T~lfR}+Dn*U1z5>UgN;$d4lb`=<2WnMUF)~L2X?gr7Uf6a+wqr2FL z$`iAd#qlU2odJ!bFjh$tz-*Uw+EKz7q#>I$IkdM}O+=d49x!X{%DG3NV0W}(`IBE# z;(_fZVUyc*BbJKc`7ig6ELEBpenP8QScX1m(`4a?AHH8!rwB4nt|Pb2x8u_LTaXJI zUNAIRBGH0vN!E2N0`7EF2Mm#s@=z;k3Yx||0f;*jx?3?9*U^itBsdR^AO@-Rf+4|l z)4`8$i8PW7yTcX^`g)>(_dMA>4FD{ zDWa!yyR00y9gAiPqwRCx2(Vu97nA?0;Lb}8({P1zBAtDTS4*O`*2X@y{JO5BkfAH6 zoMe4It_i>Yv+R6t+UDhs|K8IhshG)Tvdgil!*kOwzZvPTio|)nXi{5&cKA-+sJc*c z3p;qX(_?NQ$Br~U>*{a&X(hC7UE$&W3st&orI&fk6(oH5r|QYrBeZ}*W1_(*=VyV9 z%VTc^jn4?549}?vy;k3wLc473Ln8F^Mpgd%(B14RmmSM(mmGa9u&QI_JqpL;~`;X#s6Rp`}d29Kf_kNsbs^6QORci zT|(Ro?_t+yH99(DPdoF;&UgL`Iv*?*Qr!N=a){d-jY)~LwBeqWe^|KB!>O3$^F4kx zE>2UZz1hPvrYpnnXtbx)x-hKMQ=engTT^h{LN;^l6z15`5x8e9v#fumK(<22O@)P! z@8^7Ra4S5hzczlnxpG;@b72xZv-}#um1s}KZtD0Cn?hHT=WY+nq&5rb$#aM2h+x0% z_PUfQ&Zu9*xbrmewV;%CQ%h$nR<1!g-7n98i<7@N?0vhrHSjPcv;*ThNxLP(}2!lUQQglGt*qxh(leG>}damPc zuter*3T~eJ%0eyALXdFwlrR>Dp{2jQs-Km(R7FK^*TJ^;4O(d7QE%$kft{pyh;Z4a zDWgyh(Xu3zV$}OY(;n&}gEwIIrW(2MfaLT#gaEeFU}%q$okC>;SF4` z_*|%Jq#@}jSy~HG_Y@!KTsM|HzuuvA z+F&-L7`83ERnlslc^-Xv1==0z_(LKLzB5@vQ8CI^J{#ohc+l+Ll{K}!H{AQaY4BR* z*)LW~aZxzET^)pBeiK+e68kuppTN-9?oW-$f8iiC6qEXofNlkboGONf`U*KzHRH6f z8X1NQy+n?+=FazCo(hKnk-itG#pZhis*JTzmt69k2ISZs!;+@Z zqwRsF(ch0dUSMGHS=@_u?GKZCSXaDWrDKWiaQnbOTYK1)d%vZQ=+TdRy|(_cu@GHi2%J`YZOoOLp_YPQljuAK3Nh%njVc z<9pvmc5!BM-`%F7bU^*1lhdGoqQBboqJsTehSvC}H%h$B%liHc0If11+NBozx#ZJ? z1VEYG41T!;qJ7L5_|?rP)x;UX8pLGv^JfRUxqE4fMo(SvUE`Ok)rkYpPMzq03cTmL zJF@>yO@JrE8HW!nNGl3`4>LE-cFB{TI#)~l)nTu|9;y|6@Bbli`Dg0Aa@3-;Rg)Ww zg7qih3UpfcH6}^pE7%_}`WwE{kIkWZ=g2aY5b+5cmG@&1$`jTfqxA)>=o_Z%;%*P! zE3YVotrq+_f9eU(^U^UMrH0_k=Qyq<+BrAiY;`T#-fB6V4pd-k=T6KJyxC3E2DiJj zs~bh0S#yUC2}U-$e}9KqX+3Q)IFVi6*KI2QTE$^fL=fMCTFoE(yI_zUc){vR0Gaz5 zL0H6oViosYP~nl%*ld>v7Uj@j+P=p3z?h3~Q4tgHpAs7uqmc0TzI72A^jWGyoE-|8sL8ZvNN>%XV+rY z%~FrbpRbz_siQfqj7q$syWAsXDzGPIw9>B8~205I_Qot>!hCLICa-FeA$c95_% zX&rpRv(N{r|$dlglzZsCAUlK6i4uGqA^m|^K;D$xl zvCoAvn5|XLKMtXh0~`VtX>kRS!=%#@_|HZ${`bFloBy7KdI$_COvfK?LS}|2{3YMu zG}B*#?+rc!(}PxUf_}~!zcK31bsC-3>E;uHf(HyH-|)gEd4YJSAE%YROW(us1L>gR zRfGhaNS`8n1zg=uw8g*`4EK-zn^Au=dayO`^Mwjg5x}7xTGVQc+CT7(M8;6T6SH`= zly+U+!K7Z0^K{{(=+ppJU>9nk8JB!A-1+N(^A^D6?4YP)?^6oeh=ac-B2i}4LPO@a z)20IFFo*J>|FZULnEEEs2dAI|&9bzzb8sp$7vBc=M^0RRtNpOqNJVQ2JO$V55t^0< zB9(F^JPT4*oq!YioHQrl)kfwYkVa(w!;MhAy3H37TR<#oMoHph8Ze_LS1FlaPxS(e#K zswd-~fr>ednZ+nPtf2>T&D_R7dCElojn(ea!S1}3U+@2&C%m!v-tFZIIe+Ov$oWTNndh905{( zH6N&M;mWF)8$irt?qL4h3}O>k>U~B4vAPZ|VTLci`;I$n6=BK=$ue^HUEW^HEpq8#WQMj}JoC(I30iX>n4^V?SHKS& zL{q$*C8HpZikg?}(d$vfiL@9iARxoajAP+eJQ8B;NnQ8)tyFO1irZGiI-V{Vz3kiP z7oW+GdpK&lZ7%$=uorTo{X9csaxyOm1Q3#)N8!9B+_j^9sG8>Hedh6BV=`&|$1s=8ZzicsGRr{R1@og(q;L)!BFL##~ryhk)t2ABB$eOPm zJk9TEo$;H|=fmsYGIsKOkR`_z6JP9CdmR5R=MhClX;HC}F9mke>(J@enY;dj_Nj`k z7WI1et~bKfHUMGrrOHWA^g-!mQNgVja-WzZ6#{|rXF{g*qit@rDMgtlE7$DJ%j7Ko zyMtgCj5@AjpS|;``CY)P_(Wnx@2<%$>KhOF%=@?24N!gw8>&z42=f^%*4zJ_|IFTX z;a6T&)X1N-0=K~3A75knnFYKCZs#w*_U3oE1}-S&cLpr+WrZJFi_GeM&hMIZS7idn z@&rO6qY+{Z`-(pt22p%QifOX_2r%m&4uo&TJS&{PTNqj88OQ1V*T7nFMrTf+>oidV zi!Xc;NCpM{OYV+pBkzCuh+53}rxLgV&#R6wGMN-^k)f#_tBrT8@>llQSw6v(aCrL( zT;jGqx)nb5!!v8jwyq*4+4u9;9(qUR#ofOp0hbFDnc~XFQf-%~t(6NW>g&QidtaRU zz(e7MwfL>5c9?TW;rfz{PjpfTGBoTMyZ6Mk3&cK)Slx642CX4PO|(5(ok3{B&Q47a z93Y)P7k$1gEg9HOwjn?9T5f0_tW#}M>UoklWaz~djC^l?GJe!; z%k!6a-EBo8`~jdlxWihU5QK-GEAGZqS1Sh@au*^PgQkzeerP4Y1F3<#TiOoaRNg0z zW{m9_uIL=(>eZ9u&JRYMqqx51lHN2e?#x_PqsqM(4PJhe?n%9Ne@!jN7DOTXj=CMV z*haqv<3ujS8u7cF(RUR~(O>wyn-_iJ>BaP-IVpy4pHI(!UG~<14Q|x;cg#-)-XEoS zEE-o6H6JhW2TbGn3>C{1hOQ=mdF`$2Z4~z$x#=D=;liAyS8R*NvFb8eCaIsP=pzU3 zo?)yg+-;)m)z7EMH)>;vb>o*LQ+7J~b>x!jwRCrS6P%}|O{~pwKWjMb`erpP1S*-Q zeqmd=am#+)gdknJDWH@){VY(Yk*?OLHPl^oYM{4zXacFC2UK}=sJIia7kqe8CKm;^ z4^A5FENR&$b((bb6_3(fS*gD+B zOK|kzPv{yG0V?o#8f4-X6(Zj|?HL@_oD@>;+V9}RkwrbEniB3R>DZa$@l=>gU4<9%I+j?Oe=c?D8@m?y>-ra^FMJa~2umaFbNB_QR)rqZp!1=Xn5 zZ{p_6?I&kJ6-%YrCpQ{RbZ3wrUQdZ-A{GyNY%RMbWJZBFHAx2PO~C&+IuA#xzyFUL zNke=ZNM@;&kt8eQCaXdkMu=O<4%x)@4n?v`SsB+Td+&Y8PF#C)?Q37$Yu)iazx)0D z4fo!2&w0I`&&Oje=Hc1<^%iRE4y0$-Ne~zC$&eXolr6E67Co;ua?5No^X@DCXr-`Q zs&Ju4+Umn2W^Zlo$kGLR1Iuz0`khKb@j3DaoMiZCrv&sJ_V5k84D-;pC_r}->bzk5G{6jp;+;dh9x+W>jRSgu-p4}ZBDVvh7cCgBtGx0N_@ulMz7+WW zKhmz-t@xOfKQk#P=7-JsJf_sY)G^LgWID$n3k=jTzT7-k9U#1hbbxa{~`UF>FIZPu3D%wODq z>tK$=$=WH7J72RXmHbkZ_F<$wzpZx$c3rPzdzO4)hrxWKC=+8p#E0aC6PgQm2!4Fh zv&Of6)kr{Ho~k9s;Q_N#Z5d)5lvzMmwDT=NY#KJ>NMAxwg(d})*tYI}SeSnI*9cao zw(0(G;Z&^Z?O6EYvvUkxBhUX%2@TiTG##E0elj`s;c00yc?Jmj749hhwA`;9#Nce@0DgMMUP|j?QVLxpA9su+h&< z+z990LauCs3u(0F;Z1g|flwP&r8{J$$wT;0ru>h{B7geO;d%v|0ppC}c23%UzrBfz zo8i&A*gN-X-+Qh>>@8HRu;$~_Q(HlR8MQVM(B_ECnwN%G%rrhY%CJiro&nFw88K@| zl%M%^Vy-~KdCl<8hN9yHOS0oyTsiFbZ2L@Q?+*XbBaU=X*e9&oT$~rO#`qS0zsK8( z-GT!gJ+Rwg(pD?O6W0t?m8Q#75`L}_dsJNMgO;gFhU5{-o%vzxT0@>}*%HRKkmvO{ zBzm-r9%)$@q#}JZccWBQASag@AO%7>Y@S@x@-1s0mfk`ry*w#baCyHv4wzQ8QxRgP zQ#dPMkmh{~9k$38d~Gy)*6eVE&i(wYtO^j^0wxhXcH^d3=*pJ}Q#e@h#?L&tX{h++ zsD;kEVF`Fdn=NkC+WNIB{Smg`ruwLKV-CD+|Fn)2VQ)V`TBp03lOamz@L{MxNl)Dc z@5M{g{*et@z=w7su5K0@i@!pXq@GTmCwjKVB0p{{)nw0#S)sHstmHdsdx|~ZpKGz^ zn^V9&NAEMoeB4)Xtmd3M%TPdc)ro)?q@+^fPoBmCxeD-S?uLE{C4%@!n2%jjP+`ce zT}dqo)&7LW1CJ0glru?p1u66N7yG5pQ4O=q%{wKu3d?7Pi@BzYJGG`judCSch02b$ z1eI|%9K7(aq&f9l9QhP;oP?Bwb2;;YL)3MW7Z z=7~s(I7KjnG;Kr6z)6xYdz#vA49GhPZ^j%z?nHA5;yE|W{iY}DQupyAd(!uCRIK8y zV$wCQ0NLJ?UzlZY_mJNm9ekWF zBOTCXhlMwCB6hR|q0Pbc%0lE}EX)n%)KEA~X8iWc8h6pkr7lL&0??;^(JI#>Hzz?% zEx-j^{A~HAv!7JDZ&6t{ByHV?2!;I+1Cs!1-~t0gJnwvD#$h+(TEK@uyX6!HRQ4j{Nm~`az3%`}Zh`y--o?hAXd((5tr6 zUqOdb49T3+|9w`Qxvp*V{Cw{1#}jIZ9}lLA880wCzaA>gg5%b^7c6eHceB$D`TmVt z>VLM)t1o+4^%wJMBtE}b(eD#yh_U|^@#h3lLrc{zAES)C(f`{u{O|>HF4DDhL&@kL z!>LB_miev<|K8D`d_2t{KiOBd_BZ3vjBxE~ZRZUUX@~O60m^7fug|u3sZ)p_@5^fm zm95?ToBH0gaJ9ul_sWm*E|*McE!0NueIR59bgBE)vQ9V?^T5ovt;@kK(I+I+UOR)c_&Kiy=V3x$( zIAC(li$O?hV~w|6JL94Kl*3(lu%|p9#_ow`2xMC@X16sF3I*RXS9q1?a!WlYN(~(T zc@+%TRe?DKQ99Z`QXH?W_W)LOO{iT~;46DEkhE95KGS3z!M!KLjH+Z+kEymj)%Jsp z*YZt};dPaUKC=ib8(VYiFlPC`11RUJN5krkkAU?kUn|ci-c%>znOXY=8CroNMdwVO z*%h^&KMdCFYX$*B4ri68mLTg(79F)3Nv5^Lds}F}!wvz(wb&O{L9aFJSpXZg&^s;N z(0(HiNmtJ-2UPjuI3FKayp^kR_Zl8#WBSvjIvs^^IBXX;Tmg$IJs#p6*Ky9RDZ7}G zO?p!i#oC|d(JRR$zRr3OnRB)B&m3I)+b7KTTexq&|3V+E4)WcD+&*_3NSnbb!bimqRJ4FqJ?G1EvlGDHm9{&mGLmZ-kf}S8W?b-G2H< zsox@L%@ElyxeS$G^gX!L{MzvD&1$k<^y4Hh!DMA=or6-d)cLVM4}BZj2D^m`<^cUL zJAzEKp@o9#H5KWsEsE-JywUNmgRGwB`-KIQ-W#i9v(&|3GO%QF`a(|EfB(L|iP4|l zg6t#mmyY~}&u?RfkrGLC_?=S089@Jo|NRl>z(XP`8Ph~4c49*tZk*^nk7fDMbLT{u z{DZEw_HX|bYVubUVdT_3db@Jhr*sD5TA`p@p*ge4dy$Kh?^}4Uk}nkBwXeQlqf8Ia zHY@*7Z05Xu;?6<`97*L^{mW?GFa(mDJ5WUW9k!*}It+YrPmzR;C~Z$zuOA}bWt_0z z+svuh#eA5!S^3RlaL)9+?B%ZFq}4>#))SAGH;ZYdfic5?1BE$@JI};117S-?-u6}R zeabm90c*yP-#@s)_cw1U>EQt~nsj&p_Ix~0>Z@>uD417>3c{7Q6?m-q((&Jy7pgY| z4;hs1G#@u-F&~O)R{ObYk`orXoX-05uB_)whpH3Ri8_nx7}oo&EaES{WnF(rDWd27H|UGs1Y8N5!Idtz16&P;zi!cWzP(zo^@sI}=0(@jTt{M; zFXw%zs?|(&RV+WwtqNul?q_CH!n~@&wQ&^-L4FI6eT^gX?c#^%4TR%$_=8a`?{USW z<}$FS(DMf`oTBWvz?C_SD-DTNtWkb90q_AI;y}9Vt5Ag7sULruUAv(z3;`K!4Q`!z zIfY;eL)~y>^pyoCpCvt$@UA>N83v}JjFT?4fOToA2=x_AD18@N8*paf2d%3-Opk&FQ+e$_xY%fYUZF9)tjB4MOv@e2kQ&Tfz|~Q!rGambAWw8Lbe>?%*7{l>dPg z3D(hBfB#1}q^EOv+H zi{u+BO!6$3WYt~II{8^z;1NS1>x3ZBU3H3Ni)pD8B znVFe7NE{K{7MzME+*&Xv?c=*hod5U-_EjlBSB*4vbQC)`1|5oE$RiDI?le4Tc2a(5 zwNQ1oH(K7w=xpoZdwYS5Q|CTba1==GJbakMm3#g|@0M<5aZpOS#!1qmJTIGy0_w=q z!S4nn?@d*k&b}E#%*3x=S?2RdzFeoW55mS|JM9x&Y>iAcC)giLksGd!fpz!R6hsae zXQ+Dp5UbGg4m7Pn!CQZCQkluB2q~}|utKxgrDBEWDI%izVNFZQG91^UlZuBXm08TZ zcCPVmdS&3V8G>He)_pK%Q11W1_;qYdOzmF2#c*CND__;A0-CTqD`VugjnlDg&JOLM ztV8TfG)3+dsMVna6y3Ev2%F5%wLFL#e({n2^SjjWr^nK|#4P$N@5gHM_;?+i@Zp3CZ(@E~{D)!G;^@(w_ zrBxc}74CdO&s1e|eNe+hWzp;I@iW(gz>!|(TTeF9zRb;XiFQb}yxepdOf!1wVw4xB z^7_83^*>;aS&SU#uoZZA;?7a=`43UL@Smi(ix>N-*t0W`0dxQ1JWYWno1rZ1Igw!4zQa6%STpD{BoFu-(Q7u5_#&&1mk(K z_=`9C6n{E}A>0dadT7+ZVLEgIh8}=x?kyX{0N6cBOM?6@eXy=AO<>1r1& z3la$9vc3I?lYke*E!0Q29BL1BHWBuIp{=HK!2u4!e8M+ zaq24?K^E5=t9*u3xQ+?h4fw|m{|B$jks*<+r=3hFBcjU2*=Jj}T<{Lf$TI6t&_pB> zK81b!X}AR9hPh~=kg1lWz$?iM?J}?bgB2^zdPiI*mWBhLS&$-fJLf}i@+XMw3e<)~ zV2&}wi96~$f^WM7G@Ec4VqaR%`Y?ggLT!{^4%Br}SP74*W(G$Z{0`T-QNFMUUpWaJ zC?f@w`=D|RNk6CQA13X+I3sy3GWv4;B3jg_96s250lLnEhYg<_e9iB?=uKFO_6NlEOW96&^`0 zft;wA3ZPXYf+K+W&l^x6@Vt>nz-DP+G>LB}pbn;G!ip;|)PK6uUyFY0&L?y~znr6u ziNM(Rd8P%_YF25~+PJS7R&2#$$DHfJp&bJXiR{%^Y+Ad%B z-~0~T_?sN3a)%-$=F6ev;z)r~2$XhW3XPTVF@11-a?&L=F)+!zFK0_htY`Rr8==rz z@z}E24hDOJiL_4|BFueQ{0w{IhAR)JSn=5cO|Ji z^d1DgsYS+uc3l3S|J*pg97`8+_}db{DEo8p&JiJ*f^$L>JVJZ#x23v|tEbpzjE5!F zaF*xreynB4fsv)x|0ME#D8?Vy&$xLf24kt6H)qe*=DO!bmQrf=_6U$k6!fLODylry!X0F&r<8( zH#KCbLQwr~>4?fFU40F+j_FsDTfrQe_qlQd#9-63C1dqkgOtEiDreokmvr>Y5DJ$iB3(-s!`j_wrmHQ`0rhb+G2;zpHy-OFWUo!b7xE}Yafaa zHE{oa`=qj@G|+$d*;FZ;0iS1Tz-%h-_F+|Y%0y5AWHT|^k;N}qk6dK=O7+=8SXYkw zEjJ6h$lb1(%6>4}GhpC6&ar;X=3v_1aje4jE4|8Cbavj=)w{D^?a{mB+LDLlx9);6MXW&cz`i_djoo-5rzJYk zndv_W>#c?unr}=kjcTsPkgelv^*LzHrutS&s&{t~oCf!OHh<$U?lVH9DGM*!kwZz^ z=LS_+lXN`nk^sAP!8(x{#qy|FA!57Ix91P~U!s8lCz+LozVokfSHYI%M1o#%@ON2F z@l+ZU>sMuD*t~6K9@`;vs_Pn{&S>W?=fA!wUzps4-ur#T1U|ZHI7};zxUnrraQg?j zEYz57AoyVXg?M21;-a(S@AF3K$i95r1wvNIc#X*vt}LPztku2f{LB|c-LM%>TEHls z--6VjdBFqEpTjvBdM`B(cqvGKyJ5f%ea0=RllA=BNf@#6MzCcQx$HCVBIQS8phHc} zs{X5sRC3xztmU79{{yj0XX#9k17wofs9fX^MugqcYn+{$$dz@jfQ{jZ6FFCR%C&pK zf)-8yydnNBa^nMs{ZMidJ}s2l=-}e1NcDr*Pj)6>ZPF}i!XYhEwNYbHhUgieT~{iH zfIB`geN~OrqjPGl67JM<5ZK}}o&VxZQnRl}qi)wgQP!&weP=fW*J905MDqk#9KG1- z&vfozps!pkNQkQELRRIF+0mm&7+Wb8Za_r@z9|peR15jcS)a*p8!PdHKqsN99^xVX zEp80_x3?_bh1_5neY8QkIP!-+wL%(5n|Xip`U2Ffd1Y^AIWDJw+kZRukS#z=w|)X} z!I9q|aD)BTJVx_)G3E?O)PsxDtv9^3BANQRW6O4xw%rb)cva=m7rmZ}Z=)8BO$%Gr z%nvMbwzNmVT(PjD!as$=VzGhc?;B8F7np?1J6y7?2e@MfjEERoecRdf?zi5}d4#(k z44OgS7^!K?{%ubY=O2s(by5A;=C}PZ7%~#$1wz72^yKUj-gwIUWZwJMH{q-a9+%|0 z=rOa45sJAAr(0c${~q^kfNW>2It8_!T)zK}-jW)9vCRSH5ojEUo&hG$RUA+Rt6B!M z39*jDB&JjcEB$u^pZscbi0gN8WK`_9Y2!Mcf~SM84*eqeO#?SGoZfT2PiW8!uy!OD z?vtR+gY^Ba1g4Zewf%i7;Dd6I*!etco+a0LyWtwSR<3wAtQ1ymxQSDvFG}bx&y`CA zq0GQ2Ynl)B2K&w`F$0U4Aeqss1FPO|BH>OaYIr6SNiMgZ?OeBx25Qj0+})moF9Q12 zcK+!3R%xO6fA)TQOc$i`_cEq!__~ieP}QyKmjjosjFKMtnEw#ldOxWmdTlfK3u{ts zI~>;~@T%cfg|b>H>#IU8Cdb0l%((_3hCih_nexu-)t)U9YadjDH)EHCkAD{xxz8e&fnt80kz&s%tG1+}CvJq@H5f3H`vRwFgjwrRZOqdw1g_>&MMceoj~ z&^&js@rse!4|k&^#sW591)cH4o@YxZOG_pl|G7rGk29g=-&-!}>swk*ZGJhD#LXzT zphzurzm*oW`|bH9W5p%Jsd#9)HfeUd-k}pa9G5X^eg9)QUUm)ky77I*GfuKn_pYL+ z0jG!iXwK__L_syx56aYuyl=Z|PmW8pv-MoXh@J*&l#em-lNcHO*0yw$APu6hL2Bnm zkq3ruH0j#&`|*vS8$>ZuxkjXjJRuiSaP}f0tS~r zi+a{$R@PUY|F?(W)=Nr>puCCpoxi0%fx`|+;ym|^T8_`BBu4_a%WKZK0SKDy$%qUCvsoVS74kRdqH z)ik`1MO2Zh%!gnZQ+hzy@>_mY`?~d_1=WIv7robMQ(hLiKzG1+8SIFpNeGx7P(!iA?#qL!Q{1$Ff!1)mI8V}VUS}?h z;|W9jDsIf+T9k-CsK4ia@)o=x+#!8#<4Ne7E1r#jnw<0b7wrMRnqr9G8GLpgEofZTrcuZI@@jJQG1;f}h*!$K~-Ztt{is zy2*!c`(svMUd7gZ-IC|@Y7tUP9@D*+01n0i5#<%fOglh2<;x=^HM4d@Sq={7+Sk%x z9tS3{wau}}?qg6KP)GkcUQ>QoiO%__fpengq5Bbbf)50S`S-{hz;mI)U>e_tJMwH1 za9^Ve03aP3OT;+7CZc#HrDi_Z@)HdId<8Byvu`{rdfv}e){=MpXl8Q z-O&Ay@$3%4dzKyc&RF!76&!fcOb9*7TgO2|9WPp5^EM{c$Cs{zMyyn>Kzhfw?D?l7 z%L@GvP$7TZkSq9GNL@wxxMNl^2LveB?q*9sn*ODrM1>EsjU#NFXSl3>W{&>l+9mGs zX&EIjSXmkqrH%f*y8p#5H{kY$9UDiudA|F63}+tBzdn{vmVuJGnsZM(tfN2Z#eZe% z6Va+3HEG9^nxq|?%_9~yi!aEG9-E`&ERz~`<5Y;%d1T8f{_*kSZ|WAFJ7JHS-PdhX z5Q_RB9&y~#CrGi0o|3jojE`F=RK=YTFKs9|=ii$B^yWys?NO=3SpQ2ICn(W2be@*< zvmwo=W2je}15Xr(`f1-S;we0}=Q?-VmX5|vgeayDzb+Vmx)rGS?(?6~;{he@O-W~R zZ>)@_xd!SFnb$4H@>&1<%}VRBd+T-?`cpk&+k|=vx^4bxCW!KKS=+L(_?vi!?jlo` z(W*dc-&5W+(2sqLT4|d0Zm;N!k9fr=y(Q69al8d)^zZKsb-`(87Vir%C&-Py>cXhj zxpu<$OOqng$D3z-oOt&QQdj+^*4nb2nLwy0W`EmPZeDlBOD+|F5&Z0Z*T-dBB$^mL|)#; zDjrg+-TaaRlZO*}oqJQ;xIen*viw#)r)XiCw<45a*8WE-ndQoHp=CV-QkGfbaO)iu zw@XEG5LRl?Dc3JYdX!$MnXy<9#1BshznnKUke#+>I%{=jSdis=FSM>qMR+_^9O5P~ zLFN8oi-p@FK6Uv|n4TQFtPqY8?D9={n8r;ZD3%-`_e+y1n1G^m?c#HM0cJYB$8OD% zCH-!n`?Rv~^1UmAuJDQBAbe*Lf!kict9y$4H@ZZu^OzDdEm0dy`>jJ&*S05sXu)pE zI@M4*Z66u^^{nb-x1uDAqYHhHZ*zSoL_`nS4c0*vNZv?@uR)zi`~86q;oxxY!^aPj#PqzMS~MLT{dgdtSf4NFV<{36dZSn1C-z`#K+5m!c=CA06gO5 zPa8LQ-T;*cXhU>!EZoFb7FSNdKUo zhW{g|VF)}GJk7Enw>>9m8ll;O1;F(4*NGOgnX&{N>-!_giN2(s>sZ?MQ-6#9Vz&5v zO{Mgxky}*CeS^O~Q~!{?Bj!{d@nefbUP{ zEM#Umy{NHUmU}`0S%^CTsYuREMpW1h*p3qPIcyU$6_T)q_b z{7m(GVQPp#ZzkT%`NK-(@_sa;!VJ|O4nlX?b{%_r#5wtZv|u((mAeWPiBn75yoKDP8NfiCctIk7L&w zlWP6hPaYPJ_ua`(fhidXcs~O(58>1>7%BQh1|i?Lf-rwaqFnW$romb1WdTM_9q3}l`_UfT+pOIH5^tTe^yl&){59WT?Zr<=_2sncA5*g;UX3H1i_fKl`*KL%tle#EE z7gYB%**%e&sO74%`ki4p!Mfpiz=wU|cb-5fksQPQLhshP&v-Rhm76TOQ%7e0M89%O zZGjKqzMKxJO8s5NEV1c7ejTZ&6)Jz9_l_OSN17D_{DIi9h*0pp+uNQgeXP6+9%ht1Zuj2&2diSajM1R)Sv_fyxD~9iCUR^`K%Fhw4Oe{Lr7xu5C z8rMLf<`4wy_zeD2rbw?BFAyDR&G*uIWP9=E=%PpY;F@8fVTNkH=8&fI`!F$i{_Xrb z9k074{WgD(NXn%j3i4EhdjzxDV)G0?J<6F`8=S*%{!&_kM!qCJbN>Yn81dcGrol6- zTnl<7Bqt^A>__~ag0mcYL4$B9GiyKl_&v(P*jkQ1NX5E}SKnstA!Ba3SSNc}exq_O zQOv3Hduoow8Yk6nT76~SQA+?#AM^8E5|q+_Jc{h5tAoj%`a|E9HBKBzUV$;zlP-Tn zEkdT$2%#W4dy^}muE43%v}-Ao?AZmaA&nR+akL7KlizAZM&bzY7r5_G z4bkiQNBisi@~La`4conlKe!AhIJj)f>Gx8Kk5TZ)=ldF@-_RKM0KvGb$#|p2b*rfu z<~V-}_Dr}*SD$|?GzG&Zm_xyO$!S(*_57{G-Xa28lz(~(+VdcymHhu8$ZIj5t^1(O z$}>vbH2ofg4lH6t2Qk1Ermz~gN|gd}Zt97}3#$p@kUg{JI z(!WfV9u!$Z$G8o}55%F{8EH3Al~{){kp`dW=)n~RpBprM@^e6+vhR0HmaV(yTj1h} zmm?BIvbRz)!+_6~*WNT+i^V+MAhU?ky4USC%7N#K*HDnZ53 zJ&x>Dx?7-Xm7Q8RDMk@&WE=+6FkJawgc`XY)0?i*VDOGwRW2&&iGbb zasq#Vr#8%UmZ!bsufIx_-#lGxx8_P|{^HmL;WDd^M}9fti=#;$4w5alFQLy$ef|uF zGSH<=yzhU7W09S=EDtLK=+Ejr4%$^3?^x^>cyJuJ_|dW89p>{KI9{)g2d0Fd1;@qA zsm)X3mFHCE@Ku{E)0t)sOG$K-GV0tWdf^O}?n>HwJ6=Um?*bwql7x`x9r)L)G}OVb zS@-$%M*SD>r+yz?EoTmDzAGKU-KOGO&Uc~{^8t5 z2pErjNK-xe!YEs5DA+8-t4>chE5O2f#lLD|oINc+!1-Q`Nk{)6gO}y$;$NG4L#H3R z8HU`=H@T&*y!BoA7rBR+sCj;1+K}+k;;hqeCHDIV1mV zme6m9)5f8tg#07Zr!?~m`uD^BL7RujpDQH&V>&5z9LKC&WLf^*2S6_$u)`gAf>%3=mjIE>Q5RJ_}RBVub<~G zxrPUHr{N0JtW`4#4UsGaqp zY@TJ0E6&81d&ttIK|_K@`BiG9vmEE%swz8l^C}DM^+4^O;wTh7H6IOl{ZT;oi*ndBGa*=)yAp_=iVwP47vv92kWn9K} z65$dx7=y_&WZilsin;-+OBkLiS?Hg(emEw?o?D8>O!8*mLnEdn&)qj1F06ekB#pHDzAKA#Q!>0uvVaQ>HOi{y{Pe_S za_X)x43~|Q9jT@r2!&%@U_Z@Zd*5rD^T($KMThkQ?PcWr-iR8SQgwhFBdu~3n{4Dd z7*xQKy9jK5-ryK19743?eyX1LQ~BMZLc}a%%n`qjqvL?tx04=cgJeL0q_FQ96b@qp z6W;SZeHe4X$}1E|U}aG^GYOFOlNSZjk;a?3?Uzp&W8imJ3(-kHf%4>ghT+SxJ)>ZX zB%fkVn7DEmCqHTt=Nk_A-z{lzfbKsSpPuU_HZmss2GeDtsd6Ax?1)f6$PsXArr5(ZL6AD zIm4ulg7@p%5$mTsvWtA9f^{zA`!F|DHir!L`E^K=qW!nFFu4#tot(LOUT_xKb0)ZA z{Zb#6Na5$l1x}$yotDXVuJhu z^9Gc1jajO#>4==vMDyH#*cJl#v)qkRV_>B1c(e5JtKo0$CO`pfPpUo>Nsp8iJa}y8 z@WPo4Pp9d~X56ucl2S(vPofy2< zq*$BrkmO|Wq5@#|%;g^~V^&PZaCi{dK1Sbk*i3#|-=jTan>d&#EfRijOh$UhCq2G( z;Z#)Bt*8QnfEZNn!wJu%cc07=C6gbO>XScfA{>DhUl}^lehXMXRkN zM^neqI6A=`ge&At>-ipwLFD*pq1UG9H7_({Y~;yy4GediJxhy5Xk4Hb{%V3sfN+27 zBvig+_<9~}_At(-&P-xJJ_!6)6%pO!IP;dycn)jeyEMLEruV_ z-hysFI^9?H9kCjA-c)K5VX$6p$3?y?S=oInIrH@e;r5=>2e?NzC+{aAag>EsU3i5; zNN|sj$0i1Y2%Z;BU#@9SZ)lABWZh-OcPa@nK{so>tn@X;I)r__a@_h*y>;x2Zx1AQ zbb}Nnt)H#G34T^qX;=CC%NN6U{LCo>>+!>d`3ABj>mn6g?+Vu~xSf?-Df7t@5vxZX0mflr*(E%t(z|_WSMlHn~zC$WZrC0(zAcK>89B{?UvDFQemCi z&8zq6w^s{$WKW;??Gf|Cw?j{@|K9qfJ4oih-!PVSiE2mMa_)DGa%?2!MwCRQC|PuU zIYON!Xxx`shUTw+@_1ceKoQY-i90ZSGY5tS5~aUQIy0Ox<7zgy$HPYi`)Fx#aI z&R-{;h0t2Mg}YD@j8`hGD@(l9vED93c#@#KDe0CpII}yVswD}J9EJd6#7-Y2QoPmu zIBxGV%x-6znW|;(;x*U!lGXhDrmtp6exQn>d7~=$?C3kZ1%A`%t%t;r5UD_^@58L9 zS;TSz*m$`|{x<)Z-&Xc0c>}Ay|M%1_$>iRebYgo5{m#fxXw|vadx@+KN>?A-mLDQ= zS8*<^L+7?JdpN2QdJ;2CV@`-T5d61DA=D51<$qcFB(;&(($Gt27F((%ECTBK|Hd9g z$KR_R7*i!x5`C;?L1p3SEF2GFsorAH6`+purQ0d4OqU%9`UL>IGAK>;RnBREcy1MD zCx?Qr1I+vv1ved^5KAmRboG{tgEzPjt&hHsHs0@cJ!3B_OaQ$FV`g^M2 za(xq6yxgmcJIlEa{pF=XUW&>JWYCwqu%kP;i6c$@ku7*}CpMOFKfRsR?>S=snM!oQ z9;|iIvYg9-h*^4CF_n=>cn;*Ow=a*%cn0QptRWT@`LC)Y+7NB0N-p;FgAN>XBAq(v z=hhz@Ak{HdJjz8Q`|lyV9^D!H9Xs`hu9^&0`W_YwoLB?;Rj={@HLU}ryx$wiI51!E zuHSj~ktuv5Kb2@CCbWDKe-FE(SK_iT@{!{su->h?h2L!SEc+27Xr!A!zwgeRUdG*@ zR1*Y9?MHp#YejAbc>DwiV|A-_!%!e|rORAOSwcdJm^ZeEY8g zXuxrP%#T^GJT*T(pi z)&tk!EU9&^;-$k||AT~sw%Ap&EyLh=g<kkmBffA^uY%zNO=ZOxqK zPImKltxR)r7fD}Zzi6%YEKSs9oYz_H^@d z@{f2LGePP-`j?G5`RO#^uXL_8(4&n@Pi$5TZU#0k^=KMsvzONm>%2r)@(C87(d7pwH^+ zqvg~5Vb2yK(~AUOcNvv0A}H!&3MTUl%5NXm&qLdVjV0QpZ;w5xPLwZiCO*-xUS}-^ zjc166_>_5tC_jvIc`)g3PSH~0aGq40n6iwt5zuNfb~}l1N-yIU%U_8rb=RXOUF5>$ ze?u==T2&u_LWLlgt(}NT@6)|(|NK>u4v9n6cw~l@onw}e_u#!6)+G1JVS?zqz~362 zCryo|@q373vhszJ1~e}Bulh#l6)3@djc;e>qu=q;vKrxH&nT2H3zV9$z_=F1q^=+L zxwFT=VWKG{$aG(^k&%BMQC|1!;imrXF{sb@RmMY&pr5CIDb5?OJ8Egqj7cB9d5Jk0 zcI4l!6MM7jd*t@r_w2nZ0;fWt+SjTP%1oLy12K@2eR*!pM%7D|?tIii?a=R5s$gZ^ zr-qu=xP}oyqv4v}O~c~M&JT>Qi~YXqmF)f>87;Gu ztmVN(v4*X2y@&*$H6;{hO-lr9=SSs_dJ{X4SAtT7Ut1%8F%=!R%6Blx9zTuQvNj>K zm{aM15R4oL8U?r3YvJO+w`#d}9*r`Ep_sT+t%Uk{Fl|OCM$AC0(}_P)d8ef^G#o>K zOlG&kiExI-d;GJ|+Ss{t3E}_A#qvRZqUlhTD^%*M^3rMxGjX)G{@~j8c7gDG;4=Z- zrMmHC!Rt-?F+i1Sr@AiY_Oe|K@Uphg@xt}pEX(pP`d_G!r zboAvK!nxo(^EI6JeNt1j;s5bIr zakh&A?RU-}+EcMc(UlcDw<-C&CI^B7l_*JPD`N+`6-XFwbK_u^0fL1(FvF(-)T`4dQ zqefQTcyM0LJO!xjJS^Ols0?@a35zEIcSOO*=R~w)>>=)s=&{IB57n4Ko>hC$L#UAx(nXB!;W>?B1MbM?=R7qOTQZE z{YpMZ)?32ljNC$a{?y)$4IXqTJTeaze2_64AZQ@aeW2n%*bSr1P!qCkt)mkXK zuJRZKQN0IxS?oX$UE1`myg(L(0v3JKXu=SB^w7|7)GcWCt( z;$`S$E;JaLw?jo|ZI2ZXJR2$0Y74yhQT(le@P+$t3_^?L?BkRdo@0)zYFMA@dRBRwr1@HdOX;yz}zyx7kvq^SzUCk3l*GhhD zw9Xu%jnv*{HmAxD=|njV1c&IGFHi{k-T8SuN<|(DzT*{`u;Z_07A`B8SDKMrh>gY<>;v*f~k6AQlxD|^jccPh51_Z5_vUz9! zI+ki*Iw6hL&v!|YoXmSk`mqR75bCWx4F;duo#ay-##_x$110x}_g|b#+nu=oHLtwb zb;Ls9N^r<>Ga<2WK1}(QRWf~|y6r4*;iO8-^M0F|)RDh=B(u9((ipa9QxPFv-`V$% zthE@=wsHOB?W{jZsxCA^ZjxOGAG~TJx$ZAGFr~Q3?n}1y7!%QHhJS-yI~@*NX#5IX zS3)zyzHq?oJ?tq-By|Wc)pHA@ImT=Bqx>YT^n7tU9~1VsNk!AX0gagA77;RQry>m zIQ=G8)}N1U+`uu`FMX{M@#t2{8Jcq<2U)8+ejHtHr?-A-y9-YVffaw^vJVZ4*-Wp_ zJcsM%!FfPbUO(Nb{pRG_i0HDR1-W;9Drc}KtS+^%g<%b+VwVt92fb-xrLv-sd9H^j zA_A>7okkzuAD+D90E@i4m$0`+pr3;WVcuEEq0y}%KEq%DQBj}=T|alaxCU55|{kP4yb0Pqg0iLO6KYKV90iXWXpO(Cw}Q+>QY zu4L-bBRWUoK7w#W>#yk{A5epG!qKHl|wRad5@Aw=b1)yADzXDlo zEUVadv%mO=3(Sa8Pdv7wZqn@(x&pJenjUBT0-A(PFdRYsh#8%LJ-bXqOb$7etf_L7Mi}YL>r`8clP}1-c_sJ~ zWuh)FoZex7xAX@%`e=PU5mZimbo*`LC(Nk#9kB!4yZ#5dqnOL`w^c=WD~>c;Z({=0 zCP$N$?rA@xmbc*9EnF6W7zO7c-aM2Z*4Rf_st0;lw!M4JAdzDqM=JMN{sYyuUXamW zf(G_EA0A9k0fB9V3SCDu_feL%Xgpjtd3~VpG%R^#YsEE;K~ZoV5>$&l_7~is&Ypla z!}fs^r8(MW&y9jx1O#U$N^4LdTmx{h7L^`Km<#<%JLzHDM{c37XL)a%bvDckUQp}% zX|Q&<{r~I8)z$wuJdk}1b_sX3s$Q*sQP9|Ml<1%yW=RyV)CT^f;9zQ8MRNJPQ#ra^ zh4_lBiO$HzYm)ZKDh&d_M;lV71h)&)649kBj)bQZ5*vF~4Ixx3@Gm;tJS)J*JaGkE za7G3NV6q(%0D?_`;$BZUs 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
IF%j&;B(#Hx(33#{IzeQi0mn+`IvtKW&Um@yqTf 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

Ga2M2$U(MXL(3iJbZ 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ǻ&IF4E5L2(zu&cc1%H-YRm^zo{XFmfEE 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 id@~vS!po1eHYUJCC1hhPLxpH> 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

EJgXh>*qXr5e(;LD4}N- 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%0AD)gb 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 Zrfn=+&;sXi`o7J)YsX&Kylp40{4Z$T^m+gQ literal 0 HcmV?d00001 diff --git a/static/unit/images/express.png b/static/unit/images/express.png new file mode 100644 index 0000000000000000000000000000000000000000..2cbe0ba8b8ff5ab83e26ddd72bea814d43355686 GIT binary patch literal 94998 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 literal 0 HcmV?d00001 diff --git a/static/unit/images/fastapi.png b/static/unit/images/fastapi.png new file mode 100644 index 0000000000000000000000000000000000000000..fa069878f285382d67551d56aaa30e20362786ab GIT binary patch literal 213409 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

7z`60AYczd1b$z4I-~3d*uTYk= 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 Y94Qj;<#gR_0kh@)F}z`b)pw5m4-vSHOaK4? literal 0 HcmV?d00001 diff --git a/static/unit/images/hg.png b/static/unit/images/hg.png new file mode 100644 index 0000000000000000000000000000000000000000..348b271321598a1b5a7d54fcf5129bb440639966 GIT binary patch literal 238210 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

qxK|97uo;iE`dPe=8_^74xf z+Ph>IPx3zv%u-M?OMh1>vuD@h<$zzpCigm##c3MaNL|fe11}385Avn@!sEqgsN`=R z$?vV--k15W6nAHjZ+}~G9(iV4kJMSp`TNhSkB{z+9e?dyXK+3)OgN21KEG2d7%@9k zyF0Kx)s8IlYz`=goE{H<}-Va+ihaVr;WVaP4TOO;wk%Fn98ADIStPLjVRljdd zwZ!q5vSjB8#8hi^mSG`VEZ3TUzmrGHJ=15keh+{0?v*w@&6jNb?fvNk505aSM+zga zg(=FnUo<94$9U=au90C48z=(IC`eNdqC~+J(!0f5l^tDZ2lfwG-P|=#UdfFlGqe7C z$KUBah?YLV- zrqA5o*AA~mt7htXYu8!UK0{?v=~+Y1jYHS*9vtLvX`hjA$6j&rtc`gu*3mf$5{QSQ zW4hkrjW2Vn@&eaNFmx3oup5aV;9y@f)>`uRG2u*FFA++Aj=V|jYKe;;gMa<{)qHg` zLEz_g@7|FS6i@xm6X%a7tKGkQt;zFPTr+CkdHYYr6(`YhUG;?6sa=r=P=P%iy}uhU zvLcGZzBg7gdlF&VAL`ybpp7*V`%dtMC%(}9@lxyyDtvcajG(C3_P}B(KCPLH+wl=I zZ%{`%EHT`7=i3OKD&mwtRQi<4HQd?aqy~exqX8(xTPVX|~vFd=%?0dcVIg$kMy{ zJoogk{jz|7qKn)yR1SKRh9Z#TVUccBluWC`mz9x=xP@dSFW2Ayt+TIEZ89DoT)}Os zcNrr0JW(+4VQZ#8^Y^f0awh%>B=Q_I_@~spbdDwSyLgy~A)23fA z$`h$xtzvg?Qi#Q$tU^wc1)UkH5CrLJkV#=Hp4T`I$*8$RCfBd zW5e#DYMoRMk&691PbWOkhY_-Joy$!^&3q(20a=6=?iQ+VWyNwYz;< z1|5A4D4x*;_$SO>>$fWl`VvCo&fzM>*CjIno^n!G{4eW+a)}hNKk%~do0k$6^u5+I z%;-*ghmfvgn5+0{_Q!QH0Jgn4^k7k~>el?PoKMBY)&*b%rhhI{Al7ij;C0Fy7!Y>1y1mm&D}&YErk_f{ zHXiEs&ZZ66-q6m`4U~7#cef%v5Oy*5_<&wM^cqilyKYnTermzm(U$erd8p=EVf}P; z5)I}4N@k$&=HA43-g(|%QA>h$gBXh#1nPwjRaCCW`R*R2VDFOUAyKQ z&MyS+gfZLVQguA`U48fNJwMUkuVZEF z`ZUr5rOMtnq~I7#BZ!tsa*PqFg*d4v<{AIoVY38TFfG=w`Q+6DTA0RpO&VNwQeMFlInntj?SY!l(jyasr_eIGI?;zc8+qBIIepap zPnSr+SN*2mSHxXS{&fstvJ4p=@%UchO2dY(7#cy1wAGXi_6VPm?shrz6n+JIvKDXXaB$QS&ET;Z!Ym0rhW`GZ~>h)t?GVPWhk;=1yLNPSfcI zqzvFAD>LNpT}fkqoqLP-Y_DC5?09ivx2&e-XX2-$z5+ABt%hV%w2O;B=E1u1Z|(`R z*wF034Dq2m(`}-kVtlT-I>!Gh`-IWu>)ks*uCTND@$40+huIo%88-j=B@wx9(*e^$ zZI_nNz4fQG^~z1mLbM&P!W-7$)q!`Pvt@H~awH8y4tHGaj1Ss8wEgwhri0ZT)1N;c zRqKyRp0j=pLmOAzx_MzE@B-KO5g4|@M2a`JOQ$?137 z3Y{QHJ>L*L0|ld_aEQ!h4T5Cq{+kUw=ml_mDiwY_ThCb9BI;weK9Kp!8G3q zq!7{vH`d`@WLVDgZVtAm8X9J7U^~SKg5Rgj6nU`<>gn;(z^}SghB9=nE*9#51*ue( z2R$&Cu>2cA6`qoi0rcWErU+-Mo=`~#na6|K#&X(w4GfPf{p^YRd|fKI=xM+mTL+ct zPm;KrJbvOAqwwh%<9Ly4)&VAjACD4x;XjHSWVOa;p32RX+pTTusJpZ(>~L)T)-7RJ z@<2R*ygX#qqFv2ijcEPM?(|yyXkma{myLzN<0Vna&pW+aa=HOHsHeilB;${ zrO`VT(%ofTzHs`|%5?4s^2oc^?TU*@|Jg6OY!#F3ekfVhHTIm9)t%b+T7*2KUfjpK zT5rYCPgm7ke@VKSZd>AwyV2a<^srPgEEjt7j0G`miXe&}^AGQMPTW#i`cBaJ=;?$R9Mu9^~E=ZJl`w1x(Bd+lx-m14$)Jk8cH+U*hi2{=B zRUFQ!9B7xkz{Y*W1CU|Gb6_~F!R;+}t^UOo9kpt+m`;K>vf17-(} zObTbhb~Mos39r;HRh}R6H?A3A zZ`F+V)xDI{j@MXA)a%w1pfdLfHk!Q1G>eyZBSp^V$RUpL-}_mpd*zUX&2u2^TZ;z# z*GJLOtCp+oxBph$HK1jb+uAzre0iPEBQ?b-BCPYouD_4vbvb4s)@!yp%T0IdW|A=1 zj<&7kvCi#gT~0!Ma+Zs0KQQp~OHaLyai62@(4F=OSDMft>}~9$*|e+h2IVaNxvVLt z6ald}`Av>qna}PjTcxl~0PqZCG9>~t$=KFB@CtA|$}PwyU+H%Lp|@DK+r)uG5psVj z(K0@F+}v!l`E+z*bBEO9bv6%?f%7ax7VO^fw@B!_>1N6@`57r|v5eCoZvqNw)b8!9 zdVks<6T&9YjNu-rlTT<&sA#&zio)BT7jg73;~?|X?EjYcal1OSf);WlAzaD3$4l@t z`TLGe9+)ME%sK@v6AHyqS_e+K8X-jSw@h`5@u0xM5A`OS zF(~;DxRbea38}WeJQf47H=z0r{AR@UO#s@2*CW9xVrd}R_4=Rf|6px}i?#OU1QHe~ z&OI@(iUZ?DjJM>TOccZFQBYZ%0%s<;rTMc!vBu-&CDZ|5F_cx5F_Q zj6E0v-vL$N!3Yr)_;I?l!%FW^=iz$qGE&RG>e~k zv4=QjpwyOT*c^X)c<`(W#;z&@k3g~ zmc{?vMq*Ebf+iGRRRnH#XR=0KPXG5wl^jj49@&v#QYK?U1b7bT%-b+ngZTI(F)25f z{*=CC2ll)@(C%z~0-4M4{7LWbjDBPJVagoNvVEPB@~8m+TRMQ$)6BIcQdmZBTm)e7 z$ph>MD8^rrK7SYEe(bah3qH+}Coa9-a7!HY-o#^lhVn_>w=K#4=qUiOSKXD~yZs)O z{ZS_IpPqHWIU*-_{pX4F`R{Z#+rF!m=0Tuv*QOn+l zA98^s;hH-8OlN**HgVsFlE_s=<8q0Nbu07fx*#M~n}YJX{$K5#{`F35hzQOkv}8xaDY=gSrr7GBK$cp zh;>){#VpB}m+v|_r@DW?XNFe9ZShWxo6v=8=#RA6Z032AbEe!l<16Q+#vD3G&ol zewfR=$bW3E+5Zn+-x<_Y!)=XpDI!W21wo{DkSYNYP(V@XHA)c>6r`6xK&n)gW&uKx zj`ZFF(gcK1q?ds7P6#ClNzNCZ=Y8jX_s5+%lVOq}b8^n!Yp=a_IbNvk?X829a>y5A zT`Q{RnlotgdlD~JIk)oFxCjJ00PZ36XGSF%sC^-72d}Fj-;){$SwXmwM0eb#YzNj; zvQBIeheC#fG^9sY4I6X;ZYcCus+Pc;#0%@^yTJ3f%pW~7!*9sdQ;4+>>OX&a zP@8VchcR?UMn+nJN+P+fHB}6{o54GP{=cXU3uuD^Z-cdaKz6~KOq>9VUT?FE(POcj z?aPQz4(=yEZA%68O|mhb`QI?rY{#??T!|pT_fWxTcoNb1OK7|C6Cv$DA(89-i;B&c z8pW2ZbUAKq_p>cJMr13eqi%tfON0a+RMa*l3(7C!JeAC`2b4%U^O)VQJ}-4#Sl!|w ze`F^U1V;r@?A-G(#(R;g^gze}6@+;8#Y9!-V&gpt>+Tq-iTRUM93 zBp6EiZHs+V-9Pdm5kfa!p3~x_=4*4kLdThPRa7z?$2ur!4{Qp;!Vmjna5jO@93<(myt{5LufMMpO4%w96oaxcho{>c;pi zhvpYqjgXOC?cCB9vD%X~h!dkbVE1FrX@MxOcVT|gx&~Cgm*NUd{9zeYu5*SvPPDc5 z@**M)AT#$yh%svg?LY!GDW6dbXxFKP`2CaF6huKMrX82wgNawF9T6JAu}cb|(YOJL z<~RuzW#xmFB!j=}AV6usZ<(>l)Y3B64PtlqcFXQ-_gP}lnUI@r^OWr|xYmPpNO75= zNv>z{yayT zwO7BVfgTj`aeXfGQ-2dFo6Wi5`iM%AM@0Qmr#VM(PkiCGgFOlC85l=lVKW`AktCs! z-_kaTb9~282Hy+dk~_iEBka1ZMGtnW5%0F$9$4!MobJtsA%adk{Wg-AmX9ZGKw>BL zJ-B_6JL8iNm(O6IPNA)V6FZ$_K;B<$^#VGxZJ#79K>PNup22)(iu^W04gO{Z?svEP zRueJ<-y#U7J%{HN#KjJp8|@TKbBQ!+DBc^SZ}&SO(&UhWDek@Cu@2z)4A`$HPChgg zT;6Nm|M_+8WvNXoTS=~+C;F?CTmE#+a!Vsm)zwUdCX+9$@9Nm zMSUO?*k80`_VpgigL3%@jVlVa1>-(Pf#G8IhU#@c)Z!U?VG zl9V7anz*I#60cu{8X&Gvho)b-r{B7G2dfv<&9HVOGrb2S$}(;hX~xHE-}_;;`W=iJ zFO`7U>p*qC`J#H7Rpr{6p#FM_Lbo|*L4RQvEheH93EPC=Fqq$-yILq>#j-nPhHq>`9bO9XuQ#z6*aq7~4D#_`-`S*eA^&)AuA|D-ecCz$o1D``L*+o;1;T@bi=>-u# zj`sKWO9h^|Htgmy+pQFSM)zH7Jj^Crxeq^Yn-pdkwk; z(yTs}11$p*ovY~eWm0yZ!+F`l!Xji&a(Lmm%$N1gxum~%=+sv{APMI-wH8<%>>@=p zx)~tfVW1*7XtJ)RLg(YTRuLGy`*!{L0cyWDtB9vPOL!z0vW{xyxPuOegJY^Wq}KF_ z1Z^=j0qOOq={xvc1z5=DRN_(rlu}?^^Cp(&v@N{V5*nf3t!~7aG2udxY*-}!>bzPz z3GVGr5gqZ!qIw2Rk=?&)fG4j<2CLjrZCt7#5}0`N{)K&5DInYil$81K-ZuF1rrf&bqbcxU8AcGJuGhLKyl!tGpI-Ki!%f)(0|2^B5)qCyjB~FO+)O;lk9+SmWa0d z3u}tS2-@Qf@vp!=u=$`yZpi!Sa^fwXk)$1}Q-$G+BKrcbiSy{?wtT&HT**4L@$ z_w@pte=OEL&DGINqs(G|UY357nYXP@#B_noWTf?pd4IVl#Evz3UyLl4m$uNZu52emkm# zeam?cnpK366Ex1(S!MFq1^>)$HHm)VPteDcCpKc!N=Pz1lZL>Hk-zZECK+s3^tlNEIb#Z zNtLU>rGnvuvOuY|jMMwQ&6_PRCW1KBJf(F@BGp%kxrcv%+>7?{p;aL(`?GBq%JD>c zp^|H1p}noSdcm_pj+?ISQ=S2NPzPg&VE6HL_yH9uarP+!Cd4hBUcM`b5|BcOr5Y#> z4kBeUcR_W4um&)>Qj~NdOl=FO@^8B&m;X4E3kjs9!{&(H=&RH4ueeH967mPn;VUiQ zZV%S~U9O*xv~+{B*3aQ871e_1=UQAjQ|DQB6(lT9oe&D6S7dJjxc;*B;9DER7t*EFt9g%2LyZYNb!l2cPpZh{(#qd+nn zu|Ry)s%eNIfEH8h5 z){u4WMn|*+?kAlTT%dfs@S9V%$goM}%+qp#lrB5%E7I0o*ZP-7>AILTc%63StLLyv z7se%Jrj^UR-;IGod-tDL?{c`$HF_Bw&LSbK(-ZTBT*`T-IG9I&QDI?Wd;X(u2Y63J z_ZD=YaQYOc!$Z=WIHp*j&~t*Q#@f5I3vkJyb>t|VA?;U**HEEq=JaPe8r>{XB5jJWRIU5 z*Y0voi9=UmO0S&Cmw21$jT^Jwv~)%G z?b}|^DuB8N* z;*v8QR&WA*7N`Vy8#*syOJR(L>{v3$-9x>i9b4AVX*COyO0lh+Y`ldz&(rp?Oln8GgKP&~ zlCWQBY!CKaTX~E7Jti$X0}I%4?(6LngfY|;RwbdrG0^3Bg*8WcKfhI7FME}yKk)o~ zy5-(P1e4rU<+9tSL<*Wqi(ecwFOcDauYr7A#o)yjzXF}3YM{5uBL+Gf-Yz%Q0-8*B zS6usc5Oul#W~aylb>%#bo4wN1ylMhcZTSH=BatJA%2nd!*)4mDLQZ`;Q%y|yxm0=M zxdC}Vjq})rkknfnkD(m1jwh2bdwB7^O$6uQb+%yGx>0rCVcP)%YD zRm5KY2-qJW(T_mt4Pu%->z(O5AsP~XvsXTf<^?4}Eu=rISIfk34)^;N#Tmy=uWI^; z7hsvDe(!%kInE^Y!XCZD)a%}W8uXHp^Ox016|?e#N`)LFK6#0!Ys;u`YaTEzU+d|o zRl5aC`BmJa$CAAqT!K_8@+ zp5>GGi;Ad!drKGo#K`l}YJ8oN4Ow`M%m{tjq0keF^^wRMqA3crPt0x1KOkT&-tvzA zdZGgXgOhLELn$J@^4{FEe_~^769S$hrmV8Iu7z17#MDByZZ#*uptb}7Xa_63^V)^n z5Lb@BV=$cD9k=OEA+R@uS!GAQsXB@Z>V6AK0Zs-UHLJt1To9J0=@|5bjAMcLXmXc{ zjw>XU$n*e+VkIIKAS``47lP^VlH;Uq0({FK)u;q)3<_+&s%tjEOh-TLpI|3UbN%6C ziSli;y0YlJKSl@tMt?Zrhuc{B+I8@o?!z$s5LQu>_SXigsQVhk@QYWSW}swKb+4~Y zK<$D`iQe8}i*?ske7d&ac4wCwUJoyJRN_ff!V;1b#Mv(`9Uoivb^y$BqTTwoN+SX5 zBZnnXkhb;eBH%~THipvISN{2j=6&T7<1~op0ol(4pXB7pr)+&pohF}MRb*HxNO4@V z(}}ERWx&z__z!voLjc1=Vts$V#{xh#9z}3lHD(Q(1yX;LPa;e3Gr*vc7(w76 z{5043f!F*XbswjOW7OzWvA^;PAm}Q6I zoUy~)dmOo0e)G-?O@40m^>T-+#@5IBmHDNgiyQ>uM=u7dL;@d74|(qP7+t%kBA;?; zy29hzI){sTj+~1nb;U$Guh_4sE9Kk*hqqTm-zYnfv2ouw3jq(4epJLRG7SN$B!1c- z4w3dM$te}P2_oQJeq0!DR5`7A2je0LfAi3~*Zzur_rX^@lTaPu+99;*6A|RLVD&rx z1dCoaqU()PMC|M7=Hc6bS{9qKft=DUQJ^f(f{L5DP@Jn zUiY5tR^otNHx-NwT_v6*AiB?&s?eTQ zv)nz!rvAQ9kOm{1gq)Y<;rjxX=dR^PJW|ieGWMri*DIy~PuLlE+W}VcXo@&7#S;8a zAPXKP7UZ14?*r)EMB=rtZ1N*tQL$g&wExY&-PikfsCFgyEY>ahP~5qzNrxwXy`+s4 zU zo5IAT_rRC|tf#gtVggre8%z;p#@;mhdRP(Y+8*MtIl6Q~kLQY)S2wFm#a{AZXp+Y2 z)T5?U%Rm>ELUQ|6vO6`jST5I|`^^y^7L7>!Hd*Qv8w*H2Qus}_-0;kd$p@x^8+FEA zGGbsCJv}$9y-YVYQeq>M{82gh99>?2j9Wlmq;W7VJs19Q{{}PoNo~0;Vxcu;Vpw;1 z#sw57Y?yy*vA`18Dt;BmCI6E!5i;>EXfrQO03?sIyn`7QQs<;v#!HIj6KIC1W_idS zseXWp4je~q(X`Q7oo%NOg%99I=XjoC3t9CrOUq;*3cVHTVXn5=Z_MSDpF9@oQ&##; zSMuMy9OkBV@QqDjDMqv`i~HkZMQYEr-oHkhf5`0= zdDK#d`7$a(>0rF!G*7|tKrL@uUrBk!=R_B}B2hc>{M@uPR- zSM~YdSmqlSDmg5F-zMu=m(deSEDRe%%Fk?k25WB#}Uc^$H&x@cA|d z1r~x@*TzB-|gMh<J~woKp_Od0ziS3Ikn8sI@2+HhZvT0G>n`#g244`GYOhgw zL+KlTdrD16%#veqWY%{N+8H0W$j}rBr9p$t`Tfh(kOb(Q{am@lLeaU}|UCK0!{f#w(9kf`>nsBc+M)k#jT2q_d zSz>+oiDV|Mj;J%1h+iSX&ePA$bwMal@q->H_%;N5VR*{0Gy8Bvp6oKbvht&kUc~(~ z3RHI16_jUp(TC5UKoZ2hW%$f0>i{cD44m&aajxTYf8M|adKu#H(R)2~_V_O-XLe=L zzo%lvN6M!X#K$V572y|5ACwv1IvknAZ+w&%66}9WK zagwW+OV4BS!cZOQn*H|}V2BTkitdy5%2*+0$`OGVblp6urXLktI^(eAaIqI&Ofj_y zmD%%Yi=z)VG$|3AzsM05Bc!GK?2bq#^r9ir)F!x*7u+qhd<4a&qy_f*p2+<6oOAMd zKfz92-`L_P=1Uw5%z{eiS~t- zNiIK|oAGaWldSh6V%IaGqHY8T!P@NmuHZ?PN{L^fw=;6TzsN=n)w@o=BaLUbWD%Qv z_akSuNmIHdKr}P|VjZd5wQIw`*~&%?{A;_Cu*1 zDmF^PfBh(%9d>0WXo)>U{!?Pr%ts;NA06K$fg+L_P1VK6=%*`6R}z!>I4jyuc4rBv zy-(Xoa>)KNQ4$we-b^ef^=viRcCbFt?LMT)t8iZ;=azMPQjZsxe6vY{rtc>PmVlkh z_Jx|-TDA^T!Zh$@4oDm(A}j5Bk9gor3m{$LJ-}1ES@Ces(x{ z%b@5!#8;mSU_pV6g@_`lH-6CuxBHoNh5bAojc7rcYC{iVf5h7NM)Ol8ltE|gY~9Uo@WSgD+LTv7Vz}NmD%UjKtk(>9w8DsU82oJSMX6wt&5TIgNqy|n*bW65W`}|b>()|9PjiVo3q6vn zlayX|#3TQTWllTv2M57-7Y94EdN&u|k~xcfy#OSLkTP{58rgh9l8CpP!l7p?j~z!) z>|P1i;cZMmnlnB1*gMx;O8n<<@lf=n$7dHCT96q~EO;W=b_$m}htab-V0+q8p~Gy}8ekv9=u+t0Vb-;r zlM3|rQr%uhKSH=}{nx;jNpt9xJNc`^+vl}C9b3T7(^EE8!kSKqt6@$O-+4@AzF}a# zk>w>Z3`2B;5xw4sXEbO~T4`q%`!T9JJdaO*U*y*YSrqdtpKg5nUd+al?;Y{xKtUig z)LYe3i1_<2Jo-II#r#uwL{%LP%FURU$lcQg@BTzfg&{RoW@)v51BYc;_RvQxmHuLv z@{d`iQF*x{Ms_b#BoZ;udvKFR(5sWlc11%GCVUSna8zGf+K>JbW3730Lf$2KvI@_a z!uY|<{@cD$0EJ~;3z?R)oH+dh3yuQ|L*@5%w;iPiRn2dPhYFNM(1ozqw>%(~GrDu_ zb3gyd#=V{$wQH-hkP0DDA_`s6mI?>@K8be8=TJxZkGpGQoiD=@zZ2?PD&p-0p~Uw) zuxPl;xQ3y_>-&_Sv*Y`j9R4a%LVGvmgtSi;Zd_cvPF+HRy-dAv{RvxmhwkL8byliGpQ ztKWBTy8YzvkAwCL7vK&2Rlxg=gtv14GOPW0yxz_nX3z=B?FCVuf%$Wn6Hz68#AYDQ z8WBwMLNjrvJo$u}rh8rtAx${%&bQJa)Xvi05y1Oj z?tY`b@_i9YxnHVAs_mV3yX3+F*+zh;4>z`W!9u%!9~-q#SeCJ9 zs(W$^KP*GjIE!7pyJ{G7WrMA9MO`yx{aWwS34U+?#=?G$8`JCv^OqdPV8;8Z%sjt&A-7u5DU{fJ+Gv zO#)pkM<6p1E*23jq!d7T`?Qx-gDWB=p`9;xZ5fy3EKBIpdQneW1u;HWUFy1bZkHL~ z{6l1Z=HxE(GTzwO*mzJvSY_LXlDPn>_0V>&Sz-p+5|DMM8m8=lDMJ4*n}m@zn7+VM zZVeZgmE~KWr;BPNVTyea9E=`xpY3D<#Yr&;@Qmdfbc)x{y{jHlriYwu8bIml=Y!97 zJa~IHs6t#j;x;Zubn{b6&l? zGlLPgpFKIz1t`SDF~n22PHn?szv$-O1w%rvj1e1I8_8R8YHN=R{fOsTD)N*71`+xa zNj++t>MxewQ5BZ+B(F1ZDbmt|8ZH;p5)Gilr1Mg<)Bl*`7o38)^F2dDel;R0(QYi? z5f=gVLxSEYQBvilQ*BaPkL9guK$YLU(V#rlz>+az3efmj^_6`_*tEO`Uba(=r0&ZQ zxxAR6gLG;cy}eNSUYK>U$$Fw#OQm~+g#bXm-ork z>>Xs|$^~F~qQaKHgxU*88!DM7!HxKz{)~EIUOsz@KZi!2W}8(R%apimxOxtxKjE?r z)D{-BTB#4osg*{pL<)W!v@i>xe_|+Bc(qVc8b@I7B*i z-2-PxAa3^w#;%DfJQEQ#5N3?W2gu9KsC+UH0oM>7PDBbScy$2qoeU~>?uV(7K-C@@!kRBpqskec(n9 zfy{s{;Q%|(0}B^icn68~Mu?U*$SC6AqMN>0hqM<%>5W%0JOHK_)rbg6KyLIh1s_oK z_2y{BR*<&c(IGkS3u2xav!YR?-GABD)kz@n5E`C<4>^>j*3A>hICllLlgh-AMilBT zsbwz10+kS3K5OGvBPGbD}uMu!;GrXe(i{`_|x9yzNDHH?{#ES@54;=sC9RH$tqTF`DU$IdL;Ws4@ zSX78baZ{0Wiicz=&Sex7We8Al@82&SZb&{Smj)X?HI9$J0pXu0!*AwVctmnIlua6s zNVm5SEdLd|EQVx-q^^3*UO9t*+3z`qr*%-1>k4Oo*1y~{@($7S>82=ys7R;r%9qERk+DpTOI%8?ho1m31CkMvsrsY^`6^(TjK&x?H9?e?cvt5BUC=n2R5&)DDQJvapt;l zLxD%}0H|;$a-GB*b_7%~n7V*>=T3F7)D3if)j_qwSX>P$g;Ku68L&G%wl&?_>lff|~zbzjg6=2_Nr;4+@ zsI02`wBS)%TpTkB+roGkJ@PeRx`S-~GQoViuR!Ju|FjG;P>&xihxQ%U?}G?(P0ay( zlW>zVvv?%271`ki?Ct-}C^6ANIme%niXckj+fWj3i-SQ3o?NJ_alnJNTIl9FkIyLk zM1kk?gwIfQ;dF%eJCCwo_?AmuE1y>I_kc=KHPo9J47BzDUd%@X3j~ua)T`?u=8b-^ zlm7a{LvMY;G7irC)6}6NRGo5`7Fq&hHFUjPD(~Kj@`zO`Rrt0#X-%F-H4fR ziX{XtVbi2kWkj&5H-9Qp&t$*n5rJx1t&TX-+XSGfJ~5~9Ac?MU3csc9b!j8G0Ac>ZuU5uX9i&}UWVbIn*AFCXtwB*}mzfh|c?ro787 zxa$#2!R?0051a1h11U8h^6MRr^d5rw8H6v0Wdrs&P%$~kjUinXR%ir2Ao|kpL3I|O zW`>Q_Ga49-uhBycYs$X(&w^mqbn0~%U`=q>OM7` zodiQO?$EGofzM(saNHUPY~LQRJmU3JIa!M0$;>*he}#vJUSPO%>2KTF-nT61>({FO z5huuI-}0T@8h8!Q`Yxs#G5~u4Nst;2^b@o>>j2-Jt)sD6Cu2>7|Gmn-)FKb-T^wmu zY&&iHv;o`Q?j$ue3tiEdQUJg0W^FiWazS-V1~HRHB!2$%6=SebJ3yC^-U((Vo!H%R z^BOgA_Lyv_F~Tu{^EBWC-E4yBGJYuWRQMfVUjZY7O94dO`0EpodpK z;@d(mKzw_B7!nzD4)p4YsqMr*Oy4A^fDyEb0cGI8X68!f1m`iitf2KX0=zMTnBVqow=)kw)faCG_5-4dqdKJfAl1PIL5?=VPa z(M{vV#z$7nv$@_!G13X%PuTg!{McLEH#Pc%>R1u6{vH%7Y0<%CWsv;V)?au;hx1YU zua;<+dk|?MZZ*j*{_k#((lay&Kx4@^UVC*{RE*pja6Y_TYwsYeaUo`nqyLHD;NsxH zY0LWE&+;xN!C#H2>JBLCLTHMq=n-Ad03A6?;Q(L(&U_YF~WGsSH z1f^l?u!RM&H*MIp_opORv+)QX2u)pC24Rm$kS%#lO{MZ3Y0@_Q!>y;;2+By!Jk}i_ zwtGJ@BYo%Lopku4MYU+9w4)9Ui&%{uOw?3tv ztp50PsI3#T1#;W7f+=V_oZ!xBOfYxb@=y<+6&{%lzSHTn|J^&q<6r^lPv$uk$h3eN zLE1Hx$P0sq0$Kc5XOYA^Y+`1-$LU$X@bG1y-I@5AnY%R_J4RR@>_HT%YTeu%mkA;P zxj1Z+r{EPquM943*~S2141nnFST;cm==RQD_sRa7+($6dN&yR~i?dSlFXHBw7lbtV zhHQ2aU6sU5#_Hw(sp7NI&=D%*o5rWcwoy*`73OgxUJy&(?517zLn^54?_qt zw}N&)D(EtBg`R+JeTIrimS*Lw<*x~U0VJ9>_>|$^+Y_X}Nf&0L6mV|UAOqX$MJle# z^K@&6SuOd89(MJRy%J47mKb<$5{=*@X?S)#WpRGb?^6cqtY9IJF>s}aN~3II2v!35 zK$`vtNbS``HaFj8p~~uxt3#fqe`Me7)AcIdyQkpJIi;BWkunBtOo_a>w9N;(I+XYa z$xN`%FkFIU)~;xiOJ_AE)7?+(aG*PU&Y;Me(Sk`Qr)(bv^bI6Q-SZWmlaJ-(ZCI z#nQ>ozp*{=DYw2d`-Y0|8KESPD6rgH531ZMgo5sACL!S`{J&mSb=ck@R840=cRPIZ z@yZbdy&+h@nc({A@$n0E>**&?yt|9&7Pze7Q05N|Hv>|P3+=eT<=ANT=IbmhDUyOp z)0{#=mdm~6-Iw^shIcb7h06Wu3}Y@CfKaz^GGFk%$$nSHLg+tTG_(l5ozy*8Ki3c0 zW2}*&0(RN}l3gUBsG>!+#BK~Ij5M&zNW+xAn*U2aQh8!QGBV_LUQdH1(mLCM&ME^> z-;fNS5)p6&c@}Q)wB8S`&H-E5O*_Y(L73IB6qphnCkjUEAANs0VpN%48`7q%VQl1ZfD6%cb8IN;1632RU!yoyG1pMec? zYE#|j1`dczA1NEGzXRqG7??3LP%ZM)R1gI%h(RmC=75Z0psZhjJXADZ#Mdj@V}TG_ zAw{&k+-E?`(Xr}8?P_Ft;J`x0?*sk5GQ`l~Ypy*-O}0jVW84n=uKY71TOPxW?s~M$ zwvl!PzmBJ+^bB)#*?wW7VlT0HWvCePF!+kXVVjJV!CLp8fW&g{Dr^-pBOQ2W16r6D zfpMA4N5pI+M?EUOH^j_9*=q+7bv6lP!SI=&&gkNbaDwq$CbisxfRbr z!)x5x96HzV_O68DehV#ul{?QCT^(dT=d~NM?Gy(4|*3=@HakyKZjKvlWY(zbbMKLQ2z!Cgr%pylA(+rv%{aNwwAs)fVjr7 zSF-5x!tA9}8G@VhY3OQEq1!C>+ z<;N6pKv)bCds!gu1ctG#vTxytGe?MC+4`|iKF|T$Yk6^^r0lJwm`i5Umu627S z_nY?dba))sERmqxB^Mz=s6Ej|2!8xJqd4<{0oRlCHmjDRxVQzvb5}^@*GHiorP~P8 zCq23RPrZj9YtmF@XURuXC=Wp7#WBi@(`V&E=OM*={yjcA&q%GPz4Tz_w`oK`Oq11{ z|FEk6I4kHXCSf@lg^oJUgkeR;oC$I3mAN76%)u*t953gS7xNI{CSHPeH(0+z)YDM)1omF z^?)Zk_%ntR*Gx3dO8h`R1hClL23(o zJHZOof&3nhZcHx1ERbgq7JTt#^p{7a;^$P;{Z57OGygm>}kQ|j?*@dvI#Cn+7e-jmSbNVas| zeg*maPY$0_Eoo$c!3P;O%9>Qic}otOqq1&9$}O+4wWpv`S09Tfd^Go*rN3mFf)*6FOS&zm0#u z%$+cAd7n&QR#93rODbQHoYyo(L)z0&{N?nE;G^8F5w0~T3lh@4s_u9ll=BAc1T#kgF>~q+1lhEFA=1%$L8OO;QjrCBE7abJyY8t2NJ{rznj_>bxC|IY*OMMfj@a z!3GJ#qHMn$V+vU>D#lOM=6w&p_jnEe&}OXVN(y_U+T)^uYtZ+Yyi@ve`00zErwft+ zXVsV32T$9$3!YHk$19E}@{Y4_AHLt^ea4-pOBjUAughX1)EX(7;M+`giCn|VY=QIrZ752LvvzM zhFGAi+$?dW?kYgMK(AM!?%1c)y61&%(p9Obm#nXI8Q;kWv|ucmb+pd0r;1JZ4%YnX+=velmW zYwpKe#%ouf(8DaSLf9&`ZXM&;|Nn}`1J~BjzI)eT3oCZ}tpp~8`{@{p}<8YCGxe+vD@>AB1g@7CS$^oMC@!ZuHH@`38a$ z@Gh2k-nfZ!6vVE-2k3&+?-GAt9TVZc&g7wnfkql0e}W!xNPM4W{cd0J!sp`q8eWbs zGtHbBtH-I%%dzxX1@G{Mj*U)juZ)77+n%du+{PYzKBL`!muwM2CUE7r8#MBDV4%PD zrv2@{{%2*Vv@j3{1Dg#H78dq!bn$t`#x4S9B?pDNlSv3Dx4)f#`#ZWe)|1D&EtaxF zn$t?)^UV*ji^Ze&8FU1>Z^nRvKDKwy6!G0MTF26aQJ_IR3c(a`4%T$P*T-CQP2TiX zV&8uDzEq=A3tky3f}|fj+(>-b|F8G|$Ls*{!@w_Lq`8H6DdPs8ZCE1ya}jxVm@Il= zuK3sP?ozn~|2dpd+cd1V+i?eQT_3}~gw~<&VL;y-QSYM_n4zyPeb~m71gM540CnBq z?$nH%#8T|=4QM785UCdnh216YHA#iGKjgnib^LJ4oH;m#p}5DR*rp&g+P(j?%|T!> z|9iBpk}3_z(4oo@^JM}orK#ySDeIA=MjAs1sJncjpB}>ZNIl^1M^)GKtKZi(K0X*r z5fHS)uP&l_;Hn6A6W~Q==hD&==E+8N;Vzg(b7K7+)-^2&BKH=;k)fRX>&EZK&j~W^ zQbUQ$_aNL@3i7;~2M^hGJrs$OpTZcdijjHv(rWzD0p%r{s5NMu8=gA&Bm1HrqWjH4 z%SF=a*-%k}C?f>-OQ%Dyqg+v*$6z^W6bAa0_z#l)*M*60G0@d5W6a^u^#<(bBMC#? zC&9~8`{(W-2)RMpq&UwFY>|O@)}$0w)2E59>q#vc@b4!ePBwQhKRFk`V7bR%1^RFo zDzk#Z?VW)x9Uu}DU9WOJNIP&w83a3sh#PvmMwwpr_-xMtze_B|X#ApL)ftiyCH}xP zz4?H@MPvP0yx$W>_45Puj48D=a}oL0hoSAJ!H z*3uF5ev!2`Rkmc?akRs1oM(f(k02`sbcBDqJ&}mp)^;l6Db(hGDq$ck)zuU?!z0E( zU1ZHFDtw#~YQZBjFa&nIB%{#^X!r4_S_nM36V4oBq!f4AE-2u|Gk9j7P;0ZMw9D1G z@Za9=;X!tdznZ+`dG3YJ&-d?*;1f~tpa`fUhk6_{&J=fmU59nfH~TIP%+|kfaA2(} zrHPI)_zFv4E}7G2U>0fXcN>9*{x92AP}6&9PAw`5Yu}x%U)nBj`@26w2n4xcCftS_2uyrR)~kF#Rz()cY$cEeb(; zj06Px$#F;`hKO~iot>R+ArJkF7Mo0yw5hP6A0Qjlw{ywIZNVyKvT?|cA&%B$?-|O+~*)MFU(_fU(6H|=qK6_F5Kj2${ z){Luw!9kd>ur%sjA<*&2zGy zVny)h>s>WV9aH!OvF?o&gAW}iu5QU(Lslog`P83%;PGw$+0%rNQ*trtiMnLD>1uj{B`0G^D`AP7w5afvRf3PYJNz zeDE7hn>Y*XfGzM;EqoWcjnVWa@NCm6k`{q3%ZMEOaJxTw!Mm=s-H(->bhDru$yZU6 zJs3$Z5u&OJvdF`xbO?kN{gy43FK)=Vo&58A+D4l8)#Lj&4JSEMnBDt-U%nz^9+v$S zeXO4vX?Nu~dr?JT@~ZzkP_2Ick#Ed?I75+xqL($4NE$c74Jr9GpPJZw;9bXV+;6?| zHCe-$(%al$e8T%C`4uh_qgY5gcmrIQOzeed@aNzXpILm}KRjl-sjkG;F@n0dv)dXv z2`ADmoH;{=0#Em@$HkD-zQ{3Ho6DPpZQrc3Q+|xYTuDewSQ`9x*N=dc$1JWd5VNZW z&Q9lsLb|@tCQ!T^VdiB#|QIC;CLiN1P{{DyNr`FK} zw?g%n3>l=jQrx{Dw1IA?i<6VaAi6c^P&?^f@uQe@Przoa*Q@YU2Ptz5I7#0BaK`^2 z9h0=Wd8)gI$IoR-b$j?ZTqdB8F?KA=iFem$df{wPe0;BrPA>W5V$@)t;y1X{nd~~D z`BX~8Bg=yOy68+9@OKvUWbvBvtx~XCX2|)(fUDR?c&P{`amWZo1aYv^b&}NO zsY_!`&2@BllHO6MVBiz3G;Bdb47F&yc$ZGeX!G$v5o1j#Rg`^*+UuZhU*+NQ(Rn$g z*EHU9E`CR3d0!+oRy{jo12pzm?_aDW5J;_O`0w}L+(nYs2}V>271dBnr|_w5+TDz@ z{~!MS->C7wIN(2Y5J<}n0Z)=X{_904L z{Zl#~BH0iiUj*nbw6;|4NBO`lz&eG$gh^?w1aJBQ1VjITt0mZNff|lzwsF4`-niqm zIKoa$88Ly}_Z;p>Ss$s@?MYq*Eb!w&)hh-!?A~tlc9~}AIm0G;2e3;y6F-gLBfiID*MGs;1IIOMi>G(+hJu$d zSwAIg>f7#-Rw`dDE{d&A4J{{fU4V{ud~}OE%dWcG)^A*odjZ?cM1gxM@p(thm{JaZ z89odD^yt0E7p7&ZYKIw$oNx*`!RAU>Y3@~NVkOTFLg9Uv|MPK?7>ofb_c%H=z`H$j zfA-_Wm&bN}9TXmE0W2U`{vu0w5w~98=y9yrLXWnW z^V;yF!3*vsj?0aNX7`v89&7~&<)Vrf1vB2!-V-!_l(xb3Hv%Ru)@u>1aqY;Dz0}}R z*Ggp{GOEXkPIa$NcRlU@=)F|NGhe?P`1szTglp(3M)jp*NnU@}B#{)ecS1gWv+)Q$ z^*^|BIIJqZ+=lz^MD<(eD~GP$)JgP-A;3OKbbK2VOYQTx1}c3;RvejH?*!F@+?vKp z(mj0MBR11=EL?>cMFaHTu&FP9NaC&RDM$Tis;Ygl-uZ2Ux>P z9BP}g&xXRk^w>~}P!}mfIDZ$WeORdGMF@@+zMuZN6+J;H?(u#zKt>Ttm0o7mo_Iv( zeU@5_Cb+N9Y07paWsDVI&J8Hr#X||mWwW>6wF&>V@9f-M&5j$o79n3i{c%y8uyfDs zQq&N}4o&A-X=Gw(S<52t9Jt3V@#u6=cLi4b3L}+5pwMX}K8xg8!h0xU*D92~xvZ)F zQ}4C>xyhBJJ=NzvPdc4`C=Z5>=qf=^brsVVY{8LdDH*XiL3$?Ty^}xs(`CwgPc?W7 zXs5L-!yuJj99I48={486%nvr>xfLley_zy)Oo^j zYe-4&J=N8npxEBAwfC^X#O+!k&_qqhI({QVmu^5R^{PyUSA|^rv99B@(0ecZ`zE38 z!>2K+(ne*|`y&Y@jPKgLA|Knv61-k4o4HuS`Tpx%rKHe|yQtpCplZZdkfMJ=1$v}N z$A#5Jdrh~_T|ldLBQB3`(Xph3ibfFY7CMGfLrKEpy1x+GaA)C8lDUS?c+F5BqWuLxm_Ce#vJbwGXwjzBiC8@Z5SO4=UQv8leDG}`_r!!w69V_u(<>(Xu1FUiTeP)C2|prh>?Cr*ZA|Rz zOQK3F8HY;f0kZ^Z4`i1Tjyy-sh9Z_-7DOEnSH6+x_yW#WCf?92EyAX}*Wjwic61oB zb{`9xdvVU5+3?@h(EyfBTgxDMxTK${ip3*=H~Z*QEDDNMyA*6 zXTocE=z7GCx|~j&m4!5Kn4DmvSN*dpt9xp<*EV^bz`3{V*1=|Wh~1TAuq#l-^%efB zpvF&W=)`~u4RRtVZbh?S2^`khHQ{hCJv~^r531ZBD7EePVsdP4%}clZ^Y&~1F`u^t zA?GBOl>gd|82AgY+SsK`oFbbIQ>Pm)ihw#(Jjm2^yKX@YLbxfZl(zDd?9m7C=bdwd-t$3d%JHo5&mXo6q|K@%7Pg;F*}Nf*EryQfdSN{Odn;N%D7LNk z4l3{Lvh0}R%uk^XNksg2`v&iTLk+Ksj##^2_3dc&~fmDl$#p59@Ov|YvV|w09wfr&pl85@&zV$@M3!$cw9-uf9knI|_V!(Zq9@d2xdQ}rL8*bW@VJ@* zIFp3vjS){#9K8J2tr-6s$*Yt1W^x@Um4WA+hdcbZkeaLUw1~@{Cq0||#Lv(lOy7X-xH_+Ph z_M#ODf~mI##oZN)HqM)te5072Syvcm*HzPxdPc$-K?bY%q5xN zPEF=)X|h};)GTL7I8Y4+0jdGe>nL@=$*CP?2ZqU!&w)MaMOR3y@r()rH>|bezkOJ$ z*(UB>cg=Rp`_L(RVMb=0R$00Vh13)oK@GL_i(^zQ4x#;JogjMje23tL8)cu+uu8l^6t%TKgN55Ij zs?LsHQmT9`YUdm1%5xYq(HY1Fv2HZsNMJSZ8NI7Hbf*|k+aqbN7(go58Xo!}!$NNX zWh@k8%iRf(Wf0FYFdIKG&3(m{k+>WDnw1dE)OKuyJK^93Y9!JHSav=0IatF}x_ol4 zF+2T@duUk{3pMU_v@UU81bEnq>QZeX#-ve3D^J2RyR6a?Cqcb95K5`#W&3BjMI0TzwE-v@tvJ2P5V%!)JgAabx9JZefB=SQ5F7Z&;QJRKmw|;G_@Q zuPF{12OibGHC*ziElfu#dj65olTY#cXqWh{NISYT-m?Kt5}Y*}40YS*yH_*{O_q zMI~GtQ7s@Am)W6`N|RJJ9QRqo`|QQ+96=AkvV)*a&EBTh*7~?j&&~ZoVO(HJzYI}) zQVZ3sDWMQ)fz4FX1l7N9?=PYg5cv)j0srnn`^yJY?olz1j93m0@G4x*`78p0bOn~v zi9wdL`l_Ak$D<}+yBJw^%O25wnfxt2dEQtEoV*}9Dzh1N)}B; zf2E8pAf-0qNM@s?g^?MSd0($j>B+x|j$G~=m1>+4rP(OZ*UAV}tiU4#xYYbQ2|pim z*RAUt9sdIzzeB)Gz(wt{7n2$=1P3XX{slv?S^V2GAS`a*jzr9cyTeFdoC{U<>lM6| z=i3N;h8l732xW2@yb2MlgS|w3f{nf!2%ry(=(YT!98M$e?sft@JV^T4{}|N1USjZ$ zRbUPux7k9wy!x>7;Rb^s%^;64YZ2c-WCo2ufd-dS+K8m#eVj*cmZ)H=`}XN<4eT6{tb$kEC|ZTMZ*|oq?H|I>Ak!ANk5F+?7ghiC0>j6C z5^jZrpC1_;G-l~r>VAXQl#27#H57EMl;c*~zW3ibQl~KM%zq?6VRk&0o{SAq6}0J0 zdPzT@3O~P8v7i$StJn^L4J1gMbM)r=$p339Y;2v{p(&CB=>2L8f?RhHOB}GNc1!T? zD=cwwD*m|c&J$*6C<=+D-it|D?A}zKGCZ&|7@}m{Y)vm9G zH6678M|4`*bXozzIIN6?oC9r1#pl4WbkIA-KbTKO4$N8NzD?3>7)6Yg@_tsL-R3if zk3kI_WeocWCE#35S&~`GNKG&4r9&f%d1GEDKd!$hAJ84;3QNv;P_I(7_VIo$5+YvS z^MKN747;5vr3SDakU3CqDL4@!ibbpay~6vY@6#B_tH}_1ng&{4WcLYdfNEPl>Kh z(5uzK%$XllfU7~MyKOg7$4*O`F%OWre^U%M6AMD?9Bp9T{;W_R_<0On9m|9SJz;7q zZ((jQAgDlAW3p7BB;dXvomKI8=wqXdO}xspmU!=Ru5YWLM>Vdy?!;(HmJSKCv5s!nYM{{8F2GP@+0&wdWHl>evFG)e$~!gabV%Cr-Ik3Ls`0Cr_f(* z2=EwTfS*GwCp5fIjpF9d@(SM3(Svs%7r2>V?Q}7-s$#)k(LqF9<(@x64W(yhihUEpU(SouaM;SxYj!7CDi1JgsDf|3f z7^A#ivto`@#V2=-64g6t#bIR@t09GfSCrTE(VdSat%%+Hi!mkWaq9R>N)+9-kQ&4L zOM2MYLgSv!GYY0IP4_U>OW?;!f|5jkAYy8n!7)tQk~137O$cfH#KMK}L_WY+bOwq) z_7>;QT6-*4EhFPubaz=cz^1L4*zG^xO}$e91+(t=L$#;wGNnc?{7qt7oJTY*<@1Fx;oW1Ge( z^bj-nGHf&%{U?V}=cQn~GI0D_&&H$xPrZI58vfnweDSDni$MWpA#Jha0u0fGdHzf0 zfPw3u*XO&hJZpsa4l?jB843*lw7EZFwkUW4KIpNL`DfTgj;t$bh=eTt>=uaGiF&VS zrx#HRg8Y>2{X`Sen$(x51)TP;J=oaY4H|4!5g-9C%eNMLv)?fawz7e7)0t^Z?W7Ke zJ}lW2{@94b8gw+S%yAxxU3#RQqV%?2{vz(=4MdV^NmoX6dd63*`emjwg-N@XF^4Z* zApmE>T)!w7KzAShMPYriev8SVZ3!?u%vs{YXpuGe8c7DC_L;#94h5o-)`+{8P+Kf< zjRW^LQefcu$J{hVv*kt6)CD!WxGh=4GI2~)KaDl0hNo>NQPW8E5@uj4Bp7k}ZxLnF zefsn}(3*v@;>_^5UCByoNXBXEukX+&sf2zg4K=#?oQ`sAh%nqQRGoc%>lzoau3JbK zg*rVypLO;f6(n09V3MILD{+cAUQ79yFRN?dB#XXMf-bc~-!A@ojCWn?*QyW(VRg$c zVoxYQ5x7AgG$Z{T>8t_`*G#indybp{oz^ZB*?LXUoPd*G(v#_{tX6vZK29by`dTXH z30HgU;icy`Yb^nx;0n4<3h2uGLKn3BG!;|oz2;}J4P(m%Rx15(UY(lX=JNk z{lvk%v-6r=SnMT0>*n3V8Uq=`QGb$J_HTpD#Su)-ktv5qSDgCJd2 zx;wbb4FBvdpTFY8{!4rqny#7hpA}w`w0+C+asC{*+e*Vhlgg zm0AYWh5YrEE05~+Cmm=QHdYsOqbj(?rcF9KJ4Q~|iV zyGzL6|UtYfU^u3bP{IyE5oAzp4+4B=h-V2jKI|xwB&V1jD5kFS;NZE z;_b-5JsF1&axRhx-GFMN zjRKuZdI_TQ1;P|Y+=^86B6*5H-~T(zm>w*!`YYH%vzVb&0-Tjy!qTg|#TrkiVdIHX zCs_ArJ};FhVcrZsI`Axeux*95&AwC?tz-(R!E5VDKrVH1@z$%DDrMa}c8bU&zt$m- z)B=eRS8l>Cyz^Zb{mp=okUKvaKp`$%rtYjcWG#bZqM7PSKfucf9_<}f9DzMWpEbLW z)6bZSNqn;_ zW_Y}TJEZ|Ka2BoCaa@4D&TfHva_scDY%1a70Xy%?hshF*unhTh@X5C$*jl>QanK15 zdH4oBVI|3*7)tn^V_;+3k!@TUV+H_V*e1<=6|N4_*g@yQZ{`Lwn4l^vyw8MT|AM}S zQw#&ug*pGJ6CY;t#Yj|^us77Z^){^2qcIcEPawExt-`W+)(wAc0vnq%xn8j0D$4<| zSi~$UejlZaSnQ)A_9sf>=h|Hez14-urZhF7F|EMYajPdTg*+!(i)Ps@uHd=5S*RN@ z1V*%*qMEq4f*I9&X!7^CTd`&fnu;H7c96brSP38()+!^kq*Jgr1Dg%xmiDfSTwNeL zij255n;H~|ZW;L%t+fRFsj6FCbi^`&??Usj^Up-u$OHlttxEplx9|b$BoXP$#;~l>D#h z0eA@3C zIx#Jls7@t5jItVqr%TG|8Vsb%TK^@j;r|iUU;ZfuG~6*_{DfVeNBX@70N+@{W@6{H zkL)`Oqw&ykKsdBV{_Pwi5rfVO>i1XsZ!O{#<_m!TPzJt8BG3>1M#9s}%dswEi}`pU zyjcd?adlBKF|o`lLO&~=LBkj0A)`6{+f@>p)l(69on)E8)puE<cGvOoU%yTK2;{x8lu?t(%ae)TbsyG!(k7QKlu6X=F7dJp0f8uGL zy+_?%UaPsTJHNBnG)b9o?Cx>nwDIdVyW)f?E;UaJpMy`L(F1hbRGj_gUqS&O!nCpa+%nnv~$|UL5cQ6pp(aWBfe+#zH`L5K9GB-pl0}cvG*l^4ON$!CVju zPm86$0eW-^>dtpuflVgk@`?XQ5KgPpfNJHN1>#R?U4hsKFbwTlnj@^mS41F?_1_I3 z(MuuHVy(n4l?TVZsMa+=a^6NscqEg7KstM5`|4U|n^G1&Lt#FHpBR&24=3pVVjU1q zO+loBW|%eLesr}y4X;pw1{8zn@4%|oJ#aJB+qimM`q8*;zvt--75nzO+&Fnz^h5ob z{m+kMYNc6%p8ra5O{eXW(JaP~Cjek_8D?k8BLnFq2*!svrNlt(uz+Cme*D)pHVKDNzC{JXDI}B!kf1<_E7*^ z@Hpqi`W^F~s*$(*p_;AD-bvF0seqT)NKpCpN_=-ouT)@AnnF(_kr&g1XIt4!$_+!~%*7g{hu9caU3VhI(Y*{d3kZjR)69lAw^s zOp~LlZzRsbZ99?3^XS`|zefcknt}R!@Bq3!7y#{+o*!+$0^mCIal~1@)ps3TevvMx z-wZBXsC%}aFBXP1?JkRTu|S>uG+_&?3xpB$CzbzNI`Cry!J^~Kc!C(a^-Lh@1n?7X zFpY*aW|a_Lq5cnwUOgh%rDR#@8sIP@EefIA&#O5)(cTmg;USCkPp(WN)vd<-!n?oG zIuKm0hlFF3&?`W3xA)3mlz9i#pMhKi)DIELaG_AcD(6m8!s>%KA|&KIHO-dZ^34Zi z$ooOzR-IkycIMlMaNd*s3yHijvGkokNZsks|8NCXjbx#Nf10rDG3$U6q+NlT!*;~E zJx2|vF*aiA6i-{{9IXhY;31{kHDuv#3Kpq$Df5JvDfQ;ene# z4}dzp(o24xC)^zGn#SCat1iBib82Q%L^O~V9o4YEdyOdY^kXvaEP5>&fy@NmM@eYn zSc|_Uyg&5ctak9|s_XV-xYylbiIcyBd^&y9C>F$SK-aI|65q?~@Mw5kW|!bLGbFMc zubAtD|28k?LTN?F!gI!d55^X*d!V1So`LN6p40y`FIqQw%{eDfAUR5~x?JAkT=rsj z*FA-f`m^WfD~VTli5{i@biih;&;@7#MFuoTSE6{WaI=FpOL%s4g?7vMD5JlCtGG}c zR2g!9_r_wzD0H;O2fmED(Hvm!>Y#JAdVV;09AUsIsN;Gb% z3_CS{qR61eXbN8Lu5q)z(kP`z8mr9b|tD7&h?Uj~Hjm%wP4#TJ@2-|f+>oQ|mRl1`S^{%oLNBzm;Ye01UJ zyzO7;QkFEw@LO#rEzr3~BQ^`Z5*qz^{+39#`nadxL#?*Z${EUoC(#Z}7G`R)N@Mea zuLPni|EU*O>3w7)>8tobBM{{C)ImIdqZ_IG z<{xuWii_j<0|9)V-0(tuOi7PC0tET&Ic9 z!iN_y8uwm0!}$JAzw`imj?v>~FCNW0xq=qWK=V`lJ8?N}2e}(tPT#|>&W)&#dpNnx z+^g<2_6RPLAZp6MD;lzWhZ;V%F!z;=_RaO zFl>{4QbhbI9yteWMd$0%7TnEh&10CWOF}bI4?G>XH!ro{;d<$niKF$JFxxUoH}rnV zOVjQefsmwAJ@Yk9VHv=4%Rm-mxjBkw8Mvq{&SSKc`>pY9s5yBc1d0RB91*$MT&avdnx$inBRWl z;`+wM!|xUQbaizv@uRUwu$89wg!I!JG3&=BP3kg+=R(7_e+)f(_^^pe*db}YMo>GU zrp&3I9A5I2M*gvJ-#AoRR_-<8`%b({?%1sdgQGm!4(T|9JWoot`~pEo|JZMPRsM?l z{&L0u@Y>QCKjI_7d5s|c7Y&oa^RWP1x{w9~)S#+YBd(?fKwdf|UZUn|dB<~C;l~z* zm3ZhgPi%X;z84dAhQj(I3|FxEn=yd%I2ORhGC*O?%*>WsV+4WG{ClNHlsO5Kpms}B zK%iF%xS%}NS~d8ZEo=DHsDspUsaII(i29=P>3PI>=2|AHINVUx=@$>C0pI?1zb68g zT=c5+vizSFw(mf2<~tl3UI6ItdjtrcF9m{~XajQ185hGGy@t%f)Gv-#UvhomxzO|o zjooGfY+0ei%S!krTcw}@&AOU8ET<7nz>TY0zWHFvrQxL4Av5l;eFar`5R9w(2-^ZpJ3+R-X{Kbl6@&*gDJ6&F{oP&Iv~-iazZy~AS= z1sTfVd_Xp_q#qte;d}x&?_U*VS?PT>L}Kr7u3gA;+Hdd@b)$vC)O5U+MR;GQ$u26Rxb^(bQ4{9R< zI-jJCMmFq-)Twh-o$8mkXNa|1I$;t>cF04Ovf9m*DSmZHbTh?R<3=CJ6fmg$VEtt-g+^@#Y zYKy;iICs&npxRXF;f_=z=_4s#+sUpKnTQ+r5{6Q zQsd~2`iL+Fd}%+Y>5TPZ7xBkaWv^s!8lQhHEfXV`-i>=_WBo}6o_dHP3{Ply`g;>3 zBqbAdG&)ka>>nX@_b=HnsA*`C`KnB0TM%dYBPTXSZ+XwtHAnA8CX~grscQiL;PLzdCvD-0!(J-`x~#uIu@)xreV0I|WF8`MyUO8&HEP8=_EZ`8LmduMa}rX^h+OK66zq zB95Z%I6Yi#|8Ou0l`(arGD1>6#c-vru5JL&pL?;1V9(ko{2fkChZ8BXa8U}WBD*m< zLi8Kdw~MnXwu_*iME&?yRATbrEdRN7)7n`2oDb0|`zt!|*X9|Tj#zh~joRSqd*)x! zP!1r%mQTUH!XTWbSb3P{!FdgywF~U({P(@=lTIHB3ey=L}IQu=8dXF2$ath7|Ff0wIh`#63mRA+T7cpFL z)iolEx3917D`3Opv*ahtBe;Mn#u)mf)FNS=?thdwf9Y-~L+Hs;(bey(K~JA>45Gc@ z3y$-X>Y;`L=q~Va_@p^A_uo-e`W%IX=QKLNS@D^zJR`C$ZtlU+t1}b591qSsd_5Vx zJ(RG8rG7s#qbTs*aK>X3_{V;Je%CFnth(FUqRX1uPaRZ=2&WQC7m+Er2dVJPK||n- zLGkp`oo`{!fZS5!hP=qj_+zqYfBS81p%nOpIqbJHu&o7-xve{fWS3)<1JqU zHz_FN{ugumD0pv|^7vTxxF4LoT^+Wz3OK@C?QZv(cNaw;lgKB@kEPM|J-?XT^ap@B z?+#U12lFtIU^J8m#Sc96m}6{*Y~K+3Za(Aj5V*@TKn?>^@D{-oqT98@%@hhH!cuk` z!T`c6;&gMAF$3a5IZ1-RFb4zRpuPvvoyt=kvHr$Jf!4c?Z}V@wiTCfa7|c`I4Zd>z zDSckFTJ;xkHrspOZbPPuo!7nizpGsJuwGIV{_aX_3PGCIJ4Q)%_}(n^eFJ4N9rtlA z08bak`lb!V&+LZY0%XjJspY~6_sZgHy!)%ZnbX}d zxoJR!w?7r4h(CskiOYipeqmvy7{S61k+|)lA#2L!oY`w;J((Uhn5kl_7Ky3!z^E5Q zG=Wc0x*sKe=AGqNosX1d^*=JVP4wOf?OT%u{UUFxzeYpNj;s!IWhv#A@}G||>}5Zb zL$id6_6vt7I(W*8Ju!0K>}Jr&0mr^BEVxlNW=tr%n{V?EEoE}l8qmuaHCGtqTcni$ z1m*1q=V8vsqsRA2P@<`}kKbH;8-Y-0&!@EnCW?&%2IOjEAAOLUq`V4``$eAZ>Wss< z$bDk?(Y+IT{UR7)7~JF2y;9shb^rw|01JI^LhkhG(+j{0{DsxkE2b+PFZ;t$gvM>1 zZ5#tH1zqn{w!`3hCtI2(d0{f`Wnvvi*(( zot<=~@C2I)gB(bt1Cm(uXMXwKkEWV{JhGM2Mz!#aH!7gIwZb5F+#$eJxsS zGNPi2&IImQGFqn`47;w~Be1Lj$oC)3u1lUZGA=)P_H23llq^ z-Aeo8l|Kgce|~;|9DDk$;}A%Y8UbF(^M&Y@o;`JKg>T=ah2@K+G{;h zr_Z&yJu3(qZh>Wp4K8wavK#ZtJU;O6AF(Cp_w^e#+U zey{Ort^_Vmx1VhsJx9tT#ybs@-EG6dv4&J1OH#dg^gfPLAYX*qoqehYnsOS(CGW9c z7f|C>-ZCJcQw5-s+*$jjY$E3;2Z2`^#q?(powOqh7U>e0B@t zu~XYCdVSA@_hfP3S*aE}bLQZFPbAxe2Puaa&+h&pueW~KbEa4tb@%I(TU47P4sgI?skSEs7E{x8}iCzaTu{}>Es;>6Qtrk&v&SI zO8s+_vp6)o#x68xztK7r%UPBCaFqFw0I#fhChEBcg!Vp<)+dfEEG%RKMg2sSfLf}> zHiOABgQkZIjiniyND4-cguXBo5=Imdiyc+N!fIm zoY{nabrbyv(?kwso7M6o;KQppuhat01IAAmjn4>ErmzS8=K8lH>*9OI6nhPus<~F@ ztghumYMI)M(-3=}ZZv$pB?#mlxW~nWL_{LBN$z9l!P_I*JqtA&ke?;&O zg!6Hz;dw?rDsufj6X3TuAHG$2V1eoEjhh~?_Tq@*j(oViM^vb3(%ObxH24oAw>Iq|mS0Le&e8J$NK3qO6R}tKiL3)Xj z`XPC)9f{7myji^IiVjbJT4@ob0y%q+7c5cDS-lp_cjFpSbf?GP*!HO(cqgXx^3rsS zf%}(dHzE&e(rWiAvQ2L!@V9Cz#WyW#ddEMs#LZisC(-YS29Z;pPcKHYCGV61Ti9enXl<_qMsU$6tgqi1wBZ)3`X-D+n!r(>c5*fA{N#(QCqW zxv}aUVi;zeRvj(-+g!*Dm)H&Fylp$eTXd#a?9Y9i&+c<3?D6DiHm!DZbMtP~1qA)e zE$;J&%1t@(8XcrUT3thfgt&%hGBcY&zXit|oJdguwaz1JBBUSkoGW|$@Js8s_~8hj zo#Wm#dw)Iem52NJG*c=H>E4mg{AH(}6N_2BeajQgCYc{9Id0y}FE*S$ekCK(sqq2^ z%y=(?(?%a{6fC^Z@hwfv&-Nts*zMRiuZ2hEmd?_N3NWWApPXCK9~;j!`vyqehWMcjiC6?X3M6KeZVf#xi zWKSxnEcO5K2}kPIYfUO_8A2B|pH^d^kL!>O6{wl;jee@yf53`$jB!jdim7+s22)hKS3ERuxK&NqDmKYFgZElHF^v(AX*F|VCAMmJ~ z1|2yvG{Pu6^GL!v*0;cBuFNdeoH`WdS?BL35Us9GwS#Fqi!CJiB$YxsJ9ZyyHD;R;iYTP>kcgh zRt;YCejXRWH2HYAeO1^bbL_;%xARgWagXCO3JhC{$05;V5Pvxqa%OXI{K4idoMGPl zu)Tpz=$o0uwP;-_OWDcyp)(dzN$6elCa%jMz3fUvi(E81&Exjow_C*@(X`Z~5&_=o zr}UFKZQNs`w|^XUX1)>nd?#CWH5XULUK2apm4VjDg&QC)=xF7~AS_zeNiE{Ax48;6 zl{AB$$fRC}gL{#zB<~_F)6sFME0J$DKU&K_PP%LqwBEu7uhWbTOG36V4;Ov@YTyn! z3ZS%v7%7-o&19hX&xYUl@7?m(u-P~Q7DrZ{PChe1O*&y)(M;acH`(4RzflRAu;b@j zWWgqRx`rXy9dY?LO}MpBTiVM9O$Q6 zem$bogr8#>t=;WIdWp^L#fd2jm^)AG^G1gsJet{hihSfXBXt7Q;>k9b^$I@O=N8pA4D(bLjDzmczAJ^ywc*~(6R(Bo0_CoSEF&0*W#rO+o4+OY&M^e z_HXb6TD);0{rrt?5 zQzIM_!An^}tBt29)X0n6YvBSFHm_nhR?pmCzM}g4PN;z|ek^kW3OR)6E5WI1i==_#Xm*n{t7%OC6rUz9i{1OYKow^fh)j;HBwetmH3 zl)0JYI;CN%<{w+|RPX83`2+oWP30{b-5c)Svi-LQo;KH>QBdGeIPl`di}3u2pYD97 zCHgP;qpQiyK7*!(5pW{&42RO*s1X>yQ|BI|JNNt! zy*_O9I591*=uxr@)0Y1$62A3gmp$p&F_TO|1Ab?lJT&ymKSoc#N)o|v zTqKCJy134XX=^c>%NPOsy3;j}S~bqjg=L)>xN6V-Xk~Tnk?s`Kyo?N8ujNTSWziB!Xp8{>>TCIy(A6w3 zHcvHp(OQb|WZgOxy>FQ?li4~ermDqYbPw~x!&GAL6CYySXHfc&SYnA?S+X7I@%YdHDgau}^y}I89AW zorNR0_(hx<)a@Mi8prg5W!rUIxP}G%%I9u3r~0{&eWiv6H0?{`n*_eT%F|c9IG}a% z0p&jTy3;suuLk_=3()e8*9>J_Dp^NN_Y8NvJ!BZar)8G-ebnfSL4ZHua98K^rDNTC z4Sw*024Q7lNYL%aFOfoXo8$5Q`Dr}eKLX?@7?=}*X_ju1atC0vel70p_~vaWt6A#7 z0aJveq!S9sE1v)2&QQ$BOscUe_txftwrr{0`^F>wr8X3XmvDHrEFp&_H1|O_?jat@ zzq#sYnn|<2^x|qaffujou?jR0yFXc{el8jm;uN~3J`u7~8npGzOcf}#ltX75^A8e$ z(=24t8yq5|S&Gg2nj&w!JOmGxYl2K!7i*_3N$oZ#R6Tv;t_j?Bb9@$z%$UZ(m0L<| z;#B9}-x2t+A`=I;C`u^GPez0q@RQfxfrVy=c;cFXQ@<}psvG|8uBma!q5oh@@`gn# zTLOm%wydo#V8t*+_iW3@vuL$L-xIEImRvAAZ1mFrzP~IAv}xfc;W0e;4E{|moGe69 z;2mpG4^61<)q-;faCTjlJ>+UDYO?fhH}m{^QRnJ_lgGpiTGQNB`eN#cq4^gcOMNAX zLrg1s!8Oiu`$u&5KQEhQYik;NH+lNWm7wVlC*JJNS@AUuHM&^p=p<&tY{TVp8A(Z3 zj#SzR#7`+T*I8ZOK=8zGwCI~^-A9OZ787=Np}u?~W$mzyVOfb_a|zSv@WYXW#tJ$6 zr#TYRtal)+quW>x+qK&PPVA04A-sdd*)fe5zsS~jK!?M6J1 zjZ4WryP$UZ!JqFH`G4XFr{D$Q4W4TnOB2nl@noTy+1R~TNAi=yrY`N>82hATnnk!i z2dzOsyE+<_*=={jV650XtMz6AF1FFrQ3Y||$`W|GsR{BE+xHJWX_zF9qJ5%&hg28* z^Q?<+0m#5U7*bwh0AxcJ7V;vTSB6U;DlGgdkryGIVt&_I`aszm6C#kkMfSR zI}a6E+t&KMFE&n&ikqrKjvBxD^hpRXGPyVx1%aUaUZZ3KI75JQha^3JRodH+-oGM! zCp1_3S*^6N-%X*@5q^paWoegE!7Gt zj9u&O;Z&g34)y=UyK(WBmoJo=Go9m-vh2Ti!9v>&U8=y!g4cS$FN}roh@2)FTAQI=IXOOJCTC4HGCnUGv4?|u8tAjy0bEl~ zx?!o!1ymU4fXm%uhkIJ)>K%bh`0}iyXx>m_*Xh2hF*!Pe9KG~yD8AtqKKF&85P!zI zqjMqkXJkYc-@lacIvLg7XZ}vxiSPe!ivgkT)v@O*D`MNnDO9WJIl^|7_x_2Ik8b>O zk4gSnJYo}0-y8cAg?Y7XJYD*0{oR?4ukr=XI#fSf6WAsDdw2AQy=s$FP;dpp@>?Va z#-t`i-__}9AC8SMfir=!>5 zOBXJwuEzOgamyATOrCu5rDR&PYlqKyAxr3NcFntoZ5R*PxgzkebEq4i$c_oP?p$=; zXXYDrH4TMf?x&FonSj$jqx$iJD4h&@}j0#vo=TPmK5Ke?v6R-Q=6^g z9=>B~LnGwfGcVSxBS>hQsGun>#A8v;NA?CMy3-RQiVfKaTo+AT8e$L4$%I_VMR#%r?v zTb5=adjv+MZ10l}6^0P|6JO&m2{O%UGxfJ;QqPygz3Y& zY~*3UP5}CY5jISrqT`#j79mu9m+`7<7fUiQczH1I%^{2Dv$J=A7NUIah%k+^+Qp+1 z!Sg9gQ;oWQdlfiVS3_0rB$sZ@tXHua^>3``LtM^;+}77$eTLG1o75f1EAQV4{eKiX z-1xp)qKLb!bGbX5wzF1iFA0WjasjtqI;=^3hD{i?62m+`&XT2Rfg_#=do;MuA1wda zI`IB-h40)&Ag$u7JBhUu=+kt#2n4jDFqGMZ>K%c%EG)**d4J|Ph6H`1Y0V(NBXVsh z`5f(i&!v1%>!_#nsy~T5if7Ri?nhJtZ%T+%t7cY8Hv!Q2v9|LgftO7Ks|lA*DGKPM z2TRx6M}&t>qrEq7i>E>i_N)BJ{0mJFU;E6+YLU{T5zrtd)b5?zzzZp{^Y;(c`um4keWUgZVUBm!G<+`x;W&g6I2?8kIkX_{d6ZrA3+II_}ia+0iv4hfKQ*S z$IkP7I^z`$R9>$bU>h!Tj6ZofeItcrB$GoJygfZ8Y51 zjUKYSk=xQ|{-v2uX!Xyee1XYO7I3|8v-5b8Gmwz!GQ(#=j6*^I3>2~|Fa ztB$*Qj4bRR_--I4mB(!A|5c1nV#2`2ud)DC^H!`618FwQ z1A_P4kCyuP06Cy`pgZx%|Hs)^Mn$=Q{{jQU&>%H*N-8ZmbScsZ7=VKyAq`T}DUBXP znjsXBMp_Vt9J))18A7_dxewc%${eA&3(j&d&fB$BbKRF@DMD`*i1lvs5ZO(IbCLyGcESDA1Emb&RVLXyk~DoA z`(U{BpJk93R;FF* z>FSk54_z4jL+?buvh>fWPVC;iX;qw0MYu4G;b~zrNqZz&6`vJ6I$rT$Hy;UNcYnfD&-%ql9L+J>Gom3@ z?d<2=ACe=V*s$`_c4{fU>3>AIozNxJEHmu&xVJ1|Rm8!9{BNe?a>W#F#AoBIy zxL1GE#S*={@26U~KZAQbE!vs5Tf^;V27oSLKQSf;I~#6n=8acmRMJxyKM{xx z5_;7R5d#y^;8QJ(?yt)z{=WD!KcqmeOts@{xlccL#aYlx`~l@7$A98LL-8-%u^@(L z^SKobEHPL02S2VokfkRwVe#LL`RlJchnvHc8Pe_xO)whczFeT35F>*F98$5$V+-tl z5RZUB9#5t@HI6BV5v%h!lcaU}OC$HEl~yEWl(iPDGLV7#Lv;EdvJoRm*3P%^!<%zD zh~_Jt1DNAG7*bOk9+xP>{TZSqz_OSp7~s5vkeXEX-T4y$i(y*vZqCX1~T8Tk<%j zo&2Ff%auQi-J4=+L6c~*p(k10<^#c4pY=FiNp4L^<|GRXDl}o@)1=&%F+jcCrX?{O zx{~Qb8clP*=M+WERJ7O`+h%BN8g{#x4S))ERo;zzPSp=lEIX0c#R1ABxbBea+RL9b zP4QJTZ;c&HsY&+T2d%G~sQ>HHMuc+!A*+B>P79kV!N2opku2s4iXfxU;bT^avK zvk2$KogfM_CbZ*X7#QWuy^!`Oly?>r*E{(r4KcjGUxcGLYw1WT3Ew#th)OlHxOi~%P59dPM7iJ92>X^dVj`qQ*>PCzS?d4L4teZ z`MAV1F%BSM7OuGyZ1{>z5mAjaMZE@)U>-JD{2*^tTyTS2aC zn;8H#y9`LJV0!q=+S%SS1_Kd2yW;GZL$%jUC31kE>E`|KD*h`Jz&=?xU(UNw(IA8I z9_!bwCq1}i{_V1Nk>Wvp^GKZ=(={rKIJyvLn&$rxRHz$ch4xJa)dl+j9KvS)phktG zstoWFSon>KF&seRc+7#-j}22>LccweFe&|z|0pOA%ZPLJS0y)|6FsGnMJKTldzMSk zjvl%7ADn8DETwtmb2x-`213w4CDex38{XB2Eh5NfenPRuE99d zFN1Ki{bUn{nz$y06?{cqcq>h3mQFbKx!LzSo;k2k^YViS zUb}0YnE`F6*Ye+5N^TyqM;&Nuu=ZuP<;I`2rpb{?RTDO!8r<)A&L~|$XndUm){0~{ zh1GDC!#mcgn7suE)K%~D94~~Uzp@03s84t;r&v#w2Fmk%rFzhCD4y9ZbK+(&Zp6qh~(+Yjb@QoL$0TqWZ8iW;Ey z+6~H1>kj5QI(!D|0|rA;hSj9 zrswi1QlthHypk;;n<1mi4}a`2N|4k~0_ zq^i;S>wLXg7Hdv2zfSJHm6Dv&iE9u_Gj)8>Aa@wFEhyw7+>m^5Nh|D~Li@KPGPeJerUkuR|(o-9o$I6(;U|!bkqO2KVFLpO5d@ z-1GM{RZP8ecrP-u{nz9;W{RkY_d9#k)p5-Hr=50+Wtqi=wT`YqoXbm{YAS8soPEYL zDk>j!(l|E4QsSK-PIr$PUWPGW7;g)aB}Wm4|Nc$2uLa;b7a%b#024J(z_j0ZU{d@6 zK8Guw@h|j+%AKUkI%*NFw5XWZLaNw*u|E+Z)m6MZWt2jEew6twwTvv)rW zP{)Vvqc-eV%eTp+A7fGy;!<28$8MerO;V41zVC@`L)0;GEkb9M_u1uhhjkfl>$fR) zp1)|G21#2y{p+eJjc~X= zAu9){Ja=IqMZ&W{dDn0Mo#RGa{zNR;@NyEf6Z|1%a@1iK^>$t4&-0Gp*g{x{thibW|w`xAxqijc{`Nf8-f z{?BBi^=U@Zbz0?R`|`<*k3h`!4l{!#YdI)B1vE{FH(@wG#}ARZ3v;{o7cm{x!gl>P z8~8rI{BQuYu27=?A}qy-HLITW^Dki{*wgcq<6HL0>zYLsIyM>75w&--Q;aL;U6cIE zy>q3lF=eEXs_vvyDe9UE>PgrvhXTIpv$D_dnJLMUii;tr+=ZvGszIhQCzY_g*LP@h zeG}_GV^kFViOK9y^@_m{I06$iP_#C8Za@D5ZPYr(dXiEitHPuOp zJK|E7&Ct9i-I&Gr@=4y*kdrId3(B~d+?<2;#pM6f)bwGkucf@<3|;7U4PnG##|P1HDy8PBkWEeksk<>u_}dyD@87G+2b zxemHl|MICWqzN!m$_zD@zg^QGQV_BpV7<DSdHa{oS=}$`)}QS(xjZY90>uJZ$el zKQz5}lO7Pk4leouNi*$oIayp@Q#JJIYW*a@noo>lw8`^eN`0F^ku;yyMB;eyW$hOx ztp_X+e*t4}-Y!|H|Qw$me9Wc&3Ntl$UsB*>gy}m zem;A-2vUlh%XwYc<(5*cz4=bwJICMR=1H5aLq_I4TsE1Mvld0Bp)h~Ajiz1@lo!NB zzt~0J8G<7d*O#^e{Eissd>ZTY29JiBRxD3QXg&u|{!&uBSZ1My&u!fG!hBY878sD> z4Pr5Qj+Kdu>b`qA?c`+|D8MAk%)NikQl&!-bYb2Ly_$KcOZfRW+R%nxa_vik^Q`;i z{AzAIm?>Y2gm5OE!_01Aez24eON;IVZ4&XUjLPERP=D7)_50QA_S5D0lxAx4jTn7r z!yEZ)UC3M-pk`xryo*}iku!_Y8r3*8eT&`+AI#YBUr1`{4>O|2G>K7`_K^*Qxz6_ z?m;<6&$u~LW4;CDQL8Bzl=L6VB5p1|gIU3?|0H1u8_!|Gos(jy0tMogXva-PRG$f^ zJMl)~^mhtA&r=x-91^Tss>ti|BZqo0;(f>Uh|$;8=`ukZ!qZptaa%Qx*zu@K0O{ed z*upRzC-WTf!$rn|^u%@di^zqVFJf|}a#bUiU`_+vE}dB6X&~!m%!7GG(V6OgqpwaB zB>}04`<&Dx&mym8Y>OX#_&~EECwh^PJRFzczS^vJrWiwjrFKK=V7Je(HIv@lPnOWE zc-}Dl#linYWR@8<1jmh)R zPqUQ+KNh~r;)EU1u*HqSkZ0z*^(FV_iK$C_aLd$B>7zT_{LlcqayMXxX?ls&b#+jx4O`~bk*`Fpx3Tb3Vqy!y zZ>l0&MmROL+z-a~HCQpL?nE}R{R^SDtGc_ATfb|RFFdwdXz(*++`~mFfB?zpw%pfJ zWjl(TfViy;;KkyK@$ODBN|4|(a>U}n#I*=Z*RgY@THM@A7)|bm>+%zX`)m{AHZDJV zn#Dik$8jYge>Q8EAn&L}Od>*_tg?-%F~(t8>^y=$epqL5W+k%Vp|3=dEOLh+OWr*xB>VP3wgqWX-M3)k5&L-Yhh7U-oJbIE~dhU9oQc& zD+EVk)lESB&JTl%R1}nh?V@)FWOguLlgwHHBoh}ecMgfB6|^D(a~Ha47KbA(4t`qM zvO78>k_`3l?jReljHl-={p0;+P-@VfS@6Y?*Tb z#;%ZErJajyX3~02XpoCy9i^2Qm$3+YK=4KK2=RTs0FUdBv`P?{&Qr;Ms=!bic3nxw ziH}a8mScx$-o}QxQyJ=q^*tG{-1D_FcuWim@)dL{u|n9zry;wt#`@@^g_S)zU#4Go zf>1e;@TnnlD8Rhi=)zS)j$d!Jqyt4bUJwL^KKdH!ZZN9!LM`ilJ(O1VEAF`D{L~xTIyn;%?S=C~o*hcd3un@qt z6=*Tv^UjDR8RjkW^dn|1AJHi~2m=|X1cE~z*iAUgEay)Rydjt;#DfV&?P;M^;HCH| z#y8{06O$usYiQOpR+Eo`AHxW7f0WreW>=`)n&a@fnymq5I5$i&${f7REbEq@EcNJV zQdsv^&pl3MZ^q1S7KyVf-MBg*`^YmxGgZiNa+Td;b`>r}eR_g9RYvUV@%r-oWdbFj z$_k$!?GIi4n{U&7xcuh2aGmds0M*cj$)0x0tRb{K9NQCSBsK-CwLN_}vu+oK-eX zkaHq4aK0bNhafK2_9eO$;4@^3tJT(Wo*|)+=*hO6Oer2ofGcCI&&5@it?MSOL=x`v z-jF_jix=Fm{o`@Au9&Nd+dimntMEN}9A)PmdUN35m((?<=AnT!}gFg{eHrc>gh z^CD;VbjX9}-z^DvmMCkuF@*t9S5yrf!B)TpJ)W`CVe~(phl*MeM@2^|Vy8QhoYM7! zO!j7LonCI%Ogm!4fppNZI-J{b;w1n;Wl%q8r};+C%G8IxX!gj%?$^U%W*8ES5h{)^tTj^NBw;;z>izYlgG zwjs@m%ql2{%)~hmKaCAEBrxIiwidv6Y|EzJk#vl619V@AF%R7RZ)*g=lVPNELp|AL zL%b!qweaG?+`1uYa$fhR;(`?`@yc|jFceLWu~FN05<9mB6#2E9e%5AMb1?;g7v&9q zY<1@}dyr0e@e{ng-``P*2usp;v2{1Lm%aR~&5@Ih)O&2yaT8A zro_lYjeD&LQ7uteA^2pSAJv&7bK~R)#i**BCYfO#9mj-{Z6S6UNR0oCHLxjDa;s|8 zdCq&qe4#z^bilJI6_v2e_ zdN(^VQm%Yj+1A7sBau{0o9r}7>&l5#aFzqeBhKb=bUoRlFTI08XB!TzkeQ&?Qd~-x zO1~);Oxjh%bkhW5{Iqm>NUN6RJ-+5N*2VOQ+Ao)v_}c%x_`iP}Bdft%9jPa(`yBwB z*Qs)U&Fg=?j3(O-ygq%D-#icmiQ-X}`yS+bo z`b&V2>1Gj)9xQ3nnXwC>OukR7Z_7wn^95(Gn22303;EMJZa$28(bsJ7^4sUX0`U9M zOn3k1nE(B4ZC*Q7#`(6cg8-&oIZ41&*UXHRaMd3ZQnWo?WeWm_1sHcCiY{$Q;q?K8 zTenjcKi_*6OwDfu2Lhk(k`JJCmS7j*m%jpV26K_(!aY^DRJ`zbXx!}{7-&GNm+wZG zlgp(TmM?F*(=S4@myW%cjH7)iqIb$T|a82OYDbkJNQN%x3!Ui8_qPfP;!xV zS*8uTNtS2T@plyg78H8sd{8e^pg~84gvAAJf{V45#iAjc`?#c+dPEx zgSJui7-%v&g;z4uWHE-SI20(qP^|~^?u*unw+6O@8ZZt$i!0n;_twAo|90t7c;?~! zKU{jtXa6`^{yr%xAfxXFQ~5lDG{7TqZ~gwKSLk&Q6+qB1+t#)ML8BUNcl zLnA4jN_QE z`s0_dC!oJS@^@TJi2`v7Ntw&NXK+$}0mYs82rneA<0O7{ao>v#A2%|k`%$Pij6&Lo zuW&>${LJD$4*(d%oc`nDKuRs0CO+zj3}q=|di|GV6&d&u$y~X2Gp1X-yCiwLwg{RV=N*(enLuFVgUWYUvkY;43*2yy+T8&|u`N z>$%($fcc+ZDz1`u8*UVOGsfe4kcP(PCrtN0U&AZ{u)C!YQp}D#zO_s}t#xDqzz9y} zbUwmA>SWG`%phMIFP0qO7{Enzq-XxL&U=rM7HS#y+ znCJ46And`6i`V8eKgyoH&IQU4fO$H&Y?>Ayy#!3FoXU|8W6Vv7vlA99Mn0JZ{+dX9 z3qK_`&TNrnS?}3NxkKU4)9f@u-7hYGqh}BOhdlfHx8PP0yrH?D?<`h_vZ2!UJm*In z_%%3iBAgm=9sxe^Eq!JZ`_jM^)U@1VN0=|`bA+n};ZTc10$q5wbh5L2>8C+)ZJrhH zp&=v?>Vd78<$nbhX(HV$3~~G?%ADkHrAVrYTE|~efcG?L8CYCTYvFhHjyVBQv4u^7 zXYxmwunaL{@$cMoF@za+RT|;}>^*tJrZ3so8!Or7 zHY4b+W?BfV-!-5IZ>}hIWh=}qon}uewjaY3p>B$NO9ed6KbbVkAZdu{v2D)g28fX1 z9l}&M|EtA`|EQ!Pe>XG~=ki7(Oj_i)>D&?AvY>r+|xT$-OU>E?sQzbqiK1_M3WUtEDkdZ9?H;VQr)`#3&|D zMy_;8Y(NKA2BN8=1(xwvQW-xASe#n%>JOo2iU=MMU*KtA`nxu)5h4^zn~WLR*?_AR zb2h}Nkbp(PRGNeH;*sP57OHQ{wgB*WE&7X5?Ebv>1hAj<6EYI7HUH{&I`l*@oy2&v zi3BJU<7(1Guf~$AFmh1;{yhIMJT4L9u#b&VU#coELbT|0EBGlv_}Meo9uly7I=Ko>VOk8u{~N zE{*@nmJ1^+QU?2w+k;Cr^z2RMqFW+?2in4um`()Ow+xuEmNjK&_$;j2ZX(!$-l)uM z>pAU^B+?nx{~8ZxdEWQ??~o!+g^U;n!l|0Tar~*cmg?si$ulWb*Fj!Tpdr!ISk}KO z@=}rahiH>Oo{0QG1mVvex~pbIYKU*RioSI^OXc4>E|49EyL2s=`8=c6FE$&<;$Zs^(*Y(=awXl(xdo3F6HFwCg*cG)uQ`$P z3E3j8BU9bTBgOM3+$+vQ9$YNXquYnoSx8b@3*-~a1o2~W9q-C#uMR-yC|#{solA&p zz**jbQqM?QQt(deJhq;fhOW5zFxkd9cY>OdzPb?k8v_tYRvyi<4HXU_zS*#56~fm{ z0pt?8x>@cSioH9N0+TA_$7PUz z!OX#7B|F!$OZ~g|E$SeD2D_hV&!EYlgiSGrvJt212rO$ z;HQ}_3rbvyyHvqL9QbKi!rKwL0)zH#et&TV!~PWc z;wrY4j^>NLX_>0(V0!p>Zuzetih3DJGFmu5#SG|^eiuioNu{PX_uyv%#-=TF5Z4i_ zw6o--vuD^r@uhy)7uzzF*et-f8i?G83GxkKZ2+1AQ&u__0WO83H<9v*AK>mB*grVk z`>~(qKtI!p%&4;l_eZE6>aYq^ej8HI7l=s<9!pK&n&JLv?(dm%YwUEncA)_}EV#9$ z*EmBh09;R=BYX>angAc!VtE@WD8QzIj3%J!a0ktjpYBTN*nH(N+e^2*S4E#5(5Ciw z#*O+p$%{yT{NivQ*!t#?*XkPK5+Sgd30+Nc!Q4Q)<@q9PAlE1x)l@Y6?o?ybd+hnl zZd(6TIj=(L)0z^5$+o&-HQaYB7io(y#RJ}7M0!ZUr%heFfRv zCVDzkZ4VFCB>$y=X1Q&uVfj+xtPrz?T)jCGB~NZ=UG|6ui*1kuPY9iOE z^%8vYJN>QYbt_Hk%Nr!YaF^ssPBe&A5{u-v4MXx26XLQME3wcofySMUj{|b!;vR|x z^(X0N9AIgo-5jNgt=k)Lfcmsb&s;oJeVUxlLt6S*e!1VoID<=9_lD5L0q6Jbbi7BK z9_>k7K{|Pp@Pi4gxGid4O@skaDiKesTjMXQ`M)?xut`#8aQ+BL3z|3-f2Nr+l3#{duN#}T&3pO4o3 zyE6fWNQ+R5UvUpnmx6ym-7cj~oZHkIPacs>gzp$ya~}%9c?Wqr*wEO zj%k&KOT}tKH4ZO`870ZD&W}Majg5@LQLWB{m2*D=i4LH}oC=aOsq~WaVh?Ux9Qln) zmweK7;v&^R)_@SvY(0af1N1s;HVq98h05?-JK0I=S^oi&k!<3NE(<8=egZie)0k)p zq5UIVwHZeF#@H1w3X&1w#6^+!Hbh3?CAWjW+T&jIDK#XN{IbRTq)vBm>E5>ok}FuS4~yEg`sS5YKcNK@K-9|MNT#1~4s z$Gd3UXh&eWq^UgX3qjocLVHmp9}iBa4iZndzLe1Q@7e7bE%p^jutG%aWSnQqYT(B3 z-cW)h`z$GrTqByvn|Go%?;;j%t}H3HeHwAxD;#_XS4xh%&DGr=xvxv=Y$7 zLCPc@Xpxl?*cqjjCLR=hl$>;cs%Zfxg|7I9oqUZ9j0V@shp^Y$wPjsM6Sdg2*HHXT z@+JbbXAE%-T;V4PZcQ@|fzri0u53T8;@qH9s|9_lhPv(@^(7sZrReIa%WqFKfG29x zdbz|cpM4@Kr9C-8^gZI#PkRg-<*i@$9}(Q7>ScyN7=@fhpSarzZJzTvw` z*nHhPQKjV19`sP4&YaT52-3z!?pY_CYVmdr8WJ|nar)Di@3aY#cyqR}_tbGaH(pN3 z+gr*t_46dBfj__+7Te3)J0@#iQ!x&9Q!5R|^;g7_)f#5--QT zc#-yP5R*R>72n-irMj_wb&GA<-BxCVPt(UCKp{i|j)elf_dLk0j5sy(1^^SllJ3z% za92{@1g<3V&wdggpfqpEa^FSE@++!^PQw;R@nQ>+Orrz&M0UsPX``q9 z9_|dqXH_zTB!kyK7mYPpb^_L)>o3s~UR<&;b^Rynucs=^L1Ea=tRL}a;L2O z9l%(SGkO2pa_)c2zKEOnpOsiig)`STp4#O2q_ZBL@Y)D$t}GJ}nL0qJ84a;OUxz9}kp90e8K zW`92w++r7lvPiH9eGrziyxp_0$2Pt(*W%$2UZ^@Vg^`d^@8|ou4pozl^WIu)OrYtf z@jY3Ate2%{j_e);$LQwj>xF{zty8NT!JrR;IC3(-rs+C zY!zDdr>-Si#0^(ZniT=kvTyB5ak&SB@-J)A{xZy28el%T z7#T_~&GMWSQENg-WI*rz+SM4*fh?^z2;&qMyGzRGOgm+i%zE?< zhbmTA&l>&OKYfS|cHknGuRkDop;LO5An-JY-|@`UPwgs2j0q_rPjzSA44&@pYFI5B zCSS($>T6umlgTEZr5;f`Ma6ye;KfEk(jiWjD#`)M(3vD`ahb5U6u!r;1cDk@73CdU zuke<=i4h)dzL?PWTXB&8llZ`Ex;OdcQ4ow{`M)#d`ga<;?-lc!5`Gp4V zpXK(EI7#8jYVPLen#$XS-()=ovR_J<85*AR4ECLET3b{aHQ(p`jD0`NP%pmp!IONW z&zKm>BIoTp>}tM}`Iu&<*lk1-tz(|Rk5%?-_k>b8UHP)6xhZ{!oyp#`rY5{Y&VqsfD#K21ssB)c4@A5R zMMn~1IzZH>5}khQoKaZpfzPYoun}g-Z9)#|rbz}VNLdTvFsQ}v;3);IR586=wODf4 zhlRig-seaQFdpu_XRKD}!JWtW z35-3(Tq#{b>Io|vofE}VeRB27b;?D5VkhQcTSa$MQmXWNA$BvMZ`^4xw^I@|j&P6? zzSk~HyBR3tY9Uq=osbR0CWTIInXNCGvOa}?%Bq3KykPv&uX=e9AqWEW1E$;d#ltZJ z9ow>>$NE&zbm56lRth_S>%=VCD{MV0gj9o^rMwy2*wj7oc6y10rQ>;rsaXdrn|cjk%+R_?W9!xk6lv{LEC?X&^!Io|^+uh$9}xjy#}gyL!Z(!MWH$ z`%=X+i>K*)onM6|Sitm$4S*~)-WLe(p=Ab!Be^plA{Iias`3E}L*#UE6abf!%IwWP z19t;Fe6>#*-jyi8vMgs#y7)|e)HRb3N%`5bZ_F>_Ec4mNTk(w{)*{_oOrV*^?zc<3}{aHXz zZ73V{@+rq)T7WIf+zDvAU~QB@WqY#J@Nx=%Pkyg}@7>|rxC{CtE!w14Qtj9d<=|G; zCN3p{8Cy0a$1cb!UlR1=GZN{Puc3GHr^}FelKb=g7{#6l9;G`fe({nWqzGP_4YYc1 zI3cfo{moLyKNGul@`LpZ@;Uu%gHfxey&Enz^$i^c@UI)L3}jSqls2q4$A%Hnx;j*D zWcM?qQLVp@yW7kxk^h?QfA7lel|jaALJftTIauK(v?20fXJ+1FWmb{hH7s9&fSC17 z^?6BXoA7ta&xi+96T4z&5;#t!Dw;??79Y0p|+lj1sYdtRJpuU$}id$P&DxGM(qX8O{moLT@Qb1`f*_YC8=O4D&{ie|Xe% zwwxAvhzDf8W>^Hf{#GwbHqauY3f#-o;>OGUUIH{Ihmg^^hn<@_0u0)UASe>r=2oF# zg|wv@-y2P=y>?s(`r>~%3%Ife+FZ-JP*dFTt-@w!=lmi#6;P(JzgcVTs3I1|PDfkS9lbFsE3vE| z#iR+tTr531_Nn-BLH zA}-i|ZOr)RbKhSkJ4|&SMIsKBLYWe+|j`ROQC>-M}LC~IkX?49aGxDdZs)7WQj`9(aTn79WYoS;(scuk0p@yM?DZUAz&}BK9wc&{y!AS+S!A z3$^i=mKV~Bip7n*#Epe*(h%YN5iFmWj&Bba4#cNch%y#(y1pqEGyBNrTSwv^Gg@kt(ZEg8Y}u=;~Q72?w!=(=dw z;IwMjmjbzGPw<<8wSyOBiRYUeN)E)(o)y36AK>Nw>wg|F2xpF*Wqj@kyMFn-_-XC& zv-u7JUIV5>53@gHB;QJ`Sqk|1Pfm(Tczmb4qvPOk-{!--Kc6?`@9$ZU@Y7@?lcgOpxUM^qCmxln1Zysv*@>3P70qp0 zy&Y$mx;9kVSRHBsRph^nta$n*HkZ z&gX56Q=8*u4~|3>WVp`!F|A{|{#ROH!d0f#VCMZ&brVqu^`^`H$0KJ?sgiHr{ks;3 zaZPjk6(h7L4R(C2hZgJ*G0SP8QL1N8tXf#=7)fc)RBj2rw`YP}$L4A4r=#pKVH5~#yY z(p9n)WMr2XPz*HumM3u)c%(Q#~5yiBX1xbz2)Upg%=DeewoTq%mf(%d$UKl<<|* zdc}4(yfX1YoN+fze=gE93Rs_R6HNI%!{YZmX{P{#&=m$3|% zz2!TjAFTz9uJW1-Mosw_&b3vd-oKyt97z=sh!J!zYp&H+uXJqayu?-KF5Gl$OooPQBX2o)4Y>bHuQ`h8Q{^xT}%li9Az1uz%CK1I3w0rn&u zH0O6>>LS~CFd*|?o^u1h)ZU9nHSnG886S)@-)zo*_ z+@sH;PW&{O$=pN`3}QAPV*E~KjqN$ETJu5=6dC}2*BbBN*9Y>6?TxER6&B&fLImEu z?^xiSCu>BF5rKox)<%B7#v60FqYt zM=Oz=22^ChC?M%?*sMAvy5>AH_&k(AKH3%OB=({j#dYN*$G<(r_;apv?w9*FNIF$~ z;6wV@_l6dpuwC_gnbK==Ld}3#5|3g9`ztCMnx^V$Z<)& zz=i<3h1PU379N&vA&=G*my?5< zT>kP7dNclKWc{71CX=a;-UDx;5&BA6nl90$(&rK6Z*4|3q%W!p>8HzT-c0sI-7wwb z`#y7Ss|dZREPJ-xwqX&d<_u>({CKucFncqwc;xPb@|_*O`%*O1A*;~vl^kPptd9P+ zk0rGpgV)U-Q5-dIr`t#f5Hz1%S1&`onBI6592k(lPjeaf2TEvwvvNZcZ@X;l1Cp=oSS>C7ft&INSBNkeVmBT(4LO74PwL zW%(0M^YiUvQTRsE1h%jUV@(G&Vanf|BF!oV)ZRYo91Eq{jISI3U|##va_zw%FjRE3 z0(lo>y6C1*%k@R=7{USNaTHR!lJrR;Ea)4>=CIRy_UY}p-uYn?tazI67CHWlMuv9# znua@u0omUKY8ua#2}24l+i!`M%tRcJj@BShmX?j!OqOP(iaYQLrAjzyH!(>q#4tcp zcj{M|`GJ|Sv}#9n-84=bTvBAy`odOy$#sw7R>tVet0E~McrB8eWkBeBldk|Y{59qr zGb+#eTY+_+JF1|Hn9EX#Y=(!e^>vbIxNvXd>0UvH4UO@xW*9JYxL5f(E|GzynB4^N zqOp?pE)a9nsbdK=8lyyTey6+%$f05lWF-uyHbZSi&tGIR*tI9l%i5h$VSfzwYw`e_ z&&fik?gumuSNOSm&mro~I=}T7wO8W_-iYdy-l6S8d^proGp+dw0$;Sf5S*YzQ}wu6 zulW8kj3sC~FBNJjFaf9qwc{ujghQ%jk$W`X$16U5==^=AP}Mg`&>X`Og;8M3*PouX z^!u>W_BWzly$MVFR*M+oWmP`@&!jktAgBuSsm02y4C z-0T>Nc_f+qr2;*ic-2Tp^(dAH*QyxxEx7f-l`gHK*7@3{&eAk$6{Lc)Y={(wDn~!n zM0m%>2DiFR%$>n594h<8-^|nrqw@M85OT8JhoK?F(_^hWsluIRQ~+zDb9MZC9I>TJ z{O1mNUDPH<&N$dzY+1UyhCK(dQ))U`WA^+3+k`H;s52u8i<}8Sc~FDza4BXu zw-RXD|9+}FWNz<@;jJHDRPnNkTVd0{={y^8Ra4hIJWM3NalzwAd@n}Y$?UU9!P}`Y zulTwH$f#^UEYacFeBV0Je})YJLu z$UA*@7jbcCMsHs?yzz?Lm}m-Eo!R(oi>8TwVvT;e%VTT{w?AQYfq(64Jb%0_HnH&Q z##qj$GCRhI+pwZ$^>}07ebYSgf$t?Bah3F1@ZG}N8$s#p**p8wN%LgiA2MWFt=x+v z?g;STfC1ywg{$PKyDKM4r9OI}MMlA|DqPpu_On4-;>e6Gq<{jtPohHP=TwsYT_Flb z<}>ZX52dUcL(Y3gy+^>t+2B@A94!4OFv+@_&jSuQXj-wzn9deq=8W%Liw88F)>A-n zaRhiAD73=sgKeZ5m-E#0oE^l5p8zd#4*&yOr~`DWzLQN!7jV$wM%)QZ6I^B-o9qPs zqF+4Jl8aafPr}wBLM1RO=6LO|#{z6eam4IYmRO}HRlEWYNEZ|nO573H6^FyCU1cqC z2xrEbv0;Gxo>KdSKY%T<rx|cibR|h&Fy)V+;zGG?` zFot*hOyW|c%+Bvy^*oJX(5Lz4`}IcQ5!PM|nPb)Epx4iU7QfQi9~wn@&qn&=tu_mY z-I`oO+LWL1#kTK+>OKBa9{*}Ue#u`gsA2Zgg+e%geye^4rdy>B^?{+@Brk*TSjRMV zT!Y+e5sjiFQ^MjgARx!6JvYeSF7-r395V-y zW#d5&%YAeXC#gb|7Gk<7;OU ziJ>t55UU}!Nt%o1O0*ta2MR#Dbv=8ofJTq@--@-JL9#PlkklF~-cn*i8@)Eo`~dwY zxTWRqJd>u=^3*$kTtzuIYqGSi{an)QVzwq<+PtKWC*hpX7mN62mf`%MUWfEO$Z4V0bNn?I5|2<)TH8Fr|o6ugZwUNch!%Un7hfJ zv9cATNAzFss_#;?{lzUi#GvIt02f>&d+5q<3oo3Z_wx)%9{6dNULI`_#57PdkCOYM zm4i3S8n+1ctYwDZhL1^!TJ8ymwWgvCUCDo!N&cfgbpTFKe>I*0RsYw|<0n~HS-XXh z$3LjrkLS3!*8)a5quM`eEs#yp&&6ez$=hIqbC_R1J~nZkw>su(9F>tCIgybi42dFp ze-V472=z_%obIhL)A`<5;8QieltI4w9*)BMz%s`*72#NtkOv3}N>?Qz<*AShXJ4eN z#l1T9yTY9OubH_AHNRe+u{_y(@UNakUZ$Kjovn(azF_+G%se&>3RUGGh3nd?F*lz) zV-aEdp>$EnKf&_rccj&xZQg;)LZ<9ZwFy)lhtI^{mOGYp?N>}|&((b+L&UyR^Kp-1 zdyr;HV&1*X=>(8k7U;yk@T#Ok8qrcaei5Tf_NBm1I{$OXSo)MBs z!5*)FgBm#u=-RrZdFk$kZ*D*&&zYQV0gtz^$Dxtw+7?uDb9}W8jc_7MHi&&8-}#%W z5Ly(2jLBdBjcdwNk-C6f{Vx;>#0x4v0!N500>r-D6D`mI9Ve{xMSWf}|8=&bwmxkz zNJ2V)!u#+@Dqqfh+XauBCb56l|m-1;@&SdRC`|?sxSFf zTaU`6;zX*`v(CQxLj3V-ztk_wjEC>K;MSP%-=h0vok9R*{#1peL!$VTFW`q(a8;S2 z-&Jkg2f|+}T&a!Lq!;fs9|m=R)Cwb$Y^TPb6aCZbjqBt|+-?eAeocm7R!Ll}Dfis` z!?plrbK^oYvw)F|(#jNf!RKYuBS{le?&#vU8mpV^V)DIpUYyPLzWa8;3%5=D~ zsi4*H1P}}|7#srK1$EYvc?orQfKakV`3BeV|JS<| zfCpz8duRNRRIYWK*nlEmiw*W1k-Xr9oSj-pr7Q1d@$A0w3#@*mfG%2-Q136eHcm00 zDeQn#YV6}Q3>9j-As(iXZfeHHW+(T8k61{Uo4O`PJu_}gHoO7hjThyyd|nau>(%Hw zfjnZ=$U-)S!r=#!Ymg4gw;9KcH9{o+dXY5wU&wyA-z0*FUZ7!BPV-;22)`^DvzwQZ zBYRl?yp^D%gTrGvdd#TCmZ((}mZ$-*vr|K6V zcWs9-L=wef9DBYs3R8o!+Yijr^#dhe;FahKBeJOtEt~w>rcAUFgPYMyPh(r_`1K`) zC)$DR?W-}pBcX{vJsRtoMPav51Fzg4{EPw<1oLkO);kYhv)?;3>+SsTL6)A=pX9;C z`ATjrV|I0){f!K@EqB8qSAS)$h(uBjvS*28g%_Ix3K@PQlN7JUl}Chs`}=I*j0qFJ z&XgQ!YDjG9BEucmgw2~&KYuk`_u(ga{)kDz|6Y7H*0N?kTI@8<^8;D)x!EFcKkK`{ z6zK8yx~I!qvL3xO<3Ab?{7wXxPN~gk=}I6Xd6g>_ef|?9YfVIj-)_0SkFZyL@h13_ zuIjkN^}!`gA1ygik5A+6og{TU-IMeP)o5r8>=yL=Ngp)k^Xn{#hjnm3Zi?*t+Ef`qO|#o_`&IE*BJD z<*0RlC*mzRq$`IMmuC#_Hn*+C{-ZA7S4|n7$@i6RoElB>i^h8wqkD{0*LxSDzMvkIIb7Z z108|+U>sEp^wOr&aLLQXRwF3av~`%<+G9f5RB8`uLR%F zocnAaxKy28vImlk(|F1^DPkobU+>n*y+`?mh)vk^vb|{t7D7`%JO1pzWRUre`#4kc zVR6={)=2jeAf4tuzJzj}{L%X~Uu%=bZS7_EHYqVn%hXSgeI)g$G$PXBvnr(JYcEVd z>jll=MNOvj17h11U)|s@)i$?Nc-n|X&^Hq}CD&4hhcYuXAI%w#`J>O4~nq zCUGrkD={O%&MLPOdmt&YibDV3c|+pX77UV9W;e6{-dq)B@$(V)+W^h4a5f2BwW`HA zs1Sw%QIS`}trUF|V&-xzrn+!ALknerS<*d+dj3O9c z#{^XtyZebN8R_gT4|RZ4-kW)U2dFE?Nj=R*hoJs__lt|vxsFMLjop#iraeMh@11NH zM$$G>dMi&lDeo#tKzDqjbUOK+Bqt+nO!`WT6`ydUR4HV;el47{%abSyE(D^CJ#4-* zNx&pI5wxvDtH`=eX!qY*;}t0ubpz9(MMlKCzi_8f8B z!?LijvNL*Hf+jJ)bO@&>k99no0{Td6%Tt@LXZ%So(|)nhbDl9#d@eXf2ZWQHeJ<#;!)o5iiYbkmpJEn%O{k`C5m&hAGP8>(LWzJ{26 zsI#f(sb?zbin>JN;7N!V%xqhlTE0U^U@mKldVJKceZ$KM$!MZ`?N z7nfLj=SQCkH_H169W_cy9e)Tvss49BB z*~ftf)Jt&W{wvScoc3?@n*Na&l)nr(MOf;^1S$yB4UKI{dJs`NB;7A5%cf$ag8U6L z*}>!x5F;_;Bws9+erHG6$QmJkz4+95X(l|CTHAw(|ulNsvgI{_#06$;4P<5v)7Tu#9 z)Vn=XT9nr(49aCUy>F?)mPg zzq;F>z|+wyLbQ26XCAnUv&Qwr%6lvs_UlErZ4FJMvZp%IbpsiL1FyZ$$I|-~CP<;| zy+}c>s+4y*sZ*$wcx$4jTx(qPZP>7Apn-e(ftzCWPX^@OLqkL%&;`SxOnp8eAVW-OshJ5U?6(w-Mt~#Sgr{7bX4;z>&$raPeR}f&Nz2(FA%_Xjpuh-X;bMIC(_Rm1HS-50`UA0DXte2@=Ut??$?kpOq2?9c@@xJnzduG(Rj5g$EdyDF7EL+0W78+*}YC7ln}Pol7yewIKC z1iXsV*c^C)_a5WZnVV@N&3+8~!jE6Ya^R`Ov6K3$VE7#BLZ-4T=C`7W zDwPM8wGwYQUaQ^H%&f_8GSj!sFLXZoNWn_K6x?tHw9IukK{-h$+@2f0ut6n|Jci1R zlMsmi@nX5t_)!ORl@DbZJ7~zTJ(lSJN~(QrGR03H`! zU*1nOZJA}kM}(mG3a6cigbjmhuYlnOm#>$$^(xcuNMlbU=wGL*aug%U7nb-8OBCpNRTr=b2VhX89Vk8QVWfbQOPJ zRP2ILnaA-Z1>RO?csfTNzr_0HKE$=?DvwV!Z=X;+FkDPdWxN{DUnqRM%*oPuz~JVT zD~j6whfQbnF|se-YIMv(>U`sU7kX?xg5OTNZ3n2YNw#u5A>RHIA~F?jP4qE6^~|t) z+V6gI@{er?!XHq%c165%S*044UU*lJHgo$abhqmp`*SX==k2(GTMQ?bP67j2crIGv_$ z^_)*p5F)-zeSPtgq3?8Mw$e}bbevp6S8(fIMFV1hQ7T^;iPuWixW+ip1+S_NE86Tn!Dyr>Ww({&)@>ovX@#`sN1Sx@&Ufy`uX zteCMQ-k8Z@?)H8Sd`a(!6eYq8L=7gS4ZV@RKi4i_QdGbov0@}>V{!p}Ps9i7XOZ~s zXjAW=>&yC3rnddKSBI7%9U5-@{0`j)r%j1C@Umup(zKBhk=iD&a`NWfy+z7h#z1KL zezNX2Gy6p5x3a6=i@87Folo1_2C2=C{h6ySApv(uaGs~D+uW4$F z3pp(4Qy%{*#9B92l+6S@7%5XnUmltO90T*djzOE?{Y>W*PBN?1+In0AN5tyTjKA}I z(>YAr_>`n+xA**KvCd*oR!sZM*$PP^fJ077j;&qz+_6#)n=I$M;gH4S2P_Tt>KcAl zLanQ(yJ|_z9s`qgsGltPH%e08`zyT7eRf-UCgg8+(03s3Gx1z(Dp6qNpm(=Wc9Dx} zs~CAmG6hhoTMykV@zXs&ynPD_Mp3`|rP~0xHyi5{$Bq@GTwYpy|J}m9%diSK0#LXs`dX+7Jx?q{0?EY6nkcX0FnwY#`@045MKwVfg-YwE;8Oo~1!H z1@iOpVZ&RoT@{jZz%Tu2-I>MOmDbG}tpRWw;5w&Ohl&NHc3Vb^DFIuh+@^gX{KG1x zGqYgNCNSZE;*H$7mB>?t=D#V?7^*pjg;+3|!mm{&+7w}1@`t4Vb{JTiK^D^nkc`eB zF9I(xo^Y`bs%)T=U?%sro}JfTagg5w&H?+*2$&@cq>Q)6R{>p8L>3g{U*6J94RI&H zu@8?3EGxI{yEf=TpEAf#Qtm<*orBzuzNBC@G~kxIVAk+}6NxyKL3+l|yb({GB zNb~E_eUE2gf+jGc?p)C@dxiUMKu^%meHC7G;(#RfiL?&>gk5pqN#sRqQ8VN=h`Fdk z+VZgf=)(1Rp^Vj8sZ3ipxKpUdgZ0xJzMs-JJKtWc9={mKok@JK(iB}qmpmS7OGo)b z2EOn;8xk1^s%@fTwsYb1NKM<8#w3(n8Ie4DZr^%;2{_~zoRxbpRdNbN*|`;vLp>-J_v8V}AvPA-(N^ zAdhRnx>J=*d$rkyM30tes@Q6pfU?nP*Xzg&n4imdHng}e@+;G~7*f_z4fNnwJS+ZN z082sm`kkICXT3gVTP0|DME{vEL)I>7m|x`@}o;&topS zj$6&iY5vexiDP5M7A7wYBR{4U?g z|4k`!R&Fn@cf@nUSs*%1=VnqDkLJ2qL7g&zOn4{m-`-@Oq&~G*o1??KzI?3-X*aKW z+9~OZiP(qJ2$uvXfR06$jJEGxgAieTlCP3D#_JE`J1~O0fPQNX@&kCPMv3Vl8s+e} zE&?z$S9fITxXJCo!kydBZvdtdufQ*09=!RaioaHwaN4FPk;X9xlb;~+7U(tLbh(%P z?*RQPafjpZCX5L8LR0^qIT-CR84qn336@z}^#{}&vi+L}HjN3od=ju?X zIgI4dF}Nz|!ZpoY|ICUmuP7Fay{M8A1m%NDO{o3?jme*>yf>>Uf7NX`3>dY4_+8E_ zhhYGUFcuIjd(1F}-FyRmkGy50_k1-t(sRnBBGzgZC9!Vp%)6j3T@J2a!F2S&wVCP9 z!zXP@{ci1iV*QAWGF=x%H|xB=b*LVvjhu-3cZO7teLPLVb%lSr0mL?z@AzUl26t@A zg64_*T8?Ao7B1aTg)llDCooQ*sXDw)XJ3XefvjC|2xI(3Jc0qSGV6S^)%6`@ndJ{>>x*2okpg=0edhG7>7V6EADcU zMGwaIok#!JVD;n6EWoZq9E-i9Jq{#z4Dx;{5GM1fz>AdTEGVbQc>?W?&wkpsMUP>! zkH;Sv-9VPleWV|9ptH052bDh2my1$*5)P?B`AqgId3=_KA1}GMAoK{VqohK#%aS+t zs*O^(GQ6aIHyZ;W;i63LV61c7+u~xWRLmB^$bs!;((og}Wf63WFo|n=Vn0T@x>~P; z#p;wRn{2?LPM*}*>@h^PK3MKTByxxEv@QrF@+H{$HD6g?hX2HKD1zt=0r1{q&jniZ zE*@7>66k1DTU4s>mU<3u7Q0Bx^%}0Uys^>p`j$>f!g*bmTY9R)IfJEGa8GpRk&2*dmCDqVLA<*sU_17m^59!Iv;GMYl|CxR3@oSLR-h*m z_%f?MQa+>_bffQ>O+af83`u3*M?dd;NxBkgY5Piawd|;{wB?tys6)j=3^(d_uYjWb zvA!AxvqTKFuv*ck!wstPbGSP^Q>KYfp`CWoEUM$mvw!k~Sx-gZQ~ zJTiWcy3^$Higo~dVKV#70RoTyaU%SY>Jh1F4}5HDO{3T`k9JUUB|6q};HvM&_m-oM zpn!o6WXfz}VsaPZu(-V3=s84z7tCZDPn~4?myHt|Mg#tL$7mPyxU{~xxmXIb963M@ zh6H@o4+wy(T8HfyPVSacf^}*#sgOo!te}#h^{&KY4X)GVk!|o%*zt3nc4(W+uVic^ zT&FsE1=mP4@U{_JYbfJ{D=iTN3CPP@GCHb6y6s-B5$XfX8D39GZWBly%7?buqT8^_ zP9YFp#-^s0CT7G;Vq+BdIlz3`|B|I1Sl| zebsE!NIaPO>1KD_H?j3A#xL~C>ZK9qc{M=U+TqfOud(wg|@d^z|bI6i}?rFnl!=J=E<&)<3&`OwOIMOe3 zose6M1Z1k8k&&U#11+X!VAxw-4G3+epBa=~Y>-3=?05K|R{#IcXMiWyj~o=Hs6NWN z+M`EpS<$p=9XHj*N>-0yk9LNS9fSWw7UyC@u5An};C}BezhRpRW$kYE_xEQ#K`j>c zqc^;Sb4Phbs!DIjI($pyF{AD2l!U(s*hQlx`^~`zF$-)Hg$iTnK3bvX!zz2j`U8wd zM)`=3=rislSw3xKcEGKYMk5n!+Bf=+Ci3C7|0HDX^@YD6on4H~6x3{c^Zju+ntG|& z_EGKZ70qM&%Kg-Yz3rynZK-?5HIF%w-u@Hm-fbpAlkgwwr_*ZaP| zsdDx3(EBHaf*t$5RqfhCdl2p7^5!FS_+*q7^pzO0!%v_^oKbPdMFD4myLLhM*;of~ z8RwXPx#G3c@liA8pEb$^-U6ek{D>}XA|JNjMKR~8l)CV(01bWec$?D+G?COtj}fbPzpAt%##OoXrS3Xh`9N?*V$Mz+3^}EXkj(4^7Zj-k^{J*&%z_XdK0zVM?Z7q9dFSXo^(V?=>EW0a9 zj-2|1VRbme*F+Vay^&{ha>3U85Q)o9XLyIC19}x&*7dL_=@Lg#r9@^rqL%ZT;x_ye zpkP`q9C-LF!W96S;(>)TFH?2_a zyXu50{F=<{Sv7n+%)pO*hReU-@*Lo@R09o-v%qA+9@F0sgpq}MrE@@^);<8Ss72n5 zAe*AJ1OB&v{_o$2Pzg|VJ#-M!NKNUBK(GBdBnji60;8jS!>!#%0ELB0AmFH}bV+N5Ek%XpY$r!MARf`JDa$u^`#rl8# z@jYoQ=~S~`{bB9V0PjDDYGJ1zJ8TSk6)$RDOL>2H!~4;q@6@qj66`4HX`%3 z72`W1BTKx%HNX9pJn%^LU5w1bjJJ=E@uRj_3)udC>xVzY(^L`*n0?#Bofj7u^4_%@ z4HqZex7YD894ozdIb>+c3aI=H%yV>3(Vqjv1Q@n@Z-~&HA`z!jfuPJiz!`tg^@+sJ zx(oYj4Q6ELjUNC$rdw(-`!kk17~<^Nb0qs_bZY7yE(Q1Z=1x&pt*N8EYq3}N9uud6 z{;TeYajD0(d|@Ga-&IKx>S1z`UzrcNUFc&cNRQnNg^mZmFm1(zkh5w(Xt^fv{%3vv z>x*uiYl*b%pa^h2PnUtUEY^8-@)$QM1f;J?EU!LUIRNLhsg-ATh~kmsYJJ|O47p*i zV<8rG-NFlTH^RJ=4!s5l;8QdoIKRn z%~}BP|4N`U$n$k505)9HYO5TbLP14c3)nd1qyK$m>px_joqcnZzj=g&(GoC55Ue$6 z6`;vJav$?zy6`MJck!H3jbK{)>RC^V`;%ARcR1o>8f@;-5U(xyf6j@2g#=;zfxt4> zzByS3@tL8yuixPFmZ4#I;;ewtauiWUv=+A07Vr0e=TR~cIiN+#u4b@w`^=#*ve)?{ z1S~)}M>E%g-M`{{;iFjf;`Cg)lxz%OQ`g)%}9BCKp+Z8!HBTU+mp$RJ8(TNAI$ zo3aw=!E(S0pL_SSSXTT4H!C6{{`{x1Au@U zpz$Nq*0Xjxbjn?nS&Ai1CE( z7Mv>mBM!`3G3?=A^)S{J&C`|Dc8#B$oOX`t@FtxTV`hZvKu{} zg}!WgHFA%BfJzxU1&&lFqB}t);wEyEIi|aDb8|~0toIMzLs>)Z*^}Pr7bW$!8 z5l3}6WrYubIk+0&E{vJ@o+!>&TEzf!$+(QLBt`RPT3|?jA3#Pw0FdgZ+fEE-z0w3| zqznB--M)qtW$~HJk{aMJoR6SxUj;N$|IR;*D`~cabmk~>a2Dn0YhP@15ExDRdIik~ zXiW0W0JhM&zb=iI9-w)6>Tj!6rby!$6=A!)x_T5ay1CyN%m1ozc@`i?EEu4yqU?3~ z!Nr(9>Q}!{aP#n(2fPOh*a03-dU(rE3@(=Whn6$XVLUE+oIi)Ti^YjeA=@;HGMYI z_wLjD$@qJ?JI4NkRg(Yy?`;+5j2y{E#O%)z*U^`ZMg%{ef0c_sk-@?_Al;;)p((De zPLR7R!#yCqw5f#a!%x^jXcGNILX6~Q(O3kuVP0F5`$8+*MNw7;Xb#u_j=pAdAZZ@J zblL$Fks7bFcNDUWtjW^$4Y+ttW_7-QDn>Bcp*}v1)m2r;TnF^}SLimzjKCH!ewWz8 zn#FvYG}mFq7(Su83ckS=Ua<@wpm4p2bf*&S|2V-4~`xVj~3ikfWeS!&DUq8 zO*i4q_fzxkCEK*zI7Xs>qu0IN-JHpQG%VJc5g8c?VD%gN_aQjf3>6A)d&?i8%4T@J zr52SSeWR;rl=_SRC#wb54$UJi_AW0MAr(Xd!$i-2!M6V{1Pfm{3)Ic6x)G#x?r3jY zee==VeauJJcWJ@Pgw#sJkMwBvr{)L@R2w)VeLGkxFG{FICNTqaBJol29Y3 zvmSK`uhZ`m#7!qXG=~~(4u0V`3zhFDpYZ-FHL4z?rp6K@{KDvI*3#VE?EYu$@f-zT z1}+(R7|jKU0_wHk)r&CX{pI43|Frwzg3aI9`hXC29dv&tgRJa5f+2lM8skChnGznu z(`WmYBMp_PAPhrFE~C2N%K(k05I_mO4Z~wCbArm;0$;ZGgW9nCm(N{b{^7Qjay23# z>J{Ms8Xk5|oCV?K;$`0?e2d=8_*$f^x{ogV?rqFJ16g1+g2B{_=(0lKg#Ps!m+N)Q zpt!hrk)LWKw~eUn2>0r>wk_au${R`(7R0&QKi{U~C%-Z~ z(TtT!!*W7V8Aj_wYX_}=rr1VXz;wdOB0~-F4ZkHte#_EKMNPv5`rRy3MI7BjQ4NWm zqR&t)P>s+b%Ez=T@8LnRnwo^%ghncG6^p4sgH7$V$V)E4hR8o77}HtfIrfEON|kbjeb|Usw(l?^BA%~xe*Vk< z4egj)(!Ql-A0HlI8m1hy_#9O-AUAq}WA%Q}eSg86M#P~idYIsK!<(NJzln$;#oWa; zzOyc`E4`yAc7S$RbD6tULVJL?TVvjdImg2HBgXg%7?hHd(zLQ{x?gLnS2}74cgNgt zUPUXWaH7x3k6}j%KymHGU!P)clu8jUcpSBJ>v6Rjne%JY}x z9sO{6&I`Ak;p=K%xynn@U-8E2L)^-_@l%}*v?%`LPzTnw+-Uk!R8qY?n%zYyc#f~0 zRZ=4aV!UX)zi`#olWFPU;X&KnH|$zmT>MH~dmT8j-|W9^Z-(daYM@09At+3J%|#rS zsw~R;hFvHy8TnQ+W-G0H0vKuofhSk@y1m+VdjE8D!2M)R(Ss^$u>&w=?E?UDe}5pH zog+J@)xZIhIK71G1QdeSd$E$g~+kExf5h?p|UlE-+YX_9L){9M#zQSYP}5lO$H7{h#cNy(Q7@Iq`$fvp|Ug z-)TQ9D>jMiX8bllG2ScREa9$kxNn&GsyQlUcdz_L!|qjX2x>HlM#R3#(eLc_)a{E> zz|Tf1f{Jq&MwMI`K><+Y-T*ylWq^HW;4di82f$z31C^P}-|~dB&v={P03)bfDS}31 zZWnM8c(R-VpqBFAV#;mCSzkB07e`>VNCAXhj-4wvD)gNAr6m*Xdk>v6WjqD{VQv4g zqfftplNr))Ii}%_il&gFfU*5EvvWdAwF_6}Ntiz0i&&S7+`H^Dc2?VustK+8_D26a zq65->4SL@MT1a645Ej?1;qqO?WDP*^0*I%TA3tIm;oPO!0=o|BetnXar+Zg0ew6^D z$S_LP3;inVSijr(Wq1B|I$aMw3cKCK@)dv z4j{>O2Q>R)`>CZVjZ{o@Ao25Ez^jPwKv!xlb zn_5~BbS7IJNg^`EVJ?fcKw1OYwUgXU(qlBwZ(+b;U{VP6WG9YyV-1%=GLYJ9dQ5AN ziyB?LOnA18&+#<>Lpxju*^PlNz}P&}k0PXxrPXi6GppS`kkyPgvthu?yQ7EDxH-2^ z)P9m zsOdP9!&DOx5TK93&(BY!_u~5eitV+rF@E8b;I-fx7&|rC>!J%ubk^#aV#t;Tycm{+z}J{9l|eFV$Dtc^(-%%YT0y6cnMx1X=x0j79zs z*4w-vKkQsw1WHsOukb19Xri_&D=VLh0M*^IGxGTk%hc4EOifMAUZ0-cUVA&cK_w-n z{q;U&8fxlrPRihiGf9z&n8DWq$Xg{u1x^5rwe=?mRP4{bx$wu0>igsDuacRs6iEdz zn|uGX;E!xbh+V~*R%t)5JgNH6r};f*5m=@xJ7clhY06;d>^v$BL)ZZ!T1|EHTZu-A zn#M-kd5QT;`@K|q2Zy<7SnJ%)O+#@}(ahM`OD;xmA^ryskKVw5-)y@`Sm)hQ;nwT8 zqj8HM=vgk3f&x-kWx<4asnPPGAykga@H9ujAhG?!XO{`yx$7ZcKOW6fhTSw|pCR^t zK2Bc+mxK22`FY!*prEIclC%+^4jeQ=LBZ^h*34HNVbe;=%AIN$&KN;0EiGkpP%Z^9 zC(Q&yGSaX5PVVqtw`JT{%&`ET71#Cz``E=;k0pNt*Xky%={G_Di7MGg%>u4pLZ*e> zanCb1wuMJvKL7c>C^Ic^#PW3C$c7jy2^1D95EqU#N@_*;g! zhbE~wA2qMoD2B}eT$i}aYHfdm#8nNanC0W-oPS>sg?(U*o}PaH@Nn3{(Q$p$$FbN226N2I%X9biwBFv{cK7qM zSA3zrR~~|T)(Vqc4o$RkUU^XVpM8!hiuOcAAAdjcLcuG#wnkbhGO&k3@==|8563r3|0A9Z6Vi_-GN3x_X3RVbk~2~0+a)0 z*f4~jOhzavB{jRan7+8MFtfh??apyR8+v?vZ1!!muV=lSf@9(}wC(EV{(cb|J&5Fa zvTT|cms{%gI!KKZ^8M76nR_=hj%I>p{5`n%OWz$kgOLdqRUvyT8$!FjW&mMl{_p1n z^+*Ks+N&R64Q3cI5QMsWdD&1A{U-cqHTK z>K{3Z^1sX9&U}UBoI0)g%P)Kl1d{Kcyk0mzFe$CBoh0|O6;iC(0 z%zxh>iqP!tZo$F9!EAs3C!h*3+uj}k#1vH2pAgH-L(_<>EJPf|dG(f_aR8%t=7aR%ktMy2=D25$!2AdCe42?tpzOuwyECUUUzTr_qVsV zLtKnz7pPmX?O5KUq>XJC=}`o-fD;njs$R(YfhyQ2dNfr>ZfB@Z0DCU*%^&smy4^Zw z_mT+zd#rHqe=hplnv;{$1nLAV4dC^xoCG)JqYSN`B?4cvxQyDe(bm=52jn&ey11FN zt&8*y7H^%>mHzK$>cF%Jm#BE#4@FgsGPle!?p&sYUcg1+iJ-ri&KP!ZMZ39gDK0IY zpPEXvcXXWZ>G_yxOVBbsFfd>O?zlTzI3349B;bIF5n3<1SI(2wE)-q}cj_c5v+o>v zjR|q?ioX2x;!CDGAH%;tYt_u~utw@U@=mC_w&JS#{`W%Z^n-ALL@Vmmw`&te2M2G< z2M-5?Y>(hUAp)cKdo(v5G4`}AkZyBjLpGDW$v)od&}Ac4=GYQU^}k#VoXY2&N*vzZ zHI@D66!le3e0zC%YB4f0;tuQ?ovXhwg93mO=ltYk0)thl^0(NiUdz85$ zIDtENNDswag`W!SAzuoz3Uo5ia0w0SecrkM;Cl8z_A%RN`fbclMz9WPNRRV`SBCfU z)yPqcLfM<%bD&FYfw%_(<+R7Dm}lGeTG0bGVniUOPQbnNWX=vroxXP%9k z%oOL+8@N<78lk}YC-R05iVm!fKS&gbn%s^=quq`zj|lis&;!}=2HcUZ1g^o>fZf&?8k8m_3MTzSW8?n9UJw@$nuMGaD9*5F9k@(yv9uLJcJDRqPF8+WJZ z(wn`4JY(sI@pPG*)-U&aCEO-xnG7~6Hhvrsjp%;&q0Dj0A)_5~zsX_hr$bX_#ll)X zo1ofuvrn}Se?nl1EHd`>YlR^l2)0me4;-hmW;w;K>8ZfJd0WFr-qAy?*wZ_$t`RbS zPI{aD?WKj{I|T61i=THSFC?q_=*seb;v+BR_0H^9(QuV{T48TdJ%(?&^a+3Wq&k5T z=0)}&-^BmVDM0+G`Xxj;z_<%zLVC&k=~C0_-WY~Gpw8q5j0FWawIt>#0dP?h7l9ioxhqh{>3tPsku$1Z0a7jUGpXdO($m zsR4MXX_*OYRs@u#jEoh6*hUQ>R2RH~>Ta{=iCl);-Sx>_o%1(I@a}0bfH>k;ngG7? zZb<1;E6j8xQ>GO7jXp3x^*rs+S5{ucNbE~=SUKkXB%z5&7O#1xrzBtW3pqDXxig?2 z0raJ>Qt90_F*HEmeD_;JGkP;Hqsn+YCCx_d+kr%J@AG`;i|Z3h+e;|~!ES#%+tjdA zyKg&R`x~t@mg|x`n(zmS>Fafa7#SO-kFWU55SW1v{up)97O9RG_gFmdvIQu#~muqB58UT+|C{&4( z?emDnI>~YOqi~6kQfhd;Ut%Y~xUuqDYH%y$F=^5dC1fbM*qa`SBr0Hn+<0PWUQPlxPerl|aAAAi9}0Ux&ZzLij=Qcq`o=vGeG%BQEf1_7Cl}@@ z$8#u3=y`Y82Nu*UQ$Q^>ivLy99ME`EY*=03FEWUVMMz&|Wl>1n_MJ)dmaWFOQ1CN} zHoOIo<~eyJ))s%Mu=OBDB*W#~{o4CXV22V+_|5YT`7nC@OiH@vP9AAm5|Gs>FV52T zo!dJ*L4IeXw*ywAc-gJtbC=jVmMm|3LZPSP%l*%sp6M6>7wWX!W~QQnBJXZa~wsd?!X@S%fH>v<3N#Ofh|I9;GBx zYPr<3v)#qhVbq$GT{ibDQ{JLlPS_IE4!nr^MSN-g@Es(3zAQuCI=4X0%KcD*kB<4Q zDy7pL{g^hw-kgprD*1q(#Q^`=5C;F6&(ach>@{NKpJiq6>N1HU_Fl@Z=><#hp2%~w z5^C;HDySl=9vMn9R@gn=`lnk3SGFDO)vcSnb3N2HRX?_KDy)ZrB`VJ@Vx<>%hqcY< zpYyetca8|qUl5~%ael@XK;jC*)jp~jW(3LejM(B!9Gu@e`&Et)dc5P|T&TRNA=@;4 zhmlJ3<%$(`w-xO-g+c4OYqZYQmEi#NGegt&DA&-y{et6q8Fw{nb)QcoyqF;+G1|&# z=kYCOk^c#aP*9+SFIHZm(_h@i;ui;)aUtbAktJ(KU@Z-ht7c+{nTTicVMuaM}lf-HCdtsV4JGYtS z|BeWOpH<{!u-9}l_elrgM<&2<;9J;#?an857_rC9a=bQQd`1UY5Tk9=YxX!F*TRS1k(I9fHw zYx!k={w|^P9-hNH|DRDq0(@%yeXc*zc|ag~D~8=*>R#Yn9_Q{^$?LvPbQo7#@xqMC~^=GBWDg z*!XcuK0Q6X`!bUY=ku}s=(@~(tri%}WgwM|^~sg4T&s;C>P~uNPwiTm9M`*;tm2kI zqAKTEu>5cC-4T`6tNHVTcc}l4q3=}oEUY9-Fh?{BYYvNAN=hm?3<}gnDq31-fWtvW zQxlb%npy>5JPmw8CvR^mZf@>f&CEk&K9utkmS3`L3ZS}hzjxN*<9z70c6Qysl_jeZ z@XhHveIp3@URfJ;PE33|{dwiE42GH51O)isI56HAAEli)Cw$f@d4lf7=rOdVFtRlP zRjkT;WbI0cZc5oA$yD+4jIFZex@vD#XqUg^-{vA^{wbga|I8Wkc;+WtP{--wi?zzt zw5xCY__g<+3!t!60hGPovM@7G%49l70P{ea`-e5P7i!RHRckA4aB#5Jn>W@kIwvPz zvnl~47hVYo>b12s(XwG&+{uw^lb>n<4W^n1J4I;5Hy@#$#JA}F&(?>|iXXLFvoz-p zUyM@)o2V)Zv2?HOHP?Q#xsMBZBF5vB(gJ@x>i0j5L|V2YZI>7~v$f@5W?`|gx98g2 zLa2ty0N0r^N=m`)laq1nOH1kWbacM-OiY3F%*;XU3k#_-Z{L3R`}XbIIxZ-O<$*K+nSy(+-@~+kwMnJ8-UQ@902zhKHviDcOR2dbTY< zi*z}R#L&WowFa%hV%H9o&CU*sLwbTHFCBm)P4Lwp=}`eD3PEn1DxqI4NhLC@tNC+)oq}=zCICQxgWG zSCiAx`If{IK=PixptO|PLN4rtKOB<^!C3&Av&wn-$cZH6>kJ|q?NOGTR^!WU>2+bM zwR5cGf;?HWmt^|eJaGY6osYnWQmov*Yh`Dq@|2l>z5t~iS@M~Q3C8iwOuBVTh=)hP zh=-Tg`2Kz|P|5l;KF%<{pD9U2Nl7HsJCc-=GI4TJp{uL=nn(Ni6&3(8;{wXkOcC6= z8Q@UfAe+xNHfk6c7@{H~Z1Ts++{K~Q{VnAU4eZ|}ca9t^EiHp=7~H{wBO}l43XM9D3USw~K}Q4|QG|mz~d72iOzAcj*x)z82Rnxbrx4jEP~XlEfF&!4c2lyJc`y35#E) z*4Rlf)+H6Plw7zwdB0vqL1ysX4h6yIcPYa9`uwl=a=!i`q*$TQG*sXS6@5J)@y3(V z>$l#j`)B5aV&zlH(@mkFa-m==}TI(14QE&6qQ6BQa6S>Tsc6 z0m|AU1{HwbAG!nOqRUE#)qn$&v+vV!16+;8&kh(MN!Cvpz?i6lwg8##_4+!W?o*Mv zuS+}~eDIt)n$+j@Lk!uS0Cr%mdg!^y3D(tNY(s0kyQ%YUrVZexo$Fr39?+#(rHC!F zCniV^phtz@wjvrI>K6a`srn!-y)tCxyMn|dWR;u&KhF=;Zna~bA*a_Y*U58fTbb#R ziQZR{=W)cz_)Kcbv zIKC7&tx+Gbo^6eAJ7fKheGs}QH7UQxTtlAvB0i|Vmx;5|?9oGRMXZR{d_6baqRa5Q z@*r?v33yF^%F=nB^ZA%kB0wL^ySs-Xz~o)=dL{-QE41zlPCvkkYBk5N#^p7U)U0@R z_gfKgh3i6TOfYwFb#EnU-Ewsq*lyM`#ZI;Hnak!NTeQTbz9(=K7`~w2*(2dcW%0)R z)k4a;odYPv=Et750kaV$K(p)Z$W*niHA^&h8>?k>g@j9iA3(OMri73rW5&Zh#xpCL z6D6_#jP)}W#mD{221dFen2+LaHXH6XS+C;DycOi-Rc|nxHDH`?eMR1jAU5Dv^QVOr z1f!fGvTZIIEpoh8Pia=yW9=l!B{{LbV7LfvmXM3eQ@?|1PNiV$>b88uxmt-XD!_aEIF6_Lp5;hd?J@&~3BQ7ZdW>8^l?gc}J^<-xuNC zPY}uv zGt!d0ZpSC74-&V&1Y{9b>6gMWb(;U^8a~DU!$xrHztR>b*Dk-E#j2xlD|wbY65>S% zmi4#^(!10A0II*<)oXoAX13rqZ>O;RX~2>aaYBn|53g6N?;Fh(q$_aQYCR6*-uE1q zM8HPW66q7A7~}j_au{B|iSq(+M_vK;AF$(KDI=;@{3aJ;G1=cb#cphB#w^Y2x_o1` z>V9jzf+p}!WXlEN74xXKuD{27o_=idigk-_1e6&16I;%I_;H_&ZOxH-Z;3(KZeVh> zH<~BTk~j-CY`dsy5iF2(-g)bs$bP_W#NL3+`q<1$dGgaD2ntn95iE_jZoTbKb6?s? z*EF5BKA_=+30|~n$Tu%i0?K_$4Ap_k0^03$OA18q%%w0P#i&66|9*ZxRZJJDlmXiy zLb13TfDPo8Wi1eW5~|^yofJ$;-{!5(x;~VZlo5;d=Z1$bi9?$vwyH?|o@p0XBNLsO&Tse*!cl;ikJ9uI%ylJ6rwzdr zpbDTWejNHcOKF~8>#he>V~_w2z%N)6>gYnUxqyvD$1I))=ouHfm!Imb4LG@ zPf}f%km4w-c{&c(Y{s>u>bvdCikPFTuxF4Rjs`+}nWg*8+~)17GCRBtqN4^tm6t z@Urh}>d80&wp$G6eQ4Mp&o#Ei3FQwz;&pdL_0Bejo@Zq~{m_YO+=Ytuw!WqXz-1*; z^vip;H$Sqi-$>}bj>9vHf1}F=I;_tp)w&3202Qt~(eibMFyLSZ1RfQAyL=tew!&0x zBc`g!?Hf0w{kGs+LrgOu;}K60By+*rRG{M=b?#w@9E5jc0Q&K1);yRxLdHTlH;zSs z&}(teM2~g<;@bfk2{|czW_v4AXldp`3X4tfZ2<^$r8~{LhQ4ESmyD8w+nU3AC@@v~ zigFq&+>K2)VBE#@$$<=_zUCotPY0<_v?$@oK1&eJ(DEYJEljZ)Z*~Guhg{l*#lMC{ z5AAl>>NnvcOsFW(Z~xr@o*B?*F6Zaw315+~-0s2$jc1+%p) zOs_X7YqZrz`^daia4|3rXKzsTAx=>b%Ps=y)7kdGB+YgCAeRPyP5fCpy}(#oTIEn zjw$CJh-UZlqYIg7Qll=*0J&LGN~GKM`^9v;^D`*Z_7QQE9_&5#h4&kr(Na0~TX~=gP*eyI%cq2ew*CuEoyPp?hni z{!u##=1+SA;xOj0O%ow={L?TMHU$Z3wx^ya+TW)=j+G7%M*#S4N&jW`*``oyy~oMp z2g-q4Xt1znoO*;{&||gVxPmjjgpqu)FL#)O?4{c@JHzohW5`GWL?jpH4K4+`7znN3wfE1+G5o=`@H0FF4}#LF!mjzKFj zWXe3FqdhSK2cRyxg{@Cya({$-d&FkpxfEB2fe|!Dw@zgzO6~+4x%?OPD@hTV3(K`rP3&VM`dCQ1APz>XVI(h0_GWJnB$6_%+PXt@!{86^| zcSLAk`mW{SXeucN?yyJpZaRR1+x$-KDu`fu_tP!OeO)=*rD_7v-70|I_E>qH51*@aT#>{42YzBOKzl@w z&{$1cAF_neAgS^R=;xss+Eys+U}z|6j%pX9hm&x!6Eo1n(X=gl?$i0>oME(ZWW1~5M5@>_*UFob7AS&BPIo@srle{ zqoO3)!Ut6oVQ?$s9W-raulvVq{c1)?T1XMb+#xuYW=0RulzW%HSNzKplJ8B$o->q; z?SOHgVUxFlFcY`=x(?r*#yZNRMb7|L@`K1&;h4$R;`NC$sp=6$m~NQaJX+Is^LAKj zRtblZ0(Qm1#cH=i8xTNsCp&p*z~^KBu{33z%Nr6A=|KLR7#~dQBU~I{AlNwE?6^mY zPH3#Cj)Q$?fN8d1olhzarV-fzBx%n1P^xsUJ}yA-PDZ0~hU0j6%vERxvX2MdhpH5@ zr^DbY2P4WId{5jXh!VE4V>JiEU!$P2#9F>3rN5n0In7+%i zWh24x?j*soOFx>JY$=g1@ZWh{X|&dQY0EW0=z_xF9+t<-mjlCe!K$_r54=+|y%~Qu zY_}1w$5o9ow-5%?S67a^q!OeO<6+slp3(|%@#Qgn8buoBiKlvoiRJ)t=J>@KjNcEw z2@#mm@2qSYCQN;-@Tm$PO-i0(+1f%&iof*U%Xt9-t$|vcYVTeg7=-V3gGDD$8<|EpF7+PsXkhNRO-{oe#D*yzBJH^XOxWza9@J#* z@f(2Y_c;(+!x2V|O5=YYr^`X|6o2e@+p(WEW?XkMnS^aKf&Bdst5Kn>Njo*SHuf08 zu#O=$k|s>vOoC71*)MR2xH;ws0xBJ5&>xv7rfz9AoZ#h8=B1u#8#vJ3cWWXweF7{o zMoSa*xI=L;no?!v9&eQ}bC@s&`by?UKSH!z2Sx?U#s{iQz5O`ast6v=~^K|blCrY$PSa;c{jllQBFc;0-ajHWi zn>m7*Y_r11>hlWCj=}8S4Q|e3$g#x0ZiRY_)cv6oxgXuX+2_}E&+Q>oW%B3FC7uHP zN1~NT&AzWoQh5h^=X#8^OL*LIdYxbP;@MKF+Om-inI;>ad{hto1;~#bycyhJ-Tcb7 zDK}*_6(*NIbIQ2ON@bcyuw- z+5y=J-N7McaG}qo7L^i~)knr^zhSw>NkFIJOpK~Z9(!YZ++n!;j?e?2JY6jW2jx_v#w=E5qvsasQ@u7Sw_wwoW&+QT)|4g-O0?h?XtCm|>mDC7 z7s5sbSDr|`XnH{n+OObHWMqFd0?(o(u>P4y%N;qc*Cle?L0+Hw?)D~C2GGcDYUq>r zfyl)7#KEVSmQ_=k7{kv>_h1P&N3jT`;Qo39J_7xo=Gv;lA;Qu$nOw)SJnyxc$5f!r z+KJpT;chdzi&P+!YR>d6<;BZ!Q2c73c}3o&%aHa($`Q_U`JyPKfD$Jr7niI@qQec| z=DDQW+P0jXL2oQSizJ5(A&CTK?U8ltIX;6z-o~b;Fkg~k%`0lZHo>SB{U`%U2KhJ?n#;Hu;9Q(#bXA!2>kY#N(hv7s zcFZqGVc_1H(xU~9!4E~zB7`5E*v_d_Yy+K;8PP<)@PvefV9#}E`kVWL_Z>iCp1q+r zqImfdt~$NGE>ZP#cdbD6mgu!DTB4fe4hK6>Pi{zyvG zbn|FN3oD!h_sc!Wn=03mE{Pu65}$dHy?j(dFAd0+^$IiVY_%yoj3?P< zuvwe~reGlg5QoTRkI|2}<}*|aEtpd}0#>9I>BtQJn>1;&355?}?G)PC&lo-Wg0h6z z6dp_qXqQf@>_GD4II~O@^u{-+*{ODrS2xqlOuwuxgMH)4E?<24@4lYgQ*C}sNs8-2qGSUUAT^{dbuGs(5b{Dg z0t;Pog1on0G4Swb8S+OG`xcmGZUv2H zK2A>XdXI6}S3`a)qW4H&&#uhx2On36>fDwFW362L^XvqN6sgNtS{C~Efp=1AL#K&{ z$Y13p9gUp2pMsx0n>Kbg_KOkzMISe$W^(%VSop^yPX5RE_NoR8o?B_BoT0nRXr0(0 zG3v!MRxjeaAEYMd{F@MQFZl`m=)}PrQ(LnwfN^9gf!_7~5yTW_rM%hMbFQeM^HpW{~UlM63H=^D|kH7LL2u%1u?8%{f3^CaTWl zDZd+X@X-M(E!@8$ddF!;-uX?4`y=izb%1mqIYnQv-q&ZzqW?4Q?{njT6hqJF2ZXk4 z{domcpBpy8OGh^-=xYCHV9!FIW}dzMtFZ36M+jcw<*$|+FS2M0#X`}N1c!SpdWhFj zWN7)KY|9$pLC5viu?N?KAHIws#Tp~#DM4}*gjAHWP1JPMq)6}QI7wDL%SFhHmv;x5ESys#l`d}o3>!Z>_k~PS3-mB(slb< zy(j}xwUZ8gpq+;&zaC#vU{9!B2Jz?p8qWy1Hh4j>+4=@&$(*{8n7D9R81g-2-e8kyGG$7}* zjmW3;GczhIW+sNltAEhXl;7ycrZ2ZIX0O3DaAoWieWz0EJ)qMv9;5h3?Kg1PlGBo@ z*A-lF?Bp6zS%LzUZ}AO7)9v2%pE&&u7Acs@WcQVqx6-!kwDSg#zl~)%_!Tq6Uwg=n)j_e64%k3v z3kOkc_k`SIpRdpdQ+4!ZEqtDMK(`%LCgW{q$?sO zD0VzStncYh+W-l8;Dm-Y2K@u(z>(poZTYhmqf7~;Icmsqd4NXSt2FGsEF3)U(`kS* zh;}durnssNQ+DqZ-kh^3b6rZqMt@R@EHZ0U*0euR^>O7bZ+gbfWIjpV75^j0re*#N zScD^-VVaoAu?=}{W==wu_PGEct;q>^IQbx3P+v(MI2!+%PCnZf0Rvt{u8RZ3L|Swa zSn`k^G)B%I%)?ig77-guqU`^s4WU#=zv?*<&s0pNH&ceR^5O2u1GU9nyt1vPJBY-n zf^zNq%TRq2qDc9DM83J7*3;ffqfoo9V{}wv36mp_EFd;Kn@L#kd2O{-{@33bF4&(|LEMXFCjcH@V!~#mg_! zziPZ?RwI&anb4Q7cZ?fWeO@y8Q5;|F)y%s7)W^7kG{xAZ!jEwdQ}`T_PO|xVT0NgB zG|v5Q1^c7ab8NxmZiYhSu>N)o+Pg=vSFD$%b`(F$S*Tn9LB69GSkqJQg;aBfMfZv) z+;0^_|6G6oa|F{OpJ-5OJ4Chx@S z=!I%A9tCQm`q^ltYntN6{Ib+qmi>n^&}WJbXxweF=`CfT`Ew(Kgds2!ImifH4 zN#~wo_vaI0)=gPrujGSNj9DUsoq=|Xy6XbYj4A_m#SCJRC{@)bbL;P;LBDh7MsqW_ zt5m>Cl-wukIp+rrS1(Ma(iCUsACIm>AhP#@^R~a#kAbo-;_=?rNCx!dH^tuzADzp) zPZsmju`O_Q-vKb}2`24-e#&}w-x$IKF1eUfl-ce0>MRt{13VKPj((Y2R zNA~JGUEKm_a!w+f7iDK|^Ob{_4vRF=eZGA#$Xt(lcPrVZo>zbSg`%YKw3!9w zD#1u#>6Y1l6PmA+aoPzgBHNi?EM0hoCO(Z>ZN^b-VVtp~_0Z=|2=l&dc>nv|AemT? z=HSy>33aP^S8u?ql#x>(I}-ejX5C&1j#uC*Pu6E*7^ zfS0VEY@b{z(t<6khJP^OoKZdeT|Gro3`@e@TleN@G}>_UR^Jrt^#f9dL-eU9yG!x} z1SG4X=06DLZ)p6BMi4~t`{qOCxmeMf4z#D)0mX0OU#;~yrTVd$Aa9?EJ9<7ni&#(Y z%ZbZpI#M>*^`H)asTuq`sQgU!Ies=Cm}aHKzzjEAi>FYj5Z2gw+lUz`MX;2${wMv9 z?3=Tyh*8az_Q&^5znKy-DTj1w1ZFS4)n|wm)0^6-m zbQdj8ooCf(+bFo4eepXdUQ?gTEe1zAJDD|}8%OYJ@dY43Iw_YjX+3Ac2v(Z9Yd!#J z+OUD=c2+RMQF^go^b?K?$r~6h?jW1J3O5^K# zz2RpW?wp{*y510y<$AKM+=pA=4S)vzIb!PY$*@7{H|2ayrGWAlA9zpYHSP|Ud^v%H zAIF%1_=vG7;CP5=dm#{65wPX65FHWeJgKD=uSNfFdLvH>?7C!0*hEjKn#RW`+0;lZ zddc__(7#PrD>thGoA67x2UXcuDc#>?k|ld8i1^r)tRhWmVx>AH_|&E+%jgs(b7%mY7AQI~*cz9>6Xo0&B39 z9f7&u?BE9rfXok>~_BhKhJHpLa_jBRWejcY1zItsD{ zk<|W;4UUBRB+5{slv%I6615a%s7(t9kZxapZ=vq2sxGd=z*$!RCQ6^Ge^5+73sp76 zQU3cY`P~WTah{`WMDG%LE)OQE)@z@mmEq@gBnzOBCB&oZ?$gZH@K)A0VIM~E32`m7 zExx*WB%j}`raHb|Cl(aDUHCX7Sr>K3G;=b}VZY}xPq(W#(|mO0x`~mKuCjK< zFs<;3>(XxPOc(%U7Ph{rM{+fLsO}A8M;DQa|;%E_iLMogT^tVUB&zgYg2iXVh(V^T!3)V zcvQM8iP;l5P_{|9-BcStj@Lcly!p)0%`{g`1apx;3)=(gJML`6hsX_ zzpwx1==W*jSJQCZ&B5sD30|~EU?rmkT*UB>BARuMJJ!^W-Pg9L5^LaA+ zY~j!>s(nL#PY{0bo#cz*I|die5Cf))aG&X`TU6M<#zrsRKP0|l!y(9N-behP3+Tkg z73kD(J=(R?*8&Uk?aOze)9zO_gfnn+B#G0_(`B!Edv@5F-`%2L)5-WL=xA%fkM1AP zq&`Bz*au_=PlELl6Ab?Nnw6f<6JHco%~`!lU-@>{$DH=a@b`fede=EOOzpQR*E7g# z@qYk!sfO@gtG!mM0n@|ZrVJ3#Y+t$}qA*PB591d0!J4hnp(7u@x>o88aj)rTN9&%t zlYVW*Nx}H*KN}ev+cik|EW6(W1+^6b)&1oH`fJlFBYA=kk%Z!J;zn$(waBBe)yP-z zT8egHj~-pDr&B`E=MOrZ z7;IkknMQHa6`<1oT5FJ#DJcpWNtgd2{~TO$sg=poy|*wX?ep7Ir04J6)RbJc?4Zvt zyEk(TnB8B!hs|zf-H9AhuepltVt#r1hk(ea8k2TFf)ky0s~*?sz9n^*Cov5-ug~@r ze=B-T`0uyOUjS-ue>VuAxdj7vu6E^c(CHm77SSe$Vu+8|rK>zZcjW6bdt2p=DJLFM zs9vzHp+)bMZ@M_u-v-Mspi=mNhe+zfIzM?=9 zPK-Dxw@6l9YxiFDLH5n6dUV3P;QDRqwg(-grR}biX0_XVF(RD_64t^G zc{6=>TcJdDzHKdX4Eq!{a@J@p(wo&yf~8|5)^!0R$k%pqGKEVPadELD7L>^T?ikYf zl0(X0O}HJ*P=$LKAK-%WC(vo67%f@pki4R1L*-Qyy#7?R5K zUAC9@G!938?}(S#YgLk3$kUs-MRrVZHGJX==WJETI78daX!iZ5Q<>F*!2Gv?Yo8ka z&WMuiSZ+H+QMiL%7LLzh(EID}3w9%_e zNBQ@wngG$6iGvf=);+y46I^c7mMS=?;Vx@^q$tJ8+z>HP{)ZLHB-&pTV5?Iv8IHN>3?-O`aNG~=rPNu5Vu;Z6M`KJfKpJxIJ{Sbq z{f&6Gx3?Euq>(yqgaZYJAb_a@3_BRE4?puXhSILy&&}nFcVt3!vNUU7>sP-;dxH9Q z_1At*H-Lw^FN57{pCSa$m;R0%NWLzi0&07$`2%I1u$Dh}7EwIPYIkX?Eg$T7%f$q| zO$--Wqh&7Zton*VukE8+1t2Xf5K{1AZ7TFF<Sm*;~xgHqe+RtUTcOFBrFZh z>v#VkeQWg98nC7~su}2Ml*428e<~n2+39pGJcS#RuDNb@gWW_u%-|j}Fe{1wV5;e& zOlskv^gEjF#}ZJb)`J;p%sh|9Y)+AaB(t=cxyv8gs}?UClqg-c{6VL^ebC55Fud)r<#`JK!l+9gCCXjSQ~VYX7jx>tuZ0%uWn?OPg=7L7O9*=JvE$V zco%gia(bI^miU3Z2KTRb)HO8BeFojN9o+!&w-Z3QVE|o{fUv?W*11n$&JOS=Xpdm` zgio>L#8X9R&5_l}$i-FtdTm|VVhThaxt&6gMwrrEWK=2IX4=h)7JRUJQ@>D4Rp6DR zmZ9TmEdXh#x?8&ar>BnUYr=TII!~m9LKC5DX9;_V-a~1gL>Ho-N?cj)Ks2?&fFxBJ z+2?jq#i{Rg-|VZw&s(QY5j7_ae}}*2#YXoO`;0k&&n0m1tu`B&g@DXm(B9tO%Kl#2 zX<}UswB%^(1_8{1S#$0!kwKATFAWiktn@#l17Hc3WRa7$Pw-w4An-jv`_`t@?e9(s z2??dxN7G&#BVbz@51ssdn$LI|%}!^{TTuLttRGrP<*NCU{PF`R!0Wz9X`uMW`NV3= zcPV2t$-g_+Hv4x>{kAbOX1ZDX)f7>q;S?Yfe%!=@nqYmlXm#RFz0bwmwB8wpQTZJI zgXyU|;;WRYzRy2FU6=(}1;1&h;WRO{(^QavcEUGUwG5vlkZY)vKT4pF=X?<8-nCE{ zEn;@V{~aBwo|pgy{fE^%T=-YyGk|NK4MaV1+3elh0Twk*%eS(8ve8oS){*x0_p29N zG>13tVIZ%jvTu@c2uNZQt(5%VZTJ246dzcT|IJ{2w9>bjMzPWL*%9V#S8ZsaowO*W zs3JUHg|~C^#@35>W!Wx{S||nF``v92o*hX4^J!Ccj_zwh+HQ_i&Tb`OoTt4F=54@N zxbP1AL-_yBU)F-_wElWQ8-VK0n_t85nFi>3wCR#yQ6Q{*{Qt{l7JN?rZp<+t3H47Z z(d5C~8|imUz=y@c%ofcG@zrIP*mT3ZxJ|k?Vm4qA`*X(^#dKrM1aYT_ z4gCF@HpnI54uNm#ebQ}ryAn(rw1!ktoptpP@N9f8lSMesqS@%SKPdT;{K3`v-1400 z=jmBR6V1DF3nR)m1fJru5=63a@sa<`G5{SgkvA{meSK_xeSZaYmLLb75MexF$$9mhl3xdLnS~N6EIH$k z_&?hhpxygVf&q{o=R2q#KIMoc{>F&Y5n0*1mJ-=yQBcxyk;1k9;YZ#OkrBI)y{nDE zp!$7V9tF#95Mc;auX*ENUG`nN&6^hln)Hw`pY^i7O!`Gef3q_?4a5)LK7ubF$4&uT z0=hiWtgliEfn8}0uAKx|oMY>M?+nMYcfi@LQwZwK?+rkoJAGPdX+9Yw%!9abfg#iI z@fMuA<6swd!|*SDYdz*H4Fjux3cWRKGMVQp;yygLuD6qG83~QTINib?q)qrhjJAV^A#*DUqEl3L}2@=1uk^4iu(00rF^1QCQiYVaC_U zK5F-G%l;Fv*tm3Cq*FVQVpnVK25p9xsh?SHErB+dYID+H86x?P4F7rF*>D58Omas{ z&Fui>U&+9LTvb(7)4*W%y*VIfCcymadjOYlgQIC&Lc+Utf3!NMHFQ9LD|9SJ$pX-0 zB2b}_ax>m*RT!e3t1$MdTbq?ci{vT)^r-Pd3J`cZq!~D#GDfn=BIv0Jv^(N@x6RIV zx>4&~#uEuc3}T`_`Jbn-qy!Bcsi>%E85_+9eisU8*IM+&(3|O@9F1nlnfbK=>ULUs zdKg}3o4A)p&}e|u_zn;es`ET!1|Z+4vCpF3)0H4<)O{L{PJ>%QvNBOn68rEDt(ay) z(GQ==*>7zM%OAcAfM@H^Tvk|E8Nsgu`}ENi=T6T8udPH0fLqo7K7D}oiQ`89)6oL0 z9LJRov?lN^2?v>eog@ABKq7aNkOPf#J=Gwv)3mFj0vtkV!IW+w{dYRw*5YAjXFuMX z=60lvedbQLJojS?68;^!TKk+VWGh(0zLz`K7wK@_4pfJIoU)QGPjD-8^`rQWN*9;( zGS^FM(xHt{<#(m;7{fLmPb6e;%Lo0pNg*N6^zzly2&wJ5zp-ePyC0d1mYa7v0)kO5 zlljo76nN|xgpVtLZK@Lsy~chK>p@wqT-g^8KJ^EPo#udsm|3b6gocBaK;?9=0r;ow z(Ja&|xZ&g-IiShddW14IyahC_EnU;Qu`S(K&9=6sS$5fyedhN}=qwTQyig_fWW=4W zr;HZX8KMFOB^KC()&N<$WvaYq7S&tn5}>wg_`TTpGB7d3q0DQOg*pX=g)(yzpi3OL zS2U8|Aqk@1*F1uDa{&NtcLm|^@abC78W3e81AaX^K1~F0-pB#6Mzh9h0F&^pGYD50 zbXoi+nj|?@#0C8>Z9PT(pShyK;$!k{-TFBmm9Q_sR2c z8TJav7AMgNJJK<0q(=a*(kno?UT#GNaOP`>Mj*Cz#?SZq)h;=|Wm`@Q_}1UFrDEjI4)F2IV<+x#hH`+fF=r9_tV2NU zukK2HiB^K0lD?K+E~2HdxI(?ElTfM4HMfPBJ{?^MV>L`=yVR5n zb?cqT*8rAiFkq|t>kMhC%yh&~)7Uuj^whbVMfT&vaRK4!== zb_7`AGC&BD<4XK>kNE{1S5^{yb1tJDYBCLN0e1qN`f9jg)14!X(bQJ@)W6AklG@>}Ad0tZtiLcqTV3s4t*UyG*s;RBOcbom6*d}ReH zS|ee(1Z97JKM%k;F9t~IYt;J6zJQeIDnQ|%3M#>r|K|w^pL`r8Se>bsCg!fF!4w_py{Sl-S;zeu-V}Z-1k`||t==xg zLIxT8vD?uS?kZ=v##h<@_QAsBcXaE;r%#`3K>_A{hDp)1QVbb@6am9;c}5%{V8q>J z%}3vAGMoAYZE$}MkjbI$d&AVl7~yafhRIM%J9~L?=&>*rfGBq-<@stf4ZS+rZ*&7V zO3CCy`@Xjn$+%hFjLE0x?KGaLS$*{K&pdCgr)D~wVq=)B~9uN7`H0?v^b z>$(2=RFe$NZf;|Q8ok4=D+wwB?~ZchSq;9 zRVRMJWM8*}PH#I0z>ue>fO~I}yDbPje;Nl{p3a)vqaAyF(c!^%Y96S+&I91KC7u z!Ve(B-VYF*gu3?wZa*_Rbq{WjP}{W`x|g1u?w-;~SLrv-4Rey z%r)*7{p`Qu8Uz^vqZoM4QczRdd|-C~017>HJHw;B*BNCSYagza?LL2wE1!Gdj9stH z=o&dGnE#xkTsjVN13V9EOak<3sSF<7Jpj`WENE}_LBLd0ZxW!fBeNFr6BY&#+vht5 zBPrHsW#9vw$YjmyIW-S^v4g5_R5xngrqw5a-5+tN->8Z$$qyM`gyCie0+yj*%Of@T zcuQ~YOHDgEWfgGm-^6qyX*rIs%y#@Wu_?ECOX7%EsQL$ZTaNatk6COGX273^yCCzQ zB{h7ToMwIRTf!CFGS_r6ZsL5Z&qkzL?Es?J!B;gdCtPc8ud#3n`8*_4##Q^)xu4*v zSO#|gdwzIb^Zo~JBE@0BQfjbqC;V9ho*giV!{0uWFzA#s)Fy}_KP0uadGm(Qo2i-( ztmkCh^WrwIgC59WDSD?Xv(o}Az>=tndvX9E?lN3QqktxvD84{VAzfREKKS&r#Ing4 zI_SD)CLZ}}q?&!2{0njH^T88f=IgyBwlG_~jj|@2@-%z2wm|vwzcVpADJ#ACR|5yz z!~K!zc8fLo13_?l({a=Z(E)x_M|vpvjv&hC(1p0$)^wWn-reJ3>t=i})(9e{O=iYn zAVkN(5NE9)^V~G^PU<##PKuH;_ZZh{VMdC^Qc5VQuw~Xr3KivprIsmr?UL8? zkyj%iFAK!YbSv}S7WnM!rH@pr(8@^2l{{mHRY-0G4c|={lK&HAzDL_U@_oIL)AC#y zzYbIJhBh|#CC)c`~( zLggIzFi%$ zCc~4onYu-{c>|XlCSz1{?Fy1#Pc&{9wj_HoGY0}mI>gr!%e*(9*L)0Zi6D=_rcaQG z;>C%el}jN~7tZ2ry*rga1NR_Lu`uFh+ep7mEcN4Us~q4OP)prv*~YR9=d3Z?pOl_- z^=>*#JK8^Odl1_N+msPMp0ncggw{WPXSx+Be2{bmLEJu`1E$LG7W>cQalnwe(pI?h zEPX84tr`_ixb6G!)RrBf>TT5)ANjMvQ=zY>?CP`{k@*F09KPfaL2Px`?XBm~-dh8D zwk9;(JT#8`;uvJbAHRtt-lFU+`8;WV$GX+t;Cx6k2)w>!U3Nlp$ zwZ}bnT->VJd%}z8SKYpJ?2(mp6d9M%{o_!Y0FOJcLI-qPjCjPLlSnOrme7 z`FAtKe(q&B5qEVHh;9z24WQP6&r+c4BK<`1j#F1g$__qfDf16ks9XVr9xYx+0G>ux zF33YpeDiVt#5bXz<(ruFL499lOop!sJUzwOe&pD!%w{46w(L;3N4GIn+ zMrTUYuEg|-9(l%Teu1>P^7S$n3-NRv@xf>Z1-7z`!**A|{EXB}VW`D*t8ZS%^<{;(da3H#BlxkwwR31Xg_Q5>e ztgRm+3z4D7;me>blYT}RB=kiRKLUM{Gfdgcgg5g9+}+kOH<`c``)@RIbZ`?)+-Ykr z+xJGo6FeLX%t7gW8l~`mnEL9lsM_sqx?|`eq!FY`x*0-1kdlxF1*99KyGuksN=iUV zq;u#FL8UtdBnKE^h;Pq(&iTFHb$Oxxu)*1TKWnXf-9a+`qXQ$q4Lhx0ch7G*-1TAk zpjl<|*<=ST{N+Z+yt4Mer}c4fmq`O(_qhVqEM772`B#<*9 zO!fpB^$YDcHOg zCIwZaSy@J4v%fi2o}_#Cr+|r{>?p=dF;)Q-L3NfKbY3(8ib9!yi52B?d!TQud_!F=~6G4^_#4l1aQ+?Zk7A6 zHrXJ?W(@nH0L(z)9zm$!D8dLlZG}N6VdihLUK;i#9KokUBmUw~drW??=53Gfr zD$&s<@PH+JwazmgF?7h4wEz3(Cy`41yvdhvq?&$oF)!CytTDE@!c`(AuS;5zi0UYM zv6JdZ-t}9`_vy>SX5(%cpy2-(H^N?WNCoxR_8~MCzE09a} z8UnhM43GJe(yy+dA5$;o@87L1yY^aABgUP{7;B)MN~#N8_G9#vfkSL0pO#<2B5o-& zK1O8#ZW%;rj}#|$L4dxIy*}EIp6OnwrxD-u`u!+Xrc0HPp=)7|34{Z&Y6 zv&f0L1S7&h8B&BtG^#WV9o8C#Cc?z9^eguPRl^8aYxPx}K%IGIx(^hwY$^PkYg*&eajztCJI3wa z?8_(Q0epj3*Ul1v9`Vz4ALE1x%oh6p9pWW|xuJH&M{sxL6lLxD!8|y*lFODW3CYXl z&A7wvsqVYxW-8G|4!i-e9sfNjdbO-73D$=XI~J7&ckvE#DYD6B==3Dvb&O_%w)Xyy z9EY13Y3%b~GdC%YP^2C-jSIz>$!aR7Ym(am0+C!04X(O^6WOg_RUG{{fT=C%LWbx68bLtEb)rNQ z1%@2?CJ#L)_iuCuhQ=*&QgpULq6j;DdPJzmMVQ>+PllbRwSFmq>8truUB(VoY@UJO z2G1yrh4B#|plwrSeh_12GJsOL9o3v!8NRiWUKXcAhmkrn(=qBw;C1}AQTtcx7hn@F3r)Y5oV!W8 z?_~U4(-*`deUKl9+MVg-?i}$4Lq|Al?j^4BreW$P6Bg^?F3j=b8)FhR8zGI3a70N( z5ZcmM;o8)b4>yl|mgFlLL2u#*%4yiod4Bgmu3`BPOJS$(`XnlY4qWoKt;pf*)3?2| zN^_6#r#-rRtIbgqMrFAXZpr*70zi@zoSUS9@ob-%^zNgUj7mvN&Yx7OKxXDjhxARt z?==xq{Jt?D3qYNM9*$|{6QQ0jRX({HsXJ=9QY!JrXzXIsL3^{YOd$T-5mVvrIeMXJ z%m!$ax}365+SLrFn!7})#Nv7GpI83fYb;7CmN@)Bo@#JYF+CR8b7&CAu0#z@x$Q`- z#Nr1&^6N~|v=u&rmyf3nU~lJknXF~hO}p&6XpDd{m+~fja>#P--=j*2^0Tc+)@kuj zePO;@21npN03FOi9E$OgCK|CriT#y@Gf#Jg;Ed`IkBsk5{c3Kc2M{dJ9`bcC!Z6jo ze|n+(;e(c?#b%ynz!&Xq{}O&KrW`e zrzu>&URF@2($^-Xn^Ypg4*}hIT4S$+%m3l}G&y)_ED^H0FiP`^zSS|pYfNBJ15QJq zSzs`hFLlgc<~Ff4M6Q6)iV>a-+)b37trL)!A?{6<^8m=0P2-}g?a%xKsQ-Pu3ptin zWzT;o(z1)g3zQg<0pr>JRY%W}jtXy&3@G{?HLYLV9M{htOZN%va6Ef3mqHKol$)gR zHA$h#gYUU>ZU_9Iq~|%|qKc|OK&=vUK>Tes z4vG7>IxJIwdP!T5&arG8lOsThp^L_$7~>Z2C!~5VZL!qzg4JIup5t3t3`(Ea5bWun zPP|$z*2XWsY$`M;vOfSth0pgZiZH48Pn+*=xC^_PXGl^ zIua<6KvqM7$B4QV_?G5~Z$KbzS7jnxbjXeVcy7m&c#KV1B2HZ3$Yc_MRj90CYs~Z{ zVg_i?-y~)70n9XWd~k6t;3DA!?A=`cuY3dl*krOQ6;7sCVg)_drFk*IcZA;(txsM@ zEn%<+?JZvw`10c60|Ab5q4scGL5T{X-p={AH{j>%Bxje}<{!$qW@TwUf?Mu6)b;O# z;x>ZscY`VMdUHK|!<&Ei#^;AfRu_bvO!cyEUr;H(VtA*_uqI7+Vsa$PEP>J2o8X23 zfRPVP>`C61olIMSA`{(JO)Cpn@-bcur`fBwUoOH7Dn+<3s^#6Ll&Bg2psfl2H!Wxr zo&HZp%2$@?VFnxX$Om>(GU)c%uG1r@$kvEn+rDprAbNi_f~8qZa}1l=p3l+~pbgKv zmeg2BAt&I}Fm6Rw>&E+=gQhY66$q3aWL5j_WJuU4iH;Rogqtpah+`oujoe+Dq{?m#ac>RQ+&FwwL4 z6JUe)EB?p&Qu%hCpZ{&7Iq;?^m6%;?1_Nm)aF2Z4$FeRo3zU=?UH~Jz@g4qq?^UPl z{mEpOJ5@_iZcG%50slt@jz0g>vf4`ilqwbwx}YfGh~3xVBe4rU!>{}K0_5{3jO_^? zap8ZRXt$OQAX#*3xqnoI8N9!uuUDDFTW1@Pu~2XO3JBKIXZ?U&>_r!x;+TM=AvC9$ z0pvj6Abn=%GkH1(c&k*L_yRKWM)|H@SztDb8Apm#5=EOii2BZuU}4p2%tTjOrXl4} z_@tz?Ay84;7+Nad#Ew!cSOG~+z>ksm)%odFdlha(&*4FM8N-yy;S4)krRx;|5oJFt z58kfXE)t!X>i2=rCT1opC}ExodZpy>MJQsZ;CGQJpxDu}?y_D27}k9C1TkkjotFzc zNDMXn+uLcqlb(sqszYWmRj00#K>?hx1On1Pdp?%0&qd~0t94E5k*ce2WNr+>x2N7~ zq1Yk>L4_o$ePOAvPEjWiwG;w7ENY?e=eh#_PMg=yXo3` z^8cTWad9%h;kR~>tctbyJHIi@9WVUPmFnAiLH1p(80#;ji^_i@IAXfHh01?^n_R-3 zVR&@+@UihG)=(&%IUH_HhOHOahu#VmC2X`$Kl6?bvW0LBa1)0bfH_PysW zI_8sf7qW=?$xj~7U(6%}(0bsKLny4btGgvlL5>wI%%_m=@U>wNBWKcU%{4+7U&V}G zhSL0?RxgRGr%SeDLQymrZ)dG`mwm;lP&aV`@vsCY<^Zde%HaO?p>k%4B7#B$pnloT zB$#s?{Z{mYXo>D!SIK z6CAZ#1kQ%4#q9*A5ZexLSmi3BL5&c}H+jCX*O zg^krG4_1h$I$Usvp$?;N6hCfe=89zU;th>r0M`!nQn!4H4jT3 zgY&P)Y%AHkARL#SN!0bTz9HIEzMb3Zr|ZVNMt4y*a0=s6F8dLL|oc>l5KkJm1IbKfiZnmwmm5%Ccs3C zQkhT+Se-it9_Y`TR|%E|w!UjEe<*w9enmGoUXj&}a8?MfY7=B=N}cw7VfeR5*Ru8s z*ob6gX#s2l#PSRs-9beqPVu`-DHeMQL*sE7{Zv_@UF6)M%gi z511~uoJ{IvFUqx^CR0ab_(;7uv%S8GU^AQRNUAZtdF<&~vq_pm=fjy3e18oY$h%{d z5p=e2OkIUuZN$S6xx3XdSjhQi(QWXNN6bk-jqD~6a^q_%WQGz|>1zwJjz zG)1Z+l&E&5)_M#f{$@b_7n&J7HHpdcPTYl=PJ?4m+QpsuhF#_~cBc*U7BlrZb z1yt2ZqtlS^rpUw(22I3^nN0=>sakBo21Gkgjo`}wK>A3MAPg-El|Z+0J8zbDv+LVq zfgi9gjxaa$qEtWF&hw~*e_c){P{QBdof=gK zvr-G5t=m?R1q=>uhGoQ9)_V~9!vTSdNDb9MvO z!CNIO4U5{t`oYtEr_cY|OX8)}@nv1&`^U=d$t_QUmFT#*4R`^gVgIAC1i2SDs61gP z$%bh7e8(Vh=KLGvjQTiQxMqjj@a#h)GGoB+(@4f6w25Z1$66kPj2kC7$Lv!g^o{$c zk?Zk_w772+74R^bwj;+xl$l95Hs7s{jE+mbiohwP4#yVXLMS1#pX3`Ak|bo{P~ea$Lh$bF77<;lu)_ch8!RF4djvPmS91llKHJoHR9GrwE__ zfTqe08fx81n_=(y{mNg6r>nB))+4|Hq4`X7fY5I37OKgX(oW@Nl4h-9`N+a4D89_r zGFU;&WcP=jkbe+6QvH>WHF>$<+~(*Cy0FOdoR;X8y%2~_F}ws=1hP*~|Gpp}bb0?4 zLtY7lVH&Er6u#(sWVjTD@A~Jq1wUHC6}!5t06n+9=YTa?_qH3XXDM7F9Khg$&$gg^CLIPpmyegepa7RHwZvi5fY(FE=&@4{S{zFNX zL+xH|Zf^dj{hmc%liw=#*nrRes-D_bOY2+B_BUkbe6IkAU($S5VA*hLWp-G(_B1cEax( zsO>eiSMKumZa%%`=d`o06(&Q1-5lX(!L!|nXM3ZXysKK3stn!RKD6)62~haUE*Y-y zE0#{>|0{X&u@&z*!WIvws9@u8*_Th7uNv`OZX@>RB6*KHs@T+-6FO@=gC&Z*T9z?+Ii`R#1?0 z@c-o*{W4CxSS{Ih$Y0&I^%EI6F3>`iKi4M|?0&53>p6)L92BuA!!&YD@~#o`{u$da z!B%iSgLQon3JTz}?Hv#xC7XS}zdw?fpYJ4?1?G<^Dq@io7tdR#}?4IT%MoXG&MCLqudlxt7~cwx3^!fOiWDtkEcFh{HO2c`0d%Y z@%go}-VYyav?^nqX-~NupIp7v-SFELWA@)v`1;146r@vHdNK|{D_sFxC39c@!=^=k zl}pf0HnY9+X}NxOV^(%1v@aBx%wIOGJ#}ymlN%aTJ^}SvNqpTjl;Xa6~D}LnDZEh0edTk%WLU4P8rWAxV ztL2#{Z1B3E(6Np`EhlpAENyi1ed_t{m+e{O|40LX>m|&3N<8|{m1=7E5VyC&$SX0F zl&vk^0uQ(T(UUXrW++w5mx5<`aD5V?+?XY@^Q9>BE$r(`K99y{*WW3Iw2&{{KZ$8k z=mO*er=pVc*%xRXN?JO<(e(=C{6o={rh0{Uh;nVbF$3}zNZV?^JTO?=37V%h#z|3+ z{qw&{O4fRkj#dA-^h@2tBJZk6kb6H?-P|g_g%x7 ztbT#-aWw_k%?5|Vg48qt7TK`Akxl;bR~})ZmRtVg+jna%5>1O$^@uxX54RQ*N9d|S z)6YGdVDw&oy}-xOz1=~*Vo8njj*cB>i`M~-4@4+0E7Ex=@!QO5qTn7<^rOKu&P{c@ zAZu=D>bAR4k}6Wi7vhuQaXBjoJ7z>cpP%_tmttbBN8b)_8&H94T2f!K*&Q@MxtLX* zbDlj!x0!!;nPwkV2$CAjz}#nrK3E+SF_PmH@}oTP$f2pCF>)xyg3xd<(LgbzVIdgr z?(P;lj9m?=W5q*06OU4`}le?GS zRVM$5r)ji-<054|8HZj#iX@oeMa^tU(Y)gZ!)L2&M-jzZLx?bql3*63>Sd8t-=TMS z!tb}3&{Zua-CweFM1s2!NsH*h^slNY7Y;>sVAr}-yBejsdKLO3{)`|wZc4>+Jq74$ zsrXsi!G+r0#GASp2=mY`?9au!Ip-$myPwc`#~*v1FF43Sc##|cU3lBAY0*#8c}u&N zJyrFEX5J@*i(QR*6Ord>1MiBamtW4A1YFa}_Igc-gcVDM?8b-G3iv_4ntMe*AyT?*Rw=PhUb0plS=VIp#7x z<;VE&2c@g_rJl8)PLW}wTAVmC8Tudwc(}*XP5@EJbQ*&&dN!O6T%4!V^vlA3Q8}GDCFeeLrbDy^Ey{XJRMmIyS`i)#9k+2C>L=OkmJ$N=6#w>D*V2$W zy}MaS1f~DZsv9L@;uSbVYZL5Z0*|$^NvH)AGgHq7ue}?!Lbs^?lyV&AUOz`1^^Jl5 z=$d5ovNiJ>O@iwFZLF zNgI3n*w)t8xjO34(2wcq+Gb|-xF^a-2L~*)fC2xn#YJ_6w{JQ1U%qsIWou&-Gb=oR z15pGT`y~}g2??nRgZ%oeQfun#z6K!jgmr6o*CRN@wiPI$Dv61SQjHx0B}a7o1OAId z(ARbh37dI&^zhw!AbGLB2{87zAg~J9-=O->$Hlhu?Af!}?X8THgSohie3s97IXMvt zSBSH-o>hiNkEVKi75gR%GGXFkVitqps`6PDv@p~Wt-?(jkLSR57T+8vFA_5c&TlaC zq9O8m@p1afia!IR$<4#I-Eai=Umb^1L+5+&l4>2EOj5?#Q>`~^8? zUJvM@@(IvPL;!gs2jX)oqMx#|vx|VAN)l-o7?@jKUA<Y%9oaAE8W{MTjEs!6 z9ST*v&B(x_tjN#LxA*a(Vixts!bU?y)78}tn5@YgJfWj(ZEN$(CaqswSfJUhC@2WU zi0F$N+WXqKCV+}2FwXQ*o}oed5Bsq{Y>PSEgC#d&xV zQDn>w4H@~|sw6X7PglIREbuWRsObFkmb*zDRL+lbTdaRz2RS`0Ky59!GTR)izC5& zOR_~G=xawb5ZSvut)`Pimw@nsc1)=Qqe-=(H+}rkm&gs3^uo!vXz8)l!xF z57G{oa?6N#UItFYl%R(NB%(QXZz-^1oBiQ`k~(8iaPXy&hb}{Eh2T=X>A-Boc64<# ziESv{MF(6Kq9w6cdTa_+cTDT*Z@(Vuk;*t#DQ->(rrmL>ZI&zcN~N(oCTIwYdB_@zGA zfJ;~EBzi|A%*#T54UiJq1+n;UMKU1MDI0wrlae#1KrFN4&YaZoGJ4xKwYA2d7LAi) z^Ow1^0FE*nbe$30!Zg{W37BbkO5_56WsLyFX(VW<9)?ySVt)+{1mI0G1Ad>E0jD;e z%r>>eJ%633Pg=y|rZG8_Vw(hLkuOOi0+3H7N%o#p$syc-r?RnzU`zdnOYI2hhw@8S<9xI?%z zWV%N@YOxPHw&EwZroHUHZUWgaRVM&2JzTJd_Z)r=CnegAXmK?oFvn)ER2CG*Gf8nCDD*`?h7UBJ7N zoAeZ6hL6Nb$(&U*52hl$l&Mz50ry|!-XhphF%FXP`&Mo?=x8@6X`^l#SnYbriPHvl zkx{nCZ_Cu&{++ycl)TMB{crmG9&L%|RJ*fe> zcD##`s)QdMi{ca%i-zL&$%CP_rU%e{PJ-q+-OqRZv`#?b1ULa<9;Y2~fr3OcPCMqJ zqXKoN@+UTE9FVpi^x(U|#*Mk1%V!F^6^k~mF@w@aZag5j@d%V?PIIGLD7BMlk<*Mh z+;h`sMKaGJ;WiVVlec=QdoB8~v+9fGfIXXuh=yZnM{+Q56`3O0rjEpZLyBd;77L>3 zN3z3EMm!P+RcKk_c_#yQgf5;-o(-|^O!)3JU;~uJ!?L0zn&lObE`O6(WyimCwHjPE zTh>blAmhk`b z(D2`H!j}Fcf2f`O?t@RmCQFJPm5FQU!}h$fz#CTYO&}H&a`uC7Lj8tzHh@-Pi@;vW zV(cA2NUuLs{okW){oGwL!^@)DN;=%q^c}zhZ%-M7S_RqVx|OUUfV04Q=WH75CadLZ zpzU}_O8#0`&SY!HwPp@Fgv3b^^d}pJWIxWBF94QhULNpbE{a%By=E;ji#+?z=eH-@ ze8KYpA_ww^fK8ys;!n?;K&PsH8sI>5_Pe9KKH9pm#Q}WBl&*u+v<0?`Z`+$9%y6!q z6(l%l)p~@;w|l?dz#jg(uw2;Y?-d`K$g;SV>I#%uvReG*k14Z^_XSdhlPo|iTNi(r zs}7RbX?nw2Un=#KtAk(@7FOZg`*yW&OS$*nqr^f9PGw$f`ezen4Q#7dOvR=D5AWgxHdkP^P^#6 zbAd(8W^?F&0)CnfB?y@UoTT0z)c-)uutbV-IF*}VjaD3Lb<2S_kxH!8< zu5Cx=m760B5wV`Uu1kMkdjdaAz((KF(0KD?C7mK~(PP0mXtA>H=m|ewh0qjA&+YE{ zEzCUBHZJgSSkGt6Ye3#%jX_VYz`rEPVErM1mRap&iT!MYL@)#qZPCp<@;O85Gz5<3 zW=QegFF!_kBdAi0a*+gEZ>eS?tqE6A)P)>h5mlz`a>1db*p6ZfZR^mMp9+`V@SI6X zd?(X7!1mWrwKUzs3t2F_L=8^=7iO!Feu2eO;y7O|RZX^uVD?Aa$Jr~iWmU2(*iEd>~ z9tcq7Wuoy4U&ztevIOteodvST7Ite<`cZ!-u<)J4T=BUd z?4>l)@Ch)=+^HIz>j7JXdb9b~leZasq!2XZQ!1ohonprZv&bYUzsCxL9z zs2ouk__RI=&l_j3BBXZk>9^d4kCwd_18~1+Jk-acS>65wZNR3?3+sx@@2Zz!r5NW$ z-ox!~lYoXqSS$G4FIJgtO#P>{NR+=#*|9UgS@<>CEcni4Fim8o4px(GzXb1uZ+CoB zxNi4tJL(8*yzOx885U!2RWDPX(%`l(TVdX*U;f)@WV@_O63WicYw$*@lnUxhJ-oT? zvYOBl!IpriZfak>GtYa6VMeZl&1xLC+j5X08r7dJm7x^)jgjmuSe%2!e+JMr%whDuqXCg~UC>hzuSZE{lcxbwAO8{aOnjfa z{36=%OgJ2p>~}bhN#D)ZLo%Ui=}<^BrEe^Mh&i z{oCMGjtj1N=Rw0e4-5=WSnelUCU$KP&aF1JW>JJ%Qnaw@{KT&Q#kbVJFU3>J`>QR` z-?BDz2c8Ya?X6ZApVjI!CoLYg*L*v)<{w*7Q4mJRFv%%Qkuvw4fRhz&tDqN6pSly2 zT>J269&o_!9e7-{zC$DNN9^do zz~y(vpsjm$fA5=;)Xh(VMS0dBZmpM4slG+JQ^Il4HPXZ1skbO7d~#&7wr07XLk(SG zAQ{rQ_^^91`mN;T4Fjxal9iQyOc%k^OdNfaRO+|S0E_F~`;vX;2*O+FkUD5J`gnav z1LmPF)W{@vYQC4Dm2PCaiNJ39wmA_AO0acL_>$Km@RfIbsWE$5dPG0c6ZqXWq)fLcCi4OQ zm>G{*H1AQuF=d>fh&2xJgs2r!STx{1tZqthvM{o`^1A2=*7<7%Yh(U1BF{(7`5lAx ziZ?cI@$j57zdhu|LUJJQE)SZ)rz}!&hEIzp$)MyvhfouwGx9Uk=t|aP#Nu3g)u%S z6zvY-PNd|HW~zs?audRBI-5Q=FIYRs)_ zWTM=+0`lJx-xY@+Sh!!rky_c3u>R%f_t7;FA1-4NR@i?QetAQI*W3>Nv3Ekgsq_(~ zg!Ke7zP9M=uwyCff?U5s0AaYyQ#wCNkKcTP^2^ZnK?0)CZV&UYDG9R=7*v$wqvE9M zHU(0arSN)7XJJP_%DL_FxKtAcEU3`q`^8{{iyw{PQlEn-?{C_?^*68G#<_nqw$oBe znvDKF8I;p$54C0StTUO8%}J4(&fafY%Fe#Pdwf<9^2P?Q#&6sqCh!fit%I6|A7nD^ z17TSu8&Wf?wwr^Es`+IZK0@fc+KD)PjMMAmxd=PUoyPwjV6oqN@2L60_>aXqZtET^ z-{PQfwJ-YhaT)oB+M!c7`HJ{;8gPH@^VI->NKhcOI0++^-us!6?5e8g=*J)%21<9l zBU)|U_q6Y|1B92@v|k41$K2{gfCmmq0$5v73*-Yc5~K1pf^Ezfs-wmO?hefJ8z*+T zn1p?|SQzF%sPlEy6RrzEG9x}uFj|G4ny6xA>;gM_rx>k(4YF7hIbnW|x6=>E@R?UB z`)^~;Gce_>H~yU}jMBZy+`MU-V2#>>wvS$AZ+6*K^B8BxbO4U6o!2MiQ$Y!L*06dU zR4jN&CsXAsZmrUvhfs&=)rXWoy3gc@ha+5^5u&^5tq0oet^*NqvEW$~!fW$JnE#N- z)35SX575M4z!+J6&wcA7@mtOUMc`AKy`x;8UH4pBUkbyqc>Ij}0PJ?*5m+az49hxi zS_U8S9&U*1#?#v4%5gy|Xp*_zVsk31r#O^?Dm{SBb`qlT&o{p z$ng}xD*EAVL+Is;Fe8jCH4LgeaqB@cfk=;gAX#jwcn5bu)Tyeb^fF%{&mGuJ|E?_= zA}T^dDP+A%sol-QCS+1MO62S$*r)G>y;U;z4c4N7{%0cm=Vjh`Ym{atP)ct*rffZ- z{)hXM+5U#1?UBuq@{dlu108FdK+nJ6Ukz_0a)J8Ld7lf&x7ZlxQo}hpqh1CbCA_nO zjJvwvCcl8@-{|NVR6VS42)w;}f_Qb8tNB#UA`;cAgo?LUnooMAT;Xu!IZ~*q{l^3= zsRdmSAKKoF9sdqZOZ~NZs66iwV)UDk-WDZM0XAWOs%SmkA=@;){}ji4plqaUMcG^?LEhe2qjW@1+z$Z@NZw;iDt|g z2~CZqvX}bfw|#a-?#DzH*D^b<@zHTMuzK>FUjE6O%iD{;Z?-%LugnR2j;QmWhpvAN zt)VnK2@MNclRO#}cM@%LnlXa^vSVUHlY2dYypu08{dTiOK&L$(Lzj@)grxz>r!>I!hJ&twFM=Yt_742$@eLlg9jmCY6%fE!Ukk;#`v|p@^c`gopH&z&u zU2Wef$Bb-KT=zB24R=Df(Mp9Q=7 zlVZL6av6R3J`5WImU7%FUj6g$%^YhJ z=GX_s4UY_IwpVl>Lb>)==W6!(JSC`8`VKq|;+w6_Mioo|X?DKt*6!5f+e3QU#u)Sg zwU8UQAXxe(Z()4%N%F&~EIp6>(P|d!I|zvb0a>^pa_FwcM4tiEZE=5;oNq{BCU-sY zzdxoi3Q=18*!;%$>d2(&r)9Gx3R6&w_RBwS@@fby76RTupC7b+mNA0@#8~b~k3#AC zit5(5^$H{`;eXVcHTfQRA{?$-5Rgi-IlT1@+O$*_Lq4=+rHUbop&I< zBem%8Arl#i>BQNXO&KM)PCvMq7@B+H2=l6;v;_qbG8ud!$0p&mx!q~u;~4=aZ%zux z^ivIG8Z@-lMd!A}%(^=y;MIX{5T|vqiFc}=;%r^~{H6bloh@1lj-b0^iELc-kITaU z0XFN}ow=hgt%=BwS`Vsg_1qz2ZQGS+KzNgw_Ugi*%%y<#R^{)8HJE;8Hle&;ATSfN zzIJm&btwIL?9j+w@=t+<2pZ}KUr+oc#}apw#4kS&`6SDP;AUH02EQ;Yb~{-ed1kE` z{=8C_z11VQVinD}R2PEIMRze0(Ha(&x37_MRqn)ed zMyk*h1P=B2Eo$Qao&ff=*;K0|%nzp~C-~44{MQ0OC6=nP1W`Ay|4dD)jUbiIl)n7C z5ADlT7Tt}HT=Ewvr7ozszA)=V$D-6KM&P*wBNhqImu0Q7m@oQ@rUTpdI!B8k%k4oh zGvAw^`4eju$8@7;v*X;9PO}}*$&W1=erF@H)mug~AK90#BLjTma4bb@4|9-xnM0+d zhDc@HW4)~F9JAZj@vtF4`(k>?B4sUk+DB%+6(ylW!~FK^q}OKRlS!}sx~e3uFUb^Y zI4V=5FQLTB9x7j+mooEo+n^T25L!o_Bguw`$Z$a1Tu33~+Q|c@Zy6ns(}{ZlB~1-< zZa-CKj>UPi(6XDixN`Qf2?Q>$2;33Mw@-&GWRfn2xkmVm`36^t+?2{X>eh_6b~w1S zP5rNr0`EHSe*c|`$UL@9RNWfbcl7DTq^e);&Y6@FLzKf*@{tO4doD&I269nV(@$l% zJNLOAkwNCK*w-w69712cgdQg;iFGMg$zDFRkl^UJo%qigxl7egi-~8x)Knf8u{V+R z`Pfcy-IjB1aTn|tTnXhh@s^;UsE{TY?D$&uBWJ0-XNx98YF|5d_H*V5T^B>#x)!vpxY4Mlks^#Wx*7Zwwy3 zCR(1{4+h^3o<`(2ez-vdKO7I%HLe4&=9iNbg>)q&Db7l5tt0iQgVZvrVT4ogut4sC zo@c0Us8AT}#WpVQ7Oc}}dCXn< z1MBiBj?Vn)UAOoq*DJa_Rm&GZ1qo-J2@8CBjZ%D2qS zC!*+=A8gxv&%_RkP;PmGzJrQD9#AakSLy?+jH zl`2{2uK&FGW!mHp4$k+Y2$3O8GBitTR@N|5HjI6r+q`gHcV^lWl2^FPDR(!B6=Udk z*_l-qkmrCx6DfKEwQ5C^eft39F-`)OA{vF6od+fcW#(W4ETIWYZ^QslA~ya8J*x!a ziB;<>J4dyfQnPY9lIgHk-a7iyJf6KoT4A6si$q9Wg|Y{ygsXGFYtMj;;Tp`S>sxdB zBTU13r}EfzCJj7N%dnW&oLGm${y_jl-l|MW!Dg0jM)mJSXWwaumm%GQ=^!L)K7;l;6aDo`FCjK*xRr{-L z#kL3kGDp7l=dEnYCu91~Km^o2&nl7l7ATJngW{Al`32XcH+;hml3nbm`Up^R_#_PN zkv)vca4DSOU)O+yL6A3+_Ke^!D$+Y8o_LT%50c+cthubBNWxnpzjpVtXrtDL9wC^q3iGT7r0b5*weTpnDRe>c6~*g!}x^ zTul7m6ENuOkAy4}^2a~o9_qQGEwuE4Q6}cBM zt}VD@TaljOgR;J`MUk+HX65#l`W-F$1%u%M3~~Qb_Eaue?g#ZLn)MR+%sGw4$Cc4a zK$?}$yIbL04^{p`PzXgwrJaHL9X3@hwPe`I>8nKku26wqi^@3cEf{@>+HX1j#StMH z@b9%R+0Glowx`fXZha&?Hf_jxK`mh^?FFA!UwuuejndV+Z#kl~HGGJ;4bZT#X!Ya+ z#Xu#)HfZtXgxF@nLQ|nb{Xe|pllGiXKe-P%Bbq>0+3SDnCY{%jz-xlFd~jn1;H<&J zZ!`1aO(^`ydhhh?c)&-OSrf7&Blu5)&NGV1%nSJZRqgmu+Mv{qfWTIZ7C3wnlu#%W zA3A#{8^8TeXWn%5`{Z&GE;RpjEKqY&{6U`t+c(PpD2|u^u``>_n6KhFDjh)Y=V`y{ z=cCuCV%+Hc$6>{%qYopv-t*b_=e1fX2pRnS@)=FWTI-VY|Mhw^o=qM`8BO&K)K~!| z)3>?x{>b1jmB(RMw=VqSn}#+j+UH2AM855c(~6C=T@o*;{EnL2QU%NkrZ|Q7YgZ^0 zo$Ru+v1@sQyOb%qg3a8}aI8zV$P!co-0y#p4`9U+EqYUQ? zuG%>1Z9V9ReM}N2LJ#W&KA69dI(#(CCVHWSUO~u6uAMn4WD_{)V<}#m0yZG8&>R|)o=dfvyp~~z0 z4h;d)$P=cNE%h9Ahr`}s1rgw1J|F)&NgW9u?~OM*FYNG2X*OJ(Ik_M(K$2M(T^=r7 zU~4W~L1$@)?8>jhVIrur?pW{yyM2lc#|)+W`V+v{C|fF!_U|sBAb9KI+e_|&NAAF+n(`;*;`c@g_-cs{=2=oi~r)HRQ4fPJfFRR9UKgeMfk4y zC&hEFJ>nd*ZuDA~oQXmn;v`S;?(8Ic1|asNJ=3)f05Q7#^WhVueo$~h6r_yv)V}f! z$#CsKbj%a31@>m25^8?&WY-TNiVzBo@o;;l_$!X)3EZD_$ucDK8_0y?c5JIMxF5bt zz$Wd_JPe~k(|W#ub^LZODUWs+Q~av;@GAc&8@%`))hd&3g30*G9*~Pp8l;(x$)J9- z8hKh7XZE{luYZ=4$g-Fu{_Vovg8@dYy*?H@rVYMyD6UiIZRrcprS{qpSQRw?ZcZ{= zoGhf$=#q*$u3d$RSo-vMQ1$_zgeP;=Shk7Mk|9TduISoa$+(q{isS~=2ycPydtM5= z1sq+jdd-;Y&_(2rAYI8b$K_SKTIjgl6m-zEG4J$E z*shCFC&soN^BuiCdyZ=u>W36{GotCfE#~z#&PtQj`O?F80oF1oR(vIP?#^!e+{Sj700NeU^Ls;HwlAx{ZxTKG1~ zX_9v%eDivW=r1_vn-5x?fpfE?b@F3p1~meF1o?cLa0UnGz5ej`Ro_@+_NvH1mH*Qu zu4ZNG4fvNv^K`{ka8H~0Rp7SEZ6dULROTzpcTH%nsq3odId!IVMxy-RQquLzUj(Sr zBr)V&s#VVLG98i$fs4mpVKLaqX6#~n&ih%Y+)}MdWL*2XUl!|OB6rHSAg7}`$;?p>>zIJgm1@LexFtX5qsvx~f6v{mMz{ZoFKYds>SS%s zb9scdi5qZ1%;m>RmrL*$v?%{c!VO^-!gaY1Q`f@xtn>d7sNtn?>;_1db-O zocmGWxe8GCZshx$&$mes@fT;y3n${`@5u^h%@r3sB@(_!9Sum;aDNhV{smH}9s@C+ zBvkOTzA(Y-kQDiB*(?oY$=uRCoe+w-(%k0}bB-F9&g-;LyZX|_lD5kfZb>0>LT&?Q zN*L(*HqFb|Rcsx!6DX2)U)6b#IO^_nn>_XO4q}6gg%AI|u{9B`+rLEU z92z5}XII`K94~6e57Y8*%JZ%0-uzuG85ARS{OW_X)FO8IJ5U08xYICxb6|$r+X9Nf zrIv+DH_0s~vs9tDDYVm)PRMM8N}1zgyyZkub~B?KU`Y4%HS8lP8IsnW+PPF;6Z2d> z+c_~~q_5~fVHQL%^!VqIDrenQXo_u z%ZL{rbxG#Cf_PN*69$VZuYgFkxpr9xPD<9MQXIS+q1|*nG-d)Z_Q||@r;yvizUsn` z1j}1he$hsY-B!YZRNa4Zlt(0T!WFDonV$|Tw}q{5B1nw4ZVhwJ}Q_8w48 zr`@+Oy?3N2y(1k9MM`Lj3StF85CRCObWnO6A#|k0N|8uHK!Q?2 zKp;R!?vt7K9lh)Oe|O#MTI0-`r6Kv{Df{fb&)Mx|iZ@ST{eN4oLQ8ps> z8UIY_Tf0(~C&RL%HBI!I#e^&8E!^+1YWOvj+J>hYHduH*7&OaRuz#sFQBp#g9Dg#Q zbeMYbflr1<_fj~t!ST|gq{S~`|Iii z)OEGO*04?+mD5qY1ibBecoY}LcU%5Gjkps%;_O(pSaPO zX)!?^sLVFTsJA)K;pTcel0YwyH~QjvAj~NDYR&d`eyL3p`^a-fig9 zE9GO2u+Kb=_2YNr`QSV+BQEMAd6TcMQ%%`qn95?ps#A^FHSrnV)DSalUQmeZ*v@+A z@J2C{jx=LcvB}Dh%h2iAU17t?Rz?JvSOms9&*Vcg9x+7Iv9U)-mk7}FJ&!_I&}GQm z7Spk@F+?*l(FvSpyTm|uwwu%cb>zmZR$9X6$^7<>{U*;)uMpI7*hXD2DzB%YNM&h? zoi^9GrKds6jq3O$%YV48rR4zu`lS^#XmsC3fl={;ekNwG4Gj(LH;>!7dGzUCNvslb zf2zmJCurBaK+Tv+<%yyr6Ry>~-q9iYUFS5xejJ|`ub%E-NOWvo-=`dz3SU-}q3;G68ff!TUSEdTk9!rbU1GTOPff_B<`?d|?h1id9Z$EwbyRx}qf z)Tnd%n?*;d&4tOOLaR9|T@vFhbK(m*Sz%F>!kztt{}zr(f0d)h|S~9x6nco089qP%YV+vX!Bx zJ|qc_RjbLl%9;~;kDRg*)pxhT#ot7%P9G+bZhgZ!5*a+`)pFMNKczjMrAl7*N zJiTitaPQu+zqPpmhf6AYUyms-SHDrt8YaT5iPSzUke;62psuK-bWyk;xF}88VzT&_ zZK{-$Xmg!YQc^68T5jFBbHKpBVDK7_7|LRE{(N;?TS|3xbsBX{R8$oDg^{N}@s~jU zgt@u7_+ze4-!UR}+R9+}u2#$)=^JhuG!k&*sZRilQIU)0>JuXs9pckeqEOV`W63f!!Sr?hu|y7gPyJ;X2L{E4<7Ppw9& zAxa%ap~PGbILVeFhV%2CNSWBZV(x7P_2K6Z?@?e=OC1nvXpaoR&EdB+tGQBI`WiE} zC1typ+wOsx#&*S1GcybM(@pK|C$o~YWTMq|LEnv*v2j7C0V`OyV0f&n0)vy2Q`KXc zq4nL}2NVjtLA}Z%w&d@}*w)r&VPtWyaE#U|($?N?y3r|->i=RzfMuQNy0o$pm1#n^ z{XH(C{FXuQY)Em}Kt*9sRJMXEE7HSsQe@#~lYO}+P6?K-I(ng$)TTGUFG5>VQy2`Z z6%sWzR{YcAkvzRBKlC( z&hvNo3frn=KT>pu9ik@PneV)#fl)O=v>+=(v1hk13`Hj1b=b@6svEv7_or%T$U+TEj z{f^`cwS4nkpKFVp$N1<|8$)dV`T2DHQRlNEU#c4irDQv|(r-(XzLa*$LMu@2I*5aVw^CI9CIhDAiFMrYt@o!h}J`?F-{tSGbq zi`8}I7J>2O73t}UvHD|6KS{YwGw8E-FMLie^F9S{FIvnK)jS;Kklo<>_p2bm%y-@E zAS}Zf0;ZE2Mecqk5q@lh66ZF=F@)Ql69I)*qU00rpFg~;@) z9!aYS6(?lxeM!yYDvT%}EBvYWVyfumghixIWy4d5)F7s^Lf==vQ0Bpo z9%TE00#5=pqf`8o$%W^(!QWtcRPXxH+!D{&>WU{zdc6m@%+chgpT&b@q6wvL2;+Yu zYUA&}9}RMQd|E)pO*@4+XSqk&ZzW<_$0~{2Ie|rvvbBBq^40B01+MJn(+CF^m6una zEU9ySq33_P8MIZ(ikYbY*^+@-(%EU{9HOc|(TWBOu^yyaG=h)YF!%QlSOX97+{7Gf z#{~Gb^7H50gH$6&I7UiUb!(}mr}`*g%7+6N>U+<9VO)sYd{%rJ_m}@%zc=Ld`9bnG zm8iGDnugR$r*1khA^fv3oIGg^BfZb|xb^o-qaCQ)v;S-(W695rV9gXjCaN39AjL7z zw?!v9R9ZxTKHm*_@J8gCxZ~v$zn(>W`Nj2NXU%12lW?~^JPTqO+UE%fO)buU9_0lH zOoy_E+)?ln6?JK59UX{d_}S=k(_2&VTwfMX8bR$>LFka#4td`w+a;2b1?bA3j7;FKrXJ9GEH=Z@o3{<^iB*uF>i=Z084HJ3;{_uIZ+LiAr>Bg@s5>@jX@F7h>1YdC{t9*w7$;{}={!0| zw9*Up;Y#+#gMbE4aie?3Rs*Z?V-s5ijb13p3RX@LjrrYhN#PBq{{~Ue{$2c&@hkP5 z8*I-I4m19`N8d;-yucibSjy$Qrn5f3&K9J_&q~=i5t8@a| zpK>s4sl2gC5k}d;=S`#y)OZX(%mo7y(lN8z==TF8;+(e6q?UnYikL2sc_L3=-K|e< zREb^?Xo;E=6B5FXGw|1PunL!tMp=rfs$#MOIYxjMexV0L|V6qVAX-84Iv8WHun(|2+s z5DOeR>d2{JK#s4ENQ2G zC1%)@t#zG^vL}p6=vycDWGBteO)J|GlerWQJl1rPEWcK71`+{2{B=(3O34NK1(3Iu zcJ6>lNQjOq5At)xbur-DF|Gi_0L^xHbG+=SLPAw9B=Z2@c~4Kp5)g_};@GJ1^Ya_V zp49zst)X#d&-o_qgEOPZvC*%@rPFu>*OyEL!nU}K3ZDtBzGsb_p( z@b5#&P_cdc@|SX1=ZXvHupmz#qXk^_A{Oz_B84H^jN);uPB5ydo}@b0vb@ji zJfnsCDftDXh^aG`&ld+GLFEWTYhsm6{vxrO$uk)Tr zt9*Kk`GJLO4kXHWq~dz3eKk_&eIO8J1LmZ_*VGSYqCEiryVzqmTgxD18L4?|xD|Bc)~@`)q2ssLj!&@n1pi(S z{D%=t40c$LT<8obTafhT#voDE&@Kj1zd=Wq*Dj3;^i{GZZKL-T73@72FE{u&T&Z+6YEY+NA9^b^8C)4S z*Ke(YMZQxiOmVaMZvcWtyzXDGe(4dD7V-DM`m_6TZLjlPl2q!|S)^MtY0L2OO=bp8 zAGg9pr*zh)WWl?^-dy@tFj&=Boi^$Gi-)~O(b_a52ki z`u2EPl4@n!qqy7+t+KOKk$WNFJYfQ{8Yi8#=)0=NS*y>m1Rm|0v_oD!v1TtMqg$2( z4f6}PEx&d=2LzkVeL4^EC}k+5d+Wt{)og$PnAn0<`ZeUdX%i z@k|pSmifIums~7k07Vp6gXAf2qD`hf(dEF!uu7VM1HiCU4c!?Pb?ny1_<@?UTK9e} z#&{KkCqyv%c%*#`%;YQL{obvs| zau!3EpBQi%+Pf%FF0FmAlyU{pG-T!; zAds_%a8PUJ@_8fXvEiRgCo|Z#)tW=!>|@k4&%ER)ZWq0g0g2Q~f3d#$@qJx&9F$7;1DW_K9+22ODc zSZ&7RfbwnxGThbXpHy;zu$M$b?g|-)9QAPE0-OcO(`F#s=mOZBq`S3hpB^8+9ANl& zZAU9ML7^pvhpV{vz_dH|EA_W+X_x$D-7Udvb;krS$Db1%#Vpkl zL~!BpF9BOqHyGB#UOG6ON(G@P*dMP8S^Ur55Q|3}f-#NIKIay2X?NXjcN!RZdh|nk zL?|C#!Z1wh!I6v13@cRO+vJ;hqz^fy=VV1b(lQ^4feC$v^}0S2wK+emH~%GM>R~!z zoWEXQ&xu^;CQxY3(MjOXWW!}E*Dx_O&{uH>4eP!9WMjZRaXnNbN9#Q}Km+93otlFN zhlb9UsF*EB6*(-F*p}KgryU*BV;p^UoYAuW_LqlTBWd&4yY8GU6){PIYQw!RV?jdD zfM<;4gwNT3Zy5dzTK)`hWbaRK}T?RK+?;Nk(W+oUojywOHb$=7`ZW`*>D^x5bFR^YjCrg63Z*ST{+CD z3Pox&;3{9G4sMV^vSt?*cbms)FeEcw zs%qP(DKaX;S~&)(X}GAkCBy-r*6h};TMhklY3(myVyte5 z6{EhD1u^cKJ_Y$y=Kt>GmrXS)jc*JeJZtcsjr{mbw1a9)N|a;rsX0uD2W*VVI}Rm%lOrCn}VksUgYF;~^>1P8+L9KO%kOY4K#r zFv#x;B>!~rvuAlXKCoGKt)3$<@g4he<}vqvF3|>ls6ZFdO^8peEB1@1efV>qshX-3 zD@6|2uMd`3O=q7e;Psy>jNq#RDso)r?^2>XLMQ zXX++uz0RWpdVo&^N(Y`=0-6kxHl!N}<<9LVf`UJuQIgTsY+GZPyq8n_LHRH1r?J4` z&*)={u5vX;gBJ;zbIXw5ZC;>=L^;<{bAOS#a(d$tR;Q}MgV0VpHqur1!y0m;xkLGt zZ-|T(K1`N+@a~~j$DO!#uWDaqc!spyrJEq+foNS0)Ea(Mv;(!}_3 zVMqcnU<_arjCDV~vB^K71um+-L@78MrRLGqk+q*+>s8e>RAs9)1@H$UaKonO{#h6ms%M9E zCcUGIyPR;A4;*2`W|`fW!C{*RT1&AB?E^!MU<5bM?aw7K_T*PDF2A;Eo*|-KOiqNZ zrhwX6D)rEDGe5KE4;7Sp%S~K;xis2;eQcV_bqXHNRu7yB#|LUi$t`Gy3Qt2Cjcv-z zunyg3mCo(ROFBd?^VB7`gunh>5T^qNe%659a%g4;CALul?mH}Zv^5Wu(`|+;bS_m_ zR(JE~mpEHZgx75MeMF*d3J8yZpH}qEkOiv%#pN&l z1w4XY-YK+(F&Y+PZ3d`mu`bE|y#v+T-@IXNh_mKt5%N$7+|wBkee>ouN+sZtLb1NnGR< zZMP`)b^EhPnAw{jikV?f1t`$c#oWIjC#b|VtbQHL8HH9VZN=b-wChflXAMRZNVUub zf0xqT!qtb39tha6K^5q5m~scx2^GpA`05m7 zE{vS3@2IF1*hS$%S+Kx6X{SrAS>sj|r&32dD6=)-TF;pnL_7+2+YoO?F| z5lzYb>mmxCliR+l$D|;hk+-sAE~0Tqd#r`nI0|hUOYF)IkstwEa&N)0u^LKfz0Jsd z=opv(2prs6onpzcB;(C-O=dExzALCsW))bUH zJ%ypams3$dEBO(AnDF3q&A+Rp#o$%&I0H!D*hR-hQW4HMJXaFy0EUJlNMWH2!_W%9Ocn>9%D zG$QBD(VQUF(6hTCAx_z0mA#@aV-@e+7nTBCZ z<5*(O&`nKEtxXC~UfVs=1tpV+S}6v;Uyrqc8K^}dnDSbmONQ)Iiy|6KJD>b?8n>sy zXDS83fWumPyFFSR$=qP+;w*!`_fK|X?7OtoN#-GQ*l=6XY3-CsrdZe?M+?92oti8y z-*wBAH#g-i*D;d+zwKqor#cFVD_H7KA;SV26YMUsHR+U`>2 z3)s$j5r}xZ2XlAm%XU-saEmE!i=Qtg*CoImN>P@CFmlESCo5nU=e%K4Zn! z7JHrd4*}fB>O{VPQ|EHJOMjI?2D`xCk{OSx38*d~G1F5_V{anKh(H7c`t{MuwLJN$bimIyuVa(g{X6${QWOro2Vqo+fb$WyHY);T7L-EX(F?%RA#C{* zxDLjaR(2ecJ=rXT0Q=xL{QV;iT;F+s96TTv?#`@ee8cIcqUSktk#-i7FtdHwLQJ+ z)rww_Il2ah0f+(Kg=JcZhJCG1G_5pDBT-7$Inm6V!qJ4MG}!hc-PjCNIw09I4uot* zs|(m0MH8(7g5+BQgPK+CZ$U?Lv}vPJwV_D5HqecnV;FuU%&=7EfJgCL$-ftV6N$gj z$3&xJw2;6QYvOm1v*KfPejVXC-*=Fwc;Iq2yQ|XElM@-T~tdUeBfffa+^w+gBv-ClNuuQ<`1*H5oZM#%de=?+4b>sG#$YQ^Fv` z;@-UzZpQ(EKnr*TH$s`1n%$~6{{2{c62q2?v{YK-BN9l41ldJ&AX(qof{J+56&(TK>^ zxBQdAX%7v?G;W@t6AW|^<$vPAze&8_aMEW4kzAOKBcA*hnOVs9*#bi0mE~LLCAw*@ zfPf9ip;Xy%Rw-CC=noe949bHm6;1~q$^Hr+l^0PQzDaGw&h71oN}Asy;)3nT7LKA8 zzQvPeOuA;(n9ws!{GsAg+qK_d{G!7}Rh+kiTSy@>P74+#dVP3m*zcceVexXU`fQA? zkSKr$U+Zo$HYhZK8SWomS&95wnHE7$zX33Zh5Haw#+B}IsjpP^$0XCxjb;o+DPojg zuRxtE2zNu7^oU~%?PY4=8@N@FD+f&<@05WM^&eP~3#FBmSbyINvX5FqR=#Ep$-PqH zvo0_^=o4uIc-UTK3?mVjtmy`p5?f*q?Zlq!$JTwaiF*mI054BZH^74c+#oR58n${D zIdH!2eoRu!GD}Sg8;@fSu}e-|dmzy_Lt~0g!@Ju!xz}))l%Yrb*G`A?%UG#Y?ZBj1ug1z?g#m~w zUL%?Z;u76)uV3AP{dsyE4$5Mq@rG6Bx&Xzkeec&zLoj24Rv!cEk1gX$Z*Bo7{U4KL z#(t>qT=?7L;H3kPsNrVftuZlL=>6oQkvq|c9|U+>`$45J z%O6i$R`$|jlRv1Z&5}_QGRfbar`uvIRQckaE=8x7I6lrVf@r5z4L=@Sc;VR8zV%%Y zMuu9Gt0Wvp=1T9!{PENfhyzI~Okl^}BO@YpQAEMh(rk{>dmY?Q`k+dE168W+blcZe ze<1k*htH+4F>6m;iOkg$5QN}rR4?hk!IZO$(*N7rD&EI1r2E6}$3%Mv^QB5b0R2PR zxM`ihFx8hd>Ag1+S*XPJ#0i=_ul-|ux@+^n8gVCo*##k0gReMic28x1mnBZQ2wFlATBnrAYIHOShk$=Yyi_<5-Z2$2tlukLU zT>))LfU`e-ENw49eBUV;^&lNA@JW&%)d&Y}hjp`6+DC;}6%kUQO0y9vy|5=e@$L&} zlXu{~5+b7tOES0xuIA*0xkLa`DSX1$Yl87Mv{fZO-Qe3(S%33`Y=D}56AWG(myY8 z{@DVB#I2}IVaQ_>a=ZW=Lxb{@KDuqupmH9Vj`?JkrK?o;cKcQ|&a4`e!51Eq!b9blrUMmhj@ z2I!@<;fRKQfc4sv`sj30mOsGRcwqo+@#?_2Q$Ano*e%n@D4}?pA(kT(WsQEe77)~OH1FTJN5fu<&ik?_@nuJ@9RSE z)$M?rRNY%d{isEIK=}*!xk8mB1Ckfmb}8&Suf?{$Ay8F_X1&J}f}hrM>J0lE1-XS9 zN$B~kdF-hju&$GNjY)JM+IXNXd}9sFRd?-8?Eqvpu|!UT}}|p}=IK zlngn`SbX<6%73(`K0ruS-*_j`>*m%2_`o%A>AC(|{6Hdapomjmg;T`9N@mm(@W8EQ ztLlk|)}Q?$HT@zq{60J8LA8M{ejbRnoGD3-`Fn{Rs_c&G3nH$BD}Uf%5}xce=53bb z4G>ZKxiA!{l2?p4{QFpEy0IbVZ24vJwv?i$hd9z zb0O~hrNOHVF{+t-51t;wUK1icVhdT<>7?37dj^V!$nuBs&z{wtY=cQ`fjiIzW-EQ# zj{V?_gn#aLu>EMU=kUF046dwpjKM|B?;iD1eKe@apM#Q{b_ZN*@Oj6?r@G=Fx`P)h zWvLQ~?$dOrkq0+(97xrUO$V|^2+zQccU&Grk4?X|+`ahPMxwVsZd!|mR`9D}LxnkS zE=?plfCDh+7=OCL5x_w+fn;ej{8;|QYPXZ34M|x2--ixBgGr`)oo7-D1(o1Pg(IX` zdO%97?F%h8ONa%~?|ZKwSL!bbJtCN5)MwfJy=3JMhP`FAGu>SE!1| z;nL~EI1PA*Ae*d4X4m#*w&pU9v=UTU06S~KK*IH!*lIZcIHT;H6w*Zz$Te#mE2nX| zNt2A!G^!Ku4a!$5#8bY#LRrM>CDCPvA>AXpS(^eS9e+r7cF$_L=`KCZLCVM4x3zWx zat$$Dp3Ke!Z|4+Ni+07CWU1I|1qGdT9Yrp1=(OB2rqhu)t7M<;;~e;jUmqFW1-LBK&2}ZF$zc0jPos#3&p)cJn=5vujp# z8xS!M1_9JBNt$O(rv{f?Z`BzAEbl`xtClrDl`U7CA^v`6-JJ@r*ZK5`Kk(0VKh?B1 z(B7jl8ZCaHij>r#HCTP__LEsCz0dlwP`Bo!Yu4L&KGos@`{J?{MzKrm&q>RnE&;u} zzb*qXKJ-MB7p1cju4}}qdO$BQ-F+!;u6+#1Dt@>DUom9;!jP@%8rbuQN$!2Xm-Ct@ zaJ{=*^(CgXj88MXJ2*-B_tWYYtGpEc_XRq-f7ou||B-POaUs5ePKyo#l`$>Mf(CbxSkyv%!Tb*l8Xnv*L@A*>Ny{L?At`+*zq%0_bN z3O-QMj_LHVgnHk>Pk@K`jT+x|0`}t7x^i9W*lBq;-L540(~t>3GTCW60*H_*m2$=! z(R70;S7~503kXGy2(M)J$pDcUvyd(_do$^I4i`IcJ5ELjPbc6+j=45xIT4WCwChl_ zgA^P0eUI~QJ~%8-8v2+%#4s^r=O>kieE?Ey-R&%qE6k%`A<*4eRh1JQ zj3@m-3~ihgoD>sBjZyn$kqGK!X1tIgv`VZSj+y#S=2v|7-e0yp0Y{W_|nGSOV8F_~AlPyz&lG7g`rvZNZHT#np! zI3)Frxk`ZJc@CkwgP`Fy=;73xEY+|-iWBXG4*%rb`!!MSDB=k!^)(~P#6JZvk`_C4 zy5We&khG2*aK42@>*?Lu`9OVRAq#3s-ddmwYh{jrQ|};9E7`s2FV=dVd#UmJJLczi zb>!m#x{nPkVg;AzM24ENGif|Lw;G`^nZ$xVv)+zan&S%;k(<|ikeWl7M&B}qkL-R_ zV|>xnhv#+e^6F>bBRTdTAS_FPQqHczDQPrUH!gP(oLBcj0*R#l5PLTa}w;NXgN5XW?=@sFfsL|L2ua!a%>R z@wYyy6XYhy;sl$->qN=2GX*F~-67ofF%|dYr#BAW7yqbk)vXad99t#0z}93x>x6qv z6utWFxqV;bC23|WaHeo6^7s0UozK~rpY0fnHfHsqzJ2073^>r)Tg$@3yUUtTF9E z@iASEpm&Vs^hxh%Ged4(smiPttYyxW5Ub{VoJh(JH_dPp1zjCyKGt|x0TT=>xI2fA zzjzDI=O!@xjDIg&`M}U-vzM>8y2j6Db1{cuQ{jJpf|tUDp_s06@~@}*oG$LE3|^gtbn&4-Y5_a6wU z#(K|UsJX{(ttaEPZ+}(}Fm_g2WnVi~_2tO)Aqa>E8w7~|;8@=z`UQ402{au-paVRI zjwxgCx0Yzkx4mgIkogxszTyn~q%g4ogczm6`sP0AXa4UgJvVLAQzPL4(#S%_JTxK} z*m@)Zzj7R~hWBex#$q&w3(ccawN6LH+bjSUf-$NYdlT#y^yoTG^(BvS>!Rt7OgKlV zWAJ#$bO2tH4@RXC>Z%-J*UyPr(GV8jo-4*54-(TS0uBI1Slca zW2lr+#fxiS6<`Hr{Ue*aQpR~g2guiQZX(^)?dU(E?gCo0E7!W7>R3Y5Cxy$y$xH%l zPFv=mor8n6o7Dw0O0vAA3x)VYl-w}vOs9P4s@YtAh00Oo9r{1Yv?3Q)<=A~i3x zhWKi|C|9mlp&P+@e``4&H3ew7`|LRfNVh8UChbdLi2fb)A@rIxfR;Fjolb<7sGqy-xZ!b5#96`@SPy9ZYhkR za^*pYaD1G;}Lo}*%Eq6WTWLXo^J?B7`&(x8& z&2dL;2a~p`>-zjVX_SgoRq;CLaqSs^72*L6%TZC7!__tZ$w|)fY?T|mHW9jp?NYYi zZT4j5Tzw8oms`YHoF%M=zL}&G1x_diWB0E7$N5ZBk-Ybn6I(CHs19Q@55Q_-B{H9o zR-2BAKn$|xlp18z{(v~LZE^cxuXui;v+MurFPFA_1 zQ@p04X6_80Mdlpwc%X0++r=tXcZp(Oe>=<9EjTkD(*q`d42LkF7Z<#mK>VUR?Gjn~k4H8mc+h-Wbr6l`)pH9Oc&YK6y&5e)qsv?R6Nm>iEp3#-}F zxhK(E2T70hxQEp$l*&oN~AtwPL{P?Gz**3?zQKWZ3b$)J441%kDV;{oQ_(`)YE#k%2GatZFvlBix%8ql#|iw7QURCq zZF!d~_JFYWU8Iz+7TsC-i)P*str%$3@tdl7W$T3mupFAB7C_zK4qh{y1*bnpzks@7 zgT80-jm*LDYq2b4&zBK zwC9W~IX7P;;A3wWm((I3i!exA-kb94U`z41FnPaD|2nMIL?c-CN*>Pg#l=59?djVF ze^aU5SDu?O&(!mzYqTuN=6or=8jRfXgoEBwnF0Vcx&a;5t-=>QsZE@jZ!+x!X4!_*NMP8R zD(25Xxx;F6kggHoO7=h@q$ufXU(H zqShTWfson0z$T6Y9+JQ#2ViHIBUWpriyQPJP^0`+mP?q2g(UGl1VSHdEG z5#<7Lucz`-o(vIpq(akN&i_8(EG%kjYWU6ranf~|KKq?+nG@gnYu6501Gr=wQYH~v z=Kk~s@;0+%^<6V9QKtRP%BVh2ITNjh9v_aIyPr#ZofpIb*#BN(ZXF1X4|j^({35Cs zAe|;dnXxk-t38{glB4S{>1a`OzR(!r{k+O^^iUhnxyqhJgGoqykAT@yeT~G=Gl7#{ zQ^i>do{_F9(vfWl3x%Z_?VhwhLNDcOj2Y<4g0eOBIV!S9MUpS%k@7wP(j5N3k>>Bx zfm^iZ*9n?LA!r@P!c8-4QJ;E+j_jRfHr&b?n5y2|zo5)S$hzv>HSOP-3g%Y{_MU^y z1Qx2L)JIX_7cd=>+Q1-EL2s3<)&(@K0GfU;v!i!j(a|Ytf0O3a-dl4ACbmUPC*+xq z@9ix1CJoz78=4af2Ahrw6=GHX>DC>|rGd-2Y z@H$UMmvF)J3h*k?zKN*iKfj3eBwH4M%GuL_*_WxObye*6ZKk8a3)a0Gz!$d5#9)xE zK&b|&Q`0*}G@^0N&`!SU+%Le*i33>6kP65z8nwsq6$qPQjgS&REQsm{$pby*wyofx z@%huvsLTl>5YxXSf#GMx{?5{P>dJvI^$*1-Iju~v+cL}pDpo+jc#qq-JLuLtq2n(N z=(oK0Og>HP>^GDa&!@;OA5o~;SrqoGjND<8D#TQiTn!p>2Cj0(G5xXa5rzPzQ4-Gi zWxIn*M%oVw`bQ-0{`_1`*+&m9BtY5#NWIn!Q=~77+}kP|%QxsT+(rklErP*N>E&@N zbbRUcW?{rW5!cm@J-_9db}{B3pg^>4s%qWcmlT5Zi21k0^nPD4JV*dK`2ua{&sN9w zfd8h{PFxCD##{&NjS;-JBX@$7B+nPG{xA}gFzi;9iF2RKa*p1s$hw0?1lWhOJlP2- zBW-nzid2(et27zHm^%08efFjtFieMyIK)(0s;j}C1kI>k1m4J+ zs9)I&u>XB7NB1R*!~xu7XvH863=(IMI`&|A*!dzL&zIed222h*7-dux^nIvWfW9-m zjTULE#?A;zk{;lby!dcZ14;8&8HQddv*!m$SP}G3AZW%#u;p2*V;M_z#0|sv*pq?_ ztQTo#55kr`2Z@}NIB^Htd3ABBR!P+?+P<#{3aBWmaWGip(7D$AZA3E4b$}VDho z0Hr|}pFi%#7dpQyPYz#ZNyr^XD@V;|Sdt{(1Alu{jPJlKaM|`X1BdvL$d>Am`EhVH%sO~N_gjLP4$H0+o1S4I`?HTi4@U?R7t zA|^YdAmGGqYEB2Ujk2@Y!YEq62!{*r&)590(FUg5t${H=#emlQuT{Xul-{i`9>7a` zE4ITXUR@+q6%OSK+g8!o(M;#yy-9;4Ib0kTA(p*}iqCR2T{lToM=)FBF>D2HgH-myj|1a;In>*#5;2FRJft z-d1yL-~v2-oG!Q$D~_+`lhO8gyg03aNB7}cW9RY3h*o)iH?5FeG41-ocG}$U8uWP?G7OU zl`-iSyRlZtnhB`_yq4Wrldeywkho(DD*tV(Z5}Y<~^9I z@d#A&IZuOgGu0@A-N1JWPiRGn(&qvc80*p9x*G`Gy2Q4~dgg{;r~-2x0RM;aeFD28 z*YEI4-dmLUMZgqN4eg0tXMZZi0GuPP9}5^8Gk_M7rOryj0b@k(_;}bYI)ba&j@39< zW_d`CL~t||6CNJmbyQ49_kSVUFY+!E)N*bB0*e}isLe!CBbR!5*H7mh_2L;o9Wi=( z{T9K0vWi~m!FNakalU9DYhQItEC|+Sv@7i#VZd2vtQ#h21+gEM zBaSSv$Tq2>iKbfbkZaBDQL+kruv(I`~3bTaZ@<#067ZD1f!7Z+s)U{^r zC+AG3R$nF!y!@`+k$hwYl^t@KK93O`Mu>`t9gaF>WM!t#WV4Z)&1KOm_gxJ)y295raw+4h6Lyw4uq+EA0 zPWVUOdIqC4YQPJ2`w`2SPN}~D5w!>?4w};O_R=d3Ahiy=8s*#26<<2Nx)YeI3km-1 zR7EI)PL(ij>_1lkhECCx*u=E@I9#>;Hk&Ox=A;NT-QjIA`*QuWqAyx zqDXJOyIcG)y;(kCO;rDf<+fgd|E}K*@Kay^(`?fMWOC(;#Z17X`7Ta6^ z9y>ZrF6fIwq{Bvu04rc8unANE3|vxxYdll&TsN)j&vQhSOX9=8y~45epG{mGX0MDi-Z z;zxgOS2(Z4SeGxaS8>Q*IktthtxYQ7$o9#=&HUDj6+eXQjQtHNTHJMaojN(m@Hxrp zwB`zaDG7`EamV*nOFB-lPa12at6fSYxeO*~*;WfSvNzuKM85OLd!G6WM1N zS2W0--h)fvNikuzk2&iV8K6ZWCH^p zTMZ!29XWCY_!G@irBVe836B5&s+qD)NPN;isu>Z13iK)FU>evRkz5IPRtKH|nll}U zL9^A*x&Wg_bLuRAt>;Xzccqyk0o}ofa{!bO7+jo$9lgl<0WfXglu~Yb=NpDM(5;Wy zhbx76ox0x2id`Kz61dVHfo!Gtve&_bnL>Y|=KGByb87=i^VsL&;>M4_ERbTX;@*;6 zEw=UX`$nspu9x(RmTOLieh)X$6f(&<%&;?;(!e@_>0~vI>DC#OqHY5tLS@85krY&Y zkb9wbrM(P-y{EMJ_IK&Uxig7@A((vZGb7>l9IX|tFpaYHha#3~(Sh)g>!dt_gkfHs zCE;-TkWd_U>3T$Q)8=z)(Y@8wsA)z;=$cdR@w4WbCP(pAixY{ z2lf(RQ;#7W_d|>B)PvUCkz8HgahB(&QV#)Gz&d8M?NsMGEu7+2&TVfC*b%V>fRy?` z(PJW{a)oXp40xGmfmiHQsa-iA7mFznhnO8@<=tkFDALh=8&gYqjZ z;3?5Bb$^ZTIfx!p<9wXWk~i_Ne*0%V@RAjUr9(R-(UO3cy+(~mZQrWM=240 z%8BefZvkRGzVqTcD`v1^hSF7U~e%<{=`*FTz3fHbO}t0b9`dEWRS&0hcXhzHch zX!FWi`%spu93mUOtG{XrByk=<X)|NTFj-PS9*Z5iRU1p1P^Lm_7vZ7V2@;fnbSr60@apsxoet*q7@S)8esA9-4SHkz=xYA4Y9GTpKAFlSE#i%%wUi;35$ zmUrQMl%2)?37Plzy`C`Oq0G!GwgOo1v_rOWe|&w3JQ8Pr1mXlgppL6v0HqDM@BhHeUD8N5j7WFqJe&J}-`DkfI5-Y{ zfim-*z4uyst@HdWA)C7rpd2&__sILXF@PaQ~|}nKO>Umn72uCYaCsRK8vu(60?e$ zdav?&W#;-Ou6DEm?)|$)Kaad^m9)mm=;)6;CwE$l$%$?U4R?i}g8gDXc>hV6G*a46 zmh-!lHlP?sK?EvAl9^Rx9Q=d0SEpg>v9GfNE_6eU-x<40TW?n4UN_ulLb;F9Tq)?< zO$bUN@{5ac(t#d+6$r?1pIeNi=b7tJ{TjG2)|4S3WpIfy%qVQ-X?>8kSFqx9P4Zea9DaEHG zI46w*8f7~dxAJu8%3syXCu`KFcT%jVD9Pj3&><#ub(dpSrjlA38i-E`Fl4EdVL}e; z>+7aKs?awyg!^XEq&t%I;o@a6l+4`Xl)RGfHSJgT1VPQyx~t*UWM;^V5R{f7h?;V5*SzLwKnoL2vF@~g>wOiH45z4n zLg>L)SInoYxdREAiZ>CwVckLhr;wLi#~ieBWv{hXv>^hu?YiLS50FIv+&yH3*@zQ# zAICn>u5BaSGgLm5k`-!DHg%qIGV^&yXS zbaXrf(@9r=NU#?a>^Kk7fD72u@S$PoeZ7^ZGU(c=F~)paWFs9ei?@~y(O~BMhJK!V z*BztE!ks|$leDwq(S#rw{6;_l4@MtBjz{}VKgPjZe5HMv+595Q;Qgl+Z4`$h#?6I1 z+vhX}4$2kP`c|s#nM{I`^EJKg#`k&wwV(cZhrZ`k8IBHoH$tM?kT@o!ba<`4H@`Hy zZ(lh68MN4M5EDg7-By2-DpS0ADLBW-4MLDz$<$0`LMhmzEvV9q6&!JZzLGEG>h$0+5xZzj~r8h9qt*BuHvfs__W~kI>sd?h6V;A0Yj|tLzSPYAQN2Y z4tHm(6iRKMF8aRhtjg|_Vj7s{gFI5*-xe%nmaTQwY`Znsq(8xjU)^6xllG`^C1D}1 z&Ix*7U1N@?uT)?b9EzSBrc z;=I0^L>O;ndR!9c{INI!O@BSnl~+Smu$|MO3QgY0r}|ibnW+E!eb~`=NrKleAwaLL z(8W$MUuWM7THIVPV7Ct{%FoX~su_`hFATm+s6~4yeSC}>A0O9#2|4WK-AK^4YNTmv z&T$D3C4PQQ2&-GU_LLGkr*$Aug&+*x=A)%Av0klij}76EaGXJFKe_;Qr21nPas7b0 zr83OlWF7KhOxUHLhF`SJ@UBt$?fDHD=H%OBv^(F?DaTFv;X9%2wqKwJjjHw?t|mSq z%IOZU9O^;iBi7rIdQEEjH-YkUE8qR#zHiBTNBSROhzRY^yu7+CsgJj?3lU*q%Eyl% zKWqgUdh}%?;j&!}8JdMlK<2d#<<4akJ|^#g^ijbxY(&ytbIK!IMrgL#%(lJPC$1bx zePSTLOd}vBM%Iy&L!Bx$#17KJ)deDNQ4nlHzk8S4Omj92lVG5Xj*cS4-uMZXtVfwT z9^P)`D1BI@_17bU7cPG>S-y~x4O+&J5|%k zVj^_qN&||k_Ck-~z+3+b?4-d(=nH%HqO1%gc;{X{u<@F}fIK4w(vPQhFIG~a(tZ6D zaY3+wI@&azHQFyVyu$xv~)|6CBX z=h?M@Y@~g`#)bFo#^?be# z*`SLXzoqki{b@_>_1b9>G^uy&G}h}CRT07MO*i|3lVt?;!gIWGk2eT@a5vQbTV+a7 z{5x^V^z_Bs`t``4JwZ1a2A&A^P@SMOIXr=TF34B(<{;m?^|l&vW@@R|C{(cfIHZx~ z``3?e92=fui`J>JcVgS?WH+*)=!}V@mkpNoj2t`-*f^!@ZLfO!8kw`cMz?3ORSY9R zRlxnahP@dsXKRicgc+-4(kd-L_3f5i(%J*mqWZfN?3;F@6d`lW;<9|0)|351IapSBJw!0S)~G{C$; zAK}=K$mmTVDEqt^53mFm*~9u5$iVf@^WX+-zQ5kN1m-#b=kcxg7N-lvr;C{qxPp?9 zoJI!hn7k)wr85rASW=IghZ}^Jkx#U5Afuf{%Y9L#3dHnN3cWb6}FMMU3AUv z?enR>pj*cXf$ZP8Jd?+X2ol&jC&Afd%ur)THaOY|x*QvA+2psT11I2X*g`LBuF`rS z<5Aw5=b36F6lKo>tDj+@(NE%YQYDOji*tnSF>j7GVX&q)qSIhstj#S8YCE@`B{7+S zP)}X(1KB+Oi&c9~c3=BUN+k1s;QHBT+12k(epttqw(fRN(J|!@aU-6v45hdB=~cc& z=pz%XPk6Q?4~~Y`L}dRV9%-nksHD)!_DcAcfjQgn4sYwaVdxVzVV~?nUhqk35@SfS zoAhC<?p$c{8FZsFk54EKe3{{#FlV=u*BmBxZ}^=+0K;o{*u^cK-QjQjmvS zddjq%XYoc9&2zFKbo|8L)jxm#J}4H)p_1`kK@XB>5I)0pZ+JnK;jN`5%xYF#Swei* z#kaNMfP+eTd8Fe~A~#c+m5TPF{JJ;D>}U=~S%3c-#r>6tt`(;*m9-k-3$wPH5lev;H~-tS*$gUV@G{^*9;T^Ogm-5Z0=!(NwFU|P)zd^1$hB*$@;qfwSKi2}c z3R?5}#hh%H_e^d(*AESROc_9AL;pW16OG}`L)caFp8rOU5DX_ck`Z|bH-XmlX{<{8BEAKC5d*RBsC|UA-ddaL^o?!a17{rEkH+oX&^l)5!|7 zyj*?BSpgJUR=0qs0k)Hu=K2WdbJQq6tr)m1y4Yp;8}M3g4Jdxf zwbe^7na?j6d?_C8JilsSGfs)Mw|u*LT!G0pN3Ml_ERa0VtfyC*7g`bq-_2I&G4H)K z;P7Ns_Pmj}Y(%(h@=yG|jPIXgD*2DUAKq4f9Q1xB^SAVlgLQWy ztGl7H&VFfFn&Pto;jJndm6^h+_Ti<4yQ!xLG$rYY-{RYVdHWsz_xL}}&NaW!T&v*S zdn;fOtvzM4<43Z88bLE$R;KpZB?+1l&3y0o5;pI+nbbS z_r+6m%~i()`6<8jpdsUpzQz>juXf>1nAHF2QKP{Y!Z%tqA`W&=Y1n=_v-L#6UT#4~Mcu>OW9z z&dth$;KW?C9qR!CWE)SMtbhBRS&n`i$Zs8nLL$bM+75bG3ktCW4U)q_QV`cr8%^eD zrZ8V33+YGFq*Lt9u-oy+9*$A)RsD^`!m2m^+0;Y|=T(A_6`B*i>h@Za%c3=kINd)- zZ9eY3{+uHKZ`FaBF~-W4~cVK?{t`NE?i_v?mtJ@%o%QI~%|XKge}V{J~$TMxtI zm&g<-NWjgkVwv!Yxwh$XW9Ygl;zza>hTbrLL?`6O-ddJ88pCp{&pBLg*owDg=W%-> zX3&WZnuFV&i3ij;;sO~%F)zcK_P;6W>g)~bv}EuG_{jYdvR4q`1Y z3b$>zjCmeKhCZdyg)hJyAQ@P=nm@F2WmF#5fcf>MNzvJ$I9{UX&@%!1A`UEGC=I=@ zWcNkg-KFe=!S#8hRGuhRX_gOOsNu1gQHo}eJ=rAeyI`T?NgDIz@1M`=7e3$M-_cW+ zE^yHGz?j}>dk@04 zv55#V|2bVWq@|_*dq{(%mXL}HI~^|n1S(qB0%ULc)7I9gNL13g)+lGW6X<;6-=h5E zACF~vap$l8{)!DguYyZN{yMQ<`@i7T@YNf0khP{nzbSk9Sr%!LycI;A1#b@qao@+p zmUm2e|L%_xU?c*Yb6YL+ug6Yf{*{hS80fQ`1Ix0)YsALdS~5@q?Er;Q0#y%>hUQl9 zD<{xKGM*Bj(?+He_z>5i0P-j-U^;07F31X?-OY|{a62%XwTBS2#f!KfLV%Tqql7*t zZh^}!7O1J^WMq&xFD>=R!0KN+60-h@1eZ>rQb;ChPQI8f5&iI5N_dTHAk$O-%7ih9-X=y!_*_~`#eeVu|teAN2 zfxrjeuK-j6G>pMT6Cx-`{vfXcejwBBrIw~*_-1yj8E}OP0mVr?xR8N<%D@7kZJ8|8 zJB9;d4l@xiGc)P~5fKnd;xaN~!HsP&nSV#UpSY6sqOrMIbhhl~(=qS@nuGonMqXp% zqt?4Ud!V}(d~0Em1vaOmnp!U?Qv)GUl%fxOoff#6NoQwgD|-Rh5Ayi&i~T!L4|Vij zyJ##feu)MahbUCs&n@aQG1*csayb|U3G*-ZZz_5Ui|Dwc6>B|_u>8{(5A+ad^<*dK zdvA6DPX`zu0+PTp2hYx5*oWLkeElICEyb1^|NXmx1$^4KQ+hvs{zL&3BaTXcdRN&M zXoXdvmsR~#M~5`{l&}}5xIjAqENIEsuSsz#kP(|C07CN@7R~2ROVi$ThhjfZmSxxL zTH(&VzSYw*`?v5i5rPR`gGm&|E{78mGaMaELRVBwdh)ZxCo3!^A`IKdVTkLNx5{$= zKLn^>04kFA@q;4B8;LegE#q&(eP$AuapeF)AXsz$mtXDy1LG2Cr^-KWy;4_F!YbIMc;4=jk?#ik@b{7&Sn;$jZk zwLqF;P}qtDNQ-g@{~ZM;BE+Y9mBAs1hq^*-!^mOybQa{u0N52`h*4}6KtpIElnVhs zgOPMGp_SXk; zg)#E<&F$^$tE)$|{P(8yC-6%wj0IGx1<^3iItRE|ZGEV}9xm?w&84OJGOX#*tt!$W=UwvUqWmkt2YW*!IFKx)5jT#LrgvORgy35wTkgczE+FWZ4W({v`Ht^9X8 zu*XX6OqZcwJRBMnKq&lRfC2x-18y@D#MO@Sfgmx8CeUyy#|XITFbf0%I@7(mnsVtN zaxSC)JRq0*l=9ov%M-XEqEsK*dLhM%c<5a|vd$2J%O2tF^c!*Pf%OxG5~9wHIxCwi z80)|18Uq759!ZpT3(@l z7ja<+?K%4uuyS#wE>Ym18QQ)HkWxZO{%Y$Pq8>z`5_EBegi9rW^HA^*1dhgKi%sGt z#x64+f?hlnm$JVzC}fYgfzyoO8i~`u!gJLQT?-16DPsRisKWXh5*i2WA_}m}wQ@-6!^=DSx?%S- z>>W`nw`sI04?)q=o%uV;<@USlAcBvlbU3;R9_nWUv5Z8F7n?kN^p~j{!TzN)nt1K;Rh+n)Z4+XfMVYkka5R9Dcj8 zGY!m!`=V}_z%)D4f&tpi!s17h`*T~q))vD5Lk9Wj zVm5H2P4jdM2+1*4-t0HoA=oW7X&M;~H{1&WxTm#^jZ~V5O9!xfKlI^t!5!y?#7VB1 zRN&Tp9oJg>8NZy13qMYUWLCw4{df?B1a&>Ven->=MhaJXHV%$1AQ{#BU`m7kIecmQ zR=5t>a7ExM>b`XEz>x?1+MVE6QGyVCv^mBIKe13|5cN1l0jFLEc-oYy z-KX=n*`GfX8MJtkf_GOZAT^G2iBCBk|EsU>A#pK1J~??{Zx}Rw#0=#$h7L~0CnbeV zZG&=BYJc~NL>&E4*yK=cUH`GTg|guNFmJsDA{G`_J)My6t&l$BFiI)_r$t6aj#2{{ z(9q88EmV6CG<&@L7(wzdwB8wpe@^?d%P--~E8Ty2U18nja%5PaF26K_-l$ILexoc5 zzF*i~W`+EpGw^5kmCPLY9J(bm4qE)+v|uBOTNQ$C<|=rfnSix*1pi$Xhd@e7D&%#} z@r;*uEEN=u?-2bmfvS{8h!erl@rE1N^}X+|YsLU9DDVgHOFj@%;Fbr)feZDO+}>z` zc)a_e-vtKiO)V@e_;_J$oVt zQr@2T`SGR^9uO;j-KTr=&_US)Ad{pYh{@rLAAhUxl+Ekv0TS?6PlnUw#3JK^tLwAI z00la3$S1^rkunp{FZ2OLqpfK6V+gpVs~^oW69mbP+NX^Vc3>V}MRYvE3IGaf_=40YYx-np?)GYg9S_Fb_^STN}h#4P?q?_k7h0Dgoh|9VMajnRo>cO9c$ zXFqoeTK2VzuJc2Ezdw#jq0a*1%U%R)y1ID2#aM&0CF7TIU>d@GKn+-sU|>%a9KH(mp)>W~T#6_45V68L_JUkE(!xaH6}QJJ*dMx{`ki(AUN&5{zNhutH}>@txOMZZ z@vF{OjF%!n`G4QVO$ogc5diYBjIwn6UNW_po zls5GEH~Xgg2@9?GBY#LTbmb{+0tUH~b<8YI2CgYMfCBRF|G+r>v+x`k2yFoqf=?7B zkYd9(RmYmczTU27uYM>?UeCJ!kqzfg@oUSuk>i0W{r^4N60&8dwYX+VKU9;TyjJR?`k|_w8Cb7%9ETD*F=~L* z|({rvKV768XoS zGMr1wR>oazEg?&daJhYFgpw9?;x(;BcA zMgS-YC7SIY#0NH8Nh)xY_9E<@fSKQe$NmH%vJ2{kxQkv_jDvLAA@{IY{vLj*DCZuJ zoZjQ$)q(kwDjk7eb2bxt&cg6Nc)54fUWY_v|6R^fJE$6s$;vsvuH_Zg=LoQdjr6{Z zQRW1y?mqQEg&akF@LrO`*k$rH?#wbse523MrgVbn#nuOmK@HzyQ$N=QuLRL%t5pooUF01++`V{J)r~rY0P(-iYiZH~z2ZT6D z>J7NsSpqxaSD?gd^Uue%{q$}6bf@+Hj0^j&F6%61UJ%t<%WsMV4gOVekAqq(z}4tL zl>^hZ%w4X5ba{I$DJ8)r)Y!3`l-Y?1+B#=lq~{et zNA7-cWG)vdo@gJed=1zixMkLN<&+?UG)+sPuGQNu@5KAn&lH~NACi|vQvD|I8`mwR z38#8FwE%YCyu23yT8loUT4MEL6|jJ-NVRp_e_>ugpVrQF_#e7@v}IfZA6NHV$&*nT ze98v=ig4B(yvH`DtceERh+RTuE4p}r5RCu#?S#-PdjH$5YDl2R8O8P0N2GZ4!(6pb z@B_E=SxYK;RIqJQ0Six6-g-?%a8WD%?r^mCyMoQg(BFDk3@=vPGygN2V6UjvcQdMA z)(SN9^tG+%vXYSAM}WmI$*8{!NE+``vC$~oJgiHo6^{l4Any=E$%MA!0|VIb1s5EG z+5zUp_9ws9ZCwMpk{!#SAUKi&j}JX6n< zI$MzAb2wADt7Nxv4$fht{h+&Q8u67KPLvoSie;pU5{i0_Llz>sp~0;>!xBFl)<>U8 zm>8$~x>9kN$8$!$)O?TJeXkC))(?0>&H+r?{JkR0ubULd<(%)L9+etgA1eDpfnSh|!{s`t;6e@WaQ;lpN(fk&_Nn&)Y-z9;Yj5samXqMi9TMH3>m z6fEbpeB%vP9FV*}VMf0+m&tJU8T4DQ+-A)b?-7`8sHAdrc!^O?;pkv!SF$GzZb84r zU_g^zEegpH=VpB$>%!g3N=Hfv0*} zcusKHJA0y)0$~QYMy-K?g1g;u^=Ggna=FoeAD7?Q;RL1y8bu)HW2HVVJEAaDjEb%s3F%q@?;#_qB>?{zeP5#c@no#`kt2*FMg7d22NlB{2uOKnN({WS|%;9|9e(Ai`p zY5t{U-S`sY^gf$PntE{mtO?%r-RPE^(RdB=^b(|FRSanBy(7IIPaXhnwluyR+gs5$eS1{n>CPg&HA1d8G|1xe;Zv(K2_tL&Li3Cj1#Qhdy+wC=n*&Vjd+j2 zP0j{B;HrR3+pQJKcng1ozpO(+v(P;-(u+ zgFmC~8@oGd*2DSH{0d3mg*mgaKDg7y&~WOFQUNd|!W6w?iF~MHyw@R4k=kIoA#_}@ znrnLUp=T zZ%lXIGoUwbJjzHrd&!4!uBI>V1z5?<3)njo1qtWO=vcAi#7vJ4PT)7vgD~SaC+1j#oF*KiAy}@FLrylL@*|&jbT~KhSfK+=*`VO4J&)!nSi+v-<4is26S_|eBWV> z^mtkZaT9vw{nFeHd~p=AD8tV^Bn(e_Pq&N8^od}-u?iHOhe%wS#NiscX~%}rL0%8= z0}dVH`B+$H^dX)v;P}6^YW-Cee1wIDclyMZ=@MtT(?6j0=mrYV283>x3F_Pvn43YEgn`=+*2+4dX_{<9H|{o)ZE%2ul~v-jd9l=n6S}q zJvO|ZzaaTSYzQ4A1^Er*nuk6qtq&xLqu6=#SV(91yNd_|k4ax!BTWHeVIaure@%|; z%ynJQ(!Gt4Tq!2A*1AR9@<|I$e=dV8mNzkQ-9b~WR8kd}f5uukU3wpSuHA~Vs;$yy z_I&AMcp%nd5IUV{y!#(?nS^UXd@<;g0eM~9n#q|^ZtJGKTB?zT_bHO~CRFJ@`fUme zzs=6UsPo7i$kJJOkFJ8!f(ehYk=t(eiULj+`n(WJ1QV8q?9xYHzH;Mcsv`s)HpY;H z5WXAL0e}hNTBWpCs?lK3Z%fMaF^9OXq$zGb4zLuRXVZ&P#^`4X2&K!_g_@B@>hRJY z5*1q!2h#*dGT6T#{u+*f;T#UvwYA16PaD;GFEt^hm{cC-9z`xX#&mePY+Y1BV)P4O zTEAo=(ZiCV-Ad#Ek#vDkZY>8-ts;B_EbFghVe;x5)CCzlOoS;XPtex5GEAFe!FZ!j zuW^X^N_mVl#E@)ssX!5_hf{c@f}lr6tAkzxx0vE#_JM77+{P)*YQZd5D2cU>Z#iQs zWjNs7y?VKlGw8@z`pgZ1Yj5|Di1D)!+C2M9Vmaf-)2V>Ga6ibs&wG(@F{6zq_?Oiu zSb?u$p`L70q*r%?Kg6b`_fyIQmzukHtcwuL4|u6=-}47pDczO)5Q{iRY#jN6IZbqi z->boCW!~OWPI3Ce`7eTP^kx(@bbtB}byrsUxgp3y3Cpew8ukermb}bT4?ZvJ4hN7g zU)Hr;Ubos#-Bru|?*=rvGW%wT8DmbIr%Z0Mm9(H$^~Uuq<$MF0@Hix(nDBJ7P9~_f z>0;aCBW_!E2lr-G?nsk-v3ZkH#Pt?VzD?{|-8~6fK(JQCS$I$|MMq_vf>D)28ky76 zBSYykEVAR-+IBQ5iXT4i!y72`vppM3)L625C}z!3n52)k1eY5JCGpz za3VOU2La7qy^CM8jPMJ^01*t+?<-1{SZ}xvYY$mCA9db}K?pv!Dm&sZ`V*}vv;2%r zvTYrw;IDxqggF@TF^Zv^{Gd}rysNx|s5F5bP=VAzD*P*4sm)S2$;<>NXa+w#K=xhc z0Re9RiJWXO)aNF-O@#`Sq$XU8Cu1A6bT zl3FJ{Ji+;9>5y$t0OXbQVk7a<7)?Bo ztEl@9dq*E=-9p+_qhW+k!$XF5}k z895oE6z(PySy#!Vf1xJ#goGUd(;`3qlEfn+hey`3nn?Z-R*(%79cy?pr=mO(l#^tn zkLK`4;-w3G?GeBC?m>0^Q@@0w*(ntU1?ZqQnE|`I}YJ)b_$Wvp| zpjUtWy4o*qtH}5F&72<@GSZKPv5g^qe^q^S(@HysD{8X%ufdPn^rSX}AM=-%hG3pe zpU{ve|1g{!G2>#ks)^Hl!+^YIrNPyyA~4&f{~7c{8z9qSOH)7D+sxH^Bfq_nGEl^R zOhOQTgr>!ZIGh10ldKRNZZvF$kE=ts}G)@c7`*T**X zqCM+OlCyzhq(^h6cO?t{5R+9s$V-wPuI5LCqHnOsW(qVR6jgmH_vXz+nE1;J-0SX_ zmETl{y`08iHHw^$$Lx%>)nD3zd1TMaC$En0Zw|=+tgtdmzoLIzeKD7`GFbnL2~(Pz zvDrbK!YMA{8Vt**%so8nrAvXJ3*2x`O;O;fdw;>o$zel6LtzftM5lFc!!T4yw~9d= zql+B^J?`A2Yi2WP4Z>75w8Hs}suAaXM>NT2b`ZL{^L`%kJ%!_sH@-jZDgZ3%4G*}} zv=pXtokqlTW?MbAp67UY;Olm$a$k_8?wCg}C(g3X_AvkKT@bR1h7Zfy9EN-(4D2I# zk?~{icivc^AML2Xu|Zx7w-dX{^_5EN>XGrjS8$&TxS@V^WvMWULuiP77jw1&*IkbH zt56NPf6GpMaNX4Y=74L(MatuH%TMorVagVZVeR#Q_X7jErZl|7;BMFi!P?-?Wmc1- zeiMlkMLK$3t>pQOLv1o?^x^g_v;tZU*mjxonP5KN(rY^fBiU1&jTF};>11t$OW$aK4aL23y1*(|xU2(UHIf&p#@ncbrZXiY8 zWqel6N0c+XFg$g0y4umi+fof(UQ-%4FEwKPsVO2Pr=gQ z79x)#vTNL8k?tdIkS@^2@cAOLtEohiE;8vxs?qL8o=vHdg-@9PrJGzzPI?^0P-p{% zoUcx%MdHB3Z6uhf+TZrZBGN5EgH7>z^(xLMZlptn@faeRJm0kfA__~mf5Iu{!S|uN zAYnH9^VfU$7_hqIr(0NiJOqv(4J25?7q1QAmQ?pmt;xR@!tUQ6&g$Sc zbF%52-e;r!_qsHiYf@74-xxsLAMf%L!~i`BIeFCnGs|ZXhbjEsmt{5!HzJD8U)c?i z-HXCQM9?n2KT4{jukejDYU(kVN#E9Ci_1I!u7>lwM)}c!bHCYSOe@`Dyj8 z@5pnc39#o!$Nd$S0s8)}K91!FhRT)q^?KR~#juHC43j&=U zcbB>aNVYm)g5}fi`|*?{@w=-+DkU(Puijvb^1esTk~DCgeWyZO66Iy&7=$ z1|Wr(w7EY=0m&h6l`?WA+-(!EBn!lQ+)S@HBvl##|o3FQ2A|%u9s)fqpUr5zSxvcaL!%`VT$>ajTUu>`**3x zg9j5xqRyhR;23WL$2dC8$2eRX5x$BC%|6R9?LZz)%TL2)8$GIt_mrB#Tj9(&0tR(Z zlbe;{ftmUr18@Gf%E3o~_@{h{>e?QA0>AVg&He*IsqbFvEE)>`3o>lZaevjh4fPda zIozB*tO3Z!xFuagYt4y+R-J=wWA&l4I!{;tg6XqpOUBijHxvH;+=C=!75!VE@`R0+ zF>b@_Ic7eA!4OlIAIu-ddxBhSw1QhLeHC;8;=Ox`o)B6&^Uvr4HKU5zEah+*rN8Dqu$^*z1L47cqXFF^4tbYLLQa;Lf(_?i3*MhYf0NWq`QS*Aqtf|@z z_QO<@n|-$E&2Cj9scahfTu1!Hy)PEsqQwEPG9%6RdMh|N*N;@Su{e$vG9=szYRnN! zAPciveyCBrmKa|y2Udqy0LbTySYZgYt|V%JHN%4&*+4SzKnHC7i;`)v}TQI+W!m$wWsE68UcnsWn0Dg&>YZu?FJCab>m`q|3v4?g*+n|TLqZJXOg?? z{Gigr$>Kjc{CuxEVbNnFji@mkCtfL7URT5J091=}Hr)W$C$e5GzRrr}0VYOlnd%tY z#X|3xF*@Jyh#;;}#=X7w(iPipPFplqD>D~fJ zrfptZS0~;=EaZpSbl^u|k z;li+`4GwDO?TD`5Th^{VjSw_1n4mbt@1ZYn;>`eNrQAkP5VNQ4*#V&SYGWs*B>t%9 zSzp5(M*h>x3W%Y52oIf#?HBC;{`CRSP+FL!Jn_cr?3cT=5Gd&4A_MNF%jZ0IN^oPu z&UG=PFup`=hy&aHdX!o)EE(9mLU^=lPMCM^1Sh!fhFkce!n z0OiBAAI4+nf9e}(U+8v^a;O2oVs;?x+yQq|bY&@#th8NrWz4;ochMQ#YV(mLq!ltnvqAAT~v z?Rd~|7m>I-0qt9TTM_9Kc~KL>uiQdX3s7)k;Z7NO*)pcK&M9S~na!Gp(O6(C8xRvX zAG(TxV-2&Z%rW2h0|^SOo9xZtgD}Vy)W#q62KKVSl1@n`kSVAfIP~ZRYclacC{xeVk8h`Y=K*PixP+Uud5f zkgq3Hw?{yAau$r;vvB823N+Yy*71P5x9hpxK-)3 z#4lv`8w_;5n}g)YyWxP4A?&V4XvCCb1MU31=U~de8yN$sq$KoyKI`n}`cyv_dO!FW z$3FozjjxX(FbkO&dW;qcjWz1OXsHOmUe3JRzVSRg6C^2UHM;o;wJxPYMpD{gf!rQw zzp;IXgfHaun9-qpB__NrPy|Uv*%KOs@*8CIbY-F`Kv>j~EIn@i)WU1OArCW$6@e0A zr6v3ag6Rs6009NVV1@)8VxXJ{4$%kD7n-*8Kgom2Uo2`JN`BqoM&e7~IYp%H!(eQy zfW*MAj9w6^6WIT`10!6>KPS;11(yG+jz6CKErGfU>y4u9tk=N!(D9D=X&@VMuo;U= zNV5r{O)`n~BShnybU=OUH3RKrk*m}_phV@F0kgYmmIonO+?;2OFrc5z5^v^x@!r2p zzG(*Zl|CSiOgLfA0d!Rr$Q)mxal3*p{+jUMjA_&}^8cs}n7C^ty|eca?Ty3-C}iB5 zK#`OZPPFaK=_t!Ptofsa2WiDX*bn-tEyv?q0Q)yC%3hx-UnOjLj6ef8ShBHVSAP2ZRj^;PkHBuGpQmz3Kh{ z7bB}mh|%qs6a8QOEDzO~%-JJG;VIKoHlqI!hkS$|+S2T!=~byEMRjxfz6Ot?(%$&ny$_7P@5`8Hub-rDPnau=-FP2t3?dPLDpMbU{S z*QEY!Z_ou9mUssyiXiP z){?_l>70KS0QqGn;EMH}b&1*(SD=}RW%+>ZJg4*h;kZYRFc((S)~lGJt#@XAzTU@N zGDQ5}hCbp>&1=Jl5BVgy29Gaj)bFIs_}c4fnW15(h}6OJyH*PCdK3{#9mEL{Z1k2y z7v#hI%5ufiKu@>hGiKGuj&uFU<-|kkQ@!mA+!uPXH#&DOOz9UcCccwQ7EIq?R<}qY zx2K&jl%{RJwvTWi65VhXRlRLZn#zK65r$;qN-Y^T-}E1RVrv9LyBM^!3h`f3N^HChtdI-$=@}E4|IjH~=_HeGv)$_- zSi!LR$qKQ}ea>~>HbI&%J~>#N2@4%Y6@-GrIIjEZ#ITE*!M@xtD)tpTz^r+tTRAwv zI+bg-*XP>z7Y6OlAXN{+wAL%upLQ}m{4gpR^jB>rx*?Yh{VXXCG`22#5n(J!11EHZy6GphU@~Ev-6J1L zDJnkz1yfXX^ZtKQWsg$xE5F@EMA;Hc3iLyG!*W4Wj@OjKcY1^$KjLvg3M7f~C=eLb zY}l-Al^`fzs%6QCUYam4pkU;ypmCF>4BD1_NQ0i(`JK;gj5JJ(Z7lqr-Gak%_Jx-( zn%8kR#78bfzZQ!(bo5rKNrf$o_jujy<>$rbrmq#1l}VCIG)G8V;{6(Y_^NhjaqQ{o z8U0o5zgWE9pWmt7rrI=kG&nK>M>XL{c+Lq=DZ{<~;`4Xe`TMl;kyis}iVn1Y;rZVJ zbJhCPh!aU#|FGRp#xhPL1s|zKd62X|qxd%a8Hrr6Hu~LpFdI{|uP-y(`#uqNj3(D% z=td>6ehlgBT`@S8k!m9BQt84~3QP-Rx^i~nN*jxNySB5#vuZrttm+X#d?BkpNoYKc zgs7+?`EpGLi|P2g(A7(C#f4^rlrAyFBY*9v>V98mr=bLb4w-M?^;A^V)MoD>uGpp< z(UI8_Gj^gch{zE6U%%r^aPaZ*0dl;E7p0-x=Is;`6x{TK!%Rg*MfrkcSUm3sc!!zX zn5moE&re^5SCO{pRi!zL4RCd!q5x5!g#{;M#cE8uhqL7(n({e+Es?m1^uWM?9}>j? z(@GH2w*AjEKRu!g=Kj5&U=Q{eckU{MYFEk?2u$t1jF`8Ot37v>sCdQHZ!7qf2lc-U zJ}Yl{(O=p3rMoZ%{9V?Z)oey%y1F2MDgXATXx%16t4sbf!lBsl9If^1Pr*MeSA%~w zOD~m^h9tP4uDFWphh3LHzQU>^^S}$+$LWYvbcl|P4O)Iudu4Hi;7I+ViWL74nJMFT zog!HN8SFB)py2W7)D+qCxy*DS@gPhceFFno=5Dk2r&qHcZQaOIUp5Rzj#G}9J6s)k7xE@J$-^FWAO3xuf6 z=8cz1DBik{Dvg9^DDo>tEl>SAvax?`Yhm$0j%Gd~BQ34sH$rV)ouj*Zcyu)Guzc^I zKTP2f{S6Jme8jbD5)u-Y>pp;5SY%<$JNO zm%@*Y@(Eh6kpgG*>EjE-Dwkw>@R-KC{eL}!NqpV;_3BKrV1YN@IJrk{9}EQ}OxD{Q zwB2xZbse3Z#S{?{>Db(4dyZSqh$tW^NGQGX!CQPaDj)z6yl`7f#P+^EjQv1LxWLrZ zl;o2qPh57S9UL6mhUqppH%-XnHikc$6H5J1_y2$E=?v)R5BxYBSGPqn^(ElP%Ratv z#?(coc@XAdfWJCm?nWXIPxta(}?CtS`f`Y6B_V)HnUj5qTJlcZK z&g#VwjLz=Ael9G$nlP98J#>HHPE=V(hkP*k?BTgiJ@?tWY`(;3Tynofn0(|7r$6;I z_CCfagChNBdGPX9Sufh&PaX|?zX<)doOJ8wf{NnQ2|1yDHCu0#kXDgd^(fGww=CN| z+LeFwG6(Bu;DSS3S62NwFYnIQR{Qm}2qza;JF9YRY%FlkBC_}j{qm>594xL32|?Z6 z-#4?e!Z=gsAZx!-dHJ%fcx%K1dH8s~#r7M#7{Rct^&Gq=_lt+uZ_xo+`hku4rxSCNkKso2?LNA5Ks^V3`)9@6i`CCQxK3+ z6tD%PyE_CKlaLsCRAOit7-rr*#_xOA%OA4Vz52|V=bW?8K6`({z@jUX=XJ30ZR%5P z920gNcfNd%$2{NL|1*`NLOqP_?y7w9H=)cGr^JV;K@~;__$eUr9tkpe(DWuar!%KC zHup|Y*V3D?#z&TqM+DagFO3)4>d)`I9Sg`rKDAIp5QhLk-wT({-rjWaUULf46G)FZ z78Fa6YVyMEp?Aa+B;K$--Lg@NJJ(@f*W?{G)*f!GSm49|cq!Mp4*x+A_eEp&&p*uf z_VTLywYeUG-dMw+u!*A;1iuXYP|rjXzS{05E4Adxqp*Zukq0bgA2@q5yeKLjx`?hy z%EVYZ6OJK|oqu|hAdj+b_&tW;xVSjIs@Kf;LQuFh?MI>FHqc?SRegyChm4Z==8600 zX{CIG%@ZYau59g{qe)4L8GP(h?H$xrZJ)3;_F`)eDfbC~%}MO{!w`tBYffW((`6gz zwwXaiq*+yA6C1kfC>3SRl~%4N1M+$N+c_9(V8R!K*rjY@Ar0Zp%j~*Tc(@LKONU^mGk)6b#8S(J+ybcdL(?qZ( zJix(&UKJ+iB6Tbm@=iEU8U*x^WqWBC9_CH zW1_;%!1-10n=^^J1&R1D;?O?5^u1og>mRe_{?>|@LtLQ~%sRxQ)qW&`y z7WiOsq7F0XSBzsXSnO>{-~`s3{L^rrGgU9CDEFG97OK&?IYoKVC_>!jnC}~R?GIDY zTi5sVFwWQmy(E$H&&Tt}(!c;jkh`Pl$c_e;`oi7>i641~tU|pV!OJVgJS{=UF~lDS*bPMk(OF(9NX}-25|yf%&N^t3MODwzjqk z^5s^0TOv5?^(VNaJ8^z#JeCrdE{Q<~bKUe3-;l&6e$L$G2v&?a@;ziD*%Gf-fofST)$7H>J_Aaya z0^jBG-TCL(E7^S0BdS!L8nf8I_<5?|Pck8`R)v5G?*Le-fYkl7TEBDSJkx{h6P%)8 z{T~(19>h>YYhd^t{S{M*yW)95Ud%aO%y#inX+|U6sM!0*Jvy)V7FDFxRhs>NX!FL# zM&8I5n!rJ6Y3bQ5EV^R{tGp)tY3o!In#$_OTKayL1?q=`-?)^hF^IYC0x$a$T9QAG zQ=3eUALspOjXS%Or7dAj_UF|#lhyle75WqKHU2y6Z|i+lo*^u&TyO1dW#HcR7MT*N z7ih!w>h_gy8<%Bo8&B6ApwLutE-SvD_2m0(qA6kjL2JB1g}*(;pQmv*4;GpC!jO6s z`H=6s68ZMAc+IE5!~$^VYRfnt7Nw`jm#KioMzbxk~3$|@~ZmrH+Am% zXN+8bPi$kN6sGz8RfEBAJ$2w_=Bu~Rht1{A9wV*OGfj7J*Xs*yg;%}z#E?ncDh$8+l)E_DV2p70D{j zH_`NpJM0V=Y>04o1r;awZ;OD7B(&JJbusTekG1Z zcA+OGocNUIh)hz{2^HNw3A3R{OS+wD#^+nYvZD@-J<7>s;Rn*j8<#PDT8B0@x8DA#T zLH8(Iqc?ff-=kAzBiNyYhC2$nZe?FN9V545CDVa`r6jvl!BR0&|Xf#)Z9*%g^ zLE2CRLz@ZqaxgBtrjaMTTiTAW?#$WlesGUqOAa z(&g>vGZ7-OK9N2%S(aSs7+>BEnWdI-Q-p@QiyMMyXK$I5 zHLDMuFXa){m|S;G`N;MMEZ(CU(G%Ki@^z=z&_#|q-}catET!}7$FK%>oxJR7ckgW3 zrQAV(!R)`#{}Fxn!UgiExu7y+VAj@h4YEmR^Qqv2OfiNdl2ZHe$@HN2M8#V9qzqN> zLb>p5NBYI-K%t^`9lK%qnv{QhcKCfeS=t~mtF@;e=(F^2)oKS?alb|YNtYFzvO0hp zRSXK!`^C+;Kb1RtA_r`KGq_|*_^#SW9Gn0kCK(b?RU;GA?L?r6f-C5~`qlTM7Nz7V zOe9u{KL8B3;ZD~=NjZqaWG4bSC}ejPz?392Y?8P)Np4vl%BLh_Y?2w(Bq;p1gLNXp zywM-mY(06Ngrg)C{r#bgGqDTpO(v30ILZGG1oc}C${ntfG+}|+*pA1ot$@~+r+EpO zE}TjP{K}C-$F4gMmr_BabWU;A zyMITcGR3TvtiB*7`W?1@XGKMFs!MJ}>-`51ifaC^Gv1L~oP2zVI>^2KBqWyAB>OUW z6rFfx*{W3FNa6o0@MDhhZTD3INzwBp=7~42@YttncWW+hrXTM`i`t=pZ=a2ep*F0& zbDaLb$sfFY?CgeD$P|yMEzv=H$+@eR!qq;BR}1 z3zci*JFJ**XgbYfwBI-JicDs7k-=4K%EEE2iG1;_$etL!?A_`ANsUFTyLv$#+(f~H zT=?Ty&pky;pa%M-wO~>KUoYPB9h!fU}W1MF{df$gewNC|o%C0>g+ zHT5TCJ&lz}wD@x?eUuc(TyL9pc7Q3Ik`}K;2bI+~T0&u(xH(hXFIIfK9y@7C;I@`w zAvqGH=cj3&yeDTBPdm&$zE!;U!C_xmady(gA1{nQ#?+i&w6*I!Csz6^k4T>2d2uw* zgf}+3*O==+o3J~EUD#uz+jSuYtEfQy?o{O7`XpuAu*8bWZ*v;(@)46ZmEy;b$HY+h zY)?kX{`^4asZSUD)~M_lh~Y-+{LsmiqCyh!r@7*0_cC=YNRA4ILzja`p!HG(9#?$9 zvpWFycFF)d4K)SDW2(1Ti4mM;2+oQVFC3=D+i)6vp zdNkdHyz?9=^iY@Vgw$aR7MkgqwGy^LSfH75pY*L}lGZ&fbr^~47lL^twy*lsv=lGu zEHJ#83Mz|1&U)FqL!U0PckQ&c4TfRQlnAjv#&=cd4Dqq`3Qp0Xq<*V%Oz9$6$AulU zXcNs=@(Lz|xC{Aavc>psc#V$l&a&gT-L>&T#?pyh2FDNlkGq;QdY_qn?pM;7OpST% zom(u^Wo}Ja;Lst2Rb{IS64_To4GP2K=*Vo?e`R&Q20pbFxCBr501Iv+AHNhF4!{9n64b6r#rt-AVdmibJx$p!c(2IOHn8&D7R0z>p@?!Zq6TB?VSX-E=u0lQ`zu<9XVrb zF!OyIud@Gt-N``IFq< zNNzH>A@;QLxqL4VISvxwv7F)wB+B?rLBo9!;NuoXhbV~r2&Q@duo!)yLrx0ZE#KJ; zTPe+f_|0{eH~loI6F2|V-1hs5cT4M%4g_oS!8v|z(ZE`E+Ino8HdveY(8*%kuBKtg zS~X7zaRNDApcSKyfHEZ9F` z9TS+gZeL2?iz}-o8#zG2Q|Jfq>jA+^(^ww64Wb_LhHUKYI+;qkO@RTULBzdf8g>B_ zSP#@2STvv3q1%a%#ps|7##?-}9k2pM4Z*#;CEbbEVW|xDhOcEm;oSy0wlHWFGkkD* zJ&QshH5)D0$$oG^rdCCi_`OLHBW3}&$I93jxRo$pF#=k2Uhu!1 zc(vI5A-gs~_qgS}7;bfFERzo00s5AkWVb!C^=P34p750v{BCtzrnCcUc=S<4MP9{9 zj@!UX`SCD}gA*bq!w#UPu7VzG@i%f~(d`~aElQH>4H!7K34bGcolJnuJ6Znf7sVsu zhsN#AfP!sS%v!KCF*}!@Qh-U^sZ}hDWrb~DtJyKtkKmNb4RNG`x*DD?5078J=~ zQThOo;vYDkOaR}<$@QaIRj_apx-j-OBhk~#bHp#{N)s*;QyZSNHF8Tu(;J4%erHwd zH@3@4?&9;P1M%%#D{a0f8*SJA6I9ht>E$Sem?)H{m=BQrVy|wIJi7}HHHQEohrfYj zC=iR#S3>|*-|jF45TnT>Z3(C2vME2pX;sMhu)X7W)kY@!h#&d;$3dR(Wc1fn29@e>F?m|*sVP!N{9IC8AzZTvz1v)n$ z9Ua|Ayjx`lvmJk6B*_>4y4eAW`oWyRU(F~x^;IyZ=>2U@k(h0h$rb2-*jM7ehH5ir z{>gF%i3^(`pg(kdO$I#p+#$fXcIcDLW5SHe9ayC(G&e!Nfx8e)swRNorffI$1@D|> zk+KKW?x=j25>leY`T+n0R3u)O_Cgy6Cuh_pzJUGUnsx!E_V)UZtD@$pEpDze4lH1d zMvwyoYpS+N8rV{8khs_^?!OI;g=PcNb^^okN*8Bzqk^4rY}U&rCjyfUM0S@Il}ZKi zz~(q?6SWk0U+{!4%HYUa`)Osfhef^5@y^&@k|`k{mogFViQ~(@jMwFj6aViBq+@SUx+Bt>no7ku(=|1zXd%iFq;F{+*>3I72bmS6D-;e#|0>@f70)!j&q}0V4 ztF$7GxrRb$>YvO-uk8vCoole{jl?tT!_4SDWB+pd$@ZDfDhkHAlI;P_|Ei66yoDt> z`zwhZ9D%wu+%gWkR+9ll;*{{VJ8Zu1l(Hbp-}QPn$t(!JLLVxl>upf>onOuWN34o+z|jzhYoHX8D< z$O^QA0qXD!a(4->*6o=T9VNfbg-JiI$}lE>^4}pgi>j_2LA-* zdd2MtiepR@U=w#S_d=FU*MJ!OpE`nk; znW-K}WYFU;ZtmQZ{juQ_?Cs%fKf%Kg_0C#2y-2x8Jgi}h>AWKz?|bI|+v`j1fw-D` zGbEjfT(Hdb0g5P2Ro%V_2O>z&i#?}%kQe4=EdkZupv-W6p)Z2?a!3KTk4JcAURR+*!Z83*AnM!^}|;lG{gUd@zp*hK5|gzQwKnx=yVIk_ksN$%&=(>kF3O|R!PIaPj` zAY}t$qzyvg-mIiSY6vKRBYI|dPT8m6!MtYi7z-M=k*#z(8M!V?8n#vKBlVvdD@_}9 zR;N8@Dz@{K9w`2IyJRhsEHaJyv)R9%%tf7}eq+{f9{g~vdnl-Zbtx#kDO+$aB$0!1 zTY-MRh(!vaz#Dc*7BKVpQAZM7X9k=TSH(HuG+bDk_5SFbO(H@;PhSg8U)}^wdqF zTzGt3eG0+0jHdFa1r<$DLM(M|DqXX0_UVw zeI^I6EwwH=LOJ~m@-^qJU{GCAd$-iQNox|>MbacE8L4$2Y()zaW#O=>>`ZKr=38bv zhz}+Esm;H&GBnu|V;P zz7#x<{QF9u9bV9+20%`5wtPb9@hELBpzC5AqJYGLs*-KAJ%8^09wG)r!7|a9{ zX%u7rSqs>aZ2|6?}v{s^ytp*g=ja zZ!ga@0+rLOvho*fABcA5c%?(rUA`+{o+z=bN*%-p(kqMShYBv(%lpvLM9v>0lOPj! zZU0Hes&zDQD2}gRaAo?T{DY05^dBTCEYL@>nC{>-Z%2Q6b>;9fvVFm++!LccqmSp~ zvs16d{DK3-^7!+Ua>$dS9Zzq->t+TZrDHLXRZ}PcHkdl2=IJXL5@e$ol3K%VZ>h%X zdI!$Gxf%{)@oj(rHaF3<_9T~2eR&4nIuzM&NI*-t5hoA7T$!GlBIVn~JI#WL@}Z$r z`$AVSs6^m~k!R&dlWzH{QYGXeb3vY`0%b1Zi`kJGOO)hDxfW|O@^R%Z-&qzscClGy zTzQA)aC{PvWosoPlX#&2(`Z!E%W!ryTv|Fw)>tG^QYTuQf5MBQmvL4f9HE8%&eULH zUxpfX9@p$=7JqLl9b>C&1o>w5RWYr$cI-v;iCOo6& zY2Jr`7-{t{C7q<8g|li48?rnZduL31N&%GNllnS$XCs*}uM*_4KVq&E+!{6xWT-1a zk-iJkR;Hx*(iyT3#5o6lpOLwo;0_dA8lw%a1`9fqW!>-cqnTSX=Bq}gES{vP4`dQ3 zQV1Pnzp#R%^cr{o>C{yG>3*e)CEm%FZn>ksz)9}Iz*<|QM&Gu#QO!|1{qLwo@B*7! zs>4PacZxs;X*1vXFIcn^KGd3npXX~iMG5;DvQ6|;aN^__5P$=d3J%c(xFYU5lBu=U zWW<+^-zMAbiR-+l48uts z!hEyyGWY{hN{`)P{~Xs4K-fhSLy5VCCN)wXqP!SLqDUwASJ02^MKSO4XF?I!67Jxn z3t>h@6R7cJ1rc!3k$ah=in?G+N!BaNqX<>d;?gTu|JhiPt~Fpad=?vGc%&KKIY0%K z8gf6CvPaLN)o6ho3k1zTQ$Q%!h}qs%sk z_Dsw2s7Mtw;l`>fNX7bCTK9fbNPMNla@nB;#ANEF=(Pce!K|x0=Z01_%utaJ42GMh zhPKT7J5W2XU%rIQ7mTnuNXG0b%Dqhm%5BO4<{eZ3UU-| zju{Odql>cmbr=VYz!`N&GjTZVLH0V@10?3T74GdH ztG(L>(lXZ@_*!gzkzrxX%7*(WH}ju@LusY!*rVyKI3FE*O#hS0Z28WN6r&}N`t1FS za*a1<_2g*4fVdT2_V$E&Um!X=h#(7>42sHHQe6ONq1(56CH{k9J)iwnUYeLO^?1~@ z7ZcC<@Gq>)m?|Ct|Mj1AeWpI-`R9bDwqt0mWbd5}<*8Gdka3qH|K2DXUWJrT@Qu^9 znD1wq2~vSj>ABH;z7#C*;&~Mgfr1(}Hj4S66eUW2je+>YKK0(w>yRp}oh&GL0cE&E zK8(<@@RJ8yMzq^U^x;0~e96D^G}+;Cjhvh(62xG*$_T5pZofP%VpZ}aciZFpR0kc= zwx^VEj)Wi5dMYnFr^eljP8BmgV3NkZ46^0(O3dCudpJ=QYrGRvmJ<7{2{?Sx^ z30f}C;jr=nB>yurC8_77a1v(7dLHZhUg6ZTA#>h)DIN+30{Q>uu6VVXq{6WERK4#+ zZ2JkSqn95Bi}mg*z)9KxaOf^dN=4cCyNU%i53IN1HW!A&;5-c3@^VJ{#)DT@_&mre zP+<9LdY|~tWm=q7Kc>8Fznf4*3UnDV&C|01FFAc1E2_kpv(>=@TV-0sGk2)^4 z*4+0Fn~u$Aeun)(<36rd_i6D_ShfEU*$s!r!_2>3^pdn-hO^>OTkeumQOXD3Doxmm zQ95tS*`WPsI5ycB7wi*!gm+t2oqcQ%FEj+@xL=)$TD9=+-JkY_LHJc7j~sROZe|c! zN1t0$7ZKY;gd$G$rFbqfG^ps2Zkh7n!`YXXP#a*zzuGEVcA0O*D&ApS&&-+1wHNMe!>=*P|VqG^Byt!le%3b_c zda_Z8Hsui^wt_?XMA?W1Pi&n}<2~W#%OaFdY%P2Jge8C2nzYAe+Zb^|(c|Yxs}kuf zfowTsHhB9+pySYP_R(fjb6)QYL?y3T`zS*VRxyh{G2LjR5H31l!#l5A?;6hj zZy(*3%H}{A+DeIS^J{?Y>GN^HpI_gylZPM}vfra(cGc>I+i5HfONY+Dg${C18uon| z2ta6>hq+uB?)>}>a@0|eUa<*p|JZCg=E%i^q>C@F;8yxKat8EaeXfayScjlaIFU63k(3>sOkOW1DaqJW2NCCZ`fV zBI6d8H!N#>o5jGD_Xu%!-TQ-$A`_$zTK<064(1&V2GZ$FKHRxyM(347hULc@bD~D)HNLGbk%(Nl1lSK4f_y;rw))b zqF4NciaUu68zsf~;(}XshBKAty%uQA-jpCs;D%tC`DKBa#@grTE&j-`-vx?`6N=!! z9>MwA$RqFv(C9%_6^xZ=tvNmFC2S%`V2#qRvP&9jCvv{i>XxW~Gjor-FW7z{K>uIv zWa*2i+IL_AQc%^K#dn27rD{R{k)-Myrgw-2E|qQP5VGz~B3uli9AwolZE57A-s4f0 zBV@;v7e;H?ot-S0qa-AQncpn8Fl(=uRlG!AMGer_W7eV56xP+1ZPXDG!{sVPhFx49 zM**5S2KHCzH_AiOuJJ*8^X3xuZni$eSQi=70FV_alcN5EFf5vjVJ zW{T^~ZCT!4EKZ!Mo!i6%ZKhTGTV9tDLyRM{$jT;P3)OG5xPL^>&*+#HikM7aJkT-q zli0jl^fZQSjJ^d7ctT<7svbSQWakIz^63Bvhpb10!grw+kaL`EydRw|G0_s5I2b5tN!ff4*e+H~UX|U}sWUrx|m(LB=-RE?0ts%y5!+*7GKre*GaqN%g41Rv` z{ssLLhQ<6DEE7|H3057k0tc23r|>Lf-JGQ~PDlT1;$$s>^EbuyI7L?gVB|p#vJX;hrJ|J;5L~q{^eTW8o=B+hx4Vil<$vrXm z)pURL$yD<;J{O@EqO?dWx}thA;FKus^*Tqzi~yQ8(1GsZe@rS7ZgwPAxyY^TonUbf z#NQES8DjG7rE;dJZ{GZsZb0j!z_DPl(Ci%5Gr%}ZcUi^1w?0RgH@=86)FhtM^VH+* zP070N6=1;`RIKy3>dE?AHestQ&nPsJef3``Pp&bv%RaiRQ?;w+rPF$rZs!c=fQ2FcKPJ0cOo)HjWq~_FY3V_=D z)h_6ywI#b9bVW^+dic!2jwCmxidG;0>-vKg9H|;=ofn?qJ?y~Z$ylVoy zg=Y`5PwwuaBq|pfeCKV%VWU4TgK1*w#1y{>(O%tlx-+k8)W5PN2SO z@?uz(R`dJ_i)di;xS#OpNK%)6UZq)m@lT5SAt-F}|KoR&1wEK#`BJ)`x>pS=gZX4Zi;Br)( z!eQa`0jh_kI|!PQ!!LYW!xm|@pUTtSgMy!>28Wm89zE3nCUfgO=^%UTT1z+En_kr( zqtzBm(GlC;BELOjSvwq5iW`353{%rs-FQXlO4>s9_pEns>RoG zA^a?2)-CyGENB+DbZI?(giriB6DHhRvI#bFSXu0@#}y_TN7^ zOKKHMh1w25E=%9m=h#_|n|qu&d!JMlE*x>KyKl5~P!ZW~=DXkr>9An+5HVqX*=h-V z%ObFlC6jzA%djiZwQM1or5s>>XIxde8u)JqT~z?GMLp4Ci@g|bcwC!}82fr+v)|c) zc{Bqg`A}V*kgCVdY%W(V=0eu6)WC7lsFV_#P@$8Q(pXEVE=nNvP@nt{{^1H7xNE*Ata&Gg6 z7Ef!(2DrMo%P%)m)SHKs+AniZ{B4IGM}i@#sa!eR4&UiMwD^py$fu^JByN2cQf=G4 zNs{WG&$NHqGtN-20Pqr7R9zREL{4 zFR~}?iV8kB+aZ{t)ESge8+XXfM8k3zu?;-xfxPi+ri%8j zzNjCd)}>KWKrmjrsDikE?IJrujI3P!;5$UQ=0Q%1ZO&kAL@lCP$QFNC$pB%1_(7H< z9Q>TMN2-VY8!O`0p`MgoRs%q)eW`a{rMeQHEPm!$U=UoeRFlgpo(Fn&a2Tj+d9J45lY{U9S5{`72x@_TM)7evLiIs5!qeV_Dcbg7h%+MlYD5B4~| z)`)o>?}>Owb-VJkw6kZ|(d%=Gn#-7nS5M9cxZ5w)sK1vHv~8@_eZSk`%smh%og5Nku-Z_>&NNK2xpv>bVpo;s0`Q{|sE_`1b3(HW=e z=4UcsNUhebeJy_5-RsDc?Uwre*~9J0XAO;VpaZCWC5G+j#|kHdYQi2i=yctox0VCa zr#s(*9Qy)ISG-*Yl<%HFfvm65?$ue7qnc^$aBE^}TlfL>Qi-}pyOaj29UNuvjm{!K zYB0jK+Fl*B&yA*-K+%$;3Y+%Yl1^SaUYkC@g2-p;gS`PM~!gJqNg zmi@yMx%4h_^VKks0_R}3JcbT^4o+ox)-hS5^>lecLHXhF>yb@J{rF~Rq9h)6t7k1) z&R7C7luEY=+$AW~4!=hjS$>~k^TE`dzWVZlyubZ^CW{$8dyBQ#wz@U`@>=PYRJw00 z5QUd#r#?NqN?z-IidOE4{?8ou2K<|wlDzO0gVOaDq5GWBUd5h0<08&rjddX)D~HVQ z9ZqalKXO~GK0C~RLpwOtP~D?xE3Is+QoDSMP@J(jK6O1S{cH2KK;u13^Hi5_Q+rO3 z{J8k3@BF>gbmvE&;g7GZ8FBkifl16y7#TStrBdUNWZaVJ9ap;alR!>1q^e zyE#x~o(Q0l6iz3tQ^Egg6*C`p)c}*z0g3u>Az9BiG7A!r$BRw`dP-0Tb4_8$3}uce z<2YvQ;vtpI99ztYd0VU(UU7zWfqfc8@O{B)tSMxmq69UUBpxQd`xal)RPnw-q5FEf zrn97!ZO~#?J#Tkcw1Rs+Y&V<#9s6WM)TGADr%4 zY+{yMYp`@H9aYp^o%44weeA8hK3C>qYCS*f)E-CX9pGj(VwP3q9NiYfx1P3zDYaZ1 z8~3x$J{&}xuE#mbr7OD;$qDtfL|OAM#v#G2o4>BSk7{6dCO6X$e^*gX zAl~M?F&$;qUe)7w8DL#FTN~L_8rJ6Hkntd+wLhAPWr)OjG-uJ8_3IB}AM{>$KmEHEqy)u2^p zeu`SS%$sv0g2KU24*C7umF61TRQU%6(5F6Pz??)3*r~I-z{7Wb54pL7kV?SDO>GC9 z9w{&XM()si&4n!X8R8{XEV)SVHCr+&C1V7A`H3UJLbM^lw5;meW?#xb@H@MCDt1#BQ%YI@@4<>t)lo;J`n~QbaSNv#VGX~;mh-a*eSAQ zZ)Epx;1=Z_T$j!_|CsRmu!q*f4(?(j=9yO;b-$Tg2lJ=e5{79#*zU!P?9P=oh<7>m z5F-4{f4=6OX`N$haA-uj86t^q$^Sm*9_iIv3GX{3(6 z-8=str(=q7t#b17^PA&Pvjh%BWo4z^CGzM8oexx0 zYFfBXWTk$obzJD$BOFG!Tk`BxMfHc>XVgA_NlAMfGr+&+@yz$jj&=NBP6PrG+yd;a z5hz&*Y2i^-`d=L zv6Ck=0QsSJehE5N?*`{HZyFhCj1XqPtYPk5VIg5mQCix*`7Zkfi6tV_yQTuON&e&I z=4P0?)U@R??nRzk@ib%OgUru`1&fS5+`oi}*9*VLF1=t!BL|@CeuRnk-+MqrMMYKC z)jg)B1n{mEfIc;Y6vRFwnqj^d01NNs@9%t~(*ayfHo*kv@slSN`yhkV>>B(2y>w&a zF8eJadgNMKdb&$c5c(_R-{?hgv-)BuiU(LKScwCC{!R6###Xc{(_vtDGQ&-n4y|9M zTJ?K4VQf2B5P)HwWtT{~em+4$0le=o_)q9q-w1q z??Qg*GuxDhBG-&vo<+R6rj~OgTqK%YT`I3t>3H;IheH?i-Z?rNeWPT_P0o9Dz@=tu z2^$yn#k!0L9k;P@@y4Yk1#gUJ|70k3+82R%{{82d*Bmzt4CbNXLSLjTa-#T1Fpr!U zNw5G)DJgKNcnOmy8hd2cLzV{_X!5GD(d<=4h2AY72oSBGZ$PMQY*td%(@TBd+p8Ci z*bIs~)8rP67fI#YjU>bEXW7Qlhct8^a28lw*Ig zrth79Ul@Tu&UNhb7?FeKx#cB zwRiIY#QmnT^WsL8FbO?EHSDaPsdcdh6#mX$>7FOq^({S+&y+@;k&^0wAZwecM8ESg)C1{>(t$Z z?peavuU(URHh9~~!9h1Dfm`+&fYFY}i~m?!8i1|yZFIB%G_)NcjjO#q z8CrjbtQiO#twUkR&VyiV zH_F+c7cRy7U*cLHK30)`yBHzon^Y$$zUR9@NHZ;H@LuCCb(If&OsCwaS9o9R-wUz; zoj<{Qj8%ZQdG8}8CU&#YzXts83INh_3ouCZrgT6+JB8w8d9jaX;V$&|=&hMTCGx&^ za*sCn8MHuI+=cRjG7RNo!1MC*8!!@$#uZ#rfL-t6?ue5a6(yn7+S>}9+iajWWN&>f zl`Tom;DH8*h|p%$yu-w54>Onb1LVKKD2?28gAMw<{8q|SWKd!8Fdr0EjKRYQ0ErKN z{rWXylpeCW>M`sPif#(ZfA{W+zLM_MtGTkCbKRX>{hVIlzWXz zpO0pFO-NYfv7E?1v_L)kU9f#A=-F2_o3T;q-N4Qd&fT^B)M?gTJy>C6g7tlqe8r5mLK3y&Y(DR^yZlSj27b2|HoAo{=@doDRMHApS<>=-H0jFs{ zJqNfD=QqbPx7GkUmh+r>oBM84C`I6)rOhR-jTQp-0jBG1Yj}a^#qQc?p@w16XRFn< ze_0(dUJ{^;QIH5yIfc~FQ|Ch0wkVc48_y*A{NIRPzqTih2qLO&e>SoR>Mc$K1xAq_G?4Hu6_&9neHx)%IX;yh^F*(`x6PKx8PNz-xsCzCsQ^u$~++|YAeF8Bv59R zQ4BlvDfBB=+0*$jdP)ITp8=Y1IR?UaY0RsHIVsT6vdS zd6i~(wXB#w*xH^%>p9z8m+f)r-Fo-GF-TMkX%L1+x1h@XYHrR>@5YVp@FfaByzTq? z`SUY~j}B0zqpz*21MiHN<-n%QgtD9?Ah9k35k6%Y@I$6Fy2U)S}(w}<>V6#5=o}P`zj64W&$3kITq{|I<2G!TNJBk&KL$hJa6x{fA0GKMzYKoaf*Dv zqaiQv@}5zNRRlz%yO@3+*qJ|neapW`Bs4&vfBw-l2SNZGp}I~^`K{gwyb5{cx+WF} zd3bnM4;?yW(%1vsO~?MKA0acXTG?;lMX1-{K`swNT3b4oOJc|UzLOL-kaLm zo0D?6PGp3xah{or+NzcauVHOFA+Fg2qp@O9Q}WS_`-Hq`U4xYvQqDVXpIp z<-UC_$JUm{%ksL#9n-Y>yz~>NHX0fm834g7$6Tl+MhXHor=b6 zpHhjcZq!%f_TYEd?hQEnw8zaoi+Sy~29D1t!~*ks8BM^P4K8j_U^gHg8PJpMBR)M9 zl#079cFxc?aGlsgMfomkBwe|J>&}>prJ1p>t_pCzX0LRjxgChD_^-bFiFbt$rAMJkZ=KSd+o0dwwd!Os)S$p2VwbwvvPRf=ZFh z>pgtlPyetz7e?Vld5@VPm(7BJ%U9RXaF)0`yB1Y{YA(LZel@)heN72inntM)TtqPT ztSvVR=cn*dpV8&K?XsTo-2}rx`J4l|wxhGCwb4JB`A&L}%W^lQaGO7D6%=QiBR|6#>DdVa2=(zE!)1^@hG&@$VzcYBm3GL`-G z1M#VRP^_nUT2pTD1dDRM;!SRMkpCsu4;t zc;BaW0e_atcw<1_pNZMosfBd>iaqJg6iGED;$<7Nv-{AxN)MV)S93phv}I2DD0&d8 zc^^)N9zAiQ(8?`pRP@!{E)y+#qvi;6Rp6L zR387%lXn&HjF{EwEm(ltjk9>-00-@>Qnw4{Y08F|En7@Z2t;0c@bU8FBce2!dK^*7 z$ZqWS?~2z{i#>n8vt=lSVQX9FF%5*}NtG>7*1BV#9h8dfs?qGjcHxPyIazF?G>1`^ zC#21adK3=)GGo-NaqUsI)0QuOL|j%S_-o*jTHRS2)hLk~!&>M`Ww<-WdSx_q`R_hh0j%3SP|l+&rbau3rvX3n%fdrWB?KyZqF zU(Q_Uem6L1N7%B#U0+Yfy_*?qTJ&_b{CGsZs3%zV`}(#i-qg)2o(zR6o(hSd&E>vK z*hb>MsLf^{{IeF6B#3^Yc*CBFVZ6Nk`~hm&C^0 zHTkZ+s)Ilbu@gM`B$`loF)GUIZ*AV}9%p!&XXWDg&L_G+Kh0dG-CeXsbAe0}uR}0d z#q8_BZkhj0zDGw#7yhgguv~x!+xXqNAk-ryG6{K!Q2a7D2lZH;^`pl}TiM7)0xw1O zd;WQgs7K~Y)(MI?d-%kKf|mOKW+XWko7Ee&IP}`AeRk#-sUS_V7I0v3xH=}Gim^U8 zBpUEdZ(p6(bl{6ywP(ffu=gZec&fjlj8JY;DRi2B3jr}EkYoje*<0R383K)t` z3ZGO{hj(U^Dxtn2IA`1^n`e-N-ce7@-S zMG}sAi=BF5%B1>Tt9umNTX&frs04>b@85s%BuA{s!wY%GzCOGW=a|ZN z{q0QvXM~?PQDNkG;=%Q=7q5JyQ|H+y{IK&A*$Iq76A@dtShr{5_vL36(%uiXRW|0= z@Dx*1wClTG=(4q8lAf7q)UyX@EmF(EaiAau%$9TD>V`iJT+|5QZiLuCV&?Gm4J!$Q zLP5hc@#zxZY>fjDXh;-iT9?skR!(z&$Z#fvN4^%B^8uQ%d3$C0D)>s@ zfI5AA9k%iChsV;FKu7jAAX1*gt(ruvfvzbcrjLWR+WY4oI)&3*Wz9(k*&dbPMEESk z676~sBPfp;D?dPHD;*xl#F2V5mxiU3|4tis3`@R*8eYqc{qpID`P+B_j|`)oKT1a= zJsT3u@@8Ub`Q3T_J4>SnLEoZ431R8cyf9o=vyuoGCY4PrIuWi#mH!KkEt(O26)T7|n$R+Pne9naAf(!j(Bz`6;tcS(_T$em^;XHJ!XB7mch=rnh zdEszhYTIoRJ{$OIP9MKtkN-sb_EByAkD;x;bYlFJ1NJA29?&Xq+&Nt^eypIx?*l9N6SV3-LhqAS|DZYm zd5`D7Wz-rN@Ds1c@lD`P*&>ZQEhV+wcN%2@OfCy2O4lD{*AO7S=|{qiMh8L3L5?Mb z=>|_Q$z{em`7nvM^9gr;yeTN?BNR-4tIYIqsKlDYe3x(!cG-V#{Ri0&EJR6ATcu@Z z1aQ`Q=kMioXKcDz{DA;wVH}lic8{*WM9H7G)?1QT2(O4qe`J~9mf0yzzrrpMc=4?< zSNkvWT*?ba`mPI%3R$J8MZc5U7eQpd#0LL2I{O9#?-zUDcvRn+zuHB=e~BJ!d`sf^ zh5=wJCWr(^I=pytOQ)!Qm45qNVEYWf-7wQ-D8;t&TVI-`cPe~|u+@X-`k%y+0H;tG z0xX)Cg!7O@ai|i!J7s2tbrw?R7RZ}>O5pjcs;$iwzP1k#223~{j>UELx}DuI5>)AC z!@aXV02<#6kbi_e#~T1*4|S3l7H@7=oNxg2+5>>Pa*!O6$NaDj6Ac>xeudDZNNUPV?ky#09&ng&52s1ZEoG3@5I83KWZnrT$0JOa}i)-g~ zSgG!yLLB;#e;Lx!k_fVB7q%N5${JK!`?p~~errTLJ4ZG8b@B7deWL6Z;1jbAb^*#H zp!(TClQwHd^Wf1@6Fo7DdFo^5+C#t@@xqOF&D~8-$56L@h+E-Z;$LezqO)mNHX3fw zQ4%M0i&^;JPTy4TemK!hJNPq1KOCX)?&w2%UHr2fE2%E5R>xHEedP(}R{xtIJ3FY; zoPP1_{+;2*0J&#?u;Kq+YP;_R02Cg)ff&8=$oeKraRfO#EBw7MAgu;x4v6QYw)>TV+M_TWgLwdqe>xqwQJstLjJ8Bj?pIe2i;H1>Wa;4EvfT z(8#OXoz*R(vy$4fiTyVhq~F82DpCAN=jPr*ML*i=r9%Y+i@vnFS`T@0YAV%F2i@ERj=kxu%@89Eb zKkojT%XPh8=XGAs^E}UUPCdg39Q`dA1G=K38P5Nmwmsh7-dTqOmhk^xQ0K-E~1sIEV={E#{Cx+_a+Uxrw}q>}wDmX|$=*)nVA6>;`6E z0rX#&+?~GTHRnD9Fgu<;qqhIy&)z%?G)@?xV-f&a-0Hs(W>REu6*l(WpsbH z;0oNkiNHA}j*PfKIl9H71!oEqbJ2DvZ-5=z!D7&Z`UeMXq44iZd$ISH;E#~tr!38r z1bO*+qiK~V+QyrGn32b&z~2n0nuJ!p?S?~1uC1eD1y+>r?_-EXC3a)>E(RF zN2Q-t1P!kYBe*YHwO_8uFDpWSVx?|>$##sUJ!CviK9JkSCXP+<$2t`5erejIxWEdY3-DnTF#Bys_0A)mOepP1jh zqvIymcF^QC5*-^8s@5Ao742Ga=(VADCo(bso{OQyqn!_I55GlA!Gl-wqmHhj*6~RG z+2gU-M0mP6I&a2vITCV94;~5*IVW!6cG^-*__V52qR10Tabbqy`a5%%*?#M>r^ZU; z4Zbgy(%s|Udu-#L@s^@%0bJkW9=JVikGY-NoajEAqDzVe`x=%^Kp+1TP>`I6_D?o} z8nQ{*Z%`+tO*I``4!Sinbq zC#VKP$5n^m+n{KAUgs$KZgU6f+gDXrfE={^h#OD zwbTY$8%RbYsjVp7Ng-q8pu@Ab~?9iTs(y#z@ zS~zrMPCi+7{Y$aSk=KaX!hk16@r!%>jiGKY2l{iMwbfsU#-Iy+{ciD@qNZ0DowYek znu-)B{a*Ru5}%8x=c+RP_PMu8*?XQ|(!8&JH*ZxWKInBkxv@l2^O(%q?NQ=#jY69- z>`kR?YnseT8;@_8P4RtO_#3#8Q61a={pD?BIRBw=Kz2TbYR@m0lYaa}@G|3?@w9vs zzG$W6H}*()FVJ+PbeDWNRhs?)ln&7DUAiRerr3iA^yJ9}Z|$!_DN9PKnIxd3`SOdu zr=6PynbG%;$7}-9Ry~EWNM2B#a}FX1eJ7ahaKiT*9Jauv;@d9+%G7hKgA$2)w5iI` z@z?9}RllQ0O*!lBj&(U28#RrXQ8GeT`wZS4Y*KaDI#d*XjpiN5SF_M!ea5q=-Aj{> z?Fwu32$$GU%3daHI4=Lh!;dYvzJ$w6&Gq#30PcQ=`7;3n2paQb+P(%+N2YtygW`EhgTYfI_Q7lek;C3!0(f8VpU*Ft&Hvtig^DH|R5W?X}*!mMFYvfqo-j!DJD`Wu>1VVQP^jK!@Wk-}~?QrcH>X?%n8MmNdiTVDyi|2G1i+((QecKLO zLmEd;tyuh=Z|M0^Wh(9Un`njl7t6#hYwTsWRrR?m4ik^nM39up^mfvD7JhgI-ypU7 zYL+%nQcUHQ#}{@Ucr2B4_rA3JhI_|XrbJX?!{fZ zCj}=B5!PY0pA9lc{U*H4 zCH%t9Nb{BKQqpbAiuf^Q&g3u7D3xQah%cPD8d!aUX~rQn?YQ;E5%IsluX%@L?5(PC zZweRupa^H=ZWJ-9`8B%^U)zlPKR^G?H03W^3_oJnZ@gwTU$RzG z@MTlk_y{|(VT$T_;enS%m!2a7n$cnp?=s8c`!jy-4dehAjCB4|UCwad_;x=(KY>=f z+kJxFDWh7Z;*td=+J_PiJj;XwG4INsf5t{r^sPp`eQT70t1-1&QvIamKfh^5Cfhfj zc?(gTbihS09h~Rum3&v_O*h{7^!Umwij<~|#VY5EH+ZgXDkZOgK9_98U$o5CZU)$u zCZaKTjj7SFw$Hb7a&h4Mk3uV~a``Z|8j4D`4fJj0<0;gJ>xJ5%PTZ)wq-vx4^H0A1 z>jAHYGrFndh~`+8JzI8$w|Jy3S+c-AQcCHG!N6Z)y}J)w+$n>yz#;I zyWydRNXpQwf~sGpSv6ytHkc_JthTlQw8@39=ICgyls8!x-9v9YlXMxO8t6WeMd zzD1G@+0U!8`l5NRNNpfgk(WR>OM{$tVnUJ6cF%p~OPmHO54g8%9u`JEWvT9IxbW)( z=gd)GnV}4uS;Ev0^KZy74iIx@!!u|L2iz5vBm-&ld`6rH;um{ZO^AzXmlt|`PQ=%` zsSeIA5M;>4UX|*8C*pj4881>f-COaSfbBLWj4uwHz7QazYq`o%;kNjh7z43BRsNJ} z4QCm=9O7Yr0P+64$l)bKB4y?o?5U}#pU((;a-|jltM(DkF25vCRL)Y?PuWhqWDs|L zo%;cKifh3glC758;MWG~FUvanJa?NJr{oO#AeG$VlKGBFn}UO8p>av!_8HZ$(@U>8 zq@92G#7m*V945)@DVm74op8t{6WqDD>GuDoXPQqC>X z7QEs7H_PWc9NXD?rz%GFN@1LO`FPdl?&7oMs)nDdvj(f!&n_4p@cflHm~-w(-}a?& z7^ASeX>Sg;(T`=7m@?{)iA_8;#Uu%JzA!D4?7b4*9%Gj?6=(aIbDu=n_~+ew7eV{i zj2Ii*`J#`^zcN(#4E>DUp}m(?yZI7A+YOqrd!$aos+Z2|a1Z*j2OCAHf~te3$-j*p zlrEz`_t48rOag=99VTM6@zyVjdlOkfOb7T3jR`9cE58K%(%~QLlJA|kG5*b0+yX44 zH)SaKDbjL{d88jRN%)mz`~+>((}#!WbB4)eat~Dhyks-_XenMVcQmF(Y4lUFbk6!; zdvjQ8dGGZczM3qHFjDe-Teav19>F0P+f-c7K3>voZ1#j z)#x5o*<;EGXPQbZQ{BTBNBsY+8n@Mog;(`~V+$e+%HYG8GLy=pH1(}Q{S?Cs8wK1w z2HUN_jpL2aZLD9YqbVoR+qD!)557;7@L&cpHERk$Q_S zsp9qLzgfMl)l<5B{rND7s`QJOZe%TWXIeE_o@vwn+`dW9&7z(#rt;eq2H~RFgvAr% zNOt(z9~^X*YJFE!QpK)XujY?_zex4&^{b|5!c*hyFPX&cXK$@`b4ID-G7FUTotc3R@@<@a_@>MLY3-!NoHeV*T36eQ z$#L+%8XChdUkn(pp{lD1UZ6I`g(u##%IZMt~|OS`D~pu-{#A8 z?a${uo0GJEUVCuUt}VfH<{T7Cew+OC5#LCTN<_8OzAWjuOsb0c{AZB20-@cu8KX&kzE)&APk zoAhV9k*^C7^9=)@o}Lf1fJu$!?v0nVVy;s@$sLl4({5!{f2Mt}pX(9QGM?!#QulK# zLmG{5searkdpOwQub!}dr$XraHr!Sgyno>^8~Pm7K_hnqu3k$n`yS{W5{`Db=RBuA zu?tsKdg@b4i(M*bn*uf?w=BTE0%2=BOS!xw&~U;d*-?8J{e|W#e=#KPUF{EI$i$|8 zP2A8pwMc90FKhU@s78^{+TO6`LoO%*Ev3zJoFbJoJ3!nlkhr#n_SuZ%YK9A@{_v2v z>3ANS0T0jLx7WTYanH)?i&CoTgv;+O@6fcEwO z{_=TE&j@Q?H#ObL7;cBUFM-5*Tou*r!4DG8pr{%(u>V-^lKI~@Nd`9_J9qx;n&j70 z9U=0o;}m?{4L&G^P_x~sEil$IJ{qg3d1ef{@c%BkfPZZbJ3{8-%o-)+}zG-X6T~6LZt9B4LMr&DG ze&Zs2#XQ*N*~+}K5A&P%CEPZ`Dcn^SpxxG z3q;^CpPZ{oBYM`4X8Y-Uz~xrGchpV=@Ju)^pX6pOuk zzcm*Gww*vgxj>RSAF4a=_wA8G+dSaPuf(U#xhfR)gLIvI?2(F8i|v9{DNR{m^yjV^ zRNG&9s{E$kVEy=f10>|=-aF-%>ai2G92;s;QBi&TW{1Upw|E!kPyl4C(Bj$=Xd{;c zyx=FuBRI;GuFwmi%tJe!dZ0`^Dr;3d{^~=-noO7s*M4cFy{AerHrtzaO3S49`xh9e zOpO<0ZeM^Ylkoel=Mj#eaXekGT;=`67?Jzc2{oWPk<9aQ80?e!mbb(wP0(W12JCPS6I92Yz@@rCcb4BJI_STOr?a6Mh@&5Q z&Jn*o^V-lpj;Z#n=^ul2@mg(Yt}(O_x?POIV9~8)=r8*tev!*d1&f?&vaM?Ae6;UN z9Wv2koThX65@RiWV&V?R$eiQqhg)aoTw3GxJ_Y21i&t&LkbO7Yru?v89p5Kp&wp)K z$NikPm?78mS*AFX=SrGN#KX_p@xMUXPXkCV=)G~Df4Tt;p(x`EK?J2vhC44Gn%Ff& ztPRcu^4TneVya>e3T4}UQD${eTkHz`VFtywpL=~HIWv37<>ZZ4cC362jEuIaNcu%IjRK z)E>3%0l!kg>q_arjvOiFuzlC8U90AJ?pzbUVC6+HI#Vj3lZ5w67vv5N4>R&(d%(-& zw(@q2dX5Z7!|0UCX}3OV#ZGGIMpA#NCENzDlY`nOr{^tJzrX7ir6i+8#$@?frO^Wt z?Mn`sUW{XYVC*$|e;To~vl|Q#3;R`rJ!5BikLoKULK6h`go~>>K-yu&H^(yLXlPPu zp?D!q=t{0Gn1`Km`uIh|R{Wa#gm>)@xMKcYG7YFJi@TM_zj^MG)UKZttZt5-53`Uwo+WqX)EwV-ZQHBBy zrrS#aMPBdUa0pB3d!$A?UZ3&svSds^j-1|K$&(hlZW*u+bVL~Rd0XDzR#;s9&I_Sl zxzfKO{tjj3Sum(=4)27y;7NIO&Z_nMmgCbu$(C|PvKu>qC3S(mMuP%yA%S?iew>UF zoOPbdVu9zs+P4Y1v*kh^dOZ^t?EqC@Q2nprF#>Ivvf=h3b?`b>kZEL z;9zhlRtwMeTN6R`nuonFSsAf<3i2l|Xs0aj3T8)DYx^&K zuAg33RF*|(dBO6IK#FP-uK!PvCOxAY1X7Q7eV7_Ox)6X zN6moSI@bAPvZl*}9MdN<-mT~VYGy3kF3h>82lL|{@UTD1;FE)(REKO3P<4ekQ<#9{lnP4j?RctYEvuGuRYw-aX#lH*kt z_wU|rV=p%?zkSR0%C5@LMt44NAhLwLD-GfZAF4C<<2o9U4MuS)o-j7(S5+hWPnOKW zp(#ys@Xs$45~dNnzpP9sfj?i(g#G|G zd79qM;E62>Zugb_yR1qZod??v?MS41JUgi3t#Qwa+?QiqAK5$a-Xr?gsO+^9slnSx zonfp9<}O{{8p@erzh^^wT<5^WK*RWK34c-<>r7pd9f+qQ62mxin`x_G_l!C5#i-dw=1y7nODA zxvP!#CEKSo?z`UwAa8QZSk0rr%IFDk9=k7ZZ~AluXtr);vjVWfHNwh=cUX_}AX0PY z6bS-#V}N7hbnrLHiV$ax?NISF{J1Nh)w8M`p`i z=0E~9qN?xv_wOn&b0uW`zNnf1s4){u=jwjuj5~C_pQhAPQ6j=_G2I$j?90u{%W1`mM_u;p3Xjl%dMFzhaGsc;E ziOzF5g?Rjwf;ux+?Gel2YxLZFViDQvQsLwqiR(ts!a>B?G2z)D!}%W1ME)>aU>RR9 z0W;JGJB31ad~kD*Sb4eSstcZBbMwUay59^)J!yL6f>ES*647HSk{LU6!59IqqqB(x z?}YvNWl`&EYz}{sK%6*L{`FKSdxMji%^c`h${V>7$zp@XSTaz#pL9fE=pYVDK5>5Y zI9*EjEYWDZVKv?1J*f^~P{nNdy7dAGVqiMS&+mjeNuQ-LqwsO3W~()h(D5 z1M*CmDJ2}A2Q#I{+RnXW8$J*Tw6tC4fdre&xCi4HtinN0iYoqi8&^;@nVeys*9v^5 zdc92s$VD;3*JtFS$l`dJZjg(zYUZ?7Kd23|Gz7KrL;pccX{36$C5|cmyOb0va+Pvg zyF>X<7Lv$1fpYCIQ08#W!Nw!8`%MfypRE*({P=E?pIqQ3<9Tz7%Y&R7hIQZ=Il^_)?H4qm3xWi|*? z@~4V?gTICHJBxL0EB8OJb!-d1G@l8x0+Se2D%J3ht$7E{L5~qgTQN}Nx!H`<1w?=8 z7UGdMT3gy4vDD_~<&894I2q|oiUV;d|FumWOPh7Ey&niE$Eb~mF1jB>Qd&+AL4xl` z%$+~S9S(axhYA|p6D&^xv!Ic=iB|MW%b0FQPadM^WTpt=LldeZTi^Jw@n?GzVkJ=~Dhl$YcBX0&^eC z4|NX3Q9F9`Q(x|_Y(Lc_t|4ksL)gz2UvS#IxFW$|Xa;AD(?o4`0>mIhvHqdC$W*QDd z)Beu0M$aoA4X;{knD6&=Q=Ws^`CIPwA>r6q0%h%f_E%{#njnER>eR&77UfO9zomce zJih`?U+t^MKS)F!j<_okt$rDU>X+0mzS_%$SpKTRo0{W$OPGmOz|gO(w0aHY#1hM{ol;|3X{LJRm!rL+{c{S8nkhE*HWV2Sc;P8POxN)o2I)UujB($= zrYMK)+XCecq?h%t6AY|sLpdK>3UVzfzB_rm>?z3OWqP4fztWO89&|`@nWO?(D~>i=8QDFN(bt_i`ur)$c&~t z?P}=>Ts}oaN#kkkiFh-*m7I)`>Q^;!5Aqdx#I7Iwmv6(*VPx>*smBP3!y*;kWN#b3_b%WIeX*{bM z;hda#i<$pj#?NcTb0(QagAtL$a@xQdHn=sWf5_r%Qo0S|^jh@}%=BNIl*}F`_lh}c z^_wqKBj#(c_OXTW`PEq5cc!&LX3-y$S`RMLtr1(EUD%)Rm2tctj!jcprO&pV2i7sn z9=g)sYD{bHViXqVe|R1=m3brZL0-TPr*s2ZLZ^#W6 z{ryozjOiClnU3@l&e?Ph_>=0TZD+L!wXcV@yeoI=yf~>yNz86Ts@Xx08% z?m3t7a2vWsV_mCBM|U*Y9yG6Lsu`XL>bra9y2mGpq&!OM$y17t39S@ooR>NR^RrgH zQdU;x{_`0b859dni8))G<$#k%estg}m+>gRrNs-Fy+x=B>He8PNk^WeVuEd~c#j&a z-v)eX3KJ6CNerkDKR&y>H7#E!(tiV?!95S^xq#5-TNnNZAoM5A37efMKjV|?sWHx4 z;=4@ytEM@y*8-)t@W!f%`Uop7u%@P*6f{-9(yY*O{v5LpzlGCdM4LU~Cp=p(t_5tN zK>Wy@^4-K*GR}DU__AdFzS!iJ=shdTS*wj6b6i?%&lw)DZ-_8^zJ6)58xh;a9E%^E z^^C8_z-CXgePoCRY%_I%_QN|4HXa*N7)Nyk#ypw3yRCFTTXcYqU~~)T`_1CuhdJ6Pq-d&dRl+FJ5TvUJX3~Ni&gU+Bm049))nmh%Zu`z;7KhGm=ck_-bThYrUEU`A0XPp}MC<h%;aJ>ZrL}UpXJ%A?>ySB(fSlS-zJedoCm}gb_35!@v(v}L|7c1T|H_5H< z4%z3(Ui}Hbkuy5#ih_xYqQCE`_4}w7G-saErA8!0s9{4F=Z)>SWx}smH+O(yXtc50 zZQPSC^ifo_RVB|gm=Wvrc~)mI^HHdMdZuy4qOb-~_3~^O8E%ypXdQB@A-iL%Xw1=r z4em}^*WL=d200Nh?%x{AoDuTVR|Q4?fDc*e!+`wgH4%(D!e(O8GXVCql4{dwdx~jDs{gzo4hD3-Xz@*mbijJ8}c`2?IgS{TVXE?A@L2hI92cY#@x% z=BIXT4i;%-6vf*e-FG3zNxl4PQJQ_cG**7wVD-H*Mbg-;ozG!!nlW^#>C*nT@E-&)%OQa0s4|xFc<9y-cdPY%;#Tvkl_lb9y zrqmRI`_(rc^#K*R23T*`aZ6M4^>!}V=fdOoL2e*}4-eavLBGR+h)z7B3U#J`w^?we zo^4Fk8;jG)ZW|@d9@a0Xr!h;*vjyUNSr#kZ!&U7cm^Qc;M3Z`Tv4cng^(Qb$=|K>0 z?mb3By_tJC8?KDT-1fxVNDMn)SSaUx-UC!<;B)=$dqvEd8?LLai`!dyB=-ppl6`}s z@Y7$AvRCO`pEhz0b!3Exqjaj}U=<4r40G3@ky*d3B^X1~Vb1;qmNktl`~? z!?f& zC{dO)vyVocMv=cYDjK{hC zo5*5!(&^mA>v(d?vqv6QT)ctfoMHRy;bMt0G43O;;Nu3{ii_RU@GZ-D-Yjq1)NT1n zHIrY>Z>*9*7VBS45kSj$>)q23+Fhppgg5&O*Au=+0Q4j!U_EP>@s27(AhejTTfa<$ zhd{}QabCMic*TKc8=b18ifmIJtieiydO~_XL7H=pm+KKT&fyleqG6u%sk?Pj_y~sk z@G>65w7tQC@7JwooN2~~E)H%m(`}HF#RZqP%4@Az_aCUdC)~vPUd9tWFwW>fP++jWI9KM?x4SCwzTsyT@l`k`sPN{c*vGn>TLQ#f{!_ zH2A>m9-P>K9AS2?<4i@;uz0q%wvNscKnJt7Qy2<*B)Fd8xq{;^N{C{&^Dz|vPGn{! z+!VT9t=sC^eg#Fj*Gt)s2<_ zGr9s!j72{WIm;+hOE=6v3gSn}q?P3Acl%D6R223b2Qph(Fr1;u-`iX2&v(`w_XGYI z1*%29?B%X)-FS82gP?jf$XPw1(c#OFcx}6+gpZlg^wv20!E)Xg2!PaDodJST3JMpF z%>t;;6*B?DgBcORN}(LFqo%4CsG6)EugCX$tn&6e9o2G__4F zBlgxq6mi^onEKsyk{e_1|Fx9=9Y1sNJ?S0F&-^2dvf&J{|NDE*PRo=*5JLGRm)L!EIK_3&Q zq@V6LQX_`hg+K)__VYd*SCZn={w3<1>ujHbn2gW@~7OcAQa4&*20lnZ#Ct zx4cQK+IS%Lp_mlIJUe5_!Ud|;k~}SMnSAk^bj{)q4jLbl8aFziNo%WS>m$RjmL8uq z_4eE7)d4Gs!?rRN8zT@9+w*S|8%S!4UQ%k*VKBw^(mkNyMn=wF~A$>xt2+IL=1FsO`y5)KarG07A| zT-QR|RFqCsn*Z*SBG0Wi8kf})a?d|`D;}6&_gcSLtBQBp8W*Zd_N~SH`H6$z^E#RA z$hAlnAmzzr7df*JQ!Q%MZ zLog68I?M8``WN`c#>OT{*``zgVzF6sD-4CndW@zvB``S!;%&r3aodnR`!NTYshrj~c=3i~m-Ufkb@ zM@a?Ceq+QsbrmLk&~pnK&o5u=V6sya@(#OHV(8bM@N%qrmTZT@xKx$fKo#$qNNm>; z9Gjc{m6)YqR6hJ*8U0@r%tq`B?^zQ%5wn(WMqvCekxMn4$0V*i2m@GLw+2GdKycus zC>7xzfsORG+T5k@Ad^q!mG?^3BgPG+@=a_L=zW={L3`jWWJf`1Uv8 z0QfhT?fZcFub_-zpdB}Y`0L+dnD_y~zdQCvGm2(&c8(PO$XvZpJ%^S08!}oj;m4k@ zYH;wq+EJQ)9f~<{7Q_ssr>mbXCoy|0KesrTcf%)SGc~4bA$A(hWrax#SX?D*t;)RW zplOSY#)Vc{kvZ zvw-~)7=Gn(qmG{yUl!3{wJSxdj*By5WwCu<{Fmva-|z)&_X6ghh+&}ToY)NI@-IP5 z$pBgf()Axc7y*Xt-w`llRF1~1lK?$J=fJ-qV6ZrZ>M&GVTzu=#LF!k6u2Q8l2}?D6 zVHEWI$bq&wb$aWUHNAUO^>Xb_R*6>%)5I+)V7OjXTRkH9#(c8wwfu@xEX&FsyOEAt(}Tp+qM>MJff|&`|&P$ z|BDTW5>+Zlg%1Omb)2Bt-_8LL@pt;=f6Xryj<~28oVv{!{Rco55u9WvuaEfS9Q z7O9`T5;8_ZHNQ1v(NXnvM6 z#Hc#de}`J`{^V+Txei)=S&zy@uHi6|(O>01Xnc>R4NeqPcH;@2Ww}%61TXnF}zA)Fq&s&Dvc`~HW(wa1paAA~zM z3usgq4DPDJ)HTwV%5WxHf7$Q1BD8; z!=;Z|B%1_~iUBu+?WgQn%xA4%rYK8b`C1LHAKWN6)V$$m3aO?MO(Bujps8&9c{I5^ z0V=DnF!Je7wt9Wd7IEKbeFl-Jiw{@kpQw9RH$?iz<}^zSOj<+=DL*o(R$(kraxc|y ztn<<^RPYPQn!c%wQZ)mIsGO7EN{k)3BB3m|(;RvnQ=(##4#n>Cr3wB89?Y({IvZB< zr}D2!e|)%CMx?9E5LftRH(Q3dngQyY0 zLaEEP7F>nINAhM{MS``MeW%RgWqH8cgwF6be(P*QnTk{fA&x_(ZeGGIk=PfNvVBsa z?PB~0hfQVb4ce^3N01q5OzDLS5QfCc#Yc+c6vyapIX0D$WEwhj$o*#aT54+WeQZZD z(~vC=NhTuu6Y{&n2(`fydJUVR+-TGL$&_k2;hc}YURb7~&KfC^NV^FqEkC=PSm4#f&4y#2H^oHEKf*vooRa&?x zt-!!kY4Z!Y*18D075yC9S>wOVBDK)yPMuX#WuH0N!#i%xpFF8edROjDn4x8w42cP$ zb#Y!N)i?vY+3bS|anbB=PjKjG5n2FKf8hc}S!kvfSlmz+>z8)Qtd_j&3`0+Fi?ecH z&PWVW#>)*QTCzC4`Ao%1ZW!Z85NIzO9W}SAvX3$Qo}esmU47X4odq?9((e{=2VY{H z(gWQVXSoNeFlkb8l+&$<55wZI*iLb+x00gW?;Zuk#Ga@P5%xXsD9HRTRj-gbZHyff z$ut{c?nN*#0~ErzCr}r|l`SxKA2AOvF=P-uYe`$MFD>j1a3dVdM#<_g>Qst`Y|b50 zTigL9S+;fWK=`n@zt8731H3$^D{#;_EthL48j^Fj{pj9+KE_QA%kHlAI>Ic)Kw7SG zeVwXP?Zd^rr9mFyHXS*!pC$M|QDvg#LS!n}(w*xux)yBcy`9nnD$>7xAIqOsMj#N- z2i8;6sh0gV-+1ST3k!Xqt>p2YK*ck)3w-)r2P%HNKij}`A|SQuRHcaM-}dTrW7a_< zdFU}pM@D&R%J=Y(E}xLUEAT`6TH#R>0lEcRtLle4d6Qv!-ZyTpDt-e#7GVVT+lZe$ z#}&?=o7J=(jd|z{tL)V46 z)SFDjY3p7J44?}<{85NsJco~XM^{lcYoKsRGfvTQo6A5gkB5C8jHfo{x>YQkZ=?Rg zCRycVsO?qp6tWrbVm{j_y#r6KAC6Mk6|`p0b2sHedL%}ln0?Q@o2rI_n$S3;89-}16k|UDQA5J)&9N_Br#1=J zd{9|+(h|p7T>f|v&X3oFgL%%X0Rjz+CT3(ZmIr)77a2EuhKf#*v2+d#cR;!QYki4L77&5wo}v~3ZdJn4PN!!P>eyM2{vqCUtQ z=1Be>W(-!H!&DZU^{e2Miv}{9CqW2A>ti3BtB2Wb#^W;X8?kWG?0X!m_nNh|qr8cj z<+GRV&NK8&8hRn)oLyHZaM2c3qJRSAo#1n;gv32Mj(|q(am*>Ml$P;0bhF7ocZYJ{hDI&@ z$dukAw%*r@Jd`hJXY2OiyQ>(hE!I9l_lW6VZ z;(f(*H4ESF#F4_oh4p>)>a(iI2&vCvgX*3`dJ($b;rgMDX$NrOayRZ{N!2#ec;q$> zd}&HgiZOxv3PCe(=qw9s+0r+l zko8@r@|$|;h40cx%$^!hi}`qa-z()(PlD5)nsK!`|2<-Oc#Bpi2=bU_>0XTz)EGjCZ+25)E*i+ceI})d^g;QBJEY zKrn6mEhGlyJP1ynvv;l@yL1mEo0T0y8LTy4@Ib7=L?)U3-(sibOr~#8{WstUuPS&qqC$XDvanA0sE}r1~t?R;>S`L}kCTTA77z z#KBHMpICF>RVfa{I*jgN6yR=ULbDTYoB0hpLdQ2l8pg*J72%2WeA+O7@?5B+Tbt@9 z8IfXg?G4eFcVb>fGY7Pg&cK1$i|{q&3X8<(j~FLY1{@!hf!gJ*<-LjT%U8H)MA}A# zOsKrr#G@RER1Re`_u>>T;2tqyB!_VsaJ&y@T`!7Qbg@`tI7!h&N1S~wG}dV6V4?l* z8@GOv#{s8J#0(ITA7GZ0*RE~Tn4Tz54rQNW7wxG7qg@Rehr3+Q8h333ht~xu>lh+^ zbGI-N#sAbTi#(vM#?vbWlpd?f#%+qS`Bgjf{6Ze@w+(TxVp-6FB4YpHH!BkyX7(7e z4$>fmd5lx}0w$+pb24)e$#h;P@c=Z`FtxT)9v!TUn7l{ylcrFeknsqw#j{?o$--B0 z9aw)G6S7G$b#SyZ@9w|ulknE+x!iT%nU1i!#LP;6`9dAYCJ}EF9ogUYsLD5HS*khA z-8Pc&1Zy@<8Xv(#_Rf7HvjI&ag_hoFl=?sl@|YMs-QS=_th0+ywWzU?Scmu8Jo^Gd z74!cupfb7K6@W_ko~MpGt0^VM+*k#+;}&5?_(GD#V=ZbI7#5wOUW!oa#coL} z2w(ar%;W%O6j7n}McXjr7=@QYc<~{nyQu0<5hgC{Ma~j zpNscd{Tv%e9a-W&NuHmqzTt-$8ymL-31XhWXo*=%@8494=ddrLcUc!r`A}@8gX+#O zXs$6I@<=t3vMq1@76ocpn;kzm*a&%~{R)~iUwe)*0_ebtD>P6+onyj%?3gktehJ3~ zNWKuUh+XlHM7KIP;Wkb`7xFDs-A9Z7;ukYi{4(i;s>SXlfUAWGZnM6>e^a6zJ^{Ludc~EX zH2buBn3W=y{dIsAEFLs)-S$3|mYM55CO=D>h+Eiums4ULR$})UKn+Vb2 zuEF_`MupT!+HQHoqlUE3E__&e@K;}k8Ov?w=xpIEH(01njaVr(0av-dJdrZ4pidsM zd9kiFRzL6bz~}3hh~gN{AzkoyXA1O}DRyX35Lib#ll4ZDMyiDK*7R~TQ{j0Fa@pVXLX$H4+On*H(01M-499Dgxt-D#`BG5*nZML<_^sL-53Qv@XH4j2X%u+>fdoJ0o>2H z;6s5Jr-kY(ykVj^!o3rCgSv4~etO(dg-j)vg6RDrF=iJ8m63rfYXC;rJfui-xx3e2 zXE26mBPn?_VgTZ0Gij%Di?VMd890<%=$5Ed=NSsGb8*ir6EPp%emYiz zgW>WpQ-5W07|wu}@gYo|1d2Mk&HWVLqZ<#5pU*2G5u0(VK>w1s$Dl&3;Zk+>x-)Di z8dVtq7HA!3dILGXmFrpCIa62Q9NEMX%d^w^^M~5b4#I1Ros0pwuEM&iq2^0dm8Okgs`U~#htyXJ^rXMPUH*M}|P$`HfH z0=9&n>#udg$d>oKMsGVRe8^ty^R>+*^4<#N)Is9sY7#~PuSpY|1q^e7XJV|H{}Qp# zXtb@&iLWbW?Jc1f$OW6+|Alc;Oei`2KQb=Ad4xaZ8USt!(uZH5m;+l$AQA|!;cHLc z;&*d+UuJk9^KQr^9ohF~sZYd;cMYz2*hrN|vYL>&+)CFAV6Te!MrQRHv_6T0PXrkw zshUWRZ90sz@z`7#JLMY^qm}M4@zvc%l$FNx6ui#`Ac+gnzf3xVW0u5>Kbi7Ji7LWA z;JHzmuD>8zoS1W3wNOXo<$$4r$#TOmt+BTISih!Ol6B7Zwf~Ar5sdxkU%yYnsc@nY z*ulJ?1xSV_73VT$3XsU6tx$lJU$shz=1C2@N5t-BJIuzEmq|;Z?P))-IP_`)+z(dg zmqYc@%OOKVd?(9)`yNul?lCJ`t@b3^*K0tJN_Q}S((}Vd=FcYnHls7R@Ov7H=oK?T zH3;ZoiwFfOJDeohM%3xh>|Vw=tuYbu*4~-0ND2+VV0sH{V!Ut9tX*qYWVva8H4>PT zG)wJTrUb%ho_9ra+;FKC@n=Dj8Wbe0a?acx@Kzj87KJunToe#fb^@ih=rxV1ZvAe} z^yT<`{XJqIo?kcnl4vmXc;d8bh+?B_@T9Xw_Q_i1HM<%l%p;XKAhw(aMHm!+Y~X&8 zpE$gcxa;IwkqSNyqsFYI(1U(`U@YW`WCRAiPF~czhuw3nTs~{4juOej4iJlr50n94 zF#8aIIOrv=qlW)%a|S1}Qk*q!M&`2N4w0NZIYjEE^eq1<>NcUG+bKlPY68Mz^zZgK z!|?nEB++jCe?gKS$j5MX9f{jV@rSs^2nXON4k^=LxL}oVAlZCTVN-Nym|T!XWk;o2 z+_2#yo6f3s!} zm!=<*QT_a|OPF6GFDiF8&eX*vatqdiO`-na3XWz_^MLC}b%sqq!3Q+ZcUu9f7FkfW z1V}VmXdF2iy3b9uXVdiA@hhbX_dE|PlS?u6*8-?kcVQFCsu1%K6~4~ z|89l#j3D={%>PCe%!GYF_-jl%=)F0=1xQlf#e9=u8(%DcuhAK^?n>IkgJhQBDz`Q2 z&8H$ny%AGfF;o=Mq(M@txdd)}E&wZ>@49A&2Kle)l;2&!P-KGx4Ip?@HR9la{|h82 zT!nA4prP3fQ(4~qw5L;LIzzQa!v9I?{a{jFK`V0#3Ac+J&d@R*Ur^$TzF%h_%i@XIPD*k-RU9WHQd(}ts*C|C3x~SnZ%;_eMR~}7 zL6l^ICWnjQXm~`|T>|T%gAdKaM#E)t;%4F-nL4@aB6pWLBNJ~WJCzOvXI6Y#YH6Q~ zsdgJ!vCOjHEs_LDFzh6|1fUA`}o|y{*Rj<(qJfyJCi1oNpOYg5aOjR za4z2P6@AEFX1h#dcSK&9daIao$fV`h{I=&oURfTo%4vg*Gn8bvz!j~W79*|E|Koqz zD62B{H&*4;$6d((&Z>Y^xaB)&>1RQT_YF7H9E}@E4_z^Rf*u@{D_YtfH0~$ABEz2= zcFo6BUzz2j1eMm;J~Ct0APngNx6W;-Rig}U_^{{4|NA`|_eNVU`hP^32J(Caj-tf@ zD8c6Ojt^2r{y)mzJRrus?;m%N5aOieXc-(w2-({kI|mtC4Q)f|gqA^C)XZFpL@Sbr z8iZ&Y?b_x-%V?dF7Nw?|rb*j0GtGW2-^+QP?{m2C=l1>m`eVBOnz=ro_x^fsjt#Hx zv9T8Ht44pdxmKV3Y>L4P_vrLlzX3qq&j05Pw2Tw;v0M0G6H5Qtz0v$mi$n7;oYV=? z0}vXm&?4a4wzXvme`=bpf9J6Lj`aRs&AcSHiC-U(qiyT3vY74sA97ho&t}Mv5Q@F;`F?ZB`{vVHg{904qiOyWcv*oG*WF7gaNs zb88LB?bV&*ZeK2dZBXCU@4JxBPWF(ZX8x@jIM_&2;1zC;`QNQbdZW!n32&vQT0^&s z5_H@5ms))5wKnB^D7AJ(tl2HOt6P3>Hd+iq60sxw|8sYEn8%^S_9*_V$AP)T;P`); zY4A3<2ccl<=1%PKk!tz#hXoZDO6jJH{3Oy~4oeS%u{H1D|B0`!aMV;FpU1zC z?dAE#m8PVHdgJ6@*2|CRNY_X|eA$R!9&)qru-a|b?*mvZ%r}hp8(#K(`}DG!qY&nR z{GH@h4X8ih^q;`;HJmt|`JZl*F7_(J!yN4wu(J=ZY_2_ib@S|ngK{hI%)|}F7zaZi zsFEK_gb9A5PBc%{FAr7uiTvvI6;6}om7KAr1v3iLm*|+ESwLG!bv)o!=coS^c5L+S z5Y^4Nowvtf;9I=^oyqt7==kuP>Oy}FpXIdh_W^SomgS+X^W*2ZZCF#Exb8kTyj9Hu zG0^^%QTcQuxJQcK#jv*P-!aT`_iw# zW(zO`d}w`>5!Qblh4o(_!P=CBv%)Pp4>sG9`p@L0nTgt8mdLe4GW5<5MZd;a(J#IX zErH8mqKb`Wv-}1%F(lyhp*bm@e++DQTDu|LU{KFXzx{l+=^qpyoI8dq4HoTGt45;~ zFiQTRUjLDu*O)&?^cL|_kyQ*Sy~0RQKA;(#Uv7Z4?+^6nQM;$$2A4Tn*e^m!*foTcB_!M;I8qiLa^ZO?WPZ_r{B4SF#VqWo^(BE-DlX#nc|1M z%t_z`&E6?clREn5Xs@$fH@nra zcELN5dL1DzdK-)Uh#ojdFaN)rk^Y-At_0WFz+SdJ;72^s-!xGaw|4OgOO|w4Q%Y+S ztiII5*Uwn`)NUt#dRNh@mH458?)sn|G>i2>2@Aq1>q@W!p>Zq){r&7h?A@w5Pta(z zo(wd`O2r8oP!|BCd~|#@Ug35%lII0=Ys?Hw?qVBzm^I4|eXuV*eATF~H)`Rfe9Wkc z#{5!w1kGAgV?J^FzE@G}16npEe>V*cdvuG=QLci?=4())ILg| zH0wE(&J(z9y|uZCVjpJFp(r0~>CO1<5^|c`>Q{AAD1qDuAYQDM$a2*>6uPo}XE;Edw2$H_2GVCS{=w#(Z6NUi&+7 zobRc{xmmtVd{OH~`=FqbboL&XXILS(ck8vD{gzuqE!z=u{f)F1sO%4pgZR;pFZwnZ zb;Q8l5Jy^ir;d8xb%=8Mm(cAVAFI0fQL!;mdigK6azBUf3Yos+brdc?^672->H*dX zP{qB8RaeM}tMMm*o?5uBVJ0*I1+)laaXBQwfXpyboWg4>+9kn2@>1=XvGnkac@i ztdI2qPsL$6jH`_+8bl#QUI+jPuvA9)zkDxNndUOKHgJ;B{RBxsEWUneP^jz7->LSM zayCP6)2rZU>5$qJKgr&Rb0wC}akaDcMOST>E^QFCU;tkpMA?tvN_4*qA+Y=CsP4Uo zY^KN%*)>WZL2qVZ!#3AO(%Y$RJ?uQ~+1lNYHiabX^W&7FG1E~=T;J1jLvO}RHiLfv zsA*4pyqZTEe?&*_;B-Y8XP8@}*oNak5{cB!VyXWi3;iqG8gqjq5VN(D;MpgrT@*~_ zwJP~sMQXQ}fG#P1eTVFAwS>eLmM^&I9{tph5oxaP^(dJ>>Q|gIyyWx!B2?2)kk`LU3?RM<<1NUD_li*C#tQsfBj0c?BRj5;)HdJWO1 z!+n0_n$;f)e|3AUHtXGi+H(hvWc>b=r-_oqV+i`hUH?a3F@MGLYej zg5+O9=N|XQN1WCjr#Dw6RJ+ctvL$-osj6PINYS#LM!OBw9-%Rp;8%Y^(czHJ{r}kd zZxYgb;FD7@a1I`ALkghhXhWKe&F5>Xi!|3Pp6MEy@urY_zJPSRVg8tKCXFe2mTQeq zKPICnDk(X4aYi=ik$n+Au!DTIEyi9Zu$MUq(Du<98ubSStn)z{)9l{QzM%Qxqg2+O z<2q{o@OExAw>gP4{0k+Qn$=9Cq)D`Bk!!TTQXM6x0mK6QPUW zkLCDw>`RzR=re`A9s~Epeq99fL-+U@D1LJKRJE?@l_x{2F9rDJ#@KtirTS(&?CoIA z3HFKi9Yp1Wic^2!i$tsoqv?rtYCjNLxUkh}?IgqFIk3h|#+YP3xy_*G#Sm9YQ=a^p zbuzA{{qeiPRWr97wsYmGEVk(e+H3t8panP2T~x%3O(B&p!H<4mnuWvFo^iG&1t$BRXg`2`YFhOaxB3 z)5zcK>@ugCUTi_62GGiwaEsTF%EQe=3|AM`ORwlTi1K)R-CDM0y#Qn~ONRelyf8Bs zP*6lUk0yPkqe*mKQJyHFd?!#bJb%wG@0O3nU7e6^7M_luteKZW#(TybE`Tn0(p(#K zYZ=~bc54EZyM)9a)N>~$znJweH+^(pLD6WL%K0lvybsOjr+A@VR1{Ghq7|(xI;l|U z%UZ`YQUd+xNCr_YARH#n_a;GMbe(V9bglX*7H zj}z#)`*dr73yH5&9+=hRSM!M5XMR^Fj{U;hud8K@gaV}KOA{JvrQ$z^)F(N8L1_6J z4u3#gWW01Tk6!U)%^ZsTRqDHKeU`*MrQ2$xK23^dsrO##>1n(nI8W5_4hnLoF)twh z^U8le@bf-`vyVKKgF=XqqdYbpm;; z{cGW>KTgmN7dn54Bh(Vq2T1_~o^a3LcK|H*wdYrL26QXg7dH!rfR<3C_+lC0$`%-X z1_bv3YPactXC0^D%Hpoy=RPCd>S1qLLhZqg;2RxCHBALayYQfs}8ps#OGgm8@B0E2*8^b8sh6Q$Romnv8)ZG+{)RLm;kfArvXO72OCA}1v$ zUB<99w#fww-!oI_WhhmMINduz%YhCG{&wT8E#HXe_-=jGxof)Wy@_ttoi|B7+Sisl z&%LLuuSoT=TlZx>Y3Q$mNt~VyIgF7Y z6#5mGee;yxu*>Ko?vf!aoGq2#$gJtucjq0hfuWzj1Yci$fY8{EzhYje zd5`niNc*rtNw{zt!EB|Agv;fAKc5?uzg8!sQ4&=H9wOW+Ld@*P;`%ETu=uRvv*;>M zQ`YhR@v*V@m*#9aNRA(+B!s`VS=+yQ&vfj1@eLbhSkYwA#}Dnm{Y~t+^#QGClMenM z&p;-`Ec*^j>ubOcS)^Y zr4NJ;2NQSG&ha&Pe~ZBXd_0Qt(QO(g?I=ada)9T+53ck3_mOJouRGi|!<`HCHxK2^ zVeZ|w=iwP}2?uZHh+JYpC()M@M>-MHepQ%$D;hk!rSV_1C8bctc-{;IlN~cryEgRt zZqzZ|cHBhDRu`ob{*ME$<^5c^OTTD9@w8Wx(2Yh;jsJQ-q+|jX}<} z3`b;KZTjcP(S7UGt-vDcBFg5gjdbs_;B39jy#ig4|J5*&0?npp= z>j}yY|Gfg^|K3$Er3{_K7R2^|vn7m0CSUo+6870w0A|CbNViIGhU=j^xGCa1d(E84 zV-xS03zeUV+lIn6HM_Y_H>9H1=PI5a!_i3=j~J#6;?e}j`n!=g-+sc}&?KW`AG&A} zOs>Lx1=~P}GPHrE;_p!Kep94)GOqG*-S4-`pILQrL1%5Fl`p7ltjA-kdhJaU>sJ0?9+#$Lsuir(R}u|d!F$tS zau23iQei)T4`h${XltSQOtVRj;=|Ob;kD1AirBh_`nv1S91g9{(}*feTGmme>A0); z15QW8T@8G>&5(VJh02zI$7#>ykdMcKjo7%7tPCay(trHTr@?hqNKwfbaJhe7n<`rZ zUfzR#shb9iAHYRQSr7fo$p=cx1cDCf%ut-m+3IqCd-~EdlrGNGk6jJFd1~P{-x~`* zl|3l45=T6zB)cn0YA_F@=N8VIb6^Ybf9dr1|0_plZEN+&L+3Ogtx9$RQj|FfIzC$G zJxcdK7<>}7&aMZ)WT1u2(hjc}{aD-3ldpIEvY~6&*)ZFjbNRW{T(B~+9B=zhyxD@o z?7fZ=OY@-^re*O1O~j-+wuzXqh>u}ME)p!G`7ff6+4pnguLM_;fYb$(JDbpZb74Q{ zF;cr&r8^G7jzv7&@vZZ&TA=c?%sfn1y8pz^5`7-``oOy zH_q&q${BU@C6CUoRhHJ!b>_o`ODM#l94$--8XxSGaElt9?M;4g!5Nwbw2N8d?R*#2<;E5xsHz9!SdWSqj7aOWLWvKwu4~a!C zhagYXrf<{rARY2#^_>G>C!NY={VrG3#@C9Vmq)tAylGfW&YYmcXpj26$~eyS@MIT- z7$sbm{PBZ~OnHqQ9Slc`g3zkNld3G3*XB1I#CAz+SJB&FQj&R3+(l#y!%BS{YK1DP=DL%7N@_ z`bu)2qGpippPwbuRRvn{Cv;{c1-*{SmNJ2`>P`N>Bh9m#9c~=UO%QRnV*riarQ`u=_e z+uzT=R9^U}nHcb{*Q`_6vt_2P?Rod<`id$(S#_i`_?W97vZzk9V`le*9|`fPC--hY zp;*RjClSTlZwg?+ry)Rm5%q>MV#ram?|qAgQR<1W;8lJIKTAkK_UOz%v$)%N?jrAu zspV_2NKxh&wziS^>9kpnI7=h*l8kaW4$8fQzsyX4Q%KDg`xVXT0yB|H0euTUz6JRh z82xVq$?XP|q&_E1Y|t02NI^GxJpn21>clf9IbZ)~2k-lUKy!{c=H1Hzo7k8ldHeeO zFP5uJ73b#vckE=tuGZS+ThBHdFxeQw{Hn6AoGWfuNc6_=5skCfS7#?38Gdm#IQ_?; zF331WKD#U64>QXzZ=Rs`p#EsyWej5oK<**M-sAKPzKoNC+cGG-2ZsEzEjM8fay;Ul zga5HSM$l_Db+*iw4mH0a3s)*&qZT4KrVSd@oZ1fo<1jN*KB;k3F@YuDR z$No!{k$0GQqO=YlVd|fTS;B;#8rs1gbeJLlvYycwzF7~hXi@TaBTo<~aa0PJgRa#V zi?`DX5h`cuRHx+L6^lFU1Y;LwBFyC}-gj(2zZ3gs%5`Sn!@H81e15Xxgu=c~len2F zq9TXg;Xm+Q@dntgzl|re7FkwI1RngDzUpaM*w7)vQ501>l|H9%c1u88kAJ@Xi^+7~ zyg;A$(|l*gAjO-rAM@LaZ8XcibmiB?`&~4hA~>5np|QjdJ%zzZorPK0Qp}nuy-&Ya zidT3%kGf~$7u)NRl#hG!cg*uuH6aB<<8+mZD3rK?{oc*rI#))lGN1<-d8n!>W}L;C441YLOzN3JrIqv7RYjU0JBg2 zwjPPbp@Ucv4|rm!>Eavfe+&`d?z(MNi#5+X{biYqwA3SokI~FMlVH|pMt(LhHca0U z0b0J}L<{Jq`KZGu-06o(C!v|A)7IXDWqeT7z!<*e^E~tJ%< z>-egTd%AhUVMyNVYa=8R4zN$wd1(?X>6WqEn$bpB#LNJ)RZ36dCsX(tVx={C-w<(> z#)xbmNfyj_p}T#?{aH)nO5z@!E*%p7B6@P>;$(l#<1gy3+Bx$ki8jbzH%Jq>eF8=$ zPCXV(khzFaT411zgjJp@yj)xTun}%1k?(1nzJIAHQ;Hwf8+wedYDsP}OKbUxulLT# z0}`yJMh^i#Cs8NOQF;~&H$%!1Mo2gnaLl6!X`N+UaOT0M60Q0r##+lPXD!z{EdRv< zSYonl@WbO)PVM4{kNhUo`Q$2lf4M&2Oz0FrI@_&QJ8N9JfCgnfyEj_@S6)KRX_3H$ znB9SGMINjnH9dd+$M%^^uFe1cL$RbLdEf&6L22!m6EDU^2@j|ffzyVDNzX^K;Z(`< zO2(1SY^0r&b@C+oC8Y`9Wg+E^T|r7M_=r_NG>IQLiN(_e^Oqslp6Xx2noVxWES_gF zKjbee_qnP%p}we`lQmt4l(YzJAKM@uTr*+2aWvY*nNeX{f6MQaqFpF>Ue?{&nUtB8 zRnDZU3bEZJXS?H$KPmfPXzBob@4R~k-_P}81#f~%B^Aat)|^1-8zJ$&O-B< zOxqJDPF$u^jKiz~$LmSrH9JJJAI}f_UO+J*8{3n(#?+LJhFX~FeQ-JLy7N|P&6mS3 zvM*NDyQXFCFLK_`u_#1iEHq+ucTciUJpw`0h=WRH>>aQuPpQF=^K{wz`00DQfJ@Wn z`rZn6-r2I$^@u#GpKQN`wYHq(y8lGz6J&TH(hKJT=K-g>pj7iRFaXRLu)a7OT(R{? zU7n?PGgOzzZ9ou&t|h>#N=u~Jo|T5OGriR@`eIYTRdvl#Y|)T(phhbMk_&|yOc`G0 zS;@q94YRPKSge8Oe|tbBkS5MHA6t6Tg^`PIczS#(w#Lfrs9AB6Wo^tSd*+6`gu8EE zqhmvOj|@S-(CZHUb=bbh1r1K5ILC>2VUfoD>;+V zplyR3zCW;I!+yn%+PbW)EDqK%MoAI{Y13!K^u z`hIdkRvg+cN!v9w?~{!$+1op_JV@v!!PXqLe6nM1%6o)=VX&8&t}(5DrHYfDhWb1M z);tf1$t}+SeAK1v7&-b-B{&kBHBmNeVrR%wXR`yT@tfax^ymuH*D-FAI8 zI#T-!((7>TZjb5NfuLd2N8qnOS6^Iz`v$aw@sbmlw-7k*m%of3^bsQNVO@?F(Y8D+ z@A~{%VOJ}tA1zv`3Z8dy4j#2w&Zr7opX9yKFg_*Y%_ZCZnSfs`G7%4r5u|4SEB*fK z;OOs&61@aTER-X+xf}vEpm2%DW)EW?wYEqNy^G+a<6En4Yj?K4ar`Pq7^POvUDuxP zyg>a8^ zOnp2ZU_eiVp9A481$%Zo=p!I z?YT-yK54u|Yk1bV3CrrEI#g{#yb#$D_15Rb`2KAb#@uNZ1vOlg6x^t8j>CgQs)5yj znZ$nnw83e@R8kfGQ=FJx#px)r$zP*Vkg~xS5`M_@puB7Cx$UG-PU}6NfDsPOBn0$@ zbp8{QW0!=hI;U6{fE<_m`c(+leeF(9)RyqV&`R-?<^Kr}b?!9mQ9hgqBz45lq44sZ7YpmTUR})DXrN4~ZxLn#(6y$d+I2hKOvi9hah+ zmC>z~U9c0jHYjB8*UUM#S{6Hx3LYO=W$pEPpYzdPU8SS4XT=osGWN6~lDhist4DL? zuD8ZRaCn`R`e7|Xakk~*@$PYby`m^?BrrTMG!aRyls{ujMRZ#W%JZ-oyg$^#vaxHD z9#!O{33B=w^sBotnTxIkaKQgA-rv{*F%{YykEF*?L*PA#`3*W86NBG^q$929RwM$7 zWW(nX^#iJ1Rb%~7o>AE=v?m=cnPHZ&v62zI!n%s2OFN-RN2S0MqOq7Xg7`^>k`UVlB|3Oen)lyZ*a=`)=;1VBv6wN^(1UAa3v=<30REF z6fB?n69s1f$>tS$KzoD${{k9T0(H(+c-msrPQfr{4zr}jBPEkAz%I~E@dUkvev->1 zB=WOcz#)|S8kvilNCb!)Pzw%l%mV}&NHm-5y|`)Cvd0YF?GK#Sc}IjH>W{{g7u6-N z53ahoI}aQpsxs<=%6k3Ymq2Gp@l26%v@sO=UeP=2s_?>&ifM3neE~J7f*H7{nf278 zG#NjSLPNf&p07Um0_YVlL*s>kiVFOO+?1q|hx2TKepPI;hYMdWnE1*0bR}s;!z2SO z3grdc>81b@?uJLYm0hxSRPHL-)3|1sA+-k*;-*@;dBBnYSn>v;xT0g2=b;S4Z;=QT z2Vo~aRYxUO^ja8tMPtF$>|j^x9^>dvZ3FZeUxn+ud%8=ga@Vivow zJhe5EvtM7-y+$|*#ZZrxxef*Ll~ecZ!j3TL7qGvkFy44UN;Lg4 z-PKzZ1%=s0Qg~Xn{fQXi(54_^r)>PiJcfXR0qp)CgCf{>33Wo585d1e{AYX0iUS#F z@7MRT$8lS%=ydpHhP;&xMTtoBpi{URaP9jyP;olIJOq>*pf3>XKnYpVrObl^hdJj$ z`UwROBDY~9*w;NXN5z`&a8<3Wml4m3u39SXl)i$1+WTr`?UF z>WKJLJABC3r({ST%bp6j=^kMLxwmwca=qdgq6O3YYq%Z(Z-lj>wa#+7WXy7-=3 zzjM&k3@{Yhteqp-QNH3mgL3?X{Rzd5MA|MVrPg|2srr5#2mhcbh9q&{psf+;Nu@18 z2=Zv)t;s{VdgeT|TF$8fs7ufk^e5Jo(=XfAT>5gIDVm8~Js#V?r!T4+v3wvzm)&##sfDr|L|^l6E|kP>g2N1@wMO+sPd*>~V% z>LD{*-DA59CNJmaaAMcLZNIsK6eX;AidUYMmcK1%d6hx$myh}FxQQ92D0nn6Td;rQ zn4rJ?&yW#hmDGyMk-NAX)pDZ$qw~i?=h|wdK2#Fp0ax_!lH+P$(m?^FL1k>wUmVcN zS!fJhmET5nM}T#tEc}*Fq(1TpeH!a-o{~XrB`rYpCH!H1Y2b$ z)8K{W54Q_5kPPJryPeLFogzRD{Oadr zIDEFKDuS%`_@<%lyVH|ZgW(Z^f+x0V0SmQ_r{qkiUQGpr!U^@|*K52ZL*52J-o)m? zY3_@n;Vt5webYG;A_dw4_WaS zhI^K~vZ61Xfik+!%Ko~#O_;SQ-*?2yR*GKpyLd<9)vD7Qh9W&ZH`q^+xvg4piF7eN@Xq7C z$U9q#wW^Y1tFvn)?D*Qs{_Z7etXxKS>zpB739Tmz3x%8-9esLnfa?|ugo3#i(;v7CN0e3x&55U zt4;aYzF*8dECn~tevlnxY$M^FD}-D!L7pMEx)@?YibP`|a6JlE{lv-=!Ix<7S+oq{ z-oHMKKk8rZ(wDOSSgcyn<&)z{jN!!`AweMqH=&j<`tP3uTu>KPHu@g=suUNaG`Jj^ zt3UI)t=Sr9PR6P9?qj#&sTUT!oNyXb?dh!~a;A;Fd0b7T9N$rN@wGsj46v3?2H}M% zT*4tI&Pr1zz5$LwRw32Q0ZkvhHxKq(e-&dbko~Fzb{TZlUAdOV$=HL> z-;t9gBAMB$e!GG5Q&|0HyGnynmGQ7x$xhocZ%!-lB6ILjQ+RtKGd7+>dI?&PGn8Gc zFeN7#rl(h}qP5~%X*^szojn3_^AV^*BDl#fkOD!|LIWI~7g545cwMAgYbac|?tqWw z=K;<9n^A>YQX*_zKh=|G#$tyr;e?NV-S6)Wg)!I0l)Js_78#bp+3^?0DODc}_77A1k`TZC#8>&-~Q&7^+BJYfs=}OJ&<>+gq zVhhvIa;}^(X+|ycd83AGowH*8h|X|2xDug1LTSCKf=(h6Q@4zX>;%9OxJNo=R`3e% zg0}rNTZLzaK2{nna9p9Lriw5fd7^g6zrHFyf|E*8C5N9YOHne@Q1M%Or@jBkoh61E z^~fOuP1UL!q*^bM0N85)W@BKI`IJ_a82a^FQ5lX_Oy}4GLVpQ+$Z{2VujL=^oiaD z9zqKRC4(L)qj+lQugzsUc4$@qIf-ViY83Y-9hX@frl@USGiv~wiO|}9OAt~ckHAz2hFjUoO_7{|xcU9E zZ2D3#b*{TnG!6(^8nH*%(zXb|qkORd`Zui#g#Tk=Na5r*!1A1}G;SEbPC6{72&7TdeHd%HB>4uwDTw&uxs{U)MI%i2b6qc9A@^DHm zTlbUnxk8c^N60NWw*Zdg5_>X4_?~)zXZ<^k-V_UVwrfu$yd-{v$|Gt_7> zY8wc>mHFnC=#e7u3(+f1Iy5JR<(B^dhy5Kdn_=ZK6T;8R zlWog>X%Qx3IV0Qv@R~50SBv`HMsq|9fKYrdL6r`40_I>e&ea7Qh8cxUXpmgcdmLU~ z2bhh|K(ehrlgCk(+59t!2T$l^FR(UVz}dXKMr-cXcwf##jdYz-xVZDvVlcIdK-W6P zBg$g|9`TJ--4vg5lVi0n2`Z@pTn50}K#08y;c-LzL1l_^^a56WxnjZ?TFY3$c5xrE z{VI=iUnQPO_ZizrQ%T;M8Z&9jN)hQptf1#VMw#d6YW!*7IK{;#EnzE(<5gxmHIs^czL(WLHxHgH?eHM0pE zFy#^r%#>W2%jI;-S>~)pAcBq4p|6;W9E+aDa;=SO2)Upg7Ax7sSTV1ftyfC+>#ck9 zGVX~Y5K^Ny0lv^HTzr;5o{;uauUAtZ0~^S*(K(9DQvvNjfG{;ca+71Ao#2g--PZBef#&H=Ubv{sFvDLr7|Gh0#Cn4sil6pT7VIs?C z802D1yuw^C^+I#XpI;vxXQua#7p~n&)Q0u%_8a}TfqY?&Uh!U~}OxWHCl4>ZJcYC#xx zAEitGInTcxH6mq18Hc$Cgout%-S8+ygo{&QTf?s@!h*oh0P*UI8%byPCgKDyv)7N?i=I+j8~BRM=XMg7L| zr|TW=yKs{X606Ocq-~tE{>evkVz^HQIIT%?TAv`nHf0xbmvnmsYqd}`+EZIh!OEXl zQaY!%NEc?l#M?3}CZat~a!PE|M?>5-&m%S*Y5B(znTcoC_F*!J)VTD-v0GZ4P* ze*Lf+u`&>Dk+fq{?(aII%mpr54J`o>NPFhph3eI6G0U*xj(txfnera}DZ|yIu`{`- zv)rdo=1z)#>hh;CQXouYy|G@YYa6(~Pi}ni=q19fC-KY=xXDxY^p1-Nj)A7U{;vht>8A{B02ciu&&}i>sq<7grNlrC~!lS zcQwAZ1hLnl<;5A4U_hh`5YJX}vX&y*NFZ9QOg$Geq7)p0{V^Jf%p{(Wu_y+w2^YV_ z$C)a5%MjgR!CY|@0L`Ah@7RvliEGKt`4ff{&(+MEs%5b+A=jvOTB@Mx9dYttjW?1$J z1LfnX=V@CMbl@bS0o%bj>l34$xc(T`So)16hz6be_ClS~4EhtWC)vD23+>ZKhvyI#$+ic89_9TjPVs{6Kx+u;)#Hlu5TTN#6=hK- zDGusW$zwSFZq^d_*OJ@6E01#Ux7qrGl|hyinn37aaI~2$**#79fuEJUCl=Kbwg_IQ z$VYLD(ASMIqyZAg2K{hZ2%(Gq?Uesq08WA{6J(-qM@25^%JY}!jNm89%E<*FCZvfY z@d3BaeDFz#Qa1+P zgvyp9p>k3UU>}M;fpqn<@v+@dM#`I)n@zng>OQJfq-nZuFfz{u9c+lmUCuyuzo`^E zbOG9;KXcuX$E|hOBU{z9oQc$z<)*^72*YlPqW{mSn3bMmTZ}9DV=Hg%Joy<|W|4{PZhzz_l&_FK_wdcy}bo&JnLXIBLA`cYmQt{5f z4m!Ik>sJGmvIOO4B@)hazA72Fr(xAguT-M7t&aQ02~7D-2Ad|QOZes0pLx4L#0TXrTU zn5N;XNuwh)UHfeKNSgv&zeifis@Hm(Q_`zR?-|f5bJ}ZsPWIP)WXfV+l^V-hht+70 zoH{12e*j>HYaec;pkoi+te+!~{kJ22cY5SKL!e9tikocubQROMWkaa~eOt3BUt<3h zE|j;QMG{(K1=W8deMBBe<3jiV37&_u9gdqgmA?zVkU0#jd*Mp;4`0QRv|n^Z{o&6- z@`ymn=Umdb`nB?mI$Jb*T88_jKhf*$>F!jKYsx?aZ@;qIv z9B+E_0?LUbDT?p~2OVgtx}Uj#!h`Ux&1;ku2yqx6)Cuy4?e(LjzHibK-pOFuSRi@d zR{eG`sozv3=QM&;K6n{1Y{67l;p!1`=lLhLW4a8W@j)BVnu9S`mxOcC5oqrK#&u>G z4O|QprZDz82i|Ve*jWX=>X!|eP}V*g9(a%WB0a^97}nAW{DCZIjP(Oc(7CjtxGx7Z~CMhJd2( zCtf_I9aP@Nz>Tz$xv@oT!5G1M%>Ip5HZ>L$msfx4jdMXbnLt9(AWo7S1AHdpYvYH3 zbRZqhMlRRLlwFFkGNfF>@8Prq-%N_*&Wx!(PIfZ_>1X=PB)s?K@yA-*=N7FA@IR&; z)k1hCGl%lHBXZSy{0-m&0jR>y>rcawEM0|vJbH@raC*?M{Q`ot?s)#=QXh#0Ra2jS z{7gv2<$iP7<^>hyC8E%-AV^fV3RS1sOt5Zh=B+|R89zH*EB(`8r9hv~O0Gs%kH{ZJ zN_;sEw#rUL=9AB+50&j516X#dP(ieP0quepATN-YN|K-5VV@xa56m0^_G8=`dh&;?Vi@^4W+!XJtmxM$VGs`X>4EovgFrk2WI=u#j^ zCQSIerZxwT$Yr#jxIA&_8X8_==(dppBMR7fKHUS5fCLVU)++XQ5rp zVKQd}I<^j#YIr@ENP{%mF2V6Ly!qLt!yr~!!^wSxC!<=-9!*tJkyxq15@Ah38F^{1 zd%2#G;|DwA)@iKY&(3s?e>>g8*7!j<^v=cj_%fW{#_DNW+_rwo8IjFB4Wann4Cfn~ zg`r@HTUeBMKgqaahsNl~KdaWT88aje*~oc`zBcr7iU#a67Cp>x%P@M`FRvy-Rm_W@?W0<`s}VC1M<&K{ zg)2S1OVjZi+C1Q+<0VKj12t*|o6{g4xQLR2Anjk?zx_pfZoVRS?%v6B>W5o89({VA z(OxVx9h(rky$lwFn{7U*(mKdn<`w#x9JB!#?-H^-pc~Vc6V4A}i%5?mli5r8yK~IZ zxybX7>V;KJ^3TTCsl`1xN6WhY6nd$*E_KzLNUI(s$~@8C))UEfKfwv)BEFf@gI7Af z3rmO`y^WubK342T#u(==^VT7`Q8;%J5A+=-j~LVuvjZe7BwXo!l(V+J-L7$lSB<)) z{S_C(E2Wwvf=HCVWxo7LziQxU)OCSEFJ+EP8*pa31EL0|($#e|;eDj|rMQRlkCnAw zOPEI2=%yWpl5P7LuE+Jk8hj0~2TJV6oey%`Jn5hD65!r%^q)#TgE+{HzWM^aq=}3` zm%cY&p?A2+WI&;X`3lmsKp#V;FUjC%32D;_7hq*NI+WgNswkq8v_r8NZ7Gt)$e8kF z!X)-#EC~?(ZXheF72wAfF=vbw&7j81ms`gGEFV5c6h>{5sk}fgN0sR}KZc zqSRCbY1<*!r`9)kxrcq3H>+={e#w!otuiJ`J5fCJ5J|@X|B~%fsB7Ks>r%@;`Y;{e zx;0bY05KKob>-N8Z@w4LgUr;1@#{rSqh~P-} zkeR}-uP6o&_OgFQL9${@1M~e8Qb_iGd0qB%#y5>|3tH0t03KIw`9!n#7SyV7bjyOR zCzsP-&!`?V(Ozg^g5%y}7_8y$LAo_rOITiw7qa;{+HG{}w?c#SaAJ$H)D|6`F;%;! zRGIluH9}Z6Ppxm)(*pggyIfXpwMt;l9^Rp^zC3E|{3t3&>eRtJ@Q>(%BQ%at>n(GKMvx%3Z@g%N?Sc2xpwgCez$pory+0NMSCq_GeJzpU1@3`wB0GVWBDJPRnf(IJe88$6h;T9! zlM*F(23`?Mk`OCF2GB3a#&-!yC8lWSC%Ofn+{yvGr-dr94XfcNGZ2SkuW9mJ{n;s6 zj>)H8XrO!GVS7+l**i=1E1Vfj0}ov_6d+JT`ASj;&=mX|^p+*x@c8)%q@oRlE5`^RsYPDDVybVUH3EcXt1lEuYIZP3Zv?0s=` zmyO~0KD#V1BoB!=cT392!VafBGpR=fJRrrA$hmR25i1XqJ6!zgb*|9&?VfhdQI1c+Nfbq3&M^F@8hO+(=icL(hu)0`s@^ zG^GtrXTNeU1t{j4lYLpxHu^m%N5~4r7wDM%1YoB@xR>ac2*mF<(D(9`)Z#Zjq?`^@ zby|)fX7&W>6=-jWO~?PVvUJN7dEqq4V`S*P;ufiwF~W{g8ppb{0x-SUFmZ&#M?xer zdg;{AK>V3g&3bFsdby>kDon1LUW|m6bBca{6O^eF(5&~6LTGEMe9wBuogPN&!((;g zE5X_mW$h#SwikIZ)4Sw6)#>{g3L>)?#|FBy@Kp|Xb+KfyPoE}O#8%)Z>Tsg{|2eF{ zitG3|5kHi)1uO1qV9w^ab4@v>=St0#y*Wkao~qGqlNLIW$|LYRqO!j3uN^x87Hi}z zWY6T9UYs-%rv?qsvFbrOe+X8p;yCZ$#$Df5+H2#$GEp3SDcG_8uskKB4$3%V2l!H4 zq`z?9?eUgoM2=0G@^==$nzY!W^C^L)DSuQK0S#+4rLgjZm&2&$Mm%81VP1>E5iu74 zP5OMgZ5MeE=)j^^?j^W}tPhq6GQgi%39dd=EF7t($8yjM$7!KJ3sI%v?!E4MY{V0G zdh5!2p`D#?a~k>OCBaix>#8ItY?a%fZsE(_dx7B~p8lBbNacmMe0T3bfN~0s=~nJ2 z75c*P|LN?@qnfzd|Eq|o2&qy;Wr?q%*dj(01!Wnn3$-p(t%8b-iinC3kqROt!y+Og zq(~K1ASx~>YEa9jm|+jdZjp!}34|m-fNX?JlF7_(`d!}hwqNNVzk3dc+&L$cd++l+ zpJ%)Gxzx_}XCfo6&UQX@pSNQ{@|e$4k5I~-8}5^KW?hrWcNTGjjiUD_ky4)BHPL?u zFHB7=8@%V9YAG|KsSaA`4^fe;_)+v7EMSeT#^0d2%*R$47Gj9_kyhx4{v2{SP|{-Y zk6S=-2Z#{7Y!>^_v4@~Jo)TV+MhV~WQ(H`eAEB}1e>hfxJuovNd~7ojd2nZy`?tMW zgi&;|bsnzRzj#FK-5OhtkB=)MHs%{KB4bFTz?)cpnKWtoiJ9Az-<&*ha@MzlJ?CRw ze17Vfj>LEi!3$DDdM9U-YsMbTD4NsJ%9v9WLW`+n*Un&S?!#8tz8$v^)PYuU=Ts?&Dc&LEc zXX8-e)UU<+j$ell;aXQRvD+>~A3~Do1w#*iI`qrr?U1zLlf>4cU;va^8cR;M zV1&L(VP9$gU}uefi{JH0KC8GZ_sYcNcco-&@CCme8aU>bN@gp;fPG>z4~qT+B_XGw zdLFT1m;viA@YPh=KP7IWc@P#1TM?1lL4PHUwnkJW?W%v|M*&IOQiU|sN{!(`>cETt>oyaBLiy-^ZR$Z zsz*$wdDPPPqQT~X-lC7WW;Jz(oOSfIkagBof1w0h{tP}_f}uT_%UD+zTafx6QL(>I z4P;l46S3bJ3k&uCfq;HHn$)JD@OYb%K#f{hN$5EWy+MH=q;O=q!n8KlKQSSm2e1c#VM?EmW)Jq{PzJz{ zsD>z*r*=KcbZMri0dq1`@K1dB>!=Ly*WwB!&2GFQPFu=A+N8grWAgxQ0BZ56#G~5@ z-zXuml@gU5PvXTE@g%?Og>X{v0$HCjWcrjxW@p!h_N={k@%2(aTGUss&kOrr&*AJV zJ~!zzZU!>#IZx7K32oUgiB0$p9AWnXKbNcXX<{C|kTDK61HR*HTlXoY*#~s0M71m< zh{*61$*uo*$HcFJ|70yDf%sy`s+!mx6%2))gpj;*r4N%cWy_pqZH%z)Fbu9~Kh&K8 ze6Y~J7_(+Y*YM2o7nCsJn|nN^YaMRz)vh$Ay-D537N}qB8M)F&rn8C~bf?Z6#0aX8aP{>Uypddz z4x3cOTN@$_eYeb>?6_T+M!ydBvqtm#5M!PzJ|s4QA~j|lDOopr;wS^&Km_}C>g93N z2n&dZ80bUvAAAN*Sv|shbL#SKH{r;cIAlBOS2d2 zw-*Pi$<5AKYs7PWRKkOhUHEnEP*#Ut`*xKWmP05oKDycST=vQ0f{|7o#)??|qL@BtKi%YdSlmNW*ro%gmi+2gCOkTLSa1g; zHHY9SCh#IW2d3WzRex>xWums+e>V_rrPwJmOyKRPD|(}!EHhG8F+VT&5PkMAgDXkN z#&dskk!>qudMGGo`2HLN5l`*e?pzz#N6Fi}@sN+CRxXZSrXXA6*9Fi$+(=vnNgQUb zTef@-zwPD7)}Levo2w)BZDQ7lqtEs9wleCLYvLO-f2b1A?F`ptJxv5Vf9bwph*e4U zK;`1236sMbs3jq>%z)9cG`!-IHEt+iB6F3cP&~-@M&t)X83y#I_hc`PcA_TS3X^4k z9o5Z=Rvo^E2nZieqF^PU`ZX*fG$KNH%DMnh>qh$M3HBW14@pb$Cyz2*d z_II6>dFZozo1t0Fy6qPYVYld6#?VdTIM@blfwsIOe zN!E1UNx*6~{`;V1wsk|i+3?}_c&$9Kh24kz!Lri}W5ArTH-BEc`=y5Mp+oPbMri1J zRuYs5M!uPvWhM$-iC^#{axBWoBTr?nr{-*7BHiQA9UE``d50E8*T-D?D>Q-b2Wd~@ zt5X5JnckUC%29TO94WZ-?Rn@@MQqB3e%qDOZ-G*h;cf9El``0MfKs1P@GpyE_K6b; z%jWzsxv$GAD3-U-08Q&>ov}obvR7NtP)C3!V#ISzf@%=&R0u&{ow9fWH!&b? zR_e`IAy5LM_1M^)Ssxv-AF)O;l98fS+X6Zkc^GIme}z{*%bOlCjGr@}HiMqsylCp& zro^o@Cx@v~8(ysawb%&aqa`HIWaYJ~GvEqvC7BsfWMZgaeCpSyuS+YamUKoK13}_~ zwLXT`AnuJcw&*ged5k;&z4GD5)s|2h{RG;}$~T#yvR)x?<9vM*jvmim&!5{wVYX7I_053S{gaoa5tHonF>57 zW1Vu)bPT*b4zUGW5@58MC`-sm*%D*_qKju_a3I5c6>$G%NZ*dY_4$6|XGW+N? zJF3R#JFJBl7~Az%ku9+qfS)l_W2_*FIB}P|Vo|x9-gRGZ^kLL~2!2l-m#9ah(JHSY zrtUgcf#q{_(r4I{{{^$Z{l`7g7H6IC80IK%sHU31|AHcAmZ*nZQcX?bkx{RnsS6(C z*&a)Td&nxwyqcI6E!PD=&y&%&=-5r*D*YbbVW#KGY*O)eat=yK<-Liyv+(fD-M3HM z?Q&T$w|ku?z`Z4DgS{Cc{k?(tJEkg*(PyHbFMqhZaF4N>W`OtdLgm{82Kty`XzX?z z%XBC&U)u;ehBpG&P?{ff73!}*s-$CWq+vq)bHL@=jYMswFE;$3{%jiH1o^jm3J{qVPo^RlnRYhLl-J_j!Q(GN~H4_scOOxU~BrVGt`i<(`=RqRM zScI0!KXBw5ZP{w~tH7(6JGQPy5AmfYJ5qq2HXXwna)EU3{{h*7hrgGe$!T)*9a` zl1HDmXgkxCmi6lJ`uV4yo0bX+8^sy<&3ZTB)i4r2Pv#*yQI;^7cC3_&_98^)709K#anz0V3M+AO@Y z0Ss5L%phC(X3QN=Up)gqjHNZgChg}aP?y5-`F`xoOH|c+z>r7-2NCC5{jqcHe% z;33Hb4a$e$0Yb&{WL#VP2h=s1USy8Z2;zSwdIS!JCH|t#Y$Z{{yENxoI9AFubY#8W zSaH}hp%6fXavd|uggz;zG%A18XJ=@qJ6P)X|7rscFlck2R^LY)^NceIRc4Zv_wV)a7 zf#@&7wR0C^7s~Og7jooBX!nk*okda>Ya-&XJ;V^dn}US)vKm*5$$%^x z@%P7G35uiA6&9?q8`9%Za~yCC@5j4pT@OUEg}mfp2+bk6p3r-1Bb( zx^~^UYy#f@WwFuJ2aEF$hZv!zO#8S>;za8LKp&?*=Hboqm23R8-8*w1c7+bNlj-g7 z9W0@kR#VXtbAMO{f_I4R1sZOh}3hs;uEp9V4}*KOhqaFZirpFS{4Ls|?Ck z%1b}cYepvdO42m^rksXlgFn-;83@3k%{c1T>%7zt3kEyZpO>2_7 z?9{hTAP?O1^IHV&&fW3%%UQD0_kq*Nj90n64Re!8nNV+J60~hJyG_mqK-rr`}#amzx9y(&-`5;o2i>%J!{MD5J-DALrrWcktRY4Ha4Z7}uHdc}KjG z6Q*$srC-XNz?rj3(awT6QcLyh2Vym$e$c7U?=VUbjFof$A36Vq#9+SA|hmAQeBfBCg7Ngr(0iDK&9>JmncXBoB6LVH3X zqsk=seA$id{fXcjG!6|GEw%PpCMIsxcTXdj*} z=P4zjOclNlANP!&V4?N$jS7mL{%kqujOMgMJJ6`U2p8hu2sQ)C?jRo=U4#>*eo|2y zhxZuDx~)6o18JjF1cTs(1T*7(rc-vcU)pPHj@vBVS+ibLJmYd$`Ug)}`fZ(NjT-58 zkgpvurx$$}STrHZ(&2XwKJs{#)CU$;Xc@s);Pa4U8;yz(-e>7MyJR+0cIL@h&bUU1Gv^j^0_8 znDFpBpRH9vJ-@>5IZ@u)(+3c9&8zJODpua-eb`F@`5B;}0ow|^V5>2XA%uSWMT_ju zhXh(kHb9?c+^tv+vZx;5tF56GK=>AT5x|3(nlq6NM%qR%rix-G;W^jBR>Q#Z=n@aS zNkH~p|I>%mIa7B5nXEiQ_Cldq=&-t>w_8?i==oh_$Y=(Yc_vV`$SLL`kG-2f|zmyRx$ z8#TtNGqO?h4r|R?W{J&s=<=ZoEvbX)k&-P3NosQKNG0mL-Qw$?oyf-TMiiwp5;$=i z?0r7$Uh&aEzD<<-uaHg^pE8zS)-VZLK=^Z^Z?B*Y#F661P*;l=04ncxmD4YI}76UB>LpopF2Ug6sZ3e?KPLMAl2 z3MUGrf@|=UD(h)K{eC)srqjnbohr~|F2nWd-2T`N^D>?A7;?(0f!ya~h}3ev|9Ap> zN0I6>s=vxGH0*U2F@nk|X=D`@X$%ed{1_^e{-|GzjdAYEd1_+$p8w5x_;(k7q*vX8 ztz-?UgkQu+0@Kmea!UmXiC4AIkD0)BDk8{IspSN+`JNd41*X;$?_)JVfX(s+dFi_K zW2Ya*3}a?<%dbrJT~W|o38-_Agh6)+mkDu@8}-2bSmE{Ef%=jq=$Thqm-zQob5`H<8NXf)qq`2UvrysV5=?*ZTj9wuV^XZhX=!Ta6KlM70O%jg`56 zZ#=SI6K}&*8mh(Dvb^+qeFbHv5t(6ZIVoLfRd#7Z^Joh&;4c%PvZ@Eb8GS&XGvWq` zitl?YuIE)kF8GapqMX2f9u0DaHe>I!)D*x2`YhK?f_=v_l0bGRc_OD0ss^DGSZEs| z&MyV5bd>p+$ke4)YRNtn8_jxx-|gFYO69*g>I?98MM zPdoUwZqyw=Ii6X4vN<&hU$x4P*Hv}u=2W1o`66b5&A&OY$ct7-#77o)?(|AnIp%~X`W5<;%4fJ`Pf1NLmTCP+wyTRiazY+s2a0~{bcWEuywQ{mJ;)>iBqA=EsQ zcH1?W+{jy^q8ce)VXAT@!%V=7&_eEOad)6Qb^&kSLjC3lk8k}}Xg;^LJLE)_+4R7d zlBP$|2Q6t%5hVeAgo)nD=}VGXAfft2^tD-J55nb9eXrLMnVUttvr9~U(Km)Eg?DZaU22)Bsu(td6I#N&wEls+zEV;e z879WeGuO|u@Z3~WZ9wYba({uzXp2|#N~MrXAS8SAIA^&0dKTaON6c9xDV_*F zv|8Z~`rBU#6IYT7!I_Xqor0>3HBln};g@I%mVoZpH&kfEjnYg{Q?X$p5ki~6E=XFt z)Uw!>f6P(RDzaa1sxj90cTAB~vn=%M>fv&dztH{1!{2C2##1yDgrfxKLhX_~&~IR3 za}^ljT4+b^^GG7HEB$jF0lP$n%Z3{CTp((!1Z7^r#EP29Za(^Nq5bumntZdWd_!oGLEwLoQQ!%GjM+3v3-kG1`>3dkWMq1#?oM>XukX7{)O9Pwjx z%(IUq0tR`@bvnUc3G<&lkU6H?3a$N>V3}Zo|7F}1EjI-nsYeBTgypJanP4R@xEl*^ zAo!*Ieu;_MP$z9k$&6!%Rh(rkbU3}E5 z87OvPBvX9X%L*g>}ehRb1UI}8kRA~T}0YRzW)B%0y9ri) ztOp0A{ghs5zn6r>&=6c|NT*HgI&vu#88;ns`7`=Y01P3^!|gD+4m9n+;bZ{_uEno9 z5>Vo5`c$?)>|s}G_qEv3k9%WGN;fHwIIc(3B_Vyh7f*z9MAanL2x3U+9b>&M^nlq9 z2MZH<b0-O}u8X z%Gy$6uY~K!;DFjfE4=uZ_5Vu;@Ec%(0~r*JcNA z+*0Pe-`dRNbvZ*^dZ_k?eNz&6y<7wO>8>_Y#JQiT3$-G2QBbfm&Ti3Wn9*sEA-4&A zLpG*0q?cww?!5#!P>l3vS3vH&a9xd@s?)GqfHyJxKr3J2uJlXR=To{up85<{&JVo? z3CF(~OAkgZ;j9wB+sGohE4m+(pCW5Gsc;5y5puPZ(xp6Q}PrI%71n0%kT6?zq&B1JPb$23+7Xbl&R*Zuh4u zT3;Jevw(D(3yfR3TO+lfb`-6>OHLoR_XGNhjbIxY)sl#27VFVH@Cw`zXdv{VAQ{zu zKk;PY=rmqV9k?9%)5J;8GVCOvpA)9kh=K5Sg)>8VH*Kn2uVbExf$PD@l}pq%C%5hh zLVV1BCql;~8W;SMaMuSKaor3_^gt*`ceh=%v`iI%kV?kyekD_gG7LhZ=P^b-FDP6t*p?S{4=I_sSbeTldxjiiC zu`u8|)L*%AMceUlzN|F^kxPryX z!y819T3?91t1_ID;5zfn8M#pCPPwuBowYPz(Yd+BiBq4YZ+YfQ?^M2cu*C#;+Q|9t zRy#xDHb_+1zX%d(BX+BlCs{P1MAGppO@jp@NJ8~nVIuS@Abzh`U}f<&8tcEcsC(&& zP0wAD#Pf5YESJ#}m9ybdvHK5vmb}Mju>qVV)5Wji^VXomK9ag!1h3^1@7=gtn?JA1kvt84seR

e`C8W%-BhRv5&z5OY~j1Xsr34CabaImdp5)192|6m53r28wl zs3~K*WJR%snDpp~(M47ke$FTkS{fB##@F0hZFwt!QED>P@*A)O>1(Ei+@17_Setmd z>mZRd%oalF;Dj!|3Mzov^<+vjgvV(kv~nvww*`M~PyzcTra666+(33!mz{8VFoDPg~ zN)u^49sD_Jpi?d}))SFQOZ`N7N)`(zA;J{8rVo`6B@-kX4ahj)cK&B4?`~#1m`V5^ zj-dFRxf6n-J|kh}oD5rKsn9c7$K?Cj3ZF8RQ1XO(2vo%4;~E1+aXQ_1)zk2DDd>hD zID=i&*(eRC*qHCw*BWDPre3}8^&QO&_AjrZw4BHn2OcSWPtSW_6zv<;+$GIvY*5>Gb<9cj{l2mKgmm zoUO|JG%zIn`vCuE)KYZ|d`LufZh=Pa^dsl?Y})cT=H!FV@bf|8XUj#+Vi)(+!gv8* z&(O~kW5;SWD+K4!CZa;Rzk8OApk=Od*8iRQf4>F@2*d5g07$gl~-Rp$w?xgeb!$u@hkMou^+iH zLLK*f-2Iq))vEaFTK_lmgKoULbJKsKS2dsqMPwq;`%R?pg<)}1y7-_kx9{W7@e}fS zk*hi|3!SF*W*ek>eQ{rHb}wT<$-;X3i^$q9koC{G5jTx-BsBSqc(KLo>e<#&Hpv0* z2bR^ps40xxgC43qA@4j}R)A9>w!{;6sC|rK=a%VHzP$W+4Ti-k84KZctMZTU`>-xF zx?ND%x3szVbz}WT)ak4Z`HsOS{lRm zIv=@|$Nl{TBR*jLmJ!hAxISJVeYiLmnx@KL@!);X4T0vf!WXN`^pbyh?M1v0*=F02 zvJ3I;Pjcz^j@o?^S}*;OWO?Juvk)t(vd#U`jvJO|U)#U$Duk1MeU0|%$-=zfEx$am7BSqLT=(GHhIp&)822Z1(b3Yh7kN&n9(

    4Wi_TbVmQmlv9PbGs9659B_%Dtb%dCopHE0gIKQ}>n3(u0a~y2r;7ZTHSl`Ih z*v$6&=JpD4y|DPFtE<}pWVW<@y1Ta@4TYh5o}8S#VB^@_+(Ms6M8~ndU`L<)uM(A7 z@fDKr*~6|zhqioH3oi76=QEJw-})h7Pek- zknk*z;Piy7x_bE7M+0|JB^!+|K2$G1r5CkuiyN`L(Fso~^NY?6j4k-^*)=4gSW@F# zNqrwQqnh`<$=U&Ga&c#9es_9#@6XQJ-0DGF|7>=7XF>JPp0P#v(68aywf?DV zpOfWH17p87D_e(pr#I?)e-*b)X4DSB%KLJf#wxpJJI7a>2N(S_THO=s9HCW~AtkmE zWssD{n8I#dNRFI6?7daIs2NnyI7-PW)g+*RLpzA>lP{k^xQ6==Mm2vHjeyXcj+eTj zOlsboTAuu$J!QW*d-+jiX-9CFq`b7s<#(!m zgwwMGR?myfDZ3M^x3_W zs*>76EIc9-0PTCL82H5(d6#iC&rm4Me~u`W?mwR_e~^*qUvQEwFUHZ3n(|Aa|$zXY; zzZtewAk<;wokgL40nZrEh# z=AX)iih)>Lj%L!O<)OeMv!iRn7rI3oR(~gQzF$Q(4r(1z<-YArFRgohG5)yv^xx%f z=seA{R+~sLRi<1HQIONHH)Luu0H`~|g8ENxjVq8swVYdPA$Tj(QukB#c3+*a=s)Ey zNz|}3Vb@FbZPDDPQlRZ~+J6d?QEa!qu=v))N1nTJ)|3nbogyA4AMBy(63{N0U_5{%cO@ z2`g39)}MdN*2OdLYYk@B*juwd6;|hDEDn_v{|TU2b|boXRdTfKijlV-+L#cmIFRx# zt@?EHINT&k51;s-g8Jg^4AyK{i67E}I5pv~nd`qnFdWcQH*&6B;Ql)i?cs&%%$7=f zl6TU8C!Y<-C->cy7znrTh4Ozg{Movg-xJ}~#=by_9D02%Mg~}zm%whnys^}VF5G91be0QI%U?0ekp@XW z*CJE;imXfj%&t@wCqv7wD**qRB*+qUVsQ_Z4~b|hMdsSDH+?O&Jhox4 zeoP}$di-x$cB~nRn6Db-ZGYDYbx^$+mC$C7)V7H8U6AK)QNDJ~P^F&QYZ2v)Pwxf5-VOWdixkh-eg%RqtB?4ery&1_ zvXQ2t{zr6~9-q}TQOkv(LPyh&nwGDV6Q!ZkBU9U&9|#5rRb_3gFEXd%o~?xk{aZ3- zXU*iO$+IuihUL$!-&qmLZGCT-a~`@pS22HV4Vrr(9XWn&dxKWK<{~s2=j31Y9PYKX zbP_`6lKgI74&Oj5RQNr4$TJ--+d%7-L&DekEoa|T4}Ohm3ZB-fI&l0)0?iQ&A1NBU zYf$|gla)v;9f$JSsQ4IIi?av+Lo1q&*{$b&$e_IsiS(>nn+a+GD;&S%#_PrhN za%%)=E53Fv@*-{M$?}VTotn5e#>|^0Ej;jTf-MJ;r(%ewyJt9Z#mbJoO2YaNba%JctrxMmkrQow!Zg{k0W8HwQtBRz zg-jvUyafigZqDpCj%t^}BDFl13`a^Xm(ubnYcHx>HJrF*1>ffMRkC{ZsyP|w$Q9zD@XII zk?5(Jni6o-=o7?Nioz+fBcl`?vv2E}Hf6%T-N|u^Fk?csWOt8jhffm?4}9UO$Z_j@ z^`8&?RIW`cD-w&<1HaFEysRP|+~eyM!GoNUV4v+wtl>u}OL=y_gj-1V1PF)k@eOwx zmccJQw*DihwC-65_vj>F(I|MiSM{wS&d#+}AjI~^7jMiWN(it}7!l?cW4BXD3Jkv% zTb#cla%T!L*(3MLbf+Wqvfk?D`XAIY#nNY$L6c9We;FQeMhGrl>mJ^9VRp|hqrOk$ zJi*`LfQ~RVKE5Z=@upR3f=w$;8WfGI$8~Tk{uic)Q*VAHNnXs>Jk_XONMbupyW1VC z3}7g-cH6*%or*RA-uiS$v^1%1-iIMYZ+V?7GdCwvKJH}c{5Kx8A%X{Dfqc?F5I3RF;ByFGH&hnfsLj{&ni*-qQL?&QB%EI`?9~ zrxzMEicr0ji}GNK_4y)N=H^#hvSFPW(Ip=jo|#|m8ocy3F#-Iw^*Cuw^MdOJ!v)U( zSO`x;!QAw&@ry9d`sJUZ$&mJmNWJ0@4^Qm-YF^?)L-dUY74sm6&rn`e|7J`uv21eq zO|dm&b=b)yuqmrX51G*H;>2mYO_z=WI$sz2$_tdy?s#JKrMKNQUgefbZNW1Sm~Jmg zP)}>FOD?SFex&@btU0SzDCX)iug_ad{Jt=jy%w`?X+k79^hIHCQ?~Zocmdw9?R+C< z)OL)*?9#}3%I~)9z!`_n@e;w*|0X@xhS^>fadT2fma`&gSzL6f_c-Upy(&qJ-H+^$ z$ag$J?qx-CZV=s%X%M19Y4zs1<{E))YX%EXk^0{g%ErVuQLV4W-6uo8JG8LY?Pa9U z@UZ6z`VPOH}msbc2Fb=TFBSEFT&&M|J!&TKM_UHfG=u z)hi|1U~E<_#D=+gR3OXF(Do1c%=sK%Rjc+V@{6;%zVmJ1>IFKpDD;XZm(6sMy1&_+ zDL+&g{wl*J{3A3}Q!hV681C)F#VgOZH23EYOJNW?E8Cmsose69)N#A59dLE?RXZQ? zL&>a6x882C$$5|X4jB`at}K?rwa`x8%*g`JxeK#Ubm@(a5-)eG=yLJOSu*vBKh_5| z%TcRVTsI7gc_X8@@-0%8U}yBNw_vA(*G^*kFRynz#L~+0eQw&XJ;#L%m9K?py@d74 zBuD>UWoD}&>i$;n?$)bc+zT0Z&}P%*v!)?Y517ExB)+~>>iteiY~+*L)%~8y4383U z&eOc#6;;@0S=)|1nMOvTCIvXN95mx0P~zkNgi~ zgAFfkPK}8MKfGGtji(`a;WPZFUVR2FS-3mv!1Cn1&l)~=YInmftm%>K_*6>bCDv<` ziWSBrU%aDe&23fX2P+U~xx%6dG)vF)a-4qLXT4SwSF_(Dm4yAE94sh!&J*HF!o>QS z0HgQ@tB{y|n)~A-Kd;|hkHmi>m5zQ?-tpmxw(jW5`BL*Z8OUq!QzF}&7u!wL>>MTx zi=gz&oO1FDp`cc^N^aUI$TsOJ{T~$UJYc{#f%9@;nDc19>r?$A!WOFY9sO{MAbvn_ zjsb9Wpx6ezWkB<4v#^7mP@5E+m3IN(=UyV}b0rVbJX^ZHSWLXHsdn|U1k zlyp;fvWCg*kFHZBB>z87%=Ei@w~zSm+@60hBH7;BipX>!G~t{s$i!w3VedpIY`= ztj1DUiJsV18wv$6$-m~Gwy@wmea~3r0`7Qlv;F$XgqOg!gAM@p=D5xYGr{ySXmRFG zOl+5?YhVA-b0&wCK2>g!j105wX<}zrX=K`)Q#Vo05Z6?cc&mXYw+u3wk8YjU+Szn7 z{0r_bKAtaCSczF>ck$;L;Kxe#nO^&c*)=i858o0 zo(lgS0~yh&&oTxSQ|f@0Jf;WupqGBU;;DkvQ8b~sW(MgU=b zpT5cx5{6#{0Dt_UFq1>2@+arbc41&MRf$Ov?pb#eZ?ymJ?ctx)#hNc!*b86<)6mR6 zAE}r)**J%19!ia8PtXFQdS8L5rA2VkH3+SXlz)B}^*4A6;dKOPwn6-T4W7+R5MZK= z6~jRwBZQ~Ne8-b(Lj$iAVkmxw>?)4@oKVMY>lDtU1HmhN&-;p50?S=XjL#!OIHeOq z6SBfRGx{e?Cp=g1!}r8D@8*cud|uXk;u&YDFN@qKGUF?9@+zSu7Kn7A_6E{MZQ11K zJnwl`lrM&dW%a1l1F52RL{|ay=LPcrdKox`0g<++Z6L_Id<-Bejj_+97>xmRwy#r% ze*v*h1=}b=NCMvh9ueF=edOyx&ri_xq__?#)jQY330A+mjmwptCEfAhY-)HCy@9_y zE#Pcwzj=+7{h_zF$rKc+{FXM#Z;frq%iE$vtf){7i)jbB8f?!w{dEhX+5qt%3;DPt z&P9NE${N@VIxe)j)^D}24m>qh0?_%T|FBU$Pw(vJdMjnTH0TqMq*(Rp#{yohcILzC zh@Ayf!E+;A-jmQ$d*#O?wu|KL-1qmUnUl5TmzYgIEEd$8Gst|ccNfammK)micM#uh z>e9qRm6ZMpRL%D5uRve}HE;Ynf-6ebJGET(*(6A_0}9vAX8Vfo?fy=O1Jf0;EeP8I z*i=bKD5g{Tq5G3nAx)G$n0vsb0&`esaf zQ3LXM()`1j&984$`4y z=}%)onaK0&f}^DrYMT?Kmuzyd8Yq(q?-n8@j%qKSSOVSb9}t|?2}wBmd3#Sdt>25QvQYQ;+M7qNsr9U#44F|*462Bplw`HEjTk!Ud+_p< zkGhzd-={MkDQMkq4IS&p0zKJs#u-odobSKW7B7lFrX{4rq^f?Bl&B*+dEhMyAY3sz zXG7|dxOU-=#sJOQFstzseuD9Iu4R)DOw%=jQ(X64(2K8D#@qy?&QY7?2E$QJ-KK=5vgt{XF+IRRlLNNzV_*Rq_F&H&PwjJF3V=4iGIpeKVmDc)|&RIK3_Z zApi5s#5{5i-Xa$7c3(fydU!E!bGcbnkf;qHp3OJ*J`mMV5Ve&|+^bJZa^@AEzWvFz zXW102to2*`{aaI+M<=F++eFR6l|QK$bg$W$MntLft;$}Omsyl0o@2~dGNe%OnCz_H znCuqy5fbVG-jV=u5I1iyuR1#nJK7tTlRP0+Qvi@*2~WT~IzpLW8nE(Izh~QDS89Oc ze}4(xE)t+n@QsHo~JZ`z5XNh|V?pDHj3NkN}XE%7st64U9|h3ax-A;O*069MpSd z#Y1)yoo98tcM22E;&NGmtUm3^+N?blQ&^JNJ+`3q_T){si#vT=990^Aa6v!P#CS zCN=@S^riN@R#*K~+5(G-EhJFFJO6&7mp(A9g2fBLfDseZtr#-DRS*%RM zJNGA&NsQFr91YGgiomjzcwdKfb;&_8%IKJt zs*vxw*yD4St+$h_ojh3n>?N#e(b2_4?0I=z-@9r9PVVNe*R&6n&07p~+BJ7qX-@=q zacYj7P_5uR5hJjd6CWlq_uI%6UAot01Q&Q`84a|SaetmUWr7#3x%EqyKg90^Qy$V$ z%~*1TXcfUAzTV(A1cq|R2j4ITE&|Cp)<7=|9e@=jKqLm#28q0v)u%5G6agiGmsOM- z^W}cyFloccrONZL45Y_k{h4DP}$K_ z)T^Y#*{P;ezgD`a;-mK2(YDS7H}meO7j?9~!==Q}XLE0)s+r1U&!HF%0(}aJ6~XU4M(K)^M)HGlJ4?gAM~484(YmZ=P82xV$3hdK`EQ+UE)C_p={l zaUzIS;c-hOBJ#N>pvQ@YL`r#D6B2$*V)qMpR#pcrEtD8+T;#6fbioro?U#W|gjv4s z=vP3a)oPX-lVin@d6D@fqsaniW^d835R(hRpsOraBHvjor9oMxu;B zpK=?s_5@yGlxt1*!%LnM6PyWK&kjQJrV`_?miN|p%nc(g1D0?d^`;cK!ext;Ywo@i zkg~U2es?Mahsj8mKm_qkDSC3iKbz7Fn;;$4rXB^9V^7uYxJZgh?Pi)G;cY%b4_o?R zuGjCI+5!XK$r5sf)7JXxAfZbE<|{{mzNHn*Pt_9L--)@%-<7u57zVEr6FATjB67Ro zQi7AZ#`77!rG6e*Fe$cNeC%HIw{Q|$>FZ@C**AKW1Gog*3d#7CF~NsM)vV%gH0rgh zoLh{YBHOLeq3ily5Y;}S%a0QzU!|?kea7?|R?=Zkn$T%o;@+ASi6g()+tu>Jc`GQO zumxp+vbr=&ZRJaO3m|B!2eJfT?1;{*67Gar;$6rWosZ?-r2;6hE9|y-v|)~JB-`7n z?^ZF~$g9qfzBuxHRppIs2t;Bh59TLCqzE{!<~$O1SHFkD6 z7f(Ao#`=h%bDb6huUd59jRIf`?4O4`;4W%Zyq{uKe%pPJz^)NE?JqepN~ORag*I91 z!s2+CxL|FG%i!As&(Fqb0)cBs$&cv_Y1IhML(~XkVfqx}^7ePLSU+tac5@P_!lIr%9T(%n@Z-70Q4P z@~YYYe8Uxb$gTLy*!x3lp|PCSkb03aG@#OHQ~9#&xZZMo0gO1fRbsc&DP5=3;AD{a z5StUy0Ll(+*ztQbQ94IaF;_Eer{8ppf`A>p_**X#ti;nLBs8SXL)Ty=C5$hkU~$Hsxs=AuT1h^b)nuehkw_BDQAeeV`V#f3@2(*(oQHm z%ofh$*zf)I6^EolqhsDB&QG6!hhuD@%{PKvIw{!}>7TkB;@O}5kT;0X6UP!D z#-A+@&MRX0!03YlbW#MuSo(!pGWs!l(P4T1kg8#V9z>!=;9ie4 zOLNnzSn;uamI&4K^`M2;5Pau8fBL*Qa+%zCR8%|@VhUQKSHcXRdz3t%&tZ6$O0ZUO z_KrGo^c`a6rzTG8$ULk8+pM#~%fUAyKW%7oj+zQ7>!)cgq$WoB90i>Rn)}J%h${!?i5bt`hIja;!1n=sKywf zF0XpMnTN(j%s}{zGUiMs{*L%#w%!-4Jpo}uIzJ5Qjpuke8agod&5!7Q(ypL*aSGhAx@^B7uY^9o zRwh#0EWH<5T97Vi`cOp~vd_}*ljzuCqCm!yuI1@b6Gfa+d*I{X>HdPT8{;m)KCMYiq^)wJ>9!F_n`EV8G7AGgSzSw6 z;NWG7oL`1l69Id8zheSag3T&&V1RcOPu;aeX=(#zuEzcya&dgZiDG ze^x8*er2=i#T5>61tq2fkdP+a>f*!mBkt6dM`}cI`8Hq4p%lc6H9zrv>5%&b;Gw`h zWaK4yW%zwI?wR(fo9)G`<76%Tj)_BA$ZKpB{s-C^N#8rgU#74uZ75d^Z)Son2U{Aq zOrxWh!=Uf{!SXJ-jU+@d(Oc3-?zI{A!sm$7HOeSfL^}$5c`6!|o-y`{SrJd4+c(r} z_!Yscw-iG5^^jIFA!F;k`}4c^ITv|b1Lg-ipVq62bpY4LC9?|yb>j%{TOBjPYf|Or zQtLUFUyQLz`MQ>O0uZWttDQfnMd$<%^6yh!-QvS2Rif9PO+hXD@4%DyR55?uRyJ ztP;>FC~s≫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

    -62AVaIghHCT!<>w~5gMwdfHmf83Y#w zw#C)5jVHclcyt0k5Bi?l-eZp40j`TFd2;*ChpwQ{7BHDt?{5e3;r8OvodozmCz>Is}`N;KJL-%07KE>b8jX4BBN3%zm1n=NrB z)L&ms*+LF8si}n3JkrF~*iFyWxg5X#Qc=lVYHTX?^F00#YXHA$n#l?;D0tVKmn0#F zhNY+CK3rRSz#w~kbR;1OYk3V8=N=ZZ!kqQ`d2XHC(CM7?+v%RY@aAWr!1o6-w-`fK ze{&7I>={r7wOKlP35p1qu8w+(EJte|<%MDb7-QheD&;^f%tfLpaqXJrr7Sjzz(+S6 zDn0TM33wC2cF``$M6{29F0Qm!d`Q?#K_rZ3Y`=x?49YmmH!%||hWVnq2UXSBDlNz) znVqJ+^+b71Xw1Rh$r4E}@ScJ`*3q~1I=nIJtq&8V!v}xg3n$1BTW%DeUjBo|Tu=jk zLqbiK7@HmYDgmu6zDJyJ;E2ePD1~Ftd5!zp=T6MIxY33>^1hzV=enXs_UdVsWR{Fu zcuQ5oyV#QiZP&o+L>7w+?Zpc7Y~?eEuyH`2NIp^zUzmPSlblZ`yMGg2lk?C?dT*u# zO?Qq`DoOi8UYHv#z%q?*tL_G(pBIvz%d?^HdAhkeTl1Vifn0$P&joe*GCI8pGYxji z&+=GJbbTeExj326fq=N5kjOis+52jm%6mT(Pxd{r%?wZ3w+UcQO&Rp+t+R)Z@!(}^ z)v4;v^e+R5quBb;4$Cjw5!VsuK7i2{B8dEGm6eVa(@{gmnlX48nSX|W@8^LvAdt`P z7WN=ur`{=D>me$osjRoLy8%B9$#XGy649@Dc6Wc*sOhO%Xs z%W;tMGFwhN{E6d&uChT>oDT7jrnuMv9;WV-0Z|UAJp=461ATcx0O5n3Qm#37;{9H}K2^LC?b_CzoDDL;Dhdx(m zTtP=c{jOIiAk7=_4P#hTCJ1wPsPZ=)&w)tuQ^AK?^o}r^np(b3U2H7D0Y!fx^+N3nwLoLast>hU`a}ybKUq+S%sO-}v%7so`(PN~$oC>X= zZ;fHL44qNv7w=-^j3h_bDNAs}c9HV?m1lpqCUr=YVd^SQK1y9PuCQ$Nz{8Z>MyVM! z1^l}FU&Mn>`ucTP@eJ_~wXdaSY$LdhuXt51^K;WpoE4*pkxv%;ADVqYq><{8x<2r- z*8G;aIOxuv#*-Ea3~Z(B$KH@@j_i!kBcg!xmCW=rWtiNIIoF%{8v7e@3(?KS*x=`p zsuXLESPvSjJkeXJ$9sQ6yNRNzZTQh_qe(>Mc!7Qj%v%YIR-?QfxxCg9!XH&_1K}>7 zFRY(FTGX?>u*&&wwHDR^PuE~2PGojnQKdIO-=F-*d{~j-G;e|IeT<`D8-)Wkrc^Pw zwq2E`ePMXfZqiDJO3WmxA)|2Zu+?(tLcs)+9;IF=}MXT1r1^TS-ht5I+UbJ(n zJ+a|WDp0Hlc>egy({!49$c1x>vPQ2YW9`VZOP;q6;e$HrJUJ5(Ug^o&Z^+Z{etlk@OXGWS?*k`@lntom=w!hv6=XcuB2G z;X$l&qOyYBw2?`XZ>+S?2Z42j5{ZFl<`Y~hHWaRJri$l0^#;^srCIfsPKmV7Y3Aq* z)@5m(B7!BxTirRE+^$>NY05@roeKc`^(_Hq7$7@4aT6C0>GK| z;^tFT^2+&wDh4JdfLqs>zRip-uu*$9|AfkuP?V=O7TIj7N&$`>~e$W#7%{o@M z^tv0c&6Ih>f9QxT?0XjBj74nbly>pxR`uQf**487!D{-e-ln@q&ahgTzU_vkU2(ob zx>z=;avjMU%PMy)Yo29uHFMdEj?@M8y}B=?hBpq3oxHSJ7(Wg5shN>w{8q}shNZ=M z3{KPf0X3*Y=C1=!j@5si?vGoz`&?afH02!o@6LKXf&io@>7I}F4eu1}!BV=|T8&Yk zt60_Jz9->@*$!yJ2dB;qm3}zS;OyBce{mKqd#4-duRg7I_6n}`6;_|SVHl5gBLb{R@96XZjH)6|=p8+G zW~4}1pMB6P>HKH>f;(oM1Q244#JBcLLmj?Qr|<52(?jjMg_5(nvI?GM9ziM5gP$GrEU?43-yFPXb=BkfAJT1ii+C9hAzPz zd4z#w)75O>c%k(m=9e+NoJLj%(^!kQ-Jo=5k4VYrtqNzV>levXD&0JPCvAPfRXY>6 z@)PneVoD}@G)3+?_IjosyaxeE%5>*GPp{LBX)&OQZL4vSGz+38tls#QwW1@~Un04p zPLjj|_KL;6G-+dX`Ax1n#?kDpZ?DWBfI$?yevd$6f%uO($U9VnRc**nxD;ot0< z-WGgX3UVD&odQK^?9Sxm8|}x}3m;8u@;bssba;12v_GFM#<(4^O7zWC9)0EBWQ*Jz zeEkrM(UCUCKNVVgn2Qox!iaKpto(b+R(r)W$?~Ces=Q8~Q1b zXneQ2>dIi}ASe}WWSK?Yt{qk{h=%o?1{447^`w781G9JaoS7ibR6Oz{WUdRp&16fv zqjq!bxV*5Wplw;RcT8$Dt@N^guzjVI#?7?6L)v4jspIN^^n^Z()K~tYKc6dWOMRis z$4ZPwVlJsGJfQ%T3|qGMr00Bzny!b zYR;2PEu?FsY^5G>rgcvB-=#S>@66Z99L$+NjwQctDIe{rvQG)Rix)S#s21yyv1vYH z+mMPhAM^rsXlFIv0=i6s)0Y_9>DtLVX!NBfY=}+t%`j~!( z!NN=0+Nmjq_oeLaLyD=Nd(-a60Pp}cs#R3)o7F?ca={qW$he!JzaSEv%(U4xk}F3j zu$|g~c=2S37rmVE!)hIeuX}u?xY+z|*nx(67tFdKnn>hF-?i<&V)0UC^|Wq&T05`B zDFvx+$&~sN9}$!ELqE%aNPhNr>~>Y+H>NdI*G5?hMA4?Y5kS7d@V|UR`Laa>>KASUe^SU7X*!_I0T6AiY14^9b*Igc5EI~rTzh;N?@~O;-4&eKm+6M{Kc6*Wr(3e%RdqPE zF|CsVOh~u>mXKowI5+-yenv1JQ&o9rzT6{pFrrs_!}(5N-Qh~FIooJ4xqI5(yS>vBhHEk zWh}Z&I^qFJMHCOiG%Ri<(G9aKp6CipHY}fD;rw`QZ$l{+GjVJKqA4@3yq$? z-@mO}oFMb?8qVm;3W-{~Cb2FxXb!@QoJedoz^52=>q_@GGAaD>A(n;I=rGs6_sYy< zzQp`v1#JM5g7=!Z7yyKKA{k$*yTh~LNpa$2WmQ!I78gsc_Y+}^Lh6nLfGO1d(6MZr zChj4mV$SCIn8=IfNA*IveYI%#WeY3YwZEMWW>OmyL&8zVK*)k0MjdnTwIiK z(iw={++EQ|P@(S)`W?ZFt+F^XHVFPLe~C`s4e4uTs;ClgPe5~a1|)KAH=F(xV3v3~ zR9SEq;qkIW@9dh^sQ3(f{>joGU@E{aP9g5|@8apU>P`*j{`Ep5FDE6p|5LQcaK$_{ z5l-ItkZ=#9-vg2}hT;M&fiq(o`LbmzPM+dK>K|SdQa}iG_jhTC-IFA?)YRg@eCf#Q zO`cxE617+EpD4Dzpi$xB$d7MjfJ$8Pb_uusoB&mtr%oobcf$8HWt8u+zg8xC1F+!)2PvB&kM{1-JsKmPFgqPd-Jf1 zAbW6oR7q_gE8dcs4_P{4SKwMPg>O*?BZ{JR)hmb++52Ol$`;KP_N{*Zkwd#B!^{MP zB4wX?_};l+#}{AgX7Dm|m=4`>>M6KR-oB{g@xVi6_2Gm3X8 zIu8sQZ_Hz~P~9HvN4|4WB2tR@CZ0gSQ~H;DD|j=-)@-B8JZ6m?z4;#M>tA*xcu|k@ zn#FtS8RIYhvfSDzRyN*Ddwkhq_8o9XC@u-I@CJ%3XZP2#;bWi(u?N&Ah&C#|4W{Bc zHeUcc!QYK1T9Idw9Zwj6y>4A<<|+YHEWd?LuXQ7}gGK5EQ^^{O1?Vi>7oWK)4!X)2 zfsC%8Y+_6Us&y6x;G8gt%VFf2sG@`R9;Jps#Btui&2!)M_n*Lz#^9LR;*Xnz&q7UM z7jJ|=x^C1xnDqSQy^1YS+FGwUFB60=~$4B=xePwGiRm6@p?2zHrU7XEbdLJ< zXK6sKzOEgA)Af2K)WuJ$=%e!W6$tKu*>DTMt@AUkoPO;AQxOenRdAC5$%mcLuJ#Yt z7pqA?{deA2ozD;EsqcF+g`mr54R+9*v3027adGTa{$ zmJDNG8<+EB%&kN8)QH;2He^iFk{zF6zgB6yPKQf+%0~h00R(4bajC-qI8PlyG28$^ zK9gmnsa#n=w4U@Yk9LP%huRla77yaC(LJ z7z%W+a9O(h@V-i5i^UiMH)tch0*mAQt5{#c@#*BT>st-%;-AGaq3@?OLCKk16RI}5 z-^PX1Bd|Am1hGF~)UB++Kfi7}4we^Cq!8i46Du9+F z_fWDIp__Y229$`Ns`{l7Ba==5)BTh^x|*~RK+$N77k43;H+?LtjGB&zYTvD4&F1g! z>becc0yJrR1-_ougiYW!3{<~$P`fo4bB_BxOEc_twRpDq(=j9?*h|?tuYkN)B+96x zzT4!>qhv@q?B1Jc(4l%t1K2Dk6#ZuJRc{!!j%At~Ual+f3%bbQl_u-T^{sPE2m{@7 zX)31{n!Fp>=C#YB)AJiA_&X_GVq*MfC{1s^yn>zQ8!b6pVSI@_Kv$<+7N8gOuRuwW{>Ow;>=Da)+|#wU-8bIpnpSMrNqmvN=LXN;PED9 zk$R%8T5#UaX%3fbsy*wLNi{eANX;6t@Vr9BJw>-+vfsZw4AqaI?x=DxX_dbvZ&Jsj z2wWkg-Zrt1w}>X0Rp++mj6ZKdJ}1M)ja=+&HV@~*=Me57!@}M}LOG4*z$YEPb{@l_3p9Dsdv7|v=Q`oq9-C?a2A#FTuUT}giwTM3T{yZt&=jmrl;#bs6^W14VjJehk$SI zdB|0@Y2>|69KbGaqb{n$D8$Gr#OQzs6EX|zD>0^ld#JpNu#ho_Ys(z#dOg`Xfe4>f zrgu})tm`J+w0L!m36gW>y1LtZP%}>$Kz|G%&OU@ucDsKD3aVE@s_L|PB+L|B*wSN? zfqPw+z&1+CBoTQCW?!lEi2I)Kl{k7mt?VPo$aefb=shrr6(d;7<--x;O=(!~6(HLE zcVVXR3qyGD@9*w{hWJD1QKi6es{{lDEu}v{Y}S1ZG{OX?Lys3r0ml711QD9)o~syo zErMUXvPbHEI~R_JIsh?d#5S7y^UyMhd8eV&37EDbldMQjm>iv*OaIH$9uhr)2Y`MEA60c2CCHu_ZTWMKm>5tg7yFb@8Rl<=avr>gZJgu` z{UpW!Jd2-0(8EujwkXdh06@n)5q&at!QpgNj6DOSC z`ivWvSf789BidJNl z;+_S@4{Tu^72S5@-1FNch{GpbeNVPX$%Gr;^60qqTa}#_WIobSVN7018mBypo=Ck0 z@RF1@+7ax$8HZxt)a)N8a)xJ3Csibnb4wDEIE!6k7UV5@w=JYtgyi70(AznSKq9k} z&t6q2bKDI(L(VDbiWtwAC@uH@Jg(%4A33IaC0ETI!T##a&bry3?{V3B^099=D1mLk z3pMV{w@b}2z!z zIdo;;$WY@uIHim`QWOf7)jh(+X?{EWnqqJxAZblBH|!_;OadM#`6YtbSQ6M-jLyYy zlFKeO#*bEz<}25cC>@&%?5WCd-Obq6tDM&IEPD!{eFZ@9$WKG%5$bY@ERBo&%)wdu zHGL#aPVC*Y=kz7eH*S(x^hKPRF6`IzX2Nh*ny-(xkfWDBN!k6Tq9b=Irmtc@?6YZK zC2N1TCXCpzK^=>tEG%nXXiIpQ-q(V{mo%EhbY0}ndm-4Qp`5I0PDv2Z4%ih<#$w}ZvPE@4CBh` z^s?_5ZJs2m;kk%RcnvumPHyK9-JZ?JW9QqB9&^2oN}0=f8AV$C=UG4VledJ7ljKd8 zYp(YiiE3OQlT#1jP62}@KTETe4~2DV(`!P9MQn7%Ty7q24>Jjz&OduM-?%h?%Ga>3 zgVCfd%HjF#C4Tn3i+K|2J^h1os*kO)GoWE3UVmyD?+QJLWTz=lYq>JVClp3MxvnuN%rpE9zGVn z8vZ)oveTlDUgt{oYP=>h@~h~Vn38ppvj`wNvjpq=7ZLu#t6}u$(3dC+u$n!RvE-8q z2@@-2&zp@zXOE$BgeGdvzIM^+L`aP<(-OaWM*vy$&<<4tRmZVohR<&1)sG1MVhU3$ zJ3CofMmXc@Pk`?ibsZd5AWhRbdw~ux(xfEKm%Lx7cvm&cPan1pEh*}^ntE8@(%NSJsH zPp`wWnzrN~1&PV){Ul$e=o-Re6VG!$|MI5u+b3Z8;)mz-9*6MXcmfP7uKc-Xw(s0j zbnVguQ$bZ~}^?Gua~KKI>(+V1|= zE3m+BR7UQ=e)Gky@JTDB`2$zJdI*0F)JpE4e8Wb^B=&|VT#b9uWfEEd@e{hW6>2XP zNku2aBzVT$fJ5_QiC@r(gIEl?DWA54fm67ceAV!zy0b=x7pwNSk);FZLrL;dC z8&2^3!#DT2;7lfbHD%$Q>{sW^%MNr5FIO1wEh4tC*(={m8p$e(0h??&AG4tLJX?9i z*>v0w5#`ySIlQPvusV z7~%A^?-u!yMTX5#wFnxf1vLisx7%eRO+mxdbLjIN9t$`pQIbj}iX!8wXqQQ*(NdG{ zy?R$|TBFN8m@Z*DK{C8dFwV2AHy1NNRgAJb?L!UQ8`^cAcG1i@?W9!~EX{^ZCZ`0K z1M?M3Q#gH?EIPFky5A@4wE*fD|IG@rbVCQ$Q7H>WnQqu*{KEMlMZ2l>kg62n)Bg1* zw6{7{>=D{SFNeazc|=^HXas6lrw(4+!r(v+F|kZa`Ds4 z;)+QhZuG%*KAifCV&{~((U&g$;F8W!N(&ua5O?^u(RJxV?vg6H9}L2NFM+ZC{hj$v zsoa}9!Na%%QM6emqq^> zQTaVUfp`qJjcALF&MJQ*ps;Ztpegv0QM)Zl`taFOQ_nk>E*Ui`p2VIIrjb*W^&#g< zN_$~h))K=Y%+$d;5QeRR>p~Dl2Dkasn+zd1e&yZJ(>J%uZEi!h-SZhMS{1L5w)lF= zzX>ALXWq2!dR;(9Ev%^(8J&*ONneBEBYW7nWI-qZ$x999YDvE|rprD=I#n5o`o!y^kcxh24$I?wE;oa9yqV7`J*sLSu)GXI9SjX_|k?Jl-Pv#l%r zE)nTV)3+uCh4lPR<)`&7dt?SE8Rj$7zAx8HE^Ob?H0U@g5RHnxbb!V%ky}MO(CfaD zxky5xoN!Uuy9{he%miPyo{+oNbVoI=mSswg)x0Wj`YBm;f$F)+7DR?y#gAvpV|*9? zWyTNw2_{d6uNS?pv;gSZFup_vj(ag(COtifevtiLPmV?mV#OUdj~PYg1U<9e^VC0N-DHl&x+{)_vkpT>aZ7U~n*5wR?1k zAw+&>$t)>(j0T&megb_^mJW%4yY0~vboBg3$d8PXNY#Sk$9lW|yh}1I*cnXo7QWlB zo<4Un6fdorzb~0y@-BtPKxWgLulykW9y$kS`$u;rdb9}7h2)V>{q)S*hQQ?wcxh&U zlbn3|4G`3ULPM$FMtvn|U|$>iX!V1(v?jcus` zR9CyQl}V|xt{Pquty>ve4YghO=8Gs%(m|%EBt@bYbZP}4G^+!{x6e~;Z_B=lqpGO? zaKji)nwXgwF@PdG9K}Q$wJ7AXPi%{CS&r3}kXt{FtUIP%jf@!b1VZQH_5>Gaa9?H5 z6x1EME;P;DboZ5@`_7xquI<|13S@#N;vN_?kL(`#2cqGoSjZ0?%-2?zmRz1s8T8Fj zYkDu+NT}nYRKfPu4%81;suEyR<<=4g>`Dc`sQ@a}9zYJgQZdTYjt6XYz=4MkF?D z#6v+cGScW$CcxX_JNUvjFffoas<~2{Ff*0jTv1nNMZ#&o%l=519iZh{TMnmk-J^XN zP=VIF^zho=jQ>$^KigCy#|h23i>4H@cpC7}57VNdl4MhX^bPC=m5=}p;rh*gqbW=& z+pNNBH+(~w`$8ZSoRQt%{(06dsheVYAqQ+>Foc8DdU-H^0OW>qnpI<{#BAn%YkDu* zly0r{#LU;bY$@JFQ3<>D=0sUsEY&%85F*)T>@GHX{M-e!tM0p#FDIyekZ|ag73yzVf|qX5Q3b!)@x@M04wZ z_Xzxy#DOkF!HVY}NN;T2kN2Kpu7xXGKcq)vK^BQ~a?H%OWH~;=_rA11MSwz3I;T@Ij!?n|?`kR@a3u>?a#h!;a z-Ca^7q-(dj5?d4`BZCtAd&IdU39$SAJ#fLPB`hSnQHkuw3erTp?s>Ctk*aeg96%0aMg0*IG;cYMnY0_I*J2Wj44f@FZz*?k^&7+lS=Fxx*u%=cDdG2 z$^TB9Fxys&iMBG1;;2sB#^EYbq}kjS=kP;W35QwjCOpXC_b8O$RCq`Aq8PjsS=azL zjx$T`=4*yr@A~4HdBpZekoUJ?%B+PvCLY7|gcT~|4ZALH_Pd{RRhp;<_JALZq4qlxVH&a;YQc~+?e4+b z%+N?8I;}mtv)nAzZgW(OTl+jA=b6S$k=msua(=lp`a3&@RT|E6UK&UB19V^tx_{*k zAg`|b$wfR4tAJ|hPe139*^dAhy%N~Fc*t0VP)_C6DP|WyvAG~VmkMB$bU=&@;nhe; z0iXv5E|?6JKw86Yzgm3?5e_RuhD=;#0Y6&8H%2(w2V2JDetJUn>CrkWo)KK@_*SJ zvXk=1HnGIGAz>$_n-2@gUkKCL@2)aNad%2{x(Hl;g=AG^HF*8pg!LQM&^04yuLUIk zkU|L~UMVkNVi>Tu+I{Q(`zfG9r=`vAV2glWKAk(=}4Yt{=EgIw2xalS!`I>J(yN}$PMt`Ls{5AcF{Ma$_z3jPXb zfTXFcsT{96Z^&p2)PqmSblq|BYNXfjED-wYu~5lN{kwZw-^=*|7EwpB+3lGr+KUpI zf~C#}>jtXN)0uFi;XA-k+&7Z+4#fz#-q)1+&k#QBRv1$2-Si&`ACpkOQxx01SZqV_ z@(VbJE)T4I&cY1Yip@&V%FZeh@!(eb$MBAaQE!yfTHHA>#=XlKq-j}z!e4+@T773t z=1f>r8FsR_a&fM;74CLGPTKR(cUAb!Q`2`B${Y0vxc1O3CCRmhy4<%{Q*yuy@3K`- zJt-_j+64TOMLrwK;0k3>`GC*t)(R+nehw^AD=?6u65k!r9mIK5RG!7v5sKnnx4?5V zk9GhgW9x5hzkw%R_K2SC2wn(MJ}+Qln2iE)Hiby^DCZ6CLoffpbsqxJk&u`q)*v!Q zaN%OaHC1-__R=03r6U`~)t2-_reXk@OH)Hha2o znb9Dyj)e5;E^*W&0nyOM9tM^-$VmQNN2*u%*LOANJ<9uzpqr@swcVqG6~p|{zmM1* z(%m})=QJs~p#rZv!Yz*uKkau9vHS0iB*RBP6N>r!Rlix9e*ARynx+mjH0+y}?W0cT zdItN`&fWoskGKfbl4{pcT}k*D9q$qKi8eF1$L!F+$S0wA+*bRXs@Q7?ns^7}IgKG% zM?r%BX#`;dprADnFmON6n|F9_ff#z9(=VMAg1l)E7$o7{ddL%D-3_+T0bd2)dGGPwB#nCjvmjYfOMJl5lC2~L7b567MaF~5Ueg&~kQRR8gd#Qy(C zoSF*NYYtEZjOWnTr3K#c*Q-ino~(+w%mz9@<#&LKO;WBMt-v|Y9f2pi1aK@z+Ef)? zb&=?|Hd!MTa<|_hROSA}mX@`>I^bAvLh&T~sqT6VR0w?4;zRy-R(ZO7x0Zq3Bh2b! z_}~ZS>drzu7yz<*>34P|HWD2zSAAU%)dT5C#J`QQ8U=OEPI(c#4}nW=ZX#e}4^8q9 zz}X~*bxZ%AjK+7b86MJhCkxH~uYF$nc{j}n>K^)?MdCv&=6$*=qw89J+#MRYFZAO6k=J3_-5YW0li9;v(z`tf}wFajl%AjLzfXYqD|B2wG-)O!j(t9% z_VzBxiPiA^{rAfh!_BcZQrkWWgIEwS-Xo5rUm$M|Pz|D&zPA1bv8udE8dYieCL+e| zz1c%o%f@HwTpm@QUe6A$u0i^TpZZHndwsff2e9pGIXnk2rsNxHW==dLvPcaFDmg6K z>|!Kd2eQMNfad@ANJ+xGH^A5Mw^zONtNb!7e{;Ffqg!to^|nehQMg26AbF;kch=ji z9{544w};q({7v%V`zb} z2XQcU%FEo(%OEf-ue%(d*fC~vm<=3XySy*!0f;4Yhn)2C4yD5xXP9#ir}LO+iAw-c z;O{|j?x?&0jAsDlC??4jd~>G|0Um);dcAiSD*YT|n^-4K0=DdU0EQ2pL(Pp5ivPwT zr1G&3@JmU=?E#DziwQA0s{ss)0ZKz@)-AQ#Q^rGq2-5OA;t_Ehzrmxh?tAqcQ>_2n zCgK2g=ZEYv^J=8C=9zHPp_eq+-sQ(k8pf1Hc^iPnWeDrF#u} z{{^8;+fb^3jBP{UO^Z=on>Wj2?3`%V(w2HXar40dsB@Nkltb4iQ82#rS%W0F^M8;Y zB!D^xya$$l=$oUtb*cH_s`3^v({Z}=5Y4e<=fx>_OEz*-gi<1ia80(DL7BG z#s-Y=|0?D<|3@+BbIa-<1v#13Frs44mp-qGzE9i98OvTBHdhXIda#Fc&8V~77HH4? zk7CY{ZmVG-a_#Ag-qdc!tmpDB2T?)ps~b>|+qj6^OZkst4l7YH2RW;3n6dzATGBvr z-4*L|U0gS>Lv4CN2|7%D6AI%)1hTJKl zdeWhWTio#nQ1ULV-`7^241_i-?-%dnve)unjp`;z@+~oBH{Fw?g?ybO{;K zGGCRLsIA5`vTD-`Yc*32FR*j2??7`NgnOe?<$V82?Q}x+N3;(0wY=j)Y=royZ}23~ zm)gYC&y*?iX11VEd?f?+GjQ`8u3>n3+_Zb|YTc27m>~9OQ#_h}|Noof!7cm!qmDY~ z8%tP@Ih;?+>n77SReL?cph|6vWkTMX+I_lGfgJ4u3UY*UpdfeiND7IlAjjGX zR*Z!^zTDbO<4BFNu<+N#-HM!} zZc_ZlgLzVMUVBx?RL@z4!u##sU7XWh+hY3-*mLOkK?y#8-{ARS_ZktUqN<1u{j_6X zDumL7Y&awNI?VeLgs*z%4MP4X$O$K}*5E-@pgnwsT`ln^LWZc!*~_+Bd)H`On6nmb zBf7Hgsk#vQYD?ej;SNujqzYl38n^re7kl{7pY5XKs7JmVS!nxmtS3{n(+rjmTec;5 z;h2&jh2D{?Gi@f@6|>0N>7x&mf)aNp9%3XIUT5xcA%mg1mtebx+*-^18 zX8rD$A&%R(#g+aIcn(RPcK_Esl@Q;za;Bwl+aKKnT@e}zzjaK&uJK>X2CB8sqXY5x_Fvp*7H z{i8%;?KvSu zq^*g&>K)a+DGMQ#+aAqfpX%ufqS$15$6@66@d#D=d?>;ShbYb|*VGMS^M&PB7KLWi z4=0D;kR=G*oM4pqD|aIN3Ih9sY?xSKy{ET^;(ZiH_RX8ymw)1%q4FcDP;X;GpEu;{ z(SwBLKT&%NXokhEh{Ir3>)W`Rtkl>v%#&5e<@1A>scoAfSPblL*ZwDb(q9!;_M;SJ z9@4fHiMFX$K4B}_U{f`%VmX_-@U*^p|G5ws{m&_sa!(ZQ()UWlby&F2fBIzc@Y5=y z!qCyNJ8x)_@m|eOXEb{A2{fwP^m?(*^4`3cOMBaq!L>@gV0i<1TI+|04JO$iF+CjV znl@6z=RqD08KQ!mC^9orz_{6D%cd@iNv=Ky(JBl!emVZ5#Kb7PSpVO^YmhQJ?aYTn zb#oFS)?s>HRo=c$wStxP%Xj|;ddt{)7*lo#Il`AD} z`(-EPOsPD3k})O+oUn)ty_pRA&V!NPf7N%FcEA#kJDkkchRhr&-YCk5t2K};UI%2t z<%EvGH@FgCAhRmn%BOaP|2E&;G;4-S@&Vri}Sp&GAD0`U*gA-JyI>TK4< z%Z^}ZXve1O@tjaawHpQQHwwJqI8$~N9umdhcONMubc!1dhgJGM^;vii4Ns-683EG!M#!EyRc_R_s zmn`jhlL(^#N+Yz~sSd|=E9@eGqx!^$ShcAP32;OD4VW+MJGRhy06>-?kfTuK#%Fv8 zqF^uqzCw(mFD_hFOAQ5HLB<_#t`vQIm^8JgvkzdK?Cgy1*%(y0@F|~BBxSV|NIl(=vnJC1BY|%q3-G5O0=Bjs znslqyf4}+t+Ot1BJO|hCM}NU`Dm@RlG;8x_{>u-}vzX#*STbp0sS)9_^E&=he{^G))KA4SoQQH|Q>fUu%k?mKeqX4C-C6g@J-Fpd&>G zTnov8Mu{jbSU_;OGz@`ZW9MQGC-Wj11uM&Z_`zn^l4aA zHGu#5%H;sXgrH{mZPC9y_kHG(8~!>hEFT((7gboZK9DuFP)-q_m877miNY`km1<>Q zl@|~z&0prVsgPyUI{!${s=hqW!%=qdnY+5@{Kx&D&mbJk>6l4?n7HE_{~)`liArk6 z4(G7^;fEDaG?8g1BYg)HKrX-z_RvIoL82Gg5YQC*R_$t?>OSsC=`REpzKGo@qcJ06 zDYO1p=W`Nso&dMj29$=v*+C(Cdq33&71ShzrY$YH3=$)qFeCUCrNyNytOq_{ z3*4h=aWI%$l!^Nru0$4eaC)i4B}sD&Dr2Yipoh=ct$F29>;3vzwdhm_G33>uIo06{ zGRyty$3G!^c+2_DzW^#j`Z;Bt;hqElHC~^IRe$fkI?f{BE&9mu_jl!KusN7$ckurN z-KQ!()|@H4c-yNtRnh~JSaJ}b5Sh|opH-)1 zlVt&hnM^?HrrkM=-=KP;nO1$q@lJ}EZ6$mMBX{r$5YX2oxb*RusF!bjmw~(wh5XRj zr4=L_41X+a4^z6@TgJ#byk1MxY9K1%pn7`bswP9ZB5wo#2?x+BBjD`j=2BsAOE4I6 zbSt+RfX#XJzl1kr-WtTJQ1VMQ;y;)6nz&0L`Gza(qrgm*+S>aLkk7{3aTy_Bv6%V_ zakNh?8i}i?KXBDCSk3#pXd6GjO4+EWTu^R@aGgM8e|(fD3?FtrQ;oczSpM9d-Yw5J z-P0fuQ+cgi57C?h{rGi3ct6POzWB4^?jsTugQ;>sQ25>dnX8P5dLhb-xYQGFD z$@uURQp^zHl-q*yq99JgQ+ox_Tv7u}x>T&viGv|Bu%Svv)6s1%vUoR0Q=!gw-MVl) zX2uN?c2NDfb^Gz(pd;iNyHUZopxgn;B14?UKDT*s7K8j?d*971x$n6}hp%*8a?e1? z=8vm5{(NW&$)ZZo_eu)_d-^dA^N931K*t&KY$M^qOe7ja0~#;~>8qjR&SWwP`cC(& zUX*dx|GronDz zL6YE(L5?Bx3B9a045=v{OPi@w+{(#D1?-bz@RG7 z?s&eyl*0b*X27j;D2;?4i5BBK6(e?1GycbZlnokov28sYO0*2-qvX6k^842hlxIgY zcMe7tNM7X{EhSSLgl3HSR81x7xgFoNrHlak0)-qfmS?<^b`KNMmXhU!l*T@U+T}Ok z!Y)aPI#XT3jT4n6W=P3mYAa@bfW}L}|J!&Gp~pBqpUtcpcoiAKEreE0$X$La(3jLr zIBIiLafIdZbs^DLJE@PwHhWT3>2-Z8xE_A69xNo^0LYrJ$O<%+LXN2BS3d4#J>zd` z3ix>5igV!=zF_OoKuJK~8U$7W?J77ixm7e*$p1#ARH!ukUWsDnby_1OY`+}jD-6(J zs!Ojq?gT5YFp4fNIPI&uF+B^wGO*Qi8$MgA<^NsQ1@z(S6sp*Qz&z@XwbuL_K`$Xj z-y&MHEZFBmfuJK{qX03 z7}Tz5sLi?50IN|8cwhQm45(a#8nGzx4VuA~S((i1<58o|Y+_z%QH~XluV*io^sVH@ z|4rI>U}12uEC1{g-6;z?|1s16m^$hu^u)UuqGhidE6j#VGNxnaCckJWB%hF89>6>e z-Tb+JqYzk83kmL|NIHL%S`c>W7H;xWOS{Fvz~=i~V*=v>(E2Ta^XMn*yPFC8zb%24 z>@ARTq}WxTCORS;X*ZI*oxGz@)SM%`q_6U}fs~Zvi{048rw-h%E;pVPDkjGB>6uVW zkPm!|Y$Rs%n79makg8BiM^>)4GJmi2bUwiZe6@dMGwtC_2c_Cb5A65AzrKUc_m!>y zVtHJjfS1lRux6HzHoN%>7?@6g1ZU2%3FOs`CR2bmbDP5?k!gE>K2}|}7$dt@+Um{A zHf>k4RH8C&n4m{UfAQ+5gDm@n#b@n>`lI3zcNcbCG0Ix4y&uGWiB=t)#g>gRAw8S2 zd#B&1`NG3@^KLHC(dqgc1}^MGs7aB{@ym+WSh$%;mKn1g`=4HJ=bE^-myO_9dY+GREE2% zyfl04>C6dna8+O9QT*d$s++=dy^8+sA+_Lsq{OE1Nliq%z;8MrZy8pn5fbU0F6GW& z#X(1XSK293n?x8hTe{+(h;`5UBHj`1yNk z3n+GSl1r(gUM_@8_JLh1Dp}OJ5&8C-)*8^Zd|ZrWK!9Tkll)LY=c67ZIN3%5)jl%Z z9LNKk08+*gC=!(h#EsR|(iZ{6=k?KN@AhH}yFR(9zWzJWtwbIZ<0lW!I&fm}e%9Gi z)6+GjY9mfDd)v=LWH1wzr>^~q4W>2kw!WOYo9Ca4RK3i;LlkE+mXwG8@}Xc&(b3oM zj>&2N39`1Xm~3-9z*n-Hpx$Qc!-Gv~sBb8!byJM=mdzchW0J?kG9p+c&&v-5F?|G? z+Wb&4*YP#%qj`*gpqXjK0ucRpEx1(D%_ZHY-xfc)9ACxutGYYj-A$zo06Q;9C(XN(;ks%oiak;fg0{tn^!@4*)x%6Xi|ZEGI)2`EEY! zpp&ZJAtjWQ18L7V$?LA*tf9Y1lauOnM$C3Nkgq^BMU1=@0w1oXu9? zERrY(lf^HAEdmHC%0x$iz3KpA{N|`{pGefYduccx{?0hW@@CTK z1>!XNIq|>K=y1u9L&wDR&D`5nKa5=%@qrIro<5B!wlOFMQtuqn<$O;egndN$AKdsR{dd$7@tG8bAfJ|L%)XdyY~*YzX5ohEVvIq zx!U+DM*YFYjfEKqSBE1 zUW(^C;=xh+t2HNVRhg#Q$KdJozccw^*1L_0L}KdeOaWDW$(a+nclUMb)aXsOQ$2&D znpc;}k`T@eJmm+r)Q>cnK;rV5noNXKKFwiicoREp4L1g7k+mkF91Ta+ZlL*l24soO zt_P>!4<>e2NU5dI$yZ+e)tw|9bHh!lP_KeYp6G{uE=Z;vY)3p%Z{EDg+=dh&A&-Id zfMPVrI2&^{t>v}M!&U6YYds0$QJkS*v;W_P_gGGWaM7yYIj{6v(Vp){_x3V6dnwh% z!qBx(ntpD5tB2dRk@b%hCKAbK6!4UNps*L$}fDf9g!E1BjrM1OfS0FrVx-rwC zb21sAQ@I(%wt>zNIB<&-;X&+Il`J>>@Q0fI3)f4e zEVb;M&q-UTm0?(bP1p18)>ZGhGA%pbQrNZFN`}Y2WNr&Pae_eW_6|Ss40BQRg`%P9 z2H^P1p9{VLWNO$d2i8D1ZSczmFfdB}O0sO(X>%Y1C)z0ZK^N4~I;}wo!vlOBjakid z`LqC;*`?j?6me?Q)XBIR~m zm5(n%KP>)}TyZ|E{}YzUan>5W4RB-k<7V!oAN!wU&d=@n@YAJyNYQJRrkcC$s3K9; z_px5JT}F#r$8r6OT za*={eM9|-6yq4*ip{KbeBZg=!Uu4#C{si&h{Tc8uI7Gr{2ximZT%{Nd3LRzN4lp+y zMzP>@_4S)vHxOiv{&C`E?z`EjpU5Bu)d$v7J|EsUIu0CSt|BL4LS28L4aiqR}BYN;hb#S6DIHvv`ltO2tV$PP&K zof=Lun3X+UMH9BfyEEk2P&=RyxegM+xSFukmlHrql3|FiJ^C6mo6p)Y|21cwd5_Nl z(i`nuiGs$*@s!MByo*?4QQP4Q@<6;XgkAV~_gA2{cTRqMJZk8E_c^ia1_^(UrEf@U zE`v#=eRM9hOI`w{ISIJd%o5A!;}M>l%ipZDLU<0%{t&1hkibo#Km?|B{^J@fLWaa@wQ0xoW+jqiE3z-lTVvgv4?KdVD1E6pL@&r)pz5N?h4v5j( zOt2f9`XlidJ0RMhmPQ7!MXE)zudXWNPe#nU82sJg?|qo<2m7WbartuWlvz2q;@ukw zb*R&O5)YCwHP<|bmjZkrHuknqUEGfQU&uHgOccLuvRI#(_GG1LVrbb-1+M2!{#;5QPf2&khB8D zhL|Tk!~&|hw>hm{r-=;OFi|Kx`Jm%*5G!UpDP{^-TVOYbNgvt2bt^!rdui=qrsVdL>O!rm)DL0pNku(G0XVXrsfnEwQ=7P!lz2tyR63aTx z%51)Y}mCU-iaE9Tna35Hl#)Qe6_>T@$T zO_5E3S6x}gcE2p*dyyXN<*oK9-EncmWi0QP_mRHW^{|!Xh;%=JUG|j4LA* z0*pL{;F`l|&7oHkD&f@+be&NH`(uP@1gKz@QC3#AN5Vt2UG zeKzhpEUkevengV61t+CctX{dzX}=jDy50=#7@{N`FO)2cP%Q`^fJ)06_{XW)Ln*M= z(@}01%>L-J1Wq#X;P!G-iNt>*d(3?Q?T`2Z%|#1sDW^XZS;}bS?Q;B=DEHUiy;vhw z$W$#W8wEBoT=JNb`A_kN64lz+pvP$ZR?xj%;yD-S1YK%$SstdN1FF|<4PqlU0fJzS zHi7Es2{LLB4{l4GL=1rQ+e=V3Wr#Bea@lPlpJS1@885N22}C$<1DEheFNaR*v{sil zYM_CvyrnGrN+vo;iG9TefkFPZ{U zz5&w*Lxm9Tj^4yo)Zo2Dxmf(Iw%zO?%>%>|`Q4cIcl?H zG$AR4w+@;PQ7N9#WTb#Kx9tNvLa#8adQ&E2_gc-6lk6Zy38b&@{n4Q4nE764iBZJz z+?x(FHG@~c8;Iw4BF*QU6i5amW`_%af-5iaSo|5}GW>fUa_Tah zkE>ScmLAlD8=@@t(5KUTGyxbuUOi5%KThQ=-c0;^z;WpO{BM!b?Ww3Z@`5N*TsSu^ zO<37Um8FtFJ0%_F)wO* zlu4-{_V(rFn&y%-`oyw}pv%m~cf{i=sHv05fx8kvjHh5@wN{VNYv@DOo;5_&v8XXX z@s9v|>`9hckhTiHJ*7Me;s^<-zY6t&v@Ml%2Efey({cedq*bVm#k5T^#4XKv>>DUc zp36ydyV%$QBXnEH3bLCUu`;Arfa1XfQ2K8K|JrXG4Pz6i`+a^0)#co=ItDw~XF={E zoU1|3zhm|N{YiX(fgS@soJgL0Hyxm}2zHsN`nB2({k2pxSZY=Vnhz>ha#6(659rrY zQL2ODCY|g@sYYKu!eYrSwASAuo5);}T)rlO{@FgrNBmA4PfWWfaq_i|G8|`*^pP_z z|Dvv&=Hzy3mW3p7_p~?r=xP-tMOWz~w9zVw-)*=+OLqCkmM31gqsMAQt$NR*el>|Y z+85c<>-a#@b$M}!Y0`(~z$g35moKd_ao7C^WhLO)1&$79^_62yHJ%mdo(z6SNl(mR z33+Vu&(`FI!0yljs_8{8zchIv^(GwX8#Cs=^Cuo1VV`B1H=Fym{- zo_=CF4=xUjEIap2eIql?&$W^WzwNcMw6rGe$)s8bG3q^UP6qT=A%d{`8A{;*YQBl! z0(eIkufLAIOlUlYyrLXbVFU2^S$>Nqvz>8925u*?)^2?_S;hdBYDs{4zWQ&iAV#7Q z-9zG)T=qhx2iU5|iAmv%hs~VQ4Uhw53C~MkeoRr0ml!L{HV@3bA~q=8VAD4s$dr+1 zwQ;{@4vtI5*;5CXLd4{L+YqeEKjf*u?GS=x_vr_q-`@W~+bhp5?#o{m#w^vq)16Y% zP~gkwKIhuk?|zWZye%-D8veGxbnCR;YkSBKNueU+!qbq+6C>BOxXl-u21L;+LxbgQ z4NDbgbHmaA69CDi3x2emoSKiup?kItW~CWGNS~B=4dK7Wa131jQOGUr&S^iVxyJMN zH0TN)B;8@Y^F)dsbt2!2IX<~a`0P!jV>QGWdk3>A-22q5aW1el*lt)PjUI(bYHRZ3 zgNOSFFPnwfMgBtZ{usEqIzm=GdVWi?7n|E}7I{T-4xYr5mHxv{!dfg*VJkByt>}EO zsn%SC$K2PUX1N$8-wKsMVUTAbL^2jje>_lBJVViT@)S_*CKt0AB9Q~v9LEQLoo(b- zr@6-Rx0Rc|sP%k2U*S;#8WZd0ZGO2sJw;Y3O8sTGnxsK_OSu8+!?c~R?8nQQ&_16u z!A)ROA&V&p3%zGdWYr!Y44$1gFWi;_M^V9G*kTpsDYSf1{ijx=dY$0py$^i*%g25F*u^%!Vk z8XGsC0?qL#cCC*OuzaPBF)gE}pG=vX5UrK-G};D)~!vY7GS zgtNBToA{r{)Gp+lbs0=_#LP75481Dl*Ld(eV#K5d=bmCecq%TV9C3!4L~zqvn)L}U zy}5@~nXWE>!V%2%++4H3{s_Z{%-%Efl(?ywsh+ju_C2@DC|Q>UW7elmu#5-Y=A|}- zCJ}VTMivP`R37tE$FowMit94RwLdRSR?C4sKubg(+3m9P&IRi1RtU^`|Avn%%UC?j zG>A=H8w}ByPN-6TW0E~8ra$-6)Iyk=TaKVY5H9i|x&8G_kiS|^?ABi0#fVlIT}8I$ z{eXtsgNsk<45Mf-A7PLDqP#xB_MX=(A1r9#>mLT#HjOfzw^$-uGKcQDFxz63THRxl z9t<`gys;N!4vI$-5oU1@lomI2D@IiFe?ExqP#m*+R;H`^^Tm@*FN0+_y{5@WSe$-B zml6i6Grg`|rLRWPcnH%@-0=lSEJ)|}Jj9n9x}5aGNmjX+X`m#fB&7)Ek7G%ZoAr(A zPHy&bZ_SXKJ2-PQgNO_d_mPD^FU^A@;3%7q%WnB&b~!!Ivsz5veYgCemNQ+?%!okM zWYJYQx>9_-QscCO*=KWN%~a`og<_8WH#GcAwyNP_2(2 z5WCgVtgBXTqc^^=YT8&=o4Wf4X)ZLyR4^lF{|0u**&xyW2&<6=R#yfBPz$SQqQ%$4 zc^$)cDXyE!{}eQXnQi8|HpEx$!v{%rD=4s_$7iR+k+G4; z-R%%o&=BuANfhuJmnrlm+MCyjETM_^=Jh&+T@B>nbARm3pUr^J!U9-4$^}V2?BtJf zYEzj9$T~yADMJS5NGz~sEuCw_r+=?RUx)SL*8hUe{@B>_!pdM{Ps7k}VA$oo++2*qeUIL5N3F)Ab-h`Rpl$=d(1l3I0wf^}Ak95qwDE9E z<3Eo?PY=^mNOWs=8|tpI3T!>Y@uj2e|FJhWLZxCIzab1V5JN;0xYdyvnv4QziyN_0 zX8CF5Lsa{(Q?+j3z@&^R#$d)aFsamsAF2HZSI2;XZ^2cFxH>MV9d0jC(a?QpnlS8- zFro5Py@4@-C7`D;tT?#T?7{DUK9Pv41MdT-a|{SRcto^Kyv6CUsij{U^p%(+TwT#V z0O@Y?;vg_5Le5`|=-+|I0+T%TFfWvucX7?!XWdo}h(T_$fsNTYYvD$O7)4zt;&?${H0Kr&K; z=ZV*wS#<}d^U|`1(bI1l5Lpf^3Gukaed{u4KQ{c(tK9O)t6Ug(l>-6*Jr-lI0qgt= zG&lNHiGjHuTs`>q^fg*!%2^=dcj&8BV9mNG^p91!=Qvx2C;}FH5N=UVn86PWPc!Bp zHrOb99gNCb;-qCje7~BJr3|dfr-4;@)PJnXw~1Ee1XW;Fo*~{2Iodg#dv_uM^!p@e z>|zKYNgP?TYW=ZhrPlMzLnf{Xr;DORM-WMfF&?xAvg`1bp+sxezpwO`M*P4|s zHchC!x(BC9peI_D_u?YG2#kLo^V@iK;ATLKFNXN~&O7CdA)aJPwENffK2Uou3)6p_ zURq++Sr*^WLp>PdLMRjPvDh}os3(W76l|4n2WIyCosdF*|-(H$!sv!eqwJ(Ip zLa)ar|HrCaAG-3;FJY=t8f?A&xwH zrvi2MN1hPJvQ1g0f_(Ia5DV=my$EF=)>yArMP>e*SMj`Io^g1Lz{Xy|hTLH={=>X_ zMx5$hE%py9U8m8&l+%;c3q-9r}{@o8TJ`+_l3#;!Q8ssya+xLXBYGUpOPd>!0FF#T@}7+Ytj zS^vaRvBQ1LTWnAWM?>39UsEUP?iK$ky;nd@w(O16bolZ<11@VODrLq#V*D+TfIQtxyg1?r|WA(fV;m=DKfyKU9_2aR5zxvUCB7(?+C z;YW!kurn7VzJwo&mHxH!83vmtqR}nVV-0%q$ESyt^)tfIDoq3f!VTS(ky-d(n&=;T zmYWh7^;>dd>nW<+;hB8giG1$0frh<#E3;QtT!n;s7m*fn)_|VH6al6>Ce`hT_qVoA z^fUjH57?INs7k)lQj-QOe!UnAN%*d^$QUNf+WZe1-7qHOtY=i}z8$WhtWD_YVUL1b zZuf9aj!nPJaSK0xbE?$tjx5}^*sm$PWhr}eW!(f8hn`B>55{%12pm4tEy;H3Xjyu# z@71fauA@4g%WqcQDIc~9TmA-bmn?gONWil)dHam>gNXAtqbTkG$=H*_VEKGRdI}Sd zh`K-H8uEvnbz?4i@QV}wmOG9Qx)O6xtwm7(_Y;XB-IX{TUh5+pf5=(!-}rjdSphi< z_hu&5hcAhG#C{Iri+ppi$&I<;dpPbpE^UVcPaKo|+?_O`?>biprngbD$i#Wp?b)y$ z8p*mZ<8@yavgQ)pWQ4stV1!BB;Ww_u*p7fa3nl_nBsdYHd+Q0#&vC^Gi^8=Dd#sN8 z&pZub_zQ#KJJdyWT~Q`gN(5*QVDTK~BC>KsV{+;_dt!Wjx~MFJWJKK?ENBafuYs0! zL^6nAnH-T-nYKc(@hb;8|M;25M|u;UZQE~9+h*^ma>;J@-HS?W&x@n4W#d|bwM;Es zF1?cBc!1Nv0s1M@y{!3Fij@m`VSxSa=%@67n_C%p_okbM^e#1 z^#0(r_iE~az%4-ON_4&mVpZ$Gs04U7k)(Artb5m~Q6?;NOczvt=i9`{&XggwZ%37u zdYhG@+wB2KD+KL+?DygpF{(zQ8W=K=(4>=BxA4dD){5m9ntNQ?r@n zh4P4wy8JG~AyK(>XIujQ+JS-YdWxK++?L+KKFRILnnLTnwaGi)KsW_YQ|G(CTV}wY zKt@ub(Vd(4M5xrnt%Wj7=OYOjiJ$4~`uhjv$^?&tTblT}o}ipQC-|&r#d{v96FpqD|FxcG`1kfw0--dfV}UY}C( z#%;|0UtcBEWD?)<5UYc&Bq1sKSxT_Y!M`N9{(go?Hnqn>?FHm=M? zM=#yX>O1@j?1d`yb1h1YqzLva1tJH<57omC#_jCvhQT{WV!73afdHkRG@0KB&-2IK zpAvP1YNi~!OA@X2!%4vbyeL17U<)U{Cv#`4I4;OU*b~O?Og?yoU~@}X>So) zdP~W$Yd9+zZD`nrJB;M^_>XM>@8z3Y2jGVhfXW#$I8Gu|V-noL8+N+b+a$HBEeQ}UgMdiqjE2NbYg(LArkRAu+-qU}LrNizBL(Od|fYIiyYWjTi7d`SZlt|jb76q~YY|Fdb^dfozf>i5A{*s`}ypNbkAL5LH{gn9~s#0X?>ej~}h&~EK)^N>^U9lkx~5Pb5f=w(-) zs5^ujmTpZoj~mF82L#QHCjE^@oF&+I&q9n(kn99VkR&>ikQkj}-ybmqzGI8G*K6L+ zdEFS1Q_pURe6pQ3-ud!lt)tVexY2?UQ}10Rg6_s(z)VKmQ5q87P66_en%St|@H^W( zJpu5IuWGYKNOSbUE>?OXyH;{jHTeZpGEx-6^|T{{`VHIBk-rr*wv*V{*XRO~_TqsO zj7wq{v*u5gw}WrwTu+U5LQyJJ;Z;jjd@!AOvZKsG53nxXy4V(pPkA+BoNkxJ6!N)2 zS3g>}s?U}+mPr+ZwSCbBcSUY!#q%i5EJzO^*k&Bgz-8w7FNB%7Hq3@p&I)^ciGZu@ zf$mnb;e*&TNgS3PF_VGBkl`VJ;_bw1w5vhNKach>z!%O2sn1R{z2(+LhrY>J-g>+Z z=f~+Kq^STY8{&`hHL)waXAfr-S*prCnHcBOQDyO@-LSUg(q(?`nxD)U654QNv&Dn> zSw9?3PVn$aBR_&|0wRAyOE+kAmoj3gNZj5T)4xhx*adi6n#otcg2S`zC?XfbG$h({b8XGbbHvjXEoBk zw-umpN6M?Fw$(_+>wWjcz1>L`G?_z=;ZfxRJh^Y*Jh=8)@vT4SN%?H{_Yaakzfyc{ z&KY?Ab@by;ug{Sj?|5L@`RQY*kUZ&mn-L$hmh0}e+o}aiN~{dRt7c?H5_6F5?ED0| zj}X{eMMpip9;D41>>(X_mRW3Kq9LFigSAAqMX@<94~sfn2va(7|5n=8+!nYrug)Ni zLO}O#J;**!!a;zwV%~JkvU9@1{{k8F0Jcvxca;lvc5iGtVd-+{QnT%Y9{7cu8Cd<@ zw##EIqRuSc0aN6XW!G){qc&KyxcgpgR-wd{AH52d_SrcHY`dK?y(a_Er4~re*p3N6 znvw9_xV*K53Lsv7COw=2m`ev4D4r4Em`=0-*vF(70WS%_hpo;jtdGI%S%1n1xB+?; z1;Ubl8(h2iILd~ebzk(IZ{$D4-wg{Mn6-m10+*jLA#TEd@4}R2mTJ-qJLVEeF*7^A z`jnJc5_#@FrH9ylRxn?DrdI?t3V_hWD7+(a+ZwNSrBF1eaZ>^?vG1i8>h^hF!B8Nc z^|i#jYi)D!89rRndCmwJh7+%@2_N#G!TqOmc$Umhxm-fi{!<;kD_;G`XhYzqy*O-> z7GG^uQZw$-UZpma#A5Slc|dIW8=Y22``9^@!D{u37mD43@%cztxcp_#M)qwWc9sbS z!W6u}(rNY#6`L%j8(~8hH@&#m1@S$B5VI{z+UD5v zl{)R5I<}NJdZE^2&M4}%Dof(TxYIGf_z$m5d&LXOykM4l618xN`EqB%?=LZUyhlPP|JzyZ5`wjXsSYW-& zq4@FjNq6HmCrodeJW;1jMQ^W3vSd0ATk!Zgg5@su*7CK4E|1LxIym|_M#8N9+{#{e zT{;SN_B|2x3zXa_zkknBXA?>Pdrca83tF|Wo4FzW(_RX;NrxY%H*;6DswpnMpV4C- z8R~3^vT=F%*j01&Q|za~(OoeE_ZLsocE2O4p|@X!)_QMKDK3rUV*vl+9g!2Wr62rN ze8#_h7WmgW>KP`$%?(_=aDsd9pggS{f9xe8lM_Rie1QyHCBUow8uOOT zQ07l)TKJhSWZrpU?Ure4_%Wmmj36BfWa@&!5C$M$wh@7+V2QQ@I>y9{-_B;*gxM~J zHAyFGO9F2xiud0O9nZ!|!M6y}FVKiGUkqH#oNW@;Rn zm&A6vvS9bBcKIv!4{-}vxPYRfza>EQ6d7}DWB27iX4LkImiueNxi_IN*#jO@k%c|x zxloJT@s4Kv0=lG0oztykWweS`C7!nd=%YR2rLVIaet4BMxS4{1{{;M38vvaMdaN0p z!*pba!3IDIRFx{aefxP%p@HE^pPp4X1i`xW<_hg+@9lK8oMLci>egKnJGi(oTcxkL z2c{(8TAdQJ9}fqTVt$tfnlU@`-?=^;)X)Rk-OHctn0BKK%-t*v!8Nt3u@iM4HLv;X z{yzQBlIrW9O^-u}=GNyu+l)mJdb86JDaN!`6`P3)c7yQKZ>;Bpy(6M=7bh1XdC2eA zH&I?lSSTl_d{cG`s_y=1sr%1QPeR+KC7^hTN}pmjeS$jx{U4OL(|>hjvD$-W$2FOS zFf9oR6Mt=Pj8ToP50=8NJ+B<1!n8AlFg-N>eR9>u&4;dpbl}0k?mno?dgbRU>spEE zMr`6gRRhHcnL4SgU(j7o$Qgg*Yoj;iw1^k-r0f-IU;##WUztoKf&}i2eh^5Lau>VJ z-cr^%C{i<->mH*-F9fF3`<_Ihrp}WwM1i#{9Py*A0K)W!D zGN|vYDh1#%5m4L8$>3lt^ZFh@*9#8QD3Egm=3W3wtzQ6Gp^=P|(a1*4lynr3!n~OQ zfFgx% z5EV}6jJq3UY+7+nAye``%=*XjohKJ385U}jm+7otFOuJWlIhQIZDq5pR(AM)&YKzp z-PmB!zKOz~s4Qxuaa5LpLy4SY_#$~Gm|+#!@w%NP05tDf1EBTcYb}8c^}tu)oPP=n zrw0JA3A4PrFnlaf1^SWQ@^~*AEO(}J3cCOuQv~MQ2#qp}aiHv7l38yf<4{Bn(Y5XF z4zKD5ySmMR5^gn+$ctaCbO2t^jQjO~m=duHkRq0*yzby;pS0Pyk%L>FO*^w$sYm-< zu;-ZTpeTtV8UTdZ&o~o8KUdl@WxeSdmU1s;QFhuZxi$evXE*%-^tBU!D14e-Xo)>* zX&V~t-`*vBUSajyyF2$KO#p56jDjFi1Bj_tpimYWs-Mnkn&0!t6|}i)Mw%-it&Hu~ zr;?@!f#RNO1z)48EJ$Dl8H0gm7an8oAQlVQQ+h zkW&&xqhLw;>UYJ`h1S)%*&od5^J^l4*;sb@6DD{ZI z7J)|&<+d$4)#GT zC3C;Ny(4|kRro`*P=}tk&u{3pGaV5wyK6Kn2<+QQZ-0)EeC?PQY8jz^&z+eu!3(S0M%6{Ou=OQ$?^eN%NX{L&zn{7ZHmN5&8MD zA8is)P*%AWWhAx7m3Qe} zw%DUqhBeXirPa4goT*0OZp(w!z^`zNZb6cPoTGhPg)jif|KqJuY{>V?o692!=NifZ zqn?>W%J>vD>nP{DRw9h)jkhZR_TS?LM``M`!aR1l)g+5_9j8e4=h!l#2F5`?$uP9< zwt>P8>@5ZIVSqn;6_#*PN#*hd57OFiXJg}M~=&c2e7W{{oj8+Ni6rnFdg$k1-=FjjFG_r%0)EKDWxamz7A8aAHbytw`A$0?doBJO0j{Z0a3 z`H)FG6H~aU;h#C$cq|0@!uWSG*gZK}qviT~Z!Laqj&M=5@&ruUf=e7HJPVn}=63=2 z8TVUE;mbuZ;RQ7EKGzlDH@Zq4Q$3vf9Ey@W2!Tk*FMFMe3`3YI7k(Eph#UI8 z^5M07iF4eAXhx+r2#9`yz~-(9l(wpFw7ZYc8vnqPq}u3_uIQAo#IfqXSSVey&S$!l@xFal1~SXd2I4DP3x z0q{=Nm306bjddR!rnq#=<@Sy_Un|3iS*+@3p}=#Ezf}9sH*MwW2+4PM3Y=d>)O8v# ziV;CI;>&Qq$4s+KJ5am#CR`gtG|9@ulz~iIUpM@Ayt1G7qrMx9Zm0V zZ33dYnBSL10ZEHzI_7i%0J#?#-C<65Vldt$jIX?iR!yQ|0^CQG>DkwnHLUrQ1ZFk5 zHol(%mNzCTw&hGzR;~S-(Ibu*h#%knhR95(HwDhpQ@A!0_Tw3V7(hP_Rtr@ctu#gO z70Jskcu{Ezu^o3!mz^?yaH2Xd-wF_;vdmI$y#8PIfp0;N8|++Xa&1z-_=|p?y*>0n zx`^AOr;z=`$&2QtmtBQn?WAR8W!>)cH4&^b!-SnSxjq>5`JH2!s&7%7fJxY9(bH)R zSP5HzUL`ISC6;2GBwoxBFk0}X=cB15g{#w;2KW2Ro5k{htGG+But)3OCk5?cK>6Gj zP(*zA8AFzvRd9j1h}M~)24ZTdbF@$*Xh%KdW018~xFhU5-#>elxi5L5KW6jEdWage^TIYRb$+xZnqvMQKX^y1N= zgf_RlXpRnMe{xzuQQM=O;!+Ed0jRxGcco#jVQmNCdg~f)(cIQfRAwIn9hes|FNC)N zgvPSP!kS(xi3yS#@P9fDGr3L9B1=D5N&^0@&VR8mB?nd4N)D&yLV>p%sXBIMFRn6L7x|%pUYCc;XGS)a0iQ;^!v_*HXAOm zjHoFk;J+K)03IT43xZiQeE@8m^*M1NE9MBnJwAyB`SUwdkza;UvjTF86)VE~~UDtSGh8CKx7;Ju>;{dtA5L z-0)3GyBZ*N+$sLZvgu--DT&*Rh*VHrBB20%9z1lXztAcGh;rE9;r!10@J>yH);zMG zwv^iQVvPtE!ccd021bk9i3Ed9b>@pT`H?rY=}IbP-Y4AB*g*|>p$yrvuMvQJp`mUo zo^`Y3>5ND8&Y$<_kA2WgY?j&aM9!%~kL8C$STCVXU!H&Mp&J;zPr7nKxVMN2^paxc z5*~OfFk+_j!&eGUQ0|o#u3BQeCZlMr|q3bx3>hSbW6TEhZ{?vm-E1(?!6hRT_qcfKJo|fQL62!5sx8tkWT9{AXnnuqxsrB8_imS z{-Wa56}dzjWeT3`qW8j}#;QErAc$g`VqX8Tj(t12L9=zu5|$fS&bxp_$?0TJ&WQlH zJvPzT9^fDgWA9IkU15acmuNp}?$<*sOinbYk|;UpJ}?*G&?KKnAo^(t!O4M3c4DmS1t6aA%08y=Z7Vm>jR*0?IjJLM@K->$*vf3Urm-DFda)x5r!9T>3T@j*Au?@9+8<~7*meGOb%#??pnx^B+@7NnF-3T5BUg2p* zn1a6uK7Dy1ds6Q)BPE;r%*lZB`^{D>^e{@%UwqYJuh}CmUO?xsFE+EKy+t>&w^bnd zu7cn$SF7cd`9DIFajCYF!_?u@eiw3v-xchb83Jz76&r(si`DO}_=vh;Y?|;~HC)S& z{ba|9CQH-n=sb1zN#pL70Mej5*GE3_->qDe3PK0|VzTF$O3m%<&j$H#w`YJt7(+I< z78KM%{v1stkABuU?SB5jeI#%}u4r-}unaif+;4~zI7B;AzPv+bU1N|pK0dDA&C$oS z5^1;WwOtB)#_W-_pJOz%{meQ8qI$H6r~xr2ZAqLy?3^xMyA>(a(~}l@m5TpF^m|$s ztWx*N?0D*7t4&^;ikP8+`0_Ka8%;Haq2Duhu^tiL^uuh(&h9_uC%m&;h^$IlQNyNA zV1$Y#(NR5eeqBrVDS#Uvv@X}F;5I*epS@p+kzpaZXI2U1c}QJcY#$Yu^*&>-X2x-r zolV+QVunRFe>eb)+iF^T*TnuMeO%0s^vSD1@81KPJ*^9!PesVP((Dl~e?y;TU?o`z zcB94}_cSKcFF*YeNlg8s7pq^aI&U|OE6I=$Xl&BFb+r9*P(XokkaUFJeDKmd5dyek-RnG{!{Pmh}N??%W}DQipFW$uWL3AG~B?RA119le~SpDTDjf)p!kHrgFLML z0jiiI;^36wMX5dmF;Ak3FNhr3`MI2A^!%Q72DsM%@PBClIdC1UX`R8AA2j39p~3IE zX;sw5;|A+v5br*aiT+JQ`5Lp))$6}Wq)sM9Td|q5?_m0YZ1Oka@Ec9T#9830z9bD6&bn| za`wa@qOyO887_NhQ+nueu$yT^;gQ7btys9^rnb%Kw_>;2eeR>5+5RS`PbIJ|iH(>6 z#E82}VTRU!Bl{PKCm-l>^Ro{Dsg@x7i^)?Wfm#kK*%E`O4PnAf^eO70+04fwAqv=f zA|ILM7ypphc1KZXvOcx?v$7q+kY<{b=K3>$>KiqEJjTglw&cgAPW0sFqIt~ zfY2$?_h~#D6#UNDdd>zr2p~^zp|oKARW?ICvWo+XG*twL{Qija(mxe|H1G26q4Cai z|6*!@cD|(B`+^nR?*6USBoh?L0BfJe%_TDLeITM{0wvM!h$W8mZ}!hk1G~=f+*{b6 zA?hTx>jMdqjSwKFz;CxApH}~f|fBYKp#JlB& zUqkNtvbC~&>7Vq)m#OF}vXESH{rEZhJ5;3VHb5T+CcXmk5e3m znZCRz@}q=h4>}+1gRax;WZ)yMbKf9g`;W^ZW{aZ%iADQ(LQOya&5d_X37ZgW_Zj^I z$6#!Q(p*Up?{Km>>tVx^jZ#D2Gdp&!oA&=c*9v=c8)ixTQu;2H(3v#;SHm_=O{v7sa(vAAeldF z;_O)T-}YO%BX-pxeZ?Jp`g2a}O55KaaR+SRf47p~Vl_{gIQS_;Dty~;2)=2n$L>!S zCac_$yeZvl_&Jn$7337B$jHE}29PEG2zWJt{p#oO6 zBM{Te83`}7Y>>V|B+})ts79y%z$PqHt`Sh;eyoKQH(mC=kLu(9V!_tYX|p%bgrDUz zgt_P5%6K$mIM#_tq}|*||8FFo@V@b~2tOU$E(U8RL#@bfdi49F+RyhpQ?qYUaNCA_ zLI3INw5=1iD^9bktbG;hG~!t)310tyBayL&xmZ{=+gsUbK3A-? zABQ1@H`Uv%Y~QH;f8C=Ve@fL#9VdyBPnc`J@7M4(+^0OkZty{HKy2rWhek)ufTI6C zWy8kvi0leTPTeC6ETwn;cz3?NhSGyNlXF>BQd&~c>fN~xkXuob66nns1o>HKO6$D{ zb}xx{;S(yi@i)I*_6W0dQOVNZfz8u!)?+EZz%@U-`2}SLY8`A(GNa+upkIK%d$MD{ zx95BziMjh$v z<;N_z9}N)30md_MTOMLB%{A73QVe?Vu@NmvWq8aC&yfK463R=E9~)#CGDb za-z21Q^-H>;#wSR^lxgK)V%NRIoE=sE0THTbZiTn7E<HJ;RM@Wj6L}IjV0HSLDd#6h^e*vYS!i@bgcbb*W%-o zlcYG~28kjbt{N<3KOzKvT7IYZ)((DcEza|)I-#B&+mLkNcgT6)MZ07!5WO5rb6HQM z{|XvUT832LsvkmuS;m(lc6|Dn)?J_qRu^{@w+0C2^@B5thX%ez6DjoGpKk#i6vTb) zX9z&s8#qy48I_Y;#J#x*T4r3gxTl`d)`sl^Lhz9hV7(?zhTs!9?AeRFwv}^`?FKQ# zl<(P{md50vcVU1@I)bKoMk*Uf-c%a?5D3qFxktj$4hdP20g0Xkkf^;()AL`K?OF6> z@bA{kHHrFr;t%UFTjg#jN)^dSdumfOWcNB|Y_2HPuUPmcOn1EKVX5KCANOoPW^b7N z-?DE9xk5rhxovOk(@E?Qmco0y^TYLBNijqm6XGt6pZu-c67Zo2o`=?yJ4x#hc8x6d z07l+Tv1^|G1p#`JB)|FsKY^krK4XSFZ#pN*cl>DM)$Zsfs-~}<2S5m}M7PnEgx?ly z`DdBr!?hF^Jh-+x6|{V}(I>%+FwGsuxJXm+Bp9l$xF_;hX})x%*JIGuV+E$!e(&x3 zQ)P61??1AVVat68=tm6;K&EL#gsHUsz7yC+$=)q`zDkeTzlAOtqhH0Qu} zR?h~jrH>MXLVefbzikS~Jnw*W;m`K-GymHGPn(VuZ5c>${cT{21$}7WJ7(v%x3u40 z{XGew-%JTD3M*A#pWm$o&rRC@RytTdMV*}o5FuZ-?JOsK4#8lm;*AG2fdKMoLc{i8 zf{~JBGRqPlqJkewpFl6#oZS<3VNwr@w7Y5FdrwtDI?H^6v1*Py zAfmh_Xqh?z#aX5M0V8Abf&&|THYXNrJS^_2Ajx*XnE{*A50^OpYLFK;bI^et423VQ z&lQV`^SClQ`I`dxY<-LVBl**>^QmK#-=5o>aOL`zd3fv14wQ-Li;3vd(A^RwTWr{W zZyYvt@9O4{NcoT5X@I}ZbWDT4JY5d-*dC}AF4*@mV}D*{2oLoB1xk#Fj89xjQ-DPI zCKqT4Jn5bVT=fsYyPF$lJ5PLL6b?+9Xp~|P=gYiB&Bt?1QPTc6-jIsU!&lzqu_?SK z@%EV4E0ovzrEo~qYgo(@G+mM_>HYf_K!NGO(PKSO2dx5`^&F5s>pyd+vwS)@*zR5l z6zB}jn`VKpwiz`j_fWDl=g#qAu`~%qaEsHl+Jrq&5Q-kIxJP)|Geta(!$;w~;HZWp zMr=$I=xpP_{DfYjOgdREHMny10@q-y0|ezcIK%YQoRs%N!e=R2YhZ%JYpBkiY#4$1g#No@O#6q$ z6{BykO8PnasI;ZplI?$ClOIEGdL>YBWM2=ae`PE+`4szrw63q!{Ywpo-Sy$45s?sJ zo6YxZCz^(9HNUv&{Sn&o7vbY!2_8U~Y-c0`Fp7Z1O-aVyC3PBYsnn8`2kHCve2d-~ zOgAz}r<7lR)B+M1KQ59Y`PYdBL950R=!>psRsgwV4eXW5(^-pThEM^5aKj9Wm5=jw zT?eFhmT3(#nEj`eZhdel?tU!(y-QL$<-6qzv6PqX1+?>_URQJQ`&%>QGdg~2kvKQ( z#vQ{-ye2hF?BJaPmR{#=l+)k7Y)Yo_+N2qY$t>(22I2d<#T{2qnu!LW-n?ErKY8Qq zfv-I4Je)tTxL89a@5oNvF8+xlOG%*VowM9@)3#o?^8B32)z0HsC_Vmn9+`Ub)q@iE zqxhmM%;;MqY^$I=UpX15n94U1qYlDE0wShWpuMK>FdcuxmV&-ef{N$p@{PCFVcm97 zc?Fff9;liTt^hr$j$M*Ry7;Dh4M+0ZV>x)O_Tv;Gn_tFC=_5^I611w$8-V}#G>F{I zsomx6#9D!Q`RC{LEm5_rBy#qiG>0x_KffRrEwRiPb9m^`b!8|<+@y4=GCi~c-7WzF zppk|*`AX-r-GTg}B7#l{Ncr_u+M+WcAiXWO~qsL@;3bLD{oztd2!YzTqQ*g?N z37LIa8c@UJ!!Oh(t_P=bUt{)(nE%d1KG9ykvG5oL(EH_^vII33o?!l)w;kU^OlA8r zhD*nGmA>4hKC`+zUuNXH9aGZRvy`T@XLSRkm=a(EEUxChWYciUo;9Pihpw@T4?5(Y*H}QwhY>pIWMFFgCQv= zC-=1AeHt_{=X&ec)s?)q&C5lue_C!47zzK7{#)C>bumbiP_r}R}W zsTwJN)2eT;q*<)K>5ipL642KRZgK`M6Tc*t~@Fzs!T z(A8K95WMU*91UX4{CZvnL)EBa-6NIk{zPQlcw+DaD_IzD?{5KZ-(+FX#tKV!+#GJX zQC5qk9EP*cJE(DZ%i;0uMNRrC_xD^k4rQ*cwe;(H1yEqvYG zOWkUyYu*{^2B5P5=_@`B?qiCh8RzNY50Z8QLMZCkdra+kFS-FU=&Z*mlwZ_>ch7M z09v?eZ*|KsRanSo#T>L9>B(3=?X8P+@Hs@9b2@s0Ll4pjRLb>J9GL`~^z&b^X5i1C z#pA_9wfXmF!-F&2PcOV$g*g;5>!4Yw@w679|%nUl-?w8FL0sM_;93={pDwEy6oZ#zDY_Q@mT6L zu#%sr%~@u9_-kKPYAkxqRLW={FRt;PYw;Am`s3EmY6m8>>$V6}uegGspmdRl9@8!t zLVo`tr5zRS5W@omXHZy0W!g{6V)oUOp=Ay8qF%j5HK{+_7)l*OsrLrqU5gdd_oPkw zl2*Kx`4|S~EpK;4aPAA@>9-Lp%Z?X%QSKRSELFqRrnTHmkZxptx^!30llk}XjDB4R z&pBq5JG}E+Pr0T#)_IKPz36<$>jb9`rS#(TN*K2Dm=4Xm%3h_0>dw>S_#QcpVAE>>$S6 zGF&4f=MA;@p3uZQF~yz$8cWPWPh!R^|9S%N^0@iP?gNMn2c8I$)60$CYDd4Y5i} zn0u2ex_uBmBN!D2c%VE)fu_OHL4wQ zHKgPy^c{`U)BK&kTmK6VuT;sda=ALci`GnP7BQ-w#V_L!FJi$mmeTnQLMQ7dS8U^5 z%vGNbO~M4c3h_Lx&?XD+eQiDX<$iaA+X+FfZF6^y-^2@Lvtt9#iTaeod@{t(3kGdN z9RB+v$n|uz;!tf!X!LZ*#>Qq~dwY8eviZy4dSzBLn!;UpJfXclCzxLa(WUh3O%AJV zcHu79mk92k@U2>PmnRhQk7dZzke5yKr>S~BDyK5fz9RcnFRwX}ku_9kXxJWxXemnO zMa9L*S65f-hlgdgz_#|X$z~FG84kQn%I7jM+Z!d1Q~K<~x&+N-Nh9p&iIb1fTY0O3wkT*mRDa>MW+Wk#NrZf@kgGLUPY!K@9!qHJw4MKf&s$4w+ifMd3pKz z*4EG3`g)7gE03c;e@g10M`8TmeYWcMf>p1U*VnUM+}$l3($dmIP;(FqwX&j*>0<6Z za{Fj%cG3CGm%^78TN^}f;eHA{3AML~@eJ}ll35FAm_NSCQMkmLgu!22uc4#8*c7Bh zDFGM8@o3e%9w&A3HI0o{y1Kfg#Ty$N>j*>x#A!0GcA4DAT(t>3DIU`Ea>(Bxe_*Qc zRhazrXy>w!Ze=up(%c4PZ&%ZZWd`;B+FAmsRx$w?0RAwYsR69!r*y6UDvyBGqJtG`@;To zqsv{VP8dISQ-w8)PjQfQC9$p*s2?Y+IrDlDCCB^gO^{U~Il(vUs2aTa7ylp2Yu3Sf z0eT%^6fYO2u7$3CjW{X)@EGLmI=jTjQehH<&-|KbB68X(HpIOi6`gTY=x_#~2P*-e zcY@gr2J)e!Y^4?WT4=Gn(JmG^`k!ryoOr1#UwuU_f0{Waef(PcaE z(3bXbz9VK&*85=lJ@4HZuSJm+HGbxR_J=@5!yd;pA1GTPSHLQ&!yNQ4i^oDLvHvS{E7+`5BNYYMZC*s`zbLeVefv#hMRFCK10ziC#vMZR4Re z=UpW?3NA*`+-^hD78Z7+6{AAOrp3lyy}k~3fiLYXE&YP_Cg+03#hL=G1zX5D4@@S`!x;6Qm=J($Sl;&hg&vDcnrp7*@x{7sP}eM zmvy*qlm4+7h_tIfj8Ob{E#DS@Aj&ET;zL+=*$9gYtWKr8sG9mNgnQwU*ssI_FkbdRtWJdnYRS@C0vysef zp8~dB$Ag>`fe1c|2g$6u6J&Q3j1H+;^^0sIdxo6ciZ;~Z5rut&)Yqba*Guaez=lC| zwOxR9+XayJU0^f;(U?PdbkO2B+g&?4#o4%4I@fXPfGxd3dI`%^ep)7n!OpC zEl~&QBMX%RjZ&u$QbLOv6lMuTON$2dx7>}wdD9w{5YxrcVZ8%CL%nFR>t5R2;l>n+olT9@^Kv z(mtxcNG-P$)$~N+bpC**_Qh{9JyDO#aZkkg2t>OB%(yuKW}gLa=__^^-t~UAmy9jw6 zuD*6V-h7MUeZ}~1bV4hcJ60$rm63BS|7c=bbE~euj^F8SyrZ8o&(|q)5Clr}ua$e! zWl*C={TC;}7YCv=(E25>MT8#!||1kUcZ_sHs}mQ(lrS`00Nfu)B9H&OSYZ z>GcIzuNilJuUec+k#HG&H`vj{?A6<~Cfa%;eF2;P`{IE#&cv$^MUIBTT!8N_py%#h| zENCm|<>k*YzvW}s`C5My%%i%UQ5Puge+QlR_l*o3X(`4V_m!+vGT)mFdcqH$MzWjA zbyYiEi$N}?(&C~b&(pQTL!}oVKYq;Y=#a9qvikk!k0OZY1Ox>ifJt3rMFUj` zTK;33kVEF;+%Xtx?d^~b*_uO-gnc1R$U^ zGkcALgEKoltsjno&dSO;QoI31>7dYsE>v~~P5z0I)GBTgk z8-%v$E5i&73@bXY*_oM<uUm8u6<3-oi0OykA-vlcD~a$2$z z7-0@t9~iBqOV;Z(qTvODYJiRJGq^7ZzWw|6%TtCQK1fcWxqEtU&5e)8c6N4-n{u7c z|NH8T2_|lxtVpe8L=w`X@JE`26vl30S$vykYQYT4&SgPG9gwuB+lbt^sh+d5f;(57GVKLz z2*7#MVU(vkD=QNF`})4BhCkDZZ>W1BbWdih?3ZxK8m9AqtC#99fg z-E%fJoq|=b8J;SjW23-1p6;AY#~EVK2gyr5UelP)Yp#<421LW@^Xuc7SGIR z3=9mI85_Txo1445yd13#4fXmYh=Ggqo$AgItK2i6J5*1y9x6#jq1}{xizXI}R`%ot z!7Hp~mSmiZUicm+rE=5i8AHas@g2 zZrHxw4F(ij$=SC7^@WWSYc8Hk?&0kuO@8>cS^mE>0*nIi(*Zu^Oe3nvTxg8Te&kn>D0dqd>1s0Gv+ zfhzkyZ-+qmw@Auj*h_5KqZTQ?U&)wxDLNrV*i54ll-rXgYOQA0KTg%9Fx$^IWRRMV z;l;ndXvMF5vGLe_1$_wLZGsciP$E_y|9TQmV`6Ki4bV6(2Sxrl0B=sk&IJYJ)bt># z#9$57{NY;PK+DAi5U`zwV447a_L{tcPmqX7-5bpU=mVE}0N@*;czVs_s1F(-73Ozz-qDNQt`%QBIC|^5%hIxa^!FO?UP(iz~fd|_UD8H6Nw1&r@ z7SWRhovlZCixjT+YgTX}5T1qQAc7Paas(fE0w|Kg&xUjo2w_HG_S@_0lml>e2qS6X z-?$34EB*|S>#dPGS&MS+k(IzV;MJL+`v3~`+cila#{*4_bnbrx?vMYZsfpDBdlX(4 zNm&RDI?7F*WHsVcOa%)wsBMKL7c=#+#ZEqPqX^gDAn1U9edzeSXI10d=lF@W^HnV( zsG_)VgZ=hFE^yYVy4tHJvmOODMD!XW_=~>)DZmfNb+-T`36lz7poOuOe(5ky-~@S+ zxd8`=i~9<*+GId-ngVJFK-FX*9-R`b$%pUKkLmkxIYVM#0`Tp$1TfFoAFghih&iAg z7&6`Uf9tnaFv=$?@$b?-htN_>)tG$DIJ0m{_yYuz-&@L!t^Sp1zPN}SshP)Hj z7Y`+aQj;b8DC#yiG1b+@lDH}BN2e$%*H>raq5GHR;{ajwtyL|*kcC?E$xf~dC zbpLWcl5-Gn-V4J>^wa?Ue*4L-I+H=oXjS z&lGBx+>Mxi_g3P^tIvP#1FVhsxQMO1uH%G?%N!8bwl<@>8)NJYnr+x&eA)z;{fXQb zs!sx=Q3-*>w}Z1#DLDFjkNtrLb)3j7P#!mdh*JkET`O$sCKxFJe98_!g3%P;f}#E* z-JaU~w>Wt*kFX?+U`oR!OHhXmE(jjs0mME@_4)KF0H3Env5RNYct6-0fb(Ux1mLKR ze&G`o0;Tz|R6A;OGAi5^a(P35K+Z&eX-Ur`ItMVwrnnibd7%Wc1RO#4$c%}!ZPAYm zyagXk*-tvGv-}3A8hWGvpr7r6p2V7CmR=@v71S=A)N$5MQtxLb7EzgcOzY^Ys^cl~IiiUqgIP3L<*Y3)AeVoCW&27(o|Xz<7lp zazt2nSf4uG&%>^1bUUkx0^SERKsEMfiZaDb2a0Srrrbwydk#Oo)3z-g^ZGh zO77|{|g4jMs(zPne%3yw(Z-G1dg^uKF+> z{f{~qfP(Z`MBWJh%B%=I4>Uaj7NO89A&+; zyYx7GITg+4BGWOKgrbF=#n43i<~o`W);z8ugfK zB)I9Oi+H$8s8ayslz-GpJa`2Ip;z#2gq~WqU$gw{sJ2;OF*-kNdY|=;^UOc$_g5QF zy>6Xuq#R7;mnBR=rU|k0j$Q`WEi33()!R=ie!5+X21* zYJhkJ#sIq(z^JNaA?&I`et-n0E3+dIf>cQjj#G3%5U?DD)1#l^0AEC=xN-*kimL#u zbcT>gebHL)nnh;?X-xA%diS~@0DRwbpnG4~&@ex`h-!no!*U+>0-jE*Muv}30 z34|`Y;C*dFPA07pzEWFvwL7Rsbf!SquNu%F?R(vd?3wmi4& zM5UXiY(-(48KDr1&4PclXJFo!7QGaQ6kq;5h% z5w;|S`S(ZT&_GCBYaDOiCmfJEiov$ffvhBU$tjUQR8RYjY)N>!0eulK2 zgAjsE$qhtH3!jFLx@)yfb|nE46jy5x4``lL0szp6Ey`(Unti50$|(#4zx~oPqIS!Y z5}U#+VVpmKH4506@0CuufX=)XK+s{$OF&?DZL$NvI>S5NSIG42WKVJ7i30Hk$%^T( zhFUv32$N(5@T-3`&mA8^$6L*a;(ur2G%4)Y1^&MJ+u@mIAa8Z3ksCxua7#o?wK24j#W8P}Ep7R(Ge0)A?;0PvRB;=O9jaW{4yr z7dQpdTjv72*(3|V;jLU^Uq4qZU^5-hjivy8oQby&GHr|xNZsEy%EYrI9w)oPfcgxN z35Y42fJ@;Fur0O_S{`3^Xm+1u0xz6&RzG~#JzP#S-?yR{fHiV@AZ%#3Wj z!4;w){_00C%`tQc0{-Ml>JI4(QeiLc-6L@baN15wxMP3YG_#TplNu)qkusL*3g`(C zU@IySE&f+m0)Mw>Si9!fSzC?WO78CsYl@%_Wo>SzJN5b5z57DelOHacrU7gsyu+ar z1_(ErpF|uZLqc=wfVZGJHqORGK#p7BuST~cQlm*5&mf6VSJ={ffqgG+7;tkmyVuwW z9)!Go5|}iw+0ZXbA9UazL~VhCv$2WbWP4CjZFzE>q&sT>A5s5tXe)O~oaQqZ_>jODib{k6?u3 z=a0Zu?ZEg;A25#E&3X0aw}A`Mp*F~+m@#h(M6_tcC^xr7`zZTAY$Okoq18^92UxbS z*fzemEFio7kw$*q1oBrafQ017WLLts7mf(0Zj5{jMV~_2AaZMO_bKlU(BHoX4nO?| znEKic&@nx74ROjp4MnZjf`kvN=Cun7kb_z%H2i zTzJ>NOd7K#I~f>JaoYgM(Vh7R%CHqa-Ip!5x0{2KeRFSL1IudSvju$fog)fg%ctVO z1t9v#a>e>>!~FmppOw?^hQ5Dp;K(|+v$K^a7*IK)Vy&dqBUo)Ox*Ka5xdKx|kRNIlJ%(zOT>Nv&B~Ui!G-D1J~h5XJul z&iQ=$+Tpv|@q2u^hKa&@=JH{BPb7 zkIA?%OBbrh_)zW*_t&2{OJnXUOFdN@$xbSq1@X&uJ)W~j(`i03y~=R6NsqjGH_bt0 zsJ3LMe8a_Q{2DE<3FdijSjz#bc*clHbM7Br&v`{Nyuw*M7Y4q<75VJ^cwM~vz3`J* zcb(R!iYMJ`i|B9tRl^i||9(APe=Cm_Ns)2+MLjKcXtge zylGxVOate-9ZG-!4Vj3f0@tFI0CU{AMz`wSh5D%~>jiVrc&p9>0Ec}z zOiLndWBnc;-kcA{t%C3ViO{`{ZPwPij*CY+Z0LEpY7Lgf%@4P7s2Qy9ZE5qe#dXfE z&T5NH>#Z@^4>jCAdg|!~4I^k3tPdnlj*PGutpHbdRVW-u~+^Lj2STI3b3yERkY!|ftB@1exY=K$h# zBY}@9_N4dY(`ymh92_22Rfvq?KB2$2L~HOw&JLyt3l^;mrV6SCPUNf20fbaRQB%qh z(4Vsev1=8eikD2;cqDFM;t)=QCf%zcU?~_1^uD^mN6<&fb7VrVK$TbcGtWw^qMoUc zCRV?wBVXB~Gv-e!o!>TS>sU?|4j)_y#3Rf(*RDhV&K$VZ@Eq`om|n`rgkGJkCU9HC z0hVNc9IKx7FW|Z;aoc^pKT+{?i*J+*xpqzi9?}>w3j3NuIRXRI7n1gzdX|ZZh3ji& zj>R52XZ7nc++Sb&#RLZ38;h0?Uu8RpWEF#Zc!OWS;G`@Fj}is%8u{_6@OxvU$MF?# zv@b0!(1Up%r&Lu{=|vcUlH_EG?UMNR&JHk|E1Cgy*j=D{;&ig5Qtxq91-uFSP^c># zty=pm9hj$ZZ2Q8(!VjqfP_k-6?!jR;KS7@+`jIhSB+x$A@3bjY<-DvuJfgXrI$xfW z6FaqdvvJr|H571{YixVf&onw^zVcVC#e{{3-kf86Vm+dlYv`Y7axD%W;D-z7|bT& z06e&-r{p!M4r1$yTSrjy@iS*K+^eJK#y+?|qp%vKCX3=KOFTUJOja2#5)p#Yh`8S= ztlJQ%=jj$Gjh+HVsqOLEnHHxDSdgFg7!=Z`C4X;klOcsfJrSlxpMX$p_cqw{e*XhL zytt<hPTgyqv08R^uTWtXP{&Hos!pFrU-@>ZY=anAhQ*H14XcH(7r?xnVL8Cwg*r z1`s8}!op5~Qeit^=h&Cj1N3gdy88HW`sVF5iPX`%azvt&aUj@l_cf zMJ_EF{2S$Szj)x{0ycs&ukiGPc7ca6Ijde1SmNNvTU74t!zHkpaYK6wizm+QXY;NTwK&I9v>b&q z#Q{2-j`n(AEZjqPk6v-<726achEcPtV1H-^d7uby|GTQ7rUgOVh%kI59bf$q)A@hx*Zmj4mH---cS&#pCCq7C#ZM!S&u?&z%D_ z{(|!IG4N?@jw;U{ zVcLiR4@~aye!ge$lLdAdifG6?L`Q3`K!gr9HHq{cHH>dhbaw}Ppb#^$XFx-bjGVk8 zgoBMuACzaFoy30x8&f3;<(aRVuS$<}2Uq%|mwS*sukgQCL*;?~>)$UBLz^|g28R5( zXcII}M$I8OM`ZUIF40`OYilhkkS{xFVrCR!*&J!^F4F})hdC{yp!cY6YTAu@HAkYa zh<(%GT+}S@&DX6PuW$R_c=AS41?6#>}gCkyf~W zWlJ7(^-<@{#vxq)Qb^&02A0m$QXR`OU!ai&V*d*DHE_XECwCi&SvMaExsG#%yUg+U zF2WPCLmZ!d7B@4}P!f!gFl%EA?o?R3as~#SMj9Vvh2D7luC|)PgZg`26H-gt3-@AM z>=F_a`QIki-n*9V_$P^%dxtZQy+0+k_9Xk-EA3;}$b>+ZAj;YB!hQ5>{I7Z5@{nJ% zCPOY|HgJ&xJSYXlrb$~_S+OHar#a!YbcJfoEu?{!cP&UKt8yhpR?Zo>Y({?XD|nqO zovRqla;f^#w`umjUSR7gOPru?WK7DkvM)YqsuX>-mCjFds&MUwxDVpsRp9qH3bIcP zAcjdU?D`I(zd8o=g2nX#L_?!_$_!A4Y}6eA-nUh7I|YUzx+D4RFZ)boS-M=dvH)|QF`{9xPgBJg|j&5iyi}&J@Nfoy`mWdYIgs`>qAa zBv*mei0`G=@#WR9UYn=Cp0HvH4?7uAP@$tn-w$_;t0cZhU*D#M67VpvcD^s{>Oe}) zQGOk{%(3ZWg+9ATxA7S$UpUHZ+Je$XFJLzPCNBook`=VHwAe40*vPZ-$;Rv(4nf_f z7lc}?paB;P3K!GiUckFiGGGD-;YmaGypn@LE{D=%*>b5XXMpe?rO(EQ_WlnDt?1~Q zHQYCcsnJ27wfHx(9T=jmk$UL?>w=?UvT+7|_@&xz}CjAND(^E553pEE1Len6s zQoYmc1D4;bxjOY#K*Ut<^TVf4-T*i71w-J(7z0|PuZkNVB&#s7s{D-QvY70z{R!wh zxl;;Cws|9;FBqP@n1Gq1!_-L;vi{eaGU_BvXM- zP2_(IPD=PkE==k>3=cU`yfU@^YTN4D1H}{4>8p(D0mvfGi?Xe?R1&xoQbCeN4=g}#P(ayC@F>N2g&8Eb@qmFx z?KBha1v&?-l-K7$pYoKlK5wJ9R0FyqzJ<g zUm>f#e4O`ybn4;39H{Ko0Gsk@9le@dl}+7p<8XISUyX77yUrLd%`tDFKUMtZE#P%P z_nNkPu`leLy!U;nI@4sKs``%-Rf7Sg9M(yW0<*d%DY~u1OD(P|u8y1c7l+uHyg-U>gMJtL}`a@d5FkL{l`%Z~C7~7T0$5oLEPzaZi$CYFPJGJIGbuz1- zNa;gn&39L`$PnsNO#(hCs+d_aI;&bhv`eMZYI1k!?{jAQ_EI$8kfc>edpr(wCyh4B*DGAev+=FjD=~ zv3pHq&XtKG%tDDAtHIn5TdT|hrF@(--aUm?L)-ps>&w%j4`s#gsabEbD`tB!N*uq+ z(t-x`#(}cfDyx5&G}Y{_gT6bb!6(AM&@Mzkvk zydmMt-~S&~UjYY>c7Lahxv}GbB|7PVCMwT zZJb-ZeuZ?FZ!A1HV&v~f@^xYarxD?8SZ2LVMsDE`noRSdRyve%CoxV54M_COdk;m zLuzQPH#}OT!^lsguXP3lGfT#xxF?uNV>PjRs)_N*9{7xm_mF0?PuE+e&x0-JIXEw+ z5^xnXVx5-XEGZMhzGCV-nZY@@J$2Xr58Na#x%pSDtGns7eV6^G?hR~&l+3vlj^O11@OX1@NpQ_TbL z_>i5Ky16Q}%*`ls2M~E4sqpQ2+vfaXLS zqn_)hf~M^JXY{CteL<4?BcWj7QH8^%!UOscG=-7LtI|x&Q^^`szZ=wlAFV8Xlrwml zFTq8JZQOi5`P=i`B9bmJdv{1|KFmd%Jo9{~N|HeUm0D_m@=ii52J=2}XAJner5aqGLh?z>`SjhDcR=V!Ce4aXv?8>Kg4?zMe3eCbK_LgRLs<&nWlr~?)89V?;PU|} zjo>z)0To^62mluuzQwX@D8~YMZ|y!PWyFK!0d+k~VR!5O%$pg@swNlxV~4N7G2kqi}ktU=Wl>F!YRNA;t)&`ztzf9jTOj}Uus9iUAJK5Qm z(Ut&jRz1yS5$Eb=f&DLOmQHFIs2s%tQcgEeT{CCcEqA{H>-sYsus00Djdrf|fzJj} zye)^LF)Dyq`b!iV_Kb^lox?gExGmZ!zxBQfv8AFx$~{C4_&=kb04$JeyBc0c^p`iq zZoOVq8O`20`(W8+%k)viLV)M)=V=R1U2Y4zt2ZBRE!-YYZ$+J8?-_xU!h)Z^430b< zSlX4B3e<8UWHJHUY!F!AuPXRQZDILZ{fuTzl{^EUn>lALL7xUzz~bX1&AwueIvIWi zX3#qxX`aVgsp%oBO{>#ipAj*~u7X44PoXuS)0ff)y}KwbG@5>WY4YBo-$p`aYea!Y6AEM8d;4}2PG+_X5L%|~NbzZdnIo;&_yRT}zrz*`? zQ&IuYr7R#oes>HM4MjWIJAQAB;B|haCsx)BmsdXA2gOO}yKma=Fk?~Hy4-0S|0?;g z;bvol!fX}oKjf|`&94p2z zCMk9fyi2vWi?y3blmrU3+@x*doBJ!kN_WNT?f<&i=n*(c{aMh!>kuHe%-yJToqf^T za2HbyQG}b8YtK^>%vU>3c#-wH$(86H->d6usXsTBdx~N1Rgyj!{pf&0gip^!&h_hc z(TEFYNAvw8z=Ncs__jZA>w?~>n1$qd(Ty69vx5hBQnTkjk7wQYeRR&uz#wA@qr^TU zsJiZ%r7Et9C{RTUH#=#%z7UAsA$)3Z_~{Yj;%8bdJem6u%bfma)t?%WUO&|)L4ji# z&6fy<3fB`n9}8csUalaF?mOuHWm?|(;QdE=D1$H=L~-TwVe(~)bNpqAM!&`%X&R_r zyDvJ2*$%<<5?})`D-swVsYp+&+ogLIoR8FPso|7XoIWREv_3)IbNJF?OwpM8Y}Fia z-BF)rB7;|u`uj|tjv5eQ+C8@h5e%8DO$#2Nf4mAm)gkk0GoDj+O1bcgruyIr2R>|IW-MTdgW zORtWZ5mz#&J_y|7Di#_a+U&bKHlF%8H&=VpfP5U#2H-o_2W_4baIM#Ee)$7J)7_RV;$ zBM`T^mC|TjcETGlHL+f}eCc&tr}D6gkJM#rOM;Ay%*n|~;K-)`J`bLtpkN=Llc%TU z1_F`gi44gs{Zd<3chJax<*XY2zFr)rj`l-*V*>x6ntFqIsU*+(GGJBSov2nY=JzC> zM6#|qpE4OopV?s1k=|FN^jCdx>!Z!Om2k-4fr_@Zy*;tBvonlXU;haWP2b$#AJB(D z?g$ABe@H7!O{G#hIXT%rbarzydus3DG5xy=6wLLeXJ@N6MI|HzQIAf%EP|iooS94S zZ8Fr3t}qW~WRE94j&GOHpFTKIKUczXG#55<|DAqLRJ7ZfG7JwS`?v0)jgOC)9vwM~ z3JH~dxq&9B|CqsRGYcw>OgavSSn4YnY5lS&UR4kDN(e}`QhpaBxBs|-|C4Ze2C_9} z_~ajY;C)X=N2jW>@hYpVyxg#vgM*WE;^4rJF8~{@Ywo-tJqebL39Dr4ie}kN9GaCb zrR62c%Nt_~?d2biZC^L^Y~9<-rxUFUX`C8l!@&*XTR`U zCMmm6@C8wj<&;W1BS(*67mC$5jSL2Piyn@nen$0j-B;7Wm|+I zf)Jk@hoD;V3m4)h7x?LOD`zmOPM~cum=Z8o;p%>#2S+(d+lp0;YB6<;!2 zXsL57i-i4j)H6*AID8h}roW~hOMm<6Wx4ZB%3KdA$}7(aacN>1KU@Y(;!I)^AGTQB zZ`iNDVZ0)y!J+lKb={+{|L$7Vb)pIocf62S#63hE8*dMwag(&^VQ~Vndb~WYm*lt4V4`+!Ff``8}`q}AW3RR^16>ggu2dP@g7`^-! zcc}(+b@y9xU$#e7QP8kmZQ+O+qxg+qs|w>Xbo;i0j%AwIwu-x{a1+D2C-i27@TD71 zy713zJY~c_^$jPS2X14TNl|SaiNLVzepI9gC-mU7Ts-`%D3V<$*b?dO?G0<^VK&?L ze!#`2fy=xs@Zz7k2;dOD@x!~9NV0u99IYq*)<0=(g7`>eYaf&B@>gw4PMdV}8J-`(WT z5taalmIYAq1_0leZ`F7Um>x})2-~g!OTI_H%HJzehGNBV0VU8(zKp(~3JH;%21OA&=sS0iQeyzSa>G~y>at4kMH4+ zfrk<=gIa;HtT>``vt*#PMB`-=9JxyK1KybaZGX#>GVO!LN?8Y@u|4OBznISDtNiIW zUTDp5#oznkpFY4)mWoZi%Gn33BrO4&+!ib$$Boz6DgDcMw4a^;Q0J!G@z(ltNh3+6 z8w6oz_c7%pbGS@L3ln>60Y?xe`bmED9+$FXhu=GtETW%)Anh%#&sw$J^79(&)C*p+ zG`9^_+#wd7u<|P9?=x>d-mw6M*(#8$1`GC>$c4a~h*W8VBJcBc;Cx{zna)+EKQ`){ zSx)*j8wCRLetZgXq!m1=1NA65n)4mtJ*~__1D5OGwuI^Nyg|pnE(f5EUg| zNMoRa+v<@lyH9|iW!hwix}A&|t<6BF6ep#e>AH9?GJ4=hLKwfSJAzEoL~dD?K2T(D!N&a=v_Iz|khXVU}#-wm7^2!_>4O2tUO1t?dl{a_Ao3R1o_)Y`Q8 z<@(I@wGY~}wYJ`|SspKJn4dJaZXKo}_vp(tC>1EYegdw7OcP>?Xd%^@(k1u@lH$$q zTVjbg$Jh|fJ)axo5Etxy@VMGn6B$4zSD>P1P*Xl^$Up(F$&M73n| zGTGx{2Yuq2I>7Ramz)opMu4S`QX8Z#f^qpK(;u?PxUhH6q+F@P^y%@&8#2}Pjtu?@ z9hDHgeZ#n$i#fc3wmc=}?VVopm-XOK3d`@Gurj7% zR(nonc}g;#COUvT4C&z_9l;jVyxr--$^x30rV3KAgo^lNC;)I+QwDh{Fd36=!^Jdl z?`QbAcHLJ36+5)9n?0`)CmaLr=*#&yZg;ZC_5gNwT77|b^@$hI&rBGc(g^&$e^+02 zMvg%c{tzy|&V4`frWc9uraOt9i-~w>(*$gz-u8Uc zGu?Q2i_(KONzhuqc<+qchyK&@#|2`!;H5$Y5ZduI8+p=9OXY^38&ciG>_Mp)k1E6f zQ{Dp10=p|K(5c4k__%fiv)#7gszJRMv!!sG_=Yw0J}0H$Y0Ee25XN>W= zz2MgV-W8`S0i3*3`~J=GU!vYM-o}uck=fp6z`tq3oQ8Z zDZenGT;!LzJ6zxKq(fo9w!D3n+vwoG#VXM6pz>sZBV`b>Y_6p(uu0><7tq$Hsn!LM zPV<};yAbxF(6oHPX`7E?APVC6Y&9LR8?Gg*+KMdQ{52~Rb(yvtgVGQlA!O4R@wjT5 zQ3d(mY8}Y=ChT~vfVEIvDaqe`vXVJ9NkhVGrChh_wu$P=SQN6DdCu{NKJ}(&F`ods zbLgvKf}T`zWy4h*RqVZMqIK)DP@s?Pz=Pe!CXd>v+!u@4i@3qskDojLt+z!q;Hc2G z_^rq7rV}oJ^oPI#aOeMUaQ`!{Rj?6rhbmksI7&EN-1FQ|wicTvo(dpR$IUnJg>3J* zT7Y1DuC*PY zB6$?rp3vg<@3UWVLiQ0yW10&IIQN*k-i3vp_`dqdW&aUxY4tld5z}sPZ%T}!hqeA> zC@en;p+PzDU&BMNVEGJofnCZt&w!nk_2+xZalH78@P)jbG{fuH&ib)GfD(1aa@RyO=M}~XkSZr_ttu#fzDBPY0!H8zwqK8=uzoCe_EZJhadzqP7SM+}UEBaj zk8jiW3H!Uh>Kx5)pg{nC{_H~|Qvn*Ia(Sg#`u zC3hUHvecm`I5Glbjb$&Cd~j}5-$TTO=obXx2jND)iExjIb-sjrG-+`4?kqXz4>ZCd zG1vEI`*KPgFV-&lCUNm_>Mt_?chwAX>=BmT?=b;_Rk>e$j~Pf&K#&tqV`Ww6UOe^a ziRa|RVL2td-VN=&|IHW2zwt@b?^)udv@g{h&&%&M9J?aVR<{9r`t}MR0KDh{j_3F* z?gDwSJ5@QRZ%zyHDK>Q5x7ytYWXaBiYfeBh_Y3H0XIB^*4LLoR-AA4);A4yFC7~*v z1i%A2H)>a)2-^l*h$8~PVgj^mX0;~k*5>@;2wrF*GD$OUb%fGKWXyZ_Y|{BE-j?vP zSM=7Zjno@DgwgAeQ}cQ5%>QkU1g!{PJg!opf04-92j;Ju_e!5|x&U3%7GRp&8va5F za?m^#c+pbAK#*n`$R?tSci_-_n$h$c#S$#6qGSze=riP?!d007l5y_1r#g} zzGQBrD6C%&B`QKC*rd$Ys6T^Ry$@cLHNZd{8v!(Gr3;Q4YeZXZ!xjMD_<_B%4dRYksiCI^Kr?cp zdu`AF13wHI!%M|=xv{6mxpkR)?akl6oCC*JSvWlltj|l4+I5MLC={6{y5XqA$D_{hByAt7g97{uaIBzpFQ2_#||p_ArSx~2R3 zib4M?p40m6*=D}(zo86c@RzQ8Y7Mexf~1sX=)k*bbleyYE`GLZIt^TjEtb3E{%Dba z!>`d>0E2)d_G86pAkh*Uz`X=I6(_JrO#&j1C7|QTPUtcdRGE!*11Q4q$%^-lyBYJ9 zRSIs_xX$n=f?GzBVk-xl0K3=}^8nVfjQNTgJ%q#tMWi#!ptoFCe1$DDLov?HWA_yK6X}0sq`(oU zlnQCjzLr1c;W{cDoF-^)f5m@-$SH5@6uvK^ce?NYe+J&y+}tihg`6Reh@@LxfX$jp z{syQSGHkN|(9y4|sjC|{CZ(|oEIJL`x5{pH)vm66P?V z=GKoPk2WSMa*9A8^eUT%2Z|AI|I_g97YZi;msD+6O`W@cN^nQNaw%&9VWrvtfckhL z4rJv^_=KWR{Yx?KHW96r#A{^*uO7uqmn(kJ+vEYyTtXh_E(*JyrSazpCuBVi)lNN* zR(7X&8y2}>>35xY{a{bCBPTA2;&t00AGAw+yAScgyXCXT?rJBTufeB*pUm|l)>yaW zHp{6?IAYIZCkfJ)Z!U-Bc=g{P2CyWp5nO@2>z5+wB2imS!(|`-H>ef{IWO;JgNkuA z=tP1;+_%=aCh&0`a`zj7T+`JAW@0V(YK5e705?ZUD%xBc0>RF+;X>%vwo@qV-W6by)2f- zsVsSXA&SFeK?!WnwUZDj^dWeG^;{D%4<2Z*Ihjb^XM>wkU+pO7OWh1i zc$wOyGJXDpV5M~Z!=<}YtNdyNi;F|qMhmt2(E*2KB&g0E;@IlR!!K!0psS{ za)Q61*Di3Ir8yU*}(?8>tGg67~bpD|6@0-7dvA`vQ9p1?Vr1 zz7u_JHZCKX(fgsjq*tm3&Sw&<*BO_8edFfSi;6$oxtiiX3rAMIxlAK;h(FAi$0@Y0 z8Xwh#w~E{A>&sC7DaJ#*K1uAxKD@q>^{<>O3Oxd#LG}5V)qZ`uVR@zg!D^aLbdNlD zbynyw_jZt?st|`*ysA4Aifkq@WdEmJg2_WZ(7+(|d?dm_0$Pp6Akw zJFL(lK1P;*mj5Y%jFPa5oBQMY^w$w@Y}xsIOnF~4tEIoxjdnjCuZs{K0Sxg%!yxpB zeM$BW%o3#abDVR)nQkwACh(vI<$z`Yp6Ya2{Kc!D3Do4PoG#_~Qd_K#?E;PfEV8V3 z)Vo2CR2_wjt)%R`&mb>3uBToc&H(4CxrvIW5707s0$L8acbI?th~aT#<8sY-Ax`3H zdTOPn!}!T^X2u@i7)1_ifNwF_Ejho zxRw^5llLGEJ4FvLP=V6aSkP+vEf4wan?{I$6PDdKvlR`_uK0)g@%Hi5f=sCX*Aa_> z-O+;4cyVGwDP9!6KhR>zWpxU+IGNK-ubFh9Vb?`X|%DbA`$r&D!T^sN^Vaf z*L460I6RvMK!t_1H5_nIO+k>kfLCKM8rmN9a$~o9{0W!Wc4M!5(ypjlOw|90PprK8*xhI_P?7p8Jsxv{Nj7Z4=^0Bayuu{U!=&rk!8tlUZ3gBLa*+g}HqZTIaeq5Le$h2r^<8re<8WLPz9?oWq z;WxX0@2qlT@}kIq8X&bFTy|h-h z$8A>9(Rzw~GFQm+H*Y4~zyRQr0e>_i&X+4G;g^=5&#}(T zRrfZdvC4xOo-$jPdyD8}7jdsUQJs{Gp4;iiO96DZbZ5_b(|I1q)Z8W%p8i<|p;@$N zQz}Pz2V=hT)$A%CKGhJMK}UnvFqh}VnWCMXweP#RS2m5}y*?VYmeZWG>jz6;06t*1 zXN;jYuk2CbrAc_{KL+-E1^^YA+1wf6@>&KLmX*~ex1(+W#j^)1hpx_+mm*Y$$bI9A ziQU7yckfzIG$Z zB^RJa*$e#Z8_RVnSdv5atK2~xvu;kZFE|&k1sCW>ZFwKnA?o32ZRd|*!3;ZD`EymA z&X@nRBc<=Ju5Z`auSU!?c}`J_dzc!5t_L7dKprFtrjFHOEzdOYDY)kye~a=#Q~IV; z-B%qhU0l5U_q5vPc}I-2)?byys?J#%4|$DIBL#FkV90EN+Nu-y=|Wp5tywMf%59ey zx&t(Tg~K~L#UMDZJFp1HoCOUkh#m#IqxN^!nx8c*9}tEt?U*;*(TaFcjyBe9xDn+h zXlD>vkiNv1OgPGXdi8f>L7U#MudX)HDA5o9(Vs41or*`s^_vUd``AnDmPX~5!T_7r&n@j!v~J9kFKvO z68^RXjUz$v;`e%t=h;EKZXW3Sb91LFQ#E$*G+@)i?uZcuNAb>-(8po)n8E42dkwdyH87>`Kn1tI?}!}<)PZ% zw_d5pX9kchiIJBFb)U|Act@_6AEI`OKcBZESCNf;^C~R3nR`;Oiu`=GHw3R)o~fV* z;i|GqU-|mp^I_l&`pw?Gp=DxI3uKX>-uHE?>4T*+k;10e{bBBi+1|w!I2_>J{sk+!6%qy;jAH)x+UEXhbLd1-)lPyCHVqkFI4q(@Jfjbhry9+)#)zWJiUC zVKw&WI|ipleT3kalju;)<`J%)NNR86x&y9YjnfnA9#^?6)pr$Im>;Exaj|yJjQZuW zXzPfA{f7IIFPVsVWgzp*O)9s>@NeF@FOt+}%#zSE+~zXc=}b-WG2y0Qj?Ed@JF`d` zx>wHiGf4G|ZKoe*mC|{yec`JJS2Z&J?i1x4#Dfdub#~@j+b-k+l5~Cl`p6NXAy9!i zY53JeG|#r2O5e%HZq5jYZ_zSlqU}k{T*Tq@^7SSBY~=SFlp*nd{=}Y?>T;| zE(k^N7m23BKfzaFrh+%_;QG*n=%bwnHSznQZ9L3GW0X|*s)EkI`dalD_Y-H+iKU+i zJzuJ!*+i{*a;%%&eTQKml6Y=^bV|!+wV0CA8#|#yZ?dJt(-nmiS-&F>IGxwCoWk{} z4|V44kE~RJS!u+1dOS~`P5wf1I8aHF|i(Q1FRJ-3kAF)C$<2nU9$c@5y z|NiwIEhsAJH3*Y4&-?2xJH|zFNr7a*11F}ZooA6io?UuUcsh3~P zf^dTyw4WO*I>YW02|;VE_0mt(vXyYqg@Qo1<-WH+nZD2|wLO;?zQ;;K4(t{#DO(_K zHegH}TouV8dRlZ8yg2JROPDg=QVr%NUY!y*h^O8XK_)mfo)f$(JVIYfVr}wU{^~OJ zJ?Hc_ zWI4WF9RZ^QLl7km^{lm46@Ecljz^!wc_ql};uWR>A7shKfU9&b-&5gls-U7Fq=l~gY#P3ay9kmRD z8Ecp)dHKkS+t1JqfeTDHXbWMBAfSr&c~;z{C1|sk@^5oUnf@NMqKl+H?ftOJY4d=> zh;3?T;#?=RL!;rG?%ceh(oK28ZpWVLyc*hH48i%?u+ivnCpC*=W4!G&%!%;&df?&W z6Cd7=U*~~NV)hSSe;VY*iBbp|N zM&s@_R-r)Eecj?9I}ng1Ran;XpvFFnwh-t5g2L}PexOL1X%gZ#0)Zhz)IZRrceH8) zb?Vz$Fx~=|EC%LgSm<|f+L*lcd2|XL_$RayvXzmRJ${5;C8US`DVemB(_go4LTs!+ zqXezixg9u56~k`_+5@PSUJ}H;l|Otu_rn`({rP(KtVy1FL6N6;hQQ(~b~9B2m-aNx zKdON0U=F+AQW$<#T%muzsYF);&dL_bYjt9ARdlCw436aoc^m!ZCzEW_mtgD{+CH22 zD^ejj$vrVjY{C+o9*rxfM~sVO*?sW^0^(kNw~fLQHBd=KhNy}z;K3a zp)9&h%$#E58~xF#U6xF*%}oWJy6+A?`8a-{RC%01I;AJ|7WYWnzqNuKldG-zw(`$7 zb#2xR+Pi}<1SVwQdn|4dz$Pk9y&AifHsB5gDF|VrDYBn{Rkz@;34&}{wCU8EXBB&j zcqWTCEK>;|*t?sy3AVM5z5^BHevB;1*KMv;82e-d1n)x@w4_;WZrk74W}JRyh-3T6 ztb(Hn_(Br&LRuv-Eai$daqlqr(#L#pSUV*MV&Xe}9j7w(4jVwIhz#PxtbNh$bF z*k<$_Z9I%Rt-KXs=!@V}UA2Al0ud;QVHof0r0B1uoxQ;04*?Q@H4L>0o?b9b#_+zP z;Q7xg8vHF@J3oazpX1)~(m5t&fk}$(O)j|5Qq5>6 z76|jgqd$7O$ex`E&egp;acp8%2|choN!6RaEi(&DfWoSVZM#`>+5j2%8O3@HSdp_F zc{(i9&gv_X>ScdgUX&J7emhAwoGCB(+o5!KRqQ^oTBvpb&S6FIw@u^s^*;NeRavLS z&_^A;L;a&5YE_dS1gQQ#1>pe?fO~Xyw?^Dh!%KdL?_{~T-?ZaZKagsh(za)d2>y4X zJ&hRFr75R1`?QNIBPha6>re*U1Of?qGOLd*FP>AgE@;rDwW+3j4a)A`w+UMjfY$`* zB$f;Bfz^z35l9RZuii+rwL1Mo=NuQQ84!M)PM8j3;X4U{!^(uAp{tHD_Yg!o47_{1EZOvb8I9qZ=|;5>GERcN4aw0k4*8*ZMllwr`$<} z5d*LoHF7(T2-QoG)Tw?%{YV9`ahkunT16xPwA#Kti&+HOa1p@oh7~v_k<;XCsJ#>; z+4cdyOc>ZG-opoI)$0exW3&QB04%`&&j9F?he59h>K1`DWjGEI)34{+5zmCRSfLT9 zw73VjMQ$VAXF!|+)N}f7>x{ze6SqDa8G@+n*gf`7LTI#Zz=$wxlxf#9mCFl=n|; zL2&cNZY%i^?qbPN_49V_3>YZ^baPNvNT2={y9w)n<4-zHhr&YmtJeGFs_djC%ZrZ>;v<_s$k&!acQK9!)X4R8IorA^}Xa8xLjnxMkv2?4C3uax#g7-W|c zO3q$@*DH`W!{&jmY$5A&QIH~ax*rkC43xTHPw zYY1GUZ-2eoDvWoe7bL_c=N1*+q2YA_dRDp{*Jp4qLoiA2-tz}_YOdVOY=6=>nb>vr zB~2Sa{H_sDPYeM2dcfPzM7g-4vZ+oF)2}Ik@HMnnioF=P@39ld*xPd2a~=MC0whhS zEtFgW>Ou2)5DQrY8kyZtRjq%7{C&>X5O>-WdYM9-3#EH33gDb@14Ng z!fUS{h=oP$d}S^e`WwNTBAsH>iqqnLJHPt~O>$QZn0$Tm@j@P^mw`2)b8q3t$In6) zfw%A9E4==JFF|=9SiK<$>vmAEQkyW?)<2q;I)VT2+zY9R#0G8uvuBR90UIRc%Q)Q9Dunu_oY)1Vsbf^wj8QEFvI7 zvx^!R$fgeRrzG5&87L@C8V!R5=kdrFpr#H3Sl8p&uE7WAgNoeYz~-;|6MG<`9-%ro zE?&+%pYP`NdxEG?3|k@tp{LQ%VO4poR>q=WVzqv~e#S5Inj}2Hog`z16z3H9KvMLE zwuN|F)Zp)fr5&qN^&2Nc_knmP{ZjO)7&xG|c=&t`8V7D*PAdG$tsJIA9kmQEeJhv5 z0*a+JIT{nN>?6M1OE9Mo@dDm#v-x@UKI%*_zuG`k$uBQYWg`L&`vsysS~iw?jD!OJcSL#C z;p)FE(Np@DY8#A!V22tkoOY6^(@R1*WtN2&=2AB?o5?(g-CGn!bA80Mmi=99q#=nU z%{d6ntw*7$ZlscT`=<%tGq@#WKH7YRMk3y&_t_xTHJ*OW&NwX3rNCsBTvJ zT4cfymoy+n^o%I_(VbVNH{QuBXNj|p*FB30(N9<$lMxbsnrum7q{Lq_s%;)u=q6Xw z2m(xfuSuhu=^oH^y()V?NT+)5Q-Vf|D|X@YT;a6QLBM@5ozEbll#gaaGdKhr8cuU~ z1DJI;`yp+;0KXM&14hN9TW?Z)z~Pd2crvIhTtEpG1pG0^K${+Y=benTjF~Qs;bISH zoJ2pzG`|SVO8g43C~djf;x3d{5Ad3d#z0pg8XG~iBIPY`jqrbK86mV7#DcXc|LUhM z@^_9zJCL%FZwa@Fpk)e~oBU^1_#VHHYnIPp!Znfrgfg02tv-r`CCzzLngSq@E=q-o z*9Dv!@uYyCX1>wV@$#9W&H}Iyj09GbA_O9+%({$>3lMFK?I$Uvvxr5iNz(?LBBg%` zB=DF6X6A@UXuA>3ozfCvP;A=dtt^v$g_1=Ah0A^CYA}q9o4}$3JVLk4epB} zsD7ild@eismD~*`j@7&B5LG06(yE+Hw@LZMzC0uqaUG4=ygVj>kdSwftIZV8ZJowp zdw|_1aFU$%Ii1s>_~{r7=@=!sS22mX@9x8=9?VTrO!*SSAKR_tz6oj{rF+P}%7G)y z@%@){OPP>6VT$b@oiyT@qQWqFuVoIGG~P?abO7jF@6}#OLqba z+GMYSO7dqSZ`!}jKcRN|)$N{>>V&(}cZGdi@#ybG;Io+lpelr-Zj8DSL4iv)4zESP z(HO&4ttdedxD2lWzoo~d$MUjUBtoud)m?YztG>gyOXrF(Rs3e3-W6t86Op~kwGfkO z6jFjUZ;{Gl;9C_et-zp>LrxiL_&z2stU4zXWQ9fwN{_y`a7Ksqy)@8f;e#m@b{Ly8c@8FGUhw~IBF zr{i_+zWG&=^giBNiND|6-MYlD+VXBi1}vsY-#L1dIF=A3FQ1m#U5c>I2{*}Igg~yq zP8==4DCH}o!WoSZtZKWqBNX%%GAd2_!QGgm=KV;tRxpKS_#+TWtD~~rt-{C~6~?~6 zAUp*EpI0^CgobL8w3wB}8A#}~85YlJ5(E<}@jao5+PlqQFFT-Jp)RR=yzp}#P0o*W z3zG6lLBjQ5NwR^|juEw_(k4{>x4M9BfCZgfLa=%>Ml#5APTWoM2=z5Cp3r1zlYPsz z{y=$`v%HJW4vnm7EW203wVoVQ7)px>+vl|WXd=J5BxYKM88~Cv$$5(V<~?mC){y;zhv0xoE%*zF?FjOZ8HAZ|deAcSCkfOT3rK$gmERqy z#h}u&4hm~Onh6o$YW%V6uwV36S6+e43#-N3KZ!ATEzCYy3GJ5`uEXu3GXMlEbS;M^ZAJIeeuYYwfxH1NjGyZ!+$4D*02zhb@KKM^MUD% zW{u8r&KIl%n?g4`fv`NTA(HPkOZo;lAC&eH)G|fPeY`8eQge6P1ODVti8A$`Kr*JK z9lx_*MK3OUVaA+VVX{$NW8fQgE!ou}yV~B1WvQT1*TNS-9&7t;P&K4jMF_%bYP?BX z^`33B_dTa@nm~tzqMtb_8LOel$?UM917)6W;Al@TiH~-Q)8vN+`QBQQCdc%pw)^6@ z4m|4I_G@W8Ud{Kz)}#DEhv=ncZVv9bFS^5ddn<|CmdK|YFj%1T_3&fu-f&w$OT|1X z#&A6@Y?}AQJEh(`@l~1j+ch@g?I=nsg1zB_5?)mX?G@lSE3_O0w7vTL#pr=Zl{o99 zD?I`-Xo$W#EWp!bRh6CEUUDu54d)GL)c4bE6mlLpP85)=d7*emMzf_XpFv&mT_q{q zS*PQ3op+d1K)vh#i&`NG&oYpq*qA|OC_lK3UgO*IOA9sz_u2=7cyP1eHfo`1dqPd~ z+W5SNo#DJ8UH0C%$8@uFRm`WJiB6A3u3(n`N(@g6bdKj_doy`HQ$CU=uQRm-o6S;F z_)fH}Gpn7G-w$vtRc-%yh+CuY8t+X(F;E*ezlutGrtm@N~i5ihk16CAW=V%Lb1YaoC?~4CQ1WLX83#AIm`QwgCY)#c zo}tMK30!*J$ZE(U2hAiY`o6kl+B1=B0Hk`Cn?IQnhdLYk(&VFINvY0bp~Yg9u$fYr zKJb37@CySQO+f(@`ySdaN$IG243alOzRF;$qLC29_4ZyIxv7^}7p?ZBrMR9v>({VH z!YYqN_)LyxPbyBt)%0ptplQ!3`$fNBd%f0u2~aQ8M{@fUY@`Vqd|CO;VK2Fos9vGT z##T{kvs{pQZpG6>Jg|GxgHO9WG@+q=a&_dS59>&0vj{4`8-js`RfI40TZNQO#QXPy zGQB#7fyav56W@)ktDw;sv%q66=fl_UR*~6>gRXiY_Guvr+NDMa5+Ss9u(>wDB{vAS ze7}~j_Ul$146vPY+ZO6>*!}%YXxC?IV&?Q-1zK0-XXa-SbG~O;?IqOSLz`VNL9f(1 z*^KpX@dXs?D$Y5vj*@XV_=j~oukJZ5ML^J8P8R~za*FCT1;^jsD49vlhT4^)JV>g| z41)MenINk(9t~N9bj5@-C!BO?K+Ea6Tvhw=3c&L;72C4EC(4Onp zKwm!FkW|0YLZ*KQ96r(H?mQ0XH8zG5N07q!ywVfm2|zQ{$NPFK51>+JIxr8Uw)m;# z&*)7Hs}J}*ie;%!+zGHk$&$&GtF}zi@Tcr81l4orl19eVA0APN*a4UqV31)bR+>^v z(Wo>4Iat0TB`*8CF*Xos#?E@<- z$73v$qvVaRO#*0ZDwJHa;LZ##VJ`!N^6b9@BD6s{C^84I(u_741kF%Ga|4;;u9hJnd0T97 zxHGBF1r!%<1GA~;l%QtIYuFa#vRPF9DrXCVJV+ScN7-%HK{+aVAJL*B>FXf~z{Cx{ zaaV|DrqmQK6+&}zVSU=h$UkK(fls70MDMr#Y!KcillCLk+jb%97?N^oJ-4ia(Uu9^2GuA&A+ zM_cf_goBjKPuYn1iyAjsKaVuJfdW!agrVba5JtgX#JS~Y_7V(i9;{9g^&zRATMs>= z%#b_IFhw<0d@7O0sH;@wp=Cv%055ZHlSo!2lP$0vdPPuR>*A^BKXP?`q-ai?T-b2X zy$++e+rtf9s;O4*E^CP_$EsaYI)t+djf#z2Q9m|SQA!rzlz~5OY5XVtMLUJBtlS4f zWrRBprcQRbg7dwSlpDI`d9@L0Z(fbre!- zaPI*7>eb;sHvqhRi>d_V!hv|uUyuBY0K5UwhL0-gm4IvphZOL?A?Flt<$UN~1PIH> zf@!u|j&j+Ex=wqXhW>q2LG^QC-9|oczGI=NDW4)|;8z-j|w=59Of3 z`n6Q+OLcux-zHrFo*Qtgipb8+-l{#Vo62A)eN%>k|ibbHntmL72VVN9pA~=E#mQC)0>s=7IYbg2TG>tug`KLB* z;2u{NgX_rvX}HwI6X0R4+Dz4m+wRzyU(l~NGID~OI@71CFeEVt(j)eJ`QUz?72qge zuQRs$?XEGO|Ee2glSu-3ib!G;8Sw&SVI#2BxZS-Q%a_zNwTf~v&*FRLnYDB0Kqil)YzElUvs|in_6&f(69}*cGMN5b1VQ z1XQG#NEbs9X+j{eVMB_I4#5IQ4J~vCih$H0E%eYMgd#*r`k6PfpXVLtoNs*N&Dg{J zizN5TT64`guQDm^0$gIw{)F!Ka_^ds{ zm`S282B%%X!r$lp4CbU>oT(WmbX0qCyh|mXtj>S1A}pb+KR+eQE6JoNNUo&Uvd9aE zFHDRrsiX{kFYXydXE-Wh7dHfqljSZP{Up>$oZ~@pj`7KrHOnWydLQXOIp|O_s;yn% zJ5Ypr?)*+}FQLWs8tHOnUSMEyF3Z@#Wc$DIRp8okrb!(=l#HrbK`IG$AW7and|P)G z-Sc$JcV=|;I_kOutr9`hxqwtt>gB@hW((g(D1k2lTGR!6Hh~*`ezN8ZyQ+ zDkXjb;`0j(nQCSKzL!An{&Um09W8%@zu6Jfh7tE!hR?bloo&88XM}pjjt;W#tD*79 zdDsq)FK=B0J&{Lhm@@f0kPdkdB`jRz3tvWQex@pOiS6U5a=Q!B*14eFEUj>OJ?Qh> z=*O5jPQw+bWH7>sa` z4DEidZPEU%+-N(Io||)>)UHl$oGZfWK1)LZt#08}5hN)Iceg*dBVODJ!9uGN%?23c zleb$^G3F9wd|-C9|s&E%~O+8yKUwaCzU^`W;H6bi;hJ$?Fg zCoa-;ru(ajBeLb|mIo81>`bh3aOOq()Mcl5$EO)_zI88%lBdtP_^zli>hCtxnc-5z zh>Ke0UeGPRT(WHW_t-O!KfZ$b1#tsJRj9Qdj-DkUy&#wuCYIZEPjii=no1gsYPn4S z*PU_*e(!QXg!il+5YRtSjp)uJU{H>WM{cE;#@-;4GEMHgg+q3e~u{ls#!2(A-w))SJw_3rb^b9XK6YVWbRSr@Z6$0Bb9WY)7m74wa?QPbYG5dkCdq)ik*ke3QC=1#kh+9UEl}4kh;4- zvr7Xcvj}MF575wgD2pMLk#Om-Pbde#Nv)=L3e+X9U^L7DVYT_*Q_x3mqOaH3@w)Xb z7rHzj--xKq?@WVC;1rM!`avIcm4<+@{lKzVI7}w6L&8siBC0W7TVK!?5pza?9K(JM z@bQH*5E=z*ZW5oSOYv+tvm(xS68=s!Y}57U$e58kb-L6@w+YazD3~#jly186{bzJB z2n-ste)^7f7kYYwoYEPQZA^h!_G_a>BSt*l97(4VN&j5{&-xA~Sl?_bX;;xIY-9MTsxryB)AFB$*YVzvTGFsg z4$+llBA;yqu|B!ie&LLQ0id`(Yawl1DB zLm_=AH|FpE`tZyWQgNvt^1i8f^p!S97W`)KYo!9#M=35=ag%d9inntL2-RlrF2b^O>$^i>4)J$PR-_+PY90oZE zgh9K^5|sB6C*jef1G#`-*^U<740eaqDgp21pr%hzx!ZeM(78pDqWyNiR%1tz(D4}u z(KJ?(kjN$vx>wT0&B81-X315U<}#_bW@N|aJ1BRn$ccRN2bzsUP)s)fG+9$sgG!?co9GQ(n|<98eD3+e=oHYbB?|o2pz5lr!q(nj6)Qcce{59xyu8lemXM@%cADo$l4&6-(hYN8m?$b?17v zp;Oj_V*0uC)%VanFNd?d1)Ose+8na#ZczF_GbRoNM@+$oX4R3qiAUTdj@&vO5n>bq zGM6?0_HI=63oDPU^Ow%N^!(1vV{X41MBlv_mCb3hR5Sk?_UHz8k8ec(edyj^F?$b= z_x=b8=={S@zp?zBTwczLiI_?X_>GuP6b>)6DJKB{}k{X zj+xbf{(hUkY{Bj4k50MYWp!!F=36`D4~5t>NU!Um?CYD;H}@L)Vhx3X7CSAk|D}bJ z_9UWaGukqmkyN542FJp2bP%%Z=m8CN*6YVw?oU}+cKc%VY+y`{(}|NOpC0U$XCp!%=UEGj2=MN!QwYMtn5)DrHz@zyo_$f0&q}Yh2>XTyd6q0Jc)F;m)GH3e z+OVb8f;hn)rZyHG2+9XaF$19p6}@o)gp`_^8!z-g7g%(HJFGx@0nP*Z(SZf=C*r1H z6wA6yxbzcb%aHUn)KQz{{rzAro%*pUT{kNm2uL~i`(seB0`LJxtBQW zRqA=bZis(yO&>^1CpP7r^$5U$fa)q)XIH{x6A0IKd^|D%v#Ycszge#E!#YFZ_VUV~ z{Du;kk##w2g4m7*l9fdPp4RT+^;$>-&_SOUAtGt{kvKAyUt;YXoi8E#?{GdN*J_L`8-dZxn%Z-YpPln4#NA0tw|G+WomwGee{HYyl2&j$m&}04=u1D zU2*hvxnBn664begcswt7XXGIhyutMYsfEw%%IgzBqWyrdo7`>csEEpQR%Gd0N`K%@Of$Wqz&k zn5W04YfXgR%>5Kz_)b0`t<3(opCy2p8D)+u8tn`2GibZiq)`Glsj3Ap4A#wcGWYv{(E<>uwF7w|9vXte!Lw8y4_#166*DzrSN~0 z(%c_RJg8hU?XaCtX04@VetuWhQd3s}Ge{WBnlsC$n zv94=U!+{2Mmr#mm{pP!;2i?t%gTUUR4Vv%kvOcE%mLKt` z_!s?|ltV5n3!nh>ddbLkN-Ol`u2>^ zjlA?wt{ThkKQ)@p-PVdcwrWe3Kl>5mR@<^_lK^fEO8!fHaCp<*sRzYDa`EkKHf_^r zZnGYDu>gDk?wH3?DAAn4sQji>RQJ^kS{zXR(v^g$NRH| zSBjic@}I`X$(!k#MCNP$d>Gk!L@zW!`3;wWP(dM57o502_;$~)Pk$mWhZz%@@Q-Z& z45sd@Z>pD8TXhmne|*TvEcNYJDTN?}+B8<+?+&_bA*HOu51Ux5xeo)5#k=BMA{B`W;_ynfeS{R&hes#JUZX0(2_ckX0H^V7(L^g z5#X+;&bIk0b`n_W3lo|%?~3)o;6%cRQ&Yi5Aaz{?;7NW8f_+Y1Y;~W`KA4y2-tKx| zsrN=-=ADB@v#eY&AGa&ak*Am*r<PrOt1%M=>`Qccao}h(Lja>fVoAeEp zdV_bnx}&qEK>=(%*UOG&+3B?}-|lckSByZ(_vob?xc`&9+FZP8B4TDL%d5y7pR0xK z5q_A=k80s1tnWo?F(IlD1|Nckwj%IZ}RadWH_*|zswo@PG+awqC6xN-k!;a+_Zz- z^bw=g-LBRngr6Mqf(x_X0-_QTcTs%nX`cRL))0dd()iW6ReNkV^IN%$U}{ZIluzW` z6m!QRG^6fzm7ICzW;EV_svy?voJwN3afJQ`r6VBw^~(|d-st^d;dVQi`KM8{@c1!z z(VQVD-J9O!`&D-C2~xSSuJo-}#q#PAX+(&yIYM^9n?D*0lnq3UL+y!cb1V`Zd z`0eTkjkF|mkR00JyqdA{u7nuhNlZsl%I>+{1wjY_hcR#`d6=A3+(o3{^#OtZu895Z zbpEKwN-V1h{}dYQU%wI_S-9udzn)S94}`1;VMR6v8O11^I00phUGw^fi7`aLMZPQ~ z%$3exIY0XiL`p~82dR;y`sGb;%+gmx?&~(eB{pI_?~Uh`qOJ8p0cTamj?&$;}1wMqY7RYd;Ef%I4a<)Rl!Jnq>8(X z6eJAi!dg{kvYUoyOriEk{jK#C|4m-dG$}blDs0xRa5zy-e0f1(&L5Ze^H{H9RCg$J z_rfPA;+|cv3k=0sJPM9$P%Gu==1pN4y%)k>n7bm%I>aGDt)^PUn?&(h29gRI6?FEO z*yg#W9n%oA>E@m7bkWd-ds)xSRpXy{5N0JiE|zioG}E&3<5Wwf%RQ#Y&WK8zJD8tp z&%}GFIgm5D4L@Mf`Y03MX6K!M{_QK%-Q%^8M*bG08qW zZL6E^x+Z7Iogz?g9+)96)?NpH^NWOkYpO z%`ReNV7(qE+M&Xm=!^hr1YvrI^+9>g_bZ#59MdF1AorD1&kD{bNWPt zg*C+up2i>6H^^@F(@P-4L@J$k=Qk4(_NRsk(1pLS-^X0uI-#c5jd1XM_~IPY{XRdI znwjeoPjB|A=;S|Hhc3@m&a|W&Z+Rl&-h90$;naD;y&_ikG;`CiGcZO+Vi4LFOT2N? z)H{Y%+y%GtH`_AWRWnvvDwRL0PTfH1y1rzh;s7rBIua7)zdDDUHbM9GSN2c{C8rXG znMKV#r1p^<=PM!Bg@HJ8Lp+O_jf_S_UZM?OvaX?L?+8&oPMj&8OzYY`@y7(6O0)#X zQ-+w65_tV!!mWlTW%4ShB*8-4-95=F!!ql6q5Y=3(JcWwls2$9pRUx?8PK*#^P{F-9Z6`IN|rB$-t|qS=b-hQ{+2c^=vQp>IP@aw z_Sb;)?O62&{f784O3~VO_GpXP&XQf)DXJ2r$?YcjC2u|K6U$itkp8m-2eppZ3NcN_ z>7lhKO+nHH`%J2z6y(ozaex!g|!&HkQchC-{f$$rz{$$uYi7%(;`9Gc? zDWc%pzb1vO#`Rs)LzByJ`%^+VID2yKy)>|@>QTIsiR@B zqXA#QjRWKV0MCIZ_<`U#UaRk^CAj6JyM(B*(IVd}Z4^H08s^+}X}vhkN_A{@o+W4f zQ6*5DKhORTFd@q>i6(7UzhR_krVSv1WNg z)W{&`)+xWowYvBCDdhxUv2=W)zLUx6dPt{-Ui%-Q)|-Vc{srzRgL314*TsL3`S&Tp zhTG8`I8X6N2(C_yF|oT6n{`uh^|Ly$e(TPvyc2^8E&h`1{Y+Ce=NO0FEbKY)7P}<7 z|180~;kXO1nNg(k2vp-(t352^?7CS*S~9q4Qe`W?@2j^Y4(~1`Mxm$yL)401q^7HC zu$XxP59N0#Cv|p4a}a7T>hRcJug(m)?|xC|73^dhhkd(QV|z^_JHMD|65i9>n6uZcSc zTA6;v9d;KZXM7oZAwP2;WJNeHHuO(tAdn2AO)@Zbxqx)p5x&`XJp;2%&j2}Q=pgq)obGdz*vRSTtPB7%{!`@pY_&uBx|n4woWaS zmOdL$8+h1!EU%pQXV~BI6V@ua#m@I%Ba%{tGmdB=5RSgoJPbx~D1rglQ_z#D0Jg?v z&n_2@9Z1g{f^fMyZz|}t6Bqy_Do09Ec*lHCHAB%Bm7Iq� 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�qjtXAI(~eS20+DkTXr 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%0D_gFVU&Pw#AKDk>>hbE1ClXgD)ebW2AyYTh- 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 z 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

    HKf(0jmJEOA) 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%0AT<{AbGMl;)kq-NL7W!Ae?$cWnS++ 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%0A+wQwP6^GnLmL(!KnVU23hB{|I?oR?er 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≀!j5E|qU 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

    T?|O@b`tI^dNOH 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 zⅆ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 JTZ^~-`ajyI^g93m literal 0 HcmV?d00001 diff --git a/static/unit/images/moin.png b/static/unit/images/moin.png new file mode 100644 index 0000000000000000000000000000000000000000..e98224fe52baa3ea104a9d9a9967063944f883af GIT binary patch literal 274320 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

    MFOGu4X|^Ur&gATgnh7`b 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

    ?Q*THym5_~1 zNKpEdqQW7G_Qea?Qt@y1%S(G&252cjoT_ANKso`x|3F9=+Ihc8e`AeXv4=wH@z4&QW&-i zWz%Fx1@ixkWiI{P`0xiyNiuJW`nHR z$?2=QX|_g@pU?4dk*@lwu5%U3kj_m>N{VzygOqePlG3GgcXw^}H__|5@9TY!<9Xlbeva?^_JQ(4 z*V=Q36vtFzmuLH6VMcVSgtklH+xJ?`@F+B!EG7jE zsxTlFDkuIb&`g^4C38RRtfkw<)fFWzEh?MEL=-zCCokA5f*5K47IS*b`P zhukm&c}+MI6B71C~~!OFe*#Uz#%^tXf1j2K?WNeJBIEZ8s2lM7Qm+v z97yIwfS(O&d&23kA!m!B00>(@()h{wp(l77ukptURIq`tR(24r|1@RD8z=NvLC@fa zJev0|72Io?L>EQ=I+aa7Ay101!T0Rm9vmX)huq6(kx`)i&WGD!y7wk#C+fY7@)89@ zAz1>~a_Hes_908?)Ws4)oR!?SHEnIqG6?eh&jpi+q%Q4gZV#cNJP`xhLUILO_A9~) zZ%AH5C9iT-lvf9qhZ4V7+*(8RQGwY#etr0`fZ6ay>7ehahVAAJYEi6SslLozhRA^d zi;Nvn8=*7vU6*#DR(?{dQeCN;JC| zf(~!!Uf6NJ7I{xcz(|+a?|Pf76<;@OUU+$h`tu%|K3~e$h3&~Hy=x}VgX4PA!?6}F zDbxZ^JQD^KKeOY@@$8tiKkIYWKA=OD+}uUz9}#H z;0@EDG_lpne^O)-xXZ`u%xwql9$)G9e6+qeS&e->RQa`%Et|vQuqmBFV%-oU&Gocl zE%EC^&6aE3%biqJ=s2DWtafeVR~2QvZ(MRiBwWrDMzog?b8U$e%ipiQmCG~e=jS>* z;jmlsf8JYLQ`17yv^U?(-wg^@(*vuk*$o-B>h7c2Qkq`e6isEGf$oh zC&wpSBbsd+MMR-k60pW}u@F1%bfazY-4%CgQ&#@|q_+ z;szy1U%>kN{S}Y=L`u3CNwwjafu5M;(0gj{9$tr_W>2(T5bAr4XohxN;Iobee)aV^ zMMcc-IsYOy)?d(#E=8N@!Gzi|K8vU2hG~S^V(IwUz*>xw`oVHWx>#=`x2~Jg($W^Z zMNPtZ{Kv2+c*3ZhPx(U5*F}OqeJFm0)NE+rRBUY^PKae$M5(G%tKI+Dl-(STS}On2 zFzeCRQ`6DBk85YYAUt$kQx=7vH%wx+OQn}zQM~Kr7Q*pjB#T914wH{Z6plLjEUYO} z7Vmjc;%IW%&QA?nr-W1NdQTFN=PHit%Ql@#uAWATD?%&1qj%kfE3Xo<$-$sS^?h4% za{uSeTqZ)Kp!ygSCf8s9pS%`3l4A)Hd|LTUTb)}j<1WzrDQf9#Ap+TNf(R7nn9ymu3DtFgd`@}uxBW}ag07qDFqA15=95Y=nNDb_MEsP z@Mwn5-p0Tw>XwO;Gna&RS7dMo>o^qj1VJ-WKH^lqIPDqBa9A8pF(tdxutl-Bzc!KI zK?LzH7Ryk!uWElR`lS<=xPs3&iCRg_qxRXp;q(mNO`F z8+q(`@Fh@7YsI$>yeUR?U)pzPceCN!@iRQc&5fX>*3T$j9;vnMPDVo?Zo>GgU5{HR zpW|VKGLXt~-|qyfBg-1seDD1&;cSva+mM|AVPtkT9 zMQD%|l;}Z4?NAZ2mM9ap4O}ZXKS>8jkP?gvH=Q}s?9E6bZ_Z@!5KWxir`0I)SFW~P zZzcYsN`)5}AMmBUniW29o!~XmiM3iz2Za$@;0 zvJ=+rxK$KK?w&4-f8u)fM0L*{*R2q}Ap@%Jk)b7$RF5r@7XDc;jLeG8bboj+vwD-{ z$0FG`uaA`{uUNto<(`{Ru9r%;PJR(92*`e-OQe}Vm20pWg9iy}X|fmKEukLh@>{;C z+QOjO=yR~p^0C(6RbxP_sjc7hF#U~k4OR!nQrU2!G z!$bJ_X_Hh}B&o1o3x3-LIKHb5Dzec6$2_@>5YM%14-YrJAMv;}T6HnSx->KzRT!cX zWCLe2Hf(I>i=b5O_fn;GP&OhNBq;+Q>wG*sxR>D|IKs!RmX7cD_7ncPQKC)-iWzQ@ zDvCS(U5U?!Lrf7fk5iwoy0ltVlqjSY^&TpIj_5X`+V?GvnO`g}EacUq{krWON3Ti3 z$F9TLB@OY(%FXrh9E$3$$OP3^{;*CMCF9le`#tA-8)#}PLwx+nSm^N6qmC{vY5bHj zr0{k$Yu#Kv6C(M&Y;vV<8F0dz4UYMB`SE#Z2kfjD1D!3JXDrxFQ8gCzVpC%#9axSY z(A>)7@DP
    &N<$DH70kFfI>l+n9WF=w{C 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�UVAkd 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

    `#i5h_&f8nEDbQzU0hjSP18%7|ws;cL(lIsk_= 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%0DL%6ij@(OX>DZad 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

    ?hlyw7!_23_%lu~VK+b4s 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

    p#C$yyJ?>i1I(*@4tqvp2 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 N*}-*N@s7s?? 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 z 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 literal 0 HcmV?d00001 diff --git a/static/unit/images/phpmyadmin.png b/static/unit/images/phpmyadmin.png new file mode 100644 index 0000000000000000000000000000000000000000..74edf94e986991c350deb52b7226b882c5f9361b GIT binary patch literal 183134 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 Civ26^*X#9sK3}ivI!D-*%SMvo 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

      ^SFzd%B4h!LuFe|WO?l0 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%0A%P$mxdmE%1K7*>7BrE1m?eWdwD7 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 Ond|B5=d#Wzp$PyG5EniG literal 0 HcmV?d00001 diff --git a/static/unit/images/rails.png b/static/unit/images/rails.png new file mode 100644 index 0000000000000000000000000000000000000000..f202a2c439c488ca2f7c33a6f590a2be5d76bfda GIT binary patch literal 664442 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

      (Appears on: -Telemetry, Tracing, +Telemetry, Tracing)

      @@ -1869,170 +1354,35 @@ Format: must have all ‘“’ escaped and must not contain any &ls -

      Telemetry - +

      TraceContext +(string alias)

      (Appears on: -NginxProxySpec) +Tracing)

      -

      Telemetry specifies the OpenTelemetry configuration.

      +

      TraceContext specifies how to propagate traceparent/tracestate headers.

      - + - - - + - + - - - + - - - - - - - -
      FieldValue Description
      -exporter
      - - -TelemetryExporter - - +

      "extract"

      TraceContextExtract uses an existing trace context from the request, so that the identifiers +of a trace and the parent span are inherited from the incoming request.

      -(Optional) -

      Exporter specifies OpenTelemetry export parameters.

      +

      "ignore"

      TraceContextIgnore skips context headers processing.

      -serviceName
      - -string - +

      "inject"

      TraceContextInject adds a new context to the request, overwriting existing headers, if any.

      -(Optional) -

      ServiceName is the “service.name” attribute of the OpenTelemetry resource. -Default is ‘ngf::’. If a value is provided by the user, -then the default becomes a prefix to that value.

      -
      -spanAttributes
      - - -[]SpanAttribute - - -
      -(Optional) -

      SpanAttributes are custom key/value attributes that are added to each span.

      -
      -

      TelemetryExporter - -

      -

      -(Appears on: -Telemetry) -

      -

      -

      TelemetryExporter specifies OpenTelemetry export parameters.

      -

      - - - - - - - - - - - - - - - - - - - - - - - - - -
      FieldDescription
      -interval
      - - -Duration - - -
      -(Optional) -

      Interval is the maximum interval between two exports. -Default: https://nginx.org/en/docs/ngx_otel_module.html#otel_exporter

      -
      -batchSize
      - -int32 - -
      -(Optional) -

      BatchSize is the maximum number of spans to be sent in one batch per worker. -Default: https://nginx.org/en/docs/ngx_otel_module.html#otel_exporter

      -
      -batchCount
      - -int32 - -
      -(Optional) -

      BatchCount is the number of pending batches per worker, spans exceeding the limit are dropped. -Default: https://nginx.org/en/docs/ngx_otel_module.html#otel_exporter

      -
      -endpoint
      - -string - -
      -

      Endpoint is the address of OTLP/gRPC endpoint that will accept telemetry data. -Format: alphanumeric hostname with optional http scheme and optional port.

      -
      -

      TraceContext -(string alias)

      -

      -

      -(Appears on: -Tracing) -

      -

      -

      TraceContext specifies how to propagate traceparent/tracestate headers.

      -

      - - - - - - - - - - - - - - - +
      ValueDescription

      "extract"

      TraceContextExtract uses an existing trace context from the request, so that the identifiers -of a trace and the parent span are inherited from the incoming request.

      -

      "ignore"

      TraceContextIgnore skips context headers processing.

      -

      "inject"

      TraceContextInject adds a new context to the request, overwriting existing headers, if any.

      -

      "propagate"

      TraceContextPropagate updates the existing context (combines extract and inject).

      +

      "propagate"

      TraceContextPropagate updates the existing context (combines extract and inject).

      @@ -2308,15 +1658,20 @@ gateway.nginx.org API group.

      Resource Types: -

      ObservabilityPolicy - +

      NginxProxy +

      -

      ObservabilityPolicy is a Direct Attached Policy. It provides a way to configure observability settings for -the NGINX Gateway Fabric data plane. Used in conjunction with the NginxProxy CRD that is attached to the -GatewayClass parametersRef.

      +

      NginxProxy is a configuration object that can be referenced from a GatewayClass parametersRef +or a Gateway infrastructure.parametersRef. It provides a way to configure data plane settings. +If referenced from a GatewayClass, the settings apply to all Gateways attached to the GatewayClass. +If referenced from a Gateway, the settings apply to that Gateway alone. If both a Gateway and its GatewayClass +reference an NginxProxy, the settings are merged. Settings specified on the Gateway NginxProxy override those +set on the GatewayClass NginxProxy.

      @@ -2341,7 +1696,7 @@ gateway.nginx.org/v1alpha2 kind
      string - + + + + + + + + + + + + + + + + + + + + +
      ObservabilityPolicyNginxProxy
      @@ -2361,74 +1716,141 @@ Refer to the Kubernetes API documentation for the fields of the spec
      - -ObservabilityPolicySpec + +NginxProxySpec
      -

      Spec defines the desired state of the ObservabilityPolicy.

      +

      Spec defines the desired state of the NginxProxy.



      -
      -tracing
      +ipFamily
      - -Tracing + +IPFamilyType
      (Optional) -

      Tracing allows for enabling and configuring tracing.

      +

      IPFamily specifies the IP family to be used by the NGINX. +Default is “dual”, meaning the server will use both IPv4 and IPv6.

      -targetRefs
      +telemetry
      - -[]sigs.k8s.io/gateway-api/apis/v1alpha2.LocalPolicyTargetReference + +Telemetry
      -

      TargetRefs identifies the API object(s) to apply the policy to. -Objects must be in the same namespace as the policy. -Support: HTTPRoute, GRPCRoute.

      -

      TargetRefs must be distinct. This means that the multi-part key defined by kind and name must -be unique across all targetRef entries in the ObservabilityPolicy.

      +(Optional) +

      Telemetry specifies the OpenTelemetry configuration.

      +
      +metrics
      + + +Metrics + + +
      +(Optional) +

      Metrics defines the configuration for Prometheus scraping metrics. Changing this value results in a +re-roll of the NGINX deployment.

      -status
      +rewriteClientIP
      - -sigs.k8s.io/gateway-api/apis/v1alpha2.PolicyStatus + +RewriteClientIP
      -

      Status defines the state of the ObservabilityPolicy.

      +(Optional) +

      RewriteClientIP defines configuration for rewriting the client IP to the original client’s IP.

      +
      +logging
      + + +NginxLogging + + +
      +(Optional) +

      Logging defines logging related settings for NGINX.

      +
      +nginxPlus
      + + +NginxPlus + + +
      +(Optional) +

      NginxPlus specifies NGINX Plus additional settings.

      +
      +disableHTTP2
      + +bool + +
      +(Optional) +

      DisableHTTP2 defines if http2 should be disabled for all servers. +If not specified, or set to false, http2 will be enabled for all servers.

      +
      +kubernetes
      + + +KubernetesSpec + + +
      +(Optional) +

      Kubernetes contains the configuration for the NGINX Deployment and Service Kubernetes objects.

      +
      -

      ObservabilityPolicySpec - +

      ObservabilityPolicy +

      -(Appears on: -ObservabilityPolicy) -

      -

      -

      ObservabilityPolicySpec defines the desired state of the ObservabilityPolicy.

      +

      ObservabilityPolicy is a Direct Attached Policy. It provides a way to configure observability settings for +the NGINX Gateway Fabric data plane. Used in conjunction with the NginxProxy CRD that is attached to the +GatewayClass parametersRef.

      @@ -2440,35 +1862,1612 @@ sigs.k8s.io/gateway-api/apis/v1alpha2.PolicyStatus + + + + + + + + + + + + + + +
      -tracing
      - - -Tracing - - +apiVersion
      +string
      + +gateway.nginx.org/v1alpha2 +
      -(Optional) -

      Tracing allows for enabling and configuring tracing.

      +kind
      +string
      ObservabilityPolicy
      -targetRefs
      +metadata
      - -[]sigs.k8s.io/gateway-api/apis/v1alpha2.LocalPolicyTargetReference + +Kubernetes meta/v1.ObjectMeta
      -

      TargetRefs identifies the API object(s) to apply the policy to. -Objects must be in the same namespace as the policy. -Support: HTTPRoute, GRPCRoute.

      -

      TargetRefs must be distinct. This means that the multi-part key defined by kind and name must +Refer to the Kubernetes API documentation for the fields of the +metadata field. +

      +spec
      + + +ObservabilityPolicySpec + + +
      +

      Spec defines the desired state of the ObservabilityPolicy.

      +
      +
      + + + + + + + + +
      +tracing
      + + +Tracing + + +
      +(Optional) +

      Tracing allows for enabling and configuring tracing.

      +
      +targetRefs
      + + +[]sigs.k8s.io/gateway-api/apis/v1alpha2.LocalPolicyTargetReference + + +
      +

      TargetRefs identifies the API object(s) to apply the policy to. +Objects must be in the same namespace as the policy. +Support: HTTPRoute, GRPCRoute.

      +

      TargetRefs must be distinct. This means that the multi-part key defined by kind and name must be unique across all targetRef entries in the ObservabilityPolicy.

      +
      +status
      + + +sigs.k8s.io/gateway-api/apis/v1alpha2.PolicyStatus + + +
      +

      Status defines the state of the ObservabilityPolicy.

      +
      +

      AgentLogLevel +(string alias)

      +

      +

      +(Appears on: +NginxLogging) +

      +

      +

      AgentLevel defines the log level of the NGINX agent process.

      +

      + + + + + + + + + + + + + + + + + + +
      ValueDescription

      "debug"

      AgentLogLevelDebug is the debug level NGINX agent logs.

      +

      "error"

      AgentLogLevelError is the error level NGINX agent logs.

      +

      "fatal"

      AgentLogLevelFatal is the fatal level NGINX agent logs.

      +

      "info"

      AgentLogLevelInfo is the info level NGINX agent logs.

      +

      "panic"

      AgentLogLevelPanic is the panic level NGINX agent logs.

      +
      +

      ContainerSpec + +

      +

      +(Appears on: +DaemonSetSpec, +DeploymentSpec) +

      +

      +

      ContainerSpec defines container fields for the NGINX container.

      +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      +debug
      + +bool + +
      +(Optional) +

      Debug enables debugging for NGINX by using the nginx-debug binary.

      +
      +image
      + + +Image + + +
      +(Optional) +

      Image is the NGINX image to use.

      +
      +resources
      + + +Kubernetes core/v1.ResourceRequirements + + +
      +(Optional) +

      Resources describes the compute resource requirements.

      +
      +lifecycle
      + + +Kubernetes core/v1.Lifecycle + + +
      +(Optional) +

      Lifecycle describes actions that the management system should take in response to container lifecycle +events. For the PostStart and PreStop lifecycle handlers, management of the container blocks +until the action is complete, unless the container process fails, in which case the handler is aborted.

      +
      +volumeMounts
      + + +[]Kubernetes core/v1.VolumeMount + + +
      +(Optional) +

      VolumeMounts describe the mounting of Volumes within a container.

      +
      +

      DaemonSetSpec + +

      +

      +(Appears on: +KubernetesSpec) +

      +

      +

      DaemonSet is the configuration for the NGINX DaemonSet.

      +

      + + + + + + + + + + + + + + + + + +
      FieldDescription
      +pod
      + + +PodSpec + + +
      +(Optional) +

      Pod defines Pod-specific fields.

      +
      +container
      + + +ContainerSpec + + +
      +(Optional) +

      Container defines container fields for the NGINX container.

      +
      +

      DeploymentSpec + +

      +

      +(Appears on: +KubernetesSpec) +

      +

      +

      Deployment is the configuration for the NGINX Deployment.

      +

      + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      +replicas
      + +int32 + +
      +(Optional) +

      Number of desired Pods.

      +
      +pod
      + + +PodSpec + + +
      +(Optional) +

      Pod defines Pod-specific fields.

      +
      +container
      + + +ContainerSpec + + +
      +(Optional) +

      Container defines container fields for the NGINX container.

      +
      +

      DisableTelemetryFeature +(string alias)

      +

      +

      +(Appears on: +Telemetry) +

      +

      +

      DisableTelemetryFeature is a telemetry feature that can be disabled.

      +

      + + + + + + + + + + +
      ValueDescription

      "DisableTracing"

      DisableTracing disables the OpenTelemetry tracing feature.

      +
      +

      ExternalTrafficPolicy +(string alias)

      +

      +

      +(Appears on: +ServiceSpec) +

      +

      +

      ExternalTrafficPolicy describes how nodes distribute service traffic they +receive on one of the Service’s “externally-facing” addresses (NodePorts, ExternalIPs, +and LoadBalancer IPs. Ignored for ClusterIP services.

      +

      + + + + + + + + + + + + +
      ValueDescription

      "Cluster"

      ExternalTrafficPolicyCluster routes traffic to all endpoints.

      +

      "Local"

      ExternalTrafficPolicyLocal preserves the source IP of the traffic by +routing only to endpoints on the same node as the traffic was received on +(dropping the traffic if there are no local endpoints).

      +
      +

      IPFamilyType +(string alias)

      +

      +

      +(Appears on: +NginxProxySpec) +

      +

      +

      IPFamilyType specifies the IP family to be used by NGINX.

      +

      + + + + + + + + + + + + + + +
      ValueDescription

      "dual"

      Dual specifies that NGINX will use both IPv4 and IPv6.

      +

      "ipv4"

      IPv4 specifies that NGINX will use only IPv4.

      +

      "ipv6"

      IPv6 specifies that NGINX will use only IPv6.

      +
      +

      Image + +

      +

      +(Appears on: +ContainerSpec) +

      +

      +

      Image is the NGINX image to use.

      +

      + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      +repository
      + +string + +
      +(Optional) +

      Repository is the image path. +Default is ghcr.io/nginx/nginx-gateway-fabric/nginx.

      +
      +tag
      + +string + +
      +(Optional) +

      Tag is the image tag to use. Default matches the tag of the control plane.

      +
      +pullPolicy
      + + +PullPolicy + + +
      +(Optional) +

      PullPolicy describes a policy for if/when to pull a container image.

      +
      +

      KubernetesSpec + +

      +

      +(Appears on: +NginxProxySpec) +

      +

      +

      KubernetesSpec contains the configuration for the NGINX Deployment and Service Kubernetes objects.

      +

      + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      +deployment
      + + +DeploymentSpec + + +
      +(Optional) +

      Deployment is the configuration for the NGINX Deployment. +This is the default deployment option.

      +
      +daemonSet
      + + +DaemonSetSpec + + +
      +(Optional) +

      DaemonSet is the configuration for the NGINX DaemonSet.

      +
      +service
      + + +ServiceSpec + + +
      +(Optional) +

      Service is the configuration for the NGINX Service.

      +
      +

      Metrics + +

      +

      +(Appears on: +NginxProxySpec) +

      +

      +

      Metrics defines the configuration for Prometheus scraping metrics.

      +

      + + + + + + + + + + + + + + + + + +
      FieldDescription
      +port
      + +int32 + +
      +(Optional) +

      Port where the Prometheus metrics are exposed.

      +
      +disable
      + +bool + +
      +(Optional) +

      Disable serving Prometheus metrics on the listen port.

      +
      +

      NginxErrorLogLevel +(string alias)

      +

      +

      +(Appears on: +NginxLogging) +

      +

      +

      NginxErrorLogLevel type defines the log level of error logs for NGINX.

      +

      + + + + + + + + + + + + + + + + + + + + + + + + +
      ValueDescription

      "alert"

      NginxLogLevelAlert is the alert level for NGINX error logs.

      +

      "crit"

      NginxLogLevelCrit is the crit level for NGINX error logs.

      +

      "debug"

      NginxLogLevelDebug is the debug level for NGINX error logs.

      +

      "emerg"

      NginxLogLevelEmerg is the emerg level for NGINX error logs.

      +

      "error"

      NginxLogLevelError is the error level for NGINX error logs.

      +

      "info"

      NginxLogLevelInfo is the info level for NGINX error logs.

      +

      "notice"

      NginxLogLevelNotice is the notice level for NGINX error logs.

      +

      "warn"

      NginxLogLevelWarn is the warn level for NGINX error logs.

      +
      +

      NginxLogging + +

      +

      +(Appears on: +NginxProxySpec) +

      +

      +

      NginxLogging defines logging related settings for NGINX.

      +

      + + + + + + + + + + + + + + + + + +
      FieldDescription
      +errorLevel
      + + +NginxErrorLogLevel + + +
      +(Optional) +

      ErrorLevel defines the error log level. Possible log levels listed in order of increasing severity are +debug, info, notice, warn, error, crit, alert, and emerg. Setting a certain log level will cause all messages +of the specified and more severe log levels to be logged. For example, the log level ‘error’ will cause error, +crit, alert, and emerg messages to be logged. https://nginx.org/en/docs/ngx_core_module.html#error_log

      +
      +agentLevel
      + + +AgentLogLevel + + +
      +(Optional) +

      AgentLevel defines the log level of the NGINX agent process. Changing this value results in a +re-roll of the NGINX deployment.

      +
      +

      NginxPlus + +

      +

      +(Appears on: +NginxProxySpec) +

      +

      +

      NginxPlus specifies NGINX Plus additional settings. These will only be applied if NGINX Plus is being used.

      +

      + + + + + + + + + + + + + +
      FieldDescription
      +allowedAddresses
      + + +[]NginxPlusAllowAddress + + +
      +(Optional) +

      AllowedAddresses specifies IPAddresses or CIDR blocks to the allow list for accessing the NGINX Plus API.

      +
      +

      NginxPlusAllowAddress + +

      +

      +(Appears on: +NginxPlus) +

      +

      +

      NginxPlusAllowAddress specifies the address type and value for an NginxPlus allow address.

      +

      + + + + + + + + + + + + + + + + + +
      FieldDescription
      +type
      + + +NginxPlusAllowAddressType + + +
      +

      Type specifies the type of address.

      +
      +value
      + +string + +
      +

      Value specifies the address value.

      +
      +

      NginxPlusAllowAddressType +(string alias)

      +

      +

      +(Appears on: +NginxPlusAllowAddress) +

      +

      +

      NginxPlusAllowAddressType specifies the type of address.

      +

      + + + + + + + + + + + + +
      ValueDescription

      "CIDR"

      NginxPlusAllowCIDRAddressType specifies that the address is a CIDR block.

      +

      "IPAddress"

      NginxPlusAllowIPAddressType specifies that the address is an IP address.

      +
      +

      NginxProxySpec + +

      +

      +(Appears on: +NginxProxy) +

      +

      +

      NginxProxySpec defines the desired state of the NginxProxy.

      +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      +ipFamily
      + + +IPFamilyType + + +
      +(Optional) +

      IPFamily specifies the IP family to be used by the NGINX. +Default is “dual”, meaning the server will use both IPv4 and IPv6.

      +
      +telemetry
      + + +Telemetry + + +
      +(Optional) +

      Telemetry specifies the OpenTelemetry configuration.

      +
      +metrics
      + + +Metrics + + +
      +(Optional) +

      Metrics defines the configuration for Prometheus scraping metrics. Changing this value results in a +re-roll of the NGINX deployment.

      +
      +rewriteClientIP
      + + +RewriteClientIP + + +
      +(Optional) +

      RewriteClientIP defines configuration for rewriting the client IP to the original client’s IP.

      +
      +logging
      + + +NginxLogging + + +
      +(Optional) +

      Logging defines logging related settings for NGINX.

      +
      +nginxPlus
      + + +NginxPlus + + +
      +(Optional) +

      NginxPlus specifies NGINX Plus additional settings.

      +
      +disableHTTP2
      + +bool + +
      +(Optional) +

      DisableHTTP2 defines if http2 should be disabled for all servers. +If not specified, or set to false, http2 will be enabled for all servers.

      +
      +kubernetes
      + + +KubernetesSpec + + +
      +(Optional) +

      Kubernetes contains the configuration for the NGINX Deployment and Service Kubernetes objects.

      +
      +

      NodePort + +

      +

      +(Appears on: +ServiceSpec) +

      +

      +

      NodePort creates a port on each node on which the NGINX data plane service is exposed. The NodePort MUST +map to a Gateway listener port, otherwise it will be ignored. If not specified, Kubernetes allocates a NodePort +automatically if required. The default NodePort range enforced by Kubernetes is 30000-32767.

      +

      + + + + + + + + + + + + + + + + + +
      FieldDescription
      +port
      + +int32 + +
      +

      Port is the NodePort to expose. +kubebuilder:validation:Minimum=1 +kubebuilder:validation:Maximum=65535

      +
      +listenerPort
      + +int32 + +
      +

      ListenerPort is the Gateway listener port that this NodePort maps to. +kubebuilder:validation:Minimum=1 +kubebuilder:validation:Maximum=65535

      +
      +

      ObservabilityPolicySpec + +

      +

      +(Appears on: +ObservabilityPolicy) +

      +

      +

      ObservabilityPolicySpec defines the desired state of the ObservabilityPolicy.

      +

      + + + + + + + + + + + + + + + + + +
      FieldDescription
      +tracing
      + + +Tracing + + +
      +(Optional) +

      Tracing allows for enabling and configuring tracing.

      +
      +targetRefs
      + + +[]sigs.k8s.io/gateway-api/apis/v1alpha2.LocalPolicyTargetReference + + +
      +

      TargetRefs identifies the API object(s) to apply the policy to. +Objects must be in the same namespace as the policy. +Support: HTTPRoute, GRPCRoute.

      +

      TargetRefs must be distinct. This means that the multi-part key defined by kind and name must +be unique across all targetRef entries in the ObservabilityPolicy.

      +
      +

      PodSpec + +

      +

      +(Appears on: +DaemonSetSpec, +DeploymentSpec) +

      +

      +

      PodSpec defines Pod-specific fields.

      +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      +terminationGracePeriodSeconds
      + +int64 + +
      +(Optional) +

      TerminationGracePeriodSeconds is the optional duration in seconds the pod needs to terminate gracefully. +Value must be non-negative integer. The value zero indicates stop immediately via +the kill signal (no opportunity to shut down). +If this value is nil, the default grace period will be used instead. +The grace period is the duration in seconds after the processes running in the pod are sent +a termination signal and the time when the processes are forcibly halted with a kill signal. +Set this value longer than the expected cleanup time for your process. +Defaults to 30 seconds.

      +
      +affinity
      + + +Kubernetes core/v1.Affinity + + +
      +(Optional) +

      Affinity is the pod’s scheduling constraints.

      +
      +nodeSelector
      + +map[string]string + +
      +(Optional) +

      NodeSelector is a selector which must be true for the pod to fit on a node. +Selector which must match a node’s labels for the pod to be scheduled on that node.

      +
      +tolerations
      + + +[]Kubernetes core/v1.Toleration + + +
      +(Optional) +

      Tolerations allow the scheduler to schedule Pods with matching taints.

      +
      +volumes
      + + +[]Kubernetes core/v1.Volume + + +
      +(Optional) +

      Volumes represents named volumes in a pod that may be accessed by any container in the pod.

      +
      +topologySpreadConstraints
      + + +[]Kubernetes core/v1.TopologySpreadConstraint + + +
      +(Optional) +

      TopologySpreadConstraints describes how a group of Pods ought to spread across topology +domains. Scheduler will schedule Pods in a way which abides by the constraints. +All topologySpreadConstraints are ANDed.

      +
      +

      PullPolicy +(string alias)

      +

      +

      +(Appears on: +Image) +

      +

      +

      PullPolicy describes a policy for if/when to pull a container image.

      +

      + + + + + + + + + + + + + + +
      ValueDescription

      "Always"

      PullAlways means that kubelet always attempts to pull the latest image. Container will fail if the pull fails.

      +

      "IfNotPresent"

      PullIfNotPresent means that kubelet pulls if the image isn’t present on disk. Container will fail if the image +isn’t present and the pull fails.

      +

      "Never"

      PullNever means that kubelet never pulls an image, but only uses a local image. Container will fail if the +image isn’t present.

      +
      +

      RewriteClientIP + +

      +

      +(Appears on: +NginxProxySpec) +

      +

      +

      RewriteClientIP specifies the configuration for rewriting the client’s IP address.

      +

      + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      +mode
      + + +RewriteClientIPModeType + + +
      +(Optional) +

      Mode defines how NGINX will rewrite the client’s IP address. +There are two possible modes: +- ProxyProtocol: NGINX will rewrite the client’s IP using the PROXY protocol header. +- XForwardedFor: NGINX will rewrite the client’s IP using the X-Forwarded-For header. +Sets NGINX directive real_ip_header: https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header

      +
      +setIPRecursively
      + +bool + +
      +(Optional) +

      SetIPRecursively configures whether recursive search is used when selecting the client’s address from +the X-Forwarded-For header. It is used in conjunction with TrustedAddresses. +If enabled, NGINX will recurse on the values in X-Forwarded-Header from the end of array +to start of array and select the first untrusted IP. +For example, if X-Forwarded-For is [11.11.11.11, 22.22.22.22, 55.55.55.1], +and TrustedAddresses is set to 55.55.55.132, NGINX will rewrite the client IP to 22.22.22.22. +If disabled, NGINX will select the IP at the end of the array. +In the previous example, 55.55.55.1 would be selected. +Sets NGINX directive real_ip_recursive: https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_recursive

      +
      +trustedAddresses
      + + +[]RewriteClientIPAddress + + +
      +(Optional) +

      TrustedAddresses specifies the addresses that are trusted to send correct client IP information. +If a request comes from a trusted address, NGINX will rewrite the client IP information, +and forward it to the backend in the X-Forwarded-For* and X-Real-IP headers. +If the request does not come from a trusted address, NGINX will not rewrite the client IP information. +To trust all addresses (not recommended for production), set to 0.0.0.0/0. +If no addresses are provided, NGINX will not rewrite the client IP information. +Sets NGINX directive set_real_ip_from: https://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from +This field is required if mode is set.

      +
      +

      RewriteClientIPAddress + +

      +

      +(Appears on: +RewriteClientIP) +

      +

      +

      RewriteClientIPAddress specifies the address type and value for a RewriteClientIP address.

      +

      + + + + + + + + + + + + + + + + + +
      FieldDescription
      +type
      + + +RewriteClientIPAddressType + + +
      +

      Type specifies the type of address.

      +
      +value
      + +string + +
      +

      Value specifies the address value.

      +
      +

      RewriteClientIPAddressType +(string alias)

      +

      +

      +(Appears on: +RewriteClientIPAddress) +

      +

      +

      RewriteClientIPAddressType specifies the type of address.

      +

      + + + + + + + + + + + + + + +
      ValueDescription

      "CIDR"

      RewriteClientIPCIDRAddressType specifies that the address is a CIDR block.

      +

      "Hostname"

      RewriteClientIPHostnameAddressType specifies that the address is a Hostname.

      +

      "IPAddress"

      RewriteClientIPIPAddressType specifies that the address is an IP address.

      +
      +

      RewriteClientIPModeType +(string alias)

      +

      +

      +(Appears on: +RewriteClientIP) +

      +

      +

      RewriteClientIPModeType defines how NGINX Gateway Fabric will determine the client’s original IP address.

      +

      + + + + + + + + + + + + +
      ValueDescription

      "ProxyProtocol"

      RewriteClientIPModeProxyProtocol configures NGINX to accept PROXY protocol and +set the client’s IP address to the IP address in the PROXY protocol header. +Sets the proxy_protocol parameter on the listen directive of all servers and sets real_ip_header +to proxy_protocol: https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header.

      +

      "XForwardedFor"

      RewriteClientIPModeXForwardedFor configures NGINX to set the client’s IP address to the +IP address in the X-Forwarded-For HTTP header. +https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header.

      +
      +

      ServiceSpec + +

      +

      +(Appears on: +KubernetesSpec) +

      +

      +

      ServiceSpec is the configuration for the NGINX Service.

      +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      +type
      + + +ServiceType + + +
      +(Optional) +

      ServiceType describes ingress method for the Service.

      +
      +externalTrafficPolicy
      + + +ExternalTrafficPolicy + + +
      +(Optional) +

      ExternalTrafficPolicy describes how nodes distribute service traffic they +receive on one of the Service’s “externally-facing” addresses (NodePorts, ExternalIPs, +and LoadBalancer IPs.

      +
      +loadBalancerIP
      + +string + +
      +(Optional) +

      LoadBalancerIP is a static IP address for the load balancer. Requires service type to be LoadBalancer.

      +
      +loadBalancerClass
      + +string + +
      +(Optional) +

      LoadBalancerClass is the class of the load balancer implementation this Service belongs to. +Requires service type to be LoadBalancer.

      +
      +loadBalancerSourceRanges
      + +[]string + +
      +(Optional) +

      LoadBalancerSourceRanges are the IP ranges (CIDR) that are allowed to access the load balancer. +Requires service type to be LoadBalancer.

      +
      +nodePorts
      + + +[]NodePort + + +
      +(Optional) +

      NodePorts are the list of NodePorts to expose on the NGINX data plane service. +Each NodePort MUST map to a Gateway listener port, otherwise it will be ignored. +The default NodePort range enforced by Kubernetes is 30000-32767.

      +
      +

      ServiceType +(string alias)

      +

      +

      +(Appears on: +ServiceSpec) +

      +

      +

      ServiceType describes ingress method for the Service.

      +

      + + + + + + + + + + + + + + +
      ValueDescription

      "ClusterIP"

      ServiceTypeClusterIP means a Service will only be accessible inside the +cluster, via the cluster IP.

      +

      "LoadBalancer"

      ServiceTypeLoadBalancer means a Service will be exposed via an +external load balancer (if the cloud provider supports it), in addition +to ‘NodePort’ type.

      +

      "NodePort"

      ServiceTypeNodePort means a Service will be exposed on one port of +every node, in addition to ‘ClusterIP’ type.

      +
      +

      Telemetry + +

      +

      +(Appears on: +NginxProxySpec) +

      +

      +

      Telemetry specifies the OpenTelemetry configuration.

      +

      + + + + + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      +disabledFeatures
      + + +[]DisableTelemetryFeature + + +
      +(Optional) +

      DisabledFeatures specifies OpenTelemetry features to be disabled.

      +
      +exporter
      + + +TelemetryExporter + + +
      +(Optional) +

      Exporter specifies OpenTelemetry export parameters.

      +
      +serviceName
      + +string + +
      +(Optional) +

      ServiceName is the “service.name” attribute of the OpenTelemetry resource. +Default is ‘ngf::’. If a value is provided by the user, +then the default becomes a prefix to that value.

      +
      +spanAttributes
      + + +[]SpanAttribute + + +
      +(Optional) +

      SpanAttributes are custom key/value attributes that are added to each span.

      +
      +

      TelemetryExporter + +

      +

      +(Appears on: +Telemetry) +

      +

      +

      TelemetryExporter specifies OpenTelemetry export parameters.

      +

      + + + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      +interval
      + + +Duration + + +
      +(Optional) +

      Interval is the maximum interval between two exports. +Default: https://nginx.org/en/docs/ngx_otel_module.html#otel_exporter

      +
      +batchSize
      + +int32 + +
      +(Optional) +

      BatchSize is the maximum number of spans to be sent in one batch per worker. +Default: https://nginx.org/en/docs/ngx_otel_module.html#otel_exporter

      +
      +batchCount
      + +int32 + +
      +(Optional) +

      BatchCount is the number of pending batches per worker, spans exceeding the limit are dropped. +Default: https://nginx.org/en/docs/ngx_otel_module.html#otel_exporter

      +
      +endpoint
      + +string + +
      +(Optional) +

      Endpoint is the address of OTLP/gRPC endpoint that will accept telemetry data. +Format: alphanumeric hostname with optional http scheme and optional port.

      +

      TraceContext diff --git a/content/ngf/reference/cli-help.md b/content/ngf/reference/cli-help.md index be11a41b5..a526ce149 100644 --- a/content/ngf/reference/cli-help.md +++ b/content/ngf/reference/cli-help.md @@ -13,14 +13,14 @@ Learn about the commands available for the executable file of the NGINX Gateway --- -## Static mode +## Controller -This command configures NGINX for a single NGINX Gateway Fabric resource. +This command runs the NGINX Gateway Fabric control plane. *Usage*: ```shell - gateway static-mode [flags] + gateway controller [flags] ``` --- @@ -33,7 +33,6 @@ This command configures NGINX for a single NGINX Gateway Fabric resource. |-------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | _gateway-ctlr-name_ | _string_ | The name of the Gateway controller. The controller name must be in the form: `DOMAIN/PATH`. The controller's domain is `gateway.nginx.org`. | | _gatewayclass_ | _string_ | The name of the GatewayClass resource. Every NGINX Gateway Fabric must have a unique corresponding GatewayClass resource. | -| _gateway_ | _string_ | The namespaced name of the Gateway resource to use. Must be of the form: `NAMESPACE/NAME`. If not specified, the control plane will process all Gateways for the configured GatewayClass. Among them, it will choose the oldest resource by creation timestamp. If the timestamps are equal, it will choose the resource that appears first in alphabetical order by {namespace}/{name}. | | _nginx-plus_ | _bool_ | Enable support for NGINX Plus. | | _gateway-api-experimental-features_ | _bool_ | Enable the experimental features of Gateway API which are supported by NGINX Gateway Fabric. Requires the Gateway APIs installed from the experimental channel. | | _config_ | _string_ | The name of the NginxGateway resource to be used for this controller's dynamic configuration. Lives in the same namespace as the controller. | @@ -41,12 +40,12 @@ This command configures NGINX for a single NGINX Gateway Fabric resource. | _metrics-disable_ | _bool_ | Disable exposing metrics in the Prometheus format (Default: `false`). | | _metrics-listen-port_ | _int_ | Sets the port where the Prometheus metrics are exposed. An integer between 1024 - 65535 (Default: `9113`) | | _metrics-secure-serving_ | _bool_ | Configures if the metrics endpoint should be secured using https. Note that this endpoint will be secured with a self-signed certificate (Default `false`). | -| _update-gatewayclass-status_ | _bool_ | Update the status of the GatewayClass resource (Default: `true`). | | _health-disable_ | _bool_ | Disable running the health probe server (Default: `false`). | | _health-port_ | _int_ | Set the port where the health probe server is exposed. An integer between 1024 - 65535 (Default: `8081`). | | _leader-election-disable_ | _bool_ | Disable leader election, which is used to avoid multiple replicas of the NGINX Gateway Fabric reporting the status of the Gateway API resources. If disabled, all replicas of NGINX Gateway Fabric will update the statuses of the Gateway API resources (Default: `false`). | | _leader-election-lock-name_ | _string_ | The name of the leader election lock. A lease object with this name will be created in the same namespace as the controller (Default: `"nginx-gateway-leader-election-lock"`). | | _product-telemetry-disable_ | _bool_ | Disable the collection of product telemetry (Default: `false`). | +| _nginx-docker-secret_ | _list_ | The name of the NGINX docker registry Secret(s). Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). | | _usage-report-secret_ | _string_ | The name of the Secret containing the JWT for NGINX Plus usage reporting. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway) | | _usage-report-endpoint_ | _string_ | The endpoint of the NGINX Plus usage reporting server. | | _usage-report-resolver_ | _string_ | The nameserver used to resolve the NGINX Plus usage reporting endpoint. Used with NGINX Instance Manager. | @@ -54,6 +53,7 @@ This command configures NGINX for a single NGINX Gateway Fabric resource. | _usage-report-ca-secret_ | _string_ | The name of the Secret containing the NGINX Instance Manager CA certificate. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway) | | _usage-report-client-ssl-secret_ | _string_ | TThe name of the Secret containing the client certificate and key for authenticating with NGINX Instance Manager. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway) | | _snippets-filters_ | _bool_ | Enable SnippetsFilters feature. SnippetsFilters allow inserting NGINX configuration into the generated NGINX config for HTTPRoute and GRPCRoute resources. | +| _nginx-scc_ | _string_ | The name of the SecurityContextConstraints to be used with the NGINX data plane Pods. Only applicable in OpenShift. | {{% /bootstrap-table %}} diff --git a/content/ngf/support.md b/content/ngf/support.md index 7ec9f3f35..29f671a44 100644 --- a/content/ngf/support.md +++ b/content/ngf/support.md @@ -1,18 +1,16 @@ --- title: Support -weight: 600 +weight: 800 toc: true -type: reference -product: NGF -docs: DOCS-1411 +nd-content-type: reference +nd-product: NGF +nd-docs: DOCS-1411 --- F5 NGINX Gateway Fabric adheres to the support policy detailed in the following knowledge base article: [K000140156](https://my.f5.com/manage/s/article/K000140156). After opening a support ticket, F5 staff will request additional information to better understand the problem. ---- - ## Kubernetes support plugin The [nginx-supportpkg-for-k8s](https://github.com/nginx/nginx-supportpkg-for-k8s) plugin collects the information needed by F5 Technical Support to assist with troubleshooting your issue. @@ -32,8 +30,6 @@ This plugin **does not** collect secrets or coredumps. Visit the [project’s GitHub repository](https://github.com/nginx/nginx-supportpkg-for-k8s) for further details. ---- - ## Support channels - If you experience issues with NGINX Gateway Fabric, please [open an issue](https://github.com/nginx/nginx-gateway-fabric/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=) in GitHub. diff --git a/content/ngf/traffic-management/_index.md b/content/ngf/traffic-management/_index.md new file mode 100644 index 000000000..d87b77402 --- /dev/null +++ b/content/ngf/traffic-management/_index.md @@ -0,0 +1,5 @@ +--- +title: "Traffic management" +url: /nginx-gateway-fabric/traffic-management/ +weight: 400 +--- diff --git a/content/ngf/how-to/traffic-management/advanced-routing.md b/content/ngf/traffic-management/advanced-routing.md similarity index 78% rename from content/ngf/how-to/traffic-management/advanced-routing.md rename to content/ngf/traffic-management/advanced-routing.md index 062d1bf9e..bfbc54bef 100644 --- a/content/ngf/how-to/traffic-management/advanced-routing.md +++ b/content/ngf/traffic-management/advanced-routing.md @@ -2,18 +2,16 @@ title: Application routes using HTTP matching conditions weight: 200 toc: true -type: how-to -product: NGF -docs: DOCS-1422 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-1422 --- Learn how to deploy multiple applications and HTTPRoutes with request conditions such as paths, methods, headers, and query parameters ---- - ## Overview -In this guide we will configure advanced routing rules for multiple applications. These rules will showcase request matching by path, headers, query parameters, and method. For an introduction to exposing your application, we recommend that you follow the [basic guide]({{< ref "/ngf/how-to/traffic-management/routing-traffic-to-your-app.md" >}}) first. +In this guide we will configure advanced routing rules for multiple applications. These rules will showcase request matching by path, headers, query parameters, and method. For an introduction to exposing your application, we recommend that you follow the [basic guide]({{< ref "/ngf/traffic-management/basic-routing.md" >}}) first. The following image shows the traffic flow that we will be creating with these rules. @@ -21,34 +19,20 @@ The following image shows the traffic flow that we will be creating with these r The goal is to create a set of rules that will result in client requests being sent to specific backends based on the request attributes. In this diagram, we have two versions of the `coffee` service. Traffic for v1 needs to be directed to the old application, while traffic for v2 needs to be directed towards the new application. We also have two `tea` services, one that handles GET operations and one that handles POST operations. Both the `tea` and `coffee` applications share the same Gateway. ---- - ## Before you begin -- [Install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric. -- Save the public IP address and port of NGINX Gateway Fabric into shell variables: - - ```text - GW_IP=XXX.YYY.ZZZ.III - GW_PORT= - ``` - -{{< note >}} In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for. {{< /note >}} - ---- +- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric. ## Coffee applications ### Deploy the Coffee applications -Begin by deploying the `coffee-v1` and `coffee-v2` applications: +Begin by deploying the `coffee-v1`, `coffee-v2` and `coffee-v3` applications: ```shell kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/examples/advanced-routing/coffee.yaml ``` ---- - ### Deploy the Gateway API Resources for the Coffee applications The [gateway](https://gateway-api.sigs.k8s.io/api-types/gateway/) resource is typically deployed by the [cluster operator](https://gateway-api.sigs.k8s.io/concepts/roles-and-personas/#roles-and-personas_1). To deploy the gateway: @@ -69,6 +53,20 @@ EOF ``` This gateway defines a single listener on port 80. Since no hostname is specified, this listener matches on all hostnames. +After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. + +Save the public IP address and port of the NGINX Service into shell variables: + +```text +GW_IP=XXX.YYY.ZZZ.III +GW_PORT= +``` + +{{< note >}} + +In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for. + +{{< /note >}} The [HTTPRoute](https://gateway-api.sigs.k8s.io/api-types/httproute/) is typically deployed by the [application developer](https://gateway-api.sigs.k8s.io/concepts/roles-and-personas/#roles-and-personas_1). To deploy the `coffee` HTTPRoute: @@ -108,6 +106,24 @@ spec: backendRefs: - name: coffee-v2-svc port: 80 + - matches: + - path: + type: PathPrefix + value: /coffee + headers: + - name: headerRegex + type: RegularExpression + value: "header-[a-z]{1}" + - path: + type: PathPrefix + value: /coffee + queryParams: + - name: queryRegex + type: RegularExpression + value: "query-[a-z]{1}" + backendRefs: + - name: coffee-v3-svc + port: 80 EOF ``` @@ -116,18 +132,25 @@ This HTTPRoute has a few important properties: - The `parentRefs` references the gateway resource that we created, and specifically defines the `http` listener to attach to, via the `sectionName` field. - `cafe.example.com` is the hostname that is matched for all requests to the backends defined in this HTTPRoute. - The first rule defines that all requests with the path prefix `/coffee` and no other matching conditions are sent to the `coffee-v1` Service. -- The second rule defines two matching conditions. If _either_ of these conditions match, requests are forwarded to the `coffee-v2` Service: +- The second rule defines two matching conditions. If *either* of these conditions match, requests are forwarded to the `coffee-v2` Service: - - Request with the path prefix `/coffee` and header `version=v2` - - Request with the path prefix `/coffee` and the query parameter `TEST=v2` + - Request with the path prefix `/coffee` and header `version=v2`. + - Request with the path prefix `/coffee` and the query parameter `TEST=v2`. - If you want both conditions to be required, you can define headers and queryParams in the same match object. + {{< note >}} The match type is `Exact` for both header and query param, by default. {{< /note >}} ---- +- The third rule defines two matching conditions. If *either* of these conditions match, requests are forwarded to the `coffee-v3` Service: + + - Request with the path prefix `/coffee` and header `HeaderRegex=Header-[a-z]{1}`. + - Request with the path prefix `/coffee` and the query parameter `QueryRegex=Query-[a-z]{1}`. + + {{< note >}} The match type used here is `RegularExpression`. A request will succeed if the header or query parameter value matches the specified regular expression. {{< /note >}} + + If you want both conditions to be required, you can define headers and queryParams in the same match object. ### Send traffic to Coffee -Using the external IP address and port for NGINX Gateway Fabric, we can send traffic to our coffee applications. +Using the external IP address and port for the NGINX Service, we can send traffic to our coffee applications. {{< note >}} If you have a DNS record allocated for `cafe.example.com`, you can send the request directly to that hostname, without needing to resolve. {{< /note >}} @@ -161,22 +184,35 @@ Server address: 10.244.0.9:8080 Server name: coffee-v2-68bd55f798-s9z5q ``` ---- +If we want our request to be routed to `coffee-v3`, then we need to meet the defined conditions. We can include a header matching the regular expression: + +```shell +curl --resolve cafe.example.com:$GW_PORT:$GW_IP http://cafe.example.com:$GW_PORT/coffee -H "headerRegex:header-a" +``` + +or include a query parameter matching the regular expression: + +```shell +curl --resolve cafe.example.com:$GW_PORT:$GW_IP http://cafe.example.com:$GW_PORT/coffee?queryRegex=query-a +``` + +Either request should result in a response from the `coffee-v3` Pod. + +```text +Server address: 10.244.0.104:8080 +Server name: coffee-v3-66d58645f4-6zsl2 +``` ## Tea applications Let's deploy a different set of applications now called `tea` and `tea-post`. These applications will have their own set of rules, but will still attach to the same gateway listener as the `coffee` apps. ---- - ### Deploy the Tea applications ```shell kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/examples/advanced-routing/tea.yaml ``` ---- - ### Deploy the HTTPRoute for the Tea services We are reusing the previous gateway for these applications, so all we need to create is the HTTPRoute. @@ -219,11 +255,9 @@ The properties of this HTTPRoute include: - The first rule defines that a POST request to the `/tea` path is routed to the `tea-post` Service. - The second rule defines that a GET request to the `/tea` path is routed to the `tea` Service. ---- - ### Send traffic to Tea -Using the external IP address and port for NGINX Gateway Fabric, we can send traffic to our tea applications. +Using the external IP address and port for the NGINX Service, we can send traffic to our tea applications. {{< note >}} If you have a DNS record allocated for `cafe.example.com`, you can send the request directly to that hostname, without needing to resolve. {{< /note >}} @@ -251,13 +285,11 @@ Server name: tea-post-b59b8596b-g586r This request should receive a response from the `tea-post` pod. Any other type of method, such as PATCH, will result in a `404 Not Found` response. ---- - ## Troubleshooting If you have any issues while sending traffic, try the following to debug your configuration and setup: -- Make sure you set the shell variables $GW_IP and $GW_PORT to the public IP and port of the NGINX Gateway Fabric service. Refer to the [Installation]({{< ref "/ngf/installation/" >}}) guides for more information. +- Make sure you set the shell variables $GW_IP and $GW_PORT to the public IP and port of the NGINX service. Refer to the [Installation]({{< ref "/ngf/install/" >}}) guides for more information. - Check the status of the Gateway: @@ -355,8 +387,6 @@ If you have any issues while sending traffic, try the following to debug your co Check for any error messages in the conditions. ---- - ## See also To learn more about the Gateway API and the resources we created in this guide, check out the following Kubernetes documentation resources: diff --git a/content/ngf/how-to/traffic-management/routing-traffic-to-your-app.md b/content/ngf/traffic-management/basic-routing.md similarity index 82% rename from content/ngf/how-to/traffic-management/routing-traffic-to-your-app.md rename to content/ngf/traffic-management/basic-routing.md index 8d405485d..41a81cc81 100644 --- a/content/ngf/how-to/traffic-management/routing-traffic-to-your-app.md +++ b/content/ngf/traffic-management/basic-routing.md @@ -2,32 +2,20 @@ title: Routing traffic to applications weight: 100 toc: true -type: how-to -product: NGF -docs: DOCS-1426 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-1426 --- Learn how to route external traffic to your Kubernetes applications using NGINX Gateway Fabric. ---- - ## Overview You can route traffic to your Kubernetes applications using the Gateway API and NGINX Gateway Fabric. Whether you're managing a web application or a REST backend API, you can use NGINX Gateway Fabric to expose your application outside the cluster. ---- - ## Before you begin -- [Install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric. -- Save the public IP address and port of NGINX Gateway Fabric into shell variables: - - ```text - GW_IP=XXX.YYY.ZZZ.III - GW_PORT= - ``` - ---- +- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric. ## Example application @@ -106,19 +94,19 @@ service/coffee ClusterIP 198.51.100.1 80/TCP 77s ## Application architecture with NGINX Gateway Fabric -To route traffic to the **coffee** application, we will create a gateway and HTTPRoute. The following diagram shows the configuration we are creating in the next step: +To route traffic to the **coffee** application, we will create a Gateway and HTTPRoute. The following diagram shows the configuration we are creating in the next step: {{}} -We need a gateway to create an entry point for HTTP traffic coming into the cluster. The **cafe** gateway we are going to create will open an entry point to the cluster on port 80 for HTTP traffic. +We need a Gateway to create an entry point for HTTP traffic coming into the cluster. The **cafe** Gateway we are going to create will open an entry point to the cluster on port 80 for HTTP traffic. -To route HTTP traffic from the gateway to the **coffee** service, we need to create an HTTPRoute named **coffee** and attach it to the gateway. This HTTPRoute will have a single routing rule that routes all traffic to the hostname "cafe.example.com" from the gateway to the **coffee** service. +To route HTTP traffic from the Gateway to the **coffee** service, we need to create an HTTPRoute named **coffee** and attach it to the Gateway. This HTTPRoute will have a single routing rule that routes all traffic to the hostname "cafe.example.com" from the Gateway to the **coffee** service. -Once NGINX Gateway Fabric processes the **cafe** gateway and **coffee** HTTPRoute, it will configure its data plane (NGINX) to route all HTTP requests sent to "cafe.example.com" to the pods that the **coffee** service targets: +Once NGINX Gateway Fabric processes the **cafe** Gateway and **coffee** HTTPRoute, it will configure a data plane (NGINX) to route all HTTP requests sent to "cafe.example.com" to the pods that the **coffee** service targets: {{Traffic Flow}} -The **coffee** service is omitted from the diagram above because the NGINX Gateway Fabric routes directly to the pods that the **coffee** service targets. +The **coffee** service is omitted from the diagram above because the NGINX Pod routes directly to the pods that the **coffee** service targets. {{< note >}}In the diagrams above, all resources that are the responsibility of the cluster operator are shown in blue. The orange resources are the responsibility of the application developers. @@ -145,11 +133,26 @@ spec: EOF ``` -This gateway is associated with the NGINX Gateway Fabric through the **gatewayClassName** field. The default installation of NGINX Gateway Fabric creates a GatewayClass with the name **nginx**. NGINX Gateway Fabric will only configure gateways with a **gatewayClassName** of **nginx** unless you change the name via the `--gatewayclass` [command-line flag]({{< ref "/ngf/reference/cli-help.md#static-mode" >}}). +After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. + +Save the public IP address and port of the NGINX Service into shell variables: + + ```text + GW_IP=XXX.YYY.ZZZ.III + GW_PORT= + ``` + +{{< note >}} + +In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for. + +{{< /note >}} + +This Gateway is associated with NGINX Gateway Fabric through the **gatewayClassName** field. The default installation of NGINX Gateway Fabric creates a GatewayClass with the name **nginx**. NGINX Gateway Fabric will only configure Gateways with a **gatewayClassName** of **nginx** unless you change the name via the `--gatewayclass` [command-line flag]({{< ref "/ngf/reference/cli-help.md#static-mode" >}}). -We specify a [listener](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.Listener) on the gateway to open an entry point on the cluster. In this case, since the coffee application accepts HTTP requests, we create an HTTP listener, named **http**, that listens on port 80. +We specify a [listener](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.Listener) on the Gateway to open an entry point on the cluster. In this case, since the coffee application accepts HTTP requests, we create an HTTP listener, named **http**, that listens on port 80. -By default, gateways only allow routes (such as HTTPRoutes) to attach if they are in the same namespace as the gateway. If you want to change this behavior, you can set +By default, Gateways only allow routes (such as HTTPRoutes) to attach if they are in the same namespace as the Gateway. If you want to change this behavior, you can set the [**allowedRoutes**](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.AllowedRoutes) field. Next you will create the HTTPRoute by copying and pasting the following into your terminal: @@ -176,7 +179,7 @@ spec: EOF ``` -To attach the **coffee** HTTPRoute to the **cafe** gateway, we specify the gateway name in the [**parentRefs**](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.CommonRouteSpec) field. The attachment will succeed if the hostnames and protocol in the HTTPRoute are allowed by at least one of the gateway's listeners. +To attach the **coffee** HTTPRoute to the **cafe** Gateway, we specify the Gateway name in the [**parentRefs**](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.CommonRouteSpec) field. The attachment will succeed if the hostnames and protocol in the HTTPRoute are allowed by at least one of the Gateway's listeners. The [**hostnames**](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.HTTPRouteSpec) field allows you to list the hostnames that the HTTPRoute matches. In this case, incoming requests handled by the **http** listener with the HTTP host header "cafe.example.com" will match this HTTPRoute and will be routed according to the rules in the spec. @@ -186,9 +189,9 @@ The [**rules**](https://gateway-api.sigs.k8s.io/references/spec/#gateway.network ## Test the configuration -To test the configuration, we will send a request to the public IP and port of NGINX Gateway Fabric that you saved in the [Before you begin](#before-you-begin) section and verify that the response comes from one of the **coffee** pods. +To test the configuration, we will send a request to the public IP and port of the NGINX Service that you saved earlier after creating the Gateway resource and verify that the response comes from one of the **coffee** pods. -{{< note >}}Your clients should be able to resolve the domain name "cafe.example.com" to the public IP of the NGINX Gateway Fabric. In this guide we will simulate that using curl's `--resolve` option. {{< /note >}} +{{< note >}}Your clients should be able to resolve the domain name "cafe.example.com" to the public IP of the NGINX Service. In this guide we will simulate that using curl's `--resolve` option. {{< /note >}} First, let's send a request to the path "/": @@ -248,7 +251,7 @@ You should receive a 404 Not Found error: If you have any issues while testing the configuration, try the following to debug your configuration and setup: -- Make sure you set the shell variables $GW_IP and $GW_PORT to the public IP and port of the NGINX Gateway Fabric Service. Refer to the [Installation]({{< ref "/ngf/installation/" >}}) guides for more information. +- Make sure you set the shell variables $GW_IP and $GW_PORT to the public IP and port of the NGINX Service. Refer to the [Installation]({{< ref "/ngf/install/" >}}) guides for more information. - Check the status of the gateway: @@ -345,7 +348,7 @@ If you have any issues while testing the configuration, try the following to deb - Check the generated nginx config: ```shell - kubectl exec -it -n nginx-gateway -c nginx -- nginx -T + kubectl exec -it -n -- nginx -T ``` The config should contain a server block with the server name "cafe.example.com" that listens on port 80. This server block should have a single location `/` that proxy passes to the coffee upstream: diff --git a/content/ngf/how-to/traffic-management/client-settings.md b/content/ngf/traffic-management/client-settings.md similarity index 81% rename from content/ngf/how-to/traffic-management/client-settings.md rename to content/ngf/traffic-management/client-settings.md index 5ccc454cd..61de5de79 100644 --- a/content/ngf/how-to/traffic-management/client-settings.md +++ b/content/ngf/traffic-management/client-settings.md @@ -1,16 +1,14 @@ --- title: Client Settings Policy API -weight: 800 -type: how-to -product: NGF toc: true -docs: DOCS-000 +weight: 800 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-000 --- Learn how to use the `ClientSettingsPolicy` API. ---- - ## Overview The `ClientSettingsPolicy` API allows Cluster Operators and Application Developers to configure the connection behavior between the client and NGINX. @@ -34,69 +32,72 @@ This guide will show you how to use the `ClientSettingsPolicy` API to configure For all the possible configuration options for `ClientSettingsPolicy`, see the [API reference]({{< ref "/ngf/reference/api.md" >}}). ---- - ## Before you begin -- [Install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric. -- Save the public IP address and port of NGINX Gateway Fabric into shell variables: +- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric. - ```text - GW_IP=XXX.YYY.ZZZ.III - GW_PORT= - ``` +Create the coffee and tea example applications: - {{< note >}}In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for.{{< /note >}} +```yaml +kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/examples/client-settings-policy/app.yaml +``` -- Create the coffee and tea example applications: +Create a Gateway: - ```yaml - kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/examples/client-settings-policy/app.yaml - ``` +```yaml +kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/examples/client-settings-policy/gateway.yaml +``` + +After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. + +Create HTTPRoutes for the coffee and tea applications: + +```yaml +kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/examples/client-settings-policy/httproutes.yaml +``` -- Create a Gateway: +Save the public IP address and port of the NGINX Service into shell variables: - ```yaml - kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/examples/client-settings-policy/gateway.yaml - ``` +```text +GW_IP=XXX.YYY.ZZZ.III +GW_PORT= +``` -- Create HTTPRoutes for the coffee and tea applications: +{{< note >}} - ```yaml - kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/examples/client-settings-policy/httproutes.yaml - ``` +In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for. -- Test the configuration: +{{< /note >}} - You can send traffic to the coffee and tea applications using the external IP address and port for NGINX Gateway Fabric. +Test the configuration: - Send a request to coffee: +You can send traffic to the coffee and tea applications using the external IP address and port for the NGINX Service. - ```shell - curl --resolve cafe.example.com:$GW_PORT:$GW_IP http://cafe.example.com:$GW_PORT/coffee - ``` +Send a request to coffee: - This request should receive a response from the coffee Pod: +```shell +curl --resolve cafe.example.com:$GW_PORT:$GW_IP http://cafe.example.com:$GW_PORT/coffee +``` - ```text - Server address: 10.244.0.9:8080 - Server name: coffee-76c7c85bbd-cf8nz - ``` +This request should receive a response from the coffee Pod: - Send a request to tea: +```text +Server address: 10.244.0.9:8080 +Server name: coffee-76c7c85bbd-cf8nz +``` - ```shell - curl --resolve cafe.example.com:$GW_PORT:$GW_IP http://cafe.example.com:$GW_PORT/tea - ``` +Send a request to tea: - This request should receive a response from the tea Pod: +```shell +curl --resolve cafe.example.com:$GW_PORT:$GW_IP http://cafe.example.com:$GW_PORT/tea +``` - ```text - Server address: 10.244.0.9:8080 - Server name: tea-76c7c85bbd-cf8nz - ``` +This request should receive a response from the tea Pod: ---- +```text +Server address: 10.244.0.9:8080 +Server name: tea-76c7c85bbd-cf8nz +``` ## Configure client max body size @@ -183,8 +184,6 @@ Server name: coffee-56b44d4c55-7ldjc You can repeat this test with the tea application to confirm that the policy affects both HTTPRoutes. ---- - ### Set a different client max body size for a route To set a different client max body size for a particular route, you can create another `ClientSettingsPolicy` that targets the route: @@ -284,8 +283,6 @@ spec: EOF ``` ---- - ## See also - [Custom policies]({{< ref "/ngf/overview/custom-policies.md" >}}): learn about how NGINX Gateway Fabric custom policies work. diff --git a/content/ngf/how-to/traffic-management/https-termination.md b/content/ngf/traffic-management/https-termination.md similarity index 92% rename from content/ngf/how-to/traffic-management/https-termination.md rename to content/ngf/traffic-management/https-termination.md index bc4253098..9c2736f5b 100644 --- a/content/ngf/how-to/traffic-management/https-termination.md +++ b/content/ngf/traffic-management/https-termination.md @@ -2,15 +2,13 @@ title: HTTPS termination weight: 500 toc: true -type: how-to -product: NGF -docs: DOCS-1421 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-1421 --- Learn how to terminate HTTPS traffic using NGINX Gateway Fabric. ---- - ## Overview In this guide, we will show how to configure HTTPS termination for your application, using an [HTTPRoute](https://gateway-api.sigs.k8s.io/api-types/httproute/) redirect filter, secret, and [ReferenceGrant](https://gateway-api.sigs.k8s.io/api-types/referencegrant/). @@ -19,24 +17,7 @@ In this guide, we will show how to configure HTTPS termination for your applicat ## Before you begin -- [Install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric. -- Save the public IP address and port of NGINX Gateway Fabric into shell variables: - - ```text - GW_IP=XXX.YYY.ZZZ.III - GW_PORT= - ``` - - Save the ports of NGINX Gateway Fabric: - - ```text - GW_HTTP_PORT= - GW_HTTPS_PORT= - ``` - -{{< note >}}In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for.{{< /note >}} - ---- +- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric. ## Set up @@ -96,8 +77,6 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/coffee ClusterIP 10.96.189.37 80/TCP 40s ``` ---- - ## Configure HTTPS termination and routing For the HTTPS, we need a certificate and key that are stored in a secret. This secret will live in a separate namespace, so we will need a ReferenceGrant in order to access it. @@ -175,6 +154,22 @@ This gateway configures: - `http` listener for HTTP traffic - `https` listener for HTTPS traffic. It terminates TLS connections using the `cafe-secret` we created. +After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. + +Save the public IP address and ports of the NGINX Service into shell variables: + + ```text + GW_IP=XXX.YYY.ZZZ.III + GW_HTTP_PORT= + GW_HTTPS_PORT= + ``` + +{{< note >}} + +In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for. + +{{< /note >}} + To create the httproute resources, copy and paste the following into your terminal: ```yaml @@ -219,11 +214,9 @@ EOF The first route issues a `requestRedirect` from the `http` listener on port 80 to `https` on port 443. The second route binds the `coffee` route to the `https` listener. ---- - ## Send traffic -Using the external IP address and port for NGINX Gateway Fabric, we can send traffic to our coffee application. +Using the external IP address and ports for the NGINX Service, we can send traffic to our coffee application. {{< note >}}If you have a DNS record allocated for `cafe.example.com`, you can send the request directly to that hostname, without needing to resolve.{{< /note >}} @@ -253,8 +246,6 @@ Server address: 10.244.0.6:80 Server name: coffee-6b8b6d6486-7fc78 ``` ---- - ## See also To learn more about redirects using the Gateway API, see the following resource: diff --git a/content/ngf/traffic-management/mirror.md b/content/ngf/traffic-management/mirror.md new file mode 100644 index 000000000..03ab98793 --- /dev/null +++ b/content/ngf/traffic-management/mirror.md @@ -0,0 +1,215 @@ +--- +title: Configure Request Mirroring +toc: true +weight: 700 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-000 +--- + +Learn how to mirror your HTTP or gRPC traffic using NGINX Gateway Fabric. + +## Overview + +[HTTPRoute](https://gateway-api.sigs.k8s.io/api-types/httproute/) and [GRPCRoute](https://gateway-api.sigs.k8s.io/api-types/grpcroute/) filters can be used to configure request mirroring. Mirroring copies a request to another backend. + +In this guide, we will set up two applications, **coffee** and **tea**, and mirror requests between them. All requests +sent to the **coffee** application will also be sent to the **tea** application automatically. + +## Before you begin + +- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric. + +## Set up + +Create the **coffee** and **tea** applications in Kubernetes by copying and pasting the following block into your terminal: + +```yaml +kubectl apply -f - < 80/TCP 3s +service/tea ClusterIP 10.96.185.235 80/TCP 3s +``` + +--- + +## Configure request mirroring + +First, create the **cafe** Gateway resource: + +```yaml +kubectl apply -f - < +``` + +{{< note >}} + +In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for. + +{{< /note >}} + +Now create an HTTPRoute that defines a RequestMirror filter that copies all requests sent to `/coffee` to be sent to the **coffee** backend and mirrored to the **tea** backend. Use the following command: + +```yaml +kubectl apply -f - <}}) first. +In this guide, we will set up the coffee application to demonstrate path URL rewriting, and the tea and soda applications to showcase path-based request redirection. For an introduction to exposing your application, we recommend that you follow the [basic guide]({{< ref "/ngf/traffic-management/basic-routing.md" >}}) first. -To see an example of a redirect using scheme and port, see the [HTTPS Termination]({{< ref "/ngf/how-to/traffic-management/https-termination.md" >}}) guide. - ---- +To see an example of a redirect using scheme and port, see the [HTTPS Termination]({{< ref "/ngf/traffic-management/https-termination.md" >}}) guide. ## Before you begin -- [Install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric. -- Save the public IP address and port of NGINX Gateway Fabric into shell variables: - - ```text - GW_IP=XXX.YYY.ZZZ.III - GW_PORT= - ``` - -{{< note >}}In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for.{{< /note >}} - ---- +- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric. ## HTTP rewrites and redirects examples We will configure a common gateway for the `URLRewrite` and `RequestRedirect` filter examples mentioned below. ---- - ### Deploy the Gateway resource for the applications The [Gateway](https://gateway-api.sigs.k8s.io/api-types/gateway/) resource is typically deployed by the [Cluster Operator](https://gateway-api.sigs.k8s.io/concepts/roles-and-personas/#roles-and-personas_1). This Gateway defines a single listener on port 80. Since no hostname is specified, this listener matches on all hostnames. To deploy the Gateway: @@ -60,14 +44,25 @@ spec: EOF ``` ---- +After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. + +Save the public IP address and port of the NGINX Service into shell variables: + +```text +GW_IP=XXX.YYY.ZZZ.III +GW_PORT= +``` + +{{< note >}} + +In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for. + +{{< /note >}} ## URLRewrite example This examples demonstrates how to rewrite the traffic URL for a simple coffee application. An HTTPRoute resource is used to define two `URLRewrite` filters that will rewrite requests. You can verify the server responds with the rewritten URL. ---- - ### Deploy the coffee application Create the **coffee** application in Kubernetes by copying and pasting the following block into your terminal: @@ -126,8 +121,6 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/coffee ClusterIP 10.96.189.37 80/TCP 40s ``` ---- - ### Configure a path rewrite The following HTTPRoute defines two filters that will rewrite requests such as the following: @@ -180,11 +173,9 @@ spec: EOF ``` ---- - ### Send traffic -Using the external IP address and port for NGINX Gateway Fabric, we can send traffic to our coffee application. +Using the external IP address and port for the NGINX Service, we can send traffic to our coffee application. {{< note >}}If you have a DNS record allocated for `cafe.example.com`, you can send the request directly to that hostname, without needing to resolve.{{< /note >}} @@ -258,14 +249,10 @@ Server name: coffee-6db967495b-twn6x URI: /prices?test=v1&test=v2 ``` ---- - ## RequestRedirect example This example demonstrates how to redirect the traffic to a new location for the tea and soda applications, using `RequestRedirect` filters. ---- - ### Setup Create the **tea** and **soda** application in Kubernetes by copying and pasting the following block into your terminal: @@ -359,8 +346,6 @@ service/soda ClusterIP 10.96.230.208 80/TCP 89m service/tea ClusterIP 10.96.151.194 80/TCP 120m ``` ---- - ### Configure a path redirect In this section, we'll define two HTTPRoutes for the tea and soda applications to demonstrate different types of request redirection using the `RequestRedirect` filter. @@ -427,11 +412,9 @@ spec: EOF ``` ---- - ### Send traffic -Using the external IP address and port for NGINX Gateway Fabric, we can send traffic to our tea and soda applications to verify the redirect is successful. We will use curl's `--include` option to print the response headers (we are interested in the `Location` header). +Using the external IP address and port for the NGINX Service, we can send traffic to our tea and soda applications to verify the redirect is successful. We will use curl's `--include` option to print the response headers (we are interested in the `Location` header). {{< note >}}If you have a DNS record allocated for `cafe.example.com`, you can send the request directly to that hostname, without needing to resolve.{{< /note >}} @@ -511,8 +494,6 @@ HTTP/1.1 302 Moved Temporarily Location: http://cafe.example.com:8080/flavors?test=v1 ``` ---- - ## See also To learn more about redirects and rewrites using the Gateway API, see the following resource: diff --git a/content/ngf/how-to/traffic-management/request-response-headers.md b/content/ngf/traffic-management/request-response-headers.md similarity index 94% rename from content/ngf/how-to/traffic-management/request-response-headers.md rename to content/ngf/traffic-management/request-response-headers.md index c4820a46c..24740cbb1 100644 --- a/content/ngf/how-to/traffic-management/request-response-headers.md +++ b/content/ngf/traffic-management/request-response-headers.md @@ -2,9 +2,9 @@ title: Modify HTTP request and response headers weight: 600 toc: true -type: how-to -product: NGF -docs: DOCS-000 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-000 --- Learn how to modify the request and response headers of your application using NGINX Gateway Fabric. @@ -13,30 +13,16 @@ Learn how to modify the request and response headers of your application using N [HTTP Header Modifiers](https://gateway-api.sigs.k8s.io/guides/http-header-modifier/?h=request#http-header-modifiers) can be used to add, modify or remove headers during the request-response lifecycle. The [RequestHeaderModifier](https://gateway-api.sigs.k8s.io/guides/http-header-modifier/#http-request-header-modifier) is used to alter headers in a request sent by client and [ResponseHeaderModifier](https://gateway-api.sigs.k8s.io/guides/http-header-modifier/#http-response-header-modifier) is used to alter headers in a response to the client. -This guide describes how to configure the headers application to modify the headers in the request. Another version of the headers application is then used to modify response headers when client requests are made. For an introduction to exposing your application, we recommend that you follow the [basic guide]({{< ref "/ngf/how-to/traffic-management/routing-traffic-to-your-app.md" >}}) first. - ---- +This guide describes how to configure the headers application to modify the headers in the request. Another version of the headers application is then used to modify response headers when client requests are made. For an introduction to exposing your application, we recommend that you follow the [basic guide]({{< ref "/ngf/traffic-management/basic-routing.md" >}}) first. ## Before you begin -- [Install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric. -- Save the public IP address and port of NGINX Gateway Fabric into shell variables: - - ```text - GW_IP=XXX.YYY.ZZZ.III - GW_PORT= - ``` - -{{< note >}} In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for .{{< /note >}} - ---- +- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric. ## HTTP Header Modifiers examples We will configure a common gateway for the `RequestHeaderModifier` and `ResponseHeaderModifier` examples mentioned below. ---- - ### Deploy the Gateway API resources for the Header application The [Gateway](https://gateway-api.sigs.k8s.io/api-types/gateway/) resource is typically deployed by the [Cluster Operator](https://gateway-api.sigs.k8s.io/concepts/roles-and-personas/#roles-and-personas_1). This Gateway defines a single listener on port 80. Since no hostname is specified, this listener matches on all hostnames. To deploy the Gateway: @@ -56,7 +42,20 @@ spec: EOF ``` ---- +After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. + +Save the public IP address and port of the NGINX Service into shell variables: + +```text +GW_IP=XXX.YYY.ZZZ.III +GW_PORT= +``` + +{{< note >}} + +In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for. + +{{< /note >}} ## RequestHeaderModifier example @@ -83,8 +82,6 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/headers ClusterIP 10.96.26.161 80/TCP 23s ``` ---- - ### Configure the HTTPRoute with RequestHeaderModifier filter Create a HTTPRoute that exposes the header application outside the cluster using the listener created in the previous section. Use the following command: @@ -136,8 +133,6 @@ This HTTPRoute has a few important properties: 1. Appends the value `compress` to the `Accept-Encoding` header and `this-is-an-appended-value` to the `My-Cool-header`. 1. Removes `User-Agent` header. ---- - ### Send traffic to the Headers application To access the application, use `curl` to send requests to the `headers` Service, which includes headers within the request. @@ -168,8 +163,6 @@ In the output above, you can see that the headers application modifies the follo - The header `My-Overwrite-Header` gets overwritten from `dont-see-this` to `this-is-the-only-value`. - The header `Accept-encoding` remains unchanged as we did not modify it in the curl request sent. ---- - ### Delete the resources Delete the headers application and HTTPRoute: another instance will be used for the next examples. @@ -182,14 +175,10 @@ kubectl delete httproutes.gateway.networking.k8s.io headers kubectl delete -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/examples/http-request-header-filter/headers.yaml ``` ---- - ## ResponseHeaderModifier example Begin by configuring an application with custom headers and a simple HTTPRoute. The server response can be observed see its headers. The next step is to modify some of the headers using HTTPRoute filters to modify responses. Finally, verify the server responds with the modified headers. ---- - ### Deploy the Headers application Begin by deploying the example application `headers`. It is a simple application that adds response headers that will be modified later. @@ -212,8 +201,6 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/headers ClusterIP 10.96.15.12 80/TCP 95s ``` ---- - ### Configure the basic HTTPRoute Create a HTTPRoute that exposes the header application outside the cluster using the listener created in the previous section. You can do this with the following command: @@ -247,8 +234,6 @@ This HTTPRoute has a few important properties: - `cafe.example.com` is the hostname that is matched for all requests to the backends defined in this HTTPRoute. - The `match` rule defines that all requests with the path prefix `/headers` are sent to the `headers` Service. ---- - ### Send traffic to the Headers application Use `curl` with the `-i` flag to access the application and include the response headers in the output: @@ -281,8 +266,6 @@ In the output above, you can see that the headers application adds the following The next section will modify these headers by adding a ResponseHeaderModifier filter to the headers HTTPRoute. ---- - ### Update the HTTPRoute to modify the Response headers Update the HTTPRoute by adding a `ResponseHeaderModifier` filter: @@ -327,8 +310,6 @@ Notice that this HTTPRoute has a `ResponseHeaderModifier` filter defined for the - Adds the value `this-is-the-appended-value` to the header `X-Header-Add`. - Removes `X-Header-Remove` header. ---- - ### Send traffic to the modified Headers application Send a curl request to the modified `headers` application to verify the response headers are modified. @@ -354,8 +335,6 @@ ok In the output above you can notice the modified response headers as the `X-Header-Unmodified` remains unchanged as we did not include it in the filter and `X-Header-Remove` header is absent. The header `X-Header-Add` gets appended with the new value and `X-Header-Set` gets overwritten to `overwritten-value` as defined in the _HttpRoute_. ---- - ## See also To learn more about the Gateway API and the resources we created in this guide, check out the following Kubernetes documentation resources: diff --git a/content/ngf/how-to/traffic-management/snippets.md b/content/ngf/traffic-management/snippets.md similarity index 97% rename from content/ngf/how-to/traffic-management/snippets.md rename to content/ngf/traffic-management/snippets.md index 543c2b917..0112d01a5 100644 --- a/content/ngf/how-to/traffic-management/snippets.md +++ b/content/ngf/traffic-management/snippets.md @@ -2,15 +2,13 @@ title: "Use the SnippetsFilter API" weight: 800 toc: true -type: how-to -product: NGF -docs: "DOCS-000" +nd-content-type: how-to +nd-product: NGF +nd-docs: "DOCS-000" --- This topic introduces Snippets, how to implement them using the `SnippetsFilter` API, and provides an example of how to use `SnippetsFilter` for rate limiting. ---- - ## Overview Snippets allow users to insert NGINX configuration into different contexts of the @@ -22,8 +20,6 @@ and only in cases where Gateway API resources or NGINX extension policies don't Users can configure Snippets through the `SnippetsFilter` API. `SnippetsFilter` can be an [HTTPRouteFilter](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter) or [GRPCRouteFilter](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GRPCRouteFilter), that can be defined in an HTTPRoute/GRPCRoute rule and is intended to modify NGINX configuration specifically for that Route rule. `SnippetsFilter` is an `extensionRef` type filter. ---- - ## Disadvantages of Snippets {{< warning >}} We recommend managing NGINX configuration through Gateway API resources, [first-class policies]({{< ref "/ngf/overview/custom-policies.md" >}}), and other existing [NGINX extensions]({{< ref "/ngf/how-to/data-plane-configuration.md" >}}) @@ -41,8 +37,6 @@ Snippets have the following disadvantages: {{< note >}} If the NGINX configuration includes an invalid Snippet, NGINX will continue to operate with the last valid configuration. No new configuration will be applied until the invalid Snippet is fixed. {{< /note >}} ---- - ## Best practices for SnippetsFilters There are endless ways to use `SnippetsFilters` to modify NGINX configuration, and equal ways to generate invalid or undesired NGINX configuration. @@ -54,25 +48,14 @@ We have outlined a few best practices to keep in mind when using `SnippetsFilter 1. In a `SnippetsFilter`, only one Snippet per NGINX context is allowed, however multiple `SnippetsFilters` can be referenced in the same routing rule. As such, `SnippetsFilters` should not conflict with each other. If `SnippetsFilters` do conflict, they should not be referenced on the same routing rule. 1. `SnippetsFilters` that define Snippets targeting NGINX contexts `main`, `http`, or `http.server`, can potentially affect more than the routing rule they are referenced by. Proceed with caution and verify the behavior of the NGINX configuration before creating those `SnippetsFilters` in a production scenario. ---- - ## Setup -- To enable Snippets, [install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric with these modifications: +- To enable Snippets, [install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric with these modifications: - Using Helm: set the `nginxGateway.snippetsFilters.enable=true` Helm value. - Using Kubernetes manifests: set the `--snippets-filters` flag in the nginx-gateway container argument, add `snippetsfilters` to the RBAC rules with verbs `list` and `watch`, and add `snippetsfilters/status` to the RBAC rules with verb `update`. See this [example manifest](https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/main/deploy/snippets-filters/deploy.yaml) for clarification. -- Save the public IP address and port of NGINX Gateway Fabric into shell variables: - - ```text - GW_IP= - GW_PORT= - ``` - - {{< note >}} In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for. {{< /note >}} - - Create the coffee and tea example applications: ```yaml @@ -85,6 +68,18 @@ We have outlined a few best practices to keep in mind when using `SnippetsFilter kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/examples/snippets-filter/gateway.yaml ``` +After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. + +- Save the public IP address and port of the NGINX Service into shell variables: + + ```text + GW_IP= + GW_PORT= + ``` + + {{< note >}} In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for. {{< /note >}} + + - Create HTTPRoutes for the coffee and tea applications: ```yaml @@ -93,7 +88,7 @@ We have outlined a few best practices to keep in mind when using `SnippetsFilter - Test the configuration: - You can send traffic to the coffee and tea applications using the external IP address and port for NGINX Gateway Fabric. + You can send traffic to the coffee and tea applications using the external IP address and port for the NGINX Service. Send a request to coffee: @@ -129,8 +124,6 @@ We have outlined a few best practices to keep in mind when using `SnippetsFilter You should see all successful responses in quick succession as we have not configured any rate limiting rules yet. ---- - ## Create Rate Limiting SnippetsFilters Configure a rate limiting `SnippetsFilter` named `rate-limiting-sf` by adding the following `SnippetsFilter`: @@ -219,8 +212,6 @@ Status: Events: ``` ---- - ## Configure coffee to reference rate-limiting-sf SnippetsFilter To use the `rate-limiting-sf` `SnippetsFilter`, update the coffee HTTPRoute to reference it: @@ -303,8 +294,6 @@ for i in `seq 1 10`; do curl --resolve cafe.example.com:$GW_PORT:$GW_IP http://c You should see all successful responses from the coffee Pod, but they should be spaced apart roughly one second each as expected through the rate limiting configuration. ---- - ## Configure tea to reference no-delay-rate-limiting-sf SnippetsFilter Update the tea HTTPRoute to reference the `no-delay-rate-limting-sf` `SnippetsFilter`: @@ -400,8 +389,6 @@ Request ID: 890c17df930ef1ef573feed3c6e81290 This is the default error response given by NGINX when the rate limit burst is exceeded, meaning our `SnippetsFilter` correctly applied our rate limiting NGINX configuration changes. ---- - ## Conclusion You've successfully used Snippets with the `SnippetsFilter` resource to configure two distinct rate limiting rules to different backend applications. @@ -414,8 +401,6 @@ This follows our recommended Role and Persona separation described in the [Best For an alternative method of modifying the NGINX configuration NGINX Gateway Fabric generates through Gateway API resources, check out our supported [first-class policies]({{< ref "/ngf/overview/custom-policies.md" >}}) which don't carry many of the aforementioned disadvantages of Snippets. ---- - ## Troubleshooting If a `SnippetsFilter` is defined in a Route and contains a Snippet which includes an invalid NGINX configuration, NGINX will continue to operate @@ -427,7 +412,7 @@ An example of an error from the NGINX Gateway Fabric `nginx-gateway` container l {"level":"error","ts":"2024-10-29T22:19:41Z","logger":"eventLoop.eventHandler","msg":"Failed to update NGINX configuration","batchID":156,"error":"failed to reload NGINX: reload unsuccessful: no new NGINX worker processes started for config version 141. Please check the NGINX container logs for possible configuration issues: context deadline exceeded","stacktrace":"github.com/nginx/nginx-gateway-fabric/internal/mode/static.(*eventHandlerImpl).HandleEventBatch\n\tgithub.amrom.workers.dev/nginx/nginx-gateway-fabric/internal/mode/static/handler.go:219\ngithub.amrom.workers.dev/nginx/nginx-gateway-fabric/internal/framework/events.(*EventLoop).Start.func1.1\n\tgithub.amrom.workers.dev/nginx/nginx-gateway-fabric/internal/framework/events/loop.go:74"} ``` -An example of an error from the NGINX Gateway Fabric `nginx` container logs: +An example of an error from the NGINX Pod's `nginx` container logs: ```text 2024/10/29 22:18:41 [emerg] 40#40: invalid number of arguments in "limit_req_zone" directive in /etc/nginx/includes/SnippetsFilter_http_default_rate-limiting-sf.conf:1 @@ -473,8 +458,6 @@ Conditions: {{< note >}} If you run into situations where an NGINX directive fails to be applied and the troubleshooting information here isn't sufficient, please create an issue in the [NGINX Gateway Fabric Github repository](https://github.com/nginx/nginx-gateway-fabric). {{< /note >}} ---- - ## See also - [API reference]({{< ref "/ngf/reference/api.md" >}}): all configuration fields for the `SnippetsFilter` API. diff --git a/content/ngf/how-to/traffic-management/tls-passthrough.md b/content/ngf/traffic-management/tls-passthrough.md similarity index 92% rename from content/ngf/how-to/traffic-management/tls-passthrough.md rename to content/ngf/traffic-management/tls-passthrough.md index 92f1c5385..82637e353 100644 --- a/content/ngf/how-to/traffic-management/tls-passthrough.md +++ b/content/ngf/traffic-management/tls-passthrough.md @@ -2,42 +2,26 @@ title: Configure TLS passthrough weight: 800 toc: true -type: how-to -product: NGF -docs: DOCS-000 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-000 --- -Learn how to use TLSRoutes to configure TLS Passthrough load-balancing with NGINX Gateway Fabric. - ---- +Learn how to use TLSRoutes to configure TLS passthrough load-balancing with NGINX Gateway Fabric. ## Overview In this guide, we will show how to configure TLS passthrough for your application, using a [TLSRoute](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.TLSRoute). ---- - ## Note on Gateway API Experimental Features {{< important >}} TLSRoute is a Gateway API resource from the experimental release channel. {{< /important >}} {{< include "/ngf/installation/install-gateway-api-experimental-features.md" >}} ---- - ## Before you begin -- [Install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric with experimental features enabled. -- Save the public IP address and port of NGINX Gateway Fabric into shell variables: - - ```text - GW_IP=XXX.YYY.ZZZ.III - GW_TLS_PORT= - ``` - -{{< note >}} In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the Gateway will forward for. {{< /note >}} - ---- +- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric with experimental features enabled. ## Set up @@ -171,6 +155,21 @@ This Gateway will configure NGINX Gateway Fabric to accept TLS connections on po {{< note >}}It is possible to add an HTTPS listener on the same port that terminates TLS connections so long as the hostname does not overlap with the TLS listener hostname.{{< /note >}} +After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. + +Save the public IP address and port of the NGINX Service into shell variables: + +```text +GW_IP=XXX.YYY.ZZZ.III +GW_TLS_PORT= +``` + +{{< note >}} + +In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the Gateway will forward for. + +{{< /note >}} + Create a TLSRoute that attaches to the Gateway and routes requests to `app.example.com` to the `secure-app` Service: ```yaml @@ -195,11 +194,9 @@ EOF {{< note >}}To route to a Service in a Namespace different from the TLSRoute Namespace, create a [ReferenceGrant](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1beta1.ReferenceGrant) to permit the cross-namespace reference. {{< /note >}} ---- - ## Send traffic -Using the external IP address and port for NGINX Gateway Fabric, send traffic to the `secure-app` application. +Using the external IP address and port for the NGINX Service, send traffic to the `secure-app` application. {{< note >}}If you have a DNS record allocated for `app.example.com`, you can send the request directly to that hostname, without needing to resolve.{{< /note >}} diff --git a/content/ngf/how-to/traffic-management/upstream-settings.md b/content/ngf/traffic-management/upstream-settings.md similarity index 91% rename from content/ngf/how-to/traffic-management/upstream-settings.md rename to content/ngf/traffic-management/upstream-settings.md index 6fd92b620..f57d4d13f 100644 --- a/content/ngf/how-to/traffic-management/upstream-settings.md +++ b/content/ngf/traffic-management/upstream-settings.md @@ -34,23 +34,7 @@ For all the possible configuration options for `UpstreamSettingsPolicy`, see the ## Before you begin -- [Install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric. -- Save the public IP address and port of NGINX Gateway Fabric into shell variables: - - ```text - GW_IP=XXX.YYY.ZZZ.III - GW_PORT= - ``` - -- Lookup the name of the NGINX Gateway Fabric pod and save into shell variable: - - ```text - NGF_POD_NAME= - ``` - - {{< note >}}In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for.{{< /note >}} - ---- +- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric. ## Setup @@ -160,6 +144,23 @@ spec: EOF ``` +After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. + +Save the public IP address and port of the NGINX Service into shell variables: + +```text +GW_IP=XXX.YYY.ZZZ.III +GW_PORT= +``` + +Lookup the name of the NGINX pod and save into shell variable: + +```text +NGINX_POD_NAME= +``` + +{{< note >}}In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for.{{< /note >}} + Create HTTPRoutes for the `coffee` and `tea` applications: ```yaml @@ -206,7 +207,7 @@ EOF Test the configuration: -You can send traffic to the `coffee` and `tea` applications using the external IP address and port for NGINX Gateway Fabric. +You can send traffic to the `coffee` and `tea` applications using the external IP address and port for the NGINX Service. Send a request to `coffee`: @@ -290,7 +291,7 @@ Events: Next, verify that the policy has been applied to the `coffee` and `tea` upstreams by inspecting the NGINX configuration: ```shell -kubectl exec -it -n nginx-gateway $NGF_POD_NAME -c nginx -- nginx -T +kubectl exec -it -n $NGINX_POD_NAME -- nginx -T ``` You should see the `zone` directive in the `coffee` and `tea` upstreams both specify the size `1m`: @@ -363,7 +364,7 @@ Events: Next, verify that the policy has been applied to the `coffee` upstreams, by inspecting the NGINX configuration: ```shell -kubectl exec -it -n nginx-gateway $NGF_POD_NAME -c nginx -- nginx -T +kubectl exec -it -n $NGINX_POD_NAME -- nginx -T ``` You should see that the `coffee` upstream has the `keepalive` directive set to 32: diff --git a/content/ngf/traffic-security/_index.md b/content/ngf/traffic-security/_index.md new file mode 100644 index 000000000..70eb63d81 --- /dev/null +++ b/content/ngf/traffic-security/_index.md @@ -0,0 +1,5 @@ +--- +title: "Traffic security" +url: /nginx-gateway-fabric/traffic-security +weight: 500 +--- \ No newline at end of file diff --git a/content/ngf/how-to/traffic-security/integrating-cert-manager.md b/content/ngf/traffic-security/integrate-cert-manager.md similarity index 98% rename from content/ngf/how-to/traffic-security/integrating-cert-manager.md rename to content/ngf/traffic-security/integrate-cert-manager.md index 751e06329..575ced75a 100644 --- a/content/ngf/how-to/traffic-security/integrating-cert-manager.md +++ b/content/ngf/traffic-security/integrate-cert-manager.md @@ -2,9 +2,9 @@ title: Secure traffic using Let's Encrypt and cert-manager weight: 100 toc: true -type: how-to -product: NGF -docs: DOCS-1425 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-1425 --- Learn how to issue and manage certificates using Let's Encrypt and cert-manager. @@ -23,9 +23,11 @@ Follow the steps in this guide to: ## Before you begin +You need: + - Administrator access to a Kubernetes cluster. - [Helm](https://helm.sh) and [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) must be installed locally. -- [NGINX Gateway Fabric deployed]({{< ref "/ngf/installation/" >}}) in the Kubernetes cluster. +- [NGINX Gateway Fabric deployed]({{< ref "/ngf/install/" >}}) in the Kubernetes cluster. - A DNS-resolvable domain name is required. It must resolve to the public endpoint of the NGINX Gateway Fabric deployment, and this public endpoint must be an external IP address or alias accessible over the internet. The process here will depend on your DNS provider. This DNS name will need to be resolvable from the Let’s Encrypt servers, which may require that you wait for the record to propagate before it will work. --- @@ -288,7 +290,7 @@ Request ID: e64c54a2ac253375ac085d48980f000a - The temporary HTTPRoute created by cert-manager routes the traffic between cert-manager and the Let's Encrypt server through NGINX Gateway Fabric. If the challenge is not successful, it may be useful to inspect the NGINX logs to see the ACME challenge requests. You should see something like the following: ```shell - kubectl logs -n nginx-gateway -c nginx + kubectl logs -n <...> 52.208.162.19 - - [15/Aug/2023:13:18:12 +0000] "GET /.well-known/acme-challenge/bXQn27Lenax2AJKmOOS523T-MWOKeFhL0bvrouNkUc4 HTTP/1.1" 200 87 "-" "cert-manager-challenges/v1.12.0 (linux/amd64) cert-manager/bd192c4f76dd883f9ee908035b894ffb49002384" 52.208.162.19 - - [15/Aug/2023:13:18:14 +0000] "GET /.well-known/acme-challenge/bXQn27Lenax2AJKmOOS523T-MWOKeFhL0bvrouNkUc4 HTTP/1.1" 200 87 "-" "cert-manager-challenges/v1.12.0 (linux/amd64) cert-manager/bd192c4f76dd883f9ee908035b894ffb49002384" diff --git a/content/ngf/how-to/traffic-security/securing-backend-traffic.md b/content/ngf/traffic-security/secure-backend.md similarity index 88% rename from content/ngf/how-to/traffic-security/securing-backend-traffic.md rename to content/ngf/traffic-security/secure-backend.md index 6ba611f17..d532bdbc3 100644 --- a/content/ngf/how-to/traffic-security/securing-backend-traffic.md +++ b/content/ngf/traffic-security/secure-backend.md @@ -2,20 +2,18 @@ title: Securing backend traffic weight: 200 toc: true -type: how-to -product: NGF -docs: DOCS-1423 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-1423 --- Learn how to encrypt HTTP traffic between NGINX Gateway Fabric and your backend pods. ---- - ## Overview -In this guide, we will show how to specify the TLS configuration of the connection from the Gateway to a backend pod/s via the Service API object using a [BackendTLSPolicy](https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/). This covers the use-case where the service or backend owner is doing their own TLS and NGINX Gateway Fabric needs to know how to connect to this backend pod that has its own certificate over HTTPS. +In this guide, we will show how to specify the TLS configuration of the connection from the Gateway to a backend pod with the Service API object using a [BackendTLSPolicy](https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/). ---- +The intended use-case is when a service or backend owner is managing their own TLS and NGINX Gateway Fabric needs to know how to connect to this backend pod that has its own certificate over HTTPS. ## Note on Gateway API Experimental Features @@ -23,21 +21,9 @@ In this guide, we will show how to specify the TLS configuration of the connecti {{< include "/ngf/installation/install-gateway-api-experimental-features.md" >}} ---- - ## Before you begin -- [Install]({{< ref "/ngf/installation/" >}}) NGINX Gateway Fabric with experimental features enabled. -- Save the public IP address and port of NGINX Gateway Fabric into shell variables: - - ```text - GW_IP=XXX.YYY.ZZZ.III - GW_PORT= - ``` - -{{< note >}}In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for.{{< /note >}} - ---- +- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric with experimental features enabled. ## Set up @@ -141,11 +127,9 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/secure-app ClusterIP 10.96.213.57 8443/TCP 9s ``` ---- - ## Configure routing rules -First, we will create the Gateway resource with an HTTP listener: +First, create the Gateway resource with an HTTP listener: ```yaml kubectl apply -f - < +``` + +{{< note >}}In a production environment, you should have a DNS record for the external IP address that is exposed, and it should refer to the hostname that the gateway will forward for.{{< /note >}} + --- ## Send Traffic without backend TLS configuration -Using the external IP address and port for NGINX Gateway Fabric, we can send traffic to our secure-app application. To show what happens if we send plain HTTP traffic from NGF to our `secure-app`, let's try sending a request before we create the backend TLS configuration. +Using the external IP address and port for the NGINX Service, we can send traffic to our secure-app application. To show what happens if we send plain HTTP traffic from NGINX to our `secure-app`, let's try sending a request before we create the backend TLS configuration. {{< note >}}If you have a DNS record allocated for `secure-app.example.com`, you can send the request directly to that hostname, without needing to resolve.{{< /note >}} @@ -216,7 +211,9 @@ We can see we a status 400 Bad Request message from NGINX. ## Create the backend TLS configuration -To configure the backend TLS terminationm, first we will create the ConfigMap that holds the `ca.crt` entry for verifying our self-signed certificates: +{{< note >}} This example uses a `ConfigMap` to store the CA certificate, but you can also use a `Secret`. This could be a better option if integrating with [cert-manager](https://cert-manager.io/). The `Secret` should have a `ca.crt` key that holds the contents of the CA certificate. {{< /note >}} + +To configure the backend TLS termination, first we will create the ConfigMap that holds the `ca.crt` entry for verifying our self-signed certificates: ```yaml kubectl apply -f - < -c nginx -- /bin/sh +kubectl exec -it -n -- /bin/sh ``` ---- - #### Logs Logs from the NGINX Gateway Fabric control plane and data plane can contain information that isn't available to status or events. These can include errors in processing or passing traffic. @@ -104,7 +94,7 @@ You can see logs for a crashed or killed container by adding the `-p` flag to th To see logs for the data plane container: ```shell - kubectl -n nginx-gateway logs -c nginx + kubectl -n logs -c nginx ``` 1. Error Logs @@ -118,13 +108,13 @@ You can see logs for a crashed or killed container by adding the `-p` flag to th For the _nginx_ container you can `grep` for various [error](https://nginx.org/en/docs/ngx_core_module.html#error_log) logs. For example, to search for all logs logged at the `emerg` level: ```shell - kubectl -n nginx-gateway logs -c nginx | grep emerg + kubectl -n logs -c nginx | grep emerg ``` For example, if a variable is too long, NGINX may display such an error message: ```text - kubectl logs -n nginx-gateway ngf-nginx-gateway-fabric-bb8598998-jwk2m -c nginx | grep emerg + kubectl logs -n dev-env gateway-nginx-bb8598998-jwk2m -c nginx | grep emerg 2024/06/13 20:04:17 [emerg] 27#27: too long parameter, probably missing terminating """ character in /etc/nginx/conf.d/http.conf:78 ``` @@ -138,8 +128,6 @@ You can see logs for a crashed or killed container by adding the `-p` flag to th To modify log levels for the control plane in NGINX Gateway Fabric, edit the `NginxGateway` configuration. This can be done either before or after deploying NGINX Gateway Fabric. Refer to this [guide](https://docs.nginx.com/nginx-gateway-fabric/how-to/control-plane-configuration/) to do so. To check error logs, modify the log level to `error` to view error logs. Similarly, change the log level to `debug` and `grep` for the word `debug` to view debug logs. ---- - #### Understanding the generated NGINX configuration Understanding the NGINX configuration is key for fixing issues because it shows how NGINX handles requests. This helps tweak settings to make sure NGINX behaves the way you want it to for your application. To see your current configuration, you can open a shell in the _nginx_ container by following these [steps](#get-shell-access-to-nginx-container) and run `nginx -T`. To understand the usage of NGINX directives in the configuration file, consult this list of [NGINX directives](https://nginx.org/en/docs/dirindex.html). @@ -158,7 +146,7 @@ server { } ``` -Once a HTTPRoute with path matches and rules are defined, nginx.conf is updated accordingly to determine which location block will manage incoming requests. To demonstrate how `nginx.conf` is changed, create some resources: +Once an HTTPRoute with path matches and rules are defined, nginx.conf is updated accordingly to determine which location block will manage incoming requests. To demonstrate how `nginx.conf` is changed, create some resources: 1. A Gateway with single listener with the hostname `*.example.com` on port 80. 2. A simple `coffee` application. @@ -284,25 +272,15 @@ Handling connection for 8080 The configuration may change in future releases. This configuration is valid for version 1.3. {{< /warning >}} ---- - #### Metrics for troubleshooting -Metrics can be useful to identify performance bottlenecks and pinpoint areas of high resource consumption within NGINX Gateway Fabric. To set up metrics collection, refer to the [Prometheus Metrics guide]({{< ref "prometheus.md" >}}). The metrics dashboard will help you understand problems with the way NGINX Gateway Fabric is set up or potential issues that could show up with time. - -For example, metrics `nginx_reloads_total` and `nginx_reload_errors_total` offer valuable insights into the system's stability and reliability. A high `nginx_reloads_total` value indicates frequent updates or configuration changes, while a high `nginx_reload_errors_total` value suggests issues with the configuration or other problems preventing successful reloads. Monitoring these metrics helps identify and resolve configuration errors, ensuring consistent service reliability. - -In such situations, it's advisable to review the logs of both NGINX and NGINX Gateway containers for any potential error messages. Additionally, verify the configured resources to ensure they are in a valid state. - ---- +Metrics can be useful to identify performance bottlenecks and pinpoint areas of high resource consumption within NGINX Gateway Fabric. To set up metrics collection, refer to the [Prometheus Metrics guide]({{< ref "/ngf/monitoring/prometheus.md" >}}). The metrics dashboard will help you understand problems with the way NGINX Gateway Fabric is set up or potential issues that could show up with time. #### Access the NGINX Plus Dashboard If you have NGINX Gateway Fabric installed with NGINX Plus, you can access the NGINX Plus dashboard at `http://localhost:8080/dashboard.html`. Verify that the port number (for example, `8080`) matches the port number you have port-forwarded to your NGINX Gateway Fabric Pod. For further details, see the [dashboard guide]({{< ref "dashboard.md" >}}) ---- - ### Common errors {{< bootstrap-table "table table-striped table-bordered" >}} @@ -312,13 +290,11 @@ Verify that the port number (for example, `8080`) matches the port number you ha | Startup | NGINX Gateway Fabric fails to start. | Check logs for _nginx_ and _nginx-gateway_ containers. | Readiness probe failed. | | Resources not configured | Status missing on resources. | Check referenced resources. | Referenced resources do not belong to NGINX Gateway Fabric. | | NGINX errors | Reload failures on NGINX | Fix permissions for control plane. | Security context not configured. | -| NGINX Plus errors | Failure to start; traffic interruptions | Set up the [NGINX Plus JWT]({{< ref "/ngf/installation/nginx-plus-jwt.md" >}}) | License is not configured or has expired. | -| Client Settings | Request entity too large error | Adjust client settings. Refer to [Client Settings Policy]({{< relref "../traffic-management/client-settings.md" >}}) | Payload is greater than the [`client_max_body_size`](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size) value.| +| NGINX Plus errors | Failure to start; traffic interruptions | Set up the [NGINX Plus JWT]({{< ref "/ngf/install/nginx-plus.md" >}}) | License is not configured or has expired. | +| Client Settings | Request entity too large error | Adjust client settings. Refer to [Client Settings Policy]({{< ref "/ngf/traffic-management/client-settings.md" >}}) | Payload is greater than the [`client_max_body_size`](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size) value.| {{< /bootstrap-table >}} ---- - ##### NGINX fails to reload NGINX reload errors can occur for various reasons, including syntax errors in configuration files, permission issues, and more. To determine if NGINX has failed to reload, check logs for your _nginx-gateway_ and _nginx_ containers. @@ -326,8 +302,6 @@ You will see the following error in the _nginx-gateway_ logs: `failed to reload To debug why your reload has failed, start with verifying the syntax of your configuration files by opening a shell in the NGINX container following these [steps](#get-shell-access-to-nginx-container) and running `nginx -T`. If there are errors in your configuration file, the reload will fail and specify the reason for it. ---- - ##### NGINX Gateway Fabric Pod is not running or ready To understand why the NGINX Gateway Fabric Pod has not started running or is not ready, check the state of the Pod to get detailed information about the current status and events happening in the Pod. To do this, use `kubectl describe`: @@ -336,62 +310,99 @@ To understand why the NGINX Gateway Fabric Pod has not started running or is not kubectl describe pod -n nginx-gateway ``` -The Pod description includes details about the image name, tags, current status, and environment variables. Verify that these details match your setup and cross-check with the events to ensure everything is functioning as expected. For example, the Pod below has two containers that are running and the events reflect the same. +The Pod description includes details about the image name, tags, current status, and environment variables. Verify that these details match your setup and cross-check with the events to ensure everything is functioning as expected. For example, the Pod below has the nginx-gateway container that is running and the events reflect the same. ```text Containers: nginx-gateway: - Container ID: containerd://06c97a9de938b35049b7c63e251418395aef65dd1ff996119362212708b79cab - Image: nginx-gateway-fabric - Image ID: docker.io/library/import-2024-06-13@sha256:1460d63bd8a352a6e455884d7ebf51ce9c92c512cb43b13e44a1c3e3e6a08918 - Ports: 9113/TCP, 8081/TCP - Host Ports: 0/TCP, 0/TCP + Container ID: containerd://492f380d5919ae2cdca0e009e7a7d5bf4092f8e1910f52d8951d58b73f125646 + Image: nginx-gateway-fabric:latest + Image ID: sha256:c034f1e5bde0490b1f2441e0e9b0bcfce5f2e259bb6210c55d4d67f808a74ecb + Ports: 8443/TCP, 9113/TCP, 8081/TCP + Host Ports: 0/TCP, 0/TCP, 0/TCP + SeccompProfile: RuntimeDefault + Args: + controller + --gateway-ctlr-name=gateway.nginx.org/nginx-gateway-controller + --gatewayclass=nginx + --config=my-release-config + --service=my-release-nginx-gateway-fabric + --agent-tls-secret=agent-tls + --metrics-port=9113 + --health-port=8081 + --leader-election-lock-name=my-release-nginx-gateway-fabric-leader-election State: Running - Started: Thu, 13 Jun 2024 11:47:46 -0600 + Started: Thu, 24 Apr 2025 10:57:16 -0700 Ready: True Restart Count: 0 Readiness: http-get http://:health/readyz delay=3s timeout=1s period=1s #success=1 #failure=3 Environment: - POD_IP: (v1:status.podIP) POD_NAMESPACE: nginx-gateway (v1:metadata.namespace) - POD_NAME: ngf-nginx-gateway-fabric-66dd665756-zh7d7 (v1:metadata.name) - nginx: - Container ID: containerd://c2f3684fd8922e4fac7d5707ab4eb5f49b1f76a48893852c9a812cd6dbaa2f55 - Image: nginx-gateway-fabric/nginx - Image ID: docker.io/library/import-2024-06-13@sha256:c9a02cb5665c6218373f8f65fc2c730f018d0ca652ae827cc913a7c6e9db6f45 - Ports: 80/TCP, 443/TCP - Host Ports: 0/TCP, 0/TCP - State: Running - Started: Thu, 13 Jun 2024 11:47:46 -0600 - Ready: True - Restart Count: 0 - Environment: + POD_NAME: my-release-nginx-gateway-fabric-b99bd5cdd-qzp5q (v1:metadata.name) + POD_UID: (v1:metadata.uid) + INSTANCE_NAME: (v1:metadata.labels['app.kubernetes.io/instance']) + IMAGE_NAME: nginx-gateway-fabric:latest + Mounts: + /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-5dg45 (ro) + /var/run/secrets/ngf from nginx-agent-tls (rw) Events: Type Reason Age From Message ---- ------ ---- ---- ------- - Normal Scheduled 40s default-scheduler Successfully assigned nginx-gateway/ngf-nginx-gateway-fabric-66dd665756-zh7d7 to kind-control-plane - Normal Pulled 40s kubelet Container image "nginx-gateway-fabric" already present on machine - Normal Created 40s kubelet Created container nginx-gateway - Normal Started 39s kubelet Started container nginx-gateway - Normal Pulled 39s kubelet Container image "nginx-gateway-fabric/nginx" already present on machine - Normal Created 39s kubelet Created container nginx - Normal Started 39s kubelet Started container nginx + Normal Scheduled 22s default-scheduler Successfully assigned nginx-gateway/my-release-nginx-gateway-fabric-b99bd5cdd-qzp5q to kind-control-plane + Normal Pulled 20s kubelet Container image "nginx-gateway-fabric:latest" already present on machine + Normal Created 20s kubelet Created container: nginx-gateway + Normal Started 20s kubelet Started container nginx-gateway ``` ---- - -##### Insufficient Privileges errors - -Depending on your environment's configuration, the control plane may not have the proper permissions to reload NGINX. The NGINX configuration will not be applied and you will see the following error in the _nginx-gateway_ logs: +##### NGINX Pod is not running or ready -`failed to reload NGINX: failed to send the HUP signal to NGINX main: operation not permitted` +To understand why the NGINX Pod has not started running or is not ready, check the state of the Pod to get detailed information about the current status and events happening in the Pod. To do this, use `kubectl describe`: -To **resolve** this issue you will need to set `allowPrivilegeEscalation` to `true`. +```shell +kubectl describe pod -n +``` -- If using Helm, you can set the `nginxGateway.securityContext.allowPrivilegeEscalation` value. -- If using the manifests directly, you can update this field under the `nginx-gateway` container's `securityContext`. +The Pod description includes details about the image name, tags, current status, and environment variables. Verify that these details match your setup and cross-check with the events to ensure everything is functioning as expected. For example, the Pod below has the nginx container that is running and the events reflect the same. ---- +```text +Containers: + nginx: + Container ID: containerd://0dd33fd358ba3b369de315be15b197e369342aba7aa8d3ea12e4455823fa90ce + Image: nginx-gateway-fabric/nginx:latest + Image ID: sha256:e5cb19bab49cbde6222df607a0946e1e00c1af767263b79ae36e4c69f8547f20 + Ports: 80/TCP, 9113/TCP + Host Ports: 0/TCP, 0/TCP + SeccompProfile: RuntimeDefault + State: Running + Started: Thu, 24 Apr 2025 10:57:36 -0700 + Ready: True + Restart Count: 0 + Environment: + Mounts: + /etc/nginx-agent from nginx-agent (rw) + /etc/nginx/conf.d from nginx-conf (rw) + /etc/nginx/includes from nginx-includes (rw) + /etc/nginx/main-includes from nginx-main-includes (rw) + /etc/nginx/secrets from nginx-secrets (rw) + /etc/nginx/stream-conf.d from nginx-stream-conf (rw) + /var/cache/nginx from nginx-cache (rw) + /var/lib/nginx-agent from nginx-agent-lib (rw) + /var/log/nginx-agent from nginx-agent-log (rw) + /var/run/nginx from nginx-run (rw) + /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-f9kph (ro) + /var/run/secrets/ngf from nginx-agent-tls (rw) + /var/run/secrets/ngf/serviceaccount from token (rw) +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Scheduled 2m57s default-scheduler Successfully assigned default/gateway-nginx-85f7f6d7d-fx7q2 to kind-control-plane + Normal Pulled 2m54s kubelet Container image "nginx-gateway-fabric:latest" already present on machine + Normal Created 2m54s kubelet Created container: init + Normal Started 2m54s kubelet Started container init + Normal Pulled 2m53s kubelet Container image "nginx-gateway-fabric/nginx:latest" already present on machine + Normal Created 2m53s kubelet Created container: nginx + Normal Started 2m53s kubelet Started container nginx +``` ##### NGINX Plus failure to start or traffic interruptions @@ -409,9 +420,7 @@ nginx: [emerg] License file is required. Download JWT license from MyF5 and conf nginx: [emerg] license expired ``` -These errors could prevent NGINX Plus from starting or prevent traffic from flowing. To fix these issues, see the [NGINX Plus JWT]({{< ref "/ngf/installation/nginx-plus-jwt.md" >}}) guide. - ---- +These errors could prevent NGINX Plus from starting or prevent traffic from flowing. To fix these issues, see the [NGINX Plus JWT]({{< ref "/ngf/install/nginx-plus.md" >}}) guide. ##### 413 Request Entity Too Large @@ -434,9 +443,7 @@ Or view the following error message in the NGINX logs: ``` The request body exceeds the [client_max_body_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size). -To **resolve** this, you can configure the `client_max_body_size` using the `ClientSettingsPolicy` API. Read the [Client Settings Policy]({{< ref "/ngf/how-to/traffic-management/client-settings.md" >}}) documentation for more information. - ---- +To **resolve** this, you can configure the `client_max_body_size` using the `ClientSettingsPolicy` API. Read the [Client Settings Policy]({{< ref "/ngf/traffic-management/client-settings.md" >}}) documentation for more information. ##### IP Family Mismatch Errors @@ -472,8 +479,6 @@ To **resolve** this, you can do one of the following: - Adjust the IPFamily of your Service to match that of the NginxProxy configuration. ---- - ##### Policy cannot be applied to target If you `describe` your Policy and see the following error: @@ -493,8 +498,6 @@ This means you are attempting to attach a Policy to a Route that has an overlapp - Combine the Route rules for the overlapping path into a single Route. - If the Policy allows it, specify both Routes in the `targetRefs` list. ---- - ##### Broken Header error If you check your _nginx_ container logs and see the following error: @@ -509,8 +512,6 @@ It indicates that `proxy_protocol` is enabled for the gateway listeners, but the - Send valid proxy information with requests being handled by your application. ---- - ### See also You can view the [Kubernetes Troubleshooting Guide](https://kubernetes.io/docs/tasks/debug/debug-application/) for more debugging guidance. diff --git a/go.sum b/go.sum index e54ae2fb6..d4f5dc928 100644 --- a/go.sum +++ b/go.sum @@ -1,8 +1,2 @@ -github.com/nginxinc/nginx-hugo-theme v0.42.1 h1:SYj7R7fKPYwtbQobTcJWy/ZWQxa5tlHCSJfU2dxYXxY= -github.com/nginxinc/nginx-hugo-theme v0.42.1/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= -github.com/nginxinc/nginx-hugo-theme v0.42.27 h1:D80Sf/o9lR4P0NDFfP/hCQllohz6C5qlJ4nGNfdfnqM= -github.com/nginxinc/nginx-hugo-theme v0.42.27/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= -github.com/nginxinc/nginx-hugo-theme v0.42.28 h1:1SGzBADcXnSqP4rOKEhlfEUloopH6UvMg+XTyVVQyjU= -github.com/nginxinc/nginx-hugo-theme v0.42.28/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= github.com/nginxinc/nginx-hugo-theme v0.42.36 h1:vFBavxB+tw2fs0rLTpA3kYPMdBK15LtZkfkX21kzrDo= github.com/nginxinc/nginx-hugo-theme v0.42.36/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= diff --git a/layouts/shortcodes/version-ngf.html b/layouts/shortcodes/version-ngf.html index 308b6faa7..359a5b952 100644 --- a/layouts/shortcodes/version-ngf.html +++ b/layouts/shortcodes/version-ngf.html @@ -1 +1 @@ -1.6.2 \ No newline at end of file +2.0.0 \ No newline at end of file diff --git a/static/ngf/grafana-dashboard.json b/static/ngf/grafana-dashboard.json index 0c3c40392..fbd5f2963 100644 --- a/static/ngf/grafana-dashboard.json +++ b/static/ngf/grafana-dashboard.json @@ -21,7 +21,6 @@ "graphTooltip": 0, "id": 1, "links": [], - "liveNow": false, "panels": [ { "collapsed": false, @@ -31,7 +30,7 @@ "x": 0, "y": 0 }, - "id": 5, + "id": 13, "panels": [], "title": "Status", "type": "row" @@ -44,69 +43,79 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "palette-classic" }, - "mappings": [ - { - "options": { - "0": { - "index": 0, - "text": "Down" - }, - "1": { - "index": 1, - "text": "Up" - } - }, - "type": "value" + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" } - ], + }, + "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { - "color": "semi-dark-red", + "color": "green", "value": null }, { - "color": "#EAB839", - "value": 1 - }, - { - "color": "semi-dark-green", - "value": 1 + "color": "red", + "value": 80 } ] - }, - "unit": "none", - "unitScale": true + } }, "overrides": [] }, "gridPos": { - "h": 4, - "w": 6, + "h": 8, + "w": 12, "x": 0, "y": 1 }, - "id": 3, + "id": 12, "options": { - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "tooltip": { + "hideZeros": false, + "mode": "single", + "sort": "none" + } }, - "pluginVersion": "10.3.3", + "pluginVersion": "11.5.2", "targets": [ { "datasource": { @@ -115,38 +124,23 @@ }, "disableTextWrap": false, "editorMode": "builder", - "expr": "nginx_gateway_fabric_up{instance=~\"$instance\"}", + "expr": "up{instance=~\"$ngf_instance\"}", "fullMetaSearch": false, "includeNullMetadata": true, - "instant": false, "legendFormat": "", "range": true, "refId": "A", "useBackend": false } ], - "title": "NGINX Status for $instance", - "type": "stat" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 5 - }, - "id": 6, - "panels": [], - "title": "Metrics", - "type": "row" + "title": "NGF Status", + "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, - "description": "", "fieldConfig": { "defaults": { "color": { @@ -156,11 +150,12 @@ "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", - "axisLabel": "Connections (rate)", + "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", - "fillOpacity": 10, + "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, @@ -170,7 +165,7 @@ "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, - "pointSize": 1, + "pointSize": 5, "scaleDistribution": { "type": "linear" }, @@ -191,21 +186,23 @@ { "color": "green", "value": null + }, + { + "color": "red", + "value": 80 } ] - }, - "unit": "reqps", - "unitScale": true + } }, "overrides": [] }, "gridPos": { - "h": 10, + "h": 8, "w": 12, - "x": 0, - "y": 6 + "x": 12, + "y": 1 }, - "id": 1, + "id": 14, "options": { "legend": { "calcs": [], @@ -214,10 +211,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "single", "sort": "none" } }, + "pluginVersion": "11.5.2", "targets": [ { "datasource": { @@ -225,34 +224,33 @@ "uid": "${DS_PROMETHEUS}" }, "disableTextWrap": false, - "editorMode": "code", - "expr": "irate(nginx_gateway_fabric_connections_accepted{instance=~\"$instance\"}[1m])", + "editorMode": "builder", + "expr": "up{instance=~\"$nginx_instance\"}", + "format": "time_series", "fullMetaSearch": false, - "includeNullMetadata": false, - "instant": false, - "interval": "", - "legendFormat": "{{instance}} accepted", + "includeNullMetadata": true, + "legendFormat": "", "range": true, "refId": "A", "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editorMode": "code", - "expr": "irate(nginx_gateway_fabric_connections_handled{instance=~\"$instance\"}[1m])", - "hide": false, - "instant": false, - "legendFormat": "{{instance}} handled", - "range": true, - "refId": "B" } ], - "title": "Processed Connections", + "title": "NGINX Status for All", "type": "timeseries" }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 6, + "panels": [], + "title": "Metrics", + "type": "row" + }, { "datasource": { "type": "prometheus", @@ -271,6 +269,7 @@ "axisLabel": "Connections", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -306,16 +305,15 @@ } ] }, - "unit": "short", - "unitScale": true + "unit": "short" }, "overrides": [] }, "gridPos": { "h": 10, "w": 12, - "x": 12, - "y": 6 + "x": 0, + "y": 10 }, "id": 4, "options": { @@ -326,64 +324,83 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "single", "sort": "none" } }, + "pluginVersion": "11.5.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, - "editorMode": "code", - "expr": "nginx_gateway_fabric_connections_active{instance=~\"$instance\"}", + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "irate(nginx_http_connection_count_connections{instance=~\"$nginx_instance\", nginx_connections_outcome=\"ACTIVE\"}[1m])", + "fullMetaSearch": false, + "includeNullMetadata": true, "instant": false, "legendFormat": "{{instance}} active", "range": true, - "refId": "A" + "refId": "A", + "useBackend": false }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, - "editorMode": "code", - "expr": "nginx_gateway_fabric_connections_reading{instance=~\"$instance\"}", + "disableTextWrap": false, + "editorMode": "builder", + "expr": "irate(nginx_http_connection_count_connections{instance=~\"$nginx_instance\", nginx_connections_outcome=\"READING\"}[1m])", + "fullMetaSearch": false, "hide": false, + "includeNullMetadata": true, "instant": false, "legendFormat": "{{instance}} reading", "range": true, - "refId": "B" + "refId": "B", + "useBackend": false }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, - "editorMode": "code", - "expr": "nginx_gateway_fabric_connections_waiting{instance=~\"$instance\"}", + "disableTextWrap": false, + "editorMode": "builder", + "expr": "irate(nginx_http_connection_count_connections{instance=~\"$nginx_instance\", nginx_connections_outcome=\"WAITING\"}[1m])", + "fullMetaSearch": false, "hide": false, + "includeNullMetadata": true, "instant": false, "legendFormat": "{{instance}} waiting", "range": true, - "refId": "C" + "refId": "C", + "useBackend": false }, { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, - "editorMode": "code", - "expr": "nginx_gateway_fabric_connections_writing{instance=~\"$instance\"}", + "disableTextWrap": false, + "editorMode": "builder", + "expr": "irate(nginx_http_connection_count_connections{instance=~\"$nginx_instance\", nginx_connections_outcome=\"WRITING\"}[1m])", + "fullMetaSearch": false, "hide": false, + "includeNullMetadata": true, "instant": false, "legendFormat": "{{instance}} writing", "range": true, - "refId": "D" + "refId": "D", + "useBackend": false } ], - "title": "Active Connections", + "title": "NGINX Active Connections", "type": "timeseries" }, { @@ -403,8 +420,9 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", - "fillOpacity": 10, + "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, @@ -414,7 +432,7 @@ "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, - "pointSize": 1, + "pointSize": 5, "scaleDistribution": { "type": "linear" }, @@ -435,21 +453,23 @@ { "color": "green", "value": null + }, + { + "color": "red", + "value": 80 } ] - }, - "unit": "reqps", - "unitScale": true + } }, "overrides": [] }, "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 16 + "h": 10, + "w": 12, + "x": 12, + "y": 10 }, - "id": 2, + "id": 11, "options": { "legend": { "calcs": [], @@ -458,10 +478,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "single", "sort": "none" } }, + "pluginVersion": "11.5.2", "targets": [ { "datasource": { @@ -470,17 +492,29 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "irate(nginx_gateway_fabric_http_requests_total{instance=~\"$instance\"}[1m])", + "expr": "irate(nginx_http_connections_total{instance=~\"$nginx_instance\", nginx_connections_outcome=\"ACCEPTED\"}[1m])", "fullMetaSearch": false, - "includeNullMetadata": false, - "instant": false, - "legendFormat": "{{instance}} total requests", + "includeNullMetadata": true, + "legendFormat": "{{instance}} accepted", "range": true, "refId": "A", "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "irate(nginx_http_connections_total{instance=~\"$nginx_instance\", nginx_connections_outcome=\"HANDLED\"}[1m])", + "hide": false, + "instant": false, + "legendFormat": "{{instance}} handled", + "range": true, + "refId": "B" } ], - "title": "Total Requests", + "title": "NGINX Processed Connections", "type": "timeseries" }, { @@ -500,6 +534,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -535,17 +570,17 @@ } ] }, - "unitScale": true + "unit": "reqps" }, "overrides": [] }, "gridPos": { "h": 8, - "w": 12, + "w": 24, "x": 0, - "y": 24 + "y": 20 }, - "id": 8, + "id": 2, "options": { "legend": { "calcs": [], @@ -554,11 +589,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "single", "sort": "none" } }, - "pluginVersion": "10.3.3", + "pluginVersion": "11.5.2", "targets": [ { "datasource": { @@ -566,185 +602,24 @@ "uid": "${DS_PROMETHEUS}" }, "disableTextWrap": false, - "editorMode": "code", - "expr": "irate(nginx_gateway_fabric_nginx_reloads_total{instance=~\"$instance\"}[1m])", + "editorMode": "builder", + "expr": "irate(nginx_http_requests_total{instance=~\"$nginx_instance\"}[1m])", "fullMetaSearch": false, "includeNullMetadata": false, "instant": false, - "legendFormat": "{{instance}}", + "legendFormat": "{{instance}} total requests", "range": true, "refId": "A", "useBackend": false } ], - "title": "Total NGINX Reloads Rate", + "title": "Total Requests", "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 1 - } - ] - }, - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 24 - }, - "id": 9, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "10.3.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "nginx_gateway_fabric_nginx_reload_errors_total{instance=~\"$instance\"}", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "{{instance}}", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Total NGINX Reload Errors", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ - { - "options": { - "0": { - "color": "semi-dark-green", - "index": 0, - "text": "Up to date" - }, - "1": { - "color": "semi-dark-red", - "index": 1, - "text": "Stale" - } - }, - "type": "value" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "semi-dark-red", - "value": 1 - } - ] - }, - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 24 - }, - "id": 10, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "10.3.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "nginx_gateway_fabric_nginx_stale_config{instance=~\"$instance\"}", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "NGINX Config State", - "type": "stat" } ], + "preload": false, "refresh": "5s", - "schemaVersion": 39, + "schemaVersion": 40, "tags": [ "nginx-gateway-fabric" ], @@ -752,26 +627,45 @@ "list": [ { "current": { - "selected": false, - "text": "default", - "value": "default" + "text": "prometheus", + "value": "aeeumt3huyhogd" }, - "hide": 0, "includeAll": false, "label": "datasource", - "multi": false, "name": "DS_PROMETHEUS", "options": [], "query": "prometheus", - "queryValue": "", "refresh": 1, "regex": "", - "skipUrlSync": false, "type": "datasource" }, { "current": { - "selected": true, + "text": "All", + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "definition": "label_values(nginx_http_connections_total,instance)", + "includeAll": true, + "multi": true, + "name": "nginx_instance", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(nginx_http_connections_total,instance)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "type": "query" + }, + { + "current": { "text": [ "All" ], @@ -783,33 +677,31 @@ "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, - "definition": "label_values(nginx_gateway_fabric_up,instance)", - "hide": 0, + "definition": "label_values(nginx_gateway_fabric_event_batch_processing_milliseconds_sum,instance)", "includeAll": true, + "label": "ngf_instance", "multi": true, - "name": "instance", + "name": "ngf_instance", "options": [], "query": { "qryType": 1, - "query": "label_values(nginx_gateway_fabric_up,instance)", + "query": "label_values(nginx_gateway_fabric_event_batch_processing_milliseconds_sum,instance)", "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "regex": "", - "skipUrlSync": false, - "sort": 0, "type": "query" } ] }, "time": { - "from": "now-15m", + "from": "now-5m", "to": "now" }, "timepicker": {}, "timezone": "", "title": "NGINX Gateway Fabric", "uid": "cdb1c6f6-7c77-4cee-a177-593f41364dbe", - "version": 1, + "version": 5, "weekStart": "" -} +} \ No newline at end of file diff --git a/static/ngf/img/ngf-high-level.png b/static/ngf/img/ngf-high-level.png deleted file mode 100644 index 6f2bef6f055d5c908d7d3834519376ad2a9972e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138656 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

      MSTL;|Gj^dh-5j+R7QX%z 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�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

      ExGgIZh2KyhNhbtMBw(q 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%0A`8Qw~fwBtrRGC@kRdvCwW!%_bIr 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

      a9z}u}L29^~#$+cqK{$ z88uWqh1NrqhMQ|SQC-+n7@%&axW(?P@)w+q@{KbDA4IqLHC7fIUM7}QuF4RMT zQuB9|AnFAnW`vLY<3P?l$GS833?E+x=GX#^eFB{8un~y@@C=@D8SA*XorO!E&N_}D z4+n0xc?wFn=*WQg5Gy-$nua5V&iAHuVGuvqnXK+70IvvH{zRf1eAx?FZr33yrgPvg zIdTS{Rt-P_EMg`j^drdO2H**OBf>zs470~H6ntC3CF+eKB1S~iYPgSt)YLN&d2Ntq zp0G$4HyEkIXQWQ4#&Wpy;apHK3Y^VD2z0`^0;drlNH1r0W07DQu=1hqOm)lA~Z}l zA{i6$z6~(qmi|5JloCs_4%lcQTG^4kK*zd9_9-1Yk_;f)C#5<*eG6AyY|r)zor^GS z@CK90!%}bBAOnXkBx=aC=ERn$VplIgqIFKd@jflD^+)CK+Wxx3+Ab=`7FLZDRwsy6 zb>6X|*4mC@lPKT3p64=r?>2d9z1qkjM7a|V%GeDW#A z1LL&^r?ANnyTWfp37!_xJBQKxX4-bRxkv4)+SY@tYMr6ir5Yv!TT7&>9WSfRGD#n! zv}38m7jsd=li zG9;Nzp_$607Js<*@`*c*yfeYim_=IXO0&bQDl>U>O?fMk(NAWl&TyZ*S;MX|+sRP$ zo0t}mS~H_C3y zvQXe?Yfa^IGk#?lu^ixVo*ps@w}G*!I$01q&j~rehc^&cn=NK!#Qge=8+6FBX1BZD z_E)`mQ|;>2#}xw6TQ+Zwem)#DAkbi?J_C6j4g$%JwCbEfe-npWg+y5F4A-Vjn`nI` z62yB(84LGuUSRn;ZoEIcC=D2FO{lz7F)B^%l9j_GYY=@DlZScp1iHD zsXJJlhzZl#p2^vvRcK{Gd7AC*=!+|Shc!{sGxqQ%e>%Hm@~L!;e`LVVAwHPzqiJEI zvpe*=DaE#OmdQN73L}Cr{{Ee3MF;ok{mcYYcvu z@7^gfV3uS3{o%NYB`hkPV5>S=?z*KXhiCR*p2e^ctJ?2HvV`KybSC`tbQ^vO2X4GK9wZ z^p~e&)gWMMBYAuKACoaWa0!{2U+%;d*i`H_CK3wrcsid|bc>9A z(39;Bv$v-7eeMYusj?RYP;Nh}ieI$dVO5pEG{2HLc9HbU@;^ReyrVk9DzXC(sT8KA2UvpfofZ6)> z>(~A^R;iv4I!kQLCr|u@vl7mx947qJ1JvW%b$de31{Yms!5@%gRQ-==#91^7@ezMfg6OI)RTxwJOt&oyE?1IjbGx zjba>qIlOa^x7g)%X13RzQ~V=_de3g$Nr3;{Efw-6H+MI-YQln)(7@%pFGv+w+$zqm zVGislVb~>*7rue8F#dj11tWH*ZYPt^b5j5UtX}&*UjOzWkJ|U$V|L^_Ehzox5bdAl zNd9EVxr~5OrNA&3+^^iF94Bo6)+e0XSYZlw$S736hfB3=ZSmZRzd_AG9Qqp~%zu#0>foqGCoYZ(Mq%in#E%>pX7fS?#~rMj0_`GdyT zEGR$HpmjoO7-tx;O8>N-vystkjq@5U{X9XuAszpnYDb9I?W&ez>u!*!UES>2NGFhgxeO4_OB7H3 z&8?`NS7V}nhp#Sw9bBNZK?iw`Xk*Zc87hs-%3r)wP%Vn@et2b4C3o_RG^1`yZ+#;u zP{`2Z&(`w!HP+)Ik9ObAs-(Ku3ox@|zAi?C#hU3`(mZfO%3=XzYnX$_`wj$hN+!ce z9lML!fU4;-S;)|*7&T-mqI3hieCp&bU-psnJMs=91#y^a-DCna7yHNIY0*MAJ3Hyur95%R3F-mkZZtr z%v*!mDDV1nNxyOQ+*nbpakq}4#_cjiZE?5hL_?3!^HL0x*bK#s9nW*&`K$5=c}UMH zhuOu9Fo{LY)De(|DA~O7_b>a%w(?36b)IvZewU}2imk!tvs-y;7Z~OX6>hS_GHhgjq$i&%QrQL!Z>s8*RmdhP20=;V zPR0ym{bwPtg2oDEilp54nIN-PH<#l;xEUeonvfh{p1?(Y$2yxm;|O@PIb+==f}@ zqw+JZqpjqQLc_YkCyZMB#eY1OpD}i-t~py~wfB#p1Ite26&LAH?j)POEPUAjINS83 z-Q~9#9XGc<+kQ4#gR#3LhTEbayDGdMqZ$ee?8d{HL;DXW*1l56TAe>_>}TYYed&^v zU%WT0X*RFAKbMw8DJ|RjB=m(&(|y4BD*Ha17JfKpU+H9-{Z?f>G&c7J47}4{j2N|(}j(wuCC5e?&kqXA|fH*@}K@)A33zTfB{7YvnK35 zYfi)_*&s^{DX(a5aRY&_qgFR@_|-zrzKDp3y_7=cuZ^+0dO9NmF%izx`7XfKuL1%J zcl)cxNF;@X985|{p+lMlKkZglTIz&)TmW3@LT_ZjqoQ#Pa8o$~hJXIlbi?N@JUnih zdzewV|KR>qhlPOVVvlP5Cbr(0uzIb)FI%OgopWF9R?IhDbtdwDnB-dfP$8aY7@eUb z&=ATkwfJr89A}Rrz*IJBN1>GgW7}fawjYJ`XWc5#Cj4wzi$bwy9Y?<{lL6c4#s%I> z*ltl7gsH8Oi1%I{z%iFN#NU@F5VdqQrAfY`AGUfr$rqN{EHkW}(OhtvD%C!^1^{NR zDQ_XQ@gtYq2kFs?H0Omk=M1{Y4NJXS2v%^dv;5~S;_24@4@pc$S%&jZ;9f)W9|Z5; zG1vB}%-2ug55Fj}<;T6OOz~cS{P9NO>>gKDQPBb>Pe$DqOH*iVef3g&ebAhL z8~Hb}oXKDP`t@g!fZACfEv^A!U)IB(+E70KahMz}59MymQ5#BDSo*|rVXR~S$4$P* zOG{>t<*d}YQ&f-1hs{;OB$$f!cDj>qF9Fu!k(YhGC#SnFQT{-EgwPGhBDFo;d4OZ$ z9^(?(sAcUti?_X)p}xNLg7}#;H-qxsW*+$FK!AkpaDhUde6FYbM;&IFwZ#NLpF_W5 z8!J2AzvKG{h7)oQ$kCHJTk|c}b)`gS)}87m?JjI?i5!uNCvq#EF6gwzW0?=EPulv< z<$-y|;K&Dw79WMwh5W}yic=j8DZ1fv?uCs`^Gk)FmY0q!d^9&Mn@Yq)g~Vz9B_Fx; zsc*Jl=m3}|tEWv6SInkZumAuZc|2h;NS{pbZiq?-G}${LT_MNZ5~3a3(*H)A-MCuD zGb*`sI^@I&y&8d!+9=RyHB)wQufLJfYxnefA@vu$U69bRiHX?=8W^3x81tPw_pLpN zX}GenQ5CFf_QJiQYf#@qFZ0CBn>YK7*21w`=Z%bv=0=)jpW~bISH#h&|^dN_HN;yX2_RE(qbxR&58RF({r(hxVrUP+y97F~d zE+i;%(4bQ=oLlPG$1PQ55YPB|G{#73LsBT5yFN~)@15e;bVx`BC9+5_UWTIl-`tQ0 zk`Ka{46*r6K}TXP`jWxnVLEUwC~%6$JCzs-UI0Cir|%-VWFxrgSG0QKBQy(TL6MgZ zUsgnqCIJ{0b{tYd3k=YfJM>0{#Kz)T4PCDsJ$iI6hWpehw#kQ(W{$k%mb-ude$@5@ z-#dzMtD4&1&`onE!=m1M@%xSe&NkNA*jP5nPc0>k6?&t^|B5g&42DYlquWJ<^_U2bMzC^en_f>+cok4n(Mq-GUzs}^S0>*^jM zg$lbI&o`gpPZM`;-uc@A_vrYVb9GjAgS5bfFMVRrRJXh*+e^6Oo~{#%Dhsj&xE%{E zZ+bkzR%SQr_ENKH4;vQD^z`7vwrt*Iwns#-ZoBd7;E^9jg9pbi#&prw4PEu?Jxe*O zI=uG%m8{{R9EZ6cdMH%Fb0qar*(Lh9#2rj+0y}r^RJeJw3BpM<@#7sivekhUueAN~ z$>7ln?E0kT!vqqYN7NVs$K-C@;5&Z&%JJjJ@m|qvC;#2gWXRDX>~6j^Js1f&gnJX}wiI#-^EON3o=#2UFXnL7mN?iCkYAsBqVgvV?bjc`bwy-%cJZAvK7*}WwEDJ_?PGewh>Oqnb% zr?+Pl-RJ0dvt*gHZw5NLza|?G{W)UBL4x^-oJtA5t$*jezg1D&QV3<;t#!KcDeUA| zqiwzI*$JQAooK7>R$WAJnau!^Iq%N!T6oHEck0$Vwp; zs+f8eLh8piz@Cnae)gq3M#G?fq0gHn%M3$8gvz?J@6;+|p=fubs7;qsgNLw1%a^y7 zc_Qx<5-`S9dr~MF>C$EcJc_Oc?U3quo;c$kuzc$5DfPy(*?ej_fF_J}+h3uFkG00; zXG$=aI_B<8z1YBPV$W{t8NdZn7g{Vk0eh~h=e^T6bOjQfULxSuYS+}G-=T9*b=v6 zlH5#9lOUxGhujU()O{Q+se}SZESL&L=)=KD8!!HMi~Z77&b7_Vc;Krs#ow~}6CF$Y zat(-{yckS7c(H=8w{KHHbOIC=KEpr%d-*Gr#kF`sSsJB>{vbBrMW!5TDy>jV`|tYj z?xxf>`rgUtXpZ`~7c1_0!v_ou*wnI0OD_!$4Rwus0FV>LEjukOFB1rt{=0hotyIdR zgNNT;=?uvnc)xFY88l=hH60zNa@N9ya?3+ZAa zk%&I_y2d0|&t(nFBmVc%g6Ol+D1gTEZxXY6kf#G~v1%Bo%Eg34#pK@Yy@gk0Wep5A z+h2jkP-E-vwZQ*w&K{*JjTsPbd~12N-3sDn=eUZB3Il@{o>n;NDE{5d{Jb+3>78u6 z`p-e@fi{$?rraQ`dD?4kpPQG5Ms2`RUq2dhx*2r@lgMJizwd`q+3g7e9g##7tIVwI zJD^NoSycry60ZO_TtQy`7DVjSH6YA&wkH{=|0Z8xAKXL zceW31DiAcSJy`kWOEJMu@fGhsr-Z>r>~)~0CI)RZ;%NP&=U;wF&C_k`Imnkq&k2GVD_oet*-qq56Kb!Z-Ne8#%o|=0uPZ&8o(Vq|2F>~l<)jV z1gi+;3txQ$^(S9K{^fGQ+kLjb{KsaX4>L9W_1}g>|77F-x1SgN>++M|q95pIc$xqG zyUq0XznGZ+JKqicBL2!h{hh!6Dtz<50aUBrzL(V1&eOKL6gHrJ4#okC*fr?&mpn*v zkiS2vl+aS2psDkBbPdYf3=&jlArKDsZlPVvaQ-ws?d*a*%ETo0uTB$Fzxtr*>HN82 zsby@Pp?0|X@EXw?R%0rwD~taVZ6TNISnIS7eAb~OKL%(Inc_e3@$orgclvMsCq8Ck z3g;D&e0SZ^TXSjZ0G>aoVP$H4ZHTs?wyjroK*MY0sTVa@n`GOWF%`Hsd4QdXzX=G+ z{^KBPL?A?O-_X%P_wJ*3kb}4VeTj_t*uqZHjI`l(eFH9^z7P(PfPE>oN*A(uve>&f6__(oTDP!j|my=`LX&K3e>QUvV5B08oo8IE#%+*qJAVuGR zjbEs|yd1cx7o;1bL{;HTWIX@w)X=dpYuIOviyW-1r-N&L(sJ3(p|jIAUiuHW-B1{p z_N_V)xrzBo9X`d$zAnPz8_VFqbY;e$+TqXYzM&&5;k@6PMQi505IQIniP8!Hnk6MB zo)HzL*sj-$_Kne6*o6OEb>Y!A{o{x1BO7ev9~FOA-sLBe^jJx;)c*Z+Vus>p(=*)M z*MJw)3@VUg|L2Xk-T%LhSRA7L(Ly_%DgJQev)CmeqFv)Y?eHgcno3H3TyV(l|K6LY z$M9SJNkO5hWwZJ*B?F(l8MF)uClDS<&&^eb(s+B7Kl^Q6UH9*-+xg#vx#HpGKEwTV z@Gsh~{}vbQp>r%OEMOIycz5e3zy0@IUNmC=7n{w8O$@lF8HyVN4!h^@#z@6)hZ7d> zTYGGKP9SWs!Qjsu+b{eptW{)Rdm(wLuA$-Ic!iTd_|K+qyodFTclRA*VsY`EnwlE0 z+hPK|yu8kFWluiqgA&H?7h0J{&WZ9e!gUVXOdbc>88}Pxf2-WMNb{7UcxGNIaLVKw-DoWuG3mUh z9o}vp!pRrP?Iyb5faUdnW#<~QxvRRaRp9FeR%qJ|o1nmaLUk_#_qpDZ2J-m^8Pgqy zB)mF)(r!S?`0|#GY8*drFwxgjuOLOEFaWpyi5`?_Rjp!=1&R)n`IkZ-(=OcJNw2H# zrcz8Sbs1KJlNWh^TN>6E8|#_v(YO_1I-+yafx(a4Q=#`qA`zM^2s9%h<;!lbqvZ2ULGMc^~A9e4g75h{lOiftLKS zvcP#<*O+*lctJbdvAJ`5ui>VYQ8)yZ>2le|Nz+XqlkD{AP9P_^{I#Nv+Mxo>&`xV- zto%o}w9HIR6_tP~@%K1B6d|~6i~jAaeKs75&-U?a*Pj(;-nsADn|uGIil$~U;T#iF zx|8#nV$d4W4&NFb4*X$a-?4+e{_tvZIq+4UWae5Pw0pQ=q#FSDRe#F20`O}2hxcl(ACQz7hLRoQ| z1k8d0QFL81;UYpe{pvL`>hZH7)GBASoAH2$(EuE^cf@WAkL0|$jhp6H-w34 zjfCIigE4?;SDPVi`EVUBnv|T}WzgL@Gdwtm$^{sATe@ra!q2f1s}quvdYzq}mVkM= zaI?4MTYx;HL8nJ3oqG2Cxg`{{P&SO)qBGZY*Z@!oYirmcMW@o@{^)@KR#x-6S3G!r z__hA2!vc4Pz`DSTKe_IKf}`2JqP)>`2yYBPmPSQYYAyumhB6f~5fyUMWx5{x@EOUwZ&XcPwdA|VT1R$kC@ z86?W)fMS%En)+3&2>ctgGZ5SI%v60DBv{4H#xc~sW$DZYFE21Nz%^*M*s%!fVHQ*? zyRc1Ag`hZDvWpvU?|A!OP0<=(mHYya&X5f za5(dQ`R?LEEn^}J`yed{PBu6h?wxp)40MTJ z#EUGD*4G#q^QOOyOED%z?ywsDf4ReM2BuvL#LTlGSjK*Q5jZ4%Q{)dG&^CY)HBdta z=58{uhg4w$solT--k`%M=GCiR=k*>eRV_lIwzRqvzse8ZD>B*n?iei4lO5#{2?}Frny|jD25Upv#2+SdTR>+< z(78{Gz)$hpI|57Gq9IxwWJM#w&gr~|BxaWZ3D(HF-CZKTY`Y7y)<9m8jY4lt2?S9E z5!hcK;M?J9OJ9Z2w}djn>gvi0v`F3SsStUpiWcca9nMcDz)(H!{b0k>A=cqi_>w6tLm%%b(ew}PB|72A!w=Q|B7 zfRg482~d>Kf{88x9O$zwi&TrFA(@$V2?Q^G}2b-lBR544%+BC&qakhHQSX$zRJAmnc zGrn7adpCZy59Y4HmS9&Sh(Q^QeCtj@-;dqyD!1kQ*-TxeR8>`tUroYYSpbFoEI+@< zgp5TCw=V6Y?yhni)H<5H=kxo3;>~v9t`B&E6!8CGF1nsIg05ABf&DR7R&9D( z1zOkgEx_X&i*S($cxITlk=lO5D*V_87j`9*C$faCo#MILvD16v4dB9dn zqj9~RrW;y~Zs5FSZ7kEH^y5KaI0w|Oem zmKJqmB3NJk%SGcR&dCsm?`5E5N0DKn&5gwpiD!-N$IHCey^KA^yV5E9S3$E(*uMX= zo4Y$LKysq#@wVOhcRy`jU8ZNVNjRlK5y5hG=BBdp?OV6rfJ+!B_k=ZgTJ%GjB8MJd z6bh>%^TxzC;F)HuKKxXf3q~6yS%Kl+0y$5CmB(=BU|UU$yr*!X)mrBm*;Oh>#%cQn zth$2)A$D_-dDpb4A&ALZEtp<-8*&{H$9&wAn|Jh*Eh=~{fC&!Xxdm*2Dlx5;u3&Hf zp`si}jPgOvrm&x)s%DfKLZV8x+7)ZLpA8C>ZHsHLAKDFDyS|r!2TR~v)<@Nr z4Zn~8UUi@hL;+PGryCAjYMlhS=S+P>!KaNfk1?1PsHjZjJNAIv1OiY_Hzh+`0JL)qj*4ST#1tRyn&a9N0DKT-(lrAPF`d z9tHu3ebz{6(0weY8d*fJ<+q_GmEP(RbIGmc_%#`?m16FrboC;eZnD@sG^A*GNSSR~ zewI6a)f=|i&%r@#@4_TVp`x`43k@1HZ`}^aV;+~1lEOeO-T$bN-00{iTH9W0OJ-nM z=ukj#xwE?`0_@(&y8_U8C}O?7I1mT`NI0c{GS^5FIecC>5t=KkfF5=B%o(vsx;}2M zowbaNkcs>Bl&`=b{gd5ey&GrolNiGH@4VB@yBx6MXh!?vVdYzet*Z@AVd}i?-+tN~ zuJY-PI`5o$59t*xyXSaC#LA+@>T=g<(_ zr^5DkvSD`3g%+)HK^&Whnwr$Y%YzBU-k{5tm2E5-;fEzw`yEX<9p|YIW&l~JhNG^a z3#=YAsJIotjRQ0%$QZ#lL3wssJmmqY&1-c|8}gDa2-jpNUXgNf@(v^8!jkIy1jzn@ z(kWMp`i5yi=t({{O!H(|3O{HYhrDlFUC>7Szg(Jp5t2nrG-BP^Utx)$cqj$F8@ccT z*c?D`=vGdU0;hz40YtBRhxv7K6T7S?sYJ^0UuzrXTliC$$xiC(>gsJx%|x&+zM!{X zd|7Shk%Vw?%`n>XOV@x?2 z5AN9nf;_}m?l6P?j;LrVAI4jTv;@mmrt6#sV9npw*Utof=(B+R0IgPE-)W(I zD%fFN+;M0GQn=0w>%%hZX$V3yy0=fJrKMF7(Rb~Om09{3?EdT1jzf@80!Rh3M1y@2 zP9l+dJ!h1`3Z`dfDnSEbb4r|7dW4V}+dZg>lL5b+lP3V4$jFj`v^KEHgA$?CqABSN z{A&dj6*5511gPe;Ek%yA*0#24ut?4Rz2VYzKiqu;<*9g3-Mt2RUJL;#LAFDaq(pYT ziJ--*dmWqgt?`6V*W1*-go_qK11VAw9z62p;}YrEg$&wH0@c^Qg_%XQnaAC zKW4Pv^s#%w*nOkle(oyZWni$aidWGw{9JqRe;I${I2euz7;U1;Phfx3VZ}5<%M>82{yVu( z-?HYNEIGAsOz45%#a`IUu7%K@t(coB!v$~xgr5!9C)ZbH&;-LNJkFFiiSTFkM{bam z$2|Ob^SoZ65-J99*X93&yc z{MlSP9HlJc_gUsYS^&_=omQ*X215@F4yfc6am&YfPQQd!j5G46lxSNvr-g%P3vG+r z+6GCe8u;$ryJc{bV|ZicuQ(hI^WfW&0_#q7(#rH}=w(cSewGaAt=t<^c`6u+!^$n7 zuPeCJ|kfDbV1Y@6da6( z7FuZyrlzLao$o=!3*9cNTek0Mf)>w)rAeO}lNQ8~hAQxN_z(zWXUrSK);){X(}QLl zGMJCKN$+(%V7s=!7a~$20GHwSee83A#FP{{srmKUDL)wtdV2Qn6nxumcCtgT{e%7@zha@1CtmI9?ye;cB`Rk*CPOL~VCdL9B4k6SbmlD}tUF+65_sF5&IOrn zz;bZkUw0EoPN%rDX;NA)ae3LsWp>I{ak#k16@8nS)tS_KA)~L1bVc$ny&%wb%>a#R zIz5|2M(D!rynT!o=ehNX(9nZ5p0p4pWw!BkPn20OXMzlM(jlWP{M2G-9Xa*=`^Od= z^^rF5{RiSVg%3zZ(4}p8tO;g@29S zb$_D}pp|Os7q@b?R3Dvjkh19GfI)}@JvYR!1!|-m>{^vKu zI3068XP)#>ED%V#yrbncw|thwa)z>J{MD}I)U=c|ElS};cw$DCoHl#EZrlK&T0$`> zU_vt4D9l7YXnQa9R&V))N~5HWbQX5TC8PA`(-TDBGlfQPTOCY!PUkxt61Xi!Rvm6j zzb*(cOgM3b*N@`uu^i1qI za^TP2%-WA0^>&}!tk=U>=PO{I{U3KfGeRL2dVRRBlCBb^N?E?t{Xx>fDWr<@cj}E^ zlH36^=BCt?1AYxt@NG8w(Ky3`!Nh}S##4H9V;l$K2({gf2I9Qi&<#{fB`^YxexEtt z=$xHvr56MVC%Gde7mxDRi#mD%Y~4rMStL0%;BGqh+Dv*FPQq6U^Z!?9vVU~q$Cle# zo>%EZllXQw7|1ggw~|X&doXLyuJHr}sKY~B(kz0CvWX{%+xXxX4LeP2@Wp&_<7N?U89UTlHWv+Rg)Ji4oDcsBZLZ|gVQ2}6z+-8?}0;^S=` zosx%-Ohdpb;+`% zyBSNG+K9iOopaM&vQ58e?|b|c$UqFGTSJ=4n52RWMc z%j_(*6RZl#1uq9_!st}qs2%TZwwSR%vmo}q#J#serLQdJeW?`BUX8eQ!hAe8FTrIu z(GkXCeD*cdNv@YJceGauB()TRxZKv+aMR&NPVlf2^UPWEWg(%_O)F*_7k)A^VeXU> zmwCZzl&_{%p7#U$Ir$OmY|>B&0CznZ`f;m$A4 z$R)(~zZhb3a=GEg&>@gW9+H)#T_ZvH(^O5)`kd0;0;j1zvNWZXAOoYW$=@|Dz|iUk}`TKqRJs%$G`Qzl2F?t zep$Vvtqzk45}plH+ZchszMW^5%KnomQi`McTQrjvtHX4&FcS|RwqgUT>R>;>+BIMM z$t@o?F&gQdt5?Zl%QLE!QrKSJ_jpWX>QNP@aiW7?OznZSo@5G3GV9TIb2i?iX;T8H z&far|i(266>znm1odlW1wmfBG^sqDTaj{Dg({I(Cd`e-AzT76ui8z0k$Nw{?mpSc)N{(6?dM`NFic_97)SW9y zoU7z6yg&#n%D$wQ;aG;FVyy2+Pl=1YUvg8f;OwOCpBPF!*zs(lTYDm$`&s@R?4H+M zg}bE(!YiDsxp|j76wmbL*rk4!TxMrbm292obSOKDLN8o;-xaU~n?`q8A-DB|UT)?~ ze))=1Rh?OD>zIp;m7eN^=adNKi;%iZ;e?qd%v=ja!_KS!Q*@zw}8FlXGJW(b+~qj zJ-Dr9>E?UhcqOJ+;Dodqm^76>tkQk+P^=b*WSW3cPcp2a>tA+A7^L(_@RXPw`=+N8 zH)E1y?Bd4YI$q!o7Czo`Bd?r0HFLu*y)^%(q4XMowh$=JAt1opl6K%wP~wA4$06sP z9>-b=&8kfH8eVqlFVg@k#H`&otG>hbTwh%kj(4@ zqH$gkMcM484Q<0|_B1gDLV|Tu!H~Qf@5`;_&8T?4nwXb7Ufuz2GUURgt7r`l5+yOq zjZ`ZqLozu52JbWs$F}Rj+A0c<%5i+xMP-83=%XFR`(+DYC$T(^%$%{QBN>1-QwJ5%O)$n8JdpazCN>!C`9T0>Rq>2CI^pCvS@ z;_4cOb9-XNt~cYX`Y_1x=}$zuM+)Ed^egv}yv{e2NGmT|mgHpRxToVQfy2cS{Zhp9m4V5u+e+_sW z26MYDZ9kK~fN=&#SFgLad@yC0c|Cz=<-7o|CJcd=+v?w6??883t$=g&d`Gkkj4sjG zBbdV8z4qNE1NYoPNQPV-ag3fW+2E9NtU;-rCN4BfPp`zgZ|H(VzZhptezABNHd7N} zi5L?wW#y1echPS7uBa6iRa1W_(1W^SAfa;)|8NX^6Yiq%Ywo&83Yh(N@WgLao!*#? zK9wd+-pQIccGzaLS31&B=``QBs{HXsS!1#TU||)5cI^$Zn4I?nYyZe)%qk+RG<~jV zAw~D`^w)`ksH>NdX+&m@IstyNazd(8Wsr+)Fr&lk-tDytUC5f~>!a-#-&{v6lZ6Gu zBaf?=9&1X9S?)_Z+Y!er(8uKKheCd2<~6< zY>(e981c$?6<(?yxnGEe>57X>h{?{_It3L?kFv+B)%485ueP6P9io~51;D$tovj7{ zmX#o0{S!R%rUA(#j0&*4F;t@!{iVQ)9n{npQDua$NX z&%wYkTN$ZRirpv2?^mi_9J@Tb-fpK>5S@c#o?mCw)c;HdcdTK5%@Iv)g8&% zta~e+fQhxn!y$`$nR*vh=9@-LZS{?<BPrle?_(fW5(zFCE3 zX!t>z{R7KT4d0?koWHu3*Sp875fVB&crb0Xec{LDcUg0qKAl)%2p%NA%QN_!S{P;e zN|v5a8)xhhN!BP*d1CAFZ9b2i^CtCuU>uj3lB^+o712u6dImQf*f_(DpA$nz0`Ay@K`fxlydvEf0Or*o^>{v z;L296LdJWaxk$?DXwun~(2Z;rJLyjWW&$w*{D~;xZ6n##oDar3Dfh>L$eDf#e^+ip z8;KokoL^GvQ*P_3rNyy6I70dGypq+jpUN3pE}dQ5wKtiS*W%3}$=KGdkSP0?O$=LE z=Hk;Z(o6<*mOk8Kaku!P`mTHjhcNEy1{?WZ7FIgp-MUY}7RVMk74;P~7Y>SpnNIQf z^?>Gp)5FXOr!C$r@iKgSFPc(Vw^SyCoL)qWfg_iG3PR(0vBq0hpG>}NPx0~`O z^?F`I>Hh8kPJ~4XOV|=ia_4t4mx; zCRI5<2lp3NG4zoOebG?vm!A9L-=e~+9QIBYPPA(q*qKi(`t(#t>t zqBpjwo29KDv4Ckit-5*S5yUO>DzF(Zy3}njbNVzd*!cU5B2AN`e#c(zpf0Dvtxe>G zmSu(Nqeb8t{IL1wCvyubj=;J=0Z7YxrT>q(_YP`mkNyC$SKwI@5O^wxpn`M(DT;!j zOI50fh;$S}3(bm!qESGkOYhP`2~7|XkX{0WfQm>>A|(U}kUbZDzu(Tz>_59RyLX1C zK5lOAx1I7i=X}m+JP1J${70-+6+7#XW#^GGTr~HG5nqQ=VZM7;npqG#<9Fyfa%#cJ zTObjIOk_sP_ubpnj5;eB=dk+nIfC$--PVLocr08B4qo=;54h&*)p|ShN>0I)eekhN zs@*c6-R?4VFZEHvL`Rh{)fyj4|K#3c;E5?&Kh?DVX$g7I82dKTYT2gi^^Ci9MIjB3 z8CuvuT3(4nG-4Y4B}KlcpA8nR(=Vu5@Vq97Ak}^auOA0Va%2V8cfX6oq+L8|)yi2J zDt5N1^V~A?*0dw&66e^(xF12o$D91gb3^74mTy6+OwjXuQ?vY;?;2WH`@g>jTP5V9 z61?aBM#b!7?ApE01lJQ`3!Exo^rH3TVP#x1uB&{X@?w-bfV=9@)4dC(qUW8kX@O=m z32a4h+VY+kZtuC#?{w%*e=Wt|NW&6^7_%U^GFv)~4CDB~k?x$WxTS3$l7{HYk^pVN z2j%?r?22wwX+w9MU}$L9hDS>OW78wnqLx=>JXoQYzcDXn4m-*`!P8{(FxiFhWiHu- zxGF^**bM4Nc~Zcf9?YRZlthFLNrY2Qx`UT4vX$Vo##bbNnF!@wZ{)l$5#|12=6X26 z4rD(piUCGc)H1+&YOW&qV7<9p(mieEEDyOG7AKp!DiwZy%4i-eYAeMR+Le#ya@uI_ zvf#$Wj!r81XH_;$2V{vVj|n^(jIJ0KIiqALU&Z`dn(Ne9THIX;I%b<})Ev8uLq*W< z(|FGIsqB`DjG)NQGK-H&`j)Hc563ZVx>=|27m*!sgsvp*jjK zFrids(8#g+T-rr1Lx$50`LFHLEA72O3%KnhQs?!T71A*zy5p|86Tt~(xx?mYrI*vZ z(`I8mGlmMbTEm66Csp&BszL50cx+^*M5go>rlAV59nRi(IQye+NAT#A9R=jR{>6pa zNOwv`!wC%AxdtB53%4L&lC5z1hsc*E$?}i#i`8x4<@)Ttv^P>{r-R8`GE9RrzUIVI zq@qMBPdchNn&R~9IA+?5Fzkt)vmVx_^|I^x&z4hlN5}PGoY5Qs2`K>qW_)XQ!S_9> z>2C%R>lQ9aHpHt8Y{5!p7eD=E%b*n7_JZCHn*1EQt;m+IB-gNVcHUDUc2_S+^JLN% z-)RCL=lFF331`^r^FyjLk$P@4YRbNnk{L$>`NA_)*6Yk1(61v7D~X=C0zySv(YRMi z304nLBhAFv53pJxHS3Mcid56IO3!O?h(dr%xlRR1%eve1e%s@oCUkaUZgDqW_@dJX zFfS(@iM@`*P0ofK4~m?=IN~Ep$vz~|{Y9d(P0sJ>dpef~#js}_l8GL5RGsDeel|xQ zfyu8N+t?^W_Q9>!tGhN%Q#c+Ibngtz2&=birg>utx$@69vzQHUtV_sy^80q2gRxEw z!!jrzEC{Y?AEJk9ymWNPWKCt;J}(*CZ}IZdoLYGgDF}|#q)3oP#!vfCoK?TE{KRI8 zDlmVr+ocrj>R>LT_NYWySw!$&>o%+o7|Lxa7tR|0dTzLJ;AGoco=HQTcP=~AtI!98 z37$~|y0m7e#y6hB-B;ioq{EiwTc5p?BtKN1TiOfxJ2_s{q77BNGHVyRqC}4tQ6-it z(tQ3-T*p!eG$deEcFn@QudKXWSQ448LeB#HuH)Nvm9cqqeEGyT3u`>uH_t7!#N(dn za?xEoN5&J?ejW#6F?E}Q>5u-Pu`%v{QG*prTauD6OMJFRtY&}J^Bpe5g{}&q>dl;CQY00&FVyEWfd7c6%8(%UHj8sZ31U*GgyL+djMU! z;J4b-Q`a(?f07dCVg9z4Co5B=$(!S>YsNsXT`Vkrt(-f6fKGIOE|9~hMg2rur{z!m zII?}NdgQ(mq0|xA(L!>(1W2J#UfU5h?7i&g__R87ERUN+l;mPcn87uZGfi{jCIy;r zfP{cFCH_O2M_nTV?GMWwW7t zCBJ!8v8rnKE{CL!-_p7MJW_hz6$X4t3fkDC59hvyFpHzB`lYi)nbjD9USGMN zg#)=wd(6~xMlqcFw#=n?g8Ot4Jtov)>igI~JHcv~N&S}!21Og^5o0uuY45g@akuPp z=Y}O0?4bcmK+wcxjH_ z@pmK$m{{l;kbP=u>VMu5&!F}P3EWsWZzEMEHH_y*Gjy!+EzgK%Yo}NvT&`*)MKkb( zxL&mYuB3P+9~JD+G42GTSfBFp%YWXOg%$eS1a5D^;Tid9C%G9T{(h;OH$Rf}o>~xY zXLaDry{K}go0U1fHXtl2n%Aiys1ut@B{+$%M=5wFnmjFu;6HST*U-j0s!ldV%`H6N zKSkTf$S-UTdz`GHt=F&;?s05>K-(zdwDp>LED)P45}$TTbym@(s!1gsxw#75*I0)J^yK#+5MjI1q|db|zn9VJn(?(-u)aXH<0 z3gK6FmiMuB^PAAez=>^$RPbMgBq6yp(8}+2SEiCkuDM!-%ZP!~&@%?-7JG(D1H;6K zERH01AeZi;RLLD3H=(UySAQrq=B6V%m$;eE`iL7O!*%WHj?0=`<#yprlFB;c;7@J3 zT7p;Ax`GQcx>fyPWv(!cAEm~ACu_~65nj0m=c0()lSHI*W)GJPyU1Ljj_Xs=JF~Z# zs@e6pxp00TY-+ym#H8q3n~c%+jEI#RwyS~FjL2Jlp#aOLaMX;vQLpzYZv&h7)4C@3 zFt@VNj;w3Y9Uw33umi{k5IeezVZsqY^m%%9gIJTe-|~Pt2}H3jL-A1vBX!;L`K%*0 zg;)ri;!rPxt1L=$d@UyMtjrsfXVvv78^}4!=JOA=t#ElCN!WAuAq6pFw2xv|p?B4Aw2fT{>O*nAG5vB(G)Szv?x)C#(S-EtZo zi>VUV2}8_rVSIiPgROV?Cr!1KkK~zt?+lu@AL?MYEr9V1xQpC7T&texoDV+#zag>U zAmS%^wJeCOuL-@Kl`~f=DKfSYnE)E>@FyjMTr{ko)dM@muq%q@q!Zn$s(bXG;kKROPH9(^_+BgQIMN-V zVOw5i3No#5M6Oq$h3ltUL3c=d8--~1MQdD&=5#)CW#hX|yd*$!ETW}eo~u>P4p4GA{SD}@v0|Bjmj0GQ88uD$}4>ddyr$~ ziYLiGiC+lKP(@Em)f};9eF>*#vd@lc=v~=cc$TLXryn1nFfWAvO~4UXW`wHRWo9Ch z6QnyE7FV9Qa1;AnWzVF(WJ`9=kA6|1GGe8jhgKw!usxajI@TCCNSc-#TDZnrt|;p| z67&i6QxQNRu|#Wtd%r;BVboGnvi5sH*8v1RL}6V%rYWuwPonf1s}fbeRRYQj*oLQ1 zH3Xcd{PgAVH&=?5i=;)`jKHY(eQ?#pqfRpFp-p7~T89<>-A*n3sD$X4KyI4vWYE7PU6H^50 z$Nge|=0q^x&Cj!+&*P$$k8eWh4dn0Vk$dHIblR7E1Qo&d>rHrsixg}sAy6+i*_Ihy zNo5G0c84@`8lM4f5ojLblm4{UJ4r+nEEv$4pfvb}082|l=e(EF%DSVa586E|ryB0v zY^sKmI}k(ka5bgc5fgd$b7F?6gAugY>xBK0XRNAvtA6s2n%`*LhkMo6hC4O*`?Ge`1=5&+5$3 z(1EbjX~7ib_|-8EJQqA3!dA$ykYJtlDj-75gFZbJ@8%aervL&a^}`MY*j;x}r!03} zY!geM98fm|Za@9+xvL;JSEOw4sv%XRekQ$I>)sJYlN#Tt$#Fh@l+3WW>TK+R+lpxQ z4f!hVM1-R^+Mv@B86S|{h23vMQNI@bIE#N^N1YqrYAnD2AKr#rUM+BU8<8XXc}vcV zHOvfrG&z)VMb)^pIBDf&wRTVX_^^0+PK(BFT4#L2snup@?KJfgixy%3yR_~UQ^G9H zo>-ih?*u+l4zY#6tO&4(eL8fz2X}iV=>^YuJ;V>Q?=Q3}2BWE^g)p-7+i1}6B?99*}#qLk|h{z${EmR9WwK?jHIc^PI_blkQDp*kRAa4)t}IVH>L7 zrNi7Ku~aRM!Vty`$sz$T0)Wv8JONZEcYk(3_ZHI*Pu*=3Bb#|%g`5HRbCnaC{Z8Fz z3dfHW#_&|048;sVSRrU`=6}pW?wv(4;D4~1C0PO$N!19hr?-w#<{gf(L`R0loGWi& zka(Tkp9gs^5YFnCJB&u&$X%a>+$}j(WLX@(NkvQ+6S7U5O9EOm#~PFnucD!4e4EqYaj_2`Tq-3ih`YefN$Mh?uQ3J)d3e#~AUktDRo!VWa|EhdG3cS|FUn z(>LM)p~mh4zCoL)UeV;76uSh#LF?QnA-IQxU_m$I$ z&Pjk}MwK@vujX5#NyXhnpwVcQuJ_b_#lJTGCZ#vdHnwVYblEM$kDMfLB&*1u{N$dN zt$w^E=ZK*~UV-~D85bTKO%>iF`%)0x%7^3=KS#IuA}U#%s3HfBb}@Na2O>(na#fM} zhdsd0?Da0SFXOnceo z*z$VMB|k>$DAs8ii9{FRj$Q-p2S~9HgqS*S#O2R^{D3LZjb2iIa)mLtZ3Y4YtVj5g zknlFhp!KzhuotMkhMKq1>#hSDd>(?scR&7+7d#~{Yyvye2OJ(r#ukkwCw!Hs;eB=< zNx2#-2yAe94Q2a!lAC1nCMRu{!(?6fl!6j)AZ)?d&7B(pR3GesPUraOCjR(uAKgOH z()Fe27jx;ukJ^@bGs|_*gz8t;n&FTaI35Gfu~*&%?6v#^-+oZHq|7#<#EkTWeuE-8)#UH%#$r9Dd zyT2Mz5`4|obhfl!9KD+iq0`KQEh|~8vtnTwt z1Zf1f7*8^?e?DF$pE_4d1wm?mfbXuR0}`{pU2+prm5gpQ?HVHsbw;?*g+OCLuF@Fa zuhybpfY%*|*c+E5QG^<48I!7WSX60T7E&vvC=};s2&%kM0(AXEgLsvtkI#nuoQ&Nz`qblZiUE84(ZYz_8K#Lcn36-MibqC!dF>aYh;P{sCH! zm5%qAxQW~TJ+3ucy@1-KD4&31t$WEHdAd}~je+Uc^d9c1yC0j-*NSAuytv^53bhwMZg@^-m!Z>?p>}0Y4p2n>ec!ZP)###97bkVpVf!_$fh5N%_Lm#1!GaHgKOo>6cBx zjb_{KFrvuBd*EyUKCg^kS%f0$X#JQ=fNx{`O_?M2h-hj*WLogBb=IF9))&i56`JG5? zt6=}QB|`4Odf-on&9{Pu`m{a4qn6e0G!hjcXYQor#u`bN80^)r-Kc)y5zJ8K`vX8Bq`}+I(`NDA)J1kyku*nVf3 zx5Cw5h7It%`FW0qk!wl6+uK!)Jwy7HbE1wMM*!vkV1in!uusDFIYJAY)3llR1m3m% zA`_J?v}>q)i4kW^5@hjRFpGTo7T++0f91iLU_yVshPvT4*hc-E@33Nb&CBm#Ppl70W@^G|T} z-dvh@!xAr{B%HsPy#MajDW?B|8loEBeLkFd-d~+)JR{Thiz3-E$BY6oL4&{*M67zg z2$r8p&IyBcMl2%mIgX>aq&o|Wq60KsQkWj?*K`Eak+hKha4JP|>Lk<~C(QokdN7MP zEL!mOpyb^zt|zh;eHK2F-o51^8bCq(VA0F_J2QhUFtMG-s$5)f$BAl$^6m2(`u3Dj z2jAQ?d0=S2j>ot@1!}oqYlQnQZ2U}DWdK(mkO~SQJh_siI-*2#w{`h=d*r7LYaF8M zy*6bjIbC1Y@NS$pCJ|`t9L!zJO0K6kYjrmiM~Bp4>IPc@(IB*y7a`9!|95>X$a1=c zy}GZ}(;_dr!7>ll6YiD>H7()uS>&}zz9VecdJ<%7a`DLeZL`M3ceFxUWu@dYE1q$q zv0pp9>K^$pp8om`S{Ytx0eM=hj)nVD0ZT{6p`!}fE{FZoTn?+hj=hAYO^8e>d^qvl z^TeTje5Zg>`fUct*9Lz$bZPqj#)xUTUrkL25+3*cOGM5atV)9|67CJCid0+GA3}|bbUuiNiYbCr`y0n5qy@Oe6pKQh zAOws|e62*FM`my8C5Mz0Y^!MQkOxm$%-;9nGK)q31(&j0*gt|sVSQUY$ z4j}^?BaH)r%tb^zT#_uwXQ6Mzw#w@9sMBEV4Hdc55=ngzN|t+s)|Mw5i{%vzu{}K` zl~%vA7pI@X)PH0E!M1UA;`8^5pEVD0L`)RYBhwwIUQn#j>OZ?>)JNaKTYb~T_4kO{ z>xzgk$)bLmqyZ}~f+oYI$wsL{8;%Dhk6xcI3j>RQIr5U%9K{MUwk zCGMX}fE@AWg*0Oc(a}Ad@|fs|^~J^8c=|rVStFfQ+9n=FcLRxdKYgGSH7WmQIyw;8 zaB7-x!Dg-e64Tp%8!YJy_xq<&1W8y_xHQv8j!51YcD+g&T~IsY zs#)-Ou(Q%+0=y4M0zHoUi#KS?*RNfwko?~3KUlc@?7qYcC?|0HhT@iW<~qk!x*9UWz%+=Q6eHl{H8e74uIp9-j=@eKo%8l8=QeKw4s3+t3dbtn z1N5=7as=LT%egYh=Y4^=+BKECbg5_pVi zuqf)J_o+o>{2^k>qv7jImvV-;bsYJ}U&aDX$P>>6&+Bz7j`?eCYs?3qoX&jr&}vYR zpjAUkTkqY9=q4>dfkG%VZnJx4v6jz_LmDuQa>CT$-!KR4e-<;3MVt7jA5!O+z80n4 zn>7bO-5nM2?`reu(PGD@`5`KnM zzJ5unENe>6#e67*8F!0JPhNUQD*9#{R&3un_f>SwZ_NSsbb28B6XRDrPDs3=;IIRT zt)Sw10nX_c8uwR@f|j>G>P6@5PZ}JB$qT-z1RBRW0Mtkjx{OJE(ntfsf~#1BPF{?% zLd->%Ys$Gz2ab$qwCQZCs+2%_GLA?Tq)b86w;@X zR7Y}Ms#f&C3BV>paT=H`F$BM~>ZSK$hgQIRCG@odcZ%Ne!sWMO4Zuy!1KpqZ%+iI)z# ztpYhFsOzA$i-`}Us$9%-v&g`3iEz#i)Q&YUT7a$;=uQoXKh?c>=9~iD$FA3gN5=RS zOT)4>YP>UrS0j9Zr3=>QTi_o)Bwd$ECZ&2IY&!xkx2i_){lz1Ll}<5~=5P2Ffie8LW^?=jC(i4>{i# zLS9)u8+`z%;F0|gC29B|5FNl*J6c*yl+EsqVq45M$An~5X}k!HCEyFS&7JXzo{o`h z+Kr1d@i*Nq0NO+gz{Bd?DSh;!)t83$eB2omrKha@egjb)BA6C{ZS@q;+vY!|1Ecsv zTjTXQ?vKqYQaUz`GD2>QW2B{^5!9S38U@1*^__U~~46e@fO3zA_ z)!91Q7ryvDVqSYs(}D2jp|z|J@;6e4dA-b)S_8)Q5%qUWhRuMum_u97;u8XmSdZ|X zzY(1HR;AKV42DrI*jRTbH#6F3C(4$0@7g2&@LO+-|GB=c0U)s3ru~3Q02rmOf?*0- zfJ=+N-FX9P6OlI`&mq*af#3a#$HvL;X+O-aT*h_1!>DF}W&pYt@wNe+Rii9nD)$At z9F3q$X*U((wo_KR&{5g+p-FLx?=}7a_U<);EgAFpE&^lpJc}3Yko}MUS_b(1 zRJ1lzzWHi9TUp;yh2RNNzw^Gs9v0}}qf#c!D0x!|7s?eWX*8;<3*6|-TAv!F8UTYJ zXMoQDB_?#1j4-_}@fve6^h#1E^NH~Y3w21qk~Fdws0ei72+}}crwDNH_H`}pInT^^ zj$xm%+B)2pYF1K^8y^eC2(Whdq-$V(9pe&VDq*z@K^0mLRg6)4%5(iy4itldt35(Q z`W2Lq=X_rTpDB3!V>$2{+V^EgK`BlQo$+8BwS%_m%PxFk>}p7({GPH-S4o;=Q+xMx zt>{)j4r=~qhU@~C3;COr{?%<^;w^v_7474P6l?b-l^_ZR0#S)U%=1m>7k~2!3e9F_ zg)hvrs}Gl>*4H=hM^j&!U`&CDM!N zDPD)*VoITTG}0shp-%=IFc~)AssCl1Z@w+p{bZ@*=Pp$Rqu$=J8HBEtgpq&cr(3zh z-I)47AvmL7z^*G;4e=0-rv5g%m=w@;s1n z-Su`Ld)H1xt_@YKPidgK-d1bo&3`0LwP8-$PyY%5=g_!0)aeB^=3mqtoxKAx4}x=D zY=I_(7EeEWjFxb$ZfwjDt!C~!zIAl4t;q3EV*e5^HhIw)C%Fi-gYahCT6k47yX8#l z#^->U#pZA)=sFmT7jnfB7MW5-ANa($c}ZRwoS_PXKS(Z=ZP zlhjtZvkY)8?HAYr8=h{wdI&VvcHITFrBQ8R6B84AN|EZ-jwPs`Rlo9N8}wb#jujpB z`@h0WkDf>=dUguVhmawl{-Ye~4y6wEAJ?t)=eUBz;R970TYI+|)B~eLKU6YD{N*Z= z1%}1@Zf+s%`9P2ADg|GZFe~qMlPQ2FSnFs-@Y~qjxjVYT=inadMONAtVU}b=j&Xu4f@9eN}v)tGfH@dZG#?iOFMQz!Q$9dL7+*?*RMs4qr7dR zb@24SmE%=z4^QgEiU1TbT%kICkmC^7_ySp}qc@C&rT4y@gwUx|m%D`i()=8xN&jB_ z{aY7U41vH)0A=Y%3*WqD3slq#04u9;OHRiA0|z$fE)iA6!rhzG zOV+&J;#yw55zb8)oO1eh7KIeU#$hP3P;;w+1=4sy6c7yRL;J0nRD~T=FAEC9p}bKC z*udBtRYQ+XZV(UHb_1Wup#uj-HyDuq+#aZ!V&Um!dgbzE zU@GM80ulo>Fa<-$G9h5e>$TZr2<+%aP!kCyo2P+O?GI_upN~qavmXDA6OYma#yZ{0 zmmkA?`~tSW|Gh*EsA>Oopho_04d?$9&%wWxAN3?aw14CFyL*3C&u4(|-PD*@)&N}C zq{ zSO1DM7PCuue^L^h^{ZH3-#ZWaHNI3@LBkcWhv9Lr`2VWEFJOLtcd9Lt@QwsG)%_;* z81N{kG*9P2V-}=u0#*`X|8`xqWO`Xb_aGD&c{%VqZXY$hz;r-76Kpa<>HX?sf-u#p zQuR`NTbIiNPhf_|tyY+WUF30WY1yQDg`?Hyo^!}X*@x@$EhPUMu0V|mB^Qym{Gc-R zs1Ha2C{Znc6-4gu#0vQ@Fhs zyFoE;Jt<@hU4vbhp}o-r(&9)?q?uxYINgRCgz}X`NI__6@c+!sahMzH$Ag{<(ne6P z3piwmpUjAN<*zf|y%VdTmO9JFrUg)yJ3M5{i*pjoBw&hy$>3O9Gp;&UkxHR&M+0ua zQCd-uZOSfK30kaxEd>!k3M?8*5Bjt~gFgY3|1~aqM4dxmS26-Z~vxfE`Z{N55`DA~bHe;>3ncsTk+v_bq zzfUGsJ;F>*>r@+qFN3TpVw%862qPXjcPh^lcDl!+Zy}QMkJ?1cAKZ=;BXp= znx=tKqzhIGzsAP^QjW^l_sMIvROvr`4O%IRSV`dJ4Z++j%0F2SBBG(#bYV8;3b<9* zz#AaVf2JaUFEm|f@=~2nQ{OeWN`c-#qoU}v;h!X936Ox;4kpX zVhx(*m`sv8)hNE*{MH2wAlVI=Xl7fQ`tUnF!QzcAb#9|>P;$Tdc8fG%$3r7Dp$WTj z-BzafbODVPQ5iFem+$Qx?Wo-Yn{IF&Oyr09031=eF6W=L2wa1X*JSYtC4 zkk%@!@HVFzyV*GMq1-K2eAvuteQ(OQ&C4YrhWaji#*v#?N-qyK;v{fLOOX?+RsZ0o zy{P?fGm!=z+G9AfY1V3~03^qLlYirh!uqgJP!@c~<=0A`{vi#eMfK(3Ru$@@9l#$4 z*+}pKeb6NUdwW-Y&Vx#*W)E~=2!oga`tkJSbOYWviYm)UVZg&#%~^$9_tMn7>M#T$ zLChVn_rnkJbt4~uEuW^}ge;ybDEUx_3a$f%ue1H7FmwX4kZT z%18zxN4~IOkp3bdsT`X#LUZ%oQ~f|$46n*Ew&I0@+9GYan_ud_K ziS6rSb0#KuEOTVRq5Q|Wg^;)Gtz_HsOxGH*Hs==RvgbV~r>WNN!I1~~+`QV2hFdE^ zbUFLB$$RzpOGmeA=Q)9Brxl|H@wU~lC+z_KfBP4Q?5tLlNOeZE<2N~^BFgM!D4%SC z)BO7PkJUA&H3f&J);Yph+H{n!gW8?l*K-fI2ALq}A{TG(~k=NE3% z!jmHap(9!joVGjJo+3@xqs_3jMCcvV*sZ^K#9CjP>h2r*K@WOk=|WpIANHAC;3h}I z{LzLUNg!hZrMbZ($wJ%U6ODYn#$8pyh~ezGf?50FJ{VHX#zNE5cYAVtkLRfm{N|7@ zC+|iZpE`g4A;J@B#$w5oi0#6W>Z{gUi{ZEe?ucw=kn2*ZZHs$;OO;m%WE6bpf<)Um zkA?xcZrrib;w?j&nKZmZvxz6TOgWZoFF_s6l=r78i0R7&b0?miF5zycLyr!Cx$@jB z7yvWgAGG7;;Ya~zbYR=G&bt4L2Cbtx=n=>x0QuPG#Rt&UHL&{;*Hth;=}OMv6Yf#R zG2Zjp;PKtSA|jqk=3Y@~IIm3Ti0}9lt$HLzl;B)iR*sxAyQ5k}M@QT3?$?ZzIcl8~ z;^ge+dUC&6H1D0bH6#BXcjMQAa1K{P*tURK9NF|6j=%t!4<0x>AU)&1!WTA>BkE-S z()51J)KC;a;$%hQ({H$GQ;jwPH8&*aWc>22zHE+hu4zvlXaWHT3SqNfruy1nu!JKh zwHu#9<%dZN3dp8E1E%*`_K{RTEfA~^`4qiuxow(kj~{Ou;kH6=INn;MS&rB#6daoU^tilGdgs;fc_S@vJdfq@`1KZ15ZfUBKt|;J%x^Z z;}s)-{UYHQ5Y5?6PfB)mKWdNJ1(L}9qr9`i;e%WguIAHX#L#=70+6N`+thXkL@N$; zz2*Ta&|dMoRQ-i|F$n$QyPVly-r>e$6cxZ2%2l*=bl{e@e}#y|nCva;#41y#q!Te! zD$sF(B)RT`1d7O{LQApOnY3Vf{v5YptR)%U#+PGbkWk6Wn-GJFCO zA^9e*>#>lKZ$3rQv6bmiUZw7q8IyKM`#3s)<#)3Ip7+fxW(m{IJocKEYjC6sO}7jJ z>mhvuVxo8;rn&A0U0inf z)%|tphcf);1-yx-K854kbjRez*7mn%1>M1tz$xyX!>(E=ds2X#vA z?r*SH>_Cj>iXf^=ndd+1@zT!#9oS0^!z>=Na_2>USu^mTrHDKi7@j--enp_%KE5Fc z@ql;mCo!^g?|n#TVVmW> zuFF_R84>7JhN6me`y{sNXde`i9f!1Yj$rotY@wOi#YKx((IpjwN?5Vc+yTz;u-?zT zf4tnAS?M2Z`n4y9>tJC6HD+4Bb_Nw5o~paCr&n6|(w1CunwTdkIsF~*+8CvM2r{&9 zOtY;Ty3N|PIZ3-IFJ#$QbWcL4VT4&?ZT3lF(IWN|%)(0#gbw?!hcp%0uDE;^+app? z3CxUvK8a#MBfN@C{l?da)GdG6l~n&*__18iIsu733zIi4?S!|Q!v&le+J8r}%<1&X z8^7M@-FOhaTS80D@ZOWGmd#ut&DO>fOIC0AGs^PPE}8Z!X0thsJljM< zs@UC^@wki3+LN-XaMEV&uvZXncgHvGKcwhWe*#(^EIG?RM_`ktLm*~6fMU3|V`_}R zOnKLT+I;N@t2*SN_$&QTOi7#Z0K#swY<=+IiNl{=@@sUq=X` zxFlEY*Cs{7B)DZFK<}tLpm-hVUvt0|s-W!)@lb zACs)9Wrj#E7f=wcy9^H9N90%}_r{}qH$Ms?Hy4a<5J9uhzSPncBl&5incP+~9bfis z+!+doHQ~WsQhwoL8nt6kXFX?Wy>5e6iDhb+gC~87;o=6fB(nLEGdwrJ2Mov#<-L{j z*Zh7DZ5gauG|jPG$zK^h-?l-|SW~|{^e`9k!B#8fqb!_!r0%88YRx+*+^uvuykxz+m{crmQ z_*dNjSy(1$|1oLd+3Dd}mDD}eI|DU-1f->OJ+fW@ihH>Wjf8o6gb?>?;~M|T?JSMc z3AarAaMZter{vc99W%`Al^uwpx@)#%D)i?zXr41A0JQDWinhK~)C6mfTZ*@H^U`ql z($Qh*tIp1=W!r#jNz2Uq?_&d>9`m`L;^8}Gp4rW#6u^PY@aIYx*%iYOSSW5bK&Nfky#(w%%U6nmyjR6y{7&i`7Ei}bx{r)MO@tz zEGJMceFwnpZ!+Nm#_8v>o;U9y*O7VGK5PVOX}te!pN^}`OWxD4RVK2wanCGr+?Kv} z@nkjE)~P~n%0$w~K4>2R87V$tWx5-Kgk5q5_EawCK)o{%Hqs)EB|JmoI>MmwLm<}= zhZxvu*Y29UI;(%JNn|S+1DIwWY^b?q$9tE1=$9Qfp z?g}5kPg$OS*Sx#8=%!1^lmcfzZqNaR9bb3SrpM2*b~E35O%!1y*7BY+1iY)^E$;Sz z7_B|T!;$+&P+N%UnjzkO-|(7$ZLiJu&EXMmuVQ_D{mjkPE4%+0(Ykv&pxBP@IG>UW z5)4p&bO~83u5Hw8es3O4D6o^H^*rymo;Et9eKeBUr(?i7Y*??onR;3{OvrT&V{h`_ zp``joUwgyi?3XM9t^nu?thHycIbd2)DzhY=NFLu?;c!2v>s_L-Lx9vL1WvL~&cGZ1 z3nIa-==D2BpD(H_eI(2iEkt9ZZijU49murbbzjADOip}DbKu!5bM}i-hfbjYO3<&? z{en-z*WvXD>-rsIukrf4Y7#wXrfp-Lr*cMlg3ecl(uSsD_Bxu5maAJoZ5}%F#W`Nh z;(Z0%$rf9J`tpnk&`tFA6KsImq{rp9qu@8VE^k=eAuk4!$~40pdoDPY zb&Jeo_CF;F%*v#nnG?p33T`20z+a>^ENvct{dEU?7agUs11996sba%@ouowWiVx_A z>gB^9zV%AjWL`*3U5+yJD2{JA6yCU?6!x+xZq%+Y_q@}|;2nW4KerGy?wOxuGWh

      Us17vkZg63aflDU&&@V{D9=f=MgOah(;)7&%S6#Vl}0iV}k z_8mOo3&sTtlf!?b>Y47o;VUWks@;wR)Mp%+8=imU>yhK0o#MoYpEV50xy#w!LvbzZ zN{UGN=Y1&#Qq!y3a!oDtlJy0J`B93WtT<9UrWK~j7v03-zac8YZvmNb$B zQ9m8&u>M)tCGMZmbK$Ep>uSqec+q=r$9~*i-I#mSzb(Ia+mFaq?=@2tw(k8X)@IO+ zzN(-);W!o-nOYNKTl>2C+g&N4R>STtGbycQb>1?0!+zjIb<2(=V+C$XVvpZav$0s!dorBM|8osesGZ?bY&I;f!)eQf`F7<}roW^KG zh_pugq5OwzQC)j~CbThTdo$FX6?+nW#%z*LNy=F`9a!P|?s3l|G-7@29;z!Oz+VN5 zp$VC}6(k|Km@@sblq*P0iwSyaQn#*s&u|YgO(DbtP`p1SfN=pH);{x+5#U0-fG&sZ zfO{5%Ca8^O6i5`G_DfqNw;H7_iA-TTR9=%sNgQt?&a7N^saEV>T8-C<=xZvxA>g9f z*`6g0L|36axd61VS^rHlMRh^A+O4T}92(NE$Nr5rvh|SSUxBbBPJ2D9!{dHMAD2hO__{=9iDn(p!%2Jf8Jp=ZEy2ln<#wsVNbrFKM@J6mWJo?$DCgc}*AWbaILe zbBfGdHLld_eLi&YvW@=Mi;u1NwjWtq6Kl14$|+s4X}Q8u)G|+=4#Cbc&#!OW*W$Vz zjtlc#*u+Ba4y_Tfl9xNWvUOlIa`Vak*YDK7{3!3zA@RZKn)24My$ew!$%sXM+rljy6|Zs+W3B zN$uCN+`^JQbNe@6BAe{#@ZFd57(0a;KU~JY64IHD#gEn*zmD=!_tlm?{N#jEfN-sC zWbOmkiJ6eqtc-rfvi!TUIhl7?x%^+JnWWS{$Ybh^55BLG8jV@})PAn;?%JVVB|o~9 z|8=~H?Z~G!%;!b+YR5+!f&_WF?S_WoP!Cq&_x=0W7LC)V_wr@5j46iu>wCsW$`J$M)rGM<78Xnt$vmfsjc1sh<=ZsXkC2PH+|vgK-I}^M$ZV&Q zc!Aa6{&f=*F3erkMq8E3mwOi99l@|%hN~p@`PMmIw3o2L+MdDQ4Ae#Ijd6$aKhK9XRBCtHa>lQM-e-b&BuiP+y zQMk8cUMaHgnkmk9di^BX;pLL!vuDo+d5ydd?AzC=kkQ<>4QA%LP5md4V+AOEbK_`J z?je_m_|Qc=vF%}pwq1U9?na&PX*Q!9_gF1Xd;WCL$~{@~l3{M^c=Aw+oP$fG59{S8 z`o@*>28X57-FqS zcRFcFReI64U}vs><#!qP3rC00r#<1+nQ6RGnMut%<~ILWE$rqa>uZLF$L>$xiP1Q} zC&OSnFmG(7^RZ+UeOF@ouTUJ!%3|19yq1eg_T~n}Mqtm>QWX7Ee$P3$JXfbYf5UgN zXP9)o>gUsG&+BQwB*Dt)Odsw4ct_%-Cg00M>)M-EcAJhL@1l7c1b^~7z{lw_lgP;v z&$@5lHDX;&H0)x^jVl+~KV1;r2AfmYof5L!R_PHrv$aQ`c*CZib8mxy%{JQhegTCB z^uJM>c9|1wChH zW!~rdoAgGPXKr(OsmI5z9~>n1AN#2DuAdLHAe!wJu}Zn+nf*zGc! z&X)$T8|4vCJ#=g>ns~BpD$-L@KOzlwY|F2Z4>^kqlPs<)$v&}U!SM^Cp-@HgeMbeQr!ZP%wX)DXygXlauy(Q4f@5(p7IjV%*15bmWRxDHMuJRdY-;SxD z@%q7Yu-Sp>XhB<-%k~N2iSzT5uB~NkVZk2I-{L#`@dpJJ zmu9H2?e^>vI$pt?Y_ZJut8?}(zbE_bS-O$8x2%Wry1omutu^3BrOx5v$qfARhNwKb zeHiqTdwZsslv+O1>#7cOGo!Ti3r}&!P5JN~H*%1DxW(0M_gOW{7lQku-NPFy2XilK zWu9^oCfon^Fg)ZF-d;kBiXz4Fu?Wd8^_hz0Rk5e^i?F>5++QvBvHAR_td>SAqZrod zq7zdz{Pcwu@w^ARrSwNvJdS6JYuElzEl5w#gPlA4n}gb4cuf4V{MW^unXH)BGuh7e zelzMRo3A-UJa2baU_5ssP>Kz!%j{6wPZw_bcY4(hDw{7dpBy>xe5;807S_1vD6icS zI6X~os%dhp+!^84Zf%~!4@wq&#;m%3)mBupdIYR)hpuO@qTlRNHYcz3O^a^Q-7&;m zrmD{n3%4j`{~y%7Wmr{F*EYHV3F!uDkWf%ikxofzkdzJq>F(~5Qo2LBMYYeT8x-SFK<*k6I213Hy6aI8=Xf zS!?$Joj3k*ncDf4*4gQy=-N+uF>$KikFU3+YuZ;#+ z?Ycc{{2-3RVDfTXY^5wVHsP*EGNpt91va%18>Ag4vuJ;E@hcWv>*b?IkA@CAIu*bv zVb}B6;H_~n{gEDu57_)$2C)@do?&>mG#XCld!2pjqXajkWq7EwevrSp?lq00LMRp^xYQcP_?5bcuNA|UD$m?w0tg%wla)C%UBa3Vc)P){_ zzTC?F&+a~xWzygh$>eF_?^r%~Jg2v)J&Vu@4$zYOr(C42k$Kdw;TBpP4|L#+hS!?( z%szQMfD&6Z<7nHOcSIzPe0DTZ*S*pDA!D>?jkDUEt(Ii~^Y&DuNJUub3eS_ldOz?A*#-B zC6igcCB-0N3j*N&QsbP5vo!(jxsifk0I+ywwrO+mlaX?<<#?1eI1m~K+wM}PjNtfq zB1A+Fqt1^HA-+Hu$h7w_e@rj=Cq`GuleT(&%{LL6kJuOq+cnj5MP^Oc#>1T<$Ki(_ zCw}Y|{CJ~_@k6|SNKJht^Xl>)_ujNjOLtG~^_H~5t)MsQ(df$uUs;|QTxg7y7iMWx z>;scyIJFQWPHN3kgPeukRb8%)1bL)WgSNbX4)%q0=qK%m#kEYp0AD(s6Ajfl0O;{SWut}|? zgfVe-etw|E^p0yphGV8}sk%(<=WYpDXS3;5I>)*}Zicz7G7M|F7iOoiiuJ`T;Qa>_ zT(JB3bn`qu0272riM>$al*mYCtt~T_=UR-;DTJgF3q71#+T;6qH@*FyqQZwI(%oYF zUFrS&PoF;gJkGv5#6jzBt+~rP2DFGlm;cY1N_}4Rijsl`)|h2sCnt{Kj3O-dCf6y} zY+QU!QeZ0RJdZV69u9&2)kwZ2sUEpTyAxa=VdoDCBZZ8DL{v;sPkt6Slxm$)8D3tU z-$^&pU25f>D8`}YL4i0HnA_wKRMl97H`Y(7J^D()`@A9Ax3$Jdz(Mx<{Zv@nFa#nJ zavBhnhpfUJkCsNDz+`aqE#m3zVUHoNBjjaM;q7e~Lf6HXr}xiAQ+>8-5E5x$G2C4D zZzpkC(ZZ|+(2N`KPo#J~q%1wow!9OwyCz4x_oo6BiyUu#$S9^{Ea#=jbtMA8CM_;5 z7Lj$l_Sq0{KI1ONY;K+;KA6SD!>iFr8&88f7jDI{XH~H3<6}0I`M4$&k@$KfeB-nvgcPViRvY2fYy7&TMAE!S6t5I0?PNY-G9 zbMg0Q(TX#=3#d)iT1vRTk_vzSuhSe};Ui0UxChCqpML=Ve_#!=9rv=8v1~Fv+zFZ4 z&)!+VaGOzntFG#Ytwb%7^Qa@zfNe|FE0x&vmfeIpOB1=k>nl(vG(z9)TK0QC<`6;@ zA6oI#TMVhSp3@yL7FgLx5trUvCtQvOE~Y5XDgxvGo^kkKWu5xnV7D^xpOrlC&#!!5 z{~~$Xao;s&>GO8Ez{PX71urH6TIQy&_SG>yPq86cuT-<^KY#pk{r2b=?AmnT=$6*< zpwfMMAH}ylOOTE}TF3#P)*#?yj=nqdMF=+K$<(QJ|H+PJ)e~!nr zER}?aOBVGwjs~1CG5;}w5F@ZW+@H5?FiEG>OG^ZP`5CzHF19Q@xmmqDhVgO#RPUL; zRvs%eFfjA$p=N8(SU!bc0fEN<5b`=_0p0<5=`ZW>V(G=vj^0}5d|V8fi1}ZGVWE2* ze4P6)>hVb*J9*t6h@N5SO&*@{4NO6`DVfNUp8NF*H zDqy^A=jte?z-ucGSD0+CJZkFeq)|uaOgGr?Fk_G>5t(+G-J({?&0x=t*{q(`xu-80 z-X79Dub5YJKGxFE6+pWDK)#B5+0y8xaB^ZHJESyf!wAXh%2v?#vA_SQBICv7=ld~~ zm)JlAnXPo7Mo(jDd=9iBzTlhYEW^wsY4|Q4KeDD5H8u#apKj0RN6wk=ZLsj2DYuk( z`*2u^Ifc*}Nw|o=PRh&uxCqPp+v!#C7O(1Ou;{erL(fV*oGI{O*JGuJyl#`NmWIn? zSgi)RE99K$RDQIZo8$K=b$Gi52Pp!A-{J0BFBIyC(3+-|v47S6uQ<-kJr>F{0tsiB{YLpOGCeuxd36%^atdKb@)ffW28e^vD z=Yjz;%5w{ULtxh5A+XZCKAj)`@k2-MW2qK7^GB93T*t_t+dMJV5~I6HxwTBUY~q8k zm?^xn9ATnv8%w>dxv6j){%cM~yxq#fE|Xi0@Ckx36_R6SL=lfQrUxE25SrI^oN%B* zvEoQ)O8|{XUdL%}JxUYpa-yvR#L~oE?|ax)oDamMPGfoF7vixq9-t>dB6g18!7^Z* zajR`{;2JO0bfkmO!!01gZz$-R_Zrc+lLHL|GodRjkCSc}t&MQ}w))#r&{17Zju$6^ zx-6_I5UAiozWAZ+6Hz%oAdhkxW&Ki6^K$v49I9!(qt#Lb#m#-H_Mf{#B1-geN6Imm&7hth`+%(vG?@XGNQ4T^;}RMgY`4!C;&x>kG}{PN8((keM1SHr{OR~NhO z#hXXp&)sGk&q>5&)7}A}(s7QL$En$jghCn;Z2*61J7-Wp8UWp*>ye z%EZ}hMcqIlZ??D&rUZ>@9B{@~=-oe4o zcRH!&J~l#UZ@VU)#F4qUWFUBBE!N9XqLH<;ZQHm@m){>7;hdCztEQ!+GjAgOgSli^ z?ms7lrBCUnGV_tVQ8=^dqD+3NxDJ+F7YRYQ^q!8Dby>AU4egI~kNcOLD65fCC&ax< zKUczb?%s+w6{9Dq#N}ujPU+XU1N7=wa9g3SWK(nD>V^Rw-g3zLxtW5MZldeb?eU`G zr8KHSe^-Y2t9g$xmfO?2jgo_$uqQ7goKKEVphpK-z2Od@f6v9j0s6HBJT^=Qowtdr%B%XD7rCc;%V+ZC#ZkPm7&9S@3T@qGL5;H_Ki!YFqsHe(%aV*rgKfiAN?)5Tn zONa^4<1}cn1Mk-rzvtnXkh8T9I45)F<#~4}Y?uHzwtByBW#vX7W@BSDe&ZH7Ip983 z8gKP%wu@^wE*{W;%P(4-qApLim_-g%_bVoN*4M|1#?Wn;NF|F0NP&j{K85TO{-!h-8sG zEx7O=$y5*)*0%{beHcG*06>Mm&{stL1QX53NY_EE(UYy#%ds*^1w3bqiyPywR3G!` zjnuyrTh2D)!MFSv(?*tLG$dW$Yh}d%M1Z5!!-N|GSfIJdSdaKZNN~0Xk}n+I1Ykn+ zvX2f90MszapQ5Mw%s+@q)p~BVyLAwnU7rw}dvmRClS`tnrJ=bp5&6~bP#Ya)!xxwo zz=X@&OznAYe3lG}}{ z$tPOG#GSbFesI=)))KE#P33cv4L)AJ=Z%@6g^&51&%~Z6(ufpO1E;h6DQUdAt;Jw;!SI>!I8_ z`A}UZU^nb`@EG<|%q7A>iVU&*77MbuGMz}Y^jHy==W2P`<_7UaUAp=_s~p26ei&(~ zB)2%qyWIOKDIsvMZ4$u=Xx}98V#ulxC|yx;aZIWQrTVz?Ds)U-cDi-#I&Y@h2m_+u z%dTKJD0*$Z$}HAPG@9*f78gj~_fCK!$74WvS?K}u1M62>0CtI@-?spo0U=XvJ25RO z2r1SSVd2szlmDIvp-`Ff?GDHD=Y%5yeVHxzc#F)xjU_0>T0{gQXsEN@=6y!0oZ#s( zUxC;3)1qq8VyCOO)wofrhoQ%HCw9(hg4*NPJph141zes&AOM@{7#tj&>7u90AucQ~ zM$f!Hjva1YNFz_Wh0;OVQ};(CPcw9!q7oAmyT-@IXGAyPDl>;K%8v^?6d=`)$*yK( zW?()?F~BIPuNjUqJUFgB(eb>mB`YNe0O0hZ{vxMXX=9D^9xjbfXHNY`M~+kEi37at zb&@tlII*Fjnh(Iz9b@g5RkIyQC(P_ERhKLs*80QOHT1V;hL4U8j1Da`x18>ojg6Pq zWw}aRSZj-@1nH&PPh#Xdu-*$fKHFcenBd*85C}t_F*iY?{!aGqZwMj>X-s&G4-RW2 zfHk{()I)W#;jZ@}zl3dazE4V_qqnR)qoAf9`3+uz(>58C|7JblnUB8*SHRyP|Gn#f z-}m>;!H+`KKjG%TYryX^d?XvX|8?R8Q1%37TZnaj5wO@xB~r4owTd=UPC3@o zcefU{8!12mA8L+T$iFd;2^2Oql9@*3uYF(s(o2P2L(A3*qc+0Hp8V377E=1vjr-F+ zzqSB{-7U2B$hCYjbkV?{W3H;P z3V;Hr2-v+42)^>oehOHMl#RhLl{Y%W1ex>6>g}a6jPz0VMmUk7pP?#Aq6~GCs^v)L z(q#ychZ_|gvvT1X9aOzkRPaYBm9%GOfydS;{z{X5)F_18k;|0h(fVNs#M)I0VF4 zvtHSw&amr~`oVrol*aW|F8A42uEGawT(C;G1O~l|Q>78A6Z5RyOcc=xR0+5nk!+*@1pIFOx-q;mTA}w%7K$B5 zyiV@H4ejjSyOO)J(h|HFoe?0}HQ(1a(*?ig@6osm-%2&lQq`M-gxYSQGhJC~bSw;a z6F6%tIlp~m{m=Gs+&2JL9~yqu{GCDUww4&OvN?xrKw#Qw)BeN=Ct@$AbHUQHWhKlc zbGj-5=L!W=^!BnKORKE|;=6FvXZQ3ZuFB?*4*9)9H*4V=9V-2XfhnxA>4ObUbHfep z;N!=U0*@L4tl#Kb+s^|(9ryW~H)b+Fd3tjbxyR;zzKoa)GMJMbHN)vTYJlUWVm94{ z@Vejxx>VetWu8-rTK^j#n3NB{M~Gj==Zy>z<8O*Fa3P<{Go?Nz<0Ur085Bn4!ZE@L z`KL8PL;DMVpN}~3=~dNYHoNF>ZNAKiASt&U<3*G=u5*+;e2xC+P>SdPil>n1LBjGA z7;Zn>n_=s-17Y<4{sKAfe>1>ulDeUB27k2v?;9u~{eP>+o^ik+e+H_FD6WL?Y$P4L zD-=MUR;Y;*BT|BmI1v4%B@`Whkw{J$0N;UwwOCrUEZ?C1%2wbK;5eqj3b_KPf2Y>m z4Xmh3>AwdF1UOP@B?SKD7q~|+pC>6O45?%lmz-HmQXHtHJ#fTqPMUC-yQI#V4ek0mI6%0iz9&oEI}ltvLDSeX zjz6jJn~g?$Z8>i1gJy8kaS*-loi0MBWumf^`OruCz(~$mls@Q{s=iV zp{f&}2m}f3=i*9!h0S~Ht4d0*z1%OObB5v=mJuQOUI*+05f})0_$DcH4Zye&T(1t>pfbs`PkAP<+EqL*eT_ zcO)&IyhJt+CU4;?08l*8A6B8J5W14TcVT#KsWmIr1B=ZRnz&nn;1qN|7O7`A@Vy0npzmy>3R zPB+h|1o*HMrkq`FBFyiv$)|}dgehw@t{}Zj^`u4#3Nak)j>T;ID_&dhE&XTecYk(S z@zsa!g8YD?$89kKZ~O=d0;h`FVVmrv$zcUqztfzf`e;~?A3eyt6PbEf9ysu*(G$Db zrg&y5a1k&f@SgoJQ(+#c{J9H1|Nha!-4g$#T4c}FtC~HL-Mm} zuFGzfWiVwqUaI15xzmHP{6Sb4`Q-fTV6i~_1u0}H=J=T2NVD+@(RWUI_p6=cHdb>5 zLr>T)py@gkf(+m0AeEI5$Lka+s;A?V;eHGV|p`iA0<#RE$G=%2EA zq0>-iU}jO_V7W5rhDLglCC_nm0u`%w#JU4Xs;g^wYy|!oGaR=$2Y?)+6*9midh%_tJ4am^A^{Py$8eVe2}Du- znZ?`UYy>A`m-a$b1PI7?_uK$Tn(n}wH4|Z#uCQE%x$>|k89>x6Vob1FJ;fB0?^eze~UE$6hL^7N2(Rg0N~cr{uOX z*R_}8QCfsdXG1;xBaiF*jyRj)vEPETCH2{WW&SP7p_}DTpZ-Vt@3xZ{mYof^r7*&X z^x7C}7q0?(oW);%k<*(V>_i7C)9|N&zEcPzgQs4ZM)u%<3Q(m7XjFHACIp}I2!<_= zuQTrpW$FOP7aZ?Vi&F<`grHt`n`*%^hSS5~L6d$@b{R`3&B&o^o9clD^kEg5y)Q0>5L zuvu*xSW%ejyekOI;i?jFmeRbCx?2IKEcoi3%8p*mcWWQxk9lChiCcuILx%S|*8_wM z_AC^-7P}Vz$7yP`;LhWLTZ&k`hL%gyfWCB@aa`ML8;CG!Tk9s()A2Fv>Z)eMJ|*oJ=sb)NK+e(mVTgb#wEdeF4G-D1*HHrB3S ze6OK7$*HF{knip#bQ7DG&oepVf+W5dt&c>ropcet+In7r$5-8c@ zz64KfOrb4<4GkyAJ>2(-$R%%s!&UStT?!3nqr@J+02G)-?BNb3K2z5sY zuQ%eSNYAybbk@FoJG^eJ0c!mlW6eI*C=s4=@0y=vuifHbkLrImqEhPm_a98Pf70v# zJOf)kav0&-j$@UZum|}74Lv~efF@nB=~WT#* zK<|VC#?Cwon#MapYhw!Dl0d5g*}emD#NLdS_kLkWk-wghW0Q(KoTD&AxH-4s9)dZo z<Ii!~iHdOrlL&XQn&rqMDk?PBtz_vBSo&t&>xb z*!GW`sldPCQ;nIL^Q$vVG|7Rg2XIs99_gjQG`a`W9qWtilMEl{(+b0;`K+f{x)$H7 zBgpxwo@~9i^Ui&AgK(o%||@Fhs&Ce#?<)w#kK#_)mWvZ=U)7OoYNe&^|hXe zv#X;KB@K z*{hACz`F!b^xJ*ani!weJO-V8UdqY!oG$y|Kps4L)UB@P6*R5qvp6Gaf&VZ1hYUU{ zO`+6uKzI1#xV|b<2@MOw%cSnA|`8_DAUg97LzZ zUDdLwzP^27VPQs;uJIv$n3(C}`Sx@L`TxV|oVL!+oG{!_YpFz5oo;7)dw_>c(EkHp z{@yec4fGu1g5jn_{#|^ynEXEegVX#w_5U@V^2U4z;d#ibBC%Jm@COD4-U$%qNI2~+ z+$%3Hk9kQCz=MC!g#QL?OVv9|;^N|GTO}1SNl9>V;?R2g_5qmk70`wneEjdz7nL=y z;?_ynbi1`|T6!u|HOqkHHJ?mr)w>?TMf|@f+fl)6jA-fJy?Yw9mdQ&uSy@2PA`4&e z@bL5x4^PdWo^NCt{T$D$tgdE<9TXD1=V>yyacM$;P~CL=4b;YTl*)?zJ{6Kd^i8Y~ zm5-cHYE}DHArK5cf~1#o95be7<>);;s+CThLGb|}JG^Ty%lS}-yu;l1lC-AvloeH# z0tUv-)18U(CKXko&)v&m>~D9LKKI>$sD0{9oEd+YTeSPfbJR>BrgW8*kl6Cfcw&Hv zf=SxW5nH5MSXd}*ZqD3#d*cBSHZY)Vz1U)DzPZ@$rP3_ugBnpG9z zECaN;U)uLOkoJC45)kzR&@4E)xN}C7hVB`eu@Xm)`Z{RJfcO~q*!G$YH}j$amw|^F z)2pXL-!_#b~@UR>@T;_?>>?w1Hq4;@Iow{F;( zTo3Q5?fnMC!_;sD$bDkoDRTEd8&(PDW_-?J{6GOFi{oUoXtR~0XETk^+uY3Ja54&w z3?{+o*K3YPdTQ)ux`_Jy^1qk2uDAyU&YgVv^y%8sw`d{w{sYcR;g`Xoq1BCzkh=to z`j;@k;Oy=edk`Fd?LZ_V3W@ z@?PBobWxhe9QW)B6!fq2DS7?svn}{x{Ya5fKSnkQhR8fX+yj_}o%daF;kv=e8mP^x zvb)V%Ie`7#-w-$Y-D6Nn9{02t9@+m)8+g`T8y`?z6(TD3=K1WQbUn($Rp{bDTY)8S zN)ElG@qxxKzgHi{;t?Pe%|rSVV;})0r{r3LK704agD*w^cVUle}_Op~3W) z4<&AA#~JHfus(_H1);y`W3ltpLFml*@KcBD)E^(*A0m7(xE{^2(fp~ST`R++Ik9-y zN(uGch5Zc^T!ZC!C`agY@v*STY*g3P)d7&nQ5lF@))CLchhJty%{ivZ&k=tUkSg(V zA&^v`^SgSUzp~Mq5a8(}*X@(U7%#c&jovmr9W)3$n>6a@C2`LKnqnNPS&jLlC#csm z&_(4cV>!hsT0l}>{I z|HOIh&iNlb0VGMyRqy{)vv)x0aA-sX5d1c8U=hrTK2;d6f+>Lbnr8Ui!&g>*K!~n% zhy{VOx>9{~q9>S)5Fl;0jZ_YLY0-d!e((z>u4(>E&F4@Eq-u&gm~A5aGCWaod*9iN zpQ)&-a{CA(2)N(b+)-y90DdXexwCS*ApQNeryy2n=1U`?fcFC>u z%3fuwWMDvYS^#+o5WIPf3e}1fW1Q~2QpZVpUMVXE16;9b!s0?RM;#k0gb$W>TLpC5GdliJ0*_KW%fmiWUI?)E z#Ik*V8O9vofPt!wTlv&z*WyLC=JfRmkj zh%XC!@rN1FgTZ2vVIGFTGP%*J5M*9tP0}>~7ERTFojVNnY*4i*Ej}s7JsIx?eD$b@ z-G}vh5fF$#@BC(|jW>gu-?%o>r*HALcR%~qe7K_{QhHoo;^n=fN}I_gaD)wRR>j20etMqq(zbRKgaOs($>7LgY@ZI9Y1-I z4VjrzaUmh@ud+RS^~TsF%Vqfn4Q(f~^;*=<$MpeZWz??)&Oe82G4HEq+>(G4e!V>p zB}o29>P}1!Q347dx#fq1_wRIKwJME|Bp_Q`M|L=}5^_!)bID0GPfdi%%Wg$J!yR;p zFV8kML@}gMa>^&4-KqgpSG;q*kPBF~0@zSeq+Yl!56FI^rE}ITW!0%=Rs?wT5MO|{DJPVQTWh{2C4n5n5gd6>ZBI2qBAUZ?HF^oFpq!VibH`+tPk@rM zJ%=ubYAQEnH0D`iz$?~a}2j?C?3gU{~e6hDqIWtL>c<;#ua`g7E8H|m18r?1Oi z8B7mMcegzMF&oQT4Xb^-+(Bf_1!bo_9v1XvXT4AAPEex{`!PMn*904pxnx}&8xHhY z0t|K{{t2ovmLod`34{?pHMwF}*5M*V(1WbGwNeX6Snvz*sxjzHTBBCz%GpA~nn_Su zEo=S(xlO=FN(SyjFNEMB7cpmlcV-8mM7Ssy8c%A)q*d;HB8WrTzm_iLb%as8Rkd01 zy4Vo08|;1Ue+8BPUZ6&2CK4iT%qbJ#pB#XMj)C%%(oVz*OQc89I6<3A$J5km7^o)Djy5&w%5F)fV4Z<@VjYU z48Hs-_FdxS>lNNaZ~Nl*`ptEGYC0;&tG8U|=jU&d&&_k=>=0}7C;9_=Edsd5FcFqn|zw5~n zT|!pAC+x2X8Pb*RK))?~K9jN=%&zA84-o>pT75SVPPaKnjW~Gi5S_o?sLB*FLz&;He&IDgt2H!=cNnW5$!OgtnIfJ>BUFp zs#wo%?lv3i2Ae{^wq#L7H^}i}y3OL{ukXUWJK+AjoKy1u++_^7`|HW}O0nfF*zSAC z4D#11^qrp5G&22-Nwn_9f{@M9Rh_b8JcBxCAyp!d`pV|}&*ZGj#<=w2)#XcM6 z;DEY&3;vVW1RRpq&Qv#NO4n=G)fFSemjFZMEM0onqJoi__RZTTBEcu(bs2&# zKN=_^d9fu;L*~6(n$tWFoAU=VT-Eo2fY9w(fqD~#5&@1iPd z50qYK2Nw7|(MA*%k3Sln#ps4ENsZO0Zo?%4fGaAGGeJ1q>>twJv8eU=3xGHdcp~5o zyB@Aj;y;|tcRCo6mw>e8`_v;$J!87M*`ojwCw?=jqQsCv<{|u!o$K*kkaYlTO)UV4 zTId1vB!13K{rxJy2t`fVaKDYUN?NHoKa{}5Wpz}&2fJWbQ?@z&!_H?!jVToGsgPh&-`M-x!Ly0WA6+ryBC znlRlwXCuGnT0!<*yE7j*x}80IbL4_O;=1RI6|}o}ZAGNNKBK3%qF1P8=X^wA^}|wV zTVjBsQ+f`Gk%Q>t0If!3JPJSVd!b^Q4*AYTnzFhkcs<0{LY=Y;#+{K*0djr4Z2`^S z(N*H0?F;$o@^7upm#~55%lht4^h=p#`+Bctgw{MtZo3xoj7f!x7*kj${d$!=6L7;+ z_TB8N?w&dSP&lcLeMz4rX!=a8r41X9f9hRX^TrP93$sY|9_umrTStnx;Q>-{D3C`u z)9|VL+5z8%?6dJ_Ra@6ifF-tHj=Uo#)|;=w92*xG`03LplT44F;|xYPnT2xj`7bgu0n~Qm4CE%AGX;Go|H5F`Je{MHBRHBO0M2{y^4UX#xVl}g zxjS>_d~(_T%)-j-YlL)dkk_MNe3 zTnb7~RNN-afKpU{vcoi|78ei7Z8Ld_CqfuirnLFk4^=*NIztY~i4C5hO(&4nsJ>HG zHV_23FG%+oraP}X5W~5kpkDFpdXWd5hA_SNf|m_Vabl+7JZt`}&+cSK_h}0cUX8ZN zuGN^s7DlD>+9OOcXsv3T8j@m#+oDH`fMMH1;j4T@#{-UvI>bgz)%*E9oHb7<{LQC) z%4OzyFsZWD-m;$FB-Fc$Q1+Wru#tE@&s&>;Hd6u*M^Py!17)H0sO+{s-v|c-(os30>^eU(p4sWg?zr1B$YgVk_XS{B-cq{Li#`=t}Do83E)L8Q;8) zl}2zi+}xdt1nI6UGC;!(xEA9UcKDU7_(3Jx%bVBFw#!T>*+Qc;xV2SWr)%sF6Cu8% ztJh-GPC=L$y}=x*N)OmNaWbteD+jb*mv?K8uo56NHYJkh3-aLUF7n5uyHWaF)gy%! zd^ng$Y|Ac#b2FmMG`J1ls0et6IRZd>Ppg01uS zb;nU(kIK8MGaNt$F2c%m*_TmgWJpM3quL@`@Ffp%UR{)v*XN3Fc!Z2o{j~{21(?t~ zgLC%p3A$@xyo+RJOgX9iUiB8ISt!vK>K|nIoXjfAY-S#4NAZQn87TqOwpjU4;3DYu zIZq%HM*-FKDl}I}g-AMXUAHF^qd@U|LwyW1$mqx6Df4#M@$0|Ba_}`BKdJ zo%Zpi!zsS|bd7!e{DUj_Z~b;$8HV>C6uCrN>>gA%7tXDuEQ3B6(@yMub-=B5m#gZ6 zyVbxXMJ*1cexBlnXh$i9a#SEZC)?x-DstmHEM=B1F|fAs2k~{4psP`K`qXie0f zj{NY7k*HZItHXuPS$Hjy?UAGSRJ=t_CJ@G}7B&>6*bt}UAxQ;_sGlRy;4=%Mn|nZ} z;3T&7W*B#^&CKI`dujnYZn)eLClDvyy6(zsf-|0giU?QO$?U<&DRH04kQeDZ*N#MX z^Gn%p<&V_qKn2uQtuqVIQzse9UZ-+mZ)D*x(nh9FRA;A%5l&F3HNq{2uvnS2a+kH0 z?vk8Vn+HG&(5MA!m%f2i4`59So|~u7_^fs!@65JHULlR+%JpLwiv9oqJtr^K(A+ZD z*YUXnawsF#J7qrCj9*K2PpTWwPd3Q;)Gw0>wVTG@`rOa(Ch+PV5t|C)rl$-S19l9q zShho=pBjIut2-{8V-9OT-dXVEmir}OXk0Nz4XY5;a>NjT2OypTOtW-+x?w;Bv;*Q! z)Nn02b;bSApW$3HZ)aCWGxtGD!FZKJM8R(wf`k0sgHN zAC!#-+fz3fx(SMk;poAO4^zxGFB1{e`lHm>G@J2(B8s_XA8PV=*+n$A;Sv`*I@|ji z5tU8(Wm8heU~xKHZB6paIfEHb$?pv6G}oab0w-re%XkoAd@Stq>LRN@c03%-)6Pw` z&L!|kM}Pos@Wi=`m-5v7)aNl3`RTstHfQHg-@Bm~AVH5=wY%J>uwS1JCC;?gF0WR2 zT@Jllczt$kTvr6lWPZEAxAfqORl{1x*ffSimsGeZ4>76BLsdrU!5QL*~+ z{nsD$_IZbycKBoI@U*Qa1yey3%4tb)apjxC?X{!vQz40$Gb`?wVSHuYO>^WgJh7+_?xbYG0o4_%<~6-*pWGeQ}iIv z@?0|c-8MpZ_v$K^0`CzT8dj*r&J1CJDrx&e4Cwla^jYdw|R z(scJDb_EF8?`a=3Sf4m~gygFlaphlXSiE71yDwCO|Jv>cmb@9T9WMsSP6j2tzgg*T z8-}-ksqI%N5tfQVFB&sGpfvEBFd9=4ETCcz0`Bs7bfKta-O@>gkFKiH{oiN}=@UuD zsl#%$Ng8kEs*WRB`rU4oP2l4`XjKbhC&y4ydUe0GAV2VwlTvQGY@tFyIX{x=nV51I z1;x~Ml#VFhioBGxsD`Ugz^*){086caCofmgzOtnG$ob|agRQ+?pmbiRWJIelU>sA- zozyM4F9W9}hZ#`Q74EFViK>b(A@It6&y(dEKvYH)@NZmg;L5m@MZROf+~jrLvif}u zR6xB7T%3#lai5wr*tnupIJ+4Q+{N~E?UjHS)L!hrfY(ud17)w_G#*e*-5+Z0t@{WN zF2xKrFInXWW4jFbxK0~2s+Rr}Gb7V3D&!<9R^(e19 zK?EHBp6sIpdHKK|eojV0GeCA0Fb38gePqBQ;y#fQ_%7+S&(v?L5Rm~=1;CRqHci_eCq~2CPI;wIcR;R4=V)rXKXD!#Qp_Bt5$y8gKO4XF> zR(Y6CCS}_VD4ZrE1VxzA+G4pN7}N}cKw3#I!EbfTo8JVW9YNFx{seQ0YE`Tq1#TQ)v%?i=+IIP?uD|JoNU#cl}4ej)xTLaFIjs z3Cx!@69B9UkUsae=i8vY8+}CWwTOt#*QAfH?h&) zeQyV-Mm;I3faM{M+?X6h6fAH~266JG2CFs@k=iyK8PMd?GV*5TLq!Lu(+0&Sxq4^O z+#CHPnTGHRcV{Er=980II8;#Rgq~4!b7=#x4)7MhVy)DMn!BEzlQO$$7e#1blcQV~ zf!)bc-n=yMBNYJ9h^&6Z0O;sQjtssnPa{%i?Oex<=>fHHbGMcYZy-Yw+w+6`#ezZcsddYT`Tn8Y4>MD`NKJy` z$UQmfum;HJ>{nIGOujtwH`D2@I_#5f4$v|(p-)0;mM%Nc7nT-!Ow7M*bFTsO`tj@6 zuX!_DT3T#AG0~adh3D04UgqvK=>;yDJ^TVnal|D_NFHf7f9^Qixh-11xjaCqs?dtg zz^a`-{z*N0c5M8&W)pDnzwLLSjyBo&#IclAI`qk>JA)n6(V9z6!RrxGQ#v`3A`}XA zIvt=4JR?x(U~xqQeJ^gG5eZ7Rpd_aCS%d_}_zAZ&dK%ew^?<{YKQ@|6iZKeY?2&vcj1 zYBIk>e*I#*OLeEHBxD!^0??PI9+UFlb)zD6Lzacn5>>o4?w zP_PRNX$w~zD;zg>1`zMT14^@yukgfz{Nj*OQQ?b@cz}4Rh8{HqYGz-~%q#z#HEPBJ zXedgbnv&*YL|FU7+9!2WH~~Nq)Z?HlaEwjisLWv75S`rguCzTAp=R)Fa|cZAS=d`2 z0NFNTR*LAFBLh94Z#^N;f0X7RJ=2uZIW|qfijYu`pW8lG@%?~ooaz&+3D6?F@kYNR zQ-)CymH6r1<)S7YUYH{FbZHaSr5u7~8pA=Renjyv^EW+3B@>j*L)|JTVy7ufNQih2 ziUQS|D*>$m?p>ft9rlb5l%Xi96xd&xYpQ)HcdG_11|0=2FFYcu zNQmOvzldKy3zt^qV+l+xu$W*I7IO^wue9nFvHN{Gqu)X4tL2;Q7#?nsjLZ-$p|Y;j z{YRo8BBiN3bRa@U20ehtd>daiXFnV&D=ozpbhoVT+xYPfgN<4bBJAneyktiZ_Oaun zUZ)YIGp}SdwP>FoB<_W$d#Qc1j{pmdG!532{dCUR_66YdkTSJiY)05 z2e!Wnbr73!5(7{2VMcsIq&q)=P(j@32Oa}Jt3cpMW&sZ&PP+o1jTq`x>r^rjU^;i- z-MDqrXOqR`2}dH0?Wf13>GS}*7X>~-)iUAcv2q=L#-QyY8Y$CpOmtBU;I*s2-_PLCvEX>OV_@2V2}SUCgu`QU42yMA|fWy16SbmVMPx! z+-{5?>HQ+c-dhfU_jbWJP>zJT5G3L1z|1%f^@U z>9b~aH$_DDQRLE+i`?D6ziMJVgq-DTziBJ65N`j8!}faPgHB-0}qe7RTk$? zvy-D*S`W=<8j}pWMI;NE&B;8mBO|}Gv@!5Hb4@peTnxv$B^h*YQv&-Kw3fyUBLC?k z5gZSB6l0}b_UUE~Mc{Oql}q#MB_}p?_%2E_jy068^MIsshf5$wW1vRZ{ugOxKPx8X zfa_yYn*i(FGIFmdvEa7~bzbWl{GbO&#E9OtOPTH^Fpm%YzmFc=gog2ALwF}A=dAw1 z$Pd0+=v5Yx3tCiHer^XqVsG*3G`t89lz4T4f6_X-3MmO-6&BEEKGC`U1f+iF2 z)+DdqkLw$mKJG<57o!>#>)4>9{LiqI@LbU`a zSJYsipC73n<4o~AwU^%g+yI(aaB@@0ZMFi~3Z-vtxesULaoXcfchEcvH12u=y8LJb z4w2yq@=}4uKQ>zp@R}(g#c&XWT4)cz{Am(M+n`JmF_!!kUPrmJ=&oow2+qIB_jiG3 zTl4kdh(tm+l(3|2KGZ%a=gUS?YVvA`UM&J7EsdA#lK3yxq7a#!` zWiGC`?FpunTNyE_Dy+8n%+pql)I?yA5fCp?cOZGJ+7GCH|M4AkEFy##Tpk`li=?MP zPb+TF!y^hT2Yq^rip_j14yNcn!o}CXdvk2DFDuW!A-|ND1$&GOH1z;=?23-^ngYYMn36ilP#BWu454HNiXfNDW5QVnuLP^%6q%zQHh$nEgO&_f4>(j+eil}IDcsVBbpmHHJF?Wb!yo?VsF4C{WMV@WILW+M zYYlPpbGP|UT0O99Wr=&2&hYQDCk5xaX!@;Pk)JK6p&qpH;H+qFA^+nRfi5F(Wd!U6 zyv2!Cv(@!f*Yvj3irA>gkf1!+(2IAALEt19-Z7OG7?FKJtUSKVqcty)%W_Dkcr zRq7nPd}3^O4G_w9XmOP=x_(#m{J#HIETFOghRP;@;}anm^ww+=Qu0p9@Q0GtKg!QvXU!q5&<79t6^ zfD;cuT8Z1KuFz$0Zp%UsWQ>m6zQ*9I=2tI+NXq+kzI`eWCMh{t3|=qBCJC_pmfF_U zsTeoVJ7XK}5CGD3C=tBV((fa(U;csQ4i_@uhID|-*EzR*`2ZkvHq?VM!qb*322$Vs zs@#?Q3Og1Sxn?Z*vBDPrWSV4le_jhwq)^ zK$?NlvvdBwZTMqA5{k*x44bh*PtiH~!_;x)tNdGv0D=@e5ch$syD&(mR=$^l8$k2V zjn8<&0I0r|oG@2ce~TwQYsOT=#!pHqLHZTpA%jrZwdpHW3(kf>79~nz0ImTjA8`Cz zC4j_Kofejgm;|Qyw2IRf>l2`UQd&h`%UG{Sze5B(npLtlcfmri+}@cJT-{ye>(qSL z!|^gqS%`?%O!6*huw(%23?OE~Cj|@wWiU4Ese7O%?YZzn;LqBc**tWASNB3yJaUuI zF-rE`JV!rprzVMh6nL|CXOU36yH@?JnUu)?v|WSCQQ_U^23(LoM!Y5o{Yt_<2rU;_ zbIqS}cQYs}?m%3zKjV8L_{Pg3F56mk=M&R_!DoChhg&>ABZELt*&Nbul~3S|(#jRe-b2@MfuB|+jY9l+G(S;k+$+vp{C`$Bedd0<(}fa zk8x3>6(ANtz=IrGV1Rl95>EIpoXpDIrR|an?h)F@FR`JrIZ+3_R$cRcK2g-?t?c{t zX}Eg<0~d$7g3(f3?Vsnk5U~8M`3wyuQ_`y}OYY@A_4f{{D-v&Vzho!Om`=y1^esfI zbF#jYu{sv)gOP=8WwL@g!fmkt57?L2 zmHOBpDZIKQ#zFTXqLtiRL3=yYs@ggLjbplZAOLx&C$8w8BtTEE71guT-~7WqccJ`S zj{-KN1jwO~E$AJNK)=D#Cxr~h%0p`_OMDo3g0%BUu*p;C78phm0T+vK^0m=C?yd!w zi=34fi862%JArFQXixN;Q8#|eI-&J-9(Xtaa)syh0L$g(hMyYj5g^}$FL34;li7TK zkEoDJyX)WJ3h!bfkEhTq48CgnG%uFZq`i|B3W`4QIVW;R1{DI6eUYka?UU?1d${;$04Z1VFJ1wZu+sVAkK8SQH96Ta*WtmN<0-HEOKm$0b^ zc^7!-6P(nfDWL>G)9^@tN`9`Es{%6vNSmu)!wj;&)?tzo1J7P`I;^f?YTUs6&OKiB zMK`1ZIo>R+x35md`V0l^!e=`Vmr!49uiZT(^i^E;A z$L>_VJ-yJ+f$^@Gi4sW#ZFaOf?hmW6Jbxw;A*4yAfm%Jpv!`5>j!}(1Iaj9t^7S!? zC7jS`a?_2R>3CwJzgmt5%kSW_S8ec&@Z8ZMq%3M}0Rjg~p-yD*WZt0x`z!RJlaLZg zv>kzx+jjl%DL8ph@FUDimSJbL!NY~6tIZ%BW1Lno}TbesA}E5&2j$x!5{U3 zK2=p!d46}Zj{esXgGZ8vr2O5W3-ly8fd%_ww$l3ZuYOJ})Hc?$xXyBqI(pF`Fj((m zl(K2<%lBy}Ld1qi>+rav`3d8*4?=#V{_H7p22h3L!X5W=@<&eh9HNSSa(74#0lnyM z7^CgNuOEgaV0Bvg%cn>%1PLH(07pRt-`NN15R_Jeoq=r3DM{=6tOI35De{ZQOkYw} zK5;b*K^W1Akq3}Cco_!|9=zr_f8zW1@25iV@jEX)*hfK8i^a0EwY7;%|D2lQ5D{TS z-5QU9Qt-^o)78bXv4N6XS#)QTP$WDy3=zQ3{ zBSQG~mF$E=Ok{+euN`j|eV*&Sg}={~3#{MND{c`xI?`bUw2 zaz%cCg^uop1Fo;8yPNjdtIfxEU)>^AR8(w<6rccDBFcNRIs8*aMaAeYtdo8B{=HGI zJdA0ywY9aL>0oCTu}|%EeEISvswcr6UWAH8gp+8Js(Rt)&z}#*Dm_r%Z{8g7*_rzJ z^AtZn4NRnh&VYwLYuD@R4*hSVys4_8VM0Xx_Dcr+qc=*}7b~}T9q~gi*`<7|ySnm6 z9Syv81QS1fS_aVe!+~7GhhA_qgrIbEbTct3C8pa0c}ALf56OM0SYF%ws5hMW@=^rv z^ZfbJm&1J3gM%l9EJv!l6(xCsfG}>TQ`vEV^nctO#x5?dw}=K}MhF-OW*qUr6XT96rCON4%dfQ~JE$(V0> zx#&C|Pl7_a54yU$rJWaMX8b>Y=5&Xj`oDQ|%i7xd6E371i=-j`T&b+;mk;)*|LzRg zykl#78C8wN?gZ&iH?Vo_i>E3d^H|eUmXYwF7qI1How!?f?vPy)v)FvgE`>tb*x0z@?8vJ9X-?ZqKx2VF{^Q4w z`*X~UjL6bd51|I~9|yGYBS$Sx(%{8xkL`b)w?A(em04Q49z@7uxyL5y$y{7qOep5z z<6}^HN9L`1p*PwTlR&7&h1}(Io=Z!~eOPxW)1ZoVx-F&_;l=cH{|w#2BeDOZAt6;c zM$~CPiu24F?CR!7Yu=OAs3%2>y&3&H26jv1HKmStM#qJbSHL3vy0VlMuCt14YG#i&w-{3SK;~UgV27z%gHyq$rq*G8d%( zJ}UTMeFD5f*!8We>zKfk78D9OR`3`?0}4s^4F~fd!=1b_7>|Mrc|1Hk6SK2W29dE$ zU6k^p66C&Rbyr_Mc0fT+?$)D6oUo4CVF+T>3J@=pH@wt`@bIxbW4TtO!tvi%)T6nc zw72(?ke8@%S;@8eahrxTB_+iO3{ix*+tt5n+-rCHiN-@okP(zO0oRZG6nbR#q3Dhu z|BiJUs{=wUK_%ri5zJX@WpIL&A1Mmhbe>pbHO6YzmstZ8clhECxxH*5qxv^GQOPlu zlGzjTLikU?5~L`xoz-sFZrT5C?C8YY;du7|1On+Q0vQcNZo9KdaK(SVe_mpHsW$rC z+wGklpw~0d-#$AONwgw#$9e%GeSuMD6XW zZHHfS>-sF?w3ndbbHZ8Z`!fpGj*W|<_c}8)_?BHpN^NFFF*Nf<&+Z5u_|Fd4t#_g9?n>ztq-}K^xBr3HNKTar;wv9B3ZHnT`Yz`oSm* zkj$83klPxMHLRcH-Zm{Xp&(60)z8R~`#QV1;Z`k7Ow#&uuF4CRI6f{;N;;$OK~Q4` zvGNvKAp^(nz`lL^PO-C-Gz76o>FOfmIF2$izsc4s&qtS&KOD!(k&}~i%#imaeJga8^*Df@-~zw)P=2Gqck2a;D70wx%W$l>JNx31otR z*mv*Ud+z5)F#<}lkP@;D47|G6wX{x>l9J9*jsxn*a-@_!8$U5Y5-FD~AXt{%T4pzm zLIESbk5UqlcMvdct8QwNS;R9-^()-F2N*MF=NWMZykl5c*!~o`oGrOI*5>ABgy*0p zhvo}c>=#p&&V4N|lXm+ztMvP2Q>7n_doaCW5~2ckq5+%->G2(~BB#Od}f9I@ME!inF=|-WzkRI(P_XaCUjamY0JSVppuXOI#Ob#fF zS55D^aPnl}B>0dYK0Z^}n>w5`wTbADYrQX?m=E=?Aq*_DJp;y#sX{2RFS+oXfw|l2 zyv5%JLPS5oRdnD;h1F>(wZ>>6tK$>6jsz*`=ze`SdE>oOn;*G$(+Xf^PV@3o(*lp58YEDulm#~eS{_+yUCM?ETch{K5XdUH~s14PMuAeRI& zYuyzvBq^Zs`Sa(OOnc4&Cm+D){eyz)K~!&n=$59E0GF z4kc$-SH`W9L&^np3+wc#j)a2n|LP(mtiwQTWnE2Doj=PQ+VTLRgz|<2AmEM&#COp# zDg9>w!v+~(6pAA`@EM?=-Zwz8`E8ueDG34F#FTACyy!LVTJEnc)b4c)mEo4>@rSGO>JV6fRi`ne&6)q@nZ*_ z?8vuoy&-vp@(u_%?7Fs)RZs;IvxaqI+XW{xPi`*%vD2>0Q5q6pRwQ61+G0dWP@irG zc8SKu#%61jeT;}W_r(%F_sGl33sG~Qn~dcs*H!_IV3{nlRcuHW^Ubw8^-A$Yjo7n+tgR<;I! zK_sa5N(r5LjsJk7Z7yD{sA?-K8*~|1+48iJK;THV9a~?HLLUA9giZ69+Kc&a_CyG- z8NRr4g#X*+w^7rm>s(81ZRqFuAsnl7SO(zM^1x~8o?*Z6625wQ=c8+ZZsW!K&?Vmi z6U{u5<9Twza^GlwjzI$%wOGgJV%c!sI&g!nHlmiDyBKjcP>W6ffU6oY=B?hKdOh^dAQhuR@%&Kdzk`tij#96{8I|-DL=U1=EKF5!^PP0b{~IjSogf*cr}W9u#~g~kN|&8s+#U-dq?EGqyU{#-jO(oXLPvtn0Js2s z!c)`J6etm#mRaACD(i{oHDd$VGy3v>5V}DX9OX zqsUh3R>lt8k#sN4gI+fLGP2kv^>ggX&=2S7jY;@wx*8YgED)JKPEU6l|NZg4ReXX* zsj8~dk;g9NNWF=x2u9qD^JHDb#aw_5vbUg?f8Y@R_KG#?TqEDnVMpTq7$XF$dpqzX zp9J@}Z@F_Tq1QYvABTaKfY7LIZqS%!hQ^k40WO+>aw{MDacFVLw(>J z^trnCRB1p}g;%%K8@?M=L~bFUa56Z% zEl)o7{;WJH3dtUUr9;{h8D)#*j&;Aq-=$*UJt$FvZ_Dd0m~b0*yg&9&NpSr8uwzmNU!qFYRdLMjC((86y z^`3<0g&`}foo1m5nAZu4+hj`Z>T@_;z_)MrwtqGAX_h=F$95`?^ zVYOAne&*cS*MZV=;WS6pj8KZs6G&8KP^q6UwderMFjY+8s4eU`$P%AM^qJ z@G8=rR}nV3> zF`#@(F!$Dnip=(}F)%QYd5?bhAtWmxjV?YZ@Z`Z)e;PupU3s=eYE{XYr;hOj;^vTk zrF+?6e_mnXS8xU|In1d(di3bj*|Ym$q1g>E;Od#0BoK>W96AHfU%c2dAayCVwDbfh z6vzuR>Db#l@)O@`7v^_e{y8~KhT=RPmYe$?`!LvBBgZq>ZpNQAVPa`!aCo5P?muBR zrGKCV`E?d+Gluh+N_YKF(?c>A(u9KK=dSIGTXoBC4L$0LbG+~uHWoH*Gp}m%U{%xh@(-$y>$o@if-ZpctPr!K zfyFt0=N3az`+NjydxpV_JEs872@z;aS1Q;;H zZM}R!szmXvy(L?(%XYny-(S>&6xq@NV{?yB*g^BjzIN0llV4Y8-d3%Tm}ia^l0io= z0tCzIH|R23tK(vO2z}wXo8^J~8-z9{PI4>-{hs4Kck+IFTuzL%%6mawwEaQJ?Ikjl zgP~TH=T5G1JL@*iVDHOw^21Awr-QF-ibdTMErmY1z9GXkfp#&U-VBY?!onw!_yEEy zBnZr7L)E`I>4Rj{dV1GmqliZW`8@S_+V-Ld|D1}Z8l|G+?LbMuQ=tw!B-7T^01 z!O|5cO-QH^h$hLR{c;xi8u#yaS+Mvx4lvWvai+&EPF)!r>YYwXN|Hwx7ZnMjW-87n z8>VjRMFW8FPaMY&XXI}-wAPoBDfdxRNV(&fFQP@97s{sJi1^ksi@VZgsArL)R%aPr zH^iC_{tzr)Uw7VKE_cN+incGzh&g{m<`e$CP@~QZdgkkPJj^l73o{N^R6;2H2od;EddPw<SpI7J>Ft;^HhSDGJhyqnL?>g&;sTA7&D={JPRENv)xw@rF%O zf8Vf_?-3f6WaGz=PmWkMI*oZy#1|(rp^zLkRNdXzC;VoHOZeP9JfL)6aKd@aFlx4` zh@67rG~^CDJ3AvJy(&j-T1AFy{iv((KRPq1J%2XRz@y18uD_z?f?$pU;%i)1yKMo4 z+E2d_e>4Q+-sW)tbDN`7PADT@7(-;p&Df35|2OFdnF&u=H@2MQ^)PWCT-Q?YtDS+eKUaC32FerTz; zzHhUb5Dm*^K4#+f*FHg=h9n=A5tip3IHc91Yo=^M7 zP(Achux3lm%8cLzO(mn+V_?TnskH>w8`z_EOD{@qE8oa#lSM_v3A(M@U%l2>7+|s| zCb<)Nhk9Y`lMvxrJXInCul|Lb(^b@LM;oqg7b@iJM80o8R;X<4j+_DM;-iMvZOKoH zGlgSidV1scl}u%|g^$;sIgPs9Nr?kKLDxUFc($_P&B;#%mc=swo=`T3Pq zd+#OPU!CoqE)F(^T$g5*r#Qr0%bj=F48MIizqGn~3n~P~=7Y~6sU~$H^dS~KRCV;} z^EpV4pFA=XJqJnt-^qB=9Y`(ELDuLTA72Bt2-aSL2Eky&Arpjzj66EU zpL*Tv6l8;6ep-JMQ2Q6kL zUmz#I0w0b#LcS(VUL+}1VruotX#|9sRUa@J3bHq}(?!HQkYzoSDmwJ;>ksf(mV8Nn zLBq9CAFW~l>}nxs&~eipvSD%YjIG(dLV{+Os=f2dq)RY#Ix2k?Hhrw)#`VFytW*Lq z&nze|ss};~+1pvexo1O<2!zd)`fHA82oDCbtLfW6HSt>MbhSd-q_F&5Je(=pKRm&%=#hlSq0R8ciI6AhfusTdI`vWz#Vi%>J-d zRUnf40YT?*@2e!jDz#)g3w%5zI*{B`y8cT?m1{6G2>?8r1y2HJWNEj}vN2CPIbzHd zW5rH#t7le2k^xD`j0V2Wu?P!MJya;hZ1ct+=qZ_SQD3vP5Q$?);;GyMnfM$bT^V zIqvMVqX+z=>76s6C^dcjdaMR2gBS*kB~vO_Ur!9pd2Ld+wq40qFePyWoJCkpFsJGv zbVtS}t<5;{Q_na*baE`};;lzobR~~^J({9Dz?K!utCOJg;Clo+%A05UU2 z_UE>@w~w%{t*tcx>wG~+pN9Mt#G29&ctX*{5B!6f%yR6&wJQyC`Gtj7uK9ZIY)(Kq zsi%xMUgJaaCn-Fqr$eg>bEIn8+7wp%J0j-F_aLte)mAnND&}f%K5Qnx(c9p?y-}D- zF#Epn=tlk7de>}!9)N`DB`Dh>ssyHFEp8=0yK9wAA~4rx7LdE%bv@-dSC@LsNV zf$5ESO7ZyDP8CFwe_7Iv^zDXDPFk;36df8t0{9D=pZ3Hq^p*FiN|2KaBA zF&-Bq;(GiO7nO#AD5(6hsAYR=N3+$+%*@PO7`TC8e}Q+JJ9P~aTZyjfUC81LzoI$8 zr0)A66M)oKQ=_M18K7WdVzS3|(%w%yLM?VhP1W4kp!vBhmj~)18%D)bR!*MZu!|0vCIl-fIf;r9SES9O zqoQt}eSd>D9CSJOC4H)HYjeG_nI#_ONG30cx|kCF0teUsaWt zj|G$_fguSRB%>oXJx(p7qm?yA@|deA9}6Z%6{)pFNEKS|EcwQELujzt#((836r{7U zJ#K$SqCxH~(JfpjT)`T5nU$8Utjwe)8iD-2c)7+9SGBpQjkzl7xkGClR0p6piAzU< zcif^L69SSfUKQ?#$Q-TGxpa*PyBKWEH^0% zdUn5FnM9(26@%Ea0}vv9wVwkhCSWR4YhbG!bQy!;-Uo_%V&`Stm#l!p&|se0uRt4C zB6KOHjJ@{un=gElUVf1DLAEBW-I0SmXnd}#2aa0AMv7A+nFE9o$;S*}(EZzck45nM z?v_`dh;4q>%wa;seq0el#UpDR#@?L&A?;0>%3Y-4RgzaDm`y=>@);5q^iz2I%c#7y z<(F|M{`&PC!u(kAIh6j{_l7@i6I5r|+1X1f+KO^=CQOFq<>eTFg7ztR4OMn>=+bs zhA&fbpq>7YVfR^Dum%(rU$X1aQbYSa9KkIQgonQmMs_nioy-tvDB7ZA9guZbD0kK} zcOs@&<-5aHKTWhL4J_dh>F;@g1=4FSjd=wS;V;gQn{**}1E_D#FP120!{u%vwZ{@G zWoh5bfG=MlX}UcAX_JrTX>4F%OrgxqJvn(~e9f}UL`J)mni@GAepqwqk90_REBxME z=uapv8g2q0H$+JsFenRDCA8Vl@y7JD_ck{$AOn$LwHbKMuX34Cu!hD!&P$&S+9Vp8 zO}VkKFqzPH@W6p;2$RO4lrHW@^v@mc?4$uR^pq%&li{&NB(S=Df5r8c7%T2}$@b^n z`GGvL!^bb8PzbTXh?a=$M;)M~tm{gWMYsTt6^$d3v4&Z0R;$}lQH+r9{8{|wrT>Eb z?^RZRlf)coa@cm`KTiB!MyD*i1B;Ou#o86pvrQNJx+&szeo1_oqz8Dkv>OxmI$2h*v)*5j`RLXq0fE}n!D7$vu)6GnqTUS|nS-vx`Gb*}6PNUK zApe`2^FAH))nXVfsd>T!%l@V~IcfPdjRFf&Z{ry*yl)|e^JzLx{larg~W;=u%* zC>OMAzL*09x9=?ulR`znv_SWsL)_krr9c`y(+MM$HKw^7%VA`TY11pMYe%(o?`A7o z^Ufx6zF>=D*Y6xk563@~x&Px6|Nm&!#Q)aK0iO5&;X)1-BkDhBNQ82!g6Fu^#=pK( zfq;>ps5Hac(>q2niWM_7{l+#7=rlo!y>^*@@)IzpWt+*i;;J$K!^B`Fw{t!FNA@~A zoHvsiI$Ov30eTN@SM+}e^Zs^ll*JWT0&0Dvj4#b6mp|!W^!lEVAYe162}uv|%6l&S z7b+%|T#0_rA9e!)B;60CD<@ZP^kaGkAGcaPbGsd5%}+V~K7<4Xm7EiFefWwdRWTm{JL5E3Q7 z(a@y6R5>Rhm>`u(lg%15!!qT8W9hW$#Y96f__~GMo+l>v@i4^qvjfg8>;1Lx;Ltn~ z@GtCZhV_cO`zgA|^o{6`#xSr{nU=uvGhozk^v@;~ix@dmV`w=5PBZ?8(>KnZJ$qvB zt`{9c*u=eiyj^^H#_RGuq*_|hwN*|G&W?7zKJT-T$&qmN%>A9g4tPet!J(2n?GLEI z3L%?F?*%l&`=O-`B~E`Oc77nMXKfR&(QNM->I>-|`7Hw_{{JA3l$i`4J|xxIBG$9+ z$KKwSu#%KeL3CSU-^-l02!!!J*Z-@nI56DjGOU0Z{BH!BG8wO~TFNlkagFR22{{aF2R;4p%T>w+#F5x&I@q4P}eH9f4iE`LjgAB_3 z4Q)iH#Efi;AIjDvLA`Nz%xmL^Efz2W$}o{op9M1&VU*r})C}WQMr4JB$6@*WP4jo7 zl`lNJPH_p7v{jNI25k)=(Pu1u#90S zuz`UACs)Q^IkwV6l$n`%98Bx))|KE?Wk5WD<*fx=NL^(|M~AwA3dwIgEZUfUtg*g{ zXN&~(W%?p%JXN8}L+VqrN}RuP(#JGcVc5|Z3vSW#KO<+6Vc?l7Dg1VmR=;PInrmLd zjQ)UD@=m*-oG?Va0=E|T{-ZYxpaHN?wa%6&>22{B$Y}i_y;lJ>u!s(Y(j07Bn&GNq z60?G7_>}sJZn{Iy)?iG4>W9#3A@d$RFZJK2hw>y{A47(OL06`o=UDz7IU`Sje>ke` zhj&L>nXLJJOsG1)gb9xw_p&f{2!?P zf>vI1<^FgoV^}1GLIq{+$-T%zChotry?E&FlK2yUms=s54+M$TJmk4il{nu9Clwc) z8}Emqo0eu+Yp;DYra@Y5(Tmw@>=cReKKifZG}5O>ghmQ<3o1-`%Zi^y4kb@!Sw?C} z64XmB>SW7CL|c{o+JU8=os?MOvzuwQUni?H34 z9aU|3w@drlR^SfS65EN5ZvFLgm2M}}U*QFW?`eVnw&)q-tM!13m zbv@FasG4}NSoBD_LBF%}fcW$ehWMJjwQSQn#g}sii@wXs+_$bxPSIW(r#75 z(ec@60l~Xma675Jr7D_BoR6&vCDXMK8bC0fBKPax4voqBD(N`6#cHg0W~v-(FgPgk z-nwyO!-#+Qki!CFA?~bV_lpL@y-V)))Ns#=0$9tb#33Da@955ZN*a%%bVvQj5S|j+S z0vQEu9nQbJNo|EfDV@a|lzh3U*`oPMfYI zuNolaS6S8YQAvIAA`Vy!KJAysHYoPSMKaiPIQk_rU@V08dGw6uIZiYFCQkg715{Lf zxrVh@0Pt~!iwglyiP--1&uG4RGAtzIp@dOyx|#~O--ijCOH0;}+da?0aZ_JkKU?A> z2m8`~6zcK)k+3mNJ*o$1WZNwUTaqkd+K1EYc*1@9O&w}me=U269-?!ehR0VMuG(l6 z%T^V<8}fL4LArg!C^m;>@Lt2iVv}ASfg-~RW&t6`?`-9A19&)D+WjRxHS!sSZj%pt zO}hGCOqXl$@+Y7l>+Fe5)3+<)>n)grc7RAKeu7^mT^^J~t(MBeac}@Kh0qP<7ho&f zn8hD`Ss1wjBxqQ(6xw>)ksWRNLdVr>aeLx$d3BZJBW?jX_mZvTOWVS~X>l%8OiYZ9 znK^TO{DH&#Kxgk{{E@AlwK4f|Y_6e{e8i=i-ZOd*`$kcyc)5Jy{R0^m_k&R&d`*}6oL3V|=m84lfxE>84RYdGmx#xD5nAbv&49hi#F3YW-rJB7Kqxvj&BtC;s zenZn!LW3GjFb9bRF+{HkG<~wn?83o*YpD@~IY-y*_gWR?pp< zE{_%Ch4b}{)p{lxfI|ALw=wxu-%GN###|0}=S9$|{83gY?_U9k-ufU6x0ouIZ=j(* zZ@Q!jf_qaZyfP)K@B zM|`&=&~62DSFLiY@(YTd&YdXN|1SI(Dg{_%JN1=qG4K4m%gJKLnjTfspo`P$nknOq0+l zB?-@6Q|umZQtY*dQ}vdj>-yyrEoWq{b&v8`p0xBGC}z38T|&+`+t=_U5}zsF0J47N z!5p*SjDb;tsPRspOGQ#Myd;YA*4_7c1zv1@aXWCz@ zzb+4Jy2kN!CZ??o;P<9ox)Dm4N*BI;G~2neQZYM(v3(V$P&H;EpD`Mhre@XJ6B`#k zrBh`Q(={2dpT9_A>2O9WV3?|*(q@90wo%7y0KMvwwfB?KVrP@gt#p935r?XZbi8hZ*OdiBDKF(;A7iKsy{Ck zzkROA&RHWG5P z9%fkO!*sQmC5J~Dv|5a)!+i#Uw)8%S)>hYyQVX+|{DRRI_0iCb2&Lh{x1$8R)sS6a zWj5iLva=uSp~Vg<#Qs_iGxi3VCxHRNPn9oR`^7FjVx1ARIGoUNoJEd$&hkg{1z}!w zk|G=;pWw`-Zmp-iW)xH3>d#WbH>w{>XG{Am#ZR?j>Qrv^S{)-;aD6)W$t^oO^AOdn z?49u9O>qLcEkaaP4_ynr2bur< z{s!Kl2v*L%Ybd49yvS3ULkpT-VE#6K;~1C&X24Ofl8f*Uv$2 zJe!yD+*>FBWf@fIv$-!lbIFF(`Y&)W9ZYy9X6OE%Ncg;Wh6xm-T=7Ny_6sAzGM8%% zt*vv1iY+n#H;+c&s;+_8a{#;ueju;bP!Bo?_4Hz!kN)Rf<8{+i(?V_sF{i;V4vWYA zKOO|$+P72xJTdB=6SSzM0Qw{yDkQ+tb0Pl|GVn?xA;aJ6gKSMr4dYew2;UwJrqD;1pwGt2nhjfCAkJ)r#*JP-l?(s#q$^8HO7M2i zeSCUz5i zwVSK`ZitAzS@a??l0l%zVn;#dzVjmw^8Fg!3o6mN9w#*H=X*_6)jriz>goka>D{mK zJPTh|9r_RRymh`+M5ILqw}o(G9UHQyHg?>oE>Bf95MocSvw$Z!?>m z#sh0X$||e3Q<&202W=V(z1nNUYQMJxgv&YOTIzdsR+m5WU76b*?k(60%$7K_@heNW zlUdPqNVxpED-Jz|4{}&9y#WXGEoU7*SO|w+!$nQI*)R61ArJ4yD=Ml(P3dtnWVPnC zFmiZbAGZ5@2CMO$T(NzM203AmX0iB5e9~%9furHt2aU7b`Hx??R6Ja65BZ#$oka&^ z3t63DI(&FL7H?(#X<6~j)je~vh2UxT1Q3*zoaTy%$i>Qnf`Y?^F$EUC4*j%)$GJ4k z3H;D&-Ew3r944;6yH!wOCi_N<%0h{&eeG#a=`&!z8ACGL8*$xuySKx_7gIAcFG9{k zuTuh^@?O_(<#01n>Ywvm8soq%6!q9_aRErvVpoE-$zT+;jF)K->h{=Sd&jx6N-zyX z?>V|SJ3noV*mZq8#|%VPxjDj5>pgvD`sg?dx=1Z>=*FgV8$-xvtj=0gLZtxTlM9a1 zY@5F@IiW|LJca zVo^)M23@2!I-68ncO(d3lgU#an$ba zvzp#{SGzrr^;U!>n;zY~4l{k~pbijLg!Cla9WM8Puj$RJZ3qnu(f_RNx#?Q8@x>e8 zZrOBa%=8=g`@>>FWwoAFT1j!0T1h8^cZRcSt%l>#r!oy4Ra2gYe4cR#P!swb78G~) za{C$9LCx_UdbQOl77^E$Uyl9)Y{l=Rtb>Qg}rx-pDqPADT#v5>vSm`9Xduq+U%6fn^8R$3Zb#JR-bZOqqW8yXlL;vZiZZH&#YBRTsThLqp!T zU(2LEl9}!_EuNEF+?t~;9}u3c6f;z#K@cbT@aF&CW2|fBu7iN#59KWD99eOUMbDZ0 zwl*{zXKdy*l0qsfxCg`;j;RmtnRuEQZ%y>VUT8X|q{C{Z()yP1$?&?* zo!(R%vepQpx`l`~&XlNz;u~m~kz46?|Ahzzw8psNATEQ+A0*%h#eL z<`bfrPqyizndgSl1fss96o%o0Mf>tlf}q2xdRww22CfYV+t3-)~Yfrnuc1%RbpI zuKk_x2)5Jh`lXm$uZrC_di~`1;6 z{$>7goTpVk?I7bVje|?waOQ>QQ?vuqLoV9c=#b%**T%B_pHLEJw{zxQorc?FJ%2@b zcx&|J>f}?mTeRzBp=-e2F=@}H9JY?Gi`yW|?RKCb6j^fS|L@K+pRkfE8rd@+7=4WIC?c58Oi z-#SJlCXre~J9BbuheIanSNlQqvae%{4i(*LSQ3YXB~ik5$^TD@_-{vchyJ+6)ma0+ z)y0?Fo|K|Aqn*)Csbldrj_p}m<l}Y3lyRp-fhs3*49 zRHLO00!Q$t9dERUB^KQ>Uy{Q1erU_%o; ztn_2!DH@WIT0hq=9x;}R@+yB?r{-d%(F9J9_>Z^`oDQ=i>Tw?H>43Wq4Gm2KK4v=| zcTe#2sh^!mDB2+2CuYrjirf>@Qi+XBLVn`yeF2RNdbUC2ja%(_D(~_nY^tiDgMCQ? z|K>}15gOJU8xKRy!IB2<~qoHBv>x%Gn@&fQf&~&7F;RNSwXqp}3`$ELjxy>-90b<+gX7lXJX`I>8%r0VS zA*3n-J&gQOJ5#;*dJ6Ig$rc=~?mt54`p)$%4A{n6LF%8OXUuOb6V6tIOKa9M_r+&e zdT@;GDvFcaJmpwfS%*AKRi2Ga54`&^hn*`XwZKuWIEH`jt+Kdp`|G408;#``%cd?` zH_)w7>}}yZdxP1=j+P6I4$)7l@~#8DR>4T)k~BuIVsa^{D+XtmMtAl`r4Y6XnhA0L z*e2glU**SD?mkK4oE_~fX)Z|&R)|qhhA)@tqSQ;ACnAd2zPVLz5*NL12f~(}|XMc>)s@A}`od9$a$SWzRKtor4DxTNjyG&usFcTZNPBs$y;V#ID(-imR-Kk|4}XGl{eN|4Y_^8#Tr?i|JImhF9V}?!PGurEQw&lXblDn&BGF^=m zJ1xb1M>mr7Pyg1HVA57b`zE*DF(b!5i$JS{ve zYIQFkz`wtC>Wv~V>zKKkAy5!?Zu%nF&0x6 zE6j}05y9P0fVg0;Bg-P&!P&(v%|(@#)_%CsxDE1<&e!HMz)fu(8B_Q0BlJN`|Le%- z!>;CSM6WZrn_o<$UD{%@3Wz;?mJ7_b;h!a`n8P?R1>=X|Pr$=Lm@$)*ICK@!4^hh_ zpF~2eb#;mtx{C2`En6Q&VjeQIND><{+69gU5VZ$=|nQw7>`{5~gX6jm9?PCfEj@2lG%+INLtIdKw?ztx$Ym`G z?}Ww&>HHRR@H{D5v15iO7DjHtIcd=mceeM^V7r&6UD!3{y~v zw6uijfCJ7#kr$*w!ePDd?cE)KUT zQWPLzjNvg;M9Ss1|4Lcd=8=VjGi)B*GTMdXII;hWz4w4>YW?;_u~*QoC<+1_rHX<| z6Of{a7?C1Xx`^~D7?6(J!nPn9DbhPg4N^i4plqcRdW6svsUbv4h?KyaE4cSL|MSi} z_ucXCyZ5~@ZpMfLSy^A3-z>lRo8R&kHG%k*Tv$?t0l>qo?Nz^7ksVPFV3O0Xzt#*~ z3^Bgg=e|HZchKE}l_<4av`c$J6-|6cTA0nSK$JC})_SSs{>%+jg!xymp|e-T@pHJU zm9K`NqVniU1*S=UOe=o`jGj!CGI_RJ1A?THRZXr|KVd zh>eFC4y)WqaUnCU&5lHsBl8@zxgDK*x^;c0rt22qN2#&buk#ci-Hs&gpBhC95iPwo z(WcssFwLuds^NFn{&@1@{?!j?lH+X0p=~}I%F2f->bwTdYGW4G)GS1N=Gl|izcyH2aiSY&JueB@A2$sC~ANhBNz){-6ljBiv zaB%Nn6RD|tbc8E~iMXeaK{6$urA-!Y=|& zPvuEd#}b#JweuBqwd+L3Rd9Z|9T10F!(=F#?*xyIfkBTx!y6FT(O%`F%GVL7i8Cf{jpLF-~~L`$uhoi;DO1fE!S zj88}hW1rTWJ5dt-y%$KK3hr2bdsy^s+YR(#=XsJ>Xp}tiiI0ei=REg~5BVN=1$Hp+ z<^JDmF{xl1!ZI?f4-*F0_k5*)<~dV*lYa2XO?@y>?A`W>pOwz*gR?m?K(FqC&3F>L zxIVSwGb@0Krttf`qp^+xSVB4#&`;Zs}(GUa6 zn;1S>7DF>*@4*>u@n*;ltpAWif;LPlL~u==ow{5^zqE$Xb#*X#ch-y)7AJ0M#NP|e z4wM9L!T!Iu7E2;K0y4Fe4|6P|dx%|GN5iNAGiAPiB4!!zmX3(rihKT-w@B^98cy)E z!s^@2rTR*GcPJq7NZrc>y_6@GHuysG0o*xphJ8e?hmX8(s71i)O?W!R@<@#(Z1#8L z6Py#E#4|{AGHJkN!c%nUnPN13>>jcQL9C^V<+9IWJ#5Vk+Z#+r@V*0y2;P%xtjrha z1AWc^cYU2(SZJ0J_7ogfuqJs(K#(6E>vzRWu0)^acj>m47GX19 zEuhW}Zyc0mxToGj$(wQliw4L4JDGpy4i=VAp?~|)ENPZ=EeP(jK8xk!fd>R zrAy#5WV(l6<2;vM4Ji0%89vf$oBugFP^5lg+5`$9xoAPzZcARUZrG{2Gm6CxU&|7z z%yYM#4QA&tvQSuofQIpfCo~~Y05B_Av&i`)^Tv@TW*7vwG^AZXq*<8v*8&8QNY&$s z2zbYDzj`nQ0sFy^ycmyNy7lQ8_j9Erhz<~M(wuQ89at{z18V@MuH7YenG%B^b@#kF z%Q)1YlVo<^PwLp8vZ)YfT-AB7h5Dj!yk&M_IxywRKwyOt2ZJo_u?8sVB<(RoP<5gF zQx(g)>TJna&&Wu&j>}x>@{36RTD^^MnO+|F- zbcDzI^juH`SsxkcCP7ed6mza;v{@ zO<@NU^ORhzLV$dvi*buQ@hhvoeWgCn!9h^R0LqsM;2r`N`Y-kvKAY-0NiZKYKu~Zw znw=|8MyzIcu;*g9ac^L_w}T+>p>Mo{-3V?A}? z105R_mz^ydAip`NCC`0W0h~Rt*y?vzLb%wc?jvIhQ~KpV)Z~Ig*?nrfyTVs(!9}7H zS8Q9tkA~C)m!azom|wQfJYw4Q#wiA`%o4f4ze0RhnCYt+T<(zlW;*0_902O=d)$tU z6O6efhn-37eG@>ZB`16D+El=(paG44m)`MGl+39g&jasSg57WRLy7|=8qNXAe_Fr{ zWBqm!MD3Z2i;RA8~kX!&P=x(h&0hZ zz8`^U>2ej7o`@j?&#WDp_L1;mk@j?GlD^$c%mUHb? z+jexbyQS|{leCO@sg=l7Im_bac?sS)>qW;nst*ip>U~8<6vesr=gCb0h@YjQKJCFV2T2FX`F5keddU_WN6kod)C{yj_PnGa@ju;ng{nVrFMZh(| z0}?ipSKaTp@BA?U$s?Qd)Odz#S8tIAr>y0lkW3(7{)j@vaVTImW%6{DEBzuWBA!5C zj3*#s4uK%Ik0wVLnuiLa2hm04TvHQAC^_vCA?L!Gfl|(p5@u zNS;7qE1r@+pB;fcJ8lWNFHEZ16-`8(0)~p3Cil}25mf$_Iqo+A1isKTvjE%a42efO zALY=%+eMw;?@yRqVbAiSgD)PtnDr8pGH2ghiLR?=!0iOKS`-aCqI4j|R;cI_SQ)J* zbz}aW;BH6uEF>#;HQ?0RBmO8is0}7{-IOm%pKO_N%A5X}-#UVa?WqC4`((>Nkw&UR zH!Dt_h#Rl(UGbz6rHJ|R;t0OQu^oxTO4b+;_|<<;h`_iwAnEU**k9^WIm$-9&MW(6 ztM7vq{Y-w;HZ}v5j}FCO*CQhxk+eE0XUS4NtD z%8xDF#2nPJxLb+{MB?<{Hq6=pvJwZ!uHas{^;M7z?lk?mnL_U&`9|^KASXJ>RIykE zc`bkl-jghle9xn9oUft~`4w4z^QxrPAUl$Kc)sp8kf(<3Rt_wT_4t#T{A2*b4jSEP zjkbce>E#r&Af`S5xY~h1Xiw*{t&LJ|q_2(%B59(4d&>++v!>S9Aybs-SN6Gk8~gw- z_HgH&)7Lwm>e?(lG3Rz4aG}0rV8rMPVlQ6h_e}wafr=RRuFYy;qeekC2^a&IQ+%tC z)hiApT!h`M2U5|wva&oDg1}2IKiv@)gM>_Ju{pUat~cMI&^w_LqPQrAarLoVq=%$s z0TvR^6mAnOyuR|SNW+0Vz?a|LIXX7runs44!}TzGG4tRau(06%(d!Xt9><3F#6o`V z5P6pfz}Vf(LqTIngxw!KzI6~IdFOhd>N-vXuqQ|_U&h(IGKH{^Kc z16=*qlFjT~S;OfwU$CGkY$`a`m&yed_4@d zTf1VwG&(|Z?hxo27@F~1dx_v*@pFxLKolY%l5nXQF_`ZIGj8|O|KY-vkVMOSB>m+x zB}+TnU+WYD%k?V*x%&dUuZw%tpyyi;n3!~WF=a_CYwU(bvm)Y51VFByKguc_U_iLp z+XP$4Iu6i(ni(#{BOPuO^ZAwLF0mn5-G^oJ#7B|P&dy^ot+|GCJ?QEfYf_?2M%IHh zB$3)M{>l)A8OP z%a&%-FLZ@~$nBvsu7g9hwJKY#3}k64^pTaD`5vqF7=qAS$0}e!Z%i-B!hVn_xgWrJ zxl5wX#vdEIQZS=5{ysGJ%wJt^bzR6#p-oK{AJ^B&X`519x)IC_DwxoGBY%A4eB4N= zc7N~^@vD@VF8{6DjNkMSW4=}^`B^2|G{@ZT8Rdwu0Ryh`#}H5=1noRO*VdjGN~)YU zrh<@L*3(vd#uwue3?tslGu9TP%WqV*|5d{3%hTBTn_*~gd;(3KiQ#MS|2Mk^D|S@# z0+@Kvo;QbyRrDz#CY>QqG3+*N)Yn42z>g1^ZUyz!;8t~xO4N@1Al)0xEU{q z|OzxA=J}$$Vto!iYEL?Z{LIGbl0) z;`xO}Am3mq`Fr%t-`v#yzQOR7Xgyck2(JWS{4gm>HEDlu#9vqb4Qeod{g1c#U;80E zI45&5PYlLe@^6$UWsx}m9%4o#ZfGD(OO`awf86}<+GW=S3M(NLg&e;-8YL`*APo=; zj@^xUnQLkW9_GKl`jy0;)!`8VAWe<_1#kqg`CRn~z~*Do&iW@-P-Z*i@87ld1UEK| zgr1{W=*IJbAG*_$ULZ7r3Tj~H4KFQe0`2G*b%;TMB*hY>6H*<;yQB(i(!f84>oyFcwnn-@6w*38@ z8Fw^9^I<;!EW+^R?x{^a=ns3!=X+MBE2-hXrKlM?b{O~@|^$h+FeThZ(efOU2g$YD^-(}CBwBFf^CldD1QO!?phkHXl1 z`w43+L<^84So5qUQL>hGdi=Ri6%`dTGYsiHKK?=}{n6St9}vK>6M^Q99Z}ys#?BJo zumpXCfd`3(%^$xo8XEWO`wi#4yJqg*x|Nu%?k+Ej6{4@jYyYJHt(PVo+$G`}`fsf# z?LKr8PWEiRpxM9ryp`v9r-f0o!d6f^dFyMm$kyoN|#4-#6~3PU@dyd~3GyVF2a#BeA=-a1_USSA$ii9865DTpk<_sfujzPc=lMp^6J{ zGM%H+mF{OVB_iOm_6bO!!nQASR|es$!nQfYOHvM9ZfFq~(GqflM8kMdz^J)lWU$V3 zFc(FQ z`4x5${=_5Q?{26(+|JtJTr!Xj?7&ZTb)tNHAAs^HY`gOsOIQ(5Lbq+*Dl93fcj%;^ z8(P+SH}Q?|skNCcEd9SBOZp8_#R9|8j(InrUP&+I3M)KUzO4Kh%V>?im$^BQq}?k- zmQ4BbgkEzXUjuN$`fq)Wh(C*)`afG9`St%>O8I|x2w9W=y(<4tC*k`BX;|A0piQ}e zX}fsRv8PH-^il(g+}y(V0*JW0YKQ!hR_b}zcYsnGwka=iO!u%QjFnee-+4PQVwEB8 zHUc~I6(%*oUK&z%KZgw4Vt+@qdycOk6pmMgZ4j=|7XqBnjOQT-KxeEWl znYm1lO}TFZs{1fi5ozsv2!dqRwCv@PyR^1Re@_wRPx&hq<)*MLxBaX@0znpUCcf?_ z0T#cUMlBhw;I56{%rd<8uOF*yJ31I)WGdIjm)@G-<23W{lTzOVa4Y8wQt zUpIzzUJWtN!=GdSZbDU&x`9Lz8k#?(Bcn%=yLWP7ZBJJI3ZcHfjowr( z_G1xaElh-3z0B`QDUSyN?N?qL_FMy1wrhLNYC*0_ptUNR-(O7(W78<*7IB+Q{FPkG( zgR2L;ND#N%OsLFFRZ~ES9KjPuiQkj;TTZJ?|Mz<<&kpSwwqc%q z#Vg`Dm^JQU3FFlj@##fCt3>xC+{hD{!`8(qr7TeZ4XYNOyp!zhN3Z{2Txc((fJbVe z=Sq-g0j#6Zzp-44WaW~!8?5xkq((URkz0KQOUwCL(!SJGDNuYo34zo%m-db9M7ELe z(dUZmT`phdAE-PbQ|NnSO5}sS6-xO$R5ZU;M(?Zg_tkh?gEwR;)nOX$XVZG_=Pa3! zK-lev!7tnP6b_yV<$!5|8L23T!-j%xt04RDnG-E5q1jzK$!V~WH4Vr7~0}W!W4zBghn5QzkGU$C_?t$;iMCi_a}B5M*e-FaK?XK)9_Cw z2yXI!DtP!G_2C6GqzsbzO1u*XTMd*42C&5~pdZLn82I4XHYAo&e$D+Hnw^{Q^2S+WD_<+km*|zh2i2^j2Ql$fmly`!#|M0fKGjF#PH(X4;jB z`+)4fAK~r#GP|$5d@pmyGQ}~+ELhWlnDi#Q>F?Wx={EmLz%c*frp}y@poj33F9sZm z1P`h`?iuuCJ!Dw@FW0pZ!+5Ph|{i_P|td_T`=uR5^WNHO8AIUIGKC&p2*@UySbSL;1R9O8gO{-V)!;G~~x!r`$e z4RYQ=JXN~<2qL?fhaL+q;ZE|i8wIDcA3hUn?j8XcotIO|ax z=j?QvsoAC1P9*e~Zh5q zOg$NJC~hVLgN+0-0J&g9*xrk+jBm&plEs-GN24@}X=w?D*ZO3G$45frJIeO1@ae7p zsovG=!J*&pq-5(oupc+LlWo_o*P)@IlYF1fBqKA3Z)a;~3*QDq4e|UF8SJk<)vH{& z@&q3Fkpa&qEF|{Q3Eg1i8ECK3&jM^fy3dbTp5MQv9v)zr~Wq zad+Q*p39xc?n66>3JYHiKdFzwVqKrc8M5Ygg=6wB3fU|gz z!w-JWj>sJdO#R{`*t>Xc_nuukpPog??jS!lt-5GeX8Gq_P3;J0aDrDZ=cY0jSJKMV zy~a^|w zeQI#31$RIfuB0p8UrpdpWw4&9X{<_pdnw8aDg)sWW>@-uoE9unag!-hvEE17-_Oe2 zDDKOo!1a}(_44waENM+}wx*=(;02UUlQacAu5b`RvDjnY2x&R2;3$2CwxRG)qus0J zS7?qW&%b+iiL58%p>WPmus!s01S1exNF2U6`>-R zdBtF^DijK3TyXzsz|dO7b~a97IC;mA_e$m^`K|116z$m*?#;WIYM};?Fb;ywfl6EJ zs4Sa5_GBu@sMbQET(TX_>Tp+uLzsoEF|?d?v3x0gOfK^7jTJT?Vxv?A`rDnXUU)2( z=KNS|=ZR3oWXC+q`zB94cM6LYsi>+!Gy4#E3+mW7J;7+lKAxhAGSa&M4c3XyE5#05 zOUor|auLlywxM;G8~Jl9MJ1;Vxt^Ujv$=D}ju5Yq=5wBqjok2Pk;*o>Vc6b{8$QGy z-Hdd&zs$p?7xo4#W#~anh4R^K{S(S6D_*ZMGJ?Iuq@{bht;0EsRFoT1xEr}B`?cpl z%YtA29KoCun;V;(C7XJC1MQcypQBY)b{5;2YSC04LNV3wBHJgSNxDKXjdW#&s~keR zJh9xaMDESk4pX$(U=1;<@<=Gh#55C|LCK@<&y<9`Uv{?2IcYd&kbxs+-e5%U&eb*J z;o0lA<-3sliufm9g)~O6rrp4pznt$(awp}a-n-!`9d*_|zQp_OY=?NDgO$t?b5zqr1I%GOyq@)31sqI!uDvKn0n{@eEafPhBHWSw9{Z*(;jW1E)-{q_YX}i!3b|fw*IKL=ucggKCiMx@{dx2kkjipNoo zV(Rc+=RVIf1Rl<^fnf)|>U0q4%vm&=A4R)#YTm+N&%5tawOifMa-*^QlWvzV{Pu*Z z6uHRPQR7r)7tU^Mre`kaMEUmO>(uI8`F&-}`_&b|>UkBZ-x!Jr#&IfB4 z{=n*I&7n_khsQA@bvg;^7)`;9sgIx30Lc0SoH-K-X>^=w{1&hHk6KF9X<2HvAG( zjeF+)u+>NROJkp7!|3~4pWsI3FAPdD<_s$*ob zsKrph!F%I%K3j4?;RU06%!P3>^DtW{QOhU9ZrBpcPDOCK5ALkQa6Rnd@^8KAx;9#e zqle4O#*S>ymgtH3*=pJl!ocX2VM;ikY*WWX>2~{cCJf%S-a>hGqA#iAvFE$#6mIv+ z@_OZMh+FfE>hh@u`Y4URbV^3S*;fU%=&`47a3>D``o5IwvH0^wa;`cb<0&EcNnBJM zp7?gpp#zlt*VrigcR%yoDe#!-cX=}>xAfYD3wdYp$xg0Y$49}0C-LUi1{=$A?JhX) ztCe*B%i_6$M%jfd^bw8h0>xNC(_qhce&A-=Uy|2T+;Fq_nLtX|ZCTfa(PN55>MMWx z(Z4$JsG{VeVzc&eh|BtGthVcdiawjbuyI&VI+&-Zs@eex7nCfxwb!Z!K_?AN%JEWn zXZ&M|)a|#P?obujnM{Bv4`F$Ida@Da0U%<~RDY)U#oo?0p&A?K z6(G$Axic?7enejXuf=o!{m~DdNK5B=<}lRWZO!bO`|ST;!&d~B0l!56wE4TH8JWK{#%pX{?RoX;b&Mon zP|Vh%nDNuIQ$8a;AzTtV7)iH!x6RaZ6CXca&%Ie@fayxpb$rTI_DN7w)MSfGpmqi! zHF~`Ko`c44$T{orJpXi7*st0>ZgDUGmM}KvZm16rEs6A@Pn<&SW@7`vvTkhDC&M$T zyVEm`r9<@!(}`u}rxI@(DRuhc2I|7>3k6W{xQ6djIzc+2WPZ3$;ytF%ubj7ebJl*J zuvb!KT=b}s_ys;*URRhZ_KKv3D{Y0O5O6u82D6G7%4?-?LO2x52md0HYY+bBxkZ@u z+d<9Ja-?G{EW1OP*>jg~^tkueu3tBBb4!G2)V_8tdU0CeT}VuT;WdYH{!A?@S67); zwkiGY>Sc`QOkV~xon>z4JkTX|jdqD#-`QDfxsJK_^`k1I+@=s%a(@*&Y?r+-RIF}d z=1VD-I~J&CQc`CJ6N5?hNh+55i8J55^WE*i^_ma&xzFFfjOogAmZ(4*;8xgNwM(vg z7{eo39KD)(p-a+)(Zv7*5fS^oBJT`O>QZei!A1kCOEH$}Qp_p?P|Q8I&@mD>H#^${ z#q7p~E{^fzH9qnCJ`1c;kEqaULmiK`p4E=csb0a{^T3LYdEJ?hFoOs)IIz^5%cv)hpJ@2%H@fI?A>cSF_}j~=FSBo^ zy74JyCc1BOIcRq(()&tM&+)>wE9#%>udS^WNkTMOyRT#41Yh? zNDkIx@p0)NxW}@+JzXg#YHfhvv5Z#ryr-6>rPl5>%lVyBcs=6 z#ytrwfpib3nZQ2gZSBAxjE~?~SgcnNv_qjZh@AwyAS(K-b8^{h$CcFrRgZ-P?}TVe zH|NvF1()^=E=PKs6=$t+dXC>gMR;eAS4y{hm69-jYr9D6ob%e_9}f>ylALaBunBN7 zDYWouoDAtHCYRVR&wCs*x5_<{rJ>v6=ZP86uqS!^Xzf4RS7{wtyHp%M0zEk=lbQ>K zNn3V|#Kl`Bo~QH|6Z~3z?vdZ!u;L*;csT1x%7Hzp9sw*yDucwA$ndw#u|JV>SZrAn z7P)$EoMv1)A^%urXYn3oC(>yW3vp4x)x@NgL0W4y$TLMz11t4*uzk)p)(j{ zUJfeAk;^jo^)gO55%gg%_cFLAIx>ql@4kuXpB8`0QQbGrzGKt2df7JG@x{h;`I-16 zPI;TFNv-nQrcNXe@T{BmQ|rPQIhz zB^8Hg9L_7WRWn#UVQ$)~5c|l0yz4@*54Tr;)#LwRk-zS;ZeeW3z ze$u5!sG^@&STEz|0O4>GU_zHQEyrG{w@s{^x~K`#L4$ecl>T|RFyL!471_)c#MK`o zoE0&pc;9irc#Vv_);xt z-RA^ne30-q9aifdlMLG1Op-Pkmi{uB9AYi@UkwNlI| z-$NIiyxLdROD*1xJqzW>1I2>=@VP&?m;3w??2qk9KDIM^Ln>_FW$Du*@9gsTs#~=z zVSv8ywDdw&Cty-!-WN@MltJsvqG3|ETk<{5vhFR(zFv9`RtfpCYO%dTPqi%dVBz%S zWKtPc;Y33R4hA1TPz8eBTm?fgoiKm2?|QV$$AzPvf(~DU3$M#-=Vn!FCZM{%2Ugk9 zqjPecXw$x-yCQ;Ft5hY@HHsV~wcx{ic_I0tCL^O>q`#fgCWLI-`1{+V#sfa2^V~|W zzZVUzH?MTf*nS(K2sCs&mnezOQ7VMZKyd*24Cp?7*&_7{tF<%5Y+QcNZK@Z-V9KoM zMsHz5YgV6OG1b^Ha$un*brK_HLH%MbglzHP>hT2e<-xCVlW}Dd&FGFWTU(AY9>*`v z&L%v*-+3y?sn$blw{fhng1Zu|cLm3p2^rPS^olF!f4_0)uwUt4rlN?J7#^;2;PBgJIaJ*$4bh8ZGP1 z@eVFUo-^VII#xa``SR>xCT=OX+)#uwerIGCWj5MgFq;FR`+ZN>^m?SCH*Q=D^1 zl;{8|<2oT7CQ~CY;3dC$=+s9x)mRM1hA2AqVD`jxs}{bk57B1E(4!}N%X?!JILre` zu`#juGqqfgvLMtG+&^>#Uu*xT=koQeTGcl!01T;$#$`0#jY(5k66zkw~uW;^!6 z@L~R|s&u(@lFoJ+Se7k@#L znfQ-Tr4>O!G)$EdUGsk5R%ewRbO1(6TxPmI6{*9WTT7h&SVHX^upTTlX!#vI^W~aI zrv0dfFA==s%F(`iRbn6?lz6kf z7D-354)kDyYukw6b-W!7SF&KUbb1(j){E8sEqQj#-0V8FGMQ7ZG_-bq{plFBXu1{( zRcJ!*?+U&iigFZh>2>wH7H!VU#r9KYl!^c+nlxg((fCu;jHkR` z&a{j&UI~+=FxO^gs7Cr$SmW zqxknbxO;+Sc6LXH^Ex(_t9tT<(3&paaE_MaJ}z5%@m(gm9djt%&>kGK$+X@=6SZKs zGH3=-X-KzO0>>53BXR+oE!eZJPhF}c8vM93N{){8hWl-GIy5No;3JQl>&rPA#j`}h zu8JEc`xP95YSGHzNHrHw&>b^xl|T`k*f*d*O+Zz|LR z>aI-l`}=?!}q}h21{lc0dU^w0dEV~_+b`IKi8#R`f4$hRF(Fhm<-$$&JPaW zU#G^UP0I=yhr%dl!f}0ld)58E-cDD^U5`@G$D~EJH({%69pab2GgQkrRoFG`E;1O3v+!A~F7I*+4!kxX<;)MXtn;lk*oJ z=+FC^fq6ruWUP9nY*z&so==neBSH6@%X?8g%6T1++>z(7zUca`Z@YcZl53oOM`=<~ zeL-w^I3<6*@}pQ{Q9~~G&dh_c<7D?0oj(i3-?Hn)7-+;QCRn^385zk1C7xyJr78UZ z1-@VO_tcUls=O6#)KKaC06|GG!~hCTy?uP_rryvU!J=dM=ZC;g%0|M8a_dwT4cw+~ zjJ2qTbBd16JX_fFzO|lx*>A>|=}P8V5Mhj&bUuC_wOhDmrP%Ip5?FBcI|B=kj7PN~a8Li{uzJf;zi(iu`+XuXdxOWZ({?b?#sc_* z)Ve~`egYr5tewK{_P>=Yx$}DP#9FQ4JZ~Rc^0L2;MbjvMV|oE(*N4DeA|-MLA9Kv?%6;9UN^w z2xN@gwiceK>(^V08TW6k?mV~%R`MFPIWDPWkkP+arV5P2e4ph**LDRji}>Z=MV4Ol zhDvP}d-m**|1(PLm+kQMQeBtB%?X*H*{^`l*oJsg3Wx}NBCaQ#O&~S$}See4ODeM?=lSWCG_8=EB;%lCdPd|S;NHwbFsG_g6(2*TLTkbV3*%WFQ8S( znJ#t^p+C4(pDUC=c{Kuq?ri(uzq^v~*I#!;>ilZ9(dMSNd4}3no-xD{eERr`PS$HD zgGxK;)0B5@E2nhivuME-<}gmC_o&LY?J+Pp*QO5%=D?w@Ph~QmjCO;$NIz1nq&o496;| z9Y0r41?zJ)OY%er6<(pXsn~JxJ_koD8q-|p6LuK8CXWn(f zdb2(>!UX)h8?p<7*fRXWR0U!vElxAq`P_KrO0}x^{1`rb$lnl+!R^_9l+-37Af-U8 zA>rte=<2OQ!mdb^Yfm*Jd8c3_AmC7dE@4i6$SbY`>b0%>ql>4bRoUf&XtT2hV4awb z27@rm>9+DPU2PtGS~kkW*Pm8pno?h1P_#eqVB-<#a2s9;L*Je1q|--Cqp zjYYlD=bUkh77KX(m9|Ok{&rJ3-g<=xP*I)3_u}1Z;*5Ox)fYVsNacMNZ{fU_o<~pD zg&OAMWtUqYEEA?PF?T*DCYQQ>O)e-X;Et!y&PwCU1tvQmHwpCaTZt!We=K{?`1pdt z;oyXX97RSTDyJ3#0*#BSCWK@|J-#=$;LGixm;6Qn+W}X2+doA+7#h=b$b}*02PAuI3QtxUU7vJ##BFL_<+s8on zVW%o9Fp{H4L6JwWmd}J3sv~g|{(9o-#6fX6*7&&&fJ6#cA##@6D#4ZF^>*n#){$MX z;lNF!q4^f?g!A|^NBMm-11Z~0yXUu-MuP>Md|CqgodE%p3lgyyFH*9yjXMq110}29 zU@Lz6!k=(qd~(uq ziecaF6I_Oa;8lvTBrAATy#C%ES-KD0WPy)d6d`IiPSda^*Ku;+IN;j z+>>jTO!KRn@Rhhc9%!QlhY2YtC@eHS*Lo{wTRnR*X^}iK;`}iK@!M-C`=%gh7ZwoE zK#W^wLc$3Y;?oWM_>5TOU=I&)G|fugZa5NMJ0ajwFX+EF)1GUU`cPXSm+UvMD@=Mct|CFP}w#1{DkV!=!!E)(YiXeO0?nJUsz{xGI+!K-_O{6E(#Vf z>U#+@s|9umo;qj(uAN-K@rD_7IUJ?t-Pf1nV}Ptdi9`>K&S$Bc-mJGrp`290d*TT# z{LZfQ-~m}9-Sid%@aqDGj%M3;4xPaZ^Bz%3)*i3-^d$#4J4Q1;??@LUM+WA=vB7J$ zgBfsp6iA{&`>Bt9vtJ*eI*TE^?tCr}Lq`VpQFRD~;qjgjyHXRReh9at07PhD=QbP> zMc4AvL>zpVoh~GCd>FD=-zzl>UfSFpzExReY`pr_1I%^jODzbi!2eK(*z-*UH+TKUhdK8z$c-i|bgKi5z zlQ{U;8q-?2O`?X>8xHI=s@{3rXmivyUa@wVM~D4~b-GF#3_(_r@QPnOUlD-33R=$@ zyDxEXG>+)C$vPvZ)bkb+&fSmEZ9PMj>tEXPCY=lc5+EtoeMTm5fTS3BnG|* zvA;mW3uQ}3Pz<{j_Ib5N$5IS2HrHb&v~?pjb2Uut6!sw~Nb|U$ea{}Pw`I*j3X9?y z)E171!+CQRnm+zLoeo3jiSSC*2j9Ko?r^u;4i&zmuW-`O=AWnfgM-m)|Q*L;W8}=Q+tH2==Q-EZ5@5#-@IY&>G zKcTq~B>V!B8v?|B^v4q@#fpRGm{iy5_3jI{+{qFd$n1g%z@(-%1@tKK9Mv86_ztLr zELNklk49QxJR2&qCb_6n8$Oi0Q=`9hIMCZ>Z>IoCyV&JuCi0yKitlwo7UHTQSUF5? z23E9Lw!TcmMM*S~f9sANa;u7C#TuGcb$f4+q&12GjYLpkmO!OqSK_4*tZO2imL+#2 za(Dq<=HHr2eM1~q8mG2?p5S)q%zDb-#9;^k=MykOrM^#)(E+5V#c;uA*3>>QAw2*C zROCTaJa|B@*gh+u#8VgGG+EXJSW<^c4%ev>LRCAAZVV0UVE}7$XfV+w?|~lpc*Z}! zo~pnJ0hSnYWZ4S_GpX%su9WhzD~$C1rpiwMLO*=9odCBr&7v|BY2|JwHGL4Et8R#> zXcL1sh*CLqu%PDz&~Zp?+#0VielKuanI>duFI8cSaZL$grtwsCM{4kl4glk+AI*eh zeU)qhqDVOz5WcWhr_LQvXCnE$4J<(%PQ}oD4cR!NwEq_MQW#@a;c4ISO#qW>ph2E& z<&!BbPt_p$*^EgB*VYp=QsV@ zcXxkwA2%E{d2o0vsVEMJTjPz8tL*^I;&{dCCeBVXNzGh&>7xAB#NTmOT-)mQoT8hP zN?ftK4wlk)vlu>O<^o1*_9^AH&nN_5Em+vwcvRbIfX50>bKLZ08DLdufN5%H>lQ*$ zDTnrJe{x}b{h4A@251EEWOJ_RzBS>z8=!3f8vp^QjRcvr%?&a_ko)gn?UJM3EVg~! z+T!gT&96?a#73;yjXgi+rPV;t+Ev52Iqo)4;9L?BFq?kV!I!e^9KE)B48UZUrH^}A zyo!7Yykl}G%u&HuW;UcofqBYB*p`$h>jPU2+D$w&!B}BVZ9;aKjrT&_7BjPxK|1LW z5(9Xb1vunAhz-jZjtDeVFUOwxb+elZ$X4`9pM)vY{eUlt)ZKuB z-39ra5N?Uf$nF9ihrwv6WB%BjeRm6oay&pwNE)NO%#Z`Mae6OoI*CeImQsnlH;5{s zt0MdWZ8iwI+PDrXzitm;5pLSZ1NHCurveVS^1nV8Ed^hsHxaf0ntWDH?g zEH)b{ixob+!I<@gWb*8t%(@j60&5+zPchx&`U&vzXK z=FayvwnKY?U*q1N#O*Wp{;9*!qv;W^E#dJ7L}oo<;+HlA`C>O(_)O!Ju}S5(2RiEp zE3H5mo(NFr2PCTafZ06*e!3p$m*tvFMh`HMTCGjH`X>CBzeaL<64az$-b34`ZHI;m z?1F)kx;5++Gs{k7Rx4N=KpEJf!-vyLOV7{u@2j3}gSU3dvQ&4T{uVQ0;$a!z2ba$O zB5tKS?RA`(B@8q+CBOBD z1M|SYJ0p{UFr1nMY3#-s=$QrN@dfv>tkt3Xt5Kz!3Qy6e#<#Pdy=KR4|@YE+E?V9BJJE)Pb^tz z(Kj*%D#ua^_emod9B{Xw;r@fnhB*)-VX>njda^@REtE$eXpNmQcmte5yc0rzf`vE) zL)@IDr*o+KS^w%|QvTpy8XH8GXG%WTKqeeWd9{!GLTTwPH*db3>dH)U%!5M=g2xU+ zGktu9Fq6#o8jmxh?mSbE7Aa)Lr+RX;;W@`APn=K*X5;R7pHf!@_@1fjPvcSai5wf& z!0x?shT61~yK@YTFnZ$rS25qIhBtV4`nReyG_5H1-gJ}TC)4)FI8Gvfmal0Hz7fN^MjXoG^ptcYop0ydzObDy3@jC6O4 zze^8tC^iO@3@lm7P_;z^ssWx|ce1TYGq!nM&={D94o423LZ#b=@psB!!&IKUp9R#z zY%SJn4}ifH?k%E@xh~F+N*BWLGk%MFJAMK4_z*jLYE7atP&BUs33B(&o!W3ZvZ?>c zMoH+BO_9pz7NE&UFs1l=FcMPKT!9OaLPMl<5xONs$Vg8=si0s62Mf!2F1$V0YHLTB zQFuJK-s|z0SL{77?6SU-t$AdCb2Z@Oh!qii!hTvIN5!VEU{SiDuaNrANHOxYQKI+p z=PF=x;gB@LVse)O@N&P8j|&9`1{x-u1Ew%Si&MQQ|L7agyg@->m<%m#mbJCDv9UEzpTc#LFJ-MB=nsF+x5 zcX05foqP7^st!FHyGxtu)-QI@pFa;YW^?lhJ`*f{(RgWjxxD-iLjB24=KdqQjqSrT z&w8okJ}=28;B@>8iR>^GDs2hg8+j*ieygG2I4ho0%7J}~hLia-*U49>x6!-yd`5C} zlhI*GmyYv9w5)5raqr@(f^XYT_aCCXBDb?8RRRr5p)aYxcKYWIDbLl1%z~=KFG$oL zblefB{>*BIbFUs2ay?V!?rWD5w+)CL&=Yem?cHsvP^8idL?pv~lvf_isTF?C1YR+W6bX90sF!hTKlf`>n{rmw}m$z5{jbLS}{~u~0m^eRj6Xf-O zqb%1H&Kg#M0;}n>8yH3?t%l&AYabC&*QftuF0Fyfox(7-@0pz{|f7GPH=#$nu4f z6?*lW7DDq9qeOGqRU>swv2`zAyf~2gcN^EZkWssJUoWL=4s@gx4o0t(|KYIJ5$tQZ z>&IFkxSc{F7I*t1B~!PdAy2G(^z)0j-%-zc@w#U#yhbY+j@U|J6l9}45CSiH=~v&~ z^qKRR4TG*-=rI4;UDD?}@n|q$T~}d!&Jp<;SN9hR6Tq-eo8dB(ej;9dpnJ=fZeVd? zQb(I2zL!y6|ExtC!ALrNhhli{U-!-9)MB3V))>5ADXos_f-g*Y&!1)^lb`f-dO=F> zQxqY~n5GOF^oGvPSsekG^a`)Fyf}GWw$Xe9_zb#vRQrlte%ef@App3tPF~=wB+KL( zLgh@Be#Og|yz*K8zE)lD)eS2KJ9;QMm%-E?XOc+4U0tbXrGxfy80($%GzF?XyOvgJDP^}&aNsk&CcpAld;ohUp@f>PgL`2rB@+60joX4_}AT*Aj z=uHr8==(1(5{lKzoq>LdHTN%e8jvO~YY7NBB9&w#$QK51W_jb_{35TQm5~{E`cY}t z;^*lekhzQ`>k78GqWeo)WmTS?PtfIQYPJ>Qu-asrELHB&gw~o>GP3>y9_z8IuaLiI zTPvL`KbYNp?FoO03~tSsH$V;e$GXD zmynPs6yTZVZrMI)KJ3w5?kvBpd#6E1!)51z$_D$=1UPVd8};Th@3FG+mU)m&y^+r^ z?v)P-rC*4&4RZ0-9IK{3RT=hQ)+^{Ok@|u27lW#%T7n3)!6>de1bBA4sD=9}=AUL60>aE&33KkpIUNg+D*+0*9{9%W<7xP^~~Zo*0= zf2J{QwR$T&ZE0AH$pc|Gf`Zaw1wl=c)whLJb?j&vB_&kJ`XdSUj)SS;XE}Ns5o_R z9lPqAj+9CskCE*3Kgc63^T4Tg=COr;Hs$PH|bOO zd`_=Kr-P{8*qgvI?lReKWac`RBo*U1_1MT&_}!KK+n&@ejW}a+ZW)#ochFG*jGL#D zlH->F*i>T@ow?2@XUW0B@uOl-tVJ$R7CWvm5T zX;iKe&a?=UXX;FZY3%6o_Pfk=9GuOYuH<^O=K^%pL9fifiprBzGLFxDJ5aHEAt27R z6a{0{2FdJ#Buk5b-MKKY=9xIC^L4_R%re~JIJ8;?*D6&+J-`M2?-zU_9{%WDQgTf$ z>K%s-9vRZaQltgqv?8luNe4ZUHQrM44w5sFv_VzpkQ^>8SQxAcH&oTpkYJWX4a}++ z)S&&;B}`oHD7%y}@|)L-*1|ESjgVX(+?8Ips3bT5)i0m}`-+t=LLDd4!y=nbHvAbf zE2;y;JM!jEKbWIp*iRr8dRBEx@7n2_XOuEvSslGJbLPXa7W3KOj0JlwRKcSGi&Kn2 zzt8c3OH!v-r%X@H{HnkL1WqE-jj#|F`wGNXyQui|2vN@&CtB5p6BodGL zUIa&lSu>a_VBzmlA_i*w5j?xW_|hmmg6Pxqpna=Xt7VffeNwdHz)Ymx&I`9*G4d%i zu17JWFU`vPax27+>tKo;Mt9H0(%#yvk2?o1=VC)apMx?}FWAcvGxB-%f3$a;VNGS( zh`NrW4q^cv1y{ieCQuE z*j34t>0}_VOopJqONS%?V-!0&0s4Fsp}ka80(C*C4j_1{W`GD^6~^W%&&5H^>bfv@JV{ylAX3tWSJdl9ZE>d;*;gMqw2@3O z+3h#Ejgf!1uHz<=NlG2EDzJ5mDsevQkGMDU>Z4q%rk-2J#6{|ib5tk|$cY|cUa&qA zy{W45-=1n98ZsbW?F7pwn|U!rh-ZS!pri)*sW@*4vgn@_wqGzDAT0-=(yRBy_S*xCbSk8-*X~1F|82L}t zM(dV?Gg`7Ur;57h`l1hUC>sznm0{UF+!t%BK!@+|j-3*@zp5uz4nz#&3JVfgqlr>q ze(rkPqchQ5A@T<{5GcJW>obN;5LGdA^`xb-`5h9ap)>&EV*AVoiT!Z{Pr^u&;FC{dY2glJdaz1Qn#DLar*oXOmq+n~m7rc^OWmiM=kHNFi|`%zJ%x zHU-cmQy|>`19!0l8U~VO3kP<4=ZdKxA1c#9$_MKdNH0P(7|mFR$cPVAXKrtnSNX_) zp7W-SNf{7*Np7;M&#`eW0-4f(=SF6sy^Y_27d4Q;GM04f2z?p&6b;IBg3ui7&-IW5)Kr=t{WblNpA;~!pF@X_4PUCL9`Qs(+5JOg$A_U)4+3)MtGOkt4NMsN;D&mCwZ>>3ST8}J1rV0yc& zRSjW?@yC3`A1eCknF3)rnhn+)I}v_3QNsmR9~`OqL3_g$l(_J0aiAmM7bnOV0A{my z+bEbSROodJ$jd`u2RPzGN$ui!_e0oj`K0bY^4 z(gw@v{#7cWOZNgB4qA8tMWpNBK@<*uz8)&6@j?P!xGR$ij2Pnu{LRPLvG*Te&8cP5 zlrbE2nawKm64|zQHJ5{QsS^E#?U2z8Gz1NpmJpz8wuBa{f!(*|gf{H}uZf^6NSTBA zMgb>6D~3`GzJr~~atPhJP)b9KiyW~N+d%xd$O7Nt9D;-|ApwO0tRXtMpkKlAb&*!j zC4Iz@NE5A~;Qm#B3Z)#jxY5$yH3)WCcV^W(a(b4_t1@>F-PdRPo@g!l*vsYGty^E{ zV{hu;)0_0-@e_0PHQSR;S@&L{H9p#O$UML?(f0s69Xy#*$kB0{M*JxpU znt?VX>n0iHa(+aTqRr1oEwt!8$07T0{FF;RKX2BwQ7xa05I1Uy_xr?(9yU0QNVqF- z3d2e0_oicM@+B%WK{oSml*)VB6%;tNgSfIaj_NZJ#N*iqHL=+=V}V(;&(w15v5E_w2L0m@j1V-A z^YPm*icID^JUY9L3=C-}3)VEd&fU0?vpAj+FOieQ#@lhO31(+!hgi$(kOl?@4=EIW z*&CvglE>>cs7Ug%)!V-W>${2ulOtyD?#?SLyu&iVw$)_n@NX@7?Fkad7)h%+7H0MK z$lCBD6lG;+4}LaF`>EawcY~jzJ5s9 zQr7$g7agq-Q`l@WTAKW2l8v8@-df40Y2MERBi$IOHWDpg@4Ui@m(Aj<5{CSNC@L(LFQnQAKUcsQ~CrH<%{zyFVaK zZ6)O0hl*v&zg609Um;J;!2pxoUgnU6n*9?2DEYxYQccZXz9P8RyA@p7$CvsKHsKEQ z(_ye@kfUjJub0k6FS7hNN9ja~ODe`1G~C*M`+D!-D@hC^oNJ!(nY9jfqzCvf;(qnh z*f8+Eu;d*HEun>#J`-QwlhGVW2KGkad-aTFsNyAe*123%TqC@9Nn^uQz#7;C-)qAl zi0*fiSF=NXRYCS!62D4Jn_oD=PZ~v17hg&rr>xh2yWmg_#yw?{BsgbXYQb^CezC&~ zleK^{dWs~;$;7W6?~z%PlGIzL2OsmJ;S8aILZOQB*TR*dX;wjVS)f&{nYi`RBY~fB zUK$Oa*F)TPTarj)ibBV9&iRPXwU4-s-R~TO{wc{3CJHrfqs2GIT1V0|-~wj`3($VL zCi3LT12CAt7T|<%r_ppf4c)hnj>Oo9@Av{RAvT><6<->SQ3x8?-I45|jt36nmco%` zF2l2^jm8#_1amxw%UA6)!M_!&a2ChO#}zUNFHN-kD>5WdLnwBjDi?DVDKEpZmy zi5P<&;?2bTSfY2RmZ0@g7#F}sKM`XQlm50gR`X)T)5y>oaBlHf0L<-e5F!NjDc=UL zu`A=NMQt;*nbmF^gy0CTrY)VpwD}t6C9o$3>frf212}i@$@6n(Ol^cXVc^s2In^Bl zi8_Z3-8d(c(ujK;7beGU&6b3T5e-i_PT&Sx$@PHse9z)e1^JpcX%&Ad%I7-xp7F?i zEKnUoTc{I}+|9%a>SiLf+q;6zE;yY7?t~s?vEno*@hlnC$BMhXyS;Bla~;Mabb31` z?_Q#etShWq61N@Y2vYi?*)}l2qr5!TUM5p@$3ww@yT;30O^EnFNtrw6eauK=$*H8f zmu^C#+9+}ajg0Tv4Q13TYX?hF`<~VC|CN7W?mvkTw>Sk=3r{kJG9AvIkPW|jrOP96 zBpIgl`3E4u8k3dpvm_5hc8hcIyc%aHA`E89rez>o0+12?S0l+wwbYJ*;gfHpN!5Lyu_(!l;V znR-F)Y!qzuW;yhymsQo(gO$VC2_U`EXBNo$30^stH70FQTBWFQBc$CJ&OZygw&5~7 z@Qu}@Q{%la)WdmwcQNXJ%#Lo!)b8x-+d7cc From 14d6e216f69b6b2a78db6bdc6fa0f7c93a3e6bed Mon Sep 17 00:00:00 2001 From: nginx-seanmoloney <133861979+nginx-seanmoloney@users.noreply.github.com> Date: Fri, 6 Jun 2025 10:57:03 +0100 Subject: [PATCH 223/723] Update instructions for upgrading NGINX Agent (#648) * Update instructions for upgrading NGINX Agent * PR feedback Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> * PR feedback Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> * PR feedback Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> --------- Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> --- content/agent/installation-upgrade/upgrade.md | 57 ++++++++++--------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/content/agent/installation-upgrade/upgrade.md b/content/agent/installation-upgrade/upgrade.md index 50477e94b..cd11db359 100644 --- a/content/agent/installation-upgrade/upgrade.md +++ b/content/agent/installation-upgrade/upgrade.md @@ -12,9 +12,7 @@ type: Learn how to upgrade NGINX Agent. -## Upgrade NGINX Agent from version v2.31.0 or greater - -{{< note >}} Starting from version v2.31.0, NGINX Agent will automatically restart itself during an upgrade. {{< /note >}} +## Upgrade NGINX Agent To upgrade NGINX Agent, follow these steps: @@ -41,43 +39,48 @@ To upgrade NGINX Agent, follow these steps: sudo apt-get install -y --only-upgrade nginx-agent -o Dpkg::Options::="--force-confold" ``` +## Upgrade NGINX Agent to a Specific Version +To upgrade NGINX Agent to a specific **v2.x version**, follow these steps: -## Upgrade NGINX Agent from a version less than v2.31.0 - -To upgrade NGINX Agent, take the following steps: +#### Steps to Upgrade: -1. Open an SSH connection to the server where you’ve installed NGINX Agent and log in. +1. Open an SSH connection to the server running NGINX Agent and log in. -1. Make a backup copy of the following locations to ensure that you can successfully recover if the upgrade has issues: +1. Back up the following files and directories to ensure you can restore the environment in case of issues during the upgrade: - `/etc/nginx-agent` - - `config_dirs` values for any configuration specified in `/etc/nginx-agent/nginx-agent.conf` - -1. Stop NGINX Agent: + - Any `config_dirs` directory specified in `/etc/nginx-agent/nginx-agent.conf`. - ```shell - sudo systemctl stop nginx-agent - ``` - -1. Install the updated version of NGINX Agent: - - - CentOS, RHEL, RPM-Based +1. Perform the version-controlled upgrade. + - Debian, Ubuntu, Deb-Based + ```shell - sudo yum -y makecache - sudo yum update -y nginx-agent + sudo apt-get update + sudo apt-get install -y nginx-agent= -o Dpkg::Options::="--force-confold" ``` - - - Debian, Ubuntu, Deb-Based - + + Example (to upgrade to version 2.41.1~noble): + ```shell - sudo apt-get update - sudo apt-get install -y --only-upgrade nginx-agent -o Dpkg::Options::="--force-confold" + sudo apt-get install -y nginx-agent=2.41.1~noble -o Dpkg::Options::="--force-confold" ``` -1. Start NGINX Agent: + - CentOS, RHEL, RPM-Based + + ```shell + sudo yum install -y nginx-agent- + ``` + + Example (to upgrade to version `2.41.1`): + + ```shell + sudo yum install -y nginx-agent-2.41.1 + ``` +1. Verify the installed version: + ```shell - sudo systemctl start nginx-agent + sudo nginx-agent --version ``` From 39aed75510db87ea491b4bf18e98d599b4de2288 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Fri, 6 Jun 2025 11:19:41 -0700 Subject: [PATCH 224/723] Add custom landing page to N1 via index.md (#636) * feat: Add custom landing page to N1 via index.md * Removed list-main * Finish adding all the custom content for N1 landing page * Added changelog shortcode to Changelog card --- content/nginx-one/_index.md | 65 +++++++++++++++++ layouts/partials/list-main.html | 119 -------------------------------- 2 files changed, 65 insertions(+), 119 deletions(-) delete mode 100644 layouts/partials/list-main.html diff --git a/content/nginx-one/_index.md b/content/nginx-one/_index.md index 21284cbf0..27bf8dbfe 100644 --- a/content/nginx-one/_index.md +++ b/content/nginx-one/_index.md @@ -2,7 +2,72 @@ title: F5 NGINX One Console description: The F5 NGINX One Console makes it easy to manage NGINX instances across locations and environments. The console lets you monitor and control your NGINX fleet from one place—you can check configurations, track performance metrics, identify security vulnerabilities, manage SSL certificates, and more. url: /nginx-one/ +hasCustomContent: true cascade: logo: "NGINX-One-product-icon.svg" --- +{{< card-layout >}} + {{< card-section >}} + {{< card title="Manage your NGINX fleet" >}} + Simplify, scale, secure, and collaborate with your NGINX fleet + {{}} + {{< card title="Get started" >}} + See benefits from the NGINX One Console + {{}} + {{< card title="Connect your instances" >}} + Work with data plane keys, containers, and proxy servers + {{}} + {{< card title="Manage your NGINX instances" >}} + Monitor and maintain your deployments + {{}} + {{< card title="Draft new configurations" >}} + Work with Staged Configurations + {{}} + {{< card title="Set up metrics" >}} + Review your deployments in a dashboard + {{}} + {{< card title="Organize users with RBAC" >}} + Assign responsibilities with role-based access control + {{}} + {{< card title="Automate with the NGINX One API" >}} + Manage your NGINX fleet over REST + {{}} + {{< card title="Glossary" >}} + Learn terms unique to NGINX One Console + {{}} + {{< card title="Changelog" >}} + {{< changelog-dates >}} + {{}} + {{}} + # Other Products + {{< card-section title="Kubernetes Solutions">}} + {{< card title="NGINX Ingress Controller" titleUrl="/nginx-ingress-controller/" icon="NGINX-Ingress-Controller-product-icon">}} + Kubernetes traffic management with API gateway, identity, and observability features. + {{}} + {{< card title="NGINX Gateway Fabric" titleUrl="/nginx-gateway-fabric" icon="NGINX-product-icon">}} + Next generation Kubernetes connectivity using the Gateway API. + {{}} + {{}} + {{< card-section title="Local Console Option">}} + {{< card title="NGINX Instance Manager" titleUrl="/nginx-instance-manager" icon="NGINX-Instance-Manager-product-icon">}} + Track and control NGINX Open Source and NGINX Plus instances. + {{}} + {{}} + {{< card-section title="Modern App Delivery">}} + {{< card title="NGINX Plus" titleUrl="/nginx" icon="NGINX-Plus-product-icon-RGB">}} + The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. + {{}} + {{< card title="NGINX Open Source" titleUrl="nginx.org" icon="NGINX-product-icon">}} + The open source all-in-one load balancer, content cache, and web server + {{}} + {{}} + {{< card-section title="Security">}} + {{< card title="NGINX App Protect WAF" titleUrl="/nginx-app-protect-waf" icon="NGINX-App-Protect-WAF-product-icon">}} + Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs. + {{}} + {{< card title="NGINX App Protect DoS" titleUrl="/nginx-app-protect-dos" icon="NGINX-App-Protect-DoS-product-icon">}} + Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs. + {{}} + {{}} +{{}} \ No newline at end of file diff --git a/layouts/partials/list-main.html b/layouts/partials/list-main.html deleted file mode 100644 index be455babf..000000000 --- a/layouts/partials/list-main.html +++ /dev/null @@ -1,119 +0,0 @@ -{{/* TODO: Delete this page, and use the one from nginx-hugo-them */}} -

      - {{ $PageTitle := .Title }} -
      - -
      - - {{ if or (lt .WordCount 1) (eq $PageTitle "F5 NGINX One Console") (eq $PageTitle "F5 NGINX App Protect DoS") (eq $PageTitle "F5 NGINX Plus") }} -
      -
      -
      - {{ range .Pages.GroupBy "Section" }} - {{ range .Pages.ByWeight }} -
      -
      -

      - - {{ .Title }} -

      - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Manage your NGINX fleet")}} -

      Simplify, scale, secure, and collaborate with your NGINX fleet

      - {{ end }} - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Get started")}} -

      See benefits from the NGINX One Console

      - {{ end }} - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Draft new configurations")}} -

      Work with Staged Configurations

      - {{ end }} - - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Manage your NGINX instances")}} -

      Monitor and maintain your deployments

      - {{ end }} - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Organize users with RBAC")}} -

      Assign responsibilities with role-based access control

      - {{ end }} - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Automate with the NGINX One API")}} -

      Manage your NGINX fleet over REST

      - {{ end }} - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Glossary")}} -

      Learn terms unique to NGINX One Console

      - {{ end }} - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Connect your instances") }} -

      Work with data plane keys, containers, and proxy servers

      - {{ end }} - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Set up metrics") }} -

      Review your deployments in a dashboard

      - {{ end }} - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "API")}} -

      These are API docs

      - - {{ end }} - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Changelog") }} - {{ partial "changelog-date.html" . }} - {{ end }} -
      -
      - {{ end }} - {{ end }} -
      - {{ if eq $PageTitle "F5 NGINX One Console" }} -

      Other Products

      - {{ $nginxProducts := slice - (dict "title" "NGINX Instance Manager" "url" "/nginx-instance-manager" "imgSrc" "NGINX-Instance-Manager-product-icon" "type" "local-console-option" "description" "Track and control NGINX Open Source and NGINX Plus instances.") - (dict "title" "NGINX Ingress Controller" "url" "/nginx-ingress-controller" "imgSrc" "NGINX-Ingress-Controller-product-icon" "type" "kubernetes-solutions" "description" "Kubernetes traffic management with API gateway, identity, and observability features.") - (dict "title" "NGINX Gateway Fabric" "url" "/nginx-gateway-fabric" "imgSrc" "NGINX-product-icon" "type" "kubernetes-solutions" "description" "Next generation Kubernetes connectivity using the Gateway API.") - (dict "title" "NGINX App Protect WAF" "url" "/nginx-app-protect-waf" "imgSrc" "NGINX-App-Protect-WAF-product-icon" "type" "security" "description" "Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs.") - (dict "title" "NGINX App Protect DoS" "url" "/nginx-app-protect-dos" "imgSrc" "NGINX-App-Protect-DoS-product-icon" "type" "security" "description" "Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs.") - (dict "title" "NGINX Plus" "url" "/nginx" "imgSrc" "NGINX-Plus-product-icon-RGB" "type" "modern-app-delivery" "description" "The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway.") - (dict "title" "NGINX Open Source" "url" "https://nginx.org/en/docs/" "imgSrc" "NGINX-product-icon" "type" "modern-app-delivery" "description" "The open source all-in-one load balancer, content cache, and web server") - }} - {{ $groupedProducts := dict - "local-console-option" (where $nginxProducts "type" "local-console-option") - "kubernetes-solutions" (where $nginxProducts "type" "kubernetes-solutions") - "security" (where $nginxProducts "type" "security") - "modern-app-delivery" (where $nginxProducts "type" "modern-app-delivery") - }} - {{ range $type, $products := $groupedProducts }} -
      -

      {{ $type | humanize | title }}

      - {{ range $products }} -
      -
      -

      - - {{ .title }} -

      -

      - {{ if .description }}{{ .description | markdownify }}{{ end }} -

      -
      -
      - {{ end }} -
      - {{ end }} - {{ end }} -
      -
      - {{end}} -
      From 2f385fa478951a6658c98613737640340aea0352 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 09:13:57 +0100 Subject: [PATCH 225/723] build(deps): bump github/codeql-action from 3.28.16 to 3.28.19 (#653) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.16 to 3.28.19. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/28deaeda66b76a05916b6923827895f2b14ab387...fca7ace96b7d713c7035871441bd52efbe39e27e) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.28.19 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ossf_scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ossf_scorecard.yml b/.github/workflows/ossf_scorecard.yml index 86cd9f9bc..a3837c42f 100644 --- a/.github/workflows/ossf_scorecard.yml +++ b/.github/workflows/ossf_scorecard.yml @@ -56,6 +56,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: Upload SARIF results to code scanning - uses: github/codeql-action/upload-sarif@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16 + uses: github/codeql-action/upload-sarif@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19 with: sarif_file: results.sarif From dcf33483345bd629b6b2185e05593781cc640712 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Mon, 9 Jun 2025 03:32:47 -0700 Subject: [PATCH 226/723] Resolved dot org link in N1 landing page (#654) --- content/nginx-one/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginx-one/_index.md b/content/nginx-one/_index.md index 27bf8dbfe..12ff811af 100644 --- a/content/nginx-one/_index.md +++ b/content/nginx-one/_index.md @@ -58,7 +58,7 @@ cascade: {{< card title="NGINX Plus" titleUrl="/nginx" icon="NGINX-Plus-product-icon-RGB">}} The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. {{}} - {{< card title="NGINX Open Source" titleUrl="nginx.org" icon="NGINX-product-icon">}} + {{< card title="NGINX Open Source" titleUrl="https://nginx.org" icon="NGINX-product-icon">}} The open source all-in-one load balancer, content cache, and web server {{}} {{}} From 90cf13c4df3a7a529b7fc225cebcb16694baa025 Mon Sep 17 00:00:00 2001 From: Jack Hickey <133868041+nginx-jack@users.noreply.github.com> Date: Mon, 9 Jun 2025 12:00:45 +0100 Subject: [PATCH 227/723] Bump go.mod to v0.42.37 (#656) --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fd5114fe6..eab95ad43 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/nginxinc/docs go 1.19 -require github.com/nginxinc/nginx-hugo-theme v0.42.36 // indirect +require github.com/nginxinc/nginx-hugo-theme v0.42.37 // indirect diff --git a/go.sum b/go.sum index d4f5dc928..2f4bc5017 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,2 @@ -github.com/nginxinc/nginx-hugo-theme v0.42.36 h1:vFBavxB+tw2fs0rLTpA3kYPMdBK15LtZkfkX21kzrDo= -github.com/nginxinc/nginx-hugo-theme v0.42.36/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= +github.com/nginxinc/nginx-hugo-theme v0.42.37 h1:KtESjG1VG6ioSQBWfwgIiDVEmq9mylpunV2NENM8XvI= +github.com/nginxinc/nginx-hugo-theme v0.42.37/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= From a615caece8feeaf8ce41c6ee0507178162fb849b Mon Sep 17 00:00:00 2001 From: "Jacob (Jake) Newfield" <104527109+jnewfield@users.noreply.github.com> Date: Tue, 10 Jun 2025 03:06:50 -0700 Subject: [PATCH 228/723] Add http_auth_jwt module to cryptographic boundary definition within 'NGINX Plus FIPS Compliance' document (#658) Changes have been made --- content/nginx/fips-compliance-nginx-plus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginx/fips-compliance-nginx-plus.md b/content/nginx/fips-compliance-nginx-plus.md index ecd72095d..7be51a7be 100644 --- a/content/nginx/fips-compliance-nginx-plus.md +++ b/content/nginx/fips-compliance-nginx-plus.md @@ -31,7 +31,7 @@ This statement uses the following terms: - **Cryptographic module**: The OpenSSL software, comprised of libraries of FIPS‑validated algorithms that can be used by other applications. -- **Cryptographic boundary**: The operational functions that use FIPS‑validated algorithms. For NGINX Plus, the cryptographic boundary includes all functionality that is implemented by the [http_ssl](http://nginx.org/en/docs/http/ngx_http_ssl_module.html), [http_v2](http://nginx.org/en/docs/http/ngx_http_v2_module.html), [stream_ssl](http://nginx.org/en/docs/stream/ngx_stream_ssl_module.html), and [mail_ssl](http://nginx.org/en/docs/mail/ngx_mail_ssl_module.html) modules. These modules implement SSL and TLS operations for inbound and outbound connections which use HTTP, HTTP/2, TCP, and mail protocols. +- **Cryptographic boundary**: The operational functions that use FIPS‑validated algorithms. For NGINX Plus, the cryptographic boundary includes all functionality that is implemented by the [http_ssl](http://nginx.org/en/docs/http/ngx_http_ssl_module.html), [http_v2](http://nginx.org/en/docs/http/ngx_http_v2_module.html), [stream_ssl](http://nginx.org/en/docs/stream/ngx_stream_ssl_module.html), [mail_ssl](http://nginx.org/en/docs/mail/ngx_mail_ssl_module.html), and [http_auth_jwt](http://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html) modules. These modules implement SSL and TLS operations for inbound and outbound connections which use HTTP, HTTP/2, TCP, and mail protocols. - **NGINX Plus**: The NGINX Plus software application developed by NGINX, Inc. and delivered in binary format from NGINX servers. From 77420464da7dc2d1083e5abdfdf74818bba5c70a Mon Sep 17 00:00:00 2001 From: nginx-seanmoloney <133861979+nginx-seanmoloney@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:24:17 +0100 Subject: [PATCH 229/723] Agent info banner (#661) * Add an info banner, apply banner to all sections. Add a compatibility matrix to tech specs * add v3 banner * PR feedback Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> * PR feedback Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> * Update _banners/agent-v3-release.md * Update Agent version column to contain versions. * Minor change to remove v from versions * Update _banners/agent-v3-release.md --------- Co-authored-by: Jon Cahill-Torre Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- _banners/agent-v3-release.md | 9 +++++++++ content/agent/_index.md | 8 ++++++-- content/agent/technical-specifications.md | 11 +++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 _banners/agent-v3-release.md diff --git a/_banners/agent-v3-release.md b/_banners/agent-v3-release.md new file mode 100644 index 000000000..c82d87a10 --- /dev/null +++ b/_banners/agent-v3-release.md @@ -0,0 +1,9 @@ +{{< banner "notice" "NGINX Agent 3.0 is now available" >}} + + +F5 NGINX One Console does not currently support Agent 3.x. If you are using NGINX One Console in your environment, upgrade to the latest Agent 2.x version by following the [Upgrade NGINX Agent](/nginx-agent/installation-upgrade/upgrade/) guide. + +Please see the [Technical specifications](/nginx-agent/technical-specifications/) for product compatibility. + + +{{< /banner >}} \ No newline at end of file diff --git a/content/agent/_index.md b/content/agent/_index.md index 330490eb8..fcb621c38 100644 --- a/content/agent/_index.md +++ b/content/agent/_index.md @@ -1,8 +1,12 @@ --- title: NGINX Agent -description: NGINX Agent is a companion daemon for your NGINX Open Source or NGINX - Plus instance. url: /nginx-agent/ cascade: logo: NGINX-product-icon.png + banner: + enabled: true + type: deprecation + start-date: 2025-05-29 + end-date: 2025-09-09 + md: /_banners/agent-v3-release.md --- diff --git a/content/agent/technical-specifications.md b/content/agent/technical-specifications.md index 7ecd18398..149b08df9 100644 --- a/content/agent/technical-specifications.md +++ b/content/agent/technical-specifications.md @@ -12,6 +12,17 @@ type: This document provides technical specifications for NGINX Agent. It includes information on supported distributions, deployment environments, NGINX versions, sizing recommendations, and logging. +## NGINX Agent v3.0 Compatibility +{{< bootstrap-table "table table-striped table-bordered" >}} +| NGINX Product | Agent Version | +|------------------------------|----------------| +| **NGINX One Console** | 2.x | +| **NGINX Gateway Fabric** | 3.x | +| **NGINX Plus** | 2.x, 3.x | +| **NGINX Ingress Controller** | 2.x | +| **NGINX Instance Manager** | 2.x | +{{< /bootstrap-table >}} + ## Supported Distributions NGINX Agent can run in most environments. We support the following distributions: From de52c056afac71025d8ab4b867041c066cf42fba Mon Sep 17 00:00:00 2001 From: Arpith Varghese <127259427+arpith-f5@users.noreply.github.com> Date: Tue, 10 Jun 2025 08:06:41 -0700 Subject: [PATCH 230/723] NGINXaaS Platform metric migration (#647) --- .../monitoring/enable-monitoring.md | 4 +-- .../monitoring/migrate-to-platform-metrics.md | 34 +++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 content/nginxaas-azure/monitoring/migrate-to-platform-metrics.md diff --git a/content/nginxaas-azure/monitoring/enable-monitoring.md b/content/nginxaas-azure/monitoring/enable-monitoring.md index c4bc181d2..7185e3320 100644 --- a/content/nginxaas-azure/monitoring/enable-monitoring.md +++ b/content/nginxaas-azure/monitoring/enable-monitoring.md @@ -12,7 +12,7 @@ Monitoring your application's performance is crucial for maintaining its reliabi Refer to the [Azure monitor overview](https://docs.microsoft.com/en-us/azure/azure-monitor/overview) documentation from Microsoft to learn more about Azure Monitor. -### Prerequisites +## Prerequisites - A system assigned managed identity with `Monitoring Metrics Publisher` role. @@ -25,7 +25,7 @@ Azure Monitor will collects metrics from the NGINXaaS deployment automatically i ## Exporting You can export Azure Monitor metrics to other destinations like Log Analytics workspace, Azure Storage Account, Azure Event Hubs or Azure Monitor partner solutions using Diagnostic Setting. For more information, see the [Metrics diagnostic setting](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings). -To configure diagnostic settings for a service, see [Create diagnostic settings in Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/create-diagnostic-settings). +To configure diagnostic settings for a service, see [Create diagnostic settings in Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/create-diagnostic-settings). You can export metrics by selecting the `AllMetrics` category in diagnostic settings. {{}} Not all metrics are exportable via diagnostic settings, for a list of exportable metrics, see [NGINXaaS exportable metrics](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-metrics/nginx-nginxplus-nginxdeployments-metrics).{{}} diff --git a/content/nginxaas-azure/monitoring/migrate-to-platform-metrics.md b/content/nginxaas-azure/monitoring/migrate-to-platform-metrics.md new file mode 100644 index 000000000..44c14df37 --- /dev/null +++ b/content/nginxaas-azure/monitoring/migrate-to-platform-metrics.md @@ -0,0 +1,34 @@ +--- +title: Migrate from Custom Metrics to Platform Metrics +weight: 1000 +toc: true +url: /nginxaas/azure/getting-started/migrate-to-platform-metrics/ +type: +- how-to +--- + +## Overview +NGINXaaS previously supported monitoring using [Custom Metrics](https://learn.microsoft.com/en-us/azure/azure-monitor/metrics/metrics-custom-overview). Custom metrics is a preview feature in Azure and support for it will be dropped in the future. We have added support for Platform metrics which is the Azure recommended way for monitoring resources, we strongly recommend you to migrate your deployments monitoring to use Platform metrics to take advantage of reduced latency and higher reliability. + +## Migration Steps +This section contains instructions on how to migrate your deployment monitoring from Custom Metrics to Platform Metrics. + +1. Verify that your NGINXaaS deployment meets the [pre-requisites]({{< relref "/nginxaas-azure/monitoring/enable-monitoring.md#prerequisites">}}) for Platform metrics to work. +2. If the per-requisites are met, Platform metrics are enabled by default on all NGINXaaS deployment. Verify that you are able to see the new metrics in Azure Monitor under the `Standard Metrics` namespace. +3. Turn off legacy monitoring. + + - **Using Portal** + 1. Go to the **NGINX monitoring** page of the NGINXaaS deployment in the Azure portal. + 2. Toggle Off the `Send metrics to Azure Monitor` switch. + 3. Click Save. + + - **Using Terraform** + 1. Set `diagnose_support_enabled` to false in the `azurerm_nginx_deployment` resource. + 2. Run `terraform plan` followed by `terraform apply` to upgrade the deployment. + + - **Using Azure CLI** + Run the command below: + ```bash + az nginx deployment update --name myDeployment --resource-group \ + myResourceGroup --enable-diagnostics="false" + ``` \ No newline at end of file From 0f04b44c3259067c99049b7a0c28889415e10cec Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Tue, 10 Jun 2025 16:58:23 +0100 Subject: [PATCH 231/723] style guide corrections to migrate metrics doc (#664) * style guide corrections to migrate metrics doc * Apply suggestions from code review Co-authored-by: Ryan Davis Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * Update content/nginxaas-azure/monitoring/migrate-to-platform-metrics.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> --------- Co-authored-by: Ryan Davis Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> --- .../monitoring/migrate-to-platform-metrics.md | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/content/nginxaas-azure/monitoring/migrate-to-platform-metrics.md b/content/nginxaas-azure/monitoring/migrate-to-platform-metrics.md index 44c14df37..c33b781c7 100644 --- a/content/nginxaas-azure/monitoring/migrate-to-platform-metrics.md +++ b/content/nginxaas-azure/monitoring/migrate-to-platform-metrics.md @@ -1,5 +1,5 @@ --- -title: Migrate from Custom Metrics to Platform Metrics +title: Migrate from Custom metrics to Platform metrics weight: 1000 toc: true url: /nginxaas/azure/getting-started/migrate-to-platform-metrics/ @@ -8,27 +8,29 @@ type: --- ## Overview -NGINXaaS previously supported monitoring using [Custom Metrics](https://learn.microsoft.com/en-us/azure/azure-monitor/metrics/metrics-custom-overview). Custom metrics is a preview feature in Azure and support for it will be dropped in the future. We have added support for Platform metrics which is the Azure recommended way for monitoring resources, we strongly recommend you to migrate your deployments monitoring to use Platform metrics to take advantage of reduced latency and higher reliability. -## Migration Steps -This section contains instructions on how to migrate your deployment monitoring from Custom Metrics to Platform Metrics. +F5 NGINXaaS for Azure previously supported monitoring through [Custom Metrics](https://learn.microsoft.com/en-us/azure/azure-monitor/metrics/metrics-custom-overview), which is a preview feature in Azure. As a preview feature, support for Custom Metrics will be removed in the future. We've added support for Platform Metrics, which is the recommended way to monitor resources in Azure. We strongly recommend switching your deployment's monitoring to Platform Metrics to take advantage of lower latency and better reliability. -1. Verify that your NGINXaaS deployment meets the [pre-requisites]({{< relref "/nginxaas-azure/monitoring/enable-monitoring.md#prerequisites">}}) for Platform metrics to work. -2. If the per-requisites are met, Platform metrics are enabled by default on all NGINXaaS deployment. Verify that you are able to see the new metrics in Azure Monitor under the `Standard Metrics` namespace. -3. Turn off legacy monitoring. +## Migration steps - - **Using Portal** - 1. Go to the **NGINX monitoring** page of the NGINXaaS deployment in the Azure portal. - 2. Toggle Off the `Send metrics to Azure Monitor` switch. - 3. Click Save. +Follow the steps in this section to migrate your deployment monitoring from Custom metrics to Platform metrics. - - **Using Terraform** - 1. Set `diagnose_support_enabled` to false in the `azurerm_nginx_deployment` resource. - 2. Run `terraform plan` followed by `terraform apply` to upgrade the deployment. +1. Verify that your NGINXaaS deployment meets the [pre-requisites]({{< ref "/nginxaas-azure/monitoring/enable-monitoring.md#prerequisites">}}) for Platform metrics to work. +2. If the pre-requisites are met, Platform metrics are enabled by default on all NGINXaaS deployment. Verify that you are able to see the new metrics in Azure Monitor under the `Standard Metrics` namespace. +3. Turn off legacy monitoring: - - **Using Azure CLI** - Run the command below: - ```bash + - Using the Azure portal + 1. In the Azure portal, go to the **NGINX monitoring** page for your NGINXaaS deployment. + 2. Turn off the **Send metrics to Azure Monitor** setting. + 3. Select **Save**. + + - Using Terraform + 1. Set `diagnose_support_enabled` to false in the `azurerm_nginx_deployment` resource. + 2. Run `terraform plan` followed by `terraform apply` to upgrade the deployment. + + - Using the Azure CLI + Run the following command: + ```shell az nginx deployment update --name myDeployment --resource-group \ myResourceGroup --enable-diagnostics="false" - ``` \ No newline at end of file + ``` From d99cf086deae9024fba74eb80dd17e0c22143e28 Mon Sep 17 00:00:00 2001 From: Alex Russell <91080557+arussellf5@users.noreply.github.com> Date: Wed, 11 Jun 2025 02:50:19 -0600 Subject: [PATCH 232/723] NGINXaaS for Azure: update helm chart version used for load balancer for kubernetes (#665) This will ensure users get latest bug fixes and functionality. --- content/nginxaas-azure/loadbalancer-kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginxaas-azure/loadbalancer-kubernetes.md b/content/nginxaas-azure/loadbalancer-kubernetes.md index 51fd5e740..bd845dac1 100644 --- a/content/nginxaas-azure/loadbalancer-kubernetes.md +++ b/content/nginxaas-azure/loadbalancer-kubernetes.md @@ -148,7 +148,7 @@ The NLK controller can be installed in your Kubernetes cluster using either Helm Install the NLK controller using `helm install`. Be sure your kubectl context is pointed at the desired cluster. ```bash -helm install nlk oci://registry-1.docker.io/nginxcharts/nginxaas-loadbalancer-kubernetes --version 1.0.0 \ +helm install nlk oci://registry-1.docker.io/nginxcharts/nginxaas-loadbalancer-kubernetes --version 1.1.1 \ --set "nlk.dataplaneApiKey=${keyValue}" \ --set "nlk.config.nginxHosts=${dataplaneAPIEndpoint}nplus" ``` From 2f2be347be8bde4f8c97e1d3feeb6cd0bc99f919 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Wed, 11 Jun 2025 03:18:27 -0700 Subject: [PATCH 233/723] Renamed from products to components for N1 (#667) --- content/nginx-one/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginx-one/_index.md b/content/nginx-one/_index.md index 12ff811af..d5f57a9a6 100644 --- a/content/nginx-one/_index.md +++ b/content/nginx-one/_index.md @@ -40,7 +40,7 @@ cascade: {{}} {{}} - # Other Products + # Other Components {{< card-section title="Kubernetes Solutions">}} {{< card title="NGINX Ingress Controller" titleUrl="/nginx-ingress-controller/" icon="NGINX-Ingress-Controller-product-icon">}} Kubernetes traffic management with API gateway, identity, and observability features. From d7f351785767aa402eb5c5351c124f8c33cba9a7 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Wed, 11 Jun 2025 09:22:39 -0700 Subject: [PATCH 234/723] Fix changelog partial (#670) fix changelog partial --- layouts/partials/changelog-date.html | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/layouts/partials/changelog-date.html b/layouts/partials/changelog-date.html index 2c1547392..efe487b51 100644 --- a/layouts/partials/changelog-date.html +++ b/layouts/partials/changelog-date.html @@ -1,11 +1,10 @@ {{ $changelogContent := readFile "content/nginx-one/changelog.md" }} {{ $maxNumLogs := 3 }} {{ $headings := first $maxNumLogs (findRE `(?m)^##\s(.+)$` $changelogContent) }} -
        - {{ range $headings }} - {{$title := replaceRE "^##\\s" "" .}} -
      • {{ $title }}
      • - {{ end }} -
      • Older...
      • + {{ range $headings }} + {{ $title := replaceRE "^##\\s" "" . }} +
      • {{ $title }}
      • + {{ end }} +
      • Older...
      \ No newline at end of file From 1f9fdcc2424e725b04cdf824cb30dc240ddf7b58 Mon Sep 17 00:00:00 2001 From: yar Date: Thu, 12 Jun 2025 10:49:42 +0100 Subject: [PATCH 235/723] feat: Update the value of ssl_protocols. (#672) --- .../load-balancer/http-load-balancer.md | 2 +- .../admin-guide/mail-proxy/mail-proxy.md | 4 +- .../securing-http-traffic-upstream.md | 4 +- .../securing-tcp-traffic-upstream.md | 4 +- .../security-controls/terminating-ssl-http.md | 8 +- .../security-controls/terminating-ssl-tcp.md | 4 +- .../microsoft-exchange.md | 150 +++++++++--------- .../f5-big-ip-configuration.md | 4 +- content/nginx/fips-compliance-nginx-plus.md | 2 +- 9 files changed, 90 insertions(+), 92 deletions(-) diff --git a/content/nginx/admin-guide/load-balancer/http-load-balancer.md b/content/nginx/admin-guide/load-balancer/http-load-balancer.md index a01b69aed..cfce044ca 100644 --- a/content/nginx/admin-guide/load-balancer/http-load-balancer.md +++ b/content/nginx/admin-guide/load-balancer/http-load-balancer.md @@ -427,7 +427,7 @@ http { listen 443 ssl; ssl_certificate /etc/nginx/ssl/company.com.crt; ssl_certificate_key /etc/nginx/ssl/company.com.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_protocols TLSv1.2 TLSv1.3; location / { proxy_pass https://exchange; diff --git a/content/nginx/admin-guide/mail-proxy/mail-proxy.md b/content/nginx/admin-guide/mail-proxy/mail-proxy.md index ab47d4813..a2f29c46d 100644 --- a/content/nginx/admin-guide/mail-proxy/mail-proxy.md +++ b/content/nginx/admin-guide/mail-proxy/mail-proxy.md @@ -166,7 +166,7 @@ To enable SSL/TLS for the mail proxy: ```nginx mail { #... - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; } ``` @@ -223,7 +223,7 @@ mail { ssl on; ssl_certificate /etc/ssl/certs/server.crt; ssl_certificate_key /etc/ssl/certs/server.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; diff --git a/content/nginx/admin-guide/security-controls/securing-http-traffic-upstream.md b/content/nginx/admin-guide/security-controls/securing-http-traffic-upstream.md index d2e353616..978bab7c5 100644 --- a/content/nginx/admin-guide/security-controls/securing-http-traffic-upstream.md +++ b/content/nginx/admin-guide/security-controls/securing-http-traffic-upstream.md @@ -77,7 +77,7 @@ Optionally, you can specify which SSL protocols and ciphers are used: ```nginx location /upstream { #... - proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + proxy_ssl_protocols TLSv1.2 TLSv1.3; proxy_ssl_ciphers HIGH:!aNULL:!MD5; } ``` @@ -133,7 +133,7 @@ http { proxy_pass https://backend.example.com; proxy_ssl_certificate /etc/nginx/client.pem; proxy_ssl_certificate_key /etc/nginx/client.key; - proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + proxy_ssl_protocols TLSv1.2 TLSv1.3; proxy_ssl_ciphers HIGH:!aNULL:!MD5; proxy_ssl_trusted_certificate /etc/nginx/trusted_ca_cert.crt; diff --git a/content/nginx/admin-guide/security-controls/securing-tcp-traffic-upstream.md b/content/nginx/admin-guide/security-controls/securing-tcp-traffic-upstream.md index 13ec0bc3f..d40ccac1b 100644 --- a/content/nginx/admin-guide/security-controls/securing-tcp-traffic-upstream.md +++ b/content/nginx/admin-guide/security-controls/securing-tcp-traffic-upstream.md @@ -58,7 +58,7 @@ Optionally, specify which SSL protocols and ciphers to use: ```nginx server { ... - proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + proxy_ssl_protocols TLSv1.2 TLSv1.3; proxy_ssl_ciphers HIGH:!aNULL:!MD5; } ``` @@ -98,7 +98,7 @@ stream { proxy_ssl_certificate /etc/ssl/certs/backend.crt; proxy_ssl_certificate_key /etc/ssl/certs/backend.key; - proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + proxy_ssl_protocols TLSv1.2 TLSv1.3; proxy_ssl_ciphers HIGH:!aNULL:!MD5; proxy_ssl_trusted_certificate /etc/ssl/certs/trusted_ca_cert.crt; diff --git a/content/nginx/admin-guide/security-controls/terminating-ssl-http.md b/content/nginx/admin-guide/security-controls/terminating-ssl-http.md index 792b7ce00..66656532d 100644 --- a/content/nginx/admin-guide/security-controls/terminating-ssl-http.md +++ b/content/nginx/admin-guide/security-controls/terminating-ssl-http.md @@ -22,7 +22,7 @@ server { server_name www.example.com; ssl_certificate www.example.com.crt; ssl_certificate_key www.example.com.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; #... } @@ -39,10 +39,10 @@ In this case it is important to restrict access to the file. Note that although The [ssl_protocols](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) and [ssl_ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers ) directives can be used to require that clients use only the strong versions and ciphers of SSL/TLS when establishing connections. -Since version 1.9.1, NGINX uses these defaults: +Since version 1.23.4, NGINX uses these defaults: ```nginx -ssl_protocols TLSv1 TLSv1.1 TLSv1.2; +ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; ``` @@ -118,7 +118,7 @@ http { ssl_certificate www.example.com.crt; ssl_certificate_key www.example.com.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; #... } diff --git a/content/nginx/admin-guide/security-controls/terminating-ssl-tcp.md b/content/nginx/admin-guide/security-controls/terminating-ssl-tcp.md index bf7ab028f..af416b053 100644 --- a/content/nginx/admin-guide/security-controls/terminating-ssl-tcp.md +++ b/content/nginx/admin-guide/security-controls/terminating-ssl-tcp.md @@ -62,7 +62,7 @@ Additionally, the [ssl_protocols](https://nginx.org/en/docs/stream/ngx_stream_ss ```nginx server { #... - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; } ``` @@ -152,7 +152,7 @@ stream { ssl_certificate /etc/ssl/certs/server.crt; ssl_certificate_key /etc/ssl/certs/server.key; - ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; + ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; ssl_session_cache shared:SSL:20m; ssl_session_timeout 4h; diff --git a/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md b/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md index bfaabc179..1c1a48769 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md +++ b/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md @@ -475,7 +475,7 @@ The directives in the top‑level `stream` configuration block configure TCP loa server { listen 993; status_zone exchange-imaps; - proxy_pass exchange-imaps; + proxy_pass exchange-imaps; } ``` @@ -488,7 +488,7 @@ The directives in the top‑level `stream` configuration block configure TCP loa server { listen 25; # SMTP port can be changed here (to 587, for example) status_zone exchange-smtp; - proxy_pass exchange-smtp; + proxy_pass exchange-smtp; } ``` @@ -517,7 +517,7 @@ These directives in the top‑level `http` configuration block configure global ```nginx # In the 'http' block - keepalive_timeout 3h; + keepalive_timeout 3h; proxy_read_timeout 3h; ``` @@ -542,7 +542,7 @@ These directives define virtual servers for HTTP and HTTPS traffic in the top‑ ```nginx # In the 'http' block server { - listen 443 ssl; + listen 443 ssl; status_zone exchange-combined; } ``` @@ -564,9 +564,9 @@ These directives define virtual servers for HTTP and HTTPS traffic in the top‑ ```nginx # In the 'server' block for HTTPS traffic - ssl_certificate /etc/nginx/ssl/company.com.crt; + ssl_certificate /etc/nginx/ssl/company.com.crt; ssl_certificate_key /etc/nginx/ssl/company.com.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_protocols TLSv1.2 TLSv1.3; ``` Directive documentation: [ssl_certificate](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate), [ssl_certificate_key](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate_key), [ssl_protocols](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) @@ -668,11 +668,11 @@ These directives complete the configuration for basic load balancing of Exchange ```nginx # In the 'server' block for HTTPS traffic location / { - proxy_pass https://exchange; - proxy_buffering off; - proxy_http_version 1.1; + proxy_pass https://exchange; + proxy_buffering off; + proxy_http_version 1.1; proxy_request_buffering off; - proxy_set_header Connection "Keep-Alive"; + proxy_set_header Connection "Keep-Alive"; } ``` @@ -730,10 +730,10 @@ http { listen 443 ssl; http2 on; client_max_body_size 2G; - ssl_certificate /etc/nginx/ssl/company.com.crt; - ssl_certificate_key /etc/nginx/ssl/company.com.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - status_zone exchange-combined; + ssl_certificate /etc/nginx/ssl/company.com.crt; + ssl_certificate_key /etc/nginx/ssl/company.com.key; + ssl_protocols TLSv1.2 TLSv1.3; + status_zone exchange-combined; location = / { return 301 "/owa/"; @@ -745,11 +745,11 @@ http { } location / { - proxy_pass https://exchange; - proxy_buffering off; - proxy_http_version 1.1; + proxy_pass https://exchange; + proxy_buffering off; + proxy_http_version 1.1; proxy_request_buffering off; - proxy_set_header Connection "Keep-Alive"; + proxy_set_header Connection "Keep-Alive"; } } } @@ -780,13 +780,13 @@ stream { server { listen 993; status_zone exchange-imaps; - proxy_pass exchange-imaps; + proxy_pass exchange-imaps; } server { listen 25; # SMTP port can be changed here (to 587, for example) status_zone exchange-smtp; - proxy_pass exchange-smtp; + proxy_pass exchange-smtp; } } ``` @@ -820,9 +820,6 @@ Exchange CASs interact with various applications used by clients on different ty {{}} - - - ##### Configuring Granular URL Location Control @@ -892,9 +889,9 @@ Exchange CASs interact with various applications used by clients on different ty ```nginx # In the 'server' block for HTTPS traffic location / { - proxy_pass https://exchange; + proxy_pass https://exchange; proxy_http_version 1.1; - proxy_set_header Connection ""; + proxy_set_header Connection ""; } ``` @@ -907,9 +904,9 @@ Exchange CASs interact with various applications used by clients on different ty location /ecp { #allow 172.16.0.0/16; # Replace with your admin network #deny all; - proxy_pass https://exchange-ecp; + proxy_pass https://exchange-ecp; proxy_http_version 1.1; - proxy_set_header Connection ""; + proxy_set_header Connection ""; } ``` @@ -920,9 +917,9 @@ Exchange CASs interact with various applications used by clients on different ty ```nginx # In the 'server' block for HTTPS traffic location /mapi { - proxy_pass https://exchange-mapi; + proxy_pass https://exchange-mapi; proxy_http_version 1.1; - proxy_set_header Connection ""; + proxy_set_header Connection ""; } ``` @@ -931,9 +928,9 @@ Exchange CASs interact with various applications used by clients on different ty ```nginx # In the 'server' block for HTTPS traffic location /Microsoft-Server-ActiveSync { - proxy_pass https://exchange-activesync; + proxy_pass https://exchange-activesync; proxy_http_version 1.1; - proxy_set_header Connection ""; + proxy_set_header Connection ""; } ``` @@ -942,9 +939,9 @@ Exchange CASs interact with various applications used by clients on different ty ```nginx # In the 'server' block for HTTPS traffic location /owa { - proxy_pass https://exchange-owa; + proxy_pass https://exchange-owa; proxy_http_version 1.1; - proxy_set_header Connection ""; + proxy_set_header Connection ""; } ``` @@ -953,11 +950,11 @@ Exchange CASs interact with various applications used by clients on different ty ```nginx # In the 'server' block for HTTPS traffic location /rpc/rpcproxy.dll { - proxy_pass https://exchange-rpc; - proxy_buffering off; - proxy_http_version 1.1; + proxy_pass https://exchange-rpc; + proxy_buffering off; + proxy_http_version 1.1; proxy_request_buffering off; - proxy_set_header Connection "Keep-Alive"; + proxy_set_header Connection "Keep-Alive"; } ``` @@ -1018,27 +1015,27 @@ These directives configure NGINX Plus health checks. location /ecp { #allow 172.16.0.0/16; # Replace with your admin network #deny all; - proxy_pass https://exchange-ecp; + proxy_pass https://exchange-ecp; proxy_http_version 1.1; - proxy_set_header Connection ""; - health_check uri=/ecp/healthcheck.htm interval=3s - match=exchange-health; + proxy_set_header Connection ""; + health_check uri=/ecp/healthcheck.htm interval=3s + match=exchange-health; } location /mapi { - proxy_pass https://exchange-mapi; + proxy_pass https://exchange-mapi; proxy_http_version 1.1; - proxy_set_header Connection ""; - health_check uri=/mapi/healthcheck.htm interval=3s - match=exchange-health; + proxy_set_header Connection ""; + health_check uri=/mapi/healthcheck.htm interval=3s + match=exchange-health; } location /owa { - proxy_pass https://exchange-owa; + proxy_pass https://exchange-owa; proxy_http_version 1.1; - proxy_set_header Connection ""; - health_check uri=/owa/healthcheck.htm interval=3s - match=exchange-health; + proxy_set_header Connection ""; + health_check uri=/owa/healthcheck.htm interval=3s + match=exchange-health; } ``` @@ -1234,10 +1231,10 @@ http { http2 on; client_max_body_size 2G; - ssl_certificate /etc/nginx/ssl/company.com.crt; + ssl_certificate /etc/nginx/ssl/company.com.crt; ssl_certificate_key /etc/nginx/ssl/company.com.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - status_zone exchange-combined; + ssl_protocols TLSv1.2 TLSv1.3; + status_zone exchange-combined; location = / { return 301 "/owa/"; @@ -1249,9 +1246,9 @@ http { } location / { - proxy_pass https://exchange; + proxy_pass https://exchange; proxy_http_version 1.1; - proxy_set_header Connection ""; + proxy_set_header Connection ""; } location /ecp { @@ -1263,43 +1260,43 @@ http { #allow 172.16.0.0/16; # Replace with your admin network #deny all; - proxy_pass https://exchange-ecp; + proxy_pass https://exchange-ecp; proxy_http_version 1.1; - proxy_set_header Connection ""; - health_check uri=/ecp/healthcheck.htm interval=3s - match=exchange-health; + proxy_set_header Connection ""; + health_check uri=/ecp/healthcheck.htm interval=3s + match=exchange-health; } location /mapi { - proxy_pass https://exchange-mapi; + proxy_pass https://exchange-mapi; proxy_http_version 1.1; - proxy_set_header Connection ""; - health_check uri=/mapi/healthcheck.htm interval=3s - match=exchange-health; + proxy_set_header Connection ""; + health_check uri=/mapi/healthcheck.htm interval=3s + match=exchange-health; } location /Microsoft-Server-ActiveSync { - proxy_pass https://exchange-active-sync; + proxy_pass https://exchange-active-sync; proxy_http_version 1.1; - proxy_set_header Connection ""; + proxy_set_header Connection ""; } location /owa { - proxy_pass https://exchange-owa; + proxy_pass https://exchange-owa; proxy_http_version 1.1; - proxy_set_header Connection ""; - health_check uri=/owa/healthcheck.htm interval=3s - match=exchange-health; + proxy_set_header Connection ""; + health_check uri=/owa/healthcheck.htm interval=3s + match=exchange-health; } location /rpc/rpcproxy.dll { - proxy_pass https://exchange-rpc; - proxy_buffering off; - proxy_http_version 1.1; - proxy_request_buffering off; + proxy_pass https://exchange-rpc; + proxy_buffering off; + proxy_http_version 1.1; + proxy_request_buffering off; proxy_set_header Connection "Keep-Alive"; - health_check uri=/rpc/rpcproxy.dll interval=3s - match=exchange-auth; + health_check uri=/rpc/rpcproxy.dll interval=3s + match=exchange-auth; } } } @@ -1330,13 +1327,13 @@ stream { server { listen 993; status_zone exchange-imaps; - proxy_pass exchange-imaps; + proxy_pass exchange-imaps; } server { listen 25; # SMTP port can be changed here (to 587, for example) status_zone exchange-smtp; - proxy_pass exchange-smtp; + proxy_pass exchange-smtp; } } ``` @@ -1344,6 +1341,7 @@ stream { ### Revision History +- Version 7 (June 2025) – Update for the `ssl_protocols` directive - Version 6 (May 2024) – Update about HTTP/2 support (the [http2](https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2) directive) - Version 5 (April 2018) – Update for NGINX Plus API (NGINX Plus R14) - Version 4 (May 2017) – Update about HTTP/2 support (NGINX Plus Release 11 and later) diff --git a/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md b/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md index 1cc9c9455..f5e2a4dec 100644 --- a/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md +++ b/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md @@ -1,4 +1,4 @@ ---- + --- description: Migrate load-balancing configuration from F5 BIG-IP LTM to NGINX Plus, using our syntax conversion examples. docs: DOCS-460 @@ -240,7 +240,7 @@ There are two methods for handling SSL/TLS traffic on a load balancer instance, proxy_pass https://ssl_test_pool; proxy_ssl_certificate /etc/nginx/ssl/client.pem; proxy_ssl_certificate_key /etc/nginx/ssl/client.key; - proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + proxy_ssl_protocols TLSv1.2 TLSv1.3; proxy_ssl_ciphers HIGH:!aNULL:!MD5; proxy_ssl_trusted_certificate /etc/nginx/ssl/trusted_ca_cert.crt; proxy_ssl_verify on; diff --git a/content/nginx/fips-compliance-nginx-plus.md b/content/nginx/fips-compliance-nginx-plus.md index 7be51a7be..52a378a44 100644 --- a/content/nginx/fips-compliance-nginx-plus.md +++ b/content/nginx/fips-compliance-nginx-plus.md @@ -110,7 +110,7 @@ server { ssl_certificate /etc/nginx/ssl/test.crt; ssl_certificate_key /etc/nginx/ssl/test.key; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_protocols TLSv1.2 TLSv1.3; location / { root /usr/share/nginx/html; From d91f4e05259e2860fea509eac0145b9af618ec0f Mon Sep 17 00:00:00 2001 From: salonichf5 <146118978+salonichf5@users.noreply.github.com> Date: Thu, 12 Jun 2025 19:25:13 +0530 Subject: [PATCH 236/723] NGF: Update release version to v2.0.1 (#671) Update doc version for NGF release 2.0.1 --- layouts/shortcodes/version-ngf.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/shortcodes/version-ngf.html b/layouts/shortcodes/version-ngf.html index 359a5b952..10bf840ed 100644 --- a/layouts/shortcodes/version-ngf.html +++ b/layouts/shortcodes/version-ngf.html @@ -1 +1 @@ -2.0.0 \ No newline at end of file +2.0.1 \ No newline at end of file From c4e6d911e957489e7685f931cd361b710ef6a9fd Mon Sep 17 00:00:00 2001 From: Saylor Berman Date: Thu, 12 Jun 2025 09:34:43 -0600 Subject: [PATCH 237/723] NGF: replace static-mode with controller (#669) Problem: The static-mode command has been renamed. Solution: Update to `controller`. --- .../includes/ngf/installation/expose-nginx-gateway-fabric.md | 2 +- content/ngf/overview/gateway-api-compatibility.md | 4 ++-- content/ngf/traffic-management/basic-routing.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/includes/ngf/installation/expose-nginx-gateway-fabric.md b/content/includes/ngf/installation/expose-nginx-gateway-fabric.md index 85d2f4f4c..9ae213ed8 100644 --- a/content/includes/ngf/installation/expose-nginx-gateway-fabric.md +++ b/content/includes/ngf/installation/expose-nginx-gateway-fabric.md @@ -50,4 +50,4 @@ There are two options for accessing NGINX Gateway Fabric depending on the type o NGINX Gateway Fabric uses the created service to update the **Addresses** field in the **Gateway Status** resource. Using a **LoadBalancer** service sets this field to the IP address and/or hostname of that service. Without a service, the pod IP address is used. -This gateway is associated with the NGINX Gateway Fabric through the **gatewayClassName** field. The default installation of NGINX Gateway Fabric creates a **GatewayClass** with the name **nginx**. NGINX Gateway Fabric will only configure gateways with a **gatewayClassName** of **nginx** unless you change the name via the `--gatewayclass` [command-line flag]({{< ref "/ngf/reference/cli-help.md#static-mode">}}). +This gateway is associated with the NGINX Gateway Fabric through the **gatewayClassName** field. The default installation of NGINX Gateway Fabric creates a **GatewayClass** with the name **nginx**. NGINX Gateway Fabric will only configure gateways with a **gatewayClassName** of **nginx** unless you change the name via the `--gatewayclass` [command-line flag]({{< ref "/ngf/reference/cli-help.md#controller">}}). diff --git a/content/ngf/overview/gateway-api-compatibility.md b/content/ngf/overview/gateway-api-compatibility.md index fc04731cc..207d9f94c 100644 --- a/content/ngf/overview/gateway-api-compatibility.md +++ b/content/ngf/overview/gateway-api-compatibility.md @@ -57,7 +57,7 @@ For a description of each field, visit the [Gateway API documentation](https://g {{< /bootstrap-table >}} -NGINX Gateway Fabric supports a single GatewayClass resource configured with the `--gatewayclass` flag of the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) command. +NGINX Gateway Fabric supports a single GatewayClass resource configured with the `--gatewayclass` flag of the [controller]({{< ref "/ngf/reference/cli-help.md#controller>}}) command. **Fields**: @@ -87,7 +87,7 @@ NGINX Gateway Fabric supports a single GatewayClass resource configured with the NGINX Gateway Fabric supports multiple Gateway resources. The Gateway resources must reference NGINX Gateway Fabric's corresponding GatewayClass. -See the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) command for more information. +See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command for more information. **Fields**: diff --git a/content/ngf/traffic-management/basic-routing.md b/content/ngf/traffic-management/basic-routing.md index 41a81cc81..78b02c338 100644 --- a/content/ngf/traffic-management/basic-routing.md +++ b/content/ngf/traffic-management/basic-routing.md @@ -148,7 +148,7 @@ In a production environment, you should have a DNS record for the external IP ad {{< /note >}} -This Gateway is associated with NGINX Gateway Fabric through the **gatewayClassName** field. The default installation of NGINX Gateway Fabric creates a GatewayClass with the name **nginx**. NGINX Gateway Fabric will only configure Gateways with a **gatewayClassName** of **nginx** unless you change the name via the `--gatewayclass` [command-line flag]({{< ref "/ngf/reference/cli-help.md#static-mode" >}}). +This Gateway is associated with NGINX Gateway Fabric through the **gatewayClassName** field. The default installation of NGINX Gateway Fabric creates a GatewayClass with the name **nginx**. NGINX Gateway Fabric will only configure Gateways with a **gatewayClassName** of **nginx** unless you change the name via the `--gatewayclass` [command-line flag]({{< ref "/ngf/reference/cli-help.md#controller" >}}). We specify a [listener](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.Listener) on the Gateway to open an entry point on the cluster. In this case, since the coffee application accepts HTTP requests, we create an HTTP listener, named **http**, that listens on port 80. From 40af4bd29cdc39f54634f43858be07351dfc32ea Mon Sep 17 00:00:00 2001 From: Saylor Berman Date: Fri, 13 Jun 2025 01:58:34 -0600 Subject: [PATCH 238/723] Fix missing quote (#676) A quotation was missing that was not caught by the original PR pipeline. --- content/ngf/overview/gateway-api-compatibility.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ngf/overview/gateway-api-compatibility.md b/content/ngf/overview/gateway-api-compatibility.md index 207d9f94c..5638ed596 100644 --- a/content/ngf/overview/gateway-api-compatibility.md +++ b/content/ngf/overview/gateway-api-compatibility.md @@ -57,7 +57,7 @@ For a description of each field, visit the [Gateway API documentation](https://g {{< /bootstrap-table >}} -NGINX Gateway Fabric supports a single GatewayClass resource configured with the `--gatewayclass` flag of the [controller]({{< ref "/ngf/reference/cli-help.md#controller>}}) command. +NGINX Gateway Fabric supports a single GatewayClass resource configured with the `--gatewayclass` flag of the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command. **Fields**: From 85237e07f9835ff510e2fe2ab573a7e4d4bce958 Mon Sep 17 00:00:00 2001 From: bjee19 <139261241+bjee19@users.noreply.github.com> Date: Fri, 13 Jun 2025 06:31:04 -0700 Subject: [PATCH 239/723] feat: Fix NGINX Plus subsection link (#677) Fix small link to subsection --- .../ngf/installation/nginx-plus/docker-registry-secret.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/includes/ngf/installation/nginx-plus/docker-registry-secret.md b/content/includes/ngf/installation/nginx-plus/docker-registry-secret.md index c6d666b6d..0bfceec95 100644 --- a/content/includes/ngf/installation/nginx-plus/docker-registry-secret.md +++ b/content/includes/ngf/installation/nginx-plus/docker-registry-secret.md @@ -2,7 +2,7 @@ docs: "DOCS-000" --- -{{< note >}} If you would rather pull the NGINX Plus image and push to a private registry, you can skip this specific step and instead follow [this step]({{< ref "/ngf/install/nginx-plus.md#pulling-an-image-for-local-use" >}}). {{< /note >}} +{{< note >}} If you would rather pull the NGINX Plus image and push to a private registry, you can skip this specific step and instead follow [this step]({{< ref "/ngf/install/nginx-plus.md#pull-an-image-for-local-use" >}}). {{< /note >}} If the `nginx-gateway` namespace does not yet exist, create it: From cbf35df3b705d13c0e509da19c9238723daf106d Mon Sep 17 00:00:00 2001 From: yar Date: Fri, 13 Jun 2025 15:42:13 +0100 Subject: [PATCH 240/723] Actualizing SSL Termination for NGINX Plus (#666) * Removed HTML. * Directive formatting added. * Updated values in ssl_protocols. * Updated Compatibility Notes. * Updated info about browser SNI support. --- .../security-controls/terminating-ssl-http.md | 81 ++++++++++--------- 1 file changed, 43 insertions(+), 38 deletions(-) diff --git a/content/nginx/admin-guide/security-controls/terminating-ssl-http.md b/content/nginx/admin-guide/security-controls/terminating-ssl-http.md index 66656532d..455e36ea6 100644 --- a/content/nginx/admin-guide/security-controls/terminating-ssl-http.md +++ b/content/nginx/admin-guide/security-controls/terminating-ssl-http.md @@ -11,10 +11,9 @@ type: This section describes how to configure an HTTPS server on NGINX and F5 NGINX Plus. - -## Setting up an HTTPS Server +## Setting up an HTTPS Server {#setup} -To set up an HTTPS server, in your **nginx.conf** file include the `ssl` parameter to the [listen](https://nginx.org/en/docs/http/ngx_http_core_module.html#listen) directive in the [server](https://nginx.org/en/docs/http/ngx_http_core_module.html#server) block, then specify the locations of the server certificate and private key files: +To set up an HTTPS server, in your **nginx.conf** file include the `ssl` parameter to the [`listen`](https://nginx.org/en/docs/http/ngx_http_core_module.html#listen) directive in the [`server`](https://nginx.org/en/docs/http/ngx_http_core_module.html#server) block, then specify the locations of the server certificate and private key files: ```nginx server { @@ -28,7 +27,7 @@ server { } ``` -The server certificate is a public entity. It is sent to every client that connects to the NGINX or NGINX Plus server. The private key is a secure entity and should be stored in a file with restricted access. However, the NGINX master process must be able to read this file. Alternatively, the private key can be stored in the same file as the certificate: +The server certificate is a public entity. It is sent to every client that connects to the NGINX or NGINX Plus server. The private key is a secure entity and should be stored in a file with restricted access. However, the NGINX master process must be able to read this file. Alternatively, the private key can be stored in the same file as the certificate: ```nginx ssl_certificate www.example.com.cert; @@ -37,20 +36,19 @@ ssl_certificate_key www.example.com.cert; In this case it is important to restrict access to the file. Note that although the certificate and the key are stored in one file in this case, only the certificate is sent to clients. -The [ssl_protocols](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) and [ssl_ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers ) directives can be used to require that clients use only the strong versions and ciphers of SSL/TLS when establishing connections. +The [`ssl_protocols`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) and [`ssl_ciphers`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers ) directives can be used to require that clients use only the strong versions and ciphers of SSL/TLS when establishing connections. Since version 1.23.4, NGINX uses these defaults: ```nginx ssl_protocols TLSv1.2 TLSv1.3; -ssl_ciphers HIGH:!aNULL:!MD5; +ssl_ciphers HIGH:!aNULL:!MD5; ``` Vulnerabilities are sometimes found in the design of older ciphers, and we recommend disabling them in a modern NGINX configuration (unfortunately, the default configuration cannot easily be changed because of backward compatibility for existing NGINX deployments). Please note that CBC-mode ciphers might be vulnerable to a number of attacks (the BEAST attack in particular as described in [CVE-2011-3389](https://nvd.nist.gov/vuln/detail/CVE-2011-3389)), and we recommend not using SSLv3 due to the [POODLE](https://nvd.nist.gov/vuln/detail/CVE-2014-3566) attack, unless you need to support legacy clients. - -### OCSP Validation of Client Certificates +### OCSP Validation of Client Certificates {#setup_ocsp} NGINX can be configured to use Online Certificate Status Protocol (OCSP) to check the validity of X.509 client certificates as they are presented. An OCSP request for the client certificate status is sent to an OCSP responder which checks the certificate validity and returns the response with the certificate status: @@ -58,7 +56,7 @@ NGINX can be configured to use Online Certificate Status Protocol (OCSP) to chec - `Revoked` - the certificate is revoked - `Unknown` - no information is available about the client certificate -To enable OCSP validation of SSL client certificates, specify the [ssl_ocsp](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ocsp) directive along with the [ssl_verify_client](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client) directive, which enables certificate verification: +To enable OCSP validation of SSL client certificates, specify the [`ssl_ocsp`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ocsp) directive along with the [`ssl_verify_client`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client) directive, which enables certificate verification: ```nginx server { @@ -75,7 +73,7 @@ server { } ``` -NGINX sends the OCSP request to the OCSP URI embedded in the client certificate unless a different URI is defined with the [ssl_ocsp_responder](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ocsp_responder) directive. `Only http://` OCSP responders are supported: +NGINX sends the OCSP request to the OCSP URI embedded in the client certificate unless a different URI is defined with the [`ssl_ocsp_responder`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ocsp_responder) directive. Only `http://` OCSP responders are supported: ```nginx #... @@ -83,7 +81,7 @@ ssl_ocsp_responder http://ocsp.example.com/; #... ``` -To cache OCSP responses in a single memory zone shared by all worker processes, specify the [ssl_ocsp_cache](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ocsp_cache) directive to define the name and size of the zone. Responses are cached for `1` hour unless the `nextUpdate`value in the OCSP response specifies a different value: +To cache OCSP responses in a single memory zone shared by all worker processes, specify the [`ssl_ocsp_cache`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ocsp_cache) directive to define the name and size of the zone. Responses are cached for `1` hour unless the `nextUpdate`value in the OCSP response specifies a different value: ```nginx #... @@ -94,15 +92,14 @@ ssl_ocsp_cache shared:one:10m; The result of the client certificate validation is available in the [`$ssl_client_verify`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#var_ssl_client_verify) variable, including the reason for OCSP failure. - -## HTTPS Server Optimization +## HTTPS Server Optimization {#optimize} SSL operations consume extra CPU resources. The most CPU-intensive operation is the SSL handshake. There are two ways to minimize the number of these operations per client: - Enabling keepalive connections to send several requests via one connection - Reusing SSL session parameters to avoid SSL handshakes for parallel and subsequent connections -Sessions are stored in the SSL session cache shared between worker processes and configured by the [ssl_session_cache](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache) directive. One megabyte of cache contains about 4000 sessions. The default cache timeout is 5 minutes. This timeout can be increased using the [ssl_session_timeout](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_timeout) directive. Below is a sample configuration optimized for a multi-core system with 10 megabyte shared session cache: +Sessions are stored in the SSL session cache shared between worker processes and configured by the [`ssl_session_cache`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache) directive. One megabyte of cache contains about 4000 sessions. The default cache timeout is `5` minutes. This timeout can be increased using the [`ssl_session_timeout`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_timeout) directive. Below is a sample configuration optimized for a multi-core system with 10 megabyte shared session cache: ```nginx worker_processes auto; @@ -125,8 +122,7 @@ http { } ``` - -## SSL Certificate Chains +## SSL Certificate Chains {#cert_chains} Some browsers may complain about a certificate signed by a well-known certificate authority, while other browsers may accept the certificate without issues. This occurs because the issuing authority has signed the server certificate using an intermediate certificate that is not present in the base of well-known trusted certificate authorities which is distributed in a particular browser. In this case the authority provides a bundle of chained certificates that should be concatenated to the signed server certificate. The server certificate must appear before the chained certificates in the combined file: @@ -134,7 +130,7 @@ Some browsers may complain about a certificate signed by a well-known certificat cat www.example.com.crt bundle.crt > www.example.com.chained.crt ``` -The resulting file should be used in the [ssl_certificate](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate) directive: +The resulting file should be used in the [`ssl_certificate`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate) directive: ```nginx server { @@ -184,12 +180,11 @@ Certificate chain ... ``` -In this example the subject (“`s`”) of the `www.GoDaddy.com` server certificate `#0` is signed by an issuer (`“i”`) which itself is the subject of certificate #1. Certificate #1 is signed by an issuer which itself is the subject of certificate #2. This certificate, however, is signed by the well‑known issuer `ValiCert, Inc.` whose certificate is stored in the browsers themselves. +In this example the subject (“`s`”) of the `www.GoDaddy.com` server certificate `#0` is signed by an issuer (`“i”`) which itself is the subject of certificate #1. Certificate #1 is signed by an issuer which itself is the subject of certificate #2. This certificate, however, is signed by the well‑known issuer `ValiCert, Inc.` whose certificate is stored in the browsers themselves. -If a certificate bundle has not been added, only the server certificate (#0) is shown. +If a certificate bundle has not been added, only the server certificate (#0) is shown. - -## A Single HTTP/HTTPS Server +## A Single HTTP/HTTPS Server {#single} It is possible to configure a single server that handles both HTTP and HTTPS requests by placing one `listen` directive with the `ssl` parameter and one without in the same virtual server: @@ -204,10 +199,10 @@ server { } ``` -In NGINX version 0.7.13 and earlier, SSL cannot be enabled selectively for individual listening sockets, as shown above. SSL can only be enabled for the entire server using the [ssl](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl) directive, making it impossible to set up a single HTTP/HTTPS server. The `ssl` parameter to the [listen](https://nginx.org/en/docs/http/ngx_http_core_module.html#listen) directive was added to solve this issue. The [ssl](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl) directive therefore is deprecated in version 0.7.14 and later. +In NGINX version 0.7.13 and earlier, SSL cannot be enabled selectively for individual listening sockets, as shown above. SSL can only be enabled for the entire server using the [ssl](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl) directive, making it impossible to set up a single HTTP/HTTPS server. The `ssl` parameter to the [listen](https://nginx.org/en/docs/http/ngx_http_core_module.html#listen) directive was added to solve this issue. The [ssl](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl) directive therefore is deprecated in version 0.7.14 and later. - -## Name-Based HTTPS Servers + +## Name-Based HTTPS Servers {#name} A common issue arises when two or more HTTPS servers are configured to listen on a single IP address: @@ -247,7 +242,7 @@ server { } ``` -Note that there are also some specific proxy settings for HTTPS upstreams ([proxy_ssl_ciphers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_ciphers), [proxy_ssl_protocols](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_protocols), and [proxy_ssl_session_reuse](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_session_reuse)) which can be used for fine‑tuning SSL between NGINX and upstream servers. You can read more about these in the [HTTP proxy module documentation](https://nginx.org/en/docs/http/ngx_http_proxy_module.html). +Note that there are also some specific proxy settings for HTTPS upstreams ([`proxy_ssl_ciphers`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_ciphers), [`proxy_ssl_protocols`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_protocols), and [`proxy_ssl_session_reuse`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_session_reuse)) which can be used for fine‑tuning SSL between NGINX and upstream servers. You can read more about these in the [HTTP proxy module documentation](https://nginx.org/en/docs/http/ngx_http_proxy_module.html). ### An SSL Certificate With Several Names @@ -276,17 +271,17 @@ server { ### Server Name Indication -A more generic solution for running several HTTPS servers on a single IP address is the [TLS Server Name Indication](https://en.wikipedia.org/wiki/Server_Name_Indication) (SNI) extension ([RFC 6066](https://tools.ietf.org/html/rfc6066)), which allows a browser to pass a requested server name during the SSL handshake. With this solution, the server will know which certificate it should use for the connection. However, SNI has limited browser support. Currently it is supported starting with the following browser versions: +A more generic solution for running several HTTPS servers on a single IP address is the [TLS Server Name Indication](https://en.wikipedia.org/wiki/Server_Name_Indication) (SNI) extension ([RFC 6066](https://tools.ietf.org/html/rfc6066)), which allows a browser to pass a requested server name during the SSL handshake. With this solution, the server will know which certificate it should use for the connection. Although SNI is widely supported by modern browsers, some old browsers may still not include support for it. Major browsers support SNI starting with the following versions: -- Opera 8.0 -- MSIE 7.0 (but only on Windows Vista or higher) +- Chrome 105 (Windows version supports SNI on Vista or higher, too) - Firefox 2.0 and other browsers using Mozilla Platform rv:1.8.1 +- Microsoft Internet Explorer 7.0 (but only on Windows Vista or higher) +- Opera 8.0 - Safari 3.2.1 (Windows version supports SNI on Vista or higher) -- Chrome (Windows version supports SNI on Vista or higher, too) Only domain names can be passed in SNI. However, some browsers will pass the IP address of the server as its name if a request includes a literal IP address. It is best not to rely on this. -In order to use SNI in NGINX, it must be supported in both the OpenSSL library with which the NGINX binary has been built, as well as the library with which it is being dynamically linked at runtime. OpenSSL supports SNI since the version 0.9.8f if it was built with configuration `option --enable-tlsext`. Since OpenSSL version 0.9.8j, this option is enabled by default. If NGINX was built with SNI support, NGINX shows the following when run with the `-V` switch: +In order to use SNI in NGINX, it must be supported in both the OpenSSL library with which the NGINX binary has been built, as well as the library with which it is being dynamically linked at runtime. OpenSSL supports SNI since the version 0.9.8f if it was built with configuration `option --enable-tlsext`. Since OpenSSL version 0.9.8j, this option is enabled by default. If NGINX was built with SNI support, NGINX shows the following when run with the `-V` switch: ```shell nginx -V @@ -305,21 +300,31 @@ therefore SNI is not available ## Compatibility Notes -- The SNI support status has been shown by the `-V` switch since versions 0.8.21 and 0.7.62. +- The SNI support status has been shown by the `-V` switch since versions 0.8.21 and 0.7.62. + +- The `ssl` parameter of the [`listen`](https://nginx.org/en/docs/http/ngx_http_core_module.html#listen) directive has been supported since version 0.7.14. Prior to version 0.8.21 it could only be specified along with the `default` parameter. + +- SNI has been supported since version 0.5.23. -- The `ssl` parameter to the [listen](https://nginx.org/en/docs/http/ngx_http_core_module.html#listen) directive has been supported since version 0.7.14. Prior to version 0.8.21 it could only be specified along with the `default` parameter. +- The shared SSL session cache has been supported since version 0.5.6. -- SNI has been supported since version 0.5.23. -- The shared SSL session cache has been supported since version 0.5.6. +### SSL protocols + + - Version 1.27.3 and later: the default SSL protocols are `TLSv1.2` and `TLSv1.3` (if supported by the OpenSSL library). Otherwise, when OpenSSL 1.0.0 or older is used, the default SSL protocols are `TLSv1` and `TLSv1.1`. + +- Version 1.23.4 and later: the default SSL protocols are `TLSv1`, `TLSv1.1`, `TLSv1.2`, and `TLSv1.3` (if supported by the OpenSSL library). - Version 1.9.1 and later: the default SSL protocols are `TLSv1`, `TLSv1.1`, and `TLSv1.2` (if supported by the OpenSSL library). -- From versions 0.7.65 and 0.8.19 and later, the default SSL protocols are `SSLv3`, `TLSv1`, `TLSv1.1`, and `TLSv1.2` (if supported by the OpenSSL library). -- In versions 0.7.64 and 0.8.18 and earlier, the default SSL protocols are `SSLv2`, `SSLv3`, and `TLSv1`. +- From versions 0.7.65 and 0.8.19 and later, the default SSL protocols are `SSLv3`, `TLSv1`, `TLSv1.1`, and `TLSv1.2` (if supported by the OpenSSL library). + +- In versions 0.7.64 and 0.8.18 and earlier, the default SSL protocols are `SSLv2`, `SSLv3`, and `TLSv1`. + +### SSL ciphers -- In version 1.0.5 and later, the default SSL ciphers are `HIGH:!aNULL:!MD5`. +- In version 1.0.5 and later, the default SSL ciphers are `HIGH:!aNULL:!MD5`. -- In versions 0.7.65 and 0.8.20 and later, the default SSL ciphers are `HIGH:!ADH:!MD5`. +- In versions 0.7.65 and 0.8.20 and later, the default SSL ciphers are `HIGH:!ADH:!MD5`. - From version 0.8.19 the default SSL ciphers are `ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM`. From 24cfa28bd357c9072cb9aa4fb67d6d841bcd37a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jun 2025 09:42:01 +0100 Subject: [PATCH 241/723] build(deps): bump github/codeql-action from 3.28.19 to 3.29.0 (#678) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.19 to 3.29.0. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/fca7ace96b7d713c7035871441bd52efbe39e27e...ce28f5bb42b7a9f2c824e633a3f6ee835bab6858) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.29.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ossf_scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ossf_scorecard.yml b/.github/workflows/ossf_scorecard.yml index a3837c42f..63944f691 100644 --- a/.github/workflows/ossf_scorecard.yml +++ b/.github/workflows/ossf_scorecard.yml @@ -56,6 +56,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: Upload SARIF results to code scanning - uses: github/codeql-action/upload-sarif@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19 + uses: github/codeql-action/upload-sarif@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0 with: sarif_file: results.sarif From d6f0e0adec91ff7fef0b6ad8e8bd0d52091a0efb Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Mon, 16 Jun 2025 08:51:22 -0700 Subject: [PATCH 242/723] NIM release 2.20.0 (#684) * docs: add support for lightweight mode and clarify ClickHouse configuration * build(deps): bump github/codeql-action from 3.28.15 to 3.28.16 (#459) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.15 to 3.28.16. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/45775bd8235c68ba998cffa5171334d58593da47...28deaeda66b76a05916b6923827895f2b14ab387) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.28.16 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alan Dooley Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * fix: Address typo, update metadata for Add a Staged Configuration topic (#549) This commit fixes a typo in the main body text of the documentation, and also updates the Hugo frontmatter to new parameter names and values. * Updated example description for uwsgi and Django. (#552) Co-authored-by: Alan Dooley * Fixed URL to dynamic modules for Wildfly deployment guide. (#548) * Fixed URL to dynamic modules for Wildfly deployment guide. * Apply suggestions from code review Co-authored-by: Alan Dooley --------- Co-authored-by: Alan Dooley Co-authored-by: Alan Dooley * Removed random symbols introduced in #512 (#546) * Add a new trigger to build push workflow (#554) feat: Add a new trigger to build push workflow * added flag to use to skip installing clickhouse * updated install guides with latest script changes * edits to system config titles * added NGINX Agent version requirement for lightweight NIM * added step for adding NGINX signing key for manual install * updated clickhouse version variable * added variable for lightweight NIM NGINX Agent requirement * reworded lightweight option to lightweight mode * added steps for adding instances * added steps for setting up metrics reporting * edits * added lightweight mode content to docker compose doc * Apply suggestions from code review Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> * edits to helm deploy for lightweight mode * Update license_usage_offline.sh * feat: Updated nim install-script (#202) * Update install-nim-bundle.sh * fix: Update install-nim-bundle.sh * removed cruft from docker-compose-lightweight.yaml * edits to docker compose comments * Update license_usage_offline.sh * feat: Updated nim install-script (#202) * Update install-nim-bundle.sh * fix: Update install-nim-bundle.sh * feat: Update the value of ssl_protocols. (#672) * NGF: Update release version to v2.0.1 (#671) Update doc version for NGF release 2.0.1 * NGF: replace static-mode with controller (#669) Problem: The static-mode command has been renamed. Solution: Update to `controller`. * Fix missing quote (#676) A quotation was missing that was not caught by the original PR pipeline. * updates to helm config settings with new chart name * docs: add 2.20 RNs * Update install-nim-manual.md * Update install.md * docs: add 2.20 KIs * incremented helm chart version table * nim 2.20 ki update steps * Update install-nim-bundle.sh (#208) --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alan Dooley Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> Co-authored-by: yar Co-authored-by: Alan Dooley Co-authored-by: Lam <150060045+lamATnginx@users.noreply.github.com> Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> Co-authored-by: Chetan Jain <46200286+Chetan-99@users.noreply.github.com> Co-authored-by: salonichf5 <146118978+salonichf5@users.noreply.github.com> Co-authored-by: Saylor Berman Co-authored-by: Jon Cahill-Torre Co-authored-by: Micheal Kingston <44472403+mkingst@users.noreply.github.com> --- cleanup_log.txt | 929 +++++++++++++ content/includes/installation/add-nms-repo.md | 38 +- .../installation/clickhouse-defaults.md | 21 - .../nginx-plus/usage-tracking/overview.md | 2 +- .../license/connected-install-license-note.md | 2 +- .../nim/clickhouse/cli-skip-clickhouse.md | 10 + .../nim/clickhouse/clickhouse-defaults.md | 23 + .../nim/clickhouse/clickhouse-install.md | 70 + .../nim/docker/docker-compose-env-vars.md | 8 +- .../installation/install-script-flags/cert.md | 8 + .../clickhouse-version.md | 8 + .../install-script-flags/distribution.md | 14 + .../installation/install-script-flags/key.md | 8 + .../install-script-flags/skip-clickhouse.md | 10 + .../optional-steps/configure-clickhouse.md | 23 + .../optional-steps/configure-selinux.md | 12 + .../disable-metrics-collection.md | 11 + .../optional-steps/install-configure-vault.md | 16 + .../nms-chart-supported-module-versions.md | 1 + .../nim/tech-specs/supported-distros.md | 2 + .../tech-specs/supported-nginx-versions.md | 4 +- content/nim/admin-guide/_index.md | 2 +- .../admin-guide/{license => }/add-license.md | 6 +- content/nim/admin-guide/license/_index.md | 7 - content/nim/admin-guide/rbac/overview-rbac.md | 2 +- .../report-usage-connected-deployment.md | 10 +- content/nim/deploy/_index.md | 2 +- ...y-nginx-instance-manager-docker-compose.md | 271 +++- .../deploy/kubernetes/deploy-using-helm.md | 438 +++--- .../deploy/kubernetes/helm-config-settings.md | 157 +-- .../vm-bare-metal/install-nim-deprecated.md | 315 ----- .../vm-bare-metal/install-nim-manual.md | 233 ++++ content/nim/deploy/vm-bare-metal/install.md | 170 ++- content/nim/disconnected/_index.md | 2 +- .../add-license-disconnected-deployment.md | 4 +- ...ted.md => offline-install-guide-manual.md} | 49 +- .../nim/disconnected/offline-install-guide.md | 107 +- .../report-usage-disconnected-deployment.md | 2 +- .../set-up-app-protect-instances.md | 2 +- content/nim/nginx-instances/add-instance.md | 49 + content/nim/releases/known-issues.md | 164 ++- content/nim/releases/release-notes.md | 93 +- .../configure-clickhouse.md | 90 +- .../configure-forward-proxy.md | 2 +- .../configure-high-availability.md | 2 +- .../configure-telemetry.md | 4 +- .../system-configuration/configure-vault.md | 2 +- .../configure-with-config.md | 2 +- .../system-configuration/secure-traffic.md | 4 +- .../how-to/deploy-api-connectivity-manager.md | 2 +- content/nms/acm/how-to/install-acm.md | 2 +- content/nms/acm/tutorials/advanced-routing.md | 2 +- .../solutions/about-subscription-licenses.md | 4 +- layouts/shortcodes/clickhouse-version.html | 1 + .../lightweight-nim-nginx-agent-version.html | 1 + .../docker-compose-lightweight.yaml | 93 ++ static/scripts/install-nim-bundle.sh | 1220 +++++++---------- static/scripts/license_usage_offline.sh | 743 +++++----- 58 files changed, 3413 insertions(+), 2066 deletions(-) create mode 100644 cleanup_log.txt delete mode 100644 content/includes/installation/clickhouse-defaults.md create mode 100644 content/includes/nim/clickhouse/cli-skip-clickhouse.md create mode 100644 content/includes/nim/clickhouse/clickhouse-defaults.md create mode 100644 content/includes/nim/clickhouse/clickhouse-install.md create mode 100644 content/includes/nim/installation/install-script-flags/cert.md create mode 100644 content/includes/nim/installation/install-script-flags/clickhouse-version.md create mode 100644 content/includes/nim/installation/install-script-flags/distribution.md create mode 100644 content/includes/nim/installation/install-script-flags/key.md create mode 100644 content/includes/nim/installation/install-script-flags/skip-clickhouse.md create mode 100644 content/includes/nim/installation/optional-steps/configure-clickhouse.md create mode 100644 content/includes/nim/installation/optional-steps/configure-selinux.md create mode 100644 content/includes/nim/installation/optional-steps/disable-metrics-collection.md create mode 100644 content/includes/nim/installation/optional-steps/install-configure-vault.md rename content/nim/admin-guide/{license => }/add-license.md (88%) delete mode 100644 content/nim/admin-guide/license/_index.md rename content/nim/admin-guide/{license => }/report-usage-connected-deployment.md (85%) delete mode 100644 content/nim/deploy/vm-bare-metal/install-nim-deprecated.md create mode 100644 content/nim/deploy/vm-bare-metal/install-nim-manual.md rename content/nim/disconnected/{offline-install-guide-deprecated.md => offline-install-guide-manual.md} (81%) create mode 100644 content/nim/nginx-instances/add-instance.md create mode 100644 layouts/shortcodes/clickhouse-version.html create mode 100644 layouts/shortcodes/lightweight-nim-nginx-agent-version.html create mode 100644 static/scripts/docker-compose/docker-compose-lightweight.yaml diff --git a/cleanup_log.txt b/cleanup_log.txt new file mode 100644 index 000000000..e4a129c9c --- /dev/null +++ b/cleanup_log.txt @@ -0,0 +1,929 @@ +2025-05-21 06:21:52,139: File read successfully. +2025-05-21 06:21:52,140: Initial shape (rows x columns): (743, 39) +2025-05-21 06:21:52,140: Subheading row detected and removed. +2025-05-21 06:21:52,143: Dataframe shape after header adjustments: (741, 39) +2025-05-21 06:21:52,143: Columns found: ['StartDate', 'EndDate', 'Status', 'IPAddress', 'Progress', 'Duration (in seconds)', 'Finished', 'RecordedDate', 'ResponseId', 'RecipientLastName', 'RecipientFirstName', 'RecipientEmail', 'ExternalReference', 'LocationLatitude', 'LocationLongitude', 'DistributionChannel', 'UserLanguage', 'Q1', 'Q2', 'Q3', 'Q4', 'current_url', 'QID2_OriginalResponse', 'QID2_AICategory', 'QID2_FollowUpPrompt', 'Link URL', 'Q2 - Actionability', 'Q2 - Effort', 'Q2 - Effort Numeric', 'Q2 - Emotion Intensity', 'Q2 - Emotion', 'Q2 - Parent Topics', 'Q2 - Sentiment Polarity', 'Q2 - Sentiment Score', 'Q2 - Sentiment', 'Q2 - Topic Sentiment Label', 'Q2 - Topic Sentiment Score', 'Q2 - Topics', 'Q2 - Topic Hierarchy Level 1'] +2025-05-21 06:21:52,157: Row 0 deleted because Link URL is missing. +2025-05-21 06:21:52,157: Row 1 deleted because Link URL is missing. +2025-05-21 06:21:52,157: Row 2 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 3 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 4 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 5 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 6 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 7 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 8 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 9 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 10 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 11 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 12 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 13 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 14 deleted because Link URL is missing. +2025-05-21 06:21:52,158: Row 15 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 16 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 17 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 18 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 19 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 20 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 21 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 22 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 23 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 24 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 25 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 26 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 27 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 28 deleted because Link URL is missing. +2025-05-21 06:21:52,159: Row 29 deleted because Link URL is missing. +2025-05-21 06:21:52,160: Row 30 deleted because Link URL is missing. +2025-05-21 06:21:52,160: Row 31 deleted because Link URL is missing. +2025-05-21 06:21:52,160: Row 32 deleted because Link URL is missing. +2025-05-21 06:21:52,160: Row 33 deleted because Link URL is missing. +2025-05-21 06:21:52,160: Row 34 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 35 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 36 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 37 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 38 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 39 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 40 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 41 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 42 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 43 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 44 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 45 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 46 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 47 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 48 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 49 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 50 deleted because Link URL is missing. +2025-05-21 06:21:52,161: Row 213 deleted because Link URL is missing. +2025-05-21 06:21:52,162: Rows before removing missing Link URL: 741, after: 689 +2025-05-21 06:21:52,163: Row 51 deleted because Q2 contains 'testing'. +2025-05-21 06:21:52,163: Row 77 deleted because Q2 contains 'testing'. +2025-05-21 06:21:52,163: Row 78 deleted because Q2 contains 'testing'. +2025-05-21 06:21:52,163: Row 169 deleted because Q2 contains 'testing'. +2025-05-21 06:21:52,163: Rows before removing Q2='testing': 689, after: 685 +2025-05-21 06:21:52,165: Row 58: Link URL updated from https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration to https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration/ +2025-05-21 06:21:52,165: Row 59: Link URL updated from https://docs.nginx.com/nginx-ingress-controller/installation/installing-nic/upgrade-to-v4/#update-custom-resource-apiversion to https://docs.nginx.com/nginx-ingress-controller/installation/installing-nic/upgrade-to-v4/ +2025-05-21 06:21:52,165: Row 71: Link URL updated from https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/custom-templates to https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/custom-templates/ +2025-05-21 06:21:52,165: Row 88: Link URL updated from https://docs.nginx.com/nginx-ingress-controller/overview/design/#nginx-ingress-controller-process-components to https://docs.nginx.com/nginx-ingress-controller/overview/design/ +2025-05-21 06:21:52,165: Row 115: Link URL updated from https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#weights to https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/ +2025-05-21 06:21:52,165: Row 120: Link URL updated from https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration to https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration/ +2025-05-21 06:21:52,165: Row 152: Link URL updated from https://docs.nginx.com/nginx-ingress-controller/glossary/#ingress-controller-ingress-controller to https://docs.nginx.com/nginx-ingress-controller/glossary/ +2025-05-21 06:21:52,165: Row 297: Link URL updated from https://docs.nginx.com/ossc to https://docs.nginx.com/ossc/ +2025-05-21 06:21:52,165: Row 308: Link URL updated from https://docs.nginx.com/ossc to https://docs.nginx.com/ossc/ +2025-05-21 06:21:52,166: Row 324: Link URL updated from https://docs.nginx.com/nginxaas-azure/known-issues/ to https://docs.nginx.com/nginxaas/azure/known-issues/ (URL replacement) +2025-05-21 06:21:52,166: Row 324: Link URL updated from https://docs.nginx.com/nginxaas-azure/known-issues/ to https://docs.nginx.com/nginxaas/azure/known-issues/ +2025-05-21 06:21:52,166: Row 367: Link URL updated from https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#prebuilt to https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/ +2025-05-21 06:21:52,166: Row 395: Link URL updated from https://docs.nginx.com/nginx/admin-guide/web-server/web-server/#locations to https://docs.nginx.com/nginx/admin-guide/web-server/web-server/ +2025-05-21 06:21:52,166: Row 396: Link URL updated from https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#method to https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/ +2025-05-21 06:21:52,166: Row 417: Link URL updated from https://docs.nginx.com/nginx/admin-guide/basic-functionality/managing-configuration-files/#virtual-servers to https://docs.nginx.com/nginx/admin-guide/basic-functionality/managing-configuration-files/ +2025-05-21 06:21:52,166: Row 418: Link URL updated from https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-plus/#upgrading-nginx-plus to https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-plus/ +2025-05-21 06:21:52,166: Row 477: Link URL updated from https://docs.nginx.com/nginx/admin-guide/basic-functionality/runtime-control/#master-and-worker-processes to https://docs.nginx.com/nginx/admin-guide/basic-functionality/runtime-control/ +2025-05-21 06:21:52,166: Row 501: Link URL updated from https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source to https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/ +2025-05-21 06:21:52,167: Row 587: Link URL updated from https://docs.nginx.com/ossc to https://docs.nginx.com/ossc/ +2025-05-21 06:21:52,167: Row 590: Link URL updated from https://docs.nginx.com/ossc to https://docs.nginx.com/ossc/ +2025-05-21 06:21:52,167: Row 592: Link URL updated from https://docs.nginx.com/nginx-one/getting-started/#enable-nginx-plus-api to https://docs.nginx.com/nginx-one/getting-started/ +2025-05-21 06:21:52,167: Row 617: Link URL updated from https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/globalconfiguration-resource to https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/globalconfiguration-resource/ +2025-05-21 06:21:52,167: Row 636: Link URL updated from https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration to https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration/ +2025-05-21 06:21:52,167: Row 692: Link URL updated from https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration to https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration/ +2025-05-21 06:21:52,167: Row 695: Link URL updated from https://docs.nginx.com/nginx-management-suite/acm/how-to/infrastructure/manage-api-infrastructure/#add-environment to https://docs.nginx.com/nginx-management-suite/acm/how-to/infrastructure/manage-api-infrastructure/ +2025-05-21 06:21:52,167: Row 729: Link URL updated from https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/command-line-arguments to https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/ +2025-05-21 06:21:52,168: Total Link URLs updated: 26 +2025-05-21 06:21:52,170: Exclude file loaded. Excluding 111 ResponseIDs. +2025-05-21 06:21:52,172: Excluded bogus responses: removed 104 rows based on ResponseId. +2025-05-21 06:21:52,172: Removed ResponseIDs: ['R_2BFXRROEE9C3BRP', 'R_2D8NGQPK1IWGIHY', 'R_2FP9OE7JF5GLHOP', 'R_2J2ML9WMO3BCXZ0', 'R_2LGQFCKEOOAPFCT', 'R_2RPFQ7PIR4C48DT', 'R_3J7OQ6V3GPEPYSJ', 'R_3JG7M3IHPME7LRX', 'R_401DHNTF0HMOWBL', 'R_40YHV7FFGANJU6F', 'R_424K44PYVRK8Y1G', 'R_429OWKCURJNOCTK', 'R_42NYN092DSVZXN7', 'R_45R6NUBXVOIPVEN', 'R_47VDGIRXA5NNCGO', 'R_4AK2INIGD1FFTDO', 'R_4BKCWEQU5MOZHA9', 'R_4DLQ3LQ6NHSZHBJ', 'R_4EFZQCTIWFGSTS9', 'R_4EXDDJGUFFTHDCC', 'R_4FO80F1TI4XXMDF', 'R_4GOFQWU2CBJQ9I8', 'R_4HOXH1YLAOVUM8Q', 'R_4JPODUU6FT5EJTD', 'R_4KHCYH2G4RX8GU6', 'R_4LGNMF3ZOJTCHSX', 'R_4MQKUOCWNMU1SPL', 'R_4N9TKVM3T4LLYKG', 'R_4NASUNJJHBDUNYB', 'R_4O67VYRCF2LMJJH', 'R_4OAKKCL6GPFZ6HE', 'R_4P2A79ACQ2DAXVN', 'R_4P9VTDYBBAGHH50', 'R_4QAAZ7C7ZBWLAZP', 'R_4QEFBD2SFDQ0REO', 'R_4QSJZTOLA1EOPTV', 'R_4QVW5AOMQL8JKAH', 'R_4QZ4BOZX5ZAWT8O', 'R_4SBC6FAX8YM8UGW', 'R_4SFJ4F2DSWFAHQZ', 'R_4ST9JXVOCQPNZWV', 'R_4U6KCOFBA0VPNFR', 'R_4VOH9KW1KCSSUJF', 'R_4WMMZUSHCE79AJG', 'R_4YE1NR6MWNJKK3P', 'R_51KKOSYZR16XRWF', 'R_5JBAKUSVN2PQSYJ', 'R_5MMU8NUYQQORLYE', 'R_6F3YPGOQKQMDPMC', 'R_6JLNAULKUPECILR', 'R_6PPUIKFYISENOOK', 'R_6VCPCX5BLHAFBKC', 'R_84BS33CREBBE09U', 'R_85HYVNJRFKFIUZ7', 'R_8C1JLR1AQTTTNE4', 'R_8NMFUZTTQCCOCN1', 'R_8OYXTWQHPPI60A9', 'R_8RTA9M4IQEQQDTR', 'R_8SBR3CGJS6QKOUL', 'R_8TTJC5OTE89JFJJ', 'R_8V8S2WSR76BZVDZ', 'R_8VPTIBSYWQJNJ42', 'R_8WBVOCJ7VLNATZF', 'R_906TQMCOD2GZKZH', 'R_93CMAHY49QS6HFS', 'R_93LGPITFTUNJBD4', 'R_96FPCSSZZ6OQGA5', 'R_97G6U0YYUPWZKAJ', 'R_9889CFZHAMBBJKL', 'R_9949KYHTOMG0ZXU', 'R_99ANGFU2UYWLPTX', 'R_9AGAOUORA4CPHTJ', 'R_9BAI4SFWRIEMME6', 'R_9BSJVEIWI90STOT', 'R_9C5BLPTCDY9OWIP', 'R_9CIYQQ0HJBEUA0O', 'R_9CPNDHPV7ZKBRFP', 'R_9DIMXPUAFKMVKJW', 'R_9DPMP66UHSZNLMP', 'R_9DUZARWZWO1OTNU', 'R_9EIFBZMGJ2RIMFJ', 'R_9EY7BUWKXFBNJWK', 'R_9FWXWDHSKHI0KCC', 'R_9HRYIJ0WJQNXLBV', 'R_9HVUPXH88UF2ALP', 'R_9J6C8A0F54FGTOE', 'R_9J9IEQJV2QIJNOO', 'R_9K6G6NUBNDQSLZC', 'R_9KOOA1DO1YZQCNN', 'R_9LIA90ICK0Z49X1', 'R_9MGHZSS6CHGXIGY', 'R_9MWUMGQY6B6KBSX', 'R_9OHCDWPHUIEEKKU', 'R_9OLOUQJMICBQCSJ', 'R_9PC2GVYGYM5RML5', 'R_9POGVOMHFMYBFJ2', 'R_9PPYOF1BOHS61LV', 'R_9QKQ89HE4TJYTIY', 'R_9ROSQUGFBCRUCUU', 'R_9RPKMREBNL1WAIO', 'R_9SUDDZVEJT2JFAS', 'R_9UASQESCV6I1RJD', 'R_9VIEDXC63JY6EL7', 'R_9ZAMFS0DAF1Z2ZT'] +2025-05-21 06:21:52,175: Row 712: Found and removed 1 email(s) from Q2. +2025-05-21 06:21:52,175: Row 728: Found and removed 1 email(s) from Q2. +2025-05-21 06:21:52,739: Row 52: Reverse geocoded lat=-29.9228, lon=-51.1744 -> country=Brazil, city=Canoas, state=Rio Grande do Sul +2025-05-21 06:21:53,745: Row 53: Reverse geocoded lat=26.8756, lon=80.9115 -> country=India, city=Lucknow, state=Uttar Pradesh +2025-05-21 06:21:54,735: Row 54: Reverse geocoded lat=13.6671, lon=100.5775 -> country=Thailand, city=Pu Chao Saming Phrai Town Municipality, state=None +2025-05-21 06:21:55,697: Row 55: Reverse geocoded lat=36.6229, lon=114.4698 -> country=China, city=Handan, state=Hebei +2025-05-21 06:21:56,656: Row 56: Reverse geocoded lat=-16.561, lon=-49.2063 -> country=Brazil, city=Goiânia, state=Goiás +2025-05-21 06:21:57,664: Row 57: Reverse geocoded lat=-16.561, lon=-49.2063 -> country=Brazil, city=Goiânia, state=Goiás +2025-05-21 06:21:58,695: Row 58: Reverse geocoded lat=53.481, lon=-2.2367 -> country=United Kingdom, city=Manchester, state=England +2025-05-21 06:21:59,700: Row 60: Reverse geocoded lat=50.1187, lon=8.6842 -> country=Germany, city=Frankfurt, state=Hesse +2025-05-21 06:22:00,919: Row 61: Reverse geocoded lat=17.9641, lon=102.5987 -> country=Laos, city=Vientiane Capital, state=Vientiane Prefecture +2025-05-21 06:22:01,696: Row 62: Reverse geocoded lat=25.5908, lon=85.1348 -> country=India, city=Patna, state=Bihar +2025-05-21 06:22:02,796: Row 63: Reverse geocoded lat=13.7159, lon=100.417 -> country=Thailand, city=Bangkok, state=None +2025-05-21 06:22:04,250: Row 64: Reverse geocoded lat=48.157, lon=17.0915 -> country=Slovakia, city=Bratislava, state=Region of Bratislava +2025-05-21 06:22:04,695: Row 65: Reverse geocoded lat=20.6381, lon=-103.348 -> country=Mexico, city=Guadalajara, state=Jalisco +2025-05-21 06:22:05,783: Row 66: Reverse geocoded lat=22.155, lon=-101.9465 -> country=Mexico, city=Villa García, state=Zacatecas +2025-05-21 06:22:07,105: Row 68: Reverse geocoded lat=49.1231, lon=8.6011 -> country=Germany, city=Bruchsal, state=Baden-Württemberg +2025-05-21 06:22:07,783: Row 69: Reverse geocoded lat=49.1231, lon=8.6011 -> country=Germany, city=Bruchsal, state=Baden-Württemberg +2025-05-21 06:22:08,729: Row 70: Reverse geocoded lat=23.0276, lon=72.5871 -> country=India, city=Ahmedabad, state=Gujarat +2025-05-21 06:22:09,796: Row 71: Reverse geocoded lat=39.8655, lon=-86.122 -> country=United States, city=Indianapolis, state=Indiana +2025-05-21 06:22:10,932: Row 72: Reverse geocoded lat=38.7584, lon=-9.2495 -> country=Portugal, city=Sintra, state=None +2025-05-21 06:22:11,896: Row 73: Reverse geocoded lat=52.9044, lon=-1.2326 -> country=United Kingdom, city=Nottingham, state=England +2025-05-21 06:22:12,850: Row 74: Reverse geocoded lat=50.1155, lon=14.4124 -> country=Czechia, city=Capital City of Prague, state=Prague +2025-05-21 06:22:14,282: Row 75: Reverse geocoded lat=51.3593, lon=7.4763 -> country=Germany, city=Hagen, state=North Rhine-Westphalia +2025-05-21 06:22:14,794: Row 76: Reverse geocoded lat=-1.2841, lon=36.8155 -> country=Kenya, city=Nairobi, state=Nairobi County +2025-05-21 06:22:15,810: Row 79: Reverse geocoded lat=46.0653, lon=23.5917 -> country=Romania, city=Alba Iulia, state=None +2025-05-21 06:22:16,899: Row 80: Reverse geocoded lat=46.7657, lon=23.5943 -> country=Romania, city=Cluj-Napoca, state=None +2025-05-21 06:22:17,742: Row 81: Reverse geocoded lat=51.4964, lon=-0.1224 -> country=United Kingdom, city=London, state=England +2025-05-21 06:22:19,063: Row 82: Reverse geocoded lat=34.6946, lon=135.5021 -> country=Japan, city=Osaka, state=None +2025-05-21 06:22:19,876: Row 83: Reverse geocoded lat=37.5079, lon=127.1177 -> country=South Korea, city=Seoul, state=None +2025-05-21 06:22:20,974: Row 84: Reverse geocoded lat=46.4752, lon=30.7338 -> country=Ukraine, city=Odesa, state=Odesa Oblast +2025-05-21 06:22:21,672: Row 85: Reverse geocoded lat=46.4752, lon=30.7338 -> country=Ukraine, city=Odesa, state=Odesa Oblast +2025-05-21 06:22:22,667: Row 86: Reverse geocoded lat=-23.1798, lon=-46.8816 -> country=Brazil, city=Jundiaí, state=São Paulo +2025-05-21 06:22:23,748: Row 87: Reverse geocoded lat=37.5537, lon=-77.4602 -> country=United States, city=Richmond, state=Virginia +2025-05-21 06:22:24,717: Row 88: Reverse geocoded lat=22.2578, lon=114.1657 -> country=China, city=Hong Kong Island, state=Hong Kong +2025-05-21 06:22:25,754: Row 89: Reverse geocoded lat=36.7637, lon=-119.7602 -> country=United States, city=Fresno, state=California +2025-05-21 06:22:26,727: Row 90: Reverse geocoded lat=28.6542, lon=77.2373 -> country=India, city=Delhi, state=Delhi +2025-05-21 06:22:27,804: Row 91: Reverse geocoded lat=50.458, lon=30.5303 -> country=Ukraine, city=Kyiv, state=None +2025-05-21 06:22:29,090: Row 92: Reverse geocoded lat=3.1685, lon=101.7034 -> country=Malaysia, city=Kuala Lumpur, state=Kuala Lumpur +2025-05-21 06:22:29,779: Row 93: Reverse geocoded lat=36.7943, lon=-119.8856 -> country=United States, city=Fresno, state=California +2025-05-21 06:22:30,928: Row 94: Reverse geocoded lat=47.1085, lon=15.7054 -> country=Austria, city=Gleisdorf, state=Styria +2025-05-21 06:22:31,774: Row 95: Reverse geocoded lat=14.5971, lon=120.9798 -> country=Philippines, city=Manila, state=None +2025-05-21 06:22:32,873: Row 96: Reverse geocoded lat=30.5851, lon=114.2662 -> country=China, city=Jianghan District, state=Hubei +2025-05-21 06:22:33,711: Row 97: Reverse geocoded lat=32.4643, lon=14.5726 -> country=Libya, city=Zliten, state=Bani Walid +2025-05-21 06:22:34,796: Row 98: Reverse geocoded lat=59.3591, lon=17.9951 -> country=Sweden, city=Solna, state=None +2025-05-21 06:22:35,676: Row 99: Reverse geocoded lat=38.8897, lon=-121.2873 -> country=United States, city=Lincoln, state=California +2025-05-21 06:22:36,708: Row 100: Reverse geocoded lat=-22.9616, lon=-49.8632 -> country=Brazil, city=Ourinhos, state=São Paulo +2025-05-21 06:22:37,835: Row 101: Reverse geocoded lat=50.1169, lon=8.6837 -> country=Germany, city=Frankfurt, state=Hesse +2025-05-21 06:22:38,698: Row 102: Reverse geocoded lat=39.018, lon=-77.539 -> country=United States, city=None, state=Virginia +2025-05-21 06:22:39,654: Row 103: Reverse geocoded lat=40.1086, lon=-75.2835 -> country=United States, city=Plymouth Township, state=Pennsylvania +2025-05-21 06:22:40,744: Row 104: Reverse geocoded lat=46.0653, lon=23.5917 -> country=Romania, city=Alba Iulia, state=None +2025-05-21 06:22:41,718: Row 105: Reverse geocoded lat=-6.175, lon=106.8286 -> country=Indonesia, city=Special capital Region of Jakarta, state=None +2025-05-21 06:22:42,737: Row 106: Reverse geocoded lat=37.1554, lon=9.7861 -> country=Tunisia, city=None, state=Bizerte +2025-05-21 06:22:43,679: Row 107: Reverse geocoded lat=51.2437, lon=-2.2746 -> country=United Kingdom, city=None, state=England +2025-05-21 06:22:44,800: Row 108: Reverse geocoded lat=12.9753, lon=77.591 -> country=India, city=Bengaluru, state=Karnataka +2025-05-21 06:22:45,823: Row 109: Reverse geocoded lat=32.4633, lon=44.4179 -> country=Iraq, city=Al Hillah, state=Babil Governorate +2025-05-21 06:22:46,743: Row 110: Reverse geocoded lat=-33.8715, lon=151.2006 -> country=Australia, city=Sydney, state=New South Wales +2025-05-21 06:22:47,768: Row 111: Reverse geocoded lat=14.3269, lon=120.9336 -> country=Philippines, city=Dasmariñas, state=Cavite +2025-05-21 06:22:48,782: Row 112: Reverse geocoded lat=36.3188, lon=139.579 -> country=Japan, city=Sano, state=None +2025-05-21 06:22:49,815: Row 114: Reverse geocoded lat=9.0245, lon=38.7485 -> country=Ethiopia, city=None, state=Addis Ababa +2025-05-21 06:22:50,739: Row 115: Reverse geocoded lat=9.0245, lon=38.7485 -> country=Ethiopia, city=None, state=Addis Ababa +2025-05-21 06:22:51,687: Row 116: Reverse geocoded lat=39.018, lon=-77.539 -> country=United States, city=None, state=Virginia +2025-05-21 06:22:52,702: Row 117: Reverse geocoded lat=42.6826, lon=23.3223 -> country=Bulgaria, city=Sofia, state=Sofia-City +2025-05-21 06:22:53,690: Row 119: Reverse geocoded lat=38.7219, lon=-9.1398 -> country=Portugal, city=Lisbon, state=None +2025-05-21 06:22:54,806: Row 120: Reverse geocoded lat=35.5641, lon=139.5295 -> country=Japan, city=Yokohama, state=None +2025-05-21 06:22:55,755: Row 121: Reverse geocoded lat=19.0748, lon=72.8856 -> country=India, city=Mumbai, state=Maharashtra +2025-05-21 06:22:56,698: Row 122: Reverse geocoded lat=23.0276, lon=72.5871 -> country=India, city=Ahmedabad, state=Gujarat +2025-05-21 06:22:57,803: Row 123: Reverse geocoded lat=11.3085, lon=106.0948 -> country=Vietnam, city=Tây Ninh, state=Tây Ninh Province +2025-05-21 06:22:58,705: Row 124: Reverse geocoded lat=13.0895, lon=80.2739 -> country=India, city=Chennai, state=Tamil Nadu +2025-05-21 06:22:59,737: Row 125: Reverse geocoded lat=14.3614, lon=121.4875 -> country=Philippines, city=Paete, state=Laguna +2025-05-21 06:23:00,876: Row 126: Reverse geocoded lat=29.3959, lon=-98.4761 -> country=United States, city=San Antonio, state=Texas +2025-05-21 06:23:01,698: Row 127: Reverse geocoded lat=26.1885, lon=91.7392 -> country=India, city=None, state=Assam +2025-05-21 06:23:02,688: Row 128: Reverse geocoded lat=-18.913, lon=47.5296 -> country=Madagascar, city=Antananarivo, state=Analamanga +2025-05-21 06:23:03,716: Row 129: Reverse geocoded lat=50.1169, lon=8.6837 -> country=Germany, city=Frankfurt, state=Hesse +2025-05-21 06:23:05,028: Row 131: Reverse geocoded lat=52.1928, lon=5.4199 -> country=Netherlands, city=Amersfoort, state=Utrecht +2025-05-21 06:23:06,180: Row 132: Reverse geocoded lat=51.9277, lon=4.5844 -> country=Netherlands, city=Capelle aan den IJssel, state=South Holland +2025-05-21 06:23:06,676: Row 133: Reverse geocoded lat=40.5828, lon=-73.9532 -> country=United States, city=New York, state=New York +2025-05-21 06:23:07,719: Row 134: Reverse geocoded lat=36.5312, lon=3.0698 -> country=Algeria, city=Bougara, state=Blida +2025-05-21 06:23:09,028: Row 135: Reverse geocoded lat=49.2625, lon=8.6235 -> country=Germany, city=None, state=Baden-Württemberg +2025-05-21 06:23:09,811: Row 137: Reverse geocoded lat=36.061, lon=120.3814 -> country=China, city=Shinan District, state=Shandong +2025-05-21 06:23:11,054: Row 138: Reverse geocoded lat=20.0024, lon=73.7945 -> country=India, city=Nashik, state=Maharashtra +2025-05-21 06:23:11,728: Row 139: Reverse geocoded lat=-25.0907, lon=-50.1653 -> country=Brazil, city=Ponta Grossa, state=Paraná +2025-05-21 06:23:12,696: Row 140: Reverse geocoded lat=25.0734, lon=55.2979 -> country=United Arab Emirates, city=None, state=Dubai +2025-05-21 06:23:14,214: Row 141: Reverse geocoded lat=52.3759, lon=4.8975 -> country=Netherlands, city=Amsterdam, state=North Holland +2025-05-21 06:23:15,323: Row 142: Reverse geocoded lat=36.1898, lon=44.0157 -> country=Iraq, city=Erbil, state=Erbil Governorate +2025-05-21 06:23:16,104: Row 143: Reverse geocoded lat=53.3382, lon=-6.2591 -> country=Ireland, city=Dublin, state=None +2025-05-21 06:23:16,986: Row 144: Reverse geocoded lat=37.751, lon=-97.822 -> country=United States, city=None, state=Kansas +2025-05-21 06:23:18,038: Row 145: Reverse geocoded lat=28.6327, lon=77.2198 -> country=India, city=New Delhi, state=Delhi +2025-05-21 06:23:19,029: Row 146: Reverse geocoded lat=28.6327, lon=77.2198 -> country=India, city=New Delhi, state=Delhi +2025-05-21 06:23:20,112: Row 147: Reverse geocoded lat=40.7547, lon=-73.9614 -> country=United States, city=New York, state=New York +2025-05-21 06:23:21,068: Row 148: Reverse geocoded lat=31.33, lon=75.5844 -> country=India, city=Jalandhar, state=Punjab +2025-05-21 06:23:22,064: Row 149: Reverse geocoded lat=26.8373, lon=80.9165 -> country=India, city=Lucknow, state=Uttar Pradesh +2025-05-21 06:23:23,110: Row 150: Reverse geocoded lat=18.5211, lon=73.8502 -> country=India, city=Pune, state=Maharashtra +2025-05-21 06:23:24,010: Row 151: Reverse geocoded lat=25.5943, lon=85.1352 -> country=India, city=Patna, state=Bihar +2025-05-21 06:23:24,998: Row 152: Reverse geocoded lat=36.61, lon=114.4876 -> country=China, city=Handan, state=Hebei +2025-05-21 06:23:26,476: Row 154: Reverse geocoded lat=44.776, lon=17.1995 -> country=Bosnia and Herzegovina, city=Banja Luka, state=Republika Srpska +2025-05-21 06:23:26,997: Row 155: Reverse geocoded lat=13.0895, lon=80.2739 -> country=India, city=Chennai, state=Tamil Nadu +2025-05-21 06:23:28,037: Row 156: Reverse geocoded lat=51.4964, lon=-0.1224 -> country=United Kingdom, city=London, state=England +2025-05-21 06:23:29,244: Row 157: Reverse geocoded lat=35.5641, lon=45.4326 -> country=Iraq, city=Sulaymaniyah, state=Sulaymaniyah Governorate +2025-05-21 06:23:29,989: Row 158: Reverse geocoded lat=35.5641, lon=45.4326 -> country=Iraq, city=Sulaymaniyah, state=Sulaymaniyah Governorate +2025-05-21 06:23:31,087: Row 159: Reverse geocoded lat=28.6327, lon=77.2198 -> country=India, city=New Delhi, state=Delhi +2025-05-21 06:23:32,044: Row 160: Reverse geocoded lat=13.0895, lon=80.2739 -> country=India, city=Chennai, state=Tamil Nadu +2025-05-21 06:23:33,016: Row 161: Reverse geocoded lat=13.0895, lon=80.2739 -> country=India, city=Chennai, state=Tamil Nadu +2025-05-21 06:23:34,029: Row 162: Reverse geocoded lat=-22.8951, lon=-47.0439 -> country=Brazil, city=Campinas, state=São Paulo +2025-05-21 06:23:35,059: Row 163: Reverse geocoded lat=4.0505, lon=9.7023 -> country=Cameroon, city=Douala I, state=Littoral +2025-05-21 06:23:36,094: Row 164: Reverse geocoded lat=19.4371, lon=-99.0111 -> country=Mexico, city=Texcoco de Mora, state=State of Mexico +2025-05-21 06:23:37,037: Row 165: Reverse geocoded lat=60.1719, lon=24.9347 -> country=Finland, city=Helsinki, state=Uusimaa +2025-05-21 06:23:38,004: Row 166: Reverse geocoded lat=13.0895, lon=80.2739 -> country=India, city=Chennai, state=Tamil Nadu +2025-05-21 06:23:39,241: Row 167: Reverse geocoded lat=49.5546, lon=25.5842 -> country=Ukraine, city=Ternopil, state=Ternopil Oblast +2025-05-21 06:23:40,016: Row 168: Reverse geocoded lat=40.4327, lon=-3.621 -> country=Spain, city=Madrid, state=Community of Madrid +2025-05-21 06:23:41,041: Row 170: Reverse geocoded lat=-24.0589, lon=-46.8456 -> country=Brazil, city=Itanhaem, state=São Paulo +2025-05-21 06:23:42,079: Row 171: Reverse geocoded lat=33.3967, lon=-111.6545 -> country=United States, city=Mesa, state=Arizona +2025-05-21 06:23:43,013: Row 172: Reverse geocoded lat=33.3967, lon=-111.6545 -> country=United States, city=Mesa, state=Arizona +2025-05-21 06:23:44,056: Row 173: Reverse geocoded lat=21.9974, lon=79.0011 -> country=India, city=Malhanwara, state=Madhya Pradesh +2025-05-21 06:23:45,153: Row 174: Reverse geocoded lat=51.7655, lon=-0.4482 -> country=United Kingdom, city=Dacorum, state=England +2025-05-21 06:23:46,204: Row 175: Reverse geocoded lat=26.58, lon=106.7223 -> country=China, city=Yunyan, state=Guizhou +2025-05-21 06:23:47,032: Row 176: Reverse geocoded lat=19.0748, lon=72.8856 -> country=India, city=Mumbai, state=Maharashtra +2025-05-21 06:23:48,146: Row 177: Reverse geocoded lat=30.6667, lon=104.0667 -> country=China, city=Chengdu, state=Sichuan +2025-05-21 06:23:48,996: Row 178: Reverse geocoded lat=48, lon=68 -> country=Kazakhstan, city=Jezqazğan, state=Ulytau Region +2025-05-21 06:23:50,382: Row 179: Reverse geocoded lat=41.0145, lon=28.9533 -> country=Turkey, city=Istanbul, state=Istanbul +2025-05-21 06:23:51,037: Row 180: Reverse geocoded lat=60.1719, lon=24.9347 -> country=Finland, city=Helsinki, state=Uusimaa +2025-05-21 06:23:52,005: Row 181: Reverse geocoded lat=37.1038, lon=-113.5764 -> country=United States, city=Saint George, state=Utah +2025-05-21 06:23:53,205: Row 182: Reverse geocoded lat=50.1169, lon=8.6837 -> country=Germany, city=Frankfurt, state=Hesse +2025-05-21 06:23:54,144: Row 183: Reverse geocoded lat=50.1169, lon=8.6837 -> country=Germany, city=Frankfurt, state=Hesse +2025-05-21 06:23:55,048: Row 184: Reverse geocoded lat=22.6276, lon=110.1507 -> country=China, city=Yulin, state=Guangxi +2025-05-21 06:23:55,996: Row 185: Reverse geocoded lat=-26.9873, lon=-48.6276 -> country=Brazil, city=Balneário Camboriú, state=Santa Catarina +2025-05-21 06:23:57,100: Row 186: Reverse geocoded lat=-27.6157, lon=-48.6235 -> country=Brazil, city=São José, state=Santa Catarina +2025-05-21 06:23:58,085: Row 187: Reverse geocoded lat=23.1181, lon=113.2539 -> country=China, city=Yuexiu District, state=Guangdong Province +2025-05-21 06:23:59,137: Row 188: Reverse geocoded lat=58.0701, lon=11.8131 -> country=Sweden, city=Stenungsön, state=None +2025-05-21 06:24:00,071: Row 189: Reverse geocoded lat=50.6223, lon=26.2396 -> country=Ukraine, city=Rivne, state=Rivne Oblast +2025-05-21 06:24:01,008: Row 190: Reverse geocoded lat=37.751, lon=-97.822 -> country=United States, city=None, state=Kansas +2025-05-21 06:24:02,316: Row 191: Reverse geocoded lat=17.3843, lon=78.4583 -> country=India, city=Hyderabad, state=Telangana +2025-05-21 06:24:03,051: Row 192: Reverse geocoded lat=11.5583, lon=104.9121 -> country=Cambodia, city=Khan Prampi Makara, state=Phnom Penh +2025-05-21 06:24:04,186: Row 193: Reverse geocoded lat=29.3885, lon=76.9669 -> country=India, city=Panipat, state=Haryana +2025-05-21 06:24:05,218: Row 194: Reverse geocoded lat=44.447, lon=26.0185 -> country=Romania, city=Roșu, state=None +2025-05-21 06:24:06,146: Row 195: Reverse geocoded lat=-6.2114, lon=106.8446 -> country=Indonesia, city=Special capital Region of Jakarta, state=None +2025-05-21 06:24:07,006: Row 196: Reverse geocoded lat=25.5943, lon=85.1352 -> country=India, city=Patna, state=Bihar +2025-05-21 06:24:08,129: Row 197: Reverse geocoded lat=33.8651, lon=-118.0673 -> country=United States, city=Cerritos, state=California +2025-05-21 06:24:09,049: Row 198: Reverse geocoded lat=25.2925, lon=51.5321 -> country=Qatar, city=Doha, state=None +2025-05-21 06:24:10,356: Row 199: Reverse geocoded lat=-6.2876, lon=106.722 -> country=Indonesia, city=South Tangerang, state=Banten +2025-05-21 06:24:11,120: Row 200: Reverse geocoded lat=47.1449, lon=8.1551 -> country=Switzerland, city=Eich, state=Lucerne +2025-05-21 06:24:12,261: Row 201: Reverse geocoded lat=41.6959, lon=44.832 -> country=Georgia, city=Tbilisi, state=None +2025-05-21 06:24:13,784: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=25.0389&lon=102.7183&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:14,128: Row 202: Reverse geocoded lat=25.0389, lon=102.7183 -> country=China, city=Guandu, state=Yunnan +2025-05-21 06:24:15,125: Row 203: Reverse geocoded lat=-23.4553, lon=-46.3348 -> country=Brazil, city=Itaquaquecetuba, state=São Paulo +2025-05-21 06:24:16,063: Row 204: Reverse geocoded lat=19.3808, lon=-99.1982 -> country=Mexico, city=Mexico City, state=Mexico City +2025-05-21 06:24:17,072: Row 206: Reverse geocoded lat=-23.5246, lon=-46.1835 -> country=Brazil, city=Mogi das Cruzes, state=São Paulo +2025-05-21 06:24:18,143: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=59.7531&lon=10.1419&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:19,111: Row 207: Reverse geocoded lat=59.7531, lon=10.1419 -> country=Norway, city=Drammen, state=None +2025-05-21 06:24:20,120: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=46.2253&lon=6.1516&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:21,105: Row 208: Reverse geocoded lat=46.2253, lon=6.1516 -> country=Switzerland, city=Geneva, state=Geneva +2025-05-21 06:24:22,110: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.5042&lon=-0.2199000&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:23,207: Row 209: Reverse geocoded lat=51.5042, lon=-0.2199 -> country=United Kingdom, city=London, state=England +2025-05-21 06:24:24,090: Row 210: Reverse geocoded lat=51.5042, lon=-0.2199 -> country=United Kingdom, city=London, state=England +2025-05-21 06:24:25,124: Row 211: Reverse geocoded lat=51.5042, lon=-0.2199 -> country=United Kingdom, city=London, state=England +2025-05-21 06:24:26,220: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=23.7018&lon=90.3742&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:27,085: Row 212: Reverse geocoded lat=23.7018, lon=90.3742 -> country=Bangladesh, city=Keraniganj, state=Dhaka Division +2025-05-21 06:24:28,068: Row 214: Reverse geocoded lat=34.7732, lon=113.722 -> country=China, city=Jinshui District, state=Henan +2025-05-21 06:24:29,093: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.3917&lon=-0.5099000&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:30,169: Row 215: Reverse geocoded lat=51.3917, lon=-0.5099 -> country=United Kingdom, city=Borough of Runnymede, state=England +2025-05-21 06:24:31,174: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=53.3382&lon=-6.2591&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:32,217: Row 216: Reverse geocoded lat=53.3382, lon=-6.2591 -> country=Ireland, city=Dublin, state=None +2025-05-21 06:24:33,108: Row 217: Reverse geocoded lat=50.458, lon=30.5303 -> country=Ukraine, city=Kyiv, state=None +2025-05-21 06:24:34,051: Row 218: Reverse geocoded lat=50.458, lon=30.5303 -> country=Ukraine, city=Kyiv, state=None +2025-05-21 06:24:35,082: Row 219: Reverse geocoded lat=28.6327, lon=77.2198 -> country=India, city=New Delhi, state=Delhi +2025-05-21 06:24:36,211: Row 220: Reverse geocoded lat=51.5088, lon=-0.093 -> country=United Kingdom, city=London, state=England +2025-05-21 06:24:37,231: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-30.3299&lon=-54.3251&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:38,102: Row 221: Reverse geocoded lat=-30.3299, lon=-54.3251 -> country=Brazil, city=São Gabriel, state=Rio Grande do Sul +2025-05-21 06:24:39,107: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=36.7906&lon=118.0633&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:40,047: Row 222: Reverse geocoded lat=36.7906, lon=118.0633 -> country=China, city=Zhangdian District, state=Shandong +2025-05-21 06:24:41,051: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=30.0&lon=70.0&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:42,032: Row 223: Reverse geocoded lat=30, lon=70 -> country=Pakistan, city=Fort Monroe, state=Punjab +2025-05-21 06:24:43,041: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=37.3388&lon=-121.8916&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:44,063: Row 224: Reverse geocoded lat=37.3388, lon=-121.8916 -> country=United States, city=San Jose, state=California +2025-05-21 06:24:45,039: Row 225: Reverse geocoded lat=25.0734, lon=55.2979 -> country=United Arab Emirates, city=None, state=Dubai +2025-05-21 06:24:46,071: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=34.6808&lon=112.4531&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:47,050: Row 226: Reverse geocoded lat=34.6808, lon=112.4531 -> country=China, city=Luoyang, state=Henan +2025-05-21 06:24:48,057: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=31.9555&lon=35.9435&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:49,125: Row 228: Reverse geocoded lat=31.9555, lon=35.9435 -> country=Jordan, city=None, state=Amman +2025-05-21 06:24:50,043: Row 229: Reverse geocoded lat=31.9555, lon=35.9435 -> country=Jordan, city=None, state=Amman +2025-05-21 06:24:51,032: Row 230: Reverse geocoded lat=31.9555, lon=35.9435 -> country=Jordan, city=None, state=Amman +2025-05-21 06:24:52,058: Row 231: Reverse geocoded lat=31.9555, lon=35.9435 -> country=Jordan, city=None, state=Amman +2025-05-21 06:24:53,109: Row 232: Reverse geocoded lat=30.7488, lon=120.7486 -> country=China, city=Nanhu District, state=Zhejiang +2025-05-21 06:24:54,077: Row 233: Reverse geocoded lat=31.9555, lon=35.9435 -> country=Jordan, city=None, state=Amman +2025-05-21 06:24:55,148: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=13.0895&lon=80.2739&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:56,076: Row 234: Reverse geocoded lat=13.0895, lon=80.2739 -> country=India, city=Chennai, state=Tamil Nadu +2025-05-21 06:24:57,080: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-34.9087&lon=-56.1539&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:24:58,126: Row 235: Reverse geocoded lat=-34.9087, lon=-56.1539 -> country=Uruguay, city=Montevideo, state=Montevideo +2025-05-21 06:24:59,082: Row 236: Reverse geocoded lat=38.3169, lon=116.8478 -> country=China, city=Yunhe District, state=Hebei +2025-05-21 06:25:00,075: Row 240: Reverse geocoded lat=22.5643, lon=88.3693 -> country=India, city=Kolkata, state=West Bengal +2025-05-21 06:25:01,094: Row 241: Reverse geocoded lat=22.5643, lon=88.3693 -> country=India, city=Kolkata, state=West Bengal +2025-05-21 06:25:02,097: Row 243: Reverse geocoded lat=39.911, lon=116.395 -> country=China, city=Dongcheng District, state=Beijing +2025-05-21 06:25:03,109: Row 244: Reverse geocoded lat=34.1794, lon=117.1612 -> country=China, city=Tongshan District, state=Jiangsu +2025-05-21 06:25:04,149: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=53.4146&lon=-2.2274&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:25:05,127: Row 245: Reverse geocoded lat=53.4146, lon=-2.2274 -> country=United Kingdom, city=Manchester, state=England +2025-05-21 06:25:06,129: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=50.9158&lon=-1.3601&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:25:07,140: Row 246: Reverse geocoded lat=50.9158, lon=-1.3601 -> country=United Kingdom, city=Southampton, state=England +2025-05-21 06:25:08,145: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=50.1169&lon=8.6837&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:25:09,175: Row 247: Reverse geocoded lat=50.1169, lon=8.6837 -> country=Germany, city=Frankfurt, state=Hesse +2025-05-21 06:25:10,113: Row 248: Reverse geocoded lat=23.0276, lon=72.5871 -> country=India, city=Ahmedabad, state=Gujarat +2025-05-21 06:25:11,098: Row 250: Reverse geocoded lat=26.9136, lon=75.7858 -> country=India, city=Jaipur, state=Rajasthan +2025-05-21 06:25:12,068: Row 251: Reverse geocoded lat=-34.1801, lon=-58.9181 -> country=Argentina, city=None, state=Buenos Aires +2025-05-21 06:25:13,178: Row 252: Reverse geocoded lat=45.4722, lon=9.1922 -> country=Italy, city=Milan, state=Lombardy +2025-05-21 06:25:14,161: Row 253: Reverse geocoded lat=31.8696, lon=117.293 -> country=China, city=Luyang District, state=Anhui +2025-05-21 06:25:15,093: Row 254: Reverse geocoded lat=18.5211, lon=73.8502 -> country=India, city=Pune, state=Maharashtra +2025-05-21 06:25:16,115: Row 255: Reverse geocoded lat=22.3008, lon=73.2043 -> country=India, city=Vadodara, state=Gujarat +2025-05-21 06:25:17,128: Row 257: Reverse geocoded lat=39.0469, lon=-77.4903 -> country=United States, city=Ashburn, state=Virginia +2025-05-21 06:25:18,210: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=24.8591&lon=66.9983&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:25:19,043: Row 260: Reverse geocoded lat=24.8591, lon=66.9983 -> country=Pakistan, city=Karachi Division, state=None +2025-05-21 06:25:20,047: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=24.8591&lon=66.9983&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:25:21,030: Row 261: Reverse geocoded lat=24.8591, lon=66.9983 -> country=Pakistan, city=Karachi Division, state=None +2025-05-21 06:25:22,032: Row 264: Reverse geocoded lat=9.0245, lon=38.7485 -> country=Ethiopia, city=None, state=Addis Ababa +2025-05-21 06:25:23,036: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.5549&lon=13.4645&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:25:24,105: Row 265: Reverse geocoded lat=52.5549, lon=13.4645 -> country=Germany, city=Berlin, state=None +2025-05-21 06:25:25,060: Row 266: Reverse geocoded lat=18.5211, lon=73.8502 -> country=India, city=Pune, state=Maharashtra +2025-05-21 06:25:26,113: Row 267: Reverse geocoded lat=51.5081, lon=-0.1278 -> country=United Kingdom, city=City of Westminster, state=England +2025-05-21 06:25:27,068: Row 268: Reverse geocoded lat=39.911, lon=116.395 -> country=China, city=Dongcheng District, state=Beijing +2025-05-21 06:25:28,127: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=21.1463&lon=79.0849&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:25:29,083: Row 269: Reverse geocoded lat=21.1463, lon=79.0849 -> country=India, city=Nagpur, state=Maharashtra +2025-05-21 06:25:30,079: Row 270: Reverse geocoded lat=43.0147, lon=-81.3049 -> country=Canada, city=London, state=Ontario +2025-05-21 06:25:31,088: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-33.914&lon=18.4129&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:25:32,098: Row 271: Reverse geocoded lat=-33.914, lon=18.4129 -> country=South Africa, city=Cape Town, state=Western Cape +2025-05-21 06:25:33,102: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=41.5053&lon=-81.5566&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:25:34,193: Row 272: Reverse geocoded lat=41.5053, lon=-81.5566 -> country=United States, city=Cleveland Heights, state=Ohio +2025-05-21 06:25:35,011: Row 273: Reverse geocoded lat=22.3008, lon=73.2043 -> country=India, city=Vadodara, state=Gujarat +2025-05-21 06:25:36,116: Row 274: Reverse geocoded lat=-27.6157, lon=-48.6235 -> country=Brazil, city=São José, state=Santa Catarina +2025-05-21 06:25:37,119: Row 275: Reverse geocoded lat=40.4422, lon=-79.9927 -> country=United States, city=Pittsburgh, state=Pennsylvania +2025-05-21 06:25:38,061: Row 276: Reverse geocoded lat=25.5943, lon=85.1352 -> country=India, city=Patna, state=Bihar +2025-05-21 06:25:39,210: Row 277: Reverse geocoded lat=-36.8322, lon=174.7898 -> country=New Zealand, city=Devonport-Takapuna, state=Auckland +2025-05-21 06:25:40,165: Row 278: Reverse geocoded lat=35.7204, lon=-0.6659 -> country=Algeria, city=Oran, state=Oran +2025-05-21 06:25:41,206: Row 279: Reverse geocoded lat=41.4765, lon=1.9278 -> country=Spain, city=Martorell, state=Catalonia +2025-05-21 06:25:42,175: Row 281: Reverse geocoded lat=21, lon=96 -> country=Myanmar, city=Wet Toe, state=Mandalay +2025-05-21 06:25:43,213: Row 282: Reverse geocoded lat=14.6475, lon=121.0494 -> country=Philippines, city=Quezon City, state=None +2025-05-21 06:25:44,084: Row 283: Reverse geocoded lat=14.6475, lon=121.0494 -> country=Philippines, city=Quezon City, state=None +2025-05-21 06:25:45,232: Row 284: Reverse geocoded lat=59.4786, lon=18.2931 -> country=Sweden, city=Åkersberga, state=None +2025-05-21 06:25:46,462: Row 285: Reverse geocoded lat=45.4722, lon=9.1922 -> country=Italy, city=Milan, state=Lombardy +2025-05-21 06:25:47,405: Row 287: Reverse geocoded lat=35.4711, lon=44.3925 -> country=Iraq, city=Kirkuk, state=Kirkuk Governorate +2025-05-21 06:25:48,051: Row 288: Reverse geocoded lat=33.8333, lon=35.8333 -> country=Lebanon, city=Jdita, state=Beqaa Governorate +2025-05-21 06:25:49,219: Row 289: Reverse geocoded lat=48.0295, lon=7.573 -> country=France, city=Biesheim, state=Grand Est +2025-05-21 06:25:50,104: Row 290: Reverse geocoded lat=22.5643, lon=88.3693 -> country=India, city=Kolkata, state=West Bengal +2025-05-21 06:25:51,173: Row 291: Reverse geocoded lat=22.5643, lon=88.3693 -> country=India, city=Kolkata, state=West Bengal +2025-05-21 06:25:52,465: Row 292: Reverse geocoded lat=51.2192, lon=4.3917 -> country=Belgium, city=Antwerp, state=Antwerp +2025-05-21 06:25:53,220: Row 294: Reverse geocoded lat=45.4722, lon=9.1922 -> country=Italy, city=Milan, state=Lombardy +2025-05-21 06:25:54,345: Row 295: Reverse geocoded lat=50.8397, lon=12.9358 -> country=Germany, city=Chemnitz, state=Saxony +2025-05-21 06:25:55,064: Row 296: Reverse geocoded lat=-26.2309, lon=28.0583 -> country=South Africa, city=Johannesburg, state=Gauteng +2025-05-21 06:25:56,189: Row 297: Reverse geocoded lat=47.4121, lon=8.0864 -> country=Switzerland, city=Biberstein, state=Aargau +2025-05-21 06:25:57,113: Row 299: Reverse geocoded lat=50.458, lon=30.5303 -> country=Ukraine, city=Kyiv, state=None +2025-05-21 06:25:58,134: Row 300: Reverse geocoded lat=50.1169, lon=8.6837 -> country=Germany, city=Frankfurt, state=Hesse +2025-05-21 06:25:59,281: Row 301: Reverse geocoded lat=30.7096, lon=31.2554 -> country=Egypt, city=Mit Ghamr City, state=Ad Dakahliya +2025-05-21 06:26:00,079: Row 302: Reverse geocoded lat=26.8373, lon=80.9165 -> country=India, city=Lucknow, state=Uttar Pradesh +2025-05-21 06:26:01,121: Row 303: Reverse geocoded lat=-22.9035, lon=-47.0565 -> country=Brazil, city=Campinas, state=São Paulo +2025-05-21 06:26:02,232: Row 304: Reverse geocoded lat=44.1145, lon=24.3402 -> country=Romania, city=Caracal, state=None +2025-05-21 06:26:03,072: Row 305: Reverse geocoded lat=41.8835, lon=-87.6305 -> country=United States, city=Chicago, state=Illinois +2025-05-21 06:26:04,061: Row 306: Reverse geocoded lat=49.2635, lon=-122.9331 -> country=Canada, city=Burnaby, state=British Columbia +2025-05-21 06:26:05,101: Row 307: Reverse geocoded lat=36.5312, lon=3.0698 -> country=Algeria, city=Bougara, state=Blida +2025-05-21 06:26:06,600: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=49.6113&lon=6.1294&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:07,249: Row 309: Reverse geocoded lat=49.6113, lon=6.1294 -> country=Luxembourg, city=Luxembourg, state=None +2025-05-21 06:26:08,163: Row 310: Reverse geocoded lat=0.321, lon=32.5714 -> country=Uganda, city=Kampala, state=Central Region +2025-05-21 06:26:09,135: Row 311: Reverse geocoded lat=-29.9434, lon=-50.9934 -> country=Brazil, city=Gravataí, state=Rio Grande do Sul +2025-05-21 06:26:10,215: Row 312: Reverse geocoded lat=23.0276, lon=72.5871 -> country=India, city=Ahmedabad, state=Gujarat +2025-05-21 06:26:11,056: Row 313: Reverse geocoded lat=-7.2333, lon=-62.9 -> country=Brazil, city=Humaitá, state=Amazonas +2025-05-21 06:26:12,118: Row 314: Reverse geocoded lat=45.4722, lon=9.1922 -> country=Italy, city=Milan, state=Lombardy +2025-05-21 06:26:13,119: Row 315: Reverse geocoded lat=-16.7267, lon=-49.1091 -> country=Brazil, city=Senador Canedo, state=Goiás +2025-05-21 06:26:14,275: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.4466&lon=5.4736&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:15,135: Row 316: Reverse geocoded lat=51.4466, lon=5.4736 -> country=Netherlands, city=Eindhoven, state=North Brabant +2025-05-21 06:26:16,140: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=3.8661&lon=11.5154&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:17,081: Row 317: Reverse geocoded lat=3.8661, lon=11.5154 -> country=Cameroon, city=Yaoundé, state=Centre +2025-05-21 06:26:18,086: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=3.8661&lon=11.5154&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:19,033: Row 318: Reverse geocoded lat=3.8661, lon=11.5154 -> country=Cameroon, city=Yaoundé, state=Centre +2025-05-21 06:26:20,038: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=31.7126&lon=76.9328&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:21,081: Row 319: Reverse geocoded lat=31.7126, lon=76.9328 -> country=India, city=Mandi, state=Himachal Pradesh +2025-05-21 06:26:22,085: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=47.5534&lon=7.9519&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:23,182: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=47.5534&lon=7.9519&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:24,156: Row 320: Reverse geocoded lat=47.5534, lon=7.9519 -> country=Germany, city=Säckingen, state=Baden-Württemberg +2025-05-21 06:26:25,165: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=23.0276&lon=72.5871&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:26,089: Row 321: Reverse geocoded lat=23.0276, lon=72.5871 -> country=India, city=Ahmedabad, state=Gujarat +2025-05-21 06:26:27,095: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=50.0848&lon=14.4112&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:28,135: Row 322: Reverse geocoded lat=50.0848, lon=14.4112 -> country=Czechia, city=Capital City of Prague, state=Prague +2025-05-21 06:26:29,141: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=37.1477&lon=-3.5655&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:30,020: Row 323: Reverse geocoded lat=37.1477, lon=-3.5655 -> country=Spain, city=Huétor Vega, state=Andalusia +2025-05-21 06:26:31,024: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=46.0025&lon=8.9533&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:32,099: Row 325: Reverse geocoded lat=46.0025, lon=8.9533 -> country=Switzerland, city=Lugano, state=Ticino +2025-05-21 06:26:33,104: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=12.3729&lon=-1.5264&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:34,075: Row 326: Reverse geocoded lat=12.3729, lon=-1.5264 -> country=Burkina Faso, city=Ouagadougou, state=None +2025-05-21 06:26:35,078: Row 327: Reverse geocoded lat=35.6893, lon=139.6899 -> country=Japan, city=Shinjuku, state=None +2025-05-21 06:26:36,079: Row 328: Reverse geocoded lat=37.9842, lon=23.7353 -> country=Greece, city=Athens, state=Attica +2025-05-21 06:26:37,067: Row 329: Reverse geocoded lat=54.8636, lon=-7.7557 -> country=Ireland, city=None, state=None +2025-05-21 06:26:38,083: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=34.8305&lon=-87.656&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:39,123: Row 330: Reverse geocoded lat=34.8305, lon=-87.656 -> country=United States, city=Florence, state=Alabama +2025-05-21 06:26:40,128: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=38.8978&lon=-77.2885&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:41,231: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=38.8978&lon=-77.2885&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:42,087: Row 331: Reverse geocoded lat=38.8978, lon=-77.2885 -> country=United States, city=Reston, state=Virginia +2025-05-21 06:26:43,091: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=47.5&lon=19.0412&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:44,067: Row 332: Reverse geocoded lat=47.5, lon=19.0412 -> country=Hungary, city=Budapest, state=None +2025-05-21 06:26:45,072: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=21.4668&lon=83.9764&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:46,159: Row 333: Reverse geocoded lat=21.4668, lon=83.9764 -> country=India, city=Sambalpur, state=Odisha +2025-05-21 06:26:47,170: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.808&lon=-2.1118&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:48,040: Row 334: Reverse geocoded lat=52.808, lon=-2.1118 -> country=United Kingdom, city=Stafford, state=England +2025-05-21 06:26:49,050: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-22.2635&lon=-49.1364&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:50,033: Row 335: Reverse geocoded lat=-22.2635, lon=-49.1364 -> country=Brazil, city=Bauru, state=São Paulo +2025-05-21 06:26:51,039: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=40.8449&lon=14.2716&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:52,041: Row 336: Reverse geocoded lat=40.8449, lon=14.2716 -> country=Italy, city=Naples, state=Campania +2025-05-21 06:26:53,045: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=13.6687&lon=100.579&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:54,087: Row 337: Reverse geocoded lat=13.6687, lon=100.579 -> country=Thailand, city=Pu Chao Saming Phrai Town Municipality, state=None +2025-05-21 06:26:55,092: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=18.5211&lon=73.8502&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:56,061: Row 338: Reverse geocoded lat=18.5211, lon=73.8502 -> country=India, city=Pune, state=Maharashtra +2025-05-21 06:26:57,070: Row 339: Reverse geocoded lat=23.7018, lon=90.3742 -> country=Bangladesh, city=Keraniganj, state=Dhaka Division +2025-05-21 06:26:58,077: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.5112&lon=0.0300000&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:26:59,110: Row 340: Reverse geocoded lat=51.5112, lon=0.03 -> country=United Kingdom, city=London, state=England +2025-05-21 06:27:00,093: Row 341: Reverse geocoded lat=18.5211, lon=73.8502 -> country=India, city=Pune, state=Maharashtra +2025-05-21 06:27:01,039: Row 342: Reverse geocoded lat=-7.2333, lon=-62.9 -> country=Brazil, city=Humaitá, state=Amazonas +2025-05-21 06:27:02,085: Row 343: Reverse geocoded lat=40.7547, lon=-73.9614 -> country=United States, city=New York, state=New York +2025-05-21 06:27:03,124: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=50.458&lon=30.5303&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:04,124: Row 344: Reverse geocoded lat=50.458, lon=30.5303 -> country=Ukraine, city=Kyiv, state=None +2025-05-21 06:27:05,122: Row 347: Reverse geocoded lat=28.6327, lon=77.2198 -> country=India, city=New Delhi, state=Delhi +2025-05-21 06:27:06,130: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=11.0027&lon=124.6083&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:07,107: Row 348: Reverse geocoded lat=11.0027, lon=124.6083 -> country=Philippines, city=Ormoc, state=Leyte +2025-05-21 06:27:08,086: Row 349: Reverse geocoded lat=22.717, lon=75.8337 -> country=India, city=Indore, state=Madhya Pradesh +2025-05-21 06:27:09,050: Row 350: Reverse geocoded lat=22.717, lon=75.8337 -> country=India, city=Indore, state=Madhya Pradesh +2025-05-21 06:27:10,056: Row 351: Reverse geocoded lat=7.0712, lon=125.6089 -> country=Philippines, city=Davao City, state=None +2025-05-21 06:27:11,126: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-4.7776&lon=11.8659&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:12,027: Row 352: Reverse geocoded lat=-4.7776, lon=11.8659 -> country=Congo-Brazzaville, city=None, state=Pointe-Noire (département) +2025-05-21 06:27:13,038: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=19.0748&lon=72.8856&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:14,086: Row 353: Reverse geocoded lat=19.0748, lon=72.8856 -> country=India, city=Mumbai, state=Maharashtra +2025-05-21 06:27:15,092: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=34.6874&lon=33.0366&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:16,128: Row 354: Reverse geocoded lat=34.6874, lon=33.0366 -> country=Cyprus, city=Limassol, state=Cyprus +2025-05-21 06:27:17,066: Row 355: Reverse geocoded lat=34.6874, lon=33.0366 -> country=Cyprus, city=Limassol, state=Cyprus +2025-05-21 06:27:18,138: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=46.1953&lon=6.1385&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:19,053: Row 356: Reverse geocoded lat=46.1953, lon=6.1385 -> country=Switzerland, city=Geneva, state=Geneva +2025-05-21 06:27:20,057: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.8951&lon=-1.1585&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:21,045: Row 357: Reverse geocoded lat=51.8951, lon=-1.1585 -> country=United Kingdom, city=Cherwell District, state=England +2025-05-21 06:27:22,055: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.8951&lon=-1.1585&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:23,039: Row 358: Reverse geocoded lat=51.8951, lon=-1.1585 -> country=United Kingdom, city=Cherwell District, state=England +2025-05-21 06:27:24,046: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=29.3706&lon=47.9697&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:25,074: Row 359: Reverse geocoded lat=29.3706, lon=47.9697 -> country=Kuwait, city=Kuwait City, state=Capital Governorate +2025-05-21 06:27:26,078: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=37.3177&lon=-122.0438&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:27,058: Row 360: Reverse geocoded lat=37.3177, lon=-122.0438 -> country=United States, city=Cupertino, state=California +2025-05-21 06:27:28,064: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=38.9609&lon=-77.3429&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:29,066: Row 361: Reverse geocoded lat=38.9609, lon=-77.3429 -> country=United States, city=Reston, state=Virginia +2025-05-21 06:27:30,072: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.1613&lon=-113.9518&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:31,126: Row 363: Reverse geocoded lat=51.1613, lon=-113.9518 -> country=Canada, city=Calgary, state=Alberta +2025-05-21 06:27:32,130: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=38.036&lon=114.4654&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:33,052: Row 364: Reverse geocoded lat=38.036, lon=114.4654 -> country=China, city=Shijiazhuang, state=Hebei +2025-05-21 06:27:34,057: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=18.0&lon=105.0&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:35,079: Row 365: Reverse geocoded lat=18, lon=105 -> country=Laos, city=Phonkeo, state=Bolikhamsai +2025-05-21 06:27:36,084: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=36.096&lon=114.3828&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:37,120: Row 366: Reverse geocoded lat=36.096, lon=114.3828 -> country=China, city=开发区银杏大街街道, state=Henan +2025-05-21 06:27:38,126: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=39.6933&lon=-104.7865&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:39,074: Row 367: Reverse geocoded lat=39.6933, lon=-104.7865 -> country=United States, city=Aurora, state=Colorado +2025-05-21 06:27:40,083: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=38.7219&lon=-9.1398&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:41,149: Row 368: Reverse geocoded lat=38.7219, lon=-9.1398 -> country=Portugal, city=Lisbon, state=None +2025-05-21 06:27:42,154: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=17.3843&lon=78.4583&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:43,053: Row 369: Reverse geocoded lat=17.3843, lon=78.4583 -> country=India, city=Hyderabad, state=Telangana +2025-05-21 06:27:44,058: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=40.8273&lon=-83.2813&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:45,126: Row 370: Reverse geocoded lat=40.8273, lon=-83.2813 -> country=United States, city=Upper Sandusky, state=Ohio +2025-05-21 06:27:46,132: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=31.2222&lon=121.4581&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:47,091: Row 371: Reverse geocoded lat=31.2222, lon=121.4581 -> country=China, city=Shanghai, state=Shanghai +2025-05-21 06:27:48,104: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=28.6542&lon=77.2373&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:49,036: Row 372: Reverse geocoded lat=28.6542, lon=77.2373 -> country=India, city=Delhi, state=Delhi +2025-05-21 06:27:50,026: Row 373: Reverse geocoded lat=13.0895, lon=80.2739 -> country=India, city=Chennai, state=Tamil Nadu +2025-05-21 06:27:51,048: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=13.0895&lon=80.2739&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:52,072: Row 374: Reverse geocoded lat=13.0895, lon=80.2739 -> country=India, city=Chennai, state=Tamil Nadu +2025-05-21 06:27:53,080: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=28.5&lon=-10.0&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:54,053: Row 375: Reverse geocoded lat=28.5, lon=-10 -> country=Morocco, city=Aouint Lahna عوينة لهنا, state=None +2025-05-21 06:27:55,059: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=45.0729&lon=7.689&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:56,182: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=45.0729&lon=7.689&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:27:57,227: Row 377: Reverse geocoded lat=45.0729, lon=7.689 -> country=Italy, city=Turin, state=Piedmont +2025-05-21 06:27:58,146: Row 378: Reverse geocoded lat=21.4668, lon=83.9764 -> country=India, city=Sambalpur, state=Odisha +2025-05-21 06:27:59,096: Row 379: Reverse geocoded lat=33.1976, lon=-96.6178 -> country=United States, city=McKinney, state=Texas +2025-05-21 06:28:00,242: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=40.7126&lon=-74.0066&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:01,224: Row 380: Reverse geocoded lat=40.7126, lon=-74.0066 -> country=United States, city=New York, state=New York +2025-05-21 06:28:02,142: Row 381: Reverse geocoded lat=33.4306, lon=-111.9256 -> country=United States, city=Tempe, state=Arizona +2025-05-21 06:28:03,102: Row 382: Reverse geocoded lat=38.7883, lon=-121.2366 -> country=United States, city=Rocklin, state=California +2025-05-21 06:28:04,072: Row 383: Reverse geocoded lat=22.5643, lon=88.3693 -> country=India, city=Kolkata, state=West Bengal +2025-05-21 06:28:05,222: Row 384: Reverse geocoded lat=51.1876, lon=71.4491 -> country=Kazakhstan, city=Astana, state=Astana +2025-05-21 06:28:06,135: Row 385: Reverse geocoded lat=22.3008, lon=73.2043 -> country=India, city=Vadodara, state=Gujarat +2025-05-21 06:28:07,247: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=35.6893&lon=139.6899&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:08,080: Row 387: Reverse geocoded lat=35.6893, lon=139.6899 -> country=Japan, city=Shinjuku, state=None +2025-05-21 06:28:09,087: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=35.6893&lon=139.6899&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:10,055: Row 388: Reverse geocoded lat=35.6893, lon=139.6899 -> country=Japan, city=Shinjuku, state=None +2025-05-21 06:28:11,060: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=35.6893&lon=139.6899&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:12,078: Row 389: Reverse geocoded lat=35.6893, lon=139.6899 -> country=Japan, city=Shinjuku, state=None +2025-05-21 06:28:13,083: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=35.6893&lon=139.6899&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:14,083: Row 390: Reverse geocoded lat=35.6893, lon=139.6899 -> country=Japan, city=Shinjuku, state=None +2025-05-21 06:28:15,090: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=3.1023&lon=101.6265&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:16,171: Row 391: Reverse geocoded lat=3.1023, lon=101.6265 -> country=Malaysia, city=Petaling Jaya, state=Selangor +2025-05-21 06:28:17,178: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=37.3392&lon=-77.4175&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:18,063: Row 392: Reverse geocoded lat=37.3392, lon=-77.4175 -> country=United States, city=None, state=Virginia +2025-05-21 06:28:19,067: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=21.2339&lon=110.3875&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:20,071: Row 394: Reverse geocoded lat=21.2339, lon=110.3875 -> country=China, city=Chikan District, state=Guangdong Province +2025-05-21 06:28:21,080: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=43.3699&lon=-8.4096&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:22,211: Row 395: Reverse geocoded lat=43.3699, lon=-8.4096 -> country=Spain, city=A Coruña, state=Galicia +2025-05-21 06:28:23,221: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=43.3699&lon=-8.4096&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:24,158: Row 396: Reverse geocoded lat=43.3699, lon=-8.4096 -> country=Spain, city=A Coruña, state=Galicia +2025-05-21 06:28:25,078: Row 398: Reverse geocoded lat=42.2645, lon=-88.0034 -> country=United States, city=Mundelein, state=Illinois +2025-05-21 06:28:26,034: Row 399: Reverse geocoded lat=-1.4428, lon=-79.4627 -> country=Ecuador, city=Ventanas, state=Los Ríos +2025-05-21 06:28:27,126: Row 400: Reverse geocoded lat=-1.4428, lon=-79.4627 -> country=Ecuador, city=Ventanas, state=Los Ríos +2025-05-21 06:28:28,174: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=30.0507&lon=31.2489&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:29,174: Row 401: Reverse geocoded lat=30.0507, lon=31.2489 -> country=Egypt, city=Cairo, state=Cairo +2025-05-21 06:28:30,179: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-33.914&lon=18.4129&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:31,130: Row 403: Reverse geocoded lat=-33.914, lon=18.4129 -> country=South Africa, city=Cape Town, state=Western Cape +2025-05-21 06:28:32,139: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=28.4597&lon=77.0282&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:33,081: Row 406: Reverse geocoded lat=28.4597, lon=77.0282 -> country=India, city=Gurgaon, state=Haryana +2025-05-21 06:28:34,082: Row 407: Reverse geocoded lat=37.3388, lon=-121.8916 -> country=United States, city=San Jose, state=California +2025-05-21 06:28:35,092: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=23.1181&lon=113.2539&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:36,089: Row 408: Reverse geocoded lat=23.1181, lon=113.2539 -> country=China, city=Yuexiu District, state=Guangdong Province +2025-05-21 06:28:37,093: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=49.3518&lon=0.8088000&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:38,131: Row 409: Reverse geocoded lat=49.3518, lon=0.8088 -> country=France, city=Bourg-Achard, state=Normandy +2025-05-21 06:28:39,141: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=25.315&lon=83.0058&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:40,072: Row 410: Reverse geocoded lat=25.315, lon=83.0058 -> country=India, city=Varanasi, state=Uttar Pradesh +2025-05-21 06:28:41,076: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=30.3275&lon=78.0325&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:42,079: Row 411: Reverse geocoded lat=30.3275, lon=78.0325 -> country=India, city=Dehradun, state=Uttarakhand +2025-05-21 06:28:43,089: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=11.9924&lon=8.5173&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:44,125: Row 412: Reverse geocoded lat=11.9924, lon=8.5173 -> country=Nigeria, city=Tudun Wazurchi, state=Kano State +2025-05-21 06:28:45,133: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=25.0734&lon=55.2979&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:46,101: Row 413: Reverse geocoded lat=25.0734, lon=55.2979 -> country=United Arab Emirates, city=None, state=Dubai +2025-05-21 06:28:47,057: Row 414: Reverse geocoded lat=31.9555, lon=35.9435 -> country=Jordan, city=None, state=Amman +2025-05-21 06:28:48,050: Row 415: Reverse geocoded lat=25.0734, lon=55.2979 -> country=United Arab Emirates, city=None, state=Dubai +2025-05-21 06:28:49,113: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=28.6542&lon=77.2373&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:50,092: Row 416: Reverse geocoded lat=28.6542, lon=77.2373 -> country=India, city=Delhi, state=Delhi +2025-05-21 06:28:51,096: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=41.8835&lon=-87.6305&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:52,049: Row 417: Reverse geocoded lat=41.8835, lon=-87.6305 -> country=United States, city=Chicago, state=Illinois +2025-05-21 06:28:53,056: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=30.8707&lon=120.0898&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:54,132: Row 418: Reverse geocoded lat=30.8707, lon=120.0898 -> country=China, city=Wuxing District, state=Zhejiang +2025-05-21 06:28:55,135: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=38.1302&lon=13.329&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:56,025: Row 419: Reverse geocoded lat=38.1302, lon=13.329 -> country=Italy, city=Palermo, state=Sicily +2025-05-21 06:28:57,030: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.5852&lon=-0.2360000&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:28:58,078: Row 420: Reverse geocoded lat=52.5852, lon=-0.236 -> country=United Kingdom, city=Peterborough, state=England +2025-05-21 06:28:59,082: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=37.4073&lon=-121.939&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:00,103: Row 421: Reverse geocoded lat=37.4073, lon=-121.939 -> country=United States, city=San Jose, state=California +2025-05-21 06:29:01,100: Row 422: Reverse geocoded lat=37.4073, lon=-121.939 -> country=United States, city=San Jose, state=California +2025-05-21 06:29:02,114: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=55.6922&lon=12.5478&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:03,221: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=55.6922&lon=12.5478&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:04,095: Row 423: Reverse geocoded lat=55.6922, lon=12.5478 -> country=Denmark, city=Copenhagen, state=Capital Region of Denmark +2025-05-21 06:29:05,099: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=25.5943&lon=85.1352&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:06,049: Row 425: Reverse geocoded lat=25.5943, lon=85.1352 -> country=India, city=Patna, state=Bihar +2025-05-21 06:29:07,058: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.5064&lon=-0.0200000&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:08,080: Row 427: Reverse geocoded lat=51.5064, lon=-0.02 -> country=United Kingdom, city=London, state=England +2025-05-21 06:29:09,085: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=56.1567&lon=10.2153&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:10,051: Row 428: Reverse geocoded lat=56.1567, lon=10.2153 -> country=Denmark, city=Aarhus, state=Central Denmark Region +2025-05-21 06:29:11,061: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=45.5547&lon=5.9801&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:12,079: Row 429: Reverse geocoded lat=45.5547, lon=5.9801 -> country=France, city=Challes-les-Eaux, state=Auvergne-Rhône-Alpes +2025-05-21 06:29:13,085: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-19.9218&lon=-43.9359&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:14,028: Row 432: Reverse geocoded lat=-19.9218, lon=-43.9359 -> country=Brazil, city=Belo Horizonte, state=Minas Gerais +2025-05-21 06:29:15,033: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=47.615&lon=-122.1619&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:16,027: Row 433: Reverse geocoded lat=47.615, lon=-122.1619 -> country=United States, city=Bellevue, state=Washington +2025-05-21 06:29:17,033: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=30.8707&lon=120.0898&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:18,075: Row 436: Reverse geocoded lat=30.8707, lon=120.0898 -> country=China, city=Wuxing District, state=Zhejiang +2025-05-21 06:29:19,080: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=59.4381&lon=24.7369&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:20,133: Row 437: Reverse geocoded lat=59.4381, lon=24.7369 -> country=Estonia, city=Tallinn, state=None +2025-05-21 06:29:21,144: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=26.8373&lon=80.9165&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:22,051: Row 438: Reverse geocoded lat=26.8373, lon=80.9165 -> country=India, city=Lucknow, state=Uttar Pradesh +2025-05-21 06:29:23,055: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=26.8373&lon=80.9165&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:24,064: Row 439: Reverse geocoded lat=26.8373, lon=80.9165 -> country=India, city=Lucknow, state=Uttar Pradesh +2025-05-21 06:29:25,068: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=18.5211&lon=73.8502&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:26,114: Row 440: Reverse geocoded lat=18.5211, lon=73.8502 -> country=India, city=Pune, state=Maharashtra +2025-05-21 06:29:27,120: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.9439&lon=5.8939&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:28,100: Row 441: Reverse geocoded lat=51.9439, lon=5.8939 -> country=Netherlands, city=Arnhem, state=Gelderland +2025-05-21 06:29:29,105: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=18.7857&lon=98.9736&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:30,104: Row 442: Reverse geocoded lat=18.7857, lon=98.9736 -> country=Thailand, city=Chiang Mai City Municipality, state=None +2025-05-21 06:29:31,108: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=20.4636&lon=85.8783&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:32,202: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=20.4636&lon=85.8783&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:33,025: Row 443: Reverse geocoded lat=20.4636, lon=85.8783 -> country=India, city=Cuttack, state=Odisha +2025-05-21 06:29:34,029: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=46.2253&lon=6.1516&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:35,072: Row 444: Reverse geocoded lat=46.2253, lon=6.1516 -> country=Switzerland, city=Geneva, state=Geneva +2025-05-21 06:29:36,076: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=30.6667&lon=104.0667&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:37,169: Row 446: Reverse geocoded lat=30.6667, lon=104.0667 -> country=China, city=Chengdu, state=Sichuan +2025-05-21 06:29:38,174: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=50.1169&lon=8.6837&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:39,115: Row 447: Reverse geocoded lat=50.1169, lon=8.6837 -> country=Germany, city=Frankfurt, state=Hesse +2025-05-21 06:29:40,041: Row 448: Reverse geocoded lat=26.3304, lon=-81.5871 -> country=United States, city=None, state=Florida +2025-05-21 06:29:41,056: Row 449: Reverse geocoded lat=-3.717, lon=-38.5287 -> country=Brazil, city=Fortaleza, state=Ceará +2025-05-21 06:29:42,047: Row 450: Reverse geocoded lat=55.7481, lon=12.5347 -> country=Denmark, city=Jægersborg, state=Capital Region of Denmark +2025-05-21 06:29:43,132: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=37.5625&lon=-122.0004&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:44,023: Row 451: Reverse geocoded lat=37.5625, lon=-122.0004 -> country=United States, city=Fremont, state=California +2025-05-21 06:29:45,027: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-12.0432&lon=-77.0282&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:46,105: Row 452: Reverse geocoded lat=-12.0432, lon=-77.0282 -> country=Peru, city=Lima, state=Lima +2025-05-21 06:29:47,111: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=59.3287&lon=18.0717&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:48,064: Row 453: Reverse geocoded lat=59.3287, lon=18.0717 -> country=Sweden, city=Stockholm, state=None +2025-05-21 06:29:49,045: Row 454: Reverse geocoded lat=59.3287, lon=18.0717 -> country=Sweden, city=Stockholm, state=None +2025-05-21 06:29:50,074: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.1922&lon=20.8846&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:51,089: Row 456: Reverse geocoded lat=52.1922, lon=20.8846 -> country=Poland, city=Warsaw, state=Masovian Voivodeship +2025-05-21 06:29:52,059: Row 457: Reverse geocoded lat=40.4153, lon=-3.694 -> country=Spain, city=Madrid, state=Community of Madrid +2025-05-21 06:29:53,098: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=40.4153&lon=-3.694&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:54,167: Row 458: Reverse geocoded lat=40.4153, lon=-3.694 -> country=Spain, city=Madrid, state=Community of Madrid +2025-05-21 06:29:55,171: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=59.3247&lon=18.056&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:56,113: Row 459: Reverse geocoded lat=59.3247, lon=18.056 -> country=Sweden, city=Stockholm, state=None +2025-05-21 06:29:57,067: Row 460: Reverse geocoded lat=59.3247, lon=18.056 -> country=Sweden, city=Stockholm, state=None +2025-05-21 06:29:58,118: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=50.0596&lon=19.9338&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:29:59,092: Row 461: Reverse geocoded lat=50.0596, lon=19.9338 -> country=Poland, city=Krakow, state=Lesser Poland Voivodeship +2025-05-21 06:30:00,095: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.3924&lon=16.9019&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:01,130: Row 462: Reverse geocoded lat=52.3924, lon=16.9019 -> country=Poland, city=Poznan, state=Greater Poland Voivodeship +2025-05-21 06:30:02,136: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=59.3287&lon=18.0717&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:03,111: Row 463: Reverse geocoded lat=59.3287, lon=18.0717 -> country=Sweden, city=Stockholm, state=None +2025-05-21 06:30:04,114: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=50.7599&lon=6.0953&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:05,112: Row 465: Reverse geocoded lat=50.7599, lon=6.0953 -> country=Germany, city=Aachen, state=North Rhine-Westphalia +2025-05-21 06:30:06,118: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=60.3951&lon=5.3237&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:07,090: Row 466: Reverse geocoded lat=60.3951, lon=5.3237 -> country=Norway, city=Bergen, state=None +2025-05-21 06:30:08,096: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=60.3951&lon=5.3237&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:09,200: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=60.3951&lon=5.3237&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:10,061: Row 467: Reverse geocoded lat=60.3951, lon=5.3237 -> country=Norway, city=Bergen, state=None +2025-05-21 06:30:11,055: Row 468: Reverse geocoded lat=60.3951, lon=5.3237 -> country=Norway, city=Bergen, state=None +2025-05-21 06:30:12,068: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.3759&lon=4.8975&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:13,176: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.3759&lon=4.8975&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:14,156: Row 469: Reverse geocoded lat=52.3759, lon=4.8975 -> country=Netherlands, city=Amsterdam, state=North Holland +2025-05-21 06:30:15,095: Row 470: Reverse geocoded lat=-25.5283, lon=-49.2161 -> country=Brazil, city=São José dos Pinhais, state=Paraná +2025-05-21 06:30:16,166: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=47.0042&lon=28.8574&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:17,106: Row 471: Reverse geocoded lat=47.0042, lon=28.8574 -> country=Moldova, city=Chișinău, state=None +2025-05-21 06:30:18,110: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-3.1032&lon=-60.0288&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:19,094: Row 473: Reverse geocoded lat=-3.1032, lon=-60.0288 -> country=Brazil, city=Manaus, state=Amazonas +2025-05-21 06:30:20,098: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=12.9753&lon=77.591&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:21,083: Row 474: Reverse geocoded lat=12.9753, lon=77.591 -> country=India, city=Bengaluru, state=Karnataka +2025-05-21 06:30:22,086: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=54.5455&lon=18.4494&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:23,100: Row 476: Reverse geocoded lat=54.5455, lon=18.4494 -> country=Poland, city=Gdynia, state=Pomeranian Voivodeship +2025-05-21 06:30:24,104: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=38.7219&lon=-9.1398&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:25,105: Row 477: Reverse geocoded lat=38.7219, lon=-9.1398 -> country=Portugal, city=Lisbon, state=None +2025-05-21 06:30:26,109: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=41.3946&lon=2.1406&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:27,155: Row 478: Reverse geocoded lat=41.3946, lon=2.1406 -> country=Spain, city=Barcelona, state=Catalonia +2025-05-21 06:30:28,105: Row 479: Reverse geocoded lat=-27.4683, lon=153.0322 -> country=Australia, city=None, state=Queensland +2025-05-21 06:30:29,165: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=45.7537&lon=21.2257&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:30,276: Row 480: Reverse geocoded lat=45.7537, lon=21.2257 -> country=Romania, city=Timișoara, state=None +2025-05-21 06:30:31,158: Row 481: Reverse geocoded lat=53.7606, lon=-0.3734 -> country=United Kingdom, city=Hull, state=England +2025-05-21 06:30:32,164: Row 482: Reverse geocoded lat=52.3759, lon=4.8975 -> country=Netherlands, city=Amsterdam, state=North Holland +2025-05-21 06:30:33,286: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.3759&lon=4.8975&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:34,191: Row 483: Reverse geocoded lat=52.3759, lon=4.8975 -> country=Netherlands, city=Amsterdam, state=North Holland +2025-05-21 06:30:35,102: Row 484: Reverse geocoded lat=31.3709, lon=73.0336 -> country=Pakistan, city=Faisalabad City Tehsil, state=Punjab +2025-05-21 06:30:36,097: Row 485: Reverse geocoded lat=-26.2309, lon=28.0583 -> country=South Africa, city=Johannesburg, state=Gauteng +2025-05-21 06:30:37,127: Row 486: Reverse geocoded lat=45.4722, lon=9.1922 -> country=Italy, city=Milan, state=Lombardy +2025-05-21 06:30:38,115: Row 487: Reverse geocoded lat=12.9753, lon=77.591 -> country=India, city=Bengaluru, state=Karnataka +2025-05-21 06:30:39,209: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.1836&lon=11.5754&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:40,049: Row 488: Reverse geocoded lat=48.1836, lon=11.5754 -> country=Germany, city=Munich, state=Bavaria +2025-05-21 06:30:41,054: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=54.1085&lon=12.0645&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:42,050: Row 489: Reverse geocoded lat=54.1085, lon=12.0645 -> country=Germany, city=Rostock, state=Mecklenburg-Vorpommern +2025-05-21 06:30:43,056: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=38.8327&lon=-9.166&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:44,122: Row 490: Reverse geocoded lat=38.8327, lon=-9.166 -> country=Portugal, city=Loures, state=None +2025-05-21 06:30:45,127: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=56.9473&lon=24.0979&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:46,055: Row 491: Reverse geocoded lat=56.9473, lon=24.0979 -> country=Latvia, city=Riga, state=None +2025-05-21 06:30:47,057: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=29.9192&lon=73.8741&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:48,167: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=29.9192&lon=73.8741&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:49,080: Row 494: Reverse geocoded lat=29.9192, lon=73.8741 -> country=India, city=Ganganagar, state=Rajasthan +2025-05-21 06:30:50,085: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=50.1169&lon=8.6837&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:51,090: Row 495: Reverse geocoded lat=50.1169, lon=8.6837 -> country=Germany, city=Frankfurt, state=Hesse +2025-05-21 06:30:52,043: Row 496: Reverse geocoded lat=-29.8553, lon=31.0428 -> country=South Africa, city=Durban, state=KwaZulu-Natal +2025-05-21 06:30:53,095: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=29.5689&lon=106.5577&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:54,073: Row 498: Reverse geocoded lat=29.5689, lon=106.5577 -> country=China, city=Yuzhong District, state=Chongqing +2025-05-21 06:30:55,048: Row 500: Reverse geocoded lat=22.5643, lon=88.3693 -> country=India, city=Kolkata, state=West Bengal +2025-05-21 06:30:56,082: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=53.0582&lon=8.7868&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:57,050: Row 501: Reverse geocoded lat=53.0582, lon=8.7868 -> country=Germany, city=Bremen, state=Bremen +2025-05-21 06:30:58,053: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=19.0748&lon=72.8856&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:30:59,082: Row 502: Reverse geocoded lat=19.0748, lon=72.8856 -> country=India, city=Mumbai, state=Maharashtra +2025-05-21 06:31:00,085: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=35.0&lon=105.0&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:01,139: Row 503: Reverse geocoded lat=35, lon=105 -> country=China, city=Bangluo, state=Gansu +2025-05-21 06:31:02,145: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.4537&lon=-0.2320000&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:03,054: Row 505: Reverse geocoded lat=51.4537, lon=-0.232 -> country=United Kingdom, city=London, state=England +2025-05-21 06:31:04,061: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=33.8333&lon=35.8333&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:05,056: Row 507: Reverse geocoded lat=33.8333, lon=35.8333 -> country=Lebanon, city=Jdita, state=Beqaa Governorate +2025-05-21 06:31:06,061: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=14.5971&lon=120.9798&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:07,077: Row 509: Reverse geocoded lat=14.5971, lon=120.9798 -> country=Philippines, city=Manila, state=None +2025-05-21 06:31:08,081: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.0729&lon=4.5475&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:09,043: Row 510: Reverse geocoded lat=52.0729, lon=4.5475 -> country=Netherlands, city=Benthuizen, state=South Holland +2025-05-21 06:31:10,049: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.0729&lon=4.5475&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:11,067: Row 511: Reverse geocoded lat=52.0729, lon=4.5475 -> country=Netherlands, city=Benthuizen, state=South Holland +2025-05-21 06:31:12,073: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=23.0276&lon=72.5871&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:13,109: Row 512: Reverse geocoded lat=23.0276, lon=72.5871 -> country=India, city=Ahmedabad, state=Gujarat +2025-05-21 06:31:14,113: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=38.9757&lon=-77.6414&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:15,077: Row 513: Reverse geocoded lat=38.9757, lon=-77.6414 -> country=United States, city=Aldie, state=Virginia +2025-05-21 06:31:16,081: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=10.4873&lon=-66.8738&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:17,046: Row 514: Reverse geocoded lat=10.4873, lon=-66.8738 -> country=Venezuela, city=Caracas, state=Miranda State +2025-05-21 06:31:18,053: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-23.6301&lon=-46.6378&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:19,058: Row 515: Reverse geocoded lat=-23.6301, lon=-46.6378 -> country=Brazil, city=São Paulo, state=São Paulo +2025-05-21 06:31:20,061: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=14.6475&lon=121.0494&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:21,038: Row 516: Reverse geocoded lat=14.6475, lon=121.0494 -> country=Philippines, city=Quezon City, state=None +2025-05-21 06:31:22,043: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=26.9136&lon=75.7858&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:23,079: Row 519: Reverse geocoded lat=26.9136, lon=75.7858 -> country=India, city=Jaipur, state=Rajasthan +2025-05-21 06:31:24,087: Row 520: Reverse geocoded lat=40.7592, lon=-111.8875 -> country=United States, city=Salt Lake City, state=Utah +2025-05-21 06:31:25,091: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=20.2706&lon=85.8334&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:26,124: Row 523: Reverse geocoded lat=20.2706, lon=85.8334 -> country=India, city=Bhubaneswar Municipal Corporation, state=Odisha +2025-05-21 06:31:27,131: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=17.3843&lon=78.4583&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:28,041: Row 525: Reverse geocoded lat=17.3843, lon=78.4583 -> country=India, city=Hyderabad, state=Telangana +2025-05-21 06:31:29,047: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=28.6327&lon=77.2198&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:30,139: Row 528: Reverse geocoded lat=28.6327, lon=77.2198 -> country=India, city=New Delhi, state=Delhi +2025-05-21 06:31:31,141: Row 529: Reverse geocoded lat=45.4722, lon=9.1922 -> country=Italy, city=Milan, state=Lombardy +2025-05-21 06:31:32,145: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=25.5943&lon=85.1352&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:33,015: Row 530: Reverse geocoded lat=25.5943, lon=85.1352 -> country=India, city=Patna, state=Bihar +2025-05-21 06:31:34,021: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=24.6869&lon=46.7224&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:35,025: Row 531: Reverse geocoded lat=24.6869, lon=46.7224 -> country=Saudi Arabia, city=Riyadh, state=Riyadh Region +2025-05-21 06:31:36,032: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.7556&lon=21.2526&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:37,089: Row 532: Reverse geocoded lat=48.7556, lon=21.2526 -> country=Slovakia, city=Košice, state=Region of Košice +2025-05-21 06:31:38,094: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=37.3028&lon=-121.9982&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:39,114: Row 533: Reverse geocoded lat=37.3028, lon=-121.9982 -> country=United States, city=San Jose, state=California +2025-05-21 06:31:40,108: Row 536: Reverse geocoded lat=35.7449, lon=0.5663 -> country=Algeria, city=Relizane, state=Relizane +2025-05-21 06:31:41,081: Row 538: Reverse geocoded lat=23.1181, lon=113.2539 -> country=China, city=Yuexiu District, state=Guangdong Province +2025-05-21 06:31:42,124: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=39.9707&lon=32.7316&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:43,051: Row 540: Reverse geocoded lat=39.9707, lon=32.7316 -> country=Turkey, city=Yenimahalle, state=Ankara +2025-05-21 06:31:44,058: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=23.6533&lon=90.4923&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:45,101: Row 541: Reverse geocoded lat=23.6533, lon=90.4923 -> country=Bangladesh, city=Narayanganj, state=Dhaka Division +2025-05-21 06:31:46,060: Row 542: Reverse geocoded lat=22.3008, lon=73.2043 -> country=India, city=Vadodara, state=Gujarat +2025-05-21 06:31:47,109: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=30.0822&lon=-81.5498&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:48,085: Row 545: Reverse geocoded lat=30.0822, lon=-81.5498 -> country=United States, city=None, state=Florida +2025-05-21 06:31:49,090: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=3.5847&lon=98.6629&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:50,083: Row 546: Reverse geocoded lat=3.5847, lon=98.6629 -> country=Indonesia, city=City of Medan, state=North Sumatra +2025-05-21 06:31:51,089: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=28.8964&lon=76.5909&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:52,053: Row 547: Reverse geocoded lat=28.8964, lon=76.5909 -> country=India, city=Rohtak, state=Haryana +2025-05-21 06:31:53,057: Row 548: Reverse geocoded lat=30.5394, lon=-91.0522 -> country=United States, city=Central, state=Louisiana +2025-05-21 06:31:54,062: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.4562&lon=6.0573&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:55,152: Row 550: Reverse geocoded lat=51.4562, lon=6.0573 -> country=Netherlands, city=Horst, state=Limburg +2025-05-21 06:31:56,160: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=37.4073&lon=-121.939&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:57,154: Row 551: Reverse geocoded lat=37.4073, lon=-121.939 -> country=United States, city=San Jose, state=California +2025-05-21 06:31:58,160: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.8558&lon=2.3494&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:31:59,167: Row 552: Reverse geocoded lat=48.8558, lon=2.3494 -> country=France, city=Paris, state=Ile-de-France +2025-05-21 06:32:00,017: Row 553: Reverse geocoded lat=25.5943, lon=85.1352 -> country=India, city=Patna, state=Bihar +2025-05-21 06:32:01,177: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-37.867&lon=144.9973&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:02,067: Row 554: Reverse geocoded lat=-37.867, lon=144.9973 -> country=Australia, city=Melbourne, state=Victoria +2025-05-21 06:32:03,073: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=53.5956&lon=10.0044&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:04,071: Row 555: Reverse geocoded lat=53.5956, lon=10.0044 -> country=Germany, city=Hamburg, state=None +2025-05-21 06:32:05,076: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.144&lon=17.1332&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:06,024: Row 556: Reverse geocoded lat=51.144, lon=17.1332 -> country=Poland, city=Wrocław, state=Lower Silesian Voivodeship +2025-05-21 06:32:07,029: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.8558&lon=2.3494&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:08,151: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.8558&lon=2.3494&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:09,192: Row 557: Reverse geocoded lat=48.8558, lon=2.3494 -> country=France, city=Paris, state=Ile-de-France +2025-05-21 06:32:10,198: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=43.2951&lon=5.3861&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:11,103: Row 558: Reverse geocoded lat=43.2951, lon=5.3861 -> country=France, city=Marseille, state=Provence-Alpes-Côte d'Azur +2025-05-21 06:32:12,084: Row 559: Reverse geocoded lat=17.3843, lon=78.4583 -> country=India, city=Hyderabad, state=Telangana +2025-05-21 06:32:13,108: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=30.3275&lon=78.0325&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:14,090: Row 561: Reverse geocoded lat=30.3275, lon=78.0325 -> country=India, city=Dehradun, state=Uttarakhand +2025-05-21 06:32:15,094: Row 562: Reverse geocoded lat=21.4913, lon=39.1841 -> country=Saudi Arabia, city=Jeddah, state=Makkah Region +2025-05-21 06:32:16,099: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=1.3153&lon=103.9143&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:17,104: Row 563: Reverse geocoded lat=1.3153, lon=103.9143 -> country=Singapore, city=Singapore, state=None +2025-05-21 06:32:18,108: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=37.9414&lon=40.1933&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:19,057: Row 565: Reverse geocoded lat=37.9414, lon=40.1933 -> country=Turkey, city=Kayapınar, state=None +2025-05-21 06:32:20,062: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.767&lon=9.1827&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:21,042: Row 566: Reverse geocoded lat=48.767, lon=9.1827 -> country=Germany, city=Stuttgart, state=Baden-Württemberg +2025-05-21 06:32:22,033: Row 568: Reverse geocoded lat=17.3843, lon=78.4583 -> country=India, city=Hyderabad, state=Telangana +2025-05-21 06:32:23,047: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=47.3741&lon=9.5417&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:24,097: Row 569: Reverse geocoded lat=47.3741, lon=9.5417 -> country=Switzerland, city=Altstätten, state=St. Gallen +2025-05-21 06:32:25,101: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=28.1454&lon=77.3281&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:26,203: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=28.1454&lon=77.3281&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:27,049: Row 573: Reverse geocoded lat=28.1454, lon=77.3281 -> country=India, city=Palwal, state=Haryana +2025-05-21 06:32:28,056: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.4982&lon=13.4755&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:29,047: Row 575: Reverse geocoded lat=52.4982, lon=13.4755 -> country=Germany, city=Berlin, state=None +2025-05-21 06:32:30,052: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=52.4982&lon=13.4755&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:31,102: Row 576: Reverse geocoded lat=52.4982, lon=13.4755 -> country=Germany, city=Berlin, state=None +2025-05-21 06:32:32,107: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=14.6438&lon=120.9632&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:33,102: Row 578: Reverse geocoded lat=14.6438, lon=120.9632 -> country=Philippines, city=Caloocan, state=None +2025-05-21 06:32:34,105: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=41.0396&lon=-111.9361&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:35,184: Row 579: Reverse geocoded lat=41.0396, lon=-111.9361 -> country=United States, city=Kaysville, state=Utah +2025-05-21 06:32:36,189: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=50.8713&lon=4.3758&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:37,105: Row 580: Reverse geocoded lat=50.8713, lon=4.3758 -> country=Belgium, city=Schaerbeek - Schaarbeek, state=None +2025-05-21 06:32:38,108: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=55.867&lon=-4.2621&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:39,115: Row 581: Reverse geocoded lat=55.867, lon=-4.2621 -> country=United Kingdom, city=Glasgow, state=Scotland +2025-05-21 06:32:40,120: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=18.0&lon=105.0&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:41,107: Row 583: Reverse geocoded lat=18, lon=105 -> country=Laos, city=Phonkeo, state=Bolikhamsai +2025-05-21 06:32:42,028: Row 584: Reverse geocoded lat=13.0895, lon=80.2739 -> country=India, city=Chennai, state=Tamil Nadu +2025-05-21 06:32:43,031: Row 586: Reverse geocoded lat=26.8373, lon=80.9165 -> country=India, city=Lucknow, state=Uttar Pradesh +2025-05-21 06:32:44,118: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=39.911&lon=116.395&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:45,043: Row 587: Reverse geocoded lat=39.911, lon=116.395 -> country=China, city=Dongcheng District, state=Beijing +2025-05-21 06:32:46,050: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.5081&lon=-0.1278000&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:47,144: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.5081&lon=-0.1278000&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:32:48,220: Row 591: Reverse geocoded lat=51.5081, lon=-0.1278 -> country=United Kingdom, city=City of Westminster, state=England +2025-05-21 06:32:49,171: Row 592: Reverse geocoded lat=32.3039, lon=-110.8368 -> country=United States, city=None, state=Arizona +2025-05-21 06:32:50,093: Row 594: Reverse geocoded lat=37.5453, lon=-77.9187 -> country=United States, city=Powhatan, state=Virginia +2025-05-21 06:32:51,168: Row 595: Reverse geocoded lat=30.6798, lon=-88.2914 -> country=United States, city=None, state=Alabama +2025-05-21 06:32:52,188: Row 596: Reverse geocoded lat=36.8178, lon=10.1656 -> country=Tunisia, city=Tunis, state=Tunis +2025-05-21 06:32:53,174: Row 597: Reverse geocoded lat=34.2635, lon=108.9246 -> country=China, city=Lianhu District, state=Shaanxi +2025-05-21 06:32:54,166: Row 598: Reverse geocoded lat=12.9753, lon=77.591 -> country=India, city=Bengaluru, state=Karnataka +2025-05-21 06:32:55,079: Row 599: Reverse geocoded lat=12.9753, lon=77.591 -> country=India, city=Bengaluru, state=Karnataka +2025-05-21 06:32:56,073: Row 600: Reverse geocoded lat=21.9974, lon=79.0011 -> country=India, city=Malhanwara, state=Madhya Pradesh +2025-05-21 06:32:57,009: Row 602: Reverse geocoded lat=-29.8553, lon=31.0428 -> country=South Africa, city=Durban, state=KwaZulu-Natal +2025-05-21 06:32:58,142: Row 603: Reverse geocoded lat=1.2872, lon=103.8507 -> country=Singapore, city=Singapore, state=None +2025-05-21 06:32:59,091: Row 604: Reverse geocoded lat=23.7207, lon=90.5635 -> country=Bangladesh, city=None, state=Dhaka Division +2025-05-21 06:33:00,155: Row 606: Reverse geocoded lat=51.5164, lon=-0.093 -> country=United Kingdom, city=City of London, state=England +2025-05-21 06:33:01,195: Row 607: Reverse geocoded lat=29.572, lon=-95.54 -> country=United States, city=Missouri City, state=Texas +2025-05-21 06:33:02,031: Row 609: Reverse geocoded lat=37.751, lon=-97.822 -> country=United States, city=None, state=Kansas +2025-05-21 06:33:03,096: Row 610: Reverse geocoded lat=18.5211, lon=73.8502 -> country=India, city=Pune, state=Maharashtra +2025-05-21 06:33:04,228: Row 611: Reverse geocoded lat=18.5211, lon=73.8502 -> country=India, city=Pune, state=Maharashtra +2025-05-21 06:33:05,147: Row 612: Reverse geocoded lat=40.2584, lon=-111.6591 -> country=United States, city=Provo, state=Utah +2025-05-21 06:33:06,139: Row 613: Reverse geocoded lat=37.4073, lon=-121.939 -> country=United States, city=San Jose, state=California +2025-05-21 06:33:07,134: Row 614: Reverse geocoded lat=22.2904, lon=70.7915 -> country=India, city=Rajkot, state=Gujarat +2025-05-21 06:33:08,126: Row 615: Reverse geocoded lat=37.9448, lon=-122.0279 -> country=United States, city=Concord, state=California +2025-05-21 06:33:09,246: Row 617: Reverse geocoded lat=34.2619, lon=-6.5821 -> country=Morocco, city=Kenitra, state=None +2025-05-21 06:33:10,158: Row 619: Reverse geocoded lat=45.3696, lon=-73.5654 -> country=Canada, city=Saint-Constant, state=Quebec +2025-05-21 06:33:11,127: Row 620: Reverse geocoded lat=19.0748, lon=72.8856 -> country=India, city=Mumbai, state=Maharashtra +2025-05-21 06:33:12,055: Row 621: Reverse geocoded lat=-23.5475, lon=-46.6361 -> country=Brazil, city=São Paulo, state=São Paulo +2025-05-21 06:33:13,134: Row 622: Reverse geocoded lat=55.6523, lon=12.0805 -> country=Denmark, city=Roskilde, state=Region Zealand +2025-05-21 06:33:14,059: Row 623: Reverse geocoded lat=-33.914, lon=18.4129 -> country=South Africa, city=Cape Town, state=Western Cape +2025-05-21 06:33:15,314: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=49.6113&lon=6.1294&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:33:16,173: Row 625: Reverse geocoded lat=49.6113, lon=6.1294 -> country=Luxembourg, city=Luxembourg, state=None +2025-05-21 06:33:17,144: Row 626: Reverse geocoded lat=-26.2309, lon=28.0583 -> country=South Africa, city=Johannesburg, state=Gauteng +2025-05-21 06:33:18,159: Row 627: Reverse geocoded lat=30.7339, lon=76.7889 -> country=India, city=Chandigarh, state=Chandigarh +2025-05-21 06:33:19,101: Row 628: Reverse geocoded lat=40.7547, lon=-73.9614 -> country=United States, city=New York, state=New York +2025-05-21 06:33:20,165: Row 629: Reverse geocoded lat=51.5081, lon=-0.1278 -> country=United Kingdom, city=City of Westminster, state=England +2025-05-21 06:33:21,085: Row 630: Reverse geocoded lat=31.2222, lon=121.4581 -> country=China, city=Shanghai, state=Shanghai +2025-05-21 06:33:22,096: Row 631: Reverse geocoded lat=31.2222, lon=121.4581 -> country=China, city=Shanghai, state=Shanghai +2025-05-21 06:33:23,172: Row 633: Reverse geocoded lat=9.0245, lon=38.7485 -> country=Ethiopia, city=None, state=Addis Ababa +2025-05-21 06:33:24,049: Row 634: Reverse geocoded lat=1, lon=38 -> country=Kenya, city=Waso ward, state=Samburu +2025-05-21 06:33:25,067: Row 635: Reverse geocoded lat=-22.1231, lon=-51.3881 -> country=Brazil, city=Presidente Prudente, state=São Paulo +2025-05-21 06:33:26,108: Row 636: Reverse geocoded lat=40.6036, lon=-3.7041 -> country=Spain, city=Tres Cantos, state=Community of Madrid +2025-05-21 06:33:27,099: Row 637: Reverse geocoded lat=33.1371, lon=-96.7488 -> country=United States, city=Frisco, state=Texas +2025-05-21 06:33:28,178: Row 638: Reverse geocoded lat=39.7593, lon=-104.9651 -> country=United States, city=Denver, state=Colorado +2025-05-21 06:33:29,096: Row 639: Reverse geocoded lat=13.0895, lon=80.2739 -> country=India, city=Chennai, state=Tamil Nadu +2025-05-21 06:33:30,217: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=36.1898&lon=44.0157&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:33:31,034: Row 640: Reverse geocoded lat=36.1898, lon=44.0157 -> country=Iraq, city=Erbil, state=Erbil Governorate +2025-05-21 06:33:32,040: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=37.2845&lon=-107.8646&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:33:33,127: Row 641: Reverse geocoded lat=37.2845, lon=-107.8646 -> country=United States, city=Durango, state=Colorado +2025-05-21 06:33:34,126: Row 642: Reverse geocoded lat=35.9825, lon=-78.5376 -> country=United States, city=Wake Forest, state=North Carolina +2025-05-21 06:33:35,098: Row 643: Reverse geocoded lat=-14.785, lon=-39.2785 -> country=Brazil, city=Itabuna, state=Bahia +2025-05-21 06:33:36,135: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-14.785&lon=-39.2785&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:33:37,095: Row 644: Reverse geocoded lat=-14.785, lon=-39.2785 -> country=Brazil, city=Itabuna, state=Bahia +2025-05-21 06:33:38,100: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.3904&lon=-0.0992000&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:33:39,138: Row 648: Reverse geocoded lat=51.3904, lon=-0.0992 -> country=United Kingdom, city=London, state=England +2025-05-21 06:33:40,142: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=11.0102&lon=76.9701&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:33:41,193: Row 649: Reverse geocoded lat=11.0102, lon=76.9701 -> country=India, city=Coimbatore, state=Tamil Nadu +2025-05-21 06:33:42,021: Row 650: Reverse geocoded lat=-22.4851, lon=-47.1733 -> country=Brazil, city=Engenheiro Coelho, state=São Paulo +2025-05-21 06:33:43,203: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.9171&lon=24.7158&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:33:44,162: Row 652: Reverse geocoded lat=48.9171, lon=24.7158 -> country=Ukraine, city=Ivano-Frankivsk, state=Ivano-Frankivsk Oblast +2025-05-21 06:33:45,168: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.8558&lon=2.3494&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:33:46,178: Row 653: Reverse geocoded lat=48.8558, lon=2.3494 -> country=France, city=Paris, state=Ile-de-France +2025-05-21 06:33:47,182: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-6.3088&lon=107.316&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:33:48,153: Row 654: Reverse geocoded lat=-6.3088, lon=107.316 -> country=Indonesia, city=Karawang, state=West Java +2025-05-21 06:33:49,151: Row 655: Reverse geocoded lat=43.6547, lon=-79.3623 -> country=Canada, city=Toronto, state=Ontario +2025-05-21 06:33:50,154: Row 657: Reverse geocoded lat=45.4722, lon=9.1922 -> country=Italy, city=Milan, state=Lombardy +2025-05-21 06:33:51,149: Row 658: Reverse geocoded lat=39.338, lon=-82.986 -> country=United States, city=Chillicothe, state=Ohio +2025-05-21 06:33:52,164: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=22.2842&lon=114.1759&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:33:53,119: Row 659: Reverse geocoded lat=22.2842, lon=114.1759 -> country=China, city=Hong Kong Island, state=Hong Kong +2025-05-21 06:33:54,091: Row 660: Reverse geocoded lat=17.3843, lon=78.4583 -> country=India, city=Hyderabad, state=Telangana +2025-05-21 06:33:55,060: Row 661: Reverse geocoded lat=25.0734, lon=55.2979 -> country=United Arab Emirates, city=None, state=Dubai +2025-05-21 06:33:56,075: Row 662: Reverse geocoded lat=7.3782, lon=3.9062 -> country=Nigeria, city=None, state=Oyo State +2025-05-21 06:33:57,072: Row 663: Reverse geocoded lat=-31.8544, lon=115.8433 -> country=Australia, city=None, state=Western Australia +2025-05-21 06:33:58,136: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=55.6078&lon=12.9982&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:33:59,022: Row 664: Reverse geocoded lat=55.6078, lon=12.9982 -> country=Sweden, city=Malmö, state=None +2025-05-21 06:34:00,027: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=55.6078&lon=12.9982&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:01,017: Row 665: Reverse geocoded lat=55.6078, lon=12.9982 -> country=Sweden, city=Malmö, state=None +2025-05-21 06:34:02,020: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.2049&lon=16.3662&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:03,130: Row 667: Reverse geocoded lat=48.2049, lon=16.3662 -> country=Austria, city=Vienna, state=None +2025-05-21 06:34:04,134: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=53.5466&lon=10.021&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:05,028: Row 668: Reverse geocoded lat=53.5466, lon=10.021 -> country=Germany, city=Hamburg, state=None +2025-05-21 06:34:06,033: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=53.5247&lon=-7.3385&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:07,036: Row 669: Reverse geocoded lat=53.5247, lon=-7.3385 -> country=Ireland, city=Mullingar, state=None +2025-05-21 06:34:08,040: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=34.5329&lon=69.1682&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:09,149: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=34.5329&lon=69.1682&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:10,180: Row 670: Reverse geocoded lat=34.5329, lon=69.1682 -> country=Afghanistan, city=Kabul, state=Kabul Province +2025-05-21 06:34:11,115: Row 671: Reverse geocoded lat=59.3326, lon=18.0651 -> country=Sweden, city=Stockholm, state=None +2025-05-21 06:34:12,117: Row 672: Reverse geocoded lat=-31.8544, lon=115.8433 -> country=Australia, city=None, state=Western Australia +2025-05-21 06:34:13,143: Row 673: Reverse geocoded lat=-26.2309, lon=28.0583 -> country=South Africa, city=Johannesburg, state=Gauteng +2025-05-21 06:34:14,190: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.7169&lon=-1.9716&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:15,189: Row 674: Reverse geocoded lat=51.7169, lon=-1.9716 -> country=United Kingdom, city=Cotswold District, state=England +2025-05-21 06:34:16,111: Row 675: Reverse geocoded lat=19.0748, lon=72.8856 -> country=India, city=Mumbai, state=Maharashtra +2025-05-21 06:34:17,199: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-6.2056&lon=106.8376&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:18,107: Row 676: Reverse geocoded lat=-6.2056, lon=106.8376 -> country=Indonesia, city=Special capital Region of Jakarta, state=None +2025-05-21 06:34:19,111: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=47.409&lon=9.3361&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:20,173: Row 677: Reverse geocoded lat=47.409, lon=9.3361 -> country=Switzerland, city=St. Gallen, state=St. Gallen +2025-05-21 06:34:21,081: Row 678: Reverse geocoded lat=38.3802, lon=-75.6347 -> country=United States, city=None, state=Maryland +2025-05-21 06:34:22,046: Row 679: Reverse geocoded lat=19.0748, lon=72.8856 -> country=India, city=Mumbai, state=Maharashtra +2025-05-21 06:34:23,126: Row 681: Reverse geocoded lat=34.197, lon=-118.8199 -> country=United States, city=Thousand Oaks, state=California +2025-05-21 06:34:24,189: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=26.9136&lon=75.7858&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:25,044: Row 682: Reverse geocoded lat=26.9136, lon=75.7858 -> country=India, city=Jaipur, state=Rajasthan +2025-05-21 06:34:26,050: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-6.9172&lon=107.6296&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:27,069: Row 683: Reverse geocoded lat=-6.9172, lon=107.6296 -> country=Indonesia, city=Bandung City, state=West Java +2025-05-21 06:34:28,072: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=35.7681&lon=139.6258&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:29,116: Row 685: Reverse geocoded lat=35.7681, lon=139.6258 -> country=Japan, city=Nerima, state=None +2025-05-21 06:34:30,120: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=22.9505&lon=91.4608&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:31,051: Row 686: Reverse geocoded lat=22.9505, lon=91.4608 -> country=Bangladesh, city=Feni, state=Chittagong Division +2025-05-21 06:34:32,055: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=34.1211&lon=-117.4362&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:33,140: Row 687: Reverse geocoded lat=34.1211, lon=-117.4362 -> country=United States, city=Fontana, state=California +2025-05-21 06:34:34,135: Row 689: Reverse geocoded lat=-22.3135, lon=-42.8741 -> country=Brazil, city=Teresópolis, state=Rio de Janeiro +2025-05-21 06:34:35,144: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=32.8908&lon=13.1796&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:36,120: Row 690: Reverse geocoded lat=32.8908, lon=13.1796 -> country=Libya, city=Tripoli, state=Tripoli +2025-05-21 06:34:37,026: Row 691: Reverse geocoded lat=13.0895, lon=80.2739 -> country=India, city=Chennai, state=Tamil Nadu +2025-05-21 06:34:38,118: Row 692: Reverse geocoded lat=59.3287, lon=18.0717 -> country=Sweden, city=Stockholm, state=None +2025-05-21 06:34:39,129: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=16.2689&lon=-61.5073&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:40,073: Row 693: Reverse geocoded lat=16.2689, lon=-61.5073 -> country=France, city=Les Abymes, state=Guadeloupe +2025-05-21 06:34:41,076: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=14.6343&lon=-90.5155&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:42,143: Row 694: Reverse geocoded lat=14.6343, lon=-90.5155 -> country=Guatemala, city=Guatemala City, state=Guatemala Department +2025-05-21 06:34:43,097: Row 695: Reverse geocoded lat=-25.757, lon=28.1443 -> country=South Africa, city=Pretoria, state=Gauteng +2025-05-21 06:34:44,152: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=50.8713&lon=4.3758&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:45,112: Row 696: Reverse geocoded lat=50.8713, lon=4.3758 -> country=Belgium, city=Schaerbeek - Schaarbeek, state=None +2025-05-21 06:34:46,102: Row 698: Reverse geocoded lat=6.4474, lon=3.3903 -> country=Nigeria, city=Lagos, state=Lagos State +2025-05-21 06:34:47,119: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=33.6099&lon=73.0301&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:48,060: Row 699: Reverse geocoded lat=33.6099, lon=73.0301 -> country=Pakistan, city=Rawalpindi Cantonment, state=Punjab +2025-05-21 06:34:49,064: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=51.4964&lon=-0.1224000&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:50,061: Row 700: Reverse geocoded lat=51.4964, lon=-0.1224 -> country=United Kingdom, city=London, state=England +2025-05-21 06:34:51,046: Row 701: Reverse geocoded lat=33.6128, lon=-117.6622 -> country=United States, city=Mission Viejo, state=California +2025-05-21 06:34:52,037: Row 702: Reverse geocoded lat=28.6327, lon=77.2198 -> country=India, city=New Delhi, state=Delhi +2025-05-21 06:34:53,071: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-1.944&lon=30.062&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:54,102: Row 703: Reverse geocoded lat=-1.944, lon=30.062 -> country=Rwanda, city=Kigali, state=Kigali City +2025-05-21 06:34:55,071: Row 704: Reverse geocoded lat=31.9555, lon=35.9435 -> country=Jordan, city=None, state=Amman +2025-05-21 06:34:56,111: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=41.2615&lon=69.2177&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:57,076: Row 705: Reverse geocoded lat=41.2615, lon=69.2177 -> country=Uzbekistan, city=Tashkent, state=None +2025-05-21 06:34:58,087: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=-22.9072&lon=-43.1883&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:34:59,053: Row 706: Reverse geocoded lat=-22.9072, lon=-43.1883 -> country=Brazil, city=Rio de Janeiro, state=Rio de Janeiro +2025-05-21 06:35:00,057: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=35.6893&lon=139.6899&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:01,043: Row 707: Reverse geocoded lat=35.6893, lon=139.6899 -> country=Japan, city=Shinjuku, state=None +2025-05-21 06:35:02,050: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=30.9977&lon=29.7432&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:03,118: Row 708: Reverse geocoded lat=30.9977, lon=29.7432 -> country=Egypt, city=Al Wadi, state=Alexandria +2025-05-21 06:35:04,124: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=20.0024&lon=73.7945&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:05,042: Row 709: Reverse geocoded lat=20.0024, lon=73.7945 -> country=India, city=Nashik, state=Maharashtra +2025-05-21 06:35:06,046: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=28.6327&lon=77.2198&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:07,076: Row 712: Reverse geocoded lat=28.6327, lon=77.2198 -> country=India, city=New Delhi, state=Delhi +2025-05-21 06:35:08,080: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=18.1667&lon=-77.25&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:09,053: Row 714: Reverse geocoded lat=18.1667, lon=-77.25 -> country=Jamaica, city=None, state=None +2025-05-21 06:35:10,045: Row 715: Reverse geocoded lat=18.1667, lon=-77.25 -> country=Jamaica, city=None, state=None +2025-05-21 06:35:11,058: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=34.2635&lon=108.9246&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:12,107: Row 716: Reverse geocoded lat=34.2635, lon=108.9246 -> country=China, city=Lianhu District, state=Shaanxi +2025-05-21 06:35:13,112: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=9.0245&lon=38.7485&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:14,090: Row 717: Reverse geocoded lat=9.0245, lon=38.7485 -> country=Ethiopia, city=None, state=Addis Ababa +2025-05-21 06:35:15,094: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.8582&lon=2.3387&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:16,219: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.8582&lon=2.3387&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:17,242: Row 718: Reverse geocoded lat=48.8582, lon=2.3387 -> country=France, city=Paris, state=None +2025-05-21 06:35:18,209: Row 719: Reverse geocoded lat=48.8582, lon=2.3387 -> country=France, city=Paris, state=None +2025-05-21 06:35:19,250: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=48.8582&lon=2.3387&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:20,228: Row 720: Reverse geocoded lat=48.8582, lon=2.3387 -> country=France, city=Paris, state=None +2025-05-21 06:35:21,081: Row 721: Reverse geocoded lat=37.751, lon=-97.822 -> country=United States, city=None, state=Kansas +2025-05-21 06:35:22,084: Row 722: Reverse geocoded lat=51.5164, lon=-0.093 -> country=United Kingdom, city=City of London, state=England +2025-05-21 06:35:23,117: Row 723: Reverse geocoded lat=51.5164, lon=-0.093 -> country=United Kingdom, city=City of London, state=England +2025-05-21 06:35:24,076: Row 724: Reverse geocoded lat=24.1844, lon=88.2673 -> country=India, city=Murshidabad, state=West Bengal +2025-05-21 06:35:25,245: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=49.0719&lon=17.4638&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:26,063: Row 725: Reverse geocoded lat=49.0719, lon=17.4638 -> country=Czechia, city=Uherské Hradiště, state=Central Moravia +2025-05-21 06:35:27,066: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=39.1994&lon=-84.526&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:28,048: Row 726: Reverse geocoded lat=39.1994, lon=-84.526 -> country=United States, city=Cincinnati, state=Ohio +2025-05-21 06:35:29,058: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=23.0276&lon=72.5871&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:30,181: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=23.0276&lon=72.5871&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:31,148: Row 727: Reverse geocoded lat=23.0276, lon=72.5871 -> country=India, city=Ahmedabad, state=Gujarat +2025-05-21 06:35:32,083: Row 728: Reverse geocoded lat=12.9753, lon=77.591 -> country=India, city=Bengaluru, state=Karnataka +2025-05-21 06:35:33,115: Row 729: Reverse geocoded lat=12.9753, lon=77.591 -> country=India, city=Bengaluru, state=Karnataka +2025-05-21 06:35:34,141: Row 731: Reverse geocoded lat=34.7599, lon=113.6459 -> country=China, city=Zhengzhou, state=Henan +2025-05-21 06:35:35,069: Row 732: Reverse geocoded lat=19.4324, lon=-99.1229 -> country=Mexico, city=Mexico City, state=Mexico City +2025-05-21 06:35:36,162: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=45.4722&lon=9.1922&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:37,171: Row 733: Reverse geocoded lat=45.4722, lon=9.1922 -> country=Italy, city=Milan, state=Lombardy +2025-05-21 06:35:38,131: Row 734: Reverse geocoded lat=29.1383, lon=-80.9956 -> country=United States, city=Port Orange, state=Florida +2025-05-21 06:35:39,127: Row 735: Reverse geocoded lat=45.4722, lon=9.1922 -> country=Italy, city=Milan, state=Lombardy +2025-05-21 06:35:40,054: Row 736: Reverse geocoded lat=35.6893, lon=139.6899 -> country=Japan, city=Shinjuku, state=None +2025-05-21 06:35:41,169: Row 737: Reverse geocoded lat=38.8574, lon=-77.1 -> country=United States, city=Arlington, state=Virginia +2025-05-21 06:35:42,189: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)")': /reverse?lat=23.7891&lon=90.4126&format=json&accept-language=en-US&addressdetails=1 +2025-05-21 06:35:43,127: Row 739: Reverse geocoded lat=23.7891, lon=90.4126 -> country=Bangladesh, city=Dhaka, state=Dhaka Division +2025-05-21 06:35:43,159: Created columns 'Country', 'City', and 'State' with reverse geocoded data. +2025-05-21 06:35:43,429: Cleaned data written to /Users/T.Martin/Projects/reporting_doc_feedback/data_exports/cleaned_data.xlsx +2025-05-21 06:35:43,429: Script completed successfully. diff --git a/content/includes/installation/add-nms-repo.md b/content/includes/installation/add-nms-repo.md index fec0ae06f..eac86faa7 100644 --- a/content/includes/installation/add-nms-repo.md +++ b/content/includes/installation/add-nms-repo.md @@ -36,23 +36,39 @@ Add the NGINX Instance Manager repository: {{%tab name="Debian, Ubuntu, Deb-Based"%}} -Add the NGINX Instance Manager repository: - -- **Debian** +1. Add the NGINX signing key: ```shell - printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://pkgs.nginx.com/nms/debian `lsb_release -cs` nginx-plus\n" | sudo tee /etc/apt/sources.list.d/nms.list - sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/files/90pkgs-nginx + wget -qO - https://cs.nginx.com/static/keys/nginx_signing.key \ + | gpg --dearmor \ + | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null ``` -
      +2. Add the NGINX Instance Manager repository: -- **Ubuntu** + - **Debian** - ```shell - printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://pkgs.nginx.com/nms/ubuntu `lsb_release -cs` nginx-plus\n" | sudo tee /etc/apt/sources.list.d/nms.list - sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/files/90pkgs-nginx - ``` + ```shell + printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ + https://pkgs.nginx.com/nms/debian $(lsb_release -cs) nginx-plus\n" | \ + sudo tee /etc/apt/sources.list.d/nms.list + + sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx \ + https://cs.nginx.com/static/files/90pkgs-nginx + ``` + +
      + + - **Ubuntu** + + ```shell + printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ + https://pkgs.nginx.com/nms/ubuntu $(lsb_release -cs) nginx-plus\n" | \ + sudo tee /etc/apt/sources.list.d/nms.list + + sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx \ + https://cs.nginx.com/static/files/90pkgs-nginx + ``` {{%/tab%}} {{}} diff --git a/content/includes/installation/clickhouse-defaults.md b/content/includes/installation/clickhouse-defaults.md deleted file mode 100644 index 0921b6ebb..000000000 --- a/content/includes/installation/clickhouse-defaults.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -docs: DOCS-1238 ---- - -{{}} - -| Configuration | Default | Notes | -|--------------------------|------------------------------------|-------| -| clickhouse.address | tcp://localhost:9000 | | -| clickhouse.username | | | -| clickhouse.password | | | -| clickhouse.tls_mode | false | | -| clickhouse.tls.address | tcp://localhost:9440 | | -| clickhouse.tls.skip_verify | false |`clickhouse.tls.skip_verify` should be used only for self-signed certificates and is never recommended for production use. When set to `true`, certificates are not verified, which exposes the connection to man-in-the-middle attacks. | -| clickhouse.tls.key_path | | | -| clickhouse.tls.cert_path | | | -| clickhouse.tls.ca_path | /etc/ssl/certs/ca-certificates.crt |The default value for `clickhouse.tls.ca_path` works out-of-the-box for Ubuntu and Debian. You'll need to [configure a different Certificate Authority](#tls) for other distributions. Refer to your distribution's documentation for additional information.| - -{{}} - -
      diff --git a/content/includes/nginx-plus/usage-tracking/overview.md b/content/includes/nginx-plus/usage-tracking/overview.md index 3a048abf9..85af6fb49 100644 --- a/content/includes/nginx-plus/usage-tracking/overview.md +++ b/content/includes/nginx-plus/usage-tracking/overview.md @@ -6,5 +6,5 @@ Start by installing NGINX Instance Manager on a dedicated host. Then, configure {{}} -To set up automatic reporting, [add your JWT-based license to NGINX Instance Manager]({{< ref "/nim/admin-guide/license/add-license.md#apply-jwt-license" >}}). This license can be downloaded from [MyF5](https://account.f5.com/myf5) if needed. +To set up automatic reporting, [add your JWT-based license to NGINX Instance Manager]({{< ref "/nim/admin-guide/add-license.md#apply-jwt-license" >}}). This license can be downloaded from [MyF5](https://account.f5.com/myf5) if needed. {{}} diff --git a/content/includes/nim/admin-guide/license/connected-install-license-note.md b/content/includes/nim/admin-guide/license/connected-install-license-note.md index 251043df4..9490e3fe3 100644 --- a/content/includes/nim/admin-guide/license/connected-install-license-note.md +++ b/content/includes/nim/admin-guide/license/connected-install-license-note.md @@ -4,4 +4,4 @@ docs: A valid license is required to make full use of all the features in NGINX Instance Manager. -Refer to the [Add a License]({{< ref "nim/admin-guide/license/add-license.md" >}}) topic for instructions on how to download and apply a trial license, subscription license, or Flexible Consumption Program license. \ No newline at end of file +Refer to the [Add a License]({{< ref "nim/admin-guide/add-license.md" >}}) topic for instructions on how to download and apply a trial license, subscription license, or Flexible Consumption Program license. \ No newline at end of file diff --git a/content/includes/nim/clickhouse/cli-skip-clickhouse.md b/content/includes/nim/clickhouse/cli-skip-clickhouse.md new file mode 100644 index 000000000..f4228b125 --- /dev/null +++ b/content/includes/nim/clickhouse/cli-skip-clickhouse.md @@ -0,0 +1,10 @@ +--- +docs: +files: +- content/nim/deploy/vm-bare-metal/install.md +- content/nim/disconnected/offline-install-guide.md +--- + +If you skip installing ClickHouse, you need NGINX Agent {{< lightweight-nim-nginx-agent-version >}}. + +After installation, make sure to [disable metrics collection]({{< ref "nim/system-configuration/configure-clickhouse.md#disable-metrics-collection" >}}) in the `/etc/nms/nms.conf` file. diff --git a/content/includes/nim/clickhouse/clickhouse-defaults.md b/content/includes/nim/clickhouse/clickhouse-defaults.md new file mode 100644 index 000000000..1848b75f7 --- /dev/null +++ b/content/includes/nim/clickhouse/clickhouse-defaults.md @@ -0,0 +1,23 @@ +--- +docs: DOCS-1238 +files: +- content/nim/system-configuration/configure-clickhouse.md +- content/nim/deploy/vm-bare-metal/install-nim-manual.md +--- + +{{}} + +| Configuration | Default | Notes | +|------------------------------|------------------------------------|-------| +| clickhouse.enable | true | Set to `false` to disable metrics collection and run NGINX Instance Manager in lightweight mode. Requires a service restart. | +| clickhouse.address | tcp://localhost:9000 | The address of the ClickHouse database. | +| clickhouse.username | | The username NGINX Instance Manager uses to connect to ClickHouse, if authentication is enabled. | +| clickhouse.password | | The password for the specified ClickHouse user. | +| clickhouse.tls_mode | false | Set to `true` to enable TLS for the ClickHouse connection. This setting will be deprecated in a future release. Use the `clickhouse.tls` section instead. | +| clickhouse.tls.address | tcp://localhost:9440 | The address NGINX Instance Manager uses to connect to ClickHouse over TLS. Format: `:`. | +| clickhouse.tls.skip_verify | false | Set to `true` to skip TLS certificate verification. Use only for self-signed certificates in non-production environments. | +| clickhouse.tls.key_path | | Path to the client TLS key file in PEM format. Required for client authentication. | +| clickhouse.tls.cert_path | | Path to the client TLS certificate file in PEM format. Required for client authentication. | +| clickhouse.tls.ca_path | /etc/ssl/certs/ca-certificates.crt | Path to the system Certificate Authority used to verify the server certificate. The default path works for Ubuntu and Debian. Use a CA bundle appropriate to your system. See [TLS configuration](#tls) for details. | + +{{}} diff --git a/content/includes/nim/clickhouse/clickhouse-install.md b/content/includes/nim/clickhouse/clickhouse-install.md new file mode 100644 index 000000000..961aed96b --- /dev/null +++ b/content/includes/nim/clickhouse/clickhouse-install.md @@ -0,0 +1,70 @@ +--- +docs: +files: +- content/nim/deploy/vm-bare-metal/install-nim-manual.md +--- + +NGINX Instance Manager uses [ClickHouse](https://clickhouse.com) to store metrics, events, alerts, and configuration settings. + +If you install ClickHouse and choose to set a password (the default is an empty string), you must add it to the `clickhouse.password` setting in the `/etc/nms/nms.conf` file. If the password is missing or incorrect, NGINX Instance Manager **will not start**. + +For instructions and additional configuration options, including TLS settings, see [Configure ClickHouse]({{< ref "nim/system-configuration/configure-clickhouse.md" >}}). + +NGINX Instance Manager requires ClickHouse version {{< clickhouse-version >}} or later. + + +Follow these steps to install and enable ClickHouse on supported Linux distributions. + +1. First, set up the repository. + + - For RPM-based systems (CentOS, RHEL): + + ```shell + sudo yum install -y yum-utils + sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo + ``` + + - For Debian-based systems (Debian, Ubuntu): + + ```shell + sudo apt-get install -y apt-transport-https ca-certificates dirmngr + GNUPGHOME=$(mktemp -d) + sudo GNUPGHOME="$GNUPGHOME" gpg --no-default-keyring --keyring /usr/share/keyrings/clickhouse-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 8919F6BD2B48D754 + sudo rm -r "$GNUPGHOME" + sudo chmod +r /usr/share/keyrings/clickhouse-keyring.gpg + + echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb lts main" | sudo tee /etc/apt/sources.list.d/clickhouse.list + sudo apt-get update + ``` + +2. Next, install the ClickHouse server and client: + + - For RPM-based systems (CentOS, RHEL): + + ```shell + sudo yum install -y clickhouse-server clickhouse-client + ``` + + - For Debian-based systems (Debian, Ubuntu): + + ```shell + sudo apt-get install -y clickhouse-server clickhouse-client + ``` + +3. Then, enable the ClickHouse service so it starts automatically on reboot: + + ```shell + sudo systemctl enable clickhouse-server + ``` + +4. Start the ClickHouse service: + + ```shell + sudo systemctl start clickhouse-server + ``` + +5. Finally, confirm the service is running: + + ```shell + sudo systemctl status clickhouse-server + ``` diff --git a/content/includes/nim/docker/docker-compose-env-vars.md b/content/includes/nim/docker/docker-compose-env-vars.md index c34e6e767..5fb837435 100644 --- a/content/includes/nim/docker/docker-compose-env-vars.md +++ b/content/includes/nim/docker/docker-compose-env-vars.md @@ -4,14 +4,15 @@ docs: {{}} | Variable | Category | Description | -|----------|----------|------------| +|----------|----------|-------------| +| **ENABLE_METRICS** | General | Enables or disables metrics collection and storage. Set to `false` to run in lightweight mode without ClickHouse. Defaults to `true`. | +| **NIM_MAINTENANCE** | General | Enables maintenance mode for backup, restore, and troubleshooting (`true` or `false`). | +| **NIM_LICENSE_MODE_OF_OPERATION** | General | Sets the license mode to either `connected` (default) or `disconnected`. | | **NIM_LOG_LEVEL** | General | Sets the logging level for NGINX Instance Manager. | | **NIM_METRICS_TTL** | General | Specifies the number of days to retain metrics. | | **NIM_EVENTS_TTL** | General | Specifies the number of days to retain event logs. | | **NIM_SECURITY_TTL** | General | Specifies the number of days to retain security violation logs. | -| **NIM_MAINTENANCE** | General | Enables maintenance mode for backup, restore, and troubleshooting (`true` or `false`). | | **NIM_WATCHDOG_TIMEOUT** | General | Sets the timeout (in seconds) for the Data Plane Monitoring (DPM) watchdog. | -| **NIM_LICENSE_MODE_OF_OPERATION** | General | Sets the license mode to either `connected` (default) or `disconnected`. | | **PROXY_ENABLE** | Forward Proxy | Enables or disables the use of a forward proxy (`true` or `false`). | | **PROXY_HOST** | Forward Proxy | The IP address or hostname of the proxy server. | | **PROXY_PORT** | Forward Proxy | The port number of the proxy server. | @@ -20,7 +21,6 @@ docs: | **PROXY_USERNAME** | Forward Proxy | (Required if `PROXY_AUTH_REQUIRED=true`) The username for proxy authentication. | | **PROXY_PASSWORD** | Forward Proxy | (Required if `PROXY_AUTH_REQUIRED=true`) The password for proxy authentication. | | **PROXY_SSL_VERIFY** | Forward Proxy | Enables or disables SSL verification when `PROXY_PROTOCOL=https`. Default is `true`, meaning the proxy must have a valid certificate issued by a trusted Certificate Authority (CA). Set to `false` to allow self-signed or untrusted certificates (not recommended). | - {{}} diff --git a/content/includes/nim/installation/install-script-flags/cert.md b/content/includes/nim/installation/install-script-flags/cert.md new file mode 100644 index 000000000..578f9ff2c --- /dev/null +++ b/content/includes/nim/installation/install-script-flags/cert.md @@ -0,0 +1,8 @@ +--- +docs: +files: +- content/nim/deploy/vm-bare-metal/install.md +- content/nim/disconnected/offline-install-guide.md +--- + +`-c `: Path to the SSL certificate file. (default: `/etc/ssl/nginx`) \ No newline at end of file diff --git a/content/includes/nim/installation/install-script-flags/clickhouse-version.md b/content/includes/nim/installation/install-script-flags/clickhouse-version.md new file mode 100644 index 000000000..aaf5e1849 --- /dev/null +++ b/content/includes/nim/installation/install-script-flags/clickhouse-version.md @@ -0,0 +1,8 @@ +--- +docs: +files: +- content/nim/deploy/vm-bare-metal/install.md +- content/nim/disconnected/offline-install-guide.md +--- + +`-v `: Install a specific version of ClickHouse. If not set, version `{{< clickhouse-version >}}` is installed by default. diff --git a/content/includes/nim/installation/install-script-flags/distribution.md b/content/includes/nim/installation/install-script-flags/distribution.md new file mode 100644 index 000000000..2d6c65cd3 --- /dev/null +++ b/content/includes/nim/installation/install-script-flags/distribution.md @@ -0,0 +1,14 @@ +--- +docs: +files: +- content/nim/deploy/vm-bare-metal/install.md +- content/nim/disconnected/offline-install-guide.md +--- + +`-d `: Target Linux distribution (for example, `ubuntu22.04`, `rhel8`) + +To see the list of supported distributions, run: + +```shell +grep '\-d distribution' install-nim-bundle.sh +``` \ No newline at end of file diff --git a/content/includes/nim/installation/install-script-flags/key.md b/content/includes/nim/installation/install-script-flags/key.md new file mode 100644 index 000000000..366786c45 --- /dev/null +++ b/content/includes/nim/installation/install-script-flags/key.md @@ -0,0 +1,8 @@ +--- +docs: +files: +- content/nim/deploy/vm-bare-metal/install.md +- content/nim/disconnected/offline-install-guide.md +--- + +`-k `: Path to the private key file. (default: `/etc/ssl/nginx`) diff --git a/content/includes/nim/installation/install-script-flags/skip-clickhouse.md b/content/includes/nim/installation/install-script-flags/skip-clickhouse.md new file mode 100644 index 000000000..93a61aeb7 --- /dev/null +++ b/content/includes/nim/installation/install-script-flags/skip-clickhouse.md @@ -0,0 +1,10 @@ +--- +docs: +files: +- content/nim/deploy/vm-bare-metal/install.md +- content/nim/disconnected/offline-install-guide.md +--- + +`-s`: Skip installing ClickHouse. This lightweight mode reduces system requirements and simplifies installation for users who do not need metrics. + +{{< include "nim/clickhouse/cli-skip-clickhouse.md" >}} \ No newline at end of file diff --git a/content/includes/nim/installation/optional-steps/configure-clickhouse.md b/content/includes/nim/installation/optional-steps/configure-clickhouse.md new file mode 100644 index 000000000..c2a086cd5 --- /dev/null +++ b/content/includes/nim/installation/optional-steps/configure-clickhouse.md @@ -0,0 +1,23 @@ +--- +docs: +files: +- content/nim/deploy/vm-bare-metal/install.md +- content/nim/deploy/vm-bare-metal/install-nim-manual.md +- content/nim/disconnected/offline-install-guide.md +- content/nim/disconnected/offline-install-guide-manual.md +--- + +If you installed ClickHouse and set a password (the default is an empty string), you must add it to the `clickhouse.password` setting in the `/etc/nms/nms.conf` file after installing NGINX Instance Manager. If the password is missing or incorrect, NGINX Instance Manager will not start. + +You can also configure additional ClickHouse settings in the same section: + +- `clickhouse.username` – the username used to connect to ClickHouse +- `clickhouse.address` – the address of the ClickHouse server (default is `tcp://localhost:9000`) +- `clickhouse.tls_mode` – set to `true` to enable TLS +- TLS certificate settings, such as: + - `clickhouse.tls.cert_path` + - `clickhouse.tls.key_path` + - `clickhouse.tls.ca_path` + - `clickhouse.tls.skip_verify` + +For more details, see [Configure ClickHouse]({{< ref "nim/system-configuration/configure-clickhouse.md" >}}). \ No newline at end of file diff --git a/content/includes/nim/installation/optional-steps/configure-selinux.md b/content/includes/nim/installation/optional-steps/configure-selinux.md new file mode 100644 index 000000000..730c97811 --- /dev/null +++ b/content/includes/nim/installation/optional-steps/configure-selinux.md @@ -0,0 +1,12 @@ +--- +docs: +files: +- content/nim/deploy/vm-bare-metal/install-nim-manual.md +- content/nim/deploy/vm-bare-metal/install.md +- content/nim/disconnected/offline-install-guide-manual.md +- content/nim/disconnected/offline-install-guide.md +--- + +SELinux helps secure your deployment by enforcing mandatory access control policies. + +If you use SELinux, follow the steps in the [Configure SELinux]({{< ref "/nim/system-configuration/configure-selinux.md" >}}) guide to restore SELinux contexts (`restorecon`) for the files and directories related to NGINX Instance Manager. diff --git a/content/includes/nim/installation/optional-steps/disable-metrics-collection.md b/content/includes/nim/installation/optional-steps/disable-metrics-collection.md new file mode 100644 index 000000000..9ccd93654 --- /dev/null +++ b/content/includes/nim/installation/optional-steps/disable-metrics-collection.md @@ -0,0 +1,11 @@ +--- +docs: +files: +- content/nim/deploy/vm-bare-metal/install.md +- content/nim/disconnected/offline-install-guide-manual.md +- content/nim/disconnected/offline-install-guide.md +--- + +If you’re not collecting metrics—because you didn’t install ClickHouse or don’t plan to use it—you must disable metrics collection in the `/etc/nms/nms.conf` file. This setup requires NGINX Agent version {{< lightweight-nim-nginx-agent-version >}}. + +For instructions, see [Disable metrics collection]({{< ref "nim/system-configuration/configure-clickhouse.md#disable-metrics-collection" >}}). \ No newline at end of file diff --git a/content/includes/nim/installation/optional-steps/install-configure-vault.md b/content/includes/nim/installation/optional-steps/install-configure-vault.md new file mode 100644 index 000000000..6d39a002a --- /dev/null +++ b/content/includes/nim/installation/optional-steps/install-configure-vault.md @@ -0,0 +1,16 @@ +--- +docs: +files: +- content/nim/deploy/vm-bare-metal/install-nim-manual.md +- content/nim/deploy/vm-bare-metal/install.md +- content/nim/disconnected/offline-install-guide-manual.md +- content/nim/disconnected/offline-install-guide.md +--- + +NGINX Instance Manager can use [Vault](https://www.vaultproject.io/) as a datastore for secrets. + +To install and enable Vault, follow these steps: + +- Follow Vault's instructions to [install Vault 1.8.8 or later](https://www.vaultproject.io/docs/install) for your distribution. +- Ensure you're running Vault in a [production-hardened environment](https://learn.hashicorp.com/tutorials/vault/production-hardening). +- After installing NGINX Instance Manager, follow the steps to [configure Vault for storing secrets]({{< ref "/nim/system-configuration/configure-vault.md" >}}). diff --git a/content/includes/nim/kubernetes/nms-chart-supported-module-versions.md b/content/includes/nim/kubernetes/nms-chart-supported-module-versions.md index f55e661b5..21811f7d4 100644 --- a/content/includes/nim/kubernetes/nms-chart-supported-module-versions.md +++ b/content/includes/nim/kubernetes/nms-chart-supported-module-versions.md @@ -6,6 +6,7 @@ docs: DOCS-1324 | NGINX Instance Manager chart | Instance Manager | |------------------------------|------------------| +| 2.0.0 | 2.20.0 | | 1.15.0 | 2.18.0 | | 1.14.4 | 2.17.4 | | 1.14.0 | 2.17.0 | diff --git a/content/includes/nim/tech-specs/supported-distros.md b/content/includes/nim/tech-specs/supported-distros.md index 35e62cdc2..632059861 100644 --- a/content/includes/nim/tech-specs/supported-distros.md +++ b/content/includes/nim/tech-specs/supported-distros.md @@ -1,5 +1,7 @@ --- docs: DOCS-1071 +files: +- content/nim/fundamentals/tech-specs.md --- The following table lists the Linux distributions supported by NGINX Instance Manager and NGINX App Protect: diff --git a/content/includes/nim/tech-specs/supported-nginx-versions.md b/content/includes/nim/tech-specs/supported-nginx-versions.md index cc6d9d4f9..ddabfd9b2 100644 --- a/content/includes/nim/tech-specs/supported-nginx-versions.md +++ b/content/includes/nim/tech-specs/supported-nginx-versions.md @@ -1,5 +1,7 @@ --- docs: DOCS-1075 +files: +- content/nim/fundamentals/tech-specs.md --- NGINX Instance Manager supports the following NGINX Open Source and NGINX Plus versions: @@ -8,7 +10,7 @@ NGINX Instance Manager supports the following NGINX Open Source and NGINX Plus v | NGINX Instance Manager | NGINX OSS | NGINX Plus | | ---------------------- | ----------- | ---------- | -| 2.18.0 and later | 1.18–1.25.1 | R31–R33 | +| 2.18.0 and later | 1.18–1.28.0 | R31–R34 | | 2.16.0–2.17.x | 1.18–1.25.1 | R31–R32 | | 2.7.0–2.15.x | 1.18–1.25.1 | R21–R30 | | 2.0.0–2.6.0 | 1.18–1.21.6 | R21–R27 | diff --git a/content/nim/admin-guide/_index.md b/content/nim/admin-guide/_index.md index 5dafe4707..431e4278e 100644 --- a/content/nim/admin-guide/_index.md +++ b/content/nim/admin-guide/_index.md @@ -1,5 +1,5 @@ --- -title: Platform administration +title: Administer your platform weight: 40 url: /nginx-instance-manager/admin-guide/ --- \ No newline at end of file diff --git a/content/nim/admin-guide/license/add-license.md b/content/nim/admin-guide/add-license.md similarity index 88% rename from content/nim/admin-guide/license/add-license.md rename to content/nim/admin-guide/add-license.md index 09373655f..7d9aa0f2a 100644 --- a/content/nim/admin-guide/license/add-license.md +++ b/content/nim/admin-guide/add-license.md @@ -1,12 +1,14 @@ --- docs: DOCS-789 -title: Add license +title: Add a license (connected) toc: true -weight: 1 +weight: 10 type: - how-to --- +{{< note >}}For disconnected environments, see [Add a license (disconnected)]({{< ref "nim/disconnected/add-license-disconnected-deployment.md" >}}).{{< /note >}} + ## Overview To unlock all of the features in NGINX Instance Manager, you’ll need to add a JSON Web Token (JWT) license from MyF5. This guide shows you how to set up your network for reporting, download the license file, and apply it to NGINX Instance Manager. If needed, you can also cancel the license at any time. diff --git a/content/nim/admin-guide/license/_index.md b/content/nim/admin-guide/license/_index.md deleted file mode 100644 index bdaf856b0..000000000 --- a/content/nim/admin-guide/license/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: License and usage reporting -weight: 1 -url: /nginx-instance-manager/admin-guide/license/ -cascade: - type: "nim-r33" ---- \ No newline at end of file diff --git a/content/nim/admin-guide/rbac/overview-rbac.md b/content/nim/admin-guide/rbac/overview-rbac.md index c49e14463..be72b3013 100644 --- a/content/nim/admin-guide/rbac/overview-rbac.md +++ b/content/nim/admin-guide/rbac/overview-rbac.md @@ -24,7 +24,7 @@ The following are essential concepts related to RBAC: ## Features {#features} -NGINX Instance Manager provides a range of capabilities called features, which system administrators can manage using role-based access control (RBAC). The availability of some features depends on your license. For more information on licensing, see the [Add a license]({{< ref "/nim/admin-guide/license/add-license.md" >}}) topic. +NGINX Instance Manager provides a range of capabilities called features, which system administrators can manage using role-based access control (RBAC). The availability of some features depends on your license. For more information on licensing, see the [Add a license]({{< ref "/nim/admin-guide/add-license.md" >}}) topic. ### NGINX Instance Manager features diff --git a/content/nim/admin-guide/license/report-usage-connected-deployment.md b/content/nim/admin-guide/report-usage-connected-deployment.md similarity index 85% rename from content/nim/admin-guide/license/report-usage-connected-deployment.md rename to content/nim/admin-guide/report-usage-connected-deployment.md index d57939516..6ce813807 100644 --- a/content/nim/admin-guide/license/report-usage-connected-deployment.md +++ b/content/nim/admin-guide/report-usage-connected-deployment.md @@ -1,8 +1,8 @@ --- -title: Report usage data to F5 +title: Report usage data to F5 (connected) draft: false description: '' -weight: 10 +weight: 20 toc: true docs: DOCS-1650 personas: @@ -14,6 +14,8 @@ type: - how-to --- +{{< note >}}For disconnected environments, see [Report usage data to F5 (disconnected)]({{< ref "nim/disconnected/report-usage-disconnected-deployment.md" >}}).{{< /note >}} + ## Overview In environments where NGINX Instance Manager has internet access but NGINX Plus doesn’t, NGINX Plus sends usage data to NGINX Instance Manager. NGINX Instance Manager will automatically send the usage reports to F5 for verification, or you can choose to send them manually. @@ -22,8 +24,6 @@ In environments where NGINX Instance Manager has internet access but NGINX Plus See the steps below to configure NGINX Plus to report usage data to NGINX Instance Manager and how to submit the report to F5 for verification. -{{}}If your deployment of NGINX Instance Manager doesn’t allow internet access, follow the steps in [Report usage data in network-restricted environments]({{< ref "nim/disconnected/report-usage-disconnected-deployment.md" >}}) to report usage data to F5.{{}} - --- ## Before you begin @@ -49,7 +49,7 @@ To configure NGINX Plus (R33 and later) to report usage data to NGINX Instance M ### Automatic reporting -When you [add your JSON Web Token (JWT)]({{< ref "nim/admin-guide/license/add-license.md" >}}) to NGINX Instance Manager, usage reporting is enabled by default. +When you [add your JSON Web Token (JWT)]({{< ref "nim/admin-guide/add-license.md" >}}) to NGINX Instance Manager, usage reporting is enabled by default. NGINX Instance Manager will automatically report subscription entitlement and usage data to F5 if internet access is available. diff --git a/content/nim/deploy/_index.md b/content/nim/deploy/_index.md index 0cd726566..37404e495 100644 --- a/content/nim/deploy/_index.md +++ b/content/nim/deploy/_index.md @@ -1,5 +1,5 @@ --- -title: Deploy +title: Deploy in a connected environment description: weight: 20 url: /nginx-instance-manager/deploy/ diff --git a/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md b/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md index aba19ad72..8e8a3fe99 100644 --- a/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md +++ b/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md @@ -10,48 +10,67 @@ type: ## Overview -This guide will show you how to deploy and use F5 NGINX Instance Manager in Docker using [Docker Compose](https://docs.docker.com/compose/). +This guide shows you how to run NGINX Instance Manager using [Docker Compose](https://docs.docker.com/compose/). -This NGINX Instance Manager docker compose deployment is a single Docker image containing NGINX Instance Manager, Security Monitoring, and the latest App Protect compilers, which is orchestrated using a Docker Compose docker-compose.yaml definition. +You can deploy it in two ways: -The ClickHouse database is deployed in a separate container to improve resilience and make this a fault tolerant solution. You can also configure persistent storage +- **Standard mode** includes full metrics and dashboards. This setup runs ClickHouse in a separate container. +- **Lightweight mode** (new in 2.20.0) skips ClickHouse entirely. It’s ideal if you don’t need monitoring data or want a simpler setup. This reduces system requirements and avoids the work of managing a metrics database. You can add ClickHouse later if your needs change. + +Both modes use a pre-built Docker image that includes NGINX Instance Manager, Security Monitoring, and the latest NGINX App Protect compilers. + +If you use the standard setup, ClickHouse runs in its own container. This helps with fault tolerance and keeps data separate. You can also use persistent storage. --- ## What you need -- A working version of [Docker](https://docs.docker.com/get-docker/) -- Your NGINX Instance Manager subscription's JSON Web Token from [MyF5](https://my.f5.com/manage/s/subscriptions) You can use the same JSON Web Token as NGINX Plus in your MyF5 portal. -- This pre-configured `docker-compose.yaml` file: - - {{}} {{}}. +Before you begin, make sure you have the following: + +- [Docker](https://docs.docker.com/get-docker/) installed on your system. +- A JSON Web Token (JWT) from your [MyF5 subscriptions page](https://my.f5.com/manage/s/subscriptions). This is the same token used for NGINX Plus. +- The right `docker-compose.yaml` file for your setup: + - For **standard mode** (with metrics and dashboards): + {{}} {{}} + - For **lightweight mode** (no ClickHouse, no metrics): + {{}} {{}} + +{{< note >}} If you're not sure which one to use, start with lightweight mode. You can always switch later by changing the Compose file and setting `ENABLE_METRICS: "true"`.{{< /note >}} --- ## Minimum requirements -Deploying NGINX Instance Manager with docker requires a minimum of 4 CPU cores and 4 GB of memory for basic use cases. However, every environment is unique, primarily due to variations in the NGINX configurations being managed. For instance, managing NGINX instances with hundreds of configuration files or those with WAF (NGINX App Protect) enabled can significantly increase resource demands. +Your system needs enough resources to run NGINX Instance Manager based on the mode you choose: + +| Deployment mode | CPU cores | Memory | ClickHouse required | +|-----------------|-----------|--------|---------------------| +| Standard | 4 | 4 GB | Yes | +| Lightweight | (Lower) | (Lower)| No | -If your use case is limited to usage tracking without active management or agent communication, the minimum requirements should suffice. For more complex deployments, we recommend reviewing the technical specifications guide to ensure the resources allocated are sufficient to handle an increased workload, particularly for the ClickHouse database, which may need to manage a higher volume of reads and writes. +Standard mode requires a minimum of 4 CPU cores and 4 GB of memory. This setup includes ClickHouse, which handles metrics and dashboards. Depending on your NGINX footprint, you may need more resources, especially for environments with many configuration files or NGINX App Protect enabled. + +Lightweight mode removes ClickHouse, which lowers memory and CPU usage. While there’s no official minimum, users with basic instance management needs may see success with fewer resources. Test in your environment before committing to a smaller footprint. + +{{< note >}} If you're not sure which mode to use, start with lightweight mode. It's easier to set up, and you can switch to standard mode later by reintroducing ClickHouse. {{< /note >}} ## Before you start {{< include "/nim/decoupling/note-legacy-nms-references.md" >}} -### Set up Docker for NGINX container registry +### Log in to the NGINX container registry -To set up Docker to communicate with the NGINX container registry located at `private-registry.nginx.com`, follow these steps: +Both standard and lightweight deployments use a private image hosted at `private-registry.nginx.com`. You need to log in before running Docker Compose. -{{< include "/nim/docker/docker-registry-login.md" >}} +To set up Docker to communicate with the NGINX container registry: -### Compose deployment - -{{}} +{{< include "/nim/docker/docker-registry-login.md" >}} -If you are configuring a **forward proxy**, follow the steps in the [Forward Proxy Configuration Guide]({{< ref "nim/system-configuration/configure-forward-proxy.md" >}}) to modify `docker-compose.yaml` with the correct proxy settings **before** deploying NGINX Instance Manager. +### Deploy NGINX Instance Manager -{{}} +If you're using a forward proxy, update the Compose file **before** deploying. Follow the steps in the [Forward Proxy Configuration Guide]({{< ref "nim/system-configuration/configure-forward-proxy.md" >}}). -Go to the directory where you downloaded `docker-compose.yaml`. Use the following commands to log in to `private-registry.nginx.com` and deploy NGINX Instance Manager. +Go to the directory where you downloaded your `docker-compose.yaml` file, and run the following commands: ```shell docker login private-registry.nginx.com --username= --password=none @@ -59,52 +78,84 @@ echo "admin" > admin_password.txt docker compose up -d ``` -If the deployment succeeds, you’ll see output similar to this: +The deployment output will vary depending on the mode: + +#### Standard mode (with metrics) ```text [+] Running 6/6 - ✔ Network nim_clickhouse Created 0.1s - ✔ Network nim_external_network Created 0.2s - ✔ Network nim_default Created 0.2s - ✔ Container nim-precheck-1 Started 0.8s - ✔ Container nim-clickhouse-1 Healthy 6.7s - ✔ Container nim-nim-1 Started 7.4s + ✔ Network nim_clickhouse Created + ✔ Network nim_external_network Created + ✔ Network nim_default Created + ✔ Container nim-precheck-1 Started + ✔ Container nim-clickhouse-1 Healthy + ✔ Container nim-nim-1 Started ``` +#### Lightweight mode (no ClickHouse) + +```text +[+] Running 3/3 + ✔ Network nim_default Created + ✔ Network nim_external_network Created + ✔ Container nim-nim-1 Started +``` + +In lightweight mode, only the NGINX Instance Manager service runs. ClickHouse and related containers are removed by design. + ### Supported environment variables +You can control Instance Manager behavior by setting environment variables in the `docker-compose.yaml` file. Here’s a summary of commonly used variables: + {{< include "nim/docker/docker-compose-env-vars.md" >}} -
      +### Stop or remove services -{{}} -For details on configuring a forward proxy, see the [Forward Proxy Configuration Guide]({{< ref "nim/system-configuration/configure-forward-proxy.md" >}}). -{{}} +To stop NGINX Instance Manager, go to the directory where you downloaded your `docker-compose.yaml` file. -### Compose stop or tear down +If you used `docker compose up -d` to start services: -Navigate to the directory where you downloaded `docker-compose.yaml`. If you started NIM with `docker compose up -d`, stop NIM services once you've finished with them by running `docker compose stop`. You can bring everything down, removing the containers entirely, with the `docker compose down` command. +- Run `docker compose stop` to pause the containers +- Run `docker compose down` to remove them completely ```shell docker compose down ``` -``` + +The shutdown output will vary depending on the mode: + +#### Standard mode (with metrics) + +```text [+] Running 6/6 - ✔ Container nim-nim-1 Removed 30.6s - ✔ Container nim-clickhouse-1 Removed 1.4s - ✔ Container nim-precheck-1 Removed 0.0s - ✔ Network nim_default Removed 0.9s - ✔ Network nim_external_network Removed 0.4s - ✔ Network nim_clickhouse Removed 0.6s + ✔ Container nim-nim-1 Removed + ✔ Container nim-clickhouse-1 Removed + ✔ Container nim-precheck-1 Removed + ✔ Network nim_default Removed + ✔ Network nim_external_network Removed + ✔ Network nim_clickhouse Removed +``` + +#### Lightweight mode (no ClickHouse) + +```text +[+] Running 3/3 + ✔ Container nim-nim-1 Removed + ✔ Network nim_default Removed + ✔ Network nim_external_network Removed ``` +In lightweight mode, only the core service and networks are removed. ClickHouse and precheck containers aren’t present. + --- ## Secrets -In the same `docker-compose.yaml` file, you can modify the following credentials: +You can define secrets in the `docker-compose.yaml` file to set the admin password, optional access credentials, and TLS certificates. + +### Required -Set the admin password (required) +Set the admin password: ```yaml secrets: @@ -112,14 +163,17 @@ secrets: file: admin_password.txt ``` -Pass a custom `.htpasswd` file (Optional) +### Optional + +Use a custom `.htpasswd` file to control access to the user interface: ```yaml +secrets: nim_credential_file: file: nim_creds.txt ``` -Optionally, you can also set the external SSL certificate, key, and CA files, in PEM format for the NGINX Instance Manager Ingress proxy. +Use your own TLS certificate, key, and CA file for the ingress proxy: ```yaml secrets: @@ -135,64 +189,122 @@ secrets: ## Backup -Once you've set up your Docker containers, use the following command to back them up: +You can create a backup of NGINX Instance Manager at any time using the built-in `nim-backup` command. This works for both standard and lightweight deployments. + +Run the following command from your Docker host: ```shell -~$ docker exec nim-nim-1 nim-backup -... -Backup has been successfully created: /data/backup/nim-backup-.tgz +docker exec nim-nim-1 nim-backup ``` -If your system uses named volumes, inspect the `Mountpoint`. Alternatively, if you're using a shared NFS volume, then collect the data directly from the mount point. +If successful, you’ll see a message like: -```shell -~/compose$ docker inspect volume nim_nim-data | jq '.[0].Mountpoint' -"/var/lib/docker/volumes/nim_nim-data/_data" -ubuntu@ip-
      :~/compose$ sudo ls -l /var/lib/docker/volumes/nim_nim-data/_data/backup --rw-r--r-- 1 root root 5786953 Sep 27 02:03 nim-backup-.tgz +```text +Backup has been successfully created: /data/backup/nim-backup-.tgz ``` +To locate the backup file: + +- **If using named volumes** + + Inspect the volume to find its mount point: + + ```shell + docker inspect volume nim_nim-data | jq '.[0].Mountpoint' + ``` + + Then list the backup directory: + + ```shell + sudo ls -l /var/lib/docker/volumes/nim_nim-data/_data/backup + ``` + + Example output: + + ```text + -rw-r--r-- 1 root root 5786953 Sep 27 02:03 nim-backup-2024-06-11.tgz + ``` + +- **If using NFS** + + Check the mount path directly, such as: + + ```shell + ls -l /mnt/nfs_share/data/backup + ``` + + --- ## Restore -Before you can restore a backup, set your containers to maintenance mode in the same `docker-compose.yaml` file: +To restore a backup, follow these steps: -```yaml +1. Enable maintenance mode: + + In your `docker-compose.yaml` file, set the following: + + ```yaml environment: NIM_MAINTENANCE: "true" -``` + ``` -```shell -~$ docker exec nim-nim-1 nim-restore /data/backup/nim-backup-.tgz -... -NGINX Instance Manager has been restored. -``` +2. Run the restore command: + + ```shell + docker exec nim-nim-1 nim-restore /data/backup/nim-backup-.tgz + ``` + +3. After the restore process finishes, disable maintenance mode. + + In `docker-compose.yaml`, change the value back: + + ```yaml + environment: + NIM_MAINTENANCE: "false" + ``` + +4. Restart the container: -Once the process is complete set `NIM_MAINTENANCE` to `false` and then run `docker-compose up -d`. + ```shell + docker compose up -d + ``` --- ## Storage -By default, the storage uses named volumes. Alternatively, you can use optional `driver_opts` settings to support other storage formats such as NFS. -For all storage volumes, make sure to mount them, before running `docker compose up -d`. For a mounted NFS volume, you might use the following commands: +NGINX Instance Manager uses named Docker volumes by default to persist data. You can also configure NFS or other storage backends using `driver_opts`. + +### Default volumes + +The standard `docker-compose.yaml` file defines these named volumes: + +- `nim-data`: stores configuration and state for Instance Manager +- `clickhouse-data`: used only in standard mode to persist metrics + +In lightweight mode, `clickhouse-data` is not needed and should be removed from the Compose file. + +### Example: use NFS for storage + +Before you run `docker compose up -d`, make sure your NFS volumes are mounted: ```shell -~$ sudo mount -t nfs <>:/mnt/nfs_share/clickhouse /mnt/nfs_share/clickhouse -~$ sudo mount -t nfs <>:/mnt/nfs_share/data /mnt/nfs_share/data +sudo mount -t nfs <>:/mnt/nfs_share/data /mnt/nfs_share/data +sudo mount -t nfs <>:/mnt/nfs_share/clickhouse /mnt/nfs_share/clickhouse ``` +Update the volumes section in your Compose file: + ```yaml volumes: - # By default docker compose will create a named volume - # Refer to https://docs.docker.com/reference/compose-file/volumes/ for additional storage options such as NFS nim-data: driver: local driver_opts: type: "nfs" o: "addr=<>,rw" device: ":/mnt/nfs_share/data" + clickhouse-data: driver: local driver_opts: @@ -201,11 +313,28 @@ volumes: device: ":/mnt/nfs_share/clickhouse" ``` +If you’re using lightweight mode, omit the `clickhouse-data` section entirely. + --- -## Support Data +## Gather support data + +If you [contact support]({{< ref "nim/support/contact-support.md" >}}), it's helpful to include logs and a current backup. These commands capture useful diagnostic data. -In case of problems, it's a good practice to: +### Get recent logs + +Save logs from the past 24 hours: + +```shell +docker compose logs --since 24h > my-logs-$(date +%Y-%m-%d).txt +``` + +### Create a fresh backup + +Run the backup command to capture the current state: + +```shell +docker exec nim-nim-1 nim-backup +``` -- Collect logs `docker-compose logs --since 24h > my-logs-$(date +%Y-%m-%d).txt` -- Collect backup information `docker exec nim-nim-1 nim-backup` +This creates a `.tgz` file inside the container under `/data/backup/`, which you can extract as described in the [Backup](#backup) section. \ No newline at end of file diff --git a/content/nim/deploy/kubernetes/deploy-using-helm.md b/content/nim/deploy/kubernetes/deploy-using-helm.md index 8d39db8eb..3b36c5a0e 100644 --- a/content/nim/deploy/kubernetes/deploy-using-helm.md +++ b/content/nim/deploy/kubernetes/deploy-using-helm.md @@ -9,230 +9,236 @@ type: ## Overview -{{< include "/nim/decoupling/note-legacy-nms-references.md" >}} +You can deploy F5 NGINX Instance Manager on Kubernetes using Helm. This method is quick, scalable, and supports both standard and lightweight modes. -This guide explains how to deploy F5 NGINX Instance Manager on a Kubernetes or OpenShift cluster using Helm. You’ll learn how to download and use Docker images and customize your deployment. +### New in 2.20.0 -{{< note >}} Starting in NGINX Instance Manager 2.19, you can deploy NGINX Instance Manager on an OpenShift cluster using Helm. {{< /note >}} +Starting with version 2.20.0, NGINX Instance Manager supports **lightweight mode**, which skips ClickHouse and disables metrics collection, ideal for simpler setups or resource-limited environments. -### About Helm +- Lightweight mode requires NGINX Agent v2.41.1 or later. -Helm charts are pre-configured packages of Kubernetes resources deployed with a single command. They let you define, install, and upgrade Kubernetes applications easily. +{{< call-out "note" "Chart renamed in NIM 2.20.0" >}} +The Helm chart has been renamed from `nginx-stable/nms-hybrid` to `nginx-stable/nim`. +Make sure to update your chart references if you’re using version 2.20.0 or later. +{{< /call-out >}} -Helm charts consist of files that describe a group of related Kubernetes resources, like deployments, services, and ingress. They also allow you to manage dependencies between applications, making it easier to deploy multi-tier or complex applications. --- -## Before you begin +## Requirements To deploy NGINX Instance Manager using a Helm chart, you need: -{{< bootstrap-table "table table-striped table-bordered" >}} -| Requirements | Notes | -| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Docker 20.10 or later (linux/amd64) | [Docker documentation](https://docs.docker.com/get-docker) | -| Kubernetes 1.21.3 or later (linux/amd64) | Ensure your client can [access the Kubernetes API server](https://kubernetes.io/docs/concepts/security/controlling-access/). The Helm chart will enable persistent storage using the default storage class in your Kubernetes cluster. More info is available in [Dynamic Volume Provisioning](https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/). | -| kubectl 1.21.3 or later | [kubectl documentation](https://kubernetes.io/docs/tasks/tools/#kubectl) | -| Helm 3.10.0 or later | [Helm installation guide](https://helm.sh/docs/intro/install/) | -| OpenSSL 1.1.1 or later | [OpenSSL source](https://www.openssl.org/source/) | -| `tar` 1.20 or later | The `tar` tool is usually installed by default. Check your version with `tar --version`. If `tar` is missing or outdated, install it from your distribution’s package manager (like YUM for CentOS/RHEL or APT for Debian/Ubuntu). | - -{{< /bootstrap-table >}} +## Requirements ---- +To deploy NGINX Instance Manager using a Helm chart, you need: -## Get the NGINX Instance Manager images +{{< bootstrap-table "table table-striped table-bordered" >}} +| Requirements | Notes | +|----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Docker 20.10 or later (linux/amd64) | [Docker documentation](https://docs.docker.com/get-docker/) | +| Kubernetes 1.21.3 or later (linux/amd64) | Ensure your client can [access the Kubernetes API server](https://kubernetes.io/docs/concepts/overview/components/#kube-apiserver). Helm uses the default storage class for persistent volume provisioning. | +| `kubectl` 1.21.3 or later | [kubectl documentation](https://kubernetes.io/docs/reference/kubectl/) | +| Helm 3.10.0 or later | [Helm installation guide](https://helm.sh/docs/intro/install/) | +| OpenSSL 1.1.1 or later | [OpenSSL source](https://www.openssl.org/source/) | +| `tar` 1.20 or later | The `tar` tool is usually installed by default. Check with `tar --version`. | +| `values.yaml` file with `nmsClickhouse.mode` | Optional. Defaults to `internal`. Set to `external` or `disabled` to use an external ClickHouse instance or enable lightweight mode. In `external` mode, set `nim.externalClickhouse.address` to your ClickHouse host. | +| NGINX subscription JWT | Required to authenticate with `private-registry.nginx.com` to pull the image. Download your JWT from [MyF5](https://my.f5.com/manage/s/) under **My Products & Plans > Subscriptions**. | +{{}} -### Using Docker +--- -### Using Helm with a JWT token +## Set up image registry access for NGINX Instance Manager You can use your NGINX JWT as a Docker configuration secret with Helm charts. Create a Docker registry secret on the cluster, using the JWT token as the username and `none` as the password. The Docker server is `private-registry.nginx.com`. -{{< note >}} Make sure there are no extra characters or spaces when copying the JWT token. They can invalidate the token and cause 401 errors during authentication. {{< /note >}} +{{< call-out "note" "Note" >}} +Make sure there are no extra characters or spaces when copying the JWT token. They can invalidate the token and cause 401 errors during authentication. +{{< /call-out >}} -- **Kubernetes**: +### Kubernetes - ```shell - kubectl create namespace nms - ``` - - ```shell - kubectl create secret docker-registry regcred \ +```shell +kubectl create namespace nms +kubectl create secret docker-registry regcred \ --docker-server=private-registry.nginx.com \ - --docker-username= \ + --docker-username= \ --docker-password=none \ -n nms - ``` - -- **OpenShift**: +``` - ```shell - oc new-project nms - ``` +### OpenShift - ```shell - oc create secret docker-registry regcred \ +```shell +oc new-project nms +oc create secret docker-registry regcred \ --docker-server=private-registry.nginx.com \ - --docker-username= \ + --docker-username= \ --docker-password=none \ -n nms - ``` - -{{< warning >}} - -You might see a warning about `--password` being insecure. - -This can be ignored (since no password is used), but if others have access to this system, delete the JWT token and clear your shell history after deployment. +``` -{{< /warning >}} +{{< call-out "note" "Note" >}} +You might see a warning that `--password` is insecure. In this case, it’s safe to ignore—none is used as a placeholder. -To confirm the secret is created: +As a best practice, you can delete the JWT token and clear your shell history after deployment if others have access to the system. +{{< /call-out >}} -- **Kubernetes**: +### Confirm the secret - ```shell - kubectl get secret regcred --output=yaml -n nms - ``` +- Kubernetes -- **OpenShift**: + ```shell + kubectl get secret regcred --output=yaml -n nms + ``` - ```shell - oc get secret regcred --output=yaml -n nms - ``` +- OpenShift + ```shell + oc get secret regcred --output=yaml -n nms + ``` -You can now use this secret for Helm deployments and point the charts to the public registry. +You can now use this secret for Helm deployments and point the chart to the private registry. --- -## Add the Helm repository - -{{< note >}} You need Helm 3.10.0 or later for these steps. {{< /note >}} +## Add the repository {#add-repository} -Run these commands to install the NGINX Instance Manager chart from the Helm repository: +Run the following commands to add the official NGINX Helm repository and update your local chart list. ```shell helm repo add nginx-stable https://helm.nginx.com/stable helm repo update ``` -The first command adds the `nginx-stable` repository to your local Helm repo list. The second updates the list to ensure you have the latest versions of the charts. - --- -## Create a Helm deployment values.yaml file +## Create a values.yaml file {#configure-values-yaml} -The `values.yaml` file customizes the Helm chart installation without modifying the chart itself. You can use it to specify image repositories, environment variables, resource requests, and other settings. +Create a file named `values.yaml` using the following example. This file customizes your NGINX Instance Manager deployment with Helm. -1. Create a `values.yaml` file similar to this example: +The values file lets you: - - In the `imagePullSecrets` section, add the credentials for your private Docker registry. - - Change the version tag to the version of NGINX Instance Manager you would like to install. See "Install the chart" below for versions. - - If deploying on OpenShift, add the `openshift.enabled: true` setting. - - {{< see-also >}} For details on creating a secret, see Kubernetes [Pull an Image from a Private Registry](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/). {{}} - - ```yaml - imagePullSecrets: - - name: regcred - apigw: - image: - repository: private-registry.nginx.com/nms/apigw - tag: - core: - image: - repository: private-registry.nginx.com/nms/core - tag: - dpm: - image: - repository: private-registry.nginx.com/nms/dpm - tag: - ingestion: - image: - repository: private-registry.nginx.com/nms/ingestion - tag: - integrations: - image: - repository: private-registry.nginx.com/nms/integrations - tag: - secmon: - image: - repository: private-registry.nginx.com/nms/secmon - tag: - utility: - image: - repository: private-registry.nginx.com/nms/utility - tag: - ``` - - {{< note >}} Starting in NGINX Instance Manager 2.19, the `secmon` pod is included in the NGINX Instance Manager deployment. {{< /note >}} - -2. Save and close the `values.yaml` file. +- Set the deployment mode +- Provide registry credentials +- Specify image sources for each NIM service ---- +Set `nmsClickhouse.mode` to control ClickHouse deployment: -## Enabling OpenShift +| Mode | Description | +|------------|--------------------------------------------------------------------------------------------| +| `internal` | Deploys ClickHouse in the cluster (default). | +| `external` | Connects to an external ClickHouse instance and requires `nim.externalClickhouse.address`. | +| `disabled` | Disables ClickHouse and enables lightweight mode (no metrics). | -If deploying on OpenShift, include this setting in the `values.yaml` file: +{{< call-out "note" "See also" >}} +See the [Helm chart configuration settings]( +https://docs.nginx.com/nginx-instance-manager/deploy/kubernetes/helm-config-settings/ +) guide for a complete list of chart parameters. +{{< /call-out >}} ```yaml -openshift: - enabled: true +nmsClickhouse: + mode: internal # options: internal, external, disabled + +# when mode is external, uncomment and set this: +# externalClickhouse: +# address: : + +imagePullSecrets: + - name: regcred + +apigw: + image: + repository: private-registry.nginx.com/nms/apigw + tag: 2.20.0 + +core: + image: + repository: private-registry.nginx.com/nms/core + tag: 2.20.0 + +dpm: + image: + repository: private-registry.nginx.com/nms/dpm + tag: 2.20.0 + +ingestion: + image: + repository: private-registry.nginx.com/nms/ingestion + tag: 2.20.0 + +integrations: + image: + repository: private-registry.nginx.com/nms/integrations + tag: 2.20.0 + +secmon: + image: + repository: private-registry.nginx.com/nms/secmon + tag: 2.20.0 + +utility: + image: + repository: private-registry.nginx.com/nms/utility + tag: 2.20.0 ``` -{{< note >}} The NIM deployment on OpenShift has been tested with OpenShift v4.13.0 Server. {{< /note >}} +These values are required when pulling images from the NGINX private registry. The chart does not auto-resolve image tags. Update the tag: fields to match the NGINX Instance Manager version you want to install. -### How OpenShift handles security constraints +Use the file with the `-f values.yaml` flag when installing the chart. -When `openshift.enabled: true` is set in the `values.yaml` file, the NGINX Instance Manager deployment automatically creates a **custom [Security Context Constraints](https://docs.redhat.com/en/documentation/openshift_container_platform/4.13/html/authentication_and_authorization/managing-pod-security-policies) (SCCs)** and links it to the Service Account used by all pods. +{{< call-out "note" "OpenShift support" >}} +OpenShift support was added in NGINX Instance Manager 2.19. To enable it, add the setting `openshift.enabled: true` to your `values.yaml` file. +For more details, see [Appendix: OpenShift security constraints](#appendix-openshift-security-constraints). +{{< /call-out >}} -By default, OpenShift enforces strict security policies that require containers to run as **non-root** users. The NGINX Instance Manager deployment needs specific user IDs (UIDs) for certain services, such as **1000** for `nms` and **101** for `nginx` and `clickhouse`. Since the default SCCs do not allow these UIDs, a **custom SCC** is created. This ensures that the deployment can run with the necessary permissions while maintaining OpenShift’s security standards. The custom SCC allows these UIDs by setting the `runAsUser` field, which controls which users can run containers. +--- -{{< note >}} If you’re encountering errors with the custom SCC, you may not have permissions to access the Security Context Constraints resource. Please contact a Cluster Administrator to request access, either through a cluster role binding or by adjusting your user role. {{< /note >}} +## Install the chart -To verify that the custom SCC has been created, after installing the helm chart, run: +Install NGINX Instance Manager using Helm. The `adminPasswordHash` sets the default admin password. ```shell -oc get scc nms-restricted-v2-scc --output=yaml +helm install nim nginx-stable/nim \ + -n nim \ + --create-namespace \ + --set adminPasswordHash=$(openssl passwd -6 '') \ + -f \ + --version \ + --wait ``` ---- - -## Install the chart +- Replace `` with your preferred admin password. +- Replace `` with the path to your customized values.yaml file. +- Replace `` with the version you want to install (for example, `2.20.0`). -Run the `helm install` command to deploy NGINX Instance Manager: +**Note:** You can set the ClickHouse mode at install time instead of editing `values.yaml`: -1. Replace `` with the path to your `values.yaml` file. -1. Replace `YourPassword123#` with a secure password (containing a mix of uppercase, lowercase letters, numbers, and special characters). +For lightweight mode (no ClickHouse): - {{< important >}} Remember to save the password for future use. Only the encrypted password is stored, and there's no way to recover or reset it if lost. {{< /important >}} +```shell +--set nmsClickhouse.mode=disabled +``` -(Optional) Replace `` with the desired chart version. If omitted, the latest version will be installed. Currently only version 2.19.0 is supported. +For external ClickHouse: ```shell -helm install -n nms \ ---set adminPasswordHash=$(openssl passwd -6 'YourPassword123#') \ -nms nginx-stable/nms-hybrid \ ---create-namespace \ --f \ -[--version ] \ ---wait +--set nmsClickhouse.mode=external \ +--set nim.externalClickhouse.address=: ``` ---- - -## Validate the deployment +**Validate the deployment** -Check the status of the deployment: +After installation, run the following command to confirm the deployment was successful: ```shell -helm -n nms status nms +helm status nim -n nim ``` -The status should show `STATUS: deployed` if successful. +You should see `STATUS: deployed` in the output. --- @@ -246,88 +252,100 @@ The status should show `STATUS: deployed` if successful. A valid license is required to use all NGINX Instance Manager features. -For instructions on downloading and applying a license, see [Add a License]({{< ref "/nim/admin-guide/license/add-license.md" >}}). +For instructions on downloading and applying a license, see [Add a License]({{< ref "/nim/admin-guide/add-license.md" >}}). --- -## Upgrade NGINX Instance Manager +### Upgrade NGINX Instance Manager -To upgrade: +To upgrade your deployment: -1. [Update the Helm repository list](#add-helm-repository). -1. [Adjust your `values.yaml` file](#create-a-helm-deployment-values.yaml-file) if needed. -1. To upgrade the NGINX Instance Manager deployment, run the following command. This command updates the `nms` deployment with a new version from the `nginx-stable/nms-hybrid` repository. It also hashes the provided password and uses the `values.yaml` file at the path you specify. +1. [Update the Helm repository list](#add-repository). +2. [Review and adjust your `values.yaml` file](#configure-values-yaml) as needed. +3. Run the following command to upgrade the deployment. This command uses the current chart version from the `nginx-stable/nim` repository and applies the configuration from your `values.yaml` file. -(Optional) Replace `` with the desired chart version. If omitted, the latest version will be installed. Currently only version 2.19.0 is supported. +```shell +helm upgrade nim nginx-stable/nim \ + -n nim \ + --set adminPasswordHash=$(openssl passwd -6 '') \ + -f \ + --version \ + --wait +``` - ```bash - helm upgrade -n nms \ - --set adminPasswordHash=$(openssl passwd -6 'YourPassword123#') \ - nms nginx-stable/nms-hybrid \ - -f \ - [--version ] \ - --wait - ``` +- Replace `` with a secure password that includes uppercase and lowercase letters, numbers, and special characters. +- Replace `` with the full path to your configuration file. +- Replace `` with the version of NGINX Instance Manager you want to upgrade to. - - Replace `` with the path to the `values.yaml` file you created]({{< ref "/nim/deploy/kubernetes/deploy-using-helm.md#configure-chart" >}}). - - Replace `YourPassword123#` with a secure password that includes uppercase and lowercase letters, numbers, and special characters. - {{}} Save this password for future use. Only the encrypted password is stored in Kubernetes, and you can’t recover or reset it later. {{}} - - (Optional) Replace with the desired version number. If you don’t specify a version, the latest version will be installed. +{{< call-out "important" "Save the password!" >}} +Only the encrypted version of the admin password is stored in Kubernetes. If you lose it, it can’t be recovered or reset. +Make sure to save the password in a secure place. +{{< /call-out >}} +{{< call-out "note" "Upgrading from earlier versions" >}} +If you’re upgrading from a deployment that used the legacy `nms` chart or release name, you’ll need to update the chart reference and adjust the release name as needed. +The latest chart is now called `nginx-stable/nim`, and `nim` is the recommended release name. +{{< /call-out >}} --- ## Uninstall NGINX Instance Manager {#helm-uninstall-nim} -To uninstall: +To uninstall NGINX Instance Manager, run: -```bash -helm uninstall --namespace nms nms +```shell +helm uninstall -n ``` -This deletes the `nms` application and all associated Kubernetes resources. +This command removes the deployment and all Kubernetes resources managed by the Helm chart. + +For example, if you used the default release and namespace names: + +```shell +helm uninstall nim -n nim +``` --- ## Manage network policies -To apply network policies for NGINX Instance Manager, ensure Kubernetes has a [network plugin](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) installed before the Helm chart installation. +If you plan to use network policies, make sure your Kubernetes cluster has a supported [network plugin](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) installed **before** you install the Helm chart. -By default, the following network policies will be created in the release namespace: +By default, the Helm chart creates a set of network policies for NGINX Instance Manager in the deployment namespace. + +To view them: - **Kubernetes**: - ```shell - kubectl get netpol -n nms - ``` + ```shell + kubectl get netpol -n + ``` - **OpenShift**: - ```shell - oc get netpol -n nms - ``` - **Output**: - - ```text - NAME POD-SELECTOR AGE - apigw app.kubernetes.io/name=apigw 4m47s - clickhouse app.kubernetes.io/name=clickhouse 4m47s - core app.kubernetes.io/name=core 4m47s - dpm app.kubernetes.io/name=dpm 4m47s - ingestion app.kubernetes.io/name=ingestion 4m47s - integrations app.kubernetes.io/name=integrations 4m47s - secmon app.kubernetes.io/name=secmon 4m47s - utility app.kubernetes.io/name=integrations 4m47s - ``` - -To disable network policies, update the `values.yaml` file: + ```shell + oc get netpol -n + ``` + +The number and names of network policies vary depending on the deployment mode (standard vs. lightweight). For example, in standard mode, you might see output like this: + +```text +NAME POD-SELECTOR AGE +apigw app.kubernetes.io/name=apigw 2m +core app.kubernetes.io/name=core 2m +dpm app.kubernetes.io/name=dpm 2m +ingestion app.kubernetes.io/name=ingestion 2m +secmon app.kubernetes.io/name=secmon 2m +``` + +If you’re using lightweight mode, your output may include fewer entries. + +To disable network policies, add the following to your `values.yaml` file: ```yaml -nms-hybrid: - networkPolicies: - # Set this to true to enable network policies for NGINX Instance Manager. - enabled: false +networkPolicies: + enabled: false ``` --- @@ -388,7 +406,7 @@ Run the `helm install` command to deploy NGINX Instance Manager: {{< important >}} Remember to save the password for future use. Only the encrypted password is stored, and there's no way to recover or reset it if lost. {{< /important >}} -3. Replace `` with the desired chart version 1.15.0 or lower. If omitted, it will lead to an unsuccessful deployment as it will try to install the latest vesrion 1.16.0 or later. +3. (Optional) Replace `` with the desired chart version. If omitted, the latest version will be installed. ```shell helm install -n nms \ @@ -410,12 +428,12 @@ To help you choose the right NGINX Instance Manager chart version, see the table To upgrade: -1. [Update the Helm repository list](#add-helm-repository). +1. [Update the Helm repository list](#add-repository). 2. [Adjust your `values.yaml` file](#create-a-helm-deployment-values.yaml-file) if needed. 3. To upgrade the NGINX Instance Manager deployment, run the following command. This command updates the `nms` deployment with a new version from the `nginx-stable/nms` repository. It also hashes the provided password and uses the `values.yaml` file at the path you specify. 4. Replace `` with the desired chart version 1.15.0 or lower. If omitted, it will lead to an unsuccessful deployment as it will try to upgrade to the latest vesrion 1.16.0 or later. - ```bash + ```shell helm upgrade -n nms \ --set nms-hybrid.adminPasswordHash=$(openssl passwd -6 'YourPassword123#') \ nms nginx-stable/nms \ @@ -433,5 +451,33 @@ To upgrade: ## Troubleshooting -For instructions on creating a support package to share with NGINX Customer Support, see [Create a Support Package from a Helm Installation]({{< ref "/nms/support/k8s-support-package.md" >}}). +For instructions on creating a support package to share with NGINX Customer Support, see [Create a Support Package from a Helm Installation]({{< ref "nim/support/k8s-support-package.md" >}}). + +--- + +## Appendix: OpenShift security constraints {#appendix-openshift-security-constraints} + +OpenShift restricts containers from running as root by default. To support NGINX Instance Manager, the Helm chart creates a custom Security Context Constraint (SCC) when you set: + +```yaml +openshift: + enabled: true +``` + +This ensures pods can run with the user IDs required by NGINX Instance Manager services. + +{{< call-out "note" "Note" >}} +If you see permission errors during deployment, your user account might not have access to manage SCCs. Contact a cluster administrator to request access. +{{< /call-out >}} + +To verify that the SCC was created after installing the Helm chart, run: + +```shell +oc get scc nms-restricted-v2-scc --output=yaml +``` + +--- + +## Next steps +- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) diff --git a/content/nim/deploy/kubernetes/helm-config-settings.md b/content/nim/deploy/kubernetes/helm-config-settings.md index 83ce7682c..dd6a66d7e 100644 --- a/content/nim/deploy/kubernetes/helm-config-settings.md +++ b/content/nim/deploy/kubernetes/helm-config-settings.md @@ -1,95 +1,96 @@ --- docs: DOCS-1112 -title: Configurable Helm settings +title: Configurable helm settings toc: true weight: 300 -type: +nd-content-type: - reference +nd-product: NIM --- -{{< include "/nim/decoupling/note-legacy-nms-references.md" >}} - This reference guide lists the configurable Helm chart parameters and default settings for NGINX Instance Manager. ## NGINX Instance Manager Helm chart settings {#helm-settings} -The following table lists the configurable parameters and default values for NGINX Instance Manager when installing from a Helm chart. - -To modify a configuration for an existing release, run the `helm upgrade` command and use `-f `, where `` is the path to a values file with your desired configuration. - -{{}} - -| Parameter | Description | Default | -|:-----------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------| -| `nms-hybrid.adminPasswordHash` | The hashed value of the password for the admin user.
      To generate the hash using `openssl`, run a command like: `openssl passwd -1 "YourPassword123#"` | N/A | -| `nms-hybrid.nmsClickhouse.enabled` | Enable this if external ClickHouse is not used. | `true` | -| `nms-hybrid.nmsClickhouse.fullnameOverride` | Modify the name of ClickHouse resources. | `clickhouse` | -| `nms-hybrid.nmsClickhouse.image.repository` | Repository name and path for the public ClickHouse image. | `clickhouse/clickhouse-server` | -| `nms-hybrid.nmsClickhouse.image.tag` | Tag used for pulling images from the registry. | `21.3.20.1-alpine` | -| `nms-hybrid.nmsClickhouse.image.pullPolicy` | Image pull policy. | `IfNotPresent` | -| `nms-hybrid.nmsClickhouse.user` | Username to connect to the ClickHouse server. | N/A | -| `nms-hybrid.nmsClickhouse.password` | Password for the ClickHouse server. | N/A | -| `nms-hybrid.nmsClickhouse.service.name` | ClickHouse service name. | `clickhouse` | -| `nms-hybrid.nmsClickhouse.service.rpcPort` | ClickHouse service port. | `9000` | -| `nms-hybrid.nmsClickhouse.resources.requests.cpu` | Minimum required CPU to run the ClickHouse server. | `500m` | -| `nms-hybrid.nmsClickhouse.resources.requests.memory` | Minimum required memory to run the ClickHouse server. | `1Gi` | -| `nms-hybrid.nmsClickhouse.persistence.enabled` | Use PVCs to persist ClickHouse data. | `true` | -| `nms-hybrid.nmsClickhouse.persistence.existingClaim` | Name of an existing Persistent Volume Claim (PVC) to use for ClickHouse persistence. | N/A | -| `nms-hybrid.nmsClickhouse.persistence.storageClass` | Storage class to use for creating a ClickHouse PVC. | | -| `nms-hybrid.nmsClickhouse.persistence.volumeName` | Name to use for a ClickHouse PVC volume. | | -| `nms-hybrid.nmsClickhouse.persistence.accessMode` | PVC access mode for ClickHouse. | `ReadWriteOnce` | -| `nms-hybrid.nmsClickhouse.persistence.size` | PVC size for ClickHouse. | `1G` | -| `nms-hybrid.nmsClickhouse.tolerations` | List of Kubernetes tolerations, if any. | See [Kubernetes taints and tolerations](#kubernetes-taints-and-tolerations) | -| `nms-hybrid.externalClickhouse.address` | Address of the external ClickHouse service. | | -| `nms-hybrid.externalClickhouse.user` | User of the external ClickHouse service. | | -| `nms-hybrid.externalClickhouse.password` | Password of the external ClickHouse service. | | -| `nms-hybrid.serviceAccount.annotations` | Set custom annotations for the service account used by NGINX Instance Manager. | `{}` | -| `nms-hybrid.apigw.name` | Name used for API Gateway resources. | `apigw` | -| `nms-hybrid.apigw.tlsSecret` | By default, this Helm chart creates its own Certificate Authority (CA) to self-sign HTTPS server cert key pairs. These are not managed by NGINX Instance Manager. You can bring your own NGINX API Gateway certificates for hosting the HTTPS server by setting `tlsSecret` to an existing Kubernetes secret name in the targeted namespace. The secret should include `tls.crt`, `tls.key`, and `ca.pem` in the data object. Using a self-provisioned "tlsSecret" is recommended for production.

      Refer to the "Use your own certificates" section in [Frequently used Helm configurations]({{< ref "/nim/deploy/kubernetes/frequently-used-helm-configs.md#use-your-own-certificates" >}}) for an example. | | -| `nms-hybrid.apigw.image.repository` | Repository name and path for the `apigw` image. | `apigw` | -| `nms-hybrid.apigw.image.tag` | Tag used for pulling images from the registry. | `latest` | -| `nms-hybrid.apigw.image.pullPolicy` | Image pull policy. | `IfNotPresent` | -| `nms-hybrid.apigw.container.port.https` | Container HTTPS port. | `443` | -| `nms-hybrid.apigw.service.name` | Service name. | `apigw` | -| `nms-hybrid.apigw.service.type` | Service type (options: `ClusterIp`, `LoadBalancer`, `NodePort`). | `ClusterIp` | -| `nms-hybrid.apigw.service.httpsPort` | Service HTTPS port. | `443` | -| `nms-hybrid.apigw.resources.requests.cpu` | Minimum required CPU to run `apigw`. | `250m` | -| `nms-hybrid.apigw.resources.requests.memory` | Minimum required memory to run `apigw`. | `256Mi` | -| `nms-hybrid.apigw.tolerations` | List of Kubernetes tolerations, if any. | See [Kubernetes taints and tolerations](#kubernetes-taints-and-tolerations) | -| `nms-hybrid.core.name` | Name used for core resources. | `core` | -| `nms-hybrid.core.image.repository` | Repository name and path for the `core` image. | `core` | -| `nms-hybrid.core.image.tag` | Tag used for pulling images from the registry. | `latest` | -| `nms-hybrid.core.image.pullPolicy` | Image pull policy. | `IfNotPresent` | -| `nms-hybrid.core.container.port.http` | Container HTTP port. | `8033` | -| `nms-hybrid.core.container.port.db` | Container database port. | `7891` | -| `nms-hybrid.core.container.port.grpc` | Container gRPC port. | `8038` | -| `nms-hybrid.core.service.httpPort` | Service HTTP port. | `8033` | -| `nms-hybrid.core.service.grpcPort` | Service gRPC port. | `8038` | -| `nms-hybrid.core.resources.requests.cpu` | Minimum required CPU to run `core`. | `500m` | -| `nms-hybrid.core.resources.requests.memory` | Minimum required memory to run `core`. | `512Mi` | -| `nms-hybrid.core.persistence.enabled` | Enable persistence for `core` service. | `true` | -| `nms-hybrid.core.persistence.claims` | An array of persistent volume claims for Dqlite and secrets. Can be modified to use an existing PVC. | See [Dqlite](#nim-dqlite-storage-configuration) and [Secrets](#nim-secrets-storage-configuration) | -| `nms-hybrid.core.persistence.storageClass` | Storage class to use for creating a `core` PVC. | | -| `nms-hybrid.core.persistence.volumeName` | Name to use for a `core` PVC volume. | | -| `nms-hybrid.core.tolerations` | List of Kubernetes tolerations, if any. | See [Kubernetes taints and tolerations](#kubernetes-taints-and-tolerations) | -| `nms-hybrid.dpm.name` | Name used for `dpm`. | `dpm` | -| `nms-hybrid.dpm.image.repository` | Repository name and path for the `dpm` image. | `dpm` | -| `nms-hybrid.dpm.image.tag` | Tag used for pulling images from the registry. | `latest` | -| `nms-hybrid.dpm.image.pullPolicy` | Image pull policy. | `IfNotPresent` | -| `nms-hybrid.dpm.container.port.http` | Container HTTP port. | `8034` | -| `nms-hybrid.dpm.container.port.nats` | Container NATS port. | `9100` | -| `nms-hybrid.dpm.container.port.db` | Container database port. | `7890` | -| `nms-hybrid.dpm.container.port.grpc` | Container gRPC port. | `8036` | - -{{
      }} +{{< call-out "important" "legacy chart name" >}} +In version 2.20.0, we renamed the Helm chart from `nms-hybrid` to `nim` when we moved it to its own repository. For versions 2.19.0 and earlier, use `nms-hybrid` instead of `nim` in each parameter name. +{{< /call-out >}} + +To update an existing release, run `helm upgrade` with the `-f ` flag, where `` is the path to your values file. + +{{< bootstrap-table "table table-bordered table-striped table-responsive table-sm" >}} + +| Parameter | Description | Default | +|:--------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------| +| `nim.adminPasswordHash` | The hashed value of the password for the admin user.
      To generate a hash using OpenSSL, run `openssl passwd -1 "YourPassword123#"` | N/A | +| `nim.nmsClickhouse.mode` | Controls ClickHouse deployment:
      - `internal` (default, in-cluster)
      - `external` (requires `nim.externalClickhouse.address`)
      - `disabled` (lightweight mode). Available in the `nim` chart 2.20.0 and later. | `internal` | +| `nms-hybrid.nmsClickhouse.enabled` | (legacy, available in `nms-hybrid` chart 2.19.0 and earlier) Enable ClickHouse when using the legacy chart. | `true` | +| `nim.nmsClickhouse.fullnameOverride` | Modify the name of ClickHouse resources. | `clickhouse` | +| `nim.nmsClickhouse.image.repository` | Repository path for the public ClickHouse image. | `clickhouse/clickhouse-server` | +| `nim.nmsClickhouse.image.tag` | Tag used for pulling ClickHouse images from the registry. | `21.3.20.1-alpine` | +| `nim.nmsClickhouse.image.pullPolicy` | Image pull policy. | `IfNotPresent` | +| `nim.nmsClickhouse.user` | Username for the ClickHouse server. | N/A | +| `nim.nmsClickhouse.password` | Password for the ClickHouse server. | N/A | +| `nim.nmsClickhouse.service.name` | ClickHouse service name. | `clickhouse` | +| `nim.nmsClickhouse.service.rpcPort` | ClickHouse service port. | `9000` | +| `nim.nmsClickhouse.resources.requests.cpu` | Minimum required CPU to run the ClickHouse server. | `500m` | +| `nim.nmsClickhouse.resources.requests.memory` | Minimum required memory to run the ClickHouse server. | `1Gi` | +| `nim.nmsClickhouse.persistence.enabled` | Use a PVC to persist ClickHouse data. | `true` | +| `nim.nmsClickhouse.persistence.existingClaim` | Name of an existing PVC to use for ClickHouse persistence. | N/A | +| `nim.nmsClickhouse.persistence.storageClass` | Storage class for creating a ClickHouse PVC. | | +| `nim.nmsClickhouse.persistence.volumeName` | Name to use for a ClickHouse PVC volume. | | +| `nim.nmsClickhouse.persistence.accessMode` | PVC access mode for ClickHouse. | `ReadWriteOnce` | +| `nim.nmsClickhouse.persistence.size` | PVC size for ClickHouse. | `1G` | +| `nim.nmsClickhouse.tolerations` | List of Kubernetes tolerations if any. | See [Kubernetes taints and tolerations](#kubernetes-taints-and-tolerations) | +| `nim.externalClickhouse.address` | Address of the external ClickHouse service. | | +| `nim.externalClickhouse.user` | User for the external ClickHouse service. | | +| `nim.externalClickhouse.password` | Password for the external ClickHouse service. | | +| `nim.serviceAccount.annotations` | Set custom annotations for the service account used by NGINX Instance Manager. | `{}` | +| `nim.apigw.name` | Name for API Gateway resources. | `apigw` | +| `nim.apigw.tlsSecret` | By default, the chart creates its own CA to self-sign HTTPS server certs. To bring your own certificates, set `tlsSecret` to an existing Kubernetes secret in the target namespace. The secret must include `tls.crt`, `tls.key`, and `ca.pem`. See [Use your own certificates]({{< ref "/nim/deploy/kubernetes/frequently-used-helm-configs.md#use-your-own-certificates" >}}). | | +| `nim.apigw.image.repository` | Repository path for the `apigw` image. | `apigw` | +| `nim.apigw.image.tag` | Tag used for pulling `apigw` images. | `latest` | +| `nim.apigw.image.pullPolicy` | Image pull policy. | `IfNotPresent` | +| `nim.apigw.container.port.https` | Container HTTPS port. | `443` | +| `nim.apigw.service.name` | Service name. | `apigw` | +| `nim.apigw.service.type` | Service type (`ClusterIp`, `LoadBalancer`, `NodePort`). | `ClusterIp` | +| `nim.apigw.service.httpsPort` | Service HTTPS port. | `443` | +| `nim.apigw.resources.requests.cpu` | Minimum required CPU to run `apigw`. | `250m` | +| `nim.apigw.resources.requests.memory` | Minimum required memory to run `apigw`. | `256Mi` | +| `nim.apigw.tolerations` | List of Kubernetes tolerations if any. | See [Kubernetes taints and tolerations](#kubernetes-taints-and-tolerations) | +| `nim.core.name` | Name for core resources. | `core` | +| `nim.core.image.repository` | Repository path for the `core` image. | `core` | +| `nim.core.image.tag` | Tag used for pulling `core` images. | `latest` | +| `nim.core.image.pullPolicy` | Image pull policy. | `IfNotPresent` | +| `nim.core.container.port.http` | Container HTTP port. | `8033` | +| `nim.core.container.port.db` | Container database port. | `7891` | +| `nim.core.container.port.grpc` | Container gRPC port. | `8038` | +| `nim.core.service.httpPort` | Service HTTP port. | `8033` | +| `nim.core.service.grpcPort` | Service gRPC port. | `8038` | +| `nim.core.resources.requests.cpu` | Minimum required CPU to run `core`. | `500m` | +| `nim.core.resources.requests.memory` | Minimum required memory to run `core`. | `512Mi` | +| `nim.core.persistence.enabled` | Enable persistence for `core`. | `true` | +| `nim.core.persistence.claims` | Array of PVCs for Dqlite and secrets. Modify to use an existing PVC. | See [Dqlite storage](#nim-dqlite-storage-configuration) and [Secrets storage](#nim-secrets-storage-configuration) | +| `nim.core.persistence.storageClass` | Storage class for creating a `core` PVC. | | +| `nim.core.persistence.volumeName` | Name for a `core` PVC volume. | | +| `nim.core.tolerations` | List of Kubernetes tolerations if any. | See [Kubernetes taints and tolerations](#kubernetes-taints-and-tolerations) | +| `nim.dpm.name` | Name for `dpm` resources. | `dpm` | +| `nim.dpm.image.repository` | Repository path for the `dpm` image. | `dpm` | +| `nim.dpm.image.tag` | Tag used for pulling `dpm` images. | `latest` | +| `nim.dpm.image.pullPolicy` | Image pull policy. | `IfNotPresent`| +| `nim.dpm.container.port.http` | Container HTTP port. | `8034` | +| `nim.dpm.container.port.nats` | Container NATS port. | `9100` | +| `nim.dpm.container.port.db` | Container database port. | `7890` | +| `nim.dpm.container.port.grpc` | Container gRPC port. | `8036` | +{{}} ## NGINX Instance Manager dqlite storage configuration ```yaml - - name: dqlite - existingClaim: - size: 500Mi - accessMode: ReadWriteOnce +- name: dqlite + existingClaim: + size: 500Mi + accessMode: ReadWriteOnce ``` ## NGINX Instance Manager secrets storage configuration @@ -112,7 +113,7 @@ To modify a configuration for an existing release, run the `helm upgrade` comman ## Kubernetes taints and tolerations -The following example snippet shows a toleration for an NGINX Instance Manager API Gateway deployment. In this example, Kubernetes will tolerate the "NoExecute" effect for 60 seconds before evicting the pod from the tainted node. +This example shows how to set the API Gateway pod to wait 60 seconds when Kubernetes applies the NoExecute taint (which marks a node as unschedulable) before it removes the pod. ```yaml tolerations: diff --git a/content/nim/deploy/vm-bare-metal/install-nim-deprecated.md b/content/nim/deploy/vm-bare-metal/install-nim-deprecated.md deleted file mode 100644 index d5af56dd0..000000000 --- a/content/nim/deploy/vm-bare-metal/install-nim-deprecated.md +++ /dev/null @@ -1,315 +0,0 @@ ---- -description: '' -docs: DOCS-1211 -title: Manually install on a virtual machine or bare metal (deprecated) -toc: true -weight: 10 -noindex: true -type: -- tutorial ---- - -## Overview - -Follow the steps in this guide to install or upgrade NGINX Instance Manager. - -{{}} -This document outlines manual steps that have been replaced by a simplified script-based process. For most users, we recommend using the updated process documented [here]({{< ref "nim/deploy/vm-bare-metal/install.md" >}}).{{}} - -## Before You Begin - -### Security Considerations - -{{< include "installation/secure-installation.md" >}} - -### Requirements {#requirements} - -To install NGINX Instance Manager, you need the following: - -- A trial or paid subscription for NGINX Instance Manager. [Sign up for NGINX Instance Manager at MyF5](https://account.f5.com/myf5). -- A Linux instance to host the NGINX Instance Manager platform and modules -- [NGINX Plus or NGINX OSS](#install-nginx) installed on the instance hosting NGINX Instance Manager - -Allow external systems access by opening network firewalls. NGINX Instance Manager uses port `443` for both gRPC and API/web interfaces. - ---- - -## Download Certificate and Key {#download-cert-key} - -Follow these steps to download the certificate and private key for NGINX Instance Manager. You'll need these files when adding the official repository for installing NGINX Instance Manager. You can also use the certificate and key when installing NGINX Plus. - -1. On the host where you're installing NGINX Instance Manager, create the `/etc/ssl/nginx/` directory: - - ``` bash - sudo mkdir -p /etc/ssl/nginx - ``` - -2. Download the NGINX Instance Manager `.crt` and `.key` files from [MyF5](https://account.f5.com/myf5) or follow the download link in your trial activation email. - -3. Move and rename the `.crt` and `.key` files: - - ```bash - sudo mv /etc/ssl/nginx/nginx-repo.crt - sudo mv /etc/ssl/nginx/nginx-repo.key - ``` - - {{}}The downloaded filenames may vary depending on your subscription type. Modify the commands above accordingly to match the actual filenames.{{}} - ---- - -## Install NGINX {#install-nginx} - -Install NGINX Open Source or NGINX Plus on the host where you'll install NGINX Instance Manager. NGINX Instance Manager uses NGINX as a front-end proxy and for managing user access. - -- [Installing NGINX and NGINX Plus](https://docs.nginx.com/nginx/admin-guide/installing-nginx/) - - {{}}If you're installing NGINX Plus, you can use the `nginx-repo.key` and `nginx-repo.crt` that you added in the [previous section](#download-cert-key).{{}} - -
      - Supported NGINX versions - -{{< include "nim/tech-specs/supported-nginx-versions.md" >}} - -
      - -
      - Supported Linux distributions - -{{< include "nim/tech-specs/supported-distros.md" >}} - -
      - -{{}}Make sure to review the [Technical Specifications]({{< ref "/nim/fundamentals/tech-specs" >}}) guide for sizing requirements and other recommended specs.{{}} - ---- - -## Install ClickHouse {#install-clickhouse} - -{{}}NGINX Instance Manager requires ClickHouse 22.3.15.33 or later.{{}} - -NGINX Instance Manager uses [ClickHouse](https://clickhouse.com) to store metrics, events, and alerts, as well as configuration settings. - -Select the tab for your Linux distribution, then follow the instructions to install ClickHouse. - -{{}} - -{{%tab name="CentOS, RHEL, RPM-Based"%}} - -To install and enable ClickHouse CentOS, RHEL, and RPM-Based distributions, take the following steps: - -1. Set up the repository: - - ``` bash - sudo yum install -y yum-utils - sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo - ``` - -1. Install the ClickHouse server and client: - - ```bash - sudo yum install -y clickhouse-server clickhouse-client - ``` - - > **IMPORTANT!** When installing ClickHouse, you have the option to specify a password or leave the password blank (the default is an empty string). If you choose to specify a password for ClickHouse, you must also edit the `/etc/nms/nms.conf` file after installing NGINX Instance Manager and enter your ClickHouse password; otherwise, NGINX Instance Manager won't start. - > - > For more information on customizing ClickHouse settings, refer to the [Configure ClickHouse]({{< ref "nim/system-configuration/configure-clickhouse.md" >}}) topic. - -1. Enable ClickHouse so that it starts automatically if the server is restarted: - - ```bash - sudo systemctl enable clickhouse-server - ``` - -1. Start the ClickHouse server: - - ```bash - sudo systemctl start clickhouse-server - ``` - -1. Verify ClickHouse is running: - - ```bash - sudo systemctl status clickhouse-server - ``` - -{{%/tab%}} - -{{%tab name="Debian, Ubuntu, Deb-Based"%}} - -To install and enable ClickHouse on Debian, Ubuntu, and Deb-Based distributions, take the following steps: - -1. Set up the repository: - - ```bash - sudo apt-get install -y apt-transport-https ca-certificates dirmngr - GNUPGHOME=$(mktemp -d) - sudo GNUPGHOME="$GNUPGHOME" gpg --no-default-keyring --keyring /usr/share/keyrings/clickhouse-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 8919F6BD2B48D754 - sudo rm -r "$GNUPGHOME" - sudo chmod +r /usr/share/keyrings/clickhouse-keyring.gpg - - echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb lts main" | sudo tee /etc/apt/sources.list.d/clickhouse.list - sudo apt-get update - ``` - -1. Install the ClickHouse server and client: - - ``` bash - sudo apt-get install -y clickhouse-server clickhouse-client - ``` - - > **IMPORTANT!** When installing ClickHouse, you have the option to specify a password or leave the password blank (the default is an empty string). If you choose to specify a password for ClickHouse, you must also edit the `/etc/nms/nms.conf` file after installing NGINX Instance Manager and enter your ClickHouse password; otherwise, NGINX Instance Manager won't start. - > - > For more information on customizing ClickHouse settings, refer to the [Configure ClickHouse]({{< ref "nim/system-configuration/configure-clickhouse.md" >}}) topic. - -1. Enable ClickHouse so that it starts automatically if the server is restarted: - - ```bash - sudo systemctl enable clickhouse-server - ``` - -1. Start the ClickHouse server: - - ``` bash - sudo systemctl start clickhouse-server - ``` - -1. Verify ClickHouse is running: - - ```bash - sudo systemctl status clickhouse-server - ``` - -{{%/tab%}} - -{{}} - -### ClickHouse Default Settings - -NGINX Instance Manager uses the following default values for ClickHouse: - -{{}}You can customize these settings. However, if you use custom settings, make sure to follow the [Configure ClickHouse]({{< ref "nim/system-configuration/configure-clickhouse.md" >}}) instructions to update the `nms.conf` file after you've installed NGINX Instance Manager; otherwise NGINX Instance Manager won't be able to connect to ClickHouse.{{}} - -{{< include "installation/clickhouse-defaults.md" >}} - ---- - -## (Optional) Install and Configure Vault {#install-vault} - -NGINX Instance Manager can use [Vault](https://www.vaultproject.io/) as a datastore for secrets. - -To install and enable Vault, take the following steps: - -- Follow Vault's instructions to [install Vault 1.8.8 or later](https://www.vaultproject.io/docs/install) for your distribution. -- Ensure you are running Vault in a [Production Hardened Environment](https://learn.hashicorp.com/tutorials/vault/production-hardening). -- After installing NGINX Instance Manager, follow the steps to [Configure Vault for Storing Secrets]({{< ref "nim/system-configuration/configure-vault.md" >}}). - ---- - -## Add NGINX Instance Manager Repository {#add-nms-repo} - -To install NGINX Instance Manager, you need to add the official repository to pull the pre-compiled `deb` and `rpm` packages from. - -{{< include "installation/add-nms-repo.md" >}} - ---- - -## Install Instance Manager - -{{}} - -{{%tab name="CentOS, RHEL, RPM-Based"%}} - -1. To install the latest version of Instance Manager, run the following command: - - ```bash - sudo yum install -y nms-instance-manager - ``` - - > **IMPORTANT!** The Instance Manager's administrator username (default is `admin`) and generated password are displayed in the terminal during installation. You should make a note of the password and store it securely. - -{{%/tab%}} - -{{%tab name="Debian, Ubuntu, Deb-Based"%}} - -1. To install the latest version of Instance Manager, run the following commands: - - ```bash - sudo apt-get update - sudo apt-get install -y nms-instance-manager - ``` - - > **IMPORTANT!** The Instance Manager's administrator username (default is `admin`) and generated password are displayed in the terminal during installation. You should make a note of the password and store it securely. - -{{%/tab%}} - -{{}} - -2. Enable and start the NGINX Instance Manager platform services: - - ```bash - sudo systemctl enable nms nms-core nms-dpm nms-ingestion nms-integrations --now - ``` - - NGINX Instance Manager components started this way run by default as the non-root `nms` user inside the `nms` group, both of which are created during installation. - -3. Restart the NGINX web server: - - ```bash - sudo systemctl restart nginx - ``` - -### Post-Installation Steps - -{{< include "installation/optional-installation-steps.md" >}} - -### Accessing the Web Interface - -{{< include "installation/access-web-ui.md" >}} - - -### Add License - -{{< include "nim/admin-guide/license/connected-install-license-note.md" >}} - ---- - -## Upgrade Instance Manager {#upgrade-nim} - -{{}} -{{%tab name="CentOS, RHEL, RPM-Based"%}} - -1. To upgrade to the latest version of the Instance Manager, run the following command: - - ```bash - sudo yum update -y nms-instance-manager - ``` - -{{%/tab%}} - -{{%tab name="Debian, Ubuntu, Deb-Based"%}} - -1. To upgrade to the latest version of the Instance Manager, run the following command: - - ```bash - sudo apt-get update - sudo apt-get install -y --only-upgrade nms-instance-manager - ``` - -{{%/tab%}} -{{}} - -2. Restart the NGINX Instance Manager platform services: - - ```bash - sudo systemctl restart nms - ``` - - NGINX Instance Manager components started this way run by default as the non-root `nms` user inside the `nms` group, both of which are created during installation. - -3. Restart the NGINX web server: - - ```bash - sudo systemctl restart nginx - ``` - -4. (Optional) If you use SELinux, follow the steps in the [Configure SELinux]({{< ref "nim/system-configuration/configure-selinux.md" >}}) guide to restore the default SELinux labels (`restorecon`) for the files and directories related to NGINX Management suite. diff --git a/content/nim/deploy/vm-bare-metal/install-nim-manual.md b/content/nim/deploy/vm-bare-metal/install-nim-manual.md new file mode 100644 index 000000000..fa8f6df42 --- /dev/null +++ b/content/nim/deploy/vm-bare-metal/install-nim-manual.md @@ -0,0 +1,233 @@ +--- +description: '' +docs: DOCS-1211 +title: Manually install any version of NGINX Instance Manager +toc: true +weight: 10 +noindex: true +type: +- tutorial +--- + +## Overview + +Follow the steps in this guide to install or upgrade a specific version of NGINX Instance Manager. + +## Before You Begin + +### Security Considerations + +{{< include "installation/secure-installation.md" >}} + +### Requirements {#requirements} + +To install NGINX Instance Manager, you need the following: + +- A trial or paid subscription for NGINX Instance Manager. [Sign up for NGINX Instance Manager at MyF5](https://account.f5.com/myf5). +- A Linux instance to host the NGINX Instance Manager platform and modules +- [NGINX Plus or NGINX OSS](#install-nginx) installed on the instance hosting NGINX Instance Manager + +Allow external systems access by opening network firewalls. NGINX Instance Manager uses port `443` for both gRPC and API/web interfaces. + +--- + +## Download Certificate and Key {#download-cert-key} + +Follow these steps to download the certificate and private key for NGINX Instance Manager. You'll need these files when adding the official repository for installing NGINX Instance Manager. You can also use the certificate and key when installing NGINX Plus. + +1. On the host where you're installing NGINX Instance Manager, create the `/etc/ssl/nginx/` directory: + + ``` bash + sudo mkdir -p /etc/ssl/nginx + ``` + +2. Download the NGINX Instance Manager `.crt` and `.key` files from [MyF5](https://account.f5.com/myf5) or follow the download link in your trial activation email. + +3. Move and rename the `.crt` and `.key` files: + + ```bash + sudo mv /etc/ssl/nginx/nginx-repo.crt + sudo mv /etc/ssl/nginx/nginx-repo.key + ``` + + The downloaded filenames may vary depending on your subscription type. Modify the commands above accordingly to match the actual filenames. + +--- + +## Install NGINX {#install-nginx} + +Install NGINX Open Source or NGINX Plus on the host where you'll install NGINX Instance Manager. NGINX Instance Manager uses NGINX as a front-end proxy and for managing user access. + +- [Installing NGINX and NGINX Plus](https://docs.nginx.com/nginx/admin-guide/installing-nginx/) + +
      + + If you're installing NGINX Plus, you can use the `nginx-repo.key` and `nginx-repo.crt` that you added in the [previous section](#download-cert-key). + +
      + Supported NGINX versions + +{{< include "nim/tech-specs/supported-nginx-versions.md" >}} + +
      + +
      + Supported Linux distributions + +{{< include "nim/tech-specs/supported-distros.md" >}} + +
      + +Make sure to review the [Technical Specifications]({{< ref "/nim/fundamentals/tech-specs" >}}) guide for sizing requirements and other recommended specs. + +--- + +## Configure metrics collection + +### Disable metrics collection + +NGINX Instance Manager uses ClickHouse to store metrics, events, alerts, and configuration data. + +In 2.20.0, we introduced Lightweight mode, which can skip the ClickHouse installation entirely. It’s ideal if you don’t need monitoring data or want a simpler setup. This reduces system requirements and avoids the work of managing a metrics database. You can add ClickHouse later if your needs change. + +If you don’t need to store metrics, you can skip installing ClickHouse. But you must use NGINX Agent version {{< lightweight-nim-nginx-agent-version >}}, and you must disable metrics collection in the `/etc/nms/nms.conf` file. + +For instructions, see [Disable metrics collection]({{< ref "nim/system-configuration/configure-clickhouse.md#disable-metrics-collection" >}}). + +### Install ClickHouse to enable metrics + +{{< include "nim/clickhouse/clickhouse-install.md" >}} + +#### ClickHouse Default Settings + +NGINX Instance Manager uses the following default values for ClickHouse. To change these values, see the [Configure ClickHouse](nim/system-configuration/configure-clickhouse.md) guide. + +{{< include "nim/clickhouse/clickhouse-defaults.md" >}} + +--- + +## Add NGINX Instance Manager Repository {#add-nms-repo} + +To install NGINX Instance Manager, you need to add the official repository to pull the pre-compiled `deb` and `rpm` packages from. + +{{< include "installation/add-nms-repo.md" >}} + +--- + +## Install Instance Manager + +{{}} + +{{%tab name="CentOS, RHEL, RPM-Based"%}} + +1. To install the latest version of Instance Manager, run the following command: + + ```bash + sudo yum install -y nms-instance-manager + ``` + + > **IMPORTANT!** The Instance Manager's administrator username (default is `admin`) and generated password are displayed in the terminal during installation. You should make a note of the password and store it securely. + +{{%/tab%}} + +{{%tab name="Debian, Ubuntu, Deb-Based"%}} + +1. To install the latest version of Instance Manager, run the following commands: + + ```bash + sudo apt-get update + sudo apt-get install -y nms-instance-manager + ``` + + > **IMPORTANT!** The Instance Manager's administrator username (default is `admin`) and generated password are displayed in the terminal during installation. You should make a note of the password and store it securely. + +{{%/tab%}} + +{{}} + +2. Enable and start the NGINX Instance Manager platform services: + + ```bash + sudo systemctl enable nms nms-core nms-dpm nms-ingestion nms-integrations --now + ``` + + NGINX Instance Manager components started this way run by default as the non-root `nms` user inside the `nms` group, both of which are created during installation. + +3. Restart the NGINX web server: + + ```bash + sudo systemctl restart nginx + ``` + +## Optional post-installation steps + +### Configure ClickHouse + +{{< include "nim/installation/optional-steps/configure-clickhouse.md" >}} + +### Install and configure Vault {#install-vault} + +{{< include "nim/installation/optional-steps/install-configure-vault.md" >}} + + +### Configure SELinux + +{{< include "nim/installation/optional-steps/configure-selinux.md" >}} + +## Accessing the Web Interface + +{{< include "installation/access-web-ui.md" >}} + + +## Add License + +{{< include "nim/admin-guide/license/connected-install-license-note.md" >}} + +--- + +## Upgrade Instance Manager {#upgrade-nim} + +{{}} +{{%tab name="CentOS, RHEL, RPM-Based"%}} + +1. To upgrade to the latest version of the Instance Manager, run the following command: + + ```bash + sudo yum update -y nms-instance-manager + ``` + +{{%/tab%}} + +{{%tab name="Debian, Ubuntu, Deb-Based"%}} + +1. To upgrade to the latest version of the Instance Manager, run the following command: + + ```bash + sudo apt-get update + sudo apt-get install -y --only-upgrade nms-instance-manager + ``` + +{{%/tab%}} +{{}} + +2. Restart the NGINX Instance Manager platform services: + + ```bash + sudo systemctl restart nms + ``` + + NGINX Instance Manager components started this way run by default as the non-root `nms` user inside the `nms` group, both of which are created during installation. + +3. Restart the NGINX web server: + + ```bash + sudo systemctl restart nginx + ``` + +4. (Optional) If you use SELinux, follow the steps in the [Configure SELinux]({{< ref "nim/system-configuration/configure-selinux.md" >}}) guide to restore the default SELinux labels (`restorecon`) for the files and directories related to NGINX Management suite. + +--- + +## Next steps + +- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) diff --git a/content/nim/deploy/vm-bare-metal/install.md b/content/nim/deploy/vm-bare-metal/install.md index 8e4a1ae44..5e7dea31b 100644 --- a/content/nim/deploy/vm-bare-metal/install.md +++ b/content/nim/deploy/vm-bare-metal/install.md @@ -1,7 +1,7 @@ --- description: '' docs: DOCS-1211 -title: Install on a virtual machine or bare metal using a script +title: Install the latest NGINX Instance Manager with a script toc: true weight: 10 type: @@ -12,9 +12,16 @@ type: ## Overview -This guide explains how to install F5 NGINX Instance Manager on a virtual machine or bare metal system using the `install-nim-bundle.sh` script. +This guide shows you how to install and upgrade F5 NGINX Instance Manager on a virtual machine or bare metal system using the installation script in online mode. -The script simplifies the installation by automating tasks such as verifying system requirements, configuring services, and managing environment-specific options. For more control or an alternative approach, you can refer to the [manual installation guide]({{< ref "nim/deploy/vm-bare-metal/install-nim-deprecated.md" >}}), which provides detailed, step-by-step instructions. +The script installs: + +- The latest version of NGINX Open Source +- The latest version of NGINX Instance Manager +- ClickHouse by default, unless you choose to skip it +- Optionally, NGINX Plus (requires a license and additional flags) + +The script also installs all required operating system packages automatically. If you need to install earlier versions of NGINX or NGINX Instance Manager, follow the [manual installation process](({{< ref "nim/deploy/vm-bare-metal/install-nim-manual.md" >}})) instead. --- @@ -22,6 +29,10 @@ The script simplifies the installation by automating tasks such as verifying sys Follow these steps to prepare for installing NGINX Instance Manager: +- **Download the installation script**: + + {{}} {{}} + - **Download the certificate and private key** (see the steps [below](#download-cert-key)): Use the certificate and private key for NGINX Instance Manager (the same files used for NGINX Plus). - Ensure the files have `.crt` and `.key` extensions. @@ -31,43 +42,28 @@ Follow these steps to prepare for installing NGINX Instance Manager: - **Check for previous deployments**: Ensure that NGINX Instance Manager and its components are not already installed. - - If NGINX Instance Manager or its components (such as ClickHouse or NGINX) are detected, either follow the [upgrade instructions](#upgrade-nim) to update them or [manually remove the components](#uninstall-nim) before proceeding with the installation. - -- **Record the version details**: - Note the current version of NGINX Instance Manager and confirm the supported version of NGINX OSS or NGINX Plus you intend to use. - - By default, the script installs the latest version. + + If NGINX Instance Manager or its components (such as ClickHouse or NGINX) are detected, either follow the [upgrade instructions](#upgrade-nim) to update them or [manually remove the components](#uninstall-nim) before proceeding with the installation. - **(Optional) Install and configure Vault**: If you plan to use Vault, set it up before proceeding. -### Security considerations - -To ensure that your NGINX Instance Manager deployment remains secure, follow these recommendations: - -- Install NGINX Instance Manager on a dedicated machine (bare metal, container, cloud, or VM). -- Ensure that no other services are running on the same machine. - ---- - -## Requirements - ### Supported NGINX versions and Linux distributions -
      - Supported NGINX versions - -{{< include "nim/tech-specs/supported-nginx-versions.md" >}} +The installation script installs the latest version of [NGINX Open Source](https://nginx.org/news.html) or [NGINX Plus](https://docs.nginx.com/nginx/releases/). -
      +To see the list of supported distributions, run: -
      - Supported Linux distributions - -{{< include "nim/tech-specs/supported-distros.md" >}} +```shell +grep '\-d distribution' install-nim-bundle.sh +``` -
      +### Security considerations +To ensure that your NGINX Instance Manager deployment remains secure, follow these recommendations: +- Install NGINX Instance Manager on a dedicated machine (bare metal, container, cloud, or VM). +- Ensure that no other services are running on the same machine. --- @@ -77,7 +73,7 @@ Download the certificate and private key required for NGINX Instance Manager. Th 1. On the host where you're installing NGINX Instance Manager, create the **/etc/ssl/nginx/** directory: - ```bash + ```shell sudo mkdir -p /etc/ssl/nginx ``` @@ -85,16 +81,16 @@ Download the certificate and private key required for NGINX Instance Manager. Th 3. Move and rename the cert and key files to the correct directory: - ```bash + ```shell sudo mv nginx-.crt /etc/ssl/nginx/nginx-repo.crt sudo mv nginx-.key /etc/ssl/nginx/nginx-repo.key ``` --- -## Download and run the installation script {#download-install} +## Prepare the system and run the installation script {#download-install} -Download the `install-nim-bundle.sh` script: +If you haven’t already downloaded the script, you can download it here: {{}} {{}} @@ -116,66 +112,75 @@ The script supports only new installations. If NGINX Instance Manager is already Ensure that the required `.crt` and `.key` files are available, preferably in the default **/etc/ssl/nginx** directory. Missing certificates or keys will prevent the script from completing the installation. +#### Verify If Metrics Are Required (Exclude ClickHouse) + +In 2.20.0, we introduced Lightweight mode, which means you can skip the ClickHouse installation entirely. It’s ideal if you don’t need monitoring data or want a simpler setup. This reduces system requirements and avoids the work of managing a metrics database. You can add ClickHouse later if your needs change. + #### Use the manual installation steps if needed -If the script fails or if you prefer more control over the process, consider using the [manual installation steps]({{< ref "nim/deploy/vm-bare-metal/install-nim-deprecated.md" >}}). These steps provide a reliable alternative for troubleshooting or handling complex setups. +If the script fails or if you prefer more control over the process, consider using the [manual installation steps]({{< ref "nim/deploy/vm-bare-metal/install-nim-manual.md" >}}). These steps provide a reliable alternative for troubleshooting or handling complex setups. ### Run the installation script -The `install-nim-bundle.sh` script automates the installation of NGINX Instance Manager. By default, the script: - -- Assumes no prior installation of NGINX Instance Manager or its dependencies and performs a fresh installation. -- Reads SSL files from the `/etc/ssl/nginx` directory. -- Installs the latest version of NGINX Open Source (OSS). -- Installs the ClickHouse database. -- Installs NGINX Instance Manager. -- Requires an active internet connection. +The `install-nim-bundle.sh` script automates installing NGINX Instance Manager. -{{< warning >}} +By default, the script: -As noted in [About subscription licenses]({{< ref "solutions/about-subscription-licenses.md#apply-the-jwt" >}}), **custom paths won't work until you upgrade to NGINX Plus R33**. +- Assumes no prior installation of NGINX Instance Manager or its dependencies +- Reads SSL files from the `/etc/ssl/nginx` directory +- Installs the latest version of NGINX Open Source (OSS) +- Installs the ClickHouse database +- Installs the latest version of NGINX Instance Manager +- Requires an active internet connection -{{< /warning >}} +#### Installation script options -When you run the script, it downloads and installs NGINX Instance Manager. +You can customize the installation using the following options: -If you want to use the script with non-default options, use these switches: -- To point to a repository key stored in a directory other than **/etc/ssl/nginx**: `-k /path/to/your/` file -- To point to a repository certificate stored in a directory other than **/etc/ssl/nginx**: `-c /path/to/your/` file -- To install NGINX Plus (instead of NGINX OSS): `-p -j /path/to/license.jwt` +| Category | Option or Flag | +|----------|----------------| +| **Installation platform** | {{< include "nim/installation/install-script-flags/distribution.md" >}} | +| **SSL certificate and key** | {{< include "nim/installation/install-script-flags/cert.md" >}}
      {{< include "nim/installation/install-script-flags/key.md" >}} | +| **NGINX installation** | `-n` Install the latest version of NGINX Open Source. *(Default if `-n` or `-p` not specified)*

      `-p` Install NGINX Plus as the API gateway. Must be used with `-j` to provide a JWT license.

      `-j ` Path to the `license.jwt` file. Required when using `-p`. | +| **ClickHouse installation** | {{< include "nim/installation/install-script-flags/skip-clickhouse.md" >}}
      {{< include "nim/installation/install-script-flags/clickhouse-version.md" >}} | -{{< note >}} Starting from [NGINX Plus Release 33]({{< ref "nginx/releases.md#r33" >}}), a JWT file is required for each NGINX Plus instance. For more information, see [About Subscription Licenses]({{< ref "/solutions/about-subscription-licenses.md">}}). {{< /note >}} +**Example: install with default key and certificate paths** -You also need to specify the current operating system. To get the latest list supported by the script, run the following command: +To use the script to install NGINX Instance Manager on Ubuntu 24.04, with repository keys in the default `/etc/ssl/nginx` directory, with the latest version of NGINX Open Source, run the following command: ```bash -grep '\-d distribution' install-nim-bundle.sh +sudo bash install-nim-bundle.sh -d ubuntu24.04 ``` -For example, to use the script to install NGINX Instance Manager on Ubuntu 24.04, with repository keys in the default `/etc/ssl/nginx` directory, with the latest version of NGINX OSS, run the following command: +
      -```bash -sudo bash install-nim-bundle.sh -n latest -d ubuntu24.04 -j /path/to/license.jwt -``` +**Example: install with custom repo key and certificate** To install NGINX Instance Manager on Ubuntu 24.04 with the latest version of NGINX Plus by pointing to the location of your NGINX cert and key, run the following command: ```bash -sudo bash install-nim-bundle.sh -c /path/to/nginx-repo.crt -k /path/to/nginx-repo.key -p latest -d ubuntu24.04 -j /path/to/license.jwt +sudo bash install-nim-bundle.sh \ + -c \ + -k \ + -p \ + -d ubuntu24.04 \ + -j ``` -In most cases, the script completes the installation of NGINX Instance Manager and associated packages. After installation is complete, the script takes a few minutes to generate a password. At the end of the process, you'll see an autogenerated password: +
      + +After installing NGINX Instance Manager and related packages, the script generates an admin password. This may take a few minutes to appear: ```bash Regenerated Admin password: ``` -Save that password. You'll need it when you sign in to NGINX Instance Manager. +Save this password. You'll need it to log in to NGINX Instance Manager. ### Problems and additional script parameters -There are multiple parameters to configure in the Installation script. If you see fatal errors when running the script, first run the following command, which includes command options that can help you bypass problems: +There are multiple parameters to configure in the installation script. If you see fatal errors when running the script, first run the following command, which includes command options that can help you bypass problems: ```bash bash install-nim-bundle.sh -h @@ -201,43 +206,30 @@ In some cases, the script may need to be re-run due to parameters not being set ```bash bash install-nim-bundle.sh -r ``` ---- - -## Post-installation steps - -### Configure ClickHouse {#configure-clickhouse} - - -{{}}NGINX Instance Manager relies on [ClickHouse](https://clickhouse.com) **24.9.2.42** or later to store essential data, including metrics, events, alerts, and configuration settings.{{}} - -{{}}The NGINX Instance Manager installation script also installs ClickHouse with a blank password. Update the **/etc/nms/nms.conf** file with it after installing NGINX Instance Manager. Otherwise, NGINX Instance Manager won't start. For more information on customizing ClickHouse settings, refer to the [Configure ClickHouse]({{< ref "/nim/system-configuration/configure-clickhouse.md" >}}) topic. {{}} +--- -#### ClickHouse default settings +## Optional post-installation steps -NGINX Instance Manager uses the following default values for ClickHouse: +### Configure ClickHouse -{{}}You can customize these settings. However, if you use custom settings, make sure to follow the [Configure ClickHouse]({{< ref "/nim/system-configuration/configure-clickhouse.md" >}}) instructions to update the **nms.conf** file after you've installed NGINX Instance Manager. Otherwise, NGINX Instance Manager won't be able to connect to ClickHouse.{{}} +{{< include "nim/installation/optional-steps/configure-clickhouse.md" >}} -{{< include "installation/clickhouse-defaults.md" >}} +### Disable metrics collection -### (Optional) Install and configure Vault {#install-vault} +{{< include "nim/installation/optional-steps/disable-metrics-collection.md" >}} -NGINX Instance Manager can use [Vault](https://www.vaultproject.io/) as a datastore for secrets. -To install and enable Vault, follow these steps: +### Install and configure Vault {#install-vault} -- Follow Vault's instructions to [install Vault 1.8.8 or later](https://www.vaultproject.io/docs/install) for your distribution. -- Ensure you're running Vault in a [production-hardened environment](https://learn.hashicorp.com/tutorials/vault/production-hardening). -- After installing NGINX Instance Manager, follow the steps to [configure Vault for storing secrets]({{< ref "/nim/system-configuration/configure-vault.md" >}}). +{{< include "nim/installation/optional-steps/install-configure-vault.md" >}} -### (Optional) Configure SELinux -SELinux helps secure your deployment by enforcing mandatory access control policies. +### Configure SELinux -If you use SELinux, follow the steps in the [Configure SELinux]({{< ref "/nim/system-configuration/configure-selinux.md" >}}) guide to restore SELinux contexts (`restorecon`) for the files and directories related to NGINX Instance Manager. +{{< include "nim/installation/optional-steps/configure-selinux.md" >}} -### License NGINX Instance Manager +## License NGINX Instance Manager {{< include "nim/admin-guide/license/connected-install-license-note.md" >}} @@ -271,7 +263,7 @@ If you use SELinux, follow the steps in the [Configure SELinux]({{< ref "/nim/sy sudo apt-get install -y --only-upgrade nms-instance-manager ``` -1. To upgrade to the latest version of Clickhouse, run the following commands: +1. To upgrade to the latest version of ClickHouse, run the following commands: ```bash sudo apt-get update @@ -308,3 +300,9 @@ If you use SELinux, follow the steps in the [Configure SELinux]({{< ref "/nim/sy ## Uninstall NGINX Instance Manager {#uninstall-nim} {{< include "nim/uninstall/uninstall-nim.md" >}} + +--- + +## Next steps + +- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) diff --git a/content/nim/disconnected/_index.md b/content/nim/disconnected/_index.md index c0f6f954b..3df3312cb 100644 --- a/content/nim/disconnected/_index.md +++ b/content/nim/disconnected/_index.md @@ -1,5 +1,5 @@ --- -title: Disconnected environments +title: Deploy in a disconnected environment weight: 30 url: /nginx-instance-manager/disconnected/ cascade: diff --git a/content/nim/disconnected/add-license-disconnected-deployment.md b/content/nim/disconnected/add-license-disconnected-deployment.md index 0a38ddec3..e4a272a6a 100644 --- a/content/nim/disconnected/add-license-disconnected-deployment.md +++ b/content/nim/disconnected/add-license-disconnected-deployment.md @@ -1,5 +1,5 @@ --- -title: Add a license in a disconnected environment +title: Add a license (disconnected) draft: false description: '' weight: 200 @@ -25,7 +25,7 @@ This guide shows you how to add a license to NGINX Instance Manager in a disconn ### Set the operation mode to disconnected -To configure NGINX Instance Manager for a network-restricted environment, you need to set the `mode_of_operation` to `disconnected` in the configuration file. +To configure NGINX Instance Manager for a disconnected environment, you need to set the `mode_of_operation` to `disconnected` in the configuration file. {{< include "nim/disconnected/set-mode-of-operation-disconnected.md" >}} diff --git a/content/nim/disconnected/offline-install-guide-deprecated.md b/content/nim/disconnected/offline-install-guide-manual.md similarity index 81% rename from content/nim/disconnected/offline-install-guide-deprecated.md rename to content/nim/disconnected/offline-install-guide-manual.md index 7f07ebff4..13456b043 100644 --- a/content/nim/disconnected/offline-install-guide-deprecated.md +++ b/content/nim/disconnected/offline-install-guide-manual.md @@ -1,5 +1,5 @@ --- -title: Manually install in a disconnected environment (deprecated) +title: Manually install any version of NGINX Instance Manager (disconnected) weight: 100 toc: true noindex: true @@ -8,18 +8,15 @@ product: NIM docs: DOCS-000 --- -{{}} -This document outlines manual steps that have been replaced by a simplified script-based process. For most users, we recommend using the updated process documented [here]({{< ref "nim/disconnected/offline-install-guide.md" >}}).{{}} - ## Overview This guide explains how to install and upgrade NGINX Instance Manager in environments without Internet access. It covers key steps, including downloading packages, managing dependencies, and configuring the system for offline use. You’ll also learn how to set up NGINX Instance Manager in disconnected mode and manually update the CVE list to keep your system secure. ## Before you begin -{{}} +{{< call-out "important" "Complete the required prerequisites" "fas fa-exclamation-triangle" >}} You must complete the following prerequisite steps **before** installing NGINX Instance Manager. **Skipping these steps could cause installation issues**. -{{}} +{{}} ### Security considerations @@ -96,17 +93,14 @@ To download external dependencies: sudo dpkg -i ./*.deb ``` - {{< call-out "important" "Setting a custom ClickHouse password" "fas fa-exclamation-triangle" >}} - - When installing ClickHouse, you can set a password or leave it blank (default is an empty string). If you set a password, make sure to update the **/etc/nms/nms.conf** file with it after installing NGINX Instance Manager. Otherwise, NGINX Instance Manager won't start. For more information on customizing ClickHouse settings, refer to the [Configure ClickHouse]({{< ref "/nim/system-configuration/configure-clickhouse.md" >}}) topic. - - {{}} - - --- ## Install NGINX Instance Manager {#install-nim-offline} +{{< call-out "important" "Save the password!" "" >}} +The administrator username (default: **admin**) and the generated password are displayed in the terminal during installation. Be sure to record the password and store it securely. +{{}} + 1. Log in to the [MyF5 Customer Portal](https://account.f5.com/myf5) and download the NGINX Instance Manager package files. 2. Install the NGINX Instance Manager package: @@ -123,10 +117,6 @@ To download external dependencies: sudo apt-get -y install -f /home//nms-instance-manager__amd64.deb ``` - {{< call-out "important" "Save the password!" "fas fa-exclamation-triangle" >}} - The administrator username (default: **admin**) and the generated password are displayed in the terminal during installation. Be sure to record the password and store it securely. - {{}} - 3. Enable and start NGINX Instance Manager services: ```bash @@ -149,9 +139,25 @@ To download external dependencies: --- -## Post-installation steps (optional) +## Optional post-installation steps + +### Configure ClickHouse + +{{< include "nim/installation/optional-steps/configure-clickhouse.md" >}} -{{< include "installation/optional-installation-steps.md" >}} +### Disable metrics collection + +{{< include "nim/installation/optional-steps/disable-metrics-collection.md" >}} + + +### Install and configure Vault {#install-vault} + +{{< include "nim/installation/optional-steps/install-configure-vault.md" >}} + + +### Configure SELinux + +{{< include "nim/installation/optional-steps/configure-selinux.md" >}} ## Upgrade NGINX Instance Manager {#upgrade-nim-offline} @@ -192,3 +198,8 @@ sudo chmod 644 /usr/share/nms/cve.xml && \ sudo systemctl restart nms-dpm ``` +--- + +## Next steps + +- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) \ No newline at end of file diff --git a/content/nim/disconnected/offline-install-guide.md b/content/nim/disconnected/offline-install-guide.md index 039854089..ae422d800 100644 --- a/content/nim/disconnected/offline-install-guide.md +++ b/content/nim/disconnected/offline-install-guide.md @@ -1,5 +1,5 @@ --- -title: Install in a disconnected environment using a script +title: Install the latest NGINX Instance Manager with a script (disconnected) toc: true weight: 100 type: how-to @@ -11,9 +11,17 @@ docs: DOCS-803 ## Overview -This guide shows you how to install and upgrade NGINX Instance Manager in environments without internet access. It covers key steps, including downloading packages, managing dependencies, and configuring the system for offline use. You’ll also learn how to set up NGINX Instance Manager in disconnected mode and update the CVE list manually to keep your system secure. +This guide shows you how to install and upgrade F5 NGINX Instance Manager in disconnected environments. -{{}}If you prefer to follow the original manual steps, you can access the [deprecated guide]({{< ref "nim/disconnected/offline-install-guide-deprecated.md" >}}). Please note that this guide is no longer actively maintained and may not reflect the latest updates or best practices.{{}} +The script installs: + +- The latest version of NGINX Open Source +- The latest version of NGINX Instance Manager +- ClickHouse by default, unless you choose to skip it + +NGINX Plus is not supported in disconnected mode. + +If you need to install earlier versions of NGINX or NGINX Instance Manager, follow the [manual installation process](({{< ref "nim/deploy/vm-bare-metal/install-nim-manual.md" >}})) instead. --- @@ -41,7 +49,7 @@ Ensure that the required `.crt` and `.key` files are available, preferably in th #### Use the manual installation steps if needed -If the script fails or if you prefer more control over the process, consider using the [manual installation steps]({{< ref "nim/disconnected/offline-install-guide-deprecated.md" >}}). These steps provide a reliable alternative for troubleshooting or handling complex setups. +If the script fails or if you prefer more control over the process, consider using the [manual installation steps]({{< ref "nim/disconnected/offline-install-guide-manual.md" >}}). These steps provide a reliable alternative for troubleshooting or handling complex setups. ### Download the SSL Certificate and Private Key from MyF5 @@ -56,47 +64,45 @@ Download the SSL certificate and private key required for NGINX Instance Manager {{}} {{}} -### Use the script to Download the necessary packages to Install NGINX Instance Manager in a Disconnected environment - -To run the script, enter the following command, replacing `` and `` with the full paths and filenames of your SSL certificate and private key files: +## Package NGINX Instance Manager and dependencies for offline installation -```shell -sudo bash install-nim-bundle.sh \ - -c \ - -k \ - -m offline \ - -d \ - -v -``` +Run the installation script in `offline` mode to download NGINX Instance Manager, NGINX Open Source, ClickHouse (unless skipped), and all required dependencies into a tarball for use in disconnected environments. -
      +### Installation script options -By default, this command installs the latest version of NGINX Open Source to run NGINX Instance Manager. NGINX Plus is currently not supported when using the script in Disconnected mode. Please see this guide to install NGINX Plus offline if you would like to use this in front of NGINX Instance Manager +| Category | Option or Flag | +|----------|----------------| +| **Installation mode and platform** | `-m offline`: Required to package the installation files into a tarball for disconnected environments.
      {{< include "nim/installation/install-script-flags/distribution.md" >}} | +| **SSL certificate and key** | {{< include "nim/installation/install-script-flags/cert.md" >}}
      {{< include "nim/installation/install-script-flags/key.md" >}} | +| **NGINX installation** | `-n`: Include the latest version of NGINX Open Source in the tarball.

      This option is optional in `offline` mode—if not specified, the script installs the latest version of NGINX Open Source by default.

      NGINX Plus is **not supported** when using the script in offline mode.

      To install NGINX Plus offline, see the [manual installation guide]({{< ref "nginx/admin-guide/installing-nginx/installing-nginx-plus.md#offline_install" >}}). | +| **ClickHouse installation** | {{< include "nim/installation/install-script-flags/skip-clickhouse.md" >}}
      {{< include "nim/installation/install-script-flags/clickhouse-version.md" >}} | -
      +### Example: packaging command -**Explanation of options:** - -- **`-c`**: Uses the specified SSL certificate file. Copies the file to the /etc/ssl/nginx directory. -- **`-k`**: Uses the specified private key file. Copies the file to the /etc/ssl/nginx directory. -- **`-m`**: Sets the installation mode (use `offline` for disconnected environments). -- **`-d`**: Defines the target distribution (replace `` with one of the supported options below). -- **`-n`**: Installs a specific version of NGINX Open Source. Use `latest` to install the most recent version or specify a version like `1.27.1`. The script defaults to installing the latest version of NGINX Open Source. -- **`-v`**: Installs the specified version of NGINX Instance Manager. Use `latest` for the newest version or a specific release like `2.18.0`. If you skip this option, the script assumes you want to install `latest`. + ```shell + sudo bash install-nim-bundle.sh \ + -c \ + -k \ + -m offline \ + -d \ + -v + ``` -**Supported distributions:** +--- -To get the latest list supported by the script, run the following command: +## Install NGINX Instance Manager -```bash -grep '\-d distribution' install-nim-bundle.sh -``` +After you’ve packaged the installation files on a connected system, copy the tarball, script, and SSL files to your disconnected system. Then, run the script again to install NGINX Instance Manager using the tarball. -The script downloads the required packages and adds them to a tarball file. You’ll need to copy this tarball to the target machine in the disconnected environment. +### Required flags for installing in offline mode ---- +- `-m offline`: Required to run the script in offline mode. When used with `-i`, the script installs NGINX Instance Manager and its dependencies from the specified tarball. +- `-i `: Path to the tarball created during the packaging step. +- {{< include "nim/installation/install-script-flags/cert.md" >}} +- {{< include "nim/installation/install-script-flags/key.md" >}} +- `-d `: Target Linux distribution (must match what was used during packaging). -## Install NGINX Instance Manager +### Install from the tarball 1. Copy the following files to the target system: - `install-nim-bundle.sh` script @@ -108,11 +114,11 @@ The script downloads the required packages and adds them to a tarball file. You ```shell sudo bash install-nim-bundle.sh \ - -c - -k \ - -m offline \ - -d \ + -m offline -i + -c + -k \ + -d \ ``` 3. **Save the admin password**. In most cases, the script completes the installation of NGINX Instance Manager and associated packages. After installation is complete, the script takes a few minutes to generate a password. At the end of the process, you'll see an autogenerated password: @@ -133,9 +139,25 @@ The script downloads the required packages and adds them to a tarball file. You --- -## Post-installation steps (optional) +## Optional post-installation steps + +### Configure ClickHouse + +{{< include "nim/installation/optional-steps/configure-clickhouse.md" >}} + +### Disable metrics collection + +{{< include "nim/installation/optional-steps/disable-metrics-collection.md" >}} + -{{< include "installation/optional-installation-steps.md" >}} +### Install and configure Vault {#install-vault} + +{{< include "nim/installation/optional-steps/install-configure-vault.md" >}} + + +### Configure SELinux + +{{< include "nim/installation/optional-steps/configure-selinux.md" >}} --- @@ -184,3 +206,8 @@ sudo chmod 644 /usr/share/nms/cve.xml && \ sudo systemctl restart nms-dpm ``` +--- + +## Next steps + +- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) \ No newline at end of file diff --git a/content/nim/disconnected/report-usage-disconnected-deployment.md b/content/nim/disconnected/report-usage-disconnected-deployment.md index a63763654..afe228b1a 100644 --- a/content/nim/disconnected/report-usage-disconnected-deployment.md +++ b/content/nim/disconnected/report-usage-disconnected-deployment.md @@ -1,5 +1,5 @@ --- -title: Report usage to F5 in a disconnected environment +title: Report usage data to F5 (disconnected) draft: false weight: 300 toc: true diff --git a/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md b/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md index 45745bd24..2a70c574d 100644 --- a/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md +++ b/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md @@ -30,7 +30,7 @@ Complete the following prerequisites before proceeding with the steps in this gu {{< include "nim/tech-specs/security-data-plane-dependencies.md" >}} 1. Determine your use case: **Security Monitoring only** or **Security Monitoring and Configuration Management**. -1. [Upload your license]({{< ref "/nim/admin-guide/license/add-license.md" >}}). +1. [Upload your license]({{< ref "/nim/admin-guide/add-license.md" >}}). --- diff --git a/content/nim/nginx-instances/add-instance.md b/content/nim/nginx-instances/add-instance.md new file mode 100644 index 000000000..760052759 --- /dev/null +++ b/content/nim/nginx-instances/add-instance.md @@ -0,0 +1,49 @@ +--- +title: "Add an NGINX instance" +weight: 100 +toc: false +nd-content-type: how-to +nd-product: NIM +--- + +This guide shows you how to add NGINX Open Source and NGINX Plus instances to F5 NGINX Instance Manager so you can manage them from a central dashboard. + +## Before you begin + +Make sure you have: + +- One or more instances running [NGINX Open Source]({{< ref "nginx/admin-guide/installing-nginx/installing-nginx-open-source.md" >}}) or [NGINX Plus]({{< ref "nginx/admin-guide/installing-nginx/installing-nginx-plus.md" >}}). +- Admin access to NGINX Instance Manager. + +## Add instances + +1. Open the NGINX Instance Manager web interface and log in. +2. In the **Manage** section on the left, select **Instances**. +3. Select **Add**. +4. Copy the `curl` command. +5. On the host where your NGINX instance is running, run the `curl` command to install NGINX Agent: + + ```shell + curl https:///install/nginx-agent | sudo sh + ``` + +6. On the same host, run the following command to start NGINX Agent: + + ```shell + sudo systemctl start nginx-agent + ``` + +## Set up metrics reporting + +### Enable NGINX Plus API + +{{< include "/use-cases/monitoring/enable-nginx-plus-api.md" >}} + +### Enable NGINX Open Source Stub Status API + +{{< include "/use-cases/monitoring/enable-nginx-oss-stub-status.md" >}} + +## Next steps + +- [Add instances to instance groups]({{< ref "nim/nginx-instances/manage-instance-groups.md" >}}) +- [Add managed certificates]({{< ref "nim/nginx-instances/manage-certificates.md" >}}) \ No newline at end of file diff --git a/content/nim/releases/known-issues.md b/content/nim/releases/known-issues.md index e880979e4..b45a829c8 100644 --- a/content/nim/releases/known-issues.md +++ b/content/nim/releases/known-issues.md @@ -13,6 +13,83 @@ This document lists and describes the known issues and possible workarounds in F --- +## 2.20.0 + +June 16, 2025 + +### {{% icon-bug %}} Failing to fetch CVE data when using forward proxy in K8s environments {#46177} + +{{}} +| Issue ID | Status | +|----------------|--------| +| 46177 | Open | +{{}} + +#### Description + +Fetching latest CVE data from internet might fail if you enable "ssl_verify" in Kubernetes environments. + + +#### Workaround + +1. Switch to the offline CVE database. To switch add the property "offline_nginx_cve: true" under the DPM section in the "nms.conf" file. + + ```cfg + dpm: + offline_nginx_cve: true + ``` + +2. Download the latest security advisories file from the [nginx.org repository]( https://raw.githubusercontent.com/nginx/nginx.org/main/xml/en/security_advisories.xml) and save them with "cve.xml" as filename in "/usr/share/nms/cve.xml” +3. Restart the `nms` service. + + ```shell + sudo systemctl restart nms + ``` + +After the restart you will see the line “loading CVE data from file” in the "nms.log" file. + +--- + +### {{% icon-bug %}} New warning message when no usage data or report is available {#46022} + +{{}} +| Issue ID | Status | +|----------------|--------| +| 46022 | Won't be resolved | +{{}} + +#### Description + +Users now see a warning message when they click the **Send Usage To F5** button if no new usage data or report is available. The message reads: + +> "Usage data is not available at the moment. Please try submitting usage details again later." + +--- + + +## 2.19.1 + +March 27, 2025 + +### {{% icon-resolved %}} The certificate stats are not displayed correctly in the Certificates and Keys page as well as the Dashboard page. {#45991} + +{{}} +| Issue ID | Status | +|----------------|--------| +| 45991 | Fixed in Instance Manager 2.20.0 | +{{}} + +#### Description + +When the dashboard page and certificates page are loaded, the count displayed for total, valid, expired, expires soon, managed and unmanaged are incorrect. + +#### Workaround + +The changes required have been made and the UI displays the values correctly now. Pagination also works well along with the certificate stats. + +--- + + ## 2.19.0 February 06, 2025 @@ -134,71 +211,19 @@ There is an issue that causes previous error messages to persist in the web inte --- -## 2.17.3 - -September 13, 2024 - -### {{% icon-resolved %}} The web interface can't display more than 100 certificates {#45565} - -{{}} -| Issue ID | Status | -|----------------|--------| -| 45565 | Fixed in Instance Manager 2.19.0 | -{{}} - -#### Description - -The Certificate Management screen can only show up to 100 certificates. - ---- - - ## 2.17.0 July 10, 2024 -### {{% icon-resolved %}} Mismatch in date formats in custom date selection on NGINX usage graph {#45512} - -{{}} -| Issue ID | Status | -|----------------|--------| -| 45512 | Fixed in Instance Manager 2.18.0 | -{{}} - -#### Description - -The months in the custom date range were not displayed correctly because NGINX Instance Manager assumed the data format was in the US timezone. - ---- - -### {{% icon-resolved %}} NGINX Agent 2.36.0 fails to validate certain NGINX configurations in NGINX Instance Manager 2.17.0 {#45153} - -{{}} -| Issue ID | Status | -|----------------|--------| -| 45153 | Fixed in nginxagent-2.36.0 | -{{}} - -#### Description - -In NGINX Instance Manager 2.17.0, an "invalid number of arguments" error appears in the web interface when using specific configuration parameters in NGINX Agent 2.36.0. - -#### Workaround - -Install NGINX Agent **2.35.1** if you're using NGINX Instance Manager 2.17.0. This version is included with NGINX Instance Manager 2.17.0 by default. - -If you're installing NGINX Agent from package files, follow the steps in the [Installing NGINX Agent](https://github.com/nginx/agent?tab=readme-ov-file#installing-nginx-agent-from-package-files) guide. - ---- - ### {{% icon-bug %}} Web Analytics are not enabled after upgrading Instance Manager when keeping existing nms-http.conf {#45131} {{}} + | Issue ID | Status | |----------------|--------| | 45131 | Open | -{{}} +{{}} #### Description When using NGINX Instance Manager, you configure OIDC by manually editing the /etc/nginx/conf.d/nms-http.conf and /etc/nms/nms.conf files. @@ -218,11 +243,12 @@ add_header Content-Security-Policy "default-src 'none'; block-all-mixed-content; ### {{% icon-bug %}} Failure to retrieve instance configuration when NAP-enabled instance doesn't register properly {#45113} {{}} + | Issue ID | Status | |----------------|--------| | 45113 | Open | -{{}} +{{}} #### Description If NGINX Agent is configured to monitor NGINX App Protect before App Protect is installed, NGINX Agent will send an empty App Protect metadata structure to NGINX Instance Manager. This causes Instance Manager to fail to register the NGINX instance properly. @@ -233,34 +259,6 @@ Edit the "/etc/nginx-agent/nginx-agent.conf" file and configure "precompiled_pub --- -### {{% icon-resolved %}} Failure to notify user when template configuration publish fails {#44975} - -{{}} -| Issue ID | Status | -|----------------|--------| -| 44975 | Fixed in Instance Manager 2.18.0 | -{{}} - -#### Description - -When publishing a configuration template fails, the system only displays "Accepted" without providing the final result, such as "Success" or "Failure." - ---- - -### {{% icon-resolved %}} Editing template submissions now allows for using most recent template version {#44971} - -{{}} -| Issue ID | Status | -|----------------|--------| -| 44971 | Fixed in Instance Manager 2.17.0 | -{{}} - -#### Description - -When editing a template submission, you can now choose between using a snapshot of the template from when it was first deployed or the latest version of the template. **Important:** Note that if you use the latest version, changes to the templates might make an augment template incompatible with a base template, causing the publication to the data plane to fail. - ---- - ## 2.15.0 diff --git a/content/nim/releases/release-notes.md b/content/nim/releases/release-notes.md index 9ab95c68a..0b0cbd200 100644 --- a/content/nim/releases/release-notes.md +++ b/content/nim/releases/release-notes.md @@ -17,11 +17,86 @@ The release notes for F5 NGINX Instance Manager highlight the latest features, i +--- + +## 2.20.0 + +June 16, 2025 + +### Upgrade Paths {#2-20-0-upgrade-paths} + +NGINX Instance Manager 2.20.0 supports upgrades from these previous versions: + +- 2.17.0 - 2.19.2 + +If your NGINX Instance Manager version is older, you may need to upgrade to an intermediate version before upgrading to the target version. + +### What's New{#2-20-0-whats-new} +This release includes the following updates: + +- {{% icon-feature %}} **Added support to report on multiple NGINX One subscriptions using a single instance of NGINX Instance Manager** + + Customers can have multiple NGINX One subscriptions or licenses with different attributes (prod, nonprod, etc.). Now a single NGINX Instance Manager can receive usage from these instances and send a bulk usage report to F5. + + We also simplified the licensing process for disconnected use cases. When running NGINX Instance Manager in disconnected mode, all features are enabled for 90 days when a JWT is uploaded. Customers have these 90 days to send the first usage report to activate the NGINX Instance Manager license. + +- {{% icon-feature %}} **Introducing lightweight mode** + + NGINX Instance Manager can now run in lightweight mode without the ClickHouse database dependency. This mode requires fewer resources and is perfect for customers who don’t need metrics-related functionality. It supports basic use cases such as: + + - Fleet management + - WAF configuration + - Usage tracking + - Certificate management + - Template automation + +- {{% icon-feature %}} **Improved web analytics sent to F5** + + NGINX Instance Manager now sends improved web analytics to F5. This helps F5 understand common use cases of NGINX Instance Manager and improve functionality. + + +### Changes in Default Behavior{#2-20-0-changes-in-behavior} +This release has the following changes in default behavior: + +- {{% icon-feature %}} **Breadcrumbs added for Overview, Manage, and Config templates** + + We have added breadcrumb navigation links for the "Overview", "Manage", and "Config" templates in the NGINX Instance Manager user interface. + +- {{% icon-feature %}} **Export instance groups to Excel** + + You can now export instance groups to a Microsoft Excel spreadsheet from the Instance Group section. + +- {{% icon-feature %}} **Export all instances functionality added** + + NGINX Instance Manager’s export function only included currently visible instances, not the full list. Customers had to run separate exports and merge data manually. + + An `Export All` button is now available under the Instances section. Clicking it downloads all instance details in a single Excel file. + +- {{% icon-feature %}} **Automatic feature enablement in disconnected instances on license upload** + + + NGINX Instance Manager now enables all features by default when you upload a license to a disconnected instance. This update ensures customers can begin using the full capabilities of the system without additional configuration. + + Customers have a 90-day window to complete the full license process. If they don’t complete it within this period, the instance is automatically deactivated. + + + +### Resolved Issues{#2-20-0-resolved-issues} + +This release fixes the following issues. Check the [Known Issues]({{< ref "/nim/releases/known-issues.md" >}}) topic for more information on the latest resolved issues. Use your browser's search function to find the issue ID in the page. + +- {{% icon-resolved %}} The certificate stats are not displayed correctly in the Certificates and Keys page as well as the Dashboard page. (45991) + + +### Known Issues{#2-20-0-known-issues} + +You can find information about known issues in the [Known Issues]({{< ref "/nim/releases/known-issues.md" >}}) topic. + --- ## 2.19.2 -May 08, 2025 +May 06, 2025 ### Upgrade Paths {#2-19-2-upgrade-paths} @@ -188,11 +263,11 @@ This release includes the following updates: This [Docker Compose option]({{< ref "nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md" >}}) unlocks another easy, production-ready installation method for customers using Docker. It will also make upgrades easier when new Docker images are released by F5 NGINX. This option includes health checking, NGINX App Protect compilation support, and security monitoring. -- {{% icon-feature %}} **Entitlement and visibility for NGINX Plus R33 – Telemetry reporting for network-restricted environments** +- {{% icon-feature %}} **Entitlement and visibility for NGINX Plus R33 – Telemetry reporting for disconnected environments** - If NGINX Instance Manager has internet access, customers can [automatically or manually send the usage data to F5]({{< ref "nim/admin-guide/license/report-usage-connected-deployment.md" >}}) as part of the new NGINX Plus R33 changes. + If NGINX Instance Manager has internet access, customers can [automatically or manually send the usage data to F5]({{< ref "nim/admin-guide/report-usage-connected-deployment.md" >}}) as part of the new NGINX Plus R33 changes. - For customers who have NGINX Instance Manager deployed in [network-restricted environments]({{< ref "nim/disconnected" >}}), this release also includes support for manual usage reporting. Customers can now manually license NGINX Instance Manager and export usage telemetry for fully disconnected environments. For usage reporting, customers can: + For customers who have NGINX Instance Manager deployed in [disconnected environments]({{< ref "nim/disconnected" >}}), this release also includes support for manual usage reporting. Customers can now manually license NGINX Instance Manager and export usage telemetry for fully disconnected environments. For usage reporting, customers can: - **Export the usage report**: Manually export the usage report from NGINX Instance Manager. - **Send the report to F5**: Submit the report to F5 for verification from a location with internet access. @@ -692,7 +767,7 @@ This release includes the following updates: - {{% icon-feature %}} **Use NGINX Plus Health Checks to easily track NGINX Plus Usage with NGINX Instance Manager** - The NGINX Plus Health Check feature now allows you to monitor the count of both NGINX Plus and NGINX App Protect instances that you've deployed. You can view this information in the "NGINX Plus" area of the "Instance Manager" web interface, or through the `/inventory` API. For guidance on how to set this up, refer to the following documentation: [View Count of NGINX Plus Instances]({{< ref "/nim/admin-guide/license/report-usage-connected-deployment.md" >}}). + The NGINX Plus Health Check feature now allows you to monitor the count of both NGINX Plus and NGINX App Protect instances that you've deployed. You can view this information in the "NGINX Plus" area of the "Instance Manager" web interface, or through the `/inventory` API. For guidance on how to set this up, refer to the following documentation: [View Count of NGINX Plus Instances]({{< ref "/nim/admin-guide/report-usage-connected-deployment.md" >}}). - {{% icon-feature %}} **Improved log output for better JSON parsing** @@ -731,7 +806,7 @@ This release includes the following updates: - {{% icon-feature %}} **New support for license tokens for automatic entitlement updates, renewals, and Flexible Consumption Reporting** - NGINX Management Suite now supports license tokens formatted as a JSON Web Token (JWT). With JWT licensing, you can automatically update entitlements during subscription renewals or amendments, and you can automate reporting for the Flexible Consumption Program (FCP). For more information, see the [Add a License]({{< ref "/nim/admin-guide/license/add-license.md" >}}) topic. + NGINX Management Suite now supports license tokens formatted as a JSON Web Token (JWT). With JWT licensing, you can automatically update entitlements during subscription renewals or amendments, and you can automate reporting for the Flexible Consumption Program (FCP). For more information, see the [Add a License]({{< ref "/nim/admin-guide/add-license.md" >}}) topic. ### Resolved Issues{#2-12-0-resolved-issues} @@ -1357,7 +1432,7 @@ This release includes the following updates: - {{% icon-feature %}} **Track NGINX Plus usage over time** - When viewing your NGINX Plus instances in the Instnace Manager web interface, you can set a date and time filter to review the [NGINX Plus instance count]({{< ref "/nim/admin-guide/license/report-usage-connected-deployment.md" >}}) for a specific period. Also, you can use the Instance Manager REST API to view the lowest, highest, and average number of NGINX Plus instances over time. + When viewing your NGINX Plus instances in the Instance Manager web interface, you can set a date and time filter to review the [NGINX Plus instance count]({{< ref "/nim/admin-guide/report-usage-connected-deployment.md" >}}) for a specific period. Also, you can use the Instance Manager REST API to view the lowest, highest, and average number of NGINX Plus instances over time. - {{% icon-feature %}} **New helm charts for each release of Instance Manager** @@ -1400,7 +1475,7 @@ This release includes the following updates: - {{% icon-feature %}} **See which of your NGINX Plus instances have NGINX App Protect installed** - Now, when you [view your NGINX Plus inventory]({{< ref "/nim/admin-guide/license/report-usage-connected-deployment.md" >}}), you can see which instances have [NGINX App Protect](https://www.nginx.com/products/nginx-app-protect/) installed. NGINX App Protect is a modern app‑security solution that works seamlessly in DevOps environments as a robust WAF or app‑level DoS defense, helping you deliver secure apps from code to customer. + Now, when you [view your NGINX Plus inventory]({{< ref "/nim/admin-guide/report-usage-connected-deployment.md" >}}), you can see which instances have [NGINX App Protect](https://www.nginx.com/products/nginx-app-protect/) installed. NGINX App Protect is a modern app‑security solution that works seamlessly in DevOps environments as a robust WAF or app‑level DoS defense, helping you deliver secure apps from code to customer. ### Changes in Default Behavior{#2-4-0-changes-in-behavior} @@ -1494,7 +1569,7 @@ This release includes the following updates: - {{% icon-feature %}} **Track the details for your NGINX Plus instances** - Easily track your NGINX Plus instances from the new NGINX Plus inventory list page. [View the current count for all your NGINX Plus instances]({{< ref "/nim/admin-guide/license/report-usage-connected-deployment.md" >}}), as well as each instance's hostname, UID, version, and the last time each instance was reported to Instance Manager. Select the `Export` button to export the list of NGINX Plus instances to a `.csv` file. + Easily track your NGINX Plus instances from the new NGINX Plus inventory list page. [View the current count for all your NGINX Plus instances]({{< ref "/nim/admin-guide/report-usage-connected-deployment.md" >}}), as well as each instance's hostname, UID, version, and the last time each instance was reported to Instance Manager. Select the `Export` button to export the list of NGINX Plus instances to a `.csv` file. - {{% icon-feature %}} **Explore events in NGINX Instance Manager with the Events Catalogs API** diff --git a/content/nim/system-configuration/configure-clickhouse.md b/content/nim/system-configuration/configure-clickhouse.md index 32e50bdb4..3f4a7f1be 100644 --- a/content/nim/system-configuration/configure-clickhouse.md +++ b/content/nim/system-configuration/configure-clickhouse.md @@ -12,84 +12,52 @@ type: ## Overview -Follow this guide to update the `/etc/nms/nms.conf` file if you used a custom address, username, or password, or enabled TLS during ClickHouse installation. NGINX Instance Manager requires this information to connect to ClickHouse. +NGINX Instance Manager uses ClickHouse to store metrics, events, alerts, and configuration data. +If your setup differs from the default configuration—for example, if you use a custom address, enable TLS, set a password, or turn off metrics—you need to update the `/etc/nms/nms.conf` file. -## Default ClickHouse values {#default-values} +This guide explains how to update those settings so that NGINX Instance Manager can connect to ClickHouse correctly. -Unless otherwise specified in the `/etc/nms/nms.conf` file, NGINX Instance Manager uses the following default values for ClickHouse: - -{{< include "installation/clickhouse-defaults.md" >}} - ---- - -## Use custom address, username, or password - -If your ClickHouse installation uses a custom address, username, or password, update the NGINX Instance Manager configuration to match. +## Change default settings {#change-settings} -To set custom values: +To change a ClickHouse setting: -1. Open the `/etc/nms/nms.conf` file on the NGINX Instance Manager server. -2. Update the following settings to match your ClickHouse configuration: +1. Open the configuration file at `/etc/nms/nms.conf`. - ```yaml - clickhouse: - address: tcp://localhost:9000 - username: - password: - ``` +2. In the `[clickhouse]` section, update the setting or settings you want to change. -3. Save and close the file. +3. Restart the NGINX Instance Manager service: ---- - -## Configure TLS - -If you enabled TLS for ClickHouse, update the `nms.conf` file settings to enable secure connections. + ```shell + sudo systemctl restart nms + ``` -To configure TLS: - -1. Open the `/etc/nms/nms.conf` file on the NGINX Instance Manager server. -2. Update the `clickhouse` TLS settings as needed: - - ```yaml - clickhouse: +Unless otherwise specified in the `/etc/nms/nms.conf` file, NGINX Instance Manager uses the following default values for ClickHouse: - # Sets the log level for ClickHouse processes within NMS. - log_level: debug +{{< include "nim/clickhouse/clickhouse-defaults.md" >}} - # Sets the address that will be used to connect to ClickHouse. - address: 127.0.0.1:9001 - ## Note: Username and password should only be set, if you have custom defined username and password for ClickHouse. - ## Ensure that any configured username or password is wrapped in single quotes. - # Sets the username that will be used to connect to ClickHouse. - username: 'test-1' +## Disable metrics collection - # Sets the password that will be used to connect to ClickHouse. - password: 'test-2' +As of version 2.20, NGINX Instance Manager can run without ClickHouse. This lightweight mode reduces system requirements and simplifies installation for users who do not need metrics. To use this setup, you must run NGINX Agent version {{< lightweight-nim-nginx-agent-version >}}. - # Activates or deactivates TLS for connecting to ClickHouse. - # Note: `tls_mode` will be deprecated in the future, use the `tls` key to enable TLS connection for ClickHouse. - tls_mode: true +To disable metrics collection after installing NGINX Instance Manager: - tls: - # Sets the address (form )used to connect to ClickHouse with a TLS connection. - address: 127.0.0.1:9441 +1. Open the configuration file at `/etc/nms/nms.conf`. - # Activates or deactivates TLS verification of ClickHouse connection. - skip_verify: false +2. In the `[clickhouse]` section, set the following value: - # Sets the path of the certificate used for TLS connections in PEM encoded format. - cert_path: /etc/certs + ```yaml + enable = false + ``` - # Sets the path of the client key used for TLS connections in PEM encoded format. - key_path: /etc/key +3. Restart the NGINX Instance Manager service: - # Sets the path of the Certificate Authority installed on the system for verifying certificates. - cert_ca: /etc/ca + ```shell + sudo systemctl restart nms + ``` - # Sets directory containing ClickHouse migration files. - migrations_path: /test/migrations - ``` +When metrics are turned off: -3. Save and close the file. +- The web interface no longer shows metrics dashboards. Instead, it displays a message explaining that metrics are turned off. +- Metrics-related API endpoints return a 403 error. +- All other NGINX Instance Manager features continue to work as expected. diff --git a/content/nim/system-configuration/configure-forward-proxy.md b/content/nim/system-configuration/configure-forward-proxy.md index a5f961404..f0d1bda26 100644 --- a/content/nim/system-configuration/configure-forward-proxy.md +++ b/content/nim/system-configuration/configure-forward-proxy.md @@ -1,5 +1,5 @@ --- -Title: Configure NGINX Instance Manager to use a forward proxy +Title: Use a third-party forward proxy weight: 2 toc: true type: how-to diff --git a/content/nim/system-configuration/configure-high-availability.md b/content/nim/system-configuration/configure-high-availability.md index 183288d10..5e679df7e 100644 --- a/content/nim/system-configuration/configure-high-availability.md +++ b/content/nim/system-configuration/configure-high-availability.md @@ -1,5 +1,5 @@ --- -Title: Configure high availability (HA) for NGINX Instance Manager +Title: High availability with keepalived weight: 3 toc: true type: how-to diff --git a/content/nim/system-configuration/configure-telemetry.md b/content/nim/system-configuration/configure-telemetry.md index 56bde9408..afdf834b8 100644 --- a/content/nim/system-configuration/configure-telemetry.md +++ b/content/nim/system-configuration/configure-telemetry.md @@ -37,13 +37,13 @@ The table below shows the captured telemetry data points, the trigger conditions | Login | When a user logs in to NGINX Instance Manager. No data about the user is sent, only the fact that a user successfully authenticated and the timestamp of the login event. | To understand how often users or systems access NGINX Instance Manager. | | Start/Stop processes | When any NGINX Instance Manager processes are started or stopped. | To gauge how often users upgrade NGINX Instance Manager or troubleshoot issues. This information helps F5 Support diagnose issues. | | Adding Data Plane(s) | When NGINX Agent registers with NGINX Instance Manager for the first time. No data about the data plane is sent, just that an NGINX Agent registered with the platform. | To understand the frequency and quantity of data planes being added to NGINX Instance Manager. This information helps inform our scale and performance targets and helps F5 Support diagnose issues. | -| Product Usage | Data is sent daily or when Send Usage is selected from the Licenses page in the web interface or initiated using the API. (Requires a [JWT license]({{< ref "/nim/admin-guide/license/add-license.md#jwt-license" >}}).) | To track and report commercial usage in accordance with entitlement and Flexible Consumption Program (FCP) requirements. | +| Product Usage | Data is sent daily or when Send Usage is selected from the Licenses page in the web interface or initiated using the API. (Requires a [JWT license]({{< ref "/nim/admin-guide/add-license.md#jwt-license" >}}).) | To track and report commercial usage in accordance with entitlement and Flexible Consumption Program (FCP) requirements. | {{}} ### Enable or disable telemetry -Once you [apply a valid license]({{< ref "/nim/admin-guide/license/add-license.md" >}}), telemetry data starts transmitting. If the license is applied immediately after installation, the *Installation* data point is also sent. +Once you [apply a valid license]({{< ref "/nim/admin-guide/add-license.md" >}}), telemetry data starts transmitting. If the license is applied immediately after installation, the *Installation* data point is also sent. #### Disable telemetry diff --git a/content/nim/system-configuration/configure-vault.md b/content/nim/system-configuration/configure-vault.md index 1400edeac..5f61cd308 100644 --- a/content/nim/system-configuration/configure-vault.md +++ b/content/nim/system-configuration/configure-vault.md @@ -1,6 +1,6 @@ --- docs: DOCS-999 -title: Configure Vault for storing secrets +title: Use Vault for storing secrets toc: true weight: 200 type: diff --git a/content/nim/system-configuration/configure-with-config.md b/content/nim/system-configuration/configure-with-config.md index 87f54ba33..18db798ca 100644 --- a/content/nim/system-configuration/configure-with-config.md +++ b/content/nim/system-configuration/configure-with-config.md @@ -1,7 +1,7 @@ --- description: '' docs: DOCS-1100 -title: Configure NGINX Instance Manager with nms.conf +title: Configure settings with nms.conf toc: true weight: 1 type: diff --git a/content/nim/system-configuration/secure-traffic.md b/content/nim/system-configuration/secure-traffic.md index aacba1d61..a4d03c4bf 100644 --- a/content/nim/system-configuration/secure-traffic.md +++ b/content/nim/system-configuration/secure-traffic.md @@ -1,6 +1,6 @@ --- docs: DOCS-794 -title: Secure Client Access and Network Traffic +title: Secure client access and network traffic toc: true weight: 600 type: @@ -468,7 +468,7 @@ To generate the necessary certificates, follow these steps. You can modify these ## Configure SSL verification for usage reporting with self-signed certificates {#configure-ssl-verify} {{}} -Usage reporting for NGINX Plus R33 or later in network-restricted environments requires **NGINX Instance Manager version 2.18 or later**. +Usage reporting for NGINX Plus R33 or later in disconnected environments requires **NGINX Instance Manager version 2.18 or later**. {{}} Starting with NGINX Plus R33, NGINX Plus must report usage data to a reporting endpoint, such as NGINX Instance Manager. For more information, see [About subscription licenses]({{< ref "solutions/about-subscription-licenses.md" >}}). diff --git a/content/nms/acm/how-to/deploy-api-connectivity-manager.md b/content/nms/acm/how-to/deploy-api-connectivity-manager.md index b8a4a8352..70e2dd054 100644 --- a/content/nms/acm/how-to/deploy-api-connectivity-manager.md +++ b/content/nms/acm/how-to/deploy-api-connectivity-manager.md @@ -198,7 +198,7 @@ If you've already deployed API Connectivity Manager and would like to upgrade to A valid license is required to make full use of all the features in API Connectivity Manager. -Refer to the [Add a License]({{< ref "/nim/admin-guide/license/add-license.md" >}}) topic for instructions on how to download and apply a trial license, subscription license, or Flexible Consumption Program license. +Refer to the [Add a License]({{< ref "/nim/admin-guide/add-license.md" >}}) topic for instructions on how to download and apply a trial license, subscription license, or Flexible Consumption Program license. --- diff --git a/content/nms/acm/how-to/install-acm.md b/content/nms/acm/how-to/install-acm.md index 3aa0e760f..264143d9a 100644 --- a/content/nms/acm/how-to/install-acm.md +++ b/content/nms/acm/how-to/install-acm.md @@ -81,7 +81,7 @@ type: A valid license is required to make full use of all the features in API Connectivity Manager. -Refer to the [Add a License]({{< ref "/nim/admin-guide/license/add-license.md" >}}) topic for instructions on how to download and apply a trial license, subscription license, or Flexible Consumption Program license. +Refer to the [Add a License]({{< ref "/nim/admin-guide/add-license.md" >}}) topic for instructions on how to download and apply a trial license, subscription license, or Flexible Consumption Program license. --- diff --git a/content/nms/acm/tutorials/advanced-routing.md b/content/nms/acm/tutorials/advanced-routing.md index 0531a0eb1..8977fbe40 100644 --- a/content/nms/acm/tutorials/advanced-routing.md +++ b/content/nms/acm/tutorials/advanced-routing.md @@ -43,7 +43,7 @@ In the steps that follow, we will: To complete the instructions in this guide, you need the following: -- [API Connectivity Manager is installed]({{< ref "/nms/acm/how-to/install-acm.md" >}}), [licensed]({{< ref "/nim/admin-guide/license/add-license.md" >}}), and running +- [API Connectivity Manager is installed]({{< ref "/nms/acm/how-to/install-acm.md" >}}), [licensed]({{< ref "/nim/admin-guide/add-license.md" >}}), and running - One or more [Service workspaces]({{< ref "/nms/acm/how-to/services/publish-api.md#create-a-service-workspace" >}}) - One or more [Proxies]({{< ref "/nms/acm/how-to/services/publish-api.md" >}}) diff --git a/content/solutions/about-subscription-licenses.md b/content/solutions/about-subscription-licenses.md index 1e942a09c..6fb2e484f 100644 --- a/content/solutions/about-subscription-licenses.md +++ b/content/solutions/about-subscription-licenses.md @@ -140,12 +140,12 @@ The instructions below use the terms "internet-connected" and "network-restricte #### License NGINX Instance Manager -- **Internet-connected**: Follow the steps in [Add license]({{< ref "nim/admin-guide/license/add-license.md" >}}). +- **Internet-connected**: Follow the steps in [Add license]({{< ref "nim/admin-guide/add-license.md" >}}). - **Network-restricted**: Follow the steps in [Add a license in a disconnected environment]({{< ref "nim/disconnected/add-license-disconnected-deployment.md" >}}). #### Submit usage reports to F5 from NGINX Instance Manager {#submit-usage-reports-from-nim} -- **Internet-connected**: Follow the steps in [Report usage to F5]({{< ref "nim/admin-guide/license/report-usage-connected-deployment.md" >}}). +- **Internet-connected**: Follow the steps in [Report usage to F5]({{< ref "nim/admin-guide/report-usage-connected-deployment.md" >}}). - **Network-restricted**: Follow the steps in [Report usage to F5 in a disconnected environment]({{< ref "nim/disconnected/report-usage-disconnected-deployment.md" >}}). ### NGINX App Protect WAF diff --git a/layouts/shortcodes/clickhouse-version.html b/layouts/shortcodes/clickhouse-version.html new file mode 100644 index 000000000..bd2a1af86 --- /dev/null +++ b/layouts/shortcodes/clickhouse-version.html @@ -0,0 +1 @@ +24.8.12.28 \ No newline at end of file diff --git a/layouts/shortcodes/lightweight-nim-nginx-agent-version.html b/layouts/shortcodes/lightweight-nim-nginx-agent-version.html new file mode 100644 index 000000000..fe35b6ea2 --- /dev/null +++ b/layouts/shortcodes/lightweight-nim-nginx-agent-version.html @@ -0,0 +1 @@ +2.41.1 or later \ No newline at end of file diff --git a/static/scripts/docker-compose/docker-compose-lightweight.yaml b/static/scripts/docker-compose/docker-compose-lightweight.yaml new file mode 100644 index 000000000..a88759453 --- /dev/null +++ b/static/scripts/docker-compose/docker-compose-lightweight.yaml @@ -0,0 +1,93 @@ +name: nim +secrets: + nim_admin_password: + file: admin_password.txt + # Optional: set admin and user credentials from a .htpasswd file. + #nim_credential_file: + # file: nim_creds.txt + # Optional: set external SSL certificate, key, and CA in PEM format for the NIM ingress proxy. + #nim_proxy_cert_file: + # file: ./certs/nim_cert.pem + #nim_proxy_cert_key: + # file: ./certs/nim_key.pem + #nim_proxy_ca_cert: + # file: ./certs/nim_ca.pem +services: + nim: + image: private-registry.nginx.com/nms/nim-standalone-compose:2.20.0 + hostname: nim + ports: + - 443:443 + networks: + - external_network + volumes: + - nim-data:/data + - proxy-certs:/usr/local/share/ca-certificates + # Uncomment to set custom service limits. + #deploy: + # resources: + # limits: + # cpus: '0.5' + # memory: '512M' + restart: no + healthcheck: + test: ["CMD", "sh", "/etc/nms/scripts/health.sh"] + interval: 30s + timeout: 10s + retries: 3 + stop_grace_period: 30s + secrets: + - nim_admin_password + # Uncomment this line if you use a .htpasswd credential file. The credential file takes priority over the nim_admin_password file. + #- nim_credential_file + # Uncomment these lines to use user-provided certificate, key, and CA for the NIM ingress proxy. + #- nim_proxy_cert_file + #- nim_proxy_cert_key + #- nim_proxy_ca_cert + environment: + # Set the NIM logging level. + NIM_LOG_LEVEL: "INFO" + # Set a custom time-to-live value (in days) for metrics retention. + NIM_METRICS_TTL: "1" + # Set a custom time-to-live value (in days) for event retention. + NIM_EVENTS_TTL: "1" + # Set a custom time-to-live value (in days) for security violation retention. + NIM_SECURITY_TTL: "1" + # Enable maintenance mode to perform backup, restore, and troubleshooting. + #NIM_MAINTENANCE: "true" + # Set a custom watchdog timeout (in seconds). + NIM_WATCHDOG_TIMEOUT: "60" + # Set the NIM license mode to connected or disconnected. Default is connected. + NIM_LICENSE_MODE_OF_OPERATION: "connected" + # Enable basic proxy support. + PROXY_ENABLE: false + # Configure the proxy server host. + PROXY_HOST: "" + # Configure the proxy server protocol (http or https). Default is http. + PROXY_PROTOCOL: "http" + # Configure the proxy server port. + PROXY_PORT: 3128 + # Enable basic authentication for the proxy. + PROXY_AUTH_REQUIRED: false + # Configure proxy username for basic authentication (required when proxy_auth_required is true). + PROXY_AUTH_USERNAME: "" + # Configure proxy password for basic authentication (required when proxy_auth_required is true). + # We recommend using a .env file for the password. + # PROXY_PASSWORD: "" + # Configure proxy SSL verification to trust the proxy server. + PROXY_SSL_VERIFY: true + ENABLE_METRICS: false +networks: + external_network: + driver: bridge +volumes: + # By default, Docker Compose creates a named volume. + # For additional storage options such as NFS, see https://docs.docker.com/reference/compose-file/volumes/. + proxy-certs: + driver: local + nim-data: + driver: local + #driver_opts: + # type: "nfs" + # o: "addr=172.16.0.92,rw" + # device: ":/mnt/nfs_share/data" \ No newline at end of file diff --git a/static/scripts/install-nim-bundle.sh b/static/scripts/install-nim-bundle.sh index 105399f0f..7dc020eac 100755 --- a/static/scripts/install-nim-bundle.sh +++ b/static/scripts/install-nim-bundle.sh @@ -19,29 +19,116 @@ NGINX_CERT_PATH="/etc/ssl/nginx/nginx-repo.crt" NGINX_CERT_KEY_PATH="/etc/ssl/nginx/nginx-repo.key" LICENSE_JWT_PATH="" USE_NGINX_PLUS="false" -USE_SM_MODULE="false" UNINSTALL_NIM="false" MODE="online" INSTALL_PATH="" -NIM_VERSION="latest" -NGINX_VERSION="latest" -NGINX_PLUS_VERSION="latest" -NIM_SM_VERSION="latest" -CLICKHOUSE_VERSION="latest" -CLICKHOUSE_LATEST_VERSION="24.9.2.42" -NGINX_LATEST_VERSION=1.27.3-1 -NIM_LATEST_VERSION=2.19.1 +SKIP_CLICKHOUSE_INSTALL="false" CURRENT_TIME=$(date +%s) TEMP_DIR="/tmp/${CURRENT_TIME}" TARGET_DISTRIBUTION="" -PACKAGE_INSTALLER="" NMS_NGINX_MGMT_BLOCK="mgmt { \n usage_report endpoint=127.0.0.1 interval=30m; \n ssl_verify off; \n}"; NIM_FQDN="" -NIM_CERTS_DIR="/etc/nms/certs" -# Added to account for the renaming of the adc dimension from application to app. -if [ -f "/usr/share/nms/catalogs/dimensions/application.yml" ]; then - rm /usr/share/nms/catalogs/dimensions/application.yml -fi +OS_ARCH="amd64" +UBUNTU_2004="ubuntu20.04" +UBUNTU_2204="ubuntu22.04" +UBUNTU_2404="ubuntu24.04" +DEBIAN_11="debian11" +DEBIAN_12="debian12" +CENTOS_8="centos8" +REDHAT_8="rhel8" +REDHAT_9="rhel9" +ORACLE_8="oracle8" +ORACLE_9="oracle9" +CLICKHOUSE_VERSION="24.9.2.42" +PKG_EXTENSION="deb" +UBUNTU_OS=( + "${UBUNTU_2004}" + "${UBUNTU_2204}" + "${UBUNTU_2404}" +) +DEB_OS=( + "${DEBIAN_11}" + "${DEBIAN_12}" +) +CENT_OS=( + "${CENTOS_8}" +) +RPM_OS=( + "${REDHAT_8}" + "${REDHAT_9}" + "${ORACLE_8}" + "${ORACLE_9}" +) +SUPPORTED_OS=() +SUPPORTED_OS+=("${DEB_OS[@]}") +SUPPORTED_OS+=("${RPM_OS[@]}") +SUPPORTED_OS+=("${CENT_OS[@]}") +SUPPORTED_OS+=("${UBUNTU_OS[@]}") + +declare -A OS_DISTRO_MAP +OS_DISTRO_MAP['ubuntu20.04']="focal" +OS_DISTRO_MAP['ubuntu22.04']="jammy" +OS_DISTRO_MAP['ubuntu24.04']="noble" +OS_DISTRO_MAP['debian11']="bullseye" +OS_DISTRO_MAP['debian12']="bookworm" +OS_DISTRO_MAP['centos8']=".el8.ngx.x86_64" +OS_DISTRO_MAP['rhel8']=".el8.ngx.x86_64" +OS_DISTRO_MAP['rhel9']=".el9.ngx.x86_64" +OS_DISTRO_MAP['oracle8']=".el8.ngx.x86_64" +OS_DISTRO_MAP['oracle9']=".el9.ngx.x86_64" +OS_DISTRO_MAP['amzn2']=".amzn2.ngx.x86_64" + +declare -A NGINX_PLUS_REPO +NGINX_PLUS_REPO['ubuntu20.04']="https://pkgs.nginx.com/plus/ubuntu/pool/nginx-plus/n/nginx-plus" +NGINX_PLUS_REPO['ubuntu22.04']="https://pkgs.nginx.com/plus/ubuntu/pool/nginx-plus/n/nginx-plus" +NGINX_PLUS_REPO['ubuntu24.04']="https://pkgs.nginx.com/plus/ubuntu/pool/nginx-plus/n/nginx-plus" +NGINX_PLUS_REPO['debian11']="https://pkgs.nginx.com/plus/debian/pool/nginx-plus/n/nginx-plus" +NGINX_PLUS_REPO['debian12']="https://pkgs.nginx.com/plus/debian/pool/nginx-plus/n/nginx-plus" +NGINX_PLUS_REPO['centos8']="https://pkgs.nginx.com/plus/centos/8/x86_64/RPMS" +NGINX_PLUS_REPO['rhel8']="https://pkgs.nginx.com/plus/rhel/8/x86_64/RPMS" +NGINX_PLUS_REPO['rhel9']="https://pkgs.nginx.com/plus/rhel/9/x86_64/RPMS" +NGINX_PLUS_REPO['oracle8']="https://pkgs.nginx.com/plus/rhel/8/x86_64/RPMS" +NGINX_PLUS_REPO['oracle9']="https://pkgs.nginx.com/plus/rhel/9/x86_64/RPMS" +NGINX_PLUS_REPO['amzn2']="https://pkgs.nginx.com/plus/amzn2/2/x86_64/RPMS" + +declare -A NIM_REPO +NIM_REPO['ubuntu20.04']="https://pkgs.nginx.com/nms/ubuntu/pool/nginx-plus/n/nms-instance-manager" +NIM_REPO['ubuntu22.04']="https://pkgs.nginx.com/nms/ubuntu/pool/nginx-plus/n/nms-instance-manager" +NIM_REPO['ubuntu24.04']="https://pkgs.nginx.com/nms/ubuntu/pool/nginx-plus/n/nms-instance-manager" +NIM_REPO['debian11']="https://pkgs.nginx.com/nms/debian/pool/nginx-plus/n/nms-instance-manager" +NIM_REPO['debian12']="https://pkgs.nginx.com/nms/debian/pool/nginx-plus/n/nms-instance-manager" +NIM_REPO['centos8']="https://pkgs.nginx.com/nms/centos/8/x86_64/RPMS" +NIM_REPO['rhel8']="https://pkgs.nginx.com/nms/centos/8/x86_64/RPMS" +NIM_REPO['rhel9']="https://pkgs.nginx.com/nms/centos/9/x86_64/RPMS" +NIM_REPO['oracle8']="https://pkgs.nginx.com/nms/centos/8/x86_64/RPMS" +NIM_REPO['oracle9']="https://pkgs.nginx.com/nms/centos/9/x86_64/RPMS" +NIM_REPO['amzn2']="https://pkgs.nginx.com/nms/amzn2/2/x86_64/RPMS" + +declare -A NGINX_REPO +NGINX_REPO['ubuntu20.04']="https://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx" +NGINX_REPO['ubuntu22.04']="https://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx" +NGINX_REPO['ubuntu24.04']="https://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx" +NGINX_REPO['debian11']="https://nginx.org/packages/mainline/debian/pool/nginx/n/nginx" +NGINX_REPO['debian12']="https://nginx.org/packages/mainline/debian/pool/nginx/n/nginx" +NGINX_REPO['centos8']="https://nginx.org/packages/mainline/centos/8/x86_64/RPMS" +NGINX_REPO['rhel8']="https://nginx.org/packages/mainline/rhel/8/x86_64/RPMS" +NGINX_REPO['rhel9']="https://nginx.org/packages/mainline/rhel/9/x86_64/RPMS" +NGINX_REPO['oracle8']="https://nginx.org/packages/mainline/rhel/8/x86_64/RPMS" +NGINX_REPO['oracle9']="https://nginx.org/packages/mainline/rhel/9/x86_64/RPMS" +NGINX_REPO['amzn2']="https://nginx.org/packages/mainline/amzn2/2/x86_64/RPMS" + +declare -A CLICKHOUSE_REPO +CLICKHOUSE_REPO['ubuntu20.04']="https://packages.clickhouse.com/deb/pool/main/c/clickhouse" +CLICKHOUSE_REPO['ubuntu22.04']="https://packages.clickhouse.com/deb/pool/main/c/clickhouse" +CLICKHOUSE_REPO['ubuntu24.04']="https://packages.clickhouse.com/deb/pool/main/c/clickhouse" +CLICKHOUSE_REPO['debian11']="https://packages.clickhouse.com/deb/pool/main/c/clickhouse" +CLICKHOUSE_REPO['debian12']="https://packages.clickhouse.com/deb/pool/main/c/clickhouse" +CLICKHOUSE_REPO['centos8']="https://packages.clickhouse.com/rpm/stable" +CLICKHOUSE_REPO['rhel8']="https://packages.clickhouse.com/rpm/stable" +CLICKHOUSE_REPO['rhel9']="https://packages.clickhouse.com/rpm/stable" +CLICKHOUSE_REPO['oracle8']="https://packages.clickhouse.com/rpm/stable" +CLICKHOUSE_REPO['oracle9']="https://packages.clickhouse.com/rpm/stable" +CLICKHOUSE_REPO['amzn2']="https://packages.clickhouse.com/rpm/stable" set -o pipefail @@ -56,7 +143,16 @@ check_last_command_status(){ fi } -generate() { +url_file_download() { + url=$1 + dest=$2 + if ! http_code=$(curl -fs "${url}" --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} --output "${dest}" --write-out '%{http_code}'); then + echo "-- Failed to download $url with HTTP code $http_code. Exiting." + exit 1 + fi +} + +generate_admin_password() { character_pool='A-Za-z0-9' password_length=30 admin_password=$(LC_ALL=C tr -dc "$character_pool" /etc/nms/nginx/.htpasswd } -updateClickhouseConfig(){ - if [ ! -f "/etc/clickhouse-server/conf.d/nms-clickhouse.conf" ] ; then - if [ ! -d "/etc/clickhouse-server/conf.d/" ]; then - mkdir -p "/etc/clickhouse-server/conf.d" - fi -cat <> /etc/clickhouse-server/conf.d/nms-clickhouse.conf - - {{ 2 * number_of_cpu_cores }} - 5 - 100 - - 1073741824 - - 1000 - - 10 - - 100 - max_thread_pool_size - <-- number of seconds that clickHouse waits for incoming requests before closing the connection. Defaults to 10 seconds. --> - 5 - - 100 - - - - 4 - - 1024 - 1073741824 - 0 - - - -EOL -fi -} - -createNginxMgmtFile(){ +create_nginx_mgmt_file(){ # Check if the mgmt block exists in the file if grep -Eq '^[[:space:]]*mgmt' "/etc/nginx/nginx.conf"; then printf "Nginx 'mgmt' block found, skipping addition of nginx 'mgmt' block" @@ -126,43 +184,6 @@ createNginxMgmtFile(){ fi } -findVersionForPackage(){ - pkg_name=$1 - pkg_version=$2 - if [ "${PACKAGE_INSTALLER}" == "apt" ]; then - readarray -t versions < <(apt-cache madison "${pkg_name}" | grep "${pkg_version}" | cut -d '|' -f2 | tr -d ' ') - #readarray -t versions < <(echo "${available_versions[@]}"| grep "${pkg_version}") >&2 - else - if [[ "$pkg_name" == "nginx" ]]; then - readarray -t versions < <(yum list "${pkg_name}" --repo nginx-stable --showduplicates | grep "${pkg_version}" | cut -d' ' -f2) - else - readarray -t versions < <(yum list "${pkg_name}" --showduplicates | grep "${pkg_version}" | tr -s ' ' | cut -d' ' -f2) - fi - #readarray -t versions < <(echo "${available_versions[@]}"| grep "${pkg_version}" | cut -d' ' -f2) >&2 - fi - # Print the array contents - versions_count=${#versions[@]} - if [ "${versions_count}" -eq 0 ]; then - printf "Package %s with version %s not found. See available versions:" "${pkg_name}" "${pkg_version}" - if [ "${PACKAGE_INSTALLER}" == "apt" ]; then - apt-cache madison "${pkg_name}" - else - yum list "${pkg_name}" --showduplicates - fi - exit 110 - elif [ "${versions_count}" -gt 1 ]; then - printf "Multiple versions found for the package %s. Select your desired version:\n" "${pkg_name}" >&2 - for i in "${!versions[@]}"; do - printf "%s: %s\n" "$i" "${versions[$i]}" >&2 - done - read -rp "" index - echo "${versions[$index]}" - else - echo "${pkg_name} with version ${pkg_version} found">&2 - echo "${versions[0]}" - fi -} - debian_install_nginx(){ apt-get update \ && DEBIAN_FRONTEND=noninteractive \ @@ -210,40 +231,15 @@ debian_install_nginx(){ fi url_file_download "https://cs.nginx.com/static/files/90pkgs-nginx" "/etc/apt/apt.conf.d/90pkgs-nginx" check_last_command_status "curl https://cs.nginx.com/static/files/90pkgs-nginx" $? - apt-get update - if [ "${USE_NGINX_PLUS}" == "true" ]; then - printf "Installing NGINX Plus...\n" - if [ "${NGINX_PLUS_VERSION}" == "latest" ]; then - apt-get install -y nginx-plus - else - package_version=$(findVersionForPackage "nginx-plus" "${NGINX_PLUS_VERSION}") - cmd_status=$? - if [ $cmd_status -ne 0 ]; then - echo "Package nginx-plus with version ${NGINX_PLUS_VERSION} not found" - exit $cmd_status - fi - apt-get install -y nginx-plus="${package_version}" - check_last_command_status "apt-get install -y nginx-plus=${package_version}" $? - fi - createNginxMgmtFile + printf "Installing NGINX Plus...\n" + DEBIAN_FRONTEND=noninteractive apt-get install -y nginx-plus + create_nginx_mgmt_file else - printf "Installing NGINX...\n" - if [ "${NGINX_VERSION}" == "latest" ]; then - apt install -y nginx - check_last_command_status "apt-get install -y nginx" $? - else - package_version=$(findVersionForPackage "nginx" "${NGINX_VERSION}") - cmd_status=$? - if [ $cmd_status -ne 0 ]; then - echo "Package nginx with version ${NGINX_VERSION} not found" - exit $cmd_status - fi - echo "Installing nginx version ${package_version}" - apt-get install -y nginx="${package_version}" - check_last_command_status "apt-get install -y nginx='${package_version}'" $? - fi + printf "Installing NGINX...\n" + DEBIAN_FRONTEND=noninteractive apt install -y nginx + check_last_command_status "apt-get install -y nginx" $? fi } @@ -252,52 +248,36 @@ debian_install_clickhouse(){ | sudo tee /usr/share/keyrings/clickhouse-keyring.gpg >/dev/null check_last_command_status "curl https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key" $? - echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb stable main" | sudo tee \ + echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg arch=${OS_ARCH}] https://packages.clickhouse.com/deb stable main" | sudo tee \ /etc/apt/sources.list.d/clickhouse.list apt-get update - - printf "Installing clickhouse....\n" - if [ "${CLICKHOUSE_VERSION}" == "latest" ]; then - DEBIAN_FRONTEND=noninteractive apt-get install -y clickhouse-common-static clickhouse-server clickhouse-client - check_last_command_status "apt-get install -y clickhouse-server clickhouse-client" $? - else - ch_version=$(findVersionForPackage "clickhouse-server" "${CLICKHOUSE_VERSION}") - cmd_status=$? - if [ $cmd_status -ne 0 ]; then - echo "Package clickhouse-server with version ${CLICKHOUSE_VERSION} not found" - exit $cmd_status - fi - echo "Installing clickhouse-server with version ${ch_version}" - DEBIAN_FRONTEND=noninteractive apt-get install -y clickhouse-common-static="${ch_version}" clickhouse-server="${ch_version}" - DEBIAN_FRONTEND=noninteractive apt-get install -y clickhouse-client - check_last_command_status "apt-get install -y clickhouse-server=${ch_version}" $? - fi + echo "Installing clickhouse-server with version ${CLICKHOUSE_VERSION}" + DEBIAN_FRONTEND=noninteractive apt-get install -y clickhouse-common-static="${CLICKHOUSE_VERSION}" clickhouse-server="${CLICKHOUSE_VERSION}" + DEBIAN_FRONTEND=noninteractive apt-get install -y clickhouse-client="${CLICKHOUSE_VERSION}" + check_last_command_status "apt-get install -y clickhouse-server=${CLICKHOUSE_VERSION}" $? } debian_install_nim(){ - echo "Installing NGINX Instance Manager..." - if [ "${NIM_VERSION}" == "latest" ]; then - apt-get install -y nms-instance-manager - check_last_command_status "installing NGINX Instance Manager" $? - else - package_version=$(findVersionForPackage "nms-instance-manager" "${NIM_VERSION}") - cmd_status=$? - if [ $cmd_status -ne 0 ]; then - echo "Package nms-instance-manager with version ${NIM_VERSION} not found" - exit $cmd_status - fi - apt-get install -y nms-instance-manager="${package_version}" - check_last_command_status "apt-get install -y nms-instance-manager=${package_version}" $? + if [ "${SKIP_CLICKHOUSE_INSTALL}" == "true" ]; then + echo "SKIP_CLICKHOUSE_INSTALL = ${SKIP_CLICKHOUSE_INSTALL} | blocking clickhouse-server to be installed" + echo "apt-mark hold clickhouse-server" + apt-mark hold clickhouse-server fi - echo "Enabling clickhouse-server..." - systemctl enable clickhouse-server - check_last_command_status "systemctl enable clickhouse-server" $? + echo "Installing NGINX Instance Manager..." + DEBIAN_FRONTEND=noninteractive apt-get install -y nms-instance-manager + check_last_command_status "installing NGINX Instance Manager" $? - echo "Starting clickhouse-server..." - systemctl start clickhouse-server - check_last_command_status "systemctl start clickhouse-server" $? + if [ "${SKIP_CLICKHOUSE_INSTALL}" == "false" ]; then + echo "Enabling clickhouse-server..." + systemctl enable clickhouse-server + check_last_command_status "systemctl enable clickhouse-server" $? + + echo "Starting clickhouse-server..." + systemctl start clickhouse-server + check_last_command_status "systemctl start clickhouse-server" $? + fi echo "Starting nginx..." systemctl start nginx @@ -305,6 +285,8 @@ debian_install_nim(){ echo "Starting NGINX Instance Manager..." systemctl start nms + + sleep 5 check_last_command_status " systemctl start nms" $? echo "Installation is complete" @@ -329,40 +311,13 @@ installBundleForDebianDistro() { "${NIM_USER}" >/dev/null fi debian_install_nginx - debian_install_clickhouse - debian_install_nim - echo "security module installation opted : ${USE_SM_MODULE}" - if [ "${USE_SM_MODULE}" == "true" ]; then - nim_major_version=$(nms-core --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | awk -F. '{print $1}') - nim_minor_version=$(nms-core --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | awk -F. '{print $2}') - echo "Installed NIM major Version: ${nim_major_version}, minor Version:${nim_minor_version}" - if [[ $nim_major_version -ge 2 && $nim_minor_version -ge 19 ]]; then - echo "Note: NGINX Instance Manager version 2.19.0 or later comes with security monitoring installed. skipping installing security monitoring" - else - printf "Installing security module...\n" - if [ "${NIM_SM_VERSION}" == "latest" ]; then - apt-get install -y nms-sm - check_last_command_status "apt-get install -y nms-sm" $? - else - sm_pkg_version=$(findVersionForPackage "nms-sm" "${NIM_SM_VERSION}") - cmd_status=$? - if [ $cmd_status -ne 0 ]; then - echo "Package nms-sm with version ${NIM_SM_VERSION} not found" - exit $cmd_status - fi - apt-get install -y nms-sm="${sm_pkg_version}" - check_last_command_status "apt-get install -y nms-sm=${NIM_SM_VERSION}" $? - fi - systemctl restart nms - sleep 5 - systemctl restart nginx - systemctl start nms-sm - fi - else - systemctl restart nms - sleep 5 - systemctl restart nginx + if [[ ${SKIP_CLICKHOUSE_INSTALL} == "false" ]]; then + debian_install_clickhouse fi + debian_install_nim + systemctl restart nms + sleep 5 + systemctl restart nginx } installBundleForRPMDistro(){ @@ -407,52 +362,39 @@ installBundleForRPMDistro(){ if [ "${USE_NGINX_PLUS}" == "true" ]; then echo "Installing nginx plus..." - if [ "${NGINX_PLUS_VERSION}" == "latest" ]; then - yum install -y nginx-plus - check_last_command_status "yum install -y nginx-plus" $? - else - nginx_plus_pkg_version=$(findVersionForPackage "nginx-plus" "${NGINX_PLUS_VERSION}") - cmd_status=$? - if [ $cmd_status -ne 0 ]; then - echo "Package nginx-plus with version ${NGINX_PLUS_VERSION} not found" - exit $cmd_status - fi - yum install -y nginx-plus-"${nginx_plus_pkg_version}" - check_last_command_status "yum install -y nginx-plus-${nginx_plus_pkg_version}" $? - fi + yum install -y nginx-plus + check_last_command_status "yum install -y nginx-plus" $? createNginxMgmtFile else echo "Installing nginx..." - if [ "${NGINX_VERSION}" == "latest" ]; then - yum install -y nginx --repo nginx-stable - check_last_command_status "yum install -y nginx" $? - else - nginx_pkg_version=$(findVersionForPackage "nginx" "${NGINX_VERSION}") - cmd_status=$? - if [ $cmd_status -ne 0 ]; then - echo "Package nginx with version ${NGINX_VERSION} not found" - exit $cmd_status - fi - yum install -y nginx-"${nginx_pkg_version}" --repo nginx-stable - check_last_command_status "yum install -y nginx-${nginx_pkg_version}" $? - fi + yum install -y nginx --repo nginx-stable + check_last_command_status "yum install -y nginx" $? fi echo "Enabling nginx service" systemctl enable nginx.service check_last_command_status "systemctl enable nginx.service" $? - yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo - echo "Installing clickhouse-server and clickhouse-client" - yum install -y clickhouse-server clickhouse-client - check_last_command_status "yum install -y clickhouse-server clickhouse-client" $? + if [[ ${SKIP_CLICKHOUSE_INSTALL} == "false" ]]; then + yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo + echo "Installing clickhouse-server and clickhouse-client" - echo "Enabling clickhouse-server" - systemctl enable clickhouse-server - check_last_command_status "systemctl enable clickhouse-server" $? + yum install -y "clickhouse-common-static-${CLICKHOUSE_VERSION}" + check_last_command_status "yum install -y clickhouse-common-static-${CLICKHOUSE_VERSION}" $? - echo "Starting clickhouse-server" - systemctl start clickhouse-server - check_last_command_status "systemctl start clickhouse-server" $? + yum install -y "clickhouse-server-${CLICKHOUSE_VERSION}" + check_last_command_status "yum install -y clickhouse-server-${CLICKHOUSE_VERSION}" $? + + yum install -y "clickhouse-client-${CLICKHOUSE_VERSION}" + check_last_command_status "yum install -y clickhouse-client-${CLICKHOUSE_VERSION}" $? + + echo "Enabling clickhouse-server" + systemctl enable clickhouse-server + check_last_command_status "systemctl enable clickhouse-server" $? + + echo "Starting clickhouse-server" + systemctl start clickhouse-server + check_last_command_status "systemctl start clickhouse-server" $? + fi curl -o /etc/yum.repos.d/nms.repo https://cs.nginx.com/static/files/nms.repo check_last_command_status "get -P /etc/yum.repos.d https://cs.nginx.com/static/files/nms.repo" $? @@ -462,128 +404,53 @@ installBundleForRPMDistro(){ fi echo "Installing NGINX Instance Manager" - if [ "${NIM_VERSION}" == "latest" ]; then - yum install -y nms-instance-manager - check_last_command_status "installing nginx-instance-manager(nim)" $? - else - nim_pkg_version=$(findVersionForPackage "nms-instance-manager" "${NIM_VERSION}") - yum install -y nms-instance-manager-"${nim_pkg_version}" - check_last_command_status "apt-get install -y nms-instance-manager=${nim_pkg_version}" $? - fi + yum install -y nms-instance-manager + check_last_command_status "installing nginx-instance-manager(nim)" $? + echo "Enabling nms nms-core nms-dpm nms-ingestion nms-integrations" systemctl enable nms nms-core nms-dpm nms-ingestion nms-integrations --now echo "Restarting NGINX Instance Manager" systemctl restart nms - if [ "${USE_SM_MODULE}" == "true" ]; then - nim_major_version=$(nms-core --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | awk -F. '{print $1}') - nim_minor_version=$(nms-core --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | awk -F. '{print $2}') - echo "Installed NIM major Version: ${nim_major_version}, minor Version:${nim_minor_version}" - if [[ $nim_major_version -ge 2 && $nim_minor_version -ge 19 ]]; then - echo "Note: NGINX Instance Manager version 2.19.0 or later comes with security monitoring installed. skipping installing security monitoring" - else - printf "Installing security module...\n" - if [ "${NIM_SM_VERSION}" == "latest" ]; then - yum install -y nms-sm - check_last_command_status "yum install -y nms-sm" $? - else - sm_pkg_version=$(findVersionForPackage "nms-sm" "${NIM_SM_VERSION}") - cmd_status=$? - if [ $cmd_status -ne 0 ]; then - echo "Package nms-sm with version ${NIM_SM_VERSION} not found" - exit $cmd_status - fi - yum install -y nms-sm="${sm_pkg_version}" - check_last_command_status "yum install -y nms-sm=${NIM_SM_VERSION}" $? - fi - systemctl restart nms - sleep 5 - systemctl restart nginx - systemctl start nms-sm - fi - fi sleep 5 echo "Restarting nginx API gateway" systemctl restart nginx } -url_file_download() { - url=$1 - dest=$2 - if ! http_code=$(curl -fs "${url}" --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} --output "${dest}" --write-out '%{http_code}'); then - echo "-- Failed to download $url with HTTP code $http_code. Exiting." - exit 1 - fi -} - install_nim_online(){ if cat /etc/*-release | grep -iq 'debian\|ubuntu'; then - PACKAGE_INSTALLER="apt" installBundleForDebianDistro - generate + generate_admin_password elif cat /etc/*-release | grep -iq 'centos\|fedora\|rhel\|Amazon Linux'; then - PACKAGE_INSTALLER="rpm" installBundleForRPMDistro - generate - + generate_admin_password else printf "Unsupported distribution" exit 1 fi if [[ -n ${NIM_FQDN} ]] ; then - if [ -d "${NIM_CERTS_DIR}" ]; then - echo "removing existing NIM certs" - rm -rf "/etc/nms/certs" - fi - bash -c "source /etc/nms/scripts/certs.sh 0 \"${NIM_FQDN}\" || /etc/nms/scripts/certs.sh 0 ${NIM_FQDN}" + echo "Using FQDN - ${NIM_FQDN}" + sudo rm -rf /etc/nms/certs/* + sudo bash /etc/nms/scripts/certs.sh 0 ${NIM_FQDN} fi + if [[ ${SKIP_CLICKHOUSE_INSTALL} == "true" ]]; then + sed -i '/clickhouse:/a \ enabled: false' /etc/nms/nms.conf + fi + sudo systemctl restart nms curl -s -o /dev/null --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} "https://pkgs.nginx.com/nms/?using_install_script=true&app=nim&mode=online" } -printUsageInfo(){ - echo "Usage: $0 [-c /path/to/nginx-repo.crt] [-k /path/to/nginx-repo.key] [-p nginx_plus_version] [-s security_module_version] -i [installable_tar_file_path] [-n nginx_oss_version] [-m mode(online/offline)] [-d distribution (ubuntu20.04,ubuntu22.04,ubuntu24.04,debian11,debian12,centos8,rhel8,rhel9,oracle7,oracle8,amzn2)] [-h print help]" - printf "\n\n -m online/offline. Controls whether to install from the internet or from a package created using this script. \n" - printf "\n -c /path/to/your/ file.\n" - printf "\n -k /path/to/your/ file.\n" - printf "\n -p . Include NGINX Plus version to install as an API gateway. Valid values are 'latest' and specific versions like R32. For a list, see https://docs.nginx.com/nginx/releases/. Supersedes -n.\n" - printf "\n -n . Provide NGINX OSS version to install as an API gateway. Valid values are 'latest' or a specific version like 1.27.1. Ignored if you use -p to specify an NGINX Plus version. For a list, see https://nginx.org/en/download.html .\n" - printf "\n -s . Installs a security module along with NGINX Instance Manager. You can specify latest or a version specified in https://docs.nginx.com/nginx-instance-manager/monitoring/security-monitoring/releases/release-notes/.\n" - printf "\n -i . Include the path with an archive file to support NGINX Instance Manager installation. Requires -m Offline." - printf "\n -d . Include the label of a distribution. Requires -m Offline. This creates a file with NGINX Instance Manager dependencies and NGINX Instance Manager install packages for the specified distribution.\n" - printf "\n -v . NGINX Instance Manager version to install/package.\n" - printf "\n -j . Path to the JWT token file used for license and usage consumption reporting.\n" - printf "\n -r To uninstall NGINX Instance Manager and its dependencies. \n" - printf "\n -l Print supported operating systems.\n" - printf "\n -h Print this help message.\n" - exit 0 -} - -printSupportedOS(){ - printf "This script can be run on the following operating systems" - printf "\n 1. ubuntu20.04(focal)" - printf "\n 2. ubuntu22.04(jammy)" - printf "\n 3. ubuntu24.04(noble)" - printf "\n 4. debian11(bullseye)" - printf "\n 5. debian12(bookworm)" - printf "\n 6. centos8(CentOS 8)" - printf "\n 7. rhel8(Redhat Enterprise Linux Version 8)" - printf "\n 8. rhel9( Redhat Enterprise Linux Version 9)" - printf "\n 9. oracle7(Oracle Linux Version 7)" - printf "\n 10. oracle8(Oracle Linux Version 8)" - printf "\n 11. amzn2(Amazon Linux 2)\n" - exit 0 -} - -check_NIM_status(){ - sleep 5 +check_nim_dashboard_status(){ + sleep 10 GREEN='\033[0;32m' NC='\033[0m' - if ! curl -k https://localhost/ui 2>/dev/null | grep -q "NGINX"; then - sleep 2 - if ! curl -k https://localhost/ui 2>/dev/null | grep -q "NGINX"; then + if ! curl -k https://localhost/ui/ 2>/dev/null | grep -q "NGINX"; then + sleep 60 + if ! curl -k -v https://localhost/ui/ 2>/dev/null| grep -q "NGINX"; then echo "NGINX Instance Manager failed to start" + cat /var/log/nms/nms.log exit 1 else echo -e "${GREEN}NGINX Instance Manager Successfully Started${NC}" @@ -597,41 +464,12 @@ check_NIM_status(){ fi } -check_cert_key_jwt_path(){ - if [[ ! -f "$NGINX_CERT_KEY_PATH" ]]; then - echo "Error: NGINX key not found. Please give cert path using -k" - exit 1 - fi - - if [[ ! -f "$NGINX_CERT_PATH" ]]; then - echo "Error: NGINX cert not found. Please give key path using -c" - exit 1 - fi - - if [[ "$USE_NGINX_PLUS" == true && "$NGINX_PLUS_VERSION" == "latest" ]]; then - if [[ ! -f "$LICENSE_JWT_PATH" ]]; then - echo "Error: JWT License not found. It is required with NGINX plus" - exit 1 - fi - echo "Copying jwt" - if [ ! -d "/etc/nginx" ]; then - mkdir /etc/nginx - check_last_command_status "mkdir /etc/nginx" $? - fi - cp "${LICENSE_JWT_PATH}" "/etc/nginx/license.jwt" - check_last_command_status "cp $LICENSE_JWT_PATH /etc/nginx/license.jwt" $? - fi -} - -check_if_nim_installed(){ - +validate_nim_installation(){ local all_services_present=0 - if nms-core --version > /dev/null 2>&1 && nms-dpm --version > /dev/null 2>&1 && nms-integrations --version > /dev/null 2>&1 \ - && nms-ingestion --version > /dev/null 2>&1 && nginx -version > /dev/null 2>&1; then + && nms-ingestion --version > /dev/null 2>&1; then all_services_present=1 fi - if [[ "$all_services_present" == 1 ]]; then if [ "$UNINSTALL_NIM" == "true" ]; then uninstall_nim @@ -647,6 +485,30 @@ check_if_nim_installed(){ fi } +validate_nginx_paths(){ + if [[ ! -f "$NGINX_CERT_KEY_PATH" ]]; then + echo "Error: NGINX key not found. Please give key path using -k" + exit 1 + fi + if [[ ! -f "$NGINX_CERT_PATH" ]]; then + echo "Error: NGINX cert not found. Please give cert path using -c" + exit 1 + fi + if [[ "$USE_NGINX_PLUS" == true ]]; then + if [[ ! -f "$LICENSE_JWT_PATH" ]]; then + echo "Error: JWT License $LICENSE_JWT_PATH not found. It is required with NGINX plus" + exit 1 + fi + echo "Copying jwt" + if [ ! -d "/etc/nginx" ]; then + mkdir /etc/nginx + check_last_command_status "mkdir /etc/nginx" $? + fi + cp "${LICENSE_JWT_PATH}" "/etc/nginx/license.jwt" + check_last_command_status "cp $LICENSE_JWT_PATH /etc/nginx/license.jwt" $? + fi +} + uninstall_nim(){ echo -e "\nAre you ready to remove all packages and files related to NGINX Instance Manager ? \n\ @@ -656,8 +518,11 @@ This action deletes all files in the following directories: /etc/nms , /etc/ngin if [[ "$response" =~ ^[Yy]$ ]]; then # Clickhouse server, Clickhouse client, clickhouse static, nms, nginx - systemctl stop clickhouse-server - check_last_command_status "systemctl stop clickhouse-server" $? + if systemctl status clickhouse-server &> /dev/null; then + systemctl stop clickhouse-server + check_last_command_status "systemctl stop clickhouse-server" $? + fi + systemctl stop nginx check_last_command_status "systemctl stop nginx" $? systemctl stop nms nms-core nms-dpm nms-ingestion nms-integrations @@ -687,6 +552,7 @@ This action deletes all files in the following directories: /etc/nms , /etc/ngin echo "NGINX Instance Manager Uninstalled successfully" exit 0 else + cat /etc/*release printf "Unsupported distribution" exit 1 fi @@ -697,44 +563,270 @@ This action deletes all files in the following directories: /etc/nms , /etc/ngin fi } -download_third_party_dependencies(){ - if cat /etc/*-release | grep -iq 'debian\|ubuntu'; then - if echo "${target_distribution}" | grep -iq 'debian\|ubuntu'; then - mkdir "${TEMP_DIR}/${target_distribution}/keepalived" - apt-get install --download-only -o Dir::Cache="${TEMP_DIR}/${target_distribution}/keepalived" keepalived - else - if command -v docker >/dev/null 2>&1; then - mkdir "${TEMP_DIR}/${target_distribution}/keepalived" - docker run --rm -it -v "${TEMP_DIR}/${target_distribution}/keepalived":/downloads fedora dnf download --resolve --destdir=/downloads keepalived - else - echo "Cross platform packing requires Docker. Please install Docker and try again." +getLatestPkgVersionFromRepo(){ + repoUrl=$1 + version=$2 + pkg_extension=$3 + if [[ "${pkg_extension}" == "rpm" ]]; then + response=$(curl --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} -sL "${repoUrl}" | awk -F '"' '/href=/ {print $2}' | grep -E "$version"| sort -t'-' -k4,4V | tac) + readarray -t versions < <(printf "%s" "${response}") + else + response=$(curl --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} -sL "${repoUrl}" | awk -F '"' '/href=/ {print $2}' | grep -E "$version"| sort -t'_' -k2,2V | tac) + readarray -t versions < <(printf "%s" "${response}") + fi + if [ "${#versions[@]}" -eq 0 ]; then + printf "Package %s not found. See available versions:" "${versions[@]}" + exit 1; + else + echo "${versions[0]}" + fi + } + +package_nim_offline(){ + if [[ -z ${TARGET_DISTRIBUTION} ]]; then + echo "Error: target distribution is required when mode set to offline." exit 1 fi - fi - elif cat /etc/*-release | grep -iq 'centos\|fedora\|rhel\|Amazon Linux'; then - if echo "${target_distribution}" | grep -iq 'centos\|fedora\|rhel\|Amazon Linux'; then - mkdir "${TEMP_DIR}/${target_distribution}/keepalived" - yumdownloader --destdir="${TEMP_DIR}/${target_distribution}/keepalived" --resolve keepalived - else - if command -v docker >/dev/null 2>&1; then - mkdir -p "${TEMP_DIR}/keepalived" - docker run --rm -it -v "${TEMP_DIR}/keepalived":/tmp/nim ubuntu bash -c "apt-get update && mkdir -p /tmp/nim && apt-get install -y --download-only -o Dir::Cache=\"/tmp/nim\" keepalived" - mkdir "${TEMP_DIR}/${target_distribution}/keepalived" - mv ${TEMP_DIR}/keepalived/archives/* ${TEMP_DIR}/${target_distribution}/keepalived - else - echo "Cross platform packing requires Docker. Please install Docker and try again." - exit 1 + if [[ ! ${SUPPORTED_OS[*]} =~ ${TARGET_DISTRIBUTION} ]]; then + echo "Error: The TARGET_DISTRIBUTION ${TARGET_DISTRIBUTION} is not supported in this script... please select one of the following options - ${SUPPORTED_OS[*]}" + exit 1 + fi + if [[ ${RPM_OS[*]} =~ ${TARGET_DISTRIBUTION} || ${CENT_OS[*]} =~ ${TARGET_DISTRIBUTION} ]]; then + PKG_EXTENSION="rpm" + fi + if [[ ! -d "${TEMP_DIR}/${TARGET_DISTRIBUTION}" ]]; then + echo "creating ${TEMP_DIR}/${TARGET_DISTRIBUTION}" + mkdir -p "${TEMP_DIR}/${TARGET_DISTRIBUTION}" + fi + CWD=$(pwd) + cd "${TEMP_DIR}/${TARGET_DISTRIBUTION}" || echo "directory ${TEMP_DIR} does not exits" + if [[ "${USE_NGINX_PLUS}" == "true" ]]; then + NGINX_PLUS_PACKAGE="^nginx-plus_[0-9]+-([0-9]+)~${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}_${OS_ARCH}\.${PKG_EXTENSION}$" + if [[ "${PKG_EXTENSION}" == "rpm" ]]; then + NGINX_PLUS_PACKAGE="^nginx-plus-[0-9]+-([0-9]+)${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}\.${PKG_EXTENSION}$" + fi + echo "regex for looking latest version : ${NGINX_PLUS_PACKAGE}" + NGINX_PLUS_VERSION=$(getLatestPkgVersionFromRepo "${NGINX_PLUS_REPO[${TARGET_DISTRIBUTION}]}" "${NGINX_PLUS_PACKAGE}" "${PKG_EXTENSION}") + echo "latest version for nginx_plus is ${NGINX_PLUS_VERSION}" + echo "Downloading ${NGINX_PLUS_REPO[${TARGET_DISTRIBUTION}]}/${NGINX_PLUS_VERSION}...." + curl -sfLO --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} "${NGINX_PLUS_REPO[${TARGET_DISTRIBUTION}]}/${NGINX_PLUS_VERSION}" + check_last_command_status "curl -sfLO --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} \"${NGINX_PLUS_REPO[${TARGET_DISTRIBUTION}]}/${NGINX_PLUS_VERSION}\"" $? + else + NGINX_OSS_PACKAGE="^nginx_[0-9]+\.[0-9]+\.[0-9]+-([0-9]+)~${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}_${OS_ARCH}\.${PKG_EXTENSION}$" + if [[ "${PKG_EXTENSION}" == "rpm" ]]; then + NGINX_OSS_PACKAGE="^nginx-[0-9]+\.[0-9]+\.[0-9]+-([0-9]+)${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}\.${PKG_EXTENSION}$" + fi + echo "fetching latest version using ${NGINX_OSS_PACKAGE}" + NGINX_OSS_VERSION=$(getLatestPkgVersionFromRepo "${NGINX_REPO[${TARGET_DISTRIBUTION}]}" "${NGINX_OSS_PACKAGE}" "${PKG_EXTENSION}") + echo "latest version for nginx is ${NGINX_OSS_VERSION}" + echo "Downloading ${NGINX_REPO[${TARGET_DISTRIBUTION}]}/${NGINX_OSS_VERSION}...." + curl -sfLO "${NGINX_REPO[${TARGET_DISTRIBUTION}]}/${NGINX_OSS_VERSION}" + check_last_command_status "curl -sfLO \"${NGINX_REPO[${TARGET_DISTRIBUTION}]}/${NGINX_OSS_VERSION}\"" $? + fi + if [[ ${SKIP_CLICKHOUSE_INSTALL} == "false" ]]; then + CLICKHOUSE_COMMON_PATH="${CLICKHOUSE_REPO[${TARGET_DISTRIBUTION}]}/clickhouse-common-static_${CLICKHOUSE_VERSION}_${OS_ARCH}.${PKG_EXTENSION}" + if [[ "${PKG_EXTENSION}" == "rpm" ]]; then + CLICKHOUSE_COMMON_PATH="${CLICKHOUSE_REPO[${TARGET_DISTRIBUTION}]}/clickhouse-common-static-${CLICKHOUSE_VERSION}.x86_64.${PKG_EXTENSION}" + fi + echo "Downloading ${CLICKHOUSE_COMMON_PATH}...." + curl -sfLO "${CLICKHOUSE_COMMON_PATH}" + check_last_command_status "curl -sfLO \"${CLICKHOUSE_COMMON_PATH}\"" $? + + CLICKHOUSE_SERVER_PATH="${CLICKHOUSE_REPO[${TARGET_DISTRIBUTION}]}/clickhouse-server_${CLICKHOUSE_VERSION}_${OS_ARCH}.${PKG_EXTENSION}" + if [[ "${PKG_EXTENSION}" == "rpm" ]]; then + CLICKHOUSE_SERVER_PATH="${CLICKHOUSE_REPO[${TARGET_DISTRIBUTION}]}/clickhouse-server-${CLICKHOUSE_VERSION}.x86_64.${PKG_EXTENSION}" + fi + echo "Downloading ${CLICKHOUSE_SERVER_PATH}...." + curl -sfLO "${CLICKHOUSE_SERVER_PATH}" + check_last_command_status "curl -sfLO \"${CLICKHOUSE_SERVER_PATH}\"" $? + + CLICKHOUSE_CLIENT_PATH="${CLICKHOUSE_REPO[${TARGET_DISTRIBUTION}]}/clickhouse-client_${CLICKHOUSE_VERSION}_${OS_ARCH}.${PKG_EXTENSION}" + if [[ "${PKG_EXTENSION}" == "rpm" ]]; then + CLICKHOUSE_CLIENT_PATH="${CLICKHOUSE_REPO[${TARGET_DISTRIBUTION}]}/clickhouse-client-${CLICKHOUSE_VERSION}.x86_64.${PKG_EXTENSION}" + fi + echo "Downloading ${CLICKHOUSE_CLIENT_PATH}...." + curl -sfLO "${CLICKHOUSE_CLIENT_PATH}" + check_last_command_status "curl -sfLO \"${CLICKHOUSE_CLIENT_PATH}\"" $? + fi + NIM_PACKAGE_PATH="^nms-instance-manager_[0-9]+\.[0-9]+\.[0-9]+-([0-9]+)~${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}_${OS_ARCH}\.${PKG_EXTENSION}$" + if [[ "${PKG_EXTENSION}" == "rpm" ]]; then + NIM_PACKAGE_PATH="^nms-instance-manager-[0-9]+\.[0-9]+\.[0-9]+-([0-9]+)${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}\.${PKG_EXTENSION}$" + fi + NIM_PACKAGE_VERSION=$(getLatestPkgVersionFromRepo "${NIM_REPO[${TARGET_DISTRIBUTION}]}" "${NIM_PACKAGE_PATH}" "${PKG_EXTENSION}") + echo "Latest version for nginx instance manager is ${NIM_PACKAGE_VERSION}...." + curl -sfLO --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} "${NIM_REPO[${TARGET_DISTRIBUTION}]}/${NIM_PACKAGE_VERSION}" + check_last_command_status "curl -sfLO --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} \"${NIM_REPO[${TARGET_DISTRIBUTION}]}/${NIM_PACKAGE_VERSION}\"" $? + + NIM_ARCHIVE_FILE_NAME="nim-oss-${TARGET_DISTRIBUTION}.tar.gz" + if [[ "${USE_NGINX_PLUS}" == "true" ]]; then + NIM_ARCHIVE_FILE_NAME="nim-plus-${TARGET_DISTRIBUTION}.tar.gz" + fi + echo -n "Creating NGINX instance manager install bundle ... ${NIM_ARCHIVE_FILE_NAME}" + cp ${NGINX_CERT_PATH} "${TEMP_DIR}/${TARGET_DISTRIBUTION}/nginx-repo.crt" + cp ${NGINX_CERT_KEY_PATH} "${TEMP_DIR}/${TARGET_DISTRIBUTION}/nginx-repo.key" + cd "${CWD}" || echo "failed to change directory to ${CWD}" + tar -zcf "/tmp/${NIM_ARCHIVE_FILE_NAME}" -C "${TEMP_DIR}/${TARGET_DISTRIBUTION}" . + cp "/tmp/${NIM_ARCHIVE_FILE_NAME}" "${CWD}" + echo -e "\nSuccessfully created the NGINX Instance Manager bundle - ${NIM_ARCHIVE_FILE_NAME}" + rm -rf "${TEMP_DIR}" || echo "failed to delete the temporary directory ${TEMP_DIR}" + curl -s -o /dev/null --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} "https://pkgs.nginx.com/nms/?using_install_script=true&app=nim&mode=offline" +} + +install_nim_offline_from_file(){ + echo "Installing NGINX Instance Manager bundle from the path ${INSTALL_PATH}" + if [ -f "${INSTALL_PATH}" ]; then + if [ ! -f "${TEMP_DIR}" ]; then + mkdir -p "${TEMP_DIR}" + fi + tar xvf "${INSTALL_PATH}" -C "${TEMP_DIR}" + chmod -R 777 "${TEMP_DIR}" + chown -R "${USER}" "${TEMP_DIR}" + if cat /etc/*-release | grep -iq 'debian\|ubuntu'; then + for pkg_nginx in "${TEMP_DIR}"/nginx*.deb; do + echo "Installing nginx from ${pkg_nginx}" + DEBIAN_FRONTEND=noninteractive dpkg -i "$pkg_nginx" + check_last_command_status "dpkg -i \"$pkg_nginx\"" $? + done + if [[ ${SKIP_CLICKHOUSE_INSTALL} == "false" ]]; then + for pkg_clickhouse in "${TEMP_DIR}"/clickhouse-common*.deb; do + echo "Installing clickhouse dependencies from ${pkg_clickhouse}" + DEBIAN_FRONTEND=noninteractive dpkg -i "$pkg_clickhouse" + check_last_command_status "dpkg -i \"$pkg_clickhouse\"" $? + done + for pkg_clickhouse_srv in "${TEMP_DIR}"/clickhouse-server*.deb; do + echo "Installing clickhouse dependencies from ${pkg_clickhouse_srv}" + DEBIAN_FRONTEND=noninteractive dpkg -i "$pkg_clickhouse_srv" + check_last_command_status "dpkg -i \"$pkg_clickhouse_srv\"" $? + done + fi + + for pkg_nim in "${TEMP_DIR}"/nms-instance-manager*.deb; do + echo "Installing NGINX Instance Manager from ${pkg_nim}" + DEBIAN_FRONTEND=noninteractive dpkg -i "$pkg_nim" + check_last_command_status "dpkg -i \"$pkg_nim\"" $? + done + generate_admin_password + if [[ ${SKIP_CLICKHOUSE_INSTALL} == "false" ]]; then + echo "Starting clickhouse-server" + systemctl start clickhouse-server fi + echo "Enabling and starting NGINX Instance Manager" + systemctl enable nms nms-core nms-dpm nms-ingestion nms-integrations --now + systemctl start nms nms-core nms-dpm nms-ingestion nms-integrations || journalctl -xeu nms* + echo "Restart nginx configuration" + systemctl restart nginx || journalctl -xeu nginx + check_nim_dashboard_status + + elif cat /etc/*-release | grep -iq 'centos\|fedora\|rhel\|Amazon Linux'; then + yum update -y + for pkg_nginx in "${TEMP_DIR}"/nginx*.rpm; do + echo "Installing nginx from ${pkg_nginx}" + yum localinstall -y -v --disableplugin=subscription-manager --skip-broken "$pkg_nginx" + done + if [[ ${SKIP_CLICKHOUSE_INSTALL} == "false" ]]; then + for pkg_clickhouse in "${TEMP_DIR}"/clickhouse-common*.rpm; do + echo "Installing clickhouse dependencies from ${pkg_clickhouse}" + yum localinstall -y -v --disableplugin=subscription-manager --skip-broken "$pkg_clickhouse" + done + for pkg_clickhouse_srv in "${TEMP_DIR}"/clickhouse-server*.rpm; do + echo "Installing clickhouse dependencies from ${pkg_clickhouse}" + yum localinstall -y -v --disableplugin=subscription-manager --skip-broken "$pkg_clickhouse_srv" + done + fi + for pkg_nim in "${TEMP_DIR}"/nms-instance-manager*.rpm; do + echo "Installing NGINX Instance Manager from ${pkg_nim}" + yum localinstall -y -v --disableplugin=subscription-manager --skip-broken "$pkg_nim" + done + + generate_admin_password + if [[ ${SKIP_CLICKHOUSE_INSTALL} == "false" ]]; then + echo "Starting clickhouse-server" + systemctl start clickhouse-server + fi + + echo "Enabling and starting NGINX Instance Manager" + systemctl enable nms nms-core nms-dpm nms-ingestion nms-integrations --now + systemctl start nms nms-core nms-dpm nms-ingestion nms-integrations || journalctl -xeu nms* + systemctl restart nginx || journalctl -xeu nginx + check_nim_dashboard_status + + else + echo "Unsupported distribution" + exit 1 + fi + + else + echo "Provided install path ${INSTALL_PATH} doesn't exists" + exit 1 fi - else - printf "Unsupported distribution" - exit 1 - fi + if [[ -n ${NIM_FQDN} ]] ; then + echo "Using FQDN - ${NIM_FQDN}" + sudo rm -rf /etc/nms/certs/* + sudo bash /etc/nms/scripts/certs.sh 0 ${NIM_FQDN} + fi + curl -s -o /dev/null --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} "https://pkgs.nginx.com/nms/?using_install_script=true&app=nim&mode=offline" +} + +confirm_action() { + read -p "$1 (y/n)? " -n 1 -r + echo # (optional) move to a new line + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + echo "Installation cancelled by user." + exit 1 + fi + echo "" } -OPTS_STRING="k:c:m:d:i:s:p:n:hv:t:j:rf:l" +printUsageInfo(){ + echo "Usage: $0 [OPTIONS]" + printf "\nThis script is used to install and setup Nginx Instance Manager\n" + printf "\n\n Options:\n" + printf "\n -a arch(amd64/arm64) for the offline packages to download. Valid only when mode is set to offline \n" + printf "\n -c /path/to/your/ file.\n" + printf "\n -d . Include the label of a distribution. Requires -m Offline. This creates a file with NGINX Instance Manager dependencies and NGINX Instance Manager install packages for the specified distribution" + printf "\n [ubuntu20.04,ubuntu22.04,ubuntu24.04,debian11,debian12,centos8,rhel8,rhel9,oracle8,oracle9]\n" + printf "\n -f use to specify the fully qualified domain name to use for generating nim certificates.\n" + printf "\n -h Print this help message.\n" + printf "\n -i . Include the path with an archive file to support NGINX Instance Manager installation. Requires -m Offline.\n" + printf "\n -j . Path to the JWT token file used for license and usage consumption reporting.\n" + printf "\n -k /path/to/your/ file.\n" + printf "\n -l Print supported operating systems.\n" + printf "\n -m online/offline. Controls whether to install from the internet or from a package created using this script. \n" + printf "\n -p Include NGINX Plus as an API gateway. \n" + printf "\n -r To uninstall NGINX Instance Manager and its dependencies. \n" + printf "\n -s Skip packaging/installing clickhouse packages. \n" + printf "\n -v clickhouse version to install/package. \n" + printf "\n -y Install Nginx Instance Manager if all the requirements are passed. \n" + exit 0 +} + +printSupportedOS(){ + printf "This script can be run on the following operating systems" + printf "\n 1. ubuntu20.04(focal)" + printf "\n 2. ubuntu22.04(jammy)" + printf "\n 3. ubuntu24.04(noble)" + printf "\n 4. debian11(bullseye)" + printf "\n 5. debian12(bookworm)" + printf "\n 6. centos8(CentOS 8)" + printf "\n 7. rhel8(Redhat Enterprise Linux Version 8)" + printf "\n 8. rhel9( Redhat Enterprise Linux Version 9)" + printf "\n 9. oracle8(Oracle Linux Version 8)\n" + printf "\n 10. oracle9(Oracle Linux Version 9)\n" + exit 0 +} + +OPTS_STRING="a:c:d:f:hi:j:k:lm:prsv:y" + while getopts ${OPTS_STRING} opt; do case ${opt} in + a) + if [[ "${OPTARG}" != "amd64" && "${OPTARG}" != "arm64" ]]; then + echo "invalid OS arch type ${OPTARG}" + echo "supported values are 'amd64' or 'arm64'" + exit 1 + fi + OS_ARCH=${OPTARG} + ;; c) if [ ! -d "/etc/ssl/nginx" ]; then mkdir /etc/ssl/nginx @@ -743,62 +835,56 @@ while getopts ${OPTS_STRING} opt; do cp "${OPTARG}" ${NGINX_CERT_PATH} check_last_command_status "cp ${OPTARG} ${NGINX_CERT_PATH}" $? ;; - k) - if [ ! -d "/etc/ssl/nginx" ]; then - mkdir /etc/ssl/nginx - check_last_command_status "mkdir /etc/ssl/nginx" $? - fi - cp "${OPTARG}" ${NGINX_CERT_KEY_PATH} - check_last_command_status "cp ${OPTARG} ${NGINX_CERT_KEY_PATH}" $? + d) + TARGET_DISTRIBUTION=${OPTARG} ;; - p) - USE_NGINX_PLUS="true" - NGINX_PLUS_VERSION=${OPTARG} + f) + NIM_FQDN=${OPTARG} ;; - s) - USE_SM_MODULE="true" - NIM_SM_VERSION="${OPTARG}" + h) + printUsageInfo + exit 0 ;; i) INSTALL_PATH=${OPTARG} ;; - n) - NGINX_VERSION=${OPTARG} + j) + LICENSE_JWT_PATH=${OPTARG} + ;; + k) + if [ ! -d "/etc/ssl/nginx" ]; then + mkdir /etc/ssl/nginx + check_last_command_status "mkdir /etc/ssl/nginx" $? + fi + cp "${OPTARG}" ${NGINX_CERT_KEY_PATH} + check_last_command_status "cp ${OPTARG} ${NGINX_CERT_KEY_PATH}" $? + ;; + l) + printSupportedOS + exit 0 ;; m) MODE="${OPTARG}" if [[ "${MODE}" != "online" && "${MODE}" != "offline" ]]; then - echo "invalid mode ${MODE}" - echo "supported values for mode are 'online' or 'offline'" - exit 1 + echo "invalid mode ${MODE}" + echo "supported values for mode are 'online' or 'offline'" + exit 1 fi ;; - d) - TARGET_DISTRIBUTION=${OPTARG} - ;; - v) - NIM_VERSION=${OPTARG} - ;; - j) - LICENSE_JWT_PATH=${OPTARG} - ;; - t) - CLICKHOUSE_VERSION=${OPTARG} + p) + USE_NGINX_PLUS="true" ;; r) UNINSTALL_NIM="true" ;; - f) - NIM_FQDN=${OPTARG} + s) + SKIP_CLICKHOUSE_INSTALL="true" ;; - h) - printUsageInfo - exit 0 + v) + CLICKHOUSE_VERSION=${OPTARG} + ;; + y) ;; - l) - printSupportedOS - exit 0 - ;; :) echo "Option -${OPTARG} requires an argument." exit 1 @@ -810,283 +896,27 @@ while getopts ${OPTS_STRING} opt; do esac done -check_if_nim_installed -check_cert_key_jwt_path +if [[ "$#" == "0" ]]; then + printUsageInfo + exit 0 +fi + +if [[ $EUID -ne 0 ]]; then + echo "This script is not being executed with sudo permissions." + echo "Please run it with sudo, e.g., sudo bash install-nim-bundle.sh" + exit 1 +fi + +validate_nim_installation +validate_nginx_paths if [ "${MODE}" == "online" ]; then install_nim_online - check_NIM_status - + check_nim_dashboard_status else - if [ "${NGINX_VERSION}" == "latest" ]; then - NGINX_VERSION=${NGINX_LATEST_VERSION} - fi - if [ "${NIM_VERSION}" == "latest" ]; then - NIM_VERSION=${NIM_LATEST_VERSION} - fi - if [ "${CLICKHOUSE_VERSION}" == "latest" ]; then - CLICKHOUSE_VERSION=${CLICKHOUSE_LATEST_VERSION} - fi - - declare -A CLICKHOUSE_REPO - CLICKHOUSE_REPO['ubuntu20.04']="https://packages.clickhouse.com/deb/pool/main/c/clickhouse/" - CLICKHOUSE_REPO['ubuntu22.04']="https://packages.clickhouse.com/deb/pool/main/c/clickhouse/" - CLICKHOUSE_REPO['ubuntu24.04']="https://packages.clickhouse.com/deb/pool/main/c/clickhouse/" - CLICKHOUSE_REPO['debian11']="https://packages.clickhouse.com/deb/pool/main/c/clickhouse/" - CLICKHOUSE_REPO['debian12']="https://packages.clickhouse.com/deb/pool/main/c/clickhouse/" - CLICKHOUSE_REPO['centos8']="https://packages.clickhouse.com/rpm/stable/" - CLICKHOUSE_REPO['rhel8']="https://packages.clickhouse.com/rpm/stable/" - CLICKHOUSE_REPO['rhel9']="https://packages.clickhouse.com/rpm/stable/" - CLICKHOUSE_REPO['oracle8']="https://packages.clickhouse.com/rpm/stable/" - CLICKHOUSE_REPO['oracle9']="https://packages.clickhouse.com/rpm/stable/" - CLICKHOUSE_REPO['amzn2']="https://packages.clickhouse.com/rpm/stable/" - - declare -A NGINX_REPO - NGINX_REPO['ubuntu20.04']="https://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx/" - NGINX_REPO['ubuntu22.04']="https://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx/" - NGINX_REPO['ubuntu24.04']="https://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx/" - NGINX_REPO['debian11']="https://nginx.org/packages/mainline/debian/pool/nginx/n/nginx/" - NGINX_REPO['debian12']="https://nginx.org/packages/mainline/debian/pool/nginx/n/nginx/" - NGINX_REPO['centos8']="https://nginx.org/packages/mainline/centos/8/x86_64/RPMS/" - NGINX_REPO['rhel8']="https://nginx.org/packages/mainline/rhel/8/x86_64/RPMS/" - NGINX_REPO['rhel9']="https://nginx.org/packages/mainline/rhel/9/x86_64/RPMS/" - NGINX_REPO['oracle8']="https://nginx.org/packages/mainline/rhel/8/x86_64/RPMS/" - NGINX_REPO['oracle9']="https://nginx.org/packages/mainline/rhel/9/x86_64/RPMS/" - NGINX_REPO['amzn2']="https://nginx.org/packages/mainline/amzn2/2/x86_64/RPMS/" - CLICKHOUSE_KEY="https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key" - NGINX_KEY="https://nginx.org/keys/nginx_signing.key" - - declare -A NMS_REPO - NMS_REPO['ubuntu20.04']="https://pkgs.nginx.com/nms/ubuntu/pool/nginx-plus/n/nms-instance-manager/" - NMS_REPO['ubuntu22.04']="https://pkgs.nginx.com/nms/ubuntu/pool/nginx-plus/n/nms-instance-manager/" - NMS_REPO['ubuntu24.04']="https://pkgs.nginx.com/nms/ubuntu/pool/nginx-plus/n/nms-instance-manager/" - NMS_REPO['debian11']="https://pkgs.nginx.com/nms/debian/pool/nginx-plus/n/nms-instance-manager/" - NMS_REPO['debian12']="https://pkgs.nginx.com/nms/debian/pool/nginx-plus/n/nms-instance-manager/" - NMS_REPO['centos8']="https://pkgs.nginx.com/nms/centos/8/x86_64/RPMS/" - NMS_REPO['rhel8']="https://pkgs.nginx.com/nms/centos/8/x86_64/RPMS/" - NMS_REPO['rhel9']="https://pkgs.nginx.com/nms/centos/9/x86_64/RPMS/" - NMS_REPO['oracle8']="https://pkgs.nginx.com/nms/centos/8/x86_64/RPMS/" - NMS_REPO['oracle9']="https://pkgs.nginx.com/nms/centos/9/x86_64/RPMS/" - NMS_REPO['amzn2']="https://pkgs.nginx.com/nms/amzn2/2/x86_64/RPMS/" - - declare -A CLICKHOUSE_PACKAGES - # for Clickhouse package names are static between distributions - # we use ubuntu/centos entries as placeholders - CLICKHOUSE_PACKAGES['ubuntu']=$(printf "clickhouse-server_%s_amd64.deb\nclickhouse-common-static_%s_amd64.deb" ${CLICKHOUSE_VERSION} ${CLICKHOUSE_VERSION}) - CLICKHOUSE_PACKAGES['centos']=$(printf "clickhouse-server-%s.x86_64.rpm\nclickhouse-common-static-%s.x86_64.rpm" ${CLICKHOUSE_VERSION} ${CLICKHOUSE_VERSION}) - CLICKHOUSE_PACKAGES['ubuntu20.04']=${CLICKHOUSE_PACKAGES['ubuntu']} - CLICKHOUSE_PACKAGES['ubuntu22.04']=${CLICKHOUSE_PACKAGES['ubuntu']} - CLICKHOUSE_PACKAGES['ubuntu24.04']=${CLICKHOUSE_PACKAGES['ubuntu']} - CLICKHOUSE_PACKAGES['debian11']=${CLICKHOUSE_PACKAGES['ubuntu']} - CLICKHOUSE_PACKAGES['debian12']=${CLICKHOUSE_PACKAGES['ubuntu']} - CLICKHOUSE_PACKAGES['centos8']=${CLICKHOUSE_PACKAGES['centos']} - CLICKHOUSE_PACKAGES['rhel8']=${CLICKHOUSE_PACKAGES['centos']} - CLICKHOUSE_PACKAGES['rhel9']=${CLICKHOUSE_PACKAGES['centos']} - CLICKHOUSE_PACKAGES['oracle8']=${CLICKHOUSE_PACKAGES['centos']} - CLICKHOUSE_PACKAGES['oracle9']=${CLICKHOUSE_PACKAGES['centos']} - CLICKHOUSE_PACKAGES['amzn2']=${CLICKHOUSE_PACKAGES['centos']} - - declare -A NGINX_PACKAGES - NGINX_PACKAGES['ubuntu20.04']="nginx_${NGINX_VERSION}~focal_amd64.deb" - NGINX_PACKAGES['ubuntu22.04']="nginx_${NGINX_VERSION}~jammy_amd64.deb" - NGINX_PACKAGES['ubuntu24.04']="nginx_${NGINX_VERSION}~noble_amd64.deb" - NGINX_PACKAGES['debian11']="nginx_${NGINX_VERSION}~bullseye_amd64.deb" - NGINX_PACKAGES['debian12']="nginx_${NGINX_VERSION}~bookworm_amd64.deb" - NGINX_PACKAGES['centos8']="nginx-${NGINX_VERSION}.el8.ngx.x86_64.rpm" - NGINX_PACKAGES['rhel8']="nginx-${NGINX_VERSION}.el8.ngx.x86_64.rpm" - NGINX_PACKAGES['rhel9']="nginx-${NGINX_VERSION}.el9.ngx.x86_64.rpm" - NGINX_PACKAGES['oracle8']="nginx-${NGINX_VERSION}.el8.ngx.x86_64.rpm" - NGINX_PACKAGES['oracle9']="nginx-${NGINX_VERSION}.el9.ngx.x86_64.rpm" - NGINX_PACKAGES['amzn2']="nginx-${NGINX_VERSION}.amzn2.ngx.x86_64.rpm" - - declare -A NIM_PACKAGES - NIM_PACKAGES['ubuntu20.04']="nms-instance-manager_${NIM_VERSION}-\d*~focal_amd64\.deb" - NIM_PACKAGES['ubuntu22.04']="nms-instance-manager_${NIM_VERSION}-\d*~jammy_amd64\.deb" - NIM_PACKAGES['ubuntu24.04']="nms-instance-manager_${NIM_VERSION}-\d*~jammy_amd64\.deb" - NIM_PACKAGES['debian11']="nms-instance-manager_${NIM_VERSION}-\d*~bullseye_amd64\.deb" - NIM_PACKAGES['debian12']="nms-instance-manager_${NIM_VERSION}-\d*~bookworm_amd64\.deb" - NIM_PACKAGES['centos8']="nms-instance-manager-${NIM_VERSION}-\d*.el8.ngx.x86_64\.rpm" - NIM_PACKAGES['rhel8']="nms-instance-manager-${NIM_VERSION}-\d*.el8.ngx.x86_64\.rpm" - NIM_PACKAGES['rhel9']="nms-instance-manager-${NIM_VERSION}-\d*.el9.ngx.x86_64\.rpm" - NIM_PACKAGES['oracle8']="nms-instance-manager-${NIM_VERSION}-\d*.el8.ngx.x86_64\.rpm" - NIM_PACKAGES['oracle9']="nms-instance-manager-${NIM_VERSION}-\d*.el9.ngx.x86_64\.rpm" - NIM_PACKAGES['amzn2']="nms-instance-manager-${NIM_VERSION}-\d*.amzn2.ngx.x86_64\.rpm" - if [ -z "${INSTALL_PATH}" ]; then - target_distribution="$TARGET_DISTRIBUTION" - echo "Target distro - $target_distribution" - if [[ "${#CLICKHOUSE_REPO[$target_distribution]}" -eq 0 ]]; then - echo "Invalid target distribution. Supported target distributions: " "${!CLICKHOUSE_REPO[@]}" - exit 1 - fi - echo "Creating NGINX Instance Manager installation bundle for distribution ${CLICKHOUSE_PACKAGES[${target_distribution}]}..." - if [ -z "${target_distribution}" ]; then - echo "${target_distribution} - no target distribution specified" - exit 1 - fi - mkdir -p "${TEMP_DIR}/${target_distribution}" - echo "Downloading clickhouse signing keys ${CLICKHOUSE_KEY}... " - url_file_download ${CLICKHOUSE_KEY} "${TEMP_DIR}/${target_distribution}/clickhouse-key.gpg" - echo "Downloaded clickhouse signing keys" - - echo "downloading nginx signing keys ${NGINX_KEY}... " - url_file_download ${NGINX_KEY} "${TEMP_DIR}/${target_distribution}/nginx-key.gpg" - echo "Downloaded nginx signing keys" - - readarray -t clickhouse_files <<<"${CLICKHOUSE_PACKAGES[$target_distribution]}" - readarray -t nginx_files <<<"${NGINX_PACKAGES[$target_distribution]}" - readarray -t nim_files <<<"${NIM_PACKAGES[$target_distribution]}" - - for package_file in "${clickhouse_files[@]}"; do - if [ -z "$package_file" ]; then - continue - fi - file_to_download="${CLICKHOUSE_REPO[$target_distribution]}$package_file" - save_path="${TEMP_DIR}/${target_distribution}/$package_file" - echo -n "Downloading ${file_to_download} ... " - url_file_download "$file_to_download" "$save_path" - echo "Downloaded clickhouse package - $save_path" - done - for package_file in "${nginx_files[@]}"; do - if [ -z "$package_file" ]; then - continue - fi - file_to_download="${NGINX_REPO[$target_distribution]}$package_file" - save_path="${TEMP_DIR}/${target_distribution}/$package_file" - echo -n "Downloading ${package_file} ... " - url_file_download "$file_to_download" "$save_path" - echo "Downloaded nginx package - $save_path" - done - for package_file in "${nim_files[@]}"; do - if [ -z "$package_file" ]; then - continue - fi - nim_with_version=$(curl -fs --cert "${NGINX_CERT_PATH}" --key "${NGINX_CERT_KEY_PATH}" "${NMS_REPO[$target_distribution]}" \ - | grep -P "${package_file}" | sed -n 's/.*]*href="\([^"]*\)".*/\1/p') - if [[ "${#nim_with_version}" -eq 0 ]]; then - echo "Error: NGINX Instance Manager $NIM_VERSION ($target_distribution) version not found on ${NMS_REPO[$target_distribution]}" - exit 1 - fi - file_to_download="${NMS_REPO[$target_distribution]}${nim_with_version}" - save_path="${TEMP_DIR}/${target_distribution}/$nim_with_version" - echo -n "Downloading ${nim_with_version} ... " - url_file_download "$file_to_download" "$save_path" - echo "Downloaded NGINX Instance Manager package - $save_path" - done - download_third_party_dependencies - bundle_file="nim-${NIM_VERSION}-${target_distribution}.tar.gz" - echo -n "Creating NGINX Instance Manager install bundle ... ${bundle_file}" - cp ${NGINX_CERT_PATH} "${TEMP_DIR}/${target_distribution}/nginx-repo.crt" - cp ${NGINX_CERT_KEY_PATH} "${TEMP_DIR}/${target_distribution}/nginx-repo.key" - tar -zcf "$bundle_file" -C "${TEMP_DIR}/${target_distribution}/" . - echo -e "\nSuccessfully created the NGINX Instance Manager bundle - $bundle_file" - curl -s -o /dev/null --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} "https://pkgs.nginx.com/nms/?using_install_script=true&app=nim&mode=offline" - + package_nim_offline else - echo "Installing NGINX Instance Manager bundle from the path ${INSTALL_PATH}" - if [ -f "${INSTALL_PATH}" ]; then - if [ ! -f "${TEMP_DIR}" ]; then - mkdir -p "${TEMP_DIR}" - fi - tar xvf "${INSTALL_PATH}" -C "${TEMP_DIR}" - chmod -R 777 "${TEMP_DIR}" - chown -R "${USER}" "${TEMP_DIR}" - if cat /etc/*-release | grep -iq 'debian\|ubuntu'; then - for pkg_nginx in "${TEMP_DIR}"/nginx*.deb; do - echo "Installing nginx from ${pkg_nginx}" - DEBIAN_FRONTEND=noninteractive dpkg -i "$pkg_nginx" - check_last_command_status "dpkg -i \"$pkg_nginx\"" $? - done - for pkg_clickhouse in "${TEMP_DIR}"/clickhouse-common*.deb; do - echo "Installing clickhouse dependencies from ${pkg_clickhouse}" - DEBIAN_FRONTEND=noninteractive dpkg -i "$pkg_clickhouse" - check_last_command_status "dpkg -i \"$pkg_clickhouse\"" $? - done - for pkg_clickhouse_srv in "${TEMP_DIR}"/clickhouse-server*.deb; do - echo "Installing clickhouse dependencies from ${pkg_clickhouse_srv}" - DEBIAN_FRONTEND=noninteractive dpkg -i "$pkg_clickhouse_srv" - check_last_command_status "dpkg -i \"$pkg_clickhouse_srv\"" $? - done - if [ -d "${TEMP_DIR}/keepalived" ]; then - echo "Installing keepalived from ${TEMP_DIR}/keepalived" - DEBIAN_FRONTEND=noninteractive dpkg -i ${TEMP_DIR}/keepalived/*.deb - check_last_command_status "dpkg -i ${TEMP_DIR}/keepalived/*.deb" $? - fi - for pkg_nim in "${TEMP_DIR}"/nms-instance-manager*.deb; do - echo "Installing NGINX Instance Manager from ${pkg_nim}" - DEBIAN_FRONTEND=noninteractive dpkg -i "$pkg_nim" - check_last_command_status "dpkg -i \"$pkg_nim\"" $? - done - - generate - echo "Starting clickhouse-server" - systemctl start clickhouse-server - - echo "Starting nginx" - systemctl start nginx - - echo "Reloading nginx configuration" - systemctl restart nginx - - echo "Enabling and starting NGINX Instance Manager" - systemctl enable nms nms-core nms-dpm nms-ingestion nms-integrations --now - - check_NIM_status - - elif cat /etc/*-release | grep -iq 'centos\|fedora\|rhel\|Amazon Linux'; then - for pkg_nginx in "${TEMP_DIR}"/nginx*.rpm; do - echo "Installing nginx from ${pkg_nginx}" - yum localinstall -y -v --disableplugin=subscription-manager --skip-broken "$pkg_nginx" - done - for pkg_clickhouse in "${TEMP_DIR}"/clickhouse-common*.rpm; do - echo "Installing clickhouse dependencies from ${pkg_clickhouse}" - yum localinstall -y -v --disableplugin=subscription-manager --skip-broken "$pkg_clickhouse" - done - for pkg_clickhouse_srv in "${TEMP_DIR}"/clickhouse-server*.rpm; do - echo "Installing clickhouse dependencies from ${pkg_clickhouse}" - yum localinstall -y -v --disableplugin=subscription-manager --skip-broken "$pkg_clickhouse_srv" - done - if [ -d "${TEMP_DIR}/keepalived" ]; then - echo "Installing keepalived from ${TEMP_DIR}/keepalived" - yum localinstall -y -v --disableplugin=subscription-manager --skip-broken "${TEMP_DIR}/keepalived/*.rpm" - check_last_command_status "dpkg -i yum localinstall -y -v --disableplugin=subscription-manager --skip-broken ${TEMP_DIR}/keepalived/*.rpm" $? - fi - for pkg_nim in "${TEMP_DIR}"/nms-instance-manager*.rpm; do - echo "Installing NGINX Instance Manager from ${pkg_nim}" - yum localinstall -y -v --disableplugin=subscription-manager --skip-broken "$pkg_nim" - done - - generate - echo "Starting clickhouse-server" - systemctl start clickhouse-server - - echo "Starting nginx" - systemctl start nginx - - echo "Reloading nginx configuration" - systemctl restart nginx - - echo "Enabling and starting NGINX Instance Manager" - systemctl enable nms nms-core nms-dpm nms-ingestion nms-integrations --now - - check_NIM_status - - else - echo "Unsupported distribution" - exit 1 - fi - - else - echo "Provided install path ${INSTALL_PATH} doesn't exists" - exit 1 - fi - if [[ -n ${NIM_FQDN} ]] ; then - if [ -d "${NIM_CERTS_DIR}" ]; then - echo "removing existing nim certs" - rm -rf "/etc/nms/certs" - fi - bash -c "source /etc/nms/scripts/certs.sh 0 \"${NIM_FQDN}\" || /etc/nms/scripts/certs.sh 0 ${NIM_FQDN}" - fi - curl -s -o /dev/null --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} "https://pkgs.nginx.com/nms/?using_install_script=true&app=nim&mode=offline" + install_nim_offline_from_file fi fi diff --git a/static/scripts/license_usage_offline.sh b/static/scripts/license_usage_offline.sh index 8a1a1eabd..be2cd3a65 100755 --- a/static/scripts/license_usage_offline.sh +++ b/static/scripts/license_usage_offline.sh @@ -1,282 +1,282 @@ #!/bin/bash -# Function to encode the username and password to Base64 -encode_base64() { - echo -n "$1:$2" | base64 -} +# Enable strict mode for better error handling +set -euo pipefail +IFS=$'\n\t' -# Print help text and exit. -if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then - echo - echo "Usage: $0 -j -i -u -p -o -s " - echo - echo "This script alows you to license NGINX Instance Manager and submit usage reports to F5 in a disconnected environment." - echo "It needs to be run on a system that can reach NGINX Instance Manager and the following endpoint on port 443: https://product.apis.f5.com/" +# Function to display usage +usage() { + echo "Usage: $0 -j -i -u -p -s " echo - echo "If NGINX Instance Manager is connected to the internet (Connected Mode), please use the UI." - echo "This script is only necessary if NGINX Instance Manager is set to Disconnected Mode." - echo - echo "For Licensing in Disconnected Mode:" - echo "$0 -j my-jwt.jwt -i -u admin -p -o report.zip -s initial" - echo - echo "For Usage Reporting in Disconnected Mode:" - echo "$0 -j my-jwt.jwt -i -u admin -p -o report.zip -s telemetry" - echo - echo "Note: Since NGINX Instance Manager comes with self-signed certificates by default, the --insecure flag is set in this script to run specific Curl commands." - echo "You can alter this script if you wish to change from self-signed to verified certificates in Instance Manager." - echo + echo "Options:" + echo " -j Path to the JWT (JSON Web Token) file used for authentication." + echo " -i IP address of the NIM (NGINX Instance Manager) to connect to." + echo " -u Username for login/authentication to NIM (NGINX Instance Manager)." + echo " -p Password corresponding to the username for NIM (NGINX Instance Manager) authentication." + echo " -s Script execution mode. One of the following:" + echo " initial - Perform Initial License Activation" + echo " telemetry - Perform telemetry submission: download usage report from NGINX Instance Manager and submit to F5." exit 1 -fi - -if ! command -v jq &> /dev/null; then - echo -e "\nPlease install jq (https://jqlang.github.io/jq/) as it is required to run the script\n" - exit 1 -fi +} # Parse command-line arguments -while getopts ":j:i:u:p:o:s:" opt; do +while getopts ":j:i:u:p:s:" opt; do case $opt in - j) jwt_file="$OPTARG" ;; - i) ip_address="$OPTARG" ;; - u) username="$OPTARG" ;; - p) password="$OPTARG" ;; - o) output_file="$OPTARG" ;; - s) step="$OPTARG" ;; - \?) echo "Invalid option -$OPTARG" >&2 ;; + j) JWT_FILE="$OPTARG" ;; + i) NIM_IP="$OPTARG" ;; + u) USERNAME="$OPTARG" ;; + p) PASSWORD="$OPTARG" ;; + s) USE_CASE="$OPTARG" ;; + *) usage ;; esac done +# Check if all required arguments are provided +if [ -z "${JWT_FILE:-}" ] || [ -z "${NIM_IP:-}" ] || [ -z "${USERNAME:-}" ] || [ -z "${PASSWORD:-}" ] || [ -z "${USE_CASE:-}" ]; then + usage +fi -# Check if JWT_FILE is not empty and if the file exists -if [ -z "$jwt_file" ]; then - echo "JWT file path is not defined. Please set the JWT_FILE variable." - exit 1 -elif [ ! -f "$jwt_file" ]; then - echo "JWT file not found: $jwt_file" - exit 1 -else - echo "JWT file found: $jwt_file" +echo "Running $USE_CASE report" + +# Ensure /tmp directory exists or else create it and proceed +if [ ! -d "/tmp" ]; then + echo "/tmp directory does not exist. Creating it now..." + mkdir -p /tmp || { echo "Failed to create /tmp directory. Exiting."; exit 1; } fi -# Read the Bearer token from the file -bearer_token=$(<"$jwt_file") +# Read JWT contents +if [ ! -f "$JWT_FILE" ]; then + echo -e "JWT file '$JWT_FILE' not found.$" >&2 + exit 1 +fi +JWT_CONTENT=$(<"$JWT_FILE") -# Encode the username and password to Base64 for Basic Authorization -basic_auth=$(encode_base64 "$username" "$password") +# Encode credentials +AUTH_HEADER=$(echo -n "$USERNAME:$PASSWORD" | base64) +# Check connectivity to NGINX Instance Manager IP and the F5 licensing server (product.apis.f5.com) +echo -e "Checking connectivity to NGINX Instance Manager and F5 licensing server..." -# Initialize report_save_path if it's empty -report_save_path=${output_file:-"report.zip"} +# Function to test ping +check_ping() { + local host=$1 + echo "Pinging $host... " + if ! ping -c 2 -W 2 "$host" > /dev/null 2>&1; then + echo -e "Cannot reach $host. Please check your network, DNS or check if any proxy is set.$" >&2 + exit 1 + fi + echo -e "$host is reachable." +} -############################################################################ -# Step 1: Upload JWT to NGINX Instance Manager and Download telemetry report -############################################################################ -echo "###################################################################" -echo "# (if not already licensed) Upload JWT and Download the Telemetry report from NGINX Instance Manager #" -echo "###################################################################" -if [ "$step" == "initial" ]; then +# Call the function for each host +is_ipv4() { + local ip=$1 + if [[ $ip =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; then + IFS='.' read -r -a octets <<< "$ip" + for octet in "${octets[@]}"; do + if ((octet < 0 || octet > 255)); then + return 1 + fi + done + return 0 + else + return 1 + fi +} - # Function to print banner - print_banner() { - echo "====================================" - echo "$1" - echo "====================================" +if is_ipv4 "$NIM_IP"; then + check_ping "$NIM_IP" +else + echo "Checking connectivity to NGINX Instance Manager using Curl ..." + if ! curl -sk --output /dev/null --silent --fail "https://$NIM_IP"; then + echo -e "The NGINX Instance Manager UI is not reachable on $NIM_IP" + exit 1 + fi +fi +check_ping "product.apis.f5.com" + +# NGINX Instance Manager Version check +VERSION_JSON=$(curl -sk -X GET "https://$NIM_IP/api/platform/v1/modules/versions" \ + --header "Content-Type: application/json" \ + --header "Authorization: Basic $AUTH_HEADER") +NIM_VER=$(echo "$VERSION_JSON" | sed -E 's/.*"nim"[ \t]*:[ \t]*"([0-9]+\.[0-9]+)(\.[0-9]+)?".*/\1/') +echo "Current version of NGINX Instance Manager is $NIM_VER" +JWT_CONTENT=$(<"$JWT_FILE") + +# Construct JSON payload +JSON_PAYLOAD=$(cat <&2 + exit 1 + fi + # Step 1: Apply JWT license (only if use case is 'initial' or 'intial_only') + echo "Applying JWT license" + RESPONSE=$(curl -sS -k --max-time 10 -w "\n%{http_code}" -X POST "https://$NIM_IP/api/platform/v1/license?telemetry=true" \ + -H "Origin: $ORIGIN" \ + -H "Referer: $REFERER" \ + -H "Content-Type: application/json" \ + -H "Authorization: Basic $AUTH_HEADER" \ + -d "$JSON_PAYLOAD") + echo "Uploaded License" + HTTP_BODY=$(echo "$RESPONSE" | sed '$d') + HTTP_STATUS=$(echo "$RESPONSE" | tail -n1) + if [ "$HTTP_STATUS" -ne 202 ]; then + echo -e "HTTP request failed with status code $HTTP_STATUS. + Response: $HTTP_BODY$" >&2 + if echo "$HTTP_BODY" | jq -r '.message' | grep -q "failed to register token. already registered"; then + echo -e "NGINX Instance Manager already registered and licensed. + If needed, terminate the current license manually in the NGINX Instance Manager UI and re-run the script with the correct license. + https://docs.nginx.com/nginx-instance-manager/disconnected/add-license-disconnected-deployment/" + fi + exit 1 + fi fi -if [ "$step" == "telemetry" ]; then - echo "Running telemetry stage: " - - # Run the saved command and store the response - response=$(eval $prepare_usage_command) - - # Print the response - echo "Response: $response" - sleep 2 - # Validate if the response contains "Report generation in progress" - if echo "$response" | grep -q '"telemetry":"Report generation in progress"'; then - echo "Success: Report generation is in progress." + +if [[ "$NIM_VER" < "2.18" ]]; then + echo "NGINX Instance Manager version $NIM_VER is not supported by this script. Please use NGINX Instance Manager 2.18 or later" + exit 1 + +elif [[ "$NIM_VER" == "2.18" ]] || [[ "$NIM_VER" == "2.19" ]]; then + echo "NGINX Instance Manager version $NIM_VER detected." + ORIGIN="https://$NIM_IP" + +# Send the PUT request and separate body and status code + PUT_RESPONSE_CODE=$(curl -k -s -w "%{http_code}" -o /tmp/put_response.json --location --request PUT "https://$NIM_IP/api/platform/v1/license?telemetry=true" \ + --header "Origin: $ORIGIN" \ + --header "Referer: https://$NIM_IP/ui/settings/license" \ + --header "Content-Type: application/json" \ + --header "Authorization: Basic $AUTH_HEADER" \ + --data '{ + "desiredState": { + "content": "'"$JWT_CONTENT"'", + "type": "JWT", + "features": [ + {"limit": 0, "name": "NGINX_NAP_DOS", "valueType": ""}, + {"limit": 0, "name": "IM_INSTANCES", "valueType": ""}, + {"limit": 0, "name": "TM_INSTANCES", "valueType": ""}, + {"limit": 0, "name": "DATA_PER_HOUR_GB", "valueType": ""}, + {"limit": 0, "name": "NGINX_INSTANCES", "valueType": ""}, + {"limit": 0, "name": "NGINX_NAP", "valueType": ""}, + {"limit": 0, "name": "SUCCESSFUL_API_CALLS_MILLIONS", "valueType": ""}, + {"limit": 0, "name": "IC_PODS", "valueType": ""}, + {"limit": 0, "name": "IC_K8S_NODES", "valueType": ""} + ] + }, + "metadata": { + "name": "license" + } + }') + + echo "Response status code: $PUT_RESPONSE_CODE" + + if [[ "$PUT_RESPONSE_CODE" == "200" ]]; then + echo -e "(legacy): License applied successfully in DISCONNECTED mode for version $NIM_VER." else - echo "Failure: Report generation not in progress or unexpected response." + echo -e "(legacy): License PUT request failed. Status code: $PUT_RESPONSE_CODE$" + echo "clear the license database and re-trigger the script again" exit 1 fi +fi + +if [[ "$USE_CASE" != "telemetry" ]]; then + + RESPONSE=$(curl -sS -k --max-time 10 -w "\n%{http_code}" -X POST "https://$NIM_IP/api/platform/v1/license?telemetry=true" \ + -H "Origin: $ORIGIN" \ + -H "Referer: $REFERER" \ + -H "Content-Type: application/json" \ + -H "Authorization: Basic $AUTH_HEADER" \ + -d "$JSON_PAYLOAD") + + HTTP_BODY=$(echo "$RESPONSE" | sed '$d') + HTTP_STATUS=$(echo "$RESPONSE" | tail -n1) + + echo -e "License applied successfully in DISCONNECTED mode." +fi + + + +# Continue with further steps for version >= 2.20... +echo "Executing telemetry tasks " +# Step 2: Download the usage report +echo "Downloading usage report from NGINX Instance Manager at $NIM_IP..." +if [[ "$NIM_VER" == "2.18" ]] || [[ "$NIM_VER" == "2.19" ]]; then + if [[ "$USE_CASE" == "initial" ]]; then + # Perform the request and capture the status code and output + HTTP_RESPONSE=$(curl -k -sS -w "\n%{http_code}" --location "https://$NIM_IP/api/platform/v1/report/download?format=zip&reportType=initial" \ + --header "accept: application/json" \ + --header "authorization: Basic $AUTH_HEADER" \ + --header "content-type: application/json" \ + --header "origin: https://$NIM_IP" \ + --output /tmp/response.zip) + else + prepare_usage_command="curl --insecure --location 'https://$NIM_IP/api/platform/v1/report/download?format=zip&reportType=telemetry&telemetryAction=prepare' \ + --header 'accept: application/json' \ + --header 'authorization: Basic $AUTH_HEADER' \ + --header 'referer: https://$NIM_IP/ui/settings/license'" + report_save_path="${output_file:-/tmp/response.zip}" + + download_usage_command="curl --insecure --location 'https://$NIM_IP/api/platform/v1/report/download?format=zip&reportType=telemetry&telemetryAction=download' \ + --header 'accept: */*' \ + --header 'authorization: Basic $AUTH_HEADER' \ + --output \"$report_save_path\"" + if [ "$USE_CASE" == "telemetry" ]; then + echo "Running telemetry stage: " + + # Run the saved command and store the response + response=$(eval $prepare_usage_command) + + sleep 2 + # Validate if the response contains "Report generation in progress" + if echo "$response" | grep -q '"telemetry":"Report generation in progress"'; then + echo -e "Success: Report generation is in progress." + else + echo -e "Failure: Report generation not in progress or unexpected response." + exit 1 + fi echo "Running command: $download_usage_command" eval $download_usage_command @@ -284,122 +284,187 @@ if [ "$step" == "telemetry" ]; then echo "Running command: $download_usage_command" eval $download_usage_command fi + fi +else + # Perform the request and capture the status code and output + HTTP_RESPONSE=$(curl -k -sS -w "\n%{http_code}" --location "https://$NIM_IP/api/platform/v1/report/download?format=zip" \ + --header "accept: application/json" \ + --header "authorization: Basic $AUTH_HEADER" \ + --header "content-type: application/json" \ + --header "origin: https://$NIM_IP" \ + --output /tmp/response.zip) + # Extract the HTTP status code (last line) + HTTP_STATUS=$(echo "$HTTP_RESPONSE" | tail -n1) + + # Check the status code + if [ "$HTTP_STATUS" -ne 200 ]; then + echo -e "Failed to download usage report from NGINX Instance Manager. HTTP Status Code: $HTTP_STATUS" >&2 + echo "Please verify that NGINX Instance Manager is reachable and the credentials are correct." >&2 + echo "(or) Verify that NGINX Instance Manager is licensed before using the 'telemetry' flag (run it with 'initial' first)." + # Optionally, remove the partial or corrupt file + rm -f /tmp/response.zip + exit 1 + fi +fi + +echo -e "Usage report downloaded successfully as '/tmp/response.zip'." + +# Step 3: Upload the usage report to F5 server +echo "Uploading the usage report to F5 Licensing server" + +TEEM_UPLOAD_URL="https://product.apis.f5.com/ee/v1/entitlements/telemetry/bulk" + +# Capture both response body and status code +UPLOAD_RESULT=$(curl -sS -w "\n%{http_code}" --location "$TEEM_UPLOAD_URL" \ + --header "Authorization: Bearer $JWT_CONTENT" \ + --form "file=@/tmp/response.zip") + +# Extract HTTP status code and body +UPLOAD_STATUS=$(echo "$UPLOAD_RESULT" | tail -n1) +UPLOAD_BODY=$(echo "$UPLOAD_RESULT" | sed '$d') + +# Validate HTTP status code +if [ "$UPLOAD_STATUS" -ne 202 ]; then + echo -e "Usage report upload failed. HTTP Status: $UPLOAD_STATUS$" >&2 + echo "Response Body: $UPLOAD_BODY" >&2 + exit 1 +fi + +# Check if response is valid JSON +if ! echo "$UPLOAD_BODY" | jq empty >/dev/null 2>&1; then + echo -e "Upload response is not valid JSON. Response: $UPLOAD_BODY$" >&2 + exit 1 +fi + +# Extract the statusLink +STATUS_LINK=$(echo "$UPLOAD_BODY" | jq -r '.statusLink // empty') -############################################################ -# Step 3: Upload the telemetry report to F5's licensing endpoint -############################################################ -echo "############################################################" -echo "# Upload the telemetry report to F5's licensing endpoint #" -echo "############################################################" - -echo "Uploading $report_save_path to telemetry endpoint..." -upload_command="curl --location 'https://product.apis.f5.com/ee/v1/entitlements/telemetry/bulk' \ ---header 'Authorization: Bearer $bearer_token' \ ---form 'file=@\"$report_save_path\"'" - -response=$(eval $upload_command) -echo "Response from upload: $response" - -############################################################ -# Step 4: Extract the status ID from the response -############################################################ -echo "############################################################" -echo "# Extract status ID from the response#" -echo "############################################################" - -status_link=$(jq -r '.statusLink | split("/") | last' <<< "$response") -if [ -z "$status_link" ]; then - echo "Failed to extract status link from response. Please try again." +if [ -z "$STATUS_LINK" ]; then + echo -e "Failed to extract statusLink from the upload response. Response: $UPLOAD_BODY$" >&2 exit 1 fi -echo "Extracted status link ID: $status_link" -############################################################## -# Step 5: Check the status to ensure the acknowledgement file is ready to download -############################################################ -echo "############################################################" -echo "# Check the status to ensure the acknowledgement file is ready to download #" -echo "############################################################" +echo "StatusLink extracted: $STATUS_LINK" -# Initialize variables for the loop -max_attempts=10 -attempt=0 +# Extract the unique status ID from the statusLink +STATUS_ID=$(echo "$STATUS_LINK" | sed 's|/ee/v1/entitlements/telemetry/bulk/status/||') -# Loop to check the status until percentageComplete and percentageSuccessful are 100 or the max attempts is reached -while [ $attempt -lt $max_attempts ]; do - echo "Checking status for the upload... (Attempt: $((attempt + 1)))" +# Step 4: Validate the submit report status +echo "Validating the report status" +echo "Validating report status using status ID: $STATUS_LINK" - # Run the curl command to get the status - status_command="curl --location 'https://product.apis.f5.com/ee/v1/entitlements/telemetry/bulk/status/$status_link' --header 'Authorization: Bearer $bearer_token'" +STATUS_URL="https://product.apis.f5.com/ee/v1/entitlements/telemetry/bulk/status/$STATUS_ID" - status_response=$(eval $status_command) +# Get the response from F5 status endpoint +sleep 5 +STATUS_RESPONSE=$(curl -k -sS -w "\n%{http_code}" --location "$STATUS_URL" \ + --header "Authorization: Bearer $JWT_CONTENT") - # Extract values from the response - percentage_complete=$(jq -r '.percentageComplete' <<< "$status_response") - percentage_successful=$(jq -r '.percentageSuccessful' <<< "$status_response") - ready_for_download=$(jq -r '.readyForDownload' <<< "$status_response") +# Separate body and HTTP status code +STATUS_BODY=$(echo "$STATUS_RESPONSE" | sed '$d') +STATUS_CODE=$(echo "$STATUS_RESPONSE" | tail -n1) - echo "Percentage Complete: $percentage_complete" - echo "Percentage Successful: $percentage_successful" - echo "Ready for Download: $ready_for_download" +# Validate HTTP status +if [ "$STATUS_CODE" -ne 200 ]; then + echo -e "Status check failed. HTTP Status: $STATUS_CODE$" >&2 + echo "Response Body: $STATUS_BODY" >&2 + exit 1 +fi + +# Validate that it's valid JSON +if ! echo "$STATUS_BODY" | jq empty >/dev/null 2>&1; then + echo -e "Invalid JSON in status body: $STATUS_BODY$" >&2 + exit 1 +fi + +# Now safely extract values +PERCENTAGE_COMPLETE=$(echo "$STATUS_BODY" | jq -r '.percentageComplete') +PERCENTAGE_SUCCESSFUL=$(echo "$STATUS_BODY" | jq -r '.percentageSuccessful') +READY_FOR_DOWNLOAD=$(echo "$STATUS_BODY" | jq -r '.readyForDownload') - # Check if the report is ready for download - if [ "$percentage_complete" == "100" ] && [ "$percentage_successful" == "100" ] && [ "$ready_for_download" == "true" ]; then - echo "File is ready for download." +# Set a time limit (in seconds) +TIME_LIMIT=30 # 30 sec for example +START_TIME=$(date +%s) + +# Function to calculate elapsed time +elapsed_time() { + echo $(($(date +%s) - $START_TIME)) +} + +# Keep checking until conditions are met or time limit is reached +while true; do + # Validate all required conditions + if [ "$PERCENTAGE_COMPLETE" -eq "100" ] && [ "$READY_FOR_DOWNLOAD" == "true" ]; then + echo -e "Validating Report." break - else - echo "File is not ready for download yet. Sleeping for 2 seconds..." - sleep 2 fi - # Increment the attempt counter - attempt=$((attempt + 1)) + # Check if we've exceeded the time limit + if [ $(elapsed_time) -ge "$TIME_LIMIT" ]; then + echo -e "Time limit exceeded. Report validation failed." + echo " percentageComplete: $PERCENTAGE_COMPLETE" + echo " percentageSuccessful: $PERCENTAGE_SUCCESSFUL" + echo " readyForDownload: $READY_FOR_DOWNLOAD" + echo " F5 upload issue failed even after 30 seconds" + echo " re-run the script" + exit 1 + fi + + # Print current validation status + echo -e "Report validation failed. Waiting for conditions to be met...$" + echo " percentageComplete: $PERCENTAGE_COMPLETE" + echo " percentageSuccessful: $PERCENTAGE_SUCCESSFUL" + echo " readyForDownload: $READY_FOR_DOWNLOAD" + + # Sleep for some time before checking again (e.g., 30 seconds) + sleep 5 done -# If after 10 attempts it's still not ready, show a message -if [ $attempt -eq $max_attempts ]; then - echo "Reached maximum attempts. The file is not ready for download." +echo -e "Report validated successfully. All conditions met." + +# Step 5: Download the report from F5 + +echo "Downloading report from F5 License server..." + +DOWNLOAD_URL="https://product.apis.f5.com/ee/v1/entitlements/telemetry/bulk/download/$STATUS_ID" +DOWNLOAD_RESPONSE=$(curl -sS -w "%{http_code}" --location "$DOWNLOAD_URL" \ + --header "Authorization: Bearer $JWT_CONTENT" \ + --output /tmp/response_teem.zip) + +# Check HTTP status code +HTTP_STATUS=$(echo "$DOWNLOAD_RESPONSE" | tail -n1) +if [ "$HTTP_STATUS" -ne 200 ]; then + echo -e "Failed to download the report from F5. HTTP Status Code: $HTTP_STATUS$" >&2 exit 1 fi -############################################################ -# Step 6: Download the acknowledgement file from F5's licensing endpoint -############################################################ -echo "############################################################" -echo "# Download the acknowledgement report from F5's licensing endpoint #" -echo "############################################################" - -# Extract downloadLink -download_link=$(jq -r '.downloadLink | split("/") | last' <<< "$status_response") -echo $download_link -# Ensure the report_save_path is not empty -if [ -z "$report_save_path" ]; then - # If the report_save_path is empty, set a default path and filename - report_save_path="report_download.zip" -fi +echo -e "Report downloaded successfully from F5 as '/tmp/response_teem.zip'." -echo "Downloading file from telemetry..." +# Step 6: Upload the acknowledgement report to NGINX Instance Manager +echo "Uploading the license acknowledgement to NGINX Instance Manager..." -download_command="curl --location 'https://product.apis.f5.com/ee/v1/entitlements/telemetry/bulk/download/$download_link' \ - --header 'Authorization: Bearer $bearer_token' \ - --output '$report_save_path'" +UPLOAD_URL="https://$NIM_IP/api/platform/v1/report/upload" +UPLOAD_RESPONSE=$(curl -k -sS --location "$UPLOAD_URL" \ + --header "Authorization: Basic $AUTH_HEADER" \ + --form "file=@/tmp/response_teem.zip" \ + -w "%{http_code}" -o /tmp/temp_response.json) -curl --location "https://product.apis.f5.com/ee/v1/entitlements/telemetry/bulk/download/$download_link" \ ---header "Authorization: Bearer $bearer_token" \ ---output "$report_save_path" +# Extract the HTTP status code +HTTP_STATUS=$(echo "$UPLOAD_RESPONSE" | tail -n1) -echo "Downloaded file saved as: $report_save_path" +# Extract the message from the response body (temp_response.json) +UPLOAD_MESSAGE=$(cat /tmp/temp_response.json | jq -r '.message') -############################################################ -# Step 7: Upload the acknowledgement report to NGINX Instance Manager -############################################################ -echo "############################################################" -echo "# Upload the acknowledgement report to NGINX Instance Manager #" -echo "############################################################" +# Ensure HTTP_STATUS is a valid integer +if ! [[ "$HTTP_STATUS" =~ ^[0-9]+$ ]]; then + echo -e "Invalid HTTP status code. Response: $UPLOAD_RESPONSE$" >&2 + exit 1 +fi -curl --insecure --location "https://$ip_address/api/platform/v1/report/upload" \ ---header "Authorization: Basic $basic_auth" \ ---form "file=@\"$report_save_path\"" \ ---silent --output /dev/null +# Check if the upload response contains the success message and validate the status code +if [ "$UPLOAD_MESSAGE" != "Report uploaded successfully." ] || [ "$HTTP_STATUS" -ne 200 ]; then + echo -e "Upload failed. Response: $UPLOAD_RESPONSE$" >&2 + exit 1 +fi +echo -e "Acknowledgement uploaded successfully to NGINX Instance Manager." -echo "Report acknowledgement successfully uploaded to NGINX Instance Manager $ip_address." From a4f9eb261c0c5a4d81929b85a41b7634de4e37ce Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Mon, 16 Jun 2025 11:28:50 -0700 Subject: [PATCH 243/723] edits to NIM 2.20 docs and install script (#686) * edits to NIM 2.20 docs and install script * updates to install script * edits * edits to tech spec guide * fix: Update install-nim-bundle.sh --------- Co-authored-by: Chetan Jain <46200286+Chetan-99@users.noreply.github.com> --- .../disable-metrics-collection.md | 2 +- .../deploy/kubernetes/deploy-using-helm.md | 2 +- .../vm-bare-metal/install-nim-manual.md | 8 +++---- .../add-license-disconnected-deployment.md | 8 +++---- content/nim/fundamentals/tech-specs.md | 23 ++++++++++++++----- .../configure-clickhouse.md | 20 +++++++++++----- static/scripts/install-nim-bundle.sh | 23 ++++++++++--------- 7 files changed, 53 insertions(+), 33 deletions(-) mode change 100755 => 100644 static/scripts/install-nim-bundle.sh diff --git a/content/includes/nim/installation/optional-steps/disable-metrics-collection.md b/content/includes/nim/installation/optional-steps/disable-metrics-collection.md index 9ccd93654..3204e6299 100644 --- a/content/includes/nim/installation/optional-steps/disable-metrics-collection.md +++ b/content/includes/nim/installation/optional-steps/disable-metrics-collection.md @@ -6,6 +6,6 @@ files: - content/nim/disconnected/offline-install-guide.md --- -If you’re not collecting metrics—because you didn’t install ClickHouse or don’t plan to use it—you must disable metrics collection in the `/etc/nms/nms.conf` file. This setup requires NGINX Agent version {{< lightweight-nim-nginx-agent-version >}}. +If you’re not collecting metrics — because you didn’t install ClickHouse or don’t plan to use it — you must disable metrics collection in the `/etc/nms/nms.conf` and `/etc/nms/nms-sm-conf.yaml` files. This setup requires NGINX Agent version {{< lightweight-nim-nginx-agent-version >}}. For instructions, see [Disable metrics collection]({{< ref "nim/system-configuration/configure-clickhouse.md#disable-metrics-collection" >}}). \ No newline at end of file diff --git a/content/nim/deploy/kubernetes/deploy-using-helm.md b/content/nim/deploy/kubernetes/deploy-using-helm.md index 3b36c5a0e..bed9203a9 100644 --- a/content/nim/deploy/kubernetes/deploy-using-helm.md +++ b/content/nim/deploy/kubernetes/deploy-using-helm.md @@ -72,7 +72,7 @@ kubectl create secret docker-registry regcred \ ### OpenShift ```shell -oc new-project nms +oc new-project nms && \ oc create secret docker-registry regcred \ --docker-server=private-registry.nginx.com \ --docker-username= \ diff --git a/content/nim/deploy/vm-bare-metal/install-nim-manual.md b/content/nim/deploy/vm-bare-metal/install-nim-manual.md index fa8f6df42..3c8e956c0 100644 --- a/content/nim/deploy/vm-bare-metal/install-nim-manual.md +++ b/content/nim/deploy/vm-bare-metal/install-nim-manual.md @@ -58,7 +58,7 @@ Follow these steps to download the certificate and private key for NGINX Instanc Install NGINX Open Source or NGINX Plus on the host where you'll install NGINX Instance Manager. NGINX Instance Manager uses NGINX as a front-end proxy and for managing user access. -- [Installing NGINX and NGINX Plus](https://docs.nginx.com/nginx/admin-guide/installing-nginx/) +- [Installing NGINX and NGINX Plus]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md" >}})
      @@ -88,9 +88,9 @@ Make sure to review the [Technical Specifications]({{< ref "/nim/fundamentals/te NGINX Instance Manager uses ClickHouse to store metrics, events, alerts, and configuration data. -In 2.20.0, we introduced Lightweight mode, which can skip the ClickHouse installation entirely. It’s ideal if you don’t need monitoring data or want a simpler setup. This reduces system requirements and avoids the work of managing a metrics database. You can add ClickHouse later if your needs change. +Starting in version 2.20.0, you can run NGINX Instance Manager in Lightweight mode, which skips the ClickHouse installation entirely. This setup works well if you don’t need monitoring data or want to reduce system requirements. It also avoids the effort of managing a metrics database. You can add ClickHouse later if your needs change. -If you don’t need to store metrics, you can skip installing ClickHouse. But you must use NGINX Agent version {{< lightweight-nim-nginx-agent-version >}}, and you must disable metrics collection in the `/etc/nms/nms.conf` file. +If you don’t need to store metrics, you can skip installing ClickHouse. But you must use NGINX Agent version {{< lightweight-nim-nginx-agent-version >}}, and you must disable metrics collection in the `/etc/nms/nms.conf` and `/etc/nms-sm.conf.yaml` files. For instructions, see [Disable metrics collection]({{< ref "nim/system-configuration/configure-clickhouse.md#disable-metrics-collection" >}}). @@ -203,7 +203,7 @@ To install NGINX Instance Manager, you need to add the official repository to pu 1. To upgrade to the latest version of the Instance Manager, run the following command: ```bash - sudo apt-get update + sudo apt-get update && \ sudo apt-get install -y --only-upgrade nms-instance-manager ``` diff --git a/content/nim/disconnected/add-license-disconnected-deployment.md b/content/nim/disconnected/add-license-disconnected-deployment.md index e4a272a6a..1039852aa 100644 --- a/content/nim/disconnected/add-license-disconnected-deployment.md +++ b/content/nim/disconnected/add-license-disconnected-deployment.md @@ -18,7 +18,7 @@ type: This guide shows you how to add a license to NGINX Instance Manager in a disconnected (offline) environment. In this setup, systems don’t have internet access. You’ll download and apply your subscription’s JSON Web Token (JWT) license, then verify your entitlements with F5. -{{< call-out "tip" "Using the REST API" "" >}}{{< include "nim/how-to-access-nim-api.md" >}}{{}} +{{< call-out "tip" "Using the REST API" "" >}}{{< include "nim/how-to-access-nim-api.md" >}}{{}} ## Before you begin @@ -39,7 +39,7 @@ To configure NGINX Instance Manager for a disconnected environment, you need to ## Add license and submit initial usage report {#add-license-submit-initial-usage-report} -{{}} +{{< tabs name="submit-usage-report" >}} {{%tab name="Bash script (recommended)"%}} @@ -86,7 +86,7 @@ To license NGINX Instance Manager, complete each of the following steps in order Run these `curl` commands on a system that can access NGINX Instance Manager and connect to `https://product.apis.f5.com/` on port `443`. Replace each placeholder with your specific values. -{{}}The `-k` flag skips SSL certificate validation. Use this only if your NGINX Instance Manager is using a self-signed certificate or if the certificate is not trusted by your system.{{}} +{{< important >}}The `-k` flag skips SSL certificate validation. Use this only if your NGINX Instance Manager is using a self-signed certificate or if the certificate is not trusted by your system.{{}} 1. **Add the license to NGINX Instance Manager**: @@ -117,7 +117,7 @@ Run these `curl` commands on a system that can access NGINX Instance Manager and --header "referer: https:///ui/settings/license" ``` -1. **Update the license configuration on NGINX Instance Manager**: +1. **Update the license configuration on NGINX Instance Manager (not required in 2.20 or later)**: This step ensures that the license configuration is fully applied. diff --git a/content/nim/fundamentals/tech-specs.md b/content/nim/fundamentals/tech-specs.md index d5035bac0..685794aec 100644 --- a/content/nim/fundamentals/tech-specs.md +++ b/content/nim/fundamentals/tech-specs.md @@ -38,13 +38,13 @@ This section outlines the recommendations for NGINX Instance Manager deployments We recommend using SSDs to enhance storage performance. -{{}} +{{< bootstrap-table "table table-striped table-bordered" >}} | Number of Data Plane Instances | CPU | Memory | Network | Storage | |--------------------------------|--------|----------|-----------|---------| | 10 | 2 vCPU | 4 GB RAM | 1 GbE NIC | 100 GB | | 100 | 2 vCPU | 4 GB RAM | 1 GbE NIC | 1 TB | | 1000 | 4 vCPU | 8 GB RAM | 1 GbE NIC | 3 TB | -{{}} +{{}} These values represent the minimum resources needed for deployments that fall under standard configurations. @@ -52,22 +52,33 @@ These values represent the minimum resources needed for deployments that fall un For environments requiring more resources, **large configurations** are suitable. These configurations can support up to **300 upstream servers** and are designed for enterprise environments or applications handling high traffic and complex configurations, without NGINX App Protect. -{{}} +{{< bootstrap-table "table table-striped table-bordered" >}} | Number of Data Plane Instances | CPU | Memory | Network | Storage | |--------------------------------|--------|----------|-----------|---------| | 50 | 4 vCPU | 8 GB RAM | 1 GbE NIC | 1 TB | | 250 | 4 vCPU | 8 GB RAM | 1 GbE NIC | 2 TB | -{{}} +{{}} ### NGINX configuration deployments with NGINX App Protect {#system-sizing-app-protect} If using NGINX App Protect features in NGINX Instance Manager, this requires additional CPU and Memory for policy compilation and security monitoring features. At a minimum, 8gb Memory and 4 CPUs are required for a standard NGINX App Protect use case (under 20 NGINX Plus instances). The requirements are heavily dependent on the number of policies being managed, the frequency of updates and the number of events being that occur in the security monitoring feature. +### Lightweight mode {#lightweight-mode} + +(New in 2.20.0) You can run NGINX Instance Manager without installing ClickHouse. This setup is useful if you don’t need monitoring data or prefer a simpler deployment. It reduces system requirements and removes the need to manage a metrics database. You can add ClickHouse later if your needs change. For instructions, see [Disable metrics collection]({{< ref "nim/system-configuration/configure-clickhouse.md#disable-metrics-collection" >}}). + +In Lightweight mode, we tested NGINX Instance Manager with ten managed NGINX instances and configuration publishing. It ran with as little as 1 CPU core and 1 GB of memory (without App Protect). When App Protect was enabled, we needed 2 CPU cores and 4 GB of memory to compile policies. + +These figures are guidelines only. They reflect the minimum tested configuration and may cause performance issues depending on your setup. For better performance, consider allocating more system resources. + + ### License and usage reporting only {#reporting-sizing} -This section assumes you've configured NGINX Instance Manager to manage your NGINX instances for licensing and usage reporting only. NGINX commercial license and usage reporting is done in an “unmanaged” way, where NGINX sends a request periodically to NGINX Instance Manager solely for counting purposes. For more information, see how you would [Prepare your environment for reporting]({{< ref "/solutions/about-subscription-licenses.md#set-up-environment" >}}). +This section applies when you’ve set up NGINX Instance Manager to handle licensing and usage reporting only. In this setup, NGINX instances report license and usage data in an "unmanaged" way. Each instance sends periodic updates to NGINX Instance Manager for counting purposes only. + +For details on how to configure this setup, see [Prepare your environment for reporting]({{< ref "/solutions/about-subscription-licenses.md#set-up-environment" >}}). -Therefore, the requirements for NGINX Instance Manager when used solely for licensing and usage reporting are minimal. +When used only for licensing and usage reporting, NGINX Instance Manager has minimal system requirements. We recommend using [Lightweight mode](#lightweight-mode) in this case to avoid the ClickHouse dependency, especially if you don’t plan to use other features. {{}} | Number of Data Plane Instances | CPU | Memory | Network | Storage | diff --git a/content/nim/system-configuration/configure-clickhouse.md b/content/nim/system-configuration/configure-clickhouse.md index 3f4a7f1be..2e2990d21 100644 --- a/content/nim/system-configuration/configure-clickhouse.md +++ b/content/nim/system-configuration/configure-clickhouse.md @@ -13,7 +13,7 @@ type: ## Overview NGINX Instance Manager uses ClickHouse to store metrics, events, alerts, and configuration data. -If your setup differs from the default configuration—for example, if you use a custom address, enable TLS, set a password, or turn off metrics—you need to update the `/etc/nms/nms.conf` file. +If your setup differs from the default configuration — for example, if you use a custom address, enable TLS, set a password, or turn off metrics — you need to update the `/etc/nms/nms.conf` file. This guide explains how to update those settings so that NGINX Instance Manager can connect to ClickHouse correctly. @@ -38,19 +38,27 @@ Unless otherwise specified in the `/etc/nms/nms.conf` file, NGINX Instance Manag ## Disable metrics collection -As of version 2.20, NGINX Instance Manager can run without ClickHouse. This lightweight mode reduces system requirements and simplifies installation for users who do not need metrics. To use this setup, you must run NGINX Agent version {{< lightweight-nim-nginx-agent-version >}}. +Starting in version 2.20, NGINX Instance Manager can run without ClickHouse. This lightweight mode reduces system requirements and simplifies installation for users who don't need metrics. To use this setup, you must run NGINX Agent version `{{< lightweight-nim-nginx-agent-version >}}`. To disable metrics collection after installing NGINX Instance Manager: -1. Open the configuration file at `/etc/nms/nms.conf`. - +1. Open the config file at `/etc/nms/nms.conf`. + 2. In the `[clickhouse]` section, set the following value: ```yaml - enable = false + clickhouse: + enable = false ``` -3. Restart the NGINX Instance Manager service: +3. Open the `/etc/nms/nms-sm-conf.yaml` file and set: + + ```yaml + clickhouse: + enable = false + ``` + +4. Restart the NGINX Instance Manager service: ```shell sudo systemctl restart nms diff --git a/static/scripts/install-nim-bundle.sh b/static/scripts/install-nim-bundle.sh old mode 100755 new mode 100644 index 7dc020eac..fb60d615a --- a/static/scripts/install-nim-bundle.sh +++ b/static/scripts/install-nim-bundle.sh @@ -566,14 +566,9 @@ This action deletes all files in the following directories: /etc/nms , /etc/ngin getLatestPkgVersionFromRepo(){ repoUrl=$1 version=$2 - pkg_extension=$3 - if [[ "${pkg_extension}" == "rpm" ]]; then - response=$(curl --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} -sL "${repoUrl}" | awk -F '"' '/href=/ {print $2}' | grep -E "$version"| sort -t'-' -k4,4V | tac) - readarray -t versions < <(printf "%s" "${response}") - else - response=$(curl --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} -sL "${repoUrl}" | awk -F '"' '/href=/ {print $2}' | grep -E "$version"| sort -t'_' -k2,2V | tac) - readarray -t versions < <(printf "%s" "${response}") - fi + sort_fields=$3 + response=$(curl --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} -sL "${repoUrl}" | awk -F '"' '/href=/ {print $2}' | grep -E "$version"| eval sort "$sort_fields" | tac) + readarray -t versions < <(printf "%s" "${response}") if [ "${#versions[@]}" -eq 0 ]; then printf "Package %s not found. See available versions:" "${versions[@]}" exit 1; @@ -602,22 +597,26 @@ package_nim_offline(){ cd "${TEMP_DIR}/${TARGET_DISTRIBUTION}" || echo "directory ${TEMP_DIR} does not exits" if [[ "${USE_NGINX_PLUS}" == "true" ]]; then NGINX_PLUS_PACKAGE="^nginx-plus_[0-9]+-([0-9]+)~${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}_${OS_ARCH}\.${PKG_EXTENSION}$" + SORT_FIELDS="-t'_' -k2,2V" if [[ "${PKG_EXTENSION}" == "rpm" ]]; then NGINX_PLUS_PACKAGE="^nginx-plus-[0-9]+-([0-9]+)${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}\.${PKG_EXTENSION}$" + SORT_FIELDS="-t'-' -k3,3V" fi echo "regex for looking latest version : ${NGINX_PLUS_PACKAGE}" - NGINX_PLUS_VERSION=$(getLatestPkgVersionFromRepo "${NGINX_PLUS_REPO[${TARGET_DISTRIBUTION}]}" "${NGINX_PLUS_PACKAGE}" "${PKG_EXTENSION}") + NGINX_PLUS_VERSION=$(getLatestPkgVersionFromRepo "${NGINX_PLUS_REPO[${TARGET_DISTRIBUTION}]}" "${NGINX_PLUS_PACKAGE}" "${SORT_FIELDS}") echo "latest version for nginx_plus is ${NGINX_PLUS_VERSION}" echo "Downloading ${NGINX_PLUS_REPO[${TARGET_DISTRIBUTION}]}/${NGINX_PLUS_VERSION}...." curl -sfLO --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} "${NGINX_PLUS_REPO[${TARGET_DISTRIBUTION}]}/${NGINX_PLUS_VERSION}" check_last_command_status "curl -sfLO --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} \"${NGINX_PLUS_REPO[${TARGET_DISTRIBUTION}]}/${NGINX_PLUS_VERSION}\"" $? else NGINX_OSS_PACKAGE="^nginx_[0-9]+\.[0-9]+\.[0-9]+-([0-9]+)~${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}_${OS_ARCH}\.${PKG_EXTENSION}$" + SORT_FIELDS="-t'_' -k2,2V" if [[ "${PKG_EXTENSION}" == "rpm" ]]; then NGINX_OSS_PACKAGE="^nginx-[0-9]+\.[0-9]+\.[0-9]+-([0-9]+)${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}\.${PKG_EXTENSION}$" + SORT_FIELDS="-t'-' -k2,2V" fi echo "fetching latest version using ${NGINX_OSS_PACKAGE}" - NGINX_OSS_VERSION=$(getLatestPkgVersionFromRepo "${NGINX_REPO[${TARGET_DISTRIBUTION}]}" "${NGINX_OSS_PACKAGE}" "${PKG_EXTENSION}") + NGINX_OSS_VERSION=$(getLatestPkgVersionFromRepo "${NGINX_REPO[${TARGET_DISTRIBUTION}]}" "${NGINX_OSS_PACKAGE}" "${SORT_FIELDS}") echo "latest version for nginx is ${NGINX_OSS_VERSION}" echo "Downloading ${NGINX_REPO[${TARGET_DISTRIBUTION}]}/${NGINX_OSS_VERSION}...." curl -sfLO "${NGINX_REPO[${TARGET_DISTRIBUTION}]}/${NGINX_OSS_VERSION}" @@ -649,10 +648,12 @@ package_nim_offline(){ check_last_command_status "curl -sfLO \"${CLICKHOUSE_CLIENT_PATH}\"" $? fi NIM_PACKAGE_PATH="^nms-instance-manager_[0-9]+\.[0-9]+\.[0-9]+-([0-9]+)~${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}_${OS_ARCH}\.${PKG_EXTENSION}$" + SORT_FIELDS="-t'_' -k2,2V" if [[ "${PKG_EXTENSION}" == "rpm" ]]; then NIM_PACKAGE_PATH="^nms-instance-manager-[0-9]+\.[0-9]+\.[0-9]+-([0-9]+)${OS_DISTRO_MAP[${TARGET_DISTRIBUTION}]}\.${PKG_EXTENSION}$" + SORT_FIELDS="-t'-' -k4,4V" fi - NIM_PACKAGE_VERSION=$(getLatestPkgVersionFromRepo "${NIM_REPO[${TARGET_DISTRIBUTION}]}" "${NIM_PACKAGE_PATH}" "${PKG_EXTENSION}") + NIM_PACKAGE_VERSION=$(getLatestPkgVersionFromRepo "${NIM_REPO[${TARGET_DISTRIBUTION}]}" "${NIM_PACKAGE_PATH}" "${SORT_FIELDS}") echo "Latest version for nginx instance manager is ${NIM_PACKAGE_VERSION}...." curl -sfLO --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} "${NIM_REPO[${TARGET_DISTRIBUTION}]}/${NIM_PACKAGE_VERSION}" check_last_command_status "curl -sfLO --cert ${NGINX_CERT_PATH} --key ${NGINX_CERT_KEY_PATH} \"${NIM_REPO[${TARGET_DISTRIBUTION}]}/${NIM_PACKAGE_VERSION}\"" $? From a1263f99fa4ad093918d1eee37790a74f31eff56 Mon Sep 17 00:00:00 2001 From: Saylor Berman Date: Mon, 16 Jun 2025 13:43:01 -0600 Subject: [PATCH 244/723] Update NGF example certs (#683) Problem: The BackendTLSPolicy guide was using expired certs in its example configuration. Solution: Update the sample certs to expire in 10 years. --- .../ngf/traffic-security/secure-backend.md | 53 +++++++++++-------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/content/ngf/traffic-security/secure-backend.md b/content/ngf/traffic-security/secure-backend.md index d532bdbc3..cde85cd2a 100644 --- a/content/ngf/traffic-security/secure-backend.md +++ b/content/ngf/traffic-security/secure-backend.md @@ -105,8 +105,8 @@ metadata: name: app-tls-secret type: Opaque data: - tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQwRENDQXJpZ0F3SUJBZ0lVVDQwYTFYd3doUHVBdDJNMkdZZUovYXluZlFBd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1JqRWZNQjBHQTFVRUF3d1djMlZqZFhKbExXRndjQzVsZUdGdGNHeGxMbU52YlRFTE1Ba0dBMVVFQmhNQwpWVk14RmpBVUJnTlZCQWNNRFZOaGJpQkdjbUZ1YzJselkyOHdIaGNOTWpRd01URTRNVGd3TVRBeFdoY05NalV3Ck1URTNNVGd3TVRBeFdqQi9NUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0F3S1EyRnNhV1p2Y201cFlURVcKTUJRR0ExVUVCd3dOVTJGdUlFWnlZVzV6YVhOamJ6RU9NQXdHQTFVRUNnd0ZUa2RKVGxneEVqQVFCZ05WQkFzTQpDVTVIU1U1WUlFUmxkakVmTUIwR0ExVUVBd3dXYzJWamRYSmxMV0Z3Y0M1bGVHRnRjR3hsTG1OdmJUQ0NBU0l3CkRRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMeUx0eURNbTZ4M0ZEUFJsOGZ0azNweCtrRWQKYTVpTGZOQ3lDbUVjYktBQVBDNEhZckl5b1B5QXpSTlJCMWErekE0UTlrbzJZRG5vR0dkeFJaMEdydldKZUV2Mgo3MWlHNGxhbHRVTS9WOWNvSktQY0UyTEI0R3R6cFA3ckdIWXNvRDlOUXFpV3YwZ0lOdE42MjdrWGg4UW41V1hYCk92Y2FkS2h0bjJER3RvU0VzT3dpNzR5NEt3SmFkWnlwLzJaM0hPakRTNjVIVmxydmUxUXpBMVRzTEp6S3cva3gKbHBSR0lWK0lhUjZXbXZsaVFVdDJxWFg0L3hGeVVEM2Vic05TeXpHUk5mQ0NOTWxlWlV3MTR3ZUdhOEVnc2tDcQprOGdYSmpFZXQxMlR4OGxkY3BpVWlxYVpkOStYZjJmUS8yL2Y5c1IzM3Q4K0VVUWpoZ2ZIbHlsLzV1RUNBd0VBCkFhTjlNSHN3SHdZRFZSMGpCQmd3Rm9BVTRUT096c1d0Q3ZWdGJlWXFSU0FqN2tXajFkb3dDUVlEVlIwVEJBSXcKQURBTEJnTlZIUThFQkFNQ0JQQXdJUVlEVlIwUkJCb3dHSUlXYzJWamRYSmxMV0Z3Y0M1bGVHRnRjR3hsTG1OdgpiVEFkQmdOVkhRNEVGZ1FVZmtWREFFWmIwcjRTZ2swck10a0FvQ2c2RjRnd0RRWUpLb1pJaHZjTkFRRUxCUUFECmdnRUJBQWFiQit6RzVSODl6WitBT2RsRy9wWE9nYjF6VkJsQ0dMSkhyYTl1cTMvcXRPR1VacDlnd2dZSWJ4VnkKUkVLbWVRa05pV0haSDNCSlNTZ3czbE9abGNxcW5xbUJ2OFAxTUxDZ3JqbDJSN1d2NVhkb2RlQkJxc0lvZkNxVgp3ZG51THJUU3RTbmd2MGhDcldBNlBmTnlQeXMzSGJva1k3RExNREhuNmhBQWcwMUNDT0pWWGpNZjFqLzNIMFNCClBQSWxtek5aRUpEd0JMR2hyb1V3aUY3NkNUV1Fudi8yc1pvWHMwUlFiRTY3TmNraXc2Z0svaWRwVTVzMmlkOEQKVExjVjNxenVFaE1ZeUlua0ZWNEJLZlFkTWxDQnE1QWdyU1Jqb2FoaCszbFRwYVpUalJGUGFVd3VZYXVsQXRzNgpra1ROaGltWWQ3Ym1aVk5MK2I0MzhmN1RMaGc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0= - tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktnd2dnU2tBZ0VBQW9JQkFRQzhpN2Nnekp1c2R4UXoKMFpmSDdaTjZjZnBCSFd1WWkzelFzZ3BoSEd5Z0FEd3VCMkt5TXFEOGdNMFRVUWRXdnN3T0VQWktObUE1NkJobgpjVVdkQnE3MWlYaEw5dTlZaHVKV3BiVkRQMWZYS0NTajNCTml3ZUJyYzZUKzZ4aDJMS0EvVFVLb2xyOUlDRGJUCmV0dTVGNGZFSitWbDF6cjNHblNvYlo5Z3hyYUVoTERzSXUrTXVDc0NXbldjcWY5bWR4em93MHV1UjFaYTczdFUKTXdOVTdDeWN5c1A1TVphVVJpRmZpR2tlbHByNVlrRkxkcWwxK1A4UmNsQTkzbTdEVXNzeGtUWHdnalRKWG1WTQpOZU1IaG12QklMSkFxcFBJRnlZeEhyZGRrOGZKWFhLWWxJcW1tWGZmbDM5bjBQOXYzL2JFZDk3ZlBoRkVJNFlICng1Y3BmK2JoQWdNQkFBRUNnZ0VBUXJucGJleXJmVTVKTW91Ty9UenBrQkJ0UWdVZzhvUVBBS2E1d0tONEYrbnQKWWxiUHlZUGNjSEErNDRLdUo3ZHZiTno0NU11NG8xV3Q2Vkh2a29KdWdjd01iRW53YTdLVXdKaDFmVjZaL2pXaApQZkpoVS9hTUwwcm1qaWJ5YWNRaVZEVEtEZk1Ici96a05sVEpGUWlzVGpIV1lBUGJSTjh5Z1BjR3pBK1hRVzg5CmxsOFdoeWwrZndjRVAzNTM4TUdKYUpHVmV4Q2d5cVRyKzZwQ29yRUpFL1pSNytiMTNyejRsbmxpZXVYa2pCVkcKSnYvUVI0RVhTSDhuRit3K2FvWTFQaGd2QnFJTnFQZjJMT1V0MzNiN3FDTkFmSVBRdFZFejJsN3NqbmJlcElTTwpvTkhNUFY0N21XTzY2dzhFMzJVMjNjVEtUbytJcWovM0d1eGhweXlYaHdLQmdRRDVNRDhmY3ZyM0xVZHkvZ3I0Ci82MVBqUXNSaWRYdjN0Mk1MVEk4UkduNzJWcGxvVVExNDZHV2xGTGVVVDY1L1ZVMjNsZFUrUWt2eFNMK3U1bW4KRUJIdXUyVmtBUWVYcUJXWkpPTmFSZG9Ia1YzK2Fyc0U4Qld0SWVtZHJ0MWN6bHFjc1VzMWdGdG1COGI3RHB3UwpHKzRoZDlzZG0weDBNS2hoOFVGOUQrZytUd0tCZ1FEQnN4dUpoZ1hnck14S0dVMHJ5MW9WWTJtMGpDUEpJcTkzCmNZRUZGY3lYZ0U4OWlDVmlob3dVVE8yMXpTZ3o0SVVKNUxoc2M5N3VIVER1VXdwcVI5NFBsdjlyaXJvakowM1UKT3FyWHgwbWdNN2xibVM1L1RwS0czZG1QblZ0WEZMektISFgyWDVnUW56emYvdXVKK3NtbDVLQW5WN0VZc1oxcgpkVXJvRm8zcnp3S0JnUUNZdjM5aUdzeEdLaVpMRWZqTjY0UmthRFBwdTFFOTZhSnE0K1dRVmV1VnF3V2ptTGhFClJGWHdCTm5MVjRnWTRIYVUzTFF4N1RvNVl5RnhmclBRV2FSMGI4RFdEVitIRWt5ekJJNnM3bmFZL3YzY0Q3YTIKYnlrS2FPaFlkVEZTUzFmMkJ5UHdGczl2K3NKNWNOb3dxNWhNUWJrNks5RXd4QWJqaXN5M0NjSTJOd0tCZ1FDbwo2c2pZNVVlNjV2WkFxRS9rSVRJdDlNUDU3enhGNnptWnNDSVRqUzhkNzRjcTRjKzRYQjFNbHNtMkFYTk55ajQ2Cm9uc3lHTm9RVE9TZThVdmo0MGlEeitwdW5rdzAyOUhEZ21YNlJwQ3VaRzBBdEZVWU1DMFg3K0FLbmU5SndZdmgKdFhBcHFyT3h5eXdMS3dPOUVEZEp0RmIxK0VNNGhhd0NTZ2RJM21KbGdRS0JnRzIxeEJNRXRzMFBVN3lDYTZ0YwpadDc1NUV4aEdkR3F5MmtHYmtmdzBEaHBQQVVUZmdncVF3NVBYdGVIS1ZBSDlKaG5kVnBBZFFxNmZ1MER1MDNKCkl0cGpxNWluZXVoR0x0alpMR1Nhd0dwY0FUU3h4Z3dCM0l0Z29LKzBCRFhteWxId0lEcUc5Z2crRU5KK0VhL0MKeTFOMmV0ZG1sQ01hNjM4cVJlNFlTWk55Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0= + tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVpekNDQW5PZ0F3SUJBZ0lVQ0g2NWhwVDNkSlI0SVdPTXdaL2lCb3M5Q0Rrd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1d6RUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdNQWxkQk1SQXdEZ1lEVlFRSERBZFRaV0YwZEd4bApNUk13RVFZRFZRUUtEQXBGZUdGdGNHeGxJRU5CTVJnd0ZnWURWUVFEREE5RmVHRnRjR3hsSUZKdmIzUWdRMEV3CkhoY05NalV3TmpFMk1UVXpOelUzV2hjTk16VXdOakUwTVRVek56VTNXakJnTVFzd0NRWURWUVFHRXdKVlV6RUwKTUFrR0ExVUVDQXdDVjBFeEVEQU9CZ05WQkFjTUIxTmxZWFIwYkdVeEVUQVBCZ05WQkFvTUNFWTFJRTVIU1U1WQpNUjh3SFFZRFZRUUREQlp6WldOMWNtVXRZWEJ3TG1WNFlXMXdiR1V1WTI5dE1JSUJJakFOQmdrcWhraUc5dzBCCkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTM3M0JyRG5kU1Z1UG0xSm5VNCtFVFZqSTFVSTJydVhIY0srUUJ5am4KNk5jMklEZ0NPNzdMOVdTajQzcmRicnlKNm1LMEFrVTBjekhlM1ZVUndaaG95TlM2QnEwaHJIOTFOWHlVcGNaMQpzaTJrbEdFbnVRYSs4dHgrVUwrUGYzck4yTlZ2TytTdnZSL2NxUWpYNnEzeURVMXJLWTZEQUlWaWxBNytDdHhVClE0KzI2MXluSlNTaWZ6YnB0R1ExTmZuV1Y5eHNoOWNyVklqbk9MNlhiek90eHNoYnBxU04xVENoQTR0KzVSb0kKOFo0aG0wWmpMNll3bVYycDB0R2ZFbVV0WGszelRjVVRYTitSODE4MVE0c0JPbEt5YjJpMG1seE9GYUpqc3hQVAprYjBsQmU2WS95TVBrallaT0o5c3YwR0k1YmszaHUwb0lGRDBOb0N5bFNmUmx3SURBUUFCbzBJd1FEQWRCZ05WCkhRNEVGZ1FVS29FbkhWU1dqSFRIeEVoK2xFazFQT2hUYWU4d0h3WURWUjBqQkJnd0ZvQVU0NS9URHQwUVE5dTQKTDN5OVJUOW50Z0VhQnE0d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFBN1ZNKzZ6bEtKZGlZVElWTjN4ZzJrOApkUG1zSm8vR1UwRW1WTFRzaFJtQWppdnI0bXBkYXRpL0p2UEtIcGtSTTNLcDNqQURmVFRqRnhuZ2ZJajNSN1J5CkpJamZVMGdrdHBKOG9UWVJlMlNsdXdVQ2VrYWlLa1BmWDRLdHcwUWVRSU4vSVN6YTdOS2krWklXOVJhRE1kbzIKNHZYUzIySDRIcjN6dmtFYVhvdHB6YXBlTzJBU1BDS3hoOWRkZWlyVzNydGZpZkRhSFF2UUpZSGpGYWpYcGZhaQpMazRHSWNrdHY2WGNqeFA5V1ArQ1RUWWFxZTVIMkg1dXlheDNyckRWRm43Y3Yzb29mcDJrTVhGUmRjTG9ERGdOCllUT3czTjhRLzl1bjNPRHBZR1l6b3V5RmJieXJ1MUlhcTZKeTRQNURnLzFSaEl3MnpuaWlCdzR0aXBzV2tqSTgKSEtRcWxKZE1KYlZUMHkraUlPMThxdWVsL1hDSC9hS1FEclpMd2Z0WVEvczVTWUtXUG5UZzhIbjJpeUlhUmZ0dQorbkgyMCszZkJuQnorK0hOd1duY2g0WmJDM0k3UklpcXFpdm1ML09YMWkvbng2UG5BVTlQMFlsOGhsMFFINndGCmtOd0NuTmE5TEp6eXBCandjY0IzU1ZaNUIxanhRTTJTcTYrSnB2cFZJSDQzL29paWJ0anhLMDhQenVVZ2luTUgKVC9aMXQ0NDBhRmk2V2VIZHRHM2RkVkM0SGxhS0JqQXVkZm44MHA1M3RPbXN6dkFRUUFidlhpd3pzZVZxYW5mdgpnS1BqWTd5aE9oZzZTdUJ2OFRTVTkvSVBDUklBTnRiMXkvOGxnVVlkVDJ0dGVmTVlnMnhFempndGIxQWEzMzBWCk1ONXV5ZFpCTU92aTRReHJuVzVICi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0= + tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktnd2dnU2tBZ0VBQW9JQkFRRGZ2Y0dzT2QxSlc0K2IKVW1kVGo0Uk5XTWpWUWphdTVjZHdyNUFIS09mbzF6WWdPQUk3dnN2MVpLUGpldDF1dklucVlyUUNSVFJ6TWQ3ZApWUkhCbUdqSTFMb0dyU0dzZjNVMWZKU2x4bld5TGFTVVlTZTVCcjd5M0g1UXY0OS9lczNZMVc4NzVLKzlIOXlwCkNOZnFyZklOVFdzcGpvTUFoV0tVRHY0SzNGUkRqN2JyWEtjbEpLSi9OdW0wWkRVMStkWlgzR3lIMXl0VWlPYzQKdnBkdk02M0d5RnVtcEkzVk1LRURpMzdsR2dqeG5pR2JSbU12cGpDWlhhblMwWjhTWlMxZVRmTk54Uk5jMzVIegpYelZEaXdFNlVySnZhTFNhWEU0Vm9tT3pFOU9SdlNVRjdwai9JdytTTmhrNG4yeS9RWWpsdVRlRzdTZ2dVUFEyCmdMS1ZKOUdYQWdNQkFBRUNnZ0VBYXhSQXpYRkFFNnlyVlBXaUY5NjJ2ZUhBOURkbFBsMGdEekVtcUJhT3J1UFkKdHFDM2lPcHVhSG9LNllMUzJQMklyOUVmUDNycGVEd2s0aDZsaWRhc1IzbHZzbVJIbW12QnA2Q0E3N25FZUVyWgoybDJKQ2tkTk9hUUhIQlFoMUN2c3VscWppckdPM2QrUzFwOHgzdEh5NXlUbkpaTmI1UEx4VTlTOUJtdWVORnA5ClBiSWwwV0Ewb1h6VWlPa0VESFpJaE9LeEQ1SExNQkpEUGIzYy9ZRE9HSlFtTGRtRldYS1VsL3NHNHJJdzFGNWYKZzhvYzRyekJpRlhVY0EvRlhoWllNcW9lMlp6MFhXWWVCYWhINFB2Sm4zdFVhd0xFQ0NTbW1nYkVzT1ltNHdvZQptUHZmT2k3TDR3VmhGNjNBNkxnL3hpR3VFUkd0cmJlMS8xcVFlTXFGU1FLQmdRRDRmT2ZPaUVpUkViODlJeDdKCjJra3ZuS1ZERXl1YjExc3NzZTNjU054R1haVFBkK0JjTGc5YVBTdXFrWC9NbmJsQ2JBOXZhSzZOL3U2YkxsSkEKQXNnVFM0Rkc0K2J2d2hBTzQybUVKQTJIRG0zNDVGRmRFQ2JYblhjV1VxVzJWblBqNkpDdDB2d1R1ZDNMVGdxbgpFM3RmZVZuM0J4bkpsVU4vOHdXUlB1M2NoUUtCZ1FEbWdWVDJHUDZvanBudC92SjRPOTBrYnEzVVJHYklGK0tOCjYrUnJmb0kxWkN2dElXaGV4OVhtZi8wWVlBaFQvaXJTSDd3RTk3QmpIbWJTMlZId051cDNmc1dDNFNYMDFYTkwKYnFjQmxOeW1JUzFiNGN0U01jMFFyeWM5YWlMUVM1d3Fvc1UwNGZubGdkM2o2cHRjdW8vd0Z6Q3JoV0xUZDk1bgpHeUc5NTZYdWF3S0JnUURySDJWSUsvUmVNR2pBTk1jaFFJY1hvaVZOL29tNUFHR3BQUU5RK1RCVTlKK21ZRXZQCmJWWGhrUmdNWVhpSDZJWXZyNGc3WnRZa1RpRUFmU2dlb1lNbm5yNUlrY1VuQUgycFdNMnkxMXBsZk9YYUtGQkUKdXMvR0haMWRaZjZmTmRhYXhLaUJrYTRzRENjdUJENVlNVHIvOEJlTWd3K0hpdEUvOUhoRUkwTjI4UUtCZ1FDagoxazJEVnFTN1BoQ2ZIMVZNckpBMHN3NlBEOGRXZGRPc09IejFBc2llRm9NNlcwS0tDOVEzcjhVL3JCSi9VT3N5Cnl5ZWpDRUt4VVF5WTFhcnQ2THFqRU5KbWdvMnVCb0dhbmgzS2UvcVJnb2R4Qlg2MC8zellYUWF4R2wyQVhCMjIKR0ZlL2pOZElrQlFkU2NZQUZRTDJEaVdqNUgwbi9jMXd6OUlkM3ljTDNRS0JnQ3NNV1NxU1lobUN3ajdON1U2awpyWndjTGxJdS94UEZsMWFTL2Q2MGV4UXpzWmxzd0xkMzJMcStKdkxVYXNPdWVQaGlCajZZNFNiNlk3bDBLMmNvCkZndXFFbmxBL3JNY2Qxa1h6L0dEbVZvYVVoSk8rZlFNSmk3ZEQzS0tidm80SGxhSG1kSkUvNGN5ek1jQmZVeUUKUUtXUElyVS9WZFU0ckZHV0xqRjJKc1ZPCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0= EOF ``` @@ -224,25 +224,36 @@ metadata: data: ca.crt: | -----BEGIN CERTIFICATE----- - MIIDbTCCAlWgAwIBAgIUPA3fFnkLl63GZ7noUjb5NoLhSYkwDQYJKoZIhvcNAQEL - BQAwRjEfMB0GA1UEAwwWc2VjdXJlLWFwcC5leGFtcGxlLmNvbTELMAkGA1UEBhMC - VVMxFjAUBgNVBAcMDVNhbiBGcmFuc2lzY28wHhcNMjQwMTE4MTgwMTAxWhcNMjUw - MTA4MTgwMTAxWjBGMR8wHQYDVQQDDBZzZWN1cmUtYXBwLmV4YW1wbGUuY29tMQsw - CQYDVQQGEwJVUzEWMBQGA1UEBwwNU2FuIEZyYW5zaXNjbzCCASIwDQYJKoZIhvcN - AQEBBQADggEPADCCAQoCggEBAJGgn81BrqzmI4aQmGrg7RgkO5oYwlThQ9X/xVHB - YVFptjRPAZz9g92g5birI/NZ43C6nEbZrJrSCqN3wgvV84jJmBAgpAvW+LhF4caa - nhAnecJCcTbwrd542vCDoDRsNV5ffbpESgC4FxPGkRVbSa0KHQz8qCLqS2+uaB7X - t76iw6y4pQ3klobVp1XtUpzZMGMBqZFnsAdl+PWMmSTvqjixkSlfcUY6Crnk9W6d - Sns5cpzKdUs+2ZkBe6VkBgSs8xbaz8Y2YC1GhRqGlxYLT3WBaIlSCKPuRrGjwE3r - AsW6gSL919H1O1a+MjQuLuQ4lnCbCpNzM9OV1JISMWfwifMCAwEAAaNTMFEwHQYD - VR0OBBYEFOEzjs7FrQr1bW3mKkUgI+5Fo9XaMB8GA1UdIwQYMBaAFOEzjs7FrQr1 - bW3mKkUgI+5Fo9XaMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB - AG/eX4pctINIrHvRyHOusdac5iXSJbQRZgWvP1F2p95qoIDESciAU1Sh1oJv+As5 - IlJOZPJNuZFpDLjc8kzSoEbc1Q5+QyTBlyNNsagWYYwK0CEJ6KJt80vytffmdOIg - z8/a+2Ax829vcn1w1SUi5V6ea/l8K74f2SL/zSSHgtEiz8V0TlvT7J6wurgmnk4t - yQRmsXlDGefuijMNCVf7jWwLx2BODfKoEA1pJkthnNvdizlikmz+9elxhV9bRf3Y - NnubytWPfO1oeHjVGvxVjCouIYine+VlskvwHmMi/dYod6yd7aFYu4CU3g/hjwKo - LY2WNv5j3JhDnEYK9Zj3z7A= + MIIFlzCCA3+gAwIBAgIULQcgBeB9ApX+Wf+FYLMLAVOLwYIwDQYJKoZIhvcNAQEL + BQAwWzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAldBMRAwDgYDVQQHDAdTZWF0dGxl + MRMwEQYDVQQKDApFeGFtcGxlIENBMRgwFgYDVQQDDA9FeGFtcGxlIFJvb3QgQ0Ew + HhcNMjUwNjE2MTUzNjQzWhcNMzUwNjE0MTUzNjQzWjBbMQswCQYDVQQGEwJVUzEL + MAkGA1UECAwCV0ExEDAOBgNVBAcMB1NlYXR0bGUxEzARBgNVBAoMCkV4YW1wbGUg + Q0ExGDAWBgNVBAMMD0V4YW1wbGUgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQAD + ggIPADCCAgoCggIBAI4fKNzZU/9IEifa6k9L38Ei4lFwFt6wjCZt70Rb5IpJfOkr + PsZf+XaCgIQZh3ZTBIPZoa2uNxVF1BoKEhEqzGdWdH82lVDmbkSaLeW4YnYhM9fe + IuYHqyVrNFsp7M+xJD3XWwwCXDN//H+vx8JLQIOX4tQ9RM4rB7avcu0rmaXJuqJi + N0AU8AsEFpoIiC/vFBucqpG2KzC+FsVPe/Ri+PQTWJ6aLVUvGJ3hXRAQdOMzIGys + +WTugzqk+Sv9pKDB7/EMJg+5IagNP5QWrDmdBwROdRhd8wq+zYJMxVaaSqetNrnY + aqWPdGj+RSB5YuiL8kwDiJOPc5G4t2I/hbol5hpBleL84qijclzJQeFOKdEbRzMa + w2QfyZxZ24TCZGwDzs480x5bKmUoRufdk8X4DSjV4tnKMh9sfHX3w4cokp2IWBqt + B59HMN4nAKELftjfKjI9L0jnEbJR/Xae0qPLxjAuN0HARQNx1/EvvsWGhgu4Sr5S + Ua604wHU9p85a5zWOgOJ471f/sA3q2yEiiHPYqbZ2YXmVMrHvMROO5EVCN7HOjoL + QW4z85fX7QT3OwF6Xckk8jA45tcy0cIlOHsl19XbZUJ5Gc7jAiYbmy2IRYgNiMmb + iSBL0eoC2jan1Y6Of0UcOiAfsMvt5f21dehYkP7Mwe7sGmMk8Lkva1PRSUFfAgMB + AAGjUzBRMB0GA1UdDgQWBBTjn9MO3RBD27gvfL1FP2e2ARoGrjAfBgNVHSMEGDAW + gBTjn9MO3RBD27gvfL1FP2e2ARoGrjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 + DQEBCwUAA4ICAQBD/b0Vu1vbRYQIeBbaPLCHS5IO8R2G18w+RyUBYpcr50FLI81X + YPTCnEXw5sVd7Y7PNZ6q3crr4u/tGWwDWr9vHL5YWApEnUJzdp9NGv9Z29pgRrQS + Dzr+ggv8/NRMy4xFZ/U5JKy1lHgNFhSp68PrZI6T4xN3zyTCj29qC9hxoxhYpbXS + 1m3PB84T1VqZu2dwNZll+kOIMv+Qon8MWZbuGLkFrcxuDqHB6RRAWyRB7WKKZZXu + r+Uw+9+0htNcASNuEx1yXUaE9Bf9V22fs4ARilP2QpFtMN8BCVQiKp8tj+em3ZX0 + 5KfUavNIZekrHKn/3pc9M+PhX+CEPLNncgywBVYZN89ZujyNVCKVwWD3LmH5NZ8w + JMJ9f3SC8ZqTu7xqX6FVLvmNAm5sS7lE8M0wGzp9cZHHEmstC1//jc+JzhRu8XyU + wGJyANVFlPn7+nnSq7dWbv4OTFsurbWrHQlzwjHaht84DGR4E0QgLUtA+ICGU0Ig + 3/Ma5N7Jugw2mbx8NupgOE3AL6aScbuSt2E1/4QZ2uNPh8soxbANu9WbEXOXzxd5 + LItmVd4ltG/4i2qwLu4NLSNA56iaCDIRD/cfr6WmNLfcMTGRMIJ+AlxnETAIy+pK + s6cpSfBLcDUhStgvr5oNDFeCbmsXRgyJZE9I4mKijG8v+LkS9RgKsS7tRw== -----END CERTIFICATE----- EOF ``` From 232e708ba5feef8b4c147a3b89393dcd8773605e Mon Sep 17 00:00:00 2001 From: Chetan Jain <46200286+Chetan-99@users.noreply.github.com> Date: Tue, 17 Jun 2025 17:03:14 +0530 Subject: [PATCH 245/723] fix: Update deploy-using-helm.md nms => nim (#687) --- content/nim/deploy/kubernetes/deploy-using-helm.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/nim/deploy/kubernetes/deploy-using-helm.md b/content/nim/deploy/kubernetes/deploy-using-helm.md index bed9203a9..cfb7e23e3 100644 --- a/content/nim/deploy/kubernetes/deploy-using-helm.md +++ b/content/nim/deploy/kubernetes/deploy-using-helm.md @@ -61,23 +61,23 @@ Make sure there are no extra characters or spaces when copying the JWT token. Th ### Kubernetes ```shell -kubectl create namespace nms +kubectl create namespace nim kubectl create secret docker-registry regcred \ --docker-server=private-registry.nginx.com \ --docker-username= \ --docker-password=none \ - -n nms + -n nim ``` ### OpenShift ```shell -oc new-project nms && \ +oc new-project nim && \ oc create secret docker-registry regcred \ --docker-server=private-registry.nginx.com \ --docker-username= \ --docker-password=none \ - -n nms + -n nim ``` {{< call-out "note" "Note" >}} @@ -91,13 +91,13 @@ As a best practice, you can delete the JWT token and clear your shell history af - Kubernetes ```shell - kubectl get secret regcred --output=yaml -n nms + kubectl get secret regcred --output=yaml -n nim ``` - OpenShift ```shell - oc get secret regcred --output=yaml -n nms + oc get secret regcred --output=yaml -n nim ``` You can now use this secret for Helm deployments and point the chart to the private registry. From b515241f508155218b3aae9c4c0acb9078fbee5a Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Tue, 17 Jun 2025 06:34:36 -0700 Subject: [PATCH 246/723] Changed variable name for Slack webhook in notification workflow (#689) chore: Changed variable name for Slack webhook in notification workflow --- .github/workflows/notification.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/notification.yml b/.github/workflows/notification.yml index 076db92ca..810345ea2 100644 --- a/.github/workflows/notification.yml +++ b/.github/workflows/notification.yml @@ -75,4 +75,4 @@ jobs: }] } env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} \ No newline at end of file + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_DOCS_INCIDENT }} \ No newline at end of file From 259a174b3692b74cad8f3b763e9271a82ed76596 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Tue, 17 Jun 2025 07:10:12 -0700 Subject: [PATCH 247/723] Moved slack notification direct into job instead of dispatch for security (#690) --- .github/workflows/build-push.yml | 39 ++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index e990e6afb..db52d7759 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -79,16 +79,37 @@ jobs: runs-on: ubuntu-latest permissions: read-all steps: - - name: Trigger 'Slack notification for new theme release' workflow in 'nginx-hugo-theme' repo. - run: | - curl -L \ - -X POST \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${{ secrets.THEME_SLACK_FLOW_PAT }}" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - "https://api.github.com/repos/${{ secrets.OWNER }}/${{ secrets.REPO }}/dispatches" \ - -d "{\"event_type\": \"trigger-slack-notification\", \"client_payload\": {\"previewURL\": \"${{ env.PREVIEW_URL }}\", \"author\": \"${{ github.event.client_payload.author}}\", \"tag_name\": \"${{ github.event.client_payload.tag_name }}\", \"release_name\": \"${{ github.event.client_payload.release_name }}\"}}" + - name: Send notification + uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 + with: + status: custom + custom_payload: | + { + username: 'Github', + mention: 'channel', + attachments: [{ + title: `New theme release - ${{ github.event.client_payload.release_name }}`, + color: '#009223', + fields: [ + { + title: 'Tag', + value: ${{ github.event.client_payload.tag_name }}, + short: true + }, + { + title: 'Author', + value: ${{ github.event.client_payload.author }}, + short: true + }, + { + title: 'Preview URL', + value: ${{ env.PREVIEW_URL }}, + short: true + }] + }] + } env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_FRIENDS_OF_DOCS }} PREVIEW_URL: ${{ needs.call-docs-build-push.outputs.PREVIEW_URL }} From a6d621400e4969fcab3d4e0748fef2f667d66676 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Tue, 17 Jun 2025 07:19:52 -0700 Subject: [PATCH 248/723] Small fix to add quotes to build-push for slack (#691) --- .github/workflows/build-push.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index db52d7759..1d2bdee5f 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -93,17 +93,17 @@ jobs: fields: [ { title: 'Tag', - value: ${{ github.event.client_payload.tag_name }}, + value: `${{ github.event.client_payload.tag_name }}`, short: true }, { title: 'Author', - value: ${{ github.event.client_payload.author }}, + value: `${{ github.event.client_payload.author }}`, short: true }, { title: 'Preview URL', - value: ${{ env.PREVIEW_URL }}, + value: `${{ env.PREVIEW_URL }}`, short: true }] }] From 17fb33129f225a879a9c0b944286ac0e6e1e4901 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Tue, 17 Jun 2025 07:49:04 -0700 Subject: [PATCH 249/723] Bump docs-action to 1.0.8 from 1.0.7 (#692) chore: Bump docs-action to 1.0.8 from 1.0.7 --- .github/workflows/build-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index 1d2bdee5f..da2534a36 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -58,7 +58,7 @@ jobs: call-docs-build-push: needs: prod-check-branch - uses: nginxinc/docs-actions/.github/workflows/docs-build-push.yml@9c59fab05a8131f4d691ba6ea2b6a119f3ef832a # v1.0.7 + uses: nginxinc/docs-actions/.github/workflows/docs-build-push.yml@bc2ae667727ba02b3d70dacee231ce04f7d94344 # v1.0.8 with: production_url_path: "" preview_url_path: "${{ vars.PREVIEW_URL_PATH }}" From 8a256bad89970b564c23384821c368411f85282a Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Tue, 17 Jun 2025 08:16:35 -0700 Subject: [PATCH 250/723] fixed broken links in NIM deployment guides (#696) * fixed broken links in NIM deployment guides * fixed link to correct doc --- content/nim/deploy/vm-bare-metal/install.md | 2 +- content/nim/disconnected/offline-install-guide.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/nim/deploy/vm-bare-metal/install.md b/content/nim/deploy/vm-bare-metal/install.md index 5e7dea31b..c6afac65d 100644 --- a/content/nim/deploy/vm-bare-metal/install.md +++ b/content/nim/deploy/vm-bare-metal/install.md @@ -21,7 +21,7 @@ The script installs: - ClickHouse by default, unless you choose to skip it - Optionally, NGINX Plus (requires a license and additional flags) -The script also installs all required operating system packages automatically. If you need to install earlier versions of NGINX or NGINX Instance Manager, follow the [manual installation process](({{< ref "nim/deploy/vm-bare-metal/install-nim-manual.md" >}})) instead. +The script also installs all required operating system packages automatically. If you need to install earlier versions of NGINX or NGINX Instance Manager, follow the [manual installation process]({{< ref "nim/deploy/vm-bare-metal/install-nim-manual.md" >}}) instead. --- diff --git a/content/nim/disconnected/offline-install-guide.md b/content/nim/disconnected/offline-install-guide.md index ae422d800..6dda33a5d 100644 --- a/content/nim/disconnected/offline-install-guide.md +++ b/content/nim/disconnected/offline-install-guide.md @@ -21,7 +21,7 @@ The script installs: NGINX Plus is not supported in disconnected mode. -If you need to install earlier versions of NGINX or NGINX Instance Manager, follow the [manual installation process](({{< ref "nim/deploy/vm-bare-metal/install-nim-manual.md" >}})) instead. +If you need to install earlier versions of NGINX or NGINX Instance Manager, follow the [manual installation process]({{< ref "nim/disconnected/offline-install-guide-manual.md" >}}) instead. --- From 90f5e085c526ef890ac88ef17ec753fa9326ac88 Mon Sep 17 00:00:00 2001 From: Alan Dooley Date: Tue, 17 Jun 2025 17:04:03 +0100 Subject: [PATCH 251/723] feat: Migrate NGINX Ingress Controller documentation into repository (#688) * feat: Add NIC content * feat: Move NIC files into appropriate folders * feat: Fix remaining references and configuration * feat: Add NIC to CODEOWNERS * Update .github/CODEOWNERS * Update .github/CODEOWNERS * feat: Codeowners formatting change * Update content/nic/installation/integrations/app-protect-waf-v5/compile-waf-policies.md --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> --- .github/CODEOWNERS | 4 + config/_default/config.toml | 5 +- .../nic/compatibility-tables/nic-nap.md | 10 + content/includes/nic/configuration/_index.md | 8 + .../nic/configuration/access-control.md | 120 + .../configuration/configuration-examples.md | 13 + .../global-configuration/_index.md | 8 + .../command-line-arguments.md | 685 +++++ .../configmap-resource.md | 250 ++ .../global-configuration/custom-templates.md | 11 + .../globalconfiguration-resource.md | 183 ++ .../mgmt-configmap-resource.md | 50 + .../reporting-resources-status.md | 195 ++ .../host-and-listener-collisions.md | 168 ++ .../configuration/ingress-resources/_index.md | 8 + ...advanced-configuration-with-annotations.md | 225 ++ .../advanced-configuration-with-snippets.md | 128 + .../ingress-resources/basic-configuration.md | 107 + .../cross-namespace-configuration.md | 14 + .../ingress-resources/custom-annotations.md | 146 + .../nic/configuration/policy-resource.md | 945 +++++++ .../includes/nic/configuration/security.md | 102 + .../configuration/transportserver-resource.md | 416 +++ ...server-and-virtualserverroute-resources.md | 1101 ++++++++ .../installation/create-common-resources.md | 27 + .../installation/create-custom-resources.md | 49 + .../nic/installation/deploy-controller.md | 10 + .../includes/nic/installation/download-jwt.md | 10 + .../nic/installation/jwt-password-note.md | 11 + .../nic/installation/manifests/daemonset.md | 21 + .../nic/installation/manifests/deployment.md | 21 + .../manifests/verify-pods-are-running.md | 10 + content/includes/nic/rbac/set-up-rbac.md | 33 + content/nic/_index.md | 5 + content/nic/community.md | 23 + content/nic/configuration/_index.md | 4 + content/nic/configuration/access-control.md | 120 + .../configuration/configuration-examples.md | 13 + .../global-configuration/_index.md | 8 + .../command-line-arguments.md | 685 +++++ .../configmap-resource.md | 250 ++ .../global-configuration/custom-templates.md | 11 + .../globalconfiguration-resource.md | 183 ++ .../mgmt-configmap-resource.md | 50 + .../reporting-resources-status.md | 195 ++ .../host-and-listener-collisions.md | 168 ++ .../configuration/ingress-resources/_index.md | 8 + ...advanced-configuration-with-annotations.md | 225 ++ .../advanced-configuration-with-snippets.md | 128 + .../ingress-resources/basic-configuration.md | 107 + .../cross-namespace-configuration.md | 14 + .../ingress-resources/custom-annotations.md | 146 + content/nic/configuration/policy-resource.md | 947 +++++++ content/nic/configuration/security.md | 102 + .../configuration/transportserver-resource.md | 416 +++ ...server-and-virtualserverroute-resources.md | 1101 ++++++++ content/nic/glossary.md | 30 + content/nic/installation/_index.md | 8 + .../build-nginx-ingress-controller.md | 203 ++ .../nic/installation/create-license-secret.md | 155 ++ content/nic/installation/ingress-nginx.md | 546 ++++ .../nic/installation/installing-nic/_index.md | 5 + .../deploy-with-nap-using-helm.md | 343 +++ .../installing-nic/installation-with-helm.md | 493 ++++ .../installation-with-manifests.md | 300 ++ .../installation-with-operator.md | 72 + .../installing-nic/upgrade-to-v4.md | 129 + .../nic/installation/integrations/_index.md | 5 + .../integrations/app-protect-dos/_index.md | 8 + .../app-protect-dos/configuration.md | 164 ++ .../app-protect-dos/dos-protected.md | 126 + .../app-protect-dos/installation.md | 230 ++ .../troubleshoot-app-protect-dos.md | 111 + .../integrations/app-protect-waf-v5/_index.md | 8 + .../compile-waf-policies.md | 371 +++ .../app-protect-waf-v5/configuration.md | 180 ++ .../app-protect-waf-v5/installation.md | 505 ++++ .../troubleshoot-app-protect-waf.md | 136 + .../integrations/app-protect-waf/_index.md | 9 + .../app-protect-waf/configuration.md | 563 ++++ .../app-protect-waf/installation.md | 221 ++ .../integrations/f5-ingresslink.md | 95 + .../integrations/nic-n1-console.md | 130 + .../installation/integrations/opentracing.md | 114 + content/nic/installation/nic-images/_index.md | 4 + .../nic-images/get-image-using-jwt.md | 209 ++ .../nic-images/get-registry-image.md | 193 ++ .../installation/nic-images/use-aws-image.md | 139 + .../installation/nic-images/use-gcp-image.md | 118 + .../run-multiple-ingress-controllers.md | 60 + content/nic/logging-and-monitoring/_index.md | 8 + content/nic/logging-and-monitoring/logging.md | 35 + .../nic/logging-and-monitoring/prometheus.md | 85 + .../logging-and-monitoring/service-insight.md | 56 + .../nic/logging-and-monitoring/status-page.md | 64 + content/nic/overview/_index.md | 8 + content/nic/overview/about.md | 17 + content/nic/overview/controller-comparison.md | 65 + content/nic/overview/design.md | 346 +++ content/nic/overview/nginx-plus.md | 35 + content/nic/overview/product-telemetry.md | 84 + content/nic/releases.md | 2407 +++++++++++++++++ content/nic/technical-specifications.md | 99 + content/nic/troubleshooting/_index.md | 8 + .../troubleshooting/troubleshoot-common.md | 201 ++ .../troubleshoot-configmap-policy.md | 48 + .../troubleshooting/troubleshoot-ingress.md | 29 + .../troubleshooting/troubleshoot-support.md | 38 + .../troubleshoot-transportserver.md | 9 + .../troubleshoot-virtualserver.md | 38 + content/nic/tutorials/_index.md | 8 + content/nic/tutorials/custom-listen-ports.md | 159 ++ .../ingress-path-regex-annotation.md | 456 ++++ content/nic/tutorials/nginx-dynamic-module.md | 117 + content/nic/tutorials/nginx-ingress-istio.md | 262 ++ .../nic/tutorials/nginx-ingress-linkerd.md | 181 ++ content/nic/tutorials/nginx-ingress-osm.md | 459 ++++ .../tutorials/oidc-custom-configuration.md | 214 ++ content/nic/tutorials/security-monitoring.md | 96 + ...rtual-server-with-custom-listener-ports.md | 185 ++ content/nic/usage-reporting.md | 294 ++ layouts/shortcodes/call-out.html | 3 + layouts/shortcodes/nic-helm-version.html | 1 + layouts/shortcodes/nic-operator-version.html | 1 + layouts/shortcodes/nic-version.html | 1 + static/nic/control-loop.png | Bin 0 -> 5633 bytes static/nic/controller-sync.png | Bin 0 -> 34320 bytes static/nic/ecr-pull-instructions.png | Bin 0 -> 148462 bytes static/nic/gke-create-cluster.png | Bin 0 -> 101052 bytes static/nic/gke-creating-cluster.png | Bin 0 -> 66820 bytes static/nic/gke-existing-cluster.png | Bin 0 -> 169834 bytes .../gke-ingress-controller-application.png | Bin 0 -> 150715 bytes static/nic/gke-install-to-new-cluster.png | Bin 0 -> 201085 bytes static/nic/ic-high-level.png | Bin 0 -> 99912 bytes static/nic/ic-pod.png | Bin 0 -> 54934 bytes static/nic/ic-process-components.png | Bin 0 -> 51942 bytes static/nic/ic-process.png | Bin 0 -> 24035 bytes static/nic/nginx-envoy.png | Bin 0 -> 152518 bytes static/nic/nginx_istio_small.png | Bin 0 -> 125996 bytes static/nic/nginx_plain.png | Bin 0 -> 119752 bytes 140 files changed, 22101 insertions(+), 2 deletions(-) create mode 100644 content/includes/nic/compatibility-tables/nic-nap.md create mode 100644 content/includes/nic/configuration/_index.md create mode 100644 content/includes/nic/configuration/access-control.md create mode 100644 content/includes/nic/configuration/configuration-examples.md create mode 100644 content/includes/nic/configuration/global-configuration/_index.md create mode 100644 content/includes/nic/configuration/global-configuration/command-line-arguments.md create mode 100644 content/includes/nic/configuration/global-configuration/configmap-resource.md create mode 100644 content/includes/nic/configuration/global-configuration/custom-templates.md create mode 100644 content/includes/nic/configuration/global-configuration/globalconfiguration-resource.md create mode 100644 content/includes/nic/configuration/global-configuration/mgmt-configmap-resource.md create mode 100644 content/includes/nic/configuration/global-configuration/reporting-resources-status.md create mode 100644 content/includes/nic/configuration/host-and-listener-collisions.md create mode 100644 content/includes/nic/configuration/ingress-resources/_index.md create mode 100644 content/includes/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md create mode 100644 content/includes/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md create mode 100644 content/includes/nic/configuration/ingress-resources/basic-configuration.md create mode 100644 content/includes/nic/configuration/ingress-resources/cross-namespace-configuration.md create mode 100644 content/includes/nic/configuration/ingress-resources/custom-annotations.md create mode 100644 content/includes/nic/configuration/policy-resource.md create mode 100644 content/includes/nic/configuration/security.md create mode 100644 content/includes/nic/configuration/transportserver-resource.md create mode 100644 content/includes/nic/configuration/virtualserver-and-virtualserverroute-resources.md create mode 100644 content/includes/nic/installation/create-common-resources.md create mode 100644 content/includes/nic/installation/create-custom-resources.md create mode 100644 content/includes/nic/installation/deploy-controller.md create mode 100644 content/includes/nic/installation/download-jwt.md create mode 100644 content/includes/nic/installation/jwt-password-note.md create mode 100644 content/includes/nic/installation/manifests/daemonset.md create mode 100644 content/includes/nic/installation/manifests/deployment.md create mode 100644 content/includes/nic/installation/manifests/verify-pods-are-running.md create mode 100644 content/includes/nic/rbac/set-up-rbac.md create mode 100644 content/nic/_index.md create mode 100644 content/nic/community.md create mode 100644 content/nic/configuration/_index.md create mode 100644 content/nic/configuration/access-control.md create mode 100644 content/nic/configuration/configuration-examples.md create mode 100644 content/nic/configuration/global-configuration/_index.md create mode 100644 content/nic/configuration/global-configuration/command-line-arguments.md create mode 100644 content/nic/configuration/global-configuration/configmap-resource.md create mode 100644 content/nic/configuration/global-configuration/custom-templates.md create mode 100644 content/nic/configuration/global-configuration/globalconfiguration-resource.md create mode 100644 content/nic/configuration/global-configuration/mgmt-configmap-resource.md create mode 100644 content/nic/configuration/global-configuration/reporting-resources-status.md create mode 100644 content/nic/configuration/host-and-listener-collisions.md create mode 100644 content/nic/configuration/ingress-resources/_index.md create mode 100644 content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md create mode 100644 content/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md create mode 100644 content/nic/configuration/ingress-resources/basic-configuration.md create mode 100644 content/nic/configuration/ingress-resources/cross-namespace-configuration.md create mode 100644 content/nic/configuration/ingress-resources/custom-annotations.md create mode 100644 content/nic/configuration/policy-resource.md create mode 100644 content/nic/configuration/security.md create mode 100644 content/nic/configuration/transportserver-resource.md create mode 100644 content/nic/configuration/virtualserver-and-virtualserverroute-resources.md create mode 100644 content/nic/glossary.md create mode 100644 content/nic/installation/_index.md create mode 100644 content/nic/installation/build-nginx-ingress-controller.md create mode 100644 content/nic/installation/create-license-secret.md create mode 100644 content/nic/installation/ingress-nginx.md create mode 100644 content/nic/installation/installing-nic/_index.md create mode 100644 content/nic/installation/installing-nic/deploy-with-nap-using-helm.md create mode 100644 content/nic/installation/installing-nic/installation-with-helm.md create mode 100644 content/nic/installation/installing-nic/installation-with-manifests.md create mode 100644 content/nic/installation/installing-nic/installation-with-operator.md create mode 100644 content/nic/installation/installing-nic/upgrade-to-v4.md create mode 100644 content/nic/installation/integrations/_index.md create mode 100644 content/nic/installation/integrations/app-protect-dos/_index.md create mode 100644 content/nic/installation/integrations/app-protect-dos/configuration.md create mode 100644 content/nic/installation/integrations/app-protect-dos/dos-protected.md create mode 100644 content/nic/installation/integrations/app-protect-dos/installation.md create mode 100644 content/nic/installation/integrations/app-protect-dos/troubleshoot-app-protect-dos.md create mode 100644 content/nic/installation/integrations/app-protect-waf-v5/_index.md create mode 100644 content/nic/installation/integrations/app-protect-waf-v5/compile-waf-policies.md create mode 100644 content/nic/installation/integrations/app-protect-waf-v5/configuration.md create mode 100644 content/nic/installation/integrations/app-protect-waf-v5/installation.md create mode 100644 content/nic/installation/integrations/app-protect-waf-v5/troubleshoot-app-protect-waf.md create mode 100644 content/nic/installation/integrations/app-protect-waf/_index.md create mode 100644 content/nic/installation/integrations/app-protect-waf/configuration.md create mode 100644 content/nic/installation/integrations/app-protect-waf/installation.md create mode 100644 content/nic/installation/integrations/f5-ingresslink.md create mode 100644 content/nic/installation/integrations/nic-n1-console.md create mode 100644 content/nic/installation/integrations/opentracing.md create mode 100644 content/nic/installation/nic-images/_index.md create mode 100644 content/nic/installation/nic-images/get-image-using-jwt.md create mode 100644 content/nic/installation/nic-images/get-registry-image.md create mode 100644 content/nic/installation/nic-images/use-aws-image.md create mode 100644 content/nic/installation/nic-images/use-gcp-image.md create mode 100644 content/nic/installation/run-multiple-ingress-controllers.md create mode 100644 content/nic/logging-and-monitoring/_index.md create mode 100644 content/nic/logging-and-monitoring/logging.md create mode 100644 content/nic/logging-and-monitoring/prometheus.md create mode 100644 content/nic/logging-and-monitoring/service-insight.md create mode 100644 content/nic/logging-and-monitoring/status-page.md create mode 100644 content/nic/overview/_index.md create mode 100644 content/nic/overview/about.md create mode 100644 content/nic/overview/controller-comparison.md create mode 100644 content/nic/overview/design.md create mode 100644 content/nic/overview/nginx-plus.md create mode 100644 content/nic/overview/product-telemetry.md create mode 100644 content/nic/releases.md create mode 100644 content/nic/technical-specifications.md create mode 100644 content/nic/troubleshooting/_index.md create mode 100644 content/nic/troubleshooting/troubleshoot-common.md create mode 100644 content/nic/troubleshooting/troubleshoot-configmap-policy.md create mode 100644 content/nic/troubleshooting/troubleshoot-ingress.md create mode 100644 content/nic/troubleshooting/troubleshoot-support.md create mode 100644 content/nic/troubleshooting/troubleshoot-transportserver.md create mode 100644 content/nic/troubleshooting/troubleshoot-virtualserver.md create mode 100644 content/nic/tutorials/_index.md create mode 100644 content/nic/tutorials/custom-listen-ports.md create mode 100644 content/nic/tutorials/ingress-path-regex-annotation.md create mode 100644 content/nic/tutorials/nginx-dynamic-module.md create mode 100644 content/nic/tutorials/nginx-ingress-istio.md create mode 100644 content/nic/tutorials/nginx-ingress-linkerd.md create mode 100644 content/nic/tutorials/nginx-ingress-osm.md create mode 100644 content/nic/tutorials/oidc-custom-configuration.md create mode 100644 content/nic/tutorials/security-monitoring.md create mode 100644 content/nic/tutorials/virtual-server-with-custom-listener-ports.md create mode 100644 content/nic/usage-reporting.md create mode 100644 layouts/shortcodes/call-out.html create mode 100644 layouts/shortcodes/nic-helm-version.html create mode 100644 layouts/shortcodes/nic-operator-version.html create mode 100644 layouts/shortcodes/nic-version.html create mode 100644 static/nic/control-loop.png create mode 100644 static/nic/controller-sync.png create mode 100644 static/nic/ecr-pull-instructions.png create mode 100644 static/nic/gke-create-cluster.png create mode 100644 static/nic/gke-creating-cluster.png create mode 100644 static/nic/gke-existing-cluster.png create mode 100644 static/nic/gke-ingress-controller-application.png create mode 100644 static/nic/gke-install-to-new-cluster.png create mode 100644 static/nic/ic-high-level.png create mode 100644 static/nic/ic-pod.png create mode 100644 static/nic/ic-process-components.png create mode 100644 static/nic/ic-process.png create mode 100644 static/nic/nginx-envoy.png create mode 100644 static/nic/nginx_istio_small.png create mode 100644 static/nic/nginx_plain.png diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9f28ec942..3d6f1daf8 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -37,6 +37,10 @@ content/includes/nginxaas-azure/* @nginx/n4a-docs-approvers content/ngf/* @nginx/nginx-gateway-fabric content/includes/ngf/* @nginx/nginx-gateway-fabric +# NGINX Ingress Controller +content/nic/* @nginx/kic +content/includes/nic/* @nginx/kic + # NGINX Instance Manager content/nms/nim/* @nginx/nim-docs-approvers content/nim/* @nginx/nim-docs-approvers diff --git a/config/_default/config.toml b/config/_default/config.toml index 10337a908..faf409f46 100644 --- a/config/_default/config.toml +++ b/config/_default/config.toml @@ -7,18 +7,19 @@ pygmentsUseClasses = true enableGitInfo = true [permalinks] + agent = '/nginx-agent/:sections[1:]/:filename' amplify = '/nginx-amplify/:sections[1:]/:filename' controller = '/nginx-controller/:sections[1:]/:filename' mesh = '/nginx-service-mesh/:sections[1:]/:filename' modsec-waf = '/nginx-waf/:sections[1:]/:filename' nap-dos = '/nginx-app-protect-dos/:sections[1:]/:filename' nap-waf = '/nginx-app-protect-waf/:sections[1:]/:filename' + nginxaas = '/nginxaas/azure/:sections[1:]/:filename' ngf = '/nginx-gateway-fabric/:sections[1:]/:filename' + nic = '/nginx-ingress-controller/:sections[1:]/:filename' nim = '/nginx-instance-manager/:sections[1:]/:filename' nms = '/nginx-management-suite/:sections[1:]/:filename' unit = '/nginx-unit/:sections[1:]/:filename' - agent = '/nginx-agent/:sections[1:]/:filename' - nginxaas = '/nginxaas/azure/:sections[1:]/:filename' [caches] [caches.modules] diff --git a/content/includes/nic/compatibility-tables/nic-nap.md b/content/includes/nic/compatibility-tables/nic-nap.md new file mode 100644 index 000000000..aaf914ca1 --- /dev/null +++ b/content/includes/nic/compatibility-tables/nic-nap.md @@ -0,0 +1,10 @@ +The following table shows compatibility between NGINX Ingress Controller (NIC) and NGINX App Protect WAF (NAP-WAF) versions: + +{{< bootstrap-table "table table-striped table-responsive" >}} +| NIC Version | NAP-WAF Version | Config Manager | Enforcer | +| ------------------- | --------------- | -------------- | -------- | +| {{< nic-version >}} | 34+5.332 | 5.6.0 | 5.6.0 | +| 4.0.1 | 33+5.264 | 5.5.0 | 5.5.0 | +| 3.7.2 | 32+5.1 | 5.3.0 | 5.3.0 | +| 3.6.2 | 32+5.48 | 5.2.0 | 5.2.0 | +{{% /bootstrap-table %}} diff --git a/content/includes/nic/configuration/_index.md b/content/includes/nic/configuration/_index.md new file mode 100644 index 000000000..7e1500973 --- /dev/null +++ b/content/includes/nic/configuration/_index.md @@ -0,0 +1,8 @@ +--- +title: Configuration +description: +weight: 1400 +menu: + docs: + parent: NGINX Ingress Controller +--- diff --git a/content/includes/nic/configuration/access-control.md b/content/includes/nic/configuration/access-control.md new file mode 100644 index 000000000..fade2941c --- /dev/null +++ b/content/includes/nic/configuration/access-control.md @@ -0,0 +1,120 @@ +--- +title: Deploy a Policy for access control +weight: 900 +toc: true +docs: DOCS-000 +--- + +This topic describes how to use F5 NGINX Ingress Controller to apply and update a Policy for access control. It demonstrates it using an example application and a [VirtualServer custom resource]({{< ref "/configuration/virtualserver-and-virtualserverroute-resources.md" >}}). + +--- + +## Before you begin + +You should have a [working NGINX Ingress Controller]({{< ref "/installation/installing-nic/installation-with-helm.md" >}}) instance. + +For ease of use in shell commands, set two shell variables: + +1. The public IP address for your NGINX Ingress Controller instance. + +```shell +IC_IP= +``` + +2. The HTTP port of the same instance. + +```shell +IC_HTTP_PORT= +``` + +--- + +## Deploy the example application + +Create the file _webapp.yaml_ with the following contents: + +{{< ghcode "https://raw.githubusercontent.com/nginx/kubernetes-ingress/refs/heads/main/examples/custom-resources/access-control/webapp.yaml" >}} + +Apply it using `kubectl`: + +```shell +kubectl apply -f webapp.yaml +``` + +--- + +## Deploy a Policy to create a deny rule + +Create a file named _access-control-policy-deny.yaml_. The highlighted _deny_ field will be used by the example application, and should be changed to the subnet of your machine. + +{{< ghcode "https://raw.githubusercontent.com/nginx/kubernetes-ingress/refs/heads/main/examples/custom-resources/access-control/access-control-policy-deny.yaml" "hl_lines=7-8" >}} + +Apply the policy: + +```shell +kubectl apply -f access-control-policy-deny.yaml +``` + +--- + +## Configure load balancing + +Create a file named _virtual-server.yaml_ for the VirtualServer resource. The _policies_ field references the access control Policy created in the previous section. + +{{< ghcode "https://raw.githubusercontent.com/nginx/kubernetes-ingress/refs/heads/main/examples/custom-resources/access-control/virtual-server.yaml" "hl_lines=7-8" >}} + +Apply the policy: + +```shell +kubectl apply -f virtual-server.yaml +``` + +--- + +## Test the example application + +Use `curl` to attempt to access the application: + +```shell +curl --resolve webapp.example.com:$IC_HTTP_PORT:$IC_IP http://webapp.example.com:$IC_HTTP_PORT +``` +```text + +403 Forbidden + +

      403 Forbidden

      + + +``` + +The *403* response is expected, successfully blocking your machine. + +--- + +## Update the Policy to create an allow rule + +Update the Policy with the file _access-control-policy-allow.yaml_, setting the _allow_ field to the subnet of your machine. + +{{< ghcode "https://raw.githubusercontent.com/nginx/kubernetes-ingress/refs/heads/main/examples/custom-resources/access-control/access-control-policy-allow.yaml" "hl_lines=7-8" >}} + +Apply the Policy: + +```shell +kubectl apply -f access-control-policy-allow.yaml +``` + +---- + +## Verify the Policy update + +Attempt to access the application again: + +```shell +curl --resolve webapp.example.com:$IC_HTTP_PORT:$IC_IP http://webapp.example.com:$IC_HTTP_PORT +``` +```text +Server address: 10.64.0.13:8080 +Server name: webapp-5cbbc7bd78-wf85w +``` + +The successful response demonstrates that the policy has been updated. diff --git a/content/includes/nic/configuration/configuration-examples.md b/content/includes/nic/configuration/configuration-examples.md new file mode 100644 index 000000000..0a0e6e3bb --- /dev/null +++ b/content/includes/nic/configuration/configuration-examples.md @@ -0,0 +1,13 @@ +--- +docs: DOCS-584 +doctypes: +- '' +title: Configuration examples +toc: true +weight: 400 +--- + +Our [GitHub repo](https://github.com/nginx/kubernetes-ingress) includes a number of configuration examples: + +- [*Examples of Custom Resources*](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources) show how to advanced NGINX features by using VirtualServer, VirtualServerRoute, TransportServer and Policy Custom Resources. +- [*Examples of Ingress Resources*](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources) show how to use advanced NGINX features in Ingress resources with annotations. diff --git a/content/includes/nic/configuration/global-configuration/_index.md b/content/includes/nic/configuration/global-configuration/_index.md new file mode 100644 index 000000000..4f71e2f5f --- /dev/null +++ b/content/includes/nic/configuration/global-configuration/_index.md @@ -0,0 +1,8 @@ +--- +title: Global configuration +description: +weight: 100 +menu: + docs: + parent: NGINX Ingress Controller +--- diff --git a/content/includes/nic/configuration/global-configuration/command-line-arguments.md b/content/includes/nic/configuration/global-configuration/command-line-arguments.md new file mode 100644 index 000000000..230345052 --- /dev/null +++ b/content/includes/nic/configuration/global-configuration/command-line-arguments.md @@ -0,0 +1,685 @@ +--- +docs: DOCS-585 +doctypes: +- '' +title: Command-line arguments +toc: true +weight: 100 +--- + +F5 NGINX Ingress Controller supports several command-line arguments, which are set based on installation method: + +- If you're using *Kubernetes Manifests* to install NGINX Ingress Controller, modify the Manifests to set the command-line arguments. View the [Installation with Manifests]({{}}) topic for more information. +- If you're using *Helm* to install NGINX Ingress Controller, modify the parameters of the Helm chart to set the command-line arguments. View the [Installation with Helm]({{}}) topic for more information. + + + +### -enable-snippets + +Enable custom NGINX configuration snippets in Ingress, VirtualServer, VirtualServerRoute and TransportServer resources. + +Default `false`. + + + +--- + +### -default-server-tls-secret `` + +Secret with a TLS certificate and key for TLS termination of the default server. + +- If not set, certificate and key in the file `/etc/nginx/secrets/default` are used. +- If `/etc/nginx/secrets/default` doesn't exist, NGINX Ingress Controller will configure NGINX to reject TLS connections to the default server. +- If a secret is set, but NGINX Ingress Controller is not able to fetch it from Kubernetes API, or it is not set and NGINX Ingress Controller fails to read the file "/etc/nginx/secrets/default", NGINX Ingress Controller will fail to start. + +Format: `/` + + + +--- + +### -wildcard-tls-secret `` + +A Secret with a TLS certificate and key for TLS termination of every Ingress/VirtualServer host for which TLS termination is enabled but the Secret is not specified. + +- If the argument is not set, for such Ingress/VirtualServer hosts NGINX will break any attempt to establish a TLS connection +- If the argument is set, but NGINX Ingress Controller is not able to fetch the Secret from Kubernetes API, NGINX Ingress Controller will fail to start. + +Format: `/` + + + +--- + +### -enable-custom-resources + +Enables custom resources. + +Default `true`. + + + + +--- + +### -enable-oidc + +Enables OIDC policies. + +Default `false`. + + + +--- + +### -enable-leader-election + +Enables Leader election to avoid multiple replicas of the controller reporting the status of Ingress, VirtualServer and VirtualServerRoute resources -- only one replica will report status. +Default `true`. + +See [-report-ingress-status](#cmdoption-report-ingress-status) flag. + + + +--- + +### -enable-tls-passthrough + +Enable TLS Passthrough on port 443. + +Requires [-enable-custom-resources](#cmdoption-enable-custom-resources). + + + +--- + +### -tls-passthrough-port `` + +Set the port for TLS Passthrough. +Format: `[1024 - 65535]` (default `443`) + +Requires [-enable-custom-resources](#cmdoption-enable-custom-resources). + + + +--- + +### -enable-cert-manager + +Enable x509 automated certificate management for VirtualServer resources using cert-manager (cert-manager.io). + +Requires [-enable-custom-resources](#cmdoption-enable-custom-resources). + + + +--- + +### -enable-external-dns + +Enable integration with ExternalDNS for configuring public DNS entries for VirtualServer resources using [ExternalDNS](https://github.com/kubernetes-sigs/external-dns). + +Requires [-enable-custom-resources](#cmdoption-enable-custom-resources). + + +--- + +### -external-service `` + +Specifies the name of the service with the type LoadBalancer through which the NGINX Ingress Controller pods are exposed externally. The external address of the service is used when reporting the status of Ingress, VirtualServer and VirtualServerRoute resources. + +For Ingress resources only: Requires [-report-ingress-status](#cmdoption-report-ingress-status). + + + +--- + +### -ingresslink `` + +Specifies the name of the IngressLink resource, which exposes the NGINX Ingress Controller pods via a BIG-IP system. The IP of the BIG-IP system is used when reporting the status of Ingress, VirtualServer and VirtualServerRoute resources. + +For Ingress resources only: Requires [-report-ingress-status](#cmdoption-report-ingress-status). + + + +--- + +### -global-configuration `` + +A GlobalConfiguration resource for global configuration of NGINX Ingress Controller. + +Format: `/` + +Requires [-enable-custom-resources](#cmdoption-enable-custom-resources). + + + +--- + +### -health-status + +Adds a location "/nginx-health" to the default server. The location responds with the 200 status code for any request. + +Useful for external health-checking of NGINX Ingress Controller. + + + +--- + +### -health-status-uri `` + +Sets the URI of health status location in the default server. Requires [-health-status](#cmdoption-health-status). (default `/nginx-health`) + + + +--- + +### -ingress-class `` + +The `-ingress-class` argument refers to the name of the resource `kind: IngressClass`. An IngressClass resource with a name equal to the class must be deployed. Otherwise, NGINX Ingress Controller will fail to start. +NGINX Ingress Controller will only process Ingress resources that belong to its class (Whose `ingressClassName` value matches the value of `-ingress-class`), skipping the ones without it. It will also process all the VirtualServer/VirtualServerRoute/TransportServer resources that do not have the `ingressClassName` field. + +Default `nginx`. + + + +--- + +### -ingress-template-path `` + +Path to the ingress NGINX configuration template for an ingress resource. Default for NGINX is `nginx.ingress.tmpl`; default for NGINX Plus is `nginx-plus.ingress.tmpl`. + + + +--- + +### -leader-election-lock-name `` + +Specifies the name of the ConfigMap, within the same namespace as the controller, used as the lock for leader election. + +Requires [-enable-leader-election](#cmdoption-enable-leader-election). + + + +--- + +### -log_backtrace_at `` + +When logging hits line `file:N`, emit a stack trace. + + + +--- + +### -main-template-path `` + +Path to the main NGINX configuration template. + +- Default for NGINX is `nginx.tmpl`. +- Default for NGINX Plus is `nginx-plus.tmpl`. + + + +--- + +### -nginx-configmaps `` + +A ConfigMap resource for customizing NGINX configuration. If a ConfigMap is set, but NGINX Ingress Controller is not able to fetch it from Kubernetes API, NGINX Ingress Controller will fail to start. + +Format: `/` + + + +--- + +### -mgmt-configmap `` + +The Management ConfigMap resource is used for customizing the NGINX mgmt block. If using NGINX Plus, a Management ConfigMap must be set. If NGINX Ingress Controller is not able to fetch it from Kubernetes API, NGINX Ingress Controller will fail to start. + +Format: `/` + + + +--- + +### -nginx-debug + +Enable debugging for NGINX. Uses the nginx-debug binary. Requires 'error-log-level: debug' in the ConfigMap. + + + +--- + +### -nginx-plus + +Enable support for NGINX Plus. + + + +--- + +### -nginx-reload-timeout `` + +Timeout in milliseconds which NGINX Ingress Controller will wait for a successful NGINX reload after a change or at the initial start. + +Default is 60000. + + + +--- + +### -nginx-status + +Enable the NGINX stub_status, or the NGINX Plus API. + +Default `true`. + + + +--- + +### -nginx-status-allow-cidrs `` + +Add IP/CIDR blocks to the allow list for NGINX stub_status or the NGINX Plus API. + +Separate multiple IP/CIDR by commas. (default `127.0.0.1,::1`) + + + +--- + +### -nginx-status-port `` + +Set the port where the NGINX stub_status or the NGINX Plus API is exposed. + +Format: `[1024 - 65535]` (default `8080`) + + + +--- + +### -proxy `` + +{{< warning >}} This argument is intended for testing purposes only. {{< /warning >}} + +Use a proxy server to connect to Kubernetes API started with `kubectl proxy`. + +NGINX Ingress Controller does not start NGINX and does not write any generated NGINX configuration files to disk. + + + +--- + +### -report-ingress-status + +Updates the address field in the status of Ingress resources. + +Requires the [-external-service](#cmdoption-external-service) or [-ingresslink](#cmdoption-ingresslink) flag, or the `external-status-address` key in the ConfigMap. + + + +--- + +### -transportserver-template-path `` + +Path to the TransportServer NGINX configuration template for a TransportServer resource. + +- Default for NGINX is `nginx.transportserver.tmpl`. +- Default for NGINX Plus is `nginx-plus.transportserver.tmpl`. + + + +--- + +### -log-level `` + +Log level for Ingress Controller logs. Allowed values: fatal, error, warn, info, debug, trace. + +- Default is `info`. + + + +--- + +### -log-format `` + +Log format for Ingress Controller logs. Allowed values: glog, json, text. + +- Default is `glog`. + + + +--- + +### -version + +Print the version, git-commit hash and build date and exit. + + + +--- + +### -virtualserver-template-path `` + +Path to the VirtualServer NGINX configuration template for a VirtualServer resource. + +- Default for NGINX is `nginx.virtualserver.tmpl`. +- Default for NGINX Plus is `nginx-plus.virtualserver.tmpl`. + + + + +--- + +### -vmodule `` + +A comma-separated list of pattern=N settings for file-filtered logging. + + + +--- + +### -watch-namespace `` + +Comma separated list of namespaces NGINX Ingress Controller should watch for resources. By default NGINX Ingress Controller watches all namespaces. Mutually exclusive with "watch-namespace-label". + + + +--- + +### -watch-namespace-label `` + +Configures NGINX Ingress Controller to watch only those namespaces with label foo=bar. By default NGINX Ingress Controller watches all namespaces. Mutually exclusive with "watch-namespace". + + + +--- + +### -watch-secret-namespace `` + +Comma separated list of namespaces NGINX Ingress Controller should watch for secrets. If this arg is not configured, NGINX Ingress Controller watches the same namespaces for all resources, see "watch-namespace" and "watch-namespace-label". All namespaces included with this argument must be part of either `-watch-namespace` or `-watch-namespace-label`. + + + +--- + +### -enable-prometheus-metrics + +Enables exposing NGINX or NGINX Plus metrics in the Prometheus format. + + + +--- + +### -prometheus-metrics-listen-port `` + +Sets the port where the Prometheus metrics are exposed. + +Format: `[1024 - 65535]` (default `9113`) + + + +--- + +### -prometheus-tls-secret `` + +A Secret with a TLS certificate and key for TLS termination of the Prometheus metrics endpoint. + +- If the argument is not set, the Prometheus endpoint will not use a TLS connection. +- If the argument is set, but NGINX Ingress Controller is not able to fetch the Secret from Kubernetes API, NGINX Ingress Controller will fail to start. + + + +--- + +### -enable-service-insight + +Exposes the Service Insight endpoint for Ingress Controller. + + + +--- + +### -service-insight-listen-port `` + +Sets the port where the Service Insight is exposed. + +Format: `[1024 - 65535]` (default `9114`) + + + +--- + +### -service-insight-tls-secret `` + +A Secret with a TLS certificate and key for TLS termination of the Service Insight endpoint. + +- If the argument is not set, the Service Insight endpoint will not use a TLS connection. +- If the argument is set, but NGINX Ingress Controller is not able to fetch the Secret from Kubernetes API, NGINX Ingress Controller will fail to start. + +Format: `/` + + + +--- + +### -spire-agent-address `` + +Specifies the address of a running Spire agent. **For use with NGINX Service Mesh only**. + +- If the argument is set, but NGINX Ingress Controller is unable to connect to the Spire Agent, NGINX Ingress Controller will fail to start. + + + + +--- + +### -enable-internal-routes + +Enable support for internal routes with NGINX Service Mesh. **For use with NGINX Service Mesh only**. + +Requires [-spire-agent-address](#cmdoption-spire-agent-address). + +- If the argument is set, but `spire-agent-address` is not provided, NGINX Ingress Controller will fail to start. + + + +--- + +### -enable-latency-metrics + +Enable collection of latency metrics for upstreams. +Requires [-enable-prometheus-metrics](#cmdoption-enable-prometheus-metrics). + + + +--- + +### -enable-app-protect + +Enables support for App Protect. + +Requires [-nginx-plus](#cmdoption-nginx-plus). + +- If the argument is set, but `nginx-plus` is set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -app-protect-log-level `` + +Sets log level for App Protect. Allowed values: fatal, error, warn, info, debug, trace. + +Requires [-nginx-plus](#cmdoption-nginx-plus) and [-enable-app-protect](#cmdoption-enable-app-protect). + +- If the argument is set, but `nginx-plus` and `enable-app-protect` are set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -enable-app-protect-dos + +Enables support for App Protect DoS. + +Requires [-nginx-plus](#cmdoption-nginx-plus). + +- If the argument is set, but `nginx-plus` is set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -app-protect-dos-debug + +Enable debugging for App Protect DoS. + +Requires [-nginx-plus](#cmdoption-nginx-plus) and [-enable-app-protect-dos](#cmdoption-enable-app-protect-dos). + +- If the argument is set, but `nginx-plus` and `enable-app-protect-dos` are set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -app-protect-dos-max-daemons + +Max number of ADMD instances. + +Default `1`. + +Requires [-nginx-plus](#cmdoption-nginx-plus) and [-enable-app-protect-dos](#cmdoption-enable-app-protect-dos). + +- If the argument is set, but `nginx-plus` and `enable-app-protect-dos` are set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -app-protect-dos-max-workers + +Max number of nginx processes to support. + +Default `Number of CPU cores in the machine`. + +Requires [-nginx-plus](#cmdoption-nginx-plus) and [-enable-app-protect-dos](#cmdoption-enable-app-protect-dos). + +- If the argument is set, but `nginx-plus` and `enable-app-protect-dos` are set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -app-protect-dos-memory + +RAM memory size to consume in MB + +Default `50% of free RAM in the container or 80MB, the smaller`. + +Requires [-nginx-plus](#cmdoption-nginx-plus) and [-enable-app-protect-dos](#cmdoption-enable-app-protect-dos). + +- If the argument is set, but `nginx-plus` and `enable-app-protect-dos` are set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -ready-status + +Enables the readiness endpoint `/nginx-ready`. The endpoint returns a success code when NGINX has loaded all the config after the startup. + +Default `true`. + + + +--- + +### -ready-status-port + +The HTTP port for the readiness endpoint. + +Format: `[1024 - 65535]` (default `8081`) + +--- + +### -disable-ipv6 + +Disable IPV6 listeners explicitly for nodes that do not support the IPV6 stack. + +Default `false`. + + + +--- + +### -default-http-listener-port + +Sets the port for the HTTP `default_server` listener. + +Default `80`. + + + +--- + +### -default-https-listener-port + +Sets the port for the HTTPS `default_server` listener. + +Default `443`. + + + +--- + +### -ssl-dynamic-reload + +Used to activate or deactivate lazy loading for SSL Certificates. + +The default value is `true`. + + + +--- + +### -weight-changes-dynamic-reload + +Enables the ability to change the weight distribution of two-way split clients without reloading NGINX. + +Requires [-nginx-plus](#cmdoption-nginx-plus). + +Using this feature may require increasing `map_hash_bucket_size`, `map_hash_max_size`, `variable_hash_bucket_size`, and `variable_hash_max_size` in the ConfigMap based on the number of two-way splits. + +The default value is `false`. + +- If the argument is set, but `nginx-plus` is set to false, NGINX Ingress Controller will ignore the flag. + + + +--- + +### -enable-telemetry-reporting + +Enable gathering and reporting of software telemetry. + +The default value is `true`. + + + +--- + +### -agent + +Enable NGINX Agent which can used with `-enable-app-protect` to send events to Security Monitoring. + +The default value is `false`. + + + +--- + +### -agent-instance-group + +Specify the instance group name to use for the NGINX Ingress Controller deployment when using `-agent`. + + diff --git a/content/includes/nic/configuration/global-configuration/configmap-resource.md b/content/includes/nic/configuration/global-configuration/configmap-resource.md new file mode 100644 index 000000000..afa0bcf17 --- /dev/null +++ b/content/includes/nic/configuration/global-configuration/configmap-resource.md @@ -0,0 +1,250 @@ +--- +title: ConfigMap resources +weight: 300 +toc: true +type: how-to +product: NIC +docs: DOCS-586 +--- + +When using F5 NGINX Ingress Controller, you can customize or fine tune NGINX behavior using ConfigMap resources. Examples include setting the number of worker processes or customizing the access log format. + +## Using ConfigMap + +1. The [Installation with Manifests]({{< relref "installation/installing-nic/installation-with-manifests.md" >}}) documentation deploy an empty ConfigMap while the default installation manifests specify it in the command-line arguments of the Ingress Controller. However, if you customized the manifests, to use ConfigMap, make sure to specify the ConfigMap resource to use the [command-line arguments]({{< ref "/nic/configuration/global-configuration/command-line-arguments" >}}) of NGINX Ingress Controller. + +1. Create a ConfigMap file with the name *nginx-config.yaml* and set the values +that make sense for your setup: + + ```yaml + kind: ConfigMap + apiVersion: v1 + metadata: + name: nginx-config + namespace: nginx-ingress + data: + proxy-connect-timeout: "10s" + proxy-read-timeout: "10s" + client-max-body-size: "2m" + ``` + + See the section [Summary of ConfigMap Keys](#summary-of-configmap-keys) for the explanation of the available ConfigMap keys (such as `proxy-connect-timeout` in this example). + +1. Create a new (or update the existing) ConfigMap resource: + + ```shell + kubectl apply -f nginx-config.yaml + ``` + + The NGINX configuration will be updated. + +--- + +## ConfigMap and Ingress annotations + +ConfigMap applies globally, meaning that it affects every Ingress resource. In contrast, annotations always apply to their Ingress resource. Annotations can override some ConfigMap keys: an example is that the `nginx.org/proxy-connect-timeout` annotations overrides the `proxy-connect-timeout` ConfigMap key. + +For more information, view the [Advanced configuration with annotations]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations" >}}) topic. + +--- + +## ConfigMap and VirtualServer/VirtualServerRoute resources + +The ConfigMap affects every VirtualServer and VirtualServerRoute resources. However, the fields of those resources allow overriding some ConfigMap keys. For example, the `connect-timeout` field of the `upstream` overrides the `proxy-connect-timeout` ConfigMap key. + +For more information, view the [VirtualServer and VirtualServerRoute resources]({{< ref "/nic/configuration/virtualserver-and-virtualserverroute-resources" >}}) topic. + +--- + +## ConfigMap keys + +### Ingress Controller (Unrelated to NGINX Configuration) + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*external-status-address* | Sets the address to be reported in the status of Ingress resources. Requires the *-report-status* command-line argument. Overrides the *-external-service* argument. | N/A | [Reporting resource status]({{< ref "/nic/configuration/global-configuration/reporting-resources-status" >}}) | +{{}} + +--- + +### General customization + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*proxy-connect-timeout* | Sets the value of the [proxy_connect_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) and [grpc_connect_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_connect_timeout) directive. | *60s* | | +|*proxy-read-timeout* | Sets the value of the [proxy_read_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout) and [grpc_read_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_read_timeout) directive. | *60s* | | +|*proxy-send-timeout* | Sets the value of the [proxy_send_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout) and [grpc_send_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_send_timeout) directive. | *60s* | | +|*client-max-body-size* | Sets the value of the [client_max_body_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size) directive. | *1m* | | +|*proxy-buffering* | Enables or disables [buffering of responses](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) from the proxied server. | *True* | | +|*proxy-buffers* | Sets the value of the [proxy_buffers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directive. | Depends on the platform. | | +|*proxy-buffer-size* | Sets the value of the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) and [grpc_buffer_size](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_buffer_size) directives. | Depends on the platform. | | +|*proxy-max-temp-file-size* | Sets the value of the [proxy_max_temp_file_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size) directive. | *1024m* | | +|*set-real-ip-from* | Sets the value of the [set_real_ip_from](https://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from) directive. | N/A | | +|*real-ip-header* | Sets the value of the [real_ip_header](https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header) directive. | *X-Real-IP* | | +|*real-ip-recursive* | Enables or disables the [real_ip_recursive](https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_recursive) directive. | *False* | | +|*default-server-return* | Configures the [return](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return) directive in the default server, which handles a client request if none of the hosts of Ingress or VirtualServer resources match. The default value configures NGINX to return a 404 error page. You can configure a fixed response or a redirect. For example, *default-server-return: 302 https://nginx.org* will redirect a client to *https://nginx.org*. | *404* | | +|*server-tokens* | Enables or disables the [server_tokens](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens) directive. Additionally, with the NGINX Plus, you can specify a custom string value, including the empty string value, which disables the emission of the “Server” field. | *True* | | +|*worker-processes* | Sets the value of the [worker_processes](https://nginx.org/en/docs/ngx_core_module.html#worker_processes) directive. | *auto* | | +|*worker-rlimit-nofile* | Sets the value of the [worker_rlimit_nofile](https://nginx.org/en/docs/ngx_core_module.html#worker_rlimit_nofile) directive. | N/A | | +|*worker-connections* | Sets the value of the [worker_connections](https://nginx.org/en/docs/ngx_core_module.html#worker_connections) directive. | *1024* | | +|*worker-cpu-affinity* | Sets the value of the [worker_cpu_affinity](https://nginx.org/en/docs/ngx_core_module.html#worker_cpu_affinity) directive. | N/A | | +|*worker-shutdown-timeout* | Sets the value of the [worker_shutdown_timeout](https://nginx.org/en/docs/ngx_core_module.html#worker_shutdown_timeout) directive. | N/A | | +|*server-names-hash-bucket-size* | Sets the value of the [server_names_hash_bucket_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size) directive. | *256* | | +|*server-names-hash-max-size* | Sets the value of the [server_names_hash_max_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_max_size) directive. | *1024* | | +|*map-hash-bucket-size* | Sets the value of the [map_hash_bucket_size](http://nginx.org/en/docs/http/ngx_http_map_module.html#map_hash_bucket_size) directive.| *256* | | +|*map-hash-max-size* | Sets the value of the [map_hash_max_size](http://nginx.org/en/docs/http/ngx_http_map_module.html#map_hash_max_size) directive. | *2048* | | +|*resolver-addresses* | Sets the value of the [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) addresses. Note: If you use a DNS name (for example, *kube-dns.kube-system.svc.cluster.local* ) as a resolver address, NGINX Plus will resolve it using the system resolver during the start and on every configuration reload. If the name cannot be resolved or the DNS server doesn't respond, NGINX Plus will fail to start or reload. To avoid this, we recommend using IP addresses as resolver addresses instead of DNS names. Supported in NGINX Plus only. | N/A | [Support for Type ExternalName Services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/externalname-services). | +|*resolver-ipv6* | Enables IPv6 resolution in the resolver. Supported in NGINX Plus only. | *True* | [Support for Type ExternalName Services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/externalname-services). | +|*resolver-valid* | Sets the time NGINX caches the resolved DNS records. Supported in NGINX Plus only. | TTL value of a DNS record | [Support for Type ExternalName Services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/externalname-services). | +|*resolver-timeout* | Sets the [resolver_timeout](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver_timeout) for name resolution. Supported in NGINX Plus only. | *30s* | [Support for Type ExternalName Services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/externalname-services). | +|*keepalive-timeout* | Sets the value of the [keepalive_timeout](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout) directive. | *75s* | | +|*keepalive-requests* | Sets the value of the [keepalive_requests](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests) directive. | *1000* | | +|*variables-hash-bucket-size* | Sets the value of the [variables_hash_bucket_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#variables_hash_bucket_size) directive. | *256* | | +|*variables-hash-max-size* | Sets the value of the [variables-hash-max-size](https://nginx.org/en/docs/http/ngx_http_core_module.html#variables_hash_max_size) directive. | *1024* | | +{{}} + +--- + +### Logging + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*error-log-level* | Sets the global [error log level](https://nginx.org/en/docs/ngx_core_module.html#error_log) for NGINX. | *notice* | | +|*access-log* | Sets the directive [access log](https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log). A syslog destination is the only valid value. The value will be set to its default in-case user tries to configure it with location other than a syslog. +| ``/dev/stdout main`` | ``syslog:server=localhost:514`` | +|*access-log-off* | Disables the [access log](https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log). | *False* | | +|*default-server-access-log-off* | Disables the [access log](https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log) for the default server. If access log is disabled globally (*access-log-off: "True"*), then the default server access log is always disabled. | *False* | | +|*log-format* | Sets the custom [log format](https://nginx.org/en/docs/http/ngx_http_log_module.html#log_format) for HTTP and HTTPS traffic. For convenience, it is possible to define the log format across multiple lines (each line separated by *\n*). In that case, the Ingress Controller will replace every *\n* character with a space character. All *'* characters must be escaped. | See the [template file](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/internal/configs/version1/nginx.tmpl) for the access log. | [Custom Log Format](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/shared-examples/custom-log-format). | +|*log-format-escaping* | Sets the characters escaping for the variables of the log format. Supported values: *json* (JSON escaping), *default* (the default escaping) *none* (disables escaping). | *default* | | +|*stream-log-format* | Sets the custom [log format](https://nginx.org/en/docs/stream/ngx_stream_log_module.html#log_format) for TCP, UDP, and TLS Passthrough traffic. For convenience, it is possible to define the log format across multiple lines (each line separated by *\n*). In that case, the Ingress Controller will replace every *\n* character with a space character. All *'* characters must be escaped. | See the [template file](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/internal/configs/version1/nginx.tmpl). | | +|*stream-log-format-escaping* | Sets the characters escaping for the variables of the stream log format. Supported values: *json* (JSON escaping), *default* (the default escaping) *none* (disables escaping). | *default* | | +{{}} + +--- + +### Request URI/Header manipulation + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*proxy-hide-headers* | Sets the value of one or more [proxy_hide_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header) directives. Example: *"nginx.org/proxy-hide-headers": "header-a,header-b"* | N/A | | +|*proxy-pass-headers* | Sets the value of one or more [proxy_pass_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_header) directives. Example: *"nginx.org/proxy-pass-headers": "header-a,header-b"* | N/A | | +{{}} + +--- + +### Auth and SSL/TLS + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*redirect-to-https* | Sets the 301 redirect rule based on the value of the *http_x_forwarded_proto* header on the server block to force incoming traffic to be over HTTPS. Useful when terminating SSL in a load balancer in front of the Ingress Controller — see [115](https://github.com/nginx/kubernetes-ingress/issues/115) | *False* | | +|*ssl-redirect* | Sets an unconditional 301 redirect rule for all incoming HTTP traffic to force incoming traffic over HTTPS. | *True* | | +|*hsts* | Enables [HTTP Strict Transport Security (HSTS)](https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/) : the HSTS header is added to the responses from backends. The *preload* directive is included in the header. | *False* | | +|*hsts-max-age* | Sets the value of the *max-age* directive of the HSTS header. | *2592000* (1 month) | | +|*hsts-include-subdomains* | Adds the *includeSubDomains* directive to the HSTS header. | *False* | | +|*hsts-behind-proxy* | Enables HSTS based on the value of the *http_x_forwarded_proto* request header. Should only be used when TLS termination is configured in a load balancer (proxy) in front of the Ingress Controller. Note: to control redirection from HTTP to HTTPS configure the *nginx.org/redirect-to-https* annotation. | *False* | | +|*ssl-protocols* | Sets the value of the [ssl_protocols](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) directive. | *TLSv1 TLSv1.1 TLSv1.2* | | +|*ssl-prefer-server-ciphers* | Enables or disables the [ssl_prefer_server_ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_prefer_server_ciphers) directive. | *False* | | +|*ssl-ciphers* | Sets the value of the [ssl_ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers) directive. | *HIGH:!aNULL:!MD5* | | +|*ssl-dhparam-file* | Sets the content of the dhparam file. The controller will create the file and set the value of the [ssl_dhparam](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam) directive with the path of the file. | N/A | | +{{}} + +--- + +### Listeners + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*http2* | Enables HTTP/2 in servers with SSL enabled. | *False* | | +|*proxy-protocol* | Enables PROXY Protocol for incoming connections. | *False* | [Proxy Protocol](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/shared-examples/proxy-protocol). | +{{}} + +--- + +### Backend services (Upstreams) + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*lb-method* | Sets the [load balancing method](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#choosing-a-load-balancing-method). To use the round-robin method, specify *"round_robin"*. | *"random two least_conn"* | | +|*max-fails* | Sets the value of the [max_fails](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_fails) parameter of the *server* directive. | *1* | | +|*upstream-zone-size* | Sets the size of the shared memory [zone](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#zone) for upstreams. For NGINX, the special value 0 disables the shared memory zones. For NGINX Plus, shared memory zones are required and cannot be disabled. The special value 0 will be ignored. | *256k* for NGINX, *512k* for NGINX Plus | | +|*fail-timeout* | Sets the value of the [fail_timeout](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#fail_timeout) parameter of the *server* directive. | *10s* | | +|*keepalive* | Sets the value of the [keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) directive. Note that *proxy_set_header Connection "";* is added to the generated configuration when the value > 0. | *0* | | +{{}} + +--- + +### Zone Sync + +Zone Sync enables the [ngx_stream_zone_sync_module](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html) in NGINX Ingress Controller when NGINX Plus is used. Multiple replicas are required to effectively utililise this functionality. More information is available in the [How NGINX Plus Performs Zone Synchronization](https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync_details/) topic. + +Zone synchronization with TLS for NGINX Ingress Controller is not yet available with ConfigMap. If you would like to enable Zone Sync with TLS, please remove `zone-sync` from ConfigMap and add Zone Sync parameters via [`stream-snippets`]({{< ref "/configuration/ingress-resources/advanced-configuration-with-snippets.md" >}}) similar to [this example](https://github.com/nginx/kubernetes-ingress/blob/v4.0.1/examples/custom-resources/oidc/nginx-config.yaml) and adding the [zone_sync_ssl directive](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync_ssl) along with any other TLS parameters to the `stream-snippets`. + +You will also need to manually add the headless service, such as in [this example](https://github.com/nginx/kubernetes-ingress/blob/v4.0.1/examples/custom-resources/oidc/nginx-ingress-headless.yaml). + +{{< caution >}} +If you previously installed OIDC or used the `zone_sync` directive with `stream-snippets` in [v4.0.1](https://github.com/nginx/kubernetes-ingress/tree/v4.0.1) or earlier, and you plan to enable the `zone-sync` ConfigMap key, the `zone_sync` directive should be removed from `stream-snippets`. + +If you encounter the error `error [emerg] 13#13: "zone_sync" directive is duplicate in /etc/nginx/nginx.conf:164` it is likely due to `zone_sync` being enabled in both `stream-snippets` and the ConfigMap. Once upgraded, remove the [old headless service](https://github.com/nginx/kubernetes-ingress/blob/v4.0.1/examples/custom-resources/oidc/nginx-ingress-headless.yaml) deployed for OIDC. +{{< /caution >}} + + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*zone-sync* | Enables zone synchronization between NGINX Ingress Controller Pods. This autogenerates a [zone_sync_server](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync_server) and a headless service using the `ReplicaSet` or `DaemonSet` name. Please note that this headless service will be automatically cleaned up when uninstalling via Helm or by removing the value from the ConfigMap. The headless service will need to be manually removed if the `controller.customConfigMap` value is set via Helm or the deployment is uninstalled via Manifests. Each Ingress Controller manages its own headless service. NGINX Plus Required. | *False* | | +|*zone-sync-port* | Specifies the optional port on which NGINX Ingress Controller listens for zone sync traffic. NGINX Plus & `zone-sync` Required. | *12345* | | +|*zone-sync-resolver-addresses* | Configures optional addresses used in the [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync. This field takes a comma separated list of addresses. NGINX Plus & `zone-sync` Required | `kube-dns.kube-system.svc.cluster.local` | | +|*zone-sync-resolver-ipv6* | Configures whether the optional [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync will look up IPv6 addresses. NGINX Plus & `zone-sync` Required | `true` | | +|*zone-sync-resolver-valid* | Configures an [NGINX time](https://nginx.org/en/docs/syntax.html) that the optional [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync will override the TTL value of responses from nameservers with. NGINX Plus & `zone-sync` Required | `5s` | | +{{}} + +--- + +### Snippets and custom templates + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*main-snippets* | Sets a custom snippet in main context. | N/A | | +|*http-snippets* | Sets a custom snippet in http context. | N/A | | +|*location-snippets* | Sets a custom snippet in location context. | N/A | | +|*server-snippets* | Sets a custom snippet in server context. | N/A | | +|*stream-snippets* | Sets a custom snippet in stream context. | N/A | [Support for TCP/UDP Load Balancing](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/tcp-udp). | +|*main-template* | Sets the main NGINX configuration template. | By default the template is read from the file in the container. | [Custom Templates](/nginx-ingress-controller/configuration/global-configuration/custom-templates). | +|*ingress-template* | Sets the NGINX configuration template for an Ingress resource. | By default the template is read from the file on the container. | [Custom Templates](/nginx-ingress-controller/configuration/global-configuration/custom-templates). | +|*virtualserver-template* | Sets the NGINX configuration template for an VirtualServer resource. | By default the template is read from the file on the container. | [Custom Templates](/nginx-ingress-controller/configuration/global-configuration/custom-templates). | +|*transportserver-template* | Sets the NGINX configuration template for a TransportServer resource. | By default the template is read from the file on the container. | [Custom Templates](/nginx-ingress-controller/configuration/global-configuration/custom-templates). | +{{}} + +--- + +### Modules + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*otel-exporter-endpoint* | OTLP/gRPC endpoint that will accept [OpenTelemetry](https://opentelemetry.io) data. Set `otel-trace-in-http` to *"true"* to enable OpenTelemetry at the global level. | N/A | *"https://otel-collector:4317"* | +|*otel-exporter-header-name* | The name of a custom HTTP header to add to telemetry export request. `otel-exporter-endpoint` and `otel-exporter-header-value` required. | N/A | *"X-custom-header"* | +|*otel-exporter-header-value* | The value of a custom HTTP header to add to telemetry export request. `otel-exporter-endpoint` and `otel-exporter-header-name` required. | N/A | *"custom-value"* | +|*otel-service-name* | Sets the `service.name` attribute of the OTel resource. `otel-exporter-endpoint` required. | N/A | *"nginx-ingress-controller:nginx"* | +| *otel-trace-in-http* | Enables [OpenTelemetry](https://opentelemetry.io) globally (for all Ingress, VirtualServer and VirtualServerRoute resources). Set this to *"false"* to enable OpenTelemetry for individual routes with snippets. `otel-exporter-endpoint` required. | *"false"* | *"true"* | +|*opentracing* | Removed in v5.0.0. Enables [OpenTracing](https://opentracing.io) globally (for all Ingress, VirtualServer and VirtualServerRoute resources). Note: requires the Ingress Controller image with OpenTracing module and a tracer. See the [docs]({{< relref "/installation/integrations/opentracing.md" >}}) for more information. | *False* | | +|*opentracing-tracer* | Removed in v5.0.0. Sets the path to the vendor tracer binary plugin. | N/A | | +|*opentracing-tracer-config* | Removed in v5.0.0. Sets the tracer configuration in JSON format. | N/A | | +|*app-protect-compressed-requests-action* | Sets the *app_protect_compressed_requests_action* [global directive](/nginx-app-protect/configuration/#global-directives). | *drop* | | +|*app-protect-cookie-seed* | Sets the *app_protect_cookie_seed* [global directive](/nginx-app-protect/configuration/#global-directives). | Random automatically generated string | | +|*app-protect-failure-mode-action* | Sets the *app_protect_failure_mode_action* [global directive](/nginx-app-protect/configuration/#global-directives). | *pass* | | +|*app-protect-cpu-thresholds* | Sets the *app_protect_cpu_thresholds* [global directive](/nginx-app-protect/configuration/#global-directives). | *high=100 low=100* | | +|*app-protect-physical-memory-util-thresholds* | Sets the *app_protect_physical_memory_util_thresholds* [global directive](/nginx-app-protect/configuration/#global-directives). | *high=100 low=100* | | +|`app-protect-reconnect-period-seconds` | Sets the `app_protect_reconnect_period_seconds` [global directive](/nginx-app-protect/configuration/#global-directives). | `5` | | +|*app-protect-dos-log-format* | Sets the custom [log format](https://nginx.org/en/docs/http/ngx_http_log_module.html#log_format) for Dos Access log traffic. For convenience, it is possible to define the log format across multiple lines (each line separated by *\n*). In that case, the Ingress Controller will replace every *\n* character with a space character. All *'* characters must be escaped. | `, vs_name_al=$app_protect_dos_vs_name, ip=$remote_addr, tls_fp=$app_protect_dos_tls_fp, outcome=$app_protect_dos_outcome, reason=$app_protect_dos_outcome_reason, policy_name=$app_protect_dos_policy_name, dos_version=$app_protect_dos_version, ip_tls=$remote_addr:$app_protect_dos_tls_fp,` | | +|*app-protect-dos-log-format-escaping* | Sets the characters escaping for the variables of the stream log format. Supported values: *json* (JSON escaping), *default* (the default escaping) *none* (disables escaping). | *default* | | +|*app-protect-dos-arb-fqdn* | Sets the *app-protect-dos-arb-fqdn* [directive](/nginx-app-protect-dos/directives-and-policy/learn-about-directives-and-policy/#arbitrator-fqdn-directive-app_protect_dos_arb_fqdn). | *svc-appprotect-dos-arb* | | +{{}} diff --git a/content/includes/nic/configuration/global-configuration/custom-templates.md b/content/includes/nic/configuration/global-configuration/custom-templates.md new file mode 100644 index 000000000..589ce5951 --- /dev/null +++ b/content/includes/nic/configuration/global-configuration/custom-templates.md @@ -0,0 +1,11 @@ +--- +docs: DOCS-587 +doctypes: +- '' +title: Custom templates +toc: true +weight: 500 +--- + + +F5 NGINX Ingress Controller uses templates to generate NGINX configuration for Ingress resources, VirtualServer resources and the main NGINX configuration file. You can customize the templates and apply them via the ConfigMap. See the [corresponding example](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/shared-examples/custom-templates). diff --git a/content/includes/nic/configuration/global-configuration/globalconfiguration-resource.md b/content/includes/nic/configuration/global-configuration/globalconfiguration-resource.md new file mode 100644 index 000000000..605ab301f --- /dev/null +++ b/content/includes/nic/configuration/global-configuration/globalconfiguration-resource.md @@ -0,0 +1,183 @@ +--- +docs: DOCS-588 +doctypes: +- '' +title: GlobalConfiguration resource +toc: true +weight: 200 +--- + +This page explains how to use the GlobalConfiguration resource to define the global configuration parameters of F5 NGINX Ingress Controller. + +The resource supports configuring listeners for TCP and UDP load balancing, and is implemented as a [Custom resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). + +Listeners are required by [TransportServer resources]({{< relref "/configuration/transportserver-resource.md" >}}) and can be used to [configure custom listeners for VirtualServers]({{< relref "tutorials/virtual-server-with-custom-listener-ports.md" >}}). + +--- + +## Prerequisites + +When [installing NGINX Ingress Controller using Manifests]({{< relref "/installation/installing-nic/installation-with-manifests.md" >}}), you need to reference a GlobalConfiguration resource in the [`-global-configuration`](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments#cmdoption-global-configuration) command-line argument. NGINX Ingress Controller only needs one GlobalConfiguration resource. + +--- + +## GlobalConfiguration specification + +The GlobalConfiguration resource defines the global configuration parameters of the Ingress Controller. Below is an example: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: GlobalConfiguration +metadata: + name: nginx-configuration + namespace: nginx-ingress +spec: + listeners: + - name: dns-udp + port: 5353 + protocol: UDP + - name: dns-tcp + port: 5353 + protocol: TCP + - name: http-8083 + port: 8083 + protocol: HTTP + - name: https-8443 + port: 8443 + protocol: HTTP + ssl: true +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +| *listeners* | A list of listeners. | [listener](#listener) | No | +{{}} + +### Listener + +The `listeners:` key defines a listener (a combination of a protocol and a port) that NGINX will use to accept traffic for a [TransportServer]({{< relref "/configuration/transportserver-resource.md" >}}) and a [VirtualServer]({{< relref "/configuration/virtualserver-and-virtualserverroute-resources.md" >}}): + +```yaml +- name: dns-tcp + port: 5353 + protocol: TCP +- name: http-8083 + port: 8083 + protocol: HTTP +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +| *name* | The name of the listener. Must be a valid DNS label as defined in RFC 1035. For example, ``hello`` and ``listener-123`` are valid. The name must be unique among all listeners. The name ``tls-passthrough`` is reserved for the built-in TLS Passthrough listener and cannot be used. | *string* | Yes | +| *port* | The port of the listener. The port must fall into the range ``1..65535`` with the following exceptions: ``80``, ``443``, the [status port](/nginx-ingress-controller/logging-and-monitoring/status-page), the [Prometheus metrics port](/nginx-ingress-controller/logging-and-monitoring/prometheus). Among all listeners, only a single combination of a port-protocol is allowed. | *int* | Yes | +| *protocol* | The protocol of the listener. Supported values: ``TCP``, ``UDP`` and ``HTTP``. | *string* | Yes | +| *ssl* | Configures the listener with SSL. This is currently only supported for ``HTTP`` listeners. Default value is ``false`` | *bool* | No | +| *ipv4* | Specifies the IPv4 address to listen on. | *string* | No | +| *ipv6* | Specifies the IPv6 address to listen on. | *string* | No | + +{{}} + +--- + +## Using GlobalConfiguration + +You can use the usual `kubectl` commands to work with a GlobalConfiguration resource. + +For example, the following command creates a GlobalConfiguration resource defined in `global-configuration.yaml` with the name `nginx-configuration`: + +```shell +kubectl apply -f global-configuration.yaml +``` +```shell +globalconfiguration.k8s.nginx.org/nginx-configuration created +``` + +Assuming the namespace of the resource is `nginx-ingress`, you can get the resource by running: + +```shell +kubectl get globalconfiguration nginx-configuration -n nginx-ingress +``` +```shell +NAME AGE +nginx-configuration 13s +``` + +With `kubectl get` and similar commands, you can use the short name `gc` instead of `globalconfiguration`. + +--- + +### Validation + +Two types of validation are available for the GlobalConfiguration resource: + +- *Structural validation* by `kubectl` and Kubernetes API server. +- *Comprehensive validation* by NGINX Ingress Controller. + + +#### Structural validation + +The custom resource definition for the GlobalConfiguration includes structural OpenAPI schema which describes the type of every field of the resource. + +If you try to create (or update) a resource that violates the structural schema (for example, you use a string value for the port field of a listener), `kubectl` and Kubernetes API server will reject such a resource: + +- Example of `kubectl` validation: + + ```shell + kubectl apply -f global-configuration.yaml + ``` + ```text + error: error validating "global-configuration.yaml": error validating data: ValidationError(GlobalConfiguration.spec.listeners[0].port): invalid type for org.nginx.k8s.v1.GlobalConfiguration.spec.listeners.port: got "string", expected "integer"; if you choose to ignore these errors, turn validation off with --validate=false + ``` + +- Example of Kubernetes API server validation: + + ```shell + kubectl apply -f global-configuration.yaml --validate=false + ``` + ```text + The GlobalConfiguration "nginx-configuration" is invalid: []: Invalid value: map[string]interface {}{ ... }: validation failure list: + spec.listeners.port in body must be of type integer: "string" + ``` + +If a resource is not rejected (it doesn't violate the structural schema), NGINX Ingress Controller will validate it further. + +#### Comprehensive validation + +NGINX Ingress Controller validates the fields of a GlobalConfiguration resource. If a GlobalConfiguration resource is partially invalid, NGINX Ingress Controller use the valid listeners and emit events about invalid listeners. + +You can check if the Ingress Controller successfully applied the configuration for a GlobalConfiguration. For our `nginx-configuration` GlobalConfiguration, we can run: + +```shell +kubectl describe gc nginx-configuration -n nginx-ingress +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Updated 11s nginx-ingress-controller GlobalConfiguration nginx-ingress/nginx-configuration was updated +``` + +The events section includes a Normal event with the Updated reason that informs us that the configuration was successfully applied. + +If you create a GlobalConfiguration `nginx-configuration` with two or more listeners that have the same protocol UDP and port 53, you will get: + +```shell +kubectl describe gc nginx-configuration -n nginx-ingress +``` +```text +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Updated 55s nginx-ingress-controller GlobalConfiguration nginx-ingress/nginx-configuration was updated + Warning AddedOrUpdatedWithError 6s nginx-ingress-controller GlobalConfiguration nginx-ingress/nginx-configuration is invalid and was rejected: spec.listeners: Duplicate value: "Duplicated port/protocol combination 53/UDP" +``` + +The events section includes a Warning event with the AddedOrUpdatedWithError reason. + + +## Using IPV4 and IPV6 Addresses with GlobalConfiguration + +You can customize the IPv4 and IPv6 Address listeners in the global configuration and apply them to your VirtualServer resources. See the corresponding example [here](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/custom-ip-listeners/virtualserver/) diff --git a/content/includes/nic/configuration/global-configuration/mgmt-configmap-resource.md b/content/includes/nic/configuration/global-configuration/mgmt-configmap-resource.md new file mode 100644 index 000000000..e1d9a120c --- /dev/null +++ b/content/includes/nic/configuration/global-configuration/mgmt-configmap-resource.md @@ -0,0 +1,50 @@ +--- +docs: DOCS-586 +doctypes: +- '' +title: Management ConfigMap resource +toc: true +weight: 300 +--- + +When using F5 NGINX Ingress Controller with NGINX Plus, it is required to pass a [command line argument]({{< ref "/nic/configuration/global-configuration/command-line-arguments" >}}) to NGINX Ingress Controller, `--mgmt-configmap=` which specifies the ConfigMap to use. The minimal required ConfigMap must have a `license-token-secret-name` key. Helm users will not need to create this map or pass the argument, it will be created with a Helm install. + +--- + +1. Create a ConfigMap file with the name *nginx-config-mgmt.yaml* and set the values +that make sense for your setup: + + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + name: nginx-config-mgmt + namespace: nginx-ingress + data: + license-token-secret-name: "license-token" + ``` +1. Create a new (or update the existing) ConfigMap resource: + + ```shell + kubectl apply -f nginx-config-mgmt.yaml + ``` + + The [NGINX Management](https://nginx.org/en/docs/ngx_mgmt_module.html) block configuration will be updated. +--- +## Management ConfigMap keys + +{{}} +|ConfigMap Key | Description | Default | +| ---| ---| ---| +|*license-token-secret-name* | Configures the secret used in the [license_token](https://nginx.org/en/docs/ngx_mgmt_module.html#license_token) directive. This key assumes the secret is in the Namespace that NGINX Ingress Controller is deployed in. The secret must be of type `nginx.com/license` with the base64 encoded JWT in the `license.jwt` key. | N/A | +|*ssl-verify* | Configures the [ssl_verify](https://nginx.org/en/docs/ngx_mgmt_module.html#ssl_verify) directive, which enables or disables verification of the usage reporting endpoint certificate. | `true` | +|*enforce-initial-report* | Configures the [enforce_initial_report](https://nginx.org/en/docs/ngx_mgmt_module.html#enforce_initial_report) directive, which enables or disables the 180-day grace period for sending the initial usage report. | `false` | +|*usage-report-endpoint* | Configures the endpoint of the [usage_report](https://nginx.org/en/docs/ngx_mgmt_module.html#usage_report) directive. This is used to configure the endpoint NGINX uses to send usage reports to NIM. | `product.connect.nginx.com` | +|*usage-report-interval* | Configures the interval of the [usage_report](https://nginx.org/en/docs/ngx_mgmt_module.html#usage_report) directive. This specifies the frequency that usage reports are sent. This field takes an [NGINX time](https://nginx.org/en/docs/syntax.html). | `1h` | +|*usage-report-proxy-host* | Configures the host name of the [proxy](https://nginx.org/en/docs/ngx_mgmt_module.html#proxy) directive with optional port. | N/A | +|*ssl-trusted-certificate-secret-name* | Configures the secret used to create the file(s) referenced the in [ssl_trusted_certifcate](https://nginx.org/en/docs/ngx_mgmt_module.html#ssl_trusted_certificate), and [ssl_crl](https://nginx.org/en/docs/ngx_mgmt_module.html#ssl_crl) directives. This key assumes the secret is in the Namespace that NGINX Ingress Controller is deployed in. The secret must be of type `nginx.org/ca`, where the `ca.crt` key contains a base64 encoded trusted cert, and the optional `ca.crl` key can contain a base64 encoded CRL. If the optional `ca.crl` key is supplied, it will configure the NGINX `ssl_crl` directive. | N/A | +|*ssl-certificate-secret-name* | Configures the secret used to create the `ssl_certificate` and `ssl_certificate_key` directives. This key assumes the secret is in the Namespace that NGINX Ingress Controller is deployed in. The secret must be of type `kubernetes.io/tls`| N/A | +|*resolver-addresses* | Configures addresses used in the mgmt block [resolver](https://nginx.org/en/docs/ngx_mgmt_module.html#resolver) directive. This field takes a comma separated list of addresses. | N/A | +|*resolver-ipv6* | Configures whether the mgmt block [resolver](https://nginx.org/en/docs/ngx_mgmt_module.html#resolver) directive will look up IPv6 addresses. | `true` | +|*resolver-valid* | Configures an [NGINX time](https://nginx.org/en/docs/syntax.html) that the mgmt block [resolver](https://nginx.org/en/docs/ngx_mgmt_module.html#resolver) directive will override the TTL value of responses from nameservers with. | N/A | +{{}} diff --git a/content/includes/nic/configuration/global-configuration/reporting-resources-status.md b/content/includes/nic/configuration/global-configuration/reporting-resources-status.md new file mode 100644 index 000000000..8e36733eb --- /dev/null +++ b/content/includes/nic/configuration/global-configuration/reporting-resources-status.md @@ -0,0 +1,195 @@ +--- +docs: DOCS-589 +doctypes: +- '' +title: Reporting resource status +toc: true +weight: 600 +--- + +This page describes how to view the status of resources managed by F5 NGINX Ingress Controller. + +## Ingress resources + +An Ingress resource status includes the address (an IP address or a DNS name), through which the hosts of that Ingress resource are publicly accessible. + +You can see the address in the output of the `kubectl get ingress` command, in the ADDRESS column, as shown below: + +```shell +kubectl get ingresses +``` +```text +NAME HOSTS ADDRESS PORTS AGE +cafe-ingress cafe.example.com 12.13.23.123 80, 443 2m +``` + +NGINX Ingress Controller must be configured to report an Ingress status: + +1. Use the command-line flag `-report-ingress-status`. +1. Define a source for an external address. This can be either of: + 1. A user defined address, specified in the `external-status-address` ConfigMap key. + 1. A Service of the type LoadBalancer configured with an external IP or address and specified by the `-external-service` command-line flag. + +View the [ConfigMap keys](/nginx-ingress-controller/configuration/global-configuration/configmap-resource) and [Command-line arguments](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments) topics for more information. + +{{< note >}} NGINX Ingress Controller does not clear the status of Ingress resources when it is being shut down. {{< /note >}} + +## VirtualServer and VirtualServerRoute resources + +A VirtualServer or VirtualServerRoute resource includes the status field with information about the state of the resource and the IP address, through which the hosts of that resource are publicly accessible. + +You can see the status in the output of the `kubectl get virtualservers` or `kubectl get virtualserverroutes` commands as shown below: + +```shell +kubectl get virtualservers +``` +```text + NAME STATE HOST IP PORTS AGE + cafe Valid cafe.example.com 12.13.23.123 [80,443] 34s +``` + +To see an external hostname address associated with a VirtualServer resource, use the `-o wide` option: + +```shell +kubectl get virtualservers -o wide +``` +```text + NAME STATE HOST IP EXTERNALHOSTNAME PORTS AGE + cafe Valid cafe.example.com ae430f41a1a0042908655abcdefghijkl-12345678.eu-west-2.elb.amazonaws.com [80,443] 106s +``` + +{{< note >}} If there are multiple addresses, only the first one is shown. {{< /note >}} + +In order to see additional addresses or extra information about the `Status` of the resource, use the following command: + +```shell +kubectl describe virtualserver +``` +```text +... +Status: + External Endpoints: + Ip: 12.13.23.123 + Ports: [80,443] + Message: Configuration for cafe/cafe was added or updated + Reason: AddedOrUpdated + State: Valid +``` + +### Status specification + +The following fields are reported in both VirtualServer and VirtualServerRoute status: + +{{}} +|Field | Description | Type | +| ---| ---| --- | +|*State* | Current state of the resource. Can be ``Valid``, ``Warning`` an ``Invalid``. For more information, refer to the ``message`` field. | *string* | +|*Reason* | The reason of the last update. | *string* | +|*Message* | Additional information about the state. | *string* | +|*ExternalEndpoints* | A list of external endpoints for which the hosts of the resource are publicly accessible. | *[externalEndpoint](#externalendpoint)* | +{{}} + +The *ReferencedBy* field is reported for the VirtualServerRoute status only: + +{{}} +|Field | Description | Type | +| ---| ---| --- | +| *ReferencedBy* | The VirtualServer that references this VirtualServerRoute. Format as ``namespace/name`` | *string* | +{{}} + +### externalEndpoint + +{{}} +|Field | Description | Type | +| ---| ---| --- | +|``IP`` | The external IP address. | ``string`` | +|``Hostname`` | The external LoadBalancer Hostname address. | ``string`` | +|``Ports`` | A list of external ports. | ``string`` | +{{}} + +NGINX Ingress Controller must be configured to report a VirtualServer or VirtualServerRoute status: + +1. If you want NGINX Ingress Controller to report the `externalEndpoints`, define a source for an external address (The rest of the fields will be reported without the external address configured). This can be: + 1. A user defined address, specified in the `external-status-address` ConfigMap key. + 1. A Service of the type LoadBalancer configured with an external IP or address and specified by the `-external-service` command-line flag. + +View the [ConfigMap keys](/nginx-ingress-controller/configuration/global-configuration/configmap-resource) and [Command-line arguments](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments) topics for more information. + +{{< note >}} NGINX Ingress Controller does not clear the status of VirtualServer and VirtualServerRoute resources when it is being shut down. {{< /note >}} + +## Policy resources + +A Policy resource includes the status field with information about the state of the resource. + +You can see the status in the output of the `kubectl get policy` command as shown below: + +```shell +kubectl get policy +``` +```text + NAME STATE AGE + webapp-policy Valid 30s +``` + +In order to see additional addresses or extra information about the `Status` of the resource, use the following command: + +```shell +kubectl describe policy +``` +```text +... +Status: + Message: Configuration for default/webapp-policy was added or updated + Reason: AddedOrUpdated + State: Valid +``` + +### Status specification + +The following fields are reported in Policy status: + +{{}} +|Field | Description | Type | +| ---| ---| --- | +|``State`` | Current state of the resource. Can be ``Valid`` or ``Invalid``. For more information, refer to the ``message`` field. | ``string`` | +|``Reason`` | The reason of the last update. | ``string`` | +|``Message`` | Additional information about the state. | ``string`` | +{{}} + +## TransportServer resources + +A TransportServer resource includes the status field with information about the state of the resource. + +You can see the status in the output of the `kubectl get transportserver` command as shown below: + +```shell +kubectl get transportserver +``` +```text + NAME STATE REASON AGE + dns-tcp Valid AddedOrUpdated 47m +``` + +To see additional addresses or extra information about the `Status` of the resource, use the following command: + +```shell +kubectl describe transportserver +``` +```text +Status: + Message: Configuration for default/dns-tcp was added or updated + Reason: AddedOrUpdated + State: Valid +``` + +### Status specification + +The following fields are reported in TransportServer status: + +{{}} +|Field | Description | Type | +| ---| ---| --- | +| *State* | Current state of the resource. Can be ``Valid``, ``Warning`` or ``Invalid``. For more information, refer to the ``message`` field. | *string* | +| *Reason* | The reason of the last update. | *string* | +| *Message* | Additional information about the state. | *string* | +{{}} diff --git a/content/includes/nic/configuration/host-and-listener-collisions.md b/content/includes/nic/configuration/host-and-listener-collisions.md new file mode 100644 index 000000000..502ef830c --- /dev/null +++ b/content/includes/nic/configuration/host-and-listener-collisions.md @@ -0,0 +1,168 @@ +--- +title: Host and Listener collisions +toc: true +weight: 800 +docs: DOCS-590 +--- + +This document explains how F5 NGINX Ingress Controller handles host and listener collisions between resources. + +--- + +## Winner Selection Algorithm + +If multiple resources contend for the same host or listener, NGINX Ingress Controller will pick the winner based on the `creationTimestamp` of the resources: the oldest resource will win. In case there are more than one oldest resource (their `creationTimestamp` is the same), NGINX Ingress Controller will choose the resource with the lexicographically smallest `uid`. + +{{< note >}} The `creationTimestamp` and `uid` fields are part of the [ObjectMeta](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/) resource. {{< /note >}} + +--- + +## Host collisions + +A host collision occurs when multiple Ingress, VirtualServer, and TransportServer (configured for TLS Passthrough) resources configure the same `host`. NGINX Ingress Controller has two strategies for handling host collisions: + +- Choosing a single "winner" resource to handle the host. +- Merging the configuration of the conflicting resources. + +--- + +### Choosing the winner + +Consider the following two resources: + +- `cafe-ingress` Ingress: + + ```yaml + apiVersion: networking.k8s.io/v1 + kind: Ingress + metadata: + name: cafe-ingress + spec: + ingressClassName: nginx + rules: + - host: cafe.example.com + . . . + ``` + +- `cafe-virtual-server` VirtualServer: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: VirtualServer + metadata: + name: cafe-virtual-server + spec: + host: cafe.example.com + . . . + ``` + +If a user creates both resources in the cluster, a host collision will occur. NGINX Ingress Controller will pick the winner using the [winner selection algorithm](#winner-selection-algorithm). + +If `cafe-virtual-server` was created first, it will win the host `cafe.example.com` and NGINX Ingress Controller will reject `cafe-ingress`. This will be reflected in the events and in the resource's status field: + +```shell +kubectl describe vs cafe-virtual-server +``` +```text +... +Status: + ... + Message: Configuration for default/cafe-virtual-server was added or updated + Reason: AddedOrUpdated + State: Valid +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal AddedOrUpdated 9s nginx-ingress-controller Configuration for default/cafe-virtual-server was added or updated +``` + +```shell +kubectl describe ingress cafe-ingress +``` +```text +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 66s nginx-ingress-controller All hosts are taken by other resources +``` + +Similarly, if `cafe-ingress` was created first, it will win `cafe.example.com` and NGINX Ingress Controller will reject `cafe-virtual-server`. + +{{< note >}} You can configure multiple hosts for Ingress resources, and its possible that an Ingress resource can be the winner for some of its hosts and a loser for the others. + +For example, if `cafe-ingress` had an additional rule host rule for `pub.example.com`, NGINX Ingress Controller would not reject the Ingress. Instead, it would allow `cafe-ingress` to handle `pub.example.com`. {{< /note >}} + +--- + +### Merging configuration for the same host + +It is possible to merge configuration for multiple Ingress resources for the same host. One common use case for this approach is distributing resources across multiple namespaces. + +The [Cross-namespace configuration]({{< ref "/nic/configuration/ingress-resources/cross-namespace-configuration.md">}}) topic has more information. + +It is *not* possible to merge the configurations for multiple VirtualServer resources for the same host. However, you can split the VirtualServers into multiple VirtualServerRoute resources, which a single VirtualServer can then reference. See the [corresponding example](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/cross-namespace-configuration) on GitHub. + +It is *not* possible to merge configuration for multiple TransportServer resources. + +--- + +## Listener/Host collisions + +Listener/Host collisions occur when multiple TransportServer resources (configured for TCP/UDP load balancing) specify the same combination of `spec.listener.name` and `spec.host`. + +The combination of `spec.listener.name` and `spec.host` must be unique among all TransportServer resources. If two TransportServer resources specify the same spec.listener.name and spec.host, one of them will be rejected to prevent conflicts. In the case where spec.host is not specified, it is considered an empty string. + +NGINX Ingress Controller will choose the winner, which will own that listener and host combination. + +--- + +### Choosing the winner + +Consider the following two resources: + +- `tcp-1` TransportServer: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: TransportServer + metadata: + name: tcp-1 + spec: + host: dns.example.com + listener: + name: dns-tcp + protocol: TCP + . . . + ``` + +- `tcp-2` TransportServer: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: TransportServer + metadata: + name: tcp-2 + spec: + host: dns.example.com + listener: + name: dns-tcp + protocol: TCP + . . . + ``` + +If a user creates both resources in the cluster, a listener collision will occur. As a result, NGINX Ingress Controller will pick the winner using the [winner selection algorithm](#winner-selection-algorithm). + +In our example, if `tcp-1` was created first, it will win the listener `dns-tcp` and NGINX Ingress Controller will reject `tcp-2`. This will be reflected in the events and in the resource's status field: + +```shell +kubectl describe ts tcp-2 +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 10s nginx-ingress-controller Listener dns-tcp is taken by another resource +``` + +Similarly, if `tcp-2` was created first, it will win `dns-tcp` and NGINX Ingress Controller will reject `tcp-1`. diff --git a/content/includes/nic/configuration/ingress-resources/_index.md b/content/includes/nic/configuration/ingress-resources/_index.md new file mode 100644 index 000000000..8a2b5b282 --- /dev/null +++ b/content/includes/nic/configuration/ingress-resources/_index.md @@ -0,0 +1,8 @@ +--- +title: Ingress resources +description: +weight: 200 +menu: + docs: + parent: NGINX Ingress Controller +--- diff --git a/content/includes/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md b/content/includes/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md new file mode 100644 index 000000000..ecc12435f --- /dev/null +++ b/content/includes/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md @@ -0,0 +1,225 @@ +--- +docs: DOCS-591 +doctypes: +- '' +title: Advanced configuration with Annotations +toc: true +weight: 200 +--- + +This topic explains how to enable advanced features in F5 NGINX Ingress Controller with Annotations. + +The Ingress resource can use basic NGINX features such as host or path-based routing and TLS termination. Advanced features like rewriting the request URI or inserting additional response headers can be enabled with Annotations. + +Outside of advanced features, Annotations are necessary for customizing NGINX behavior such as setting the value of connection timeouts. + +Customization is also available through the [ConfigMap]({{< relref "/configuration/global-configuration/configmap-resource.md" >}}) resources: Annotations take priority. + +## Using Annotations + +This example uses Annotations to customize the configuration for an Ingress resource: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: cafe-ingress-with-annotations + annotations: + nginx.org/proxy-connect-timeout: "30s" + nginx.org/proxy-read-timeout: "20s" + nginx.org/client-max-body-size: "4m" + nginx.org/server-snippets: | + location / { + return 302 /coffee; + } +spec: + rules: + - host: cafe.example.com + http: + paths: + - path: /tea + pathType: Prefix + backend: + service: + name: tea-svc + port: + number: 80 + - path: /coffee + pathType: Prefix + backend: + service: + name: coffee-svc + port: + number: 80 +``` + +## Validation + +NGINX Ingress Controller validates the annotations of Ingress resources. If an Ingress is invalid, NGINX Ingress Controller will reject it: the Ingress will continue to exist in the cluster, but NGINX Ingress Controller will ignore it. + +You can check if NGINX Ingress Controller successfully applied the configuration for an Ingress resource. For the example `cafe-ingress-with-annotations` Ingress, you can run: + +```shell +kubectl describe ing cafe-ingress-with-annotations +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal AddedOrUpdated 3s nginx-ingress-controller Configuration for default/cafe-ingress-with-annotations was added or updated +``` + +The events section includes a Normal event with the AddedOrUpdated reason that informs us that the configuration was successfully applied. + +If you create an invalid Ingress, NGINX Ingress Controller will reject it and emit a Rejected event. For example, if you create an Ingress `cafe-ingress-with-annotations`, with an annotation `nginx.org/redirect-to-https` set to `yes please` instead of `true`, you will get: + +```shell +kubectl describe ing cafe-ingress-with-annotations +``` +```text +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 13s nginx-ingress-controller annotations.nginx.org/redirect-to-https: Invalid value: "yes please": must be a boolean +``` + +Note how the events section includes a Warning event with the Rejected reason. + +{{< note >}} If you make an existing Ingress invalid, NGINX Ingress Controller will reject it and remove the corresponding configuration from NGINX. {{< /note >}} + +The `nginx.com/jwt-token` Ingress annotation has limited validation. + +## Summary of Annotations + +The table below summarizes the available annotations. + +{{< note >}} Annotations that start with `nginx.com` are only supported with NGINX Plus. {{< /note >}} + +### General customization + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/proxy-connect-timeout* | *proxy-connect-timeout* | Sets the value of the [proxy_connect_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) and [grpc_connect_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_connect_timeout) directive. | *60s* | | +| *nginx.org/proxy-read-timeout* | *proxy-read-timeout* | Sets the value of the [proxy_read_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout) and [grpc_read_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_read_timeout) directive. | *60s* | | +| *nginx.org/proxy-send-timeout* | *proxy-send-timeout* | Sets the value of the [proxy_send_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout) and [grpc_send_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_send_timeout) directive. | *60s* | | +| *nginx.org/client-max-body-size* | *client-max-body-size* | Sets the value of the [client_max_body_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size) directive. | *1m* | | +| *nginx.org/proxy-buffering* | *proxy-buffering* | Enables or disables [buffering of responses](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) from the proxied server. | *True* | | +| *nginx.org/proxy-buffers* | *proxy-buffers* | Sets the value of the [proxy_buffers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directive. | Depends on the platform. | | +| *nginx.org/proxy-buffer-size* | *proxy-buffer-size* | Sets the value of the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) and [grpc_buffer_size](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_buffer_size) directives. | Depends on the platform. | | +| *nginx.org/proxy-max-temp-file-size* | *proxy-max-temp-file-size* | Sets the value of the [proxy_max_temp_file_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size) directive. | *1024m* | | +| *nginx.org/server-tokens* | *server-tokens* | Enables or disables the [server_tokens](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens) directive. Additionally, with the NGINX Plus, you can specify a custom string value, including the empty string value, which disables the emission of the “Server” field. | *True* | | +| *nginx.org/path-regex* | N/A | Enables regular expression modifiers for Ingress path parameter. This translates to the NGINX [location](https://nginx.org/en/docs/http/ngx_http_core_module.html#location) directive. You can specify one of these values: "case_sensitive", "case_insensitive", or "exact". The annotation is applied to the entire Ingress resource and its paths. While using Master and Minion Ingresses i.e. Mergeable Ingresses, this annotation can be specified on Minion types. The `path-regex` annotation specified on Master is ignored, and has no effect on paths defined on Minions. | N/A | [path-regex](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/path-regex) | +{{}} + +### Request URI/Header Manipulation + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/proxy-hide-headers* | *proxy-hide-headers* | Sets the value of one or more [proxy_hide_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header) directives. Example: ``"nginx.org/proxy-hide-headers": "header-a,header-b"* | N/A | | +| *nginx.org/proxy-pass-headers* | *proxy-pass-headers* | Sets the value of one or more [proxy_pass_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_header) directives. Example: ``"nginx.org/proxy-pass-headers": "header-a,header-b"* | N/A | | +| *nginx.org/rewrites* | N/A | Configures URI rewriting using [proxy_pass](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass) directive. | N/A | [rewrites](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/rewrites) | +|*nginx.org/proxy-set-headers* | N/A | Enables customization of proxy headers and values using the [proxy_set_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header) directive. Example: ``"nginx.org/proxy-set-headers": "header-a: valueA,header-b: valueB,header-c: valueC"`` | N/A | [Proxy Set Headers](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/proxy-set-headers). | +{{}} + +### Auth and SSL/TLS + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/redirect-to-https* | *redirect-to-https* | Sets the 301 redirect rule based on the value of the ``http_x_forwarded_proto* header on the server block to force incoming traffic to be over HTTPS. Useful when terminating SSL in a load balancer in front of NGINX Ingress Controller — see [115](https://github.com/nginx/kubernetes-ingress/issues/115) | *False* | | +| *ingress.kubernetes.io/ssl-redirect* | *ssl-redirect* | Sets an unconditional 301 redirect rule for all incoming HTTP traffic to force incoming traffic over HTTPS. | *True* | | +| *nginx.org/hsts* | *hsts* | Enables [HTTP Strict Transport Security (HSTS)](https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/)\ : the HSTS header is added to the responses from backends. The ``preload* directive is included in the header. | *False* | | +| *nginx.org/hsts-max-age* | *hsts-max-age* | Sets the value of the ``max-age* directive of the HSTS header. | *2592000* (1 month) | | +| *nginx.org/hsts-include-subdomains* | *hsts-include-subdomains* | Adds the ``includeSubDomains* directive to the HSTS header. | *False* | | +| *nginx.org/hsts-behind-proxy* | *hsts-behind-proxy* | Enables HSTS based on the value of the ``http_x_forwarded_proto* request header. Should only be used when TLS termination is configured in a load balancer (proxy) in front of NGINX Ingress Controller. Note: to control redirection from HTTP to HTTPS configure the ``nginx.org/redirect-to-https* annotation. | *False* | | +| *nginx.org/basic-auth-secret* | N/A | Specifies a Secret resource with a user list for HTTP Basic authentication. | N/A | | +| *nginx.org/basic-auth-realm* | N/A | Specifies a realm. | N/A | | +| *nginx.com/jwt-key* | N/A | Specifies a Secret resource with keys for validating JSON Web Tokens (JWTs). | N/A | [Support for JSON Web Tokens (JWTs)](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/jwt). | +| *nginx.com/jwt-realm* | N/A | Specifies a realm. | N/A | [Support for JSON Web Tokens (JWTs)](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/jwt). | +| *nginx.com/jwt-token* | N/A | Specifies a variable that contains a JSON Web Token. | By default, a JWT is expected in the ``Authorization* header as a Bearer Token. | [Support for JSON Web Tokens (JWTs)](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/jwt). | +| *nginx.com/jwt-login-url* | N/A | Specifies a URL to which a client is redirected in case of an invalid or missing JWT. | N/A | [Support for JSON Web Tokens (JWTs)](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/jwt). | +{{}} + +### Listeners + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/listen-ports* | N/A | Configures HTTP ports that NGINX will listen on. | *[80]* | | +| *nginx.org/listen-ports-ssl* | N/A | Configures HTTPS ports that NGINX will listen on. | *[443]* | | +{{}} + +### Backend services (Upstreams) + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/lb-method* | *lb-method* | Sets the [load balancing method](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#choosing-a-load-balancing-method). To use the round-robin method, specify ``"round_robin"``. | *"random two least_conn"* | | +| *nginx.org/ssl-services* | N/A | Enables HTTPS or gRPC over SSL when connecting to the endpoints of services. | N/A | [ssl-services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/ssl-services) | +| *nginx.org/grpc-services* | N/A | Enables gRPC for services. Note: requires HTTP/2 (see ``http2* ConfigMap key); only works for Ingresses with TLS termination enabled. | N/A | [grpc-services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/grpc-services) | +| *nginx.org/websocket-services* | N/A | Enables WebSocket for services. | N/A | [websocket](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/websocket) | +| *nginx.org/max-fails* | *max-fails* | Sets the value of the [max_fails](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_fails) parameter of the ``server* directive. | *1* | | +| *nginx.org/max-conns* | N\A | Sets the value of the [max_conns](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_conns) parameter of the ``server* directive. | *0* | | +| *nginx.org/upstream-zone-size* | *upstream-zone-size* | Sets the size of the shared memory [zone](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#zone) for upstreams. For NGINX, the special value 0 disables the shared memory zones. For NGINX Plus, shared memory zones are required and cannot be disabled. The special value 0 will be ignored. | *256K* | | +| *nginx.org/fail-timeout* | *fail-timeout* | Sets the value of the [fail_timeout](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#fail_timeout) parameter of the ``server* directive. | *10s* | | +| *nginx.com/sticky-cookie-services* | N/A | Configures session persistence. | N/A | [session-persistence](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/session-persistence) | +| *nginx.org/keepalive* | *keepalive* | Sets the value of the [keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) directive. Note that ``proxy_set_header Connection "";* is added to the generated configuration when the value > 0. | *0* | | +| *nginx.com/health-checks* | N/A | Enables active health checks. | *False* | [health-checks](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/health-checks) | +| *nginx.com/health-checks-mandatory* | N/A | Configures active health checks as mandatory. | *False* | [health-checks](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/health-checks) | +| *nginx.com/health-checks-mandatory-queue* | N/A | When active health checks are mandatory, creates a queue where incoming requests are temporarily stored while NGINX Plus is checking the health of the endpoints after a configuration reload. | *0* | [health-checks](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/health-checks) | +| *nginx.com/slow-start* | N/A | Sets the upstream server [slow-start period](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#server-slow-start). By default, slow-start is activated after a server becomes [available](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/#passive-health-checks) or [healthy](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/#active-health-checks). To enable slow-start for newly-added servers, configure [mandatory active health checks](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/health-checks). | *"0s"* | | +| *nginx.org/use-cluster-ip* | N/A | Enables using the Cluster IP and port of the service instead of the default behavior of using the IP and port of the pods. When this field is enabled, the fields that configure NGINX behavior related to multiple upstream servers (like ``lb-method* and ``next-upstream``) will have no effect, as NGINX Ingress Controller will configure NGINX with only one upstream server that will match the service Cluster IP. | *False* | | +{{}} + +### Rate limiting + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/limit-req-rate* | N/A | Enables request-rate-limiting for this ingress by creating a [limit_req_zone](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone) and matching [limit_req](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req) for each location. All servers/locations of one ingress share the same zone. Must have unit r/s or r/m. | N/A | 200r/s | +| *nginx.org/limit-req-key* | N/A | The key to which the rate limit is applied. Can contain text, variables, or a combination of them. Variables must be surrounded by ${}. | ${binary_remote_addr} | ${binary_remote_addr} | +| *nginx.org/limit-req-zone-size* | N/A | Configures the size of the created [limit_req_zone](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone). | 10m | 20m | +| *nginx.org/limit-req-delay* | N/A | Configures the delay-parameter of the [limit_req](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req) directive. | 0 | 100 | +| *nginx.org/limit-req-no-delay* | N/A | Configures the nodelay-parameter of the [limit_req](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req) directive. | false | true | +| *nginx.org/limit-req-burst* | N/A | Configures the burst-parameter of the [limit_req](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req) directive. | N/A | 100 | +| *nginx.org/limit-req-dry-run* | N/A | Enables the dry run mode. In this mode, the rate limit is not actually applied, but the number of excessive requests is accounted as usual in the shared memory zone. | false | true | +| *nginx.org/limit-req-log-level* | N/A | Sets the desired logging level for cases when the server refuses to process requests due to rate exceeding, or delays request processing. Allowed values are info, notice, warn or error. | error | info | +| *nginx.org/limit-req-reject-code* | N/A | Sets the status code to return in response to rejected requests. Must fall into the range 400..599. | 429 | 503 | +| *nginx.org/limit-req-scale* | N/A | Enables a constant rate-limit by dividing the configured rate by the number of nginx-ingress pods currently serving traffic. This adjustment ensures that the rate-limit remains consistent, even as the number of nginx-pods fluctuates due to autoscaling. Note: This will not work properly if requests from a client are not evenly distributed accross all ingress pods (sticky sessions, long lived TCP-Connections with many requests etc.). In such cases using [zone-sync]({{< ref "/configuration/global-configuration/configmap-resource.md#zone-sync" >}}) instead would give better results. Enabling `zone-sync` will suppress this setting. | false | true | +{{}} + +### Snippets and custom templates + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/location-snippets* | *location-snippets* | Sets a custom snippet in location context. | N/A | | +| *nginx.org/server-snippets* | *server-snippets* | Sets a custom snippet in server context. | N/A | | +{{}} + +### App Protect WAF {#app-protect} + +{{< note >}} The App Protect annotations only work if the App Protect WAF module is [installed]({{< relref "installation/integrations/app-protect-waf/installation.md" >}}). {{< /note >}} + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *appprotect.f5.com/app-protect-policy* | N/A | The name of the App Protect Policy for the Ingress Resource. Format is ``namespace/name``. If no namespace is specified, the same namespace of the Ingress Resource is used. If not specified but ``appprotect.f5.com/app-protect-enable* is true, a default policy id applied. If the referenced policy resource does not exist, or policy is invalid, this annotation will be ignored, and the default policy will be applied. | N/A | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | +| *appprotect.f5.com/app-protect-enable* | N/A | Enable App Protect for the Ingress Resource. | *False* | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | +| *appprotect.f5.com/app-protect-security-log-enable* | N/A | Enable the [security log](/nginx-app-protect/troubleshooting/#app-protect-logging-overview) for App Protect. | *False* | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | +| *appprotect.f5.com/app-protect-security-log* | N/A | The App Protect log configuration for the Ingress Resource. Format is ``namespace/name``. If no namespace is specified, the same namespace as the Ingress Resource is used. If not specified the default is used which is: filter: ``illegal``, format: ``default``. Multiple configurations can be specified in a comma separated list. Both log configurations and destinations list (see below) must be of equal length. Configs and destinations are paired by the list indices. | N/A | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | +| *appprotect.f5.com/app-protect-security-log-destination* | N/A | The destination of the security log. For more information check the [DESTINATION argument](/nginx-app-protect/troubleshooting/#app-protect-logging-overview). Multiple destinations can be specified in a comma-separated list. Both log configurations and destinations list (see above) must be of equal length. Configs and destinations are paired by the list indices. | *syslog:server=localhost:514* | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | +{{}} + +### App Protect DoS + +{{< note >}} The App Protect DoS annotations only work if the App Protect DoS module is [installed]({{< relref "installation/integrations/app-protect-dos/installation.md" >}}). {{< /note >}} + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *appprotectdos.f5.com/app-protect-dos-resource* | N/A | Enable App Protect DoS for the Ingress Resource by specifying a [DosProtectedResource]({{< relref "installation/integrations/app-protect-dos/dos-protected.md" >}}). | N/A | [app-protect-dos](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-dos) | +{{}} diff --git a/content/includes/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md b/content/includes/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md new file mode 100644 index 000000000..642d041ae --- /dev/null +++ b/content/includes/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md @@ -0,0 +1,128 @@ +--- +docs: DOCS-592 +doctypes: +- '' +title: Advanced configuration with Snippets +toc: true +weight: 400 +--- + +Snippets allow you to insert raw NGINX config into different contexts of the NGINX configurations that F5 NGINX Ingress Controller generates. + +Snippets are intended for advanced NGINX users who need more control over the generated NGINX configuration, and can be used in cases where Annotations and ConfigMap entries would not apply. + + + +## Disadvantages of snippets + +Snippets are configured [using Annotations]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#snippets-and-custom-templates" >}}), but are disabled by default due to their complexity. They are also available through the [ConfigMap]({{< relref "/configuration/global-configuration/configmap-resource.md#snippets-and-custom-templates" >}}) resource. + +To use snippets, set the [`enable-snippets`]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-enable-snippets" >}}) command-line argument. + +Snippets have the following disadvantages: + +- *Complexity*. Snippets require you to: + - Understand NGINX configuration primitives and implement a correct NGINX configuration. + - Understand how NGINX Ingress Controller generates NGINX configuration so that a snippet doesn't interfere with the other features in the configuration. +- *Decreased robustness*. An incorrect snippet can invalidate NGINX configuration, causing reload failures. Until the snippet is fixed, it will prevent any new configuration updates, including updates for the other Ingress resources. +- *Security implications*. Snippets give access to NGINX configuration primitives, which are not validated by NGINX Ingress Controller. For example, a snippet can configure NGINX to serve the TLS certificates and keys used for TLS termination for Ingress resources. + +{{< note >}} If the NGINX configuration includes an invalid snippet, NGINX will continue to operate with the last valid configuration. {{< /note >}} + +## Using snippets + +The example below shows how to use snippets to customize the NGINX configuration template using annotations. + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: cafe-ingress-with-snippets + annotations: + nginx.org/server-snippets: | + location / { + return 302 /coffee; + } + nginx.org/location-snippets: | + add_header my-test-header test-value; +spec: + rules: + - host: cafe.example.com + http: + paths: + - path: /tea + pathType: Prefix + backend: + service: + name: tea-svc + port: + number: 80 + - path: /coffee + pathType: Prefix + backend: + service: + name: coffee-svc + port: + number: 80 +``` + +These snippets generate the following NGINX configuration: + +{{< note >}} The example is shortened for conciseness. {{< /note >}} + +```nginx +server { + listen 80; + + + location / { + return 302 /coffee; + } + + + location /coffee { + proxy_http_version 1.1; + + + add_header my-test-header test-value; + ... + proxy_pass http://default-cafe-ingress-with-snippets-cafe.example.com-coffee-svc-80; + } + + location /tea { + proxy_http_version 1.1; + + add_header my-test-header test-value; + ... + proxy_pass http://default-cafe-ingress-with-snippets-cafe.example.com-tea-svc-80; + } +} +``` + +## Troubleshooting + +If a snippet includes an invalid NGINX configuration, NGINX Ingress Controller will fail to reload NGINX. The error will be reported in NGINX Ingress Controller logs and an event with the error will be associated with the Ingress resource: + +An example of an error from the logs: + +```text +[emerg] 31#31: unknown directive "badd_header" in /etc/nginx/conf.d/default-cafe-ingress-with-snippets.conf:54 +Event(v1.ObjectReference{Kind:"Ingress", Namespace:"default", Name:"cafe-ingress-with-snippets", UID:"f9656dc9-63a6-41dd-a499-525b0e0309bb", APIVersion:"extensions/v1beta1", ResourceVersion:"2322030", FieldPath:""}): type: 'Warning' reason: 'AddedOrUpdatedWithError' Configuration for default/cafe-ingress-with-snippets was added or updated, but not applied: Error reloading NGINX for default/cafe-ingress-with-snippets: nginx reload failed: Command /usr/sbin/nginx -s reload stdout: "" +stderr: "nginx: [emerg] unknown directive \"badd_header\" in /etc/nginx/conf.d/default-cafe-ingress-with-snippets.conf:54\n" +finished with error: exit status 1 +``` + +An example of an event with an error (you can view events associated with the Ingress by running `kubectl describe -n nginx-ingress ingress nginx-ingress`): + +```text +Events: +Type Reason Age From Message +---- ------ ---- ---- ------- +Normal AddedOrUpdated 52m (x3 over 61m) nginx-ingress-controller Configuration for default/cafe-ingress-with-snippets was added or updated +finished with error: exit status 1 +Warning AddedOrUpdatedWithError 54s (x2 over 89s) nginx-ingress-controller Configuration for default/cafe-ingress-with-snippets was added or updated, but not applied: Error reloading NGINX for default/cafe-ingress-with-snippets: nginx reload failed: Command /usr/sbin/nginx -s reload stdout: "" +stderr: "nginx: [emerg] unknown directive \"badd_header\" in /etc/nginx/conf.d/default-cafe-ingress-with-snippets.conf:54\n" +finished with error: exit status 1 +``` + +Additionally, to help troubleshoot snippets, a number of Prometheus metrics show the stats about failed reloads – `controller_nginx_last_reload_status` and `controller_nginx_reload_errors_total`. diff --git a/content/includes/nic/configuration/ingress-resources/basic-configuration.md b/content/includes/nic/configuration/ingress-resources/basic-configuration.md new file mode 100644 index 000000000..bd2c10d26 --- /dev/null +++ b/content/includes/nic/configuration/ingress-resources/basic-configuration.md @@ -0,0 +1,107 @@ +--- +title: Basic configuration +weight: 100 +toc: true +type: reference +product: NIC +docs: DOCS-593 +--- + +This document shows a basic Ingress resource definition for F5 NGINX Ingress Controller. It load balances requests for two services as part of a single application. + +{{< ghcode `https://raw.githubusercontent.com/nginx/kubernetes-ingress/refs/heads/main/examples/ingress-resources/complete-example/cafe-ingress.yaml`>}} + +Here is a breakdown of what this Ingress resource definition means: + +- The `metadata.name` field defines the name of the resource `cafe‑ingress`. +- The `spec.tls` field sets up SSL/TLS termination: + - The `hosts` field applies the certificate and key to the `cafe.example.com` host. + - The `secretName` references a secret resource by its name, `cafe‑secret`. The secret must belong to the same namespace as the Ingress, of the type ``kubernetes.io/tls`` and contain keys named ``tls.crt`` and ``tls.key`` that hold the certificate and private key as described [here](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls>). If the secret doesn't exist or is invalid, NGINX will break any attempt to establish a TLS connection to the hosts to which the secret is applied. +- The `spec.rules` field defines a host with the domain name `cafe.example.com`. +- The `paths` field defines two path‑based rules: + - The rule with the path `/tea` instructs NGINX to distribute the requests with the `/tea` URI among the pods of the *tea* service, which is deployed with the name `tea‑svc` in the cluster. + - The rule with the path `/coffee` instructs NGINX to distribute the requests with the `/coffee` URI among the pods of the *coffee* service, which is deployed with the name `coffee‑svc` in the cluster. + - Both rules instruct NGINX to distribute the requests to `port 80` of the corresponding service (the `servicePort` field). + +To learn more about the Ingress resource, view [the official Kubernetes documentation for Ingress resources](https://kubernetes.io/docs/concepts/services-networking/ingress/). + +{{< note >}} For complete instructions on deploying Ingress and Secret resources in the cluster, see the [complete example](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/complete-example) in the GitHub repository. {{< /note >}} + +--- + +## New features available in Kubernetes 1.18 + +Starting from Kubernetes 1.18, you can use the following new features: + +- The host field supports wildcard domain names, such as `*.example.com`. +- The path supports different matching rules with the new field `pathType`, which takes the following values: `Prefix` for prefix-based matching, `Exact` for exact matching and `ImplementationSpecific`, which is the default type and is the same as `Prefix`. For example: + + ```yaml {hl_lines=[2, 7, 14]} + - path: /tea + pathType: Prefix + backend: + serviceName: tea-svc + servicePort: 80 + - path: /tea/green + pathType: Exact + backend: + service: + name: tea-svc + port: + number: 80 + - path: /coffee + pathType: ImplementationSpecific + backend: + service: + name: coffee-svc + port: + number: 80 + ``` + +- The `ingressClassName` field is now supported: + + ```yaml {hl_lines=[6]} + apiVersion: networking.k8s.io/v1 + kind: Ingress + metadata: + name: cafe-ingress + spec: + ingressClassName: nginx + tls: + - hosts: + - cafe.example.com + secretName: cafe-secret + rules: + - host: cafe.example.com + . . . + ``` + + When using this field you need to create the `IngressClass` resource with the corresponding `name`. View the [Create common resources]({{< relref "installation/installing-nic/installation-with-manifests.md#create-common-resources" >}}) section of the Installation with Manifests topic for more information. + +--- + +## Restrictions + +NGINX Ingress Controller imposes the following restrictions on Ingress resources: + +- When defining an Ingress resource, the `host` field is required. +- The `host` value needs to be unique among all Ingress and VirtualServer resources unless the Ingress resource is a [mergeable minion]({{< ref "/nic/configuration/ingress-resources/cross-namespace-configuration.md" >}}). View the [Host and Listener collisions]({{< ref "/nic/configuration/host-and-listener-collisions.md" >}}) topic for more information. +- The `path` field in `spec.rules[].http.paths[]` is required for `Exact` and `Prefix` `pathTypes`. +- The ImplementationSpecific `pathType` is treated as equivalent to `Prefix` `pathType`, with the exception that when this `pathType` is configured, the `path` field in `spec.rules[].http.paths[]` is not mandatory. `path` defaults to `/` if not set but the `pathType` is set to ImplementationSpecific. + +--- + +## Advanced configuration + +NGINX Ingress Controller generates NGINX configuration by executing a template file that contains the configuration options. + +These options are set with the Ingress resource and NGINX Ingress Controller's ConfigMap. + +The Ingress resource only allows you to use basic NGINX features: host and path-based routing and TLS termination. + +For advanced configuration, you have two options: + +- [Annotations]({{< ref "/configuration/ingress-resources/advanced-configuration-with-annotations.md" >}}) can be used to rewrite request URIs or inserting additional response headers. +- [Snippets]({{< ref "/configuration/ingress-resources/advanced-configuration-with-snippets" >}}) can be used to insert raw NGINX configuration, changing generated files. + +Additionally, it is possible to customize the template, described in the [Custom templates]({{< relref "/configuration/global-configuration/custom-templates.md" >}}) topic. diff --git a/content/includes/nic/configuration/ingress-resources/cross-namespace-configuration.md b/content/includes/nic/configuration/ingress-resources/cross-namespace-configuration.md new file mode 100644 index 000000000..3e92b6403 --- /dev/null +++ b/content/includes/nic/configuration/ingress-resources/cross-namespace-configuration.md @@ -0,0 +1,14 @@ +--- +docs: DOCS-594 +doctypes: +- '' +title: Cross-namespace configuration +toc: true +weight: 500 +--- + +This topic explains how to spread Ingress configuration across different namespaces in F5 NGINX Ingress Controller. + +You can spread the Ingress configuration for a common host across multiple Ingress resources using Mergeable Ingress resources. Such resources can belong to the *same* or *different* namespaces. This enables easier management when using a large number of paths. See the [Mergeable Ingress Resources](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/mergeable-ingress-types) example in our GitHub repo. + +As an alternative to Mergeable Ingress resources, you can use [VirtualServer and VirtualServerRoute resources](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/) for cross-namespace configuration. See the [Cross-Namespace Configuration](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/cross-namespace-configuration) example in our GitHub repo. diff --git a/content/includes/nic/configuration/ingress-resources/custom-annotations.md b/content/includes/nic/configuration/ingress-resources/custom-annotations.md new file mode 100644 index 000000000..8bbd136b0 --- /dev/null +++ b/content/includes/nic/configuration/ingress-resources/custom-annotations.md @@ -0,0 +1,146 @@ +--- +docs: DOCS-595 +doctypes: +- '' +title: Custom annotations +toc: true +weight: 300 +--- + +This topic explains how you can use custom annotations with F5 NGINX Ingress Controller. + +Custom annotations enable you to quickly extend the Ingress resource to support many advanced features of NGINX, such as rate limiting, caching, etc. + +## Overview + +NGINX Ingress Controller supports a number of annotations for the Ingress resource that fine tune NGINX configuration (for example, connection timeouts) or enable additional features (for example, JWT validation). The complete list of annotations is available [here](/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations). + +The annotations are provided only for the most common features and use cases, meaning that not every NGINX feature or a customization option is available through the annotations. Additionally, even if an annotation is available, it might not give you the satisfactory level of control of a particular NGINX feature. + +Custom annotations allow you to add an annotation for an NGINX feature that is not available as a regular annotation. In contrast with regular annotations, to add a custom annotation, you don't need to modify the Ingress Controller source code -- just modify the template. Additionally, with a custom annotation, you get full control of how the feature is implemented in NGINX configuration. + +## Usage + +The Ingress Controller generates NGINX configuration for Ingress resources by executing a configuration template. See [NGINX template](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/internal/configs/version1/nginx.ingress.tmpl) or [NGINX Plus template](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/internal/configs/version1/nginx-plus.ingress.tmpl). + +To support custom annotations, the template has access to the information about the Ingress resource - its *name*, *namespace* and *annotations*. It is possible to check if a particular annotation present in the Ingress resource and conditionally insert NGINX configuration directives at multiple NGINX contexts - `http`, `server`, `location` or `upstream`. Additionally, you can get the value that is set to the annotation. + +Consider the following excerpt from the template, which was extended to support two custom annotations: + +```jinja2 +# This is the configuration for {{$.Ingress.Name}}/{{$.Ingress.Namespace}} + +{{if index $.Ingress.Annotations "custom.nginx.org/feature-a"}} +# Insert config for feature A if the annotation is set +{{end}} + +{{with $value := index $.Ingress.Annotations "custom.nginx.org/feature-b"}} +# Insert config for feature B if the annotation is set +# Print the value assigned to the annotation: {{$value}} +{{end}} +``` + +Consider the following Ingress resource and note how we set two annotations: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: example-ingress + namespace: production + annotations: + custom.nginx.org/feature-a: "on" + custom.nginx.org/feature-b: "512" +spec: + rules: + - host: example.com + . . . +``` + +Assuming that the Ingress Controller is using that customized template, it will generate a config for the Ingress resource that will include the following part, generated by our template excerpt: + +```yaml +# This is the configuration for cafe-ingress/default + +# Insert config for feature A if the annotation is set + + + +# Insert config for feature B if the annotation is set +# Print the value assigned to the annotation: 512 +``` + +**Notes**: + +- You can customize the template to insert you custom annotations via [custom templates](/nginx-ingress-controller/configuration/global-configuration/custom-templates). +- The Ingress Controller uses go templates to generate NGINX config. You can read more information about go templates [here](https://golang.org/pkg/text/template/). + +See the examples in the next section that use custom annotations to configure NGINX features. + +### Custom Annotations with Mergeable Ingress Resources + +A Mergeable Ingress resource consists of multiple Ingress resources - one master and one or several minions. Read more about Mergeable Ingress resources [here](/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration). + +If you'd like to use custom annotations with Mergeable Ingress resources, please keep the following in mind: + +- Custom annotations can be used in the Master and in Minions. For Minions, you can access them in the template only when processing locations. + + If you access `$.Ingress` anywhere in the Ingress template, you will get the master Ingress resource. To access a Minion Ingress resource, use `$location.MinionIngress`. However, it is only available when processing locations: + + ```jinja2 + {{range $location := $server.Locations}} + location {{$location.Path}} { + {{with $location.MinionIngress}} + # location for minion {{$location.MinionIngress.Namespace}}/{{$location.MinionIngress.Name}} + {{end}} + } {{end}} + ``` + + **Note**: `$location.MinionIngress` is a pointer. When a regular Ingress resource is processed in the template, the value of the pointer is `nil`. Thus, it is important that you check that `$location.MinionIngress` is not `nil` as in the example above using the `with` action. + +- Minions do not inherent custom annotations of the master. + +### Helper Functions + +Helper functions can be used in the Ingress template to parse the values of custom annotations. + +{{% table %}} +| Function | Input Arguments | Return Arguments | Description | +| ---| ---| ---| --- | +| ``split`` | ``s, sep string`` | ``[]string`` | Splits the string ``s`` into a slice of strings separated by the ``sep``. | +| ``trim`` | ``s string`` | ``string`` | Trims the trailing and leading whitespace from the string ``s``. | +| ``contains`` | ``s, substr string`` | ``bool`` | Tests whether the string ``substr`` is a substring of the string ``s``. | +| ``hasPrefix`` | ``s, prefix string`` | ``bool`` | Tests whether the string ``prefix`` is a prefix of the string ``s``. | +| ``hasSuffix`` | ``s, suffix string`` | ``bool`` | Tests whether the string ``suffix`` is a suffix of the string ``s``. | +| ``toLower`` | ``s string`` | ``bool`` | Converts all letters in the string ``s`` to their lower case. | +| ``toUpper`` | ``s string`` | ``bool`` | Converts all letters in the string ``s`` to their upper case. | +| ``replaceAll`` | ``s, old, new string`` | ``string`` | Replaces all occurrences of ``old`` with ``new`` in the string ``s``. | +{{% /table %}} + +Consider the following custom annotation `custom.nginx.org/allowed-ips`, which expects a comma-separated list of IP addresses: + +```yaml +annotations: + custom.nginx.org/allowed-ips: "192.168.1.3, 10.0.0.13" +``` + + The helper functions can parse the value of the `custom.nginx.org/allowed-ips` annotation, so that in the template you can use each IP address separately. Consider the following template excerpt: + +```jinja2 +{{range $ip := split (index $.Ingress.Annotations "custom.nginx.org/allowed-ips") ","}} + allow {{trim $ip}}; +{{end}} +deny all; +``` + +The template excerpt will generate the following configuration: + +``` +allow 192.168.1.3; +allow 10.0.0.13; +deny all; +``` + +## Example + +See the [custom annotations example](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/examples/ingress-resources/custom-annotations). diff --git a/content/includes/nic/configuration/policy-resource.md b/content/includes/nic/configuration/policy-resource.md new file mode 100644 index 000000000..6ea2c8121 --- /dev/null +++ b/content/includes/nic/configuration/policy-resource.md @@ -0,0 +1,945 @@ +--- +title: Policy resources +weight: 500 +toc: true +type: how-to +product: NIC +docs: DOCS-596 +--- + +The Policy resource allows you to configure features like access control and rate-limiting, which you can add to your [VirtualServer and VirtualServerRoute resources](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/). + +The resource is implemented as a [Custom Resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). + +This document is the reference documentation for the Policy resource. An example of a Policy for access control is available in our [GitHub repository](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/examples/custom-resources/access-control). + +## Prerequisites + +Policies work together with [VirtualServer and VirtualServerRoute resources](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/), which you need to create separately. + +## Policy Specification + +Below is an example of a policy that allows access for clients from the subnet `10.0.0.0/8` and denies access for any other clients: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: Policy +metadata: + name: allow-localhost +spec: + accessControl: + allow: + - 10.0.0.0/8 +``` + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``accessControl`` | The access control policy based on the client IP address. | [accessControl](#accesscontrol) | No | +|``ingressClassName`` | Specifies which instance of NGINX Ingress Controller must handle the Policy resource. | ``string`` | No | +|``rateLimit`` | The rate limit policy controls the rate of processing requests per a defined key. | [rateLimit](#ratelimit) | No | +|``apiKey`` | The API Key policy configures NGINX to authorize requests which provide a valid API Key in a specified header or query param. | [apiKey](#apikey) | No | +|``basicAuth`` | The basic auth policy configures NGINX to authenticate client requests using HTTP Basic authentication credentials. | [basicAuth](#basicauth) | No | +|``jwt`` | The JWT policy configures NGINX Plus to authenticate client requests using JSON Web Tokens. | [jwt](#jwt) | No | +|``ingressMTLS`` | The IngressMTLS policy configures client certificate verification. | [ingressMTLS](#ingressmtls) | No | +|``egressMTLS`` | The EgressMTLS policy configures upstreams authentication and certificate verification. | [egressMTLS](#egressmtls) | No | +|``waf`` | The WAF policy configures WAF and log configuration policies for [NGINX AppProtect]({{< relref "installation/integrations/app-protect-waf/configuration.md" >}}) | [WAF](#waf) | No | +{{% /table %}} + +\* A policy must include exactly one policy. + +### AccessControl + +The access control policy configures NGINX to deny or allow requests from clients with the specified IP addresses/subnets. + +For example, the following policy allows access for clients from the subnet `10.0.0.0/8` and denies access for any other clients: + +```yaml +accessControl: + allow: + - 10.0.0.0/8 +``` + +In contrast, the policy below does the opposite: denies access for clients from `10.0.0.0/8` and allows access for any other clients: + +```yaml +accessControl: + deny: + - 10.0.0.0/8 +``` +{{< note >}} + +The feature is implemented using the NGINX [ngx_http_access_module](http://nginx.org/en/docs/http/ngx_http_access_module.html). NGINX Ingress Controller access control policy supports either allow or deny rules, but not both (as the module does). + +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``allow`` | Allows access for the specified networks or addresses. For example, ``192.168.1.1`` or ``10.1.1.0/16``. | ``[]string`` | No | +|``deny`` | Denies access for the specified networks or addresses. For example, ``192.168.1.1`` or ``10.1.1.0/16``. | ``[]string`` | No | \* an accessControl must include either `allow` or `deny`. | +{{% /table %}} + +#### AccessControl Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple access control policies. For example, here we reference two policies, each with configured allow lists: + +```yaml +policies: +- name: allow-policy-one +- name: allow-policy-two +``` + +When you reference more than one access control policy, NGINX Ingress Controller will merge the contents into a single allow list or a single deny list. + +Referencing both allow and deny policies, as shown in the example below, is not supported. If both allow and deny lists are referenced, NGINX Ingress Controller uses just the allow list policies. + +```yaml +policies: +- name: deny-policy +- name: allow-policy-one +- name: allow-policy-two +``` + +### RateLimit + +The rate limit policy configures NGINX to limit the processing rate of requests. + +For example, the following policy will limit all subsequent requests coming from a single IP address once a rate of 10 requests per second is exceeded: + +```yaml +rateLimit: + rate: 10r/s + zoneSize: 10M + key: ${binary_remote_addr} +``` +{{< note >}} + +The feature is implemented using the NGINX [ngx_http_limit_req_module](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html). + +{{< /note >}} + +{{< note >}} + +When the [Zone Sync feature]({{< ref "/configuration/global-configuration/configmap-resource.md#zone-sync" >}}) is enabled with NGINX Plus, the rate limiting zone will be synchronized across all replicas in the cluster. This means all replicas are aware of the requests that have been rate limited by other replicas in the cluster. + +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``rate`` | The rate of requests permitted. The rate is specified in requests per second (r/s) or requests per minute (r/m). | ``string`` | Yes | +|``key`` | The key to which the rate limit is applied. Can contain text, variables, or a combination of them. Variables must be surrounded by ``${}``. For example: ``${binary_remote_addr}``. Accepted variables are ``$binary_remote_addr``, ``$request_uri``,``$request_method``, ``$url``, ``$http_``, ``$args``, ``$arg_``, ``$cookie_``, ``$jwt_claim_``. | ``string`` | Yes | +|``zoneSize`` | Size of the shared memory zone. Only positive values are allowed. Allowed suffixes are ``k`` or ``m``, if none are present ``k`` is assumed. | ``string`` | Yes | +|``delay`` | The delay parameter specifies a limit at which excessive requests become delayed. If not set all excessive requests are delayed. | ``int`` | No | +|``noDelay`` | Disables the delaying of excessive requests while requests are being limited. Overrides ``delay`` if both are set. | ``bool`` | No | +|``burst`` | Excessive requests are delayed until their number exceeds the ``burst`` size, in which case the request is terminated with an error. | ``int`` | No | +|``dryRun`` | Enables the dry run mode. In this mode, the rate limit is not actually applied, but the number of excessive requests is accounted as usual in the shared memory zone. | ``bool`` | No | +|``logLevel`` | Sets the desired logging level for cases when the server refuses to process requests due to rate exceeding, or delays request processing. Allowed values are ``info``, ``notice``, ``warn`` or ``error``. Default is ``error``. | ``string`` | No | +|``rejectCode`` | Sets the status code to return in response to rejected requests. Must fall into the range ``400..599``. Default is ``503``. | ``int`` | No | +|``scale`` | Enables a constant rate-limit by dividing the configured rate by the number of nginx-ingress pods currently serving traffic. This adjustment ensures that the rate-limit remains consistent, even as the number of nginx-pods fluctuates due to autoscaling. **This will not work properly if requests from a client are not evenly distributed across all ingress pods** (Such as with sticky sessions, long lived TCP Connections with many requests, and so forth). In such cases using [zone-sync]({{< ref "/configuration/global-configuration/configmap-resource.md#zone-sync" >}}) instead would give better results. Enabling `zone-sync` will suppress this setting. | ``bool`` | No | +|``condition`` | Add a condition to a rate-limit policy. | [ratelimit.condition](#ratelimitcondition) | No | +{{% /table %}} + +{{< note >}} + +For each policy referenced in a VirtualServer and/or its VirtualServerRoutes, NGINX Ingress Controller will generate a single rate limiting zone defined by the [`limit_req_zone`](http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone) directive. If two VirtualServer resources reference the same policy, NGINX Ingress Controller will generate two different rate limiting zones, one zone per VirtualServer. + +{{< /note >}} + +#### RateLimit Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple rate limit policies. For example, here we reference two policies: + +```yaml +policies: +- name: rate-limit-policy-one +- name: rate-limit-policy-two +``` + +When you reference more than one rate limit policy, NGINX Ingress Controller will configure NGINX to use all referenced rate limits. When you define multiple policies, each additional policy inherits the `dryRun`, `logLevel`, and `rejectCode` parameters from the first policy referenced (`rate-limit-policy-one`, in the example above). + +### RateLimit.Condition + +RateLimit.Condition defines a condition for a rate limit policy. For example: + +```yaml +condition: + jwt: + claim: user_details.level + match: premium + default: true +``` + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``jwt`` | defines a JWT condition to rate limit against. | [ratelimit.condition.jwt](#ratelimitconditionjwt) | No | +|``default`` | sets the rate limit in this policy to be the default if no conditions are met. In a group of policies with the same JWT condition, only one policy can be the default. | ``bool`` | No | +{{% /table %}} + +The rate limit policy with condition is designed to be used in combination with one or more rate limit policies. For example, multiple rate limit policies with [RateLimit.Condition.JWT](#ratelimitconditionjwt) can be used to apply different tiers of rate limit based on the value of a JWT claim. For a practical example of tiered rate limiting by the value of a JWT claim, see the example in our [GitHub repository](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/rate-limit-tiered-jwt-claim/README.md). + +### RateLimit.Condition.JWT +{{< note >}} + +This feature is only available with NGINX Plus. + +{{< /note >}} + +RateLimit.Condition.JWT defines a condition for a rate limit by JWT claim. For example, here we define a condition for a rate limit policy that only applies to requests with a JWT claim `user_details.level` with a value `premium`: + +```yaml +jwt: + claim: user_details.level + match: premium +``` + +The rate limit policy will only apply to requests that contain a JWT with the specified claim and value. For example, the following JWT payload will match the JWT condition: + +```json +{ + "user_details": { + "level": "premium" + }, + "sub": "client1" +} +``` + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``claim`` | Claim is the JWT claim to be rate limit by. Nested claims should be separated by ".". | ``string`` | Yes | +|``match`` | the value of the claim to match against. | ``string`` | Yes | +{{% /table %}} + +### APIKey + +The API Key auth policy configures NGINX to authorize client requests based on the presence of a valid API Key in a header or query param specified in the policy. + +{{< note >}} + +The feature is implemented using NGINX [ngx_http_auth_request_module](http://nginx.org/en/docs/http/ngx_http_auth_request_module.html) and [NGINX JavaScript (NJS)](https://nginx.org/en/docs/njs/). + +{{< /note >}} + +The policies' API keys are securely stored using SHA-256 hashing. When a client sends an API Key, it is hashed by NJS and then compared to the hashed API Key in the NGINX config. + +If the hashed keys match, the NGINX JavaScript (NJS) subrequest issues a 204 No Content response to the `auth_request` directive, indicating successful authorization. Conversely, if no API Key is provided in the specified header or query parameter, a 401 Unauthorized response is returned. Similarly, if an invalid key is presented in the expected header or query parameter, a 403 Forbidden response is issued, denying access. + +It is possible to use the [errorPages](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#errorpage) property on a route, to change the default behaviour of 401 or 403 errors. + +At least one header or query param is required. + +The policy below configures NGINX Ingress Controller to require the API Key `password` in the header "my-header". + +```yaml +apiKey: + suppliedIn: + header: + - "my-header" + clientSecret: api-key-secret +``` + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: api-key-secret +type: nginx.org/apikey +data: + client1: cGFzc3dvcmQ= # password +``` + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``suppliedIn`` | `header` or `query`. | | Yes | +|``suppliedIn.header`` | An array of headers that the API Key may appear in. | ``string[]`` | No | +|``suppliedIn.query`` | An array of query params that the API Key may appear in. | ``string[]`` | No | +|``clientSecret`` | The name of the Kubernetes secret that stores the API Key(s). It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/apikey``, and the API Key(s) must be stored in a key: val format where each key is a unique clientID and each value is a unique base64 encoded API Key | ``string`` | Yes | +{{% /table %}} + +{{}}An APIKey Policy must include a minimum of one of the `suppliedIn.header` or `suppliedIn.query` parameters. Both can also be supplied.{{}} + +#### APIKey Merging Behavior + +A VirtualServer or VirtualServerRoute can be associated with only one API Key policy per route or subroute. However, it is possible to replace an API Key policy from a higher-level with a different policy defined on a more specific route. + +For example, a VirtualServer can implement different API Key policies at various levels. In the configuration below, the server-wide api-key-policy-server applies to /backend1 for authorization, as it lacks a more specific policy. Meanwhile, /backend2 uses the api-key-policy-route defined at the route level. + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: VirtualServer +metadata: + name: virtual-server +spec: + host: virtual-server.example.com + policies: + - name: api-key-policy-server + upstreams: + - name: backend2 + service: backend2-svc + port: 80 + - name: backend1 + service: backend1-svc + port: 80 + routes: + - path: /backend1 + action: + pass: backend1 + - path: /backend2 + action: + pass: backend2 + policies: + - name: api-key-policy-route +``` + +### BasicAuth + +The basic auth policy configures NGINX to authenticate client requests using the [HTTP Basic authentication scheme](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). + +For example, the following policy will reject all requests that do not include a valid username/password combination in the HTTP header `Authentication` + +```yaml +basicAuth: + secret: htpasswd-secret + realm: "My API" +``` +{{< note >}} +The feature is implemented using the NGINX [ngx_http_auth_basic_module](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html). +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``secret`` | The name of the Kubernetes secret that stores the Htpasswd configuration. It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/htpasswd``, and the config must be stored in the secret under the key ``htpasswd``, otherwise the secret will be rejected as invalid. | ``string`` | Yes | +|``realm`` | The realm for the basic authentication. | ``string`` | No | +{{% /table %}} + +#### BasicAuth Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple basic auth policies. However, only one can be applied. Every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: basic-auth-policy-one +- name: basic-auth-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `basic-auth-policy-one`, and ignores `basic-auth-policy-two`. + +### JWT Using Local Kubernetes Secret + +{{< note >}} + +This feature is only available with NGINX Plus. + +{{< /note >}} + +The JWT policy configures NGINX Plus to authenticate client requests using JSON Web Tokens. + +The following example policy will reject all requests that do not include a valid JWT in the HTTP header `token`: + +```yaml +jwt: + secret: jwk-secret + realm: "My API" + token: $http_token +``` + +You can pass the JWT claims and JOSE headers to the upstream servers. For example: + +```yaml +action: + proxy: + upstream: webapp + requestHeaders: + set: + - name: user + value: ${jwt_claim_user} + - name: alg + value: ${jwt_header_alg} +``` + +We use the `requestHeaders` of the [Action.Proxy](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#actionproxy) to set the values of two headers that NGINX will pass to the upstream servers. + +The value of the `${jwt_claim_user}` variable is the `user` claim of a JWT. For other claims, use `${jwt_claim_name}`, where `name` is the name of the claim. Note that nested claims and claims that include a period (`.`) are not supported. Similarly, use `${jwt_header_name}` where `name` is the name of a header. In our example, we use the `alg` header. + +{{< note >}} + +This feature is implemented using the NGINX Plus [ngx_http_auth_jwt_module](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html). + +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``secret`` | The name of the Kubernetes secret that stores the JWK. It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/jwk``, and the JWK must be stored in the secret under the key ``jwk``, otherwise the secret will be rejected as invalid. | ``string`` | Yes | +|``realm`` | The realm of the JWT. | ``string`` | Yes | +|``token`` | The token specifies a variable that contains the JSON Web Token. By default the JWT is passed in the ``Authorization`` header as a Bearer Token. JWT may be also passed as a cookie or a part of a query string, for example: ``$cookie_auth_token``. Accepted variables are ``$http_``, ``$arg_``, ``$cookie_``. | ``string`` | No | +{{% /table %}} + +#### JWT Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple JWT policies. However, only one can be applied: every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: jwt-policy-one +- name: jwt-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `jwt-policy-one`, and ignores `jwt-policy-two`. + +### JWT Using JWKS From Remote Location + +{{< note >}} + +This feature is only available with NGINX Plus. + +{{< /note >}} + +The JWT policy configures NGINX Plus to authenticate client requests using JSON Web Tokens, allowing import of the keys (JWKS) for JWT policy by means of a URL (for a remote server or an identity provider) as a result they don't have to be copied and updated to the IC pod. + +The following example policy will reject all requests that do not include a valid JWT in the HTTP header fetched from the identity provider: + +```yaml +jwt: + realm: MyProductAPI + token: $http_token + jwksURI: + keyCache: 1h +``` + +{{< note >}} + +This feature is implemented using the NGINX Plus directive [auth_jwt_key_request](http://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html#auth_jwt_key_request) under [ngx_http_auth_jwt_module](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html). + +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``jwksURI`` | The remote URI where the request will be sent to retrieve JSON Web Key set| ``string`` | Yes | +|``keyCache`` | Enables in-memory caching of JWKS (JSON Web Key Sets) that are obtained from the ``jwksURI`` and sets a valid time for expiration. | ``string`` | Yes | +|``realm`` | The realm of the JWT. | ``string`` | Yes | +|``token`` | The token specifies a variable that contains the JSON Web Token. By default the JWT is passed in the ``Authorization`` header as a Bearer Token. JWT may be also passed as a cookie or a part of a query string, for example: ``$cookie_auth_token``. Accepted variables are ``$http_``, ``$arg_``, ``$cookie_``. | ``string`` | No | +{{% /table %}} + +{{< note >}} + +Content caching is enabled by default for each JWT policy with a default time of 12 hours. + +This is done to ensure to improve resiliency by allowing the JWKS (JSON Web Key Set) to be retrieved from the cache even when it has expired. + +{{< /note >}} + +#### JWT Merging Behavior + +This behavior is similar to using a local Kubernetes secret where a VirtualServer/VirtualServerRoute can reference multiple JWT policies. However, only one can be applied: every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: jwt-policy-one +- name: jwt-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `jwt-policy-one`, and ignores `jwt-policy-two`. + +### IngressMTLS + +The IngressMTLS policy configures client certificate verification. + +For example, the following policy will verify a client certificate using the CA certificate specified in the `ingress-mtls-secret`: + +```yaml +ingressMTLS: + clientCertSecret: ingress-mtls-secret + verifyClient: "on" + verifyDepth: 1 +``` + +Below is an example of the `ingress-mtls-secret` using the secret type `nginx.org/ca` + +```yaml +kind: Secret +metadata: + name: ingress-mtls-secret +apiVersion: v1 +type: nginx.org/ca +data: + ca.crt: +``` + +A VirtualServer that references an IngressMTLS policy must: + +- Enable [TLS termination](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#virtualservertls). +- Reference the policy in the VirtualServer [`spec`](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#virtualserver-specification). It is not allowed to reference an IngressMTLS policy in a [`route`](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#virtualserverroute) or in a VirtualServerRoute [`subroute`](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#virtualserverroutesubroute). + +If the conditions above are not met, NGINX will send the `500` status code to clients. + +You can pass the client certificate details, including the certificate, to the upstream servers. For example: + +```yaml +action: + proxy: + upstream: webapp + requestHeaders: + set: + - name: client-cert-subj-dn + value: ${ssl_client_s_dn} # subject DN + - name: client-cert + value: ${ssl_client_escaped_cert} # client certificate in the PEM format (urlencoded) +``` + +We use the `requestHeaders` of the [Action.Proxy](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#actionproxy) to set the values of the two headers that NGINX will pass to the upstream servers. See the [list of embedded variables](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#variables) that are supported by the `ngx_http_ssl_module`, which you can use to pass the client certificate details. + +{{< note >}} + + The feature is implemented using the NGINX [ngx_http_ssl_module](https://nginx.org/en/docs/http/ngx_http_ssl_module.html). + + {{< /note >}} + +#### Using a Certificate Revocation List + +The IngressMTLS policy supports configuring at CRL for your policy. +This can be done in one of two ways. + +{{< note >}} + + Only one of these configurations options can be used at a time. + +{{< /note >}} + +1. Adding the `ca.crl` field to the `nginx.org/ca` secret type, which accepts a base64 encoded certificate revocation list (crl). + Example YAML: + +```yaml +kind: Secret +metadata: + name: ingress-mtls-secret +apiVersion: v1 +type: nginx.org/ca +data: + ca.crt: + ca.crl: +``` + +2. Adding the `crlFileName` field to your IngressMTLS policy spec with the name of the CRL file. + +{{< note >}} + +This configuration option should only be used when using a CRL that is larger than 1MiB. + +Otherwise we recommend using the `nginx.org/ca` secret type for managing your CRL. + +{{< /note >}} + +Example YAML: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: Policy +metadata: + name: ingress-mtls-policy +spec: +ingressMTLS: + clientCertSecret: ingress-mtls-secret + crlFileName: webapp.crl + verifyClient: "on" + verifyDepth: 1 +``` + +**IMPORTANT NOTE** +When configuring a CRL with the `ingressMTLS.crlFileName` field, there is additional context to keep in mind: + +1. NGINX Ingress Controller will expect the CRL, in this case `webapp.crl`, will be in `/etc/nginx/secrets`. A volume mount will need to be added to NGINX Ingress Controller deployment add your CRL to `/etc/nginx/secrets` +2. When updating the content of your CRL (e.g a new certificate has been revoked), NGINX will need to be reloaded to pick up the latest changes. Depending on your environment this may require updating the name of your CRL and applying this update to your `ingress-mtls.yaml` policy to ensure NGINX picks up the latest CRL. + +Please refer to the Kubernetes documentation on [volumes](https://kubernetes.io/docs/concepts/storage/volumes/) to find the best implementation for your environment. + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``clientCertSecret`` | The name of the Kubernetes secret that stores the CA certificate. It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/ca``, and the certificate must be stored in the secret under the key ``ca.crt``, otherwise the secret will be rejected as invalid. | ``string`` | Yes | +|``verifyClient`` | Verification for the client. Possible values are ``"on"``, ``"off"``, ``"optional"``, ``"optional_no_ca"``. The default is ``"on"``. | ``string`` | No | +|``verifyDepth`` | Sets the verification depth in the client certificates chain. The default is ``1``. | ``int`` | No | +|``crlFileName`` | The file name of the Certificate Revocation List. NGINX Ingress Controller will look for this file in `/etc/nginx/secrets` | ``string`` | No | +{{% /table %}} + +#### IngressMTLS Merging Behavior + +A VirtualServer can reference only a single IngressMTLS policy. Every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: ingress-mtls-policy-one +- name: ingress-mtls-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `ingress-mtls-policy-one`, and ignores `ingress-mtls-policy-two`. + +### EgressMTLS + +The EgressMTLS policy configures upstreams authentication and certificate verification. + +For example, the following policy will use `egress-mtls-secret` to authenticate with the upstream application and `egress-trusted-ca-secret` to verify the certificate of the application: + +```yaml +egressMTLS: + tlsSecret: egress-mtls-secret + trustedCertSecret: egress-trusted-ca-secret + verifyServer: on + verifyDepth: 2 +``` + +{{< note >}} + +The feature is implemented using the NGINX [ngx_http_proxy_module](https://nginx.org/en/docs/http/ngx_http_proxy_module.html). + +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``tlsSecret`` | The name of the Kubernetes secret that stores the TLS certificate and key. It must be in the same namespace as the Policy resource. The secret must be of the type ``kubernetes.io/tls``, the certificate must be stored in the secret under the key ``tls.crt``, and the key must be stored under the key ``tls.key``, otherwise the secret will be rejected as invalid. | ``string`` | No | +|``trustedCertSecret`` | The name of the Kubernetes secret that stores the CA certificate. It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/ca``, and the certificate must be stored in the secret under the key ``ca.crt``, otherwise the secret will be rejected as invalid. | ``string`` | No | +|``verifyServer`` | Enables verification of the upstream HTTPS server certificate. | ``bool`` | No | +|``verifyDepth`` | Sets the verification depth in the proxied HTTPS server certificates chain. The default is ``1``. | ``int`` | No | +|``sessionReuse`` | Enables reuse of SSL sessions to the upstreams. The default is ``true``. | ``bool`` | No | +|``serverName`` | Enables passing of the server name through ``Server Name Indication`` extension. | ``bool`` | No | +|``sslName`` | Allows overriding the server name used to verify the certificate of the upstream HTTPS server. | ``string`` | No | +|``ciphers`` | Specifies the enabled ciphers for requests to an upstream HTTPS server. The default is ``DEFAULT``. | ``string`` | No | +|``protocols`` | Specifies the protocols for requests to an upstream HTTPS server. The default is ``TLSv1 TLSv1.1 TLSv1.2``. | ``string`` | No | > Note: the value of ``ciphers`` and ``protocols`` is not validated by NGINX Ingress Controller. As a result, NGINX can fail to reload the configuration. To ensure that the configuration for a VirtualServer/VirtualServerRoute that references the policy was successfully applied, check its [status](/nginx-ingress-controller/configuration/global-configuration/reporting-resources-status/#virtualserver-and-virtualserverroute-resources). The validation will be added in the future releases. | +{{% /table %}} + +#### EgressMTLS Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple EgressMTLS policies. However, only one can be applied. Every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: egress-mtls-policy-one +- name: egress-mtls-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `egress-mtls-policy-one`, and ignores `egress-mtls-policy-two`. + +### OIDC + +{{< tip >}} + +This feature is disabled by default. To enable it, set the [enable-oidc]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-enable-oidc" >}}) command-line argument of NGINX Ingress Controller. + +{{< /tip >}} + +The OIDC policy configures NGINX Plus as a relying party for OpenID Connect authentication. + +For example, the following policy will use the client ID `nginx-plus` and the client secret `oidc-secret` to authenticate with the OpenID Connect provider `https://idp.example.com`: + +```yaml +spec: + oidc: + clientID: nginx-plus + clientSecret: oidc-secret + authEndpoint: https://idp.example.com/openid-connect/auth + tokenEndpoint: https://idp.example.com/openid-connect/token + jwksURI: https://idp.example.com/openid-connect/certs + endSessionEndpoint: https://idp.example.com/openid-connect/logout + postLogoutRedirectURI: / + accessTokenEnable: true +``` + +NGINX Plus will pass the ID of an authenticated user to the backend in the HTTP header `username`. + +{{< note >}} + +The feature is implemented using the [reference implementation](https://github.com/nginxinc/nginx-openid-connect/) of NGINX Plus as a relying party for OpenID Connect authentication. + +{{< /note >}} + +#### Prerequisites + +In order to use OIDC, you need to enable [zone synchronization](https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync/). If you don't set up zone synchronization, NGINX Plus will fail to reload. +You also need to configure a resolver, which NGINX Plus will use to resolve the IDP authorization endpoint. You can find an example configuration [in our GitHub repository](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/examples/custom-resources/oidc#step-7---configure-nginx-plus-zone-synchronization-and-resolver). + +{{< warning >}} + +The configuration in the example doesn't enable TLS and the synchronization between the replica happens in clear text. This could lead to the exposure of tokens. + +{{< /warning >}} + +#### Limitations + +The OIDC policy defines a few internal locations that can't be customized: `/_jwks_uri`, `/_token`, `/_refresh`, `/_id_token_validation`, `/logout`. In addition, as explained below, `/_codexch` is the default value for redirect URI, and `/_logout` is the default value for post logout redirect URI, both of which can be customized. Specifying one of these locations as a route in the VirtualServer or VirtualServerRoute will result in a collision and NGINX Plus will fail to reload. + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``clientID`` | The client ID provided by your OpenID Connect provider. | ``string`` | Yes | +|``clientSecret`` | The name of the Kubernetes secret that stores the client secret provided by your OpenID Connect provider. It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/oidc``, and the secret under the key ``client-secret``, otherwise the secret will be rejected as invalid. | ``string`` | Yes | +|``authEndpoint`` | URL for the authorization endpoint provided by your OpenID Connect provider. | ``string`` | Yes | +|``authExtraArgs`` | A list of extra URL arguments to pass to the authorization endpoint provided by your OpenID Connect provider. Arguments must be URL encoded, multiple arguments may be included in the list, for example ``[ arg1=value1, arg2=value2 ]`` | ``string[]`` | No | +|``tokenEndpoint`` | URL for the token endpoint provided by your OpenID Connect provider. | ``string`` | Yes | +|``endSessionEndpoint`` | URL provided by your OpenID Connect provider to request the end user be logged out. | ``string`` | No | +|``jwksURI`` | URL for the JSON Web Key Set (JWK) document provided by your OpenID Connect provider. | ``string`` | Yes | +|``scope`` | List of OpenID Connect scopes. The scope ``openid`` always needs to be present and others can be added concatenating them with a ``+`` sign, for example ``openid+profile+email``, ``openid+email+userDefinedScope``. The default is ``openid``. | ``string`` | No | +|``redirectURI`` | Allows overriding the default redirect URI. The default is ``/_codexch``. | ``string`` | No | +|``postLogoutRedirectURI`` | URI to redirect to after the logout has been performed. Requires ``endSessionEndpoint``. The default is ``/_logout``. | ``string`` | No | +|``zoneSyncLeeway`` | Specifies the maximum timeout in milliseconds for synchronizing ID/access tokens and shared values between Ingress Controller pods. The default is ``200``. | ``int`` | No | +|``accessTokenEnable`` | Option of whether Bearer token is used to authorize NGINX to access protected backend. | ``boolean`` | No | +{{% /table %}} + +{{< note >}} + +Only one OIDC policy can be referenced in a VirtualServer and its VirtualServerRoutes. However, the same policy can still be applied to different routes in the VirtualServer and VirtualServerRoutes. + +{{< /note >}} + +#### OIDC Merging Behavior + +A VirtualServer/VirtualServerRoute can reference only a single OIDC policy. Every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: oidc-policy-one +- name: oidc-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `oidc-policy-one`, and ignores `oidc-policy-two`. + +## Using Policy + +You can use the usual `kubectl` commands to work with Policy resources, just as with built-in Kubernetes resources. + +For example, the following command creates a Policy resource defined in `access-control-policy-allow.yaml` with the name `webapp-policy`: + +```shell +kubectl apply -f access-control-policy-allow.yaml + +policy.k8s.nginx.org/webapp-policy configured +``` + +You can get the resource by running: + +```shell +kubectl get policy webapp-policy + +NAME AGE +webapp-policy 27m +``` + +For `kubectl get` and similar commands, you can also use the short name `pol` instead of `policy`. + +### WAF {#waf} + +{{< note >}} The feature is implemented using the NGINX Plus [NGINX App Protect WAF Module](https://docs.nginx.com/nginx-app-protect/configuration/). {{< /note >}} + +The WAF policy configures NGINX Plus to secure client requests using App Protect WAF policies. + +For example, the following policy will enable the referenced APPolicy. You can configure multiple APLogConfs with log destinations: + +```yaml +waf: + enable: true + apPolicy: "default/dataguard-alarm" + securityLogs: + - enable: true + apLogConf: "default/logconf" + logDest: "syslog:server=syslog-svc.default:514" + - enable: true + apLogConf: "default/logconf" + logDest: "syslog:server=syslog-svc-secondary.default:514" +``` + +{{< note >}} The field `waf.securityLog` is deprecated and will be removed in future releases.It will be ignored if `waf.securityLogs` is populated. {{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables NGINX App Protect WAF. | ``bool`` | Yes | +|``apPolicy`` | The [App Protect WAF policy]({{< relref "installation/integrations/app-protect-waf/configuration.md#waf-policies" >}}) of the WAF. Accepts an optional namespace. Mutually exclusive with ``apBundle``. | ``string`` | No | +|``apBundle`` | The [App Protect WAF policy bundle]({{< relref "installation/integrations/app-protect-waf/configuration.md#waf-bundles" >}}). Mutually exclusive with ``apPolicy``. | ``string`` | No | +|``securityLog.enable`` | Enables security log. | ``bool`` | No | +|``securityLog.apLogConf`` | The [App Protect WAF log conf]({{< relref "installation/integrations/app-protect-waf/configuration.md#waf-logs" >}}) resource. Accepts an optional namespace. Only works with ``apPolicy``. | ``string`` | No | +|``securityLog.apLogBundle`` | The [App Protect WAF log bundle]({{< relref "installation/integrations/app-protect-waf/configuration.md#waf-bundles" >}}) resource. Only works with ``apBundle``. | ``string`` | No | +|``securityLog.logDest`` | The log destination for the security log. Only accepted variables are ``syslog:server=:``, ``stderr``, ````. | ``string`` | No | +{{% /table %}} + +#### WAF Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple WAF policies. However, only one can be applied. Every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: waf-policy-one +- name: waf-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `waf-policy-one`, and ignores `waf-policy-two`. + +### Applying Policies + +You can apply policies to both VirtualServer and VirtualServerRoute resources. For example: + +- VirtualServer: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: VirtualServer + metadata: + name: cafe + namespace: cafe + spec: + host: cafe.example.com + tls: + secret: cafe-secret + policies: # spec policies + - name: policy1 + upstreams: + - name: coffee + service: coffee-svc + port: 80 + routes: + - path: /tea + policies: # route policies + - name: policy2 + namespace: cafe + route: tea/tea + - path: /coffee + policies: # route policies + - name: policy3 + namespace: cafe + action: + pass: coffee + ``` + + For VirtualServer, you can apply a policy: + * to all routes (spec policies) + * to a specific route (route policies) + + Route policies of the *same type* override spec policies. In the example above, if the type of the policies `policy-1` and `policy-3` is `accessControl`, then for requests to `cafe.example.com/coffee`, NGINX will apply `policy-3`. + + The overriding is enforced by NGINX: the spec policies are implemented in the `server` context of the config, and the route policies are implemented in the `location` context. As a result, the route policies of the same type win. + +- VirtualServerRoute, which is referenced by the VirtualServer above: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: VirtualServerRoute + metadata: + name: tea + namespace: tea + spec: + host: cafe.example.com + upstreams: + - name: tea + service: tea-svc + port: 80 + subroutes: # subroute policies + - path: /tea + policies: + - name: policy4 + namespace: tea + action: + pass: tea + ``` + + For VirtualServerRoute, you can apply a policy to a subroute (subroute policies). + + Subroute policies of the same type override spec policies. In the example above, if the type of the policies `policy-1` (in the VirtualServer) and `policy-4` is `accessControl`, then for requests to `cafe.example.com/tea`, NGINX will apply `policy-4`. As with the VirtualServer, the overriding is enforced by NGINX. + + Subroute policies always override route policies no matter the types. For example, the policy `policy-2` in the VirtualServer route will be ignored for the subroute `/tea`, because the subroute has its own policies (in our case, only one policy `policy4`). If the subroute didn't have any policies, then the `policy-2` would be applied. This overriding is enforced by NGINX Ingress Controller -- the `location` context for the subroute will either have route policies or subroute policies, but not both. + +### Invalid Policies + +NGINX will treat a policy as invalid if one of the following conditions is met: + +- The policy doesn't pass the [comprehensive validation](#comprehensive-validation). +- The policy isn't present in the cluster. +- The policy doesn't meet its type-specific requirements. For example, an `ingressMTLS` policy requires TLS termination enabled in the VirtualServer. + +For an invalid policy, NGINX returns the 500 status code for client requests with the following rules: + +- If a policy is referenced in a VirtualServer `route` or a VirtualServerRoute `subroute`, then NGINX will return the 500 status code for requests for the URIs of that route/subroute. +- If a policy is referenced in the VirtualServer `spec`, then NGINX will return the 500 status code for requests for all URIs of that VirtualServer. + +If a policy is invalid, the VirtualServer or VirtualServerRoute will have the [status](/nginx-ingress-controller/configuration/global-configuration/reporting-resources-status#virtualserver-and-virtualserverroute-resources) with the state `Warning` and the message explaining why the policy wasn't considered invalid. + +### Validation + +Two types of validation are available for the Policy resource: + +- *Structural validation*, done by `kubectl` and the Kubernetes API server. +- *Comprehensive validation*, done by NGINX Ingress Controller. + +#### Structural Validation + +The custom resource definition for the Policy includes a structural OpenAPI schema, which describes the type of every field of the resource. + +If you try to create (or update) a resource that violates the structural schema -- for example, the resource uses a string value instead of an array of strings in the `allow` field -- `kubectl` and the Kubernetes API server will reject the resource. + +- Example of `kubectl` validation: + + ```shell + kubectl apply -f access-control-policy-allow.yaml + + error: error validating "access-control-policy-allow.yaml": error validating data: ValidationError(Policy.spec.accessControl.allow): invalid type for org.nginx.k8s.v1.Policy.spec.accessControl.allow: got "string", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false + ``` + +- Example of Kubernetes API server validation: + + ```shell + kubectl apply -f access-control-policy-allow.yaml --validate=false + + The Policy "webapp-policy" is invalid: spec.accessControl.allow: Invalid value: "string": spec.accessControl.allow in body must be of type array: "string" + ``` + +If a resource passes structural validation, then NGINX Ingress Controller's comprehensive validation runs. + +#### Comprehensive Validation + +NGINX Ingress Controller validates the fields of a Policy resource. If a resource is invalid, NGINX Ingress Controller will reject it. The resource will continue to exist in the cluster, but NGINX Ingress Controller will ignore it. + +You can use `kubectl` to check whether or not NGINX Ingress Controller successfully applied a Policy configuration. For our example `webapp-policy` Policy, we can run: + +```shell +kubectl describe pol webapp-policy + +. . . +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal AddedOrUpdated 11s nginx-ingress-controller Policy default/webapp-policy was added or updated +``` + +Note how the events section includes a Normal event with the AddedOrUpdated reason that informs us that the configuration was successfully applied. + +If you create an invalid resource, NGINX Ingress Controller will reject it and emit a Rejected event. For example, if you create a Policy `webapp-policy` with an invalid IP `10.0.0.` in the `allow` field, you will get: + +```shell +kubectl describe policy webapp-policy + +. . . +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 7s nginx-ingress-controller Policy default/webapp-policy is invalid and was rejected: spec.accessControl.allow[0]: Invalid value: "10.0.0.": must be a CIDR or IP +``` + +Note how the events section includes a Warning event with the Rejected reason. + +Additionally, this information is also available in the `status` field of the Policy resource. Note the Status section of the Policy: + +```shell +kubectl describe pol webapp-policy + +. . . +Status: + Message: Policy default/webapp-policy is invalid and was rejected: spec.accessControl.allow[0]: Invalid value: "10.0.0.": must be a CIDR or IP + Reason: Rejected + State: Invalid +``` + +**Note**: If you make an existing resource invalid, NGINX Ingress Controller will reject it. diff --git a/content/includes/nic/configuration/security.md b/content/includes/nic/configuration/security.md new file mode 100644 index 000000000..ae2f9648f --- /dev/null +++ b/content/includes/nic/configuration/security.md @@ -0,0 +1,102 @@ +--- +docs: DOCS-597 +doctypes: +- '' +title: Security recommendations +toc: true +weight: 300 +--- + +F5 NGINX Ingress Controller follows Kubernetes best practices: this page outlines configuration specific to NGINX Ingress Controller you may require, including links to examples in the [GitHub repository](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples). + +For general guidance, we recommend the official Kubernetes documentation for [Securing a Cluster](https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/). + +## Kubernetes recommendations + +### RBAC and Service Accounts + +Kubernetes uses [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) to control the resources and operations available to different types of users. + +NGINX Ingress Controller requires RBAC to configure a [ServiceUser](https://kubernetes.io/docs/concepts/security/service-accounts/#default-service-accounts), and provides least privilege access in its standard deployment configurations: + +- [Helm](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/deployments/rbac/rbac.yaml) +- [Manifests](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/deployments/rbac/rbac.yaml) + +By default, the ServiceAccount has access to all Secret resources in the cluster. + +### Secrets + +[Secrets](https://kubernetes.io/docs/concepts/configuration/secret/) are required by NGINX Ingress Controller for certificates and privacy keys, which Kubernetes stores unencrypted by default. We recommend following the [Kubernetes documentation](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/) to store these Secrets using at-rest encryption. + + +## NGINX Ingress Controller recommendations + +### Configure root filesystem as read-only + +{{< caution >}} + This feature is compatible with [NGINX App Protect WAFv5](https://docs.nginx.com/nginx-app-protect-waf/v5/). It is not compatible with [NGINX App Protect WAFv4](https://docs.nginx.com/nginx-app-protect-waf/v4/) or [NGINX App Protect DoS](https://docs.nginx.com/nginx-app-protect-dos/). +{{< /caution >}} + +NGINX Ingress Controller is designed to be resilient against attacks in various ways, such as running the service as non-root to avoid changes to files. We recommend setting filesystems on all containers to read-only, this includes `nginx-ingress-controller`, though also includes `waf-enforcer` and `waf-config-mgr` when NGINX App Protect WAFv5 is in use. This is so that the attack surface is further reduced by limiting changes to binaries and libraries. + +This is not enabled by default, but can be enabled with **Helm** using the [**readOnlyRootFilesystem**]({{< relref "installation/installing-nic/installation-with-helm.md#configuration" >}}) argument in security contexts on all containers: `nginx-ingress-controller`, `waf_enforcer` and `waf_config_mgr`. + +For **Manifests**, uncomment the following sections of the deployment and add sections for `waf-enforcer` and `waf-config-mgr` containers: + +- `readOnlyRootFilesystem: true` +- The entire **volumeMounts** section +- The entire **initContainers** section + +The block below shows the code you will look for: + +```yaml +# volumes: +# - name: nginx-etc +# emptyDir: {} +# - name: nginx-cache +# emptyDir: {} +# - name: nginx-lib +# emptyDir: {} +# - name: nginx-log +# emptyDir: {} +. +. +. +# readOnlyRootFilesystem: true +. +. +. +# volumeMounts: +# - mountPath: /etc/nginx +# name: nginx-etc +# - mountPath: /var/cache/nginx +# name: nginx-cache +# - mountPath: /var/lib/nginx +# name: nginx-lib +# - mountPath: /var/log/nginx +# name: nginx-log +``` + +- Add **waf-enforcer** and **waf-config-mgr** container sections +- Add `readOnlyFilesystem: true` in both containers security context sections + +### Prometheus + +If Prometheus metrics are [enabled]({{< relref "/logging-and-monitoring/prometheus.md" >}}), we recommend [using HTTPS]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-prometheus-tls-secret" >}}). + +### Snippets + +Snippets allow raw NGINX configuration to be inserted into resources. They are intended for advanced NGINX users and could create vulnerabilities in a cluster if misused. + +Snippets are disabled by default. To use snippets, set the [**enable-snippets**]({{< relref"configuration/global-configuration/command-line-arguments.md#cmdoption-enable-snippets" >}}) command-line argument. + +{{< caution >}} + Snippets are **always** enabled for ConfigMap. +{{< /caution >}} + +For more information, read the following: + +- [Advanced configuration using Snippets]({{< relref "/configuration/ingress-resources/advanced-configuration-with-snippets.md" >}}) +- [Using Snippets with VirtualServer/VirtualServerRoute]({{< ref "/nic/configuration/virtualserver-and-virtualserverroute-resources.md#using-snippets" >}}) +- [Using Snippets with TransportServer]({{< relref "/configuration/transportserver-resource.md#using-snippets" >}}) +- [ConfigMap snippets and custom templates]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#snippets-and-custom-templates" >}}) diff --git a/content/includes/nic/configuration/transportserver-resource.md b/content/includes/nic/configuration/transportserver-resource.md new file mode 100644 index 000000000..b725ea2e6 --- /dev/null +++ b/content/includes/nic/configuration/transportserver-resource.md @@ -0,0 +1,416 @@ +--- +title: TransportServer resources +toc: true +weight: 600 +docs: DOCS-598 +--- + +This document is reference material for the TransportServer resource used by F5 NGINX Ingress Controller. + +The TransportServer resource allows you to configure TCP, UDP, and TLS Passthrough load balancing. The resource is implemented as a [Custom Resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). + +The GitHub repository has [examples of the resources](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources) for specific use cases. + +## Prerequisites + +- For TCP and UDP, the TransportServer resource must be used in conjunction with the [GlobalConfiguration resource]({{< ref "/nic/configuration/global-configuration/globalconfiguration-resource.md" >}}), which must be created separately. +- For TLS Passthrough, make sure to enable the [`-enable-tls-passthrough`]({{< ref "/nic/configuration/global-configuration/command-line-arguments#cmdoption-enable-tls-passthrough.md" >}}) command-line argument of NGINX Ingress Controller. + +## TransportServer Specification + +The TransportServer resource defines load balancing configuration for TCP, UDP, or TLS Passthrough traffic. Below are a few examples: + +- TCP load balancing: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: TransportServer + metadata: + name: dns-tcp + spec: + host: dns.example.com + listener: + name: dns-tcp + protocol: TCP + tls: + secret: cafe-secret + upstreams: + - name: dns-app + service: dns-service + port: 5353 + action: + pass: dns-app + ``` + +- UDP load balancing: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: TransportServer + metadata: + name: dns-udp + spec: + listener: + name: dns-udp + protocol: UDP + upstreams: + - name: dns-app + service: dns-service + port: 5353 + upstreamParameters: + udpRequests: 1 + udpResponses: 1 + action: + pass: dns-app + ``` + +- TLS passthrough load balancing: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: TransportServer + metadata: + name: secure-app + spec: + listener: + name: tls-passthrough + protocol: TLS_PASSTHROUGH + host: app.example.com + upstreams: + - name: secure-app + service: secure-app + port: 8443 + action: + pass: secure-app + ``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``listener`` | The listener on NGINX that will accept incoming connections/datagrams. | [listener](#listener) | Yes | +|``host`` | The host (domain name) of the server. Must be a valid subdomain as defined in RFC 1123, such as ``my-app`` or ``hello.example.com``. Wildcard domains like ``*.example.com`` are not allowed. When specified, NGINX will use this host for SNI-based routing. For TLS Passthrough, this field is required. For TCP with TLS termination, specifying the host enables SNI routing and requires specifying a TLS secret.| ``string`` | No | +|``tls`` | The TLS termination configuration. Not supported for TLS Passthrough load balancing. | [tls](#tls) | No | +|``upstreams`` | A list of upstreams. | [[]upstream](#upstream) | Yes | +|``upstreamParameters`` | The upstream parameters. | [upstreamParameters](#upstreamparameters) | No | +|``action`` | The action to perform for a client connection/datagram. | [action](#action) | Yes | +|``ingressClassName`` | Specifies which Ingress Controller must handle the TransportServer resource. | ``string`` | No | +|``streamSnippets`` | Sets a custom snippet in the ``stream`` context. | ``string`` | No | +|``serverSnippets`` | Sets a custom snippet in the ``server`` context. | ``string`` | No | +{{}} + +\* -- Required for TLS Passthrough load balancing. + +### Listener + +The listener field references a listener that NGINX will use to accept incoming traffic for the TransportServer. For TCP and UDP, the listener must be defined in the [GlobalConfiguration resource]({{< ref "/nic/configuration/global-configuration/globalconfiguration-resource.md" >}}). When referencing a listener, both the name and the protocol must match. For TLS Passthrough, use the built-in listener with the name `tls-passthrough` and the protocol `TLS_PASSTHROUGH`. + +The combination of ``spec.listener.name`` and ``spec.host`` must be unique among all TransportServers. If two TransportServers specify the same combination of ``spec.listener.name`` and ``spec.host``, one of them will be rejected to prevent conflicts. In the case where no host is specified, it is considered an empty string. + +An example: + +```yaml +listener: + name: dns-udp + protocol: UDP +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the listener. | ``string`` | Yes | +|``protocol`` | The protocol of the listener. | ``string`` | Yes | +{{}} + +### TLS + +The tls field defines TLS configuration for a TransportServer. When using TLS termination (not TLS Passthrough), you can specify the host field to enable SNI-based routing, allowing multiple applications to share the same listener port and be distinguished by the TLS SNI hostname. Each application can use its own TLS certificate and key specified via the secret field. + +```yaml +secret: cafe-secret +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``secret`` | The name of a secret with a TLS certificate and key. The secret must belong to the same namespace as the TransportServer. The secret must be of the type ``kubernetes.io/tls`` and contain keys named ``tls.crt`` and ``tls.key`` that contain the certificate and private key as described [here](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls). | ``string`` | No | +{{}} + +### Upstream + +The upstream defines a destination for the TransportServer. For example: + +```yaml +name: secure-app +service: secure-app +port: 8443 +maxFails: 3 +maxConns: 100 +failTimeout: 30s +loadBalancingMethod: least_conn +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the upstream. Must be a valid DNS label as defined in RFC 1035. For example, ``hello`` and ``upstream-123`` are valid. The name must be unique among all upstreams of the resource. | ``string`` | Yes | +|``service`` | The name of a [service](https://kubernetes.io/docs/concepts/services-networking/service/). The service must belong to the same namespace as the resource. If the service doesn't exist, NGINX will assume the service has zero endpoints and close client connections/ignore datagrams. | ``string`` | Yes | +|``port`` | The port of the service. If the service doesn't define that port, NGINX will assume the service has zero endpoints and close client connections/ignore datagrams. The port must fall into the range ``1..65535``. | ``int`` | Yes | +|``maxFails`` | Sets the [number](https://nginx.org/en/docs/stream/ngx_stream_upstream_module.html#max_fails) of unsuccessful attempts to communicate with the server that should happen in the duration set by the failTimeout parameter to consider the server unavailable. The default ``1``. | ``int`` | No | +|``maxConns`` | Sets the [number](https://nginx.org/en/docs/stream/ngx_stream_upstream_module.html#max_conns) of maximum connections to the proxied server. Default value is zero, meaning there is no limit. The default is ``0``. | ``int`` | No | +|``failTimeout`` | Sets the [time](https://nginx.org/en/docs/stream/ngx_stream_upstream_module.html#fail_timeout) during which the specified number of unsuccessful attempts to communicate with the server should happen to consider the server unavailable and the period of time the server will be considered unavailable. The default is ``10s``. | ``string`` | No | +|``healthCheck`` | The health check configuration for the Upstream. See the [health_check](https://nginx.org/en/docs/stream/ngx_stream_upstream_hc_module.html#health_check) directive. Note: this feature is supported only in NGINX Plus. | [healthcheck](#upstreamhealthcheck) | No | +|``loadBalancingMethod`` | The method used to load balance the upstream servers. By default, connections are distributed between the servers using a weighted round-robin balancing method. See the [upstream](http://nginx.org/en/docs/stream/ngx_stream_upstream_module.html#upstream) section for available methods and their details. | ``string`` | No | +|``backup`` | The name of the backup service of type [ExternalName](https://kubernetes.io/docs/concepts/services-networking/service/#externalname). This will be used when the primary servers are unavailable. Note: The parameter cannot be used along with the ``random`` , ``hash`` or ``ip_hash`` load balancing methods. | ``string`` | No | +|``backupPort`` | The port of the backup service. The backup port is required if the backup service name is provided. The port must fall into the range ``1..65535``. | ``uint16`` | No | +{{}} + +### Upstream.Healthcheck + +The Healthcheck defines an [active health check](https://nginx.org/en/docs/stream/ngx_stream_upstream_hc_module.html?#health_check). In the example below we enable a health check for an upstream and configure all the available parameters: + +```yaml +name: secure-app +service: secure-app +port: 8443 +healthCheck: + enable: true + interval: 20s + timeout: 30s + jitter: 3s + fails: 5 + passes: 5 + port: 8080 +``` + +{{< note >}} This feature is only supported with NGINX Plus. {{< /note >}} + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables a health check for an upstream server. The default is ``false``. | ``boolean`` | No | +|``interval`` | The interval between two consecutive health checks. The default is ``5s``. | ``string`` | No | +|``timeout`` | This overrides the timeout set by [proxy_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_timeout) which is set in `SessionParameters` for health checks. The default value is ``5s``. | ``string`` | No | +|``jitter`` | The time within which each health check will be randomly delayed. By default, there is no delay. | ``string`` | No | +|``fails`` | The number of consecutive failed health checks of a particular upstream server after which this server will be considered unhealthy. The default is ``1``. | ``integer`` | No | +|``passes`` | The number of consecutive passed health checks of a particular upstream server after which the server will be considered healthy. The default is ``1``. | ``integer`` | No | +|``port`` | The port used for health check requests. By default, the [server port is used](https://nginx.org/en/docs/stream/ngx_stream_upstream_hc_module.html#health_check_port). Note: in contrast with the port of the upstream, this port is not a service port, but a port of a pod. | ``integer`` | No | +|``match`` | Controls the data to send and the response to expect for the healthcheck. | [match](#upstreamhealthcheckmatch) | No | +{{}} + +### Upstream.Healthcheck.Match + +The match controls the data to send and the response to expect for the healthcheck: + +```yaml +match: + send: 'GET / HTTP/1.0\r\nHost: localhost\r\n\r\n' + expect: "~200 OK" +``` + +Both `send` and `expect` fields can contain hexadecimal literals with the prefix `\x` followed by two hex digits, for example, `\x80`. + +See the [match](https://nginx.org/en/docs/stream/ngx_stream_upstream_hc_module.html#match) directive for details. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``send`` | A string to send to an upstream server. | ``string`` | No | +|``expect`` | A literal string or a regular expression that the data obtained from the server should match. The regular expression is specified with the preceding ``~*`` modifier (for case-insensitive matching), or the ``~`` modifier (for case-sensitive matching). NGINX Ingress Controller validates a regular expression using the RE2 syntax. | ``string`` | No | +{{}} + +### UpstreamParameters + +The upstream parameters define various parameters for the upstreams: + +```yaml +upstreamParameters: + udpRequests: 1 + udpResponses: 1 + connectTimeout: 60s + nextUpstream: true + nextUpstreamTimeout: 50s + nextUpstreamTries: 1 +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``udpRequests`` | The number of datagrams, after receiving which, the next datagram from the same client starts a new session. See the [proxy_requests](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_requests) directive. The default is ``0``. | ``int`` | No | +|``udpResponses`` | The number of datagrams expected from the proxied server in response to a client datagram. See the [proxy_responses](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_responses) directive. By default, the number of datagrams is not limited. | ``int`` | No | +|``connectTimeout`` | The timeout for establishing a connection with a proxied server. See the [proxy_connect_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_connect_timeout) directive. The default is ``60s``. | ``string`` | No | +|``nextUpstream`` | If a connection to the proxied server cannot be established, determines whether a client connection will be passed to the next server. See the [proxy_next_upstream](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream) directive. The default is ``true``. | bool | No | +|``nextUpstreamTries`` | The number of tries for passing a connection to the next server. See the [proxy_next_upstream_tries](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_tries) directive. The default is ``0``. | ``int`` | No | +|``nextUpstreamTimeout`` | The time allowed to pass a connection to the next server. See the [proxy_next_upstream_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_timeout) directive. The default us ``0``. | ``string`` | No | +{{}} + +### SessionParameters + +The session parameters define various parameters for TCP connections and UDP sessions. + +```yaml +sessionParameters: + timeout: 50s +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``timeout`` | The timeout between two successive read or write operations on client or proxied server connections. See [proxy_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_timeout) directive. The default is ``10m``. | ``string`` | No | +{{}} + +### Action + +The action defines an action to perform for a client connection/datagram. + +In the example below, client connections/datagrams are passed to an upstream `dns-app`: + +```yaml +action: + pass: dns-app +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``pass`` | Passes connections/datagrams to an upstream. The upstream with that name must be defined in the resource. | ``string`` | Yes | +{{}} + +## Using TransportServer + +You can use the usual `kubectl` commands to work with TransportServer resources, similar to Ingress resources. + +For example, the following command creates a TransportServer resource defined in `transport-server-passthrough.yaml` with the name `secure-app`: + +```shell +kubectl apply -f transport-server-passthrough.yaml +``` +```text +transportserver.k8s.nginx.org/secure-app created +``` + +You can get the resource by running: + +```shell +kubectl get transportserver secure-app +``` +```text +NAME AGE +secure-app 46sm +``` + +In the kubectl get and similar commands, you can also use the short name `ts` instead of `transportserver`. + +### Using Snippets + +Snippets allow you to insert raw NGINX config into different contexts of NGINX configuration. In the example below, we use snippets to configure [access control](http://nginx.org/en/docs/stream/ngx_stream_access_module.html) in a TransportServer: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: TransportServer +metadata: + name: cafe +spec: + host: cafe.example.com + serverSnippets: | + deny 192.168.1.1; + allow 192.168.1.0/24; + upstreams: + - name: tea + service: tea-svc + port: 80 +``` + +Snippets can also be specified for a stream. In the example below, we use snippets to [limit the number of connections](https://nginx.org/en/docs/stream/ngx_stream_limit_conn_module.html): + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: TransportServer +metadata: + name: cafe +spec: + host: cafe.example.com + streamSnippets: limit_conn_zone $binary_remote_addr zone=addr:10m; + serverSnippets: limit_conn addr 1; + upstreams: + - name: tea + service: tea-svc + port: 80 +``` + +{{< note >}} To configure snippets in the `stream` context, use `stream-snippets` ConfigMap key. {{< /note >}} + +For additional information, view the [Advanced configuration with Snippets]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md" >}}) topic. + +### Validation + +Two types of validation are available for the TransportServer resource: + +- *Structural validation* by the `kubectl` and Kubernetes API server. +- *Comprehensive validation* by NGINX Ingress Controller. + +#### Structural Validation + +The custom resource definition for the TransportServer includes structural OpenAPI schema which describes the type of every field of the resource. + +If you try to create (or update) a resource that violates the structural schema (for example, you use a string value for the port field of an upstream), `kubectl` and Kubernetes API server will reject such a resource: + +- Example of `kubectl` validation: + + ```shell + kubectl apply -f transport-server-passthrough.yaml + ``` + ```text + error: error validating "transport-server-passthrough.yaml": error validating data: ValidationError(TransportServer.spec.upstreams[0].port): invalid type for org.nginx.k8s.v1.TransportServer.spec.upstreams.port: got "string", expected "integer"; if you choose to ignore these errors, turn validation off with --validate=false + ``` + +- Example of Kubernetes API server validation: + + ```shell + kubectl apply -f transport-server-passthrough.yaml --validate=false + ``` + ```text + The TransportServer "secure-app" is invalid: []: Invalid value: map[string]interface {}{ ... }: validation failure list: + spec.upstreams.port in body must be of type integer: "string" + ``` + +If a resource is not rejected (it doesn't violate the structural schema), NGINX Ingress Controller will validate it further. + +#### Comprehensive Validation + +NGINX Ingress Controller validates the fields of a TransportServer resource. If a resource is invalid, NGINX Ingress Controller will reject it: the resource will continue to exist in the cluster, but NGINX Ingress Controller will ignore it. + +You can check if NGINX Ingress Controller successfully applied the configuration for a TransportServer. For our example `secure-app` TransportServer, we can run: + +```shell +kubectl describe ts secure-app +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal AddedOrUpdated 3s nginx-ingress-controller Configuration for default/secure-app was added or updated +``` + +Note how the events section includes a Normal event with the AddedOrUpdated reason that informs us that the configuration was successfully applied. + +If you create an invalid resource, NGINX Ingress Controller will reject it and emit a Rejected event. For example, if you create a TransportServer `secure-app` with a pass action that references a non-existing upstream, you will get : + +```shell +kubectl describe ts secure-app +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 2s nginx-ingress-controller TransportServer default/secure-app is invalid and was rejected: spec.action.pass: Not found: "some-app" +``` + +Note how the events section includes a Warning event with the Rejected reason. + +**Note**: If you make an existing resource invalid, NGINX Ingress Controller will reject it and remove the corresponding configuration from NGINX. + +## Customization via ConfigMap + +The [ConfigMap]({{< ref "/nic/configuration/global-configuration/configmap-resource.md" >}}) keys (except for `stream-snippets`, `stream-log-format`, `resolver-addresses`, `resolver-ipv6`, `resolver-valid` and `resolver-timeout`) do not affect TransportServer resources. diff --git a/content/includes/nic/configuration/virtualserver-and-virtualserverroute-resources.md b/content/includes/nic/configuration/virtualserver-and-virtualserverroute-resources.md new file mode 100644 index 000000000..1acd05b02 --- /dev/null +++ b/content/includes/nic/configuration/virtualserver-and-virtualserverroute-resources.md @@ -0,0 +1,1101 @@ +--- +title: VirtualServer and VirtualServerRoute resources +toc: true +weight: 700 +docs: DOCS-599 +--- + +This document is reference material for the VirtualServer and VirtualServerRoute resources used by F5 NGINX Ingress Controller. + +VirtualServer and VirtualServerRoute resources are load balancing configurations recommended as an alternative to the Ingress resource. + +They enable use cases not supported with the Ingress resource, such as traffic splitting and advanced content-based routing. The resources are implemented as [Custom Resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). + +The GitHub repository has [examples of the resources](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources) for specific use cases. + +--- + +## VirtualServer specification + +The VirtualServer resource defines load balancing configuration for a domain name, such as `example.com`. Below is an example of such configuration: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: VirtualServer +metadata: + name: cafe +spec: + host: cafe.example.com + listener: + http: http-8083 + https: https-8443 + tls: + secret: cafe-secret + gunzip: on + upstreams: + - name: tea + service: tea-svc + port: 80 + - name: coffee + service: coffee-svc + port: 80 + routes: + - path: /tea + action: + pass: tea + - path: /coffee + action: + pass: coffee + - path: ~ ^/decaf/.*\\.jpg$ + action: + pass: coffee + - path: = /green/tea + action: + pass: tea +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``host`` | The host (domain name) of the server. Must be a valid subdomain as defined in RFC 1123, such as ``my-app`` or ``hello.example.com``. When using a wildcard domain like ``*.example.com`` the domain must be contained in double quotes. The ``host`` value needs to be unique among all Ingress and VirtualServer resources. See also [Handling Host and Listener Collisions](/nginx-ingress-controller/configuration/host-and-listener-collisions). | ``string`` | Yes | +|``listener`` | Sets a custom HTTP and/or HTTPS listener. Valid fields are `listener.http` and `listener.https`. Each field must reference the name of a valid listener defined in a GlobalConfiguration resource | [listener](#virtualserverlistener) | No | +|``tls`` | The TLS termination configuration. | [tls](#virtualservertls) | No | +|``gunzip`` | Enables or disables [decompression](https://docs.nginx.com/nginx/admin-guide/web-server/compression/) of gzipped responses for clients. Allowed values “on”/“off”, “true”/“false” or “yes”/“no”. If the ``gunzip`` value is not set, it defaults to ``off``. | ``boolean`` | No | +|``externalDNS`` | The externalDNS configuration for a VirtualServer. | [externalDNS](#virtualserverexternaldns) | No | +|``dos`` | A reference to a DosProtectedResource, setting this enables DOS protection of the VirtualServer. | ``string`` | No | +|``policies`` | A list of policies. | [[]policy](#virtualserverpolicy) | No | +|``upstreams`` | A list of upstreams. | [[]upstream](#upstream) | No | +|``routes`` | A list of routes. | [[]route](#virtualserverroute) | No | +|``ingressClassName`` | Specifies which Ingress Controller must handle the VirtualServer resource. | ``string`` | No | +|``internalRoute`` | Specifies if the VirtualServer resource is an internal route or not. | ``boolean`` | No | +|``http-snippets`` | Sets a custom snippet in the http context. | ``string`` | No | +|``server-snippets`` | Sets a custom snippet in server context. Overrides the ``server-snippets`` ConfigMap key. | ``string`` | No | +{{}} + +### VirtualServer.TLS + +The tls field defines TLS configuration for a VirtualServer. For example: + +```yaml +secret: cafe-secret +redirect: + enable: true +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``secret`` | The name of a secret with a TLS certificate and key. The secret must belong to the same namespace as the VirtualServer. The secret must be of the type ``kubernetes.io/tls`` and contain keys named ``tls.crt`` and ``tls.key`` that contain the certificate and private key as described [here](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls). If the secret doesn't exist or is invalid, NGINX will break any attempt to establish a TLS connection to the host of the VirtualServer. If the secret is not specified but [wildcard TLS secret](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments#cmdoption-wildcard-tls-secret) is configured, NGINX will use the wildcard secret for TLS termination. | ``string`` | No | +|``redirect`` | The redirect configuration of the TLS for a VirtualServer. | [tls.redirect](#virtualservertlsredirect) | No | ### VirtualServer.TLS.Redirect | +|``cert-manager`` | The cert-manager configuration of the TLS for a VirtualServer. | [tls.cert-manager](#virtualservertlscertmanager) | No | ### VirtualServer.TLS.CertManager | +{{}} + +### VirtualServer.TLS.Redirect + +The redirect field configures a TLS redirect for a VirtualServer: + +```yaml +enable: true +code: 301 +basedOn: scheme +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables a TLS redirect for a VirtualServer. The default is ``False``. | ``boolean`` | No | +|``code`` | The status code of a redirect. The allowed values are: ``301`` , ``302`` , ``307`` , ``308``. The default is ``301``. | ``int`` | No | +|``basedOn`` | The attribute of a request that NGINX will evaluate to send a redirect. The allowed values are ``scheme`` (the scheme of the request) or ``x-forwarded-proto`` (the ``X-Forwarded-Proto`` header of the request). The default is ``scheme``. | ``string`` | No | ### VirtualServer.Policy | +{{}} + +### VirtualServer.TLS.CertManager + +The cert-manager field configures x509 automated Certificate management for VirtualServer resources using cert-manager (cert-manager.io). Please see the [cert-manager configuration documentation](https://cert-manager.io/docs/configuration/) for more information on deploying and configuring Issuers. Example: + +```yaml +cert-manager: + cluster-issuer: "my-issuer-name" +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``issuer`` | the name of an Issuer. An Issuer is a cert-manager resource which describes the certificate authority capable of signing certificates. The Issuer must be in the same namespace as the VirtualServer resource. Please note that one of `issuer` and `cluster-issuer` are required, but they are mutually exclusive - one and only one must be defined. | ``string`` | No | +|``cluster-issuer`` | the name of a ClusterIssuer. A ClusterIssuer is a cert-manager resource which describes the certificate authority capable of signing certificates. It does not matter which namespace your VirtualServer resides, as ClusterIssuers are non-namespaced resources. Please note that one of `issuer` and `cluster-issuer` are required, but they are mutually exclusive - one and only one must be defined. | ``string`` | No | +|``issuer-kind`` | The kind of the external issuer resource, for example AWSPCAIssuer. This is only necessary for out-of-tree issuers. This cannot be defined if `cluster-issuer` is also defined. | ``string`` | No | +|``issuer-group`` | The API group of the external issuer controller, for example awspca.cert-manager.io. This is only necessary for out-of-tree issuers. This cannot be defined if `cluster-issuer` is also defined. | ``string`` | No | +|``common-name`` | This field allows you to configure spec.commonName for the Certificate to be generated. This configuration adds a CN to the x509 certificate. | ``string`` | No | +|``duration`` | This field allows you to configure spec.duration field for the Certificate to be generated. Must be specified using a [Go time.Duration](https://pkg.go.dev/time#ParseDuration) string format, which does not allow the d (days) suffix. You must specify these values using s, m, and h suffixes instead. | ``string`` | No | +|``renew-before`` | this annotation allows you to configure spec.renewBefore field for the Certificate to be generated. Must be specified using a [Go time.Duration](https://pkg.go.dev/time#ParseDuration) string format, which does not allow the d (days) suffix. You must specify these values using s, m, and h suffixes instead. | ``string`` | No | +|``usages`` | This field allows you to configure spec.usages field for the Certificate to be generated. Pass a string with comma-separated values i.e. ``key agreement,digital signature, server auth``. An exhaustive list of supported key usages can be found in the [the cert-manager api documentation](https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.KeyUsage). | ``string`` | No | +|``issue-temp-cert`` | When ``true``, ask cert-manager for a [temporary self-signed certificate](https://cert-manager.io/docs/usage/certificate/#temporary-certificates-while-issuing) pending the issuance of the Certificate. This allows HTTPS-only servers to use ACME HTTP01 challenges when the TLS secret does not exist yet. | ``boolean`` | No | +{{}} + +### VirtualServer.Listener +The listener field defines a custom HTTP and/or HTTPS listener. +The respective listeners used must reference the name of a listener defined using a [GlobalConfiguration](/nginx-ingress-controller/configuration/global-configuration/globalconfiguration-resource/) resource. +For example: +```yaml +http: http-8083 +https: https-8443 +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``http`` | The name of am HTTP listener defined in a [GlobalConfiguration](/nginx-ingress-controller/configuration/global-configuration/globalconfiguration-resource/) resource. | ``string`` | No | +|``https`` | The name of an HTTPS listener defined in a [GlobalConfiguration](/nginx-ingress-controller/configuration/global-configuration/globalconfiguration-resource/) resource. | ``string`` | No | +{{}} + +### VirtualServer.ExternalDNS + +The externalDNS field configures controlling DNS records dynamically for VirtualServer resources using [ExternalDNS](https://github.com/kubernetes-sigs/external-dns). Please see the [ExternalDNS configuration documentation](https://kubernetes-sigs.github.io/external-dns/) for more information on deploying and configuring ExternalDNS and Providers. Example: + +```yaml +enable: true +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables ExternalDNS integration for a VirtualServer resource. The default is ``false``. | ``string`` | No | +|``labels`` | Configure labels to be applied to the Endpoint resources that will be consumed by ExternalDNS. | ``map[string]string`` | No | +|``providerSpecific`` | Configure provider specific properties which holds the name and value of a configuration which is specific to individual DNS providers. | [[]ProviderSpecific](#virtualserverexternaldnsproviderspecific) | No | +|``recordTTL`` | TTL for the DNS record. This defaults to 0 if not defined. See [the ExternalDNS TTL documentation for provider-specific defaults](https://kubernetes-sigs.github.io/external-dns/v0.14.2/ttl/#providers) | ``int64`` | No | +|``recordType`` | The record Type that should be created, e.g. "A", "AAAA", "CNAME". This is automatically computed based on the external endpoints if not defined. | ``string`` | No | +{{}} + +### VirtualServer.ExternalDNS.ProviderSpecific + +The providerSpecific field of the externalDNS block allows the specification of provider specific properties which is a list of key value pairs of configurations which are specific to individual DNS providers. Example: + +```yaml +- name: my-name + value: my-value +- name: my-name2 + value: my-value2 +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the key value pair. | ``string`` | Yes | +|``value`` | The value of the key value pair. | ``string`` | Yes | +{{}} + +### VirtualServer.Policy + +The policy field references a [Policy resource](/nginx-ingress-controller/configuration/policy-resource/) by its name and optional namespace. For example: + +```yaml +name: access-control +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of a policy. If the policy doesn't exist or invalid, NGINX will respond with an error response with the `500` status code. | ``string`` | Yes | +|``namespace`` | The namespace of a policy. If not specified, the namespace of the VirtualServer resource is used. | ``string`` | No | +{{}} + +### VirtualServer.Route + +The route defines rules for matching client requests to actions like passing a request to an upstream. For example: + +```yaml + path: /tea + action: + pass: tea +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``path`` | The path of the route. NGINX will match it against the URI of a request. Possible values are: a prefix ( ``/`` , ``/path`` ), an exact match ( ``=/exact/match`` ), a case insensitive regular expression ( ``~*^/Bar.*\.jpg`` ) or a case sensitive regular expression ( ``~^/foo.*\.jpg`` ). In the case of a prefix (must start with ``/`` ) or an exact match (must start with ``=`` ), the path must not include any whitespace characters, ``{`` , ``}`` or ``;``. In the case of the regex matches, all double quotes ``"`` must be escaped and the match can't end in an unescaped backslash ``\``. The path must be unique among the paths of all routes of the VirtualServer. Check the [location](https://nginx.org/en/docs/http/ngx_http_core_module.html#location) directive for more information. | ``string`` | Yes | +|``policies`` | A list of policies. The policies override the policies of the same type defined in the ``spec`` of the VirtualServer. See [Applying Policies](/nginx-ingress-controller/configuration/policy-resource/#applying-policies) for more details. | [[]policy](#virtualserverpolicy) | No | +|``action`` | The default action to perform for a request. | [action](#action) | No | +|``dos`` | A reference to a DosProtectedResource, setting this enables DOS protection of the VirtualServer route. | ``string`` | No | +|``splits`` | The default splits configuration for traffic splitting. Must include at least 2 splits. | [[]split](#split) | No | +|``matches`` | The matching rules for advanced content-based routing. Requires the default ``action`` or ``splits``. Unmatched requests will be handled by the default ``action`` or ``splits``. | [matches](#match) | No | +|``route`` | The name of a VirtualServerRoute resource that defines this route. If the VirtualServerRoute belongs to a different namespace than the VirtualServer, you need to include the namespace. For example, ``tea-namespace/tea``. | ``string`` | No | +|``errorPages`` | The custom responses for error codes. NGINX will use those responses instead of returning the error responses from the upstream servers or the default responses generated by NGINX. A custom response can be a redirect or a canned response. For example, a redirect to another URL if an upstream server responded with a 404 status code. | [[]errorPage](#errorpage) | No | +|``location-snippets`` | Sets a custom snippet in the location context. Overrides the ``location-snippets`` ConfigMap key. | ``string`` | No | +{{}} + +\* -- a route must include exactly one of the following: `action`, `splits`, or `route`. + +## VirtualServerRoute specification + +The VirtualServerRoute resource defines a route for a VirtualServer. It can consist of one or multiple subroutes. The VirtualServerRoute is an alternative to [Mergeable Ingress types](/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration). + +In the example below, the VirtualServer `cafe` from the namespace `cafe-ns` defines a route with the path `/coffee`, which is further defined in the VirtualServerRoute `coffee` from the namespace `coffee-ns`. + +VirtualServer: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: VirtualServer +metadata: + name: cafe + namespace: cafe-ns +spec: + host: cafe.example.com + upstreams: + - name: tea + service: tea-svc + port: 80 + routes: + - path: /tea + action: + pass: tea + - path: /coffee + route: coffee-ns/coffee +``` + +VirtualServerRoute: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: VirtualServerRoute +metadata: + name: coffee + namespace: coffee-ns +spec: + host: cafe.example.com + upstreams: + - name: latte + service: latte-svc + port: 80 + - name: espresso + service: espresso-svc + port: 80 + subroutes: + - path: /coffee/latte + action: + pass: latte + - path: /coffee/espresso + action: + pass: espresso +``` + +Note that each subroute must have a `path` that starts with the same prefix (here `/coffee`), which is defined in the route of the VirtualServer. Additionally, the `host` in the VirtualServerRoute must be the same as the `host` of the VirtualServer. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``host`` | The host (domain name) of the server. Must be a valid subdomain as defined in RFC 1123, such as ``my-app`` or ``hello.example.com``. When using a wildcard domain like ``*.example.com`` the domain must be contained in double quotes. Must be the same as the ``host`` of the VirtualServer that references this resource. | ``string`` | Yes | +|``upstreams`` | A list of upstreams. | [[]upstream](#upstream) | No | +|``subroutes`` | A list of subroutes. | [[]subroute](#virtualserverroutesubroute) | No | +|``ingressClassName`` | Specifies which Ingress Controller must handle the VirtualServerRoute resource. Must be the same as the ``ingressClassName`` of the VirtualServer that references this resource. | ``string``_ | No | +{{}} + +### VirtualServerRoute.Subroute + +The subroute defines rules for matching client requests to actions like passing a request to an upstream. For example: + +```yaml +path: /coffee +action: + pass: coffee +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``path`` | The path of the subroute. NGINX will match it against the URI of a request. Possible values are: a prefix ( ``/`` , ``/path`` ), an exact match ( ``=/exact/match`` ), a case insensitive regular expression ( ``~*^/Bar.*\.jpg`` ) or a case sensitive regular expression ( ``~^/foo.*\.jpg`` ). In the case of a prefix, the path must start with the same path as the path of the route of the VirtualServer that references this resource. In the case of an exact or regex match, the path must be the same as the path of the route of the VirtualServer that references this resource. A matching path of the route of the VirtualServer but in different type is not accepted, e.g. a regex path (`~/match`) cannot be used with a prefix path in VirtualServer (`/match`) In the case of a prefix or an exact match, the path must not include any whitespace characters, ``{`` , ``}`` or ``;``. In the case of the regex matches, all double quotes ``"`` must be escaped and the match can't end in an unescaped backslash ``\``. The path must be unique among the paths of all subroutes of the VirtualServerRoute. | ``string`` | Yes | +|``policies`` | A list of policies. The policies override *all* policies defined in the route of the VirtualServer that references this resource. The policies also override the policies of the same type defined in the ``spec`` of the VirtualServer. See [Applying Policies](/nginx-ingress-controller/configuration/policy-resource/#applying-policies) for more details. | [[]policy](#virtualserverpolicy) | No | +|``action`` | The default action to perform for a request. | [action](#action) | No | +|``dos`` | A reference to a DosProtectedResource, setting this enables DOS protection of the VirtualServerRoute subroute. | ``string`` | No | +|``splits`` | The default splits configuration for traffic splitting. Must include at least 2 splits. | [[]split](#split) | No | +|``matches`` | The matching rules for advanced content-based routing. Requires the default ``action`` or ``splits``. Unmatched requests will be handled by the default ``action`` or ``splits``. | [matches](#match) | No | +|``errorPages`` | The custom responses for error codes. NGINX will use those responses instead of returning the error responses from the upstream servers or the default responses generated by NGINX. A custom response can be a redirect or a canned response. For example, a redirect to another URL if an upstream server responded with a 404 status code. | [[]errorPage](#errorpage) | No | +|``location-snippets`` | Sets a custom snippet in the location context. Overrides the ``location-snippets`` of the VirtualServer (if set) or the ``location-snippets`` ConfigMap key. | ``string`` | No | +{{}} + +\* -- a subroute must include exactly one of the following: `action` or `splits`. + +## Common VirtualServer and VirtualServerRoute specifications + +### Upstream + +The upstream defines a destination for the routing configuration. For example: + +```yaml +name: tea +service: tea-svc +subselector: + version: canary +port: 80 +lb-method: round_robin +fail-timeout: 10s +max-fails: 1 +max-conns: 32 +keepalive: 32 +connect-timeout: 30s +read-timeout: 30s +send-timeout: 30s +next-upstream: "error timeout non_idempotent" +next-upstream-timeout: 5s +next-upstream-tries: 10 +client-max-body-size: 2m +tls: + enable: true +``` + +**Note**: The WebSocket protocol is supported without any additional configuration. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the upstream. Must be a valid DNS label as defined in RFC 1035. For example, ``hello`` and ``upstream-123`` are valid. The name must be unique among all upstreams of the resource. | ``string`` | Yes | +|``service`` | The name of a [service](https://kubernetes.io/docs/concepts/services-networking/service/). The service must belong to the same namespace as the resource. If the service doesn't exist, NGINX will assume the service has zero endpoints and return a ``502`` response for requests for this upstream. For NGINX Plus only, services of type [ExternalName](https://kubernetes.io/docs/concepts/services-networking/service/#externalname) are also supported (check the [prerequisites](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/externalname-services#prerequisites) ). | ``string`` | Yes | +|``subselector`` | Selects the pods within the service using label keys and values. By default, all pods of the service are selected. Note: the specified labels are expected to be present in the pods when they are created. If the pod labels are updated, NGINX Ingress Controller will not see that change until the number of the pods is changed. | ``map[string]string`` | No | +|``use-cluster-ip`` | Enables using the Cluster IP and port of the service instead of the default behavior of using the IP and port of the pods. When this field is enabled, the fields that configure NGINX behavior related to multiple upstream servers (like ``lb-method`` and ``next-upstream``) will have no effect, as NGINX Ingress Controller will configure NGINX with only one upstream server that will match the service Cluster IP. | ``boolean`` | No | +|``port`` | The port of the service. If the service doesn't define that port, NGINX will assume the service has zero endpoints and return a ``502`` response for requests for this upstream. The port must fall into the range ``1..65535``. | ``uint16`` | Yes | +|``lb-method`` | The load [balancing method](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#choosing-a-load-balancing-method). To use the round-robin method, specify ``round_robin``. The default is specified in the ``lb-method`` ConfigMap key. | ``string`` | No | +|``fail-timeout`` | The time during which the specified number of unsuccessful attempts to communicate with an upstream server should happen to consider the server unavailable. See the [fail_timeout](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#fail_timeout) parameter of the server directive. The default is set in the ``fail-timeout`` ConfigMap key. | ``string`` | No | +|``max-fails`` | The number of unsuccessful attempts to communicate with an upstream server that should happen in the duration set by the ``fail-timeout`` to consider the server unavailable. See the [max_fails](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_fails) parameter of the server directive. The default is set in the ``max-fails`` ConfigMap key. | ``int`` | No | +|``max-conns`` | The maximum number of simultaneous active connections to an upstream server. See the [max_conns](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_conns) parameter of the server directive. By default there is no limit. Note: if keepalive connections are enabled, the total number of active and idle keepalive connections to an upstream server may exceed the ``max_conns`` value. | ``int`` | No | +|``keepalive`` | Configures the cache for connections to upstream servers. The value ``0`` disables the cache. See the [keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) directive. The default is set in the ``keepalive`` ConfigMap key. | ``int`` | No | +|``connect-timeout`` | The timeout for establishing a connection with an upstream server. See the [proxy_connect_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) directive. The default is specified in the ``proxy-connect-timeout`` ConfigMap key. | ``string`` | No | +|``read-timeout`` | The timeout for reading a response from an upstream server. See the [proxy_read_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout) directive. The default is specified in the ``proxy-read-timeout`` ConfigMap key. | ``string`` | No | +|``send-timeout`` | The timeout for transmitting a request to an upstream server. See the [proxy_send_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout) directive. The default is specified in the ``proxy-send-timeout`` ConfigMap key. | ``string`` | No | +|``next-upstream`` | Specifies in which cases a request should be passed to the next upstream server. See the [proxy_next_upstream](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream) directive. The default is ``error timeout``. | ``string`` | No | +|``next-upstream-timeout`` | The time during which a request can be passed to the next upstream server. See the [proxy_next_upstream_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream_timeout) directive. The ``0`` value turns off the time limit. The default is ``0``. | ``string`` | No | +|``next-upstream-tries`` | The number of possible tries for passing a request to the next upstream server. See the [proxy_next_upstream_tries](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream_tries) directive. The ``0`` value turns off this limit. The default is ``0``. | ``int`` | No | +|``client-max-body-size`` | Sets the maximum allowed size of the client request body. See the [client_max_body_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size) directive. The default is set in the ``client-max-body-size`` ConfigMap key. | ``string`` | No | +|``tls`` | The TLS configuration for the Upstream. | [tls](#upstreamtls) | No | +|``healthCheck`` | The health check configuration for the Upstream. See the [health_check](https://nginx.org/en/docs/http/ngx_http_upstream_hc_module.html#health_check) directive. Note: this feature is supported only in NGINX Plus. | [healthcheck](#upstreamhealthcheck) | No | +|``slow-start`` | The slow start allows an upstream server to gradually recover its weight from 0 to its nominal value after it has been recovered or became available or when the server becomes available after a period of time it was considered unavailable. By default, the slow start is disabled. See the [slow_start](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#slow_start) parameter of the server directive. Note: The parameter cannot be used along with the ``random`` , ``hash`` or ``ip_hash`` load balancing methods and will be ignored. | ``string`` | No | +|``queue`` | Configures a queue for an upstream. A client request will be placed into the queue if an upstream server cannot be selected immediately while processing the request. By default, no queue is configured. Note: this feature is supported only in NGINX Plus. | [queue](#upstreamqueue) | No | +|``buffering`` | Enables buffering of responses from the upstream server. See the [proxy_buffering](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) directive. The default is set in the ``proxy-buffering`` ConfigMap key. | ``boolean`` | No | +|``buffers`` | Configures the buffers used for reading a response from the upstream server for a single connection. | [buffers](#upstreambuffers) | No | +|``buffer-size`` | Sets the size of the buffer used for reading the first part of a response received from the upstream server. See the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) directive. The default is set in the ``proxy-buffer-size`` ConfigMap key. | ``string`` | No | +|``ntlm`` | Allows proxying requests with NTLM Authentication. See the [ntlm](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#ntlm) directive. In order for NTLM authentication to work, it is necessary to enable keepalive connections to upstream servers using the ``keepalive`` field. Note: this feature is supported only in NGINX Plus.| ``boolean`` | No | +|``type`` |The type of the upstream. Supported values are ``http`` and ``grpc``. The default is ``http``. For gRPC, it is necessary to enable HTTP/2 in the [ConfigMap](/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#listeners) and configure TLS termination in the VirtualServer. | ``string`` | No | +|``backup`` | The name of the backup service of type [ExternalName](https://kubernetes.io/docs/concepts/services-networking/service/#externalname). This will be used when the primary servers are unavailable. Note: The parameter cannot be used along with the ``random`` , ``hash`` or ``ip_hash`` load balancing methods. | ``string`` | No | +|``backupPort`` | The port of the backup service. The backup port is required if the backup service name is provided. The port must fall into the range ``1..65535``. | ``uint16`` | No | +{{}} + +### Upstream.Buffers + +The buffers field configures the buffers used for reading a response from the upstream server for a single connection: + +```yaml +number: 4 +size: 8K +``` + +See the [proxy_buffers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directive for additional information. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``number`` | Configures the number of buffers. The default is set in the ``proxy-buffers`` ConfigMap key. | ``int`` | Yes | +|``size`` | Configures the size of a buffer. The default is set in the ``proxy-buffers`` ConfigMap key. | ``string`` | Yes | +{{}} + +### Upstream.TLS + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables HTTPS for requests to upstream servers. The default is ``False`` , meaning that HTTP will be used. Note: by default, NGINX will not verify the upstream server certificate. To enable the verification, configure an [EgressMTLS Policy](/nginx-ingress-controller/configuration/policy-resource/#egressmtls). | ``boolean`` | No | +{{}} + +### Upstream.Queue + +The queue field configures a queue. A client request will be placed into the queue if an upstream server cannot be selected immediately while processing the request: + +```yaml +size: 10 +timeout: 60s +``` + +See [`queue`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#queue) directive for additional information. + +Note: This feature is supported only in NGINX Plus. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``size`` | The size of the queue. | ``int`` | Yes | +|``timeout`` | The timeout of the queue. A request cannot be queued for a period longer than the timeout. The default is ``60s``. | ``string`` | No | +{{}} + +### Upstream.Healthcheck + +The Healthcheck defines an [active health check](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/). In the example below we enable a health check for an upstream and configure all the available parameters, including the `slow-start` parameter combined with [`mandatory` and `persistent`](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/#mandatory-health-checks): + +```yaml +name: tea +service: tea-svc +port: 80 +slow-start: 30s +healthCheck: + enable: true + path: /healthz + interval: 20s + jitter: 3s + fails: 5 + passes: 5 + port: 8080 + tls: + enable: true + connect-timeout: 10s + read-timeout: 10s + send-timeout: 10s + headers: + - name: Host + value: my.service + statusMatch: "! 500" + mandatory: true + persistent: true + keepalive-time: 60s +``` + +Note: This feature is supported only in NGINX Plus. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables a health check for an upstream server. The default is ``false``. | ``boolean`` | No | +|``path`` | The path used for health check requests. The default is ``/``. This not configurable for gRPC type upstreams. | ``string`` | No | +|``interval`` | The interval between two consecutive health checks. The default is ``5s``. | ``string`` | No | +|``jitter`` | The time within which each health check will be randomly delayed. By default, there is no delay. | ``string`` | No | +|``fails`` | The number of consecutive failed health checks of a particular upstream server after which this server will be considered unhealthy. The default is ``1``. | ``integer`` | No | +|``passes`` | The number of consecutive passed health checks of a particular upstream server after which the server will be considered healthy. The default is ``1``. | ``integer`` | No | +|``port`` | The port used for health check requests. By default, the [server port is used](https://nginx.org/en/docs/http/ngx_http_upstream_hc_module.html#health_check_port). Note: in contrast with the port of the upstream, this port is not a service port, but a port of a pod. | ``integer`` | No | +|``tls`` | The TLS configuration used for health check requests. By default, the ``tls`` field of the upstream is used. | [upstream.tls](#upstreamtls) | No | +|``connect-timeout`` | The timeout for establishing a connection with an upstream server. By default, the ``connect-timeout`` of the upstream is used. | ``string`` | No | +|``read-timeout`` | The timeout for reading a response from an upstream server. By default, the ``read-timeout`` of the upstream is used. | ``string`` | No | +|``send-timeout`` | The timeout for transmitting a request to an upstream server. By default, the ``send-timeout`` of the upstream is used. | ``string`` | No | +|``headers`` | The request headers used for health check requests. NGINX Plus always sets the ``Host`` , ``User-Agent`` and ``Connection`` headers for health check requests. | [[]header](#header) | No | +|``statusMatch`` | The expected response status codes of a health check. By default, the response should have status code 2xx or 3xx. Examples: ``"200"`` , ``"! 500"`` , ``"301-303 307"``. See the documentation of the [match](https://nginx.org/en/docs/http/ngx_http_upstream_hc_module.html?#match) directive. This not supported for gRPC type upstreams. | ``string`` | No | +|``grpcStatus`` | The expected [gRPC status code](https://github.com/grpc/grpc/blob/master/doc/statuscodes.md#status-codes-and-their-use-in-grpc) of the upstream server response to the [Check method](https://github.com/grpc/grpc/blob/master/doc/health-checking.md). Configure this field only if your gRPC services do not implement the gRPC health checking protocol. For example, configure ``12`` if the upstream server responds with `12 (UNIMPLEMENTED)` status code. Only valid on gRPC type upstreams. | ``int`` | No | +|``grpcService`` | The gRPC service to be monitored on the upstream server. Only valid on gRPC type upstreams. | ``string`` | No | +|``mandatory`` | Require every newly added server to pass all configured health checks before NGINX Plus sends traffic to it. If this is not specified, or is set to false, the server will be initially considered healthy. When combined with [slow-start](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#slow_start), it gives a new server more time to connect to databases and “warm up” before being asked to handle their full share of traffic. | ``bool`` | No | +|``persistent`` | Set the initial “up” state for a server after reload if the server was considered healthy before reload. Enabling persistent requires that the mandatory parameter is also set to `true`. | ``bool`` | No | +|``keepalive-time`` | Enables [keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) connections for health checks and specifies the time during which requests can be processed through one keepalive connection. The default is ``60s``. | ``string`` | No | +{{}} + +### Upstream.SessionCookie + +The SessionCookie field configures session persistence which allows requests from the same client to be passed to the same upstream server. The information about the designated upstream server is passed in a session cookie generated by NGINX Plus. + +In the example below, we configure session persistence with a session cookie for an upstream and configure all the available parameters: + +```yaml +name: tea +service: tea-svc +port: 80 +sessionCookie: + enable: true + name: srv_id + path: / + expires: 1h + domain: .example.com + httpOnly: false + secure: true + samesite: strict +``` + +See the [`sticky`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html?#sticky) directive for additional information. The session cookie corresponds to the `sticky cookie` method. + +Note: This feature is supported only in NGINX Plus. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables session persistence with a session cookie for an upstream server. The default is ``false``. | ``boolean`` | No | +|``name`` | The name of the cookie. | ``string`` | Yes | +|``path`` | The path for which the cookie is set. | ``string`` | No | +|``expires`` | The time for which a browser should keep the cookie. Can be set to the special value ``max`` , which will cause the cookie to expire on ``31 Dec 2037 23:55:55 GMT``. | ``string`` | No | +|``domain`` | The domain for which the cookie is set. | ``string`` | No | +|``httpOnly`` | Adds the ``HttpOnly`` attribute to the cookie. | ``boolean`` | No | +|``secure`` | Adds the ``Secure`` attribute to the cookie. | ``boolean`` | No | +|``samesite`` | Adds the ``SameSite`` attribute to the cookie. The allowed values are: ``strict``, ``lax``, ``none`` | ``string`` | No | +{{}} + +### Header + +The header defines an HTTP Header: + +```yaml +name: Host +value: example.com +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the header. | ``string`` | Yes | +|``value`` | The value of the header. | ``string`` | No | +{{}} + +### Action + +The action defines an action to perform for a request. + +In the example below, client requests are passed to an upstream `coffee`: + +```yaml + path: /coffee + action: + pass: coffee +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``pass`` | Passes requests to an upstream. The upstream with that name must be defined in the resource. | ``string`` | No | +|``redirect`` | Redirects requests to a provided URL. | [action.redirect](#actionredirect) | No | +|``return`` | Returns a preconfigured response. | [action.return](#actionreturn) | No | +|``proxy`` | Passes requests to an upstream with the ability to modify the request/response (for example, rewrite the URI or modify the headers). | [action.proxy](#actionproxy) | No | +{{}} + +\* -- an action must include exactly one of the following: `pass`, `redirect`, `return` or `proxy`. + +### Action.Redirect + +The redirect action defines a redirect to return for a request. + +In the example below, client requests are passed to a url `http://www.nginx.com`: + +```yaml +redirect: + url: http://www.nginx.com + code: 301 +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``url`` | The URL to redirect the request to. Supported NGINX variables: ``$scheme`` , ``$http_x_forwarded_proto`` , ``$request_uri`` , ``$host``. Variables must be enclosed in curly braces. For example: ``${host}${request_uri}``. | ``string`` | Yes | +|``code`` | The status code of a redirect. The allowed values are: ``301`` , ``302`` , ``307`` , ``308``. The default is ``301``. | ``int`` | No | +{{}} + +### Action.Return + +The return action defines a preconfigured response for a request. + +In the example below, NGINX will respond with the preconfigured response for every request: + +```yaml +return: + code: 200 + type: text/plain + body: "Hello World\n" + headers: + - name: x-coffee + value: espresso +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``code`` | The status code of the response. The allowed values are: ``2XX``, ``4XX`` or ``5XX``. The default is ``200``. | ``int`` | No | +|``type`` | The MIME type of the response. The default is ``text/plain``. | ``string`` | No | +|``body`` | The body of the response. Supports NGINX variables*. Variables must be enclosed in curly brackets. For example: ``Request is ${request_uri}\n``. | ``string`` | Yes | +|``headers`` | The custom headers of the response. | [[]Action.Return.Header](#actionreturnheader) | No | +{{}} + +\* -- Supported NGINX variables: `$request_uri`, `$request_method`, `$request_body`, `$scheme`, `$http_`, `$args`, `$arg_`, `$cookie_`, `$host`, `$request_time`, `$request_length`, `$nginx_version`, `$pid`, `$connection`, `$remote_addr`, `$remote_port`, `$time_iso8601`, `$time_local`, `$server_addr`, `$server_port`, `$server_name`, `$server_protocol`, `$connections_active`, `$connections_reading`, `$connections_writing` and `$connections_waiting`. + +### Action.Return.Header + +The header defines an HTTP Header for a canned response in an actionReturn: + +```yaml +name: x-coffee +value: espresso +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the header. | ``string`` | Yes | +|``value`` | The value of the header. | ``string`` | Yes | +{{}} + +### Action.Proxy + +The proxy action passes requests to an upstream with the ability to modify the request/response (for example, rewrite the URI or modify the headers). + +In the example below, the request URI is rewritten to `/`, and the request and the response headers are modified: + +```yaml +proxy: + upstream: coffee + requestHeaders: + pass: true + set: + - name: My-Header + value: Value + - name: Client-Cert + value: ${ssl_client_escaped_cert} + responseHeaders: + add: + - name: My-Header + value: Value + - name: IC-Nginx-Version + value: ${nginx_version} + always: true + hide: + - x-internal-version + ignore: + - Expires + - Set-Cookie + pass: + - Server + rewritePath: / +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``upstream`` | The name of the upstream which the requests will be proxied to. The upstream with that name must be defined in the resource. | ``string`` | Yes | +|``requestHeaders`` | The request headers modifications. | [action.Proxy.RequestHeaders](#actionproxyrequestheaders) | No | +|``responseHeaders`` | The response headers modifications. | [action.Proxy.ResponseHeaders](#actionproxyresponseheaders) | No | +|``rewritePath`` | The rewritten URI. If the route path is a regular expression -- starts with `~` -- the `rewritePath` can include capture groups with ``$1-9``. For example `$1` for the first group, and so on. For more information, check the [rewrite](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/rewrites) example. | ``string`` | No | +{{}} + +### Action.Proxy.RequestHeaders + +The RequestHeaders field modifies the headers of the request to the proxied upstream server. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``pass`` | Passes the original request headers to the proxied upstream server. See the [proxy_pass_request_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_request_headers) directive for more information. Default is true. | ``bool`` | No | +|``set`` | Allows redefining or appending fields to present request headers passed to the proxied upstream servers. See the [proxy_set_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header) directive for more information. | [[]header](#actionproxyrequestheaderssetheader) | No | +{{}} + +### Action.Proxy.RequestHeaders.Set.Header + +The header defines an HTTP Header: + +```yaml +name: My-Header +value: My-Value +``` + +It is possible to override the default value of the `Host` header, which NGINX Ingress Controller sets to [`$host`](https://nginx.org/en/docs/http/ngx_http_core_module.html#var_host): + +```yaml +name: Host +value: example.com +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the header. | ``string`` | Yes | +|``value`` | The value of the header. Supports NGINX variables*. Variables must be enclosed in curly brackets. For example: ``${scheme}``. | ``string`` | No | +{{}} + +\* -- Supported NGINX variables: `$request_uri`, `$request_method`, `$request_body`, `$scheme`, `$http_`, `$args`, `$arg_`, `$cookie_`, `$host`, `$request_time`, `$request_length`, `$nginx_version`, `$pid`, `$connection`, `$remote_addr`, `$remote_port`, `$time_iso8601`, `$time_local`, `$server_addr`, `$server_port`, `$server_name`, `$server_protocol`, `$connections_active`, `$connections_reading`, `$connections_writing`, `$connections_waiting`, `$ssl_cipher`, `$ssl_ciphers`, `$ssl_client_cert`, `$ssl_client_escaped_cert`, `$ssl_client_fingerprint`, `$ssl_client_i_dn`, `$ssl_client_i_dn_legacy`, `$ssl_client_raw_cert`, `$ssl_client_s_dn`, `$ssl_client_s_dn_legacy`, `$ssl_client_serial`, `$ssl_client_v_end`, `$ssl_client_v_remain`, `$ssl_client_v_start`, `$ssl_client_verify`, `$ssl_curves`, `$ssl_early_data`, `$ssl_protocol`, `$ssl_server_name`, `$ssl_session_id`, `$ssl_session_reused`, `$jwt_claim_` (NGINX Plus only) and `$jwt_header_` (NGINX Plus only). + +### Action.Proxy.ResponseHeaders + +The ResponseHeaders field modifies the headers of the response to the client. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``hide`` | The headers that will not be passed* in the response to the client from a proxied upstream server. See the [proxy_hide_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header) directive for more information. | ``[]string`` | No | +|``pass`` | Allows passing the hidden header fields* to the client from a proxied upstream server. See the [proxy_pass_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_header) directive for more information. | ``[]string`` | No | +|``ignore`` | Disables processing of certain headers** to the client from a proxied upstream server. See the [proxy_ignore_headers](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ignore_headers) directive for more information. | ``[]string`` | No | +|``add`` | Adds headers to the response to the client. | [[]addHeader](#addheader) | No | +{{}} + +\* -- Default hidden headers are: `Date`, `Server`, `X-Pad` and `X-Accel-...`. + +\** -- The following fields can be ignored: `X-Accel-Redirect`, `X-Accel-Expires`, `X-Accel-Limit-Rate`, `X-Accel-Buffering`, `X-Accel-Charset`, `Expires`, `Cache-Control`, `Set-Cookie` and `Vary`. + +### AddHeader + +The addHeader defines an HTTP Header with an optional `always` field: + +```yaml +name: My-Header +value: My-Value +always: true +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the header. | ``string`` | Yes | +|``value`` | The value of the header. Supports NGINX variables*. Variables must be enclosed in curly brackets. For example: ``${scheme}``. | ``string`` | No | +|``always`` | If set to true, add the header regardless of the response status code**. Default is false. See the [add_header](http://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header) directive for more information. | ``bool`` | No | +{{}} + +\* -- Supported NGINX variables: `$request_uri`, `$request_method`, `$request_body`, `$scheme`, `$http_`, `$args`, `$arg_`, `$cookie_`, `$host`, `$request_time`, `$request_length`, `$nginx_version`, `$pid`, `$connection`, `$remote_addr`, `$remote_port`, `$time_iso8601`, `$time_local`, `$server_addr`, `$server_port`, `$server_name`, `$server_protocol`, `$connections_active`, `$connections_reading`, `$connections_writing`, `$connections_waiting`, `$ssl_cipher`, `$ssl_ciphers`, `$ssl_client_cert`, `$ssl_client_escaped_cert`, `$ssl_client_fingerprint`, `$ssl_client_i_dn`, `$ssl_client_i_dn_legacy`, `$ssl_client_raw_cert`, `$ssl_client_s_dn`, `$ssl_client_s_dn_legacy`, `$ssl_client_serial`, `$ssl_client_v_end`, `$ssl_client_v_remain`, `$ssl_client_v_start`, `$ssl_client_verify`, `$ssl_curves`, `$ssl_early_data`, `$ssl_protocol`, `$ssl_server_name`, `$ssl_session_id`, `$ssl_session_reused`, `$jwt_claim_` (NGINX Plus only) and `$jwt_header_` (NGINX Plus only). + +{{< note >}} If `always` is false, the response header is added only if the response status code is any of `200`, `201`, `204`, `206`, `301`, `302`, `303`, `304`, `307` or `308`. {{< /note >}} + +### Split + +The split defines a weight for an action as part of the splits configuration. + +In the example below NGINX passes 80% of requests to the upstream `coffee-v1` and the remaining 20% to `coffee-v2`: + +```yaml +splits: +- weight: 80 + action: + pass: coffee-v1 +- weight: 20 + action: + pass: coffee-v2 +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``weight`` | The weight of an action. Must fall into the range ``0..100``. The sum of the weights of all splits must be equal to ``100``. | ``int`` | Yes | +|``action`` | The action to perform for a request. | [action](#action) | Yes | +{{}} + +### Match + +The match defines a match between conditions and an action or splits. + +In the example below, NGINX routes requests with the path `/coffee` to different upstreams based on the value of the cookie `user`: + +- `user=john` -> `coffee-future` +- `user=bob` -> `coffee-deprecated` +- If the cookie is not set or not equal to either `john` or `bob`, NGINX routes to `coffee-stable` + +```yaml +path: /coffee +matches: +- conditions: + - cookie: user + value: john + action: + pass: coffee-future +- conditions: + - cookie: user + value: bob + action: + pass: coffee-deprecated +action: + pass: coffee-stable +``` + +In the next example, NGINX routes requests based on the value of the built-in [`$request_method` variable](https://nginx.org/en/docs/http/ngx_http_core_module.html#var_request_method), which represents the HTTP method of a request: + +- all POST requests -> `coffee-post` +- all non-POST requests -> `coffee` + +```yaml +path: /coffee +matches: +- conditions: + - variable: $request_method + value: POST + action: + pass: coffee-post +action: + pass: coffee +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``conditions`` | A list of conditions. Must include at least 1 condition. | [[]condition](#condition) | Yes | +|``action`` | The action to perform for a request. | [action](#action) | No | +|``splits`` | The splits configuration for traffic splitting. Must include at least 2 splits. | [[]split](#split) | No | +{{}} + +{{< note >}} A match must include exactly one of the following: `action` or `splits`. {{< /note >}} + +### Condition + +The condition defines a condition in a match. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``header`` | The name of a header. Must consist of alphanumeric characters or ``-``. | ``string`` | No | +|``cookie`` | The name of a cookie. Must consist of alphanumeric characters or ``_``. | ``string`` | No | +|``argument`` | The name of an argument. Must consist of alphanumeric characters or ``_``. | ``string`` | No | +|``variable`` | The name of an NGINX variable. Must start with ``$``. See the list of the supported variables below the table. | ``string`` | No | +|``value`` | The value to match the condition against. How to define a value is shown below the table. | ``string`` | Yes | +{{}} + +{{< note >}} a condition must include exactly one of the following: `header`, `cookie`, `argument` or `variable`. {{< /note >}} + +Supported NGINX variables: `$args`, `$http2`, `$https`, `$remote_addr`, `$remote_port`, `$query_string`, `$request`, `$request_body`, `$request_uri`, `$request_method`, `$scheme`. Find the documentation for each variable [here](https://nginx.org/en/docs/varindex.html). + +The value supports two kinds of matching: + +- *Case-insensitive string comparison*. For example: + - `john` -- case-insensitive matching that succeeds for strings, such as `john`, `John`, `JOHN`. + - `!john` -- negation of the case-insensitive matching for john that succeeds for strings, such as `bob`, `anything`, `''` (empty string). +- *Matching with a regular expression*. Note that NGINX supports regular expressions compatible with those used by the Perl programming language (PCRE). For example: + - `~^yes` -- a case-sensitive regular expression that matches any string that starts with `yes`. For example: `yes`, `yes123`. + - `!~^yes` -- negation of the previous regular expression that succeeds for strings like `YES`, `Yes123`, `noyes`. (The negation mechanism is not part of the PCRE syntax). + - `~*no$` -- a case-insensitive regular expression that matches any string that ends with `no`. For example: `no`, `123no`, `123NO`. + +{{< note >}} A value must not include any unescaped double quotes (`"`) and must not end with an unescaped backslash (`\`). For example, the following are invalid values: `some"value`, `somevalue\`. {{< /note >}} + +### ErrorPage + +The errorPage defines a custom response for a route for the case when either an upstream server responds with (or NGINX generates) an error status code. The custom response can be a redirect or a canned response. See the [error_page](https://nginx.org/en/docs/http/ngx_http_core_module.html#error_page) directive for more information. + +```yaml +path: /coffee +errorPages: +- codes: [502, 503] + redirect: + code: 301 + url: https://nginx.org +- codes: [404] + return: + code: 200 + body: "Original resource not found, but success!" +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``codes`` | A list of error status codes. | ``[]int`` | Yes | +|``redirect`` | The redirect action for the given status codes. | [errorPage.Redirect](#errorpageredirect) | No | +|``return`` | The canned response action for the given status codes. | [errorPage.Return](#errorpagereturn) | No | +{{}} + +{{< note >}} An errorPage must include exactly one of the following: `return` or `redirect`. {{< /note >}} + +### ErrorPage.Redirect + +The redirect defines a redirect for an errorPage. + +In the example below, NGINX responds with a redirect when a response from an upstream server has a 404 status code. + +```yaml +codes: [404] +redirect: + code: 301 + url: ${scheme}://cafe.example.com/error.html +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``code`` | The status code of a redirect. The allowed values are: ``301`` , ``302`` , ``307`` , ``308``. The default is ``301``. | ``int`` | No | +|``url`` | The URL to redirect the request to. Supported NGINX variables: ``$scheme`` and ``$http_x_forwarded_proto``. Variables must be enclosed in curly braces. For example: ``${scheme}``. | ``string`` | Yes | +{{}} + +### ErrorPage.Return + +The return defines a canned response for an errorPage. + +In the example below, NGINX responds with a canned response when a response from an upstream server has either 401 or 403 status code. + +```yaml +codes: [401, 403] +return: + code: 200 + type: application/json + body: | + {\"msg\": \"You don't have permission to do this\"} + headers: + - name: x-debug-original-statuses + value: ${upstream_status} +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``code`` | The status code of the response. The default is the status code of the original response. | ``int`` | No | +|``type`` | The MIME type of the response. The default is ``text/html``. | ``string`` | No | +|``body`` | The body of the response. Supported NGINX variable: ``$upstream_status`` . Variables must be enclosed in curly braces. For example: ``${upstream_status}``. | ``string`` | Yes | +|``headers`` | The custom headers of the response. | [[]errorPage.Return.Header](#errorpagereturnheader) | No | +{{}} + +### ErrorPage.Return.Header + +The header defines an HTTP Header for a canned response in an errorPage: + +```yaml +name: x-debug-original-statuses +value: ${upstream_status} +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the header. | ``string`` | Yes | +|``value`` | The value of the header. Supported NGINX variable: ``$upstream_status`` . Variables must be enclosed in curly braces. For example: ``${upstream_status}``. | ``string`` | No | +{{}} + +## Using VirtualServer and VirtualServerRoute + +You can use the usual `kubectl` commands to work with VirtualServer and VirtualServerRoute resources, similar to Ingress resources. + +For example, the following command creates a VirtualServer resource defined in `cafe-virtual-server.yaml` with the name `cafe`: + +```shell +kubectl apply -f cafe-virtual-server.yaml +``` +```text +virtualserver.k8s.nginx.org "cafe" created +``` + +You can get the resource by running: + +```shell +kubectl get virtualserver cafe +``` +```text +NAME STATE HOST IP PORTS AGE +cafe Valid cafe.example.com 12.13.23.123 [80,443] 3m +``` + +In `kubectl get` and similar commands, you can use the short name `vs` instead of `virtualserver`. + +Similarly, for VirtualServerRoute you can use `virtualserverroute` or the short name `vsr`. + +### Using Snippets + +Snippets allow you to insert raw NGINX config into different contexts of NGINX configuration. In the example below, we use snippets to configure several NGINX features in a VirtualServer: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: VirtualServer +metadata: + name: cafe + namespace: cafe +spec: + http-snippets: | + limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s; + proxy_cache_path /tmp keys_zone=one:10m; + host: cafe.example.com + tls: + secret: cafe-secret + server-snippets: | + limit_req zone=mylimit burst=20; + upstreams: + - name: tea + service: tea-svc + port: 80 + - name: coffee + service: coffee-svc + port: 80 + routes: + - path: /tea + location-snippets: | + proxy_cache one; + proxy_cache_valid 200 10m; + action: + pass: tea + - path: /coffee + action: + pass: coffee +``` + +For additional information, view the [Advanced configuration with Snippets]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md" >}}) topic. + +### Validation + +Two types of validation are available for VirtualServer and VirtualServerRoute resources: + +- *Structural validation* by the `kubectl` and Kubernetes API server. +- *Comprehensive validation* by NGINX Ingress Controller. + +#### Structural Validation + +The custom resource definitions for VirtualServer and VirtualServerRoute include structural OpenAPI schema which describes the type of every field of those resources. + +If you try to create (or update) a resource that violates the structural schema (for example, you use a string value for the port field of an upstream), `kubectl` and Kubernetes API server will reject such a resource: + +- Example of `kubectl` validation: + + ```shell + kubectl apply -f cafe-virtual-server.yaml + ``` + ```text + error: error validating "cafe-virtual-server.yaml": error validating data: ValidationError(VirtualServer.spec.upstreams[0].port): invalid type for org.nginx.k8s.v1.VirtualServer.spec.upstreams.port: got "string", expected "integer"; if you choose to ignore these errors, turn validation off with --validate=false + ``` + +- Example of Kubernetes API server validation: + + ```shell + kubectl apply -f cafe-virtual-server.yaml --validate=false + ``` + ```text + The VirtualServer "cafe" is invalid: []: Invalid value: map[string]interface {}{ ... }: validation failure list: + spec.upstreams.port in body must be of type integer: "string" + ``` + +If a resource is not rejected (it doesn't violate the structural schema), NGINX Ingress Controller will validate it further. + +#### Comprehensive Validation + +NGINX Ingress Controller validates the fields of the VirtualServer and VirtualServerRoute resources. If a resource is invalid, NGINX Ingress Controller will reject it: the resource will continue to exist in the cluster, but NGINX Ingress Controller will ignore it. + +You can check if NGINX Ingress Controller successfully applied the configuration for a VirtualServer. For our example `cafe` VirtualServer, we can run: + +```shell +kubectl describe vs cafe +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal AddedOrUpdated 16s nginx-ingress-controller Configuration for default/cafe was added or updated +``` + +Note how the events section includes a Normal event with the AddedOrUpdated reason that informs us that the configuration was successfully applied. + +If you create an invalid resource, NGINX Ingress Controller will reject it and emit a Rejected event. For example, if you create a VirtualServer `cafe` with two upstream with the same name `tea`, you will get: + +```shell +kubectl describe vs cafe +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 12s nginx-ingress-controller VirtualServer default/cafe is invalid and was rejected: spec.upstreams[1].name: Duplicate value: "tea" +``` + +Note how the events section includes a Warning event with the Rejected reason. + +Additionally, this information is also available in the `status` field of the VirtualServer resource. Note the Status section of the VirtualServer: + +```shell +kubectl describe vs cafe +``` +```text +... +Status: + External Endpoints: + Ip: 12.13.23.123 + Ports: [80,443] + Message: VirtualServer default/cafe is invalid and was rejected: spec.upstreams[1].name: Duplicate value: "tea" + Reason: Rejected + State: Invalid +``` + +NGINX Ingress Controller validates VirtualServerRoute resources in a similar way. + +**Note**: If you make an existing resource invalid, NGINX Ingress Controller will reject it and remove the corresponding configuration from NGINX. + +## Customization using ConfigMap + +You can customize the NGINX configuration for VirtualServer and VirtualServerRoutes resources using the [ConfigMap](/nginx-ingress-controller/configuration/global-configuration/configmap-resource). Most of the ConfigMap keys are supported, with the following exceptions: + +- `proxy-hide-headers` +- `proxy-pass-headers` +- `hsts` +- `hsts-max-age` +- `hsts-include-subdomains` +- `hsts-behind-proxy` +- `redirect-to-https` +- `ssl-redirect` diff --git a/content/includes/nic/installation/create-common-resources.md b/content/includes/nic/installation/create-common-resources.md new file mode 100644 index 000000000..7cfe90e48 --- /dev/null +++ b/content/includes/nic/installation/create-common-resources.md @@ -0,0 +1,27 @@ +--- +docs: DOCS-1464 +--- + +In this section, you'll create resources that most NGINX Ingress Controller installations require: + +1. (Optional) Create a secret for the default NGINX server's TLS certificate and key. Complete this step only if you're using the [default server TLS secret]({{< ref "/nic/configuration/global-configuration/command-line-arguments#cmdoption-default-server-tls-secret.md" >}}) command-line argument. If you're not, feel free to skip this step. + + By default, the server returns a _404 Not Found_ page for all requests when no ingress rules are set up. Although we provide a self-signed certificate and key for testing purposes, we recommend using your own certificate. + + ```shell + kubectl apply -f examples/shared-examples/default-server-secret/default-server-secret.yaml + ``` + +2. Create a ConfigMap to customize your NGINX settings: + + ```shell + kubectl apply -f deployments/common/nginx-config.yaml + ``` + +3. Create an `IngressClass` resource. NGINX Ingress Controller won't start without an `IngressClass` resource. + + ```shell + kubectl apply -f deployments/common/ingress-class.yaml + ``` + + If you want to make this NGINX Ingress Controller instance your cluster's default, uncomment the `ingressclass.kubernetes.io/is-default-class` annotation. This action will auto-assign `IngressClass` to new ingresses that don't specify an `ingressClassName`. diff --git a/content/includes/nic/installation/create-custom-resources.md b/content/includes/nic/installation/create-custom-resources.md new file mode 100644 index 000000000..d7ad9ec27 --- /dev/null +++ b/content/includes/nic/installation/create-custom-resources.md @@ -0,0 +1,49 @@ +--- +docs: DOCS-1463 +--- + +To make sure your NGINX Ingress Controller pods reach the `Ready` state, you'll need to create custom resource definitions (CRDs) for various components. + +Alternatively, you can disable this requirement by setting the `-enable-custom-resources` command-line argument to `false`. + +There are two ways you can install the custom resource definitions: + +1. Using a URL to apply a single CRD yaml file, which we recommend. +1. Applying your local copy of the CRD yaml files, which requires you to clone the repository. + +The core custom CRDs are the following: + +- [VirtualServer and VirtualServerRoute]({{< ref "/nic/configuration/virtualserver-and-virtualserverroute-resources.md" >}}) +- [TransportServer]({{< ref "/nic/configuration/transportserver-resource.md" >}}) +- [Policy]({{< ref "/nic/configuration/policy-resource.md" >}}) +- [GlobalConfiguration]({{< ref "/nic/configuration/global-configuration/globalconfiguration-resource.md" >}}) + +{{}} + +{{%tab name="Install CRDs from single YAML"%}} + +```shell +kubectl apply -f https://raw.githubusercontent.com/nginx/kubernetes-ingress/v{{< nic-version >}}/deploy/crds.yaml +``` + +{{%/tab%}} + +{{%tab name="Install CRDs after cloning the repo"%}} + +{{< note >}} If you are installing the CRDs this way, ensure you have first cloned the repository. {{< /note >}} + +{{< note >}} Please make sure to read the steps outlined in [Upgrade to V4](https://docs.nginx.com/nginx-ingress-controller/installation/installing-nic/upgrade-to-v4/#update-custom-resource-apiversion) before running the CRD upgrade and perform the steps if applicable. +{{< /note >}} + + +```shell +kubectl apply -f config/crd/bases/k8s.nginx.org_virtualservers.yaml +kubectl apply -f config/crd/bases/k8s.nginx.org_virtualserverroutes.yaml +kubectl apply -f config/crd/bases/k8s.nginx.org_transportservers.yaml +kubectl apply -f config/crd/bases/k8s.nginx.org_policies.yaml +kubectl apply -f config/crd/bases/k8s.nginx.org_globalconfigurations.yaml +``` + +{{%/tab%}} + +{{}} diff --git a/content/includes/nic/installation/deploy-controller.md b/content/includes/nic/installation/deploy-controller.md new file mode 100644 index 000000000..5723c73ae --- /dev/null +++ b/content/includes/nic/installation/deploy-controller.md @@ -0,0 +1,10 @@ +--- +docs: DOCS-1462 +--- + +You have two options for deploying NGINX Ingress Controller: + +- **Deployment**. Choose this method for the flexibility to dynamically change the number of NGINX Ingress Controller replicas. +- **DaemonSet**. Choose this method if you want NGINX Ingress Controller to run on all nodes or a subset of nodes. + +Before you start, update the [command-line arguments]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md" >}}) for the NGINX Ingress Controller container in the relevant manifest file to meet your specific requirements. diff --git a/content/includes/nic/installation/download-jwt.md b/content/includes/nic/installation/download-jwt.md new file mode 100644 index 000000000..d89c65a43 --- /dev/null +++ b/content/includes/nic/installation/download-jwt.md @@ -0,0 +1,10 @@ +--- +docs: "DOCS-000" +--- + +1. Log in to [MyF5](https://my.f5.com/manage/s/). +2. Go to **My Products & Plans > Subscriptions** to see your active subscriptions. +3. Find your NGINX products or services subscription, and select the **Subscription ID** for details. +4. Download the **JSON Web Token (JWT)** from the subscription page. + +{{< note >}} The Connectivity Stack for Kubernetes JWT does not work with NGINX Plus reporting. A regular NGINX Plus instance JWT must be used. {{< /note >}} diff --git a/content/includes/nic/installation/jwt-password-note.md b/content/includes/nic/installation/jwt-password-note.md new file mode 100644 index 000000000..147c67af3 --- /dev/null +++ b/content/includes/nic/installation/jwt-password-note.md @@ -0,0 +1,11 @@ +--- +docs: +--- + +{{< note >}} For security, follow these practices with JSON Web Tokens (JWTs), passwords, and shell history: + +1. **JWTs:** JWTs are sensitive information. Store them securely. Delete them after use to prevent unauthorized access. + +1. **Shell history:** Commands that include JWTs or passwords are recorded in the history of your shell, in plain text. Clear your shell history after running such commands. For example, if you use bash, you can delete commands in your `~/.bash_history` file. Alternatively, you can run the `history -c` command to erase your shell history. + +Follow these practices to help ensure the security of your system and data. {{< /note >}} diff --git a/content/includes/nic/installation/manifests/daemonset.md b/content/includes/nic/installation/manifests/daemonset.md new file mode 100644 index 000000000..c19376eb2 --- /dev/null +++ b/content/includes/nic/installation/manifests/daemonset.md @@ -0,0 +1,21 @@ +--- +docs: DOCS-1465 +--- + +For additional context on managing containers using Kubernetes DaemonSets, refer to the official Kubernetes [DaemonSets](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) documentation. + +When you deploy NGINX Ingress Controller as a DaemonSet, Kubernetes creates an Ingress Controller pod on every node in the cluster. + +- For NGINX, run: + + ```shell + kubectl apply -f deployments/daemon-set/nginx-ingress.yaml + ``` + +- For NGINX Plus, run: + + ```shell + kubectl apply -f deployments/daemon-set/nginx-plus-ingress.yaml + ``` + + Update the `nginx-plus-ingress.yaml` file to include your chosen image from the F5 Container registry or your custom container image. diff --git a/content/includes/nic/installation/manifests/deployment.md b/content/includes/nic/installation/manifests/deployment.md new file mode 100644 index 000000000..3786a2256 --- /dev/null +++ b/content/includes/nic/installation/manifests/deployment.md @@ -0,0 +1,21 @@ +--- +docs: DOCS-1467 +--- + +For additional context on managing containers using Kubernetes Deployments, refer to the official Kubernetes [Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) documentation. + +When you deploy NGINX Ingress Controller as a Deployment, Kubernetes automatically sets up a single NGINX Ingress Controller pod. + +- For NGINX, run: + + ```shell + kubectl apply -f deployments/deployment/nginx-ingress.yaml + ``` + +- For NGINX Plus, run: + + ```shell + kubectl apply -f deployments/deployment/nginx-plus-ingress.yaml + ``` + + Update the `nginx-plus-ingress.yaml` file to include your chosen image from the F5 Container registry or your custom container image. diff --git a/content/includes/nic/installation/manifests/verify-pods-are-running.md b/content/includes/nic/installation/manifests/verify-pods-are-running.md new file mode 100644 index 000000000..9f11fa7b0 --- /dev/null +++ b/content/includes/nic/installation/manifests/verify-pods-are-running.md @@ -0,0 +1,10 @@ +--- +docs: DOCS-1466 +--- + + +To confirm the NGINX Ingress Controller pods are operational, run: + +```shell +kubectl get pods --namespace=nginx-ingress +``` diff --git a/content/includes/nic/rbac/set-up-rbac.md b/content/includes/nic/rbac/set-up-rbac.md new file mode 100644 index 000000000..a8bd5a176 --- /dev/null +++ b/content/includes/nic/rbac/set-up-rbac.md @@ -0,0 +1,33 @@ +--- +docs: DOCS-1468 +--- + +{{}}To complete these steps you need admin access to your cluster. Refer to to your Kubernetes platform's documentation to set up admin access. For Google Kubernetes Engine (GKE), you can refer to their [Role-Based Access Control guide](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).{{}} + +1. Create a namespace and a service account: + + ```shell + kubectl apply -f deployments/common/ns-and-sa.yaml + ``` + +2. Create a cluster role and binding for the service account: + + ```shell + kubectl apply -f deployments/rbac/rbac.yaml + ``` + +
      + +If you're planning to use NGINX App Protect or NGINX App Protect DoS, additional roles and bindings are needed. + +1. (NGINX App Protect only) Create the *App Protect* role and binding: + + ```shell + kubectl apply -f deployments/rbac/ap-rbac.yaml + ``` + +2. (NGINX App Protect DoS only) Create the *App Protect DoS* role and binding: + + ```shell + kubectl apply -f deployments/rbac/apdos-rbac.yaml + ``` diff --git a/content/nic/_index.md b/content/nic/_index.md new file mode 100644 index 000000000..8d93ce681 --- /dev/null +++ b/content/nic/_index.md @@ -0,0 +1,5 @@ +--- +title: NGINX Ingress Controller +menu: docs +url: /nginx-ingress-controller/ +--- diff --git a/content/nic/community.md b/content/nic/community.md new file mode 100644 index 000000000..4a10a6083 --- /dev/null +++ b/content/nic/community.md @@ -0,0 +1,23 @@ +--- +title: Community and contributing +weight: 2200 +nd-content-type: reference +nd-product: NIC +nd-docs: DOCS-1447 +--- + +There are a few ways to get involved with the F5 NGINX Ingress Controller community and contribute to the project. + +# Community + +- Our [GitHub issues page](https://github.com/nginx/kubernetes-ingress/issues) or [GitHub discussions page](https://github.com/nginx/kubernetes-ingress/discussions) offers more space for an asynchronous technical discussion. + +- You can can also get help through the [NGINX Community Forum](https://community.nginx.org/). + +# Contribute + +Please see our [contributing guide](https://github.com/nginx/kubernetes-ingress/blob/main/CONTRIBUTING.md) to get involved with code or documentation. + +# License + +[Apache License, Version 2.0](https://github.com/nginx/kubernetes-ingress/blob/main/LICENSE) diff --git a/content/nic/configuration/_index.md b/content/nic/configuration/_index.md new file mode 100644 index 000000000..5554b2f83 --- /dev/null +++ b/content/nic/configuration/_index.md @@ -0,0 +1,4 @@ +--- +title: Configuration +weight: 1400 +--- diff --git a/content/nic/configuration/access-control.md b/content/nic/configuration/access-control.md new file mode 100644 index 000000000..54fee5f91 --- /dev/null +++ b/content/nic/configuration/access-control.md @@ -0,0 +1,120 @@ +--- +title: Deploy a Policy for access control +weight: 900 +toc: true +docs: DOCS-000 +--- + +This topic describes how to use F5 NGINX Ingress Controller to apply and update a Policy for access control. It demonstrates it using an example application and a [VirtualServer custom resource]({{< ref "/nic/configuration/virtualserver-and-virtualserverroute-resources.md" >}}). + +--- + +## Before you begin + +You should have a [working NGINX Ingress Controller]({{< ref "/nic/installation/installing-nic/installation-with-helm.md" >}}) instance. + +For ease of use in shell commands, set two shell variables: + +1. The public IP address for your NGINX Ingress Controller instance. + +```shell +IC_IP= +``` + +2. The HTTP port of the same instance. + +```shell +IC_HTTP_PORT= +``` + +--- + +## Deploy the example application + +Create the file _webapp.yaml_ with the following contents: + +{{< ghcode "https://raw.githubusercontent.com/nginx/kubernetes-ingress/refs/heads/main/examples/custom-resources/access-control/webapp.yaml" >}} + +Apply it using `kubectl`: + +```shell +kubectl apply -f webapp.yaml +``` + +--- + +## Deploy a Policy to create a deny rule + +Create a file named _access-control-policy-deny.yaml_. The highlighted _deny_ field will be used by the example application, and should be changed to the subnet of your machine. + +{{< ghcode "https://raw.githubusercontent.com/nginx/kubernetes-ingress/refs/heads/main/examples/custom-resources/access-control/access-control-policy-deny.yaml" "hl_lines=7-8" >}} + +Apply the policy: + +```shell +kubectl apply -f access-control-policy-deny.yaml +``` + +--- + +## Configure load balancing + +Create a file named _virtual-server.yaml_ for the VirtualServer resource. The _policies_ field references the access control Policy created in the previous section. + +{{< ghcode "https://raw.githubusercontent.com/nginx/kubernetes-ingress/refs/heads/main/examples/custom-resources/access-control/virtual-server.yaml" "hl_lines=7-8" >}} + +Apply the policy: + +```shell +kubectl apply -f virtual-server.yaml +``` + +--- + +## Test the example application + +Use `curl` to attempt to access the application: + +```shell +curl --resolve webapp.example.com:$IC_HTTP_PORT:$IC_IP http://webapp.example.com:$IC_HTTP_PORT +``` +```text + +403 Forbidden + +

      403 Forbidden

      + + +``` + +The *403* response is expected, successfully blocking your machine. + +--- + +## Update the Policy to create an allow rule + +Update the Policy with the file _access-control-policy-allow.yaml_, setting the _allow_ field to the subnet of your machine. + +{{< ghcode "https://raw.githubusercontent.com/nginx/kubernetes-ingress/refs/heads/main/examples/custom-resources/access-control/access-control-policy-allow.yaml" "hl_lines=7-8" >}} + +Apply the Policy: + +```shell +kubectl apply -f access-control-policy-allow.yaml +``` + +---- + +## Verify the Policy update + +Attempt to access the application again: + +```shell +curl --resolve webapp.example.com:$IC_HTTP_PORT:$IC_IP http://webapp.example.com:$IC_HTTP_PORT +``` +```text +Server address: 10.64.0.13:8080 +Server name: webapp-5cbbc7bd78-wf85w +``` + +The successful response demonstrates that the policy has been updated. diff --git a/content/nic/configuration/configuration-examples.md b/content/nic/configuration/configuration-examples.md new file mode 100644 index 000000000..0a0e6e3bb --- /dev/null +++ b/content/nic/configuration/configuration-examples.md @@ -0,0 +1,13 @@ +--- +docs: DOCS-584 +doctypes: +- '' +title: Configuration examples +toc: true +weight: 400 +--- + +Our [GitHub repo](https://github.com/nginx/kubernetes-ingress) includes a number of configuration examples: + +- [*Examples of Custom Resources*](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources) show how to advanced NGINX features by using VirtualServer, VirtualServerRoute, TransportServer and Policy Custom Resources. +- [*Examples of Ingress Resources*](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources) show how to use advanced NGINX features in Ingress resources with annotations. diff --git a/content/nic/configuration/global-configuration/_index.md b/content/nic/configuration/global-configuration/_index.md new file mode 100644 index 000000000..4f71e2f5f --- /dev/null +++ b/content/nic/configuration/global-configuration/_index.md @@ -0,0 +1,8 @@ +--- +title: Global configuration +description: +weight: 100 +menu: + docs: + parent: NGINX Ingress Controller +--- diff --git a/content/nic/configuration/global-configuration/command-line-arguments.md b/content/nic/configuration/global-configuration/command-line-arguments.md new file mode 100644 index 000000000..79d8f3f02 --- /dev/null +++ b/content/nic/configuration/global-configuration/command-line-arguments.md @@ -0,0 +1,685 @@ +--- +docs: DOCS-585 +doctypes: +- '' +title: Command-line arguments +toc: true +weight: 100 +--- + +F5 NGINX Ingress Controller supports several command-line arguments, which are set based on installation method: + +- If you're using *Kubernetes Manifests* to install NGINX Ingress Controller, modify the Manifests to set the command-line arguments. View the [Installation with Manifests]({{}}) topic for more information. +- If you're using *Helm* to install NGINX Ingress Controller, modify the parameters of the Helm chart to set the command-line arguments. View the [Installation with Helm]({{}}) topic for more information. + + + +### -enable-snippets + +Enable custom NGINX configuration snippets in Ingress, VirtualServer, VirtualServerRoute and TransportServer resources. + +Default `false`. + + + +--- + +### -default-server-tls-secret `` + +Secret with a TLS certificate and key for TLS termination of the default server. + +- If not set, certificate and key in the file `/etc/nginx/secrets/default` are used. +- If `/etc/nginx/secrets/default` doesn't exist, NGINX Ingress Controller will configure NGINX to reject TLS connections to the default server. +- If a secret is set, but NGINX Ingress Controller is not able to fetch it from Kubernetes API, or it is not set and NGINX Ingress Controller fails to read the file "/etc/nginx/secrets/default", NGINX Ingress Controller will fail to start. + +Format: `/` + + + +--- + +### -wildcard-tls-secret `` + +A Secret with a TLS certificate and key for TLS termination of every Ingress/VirtualServer host for which TLS termination is enabled but the Secret is not specified. + +- If the argument is not set, for such Ingress/VirtualServer hosts NGINX will break any attempt to establish a TLS connection +- If the argument is set, but NGINX Ingress Controller is not able to fetch the Secret from Kubernetes API, NGINX Ingress Controller will fail to start. + +Format: `/` + + + +--- + +### -enable-custom-resources + +Enables custom resources. + +Default `true`. + + + + +--- + +### -enable-oidc + +Enables OIDC policies. + +Default `false`. + + + +--- + +### -enable-leader-election + +Enables Leader election to avoid multiple replicas of the controller reporting the status of Ingress, VirtualServer and VirtualServerRoute resources -- only one replica will report status. +Default `true`. + +See [-report-ingress-status](#cmdoption-report-ingress-status) flag. + + + +--- + +### -enable-tls-passthrough + +Enable TLS Passthrough on port 443. + +Requires [-enable-custom-resources](#cmdoption-enable-custom-resources). + + + +--- + +### -tls-passthrough-port `` + +Set the port for TLS Passthrough. +Format: `[1024 - 65535]` (default `443`) + +Requires [-enable-custom-resources](#cmdoption-enable-custom-resources). + + + +--- + +### -enable-cert-manager + +Enable x509 automated certificate management for VirtualServer resources using cert-manager (cert-manager.io). + +Requires [-enable-custom-resources](#cmdoption-enable-custom-resources). + + + +--- + +### -enable-external-dns + +Enable integration with ExternalDNS for configuring public DNS entries for VirtualServer resources using [ExternalDNS](https://github.com/kubernetes-sigs/external-dns). + +Requires [-enable-custom-resources](#cmdoption-enable-custom-resources). + + +--- + +### -external-service `` + +Specifies the name of the service with the type LoadBalancer through which the NGINX Ingress Controller pods are exposed externally. The external address of the service is used when reporting the status of Ingress, VirtualServer and VirtualServerRoute resources. + +For Ingress resources only: Requires [-report-ingress-status](#cmdoption-report-ingress-status). + + + +--- + +### -ingresslink `` + +Specifies the name of the IngressLink resource, which exposes the NGINX Ingress Controller pods via a BIG-IP system. The IP of the BIG-IP system is used when reporting the status of Ingress, VirtualServer and VirtualServerRoute resources. + +For Ingress resources only: Requires [-report-ingress-status](#cmdoption-report-ingress-status). + + + +--- + +### -global-configuration `` + +A GlobalConfiguration resource for global configuration of NGINX Ingress Controller. + +Format: `/` + +Requires [-enable-custom-resources](#cmdoption-enable-custom-resources). + + + +--- + +### -health-status + +Adds a location "/nginx-health" to the default server. The location responds with the 200 status code for any request. + +Useful for external health-checking of NGINX Ingress Controller. + + + +--- + +### -health-status-uri `` + +Sets the URI of health status location in the default server. Requires [-health-status](#cmdoption-health-status). (default `/nginx-health`) + + + +--- + +### -ingress-class `` + +The `-ingress-class` argument refers to the name of the resource `kind: IngressClass`. An IngressClass resource with a name equal to the class must be deployed. Otherwise, NGINX Ingress Controller will fail to start. +NGINX Ingress Controller will only process Ingress resources that belong to its class (Whose `ingressClassName` value matches the value of `-ingress-class`), skipping the ones without it. It will also process all the VirtualServer/VirtualServerRoute/TransportServer resources that do not have the `ingressClassName` field. + +Default `nginx`. + + + +--- + +### -ingress-template-path `` + +Path to the ingress NGINX configuration template for an ingress resource. Default for NGINX is `nginx.ingress.tmpl`; default for NGINX Plus is `nginx-plus.ingress.tmpl`. + + + +--- + +### -leader-election-lock-name `` + +Specifies the name of the ConfigMap, within the same namespace as the controller, used as the lock for leader election. + +Requires [-enable-leader-election](#cmdoption-enable-leader-election). + + + +--- + +### -log_backtrace_at `` + +When logging hits line `file:N`, emit a stack trace. + + + +--- + +### -main-template-path `` + +Path to the main NGINX configuration template. + +- Default for NGINX is `nginx.tmpl`. +- Default for NGINX Plus is `nginx-plus.tmpl`. + + + +--- + +### -nginx-configmaps `` + +A ConfigMap resource for customizing NGINX configuration. If a ConfigMap is set, but NGINX Ingress Controller is not able to fetch it from Kubernetes API, NGINX Ingress Controller will fail to start. + +Format: `/` + + + +--- + +### -mgmt-configmap `` + +The Management ConfigMap resource is used for customizing the NGINX mgmt block. If using NGINX Plus, a Management ConfigMap must be set. If NGINX Ingress Controller is not able to fetch it from Kubernetes API, NGINX Ingress Controller will fail to start. + +Format: `/` + + + +--- + +### -nginx-debug + +Enable debugging for NGINX. Uses the nginx-debug binary. Requires 'error-log-level: debug' in the ConfigMap. + + + +--- + +### -nginx-plus + +Enable support for NGINX Plus. + + + +--- + +### -nginx-reload-timeout `` + +Timeout in milliseconds which NGINX Ingress Controller will wait for a successful NGINX reload after a change or at the initial start. + +Default is 60000. + + + +--- + +### -nginx-status + +Enable the NGINX stub_status, or the NGINX Plus API. + +Default `true`. + + + +--- + +### -nginx-status-allow-cidrs `` + +Add IP/CIDR blocks to the allow list for NGINX stub_status or the NGINX Plus API. + +Separate multiple IP/CIDR by commas. (default `127.0.0.1,::1`) + + + +--- + +### -nginx-status-port `` + +Set the port where the NGINX stub_status or the NGINX Plus API is exposed. + +Format: `[1024 - 65535]` (default `8080`) + + + +--- + +### -proxy `` + +{{< warning >}} This argument is intended for testing purposes only. {{< /warning >}} + +Use a proxy server to connect to Kubernetes API started with `kubectl proxy`. + +NGINX Ingress Controller does not start NGINX and does not write any generated NGINX configuration files to disk. + + + +--- + +### -report-ingress-status + +Updates the address field in the status of Ingress resources. + +Requires the [-external-service](#cmdoption-external-service) or [-ingresslink](#cmdoption-ingresslink) flag, or the `external-status-address` key in the ConfigMap. + + + +--- + +### -transportserver-template-path `` + +Path to the TransportServer NGINX configuration template for a TransportServer resource. + +- Default for NGINX is `nginx.transportserver.tmpl`. +- Default for NGINX Plus is `nginx-plus.transportserver.tmpl`. + + + +--- + +### -log-level `` + +Log level for Ingress Controller logs. Allowed values: fatal, error, warn, info, debug, trace. + +- Default is `info`. + + + +--- + +### -log-format `` + +Log format for Ingress Controller logs. Allowed values: glog, json, text. + +- Default is `glog`. + + + +--- + +### -version + +Print the version, git-commit hash and build date and exit. + + + +--- + +### -virtualserver-template-path `` + +Path to the VirtualServer NGINX configuration template for a VirtualServer resource. + +- Default for NGINX is `nginx.virtualserver.tmpl`. +- Default for NGINX Plus is `nginx-plus.virtualserver.tmpl`. + + + + +--- + +### -vmodule `` + +A comma-separated list of pattern=N settings for file-filtered logging. + + + +--- + +### -watch-namespace `` + +Comma separated list of namespaces NGINX Ingress Controller should watch for resources. By default NGINX Ingress Controller watches all namespaces. Mutually exclusive with "watch-namespace-label". + + + +--- + +### -watch-namespace-label `` + +Configures NGINX Ingress Controller to watch only those namespaces with label foo=bar. By default NGINX Ingress Controller watches all namespaces. Mutually exclusive with "watch-namespace". + + + +--- + +### -watch-secret-namespace `` + +Comma separated list of namespaces NGINX Ingress Controller should watch for secrets. If this arg is not configured, NGINX Ingress Controller watches the same namespaces for all resources, see "watch-namespace" and "watch-namespace-label". All namespaces included with this argument must be part of either `-watch-namespace` or `-watch-namespace-label`. + + + +--- + +### -enable-prometheus-metrics + +Enables exposing NGINX or NGINX Plus metrics in the Prometheus format. + + + +--- + +### -prometheus-metrics-listen-port `` + +Sets the port where the Prometheus metrics are exposed. + +Format: `[1024 - 65535]` (default `9113`) + + + +--- + +### -prometheus-tls-secret `` + +A Secret with a TLS certificate and key for TLS termination of the Prometheus metrics endpoint. + +- If the argument is not set, the Prometheus endpoint will not use a TLS connection. +- If the argument is set, but NGINX Ingress Controller is not able to fetch the Secret from Kubernetes API, NGINX Ingress Controller will fail to start. + + + +--- + +### -enable-service-insight + +Exposes the Service Insight endpoint for Ingress Controller. + + + +--- + +### -service-insight-listen-port `` + +Sets the port where the Service Insight is exposed. + +Format: `[1024 - 65535]` (default `9114`) + + + +--- + +### -service-insight-tls-secret `` + +A Secret with a TLS certificate and key for TLS termination of the Service Insight endpoint. + +- If the argument is not set, the Service Insight endpoint will not use a TLS connection. +- If the argument is set, but NGINX Ingress Controller is not able to fetch the Secret from Kubernetes API, NGINX Ingress Controller will fail to start. + +Format: `/` + + + +--- + +### -spire-agent-address `` + +Specifies the address of a running Spire agent. **For use with NGINX Service Mesh only**. + +- If the argument is set, but NGINX Ingress Controller is unable to connect to the Spire Agent, NGINX Ingress Controller will fail to start. + + + + +--- + +### -enable-internal-routes + +Enable support for internal routes with NGINX Service Mesh. **For use with NGINX Service Mesh only**. + +Requires [-spire-agent-address](#cmdoption-spire-agent-address). + +- If the argument is set, but `spire-agent-address` is not provided, NGINX Ingress Controller will fail to start. + + + +--- + +### -enable-latency-metrics + +Enable collection of latency metrics for upstreams. +Requires [-enable-prometheus-metrics](#cmdoption-enable-prometheus-metrics). + + + +--- + +### -enable-app-protect + +Enables support for App Protect. + +Requires [-nginx-plus](#cmdoption-nginx-plus). + +- If the argument is set, but `nginx-plus` is set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -app-protect-log-level `` + +Sets log level for App Protect. Allowed values: fatal, error, warn, info, debug, trace. + +Requires [-nginx-plus](#cmdoption-nginx-plus) and [-enable-app-protect](#cmdoption-enable-app-protect). + +- If the argument is set, but `nginx-plus` and `enable-app-protect` are set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -enable-app-protect-dos + +Enables support for App Protect DoS. + +Requires [-nginx-plus](#cmdoption-nginx-plus). + +- If the argument is set, but `nginx-plus` is set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -app-protect-dos-debug + +Enable debugging for App Protect DoS. + +Requires [-nginx-plus](#cmdoption-nginx-plus) and [-enable-app-protect-dos](#cmdoption-enable-app-protect-dos). + +- If the argument is set, but `nginx-plus` and `enable-app-protect-dos` are set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -app-protect-dos-max-daemons + +Max number of ADMD instances. + +Default `1`. + +Requires [-nginx-plus](#cmdoption-nginx-plus) and [-enable-app-protect-dos](#cmdoption-enable-app-protect-dos). + +- If the argument is set, but `nginx-plus` and `enable-app-protect-dos` are set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -app-protect-dos-max-workers + +Max number of nginx processes to support. + +Default `Number of CPU cores in the machine`. + +Requires [-nginx-plus](#cmdoption-nginx-plus) and [-enable-app-protect-dos](#cmdoption-enable-app-protect-dos). + +- If the argument is set, but `nginx-plus` and `enable-app-protect-dos` are set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -app-protect-dos-memory + +RAM memory size to consume in MB + +Default `50% of free RAM in the container or 80MB, the smaller`. + +Requires [-nginx-plus](#cmdoption-nginx-plus) and [-enable-app-protect-dos](#cmdoption-enable-app-protect-dos). + +- If the argument is set, but `nginx-plus` and `enable-app-protect-dos` are set to false, NGINX Ingress Controller will fail to start. + + + +--- + +### -ready-status + +Enables the readiness endpoint `/nginx-ready`. The endpoint returns a success code when NGINX has loaded all the config after the startup. + +Default `true`. + + + +--- + +### -ready-status-port + +The HTTP port for the readiness endpoint. + +Format: `[1024 - 65535]` (default `8081`) + +--- + +### -disable-ipv6 + +Disable IPV6 listeners explicitly for nodes that do not support the IPV6 stack. + +Default `false`. + + + +--- + +### -default-http-listener-port + +Sets the port for the HTTP `default_server` listener. + +Default `80`. + + + +--- + +### -default-https-listener-port + +Sets the port for the HTTPS `default_server` listener. + +Default `443`. + + + +--- + +### -ssl-dynamic-reload + +Used to activate or deactivate lazy loading for SSL Certificates. + +The default value is `true`. + + + +--- + +### -weight-changes-dynamic-reload + +Enables the ability to change the weight distribution of two-way split clients without reloading NGINX. + +Requires [-nginx-plus](#cmdoption-nginx-plus). + +Using this feature may require increasing `map_hash_bucket_size`, `map_hash_max_size`, `variable_hash_bucket_size`, and `variable_hash_max_size` in the ConfigMap based on the number of two-way splits. + +The default value is `false`. + +- If the argument is set, but `nginx-plus` is set to false, NGINX Ingress Controller will ignore the flag. + + + +--- + +### -enable-telemetry-reporting + +Enable gathering and reporting of software telemetry. + +The default value is `true`. + + + +--- + +### -agent + +Enable NGINX Agent which can used with `-enable-app-protect` to send events to Security Monitoring. + +The default value is `false`. + + + +--- + +### -agent-instance-group + +Specify the instance group name to use for the NGINX Ingress Controller deployment when using `-agent`. + + diff --git a/content/nic/configuration/global-configuration/configmap-resource.md b/content/nic/configuration/global-configuration/configmap-resource.md new file mode 100644 index 000000000..711ac7065 --- /dev/null +++ b/content/nic/configuration/global-configuration/configmap-resource.md @@ -0,0 +1,250 @@ +--- +title: ConfigMap resources +weight: 300 +toc: true +type: how-to +product: NIC +docs: DOCS-586 +--- + +When using F5 NGINX Ingress Controller, you can customize or fine tune NGINX behavior using ConfigMap resources. Examples include setting the number of worker processes or customizing the access log format. + +## Using ConfigMap + +1. The [Installation with Manifests]({{< ref "/nic/installation/installing-nic/installation-with-manifests.md" >}}) documentation deploy an empty ConfigMap while the default installation manifests specify it in the command-line arguments of the Ingress Controller. However, if you customized the manifests, to use ConfigMap, make sure to specify the ConfigMap resource to use the [command-line arguments]({{< ref "/nic/configuration/global-configuration/command-line-arguments" >}}) of NGINX Ingress Controller. + +1. Create a ConfigMap file with the name *nginx-config.yaml* and set the values +that make sense for your setup: + + ```yaml + kind: ConfigMap + apiVersion: v1 + metadata: + name: nginx-config + namespace: nginx-ingress + data: + proxy-connect-timeout: "10s" + proxy-read-timeout: "10s" + client-max-body-size: "2m" + ``` + + See the section [Summary of ConfigMap Keys](#summary-of-configmap-keys) for the explanation of the available ConfigMap keys (such as `proxy-connect-timeout` in this example). + +1. Create a new (or update the existing) ConfigMap resource: + + ```shell + kubectl apply -f nginx-config.yaml + ``` + + The NGINX configuration will be updated. + +--- + +## ConfigMap and Ingress annotations + +ConfigMap applies globally, meaning that it affects every Ingress resource. In contrast, annotations always apply to their Ingress resource. Annotations can override some ConfigMap keys: an example is that the `nginx.org/proxy-connect-timeout` annotations overrides the `proxy-connect-timeout` ConfigMap key. + +For more information, view the [Advanced configuration with annotations]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations" >}}) topic. + +--- + +## ConfigMap and VirtualServer/VirtualServerRoute resources + +The ConfigMap affects every VirtualServer and VirtualServerRoute resources. However, the fields of those resources allow overriding some ConfigMap keys. For example, the `connect-timeout` field of the `upstream` overrides the `proxy-connect-timeout` ConfigMap key. + +For more information, view the [VirtualServer and VirtualServerRoute resources]({{< ref "/nic/configuration/virtualserver-and-virtualserverroute-resources" >}}) topic. + +--- + +## ConfigMap keys + +### Ingress Controller (Unrelated to NGINX Configuration) + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*external-status-address* | Sets the address to be reported in the status of Ingress resources. Requires the *-report-status* command-line argument. Overrides the *-external-service* argument. | N/A | [Reporting resource status]({{< ref "/nic/configuration/global-configuration/reporting-resources-status" >}}) | +{{}} + +--- + +### General customization + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*proxy-connect-timeout* | Sets the value of the [proxy_connect_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) and [grpc_connect_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_connect_timeout) directive. | *60s* | | +|*proxy-read-timeout* | Sets the value of the [proxy_read_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout) and [grpc_read_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_read_timeout) directive. | *60s* | | +|*proxy-send-timeout* | Sets the value of the [proxy_send_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout) and [grpc_send_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_send_timeout) directive. | *60s* | | +|*client-max-body-size* | Sets the value of the [client_max_body_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size) directive. | *1m* | | +|*proxy-buffering* | Enables or disables [buffering of responses](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) from the proxied server. | *True* | | +|*proxy-buffers* | Sets the value of the [proxy_buffers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directive. | Depends on the platform. | | +|*proxy-buffer-size* | Sets the value of the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) and [grpc_buffer_size](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_buffer_size) directives. | Depends on the platform. | | +|*proxy-max-temp-file-size* | Sets the value of the [proxy_max_temp_file_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size) directive. | *1024m* | | +|*set-real-ip-from* | Sets the value of the [set_real_ip_from](https://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from) directive. | N/A | | +|*real-ip-header* | Sets the value of the [real_ip_header](https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header) directive. | *X-Real-IP* | | +|*real-ip-recursive* | Enables or disables the [real_ip_recursive](https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_recursive) directive. | *False* | | +|*default-server-return* | Configures the [return](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return) directive in the default server, which handles a client request if none of the hosts of Ingress or VirtualServer resources match. The default value configures NGINX to return a 404 error page. You can configure a fixed response or a redirect. For example, *default-server-return: 302 https://nginx.org* will redirect a client to *https://nginx.org*. | *404* | | +|*server-tokens* | Enables or disables the [server_tokens](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens) directive. Additionally, with the NGINX Plus, you can specify a custom string value, including the empty string value, which disables the emission of the “Server” field. | *True* | | +|*worker-processes* | Sets the value of the [worker_processes](https://nginx.org/en/docs/ngx_core_module.html#worker_processes) directive. | *auto* | | +|*worker-rlimit-nofile* | Sets the value of the [worker_rlimit_nofile](https://nginx.org/en/docs/ngx_core_module.html#worker_rlimit_nofile) directive. | N/A | | +|*worker-connections* | Sets the value of the [worker_connections](https://nginx.org/en/docs/ngx_core_module.html#worker_connections) directive. | *1024* | | +|*worker-cpu-affinity* | Sets the value of the [worker_cpu_affinity](https://nginx.org/en/docs/ngx_core_module.html#worker_cpu_affinity) directive. | N/A | | +|*worker-shutdown-timeout* | Sets the value of the [worker_shutdown_timeout](https://nginx.org/en/docs/ngx_core_module.html#worker_shutdown_timeout) directive. | N/A | | +|*server-names-hash-bucket-size* | Sets the value of the [server_names_hash_bucket_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size) directive. | *256* | | +|*server-names-hash-max-size* | Sets the value of the [server_names_hash_max_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_max_size) directive. | *1024* | | +|*map-hash-bucket-size* | Sets the value of the [map_hash_bucket_size](http://nginx.org/en/docs/http/ngx_http_map_module.html#map_hash_bucket_size) directive.| *256* | | +|*map-hash-max-size* | Sets the value of the [map_hash_max_size](http://nginx.org/en/docs/http/ngx_http_map_module.html#map_hash_max_size) directive. | *2048* | | +|*resolver-addresses* | Sets the value of the [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) addresses. Note: If you use a DNS name (for example, *kube-dns.kube-system.svc.cluster.local* ) as a resolver address, NGINX Plus will resolve it using the system resolver during the start and on every configuration reload. If the name cannot be resolved or the DNS server doesn't respond, NGINX Plus will fail to start or reload. To avoid this, we recommend using IP addresses as resolver addresses instead of DNS names. Supported in NGINX Plus only. | N/A | [Support for Type ExternalName Services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/externalname-services). | +|*resolver-ipv6* | Enables IPv6 resolution in the resolver. Supported in NGINX Plus only. | *True* | [Support for Type ExternalName Services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/externalname-services). | +|*resolver-valid* | Sets the time NGINX caches the resolved DNS records. Supported in NGINX Plus only. | TTL value of a DNS record | [Support for Type ExternalName Services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/externalname-services). | +|*resolver-timeout* | Sets the [resolver_timeout](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver_timeout) for name resolution. Supported in NGINX Plus only. | *30s* | [Support for Type ExternalName Services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/externalname-services). | +|*keepalive-timeout* | Sets the value of the [keepalive_timeout](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout) directive. | *75s* | | +|*keepalive-requests* | Sets the value of the [keepalive_requests](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests) directive. | *1000* | | +|*variables-hash-bucket-size* | Sets the value of the [variables_hash_bucket_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#variables_hash_bucket_size) directive. | *256* | | +|*variables-hash-max-size* | Sets the value of the [variables-hash-max-size](https://nginx.org/en/docs/http/ngx_http_core_module.html#variables_hash_max_size) directive. | *1024* | | +{{}} + +--- + +### Logging + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*error-log-level* | Sets the global [error log level](https://nginx.org/en/docs/ngx_core_module.html#error_log) for NGINX. | *notice* | | +|*access-log* | Sets the directive [access log](https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log). A syslog destination is the only valid value. The value will be set to its default in-case user tries to configure it with location other than a syslog. +| ``/dev/stdout main`` | ``syslog:server=localhost:514`` | +|*access-log-off* | Disables the [access log](https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log). | *False* | | +|*default-server-access-log-off* | Disables the [access log](https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log) for the default server. If access log is disabled globally (*access-log-off: "True"*), then the default server access log is always disabled. | *False* | | +|*log-format* | Sets the custom [log format](https://nginx.org/en/docs/http/ngx_http_log_module.html#log_format) for HTTP and HTTPS traffic. For convenience, it is possible to define the log format across multiple lines (each line separated by *\n*). In that case, the Ingress Controller will replace every *\n* character with a space character. All *'* characters must be escaped. | See the [template file](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/internal/configs/version1/nginx.tmpl) for the access log. | [Custom Log Format](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/shared-examples/custom-log-format). | +|*log-format-escaping* | Sets the characters escaping for the variables of the log format. Supported values: *json* (JSON escaping), *default* (the default escaping) *none* (disables escaping). | *default* | | +|*stream-log-format* | Sets the custom [log format](https://nginx.org/en/docs/stream/ngx_stream_log_module.html#log_format) for TCP, UDP, and TLS Passthrough traffic. For convenience, it is possible to define the log format across multiple lines (each line separated by *\n*). In that case, the Ingress Controller will replace every *\n* character with a space character. All *'* characters must be escaped. | See the [template file](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/internal/configs/version1/nginx.tmpl). | | +|*stream-log-format-escaping* | Sets the characters escaping for the variables of the stream log format. Supported values: *json* (JSON escaping), *default* (the default escaping) *none* (disables escaping). | *default* | | +{{}} + +--- + +### Request URI/Header manipulation + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*proxy-hide-headers* | Sets the value of one or more [proxy_hide_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header) directives. Example: *"nginx.org/proxy-hide-headers": "header-a,header-b"* | N/A | | +|*proxy-pass-headers* | Sets the value of one or more [proxy_pass_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_header) directives. Example: *"nginx.org/proxy-pass-headers": "header-a,header-b"* | N/A | | +{{}} + +--- + +### Auth and SSL/TLS + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*redirect-to-https* | Sets the 301 redirect rule based on the value of the *http_x_forwarded_proto* header on the server block to force incoming traffic to be over HTTPS. Useful when terminating SSL in a load balancer in front of the Ingress Controller — see [115](https://github.com/nginx/kubernetes-ingress/issues/115) | *False* | | +|*ssl-redirect* | Sets an unconditional 301 redirect rule for all incoming HTTP traffic to force incoming traffic over HTTPS. | *True* | | +|*hsts* | Enables [HTTP Strict Transport Security (HSTS)](https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/) : the HSTS header is added to the responses from backends. The *preload* directive is included in the header. | *False* | | +|*hsts-max-age* | Sets the value of the *max-age* directive of the HSTS header. | *2592000* (1 month) | | +|*hsts-include-subdomains* | Adds the *includeSubDomains* directive to the HSTS header. | *False* | | +|*hsts-behind-proxy* | Enables HSTS based on the value of the *http_x_forwarded_proto* request header. Should only be used when TLS termination is configured in a load balancer (proxy) in front of the Ingress Controller. Note: to control redirection from HTTP to HTTPS configure the *nginx.org/redirect-to-https* annotation. | *False* | | +|*ssl-protocols* | Sets the value of the [ssl_protocols](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) directive. | *TLSv1 TLSv1.1 TLSv1.2* | | +|*ssl-prefer-server-ciphers* | Enables or disables the [ssl_prefer_server_ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_prefer_server_ciphers) directive. | *False* | | +|*ssl-ciphers* | Sets the value of the [ssl_ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers) directive. | *HIGH:!aNULL:!MD5* | | +|*ssl-dhparam-file* | Sets the content of the dhparam file. The controller will create the file and set the value of the [ssl_dhparam](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam) directive with the path of the file. | N/A | | +{{}} + +--- + +### Listeners + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*http2* | Enables HTTP/2 in servers with SSL enabled. | *False* | | +|*proxy-protocol* | Enables PROXY Protocol for incoming connections. | *False* | [Proxy Protocol](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/shared-examples/proxy-protocol). | +{{}} + +--- + +### Backend services (Upstreams) + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*lb-method* | Sets the [load balancing method](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#choosing-a-load-balancing-method). To use the round-robin method, specify *"round_robin"*. | *"random two least_conn"* | | +|*max-fails* | Sets the value of the [max_fails](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_fails) parameter of the *server* directive. | *1* | | +|*upstream-zone-size* | Sets the size of the shared memory [zone](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#zone) for upstreams. For NGINX, the special value 0 disables the shared memory zones. For NGINX Plus, shared memory zones are required and cannot be disabled. The special value 0 will be ignored. | *256k* for NGINX, *512k* for NGINX Plus | | +|*fail-timeout* | Sets the value of the [fail_timeout](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#fail_timeout) parameter of the *server* directive. | *10s* | | +|*keepalive* | Sets the value of the [keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) directive. Note that *proxy_set_header Connection "";* is added to the generated configuration when the value > 0. | *0* | | +{{}} + +--- + +### Zone Sync + +Zone Sync enables the [ngx_stream_zone_sync_module](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html) in NGINX Ingress Controller when NGINX Plus is used. Multiple replicas are required to effectively utililise this functionality. More information is available in the [How NGINX Plus Performs Zone Synchronization](https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync_details/) topic. + +Zone synchronization with TLS for NGINX Ingress Controller is not yet available with ConfigMap. If you would like to enable Zone Sync with TLS, please remove `zone-sync` from ConfigMap and add Zone Sync parameters via [`stream-snippets`]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md" >}}) similar to [this example](https://github.com/nginx/kubernetes-ingress/blob/v4.0.1/examples/custom-resources/oidc/nginx-config.yaml) and adding the [zone_sync_ssl directive](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync_ssl) along with any other TLS parameters to the `stream-snippets`. + +You will also need to manually add the headless service, such as in [this example](https://github.com/nginx/kubernetes-ingress/blob/v4.0.1/examples/custom-resources/oidc/nginx-ingress-headless.yaml). + +{{< caution >}} +If you previously installed OIDC or used the `zone_sync` directive with `stream-snippets` in [v4.0.1](https://github.com/nginx/kubernetes-ingress/tree/v4.0.1) or earlier, and you plan to enable the `zone-sync` ConfigMap key, the `zone_sync` directive should be removed from `stream-snippets`. + +If you encounter the error `error [emerg] 13#13: "zone_sync" directive is duplicate in /etc/nginx/nginx.conf:164` it is likely due to `zone_sync` being enabled in both `stream-snippets` and the ConfigMap. Once upgraded, remove the [old headless service](https://github.com/nginx/kubernetes-ingress/blob/v4.0.1/examples/custom-resources/oidc/nginx-ingress-headless.yaml) deployed for OIDC. +{{< /caution >}} + + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*zone-sync* | Enables zone synchronization between NGINX Ingress Controller Pods. This autogenerates a [zone_sync_server](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync_server) and a headless service using the `ReplicaSet` or `DaemonSet` name. Please note that this headless service will be automatically cleaned up when uninstalling via Helm or by removing the value from the ConfigMap. The headless service will need to be manually removed if the `controller.customConfigMap` value is set via Helm or the deployment is uninstalled via Manifests. Each Ingress Controller manages its own headless service. NGINX Plus Required. | *False* | | +|*zone-sync-port* | Specifies the optional port on which NGINX Ingress Controller listens for zone sync traffic. NGINX Plus & `zone-sync` Required. | *12345* | | +|*zone-sync-resolver-addresses* | Configures optional addresses used in the [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync. This field takes a comma separated list of addresses. NGINX Plus & `zone-sync` Required | `kube-dns.kube-system.svc.cluster.local` | | +|*zone-sync-resolver-ipv6* | Configures whether the optional [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync will look up IPv6 addresses. NGINX Plus & `zone-sync` Required | `true` | | +|*zone-sync-resolver-valid* | Configures an [NGINX time](https://nginx.org/en/docs/syntax.html) that the optional [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync will override the TTL value of responses from nameservers with. NGINX Plus & `zone-sync` Required | `5s` | | +{{}} + +--- + +### Snippets and custom templates + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*main-snippets* | Sets a custom snippet in main context. | N/A | | +|*http-snippets* | Sets a custom snippet in http context. | N/A | | +|*location-snippets* | Sets a custom snippet in location context. | N/A | | +|*server-snippets* | Sets a custom snippet in server context. | N/A | | +|*stream-snippets* | Sets a custom snippet in stream context. | N/A | [Support for TCP/UDP Load Balancing](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/tcp-udp). | +|*main-template* | Sets the main NGINX configuration template. | By default the template is read from the file in the container. | [Custom Templates](/nginx-ingress-controller/configuration/global-configuration/custom-templates). | +|*ingress-template* | Sets the NGINX configuration template for an Ingress resource. | By default the template is read from the file on the container. | [Custom Templates](/nginx-ingress-controller/configuration/global-configuration/custom-templates). | +|*virtualserver-template* | Sets the NGINX configuration template for an VirtualServer resource. | By default the template is read from the file on the container. | [Custom Templates](/nginx-ingress-controller/configuration/global-configuration/custom-templates). | +|*transportserver-template* | Sets the NGINX configuration template for a TransportServer resource. | By default the template is read from the file on the container. | [Custom Templates](/nginx-ingress-controller/configuration/global-configuration/custom-templates). | +{{}} + +--- + +### Modules + +{{}} +|ConfigMap Key | Description | Default | Example | +| ---| ---| ---| --- | +|*otel-exporter-endpoint* | OTLP/gRPC endpoint that will accept [OpenTelemetry](https://opentelemetry.io) data. Set `otel-trace-in-http` to *"true"* to enable OpenTelemetry at the global level. | N/A | *"https://otel-collector:4317"* | +|*otel-exporter-header-name* | The name of a custom HTTP header to add to telemetry export request. `otel-exporter-endpoint` and `otel-exporter-header-value` required. | N/A | *"X-custom-header"* | +|*otel-exporter-header-value* | The value of a custom HTTP header to add to telemetry export request. `otel-exporter-endpoint` and `otel-exporter-header-name` required. | N/A | *"custom-value"* | +|*otel-service-name* | Sets the `service.name` attribute of the OTel resource. `otel-exporter-endpoint` required. | N/A | *"nginx-ingress-controller:nginx"* | +| *otel-trace-in-http* | Enables [OpenTelemetry](https://opentelemetry.io) globally (for all Ingress, VirtualServer and VirtualServerRoute resources). Set this to *"false"* to enable OpenTelemetry for individual routes with snippets. `otel-exporter-endpoint` required. | *"false"* | *"true"* | +|*opentracing* | Removed in v5.0.0. Enables [OpenTracing](https://opentracing.io) globally (for all Ingress, VirtualServer and VirtualServerRoute resources). Note: requires the Ingress Controller image with OpenTracing module and a tracer. See the [docs]({{< ref "/nic/installation/integrations/opentracing.md" >}}) for more information. | *False* | | +|*opentracing-tracer* | Removed in v5.0.0. Sets the path to the vendor tracer binary plugin. | N/A | | +|*opentracing-tracer-config* | Removed in v5.0.0. Sets the tracer configuration in JSON format. | N/A | | +|*app-protect-compressed-requests-action* | Sets the *app_protect_compressed_requests_action* [global directive](/nginx-app-protect/configuration/#global-directives). | *drop* | | +|*app-protect-cookie-seed* | Sets the *app_protect_cookie_seed* [global directive](/nginx-app-protect/configuration/#global-directives). | Random automatically generated string | | +|*app-protect-failure-mode-action* | Sets the *app_protect_failure_mode_action* [global directive](/nginx-app-protect/configuration/#global-directives). | *pass* | | +|*app-protect-cpu-thresholds* | Sets the *app_protect_cpu_thresholds* [global directive](/nginx-app-protect/configuration/#global-directives). | *high=100 low=100* | | +|*app-protect-physical-memory-util-thresholds* | Sets the *app_protect_physical_memory_util_thresholds* [global directive](/nginx-app-protect/configuration/#global-directives). | *high=100 low=100* | | +|`app-protect-reconnect-period-seconds` | Sets the `app_protect_reconnect_period_seconds` [global directive](/nginx-app-protect/configuration/#global-directives). | `5` | | +|*app-protect-dos-log-format* | Sets the custom [log format](https://nginx.org/en/docs/http/ngx_http_log_module.html#log_format) for Dos Access log traffic. For convenience, it is possible to define the log format across multiple lines (each line separated by *\n*). In that case, the Ingress Controller will replace every *\n* character with a space character. All *'* characters must be escaped. | `, vs_name_al=$app_protect_dos_vs_name, ip=$remote_addr, tls_fp=$app_protect_dos_tls_fp, outcome=$app_protect_dos_outcome, reason=$app_protect_dos_outcome_reason, policy_name=$app_protect_dos_policy_name, dos_version=$app_protect_dos_version, ip_tls=$remote_addr:$app_protect_dos_tls_fp,` | | +|*app-protect-dos-log-format-escaping* | Sets the characters escaping for the variables of the stream log format. Supported values: *json* (JSON escaping), *default* (the default escaping) *none* (disables escaping). | *default* | | +|*app-protect-dos-arb-fqdn* | Sets the *app-protect-dos-arb-fqdn* [directive](/nginx-app-protect-dos/directives-and-policy/learn-about-directives-and-policy/#arbitrator-fqdn-directive-app_protect_dos_arb_fqdn). | *svc-appprotect-dos-arb* | | +{{}} diff --git a/content/nic/configuration/global-configuration/custom-templates.md b/content/nic/configuration/global-configuration/custom-templates.md new file mode 100644 index 000000000..589ce5951 --- /dev/null +++ b/content/nic/configuration/global-configuration/custom-templates.md @@ -0,0 +1,11 @@ +--- +docs: DOCS-587 +doctypes: +- '' +title: Custom templates +toc: true +weight: 500 +--- + + +F5 NGINX Ingress Controller uses templates to generate NGINX configuration for Ingress resources, VirtualServer resources and the main NGINX configuration file. You can customize the templates and apply them via the ConfigMap. See the [corresponding example](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/shared-examples/custom-templates). diff --git a/content/nic/configuration/global-configuration/globalconfiguration-resource.md b/content/nic/configuration/global-configuration/globalconfiguration-resource.md new file mode 100644 index 000000000..84b4e4002 --- /dev/null +++ b/content/nic/configuration/global-configuration/globalconfiguration-resource.md @@ -0,0 +1,183 @@ +--- +docs: DOCS-588 +doctypes: +- '' +title: GlobalConfiguration resource +toc: true +weight: 200 +--- + +This page explains how to use the GlobalConfiguration resource to define the global configuration parameters of F5 NGINX Ingress Controller. + +The resource supports configuring listeners for TCP and UDP load balancing, and is implemented as a [Custom resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). + +Listeners are required by [TransportServer resources]({{< ref "/nic/configuration/transportserver-resource.md" >}}) and can be used to [configure custom listeners for VirtualServers]({{< ref "/nic/tutorials/virtual-server-with-custom-listener-ports.md" >}}). + +--- + +## Prerequisites + +When [installing NGINX Ingress Controller using Manifests]({{< ref "/nic/installation/installing-nic/installation-with-manifests.md" >}}), you need to reference a GlobalConfiguration resource in the [`-global-configuration`](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments#cmdoption-global-configuration) command-line argument. NGINX Ingress Controller only needs one GlobalConfiguration resource. + +--- + +## GlobalConfiguration specification + +The GlobalConfiguration resource defines the global configuration parameters of the Ingress Controller. Below is an example: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: GlobalConfiguration +metadata: + name: nginx-configuration + namespace: nginx-ingress +spec: + listeners: + - name: dns-udp + port: 5353 + protocol: UDP + - name: dns-tcp + port: 5353 + protocol: TCP + - name: http-8083 + port: 8083 + protocol: HTTP + - name: https-8443 + port: 8443 + protocol: HTTP + ssl: true +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +| *listeners* | A list of listeners. | [listener](#listener) | No | +{{}} + +### Listener + +The `listeners:` key defines a listener (a combination of a protocol and a port) that NGINX will use to accept traffic for a [TransportServer]({{< ref "/nic/configuration/transportserver-resource.md" >}}) and a [VirtualServer]({{< ref "/nic/configuration/virtualserver-and-virtualserverroute-resources.md" >}}): + +```yaml +- name: dns-tcp + port: 5353 + protocol: TCP +- name: http-8083 + port: 8083 + protocol: HTTP +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +| *name* | The name of the listener. Must be a valid DNS label as defined in RFC 1035. For example, ``hello`` and ``listener-123`` are valid. The name must be unique among all listeners. The name ``tls-passthrough`` is reserved for the built-in TLS Passthrough listener and cannot be used. | *string* | Yes | +| *port* | The port of the listener. The port must fall into the range ``1..65535`` with the following exceptions: ``80``, ``443``, the [status port](/nginx-ingress-controller/logging-and-monitoring/status-page), the [Prometheus metrics port](/nginx-ingress-controller/logging-and-monitoring/prometheus). Among all listeners, only a single combination of a port-protocol is allowed. | *int* | Yes | +| *protocol* | The protocol of the listener. Supported values: ``TCP``, ``UDP`` and ``HTTP``. | *string* | Yes | +| *ssl* | Configures the listener with SSL. This is currently only supported for ``HTTP`` listeners. Default value is ``false`` | *bool* | No | +| *ipv4* | Specifies the IPv4 address to listen on. | *string* | No | +| *ipv6* | Specifies the IPv6 address to listen on. | *string* | No | + +{{}} + +--- + +## Using GlobalConfiguration + +You can use the usual `kubectl` commands to work with a GlobalConfiguration resource. + +For example, the following command creates a GlobalConfiguration resource defined in `global-configuration.yaml` with the name `nginx-configuration`: + +```shell +kubectl apply -f global-configuration.yaml +``` +```shell +globalconfiguration.k8s.nginx.org/nginx-configuration created +``` + +Assuming the namespace of the resource is `nginx-ingress`, you can get the resource by running: + +```shell +kubectl get globalconfiguration nginx-configuration -n nginx-ingress +``` +```shell +NAME AGE +nginx-configuration 13s +``` + +With `kubectl get` and similar commands, you can use the short name `gc` instead of `globalconfiguration`. + +--- + +### Validation + +Two types of validation are available for the GlobalConfiguration resource: + +- *Structural validation* by `kubectl` and Kubernetes API server. +- *Comprehensive validation* by NGINX Ingress Controller. + + +#### Structural validation + +The custom resource definition for the GlobalConfiguration includes structural OpenAPI schema which describes the type of every field of the resource. + +If you try to create (or update) a resource that violates the structural schema (for example, you use a string value for the port field of a listener), `kubectl` and Kubernetes API server will reject such a resource: + +- Example of `kubectl` validation: + + ```shell + kubectl apply -f global-configuration.yaml + ``` + ```text + error: error validating "global-configuration.yaml": error validating data: ValidationError(GlobalConfiguration.spec.listeners[0].port): invalid type for org.nginx.k8s.v1.GlobalConfiguration.spec.listeners.port: got "string", expected "integer"; if you choose to ignore these errors, turn validation off with --validate=false + ``` + +- Example of Kubernetes API server validation: + + ```shell + kubectl apply -f global-configuration.yaml --validate=false + ``` + ```text + The GlobalConfiguration "nginx-configuration" is invalid: []: Invalid value: map[string]interface {}{ ... }: validation failure list: + spec.listeners.port in body must be of type integer: "string" + ``` + +If a resource is not rejected (it doesn't violate the structural schema), NGINX Ingress Controller will validate it further. + +#### Comprehensive validation + +NGINX Ingress Controller validates the fields of a GlobalConfiguration resource. If a GlobalConfiguration resource is partially invalid, NGINX Ingress Controller use the valid listeners and emit events about invalid listeners. + +You can check if the Ingress Controller successfully applied the configuration for a GlobalConfiguration. For our `nginx-configuration` GlobalConfiguration, we can run: + +```shell +kubectl describe gc nginx-configuration -n nginx-ingress +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Updated 11s nginx-ingress-controller GlobalConfiguration nginx-ingress/nginx-configuration was updated +``` + +The events section includes a Normal event with the Updated reason that informs us that the configuration was successfully applied. + +If you create a GlobalConfiguration `nginx-configuration` with two or more listeners that have the same protocol UDP and port 53, you will get: + +```shell +kubectl describe gc nginx-configuration -n nginx-ingress +``` +```text +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Updated 55s nginx-ingress-controller GlobalConfiguration nginx-ingress/nginx-configuration was updated + Warning AddedOrUpdatedWithError 6s nginx-ingress-controller GlobalConfiguration nginx-ingress/nginx-configuration is invalid and was rejected: spec.listeners: Duplicate value: "Duplicated port/protocol combination 53/UDP" +``` + +The events section includes a Warning event with the AddedOrUpdatedWithError reason. + + +## Using IPV4 and IPV6 Addresses with GlobalConfiguration + +You can customize the IPv4 and IPv6 Address listeners in the global configuration and apply them to your VirtualServer resources. See the corresponding example [here](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/custom-ip-listeners/virtualserver/) diff --git a/content/nic/configuration/global-configuration/mgmt-configmap-resource.md b/content/nic/configuration/global-configuration/mgmt-configmap-resource.md new file mode 100644 index 000000000..e1d9a120c --- /dev/null +++ b/content/nic/configuration/global-configuration/mgmt-configmap-resource.md @@ -0,0 +1,50 @@ +--- +docs: DOCS-586 +doctypes: +- '' +title: Management ConfigMap resource +toc: true +weight: 300 +--- + +When using F5 NGINX Ingress Controller with NGINX Plus, it is required to pass a [command line argument]({{< ref "/nic/configuration/global-configuration/command-line-arguments" >}}) to NGINX Ingress Controller, `--mgmt-configmap=` which specifies the ConfigMap to use. The minimal required ConfigMap must have a `license-token-secret-name` key. Helm users will not need to create this map or pass the argument, it will be created with a Helm install. + +--- + +1. Create a ConfigMap file with the name *nginx-config-mgmt.yaml* and set the values +that make sense for your setup: + + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + name: nginx-config-mgmt + namespace: nginx-ingress + data: + license-token-secret-name: "license-token" + ``` +1. Create a new (or update the existing) ConfigMap resource: + + ```shell + kubectl apply -f nginx-config-mgmt.yaml + ``` + + The [NGINX Management](https://nginx.org/en/docs/ngx_mgmt_module.html) block configuration will be updated. +--- +## Management ConfigMap keys + +{{}} +|ConfigMap Key | Description | Default | +| ---| ---| ---| +|*license-token-secret-name* | Configures the secret used in the [license_token](https://nginx.org/en/docs/ngx_mgmt_module.html#license_token) directive. This key assumes the secret is in the Namespace that NGINX Ingress Controller is deployed in. The secret must be of type `nginx.com/license` with the base64 encoded JWT in the `license.jwt` key. | N/A | +|*ssl-verify* | Configures the [ssl_verify](https://nginx.org/en/docs/ngx_mgmt_module.html#ssl_verify) directive, which enables or disables verification of the usage reporting endpoint certificate. | `true` | +|*enforce-initial-report* | Configures the [enforce_initial_report](https://nginx.org/en/docs/ngx_mgmt_module.html#enforce_initial_report) directive, which enables or disables the 180-day grace period for sending the initial usage report. | `false` | +|*usage-report-endpoint* | Configures the endpoint of the [usage_report](https://nginx.org/en/docs/ngx_mgmt_module.html#usage_report) directive. This is used to configure the endpoint NGINX uses to send usage reports to NIM. | `product.connect.nginx.com` | +|*usage-report-interval* | Configures the interval of the [usage_report](https://nginx.org/en/docs/ngx_mgmt_module.html#usage_report) directive. This specifies the frequency that usage reports are sent. This field takes an [NGINX time](https://nginx.org/en/docs/syntax.html). | `1h` | +|*usage-report-proxy-host* | Configures the host name of the [proxy](https://nginx.org/en/docs/ngx_mgmt_module.html#proxy) directive with optional port. | N/A | +|*ssl-trusted-certificate-secret-name* | Configures the secret used to create the file(s) referenced the in [ssl_trusted_certifcate](https://nginx.org/en/docs/ngx_mgmt_module.html#ssl_trusted_certificate), and [ssl_crl](https://nginx.org/en/docs/ngx_mgmt_module.html#ssl_crl) directives. This key assumes the secret is in the Namespace that NGINX Ingress Controller is deployed in. The secret must be of type `nginx.org/ca`, where the `ca.crt` key contains a base64 encoded trusted cert, and the optional `ca.crl` key can contain a base64 encoded CRL. If the optional `ca.crl` key is supplied, it will configure the NGINX `ssl_crl` directive. | N/A | +|*ssl-certificate-secret-name* | Configures the secret used to create the `ssl_certificate` and `ssl_certificate_key` directives. This key assumes the secret is in the Namespace that NGINX Ingress Controller is deployed in. The secret must be of type `kubernetes.io/tls`| N/A | +|*resolver-addresses* | Configures addresses used in the mgmt block [resolver](https://nginx.org/en/docs/ngx_mgmt_module.html#resolver) directive. This field takes a comma separated list of addresses. | N/A | +|*resolver-ipv6* | Configures whether the mgmt block [resolver](https://nginx.org/en/docs/ngx_mgmt_module.html#resolver) directive will look up IPv6 addresses. | `true` | +|*resolver-valid* | Configures an [NGINX time](https://nginx.org/en/docs/syntax.html) that the mgmt block [resolver](https://nginx.org/en/docs/ngx_mgmt_module.html#resolver) directive will override the TTL value of responses from nameservers with. | N/A | +{{}} diff --git a/content/nic/configuration/global-configuration/reporting-resources-status.md b/content/nic/configuration/global-configuration/reporting-resources-status.md new file mode 100644 index 000000000..8e36733eb --- /dev/null +++ b/content/nic/configuration/global-configuration/reporting-resources-status.md @@ -0,0 +1,195 @@ +--- +docs: DOCS-589 +doctypes: +- '' +title: Reporting resource status +toc: true +weight: 600 +--- + +This page describes how to view the status of resources managed by F5 NGINX Ingress Controller. + +## Ingress resources + +An Ingress resource status includes the address (an IP address or a DNS name), through which the hosts of that Ingress resource are publicly accessible. + +You can see the address in the output of the `kubectl get ingress` command, in the ADDRESS column, as shown below: + +```shell +kubectl get ingresses +``` +```text +NAME HOSTS ADDRESS PORTS AGE +cafe-ingress cafe.example.com 12.13.23.123 80, 443 2m +``` + +NGINX Ingress Controller must be configured to report an Ingress status: + +1. Use the command-line flag `-report-ingress-status`. +1. Define a source for an external address. This can be either of: + 1. A user defined address, specified in the `external-status-address` ConfigMap key. + 1. A Service of the type LoadBalancer configured with an external IP or address and specified by the `-external-service` command-line flag. + +View the [ConfigMap keys](/nginx-ingress-controller/configuration/global-configuration/configmap-resource) and [Command-line arguments](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments) topics for more information. + +{{< note >}} NGINX Ingress Controller does not clear the status of Ingress resources when it is being shut down. {{< /note >}} + +## VirtualServer and VirtualServerRoute resources + +A VirtualServer or VirtualServerRoute resource includes the status field with information about the state of the resource and the IP address, through which the hosts of that resource are publicly accessible. + +You can see the status in the output of the `kubectl get virtualservers` or `kubectl get virtualserverroutes` commands as shown below: + +```shell +kubectl get virtualservers +``` +```text + NAME STATE HOST IP PORTS AGE + cafe Valid cafe.example.com 12.13.23.123 [80,443] 34s +``` + +To see an external hostname address associated with a VirtualServer resource, use the `-o wide` option: + +```shell +kubectl get virtualservers -o wide +``` +```text + NAME STATE HOST IP EXTERNALHOSTNAME PORTS AGE + cafe Valid cafe.example.com ae430f41a1a0042908655abcdefghijkl-12345678.eu-west-2.elb.amazonaws.com [80,443] 106s +``` + +{{< note >}} If there are multiple addresses, only the first one is shown. {{< /note >}} + +In order to see additional addresses or extra information about the `Status` of the resource, use the following command: + +```shell +kubectl describe virtualserver +``` +```text +... +Status: + External Endpoints: + Ip: 12.13.23.123 + Ports: [80,443] + Message: Configuration for cafe/cafe was added or updated + Reason: AddedOrUpdated + State: Valid +``` + +### Status specification + +The following fields are reported in both VirtualServer and VirtualServerRoute status: + +{{}} +|Field | Description | Type | +| ---| ---| --- | +|*State* | Current state of the resource. Can be ``Valid``, ``Warning`` an ``Invalid``. For more information, refer to the ``message`` field. | *string* | +|*Reason* | The reason of the last update. | *string* | +|*Message* | Additional information about the state. | *string* | +|*ExternalEndpoints* | A list of external endpoints for which the hosts of the resource are publicly accessible. | *[externalEndpoint](#externalendpoint)* | +{{}} + +The *ReferencedBy* field is reported for the VirtualServerRoute status only: + +{{}} +|Field | Description | Type | +| ---| ---| --- | +| *ReferencedBy* | The VirtualServer that references this VirtualServerRoute. Format as ``namespace/name`` | *string* | +{{}} + +### externalEndpoint + +{{}} +|Field | Description | Type | +| ---| ---| --- | +|``IP`` | The external IP address. | ``string`` | +|``Hostname`` | The external LoadBalancer Hostname address. | ``string`` | +|``Ports`` | A list of external ports. | ``string`` | +{{}} + +NGINX Ingress Controller must be configured to report a VirtualServer or VirtualServerRoute status: + +1. If you want NGINX Ingress Controller to report the `externalEndpoints`, define a source for an external address (The rest of the fields will be reported without the external address configured). This can be: + 1. A user defined address, specified in the `external-status-address` ConfigMap key. + 1. A Service of the type LoadBalancer configured with an external IP or address and specified by the `-external-service` command-line flag. + +View the [ConfigMap keys](/nginx-ingress-controller/configuration/global-configuration/configmap-resource) and [Command-line arguments](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments) topics for more information. + +{{< note >}} NGINX Ingress Controller does not clear the status of VirtualServer and VirtualServerRoute resources when it is being shut down. {{< /note >}} + +## Policy resources + +A Policy resource includes the status field with information about the state of the resource. + +You can see the status in the output of the `kubectl get policy` command as shown below: + +```shell +kubectl get policy +``` +```text + NAME STATE AGE + webapp-policy Valid 30s +``` + +In order to see additional addresses or extra information about the `Status` of the resource, use the following command: + +```shell +kubectl describe policy +``` +```text +... +Status: + Message: Configuration for default/webapp-policy was added or updated + Reason: AddedOrUpdated + State: Valid +``` + +### Status specification + +The following fields are reported in Policy status: + +{{}} +|Field | Description | Type | +| ---| ---| --- | +|``State`` | Current state of the resource. Can be ``Valid`` or ``Invalid``. For more information, refer to the ``message`` field. | ``string`` | +|``Reason`` | The reason of the last update. | ``string`` | +|``Message`` | Additional information about the state. | ``string`` | +{{}} + +## TransportServer resources + +A TransportServer resource includes the status field with information about the state of the resource. + +You can see the status in the output of the `kubectl get transportserver` command as shown below: + +```shell +kubectl get transportserver +``` +```text + NAME STATE REASON AGE + dns-tcp Valid AddedOrUpdated 47m +``` + +To see additional addresses or extra information about the `Status` of the resource, use the following command: + +```shell +kubectl describe transportserver +``` +```text +Status: + Message: Configuration for default/dns-tcp was added or updated + Reason: AddedOrUpdated + State: Valid +``` + +### Status specification + +The following fields are reported in TransportServer status: + +{{}} +|Field | Description | Type | +| ---| ---| --- | +| *State* | Current state of the resource. Can be ``Valid``, ``Warning`` or ``Invalid``. For more information, refer to the ``message`` field. | *string* | +| *Reason* | The reason of the last update. | *string* | +| *Message* | Additional information about the state. | *string* | +{{}} diff --git a/content/nic/configuration/host-and-listener-collisions.md b/content/nic/configuration/host-and-listener-collisions.md new file mode 100644 index 000000000..502ef830c --- /dev/null +++ b/content/nic/configuration/host-and-listener-collisions.md @@ -0,0 +1,168 @@ +--- +title: Host and Listener collisions +toc: true +weight: 800 +docs: DOCS-590 +--- + +This document explains how F5 NGINX Ingress Controller handles host and listener collisions between resources. + +--- + +## Winner Selection Algorithm + +If multiple resources contend for the same host or listener, NGINX Ingress Controller will pick the winner based on the `creationTimestamp` of the resources: the oldest resource will win. In case there are more than one oldest resource (their `creationTimestamp` is the same), NGINX Ingress Controller will choose the resource with the lexicographically smallest `uid`. + +{{< note >}} The `creationTimestamp` and `uid` fields are part of the [ObjectMeta](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/) resource. {{< /note >}} + +--- + +## Host collisions + +A host collision occurs when multiple Ingress, VirtualServer, and TransportServer (configured for TLS Passthrough) resources configure the same `host`. NGINX Ingress Controller has two strategies for handling host collisions: + +- Choosing a single "winner" resource to handle the host. +- Merging the configuration of the conflicting resources. + +--- + +### Choosing the winner + +Consider the following two resources: + +- `cafe-ingress` Ingress: + + ```yaml + apiVersion: networking.k8s.io/v1 + kind: Ingress + metadata: + name: cafe-ingress + spec: + ingressClassName: nginx + rules: + - host: cafe.example.com + . . . + ``` + +- `cafe-virtual-server` VirtualServer: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: VirtualServer + metadata: + name: cafe-virtual-server + spec: + host: cafe.example.com + . . . + ``` + +If a user creates both resources in the cluster, a host collision will occur. NGINX Ingress Controller will pick the winner using the [winner selection algorithm](#winner-selection-algorithm). + +If `cafe-virtual-server` was created first, it will win the host `cafe.example.com` and NGINX Ingress Controller will reject `cafe-ingress`. This will be reflected in the events and in the resource's status field: + +```shell +kubectl describe vs cafe-virtual-server +``` +```text +... +Status: + ... + Message: Configuration for default/cafe-virtual-server was added or updated + Reason: AddedOrUpdated + State: Valid +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal AddedOrUpdated 9s nginx-ingress-controller Configuration for default/cafe-virtual-server was added or updated +``` + +```shell +kubectl describe ingress cafe-ingress +``` +```text +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 66s nginx-ingress-controller All hosts are taken by other resources +``` + +Similarly, if `cafe-ingress` was created first, it will win `cafe.example.com` and NGINX Ingress Controller will reject `cafe-virtual-server`. + +{{< note >}} You can configure multiple hosts for Ingress resources, and its possible that an Ingress resource can be the winner for some of its hosts and a loser for the others. + +For example, if `cafe-ingress` had an additional rule host rule for `pub.example.com`, NGINX Ingress Controller would not reject the Ingress. Instead, it would allow `cafe-ingress` to handle `pub.example.com`. {{< /note >}} + +--- + +### Merging configuration for the same host + +It is possible to merge configuration for multiple Ingress resources for the same host. One common use case for this approach is distributing resources across multiple namespaces. + +The [Cross-namespace configuration]({{< ref "/nic/configuration/ingress-resources/cross-namespace-configuration.md">}}) topic has more information. + +It is *not* possible to merge the configurations for multiple VirtualServer resources for the same host. However, you can split the VirtualServers into multiple VirtualServerRoute resources, which a single VirtualServer can then reference. See the [corresponding example](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/cross-namespace-configuration) on GitHub. + +It is *not* possible to merge configuration for multiple TransportServer resources. + +--- + +## Listener/Host collisions + +Listener/Host collisions occur when multiple TransportServer resources (configured for TCP/UDP load balancing) specify the same combination of `spec.listener.name` and `spec.host`. + +The combination of `spec.listener.name` and `spec.host` must be unique among all TransportServer resources. If two TransportServer resources specify the same spec.listener.name and spec.host, one of them will be rejected to prevent conflicts. In the case where spec.host is not specified, it is considered an empty string. + +NGINX Ingress Controller will choose the winner, which will own that listener and host combination. + +--- + +### Choosing the winner + +Consider the following two resources: + +- `tcp-1` TransportServer: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: TransportServer + metadata: + name: tcp-1 + spec: + host: dns.example.com + listener: + name: dns-tcp + protocol: TCP + . . . + ``` + +- `tcp-2` TransportServer: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: TransportServer + metadata: + name: tcp-2 + spec: + host: dns.example.com + listener: + name: dns-tcp + protocol: TCP + . . . + ``` + +If a user creates both resources in the cluster, a listener collision will occur. As a result, NGINX Ingress Controller will pick the winner using the [winner selection algorithm](#winner-selection-algorithm). + +In our example, if `tcp-1` was created first, it will win the listener `dns-tcp` and NGINX Ingress Controller will reject `tcp-2`. This will be reflected in the events and in the resource's status field: + +```shell +kubectl describe ts tcp-2 +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 10s nginx-ingress-controller Listener dns-tcp is taken by another resource +``` + +Similarly, if `tcp-2` was created first, it will win `dns-tcp` and NGINX Ingress Controller will reject `tcp-1`. diff --git a/content/nic/configuration/ingress-resources/_index.md b/content/nic/configuration/ingress-resources/_index.md new file mode 100644 index 000000000..8a2b5b282 --- /dev/null +++ b/content/nic/configuration/ingress-resources/_index.md @@ -0,0 +1,8 @@ +--- +title: Ingress resources +description: +weight: 200 +menu: + docs: + parent: NGINX Ingress Controller +--- diff --git a/content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md b/content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md new file mode 100644 index 000000000..ee3dbc860 --- /dev/null +++ b/content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md @@ -0,0 +1,225 @@ +--- +docs: DOCS-591 +doctypes: +- '' +title: Advanced configuration with Annotations +toc: true +weight: 200 +--- + +This topic explains how to enable advanced features in F5 NGINX Ingress Controller with Annotations. + +The Ingress resource can use basic NGINX features such as host or path-based routing and TLS termination. Advanced features like rewriting the request URI or inserting additional response headers can be enabled with Annotations. + +Outside of advanced features, Annotations are necessary for customizing NGINX behavior such as setting the value of connection timeouts. + +Customization is also available through the [ConfigMap]({{< ref "/nic/configuration/global-configuration/configmap-resource.md" >}}) resources: Annotations take priority. + +## Using Annotations + +This example uses Annotations to customize the configuration for an Ingress resource: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: cafe-ingress-with-annotations + annotations: + nginx.org/proxy-connect-timeout: "30s" + nginx.org/proxy-read-timeout: "20s" + nginx.org/client-max-body-size: "4m" + nginx.org/server-snippets: | + location / { + return 302 /coffee; + } +spec: + rules: + - host: cafe.example.com + http: + paths: + - path: /tea + pathType: Prefix + backend: + service: + name: tea-svc + port: + number: 80 + - path: /coffee + pathType: Prefix + backend: + service: + name: coffee-svc + port: + number: 80 +``` + +## Validation + +NGINX Ingress Controller validates the annotations of Ingress resources. If an Ingress is invalid, NGINX Ingress Controller will reject it: the Ingress will continue to exist in the cluster, but NGINX Ingress Controller will ignore it. + +You can check if NGINX Ingress Controller successfully applied the configuration for an Ingress resource. For the example `cafe-ingress-with-annotations` Ingress, you can run: + +```shell +kubectl describe ing cafe-ingress-with-annotations +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal AddedOrUpdated 3s nginx-ingress-controller Configuration for default/cafe-ingress-with-annotations was added or updated +``` + +The events section includes a Normal event with the AddedOrUpdated reason that informs us that the configuration was successfully applied. + +If you create an invalid Ingress, NGINX Ingress Controller will reject it and emit a Rejected event. For example, if you create an Ingress `cafe-ingress-with-annotations`, with an annotation `nginx.org/redirect-to-https` set to `yes please` instead of `true`, you will get: + +```shell +kubectl describe ing cafe-ingress-with-annotations +``` +```text +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 13s nginx-ingress-controller annotations.nginx.org/redirect-to-https: Invalid value: "yes please": must be a boolean +``` + +Note how the events section includes a Warning event with the Rejected reason. + +{{< note >}} If you make an existing Ingress invalid, NGINX Ingress Controller will reject it and remove the corresponding configuration from NGINX. {{< /note >}} + +The `nginx.com/jwt-token` Ingress annotation has limited validation. + +## Summary of Annotations + +The table below summarizes the available annotations. + +{{< note >}} Annotations that start with `nginx.com` are only supported with NGINX Plus. {{< /note >}} + +### General customization + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/proxy-connect-timeout* | *proxy-connect-timeout* | Sets the value of the [proxy_connect_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) and [grpc_connect_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_connect_timeout) directive. | *60s* | | +| *nginx.org/proxy-read-timeout* | *proxy-read-timeout* | Sets the value of the [proxy_read_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout) and [grpc_read_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_read_timeout) directive. | *60s* | | +| *nginx.org/proxy-send-timeout* | *proxy-send-timeout* | Sets the value of the [proxy_send_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout) and [grpc_send_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_send_timeout) directive. | *60s* | | +| *nginx.org/client-max-body-size* | *client-max-body-size* | Sets the value of the [client_max_body_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size) directive. | *1m* | | +| *nginx.org/proxy-buffering* | *proxy-buffering* | Enables or disables [buffering of responses](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) from the proxied server. | *True* | | +| *nginx.org/proxy-buffers* | *proxy-buffers* | Sets the value of the [proxy_buffers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directive. | Depends on the platform. | | +| *nginx.org/proxy-buffer-size* | *proxy-buffer-size* | Sets the value of the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) and [grpc_buffer_size](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_buffer_size) directives. | Depends on the platform. | | +| *nginx.org/proxy-max-temp-file-size* | *proxy-max-temp-file-size* | Sets the value of the [proxy_max_temp_file_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size) directive. | *1024m* | | +| *nginx.org/server-tokens* | *server-tokens* | Enables or disables the [server_tokens](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens) directive. Additionally, with the NGINX Plus, you can specify a custom string value, including the empty string value, which disables the emission of the “Server” field. | *True* | | +| *nginx.org/path-regex* | N/A | Enables regular expression modifiers for Ingress path parameter. This translates to the NGINX [location](https://nginx.org/en/docs/http/ngx_http_core_module.html#location) directive. You can specify one of these values: "case_sensitive", "case_insensitive", or "exact". The annotation is applied to the entire Ingress resource and its paths. While using Master and Minion Ingresses i.e. Mergeable Ingresses, this annotation can be specified on Minion types. The `path-regex` annotation specified on Master is ignored, and has no effect on paths defined on Minions. | N/A | [path-regex](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/path-regex) | +{{}} + +### Request URI/Header Manipulation + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/proxy-hide-headers* | *proxy-hide-headers* | Sets the value of one or more [proxy_hide_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header) directives. Example: ``"nginx.org/proxy-hide-headers": "header-a,header-b"* | N/A | | +| *nginx.org/proxy-pass-headers* | *proxy-pass-headers* | Sets the value of one or more [proxy_pass_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_header) directives. Example: ``"nginx.org/proxy-pass-headers": "header-a,header-b"* | N/A | | +| *nginx.org/rewrites* | N/A | Configures URI rewriting using [proxy_pass](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass) directive. | N/A | [rewrites](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/rewrites) | +|*nginx.org/proxy-set-headers* | N/A | Enables customization of proxy headers and values using the [proxy_set_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header) directive. Example: ``"nginx.org/proxy-set-headers": "header-a: valueA,header-b: valueB,header-c: valueC"`` | N/A | [Proxy Set Headers](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/proxy-set-headers). | +{{}} + +### Auth and SSL/TLS + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/redirect-to-https* | *redirect-to-https* | Sets the 301 redirect rule based on the value of the ``http_x_forwarded_proto* header on the server block to force incoming traffic to be over HTTPS. Useful when terminating SSL in a load balancer in front of NGINX Ingress Controller — see [115](https://github.com/nginx/kubernetes-ingress/issues/115) | *False* | | +| *ingress.kubernetes.io/ssl-redirect* | *ssl-redirect* | Sets an unconditional 301 redirect rule for all incoming HTTP traffic to force incoming traffic over HTTPS. | *True* | | +| *nginx.org/hsts* | *hsts* | Enables [HTTP Strict Transport Security (HSTS)](https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/)\ : the HSTS header is added to the responses from backends. The ``preload* directive is included in the header. | *False* | | +| *nginx.org/hsts-max-age* | *hsts-max-age* | Sets the value of the ``max-age* directive of the HSTS header. | *2592000* (1 month) | | +| *nginx.org/hsts-include-subdomains* | *hsts-include-subdomains* | Adds the ``includeSubDomains* directive to the HSTS header. | *False* | | +| *nginx.org/hsts-behind-proxy* | *hsts-behind-proxy* | Enables HSTS based on the value of the ``http_x_forwarded_proto* request header. Should only be used when TLS termination is configured in a load balancer (proxy) in front of NGINX Ingress Controller. Note: to control redirection from HTTP to HTTPS configure the ``nginx.org/redirect-to-https* annotation. | *False* | | +| *nginx.org/basic-auth-secret* | N/A | Specifies a Secret resource with a user list for HTTP Basic authentication. | N/A | | +| *nginx.org/basic-auth-realm* | N/A | Specifies a realm. | N/A | | +| *nginx.com/jwt-key* | N/A | Specifies a Secret resource with keys for validating JSON Web Tokens (JWTs). | N/A | [Support for JSON Web Tokens (JWTs)](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/jwt). | +| *nginx.com/jwt-realm* | N/A | Specifies a realm. | N/A | [Support for JSON Web Tokens (JWTs)](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/jwt). | +| *nginx.com/jwt-token* | N/A | Specifies a variable that contains a JSON Web Token. | By default, a JWT is expected in the ``Authorization* header as a Bearer Token. | [Support for JSON Web Tokens (JWTs)](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/jwt). | +| *nginx.com/jwt-login-url* | N/A | Specifies a URL to which a client is redirected in case of an invalid or missing JWT. | N/A | [Support for JSON Web Tokens (JWTs)](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/jwt). | +{{}} + +### Listeners + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/listen-ports* | N/A | Configures HTTP ports that NGINX will listen on. | *[80]* | | +| *nginx.org/listen-ports-ssl* | N/A | Configures HTTPS ports that NGINX will listen on. | *[443]* | | +{{}} + +### Backend services (Upstreams) + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/lb-method* | *lb-method* | Sets the [load balancing method](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#choosing-a-load-balancing-method). To use the round-robin method, specify ``"round_robin"``. | *"random two least_conn"* | | +| *nginx.org/ssl-services* | N/A | Enables HTTPS or gRPC over SSL when connecting to the endpoints of services. | N/A | [ssl-services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/ssl-services) | +| *nginx.org/grpc-services* | N/A | Enables gRPC for services. Note: requires HTTP/2 (see ``http2* ConfigMap key); only works for Ingresses with TLS termination enabled. | N/A | [grpc-services](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/grpc-services) | +| *nginx.org/websocket-services* | N/A | Enables WebSocket for services. | N/A | [websocket](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/websocket) | +| *nginx.org/max-fails* | *max-fails* | Sets the value of the [max_fails](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_fails) parameter of the ``server* directive. | *1* | | +| *nginx.org/max-conns* | N\A | Sets the value of the [max_conns](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_conns) parameter of the ``server* directive. | *0* | | +| *nginx.org/upstream-zone-size* | *upstream-zone-size* | Sets the size of the shared memory [zone](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#zone) for upstreams. For NGINX, the special value 0 disables the shared memory zones. For NGINX Plus, shared memory zones are required and cannot be disabled. The special value 0 will be ignored. | *256K* | | +| *nginx.org/fail-timeout* | *fail-timeout* | Sets the value of the [fail_timeout](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#fail_timeout) parameter of the ``server* directive. | *10s* | | +| *nginx.com/sticky-cookie-services* | N/A | Configures session persistence. | N/A | [session-persistence](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/session-persistence) | +| *nginx.org/keepalive* | *keepalive* | Sets the value of the [keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) directive. Note that ``proxy_set_header Connection "";* is added to the generated configuration when the value > 0. | *0* | | +| *nginx.com/health-checks* | N/A | Enables active health checks. | *False* | [health-checks](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/health-checks) | +| *nginx.com/health-checks-mandatory* | N/A | Configures active health checks as mandatory. | *False* | [health-checks](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/health-checks) | +| *nginx.com/health-checks-mandatory-queue* | N/A | When active health checks are mandatory, creates a queue where incoming requests are temporarily stored while NGINX Plus is checking the health of the endpoints after a configuration reload. | *0* | [health-checks](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/health-checks) | +| *nginx.com/slow-start* | N/A | Sets the upstream server [slow-start period](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#server-slow-start). By default, slow-start is activated after a server becomes [available](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/#passive-health-checks) or [healthy](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/#active-health-checks). To enable slow-start for newly-added servers, configure [mandatory active health checks](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/health-checks). | *"0s"* | | +| *nginx.org/use-cluster-ip* | N/A | Enables using the Cluster IP and port of the service instead of the default behavior of using the IP and port of the pods. When this field is enabled, the fields that configure NGINX behavior related to multiple upstream servers (like ``lb-method* and ``next-upstream``) will have no effect, as NGINX Ingress Controller will configure NGINX with only one upstream server that will match the service Cluster IP. | *False* | | +{{}} + +### Rate limiting + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/limit-req-rate* | N/A | Enables request-rate-limiting for this ingress by creating a [limit_req_zone](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone) and matching [limit_req](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req) for each location. All servers/locations of one ingress share the same zone. Must have unit r/s or r/m. | N/A | 200r/s | +| *nginx.org/limit-req-key* | N/A | The key to which the rate limit is applied. Can contain text, variables, or a combination of them. Variables must be surrounded by ${}. | ${binary_remote_addr} | ${binary_remote_addr} | +| *nginx.org/limit-req-zone-size* | N/A | Configures the size of the created [limit_req_zone](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone). | 10m | 20m | +| *nginx.org/limit-req-delay* | N/A | Configures the delay-parameter of the [limit_req](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req) directive. | 0 | 100 | +| *nginx.org/limit-req-no-delay* | N/A | Configures the nodelay-parameter of the [limit_req](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req) directive. | false | true | +| *nginx.org/limit-req-burst* | N/A | Configures the burst-parameter of the [limit_req](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req) directive. | N/A | 100 | +| *nginx.org/limit-req-dry-run* | N/A | Enables the dry run mode. In this mode, the rate limit is not actually applied, but the number of excessive requests is accounted as usual in the shared memory zone. | false | true | +| *nginx.org/limit-req-log-level* | N/A | Sets the desired logging level for cases when the server refuses to process requests due to rate exceeding, or delays request processing. Allowed values are info, notice, warn or error. | error | info | +| *nginx.org/limit-req-reject-code* | N/A | Sets the status code to return in response to rejected requests. Must fall into the range 400..599. | 429 | 503 | +| *nginx.org/limit-req-scale* | N/A | Enables a constant rate-limit by dividing the configured rate by the number of nginx-ingress pods currently serving traffic. This adjustment ensures that the rate-limit remains consistent, even as the number of nginx-pods fluctuates due to autoscaling. Note: This will not work properly if requests from a client are not evenly distributed accross all ingress pods (sticky sessions, long lived TCP-Connections with many requests etc.). In such cases using [zone-sync]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#zone-sync" >}}) instead would give better results. Enabling `zone-sync` will suppress this setting. | false | true | +{{}} + +### Snippets and custom templates + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *nginx.org/location-snippets* | *location-snippets* | Sets a custom snippet in location context. | N/A | | +| *nginx.org/server-snippets* | *server-snippets* | Sets a custom snippet in server context. | N/A | | +{{}} + +### App Protect WAF {#app-protect} + +{{< note >}} The App Protect annotations only work if the App Protect WAF module is [installed]({{< ref "/nic/installation/integrations/app-protect-waf/installation.md" >}}). {{< /note >}} + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *appprotect.f5.com/app-protect-policy* | N/A | The name of the App Protect Policy for the Ingress Resource. Format is ``namespace/name``. If no namespace is specified, the same namespace of the Ingress Resource is used. If not specified but ``appprotect.f5.com/app-protect-enable* is true, a default policy id applied. If the referenced policy resource does not exist, or policy is invalid, this annotation will be ignored, and the default policy will be applied. | N/A | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | +| *appprotect.f5.com/app-protect-enable* | N/A | Enable App Protect for the Ingress Resource. | *False* | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | +| *appprotect.f5.com/app-protect-security-log-enable* | N/A | Enable the [security log](/nginx-app-protect/troubleshooting/#app-protect-logging-overview) for App Protect. | *False* | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | +| *appprotect.f5.com/app-protect-security-log* | N/A | The App Protect log configuration for the Ingress Resource. Format is ``namespace/name``. If no namespace is specified, the same namespace as the Ingress Resource is used. If not specified the default is used which is: filter: ``illegal``, format: ``default``. Multiple configurations can be specified in a comma separated list. Both log configurations and destinations list (see below) must be of equal length. Configs and destinations are paired by the list indices. | N/A | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | +| *appprotect.f5.com/app-protect-security-log-destination* | N/A | The destination of the security log. For more information check the [DESTINATION argument](/nginx-app-protect/troubleshooting/#app-protect-logging-overview). Multiple destinations can be specified in a comma-separated list. Both log configurations and destinations list (see above) must be of equal length. Configs and destinations are paired by the list indices. | *syslog:server=localhost:514* | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | +{{}} + +### App Protect DoS + +{{< note >}} The App Protect DoS annotations only work if the App Protect DoS module is [installed]({{< ref "/nic/installation/integrations/app-protect-dos/installation.md" >}}). {{< /note >}} + +{{}} +|Annotation | ConfigMap Key | Description | Default | Example | +| ---| ---| ---| ---| --- | +| *appprotectdos.f5.com/app-protect-dos-resource* | N/A | Enable App Protect DoS for the Ingress Resource by specifying a [DosProtectedResource]({{< ref "/nic/installation/integrations/app-protect-dos/dos-protected.md" >}}). | N/A | [app-protect-dos](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-dos) | +{{}} diff --git a/content/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md b/content/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md new file mode 100644 index 000000000..0060a7e3b --- /dev/null +++ b/content/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md @@ -0,0 +1,128 @@ +--- +docs: DOCS-592 +doctypes: +- '' +title: Advanced configuration with Snippets +toc: true +weight: 400 +--- + +Snippets allow you to insert raw NGINX config into different contexts of the NGINX configurations that F5 NGINX Ingress Controller generates. + +Snippets are intended for advanced NGINX users who need more control over the generated NGINX configuration, and can be used in cases where Annotations and ConfigMap entries would not apply. + + + +## Disadvantages of snippets + +Snippets are configured [using Annotations]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#snippets-and-custom-templates" >}}), but are disabled by default due to their complexity. They are also available through the [ConfigMap]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#snippets-and-custom-templates" >}}) resource. + +To use snippets, set the [`enable-snippets`]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-enable-snippets" >}}) command-line argument. + +Snippets have the following disadvantages: + +- *Complexity*. Snippets require you to: + - Understand NGINX configuration primitives and implement a correct NGINX configuration. + - Understand how NGINX Ingress Controller generates NGINX configuration so that a snippet doesn't interfere with the other features in the configuration. +- *Decreased robustness*. An incorrect snippet can invalidate NGINX configuration, causing reload failures. Until the snippet is fixed, it will prevent any new configuration updates, including updates for the other Ingress resources. +- *Security implications*. Snippets give access to NGINX configuration primitives, which are not validated by NGINX Ingress Controller. For example, a snippet can configure NGINX to serve the TLS certificates and keys used for TLS termination for Ingress resources. + +{{< note >}} If the NGINX configuration includes an invalid snippet, NGINX will continue to operate with the last valid configuration. {{< /note >}} + +## Using snippets + +The example below shows how to use snippets to customize the NGINX configuration template using annotations. + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: cafe-ingress-with-snippets + annotations: + nginx.org/server-snippets: | + location / { + return 302 /coffee; + } + nginx.org/location-snippets: | + add_header my-test-header test-value; +spec: + rules: + - host: cafe.example.com + http: + paths: + - path: /tea + pathType: Prefix + backend: + service: + name: tea-svc + port: + number: 80 + - path: /coffee + pathType: Prefix + backend: + service: + name: coffee-svc + port: + number: 80 +``` + +These snippets generate the following NGINX configuration: + +{{< note >}} The example is shortened for conciseness. {{< /note >}} + +```nginx +server { + listen 80; + + + location / { + return 302 /coffee; + } + + + location /coffee { + proxy_http_version 1.1; + + + add_header my-test-header test-value; + ... + proxy_pass http://default-cafe-ingress-with-snippets-cafe.example.com-coffee-svc-80; + } + + location /tea { + proxy_http_version 1.1; + + add_header my-test-header test-value; + ... + proxy_pass http://default-cafe-ingress-with-snippets-cafe.example.com-tea-svc-80; + } +} +``` + +## Troubleshooting + +If a snippet includes an invalid NGINX configuration, NGINX Ingress Controller will fail to reload NGINX. The error will be reported in NGINX Ingress Controller logs and an event with the error will be associated with the Ingress resource: + +An example of an error from the logs: + +```text +[emerg] 31#31: unknown directive "badd_header" in /etc/nginx/conf.d/default-cafe-ingress-with-snippets.conf:54 +Event(v1.ObjectReference{Kind:"Ingress", Namespace:"default", Name:"cafe-ingress-with-snippets", UID:"f9656dc9-63a6-41dd-a499-525b0e0309bb", APIVersion:"extensions/v1beta1", ResourceVersion:"2322030", FieldPath:""}): type: 'Warning' reason: 'AddedOrUpdatedWithError' Configuration for default/cafe-ingress-with-snippets was added or updated, but not applied: Error reloading NGINX for default/cafe-ingress-with-snippets: nginx reload failed: Command /usr/sbin/nginx -s reload stdout: "" +stderr: "nginx: [emerg] unknown directive \"badd_header\" in /etc/nginx/conf.d/default-cafe-ingress-with-snippets.conf:54\n" +finished with error: exit status 1 +``` + +An example of an event with an error (you can view events associated with the Ingress by running `kubectl describe -n nginx-ingress ingress nginx-ingress`): + +```text +Events: +Type Reason Age From Message +---- ------ ---- ---- ------- +Normal AddedOrUpdated 52m (x3 over 61m) nginx-ingress-controller Configuration for default/cafe-ingress-with-snippets was added or updated +finished with error: exit status 1 +Warning AddedOrUpdatedWithError 54s (x2 over 89s) nginx-ingress-controller Configuration for default/cafe-ingress-with-snippets was added or updated, but not applied: Error reloading NGINX for default/cafe-ingress-with-snippets: nginx reload failed: Command /usr/sbin/nginx -s reload stdout: "" +stderr: "nginx: [emerg] unknown directive \"badd_header\" in /etc/nginx/conf.d/default-cafe-ingress-with-snippets.conf:54\n" +finished with error: exit status 1 +``` + +Additionally, to help troubleshoot snippets, a number of Prometheus metrics show the stats about failed reloads – `controller_nginx_last_reload_status` and `controller_nginx_reload_errors_total`. diff --git a/content/nic/configuration/ingress-resources/basic-configuration.md b/content/nic/configuration/ingress-resources/basic-configuration.md new file mode 100644 index 000000000..8d1948693 --- /dev/null +++ b/content/nic/configuration/ingress-resources/basic-configuration.md @@ -0,0 +1,107 @@ +--- +title: Basic configuration +weight: 100 +toc: true +type: reference +product: NIC +docs: DOCS-593 +--- + +This document shows a basic Ingress resource definition for F5 NGINX Ingress Controller. It load balances requests for two services as part of a single application. + +{{< ghcode `https://raw.githubusercontent.com/nginx/kubernetes-ingress/refs/heads/main/examples/ingress-resources/complete-example/cafe-ingress.yaml`>}} + +Here is a breakdown of what this Ingress resource definition means: + +- The `metadata.name` field defines the name of the resource `cafe‑ingress`. +- The `spec.tls` field sets up SSL/TLS termination: + - The `hosts` field applies the certificate and key to the `cafe.example.com` host. + - The `secretName` references a secret resource by its name, `cafe‑secret`. The secret must belong to the same namespace as the Ingress, of the type ``kubernetes.io/tls`` and contain keys named ``tls.crt`` and ``tls.key`` that hold the certificate and private key as described [here](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls>). If the secret doesn't exist or is invalid, NGINX will break any attempt to establish a TLS connection to the hosts to which the secret is applied. +- The `spec.rules` field defines a host with the domain name `cafe.example.com`. +- The `paths` field defines two path‑based rules: + - The rule with the path `/tea` instructs NGINX to distribute the requests with the `/tea` URI among the pods of the *tea* service, which is deployed with the name `tea‑svc` in the cluster. + - The rule with the path `/coffee` instructs NGINX to distribute the requests with the `/coffee` URI among the pods of the *coffee* service, which is deployed with the name `coffee‑svc` in the cluster. + - Both rules instruct NGINX to distribute the requests to `port 80` of the corresponding service (the `servicePort` field). + +To learn more about the Ingress resource, view [the official Kubernetes documentation for Ingress resources](https://kubernetes.io/docs/concepts/services-networking/ingress/). + +{{< note >}} For complete instructions on deploying Ingress and Secret resources in the cluster, see the [complete example](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/complete-example) in the GitHub repository. {{< /note >}} + +--- + +## New features available in Kubernetes 1.18 + +Starting from Kubernetes 1.18, you can use the following new features: + +- The host field supports wildcard domain names, such as `*.example.com`. +- The path supports different matching rules with the new field `pathType`, which takes the following values: `Prefix` for prefix-based matching, `Exact` for exact matching and `ImplementationSpecific`, which is the default type and is the same as `Prefix`. For example: + + ```yaml {hl_lines=[2, 7, 14]} + - path: /tea + pathType: Prefix + backend: + serviceName: tea-svc + servicePort: 80 + - path: /tea/green + pathType: Exact + backend: + service: + name: tea-svc + port: + number: 80 + - path: /coffee + pathType: ImplementationSpecific + backend: + service: + name: coffee-svc + port: + number: 80 + ``` + +- The `ingressClassName` field is now supported: + + ```yaml {hl_lines=[6]} + apiVersion: networking.k8s.io/v1 + kind: Ingress + metadata: + name: cafe-ingress + spec: + ingressClassName: nginx + tls: + - hosts: + - cafe.example.com + secretName: cafe-secret + rules: + - host: cafe.example.com + . . . + ``` + + When using this field you need to create the `IngressClass` resource with the corresponding `name`. View the [Create common resources]({{< ref "/nic/installation/installing-nic/installation-with-manifests.md#create-common-resources" >}}) section of the Installation with Manifests topic for more information. + +--- + +## Restrictions + +NGINX Ingress Controller imposes the following restrictions on Ingress resources: + +- When defining an Ingress resource, the `host` field is required. +- The `host` value needs to be unique among all Ingress and VirtualServer resources unless the Ingress resource is a [mergeable minion]({{< ref "/nic/configuration/ingress-resources/cross-namespace-configuration.md" >}}). View the [Host and Listener collisions]({{< ref "/nic/configuration/host-and-listener-collisions.md" >}}) topic for more information. +- The `path` field in `spec.rules[].http.paths[]` is required for `Exact` and `Prefix` `pathTypes`. +- The ImplementationSpecific `pathType` is treated as equivalent to `Prefix` `pathType`, with the exception that when this `pathType` is configured, the `path` field in `spec.rules[].http.paths[]` is not mandatory. `path` defaults to `/` if not set but the `pathType` is set to ImplementationSpecific. + +--- + +## Advanced configuration + +NGINX Ingress Controller generates NGINX configuration by executing a template file that contains the configuration options. + +These options are set with the Ingress resource and NGINX Ingress Controller's ConfigMap. + +The Ingress resource only allows you to use basic NGINX features: host and path-based routing and TLS termination. + +For advanced configuration, you have two options: + +- [Annotations]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md" >}}) can be used to rewrite request URIs or inserting additional response headers. +- [Snippets]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-snippets" >}}) can be used to insert raw NGINX configuration, changing generated files. + +Additionally, it is possible to customize the template, described in the [Custom templates]({{< ref "/nic/configuration/global-configuration/custom-templates.md" >}}) topic. diff --git a/content/nic/configuration/ingress-resources/cross-namespace-configuration.md b/content/nic/configuration/ingress-resources/cross-namespace-configuration.md new file mode 100644 index 000000000..3e92b6403 --- /dev/null +++ b/content/nic/configuration/ingress-resources/cross-namespace-configuration.md @@ -0,0 +1,14 @@ +--- +docs: DOCS-594 +doctypes: +- '' +title: Cross-namespace configuration +toc: true +weight: 500 +--- + +This topic explains how to spread Ingress configuration across different namespaces in F5 NGINX Ingress Controller. + +You can spread the Ingress configuration for a common host across multiple Ingress resources using Mergeable Ingress resources. Such resources can belong to the *same* or *different* namespaces. This enables easier management when using a large number of paths. See the [Mergeable Ingress Resources](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/mergeable-ingress-types) example in our GitHub repo. + +As an alternative to Mergeable Ingress resources, you can use [VirtualServer and VirtualServerRoute resources](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/) for cross-namespace configuration. See the [Cross-Namespace Configuration](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/cross-namespace-configuration) example in our GitHub repo. diff --git a/content/nic/configuration/ingress-resources/custom-annotations.md b/content/nic/configuration/ingress-resources/custom-annotations.md new file mode 100644 index 000000000..8bbd136b0 --- /dev/null +++ b/content/nic/configuration/ingress-resources/custom-annotations.md @@ -0,0 +1,146 @@ +--- +docs: DOCS-595 +doctypes: +- '' +title: Custom annotations +toc: true +weight: 300 +--- + +This topic explains how you can use custom annotations with F5 NGINX Ingress Controller. + +Custom annotations enable you to quickly extend the Ingress resource to support many advanced features of NGINX, such as rate limiting, caching, etc. + +## Overview + +NGINX Ingress Controller supports a number of annotations for the Ingress resource that fine tune NGINX configuration (for example, connection timeouts) or enable additional features (for example, JWT validation). The complete list of annotations is available [here](/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations). + +The annotations are provided only for the most common features and use cases, meaning that not every NGINX feature or a customization option is available through the annotations. Additionally, even if an annotation is available, it might not give you the satisfactory level of control of a particular NGINX feature. + +Custom annotations allow you to add an annotation for an NGINX feature that is not available as a regular annotation. In contrast with regular annotations, to add a custom annotation, you don't need to modify the Ingress Controller source code -- just modify the template. Additionally, with a custom annotation, you get full control of how the feature is implemented in NGINX configuration. + +## Usage + +The Ingress Controller generates NGINX configuration for Ingress resources by executing a configuration template. See [NGINX template](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/internal/configs/version1/nginx.ingress.tmpl) or [NGINX Plus template](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/internal/configs/version1/nginx-plus.ingress.tmpl). + +To support custom annotations, the template has access to the information about the Ingress resource - its *name*, *namespace* and *annotations*. It is possible to check if a particular annotation present in the Ingress resource and conditionally insert NGINX configuration directives at multiple NGINX contexts - `http`, `server`, `location` or `upstream`. Additionally, you can get the value that is set to the annotation. + +Consider the following excerpt from the template, which was extended to support two custom annotations: + +```jinja2 +# This is the configuration for {{$.Ingress.Name}}/{{$.Ingress.Namespace}} + +{{if index $.Ingress.Annotations "custom.nginx.org/feature-a"}} +# Insert config for feature A if the annotation is set +{{end}} + +{{with $value := index $.Ingress.Annotations "custom.nginx.org/feature-b"}} +# Insert config for feature B if the annotation is set +# Print the value assigned to the annotation: {{$value}} +{{end}} +``` + +Consider the following Ingress resource and note how we set two annotations: + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: example-ingress + namespace: production + annotations: + custom.nginx.org/feature-a: "on" + custom.nginx.org/feature-b: "512" +spec: + rules: + - host: example.com + . . . +``` + +Assuming that the Ingress Controller is using that customized template, it will generate a config for the Ingress resource that will include the following part, generated by our template excerpt: + +```yaml +# This is the configuration for cafe-ingress/default + +# Insert config for feature A if the annotation is set + + + +# Insert config for feature B if the annotation is set +# Print the value assigned to the annotation: 512 +``` + +**Notes**: + +- You can customize the template to insert you custom annotations via [custom templates](/nginx-ingress-controller/configuration/global-configuration/custom-templates). +- The Ingress Controller uses go templates to generate NGINX config. You can read more information about go templates [here](https://golang.org/pkg/text/template/). + +See the examples in the next section that use custom annotations to configure NGINX features. + +### Custom Annotations with Mergeable Ingress Resources + +A Mergeable Ingress resource consists of multiple Ingress resources - one master and one or several minions. Read more about Mergeable Ingress resources [here](/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration). + +If you'd like to use custom annotations with Mergeable Ingress resources, please keep the following in mind: + +- Custom annotations can be used in the Master and in Minions. For Minions, you can access them in the template only when processing locations. + + If you access `$.Ingress` anywhere in the Ingress template, you will get the master Ingress resource. To access a Minion Ingress resource, use `$location.MinionIngress`. However, it is only available when processing locations: + + ```jinja2 + {{range $location := $server.Locations}} + location {{$location.Path}} { + {{with $location.MinionIngress}} + # location for minion {{$location.MinionIngress.Namespace}}/{{$location.MinionIngress.Name}} + {{end}} + } {{end}} + ``` + + **Note**: `$location.MinionIngress` is a pointer. When a regular Ingress resource is processed in the template, the value of the pointer is `nil`. Thus, it is important that you check that `$location.MinionIngress` is not `nil` as in the example above using the `with` action. + +- Minions do not inherent custom annotations of the master. + +### Helper Functions + +Helper functions can be used in the Ingress template to parse the values of custom annotations. + +{{% table %}} +| Function | Input Arguments | Return Arguments | Description | +| ---| ---| ---| --- | +| ``split`` | ``s, sep string`` | ``[]string`` | Splits the string ``s`` into a slice of strings separated by the ``sep``. | +| ``trim`` | ``s string`` | ``string`` | Trims the trailing and leading whitespace from the string ``s``. | +| ``contains`` | ``s, substr string`` | ``bool`` | Tests whether the string ``substr`` is a substring of the string ``s``. | +| ``hasPrefix`` | ``s, prefix string`` | ``bool`` | Tests whether the string ``prefix`` is a prefix of the string ``s``. | +| ``hasSuffix`` | ``s, suffix string`` | ``bool`` | Tests whether the string ``suffix`` is a suffix of the string ``s``. | +| ``toLower`` | ``s string`` | ``bool`` | Converts all letters in the string ``s`` to their lower case. | +| ``toUpper`` | ``s string`` | ``bool`` | Converts all letters in the string ``s`` to their upper case. | +| ``replaceAll`` | ``s, old, new string`` | ``string`` | Replaces all occurrences of ``old`` with ``new`` in the string ``s``. | +{{% /table %}} + +Consider the following custom annotation `custom.nginx.org/allowed-ips`, which expects a comma-separated list of IP addresses: + +```yaml +annotations: + custom.nginx.org/allowed-ips: "192.168.1.3, 10.0.0.13" +``` + + The helper functions can parse the value of the `custom.nginx.org/allowed-ips` annotation, so that in the template you can use each IP address separately. Consider the following template excerpt: + +```jinja2 +{{range $ip := split (index $.Ingress.Annotations "custom.nginx.org/allowed-ips") ","}} + allow {{trim $ip}}; +{{end}} +deny all; +``` + +The template excerpt will generate the following configuration: + +``` +allow 192.168.1.3; +allow 10.0.0.13; +deny all; +``` + +## Example + +See the [custom annotations example](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/examples/ingress-resources/custom-annotations). diff --git a/content/nic/configuration/policy-resource.md b/content/nic/configuration/policy-resource.md new file mode 100644 index 000000000..4188188ef --- /dev/null +++ b/content/nic/configuration/policy-resource.md @@ -0,0 +1,947 @@ +--- +title: Policy resources +weight: 500 +toc: true +type: how-to +product: NIC +docs: DOCS-596 +--- + +The Policy resource allows you to configure features like access control and rate-limiting, which you can add to your [VirtualServer and VirtualServerRoute resources](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/). + +The resource is implemented as a [Custom Resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). + +This document is the reference documentation for the Policy resource. An example of a Policy for access control is available in our [GitHub repository](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/examples/custom-resources/access-control). + +## Prerequisites + +Policies work together with [VirtualServer and VirtualServerRoute resources](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/), which you need to create separately. + +## Policy Specification + +Below is an example of a policy that allows access for clients from the subnet `10.0.0.0/8` and denies access for any other clients: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: Policy +metadata: + name: allow-localhost +spec: + accessControl: + allow: + - 10.0.0.0/8 +``` + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``accessControl`` | The access control policy based on the client IP address. | [accessControl](#accesscontrol) | No | +|``ingressClassName`` | Specifies which instance of NGINX Ingress Controller must handle the Policy resource. | ``string`` | No | +|``rateLimit`` | The rate limit policy controls the rate of processing requests per a defined key. | [rateLimit](#ratelimit) | No | +|``apiKey`` | The API Key policy configures NGINX to authorize requests which provide a valid API Key in a specified header or query param. | [apiKey](#apikey) | No | +|``basicAuth`` | The basic auth policy configures NGINX to authenticate client requests using HTTP Basic authentication credentials. | [basicAuth](#basicauth) | No | +|``jwt`` | The JWT policy configures NGINX Plus to authenticate client requests using JSON Web Tokens. | [jwt](#jwt) | No | +|``ingressMTLS`` | The IngressMTLS policy configures client certificate verification. | [ingressMTLS](#ingressmtls) | No | +|``egressMTLS`` | The EgressMTLS policy configures upstreams authentication and certificate verification. | [egressMTLS](#egressmtls) | No | +|``waf`` | The WAF policy configures WAF and log configuration policies for [NGINX AppProtect]({{< ref "/nic/installation/integrations/app-protect-waf/configuration.md" >}}) | [WAF](#waf) | No | +{{% /table %}} + +\* A policy must include exactly one policy. + +### AccessControl + +The access control policy configures NGINX to deny or allow requests from clients with the specified IP addresses/subnets. + +For example, the following policy allows access for clients from the subnet `10.0.0.0/8` and denies access for any other clients: + +```yaml +accessControl: + allow: + - 10.0.0.0/8 +``` + +In contrast, the policy below does the opposite: denies access for clients from `10.0.0.0/8` and allows access for any other clients: + +```yaml +accessControl: + deny: + - 10.0.0.0/8 +``` +{{< note >}} + +The feature is implemented using the NGINX [ngx_http_access_module](http://nginx.org/en/docs/http/ngx_http_access_module.html). NGINX Ingress Controller access control policy supports either allow or deny rules, but not both (as the module does). + +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``allow`` | Allows access for the specified networks or addresses. For example, ``192.168.1.1`` or ``10.1.1.0/16``. | ``[]string`` | No | +|``deny`` | Denies access for the specified networks or addresses. For example, ``192.168.1.1`` or ``10.1.1.0/16``. | ``[]string`` | No | \* an accessControl must include either `allow` or `deny`. | +{{% /table %}} + +#### AccessControl Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple access control policies. For example, here we reference two policies, each with configured allow lists: + +```yaml +policies: +- name: allow-policy-one +- name: allow-policy-two +``` + +When you reference more than one access control policy, NGINX Ingress Controller will merge the contents into a single allow list or a single deny list. + +Referencing both allow and deny policies, as shown in the example below, is not supported. If both allow and deny lists are referenced, NGINX Ingress Controller uses just the allow list policies. + +```yaml +policies: +- name: deny-policy +- name: allow-policy-one +- name: allow-policy-two +``` + +### RateLimit + +The rate limit policy configures NGINX to limit the processing rate of requests. + +For example, the following policy will limit all subsequent requests coming from a single IP address once a rate of 10 requests per second is exceeded: + +```yaml +rateLimit: + rate: 10r/s + zoneSize: 10M + key: ${binary_remote_addr} +``` +{{< note >}} + +The feature is implemented using the NGINX [ngx_http_limit_req_module](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html). + +{{< /note >}} + +{{< note >}} + +When the [Zone Sync feature]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#zone-sync" >}}) is enabled with NGINX Plus, the rate limiting zone will be synchronized across all replicas in the cluster. This means all replicas are aware of the requests that have been rate limited by other replicas in the cluster. + +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``rate`` | The rate of requests permitted. The rate is specified in requests per second (r/s) or requests per minute (r/m). | ``string`` | Yes | +|``key`` | The key to which the rate limit is applied. Can contain text, variables, or a combination of them. Variables must be surrounded by ``${}``. For example: ``${binary_remote_addr}``. Accepted variables are ``$binary_remote_addr``, ``$request_uri``,``$request_method``, ``$url``, ``$http_``, ``$args``, ``$arg_``, ``$cookie_``, ``$jwt_claim_``. | ``string`` | Yes | +|``zoneSize`` | Size of the shared memory zone. Only positive values are allowed. Allowed suffixes are ``k`` or ``m``, if none are present ``k`` is assumed. | ``string`` | Yes | +|``delay`` | The delay parameter specifies a limit at which excessive requests become delayed. If not set all excessive requests are delayed. | ``int`` | No | +|``noDelay`` | Disables the delaying of excessive requests while requests are being limited. Overrides ``delay`` if both are set. | ``bool`` | No | +|``burst`` | Excessive requests are delayed until their number exceeds the ``burst`` size, in which case the request is terminated with an error. | ``int`` | No | +|``dryRun`` | Enables the dry run mode. In this mode, the rate limit is not actually applied, but the number of excessive requests is accounted as usual in the shared memory zone. | ``bool`` | No | +|``logLevel`` | Sets the desired logging level for cases when the server refuses to process requests due to rate exceeding, or delays request processing. Allowed values are ``info``, ``notice``, ``warn`` or ``error``. Default is ``error``. | ``string`` | No | +|``rejectCode`` | Sets the status code to return in response to rejected requests. Must fall into the range ``400..599``. Default is ``503``. | ``int`` | No | +|``scale`` | Enables a constant rate-limit by dividing the configured rate by the number of nginx-ingress pods currently serving traffic. This adjustment ensures that the rate-limit remains consistent, even as the number of nginx-pods fluctuates due to autoscaling. **This will not work properly if requests from a client are not evenly distributed across all ingress pods** (Such as with sticky sessions, long lived TCP Connections with many requests, and so forth). In such cases using [zone-sync]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#zone-sync" >}}) instead would give better results. Enabling `zone-sync` will suppress this setting. | ``bool`` | No | +|``condition`` | Add a condition to a rate-limit policy. | [ratelimit.condition](#ratelimitcondition) | No | +{{% /table %}} + +{{< note >}} + +For each policy referenced in a VirtualServer and/or its VirtualServerRoutes, NGINX Ingress Controller will generate a single rate limiting zone defined by the [`limit_req_zone`](http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone) directive. If two VirtualServer resources reference the same policy, NGINX Ingress Controller will generate two different rate limiting zones, one zone per VirtualServer. + +{{< /note >}} + +#### RateLimit Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple rate limit policies. For example, here we reference two policies: + +```yaml +policies: +- name: rate-limit-policy-one +- name: rate-limit-policy-two +``` + +When you reference more than one rate limit policy, NGINX Ingress Controller will configure NGINX to use all referenced rate limits. When you define multiple policies, each additional policy inherits the `dryRun`, `logLevel`, and `rejectCode` parameters from the first policy referenced (`rate-limit-policy-one`, in the example above). + +### RateLimit.Condition + +RateLimit.Condition defines a condition for a rate limit policy. For example: + +```yaml +condition: + jwt: + claim: user_details.level + match: premium + default: true +``` + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``jwt`` | defines a JWT condition to rate limit against. | [ratelimit.condition.jwt](#ratelimitconditionjwt) | No | +|``default`` | sets the rate limit in this policy to be the default if no conditions are met. In a group of policies with the same JWT condition, only one policy can be the default. | ``bool`` | No | +{{% /table %}} + +The rate limit policy with condition is designed to be used in combination with one or more rate limit policies. For example, multiple rate limit policies with [RateLimit.Condition.JWT](#ratelimitconditionjwt) can be used to apply different tiers of rate limit based on the value of a JWT claim. For a practical example of tiered rate limiting by the value of a JWT claim, see the example in our [GitHub repository](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/rate-limit-tiered-jwt-claim/README.md). + +### RateLimit.Condition.JWT +{{< note >}} + +This feature is only available with NGINX Plus. + +{{< /note >}} + +RateLimit.Condition.JWT defines a condition for a rate limit by JWT claim. For example, here we define a condition for a rate limit policy that only applies to requests with a JWT claim `user_details.level` with a value `premium`: + +```yaml +jwt: + claim: user_details.level + match: premium +``` + +The rate limit policy will only apply to requests that contain a JWT with the specified claim and value. For example, the following JWT payload will match the JWT condition: + +```json +{ + "user_details": { + "level": "premium" + }, + "sub": "client1" +} +``` + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``claim`` | Claim is the JWT claim to be rate limit by. Nested claims should be separated by ".". | ``string`` | Yes | +|``match`` | the value of the claim to match against. | ``string`` | Yes | +{{% /table %}} + +### APIKey + +The API Key auth policy configures NGINX to authorize client requests based on the presence of a valid API Key in a header or query param specified in the policy. + +{{< note >}} + +The feature is implemented using NGINX [ngx_http_auth_request_module](http://nginx.org/en/docs/http/ngx_http_auth_request_module.html) and [NGINX JavaScript (NJS)](https://nginx.org/en/docs/njs/). + +{{< /note >}} + +The policies' API keys are securely stored using SHA-256 hashing. When a client sends an API Key, it is hashed by NJS and then compared to the hashed API Key in the NGINX config. + +If the hashed keys match, the NGINX JavaScript (NJS) subrequest issues a 204 No Content response to the `auth_request` directive, indicating successful authorization. Conversely, if no API Key is provided in the specified header or query parameter, a 401 Unauthorized response is returned. Similarly, if an invalid key is presented in the expected header or query parameter, a 403 Forbidden response is issued, denying access. + +It is possible to use the [errorPages](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#errorpage) property on a route, to change the default behaviour of 401 or 403 errors. + +At least one header or query param is required. + +The policy below configures NGINX Ingress Controller to require the API Key `password` in the header "my-header". + +```yaml +apiKey: + suppliedIn: + header: + - "my-header" + clientSecret: api-key-secret +``` + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: api-key-secret +type: nginx.org/apikey +data: + client1: cGFzc3dvcmQ= # password +``` + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``suppliedIn`` | `header` or `query`. | | Yes | +|``suppliedIn.header`` | An array of headers that the API Key may appear in. | ``string[]`` | No | +|``suppliedIn.query`` | An array of query params that the API Key may appear in. | ``string[]`` | No | +|``clientSecret`` | The name of the Kubernetes secret that stores the API Key(s). It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/apikey``, and the API Key(s) must be stored in a key: val format where each key is a unique clientID and each value is a unique base64 encoded API Key | ``string`` | Yes | +{{% /table %}} + +{{}}An APIKey Policy must include a minimum of one of the `suppliedIn.header` or `suppliedIn.query` parameters. Both can also be supplied.{{}} + +#### APIKey Merging Behavior + +A VirtualServer or VirtualServerRoute can be associated with only one API Key policy per route or subroute. However, it is possible to replace an API Key policy from a higher-level with a different policy defined on a more specific route. + +For example, a VirtualServer can implement different API Key policies at various levels. In the configuration below, the server-wide api-key-policy-server applies to /backend1 for authorization, as it lacks a more specific policy. Meanwhile, /backend2 uses the api-key-policy-route defined at the route level. + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: VirtualServer +metadata: + name: virtual-server +spec: + host: virtual-server.example.com + policies: + - name: api-key-policy-server + upstreams: + - name: backend2 + service: backend2-svc + port: 80 + - name: backend1 + service: backend1-svc + port: 80 + routes: + - path: /backend1 + action: + pass: backend1 + - path: /backend2 + action: + pass: backend2 + policies: + - name: api-key-policy-route +``` + +### BasicAuth + +The basic auth policy configures NGINX to authenticate client requests using the [HTTP Basic authentication scheme](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). + +For example, the following policy will reject all requests that do not include a valid username/password combination in the HTTP header `Authentication` + +```yaml +basicAuth: + secret: htpasswd-secret + realm: "My API" +``` +{{< note >}} +The feature is implemented using the NGINX [ngx_http_auth_basic_module](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html). +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``secret`` | The name of the Kubernetes secret that stores the Htpasswd configuration. It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/htpasswd``, and the config must be stored in the secret under the key ``htpasswd``, otherwise the secret will be rejected as invalid. | ``string`` | Yes | +|``realm`` | The realm for the basic authentication. | ``string`` | No | +{{% /table %}} + +#### BasicAuth Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple basic auth policies. However, only one can be applied. Every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: basic-auth-policy-one +- name: basic-auth-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `basic-auth-policy-one`, and ignores `basic-auth-policy-two`. + +### JWT Using Local Kubernetes Secret + +{{< note >}} + +This feature is only available with NGINX Plus. + +{{< /note >}} + +The JWT policy configures NGINX Plus to authenticate client requests using JSON Web Tokens. + +The following example policy will reject all requests that do not include a valid JWT in the HTTP header `token`: + +```yaml +jwt: + secret: jwk-secret + realm: "My API" + token: $http_token +``` + +You can pass the JWT claims and JOSE headers to the upstream servers. For example: + +```yaml +action: + proxy: + upstream: webapp + requestHeaders: + set: + - name: user + value: ${jwt_claim_user} + - name: alg + value: ${jwt_header_alg} +``` + +We use the `requestHeaders` of the [Action.Proxy](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#actionproxy) to set the values of two headers that NGINX will pass to the upstream servers. + +The value of the `${jwt_claim_user}` variable is the `user` claim of a JWT. For other claims, use `${jwt_claim_name}`, where `name` is the name of the claim. Note that nested claims and claims that include a period (`.`) are not supported. Similarly, use `${jwt_header_name}` where `name` is the name of a header. In our example, we use the `alg` header. + +{{< note >}} + +This feature is implemented using the NGINX Plus [ngx_http_auth_jwt_module](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html). + +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``secret`` | The name of the Kubernetes secret that stores the JWK. It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/jwk``, and the JWK must be stored in the secret under the key ``jwk``, otherwise the secret will be rejected as invalid. | ``string`` | Yes | +|``realm`` | The realm of the JWT. | ``string`` | Yes | +|``token`` | The token specifies a variable that contains the JSON Web Token. By default the JWT is passed in the ``Authorization`` header as a Bearer Token. JWT may be also passed as a cookie or a part of a query string, for example: ``$cookie_auth_token``. Accepted variables are ``$http_``, ``$arg_``, ``$cookie_``. | ``string`` | No | +{{% /table %}} + +#### JWT Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple JWT policies. However, only one can be applied: every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: jwt-policy-one +- name: jwt-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `jwt-policy-one`, and ignores `jwt-policy-two`. + +### JWT Using JWKS From Remote Location + +{{< note >}} + +This feature is only available with NGINX Plus. + +{{< /note >}} + +The JWT policy configures NGINX Plus to authenticate client requests using JSON Web Tokens, allowing import of the keys (JWKS) for JWT policy by means of a URL (for a remote server or an identity provider) as a result they don't have to be copied and updated to the IC pod. + +The following example policy will reject all requests that do not include a valid JWT in the HTTP header fetched from the identity provider: + +```yaml +jwt: + realm: MyProductAPI + token: $http_token + jwksURI: + keyCache: 1h +``` + +{{< note >}} + +This feature is implemented using the NGINX Plus directive [auth_jwt_key_request](http://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html#auth_jwt_key_request) under [ngx_http_auth_jwt_module](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html). + +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``jwksURI`` | The remote URI where the request will be sent to retrieve JSON Web Key set| ``string`` | Yes | +|``keyCache`` | Enables in-memory caching of JWKS (JSON Web Key Sets) that are obtained from the ``jwksURI`` and sets a valid time for expiration. | ``string`` | Yes | +|``realm`` | The realm of the JWT. | ``string`` | Yes | +|``token`` | The token specifies a variable that contains the JSON Web Token. By default the JWT is passed in the ``Authorization`` header as a Bearer Token. JWT may be also passed as a cookie or a part of a query string, for example: ``$cookie_auth_token``. Accepted variables are ``$http_``, ``$arg_``, ``$cookie_``. | ``string`` | No | +{{% /table %}} + +{{< note >}} + +Content caching is enabled by default for each JWT policy with a default time of 12 hours. + +This is done to ensure to improve resiliency by allowing the JWKS (JSON Web Key Set) to be retrieved from the cache even when it has expired. + +{{< /note >}} + +#### JWT Merging Behavior + +This behavior is similar to using a local Kubernetes secret where a VirtualServer/VirtualServerRoute can reference multiple JWT policies. However, only one can be applied: every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: jwt-policy-one +- name: jwt-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `jwt-policy-one`, and ignores `jwt-policy-two`. + +### IngressMTLS + +The IngressMTLS policy configures client certificate verification. + +For example, the following policy will verify a client certificate using the CA certificate specified in the `ingress-mtls-secret`: + +```yaml +ingressMTLS: + clientCertSecret: ingress-mtls-secret + verifyClient: "on" + verifyDepth: 1 +``` + +Below is an example of the `ingress-mtls-secret` using the secret type `nginx.org/ca` + +```yaml +kind: Secret +metadata: + name: ingress-mtls-secret +apiVersion: v1 +type: nginx.org/ca +data: + ca.crt: +``` + +A VirtualServer that references an IngressMTLS policy must: + +- Enable [TLS termination](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#virtualservertls). +- Reference the policy in the VirtualServer [`spec`](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#virtualserver-specification). It is not allowed to reference an IngressMTLS policy in a [`route`](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#virtualserverroute) or in a VirtualServerRoute [`subroute`](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#virtualserverroutesubroute). + +If the conditions above are not met, NGINX will send the `500` status code to clients. + +You can pass the client certificate details, including the certificate, to the upstream servers. For example: + +```yaml +action: + proxy: + upstream: webapp + requestHeaders: + set: + - name: client-cert-subj-dn + value: ${ssl_client_s_dn} # subject DN + - name: client-cert + value: ${ssl_client_escaped_cert} # client certificate in the PEM format (urlencoded) +``` + +We use the `requestHeaders` of the [Action.Proxy](/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#actionproxy) to set the values of the two headers that NGINX will pass to the upstream servers. See the [list of embedded variables](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#variables) that are supported by the `ngx_http_ssl_module`, which you can use to pass the client certificate details. + +{{< note >}} + + The feature is implemented using the NGINX [ngx_http_ssl_module](https://nginx.org/en/docs/http/ngx_http_ssl_module.html). + + {{< /note >}} + +#### Using a Certificate Revocation List + +The IngressMTLS policy supports configuring at CRL for your policy. +This can be done in one of two ways. + +{{< note >}} + + Only one of these configurations options can be used at a time. + +{{< /note >}} + +1. Adding the `ca.crl` field to the `nginx.org/ca` secret type, which accepts a base64 encoded certificate revocation list (crl). + Example YAML: + +```yaml +kind: Secret +metadata: + name: ingress-mtls-secret +apiVersion: v1 +type: nginx.org/ca +data: + ca.crt: + ca.crl: +``` + +2. Adding the `crlFileName` field to your IngressMTLS policy spec with the name of the CRL file. + +{{< note >}} + +This configuration option should only be used when using a CRL that is larger than 1MiB. + +Otherwise we recommend using the `nginx.org/ca` secret type for managing your CRL. + +{{< /note >}} + +Example YAML: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: Policy +metadata: + name: ingress-mtls-policy +spec: +ingressMTLS: + clientCertSecret: ingress-mtls-secret + crlFileName: webapp.crl + verifyClient: "on" + verifyDepth: 1 +``` + +**IMPORTANT NOTE** +When configuring a CRL with the `ingressMTLS.crlFileName` field, there is additional context to keep in mind: + +1. NGINX Ingress Controller will expect the CRL, in this case `webapp.crl`, will be in `/etc/nginx/secrets`. A volume mount will need to be added to NGINX Ingress Controller deployment add your CRL to `/etc/nginx/secrets` +2. When updating the content of your CRL (e.g a new certificate has been revoked), NGINX will need to be reloaded to pick up the latest changes. Depending on your environment this may require updating the name of your CRL and applying this update to your `ingress-mtls.yaml` policy to ensure NGINX picks up the latest CRL. + +Please refer to the Kubernetes documentation on [volumes](https://kubernetes.io/docs/concepts/storage/volumes/) to find the best implementation for your environment. + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``clientCertSecret`` | The name of the Kubernetes secret that stores the CA certificate. It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/ca``, and the certificate must be stored in the secret under the key ``ca.crt``, otherwise the secret will be rejected as invalid. | ``string`` | Yes | +|``verifyClient`` | Verification for the client. Possible values are ``"on"``, ``"off"``, ``"optional"``, ``"optional_no_ca"``. The default is ``"on"``. | ``string`` | No | +|``verifyDepth`` | Sets the verification depth in the client certificates chain. The default is ``1``. | ``int`` | No | +|``crlFileName`` | The file name of the Certificate Revocation List. NGINX Ingress Controller will look for this file in `/etc/nginx/secrets` | ``string`` | No | +{{% /table %}} + +#### IngressMTLS Merging Behavior + +A VirtualServer can reference only a single IngressMTLS policy. Every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: ingress-mtls-policy-one +- name: ingress-mtls-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `ingress-mtls-policy-one`, and ignores `ingress-mtls-policy-two`. + +### EgressMTLS + +The EgressMTLS policy configures upstreams authentication and certificate verification. + +For example, the following policy will use `egress-mtls-secret` to authenticate with the upstream application and `egress-trusted-ca-secret` to verify the certificate of the application: + +```yaml +egressMTLS: + tlsSecret: egress-mtls-secret + trustedCertSecret: egress-trusted-ca-secret + verifyServer: on + verifyDepth: 2 +``` + +{{< note >}} + +The feature is implemented using the NGINX [ngx_http_proxy_module](https://nginx.org/en/docs/http/ngx_http_proxy_module.html). + +{{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``tlsSecret`` | The name of the Kubernetes secret that stores the TLS certificate and key. It must be in the same namespace as the Policy resource. The secret must be of the type ``kubernetes.io/tls``, the certificate must be stored in the secret under the key ``tls.crt``, and the key must be stored under the key ``tls.key``, otherwise the secret will be rejected as invalid. | ``string`` | No | +|``trustedCertSecret`` | The name of the Kubernetes secret that stores the CA certificate. It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/ca``, and the certificate must be stored in the secret under the key ``ca.crt``, otherwise the secret will be rejected as invalid. | ``string`` | No | +|``verifyServer`` | Enables verification of the upstream HTTPS server certificate. | ``bool`` | No | +|``verifyDepth`` | Sets the verification depth in the proxied HTTPS server certificates chain. The default is ``1``. | ``int`` | No | +|``sessionReuse`` | Enables reuse of SSL sessions to the upstreams. The default is ``true``. | ``bool`` | No | +|``serverName`` | Enables passing of the server name through ``Server Name Indication`` extension. | ``bool`` | No | +|``sslName`` | Allows overriding the server name used to verify the certificate of the upstream HTTPS server. | ``string`` | No | +|``ciphers`` | Specifies the enabled ciphers for requests to an upstream HTTPS server. The default is ``DEFAULT``. | ``string`` | No | +|``protocols`` | Specifies the protocols for requests to an upstream HTTPS server. The default is ``TLSv1 TLSv1.1 TLSv1.2``. | ``string`` | No | > Note: the value of ``ciphers`` and ``protocols`` is not validated by NGINX Ingress Controller. As a result, NGINX can fail to reload the configuration. To ensure that the configuration for a VirtualServer/VirtualServerRoute that references the policy was successfully applied, check its [status](/nginx-ingress-controller/configuration/global-configuration/reporting-resources-status/#virtualserver-and-virtualserverroute-resources). The validation will be added in the future releases. | +{{% /table %}} + +#### EgressMTLS Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple EgressMTLS policies. However, only one can be applied. Every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: egress-mtls-policy-one +- name: egress-mtls-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `egress-mtls-policy-one`, and ignores `egress-mtls-policy-two`. + +### OIDC + +{{< tip >}} + +This feature is disabled by default. To enable it, set the [enable-oidc]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-enable-oidc" >}}) command-line argument of NGINX Ingress Controller. + +{{< /tip >}} + +The OIDC policy configures NGINX Plus as a relying party for OpenID Connect authentication. + +For example, the following policy will use the client ID `nginx-plus` and the client secret `oidc-secret` to authenticate with the OpenID Connect provider `https://idp.example.com`: + +```yaml +spec: + oidc: + clientID: nginx-plus + clientSecret: oidc-secret + authEndpoint: https://idp.example.com/openid-connect/auth + tokenEndpoint: https://idp.example.com/openid-connect/token + jwksURI: https://idp.example.com/openid-connect/certs + endSessionEndpoint: https://idp.example.com/openid-connect/logout + postLogoutRedirectURI: / + accessTokenEnable: true + pkceEnable: false +``` + +NGINX Plus will pass the ID of an authenticated user to the backend in the HTTP header `username`. + +{{< note >}} + +The feature is implemented using the [reference implementation](https://github.com/nginxinc/nginx-openid-connect/) of NGINX Plus as a relying party for OpenID Connect authentication. + +{{< /note >}} + +#### Prerequisites + +In order to use OIDC, you need to enable [zone synchronization](https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync/). If you don't set up zone synchronization, NGINX Plus will fail to reload. +You also need to configure a resolver, which NGINX Plus will use to resolve the IDP authorization endpoint. You can find an example configuration [in our GitHub repository](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/examples/custom-resources/oidc#step-7---configure-nginx-plus-zone-synchronization-and-resolver). + +{{< warning >}} + +The configuration in the example doesn't enable TLS and the synchronization between the replica happens in clear text. This could lead to the exposure of tokens. + +{{< /warning >}} + +#### Limitations + +The OIDC policy defines a few internal locations that can't be customized: `/_jwks_uri`, `/_token`, `/_refresh`, `/_id_token_validation`, `/logout`. In addition, as explained below, `/_codexch` is the default value for redirect URI, and `/_logout` is the default value for post logout redirect URI, both of which can be customized. Specifying one of these locations as a route in the VirtualServer or VirtualServerRoute will result in a collision and NGINX Plus will fail to reload. + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``clientID`` | The client ID provided by your OpenID Connect provider. | ``string`` | Yes | +|``clientSecret`` | The name of the Kubernetes secret that stores the client secret provided by your OpenID Connect provider. It must be in the same namespace as the Policy resource. The secret must be of the type ``nginx.org/oidc``, and the secret under the key ``client-secret``, otherwise the secret will be rejected as invalid. If PKCE is enabled, this should be not configured. | ``string`` | Yes | +|``authEndpoint`` | URL for the authorization endpoint provided by your OpenID Connect provider. | ``string`` | Yes | +|``authExtraArgs`` | A list of extra URL arguments to pass to the authorization endpoint provided by your OpenID Connect provider. Arguments must be URL encoded, multiple arguments may be included in the list, for example ``[ arg1=value1, arg2=value2 ]`` | ``string[]`` | No | +|``tokenEndpoint`` | URL for the token endpoint provided by your OpenID Connect provider. | ``string`` | Yes | +|``endSessionEndpoint`` | URL provided by your OpenID Connect provider to request the end user be logged out. | ``string`` | No | +|``jwksURI`` | URL for the JSON Web Key Set (JWK) document provided by your OpenID Connect provider. | ``string`` | Yes | +|``scope`` | List of OpenID Connect scopes. The scope ``openid`` always needs to be present and others can be added concatenating them with a ``+`` sign, for example ``openid+profile+email``, ``openid+email+userDefinedScope``. The default is ``openid``. | ``string`` | No | +|``redirectURI`` | Allows overriding the default redirect URI. The default is ``/_codexch``. | ``string`` | No | +|``postLogoutRedirectURI`` | URI to redirect to after the logout has been performed. Requires ``endSessionEndpoint``. The default is ``/_logout``. | ``string`` | No | +|``zoneSyncLeeway`` | Specifies the maximum timeout in milliseconds for synchronizing ID/access tokens and shared values between Ingress Controller pods. The default is ``200``. | ``int`` | No | +|``accessTokenEnable`` | Option of whether Bearer token is used to authorize NGINX to access protected backend. | ``boolean`` | No | +|``pkceEnable`` | Switches Proof Key for Code Exchange on. The OpenID client needs to be in public mode. `clientSecret` is not used in this mode. | ``boolean`` | No | +{{% /table %}} + +{{< note >}} + +Only one OIDC policy can be referenced in a VirtualServer and its VirtualServerRoutes. However, the same policy can still be applied to different routes in the VirtualServer and VirtualServerRoutes. + +{{< /note >}} + +#### OIDC Merging Behavior + +A VirtualServer/VirtualServerRoute can reference only a single OIDC policy. Every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: oidc-policy-one +- name: oidc-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `oidc-policy-one`, and ignores `oidc-policy-two`. + +## Using Policy + +You can use the usual `kubectl` commands to work with Policy resources, just as with built-in Kubernetes resources. + +For example, the following command creates a Policy resource defined in `access-control-policy-allow.yaml` with the name `webapp-policy`: + +```shell +kubectl apply -f access-control-policy-allow.yaml + +policy.k8s.nginx.org/webapp-policy configured +``` + +You can get the resource by running: + +```shell +kubectl get policy webapp-policy + +NAME AGE +webapp-policy 27m +``` + +For `kubectl get` and similar commands, you can also use the short name `pol` instead of `policy`. + +### WAF {#waf} + +{{< note >}} The feature is implemented using the NGINX Plus [NGINX App Protect WAF Module](https://docs.nginx.com/nginx-app-protect/configuration/). {{< /note >}} + +The WAF policy configures NGINX Plus to secure client requests using App Protect WAF policies. + +For example, the following policy will enable the referenced APPolicy. You can configure multiple APLogConfs with log destinations: + +```yaml +waf: + enable: true + apPolicy: "default/dataguard-alarm" + securityLogs: + - enable: true + apLogConf: "default/logconf" + logDest: "syslog:server=syslog-svc.default:514" + - enable: true + apLogConf: "default/logconf" + logDest: "syslog:server=syslog-svc-secondary.default:514" +``` + +{{< note >}} The field `waf.securityLog` is deprecated and will be removed in future releases.It will be ignored if `waf.securityLogs` is populated. {{< /note >}} + +{{% table %}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables NGINX App Protect WAF. | ``bool`` | Yes | +|``apPolicy`` | The [App Protect WAF policy]({{< ref "/nic/installation/integrations/app-protect-waf/configuration.md#waf-policies" >}}) of the WAF. Accepts an optional namespace. Mutually exclusive with ``apBundle``. | ``string`` | No | +|``apBundle`` | The [App Protect WAF policy bundle]({{< ref "/nic/installation/integrations/app-protect-waf/configuration.md#waf-bundles" >}}). Mutually exclusive with ``apPolicy``. | ``string`` | No | +|``securityLog.enable`` | Enables security log. | ``bool`` | No | +|``securityLog.apLogConf`` | The [App Protect WAF log conf]({{< ref "/nic/installation/integrations/app-protect-waf/configuration.md#waf-logs" >}}) resource. Accepts an optional namespace. Only works with ``apPolicy``. | ``string`` | No | +|``securityLog.apLogBundle`` | The [App Protect WAF log bundle]({{< ref "/nic/installation/integrations/app-protect-waf/configuration.md#waf-bundles" >}}) resource. Only works with ``apBundle``. | ``string`` | No | +|``securityLog.logDest`` | The log destination for the security log. Only accepted variables are ``syslog:server=:``, ``stderr``, ````. | ``string`` | No | +{{% /table %}} + +#### WAF Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple WAF policies. However, only one can be applied. Every subsequent reference will be ignored. For example, here we reference two policies: + +```yaml +policies: +- name: waf-policy-one +- name: waf-policy-two +``` + +In this example NGINX Ingress Controller will use the configuration from the first policy reference `waf-policy-one`, and ignores `waf-policy-two`. + +### Applying Policies + +You can apply policies to both VirtualServer and VirtualServerRoute resources. For example: + +- VirtualServer: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: VirtualServer + metadata: + name: cafe + namespace: cafe + spec: + host: cafe.example.com + tls: + secret: cafe-secret + policies: # spec policies + - name: policy1 + upstreams: + - name: coffee + service: coffee-svc + port: 80 + routes: + - path: /tea + policies: # route policies + - name: policy2 + namespace: cafe + route: tea/tea + - path: /coffee + policies: # route policies + - name: policy3 + namespace: cafe + action: + pass: coffee + ``` + + For VirtualServer, you can apply a policy: + * to all routes (spec policies) + * to a specific route (route policies) + + Route policies of the *same type* override spec policies. In the example above, if the type of the policies `policy-1` and `policy-3` is `accessControl`, then for requests to `cafe.example.com/coffee`, NGINX will apply `policy-3`. + + The overriding is enforced by NGINX: the spec policies are implemented in the `server` context of the config, and the route policies are implemented in the `location` context. As a result, the route policies of the same type win. + +- VirtualServerRoute, which is referenced by the VirtualServer above: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: VirtualServerRoute + metadata: + name: tea + namespace: tea + spec: + host: cafe.example.com + upstreams: + - name: tea + service: tea-svc + port: 80 + subroutes: # subroute policies + - path: /tea + policies: + - name: policy4 + namespace: tea + action: + pass: tea + ``` + + For VirtualServerRoute, you can apply a policy to a subroute (subroute policies). + + Subroute policies of the same type override spec policies. In the example above, if the type of the policies `policy-1` (in the VirtualServer) and `policy-4` is `accessControl`, then for requests to `cafe.example.com/tea`, NGINX will apply `policy-4`. As with the VirtualServer, the overriding is enforced by NGINX. + + Subroute policies always override route policies no matter the types. For example, the policy `policy-2` in the VirtualServer route will be ignored for the subroute `/tea`, because the subroute has its own policies (in our case, only one policy `policy4`). If the subroute didn't have any policies, then the `policy-2` would be applied. This overriding is enforced by NGINX Ingress Controller -- the `location` context for the subroute will either have route policies or subroute policies, but not both. + +### Invalid Policies + +NGINX will treat a policy as invalid if one of the following conditions is met: + +- The policy doesn't pass the [comprehensive validation](#comprehensive-validation). +- The policy isn't present in the cluster. +- The policy doesn't meet its type-specific requirements. For example, an `ingressMTLS` policy requires TLS termination enabled in the VirtualServer. + +For an invalid policy, NGINX returns the 500 status code for client requests with the following rules: + +- If a policy is referenced in a VirtualServer `route` or a VirtualServerRoute `subroute`, then NGINX will return the 500 status code for requests for the URIs of that route/subroute. +- If a policy is referenced in the VirtualServer `spec`, then NGINX will return the 500 status code for requests for all URIs of that VirtualServer. + +If a policy is invalid, the VirtualServer or VirtualServerRoute will have the [status](/nginx-ingress-controller/configuration/global-configuration/reporting-resources-status#virtualserver-and-virtualserverroute-resources) with the state `Warning` and the message explaining why the policy wasn't considered invalid. + +### Validation + +Two types of validation are available for the Policy resource: + +- *Structural validation*, done by `kubectl` and the Kubernetes API server. +- *Comprehensive validation*, done by NGINX Ingress Controller. + +#### Structural Validation + +The custom resource definition for the Policy includes a structural OpenAPI schema, which describes the type of every field of the resource. + +If you try to create (or update) a resource that violates the structural schema -- for example, the resource uses a string value instead of an array of strings in the `allow` field -- `kubectl` and the Kubernetes API server will reject the resource. + +- Example of `kubectl` validation: + + ```shell + kubectl apply -f access-control-policy-allow.yaml + + error: error validating "access-control-policy-allow.yaml": error validating data: ValidationError(Policy.spec.accessControl.allow): invalid type for org.nginx.k8s.v1.Policy.spec.accessControl.allow: got "string", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false + ``` + +- Example of Kubernetes API server validation: + + ```shell + kubectl apply -f access-control-policy-allow.yaml --validate=false + + The Policy "webapp-policy" is invalid: spec.accessControl.allow: Invalid value: "string": spec.accessControl.allow in body must be of type array: "string" + ``` + +If a resource passes structural validation, then NGINX Ingress Controller's comprehensive validation runs. + +#### Comprehensive Validation + +NGINX Ingress Controller validates the fields of a Policy resource. If a resource is invalid, NGINX Ingress Controller will reject it. The resource will continue to exist in the cluster, but NGINX Ingress Controller will ignore it. + +You can use `kubectl` to check whether or not NGINX Ingress Controller successfully applied a Policy configuration. For our example `webapp-policy` Policy, we can run: + +```shell +kubectl describe pol webapp-policy + +. . . +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal AddedOrUpdated 11s nginx-ingress-controller Policy default/webapp-policy was added or updated +``` + +Note how the events section includes a Normal event with the AddedOrUpdated reason that informs us that the configuration was successfully applied. + +If you create an invalid resource, NGINX Ingress Controller will reject it and emit a Rejected event. For example, if you create a Policy `webapp-policy` with an invalid IP `10.0.0.` in the `allow` field, you will get: + +```shell +kubectl describe policy webapp-policy + +. . . +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 7s nginx-ingress-controller Policy default/webapp-policy is invalid and was rejected: spec.accessControl.allow[0]: Invalid value: "10.0.0.": must be a CIDR or IP +``` + +Note how the events section includes a Warning event with the Rejected reason. + +Additionally, this information is also available in the `status` field of the Policy resource. Note the Status section of the Policy: + +```shell +kubectl describe pol webapp-policy + +. . . +Status: + Message: Policy default/webapp-policy is invalid and was rejected: spec.accessControl.allow[0]: Invalid value: "10.0.0.": must be a CIDR or IP + Reason: Rejected + State: Invalid +``` + +**Note**: If you make an existing resource invalid, NGINX Ingress Controller will reject it. diff --git a/content/nic/configuration/security.md b/content/nic/configuration/security.md new file mode 100644 index 000000000..f0b74f6a3 --- /dev/null +++ b/content/nic/configuration/security.md @@ -0,0 +1,102 @@ +--- +docs: DOCS-597 +doctypes: +- '' +title: Security recommendations +toc: true +weight: 300 +--- + +F5 NGINX Ingress Controller follows Kubernetes best practices: this page outlines configuration specific to NGINX Ingress Controller you may require, including links to examples in the [GitHub repository](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples). + +For general guidance, we recommend the official Kubernetes documentation for [Securing a Cluster](https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/). + +## Kubernetes recommendations + +### RBAC and Service Accounts + +Kubernetes uses [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) to control the resources and operations available to different types of users. + +NGINX Ingress Controller requires RBAC to configure a [ServiceUser](https://kubernetes.io/docs/concepts/security/service-accounts/#default-service-accounts), and provides least privilege access in its standard deployment configurations: + +- [Helm](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/deployments/rbac/rbac.yaml) +- [Manifests](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/deployments/rbac/rbac.yaml) + +By default, the ServiceAccount has access to all Secret resources in the cluster. + +### Secrets + +[Secrets](https://kubernetes.io/docs/concepts/configuration/secret/) are required by NGINX Ingress Controller for certificates and privacy keys, which Kubernetes stores unencrypted by default. We recommend following the [Kubernetes documentation](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/) to store these Secrets using at-rest encryption. + + +## NGINX Ingress Controller recommendations + +### Configure root filesystem as read-only + +{{< caution >}} + This feature is compatible with [NGINX App Protect WAFv5](https://docs.nginx.com/nginx-app-protect-waf/v5/). It is not compatible with [NGINX App Protect WAFv4](https://docs.nginx.com/nginx-app-protect-waf/v4/) or [NGINX App Protect DoS](https://docs.nginx.com/nginx-app-protect-dos/). +{{< /caution >}} + +NGINX Ingress Controller is designed to be resilient against attacks in various ways, such as running the service as non-root to avoid changes to files. We recommend setting filesystems on all containers to read-only, this includes `nginx-ingress-controller`, though also includes `waf-enforcer` and `waf-config-mgr` when NGINX App Protect WAFv5 is in use. This is so that the attack surface is further reduced by limiting changes to binaries and libraries. + +This is not enabled by default, but can be enabled with **Helm** using the [**readOnlyRootFilesystem**]({{< ref "/nic/installation/installing-nic/installation-with-helm.md#configuration" >}}) argument in security contexts on all containers: `nginx-ingress-controller`, `waf_enforcer` and `waf_config_mgr`. + +For **Manifests**, uncomment the following sections of the deployment and add sections for `waf-enforcer` and `waf-config-mgr` containers: + +- `readOnlyRootFilesystem: true` +- The entire **volumeMounts** section +- The entire **initContainers** section + +The block below shows the code you will look for: + +```yaml +# volumes: +# - name: nginx-etc +# emptyDir: {} +# - name: nginx-cache +# emptyDir: {} +# - name: nginx-lib +# emptyDir: {} +# - name: nginx-log +# emptyDir: {} +. +. +. +# readOnlyRootFilesystem: true +. +. +. +# volumeMounts: +# - mountPath: /etc/nginx +# name: nginx-etc +# - mountPath: /var/cache/nginx +# name: nginx-cache +# - mountPath: /var/lib/nginx +# name: nginx-lib +# - mountPath: /var/log/nginx +# name: nginx-log +``` + +- Add **waf-enforcer** and **waf-config-mgr** container sections +- Add `readOnlyFilesystem: true` in both containers security context sections + +### Prometheus + +If Prometheus metrics are [enabled]({{< ref "/nic/logging-and-monitoring/prometheus.md" >}}), we recommend [using HTTPS]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-prometheus-tls-secret" >}}). + +### Snippets + +Snippets allow raw NGINX configuration to be inserted into resources. They are intended for advanced NGINX users and could create vulnerabilities in a cluster if misused. + +Snippets are disabled by default. To use snippets, set the [**enable-snippets**]({{< ref"/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-enable-snippets" >}}) command-line argument. + +{{< caution >}} + Snippets are **always** enabled for ConfigMap. +{{< /caution >}} + +For more information, read the following: + +- [Advanced configuration using Snippets]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md" >}}) +- [Using Snippets with VirtualServer/VirtualServerRoute]({{< ref "/nic/configuration/virtualserver-and-virtualserverroute-resources.md#using-snippets" >}}) +- [Using Snippets with TransportServer]({{< ref "/nic/configuration/transportserver-resource.md#using-snippets" >}}) +- [ConfigMap snippets and custom templates]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#snippets-and-custom-templates" >}}) diff --git a/content/nic/configuration/transportserver-resource.md b/content/nic/configuration/transportserver-resource.md new file mode 100644 index 000000000..b725ea2e6 --- /dev/null +++ b/content/nic/configuration/transportserver-resource.md @@ -0,0 +1,416 @@ +--- +title: TransportServer resources +toc: true +weight: 600 +docs: DOCS-598 +--- + +This document is reference material for the TransportServer resource used by F5 NGINX Ingress Controller. + +The TransportServer resource allows you to configure TCP, UDP, and TLS Passthrough load balancing. The resource is implemented as a [Custom Resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). + +The GitHub repository has [examples of the resources](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources) for specific use cases. + +## Prerequisites + +- For TCP and UDP, the TransportServer resource must be used in conjunction with the [GlobalConfiguration resource]({{< ref "/nic/configuration/global-configuration/globalconfiguration-resource.md" >}}), which must be created separately. +- For TLS Passthrough, make sure to enable the [`-enable-tls-passthrough`]({{< ref "/nic/configuration/global-configuration/command-line-arguments#cmdoption-enable-tls-passthrough.md" >}}) command-line argument of NGINX Ingress Controller. + +## TransportServer Specification + +The TransportServer resource defines load balancing configuration for TCP, UDP, or TLS Passthrough traffic. Below are a few examples: + +- TCP load balancing: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: TransportServer + metadata: + name: dns-tcp + spec: + host: dns.example.com + listener: + name: dns-tcp + protocol: TCP + tls: + secret: cafe-secret + upstreams: + - name: dns-app + service: dns-service + port: 5353 + action: + pass: dns-app + ``` + +- UDP load balancing: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: TransportServer + metadata: + name: dns-udp + spec: + listener: + name: dns-udp + protocol: UDP + upstreams: + - name: dns-app + service: dns-service + port: 5353 + upstreamParameters: + udpRequests: 1 + udpResponses: 1 + action: + pass: dns-app + ``` + +- TLS passthrough load balancing: + + ```yaml + apiVersion: k8s.nginx.org/v1 + kind: TransportServer + metadata: + name: secure-app + spec: + listener: + name: tls-passthrough + protocol: TLS_PASSTHROUGH + host: app.example.com + upstreams: + - name: secure-app + service: secure-app + port: 8443 + action: + pass: secure-app + ``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``listener`` | The listener on NGINX that will accept incoming connections/datagrams. | [listener](#listener) | Yes | +|``host`` | The host (domain name) of the server. Must be a valid subdomain as defined in RFC 1123, such as ``my-app`` or ``hello.example.com``. Wildcard domains like ``*.example.com`` are not allowed. When specified, NGINX will use this host for SNI-based routing. For TLS Passthrough, this field is required. For TCP with TLS termination, specifying the host enables SNI routing and requires specifying a TLS secret.| ``string`` | No | +|``tls`` | The TLS termination configuration. Not supported for TLS Passthrough load balancing. | [tls](#tls) | No | +|``upstreams`` | A list of upstreams. | [[]upstream](#upstream) | Yes | +|``upstreamParameters`` | The upstream parameters. | [upstreamParameters](#upstreamparameters) | No | +|``action`` | The action to perform for a client connection/datagram. | [action](#action) | Yes | +|``ingressClassName`` | Specifies which Ingress Controller must handle the TransportServer resource. | ``string`` | No | +|``streamSnippets`` | Sets a custom snippet in the ``stream`` context. | ``string`` | No | +|``serverSnippets`` | Sets a custom snippet in the ``server`` context. | ``string`` | No | +{{}} + +\* -- Required for TLS Passthrough load balancing. + +### Listener + +The listener field references a listener that NGINX will use to accept incoming traffic for the TransportServer. For TCP and UDP, the listener must be defined in the [GlobalConfiguration resource]({{< ref "/nic/configuration/global-configuration/globalconfiguration-resource.md" >}}). When referencing a listener, both the name and the protocol must match. For TLS Passthrough, use the built-in listener with the name `tls-passthrough` and the protocol `TLS_PASSTHROUGH`. + +The combination of ``spec.listener.name`` and ``spec.host`` must be unique among all TransportServers. If two TransportServers specify the same combination of ``spec.listener.name`` and ``spec.host``, one of them will be rejected to prevent conflicts. In the case where no host is specified, it is considered an empty string. + +An example: + +```yaml +listener: + name: dns-udp + protocol: UDP +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the listener. | ``string`` | Yes | +|``protocol`` | The protocol of the listener. | ``string`` | Yes | +{{}} + +### TLS + +The tls field defines TLS configuration for a TransportServer. When using TLS termination (not TLS Passthrough), you can specify the host field to enable SNI-based routing, allowing multiple applications to share the same listener port and be distinguished by the TLS SNI hostname. Each application can use its own TLS certificate and key specified via the secret field. + +```yaml +secret: cafe-secret +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``secret`` | The name of a secret with a TLS certificate and key. The secret must belong to the same namespace as the TransportServer. The secret must be of the type ``kubernetes.io/tls`` and contain keys named ``tls.crt`` and ``tls.key`` that contain the certificate and private key as described [here](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls). | ``string`` | No | +{{}} + +### Upstream + +The upstream defines a destination for the TransportServer. For example: + +```yaml +name: secure-app +service: secure-app +port: 8443 +maxFails: 3 +maxConns: 100 +failTimeout: 30s +loadBalancingMethod: least_conn +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the upstream. Must be a valid DNS label as defined in RFC 1035. For example, ``hello`` and ``upstream-123`` are valid. The name must be unique among all upstreams of the resource. | ``string`` | Yes | +|``service`` | The name of a [service](https://kubernetes.io/docs/concepts/services-networking/service/). The service must belong to the same namespace as the resource. If the service doesn't exist, NGINX will assume the service has zero endpoints and close client connections/ignore datagrams. | ``string`` | Yes | +|``port`` | The port of the service. If the service doesn't define that port, NGINX will assume the service has zero endpoints and close client connections/ignore datagrams. The port must fall into the range ``1..65535``. | ``int`` | Yes | +|``maxFails`` | Sets the [number](https://nginx.org/en/docs/stream/ngx_stream_upstream_module.html#max_fails) of unsuccessful attempts to communicate with the server that should happen in the duration set by the failTimeout parameter to consider the server unavailable. The default ``1``. | ``int`` | No | +|``maxConns`` | Sets the [number](https://nginx.org/en/docs/stream/ngx_stream_upstream_module.html#max_conns) of maximum connections to the proxied server. Default value is zero, meaning there is no limit. The default is ``0``. | ``int`` | No | +|``failTimeout`` | Sets the [time](https://nginx.org/en/docs/stream/ngx_stream_upstream_module.html#fail_timeout) during which the specified number of unsuccessful attempts to communicate with the server should happen to consider the server unavailable and the period of time the server will be considered unavailable. The default is ``10s``. | ``string`` | No | +|``healthCheck`` | The health check configuration for the Upstream. See the [health_check](https://nginx.org/en/docs/stream/ngx_stream_upstream_hc_module.html#health_check) directive. Note: this feature is supported only in NGINX Plus. | [healthcheck](#upstreamhealthcheck) | No | +|``loadBalancingMethod`` | The method used to load balance the upstream servers. By default, connections are distributed between the servers using a weighted round-robin balancing method. See the [upstream](http://nginx.org/en/docs/stream/ngx_stream_upstream_module.html#upstream) section for available methods and their details. | ``string`` | No | +|``backup`` | The name of the backup service of type [ExternalName](https://kubernetes.io/docs/concepts/services-networking/service/#externalname). This will be used when the primary servers are unavailable. Note: The parameter cannot be used along with the ``random`` , ``hash`` or ``ip_hash`` load balancing methods. | ``string`` | No | +|``backupPort`` | The port of the backup service. The backup port is required if the backup service name is provided. The port must fall into the range ``1..65535``. | ``uint16`` | No | +{{}} + +### Upstream.Healthcheck + +The Healthcheck defines an [active health check](https://nginx.org/en/docs/stream/ngx_stream_upstream_hc_module.html?#health_check). In the example below we enable a health check for an upstream and configure all the available parameters: + +```yaml +name: secure-app +service: secure-app +port: 8443 +healthCheck: + enable: true + interval: 20s + timeout: 30s + jitter: 3s + fails: 5 + passes: 5 + port: 8080 +``` + +{{< note >}} This feature is only supported with NGINX Plus. {{< /note >}} + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables a health check for an upstream server. The default is ``false``. | ``boolean`` | No | +|``interval`` | The interval between two consecutive health checks. The default is ``5s``. | ``string`` | No | +|``timeout`` | This overrides the timeout set by [proxy_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_timeout) which is set in `SessionParameters` for health checks. The default value is ``5s``. | ``string`` | No | +|``jitter`` | The time within which each health check will be randomly delayed. By default, there is no delay. | ``string`` | No | +|``fails`` | The number of consecutive failed health checks of a particular upstream server after which this server will be considered unhealthy. The default is ``1``. | ``integer`` | No | +|``passes`` | The number of consecutive passed health checks of a particular upstream server after which the server will be considered healthy. The default is ``1``. | ``integer`` | No | +|``port`` | The port used for health check requests. By default, the [server port is used](https://nginx.org/en/docs/stream/ngx_stream_upstream_hc_module.html#health_check_port). Note: in contrast with the port of the upstream, this port is not a service port, but a port of a pod. | ``integer`` | No | +|``match`` | Controls the data to send and the response to expect for the healthcheck. | [match](#upstreamhealthcheckmatch) | No | +{{}} + +### Upstream.Healthcheck.Match + +The match controls the data to send and the response to expect for the healthcheck: + +```yaml +match: + send: 'GET / HTTP/1.0\r\nHost: localhost\r\n\r\n' + expect: "~200 OK" +``` + +Both `send` and `expect` fields can contain hexadecimal literals with the prefix `\x` followed by two hex digits, for example, `\x80`. + +See the [match](https://nginx.org/en/docs/stream/ngx_stream_upstream_hc_module.html#match) directive for details. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``send`` | A string to send to an upstream server. | ``string`` | No | +|``expect`` | A literal string or a regular expression that the data obtained from the server should match. The regular expression is specified with the preceding ``~*`` modifier (for case-insensitive matching), or the ``~`` modifier (for case-sensitive matching). NGINX Ingress Controller validates a regular expression using the RE2 syntax. | ``string`` | No | +{{}} + +### UpstreamParameters + +The upstream parameters define various parameters for the upstreams: + +```yaml +upstreamParameters: + udpRequests: 1 + udpResponses: 1 + connectTimeout: 60s + nextUpstream: true + nextUpstreamTimeout: 50s + nextUpstreamTries: 1 +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``udpRequests`` | The number of datagrams, after receiving which, the next datagram from the same client starts a new session. See the [proxy_requests](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_requests) directive. The default is ``0``. | ``int`` | No | +|``udpResponses`` | The number of datagrams expected from the proxied server in response to a client datagram. See the [proxy_responses](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_responses) directive. By default, the number of datagrams is not limited. | ``int`` | No | +|``connectTimeout`` | The timeout for establishing a connection with a proxied server. See the [proxy_connect_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_connect_timeout) directive. The default is ``60s``. | ``string`` | No | +|``nextUpstream`` | If a connection to the proxied server cannot be established, determines whether a client connection will be passed to the next server. See the [proxy_next_upstream](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream) directive. The default is ``true``. | bool | No | +|``nextUpstreamTries`` | The number of tries for passing a connection to the next server. See the [proxy_next_upstream_tries](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_tries) directive. The default is ``0``. | ``int`` | No | +|``nextUpstreamTimeout`` | The time allowed to pass a connection to the next server. See the [proxy_next_upstream_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_timeout) directive. The default us ``0``. | ``string`` | No | +{{}} + +### SessionParameters + +The session parameters define various parameters for TCP connections and UDP sessions. + +```yaml +sessionParameters: + timeout: 50s +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``timeout`` | The timeout between two successive read or write operations on client or proxied server connections. See [proxy_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_timeout) directive. The default is ``10m``. | ``string`` | No | +{{}} + +### Action + +The action defines an action to perform for a client connection/datagram. + +In the example below, client connections/datagrams are passed to an upstream `dns-app`: + +```yaml +action: + pass: dns-app +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``pass`` | Passes connections/datagrams to an upstream. The upstream with that name must be defined in the resource. | ``string`` | Yes | +{{}} + +## Using TransportServer + +You can use the usual `kubectl` commands to work with TransportServer resources, similar to Ingress resources. + +For example, the following command creates a TransportServer resource defined in `transport-server-passthrough.yaml` with the name `secure-app`: + +```shell +kubectl apply -f transport-server-passthrough.yaml +``` +```text +transportserver.k8s.nginx.org/secure-app created +``` + +You can get the resource by running: + +```shell +kubectl get transportserver secure-app +``` +```text +NAME AGE +secure-app 46sm +``` + +In the kubectl get and similar commands, you can also use the short name `ts` instead of `transportserver`. + +### Using Snippets + +Snippets allow you to insert raw NGINX config into different contexts of NGINX configuration. In the example below, we use snippets to configure [access control](http://nginx.org/en/docs/stream/ngx_stream_access_module.html) in a TransportServer: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: TransportServer +metadata: + name: cafe +spec: + host: cafe.example.com + serverSnippets: | + deny 192.168.1.1; + allow 192.168.1.0/24; + upstreams: + - name: tea + service: tea-svc + port: 80 +``` + +Snippets can also be specified for a stream. In the example below, we use snippets to [limit the number of connections](https://nginx.org/en/docs/stream/ngx_stream_limit_conn_module.html): + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: TransportServer +metadata: + name: cafe +spec: + host: cafe.example.com + streamSnippets: limit_conn_zone $binary_remote_addr zone=addr:10m; + serverSnippets: limit_conn addr 1; + upstreams: + - name: tea + service: tea-svc + port: 80 +``` + +{{< note >}} To configure snippets in the `stream` context, use `stream-snippets` ConfigMap key. {{< /note >}} + +For additional information, view the [Advanced configuration with Snippets]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md" >}}) topic. + +### Validation + +Two types of validation are available for the TransportServer resource: + +- *Structural validation* by the `kubectl` and Kubernetes API server. +- *Comprehensive validation* by NGINX Ingress Controller. + +#### Structural Validation + +The custom resource definition for the TransportServer includes structural OpenAPI schema which describes the type of every field of the resource. + +If you try to create (or update) a resource that violates the structural schema (for example, you use a string value for the port field of an upstream), `kubectl` and Kubernetes API server will reject such a resource: + +- Example of `kubectl` validation: + + ```shell + kubectl apply -f transport-server-passthrough.yaml + ``` + ```text + error: error validating "transport-server-passthrough.yaml": error validating data: ValidationError(TransportServer.spec.upstreams[0].port): invalid type for org.nginx.k8s.v1.TransportServer.spec.upstreams.port: got "string", expected "integer"; if you choose to ignore these errors, turn validation off with --validate=false + ``` + +- Example of Kubernetes API server validation: + + ```shell + kubectl apply -f transport-server-passthrough.yaml --validate=false + ``` + ```text + The TransportServer "secure-app" is invalid: []: Invalid value: map[string]interface {}{ ... }: validation failure list: + spec.upstreams.port in body must be of type integer: "string" + ``` + +If a resource is not rejected (it doesn't violate the structural schema), NGINX Ingress Controller will validate it further. + +#### Comprehensive Validation + +NGINX Ingress Controller validates the fields of a TransportServer resource. If a resource is invalid, NGINX Ingress Controller will reject it: the resource will continue to exist in the cluster, but NGINX Ingress Controller will ignore it. + +You can check if NGINX Ingress Controller successfully applied the configuration for a TransportServer. For our example `secure-app` TransportServer, we can run: + +```shell +kubectl describe ts secure-app +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal AddedOrUpdated 3s nginx-ingress-controller Configuration for default/secure-app was added or updated +``` + +Note how the events section includes a Normal event with the AddedOrUpdated reason that informs us that the configuration was successfully applied. + +If you create an invalid resource, NGINX Ingress Controller will reject it and emit a Rejected event. For example, if you create a TransportServer `secure-app` with a pass action that references a non-existing upstream, you will get : + +```shell +kubectl describe ts secure-app +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 2s nginx-ingress-controller TransportServer default/secure-app is invalid and was rejected: spec.action.pass: Not found: "some-app" +``` + +Note how the events section includes a Warning event with the Rejected reason. + +**Note**: If you make an existing resource invalid, NGINX Ingress Controller will reject it and remove the corresponding configuration from NGINX. + +## Customization via ConfigMap + +The [ConfigMap]({{< ref "/nic/configuration/global-configuration/configmap-resource.md" >}}) keys (except for `stream-snippets`, `stream-log-format`, `resolver-addresses`, `resolver-ipv6`, `resolver-valid` and `resolver-timeout`) do not affect TransportServer resources. diff --git a/content/nic/configuration/virtualserver-and-virtualserverroute-resources.md b/content/nic/configuration/virtualserver-and-virtualserverroute-resources.md new file mode 100644 index 000000000..1acd05b02 --- /dev/null +++ b/content/nic/configuration/virtualserver-and-virtualserverroute-resources.md @@ -0,0 +1,1101 @@ +--- +title: VirtualServer and VirtualServerRoute resources +toc: true +weight: 700 +docs: DOCS-599 +--- + +This document is reference material for the VirtualServer and VirtualServerRoute resources used by F5 NGINX Ingress Controller. + +VirtualServer and VirtualServerRoute resources are load balancing configurations recommended as an alternative to the Ingress resource. + +They enable use cases not supported with the Ingress resource, such as traffic splitting and advanced content-based routing. The resources are implemented as [Custom Resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). + +The GitHub repository has [examples of the resources](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources) for specific use cases. + +--- + +## VirtualServer specification + +The VirtualServer resource defines load balancing configuration for a domain name, such as `example.com`. Below is an example of such configuration: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: VirtualServer +metadata: + name: cafe +spec: + host: cafe.example.com + listener: + http: http-8083 + https: https-8443 + tls: + secret: cafe-secret + gunzip: on + upstreams: + - name: tea + service: tea-svc + port: 80 + - name: coffee + service: coffee-svc + port: 80 + routes: + - path: /tea + action: + pass: tea + - path: /coffee + action: + pass: coffee + - path: ~ ^/decaf/.*\\.jpg$ + action: + pass: coffee + - path: = /green/tea + action: + pass: tea +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``host`` | The host (domain name) of the server. Must be a valid subdomain as defined in RFC 1123, such as ``my-app`` or ``hello.example.com``. When using a wildcard domain like ``*.example.com`` the domain must be contained in double quotes. The ``host`` value needs to be unique among all Ingress and VirtualServer resources. See also [Handling Host and Listener Collisions](/nginx-ingress-controller/configuration/host-and-listener-collisions). | ``string`` | Yes | +|``listener`` | Sets a custom HTTP and/or HTTPS listener. Valid fields are `listener.http` and `listener.https`. Each field must reference the name of a valid listener defined in a GlobalConfiguration resource | [listener](#virtualserverlistener) | No | +|``tls`` | The TLS termination configuration. | [tls](#virtualservertls) | No | +|``gunzip`` | Enables or disables [decompression](https://docs.nginx.com/nginx/admin-guide/web-server/compression/) of gzipped responses for clients. Allowed values “on”/“off”, “true”/“false” or “yes”/“no”. If the ``gunzip`` value is not set, it defaults to ``off``. | ``boolean`` | No | +|``externalDNS`` | The externalDNS configuration for a VirtualServer. | [externalDNS](#virtualserverexternaldns) | No | +|``dos`` | A reference to a DosProtectedResource, setting this enables DOS protection of the VirtualServer. | ``string`` | No | +|``policies`` | A list of policies. | [[]policy](#virtualserverpolicy) | No | +|``upstreams`` | A list of upstreams. | [[]upstream](#upstream) | No | +|``routes`` | A list of routes. | [[]route](#virtualserverroute) | No | +|``ingressClassName`` | Specifies which Ingress Controller must handle the VirtualServer resource. | ``string`` | No | +|``internalRoute`` | Specifies if the VirtualServer resource is an internal route or not. | ``boolean`` | No | +|``http-snippets`` | Sets a custom snippet in the http context. | ``string`` | No | +|``server-snippets`` | Sets a custom snippet in server context. Overrides the ``server-snippets`` ConfigMap key. | ``string`` | No | +{{}} + +### VirtualServer.TLS + +The tls field defines TLS configuration for a VirtualServer. For example: + +```yaml +secret: cafe-secret +redirect: + enable: true +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``secret`` | The name of a secret with a TLS certificate and key. The secret must belong to the same namespace as the VirtualServer. The secret must be of the type ``kubernetes.io/tls`` and contain keys named ``tls.crt`` and ``tls.key`` that contain the certificate and private key as described [here](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls). If the secret doesn't exist or is invalid, NGINX will break any attempt to establish a TLS connection to the host of the VirtualServer. If the secret is not specified but [wildcard TLS secret](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments#cmdoption-wildcard-tls-secret) is configured, NGINX will use the wildcard secret for TLS termination. | ``string`` | No | +|``redirect`` | The redirect configuration of the TLS for a VirtualServer. | [tls.redirect](#virtualservertlsredirect) | No | ### VirtualServer.TLS.Redirect | +|``cert-manager`` | The cert-manager configuration of the TLS for a VirtualServer. | [tls.cert-manager](#virtualservertlscertmanager) | No | ### VirtualServer.TLS.CertManager | +{{}} + +### VirtualServer.TLS.Redirect + +The redirect field configures a TLS redirect for a VirtualServer: + +```yaml +enable: true +code: 301 +basedOn: scheme +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables a TLS redirect for a VirtualServer. The default is ``False``. | ``boolean`` | No | +|``code`` | The status code of a redirect. The allowed values are: ``301`` , ``302`` , ``307`` , ``308``. The default is ``301``. | ``int`` | No | +|``basedOn`` | The attribute of a request that NGINX will evaluate to send a redirect. The allowed values are ``scheme`` (the scheme of the request) or ``x-forwarded-proto`` (the ``X-Forwarded-Proto`` header of the request). The default is ``scheme``. | ``string`` | No | ### VirtualServer.Policy | +{{}} + +### VirtualServer.TLS.CertManager + +The cert-manager field configures x509 automated Certificate management for VirtualServer resources using cert-manager (cert-manager.io). Please see the [cert-manager configuration documentation](https://cert-manager.io/docs/configuration/) for more information on deploying and configuring Issuers. Example: + +```yaml +cert-manager: + cluster-issuer: "my-issuer-name" +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``issuer`` | the name of an Issuer. An Issuer is a cert-manager resource which describes the certificate authority capable of signing certificates. The Issuer must be in the same namespace as the VirtualServer resource. Please note that one of `issuer` and `cluster-issuer` are required, but they are mutually exclusive - one and only one must be defined. | ``string`` | No | +|``cluster-issuer`` | the name of a ClusterIssuer. A ClusterIssuer is a cert-manager resource which describes the certificate authority capable of signing certificates. It does not matter which namespace your VirtualServer resides, as ClusterIssuers are non-namespaced resources. Please note that one of `issuer` and `cluster-issuer` are required, but they are mutually exclusive - one and only one must be defined. | ``string`` | No | +|``issuer-kind`` | The kind of the external issuer resource, for example AWSPCAIssuer. This is only necessary for out-of-tree issuers. This cannot be defined if `cluster-issuer` is also defined. | ``string`` | No | +|``issuer-group`` | The API group of the external issuer controller, for example awspca.cert-manager.io. This is only necessary for out-of-tree issuers. This cannot be defined if `cluster-issuer` is also defined. | ``string`` | No | +|``common-name`` | This field allows you to configure spec.commonName for the Certificate to be generated. This configuration adds a CN to the x509 certificate. | ``string`` | No | +|``duration`` | This field allows you to configure spec.duration field for the Certificate to be generated. Must be specified using a [Go time.Duration](https://pkg.go.dev/time#ParseDuration) string format, which does not allow the d (days) suffix. You must specify these values using s, m, and h suffixes instead. | ``string`` | No | +|``renew-before`` | this annotation allows you to configure spec.renewBefore field for the Certificate to be generated. Must be specified using a [Go time.Duration](https://pkg.go.dev/time#ParseDuration) string format, which does not allow the d (days) suffix. You must specify these values using s, m, and h suffixes instead. | ``string`` | No | +|``usages`` | This field allows you to configure spec.usages field for the Certificate to be generated. Pass a string with comma-separated values i.e. ``key agreement,digital signature, server auth``. An exhaustive list of supported key usages can be found in the [the cert-manager api documentation](https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.KeyUsage). | ``string`` | No | +|``issue-temp-cert`` | When ``true``, ask cert-manager for a [temporary self-signed certificate](https://cert-manager.io/docs/usage/certificate/#temporary-certificates-while-issuing) pending the issuance of the Certificate. This allows HTTPS-only servers to use ACME HTTP01 challenges when the TLS secret does not exist yet. | ``boolean`` | No | +{{}} + +### VirtualServer.Listener +The listener field defines a custom HTTP and/or HTTPS listener. +The respective listeners used must reference the name of a listener defined using a [GlobalConfiguration](/nginx-ingress-controller/configuration/global-configuration/globalconfiguration-resource/) resource. +For example: +```yaml +http: http-8083 +https: https-8443 +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``http`` | The name of am HTTP listener defined in a [GlobalConfiguration](/nginx-ingress-controller/configuration/global-configuration/globalconfiguration-resource/) resource. | ``string`` | No | +|``https`` | The name of an HTTPS listener defined in a [GlobalConfiguration](/nginx-ingress-controller/configuration/global-configuration/globalconfiguration-resource/) resource. | ``string`` | No | +{{}} + +### VirtualServer.ExternalDNS + +The externalDNS field configures controlling DNS records dynamically for VirtualServer resources using [ExternalDNS](https://github.com/kubernetes-sigs/external-dns). Please see the [ExternalDNS configuration documentation](https://kubernetes-sigs.github.io/external-dns/) for more information on deploying and configuring ExternalDNS and Providers. Example: + +```yaml +enable: true +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables ExternalDNS integration for a VirtualServer resource. The default is ``false``. | ``string`` | No | +|``labels`` | Configure labels to be applied to the Endpoint resources that will be consumed by ExternalDNS. | ``map[string]string`` | No | +|``providerSpecific`` | Configure provider specific properties which holds the name and value of a configuration which is specific to individual DNS providers. | [[]ProviderSpecific](#virtualserverexternaldnsproviderspecific) | No | +|``recordTTL`` | TTL for the DNS record. This defaults to 0 if not defined. See [the ExternalDNS TTL documentation for provider-specific defaults](https://kubernetes-sigs.github.io/external-dns/v0.14.2/ttl/#providers) | ``int64`` | No | +|``recordType`` | The record Type that should be created, e.g. "A", "AAAA", "CNAME". This is automatically computed based on the external endpoints if not defined. | ``string`` | No | +{{}} + +### VirtualServer.ExternalDNS.ProviderSpecific + +The providerSpecific field of the externalDNS block allows the specification of provider specific properties which is a list of key value pairs of configurations which are specific to individual DNS providers. Example: + +```yaml +- name: my-name + value: my-value +- name: my-name2 + value: my-value2 +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the key value pair. | ``string`` | Yes | +|``value`` | The value of the key value pair. | ``string`` | Yes | +{{}} + +### VirtualServer.Policy + +The policy field references a [Policy resource](/nginx-ingress-controller/configuration/policy-resource/) by its name and optional namespace. For example: + +```yaml +name: access-control +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of a policy. If the policy doesn't exist or invalid, NGINX will respond with an error response with the `500` status code. | ``string`` | Yes | +|``namespace`` | The namespace of a policy. If not specified, the namespace of the VirtualServer resource is used. | ``string`` | No | +{{}} + +### VirtualServer.Route + +The route defines rules for matching client requests to actions like passing a request to an upstream. For example: + +```yaml + path: /tea + action: + pass: tea +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``path`` | The path of the route. NGINX will match it against the URI of a request. Possible values are: a prefix ( ``/`` , ``/path`` ), an exact match ( ``=/exact/match`` ), a case insensitive regular expression ( ``~*^/Bar.*\.jpg`` ) or a case sensitive regular expression ( ``~^/foo.*\.jpg`` ). In the case of a prefix (must start with ``/`` ) or an exact match (must start with ``=`` ), the path must not include any whitespace characters, ``{`` , ``}`` or ``;``. In the case of the regex matches, all double quotes ``"`` must be escaped and the match can't end in an unescaped backslash ``\``. The path must be unique among the paths of all routes of the VirtualServer. Check the [location](https://nginx.org/en/docs/http/ngx_http_core_module.html#location) directive for more information. | ``string`` | Yes | +|``policies`` | A list of policies. The policies override the policies of the same type defined in the ``spec`` of the VirtualServer. See [Applying Policies](/nginx-ingress-controller/configuration/policy-resource/#applying-policies) for more details. | [[]policy](#virtualserverpolicy) | No | +|``action`` | The default action to perform for a request. | [action](#action) | No | +|``dos`` | A reference to a DosProtectedResource, setting this enables DOS protection of the VirtualServer route. | ``string`` | No | +|``splits`` | The default splits configuration for traffic splitting. Must include at least 2 splits. | [[]split](#split) | No | +|``matches`` | The matching rules for advanced content-based routing. Requires the default ``action`` or ``splits``. Unmatched requests will be handled by the default ``action`` or ``splits``. | [matches](#match) | No | +|``route`` | The name of a VirtualServerRoute resource that defines this route. If the VirtualServerRoute belongs to a different namespace than the VirtualServer, you need to include the namespace. For example, ``tea-namespace/tea``. | ``string`` | No | +|``errorPages`` | The custom responses for error codes. NGINX will use those responses instead of returning the error responses from the upstream servers or the default responses generated by NGINX. A custom response can be a redirect or a canned response. For example, a redirect to another URL if an upstream server responded with a 404 status code. | [[]errorPage](#errorpage) | No | +|``location-snippets`` | Sets a custom snippet in the location context. Overrides the ``location-snippets`` ConfigMap key. | ``string`` | No | +{{}} + +\* -- a route must include exactly one of the following: `action`, `splits`, or `route`. + +## VirtualServerRoute specification + +The VirtualServerRoute resource defines a route for a VirtualServer. It can consist of one or multiple subroutes. The VirtualServerRoute is an alternative to [Mergeable Ingress types](/nginx-ingress-controller/configuration/ingress-resources/cross-namespace-configuration). + +In the example below, the VirtualServer `cafe` from the namespace `cafe-ns` defines a route with the path `/coffee`, which is further defined in the VirtualServerRoute `coffee` from the namespace `coffee-ns`. + +VirtualServer: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: VirtualServer +metadata: + name: cafe + namespace: cafe-ns +spec: + host: cafe.example.com + upstreams: + - name: tea + service: tea-svc + port: 80 + routes: + - path: /tea + action: + pass: tea + - path: /coffee + route: coffee-ns/coffee +``` + +VirtualServerRoute: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: VirtualServerRoute +metadata: + name: coffee + namespace: coffee-ns +spec: + host: cafe.example.com + upstreams: + - name: latte + service: latte-svc + port: 80 + - name: espresso + service: espresso-svc + port: 80 + subroutes: + - path: /coffee/latte + action: + pass: latte + - path: /coffee/espresso + action: + pass: espresso +``` + +Note that each subroute must have a `path` that starts with the same prefix (here `/coffee`), which is defined in the route of the VirtualServer. Additionally, the `host` in the VirtualServerRoute must be the same as the `host` of the VirtualServer. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``host`` | The host (domain name) of the server. Must be a valid subdomain as defined in RFC 1123, such as ``my-app`` or ``hello.example.com``. When using a wildcard domain like ``*.example.com`` the domain must be contained in double quotes. Must be the same as the ``host`` of the VirtualServer that references this resource. | ``string`` | Yes | +|``upstreams`` | A list of upstreams. | [[]upstream](#upstream) | No | +|``subroutes`` | A list of subroutes. | [[]subroute](#virtualserverroutesubroute) | No | +|``ingressClassName`` | Specifies which Ingress Controller must handle the VirtualServerRoute resource. Must be the same as the ``ingressClassName`` of the VirtualServer that references this resource. | ``string``_ | No | +{{}} + +### VirtualServerRoute.Subroute + +The subroute defines rules for matching client requests to actions like passing a request to an upstream. For example: + +```yaml +path: /coffee +action: + pass: coffee +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``path`` | The path of the subroute. NGINX will match it against the URI of a request. Possible values are: a prefix ( ``/`` , ``/path`` ), an exact match ( ``=/exact/match`` ), a case insensitive regular expression ( ``~*^/Bar.*\.jpg`` ) or a case sensitive regular expression ( ``~^/foo.*\.jpg`` ). In the case of a prefix, the path must start with the same path as the path of the route of the VirtualServer that references this resource. In the case of an exact or regex match, the path must be the same as the path of the route of the VirtualServer that references this resource. A matching path of the route of the VirtualServer but in different type is not accepted, e.g. a regex path (`~/match`) cannot be used with a prefix path in VirtualServer (`/match`) In the case of a prefix or an exact match, the path must not include any whitespace characters, ``{`` , ``}`` or ``;``. In the case of the regex matches, all double quotes ``"`` must be escaped and the match can't end in an unescaped backslash ``\``. The path must be unique among the paths of all subroutes of the VirtualServerRoute. | ``string`` | Yes | +|``policies`` | A list of policies. The policies override *all* policies defined in the route of the VirtualServer that references this resource. The policies also override the policies of the same type defined in the ``spec`` of the VirtualServer. See [Applying Policies](/nginx-ingress-controller/configuration/policy-resource/#applying-policies) for more details. | [[]policy](#virtualserverpolicy) | No | +|``action`` | The default action to perform for a request. | [action](#action) | No | +|``dos`` | A reference to a DosProtectedResource, setting this enables DOS protection of the VirtualServerRoute subroute. | ``string`` | No | +|``splits`` | The default splits configuration for traffic splitting. Must include at least 2 splits. | [[]split](#split) | No | +|``matches`` | The matching rules for advanced content-based routing. Requires the default ``action`` or ``splits``. Unmatched requests will be handled by the default ``action`` or ``splits``. | [matches](#match) | No | +|``errorPages`` | The custom responses for error codes. NGINX will use those responses instead of returning the error responses from the upstream servers or the default responses generated by NGINX. A custom response can be a redirect or a canned response. For example, a redirect to another URL if an upstream server responded with a 404 status code. | [[]errorPage](#errorpage) | No | +|``location-snippets`` | Sets a custom snippet in the location context. Overrides the ``location-snippets`` of the VirtualServer (if set) or the ``location-snippets`` ConfigMap key. | ``string`` | No | +{{}} + +\* -- a subroute must include exactly one of the following: `action` or `splits`. + +## Common VirtualServer and VirtualServerRoute specifications + +### Upstream + +The upstream defines a destination for the routing configuration. For example: + +```yaml +name: tea +service: tea-svc +subselector: + version: canary +port: 80 +lb-method: round_robin +fail-timeout: 10s +max-fails: 1 +max-conns: 32 +keepalive: 32 +connect-timeout: 30s +read-timeout: 30s +send-timeout: 30s +next-upstream: "error timeout non_idempotent" +next-upstream-timeout: 5s +next-upstream-tries: 10 +client-max-body-size: 2m +tls: + enable: true +``` + +**Note**: The WebSocket protocol is supported without any additional configuration. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the upstream. Must be a valid DNS label as defined in RFC 1035. For example, ``hello`` and ``upstream-123`` are valid. The name must be unique among all upstreams of the resource. | ``string`` | Yes | +|``service`` | The name of a [service](https://kubernetes.io/docs/concepts/services-networking/service/). The service must belong to the same namespace as the resource. If the service doesn't exist, NGINX will assume the service has zero endpoints and return a ``502`` response for requests for this upstream. For NGINX Plus only, services of type [ExternalName](https://kubernetes.io/docs/concepts/services-networking/service/#externalname) are also supported (check the [prerequisites](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/externalname-services#prerequisites) ). | ``string`` | Yes | +|``subselector`` | Selects the pods within the service using label keys and values. By default, all pods of the service are selected. Note: the specified labels are expected to be present in the pods when they are created. If the pod labels are updated, NGINX Ingress Controller will not see that change until the number of the pods is changed. | ``map[string]string`` | No | +|``use-cluster-ip`` | Enables using the Cluster IP and port of the service instead of the default behavior of using the IP and port of the pods. When this field is enabled, the fields that configure NGINX behavior related to multiple upstream servers (like ``lb-method`` and ``next-upstream``) will have no effect, as NGINX Ingress Controller will configure NGINX with only one upstream server that will match the service Cluster IP. | ``boolean`` | No | +|``port`` | The port of the service. If the service doesn't define that port, NGINX will assume the service has zero endpoints and return a ``502`` response for requests for this upstream. The port must fall into the range ``1..65535``. | ``uint16`` | Yes | +|``lb-method`` | The load [balancing method](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#choosing-a-load-balancing-method). To use the round-robin method, specify ``round_robin``. The default is specified in the ``lb-method`` ConfigMap key. | ``string`` | No | +|``fail-timeout`` | The time during which the specified number of unsuccessful attempts to communicate with an upstream server should happen to consider the server unavailable. See the [fail_timeout](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#fail_timeout) parameter of the server directive. The default is set in the ``fail-timeout`` ConfigMap key. | ``string`` | No | +|``max-fails`` | The number of unsuccessful attempts to communicate with an upstream server that should happen in the duration set by the ``fail-timeout`` to consider the server unavailable. See the [max_fails](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_fails) parameter of the server directive. The default is set in the ``max-fails`` ConfigMap key. | ``int`` | No | +|``max-conns`` | The maximum number of simultaneous active connections to an upstream server. See the [max_conns](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_conns) parameter of the server directive. By default there is no limit. Note: if keepalive connections are enabled, the total number of active and idle keepalive connections to an upstream server may exceed the ``max_conns`` value. | ``int`` | No | +|``keepalive`` | Configures the cache for connections to upstream servers. The value ``0`` disables the cache. See the [keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) directive. The default is set in the ``keepalive`` ConfigMap key. | ``int`` | No | +|``connect-timeout`` | The timeout for establishing a connection with an upstream server. See the [proxy_connect_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) directive. The default is specified in the ``proxy-connect-timeout`` ConfigMap key. | ``string`` | No | +|``read-timeout`` | The timeout for reading a response from an upstream server. See the [proxy_read_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout) directive. The default is specified in the ``proxy-read-timeout`` ConfigMap key. | ``string`` | No | +|``send-timeout`` | The timeout for transmitting a request to an upstream server. See the [proxy_send_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout) directive. The default is specified in the ``proxy-send-timeout`` ConfigMap key. | ``string`` | No | +|``next-upstream`` | Specifies in which cases a request should be passed to the next upstream server. See the [proxy_next_upstream](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream) directive. The default is ``error timeout``. | ``string`` | No | +|``next-upstream-timeout`` | The time during which a request can be passed to the next upstream server. See the [proxy_next_upstream_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream_timeout) directive. The ``0`` value turns off the time limit. The default is ``0``. | ``string`` | No | +|``next-upstream-tries`` | The number of possible tries for passing a request to the next upstream server. See the [proxy_next_upstream_tries](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream_tries) directive. The ``0`` value turns off this limit. The default is ``0``. | ``int`` | No | +|``client-max-body-size`` | Sets the maximum allowed size of the client request body. See the [client_max_body_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size) directive. The default is set in the ``client-max-body-size`` ConfigMap key. | ``string`` | No | +|``tls`` | The TLS configuration for the Upstream. | [tls](#upstreamtls) | No | +|``healthCheck`` | The health check configuration for the Upstream. See the [health_check](https://nginx.org/en/docs/http/ngx_http_upstream_hc_module.html#health_check) directive. Note: this feature is supported only in NGINX Plus. | [healthcheck](#upstreamhealthcheck) | No | +|``slow-start`` | The slow start allows an upstream server to gradually recover its weight from 0 to its nominal value after it has been recovered or became available or when the server becomes available after a period of time it was considered unavailable. By default, the slow start is disabled. See the [slow_start](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#slow_start) parameter of the server directive. Note: The parameter cannot be used along with the ``random`` , ``hash`` or ``ip_hash`` load balancing methods and will be ignored. | ``string`` | No | +|``queue`` | Configures a queue for an upstream. A client request will be placed into the queue if an upstream server cannot be selected immediately while processing the request. By default, no queue is configured. Note: this feature is supported only in NGINX Plus. | [queue](#upstreamqueue) | No | +|``buffering`` | Enables buffering of responses from the upstream server. See the [proxy_buffering](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) directive. The default is set in the ``proxy-buffering`` ConfigMap key. | ``boolean`` | No | +|``buffers`` | Configures the buffers used for reading a response from the upstream server for a single connection. | [buffers](#upstreambuffers) | No | +|``buffer-size`` | Sets the size of the buffer used for reading the first part of a response received from the upstream server. See the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) directive. The default is set in the ``proxy-buffer-size`` ConfigMap key. | ``string`` | No | +|``ntlm`` | Allows proxying requests with NTLM Authentication. See the [ntlm](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#ntlm) directive. In order for NTLM authentication to work, it is necessary to enable keepalive connections to upstream servers using the ``keepalive`` field. Note: this feature is supported only in NGINX Plus.| ``boolean`` | No | +|``type`` |The type of the upstream. Supported values are ``http`` and ``grpc``. The default is ``http``. For gRPC, it is necessary to enable HTTP/2 in the [ConfigMap](/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#listeners) and configure TLS termination in the VirtualServer. | ``string`` | No | +|``backup`` | The name of the backup service of type [ExternalName](https://kubernetes.io/docs/concepts/services-networking/service/#externalname). This will be used when the primary servers are unavailable. Note: The parameter cannot be used along with the ``random`` , ``hash`` or ``ip_hash`` load balancing methods. | ``string`` | No | +|``backupPort`` | The port of the backup service. The backup port is required if the backup service name is provided. The port must fall into the range ``1..65535``. | ``uint16`` | No | +{{}} + +### Upstream.Buffers + +The buffers field configures the buffers used for reading a response from the upstream server for a single connection: + +```yaml +number: 4 +size: 8K +``` + +See the [proxy_buffers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directive for additional information. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``number`` | Configures the number of buffers. The default is set in the ``proxy-buffers`` ConfigMap key. | ``int`` | Yes | +|``size`` | Configures the size of a buffer. The default is set in the ``proxy-buffers`` ConfigMap key. | ``string`` | Yes | +{{}} + +### Upstream.TLS + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables HTTPS for requests to upstream servers. The default is ``False`` , meaning that HTTP will be used. Note: by default, NGINX will not verify the upstream server certificate. To enable the verification, configure an [EgressMTLS Policy](/nginx-ingress-controller/configuration/policy-resource/#egressmtls). | ``boolean`` | No | +{{}} + +### Upstream.Queue + +The queue field configures a queue. A client request will be placed into the queue if an upstream server cannot be selected immediately while processing the request: + +```yaml +size: 10 +timeout: 60s +``` + +See [`queue`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#queue) directive for additional information. + +Note: This feature is supported only in NGINX Plus. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``size`` | The size of the queue. | ``int`` | Yes | +|``timeout`` | The timeout of the queue. A request cannot be queued for a period longer than the timeout. The default is ``60s``. | ``string`` | No | +{{}} + +### Upstream.Healthcheck + +The Healthcheck defines an [active health check](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/). In the example below we enable a health check for an upstream and configure all the available parameters, including the `slow-start` parameter combined with [`mandatory` and `persistent`](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/#mandatory-health-checks): + +```yaml +name: tea +service: tea-svc +port: 80 +slow-start: 30s +healthCheck: + enable: true + path: /healthz + interval: 20s + jitter: 3s + fails: 5 + passes: 5 + port: 8080 + tls: + enable: true + connect-timeout: 10s + read-timeout: 10s + send-timeout: 10s + headers: + - name: Host + value: my.service + statusMatch: "! 500" + mandatory: true + persistent: true + keepalive-time: 60s +``` + +Note: This feature is supported only in NGINX Plus. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables a health check for an upstream server. The default is ``false``. | ``boolean`` | No | +|``path`` | The path used for health check requests. The default is ``/``. This not configurable for gRPC type upstreams. | ``string`` | No | +|``interval`` | The interval between two consecutive health checks. The default is ``5s``. | ``string`` | No | +|``jitter`` | The time within which each health check will be randomly delayed. By default, there is no delay. | ``string`` | No | +|``fails`` | The number of consecutive failed health checks of a particular upstream server after which this server will be considered unhealthy. The default is ``1``. | ``integer`` | No | +|``passes`` | The number of consecutive passed health checks of a particular upstream server after which the server will be considered healthy. The default is ``1``. | ``integer`` | No | +|``port`` | The port used for health check requests. By default, the [server port is used](https://nginx.org/en/docs/http/ngx_http_upstream_hc_module.html#health_check_port). Note: in contrast with the port of the upstream, this port is not a service port, but a port of a pod. | ``integer`` | No | +|``tls`` | The TLS configuration used for health check requests. By default, the ``tls`` field of the upstream is used. | [upstream.tls](#upstreamtls) | No | +|``connect-timeout`` | The timeout for establishing a connection with an upstream server. By default, the ``connect-timeout`` of the upstream is used. | ``string`` | No | +|``read-timeout`` | The timeout for reading a response from an upstream server. By default, the ``read-timeout`` of the upstream is used. | ``string`` | No | +|``send-timeout`` | The timeout for transmitting a request to an upstream server. By default, the ``send-timeout`` of the upstream is used. | ``string`` | No | +|``headers`` | The request headers used for health check requests. NGINX Plus always sets the ``Host`` , ``User-Agent`` and ``Connection`` headers for health check requests. | [[]header](#header) | No | +|``statusMatch`` | The expected response status codes of a health check. By default, the response should have status code 2xx or 3xx. Examples: ``"200"`` , ``"! 500"`` , ``"301-303 307"``. See the documentation of the [match](https://nginx.org/en/docs/http/ngx_http_upstream_hc_module.html?#match) directive. This not supported for gRPC type upstreams. | ``string`` | No | +|``grpcStatus`` | The expected [gRPC status code](https://github.com/grpc/grpc/blob/master/doc/statuscodes.md#status-codes-and-their-use-in-grpc) of the upstream server response to the [Check method](https://github.com/grpc/grpc/blob/master/doc/health-checking.md). Configure this field only if your gRPC services do not implement the gRPC health checking protocol. For example, configure ``12`` if the upstream server responds with `12 (UNIMPLEMENTED)` status code. Only valid on gRPC type upstreams. | ``int`` | No | +|``grpcService`` | The gRPC service to be monitored on the upstream server. Only valid on gRPC type upstreams. | ``string`` | No | +|``mandatory`` | Require every newly added server to pass all configured health checks before NGINX Plus sends traffic to it. If this is not specified, or is set to false, the server will be initially considered healthy. When combined with [slow-start](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#slow_start), it gives a new server more time to connect to databases and “warm up” before being asked to handle their full share of traffic. | ``bool`` | No | +|``persistent`` | Set the initial “up” state for a server after reload if the server was considered healthy before reload. Enabling persistent requires that the mandatory parameter is also set to `true`. | ``bool`` | No | +|``keepalive-time`` | Enables [keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) connections for health checks and specifies the time during which requests can be processed through one keepalive connection. The default is ``60s``. | ``string`` | No | +{{}} + +### Upstream.SessionCookie + +The SessionCookie field configures session persistence which allows requests from the same client to be passed to the same upstream server. The information about the designated upstream server is passed in a session cookie generated by NGINX Plus. + +In the example below, we configure session persistence with a session cookie for an upstream and configure all the available parameters: + +```yaml +name: tea +service: tea-svc +port: 80 +sessionCookie: + enable: true + name: srv_id + path: / + expires: 1h + domain: .example.com + httpOnly: false + secure: true + samesite: strict +``` + +See the [`sticky`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html?#sticky) directive for additional information. The session cookie corresponds to the `sticky cookie` method. + +Note: This feature is supported only in NGINX Plus. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``enable`` | Enables session persistence with a session cookie for an upstream server. The default is ``false``. | ``boolean`` | No | +|``name`` | The name of the cookie. | ``string`` | Yes | +|``path`` | The path for which the cookie is set. | ``string`` | No | +|``expires`` | The time for which a browser should keep the cookie. Can be set to the special value ``max`` , which will cause the cookie to expire on ``31 Dec 2037 23:55:55 GMT``. | ``string`` | No | +|``domain`` | The domain for which the cookie is set. | ``string`` | No | +|``httpOnly`` | Adds the ``HttpOnly`` attribute to the cookie. | ``boolean`` | No | +|``secure`` | Adds the ``Secure`` attribute to the cookie. | ``boolean`` | No | +|``samesite`` | Adds the ``SameSite`` attribute to the cookie. The allowed values are: ``strict``, ``lax``, ``none`` | ``string`` | No | +{{}} + +### Header + +The header defines an HTTP Header: + +```yaml +name: Host +value: example.com +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the header. | ``string`` | Yes | +|``value`` | The value of the header. | ``string`` | No | +{{}} + +### Action + +The action defines an action to perform for a request. + +In the example below, client requests are passed to an upstream `coffee`: + +```yaml + path: /coffee + action: + pass: coffee +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``pass`` | Passes requests to an upstream. The upstream with that name must be defined in the resource. | ``string`` | No | +|``redirect`` | Redirects requests to a provided URL. | [action.redirect](#actionredirect) | No | +|``return`` | Returns a preconfigured response. | [action.return](#actionreturn) | No | +|``proxy`` | Passes requests to an upstream with the ability to modify the request/response (for example, rewrite the URI or modify the headers). | [action.proxy](#actionproxy) | No | +{{}} + +\* -- an action must include exactly one of the following: `pass`, `redirect`, `return` or `proxy`. + +### Action.Redirect + +The redirect action defines a redirect to return for a request. + +In the example below, client requests are passed to a url `http://www.nginx.com`: + +```yaml +redirect: + url: http://www.nginx.com + code: 301 +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``url`` | The URL to redirect the request to. Supported NGINX variables: ``$scheme`` , ``$http_x_forwarded_proto`` , ``$request_uri`` , ``$host``. Variables must be enclosed in curly braces. For example: ``${host}${request_uri}``. | ``string`` | Yes | +|``code`` | The status code of a redirect. The allowed values are: ``301`` , ``302`` , ``307`` , ``308``. The default is ``301``. | ``int`` | No | +{{}} + +### Action.Return + +The return action defines a preconfigured response for a request. + +In the example below, NGINX will respond with the preconfigured response for every request: + +```yaml +return: + code: 200 + type: text/plain + body: "Hello World\n" + headers: + - name: x-coffee + value: espresso +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``code`` | The status code of the response. The allowed values are: ``2XX``, ``4XX`` or ``5XX``. The default is ``200``. | ``int`` | No | +|``type`` | The MIME type of the response. The default is ``text/plain``. | ``string`` | No | +|``body`` | The body of the response. Supports NGINX variables*. Variables must be enclosed in curly brackets. For example: ``Request is ${request_uri}\n``. | ``string`` | Yes | +|``headers`` | The custom headers of the response. | [[]Action.Return.Header](#actionreturnheader) | No | +{{}} + +\* -- Supported NGINX variables: `$request_uri`, `$request_method`, `$request_body`, `$scheme`, `$http_`, `$args`, `$arg_`, `$cookie_`, `$host`, `$request_time`, `$request_length`, `$nginx_version`, `$pid`, `$connection`, `$remote_addr`, `$remote_port`, `$time_iso8601`, `$time_local`, `$server_addr`, `$server_port`, `$server_name`, `$server_protocol`, `$connections_active`, `$connections_reading`, `$connections_writing` and `$connections_waiting`. + +### Action.Return.Header + +The header defines an HTTP Header for a canned response in an actionReturn: + +```yaml +name: x-coffee +value: espresso +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the header. | ``string`` | Yes | +|``value`` | The value of the header. | ``string`` | Yes | +{{}} + +### Action.Proxy + +The proxy action passes requests to an upstream with the ability to modify the request/response (for example, rewrite the URI or modify the headers). + +In the example below, the request URI is rewritten to `/`, and the request and the response headers are modified: + +```yaml +proxy: + upstream: coffee + requestHeaders: + pass: true + set: + - name: My-Header + value: Value + - name: Client-Cert + value: ${ssl_client_escaped_cert} + responseHeaders: + add: + - name: My-Header + value: Value + - name: IC-Nginx-Version + value: ${nginx_version} + always: true + hide: + - x-internal-version + ignore: + - Expires + - Set-Cookie + pass: + - Server + rewritePath: / +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``upstream`` | The name of the upstream which the requests will be proxied to. The upstream with that name must be defined in the resource. | ``string`` | Yes | +|``requestHeaders`` | The request headers modifications. | [action.Proxy.RequestHeaders](#actionproxyrequestheaders) | No | +|``responseHeaders`` | The response headers modifications. | [action.Proxy.ResponseHeaders](#actionproxyresponseheaders) | No | +|``rewritePath`` | The rewritten URI. If the route path is a regular expression -- starts with `~` -- the `rewritePath` can include capture groups with ``$1-9``. For example `$1` for the first group, and so on. For more information, check the [rewrite](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/rewrites) example. | ``string`` | No | +{{}} + +### Action.Proxy.RequestHeaders + +The RequestHeaders field modifies the headers of the request to the proxied upstream server. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``pass`` | Passes the original request headers to the proxied upstream server. See the [proxy_pass_request_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_request_headers) directive for more information. Default is true. | ``bool`` | No | +|``set`` | Allows redefining or appending fields to present request headers passed to the proxied upstream servers. See the [proxy_set_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header) directive for more information. | [[]header](#actionproxyrequestheaderssetheader) | No | +{{}} + +### Action.Proxy.RequestHeaders.Set.Header + +The header defines an HTTP Header: + +```yaml +name: My-Header +value: My-Value +``` + +It is possible to override the default value of the `Host` header, which NGINX Ingress Controller sets to [`$host`](https://nginx.org/en/docs/http/ngx_http_core_module.html#var_host): + +```yaml +name: Host +value: example.com +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the header. | ``string`` | Yes | +|``value`` | The value of the header. Supports NGINX variables*. Variables must be enclosed in curly brackets. For example: ``${scheme}``. | ``string`` | No | +{{}} + +\* -- Supported NGINX variables: `$request_uri`, `$request_method`, `$request_body`, `$scheme`, `$http_`, `$args`, `$arg_`, `$cookie_`, `$host`, `$request_time`, `$request_length`, `$nginx_version`, `$pid`, `$connection`, `$remote_addr`, `$remote_port`, `$time_iso8601`, `$time_local`, `$server_addr`, `$server_port`, `$server_name`, `$server_protocol`, `$connections_active`, `$connections_reading`, `$connections_writing`, `$connections_waiting`, `$ssl_cipher`, `$ssl_ciphers`, `$ssl_client_cert`, `$ssl_client_escaped_cert`, `$ssl_client_fingerprint`, `$ssl_client_i_dn`, `$ssl_client_i_dn_legacy`, `$ssl_client_raw_cert`, `$ssl_client_s_dn`, `$ssl_client_s_dn_legacy`, `$ssl_client_serial`, `$ssl_client_v_end`, `$ssl_client_v_remain`, `$ssl_client_v_start`, `$ssl_client_verify`, `$ssl_curves`, `$ssl_early_data`, `$ssl_protocol`, `$ssl_server_name`, `$ssl_session_id`, `$ssl_session_reused`, `$jwt_claim_` (NGINX Plus only) and `$jwt_header_` (NGINX Plus only). + +### Action.Proxy.ResponseHeaders + +The ResponseHeaders field modifies the headers of the response to the client. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``hide`` | The headers that will not be passed* in the response to the client from a proxied upstream server. See the [proxy_hide_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header) directive for more information. | ``[]string`` | No | +|``pass`` | Allows passing the hidden header fields* to the client from a proxied upstream server. See the [proxy_pass_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_header) directive for more information. | ``[]string`` | No | +|``ignore`` | Disables processing of certain headers** to the client from a proxied upstream server. See the [proxy_ignore_headers](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ignore_headers) directive for more information. | ``[]string`` | No | +|``add`` | Adds headers to the response to the client. | [[]addHeader](#addheader) | No | +{{}} + +\* -- Default hidden headers are: `Date`, `Server`, `X-Pad` and `X-Accel-...`. + +\** -- The following fields can be ignored: `X-Accel-Redirect`, `X-Accel-Expires`, `X-Accel-Limit-Rate`, `X-Accel-Buffering`, `X-Accel-Charset`, `Expires`, `Cache-Control`, `Set-Cookie` and `Vary`. + +### AddHeader + +The addHeader defines an HTTP Header with an optional `always` field: + +```yaml +name: My-Header +value: My-Value +always: true +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the header. | ``string`` | Yes | +|``value`` | The value of the header. Supports NGINX variables*. Variables must be enclosed in curly brackets. For example: ``${scheme}``. | ``string`` | No | +|``always`` | If set to true, add the header regardless of the response status code**. Default is false. See the [add_header](http://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header) directive for more information. | ``bool`` | No | +{{}} + +\* -- Supported NGINX variables: `$request_uri`, `$request_method`, `$request_body`, `$scheme`, `$http_`, `$args`, `$arg_`, `$cookie_`, `$host`, `$request_time`, `$request_length`, `$nginx_version`, `$pid`, `$connection`, `$remote_addr`, `$remote_port`, `$time_iso8601`, `$time_local`, `$server_addr`, `$server_port`, `$server_name`, `$server_protocol`, `$connections_active`, `$connections_reading`, `$connections_writing`, `$connections_waiting`, `$ssl_cipher`, `$ssl_ciphers`, `$ssl_client_cert`, `$ssl_client_escaped_cert`, `$ssl_client_fingerprint`, `$ssl_client_i_dn`, `$ssl_client_i_dn_legacy`, `$ssl_client_raw_cert`, `$ssl_client_s_dn`, `$ssl_client_s_dn_legacy`, `$ssl_client_serial`, `$ssl_client_v_end`, `$ssl_client_v_remain`, `$ssl_client_v_start`, `$ssl_client_verify`, `$ssl_curves`, `$ssl_early_data`, `$ssl_protocol`, `$ssl_server_name`, `$ssl_session_id`, `$ssl_session_reused`, `$jwt_claim_` (NGINX Plus only) and `$jwt_header_` (NGINX Plus only). + +{{< note >}} If `always` is false, the response header is added only if the response status code is any of `200`, `201`, `204`, `206`, `301`, `302`, `303`, `304`, `307` or `308`. {{< /note >}} + +### Split + +The split defines a weight for an action as part of the splits configuration. + +In the example below NGINX passes 80% of requests to the upstream `coffee-v1` and the remaining 20% to `coffee-v2`: + +```yaml +splits: +- weight: 80 + action: + pass: coffee-v1 +- weight: 20 + action: + pass: coffee-v2 +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``weight`` | The weight of an action. Must fall into the range ``0..100``. The sum of the weights of all splits must be equal to ``100``. | ``int`` | Yes | +|``action`` | The action to perform for a request. | [action](#action) | Yes | +{{}} + +### Match + +The match defines a match between conditions and an action or splits. + +In the example below, NGINX routes requests with the path `/coffee` to different upstreams based on the value of the cookie `user`: + +- `user=john` -> `coffee-future` +- `user=bob` -> `coffee-deprecated` +- If the cookie is not set or not equal to either `john` or `bob`, NGINX routes to `coffee-stable` + +```yaml +path: /coffee +matches: +- conditions: + - cookie: user + value: john + action: + pass: coffee-future +- conditions: + - cookie: user + value: bob + action: + pass: coffee-deprecated +action: + pass: coffee-stable +``` + +In the next example, NGINX routes requests based on the value of the built-in [`$request_method` variable](https://nginx.org/en/docs/http/ngx_http_core_module.html#var_request_method), which represents the HTTP method of a request: + +- all POST requests -> `coffee-post` +- all non-POST requests -> `coffee` + +```yaml +path: /coffee +matches: +- conditions: + - variable: $request_method + value: POST + action: + pass: coffee-post +action: + pass: coffee +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``conditions`` | A list of conditions. Must include at least 1 condition. | [[]condition](#condition) | Yes | +|``action`` | The action to perform for a request. | [action](#action) | No | +|``splits`` | The splits configuration for traffic splitting. Must include at least 2 splits. | [[]split](#split) | No | +{{}} + +{{< note >}} A match must include exactly one of the following: `action` or `splits`. {{< /note >}} + +### Condition + +The condition defines a condition in a match. + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``header`` | The name of a header. Must consist of alphanumeric characters or ``-``. | ``string`` | No | +|``cookie`` | The name of a cookie. Must consist of alphanumeric characters or ``_``. | ``string`` | No | +|``argument`` | The name of an argument. Must consist of alphanumeric characters or ``_``. | ``string`` | No | +|``variable`` | The name of an NGINX variable. Must start with ``$``. See the list of the supported variables below the table. | ``string`` | No | +|``value`` | The value to match the condition against. How to define a value is shown below the table. | ``string`` | Yes | +{{}} + +{{< note >}} a condition must include exactly one of the following: `header`, `cookie`, `argument` or `variable`. {{< /note >}} + +Supported NGINX variables: `$args`, `$http2`, `$https`, `$remote_addr`, `$remote_port`, `$query_string`, `$request`, `$request_body`, `$request_uri`, `$request_method`, `$scheme`. Find the documentation for each variable [here](https://nginx.org/en/docs/varindex.html). + +The value supports two kinds of matching: + +- *Case-insensitive string comparison*. For example: + - `john` -- case-insensitive matching that succeeds for strings, such as `john`, `John`, `JOHN`. + - `!john` -- negation of the case-insensitive matching for john that succeeds for strings, such as `bob`, `anything`, `''` (empty string). +- *Matching with a regular expression*. Note that NGINX supports regular expressions compatible with those used by the Perl programming language (PCRE). For example: + - `~^yes` -- a case-sensitive regular expression that matches any string that starts with `yes`. For example: `yes`, `yes123`. + - `!~^yes` -- negation of the previous regular expression that succeeds for strings like `YES`, `Yes123`, `noyes`. (The negation mechanism is not part of the PCRE syntax). + - `~*no$` -- a case-insensitive regular expression that matches any string that ends with `no`. For example: `no`, `123no`, `123NO`. + +{{< note >}} A value must not include any unescaped double quotes (`"`) and must not end with an unescaped backslash (`\`). For example, the following are invalid values: `some"value`, `somevalue\`. {{< /note >}} + +### ErrorPage + +The errorPage defines a custom response for a route for the case when either an upstream server responds with (or NGINX generates) an error status code. The custom response can be a redirect or a canned response. See the [error_page](https://nginx.org/en/docs/http/ngx_http_core_module.html#error_page) directive for more information. + +```yaml +path: /coffee +errorPages: +- codes: [502, 503] + redirect: + code: 301 + url: https://nginx.org +- codes: [404] + return: + code: 200 + body: "Original resource not found, but success!" +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``codes`` | A list of error status codes. | ``[]int`` | Yes | +|``redirect`` | The redirect action for the given status codes. | [errorPage.Redirect](#errorpageredirect) | No | +|``return`` | The canned response action for the given status codes. | [errorPage.Return](#errorpagereturn) | No | +{{}} + +{{< note >}} An errorPage must include exactly one of the following: `return` or `redirect`. {{< /note >}} + +### ErrorPage.Redirect + +The redirect defines a redirect for an errorPage. + +In the example below, NGINX responds with a redirect when a response from an upstream server has a 404 status code. + +```yaml +codes: [404] +redirect: + code: 301 + url: ${scheme}://cafe.example.com/error.html +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``code`` | The status code of a redirect. The allowed values are: ``301`` , ``302`` , ``307`` , ``308``. The default is ``301``. | ``int`` | No | +|``url`` | The URL to redirect the request to. Supported NGINX variables: ``$scheme`` and ``$http_x_forwarded_proto``. Variables must be enclosed in curly braces. For example: ``${scheme}``. | ``string`` | Yes | +{{}} + +### ErrorPage.Return + +The return defines a canned response for an errorPage. + +In the example below, NGINX responds with a canned response when a response from an upstream server has either 401 or 403 status code. + +```yaml +codes: [401, 403] +return: + code: 200 + type: application/json + body: | + {\"msg\": \"You don't have permission to do this\"} + headers: + - name: x-debug-original-statuses + value: ${upstream_status} +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``code`` | The status code of the response. The default is the status code of the original response. | ``int`` | No | +|``type`` | The MIME type of the response. The default is ``text/html``. | ``string`` | No | +|``body`` | The body of the response. Supported NGINX variable: ``$upstream_status`` . Variables must be enclosed in curly braces. For example: ``${upstream_status}``. | ``string`` | Yes | +|``headers`` | The custom headers of the response. | [[]errorPage.Return.Header](#errorpagereturnheader) | No | +{{}} + +### ErrorPage.Return.Header + +The header defines an HTTP Header for a canned response in an errorPage: + +```yaml +name: x-debug-original-statuses +value: ${upstream_status} +``` + +{{}} +|Field | Description | Type | Required | +| ---| ---| ---| --- | +|``name`` | The name of the header. | ``string`` | Yes | +|``value`` | The value of the header. Supported NGINX variable: ``$upstream_status`` . Variables must be enclosed in curly braces. For example: ``${upstream_status}``. | ``string`` | No | +{{}} + +## Using VirtualServer and VirtualServerRoute + +You can use the usual `kubectl` commands to work with VirtualServer and VirtualServerRoute resources, similar to Ingress resources. + +For example, the following command creates a VirtualServer resource defined in `cafe-virtual-server.yaml` with the name `cafe`: + +```shell +kubectl apply -f cafe-virtual-server.yaml +``` +```text +virtualserver.k8s.nginx.org "cafe" created +``` + +You can get the resource by running: + +```shell +kubectl get virtualserver cafe +``` +```text +NAME STATE HOST IP PORTS AGE +cafe Valid cafe.example.com 12.13.23.123 [80,443] 3m +``` + +In `kubectl get` and similar commands, you can use the short name `vs` instead of `virtualserver`. + +Similarly, for VirtualServerRoute you can use `virtualserverroute` or the short name `vsr`. + +### Using Snippets + +Snippets allow you to insert raw NGINX config into different contexts of NGINX configuration. In the example below, we use snippets to configure several NGINX features in a VirtualServer: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: VirtualServer +metadata: + name: cafe + namespace: cafe +spec: + http-snippets: | + limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s; + proxy_cache_path /tmp keys_zone=one:10m; + host: cafe.example.com + tls: + secret: cafe-secret + server-snippets: | + limit_req zone=mylimit burst=20; + upstreams: + - name: tea + service: tea-svc + port: 80 + - name: coffee + service: coffee-svc + port: 80 + routes: + - path: /tea + location-snippets: | + proxy_cache one; + proxy_cache_valid 200 10m; + action: + pass: tea + - path: /coffee + action: + pass: coffee +``` + +For additional information, view the [Advanced configuration with Snippets]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-snippets.md" >}}) topic. + +### Validation + +Two types of validation are available for VirtualServer and VirtualServerRoute resources: + +- *Structural validation* by the `kubectl` and Kubernetes API server. +- *Comprehensive validation* by NGINX Ingress Controller. + +#### Structural Validation + +The custom resource definitions for VirtualServer and VirtualServerRoute include structural OpenAPI schema which describes the type of every field of those resources. + +If you try to create (or update) a resource that violates the structural schema (for example, you use a string value for the port field of an upstream), `kubectl` and Kubernetes API server will reject such a resource: + +- Example of `kubectl` validation: + + ```shell + kubectl apply -f cafe-virtual-server.yaml + ``` + ```text + error: error validating "cafe-virtual-server.yaml": error validating data: ValidationError(VirtualServer.spec.upstreams[0].port): invalid type for org.nginx.k8s.v1.VirtualServer.spec.upstreams.port: got "string", expected "integer"; if you choose to ignore these errors, turn validation off with --validate=false + ``` + +- Example of Kubernetes API server validation: + + ```shell + kubectl apply -f cafe-virtual-server.yaml --validate=false + ``` + ```text + The VirtualServer "cafe" is invalid: []: Invalid value: map[string]interface {}{ ... }: validation failure list: + spec.upstreams.port in body must be of type integer: "string" + ``` + +If a resource is not rejected (it doesn't violate the structural schema), NGINX Ingress Controller will validate it further. + +#### Comprehensive Validation + +NGINX Ingress Controller validates the fields of the VirtualServer and VirtualServerRoute resources. If a resource is invalid, NGINX Ingress Controller will reject it: the resource will continue to exist in the cluster, but NGINX Ingress Controller will ignore it. + +You can check if NGINX Ingress Controller successfully applied the configuration for a VirtualServer. For our example `cafe` VirtualServer, we can run: + +```shell +kubectl describe vs cafe +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal AddedOrUpdated 16s nginx-ingress-controller Configuration for default/cafe was added or updated +``` + +Note how the events section includes a Normal event with the AddedOrUpdated reason that informs us that the configuration was successfully applied. + +If you create an invalid resource, NGINX Ingress Controller will reject it and emit a Rejected event. For example, if you create a VirtualServer `cafe` with two upstream with the same name `tea`, you will get: + +```shell +kubectl describe vs cafe +``` +```text +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning Rejected 12s nginx-ingress-controller VirtualServer default/cafe is invalid and was rejected: spec.upstreams[1].name: Duplicate value: "tea" +``` + +Note how the events section includes a Warning event with the Rejected reason. + +Additionally, this information is also available in the `status` field of the VirtualServer resource. Note the Status section of the VirtualServer: + +```shell +kubectl describe vs cafe +``` +```text +... +Status: + External Endpoints: + Ip: 12.13.23.123 + Ports: [80,443] + Message: VirtualServer default/cafe is invalid and was rejected: spec.upstreams[1].name: Duplicate value: "tea" + Reason: Rejected + State: Invalid +``` + +NGINX Ingress Controller validates VirtualServerRoute resources in a similar way. + +**Note**: If you make an existing resource invalid, NGINX Ingress Controller will reject it and remove the corresponding configuration from NGINX. + +## Customization using ConfigMap + +You can customize the NGINX configuration for VirtualServer and VirtualServerRoutes resources using the [ConfigMap](/nginx-ingress-controller/configuration/global-configuration/configmap-resource). Most of the ConfigMap keys are supported, with the following exceptions: + +- `proxy-hide-headers` +- `proxy-pass-headers` +- `hsts` +- `hsts-max-age` +- `hsts-include-subdomains` +- `hsts-behind-proxy` +- `redirect-to-https` +- `ssl-redirect` diff --git a/content/nic/glossary.md b/content/nic/glossary.md new file mode 100644 index 000000000..d76f9e3db --- /dev/null +++ b/content/nic/glossary.md @@ -0,0 +1,30 @@ +--- +description: null +docs: DOCS-1446 +title: Glossary +weight: 10000 +--- + +This is a glossary of terms related to F5 NGINX Ingress Controller and Kubernetes as a whole. + +--- + +## Ingress {#ingress} + +_Ingress_ refers to an _Ingress Resource_, a Kubernetes API object which allows access to [Services](https://kubernetes.io/docs/concepts/services-networking/service/) within a cluster. They are managed by an [Ingress Controller]({{< ref "/nic/glossary.md#ingress-controller">}}). + +_Ingress_ resources enable the following functionality: + +- **Load balancing**, extended through the use of Services +- **Content-based routing**, using hosts and paths +- **TLS/SSL termination**, based on hostnames + +For additional information, please read the official [Kubernetes Ingress Documentation](https://kubernetes.io/docs/concepts/services-networking/ingress/). + +--- + +## Ingress Controller {#ingress-controller} + +*Ingress Controllers* are applications within a Kubernetes cluster that enable [Ingress]({{< ref "/nic/glossary.md#ingress">}}) resources to function. They are not automatically deployed with a Kubernetes cluster, and can vary in implementation based on intended use, such as load balancing algorithms for Ingress resources. + +[The design of NGINX Ingress Controller]({{< ref "/nic/overview/design.md">}}) explains the technical details of NGINX Ingress Controller. diff --git a/content/nic/installation/_index.md b/content/nic/installation/_index.md new file mode 100644 index 000000000..4ed49bfcb --- /dev/null +++ b/content/nic/installation/_index.md @@ -0,0 +1,8 @@ +--- +title: Installation +description: +weight: 400 +menu: + docs: + parent: NGINX Ingress Controller +--- diff --git a/content/nic/installation/build-nginx-ingress-controller.md b/content/nic/installation/build-nginx-ingress-controller.md new file mode 100644 index 000000000..4f37d8f25 --- /dev/null +++ b/content/nic/installation/build-nginx-ingress-controller.md @@ -0,0 +1,203 @@ +--- +title: Build NGINX Ingress Controller +toc: true +weight: 400 +type: how-to +product: NIC +docs: DOCS-1453 +--- + +This document describes how to build an F5 NGINX Ingress Controller image from source code and upload it to a private Docker registry. + +It also includes information on the Makefile targets and variables. + +{{}} If you do not need to build a custom image, see the [pre-built image options](#pre-built-images) at the end of this guide. {{}} + +## Before you begin + +To get started, you need the following software installed on your machine: + +- [Docker v19.03 or higher](https://docs.docker.com/engine/release-notes/19.03/) +- [GNU Make](https://www.gnu.org/software/make/) +- [git](https://git-scm.com/) +- [OpenSSL](https://www.openssl.org/), optionally, if you would like to generate a self-signed certificate and a key for the default server. +- For NGINX Plus users, download the certificate (_nginx-repo.crt_) and key (_nginx-repo.key_) from [MyF5](https://my.f5.com). + +Although NGINX Ingress Controller is written in Golang, you don't need to have Golang installed. + +You can download the precompiled binary file or build NGINX Ingress Controller in a Docker container. + +--- + +## Prepare the environment {#prepare-environment} + +Get your system ready for building and pushing the NGINX Ingress Controller image. + +1. Sign in to your private registry. Replace `` with the path to your own private registry. + + ```shell + docker login + ``` + +2. Clone the NGINX Ingress Controller GitHub repository. Replace `` with the version of NGINX Ingress Controller you want. + + ```shell + git clone https://github.com/nginx/kubernetes-ingress.git --branch + cd kubernetes-ingress + ``` + + For instance if you want to clone version v{{< nic-version >}}, the commands to run would be: + + ```shell + git clone https://github.com/nginx/kubernetes-ingress.git --branch v{{< nic-version >}} + cd kubernetes-ingress + ``` + +--- + +## Build the NGINX Ingress Controller image {#build-image} + +After setting up your environment, follow these steps to build the NGINX Ingress Controller image. + +{{< note >}} If you have a local Golang environment and want to build the binary yourself, remove `TARGET=download` from the make commands. If you don't have Golang but still want to build the binary, use `TARGET=container`. {{< /note >}} + +### For NGINX + +Build the image. Replace `` with your private registry's path. + +- For a Debian-based image: + + ```shell + make debian-image PREFIX=/nginx-ingress TARGET=download + ``` + +- For an Alpine-based image: + + ```shell + make alpine-image PREFIX=/nginx-ingress TARGET=download + ``` + +**What to expect**: The image is built and tagged with a version number, which is derived from the `VERSION` variable in the [_Makefile_](#makefile-details). This version number is used for tracking and deployment purposes. + +### For NGINX Plus + +Place your NGINX Plus license files (_nginx-repo.crt_ and _nginx-repo.key_) in the project's root folder. To verify they're in place, run: + +```shell +ls nginx-repo.* +``` + +You should see: + +```text +nginx-repo.crt nginx-repo.key +``` + +Build the image. Replace `` with your private registry's path. + +```shell +make debian-image-plus PREFIX=/nginx-plus-ingress TARGET=download +``` + +
      + +**What to expect**: The image is built and tagged with a version number, which is derived from the `VERSION` variable in the [_Makefile_](#makefile-details). This version number is used for tracking and deployment purposes. + +{{}} If a patch for NGINX Plus is released, make sure to rebuild your image to get the latest version. If your system is caching the Docker layers and not updating the packages, add `DOCKER_BUILD_OPTIONS="--pull --no-cache"` to the make command. {{}} + +--- + +## Push the image to your private registry {#push-image} + +Once you've successfully built the NGINX or NGINX Plus Ingress Controller image, the next step is to upload it to your private Docker registry. This makes the image available for deployment to your Kubernetes cluster. + +### For NGINX + +Upload the NGINX image. If you're using a custom tag, append `TAG=your-tag` to the command. Replace `` with your private registry's path. + +```shell +make push PREFIX=/nginx-ingress +``` + +### For NGINX Plus + +Upload the NGINX Plus image. Like with the NGINX image, if you're using a custom tag, add `TAG=your-tag` to the end of the command. Replace `` with your private registry's path. + +```shell +make push PREFIX=/nginx-plus-ingress +``` + +--- + +## Makefile details {#makefile-details} + +This section provides comprehensive information on the targets and variables available in the _Makefile_. These targets and variables allow you to customize how you build, tag, and push your NGINX or NGINX Plus images. + +### Key Makefile targets {#key-makefile-targets} + +{{}}To view available _Makefile_ targets, run `make` with no target or type `make help`.{{}} + +Key targets include: + +{{}} +|
      Target | Description | +|---------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| _build_ | Creates the NGINX Ingress Controller binary with your local Go environment. | +| _alpine-image_ | Builds an Alpine-based image with NGINX. | +| _alpine-image-plus_ | Builds an Alpine-based image with NGINX Plus. | +| _alpine-image-plus-fips_ | Builds an Alpine-based image with NGINX Plus and FIPS. | +| _alpine-image-nap-v5-plus-fips_ | Builds an Alpine-based image with NGINX Plus, the [NGINX App Protect WAF v5](/nginx-app-protect/) module and FIPS. | +| _debian-image_ | Builds a Debian-based image with NGINX. | +| _debian-image-plus_ | Builds a Debian-based image with NGINX Plus. | +| _debian-image-nap-plus_ | Builds a Debian-based image with NGINX Plus and the [NGINX App Protect WAF](/nginx-app-protect/) module. | +| _debian-image-nap-v5-plus_ | Builds a Debian-based image with NGINX Plus and the [NGINX App Protect WAF v5](/nginx-app-protect/) module. | +| _debian-image-dos-plus_ | Builds a Debian-based image with NGINX Plus and the [NGINX App Protect DoS](/nginx-app-protect-dos/) module. | +| _debian-image-nap-dos-plus_ | Builds a Debian-based image with NGINX Plus, [NGINX App Protect WAF](/nginx-app-protect/) and [NGINX App Protect DoS](/nginx-app-protect-dos/) modules. | +| _ubi-image_ | Builds a UBI-based image with NGINX for [OpenShift](https://www.openshift.com/) clusters. | +| _ubi-image-plus_ | Builds a UBI-based image with NGINX Plus for [OpenShift](https://www.openshift.com/) clusters. | +| _ubi-image-nap-plus_ | Builds a UBI-based image with NGINX Plus and the [NGINX App Protect WAF](/nginx-app-protect/) module for [OpenShift](https://www.openshift.com/) clusters. | +| _ubi-image-nap-v5-plus_ | Builds a UBI-based image with NGINX Plus and the [NGINX App Protect WAF v5](/nginx-app-protect/) module for [OpenShift](https://www.openshift.com/) clusters. | +| _ubi-image-dos-plus_ | Builds a UBI-based image with NGINX Plus and the [NGINX App Protect DoS](/nginx-app-protect-dos/) module for [OpenShift](https://www.openshift.com/) clusters. | +| _ubi-image-nap-dos-plus_ |

      Builds a UBI-based image with NGINX Plus, [NGINX App Protect WAF](/nginx-app-protect/) and the [NGINX App Protect DoS](/nginx-app-protect-dos/) module for [OpenShift](https://www.openshift.com/) clusters.

      **Important**: Save your RHEL organization and activation keys in a file named _rhel_license_ at the project root.

      For instance:

      RHEL_ORGANIZATION=1111111
      RHEL_ACTIVATION_KEY=your-key
      | +{{}} + +--- + +### Additional useful targets {#other-makefile-targets} + +A few other useful targets: + +{{}} +|
      Target
      | Description | +|---------------------------------------|---------------| +| _push_ | Pushes the built image to the Docker registry. Configures with `PREFIX` and `TAG`. | +| _all_ | Runs `test`, `lint`, `verify-codegen`, `update-crds`, and `debian-image`. Stops and reports an error if any of these targets fail. | +| _test_ | Runs unit tests. | +{{
      }} + +### Makefile variables you can customize {#makefile-variables} + +The _Makefile_ includes several key variables. You have the option to either modify these variables directly in the _Makefile_ or override them when you run the `make` command. + +{{}} +|
      Variable
      | Description | +|-----------------------------------------|---------------| +| _ARCH_ | Defines the architecture for the image and binary. The default is `amd64`, but you can also use `arm64`. | +| _PREFIX_ | Gives the image its name. The default is `nginx/nginx-ingress`. | +| _TAG_ | Adds a tag to the image. This is often the version of NGINX Ingress Controller. | +| _DOCKER\_BUILD\_OPTIONS_ | Allows for additional [options](https://docs.docker.com/engine/reference/commandline/build/#options) during the `docker build` process, like `--pull`. | +| _TARGET_ |

      Determines the build environment. NGINX Ingress Controller compiles locally in a Golang environment by default. Ensure the NGINX Ingress Controller repo resides in your `$GOPATH` if you select this option.

      Alternatively, you can set `TARGET=container` to build using a Docker [Golang](https://hub.docker.com/_/golang/) container. To skip compiling the binary if you're on a specific tag or the latest `main` branch commit, set `TARGET=download`.

      | +{{
      }} + +--- + +## Alternatives to building your own image {#pre-built-images} + +If you prefer not to build your own NGINX Ingress Controller image, you can use pre-built images. Here are your options: + +**NGINX Ingress Controller**: Download the image `nginx/nginx-ingress` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress) or [GitHub](https://github.com/nginx/kubernetes-ingress/pkgs/container/kubernetes-ingress). + +**NGINX Plus Ingress Controller**: You have two options for this: + +- Download the image using your NGINX Ingress Controller subscription certificate and key. View the [Get NGINX Ingress Controller from the F5 Registry]({{< ref "/nic/installation/nic-images/get-registry-image" >}}) topic. +- Use your NGINX Ingress Controller subscription JWT token to get the image. View the [Get the NGINX Ingress Controller image with JWT]({{< ref "/nic/installation/nic-images/get-image-using-jwt.md" >}}) topic. diff --git a/content/nic/installation/create-license-secret.md b/content/nic/installation/create-license-secret.md new file mode 100644 index 000000000..91be0f9f9 --- /dev/null +++ b/content/nic/installation/create-license-secret.md @@ -0,0 +1,155 @@ +--- +title: Create a license Secret +toc: true +weight: 300 +nd-content-type: how-to +nd-product: NIC +--- + +This document explains how to create and use a license secret for F5 NGINX Ingress Controller. + +# Overview + +NGINX Plus Ingress Controller requires a valid JSON Web Token (JWT) to download the container image from the F5 registry. From version 4.0.0, this JWT token is also required to run NGINX Plus. + +This requirement is part of F5’s broader licensing program and aligns with industry best practices. The JWT will streamline subscription renewals and usage reporting, helping you manage your NGINX Plus subscription more efficiently. The [telemetry](#telemetry) data we collect helps us improve our products and services to better meet your needs. + +The JWT is required for validating your subscription and reporting telemetry data. For environments connected to the internet, telemetry is automatically sent to F5’s licensing endpoint. In offline environments, telemetry is routed through [NGINX Instance Manager]({{< ref "/nim/" >}}). By default usage is reported every hour and also whenever NGINX is reloaded. + +{{< note >}} Read the [subscription licenses topic]({{< ref "/solutions/about-subscription-licenses.md#for-internet-connected-environments" >}}) for a list of IPs associated with F5's licensing endpoint (`product.connect.nginx.com`). {{}} + +## Set up your NGINX Plus license + +### Download the JWT + +{{< include "/nic/installation/download-jwt.md" >}} + +### Create the Secret + +The JWT needs to be configured before deploying NGINX Ingress Controller. The JWT will be stored in a Kubernetes Secret of type `nginx.com/license`, and can be created with the following command. + +```shell +kubectl create secret generic license-token --from-file=license.jwt= --type=nginx.com/license -n +``` +You can now delete the downloaded `.jwt` file. + +{{< note >}} +The Secret needs to be in the same Namespace as the NGINX Ingress Controller Pod(s). +{{}} + +{{< include "/nic/installation/jwt-password-note.md" >}} + +### Use the NGINX Plus license Secret + +If using a name other than the default `license-token`, provide the name of this Secret when installing NGINX Ingress Controller: + +{{}} + +{{%tab name="Helm"%}} + +Specify the Secret name using the `controller.mgmt.licenseTokenSecretName` Helm value. + +For detailed guidance on creating the Management block via Helm, refer to the [Helm configuration documentation]({{< ref "/nic/installation/installing-nic/installation-with-helm/#configuration" >}}). + +{{% /tab %}} + +{{%tab name="Manifests"%}} + +Specify the Secret name in the `license-token-secret-name` Management ConfigMap key. + +For detailed guidance on creating the Management ConfigMap, refer to the [Management ConfigMap Resource Documentation]({{< ref "/nic/configuration/global-configuration/mgmt-configmap-resource/" >}}). + +{{% /tab %}} + +{{}} + +If you are reporting to the default licensing endpoint, then you can now proceed with [installing NGINX Ingress Controller]({{< ref "nic/installation/installing-nic/" >}}). Otherwise, follow the steps below to configure reporting to NGINX Instance Manager + +### Create report for NGINX Instance Manager {#nim} + +If you are deploying NGINX Ingress Controller in an "air-gapped" environment you will need to report to [NGINX Instance Manager]({{< ref "/nim/" >}}) instead of the default licensing endpoint. + +First, you must specify the endpoint of your NGINX Instance Manager. + +{{}} + +{{%tab name="Helm"%}} + +Specify the endpoint using the `controller.mgmt.usageReport.endpoint` helm value. + +{{% /tab %}} + +{{%tab name="Manifests"%}} + +Specify the endpoint in the `usage-report-endpoint` Management ConfigMap key. + +{{% /tab %}} + +{{}} + +#### Configure SSL certificates and SSL trusted certificates {#nim-cert} + +To configure SSL certificates or SSL trusted certificates, extra steps are necessary. + +To use Client Auth with NGINX Instance Manager, first create a Secret of type `kubernetes.io/tls` in the same namespace as the NGINX Ingress Controller pods. + +```shell +kubectl create secret tls ssl-certificate --cert= --key= -n +``` + +To provide a SSL trusted certificate, and an optional Certificate Revocation List, create a Secret of type `nginx.org/ca` in the Namespace that the NIC Pod(s) are in. + +```shell +kubectl create secret generic ssl-trusted-certificate \ + --from-file=ca.crt= \ + --from-file=ca.crl= \ # optional + --type=nginx.org/ca +``` + +Providing an optional CRL (certificate revocation list) will configure the [`ssl_crl`](https://nginx.org/en/docs/ngx_mgmt_module.html#ssl_crl) directive. + +{{}} + +{{%tab name="Helm"%}} + +Specify the SSL certificate Secret name using the `controller.mgmt.sslCertificateSecretName` Helm value. + +Specify the SSL trusted certificate Secret name using the `controller.mgmt.sslTrustedCertificateSecretName` Helm value. + +{{% /tab %}} + +{{%tab name="Manifests"%}} + +Specify the SSL certificate Secret name in the `ssl-certificate-secret-name` management ConfigMap key. + +Specify the SSL trusted certificate Secret name in the `ssl-trusted-certificate-secret-name` management ConfigMap key. + +{{% /tab %}} + +{{}} + +
      + +Once these Secrets are created and configured, you can now [install NGINX Ingress Controller ]({{< ref "/nic/installation/installing-nic/" >}}). + + +## What’s reported and how it’s protected {#telemetry} + +NGINX Plus reports the following data every hour by default: + +- **NGINX version and status**: The version of NGINX Plus running on the instance. +- **Instance UUID**: A unique identifier for each NGINX Plus instance. +- **Traffic data**: + - **Bytes received from and sent to clients**: HTTP and stream traffic volume between clients and NGINX Plus. + - **Bytes received from and sent to upstreams**: HTTP and stream traffic volume between NGINX Plus and upstream servers. + - **Client connections**: The number of accepted client connections (HTTP and stream traffic). + - **Requests handled**: The total number of HTTP requests processed. +- **NGINX uptime**: The number of reloads and worker connections during uptime. +- **Usage report timestamps**: Start and end times for each usage report. +- **Kubernetes node details**: Information about Kubernetes nodes. + +### Security and privacy of reported data + +All communication between your NGINX Plus instances, NGINX Instance Manager, and F5’s licensing endpoint (`product.connect.nginx.com`) is protected using **SSL/TLS** encryption. + +Only **operational metrics** are reported — no **personally identifiable information (PII)** or **sensitive customer data** is transmitted. diff --git a/content/nic/installation/ingress-nginx.md b/content/nic/installation/ingress-nginx.md new file mode 100644 index 000000000..cdace0791 --- /dev/null +++ b/content/nic/installation/ingress-nginx.md @@ -0,0 +1,546 @@ +--- +docs: DOCS-1469 +doctypes: +- tutorial +tags: +- docs +title: Migrate from Ingress-NGINX Controller to NGINX Ingress Controller +toc: true +weight: 500 +--- + +This document describes how to migrate from the community-maintained Ingress-NGINX Controller to F5 NGINX Ingress Controller. + +## Overview + +This page explains two different ways to migrate from the community-maintained [Ingress-NGINX Controller](https://github.com/kubernetes/ingress-nginx) project to NGINX Ingress Controller: using NGINX's Ingress Resources or with Kubernetes's built-in Ingress Resources. This is typically because of implementation differences, and to take advantage of features such as [NGINX Plus integration]({{}}). + +The information in this guide is extracted from a free eBook called "_Kubernetes Ingress Controller Deployment and Security with NGINX_", which can be downloaded from the [NGINX Library](https://www.nginx.com/resources/library/kubernetes-ingress-controller-deployment-security-nginx/). + +## Before you begin + +To complete the instructions in this guide, you need the following: + +- A working knowledge of [Ingress Controllers]({{}}). +- An [NGINX Ingress Controller installation]({{}}) on the same host as an existing Ingress-NGINX Controller. + +There are two primary paths for migrating between the community Ingress-NGINX Controller to NGINX Ingress Controller: + +- Using NGINX Ingress Resources +- Using Kubernetes Ingress Resources. + +## Migration with NGINX Ingress resources +This path uses Kubernetes Ingress Resources to set root permissions, then NGINX Ingress Resources for configuration using custom resource definitions (CRDs): + +* [VirtualServer and VirtualServerRoute]({{}}) +* [TransportServer]({{}}) +* [GlobalConfiguration]({{}}) +* [Policy]({{}}) + +### Configuring SSL termination and HTTP path-based routing +The following two code examples correspond to a Kubernetes Ingress Resource and an [NGINX VirtualServer Resource]({{}}). Although the syntax and indentation is different, they accomplish the same basic Ingress functions, used for SSL termination and Layer 7 path-based routing. + +**Kubernetes Ingress Resource** +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: nginx-test +spec: + tls: + - hosts: + - foo.bar.com + secretName: tls-secret + rules: + - host: foo.bar.com + http: + paths: + - path: /login + backend: + serviceName: login-svc + servicePort: 80 + - path: /billing + serviceName: billing-svc + servicePort: 80 +``` + +**NGINX VirtualServer Resource** +```yaml +apiVersion: networking.k8s.io/v1 +kind: VirtualServer +metadata: + name: nginx-test +spec: + host: foo.bar.com + tls: + secret: tls-secret + upstreams: + - name: login + service: login-svc + port: 80 + - name: billing + service: billing-svc + port: 80 + routes: + - path: /login + action: + pass: login + - path: /billing + action: + pass: billing +``` + +### Configuring TCP/UDP load balancing and TLS passthrough +NGINX Ingress Controller exposes TCP and UDP services using [TransportServer]({{}}) and [GlobalConfiguration]({{}}) resources. These resources provide a broad range of options for TCP/UDP and TLS Passthrough load balancing. By contrast, the community Ingress-NGINX Controller exposes TCP/UDP services by using a Kubernetes ConfigMap object. + +--- + +### Convert Ingress-NGINX Controller annotations to NGINX Ingress resources +Kubernetes deployments often need to extend basic Ingress rules for advanced use cases such as canary and blue-green deployments, traffic throttling, and ingress-egress traffic manipulation. The community Ingress-NGINX Controller implements many of these using Kubernetes annotations with custom Lua extensions. + +These custom Lua extensions are intended for specific NGINX Ingress resource definitions and may not be as granular as required for advanced use cases. The following examples show how to convert these annotations into NGINX Ingress Controller Resources. + +--- + +#### Canary deployments +Canary and blue-green deployments allow you to push code changes to production environments without disrupting existing users. NGINX Ingress Controller runs them on the data plane: to migrate from the community Ingress-NGINX Controller, you must map the latter's annotations to [VirtualServer and VirtualServerRoute resources]({{}}). + +The Ingress-NGINX Controller evaluates canary annotations in the following order: + +1. _nginx.ingress.kubernetes.io/canary-by-header_ +1. _nginx.ingress.kubernetes.io/canary-by-cookie_ +1. _nginx.ingress.kubernetes.io/canary-by-weight_ + +For NGINX Ingress Controller to evalute them the same way, they must appear in the same order in the VirtualServer or VirtualServerRoute Manifest. + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/canary: "true" +nginx.ingress.kubernetes.io/canary-by-header: "httpHeader" +``` + +**NGINX Ingress Controller** +```yaml +matches: +- conditions: + - header: httpHeader + value: never + action: + pass: echo + - header: httpHeader + value: always + action: + pass: echo-canary +action: + pass: echo +``` + +--- + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/canary: "true" +nginx.ingress.kubernetes.io/canary-by-header: "httpHeader" +nginx.ingress.kubernetes.io/canary-by-header-value: "my-value" +``` + +**NGINX Ingress Controller** +```yaml +matches: +- conditions: + - header: httpHeader + value: my-value + action: + pass: echo-canary +action: + pass: echo +``` + +--- + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/canary: "true" +nginx.ingress.kubernetes.io/canary-by-cookie: "cookieName" +``` + +**NGINX Ingress Controller** +```yaml +matches: +- conditions: + - cookie: cookieName + value: never + action: + pass: echo + - cookie: cookieName + value: always + action: + pass: echo-canary +action: + pass: echo +``` + +--- + +#### Traffic control +Environments using microservices tend to use extensive traffic-control policies to manage ephemeral applications using circuit breaking and rate and connection limiting to prevent error conditions due to unhealthy states or abnormal behavior. + +The following examples map Ingress-NGINX Controller annotations to NGINX [VirtualServer and VirtualServerRoute resources]({{}}) for rate limiting, custom HTTP errors, custom default backend and URI rewriting. + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/custom-http-errors: "code" + +nginx.ingress.kubernetes.io/default-backend: "default-svc" +``` + +**NGINX Ingress Controller** +```yaml +errorPages: +- codes: [code] + redirect: + code: 301 + url: default-svc +``` + +--- + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/limit-connections: "number" +``` + +**NGINX Ingress Controller** +```yaml +http-snippets: | + limit_conn_zone $binary_remote_addr zone=zone_name:size; +routes: +- path: /path + location-snippets: | + limit_conn zone_name number; +``` + +--- + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/limit-rate: "number" +nginx.ingress.kubernetes.io/limit-rate-after: "number" +``` + +**NGINX Ingress Controller** +```yaml +location-snippets: | + limit_rate number; + + limit_rate_after number; +``` + +--- + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/limit-rpm: "number" +nginx.ingress.kubernetes.io/limit-burst-multiplier: "multiplier" +``` + +**NGINX Ingress Controller** +```yaml +rateLimit: + rate: numberr/m + + burst: number * multiplier + key: ${binary_remote_addr} + zoneSize: size +``` + +--- + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/limit-rps: "number" +nginx.ingress.kubernetes.io/limit-burst-multiplier: "multiplier" +``` + +**NGINX Ingress Controller** +```yaml +rateLimit: + rate: numberr/s + + burst: number * multiplier + key: ${binary_remote_addr} + zoneSize: size +``` + +--- + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/limit-whitelist: "CIDR" +``` + +**NGINX Ingress Controller** +```yaml +http-snippets: | +server-snippets: | +``` + +--- + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/rewrite-target: "URI" +``` + +**NGINX Ingress Controller** +```yaml +rewritePath: "URI" +``` + +There are four Ingress-NGINX Controller annotations without NGINX Ingress resource fields yet: they must be handled using snippets. + +- _nginx.ingress.kubernetes.io/limit-connections_ +- _nginx.ingress.kubernetes.io/limit-rate_ +- _nginx.ingress.kubernetes.io/limit-rate-after_ +- _nginx.ingress.kubernetes.io/limit-whitelist_ + +--- + +#### Header manipulation +Manipulating HTTP headers is useful in many cases, as they contain information that is important and relevant to systems involved in HTTP transactions. The community Ingress-NGINX Controller supports enabling and configuring cross-origin resource sharing (CORS) headings used by AJAX applications, where front-end Javascript code interacts with backend applications or web servers. + +These code blocks show how the Ingress-NGINX annotations correspond to NGINX Ingress Controller [VirtualServer and VirtualServerRoute resources]({{}}). + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/enable-cors: "true" +nginx.ingress.kubernetes.io/cors-allow-credentials: "true" + +nginx.ingress.kubernetes.io/cors-allow-headers: "X-Forwarded-For" + +nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS" + +nginx.ingress.kubernetes.io/cors-allow-origin: "*" + +nginx.ingress.kubernetes.io/cors-max-age: "seconds" +``` + +**NGINX Ingress Controller** +```yaml +responseHeaders: + add: + - name: Access-Control-Allow-Credentials + value: "true" + - name: Access-Control-Allow-Headers + value: "X-Forwarded-For" + - name: Access-Control-Allow-Methods + value: "PUT, GET, POST, OPTIONS" + - name: Access-Control-Allow-Origin + value: "*" + - name: Access-Control-Max-Age + value: "seconds" +``` + +--- + +#### Proxying and load balancing +NGINX Ingress Controller has multiple proxy and load balancing functionalities you may want to configure based on the use case, such as configuring the load balancing algorithm and the timeout and buffering settings for proxied connections. + +This table shows how Ingress-NGINX Controller annotations map to statements in the upstream field for [VirtualServer and VirtualServerRoute resources]({{}}), covering load balancing, proxy timeout, proxy buffering and connection routing for a services' ClusterIP address and port. + +{{< bootstrap-table "table table-bordered table-striped table-responsive" >}} +| Ingress-NGINX Controller | NGINX Ingress Controller | +| ------------------------ | ------------------------ | +| _nginx.ingress.kubernetes.io/load-balance_ | _lb-method_ | +| _nginx.ingress.kubernetes.io/proxy-buffering_ | _buffering_ | +| _nginx.ingress.kubernetes.io/proxy-buffers-number_ | _buffers_ | +| _nginx.ingress.kubernetes.io/proxy-buffer-size_ | _buffers_ | +| _nginx.ingress.kubernetes.io/proxy-connect-timeout_ | _connect-timeout_ | +| _nginx.ingress.kubernetes.io/proxy-next-upstream_ | _next-upstream_ | +| _nginx.ingress.kubernetes.io/proxy-next-upstream-timeout_ | _next-upstream-timeout_ | +| _nginx.ingress.kubernetes.io/proxy-read-timeout_ | _read-timeout_ | +| _nginx.ingress.kubernetes.io/proxy-send-timeout_ | _send-timeout_ | +| _nginx.ingress.kubernetes.io/service-upstream_ | _use-cluster-ip_ | +{{% /bootstrap-table %}} + +#### mTLS authentication + +mTLS authentication is a way of enforcing mutual authentication on traffic entering and exiting a cluster (north-sourth traffic). This secure form of communication is common within a service mesh, commonly used in strict zero-trust environments. + +NGINX Ingress Controller layer can handle mTLS authentication for end systems through the presentation of valid certificates for external connections. It accomplishes this through [Policy]({{}}) resources, which correspond to Ingress-NGINX Controller annotations for [client certificate authentication](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#client-certificate-authentication) and [backend certificate authentication](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#backend-certificate-authentication). + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/auth-tls-secret: secretName +nginx.ingress.kubernetes.io/auth-tls-verify-client: "on" +nginx.ingress.kubernetes.io/auth-tls-verify-depth: "1" +``` + +**NGINX Ingress Controller** +```yaml +ingressMTLS: + clientCertSecret: secretName + verifyClient: "on" + + verifyDepth: 1 +``` + +--- + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/proxy-ssl-secret: "secretName" +nginx.ingress.kubernetes.io/proxy-ssl-verify: "on|off" +nginx.ingress.kubernetes.io/proxy-ssl-verify-depth: "1" +nginx.ingress.kubernetes.io/proxy-ssl-protocols: "TLSv1.2" +nginx.ingress.kubernetes.io/proxy-ssl-ciphers: "DEFAULT" +nginx.ingress.kubernetes.io/proxy-ssl-name: "server-name" +nginx.ingress.kubernetes.io/proxy-ssl-server-name: "on|off" +``` + +**NGINX Ingress Controller** +```yaml +egressMTLS: + tlsSecret: secretName + + verifyServer: true|false + + verifyDepth: 1 + + protocols: TLSv1.2 + + ciphers: DEFAULT + + sslName: server-name + + serverName: true|false +``` + +--- + +#### Session persistence with NGINX Plus +With [NGINX Plus]({{}}), you can use [Policy]({{}}) resources for session persistence, which have corresponding annotations for the community Ingress-NGINX Controller. + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/affinity: "cookie" +nginx.ingress.kubernetes.io/session-cookie-name: "cookieName" +nginx.ingress.kubernetes.io/session-cookie-expires: "x" +nginx.ingress.kubernetes.io/session-cookie-path: "/route" +nginx.ingress.kubernetes.io/session-cookie-secure: "true" +``` + +**NGINX Ingress Controller** +```yaml +sessionCookie: + enable: true + + name: cookieName + + expires: xh + + path: /route + + secure: true +``` + +## Migration with Kubernetes Ingress resources +The other option for migrating from the community Ingress-NGINX Controller to NGINX Ingress Controller is using only [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) and [ConfigMaps](https://kubernetes.io/docs/concepts/configuration/configmap/) from standard Kubernetes resources, potentially relying on [mergeable Ingress types](https://github.com/nginx/kubernetes-ingress/tree/main/examples/ingress-resources/mergeable-ingress-types). + +This ensures that all configuration is kept in the Ingress object. + +{{< warning >}} +You should avoid altering the `spec` field of the Ingress resource when taking this option. Ingress-NGINX Controller and NGINX Ingress Controller differ slightly in their implementations: changing the Kubernetes Ingress can create incompatibility issues. +{{< /warning >}} + +### Advanced configuration with annotations +This table maps the Ingress-NGINX Controller annotations to NGINX Ingress Controller's equivalent annotations, and the respective NGINX Directive. + +{{< bootstrap-table "table table-bordered table-striped table-responsive" >}} +| Ingress-NGINX Controller | NGINX Ingress Controller | NGINX Directive | +| ------------------------ | ------------------------ | --------------- | +| [_nginx.ingress.kubernetes.io/configuration-snippet_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#configuration-snippet) | [_nginx.org/location-snippets_](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#snippets-and-custom-templates) | N/A | +| [_nginx.ingress.kubernetes.io/load-balance_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-nginx-load-balancing) (1) | [_nginx.org/lb-method_](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#backend-services-upstreams) | [_random two least_conn_](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#random) | +| [_nginx.ingress.kubernetes.io/proxy-buffering_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#proxy-buffering) | [_nginx.org/proxy-buffering_](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#general-customization) | [_proxy_buffering_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) | +| [_nginx.ingress.kubernetes.io/proxy-buffers-number_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#proxy-buffers-number) | [_nginx.org/proxy-buffers_](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#general-customization) | [_proxy_buffers_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) | +| [_nginx.ingress.kubernetes.io/proxy-buffer-size_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#proxy-buffer-size) | [_nginx.org/proxy-buffer-size_](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#general-customization) | [_proxy_buffer_size_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) | +| [_nginx.ingress.kubernetes.io/proxy-connect-timeout_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-timeouts) | [_nginx.org/proxy-connect-timeout_](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#general-customization) | [_proxy_connect_timeout_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) | +| [_nginx.ingress.kubernetes.io/proxy-read-timeout_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-timeouts) | [_nginx.org/proxy-read-timeout_](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#general-customization) | [_proxy_read_timeout_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout) | +| [_nginx.ingress.kubernetes.io/proxy-send-timeout_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-timeouts) | [_nginx.org/proxy-send-timeout_](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#general-customization) | [_proxy_send_timeout_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout) | +| [_nginx.ingress.kubernetes.io/rewrite-target_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#rewrite) | [_nginx.org/rewrites_](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#request-uriheader-manipulation) | [_rewrite_](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite) | +| [_nginx.ingress.kubernetes.io/server-snippet_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#server-snippet)| [_nginx.org/server-snippets_](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#snippets-and-custom-templates) | N/A | +| [_nginx.ingress.kubernetes.io/ssl-redirect_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#server-side-https-enforcement-through-redirect) | [_ingress.kubernetes.io/ssl-redirect_](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#auth-and-ssltls) | N/A (2) | +{{% /bootstrap-table %}} + +1. Ingress-NGINX Controller implements some of its load balancing algorithms with Lua, which may not have an equivalent in NGINX Ingress Controller. +1. To redirect HTTP (80) traffic to HTTPS (443), NGINX Ingress Controller uses built-in NGINX `if` conditions while Ingress-NGINX Controller uses Lua. + +The following two snippets outline Ingress-NGINX Controller annotations that correspond to annotations for NGINX Ingress Controller with NGINX Plus. + +**Ingress-NGINX Controller** +```yaml +nginx.ingress.kubernetes.io/affinity: "cookie" +nginx.ingress.kubernetes.io/session-cookie-name: "cookie_name" +nginx.ingress.kubernetes.io/session-cookie-expires: "seconds" +nginx.ingress.kubernetes.io/session-cookie-path: "/route" +``` + +**NGINX Ingress Controller (with NGINX Plus)** +```yaml +nginx.com/sticky-cookie-services: "serviceName=example-svc cookie_name expires=time path=/route" +``` + +{{< note >}} +NGINX Ingress Controller has additional annotations for features using NGINX Plus that have no Ingress-NGINX Controller equivalent, such as active health checks and authentication using JSON Web Tokens (JWTs). +{{< /note >}} + +### Global configuration with ConfigMaps + +This table maps the Ingress-NGINX Controller ConfigMap keys to NGINX Ingress Controller's equivalent ConfigMap keys. + + + +{{< bootstrap-table "table table-bordered table-striped table-responsive" >}} +| Ingress-NGINX Controller | NGINX Ingress Controller | +| ------------------------ | ------------------------ | +| [_disable-access-log_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#disable-access-log) | [_access-log-off_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#logging) | +| [_error-log-level_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#error-log-level) | [_error-log-level_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#logging) | +| [_hsts_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#hsts) | [_hsts_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#auth-and-ssltls) | +| [_hsts-include-subdomains_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#hsts-include-subdomains) | [_hsts-include-subdomains_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#auth-and-ssltls) | +| [_hsts-max-age_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#hsts-max-age) | [_hsts-max-age_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#auth-and-ssltls) | +| [_http-snippet_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#http-snippet) | [_http-snippets_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#snippets-and-custom-templates) | +| [_keep-alive_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#keep-alive) | [_keepalive-timeout_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_keep-alive-requests_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#keep-alive-requests) | [_keepalive-requests_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_load-balance_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#load-balance) | [_lb-method_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#backend-services-upstreams) | +| [_location-snippet_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#location-snippet) | [_location-snippets_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#snippets-and-custom-templates) | +| [_log-format-escape-json_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#log-format-escape-json) | [_log-format-escaping: "json"_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#logging) | +| [_log-format-stream_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#log-format-stream) | [_stream-log-format_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#logging) | +| [_log-format-upstream_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#log-format-upstream) | [_log-format_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#logging) | +| [_main-snippet_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#main-snippet) | [_main-snippets_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#snippets-and-custom-templates) | +| [_max-worker-connections_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#max-worker-connections) | [_worker-connections_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_max-worker-open-files_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#max-worker-open-files) | [_worker-rlimit-nofile_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_proxy-body-size_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-body-size) | [_client-max-body-size_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_proxy-buffering_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-buffering) | [_proxy-buffering_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_proxy-buffers-number_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-buffers-number) | [_proxy-buffers: number size_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_proxy-buffer-size_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-buffer-size) | [_proxy-buffers: number size_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_proxy-connect-timeout_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-connect-timeout) | [_proxy-connect-timeout_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_proxy-read-timeout_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-read-timeout) | [_proxy-read-timeout_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_proxy-send-timeout_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-send-timeout) | [_proxy-send-timeout_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_server-name-hash-bucket-size_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#server-name-hash-bucket-size) | [_server-names-hash-bucket-size_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_proxy-headers-hash-max-size_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-headers-hash-max-size) | [_server-names-hash-max-size_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_server-snippet_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#server-snippet) | [_server-snippets_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#snippets-and-custom-templates) | +| [_server-tokens _](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#server-tokens) | [_server-tokens_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_ssl-ciphers_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#ssl-ciphers) | [_ssl-ciphers_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#auth-and-ssltls) | +| [_ssl-dh-param_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#ssl-dh-param) | [_ssl-dhparam-file_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#auth-and-ssltls) | +| [_ssl-protocols_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#ssl-protocols) | [_ssl-protocols_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#auth-and-ssltls) | +| [_ssl-redirect_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#ssl-redirect) | [_ssl-redirect_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#auth-and-ssltls) | +| [_upstream-keepalive-connections_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#upstream-keepalive-connections) | [_keepalive_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#backend-services-upstreams) | +| [_use-http2_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#use-http2) | [_http2_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#listeners) | +| [_use-proxy-protocol_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#use-proxy-protocol) | [_proxy-protocol_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#listeners) | +| [_variables-hash-bucket-size_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#variables-hash-bucket-size) | [_variables-hash-bucket-size_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_worker-cpu-affinity_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#worker-cpu-affinity) | [_worker-cpu-affinity_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_worker-processes_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#worker-processes) | [_worker-processes_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +| [_worker-shutdown-timeout_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#worker-shutdown-timeout) | [_worker-shutdown-timeole_](https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#general-customization) | +{{% /bootstrap-table %}} diff --git a/content/nic/installation/installing-nic/_index.md b/content/nic/installation/installing-nic/_index.md new file mode 100644 index 000000000..ad70f8f42 --- /dev/null +++ b/content/nic/installation/installing-nic/_index.md @@ -0,0 +1,5 @@ +--- +title: Install NGINX Ingress Controller +description: +weight: 100 +--- diff --git a/content/nic/installation/installing-nic/deploy-with-nap-using-helm.md b/content/nic/installation/installing-nic/deploy-with-nap-using-helm.md new file mode 100644 index 000000000..93cf807fd --- /dev/null +++ b/content/nic/installation/installing-nic/deploy-with-nap-using-helm.md @@ -0,0 +1,343 @@ +--- +title: Install NGINX Ingress Controller and NGINX App Protect WAF with Docker and Helm +toc: true +weight: 500 +type: how-to +product: NIC +--- + +This document describes how to build a local F5 NGINX App Protect WAF v5 Docker image with NGINX Plus Ingress +Controller, which can be used to compile WAF policies. + +This is accomplished with the following steps: + +- Prepare license secrets to enable a Kubernetes deployment +- Use a NGINX App Protect WAF Docker image to transform a policy JSON file into a compiled bundle +- Configure PersistentVolumes so the deployed NGINX App Protect WAF instance can access the compiled bundle +- Deploy NGINX Plus Ingress Controller with NGINX App Protect +- Test example services to validate that the WAF policies work + +--- + +## Prepare Secrets and credentials + +1. Download your NGINX Ingress Controller subscription's JSON Web Token, SSL Certificate, and Private Key from MyF5. + You can use the same JSON Web Token, Certificate, and Key as NGINX Plus in your MyF5 portal. +1. Rename the files to the following: + - `nginx-repo.crt` + - `nginx-repo.key` + - `nginx-repo.jwt` +1. Log in to the Docker registry using the contents of the JSON Web Token file: + ```shell + docker login private-registry.nginx.com --username=$(cat nginx-repo.jwt) --password=none + ``` + +--- + +## Compile WAF Policy from JSON to Bundle + +Pull the `waf-compiler` image with: + +```shell +docker pull private-registry.nginx.com/nap/waf-compiler:5.6.0 +``` + +Download the [provided WAF Policy JSON](https://raw.githubusercontent.com/nginx/kubernetes-ingress/main/tests/data/ap-waf-v5/wafv5.json): + +```shell +curl -L https://raw.githubusercontent.com/nginx/kubernetes-ingress/main/tests/data/ap-waf-v5/wafv5.json -o /tmp/wafv5.json +``` + +Use your pulled NAP Docker image (`private-registry.nginx.com/nap/waf-compiler:5.6.0`) to compile the policy bundle: + +```shell +# Using your newly created image +docker run --rm \ + -v /tmp:/tmp \ + private-registry.nginx.com/nap/waf-compiler:5.6.0 \ + -p /tmp/wafv5.json \ + -o /tmp/compiled_policy.tgz +``` + +Move the downloaded JSON and compiled policy to your workspace: + +```shell +mv /tmp/wafv5.json $(pwd)/wafv5.json +mv /tmp/compiled_policy.tgz $(pwd)/compiled_policy.tgz +``` + +After this command, your workspace should contain: + +``` +├── nginx-repo.crt +├── nginx-repo.key +├── nginx-repo.jwt +├── wafv5.json +└── compiled_policy.tgz +``` + +--- + +## Create the persistent volume and claim to store the policy bundle + +Save the following configuration data as `pvc.yaml` in the same directory. + +```yaml +apiVersion: v1 +kind: PersistentVolume +metadata: + name: task-pv-volume + labels: + type: local +spec: + storageClassName: manual + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + hostPath: + path: "/tmp/" + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: task-pv-claim +spec: + storageClassName: manual + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +``` + +This sets up a 1Gi disk and attaches a claim to it that you will reference in the deployment chart. + +Create these with: + +```shell +kubectl apply -f pvc.yaml +``` + +Verify that the persistent volume and claim are created: + +```shell +# For the persistent volume +kubectl get pv + +# For the persistent volume claim +kubectl get pvc +``` + +## Deploy NGINX Plus NIC Controller with NAP Enabled using Helm + +Add the official NGINX Helm repository: + +```shell +helm repo add nginx-stable https://helm.nginx.com/stable +helm repo update +``` + +Create Kubernetes Docker and licensing secrets: +```shell +kubectl create secret \ + docker-registry regcred \ + --docker-server=private-registry.nginx.com \ + --docker-username=$(cat nginx-repo.jwt) \ + --docker-password=none + +kubectl create secret \ + generic license-token \ + --from-file=license.jwt=./nginx-repo.jwt \ + --type=nginx.com/license +``` + +Install the required CRDs for NGINX Ingress Controller: + +```shell +kubectl apply -f https://raw.githubusercontent.com/nginx/kubernetes-ingress/v5.0.0/deploy/crds.yaml +``` + +Using Helm, install NGINX Ingress Controller + +```shell +helm upgrade --install nic nginx-stable/nginx-ingress \ + --set controller.image.repository="private-registry.nginx.com/nginx-ic-nap-v5/nginx-plus-ingress" \ + --set controller.image.tag="5.0.0-alpine-fips" \ + --set controller.nginxplus=true \ + --set controller.appprotect.enable=true \ + --set controller.appprotect.v5=true \ + --set-json 'controller.appprotect.volumes=[ + {"name":"app-protect-bd-config","emptyDir":{}}, + {"name":"app-protect-config","emptyDir":{}}, + {"name":"app-protect-bundles","persistentVolumeClaim":{"claimName":"task-pv-claim"}} + ]' \ + --set controller.serviceAccount.imagePullSecretName=regcred \ + --set 'controller.volumeMounts[0].name=app-protect-bundles' \ + --set 'controller.volumeMounts[0].mountPath=/etc/app_protect/bundles/' + +``` + +Verify deployment success: + +```shell +kubectl get pods +``` + +--- + +## Copy the policy bundle into the running instance + +Get the name of the pod from the `kubectl get pods` command above. + +Copy the file into the `nginx-ingress` container within the pod: + +```shell +kubectl cp ./compiled_policy.tgz \ + :/etc/app_protect/bundles/compiled_policy.tgz \ + -c nginx-ingress +``` + +Replace `` with the actual name of the pod, for example: + +```shell +kubectl cp ./compiled_policy.tgz \ + nic-nginx-ingress-controller-9bd89589d-j925h:/etc/app_protect/bundles/compiled_policy.tgz \ + -c nginx-ingress +``` + +Confirm that the policy file is in the pod. The following command should list `compiled_policy.tgz`. + +```shell +kubectl exec --stdin --tty \ + -c nginx-ingress \ + \ + -- ls -la /etc/app_protect/bundles +``` + +## Confirm that the WAF policies work + +Save the following kubernetes config file as `webapp.yaml`: + +```yaml +apiVersion: k8s.nginx.org/v1 +kind: VirtualServer +metadata: + name: webapp +spec: + host: webapp.example.com + policies: + - name: waf-policy + upstreams: + - name: webapp + service: webapp-svc + port: 80 + routes: + - path: / + action: + pass: webapp +--- +apiVersion: k8s.nginx.org/v1 +kind: Policy +metadata: + name: waf-policy +spec: + waf: + enable: true + apBundle: "compiled_policy.tgz" +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: webapp +spec: + replicas: 1 + selector: + matchLabels: + app: webapp + template: + metadata: + labels: + app: webapp + spec: + containers: + - name: webapp + image: nginxdemos/nginx-hello:plain-text + ports: + - containerPort: 8080 +--- +apiVersion: v1 +kind: Service +metadata: + name: webapp-svc +spec: + ports: + - port: 80 + targetPort: 8080 + protocol: TCP + name: http + selector: + app: webapp +``` + +Create the services with +```shell +kubectl apply -f webapp.yaml +``` + +Confirm that the services have started with + +```shell +kubectl get pods +``` + +### Save the public IP and PORT in environment variables + +Get the public IP and port of your instance with the following command: + +```shell +kubectl get svc +``` + +Save them in the following environment variables: + +```shell +IC_IP=XXX.YYY.ZZZ.III +IC_HTTP_PORT= +``` + +### Validate that the WAF works + +Send a valid request to the deployed application: + +```shell +curl --resolve webapp.example.com:$IC_HTTP_PORT:$IC_IP http://webapp.example.com:$IC_HTTP_PORT/ +``` + +```text +Server address: 10.92.2.13:8080 +Server name: webapp-7b7dfbff54-dtxzt +Date: 18/Apr/2025:19:39:18 +0000 +URI: / +Request ID: 4f378a01fb8a36ae27e2c3059d264527 +``` + +And send one that should be rejected + +```shell +curl --resolve webapp.example.com:$IC_HTTP_PORT:$IC_IP "http://webapp.example.com:$IC_HTTP_PORT/ + \ No newline at end of file diff --git a/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/gtr.html b/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/gtr.html new file mode 100644 index 000000000..1b1bdfcd1 --- /dev/null +++ b/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/gtr.html @@ -0,0 +1,22 @@ + + + +Welcome to nginx GTR ! + + + +

      Welcome to nginx GTR !

      +

      If you see this page, the nginx web server is successfully installed and +working.

      + +GTR + +

      Thank you for using nginx.

      + + diff --git a/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/gtr.jpg b/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/gtr.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be39ffe4abffec802a3c93dd5611a0398f3879c8 GIT binary patch literal 82681 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

      )ik$mWI8$ijHC zZmTi#g>}cq7+Ti?j)aj z`y706gj7C%CoJUXM|W#zDH}jr+T{_Foxg#AB7=og+YN1&w7c}D5b6#=Hp5#bf!o}t z67%m?;(9N$J=*Wxo_^7TugH0b5%)!?q&IW3e zAK6|WPq=Ym9dGcj_ii{cmonpe?As>@tQ)#_4B^x*w6!*{k>MrLjGySQm&^Bw{{R^N zzHe3@98Xs#{N>$NyND3>jfUT2q=v(~-n7i)!Nx|=H}-U&HS;t3pOKc45%Qn+dSk@G z8<#$yT*xE0zS=e$Mrs{dp}V}AO+Tt4U~PS?lymdXfAwy7u!gSZ-d(>bdo8VJymKAloe< z!wE|sUF|(ed>4GN!yfJ7gv*yVc6ZT<&w;PBw{%XOj*y8X#th`n4d3Rpq2s@3%y}W}NSniaBanji7O66Blnb5D5pOMKk(qr+5e0cDNklr^q z;}FGraU3GFjgv^$`+>ysTxXhZuCBXd(WNx6o!X{zrE%i&Tz)lJobsOQ5gv(a05~)^ z#9*^>-Fj1IHWF|ccrQmD8nEoyKtKkWWLMqs@u#0TY|bAp>9$&rnT#*Glg=-x?kaN5 z?p$!~F>gH0VU}I(?yZP)dh1;vnh$#RWg1tb=JnUR^UmoxlW@C{*}iE{^~(Nz%gL5m zPvZS1IMher+;kmY+F?AiI+YFOE^6Mr;AJv7L1E}}?om6dea9wfB z(Ad-tr2#ZQnPV!Hh`%=n<3u|&}Sz7-9rxi77 zA{kk2Zr`aJeczlW>GfKM!!6FAmLui?KaecW=}j6}Ti(gH9XpQYXK3MpWcLw7@94R} ztFt9}t;^NVO*Vq>zjqy|c&O76e7@rwNcgUtd>Kzq%_Aq3zWho0d23&}$GC1($@aGT z*l@!aIkfjJ{WSHNh1~ER)A*i-;yADNj@WxIcF8){m)AE;jz+}N4Do0Jq)Qkra5bT$ zsaCae0mpgF$T=y-=uG6qtSp!2^<$ca$kZfyM;e{;3yr$#$k@Zt?)ET(J zV$=Ts+CUn8?=M@&Y;;|a@_UD=o%gzv_x|9$lU8A}bjS5HuU;In9ietZi8k+la&=u@ z%{z`}SswoY?Gn8a&+vm}F*fLoMF)_g+;jd3vKgDW$T6)~Sn>~Q8RFe!8I{^O*`6qF zMZ7zSU89;DXNEl+aqk9{s_7ZShp^ag>QCCDw+#CP?Z6+k=C0)SSRa3$Do#$=@k2^W z)0V6kInCNQ;eq#H*A>olZZL)yT-S={IkyE<3>SBl!J$T1!B_wo*10O6I)@yPU$Uqkc%W@}JkU_Du>$x6 z3^@A`P{$&H(w@`@k_>>;1MER;rw=q2i8vy&HLj>cY{eCG1bCp{iW-s0RvVGRJ<7xl z_$}%I$!Z|B{16d{73Qlhj4)yL0vaQWj|^>kV`+AF`DMX!2Alg+nes;-8I|BHB4AVy|@FMuc7!Z zxbWvcwI`A0JBQaFNP7%A4&StH_qxIhTKiV(U_Y%p=+_SxReP}Tr~LF|bK>36_@MP8 zdVJ9A^24$1@*k2rHUlte6eFr=NIpxf_`F@F{{XX4`Cabe+Lm zis{Gp_?>AdI?5kGW!1Oa_Ul|j0e|T`HS{s@@yDZ%S!F#N ze}0A`Mp3jpFkNGkv~Zkqo~VB7PC2Q)xbfmz&fN`j%}wyscFI>!t!yKwzw zpK-5h7~Qy6j}<+}qly^*{7x0en$Not(Wv6Ss%69EG;Lgb7NTb)$}z#(ve-8}#tBPA z5NFky!X^RxPM}-cIQ4O!Se}iC%i0@I{{S6+`}>+>4U}Ri5+4^CO z*8@WtBrlJiJlvgfnRkvThmx1NH#r=1vIe%44U#^)$0|tw0Ggwk&OSCV)^&8!Iy7e7 zw_C`5?RR}V@K;b{-+(?8qU(>3kD+qJBYTA&=R5&QIG24Tdhp?oM68(^6Ga9?kY1cP zpxVmDGlvE3!wgcH*ygt(Pp90yF%ZnNvgG?Y=kzX{;vD9kowH@`J=MCly{hic ze2pGupwU_7$Ge=&J)Yg^7pOO#GW!Nv!10W;O&BfnV0OQP=RQU- zA&I~L07}O_-suBZIrAbuEKEbxZT^RL)vJH%H`iC6q~PIfKdY&E=gyhZA&J4%{{Sia zRj|dQaEi}Q7vIVr?|C6f-v=_DwiJ3=j7@IHI4l9($EcKS- z2<;Ah--vHdEvn07b#bRAMQ-^0+Ji#pJQvm4FwMui{7ZJ@Fo$Nonz?IyOdl6jYw7+e zQ|RSO_>hhA7F%}FBA7Z^oJYPe<cn3mBvOkKOhgBZdOvNE+Jthmy4(K2g$3!@Ev??(ZGxq+0B|ECJ3GESe{{k876W zizw@qu``9~4THG%9?Sm#Sf8^kFCB3ig6+1?eZVZ^syNu}DT#2vE_rdp_2i$D?(~N> zz2n&%yfN8seYER4NbrsJ?j|M*{hemCz~s7N<73t)<;y&#dg$CfmUcgM+ZlUzaSfc~ z(USrWbfKYFJgZJjV!msSHdwxO+`f}<+Y{b;CGdk#;f@Q(J|`b1?0RwX;yS~_Ty57D zuQAHP(mAg$CySmBP8_)AmP5}qG2@=?%+F@z5rBLb(Bk8!CS8kS&@jn;JamVbJ7Tw& zS8_ea>cwQu1I5!irErM<0N)>kvz9;lr}28YHyGofbqG1rlJ{3v&WvUvUk~5xC9>Ua z;gO_PSG|Yqmb{k&54MZ&K34?c$u#{39(Rm5lSF?<9yQ{=eB09rWyRwl`&L}BxmGSY%wyH|pGdn) zb?u$*ed~T?P%uDZwS-8?Ugtf{CI0{+A+!RR^IxIxyd3bG%d_Wmc^FJob$!;`yRD!g z2NRFQeO$OL;*Mx`An&_C2DjtMai1Bu=Z8iv__1&_kW!rS_hz{LH^I}~zUm$4Wgz(^ z4)LxE`w{4FpH;WHt=~cV)djD4vd8a^d+o))fJbNaK`J9K7C zjrQI8b8Wl2?jOyMQCOY~r=zYhGUDF;BYiuwVRfVKw*oV4P`V@k0IV7pDdLFhE|HA9 z-TwgMvu%hU;QhZWw9D^uwTJ%zNWEfl;{IQgq+s(KhvK8WrmyhLy2{7J%{M>V(wD~{ z7PdUb(y|wCv=Ij1z?isD;u?&2BYXha8SlnpoOP+qKP9H5zSBIO-%04dG;SaA% z*gu9|(zrI$w)1ejh*m*$yV^qw$l_v}M!Vp=)8%;?{@o+-YB9mf-FJ_|Q?|XJRRdp$uT8xsE zB@0{9kE#`n%08f5_Zp)T@+(oxEZW4xF0sukYi+}a726*sQkezY{{TsMk0mz3#oOtc z)OiNTBXsU+`{vk5n30;3&1EN9=CkfC4Sp*#oQJBaZU~f_(P{3zJq_P%_ujyr&2RC$ zadWj992nMac0kDqB=C5vO7ZzoIK*;CSkwDSi{u^KWB0ASx6Nr1TTr->L!tDoe2Vb- z{85%M$qz>y)Vw8E=iY*<1d0%#fJF)fmIScMmK9RMPzVGb^kOg=uS3W)%?eXaG*$&y z95UjlIn@KyS~Edeil8_kV4$jk5FhG5^7BB$iSt2irBFYD46(Nq8!<4`BpYmuRA7U0 z7={$VR&Bc!L}O2S)I=kC-UmJ5t!}9fOlYf*uwtn8UAyVme0Lz%vG(ot>`kVr84H62 zd`%MIr_lEQ0KQ$_cSjk?;x7L8IHyQV}~Ik+5@oZ)s!4@|b*uXK-R+`En|?ck5! zZMzH)zn(mPsgb8ZcZV!jvx~>iJ!UFCE*a+-{9fm1^yjlSz}dHm<&zS6H&fPs0vm6o ztvuTBO6?vr!=JkkWH&z5?LEKm!V4bV+gtwt>ZNNVk^ca)GjUyU@v_VIv+hIWUFrCz z+U!iWotI+m!s)ed@jLp6fgD*7{{U%v@bR$6T;*c&etqt*Q2XP)u1ve;z#yUetjB5ASkX$ETvkteBihYruYdUsM)S$!soE6(^YHL6hrGAChF{W-K zx`ioR7NTjWpGHVxmU0^eZk5E)2-;k0%LUpeFGQT_>o%WEyXSW!?)yxTMn<7E*$^;; z$h$SThbiWWd(E5h^SWFZ~d+OzIU9_78Iw`}$YYP0Vm!*1IH1~(EmHb^PNxZ<%n6XW-qjMLskN0*lnMwAy1&N63l$Ab@3A=tMY}u{54#N2e!INFc8p1zixU9z6=@#5@ z%)D0R>+h*ssc^J5`*d!|LlAWbgWpoRh#*R(Rn9>)-)gp;?0NMZh^ z7hHHaqyGRdbM8x{Wd)_f+YOe``=`A8jUn??`)U_$oH5(;bDViSe9)!~mwah^Gz?zO+A zeLDXD65h+aZ6giK!b+@tUG#+Z{w$-@y@uXRa&EU%49jF}4L(wpJJ-*_}yL$Lb0W}e7EVzo93KR1K`m57EMa5+g zKerd7>ANo5xLw)1Z{J`JxL^ZV2d5x8Ii&lDIWL*X%d&47d$GcDikZ>jyUWshJBP_U zG3b*LC@4M4)x+gRT28Jrgv99hFK~9$+dadgk}}fLbL72w@kHwnM;AQwmjF4eG$R$q zqt_ab2xN=?i^M)rIYR@@`b~1xTNp9BHjawlkFE1{2&5pgBj6Y2?yLEj<4Hta8 zh`RJ&Y9`uumoZ;3$8{5AVargipCiF}IkUq)&BiqIce@Nuq_%R8n*#&EsPWWSz~=F8 zZY9uT0j8f^HF=e96gRr(=L3NRq#=Z)DZU@p|bq@QuWpuU9<%n3HxZxeYGw8l3cc>e- zJti@=;z{~4UVOggGu!jy0`CaXVHwGe2HCM#6k0LQ!jO(IYwqLx=_J;H=sxcB6BQlTY z(^8SiDG*NIH+L|^Z>H#+Xqr)?VbbKvD+4#v&0GHHER#*fKTfzPEk5Taf9@SY5INX-)+Ll zdwaHQ?5yq1uj04N63>QuWuH`ldA^djo<#?_ z$1j5Gj}|!f)v0Cs+gXDfMvSPp9I@$17|gJ~@#N>4$Gr_kEKZ%y;<;tY)MCbDE0prf zRD&YK@=6x6vF-(^tj=K6RyW96ikpE_RJol6YHM+Kxpa)N!>dVk#|M8FJ$tUZZdH%JNqSZdb9zjU5~fGLk$V zXg{jGSooRGSD!B{2zyTEjY6uz(Hln}I z3!L&)c5X1rUMF$#|*g=@BaXZZuW2e zCu+Le_W4CCX>XyFJl^2vk7Dy>qXX5eClM~VJ zc3#}{=V;L+du(?zNA+gBd7a12hxcdt3$*d%%=1jWows*wTYNnYz9?-V&!cX}!ySAY zzyMt5izYqEYh3s1O?0}xBL%4O*`7xp=e_5C4L+_J^o z_i??iWTmcYt4m!%J<3lEWesC953cq%sq^oq*J9iyY9&Wcosi4>Nu-J~)?g;Ip)2nA+}ES#a$~nw<~`$XlFH&nIfQ96qV{re z#67$m+nj>p(}7+ontJNm^D=4fAbfbXHp=O70*ws@xRAV@*+%G_Y9WpDuwY&*#}&ss z;`*&HI_f-uC3)wTieq%{BP@B9%6TnmCU+BB*MR>3K(W1Ox}={UG~Xo`RE3?{N>CCW z8LM;Zw0h4Pttbyua5WVy8olb+HPtK{uu{Sd>+eenr-}l+ktnN0EGng| z1>4)uk*5t~r~N;d@~q@THFSUp$N}yNjHI1aQB(@3C@Ww~3=>=x6dgjXjDX^|86_E) zgGFh@UBxFC1E`vO6uI?87GdGRV^)$yGQ-6viKVjUSjYs_aw~ZA%of{@R>&&fXym<^ z@OckilBN)eSu+=XVz6+8aCE=8Ns7dF);*^SaVnPZc}_kC}O*E1GAt ztK;3@Yth|4@C6xi!215M!2U(?yzV``p9iOoZXSJn{QA?WB7_0~K$1YR1PK6uKp+r% ztTSGRj12ryRbF`%3tNUvmnbN7RZ>FoB>RjqbotaOmT4qB@3)L#DpAH&a|PLRf2 zv5Vl{>FQ6Yo}t0_uJGLd0Ly)`AR^yp+w0ewG6n{vq>2jbc9Hr#m+AapxAAd*jnAv) z^LaPYUJ_pHhikTdmcavd>qpnA(>kY;xRWHL2RQiU;J&Rk7l5pvAtS!(g3&gn}nK{p99QD$-ms;uuQ zi|DhsqUsK6Z(4-9W0O>zq|p^FH6?SI^;;FH)MMzhVE$z>jolJ-SdH#*V?i%=0iaZq z-~!jTWxJbiXK$N{X%KzhCmIk_JF~>`Ky}#3)x-Xk@x{`Mg zHAfH;0N`@eb!rF5FQtdu;v(nz{N5b=x$O1ZcEz>Xfgasq6DymV&2A)d`SlQdm!}>q zG3@hY&7UV-9-7a$HyfkXkaXAw*O25rxGhe2c@*1?E434{uVY(t^vDxhq-B? zYu{wj*3g{UDKFA1&C<2ss=OKbS!VAT#67=mcQ0VNGalf_HWVvg4kByC` zKYb%uDoz?)JVT1|?wqEkR^Fb=)jv{qz2)0Ip4AU;MHzHgA|92^%yK!7=#n+Uz#Q@Q zb8rsRQn5J0dbmB=-kssI?jvfCcfIaS`e(j4q_+-&))z31V8+_H?i@a0;u0})ob{)> z*u6`e_zkdqVSRHU|2>YuGhsx>h97JKGCkRZgZ|Lw{`1mvA{ia-zk6EdF>%Kj6 zxMOCuz3u^O#{wO+>?d33_B1*b+uc&VL;r8k6{#9-l>Dfnck(|EeCsg`*ALb_${oy{j zwLM>_C-vs*bK5Pgb{&H2xOZW18!s+x*(Jjtaw7sqv|B|ep?ydOm~vjcqOD7JS}Cq%=IT=K_*kNh>~%bIeIy0tjV;##?{MCCI~4M5_ppbk-NYEl4CHK9O- zY#P>NFyx31v^cE*yON;Rfof11)dr-nwS_Di`5-l*TKS@^S+P?L@4KtbP0N7f zC@Jt>Y3I&eHbUa=4b~%5KC${Q0FTI#&7Z1I9y09McN`Ou72A3;AGcbvzC1$pVdO;V zE;(^mM`@39NP7->c!lf6y2FgR5lSUsc=m zoEGuME8@2EedTM^u!`ZLuYye^@@vLF5Esk)juVzUqqDaZyfqiVjbq~V5{eZ90RmA1 z0Th-%fIuJ+d%#tG@7{6sRwzgkR`zrRwv7?I9xAwM~w|mCO$J|ddSlv&Z zz|^}*4x^~h)j0ascBe>Xthrxb9>`+szZ*K9baXn z`LELWpK8C?$^Op=FOg3+Bkj(?h}~;u`Q9@A@$yJ|*04#PUgQ1i!N!?aiu?HS&U!>` zhTp<`kvfW-l(i|i73c0* zoQfjxl9p0S)VWw9Sxjhc7oM(-?Xi8+!{c zmde?Yxxi|3TUR=n5^=?QapJ=cknnPHWuIAkjjLzgw@0_58-oe@#2!3r!Cd(+4?GVok4TZ5>DbR^44- z3E)F1RpQUdi0iA_kBx7g?%m_x9pd*zb$vY18tSyQ1+lW3g4Si`O8LCLXQac^hYdO% zsp)rc_f6X^_WL`F>xYmGc5F8eZ~Vyz?wUF3dilBeQ!i9w57T{<_*8Dw6nn3E-P>$X zGxvrVq->W!(u5i0qgV*c3a>QtWi4%o(SMD4b=c9#vi4*#Pj(yo$t;-rmpSkm{^Q74ce&idAoPC+B{dAilf!oZ0e(%^y<(Hq6TVa9Q&Gm4YxAt&e zdGom?bo5X0jm!T4yO4P~W9qqQyEBeHjLq&X<${g9lAMXCTF1@hj_gm5gF8E)aUznq zN;vR83a?as%a%IV$(Z1XTQ{al^~qu6a$O_OoV9D)h-Vjd6$cJ$QRUgT7A{@Qb&n+5 z3l|5P>yJH~VQrnj=Dir_yGbe6*gK1G?akiHeA|Rhy|9_H!yUr}usO^>R!GhcY2;JL z{{Y#H;T_!L9bclhPsImxUc&ioY@@R4YHOj}Y~u`t&1odKvAXnvCy5ajK=!t0<=1P%MlVyH#bjN zwmq`cw{-PiXLYNFJ9fik3+^Ms5ZNG+?;h4Jk%Y0jA0zM2#2;kdcE0}rv28ntaQ6k? z;b%3ao&M)0wp*Ei4l#+_6PnyH`AY4MI+Vz)@Ir>8z%5xo z6)YOEOAk_5dbuToSz5AzehFn3rJE>f6;i@331HL`!KfvJP)jJaC4*NbZBJH7VQS=- z5qRR3Fv{TTi*|mFscYmk{{XbHGpNr|T2*NPHOVY7g48MbqDj>d4rmy0;H*ft;%ad6 zS|x)1{tdd^%_*rkM$RS68S-O{H;xwZmv@(YrN*gh=Qz=kw;|vH`C0N#QuRbcJ6jK8 zZ~enLwcBlFp5!#Yr4(vp;wRwp%s0UmUha%CF`?MG!K0Z5zQDTUO3AH(j*YFs#iY5z=lN@u zGV$iS#K7loFn!}{yNLe)!!90d`K$0=PbVGRGU>LsMN0^w0Dw>= z0+a-xCguH{M+P9g{^ zftCC#gGMI+jKlS&>ArUV0BZI{#g^9L+kJ_$!=~cm+e@bpaie2seR`A3c$%Im819;G z-;z6%zFplnw-$CVPqFrFvI!=!Y>t}lW8O;hXXRdy?T#&HTm$~>d&=?U%`)9n8JK^=74s{E@~yEt zNo(@Z1p+hq2Z{zSE6E_HBj9LWj> z4j8(g!lj9IGX}oIu!F0>tj<8F;t#o9!D^3*r2S*i6 za4*F38LwU(cy@;z^O<#FGRr`~PlYNg?OvFQ=H{X?G4v?cr1*vJ})>niy89a zAB&vj=?_VCJ0G!P*S=hf-O0GN$`72A;=I}OWijauaq#1p;_%z=tX;*q{{VpP=tk3K z`n9Zp6Fa@55PX-)=JI0?i{FQj9o}lkvpcW2uBj|DKJI5!Hb%NxoJhmuA2V?y5?99M z^XDxhW?sB-h<(ene+m1&>59}-Dn`l!?OZ1*YB8>_Pu%{Y?A^1s*=*gX3|2;MO>L#P z(Jlu=8XDSDQNVFjnTNpp^KbRzdJ;Mw-rQycxaqfu%b}?+%e$h`K7|`W$nLIF8fA%!?oE<1=iy5>1T#rE^IG4qK8wy zYBIFb%`w+1$5}~-Z*}z#xVI?vUf0M^UtT<4xUI>rn?$DBx{Sb3~_ zxgOIiH~6p*h>m1Xtw%SiPYZhAbhEf12?JgFF2QxjlL_xGbA-cmQNucg+jLJyI%JM# z#C}s&o(oZ&!fkFvb*KziYE-}7G9aW|xjyZxc@n0_- zVY!kN6#!xMdsk?PV^H%}JN8^F>{el6HsreACliTd3G>n_vkNS>T9i;E@KzNrBDCU? z3X_U~)d8rbgITYKHEaRL+Ef8K*0n&5N#uY8;(+#`Di9U%Kw+8%sROD9R0z2NR2Uoc z-AY}P8rHYlQhtD-&s9ShD*~&{R24qOZBD8nsw$dJ3rtHRrT zR6@c56cqwMAP@)y9_Uw}v37XXj~s`w1$?|JfGll4DnMY<`Bs#{!z2!%;C-kV$MYbd z)4(9f8wkw?%xpz%vNMH72#uCTFf~E96B|k^Q;R(vt&3%wd)#gI=$_a*$M=^H6=Y0k zCC?yGngD3p;&4jKth2gp`k%M#UvIP6>^;2$;o7Z+m{{Xi$t%y#Bj^QQ^NGPG@#?hs zU#;83lkahMIJxTWUA*mgT3uM@+~sKNJktZyKf7gXN-xy?r^C4SGXCF##m~zS`Ha&t z7GMC0qZ(jW=`zYOjUG71biC!&)2=3Tk2&B600vZFKa)6~ucM9?4N~Rg%Q$q1k485d z;=Flex_Tg$%4n}dRIF&4rllv~Y7IE7TG+EV3lv2JaM5p&_QaseD^gx<|grwRS z1tW5@wxbH>yT-jquD#h>0r6dNjIo^(rh2+IowX+51dg+3Nd37ZX|IqXtLkz1k(RRa z=j7vtknBa-@UT)lcEm`gs7Fc1+R7E{j|0c=8vg)ymVCQy!`T-t6t%dTCUK3&sM35) znw{<{Pm7j1w9Z`wgXfUT?3wi>vGUM9n`7zg{)^hKm3`VP0@2ZU7e3{ z*tWUD_uF~xBWa~(i0CK4u)LA%Q$BhB04S%LG2J?Tr>wm0OU~#l*t;XGb1Z-khT9XQ znw6#`(?A?`8u%{{CzZ#;AF6NidNAY9IdwKq!ruM3Oxxb`ycR8S)OPDqE-r{TmdP`y z#)HC*s9y`o`;L6NW28Q|95akQv)ev__Quf^hT6nK6B;_V1?AJo#)I|c!QKQk(D7d; zX6D@^8;xG`VAwV-y2Kr>&5*;3TId=hCr{dQ#au@rRU4-CSG}3KSlmN2PKxf-0{f1u z$T5>npbjtN^@j}dQC}YJ$GwvDHd~oDDW!XvZ4S1z^sWHAQyY$YwF)gcOg?Tjh=^2r@tSm}!-+6sQ^aDLSoF+4e`Nw+^&-Zg;nEh$Y;%adoxd ziJf}OTgjw*TKkz^3z@0mk;@n_Xx7pI`Ia}#^=_Xg-n~igiy!(8uIX*RTs`I27BNjc zwpQV;r|;|24XMO6wet(rg~3(I`ZmceZ0!h9dO_PV?dw`Xu*P> z)5Nd6hqdBkU32yS0Eau=;@n+LJIm#9B;+^&$S<4A%bruZdbf@g)-Ul~El^$*u!G&? z6x_CT@v63q4ggf-6^Tk~zGp~HFm6jTE4iyY?SegWxHNJn6YN~4I@P$s+Quy!mHt*x^k^K_spu0`hUIYDw`}ZrhF7FP;nA1M~q?m3^42wT^<$b#Wv^bGa%Ffq zrKEhPg7tNZ^;Z)1G9Fy-uG6Al8e-G!;#cN!!)AWm^mdl0BQUy8T4d|M<&p9#ODtBz zn1>)-(d5?=`4m}ZuMC#RP|F0hE+`+h0bEcj)YS_WLd-bh;mr#L*db+8G4l6RS!D>s`=}4iO?tM9ZpUATfOtvbzQ#LA~ ztVRf;yf~nB$H^dA=Cug6Hm1Bn)JEw^aXXsr)sJq7{c1i+a^MX-SDVVuO|JYgPOoNc zQC(fLszYs~{p9ky5CbtdV_z;S#}H*U{XOaJhUvaO&tlp3=iXgR@pH3nbPS^eZ4bJ= zl7zN4x~Elf$*tfzTa;sOYu;VM=trmT`@gFl#c|$!&cR3QTN7OC3pdfO)1o)BGf_=K zcT6fO8rsownRbj`IDR7k01O+xt1JG`pK05j`=?x6?7hD`^tc?`_ZGNin_piQmbSVr z>|Wg5_G!D%@bTQSH*2*9OU=5~_Y&CKu#HY_{@Zf-r-M-b_UhJ3G*mVWMb_=Ysrh5PyK3jQH+gJlYlLK% zL|gzNwaC*7gPP+pPgXfwi)D1{JDBbpUy;C(&AdmsUOcwSXWF*lNiDAoHsG z{8>~y8TD?HMeRczDy}_6w=u&N=!pF-K3jhghW6qg(2>L9zah;Z`!f7q%z8EHg5uSR z0HB{F4u}eHK&XMy1e9oEfIuJ+d$CG*mDS|6P-j|&U@blvDi{>(Gjr50Yt4~nQvO#$#F9vg}UXC{H+3{&=PPM z-~lU9j#=js3!KzCor}81Yw9l1X@2HKwA{$+IUO}x(bQ=ybE!;SBUsVOtJ}}x@?jdo zo;;B-{bS$V+WyDdBHH_Dk&fe<9Zk7t4i>^ejH40@>GgSLc`sMn{5j^%H~!ew<>uzv z{LO2$U+%krw6l&&yUCnf18VoYoJ)x{s2oXOw4AWxitPEZl=4dlb8eoPc6<-pyM}w+ z_qquM_8UZuhT7kOWV1Q1)ZvHJZ7YUhet*jQt~m7mzcLx~-qhzjT;a+U72E_Z&SxubJ%R!#8k# zALXyzx1Qy_B)k` z*?X1t=hh9*b;n?L&9C?UySTT?+DCj^)Y+2mhK#+x+!pow#?gNe9A9ZWKt9$j#u+oc zf*WZhoZFCFD-9mUf*i{86sqsX!}@Dzk+rS)@>|VgYO#~ zMb*oOZhOft$M%WwU!L7P-$pU?dQQ{z-*Dfyaop1F-94nrW49B_q|2tYI&m(xj%!IYI1Mf@P}TW{_t)<4?f&GCZI1F8Hhb0xuI!xB$&44#mQEWk zA*8gHwbV2`7G_;BjU8yak~?19cJq02d2@XmnK5KgnJq115@9T^4y25GKyzcG3z~DT z3fnUcF6{3aJEq!ODf@+y#d~shA#pC+Y^)&MU#?byM_Jk)K1NZ7v=t2%D>BqYyteP^ zCga_^XYfm1i*4Djh-^Fl{ba&janjOS*qc{I$GU*XS%w@j2i@a%v&}WqJ!eFmspTfS zgKmJ?ZNh@Jno@N+&Nvr2#}eYc&o3_@4m&vhfAbD~T!*~4mpIkO66Nx;&SzHQA{YzD zwQ}9MbY^WO#G;UCC^EJ(R;dmBIEJUVGz`m*k?$)rDu%Lakys;qtQZ3uOUEy=3eMrL zxpj7?Fx|lPlG3Ul8>-@cG?ckN!RjSIxG_8s;+> zI2Yrj5HlEHXjUf|qaIIJ#-7(P<&FieX`uvAf;fP+xGLoK-7N>z4-X|~5zcfwL(ouzwm$(E+$AIc{< zGz}8|$;kT-OU38$TyBo8u`W4n3DtpaW0LvU&g@c8BB=~e5E}MZCpdpd>inpz)l~&m zQ>uw2P>3pkssgA0P%}y(NCXK1RV+HH6;Krj9;5|O2r%3~L@(w>k^JMQ@~q2H%EpM= z)^TVJ_X;ZsJx_sJv;fsbU2s&fQ~=E(Su0F9Em|_LwXH63($L*bcOWrcBlN|Q)#T%Q zuJ5J0BCeUlM0^1l)5(0S=XO@~^oQ3wOK5-nGj4`2ygzW2tQK)m(%f7J4wO6ytErt8 zh;WzDeQ59A<@B$#2V-_iC5Bz)#vbzT%WzsQuOV$8w^_<4SqvXj?3ZQ-+BnVIjvtdB zcXaY~%=c82i;gAPljp^9-0bYwSX}Sc(CwQ=xtnq8+rZd>Zn+(GCq=(GAO`gw#)|QF zC2bkIPrLiK(_ZI?e(in2ZKHqN6mFB5Tb*IfCv3hRM+}ZsTqbSmhqUd>p0?h`6Ia0PJ~TLm z_55u2N8s`D#;-?Oim$DV+lqk|T8S3im#Yc=BtCJxgZx_ba+S;Sy#E0GnSL*9bZ8o{ zI*lk6k77_-N>O5inv)9!?DnXoLV%}&fYO0e!2_p)1y2MX@PDm$ra@AB6f@3tllz5pF{B#r*`99klH!y0A|9&7LO=f}y8u^PNs<(yAf&@MY#>wCD1ZQIyH zRSd5k3={&c!vHbI1?R^+c(K!>tnm!b41TvB7*Max z=a%Qy#wq8?B>1jPwjp448J;oI7kMs_%(IJjmXgu?uqx&s??4(%gYZGlH{9e$FRB~)P!RBi480sHN(oel_emvua`ac-nGTqm5$88pvSmy>XKdJK93ObmM zMSC*U<0e?XP}jlr9BAEtDI^dmKS<+~YE(;8Ss`&{w6Ymm2_mj&qjMvWAFV{xX8YCs zwHochc%|UhO7c8029#UhpRA=vqdRv_={PbmNnCZyBax<`}C{G~m-Jsn7WTJ<{5<%7F#!ES96mwT&F zta*Ib`=p*MJs)(~q~HBS?3;Vd?$#N5qi?qUCARJ`FfvQ~F!L0#$N(R`Yue!d04-cs z-TQZymHw%>&hl`t+QGNW46w1yAhF;%q+~(Ke$HohFM-JwEysp85Nf6~r8&&SF?EX# zMQh9=Hly5&MG426%;RlM)5~|(=RDSS){J=&OCfyBu4XU;ewFgP`O6$CA4kKE^7!?& zjML41WDA6%PN5CPpz!hFzYCr-k0bBSu+28Y*dXf7K875Fn^Js$SltT~==&F>eyCga zzT0cDTx|CDb6Yvhw7#C>?(;a$AtR^O0v6C6A2X`862?(7`)vNM?VDt`J73&kk~>fZ z-rjBGYnWvNR0ZL>TyY|-BrQ#Pu~To2ZTqKrUCSok^K%bwNcnB9n&9TeHIt-#ke7@> zb2XUHgIcqzdipS%-p%bHxm))mEcYGd*0&DWx0r6@d*GZx<7^zr_59sUI*G-+l71-{ zFEHO%ocQM2T`jK9wV1>P8&*ko6tE0i8(14brQbHE8t_@mIPB@M&VKoI+_v)Doz~*_ zZq?Jdy|`eAy{&P384CyiJl7NUN0?r}8^-r?sbeVHtDk$gMQs?duw!9{F{P|#0ia_~ z6U^~nSIP1*!yTAKIMwxWT{$_L(<-l>l-xBM7gU`1@mYYiHO8visg%?S6>UMLMDqzS zKBL*)f!f{VE4JQF+om)ZS-JFmc<`yG`j?+9vWA~PvGi)f7|e2QaNe{Ub!CXk@9DJA z70Z5Jt!UOgxespc&_@lMBHOjJUA2uBV=5|iQN)^X3x-)|eO}-Ux!MAPA zn{wao$z`U|WfSghUiOOVY*B*e5;Cr8BkEfRqTaE04YV(??KVYgZVy`C^KpvO`Gw!{ ztm7}35P7v-%d%aq)6w5owul{jaj@<1hDO#&b9K1Mw6ry&jJL7I!hNdmU5_1kWiM_< zFFVU)zuES=iEXC(#{KVZmf)NOTaBT6UeS$44dztbn_pk;FHvBz*crEX0X@sG+yVDC z5gB_SKP#OR+UG|kLm%EX=SjfkxCL;^Ck4_n8o8`+G%>u4 z1Hm-rRx-uYk2=x$W$i3>mkll%gP1-mjKk8&YjY)}&6*=eH!;j|D|qEnWf3s;mea>` z6DN%PuNiVYLi%{jQ^i#+sLu?_=@OFLh~eV9V2zfQ?Z#4+;K#AdaH||BM;voqa)_LD zF?s1)VU^InnwWI{P<)7Ap4&J~;@WWbDlo-CB;%98AJJ+IwW^>|1yxWKXp>yxQh}cUh1cpCtx0qbd8327_BrrLyt`t1i zY&CMvN9Z5LM#t&zs2!mPt=)+GUB31UmTlYa+Z064Qk+!*P%08IP)!gNC=EE|fY1;cP!viF zN>O7@98{&Zy3%;AuQ_R^H9=G(nejmCDM}!82puy(^qlZPosFg_HW=ImbMZm57{i57 zY{ocI2FnEwN~E?J-DR!BgP7w*(~k+yIL1H9X^EPNez^3vw)S~@a>sSsoY}2ph!!{y zNO<{N*Hi5STKKQib4>8z7)M9Sj3#oou(+|3=3#3KOP=ByKq9)a!^j1UbEvs)alVg* z`jOuIw{-4TzK{AwSvAad^3C2I$Q`EI8%P>mGXuxfiLD1&`*~!(Pm$!z%{|;)F%fTu z_rGcG`*zIU+3b5M?kyklZ#$+8xWABN^DzAFh-TIwZY$<;#q@f3^Ywgo@3s4m$dPxp zTt!UvM&;+(FGlEdUvE5SkBRLgn@Ce^tYrueb4@{^86`@x{px2pJ=Al+rlJ8S#Pd}d ze*EV+Oz6S62BvzDN#;Po24Q~;juTHC#mhdgMcNogh~ZBKQlDV_JbIJa9-jBSz0cjT zTnJ;eb+x=!u!%#Ra71#s%w+(iMc!*Xk-919;Ll{t&!g_U$KpTJjqk9x&5vTagJ!TRf&=Mf6xu=zq1=PyJWnd zwRa-}RhkQ7t%$Id*9i3Mx=7@Tu z$C+|(-*dgmZ*OH2t}ZIz)R3%!qbwcZ(VV;FAbZaQ;B_Ls1O zz|)mi=e(a2Da%K{9O9dj+4p>(H1?KoH~uRvTGBnGaQZ%O{{ZN_;V@Wl?l^Y~EeOr6 zmN<`)04})rQ{O0Jc_Ee|shT z=NA}TT@@tfo4vGNY@UdUZtb?MdxKmn9!@mO^72ucm#MdikVqdZK*!7TBQLJ{Kj@D8 z>RdNF{^NY!*YwYB4u0p|S4FY)1ZU@Esgn#btcL-XYD~2d_q(U!Q_(+0tu8xL(5~3G z-fmh0F8hyl)%ROZ4RZe9to*n93Sx0=)LDLko!-F&bLq?JggYL6uM_$#GSn zfuJ$X0ze=T2nwJofIw9eKm|kxBvIz7f=);sDt;c+k{F{p-z=O7(BBrawf7QMNo86B z02B_mqEWQssVf!Wh_;`b!E}zQxpBJV2*cx4vs-{BmkWv zO*%yZ@GD%I9C*BAfoUPahmp;Br$?eEN9dEej`Z|DY~Cf19rv~0{5EH3>fFqB_x<9{ zf!VZ472ND`{TLcJF7rR7=9v9YlK109#Fjg=1tYqKfKq~uI)wnjpEtp0IMuuyKHYwu z)*9qPhrOkA@#poNogVTN@_Sd^#$HI4R-9JhS(E3bVM@w?(F7Cx!yiAsjij9 zt{D)&J>*PIc~8ab$D>GsxXe<(AwWVVM!r2(WI0+bahlmwye z!)O-V4uoKV;xiu<6@mhSs2-4kwYcPiVT?E+*Vb?C%n1m`(|GA(ysj7`y0ApwPd918-&e=akO!yU%fg6qPR89BvkPk@L#j? ze0b&S+8#K|N2l-aSi7^iyRH72dQc*l_`IiPw7*~`Y2|VK^ug!qM9>JRZE0Tx`JX2^ zj3Rrz9DI7d^Xb>&`aerHi%7P+o0z+r+OM}8%Mod~$}3Vj+f%Hm?P*wurlw`(_a99=PWIwB z<=8Lwi#Wv{{6BGuG{+m6y4&^%<0 zt7dFPf{@vsH%3ODAY`FWM;Ma1BBXDEd zoY!K(4(A&Q9s%x&Pt);V)$n;K{{RUc-80Fr7G!iT5#rvYwz`)9bg{W08RaBD^DoycwXA59b6 zPjUAD07E+ydhMIt)(!7yymxDER#T0}_I8^{SjNXzwZ+5{sE$jn7*x6EoxPWMw0DoA zyBB%F((TW+7$ zh?hR&bdo|tO7e2~K91P%)1M^IeQHe?&Ci-;=#2_1neE@zf=9(E6xSPz9Yf+MSDtw$ zd!)=sKH_Ns>d5ER*XD66JEmsYh+@<@3Ms!YQU!FA1>(;uZW`n`)PlIQmWLN-L&PN`Ef%RoDVk7ut0I~yl7YzL zXwkqebqfPY-L{RV_|>G(tyycen%psfadR9q!kxwPjd><(Yv1?} z#|DFjkbUdX8pDU}m*Z{YZJTJ^?zY**CAN{#n(_w^g5ghGO|;nOG3|RWa5V&T3670r ztJ>MzHsannhuR+%^l+Ptc=C#GvDFK_Im;_vMr))?Hq6-pU1KJSR*9l~ZWufkpU9d1 zsF?LwmkqUPEqB*xEq9o}ubCZYJr+=E+lujXDg6`ts-q=nw4$h#FeMZe3aAR8DuAj2 zs0!5rK+p&T0s^!^RRLO{nV+I3KiJx4YlaF;fsN_0tgUE1W6j)8wIEhXp@NE4K*lI2 zU{NKKs-ojvG3wPk#^E`B;dda!3P{FLw!^UoG6yO!9d>#E*jIl)V_e7humL{{V_@ zvAxZb=HFCW4ICdCsV%1(a$4h>bL7VLW$p`2miuux8>RcU>yrR+wh);fWvxVS#l16$ z1dwS=lRRSWahay{H#YX0V{R?n4YOG2;d2}fL{xM9L9Hq6T_SXHn45h1=Hd4@5?n}X z`5at*tIyV6n2LnR=RS{ltBB0_E7XVCeFeO@y0z~P*p5vNxv-COh@42C(nD?X_?BKj z+_jIRo_cEWTl`VCw&JyE)cv~ZYiB!&5WUO?+6Y?7G3xVMDW>Oae_ScU`=P#1+b?|+ zuq*E4FAOr&{bFbaB;|tX6A-MH@);tyzWTP7taHPU`^Pj@zs=MKn(^{^6IBhyHu>wC z=T-EkvRzJ9#eB)Rmvqw#5VtdF14b30@KK?pjKT$`xZ;4ILxjErhYL9)gW z1_(A7!Z;w;j+R z_1ZY|sXbqzDBSuc(fGXdyKx`&&4%j9#8eAcM{+CX^9s#m*6e*AuWt3%&`ssK*<#J11>hL^HrpjESSYSaX5af-y2$eiN7dKnEImUwf#4} zcB_rwW}NUB5?a09-DIimMHku6l12haTqiqS zN`(7WyJn^q*qrQvJeKjoXR_o{ z&}iS;3&Y7bFIF*7-rArKmsu15>0qsMH20&Nz0S?I-tSkNe#x-LE;miuW?9%X9VPO+ zO-TZwqcRiPq@ zE|B?GXKe7^{p$42W0K59Vz-Tj@<{hMG>~!)Z`(MWMFAD2vBunUnTOc7Kg0K4>u2tm zp62$|&~NdZMh8sj=hV;)Z5Z_ACm+$F#)l1iX&jn7uc|(f?VD(qcI{y6SlU68ZIRmJ zrbW@b;@p1AtNUCQGQq4lZ>!~fufE;(#`4?PXO`Dga@yVWuydf9rH^BpaBw3woEI4C z@046Wr2c>o+l%ng+ntZx#*N*~kjo2N$shhU@>!!Hu0LupF&NOVMBwwzZ^IvnKTS68 zN-q|;dQCyc18N}k!(zr}hzB6$2UxqJLEjwd=y7cS2?q1(c`^d7^ z@!|R%VSiun*U-N>-y8JR;~|bb4P(*&MA3whjKSBR7;aEb#h%Tnp0gvTBJ#Rzj*sRRRT64+H`Qk^utnKzSfBK*8pK zs6ZepfCvhp0YQ!b06fvK8tMJxhls(y6_JqRmIIQo0m)Dx0s^Qh21eAY46-nRsPY8+ zmf@&)*UQv&@8Kkc)$=6&Rr4=d{9dQO?B_DqXWw^H372o#?q!RWZsdx@{3j~#74=bodErxHzEL%y*U$2F{yC8@W)@;XZ`T3b6vXuu6)5sAvVEXPKvvma{rG}P#9 zxAKB3SnXzTr#gm}ifY>u_QvyRWcl|EuKLZ9w39UU(nk<*I0EN^m|Lc8>wN~4N9sk4 z4{;IP+ug$8IMx?9SNY8f;nj{#jb87v78Cat+mo&C!>LdBjE&@g#|=ThF(Z%!Hj9Ko8a!dQg7zK&KVpzrlm4Ac?Z>b74b`!n=#*AFySMB z^GlO#OZrpkEUb5?J)s~C(EY9l7{~-vgUwE-N48|JlY}tp{{WR8aPiWVw$1WArLK*% zJOe|2vqYt~soFM)PN}S;k=%7UPss3;TXNRk&d2`%qP33P^N(G9nw(N%)+FbB<;E`E zcNnSmV7cjvczlItWG3gte-S>icXy*U{jqi1m$TeQyWHH{-+vL4?|4MW-5FplZklR! zdHWI~5%Ok!H9bcZ4{q50Zgr3+->GYCCChRT#_|Up8q3xR%oc{p6d8hSK(wcXFj2+(L zw1Z}{iJV$o=hxa=63wp_-oJ>w$Gp2|a_xzByK8uNNW>D$8=Y2-ZGA;RrY&7~@{Q2W zQ1G_9RmS&A$jBy20vnAqfZS>1zg348ImOJxL(7*Wk)JPmNDha;O0%- zYy^ud7~%u!J?C4!qb23f?l;muD0Pkr?<`}wcSawTw&VW*1b%hKKI6?DE96g!g!R9h zC;7j36w}c5LO(j6U&-+KFVf-h`H=4};9;vKV|)Z)EPa13!{mK0AIIjC-hInbTYTn| z`Yi!seBMcJJbpilPkMJ*%XOT27XD?4^7%bar{ieecLw=-$47U4EX;5r&3Ob6eTx(2 za!ggV99ZMg$ZK#Xjvoc%n2Wb)(S_~Chs|O}6Z9yni~Dy`sC|UKK>ViK>-zfK1zQwuK z%3po-VmEfq+1y^IHZc3$mM`GFtimvM>3B50VAJ)wO(#;sx-| z2K1aT#0JyYwZ)aqCoFA?eu(Y9_PesXzwJBwsVB6snUY&iFdbTzHVC4tL8xSL z>cruXg8CCr1>Cqki&<~S^87YgROK<~S} z91HZ<_L_e(^5Hh!Gp>-t1X4g$DhdPz2Q>kn2oV%i6i^9ZR0;znKuuHv1Qh}XGf-lL zhw7XDA^A@xw*f_gmb})WFsKSxNnrM+iU*ntX`;50a!Mk$np)u2IQ$l-Ya3j8yjxxJ zP>d^I$i8HCdnO-6*d%NnjopR9lFheU!(Y^O{k!n?ur17J>wmlzGo3#6@YTJK_&%14+$)S~s*L|_M zyCLLL{4^I1n~oz#%f)u9aMg#ow&(4eE&Ou#J&xlg)CMUm;C;oz+S5a?UXvXMADXK< zQsZ{=zKL7DPgXmA+A6um=0;#KAhE+0&knAfpS9KXe%RQ0gWnb}Z8~>M1Xm&dw&!f;8WOQ|T)boJwU9-;IA{yI$tlN(76fJEnqLQ)` z^=jX&N$^~v8|d{L{GEG<;$f^XGfO|8nfL{_Cm_N(AVv|D0tqnqAYA~9X*TuXg{9W? zrUeU0f`|DKNr0dABHB&8a3c?LC8WSAg{0f^#;CTQfT6=QEhgMyfv+@Iuo3fGWnw?o zL1CTsHZBpkHzH|*0ICEGOc&S3lP$GwGm3tGB%d;~IpylH zhrkBl6ss zC*>hng4udf9t&G#5@R6KB{s-TX=W!C0w++x6~gWrXxMGX8ol2@US4VJ@5c^AV0^p@ z;<#g@wobLXn-iUI=HU|@;D1TLQlApFK8{b(8}DlGcHW=%cc=S(xDDw402bfhJG4e_ zw;XVA`GE|;(Re(MA~^DlW%N8=3FL{&9823fPQu-8iEw6y-ItsUHZ}ptfVtC;gDJmoJ}nQAm7raJnC1re@y84 z-?|@Yx$aAIZMSzNybO`I0ywU2K%?V=;D(wWEo{0)4+^hk=<&>JOx~dPM{w?)qZe=N zJ8buN(^4C&`)3kkw+;cU4R6d$pH;-+MbA5@PB@Er-ofp=-q5{tK)bi+u zxOTT)SvdayyS>~00D9LjaC4hh)GgsIdBcMEMTYaeZ2~6S+X;=-R_w|PUBQgIh9Ua` zM=<#qpd92K-Wjwu6*_{?*NGYpxpZ9hb{-$L?U*>#E0vbs5u32G>k9Rh(<#RFEtqF5+W z!HNQkZ2<*I#1uS}peT7Q>Ixo8STvO^6iP$VRaPnW2*Vm^`94s1ispTRW>yp$8UsK9 zqX0Yx04Yd$4A!6lKp%=A@jz7oGeMAKw5)rP>FswF`%NR>rzHM~Tw_>x_L>3bRr8{C zdnN7mi8c10aYLE@8x({2xAx=xrPnFZ#yYy5obUTJj9ZL1_I4~}qB$9Hb~=xZ(TaSI zeQ8tkd8>w0#(2!VZspyZ3AoxXt*$J->0@!G=-WWo#2Y8o5=9UN;L?ijiBE1}#_u0c zFZ-*!px&-$m|E@eTtQ|eBc*R?M;1dIW94LRbG}x$AVA=x#H>T-v2NRy{^Pfsi^sk_ zy!9=FjwO(We)YkF?23*H9o=I{X1VU!Un`6-G_<(8Q^~0{%+mzRKSN_Ydxhk-#^QUp zpo(ir=8iT;)Ftseutx4$h|iLfBx4VteivD3d+T1+aeo%Lnbf!}W&y4*U?dJhQBpdt zaiV__m)5slvHFE^U~6MG=2;u5n2H$Nf%8^nF^9?aV0yAUlW3T(ZuW|3F2SO%aq#A} zs&@(Gu?(KA7BIWEmNBbfcPZ{F!(D_yd7!q&E6j31os7o-gF9JFvQ>#@V@OnI zXz^ADbF}wX>>bCpZx3#`?Pp`W_=mIFX6-9Z<*{^gPq(7|B{m_670z;v<(S zzVCi9GlQ`e<)r@rG*dOy#DZz`(PMNuZIN*C9B!1KkYiDjSyIilTkP`3)$R@S?8W~8 zG%&?w_tzHYHPTr0pMDD)n%eEhwD#S=AH(~e)>rU1(LT(4A0oS=Q*6IjZiZ`r!`EiA z+DNZH=LAlD#hZ+fxv<9fYHQ0!%Z6kvLm4?%J=1k9*57qxOJ=v0+05!x23!~eBn_@i zBw^sIoxLw_?z^XJ+p_z4yLG_aqmnC82IOTh%oyz&;Qs)$NE8&IMy=A=dy9J7V|=~O zylxR%U0WNSwanaw!yI6vp4WWX5=8?@AEJf1y}jzMdDnZmj{Wy+wX~L4t@g7>ka$OxuRm5a|fP+FIvR+5*%{OiML%{ePGChzH`dgd}00 zYk@q0uh59FMJa_(9|a^sfcAJR3dTh^V1cv>E7)XdqucvK=~s?wS(l_EmxB7SH4N%h zSFdEb6vx3p=(SP>D2TM0W};jJPHQq+X;XsFRT?TPR<=r5G2xPwSP;Jw8a#NUV=}2R zbEm;48tNqU+ndG!_rxC^YxPy^1-RHPFcVY}Ow(|M`I~prkdVtCQ z0H>&{)?yfbhweT7*8TTyF4O)p*7?#{&tyy9A%@-UYaG+4wWPFa`9P&H3*dQ}$23m5 z!}MM>&lF>i#o|3pmNsp-_i`OB2SvR@dJw2As2){q`zoMISU2o4lFYBOEgn6 z^cO#Pd@c{@-Zi&Sy9!a!%pTGWav@?fms!Fk*Y3U9o7Zn`*H(WmyfQjFm`SN*nm}Ok zpfp?L%Hf`^!Defy{o#D z`?&Aoj$zI@en$h~K~o(iGL0WZ^~bZ?YFgyGx8sz9rmk zAH^kjz(@nWk@*)ncEzP)NV3}T*rYozHorln|BpGoi7CcIz@mUMS5Ret8iU2$P zNHU5Le3s%Bt-ZVcmmoRnXdXnaT%WdGFpXYJ8hh7*9;dJE!fx#E>_ zJ0jp^hBt~1tqmIIR=RToK1&fAHI`bu8`$PJwZe{RAde8Z%v8HKgPhI2MmS=0hMqvU zxcln5bcQ2YeQWT<>Fs?(lX7EgZv~XG%Kre->N%yq*ec-{EOJdl#rNI(yN>t0?lL&m z^7i6Nj0344ZeBraI!qj{-?cA>NhzDC50cI+oV{FoL$9QLqdrg?824lVrXZdRZf>Mj zR`yJ6HmwD$r_Ica0sjC`HK+*0O=>YYs);a+xuA}SK#V>}Aj9B-dNnj51e<5MkrN1oTIO2r$zW2*df%PekH=2t5X#K?Ml;gcc(}#ABKw!vYIzVFifMEW}{u zscem47*z{rYXuP*8ql=^GeE+tP&Q$R%OfLY9OoKQb>qTw$}x`YIVU8_Cusnj&Xn4>C`z~J-9v(bqI_VFU!Oc16QurTm&~De?^Bet@_+K(M^5-8H z=yB}iFBQ5sY)q3+9BzAzE&1NUaZwdbkW`vabFGHAVX zzpZpf!6zaxY{%Z+qqs1`x%T_E=Dv*+?J}|!v-Oa~&9s<2K6nM19X7u93qt-Xrmp_aoANOB-}eW~pxN*lUb>p7(nL7(w@~dr=*8 z!~X#F49_RReonogYsq^XWwL{Dyd+mlRx;^u%jJGQLd?$$e(Cv4C+nSJ9f*BB->3Ot z?OoD2u*UOLOsV2T(L^cy<-;!{$H%7c$59OKHt%KSGI+u zGyA$97gc&Z80$WdADy0+>iAJ>g$sciu>|4mUq)Xg^sd3}9qW6F*2>?bV{3VJ9QT`* z%z_5TZx$^wYN^ua5vNOh$OU%7CCfQ_UsWx)25mckX+RsjTG&l5-0yAMBy5UXmxsxt zs@4|=Qkt}Yx0Er1<8ugO42(zqA%uyV?5f--D0rNBE;RI8soKWU>h=3h;>SM1@`cf{ z+8iW~rKP5Zgj9?{R~=@V%4zQGyECxZ=Q{e^ak*tMWOtEUmiQMNc`NQ)o;YKCw(k3X zvfv{aFIzJzkE_ z(O-!OKJVOnPVx;U+%GP}otMblOEXU@l2=^&JlMxq=f2_~+{EhCmKvXJe=5dK_&N4Y zr17?yxMRg!I<9>ltaD!I=<-WDaLH-~D*}O9MOO^enW!Z$(&o9Y#iUTv$Ir=Yv^6ns z{T=Anar#l-dow#H)W~45+-;g-vfoRL5|`9`nt*eDuiBF@ZXail$>iG^;W4I_KkWG& zzCKfx+}FW=rus$M-KyJr{foG)_iHP;Ol*QFqI}V`G@729-BIH}zOReqW6l2n*^a-4 zpPS9emo6V4o944@J2Z72R#f0B=Fl&pJbYKK-^t26zayo7Qq_{rVuV&nnNdMab;Bb{ zDL%$O$NvE3+a6wgyM9vEl78NZ)Joo18sHZ^x%_yK@&5q%cZ@lw`j(sbO_hh`8i*#C zA7bH`nd8T&tXaRIepiU zwm+1Ay2lsBerylkB|lOok21XZecM0ri1~lZtZ{sQHWzMpZpbuyKb3js?!5E-eqZwG z(?%0}cGm63dyWclW6Ab~u0E{i(d)a*xOYC^`=hpNxoj`pBc3iG zbD@?Zzy_ukk))DNBNf{`ocQBga<+ZZ`}8_)CI0}b!y%FL$V;{BKQo+Y=N&+uM-yIa z7|of(gWOgP7figi`Qy1X`Eu7*yzO6qKE5wf4pmEPs7G>1M-W$``YQt|V+nH=p$6HX=684OC!TDoDQ z)^^_B=2~0C8CQ|5?avd6)-cX*TNSy66BBUMYVtnOJkJ%T>f`fbzSZz2elAy$8dIuC17}{|`S_dQ)8V3Xx8hB*23kwvgqa#385wmLT zGcZ(uPLf9ua|_qv@fN^e-L1sLVnB(fk#=jQGRsM2qZy$6 zgXo{)E3i9Luy(H7?n{e{J;!bjiP~V2c-+lem_d!FK1;SUqtBKazO`ZamGpM>(VfN_ zhErSIMga44VRW`OJsqE|o|N8(^n15!0RI5RxsD_KauUt7@7eeFV&4!fyOV3UF33Z9 zZt_p_UR6qW?Qd*vC~c;WW}E?y;ltpAa5Pe&5x}7Q_4vp!ztT8EjxF8o3wesiEq)6* zbZZ&a_!-2JN?=Vx_>q%*sYS)!7^MQgE-m1A@={^4iNUAlZlQsvfKeWkweFbrNwQua z@OR(cf`7Z6qX&3bEEil{vxdKL$GAgy^KkmR2I^?jgFtAg9!lhx(}ZT1^xf|(l;rJ2 z)sys{?<+fsg~ueFMttu2!;gxwJqd@?BmV7&^;`5W(L`wv1kS6b3eZZ_27X~dl0-*j z==YwN9^Q8G_YUK1l3Cq8CW~mK7X4F=8tFhU4XFTzjy12!xbpIHPM9-PSPu{qdHz7r3~QLgM%1O1_J%c=@E}`5$%nZs*;X&bq#AaX=nl z1+**-jhcXIpd9qq;J%L^4%oSKnYW%i@(ZP+OpF=1O~VtVj+m8Sp|b>2g_ZvC2F7AKq`R+|yR*o$hGE#f#M#!^geS+qa(F z-7jGNCvz~}Cc27StH|EhK`pGW(E5Qu#|n`_gSBH#BD%J1_ODzAZTF7TW4ZRfbVIyu z*6|A?wp&?6WGx|Vb!%Aop5XU@Cw?WX-+yk@nYa?V<7X-+gam(!6n{ z3%ahA)F+S1tmw=}uZuzcBe)>aLxi_%4K2vlL6Y-NSF5x2SK`lZ8+&^smf-8%$|4UF z6D^}ZLhs2ML(hkI<-Xu{soBDT*mA@!a_NIY!yCANXe)Q2Yr!29L_%|6Ho869hm6_$vd)sl2IR5~#1`sp+t2Z;$v+3cNwP$P^`lvU_ zHbHp}E%vLoB>hLHmP&(2s!(*ppEW81AaKbj2TvRnsv6QyY{ya4v8R!63llKY3-7F% z{`5P=pu6Z;-;8u>n4Ntd8d&$A*mHj(#PY&zLB9hIfNAFUG<_v!-db(iSjm5He{nt4 zt&O#e0^&__j-G8?wj`N4^}+Q)IZ zzTv^mv$VD&BX18({{U#Eu7r0j$;|1Q$!=7me=>%QMoFJa$l!R8Y4jyZ0wj0J=efhh z#HAve6$NuXgtGcW%ZPYHO`# zduZBEFn}z6XO{?W|V~L|YPL_qn?cS;%p!>0n?2k;WJ6Vnm zytxfGO%4DaolAl9kiXm)YSHG2xqRnr?AUj$vfB3MN5wPdFLQ~gHvF2=#GX8Yv5mF5 zp4J;kt)mgc7;69n#}5_LYnKVhZIzFkWWa}0_mOzAje)6K^-%|AVw~2LDCJ!Bw=7z4JwNbJW#cUiiBHG zXbPmtgGT|1g4)U|QiFIR(x?(43;{)eg#i!g2aN6!4t6N<(RCgMUWc@4l9#zjCzOS9(&GLU|!#k4= z()54cH~TC3*PCAUUyJm-U$wH}xX6ySS2QqkbZ-4kr*4wWkD@@cM`B zgUbN2(;J92prR^UP)83Hm>J`FW5eoOBM5UGGXxT9JeJ{!eFpB@9^%=pwns3c2C={rn8ap$oO1XUjxLknsIB!1bD6)L%uT7T-sAUyL`f^ z`ix)QNBa%>0{t#MA@lO;wMa<@sS7FuG*GK_c4dY+XLgtv`5rJKjV`5f$!a1evk@_E z!?N!*)Au>>;6eQBta#j?##7zL)H7(@$$Q< zzgVy`I(a+hT(jb+(^jHpdc`o=J+a+H?ZJ>yH*$WBZkc?1#-E zw${siZt1o|SBBT+)Opi7E_{jBw`1&6m-e@ZSBK;6UoGr!ZO$#bj-1w^jGs&FJBL5J zrL-oF-FBz~kc)ac_x9|7&jlbM(o@Tt= zX8r7vblBh{bc5!jtLz{cwSaPY(a?WBeZ@Bl1KwGi|>KHJ-KZP8D-PUhS@Z{6jT z5^49iAtueBaMbE8R*d&(_9ox_TfKG-zJ&Gf?b_hcQ$Zjk0qj}Ft659+7vmp$wA^m{ zF3QXkD<|Cd2e4ptUKmR$;YO~qT@ru;HFl+f1w2)yP{4SlN=lkeRmXz0D8knhc{_hak&))@OB2^t zshH-sx)`F=2ihJ)g_z1AcA?ic?7{N2r^VlyUGQyVJB5%KObO&FRQF;RYaj7jO6g}& z$H9eWdDmkb_lB_0TfDdQupdgtzSh<+<1@Ve=GZv-*XUXI&5TdouPdd+kRR3`oo0F0 zYXkR7%F)w}B}w;)u@H;mn}D2AC-$D_el#R2f*zNTpF(+YrDC1Yx1RvrW8Q^`D_* zCtO?w$<>#D{~g* z6HXnq&)tJuAN)4=ZH?iQF|IRDaOaW(sgV`aUP}?9rCX74aV5j`$%&w7@(VLJEksj3 z-up=At@9r1ca}BojM2?*wwICPpg0c{ft{9JTU(96`k7%7ba6b;7fR~rV{4hFF7R3^ zpJMbE(%Y@-_CE03+SoR`VCpEhf0?Ed|HKuDx92qtwG|9jp=C#wi?45wLgx`Ey-yhB8rSf=m#e zpMrv29(*xD1(e`{76cQZAd?!*i7}jjP)U!NK?X30lOKXL2{GV=pvPSPD7IZQjRF>f zA0L8(3{)8+q{oLO8^NS1!rBc`FyDF#^9sT!SC^8}OpR&cqi~=-%7)N+B3i>qHKh?2 z8h@2hKp>zgjTMTrw0jNXV25Gt&6{+#zZcfK#5(WY9C~B4x(+n9d#X;YG&s;63-rHe z<;FQCJzpox!g8pGiQlIW+8+?Wwq_DDr2~Oqd&$!e?&ITQvzPlmHNWlhKXkb+Yn#@4 zT@#HyuAIwrqW*j4;r{@;FU9&iGm2{-*t`3quGw*J_B4QF4tG-@4HWpVAGIy-hdTAH z`@vvo4U7oJ2PTSSRwoH+C99#_l-jm5o*_1^t)O5D6ygb@)IwV`V#G1Dk%xtG2jN9& zEpE1!Hjblf1!x^mTs?rPMWOIYY4SPIpQ|8g$R!0FLC-C8fue-#IaF}=qD+ZnbT2Wy zQOqT^X{$*Y!MNb=XsM?XfIcXx%A9$Hm{rtp#=H(|OuesRZfqA4?9;zYH=?lu za2E{*n9!U>MjTg6a&pQX?(W+iX?R^qG}IH8O63WRys=(sdJVr_zF`sd7{9rX_8asC z`fNHw=jGLE%n(&7DH_)VjVDx|k5=B|+wHcv>~@w-w!cj-T+^x2KMJ_KX(VzB>hO6S zSoM#|<=K?WjV0i7iFC3&^L1fA%)iwlZbI14gmcHbDtyQEotcqGushf zoR#r&Px~vB^T)*1BI1YTWk>5{^igIxr?TpDT$vgg);2nEWl8rEQ!Z)gF(27sES2rm zKn}K+65t&`cz|*|is2Uu#A6l2aO3oQ7H8BdM%=&!OMxzYU~p1$fr-*H&2q7f$lf_s zNsxS`1Hh>;IorVu+inl))8B&Q&HG#9>hSC3!`j)kcx23b>r9O~92Vh>pF-^WxVFCW z?Onmfv6qW-4nN+9#Y63QTaK{fF%uHnyzE_~*L7{S;Wflj$#Ef?CKiC^3e!u7bqO>X zFAQ={udO^7)JsEt?Q1I?s_I)f%VmHU2eguOj1Rpq+zWM51 z-}yhXdxA-yWqAOO=(v`;NZA}LeL&Oz`HN^4>50kZcU_mbx4r0g*2isgb88!=j>6IJ zWRo)537r^q%b7+uNe5HS8C*pI#H>qN^KF95YM*Pjnmd`}B+Wc^(CORtn!|xDXc!Zo zd{(PQZ&!{hjP-VOPwqD22>GS}H2EDz;1@~g=N(?x(3ox?>aT8H!ocyjTnp)e{{V#m zE^^KtS3Zw(_=Dd@_22dpM^^s;2HNAaoxG%D-}H(u(+&{$UHi3M9y9~viszHQ4V|M; z-k9fU4QMqd3Xm$g@pWUDqtP;0OTJkcPax*;_Lb|5q2{S=G7G6#=^?hbmNw$|M{hIQ z2aB50755=(RcmQ|d=K2MpDvt8tZ^JXC3{N8y4Kb@OxX-qCMzemKfTHr5B^w@Pjz;o z_cpMSX1=wj>03SbC;BC^{VIFXvxt{**_jD*FXontyZWl7RmVpsGBQ68o zRW3?mH+KXEk_)+(w4ZquRa4cPn7zZunkh{&xvzF6r_Egj21rH;P?mi;F~Ley^rTfR zx)NrIU_l`?qRDKZbCQ*!(YVE&pQ482`<%4PiW`UArN`wX#SO~)guDhQZZTmtA1U?% zg|ahjxpBfL6Xa1QTQO{VjJU^c_YZf{iEa41XLWTyai{i+N98D6axT-{Ts~()!{a3n z&{B(XcZglGO31DNlc?QM$r-CKCZfE;#J3S{Sl(DM5TAO+=C&m7a%RYyJn>g@>}pE9o?pWv|n{DER~0;41m$W?Z|`Ry2QBU4?%OZj`NT2 zmUv9?KKl2O)sp67tr z*zG!~8CMW!0UXrW*ST*xAlu@&p58mQ&uk-cWRe3MZjeSu`9ZBg!MNv66$!SL_RmfI z65jjb`)%BNzQ%2@w+$oN`*zi(yN&e?T+4W+)MI0gGThIAA2-abGnQ|pdgI^QFJpGo z{XXr7TgkcHGB`JPZSMa71#fQ-5pC9vtz8s(%PWqlUs6e1n5P(vd_%CdqpofCOE1-RJl_NcCR zX5DEK%|~c!Ky^fq!{uvPsBm+0Sd8+*ZyDP}VHr#3N7N41+*}R4i>z=N3+nOx=RTSKukZf=4CUj+-D=%$e|mj>I(^038(r4ra`$zgWi8c( z+-|LE=gMV>XZCPg&&lBAo!RO0BabR{EnVo8;KpL#Y;MLPD=V9O_(zMXBM021eLi2e zFUncloH0$swt~%kI%BC)~KtgUQ+&j(Biy{Vne8 zzfii_FQW}6ulu}?ZXc}HkhtaIXB}a<=6Tun3!8W7m8Fizwcvy9D~4P%9bvC^s_mxX zptu8v5P#IUP7TK_7v1mLI$`nwL-L0o&ZfqWUMdrhhO}&2*j?U-ItBw1KD>`}BWU)#jbF`Ou;I%- zj&qzxM(ehQM$k^@XQ<}QQ&f9;M0=N6@wWcyW8RozJ9{gQ^|>7X0DJ!cVLhBbm*m#$ zy$o2|*Y}sqr|L1z{?KaNc=&%W$h`d-+hwr<``yNHf9~yC@1|gr!;kX(mv&x>b+*FX zTYYyS<@Z?G@#~e&cyRt-l5fk=&%A6poA&`AU>`A-l_$eZR~+!K**4ZQGt{i4bQe)g zaUWU+I2mCCFu9{J4wq8A=%*Ct9bv6gde&TA%_XZ0HqU#X3@`qvpi`Fe z(KTxeLJdhZT)n9+Uw0qKp4&+??UVeGe z(~qmgabGST#z@_z%_k5F+%qus47in>Rkh>?_qG=TVVN})dvX41>Dk6%_KxP4Y260b zc=K-P=7HA%jC0v@B$pr_p(UCNSm8=F)n7N3DrTQ&$C%3q-Py;vwtO(pWi)Q;7)#j^ z#m;M)Q9(>${L#Hp^A8`N< zh_hVaxBvra1BRjtt6ES6)y?N`Ea`X~7^5b2Tj9^#xJ+v86QZ|L)=3?^a*d+C)Xzl0 z_7B6J(#CEZ&vV^1%(k<)`>SSX)IggVNCWg)Lbt~Za^&$H<-Oc*ebv40a>&VDH130{ z&#NSM^og%;?FQ9pDdJ{%e2#Y-=j6D{zA;ej_SNOa-*Yw9yINhNKr%71v=VtZ5Vwr6 zo6|G8`-4O6#mp^%k)=D7Haj?m#J0w#YW}MNiO_TQfH2 z5CCm_f>SFyZj(bXX_aU{o8--QA>r{D1QC6w0`Ot9pK;xmim>`EnEi)u7NLc~kS(Whsr*1PYQBD&Uzl-JxBDbTH2M z6-^%tIv3-hWbDzC!tm-t=WL#KED$dF$=Tj@Ao7~e=`gU2tL%6wbLz{OGq~DE6-c%| zo$;W=C4?3WX*;wsI4}{4y%s86_QiSied+tcghW_TTz*@G;VVCdE6(%IE)3&qcO4(ndI*AxdxPQVO8 z`~*PxbiV_>$6MBe!b+gG4^qU z=Qz6XnokMFAT6Ild7QPWQms(F(B2<7=?W8`%{;yt7gwMtg$bxe_x2B)d$SpR(mXDS zL9~$vTCe01gD}l&nKY<25b&h1>jTQ0?G(;7y%V72{Ygo=vrjE>JDo;v2oa<{54p_*+hUd*qa z`up$e)lsV!ocLu}!!cX&^pB)#!)+$V$%zLt3)$CwGx2k;=J$xj! zYktAxvgeiIvcSf+)RUXiEBC_orh`UiS60Vb{+VyR=6uq*$gETG{;#)s%9djIxBi{e z;195fpp&~k#tDtp5|3JGt z+luQEL(0cFj_ca2!ez;Ig`gmr3+4sQ_xnFK%xV6Uw~TI! z5Lu$*w6aET1qYvU-E6zoT8Hpc7vu-?vI|5;4t$|sQ(m8pcyIgQ0+3JP?2u;R%ym6i z2)Ng?)9L~Lf!i$O^Hfo&)|VconTK@3wDMnV!MRQ!ufu#D-I?{*sw9d^$7kDB<;|YE zI{crGDx)ByfVrun+Q{cLvUV^=)tVyZj+oDphoc<1rIuQid) z{$9Z?L0US&e-=tZSAS&`Y3&KL`ow0cr1Lc&6n}WrX?2bxBBMxC-*-N=WU>aL#gWGH z)$y>S>ZI&5=kk$~`hapryG-Vzd$TJY*G30Vn*Ow((#f9f=pnN(7pN@AsoSn}3%@V~ zaxe1CO_m|MLicWX?{V>JL@6qL@?zx4KW-WJd(^fNMh+DY`I1#p{tTcxZtDlmtM(Uw zx=M+QoBx4MGuOl3++sA=pZcWQnz+;_LCk2lV3?80Ui9Z|YwB@PXHrJM@CI$*4}0r_ z<0nGD)&siz?`EF94D<{$fO&_KY#qX%r@M9e9m!Z%jem7L$pGUF ziuOBhu~tVZcQ=@j{A&?L&n(Zh6%P)~7&2yHX7`m!zom8mInv%-2zvjq(TTHnA!=z> z$V50eRKZuXY>N3zGLHktZbx!eMs~&U4%b@Oi+10~B=79S_YHZKiFMp<6)o$Q0qVhw z?-LV|v;8++D*k=CZ2vF9>a3##k2MmnAf}fqXxYTf9b0_lc5Q&;#L4 zm*ceU+g3_o{=7MG2k62v!R66(%JZlwFv}PB>rdQk!sHb-4|duz*Qbf~no$dVVXs_6 z2D2A`oS76-4D$9)9)VeadXMcMNeDkr<(!+{sG5+Zf%abC&;6#DResrKal2{;SWM+E zxRd_V>+eQd5aQ-q_~MH)nTuzNb505(XGCvQe)>~-E#>3Pti1}4Y@Ry)Pu>|fPvKgV zy_0Wg&$UG-eZP0I$z4C23gqzu*{=(S78tv5lV%Iu*!ZoPzIOXqdBUb+O(YRefwC6w zBEL`84+Hb~Ay-t~98MJa$~()|3jGMJVj{UW|8DHIq{FtMci3nJFtbzj2M=jtxBHJ( zBc|Xv=jmSZaYGkch;r+2T~3k7gK1d*Lq)mm#}=pLwg>hcf)DbY~pUB zT5WLaljXyKlPul&U07j8cXdx)=0Z+KghOH5-KY1is>tuSWiAwiE&Klav1xSY`p+|8 z-5M8e&veYqsQ<|(w3ZW!_H6p>Zt%)p#b&Bvcx7>Cv8GITp7>lC=zlelSfLzed6Wlb zy%LCHyfe~|l5G@5w@bLH7^^tvwle|-1A&^ooKdekR1}o-YQ51z9B%|bI(VZLQz5=K zwOJ8^WMS%gHuLf4^LGrE;-&8?*topB*5XQFg3n1mM+Vxo#m_mL-S%h<#X6@L&MMs3 z;PvxSfRJhz*|F+-1}1*1);612ebD@(f2>mN2-K;{(sDFO9VTU%2c4p1BQ0bL*{Vnr zD1+`?X)qOI?aw2Ab!wIOdgKgM#8e`ou~ec@-P*e7QGk**J74R7*X~(S?x@2AdXlY`+r`A)^>3Ks9`FsC{ngs*#?P{kb@@r=UGf=VU z_R4dazz^x>`RvtOPp!E9Hxbd}uZB$io%*_*clXyjxBix57Ylmm@b_+nwC@Yfp(}hB z!(W!F)!r>$-{DO1$cYeXZGXU$b+M%S{L07XpEa}F^h>`ZXvgNtVEf^&ckcsR561A# z?d#*FwLRbu?WylsZXI6nzu9usBf@x}9>F9Z5dYk3ZH5G^c3M~9dxzuYAmHBs7bzGR#>Y@w=!+&iu;nf*{xvtTl~qb z1J)KcC0`YKEPwI6{;-q(WUdPr@CviD5un{$6GG5f5LsGwm=TB&`lH6uF*me-Vqlft zRd@5Ly}!25LF{4YJGepH*5qD+e@oWN;rSXMS61`G6 zG`hVcnkN7KY@PR*M}TxFI7$4ksZ7t)+VZ`Dwnr=Ze@vQs_gx1k`ayeTuI-{mGCy*Q zwcMu;S$wv`mHzIxN-wv|oGgGJC(`A;%$ym|(g#HJ@jqxj8$Y7Ql#=8*--lm%UkZ$- z{_A~tx4(^lspG?N$9ogbcBi$hHlx$XnRUO#O$Uu17k=gc?I?JveYgk`5ox_-5eM`d zHCCgFZy(4{X5}8{_p}uM-EPYi-#%1ByaowO^}j>>Ku?HpKCl;yO2yB4cp z`(bk4b}?zNA=b_Pg6nhp1^!?O^!v8A{u&&5A)7$^M3=82EqBhQE(dtDCGE;Ti;v~B z_%SHG@a*;Fj&=_%FVe+Wu*qv5r@(qe)s_I2jdFxb+eMjv`D`3Vo`>L5Az_0^lHuL6 zHd^)Hu*Q|3jYf6mJQb8QAO8dw%L+N!NI+GB3O)t?&q8Vgpc}0Vx?-8$r}#8EHxVM~@yyeg(zQk0?c!F`<3I z55tGcDis6u51FTjg!n&RCu=-#-~Z9t&%rR!aW|{=e&lsSP0iCtY2)Mpzaf|RzDy zUjDi;rJtc^Bw-M=@yMdqK<6n?I`2?q;$?HkPF?>&Y^mQ8L`qEh&Bn=9QWcYsW%*0$ z%tNE_3x(w9Nw;H~(DRNvwzrDLZnbIbS;#^Ip35BmKr%ATXb8wdx5~iJDRa9*olP^# z>5^lA9JDHni#%$lL? zl8IpcvWB~u!N16V7k)Fpt>4{ZDKxK3>iMIszdVQBKP$gFCsk*CRuhYMGO%g(x5F}s zb`YstHV~0w{J%v0R1~K(6CTM5mo~=ap=Y9a{q?xJH)di}Z3^H>^R2SrA22zyB*VAv zml%EG|E?PknI-w&SSo*N^TzgMrv9D9)YARdJEU7X2Y)j5ZM`3tJV#uOFn@cWXZmPE z)h+w++Dn#-_mc{$!@_rOHcYi{H}B}(J!c#-j2{g?#UiJk7h7Izq$_6l`SOP=_;_vTsR`6Uov(ZcA%ZIO~Rg$W*YrNOS zqcB9M&nTkZ+(F7;Dz;P@?xG-jsC<86d$KLg<>FgL6}LZ z*6WYWqdZmm$V{q_>>C6sZXDEaf7w*A?)t@v`VjNBi{E9Gzm#1zv%g+*-D*+0IXo_| z4QDlXGwnZ+Z)(eX3*T_Dz*pPh_%W}Go&iyx0+I{HZEpx|)7zJh$-^Qqd+wx9aXjMt zgt^v5vpn0`6TI@GYb$@~=JNOF-xdrnADK<__Ah^cTySUGEd@ll_g?5fslRsQuhS7i z;oCF5f@WNwTAk>#54|le^QIQ~w~fC{by8ga>V9OHM-?9RV{Vl)l zPcKofEU#oayDnc!Uy4(`7dH+5+If-f(#PHRU6-oVs??69j5O*ZOm_=$&v6Aw*QdQw;|VYs7Ji z3<%XLGPc_}`U--*eTyyT>vUb7$gF*M{?^Q6C0wWq(R?fB58@TCEOoR_W^JGT$8RDbwd6I7pP9sZ)X{`!_x_Y z*J3o?Ccfr>d)XJ(x}`m;cJrWTOx$NUa53Z-rgX=G>{aZ|@XDC$bmgzSrIO zB-Y*CIRjR6Fk+}Nx5Q>I);FQ{ebmkkJ)T=|zV`YM-%W_e&CI?kBj+eS)Egh!zNx4c z^24>#E%R9w0cJxaP%?oWut32TK$f$4OoI)s8}MZI3x~kB&0MZ#y;I2xul(Zc`yu3{ zETYq2=~~Q1ueS{wD#+){_5F9k73Y?{{{!7NYVtqt8G1|a-KDh7A)_X@)Sl;vs)Fz8 zEwiHm9z8ElS2~=ltSpL|^}KaU@2hK4e9QF3GY2Q`ISKb4+P7Wk=|PkqyefQn3OE!1 z;n2IyLOTxrw{8x8t)J?@FZ2mpKN}jZ)A!Dc_p93SDSu0gj$=LFjKBSHrMy(L{QgUE z0U3h)4Fx3dJs)s zd?1*WO2P1I2qR5sZ0eL8D}Pps6LK{kG((*+%~gevN9CY7q{i2M_R}7t{uC2T7GTsZVYP#G0V=GGp$Hz&a>q3X4}&Mby>$5{A3J$on?6FL|7!hLjGY+rjg;2VSbN?0IbZaEOcN^gk z`Bc?KJ5D$T6y5Yo~OMLjR*6eK|X_kol32gha zU8iqQcDC!ePY55_TUjDxFtag2`0W|pfO43ckmJ+1vx}RB)~^y}&XfuID+aGj;Oj{R6jv9O-w?7T|!9@ z54!2IRz`^XUFZMUd1YfM@NX-uZmYnd$E>m^tvNwP-FJOejz!)bHN&^*B6M-g=lz|n zJBIIt^S2+>D+K1X4t)x-IPc|=Sf1nV7@2n_U*Xq_krSm`mj?gd>p5&_zftkv3D-(< z#ebmS4=&EaBK(FrX1e%@M^Y3AV*W_s~+ zL>KCKZuRIrU#u&&mr;ZKnER6d=rM!u>q^1?hb!;RLdH^`oGpKNGCP(PT8&lN7$U3I z^(yu}N{N{aezKD_ai>P|O(zD#)Qyp~k{*_gR!Y_my@BRs0s}yY!lE(6sTy38`UacB zjf!W=Gr;sGdo?i+i)W8Znnfo%#w_^0tL{3#lhx=iVez|l%7;yKurBR5li_j{)opIz zh}B`YPP?$9dGI1{hbK1Z)62k&u*KG&Swn@3R)zGd<3BFhzsOyBR`^z%wsq}J!>zA% z_ion+%C5Gy%E(xX_Ag0JkY1RmSG1RIYu9Vu-MT~4S7>|JxIK>giU_jLvG?6>Gw;>^ z5W-P9&-_WqDANulndUuBLSa@w;`+u061vdOm@^%lL>@aH*Qhxa{Q^OB_D6F(E(j<6 zQA$CRxM!*W{Y^`yYt!)LB2#gH0~4)jKN`{m{qd(n)ANTIbgqw7v7-c~D44Zcr9O(1 z%`Gc66z_-0sy?Re{pLhT1Mfp-8oXE_iZ zm1Y-P=JJ2H(VQ$~4`o4rOl;k?^VqIp|1byA5IYQe+B+W%QXXzA zUKDvpi9GE(Ec5d%uf*MRK3?zNx3<3HznRWB_P59Es3~N45$iX0zE=nZb|(XK4u58mv$0cMXBl^Iwl$dZbfssk*^e#&+$tTFLhN`DnlPFodAOosc)b z!xWAYcZ#2ONxp4u(jN9*nCV%$Rm*yyFvMYXwmsm>)=o*@uqgca#-t?h?N^!XTnUi8 z;>L0M`-Y0==2zS(vwZm`Kq@hq)#YkdSObx5VD-%-^F zTXRp*itrMQO`<=mR3_4}WCB`H>g2CG<(`-oxt>VrkU&30@mNWaT-S*_+9@s0S+>+* zob;=gx~#$f^i8}Jb^LTqhNYYp?0V-@q5j3T1ssgBPBf6nWMc_l(V%~yuEbkH&7w-__?;>D-T&(;uF(5ZkGmD`Y2 z3p`fBuZQj5l{R-3&0yUBIXjy+rB!~pU3bSN_IZ`*#P7X`*R9WD1&Y>1zMV5WPGTgk zH9_7~+*E&CY#eQN&fs$pGh-uRvF|^PH=5Jb70!qXr|AC(tfQ`(l4yOCNDNhR711Psi$y9{uxL`UPn0I0->~;HdY}ahJV+CaR5o6) zx=`hbX9{=DD6^Vow{rzF{lkKWuu}? z%Zo8mS=nrJ?yOQBX^pH>#d55Q!@Nw@CHDFYFpxjVZIvX~ESW=RSE#)NA|FxZ1OkhDEAVO_DdYE5*xh4Q?`hsgI@_qG~bE^1WwA_<%Xw~qKzNSuI}{#z(3lxQ2RSdvc8QqX zvbU=aXRqhpvkVE z;dcvf*tgVr41^B)t1o}fdf&DkTl_XAv#qRGA+YkA#_jdSXZJX{TWmA!6qf?Io8@eu z@NyV0ZW149;T0PMKlXuqep8@DNPKn?UgQdjwOdr3qDgv)B!)4IGciK2VTK+c(F@WL z29(G9H(ImxBN^&lB^ZkBsw#w3uM@+x@K%IieZ@*YXO3cwGe-qdAWBSy$6H2)-Dwqz zO-qCp%s!AKp1vAff)lY4q~K1buXZIA8&}XP4VaXFmpYph+4YJOtEi!?iB;7E)=s!d z6d2msuld^=Zdo$Hci*XstROYIo+#rMql=M-`UBZFrAPS6dE7~6-yY!vdtN&_)8vo} zrcevKAq~ymShA1PWK<;9;kdL2{=(S(Z1RYR^#&>76${k?iV`OE{~Zx+;I@S8mn7Td z{-)K;#}?W7W?WIh3?vt`k^@G2DU@AOLLZwCf3#!U3rdY=t9M-j3_ql!6Deu$&4rVd zZ{ae<=bVa?24VYMQI)k1%CC`HoJD+2i|?4aSnd8!*SyPSxElV}xISywX)%8&{2}X6 z8P8)g+&hX!%bgs5%2tqA<0-#{rCqT`o+P#KWtJ^O2!3E^zCGft=thayr?U}PC1IGB zOU;3k$Bo*lEiIz29ALw=cYqjzA(yjXC`;5g42w-T$4VKNUKQu_kx7Z+{YtrQ@7e;VSI5FL zu9}iQJ!(7H9?+leN4Mf1S7fp#Vy0L(n7X9L&{=h>OohC1-#kd-sj;u8G&}70SWPSV z>O0vC(wnsKA~#X2jyzqh>xt>@7xd-B`V5|Zv(-X2pZXn($&ZarJ6{T+#ipEg0?%#U z_o|mo_j8W^#IDndY+BIDeD>{B|6+>U)p*7n6Y%>D6pT%KRg5`p$D}MV?XUjS69v?5 zo8U=$iNd5MyvtVL&g9_s>q;o-fj%;7;#Mp;udJUNra{pp^08CN*?aoTFMncE8MYk1 zDGAasS$_AYN|jIjES(7}_T!GbUIQiOkB3C=7SbGQ~Ml zFw-Px{XWdvlv+(!FEu%h@XSvQ?KR`3Qf$fN!Y!1&;fSoh zseQ@QKKRAw%ZXkHWeiam+`&OOQru{+4=&}-W8&NaL^vwg<^CwY{r-fYf2U95xgX>UBVe?E6gLNnC zM%hJfAe$L!ctz^vJS1QgPis?&0^1LLsIcVAD!6&wVV5E5X;+D-PE_!D*3$$V>S=<6 zBjb;_4}Fin^fV!K5G38tBX=J(4zsqM7ad?BgyOWVAMRqiT1HB3^sAN#n6BhPl%bxh zDax5aW}mXMW&&=W?|${aM7SinUu-<_w8KiG)F{E`+&UmQ?|*xQ?Mf(QQx3sNuVL>` z0yCF^?5OeQ`c?G{h=b6AJb8)L5Hol;3LI38ZQZw7yw~|_R3X>jjNO6kWU`>&n3mV) zjf;@S3uY={=b#0)eK_gQ6HrDUUvZq%`UC!8h!mfgGm|wzWF3hQ(g!dd>6m#6w~ce| zWd-djW8_UWj*$-dQ0&pmFGwW?b#&Wn*>z&_?r)06=R%0nCMn_DFiLMe3SFn~O)XL6 zr_@)GnWgsh^8zYW_3;HnoUWy@m^FT&g;xVzUt{Y0F4blXwz@Z{fN)x^OQy?uBnvb0 znf5L3%Dt_xhCIaZ=M3VHQm^t@%j;CIkV*Htr+|yw_wz_6)7d;yqbic=@C0{$w8s}Q z{5?}8Ig}>>6DAi2e45Md>86=kVyu7lP_2JiV~(hJ2I7-$vdtrutedqZ27d}a4QIl~ zAWP_?bj%SEOdo_WBG*$i%YVS&Og4#Jls-5!&Up@g;f%&qumO`5ip60NE@E1u@52Jc zgkdStJZWQ-C}+hQd?}+9E@J72XIy+JZb08m#g1r{7|=oM_w{JVQij6>T*N94h3QI= za#pO8!U(|plyvV?6HnVF0%w-!(Gs~c|DfIU%%>#9EB$2!U>A7Jc-%EA66wM-eRFJ{ z=G`PmL*3v}d5Iqcb~mH~7HzPy!S1+946uJiZ&v0jZ_>fYDA zZ*9OUJe_;mc94&?hi}YAB8+>GC)?fHFO7`K{t>L3Q;oXcXkZd49I%=&8P-XuFS+~# zvM@x&XsxQFqfia>E_p*{6M1u6ysx*1NJiJ<)nxRR`HuGAo0r&QU~1`hwmYrqzT z;-&ZTA!tE^d>J+7CU#N-l#0@Oc_S4`Qd+TJxT+rD9jxWG^$HzT$-kwO#LWHkMW59& zi&CSf1SeJXctri3r&CSalBC(LGCboMDBig}Y*YnG9v8 z;&rM&lc2tbXwAxpC>8=m*E|?20LG>f!E?I91eAPN2St<0)gUdUNOLr_-7;gR+4Oo# z?e@tl)@1k5BUDb&wWgSLnf>^hC$O!M!ifZ`MjabZnt!~qtrY7Bp)rm8)=gI{Q(_;m zD53HG*Fky3Dsuj5{2iND%A%~;bLs@@9Ct)ICijWmI!c$p28^$(>Z_PEe z?7lDv7yKg#Ao%ZH-JIHe1Hn#8jySd}d65+Me3VI%2BUf>yzy6^uA4XGYX zgY)d;ba8!sVUD`-W#7D3tBvONbTeqz3&m5dnjqiM9DVXSr7Qr%hdDDj z@AfI=oVu7R>ygUDGAA&HJtDfW5bP8%0?xdxIu*fY%#Hb?4ZkW9u1Jy{Ig+7`z+=Vg zH-;%q$P50SlUEYgKs62|byg(K4a)13n6X&Pi|FP9Q6MkaE3lp~`oc#Z{7?4k!g@aE zHNd-yuX_Y&&Ggk)Bv5T$F+$By-u;6LH@Z@NNI&xLc^^tAQ1iLUvR^4nC(`!-3srCC zi&>koR}&h;kcy?m)9cj+bv!9AADLOtLC7TYqC8+bvjNk50Kr*OMk}*~zD8)V!UwBU zim9Ks3@ARrxtOkQQiasmAY8GA43PewwV7jG05EjG0@xVJUOkGsKc!frfp(r$VRzS{ zWUmp}sl-GlrEb$a8v6Z2EZ|RPAu9e<;z_g)FrR&XkgK$|-dosDb1{IFBfXKhxpV z7S4H*$l#q^BqkR}qU$0fQMU6Ml;|ERf7EL#d42&j} zZ^Fvhqbj1lk`l1=rKPh00hcH2hhPY0mX575P6imm?&n8KwL%m&fxiVnh$q4ot98>x0d9RL zjy2|%I!fW9s8ihZS**cy7BURDH4%3oK4Pu|8Ks#}h|-MT0}%OaA({~h^jtbAZibuj zK+pl~jp3ro!RCas0HCHS10@0UZ5V}eIiS~;#<^~KfE~*^0iz~$biyTeEzi(YoQL!& z&O>&F#@)7s5UMN*bFRNoHb6a|=#K`-Tf-mQx~qt7z1W!xjs);~_Xke%HNcs~)4xmk z%Gn)7F{f>_<)V|iGZo@$i2-{wsJk3qv8spZTm%$ezeyC{Q%CO?_9Q}nOd$KjEnxmC zgLwajrzqR;QvThu;>nTdtL=+Ky6xoD2LBw4V*c?Ox{X^Jk9 z0Z=*=ha1*<#X=AFf$;1DQ3gBB(T6>%2dvnwgW)P=mSW|PYl4Mc&O;rg@JC`q>y4y1 z)ISsS5E>}v7K9yM+n7H})EMAg1TCJC5zR6Ok<5@nR6jUNW}%k=J^^q(tC;OD6qLIG zhcf^O&1JDqP~or`M?*_^GHB{zfRSFP0x$shMF!vijrGQ5RHTUgJr+P(3?!fdzD`QP zGeiMW71yiA0dNy(jSBN4hT#VC@L?oo>3Rc@PZbI1KbEFfDHDHnTVuLf$4iXnWF!(# z<4cU_S^)F%nu^%!W5QTZUdx8znXGv6Y(cx&Fnp;p0tOdx^-tug>an?B?FvMyjwwpB z=rzhs_q>515Q3ZW=d>)CpjQB!2~SDvO@M17DXM8-hynap;}_P*5T`n%VrAqy@pM-n z4MyL@OZ*2y@p!Xxl|rg5S!JpT%w53%7ALWC$B|*Rp;#6m?O4H66?SVHsAHY%n#l`h zs=-6|fbke9t_mh;XaOi?zc(SvW(r=OWFkyJ*quMA29uPI>~s6}PEzv+K>>pg>nx*&nlC&v9G@#NJ+{t#5;SwAl>Sr2-;&LCElAyNF& zlUX#*1Qrk$iv3k=%vD8V7Deh*b;8(0#wnh9sWeCp5Xsb|9IEJxbpsrfQHW zP|7tD%bf6(P90*t4+eD6b*NQj2o-sLZ_7Y%7*PRZ`AtzR%3^L|ZW@IkAet0UY$PSt z{5%E#R+d@{1aPMKNObhD3XAQp%=1To8>E<<&E3c>^&NKLx)DwvCd8XgN?oKcF<=9) zBz-{z8>ZAZB8K0`h9Oi~@cXQschPfz4)zm$DM(SB2G;>UwP@9Q%#BE39PAaSI~W@v zis5@94)T6YJ&lJV90BbE_l;-30TJrRoCxw3Mk)gDG%sMoz-uHJeI3bcjszGUVEIj? zh;HOPaCVB+$n{59fhe?_?UmQ@3{PT!G{`-E-jD2@QHZ8*Wy%%%!LtTYJybY(GoF4~ z8Aj`*unj}mtyfc2_th!Rd)U+Ie%#TphD>a$2FTSId&(WdYY>X{m|&_yMy(p^NoQvW z1_LUn;)1@mUN#F=RN94oq=L-*y4r(*o?Xs|XYlILH8yfFmmWD~_IFUC6N6bfE!GN9 zlwC8xNy0ZOd9v6%hCECPqws}!zEVZV4DwMW<^QfDp;Q2qcg2^WoJ zZV)_&G7!;6Pyq<01Y?h0V8G|dkeZJKJ;vHYpldTuM#thz*EWd1@FLFF2rRbC@#jPV z?FAu&Udyh=Gi(J5(VFpe`YMr4E>xWoiyNnC#s_1#DC5F_3ot>b#MG!<8)ZS?_=WGl z$k6RxO01swD_OufI7W<6>`woqI~ZQ!S|P+C9m7}hs17gKF$bBm#BjR*1c$4tVpDnb z1v@kRF?C$-#_*58F%%+WmFWLNU$8s#f6>a^G{H147e61ru#LUntAUPwfK(u0?>9|= zse2f{M!>$wDhNEb)syIuJQFWPQC%~gW||wPK$4r7=ggZLB{q`@l&Z4Lml) z`f?VynrYq`8-U^Tft>5tL_2?ppT}z(-Ose775%{a_p30M3{X_LSotXN)VdfXFV-Id z2Tsj~*g%Ej>G5+(GEjEMlMznWQEV%kordJCH0E^01GXjXV{6j=;6POGV|aBT4rn6K zMyEBv&c(*u5oD+Y#Y^%b``(&fmaEbo zXr3)I4(@@oeyU{eeEtaGyhei9n|w}JvMl``!g`VfQYQnAQYD3nNg9|ifS3IvY*meuc0Gd6xl&Lca>yX?D zVr?L?;N$7cK%)vz@q*^50%7W_@eAhu@rwOS@pMy&6aOxjC-jh_D!7)-?3OMZf^8M1 z%Eco90HGx^(bav4$=r!@@pA*KfDfTnLk`iZp$BMHuYx9!+ZGL^PEmD8j6n*f6Dp8s zhF2jAb*2Rc$X}_2WD>+$%#>Ng6$u+^Sw$)sKpF%;6+(saf+^z^+&>J{|3bEFua9Xi z1MqF$&G;HaV@{xX%Gqt0$|P2>KTgH6K$&ZUSovsx ziwI{*{7|PrelMWF5gZms%O*0YBL|ladY%ns8!I-}`VV9a%OBUKf-MCojV9v@KhW4r zV)ChngD`&vf<} zOa2Oo1B%k07(8lf3+tFhvit{ChOI8VMPC9)z(Y@{N=USP8o#Ihi#eSSd{n@aZVJYVBf48DxwC>mu z;GwgPRHfPR4VyNv=6X5yfk6_UeyL-dSM!$qT%!IE`$&2b-m)ZXOr_Dkp6%+w2zvjh zSjouQzS%rPAAMp3h-3dZDWatTdL%ek*x82~LD+zPDTGTf?=TsZzl*cb0^n$A9Uve8 zJw+RpFxjdq^iuwyac?4H&2`$Z|ABgTqG;KZ^ApHcbQs71g>Vot7AtkQq!plpANnSWb~n+`QXH=!_l>P>XuT=3XfTbXh77Ui z&+um|&8zAJ*9MP*M9lMZe`P(w1^^mt9(d&dP>+8pODzW>(_c7r6nlD?2EkXtoKRw! z^>7$11%UWGEa8U%f5;%1_HY`)bs)isgDmu3%Z4=!rJS{{BE#xihiXh!ix^tDEkHJ5 zq)i{yz8Yv6Xydn}E2zfSpw)a)8miHMJXj8b|7ceM?!Ag?(Z+h_bLtiW$3h$ZhqY#U zMLv?9AH+<+ojD_~#sJ;w&vrKi_XbKyM}iDsbZ|vuqoTxr&y2Y{)XuOwlpxq`jc^y( zs7P!8R7Fs|@RZ;))jlRgVS1x~_4p_KMt`VpK7Y_qGO9^)Sj(ob<`K=Ayid^fS|s|L z=q*?wD-x-v;>}=I(8hq>VY1`dB*G6fc59gYc_3~ossnV`uJXvD5uf{2bm#q$;NLbC z;07pw7uGb`6&S(3=)AQ-ki8RnhyN-NLx7YuRslo5LDFTUz(Fe5(}4HI|Bq4uY65j7 z^N`FKe(*+h8T)I?Wu2r*pFSjEmOFzaC=vq)x2$DLb6o#XVk+1nZn(a#{DX#qJh?)< zzM2x<)a%s;a}W-=A_WN}%&y1NcO;>_)PH1%!+HGqD2HVtefJ2dRI{8C76u^GlL54x z`aQ174#*ak1L-9j9BoD*$Jl5{r>{}#k;BO)N?0A$M$iUPwOh<=R z!~%BKN{X%(O9mB0{-&^n;Q>@tjNm4La?JClG`kWwPGK1VDLNSVQ&eML1e^wP8>0Ea zyE^QjLbI^XIeu(V?6i=|Zq~_pNCn4@mMYtk+7bsq2Gw89kYX+wpmnZ-L literal 0 HcmV?d00001 diff --git a/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/index.html b/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/index.html new file mode 100644 index 000000000..5d2b3044c --- /dev/null +++ b/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/index.html @@ -0,0 +1,24 @@ + + + +Welcome to nginx! + + + +

      Welcome to nginx!

      +

      If you see this page, the nginx web server is successfully installed and +working. Further configuration is required.

      + +

      For online documentation and support please refer to +nginx.org.
      +Commercial support is available at +nginx.com.

      + +

      Thank you for using nginx.

      + + diff --git a/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/nsx.html b/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/nsx.html new file mode 100644 index 000000000..fc1de05d1 --- /dev/null +++ b/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/nsx.html @@ -0,0 +1,22 @@ + + + +Welcome to nginx NSX ! + + + +

      Welcome to nginx NSX !

      +

      If you see this page, the nginx web server is successfully installed and +working.

      + +NSX + +

      Thank you for using nginx.

      + + diff --git a/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/nsx.jpg b/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/nsx.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f3c27f59eddaee3a0cd39e9f25763b1e58309b20 GIT binary patch literal 69420 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≥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 X@c#fk=ujTuU^BwQ80a(jP#^! + + +Welcome to nginx RCF ! + + + +

      Welcome to nginx RCF !

      +

      If you see this page, the nginx web server is successfully installed and +working.

      + +RCF + +

      Thank you for using nginx.

      + + diff --git a/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/rcf.jpg b/static/workshops/nginx-one/lab2/nginx-plus/usr/share/nginx/html/rcf.jpg new file mode 100644 index 0000000000000000000000000000000000000000..40faef6dc466330cf5946a95aea22dd169caa3f9 GIT binary patch literal 132435 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 mdgA|B} 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 Th!f~#8>QsoCRklHcTE4;1Bcq3 literal 0 HcmV?d00001 From 86dbb373a0fc534404c60fb1c0b0c0934bbdbe6e Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Tue, 19 Aug 2025 15:37:41 -0700 Subject: [PATCH 458/723] Edited the NGINX Agent overview in the N1 Workshop Lab 1 (#998) --- .../workshops/lab1/getting-started-with-nginx-one.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/nginx-one/workshops/lab1/getting-started-with-nginx-one.md b/content/nginx-one/workshops/lab1/getting-started-with-nginx-one.md index 367399041..b7a1cf2a7 100644 --- a/content/nginx-one/workshops/lab1/getting-started-with-nginx-one.md +++ b/content/nginx-one/workshops/lab1/getting-started-with-nginx-one.md @@ -47,9 +47,9 @@ You need: ## How NGINX One Console works -NGINX One Console connects to each NGINX instance through **NGINX Agent**, a lightweight process that provides secure communication between the instance and NGINX One Console. +NGINX One Console connects to each NGINX instance through **NGINX Agent**, a lightweight process that runs alongside NGINX. -NGINX Agent applies configuration updates, collects performance and system metrics, and sends event notifications. +NGINX Agent enables secure communication with NGINX One Console. It lets you manage configurations remotely, collect and report real-time performance and system metrics, and receive event notifications from your NGINX instance. You can install NGINX Agent in several ways: From cf9741ec806ce360de691da44bde97efaaf32b64 Mon Sep 17 00:00:00 2001 From: Jack Hickey <133868041+nginx-jack@users.noreply.github.com> Date: Wed, 20 Aug 2025 11:27:42 +0100 Subject: [PATCH 459/723] Nginx: Fix landing page urls (#1003) --- content/nginx/_index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/nginx/_index.md b/content/nginx/_index.md index 8c09e8c92..6a1fbd1ed 100644 --- a/content/nginx/_index.md +++ b/content/nginx/_index.md @@ -28,7 +28,7 @@ NGINX Plus adds a range of premium features to address enterprise needs. {{}} {{}} - {{}} + {{}} Install NGINX Plus on different operating systems. {{}} {{}} @@ -37,10 +37,10 @@ NGINX Plus adds a range of premium features to address enterprise needs. {{}} {{}} - {{}} + {{}} Install NGINX Open Source. Compile from source. {{}} - {{}} + {{}} Keep your servers running. {{}} {{}} From a9fda9a3898eaa49a4d910a668bb695a64ac2ddb Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Wed, 20 Aug 2025 06:01:18 -0700 Subject: [PATCH 460/723] fix: Update erroneous NGINX landing page link (#1005) --- content/nginx/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginx/_index.md b/content/nginx/_index.md index 6a1fbd1ed..ee4d73911 100644 --- a/content/nginx/_index.md +++ b/content/nginx/_index.md @@ -56,7 +56,7 @@ NGINX Plus adds a range of premium features to address enterprise needs. {{}} {{}} - {{}} + {{}} Get details on new features, bug fixes, and known issues. {{}} {{}} From a9df9fa69d135d123aa0fb4ca90d21191ef26154 Mon Sep 17 00:00:00 2001 From: Alan Dooley Date: Wed, 20 Aug 2025 15:51:10 +0100 Subject: [PATCH 461/723] feat: Add placeholder landing pages for NAP (#1004) This commit adds placeholder landing pages for NGINX App Protect WAF & DoS: there is much more coherent landing page as part of the formal refactor. These changes exist to unblock Mainframe, a new theme design, from releasing. It also addresses a call-out regression. --- content/nap-dos/_index.md | 42 +++++++++++++++++++++++++-- content/nap-waf/_index.md | 37 +++++++++++++++++++++-- content/nginx-one/k8s/add-ngf-helm.md | 7 +++-- 3 files changed, 79 insertions(+), 7 deletions(-) diff --git a/content/nap-dos/_index.md b/content/nap-dos/_index.md index 179526ba7..e7d8430f2 100644 --- a/content/nap-dos/_index.md +++ b/content/nap-dos/_index.md @@ -1,9 +1,45 @@ --- -description: "F5 NGINX App Protect DoS provides behavioral DoS detection and mitigation." +# The title is the product name title: F5 NGINX App Protect DoS +# The URL is the base of the deployed path, becoming "docs.nginx.com//" url: /nginx-app-protect-dos/ +# The cascade directive applies its nested parameters down the page tree until overwritten cascade: - logo: "NGINX-App-Protect-DoS-product-icon.svg" + # The logo file is resolved from the theme, in the folder /static/images/icons/ + logo: NGINX-App-Protect-DoS-product-icon.svg +# The subtitle displays directly underneath the heading of a given page +nd-subtitle: Enhance Security, Automate Defense, and Accelerate Protection with NGINX +# Indicates that this is a custom landing page +nd-landing-page: true +# Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this +nd-content-type: landing-page +# Intended for internal catalogue and search, case sensitive: +# Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit +nd-product: NAP-DOS --- -Request your [free 30‑day trial](https://www.nginx.com/free-trial-request) today. \ No newline at end of file +## About +Achieve comprehensive protection against DoS and DDoS attacks for your apps and APIs with a multi-layered, adaptive, automated mitigation strategy for DevOps environments. + +Running natively on NGINX Plus and NGINX Ingress Controller, NGINX App Protect DoS is platform-agnostic and supports deployment options ranging from edge load balancers to individual pods in Kubernetes clusters. + +## Featured content +[//]: # "You can add a maximum of three cards: any extra will not display." +[//]: # "One card will take full width page: two will take half width each. Three will stack like an inverse pyramid." +[//]: # "Some examples of content could be the latest release note, the most common install path, and a popular new feature." + +{{}} + {{}} + {{}} + Read how to install and upgrade NGINX App Protect DoS + {{}} + + + {{}} + Learn how to debug NGINX App Protect DoS + {{}} + {{}} + Review changelogs for NGINX App Protect DoS + {{}} + {{}} +{{}} \ No newline at end of file diff --git a/content/nap-waf/_index.md b/content/nap-waf/_index.md index 464ae344d..46c3c7f4a 100644 --- a/content/nap-waf/_index.md +++ b/content/nap-waf/_index.md @@ -1,9 +1,42 @@ --- -description: Modern app security solution that works seamlessly in DevOps environments. +# The title is the product name title: F5 NGINX App Protect WAF -weight: 100 +# The URL is the base of the deployed path, becoming "docs.nginx.com//" url: /nginx-app-protect-waf/ +# The cascade directive applies its nested parameters down the page tree until overwritten cascade: + # The logo file is resolved from the theme, in the folder /static/images/icons/ logo: NGINX-App-Protect-WAF-product-icon.svg +# The subtitle displays directly underneath the heading of a given page +nd-subtitle: Secure, automate, and scale modern apps and APIs with a platform-agnostic WAF +# Indicates that this is a custom landing page +nd-landing-page: true +# Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this +nd-content-type: landing-page +# Intended for internal catalogue and search, case sensitive: +# Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit +nd-product: NAP-WAF --- +## About + +Defend your applications and APIs with a software security solution that seamlessly integrates into DevOps environments as a lightweight web application firewall (WAF), layer 7 denial-of-service (DoS) protection, bot protection, API security, and threat intelligence services. F5 NGINX App Protect delivers consistent protection across distributed architectures and hybrid environments. + +## Featured content +[//]: # "You can add a maximum of three cards: any extra will not display." +[//]: # "One card will take full width page: two will take half width each. Three will stack like an inverse pyramid." +[//]: # "Some examples of content could be the latest release note, the most common install path, and a popular new feature." + +{{}} + {{}} + {{}} + Read the use cases and technical specifications for NGINX App Protect WAF + {{}} + {{}} + Install NGINX App Protect WAF in a virtual environment + {{}} + {{}} + Review the latest changes to NGINX App Protect WAF + {{}} + {{}} +{{}} \ No newline at end of file diff --git a/content/nginx-one/k8s/add-ngf-helm.md b/content/nginx-one/k8s/add-ngf-helm.md index 4309ff988..34b4c9b38 100644 --- a/content/nginx-one/k8s/add-ngf-helm.md +++ b/content/nginx-one/k8s/add-ngf-helm.md @@ -23,7 +23,6 @@ You also need: - Administrator access to a Kubernetes cluster. - If you use [Helm](https://helm.sh) and [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl), install them locally. - ### Create a data plane key {{< include "/nginx-one/how-to/generate-data-plane-key.md" >}} @@ -57,7 +56,11 @@ helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric \ {{%tab name="NGINX Plus"%}} -{{< note >}} If applicable, replace the F5 Container registry `private-registry.nginx.com` with your internal registry for your NGINX Plus image, and replace `nginx-plus-registry-secret` with your Secret name containing the registry credentials. If your NGINX Plus JWT Secret has a different name than the default `nplus-license`, then define that name using the `nginx.usage.secretName` flag. {{< /note >}} +{{< call-out "note" >}} + +If applicable, replace the F5 Container registry `private-registry.nginx.com` with your internal registry for your NGINX Plus image, and replace `nginx-plus-registry-secret` with your Secret name containing the registry credentials. If your NGINX Plus JWT Secret has a different name than the default `nplus-license`, then define that name using the `nginx.usage.secretName` flag. + +{{< /call-out >}} To install the latest stable release of NGINX Gateway Fabric in the **nginx-gateway** namespace, run the following command: From 1f103debd20069bb49ab6e1500cb692c42dc9fa8 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Wed, 20 Aug 2025 09:48:37 -0700 Subject: [PATCH 462/723] fix: clarify what users should do if they don't have a TENANT_NAME (#997) * fix: clarify what users should do if they don't have a TENANT_NAME * Update secure your fleet with include Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> --- content/includes/nginx-one/cloud-access.md | 18 +++++++++++++----- .../set-up-security-alerts.md | 6 +----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/content/includes/nginx-one/cloud-access.md b/content/includes/nginx-one/cloud-access.md index 48d64879f..8a3b5a5a2 100644 --- a/content/includes/nginx-one/cloud-access.md +++ b/content/includes/nginx-one/cloud-access.md @@ -2,17 +2,25 @@ files: - content/nginx-one/secure-your-fleet/set-up-security-alerts.md - content/nginx-one/getting-started.md + - content/nginx-one/workshops/lab1/getting-started-with-nginx-one.md --- -Confirm that an F5 Distributed Cloud tenant has been provisioned for you. +Confirm that an F5 Distributed Cloud tenant has been provisioned for you. To do so: 1. Log in to [MyF5](https://my.f5.com/manage/s/) and review your subscriptions. 2. Look for **Distributed Cloud** in one of your subscriptions. This could appear under an NGINX subscription or a Distributed Cloud subscription. If you don’t see **Distributed Cloud** in any subscription, contact your F5 account team or Customer Success Manager. -When your tenant is created, you or someone in your organization should receive an email from **no-reply@cloud.f5.com** asking you to set your password. The account name in bold in the email is your tenant name. +When you have a subscription, you or someone in your organization should have an email from no-reply@cloud.f5.com asking you to update your password. -Go to `https://.console.ves.volterra.io/` to access F5 Distributed Cloud. -If you have never signed in, select **Forgot Password?** on the sign-in page. -Alternatively, ask someone in your organization with access to add you as a user in your tenant with a role that includes permissions for NGINX One Console. +That email includes an account name, which is the TENANT_NAME. + +To access F5 Distributed Cloud, go to to https://INSERT_YOUR_TENANT_NAME.console.ves.volterra.io/. If you have never logged in, select the **Forgot Password?** option in the log in screen. Alternatively, if someone within your organization has access, ask them to add you as a user within your tenant with access to NGINX One Console. + +If you do not know your TENANT_NAME, you can: + +- Email support@cloud.f5.com to get your username and TENANT_NAME. +- If you have a dedicated F5 tenant administrator, ask them to: + - Provide a username for your tenant + - Ask them to reset your password diff --git a/content/nginx-one/secure-your-fleet/set-up-security-alerts.md b/content/nginx-one/secure-your-fleet/set-up-security-alerts.md index 7cca3d292..ee3d3c6c2 100644 --- a/content/nginx-one/secure-your-fleet/set-up-security-alerts.md +++ b/content/nginx-one/secure-your-fleet/set-up-security-alerts.md @@ -27,11 +27,7 @@ If you already have accessed F5 Distributed Cloud and have NGINX instances avail ### Confirm access to the F5 Distributed Cloud -Confirm an F5 Distributed Cloud tenant has been provisioned for you. Log in to the [MyF5](https://my.f5.com) customer portal and review your subscriptions. You should see within one of your subscriptions "Distributed Cloud". This could be in either an NGINX subscription or a Distributed Cloud. If the above does not appear in any of your subscriptions, reach out to either your F5 Account Team or Customer Success Manager. - -With access, you or someone in your organization should have an email from no-reply@cloud.f5.com asking you to update your password when the tenant was created. The account name referenced in the email in bold is the tenant name. - -Go to https://INSERT_YOUR_TENANT_NAME.console.ves.volterra.io/ to access F5 Distributed Cloud. If you have never logged in, select the **Forgot Password?** option in the log in screen. Alternatively, if someone within your organization has access, ask them to add you as a user within your tenant with a role providing permissions for NGINX One. +{{< include "/nginx-one/cloud-access.md" >}} ### Confirm access to NGINX One Console in the F5 Distributed Cloud From 6c53ac6426e882146cef9d2bfcb855b8514030f3 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Wed, 20 Aug 2025 10:02:04 -0700 Subject: [PATCH 463/723] feat: Update N1 Console API for NGF integration (#990) * feat: Update N1 Console API for NGF integration * update * Aug 19 update, N1C api --- static/nginx-one/api/one.json | 532 +++++++++++++++++++++++++++++++--- 1 file changed, 494 insertions(+), 38 deletions(-) diff --git a/static/nginx-one/api/one.json b/static/nginx-one/api/one.json index 5fb962c77..00154c9a0 100644 --- a/static/nginx-one/api/one.json +++ b/static/nginx-one/api/one.json @@ -58,7 +58,7 @@ }, { "name": "Control Planes", - "description": "The `Control Planes` object represents an external control plane such as NGINX Ingress Controller.\nFrom this endpoint, you can get detailed information about each control plane, including its NGINX instances, configurations, security advisories, and operational status.\n", + "description": "The `Control Planes` object represents an external control plane such as NGINX Ingress Controller or NGINX Gateway Fabric.\nFrom this endpoint, you can get detailed information about each control plane, including its NGINX instances, configurations, security advisories, and operational status.\n", "x-displayName": "Control Planes" }, { @@ -1915,7 +1915,6 @@ "tags": [ "Control Planes" ], - "x-feature-flag": "control_planes_m1", "summary": "List control planes", "operationId": "listControlPlanes", "description": "Returns a paginated list of control planes.\n", @@ -2023,8 +2022,7 @@ { "$ref": "#/components/parameters/ControlPlaneParamObjectID" } - ], - "x-feature-flag": "control_planes_m1" + ] }, "/control-planes/summary": { "get": { @@ -2052,17 +2050,16 @@ "$ref": "#/components/responses/InternalServerErr" } } - }, - "x-feature-flag": "control_planes_m1" + } }, "/cves": { "get": { "tags": [ "CVEs" ], - "summary": "List of all CVEs affecting the instances", + "summary": "List of all CVEs affecting any instance or control plane", "operationId": "listNginxCVEs", - "description": "Returns a list of all CVEs that affect at least one instance under the tenant\n", + "description": "Returns a list of all CVEs that affect an instance or control plane under the tenant\n", "parameters": [ { "$ref": "#/components/parameters/Paginated" @@ -4029,7 +4026,6 @@ }, "/app-protect/policies": { "get": { - "x-feature-flag": "nap-waf", "tags": [ "NGINX App Protect" ], @@ -4107,8 +4103,7 @@ }, "patch": { "x-nginx-one-action": "bulk", - "x-nginx-one-entity": "NGINX Nap Policies", - "x-feature-flag": "nap-waf", + "x-nginx-one-entity": "NGINX App Protect Policies", "tags": [ "NGINX App Protect" ], @@ -4159,7 +4154,8 @@ } }, "post": { - "x-feature-flag": "nap-waf", + "x-nginx-one-action": "create", + "x-nginx-one-entity": "NGINX App Protect Policies", "tags": [ "NGINX App Protect" ], @@ -4222,10 +4218,11 @@ }, "/app-protect/policies/{nap_policy_object_id}": { "delete": { - "x-feature-flag": "nap-waf", "tags": [ "NGINX App Protect" ], + "x-nginx-one-action": "delete", + "x-nginx-one-entity": "NGINX App Protect Policies", "summary": "Delete NGINX App Protect policy", "description": "Deletes NGINX App Protect policy.", "operationId": "deleteNapPolicy", @@ -4281,7 +4278,6 @@ } }, "get": { - "x-feature-flag": "nap-waf", "tags": [ "NGINX App Protect" ], @@ -4347,10 +4343,11 @@ } }, "put": { - "x-feature-flag": "nap-waf", "tags": [ "NGINX App Protect" ], + "x-nginx-one-action": "update", + "x-nginx-one-entity": "NGINX App Protect Policies", "summary": "Update NGINX App Protect policy details", "description": "Update NGINX App Protect policy details.", "operationId": "updateNapPolicy", @@ -4425,7 +4422,6 @@ }, "/app-protect/policies/{nap_policy_object_id}/deployments": { "get": { - "x-feature-flag": "nap-waf", "tags": [ "NGINX App Protect" ], @@ -4517,7 +4513,6 @@ }, "/app-protect/policies/{nap_policy_object_id}/version": { "get": { - "x-feature-flag": "nap-waf", "tags": [ "NGINX App Protect" ], @@ -4575,7 +4570,6 @@ }, "/app-protect/policies/{nap_policy_object_id}/versions": { "get": { - "x-feature-flag": "nap-waf", "tags": [ "NGINX App Protect" ], @@ -4667,7 +4661,8 @@ }, "/app-protect/policies/{nap_policy_object_id}/versions/{nap_policy_version_object_id}": { "delete": { - "x-feature-flag": "nap-waf", + "x-nginx-one-action": "delete", + "x-nginx-one-entity": "NGINX App Protect Policy Version", "tags": [ "NGINX App Protect" ], @@ -4719,7 +4714,6 @@ } }, "get": { - "x-feature-flag": "nap-waf", "tags": [ "NGINX App Protect" ], @@ -5042,19 +5036,21 @@ "SortNameCVEs": { "name": "sort_cves", "in": "query", - "description": "Sort CVEs by the number of instances affected by that CVE.\n", + "description": "Sort CVEs by the number of instances or control planes affected by that CVE.\n", "schema": { "type": "array", "items": { "type": "string", "enum": [ "instance_count", + "control_plane_count", "severity", "cve_id", "published_at" ], "x-enum-varnames": [ "sort_instance_count", + "sort_control_plane_count", "sort_cve_severity", "sort_cve_id", "sort_published_at" @@ -7595,17 +7591,19 @@ "type": "object", "properties": { "cause": { - "description": "Cause of the failure, detailed as follows:\n* `unknown` - The reason for the failure is not known.\n* `timeout` - The publication request reached its time limit without receiving a response from the NGINX Agent.\n* `remote` - The NGINX Agent reported a failure when trying to apply the configuration. See the message for more details.\n", + "description": "Cause of the failure, detailed as follows:\n* `unknown` - The reason for the failure is not known.\n* `timeout` - The publication request reached its time limit without receiving a response from the NGINX Agent.\n* `remote` - The NGINX Agent reported a failure when trying to apply the configuration. See the message for more details.\n* `payload` - The publication was successful, but there were warnings reported by attached payloads, see message for more details.\n", "type": "string", "enum": [ "unknown", "timeout", - "remote" + "remote", + "payload" ], "x-enum-varnames": [ "publication_instance_status_cause_unknown", "publication_instance_status_cause_timeout", - "publication_instance_status_cause_remote" + "publication_instance_status_cause_remote", + "publication_instance_status_cause_payload" ] }, "message": { @@ -7699,17 +7697,19 @@ "description": "A hash that uniquely identifies the contents of the config object in the publication.\n" }, "status": { - "description": "Publication status for the NGINX instance:\n* `pending` - The publication request has been accepted and is currently processing.\n* `failed` - The publication attempt failed.\n* `succeeded` - The publication was successful.\n", + "description": "Publication status for the NGINX instance:\n* `pending` - The publication request has been accepted and is currently processing.\n* `failed` - The publication attempt failed.\n* `succeeded` - The publication was successful.\n* `succeeded_with_warnings` - The publication was successful, but there were warnings.\n", "type": "string", "enum": [ "pending", "failed", - "succeeded" + "succeeded", + "succeeded_with_warnings" ], "x-enum-varnames": [ "publication_instance_status_pending", "publication_instance_status_failed", - "publication_instance_status_succeeded" + "publication_instance_status_succeeded", + "publication_instance_status_succeeded_with_warnings" ] }, "status_cause": { @@ -7847,16 +7847,18 @@ }, "FilterNameControlPlanes": { "type": "string", - "description": "Keywords for control plane filters.\nWhen filtering on `product`, only the following `filter_values` are supported:\n * nic\n", + "description": "Keywords for control plane filters.\n", "enum": [ "name", "product_version", - "object_id" + "object_id", + "cve_severity" ], "x-enum-varnames": [ "filter_name_control_plane_name", "filter_name_control_plane_product_version", - "filter_name_control_plane_object_id" + "filter_name_control_plane_object_id", + "filter_name_control_plane_cve_severity" ] }, "ListControlPlaneObject": { @@ -7943,9 +7945,9 @@ }, { "object_id": "ecp_-bRQlhscTKmbUIdJaYhGJA", - "name": "nginx-ingress-002", + "name": "ngf-deployment", "created_at": "2023-12-06T22:37:24.120114Z", - "product_version": "nginx-ingress-controller-4.0.1", + "product_version": "nginx-gateway-fabric-2.0.1", "instances_count": 3, "online_instances_count": 1, "cve_severity": [ @@ -8203,17 +8205,19 @@ }, "NginxProduct": { "type": "string", - "description": "NGINX product :\n * `noss` - NGINX Open Source.\n * `nplus` - NGINX PLUS.\n * `nic` - NGINX Ingress Controller.\n", + "description": "NGINX product :\n * `noss` - NGINX Open Source.\n * `nplus` - NGINX PLUS.\n * `nic` - NGINX Ingress Controller.\n * `ngf` - NGINX Gateway Fabric.\n", "enum": [ "noss", "nplus", "nic", + "ngf", "unknown" ], "x-enum-varnames": [ "nginx_product_noss", "nginx_product_nplus", "nginx_product_nic", + "nginx_product_ngf", "nginx_product_unknown" ] }, @@ -8286,6 +8290,13 @@ "1.0.0", "2.1.0" ] + }, + { + "name": "ngf", + "versions": [ + "1.6.2", + "2.0.1" + ] } ], "info": "Memory disclosure in the ngx_http_mp4_module", @@ -9417,7 +9428,7 @@ "MetricDimension": { "type": "string", "default": "display_name", - "description": "Static list of all metric dimensions.\n * `display_name` - The display name of the NGINX instance.\n * `file_path` - Path to a desired file.\n * `parent_hostname` - The hostname of the NGINX Plus instance.\n * `instance_object_id` - Instance Object ID is the unique identifier for an Instance registered with NGINX One Console.\n * `location_zone` - The name of an HTTP location zone.\n * `mount_point` - A filesystem mount point.\n * `namespace` - The Namespace associated with the metric data.\n * `network_interface` - A server network interface.\n * `nginx_id` - The unique identifier of an nginx instance running on the data plane.\n * `server_zone` - The name of an HTTP or Stream server zone.\n * `system_id` - The unique identifier of the the operating system where nginx-agent is running.\n * `tenant` - The Tenant associated with the metric data.\n * `csg_object_id` - Config Sync Group Object ID is the unique identifier for a Config Sync Group registered with NGINX One Console.\n * `mode` - Variant value associated with metric `system.cpu.utilization`.\n * `state` - Variant value associated with metrics `system.filesystem.usage`, `system.memory.usage`.\n * `io_direction` - Variant value associated with metric `system.network.io`.\n * `status_range` - Variant value associated with metric `nginx.http.response.count`.\n", + "description": "Static list of all metric dimensions:\n * `display_name` - Display name of the NGINX instance.\n * `file_path` - Path to the file.\n * `parent_hostname` - Hostname of the NGINX Plus instance.\n * `instance_object_id` - Unique ID of the instance registered with NGINX One Console.\n * `location_zone` - Name of an HTTP location zone.\n * `mount_point` - Filesystem mount point.\n * `namespace` - Namespace for the metric data.\n * `network_interface` - Server network interface.\n * `nginx_id` - Unique ID of the NGINX instance running on the data plane.\n * `server_zone` - Name of an HTTP or Stream server zone.\n * `system_id` - Unique ID of the operating system running nginx-agent.\n * `tenant` - Tenant for the metric data.\n * `csg_object_id` - Unique ID of the Config Sync Group registered with NGINX One Console.\n * `mode` - Variant value for metric `system.cpu.utilization`.\n * `state` - Variant value for metrics `system.filesystem.usage`, `system.memory.usage`.\n * `io_direction` - Variant value for metric `system.network.io`.\n * `status_range` - Variant value for metric `nginx.http.response.count`.\n * `logical_number` - Variant value for metrics that return a processor number.\n * `outcome` - Variant value for metrics that return an outcome.\n", "enum": [ "display_name", "file_path", @@ -9435,7 +9446,9 @@ "mode", "state", "io_direction", - "status_range" + "status_range", + "logical_number", + "outcome" ], "x-enum-varnames": [ "metric_dimension_display_name", @@ -9454,13 +9467,17 @@ "metric_dimension_mode", "metric_dimension_state", "metric_dimension_io_direction", - "metric_dimension_status_range" + "metric_dimension_status_range", + "metric_dimension_logical_number", + "metric_dimension_outcome" ] }, "BaseMetricQueryRequest": { "type": "object", "required": [ - "metrics" + "metrics", + "start_time", + "resolution" ], "properties": { "metrics": { @@ -9758,12 +9775,15 @@ }, { "$ref": "#/components/schemas/MetricNginxHttpResponseCount" + }, + { + "$ref": "#/components/schemas/MetricNginxHttpConnectionCount" } ] }, "MetricSystemCpuUtilization": { "type": "string", - "description": "Total system CPU utilization for 'system' or 'user', percentage. A filter differentiator is needed for specific mode(s).\n\nReplacement for depreciated variant(s):\n * system.cpu.system\n * system.cpu.user\n\nAggregation(s) supported:\n * min\n * max\n * sum\n * avg\n * rate\n\nCatalog dimension filter differentiator:\n * mode (applicable filter values: 'system', 'user')\n\nCatalog dimension(s) supported:\n * instance_object_id\n * csg_object_id\n * system_id\n * parent_hostname\n * display_name\n * nginx_id\n", + "description": "Total system CPU use for 'system' or 'user' (percent). A filter is required to specify the mode.\n\nReplaces deprecated variants:\n * system.cpu.system\n * system.cpu.user\n\nSupported aggregations:\n * min\n * max\n * sum\n * avg\n * rate\n\nCatalog dimension filter:\n * mode (valid values:: 'system', 'user')\n\nSupported catalog dimensions:\n * instance_object_id\n * csg_object_id\n * system_id\n * parent_hostname\n * display_name\n * nginx_id\n * logical_number\n", "enum": [ "system.cpu.utilization" ] @@ -9789,6 +9809,13 @@ "system.cpu.logical.count" ] }, + "MetricNginxHttpConnectionCount": { + "type": "string", + "description": "Number of connections grouped by outcome ('ACCEPTED', 'DROPPED', 'ACTIVE', 'IDLE').\nSupported aggregations:\n * min\n * max\n * sum\n * avg\n * rate\n\nSupported catalog dimensions:\n * instance_object_id\n * csg_object_id\n * system_id\n * parent_hostname\n * display_name\n * nginx_id\n * outcome\n", + "enum": [ + "nginx.http.connection.count" + ] + }, "MetricSystemNetworkIo": { "type": "string", "description": "Network I/O statistics. Number of bytes sent or received per network interface. A filter differentiator is needed for specific I/O direction(s).\n\nReplacement for depreciated variant(s):\n * system.net.bytes_rcvd\n * system.net.bytes_sent\n\nAggregation(s) supported:\n * min\n * max\n * sum\n * avg\n * rate\n\nCatalog dimension filter differentiator:\n * io_direction (applicable filter values: 'transmit', 'receive')\n\nCatalog dimension(s) supported:\n * instance_object_id\n * csg_object_id\n * system_id\n * parent_hostname\n * display_name\n * nginx_id\n * network_interface\n", @@ -10630,6 +10657,435 @@ "$ref": "#/components/schemas/BulkRequestObjectStatus" } }, + "NapSignatureMeta": { + "required": [ + "signature_id", + "name", + "attack_type" + ], + "properties": { + "name": { + "type": "string" + }, + "signature_id": { + "type": "integer" + }, + "attack_type": { + "type": "string" + } + } + }, + "NapSignature": { + "allOf": [ + { + "$ref": "#/components/schemas/NapSignatureMeta" + }, + { + "type": "object", + "required": [ + "description", + "signature_type", + "risk", + "accuracy", + "has_cve", + "modified_at", + "systems" + ], + "properties": { + "accuracy": { + "default": "low", + "enum": [ + "high", + "low", + "medium" + ], + "x-enum-varnames": [ + "nap_signature_accuracy_high", + "nap_signature_accuracy_low", + "nap_signature_accuracy_medium" + ], + "type": "string" + }, + "description": { + "type": "string" + }, + "has_cve": { + "default": false, + "type": "boolean" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "The date and time when the signature was last modified." + }, + "references": { + "items": { + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "default": "nessus", + "enum": [ + "bugtraq", + "cve", + "nessus", + "url" + ], + "x-enum-varnames": [ + "nap_signature_references_type_bugtrag", + "nap_signature_references_type_cve", + "nap_signature_references_type_nessus", + "nap_signature_references_type_url" + ], + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "risk": { + "default": "low", + "enum": [ + "high", + "low", + "medium" + ], + "x-enum-varnames": [ + "nap_signature_risk_high", + "nap_signature_risk_low", + "nap_signature_risk_medium" + ], + "type": "string" + }, + "signature_type": { + "default": "request", + "enum": [ + "request", + "response" + ], + "type": "string", + "x-enum-varnames": [ + "nap_signature_signature_type_request", + "nap_signature_signature_type_response" + ] + }, + "systems": { + "items": { + "type": "string" + }, + "type": "array" + } + } + } + ], + "example": { + "signature_id": 123456789, + "name": "Example Signature", + "description": "This is an example signature.", + "signature_type": "request", + "attack_type": "SQL Injection", + "risk": "high", + "accuracy": "medium", + "has_cve": true, + "modified_at": "2023-10-01T12:00:00Z", + "references": [ + { + "type": "cve", + "value": "CVE-2023-12345" + } + ], + "systems": [ + "System A" + ] + } + }, + "NapSignatureSet": { + "type": "object", + "required": [ + "id", + "name", + "signature_count", + "default_alarm", + "default_block", + "default_learn", + "modified_at" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "signature_count": { + "type": "integer" + }, + "assign_to_policy_by_default": { + "default": false, + "type": "boolean" + }, + "category": { + "default": "User-defined", + "type": "string" + }, + "default_alarm": { + "default": true, + "type": "boolean" + }, + "default_block": { + "default": true, + "type": "boolean" + }, + "default_learn": { + "default": true, + "type": "boolean" + }, + "filter": { + "properties": { + "accuracy_filter": { + "default": "ge", + "enum": [ + "all", + "eq", + "ge", + "le" + ], + "x-enum-varnames": [ + "nap_signature_set_accuracy_filter_all", + "nap_signature_set_accuracy_filter_eq", + "nap_signature_set_accuracy_filter_ge", + "nap_signature_set_accuracy_filter_le" + ], + "type": "string" + }, + "accuracy_value": { + "default": "all", + "enum": [ + "all", + "high", + "low", + "medium" + ], + "x-enum-varnames": [ + "nap_signature_set_accuracy_value_all", + "nap_signature_set_accuracy_value_high", + "nap_signature_set_accuracy_value_low", + "nap_signature_set_accuracy_value_medium" + ], + "type": "string" + }, + "attack_type": { + "properties": { + "name": { + "type": "string" + } + }, + "type": "object" + }, + "has_cve": { + "default": "all", + "enum": [ + "all", + "no", + "yes" + ], + "x-enum-varnames": [ + "nap_signature_set_filter_have_cve_all", + "nap_signature_set_filter_have_cve_no", + "nap_signature_set_filter_have_cve_yes" + ], + "type": "string" + }, + "modified_at_filter": { + "default": "all", + "enum": [ + "after", + "all", + "before" + ], + "x-enum-varnames": [ + "nap_signature_set_filter_modified_at_filter_after", + "nap_signature_set_filter_modified_at_filter_all", + "nap_signature_set_filter_modified_at_filter_before" + ], + "type": "string" + }, + "modified_at_value": { + "default": "1970-01-01", + "type": "string" + }, + "risk_filter": { + "default": "eq", + "enum": [ + "all", + "eq", + "ge", + "le" + ], + "x-enum-varnames": [ + "nap_signature_set_filter_risk_filter_all", + "nap_signature_set_filter_risk_filter_eq", + "nap_signature_set_filter_risk_filter_ge", + "nap_signature_set_filter_risk_filter_le" + ], + "type": "string" + }, + "risk_value": { + "default": "low", + "enum": [ + "all", + "high", + "low", + "medium" + ], + "x-enum-varnames": [ + "nap_signature_set_filter_risk_value_all", + "nap_signature_set_filter_risk_value_high", + "nap_signature_set_filter_risk_value_low", + "nap_signature_set_filter_risk_value_medium" + ], + "type": "string" + }, + "signature_type": { + "default": "request", + "enum": [ + "all", + "request", + "response" + ], + "x-enum-varnames": [ + "nap_signature_set_filter_signature_type_all", + "nap_signature_set_filter_signature_type_request", + "nap_signature_set_filter_signature_type_response" + ], + "type": "string" + }, + "user_defined_filter": { + "default": "all", + "enum": [ + "all", + "no", + "yes" + ], + "x-enum-varnames": [ + "nap_signature_set_filter_user_defined_filter_all", + "nap_signature_set_filter_user_defined_filter_no", + "nap_signature_set_filter_user_defined_filter_yes" + ], + "type": "string" + } + }, + "type": "object" + }, + "modified_at": { + "type": "string", + "format": "date-time", + "description": "The date and time when the signature-set was last modified." + }, + "systems": { + "items": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + } + } + }, + "type": "array" + }, + "type": { + "default": "filter-based", + "enum": [ + "filter-based", + "manual" + ], + "x-enum-varnames": [ + "nap_signature_set_type_filter_based", + "nap_signature_set_type_manual" + ], + "type": "string" + } + }, + "example": { + "default_block": true, + "default_learn": true, + "signature_count": 0, + "filter": { + "accuracy_value": "all", + "accuracy_filter": "all", + "attack_type": { + "name": "XML External Entities (XXE)" + }, + "risk_filter": "all", + "has_cve": "all", + "user_defined_filter": "all", + "risk_value": "all", + "modified_at_filter": "all", + "signature_type": "request" + }, + "assign_to_policy_by_default": false, + "default_alarm": true, + "type": "filter-based", + "name": "XML External Entities (XXE) Signatures", + "id": "sigset_-ZMshmi83MBL97dr5d0a9w", + "category": "User-defined", + "modified_at": "2023-08-10T16:59:15Z", + "systems": [] + } + }, + "NapSignatureListResponse": { + "allOf": [ + { + "$ref": "#/components/schemas/PaginationResponse" + }, + { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "description": "An array of NGINX App Protect signatures.", + "type": "array", + "items": { + "$ref": "#/components/schemas/NapSignature" + } + } + } + } + ] + }, + "NapSignatureSetListResponse": { + "allOf": [ + { + "$ref": "#/components/schemas/PaginationResponse" + }, + { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "description": "An array of NGINX App Protect signature sets.", + "type": "array", + "items": { + "$ref": "#/components/schemas/NapSignatureSet" + } + } + } + } + ] + }, "FilterNameNapPolicy": { "type": "string", "description": "Keywords for NGINX App Protect policy filters.\nWhen filtering on `enforcement_mode`, only the following `filter_values` are supported:\n * blocking\n * transparent\nWhen filtering on `object_id`, both NAP Policy and NAP Policy version object id prefixes are supported.\n", From 411a6c594788f6c36e5d17ee43ba59bf91a4b183 Mon Sep 17 00:00:00 2001 From: Alan Dooley Date: Thu, 21 Aug 2025 09:25:19 +0100 Subject: [PATCH 464/723] fix: Remove remaining old-style call-out (#1008) This call-out was missed in a recent fix: multiple instances existed in the same file. --- content/nginx-one/k8s/add-ngf-helm.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/nginx-one/k8s/add-ngf-helm.md b/content/nginx-one/k8s/add-ngf-helm.md index 34b4c9b38..680987ff1 100644 --- a/content/nginx-one/k8s/add-ngf-helm.md +++ b/content/nginx-one/k8s/add-ngf-helm.md @@ -108,7 +108,11 @@ helm install ngf . \ {{%tab name="NGINX Plus"%}} -{{< note >}} If applicable, replace the F5 Container registry `private-registry.nginx.com` with your internal registry for your NGINX Plus image, and replace `nginx-plus-registry-secret` with your Secret name containing the registry credentials. If your NGINX Plus JWT Secret has a different name than the default `nplus-license`, then define that name using the `nginx.usage.secretName` flag. {{< /note >}} +{{< call-out "note" >}} + +If applicable, replace the F5 Container registry `private-registry.nginx.com` with your internal registry for your NGINX Plus image, and replace `nginx-plus-registry-secret` with your Secret name containing the registry credentials. If your NGINX Plus JWT Secret has a different name than the default `nplus-license`, then define that name using the `nginx.usage.secretName` flag. + +{{< /call-out >}} To install the chart into the **nginx-gateway** namespace, run the following command: From d8738d366862e87f45acca35fa3a9e5b2565ac8b Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Thu, 21 Aug 2025 14:45:09 +0100 Subject: [PATCH 465/723] fix: Fix broken vault link (#1016) * fix: Fix broken vault link Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- .../nim/installation/optional-steps/install-configure-vault.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/includes/nim/installation/optional-steps/install-configure-vault.md b/content/includes/nim/installation/optional-steps/install-configure-vault.md index 6d39a002a..4789a77ec 100644 --- a/content/includes/nim/installation/optional-steps/install-configure-vault.md +++ b/content/includes/nim/installation/optional-steps/install-configure-vault.md @@ -11,6 +11,6 @@ NGINX Instance Manager can use [Vault](https://www.vaultproject.io/) as a datast To install and enable Vault, follow these steps: -- Follow Vault's instructions to [install Vault 1.8.8 or later](https://www.vaultproject.io/docs/install) for your distribution. +- Follow Vault's instructions to [install Vault 1.8.8 or later](https://developer.hashicorp.com/vault/install) for your operating system. - Ensure you're running Vault in a [production-hardened environment](https://learn.hashicorp.com/tutorials/vault/production-hardening). - After installing NGINX Instance Manager, follow the steps to [configure Vault for storing secrets]({{< ref "/nim/system-configuration/configure-vault.md" >}}). From 4d2e5ac77587c085901595f9ce12372a1fab5eee Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Thu, 21 Aug 2025 08:05:03 -0700 Subject: [PATCH 466/723] =?UTF-8?q?docs(nim):=20remove=20closed=20"Won?= =?UTF-8?q?=E2=80=99t=20Fix"=20issues=20from=20Known=20Issues=20(#1011)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/nim/releases/known-issues.md | 275 --------------------------- 1 file changed, 275 deletions(-) diff --git a/content/nim/releases/known-issues.md b/content/nim/releases/known-issues.md index d7c6617a0..fa10ac7f8 100644 --- a/content/nim/releases/known-issues.md +++ b/content/nim/releases/known-issues.md @@ -50,22 +50,6 @@ After the restart you will see the line “loading CVE data from file” in the --- -### {{% icon-bug %}} New warning message when no usage data or report is available {#46022} - -{{}} -| Issue ID | Status | -|----------------|--------| -| 46022 | Won't be resolved | -{{}} - -#### Description - -Users now see a warning message when they click the **Send Usage To F5** button if no new usage data or report is available. The message reads: - -> "Usage data is not available at the moment. Please try submitting usage details again later." - ---- - ## 2.19.1 @@ -457,44 +441,8 @@ The list of Threat Campaigns will disappear when scrolling down, preventing the #### Workaround Threat Campaign versions can be published with the API using the route: `api/platform/v1/security/publish` - --- -### {{% icon-bug %}} When upgrading to Instance Manager 2.10, there may be warnings from the Ingestion service {#42133} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 42133 | Won't be resolved | - -{{}} -#### Description - -When upgrading to 2.10 you may see a warning like the below message for the NGINX Management Suite Ingestion service. It can be safely ignored. - -```none -[WARN] #011/usr/bin/nms-ingestion #011start/start.go:497 #011error checking migrations Mismatched migration version for ClickHouse, expected 39 migrations to be applied, currently have only 44 migrations applied. -``` - ---- - -### {{% icon-bug %}} When upgrading to Instance Manager 2.10, the API does not return lastDeploymentDetails for existing configurations {#42119} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 42119 | Won't be resolved | - -{{}} -#### Description - -After upgrading to Instance Manager 2.10, the API does not return lastDeploymentDetails for existing configuration blocks. This is then reflected as "Invalid Date" in the UI (See #42108). - -#### Workaround - -Republish the configuration for the affected configuration blocks. --- @@ -503,75 +451,11 @@ Republish the configuration for the affected configuration blocks. November 17, 2022 -### {{% icon-bug %}} App Protect Policies page fails when deployed via Helm chart {#38782} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 38782 | Won't be resolved | - -{{}} -#### Description - -When installing NGINX Instance Manager on Kubernetes via Helm Chart, the App Protect page shows an error banner, and no default policies are displayed. - ---- - -### {{% icon-bug %}} Config deployment could fail when referencing remote cert inside allowed directories {#38596} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 38596 | Won't be resolved | - -{{}} -#### Description - -Deploying NGINX config with references to remote cert that resides in allowed directories could fail, with the following error: -`BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory`. - -This can also be diagnosed with log entries in `/var/log/nginx-agent/agent.log`, noting the removal of the referenced certificate. - -#### Workaround - -- Add the referenced cert to NMS as managed certificate and publish the config again. -- Move the referenced remote certificate to a directory that's not in the allowed directory list. - --- -### {{% icon-bug %}} Unreferenced NGINX App Protect policy file in /etc/nms {#38488} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 38488 | Won't be resolved | - -{{}} -#### Description - -When using NGINX Instance Manager with App Protect policies, previously referenced policies in the NGINX configuration may not be removed after they are no longer referenced in the NGINX config. - -#### Workaround - -Unreferenced policy files may be removed manually from /etc/nms. --- -### {{% icon-bug %}} HTTP version schema returns incorrect value in Advanced metrics module {#38041} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 38041 | Won't be resolved | - -{{}} -#### Description - -The values currently populated for http.version_schema are incorrect. The response is "4" for HTTP traffic and "6" for HTTPS traffic. --- @@ -600,50 +484,6 @@ For example, in the NGINX App Protect WAF JSON declarative policy, these referen October 04, 2022 -### {{% icon-bug %}} Aux data fails to upload if the size is greater than 3145728 characters {#37498} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 37498 | Won't be resolved | - -{{}} -#### Description - -Updating a config with an aux data file exceeding 3145728 characters fails with a validation error similar to the following example: - -Request body has an error: doesn't match the schema: Error at "/auxFiles/files/3/contents": maximum string length is 3145728 - ---- - -### {{% icon-bug %}} "Deployment Not Found" error when publishing NGINX config to NATS server {#37437} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 37437 | Won't be resolved | - -{{}} -#### Description - -Occasionally, when publishing an NGINX config to a NATS server, the system returns a `Deployment Not Found` error, and the `nms.log` file includes the error `http failure with code '131043': `. - -#### Workaround - -Remove the existing NATs working directory and restart the NMS Data Plane Manager (`nms-dpm`) service as root. - -{{< call-out "caution" >}}Restarting the `nms-dpm` service is disruptive and may result in the loss of event data. You should schedule a maintenance window for restarting the service.{{< /call-out >}} - -```bash -rm -rf /var/lib/nms/streaming -systemctl restart nms-dpm -``` - ---- - - ## 2.3.0 June 30, 2022 @@ -678,22 +518,6 @@ filterBy=!= '' May 25, 2022 -### {{% icon-bug %}} Giving long names (255+ characters) to certificates causes internal error {#34185} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 34185 | Won't be resolved | - -{{}} -#### Description - -When adding certificates, an internal error (error code: 134018) is returned if the name given for the certificate exceeds 255 characters. - -#### Workaround - -Use a name that is 255 or fewer characters. --- @@ -702,52 +526,6 @@ Use a name that is 255 or fewer characters. April 05, 2022 -### {{% icon-bug %}} An unexpected number of instances are shown after upgrading nginx-agent to 2.1.0 {#33307} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 33307 | Won't be resolved | - -{{}} -#### Description - -After upgrading to NGINX Instance Manager 2.1.0, and updating nginx-agent from platform packaging, duplicate instances may appear on the Instance overview page. This issue is caused by a change in how the NGINX Agent generates the `system_uid`. - -#### Workaround - -You can safely delete the older entries or wait for them to expire. - ---- - -### {{% icon-bug %}} “No such process” error occurs when publishing a configuration {#33160} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 33160 | Won't be resolved | - -{{}} -#### Description - -When publishing a configuration, you might encounter an error similar to the following example: - -``` text -config action failed: Config apply failed (write): no such process -``` - -This error can occur when there is a desyncronization between the NGINX Agent and NGINX PID, often after manually restarting NGINX when the Agent is running. - -#### Workaround - -Restart the NGINX Agent: - -``` bash -sudo systemctl restart nginx-agent -``` - --- @@ -755,18 +533,6 @@ sudo systemctl restart nginx-agent December 21, 2021 -### {{% icon-bug %}} NGINX App Protect WAF blocks NGINX Instance Manager from publishing configurations {#32718} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 32718 | Won't be resolved | - -{{}} -#### Description - -NGINX Instance Manager does not currently support managing NGINX App Protect WAF instances. NGINX App Protect WAF may block attempts to publish configurations to NGINX App Protect WAF instances. --- @@ -787,44 +553,3 @@ In the web interface, when uploading a config file that's larger than 50 MB (max Keep config files under 50 MB. ---- - -### {{% icon-bug %}} CentOS 7, RHEL 7, and Amazon Linux 2 package managers allow unsupported NGINX/NGINX Plus versions {#28758} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 28758 | Won't be resolved | - -{{}} -#### Description - -When installing on CentOS 7, RHEL 7, and Amazon Linux 2, the package manager doesn't prevent installing NGINX Instance Manager with unsupported versions of NGINX or NGINX Plus. As a consequence, it is possible that `nms-instance-manager` is installed without an NGINX gateway. Resulting in a less than optimal experience. - -#### Workaround - -Install a supported version of NGINX (v1.18 or later) or NGINX Plus (R22 or later). See the [Technical Specifications]({{< ref "nim/fundamentals/tech-specs.md" >}}) guide for details. - ---- - -### {{% icon-bug %}} gRPC errors occur when starting NGINX Instance Manager {#28683} - -{{}} - -| Issue ID | Status | -|----------------|--------| -| 28683 | Won't be resolved | - -{{}} -#### Description - - When starting NGINX Instance Manager, you may see errors similar to the following in `/etc/nginx/conf.d/nms-http.conf:227`: - - ```text - nginx[1234]: nginx: [emerg] unknown directive "grpc_socket_keepalive" - ``` - -#### Workaround - -Make sure your version of NGINX is v1.18 or later. From 26daa67df0791b008d81a8be56f42d51b2ee9b12 Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Thu, 21 Aug 2025 08:42:02 -0700 Subject: [PATCH 467/723] removed style cruft in the NIM known issues doc (#1017) --- content/nim/releases/known-issues.md | 34 ---------------------------- 1 file changed, 34 deletions(-) diff --git a/content/nim/releases/known-issues.md b/content/nim/releases/known-issues.md index fa10ac7f8..200e0ee8a 100644 --- a/content/nim/releases/known-issues.md +++ b/content/nim/releases/known-issues.md @@ -441,24 +441,13 @@ The list of Threat Campaigns will disappear when scrolling down, preventing the #### Workaround Threat Campaign versions can be published with the API using the route: `api/platform/v1/security/publish` ---- - --- - ## 2.6.0 November 17, 2022 ---- - - ---- - - ---- - ### {{% icon-bug %}} External references are not supported in App Protect policies {#36265} {{}} @@ -479,11 +468,6 @@ For example, in the NGINX App Protect WAF JSON declarative policy, these referen --- - -## 2.5.0 - -October 04, 2022 - ## 2.3.0 June 30, 2022 @@ -514,28 +498,10 @@ filterBy=!= '' --- -## 2.2.0 - -May 25, 2022 - - ---- - - -## 2.1.0 - -April 05, 2022 - ---- - - ## 2.0.0 December 21, 2021 - ---- - ### {{% icon-bug %}} Web interface doesn’t report error when failing to upload large config files {#31081} {{}} From 8b5d3a7ec814b2f655240c174d0e144d7a81a043 Mon Sep 17 00:00:00 2001 From: vvnginx Date: Fri, 22 Aug 2025 19:16:42 +0530 Subject: [PATCH 468/723] fix: Add clickhouse tuning steps (#1006) --- content/nim/fundamentals/tech-specs.md | 4 + .../configure-clickhouse.md | 143 ++++++++++++++++++ 2 files changed, 147 insertions(+) diff --git a/content/nim/fundamentals/tech-specs.md b/content/nim/fundamentals/tech-specs.md index cab685957..700048bb1 100644 --- a/content/nim/fundamentals/tech-specs.md +++ b/content/nim/fundamentals/tech-specs.md @@ -132,6 +132,10 @@ The table below shows the estimated storage requirements for **NGINX OSS**, base | | 250 | 14 | 4 GiB | {{}} +## ClickHouse tuning {#clickhouse-tuning} +The default ClickHouse configuration works efficiently with NGINX Instance Manager. +If you change the configuration and ClickHouse runs out of memory, see the [ClickHouse configuration guide]({{< ref "/nim/system-configuration/configure-clickhouse.md#clickhouse-tuning" >}}) to adjust the settings. + ## Firewall ports {#firewall} NGINX Instance Manager and NGINX Agent use the Unix domain socket by default and proxy through the gateway on port `443`. diff --git a/content/nim/system-configuration/configure-clickhouse.md b/content/nim/system-configuration/configure-clickhouse.md index 5f46af1a9..a07930f74 100644 --- a/content/nim/system-configuration/configure-clickhouse.md +++ b/content/nim/system-configuration/configure-clickhouse.md @@ -69,3 +69,146 @@ When metrics are turned off: - The web interface no longer shows metrics dashboards. Instead, it displays a message explaining that metrics are turned off. - Metrics-related API endpoints return a 403 error. - All other NGINX Instance Manager features continue to work as expected. + +## ClickHouse tuning {#clickhouse-tuning} + +The default ClickHouse configuration works efficiently with NGINX Instance Manager. If you change the configuration and ClickHouse runs out of memory, use the following steps. + +ClickHouse has system tables that provide logs and telemetry for monitoring and debugging. These are not user activity logs but internal diagnostic logs. The following tables can cause memory issues if not managed: + +Records detailed execution traces and profiling data. Useful for query debugging and performance analysis. + +You can change the settings for `trace_log` in `/etc/clickhouse-server/config.xml` under the `` section. The `flush_interval_milliseconds` setting controls how often data is flushed from memory to the table. The default is `7500`. Lowering this value can increase captured rows and use more memory. + +Default settings for trace_log is as follows + +```xml + + system + trace_log
      + toYYYYMM(event_date) + 7500 + 1048576 + 8192 + 524288 + false + false +
      +``` + +To check memory use by each table: + +```sql +SELECT + database, + table, + formatReadableSize(sum(bytes_on_disk)) AS total_size +FROM system.parts +GROUP BY database, table +ORDER BY sum(bytes_on_disk) DESC; +``` + +To configure a time to live (TTL): + +Update the interval value (for example, `7 DAY`) to set how long records are kept and prevent the table from growing too large: + +```sql +ALTER TABLE system.trace_log +MODIFY TTL event_time + INTERVAL 7 DAY; +``` + +To free memory immediately: + +Update the interval value (for example, `30 DAY`) to control how many records to delete. + +```sql +ALTER TABLE system.trace_log DELETE WHERE event_time < now() - INTERVAL 30 DAY; +``` + +### metric_log + +Stores historical metrics from `system.metrics` and `system.events`. Useful for analyzing performance trends. Too much historical data can cause memory issues. + +Default settings: + +```xml + + system + metric_log
      + 7500 + 1048576 + 8192 + 524288 + 1000 + false +
      +``` + +Check table memory use: + +```sql +SELECT + database, + table, + formatReadableSize(sum(bytes_on_disk)) AS total_size +FROM system.parts +GROUP BY database, table +ORDER BY sum(bytes_on_disk) DESC; +``` + +Set TTL: + +```sql +ALTER TABLE system.metric_log +MODIFY TTL event_time + INTERVAL 7 DAY; +``` + +Free memory immediately: + +```sql +ALTER TABLE system.metric_log DELETE WHERE event_time < now() - INTERVAL 30 DAY; +``` + +### text_log + +Stores general logs such as warnings, errors, system messages, and query events. You can control what is logged using the `text_log.level` server setting. + +Default settings: + +```xml + + system + text_log
      + 7500 + 1048576 + 8192 + 524288 + false + trace +
      +``` + +Check table memory use: + +```sql +SELECT + database, + table, + formatReadableSize(sum(bytes_on_disk)) AS total_size +FROM system.parts +GROUP BY database, table +ORDER BY sum(bytes_on_disk) DESC; +``` + +Set TTL: + +```sql +ALTER TABLE system.text_log +MODIFY TTL event_time + INTERVAL 7 DAY; +``` + +Free memory immediately: + +```sql +ALTER TABLE system.text_log DELETE WHERE event_time < now() - INTERVAL 30 DAY; +``` From 0f031be3568772f1e0105dd5dd80bb78580be432 Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Fri, 22 Aug 2025 06:53:27 -0700 Subject: [PATCH 469/723] Formatting edits to the Configure ClickHouse doc (#1021) --- content/nim/fundamentals/tech-specs.md | 3 +-- content/nim/system-configuration/configure-clickhouse.md | 6 +++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/content/nim/fundamentals/tech-specs.md b/content/nim/fundamentals/tech-specs.md index 700048bb1..c0a381915 100644 --- a/content/nim/fundamentals/tech-specs.md +++ b/content/nim/fundamentals/tech-specs.md @@ -133,8 +133,7 @@ The table below shows the estimated storage requirements for **NGINX OSS**, base {{
      }} ## ClickHouse tuning {#clickhouse-tuning} -The default ClickHouse configuration works efficiently with NGINX Instance Manager. -If you change the configuration and ClickHouse runs out of memory, see the [ClickHouse configuration guide]({{< ref "/nim/system-configuration/configure-clickhouse.md#clickhouse-tuning" >}}) to adjust the settings. +The default ClickHouse configuration works efficiently with NGINX Instance Manager. If you change the configuration and ClickHouse runs out of memory, see the [ClickHouse configuration guide]({{< ref "/nim/system-configuration/configure-clickhouse.md#clickhouse-tuning" >}}) to adjust the settings. ## Firewall ports {#firewall} diff --git a/content/nim/system-configuration/configure-clickhouse.md b/content/nim/system-configuration/configure-clickhouse.md index a07930f74..26d263f00 100644 --- a/content/nim/system-configuration/configure-clickhouse.md +++ b/content/nim/system-configuration/configure-clickhouse.md @@ -76,11 +76,15 @@ The default ClickHouse configuration works efficiently with NGINX Instance Manag ClickHouse has system tables that provide logs and telemetry for monitoring and debugging. These are not user activity logs but internal diagnostic logs. The following tables can cause memory issues if not managed: +### trace_log + Records detailed execution traces and profiling data. Useful for query debugging and performance analysis. You can change the settings for `trace_log` in `/etc/clickhouse-server/config.xml` under the `` section. The `flush_interval_milliseconds` setting controls how often data is flushed from memory to the table. The default is `7500`. Lowering this value can increase captured rows and use more memory. -Default settings for trace_log is as follows +### trace_log + +Default settings: ```xml From 1bef9d9039cbf7a89369b0d0d34560dd0f667520 Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Fri, 22 Aug 2025 06:57:50 -0700 Subject: [PATCH 470/723] Update configure-clickhouse.md (#1022) --- content/nim/system-configuration/configure-clickhouse.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/nim/system-configuration/configure-clickhouse.md b/content/nim/system-configuration/configure-clickhouse.md index 26d263f00..37478250b 100644 --- a/content/nim/system-configuration/configure-clickhouse.md +++ b/content/nim/system-configuration/configure-clickhouse.md @@ -82,8 +82,6 @@ Records detailed execution traces and profiling data. Useful for query debugging You can change the settings for `trace_log` in `/etc/clickhouse-server/config.xml` under the `` section. The `flush_interval_milliseconds` setting controls how often data is flushed from memory to the table. The default is `7500`. Lowering this value can increase captured rows and use more memory. -### trace_log - Default settings: ```xml From ca19998a70f77e3a856ff56a423b336c83fd8ee8 Mon Sep 17 00:00:00 2001 From: yar Date: Fri, 22 Aug 2025 17:13:14 +0100 Subject: [PATCH 471/723] Added steps for acme module configuration (#986) Co-authored-by: Alan Dooley --- .../nginx/admin-guide/dynamic-modules/acme.md | 62 ++++++++++++++++--- 1 file changed, 54 insertions(+), 8 deletions(-) diff --git a/content/nginx/admin-guide/dynamic-modules/acme.md b/content/nginx/admin-guide/dynamic-modules/acme.md index 2a16983ae..df8afe2c8 100644 --- a/content/nginx/admin-guide/dynamic-modules/acme.md +++ b/content/nginx/admin-guide/dynamic-modules/acme.md @@ -198,25 +198,71 @@ In a text editor, open the NGINX Plus configuration file: - `/etc/nginx/nginx.conf` for Linux - `/usr/local/etc/nginx/nginx.conf` for FreeBSD -For a complete list of directives, embedded variables, default span attributes, refer to the `ngx_http_acme_module` official documentation. -List of directives: +For a complete list of directives and variables refer to the `ngx_http_acme_module` [official documentation](https://nginx.org/en/docs/http/ngx_http_acme_module.html) and [NGINX ACME module GitHub project](https://github.com/nginx/nginx-acme). -[`https://nginx.org/en/docs/http/ngx_http_acme_module.html#directives`](https://nginx.org/en/docs/ngx_otel_module.html#directives) +1. To enable ACME functionality, specify the directory URL of the ACME server with the [`uri`](https://nginx.org/en/docs/http/ngx_http_acme_module.html#uri) directive. -List of variables: + Additionally, you can provide information regarding how to contact the client in case of certificate-related issues or where to store module data with the [`contact`](https://nginx.org/en/docs/http/ngx_http_acme_module.html#contact) and [`state_path`](https://nginx.org/en/docs/http/ngx_http_acme_module.html#state_path) directives. -[`https://nginx.org/en/docs/http/ngx_http_acme_module.html#variables`](https://nginx.org/en/docs/ngx_otel_module.html#variables) + ```nginx + acme_issuer letsencrypt { + uri https://acme-v02.api.letsencrypt.org/directory; + # contact admin@example.test; + state_path /var/cache/nginx/acme-letsencrypt; + accept_terms_of_service; + } + ``` -## Usage example +2. If necessary, you can increase the default shared memory zone that stores certificates, private keys, and challenge data for all the configured certificate issuers with the [`acme_shared_zone`](https://nginx.org/en/docs/http/ngx_http_acme_module.html#acme_shared_zone) directive. The default zone size is `256k`. -```shell + ```nginx + acme_shared_zone zone=acme_shared:1M; + ``` + +3. Configure Challenges by defining a listener on port 80 in the nginx configuration to process ACME HTTP-01 challenges: + + ```nginx + server { + # listener on port 80 is required to process ACME HTTP-01 challenges + listen 80; + + location / { + #Serve a basic 404 response while listening for challenges + return 404; + } + } + ``` + +4. Automate the issuance or renewal of TLS certificates with the [`acme_certificate`](https://nginx.org/en/docs/http/ngx_http_acme_module.html#acme_certificate) directive in the respective [`server`](https://nginx.org/en/docs/http/ngx_http_core_module.html#server) block. The directive requires the list of identifiers (domains) for which the certificates need to be dynamically issued that can be defined with the [`server_name`](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_name) directive. The [`$acme_certificate`](https://nginx.org/en/docs/http/ngx_http_core_module.html#var_acme_certificate_key) and [`$acme_certificate_key`](https://nginx.org/en/docs/http/ngx_http_core_module.html#var_acme_certificate_key) variables are used to pass the SSL certificate and key information for the associated domain: + + ```nginx + server { + + listen 443 ssl; + + server_name .example.com; + + acme_certificate letsencrypt; + + ssl_certificate $acme_certificate; + ssl_certificate_key $acme_certificate_key; + ssl_certificate_cache max=2; + } + ``` + + Note that not all values accepted by the [`server_name`](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_name) directive are valid identifiers. Wildcards and regular expressions are not supported. + + +## Full example + +```nginx resolver 127.0.0.1:53; acme_issuer example { uri https://acme.example.com/directory; - # contact admin@example.test; + # contact admin@example.test; state_path /var/cache/nginx/acme-example; accept_terms_of_service; } From ee6bd4ce05f86b640a41d8995d52adb56f164fe3 Mon Sep 17 00:00:00 2001 From: jayaparthasarathyf5 Date: Sat, 23 Aug 2025 22:06:59 +0530 Subject: [PATCH 472/723] fix: Update license_usage_offline.sh (#1014) * Update license_usage_offline.sh updated license script * fix: latest script * fix: Update static/scripts/license_usage_offline.sh Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> --------- Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> --- static/scripts/license_usage_offline.sh | 99 +++++++++++++------------ 1 file changed, 50 insertions(+), 49 deletions(-) diff --git a/static/scripts/license_usage_offline.sh b/static/scripts/license_usage_offline.sh index be2cd3a65..f94391c9d 100755 --- a/static/scripts/license_usage_offline.sh +++ b/static/scripts/license_usage_offline.sh @@ -4,6 +4,26 @@ set -euo pipefail IFS=$'\n\t' +# Debug mode +if [[ "${DEBUG:-false}" == "true" ]]; then + set -x # Enable command tracing + echo "Debug mode enabled" + echo "Running in directory: $(pwd)" + echo "Script arguments: $*" + env | grep -E 'JWT_FILE|NIM_IP|USERNAME|PASSWORD|USE_CASE' +fi + +# Set timeouts for operations +CURL_TIMEOUT=${CURL_TIMEOUT:-30} +API_POLL_TIMEOUT=${API_POLL_TIMEOUT:-60} + +# Function to log with timestamp +log() { + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" +} + +log "Script started" + # Function to display usage usage() { echo "Usage: $0 -j -i -u -p -s " @@ -44,7 +64,6 @@ if [ ! -d "/tmp" ]; then mkdir -p /tmp || { echo "Failed to create /tmp directory. Exiting."; exit 1; } fi - # Read JWT contents if [ ! -f "$JWT_FILE" ]; then echo -e "JWT file '$JWT_FILE' not found.$" >&2 @@ -84,17 +103,22 @@ is_ipv4() { return 1 fi } +echo "Checking connectivity to NGINX Instance Manager using Curl ..." +if ! curl -sk --output /dev/null --silent --fail --max-time $CURL_TIMEOUT "https://$NIM_IP"; then + echo -e "The NGINX Instance Manager UI is not reachable on $NIM_IP" + exit 1 +fi +echo "Checking connectivity to F5 licensing server..." +SERVER_RESPONSE=$(curl -v --max-time $CURL_TIMEOUT https://product.apis.f5.com 2>&1) -if is_ipv4 "$NIM_IP"; then - check_ping "$NIM_IP" +# Check if the server is reachable by verifying connection was established +if echo "$SERVER_RESPONSE" | grep -q "Connected to product.apis.f5.com" && echo "$SERVER_RESPONSE" | grep -q "server accepted"; then + echo -e "The licensing server is reachable on product.apis.f5.com" else - echo "Checking connectivity to NGINX Instance Manager using Curl ..." - if ! curl -sk --output /dev/null --silent --fail "https://$NIM_IP"; then - echo -e "The NGINX Instance Manager UI is not reachable on $NIM_IP" - exit 1 - fi -fi -check_ping "product.apis.f5.com" + echo -e "The licensing server is not reachable on product.apis.f5.com" + echo -e "Connection details: $SERVER_RESPONSE" + exit 1 +fi # NGINX Instance Manager Version check VERSION_JSON=$(curl -sk -X GET "https://$NIM_IP/api/platform/v1/modules/versions" \ @@ -102,7 +126,6 @@ VERSION_JSON=$(curl -sk -X GET "https://$NIM_IP/api/platform/v1/modules/versions --header "Authorization: Basic $AUTH_HEADER") NIM_VER=$(echo "$VERSION_JSON" | sed -E 's/.*"nim"[ \t]*:[ \t]*"([0-9]+\.[0-9]+)(\.[0-9]+)?".*/\1/') echo "Current version of NGINX Instance Manager is $NIM_VER" -JWT_CONTENT=$(<"$JWT_FILE") # Construct JSON payload JSON_PAYLOAD=$(cat <&2 - exit 1 - fi - # Step 1: Apply JWT license (only if use case is 'initial' or 'intial_only') echo "Applying JWT license" + sleep 5 RESPONSE=$(curl -sS -k --max-time 10 -w "\n%{http_code}" -X POST "https://$NIM_IP/api/platform/v1/license?telemetry=true" \ -H "Origin: $ORIGIN" \ -H "Referer: $REFERER" \ @@ -165,12 +181,9 @@ if [[ "$USE_CASE" == "initial" ]]; then HTTP_BODY=$(echo "$RESPONSE" | sed '$d') HTTP_STATUS=$(echo "$RESPONSE" | tail -n1) if [ "$HTTP_STATUS" -ne 202 ]; then - echo -e "HTTP request failed with status code $HTTP_STATUS. - Response: $HTTP_BODY$" >&2 + echo -e "HTTP request failed with status code $HTTP_STATUS.\nResponse: $HTTP_BODY$" >&2 if echo "$HTTP_BODY" | jq -r '.message' | grep -q "failed to register token. already registered"; then - echo -e "NGINX Instance Manager already registered and licensed. - If needed, terminate the current license manually in the NGINX Instance Manager UI and re-run the script with the correct license. - https://docs.nginx.com/nginx-instance-manager/disconnected/add-license-disconnected-deployment/" + echo -e "NGINX Instance Manager is already licensed.\nTo use a different license, remove the current one in the NGINX Instance Manager UI, then re-run the script.\nSee https://docs.nginx.com/nginx-instance-manager/disconnected/add-license-disconnected-deployment/ for details." fi exit 1 fi @@ -179,12 +192,11 @@ fi if [[ "$NIM_VER" < "2.18" ]]; then echo "NGINX Instance Manager version $NIM_VER is not supported by this script. Please use NGINX Instance Manager 2.18 or later" exit 1 - elif [[ "$NIM_VER" == "2.18" ]] || [[ "$NIM_VER" == "2.19" ]]; then echo "NGINX Instance Manager version $NIM_VER detected." ORIGIN="https://$NIM_IP" -# Send the PUT request and separate body and status code + # Send the PUT request and separate body and status code PUT_RESPONSE_CODE=$(curl -k -s -w "%{http_code}" -o /tmp/put_response.json --location --request PUT "https://$NIM_IP/api/platform/v1/license?telemetry=true" \ --header "Origin: $ORIGIN" \ --header "Referer: https://$NIM_IP/ui/settings/license" \ @@ -223,7 +235,6 @@ elif [[ "$NIM_VER" == "2.18" ]] || [[ "$NIM_VER" == "2.19" ]]; then fi if [[ "$USE_CASE" != "telemetry" ]]; then - RESPONSE=$(curl -sS -k --max-time 10 -w "\n%{http_code}" -X POST "https://$NIM_IP/api/platform/v1/license?telemetry=true" \ -H "Origin: $ORIGIN" \ -H "Referer: $REFERER" \ @@ -237,8 +248,7 @@ if [[ "$USE_CASE" != "telemetry" ]]; then echo -e "License applied successfully in DISCONNECTED mode." fi - - +sleep 5 # Continue with further steps for version >= 2.20... echo "Executing telemetry tasks " # Step 2: Download the usage report @@ -263,27 +273,25 @@ if [[ "$NIM_VER" == "2.18" ]] || [[ "$NIM_VER" == "2.19" ]]; then --header 'accept: */*' \ --header 'authorization: Basic $AUTH_HEADER' \ --output \"$report_save_path\"" + if [ "$USE_CASE" == "telemetry" ]; then echo "Running telemetry stage: " - # Run the saved command and store the response response=$(eval $prepare_usage_command) - sleep 2 # Validate if the response contains "Report generation in progress" - if echo "$response" | grep -q '"telemetry":"Report generation in progress"'; then + if echo "$response" | grep -q '"telemetry":"Report generation in progress"'; then echo -e "Success: Report generation is in progress." else echo -e "Failure: Report generation not in progress or unexpected response." exit 1 - fi - - echo "Running command: $download_usage_command" - eval $download_usage_command - else - echo "Running command: $download_usage_command" - eval $download_usage_command - fi + fi + echo "Running command: $download_usage_command" + eval $download_usage_command + else + echo "Running command: $download_usage_command" + eval $download_usage_command + fi fi else # Perform the request and capture the status code and output @@ -296,24 +304,19 @@ else # Extract the HTTP status code (last line) HTTP_STATUS=$(echo "$HTTP_RESPONSE" | tail -n1) - # Check the status code + # Check the status code if [ "$HTTP_STATUS" -ne 200 ]; then echo -e "Failed to download usage report from NGINX Instance Manager. HTTP Status Code: $HTTP_STATUS" >&2 echo "Please verify that NGINX Instance Manager is reachable and the credentials are correct." >&2 echo "(or) Verify that NGINX Instance Manager is licensed before using the 'telemetry' flag (run it with 'initial' first)." - # Optionally, remove the partial or corrupt file - rm -f /tmp/response.zip exit 1 fi fi echo -e "Usage report downloaded successfully as '/tmp/response.zip'." - # Step 3: Upload the usage report to F5 server echo "Uploading the usage report to F5 Licensing server" - TEEM_UPLOAD_URL="https://product.apis.f5.com/ee/v1/entitlements/telemetry/bulk" - # Capture both response body and status code UPLOAD_RESULT=$(curl -sS -w "\n%{http_code}" --location "$TEEM_UPLOAD_URL" \ --header "Authorization: Bearer $JWT_CONTENT" \ @@ -338,7 +341,6 @@ fi # Extract the statusLink STATUS_LINK=$(echo "$UPLOAD_BODY" | jq -r '.statusLink // empty') - if [ -z "$STATUS_LINK" ]; then echo -e "Failed to extract statusLink from the upload response. Response: $UPLOAD_BODY$" >&2 exit 1 @@ -425,7 +427,6 @@ echo -e "Report validated successfully. All conditions met." # Step 5: Download the report from F5 echo "Downloading report from F5 License server..." - DOWNLOAD_URL="https://product.apis.f5.com/ee/v1/entitlements/telemetry/bulk/download/$STATUS_ID" DOWNLOAD_RESPONSE=$(curl -sS -w "%{http_code}" --location "$DOWNLOAD_URL" \ --header "Authorization: Bearer $JWT_CONTENT" \ @@ -442,7 +443,6 @@ echo -e "Report downloaded successfully from F5 as '/tmp/response_teem.zip'." # Step 6: Upload the acknowledgement report to NGINX Instance Manager echo "Uploading the license acknowledgement to NGINX Instance Manager..." - UPLOAD_URL="https://$NIM_IP/api/platform/v1/report/upload" UPLOAD_RESPONSE=$(curl -k -sS --location "$UPLOAD_URL" \ --header "Authorization: Basic $AUTH_HEADER" \ @@ -468,3 +468,4 @@ if [ "$UPLOAD_MESSAGE" != "Report uploaded successfully." ] || [ "$HTTP_STATUS" fi echo -e "Acknowledgement uploaded successfully to NGINX Instance Manager." + From f48f357e3bfedb11ab85056dfbef479b599e340d Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Mon, 25 Aug 2025 11:28:21 +0100 Subject: [PATCH 473/723] fix: Update Vault references to use new documentation links (#1024) Updates two hashicorp links to the current locations --- content/nim/system-configuration/configure-vault.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/nim/system-configuration/configure-vault.md b/content/nim/system-configuration/configure-vault.md index 06d2915b7..2b0bae9e2 100644 --- a/content/nim/system-configuration/configure-vault.md +++ b/content/nim/system-configuration/configure-vault.md @@ -15,8 +15,8 @@ HashiCorp's Vault is a popular solution for storing secrets. While F5 NGINX Inst To complete the steps in this guide, you need: -- A working understanding of [Vault](https://www.vaultproject.io) and its operations. -- A running version of [Vault 1.8.8 or later](https://www.vaultproject.io/docs/install). +- A working understanding of [Vault](https://developer.hashicorp.com/vault) and its operations. +- A running version of [Vault 1.8.8 or later](https://developer.hashicorp.com/vault/install). --- From 70aac3aa480193cd7fb4b3d7104b0dabe79af6de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Aug 2025 11:42:10 +0100 Subject: [PATCH 474/723] build(deps): bump github/codeql-action from 3.29.9 to 3.29.11 (#1023) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.9 to 3.29.11. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/df559355d593797519d70b90fc8edd5db049e7a2...3c3833e0f8c1c83d449a7478aa59c036a9165498) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.29.11 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alan Dooley --- .github/workflows/ossf_scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ossf_scorecard.yml b/.github/workflows/ossf_scorecard.yml index 40a7e8f87..c15bc2ab7 100644 --- a/.github/workflows/ossf_scorecard.yml +++ b/.github/workflows/ossf_scorecard.yml @@ -56,6 +56,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: Upload SARIF results to code scanning - uses: github/codeql-action/upload-sarif@df559355d593797519d70b90fc8edd5db049e7a2 # v3.29.5 + uses: github/codeql-action/upload-sarif@3c3833e0f8c1c83d449a7478aa59c036a9165498 # v3.29.5 with: sarif_file: results.sarif From ccf779a248bffdc0dc9d64b72545d3993443b658 Mon Sep 17 00:00:00 2001 From: vvnginx Date: Mon, 25 Aug 2025 18:51:16 +0530 Subject: [PATCH 475/723] fix: "Updated manual install steps of NIM for RHEL-9 distro. Updated NAP compiler version in offline installation steps " (#1000) * fix: Add Offline steps to install WAF compiler on NIM * fix: Update setup-waf-config-management.md * fix: Update content/nim/nginx-app-protect/setup-waf-config-management.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * fix: Update content/nim/nginx-app-protect/setup-waf-config-management.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * fix: Update content/nim/nginx-app-protect/setup-waf-config-management.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * fix: Update content/nim/nginx-app-protect/setup-waf-config-management.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * fix: Update content/nim/nginx-app-protect/setup-waf-config-management.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * fix: Update content/nim/nginx-app-protect/setup-waf-config-management.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * fix: Update content/nim/nginx-app-protect/setup-waf-config-management.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * fix: Update content/nim/nginx-app-protect/setup-waf-config-management.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * fix: Update content/nim/nginx-app-protect/setup-waf-config-management.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * fix: Update setup-waf-config-management.md --------- Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- .../nginx-app-protect/setup-waf-config-management.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/content/nim/nginx-app-protect/setup-waf-config-management.md b/content/nim/nginx-app-protect/setup-waf-config-management.md index fa7a56bcc..190c39d4a 100644 --- a/content/nim/nginx-app-protect/setup-waf-config-management.md +++ b/content/nim/nginx-app-protect/setup-waf-config-management.md @@ -240,6 +240,7 @@ error when creating the nginx repo retriever - NGINX repo certificates not found If needed, you can also [install the WAF compiler manually](#install-the-waf-compiler). + ## Install or update the WAF compiler in a disconnected environment To install the WAF compiler on a system without internet access, complete these steps: @@ -247,6 +248,7 @@ To install the WAF compiler on a system without internet access, complete these - **Step 1:** Generate the WAF compiler package on a system that has internet access. - **Step 2:** Move the generated package to the offline target system and install it. + Note : Version of NAP compiler can be referred from the table at the top of this page. Current latest version 5.442.0 at the point of writing this document is used in below commands. @@ -254,6 +256,7 @@ Current latest version 5.442.0 at the point of writing this document is used in {{%tab name="Ubuntu"%}} + ### Install on Ubuntu 24.04, 22.04 #### Step 1: On a system with internet access @@ -276,10 +279,12 @@ sudo tee /etc/apt/sources.list.d/nms.list sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/files/90pkgs-nginx mkdir -p compiler && cd compiler sudo apt-get update + sudo apt-get download nms-nap-compiler-v5.442.0 cd ../ mkdir -p compiler/compiler.deps sudo apt-get install --download-only --reinstall --yes --print-uris nms-nap-compiler-v5.442.0 | grep ^\' | cut -d\' -f2 | xargs -n 1 wget -P ./compiler/compiler.deps + tar -czvf compiler.tar.gz compiler/ ``` @@ -320,6 +325,7 @@ sudo tee /etc/apt/sources.list.d/nms.list sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/files/90pkgs-nginx mkdir -p compiler && cd compiler sudo apt-get update + sudo apt-get download nms-nap-compiler-v5.442.0 cd ../ mkdir -p compiler/compiler.deps @@ -340,6 +346,7 @@ sudo dpkg -i ./compiler/*.deb {{%/tab%}} + {{%tab name="RHEL9, Oracle-9 "%}} ### Install on RHEL 9 or Oracle Linux 9 @@ -359,6 +366,7 @@ sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/nms.repo sudo yum-config-manager --disable rhel-9-appstream-rhui-rpms sudo yum update -y sudo mkdir -p nms-nap-compiler + sudo yumdownloader --resolve --destdir=nms-nap-compiler nms-nap-compiler-v5.442.0 tar -czvf compiler.tar.gz nms-nap-compiler/ ``` @@ -376,6 +384,7 @@ sudo dnf install *.rpm --disablerepo=* {{%/tab%}} + {{%tab name="Redhat-8, Oracle-8"%}} ### Install on RHEL-8 or Oracle Linux 8 @@ -401,7 +410,9 @@ EOF sudo yum update -y sudo mkdir -p nms-nap-compiler + sudo yumdownloader --resolve --destdir=nms-nap-compiler nms-nap-compiler-v5.442.0 + tar -czvf compiler.tar.gz nms-nap-compiler/ ``` From 25c12b27b108123b65be6d9e97383c8b676fd8f9 Mon Sep 17 00:00:00 2001 From: vvnginx Date: Mon, 25 Aug 2025 19:00:14 +0530 Subject: [PATCH 476/723] fix: Add support for NAP v4.16.0/v5.8.0 in NIM (#1002) * fix: Update setup-waf-config-management.md * fix: Update nim-app-protect-support.md Now NIM supports NAP version 4.16.0 and 5.8.0 as well! --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- .../nim/tech-specs/nim-app-protect-support.md | 2 +- .../setup-waf-config-management.md | 42 ++++++++++--------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/content/includes/nim/tech-specs/nim-app-protect-support.md b/content/includes/nim/tech-specs/nim-app-protect-support.md index 203e7c2ef..c4cb16b01 100644 --- a/content/includes/nim/tech-specs/nim-app-protect-support.md +++ b/content/includes/nim/tech-specs/nim-app-protect-support.md @@ -8,7 +8,7 @@ NGINX Instance Manager supports the following versions of [NGINX App Protect WAF | NGINX Instance Manager | NGINX App Protect WAF | |------------------------|------------------------------------| -| 2.17.0–2.20.0 | Release 4.8.0–4.15.0, 5.1.0–5.7.0 | +| 2.17.0–2.20.0 | Release 4.8.0–4.16.0, 5.1.0–5.8.0 | | 2.15.1–2.16.0 | Release 4.8.0–4.10.0 | | 2.14.1–2.15.0 | Release 4.4.0–4.7.0 | | 2.13.0–2.14.0 | Release 4.3.0–4.5.0 | diff --git a/content/nim/nginx-app-protect/setup-waf-config-management.md b/content/nim/nginx-app-protect/setup-waf-config-management.md index 190c39d4a..4464329f9 100644 --- a/content/nim/nginx-app-protect/setup-waf-config-management.md +++ b/content/nim/nginx-app-protect/setup-waf-config-management.md @@ -55,6 +55,7 @@ The table below shows which WAF compiler version to use for each version of NGIN | NGINX App Protect WAF version | WAF compiler version | |-------------------------------|----------------------------| +| 5.8.0 | nms-nap-compiler-v5.498.0 | | 5.7.0 | nms-nap-compiler-v5.442.0 | | 5.6.0 | nms-nap-compiler-v5.342.0 | | 5.5.0 | nms-nap-compiler-v5.264.0 | @@ -62,6 +63,7 @@ The table below shows which WAF compiler version to use for each version of NGIN | 5.3.0 | nms-nap-compiler-v5.144.0 | | 5.2.0 | nms-nap-compiler-v5.48.0 | | 5.1.0 | nms-nap-compiler-v5.17.0 | +| 4.16.0 | nms-nap-compiler-v5.498.0 | | 4.15.0 | nms-nap-compiler-v5.442.0 | | 4.14.0 | nms-nap-compiler-v5.342.0 | | 4.13.0 | nms-nap-compiler-v5.264.0 | @@ -88,13 +90,13 @@ The table below shows which WAF compiler version to use for each version of NGIN To install the WAF compiler on Debian or Ubuntu, run the following command: ```shell -sudo apt-get install nms-nap-compiler-v5.442.0 +sudo apt-get install nms-nap-compiler-v5.498.0 ``` If you want to install more than one version of the WAF compiler on the same system, append the `--force-overwrite` option to the install command after the first installation: ```shell -sudo apt-get install nms-nap-compiler-v5.442.0 -o Dpkg::Options::="--force-overwrite" +sudo apt-get install nms-nap-compiler-v5.498.0 -o Dpkg::Options::="--force-overwrite" ``` {{< include "nim/nap-waf/restart-nms-integrations.md" >}} @@ -118,7 +120,7 @@ To install the WAF compiler on RHEL 8.1 : 3. Install the WAF compiler: ```shell - sudo yum install nms-nap-compiler-v5.442.0 + sudo yum install nms-nap-compiler-v5.498.0 ``` ### RHEL 9 @@ -140,7 +142,7 @@ To install the WAF compiler on RHEL 9: 3. Install the WAF compiler: ```shell - sudo yum install nms-nap-compiler-v5.442.0 + sudo yum install nms-nap-compiler-v5.498.0 ``` 4. {{< include "nim/nap-waf/restart-nms-integrations.md" >}} @@ -164,7 +166,7 @@ To install the WAF compiler on Oracle Linux 8.1: 3. Install the WAF compiler: ```shell - sudo yum install nms-nap-compiler-v5.442.0 + sudo yum install nms-nap-compiler-v5.498.0 ``` 4. {{< include "nim/nap-waf/restart-nms-integrations.md" >}} @@ -250,7 +252,7 @@ To install the WAF compiler on a system without internet access, complete these Note : Version of NAP compiler can be referred from the table at the top of this page. -Current latest version 5.442.0 at the point of writing this document is used in below commands. +Current latest version 5.498.0 at the point of writing this document is used in below commands. {{}} @@ -280,10 +282,10 @@ sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/fil mkdir -p compiler && cd compiler sudo apt-get update -sudo apt-get download nms-nap-compiler-v5.442.0 +sudo apt-get download nms-nap-compiler-v5.498.0 cd ../ mkdir -p compiler/compiler.deps -sudo apt-get install --download-only --reinstall --yes --print-uris nms-nap-compiler-v5.442.0 | grep ^\' | cut -d\' -f2 | xargs -n 1 wget -P ./compiler/compiler.deps +sudo apt-get install --download-only --reinstall --yes --print-uris nms-nap-compiler-v5.498.0 | grep ^\' | cut -d\' -f2 | xargs -n 1 wget -P ./compiler/compiler.deps tar -czvf compiler.tar.gz compiler/ ``` @@ -326,10 +328,11 @@ sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/fil mkdir -p compiler && cd compiler sudo apt-get update -sudo apt-get download nms-nap-compiler-v5.442.0 +sudo apt-get download nms-nap-compiler-v5.498.0 + cd ../ mkdir -p compiler/compiler.deps -sudo apt-get install --download-only --reinstall --yes --print-uris nms-nap-compiler-v5.442.0 | grep ^\' | cut -d\' -f2 | xargs -n 1 wget -P ./compiler/compiler.deps +sudo apt-get install --download-only --reinstall --yes --print-uris nms-nap-compiler-v5.498.0 | grep ^\' | cut -d\' -f2 | xargs -n 1 wget -P ./compiler/compiler.deps tar -czvf compiler.tar.gz compiler/ ``` @@ -367,7 +370,7 @@ sudo yum-config-manager --disable rhel-9-appstream-rhui-rpms sudo yum update -y sudo mkdir -p nms-nap-compiler -sudo yumdownloader --resolve --destdir=nms-nap-compiler nms-nap-compiler-v5.442.0 +sudo yumdownloader --resolve --destdir=nms-nap-compiler nms-nap-compiler-v5.498.0 tar -czvf compiler.tar.gz nms-nap-compiler/ ``` @@ -411,8 +414,7 @@ EOF sudo yum update -y sudo mkdir -p nms-nap-compiler -sudo yumdownloader --resolve --destdir=nms-nap-compiler nms-nap-compiler-v5.442.0 - +sudo yumdownloader --resolve --destdir=nms-nap-compiler nms-nap-compiler-v5.498.0 tar -czvf compiler.tar.gz nms-nap-compiler/ ``` @@ -1205,21 +1207,21 @@ sudo /opt/nms-nap-compiler/app_protect-/bin/apcompile -h **Example:** ```shell -sudo /opt/nms-nap-compiler/app_protect-5.442.0/bin/apcompile -h +sudo /opt/nms-nap-compiler/app_protect-5.498.0/bin/apcompile -h ``` **Expected output:** ```text USAGE: - /opt/nms-nap-compiler/app_protect-5.442.0/bin/apcompile + /opt/nms-nap-compiler/app_protect-5.498.0/bin/apcompile Examples: - /opt/nms-nap-compiler/app_protect-5.442.0/bin/apcompile -p /path/to/policy.json -o mypolicy.tgz - /opt/nms-nap-compiler/app_protect-5.442.0/bin/apcompile -p policyA.json -g myglobal.json -o /path/to/policyA_bundle.tgz - /opt/nms-nap-compiler/app_protect-5.442.0/bin/apcompile -g myglobalsettings.json --global-state-outfile /path/to/myglobalstate.tgz - /opt/nms-nap-compiler/app_protect-5.442.0/bin/apcompile -b /path/to/policy_bundle.tgz --dump - /opt/nms-nap-compiler/app_protect-5.442.0/bin/apcompile -l logprofA.json -o /path/to/logprofA_bundle.tgz + /opt/nms-nap-compiler/app_protect-5.498.0/bin/apcompile -p /path/to/policy.json -o mypolicy.tgz + /opt/nms-nap-compiler/app_protect-5.498.0/bin/apcompile -p policyA.json -g myglobal.json -o /path/to/policyA_bundle.tgz + /opt/nms-nap-compiler/app_protect-5.498.0/bin/apcompile -g myglobalsettings.json --global-state-outfile /path/to/myglobalstate.tgz + /opt/nms-nap-compiler/app_protect-5.498.0/bin/apcompile -b /path/to/policy_bundle.tgz --dump + /opt/nms-nap-compiler/app_protect-5.498.0/bin/apcompile -l logprofA.json -o /path/to/logprofA_bundle.tgz ``` ### Confirm NGINX Agent configuration on the NGINX App Protect WAF instance From 134a448b3f7b26c72faca774c4244b7e851583ca Mon Sep 17 00:00:00 2001 From: Ken Russo Date: Mon, 25 Aug 2025 23:12:46 -0600 Subject: [PATCH 477/723] Update deploy-azure-cli.md (#927) Fix syntax when specifying CRUD operations on deployment --- .../create-deployment/deploy-azure-cli.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md b/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md index 786649422..3182aec32 100644 --- a/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md +++ b/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md @@ -42,8 +42,8 @@ az nginx deployment create --deployment-name ```bash az nginx deployment create --name myDeployment --resource-group \ myResourceGroup --location eastus2 --sku name="standardv2_Monthly" \ - --network-profile front-end-ip-configuration="{public-ip-addresses:[{id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP}]}" \ - network-interface-configuration="{subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" + --network-profile front-end-ip-configuration="{public-ip-addresses:[{id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP}]}" \ + network-interface-configuration="{subnet-id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" ``` - Create a deployment with private IP: @@ -53,7 +53,7 @@ az nginx deployment create --deployment-name myResourceGroup --location eastus2 --sku \ name="standardv2_Monthly" --network-profile \ front-end-ip-configuration="{private-ip-addresses:[{private-ip-allocation-method:Static,subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet,private-ip-address:10.0.0.2}]}" \ - network-interface-configuration="{subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" + network-interface-configuration="{subnet-id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" ``` ```bash @@ -61,7 +61,7 @@ az nginx deployment create --deployment-name myResourceGroup --location eastus2 --sku \ name="standardv2_Monthly" --network-profile \ front-end-ip-configuration="{private-ip-addresses:[{private-ip-allocation-method:Dynamic,subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet,private-ip-address:10.0.0.2}]}" \ - network-interface-configuration="{subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" + network-interface-configuration="{subnet-id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" ``` - Create a dual-stack (IPv4 + IPv6) NGINXaaS deployment with public IPs: @@ -70,7 +70,7 @@ az nginx deployment create --deployment-name az nginx deployment create --name myDeployment --resource-group \ myResourceGroup --location eastus2 --sku name="standardv2_Monthly" \ --network-profile front-end-ip-configuration="{public-ip-addresses:[{id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/pubIPv4},{id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/pubIPv6}]}" \ - network-interface-configuration="{subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" + network-interface-configuration="{subnet-id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" ``` - Create a dual-stack (IPv4 + IPv6) NGINXaaS deployment with private IPs: @@ -80,7 +80,7 @@ az nginx deployment create --deployment-name myResourceGroup --location eastus2 --sku \ name="standardv2_Monthly" --network-profile \ front-end-ip-configuration="{private-ip-addresses:[{private-ip-allocation-method:Static,subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet,private-ip-address:10.0.0.2},{private-ip-allocation-method:Static,subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet,private-ip-address:2001:0db8:85a3:0000:0000:8a2e:0370:7334}]}" \ - network-interface-configuration="{subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" + network-interface-configuration="{subnet-id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" ``` - Create a deployment with managed identity, storage account and scaling: @@ -138,8 +138,8 @@ Update an NGINXaaS deployment to a dual-stack (IPv4 + IPv6) network configuratio ```bash az nginx deployment update --name myDeployment --resource-group myResourceGroup \ - --network-profile front-end-ip-configuration="{public-ip-addresses:[{id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/pubIPv4},{id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/pubIPv6}]}" \ - network-interface-configuration="{subnet-id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" + --network-profile front-end-ip-configuration="{public-ip-addresses:[{id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/pubIPv4},{id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/pubIPv6}]}" \ + network-interface-configuration="{subnet-id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" ``` See the [Azure CLI Deployment Update Documentation](https://learn.microsoft.com/en-us/cli/azure/nginx/deployment#az-nginx-deployment-update) for more details on the required and optional parameters. @@ -150,7 +150,7 @@ See the [Azure CLI Deployment Update Documentation](https://learn.microsoft.com/ Use the `az nginx deployment delete` command to delete an NGINXaaS for Azure resource: ```bash -az nginx deployment delete [--deployment-name] +az nginx deployment delete [--name] [--ids] [--no-wait {0, 1, f, false, n, no, t, true, y, yes}] [--resource-group] From bd530be21603055a98a5b85037470fc218a06494 Mon Sep 17 00:00:00 2001 From: Venktesh Shivam Patel Date: Tue, 26 Aug 2025 14:15:08 +0100 Subject: [PATCH 478/723] update nic jwks keycache docs (#1028) --- content/nic/configuration/policy-resource.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nic/configuration/policy-resource.md b/content/nic/configuration/policy-resource.md index a6af6c5bd..fd4fb4df8 100644 --- a/content/nic/configuration/policy-resource.md +++ b/content/nic/configuration/policy-resource.md @@ -449,7 +449,7 @@ This feature is implemented using the NGINX Plus directive [auth_jwt_key_request |Field | Description | Type | Required | | ---| ---| ---| --- | |``jwksURI`` | The remote URI where the request will be sent to retrieve JSON Web Key set| ``string`` | Yes | -|``keyCache`` | Enables in-memory caching of JWKS (JSON Web Key Sets) that are obtained from the ``jwksURI`` and sets a valid time for expiration. | ``string`` | Yes | +|``keyCache`` | Enables in-memory caching of JWKS (JSON Web Key Sets) that are obtained from the ``jwksURI`` and sets a valid time for expiration. To disable ``keyCache``, set value to ``0s``. | ``string`` | Yes | |``realm`` | The realm of the JWT. | ``string`` | Yes | |``token`` | The token specifies a variable that contains the JSON Web Token. By default the JWT is passed in the ``Authorization`` header as a Bearer Token. JWT may be also passed as a cookie or a part of a query string, for example: ``$cookie_auth_token``. Accepted variables are ``$http_``, ``$arg_``, ``$cookie_``. | ``string`` | No | {{% /table %}} From 714f1dd98d6b29b8f0b133077fb7c8c9bdccbbaf Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Tue, 26 Aug 2025 14:40:32 -0700 Subject: [PATCH 479/723] Add cards to NGINX One Console Workshops page (#1033) * Added cards to N1C workshop index * edits * fixed broken links * Apply suggestions from code review Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- content/includes/nginx-one/cloud-access.md | 2 +- .../nginx-one/workshops/xc-account.md | 4 +-- content/nginx-one/workshops/_index.md | 35 +++++++++++++++++++ ...getting-started-with-nginx-one-console.md} | 0 .../run-workshop-components-with-docker.md | 4 +-- ... => explore-nginx-one-console-features.md} | 0 6 files changed, 40 insertions(+), 5 deletions(-) rename content/nginx-one/workshops/lab1/{getting-started-with-nginx-one.md => getting-started-with-nginx-one-console.md} (100%) rename content/nginx-one/workshops/lab3/{explore-nginx-one-console-and-features.md => explore-nginx-one-console-features.md} (100%) diff --git a/content/includes/nginx-one/cloud-access.md b/content/includes/nginx-one/cloud-access.md index 8a3b5a5a2..a92c1380c 100644 --- a/content/includes/nginx-one/cloud-access.md +++ b/content/includes/nginx-one/cloud-access.md @@ -2,7 +2,7 @@ files: - content/nginx-one/secure-your-fleet/set-up-security-alerts.md - content/nginx-one/getting-started.md - - content/nginx-one/workshops/lab1/getting-started-with-nginx-one.md + - content/nginx-one/workshops/lab1/getting-started-with-nginx-one-console.md --- Confirm that an F5 Distributed Cloud tenant has been provisioned for you. To do so: diff --git a/content/includes/nginx-one/workshops/xc-account.md b/content/includes/nginx-one/workshops/xc-account.md index b9fbf2d6a..f0d3ad69f 100644 --- a/content/includes/nginx-one/workshops/xc-account.md +++ b/content/includes/nginx-one/workshops/xc-account.md @@ -1,9 +1,9 @@ --- files: - content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md - - content/nginx-one/workshops/lab3/explore-nginx-one-console-and-features.md + - content/nginx-one/workshops/lab3/explore-nginx-one-console-features.md - content/nginx-one/workshops/lab4/config-sync-groups.md - content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md --- -All labs require an **F5 Distributed Cloud (XC) account** with NGINX One enabled. If you don’t have an account or need to verify access, follow the steps in [Lab 1: Before you begin]({{< ref "nginx-one/workshops/lab1/getting-started-with-nginx-one.md#before-you-begin" >}}). \ No newline at end of file +All labs require an **F5 Distributed Cloud (XC) account** with NGINX One enabled. If you don’t have an account or need to verify access, follow the steps in [Lab 1: Before you begin]({{< ref "nginx-one/workshops/lab1/getting-started-with-nginx-one-console.md#before-you-begin" >}}). \ No newline at end of file diff --git a/content/nginx-one/workshops/_index.md b/content/nginx-one/workshops/_index.md index d62888d1d..a60358061 100644 --- a/content/nginx-one/workshops/_index.md +++ b/content/nginx-one/workshops/_index.md @@ -3,4 +3,39 @@ title: Workshops description: weight: 710 url: /nginx-one/workshops +nd-landing-page: true +nd-content-type: landing-page +nd-product: NGINX One --- + +Welcome to the NGINX One Console workshops. + +These labs give you hands-on experience using NGINX One Console to connect, manage, and scale your NGINX fleets. + +We recommend starting with Lab 1 and Lab 2. Lab 2 sets up the workshop environment with Docker, which you’ll need for the later labs. + +{{}} + {{}} + + {{}} + Register instances. Learn about managing your NGINX fleet. + {{}} + + {{}} + Use Docker to spin up the full workshop locally. + {{}} + + {{}} + Take a guided tour of NGINX One Console. Explore dashboards, alerts, and insights while trying out key features. + {{}} + + {{}} + Create and manage Config Sync Groups to apply consistent changes across all your NGINX instances. + {{}} + + {{}} + Plan and upgrade NGINX Plus with NGINX One Console workflows, keeping downtime to a minimum. + {{}} + + {{}} +{{}} \ No newline at end of file diff --git a/content/nginx-one/workshops/lab1/getting-started-with-nginx-one.md b/content/nginx-one/workshops/lab1/getting-started-with-nginx-one-console.md similarity index 100% rename from content/nginx-one/workshops/lab1/getting-started-with-nginx-one.md rename to content/nginx-one/workshops/lab1/getting-started-with-nginx-one-console.md diff --git a/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md b/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md index 7d6d04cb5..ced2e49c7 100644 --- a/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md +++ b/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md @@ -32,7 +32,7 @@ Make sure you have: - {{< include "nginx-one/workshops/xc-account.md" >}} - Docker and Docker Compose installed and running -- An active data plane key from [Lab 1: Get started with NGINX One Console]({{< ref "nginx-one/workshops/lab1/getting-started-with-nginx-one.md" >}}) +- An active data plane key from [Lab 1: Get started with NGINX One Console]({{< ref "nginx-one/workshops/lab1/getting-started-with-nginx-one-console.md" >}}) - A trial or paid NGINX One JWT license (saved as `nginx-repo.jwt`) from [MyF5](https://my.f5.com/manage/s/) - Basic Linux and NGINX knowledge - Git installed and an SSH key set up for GitHub access @@ -150,7 +150,7 @@ Wait until you see **Started** for each container. Your containers are now up and registered with NGINX One Console. -Go to [Lab 3: Explore NGINX One Console features]({{< ref "nginx-one/workshops/lab3/explore-nginx-one-console-and-features.md" >}}). +Go to [Lab 3: Explore NGINX One Console features]({{< ref "nginx-one/workshops/lab3/explore-nginx-one-console-features.md" >}}). --- diff --git a/content/nginx-one/workshops/lab3/explore-nginx-one-console-and-features.md b/content/nginx-one/workshops/lab3/explore-nginx-one-console-features.md similarity index 100% rename from content/nginx-one/workshops/lab3/explore-nginx-one-console-and-features.md rename to content/nginx-one/workshops/lab3/explore-nginx-one-console-features.md From cc5539af14f83aca3364de77db329cfd585f6c11 Mon Sep 17 00:00:00 2001 From: Ken Russo Date: Wed, 27 Aug 2025 04:54:16 -0600 Subject: [PATCH 480/723] feat: Update N4A upgrade channel note(#1027) We need to make it explicit that the preview channel should not be used for production. --- content/nginxaas-azure/quickstart/upgrade-channels.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginxaas-azure/quickstart/upgrade-channels.md b/content/nginxaas-azure/quickstart/upgrade-channels.md index f55f724cc..f4f5db09b 100644 --- a/content/nginxaas-azure/quickstart/upgrade-channels.md +++ b/content/nginxaas-azure/quickstart/upgrade-channels.md @@ -15,7 +15,7 @@ Maintaining the latest version NGINX Plus, operating system (OS), and other soft {{}} | Channel | Description | |-------------|---------------------------| -| preview | Selecting this channel automatically upgrades your deployment to the latest supported version of NGINX Plus and its dependencies soon after they become available. We recommend using this setting to try out new capabilities in deployments running in your development, testing, and staging environments. Avoid using it in your production environment. | +| preview | Selecting this channel automatically upgrades your deployment to the latest supported version of NGINX Plus and its dependencies soon after they become available. We recommend using this setting to try out new capabilities in deployments running in your development, testing, and staging environments. Do not use the **Preview** channel in your production environment. | | stable | A deployment running on this channel will receive updates on NGINX Plus and its dependencies at a slower rate than the **Preview** channel. We recommend using this setting for production deployments where you might want stable features instead of the latest ones. This is the **default channel** if you do not specify one for your deployment. | {{}} From e8fd86324808a98c41597a0662e2413c72064d30 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Thu, 28 Aug 2025 13:52:27 +0100 Subject: [PATCH 481/723] docs: Connect NGINX Agent to NGINX One using squid proxy (#1025) * feat: new doc for agent squid --- .../installation/add-ports-agent-selinux.md | 2 +- .../installation/enable-agent-selinux.md | 2 +- .../configure-instance-reporting/_index.md | 5 - .../agent/configure-instances/_index.md | 5 + .../configuration-overview.md | 0 .../configure-agent-group.md | 0 .../configure-selinux.md | 0 .../connect-using-forward-proxy.md | 124 ++++++++++++++++++ 8 files changed, 131 insertions(+), 7 deletions(-) delete mode 100644 content/nginx-one/agent/configure-instance-reporting/_index.md create mode 100644 content/nginx-one/agent/configure-instances/_index.md rename content/nginx-one/agent/{configure-instance-reporting => configure-instances}/configuration-overview.md (100%) rename content/nginx-one/agent/{configure-instance-reporting => configure-instances}/configure-agent-group.md (100%) rename content/nginx-one/agent/{configure-instance-reporting => configure-instances}/configure-selinux.md (100%) create mode 100644 content/nginx-one/connect-instances/connect-using-forward-proxy.md diff --git a/content/includes/installation/add-ports-agent-selinux.md b/content/includes/installation/add-ports-agent-selinux.md index 7d57f1c8e..22af50cc4 100644 --- a/content/includes/installation/add-ports-agent-selinux.md +++ b/content/includes/installation/add-ports-agent-selinux.md @@ -1,7 +1,7 @@ --- docs: files: - - content/nginx-one/agent/configure-instance-reporting/configure-selinux.md + - content/nginx-one/agent/configure-instances/configure-selinux.md - content/nim/system-configuration/configure-selinux.md - content/nms/nginx-agent/install-nginx-agent.md --- diff --git a/content/includes/installation/enable-agent-selinux.md b/content/includes/installation/enable-agent-selinux.md index 482ee61c1..4d9ec4bf6 100644 --- a/content/includes/installation/enable-agent-selinux.md +++ b/content/includes/installation/enable-agent-selinux.md @@ -1,7 +1,7 @@ --- docs: files: - - content/nginx-one/agent/configure-instance-reporting/configure-selinux.md + - content/nginx-one/agent/configure-instances/configure-selinux.md - content/nim/system-configuration/configure-selinux.md - content/nms/nginx-agent/install-nginx-agent.md --- diff --git a/content/nginx-one/agent/configure-instance-reporting/_index.md b/content/nginx-one/agent/configure-instance-reporting/_index.md deleted file mode 100644 index daac817e1..000000000 --- a/content/nginx-one/agent/configure-instance-reporting/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Configure instance reporting" -weight: 400 -url: /nginx-one/agent/configure-instance-reporting/ ---- \ No newline at end of file diff --git a/content/nginx-one/agent/configure-instances/_index.md b/content/nginx-one/agent/configure-instances/_index.md new file mode 100644 index 000000000..e4b8d1288 --- /dev/null +++ b/content/nginx-one/agent/configure-instances/_index.md @@ -0,0 +1,5 @@ +--- +title: "Configure instances" +weight: 400 +url: /nginx-one/agent/configure-instances/ +--- \ No newline at end of file diff --git a/content/nginx-one/agent/configure-instance-reporting/configuration-overview.md b/content/nginx-one/agent/configure-instances/configuration-overview.md similarity index 100% rename from content/nginx-one/agent/configure-instance-reporting/configuration-overview.md rename to content/nginx-one/agent/configure-instances/configuration-overview.md diff --git a/content/nginx-one/agent/configure-instance-reporting/configure-agent-group.md b/content/nginx-one/agent/configure-instances/configure-agent-group.md similarity index 100% rename from content/nginx-one/agent/configure-instance-reporting/configure-agent-group.md rename to content/nginx-one/agent/configure-instances/configure-agent-group.md diff --git a/content/nginx-one/agent/configure-instance-reporting/configure-selinux.md b/content/nginx-one/agent/configure-instances/configure-selinux.md similarity index 100% rename from content/nginx-one/agent/configure-instance-reporting/configure-selinux.md rename to content/nginx-one/agent/configure-instances/configure-selinux.md diff --git a/content/nginx-one/connect-instances/connect-using-forward-proxy.md b/content/nginx-one/connect-instances/connect-using-forward-proxy.md new file mode 100644 index 000000000..3e83e38d4 --- /dev/null +++ b/content/nginx-one/connect-instances/connect-using-forward-proxy.md @@ -0,0 +1,124 @@ +--- +title: Prepare - Set up an explicit forward proxy +toc: true +weight: 250 +nd-docs: DOCS-000 +--- + +NGINX Agent can be configured to connect to NGINX One using an explicit forward +proxy. This is useful in environments where direct internet access is restricted or monitored. + +## Before you start + +Ensure you have the following: + +- An explicit forward proxy server installed and configured in your network. +- [NGINX Agent is installed]({{< ref "nginx-one/agent/install-upgrade/" >}}) +- Access to the [NGINX One console]({{< ref "/nginx-one/getting-started.md#before-you-begin" >}}). + + +## NGINX Agent configuration for proxy usage + +1. Open a secure connection to your instance using SSH and log in. +1. Open the NGINX Agent configuration file (/etc/nginx-agent/nginx-agent.conf) with a text editor. To edit this file you need superuser privileges. +1. Add or modify the `proxy` section to include the proxy URL and timeout settings: + + ```conf + server: + host: agent.connect.nginx.com + port: 443 + proxy: + url: "http://proxy.example.com:3128" + ``` + +1. Restart NGINX Agent to apply the changes: + + ```sh + sudo systemctl restart nginx-agent + ``` + +### In a containerized environment + +To configure NGINX Agent in a containerized environment: + +1. Run the NGINX Agent container with the environment variables set as follows: + + ```sh + sudo docker run \ + --add-host "myproxy.example.com:host-gateway" \ + --env=NGINX_AGENT_COMMAND_SERVER_PORT=443 \ + --env=NGINX_AGENT_COMMAND_SERVER_HOST=agent.connect.nginx.com \ + --env=NGINX_AGENT_COMMAND_AUTH_TOKEN="" \ + --env=NGINX_AGENT_COMMAND_TLS_SKIP_VERIFY=false \ + --env=NGINX_AGENT_COMMAND_SERVER_PROXY_URL=http://myproxy.example.com:3128 \ + --restart=always \ + --runtime=runc \ + -d private-registry.nginx.com/nginx-plus/agentv3:latest + ``` + + +## NGINX Agent proxy authentication + +If your forward proxy requires authentication, you can specify the username and password in the `proxy` section of the `agent.conf` file: + +1. Open a secure connection to your instance using SSH and log in. +1. Add or modify the `proxy` section of the NGINX Agent configuration file (/etc/nginx-agent/nginx-agent.conf) to include the authentication details: + + ```conf + proxy: + url: "http://proxy.example.com:3128" + auth_method: "basic" + username: "user" + password: "pass" + ``` + +1. Restart NGINX Agent to apply the changes: + + ```sh + sudo systemctl restart nginx-agent + ``` + +### In a containerized environment + +To set proxy authentication in a containerized environment: + +1. Run the NGINX Agent container with the environment variables set as follows: + + + ```sh + sudo docker run \ + --add-host "myproxy.example.com:host-gateway" \ + --env=NGINX_AGENT_COMMAND_SERVER_PORT=443 \ + --env=NGINX_AGENT_COMMAND_SERVER_HOST=agent.connect.nginx.com \ + --env=NGINX_AGENT_COMMAND_AUTH_TOKEN="" \ + --env=NGINX_AGENT_COMMAND_TLS_SKIP_VERIFY=false \ + --env NGINX_AGENT_COMMAND_SERVER_PROXY_URL=http://proxy.example.com:3128 + --env NGINX_AGENT_COMMAND_SERVER_PROXY_AUTH_METHOD=basic + --env NGINX_AGENT_COMMAND_SERVER_PROXY_USERNAME="user" + --env NGINX_AGENT_COMMAND_SERVER_PROXY_PASSWORD="pass" + --restart=always \ + --runtime=runc \ + -d private-registry.nginx.com/nginx-plus/agentv3:latest + ``` + +## Validate connectivity between the components + +To test the connectivity between NGINX Agent, your proxy, and NGINX One Console, you can use the `curl` command with the proxy settings. + +1. Open a secure connection to your instance using SSH and log in. +1. Run the following `curl` command to test the connection: + ```sh + curl -x http://proxy.example.com:3128 -U your_user:your_password https://agent.connect.nginx.com/api/v1/agents + ``` + + - Replace `proxy.example.com:3128` with your proxy address and port. + - Replace `your_user` and `your_password` with the credentials you set up for proxy in the previous steps. + +To test the configuration from a containerized environment, run the following command from within the container: + + ```sh + curl -x http://host.docker.internal:3128 -U your_user:your_password https://agent.connect.nginx.com/api/v1/agents + ``` + + - Replace `your_user` and `your_password` with the credentials you set up for proxy in the previous steps. + From a2269e168c60386ff2dff4d3411afc227c2f11be Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Thu, 28 Aug 2025 13:40:03 -0700 Subject: [PATCH 482/723] Removed Sec Mon compatibility table (#1035) * Removed Sec Mon compatibility table * removed sec mon compat table from tech spec guide --- content/nim/fundamentals/tech-specs.md | 15 --------------- .../set-up-app-protect-instances.md | 8 ++------ 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/content/nim/fundamentals/tech-specs.md b/content/nim/fundamentals/tech-specs.md index c0a381915..545c8c6c1 100644 --- a/content/nim/fundamentals/tech-specs.md +++ b/content/nim/fundamentals/tech-specs.md @@ -158,21 +158,6 @@ The NGINX Instance Manager web interface works best on the latest versions of th {{< include "nim/tech-specs/nim-app-protect-support.md" >}} -## Security Monitoring Module {#security-monitoring} - - -### Dependencies with NGINX Instance Manager - -#### Control plane requirements - -{{< include "nim/tech-specs/security-management-plane-dependencies.md" >}} - -### Dependencies with NGINX App Protect WAF and NGINX Plus - -#### Data plane requirements - -{{< include "nim/tech-specs/security-data-plane-dependencies.md" >}} - ## NGINX Agent #### Data plane requirements diff --git a/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md b/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md index 730049ad3..e18ad36d5 100644 --- a/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md +++ b/content/nim/nginx-app-protect/security-monitoring/set-up-app-protect-instances.md @@ -22,12 +22,8 @@ Complete the following prerequisites before proceeding with the steps in this gu 1. If you are new to NGINX App Protect WAF, follow the instructions in the installation and configuration guides to get up and running: - - [Install NGINX App Protect WAF]({{< ref "/nap-waf/v4/admin-guide/install.md" >}}) on one or more data plane instances. Each data plane instance must have connectivity to the NGINX Instance Manager host. - - [Configure NGINX App Protect WAF]({{< ref "/nap-waf/v4//configuration-guide/configuration.md#policy-configuration-overview" >}}) according to your needs on each of the data plane instance. - -1. Review the dependencies with NGINX App Protect WAF and NGINX Plus. - - {{< include "nim/tech-specs/security-data-plane-dependencies.md" >}} + - [Install NGINX App Protect WAF]({{< ref "/nap-waf/v5/admin-guide/install.md" >}}) on one or more data plane instances. Each data plane instance must have connectivity to the NGINX Instance Manager host. + - [Configure NGINX App Protect WAF]({{< ref "/nap-waf/v5/configuration-guide/configuration.md#policy-configuration-overview" >}}) according to your needs on each of the data plane instance. 1. Determine your use case: **Security Monitoring only** or **Security Monitoring and Configuration Management**. 1. [Upload your license]({{< ref "/nim/admin-guide/add-license.md" >}}). From 09aeb91477888d6d26747224744078000dc90fe4 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Fri, 29 Aug 2025 05:56:13 -0700 Subject: [PATCH 483/723] fix: genericize port number for proxy (#1039) --- .../connect-using-forward-proxy.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/nginx-one/connect-instances/connect-using-forward-proxy.md b/content/nginx-one/connect-instances/connect-using-forward-proxy.md index 3e83e38d4..b313ae55c 100644 --- a/content/nginx-one/connect-instances/connect-using-forward-proxy.md +++ b/content/nginx-one/connect-instances/connect-using-forward-proxy.md @@ -21,14 +21,14 @@ Ensure you have the following: 1. Open a secure connection to your instance using SSH and log in. 1. Open the NGINX Agent configuration file (/etc/nginx-agent/nginx-agent.conf) with a text editor. To edit this file you need superuser privileges. -1. Add or modify the `proxy` section to include the proxy URL and timeout settings: +1. Add or modify the `proxy` section to include the proxy URL, port number, and timeout settings: ```conf server: host: agent.connect.nginx.com port: 443 proxy: - url: "http://proxy.example.com:3128" + url: "http://proxy.example.com:" ``` 1. Restart NGINX Agent to apply the changes: @@ -50,7 +50,7 @@ To configure NGINX Agent in a containerized environment: --env=NGINX_AGENT_COMMAND_SERVER_HOST=agent.connect.nginx.com \ --env=NGINX_AGENT_COMMAND_AUTH_TOKEN="" \ --env=NGINX_AGENT_COMMAND_TLS_SKIP_VERIFY=false \ - --env=NGINX_AGENT_COMMAND_SERVER_PROXY_URL=http://myproxy.example.com:3128 \ + --env=NGINX_AGENT_COMMAND_SERVER_PROXY_URL=http://myproxy.example.com: \ --restart=always \ --runtime=runc \ -d private-registry.nginx.com/nginx-plus/agentv3:latest @@ -66,7 +66,7 @@ If your forward proxy requires authentication, you can specify the username and ```conf proxy: - url: "http://proxy.example.com:3128" + url: "http://proxy.example.com:" auth_method: "basic" username: "user" password: "pass" @@ -92,7 +92,7 @@ To set proxy authentication in a containerized environment: --env=NGINX_AGENT_COMMAND_SERVER_HOST=agent.connect.nginx.com \ --env=NGINX_AGENT_COMMAND_AUTH_TOKEN="" \ --env=NGINX_AGENT_COMMAND_TLS_SKIP_VERIFY=false \ - --env NGINX_AGENT_COMMAND_SERVER_PROXY_URL=http://proxy.example.com:3128 + --env NGINX_AGENT_COMMAND_SERVER_PROXY_URL=http://proxy.example.com: --env NGINX_AGENT_COMMAND_SERVER_PROXY_AUTH_METHOD=basic --env NGINX_AGENT_COMMAND_SERVER_PROXY_USERNAME="user" --env NGINX_AGENT_COMMAND_SERVER_PROXY_PASSWORD="pass" @@ -108,16 +108,16 @@ To test the connectivity between NGINX Agent, your proxy, and NGINX One Console, 1. Open a secure connection to your instance using SSH and log in. 1. Run the following `curl` command to test the connection: ```sh - curl -x http://proxy.example.com:3128 -U your_user:your_password https://agent.connect.nginx.com/api/v1/agents + curl -x http://proxy.example.com: -U your_user:your_password https://agent.connect.nginx.com/api/v1/agents ``` - - Replace `proxy.example.com:3128` with your proxy address and port. + - Replace `proxy.example.com:` with your proxy address and port number. - Replace `your_user` and `your_password` with the credentials you set up for proxy in the previous steps. To test the configuration from a containerized environment, run the following command from within the container: ```sh - curl -x http://host.docker.internal:3128 -U your_user:your_password https://agent.connect.nginx.com/api/v1/agents + curl -x http://host.docker.internal: -U your_user:your_password https://agent.connect.nginx.com/api/v1/agents ``` - Replace `your_user` and `your_password` with the credentials you set up for proxy in the previous steps. From b1acd1a33c887d9097c17e79d0f18ae2430e62a6 Mon Sep 17 00:00:00 2001 From: 65397 Date: Fri, 29 Aug 2025 14:08:54 +0100 Subject: [PATCH 484/723] Fixed wrong baseurl for NAP5 and RHEL9 deployment (#1037) Fixed wrong baseurl for RHEL 9 / ROCKY LINUX 9 in https://docs.nginx.com/nginx-app-protect-waf/v5/admin-guide/install/#for-nginx-plus Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- ...nx-plus-centos.md => nginx-plus-centos-8.md} | 0 .../nginx-plus-centos-9.md | 17 +++++++++++++++++ content/nap-waf/v5/admin-guide/install.md | 10 +++++----- 3 files changed, 22 insertions(+), 5 deletions(-) rename content/includes/nap-waf/config/v5/host-based-nginx-instructions/{nginx-plus-centos.md => nginx-plus-centos-8.md} (100%) create mode 100644 content/includes/nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos-9.md diff --git a/content/includes/nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos.md b/content/includes/nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos-8.md similarity index 100% rename from content/includes/nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos.md rename to content/includes/nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos-8.md diff --git a/content/includes/nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos-9.md b/content/includes/nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos-9.md new file mode 100644 index 000000000..1bd319400 --- /dev/null +++ b/content/includes/nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos-9.md @@ -0,0 +1,17 @@ +Create NGINX App Protect WAF v5 repository file, named `/etc/yum.repos.d/app-protect-x-plus.repo` with the following contents: + +```none +[app-protect-x-plus] +name=nginx-app-protect repo +baseurl=https://pkgs.nginx.com/app-protect-x-plus/centos/9/$basearch/ +sslclientcert=/etc/ssl/nginx/nginx-repo.crt +sslclientkey=/etc/ssl/nginx/nginx-repo.key +gpgcheck=0 +enabled=1 +``` + +Install the NGINX App Protect WAF v5 package: + +```shell +sudo dnf install app-protect-module-plus +``` diff --git a/content/nap-waf/v5/admin-guide/install.md b/content/nap-waf/v5/admin-guide/install.md index d0afee8a0..252b11f17 100644 --- a/content/nap-waf/v5/admin-guide/install.md +++ b/content/nap-waf/v5/admin-guide/install.md @@ -173,7 +173,7 @@ Download the NGINX Plus repository file [nginx-plus-8.repo](https://cs.nginx.com sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/nginx-plus-8.repo ``` -{{< include "nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos.md" >}} +{{< include "nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos-8.md" >}} {{%/tab%}} @@ -186,7 +186,7 @@ Download the NGINX Plus repository file [plus-9.repo](https://cs.nginx.com/stati sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/plus-9.repo ``` -{{< include "nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos.md" >}} +{{< include "nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos-9.md" >}} {{%/tab%}} @@ -728,7 +728,7 @@ Then you can move onto the next step, depending on your chosen operating system. {{%/tab%}} {{%tab name="Oracle Linux 8.1+"%}} -{{< include "nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos.md" >}} +{{< include "nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos-8.md" >}} 3. Download all NGINX Plus packages, including all dependencies: We used repotrack for example: @@ -747,7 +747,7 @@ Then you can move onto the next step, depending on your chosen operating system. {{%/tab%}} {{%tab name="RHEL 8.1+"%}} -{{< include "nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos.md" >}} +{{< include "nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos-8.md" >}} 3. Download all NGINX Plus packages, including all dependencies: We used repotrack for example: @@ -766,7 +766,7 @@ Then you can move onto the next step, depending on your chosen operating system. {{%/tab%}} {{%tab name="RHEL 9 / Rocky Linux 9"%}} -{{< include "nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos.md" >}} +{{< include "nap-waf/config/v5/host-based-nginx-instructions/nginx-plus-centos-9.md" >}} 3. Download all NGINX Plus packages, including all dependencies: We used repotrack for example: From f744d7a6fec8fdbeb6640973202559c9deb1a723 Mon Sep 17 00:00:00 2001 From: vvnginx Date: Fri, 29 Aug 2025 21:24:37 +0530 Subject: [PATCH 485/723] Add Directory storage requirements. Also, dependency requirements for NIM, NGINX and Clickhouse in offline mode (#1038) * fix: Add directory storage recommendations for NIM * fix: Remove unwanted content * fix: Add NGINX, NIM and Clickhouse dependency list, Directory requirements * Update content/nim/disconnected/offline-install-guide.md Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * Update content/nim/disconnected/offline-install-guide.md Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * Update content/nim/disconnected/offline-install-guide.md Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * Update content/nim/disconnected/offline-install-guide.md Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * Update content/nim/disconnected/offline-install-guide.md Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * Update content/nim/disconnected/offline-install-guide.md Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * Update content/nim/fundamentals/tech-specs.md Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * Update content/nim/fundamentals/tech-specs.md Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * Update content/nim/disconnected/offline-install-guide.md Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * Update content/nim/fundamentals/tech-specs.md Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * Apply suggestion from @mjang --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- .../nim/disconnected/offline-install-guide.md | 24 ++++++++++++++- content/nim/fundamentals/tech-specs.md | 30 +++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/content/nim/disconnected/offline-install-guide.md b/content/nim/disconnected/offline-install-guide.md index c8dedfee6..86d44527f 100644 --- a/content/nim/disconnected/offline-install-guide.md +++ b/content/nim/disconnected/offline-install-guide.md @@ -94,6 +94,28 @@ Run the installation script in `offline` mode to download NGINX Instance Manager After you’ve packaged the installation files on a connected system, copy the tarball, script, and SSL files to your disconnected system. Then, run the script again to install NGINX Instance Manager using the tarball. +## Dependencies needed for install script to run offline + +There are OS dependencies we have for NGINX, NIM and Clickhouse. In offline mode we package only NGINX, NIM and Clickhouse packages, customers should first install OS dependencies also. Below are the dependencies list for Linux distributions with `.deb` (Debian/Ubuntu) and `.rpm` (Red Hat) packages. In online mode, these dependencies are auto resolved and installed. + +### Debian/Ubuntu and similar operating systems + +- NGINX : libc6, libcrypt1, libpcre2-8-0, libssl3, zlib1g,lsb-base +- NIM : openssl, rsyslog, systemd, tar, lsb-release, openssl, gawk +- ClickHouse: libcap2-bin + +### Red Hat-based operating systems + +- NGINX : bash, glibc, libxcrypt, openssl-libs, glibc, pcre2, openssl-libs, zlib, procps-ng, glibc , shadow-utils, systemd +- NIM : glibc, openssl, rsyslog,systemd, tar, which,zlib, yum-utils +- ClickHouse: None + +You can find the latest dependencies with one of the following commands: + +- Ubuntu/Debian: apt-cache depends = +- Red Hat : yum deplist + + ### Required flags for installing in offline mode - `-m offline`: Required to run the script in offline mode. When used with `-i`, the script installs NGINX Instance Manager and its dependencies from the specified tarball. @@ -210,4 +232,4 @@ sudo systemctl restart nms-dpm ## Next steps -- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) \ No newline at end of file +- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) diff --git a/content/nim/fundamentals/tech-specs.md b/content/nim/fundamentals/tech-specs.md index 545c8c6c1..762df55c3 100644 --- a/content/nim/fundamentals/tech-specs.md +++ b/content/nim/fundamentals/tech-specs.md @@ -132,7 +132,37 @@ The table below shows the estimated storage requirements for **NGINX OSS**, base | | 250 | 14 | 4 GiB | {{}} +## Directory Requirements for NGINX Instance Manager + +Below are the directory requirements and storage recommendations for fresh, minimal, and moderate usage (<100 instances) of NGINX Instance Manager (NIM). + +{{< call-out "important" >}} +These recommendations apply if you are using NGINX Agent to connect NGINX instances to NIM for full management capabilities, including: + +- Managing configurations +- Viewing metrics +- Applying WAF policies +- Managing certificates + +If you're concerned solely on usage reporting, you do not need NGINX Agent. Required resources needed are significantly reduced. For usage reporting-only deployments, NIM receives and stores usage data sent directly from the instances. +{{< /call-out >}} + +{{}} +| Directory path | Content | Recommendation | +|-----------------------|-----------------|----------------------------------| +| /usr/bin | Stores NIM binaries | 500MB | +| /var/lib/nms/dqlite | Stores DQLite database data| 2GiB without NGINX App Protect; 5GiB with NGINX App Protect enabled and large compiled bundles | +| /var/lib/nms/streaming | Stores NATS streaming messages | 500MiB | +| /var/lib/nms/secrets | Stores secrets for LLM license handshakes | 10MiB | +| /var/lib/nms/modules | Stores static content like manager.json | 100KiB (12KiB minimum) | +| /var/lib/clickhouse | Stores ClickHouse metrics data | recommend 2.5GB per instance (25GB for 10 instances, 250GB for 100 instances). This is only required if ClickHouse metrics are enabled | +| /var/log/nms | Stores logs for NIM with rotation enabled | recommended 50MiB per week if archived once a month | +| /etc/nms/ | Stores NIM configuration files | 50MiB | +| /etc/nginx | Stores NGINX configuration files | typical size is 10MiB-50MiB | +{{}} + ## ClickHouse tuning {#clickhouse-tuning} + The default ClickHouse configuration works efficiently with NGINX Instance Manager. If you change the configuration and ClickHouse runs out of memory, see the [ClickHouse configuration guide]({{< ref "/nim/system-configuration/configure-clickhouse.md#clickhouse-tuning" >}}) to adjust the settings. ## Firewall ports {#firewall} From 11dc50d664ba4b1e1f52d13d99d46b5f2b1e6d8b Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Fri, 29 Aug 2025 11:32:11 -0700 Subject: [PATCH 486/723] Removed playwright test workflow (#1040) chore: Removed playwright test workflow --- .github/workflows/notification.yml | 1 - .github/workflows/playwright.yml | 32 --------------- .gitignore | 1 - package-lock.json | 64 ------------------------------ package.json | 1 - playwright.config.ts | 35 ---------------- tests/constants.ts | 4 -- tests/search.spec.ts | 30 -------------- tests/utils/commonUtils.ts | 19 --------- 9 files changed, 187 deletions(-) delete mode 100644 .github/workflows/playwright.yml delete mode 100644 playwright.config.ts delete mode 100644 tests/constants.ts delete mode 100644 tests/search.spec.ts delete mode 100644 tests/utils/commonUtils.ts diff --git a/.github/workflows/notification.yml b/.github/workflows/notification.yml index 810345ea2..fb39b1140 100644 --- a/.github/workflows/notification.yml +++ b/.github/workflows/notification.yml @@ -3,7 +3,6 @@ on: workflow_run: branches: [main] workflows: - - "UI validation on prod" - "QE LinkChecker" - "Check for Broken Links" types: [completed] diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml deleted file mode 100644 index 23c486e67..000000000 --- a/.github/workflows/playwright.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: UI validation on prod -on: - workflow_dispatch: - schedule: - - cron: "0 * * * *" - -jobs: - run-playwright-tests: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v5 - - uses: actions/setup-node@v4 - with: - node-version: lts/* - - name: Install dependencies - run: npm ci - - name: Install Playwright Browsers - run: npx playwright install --with-deps - - name: Run Playwright tests - run: npx playwright test --retries=2 - - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} - with: - name: playwright-report - path: tests/playwright-report/ - retention-days: 30 - - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} - with: - name: test-results - path: tests/test-results/ - retention-days: 30 diff --git a/.gitignore b/.gitignore index 15fbca634..1573f641d 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,6 @@ # testing /coverage */test-results -*/playwright-report # production ./public diff --git a/package-lock.json b/package-lock.json index 7d3ee0691..6e464f1ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,6 @@ "puppeteer": "^23.8.0" }, "devDependencies": { - "@playwright/test": "^1.48.0", "hugo-bin": "^0.111.3" } }, @@ -95,22 +94,6 @@ "integrity": "sha512-KxWFdRNbv13U8bhYaQvH6gLG9CVEt2jKeosyOOYILVntWEVWhovbgDrbOiZ12pJO3vjZs0Zgbd3/Zgde98woEA==", "license": "BSD-3-Clause" }, - "node_modules/@playwright/test": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.0.tgz", - "integrity": "sha512-W5lhqPUVPqhtc/ySvZI5Q8X2ztBOUgZ8LbAFy0JQgrXZs2xaILrUcNO3rQjwbLPfGK13+rZsDa1FpG+tqYkT5w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.48.0" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@puppeteer/browsers": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.4.1.tgz", @@ -1322,21 +1305,6 @@ "node": ">=14.14" } }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2303,38 +2271,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/playwright": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.0.tgz", - "integrity": "sha512-qPqFaMEHuY/ug8o0uteYJSRfMGFikhUysk8ZvAtfKmUK3kc/6oNl/y3EczF8OFGYIi/Ex2HspMfzYArk6+XQSA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.48.0" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.0.tgz", - "integrity": "sha512-RBvzjM9rdpP7UUFrQzRwR8L/xR4HyC1QXMzGYTbf1vjw25/ya9NRAVnXi/0fvFopjebvyPzsmoK58xxeEOaVvA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", diff --git a/package.json b/package.json index d4f7c6bce..240394886 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,6 @@ "buildTags": "extended" }, "devDependencies": { - "@playwright/test": "^1.48.0", "hugo-bin": "^0.111.3" }, "dependencies": { diff --git a/playwright.config.ts b/playwright.config.ts deleted file mode 100644 index 0a6065adb..000000000 --- a/playwright.config.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { defineConfig, devices } from '@playwright/test'; - -export default defineConfig({ - testDir: 'tests', - fullyParallel: true, - workers: 1, - outputDir: 'tests/test-results', - reporter: [['html', { outputFolder: 'tests/playwright-report' }]], - projects: [ - { - name: 'chromium', - use: { ...devices['Desktop Chrome'] }, - }, - { - name: 'firefox', - use: { ...devices['Desktop Firefox'] }, - }, - { - name: 'webkit', - use: { ...devices['Desktop Safari'] }, - }, - { - name: 'Mobile Chrome', - use: { ...devices['Pixel 5'] }, - }, - ], - use: { - // Base URL to use in actions like `await page.goto('/')`. - baseURL: 'https://docs.nginx.com', - // Set Geolocation to Cork, Ireland - geolocation: { longitude: -8.486316, latitude: 51.896893 }, - permissions: ['geolocation'], - video: 'retain-on-failure' - }, -}) \ No newline at end of file diff --git a/tests/constants.ts b/tests/constants.ts deleted file mode 100644 index 6484baac2..000000000 --- a/tests/constants.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* - Place to store constant values. -*/ -export const TIMEOUT = 4000 \ No newline at end of file diff --git a/tests/search.spec.ts b/tests/search.spec.ts deleted file mode 100644 index 4640f46a9..000000000 --- a/tests/search.spec.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { test, expect} from '@playwright/test'; -import { handleConsentPopup, waitFor } from '../tests/utils/commonUtils.ts' - -test.describe("Testing search page", () => { - test('Searchbar is visible', async ({ page }) => { - await page.goto('/'); - await waitFor(async () => await handleConsentPopup(page)); - - const searchBox = page.locator('.CoveoSearchbox').first(); - const searchButton = page.locator('.CoveoSearchButton'); - const searchValue = "proxy"; - expect(searchBox).toBeVisible(); - - await searchBox.click(); - await page.keyboard.insertText(searchValue); - await searchButton.click(); - await page.waitForURL(`/search.html#q=${searchValue}&sort=relevancy`); - expect(await page.locator('div h1').innerHTML()).toBe('Search Results'); - }); - - test('Search page returns results without error', async ({ page }) => { - await page.goto("/search.html#q=proxy&sort=relevancy"); - await waitFor(() => handleConsentPopup(page)); - - await page.waitForSelector('div.coveo-result-list-container'); - const coveoErrorReport = page.locator('div.CoveoErrorReport'); - const errorReportDisplay = await coveoErrorReport.evaluate(e => window.getComputedStyle(e).display); - expect(errorReportDisplay).toBe('none'); - }); -}) \ No newline at end of file diff --git a/tests/utils/commonUtils.ts b/tests/utils/commonUtils.ts deleted file mode 100644 index 4a20e87b7..000000000 --- a/tests/utils/commonUtils.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { expect, type Page } from '@playwright/test'; -import { TIMEOUT } from '../../tests/constants.ts'; - -// THE GDPR Consent button appears when test is run from EU locations. This handles that popup. -export async function handleConsentPopup(page: Page) { - const consentContent = page.locator('#truste-consent-content'); - const isConsentContentVisibile = await consentContent.isVisible(); - if(isConsentContentVisibile) { - const consentButton = page.locator('#truste-consent-required'); - expect(consentButton).toBeVisible(); - await consentButton.click(); - } -} - -let sleep = ms => new Promise(r => setTimeout(r, ms)); -export let waitFor = async function waitFor(f, ftimeout=TIMEOUT){ - while(!f()) await sleep(ftimeout); - return f(); -}; \ No newline at end of file From 5fd0ebf34250e63538bd2f08aa2c780295c33db9 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Mon, 1 Sep 2025 14:16:33 +0100 Subject: [PATCH 487/723] docs: Add NIC version 5.0.0 to compatibility table (#1042) Add missing row to NIC compat table --- content/includes/nic/compatibility-tables/nic-nap.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/includes/nic/compatibility-tables/nic-nap.md b/content/includes/nic/compatibility-tables/nic-nap.md index d3e920d94..68f6b37bc 100644 --- a/content/includes/nic/compatibility-tables/nic-nap.md +++ b/content/includes/nic/compatibility-tables/nic-nap.md @@ -4,6 +4,7 @@ The following table shows compatibility between NGINX Ingress Controller (NIC) a | NIC Version | NAP-WAF Version | Config Manager | Enforcer | | ------------------- | --------------- | -------------- | -------- | | {{< nic-version >}} | 35+5.498 | 5.8.0 | 5.8.0 | +| 5.0.0 | 34+5.342 | 5.6.0 | 5.6.0 | | 4.0.1 | 33+5.264 | 5.5.0 | 5.5.0 | | 3.7.2 | 32+5.1 | 5.3.0 | 5.3.0 | | 3.6.2 | 32+5.48 | 5.2.0 | 5.2.0 | From 96b0e5ccca705b99be098b974c6b76fa8ecdf5ce Mon Sep 17 00:00:00 2001 From: Donal Hurley Date: Mon, 1 Sep 2025 16:30:42 +0100 Subject: [PATCH 488/723] Add supported telemetry section to Agent V3 tech specs (#1043) * Add supported telemetry section to Agent V3 tech specs * Apply suggestions from code review Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> --------- Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> --- content/includes/agent/tech-specs.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/content/includes/agent/tech-specs.md b/content/includes/agent/tech-specs.md index b141d923b..3175de683 100644 --- a/content/includes/agent/tech-specs.md +++ b/content/includes/agent/tech-specs.md @@ -31,6 +31,18 @@ and performance aligned with the NGINX core platform: To see the detailed technical specifications for NGINX Plus, refer to the official [NGINX Plus documentation]({{< ref "/nginx/technical-specs.md" >}}). +### Supported telemetry + +NGINX Agent runs with an embedded OpenTelemetry Collector that provides the following telemetry: + +{{}} +| Product | Metrics | Logs | Traces | +|-----------------------|---------|------|--------| +| **NGINX Open Source** | Yes | No | No | +| **NGINX Plus** | Yes | No | No | +| **NGINX App Protect** | No | Yes | No | +| **NGINX Agent** | No | No | No | +{{}} ### Recommended hardware From 13df75c7c31964a79931863f6f24a869461e607b Mon Sep 17 00:00:00 2001 From: Venktesh Shivam Patel Date: Tue, 2 Sep 2025 15:26:08 +0100 Subject: [PATCH 489/723] update NIC release notes (#1045) * update app protect version in release notes * update and * fix typo * Update content/nic/releases.md with feedback Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- content/nic/releases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nic/releases.md b/content/nic/releases.md index c84783b58..4821b26d8 100644 --- a/content/nic/releases.md +++ b/content/nic/releases.md @@ -18,7 +18,7 @@ nd-docs: DOCS-616 ### Dependencies - [8115](https://github.com/nginx/kubernetes-ingress/pull/8115) & [8131](https://github.com/nginx/kubernetes-ingress/pull/8131) Bump Go dependencies - [8030](https://github.com/nginx/kubernetes-ingress/pull/8030), [8080](https://github.com/nginx/kubernetes-ingress/pull/8080) & [8112](https://github.com/nginx/kubernetes-ingress/pull/8112) Bump Docker dependencies -- [8139](https://github.com/nginx/kubernetes-ingress/pull/8139) Update to nginx oss 1.29.1, plus r35, agent v3.2, app protect and alpine 3.22 +- [8139](https://github.com/nginx/kubernetes-ingress/pull/8139) Update to NGINX OSS 1.29.1, NGINX Plus r35, NGINX Agent v3.2, NGINX App Protect 4.16.0 & 5.8.0, and Alpine Linux 3.22 ### Upgrade - For NGINX, use the 5.1.1 images from our [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/tags?page=1&ordering=last_updated&name=5.1.1), [GitHub Container](https://github.com/nginx/kubernetes-ingress/pkgs/container/kubernetes-ingress), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress). From cc7d215679d9a3d6aa5e180b747d11d3a329aa20 Mon Sep 17 00:00:00 2001 From: Jack Hickey <133868041+nginx-jack@users.noreply.github.com> Date: Tue, 2 Sep 2025 17:36:41 +0100 Subject: [PATCH 490/723] Mainframe theme release updates (#1018) * Fix catalog and home page * Homepage: Match mainframe branch updates * Homepage: Match mainframe css and layout setup * Rewrite main landing page to be in markdown + updated card shortcode usage (#818) feat: Rewrote main landing page to be in markdown + updated card shortcode usage * Refactored icon usage to use new shortcode (#801) * feat: Rewrote main landing page to be in markdown + updated card shortcode usage * Update card params correctly * chore: Refactored icon usage to use new shortcode * Removed brand icons * Removed final few brand icons * Add overview of nginx-org source ingestion * Update N1 landing page to use updated params * Remove fa usages in mesh * Redocly: Match updated mainframe redocly usage (#970) * Update card-layout usage (#979) * chore: Remove card-layout shortcode usage * chore: Update NIC docs * Remove NGINX Unit from home landing page (#981) chore: Remove NGINX Unit from home landing page * feat: Update tables This commit updates tables across the NGINX documentation set by removing the old bootstrap shortcode or replacing it with the new table one. Mainframe has better sensible defaults, so the scaffolding provided by the bootstrap shortcode is no longer necessary. * Remove card-layout from N+ landing page (#996) feat: Remove card-layout from N+ landing page * Rebase: Fixes post rebase * CardLayout: Fix post rebase * fix: Icon for N4A on home landing page * Fix: Missing line break after includes * Fix OSSC page on mainframe (#1026) fix: Render of ossc page + updated contents * Remove sidebar partial (#1031) chore: Remove sidebar partial * Fix NMS rendering on mainframe (#1030) fix: NMS rendering on mainframe * Fix rn-style shortcode usage issues in build (#1032) fix: Fix rn-style shortcode usage issues in build * ProductSelector: Add yaml * Mainframe: Cardlayout rebase for n1 workshop * Mainframe: Update yaml * Remove before-you-begin shortcode (#1036) chore: Remove before-you-begin shortcode * ProductSelector: Supply extUrl prop for external urls * ProductSelector: Fix casing * ProductSelector: Remove prefix / * ProductSelector: Remove prefix / * ProductSelector: Remove unit --------- Co-authored-by: Lam <150060045+lamATnginx@users.noreply.github.com> Co-authored-by: Lam Nguyen Co-authored-by: Alan Dooley Co-authored-by: Michael McKeen --- _banners/eos-nms.md | 4 + archetypes/landing-page.md | 22 +- content/_index.md | 45 ++ content/agent/_index.md | 40 +- content/agent/about.md | 2 - .../configuration/configuration-overview.md | 6 +- .../container-environments/docker-images.md | 8 +- .../installation-unprivileged.md | 3 - content/agent/technical-specifications.md | 10 +- content/amplify/known-issues.md | 4 - .../controller/api/reference/ctlr-adc-api.md | 3 +- .../api/reference/ctlr-analytics-api.md | 3 +- .../controller/api/reference/ctlr-apim-api.md | 3 +- .../api/reference/ctlr-platform-api.md | 3 +- .../manage-active-directory-auth-provider.md | 2 +- content/mesh/guides/monitoring-and-tracing.md | 4 +- content/mesh/guides/secure-traffic-mtls.md | 12 +- content/mesh/guides/smi-traffic-policies.md | 2 +- content/mesh/reference/api-usage.md | 2 +- .../tutorials/accesscontrol-walkthrough.md | 10 +- content/mesh/tutorials/deploy-example-app.md | 2 +- content/mesh/tutorials/kic/deploy-with-kic.md | 24 +- .../mesh/tutorials/kic/egress-walkthrough.md | 8 +- .../tutorials/kic/ingress-udp-walkthrough.md | 8 +- .../mesh/tutorials/kic/ingress-walkthrough.md | 4 +- content/mesh/tutorials/observability.md | 8 +- .../mesh/tutorials/ratelimit-walkthrough.md | 14 +- .../tutorials/trafficsplit-deployments.md | 16 +- content/nap-dos/_index.md | 29 +- content/nap-waf/_index.md | 25 +- content/ngf/_index.md | 54 +-- content/ngf/overview/custom-policies.md | 3 - .../ngf/overview/gateway-api-compatibility.md | 67 +-- content/ngf/reference/cli-help.md | 12 +- content/ngf/troubleshooting.md | 4 - content/nginx-one/_index.md | 149 +++---- .../install-upgrade/install-from-oss-repo.md | 12 +- .../install-upgrade/install-from-plus-repo.md | 12 +- .../agent/install-upgrade/uninstall.md | 12 +- content/nginx-one/api/api-reference-guide.md | 3 +- .../config-sync-groups/add-file-csg.md | 3 +- content/nginx-one/workshops/_index.md | 39 +- .../run-workshop-components-with-docker.md | 4 +- content/nginx/_index.md | 62 ++- .../monitoring/live-activity-monitoring.md | 21 +- content/nginxaas-azure/_index.md | 66 ++- .../nginx-configuration-portal.md | 6 +- .../ssl-tls-certificates-portal.md | 6 +- content/nginxaas-azure/quickstart/geoip2.md | 2 +- .../security-controls/certificates.md | 12 +- content/nic/_index.md | 24 +- .../configmap-resource.md | 97 ++-- .../globalconfiguration-resource.md | 11 - .../mgmt-configmap-resource.md | 4 +- .../reporting-resources-status.md | 12 +- ...advanced-configuration-with-annotations.md | 47 +- .../configuration/transportserver-resource.md | 25 +- ...server-and-virtualserverroute-resources.md | 77 +--- .../build-nginx-ingress-controller.md | 25 +- content/nic/installation/ingress-nginx.md | 6 - .../installing-nic/installation-with-helm.md | 4 +- .../app-protect-dos/installation.md | 8 +- .../app-protect-waf-v5/installation.md | 3 - .../app-protect-waf/installation.md | 4 - content/nic/overview/design.md | 4 +- content/nic/technical-specifications.md | 18 +- content/nim/_index.md | 51 +-- ...y-nginx-instance-manager-docker-compose.md | 6 +- .../build-and-deploy.md | 2 +- .../infrastructure-as-code/configuration.md | 2 +- content/nim/deploy/vm-bare-metal/install.md | 4 +- .../add-license-disconnected-deployment.md | 8 +- .../offline-install-guide-manual.md | 6 +- .../nim/disconnected/offline-install-guide.md | 2 +- .../report-usage-disconnected-deployment.md | 2 +- ...ccess-to-security-monitoring-dashboards.md | 4 +- content/nim/releases/known-issues.md | 1 - .../configure-forward-proxy.md | 2 +- .../system-configuration/secure-traffic.md | 2 +- content/nms/_index.md | 8 +- .../acm/getting-started/add-api-gateway.md | 7 +- .../nms/acm/getting-started/add-devportal.md | 8 +- .../installation/devportal-helm-chart.md | 5 +- .../installation/install-devportal-offline.md | 2 +- .../infrastructure/customize-devportal.md | 2 +- .../manage-api-infrastructure.md | 3 +- content/nms/acm/how-to/install-acm-offline.md | 2 +- content/nms/acm/releases/known-issues.md | 2 - content/nms/acm/releases/release-notes.md | 2 - content/ossc.md | 32 +- content/unit/_index.md | 44 +- data/product-selector.yaml | 29 ++ documentation/nginx-org-source.md | 45 ++ layouts/_default/nms-eos-list.html | 10 - layouts/catalogs/single.html | 6 +- layouts/index.html | 421 +----------------- layouts/partials/acm-eos/list-landing.html | 51 --- layouts/partials/acm-eos/list-main.html | 51 --- layouts/partials/breadcrumb.html | 19 - layouts/partials/sidebar.html | 192 -------- layouts/shortcodes/before-you-begin.html | 3 - layouts/shortcodes/catalogs-dimensions.html | 8 +- layouts/shortcodes/catalogs-events.html | 10 +- layouts/shortcodes/catalogs-metrics.html | 10 +- layouts/shortcodes/openapi.html | 3 - layouts/shortcodes/rn-styles.html | 36 -- 106 files changed, 693 insertions(+), 1654 deletions(-) create mode 100644 _banners/eos-nms.md create mode 100644 data/product-selector.yaml create mode 100644 documentation/nginx-org-source.md delete mode 100644 layouts/_default/nms-eos-list.html delete mode 100644 layouts/partials/acm-eos/list-landing.html delete mode 100644 layouts/partials/acm-eos/list-main.html delete mode 100644 layouts/partials/breadcrumb.html delete mode 100644 layouts/partials/sidebar.html delete mode 100644 layouts/shortcodes/before-you-begin.html delete mode 100644 layouts/shortcodes/openapi.html delete mode 100644 layouts/shortcodes/rn-styles.html diff --git a/_banners/eos-nms.md b/_banners/eos-nms.md new file mode 100644 index 000000000..2ff86d3e3 --- /dev/null +++ b/_banners/eos-nms.md @@ -0,0 +1,4 @@ +{{< banner "warning" "End of Sale Notice:" >}} +
      + This product is End of Sale. See our
      End of Sale announcement for more details. +{{}} \ No newline at end of file diff --git a/archetypes/landing-page.md b/archetypes/landing-page.md index 91c1ab0d2..be1cca187 100644 --- a/archetypes/landing-page.md +++ b/archetypes/landing-page.md @@ -31,18 +31,16 @@ nd-product: [//]: # "One card will take full width page: two will take half width each. Three will stack like an inverse pyramid." [//]: # "Some examples of content could be the latest release note, the most common install path, and a popular new feature." -{{}} - {{}} - {{}} - - {{}} - - - {{}} - - {{}} - {{}} -{{}} +{{}} + {{}} + + {{}} + + + {{}} + + {{}} +{{}} ## Other content diff --git a/content/_index.md b/content/_index.md index 3fb0a1782..58cc801c2 100644 --- a/content/_index.md +++ b/content/_index.md @@ -2,3 +2,48 @@ title: NGINX Product Documentation description: Learn how to deliver, manage, and protect your applications using F5 NGINX products. --- + +## NGINX Product Documentation +Learn how to deliver, manage, and protect your applications using F5 NGINX products. + +{{}} + {{}} + Monitor your infrastructure, address security vulnerabilities, and assess the health of your NGINX fleet, all from a single console. + {{}} + {{}} + The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. + {{}} + {{}} + Track and control NGINX Open Source and NGINX Plus instances. + {{}} + {{}} + Kubernetes traffic management with API gateway, identity, and observability features. + {{}} + {{}} + Next generation Kubernetes connectivity using the Gateway API. + {{}} + {{}} + The open source all-in-one load balancer, content cache, and web server + {{}} + {{}} + A daemon providing observability data and remote configuration for NGINX Open Source and NGINX Plus instances + {{}} + {{}} + Stay compliant with your NGINX subscription licenses and see how you can use NGINX One to build secure, scalable, and high-performing applications and APIs. + {{}} +{{}} + +{{}} + {{}} + Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs + {{}} + {{}} + Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs + {{}} +{{}} + +{{}} + {{}} + Infrastructure-as-a-Service (IaaS) version of NGINX Plus for your Microsoft Azure application stack + {{}} +{{}} diff --git a/content/agent/_index.md b/content/agent/_index.md index cb96121f2..c8be3a6bf 100644 --- a/content/agent/_index.md +++ b/content/agent/_index.md @@ -33,26 +33,22 @@ configurations, collection and reporting of real-time NGINX performance and oper [//]: # "One card will take full width page: two will take half width each. Three will stack like an inverse pyramid." [//]: # "Some examples of content could be the latest release note, the most common install path, and a popular new feature." -{{}} - {{}} - {{}} - Learn everything you need to know about NGINX Agent - {{}} - - - {{}} - Install NGINX Agent and run a mock control plane - {{}} - {{}} -{{}} +{{}} + {{}} + Learn everything you need to know about NGINX Agent + {{}} + + + {{}} + Install NGINX Agent and run a mock control plane + {{}} +{{}} -{{}} - {{}} - {{}} - {{}} - {{}} - {{}} - {{}} - {{}} - {{}} -{{}} \ No newline at end of file +{{}} + {{}} + {{}} + {{}} + {{}} + {{}} + {{}} +{{}} \ No newline at end of file diff --git a/content/agent/about.md b/content/agent/about.md index 19434fbb2..6bf106885 100644 --- a/content/agent/about.md +++ b/content/agent/about.md @@ -46,7 +46,6 @@ For NGINX Agent to work properly with an NGINX Plus instance, the API needs to b NGINX Agent allows a gRPC connected control system to register a listener for a specific event. The control mechanism is then invoked when NGINX Agent sends an associated system signal. The source of a notification can be either the NGINX instance or NGINX Agent itself. Here's a list of currently supported events: -{{}} | Event | Description | | -------------------------------- | -------------------------------------------- | | AGENT_START_MESSAGE | Agent process started | @@ -61,7 +60,6 @@ NGINX Agent allows a gRPC connected control system to register a listener for a | CONFIG_APPLY_FAILURE_MESSAGE | Failed to apply new NGINX configuration | | CONFIG_ROLLBACK_SUCCESS_MESSAGE | Successfully rolled back NGINX configuration | | CONFIG_ROLLBACK_FAILURE_MESSAGE | Failed to roll back NGINX configuration | -{{}} diff --git a/content/agent/configuration/configuration-overview.md b/content/agent/configuration/configuration-overview.md index 5afaedac4..0a85eede6 100644 --- a/content/agent/configuration/configuration-overview.md +++ b/content/agent/configuration/configuration-overview.md @@ -177,7 +177,7 @@ If you are upgrading from an older version, update your configuration accordingl {{< /call-out >}} -{{}} +{{< table >}} | CLI flag | Environment variable | Description | |---------------------------------------------|--------------------------------------|-----------------------------------------------------------------------------| | `--api-cert` | `NGINX_AGENT_API_CERT` | Specifies the certificate used by the Agent API. | @@ -214,9 +214,7 @@ If you are upgrading from an older version, update your configuration accordingl | `--tls-enable` | `NGINX_AGENT_TLS_ENABLE` | Enables TLS for secure communications. | | `--tls-key` | `NGINX_AGENT_TLS_KEY` | Specifies the path to the certificate key file for TLS. | | `--tls-skip-verify` | `NGINX_AGENT_TLS_SKIP_VERIFY` | Insecurely skips verification for gRPC TLS credentials. | -{{}} - -
      +{{< /table >}} {{< call-out "note" >}} Use the `--config-dirs` command-line option, or the `config_dirs` key in the `nginx-agent.conf` file, to identify the directories NGINX Agent can read from or write to. This setting also defines the location to which you can upload config files when using a control plane. diff --git a/content/agent/installation-upgrade/container-environments/docker-images.md b/content/agent/installation-upgrade/container-environments/docker-images.md index c881be0a0..93d954a97 100644 --- a/content/agent/installation-upgrade/container-environments/docker-images.md +++ b/content/agent/installation-upgrade/container-environments/docker-images.md @@ -77,7 +77,7 @@ git clone git@github.com:nginx/agent.git ### Download the NGINX Plus certificate and key {#myf5-download} -{{< fa "circle-info" "text-muted" >}} **This step is required if you are using NGINX Plus. If you are using NGINX open source, you can skip this section.** +{{< icon "circle-info" "text-muted" >}} **This step is required if you are using NGINX Plus. If you are using NGINX open source, you can skip this section.** In order to build a container image with NGINX Plus, you must provide the SSL certificate and private key files provided with your NGINX Plus license. These files grant access to the package repository from which the script will download the NGINX Plus package. @@ -175,15 +175,12 @@ The NGINX Agent GitHub repo has a set of Make commands that you can use to build You can pass the following arguments when running the **make** command to build an NGINX Agent container image. -{{}} | Argument | Definition | | ---------------- | -------------------------| | OS_RELEASE | The Linux distribution to use as the base image.
      Can also be set in the repo Makefile.| | OS_VERSION | The version of the Linux distribution to use as the base image.
      Can also be set in the repo Makefile.| | AGENT_VERSION | The versions of NGINX agent that you want installed on the image.| -{{
      }} - ### Build NGINX open source images Run the following `make` command to build the default image, which uses Alpine as the base image: @@ -213,6 +210,3 @@ To build an image with Debian and an older version of NGINX Agent you can run th ```shell IMAGE_BUILD_TARGET=install-agent-repo NGINX_AGENT_VERSION=2.37.0~bullseye OS_RELEASE=debian OS_VERSION=bullseye-slim make image ``` - - - diff --git a/content/agent/installation-upgrade/installation-unprivileged.md b/content/agent/installation-upgrade/installation-unprivileged.md index b747aef1d..8c36246be 100644 --- a/content/agent/installation-upgrade/installation-unprivileged.md +++ b/content/agent/installation-upgrade/installation-unprivileged.md @@ -42,7 +42,6 @@ After installing NGINX Plus, you can install NGINX agent following the steps on Run the command corresponding to your operating system to start NGINX Agent: -{{}} | Operating System | Command(s) | |------------------------------------------------------|------------------------------------------------| @@ -50,8 +49,6 @@ Run the command corresponding to your operating system to start NGINX Agent: | Alpine Linux | ```sudo rc-service nginx-agent start```
      or
      ```sudo /etc/init.d/nginx-agent start``` | | FreeBSD | ```sudo service nginx-agent start``` | -{{
      }} - You can confirm that NGINX Agent is running under the same user as NGINX Plus by running the following command: ```bash diff --git a/content/agent/technical-specifications.md b/content/agent/technical-specifications.md index c1fda1546..af3435f0a 100644 --- a/content/agent/technical-specifications.md +++ b/content/agent/technical-specifications.md @@ -11,7 +11,7 @@ This document describes the requirements for NGINX Agent version 2. This document provides technical specifications for NGINX Agent. It includes information on supported distributions, deployment environments, NGINX versions, sizing recommendations, and logging. ## NGINX Agent 3.0 Compatibility -{{< bootstrap-table "table table-striped table-bordered" >}} + | NGINX Product | Agent Version | |------------------------------|----------------| | **NGINX One Console** | 3.x | @@ -19,25 +19,20 @@ This document provides technical specifications for NGINX Agent. It includes inf | **NGINX Plus** | 2.x, 3.x | | **NGINX Ingress Controller** | 2.x, 3.x | | **NGINX Instance Manager** | 2.x | -{{< /bootstrap-table >}} ## Supported Distributions NGINX Agent can run in most environments. We support the following distributions: -{{< bootstrap-table "table table-striped table-bordered" >}} | | AlmaLinux | Alpine Linux | Amazon Linux | Amazon Linux 2| Debian | |-|-----------|--------------|--------------|----------------|--------| |**Version**|8

      9

      10| 3.19

      3.20

      3.21

      3.22| 2023| LTS| 11

      12| |**Architecture**| x86_84

      aarch64| x86_64

      aarch64 | x86_64

      aarch64 | x86_64

      aarch64 | x86_64

      aarch64 | x86_64

      aarch64 | -{{< /bootstrap-table >}} -{{< bootstrap-table "table table-striped table-bordered" >}} | |FreeBSD | Oracle Linux | Red Hat
      Enterprise Linux
      (RHEL) | Rocky Linux | SUSE Linux
      Enterprise Server
      (SLES) | Ubuntu | |-|--------|--------------|---------------------------------|-------------|-------------------------------------|--------| |**Version**|13

      14|8.1+

      9

      10|8.1+

      9.0+

      10|8

      9

      10|15 SP2|22.04 LTS

      24.04 LTS

      25.04 LTS| |**Architecture**|amd64|x86_64|x86_64

      aarch64|x86_64

      aarch64|x86_64|x86_64

      aarch64| -{{< /bootstrap-table >}} ## Supported deployment environments @@ -57,11 +52,10 @@ NGINX Agent works with all supported versions of NGINX Open Source and NGINX Plu ## Sizing recommendations Minimum system sizing recommendations for NGINX Agent: -{{< bootstrap-table "table table-striped table-bordered" >}} + | CPU | Memory | Network | Storage | |------------|----------|-----------|---------| | 1 CPU core | 1 GB RAM | 1 GbE NIC | 20 GB | -{{< /bootstrap-table >}} ## Logging diff --git a/content/amplify/known-issues.md b/content/amplify/known-issues.md index 38b7db320..2d2bf2a79 100644 --- a/content/amplify/known-issues.md +++ b/content/amplify/known-issues.md @@ -6,17 +6,13 @@ toc: true nd-docs: DOCS-1692 --- -{{}} - --- ### {{% icon-bug %}} Unable to add some NGINX HTTP requests metrics to custom graph {#631} -{{}} | Issue ID | Status | |----------|--------| | 631 | Open | -{{}} #### Description diff --git a/content/controller/api/reference/ctlr-adc-api.md b/content/controller/api/reference/ctlr-adc-api.md index e1226fa0f..04ead674a 100644 --- a/content/controller/api/reference/ctlr-adc-api.md +++ b/content/controller/api/reference/ctlr-adc-api.md @@ -12,6 +12,5 @@ tags: title: ADC API toc: false weight: 300 +nd-api-reference: "./nginx-controller/api/reference/ctlr-adc-openapi.json" --- - -{{< openapi spec="./nginx-controller/api/reference/ctlr-adc-openapi.json" >}} diff --git a/content/controller/api/reference/ctlr-analytics-api.md b/content/controller/api/reference/ctlr-analytics-api.md index b1d69e9bb..70e1214f6 100644 --- a/content/controller/api/reference/ctlr-analytics-api.md +++ b/content/controller/api/reference/ctlr-analytics-api.md @@ -11,6 +11,5 @@ tags: title: Analytics API toc: false weight: 200 +nd-api-reference: "./nginx-controller/api/reference/ctlr-analytics-openapi.json" --- - -{{< openapi spec="./nginx-controller/api/reference/ctlr-analytics-openapi.json" >}} diff --git a/content/controller/api/reference/ctlr-apim-api.md b/content/controller/api/reference/ctlr-apim-api.md index 0b673cb8d..5add27db2 100644 --- a/content/controller/api/reference/ctlr-apim-api.md +++ b/content/controller/api/reference/ctlr-apim-api.md @@ -11,6 +11,5 @@ tags: title: APIM API toc: false weight: 400 +nd-api-reference: "./nginx-controller/api/reference/ctlr-apim-openapi.json" --- - -{{< openapi spec="./nginx-controller/api/reference/ctlr-apim-openapi.json" >}} diff --git a/content/controller/api/reference/ctlr-platform-api.md b/content/controller/api/reference/ctlr-platform-api.md index d64ad61f5..562a3db72 100644 --- a/content/controller/api/reference/ctlr-platform-api.md +++ b/content/controller/api/reference/ctlr-platform-api.md @@ -8,6 +8,5 @@ tags: - api title: Platform API toc: false +nd-api-reference: "./nginx-controller/api/reference/ctlr-platform-openapi.json" --- - -{{< openapi spec="./nginx-controller/api/reference/ctlr-platform-openapi.json" >}} diff --git a/content/controller/platform/access-management/manage-active-directory-auth-provider.md b/content/controller/platform/access-management/manage-active-directory-auth-provider.md index 176e7edf6..fa10653e2 100644 --- a/content/controller/platform/access-management/manage-active-directory-auth-provider.md +++ b/content/controller/platform/access-management/manage-active-directory-auth-provider.md @@ -80,7 +80,7 @@ Take the steps below to create a new Authentication Provider by using the NGINX ## Set up an Microsoft Entra Auth Provider {#set-up-entra} -{{< fa "arrow-circle-right" >}} **Introduced in NGINX Controller ADC v3.22** +{{< icon "arrow-circle-right" >}} **Introduced in NGINX Controller ADC v3.22** In the previous section, you selected **Microsoft Entra** from the **Authentication Provider Type** list. Next, you'll set up the Auth Provider so it can connect to Microsoft Entra. diff --git a/content/mesh/guides/monitoring-and-tracing.md b/content/mesh/guides/monitoring-and-tracing.md index f71a42e98..cbf6e5bb3 100644 --- a/content/mesh/guides/monitoring-and-tracing.md +++ b/content/mesh/guides/monitoring-and-tracing.md @@ -57,8 +57,8 @@ To use NGINX Service Mesh with your Prometheus deployment: If you are deploying NGINX Plus Ingress Controller with the NGINX Service Mesh, add the `nginx-plus-ingress` scrape config as well. Consult the [Metrics]( {{< ref "/mesh/tutorials/kic/deploy-with-kic.md#nginx-plus-ingress-controller-metrics" >}} ) section of the NGINX Ingress Controller Deployment tutorial for more information about the metrics collected. - - {{< fa "download" >}} {{< link "/examples/nginx-mesh-sidecars-scrape-config.yaml" "`nginx-mesh-sidecars-scrape-config.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/nginx-plus-ingress-scrape-config.yaml" "`nginx-plus-ingress-scrape-config.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-mesh-sidecars-scrape-config.yaml" "`nginx-mesh-sidecars-scrape-config.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-plus-ingress-scrape-config.yaml" "`nginx-plus-ingress-scrape-config.yaml`" >}} {{< call-out "note" >}} For more information on how to view and understand the metrics that we track, see our [Prometheus Metrics]({{< ref "prometheus-metrics.md" >}}) guide. diff --git a/content/mesh/guides/secure-traffic-mtls.md b/content/mesh/guides/secure-traffic-mtls.md index 574b33c22..07493d44a 100644 --- a/content/mesh/guides/secure-traffic-mtls.md +++ b/content/mesh/guides/secure-traffic-mtls.md @@ -60,7 +60,7 @@ SPIRE uses a mechanism called "Upstream Authority" to interface with PKI systems In order to use a proper PKI, you must first choose one of the upstream authorities NGINX Service Mesh supports: - [disk](https://github.com/spiffe/spire/blob/v1.0.0/doc/plugin_server_upstreamauthority_disk.md): Requires certificates and private key be on disk. - - Template: {{< fa "download" >}} {{< link "/examples/upstream-ca/disk.yaml" "disk.yaml" >}} + - Template: {{< icon "download" >}} {{< link "/examples/upstream-ca/disk.yaml" "disk.yaml" >}} - The minimal configuration to successfully deploy the mesh using the `disk` upstream authority looks like this: @@ -73,7 +73,7 @@ In order to use a proper PKI, you must first choose one of the upstream authorit ``` - [aws_pca](https://github.com/spiffe/spire/blob/v1.0.0/doc/plugin_server_upstreamauthority_aws_pca.md): Uses [Amazon Certificate Manager Private Certificate Authority (ACM PCA)](https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html) to manage certificates. - - Template: {{< fa "download" >}} {{< link "/examples/upstream-ca/aws_pca.yaml" "aws_pca.yaml" >}} + - Template: {{< icon "download" >}} {{< link "/examples/upstream-ca/aws_pca.yaml" "aws_pca.yaml" >}} - Here is the minimal configuration to deploy the mesh using the `aws_pca` upstream authority: @@ -102,7 +102,7 @@ In order to use a proper PKI, you must first choose one of the upstream authorit {{< /call-out >}} - [awssecret](https://github.com/spiffe/spire/blob/v1.0.0/doc/plugin_server_upstreamauthority_awssecret.md): Loads CA credentials from AWS SecretsManager. - - Template: {{< fa "download" >}} {{< link "/examples/upstream-ca/awssecret.yaml" "awssecret.yaml" >}} + - Template: {{< icon "download" >}} {{< link "/examples/upstream-ca/awssecret.yaml" "awssecret.yaml" >}} - Here is the minimal configuration to deploy the mesh using the `awssecret` upstream authority: @@ -120,10 +120,10 @@ In order to use a proper PKI, you must first choose one of the upstream authorit {{< /call-out >}} - [vault](https://github.com/spiffe/spire/blob/v0.12.3/doc/plugin_server_upstreamauthority_vault.md): Uses Vault PKI Engine to manage certificates. - - Template: {{< fa "download" >}} {{< link "/examples/upstream-ca/vault.yaml" "vault.yaml" >}} + - Template: {{< icon "download" >}} {{< link "/examples/upstream-ca/vault.yaml" "vault.yaml" >}} - [cert-manager](https://github.com/spiffe/spire/blob/v1.0.0/doc/plugin_server_upstreamauthority_cert_manager.md): Uses an instance of `cert-manager` running in Kubernetes to request intermediate signing certificates for SPIRE server. - - Template: {{< fa "download" >}} {{< link "/examples/upstream-ca/cert-manager.yaml" "cert-manager.yaml" >}} + - Template: {{< icon "download" >}} {{< link "/examples/upstream-ca/cert-manager.yaml" "cert-manager.yaml" >}} - Here is the minimal configuration to deploy the mesh using the `cert-manager` upstream authority: @@ -247,7 +247,7 @@ spire-server-0 2/2 Running 0 24h We'll use the [Istio `bookinfo`](https://istio.io/docs/examples/bookinfo/) example to test that traffic is, in fact, encrypted with mTLS enabled. -- {{< fa "download" >}} {{< link "/examples/bookinfo.yaml" "`bookinfo.yaml`" >}} +- {{< icon "download" >}} {{< link "/examples/bookinfo.yaml" "`bookinfo.yaml`" >}} 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Deploy the `bookinfo` application: diff --git a/content/mesh/guides/smi-traffic-policies.md b/content/mesh/guides/smi-traffic-policies.md index 4ac539467..471272c4c 100644 --- a/content/mesh/guides/smi-traffic-policies.md +++ b/content/mesh/guides/smi-traffic-policies.md @@ -170,7 +170,7 @@ In this example, `GET` requests to the destination service from `source-1` will The burst of 10 and a delay of `nodelay` means that 10 excess requests over the rate will be forwarded to the destination service immediately. Requests from sources other than `source-1`, or requests from `source-1` that are _not_ `GET` requests, will not be rate limited. -> You can download the schema for the RateLimit CRD here: {{< fa "download" >}} [`rate-limit-schema.yaml`](https://github.com/nginxinc/nginx-service-mesh/blob/main/helm-chart/crds/ratelimit.yaml) +> You can download the schema for the RateLimit CRD here: {{< icon "download" >}} [`rate-limit-schema.yaml`](https://github.com/nginxinc/nginx-service-mesh/blob/main/helm-chart/crds/ratelimit.yaml) The rate limit spec contains the following fields: diff --git a/content/mesh/reference/api-usage.md b/content/mesh/reference/api-usage.md index 310e2a4b5..e5f3845ad 100644 --- a/content/mesh/reference/api-usage.md +++ b/content/mesh/reference/api-usage.md @@ -22,7 +22,7 @@ kubectl edit meshconfig nginx-mesh-config -n nginx-mesh This will open your default text editor to make changes. To see the configurable fields, download the custom resource definition: -{{< fa "download" >}} [`meshconfig-schema.yaml`](https://github.com/nginxinc/nginx-service-mesh/blob/main/helm-chart/crds/meshconfig.yaml) +{{< icon "download" >}} [`meshconfig-schema.yaml`](https://github.com/nginxinc/nginx-service-mesh/blob/main/helm-chart/crds/meshconfig.yaml) {{< call-out "warning" >}} If the `meshconfig` resource is deleted, or the `spec.meshConfigClassName` field is removed or changed, then the global mesh configuration cannot be updated, and unexpected behavior may occur. diff --git a/content/mesh/tutorials/accesscontrol-walkthrough.md b/content/mesh/tutorials/accesscontrol-walkthrough.md index 433256488..befb02b62 100644 --- a/content/mesh/tutorials/accesscontrol-walkthrough.md +++ b/content/mesh/tutorials/accesscontrol-walkthrough.md @@ -19,10 +19,10 @@ The access control mode can be [set to `deny` at the global level]( {{< ref "/me 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Download all of the example files: - - {{< fa "download" >}} {{< link "/examples/dest-svc.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/access.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/driver-allowed.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/driver-disallowed.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/dest-svc.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/access.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/driver-allowed.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/driver-disallowed.yaml" >}} ## Objectives @@ -352,7 +352,7 @@ Traffic can be filtered via sets that are classified via ServiceAccounts. But [T For exact matches, be sure to use regular expression anchors. To exactly match the header value `hello`, be sure to use `^hello$`; otherwise, additional headers that contain the sequence `hello` will be allowed. {{< /call-out >}} {{< call-out "tip" >}} -For an expanded example showing configuration for an application using a headless service, checkout our example for clustered application traffic policies {{< fa "download" >}} {{< link "/examples/clustered-application.yaml" >}} +For an expanded example showing configuration for an application using a headless service, checkout our example for clustered application traffic policies {{< icon "download" >}} {{< link "/examples/clustered-application.yaml" >}} {{< /call-out >}} ## Resources diff --git a/content/mesh/tutorials/deploy-example-app.md b/content/mesh/tutorials/deploy-example-app.md index 2b93c90e5..3439e022b 100644 --- a/content/mesh/tutorials/deploy-example-app.md +++ b/content/mesh/tutorials/deploy-example-app.md @@ -14,7 +14,7 @@ type: In this tutorial, we will use the `bookinfo` example app Deployment. -- {{< fa "download" >}} {{< link "examples/bookinfo.yaml" "examples/bookinfo.yaml" >}} +- {{< icon "download" >}} {{< link "examples/bookinfo.yaml" "examples/bookinfo.yaml" >}} {{< call-out "note" >}} Notice in the above yaml: diff --git a/content/mesh/tutorials/kic/deploy-with-kic.md b/content/mesh/tutorials/kic/deploy-with-kic.md index 2ba96bc8d..f3d339638 100644 --- a/content/mesh/tutorials/kic/deploy-with-kic.md +++ b/content/mesh/tutorials/kic/deploy-with-kic.md @@ -96,10 +96,10 @@ Before continuing, check the NGINX Ingress Controller [supported versions](#supp - [Configure role-based access control (RBAC)](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/#1-configure-rbac) - [Create Common Resources](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/#2-create-common-resources) 1. Create the NGINX Ingress Controller as a **Deployment** or **DaemonSet** in Kubernetes using one of the following example manifests: - - Kubernetes Deployment: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/oss/nginx-ingress.yaml" "`nginx-ingress-controller/oss/nginx-ingress.yaml`" >}} - - Kubernetes DaemonSet: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/oss/nginx-ingress-daemonset.yaml" "`nginx-ingress-controller/oss/nginx-ingress-daemonset.yaml`" >}} - - OpenShift Deployment: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nginx-ingress.yaml" "`nginx-ingress-controller/oss/openshift/nginx-ingress.yaml`" >}} - - Openshift DaemonSet: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nginx-ingress-daemonset.yaml" "`nginx-ingress-controller/oss/openshift/nginx-ingress-daemonset.yaml`" >}} + - Kubernetes Deployment: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/oss/nginx-ingress.yaml" "`nginx-ingress-controller/oss/nginx-ingress.yaml`" >}} + - Kubernetes DaemonSet: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/oss/nginx-ingress-daemonset.yaml" "`nginx-ingress-controller/oss/nginx-ingress-daemonset.yaml`" >}} + - OpenShift Deployment: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nginx-ingress.yaml" "`nginx-ingress-controller/oss/openshift/nginx-ingress.yaml`" >}} + - Openshift DaemonSet: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nginx-ingress-daemonset.yaml" "`nginx-ingress-controller/oss/openshift/nginx-ingress-daemonset.yaml`" >}} {{< call-out "note" >}} The provided manifests configure NGINX Ingress Controller for ingress traffic only. If you would like to enable egress traffic, refer to the [Enable Egress](#enable-with-manifests) section of this guide. {{< /call-out >}} {{< call-out "important" >}} Be sure to replace the `nginx-ingress:version` image used in the manifest with the chosen image from a supported Container registry; or the container image that you have built. {{< /call-out >}} @@ -107,7 +107,7 @@ Before continuing, check the NGINX Ingress Controller [supported versions](#supp Download the SecurityContextConstraint necessary to run NGINX Ingress Controller in an OpenShift environment. - - {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nic-scc.yaml" "`nginx-ingress-controller/oss/openshift/nic-scc.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nic-scc.yaml" "`nginx-ingress-controller/oss/openshift/nic-scc.yaml`" >}} - Apply the `nginx-ingress-permissions` SecurityContextConstraint: @@ -132,10 +132,10 @@ Before continuing, check the NGINX Ingress Controller [supported versions](#supp - [Configure role-based access control (RBAC)](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/#1-configure-rbac) - [Create Common Resources](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/#2-create-common-resources) 1. Create the NGINX Plus Ingress Controller as a **Deployment** or **DaemonSet** in Kubernetes using one of the following example manifests: - - Kubernetes Deployment: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/plus/nginx-plus-ingress.yaml" "`nginx-ingress-controller/plus/nginx-plus-ingress.yaml`" >}} - - Kubernetes DaemonSet: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/plus/nginx-plus-ingress-daemonset.yaml" "`nginx-ingress-controller/plus/nginx-plus-ingress-daemonset.yaml`" >}} - - OpenShift Deployment: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nginx-plus-ingress.yaml" "`nginx-ingress-controller/openshift/nginx-plus-ingress.yaml`" >}} - - Openshift DaemonSet: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nginx-plus-ingress-daemonset.yaml" "`nginx-ingress-controller/openshift/nginx-plus-ingress-daemonset.yaml`" >}} + - Kubernetes Deployment: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/plus/nginx-plus-ingress.yaml" "`nginx-ingress-controller/plus/nginx-plus-ingress.yaml`" >}} + - Kubernetes DaemonSet: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/plus/nginx-plus-ingress-daemonset.yaml" "`nginx-ingress-controller/plus/nginx-plus-ingress-daemonset.yaml`" >}} + - OpenShift Deployment: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nginx-plus-ingress.yaml" "`nginx-ingress-controller/openshift/nginx-plus-ingress.yaml`" >}} + - Openshift DaemonSet: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nginx-plus-ingress-daemonset.yaml" "`nginx-ingress-controller/openshift/nginx-plus-ingress-daemonset.yaml`" >}} {{< call-out "note" >}} The provided manifests configure NGINX Plus Ingress Controller for ingress traffic only. If you would like to enable egress traffic, refer to the [Enable Egress](#enable-with-manifests) section of this guide. {{< /call-out >}} {{< call-out "important" >}} Be sure to replace the `nginx-plus-ingress:version` image used in the manifest with the chosen image from the F5 Container registry; or the container image that you have built. {{< /call-out >}} @@ -143,7 +143,7 @@ Before continuing, check the NGINX Ingress Controller [supported versions](#supp Download the SecurityContextConstraint necessary to run NGINX Ingress Controller in an OpenShift environment. - - {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nic-scc.yaml" "`nginx-ingress-controller/openshift/nic-scc.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nic-scc.yaml" "`nginx-ingress-controller/openshift/nic-scc.yaml`" >}} - Apply the `nginx-ingress-permissions` SecurityContextConstraint: @@ -356,8 +356,8 @@ The NGINX Service Mesh uses the Pod's container name setting to identify the NGI Add the applicable `nginx-ingress` scrape config to your Prometheus configuration and consult [Monitoring and Tracing]( {{< ref "/mesh/guides/monitoring-and-tracing.md#prometheus" >}} ) for installation instructions. -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-scrape-config.yaml" "`nginx-ingress-scrape-config.yaml`" >}} -- {{< fa "download" >}} {{< link "/examples/nginx-plus-ingress-scrape-config.yaml" "`nginx-plus-ingress-scrape-config.yaml`" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-scrape-config.yaml" "`nginx-ingress-scrape-config.yaml`" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-plus-ingress-scrape-config.yaml" "`nginx-plus-ingress-scrape-config.yaml`" >}} ## Available metrics For a list of the NGINX Ingress Controller metrics, consult the [Available Metrics](https://docs.nginx.com/nginx-ingress-controller/logging-and-monitoring/prometheus/#available-metrics) section of the NGINX Ingress Controller docs. diff --git a/content/mesh/tutorials/kic/egress-walkthrough.md b/content/mesh/tutorials/kic/egress-walkthrough.md index 2cc84cab3..f903b213f 100644 --- a/content/mesh/tutorials/kic/egress-walkthrough.md +++ b/content/mesh/tutorials/kic/egress-walkthrough.md @@ -31,8 +31,8 @@ to a non-meshed service. 1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/). 1. Download the example files: - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-v1.0.yaml" "target-v1.0.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/egress-driver.yaml" "egress-driver.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-v1.0.yaml" "target-v1.0.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/egress-driver.yaml" "egress-driver.yaml" >}} ## Install NGINX Service Mesh @@ -188,7 +188,7 @@ Ingress: If using Kubernetes v1.18.0 or greater you must use `ingressClassName` in your Ingress resources. Uncomment line 9 in the resource below or the downloaded file, `target-internal-route.yaml`. {{< /call-out >}} -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/target-internal-route.yaml" "nginx-ingress-controller/target-internal-route.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/target-internal-route.yaml" "nginx-ingress-controller/target-internal-route.yaml" >}} ```yaml apiVersion: networking.k8s.io/v1 @@ -216,7 +216,7 @@ spec: VirtualServer: -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/target-vs-internal-route.yaml" "nginx-ingress-controller/target-vs-internal-route.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/target-vs-internal-route.yaml" "nginx-ingress-controller/target-vs-internal-route.yaml" >}} ```yaml apiVersion: k8s.nginx.org/v1 diff --git a/content/mesh/tutorials/kic/ingress-udp-walkthrough.md b/content/mesh/tutorials/kic/ingress-udp-walkthrough.md index e2997fb8b..7e7f88a81 100644 --- a/content/mesh/tutorials/kic/ingress-udp-walkthrough.md +++ b/content/mesh/tutorials/kic/ingress-udp-walkthrough.md @@ -48,7 +48,7 @@ NGINX Ingress Controller will try to fetch certs from the Spire agent that gets mTLS does not affect UDP communication, as mTLS in NGINX Service Mesh applies only to TCP traffic at this time. {{< /call-out >}} 2. Get access to the NGINX Ingress Controller by applying the `udp-nodeport.yaml` NodePort resource. - - {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-nodeport.yaml" "udp-nodeport.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-nodeport.yaml" "udp-nodeport.yaml" >}} 3. Check the exposed port from the NodePort service just defined: ```bash @@ -77,7 +77,7 @@ NGINX Ingress Controller will try to fetch certs from the Spire agent that gets 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Download the manifest for the `udp-listener` app. - - {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-listener.yaml" "udp-listener.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-listener.yaml" "udp-listener.yaml" >}} 1. Use `kubectl` to deploy the example `udp-listener` app. ```bash @@ -96,8 +96,8 @@ NGINX Ingress Controller will try to fetch certs from the Spire agent that gets To route UDP requests to an application in the mesh through the NGINX Ingress Controller, you will need both a GlobalConfiguration and TransportServer Resource. -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/udp/nic-global-configuration.yaml" "nic-global-configuration.yaml" >}} -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-transportserver.yaml" "udp-transportserver.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/udp/nic-global-configuration.yaml" "nic-global-configuration.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-transportserver.yaml" "udp-transportserver.yaml" >}} 1. Deploy a GlobalConfiguration to configure what port to listen for UDP requests on: diff --git a/content/mesh/tutorials/kic/ingress-walkthrough.md b/content/mesh/tutorials/kic/ingress-walkthrough.md index f43678a08..4768445ed 100644 --- a/content/mesh/tutorials/kic/ingress-walkthrough.md +++ b/content/mesh/tutorials/kic/ingress-walkthrough.md @@ -58,7 +58,7 @@ NGINX Ingress Controller will try to fetch certs from the Spire agent that gets 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Download the manifest for the `bookinfo` app. - - {{< fa "download" >}} {{< link "/examples/bookinfo.yaml" "bookinfo.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/bookinfo.yaml" "bookinfo.yaml" >}} 1. Use `kubectl` to deploy the example `bookinfo` app. ```bash @@ -103,7 +103,7 @@ Create an Ingress Resource to expose the Bookinfo application, using the example If using Kubernetes v1.18.0 or greater you must use `ingressClassName` in your Ingress resources. Uncomment line 6 in the resource below or the downloaded file, `bookinfo-ingress.yaml`. {{< /call-out >}} -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/bookinfo-ingress.yaml" "bookinfo-ingress.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/bookinfo-ingress.yaml" "bookinfo-ingress.yaml" >}} ```bash kubectl apply -f bookinfo-ingress.yaml diff --git a/content/mesh/tutorials/observability.md b/content/mesh/tutorials/observability.md index 7193f0c17..ef46107c0 100644 --- a/content/mesh/tutorials/observability.md +++ b/content/mesh/tutorials/observability.md @@ -18,10 +18,10 @@ In this tutorial, we will install F5 NGINX Service Mesh with some basic observab Download the following files containing the configurations for the observability components: -- {{< fa "download" >}} {{< link "/examples/prometheus.yaml" "prometheus.yaml" >}} -- {{< fa "download" >}} {{< link "/examples/grafana.yaml" "grafana.yaml" >}} -- {{< fa "download" >}} {{< link "/examples/otel-collector.yaml" "otel-collector.yaml" >}} -- {{< fa "download" >}} {{< link "/examples/jaeger.yaml" "jaeger.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/prometheus.yaml" "prometheus.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/grafana.yaml" "grafana.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/otel-collector.yaml" "otel-collector.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/jaeger.yaml" "jaeger.yaml" >}} Deploy the components: diff --git a/content/mesh/tutorials/ratelimit-walkthrough.md b/content/mesh/tutorials/ratelimit-walkthrough.md index 65def4cdb..7194cfdc0 100644 --- a/content/mesh/tutorials/ratelimit-walkthrough.md +++ b/content/mesh/tutorials/ratelimit-walkthrough.md @@ -26,13 +26,13 @@ This tutorial shows you how to set up rate limiting policies between your worklo 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Download all of the example files: - - {{< fa "download" >}} {{< link "/examples/rate-limit/destination.yaml" "`destination.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/client-v1.yaml" "`client-v1.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/client-v2.yaml" "`client-v2.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/bursty-client.yaml" "`bursty-client.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/ratelimit.yaml" "`ratelimit.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/ratelimit-burst.yaml" "`ratelimit-burst.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/ratelimit-rules.yaml" "`ratelimit-rules.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/destination.yaml" "`destination.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/client-v1.yaml" "`client-v1.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/client-v2.yaml" "`client-v2.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/bursty-client.yaml" "`bursty-client.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/ratelimit.yaml" "`ratelimit.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/ratelimit-burst.yaml" "`ratelimit-burst.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/ratelimit-rules.yaml" "`ratelimit-rules.yaml`" >}} {{< call-out "note" >}} Avoid configuring traffic policies such as TrafficSplits, RateLimits, and CircuitBreakers for headless services. diff --git a/content/mesh/tutorials/trafficsplit-deployments.md b/content/mesh/tutorials/trafficsplit-deployments.md index 895337ab2..a87121633 100644 --- a/content/mesh/tutorials/trafficsplit-deployments.md +++ b/content/mesh/tutorials/trafficsplit-deployments.md @@ -24,14 +24,14 @@ You can use traffic splitting for most deployment scenarios, including canary, b 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Download all the example files: - - {{< fa "download" >}} {{< link "/examples/traffic-split/gateway.yaml" "gateway.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-svc.yaml" "target-svc.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-v1.0.yaml" "target-v1.0.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-v2.0-failing.yaml" "target-v2.0-failing.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-v2.1-successful.yaml" "target-v2.1-successful.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-v3.0.yaml" "target-v3.0.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/trafficsplit.yaml" "trafficsplit.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/trafficsplit-matches.yaml" "trafficsplit-matches.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/gateway.yaml" "gateway.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-svc.yaml" "target-svc.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-v1.0.yaml" "target-v1.0.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-v2.0-failing.yaml" "target-v2.0-failing.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-v2.1-successful.yaml" "target-v2.1-successful.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-v3.0.yaml" "target-v3.0.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/trafficsplit.yaml" "trafficsplit.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/trafficsplit-matches.yaml" "trafficsplit-matches.yaml" >}} {{< call-out "note" >}} diff --git a/content/nap-dos/_index.md b/content/nap-dos/_index.md index e7d8430f2..97c301af7 100644 --- a/content/nap-dos/_index.md +++ b/content/nap-dos/_index.md @@ -28,18 +28,17 @@ Running natively on NGINX Plus and NGINX Ingress Controller, NGINX App Protect D [//]: # "One card will take full width page: two will take half width each. Three will stack like an inverse pyramid." [//]: # "Some examples of content could be the latest release note, the most common install path, and a popular new feature." -{{}} - {{}} - {{}} - Read how to install and upgrade NGINX App Protect DoS - {{}} - - - {{}} - Learn how to debug NGINX App Protect DoS - {{}} - {{}} - Review changelogs for NGINX App Protect DoS - {{}} - {{}} -{{}} \ No newline at end of file + +{{}} + {{}} + Read how to install and upgrade NGINX App Protect DoS + {{}} + + + {{}} + Learn how to debug NGINX App Protect DoS + {{}} + {{}} + Review changelogs for NGINX App Protect DoS + {{}} +{{}} diff --git a/content/nap-waf/_index.md b/content/nap-waf/_index.md index 46c3c7f4a..cb5c35d15 100644 --- a/content/nap-waf/_index.md +++ b/content/nap-waf/_index.md @@ -27,16 +27,15 @@ Defend your applications and APIs with a software security solution that seamles [//]: # "One card will take full width page: two will take half width each. Three will stack like an inverse pyramid." [//]: # "Some examples of content could be the latest release note, the most common install path, and a popular new feature." -{{}} - {{}} - {{}} - Read the use cases and technical specifications for NGINX App Protect WAF - {{}} - {{}} - Install NGINX App Protect WAF in a virtual environment - {{}} - {{}} - Review the latest changes to NGINX App Protect WAF - {{}} - {{}} -{{}} \ No newline at end of file + +{{}} + {{}} + Read the use cases and technical specifications for NGINX App Protect WAF + {{}} + {{}} + Install NGINX App Protect WAF in a virtual environment + {{}} + {{}} + Review the latest changes to NGINX App Protect WAF + {{}} +{{}} diff --git a/content/ngf/_index.md b/content/ngf/_index.md index 3aced3c22..5f7b85fde 100644 --- a/content/ngf/_index.md +++ b/content/ngf/_index.md @@ -31,19 +31,17 @@ For a list of supported Gateway API resources and features, see the [Gateway API ## Featured content -{{}} - {{}} - {{}} - Use kind to quickly deploy and test a NGINX Gateway Fabric cluster. - {{}} - {{}} - Choose how to deploy NGINX Gateway Fabric in production. - {{}} - {{}} - Review the changes from the latest releases. - {{}} - {{}} -{{}} +{{}} + {{}} + Use kind to quickly deploy and test a NGINX Gateway Fabric cluster. + {{}} + {{}} + Choose how to deploy NGINX Gateway Fabric in production. + {{}} + {{}} + Review the changes from the latest releases. + {{}} +{{}} ## Design @@ -59,21 +57,17 @@ For more information, see the [Gateway architecture]({{< ref "/ngf/overview/gate ## More information -{{}} - {{}} - {{}} - View how much of the Gateway API NGINX Gateway Fabric supports. - {{}} - {{}} - Check which versions of NGINX Gateway Fabric match the API. - {{}} - {{}} - Create simple rules for directing network traffic with HTTPRoute resources. - {{}} - {{}} - Implement HTTPS with Let's Encrypt to secure client-server communication. - {{}} -{{}} - -{{}} \ No newline at end of file + {{}} + View how much of the Gateway API NGINX Gateway Fabric supports. + {{}} + {{}} + Check which versions of NGINX Gateway Fabric match the API. + {{}} + {{}} + Create simple rules for directing network traffic with HTTPRoute resources. + {{}} + {{}} + Implement HTTPS with Let's Encrypt to secure client-server communication. + {{}} +{{}} \ No newline at end of file diff --git a/content/ngf/overview/custom-policies.md b/content/ngf/overview/custom-policies.md index 67e170db1..400e2353d 100644 --- a/content/ngf/overview/custom-policies.md +++ b/content/ngf/overview/custom-policies.md @@ -15,7 +15,6 @@ These custom policies follow the Gateway API [Policy Attachment](https://gateway Policies are a Kubernetes object that augments the behavior of an object in a standard way. Policies can be attached to one object ([Direct Policy Attachment](#direct-policy-attachment)) or objects in a hierarchy ([Inherited Policy Attachment](#inherited-policy-attachment)). The following table summarizes NGINX Gateway Fabric custom policies: -{{< bootstrap-table "table table-striped table-bordered" >}} | Policy | Description | Attachment Type | Supported Target Object(s) | Supports Multiple Target Refs | Mergeable | API Version | |---------------------------------------------------------------------------------------------|---------------------------------------------------------|-----------------|-------------------------------|-------------------------------|-----------|-------------| @@ -23,8 +22,6 @@ The following table summarizes NGINX Gateway Fabric custom policies: | [ObservabilityPolicy]({{< ref "/ngf/monitoring/tracing.md" >}}) | Define settings related to tracing, metrics, or logging | Direct | HTTPRoute, GRPCRoute | Yes | No | v1alpha2 | | [UpstreamSettingsPolicy]({{< ref "/ngf/traffic-management/upstream-settings.md" >}}) | Configure connection behavior between NGINX and backend | Direct | Service | Yes | Yes | v1alpha1 | -{{< /bootstrap-table >}} - {{< call-out "important" >}} If attaching a Policy to a Route, that Route must not share a hostname:port/path combination with any other Route that is not referenced by the same Policy. If it does, the Policy will be rejected. This is because the Policy would end up affecting other Routes that it is not attached to. {{< /call-out >}} diff --git a/content/ngf/overview/gateway-api-compatibility.md b/content/ngf/overview/gateway-api-compatibility.md index 0b77c3cc3..ab641d44c 100644 --- a/content/ngf/overview/gateway-api-compatibility.md +++ b/content/ngf/overview/gateway-api-compatibility.md @@ -11,8 +11,7 @@ Learn which Gateway API resources NGINX Gateway Fabric supports and to which lev ## Summary -{{< bootstrap-table "table table-striped table-bordered" >}} - +{{< table >}} | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |---------------------------------------|---------------------|------------------------|---------------------------------------|-------------|---------------------| | [GatewayClass](#gatewayclass) | Supported | Not supported | Supported | v1 | Standard | @@ -25,8 +24,7 @@ Learn which Gateway API resources NGINX Gateway Fabric supports and to which lev | [UDPRoute](#udproute) | Not supported | Not supported | Not supported | v1alpha2 | Experimental | | [BackendTLSPolicy](#backendtlspolicy) | Partially Supported | Supported | Partially supported | v1alpha3 | Experimental | | [Custom policies](#custom-policies) | N/A | N/A | Supported | N/A | N/A | - -{{< /bootstrap-table >}} +{{< /table >}} ## Terminology @@ -49,13 +47,11 @@ For a description of each field, visit the [Gateway API documentation](https://g ### GatewayClass -{{< bootstrap-table "table table-striped table-bordered" >}} - +{{< table >}} | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |--------------|--------------------|------------------------|---------------------------------------|-------------|---------------------| | GatewayClass | Supported | Not supported | Supported | v1 | Standard | - -{{< /bootstrap-table >}} +{{< /table >}} NGINX Gateway Fabric supports a single GatewayClass resource configured with the `--gatewayclass` flag of the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command. @@ -77,13 +73,11 @@ NGINX Gateway Fabric supports a single GatewayClass resource configured with the ### Gateway -{{< bootstrap-table "table table-striped table-bordered" >}} - +{{< table >}} | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| | Gateway | Supported | Partially supported | Not supported | v1 | Standard | - -{{< /bootstrap-table >}} +{{< /table >}} NGINX Gateway Fabric supports multiple Gateway resources. The Gateway resources must reference NGINX Gateway Fabric's corresponding GatewayClass. @@ -144,14 +138,11 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command ### HTTPRoute -{{< bootstrap-table "table table-striped table-bordered" >}} - +{{< table >}} | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |-----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| | HTTPRoute | Supported | Partially supported | Not supported | v1 | Standard | - -{{< /bootstrap-table >}} - +{{< /table >}} **Fields**: - `spec` @@ -196,13 +187,11 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command ### GRPCRoute -{{< bootstrap-table "table table-striped table-bordered" >}} - +{{< table >}} | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |-----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| | GRPCRoute | Supported | Partially supported | Not supported | v1 | Standard | - -{{< /bootstrap-table >}} +{{< /table >}} **Fields**: @@ -241,13 +230,11 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command ### ReferenceGrant -{{< bootstrap-table "table table-striped table-bordered" >}} - +{{< table >}} | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |----------------|--------------------|------------------------|---------------------------------------|-------------|---------------------| | ReferenceGrant | Supported | N/A | Not supported | v1beta1 | Standard | - -{{< /bootstrap-table >}} +{{< /table >}} Fields: @@ -263,13 +250,11 @@ Fields: ### TLSRoute -{{< bootstrap-table "table table-striped table-bordered" >}} - +{{< table >}} | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| | TLSRoute | Supported | Not supported | Not supported | v1alpha2 | Experimental | - -{{< /bootstrap-table >}} +{{< /table >}} **Fields**: @@ -303,33 +288,27 @@ Fields: ### TCPRoute -{{< bootstrap-table "table table-striped table-bordered" >}} - +{{< table >}} | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| | TCPRoute | Not supported | Not supported | Not supported | v1alpha2 | Experimental | - -{{< /bootstrap-table >}} +{{< /table >}} ### UDPRoute -{{< bootstrap-table "table table-striped table-bordered" >}} - +{{< table >}} | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |----------|--------------------|------------------------|---------------------------------------|-------------|---------------------| | UDPRoute | Not supported | Not supported | Not supported | v1alpha2 | Experimental | - -{{< /bootstrap-table >}} +{{< /table >}} ### BackendTLSPolicy -{{< bootstrap-table "table table-striped table-bordered" >}} - +{{< table >}} | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |------------------|---------------------|------------------------|---------------------------------------|-------------|---------------------| | BackendTLSPolicy | Partially Supported | Supported | Partially Supported | v1alpha3 | Experimental | - -{{< /bootstrap-table >}} +{{< /table >}} Fields: @@ -359,13 +338,11 @@ Fields: ### Custom Policies -{{< bootstrap-table "table table-striped table-bordered" >}} - +{{< table >}} | Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel | |-----------------|--------------------|------------------------|---------------------------------------|-------------|---------------------| | Custom policies | N/A | N/A | Supported | N/A | N/A | - -{{< /bootstrap-table >}} +{{< /table >}} Custom policies are NGINX Gateway Fabric-specific CRDs (Custom Resource Definitions) that support features such as tracing, and client connection settings. These important data-plane features are not part of the Gateway API specifications. While these CRDs are not part of the Gateway API, the mechanism to attach them to Gateway API resources is part of the Gateway API. See the [Policy Attachment documentation](https://gateway-api.sigs.k8s.io/references/policy-attachment/). diff --git a/content/ngf/reference/cli-help.md b/content/ngf/reference/cli-help.md index 1a867a357..a25a2faff 100644 --- a/content/ngf/reference/cli-help.md +++ b/content/ngf/reference/cli-help.md @@ -27,8 +27,6 @@ This command runs the NGINX Gateway Fabric control plane. ### Flags -{{< bootstrap-table "table table-bordered table-striped table-responsive" >}} - | Name | Type | Description | |-------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | _gateway-ctlr-name_ | _string_ | The name of the Gateway controller. The controller name must be in the form: `DOMAIN/PATH`. The controller's domain is `gateway.nginx.org`. | @@ -59,10 +57,6 @@ This command runs the NGINX Gateway Fabric control plane. | _nginx-one-telemetry-endpoint-port_ | _int_ | The endpoint port that the NGINX One Console telemetry metrics will be sent to. | | _nginx-one-tls-skip-verify_ | _bool_ | Skip TLS verification for NGINX One Console connections. | -{{% /bootstrap-table %}} - ---- - ## Sleep This command sleeps for specified duration, then exits. @@ -73,10 +67,6 @@ _Usage_: gateway sleep [flags] ``` -{{< bootstrap-table "table table-bordered table-striped table-responsive" >}} - | Name | Type | Description | | -------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------- | -| duration | `time.Duration` | Set the duration of sleep. Must be parsable by [`time.ParseDuration`](https://pkg.go.dev/time#ParseDuration). (default `30s`) | - -{{% /bootstrap-table %}} +| duration | `time.Duration` | Set the duration of sleep. Must be parsable by [`time.ParseDuration`](https://pkg.go.dev/time#ParseDuration). (default `30s`) | \ No newline at end of file diff --git a/content/ngf/troubleshooting.md b/content/ngf/troubleshooting.md index 5e629d010..9e3bb4c09 100644 --- a/content/ngf/troubleshooting.md +++ b/content/ngf/troubleshooting.md @@ -283,8 +283,6 @@ Verify that the port number (for example, `8080`) matches the port number you ha ### Common errors -{{< bootstrap-table "table table-striped table-bordered" >}} - | Problem Area | Symptom | Troubleshooting Method | Common Cause | |------------------------------|----------------------------------------|---------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------| | Startup | NGINX Gateway Fabric fails to start. | Check logs for _nginx_ and _nginx-gateway_ containers. | Readiness probe failed. | @@ -293,8 +291,6 @@ Verify that the port number (for example, `8080`) matches the port number you ha | NGINX Plus errors | Failure to start; traffic interruptions | Set up the [NGINX Plus JWT]({{< ref "/ngf/install/nginx-plus.md" >}}) | License is not configured or has expired. | | Client Settings | Request entity too large error | Adjust client settings. Refer to [Client Settings Policy]({{< ref "/ngf/traffic-management/client-settings.md" >}}) | Payload is greater than the [`client_max_body_size`](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size) value.| -{{< /bootstrap-table >}} - ##### NGINX fails to reload NGINX reload errors can occur for various reasons, including syntax errors in configuration files, permission issues, and more. To determine if NGINX has failed to reload, check logs for your _nginx-gateway_ and _nginx_ containers. diff --git a/content/nginx-one/_index.md b/content/nginx-one/_index.md index 0f7ccda35..801ad0113 100644 --- a/content/nginx-one/_index.md +++ b/content/nginx-one/_index.md @@ -20,89 +20,86 @@ F5 NGINX One Console makes it easy to manage NGINX instances across locations an [//]: # "One card will take full width page: two will take half width each. Three will stack like an inverse pyramid." [//]: # "Some examples of content could be the latest release note, the most common install path, and a popular new feature." -{{}} - {{}} - {{}} - Get up and running with NGINX One Console - {{}} - {{}} - Work with data plane keys, containers, and proxy servers - {{}} - {{}} - Configure alerts that match your security policies - {{}} - {{}} - Manage one instance or groups of instances. Monitor certificates. Set up metrics. - {{}} - {{}} - Monitor deployments for CVEs and certificates - {{}} - {{}} -{{}} +{{}} + {{}} + Get up and running with NGINX One Console + {{}} +{{}} + +{{}} + {{}} + Work with data plane keys, containers, and proxy servers + {{}} + {{}} + Configure alerts that match your security policies + {{}} + {{}} + Manage one instance or groups of instances. Monitor certificates. Set up metrics. + {{}} + {{}} + Monitor deployments for CVEs and certificates + {{}} +{{}} ### Workshops -{{}} - {{}} - {{}} - Guided labs to help you secure, monitor, and scale your NGINX fleet with NGINX One Console. - {{}} - {{}} -{{}} + +{{}} + {{}} + Guided labs to help you secure, monitor, and scale your NGINX fleet with NGINX One Console. + {{}} +{{}} + ### More information -{{}} - {{}} - {{}} - Set up security policies by instance and group - {{}} - {{}} - Assign responsibilities with role-based access control - {{}} - {{}} - Manage your NGINX fleet over REST - {{}} - {{}} - Includes NGINX-specific security alert labels - {{}} - {{}} - See latest updates: New features, improvements, and bug fixes - {{}} - {{}} -{{}} +{{}} + {{}} + Set up security policies by instance and group + {{}} + {{}} + Assign responsibilities with role-based access control + {{}} + {{}} + Manage your NGINX fleet over REST + {{}} + {{}} + Includes NGINX-specific security alert labels + {{}} + {{}} + See latest updates: New features, improvements, and bug fixes + {{}} +{{}} ## NGINX One components [//]: # "You can add any extra content for the page here, such as additional cards, diagrams or text." -{{}} - {{< card-section title="Kubernetes Solutions">}} - {{< card title="NGINX Ingress Controller" titleUrl="/nginx-ingress-controller/" brandIcon="NGINX-Ingress-Controller-product-icon.svg">}} - Kubernetes traffic management with API gateway, identity, and observability features. - {{}} - {{< card title="NGINX Gateway Fabric" titleUrl="/nginx-gateway-fabric" brandIcon="NGINX-Gateway-Fabric-product-icon.svg">}} - Next generation Kubernetes connectivity using the Gateway API. - {{}} - {{}} - {{< card-section title="Local Console Option">}} - {{< card title="NGINX Instance Manager" titleUrl="/nginx-instance-manager" brandIcon="NGINX-Instance-Manager-product-icon.svg">}} - Track and control NGINX Open Source and NGINX Plus instances. - {{}} - {{}} - {{< card-section title="Modern App Delivery">}} - {{< card title="NGINX Plus" titleUrl="/nginx/" brandIcon="NGINX-Plus-product-icon.svg">}} - The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. - {{}} - {{< card title="NGINX Open Source" titleUrl="https://nginx.org" brandIcon="NGINX-Open-Source-product-icon.svg">}} - The open source all-in-one load balancer, content cache, and web server - {{}} - {{}} - {{< card-section title="Security">}} - {{< card title="NGINX App Protect WAF" titleUrl="/nginx-app-protect-waf" brandIcon="NGINX-App-Protect-WAF-product-icon.svg">}} - Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs. - {{}} - {{< card title="NGINX App Protect DoS" titleUrl="/nginx-app-protect-dos" brandIcon="NGINX-App-Protect-DoS-product-icon.svg">}} - Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs. - {{}} - {{}} -{{}} +{{< card-section title="Kubernetes Solutions">}} + {{< card title="NGINX Ingress Controller" titleUrl="/nginx-ingress-controller/" brandIcon="NGINX-Ingress-Controller-product-icon.svg">}} + Kubernetes traffic management with API gateway, identity, and observability features. + {{}} + {{< card title="NGINX Gateway Fabric" titleUrl="/nginx-gateway-fabric" brandIcon="NGINX-Gateway-Fabric-product-icon.svg">}} + Next generation Kubernetes connectivity using the Gateway API. + {{}} +{{}} +{{< card-section title="Local Console Option">}} + {{< card title="NGINX Instance Manager" titleUrl="/nginx-instance-manager" brandIcon="NGINX-Instance-Manager-product-icon.svg">}} + Track and control NGINX Open Source and NGINX Plus instances. + {{}} +{{}} +{{< card-section title="Modern App Delivery">}} + {{< card title="NGINX Plus" titleUrl="/nginx/" brandIcon="NGINX-Plus-product-icon.svg">}} + The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. + {{}} + {{< card title="NGINX Open Source" titleUrl="https://nginx.org" brandIcon="NGINX-Open-Source-product-icon.svg">}} + The open source all-in-one load balancer, content cache, and web server + {{}} +{{}} +{{< card-section title="Security">}} + {{< card title="NGINX App Protect WAF" titleUrl="/nginx-app-protect-waf" brandIcon="NGINX-App-Protect-WAF-product-icon.svg">}} + Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs. + {{}} + {{< card title="NGINX App Protect DoS" titleUrl="/nginx-app-protect-dos" brandIcon="NGINX-App-Protect-DoS-product-icon.svg">}} + Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs. + {{}} +{{}} diff --git a/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md b/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md index fdc14d2a0..f0bf93874 100644 --- a/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md +++ b/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md @@ -30,7 +30,7 @@ up the `nginx-agent` packages repository. Afterward, you can install and update NGINX Agent from the repository.
      -{{< fa "brands fa-centos" >}} Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux +Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux ### Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux @@ -39,7 +39,7 @@ NGINX Agent from the repository.
      -{{< fa "brands fa-ubuntu" >}} Install NGINX Agent on Ubuntu +Install NGINX Agent on Ubuntu ### Install NGINX Agent on Ubuntu @@ -48,7 +48,7 @@ NGINX Agent from the repository.
      -{{< fa "brands fa-debian" >}} Install NGINX Agent on Debian +Install NGINX Agent on Debian ### Install NGINX Agent on Debian @@ -57,7 +57,7 @@ NGINX Agent from the repository.
      -{{< fa "brands fa-suse" >}} Install NGINX Agent on SLES +Install NGINX Agent on SLES ### Install NGINX Agent on SLES @@ -66,7 +66,7 @@ NGINX Agent from the repository.
      -{{< fa "solid fa-mountain-sun" >}} Install NGINX Agent on Alpine Linux +Install NGINX Agent on Alpine Linux ### Install NGINX Agent on Alpine Linux @@ -75,7 +75,7 @@ NGINX Agent from the repository.
      -{{< fa "brands fa-aws" >}} Install NGINX Agent on Amazon Linux +Install NGINX Agent on Amazon Linux ### Install NGINX Agent on Amazon Linux diff --git a/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md b/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md index ce901a5a6..726814b19 100644 --- a/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md +++ b/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md @@ -31,7 +31,7 @@ NGINX Agent from the repository.
      -{{< fa "brands fa-centos" >}} Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux +Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux ### Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux @@ -40,7 +40,7 @@ NGINX Agent from the repository.
      -{{< fa "brands fa-ubuntu" >}} Install NGINX Agent on Ubuntu +Install NGINX Agent on Ubuntu ### Install NGINX Agent on Ubuntu @@ -49,7 +49,7 @@ NGINX Agent from the repository.
      -{{< fa "brands fa-debian" >}} Install NGINX Agent on Debian +Install NGINX Agent on Debian ### Install NGINX Agent on Debian @@ -58,7 +58,7 @@ NGINX Agent from the repository.
      -{{< fa "brands fa-suse" >}} Install NGINX Agent on SLES +Install NGINX Agent on SLES ### Install NGINX Agent on SLES @@ -67,7 +67,7 @@ NGINX Agent from the repository.
      -{{< fa "solid fa-mountain-sun" >}} Install NGINX Agent on Alpine Linux +Install NGINX Agent on Alpine Linux ### Install NGINX Agent on Alpine Linux @@ -75,7 +75,7 @@ NGINX Agent from the repository.
      -{{< fa "brands fa-aws" >}} Install NGINX Agent on Amazon Linux +Install NGINX Agent on Amazon Linux ### Install NGINX Agent on Amazon Linux diff --git a/content/nginx-one/agent/install-upgrade/uninstall.md b/content/nginx-one/agent/install-upgrade/uninstall.md index a553f81d3..0a4137c09 100644 --- a/content/nginx-one/agent/install-upgrade/uninstall.md +++ b/content/nginx-one/agent/install-upgrade/uninstall.md @@ -19,7 +19,7 @@ The user following performing the uninstall steps needs to have `root` privilege Complete the following steps on each host where you've installed NGINX Agent
      -{{< fa "brands fa-centos" >}} Uninstall NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux +Uninstall NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux ### Uninstall NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux @@ -28,7 +28,7 @@ Complete the following steps on each host where you've installed NGINX Agent
      -{{< fa "brands fa-ubuntu" >}} Uninstall NGINX Agent on Ubuntu +Uninstall NGINX Agent on Ubuntu ### Uninstall NGINX Agent on Ubuntu @@ -37,7 +37,7 @@ Complete the following steps on each host where you've installed NGINX Agent
      -{{< fa "brands fa-debian" >}} Uninstall NGINX Agent on Debian +Uninstall NGINX Agent on Debian ### Uninstall NGINX Agent on Debian @@ -46,7 +46,7 @@ Complete the following steps on each host where you've installed NGINX Agent
      -{{< fa "brands fa-suse" >}} Uninstall NGINX Agent on SLES +Uninstall NGINX Agent on SLES ### Uninstall NGINX Agent on SLES @@ -55,7 +55,7 @@ Complete the following steps on each host where you've installed NGINX Agent
      -{{< fa "solid fa-mountain-sun" >}} Uninstall NGINX Agent on Alpine Linux +Uninstall NGINX Agent on Alpine Linux ### Uninstall NGINX Agent on Alpine Linux @@ -64,7 +64,7 @@ Complete the following steps on each host where you've installed NGINX Agent
      -{{< fa "brands fa-aws" >}} Uninstall NGINX Agent on Amazon Linux +Uninstall NGINX Agent on Amazon Linux ### Uninstall NGINX Agent on Amazon Linux diff --git a/content/nginx-one/api/api-reference-guide.md b/content/nginx-one/api/api-reference-guide.md index d3034aa1e..77c9e4acc 100644 --- a/content/nginx-one/api/api-reference-guide.md +++ b/content/nginx-one/api/api-reference-guide.md @@ -9,6 +9,5 @@ tags: title: API reference guide toc: false weight: null +nd-api-reference: "./nginx-one/api/one.json" --- - -{{< openapi spec="./nginx-one/api/one.json" >}} diff --git a/content/nginx-one/nginx-configs/config-sync-groups/add-file-csg.md b/content/nginx-one/nginx-configs/config-sync-groups/add-file-csg.md index dc58f5e57..794b727ce 100644 --- a/content/nginx-one/nginx-configs/config-sync-groups/add-file-csg.md +++ b/content/nginx-one/nginx-configs/config-sync-groups/add-file-csg.md @@ -58,10 +58,11 @@ Enter the name of the desired configuration file, such as `abc.conf` and select ### Existing SSL Certificate or CA Bundle {{< include "nginx-one/add-file/existing-ssl-bundle.md" >}} + With this option, you can incorporate [Managed certificates]({{< ref "/nginx-one/nginx-configs/certificates/manage-certificates.md#managed-and-unmanaged-certificates" >}}). ## See also - [Create and manage data plane keys]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}) - [Add an NGINX instance]({{< ref "/nginx-one/connect-instances/add-instance.md" >}}) -- [Manage certificates]({{< ref "/nginx-one/nginx-configs/certificates/manage-certificates.md" >}}) \ No newline at end of file +- [Manage certificates]({{< ref "/nginx-one/nginx-configs/certificates/manage-certificates.md" >}}) diff --git a/content/nginx-one/workshops/_index.md b/content/nginx-one/workshops/_index.md index a60358061..944f2b055 100644 --- a/content/nginx-one/workshops/_index.md +++ b/content/nginx-one/workshops/_index.md @@ -10,32 +10,31 @@ nd-product: NGINX One Welcome to the NGINX One Console workshops. -These labs give you hands-on experience using NGINX One Console to connect, manage, and scale your NGINX fleets. +These labs give you hands-on experience using NGINX One Console to connect, manage, and scale your NGINX fleets. We recommend starting with Lab 1 and Lab 2. Lab 2 sets up the workshop environment with Docker, which you’ll need for the later labs. -{{}} - {{}} - {{}} - Register instances. Learn about managing your NGINX fleet. - {{}} +{{}} - {{}} - Use Docker to spin up the full workshop locally. - {{}} + {{}} + Register instances. Learn about managing your NGINX fleet. + {{}} - {{}} - Take a guided tour of NGINX One Console. Explore dashboards, alerts, and insights while trying out key features. - {{}} + {{}} + Use Docker to spin up the full workshop locally. + {{}} - {{}} - Create and manage Config Sync Groups to apply consistent changes across all your NGINX instances. - {{}} + {{}} + Take a guided tour of NGINX One Console. Explore dashboards, alerts, and insights while trying out key features. + {{}} - {{}} - Plan and upgrade NGINX Plus with NGINX One Console workflows, keeping downtime to a minimum. - {{}} + {{}} + Create and manage Config Sync Groups to apply consistent changes across all your NGINX instances. + {{}} - {{}} -{{}} \ No newline at end of file + {{}} + Plan and upgrade NGINX Plus with NGINX One Console workflows, keeping downtime to a minimum. + {{}} + +{{}} diff --git a/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md b/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md index ced2e49c7..418ac2087 100644 --- a/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md +++ b/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md @@ -55,9 +55,9 @@ Make sure you have: This folder contains `compose.yaml` and `generate_certs.sh`. - {{}} {{}} + {{}} {{}} - {{}} {{}} + {{}} {{}} --- diff --git a/content/nginx/_index.md b/content/nginx/_index.md index ee4d73911..ef928d074 100644 --- a/content/nginx/_index.md +++ b/content/nginx/_index.md @@ -26,38 +26,36 @@ NGINX Plus adds a range of premium features to address enterprise needs. [//]: # "One card will take full width page: two will take half width each. Three will stack like an inverse pyramid." [//]: # "Some examples of content could be the latest release note, the most common install path, and a popular new feature." -{{}} - {{}} - {{}} - Install NGINX Plus on different operating systems. - {{}} - {{}} -{{}} - - -{{}} - {{}} - {{}} - Install NGINX Open Source. Compile from source. - {{}} - {{}} - Keep your servers running. - {{}} - {{}} - Configure NGINX as a web server. - {{}} - {{}} - Set up Open ID connect with identity providers. - {{}} - {{}} -{{}} +{{}} + {{}} + Install NGINX Plus on different operating systems. + {{}} +{{}} + + + +{{}} + {{}} + Install NGINX Open Source. Compile from source. + {{}} + {{}} + Keep your servers running. + {{}} + {{}} + Configure NGINX as a web server. + {{}} + {{}} + Set up Open ID connect with identity providers. + {{}} +{{}} + ### More information -{{}} - {{}} - {{}} - Get details on new features, bug fixes, and known issues. - {{}} - {{}} -{{}} + +{{}} + {{}} + Get details on new features, bug fixes, and known issues. + {{}} +{{}} + diff --git a/content/nginx/admin-guide/monitoring/live-activity-monitoring.md b/content/nginx/admin-guide/monitoring/live-activity-monitoring.md index 7103a7cd4..7bb5a27b7 100644 --- a/content/nginx/admin-guide/monitoring/live-activity-monitoring.md +++ b/content/nginx/admin-guide/monitoring/live-activity-monitoring.md @@ -521,17 +521,16 @@ To enable the Swagger UI: |OpenAPI YAML File/API Version | NGINX Plus Version | Changes | | ---| --- | --- | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Release [35]({{< ref "/nginx/releases.md#r35" >}}) | The `uuid` parameter of the [`/license`](https://nginx.org/en/docs/http/ngx_http_api_module.html#license) data was added| -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [33]({{< ref "/nginx/releases.md#r33" >}}), [34]({{< ref "nginx/releases.md#r34" >}})| The [`/license`](https://nginx.org/en/docs/http/ngx_http_api_module.html#license) data were added| -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [30]({{< ref "nginx/releases.md#r30" >}}), [31]({{< ref "nginx/releases.md#r31" >}}), [32]({{< ref "nginx/releases.md#r32" >}}) | The [`/workers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#workers_) data were added | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v8/nginx_api.yaml) for API version 8 | NGINX Plus Releases [27]({{< ref "nginx/releases.md#r27" >}}), [28]({{< ref "nginx/releases.md#r28" >}}), [29]({{< ref "nginx/releases.md#r29" >}}) | SSL statistics for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream) and stream [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_upstream), SSL statistics for each HTTP [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone) and stream [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_server_zone), extended statistics for [SSL](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_ssl_object) endpoint| -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v7/nginx_api.yaml) for API version 7 | NGINX Plus Releases [25]({{< ref "nginx/releases.md#r25" >}}), [26]({{< ref "nginx/releases.md#r26" >}}),| The `codes` data in `responses` for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream), [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone), and [location zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_location_zone) were added| -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v6/nginx_api.yaml) for API version 6 | NGINX Plus Releases [20]({{< ref "nginx/releases.md#r20" >}}), [21]({{< ref "nginx/releases.md#r21" >}}), [22]({{< ref "nginx/releases.md#r22" >}}), [23]({{< ref "nginx/releases.md#r23" >}}), [24]({{< ref "nginx/releases.md#r24" >}}) | The [`/stream/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_limit_conns_), [`/http/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_conns_), and [`/http/limit_reqs/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_reqs_) data were added | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v5/nginx_api.yaml) for API version 5 | NGINX Plus Release [19]({{< ref "nginx/releases.md#r19" >}}) | The `expire` parameter of a [key-value](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) pair can be [set](https://nginx.org/en/docs/http/ngx_http_api_module.html#postHttpKeyvalZoneData) or [changed](https://nginx.org/en/docs/http/ngx_http_api_module.html#patchHttpKeyvalZoneKeyValue), the [`/resolvers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#resolvers_) and [`/http/location_zones/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_location_zones_) data were added | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v4/nginx_api.yaml) for API version 4 | NGINX Plus Release [18]({{< ref "nginx/releases.md#r18" >}}) | The `path` and `method` fields of [nginx error object](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_error) were removed. These fields continue to exist in earlier api versions, but show an empty value | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v3/nginx_api.yaml) for API version 3 | NGINX Plus Releases [15]({{< ref "nginx/releases.md#r15" >}}), [16]({{< ref "nginx/releases.md#r16" >}}), [17]({{< ref "nginx/releases.md#r17" >}}) | The [`/stream/zone_sync/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_zone_sync_) data were added | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v2/nginx_api.yaml) for API version 2 | NGINX Plus Release [14]({{< ref "nginx/releases.md#r14" >}}) | The [`drain`](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream_conf_server) parameter was added | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v1/nginx_api.yaml) for API version 1 | NGINX Plus Release [13]({{< ref "nginx/releases.md#r13" >}})| The [`/stream/keyvals/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_keyvals_) data were added | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [33]({{< ref "/nginx/releases.md#r33" >}}), [34]({{< ref "nginx/releases.md#r34" >}})| The [`/license`](https://nginx.org/en/docs/http/ngx_http_api_module.html#license) data were added| +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [30]({{< ref "nginx/releases.md#r30" >}}), [31]({{< ref "nginx/releases.md#r31" >}}), [32]({{< ref "nginx/releases.md#r32" >}}) | The [`/workers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#workers_) data were added| +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v8/nginx_api.yaml) for API version 8 | NGINX Plus Releases [27]({{< ref "nginx/releases.md#r27" >}}), [28]({{< ref "nginx/releases.md#r28" >}}), [29]({{< ref "nginx/releases.md#r29" >}}) | SSL statistics for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream) and stream [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_upstream), SSL statistics for each HTTP [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone) and stream [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_server_zone), extended statistics for [SSL](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_ssl_object) endpoint| +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v7/nginx_api.yaml) for API version 7 | NGINX Plus Releases [25]({{< ref "nginx/releases.md#r25" >}}), [26]({{< ref "nginx/releases.md#r26" >}}),| The `codes` data in `responses` for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream), [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone), and [location zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_location_zone) were added| +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v6/nginx_api.yaml) for API version 6 | NGINX Plus Releases [20]({{< ref "nginx/releases.md#r20" >}}), [21]({{< ref "nginx/releases.md#r21" >}}), [22]({{< ref "nginx/releases.md#r22" >}}), [23]({{< ref "nginx/releases.md#r23" >}}), [24]({{< ref "nginx/releases.md#r24" >}}) | The [`/stream/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_limit_conns_), [`/http/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_conns_), and [`/http/limit_reqs/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_reqs_) data were added | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v5/nginx_api.yaml) for API version 5 | NGINX Plus Release [19]({{< ref "nginx/releases.md#r19" >}}) | The `expire` parameter of a [key-value](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) pair can be [set](https://nginx.org/en/docs/http/ngx_http_api_module.html#postHttpKeyvalZoneData) or [changed](https://nginx.org/en/docs/http/ngx_http_api_module.html#patchHttpKeyvalZoneKeyValue), the [`/resolvers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#resolvers_) and [`/http/location_zones/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_location_zones_) data were added | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v4/nginx_api.yaml) for API version 4 | NGINX Plus Release [18]({{< ref "nginx/releases.md#r18" >}}) | The `path` and `method` fields of [nginx error object](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_error) were removed. These fields continue to exist in earlier api versions, but show an empty value | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v3/nginx_api.yaml) for API version 3 | NGINX Plus Releases [15]({{< ref "nginx/releases.md#r15" >}}), [16]({{< ref "nginx/releases.md#r16" >}}), [17]({{< ref "nginx/releases.md#r17" >}}) | The [`/stream/zone_sync/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_zone_sync_) data were added | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v2/nginx_api.yaml) for API version 2 | NGINX Plus Release [14]({{< ref "nginx/releases.md#r14" >}}) | The [`drain`](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream_conf_server) parameter was added | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v1/nginx_api.yaml) for API version 1 | NGINX Plus Release [13]({{< ref "nginx/releases.md#r13" >}})| The [`/stream/keyvals/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_keyvals_) data were added | {{}} diff --git a/content/nginxaas-azure/_index.md b/content/nginxaas-azure/_index.md index 86fc4dcd5..7d786a0ea 100644 --- a/content/nginxaas-azure/_index.md +++ b/content/nginxaas-azure/_index.md @@ -18,49 +18,41 @@ and reliable with full lifecycle management of advanced NGINX traffic services. ## Featured content -{{}} - {{}} - {{}} - Deploy NGINX as a Service for Azure using the Azure portal, Azure CLI, or Terraform - {{}} - {{}} - Step-by-step guides for several common use cases, including scaling guidance, security controls, and more - {{}} - {{}} - Collect, correlate, and analyze metrics for a thorough understanding of your application's health and behavior - {{}} - {{}} -{{}} +{{}} + {{}} + Deploy NGINX as a Service for Azure using the Azure portal, Azure CLI, or Terraform + {{}} + {{}} + Step-by-step guides for several common use cases, including scaling guidance, security controls, and more + {{}} + {{}} + Collect, correlate, and analyze metrics for a thorough understanding of your application's health and behavior + {{}} +{{}} ### Billing -{{}} - {{}} - {{}} - See the pricing plans and learn about NGINX Capacity Units (NCUs) - {{}} - {{}} -{{}} +{{}} + {{}} + See the pricing plans and learn about NGINX Capacity Units (NCUs) + {{}} +{{}} ### Certificates -{{}} - {{}} - {{}} - Learn to manage SSL/TSL certificates using the Azure portal - {{}} - {{}} -{{}} +{{}} + {{}} + Learn to manage SSL/TSL certificates using the Azure portal + {{}} +{{}} ### More information -{{}} - {{}} - {{}} - Learn about the differences between NGINX as a Service for Azure and NGINX Plus - {{}} - {{}} - See the latest updates: New features, improvements, and bug fixes - {{}} - {{}} -{{}} +{{}} + {{}} + Learn about the differences between NGINX as a Service for Azure and NGINX Plus + {{}} + {{}} + See the latest updates: New features, improvements, and bug fixes + {{}} +{{}} diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md index 17da2ae0e..c3d4b769b 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md @@ -32,14 +32,14 @@ NGINXaaS supports Layer 7 HTTP loadbalancing. To configure .com and .net servers {{< call-out "note" >}}If you don't see the default configuration, it's likely the deployment was created through a client tool other than the portal (For example, Terraform), or the "Apply default NGINX configuration" was unchecked during the deployment creation process in the portal. You can still proceed with the steps below to provide your own NGINX configuration for the deployment.{{< /call-out >}} -1. Select {{< fa "fa fa-plus">}}**New File** to add a file path, then **Confirm**. +1. Select {{< icon "fa fa-plus">}}**New File** to add a file path, then **Confirm**. {{}} | Property | Description | | -------- | ----------- | | File path | Each NGINX configuration file can be uniquely identified by a file path (for example, nginx.conf or /etc/nginx/nginx.conf) to align with the intended NGINX configuration file structure. | | Root file | The root file is the main NGINX configuration file.
      • The first file created will be the root file by default. You can designate a different root file if you have more than a single configuration file in your deployment.
      • The root file is designated with a {{< golden-star >}} icon on the portal.
      | - | Protected File | Indicates that the file may contain sensitive data such as passwords or represent an ssl/tls certificate.
      • To protect a file, enable the **Protected** {{}} toggle button.
      • You cannot access the file contents of a protected file saved to the NGINX configuration, but you can view its metadata, such as the SHA-256 hash of the file contents.
      • You can provide new contents for an existing protected file using the **Overwrite** link or resubmit it without having to provide the file contents again.
      • To modify the file path of a protected file or convert it to a regular file, delete the original file and create a new one.
      • A protected file is designated with a {{}} icon on the portal.
      | + | Protected File | Indicates that the file may contain sensitive data such as passwords or represent an ssl/tls certificate.
      • To protect a file, enable the **Protected** {{}} toggle button.
      • You cannot access the file contents of a protected file saved to the NGINX configuration, but you can view its metadata, such as the SHA-256 hash of the file contents.
      • You can provide new contents for an existing protected file using the **Overwrite** link or resubmit it without having to provide the file contents again.
      • To modify the file path of a protected file or convert it to a regular file, delete the original file and create a new one.
      • A protected file is designated with a {{}} icon on the portal.
      | {{
      }} {{< call-out "note" >}}If specifying an absolute file path, see the [NGINX Filesystem Restrictions table]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/overview/#nginx-filesystem-restrictions" >}}) for the allowed directories the file can be written to.{{< /call-out >}} @@ -146,7 +146,7 @@ http { 1. Select the configuration file you want to delete from the File path list. -1. Select the delete icon {{< fa "fa fa-trash">}}. +1. Select the delete icon {{< icon "fa fa-trash">}}. 1. Confirm your action to delete the configuration file. diff --git a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md index 31f2effac..bb6c0fc65 100644 --- a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md +++ b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md @@ -24,7 +24,7 @@ Before you begin, refer Azure documentation to [Import a certificate to your Key 1. Select **NGINX certificates** in the left menu. -1. Select {{< fa "plus">}}**Add certificate**. +1. Select {{< icon "plus">}}**Add certificate**. 1. Provide the required information: @@ -72,7 +72,7 @@ Before you begin, refer Azure documentation to [Import a certificate to your Key 1. Select the checkbox next to the certificate you want to edit. -1. Select {{< fa "pencil">}} **Edit**. +1. Select {{< icon "pencil">}} **Edit**. 1. Update the Name, Certificate path, Key path fields as needed. @@ -86,7 +86,7 @@ Before you begin, refer Azure documentation to [Import a certificate to your Key 1. Select the checkbox next to the certificate you want to delete. -1. Select {{< fa "trash">}}**Delete**. +1. Select {{< icon "trash">}}**Delete**. 1. Confirm the delete action. diff --git a/content/nginxaas-azure/quickstart/geoip2.md b/content/nginxaas-azure/quickstart/geoip2.md index 2447dafb6..184f6530a 100644 --- a/content/nginxaas-azure/quickstart/geoip2.md +++ b/content/nginxaas-azure/quickstart/geoip2.md @@ -18,7 +18,7 @@ NGINXaaS uses your MaxMind license to download GeoIP2 databases, puts them in th To enable GeoIP2 you [update your NGINX configuration]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/overview.md">}}) to include your MaxMind license and the relevant NGINX directives. 1. Log into MaxMind and [generate a `GeoIP.conf`](https://dev.maxmind.com/geoip/updating-databases/#2-obtain-geoipconf-with-account-information) file. -2. Add the `GeoIP.conf` file to your NGINX configuration, using the exact path `/etc/nginx/GeoIP.conf`. The `GeoIP.conf` will be validated, and must include `AccountID`, `LicenseKey`, and `EditionIDs`. Other configuration options in `GeoIP.conf` are ignored. We recommend you enable the **Protected** {{}} toggle button to mark `GeoIP.conf` as a protected file, which will prevent the contents from being read via any Azure client tools. +2. Add the `GeoIP.conf` file to your NGINX configuration, using the exact path `/etc/nginx/GeoIP.conf`. The `GeoIP.conf` will be validated, and must include `AccountID`, `LicenseKey`, and `EditionIDs`. Other configuration options in `GeoIP.conf` are ignored. We recommend you enable the **Protected** {{}} toggle button to mark `GeoIP.conf` as a protected file, which will prevent the contents from being read via any Azure client tools. 3. Add the `load_module` directive - the modules are available at `modules/ngx_http_geoip2_module.so` or `modules/ngx_stream_geoip2_module.so`. 4. Add `geoip2` directives to your NGINX configuration as desired. The `EditionIDs` from your `GeoIP.conf` are available at `/usr/local/share/GeoIP` diff --git a/content/nginxaas-azure/quickstart/security-controls/certificates.md b/content/nginxaas-azure/quickstart/security-controls/certificates.md index 5153189d4..089347888 100644 --- a/content/nginxaas-azure/quickstart/security-controls/certificates.md +++ b/content/nginxaas-azure/quickstart/security-controls/certificates.md @@ -44,7 +44,7 @@ Next, you can add an SSL/TLS certificate to your key vault by following [Azure's 1. Go to your key vault, `nginxaas-kv`. 1. Select **Certificates** in the left menu. -1. Select {{< fa "plus">}}**Generate/Import** and provide the following information: +1. Select {{< icon "plus">}}**Generate/Import** and provide the following information: {{}} | Field | Description | @@ -68,7 +68,7 @@ In order for your NGINXaaS deployment to access your key vault, it must have an 1. Under **System assigned**, ensure the status is set to "On". {{< call-out "note" >}} When you create a deployment through the Azure portal, a system-assigned managed identity is automatically enabled for your deployment. {{< /call-out >}} 1. Under **System assigned**, select **Azure role assignments**. -1. Select {{< fa "plus">}}**Add role assignment** and provide the following information: +1. Select {{< icon "plus">}}**Add role assignment** and provide the following information: {{}} | Field | Description | @@ -87,7 +87,7 @@ Now, you can add your SSL/TLS certificate from your key vault to your NGINXaaS d 1. Go to your NGINXaaS deployment. 1. Select **NGINX certificates** in the left menu. -1. Select {{< fa "plus">}}**Add certificate** and provide the following information: +1. Select {{< icon "plus">}}**Add certificate** and provide the following information: {{}} | Field | Description | |---------------------------- | ---------------------------- | @@ -166,7 +166,7 @@ If you want to disable public access to your key vault, you can configure a [Net 1. Follow [Azure's documentation on prerequisites](https://learn.microsoft.com/en-us/azure/private-link/create-network-security-perimeter-portal#prerequisites) to ensure you are registed to create an NSP. 1. In the Search box, enter **Network Security Perimeters** and select **Network Security Perimeters** from the search results. -1. Select {{< fa "plus">}}**Create**. +1. Select {{< icon "plus">}}**Create**. 1. In the **Basics** tab, provide the following information: {{}} | Field | Description | @@ -177,9 +177,9 @@ If you want to disable public access to your key vault, you can configure a [Net | Region | Select the region you want to deploy to. Refer to any [regional limitations](https://learn.microsoft.com/en-us/azure/private-link/network-security-perimeter-concepts#regional-limitations) NSP has while in public preview. | | Profile name | Leave the profile name as the default `defaultProfile`. | {{}} -1. In the **Resources** tab, select {{< fa "plus">}}**Add**. +1. In the **Resources** tab, select {{< icon "plus">}}**Add**. 1. Search for your key vault, `nginxaas-kv`, select it, and click **Select**. -1. In the **Inbound access rules** tab, select {{< fa "plus">}}**Add** and provide the following information: +1. In the **Inbound access rules** tab, select {{< icon "plus">}}**Add** and provide the following information: {{}} | Field | Description | |---------------------------- | ---------------------------- | diff --git a/content/nic/_index.md b/content/nic/_index.md index 16e3d838e..d6187bf7a 100644 --- a/content/nic/_index.md +++ b/content/nic/_index.md @@ -26,16 +26,14 @@ It supports standard [Ingress]({{< ref "/nic/glossary.md#ingress">}}) features s ## Featured content -{{}} - {{}} - {{}} - Use Helm to deploy and configure a NGINX Ingress Controller cluster - {{}} - {{}} - Replace an Ingress-NGINX cluster with NGINX Ingress Controller - {{}} - {{}} - Review the changes from the latest NGINX Ingress Controller releases - {{}} - {{}} -{{}} \ No newline at end of file +{{}} + {{}} + Use Helm to deploy and configure a NGINX Ingress Controller cluster + {{}} + {{}} + Replace an Ingress-NGINX cluster with NGINX Ingress Controller + {{}} + {{}} + Review the changes from the latest NGINX Ingress Controller releases + {{}} +{{}} \ No newline at end of file diff --git a/content/nic/configuration/global-configuration/configmap-resource.md b/content/nic/configuration/global-configuration/configmap-resource.md index c83ac0e1e..d854bebc6 100644 --- a/content/nic/configuration/global-configuration/configmap-resource.md +++ b/content/nic/configuration/global-configuration/configmap-resource.md @@ -60,17 +60,12 @@ For more information, view the [VirtualServer and VirtualServerRoute resources]( ### Ingress Controller (Unrelated to NGINX Configuration) -{{}} |ConfigMap Key | Description | Default | Example | | ---| ---| ---| --- | |*external-status-address* | Sets the address to be reported in the status of Ingress resources. Requires the *-report-status* command-line argument. Overrides the *-external-service* argument. | N/A | [Reporting resource status]({{< ref "/nic/configuration/global-configuration/reporting-resources-status" >}}) | -{{}} - ---- ### General customization -{{}} |ConfigMap Key | Description | Default | Example | | ---| ---| ---| --- | |*proxy-connect-timeout* | Sets the value of the [proxy_connect_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) and [grpc_connect_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_connect_timeout) directive. | *60s* | | @@ -103,13 +98,10 @@ For more information, view the [VirtualServer and VirtualServerRoute resources]( |*keepalive-requests* | Sets the value of the [keepalive_requests](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests) directive. | *1000* | | |*variables-hash-bucket-size* | Sets the value of the [variables_hash_bucket_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#variables_hash_bucket_size) directive. | *256* | | |*variables-hash-max-size* | Sets the value of the [variables-hash-max-size](https://nginx.org/en/docs/http/ngx_http_core_module.html#variables_hash_max_size) directive. | *1024* | | -{{}} ---- ### Logging -{{}} |ConfigMap Key | Description | Default | Example | | ---| ---| ---| --- | |*error-log-level* | Sets the global [error log level](https://nginx.org/en/docs/ngx_core_module.html#error_log) for NGINX. | *notice* | | @@ -121,64 +113,46 @@ For more information, view the [VirtualServer and VirtualServerRoute resources]( |*log-format-escaping* | Sets the characters escaping for the variables of the log format. Supported values: *json* (JSON escaping), *default* (the default escaping) *none* (disables escaping). | *default* | | |*stream-log-format* | Sets the custom [log format](https://nginx.org/en/docs/stream/ngx_stream_log_module.html#log_format) for TCP, UDP, and TLS Passthrough traffic. For convenience, it is possible to define the log format across multiple lines (each line separated by *\n*). In that case, the Ingress Controller will replace every *\n* character with a space character. All *'* characters must be escaped. | See the [template file](https://github.com/nginx/kubernetes-ingress/blob/v{{< nic-version >}}/internal/configs/version1/nginx.tmpl). | | |*stream-log-format-escaping* | Sets the characters escaping for the variables of the stream log format. Supported values: *json* (JSON escaping), *default* (the default escaping) *none* (disables escaping). | *default* | | -{{}} - ---- ### Request URI/Header manipulation -{{}} -|ConfigMap Key | Description | Default | Example | -| ---| ---| ---| --- | -|*proxy-hide-headers* | Sets the value of one or more [proxy_hide_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header) directives. Example: *"nginx.org/proxy-hide-headers": "header-a,header-b"* | N/A | | -|*proxy-pass-headers* | Sets the value of one or more [proxy_pass_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_header) directives. Example: *"nginx.org/proxy-pass-headers": "header-a,header-b"* | N/A | | -{{}} +|ConfigMap Key | Description | Default | +| ---| ---| ---| +|*proxy-hide-headers* | Sets the value of one or more [proxy_hide_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header) directives. Example: *"nginx.org/proxy-hide-headers": "header-a,header-b"* | N/A | +|*proxy-pass-headers* | Sets the value of one or more [proxy_pass_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_header) directives. Example: *"nginx.org/proxy-pass-headers": "header-a,header-b"* | N/A | ---- ### Auth and SSL/TLS -{{}} -|ConfigMap Key | Description | Default | Example | -| ---| ---| ---| --- | -|*redirect-to-https* | Sets the 301 redirect rule based on the value of the *http_x_forwarded_proto* header on the server block to force incoming traffic to be over HTTPS. Useful when terminating SSL in a load balancer in front of the Ingress Controller — see [115](https://github.com/nginx/kubernetes-ingress/issues/115) | *False* | | -|*ssl-redirect* | Sets an unconditional 301 redirect rule for all incoming HTTP traffic to force incoming traffic over HTTPS. | *True* | | -|*hsts* | Enables [HTTP Strict Transport Security (HSTS)](https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/) : the HSTS header is added to the responses from backends. The *preload* directive is included in the header. | *False* | | -|*hsts-max-age* | Sets the value of the *max-age* directive of the HSTS header. | *2592000* (1 month) | | -|*hsts-include-subdomains* | Adds the *includeSubDomains* directive to the HSTS header. | *False* | | -|*hsts-behind-proxy* | Enables HSTS based on the value of the *http_x_forwarded_proto* request header. Should only be used when TLS termination is configured in a load balancer (proxy) in front of the Ingress Controller. Note: to control redirection from HTTP to HTTPS configure the *nginx.org/redirect-to-https* annotation. | *False* | | -|*ssl-protocols* | Sets the value of the [ssl_protocols](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) directive. | *TLSv1 TLSv1.1 TLSv1.2* | | -|*ssl-prefer-server-ciphers* | Enables or disables the [ssl_prefer_server_ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_prefer_server_ciphers) directive. | *False* | | -|*ssl-ciphers* | Sets the value of the [ssl_ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers) directive. | *HIGH:!aNULL:!MD5* | | -|*ssl-dhparam-file* | Sets the content of the dhparam file. The controller will create the file and set the value of the [ssl_dhparam](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam) directive with the path of the file. | N/A | | -{{}} - ---- +|ConfigMap Key | Description | Default | +| ---| ---| ---| +|*redirect-to-https* | Sets the 301 redirect rule based on the value of the *http_x_forwarded_proto* header on the server block to force incoming traffic to be over HTTPS. Useful when terminating SSL in a load balancer in front of the Ingress Controller — see [115](https://github.com/nginx/kubernetes-ingress/issues/115) | *False* | +|*ssl-redirect* | Sets an unconditional 301 redirect rule for all incoming HTTP traffic to force incoming traffic over HTTPS. | *True* | +|*hsts* | Enables [HTTP Strict Transport Security (HSTS)](https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/) : the HSTS header is added to the responses from backends. The *preload* directive is included in the header. | *False* | +|*hsts-max-age* | Sets the value of the *max-age* directive of the HSTS header. | *2592000* (1 month) | +|*hsts-include-subdomains* | Adds the *includeSubDomains* directive to the HSTS header. | *False* | +|*hsts-behind-proxy* | Enables HSTS based on the value of the *http_x_forwarded_proto* request header. Should only be used when TLS termination is configured in a load balancer (proxy) in front of the Ingress Controller. Note: to control redirection from HTTP to HTTPS configure the *nginx.org/redirect-to-https* annotation. | *False* | +|*ssl-protocols* | Sets the value of the [ssl_protocols](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) directive. | *TLSv1 TLSv1.1 TLSv1.2* | +|*ssl-prefer-server-ciphers* | Enables or disables the [ssl_prefer_server_ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_prefer_server_ciphers) directive. | *False* | +|*ssl-ciphers* | Sets the value of the [ssl_ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers) directive. | *HIGH:!aNULL:!MD5* | +|*ssl-dhparam-file* | Sets the content of the dhparam file. The controller will create the file and set the value of the [ssl_dhparam](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam) directive with the path of the file. | N/A | ### Listeners -{{}} |ConfigMap Key | Description | Default | Example | | ---| ---| ---| --- | |*http2* | Enables HTTP/2 in servers with SSL enabled. | *False* | | |*proxy-protocol* | Enables PROXY Protocol for incoming connections. | *False* | [Proxy Protocol](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/shared-examples/proxy-protocol). | -{{}} - ---- ### Backend services (Upstreams) -{{}} -|ConfigMap Key | Description | Default | Example | -| ---| ---| ---| --- | -|*lb-method* | Sets the [load balancing method]({{< ref "/nginx/admin-guide/load-balancer/http-load-balancer.md#choosing-a-load-balancing-method" >}}). To use the round-robin method, specify *"round_robin"*. | *"random two least_conn"* | | -|*max-fails* | Sets the value of the [max_fails](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_fails) parameter of the *server* directive. | *1* | | -|*upstream-zone-size* | Sets the size of the shared memory [zone](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#zone) for upstreams. For NGINX, the special value 0 disables the shared memory zones. For NGINX Plus, shared memory zones are required and cannot be disabled. The special value 0 will be ignored. | *256k* for NGINX, *512k* for NGINX Plus | | -|*fail-timeout* | Sets the value of the [fail_timeout](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#fail_timeout) parameter of the *server* directive. | *10s* | | -|*keepalive* | Sets the value of the [keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) directive. Note that *proxy_set_header Connection "";* is added to the generated configuration when the value > 0. | *0* | | -{{}} - ---- +|ConfigMap Key | Description | Default | +| ---| ---| ---| +|*lb-method* | Sets the [load balancing method]({{< ref "/nginx/admin-guide/load-balancer/http-load-balancer.md#choosing-a-load-balancing-method" >}}). To use the round-robin method, specify *"round_robin"*. | *"random two least_conn"* | +|*max-fails* | Sets the value of the [max_fails](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#max_fails) parameter of the *server* directive. | *1* | +|*upstream-zone-size* | Sets the size of the shared memory [zone](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#zone) for upstreams. For NGINX, the special value 0 disables the shared memory zones. For NGINX Plus, shared memory zones are required and cannot be disabled. The special value 0 will be ignored. | *256k* for NGINX, *512k* for NGINX Plus | +|*fail-timeout* | Sets the value of the [fail_timeout](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#fail_timeout) parameter of the *server* directive. | *10s* | +|*keepalive* | Sets the value of the [keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) directive. Note that *proxy_set_header Connection "";* is added to the generated configuration when the value > 0. | *0* | ### Zone Sync @@ -195,21 +169,17 @@ If you encounter the error `error [emerg] 13#13: "zone_sync" directive is duplic {{< /call-out >}} -{{}} -|ConfigMap Key | Description | Default | Example | -| ---| ---| ---| --- | -|*zone-sync* | Enables zone synchronization between NGINX Ingress Controller Pods. This autogenerates a [zone_sync_server](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync_server) and a headless service using the `ReplicaSet` or `DaemonSet` name. Please note that this headless service will be automatically cleaned up when uninstalling via Helm or by removing the value from the ConfigMap. The headless service will need to be manually removed if the `controller.customConfigMap` value is set via Helm or the deployment is uninstalled via Manifests. Each Ingress Controller manages its own headless service. NGINX Plus Required. | *False* | | -|*zone-sync-port* | Specifies the optional port on which NGINX Ingress Controller listens for zone sync traffic. NGINX Plus & `zone-sync` Required. | *12345* | | -|*zone-sync-resolver-addresses* | Configures optional addresses used in the [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync. This field takes a comma separated list of addresses. NGINX Plus & `zone-sync` Required | `kube-dns.kube-system.svc.cluster.local` | | -|*zone-sync-resolver-ipv6* | Configures whether the optional [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync will look up IPv6 addresses. NGINX Plus & `zone-sync` Required | `true` | | -|*zone-sync-resolver-valid* | Configures an [NGINX time](https://nginx.org/en/docs/syntax.html) that the optional [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync will override the TTL value of responses from nameservers with. NGINX Plus & `zone-sync` Required | `5s` | | -{{}} +|ConfigMap Key | Description | Default | +| ---| ---| ---| +|*zone-sync* | Enables zone synchronization between NGINX Ingress Controller Pods. This autogenerates a [zone_sync_server](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync_server) and a headless service using the `ReplicaSet` or `DaemonSet` name. Please note that this headless service will be automatically cleaned up when uninstalling via Helm or by removing the value from the ConfigMap. The headless service will need to be manually removed if the `controller.customConfigMap` value is set via Helm or the deployment is uninstalled via Manifests. Each Ingress Controller manages its own headless service. NGINX Plus Required. | *False* | +|*zone-sync-port* | Specifies the optional port on which NGINX Ingress Controller listens for zone sync traffic. NGINX Plus & `zone-sync` Required. | *12345* | +|*zone-sync-resolver-addresses* | Configures optional addresses used in the [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync. This field takes a comma separated list of addresses. NGINX Plus & `zone-sync` Required | `kube-dns.kube-system.svc.cluster.local` | +|*zone-sync-resolver-ipv6* | Configures whether the optional [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync will look up IPv6 addresses. NGINX Plus & `zone-sync` Required | `true` | +|*zone-sync-resolver-valid* | Configures an [NGINX time](https://nginx.org/en/docs/syntax.html) that the optional [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync will override the TTL value of responses from nameservers with. NGINX Plus & `zone-sync` Required | `5s` | ---- ### Snippets and custom templates -{{}} |ConfigMap Key | Description | Default | Example | | ---| ---| ---| --- | |*main-snippets* | Sets a custom snippet in main context. | N/A | | @@ -221,13 +191,10 @@ If you encounter the error `error [emerg] 13#13: "zone_sync" directive is duplic |*ingress-template* | Sets the NGINX configuration template for an Ingress resource. | By default the template is read from the file on the container. | [Custom Templates]({{< ref "/nic/configuration/global-configuration/custom-templates.md" >}}). | |*virtualserver-template* | Sets the NGINX configuration template for an VirtualServer resource. | By default the template is read from the file on the container. | [Custom Templates]({{< ref "/nic/configuration/global-configuration/custom-templates.md" >}}). | |*transportserver-template* | Sets the NGINX configuration template for a TransportServer resource. | By default the template is read from the file on the container. | [Custom Templates]({{< ref "/nic/configuration/global-configuration/custom-templates.md" >}}) | -{{}} - ---- ### Modules -{{}} +{{< table >}} |ConfigMap Key | Description | Default | Example | | ---| ---| ---| --- | |*otel-exporter-endpoint* | OTLP/gRPC endpoint that will accept [OpenTelemetry](https://opentelemetry.io) data. Set `otel-trace-in-http` to *"true"* to enable OpenTelemetry at the global level. | N/A | *"https://otel-collector:4317"* | @@ -247,4 +214,4 @@ If you encounter the error `error [emerg] 13#13: "zone_sync" directive is duplic |*app-protect-dos-log-format* | Sets the custom [log format](https://nginx.org/en/docs/http/ngx_http_log_module.html#log_format) for Dos Access log traffic. For convenience, it is possible to define the log format across multiple lines (each line separated by *\n*). In that case, the Ingress Controller will replace every *\n* character with a space character. All *'* characters must be escaped. | `, vs_name_al=$app_protect_dos_vs_name, ip=$remote_addr, tls_fp=$app_protect_dos_tls_fp, outcome=$app_protect_dos_outcome, reason=$app_protect_dos_outcome_reason, policy_name=$app_protect_dos_policy_name, dos_version=$app_protect_dos_version, ip_tls=$remote_addr:$app_protect_dos_tls_fp,` | | |*app-protect-dos-log-format-escaping* | Sets the characters escaping for the variables of the stream log format. Supported values: *json* (JSON escaping), *default* (the default escaping) *none* (disables escaping). | *default* | | |*app-protect-dos-arb-fqdn* | Sets the *app-protect-dos-arb-fqdn* [directive](/nginx-app-protect-dos/directives-and-policy/learn-about-directives-and-policy/#arbitrator-fqdn-directive-app_protect_dos_arb_fqdn). | *svc-appprotect-dos-arb* | | -{{}} +{{< /table >}} diff --git a/content/nic/configuration/global-configuration/globalconfiguration-resource.md b/content/nic/configuration/global-configuration/globalconfiguration-resource.md index 16fd90edc..e7ba17b59 100644 --- a/content/nic/configuration/global-configuration/globalconfiguration-resource.md +++ b/content/nic/configuration/global-configuration/globalconfiguration-resource.md @@ -13,14 +13,10 @@ The resource supports configuring listeners for TCP and UDP load balancing, and Listeners are required by [TransportServer resources]({{< ref "/nic/configuration/transportserver-resource.md" >}}) and can be used to [configure custom listeners for VirtualServers]({{< ref "/nic/tutorials/virtual-server-with-custom-listener-ports.md" >}}). ---- - ## Prerequisites When [installing NGINX Ingress Controller using Manifests]({{< ref "/nic/installation/installing-nic/installation-with-manifests.md" >}}), you need to reference a GlobalConfiguration resource in the [`-global-configuration`]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-global-configuration" >}}) command-line argument. NGINX Ingress Controller only needs one GlobalConfiguration resource. ---- - ## GlobalConfiguration specification The GlobalConfiguration resource defines the global configuration parameters of the Ingress Controller. Below is an example: @@ -48,11 +44,9 @@ spec: ssl: true ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | | *listeners* | A list of listeners. | [listener](#listener) | No | -{{}} ### Listener @@ -67,7 +61,6 @@ The `listeners:` key defines a listener (a combination of a protocol and a port) protocol: HTTP ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | | *name* | The name of the listener. Must be a valid DNS label as defined in RFC 1035. For example, ``hello`` and ``listener-123`` are valid. The name must be unique among all listeners. The name ``tls-passthrough`` is reserved for the built-in TLS Passthrough listener and cannot be used. | *string* | Yes | @@ -77,10 +70,6 @@ The `listeners:` key defines a listener (a combination of a protocol and a port) | *ipv4* | Specifies the IPv4 address to listen on. | *string* | No | | *ipv6* | Specifies the IPv6 address to listen on. | *string* | No | -{{}} - ---- - ## Using GlobalConfiguration You can use the usual `kubectl` commands to work with a GlobalConfiguration resource. diff --git a/content/nic/configuration/global-configuration/mgmt-configmap-resource.md b/content/nic/configuration/global-configuration/mgmt-configmap-resource.md index f7eb66aea..7691152b7 100644 --- a/content/nic/configuration/global-configuration/mgmt-configmap-resource.md +++ b/content/nic/configuration/global-configuration/mgmt-configmap-resource.md @@ -30,10 +30,9 @@ that make sense for your setup: ``` The [NGINX Management](https://nginx.org/en/docs/ngx_mgmt_module.html) block configuration will be updated. ---- + ## Management ConfigMap keys -{{}} |ConfigMap Key | Description | Default | | ---| ---| ---| |*license-token-secret-name* | Configures the secret used in the [license_token](https://nginx.org/en/docs/ngx_mgmt_module.html#license_token) directive. This key assumes the secret is in the Namespace that NGINX Ingress Controller is deployed in. The secret must be of type `nginx.com/license` with the base64 encoded JWT in the `license.jwt` key. | N/A | @@ -47,4 +46,3 @@ that make sense for your setup: |*resolver-addresses* | Configures addresses used in the mgmt block [resolver](https://nginx.org/en/docs/ngx_mgmt_module.html#resolver) directive. This field takes a comma separated list of addresses. | N/A | |*resolver-ipv6* | Configures whether the mgmt block [resolver](https://nginx.org/en/docs/ngx_mgmt_module.html#resolver) directive will look up IPv6 addresses. | `true` | |*resolver-valid* | Configures an [NGINX time](https://nginx.org/en/docs/syntax.html) that the mgmt block [resolver](https://nginx.org/en/docs/ngx_mgmt_module.html#resolver) directive will override the TTL value of responses from nameservers with. | N/A | -{{}} diff --git a/content/nic/configuration/global-configuration/reporting-resources-status.md b/content/nic/configuration/global-configuration/reporting-resources-status.md index 861ce432a..4da8b5123 100644 --- a/content/nic/configuration/global-configuration/reporting-resources-status.md +++ b/content/nic/configuration/global-configuration/reporting-resources-status.md @@ -80,32 +80,26 @@ Status: The following fields are reported in both VirtualServer and VirtualServerRoute status: -{{}} |Field | Description | Type | | ---| ---| --- | |*State* | Current state of the resource. Can be ``Valid``, ``Warning`` an ``Invalid``. For more information, refer to the ``message`` field. | *string* | |*Reason* | The reason of the last update. | *string* | |*Message* | Additional information about the state. | *string* | |*ExternalEndpoints* | A list of external endpoints for which the hosts of the resource are publicly accessible. | *[externalEndpoint](#externalendpoint)* | -{{}} The *ReferencedBy* field is reported for the VirtualServerRoute status only: -{{}} |Field | Description | Type | | ---| ---| --- | | *ReferencedBy* | The VirtualServer that references this VirtualServerRoute. Format as ``namespace/name`` | *string* | -{{}} ### externalEndpoint -{{}} |Field | Description | Type | | ---| ---| --- | |``IP`` | The external IP address. | ``string`` | |``Hostname`` | The external LoadBalancer Hostname address. | ``string`` | |``Ports`` | A list of external ports. | ``string`` | -{{}} NGINX Ingress Controller must be configured to report a VirtualServer or VirtualServerRoute status: @@ -148,13 +142,11 @@ Status: The following fields are reported in Policy status: -{{}} |Field | Description | Type | | ---| ---| --- | |``State`` | Current state of the resource. Can be ``Valid`` or ``Invalid``. For more information, refer to the ``message`` field. | ``string`` | |``Reason`` | The reason of the last update. | ``string`` | |``Message`` | Additional information about the state. | ``string`` | -{{}} ## TransportServer resources @@ -186,10 +178,8 @@ Status: The following fields are reported in TransportServer status: -{{}} |Field | Description | Type | | ---| ---| --- | | *State* | Current state of the resource. Can be ``Valid``, ``Warning`` or ``Invalid``. For more information, refer to the ``message`` field. | *string* | | *Reason* | The reason of the last update. | *string* | -| *Message* | Additional information about the state. | *string* | -{{}} +| *Message* | Additional information about the state. | *string* | \ No newline at end of file diff --git a/content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md b/content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md index d115a88d6..7bbdb4685 100644 --- a/content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md +++ b/content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md @@ -98,7 +98,7 @@ The table below summarizes the available annotations. ### General customization -{{}} +{{< table >}} |Annotation | ConfigMap Key | Description | Default | Example | | ---| ---| ---| ---| --- | | *nginx.org/proxy-connect-timeout* | *proxy-connect-timeout* | Sets the value of the [proxy_connect_timeout](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) and [grpc_connect_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_connect_timeout) directive. | *60s* | | @@ -111,22 +111,23 @@ The table below summarizes the available annotations. | *nginx.org/proxy-max-temp-file-size* | *proxy-max-temp-file-size* | Sets the value of the [proxy_max_temp_file_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size) directive. | *1024m* | | | *nginx.org/server-tokens* | *server-tokens* | Enables or disables the [server_tokens](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens) directive. Additionally, with the NGINX Plus, you can specify a custom string value, including the empty string value, which disables the emission of the “Server” field. | *True* | | | *nginx.org/path-regex* | N/A | Enables regular expression modifiers for Ingress path parameter. This translates to the NGINX [location](https://nginx.org/en/docs/http/ngx_http_core_module.html#location) directive. You can specify one of these values: "case_sensitive", "case_insensitive", or "exact". The annotation is applied to the entire Ingress resource and its paths. While using Master and Minion Ingresses i.e. Mergeable Ingresses, this annotation can be specified on Minion types. The `path-regex` annotation specified on Master is ignored, and has no effect on paths defined on Minions. | N/A | [path-regex](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/path-regex) | -{{}} +{{< /table >}} + ### Request URI/Header Manipulation -{{}} +{{< table >}} |Annotation | ConfigMap Key | Description | Default | Example | | ---| ---| ---| ---| --- | | *nginx.org/proxy-hide-headers* | *proxy-hide-headers* | Sets the value of one or more [proxy_hide_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header) directives. Example: ``"nginx.org/proxy-hide-headers": "header-a,header-b"* | N/A | | | *nginx.org/proxy-pass-headers* | *proxy-pass-headers* | Sets the value of one or more [proxy_pass_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_header) directives. Example: ``"nginx.org/proxy-pass-headers": "header-a,header-b"* | N/A | | | *nginx.org/rewrites* | N/A | Configures URI rewriting using [proxy_pass](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass) directive. | N/A | [rewrites](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/rewrites) | |*nginx.org/proxy-set-headers* | N/A | Enables customization of proxy headers and values using the [proxy_set_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header) directive. Example: ``"nginx.org/proxy-set-headers": "header-a: valueA,header-b: valueB,header-c: valueC"`` | N/A | [Proxy Set Headers](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/proxy-set-headers). | -{{}} +{{< /table >}} ### Auth and SSL/TLS -{{}} +{{< table >}} |Annotation | ConfigMap Key | Description | Default | Example | | ---| ---| ---| ---| --- | | *nginx.org/redirect-to-https* | *redirect-to-https* | Sets the 301 redirect rule based on the value of the ``http_x_forwarded_proto* header on the server block to force incoming traffic to be over HTTPS. Useful when terminating SSL in a load balancer in front of NGINX Ingress Controller — see [115](https://github.com/nginx/kubernetes-ingress/issues/115) | *False* | | @@ -141,20 +142,18 @@ The table below summarizes the available annotations. | *nginx.com/jwt-realm* | N/A | Specifies a realm. | N/A | [Support for JSON Web Tokens (JWTs)](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/jwt). | | *nginx.com/jwt-token* | N/A | Specifies a variable that contains a JSON Web Token. | By default, a JWT is expected in the ``Authorization* header as a Bearer Token. | [Support for JSON Web Tokens (JWTs)](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/jwt). | | *nginx.com/jwt-login-url* | N/A | Specifies a URL to which a client is redirected in case of an invalid or missing JWT. | N/A | [Support for JSON Web Tokens (JWTs)](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/jwt). | -{{}} +{{< /table >}} ### Listeners -{{}} -|Annotation | ConfigMap Key | Description | Default | Example | -| ---| ---| ---| ---| --- | -| *nginx.org/listen-ports* | N/A | Configures HTTP ports that NGINX will listen on. | *[80]* | | -| *nginx.org/listen-ports-ssl* | N/A | Configures HTTPS ports that NGINX will listen on. | *[443]* | | -{{}} +|Annotation | ConfigMap Key | Description | Default | +| ---| ---| ---| ---| +| *nginx.org/listen-ports* | N/A | Configures HTTP ports that NGINX will listen on. | *[80]* | +| *nginx.org/listen-ports-ssl* | N/A | Configures HTTPS ports that NGINX will listen on. | *[443]* | ### Backend services (Upstreams) -{{}} +{{< table >}} |Annotation | ConfigMap Key | Description | Default | Example | | ---| ---| ---| ---| --- | | *nginx.org/lb-method* | *lb-method* | Sets the [load balancing method]({{< ref "/nginx/admin-guide/load-balancer/http-load-balancer.md#choosing-a-load-balancing-method" >}}). To use the round-robin method, specify ``"round_robin"``. | *"random two least_conn"* | | @@ -172,11 +171,11 @@ The table below summarizes the available annotations. | *nginx.com/health-checks-mandatory-queue* | N/A | When active health checks are mandatory, creates a queue where incoming requests are temporarily stored while NGINX Plus is checking the health of the endpoints after a configuration reload. | *0* | [health-checks](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/health-checks) | | *nginx.com/slow-start* | N/A | Sets the upstream server [slow-start period]({{< ref "/nginx/admin-guide/load-balancer/http-load-balancer.md#server-slow-start" >}}). By default, slow-start is activated after a server becomes [available]({{< ref "/nginx/admin-guide/load-balancer/http-health-check.md#passive-health-checks" >}}) or [healthy]({{< ref "/nginx/admin-guide/load-balancer/http-health-check.md#active-health-checks" >}}). To enable slow-start for newly-added servers, configure [mandatory active health checks](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/health-checks). | *"0s"* | | | *nginx.org/use-cluster-ip* | N/A | Enables using the Cluster IP and port of the service instead of the default behavior of using the IP and port of the pods. When this field is enabled, the fields that configure NGINX behavior related to multiple upstream servers (like ``lb-method* and ``next-upstream``) will have no effect, as NGINX Ingress Controller will configure NGINX with only one upstream server that will match the service Cluster IP. | *False* | | -{{}} +{{< /table >}} ### Rate limiting -{{}} +{{< table >}} |Annotation | ConfigMap Key | Description | Default | Example | | ---| ---| ---| ---| --- | | *nginx.org/limit-req-rate* | N/A | Enables request-rate-limiting for this ingress by creating a [limit_req_zone](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone) and matching [limit_req](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req) for each location. All servers/locations of one ingress share the same zone. Must have unit r/s or r/m. | N/A | 200r/s | @@ -189,22 +188,20 @@ The table below summarizes the available annotations. | *nginx.org/limit-req-log-level* | N/A | Sets the desired logging level for cases when the server refuses to process requests due to rate exceeding, or delays request processing. Allowed values are info, notice, warn or error. | error | info | | *nginx.org/limit-req-reject-code* | N/A | Sets the status code to return in response to rejected requests. Must fall into the range 400..599. | 429 | 503 | | *nginx.org/limit-req-scale* | N/A | Enables a constant rate-limit by dividing the configured rate by the number of nginx-ingress pods currently serving traffic. This adjustment ensures that the rate-limit remains consistent, even as the number of nginx-pods fluctuates due to autoscaling. Note: This will not work properly if requests from a client are not evenly distributed accross all ingress pods (sticky sessions, long lived TCP-Connections with many requests etc.). In such cases using [zone-sync]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#zone-sync" >}}) instead would give better results. Enabling `zone-sync` will suppress this setting. | false | true | -{{}} +{{< /table >}} ### Snippets and custom templates -{{}} -|Annotation | ConfigMap Key | Description | Default | Example | -| ---| ---| ---| ---| --- | -| *nginx.org/location-snippets* | *location-snippets* | Sets a custom snippet in location context. | N/A | | -| *nginx.org/server-snippets* | *server-snippets* | Sets a custom snippet in server context. | N/A | | -{{}} +|Annotation | ConfigMap Key | Description | Default | +| ---| ---| ---| ---| +| *nginx.org/location-snippets* | *location-snippets* | Sets a custom snippet in location context. | N/A | +| *nginx.org/server-snippets* | *server-snippets* | Sets a custom snippet in server context. | N/A | ### App Protect WAF {#app-protect} {{< call-out "note" >}} The App Protect annotations only work if the App Protect WAF module is [installed]({{< ref "/nic/installation/integrations/app-protect-waf/installation.md" >}}). {{< /call-out >}} -{{}} +{{< table >}} |Annotation | ConfigMap Key | Description | Default | Example | | ---| ---| ---| ---| --- | | *appprotect.f5.com/app-protect-policy* | N/A | The name of the App Protect Policy for the Ingress Resource. Format is ``namespace/name``. If no namespace is specified, the same namespace of the Ingress Resource is used. If not specified but ``appprotect.f5.com/app-protect-enable* is true, a default policy id applied. If the referenced policy resource does not exist, or policy is invalid, this annotation will be ignored, and the default policy will be applied. | N/A | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | @@ -212,14 +209,12 @@ The table below summarizes the available annotations. | *appprotect.f5.com/app-protect-security-log-enable* | N/A | Enable the [security log](/nginx-app-protect/troubleshooting/#app-protect-logging-overview) for App Protect. | *False* | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | | *appprotect.f5.com/app-protect-security-log* | N/A | The App Protect log configuration for the Ingress Resource. Format is ``namespace/name``. If no namespace is specified, the same namespace as the Ingress Resource is used. If not specified the default is used which is: filter: ``illegal``, format: ``default``. Multiple configurations can be specified in a comma separated list. Both log configurations and destinations list (see below) must be of equal length. Configs and destinations are paired by the list indices. | N/A | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | | *appprotect.f5.com/app-protect-security-log-destination* | N/A | The destination of the security log. For more information check the [DESTINATION argument](/nginx-app-protect/troubleshooting/#app-protect-logging-overview). Multiple destinations can be specified in a comma-separated list. Both log configurations and destinations list (see above) must be of equal length. Configs and destinations are paired by the list indices. | *syslog:server=localhost:514* | [app-protect-waf](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-waf) | -{{}} +{{< /table >}} ### App Protect DoS {{< call-out "note" >}} The App Protect DoS annotations only work if the App Protect DoS module is [installed]({{< ref "/nic/installation/integrations/app-protect-dos/installation.md" >}}). {{< /call-out >}} -{{}} |Annotation | ConfigMap Key | Description | Default | Example | | ---| ---| ---| ---| --- | | *appprotectdos.f5.com/app-protect-dos-resource* | N/A | Enable App Protect DoS for the Ingress Resource by specifying a [DosProtectedResource]({{< ref "/nic/installation/integrations/app-protect-dos/dos-protected.md" >}}). | N/A | [app-protect-dos](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-dos) | -{{}} diff --git a/content/nic/configuration/transportserver-resource.md b/content/nic/configuration/transportserver-resource.md index 23f287c02..31516a66e 100644 --- a/content/nic/configuration/transportserver-resource.md +++ b/content/nic/configuration/transportserver-resource.md @@ -84,8 +84,8 @@ The TransportServer resource defines load balancing configuration for TCP, UDP, pass: secure-app ``` -{{}} -|Field | Description | Type | Required | +{{< table >}} +| Field | Description | Type | Required | | ---| ---| ---| --- | |``listener`` | The listener on NGINX that will accept incoming connections/datagrams. | [listener](#listener) | Yes | |``host`` | The host (domain name) of the server. Must be a valid subdomain as defined in RFC 1123, such as ``my-app`` or ``hello.example.com``. Wildcard domains like ``*.example.com`` are not allowed. When specified, NGINX will use this host for SNI-based routing. For TLS Passthrough, this field is required. For TCP with TLS termination, specifying the host enables SNI routing and requires specifying a TLS secret.| ``string`` | No | @@ -96,7 +96,8 @@ The TransportServer resource defines load balancing configuration for TCP, UDP, |``ingressClassName`` | Specifies which Ingress Controller must handle the TransportServer resource. | ``string`` | No | |``streamSnippets`` | Sets a custom snippet in the ``stream`` context. | ``string`` | No | |``serverSnippets`` | Sets a custom snippet in the ``server`` context. | ``string`` | No | -{{}} +{{< /table >}} + \* -- Required for TLS Passthrough load balancing. @@ -114,12 +115,10 @@ listener: protocol: UDP ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``name`` | The name of the listener. | ``string`` | Yes | |``protocol`` | The protocol of the listener. | ``string`` | Yes | -{{}} ### TLS @@ -129,11 +128,9 @@ The tls field defines TLS configuration for a TransportServer. When using TLS te secret: cafe-secret ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``secret`` | The name of a secret with a TLS certificate and key. The secret must belong to the same namespace as the TransportServer. The secret must be of the type ``kubernetes.io/tls`` and contain keys named ``tls.crt`` and ``tls.key`` that contain the certificate and private key as described [here](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls). | ``string`` | No | -{{}} ### Upstream @@ -149,7 +146,7 @@ failTimeout: 30s loadBalancingMethod: least_conn ``` -{{}} +{{< table >}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``name`` | The name of the upstream. Must be a valid DNS label as defined in RFC 1035. For example, ``hello`` and ``upstream-123`` are valid. The name must be unique among all upstreams of the resource. | ``string`` | Yes | @@ -162,7 +159,7 @@ loadBalancingMethod: least_conn |``loadBalancingMethod`` | The method used to load balance the upstream servers. By default, connections are distributed between the servers using a weighted round-robin balancing method. See the [upstream](http://nginx.org/en/docs/stream/ngx_stream_upstream_module.html#upstream) section for available methods and their details. | ``string`` | No | |``backup`` | The name of the backup service of type [ExternalName](https://kubernetes.io/docs/concepts/services-networking/service/#externalname). This will be used when the primary servers are unavailable. Note: The parameter cannot be used along with the ``random`` , ``hash`` or ``ip_hash`` load balancing methods. | ``string`` | No | |``backupPort`` | The port of the backup service. The backup port is required if the backup service name is provided. The port must fall into the range ``1..65535``. | ``uint16`` | No | -{{}} +{{< /table >}} ### Upstream.Healthcheck @@ -184,7 +181,6 @@ healthCheck: {{< call-out "note" >}} This feature is only supported with NGINX Plus. {{< /call-out >}} -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``enable`` | Enables a health check for an upstream server. The default is ``false``. | ``boolean`` | No | @@ -195,7 +191,6 @@ healthCheck: |``passes`` | The number of consecutive passed health checks of a particular upstream server after which the server will be considered healthy. The default is ``1``. | ``integer`` | No | |``port`` | The port used for health check requests. By default, the [server port is used](https://nginx.org/en/docs/stream/ngx_stream_upstream_hc_module.html#health_check_port). Note: in contrast with the port of the upstream, this port is not a service port, but a port of a pod. | ``integer`` | No | |``match`` | Controls the data to send and the response to expect for the healthcheck. | [match](#upstreamhealthcheckmatch) | No | -{{}} ### Upstream.Healthcheck.Match @@ -211,12 +206,10 @@ Both `send` and `expect` fields can contain hexadecimal literals with the prefix See the [match](https://nginx.org/en/docs/stream/ngx_stream_upstream_hc_module.html#match) directive for details. -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``send`` | A string to send to an upstream server. | ``string`` | No | |``expect`` | A literal string or a regular expression that the data obtained from the server should match. The regular expression is specified with the preceding ``~*`` modifier (for case-insensitive matching), or the ``~`` modifier (for case-sensitive matching). NGINX Ingress Controller validates a regular expression using the RE2 syntax. | ``string`` | No | -{{}} ### UpstreamParameters @@ -232,7 +225,6 @@ upstreamParameters: nextUpstreamTries: 1 ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``udpRequests`` | The number of datagrams, after receiving which, the next datagram from the same client starts a new session. See the [proxy_requests](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_requests) directive. The default is ``0``. | ``int`` | No | @@ -241,7 +233,6 @@ upstreamParameters: |``nextUpstream`` | If a connection to the proxied server cannot be established, determines whether a client connection will be passed to the next server. See the [proxy_next_upstream](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream) directive. The default is ``true``. | bool | No | |``nextUpstreamTries`` | The number of tries for passing a connection to the next server. See the [proxy_next_upstream_tries](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_tries) directive. The default is ``0``. | ``int`` | No | |``nextUpstreamTimeout`` | The time allowed to pass a connection to the next server. See the [proxy_next_upstream_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_timeout) directive. The default us ``0``. | ``string`` | No | -{{}} ### SessionParameters @@ -252,11 +243,9 @@ sessionParameters: timeout: 50s ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``timeout`` | The timeout between two successive read or write operations on client or proxied server connections. See [proxy_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_timeout) directive. The default is ``10m``. | ``string`` | No | -{{}} ### Action @@ -269,11 +258,9 @@ action: pass: dns-app ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``pass`` | Passes connections/datagrams to an upstream. The upstream with that name must be defined in the resource. | ``string`` | Yes | -{{}} ## Using TransportServer diff --git a/content/nic/configuration/virtualserver-and-virtualserverroute-resources.md b/content/nic/configuration/virtualserver-and-virtualserverroute-resources.md index 46802938e..3a0a782e4 100644 --- a/content/nic/configuration/virtualserver-and-virtualserverroute-resources.md +++ b/content/nic/configuration/virtualserver-and-virtualserverroute-resources.md @@ -82,13 +82,11 @@ redirect: enable: true ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``secret`` | The name of a secret with a TLS certificate and key. The secret must belong to the same namespace as the VirtualServer. The secret must be of the type ``kubernetes.io/tls`` and contain keys named ``tls.crt`` and ``tls.key`` that contain the certificate and private key as described [here](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls). If the secret doesn't exist or is invalid, NGINX will break any attempt to establish a TLS connection to the host of the VirtualServer. If the secret is not specified but [wildcard TLS secret]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-wildcard-tls-secret" >}}) is configured, NGINX will use the wildcard secret for TLS termination. | ``string`` | No | |``redirect`` | The redirect configuration of the TLS for a VirtualServer. | [tls.redirect](#virtualservertlsredirect) | No | ### VirtualServer.TLS.Redirect | |``cert-manager`` | The cert-manager configuration of the TLS for a VirtualServer. | [tls.cert-manager](#virtualservertlscertmanager) | No | ### VirtualServer.TLS.CertManager | -{{}} ### VirtualServer.TLS.Redirect @@ -100,13 +98,11 @@ code: 301 basedOn: scheme ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``enable`` | Enables a TLS redirect for a VirtualServer. The default is ``False``. | ``boolean`` | No | |``code`` | The status code of a redirect. The allowed values are: ``301`` , ``302`` , ``307`` , ``308``. The default is ``301``. | ``int`` | No | |``basedOn`` | The attribute of a request that NGINX will evaluate to send a redirect. The allowed values are ``scheme`` (the scheme of the request) or ``x-forwarded-proto`` (the ``X-Forwarded-Proto`` header of the request). The default is ``scheme``. | ``string`` | No | ### VirtualServer.Policy | -{{}} ### VirtualServer.TLS.CertManager @@ -117,7 +113,6 @@ cert-manager: cluster-issuer: "my-issuer-name" ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``issuer`` | the name of an Issuer. An Issuer is a cert-manager resource which describes the certificate authority capable of signing certificates. The Issuer must be in the same namespace as the VirtualServer resource. Please note that one of `issuer` and `cluster-issuer` are required, but they are mutually exclusive - one and only one must be defined. | ``string`` | No | @@ -129,23 +124,21 @@ cert-manager: |``renew-before`` | this annotation allows you to configure spec.renewBefore field for the Certificate to be generated. Must be specified using a [Go time.Duration](https://pkg.go.dev/time#ParseDuration) string format, which does not allow the d (days) suffix. You must specify these values using s, m, and h suffixes instead. | ``string`` | No | |``usages`` | This field allows you to configure spec.usages field for the Certificate to be generated. Pass a string with comma-separated values i.e. ``key agreement,digital signature, server auth``. An exhaustive list of supported key usages can be found in the [the cert-manager api documentation](https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.KeyUsage). | ``string`` | No | |``issue-temp-cert`` | When ``true``, ask cert-manager for a [temporary self-signed certificate](https://cert-manager.io/docs/usage/certificate/#temporary-certificates-while-issuing) pending the issuance of the Certificate. This allows HTTPS-only servers to use ACME HTTP01 challenges when the TLS secret does not exist yet. | ``boolean`` | No | -{{}} ### VirtualServer.Listener The listener field defines a custom HTTP and/or HTTPS listener. The respective listeners used must reference the name of a listener defined using a [GlobalConfiguration]({{< ref "/nic/configuration/global-configuration/globalconfiguration-resource.md" >}}) resource. For example: + ```yaml http: http-8083 https: https-8443 ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``http`` | The name of am HTTP listener defined in a [GlobalConfiguration]({{< ref "/nic/configuration/global-configuration/globalconfiguration-resource.md" >}}) resource. | ``string`` | No | |``https`` | The name of an HTTPS listener defined in a [GlobalConfiguration]({{< ref "/nic/configuration/global-configuration/globalconfiguration-resource.md" >}}) resource. | ``string`` | No | -{{}} ### VirtualServer.ExternalDNS @@ -155,7 +148,6 @@ The externalDNS field configures controlling DNS records dynamically for Virtual enable: true ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``enable`` | Enables ExternalDNS integration for a VirtualServer resource. The default is ``false``. | ``string`` | No | @@ -163,7 +155,6 @@ enable: true |``providerSpecific`` | Configure provider specific properties which holds the name and value of a configuration which is specific to individual DNS providers. | [[]ProviderSpecific](#virtualserverexternaldnsproviderspecific) | No | |``recordTTL`` | TTL for the DNS record. This defaults to 0 if not defined. See [the ExternalDNS TTL documentation for provider-specific defaults](https://kubernetes-sigs.github.io/external-dns/v0.14.2/ttl/#providers) | ``int64`` | No | |``recordType`` | The record Type that should be created, e.g. "A", "AAAA", "CNAME". This is automatically computed based on the external endpoints if not defined. | ``string`` | No | -{{}} ### VirtualServer.ExternalDNS.ProviderSpecific @@ -176,12 +167,10 @@ The providerSpecific field of the externalDNS block allows the specification of value: my-value2 ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``name`` | The name of the key value pair. | ``string`` | Yes | |``value`` | The value of the key value pair. | ``string`` | Yes | -{{}} ### VirtualServer.Policy @@ -191,12 +180,10 @@ The policy field references a [Policy resource]({{< ref "/nic/configuration/poli name: access-control ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``name`` | The name of a policy. If the policy doesn't exist or invalid, NGINX will respond with an error response with the `500` status code. | ``string`` | Yes | |``namespace`` | The namespace of a policy. If not specified, the namespace of the VirtualServer resource is used. | ``string`` | No | -{{}} ### VirtualServer.Route @@ -208,7 +195,7 @@ The route defines rules for matching client requests to actions like passing a r pass: tea ``` -{{}} +{{< table >}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``path`` | The path of the route. NGINX will match it against the URI of a request. Possible values are: a prefix ( ``/`` , ``/path`` ), an exact match ( ``=/exact/match`` ), a case insensitive regular expression ( ``~*^/Bar.*\.jpg`` ) or a case sensitive regular expression ( ``~^/foo.*\.jpg`` ). In the case of a prefix (must start with ``/`` ) or an exact match (must start with ``=`` ), the path must not include any whitespace characters, ``{`` , ``}`` or ``;``. In the case of the regex matches, all double quotes ``"`` must be escaped and the match can't end in an unescaped backslash ``\``. The path must be unique among the paths of all routes of the VirtualServer. Check the [location](https://nginx.org/en/docs/http/ngx_http_core_module.html#location) directive for more information. | ``string`` | Yes | @@ -220,7 +207,7 @@ The route defines rules for matching client requests to actions like passing a r |``route`` | The name of a VirtualServerRoute resource that defines this route. If the VirtualServerRoute belongs to a different namespace than the VirtualServer, you need to include the namespace. For example, ``tea-namespace/tea``. | ``string`` | No | |``errorPages`` | The custom responses for error codes. NGINX will use those responses instead of returning the error responses from the upstream servers or the default responses generated by NGINX. A custom response can be a redirect or a canned response. For example, a redirect to another URL if an upstream server responded with a 404 status code. | [[]errorPage](#errorpage) | No | |``location-snippets`` | Sets a custom snippet in the location context. Overrides the ``location-snippets`` ConfigMap key. | ``string`` | No | -{{}} +{{< /table >}} \* -- a route must include exactly one of the following: `action`, `splits`, or `route`. @@ -280,14 +267,12 @@ spec: Note that each subroute must have a `path` that starts with the same prefix (here `/coffee`), which is defined in the route of the VirtualServer. Additionally, the `host` in the VirtualServerRoute must be the same as the `host` of the VirtualServer. -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``host`` | The host (domain name) of the server. Must be a valid subdomain as defined in RFC 1123, such as ``my-app`` or ``hello.example.com``. When using a wildcard domain like ``*.example.com`` the domain must be contained in double quotes. Must be the same as the ``host`` of the VirtualServer that references this resource. | ``string`` | Yes | |``upstreams`` | A list of upstreams. | [[]upstream](#upstream) | No | |``subroutes`` | A list of subroutes. | [[]subroute](#virtualserverroutesubroute) | No | |``ingressClassName`` | Specifies which Ingress Controller must handle the VirtualServerRoute resource. Must be the same as the ``ingressClassName`` of the VirtualServer that references this resource. | ``string``_ | No | -{{}} ### VirtualServerRoute.Subroute @@ -299,7 +284,7 @@ action: pass: coffee ``` -{{}} +{{< table >}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``path`` | The path of the subroute. NGINX will match it against the URI of a request. Possible values are: a prefix ( ``/`` , ``/path`` ), an exact match ( ``=/exact/match`` ), a case insensitive regular expression ( ``~*^/Bar.*\.jpg`` ) or a case sensitive regular expression ( ``~^/foo.*\.jpg`` ). In the case of a prefix, the path must start with the same path as the path of the route of the VirtualServer that references this resource. In the case of an exact or regex match, the path must be the same as the path of the route of the VirtualServer that references this resource. A matching path of the route of the VirtualServer but in different type is not accepted, e.g. a regex path (`~/match`) cannot be used with a prefix path in VirtualServer (`/match`) In the case of a prefix or an exact match, the path must not include any whitespace characters, ``{`` , ``}`` or ``;``. In the case of the regex matches, all double quotes ``"`` must be escaped and the match can't end in an unescaped backslash ``\``. The path must be unique among the paths of all subroutes of the VirtualServerRoute. | ``string`` | Yes | @@ -310,7 +295,7 @@ action: |``matches`` | The matching rules for advanced content-based routing. Requires the default ``action`` or ``splits``. Unmatched requests will be handled by the default ``action`` or ``splits``. | [matches](#match) | No | |``errorPages`` | The custom responses for error codes. NGINX will use those responses instead of returning the error responses from the upstream servers or the default responses generated by NGINX. A custom response can be a redirect or a canned response. For example, a redirect to another URL if an upstream server responded with a 404 status code. | [[]errorPage](#errorpage) | No | |``location-snippets`` | Sets a custom snippet in the location context. Overrides the ``location-snippets`` of the VirtualServer (if set) or the ``location-snippets`` ConfigMap key. | ``string`` | No | -{{}} +{{< /table >}} \* -- a subroute must include exactly one of the following: `action` or `splits`. @@ -344,7 +329,7 @@ tls: **Note**: The WebSocket protocol is supported without any additional configuration. -{{}} +{{< table >}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``name`` | The name of the upstream. Must be a valid DNS label as defined in RFC 1035. For example, ``hello`` and ``upstream-123`` are valid. The name must be unique among all upstreams of the resource. | ``string`` | Yes | @@ -375,7 +360,7 @@ tls: |``type`` |The type of the upstream. Supported values are ``http`` and ``grpc``. The default is ``http``. For gRPC, it is necessary to enable HTTP/2 in the [ConfigMap]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#listeners" >}}) and configure TLS termination in the VirtualServer. | ``string`` | No | |``backup`` | The name of the backup service of type [ExternalName](https://kubernetes.io/docs/concepts/services-networking/service/#externalname). This will be used when the primary servers are unavailable. Note: The parameter cannot be used along with the ``random`` , ``hash`` or ``ip_hash`` load balancing methods. | ``string`` | No | |``backupPort`` | The port of the backup service. The backup port is required if the backup service name is provided. The port must fall into the range ``1..65535``. | ``uint16`` | No | -{{}} +{{< /table >}} ### Upstream.Buffers @@ -388,20 +373,16 @@ size: 8K See the [proxy_buffers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directive for additional information. -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``number`` | Configures the number of buffers. The default is set in the ``proxy-buffers`` ConfigMap key. | ``int`` | Yes | |``size`` | Configures the size of a buffer. The default is set in the ``proxy-buffers`` ConfigMap key. | ``string`` | Yes | -{{}} ### Upstream.TLS -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``enable`` | Enables HTTPS for requests to upstream servers. The default is ``False`` , meaning that HTTP will be used. Note: by default, NGINX will not verify the upstream server certificate. To enable the verification, configure an [EgressMTLS Policy]({{< ref "/nic/configuration/policy-resource/#egressmtls" >}}). | ``boolean`` | No | -{{}} ### Upstream.Queue @@ -416,12 +397,10 @@ See [`queue`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#queue Note: This feature is supported only in NGINX Plus. -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``size`` | The size of the queue. | ``int`` | Yes | |``timeout`` | The timeout of the queue. A request cannot be queued for a period longer than the timeout. The default is ``60s``. | ``string`` | No | -{{}} ### Upstream.Healthcheck @@ -454,9 +433,8 @@ healthCheck: keepalive-time: 60s ``` -Note: This feature is supported only in NGINX Plus. +{{< call-out "note" >}} This feature is supported only in NGINX Plus. {{< /call-out >}} -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``enable`` | Enables a health check for an upstream server. The default is ``false``. | ``boolean`` | No | @@ -477,7 +455,6 @@ Note: This feature is supported only in NGINX Plus. |``mandatory`` | Require every newly added server to pass all configured health checks before NGINX Plus sends traffic to it. If this is not specified, or is set to false, the server will be initially considered healthy. When combined with [slow-start](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#slow_start), it gives a new server more time to connect to databases and “warm up” before being asked to handle their full share of traffic. | ``bool`` | No | |``persistent`` | Set the initial “up” state for a server after reload if the server was considered healthy before reload. Enabling persistent requires that the mandatory parameter is also set to `true`. | ``bool`` | No | |``keepalive-time`` | Enables [keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) connections for health checks and specifies the time during which requests can be processed through one keepalive connection. The default is ``60s``. | ``string`` | No | -{{}} ### Upstream.SessionCookie @@ -502,9 +479,8 @@ sessionCookie: See the [`sticky`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html?#sticky) directive for additional information. The session cookie corresponds to the `sticky cookie` method. -Note: This feature is supported only in NGINX Plus. +{{< call-out "note" >}} This feature is supported only in NGINX Plus. {{< /call-out >}} -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``enable`` | Enables session persistence with a session cookie for an upstream server. The default is ``false``. | ``boolean`` | No | @@ -515,7 +491,6 @@ Note: This feature is supported only in NGINX Plus. |``httpOnly`` | Adds the ``HttpOnly`` attribute to the cookie. | ``boolean`` | No | |``secure`` | Adds the ``Secure`` attribute to the cookie. | ``boolean`` | No | |``samesite`` | Adds the ``SameSite`` attribute to the cookie. The allowed values are: ``strict``, ``lax``, ``none`` | ``string`` | No | -{{}} ### Header @@ -526,12 +501,10 @@ name: Host value: example.com ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``name`` | The name of the header. | ``string`` | Yes | |``value`` | The value of the header. | ``string`` | No | -{{}} ### Action @@ -545,14 +518,12 @@ In the example below, client requests are passed to an upstream `coffee`: pass: coffee ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``pass`` | Passes requests to an upstream. The upstream with that name must be defined in the resource. | ``string`` | No | |``redirect`` | Redirects requests to a provided URL. | [action.redirect](#actionredirect) | No | |``return`` | Returns a preconfigured response. | [action.return](#actionreturn) | No | |``proxy`` | Passes requests to an upstream with the ability to modify the request/response (for example, rewrite the URI or modify the headers). | [action.proxy](#actionproxy) | No | -{{}} \* -- an action must include exactly one of the following: `pass`, `redirect`, `return` or `proxy`. @@ -568,12 +539,10 @@ redirect: code: 301 ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``url`` | The URL to redirect the request to. Supported NGINX variables: ``$scheme`` , ``$http_x_forwarded_proto`` , ``$request_uri`` , ``$host``. Variables must be enclosed in curly braces. For example: ``${host}${request_uri}``. | ``string`` | Yes | |``code`` | The status code of a redirect. The allowed values are: ``301`` , ``302`` , ``307`` , ``308``. The default is ``301``. | ``int`` | No | -{{}} ### Action.Return @@ -591,14 +560,12 @@ return: value: espresso ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``code`` | The status code of the response. The allowed values are: ``2XX``, ``4XX`` or ``5XX``. The default is ``200``. | ``int`` | No | |``type`` | The MIME type of the response. The default is ``text/plain``. | ``string`` | No | |``body`` | The body of the response. Supports NGINX variables*. Variables must be enclosed in curly brackets. For example: ``Request is ${request_uri}\n``. | ``string`` | Yes | |``headers`` | The custom headers of the response. | [[]Action.Return.Header](#actionreturnheader) | No | -{{}} \* -- Supported NGINX variables: `$request_uri`, `$request_method`, `$request_body`, `$scheme`, `$http_`, `$args`, `$arg_`, `$cookie_`, `$host`, `$request_time`, `$request_length`, `$nginx_version`, `$pid`, `$connection`, `$remote_addr`, `$remote_port`, `$time_iso8601`, `$time_local`, `$server_addr`, `$server_port`, `$server_name`, `$server_protocol`, `$connections_active`, `$connections_reading`, `$connections_writing` and `$connections_waiting`. @@ -611,12 +578,10 @@ name: x-coffee value: espresso ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``name`` | The name of the header. | ``string`` | Yes | |``value`` | The value of the header. | ``string`` | Yes | -{{}} ### Action.Proxy @@ -651,25 +616,21 @@ proxy: rewritePath: / ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``upstream`` | The name of the upstream which the requests will be proxied to. The upstream with that name must be defined in the resource. | ``string`` | Yes | |``requestHeaders`` | The request headers modifications. | [action.Proxy.RequestHeaders](#actionproxyrequestheaders) | No | |``responseHeaders`` | The response headers modifications. | [action.Proxy.ResponseHeaders](#actionproxyresponseheaders) | No | |``rewritePath`` | The rewritten URI. If the route path is a regular expression -- starts with `~` -- the `rewritePath` can include capture groups with ``$1-9``. For example `$1` for the first group, and so on. For more information, check the [rewrite](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/rewrites) example. | ``string`` | No | -{{}} ### Action.Proxy.RequestHeaders The RequestHeaders field modifies the headers of the request to the proxied upstream server. -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``pass`` | Passes the original request headers to the proxied upstream server. See the [proxy_pass_request_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_request_headers) directive for more information. Default is true. | ``bool`` | No | |``set`` | Allows redefining or appending fields to present request headers passed to the proxied upstream servers. See the [proxy_set_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header) directive for more information. | [[]header](#actionproxyrequestheaderssetheader) | No | -{{}} ### Action.Proxy.RequestHeaders.Set.Header @@ -687,12 +648,10 @@ name: Host value: example.com ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``name`` | The name of the header. | ``string`` | Yes | |``value`` | The value of the header. Supports NGINX variables*. Variables must be enclosed in curly brackets. For example: ``${scheme}``. | ``string`` | No | -{{}} \* -- Supported NGINX variables: `$request_uri`, `$request_method`, `$request_body`, `$scheme`, `$http_`, `$args`, `$arg_`, `$cookie_`, `$host`, `$request_time`, `$request_length`, `$nginx_version`, `$pid`, `$connection`, `$remote_addr`, `$remote_port`, `$time_iso8601`, `$time_local`, `$server_addr`, `$server_port`, `$server_name`, `$server_protocol`, `$connections_active`, `$connections_reading`, `$connections_writing`, `$connections_waiting`, `$ssl_cipher`, `$ssl_ciphers`, `$ssl_client_cert`, `$ssl_client_escaped_cert`, `$ssl_client_fingerprint`, `$ssl_client_i_dn`, `$ssl_client_i_dn_legacy`, `$ssl_client_raw_cert`, `$ssl_client_s_dn`, `$ssl_client_s_dn_legacy`, `$ssl_client_serial`, `$ssl_client_v_end`, `$ssl_client_v_remain`, `$ssl_client_v_start`, `$ssl_client_verify`, `$ssl_curves`, `$ssl_early_data`, `$ssl_protocol`, `$ssl_server_name`, `$ssl_session_id`, `$ssl_session_reused`, `$jwt_claim_` (NGINX Plus only) and `$jwt_header_` (NGINX Plus only). @@ -700,14 +659,12 @@ value: example.com The ResponseHeaders field modifies the headers of the response to the client. -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``hide`` | The headers that will not be passed* in the response to the client from a proxied upstream server. See the [proxy_hide_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header) directive for more information. | ``[]string`` | No | |``pass`` | Allows passing the hidden header fields* to the client from a proxied upstream server. See the [proxy_pass_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_header) directive for more information. | ``[]string`` | No | |``ignore`` | Disables processing of certain headers** to the client from a proxied upstream server. See the [proxy_ignore_headers](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ignore_headers) directive for more information. | ``[]string`` | No | |``add`` | Adds headers to the response to the client. | [[]addHeader](#addheader) | No | -{{}} \* -- Default hidden headers are: `Date`, `Server`, `X-Pad` and `X-Accel-...`. @@ -723,13 +680,11 @@ value: My-Value always: true ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``name`` | The name of the header. | ``string`` | Yes | |``value`` | The value of the header. Supports NGINX variables*. Variables must be enclosed in curly brackets. For example: ``${scheme}``. | ``string`` | No | |``always`` | If set to true, add the header regardless of the response status code**. Default is false. See the [add_header](http://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header) directive for more information. | ``bool`` | No | -{{}} \* -- Supported NGINX variables: `$request_uri`, `$request_method`, `$request_body`, `$scheme`, `$http_`, `$args`, `$arg_`, `$cookie_`, `$host`, `$request_time`, `$request_length`, `$nginx_version`, `$pid`, `$connection`, `$remote_addr`, `$remote_port`, `$time_iso8601`, `$time_local`, `$server_addr`, `$server_port`, `$server_name`, `$server_protocol`, `$connections_active`, `$connections_reading`, `$connections_writing`, `$connections_waiting`, `$ssl_cipher`, `$ssl_ciphers`, `$ssl_client_cert`, `$ssl_client_escaped_cert`, `$ssl_client_fingerprint`, `$ssl_client_i_dn`, `$ssl_client_i_dn_legacy`, `$ssl_client_raw_cert`, `$ssl_client_s_dn`, `$ssl_client_s_dn_legacy`, `$ssl_client_serial`, `$ssl_client_v_end`, `$ssl_client_v_remain`, `$ssl_client_v_start`, `$ssl_client_verify`, `$ssl_curves`, `$ssl_early_data`, `$ssl_protocol`, `$ssl_server_name`, `$ssl_session_id`, `$ssl_session_reused`, `$jwt_claim_` (NGINX Plus only) and `$jwt_header_` (NGINX Plus only). @@ -751,12 +706,10 @@ splits: pass: coffee-v2 ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``weight`` | The weight of an action. Must fall into the range ``0..100``. The sum of the weights of all splits must be equal to ``100``. | ``int`` | Yes | |``action`` | The action to perform for a request. | [action](#action) | Yes | -{{}} ### Match @@ -802,13 +755,11 @@ action: pass: coffee ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``conditions`` | A list of conditions. Must include at least 1 condition. | [[]condition](#condition) | Yes | |``action`` | The action to perform for a request. | [action](#action) | No | |``splits`` | The splits configuration for traffic splitting. Must include at least 2 splits. | [[]split](#split) | No | -{{}} {{< call-out "note" >}} A match must include exactly one of the following: `action` or `splits`. {{< /call-out >}} @@ -816,7 +767,6 @@ action: The condition defines a condition in a match. -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``header`` | The name of a header. Must consist of alphanumeric characters or ``-``. | ``string`` | No | @@ -824,7 +774,6 @@ The condition defines a condition in a match. |``argument`` | The name of an argument. Must consist of alphanumeric characters or ``_``. | ``string`` | No | |``variable`` | The name of an NGINX variable. Must start with ``$``. See the list of the supported variables below the table. | ``string`` | No | |``value`` | The value to match the condition against. How to define a value is shown below the table. | ``string`` | Yes | -{{}} {{< call-out "note" >}} a condition must include exactly one of the following: `header`, `cookie`, `argument` or `variable`. {{< /call-out >}} @@ -859,13 +808,11 @@ errorPages: body: "Original resource not found, but success!" ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``codes`` | A list of error status codes. | ``[]int`` | Yes | |``redirect`` | The redirect action for the given status codes. | [errorPage.Redirect](#errorpageredirect) | No | |``return`` | The canned response action for the given status codes. | [errorPage.Return](#errorpagereturn) | No | -{{}} {{< call-out "note" >}} An errorPage must include exactly one of the following: `return` or `redirect`. {{< /call-out >}} @@ -882,12 +829,10 @@ redirect: url: ${scheme}://cafe.example.com/error.html ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``code`` | The status code of a redirect. The allowed values are: ``301`` , ``302`` , ``307`` , ``308``. The default is ``301``. | ``int`` | No | |``url`` | The URL to redirect the request to. Supported NGINX variables: ``$scheme`` and ``$http_x_forwarded_proto``. Variables must be enclosed in curly braces. For example: ``${scheme}``. | ``string`` | Yes | -{{}} ### ErrorPage.Return @@ -907,14 +852,12 @@ return: value: ${upstream_status} ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``code`` | The status code of the response. The default is the status code of the original response. | ``int`` | No | |``type`` | The MIME type of the response. The default is ``text/html``. | ``string`` | No | |``body`` | The body of the response. Supported NGINX variable: ``$upstream_status`` . Variables must be enclosed in curly braces. For example: ``${upstream_status}``. | ``string`` | Yes | |``headers`` | The custom headers of the response. | [[]errorPage.Return.Header](#errorpagereturnheader) | No | -{{}} ### ErrorPage.Return.Header @@ -925,12 +868,10 @@ name: x-debug-original-statuses value: ${upstream_status} ``` -{{}} |Field | Description | Type | Required | | ---| ---| ---| --- | |``name`` | The name of the header. | ``string`` | Yes | |``value`` | The value of the header. Supported NGINX variable: ``$upstream_status`` . Variables must be enclosed in curly braces. For example: ``${upstream_status}``. | ``string`` | No | -{{}} ## Using VirtualServer and VirtualServerRoute diff --git a/content/nic/installation/build-nginx-ingress-controller.md b/content/nic/installation/build-nginx-ingress-controller.md index b9c2b78ef..b278f03c5 100644 --- a/content/nic/installation/build-nginx-ingress-controller.md +++ b/content/nic/installation/build-nginx-ingress-controller.md @@ -139,8 +139,7 @@ This section provides comprehensive information on the targets and variables ava Key targets include: -{{}} -|
      Target | Description | +| Target | Description | |---------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | _build_ | Creates the NGINX Ingress Controller binary with your local Go environment. | | _alpine-image_ | Builds an Alpine-based image with NGINX. | @@ -158,38 +157,38 @@ Key targets include: | _ubi-image-nap-plus_ | Builds a UBI-based image with NGINX Plus and the [NGINX App Protect WAF](/nginx-app-protect/) module for [OpenShift](https://www.openshift.com/) clusters. | | _ubi-image-nap-v5-plus_ | Builds a UBI-based image with NGINX Plus and the [NGINX App Protect WAF v5](/nginx-app-protect/) module for [OpenShift](https://www.openshift.com/) clusters. | | _ubi-image-dos-plus_ | Builds a UBI-based image with NGINX Plus and the [NGINX App Protect DoS](/nginx-app-protect-dos/) module for [OpenShift](https://www.openshift.com/) clusters. | -| _ubi-image-nap-dos-plus_ |

      Builds a UBI-based image with NGINX Plus, [NGINX App Protect WAF](/nginx-app-protect/) and the [NGINX App Protect DoS](/nginx-app-protect-dos/) module for [OpenShift](https://www.openshift.com/) clusters.

      **Important**: Save your RHEL organization and activation keys in a file named _rhel_license_ at the project root.

      For instance:

      RHEL_ORGANIZATION=1111111
      RHEL_ACTIVATION_KEY=your-key
      | -{{}} +| _ubi-image-nap-dos-plus_ |

      Builds a UBI-based image with NGINX Plus, [NGINX App Protect WAF](/nginx-app-protect/) and the [NGINX App Protect DoS](/nginx-app-protect-dos/) module for [OpenShift](https://www.openshift.com/) clusters.| ---- +{{< call-out "important" >}} + +For RHEL, save your organization and activation keys in a file named _rhel_license_ at the project root. Ensure they are on separate lines, such as: + +- RHEL_ORGANIZATION=1111111 +- RHEL_ACTIVATION_KEY=your-key + +{{< /call-out >}} ### Additional useful targets {#other-makefile-targets} A few other useful targets: -{{}} -|

      Target
      | Description | +| Target | Description | |---------------------------------------|---------------| | _push_ | Pushes the built image to the Docker registry. Configures with `PREFIX` and `TAG`. | | _all_ | Runs `test`, `lint`, `verify-codegen`, `update-crds`, and `debian-image`. Stops and reports an error if any of these targets fail. | | _test_ | Runs unit tests. | -{{}} ### Makefile variables you can customize {#makefile-variables} The _Makefile_ includes several key variables. You have the option to either modify these variables directly in the _Makefile_ or override them when you run the `make` command. -{{}} -|
      Variable
      | Description | +| Variable | Description | |-----------------------------------------|---------------| | _ARCH_ | Defines the architecture for the image and binary. The default is `amd64`, but you can also use `arm64`. | | _PREFIX_ | Gives the image its name. The default is `nginx/nginx-ingress`. | | _TAG_ | Adds a tag to the image. This is often the version of NGINX Ingress Controller. | | _DOCKER\_BUILD\_OPTIONS_ | Allows for additional [options](https://docs.docker.com/engine/reference/commandline/build/#options) during the `docker build` process, like `--pull`. | | _TARGET_ |

      Determines the build environment. NGINX Ingress Controller compiles locally in a Golang environment by default. Ensure the NGINX Ingress Controller repo resides in your `$GOPATH` if you select this option.

      Alternatively, you can set `TARGET=container` to build using a Docker [Golang](https://hub.docker.com/_/golang/) container. To skip compiling the binary if you're on a specific tag or the latest `main` branch commit, set `TARGET=download`.

      | -{{
      }} - ---- ## Alternatives to building your own image {#pre-built-images} diff --git a/content/nic/installation/ingress-nginx.md b/content/nic/installation/ingress-nginx.md index 5cb3fb7d5..cdfed5470 100644 --- a/content/nic/installation/ingress-nginx.md +++ b/content/nic/installation/ingress-nginx.md @@ -346,7 +346,6 @@ NGINX Ingress Controller has multiple proxy and load balancing functionalities y This table shows how Ingress-NGINX Controller annotations map to statements in the upstream field for [VirtualServer and VirtualServerRoute resources]({{}}), covering load balancing, proxy timeout, proxy buffering and connection routing for a services' ClusterIP address and port. -{{< bootstrap-table "table table-bordered table-striped table-responsive" >}} | Ingress-NGINX Controller | NGINX Ingress Controller | | ------------------------ | ------------------------ | | _nginx.ingress.kubernetes.io/load-balance_ | _lb-method_ | @@ -359,7 +358,6 @@ This table shows how Ingress-NGINX Controller annotations map to statements in t | _nginx.ingress.kubernetes.io/proxy-read-timeout_ | _read-timeout_ | | _nginx.ingress.kubernetes.io/proxy-send-timeout_ | _send-timeout_ | | _nginx.ingress.kubernetes.io/service-upstream_ | _use-cluster-ip_ | -{{% /bootstrap-table %}} #### mTLS authentication @@ -454,7 +452,6 @@ You should avoid altering the `spec` field of the Ingress resource when taking t ### Advanced configuration with annotations This table maps the Ingress-NGINX Controller annotations to NGINX Ingress Controller's equivalent annotations, and the respective NGINX Directive. -{{< bootstrap-table "table table-bordered table-striped table-responsive" >}} | Ingress-NGINX Controller | NGINX Ingress Controller | NGINX Directive | | ------------------------ | ------------------------ | --------------- | | [_nginx.ingress.kubernetes.io/configuration-snippet_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#configuration-snippet) | [_nginx.org/location-snippets_]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#snippets-and-custom-templates" >}}) | N/A | @@ -468,7 +465,6 @@ This table maps the Ingress-NGINX Controller annotations to NGINX Ingress Contro | [_nginx.ingress.kubernetes.io/rewrite-target_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#rewrite) | [_nginx.org/rewrites_]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#request-uriheader-manipulation" >}}) | [_rewrite_](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite) | | [_nginx.ingress.kubernetes.io/server-snippet_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#server-snippet)| [_nginx.org/server-snippets_]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#snippets-and-custom-templates" >}}) | N/A | | [_nginx.ingress.kubernetes.io/ssl-redirect_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#server-side-https-enforcement-through-redirect) | [_ingress.kubernetes.io/ssl-redirect_]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#auth-and-ssltls" >}}) | N/A (2) | -{{% /bootstrap-table %}} 1. Ingress-NGINX Controller implements some of its load balancing algorithms with Lua, which may not have an equivalent in NGINX Ingress Controller. 1. To redirect HTTP (80) traffic to HTTPS (443), NGINX Ingress Controller uses built-in NGINX `if` conditions while Ingress-NGINX Controller uses Lua. @@ -500,7 +496,6 @@ This table maps the Ingress-NGINX Controller ConfigMap keys to NGINX Ingress Con Some of the key names are identical, and each Ingress Controller has ConfigMap keys that the other does not (Which are indicated). {{< /call-out >}} --> -{{< bootstrap-table "table table-bordered table-striped table-responsive" >}} | Ingress-NGINX Controller | NGINX Ingress Controller | | ------------------------ | ------------------------ | | [_disable-access-log_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#disable-access-log) | [_access-log-off_]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#logging" >}}) | @@ -541,4 +536,3 @@ Some of the key names are identical, and each Ingress Controller has ConfigMap k | [_worker-cpu-affinity_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#worker-cpu-affinity) | [_worker-cpu-affinity_]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#general-customization" >}}) | | [_worker-processes_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#worker-processes) | [_worker-processes_]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#general-customization" >}}) | | [_worker-shutdown-timeout_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#worker-shutdown-timeout) | [_worker-shutdown-timeole_]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#general-customization" >}}) | -{{% /bootstrap-table %}} diff --git a/content/nic/installation/installing-nic/installation-with-helm.md b/content/nic/installation/installing-nic/installation-with-helm.md index 66497258f..0251b146c 100644 --- a/content/nic/installation/installing-nic/installation-with-helm.md +++ b/content/nic/installation/installing-nic/installation-with-helm.md @@ -126,7 +126,7 @@ The [Run multiple NGINX Ingress Controllers]({{< ref "/nic/installation/run-mult The following tables lists the configurable parameters of the NGINX Ingress Controller chart and their default values. -{{}} +{{< table >}} |Parameter | Description | Default | | --- | --- | --- | | **controller.name** | The name of the NGINX Ingress Controller daemonset or deployment. | Autogenerated | @@ -319,7 +319,7 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont |**nginxAgent.napMonitoring.collectorBufferSize** | Buffer size for collector. Will contain log lines and parsed log lines. Requires NGINX Agent 2.x. | 50000 | |**nginxAgent.napMonitoring.processorBufferSize** | Buffer size for processor. Will contain log lines and parsed log lines. Requires NGINX Agent 2.x. | 50000 | |**nginxAgent.customConfigMap** | The name of a custom ConfigMap to use instead of the one provided by default. Requires NGINX Agent 2.x.| "" | -{{}} +{{< /table >}} ## Uninstall NGINX Ingress Controller diff --git a/content/nic/installation/integrations/app-protect-dos/installation.md b/content/nic/installation/integrations/app-protect-dos/installation.md index 28c56060d..c678dcf49 100644 --- a/content/nic/installation/integrations/app-protect-dos/installation.md +++ b/content/nic/installation/integrations/app-protect-dos/installation.md @@ -75,23 +75,17 @@ Follow these steps to build the NGINX Controller Image with NGINX App Protect Do {{< call-out "note" >}}In the event a patch version of NGINX Plus is released, make sure to rebuild your image to get the latest version. If your system is caching the Docker layers and not updating the packages, add `DOCKER_BUILD_OPTIONS="--pull --no-cache"` to the make command.{{< /call-out >}} -### Makefile targets {#makefile-targets} +### Makefile targets -{{}} | Makefile Target | Description | Compatible Systems | |---------------------------|-------------------------------------------------------------------|---------------------| | **debian-image-dos-plus** | Builds a Debian-based image with NGINX Plus and the [NGINX App Protect DoS](/nginx-app-protect-dos/) module. | Debian | | **debian-image-nap-dos-plus** | Builds a Debian-based image with NGINX Plus, [NGINX App Protect DoS](/nginx-app-protect-dos/), and [NGINX App Protect WAF](/nginx-app-protect/). | Debian | | **ubi-image-dos-plus** | Builds a UBI-based image with NGINX Plus and the [NGINX App Protect DoS](/nginx-app-protect-dos/) module. | OpenShift | | **ubi-image-nap-dos-plus** | Builds a UBI-based image with NGINX Plus, [NGINX App Protect DoS](/nginx-app-protect-dos/), and [NGINX App Protect WAF](/nginx-app-protect/). | OpenShift | -{{}} - -
      {{< call-out "note" >}} For the complete list of _Makefile_ targets and customizable variables, see the [Build NGINX Ingress Controller]({{< ref "/nic/installation/build-nginx-ingress-controller.md#makefile-details" >}}) topic. {{< /call-out>}} ---- - ## Push the image to your private registry Once you've successfully built the NGINX Ingress Controller image with NGINX App Protect DoS, the next step is to upload it to your private Docker registry. This makes the image available for deployment to your Kubernetes cluster. diff --git a/content/nic/installation/integrations/app-protect-waf-v5/installation.md b/content/nic/installation/integrations/app-protect-waf-v5/installation.md index 207b8bc54..421dded1c 100644 --- a/content/nic/installation/integrations/app-protect-waf-v5/installation.md +++ b/content/nic/installation/integrations/app-protect-waf-v5/installation.md @@ -86,16 +86,13 @@ Follow these steps to build the NGINX Controller Image with NGINX App Protect WA Create Docker image for NGINX Ingress Controller (Alpine with NGINX Plus, NGINX App Protect WAF v5 and FIPS) -{{}} | Makefile Target | Description | Compatible Systems | |---------------------------|-------------------------------------------------------------------|---------------------| | **alpine-image-nap-v5-plus-fips** | Builds a Alpine-based image with NGINX Plus and the [NGINX App Protect WAF v5](/nginx-app-protect-waf/v5/) module with FIPS. | Alpine | | **debian-image-nap-v5-plus** | Builds a Debian-based image with NGINX Plus and the [NGINX App Protect WAF v5](/nginx-app-protect-waf/v5/) module. | Debian | | **ubi-image-nap-v5-plus** | Builds a UBI-based image with NGINX Plus and the [NGINX App Protect WAF v5](/nginx-app-protect-waf/v5/) module. | OpenShift | | **ubi-image-nap-dos-v5-plus** | Builds a UBI-based image with NGINX Plus, [NGINX App Protect WAF v5](/nginx-app-protect-waf/v5/), and [NGINX App Protect DoS](/nginx-app-protect-dos/). | OpenShift | -{{}} -
      {{< call-out "note" >}} For the complete list of _Makefile_ targets and customizable variables, see the [Build NGINX Ingress Controller]({{< ref "/nic/installation/build-nginx-ingress-controller.md#makefile-details" >}}) guide. {{< /call-out>}} diff --git a/content/nic/installation/integrations/app-protect-waf/installation.md b/content/nic/installation/integrations/app-protect-waf/installation.md index d149c3b1b..0da5bc500 100644 --- a/content/nic/installation/integrations/app-protect-waf/installation.md +++ b/content/nic/installation/integrations/app-protect-waf/installation.md @@ -68,16 +68,12 @@ Follow these steps to build the NGINX Controller Image with NGINX App Protect WA ### Makefile targets {#makefile-targets} -{{}} | Makefile Target | Description | Compatible Systems | |---------------------------|-------------------------------------------------------------------|---------------------| | **debian-image-nap-plus** | Builds a Debian-based image with NGINX Plus and the [NGINX App Protect WAF](/nginx-app-protect-waf/) module. | Debian | | **debian-image-nap-dos-plus** | Builds a Debian-based image with NGINX Plus, [NGINX App Protect WAF](/nginx-app-protect-waf/), and [NGINX App Protect DoS](/nginx-app-protect-dos/) | Debian | | **ubi-image-nap-plus** | Builds a UBI-based image with NGINX Plus and the [NGINX App Protect WAF](/nginx-app-protect-waf/) module. | OpenShift | | **ubi-image-nap-dos-plus** | Builds a UBNI-based image with NGINX Plus, [NGINX App Protect WAF](/nginx-app-protect-waf/), and [NGINX App Protect DoS](/nginx-app-protect-dos/). | OpenShift | -{{}} - -
      {{< call-out "note" >}} For the complete list of _Makefile_ targets and customizable variables, see the [Build NGINX Ingress Controller]({{< ref "/nic/installation/build-nginx-ingress-controller.md#makefile-details" >}}) topic. {{< /call-out>}} diff --git a/content/nic/overview/design.md b/content/nic/overview/design.md index 14378f629..f481e6f21 100644 --- a/content/nic/overview/design.md +++ b/content/nic/overview/design.md @@ -52,7 +52,7 @@ The following is an architectural diagram depicting how those processes interact This table describes each connection, starting with its type: -{{< bootstrap-table "table table-bordered table-striped table-responsive" >}} +{{< table >}} | # | Protocols | Description | | --- | --- | --- | |1|HTTP| _Prometheus_ fetches NGINX Ingress Controller and NGINX metrics with an NGINX Ingress Controller HTTP endpoint (Default `:9113/metrics`). **Note**: *Prometheus* is not required and the endpoint can be turned off. | @@ -76,7 +76,7 @@ This table describes each connection, starting with its type: |19|HTTP,HTTPS,TCP,UDP| A _client_ sends traffic to and receives traffic from any of the _NGINX workers_ on ports 80 and 443 and any additional ports exposed by the [GlobalConfiguration resource]({{< ref "/nic//configuration/global-configuration/globalconfiguration-resource.md" >}}). |20|HTTP,HTTPS,TCP,UDP| An _NGINX worker_ sends traffic to and receives traffic from the _backends_. |21|HTTP| _Admin_ can connect to the [NGINX stub_status](http://nginx.org/en/docs/http/ngx_http_stub_status_module.html#stub_status) using port 8080 via an _NGINX worker_. By default, NGINX only allows connections from `localhost`. -{{% /bootstrap-table %}} +{{< /table >}} ### Differences with NGINX Plus diff --git a/content/nic/technical-specifications.md b/content/nic/technical-specifications.md index b493ac7e3..869a87b3c 100644 --- a/content/nic/technical-specifications.md +++ b/content/nic/technical-specifications.md @@ -9,14 +9,12 @@ nd-docs: DOCS-617 This page describes technical specifications for F5 NGINX Ingress Controller, such as its version compatibility with Kubernetes and other NGINX software. ---- - ## Supported NGINX Ingress Controller versions We recommend using the latest release of NGINX Ingress Controller. We provide software updates for the most recent release. We provide technical support for F5 customers who are using the most recent version of NGINX Ingress Controller, and any version released within two years of the current release. We test NGINX Ingress Controller on a range of Kubernetes platforms for each release, and list them in the [release notes]({{< ref "/nic/releases.md" >}}). We provide technical support for NGINX Ingress Controller on any Kubernetes platform that is currently supported by its provider, and that passes the [Kubernetes conformance tests](https://www.cncf.io/certification/software-conformance/). -{{< bootstrap-table "table table-bordered table-striped table-responsive" >}} +{{< table >}} | NIC version | Kubernetes versions tested | NIC Helm Chart version | NIC Operator version | NGINX / NGINX Plus version | End of Technical Support | | --- | --- | --- | --- | --- | --- | | {{< nic-version >}} | 1.25 - 1.33 | {{< nic-helm-version >}} | {{< nic-operator-version >}} | 1.29.1 / R35 | - | @@ -28,9 +26,7 @@ We test NGINX Ingress Controller on a range of Kubernetes platforms for each rel | 3.4.3 | 1.23 - 1.29 | 1.1.3 | 2.1.2 | 1.25.4 / R31 P1 | Feb 19, 2026 | | 3.3.2 | 1.22 - 1.28 | 1.0.2 | 2.0.2 | 1.25.3 / R30 | Nov 1, 2025 | | 3.2.1 | 1.22 - 1.27 | 0.18.1 | 1.5.1 | 1.25.2 / R30 | Aug 18, 2025 | -{{% /bootstrap-table %}} - ---- +{{< /table >}} ## Supported Docker images @@ -44,13 +40,11 @@ From release `v5.1.0` onwards, NGINX Ingress Controller will no longer provide b _All images include NGINX 1.29.1._ -{{< bootstrap-table "table table-bordered table-responsive" >}} |
      Name
      |
      Base image
      | DockerHub image | Architectures | | ---| --- | --- | --- | |Alpine-based image | ``nginx:1.29.1-alpine``,
      based on on ``alpine:3.22`` | ``nginx/nginx-ingress:{{< nic-version >}}-alpine`` | arm64
      amd64 | |Debian-based image | ``nginx:1.29.1``,
      based on on ``debian:12-slim`` | ``nginx/nginx-ingress:{{< nic-version >}}`` | arm64
      amd64 | |Ubi-based image | ``redhat/ubi9-minimal`` | ``nginx/nginx-ingress:{{< nic-version >}}-ubi`` | arm64
      amd64 | -{{% /bootstrap-table %}} --- @@ -64,7 +58,7 @@ _NGINX Plus images include NGINX Plus R35_ NGINX Plus images are available through the F5 Container registry `private-registry.nginx.com`, explained in the [Download NGINX Ingress Controller from the F5 Registry]({{< ref "/nic/installation/nic-images/registry-download.md" >}}) and [Add an NGINX Ingress Controller image to your cluster]({{< ref "/nic/installation/nic-images/add-image-to-cluster.md" >}}) topics. -{{< bootstrap-table "table table-striped table-bordered table-responsive" >}} +{{< table >}} |
      Name
      |
      Base image
      |
      Additional modules
      | F5 Container Registry Image | Architectures | | ---| ---| --- | --- | --- | |Alpine-based image | ``alpine:3.22`` | NJS (NGINX JavaScript)
      OpenTelemetry | `nginx-ic/nginx-plus-ingress:{{< nic-version >}}-alpine` | arm64
      amd64 | @@ -81,9 +75,7 @@ NGINX Plus images are available through the F5 Container registry `private-regis |Ubi-based image with NGINX App Protect WAF v5 | ``redhat/ubi9`` | NGINX App Protect WAF v5
      NJS (NGINX JavaScript)
      OpenTelemetry | `nginx-ic-nap-v5/nginx-plus-ingress:{{< nic-version >}}-ubi` | amd64 | |Ubi-based image with NGINX App Protect DoS | ``redhat/ubi8`` | NGINX App Protect DoS
      NJS (NGINX JavaScript)
      OpenTelemetry | `nginx-ic-dos/nginx-plus-ingress:{{< nic-version >}}-ubi` | amd64 | |Ubi-based image with NGINX App Protect WAF and DoS | ``redhat/ubi8`` | NGINX App Protect WAF and DoS
      NJS (NGINX JavaScript)
      OpenTelemetry | `nginx-ic-nap-dos/nginx-plus-ingress:{{< nic-version >}}-ubi` | amd64 | -{{% /bootstrap-table %}} - ---- +{{< /table >}} ### Custom images @@ -92,8 +84,6 @@ You can customize an existing Dockerfile or use it as a reference to create a ne - Choosing a different base image. - Installing additional NGINX modules. ---- - ## Supported Helm versions NGINX Ingress Controller can be [installed]({{< ref "/nic/installation/installing-nic/installation-with-helm.md" >}}) using Helm 3.0 or later. diff --git a/content/nim/_index.md b/content/nim/_index.md index c46d14a2e..9bf0baf8e 100644 --- a/content/nim/_index.md +++ b/content/nim/_index.md @@ -21,9 +21,8 @@ NGINX Instance Manager is part of NGINX One, which includes [NGINX One component [//]: # "One card will take full width page: two will take half width each. Three will stack like an inverse pyramid." [//]: # "Some examples of content could be the latest release note, the most common install path, and a popular new feature." -{{}} - {{}} - {{}} +{{}} + {{}} Run NGINX Instance Manager in air-gapped or offline systems {{}} {{}} @@ -31,44 +30,37 @@ NGINX Instance Manager is part of NGINX One, which includes [NGINX One component {{}} {{}} Stage, version, and publish configs. Use templates to stay consistent. - {{}} - {{}} -{{}} - + {{}} +{{}} ### Set up and configure NGINX Instance Manager -{{}} - {{}} - {{}} +{{}} + {{}} Add licenses, set up user access and roles, and back up your NGINX Instance Manager deployment. {{}} {{}} Set platform behavior, enable high availability, and secure traffic. Use Vault and ClickHouse if needed. - {{}} - {{}} -{{}} + {{}} +{{}} ### Monitor and secure your environment -{{}} - {{}} - {{}} +{{}} + {{}} Track performance, system health, and changes using built-in metrics, logs, and the REST API. {{}} {{}} Apply WAF policies and monitor activity from a centralized view. - {{}} - {{}} -{{}} + {{}} +{{}} ### More information -{{}} - {{}} - {{}} +{{}} + {{}} Install NGINX Instance Manager using Docker, Kubernetes, or traditional infrastructure with internet access. {{}} {{}} @@ -76,17 +68,15 @@ NGINX Instance Manager is part of NGINX One, which includes [NGINX One component {{}} {{}} Get details on new features, bug fixes, and known issues. - {{}} - {{}} -{{}} + {{}} +{{}} ## NGINX One components [//]: # "You can add any extra content for the page here, such as additional cards, diagrams or text." -{{}} - {{< card-section title="Kubernetes Solutions">}} - {{< card title="NGINX Ingress Controller" titleUrl="/nginx-ingress-controller/" brandIcon="NGINX-Ingress-Controller-product-icon.png">}} +{{< card-section title="Kubernetes Solutions">}} + {{< card title="NGINX Ingress Controller" titleUrl="/nginx-ingress-controller/" brandIcon="NGINX-Ingress-Controller-product-icon.png">}} Kubernetes traffic management with API gateway, identity, and observability features. {{}} {{< card title="NGINX Gateway Fabric" titleUrl="/nginx-gateway-fabric/" brandIcon="NGINX-product-icon.png">}} @@ -112,6 +102,5 @@ NGINX Instance Manager is part of NGINX One, which includes [NGINX One component {{}} {{< card title="NGINX App Protect DoS" titleUrl="/nginx-app-protect-dos" brandIcon="NGINX-App-Protect-DoS-product-icon.png">}} Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs. - {{}} - {{}} -{{}} + {{}} +{{}} diff --git a/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md b/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md index ee49bb8ba..2936ccce1 100644 --- a/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md +++ b/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md @@ -31,9 +31,9 @@ Before you begin, make sure you have the following: - A JSON Web Token (JWT) from your [MyF5 subscriptions page](https://my.f5.com/manage/s/subscriptions). This is the same token used for NGINX Plus. - The right `docker-compose.yaml` file for your setup: - For **standard mode** (with metrics and dashboards): - {{}} {{}} + {{}} {{}} - For **lightweight mode** (no ClickHouse, no metrics): - {{}} {{}} + {{}} {{}} {{< call-out "note" >}} If you're not sure which one to use, start with lightweight mode. You can always switch later by changing the Compose file and setting `ENABLE_METRICS: "true"`.{{< /call-out >}} @@ -337,4 +337,4 @@ Run the backup command to capture the current state: docker exec nim-nim-1 nim-backup ``` -This creates a `.tgz` file inside the container under `/data/backup/`, which you can extract as described in the [Backup](#backup) section. \ No newline at end of file +This creates a `.tgz` file inside the container under `/data/backup/`, which you can extract as described in the [Backup](#backup) section. diff --git a/content/nim/deploy/infrastructure-as-code/build-and-deploy.md b/content/nim/deploy/infrastructure-as-code/build-and-deploy.md index f54fc9dbd..aed40e279 100644 --- a/content/nim/deploy/infrastructure-as-code/build-and-deploy.md +++ b/content/nim/deploy/infrastructure-as-code/build-and-deploy.md @@ -18,7 +18,7 @@ The deployment process has two stages: - Generate an image using Packer. - Deploy the image using Terraform. -{{< call-out "tip" "Open-Source Project on GitHub" "fa-brands fa-github" >}} +{{< call-out "tip" "Open-Source Project on GitHub" >}} The steps in this guide refer to the [NGINX Instance Manager Infrastructure as Code (IAC)](https://github.com/nginxinc/nginx-management-suite-iac) project on GitHub. {{< /call-out >}} diff --git a/content/nim/deploy/infrastructure-as-code/configuration.md b/content/nim/deploy/infrastructure-as-code/configuration.md index aa3904862..825aaaf51 100644 --- a/content/nim/deploy/infrastructure-as-code/configuration.md +++ b/content/nim/deploy/infrastructure-as-code/configuration.md @@ -15,7 +15,7 @@ This guide explains how to install F5 NGINX Instance Manager using the open-sour With Ansible, you can automate and replicate your installation across multiple environments. -{{< call-out "tip" "Open-Source Project on GitHub" "fa-brands fa-github" >}} +{{< call-out "tip" "Open-Source Project on GitHub" >}} The steps in this guide refer to the [Ansible NGINX Instance Manager Role](https://github.com/nginxinc/ansible-role-nginx-management-suite) project on GitHub. {{< /call-out >}} diff --git a/content/nim/deploy/vm-bare-metal/install.md b/content/nim/deploy/vm-bare-metal/install.md index bd104a3ac..f06b29897 100644 --- a/content/nim/deploy/vm-bare-metal/install.md +++ b/content/nim/deploy/vm-bare-metal/install.md @@ -30,7 +30,7 @@ Follow these steps to prepare for installing NGINX Instance Manager: - **Download the installation script**: - {{}} {{}} + {{}} {{}} - **Download the certificate and private key** (see the steps [below](#download-cert-key)): Use the certificate and private key for NGINX Instance Manager (the same files used for NGINX Plus). @@ -91,7 +91,7 @@ Download the certificate and private key required for NGINX Instance Manager. Th If you haven’t already downloaded the script, you can download it here: -{{}} {{}} +{{}} {{}} ### Prepare your system for installation diff --git a/content/nim/disconnected/add-license-disconnected-deployment.md b/content/nim/disconnected/add-license-disconnected-deployment.md index aafe430fe..b28c5d274 100644 --- a/content/nim/disconnected/add-license-disconnected-deployment.md +++ b/content/nim/disconnected/add-license-disconnected-deployment.md @@ -51,7 +51,7 @@ To add a license and submit the initial usage report in a disconnected environme
      -1. {{}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). +1. {{}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). 1. Run the following command to allow the script to run: ```bash @@ -65,7 +65,7 @@ To add a license and submit the initial usage report in a disconnected environme -j .jwt \ -i \ -u admin \ - -p \ + -p \ -s initial ``` @@ -235,7 +235,3 @@ To upload the the usage acknowledgement: {{}} - - - - diff --git a/content/nim/disconnected/offline-install-guide-manual.md b/content/nim/disconnected/offline-install-guide-manual.md index 7a2ec2f1b..ce3647e35 100644 --- a/content/nim/disconnected/offline-install-guide-manual.md +++ b/content/nim/disconnected/offline-install-guide-manual.md @@ -35,7 +35,7 @@ To complete the steps in this guide, you need to download the NGINX Instance Man Local dependencies are common Linux packages like `curl` or `openssl`, which most Linux distributions include by default. When installing NGINX Instance Manager, your package manager will automatically install these dependencies. Without internet access, ensure your package manager can use a local package repository, such as a distribution DVD/ISO image or internal network mirror. Check your Linux distribution's documentation for details. -{{< call-out "note" "RedHat on AWS" "fa-brands fa-aws" >}}If you're using AWS and can't attach remote or local RedHat package repositories, download the necessary packages on another RedHat machine and copy them to your target machine. Use the `yumdownloader` utility for this task: +{{< call-out "note" "RedHat on AWS" >}}If you're using AWS and can't attach remote or local RedHat package repositories, download the necessary packages on another RedHat machine and copy them to your target machine. Use the `yumdownloader` utility for this task: . {{}} @@ -47,7 +47,7 @@ To download external dependencies: 1. Download the `fetch-external-dependencies.sh` script: - {{}} {{}} + {{}} {{}} 2. Run the script to download the external dependencies for your specific Linux distribution: @@ -202,4 +202,4 @@ sudo systemctl restart nms-dpm ## Next steps -- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) \ No newline at end of file +- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) diff --git a/content/nim/disconnected/offline-install-guide.md b/content/nim/disconnected/offline-install-guide.md index 86d44527f..613b9003f 100644 --- a/content/nim/disconnected/offline-install-guide.md +++ b/content/nim/disconnected/offline-install-guide.md @@ -62,7 +62,7 @@ Download the SSL certificate and private key required for NGINX Instance Manager ### Download the installation script -{{}} {{}} +{{}} {{}} ## Package NGINX Instance Manager and dependencies for offline installation diff --git a/content/nim/disconnected/report-usage-disconnected-deployment.md b/content/nim/disconnected/report-usage-disconnected-deployment.md index 15b6b7eac..96ac83234 100644 --- a/content/nim/disconnected/report-usage-disconnected-deployment.md +++ b/content/nim/disconnected/report-usage-disconnected-deployment.md @@ -47,7 +47,7 @@ To submit a usage report in a disconnected environment, use the provided `licens
      -1. {{}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). +1. {{}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). 1. Run the following command to allow the script to run: ```bash diff --git a/content/nim/nginx-app-protect/security-monitoring/give-access-to-security-monitoring-dashboards.md b/content/nim/nginx-app-protect/security-monitoring/give-access-to-security-monitoring-dashboards.md index eb25d967a..1804e974b 100644 --- a/content/nim/nginx-app-protect/security-monitoring/give-access-to-security-monitoring-dashboards.md +++ b/content/nim/nginx-app-protect/security-monitoring/give-access-to-security-monitoring-dashboards.md @@ -36,7 +36,7 @@ Make sure you complete these steps: | Module(s) | Feature(s) | Access | Description | |-----------------------------------|-----------------------|----------------------------|----------------------------------------------------------------------------------------------------------| | Instance Manager
      Security Monitoring | Analytics
      Security Monitoring | `READ`
      `READ` | Gives read-only access to Security Monitoring dashboards. Users cannot access NGINX Instance Manager or Settings. | - | Instance Manager
      Security Monitoring
      Settings | Analytics
      Security Monitoring
      User Management | `READ`
      `READ`
      `CREATE`, `READ`, `UPDATE` | Lets users view dashboards and manage accounts and roles.

      {{< fa "lightbulb" >}} Best for "super-users" who manage dashboard access. Does not allow deleting accounts. | + | Instance Manager
      Security Monitoring
      Settings | Analytics
      Security Monitoring
      User Management | `READ`
      `READ`
      `CREATE`, `READ`, `UPDATE` | Lets users view dashboards and manage accounts and roles.

      {{< icon "lightbulb" >}} Best for "super-users" who manage dashboard access. Does not allow deleting accounts. | {{}} @@ -62,4 +62,4 @@ Assign the Security Monitoring role to users or groups. ### Assign the role to user groups -{{< include "nim/rbac/assign-roles-to-user-groups.md" >}} \ No newline at end of file +{{< include "nim/rbac/assign-roles-to-user-groups.md" >}} diff --git a/content/nim/releases/known-issues.md b/content/nim/releases/known-issues.md index 200e0ee8a..498b1e39e 100644 --- a/content/nim/releases/known-issues.md +++ b/content/nim/releases/known-issues.md @@ -6,7 +6,6 @@ toc: true weight: 200 --- -{{}} This document lists and describes the known issues and possible workarounds in F5 NGINX Instance Manager. We also list the issues resolved in the latest releases. {{< call-out "tip" >}}We recommend you upgrade to the latest version of NGINX Instance Manager to take advantage of new features, improvements, and bug fixes.{{< /call-out >}} diff --git a/content/nim/system-configuration/configure-forward-proxy.md b/content/nim/system-configuration/configure-forward-proxy.md index f45e47e06..54145a071 100644 --- a/content/nim/system-configuration/configure-forward-proxy.md +++ b/content/nim/system-configuration/configure-forward-proxy.md @@ -127,7 +127,7 @@ kubectl edit cm nms-conf -n If you’re deploying NGINX Instance Manager with Docker Compose, update the `docker-compose.yaml` file to configure a forward proxy. 1. **Before you begin**: Follow the [Docker Compose deployment guide]({{< ref "nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md" >}}) to set up Docker for the NGINX container registry. The deployment guide also covers additional environment variables you may want to consider before deployment. -2. {{}} {{}} +2. {{}} {{}} 3. Update `docker-compose.yaml` with the proxy settings: Modify the `services.nim.environment` section to include the proxy configuration: diff --git a/content/nim/system-configuration/secure-traffic.md b/content/nim/system-configuration/secure-traffic.md index 7dc46513a..4dbfd64e4 100644 --- a/content/nim/system-configuration/secure-traffic.md +++ b/content/nim/system-configuration/secure-traffic.md @@ -194,7 +194,7 @@ To generate the necessary certificates, follow these steps. You can modify these
      ca.cnf - {{}} {{}} + {{}} {{}} ``` yaml [req] diff --git a/content/nms/_index.md b/content/nms/_index.md index 0cad5efb2..8e28584da 100644 --- a/content/nms/_index.md +++ b/content/nms/_index.md @@ -1,10 +1,12 @@ --- title: F5 NGINX Management Suite -description: A set of tools that enable enterprise scalability, security, observability, and governance. +nd-subtitle: A set of tools that enable enterprise scalability, security, observability, and governance. url: /nginx-management-suite/ -layout: "nms-eos-list" cascade: logo: "NGINX-Management-Suite-product-icon.svg" noindex: true + nd-banner: + enabled: true + type: deprecation + md: _banners/eos-nms.md --- - diff --git a/content/nms/acm/getting-started/add-api-gateway.md b/content/nms/acm/getting-started/add-api-gateway.md index d04a0aec8..0af2db5d9 100644 --- a/content/nms/acm/getting-started/add-api-gateway.md +++ b/content/nms/acm/getting-started/add-api-gateway.md @@ -56,7 +56,7 @@ Use the appropriate example below to deploy an API Gateway with either HTTP, HTT ### HTTP -> {{< fa "lightbulb" >}} Use this example to get up and running quickly in a demo environment. +> {{< icon "lightbulb" >}} Use this example to get up and running quickly in a demo environment. {{}} @@ -91,7 +91,7 @@ Use the appropriate example below to deploy an API Gateway with either HTTP, HTT To deploy a cluster that uses HTTPS for secure inbound communication, you'll add the **TLS Inbound** policy. Because this is done at the Infrastructure level, this is considered a "Global Policy". -> {{< fa "lightbulb" >}} You need to provide a valid TLS server certificate and key in this API call. +> {{< icon "lightbulb" >}} You need to provide a valid TLS server certificate and key in this API call. {{}} Need to add requirements for sending this info? Base64 encoding required? @@ -140,7 +140,7 @@ Need to add requirements for sending this info? Base64 encoding required? To deploy a cluster that uses HTTP2 for secure inbound communication, you'll add the **TLS Inbound** policy. Because this is done at the Infrastructure level, this is considered a "Global Policy". -> {{< fa "lightbulb" >}} You need to provide a valid TLS server certificate and key in this API call. +> {{< icon "lightbulb" >}} You need to provide a valid TLS server certificate and key in this API call. {{}} @@ -224,4 +224,3 @@ Try sending traffic to the hostname you configured for the API Gateway. Send a P | GET | `/infrastructure/workspaces/{{infraWorkspaceName}}/environments/{{environmentName}}?includes=instances&includes=status`| {{}} - diff --git a/content/nms/acm/getting-started/add-devportal.md b/content/nms/acm/getting-started/add-devportal.md index 3b62ac591..78ffac5ae 100644 --- a/content/nms/acm/getting-started/add-devportal.md +++ b/content/nms/acm/getting-started/add-devportal.md @@ -41,7 +41,7 @@ Use the appropriate example below to deploy an HTTP or HTTPS Developer Portal. ### HTTP -> {{< fa "lightbulb" >}} Use this example to get up and running quickly in a demo environment. +> {{< icon "lightbulb" >}} Use this example to get up and running quickly in a demo environment. {{}} @@ -76,7 +76,7 @@ Use the appropriate example below to deploy an HTTP or HTTPS Developer Portal. To deploy a cluster that uses HTTPS for secure inbound communication, you'll add the **TLS Inbound** policy. Because this is done at the Infrastructure level, this is considered a "Global Policy". -> {{< fa "lightbulb" >}} You need to provide your TLS server certificate and key as base64-encoded strings in this API call. +> {{< icon "lightbulb" >}} You need to provide your TLS server certificate and key as base64-encoded strings in this API call. {{}} @@ -146,7 +146,7 @@ SSH access to the host and `sudo` permissions are required. The NGINX Management Suite management plane host uses the Developer Portal's hostname to communicate with the Dev Portal. You’ll need to update your DNS resolver settings with the Developer Portal's internal hostname. -> {{< fa "lightbulb" >}} The internal hostname is the hostname that you provided for the Developer Portal, prefixed with `acm.`. +> {{< icon "lightbulb" >}} The internal hostname is the hostname that you provided for the Developer Portal, prefixed with `acm.`. > For example: `acm.dev-portal.io` Next, open the Developer Portal in a browser window and make sure the portal loads. @@ -170,7 +170,7 @@ Because these settings are applied at the Infrastructure level, they are conside Note that many fields in the example JSON payload -- including the logo image and Markdown documents -- are base64-encoded. -**Example JSON payload**: {{< fa "download" >}} {{< link "/acm/customize-devportal.json" "customize-devportal.json" >}} +**Example JSON payload**: {{< icon "download" >}} {{< link "/acm/customize-devportal.json" "customize-devportal.json" >}} Before you move on to the next guide, open the Dev Portal in your browser to view the changes. You should see the default Dev Portal replaced by the custom settings. diff --git a/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md b/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md index aa238cb09..e07efbe23 100644 --- a/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md +++ b/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md @@ -115,7 +115,7 @@ Create a Dockerfile similar to the following example:
      Example Dockerfile - {{< fa "download" >}} {{< link "/acm/containers/devportal/Dockerfile" "Download example Dockerfile" >}} + {{< icon "download" >}} {{< link "/acm/containers/devportal/Dockerfile" "Download example Dockerfile" >}} ```Dockerfile FROM ubuntu:focal @@ -193,7 +193,7 @@ Create a Dockerfile similar to the following example:
      Example entrypoint.sh - {{< fa "download" >}} {{< link "/acm/containers/devportal/entrypoint.sh" "Download example entrypoint.sh file" >}} + {{< icon "download" >}} {{< link "/acm/containers/devportal/entrypoint.sh" "Download example entrypoint.sh file" >}} ```bash #!/bin/bash @@ -451,4 +451,3 @@ This configuration is recommended for proof of concept installations and not for ### Deploy Developer Portal using TLS for the backend API service {{< include "installation/helm/acm/dev-portal-helm-configurations/configure-devportal-helm-api-mtls.md" >}} - diff --git a/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md b/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md index 1573dfb7f..da52cc892 100644 --- a/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md +++ b/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md @@ -34,7 +34,7 @@ To install NGINX Plus and njs, take the following steps on the Developer Portal 3. Select the following link to download the `fetch-external-acm-dataplane-dependencies.sh` script. This script downloads the necessary NGINX Plus and njs packages to a `tar.gz` archive. - {{}} {{}} + {{}} {{}} 4. To download the NGINX Plus and njs dependencies, run the `fetch-external-acm-dataplane-dependencies.sh` script. As parameters, specify your Linux distribution and the location of your `nginx-repo.crt` and `nginx-repo.key` files. diff --git a/content/nms/acm/how-to/infrastructure/customize-devportal.md b/content/nms/acm/how-to/infrastructure/customize-devportal.md index 4dd779edd..3a64e7aca 100644 --- a/content/nms/acm/how-to/infrastructure/customize-devportal.md +++ b/content/nms/acm/how-to/infrastructure/customize-devportal.md @@ -162,7 +162,7 @@ To edit the **Get Started** steps: 1. Enter your desired **Title** (required), **Description** (required), icon, and **Alt Text** for each of the four steps. 1. Select **Save Changes**. -> {{< fa "fa-solid fa-lightbulb" >}} At this point, we recommend selecting **Save and Publish** to save any customizations you've made. +> {{< icon "fa-solid fa-lightbulb" >}} At this point, we recommend selecting **Save and Publish** to save any customizations you've made. > Verify that the changes have been applied, then move on to adding your [**Documentation**](#add-documentation). ### Documentation {#add-documentation} diff --git a/content/nms/acm/how-to/infrastructure/manage-api-infrastructure.md b/content/nms/acm/how-to/infrastructure/manage-api-infrastructure.md index 5c6ff0361..2671eb7e2 100644 --- a/content/nms/acm/how-to/infrastructure/manage-api-infrastructure.md +++ b/content/nms/acm/how-to/infrastructure/manage-api-infrastructure.md @@ -184,11 +184,10 @@ Take the steps below to add an NGINX instance to an API Gateway. {{}} -> {{< fa "fa-solid fa-circle-question" >}} **Lost your install command?** +> {{< icon "fa-solid fa-circle-question" >}} **Lost your install command?** > > Don't worry! You can take the steps below to recover it: > > 1. In the API Connectivity Manager user interface, go to **Infrastructure > Environments > \**. > 1. Click anywhere in the row of the Cluster that you want to add an instance to. > 1. The **Onboarding Commands** will be shown in the cluster details drawer. - diff --git a/content/nms/acm/how-to/install-acm-offline.md b/content/nms/acm/how-to/install-acm-offline.md index 27225fdb6..41b90087b 100644 --- a/content/nms/acm/how-to/install-acm-offline.md +++ b/content/nms/acm/how-to/install-acm-offline.md @@ -152,7 +152,7 @@ The API Connectivity Manager data plane requires [NGINX Plus R24](https://docs.n 3. Select the following link to download the `fetch-external-acm-dataplane-dependencies.sh` script. This script downloads the necessary NGINX Plus and njs packages to a `tar.gz` archive. - {{}} {{}} + {{}} {{}} 4. To download the NGINX Plus and njs dependencies, run the `fetch-external-acm-dataplane-dependencies.sh` script. As parameters, specify your Linux distribution and the location of your `nginx-repo.crt` and `nginx-repo.key` files. diff --git a/content/nms/acm/releases/known-issues.md b/content/nms/acm/releases/known-issues.md index 37bd3ebb8..6730f887e 100644 --- a/content/nms/acm/releases/known-issues.md +++ b/content/nms/acm/releases/known-issues.md @@ -11,8 +11,6 @@ type: - reference --- -{{}} - --- diff --git a/content/nms/acm/releases/release-notes.md b/content/nms/acm/releases/release-notes.md index 24e28ecfd..cae372091 100644 --- a/content/nms/acm/releases/release-notes.md +++ b/content/nms/acm/releases/release-notes.md @@ -7,8 +7,6 @@ toc: true weight: 100 --- -{{}} - --- ## 1.9.3 diff --git a/content/ossc.md b/content/ossc.md index 85b433ed6..0a20c3ae0 100644 --- a/content/ossc.md +++ b/content/ossc.md @@ -3,8 +3,6 @@ nd-docs: DOCS-1343 title: Open Source Components --- -{{}} - The F5 NGINX Docs website is made possible thanks to many contributors, which also includes the tools used to build it. We would like to draw attention to the maintainers of the following libraries, which are used to create the NGINX Docs: --- @@ -35,30 +33,28 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      -## [Bootstrap](https://github.com/twbs/bootstrap) +## [Lucide](https://lucide.dev/) -Copyright © 2011-2023 The Bootstrap Authors +Copyright © 2025 Lucide Contributors +Copyright (c) 2013-2023 Cole Bemis
      - The MIT License (MIT) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + ISC License (ISC) -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -
      +Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025. -## [Font Awesome Free](https://fontawesome.com/license/free) +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -- Icons - [CC BY 4.0 License](https://creativecommons.org/licenses/by/4.0/) - In the Font Awesome Free download, the CC BY 4.0 license applies to all icons packaged as .svg and .js files types. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- Fonts - [SIL OFL 1.1 License](https://opensource.org/license/ofl-1-1/) - In the Font Awesome Free download, the SIL OFL license applies to all icons packaged as web and desktop font files. +
      -- Code - [MIT License](https://mit-license.org/) - In the Font Awesome Free download, the MIT license applies to all non-font and non-icon files. +
      + The MIT License (MIT) ---- +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -License information for open source components included in the [NGINX Plus]({{< ref "/nginx/" >}}) software: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -- [NGINX Plus Open Source Components]({{< ref "/nginx/open-source-components.md" >}}) +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +
      \ No newline at end of file diff --git a/content/unit/_index.md b/content/unit/_index.md index 2065ff8f9..99b1f115c 100644 --- a/content/unit/_index.md +++ b/content/unit/_index.md @@ -15,31 +15,25 @@ NGINX Unit is a lightweight and versatile application runtime that provides the ## Featured content -{{}} - {{}} - {{}} - Learn about the key features of NGINX Unit, including its support for multiple languages, security, performance, and more - {{}} - {{}} - Get started with NGINX Unit by installing it on your system. Find instructions for various platforms and package managers - {{}} - {{}} - Learn how to configure NGINX Unit for your applications - {{}} - {{}} -{{}} +{{}} + {{}} + Learn about the key features of NGINX Unit, including its support for multiple languages, security, performance, and more + {{}} + {{}} + Get started with NGINX Unit by installing it on your system. Find instructions for various platforms and package managers + {{}} + {{}} + Learn how to configure NGINX Unit for your applications + {{}} +{{}} ## Other resources -{{}} - {{}} - - {{}} - Learn how to resolve various real-life situations and issues that you may experience with Unit - {{}} - {{}} - See the latest changes and updates in NGINX Unit, including new features, bug fixes, and improvements - {{}} - - {{}} -{{}} \ No newline at end of file +{{}} + {{}} + Learn how to resolve various real-life situations and issues that you may experience with Unit + {{}} + {{}} + See the latest changes and updates in NGINX Unit, including new features, bug fixes, and improvements + {{}} +{{}} \ No newline at end of file diff --git a/data/product-selector.yaml b/data/product-selector.yaml new file mode 100644 index 000000000..f2bbf5310 --- /dev/null +++ b/data/product-selector.yaml @@ -0,0 +1,29 @@ +- productGroup: NGINX One + products: + - title: "NGINX One Console" + url: "nginx-one" + - title: "NGINX Plus" + url: "nginx" + - title: "NGINX Instance Manager" + url: "nginx-instance-manager" + - title: "NGINX Ingress Controller" + url: "nginx-ingress-controller" + - title: "NGINX Gateway Fabric" + url: "nginx-gateway-fabric" + - title: "NGINX Open Source" + url: "https://nginx.org/en/docs/" + extUrl: true + - title: "NGINX Agent" + url: "nginx-agent" + +- productGroup: NGINX App Protect + products: + - title: "NGINX App Protect WAF" + url: "nginx-app-protect-waf" + - title: "NGINX App Protect DoS" + url: "nginx-app-protect-dos" + +- productGroup: NGINX as a Service + products: + - title: "NGINX as a Service for Azure" + url: "nginxaas/azure/" diff --git a/documentation/nginx-org-source.md b/documentation/nginx-org-source.md new file mode 100644 index 000000000..e7e9bbd28 --- /dev/null +++ b/documentation/nginx-org-source.md @@ -0,0 +1,45 @@ +# nginx.org content + +This document describes the process by which https://github.com/nginx/nginx.org are ingested by the `nginx/documentation` repository, and rendered as markdown. + +## Source of truth +The https://github.com/nginx/nginx.org repository remains the source of truth for a subset of content in `/content/nginx`. Primarily, this includes is the `module reference`, and the https://github.com/nginx/nginx.org/blob/main/yaml/nginx_api.yaml. + +Any modifications to these autogenerated files will be blocked during the pull request process. +If modifications are required, they will be made in the source xml in https://github.com/nginx/nginx.org repository. + +All files that are autogenerated from this source, will have the warning: + +```md +******************************************************************************** +🛑 WARNING: AUTOGENERATED FILE - DO NOT EDIT 🛑 This Markdown file was +automatically generated from the source XML documentation. Any manual +changes made directly to this file will be overwritten. To request or +suggest changes, please edit the source XML files instead. +https://github.com/nginx/nginx.org/tree/main/xml/en +******************************************************************************** +``` + +## Markdown generation flow + +A GitHub Action running as a cron job in the `nginx/documentation` repository detects changes in the documentation within `nginx/nginx.org`, generates new markdown files when changes are found, and creates a PR with these changes. + +Only PRs generated by this GitHub Action can be merged. + +The markdown files are generated using a markdown-specific XSLT file, which targets only the XML sources intended for inclusion in the nginx/documentation repository. + +```mermaid +flowchart TD + Start([Cron Job Triggered]) --> CheckChanges{Changes detected in 'en' docs of nginx/nginx.org?} + CheckChanges -- Yes --> CloneRepo[Clone nginx/nginx.org repository] + CloneRepo --> RunMake["Execute make target: 'make hugo-md'"] + RunMake --> MoveFiles["Move generated markdown files to '/content/nginx' directory"] + MoveFiles --> OpenPR["Create PR in nginx/documentation repository"] + OpenPR --> Finish([End]) + + CheckChanges -- No --> FinishNoAction([End - No updates detected]) + + style Finish stroke:#27ae60,stroke-width:2px + style OpenPR stroke:#2980b9,stroke-width:2px + style CheckChanges stroke:#7f8c8d,stroke-width:2px +``` diff --git a/layouts/_default/nms-eos-list.html b/layouts/_default/nms-eos-list.html deleted file mode 100644 index e0f713e70..000000000 --- a/layouts/_default/nms-eos-list.html +++ /dev/null @@ -1,10 +0,0 @@ -{{ define "main" }} -
      - -
      - {{ partial "acm-eos/list-landing.html" . }} -
      -
      -{{ end }} diff --git a/layouts/catalogs/single.html b/layouts/catalogs/single.html index ca27eff9f..b1fb68f10 100644 --- a/layouts/catalogs/single.html +++ b/layouts/catalogs/single.html @@ -1,10 +1,7 @@ {{ define "main" }}
      - - + {{ .Content }} @@ -14,4 +11,3 @@ {{end }} {{ end }} - diff --git a/layouts/index.html b/layouts/index.html index 82f77f04d..303e1dfad 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -1,420 +1,3 @@ {{ define "main" }} -
      -
      - -
      - {{ if eq .Title "NGINX Product Documentation" }} -

      NGINX Product Documentation

      - {{ end}} {{ if .Description }} -

      {{ .Description | markdownify }}

      - {{ end}} {{ if .Content }} -

      {{ .Content }}

      - {{ end }} -
      - -
      - -
      -
      -

      NGINX One

      -
      -
      - - - -
      -
      -

      NGINX App Protect

      -
      -
      - - - - -
      -
      -

      NGINX as a Service

      -
      -
      - - - -
      -
      -

      More NGINX Products

      -
      -
      - - -
      - -{{/* mf homepage */}} - -
      - - - - - - - - - -
      - -{{ end }} +{{ partial "homepage.html" . }} +{{end}} diff --git a/layouts/partials/acm-eos/list-landing.html b/layouts/partials/acm-eos/list-landing.html deleted file mode 100644 index 2845f62d3..000000000 --- a/layouts/partials/acm-eos/list-landing.html +++ /dev/null @@ -1,51 +0,0 @@ -
      -
      - -
      - -
      -
      -
      - {{ range .Pages.GroupBy "Section" }} - - {{ range .Pages.ByWeight }} -
      -
      -

      - - {{ .Title }} -

      - {{ if eq .Title "API Connectivity Manager" }} -

      -

      - This product is End of Sale. See our End of Sale announcement for more details. -
      -

      - {{ end }} - -
      -
      - - {{ end }} -
      -
      - {{ end }} - - -
      - -
      diff --git a/layouts/partials/acm-eos/list-main.html b/layouts/partials/acm-eos/list-main.html deleted file mode 100644 index 523a32e72..000000000 --- a/layouts/partials/acm-eos/list-main.html +++ /dev/null @@ -1,51 +0,0 @@ -
      -
      - -
      - -
      -
      -
      - {{ range .Pages.GroupBy "Section" }} - - {{ range .Pages.ByWeight }} -
      -
      -

      - - {{ .Title }} -

      - {{/*}}

      - {{ if .Description }}{{ .Description | markdownify }}{{ end }} -

      {{*/}} - -
      -
      - - {{ end }} -
      -
      - {{ end }} - - -
      - -
      \ No newline at end of file diff --git a/layouts/partials/breadcrumb.html b/layouts/partials/breadcrumb.html deleted file mode 100644 index ef7aeb391..000000000 --- a/layouts/partials/breadcrumb.html +++ /dev/null @@ -1,19 +0,0 @@ - -{{ end }} \ No newline at end of file diff --git a/layouts/partials/sidebar.html b/layouts/partials/sidebar.html deleted file mode 100644 index c37f997cd..000000000 --- a/layouts/partials/sidebar.html +++ /dev/null @@ -1,192 +0,0 @@ -{{ block "sidebar" . }} - - -{{ end }} \ No newline at end of file diff --git a/layouts/shortcodes/before-you-begin.html b/layouts/shortcodes/before-you-begin.html deleted file mode 100644 index ad41f5bba..000000000 --- a/layouts/shortcodes/before-you-begin.html +++ /dev/null @@ -1,3 +0,0 @@ -
      -
      Before you begin:
      {{ .Inner | markdownify }}
      -
      \ No newline at end of file diff --git a/layouts/shortcodes/catalogs-dimensions.html b/layouts/shortcodes/catalogs-dimensions.html index 1b38e46f4..2b88e9701 100644 --- a/layouts/shortcodes/catalogs-dimensions.html +++ b/layouts/shortcodes/catalogs-dimensions.html @@ -1,13 +1,12 @@ {{/* This shortcode **requires** that the document uses the _default/catalogs.html layout */}} -
      +

      NGINX Management Suite Dimensions Catalog

      Information about all of the Dimensions collected by NGINX Agent

        {{ range .Site.Data.nms.catalogs.dimensions }} -

      {{.name}}

      - +

      {{.name}}

      +
      @@ -19,6 +18,5 @@

      {{.name}} +

      NGINX Management Suite Events Catalog

      Information about all of the Events collected by NGINX Agent

        {{ range .Site.Data.nms.catalogs.events }}

      {{.name}} - +

      -

      description
      +
      @@ -55,6 +54,5 @@

      {{.name}}

      description
      -
      {{ end }} -
      \ No newline at end of file +
      diff --git a/layouts/shortcodes/catalogs-metrics.html b/layouts/shortcodes/catalogs-metrics.html index bf7f3353c..5d1ee4d27 100644 --- a/layouts/shortcodes/catalogs-metrics.html +++ b/layouts/shortcodes/catalogs-metrics.html @@ -1,15 +1,14 @@ {{/* This shortcode **requires** that the document uses the _default/catalogs.html layout */}} -
      +

      NGINX Management Suite Metrics Catalog

      Information about all of the Metrics collected by NGINX Agent

        {{ range .Site.Data.nms.catalogs.metrics }}

      {{.name}} - +

      - +
      @@ -55,6 +54,5 @@

      {{.name}}

      description
      -
      {{ end }} -
      \ No newline at end of file +
      diff --git a/layouts/shortcodes/openapi.html b/layouts/shortcodes/openapi.html deleted file mode 100644 index 8e6f7b5f8..000000000 --- a/layouts/shortcodes/openapi.html +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/layouts/shortcodes/rn-styles.html b/layouts/shortcodes/rn-styles.html deleted file mode 100644 index 4704d019d..000000000 --- a/layouts/shortcodes/rn-styles.html +++ /dev/null @@ -1,36 +0,0 @@ - \ No newline at end of file From 433d3975da7ffc0733f23cf46ecb5bb4b5cf5c2e Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Tue, 2 Sep 2025 09:45:08 -0700 Subject: [PATCH 491/723] Update go.mod to mainframe release (#1046) chore: Update go.mod to mainframe release --- go.mod | 2 +- go.sum | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index ba9df4724..2c30be622 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/nginxinc/docs go 1.19 -require github.com/nginxinc/nginx-hugo-theme v0.43.9 // indirect +require github.com/nginxinc/nginx-hugo-theme v1.0.0 // indirect diff --git a/go.sum b/go.sum index de2427e25..65e845dc7 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,2 @@ -github.com/nginxinc/nginx-hugo-theme v0.43.8 h1:jvYcERFVQmyetnHYozibCerdoMXfqfh1/FEcTje91VM= -github.com/nginxinc/nginx-hugo-theme v0.43.8/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= -github.com/nginxinc/nginx-hugo-theme v0.43.9 h1:+pI1GdE/TdP0ayi1e7BS+3d81lbuOzbXF2UxNLbXs5c= -github.com/nginxinc/nginx-hugo-theme v0.43.9/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= +github.com/nginxinc/nginx-hugo-theme v1.0.0 h1:ufoXHaOcFUMAl6DSFgSeU+FKM5Oz+KCgxjPNhDJywu4= +github.com/nginxinc/nginx-hugo-theme v1.0.0/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= From 41350a3e247583ff7deae63ce73dd8342663dfa7 Mon Sep 17 00:00:00 2001 From: kafeelhasan Date: Tue, 2 Sep 2025 23:05:36 +0530 Subject: [PATCH 492/723] Update NAP Doc - Configure App Protect WAF - Custom Policies (#1041) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update NAP Docs This commit updates the NAP user facing documentation with the following change: Based on this issue : https://github.com/nginxinc/nalb-shared/issues/1695, updated the Configure App Protect WAF with the following text - The File path is not optional and is automatically generated in the portal, defaulting to the path “/etc/app_protect/conf/” plus the policy Name with a “.json” extension * Removed Extra Space * Addressed PR comments --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- content/nginxaas-azure/app-protect/configure-waf.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/content/nginxaas-azure/app-protect/configure-waf.md b/content/nginxaas-azure/app-protect/configure-waf.md index 8a461317c..3a436654f 100644 --- a/content/nginxaas-azure/app-protect/configure-waf.md +++ b/content/nginxaas-azure/app-protect/configure-waf.md @@ -114,7 +114,14 @@ To create a custom security policy in the Azure Portal: 3. Select **Custom Policies** 4. Select **Add Custom Security Policy** to open the policy editor -In the policy editor, enter the **Name**, **File path**, your policy content, and then select **Save**. The **File path** is optional and will default to the path "/etc/app_protect/conf/" plus the policy **Name** with a ".json" extension. After your policy has been saved, you can then reference it in your NGINX configuration. For more information on policy configuration and syntax, refer to the NGINX App Protect [configuration guide](https://docs.nginx.com/nginx-app-protect-waf/v5/configuration-guide/configuration/). +In the policy editor: + +- Enter the **Name** (as a filename), **File path**, your policy content, and then select **Save**. + + - Be sure to append the filename with ".json". + - The **File path** is automatically generated with "/etc/app_protect/conf/" as the default policies folder. + +After your policy has been saved, you can then reference it in your NGINX configuration. For more information on policy configuration and syntax, refer to the NGINX App Protect [configuration guide](https://docs.nginx.com/nginx-app-protect-waf/v5/configuration-guide/configuration/). {{< call-out "note" >}}The **name** field within the security policy must be unique among the policies referenced in your NGINX configuration.{{< /call-out >}} @@ -128,4 +135,4 @@ It is highly recommended to use logging to monitor the performance of NGINX App ## What's next -[Enable App Protect WAF Logs]({{< ref "/nginxaas-azure/app-protect/enable-logging.md" >}}) +[Enable App Protect WAF Logs]({{< ref "/nginxaas-azure/app-protect/enable-logging.md" >}}) \ No newline at end of file From 9669b0975c3c419b6d9fefa7da32e01351766a64 Mon Sep 17 00:00:00 2001 From: oseoin Date: Tue, 2 Sep 2025 21:23:33 +0100 Subject: [PATCH 493/723] fix: NIC Helm install: add spacing to prevent overflow (#1047) fix: add spacing to prevent overflow --- .../nic/installation/installing-nic/installation-with-helm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nic/installation/installing-nic/installation-with-helm.md b/content/nic/installation/installing-nic/installation-with-helm.md index 0251b146c..3bdab4f57 100644 --- a/content/nic/installation/installing-nic/installation-with-helm.md +++ b/content/nic/installation/installing-nic/installation-with-helm.md @@ -110,7 +110,7 @@ When installing the NGINX Ingress Controller chart, Helm will also install the r If the CRDs are not installed, NGINX Ingress Controller pods will not become _Ready_. -If you do not use the custom resources that require those CRDs (With `controller.enableCustomResources`,`controller.appprotect.enable` and `controller.appprotectdos.enable` set to `false`), the installation of the CRDs can be skipped by specifying `--skip-crds` in your _helm install_ command. +If you do not use the custom resources that require those CRDs (With `controller.enableCustomResources`, `controller.appprotect.enable` and `controller.appprotectdos.enable` set to `false`), the installation of the CRDs can be skipped by specifying `--skip-crds` in your _helm install_ command. {{< call-out "caution" "Running multiple NGINX Ingress Controller instances">}} From 177766bda98ee8b64c40ca1fe8a23fc813e7b74b Mon Sep 17 00:00:00 2001 From: Samuel Yew Han Sen <135582318+cs168898@users.noreply.github.com> Date: Wed, 3 Sep 2025 21:16:42 +0800 Subject: [PATCH 494/723] fix: docker-support.md (#1052) * Update docker-support.md Fixed the broken Docker file link that was mentioned in https://github.com/nginx/agent/issues/1087 (Issue #1087) * Apply suggestion from @mjang --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- .../container-environments/docker-support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/agent/installation-upgrade/container-environments/docker-support.md b/content/agent/installation-upgrade/container-environments/docker-support.md index 1a57cafab..41b7d8773 100644 --- a/content/agent/installation-upgrade/container-environments/docker-support.md +++ b/content/agent/installation-upgrade/container-environments/docker-support.md @@ -10,7 +10,7 @@ nd-content-type: ## Overview -The NGINX Agent repository includes [Dockerfiles](https://github.com/nginx/agent/tree/main/scripts/docker) that can be used to [build custom container images]({{< ref "/agent/installation-upgrade/container-environments/docker-images.md" >}}). Images are created with an NGINX Open Source or NGINX Plus instance and are available for various operating systems. +The NGINX Agent repository includes [Dockerfiles](https://github.com/nginx/agent/tree/dev-v2/test/docker) that can be used to [build custom container images]({{< ref "/agent/installation-upgrade/container-environments/docker-images.md" >}}). Images are created with an NGINX Open Source or NGINX Plus instance and are available for various operating systems. See the [Technical Specifications]({{< ref "/agent/technical-specifications.md" >}}) for a list of supported operationg systems. From 15ba0532dd19a19b0081a624c12e3cb99f3e3c10 Mon Sep 17 00:00:00 2001 From: nginx-aoife <50101789+nginx-aoife@users.noreply.github.com> Date: Wed, 3 Sep 2025 14:49:12 +0100 Subject: [PATCH 495/723] Adding nginx-agent & nginx plus docs to linkchecker (#1015) * Update linkchecker.yml Adding nginx-agent & nginx + docs * Update linkchecker.yml Tidy up ignore list --------- Co-authored-by: Jack Hickey <133868041+nginx-jack@users.noreply.github.com> --- .github/workflows/linkchecker.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/linkchecker.yml b/.github/workflows/linkchecker.yml index 9d6709d9f..6e0e67646 100644 --- a/.github/workflows/linkchecker.yml +++ b/.github/workflows/linkchecker.yml @@ -33,6 +33,11 @@ env: --ignore-url ^https://go.googlesource.com/ --ignore-url ^https://go.googlesource.com/sync --ignore-url ^https://linkerd.io/2.13/ --ignore-url ^http://www.redirectpage.com/ --ignore-url ^https://www.gnu.org/ --ignore-url ^https://insert_your_tenant_name.console.ves.volterra.io --ignore-url ^https://pkgs.nginx.com + --ignore-url ^http://backend1.example.com --ignore-url ^http://example.com --ignore-url ^https://my-nginx.example.com + --ignore-url ^https://www.nginxroute53.com --ignore-url ^http://cafe --ignore-url ^http://192.168.1.23 --ignore-url ^https://company.com + --ignore-url ^https://my-nginx-plus.example.com --ignore-url ^https://cognito-idp --ignore-url ^https:///www.okta.com + --ignore-url ^http://www.maxmind.com --ignore-url ^https://www.maxmind.com --ignore-url ^https://www.opswat.com --ignore-url + --ignore-url ^https://support.pingidentity.com --ignore-url ^https://docs.pingidentity.com ^https://demo.example.com --ignore-url ^https://\([a-zA-Z0-9-]+\).nginx.com/nginx-ingress-controller/css --ignore-url ^https://\([a-zA-Z0-9-]+\).nginx.com/nginxaas/azure/css --ignore-url ^https://\([a-zA-Z0-9-]+\).nginx.com/nginx-gateway-fabric/css @@ -56,6 +61,8 @@ jobs: - nginx-waf - nginx-management-suite - nginx-gateway-fabric + - nginx-agent + - nginx steps: # Determine and set basepath for schedule or workflow_dispatch - name: Set Basepath From 0030f2c4dc19805f73916bf397218c4acafdcb1b Mon Sep 17 00:00:00 2001 From: nginx-aoife <50101789+nginx-aoife@users.noreply.github.com> Date: Thu, 4 Sep 2025 10:52:55 +0100 Subject: [PATCH 496/723] Linkchecker: fix misplaced param (#1058) * Update linkchecker.yml * Update linkchecker.yml --- .github/workflows/linkchecker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linkchecker.yml b/.github/workflows/linkchecker.yml index 6e0e67646..4114412f7 100644 --- a/.github/workflows/linkchecker.yml +++ b/.github/workflows/linkchecker.yml @@ -36,8 +36,8 @@ env: --ignore-url ^http://backend1.example.com --ignore-url ^http://example.com --ignore-url ^https://my-nginx.example.com --ignore-url ^https://www.nginxroute53.com --ignore-url ^http://cafe --ignore-url ^http://192.168.1.23 --ignore-url ^https://company.com --ignore-url ^https://my-nginx-plus.example.com --ignore-url ^https://cognito-idp --ignore-url ^https:///www.okta.com - --ignore-url ^http://www.maxmind.com --ignore-url ^https://www.maxmind.com --ignore-url ^https://www.opswat.com --ignore-url - --ignore-url ^https://support.pingidentity.com --ignore-url ^https://docs.pingidentity.com ^https://demo.example.com + --ignore-url ^http://www.maxmind.com --ignore-url ^https://www.maxmind.com --ignore-url ^https://www.opswat.com + --ignore-url ^https://support.pingidentity.com --ignore-url ^https://docs.pingidentity.com --ignore-url ^https://demo.example.com --ignore-url ^https://\([a-zA-Z0-9-]+\).nginx.com/nginx-ingress-controller/css --ignore-url ^https://\([a-zA-Z0-9-]+\).nginx.com/nginxaas/azure/css --ignore-url ^https://\([a-zA-Z0-9-]+\).nginx.com/nginx-gateway-fabric/css From e61b96cecc3e63f84e7a5e4b3c94425f6296e6d4 Mon Sep 17 00:00:00 2001 From: Ciara Stacke <18287516+ciarams87@users.noreply.github.com> Date: Thu, 4 Sep 2025 11:04:50 +0100 Subject: [PATCH 497/723] NGF: Bump NGF version for patch release (#1055) Chore: bump NGF version for patch release Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> --- layouts/shortcodes/version-ngf.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/shortcodes/version-ngf.html b/layouts/shortcodes/version-ngf.html index 50aea0e7a..7c3272873 100644 --- a/layouts/shortcodes/version-ngf.html +++ b/layouts/shortcodes/version-ngf.html @@ -1 +1 @@ -2.1.0 \ No newline at end of file +2.1.1 \ No newline at end of file From 0ee755e8c2acb14762e479aa684c394cddd78151 Mon Sep 17 00:00:00 2001 From: Jack Hickey <133868041+nginx-jack@users.noreply.github.com> Date: Thu, 4 Sep 2025 18:51:53 +0100 Subject: [PATCH 498/723] F5Sites: Add yaml for links (#1059) Co-authored-by: Michael McKeen --- data/f5-sites.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 data/f5-sites.yaml diff --git a/data/f5-sites.yaml b/data/f5-sites.yaml new file mode 100644 index 000000000..b77b18d0f --- /dev/null +++ b/data/f5-sites.yaml @@ -0,0 +1,15 @@ +- title: F5 + url: https://f5.com/ + description: Deliver and secure every app + +- title: DevCentral + url: https://community.f5.com/ + description: Connect & learn in our hosted community + +- title: MyF5 + url: https://my.f5.com/ + description: Your key to everything F5, including support, registration keys, and subscriptions + +- title: NGINX + url: https://nginx.org/ + description: Learn more about NGINX Open Source and read the community blog From 980f88f008ca11d0ef5eb536e90c5e98713665c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 11:01:20 +0100 Subject: [PATCH 499/723] build(deps): bump actions/stale from 9.1.0 to 10.0.0 (#1075) Bumps [actions/stale](https://github.com/actions/stale) from 9.1.0 to 10.0.0. - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/v9.1.0...v10.0.0) --- updated-dependencies: - dependency-name: actions/stale dependency-version: 10.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index a16041dc5..f10888ec3 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -18,7 +18,7 @@ jobs: pull-requests: write # for actions/stale to close stale PRs runs-on: ubuntu-latest steps: - - uses: actions/stale@v9.1.0 + - uses: actions/stale@v10.0.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-message: 'This issue is stale because it has been open for 90 days with no activity. Remove the stale label or add a comment to keep it open. If you do not take action, this will be closed in 10 days.' From c4c7a584bfdf3e5d20d283c126a6e6346849830b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 11:01:45 +0100 Subject: [PATCH 500/723] build(deps): bump actions/setup-node from 4 to 5 (#1074) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alan Dooley --- .github/workflows/build-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index 18ffb3452..a473c09de 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -126,7 +126,7 @@ jobs: - uses: actions/checkout@v5 with: ref: ${{ github.event.workflow_run.head_branch }} - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v5 with: node-version: 18 - name: Installing packages From 56c959cbfe1afd7c6858134b709380d9b3829347 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 11:17:21 +0100 Subject: [PATCH 501/723] build(deps): bump actions/github-script from 7.0.1 to 8.0.0 (#1073) Bumps [actions/github-script](https://github.com/actions/github-script) from 7.0.1 to 8.0.0. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/60a0d83039c74a4aee543508d2ffcb1c3799cdea...ed597411d8f924073f98dfc5c65a23a2325f34cd) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alan Dooley --- .github/workflows/notification.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/notification.yml b/.github/workflows/notification.yml index fb39b1140..79eb389eb 100644 --- a/.github/workflows/notification.yml +++ b/.github/workflows/notification.yml @@ -20,7 +20,7 @@ jobs: checks: read steps: - name: Retrieve Job Data - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 continue-on-error: true id: data with: From 37d56ad7393f6dc242ecb8601d6cabcc61efb780 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 11:21:16 +0100 Subject: [PATCH 502/723] build(deps): bump github/codeql-action from 3.29.11 to 3.30.1 (#1072) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.11 to 3.30.1. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/3c3833e0f8c1c83d449a7478aa59c036a9165498...f1f6e5f6af878fb37288ce1c627459e94dbf7d01) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.30.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alan Dooley --- .github/workflows/ossf_scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ossf_scorecard.yml b/.github/workflows/ossf_scorecard.yml index c15bc2ab7..b69359d4c 100644 --- a/.github/workflows/ossf_scorecard.yml +++ b/.github/workflows/ossf_scorecard.yml @@ -56,6 +56,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: Upload SARIF results to code scanning - uses: github/codeql-action/upload-sarif@3c3833e0f8c1c83d449a7478aa59c036a9165498 # v3.29.5 + uses: github/codeql-action/upload-sarif@f1f6e5f6af878fb37288ce1c627459e94dbf7d01 # v3.29.5 with: sarif_file: results.sarif From e16539ba4756b3cc91be6a14350c2a9d150c1947 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 13:08:42 +0100 Subject: [PATCH 503/723] build(deps): bump actions/labeler from 5 to 6 (#1071) Bumps [actions/labeler](https://github.com/actions/labeler) from 5 to 6. - [Release notes](https://github.com/actions/labeler/releases) - [Commits](https://github.com/actions/labeler/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/labeler dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alan Dooley --- .github/workflows/labeler.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 975aad2c4..9f984f1b2 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -12,6 +12,6 @@ jobs: runs-on: ubuntu-latest steps: - name: Apply labels based on file paths - uses: actions/labeler@v5 + uses: actions/labeler@v6 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" From 3b57d2a416e96334de546da66915a48e4bc71e1f Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Mon, 8 Sep 2025 11:02:25 -0700 Subject: [PATCH 504/723] fix: minor style, grammar, and punctuation fixes to the doc landing page (#1078) --- content/_index.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/_index.md b/content/_index.md index 58cc801c2..e7ff70aa2 100644 --- a/content/_index.md +++ b/content/_index.md @@ -20,30 +20,30 @@ Learn how to deliver, manage, and protect your applications using F5 NGINX produ Kubernetes traffic management with API gateway, identity, and observability features. {{}} {{}} - Next generation Kubernetes connectivity using the Gateway API. + Next-generation Kubernetes connectivity using the Gateway API. {{}} {{}} - The open source all-in-one load balancer, content cache, and web server + The open source all-in-one load balancer, content cache, and web server. {{}} {{}} - A daemon providing observability data and remote configuration for NGINX Open Source and NGINX Plus instances + A daemon providing observability data and remote configuration for NGINX Open Source and NGINX Plus instances. {{}} - {{}} + {{}} Stay compliant with your NGINX subscription licenses and see how you can use NGINX One to build secure, scalable, and high-performing applications and APIs. {{}} {{}} {{}} {{}} - Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs + Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs. {{}} {{}} - Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs + Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs. {{}} {{}} {{}} {{}} - Infrastructure-as-a-Service (IaaS) version of NGINX Plus for your Microsoft Azure application stack + Infrastructure-as-a-Service (IaaS) version of NGINX Plus for your Microsoft Azure application stack. {{}} {{}} From 048972f30d8de44015422aa4300772fc85b6eefc Mon Sep 17 00:00:00 2001 From: Alan Dooley Date: Tue, 9 Sep 2025 09:59:38 +0100 Subject: [PATCH 505/723] feat: Remove two old-style call-outs (#1076) --- .../authentication/basic-auth/set-up-basic-authentication.md | 4 ++-- .../how-to/devportals/installation/devportal-helm-chart.md | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/content/nim/admin-guide/authentication/basic-auth/set-up-basic-authentication.md b/content/nim/admin-guide/authentication/basic-auth/set-up-basic-authentication.md index 5c3234a20..c26343eab 100644 --- a/content/nim/admin-guide/authentication/basic-auth/set-up-basic-authentication.md +++ b/content/nim/admin-guide/authentication/basic-auth/set-up-basic-authentication.md @@ -58,9 +58,9 @@ To add users, take the following steps: ## Set user passwords {#set-basic-passwords} -{{< before-you-begin >}} +{{< call-out "note" >}} Before you can set users' passwords, ensure you have [created users](#create-users) in NGINX Instance Manager. Once you've created the users, you can use one of the following options to set their passwords. -{{< /before-you-begin >}} +{{< /call-out >}} ### (Recommended) Use the provided script {#set-basic-passwords-script} diff --git a/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md b/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md index e07efbe23..cbe41c2cf 100644 --- a/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md +++ b/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md @@ -281,7 +281,9 @@ Create a Dockerfile similar to the following example: ## Push Images to Private Registry {#push-images-private-registry} -{{}}To complete this step, you need an [externally-accessible private Docker registry](https://docs.docker.com/registry/deploying/) to push the container images to.{{}} +{{< call-out "note" >}} +To complete this step, you need an [externally-accessible private Docker registry](https://docs.docker.com/registry/deploying/) to push the container images to. +{{< / call-out >}} After building or loading the Docker images, you can now tag and push the images to your private Docker registry. Replace `` in the examples below with the path to your private Docker registry. From f01e16d0ac2f03cd3272ce7146c5aa07a74aa39e Mon Sep 17 00:00:00 2001 From: kafeelhasan Date: Tue, 9 Sep 2025 19:17:10 +0530 Subject: [PATCH 506/723] Nlb 6573 update nap doc file path change (#1048) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update NAP Docs This commit updates the NAP user facing documentation with the following change: Based on this issue : https://github.com/nginxinc/nalb-shared/issues/1695, updated the Configure App Protect WAF with the following text - The File path is not optional and is automatically generated in the portal, defaulting to the path “/etc/app_protect/conf/” plus the policy Name with a “.json” extension * Removed Extra Space * Addressed PR comments * Addressed PR Comment * Addressed PR Comments --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- content/nginxaas-azure/app-protect/configure-waf.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/nginxaas-azure/app-protect/configure-waf.md b/content/nginxaas-azure/app-protect/configure-waf.md index 3a436654f..4aea0ca1c 100644 --- a/content/nginxaas-azure/app-protect/configure-waf.md +++ b/content/nginxaas-azure/app-protect/configure-waf.md @@ -116,10 +116,10 @@ To create a custom security policy in the Azure Portal: In the policy editor: -- Enter the **Name** (as a filename), **File path**, your policy content, and then select **Save**. +- Enter the policy **Name**, **File path**, your policy content, and then select **Save**. - - Be sure to append the filename with ".json". - - The **File path** is automatically generated with "/etc/app_protect/conf/" as the default policies folder. + - The **File path** must start with the prefix "/etc/app_protect/conf/". + - The **File path** extension must be ".json". After your policy has been saved, you can then reference it in your NGINX configuration. For more information on policy configuration and syntax, refer to the NGINX App Protect [configuration guide](https://docs.nginx.com/nginx-app-protect-waf/v5/configuration-guide/configuration/). From 13847ba1bb4f24be953634b18e288db31d28ec1a Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Tue, 9 Sep 2025 12:17:09 -0700 Subject: [PATCH 507/723] Added F5 branding to NGINX product documentation landing page (#1085) * Added F5 branding to NGINX product documentation landing page --- content/_index.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/content/_index.md b/content/_index.md index e7ff70aa2..35a07f044 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,25 +1,25 @@ --- -title: NGINX Product Documentation +title: F5 NGINX Product Documentation description: Learn how to deliver, manage, and protect your applications using F5 NGINX products. --- -## NGINX Product Documentation +# F5 NGINX Product Documentation Learn how to deliver, manage, and protect your applications using F5 NGINX products. -{{}} - {{}} +{{}} + {{}} Monitor your infrastructure, address security vulnerabilities, and assess the health of your NGINX fleet, all from a single console. {{}} - {{}} + {{}} The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. {{}} - {{}} + {{}} Track and control NGINX Open Source and NGINX Plus instances. {{}} - {{}} + {{}} Kubernetes traffic management with API gateway, identity, and observability features. {{}} - {{}} + {{}} Next-generation Kubernetes connectivity using the Gateway API. {{}} {{}} @@ -33,17 +33,17 @@ Learn how to deliver, manage, and protect your applications using F5 NGINX produ {{}} {{}} -{{}} - {{}} +{{}} + {{}} Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs. {{}} - {{}} + {{}} Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs. {{}} {{}} -{{}} - {{}} +{{}} + {{}} Infrastructure-as-a-Service (IaaS) version of NGINX Plus for your Microsoft Azure application stack. {{}} {{}} From a604196618fa871abcc768bca5d7752041b7b02c Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Tue, 9 Sep 2025 16:33:14 -0700 Subject: [PATCH 508/723] Added F5 to product doc entry pages (#1088) --- content/ngf/_index.md | 2 +- content/nginxaas-azure/_index.md | 2 +- content/nic/_index.md | 2 +- content/nim/_index.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ngf/_index.md b/content/ngf/_index.md index 5f7b85fde..6ea82a7c2 100644 --- a/content/ngf/_index.md +++ b/content/ngf/_index.md @@ -1,6 +1,6 @@ --- # The title is the product name -title: NGINX Gateway Fabric +title: F5 NGINX Gateway Fabric # The URL is the base of the deployed path, becoming "docs.nginx.com//" url: /nginx-gateway-fabric/ # The cascade directive applies its nested parameters down the page tree until overwritten diff --git a/content/nginxaas-azure/_index.md b/content/nginxaas-azure/_index.md index 7d786a0ea..16c176f9c 100644 --- a/content/nginxaas-azure/_index.md +++ b/content/nginxaas-azure/_index.md @@ -1,5 +1,5 @@ --- -title: NGINXaaS for Azure +title: F5 NGINXaaS for Azure nd-subtitle: Infrastructure-as-a-Service (IaaS) version of NGINX Plus for your Microsoft Azure application stack url: /nginxaas/azure/ nd-landing-page: true diff --git a/content/nic/_index.md b/content/nic/_index.md index d6187bf7a..cbde101dc 100644 --- a/content/nic/_index.md +++ b/content/nic/_index.md @@ -1,6 +1,6 @@ --- # The title is the product name -title: NGINX Ingress Controller +title: F5 NGINX Ingress Controller # The URL is the base of the deployed path, becoming "docs.nginx.com//" url: /nginx-ingress-controller/ # The cascade directive applies its nested parameters down the page tree until overwritten diff --git a/content/nim/_index.md b/content/nim/_index.md index 9bf0baf8e..b7a0b120f 100644 --- a/content/nim/_index.md +++ b/content/nim/_index.md @@ -1,5 +1,5 @@ --- -title: NGINX Instance Manager +title: F5 NGINX Instance Manager description: Track and control NGINX Open Source and NGINX Plus instances. url: /nginx-instance-manager/ nd-landing-page: true From 17366e334f6cbe3add9606d8e9d72f83b80a8b67 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Wed, 10 Sep 2025 14:29:18 +0100 Subject: [PATCH 509/723] docs: fix sentence in azure docs (#1091) * docs: fix sentence in azure docs Rewrite the sentence for it to make more sense * Update content/nginxaas-azure/quickstart/runtime-state-sharing.md --- content/nginxaas-azure/quickstart/runtime-state-sharing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginxaas-azure/quickstart/runtime-state-sharing.md b/content/nginxaas-azure/quickstart/runtime-state-sharing.md index 4a0f3df87..0eeb1ef60 100644 --- a/content/nginxaas-azure/quickstart/runtime-state-sharing.md +++ b/content/nginxaas-azure/quickstart/runtime-state-sharing.md @@ -16,7 +16,7 @@ With runtime state sharing, NGINXaaS instances can share some state data between - [Rate limiting](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone) - [Key‑value store](https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_zone) -{{< call-out "note" >}} Can not add the `sync` parameter with a directive describing shared memory zones to an existing memory zone that was not configured to sync. It also cannot be removed from an existing memory zone configured to sync. To switch, remove the directive before reapplying it with the desired parameters.{{< /call-out >}} +{{< call-out "note" >}} It's not possible to add the `sync` parameter with a directive describing shared memory zones to an existing memory zone that was not configured to sync. It also cannot be removed from an existing memory zone configured to sync. To switch, remove the directive before reapplying it with the desired parameters.{{< /call-out >}} For information on enabling synchronization for rate limiting with NGINXaaS for Azure, please visit the [Rate Limiting]({{< ref "/nginxaas-azure/quickstart/rate-limiting.md" >}}) documentation. From aca913452103382d43e75f0961c86aa85b0061f3 Mon Sep 17 00:00:00 2001 From: Sarthak Agrawal <68310924+sarthyparty@users.noreply.github.com> Date: Wed, 10 Sep 2025 10:53:00 -0500 Subject: [PATCH 510/723] Add ingress2gateway information in Getting Started guide (#1056) * Add ingress2gateway information in Getting Started guide Co-authored-by: Saloni Choudhary <146118978+salonichf5@users.noreply.github.com> --- content/ngf/get-started.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/content/ngf/get-started.md b/content/ngf/get-started.md index 48310cd99..a59c89a65 100644 --- a/content/ngf/get-started.md +++ b/content/ngf/get-started.md @@ -554,8 +554,39 @@ URI: /tea Request ID: 1b5c8f3a4532ea7d7510cf14ffeb27af ``` +## Migrate from NGINX Ingress Controller + +If you're already using NGINX Ingress Controller and want to migrate to NGINX Gateway Fabric, you can use the [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) tool to automatically convert your existing Ingress resources to Gateway API resources. + +The ingress2gateway tool is a Kubernetes SIG project for converting Ingress resources to Gateway API resources. It supports multiple Ingress providers, including NGINX Ingress Controller. + +{{< call-out "important" >}} +The ingress2gateway tool is a conversion utility that translates Ingress resources to Gateway API equivalents. It is not a complete end-to-end migration solution. You will need to manually review the converted resources, test functionality, and make additional configuration changes as needed for your specific environment. +{{< /call-out >}} + +### Use ingress2gateway + +To convert your existing NGINX Ingress resources to Gateway API resources that work with NGINX Gateway Fabric: + + +First, [install the ingress2gateway tool](https://github.com/kubernetes-sigs/ingress2gateway?tab=readme-ov-file#installation). + +Then run the conversion command for the NGINX provider: + +```shell +ingress2gateway print --providers=nginx --input-file= > gateway-api-resources.yaml +``` + +This tool will analyze your Ingress resources from the input file and output the equivalent Gateway API resources to a file named `gateway-api-resources.yaml`. Finally, review the generated Gateway API resources in the output file and apply them to your cluster: + +```shell +kubectl apply -f gateway-api-resources.yaml +``` + +For detailed information about NGINX-specific features and conversion options, see the [NGINX provider documentation](https://github.com/kubernetes-sigs/ingress2gateway/blob/main/pkg/i2gw/providers/nginx/README.md). + ## Next steps - [Install NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}), for additional ways to install NGINX Gateway Fabric - [Traffic management]({{< ref "/ngf/traffic-management/" >}}), for more in-depth traffic management configuration -- [How-to guides]({{< ref "/ngf/how-to/" >}}), for configuring your cluster \ No newline at end of file +- [How-to guides]({{< ref "/ngf/how-to/" >}}), for configuring your cluster From 113e35f2ccaf22931ada97110469784234598db2 Mon Sep 17 00:00:00 2001 From: Saloni Choudhary <146118978+salonichf5@users.noreply.github.com> Date: Wed, 10 Sep 2025 22:06:42 +0530 Subject: [PATCH 511/723] NGF: Restructure ingress to gateway tool section (#1096) restructure i2g document and add more information about porting --- content/ngf/get-started.md | 31 -------------- content/ngf/install/ingress-to-gateway.md | 49 +++++++++++++++++++++++ 2 files changed, 49 insertions(+), 31 deletions(-) create mode 100644 content/ngf/install/ingress-to-gateway.md diff --git a/content/ngf/get-started.md b/content/ngf/get-started.md index a59c89a65..4c8fd8d36 100644 --- a/content/ngf/get-started.md +++ b/content/ngf/get-started.md @@ -554,37 +554,6 @@ URI: /tea Request ID: 1b5c8f3a4532ea7d7510cf14ffeb27af ``` -## Migrate from NGINX Ingress Controller - -If you're already using NGINX Ingress Controller and want to migrate to NGINX Gateway Fabric, you can use the [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) tool to automatically convert your existing Ingress resources to Gateway API resources. - -The ingress2gateway tool is a Kubernetes SIG project for converting Ingress resources to Gateway API resources. It supports multiple Ingress providers, including NGINX Ingress Controller. - -{{< call-out "important" >}} -The ingress2gateway tool is a conversion utility that translates Ingress resources to Gateway API equivalents. It is not a complete end-to-end migration solution. You will need to manually review the converted resources, test functionality, and make additional configuration changes as needed for your specific environment. -{{< /call-out >}} - -### Use ingress2gateway - -To convert your existing NGINX Ingress resources to Gateway API resources that work with NGINX Gateway Fabric: - - -First, [install the ingress2gateway tool](https://github.com/kubernetes-sigs/ingress2gateway?tab=readme-ov-file#installation). - -Then run the conversion command for the NGINX provider: - -```shell -ingress2gateway print --providers=nginx --input-file= > gateway-api-resources.yaml -``` - -This tool will analyze your Ingress resources from the input file and output the equivalent Gateway API resources to a file named `gateway-api-resources.yaml`. Finally, review the generated Gateway API resources in the output file and apply them to your cluster: - -```shell -kubectl apply -f gateway-api-resources.yaml -``` - -For detailed information about NGINX-specific features and conversion options, see the [NGINX provider documentation](https://github.com/kubernetes-sigs/ingress2gateway/blob/main/pkg/i2gw/providers/nginx/README.md). - ## Next steps - [Install NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}), for additional ways to install NGINX Gateway Fabric diff --git a/content/ngf/install/ingress-to-gateway.md b/content/ngf/install/ingress-to-gateway.md new file mode 100644 index 000000000..cc5f1bb56 --- /dev/null +++ b/content/ngf/install/ingress-to-gateway.md @@ -0,0 +1,49 @@ +--- +title: Migrate from NGINX Ingress Controller to NGINX Gateway Fabric +weight: 800 +toc: true +nd-content-type: how-to +nd-product: NGF +nd-docs: +--- + +# Migrate from NGINX Ingress Controller + +If you're already using NGINX Ingress Controller and want to migrate to NGINX Gateway Fabric, you can use the [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) tool to automatically convert your existing Ingress resources to Gateway API resources. + +## Why migrate? + +The [Gateway API](https://gateway-api.sigs.k8s.io/) is the next-generation Kubernetes networking API that builds on the limitations of Ingress. Compared to Ingress, Gateway API provides: + +- **Role-oriented resources**: Distinct resources for infrastructure providers, cluster operators, and application developers, enabling [separation of concerns](https://gateway-api.sigs.k8s.io/concepts/security-model/#role-oriented-resources). +- **More expressive routing**: Support for [advanced traffic management](https://gateway-api.sigs.k8s.io/concepts/api-overview/#routes) such as path-based and header-based routing, traffic splitting, and TLS configuration. +- **Standardization and portability**: A Kubernetes [community standard](https://gateway-api.sigs.k8s.io/) supported by multiple vendors, ensuring consistent behavior across implementations. +- **Extensibility**: Built on Kubernetes [CRD extensibility](https://gateway-api.sigs.k8s.io/concepts/design-principles/#extensibility) to support new capabilities without breaking the core API. + +Migrating to Gateway API with NGINX Gateway Fabric helps future-proof your Kubernetes networking stack, provide a standardized API across implementations, and unlock advanced traffic management features. + +## About the ingress2gateway tool + +The ingress2gateway tool is a Kubernetes SIG project for converting Ingress resources to Gateway API resources. It supports multiple Ingress providers, including NGINX Ingress Controller. + +{{< call-out "important" >}} +The ingress2gateway tool is a conversion utility that translates Ingress resources to Gateway API equivalents. It is not a complete end-to-end migration solution. You will need to manually review the converted resources, test functionality, and make additional configuration changes as needed for your specific environment. +{{< /call-out >}} + +To convert your existing NGINX Ingress resources to Gateway API resources that work with NGINX Gateway Fabric: + +First, [install the ingress2gateway tool](https://github.com/kubernetes-sigs/ingress2gateway?tab=readme-ov-file#installation). + +Then run the conversion command for the NGINX provider: + +```shell +ingress2gateway print --providers=nginx --input-file= > gateway-api-resources.yaml +``` + +This tool will analyze your Ingress resources from the input file and output the equivalent Gateway API resources to a file named `gateway-api-resources.yaml`. Finally, review the generated Gateway API resources in the output file and apply them to your cluster: + +```shell +kubectl apply -f gateway-api-resources.yaml +``` + +For detailed information about NGINX-specific features and conversion options, see the [NGINX provider documentation](https://github.com/kubernetes-sigs/ingress2gateway/blob/main/pkg/i2gw/providers/nginx/README.md). From 9fc4b777b3453d078159991b33468c68a1b72d4e Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Wed, 10 Sep 2025 14:53:41 -0700 Subject: [PATCH 512/723] Fixed N4A cost calculator (#1097) fix: replaced jquery with vanilla js to fix calculator --- .../nginxaas-azure/js/cost-calculator_v2.js | 178 +++++++++--------- 1 file changed, 84 insertions(+), 94 deletions(-) diff --git a/static/nginxaas-azure/js/cost-calculator_v2.js b/static/nginxaas-azure/js/cost-calculator_v2.js index d2b7aa830..c2b571153 100644 --- a/static/nginxaas-azure/js/cost-calculator_v2.js +++ b/static/nginxaas-azure/js/cost-calculator_v2.js @@ -1,7 +1,7 @@ // todo [heftel] - if we are going to live with this for a while then this file should be broken up with // modules. Browser support shouldn't be a concern anymore? - https://caniuse.com/es6-module -(function () { +(() => { /** * @typedef {typeof costs} Costs * @constant @@ -167,66 +167,66 @@ }; //////// - // Keep element refs with hugo global jquery + // Keep element refs with hugo global HTMLElement //////// /** - * @type {Object.} + * @type {Object.} */ const costFormElements = { - region: $("#region"), - numNcus: $("#numNcus"), - numHours: $("#numHours"), - numListenPorts: $("#numListenPorts"), - isWAF: $("#isWAF"), + region: document.getElementById("region"), + numNcus: document.getElementById("numNcus"), + numHours: document.getElementById("numHours"), + numListenPorts: document.getElementById("numListenPorts"), + isWAF: document.getElementById("isWAF"), }; /** - * @type {Object.} + * @type {Object.} */ const costFormLabelElements = { - numNcusEstVal: $("#numNcusEstVal"), + numNcusEstVal: document.getElementById("numNcusEstVal"), }; /** - * @type {Object.} + * @type {Object.} */ const ncuFormElements = { - avgNewConnsPerSec: $("#avgNewConnsPerSec"), - avgConnDuration: $("#avgConnDuration"), - totalBandwidth: $("#totalBandwidth"), + avgNewConnsPerSec: document.getElementById("avgNewConnsPerSec"), + avgConnDuration: document.getElementById("avgConnDuration"), + totalBandwidth: document.getElementById("totalBandwidth"), }; /** - * @type {Object.} + * @type {Object.} */ const ncuEstimateElements = { - ncuEstConnRate: $("#ncuEstConnRate"), - ncuEstConnDuration: $("#ncuEstConnDuration"), - ncuEstAvgConn: $("#ncuEstAvgConn"), - ncuEstAvgConn2: $("#ncuEstAvgConn2"), - ncuEstConnRate2: $("#ncuEstConnRate2"), - ncuEstDataRate: $("#ncuEstDataRate"), - ncuEstMin1: $("#ncuEstMin1"), - ncuEstMin: $("#ncuEstMin"), - ncuEstTotal: $("#ncuEstTotal"), - ncuEstConnsPerNcu: $("#ncuEstConnsPerNcu"), - ncuEstConnsPerSecondPerNcu: $("#ncuEstConnsPerSecondPerNcu"), - ncuEstMbpsPerNcu: $("#ncuEstMbpsPerNcu"), + ncuEstConnRate: document.getElementById("ncuEstConnRate"), + ncuEstConnDuration: document.getElementById("ncuEstConnDuration"), + ncuEstAvgConn: document.getElementById("ncuEstAvgConn"), + ncuEstAvgConn2: document.getElementById("ncuEstAvgConn2"), + ncuEstConnRate2: document.getElementById("ncuEstConnRate2"), + ncuEstDataRate: document.getElementById("ncuEstDataRate"), + ncuEstMin1: document.getElementById("ncuEstMin1"), + ncuEstMin: document.getElementById("ncuEstMin"), + ncuEstTotal: document.getElementById("ncuEstTotal"), + ncuEstConnsPerNcu: document.getElementById("ncuEstConnsPerNcu"), + ncuEstConnsPerSecondPerNcu: document.getElementById("ncuEstConnsPerSecondPerNcu"), + ncuEstMbpsPerNcu: document.getElementById("ncuEstMbpsPerNcu"), }; /** - * @type {Object.} + * @type {Object.} */ const totalCostDetailElements = { - ncus: $("#cost-detail-ncus"), - hours: $("#cost-detail-hours"), - tierCost: $("#cost-detail-tier-cost"), - listenPorts: $("#cost-detail-listen-ports"), - listenPortsCost: $("#cost-detail-listen-ports-cost"), - waf: $("#cost-detail-waf"), - total: $("#cost-detail-total"), - tiersCostsTable: $("#tiers-costs-table"), + ncus: document.getElementById("cost-detail-ncus"), + hours: document.getElementById("cost-detail-hours"), + tierCost: document.getElementById("cost-detail-tier-cost"), + listenPorts: document.getElementById("cost-detail-listen-ports"), + listenPortsCost: document.getElementById("cost-detail-listen-ports-cost"), + waf: document.getElementById("cost-detail-waf"), + total: document.getElementById("cost-detail-total"), + tiersCostsTable: document.getElementById("tiers-costs-table"), }; /////// @@ -245,7 +245,7 @@ ncuEstimateValues = ncuEstimateValuesState ) => { Object.keys(costFormElements).map((elName) => { - costFormElements[elName].on("change", (evt) => { + costFormElements[elName].addEventListener("change", (evt) => { if (elName === "isWAF") { values[elName] = evt.target.checked; } else { @@ -256,13 +256,13 @@ }); Object.keys(ncuFormElements).map((elName) => { - ncuFormElements[elName].on("change", (evt) => { + ncuFormElements[elName].addEventListener("change", (evt) => { ncuEstimateValues[elName] = evt.target.value; updateNcuEstimate(ncuEstimateValues); }); }); - $("#printButton").click(() => { + document.getElementById("printButton").addEventListener('click', () => { printCostEstimate(); }); }; @@ -276,7 +276,7 @@ * @param {Costs["regionsTiers"]} regionsTiers */ const populateTierSelect = (regionsTiers) => { - const $selectTarget = $("#region"); + const $selectTarget = document.getElementById("region"); Object.keys(regionsTiers).forEach((tierKey) => { const option = document.createElement("option"); @@ -320,10 +320,10 @@ const initializeValues = (values = calculatorValuesState) => { Object.keys(costFormElements).map((elName) => { const curEl = costFormElements[elName]; - if (curEl.is("input") || curEl.is("select")) { - curEl.val(values[elName]); + if (curEl.tagName.toLowerCase() === "input" || curEl.tagName.toLowerCase() === "select") { + curEl.value = values[elName]; } else { - $(curEl).children("input").first().val(values[elName]); + $(curEl).children("input").first().value = values[elName]; } }); }; @@ -336,22 +336,21 @@ const initializeNcuEstimateValues = (values = ncuEstimateValuesState) => { Object.keys(ncuFormElements).map((elName) => { const curEl = ncuFormElements[elName]; - if (curEl.is("input") || curEl.is("select")) { - curEl.val(values[elName]); + if (curEl.tagName.toLowerCase() === "input" || curEl.tagName.toLowerCase() === "select") { + curEl.value = values[elName]; } else { - $(curEl).children("input").first().val(values[elName]); + $(curEl).children("input").first().value = values[elName]; } }); updateNcuEstimate(ncuEstimateValuesState); - ncuEstimateElements.ncuEstConnsPerNcu.text(ncuParameterVals.connsPerNcu); - ncuEstimateElements.ncuEstConnsPerSecondPerNcu.text( + ncuEstimateElements.ncuEstConnsPerNcu.textContent = ncuParameterVals.connsPerNcu; + ncuEstimateElements.ncuEstConnsPerSecondPerNcu.textContent = ( ncuParameterVals.connsPerSecPerAcu * ncuParameterVals.acusPerNcu - ).toFixed(2) - ); - ncuEstimateElements.ncuEstMbpsPerNcu.text(ncuParameterVals.mbpsPerNcu); + ).toFixed(2); + ncuEstimateElements.ncuEstMbpsPerNcu.textContent = ncuParameterVals.mbpsPerNcu; }; ////// @@ -366,30 +365,27 @@ const updateNcuEstimate = (ncuValues) => { const updatedNcuValues = utils.calculateNcuValues(ncuValues); - $("#ncuEstimateValue").text(`${updatedNcuValues.total} NCUs`); + document.getElementById("ncuEstimateValue").textContent = `${updatedNcuValues.total} NCUs`; // update cost estimate form when estimated number of NCUs changes if (calculatorValuesState.numNcus !== updatedNcuValues.total) { - costFormElements.numNcus.val(updatedNcuValues.total).trigger("change"); + costFormElements.numNcus.value = updatedNcuValues.total + costFormElements.numNcus.dispatchEvent(new Event("change")); } - ncuEstimateElements.ncuEstConnRate.text(ncuValues.avgNewConnsPerSec); - ncuEstimateElements.ncuEstConnDuration.text(ncuValues.avgConnDuration); - ncuEstimateElements.ncuEstAvgConn.text( - updatedNcuValues.avgConcurrentConnections - ); + ncuEstimateElements.ncuEstConnRate.textContent = ncuValues.avgNewConnsPerSec; + ncuEstimateElements.ncuEstConnDuration.textContent = ncuValues.avgConnDuration; + ncuEstimateElements.ncuEstAvgConn.textContent = updatedNcuValues.avgConcurrentConnections; - ncuEstimateElements.ncuEstAvgConn2.text( - updatedNcuValues.avgConcurrentConnections - ); - ncuEstimateElements.ncuEstConnRate2.text(ncuValues.avgNewConnsPerSec); - ncuEstimateElements.ncuEstDataRate.text(ncuValues.totalBandwidth); + ncuEstimateElements.ncuEstAvgConn2.textContent = updatedNcuValues.avgConcurrentConnections; + ncuEstimateElements.ncuEstConnRate2.textContent = ncuValues.avgNewConnsPerSec; + ncuEstimateElements.ncuEstDataRate.textContent = ncuValues.totalBandwidth; - ncuEstimateElements.ncuEstMin1.text((updatedNcuValues.min ?? 0).toFixed(2)); - ncuEstimateElements.ncuEstMin.text((updatedNcuValues.min ?? 0).toFixed(2)); - ncuEstimateElements.ncuEstTotal.text(updatedNcuValues.total); + ncuEstimateElements.ncuEstMin1.textContent = (updatedNcuValues.min ?? 0).toFixed(2); + ncuEstimateElements.ncuEstMin.textContent = (updatedNcuValues.min ?? 0).toFixed(2); + ncuEstimateElements.ncuEstTotal.textContent = updatedNcuValues.total; - costFormLabelElements.numNcusEstVal.text(updatedNcuValues.total); + costFormLabelElements.numNcusEstVal.textContent = updatedNcuValues.total; }; /** @@ -402,7 +398,7 @@ const updateCost = (costs, values = calculatorValuesState) => { const updatedTotalCost = utils.calculateCost(costs, values); - $("#total-value").text(utils.currencyFormatter(updatedTotalCost)); + document.getElementById("total-value").textContent = utils.currencyFormatter(updatedTotalCost); updateTotalCostDetails(values, updatedTotalCost); }; @@ -411,40 +407,34 @@ * @param {number} totalCost */ const updateTotalCostDetails = (formValues, totalCost) => { - totalCostDetailElements.hours.text(formValues.numHours); - totalCostDetailElements.ncus.text(formValues.numNcus); - totalCostDetailElements.listenPorts.text( - Math.max(formValues.numListenPorts - 5, 0) - ); - totalCostDetailElements.listenPortsCost.text( - utils.currencyFormatter(costs.listenPorts) - ); + totalCostDetailElements.hours.textContent = formValues.numHours; + totalCostDetailElements.ncus.textContent = formValues.numNcus; + totalCostDetailElements.listenPorts.textContent = Math.max(formValues.numListenPorts - 5, 0); + totalCostDetailElements.listenPortsCost.textContent = utils.currencyFormatter(costs.listenPorts); if (formValues.isWAF) { - totalCostDetailElements.tierCost.text( + totalCostDetailElements.tierCost.textContent = `(${utils.currencyFormatter( costs.tiersCosts[costs.regionsTiers[formValues.region].tier] - )} region cost + ${utils.currencyFormatter(costs.WAF, 3)} WAF cost)` - ); + )} region cost + ${utils.currencyFormatter(costs.WAF, 3)} WAF cost)`; } else { - totalCostDetailElements.tierCost.text( + totalCostDetailElements.tierCost.textContent = utils.currencyFormatter( costs.tiersCosts[costs.regionsTiers[formValues.region].tier] - ) - ); + ); } - totalCostDetailElements.total.text(utils.currencyFormatter(totalCost)); + totalCostDetailElements.total.textContent = utils.currencyFormatter(totalCost); // update highlighted tier cost const rowIndex = Object.keys(costs.regionsTiers).indexOf(formValues.region) + 1; - totalCostDetailElements.tiersCostsTable.find("tr")?.each((index, rowEl) => { + totalCostDetailElements.tiersCostsTable.querySelectorAll("tr")?.forEach((rowEl, index) => { if (index === rowIndex) { - $(rowEl).addClass("selected"); + rowEl.classList.add("selected"); } else { - $(rowEl).removeClass("selected"); + rowEl.classList.remove("selected"); } }); }; @@ -455,25 +445,25 @@ */ function printCostEstimate() { // expand the total price details if they aren't already - const totalDetails = $("#total-cost-details"); - const detailsOpen = totalDetails.attr("open"); + const totalDetails = document.getElementById("total-cost-details"); + const detailsOpen = totalDetails.hasAttribute("open"); if (!detailsOpen) { - totalDetails.attr("open", "true"); + totalDetails.setAttribute("open", "true"); } - const ncuDetails = $("#ncu-usage-details"); - const ncuDetailsOpen = ncuDetails.attr("open"); + const ncuDetails = document.getElementById("ncu-usage-details"); + const ncuDetailsOpen = ncuDetails.hasAttribute("open"); if (!ncuDetailsOpen) { - ncuDetails.attr("open", "true"); + ncuDetails.setAttribute("open", "true"); } window.print(); // collapse the total price details if it was closed initially if (!detailsOpen) { - totalDetails.attr("open", null); + totalDetails.setAttribute("open", null); } if (!ncuDetailsOpen) { - ncuDetails.attr("open", null); + ncuDetails.setAttribute("open", null); } } From 7eb1e69f0af644cd2315d849b022ae35a89129ff Mon Sep 17 00:00:00 2001 From: Michael McKeen Date: Thu, 11 Sep 2025 09:16:09 -0400 Subject: [PATCH 513/723] F5-Sites: Add item for community forum (#1100) --- data/f5-sites.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/data/f5-sites.yaml b/data/f5-sites.yaml index b77b18d0f..9b624d9ab 100644 --- a/data/f5-sites.yaml +++ b/data/f5-sites.yaml @@ -13,3 +13,7 @@ - title: NGINX url: https://nginx.org/ description: Learn more about NGINX Open Source and read the community blog + +- title: Community Forum + url: https://community.nginx.org/ + description: Engage with the broader NGINX community for discussions and troubleshooting From b4c9f5aa99cc7c15a97f674f57127c9edbebd96d Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Thu, 11 Sep 2025 15:22:14 +0100 Subject: [PATCH 514/723] docs: branding update - remove boostrap tables (#1094) Co-authored-by: Alan Dooley --- content/nginxaas-azure/_index.md | 6 +-- .../app-protect/configure-waf.md | 4 +- .../nginxaas-azure/app-protect/disable-waf.md | 2 +- .../app-protect/enable-logging.md | 10 ++--- .../nginxaas-azure/app-protect/enable-waf.md | 2 +- content/nginxaas-azure/billing/overview.md | 2 +- .../changelog-archive/changelog-2022.md | 2 +- .../changelog-archive/changelog-2023.md | 4 +- .../changelog-archive/changelog-2024.md | 2 +- content/nginxaas-azure/changelog.md | 2 +- content/nginxaas-azure/client-tools/cli.md | 2 +- content/nginxaas-azure/client-tools/sdk.md | 2 +- .../nginxaas-azure/client-tools/templates.md | 2 +- .../nginxaas-azure/client-tools/terraform.md | 2 +- content/nginxaas-azure/disaster-recovery.md | 4 +- content/nginxaas-azure/get-help.md | 4 +- .../create-deployment/deploy-azure-cli.md | 2 +- .../create-deployment/deploy-azure-portal.md | 12 +++--- .../create-deployment/deploy-terraform.md | 2 +- .../managed-identity-portal.md | 2 +- .../getting-started/migrate-from-standard.md | 2 +- .../nginx-configuration-azure-cli.md | 2 +- .../nginx-configuration-portal.md | 6 +-- .../nginx-configurations-terraform.md | 2 +- .../nginx-configuration/overview.md | 14 +++---- .../ssl-tls-certificates/overview.md | 8 ++-- .../ssl-tls-certificates-azure-cli.md | 2 +- .../ssl-tls-certificates-portal.md | 10 ++--- .../ssl-tls-certificates-terraform.md | 2 +- content/nginxaas-azure/known-issues.md | 2 +- .../nginxaas-azure/loadbalancer-kubernetes.md | 8 ++-- content/nginxaas-azure/module-changelog.md | 10 ++--- .../monitoring/configure-alerts.md | 2 +- .../enable-logging/logging-using-cli.md | 2 +- .../enable-logging/logging-using-portal.md | 2 +- .../enable-logging/logging-using-terraform.md | 2 +- .../monitoring/enable-monitoring.md | 2 +- .../monitoring/metrics-catalog.md | 42 +++++++++---------- .../overview/feature-comparison.md | 4 +- content/nginxaas-azure/overview/overview.md | 10 ++--- .../quickstart/basic-caching.md | 2 +- content/nginxaas-azure/quickstart/geoip2.md | 6 +-- .../quickstart/hosting-static-content.md | 2 +- .../nginxaas-azure/quickstart/njs-support.md | 2 +- .../quickstart/rate-limiting.md | 2 +- content/nginxaas-azure/quickstart/recreate.md | 2 +- .../quickstart/runtime-state-sharing.md | 2 +- content/nginxaas-azure/quickstart/scaling.md | 6 +-- .../security-controls/auth-basic.md | 2 +- .../security-controls/certificates.md | 30 ++++++------- .../quickstart/security-controls/jwt.md | 2 +- .../quickstart/security-controls/oidc.md | 4 +- .../private-link-to-upstreams.md | 8 ++-- .../securing-upstream-traffic.md | 2 +- .../quickstart/upgrade-channels.md | 10 ++--- 55 files changed, 143 insertions(+), 143 deletions(-) diff --git a/content/nginxaas-azure/_index.md b/content/nginxaas-azure/_index.md index 16c176f9c..56a138de0 100644 --- a/content/nginxaas-azure/_index.md +++ b/content/nginxaas-azure/_index.md @@ -12,7 +12,7 @@ nd-product: N4Azure ## About -NGINX as a Service for Azure is an IaaS offering that is tightly integrated +F5 NGINXaaS for Azure is an IaaS offering that is tightly integrated into Microsoft Azure public cloud and its ecosystem, making applications fast, efficient, and reliable with full lifecycle management of advanced NGINX traffic services. @@ -20,7 +20,7 @@ and reliable with full lifecycle management of advanced NGINX traffic services. {{}} {{}} - Deploy NGINX as a Service for Azure using the Azure portal, Azure CLI, or Terraform + Deploy NGINXaaS for Azure using the Azure portal, Azure CLI, or Terraform {{}} {{}} Step-by-step guides for several common use cases, including scaling guidance, security controls, and more @@ -50,7 +50,7 @@ and reliable with full lifecycle management of advanced NGINX traffic services. {{}} {{}} - Learn about the differences between NGINX as a Service for Azure and NGINX Plus + Learn about the differences between NGINXaaS for Azure and NGINX Plus {{}} {{}} See the latest updates: New features, improvements, and bug fixes diff --git a/content/nginxaas-azure/app-protect/configure-waf.md b/content/nginxaas-azure/app-protect/configure-waf.md index 4aea0ca1c..ba924183e 100644 --- a/content/nginxaas-azure/app-protect/configure-waf.md +++ b/content/nginxaas-azure/app-protect/configure-waf.md @@ -90,14 +90,14 @@ For more information on these policies refer the NGINX App Protect [configuratio The following table shows the path to the precompiled policy file that needs to be used with the `app_protect_policy_file` directive: -{{}} +{{< table >}} | Policy | Enforcement Mode | Path | |---------------------------- | ---------------------------- | -------------------------------------------- | | Default | Strict | /etc/app_protect/conf/NginxDefaultPolicy.json | | Default | Transparent | /etc/app_protect/conf/NginxDefaultPolicy_transparent.json | | Strict | Strict | /etc/app_protect/conf/NginxStrictPolicy.json | | Strict | Transparent | /etc/app_protect/conf/NginxStrictPolicy_transparent.json | -{{}} +{{< /table >}} To view the contents of the available security policies, navigate to the azure portal and select the **Security Policies** tab in the App Protect section. diff --git a/content/nginxaas-azure/app-protect/disable-waf.md b/content/nginxaas-azure/app-protect/disable-waf.md index 3efc32e04..a9cc3ba83 100644 --- a/content/nginxaas-azure/app-protect/disable-waf.md +++ b/content/nginxaas-azure/app-protect/disable-waf.md @@ -8,7 +8,7 @@ type: --- ## Overview -This guide explains how to disable F5 NGINX App Protect WAF on an NGINX as a Service for Azure (NGINXaaS) deployment. +This guide explains how to disable F5 NGINX App Protect WAF on an NGINXaaS for Azure (NGINXaaS) deployment. ## Before you start You must remove the WAF directives from your NGINX config file before attempting to disable WAF. diff --git a/content/nginxaas-azure/app-protect/enable-logging.md b/content/nginxaas-azure/app-protect/enable-logging.md index 04b171b85..3adf7cfe4 100644 --- a/content/nginxaas-azure/app-protect/enable-logging.md +++ b/content/nginxaas-azure/app-protect/enable-logging.md @@ -9,7 +9,7 @@ type: ## Overview -F5 NGINX as a Service for Azure (NGINXaaS) supports exporting NGINX App Protect logs to an Azure Storage account or to a Log Analytics workspace. +F5 NGINXaaS for Azure (NGINXaaS) supports exporting NGINX App Protect logs to an Azure Storage account or to a Log Analytics workspace. ## Setting up operational logs @@ -81,7 +81,7 @@ NGINXaaS for Azure ships with several pre-compiled log configuration bundles. Mo The following table shows the path to the log configuration file that needs to be used with the app_protect_security_log directive: - {{}} + {{< table >}} | Profile | Path | |---------------------------- | -------------------------------------------- | | log_default | /etc/app_protect/conf/log_default.json | @@ -91,7 +91,7 @@ The following table shows the path to the log configuration file that needs to b | log_grpc_all | /etc/app_protect/conf/log_grpc_all.json | | log_grpc_illegal | /etc/app_protect/conf/log_grpc_illegal.json | | log_grpc_blocked | /etc/app_protect/conf/log_grpc_blocked.json | - {{}} + {{< /table >}} To view the contents of the available log configuration, navigate to the azure portal and select the Log Configurations tab in the App Protect section. @@ -124,7 +124,7 @@ app_protect_security_log "/etc/app_protect/conf/log_all.json" /var/log/app_prote If the diagnostic setting destination details included a Logs Analytics workspace, logs appear in the "NGXSecurityLogs" table with the following columns: -{{}} +{{< table >}} | **Attribute** | **Description** | |-----------------------------|-----------------| | **Location** | The location of the NGINXaaS resource.| @@ -133,7 +133,7 @@ If the diagnostic setting destination details included a Logs Analytics workspac | **Tag** | The tag with which NGINX security logs are generated if syslog-based log configuration is used. | | **Facility** | The syslog facility that generates the NGINX security logs if syslog-based log configuration is being used. | | **Severity** | The syslog severity with which NGINX security logs were generated if syslog-based log configuration is used. | -{{}} +{{< /table >}} To view the raw data in the NGINX security log, run the following KQL query: ``` diff --git a/content/nginxaas-azure/app-protect/enable-waf.md b/content/nginxaas-azure/app-protect/enable-waf.md index 9335f2a36..6396dd850 100644 --- a/content/nginxaas-azure/app-protect/enable-waf.md +++ b/content/nginxaas-azure/app-protect/enable-waf.md @@ -9,7 +9,7 @@ type: ## Overview -This guide explains how to enable F5 NGINX App Protect WAF on a F5 NGINX as a Service for Azure (NGINXaaS) deployment. [F5 NGINX App Protect WAF](https://docs.nginx.com/nginx-app-protect-waf/v5) provides web application firewall (WAF) security protection for your web applications, including OWASP Top 10; response inspection; Meta characters check; HTTP protocol compliance; evasion techniques; disallowed file types; JSON & XML well-formedness; sensitive parameters & Data Guard. +This guide explains how to enable F5 NGINX App Protect WAF on a F5 NGINXaaS for Azure (NGINXaaS) deployment. [F5 NGINX App Protect WAF](https://docs.nginx.com/nginx-app-protect-waf/v5) provides web application firewall (WAF) security protection for your web applications, including OWASP Top 10; response inspection; Meta characters check; HTTP protocol compliance; evasion techniques; disallowed file types; JSON & XML well-formedness; sensitive parameters & Data Guard. ## Before you start - NGINX App Protect WAF can only be enabled on NGINXaaS for Azure deployments with the **Standard v2** [plan]({{< ref "/nginxaas-azure/billing/overview.md" >}}) diff --git a/content/nginxaas-azure/billing/overview.md b/content/nginxaas-azure/billing/overview.md index 42c426eae..0301452fb 100644 --- a/content/nginxaas-azure/billing/overview.md +++ b/content/nginxaas-azure/billing/overview.md @@ -14,7 +14,7 @@ NGINXaaS for Azure is deployed into your Azure subscription. Your NGINXaaS deplo NGINXaaS for Azure is billed monthly based on hourly consumption. -F5 NGINX as a Service for Azure (NGINXaaS) provides two pricing plans. +F5 NGINXaaS for Azure (NGINXaaS) provides two pricing plans. ### Standard V2 plan diff --git a/content/nginxaas-azure/changelog-archive/changelog-2022.md b/content/nginxaas-azure/changelog-archive/changelog-2022.md index a0e8d10fa..9f94ac27e 100644 --- a/content/nginxaas-azure/changelog-archive/changelog-2022.md +++ b/content/nginxaas-azure/changelog-archive/changelog-2022.md @@ -5,7 +5,7 @@ toc: true url: /nginxaas/azure/changelog-archive/changelog-2022/ --- -Learn about the updates, new features, and resolved bugs in F5 NGINX as a Service for Azure during the year 2022. +Learn about the updates, new features, and resolved bugs in F5 NGINXaaS for Azure during the year 2022. To see the latest changes, visit the [Changelog]({{< ref "/nginxaas-azure/changelog" >}}) page. diff --git a/content/nginxaas-azure/changelog-archive/changelog-2023.md b/content/nginxaas-azure/changelog-archive/changelog-2023.md index 6f3eddf78..840a77bd5 100644 --- a/content/nginxaas-azure/changelog-archive/changelog-2023.md +++ b/content/nginxaas-azure/changelog-archive/changelog-2023.md @@ -5,7 +5,7 @@ toc: true url: /nginxaas/azure/changelog-archive/changelog-2023/ --- -Learn about the updates, new features, and resolved bugs in F5 NGINX as a Service for Azure during the year 2023. +Learn about the updates, new features, and resolved bugs in F5 NGINXaaS for Azure during the year 2023. To see the latest changes, visit the [Changelog]({{< ref "/nginxaas-azure/changelog" >}}) page. @@ -294,7 +294,7 @@ To see a list of currently active issues, visit the [Known issues]({{< ref "/ngi - {{% icon-feature %}} **NGINXaaS is generally available** - We are pleased to announce the general availability of NGINX as a Service (NGINXaaS), a first-party-like experience as a service co-developed by Microsoft and NGINX and tightly integrated into the [Azure](https://azure.microsoft.com/) ecosystem. + We are pleased to announce the general availability of NGINXaaS for Azure, a first-party-like experience as a service co-developed by Microsoft and NGINX and tightly integrated into the [Azure](https://azure.microsoft.com/) ecosystem. NGINXaaS, powered by [NGINX Plus](https://www.nginx.com/products/nginx/), is a fully managed service that removes the burden of deploying your own NGINX Plus cluster, installing libraries, upgrading, and managing it. diff --git a/content/nginxaas-azure/changelog-archive/changelog-2024.md b/content/nginxaas-azure/changelog-archive/changelog-2024.md index 2894053f8..eaf886bed 100644 --- a/content/nginxaas-azure/changelog-archive/changelog-2024.md +++ b/content/nginxaas-azure/changelog-archive/changelog-2024.md @@ -5,7 +5,7 @@ toc: true url: /nginxaas/azure/changelog-archive/changelog-2024/ --- -Learn about the updates, new features, and resolved bugs in F5 NGINX as a Service for Azure during the year 2024. +Learn about the updates, new features, and resolved bugs in F5 NGINXaaS for Azure during the year 2024. To see the latest changes, visit the [Changelog]({{< ref "/nginxaas-azure/changelog" >}}) page. diff --git a/content/nginxaas-azure/changelog.md b/content/nginxaas-azure/changelog.md index e9470ef8e..0d3ee4efe 100644 --- a/content/nginxaas-azure/changelog.md +++ b/content/nginxaas-azure/changelog.md @@ -7,7 +7,7 @@ url: /nginxaas/azure/changelog/ --- -Learn about the latest updates, new features, and resolved bugs in F5 NGINX as a Service for Azure. +Learn about the latest updates, new features, and resolved bugs in F5 NGINXaaS for Azure. To see a list of currently active issues, visit the [Known issues]({{< ref "/nginxaas-azure/known-issues.md" >}}) page. diff --git a/content/nginxaas-azure/client-tools/cli.md b/content/nginxaas-azure/client-tools/cli.md index 1731e17ec..fa96127c8 100644 --- a/content/nginxaas-azure/client-tools/cli.md +++ b/content/nginxaas-azure/client-tools/cli.md @@ -9,7 +9,7 @@ type: - task --- -F5 NGINX as a Service for Azure (NGINXaaS) deployments can be managed using the [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/). This document outlines how to install the CLI tool including the NGINX extension. +F5 NGINXaaS for Azure (NGINXaaS) deployments can be managed using the [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/). This document outlines how to install the CLI tool including the NGINX extension. ## Prerequisites diff --git a/content/nginxaas-azure/client-tools/sdk.md b/content/nginxaas-azure/client-tools/sdk.md index 55e41e647..6c8d65428 100644 --- a/content/nginxaas-azure/client-tools/sdk.md +++ b/content/nginxaas-azure/client-tools/sdk.md @@ -10,7 +10,7 @@ type: - task --- -F5 NGINX as a Service for Azure (NGINXaaS) deployments can be managed using the multi-language SDK. This document outlines common workflows using the Python SDK. You can find example code to manage NGINXaaS deployments and related objects in the NGINXaaS GitHub repository, [NGINXaaS Snippets](https://github.com/nginxinc/nginxaas-for-azure-snippets/tree/main/sdk/python/). +F5 NGINXaaS for Azure (NGINXaaS) deployments can be managed using the multi-language SDK. This document outlines common workflows using the Python SDK. You can find example code to manage NGINXaaS deployments and related objects in the NGINXaaS GitHub repository, [NGINXaaS Snippets](https://github.com/nginxinc/nginxaas-for-azure-snippets/tree/main/sdk/python/). ## Prerequisites diff --git a/content/nginxaas-azure/client-tools/templates.md b/content/nginxaas-azure/client-tools/templates.md index aae949498..f4f0a1623 100644 --- a/content/nginxaas-azure/client-tools/templates.md +++ b/content/nginxaas-azure/client-tools/templates.md @@ -10,7 +10,7 @@ type: - task --- -F5 NGINX as a Service for Azure (NGINXaaS) deployments can be managed using the ARM API or the Azure CLI with ARM template deployments using JSON or Bicep formats. These deployments can be made locally or in a continuous integration pipeline. This document outlines common workflows using the ARM API. You can find example code to manage NGINXaaS deployments and related objects in the NGINXaaS GitHub repository, [NGINXaaS Snippets](https://github.com/nginxinc/nginxaas-for-azure-snippets). +F5 NGINXaaS for Azure (NGINXaaS) deployments can be managed using the ARM API or the Azure CLI with ARM template deployments using JSON or Bicep formats. These deployments can be made locally or in a continuous integration pipeline. This document outlines common workflows using the ARM API. You can find example code to manage NGINXaaS deployments and related objects in the NGINXaaS GitHub repository, [NGINXaaS Snippets](https://github.com/nginxinc/nginxaas-for-azure-snippets). ## Prerequisites diff --git a/content/nginxaas-azure/client-tools/terraform.md b/content/nginxaas-azure/client-tools/terraform.md index e9baec4f1..08631dfa8 100644 --- a/content/nginxaas-azure/client-tools/terraform.md +++ b/content/nginxaas-azure/client-tools/terraform.md @@ -10,7 +10,7 @@ type: - task --- -F5 NGINX as a Service for Azure (NGINXaaS) deployments can be managed using Terraform. This document outlines common Terraform workflows for NGINXaaS. +F5 NGINXaaS for Azure (NGINXaaS) deployments can be managed using Terraform. This document outlines common Terraform workflows for NGINXaaS. ## Prerequisites diff --git a/content/nginxaas-azure/disaster-recovery.md b/content/nginxaas-azure/disaster-recovery.md index 0d0a150ae..d972fb0ed 100644 --- a/content/nginxaas-azure/disaster-recovery.md +++ b/content/nginxaas-azure/disaster-recovery.md @@ -8,7 +8,7 @@ type: --- -This guide describes how to configure disaster recovery (DR) for F5 NGINX as a Service for Azure deployments in separate (ideally [paired](https://learn.microsoft.com/en-us/azure/reliability/regions-paired)) Azure regions, ensuring upstream access remains available even if the primary NGINXaaS deployment in a region fails. The deployment architecture ensures users can access backend application servers (upstreams) continuously from an alternative region if the primary NGINXaaS deployment becomes unavailable. The solution leverages Terraform, Azure Traffic Manager, Azure Virtual Network (VNet) peering, and unique subnets to support failover. +This guide describes how to configure disaster recovery (DR) for F5 NGINXaaS for Azure deployments in separate (ideally [paired](https://learn.microsoft.com/en-us/azure/reliability/regions-paired)) Azure regions, ensuring upstream access remains available even if the primary NGINXaaS deployment in a region fails. The deployment architecture ensures users can access backend application servers (upstreams) continuously from an alternative region if the primary NGINXaaS deployment becomes unavailable. The solution leverages Terraform, Azure Traffic Manager, Azure Virtual Network (VNet) peering, and unique subnets to support failover. --- @@ -42,7 +42,7 @@ This guide describes how to configure disaster recovery (DR) for F5 NGINX as a S ### Step 1: Terrraform setup -To get started, please review the [Terraform prerequisites]({{< ref "/nginxaas-azure/getting-started/create-deployment/deploy-terraform.md#prerequisites" >}}) for NGINX as a Service for Azure. +To get started, please review the [Terraform prerequisites]({{< ref "/nginxaas-azure/getting-started/create-deployment/deploy-terraform.md#prerequisites" >}}) for NGINXaaS for Azure. The following steps outline Terraform resources required to set up the disaster recovery topology; these resources can be placed in a `main.tf` file, variables used by these resources can go into `variables.tf`, and outputs you need to collect can be defined in `outputs.tf`. The directory structure looks as follows: ```bash diff --git a/content/nginxaas-azure/get-help.md b/content/nginxaas-azure/get-help.md index bd8e22aa1..63e29842a 100644 --- a/content/nginxaas-azure/get-help.md +++ b/content/nginxaas-azure/get-help.md @@ -10,7 +10,7 @@ type: ## Contact NGINX support -To contact support about F5 NGINX as a Service for Azure (NGINXaaS): +To contact support about F5 NGINXaaS for Azure (NGINXaaS): 1. Go to your NGINXaaS deployment. @@ -51,7 +51,7 @@ If your deployment is configured to use NGINX App Protect WAF, please collect th To provide or update the preferred support contact email: -1. Go to your NGINX as a Service (NGINXaaS) for Azure deployment. +1. Go to your NGINXaaS for Azure deployment. 2. Select **New Support request** in the left menu. diff --git a/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md b/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md index 3182aec32..cbbd5bf26 100644 --- a/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md +++ b/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md @@ -9,7 +9,7 @@ type: ## Overview -The Azure CLI has an extension to be used for management of F5 NGINX as a Service for Azure (NGINXaaS) deployments whether that be locally or in continuous integration pipelines. This document links you to information around basic NGINXaaS extension usage. +The Azure CLI has an extension to be used for management of F5 NGINXaaS for Azure (NGINXaaS) deployments whether that be locally or in continuous integration pipelines. This document links you to information around basic NGINXaaS extension usage. ## Prerequisites diff --git a/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md b/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md index 8a146eaa8..6593413c0 100644 --- a/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md +++ b/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md @@ -10,9 +10,9 @@ type: ## Overview -This guide explains how to deploy F5 NGINX as a Service for Azure (NGINXaaS) using [Microsoft Azure portal](https://azure.microsoft.com/en-us/get-started/azure-portal). The deployment process involves creating a new deployment, configuring the deployment, and testing the deployment. +This guide explains how to deploy F5 NGINXaaS for Azure (NGINXaaS) using [Microsoft Azure portal](https://azure.microsoft.com/en-us/get-started/azure-portal). The deployment process involves creating a new deployment, configuring the deployment, and testing the deployment. -## Find the NGINX as a Service for Azure offer in the Azure portal +## Find the NGINXaaS for Azure offer in the Azure portal You can start the NGINXaaS deployment process by visiting the [Create NGINXaaS](https://portal.azure.com/#create/f5-networks.f5-nginx-for-azure) page or finding the NGINXaaS service in the Azure portal: @@ -27,7 +27,7 @@ You can start the NGINXaaS deployment process by visiting the [Create NGINXaaS]( 1. On the Create NGINXaaS Deployment **Basics** page, provide the following information: - {{}} + {{< table >}} | Field | Description | |---------------------------- | ---------------------------- | | Subscription | Select the appropriate Azure subscription that you have access to.| @@ -39,7 +39,7 @@ You can start the NGINXaaS deployment process by visiting the [Create NGINXaaS]( | Email | Provide an email address that can be notified about service alerts, maintenance data and activity reports. | | Upgrade Channel | Select the desired upgrade channel for your deployment. For more information, see [Upgrade Channels]({{< ref "/nginxaas-azure/quickstart/upgrade-channels.md" >}}). | - {{}} + {{< /table >}} 1. Next, select **Networking**. @@ -47,7 +47,7 @@ You can start the NGINXaaS deployment process by visiting the [Create NGINXaaS]( 1. On the Create NGINXaaS Deployment **Networking** page, provide the following information: - {{}} + {{< table >}} | Field | Description | |---------------------------- | ---------------------------- | | Virtual Network | A virtual network is required for communication between the resources you create.
      You can create a new virtual network or use an existing one (for an existing one see note below).
      Additionally, you can peer a new virtual network with existing ones (in any region) to create network access from NGINXaaS for Azure to your upstream servers. To peer the virtual network with another see [Create, change, or delete a virtual network peering](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-manage-peering).| @@ -56,7 +56,7 @@ You can start the NGINXaaS deployment process by visiting the [Create NGINXaaS]( | IP address | Set the IP address (public or private) that the service listens to for requests:

      If you select a public IP address:
      - Create a new public IP or use an existing one (for an existing one see the note below).
      - Set the resource name for your public IP address.
      Newly created public IPs are [zone-redundant in supported regions](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/public-ip-addresses#availability-zone).

      If you select a private IP address:
      - Provide a static IP address from the same subnet range set previously. | | Inbound port rules | Select `None` to disallow inbound access on any port, or choose to allow traffic from one of these common http(s) ports.

      **Note:** This option is only available when specifying a new virtual network as part of the create workflow. If you select an existing virtual network which is associated with a subnet and Network Security Group (NSG), you will need to edit the Inbound security rules to add access for the specific ports you want to allow (for example, ports 80 and 443).| | Apply default NGINX configuration | Confirm that you want your NGINXaaS deployment to be bootstrapped with a default NGINX configuration and a browsable splash page. | - {{
      }} + {{< /table >}} #### Notes on subnets: diff --git a/content/nginxaas-azure/getting-started/create-deployment/deploy-terraform.md b/content/nginxaas-azure/getting-started/create-deployment/deploy-terraform.md index e4c175a4d..eeabd0296 100644 --- a/content/nginxaas-azure/getting-started/create-deployment/deploy-terraform.md +++ b/content/nginxaas-azure/getting-started/create-deployment/deploy-terraform.md @@ -9,7 +9,7 @@ type: ## Overview -F5 NGINX as a Service for Azure (NGINXaaS) deployments can be managed using Terraform. This document outlines common Terraform workflows for NGINXaaS. +F5 NGINXaaS for Azure (NGINXaaS) deployments can be managed using Terraform. This document outlines common Terraform workflows for NGINXaaS. ## Prerequisites diff --git a/content/nginxaas-azure/getting-started/managed-identity-portal.md b/content/nginxaas-azure/getting-started/managed-identity-portal.md index 2d91fd063..297d79ed2 100644 --- a/content/nginxaas-azure/getting-started/managed-identity-portal.md +++ b/content/nginxaas-azure/getting-started/managed-identity-portal.md @@ -10,7 +10,7 @@ type: ## Overview -F5 NGINX as a Service for Azure (NGINXaaS) leverages a user assigned and a system assigned managed identity for some of its integrations with Azure, such as: +F5 NGINXaaS for Azure (NGINXaaS) leverages a user assigned and a system assigned managed identity for some of its integrations with Azure, such as: - Azure Key Vault (AKV): fetch SSL/TLS certificates from AKV to your NGINXaaS deployment, so that they can be referenced by your NGINX configuration. diff --git a/content/nginxaas-azure/getting-started/migrate-from-standard.md b/content/nginxaas-azure/getting-started/migrate-from-standard.md index f0922ddd3..1537b1335 100644 --- a/content/nginxaas-azure/getting-started/migrate-from-standard.md +++ b/content/nginxaas-azure/getting-started/migrate-from-standard.md @@ -9,7 +9,7 @@ type: ## Overview -F5 NGINX as a Service for Azure (NGINXaaS) now supports in-place migration from Standard plan to the Standard V2 plan, we encourage you to upgrade your deployment to the Standard V2 plan as soon as possible. **The Standard plan is scheduled for retirement on May 1, 2025**. If you fail to migrate by May 1, 2025, your NGINXaaS deployment will stop receiving automatic updates that address critical security issues. +F5 NGINXaaS for Azure (NGINXaaS) now supports in-place migration from Standard plan to the Standard V2 plan, we encourage you to upgrade your deployment to the Standard V2 plan as soon as possible. **The Standard plan is scheduled for retirement on May 1, 2025**. If you fail to migrate by May 1, 2025, your NGINXaaS deployment will stop receiving automatic updates that address critical security issues. The Standard V2 plan maintains the same price as the Standard plan for existing capabilities. Enabling new capabilities such as NGINX App Protect WAF or additional listen ports that were added as part of Standard V2 will incur additional charges. diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-azure-cli.md b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-azure-cli.md index 1c5015b2e..5e4d330df 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-azure-cli.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-azure-cli.md @@ -9,7 +9,7 @@ type: ## Overview -F5 NGINX as a Service for Azure (NGINXaaS) configurations can be managed using the Azure CLI. This document outlines common Azure CLI workflows to validate, create, and update NGINX configurations. +F5 NGINXaaS for Azure (NGINXaaS) configurations can be managed using the Azure CLI. This document outlines common Azure CLI workflows to validate, create, and update NGINX configurations. ## Prerequisites diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md index c3d4b769b..f380c2d89 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md @@ -13,7 +13,7 @@ An NGINX configuration can be applied to the deployment using the Azure portal i - Create a new NGINX configuration from scratch or by pasting it in the Azure portal editor. - Upload a gzip compressed tar archive containing your NGINX configuration. -As part of applying your NGINX configuration, the service validates the configuration for syntax and compatibility with F5 NGINX as a Service for Azure (NGINXaaS). The use of certain directives and parameters is not allowed to ensure the NGINX configuration’s compatibility with IaaS deployment model in Azure. Validation errors are reported in the editor for you to correct. For more information, check the [NGINX Configuration Validation]({{< ref "nginx-configuration.md#nginx-configuration-validation" >}}) section. +As part of applying your NGINX configuration, the service validates the configuration for syntax and compatibility with F5 NGINXaaS for Azure (NGINXaaS). The use of certain directives and parameters is not allowed to ensure the NGINX configuration’s compatibility with IaaS deployment model in Azure. Validation errors are reported in the editor for you to correct. For more information, check the [NGINX Configuration Validation]({{< ref "nginx-configuration.md#nginx-configuration-validation" >}}) section. {{< call-out "note" >}} NGINXaaS supports Layer 7 HTTP loadbalancing. To configure .com and .net servers, refer to the server name in the server block within the HTTP context. To learn more, and see examples, follow the instructions in the [NGINX configuration validtion]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md#nginx-configuration-validation" >}}) section.{{< /call-out >}} @@ -34,13 +34,13 @@ NGINXaaS supports Layer 7 HTTP loadbalancing. To configure .com and .net servers 1. Select {{< icon "fa fa-plus">}}**New File** to add a file path, then **Confirm**. - {{}} + {{< table >}} | Property | Description | | -------- | ----------- | | File path | Each NGINX configuration file can be uniquely identified by a file path (for example, nginx.conf or /etc/nginx/nginx.conf) to align with the intended NGINX configuration file structure. | | Root file | The root file is the main NGINX configuration file.
      • The first file created will be the root file by default. You can designate a different root file if you have more than a single configuration file in your deployment.
      • The root file is designated with a {{< golden-star >}} icon on the portal.
      | | Protected File | Indicates that the file may contain sensitive data such as passwords or represent an ssl/tls certificate.
      • To protect a file, enable the **Protected** {{}} toggle button.
      • You cannot access the file contents of a protected file saved to the NGINX configuration, but you can view its metadata, such as the SHA-256 hash of the file contents.
      • You can provide new contents for an existing protected file using the **Overwrite** link or resubmit it without having to provide the file contents again.
      • To modify the file path of a protected file or convert it to a regular file, delete the original file and create a new one.
      • A protected file is designated with a {{}} icon on the portal.
      | - {{
      }} + {{< /table >}} {{< call-out "note" >}}If specifying an absolute file path, see the [NGINX Filesystem Restrictions table]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/overview/#nginx-filesystem-restrictions" >}}) for the allowed directories the file can be written to.{{< /call-out >}} diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configurations-terraform.md b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configurations-terraform.md index 03789d9d3..c7d67ce1e 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configurations-terraform.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configurations-terraform.md @@ -9,7 +9,7 @@ type: ## Overview -F5 NGINX as a Service for Azure (NGINXaaS) configurations can be managed using Terraform. This document outlines common Terraform workflows for NGINXaaS. +F5 NGINXaaS for Azure (NGINXaaS) configurations can be managed using Terraform. This document outlines common Terraform workflows for NGINXaaS. ## Prerequisites diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/overview.md b/content/nginxaas-azure/getting-started/nginx-configuration/overview.md index 6d3f4910a..39684935c 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/overview.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/overview.md @@ -8,7 +8,7 @@ type: --- This document provides details about using NGINX configuration files with your -F5 NGINX as a Service for Azure deployment, restrictions, and available directives. +F5 NGINXaaS for Azure deployment, restrictions, and available directives. ## NGINX configuration common user workflows @@ -27,7 +27,7 @@ NGINX configurations stored in GitHub can be applied to existing NGINXaaS for Az ## NGINX filesystem restrictions NGINXaaS for Azure places restrictions on the instance's filesystem; only a specific set of directories are allowed to be read from and written to. Below is a table describing what directories the NGINX worker process can read and write to and what directories files can be written to. These files include certificate files and any files uploaded to the deployment, excluding NGINX configuration files. - {{}} + {{< table >}} | Allowed Directory | NGINX worker process can read/write to | Files can be written to | |------------------ | ----------------- | ----------------- | | /etc/nginx | | ✓ | @@ -36,14 +36,14 @@ NGINXaaS for Azure places restrictions on the instance's filesystem; only a spec | /tmp | ✓ | | | /var/cache/nginx | ✓ | | | /var/www | ✓ | ✓ | -{{}} +{{< /table >}} Attempts to access other directories will be denied and result in a `5xx` error. ## Disallowed configuration directives Some directives are not supported because of specific limitations. If you include one of these directives in your NGINX configuration, you'll get an error. - {{}} + {{< table >}} | Disallowed Directive | Reason | |------------------ | ----------------- | | ssl_engine | No hardware SSL accelerator is available. | @@ -51,14 +51,14 @@ Some directives are not supported because of specific limitations. If you includ | fastcgi_bind
      grpc_bind
      memcached_bind
      proxy_bind
      scgi_bind
      uwsgi_bind | Source IP specification for active-active deployments is not allowed. | | quic_bpf | QUIC connection migration is not currently supported for active-active deployments. | -{{
      }} +{{< /table >}} You may find that a few directives are not listed here as either allowed or disallowed. Our team is working on getting these directives supported soon. ## Directives that cannot be overridden Some directives cannot be overridden by the user provided configuration. - {{}} + {{< table >}} | Persistent Directive | Value | Reason | |------------------ | ----------------------- | -----------------| | `user` | `nginx` | The `nginx` user has the correct permissions for accessing certificates, policy files and other auxfiles. | @@ -69,7 +69,7 @@ Some directives cannot be overridden by the user provided configuration. | `master_process` | `on` | This directive is intended for NGINX developers. | | `worker_cpu_affinity` | `auto` | The value `auto` allows binding worker processes automatically to available CPUs based on the current capacity of the deployment. | -{{}} +{{< /table >}} ## NGINX listen port restrictions diff --git a/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md b/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md index 580baf1b4..4e118bd21 100644 --- a/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md +++ b/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md @@ -7,9 +7,9 @@ type: - how-to --- -F5 NGINX as a Service for Azure (NGINXaaS) enables customers to secure traffic by adding SSL/TLS certificates to a deployment. NGINXaaS can fetch certificates directly from Azure Key Vault, rotate certificates, and provide observability on the status of your certificates. +F5 NGINXaaS for Azure (NGINXaaS) enables customers to secure traffic by adding SSL/TLS certificates to a deployment. NGINXaaS can fetch certificates directly from Azure Key Vault, rotate certificates, and provide observability on the status of your certificates. -This document provides details about using SSL/TLS certificates with your F5 NGINX as a Service for Azure deployment. +This document provides details about using SSL/TLS certificates with your F5 NGINXaaS for Azure deployment. ## Supported certificate types and formats @@ -62,7 +62,7 @@ For Azure client tools, such as the Azure CLI or Azure Resource Manager, the cer To view the status of your SSL/TLS certificates, [enable monitoring]({{< ref "/nginxaas-azure/monitoring/enable-monitoring.md" >}}) for your NGINXaaS deployment and navigate to the **Metrics** tab in the Azure portal. View the `nginxaas.certificates` metric under the `nginxaas statistics` metric namespace. The `nginxaas.certificates` metric allows you to filter by certificate name and the status of the certificate. The status dimension reports the health of your certificates through the following values: - {{}} + {{< table >}} | Status | Description | | ------------- | ------------- | @@ -71,7 +71,7 @@ To view the status of your SSL/TLS certificates, [enable monitoring]({{< ref "/n | `not found` | Azure returned a 404 error when fetching the certificate from AKV. | | `incompatible`| An error occurred while fetching or processing the certificate from AKV.

      The possible reasons include:

      • Error while downloading certificate and key
      • Missing content type in certificate
      • Missing content in certificate
      • Unrecognized content type, certificate not in PEM or PKCS12 format
      | - {{
      }} + {{< /table >}} {{< img src="nginxaas-azure/azure-metrics-nginxaas.certificates.png" alt="Interface screenshot showing the Azure metric nginxaas.certificates" >}} diff --git a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-azure-cli.md b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-azure-cli.md index 1c8f189c7..54d8b9f94 100644 --- a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-azure-cli.md +++ b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-azure-cli.md @@ -7,7 +7,7 @@ type: - how-to --- -You can use Azure Key Vault (AKV) to store SSL/TLS certificates and keys to use in your F5 NGINX as a Service for Azure (NGINXaaS) configuration. +You can use Azure Key Vault (AKV) to store SSL/TLS certificates and keys to use in your F5 NGINXaaS for Azure (NGINXaaS) configuration. ### Prerequisites diff --git a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md index bb6c0fc65..c2d9e9106 100644 --- a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md +++ b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md @@ -10,7 +10,7 @@ type: ## Overview -You can manage SSL/TSL certificates for F5 NGINX as a Service for Azure (NGINXaaS) using the Azure portal. +You can manage SSL/TSL certificates for F5 NGINXaaS for Azure (NGINXaaS) using the Azure portal. ## Prerequisites @@ -28,22 +28,22 @@ Before you begin, refer Azure documentation to [Import a certificate to your Key 1. Provide the required information: - {{}} + {{< table >}} | Field | Description | |---------------------------- | ---------------------------- | | Name | A unique name for the certificate. | | Certificate path | This path can match one or more `ssl_certificate` directive file arguments in your NGINX configuration.
      The certificate path must be unique within the same deployment. | | Key path | This path can match one or more `ssl_certificate_key` directive file arguments in your NGINX configuration.
      The key path must be unique within the same deployment.
      The key path and certificate path can be the same within the certificate. | - {{
      }} + {{< /table >}} - The **Select certificate** button will take you to a new screen where you will need to provide the following information: - {{}} + {{< table >}} | Field | Description | |----------------------- | ---------------------------- | | Key vault | Select from the available key vaults. | | Certificate | Select the certificate you want to add from the previously selected key vault. | - {{}} + {{< /table >}} If you need to create a new key vault or certificate, you can do so by selecting **Create new key vault** or **Create new** under the **Key Vault** and **Certificate** fields, respectively. diff --git a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-terraform.md b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-terraform.md index a904e7a5d..1940eb05d 100644 --- a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-terraform.md +++ b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-terraform.md @@ -9,7 +9,7 @@ type: ## Overview -You can manage SSL/TSL certificates for F5 NGINX as a Service for Azure (NGINXaaS) using Terraform. +You can manage SSL/TSL certificates for F5 NGINXaaS for Azure (NGINXaaS) using Terraform. ## Prerequisites diff --git a/content/nginxaas-azure/known-issues.md b/content/nginxaas-azure/known-issues.md index 29cd3214f..e307fbdf5 100644 --- a/content/nginxaas-azure/known-issues.md +++ b/content/nginxaas-azure/known-issues.md @@ -7,7 +7,7 @@ url: /nginxaas/azure/known-issues/ --- -List of known issues in the latest release of F5 NGINX as a Service for Azure (NGINXaaS). +List of known issues in the latest release of F5 NGINXaaS for Azure (NGINXaaS). ### {{% icon-bug %}} Custom and precompiled security policies cannot both be referenced in an NGINX configuration diff --git a/content/nginxaas-azure/loadbalancer-kubernetes.md b/content/nginxaas-azure/loadbalancer-kubernetes.md index 9ea1a46d4..836e6188a 100644 --- a/content/nginxaas-azure/loadbalancer-kubernetes.md +++ b/content/nginxaas-azure/loadbalancer-kubernetes.md @@ -186,18 +186,18 @@ You can also install the NLK controller AKS extension by navigating to [F5 NGINX - Select **Continue** to proceed with the installation. - On the **Basics** tab, provide the following information: - {{}} + {{< table >}} | Field | Description | |---------------------------- | ---------------------------- | | Subscription | Select the appropriate Azure subscription. | | Resource group | Select the AKS cluster's resource group. | - {{}} + {{< /table >}} - Select **Cluster Details**, and provide the AKS cluster name. You can select an existing AKS cluster or create a new one. - Select **Application Details**, and provide the following information: - {{}} + {{< table >}} | Field | Description | |---------------------------- | ---------------------------- | @@ -206,7 +206,7 @@ You can also install the NLK controller AKS extension by navigating to [F5 NGINX | Allow minor version upgrades of extension | Select whether to allow the extension to be upgraded automatically to the latest minor version. | | NGINXaaS Dataplane API Key | Provide the previously generated data plane API key value: `{keyValue}` | | NGINXaaS Dataplane API Endpoint | Provide the previously retrieved data plane API endpoint value: `{dataplaneAPIEndpoint}nplus` | - {{}} + {{< /table >}} - Select **Review + Create** to continue. - Azure will validate the extension settings. This page will provide a summary of the provided information. Select **Create**. diff --git a/content/nginxaas-azure/module-changelog.md b/content/nginxaas-azure/module-changelog.md index efc14c51c..28d052c79 100644 --- a/content/nginxaas-azure/module-changelog.md +++ b/content/nginxaas-azure/module-changelog.md @@ -5,14 +5,14 @@ toc: true url: /nginxaas/azure/module-changelog/ --- -Learn about the modules supported by the latest versions of F5 NGINX as a Service for Azure. +Learn about the modules supported by the latest versions of F5 NGINXaaS for Azure. ## July 03, 2025 ### Stable - {{}} + {{< table >}} | Name | Version | Description | |------------------------------------------|--------------------------|------------------------------------------------------------------------| @@ -30,13 +30,13 @@ Learn about the modules supported by the latest versions of F5 NGINX as a Servic | nginx-plus-module-appprotect | 33+5.264.0-1 | NGINX Plus app protect dynamic module version 5.264.0 | | app-protect-module-plus | 33+5.264.0-1 | App-Protect package for Nginx Plus, includes all of the default files and examples. NGINX App Protect provides web application firewall (WAF) security protection for your web applications, including OWASP Top 10 attacks. | | app-protect-plugin | 6.9.0-1 | NGINX App Protect plugin | -{{}} +{{< /table >}} ### Preview - {{}} + {{< table >}} | Name | Version | Description | |------------------------------------------|--------------------------|------------------------------------------------------------------------| @@ -54,4 +54,4 @@ Learn about the modules supported by the latest versions of F5 NGINX as a Servic | nginx-plus-module-appprotect | 33+5.264.0-1 | NGINX Plus app protect dynamic module version 5.264.0 | | app-protect-module-plus | 33+5.264.0-1 | App-Protect package for Nginx Plus, includes all of the default files and examples. NGINX App Protect provides web application firewall (WAF) security protection for your web applications, including OWASP Top 10 attacks. | | app-protect-plugin | 6.9.0-1 | NGINX App Protect plugin | -{{}} +{{< /table >}} diff --git a/content/nginxaas-azure/monitoring/configure-alerts.md b/content/nginxaas-azure/monitoring/configure-alerts.md index 85543bd35..7ad4027a4 100644 --- a/content/nginxaas-azure/monitoring/configure-alerts.md +++ b/content/nginxaas-azure/monitoring/configure-alerts.md @@ -11,7 +11,7 @@ type: ## Overview -{{< call-out "note" >}}F5 NGINX as a Service for Azure (NGINXaaS) publishes platform metrics to Azure Monitor. To learn more about how to create and manage metrics-based alert rules, refer to the [Alerts section in Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-create-new-alert-rule?tabs=metric) documentation from Microsoft. {{< /call-out >}} +{{< call-out "note" >}}F5 NGINXaaS for Azure (NGINXaaS) publishes platform metrics to Azure Monitor. To learn more about how to create and manage metrics-based alert rules, refer to the [Alerts section in Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-create-new-alert-rule?tabs=metric) documentation from Microsoft. {{< /call-out >}} This guide explains how to create and configure metrics-based alerts for your NGINXaaS for Azure deployment using Azure Monitor. diff --git a/content/nginxaas-azure/monitoring/enable-logging/logging-using-cli.md b/content/nginxaas-azure/monitoring/enable-logging/logging-using-cli.md index 08b1362c4..83f272526 100644 --- a/content/nginxaas-azure/monitoring/enable-logging/logging-using-cli.md +++ b/content/nginxaas-azure/monitoring/enable-logging/logging-using-cli.md @@ -10,7 +10,7 @@ type: ## Overview -F5 NGINX as a Service for Azure (NGINXaaS) supports integrating Azure Diagnostic Settings to collect NGINX error and access logs. +F5 NGINXaaS for Azure (NGINXaaS) supports integrating Azure Diagnostic Settings to collect NGINX error and access logs. {{< call-out "caution" >}} Enabling logs using the **NGINX Logs** blade on your NGINXaaS deployment is now deprecated. This feature will be removed in an upcoming update. If you have issues accessing your NGINX logs using the deprecated method, please follow the steps in this guide to access your NGINX logs. diff --git a/content/nginxaas-azure/monitoring/enable-logging/logging-using-portal.md b/content/nginxaas-azure/monitoring/enable-logging/logging-using-portal.md index 0f206a5b0..2ba868281 100644 --- a/content/nginxaas-azure/monitoring/enable-logging/logging-using-portal.md +++ b/content/nginxaas-azure/monitoring/enable-logging/logging-using-portal.md @@ -10,7 +10,7 @@ type: ## Overview -F5 NGINX as a Service for Azure (NGINXaaS) supports integrating Azure Diagnostic Settings to collect NGINX error and access logs. +F5 NGINXaaS for Azure (NGINXaaS) supports integrating Azure Diagnostic Settings to collect NGINX error and access logs. {{< call-out "caution" >}} Enabling logs using the **NGINX Logs** blade on your NGINXaaS deployment is now deprecated. This feature will be removed in an upcoming update. If you have issues accessing your NGINX logs using the deprecated method, please follow the steps in this guide to access your NGINX logs. diff --git a/content/nginxaas-azure/monitoring/enable-logging/logging-using-terraform.md b/content/nginxaas-azure/monitoring/enable-logging/logging-using-terraform.md index 8e544f5a2..e39f66416 100644 --- a/content/nginxaas-azure/monitoring/enable-logging/logging-using-terraform.md +++ b/content/nginxaas-azure/monitoring/enable-logging/logging-using-terraform.md @@ -10,7 +10,7 @@ type: ## Overview -F5 NGINX as a Service for Azure (NGINXaaS) supports integrating Azure Diagnostic Settings to collect NGINX error and access logs. +F5 NGINXaaS for Azure (NGINXaaS) supports integrating Azure Diagnostic Settings to collect NGINX error and access logs. {{< call-out "caution" >}} Enabling logs using the **NGINX Logs** blade on your NGINXaaS deployment is now deprecated. This feature will be removed in an upcoming update. If you have issues accessing your NGINX logs using the deprecated method, please follow the steps in this guide to access your NGINX logs. diff --git a/content/nginxaas-azure/monitoring/enable-monitoring.md b/content/nginxaas-azure/monitoring/enable-monitoring.md index f37b706f7..a743ec663 100644 --- a/content/nginxaas-azure/monitoring/enable-monitoring.md +++ b/content/nginxaas-azure/monitoring/enable-monitoring.md @@ -8,7 +8,7 @@ type: - how-to --- -Monitoring your application's performance is crucial for maintaining its reliability and efficiency. F5 NGINX as a Service for Azure (NGINXaaS) seamlessly integrates with Azure Monitor, allowing you to collect, correlate, and analyze metrics for a thorough understanding of your application's health and behavior. +Monitoring your application's performance is crucial for maintaining its reliability and efficiency. F5 NGINXaaS for Azure (NGINXaaS) seamlessly integrates with Azure Monitor, allowing you to collect, correlate, and analyze metrics for a thorough understanding of your application's health and behavior. Refer to the [Azure monitor overview](https://docs.microsoft.com/en-us/azure/azure-monitor/overview) documentation from Microsoft to learn more about Azure Monitor. diff --git a/content/nginxaas-azure/monitoring/metrics-catalog.md b/content/nginxaas-azure/monitoring/metrics-catalog.md index 0a6b06e0e..16ae9e82e 100644 --- a/content/nginxaas-azure/monitoring/metrics-catalog.md +++ b/content/nginxaas-azure/monitoring/metrics-catalog.md @@ -8,7 +8,7 @@ type: - concept --- -F5 NGINX as a Service for Azure (NGINXaaS) provides a rich set of metrics that you can use to monitor the health and performance of your NGINXaaS deployment. This document provides a catalog of the metrics that are available for monitoring NGINXaaS for Azure in Azure Monitor. +F5 NGINXaaS for Azure (NGINXaaS) provides a rich set of metrics that you can use to monitor the health and performance of your NGINXaaS deployment. This document provides a catalog of the metrics that are available for monitoring NGINXaaS for Azure in Azure Monitor. ## Available metrics @@ -32,7 +32,7 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio ### NGINXaaS statistics -{{}} +{{< table >}} | **Metric** | **Display Name** | **Dimensions** | **Type** | **Description** | **Roll-up per** | | --------------------- | --------------------------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | @@ -48,13 +48,13 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | system.listener_backlog.queue_limit | Listener backlog queue limit | listen_address, file_desc | count | The capacity of a specific backlog queue, labelled by listen address. | deployment | | system.listener_backlog.length | Listener backlog length | listen_address, file_desc | count | The number of items in a specific backlog queue, labelled by listen address. | deployment | -{{}} +{{< /table >}} {{< call-out "warning" >}}The `ncu.consumed` metric is now deprecated and is on the path to retirement. Please change any alerting on this metric to use the new Capacity Percentage metric.{{< /call-out >}} ### NGINX connections statistics -{{}} +{{< table >}} | **Metric** | **Display Name** | **Dimensions** | **Type** | **Description** | **Roll-up per** | |------------------------------|------------------|----------------|----------|---------------------------------------------------------------------------------------------------------------|-----------------| @@ -64,11 +64,11 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | nginx.conn.idle | Idle connections | build version | count | Idle Connections The average number of idle client connections during the aggregation interval. | deployment | | nginx.conn.current | Current connections | build version | count | Current Connections The average number of active and idle client connections during the aggregation interval. | deployment | -{{}} +{{< /table >}} ### NGINX requests and response statistics -{{}} +{{< table >}} | **Metric** | **Display Name** | **Dimensions** | **Type** | **Description** | **Roll-up per** | |----------------------------------------|------------------|-----------------------------|-------|-----------------------------------------------------------------------------------------------------------------------------|---------------| @@ -102,11 +102,11 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | plus.http.request.location_zone.bytes_rcvd | Location zone HTTP bytes received | build version location_zone | count | Location Zone Bytes Received The total number of bytes received from clients during the aggregation interval. | location zone | | plus.http.request.location_zone.bytes_sent | Location zone HTTP bytes sent | build version location_zone | count | Location Zone Bytes Sent The total number of bytes sent to clients during the aggregation interval. | location zone | -{{}} +{{< /table >}} ### NGINX SSL statistics -{{}} +{{< table >}} | **Metric** | **Display Name** | **Dimensions** | **Type** | **Description** | **Roll-up per** | |----------------------------------------|------------------|-----------------------------|-------|-----------------------------------------------------------------------------------------------------------------------------|---------------| @@ -134,11 +134,11 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | plus.http.ssl.verify_failures.revoked_cert | Verify failures - revoked cert | build version server_zone | count | SSL certificate verification errors - a revoked certificate was presented by a client during the aggregation interval. | server zone | | plus.http.ssl.verify_failures.other | Verify failures - other | build version server_zone | count | SSL certificate verification errors - other SSL certificate verification errors during the aggregation interval. | server zone | -{{}} +{{< /table >}} ### NGINX cache statistics -{{}} +{{< table >}} | **Metric** | **Display Name** | **Dimensions** | **Type** | **Description** | **Roll-up per** | |----------------------------------------|------------------|-----------------------------|-------|-----------------------------------------------------------------------------------------------------------------------------|---------------| @@ -164,11 +164,11 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | plus.cache.bypass.responses_written | Cache bypass responses written | build version cache_zone | count | The total number of responses that bypassed the cache and were written back to the cache during the aggregation interval. | cache zone | | plus.cache.bypass.bytes_written | Cache bypass bytes written | build version cache_zone | count | The total number of bytes that bypassed the cache and were written back to the cache during the aggregation interval. | cache zone | -{{}} +{{< /table >}} ### NGINX worker statistics -{{}} +{{< table >}} | **Metric** | **Display Name** | **Dimensions** | **Type** | **Description** | **Roll-up per** | |----------------------------------------|-------------------------------|-----------------------------|-------|-----------------------------------------------------------------------------------------------------------------------------|---------------| @@ -179,11 +179,11 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | plus.worker.http.request.total | Total worker HTTP requests | build version worker_id | count | The total number of client requests received by the worker process during the aggregation interval. | worker | | plus.worker.http.request.current | Current worker HTTP requests | build version worker_id | count | The current number of client requests that are currently being processed by the worker process during the aggregation interval. | worker | -{{}} +{{< /table >}} ### NGINX upstream statistics -{{}} +{{< table >}} | **Metric** | **Display Name** | **Dimensions** | **Type** | **Description** | **Roll-up per** | |-----------------------------------|-------------------------------|-----------------------------|-------|-----------------------------------------------------------------------------------------------------------------------------|---------------| @@ -238,11 +238,11 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | plus.stream.upstream.peers.ssl.verify_failures.hostname_mismatch | Stream verify failure - hostname mismatch | build version upstream peer.address peer.name | count | SSL certificate verification errors - server's certificate doesn't match the hostname during the aggregation interval. | upstream peer | | plus.stream.upstream.peers.ssl.verify_failures.other | Stream SSL verify failure - other | build version upstream peer.address peer.name | count | SSL certificate verification errors - other SSL certificate verification errors during the aggregation interval. | upstream peer | -{{}} +{{< /table >}} ### NGINX system statistics -{{}} +{{< table >}} | **Metric** | **Display Name** | **Dimensions** | **Type** | **Description** | **Roll-up per** | |----------------------------------------|------------------|-----------------------------|-------|-----------------------------------------------------------------------------------------------------------------------------|---------------| @@ -254,11 +254,11 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | system.interface.total_bytes| Interface total bytes | interface | count | System Interface Total Bytes, sum of bytes_sent and bytes_rcvd. | deployment | | system.interface.egress_throughput| Interface egress throughput | interface | count | System Interface Egress Throughput, i.e. bytes sent per second| deployment | -{{}} +{{< /table >}} ### NGINX stream statistics -{{}} +{{< table >}} | **Metric** | **Display Name** | **Dimensions** | **Type** | **Description** | **Roll-up per** | |----------------------------------------|-------------------------------|-----------------------------|-------|-----------------------------------------------------------------------------------------------------------------------------|---------------| @@ -310,11 +310,11 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | plus.stream.zone_sync.zones.records_pending | Zone sync records pending | build, version, shared_memory_zone | avg | The average number of records that need to be sent to the cluster during the aggregation interval. | shared memory zone | | plus.stream.zone_sync.zones.records_total | Zone sync records total | build, version, shared_memory_zone | avg | The average number of records stored in the shared memory zone by all nodes during the aggregation interval. | shared memory zone | -{{}} +{{< /table >}} ### NGINX resolver statistics -{{}} +{{< table >}} | **Metric** | **Display Name** | **Dimensions** | **Type** | **Description** | **Roll-up per** | |---------------------------------------|------------------------------|--------------------------------|----------|--------------------------------------------------------------------------------------------|-----------------| @@ -330,4 +330,4 @@ The metrics are categorized by the namespace used in Azure Monitor. The dimensio | plus.resolvers.responses.timedout | Timed out requests | build, version, resolver_zone | count | The number of timed out requests during the aggregation interval. | resolver zone | | plus.resolvers.responses.unknown | Unknown error responses | build, version, resolver_zone | count | The number of requests completed with an unknown error during the aggregation interval. | resolver zone | -{{}} +{{< /table >}} diff --git a/content/nginxaas-azure/overview/feature-comparison.md b/content/nginxaas-azure/overview/feature-comparison.md index f30da905f..8aec767b3 100644 --- a/content/nginxaas-azure/overview/feature-comparison.md +++ b/content/nginxaas-azure/overview/feature-comparison.md @@ -9,7 +9,7 @@ type: - concept --- -{{}} +{{< table >}} |**Load Balancer**
         |**NGINX Open
      Source** |**NGINX Plus
       ** |**F5 NGINXaaS
      for Azure** | |----------------------------------------|---------------------|---------------------|--------------------------| @@ -68,4 +68,4 @@ type: |  [Dynamic modules repository](https://www.f5.com/go/product/nginx-modules) | |{{}} |[Image-Filter](https://nginx.org/en/docs/http/ngx_http_image_filter_module.html)
      [njs](https://nginx.org/en/docs/njs/)
      [OpenTelemetry](https://nginx.org/en/docs/ngx_otel_module.html)
      [XSLT](https://nginx.org/en/docs/http/ngx_http_xslt_module.html) | |  Deployable as a service | | |Microsoft Azure | |  [Commercial support](https://my.f5.com/manage/s/article/K000140156/) | |{{}} |{{}} | -{{
      }} +{{< /table >}} diff --git a/content/nginxaas-azure/overview/overview.md b/content/nginxaas-azure/overview/overview.md index 01c6b65d2..1dac9cbb8 100644 --- a/content/nginxaas-azure/overview/overview.md +++ b/content/nginxaas-azure/overview/overview.md @@ -8,9 +8,9 @@ type: - concept --- -## What Is F5 NGINX as a Service for Azure? +## What Is F5 NGINXaaS for Azure? -NGINX as a Service for Azure is a service offering that is tightly integrated into Microsoft Azure public cloud and its ecosystem, making applications fast, efficient, and reliable with full lifecycle management of advanced NGINX traffic services. +NGINXaaS for Azure is a service offering that is tightly integrated into Microsoft Azure public cloud and its ecosystem, making applications fast, efficient, and reliable with full lifecycle management of advanced NGINX traffic services. NGINXaaS for Azure is available in the Azure Marketplace. NGINXaaS for Azure is powered by [NGINX Plus](https://www.nginx.com/products/nginx/), which extends NGINX Open Source with advanced functionality and provides customers with a complete application delivery solution. Initial use cases covered by NGINXaaS include L4 TCP and L7 HTTP load balancing and reverse proxy which can be managed through various Azure management tools. @@ -43,11 +43,11 @@ The key capabilities of NGINXaaS for Azure are: ## Supported regions NGINXaaS for Azure is supported in the following regions: -{{< bootstrap-table "table table-striped table-bordered" >}} +{{< table >}} | **North America** | **South America** | **Europe** | **Asia Pacific** | |----------------------------------------------------------|--------------------------------------------|--------------------------------------------|-------------------------| | West Central US
      West US
      East US 2
      West US 2
      West US 3
      East US
      Central US
      North Central US
      Canada Central | Brazil South | West Europe
      North Europe
      Sweden Central
      Germany West Central
      UK West
      UK South | Australia East
      Japan East
      Korea Central
      Southeast Asia
      Central India
      South India | -{{< /bootstrap-table >}} +{{< /table >}} ## NGINXaaS architecture @@ -82,4 +82,4 @@ With the Standard V2 Plan, NGINXaaS uses the following redundancy features to ke ## What's next -To get started, check the [NGINX as a Service for Azure prerequisites]({{< ref "/nginxaas-azure/getting-started/prerequisites.md" >}}) +To get started, check the [NGINXaaS for Azure prerequisites]({{< ref "/nginxaas-azure/getting-started/prerequisites.md" >}}) diff --git a/content/nginxaas-azure/quickstart/basic-caching.md b/content/nginxaas-azure/quickstart/basic-caching.md index 40b16402d..9c8060bfc 100644 --- a/content/nginxaas-azure/quickstart/basic-caching.md +++ b/content/nginxaas-azure/quickstart/basic-caching.md @@ -8,7 +8,7 @@ type: - how-to --- -F5 NGINX as a Service for Azure (NGINXaaS) supports caching using the [ngx_http_proxy_module](https://nginx.org/en/docs/http/ngx_http_proxy_module.html) module, improving performance by allowing content to be served from cache without having to contact upstream servers. For more information on caching with NGINX, see [NGINX Content Caching](https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/). +F5 NGINXaaS for Azure (NGINXaaS) supports caching using the [ngx_http_proxy_module](https://nginx.org/en/docs/http/ngx_http_proxy_module.html) module, improving performance by allowing content to be served from cache without having to contact upstream servers. For more information on caching with NGINX, see [NGINX Content Caching](https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/). ## Configuring caching ```nginx diff --git a/content/nginxaas-azure/quickstart/geoip2.md b/content/nginxaas-azure/quickstart/geoip2.md index 184f6530a..d5dd28639 100644 --- a/content/nginxaas-azure/quickstart/geoip2.md +++ b/content/nginxaas-azure/quickstart/geoip2.md @@ -9,7 +9,7 @@ type: ## Overview -F5 NGINX as a Service for Azure (NGINXaaS) supports GeoIP2 using the [`ngx_http_geoip2_module` or `ngx_stream_geoip2_module`](https://github.com/leev/ngx_http_geoip2_module) dynamic modules, enabling NGINXaaS to implement various user differentiation strategies. For more information on GeoIP2 with NGINX, see [NGINX GeoIP2](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/geoip2/). +F5 NGINXaaS for Azure (NGINXaaS) supports GeoIP2 using the [`ngx_http_geoip2_module` or `ngx_stream_geoip2_module`](https://github.com/leev/ngx_http_geoip2_module) dynamic modules, enabling NGINXaaS to implement various user differentiation strategies. For more information on GeoIP2 with NGINX, see [NGINX GeoIP2](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/geoip2/). NGINXaaS uses your MaxMind license to download GeoIP2 databases, puts them in the right place before NGINX starts, and updates the databases daily to reduce your operational overhead. All GeoIP2 data is deleted once you stop using GeoIP2 or delete your deployment. MaxMind provides a variety of [databases](https://www.maxmind.com/en/geoip-databases), including a lower accuracy [free option](https://www.maxmind.com/en/geolite2/signup). NGINXaaS uses a modified form of [MaxMind's `geoipupdate`](https://github.com/maxmind/geoipupdate). @@ -51,11 +51,11 @@ All licenses are [validated with MaxMind](https://dev.maxmind.com/license-key-va To view the status of your MaxMind license, [enable monitoring]({{< ref "/nginxaas-azure/monitoring/enable-monitoring.md" >}}) for your NGINXaaS deployment and navigate to the Metrics tab. View the `nginxaas.maxmind` metric under the `nginxaas statistics` metric namespace. The `nginxaas.maxmind` metric reports the health of your license through the `status` dimension: - {{}} + {{< table >}} | Status | Description | | -------------- | ------------------------------------------------------------------------------------------ | | `active` | The license is valid and in use to update GeoIP2 databases. | | `unauthorized` | MaxMind returned an license error, which usually indicates an issue with the `GeoIP.conf`. | - {{}} + {{< /table >}} diff --git a/content/nginxaas-azure/quickstart/hosting-static-content.md b/content/nginxaas-azure/quickstart/hosting-static-content.md index e72669cf7..05e418213 100644 --- a/content/nginxaas-azure/quickstart/hosting-static-content.md +++ b/content/nginxaas-azure/quickstart/hosting-static-content.md @@ -8,7 +8,7 @@ type: - how-to --- -F5 NGINX as a Service for Azure (NGINXaaS) supports hosting static content which allows users to serve static websites from their deployment. +F5 NGINXaaS for Azure (NGINXaaS) supports hosting static content which allows users to serve static websites from their deployment. ## Uploading static files as a tarball diff --git a/content/nginxaas-azure/quickstart/njs-support.md b/content/nginxaas-azure/quickstart/njs-support.md index d3948e7a1..6dff418a1 100644 --- a/content/nginxaas-azure/quickstart/njs-support.md +++ b/content/nginxaas-azure/quickstart/njs-support.md @@ -8,7 +8,7 @@ type: - how-to --- -F5 NGINX as a Service for Azure (NGINXaaS) supports the open-source [njs module](https://nginx.org/en/docs/http/ngx_http_js_module.html), allowing the extension of NGINX functionality with a subset of the Javascript language. +F5 NGINXaaS for Azure (NGINXaaS) supports the open-source [njs module](https://nginx.org/en/docs/http/ngx_http_js_module.html), allowing the extension of NGINX functionality with a subset of the Javascript language. ## Upload NGINX configuration with njs diff --git a/content/nginxaas-azure/quickstart/rate-limiting.md b/content/nginxaas-azure/quickstart/rate-limiting.md index 59101ceb9..87749a864 100644 --- a/content/nginxaas-azure/quickstart/rate-limiting.md +++ b/content/nginxaas-azure/quickstart/rate-limiting.md @@ -8,7 +8,7 @@ type: - how-to --- -F5 NGINX as a Service for Azure (NGINXaaS) supports rate limiting using the [ngx_http_limit_req_module](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html) module to limit the processing rate of requests. For more information on rate limiting with NGINX, see [NGINX Limiting Access to Proxied HTTP Resources](https://docs.nginx.com/nginx/admin-guide/security-controls/controlling-access-proxied-http/) and [Rate Limiting with NGINX and NGINX Plus](https://www.nginx.com/blog/rate-limiting-nginx/). +F5 NGINXaaS for Azure (NGINXaaS) supports rate limiting using the [ngx_http_limit_req_module](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html) module to limit the processing rate of requests. For more information on rate limiting with NGINX, see [NGINX Limiting Access to Proxied HTTP Resources](https://docs.nginx.com/nginx/admin-guide/security-controls/controlling-access-proxied-http/) and [Rate Limiting with NGINX and NGINX Plus](https://www.nginx.com/blog/rate-limiting-nginx/). ## Configuring basic rate limiting diff --git a/content/nginxaas-azure/quickstart/recreate.md b/content/nginxaas-azure/quickstart/recreate.md index 06b515b5a..9f9d314e8 100644 --- a/content/nginxaas-azure/quickstart/recreate.md +++ b/content/nginxaas-azure/quickstart/recreate.md @@ -8,7 +8,7 @@ type: - how-to --- -Learn how to recreate an existing F5 NGINX as a Service for Azure (NGINXaaS) deployment using an Azure Resource Manager (ARM) template. +Learn how to recreate an existing F5 NGINXaaS for Azure (NGINXaaS) deployment using an Azure Resource Manager (ARM) template. There are two ways to replicate a current NGINXaaS for Azure deployment using ARM templates. You can either delete and recreate the deployment, or you can update the DNS to smoothly transition to the new deployment. diff --git a/content/nginxaas-azure/quickstart/runtime-state-sharing.md b/content/nginxaas-azure/quickstart/runtime-state-sharing.md index 0eeb1ef60..1099542dc 100644 --- a/content/nginxaas-azure/quickstart/runtime-state-sharing.md +++ b/content/nginxaas-azure/quickstart/runtime-state-sharing.md @@ -8,7 +8,7 @@ type: - how-to --- -F5 NGINX as a Service for Azure (NGINXaaS) supports runtime state sharing using the [Zone Synchronization module](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html) to synchronize shared memory zones across NGINXaaS instances. +F5 NGINXaaS for Azure (NGINXaaS) supports runtime state sharing using the [Zone Synchronization module](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html) to synchronize shared memory zones across NGINXaaS instances. With runtime state sharing, NGINXaaS instances can share some state data between them, including: diff --git a/content/nginxaas-azure/quickstart/scaling.md b/content/nginxaas-azure/quickstart/scaling.md index cf98d9656..afbff47df 100644 --- a/content/nginxaas-azure/quickstart/scaling.md +++ b/content/nginxaas-azure/quickstart/scaling.md @@ -8,7 +8,7 @@ type: - how-to --- -F5 NGINX as a Service for Azure (NGINXaaS) supports manual and automatic scaling of your deployment, allowing you to adapt to application traffic demands while controlling cost. +F5 NGINXaaS for Azure (NGINXaaS) supports manual and automatic scaling of your deployment, allowing you to adapt to application traffic demands while controlling cost. {{< call-out "note" >}}This feature is only available for Standard plan(s).{{< /call-out >}} @@ -65,12 +65,12 @@ To avoid creating a loop between scaling rules, NGINXaaS will not apply a scalin The following table outlines constraints on the specified capacity based on the chosen Marketplace plan, including the minimum capacity required for a deployment to be highly available, the maximum capacity, and what value the capacity must be a multiple of. By default, an NGINXaaS for Azure deployment will be created with the corresponding minimum capacity. -{{}} +{{< table >}} | **Marketplace Plan** | **Minimum Capacity (NCUs)** | **Maximum Capacity (NCUs)** | **Multiple of** | |------------------------------|-----------------------------|-----------------------------|----------------------------| | Standard plan(s) | 10 | 500 | 10 | -{{}} +{{< /table >}} {{< call-out "note" >}}If you need a higher maximum capacity, please [open a request](https://my.f5.com/manage/s/) and specify the Resource ID of your NGINXaaS deployment, the region, and the desired maximum capacity you wish to scale to.{{< /call-out >}} diff --git a/content/nginxaas-azure/quickstart/security-controls/auth-basic.md b/content/nginxaas-azure/quickstart/security-controls/auth-basic.md index fad9f819a..d9aee1f78 100644 --- a/content/nginxaas-azure/quickstart/security-controls/auth-basic.md +++ b/content/nginxaas-azure/quickstart/security-controls/auth-basic.md @@ -14,7 +14,7 @@ For more information on configuring HTTP Basic Authentication please refer to th ## Uploading a password file -F5 NGINX as a Service for Azure (NGINXaaS) accepts a file containing usernames and passwords using any of the password types specified in the [NGINX documentation](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html#auth_basic_user_file). The password file can be uploaded as a "protected file" when creating or updating your NGINX configuration to protect the file's contents from being read. The password file can alternatively be uploaded as a regular file. +F5 NGINXaaS for Azure (NGINXaaS) accepts a file containing usernames and passwords using any of the password types specified in the [NGINX documentation](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html#auth_basic_user_file). The password file can be uploaded as a "protected file" when creating or updating your NGINX configuration to protect the file's contents from being read. The password file can alternatively be uploaded as a regular file. {{< img src="nginxaas-azure/auth-basic-htpasswd.png" alt="Screenshot of the Azure portal showing the password file upload" >}} diff --git a/content/nginxaas-azure/quickstart/security-controls/certificates.md b/content/nginxaas-azure/quickstart/security-controls/certificates.md index 089347888..cfce20494 100644 --- a/content/nginxaas-azure/quickstart/security-controls/certificates.md +++ b/content/nginxaas-azure/quickstart/security-controls/certificates.md @@ -9,7 +9,7 @@ type: ## Overview -This tutorial walks through a complete example of using SSL/TLS certificates from Azure Key Vault in an F5 NGINX as a Service for Azure (NGINXaaS) deployment to secure traffic. In this guide, you will create all necessary resources to add a certificate to an NGINXaaS deployment using the [Azure portal](https://portal.azure.com/). +This tutorial walks through a complete example of using SSL/TLS certificates from Azure Key Vault in an F5 NGINXaaS for Azure (NGINXaaS) deployment to secure traffic. In this guide, you will create all necessary resources to add a certificate to an NGINXaaS deployment using the [Azure portal](https://portal.azure.com/). ## Create an Azure Key Vault (AKV) @@ -20,14 +20,14 @@ NGINXaaS enables customers to securely store SSL/TLS certificates in Azure Key V 1. Select **Create**. 1. On the Create a key vault **Basics** tab, provide the following information: - {{}} + {{< table >}} | Field | Description | |---------------------------- | ---------------------------- | | Subscription | Select the appropriate Azure subscription that you have access to. | | Resource group | Specify whether you want to create a new resource group or use an existing one.
      For more information, see [Azure Resource Group overview](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/overview). | | Key vault name | Provide a unique name for your key vault. For this tutorial, we use `nginxaas-kv`. | | Region | Select the region you want to deploy to. | - {{
      }} + {{< /table >}} For all other fields, you can leave them set to the default values. 1. Select **Review + Create** and then **Create**. @@ -46,14 +46,14 @@ Next, you can add an SSL/TLS certificate to your key vault by following [Azure's 1. Select **Certificates** in the left menu. 1. Select {{< icon "plus">}}**Generate/Import** and provide the following information: - {{}} + {{< table >}} | Field | Description | |---------------------------- | ---------------------------- | | Method of Certificate Creation | Select **Generate** | | Certificate Name | Provide a unique name for your certificate. For this tutorial, we use `nginxaas-cert`. | | Type of Certificate Authority (CA) | Select **Self-signed certificate**. | | CN | Provide the IP address of your NGINXaaS deployment as the CN. For example, `CN=135.237.74.224` | - {{}} + {{< /table >}} For all other fields, you can leave them set to the default values. @@ -70,14 +70,14 @@ In order for your NGINXaaS deployment to access your key vault, it must have an 1. Under **System assigned**, select **Azure role assignments**. 1. Select {{< icon "plus">}}**Add role assignment** and provide the following information: - {{}} + {{< table >}} | Field | Description | |---------------------------- | ---------------------------- | | Scope | Select **Key Vault**. | | Subscription | Select the Azure subscription your key vault is in. | | Resource | Select your key vault, `nginxaas-kv`. | | Role | Select **Key Vault Secrets User**. | - {{}} + {{< /table >}} 1. Select **Save**. @@ -88,22 +88,22 @@ Now, you can add your SSL/TLS certificate from your key vault to your NGINXaaS d 1. Go to your NGINXaaS deployment. 1. Select **NGINX certificates** in the left menu. 1. Select {{< icon "plus">}}**Add certificate** and provide the following information: - {{}} + {{< table >}} | Field | Description | |---------------------------- | ---------------------------- | | Name | A unique name for the certificate. For this tutorial, we use `my-cert`. | | Certificate path | Set to `/etc/nginx/ssl/example.crt`. | | Key path | Set to `/etc/nginx/ssl/example.key`. | - {{}} + {{< /table >}} 1. Select **Select certificate** and provide the following information: - {{}} + {{< table >}} | Field | Description | |----------------------- | ---------------------------- | | Key vault | Select `nginxaas-kv`. | | Certificate | Select `nginxaas-cert`. | - {{}} + {{< /table >}} 1. Select **Add certificate**. @@ -168,7 +168,7 @@ If you want to disable public access to your key vault, you can configure a [Net 1. In the Search box, enter **Network Security Perimeters** and select **Network Security Perimeters** from the search results. 1. Select {{< icon "plus">}}**Create**. 1. In the **Basics** tab, provide the following information: - {{}} + {{< table >}} | Field | Description | |---------------------------- | ---------------------------- | | Subscription | Select the appropriate Azure subscription that you have access to. | @@ -176,17 +176,17 @@ If you want to disable public access to your key vault, you can configure a [Net | Name | Provide a unique name for your network security perimeter. For this tutorial, we use `nginxaas-nsp`. | | Region | Select the region you want to deploy to. Refer to any [regional limitations](https://learn.microsoft.com/en-us/azure/private-link/network-security-perimeter-concepts#regional-limitations) NSP has while in public preview. | | Profile name | Leave the profile name as the default `defaultProfile`. | - {{}} + {{< /table >}} 1. In the **Resources** tab, select {{< icon "plus">}}**Add**. 1. Search for your key vault, `nginxaas-kv`, select it, and click **Select**. 1. In the **Inbound access rules** tab, select {{< icon "plus">}}**Add** and provide the following information: - {{}} + {{< table >}} | Field | Description | |---------------------------- | ---------------------------- | | Rule Name | Set to `allow-nginxaas-deployment-sub`. | | Source Type | Select **Subscriptions**. | | Allowed sources | Select the subscription of your NGINXaaS deployment. | - {{}} + {{< /table >}} 1. Select **Review + Create** and then **Create**. By default, the key vault will be associated to the NSP in [Learning mode](https://learn.microsoft.com/en-us/azure/private-link/network-security-perimeter-concepts#access-modes-in-network-security-perimeter). This means traffic will be evaluated first based on the NSP's access rules. If no rules apply, evaluation will fall back to the key vault's firewall configuration. To fully secure public access, it is reccommended to [transition to Enforced mode](https://learn.microsoft.com/en-us/azure/private-link/network-security-perimeter-transition#transition-to-enforced-mode-for-existing-resources). diff --git a/content/nginxaas-azure/quickstart/security-controls/jwt.md b/content/nginxaas-azure/quickstart/security-controls/jwt.md index 0d176ebcf..f3c9f3513 100644 --- a/content/nginxaas-azure/quickstart/security-controls/jwt.md +++ b/content/nginxaas-azure/quickstart/security-controls/jwt.md @@ -8,7 +8,7 @@ type: - how-to --- -F5 NGINX as a Service for Azure (NGINXaaS) provides the option to control access to your resources using JWT authentication. With JWT authentication, a client provides a JSON Web Token, and the token will be validated against a local key file or a remote service. This document will explain how to validate tokens using Microsoft Entra as the remote service. +F5 NGINXaaS for Azure (NGINXaaS) provides the option to control access to your resources using JWT authentication. With JWT authentication, a client provides a JSON Web Token, and the token will be validated against a local key file or a remote service. This document will explain how to validate tokens using Microsoft Entra as the remote service. For more information on JWT authentication with NGINX+, please refer to [ngx_http_auth_jwt_module](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html) and [NGINX Plus Setting up JWT Authentication](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-jwt-authentication/). diff --git a/content/nginxaas-azure/quickstart/security-controls/oidc.md b/content/nginxaas-azure/quickstart/security-controls/oidc.md index e67db825a..2ac04588c 100644 --- a/content/nginxaas-azure/quickstart/security-controls/oidc.md +++ b/content/nginxaas-azure/quickstart/security-controls/oidc.md @@ -10,7 +10,7 @@ type: ## Overview -Learn how to configure F5 NGINX as a Service (NGINXaaS) for Azure with OpenID Connect (OIDC) authentication. +Learn how to configure F5 NGINXaaS for Azure with OpenID Connect (OIDC) authentication. ## Prerequisites @@ -21,7 +21,7 @@ Learn how to configure F5 NGINX as a Service (NGINXaaS) for Azure with OpenID Co 3. [Configure the IdP](https://github.com/nginxinc/nginx-openid-connect/blob/main/README.md#configuring-your-idp). For example, you can [register a Microsoft Entra Web application](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app) as the IdP. -## Configure NGINX as a Service for Azure with IdP +## Configure NGINXaaS for Azure with IdP Configuring NGINXaaS for Azure with OIDC is similar as [Configuring NGINX Plus](https://github.com/nginxinc/nginx-openid-connect/blob/main/README.md#configuring-nginx-plus) in [nginx-openid-connect](https://github.com/nginxinc/nginx-openid-connect) but it also has its own specific configurations that must be completed to work normally. diff --git a/content/nginxaas-azure/quickstart/security-controls/private-link-to-upstreams.md b/content/nginxaas-azure/quickstart/security-controls/private-link-to-upstreams.md index 39b285b1a..6a87992e6 100644 --- a/content/nginxaas-azure/quickstart/security-controls/private-link-to-upstreams.md +++ b/content/nginxaas-azure/quickstart/security-controls/private-link-to-upstreams.md @@ -38,7 +38,7 @@ The following example demonstrates this process using an existing virtual machin Please ensure the following environment variables are exported before copying the below Azure CLI commands. -{{}} +{{< table >}} | Name | Description | |------------------ | ----------------- | | APP_LOCATION | Location of the resource group @@ -48,7 +48,7 @@ Please ensure the following environment variables are exported before copying th | APP_VM_NAME | Name of the workload virtual machine | | APP_NIC_NAME | Name of the network interface of the virtual machine | | APP_IP_CONFIG_NAME | Name of the IP configuration associated with the NIC | -{{}} +{{< /table >}} ### Create a load balancer @@ -161,14 +161,14 @@ The following example demonstrates this process using an existing NGINXaaS deplo Please ensure the following environment variables are exported before copying the below Azure CLI commands. -{{}} +{{< table >}} | Name | Description | |------------------ | ----------------- | | DEP_RESOURCE_GROUP | Name of the resource group the NGINXaaS deployment is in | | DEP_VNET_NAME | Name of the virtual network the NGINXaaS deployment is in | | PRIVATE_ENDPOINT_SUBNET_ADDRESS_SPACE | Desired address space of the private endpoint's subnet | | PRIVATE_LINK_SERVICE_ID | Resource ID of the Private Link service | -{{}} +{{< /table >}} ### Create a new subnet diff --git a/content/nginxaas-azure/quickstart/security-controls/securing-upstream-traffic.md b/content/nginxaas-azure/quickstart/security-controls/securing-upstream-traffic.md index a3c4fcedd..e26d7d8d7 100644 --- a/content/nginxaas-azure/quickstart/security-controls/securing-upstream-traffic.md +++ b/content/nginxaas-azure/quickstart/security-controls/securing-upstream-traffic.md @@ -8,7 +8,7 @@ type: - how-to --- -Learn how to encrypt HTTP traffic between F5 NGINX as a Service for Azure (NGINXaaS) and an upstream group or a proxied server. To secure TCP traffic to upstream servers, follow the [NGINX Plus guide](https://docs.nginx.com/nginx/admin-guide/security-controls/securing-tcp-traffic-upstream/). As with securing HTTP traffic, you will need to [add the SSL/TLS client certificate]({{< ref "/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md">}}) to the NGINXaaS deployment. +Learn how to encrypt HTTP traffic between F5 NGINXaaS for Azure (NGINXaaS) and an upstream group or a proxied server. To secure TCP traffic to upstream servers, follow the [NGINX Plus guide](https://docs.nginx.com/nginx/admin-guide/security-controls/securing-tcp-traffic-upstream/). As with securing HTTP traffic, you will need to [add the SSL/TLS client certificate]({{< ref "/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md">}}) to the NGINXaaS deployment. ### Prerequisites diff --git a/content/nginxaas-azure/quickstart/upgrade-channels.md b/content/nginxaas-azure/quickstart/upgrade-channels.md index f4f5db09b..fb9f5be31 100644 --- a/content/nginxaas-azure/quickstart/upgrade-channels.md +++ b/content/nginxaas-azure/quickstart/upgrade-channels.md @@ -10,14 +10,14 @@ type: ## Overview -Maintaining the latest version NGINX Plus, operating system (OS), and other software dependencies is a key feature offered by F5 NGINX as a Service for Azure (NGINXaaS). The **Upgrade Channel** is an upgrade path to which you can subscribe your NGINXaaS deployment to control the timing of software upgrades. The following channels are available: +Maintaining the latest version NGINX Plus, operating system (OS), and other software dependencies is a key feature offered by F5 NGINXaaS for Azure (NGINXaaS). The **Upgrade Channel** is an upgrade path to which you can subscribe your NGINXaaS deployment to control the timing of software upgrades. The following channels are available: -{{}} +{{< table >}} | Channel | Description | |-------------|---------------------------| | preview | Selecting this channel automatically upgrades your deployment to the latest supported version of NGINX Plus and its dependencies soon after they become available. We recommend using this setting to try out new capabilities in deployments running in your development, testing, and staging environments. Do not use the **Preview** channel in your production environment. | | stable | A deployment running on this channel will receive updates on NGINX Plus and its dependencies at a slower rate than the **Preview** channel. We recommend using this setting for production deployments where you might want stable features instead of the latest ones. This is the **default channel** if you do not specify one for your deployment. | -{{}} +{{< /table >}} {{< call-out "note" >}} All channels will receive continuous updates related to OS patches, and security fixes. {{< /call-out >}} @@ -26,12 +26,12 @@ Maintaining the latest version NGINX Plus, operating system (OS), and other soft ### NGINX Plus and related modules -{{}} +{{< table >}} | Channel | Availablity of NGINX Plus and related modules | |-------------|-----------------------------------------------| | preview | No sooner than 14 days of a new NGINX Plus [release](https://docs.nginx.com/nginx/releases/). | | stable | No sooner than 45 days of a new NGINX Plus [release](https://docs.nginx.com/nginx/releases/). | -{{}} +{{< /table >}} A new version of NGINX Plus and its related modules is first introduced to the **preview** channel, where it is goes through our acceptance testing. Once we have baked the software in the **preview** channel for a reasonable time, it is eventually graduated to the **stable** channel. The actual promotion timelines can vary, and you can view our [Changelog]({{< ref "/nginxaas-azure/changelog.md" >}}) for latest updates. From 13f3dd7133e84587beade7b0f6771fbb5177cfa1 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Thu, 11 Sep 2025 18:02:21 +0100 Subject: [PATCH 515/723] docs: fix azure link path conflict (#1102) --- .../nginx-configuration/nginx-configuration-portal.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md index f380c2d89..c9fd2bb4a 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md @@ -13,7 +13,7 @@ An NGINX configuration can be applied to the deployment using the Azure portal i - Create a new NGINX configuration from scratch or by pasting it in the Azure portal editor. - Upload a gzip compressed tar archive containing your NGINX configuration. -As part of applying your NGINX configuration, the service validates the configuration for syntax and compatibility with F5 NGINXaaS for Azure (NGINXaaS). The use of certain directives and parameters is not allowed to ensure the NGINX configuration’s compatibility with IaaS deployment model in Azure. Validation errors are reported in the editor for you to correct. For more information, check the [NGINX Configuration Validation]({{< ref "nginx-configuration.md#nginx-configuration-validation" >}}) section. +As part of applying your NGINX configuration, the service validates the configuration for syntax and compatibility with F5 NGINXaaS for Azure (NGINXaaS). The use of certain directives and parameters is not allowed to ensure the NGINX configuration’s compatibility with IaaS deployment model in Azure. Validation errors are reported in the editor for you to correct. For more information, check the [NGINX Configuration Validation]({{< ref "/nginxaas-azure/getting-started/nginx-configuration.md#nginx-configuration-validation" >}}) section. {{< call-out "note" >}} NGINXaaS supports Layer 7 HTTP loadbalancing. To configure .com and .net servers, refer to the server name in the server block within the HTTP context. To learn more, and see examples, follow the instructions in the [NGINX configuration validtion]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md#nginx-configuration-validation" >}}) section.{{< /call-out >}} From a13d1708ed6cd1983e2816be30dbcbc3f8ac0178 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Thu, 11 Sep 2025 19:10:42 +0100 Subject: [PATCH 516/723] docs: Update card title for F5 NGINX as a Service (#1103) update NGINX as a Service to NGINXaaS --- content/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/_index.md b/content/_index.md index 35a07f044..77eb60731 100644 --- a/content/_index.md +++ b/content/_index.md @@ -43,7 +43,7 @@ Learn how to deliver, manage, and protect your applications using F5 NGINX produ {{
      }} {{}} - {{}} + {{}} Infrastructure-as-a-Service (IaaS) version of NGINX Plus for your Microsoft Azure application stack. {{}} {{}} From 248094d5a006f15df2737f654b24a6f8b3d9b312 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Thu, 11 Sep 2025 19:49:50 +0100 Subject: [PATCH 517/723] docs: fix 2 agent broken Links (#1082) * docs: fix 2 agent broken Links Fix 2 links * Update content/agent/installation-upgrade/getting-started.md Co-authored-by: Donal Hurley --------- Co-authored-by: Donal Hurley --- content/agent/installation-upgrade/getting-started.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/agent/installation-upgrade/getting-started.md b/content/agent/installation-upgrade/getting-started.md index e415d9161..4ee1483a4 100644 --- a/content/agent/installation-upgrade/getting-started.md +++ b/content/agent/installation-upgrade/getting-started.md @@ -71,7 +71,7 @@ tls: skip_verify: true ``` -For more information, see [Agent Protocol Definitions and Documentation](https://github.com/nginx/agent/tree/main/docs/proto/README.md). +For more information, see [Agent Protocol Definitions and Documentation](https://github.com/nginx/agent/blob/dev-v2/docs/proto/README.md). ### Enable the REST interface @@ -152,7 +152,7 @@ Open a web browser to view the mock control plane at [http://localhost:54790](ht - **configs/raw** - shows the actual configuration as it would live on the data plane - **metrics** - shows a buffer of metrics sent to the management plane (similar to what will be sent back in the REST API) -For more NGINX Agent use cases, refer to the [NGINX Agent SDK examples](https://github.com/nginx/agent/tree/main/sdk/examples). +For more NGINX Agent use cases, refer to the [NGINX Agent SDK examples](https://github.com/nginx/agent/tree/dev-v2/sdk/examples). ## Start and Enable Start on Boot From 9cc8509493c575153c7a1182b6fca99b04cf4263 Mon Sep 17 00:00:00 2001 From: nginx-nickc <139289811+nginx-nickc@users.noreply.github.com> Date: Thu, 11 Sep 2025 12:16:46 -0700 Subject: [PATCH 518/723] docs: added guide for working with NGINX Configs (#1086) * docs: added guide for working with NGINX Configs Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> --- content/nginx-one/api/nginx_configuration.md | 161 +++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 content/nginx-one/api/nginx_configuration.md diff --git a/content/nginx-one/api/nginx_configuration.md b/content/nginx-one/api/nginx_configuration.md new file mode 100644 index 000000000..166210be3 --- /dev/null +++ b/content/nginx-one/api/nginx_configuration.md @@ -0,0 +1,161 @@ +--- +description: '' +nd-docs: DOCS-000 +title: Manage NGINX configurations with API requests +toc: true +weight: 100 +type: +- how-to +--- + +In this guide, we'll show you how to use API requests to update NGINX Configurations for Instances, Config Sync Groups, or Staged Configs in the F5 NGINX One Console. + +## Before you begin + +Before you begin, make sure you can properly authenticate your API requests with either an API Token or API Certificate, following the instructions in the [Authentication]({{}}) guide. To ensure you have registered or created your NGINX Instance, Config Sync Group, or Staged Config in the F5 NGINX One Console, follow the instructions in the [Manage your NGINX instances]({{}}) guide. + +{{< call-out "note" >}} +The workflows for managing NGINX Configs for Instances, Config Sync Groups, and Staged Configs in the F5 NGINX One Console are quite similar. This guide focuses on the steps for updating NGINX Configs for Instances. If you're working with Config Sync Groups, you'll follow a similar process but will need to update the API endpoints appropriately. +{{< /call-out>}} + +## Get the current NGINX configuration + +You can retrieve the current NGINX configuration for an Instance, Config Sync Group, or Staged Config using a `GET` request. This is useful for making updates based on the existing configuration. + +Use the following `curl` command to retrieve the current NGINX configuration for a specific Instance. Replace ``, ``, ``, and `` with your actual values. + + ```shell + curl -X GET "https://.console.ves.volterra.io/api/nginx/one/namespaces//instances//config" \ + -H "Authorization: APIToken " -o current_config.json + ``` + + - ``: Your tenant name for organization plans. + - ``: The namespace your Instance belongs to. + - ``: The object_id of the NGINX Instance you want to retrieve the NGINX configuration for. + - ``: Your API Token. + +{{< call-out "note" >}} +To update the NGINX configuration for a Config Sync Group or Staged Config, replace `instances` with `config-sync-groups` or `staged-configs` and use the object_id of the Config Sync Group or Staged Config in the URL. +{{< /call-out>}} + + The response will include the current NGINX configuration in JSON format. This response is saved to a file (with a name like `current_config.json`) for editing. + +You can modify the NGINX configuration using either `PUT` or `PATCH` requests. The `PUT` method replaces the entire NGINX configuration, while the `PATCH` method allows you to update specific fields without affecting the rest of the configuration. + +## How to base64 encode a file for JSON request + +When updating the NGINX Config, file `contents` must be base64 encoded. You can use the following command to base64 encode a file: + +```shell +base64 -w 0 -i +``` + +This command reads the file at `` and outputs its base64 encoded content in a single line (due to the `-w 0` option). You can then copy this encoded string and include it in your JSON request body. On some systems the `-w` option may not be available, in which case you can use: + +```shell +base64 -i | tr -d '\n' +``` + +## Update the NGINX configuration for an Instance using `PUT` + +When using the `PUT` method, ensure that your request body includes all necessary contents, as it will overwrite the existing configuration. +The following example demonstrates how to update the NGINX configuration for a specific Instance using `PUT`. Replace ``, ``, ``, and `` with your actual values. The request body should contain the complete NGINX configuration in JSON format. + + ```shell + curl -X PUT "https://.console.ves.volterra.io/api/nginx/one/namespaces//instances//config" \ + -H "Authorization : APIToken " \ + -H "Content-Type: application/json" \ + -d @updated_config.json + ``` + + - ``: Your tenant name for organization plans. + - ``: The namespace your Instance belongs to. + - ``: The object_id of the NGINX Instance you want to update the NGINX configuration for. + - ``: Your API Token. + +## Update the NGINX configuration for an Instance using `PATCH` + +When using the `PATCH` method, you only need to include the files you want to update in your request body. +The following example demonstrates how to update the NGINX configuration for a specific Instance using `PATCH`. Replace ``, ``, ``, and `` with your actual values. The request body should contain only the fields you want to update in JSON format. + ```shell + curl -X PATCH "https://.console.ves.volterra.io/api/nginx/one/namespaces//instances//config" \ + -H "Authorization : APIToken " \ + -H "Content-Type: application/json" \ + -d @partial_update_config.json + ``` + + - ``: Your tenant name for organization plans. + - ``: The namespace your Instance belongs to. + - ``: The object_id of the NGINX Instance you want to update the NGINX configuration for. + - ``: Your API Token. + +With `PATCH`, you can update specific parts of the NGINX Instance configuration without needing to resend the entire configuration. The following file `contents` disposition is observed: + - Leave out file `contents` to remove the file from the NGINX Config. + - Include file `contents` to add or update the file in the NGINX Config. File `contents` must be base64 encoded. File `contents` can be an empty string to create an empty file. + - `config_version` should be included to ensure you're updating the correct version of the configuration. You can get the current `config_version` from the response of the `GET` request. + +For example, to update only the `/etc/nginx/nginx.conf` file in the NGINX Config, your `partial_update_config.json` might look like this: + ```json + { + "conf_path": "/etc/nginx/nginx.conf", + "config_version": "", + "configs": [ + { + "name": "/etc/nginx", + "files": [ + { + "name": "nginx.conf", + "contents": "" + } + ] + } + ] + } + ``` + +To remove a file, omit the `contents` field for that file in your `PATCH` request body, your `partial_update_config.json` might look like this to remove `/etc/nginx/conf.d/default.conf` from the NGINX Instance configuration: + ```json + { + "conf_path": "/etc/nginx/nginx.conf", + "config_version": "", + "configs": [ + { + "name": "/etc/nginx/conf.d", + "files": [ + { + "name": "default.conf" + } + ] + } + ] + } + ``` + +## Set up multiple updates with `PATCH` + +You can make multiple updates can be made in a single `PATCH` request. For example, to update `/etc/nginx/nginx.conf` and remove `/etc/nginx/conf.d/default.conf`, your `partial_update_config.json` might look like this: + ```json + { + "conf_path": "/etc/nginx/nginx.conf", + "config_version": "", + "configs": [ + { + "name": "/etc/nginx/conf.d", + "files": [ + { + "name": "default.conf" + } + ] + }, + { + "name": "/etc/nginx", + "files": [ + { + "name": "nginx.conf", + "contents": "" + } + ] + } + ] + } + ``` \ No newline at end of file From f3b7c6597be3e00a436f6b836e4ade1a92665235 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Fri, 12 Sep 2025 10:21:37 +0100 Subject: [PATCH 519/723] feat: update bash to shell for code blocks (#1104) --- content/nginxaas-azure/client-tools/cli.md | 4 +-- content/nginxaas-azure/disaster-recovery.md | 4 +-- .../create-deployment/deploy-azure-cli.md | 24 ++++++------- .../create-deployment/deploy-terraform.md | 4 +-- .../getting-started/migrate-from-standard.md | 2 +- .../nginx-configuration-azure-cli.md | 20 +++++------ .../nginx-configuration-portal.md | 4 +-- .../nginx-configurations-terraform.md | 6 ++-- .../ssl-tls-certificates/overview.md | 36 +++++++++---------- .../ssl-tls-certificates-azure-cli.md | 12 +++---- .../ssl-tls-certificates-terraform.md | 4 +-- .../nginxaas-azure/loadbalancer-kubernetes.md | 12 +++---- .../monitoring/enable-monitoring.md | 4 +-- .../quickstart/hosting-static-content.md | 4 +-- content/nginxaas-azure/quickstart/recreate.md | 2 +- .../private-link-to-upstreams.md | 18 +++++----- 16 files changed, 80 insertions(+), 80 deletions(-) diff --git a/content/nginxaas-azure/client-tools/cli.md b/content/nginxaas-azure/client-tools/cli.md index fa96127c8..d82e51705 100644 --- a/content/nginxaas-azure/client-tools/cli.md +++ b/content/nginxaas-azure/client-tools/cli.md @@ -20,7 +20,7 @@ F5 NGINXaaS for Azure (NGINXaaS) deployments can be managed using the [Azure CLI In order to install and manage your NGINXaaaS deployments using the Azure CLI, you will need to install the `nginx` extension: -```bash +```shell az extension add --name nginx --allow-preview true ``` @@ -28,6 +28,6 @@ az extension add --name nginx --allow-preview true Ensure you are running the latest version of the `nginx` CLI extension to take advantage of the latest capabilities available on your NGINXaaS deployments: -```bash +```shell az extension update --name nginx --allow-preview true ``` diff --git a/content/nginxaas-azure/disaster-recovery.md b/content/nginxaas-azure/disaster-recovery.md index d972fb0ed..eb378a3b2 100644 --- a/content/nginxaas-azure/disaster-recovery.md +++ b/content/nginxaas-azure/disaster-recovery.md @@ -45,7 +45,7 @@ This guide describes how to configure disaster recovery (DR) for F5 NGINXaaS for To get started, please review the [Terraform prerequisites]({{< ref "/nginxaas-azure/getting-started/create-deployment/deploy-terraform.md#prerequisites" >}}) for NGINXaaS for Azure. The following steps outline Terraform resources required to set up the disaster recovery topology; these resources can be placed in a `main.tf` file, variables used by these resources can go into `variables.tf`, and outputs you need to collect can be defined in `outputs.tf`. The directory structure looks as follows: -```bash +```shell $ tree . |-- main.tf @@ -55,7 +55,7 @@ $ tree To execute the Terraform code, `cd` into the directory with these files and run: -```bash +```shell terraform init terraform plan terraform apply --auto-approve diff --git a/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md b/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md index cbbd5bf26..2952ba883 100644 --- a/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md +++ b/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-cli.md @@ -19,7 +19,7 @@ The Azure CLI has an extension to be used for management of F5 NGINXaaS for Azur To create an NGINXaaS for Azure resource use the `az nginx deployment create` command: -```bash +```shell az nginx deployment create --deployment-name --resource-group [--auto-upgrade-profile] @@ -39,7 +39,7 @@ az nginx deployment create --deployment-name - Create a deployment with public IP: - ```bash + ```shell az nginx deployment create --name myDeployment --resource-group \ myResourceGroup --location eastus2 --sku name="standardv2_Monthly" \ --network-profile front-end-ip-configuration="{public-ip-addresses:[{id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP}]}" \ @@ -48,7 +48,7 @@ az nginx deployment create --deployment-name - Create a deployment with private IP: - ```bash + ```shell az nginx deployment create --name myDeployment --resource-group \ myResourceGroup --location eastus2 --sku \ name="standardv2_Monthly" --network-profile \ @@ -56,7 +56,7 @@ az nginx deployment create --deployment-name network-interface-configuration="{subnet-id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" ``` - ```bash + ```shell az nginx deployment create --name myDeployment --resource-group \ myResourceGroup --location eastus2 --sku \ name="standardv2_Monthly" --network-profile \ @@ -66,7 +66,7 @@ az nginx deployment create --deployment-name - Create a dual-stack (IPv4 + IPv6) NGINXaaS deployment with public IPs: - ```bash + ```shell az nginx deployment create --name myDeployment --resource-group \ myResourceGroup --location eastus2 --sku name="standardv2_Monthly" \ --network-profile front-end-ip-configuration="{public-ip-addresses:[{id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/pubIPv4},{id:/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/pubIPv6}]}" \ @@ -75,7 +75,7 @@ az nginx deployment create --deployment-name - Create a dual-stack (IPv4 + IPv6) NGINXaaS deployment with private IPs: - ```bash + ```shell az nginx deployment create --name myDeployment --resource-group \ myResourceGroup --location eastus2 --sku \ name="standardv2_Monthly" --network-profile \ @@ -85,7 +85,7 @@ az nginx deployment create --deployment-name - Create a deployment with managed identity, storage account and scaling: - ```bash + ```shell az nginx deployment create --deployment-name myDeployment --resource-group \ myResourceGroup --location eastus2 --sku name=standardv2_Monthly \ --network-profile \ @@ -102,7 +102,7 @@ See the [Azure CLI Deployment Create Documentation](https://learn.microsoft.com/ To update an NGINXaaS for Azure resource use the `az nginx deployment update` command: -```bash +```shell az nginx deployment update [--add] [--auto-upgrade-profile] [--deployment-name] @@ -128,7 +128,7 @@ az nginx deployment update [--add] - Update tags and enable diagnostics support for a deployment: - ```bash + ```shell az nginx deployment update --name myDeployment --resource-group \ myResourceGroup --location eastus2 --tags tag1="value1" \ tag2="value2" --enable-diagnostics @@ -136,7 +136,7 @@ az nginx deployment update [--add] Update an NGINXaaS deployment to a dual-stack (IPv4 + IPv6) network configuration with public IPs: - ```bash + ```shell az nginx deployment update --name myDeployment --resource-group myResourceGroup \ --network-profile front-end-ip-configuration="{public-ip-addresses:[{id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/pubIPv4},{id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/pubIPv6}]}" \ network-interface-configuration="{subnet-id:/subscriptions/mySubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet}" @@ -149,7 +149,7 @@ See the [Azure CLI Deployment Update Documentation](https://learn.microsoft.com/ Use the `az nginx deployment delete` command to delete an NGINXaaS for Azure resource: -```bash +```shell az nginx deployment delete [--name] [--ids] [--no-wait {0, 1, f, false, n, no, t, true, y, yes}] @@ -162,7 +162,7 @@ az nginx deployment delete [--name] - Delete a deployment: - ```bash + ```shell az nginx deployment delete --name myDeployment \ --resource-group myResourceGroup ``` diff --git a/content/nginxaas-azure/getting-started/create-deployment/deploy-terraform.md b/content/nginxaas-azure/getting-started/create-deployment/deploy-terraform.md index eeabd0296..10dda467c 100644 --- a/content/nginxaas-azure/getting-started/create-deployment/deploy-terraform.md +++ b/content/nginxaas-azure/getting-started/create-deployment/deploy-terraform.md @@ -21,7 +21,7 @@ You can find examples of Terraform configurations in the [NGINXaaS for Azure Sni To create a deployment, use the following Terraform commands: - ```bash + ```shell terraform init terraform plan terraform apply --auto-approve @@ -31,7 +31,7 @@ To create a deployment, use the following Terraform commands: Once the deployment is no longer needed, run the following to clean up the deployment and related resources: - ```bash + ```shell terraform destroy --auto-approve ``` diff --git a/content/nginxaas-azure/getting-started/migrate-from-standard.md b/content/nginxaas-azure/getting-started/migrate-from-standard.md index 1537b1335..bbdcf449e 100644 --- a/content/nginxaas-azure/getting-started/migrate-from-standard.md +++ b/content/nginxaas-azure/getting-started/migrate-from-standard.md @@ -47,7 +47,7 @@ terraform { Run the below command to update your NGINXaaS deployment. -```bash +```shell az nginx deployment update --name myDeployment --resource-group \ myResourceGroup --sku name="standardv2_Monthly_gmz7xq9ge3py" ``` diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-azure-cli.md b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-azure-cli.md index 5e4d330df..a3123b953 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-azure-cli.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-azure-cli.md @@ -23,7 +23,7 @@ F5 NGINXaaS for Azure (NGINXaaS) configurations can be managed using the Azure C To create a new NGINX configuration, use the `az nginx deployment configuration create` command: -```bash +```shell az nginx deployment configuration create --configuration-name --deployment-name --resource-group @@ -39,7 +39,7 @@ az nginx deployment configuration create --configuration-name You can use the `analyze` command to validate your configuration before submitting it to the deployment: -```bash +```shell az nginx deployment configuration analyze --deployment-name $DEPLOYMENT_NAME \ --resource-group $RESOURCE_GROUP --root-file /etc/nginx/nginx.conf \ --name default --files "$FILES_CONTENT" @@ -49,7 +49,7 @@ az nginx deployment configuration analyze --deployment-name $DEPLOYMENT_NAME \ - Create a single file configuration: - ```bash + ```shell az nginx deployment configuration create --name default \ --deployment-name myDeployment --resource-group myResourceGroup \ --root-file /etc/nginx/nginx.conf \ @@ -70,7 +70,7 @@ az nginx deployment configuration analyze --deployment-name $DEPLOYMENT_NAME \ - Create a multiple file configuration: - ```bash + ```shell az nginx deployment configuration create --name default \ --deployment-name myDeployment --resource-group myResourceGroup \ --root-file /etc/nginx/nginx.conf \ @@ -92,7 +92,7 @@ az nginx deployment configuration analyze --deployment-name $DEPLOYMENT_NAME \ - Upload package with config files: - ```bash + ```shell $ tar -czf nginx.tar.gz nginx $ tar -tzf nginx.tar.gz nginx/ @@ -106,7 +106,7 @@ az nginx deployment configuration analyze --deployment-name $DEPLOYMENT_NAME \ Where `nginx` is a directory with the following structure: - ```bash + ```shell $ tree nginx nginx ├── nginx.conf @@ -120,7 +120,7 @@ az nginx deployment configuration analyze --deployment-name $DEPLOYMENT_NAME \ Encode your tar.gz file and create your NGINXaaS configuration - ```bash + ```shell TAR_DATA=$(base64 -i nginx.tar.gz) az nginx deployment configuration create --deployment-name myDeployment \ --resource-group myResourceGroup --root-file nginx.conf --name default \ @@ -129,7 +129,7 @@ az nginx deployment configuration analyze --deployment-name $DEPLOYMENT_NAME \ - Multiple file configuration with protected files: - ```bash + ```shell az nginx deployment configuration create --name default \ --deployment-name 0102242023test --resource-group azclitest-geo \ --root-file /etc/nginx/nginx.conf \ @@ -173,7 +173,7 @@ Update a configuration for a deployment using a gzipped archive. Use the `az nginx deployment configuration update` command to update an existing NGINX configuration: -```bash +```shell az nginx deployment configuration update [--add] [--configuration-name] [--deployment-name] @@ -193,7 +193,7 @@ az nginx deployment configuration update [--add] - Update content of the first file in a configuration: - ```bash + ```shell az nginx deployment configuration update --name default \ --deployment-name myDeployment --resource-group myResourceGroup \ --files [0].content="aHR0cCB7CiAgICB1cHN0cmVhbSBhcHAgewogICAgICAgIHpvbmUg \ diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md index c9fd2bb4a..cafaa5383 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md @@ -69,7 +69,7 @@ The editing experience consists of a single view for both editing and validation Given the example gzipped archive, -```bash +```shell $ tar -czf nginx.tar.gz nginx $ tar -tzf nginx.tar.gz nginx/ @@ -83,7 +83,7 @@ nginx/servers/server2.conf where `nginx` is a directory with the following structure, -```bash +```shell $ tree nginx nginx ├── nginx.conf diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configurations-terraform.md b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configurations-terraform.md index c7d67ce1e..421f7dfce 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configurations-terraform.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configurations-terraform.md @@ -21,7 +21,7 @@ You can find examples of Terraform configurations in the [NGINXaaS for Azure Sni To create a deployment and add a configuration, run the following commands: - ```bash + ```shell terraform init terraform plan terraform apply --auto-approve @@ -31,7 +31,7 @@ To create a deployment and add a configuration, run the following commands: NGINX configuration files are uploaded and returned as base64 encoded data. We recommend using git or other version control systems to view human-readable differences between configuration files during `terraform plan`. Alternatively, you can decode the file contents to view the whole file. For example, -```bash +```shell $ terraform plan ... - config_file { @@ -60,7 +60,7 @@ http { Once the deployment is no longer needed, run the following to clean up the deployment and related resources: - ```bash + ```shell terraform destroy --auto-approve ``` diff --git a/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md b/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md index 4e118bd21..4e1d1800a 100644 --- a/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md +++ b/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md @@ -98,7 +98,7 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `MI_NAME`: the name of the managed identity - `MI_RESOURCE_GROUP`: the name of the resource group the managed identity is in - ```bash + ```shell mi_principal_id=$(az identity show --name $MI_NAME \ --resource-group $MI_RESOURCE_GROUP \ --query principalId --output tsv) @@ -109,7 +109,7 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `DEP_NAME`: the name of the NGINXaaS deployment - `DEP_RESOURCE_GROUP`: the name of the resource group the NGINXaaS deployment is in - ```bash + ```shell mi_principal_id=$(az nginx deployment show --name $DEP_NAME \ --resource-group $DEP_RESOURCE_GROUP \ --query identity.principalId --output tsv) @@ -119,13 +119,13 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `KV_NAME`: the name of the key vault - `KV_RESOURCE_GROUP`: the name of the resource group the key vault is in - ```bash + ```shell key_vault_id=$(az keyvault show --name $KV_NAME \ --resource-group $KV_RESOURCE_GROUP \ --query id --output tsv) ``` 1. Create the role assignment. - ```bash + ```shell az role assignment create --assignee $mi_principal_id \ --role "Key Vault Secrets User" \ --scope $key_vault_id @@ -148,7 +148,7 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `MI_NAME`: the name of the managed identity - `MI_RESOURCE_GROUP`: the name of the resource group the managed identity is in - ```bash + ```shell mi_principal_id=$(az identity show --name $MI_NAME \ --resource-group $MI_RESOURCE_GROUP \ --query principalId --output tsv) @@ -159,7 +159,7 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `DEP_NAME`: the name of the NGINXaaS deployment - `DEP_RESOURCE_GROUP`: the name of the resource group the NGINXaaS deployment is in - ```bash + ```shell mi_principal_id=$(az nginx deployment show --name $DEP_NAME \ --resource-group $DEP_RESOURCE_GROUP \ --query identity.principalId --output tsv) @@ -170,7 +170,7 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `KV_NAME`: the name of the key vault - `KV_RESOURCE_GROUP`: the name of the resource group the key vault is in - ```bash + ```shell az keyvault set-policy --name $KV_NAME \ --resource-group $KV_RESOURCE_GROUP \ --object-id $mi_principal_id \ @@ -192,14 +192,14 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `NSP_NAME`: the name of the network security perimeter - `NSP_RESOURCE_GROUP`: the name of the resource group the network security perimeter will be in - ```bash + ```shell az network perimeter create --name $NSP_NAME --resource-group $NSP_RESOURCE_GROUP ``` 1. Create a profile for the network security perimeter. Please ensure the following environment variable is set before copying the below Azure CLI command. - `PROFILE_NAME`: the name of the network security perimeter profile - ```bash + ```shell az network perimeter profile create --name $PROFILE_NAME \ --resource-group $NSP_RESOURCE_GROUP \ --perimeter-name $NSP_NAME @@ -209,19 +209,19 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `KV_NAME`: the name of the key vault - `KV_RESOURCE_GROUP`: the name of the resource group the key vault is in - ```bash + ```shell key_vault_id=$(az keyvault show --name $KV_NAME \ --resource-group $KV_RESOURCE_GROUP \ --query id --output tsv) ``` 1. Get the resource ID of the network security profile. - ```bash + ```shell nsp_profile_id=$(az network perimeter profile show --name $PROFILE_NAME \ --resource-group $NSP_RESOURCE_GROUP \ --perimeter-name $NSP_NAME --query id --output tsv) ``` 1. Associate the key vault with the network security perimeter - ```bash + ```shell az network perimeter association create --name key-vault-association \ --perimeter-name $NSP_NAME \ --resource-group $NSP_RESOURCE_GROUP \ @@ -233,7 +233,7 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `RULE_NAME`: the name of the access rule - `DEP_SUBSCRIPTION_ID`: the subscription ID of the NGINXaaS deployment - ```bash + ```shell az network perimeter profile access-rule create --name $RULE_NAME \ --profile-name $PROFILE_NAME \ --perimeter-name $NSP_NAME \ @@ -276,7 +276,7 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `MI_NAME`: the name of the managed identity - `MI_RESOURCE_GROUP`: the name of the resource group the managed identity is in - ```bash + ```shell mi_principal_id=$(az identity show --name $MI_NAME \ --resource-group $MI_RESOURCE_GROUP \ --query principalId --output tsv) @@ -287,7 +287,7 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `DEP_NAME`: the name of the NGINXaaS deployment - `DEP_RESOURCE_GROUP`: the name of the resource group the NGINXaaS deployment is in - ```bash + ```shell mi_principal_id=$(az nginx deployment show --name $DEP_NAME \ --resource-group $DEP_RESOURCE_GROUP \ --query identity.principalId --output tsv) @@ -298,7 +298,7 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `KV_NAME`: the name of the key vault - `KV_RESOURCE_GROUP`: the name of the resource group the key vault is in - ```bash + ```shell az keyvault set-policy --name $KV_NAME \ --resource-group $KV_RESOURCE_GROUP \ --object-id $mi_principal_id \ @@ -326,14 +326,14 @@ The following section describes common errors you might encounter while adding S Please ensure the following environment variables are set before copying the below Azure CLI command. - `CERT_NAME`: the name of the certificate - `KV_NAME`: the name of the key vault - ```bash + ```shell certificate_id=$(az keyvault certificate show --name $CERT_NAME \ --vault-name $KV_NAME \ --query id --output tsv) ``` 1. Enable the certificate. - ```bash + ```shell az keyvault certificate set-attributes --enabled true --id $certificate_id ```
      diff --git a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-azure-cli.md b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-azure-cli.md index 54d8b9f94..39f228451 100644 --- a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-azure-cli.md +++ b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-azure-cli.md @@ -21,7 +21,7 @@ Create a certificate under a deployment. This references an existing certificate To create a certificate, use the `az nginx deployment certificate create` command: -```bash +```shell az nginx deployment certificate create --certificate-name --deployment-name --resource-group @@ -36,7 +36,7 @@ az nginx deployment certificate create --certificate-name - Create a certificate with a certificate path, key path, and key vault secret ID: - ```bash + ```shell az nginx deployment certificate create --certificate-name myCertificate \ --deployment-name myDeployment --resource-group myResourceGroup \ --certificate-path /etc/nginx/test.cert --key-path /etc/nginx/test.key \ @@ -49,7 +49,7 @@ See [Azure CLI Certificate Create Documentation](https://learn.microsoft.com/en- To update a certificate, use the `az nginx deployment certificate update` command: -```bash +```shell az nginx deployment certificate update [--add] [--certificate-name] [--certificate-path] @@ -70,7 +70,7 @@ az nginx deployment certificate update [--add] - Update the certificate virtual path, key virtual path and certificate: - ```bash + ```shell az nginx deployment certificate update --certificate-name myCertificate \ --deployment-name myDeployment --resource-group myResourceGroup \ --certificate-path /etc/nginx/testupdated.cert \ @@ -84,7 +84,7 @@ See [Azure CLI Certificate Create Documentation](https://learn.microsoft.com/en- To delete a certificate, use the `az nginx deployment certificate delete` command: -```bash +```shell az nginx deployment certificate delete [--certificate-name] [--deployment-name] [--ids] @@ -98,7 +98,7 @@ az nginx deployment certificate delete [--certificate-name] - Delete a certificate: - ```bash + ```shell az nginx deployment certificate delete --certificate-name myCertificate \ --deployment-name myDeployment --resource-group myResourceGroup ``` diff --git a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-terraform.md b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-terraform.md index 1940eb05d..f0a3d8751 100644 --- a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-terraform.md +++ b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-terraform.md @@ -21,7 +21,7 @@ You can find examples of Terraform configurations in the [NGINXaaS for Azure Sni To create a deployment, add a certificate, and use it in a configuration, run the following commands: - ```bash + ```shell terraform init terraform plan terraform apply --auto-approve @@ -31,7 +31,7 @@ To create a deployment, add a certificate, and use it in a configuration, run th Once the deployment is no longer needed, run the following to clean up the deployment and related resources: - ```bash + ```shell terraform destroy --auto-approve ``` diff --git a/content/nginxaas-azure/loadbalancer-kubernetes.md b/content/nginxaas-azure/loadbalancer-kubernetes.md index 836e6188a..a76032ef9 100644 --- a/content/nginxaas-azure/loadbalancer-kubernetes.md +++ b/content/nginxaas-azure/loadbalancer-kubernetes.md @@ -103,7 +103,7 @@ Make sure to write down the key value in a safe location after creation, as you Set shell variables about the name of the NGINXaaS you've already created: -```bash +```shell ## Customize this to provide the details about my already created NGINXaaS deployment nginxName=myNginx nginxGroup=myNginxGroup @@ -111,7 +111,7 @@ nginxGroup=myNginxGroup Generate a new random data plane API key: -```bash +```shell # Generate a new random key or specify a value for it. keyName=myKey keyValue=$(uuidgen --random) @@ -119,7 +119,7 @@ keyValue=$(uuidgen --random) Create the key for your NGINXaaS deployment: -```bash +```shell az nginx deployment api-key create --name $keyName --secret-text $keyValue --deployment-name $nginxName --resource-group $nginxGroup ``` @@ -135,7 +135,7 @@ The data plane API endpoint can be retrieved using the Azure CLI or portal. ##### View NGINXaaS data plane API endpoint using the Azure CLI -```bash +```shell dataplaneAPIEndpoint=$(az nginx deployment show -g "$nginxGroup" -n "$nginxName" --query properties.dataplaneApiEndpoint -o tsv) ``` @@ -147,7 +147,7 @@ The NLK controller can be installed in your Kubernetes cluster using either Helm Install the NLK controller using `helm install`. Be sure your kubectl context is pointed at the desired cluster. -```bash +```shell helm install nlk oci://registry-1.docker.io/nginxcharts/nginxaas-loadbalancer-kubernetes --version 1.1.1 \ --set "nlk.dataplaneApiKey=${keyValue}" \ --set "nlk.config.nginxHosts=${dataplaneAPIEndpoint}nplus" \ @@ -158,7 +158,7 @@ helm install nlk oci://registry-1.docker.io/nginxcharts/nginxaas-loadbalancer-ku Install the NLK controller using `az k8s-extension`. -```bash +```shell ## Customize this to provide the details about my already created AKS cluster aksName=myCluster aksGroup=myClusterGroup diff --git a/content/nginxaas-azure/monitoring/enable-monitoring.md b/content/nginxaas-azure/monitoring/enable-monitoring.md index a743ec663..8b81680f3 100644 --- a/content/nginxaas-azure/monitoring/enable-monitoring.md +++ b/content/nginxaas-azure/monitoring/enable-monitoring.md @@ -66,7 +66,7 @@ This section shows you how to effectively discover, gather and analyze NGINXaaS 1. **Retrieve metric definitions:** Metrics definitions give you insights into the various metrics available for NGINXaaS within a namespace and what they represent. The following `curl` example shows how to retrieve all metrics definitions within the `nginx connections statistics` namespace for your NGINXaaS deployment: - ```bash + ```shell curl --request GET --header "Authorization: Bearer $TOKEN" "https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/microsoft.insights/metricDefinitions?api-version=2024-02-01" ``` @@ -94,7 +94,7 @@ This section shows you how to effectively discover, gather and analyze NGINXaaS 2. **Metric values:** You can obtain the actual metric values which represent real-time or historical data points that tell you how your NGINXaaS is performing. The following `curl` example shows how to retrieve the value of metric `nginx.conn.current` over a 10-minute time window averaged over 5 minute intervals: - ```bash + ```shell curl --request GET --header "Authorization: Bearer $TOKEN" "https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/microsoft.insights/metrics?metricnames=nginx.conn.current×pan=2025-03-27T20:00:00Z/2025-03-27T20:10:00Z&aggregation=Average&interval=PT5M&api-version=2024-02-01" ``` diff --git a/content/nginxaas-azure/quickstart/hosting-static-content.md b/content/nginxaas-azure/quickstart/hosting-static-content.md index 05e418213..13ad23211 100644 --- a/content/nginxaas-azure/quickstart/hosting-static-content.md +++ b/content/nginxaas-azure/quickstart/hosting-static-content.md @@ -32,7 +32,7 @@ http { The following shows the structure of a directory containing an NGINX configuration and an `index.html` file that we will be served from the deployment. -```bash +```shell test-static-files $ tree . . ├── nginx.conf @@ -46,7 +46,7 @@ test-static-files $ tree . 3. Create the tarball. -```bash +```shell test-static-files $ tar -cvzf /test.tar.gz * ``` diff --git a/content/nginxaas-azure/quickstart/recreate.md b/content/nginxaas-azure/quickstart/recreate.md index 9f9d314e8..f2cf10cc6 100644 --- a/content/nginxaas-azure/quickstart/recreate.md +++ b/content/nginxaas-azure/quickstart/recreate.md @@ -39,7 +39,7 @@ To recreate the deployment: 1. Delete the original deployment. 1. Use the exported ARM template to recreate the deployment using the Azure CLI: -```bash +```shell az deployment group create \ --subscription= \ --resource-group= \ diff --git a/content/nginxaas-azure/quickstart/security-controls/private-link-to-upstreams.md b/content/nginxaas-azure/quickstart/security-controls/private-link-to-upstreams.md index 6a87992e6..69089b5b3 100644 --- a/content/nginxaas-azure/quickstart/security-controls/private-link-to-upstreams.md +++ b/content/nginxaas-azure/quickstart/security-controls/private-link-to-upstreams.md @@ -52,7 +52,7 @@ Please ensure the following environment variables are exported before copying th ### Create a load balancer -```bash +```shell $ az network lb create \ --resource-group $APP_RESOURCE_GROUP \ --name load-balancer \ @@ -75,7 +75,7 @@ upstream { Create a health probe monitoring on port `8000`: -```bash +```shell $ az network lb probe create \ --resource-group $APP_RESOURCE_GROUP \ --lb-name load-balancer \ @@ -86,7 +86,7 @@ $ az network lb probe create \ Create a load balancing rule listening on port `8000`: -```bash +```shell $ az network lb rule create \ --resource-group $APP_RESOURCE_GROUP \ --lb-name load-balancer \ @@ -103,7 +103,7 @@ $ az network lb rule create \ ### Configure the workload VM behind the load balancer -```bash +```shell $ az network nic ip-config address-pool add \ --address-pool backend-pool \ --ip-config-name $APP_IP_CONFIG_NAME \ @@ -116,7 +116,7 @@ $ az network nic ip-config address-pool add \ The `privateLinkServiceNetworkPolicies` setting must be disabled to add a private link service in a virtual network. -```bash +```shell $ az network vnet subnet update \ --name $APP_SUBNET_NAME \ --vnet-name $APP_VNET_NAME \ @@ -126,7 +126,7 @@ $ az network vnet subnet update \ ### Create a private link service -```bash +```shell $ az network private-link-service create \ --resource-group $APP_RESOURCE_GROUP \ --name private-link-service \ @@ -174,7 +174,7 @@ Please ensure the following environment variables are exported before copying th You must create a new subnet for the private endpoint because the existing NGINXaaS deployment's subnet is already delegated. -```bash +```shell $ az network vnet subnet create \ --resource-group $DEP_RESOURCE_GROUP \ --vnet-name $DEP_VNET_NAME \ @@ -184,7 +184,7 @@ $ az network vnet subnet create \ ### Create a private endpoint -```bash +```shell $ az network private-endpoint create \ --connection-name connection-1 \ --name private-endpoint \ @@ -199,7 +199,7 @@ $ az network private-endpoint create \ First, get the IP address of the private endpoint: -```bash +```shell $ export nic_id=$(az network private-endpoint show \ --resource-group $DEP_RESOURCE_GROUP \ --name private-endpoint \ From cdb5d81b18ccf9fca5a9ff8620fedf3c06241684 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Fri, 12 Sep 2025 10:26:38 +0100 Subject: [PATCH 520/723] feat: Rename product title for NGINX as a Service (#1095) Rename product title for NGINX as a Service NGINX as a Service >> NGINXaaS --- data/product-selector.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/product-selector.yaml b/data/product-selector.yaml index f2bbf5310..277f5ca1e 100644 --- a/data/product-selector.yaml +++ b/data/product-selector.yaml @@ -25,5 +25,5 @@ - productGroup: NGINX as a Service products: - - title: "NGINX as a Service for Azure" + - title: "NGINXaaS for Azure" url: "nginxaas/azure/" From 1cc5af6757279f6f2fc6db08d83bca36a8e2592f Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Fri, 12 Sep 2025 15:16:47 +0100 Subject: [PATCH 521/723] docs: Nginxaas/add comparison link (#1057) * docs: add comparison include * docs: convert to feture page * docs: move callout to bottom * Update content/includes/nginx-plus/oss-plus-comparison.md Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> * Apply suggestion from @mjang * feat: Link to comparison between N OSS and N Plus (#1061) * feat: add comparison: OSS v. Plus * replace with include --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> Co-authored-by: Travis Martin <33876974+travisamartin@users.noreply.github.com> --- .../nginx-plus/oss-plus-comparison.md | 5 + content/nginx/_index.md | 2 + .../overview/feature-comparison.md | 177 ++++++++++++------ 3 files changed, 123 insertions(+), 61 deletions(-) create mode 100644 content/includes/nginx-plus/oss-plus-comparison.md diff --git a/content/includes/nginx-plus/oss-plus-comparison.md b/content/includes/nginx-plus/oss-plus-comparison.md new file mode 100644 index 000000000..f976335ba --- /dev/null +++ b/content/includes/nginx-plus/oss-plus-comparison.md @@ -0,0 +1,5 @@ +--- +docs: +--- + +{{< call-out "note" >}}For a detailed comparison between NGINX Plus and NGINX Open Source, refer to [Differences between NGINX Open Source and NGINX Plus](https://www.f5.com/products/get-f5/nginx-open-source-vs-nginx-one-differences-in-features) on the F5 website.{{}} \ No newline at end of file diff --git a/content/nginx/_index.md b/content/nginx/_index.md index ef928d074..9d8ddb58f 100644 --- a/content/nginx/_index.md +++ b/content/nginx/_index.md @@ -12,6 +12,8 @@ nd-product: NGINX Plus --- Request your [free 30‑day trial](https://www.nginx.com/free-trial-request) today. +{{< include "/nginx-plus/oss-plus-comparison.md" >}} + ## About [//]: # "These are Markdown comments to guide you through document structure. Remove them as you go, as well as any unnecessary sections." [//]: # "Use underscores for _italics_, and double asterisks for **bold**." diff --git a/content/nginxaas-azure/overview/feature-comparison.md b/content/nginxaas-azure/overview/feature-comparison.md index 8aec767b3..87bfde86d 100644 --- a/content/nginxaas-azure/overview/feature-comparison.md +++ b/content/nginxaas-azure/overview/feature-comparison.md @@ -1,5 +1,5 @@ --- -title: Feature comparison +title: Feature overview weight: 300 description: Compare NGINXaaS for Azure with other NGINX offerings. toc: false @@ -9,63 +9,118 @@ type: - concept --- -{{< table >}} - -|**Load Balancer**
         |**NGINX Open
      Source** |**NGINX Plus
       ** |**F5 NGINXaaS
      for Azure** | -|----------------------------------------|---------------------|---------------------|--------------------------| -|  [HTTP](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/) and [TCP/UDP](https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/) support |{{}} |{{}} |{{}} | -|  [Layer 7 request routing](https://www.nginx.org/en/docs/http/ngx_http_core_module.html#location) |{{}} |{{}} |{{}} | -|  [Session persistence](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#enabling-session-persistence) |{{}} |{{}} |{{}} | -|  [Active health checks](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/) | |{{}} |{{}} | -|  [DNS service-discovery integration](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#service) | |{{}} |{{}} | -|**Content Cache** |**NGINX Open
      Source** |**NGINX Plus
       ** |**NGINXaaS
      for Azure** | -|  [Static and dynamic content caching](https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/)|{{}} |{{}} |{{}} | -|  [Cache-purging API](https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/#purging-content-from-the-cache) | |{{}} | | -|  MQTT protocol support for IOT devices | |{{}} |{{}} | -|**Web Server and Reverse Proxy** |**NGINX Open
      Source** |**NGINX Plus
       ** |**NGINXaaS
      for Azure** | -|  Origin server for static content |{{}} |{{}} |{{}} | -|  Reverse proxy: [HTTP](https://nginx.org/en/docs/http/ngx_http_proxy_module.html), [FastCGl](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html),
        [memcached](https://nginx.org/en/docs/http/ngx_http_memcached_module.html), [SCGI](https://nginx.org/en/docs/http/ngx_http_scgi_module.html), [uwsgi](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html) |{{}} | {{}} |{{}} | -|  [HTTP/2 gateway](https://www.nginx.org/en/docs/http/ngx_http_v2_module.html) |{{}} |{{}} |{{}} | -|  [gRPC proxy](https://nginx.org/en/docs/http/ngx_http_grpc_module.html) |{{}} |{{}} |{{}} | -|  [HTTP/2 server push](https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_push) |{{}} |{{}} |{{}} | -|  [HTTP/3 over QUIC](https://nginx.org/en/docs/http/ngx_http_v3_module.html) |{{}} |{{}} |{{}} | -|**Security Controls** |**NGINX Open
      Source** |**NGINX Plus
       ** |**NGINXaaS
      for Azure** | -|  [HTTP basic authentication](https://www.nginx.org/en/docs/http/ngx_http_auth_basic_module.html) |{{}} |{{}} |{{}} | -|  [HTTP authentication subrequests](https://nginx.org/en/docs/http/ngx_http_auth_request_module.html) |{{}} |{{}} |{{}} | -|  [IP address-based access control lists](https://nginx.org/en/docs/http/ngx_http_access_module.html) |{{}}|{{}} |{{}} | -|  [Rate limiting](https://blog.nginx.org/blog/rate-limiting-nginx) |{{}} |{{}} |{{}} | -|  Dual-stack RSA/ECC SSL/TLS offload |{{}} |{{}} |{{}} | -|  TLS 1.3 support |{{}} |{{}} |{{}} | -|  [JWT authentication](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html) | |{{}} |{{}} | -|  OpenID Connect single sign-on
        (SSO) | |{{}} |{{}} | -|  Internal redirect | |{{}} | | -|  NGINX as a SAML Service Provider | |{{}} |{{}} | -|  [NGINX App Protect WAF](https://www.f5.com/products/nginx/nginx-app-protect) (additional cost) | |{{}} |{{}} | -|  [NGINX App Protect DoS](https://www.f5.com/products/nginx/nginx-app-protect) (additional cost) | |{{}} | | -|**Monitoring** |**NGINX Open
      Source** |**NGINX Plus
       ** |**NGINXaaS
      for Azure** | -|  Export to [external monitoring tools](https://docs.nginx.com/nginx/admin-guide/monitoring/live-activity-monitoring/) |{{}} |{{}} |Export metrics to
      Azure Monitor | -|  Built-in dashboard | |{{}} |[Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview)
      and [Azure Portal](https://azure.microsoft.com/en-us/get-started/azure-portal) | -|  [Extended status with 100+
        additional metrics](https://docs.nginx.com/nginx/admin-guide/monitoring/live-activity-monitoring/) | |{{}} |{{}} | -|  Native Open Telemetry Tracing | |{{}} | | -|**High Availability (HA)** |**NGINX Open
      Source** |**NGINX Plus
       ** |**NGINXaaS
      for Azure** | -|  [Active-active](https://docs.nginx.com/nginx/admin-guide/high-availability/) | |{{}} |{{}} | -|  [Active-passive](https://docs.nginx.com/nginx/admin-guide/high-availability/) | |{{}} | Not Applicable | -|  [Configuration synchronization
        across cluster](https://docs.nginx.com/nginx/admin-guide/high-availability/configuration-sharing/) | |{{}} |{{}} | -|  [State sharing](https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync/): sticky-learn session
        persistence, rate limiting, key-value
        stores | |{{}} |{{}} | -|**Programmability** |**NGINX Open
      Source** |**NGINX Plus
       ** |**NGINXaaS
      for Azure** | -|  [NGINX JavaScript module](https://www.f5.com/company/blog/nginx/harnessing-power-convenience-of-javascript-for-each-request-with-nginx-javascript-module) |{{}} |{{}} |{{}} | -|  [NGINX Plus API for dynamic
        reconfiguration](https://docs.nginx.com/nginx/admin-guide/load-balancer/dynamic-configuration-api/) | |{{}} | | -|  [Key-value store](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) | |{{}} |{{}} | -|  Dynamic reconfiguration without
        process reloads | |{{}} | | -|**Streaming Media** |**NGINX Open
      Source** |**NGINX Plus
       ** |**NGINXaaS
      for Azure** | -|  Live streaming: RTMP, HLS, DASH |{{}} |{{}} |{{}} | -|  VOD: Flash (FLV), MP4 |{{}} |{{}} |{{}} | -|  Adaptive bitrate VOD: [HLS](https://nginx.org/en/docs/http/ngx_http_hls_module.html), [HDS](https://nginx.org/en/docs/http/ngx_http_f4f_module.html) | |{{}} | | -|  [MP4 bandwidth controls](https://nginx.org/en/docs/http/ngx_http_mp4_module.html) | |{{}} | | -|**Third-party ecosystem** |**NGINX Open
      Source** |**NGINX Plus
       ** |**NGINXaaS
      for Azure** | -|  [Ingress controller](https://www.f5.com/products/nginx/nginx-ingress-controller) |{{}} |{{}} | | -|  OpenShift Router |{{}} |{{}} | | -|  [Dynamic modules repository](https://www.f5.com/go/product/nginx-modules) | |{{}} |[Image-Filter](https://nginx.org/en/docs/http/ngx_http_image_filter_module.html)
      [njs](https://nginx.org/en/docs/njs/)
      [OpenTelemetry](https://nginx.org/en/docs/ngx_otel_module.html)
      [XSLT](https://nginx.org/en/docs/http/ngx_http_xslt_module.html) | -|  Deployable as a service | | |Microsoft Azure | -|  [Commercial support](https://my.f5.com/manage/s/article/K000140156/) | |{{}} |{{}} | -{{< /table >}} +NGINXaaS for Azure delivers the core capabilities of NGINX as a managed service, integrated with Microsoft Azure. It provides most of the features of NGINX Open Source and many from NGINX Plus, but some capabilities are not included. + +Below is a feature breakdown with notes on support and limitations. + + +## Load balancing + +- [HTTP and TCP/UDP load balancing](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/) +- [Layer 7 request routing](https://www.nginx.org/en/docs/http/ngx_http_core_module.html#location) +- [Session persistence](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#enabling-session-persistence) +- [Active health checks](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/) (not in OSS, available in Plus) +- [DNS-based service discovery](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#service) + +--- + +## Content caching + +- [Static and dynamic content caching](https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/) +- MQTT protocol support for IoT devices + +**Limitation:** [Cache purging API](https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/#purging-content-from-the-cache) (Plus feature) is not available. + +--- + +## Web server and reverse proxy + +- Origin server for static content +- Reverse proxy for [HTTP](https://nginx.org/en/docs/http/ngx_http_proxy_module.html), [FastCGI](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html), [memcached](https://nginx.org/en/docs/http/ngx_http_memcached_module.html), [SCGI](https://nginx.org/en/docs/http/ngx_http_scgi_module.html), and [uwsgi](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html) +- [HTTP/2 gateway](https://www.nginx.org/en/docs/http/ngx_http_v2_module.html) +- [gRPC proxy](https://nginx.org/en/docs/http/ngx_http_grpc_module.html) +- [HTTP/2 server push](https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_push) +- [HTTP/3 over QUIC](https://nginx.org/en/docs/http/ngx_http_v3_module.html) + +--- + +## Security + +- [HTTP basic authentication](https://www.nginx.org/en/docs/http/ngx_http_auth_basic_module.html) +- [Authentication subrequests](https://nginx.org/en/docs/http/ngx_http_auth_request_module.html) (for external auth) +- [IP-based access controls](https://nginx.org/en/docs/http/ngx_http_access_module.html) +- [Rate limiting](https://blog.nginx.org/blog/rate-limiting-nginx) +- Dual-stack RSA/ECC SSL/TLS offload +- TLS 1.3 support +- [JWT authentication](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html) (Plus feature) +- OpenID Connect SSO (Plus feature) +- NGINX as a SAML Service Provider (Plus feature) +- [NGINX App Protect WAF](https://www.f5.com/products/nginx/nginx-app-protect) (extra cost) + +**Limitations:** + +- Internal redirect and App Protect DoS (Plus features) are not available. + +--- + +## Monitoring + +- Export metrics directly into [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview) +- Dashboards in [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview) and [Azure Portal](https://azure.microsoft.com/en-us/get-started/azure-portal) +- [Extended status with 100+ metrics](https://docs.nginx.com/nginx/admin-guide/monitoring/live-activity-monitoring/) + +**Limitations:** + +- No built-in live dashboard like NGINX Plus; visibility is provided through Azure Monitor instead. +- Native OpenTelemetry tracing is not available. + +--- + +## High availability (HA) + +- [Active-active HA](https://docs.nginx.com/nginx/admin-guide/high-availability/) +- [Configuration synchronization across the cluster](https://docs.nginx.com/nginx/admin-guide/high-availability/configuration-sharing/) +- [State sharing](https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync/) for session persistence, rate limiting, and key-value store + +**Limitation:** [Active-passive HA](https://docs.nginx.com/nginx/admin-guide/high-availability/) is not applicable in the managed service model. + +--- + +## Programmability + +- [NGINX JavaScript (njs) module](https://www.f5.com/company/blog/nginx/harnessing-power-convenience-of-javascript-for-each-request-with-nginx-javascript-module) +- [Key-value store](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) + +**Limitations:** + +- [NGINX Plus API for dynamic reconfiguration](https://docs.nginx.com/nginx/admin-guide/load-balancer/dynamic-configuration-api/) (Plus feature) is not available. + +--- + +## Streaming media + +- Live streaming: RTMP, HLS, DASH +- VOD: Flash (FLV), MP4 + +**Limitation:** Adaptive bitrate streaming (HLS/HDS) and [MP4 bandwidth controls](https://nginx.org/en/docs/http/ngx_http_mp4_module.html) (Plus features) are not available. + +--- + +## Ecosystem and extensibility + +- Dynamic module support for: + - [Image-Filter](https://nginx.org/en/docs/http/ngx_http_image_filter_module.html) + - [njs](https://nginx.org/en/docs/njs/) + - [OpenTelemetry](https://nginx.org/en/docs/ngx_otel_module.html) + - [XSLT](https://nginx.org/en/docs/http/ngx_http_xslt_module.html) +- Delivered as a managed service in Microsoft Azure +- [Commercial support](https://my.f5.com/manage/s/article/K000140156/) from F5 + +**Limitations:** + +- [Ingress Controller](https://www.f5.com/products/nginx/nginx-ingress-controller) and OpenShift Router are not included. +- Dynamic module repository is limited compared to NGINX Plus. + +--- + +{{< include "/nginx-plus/oss-plus-comparison.md" >}} From d8f2c2f23024c5c6f10dc297c55a0b7c0eac532b Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Fri, 12 Sep 2025 16:48:17 +0100 Subject: [PATCH 522/723] chore: update labeler for nginxaas-azure label (#1107) Updating the label from nginxaas to nginxaas-azure --- .github/labeler.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/labeler.yml b/.github/labeler.yml index 569c08be8..2e8d1f8d7 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -67,7 +67,7 @@ product/nginx-one: - 'content/nginx-one/**' - 'content/includes/nginx-one/**' -product/nginxaas: +product/nginxaas-azure: - changed-files: - any-glob-to-any-file: - 'content/nginxaas-azure/**' From 7ba2f28d207e2fb0eb11ba2ca959b73cdc49d62b Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Fri, 12 Sep 2025 17:06:18 +0100 Subject: [PATCH 523/723] docs: clean up nginxaas features doc (#1106) docs: clean up nginxaas features --- .../overview/feature-comparison.md | 106 +++++++++--------- 1 file changed, 56 insertions(+), 50 deletions(-) diff --git a/content/nginxaas-azure/overview/feature-comparison.md b/content/nginxaas-azure/overview/feature-comparison.md index 87bfde86d..0e2582423 100644 --- a/content/nginxaas-azure/overview/feature-comparison.md +++ b/content/nginxaas-azure/overview/feature-comparison.md @@ -9,117 +9,123 @@ type: - concept --- -NGINXaaS for Azure delivers the core capabilities of NGINX as a managed service, integrated with Microsoft Azure. It provides most of the features of NGINX Open Source and many from NGINX Plus, but some capabilities are not included. +NGINXaaS for Azure delivers the core capabilities of NGINX as a managed service, integrated with Microsoft Azure. It provides most of the features of NGINX Open Source and many from NGINX Plus, but some capabilities are not included. -Below is a feature breakdown with notes on support and limitations. +Below is a feature breakdown with notes on support and limitations. ## Load balancing -- [HTTP and TCP/UDP load balancing](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/) -- [Layer 7 request routing](https://www.nginx.org/en/docs/http/ngx_http_core_module.html#location) -- [Session persistence](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#enabling-session-persistence) -- [Active health checks](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/) (not in OSS, available in Plus) -- [DNS-based service discovery](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#service) +- [HTTP and TCP/UDP load balancing](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/) +- [Layer 7 request routing](https://www.nginx.org/en/docs/http/ngx_http_core_module.html#location) +- [Session persistence](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#enabling-session-persistence) +- [Active health checks](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/) +- [DNS-based service discovery](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#service) --- ## Content caching -- [Static and dynamic content caching](https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/) -- MQTT protocol support for IoT devices +- [Static and dynamic content caching](https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/) +- MQTT protocol support for IoT devices -**Limitation:** [Cache purging API](https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/#purging-content-from-the-cache) (Plus feature) is not available. +**Limitation:** + +- [Cache purging API](https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/#purging-content-from-the-cache) is not available --- ## Web server and reverse proxy - Origin server for static content -- Reverse proxy for [HTTP](https://nginx.org/en/docs/http/ngx_http_proxy_module.html), [FastCGI](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html), [memcached](https://nginx.org/en/docs/http/ngx_http_memcached_module.html), [SCGI](https://nginx.org/en/docs/http/ngx_http_scgi_module.html), and [uwsgi](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html) -- [HTTP/2 gateway](https://www.nginx.org/en/docs/http/ngx_http_v2_module.html) -- [gRPC proxy](https://nginx.org/en/docs/http/ngx_http_grpc_module.html) -- [HTTP/2 server push](https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_push) -- [HTTP/3 over QUIC](https://nginx.org/en/docs/http/ngx_http_v3_module.html) +- Reverse proxy for [HTTP](https://nginx.org/en/docs/http/ngx_http_proxy_module.html), [FastCGI](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html), [memcached](https://nginx.org/en/docs/http/ngx_http_memcached_module.html), [SCGI](https://nginx.org/en/docs/http/ngx_http_scgi_module.html), and [uwsgi](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html) +- [HTTP/2 gateway](https://www.nginx.org/en/docs/http/ngx_http_v2_module.html) +- [gRPC proxy](https://nginx.org/en/docs/http/ngx_http_grpc_module.html) +- [HTTP/2 server push](https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_push) +- [HTTP/3 over QUIC](https://nginx.org/en/docs/http/ngx_http_v3_module.html) --- ## Security -- [HTTP basic authentication](https://www.nginx.org/en/docs/http/ngx_http_auth_basic_module.html) -- [Authentication subrequests](https://nginx.org/en/docs/http/ngx_http_auth_request_module.html) (for external auth) -- [IP-based access controls](https://nginx.org/en/docs/http/ngx_http_access_module.html) -- [Rate limiting](https://blog.nginx.org/blog/rate-limiting-nginx) -- Dual-stack RSA/ECC SSL/TLS offload -- TLS 1.3 support -- [JWT authentication](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html) (Plus feature) -- OpenID Connect SSO (Plus feature) -- NGINX as a SAML Service Provider (Plus feature) -- [NGINX App Protect WAF](https://www.f5.com/products/nginx/nginx-app-protect) (extra cost) +- [HTTP basic authentication](https://www.nginx.org/en/docs/http/ngx_http_auth_basic_module.html) +- [Authentication subrequests](https://nginx.org/en/docs/http/ngx_http_auth_request_module.html) (For external authentication systems) +- [IP-based access controls](https://nginx.org/en/docs/http/ngx_http_access_module.html) +- [Rate limiting](https://blog.nginx.org/blog/rate-limiting-nginx) +- Dual-stack RSA/ECC SSL/TLS offload +- TLS 1.3 support +- [JWT authentication](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html) +- OpenID Connect SSO +- NGINX as a SAML Service Provider +- [NGINX App Protect WAF](https://www.f5.com/products/nginx/nginx-app-protect) (Available at an extra cost) -**Limitations:** +**Limitations:** -- Internal redirect and App Protect DoS (Plus features) are not available. +- Internal redirect and App Protect DoS are not available --- ## Monitoring -- Export metrics directly into [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview) -- Dashboards in [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview) and [Azure Portal](https://azure.microsoft.com/en-us/get-started/azure-portal) -- [Extended status with 100+ metrics](https://docs.nginx.com/nginx/admin-guide/monitoring/live-activity-monitoring/) +- Export metrics directly into [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview) +- Dashboards in [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview) and [Azure Portal](https://azure.microsoft.com/en-us/get-started/azure-portal) +- [Extended status with 100+ metrics](https://docs.nginx.com/nginx/admin-guide/monitoring/live-activity-monitoring/) **Limitations:** -- No built-in live dashboard like NGINX Plus; visibility is provided through Azure Monitor instead. -- Native OpenTelemetry tracing is not available. +- No built-in live dashboard like NGINX Plus; visibility is provided through Azure Monitor instead +- Native OpenTelemetry tracing is not available --- ## High availability (HA) -- [Active-active HA](https://docs.nginx.com/nginx/admin-guide/high-availability/) -- [Configuration synchronization across the cluster](https://docs.nginx.com/nginx/admin-guide/high-availability/configuration-sharing/) -- [State sharing](https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync/) for session persistence, rate limiting, and key-value store +- [Active-active HA](https://docs.nginx.com/nginx/admin-guide/high-availability/) +- [Configuration synchronization across the cluster](https://docs.nginx.com/nginx/admin-guide/high-availability/configuration-sharing/) +- [State sharing](https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync/) for session persistence, rate limiting, and key-value store -**Limitation:** [Active-passive HA](https://docs.nginx.com/nginx/admin-guide/high-availability/) is not applicable in the managed service model. +**Limitation:** + +- [Active-passive HA](https://docs.nginx.com/nginx/admin-guide/high-availability/) is not applicable in the managed service model --- ## Programmability -- [NGINX JavaScript (njs) module](https://www.f5.com/company/blog/nginx/harnessing-power-convenience-of-javascript-for-each-request-with-nginx-javascript-module) -- [Key-value store](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) +- [NGINX JavaScript (njs) module](https://www.f5.com/company/blog/nginx/harnessing-power-convenience-of-javascript-for-each-request-with-nginx-javascript-module) +- [Key-value store](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) **Limitations:** -- [NGINX Plus API for dynamic reconfiguration](https://docs.nginx.com/nginx/admin-guide/load-balancer/dynamic-configuration-api/) (Plus feature) is not available. +- [NGINX Plus API for dynamic reconfiguration](https://docs.nginx.com/nginx/admin-guide/load-balancer/dynamic-configuration-api/) is not available --- ## Streaming media -- Live streaming: RTMP, HLS, DASH -- VOD: Flash (FLV), MP4 +- Live streaming: RTMP, HLS, DASH +- VOD: Flash (FLV), MP4 + +**Limitations:** -**Limitation:** Adaptive bitrate streaming (HLS/HDS) and [MP4 bandwidth controls](https://nginx.org/en/docs/http/ngx_http_mp4_module.html) (Plus features) are not available. +- Adaptive bitrate streaming (HLS/HDS) and [MP4 bandwidth controls](https://nginx.org/en/docs/http/ngx_http_mp4_module.html) are not available --- ## Ecosystem and extensibility - Dynamic module support for: - - [Image-Filter](https://nginx.org/en/docs/http/ngx_http_image_filter_module.html) - - [njs](https://nginx.org/en/docs/njs/) - - [OpenTelemetry](https://nginx.org/en/docs/ngx_otel_module.html) - - [XSLT](https://nginx.org/en/docs/http/ngx_http_xslt_module.html) -- Delivered as a managed service in Microsoft Azure -- [Commercial support](https://my.f5.com/manage/s/article/K000140156/) from F5 + - [Image-Filter](https://nginx.org/en/docs/http/ngx_http_image_filter_module.html) + - [njs](https://nginx.org/en/docs/njs/) + - [OpenTelemetry](https://nginx.org/en/docs/ngx_otel_module.html) + - [XSLT](https://nginx.org/en/docs/http/ngx_http_xslt_module.html) +- Delivered as a managed service in Microsoft Azure +- [Commercial support](https://my.f5.com/manage/s/article/K000140156/) from F5 **Limitations:** -- [Ingress Controller](https://www.f5.com/products/nginx/nginx-ingress-controller) and OpenShift Router are not included. -- Dynamic module repository is limited compared to NGINX Plus. +- [Ingress Controller](https://www.f5.com/products/nginx/nginx-ingress-controller) and OpenShift Router are not included +- Dynamic module repository is limited compared to NGINX Plus --- From 8c036fce0f485072cc90defa83c8d4153ddbf833 Mon Sep 17 00:00:00 2001 From: Nicole Huang <42621884+xynicole@users.noreply.github.com> Date: Fri, 12 Sep 2025 10:08:36 -0700 Subject: [PATCH 524/723] NLB-6987: Document steps to access module versions through Dataplane API (#1087) --- content/nginxaas-azure/module-changelog.md | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/content/nginxaas-azure/module-changelog.md b/content/nginxaas-azure/module-changelog.md index 28d052c79..9f4c39a64 100644 --- a/content/nginxaas-azure/module-changelog.md +++ b/content/nginxaas-azure/module-changelog.md @@ -8,6 +8,43 @@ url: /nginxaas/azure/module-changelog/ Learn about the modules supported by the latest versions of F5 NGINXaaS for Azure. +## Access module versions using data plane API: + +To access available module versions from the data plane API, follow these steps: +- View Your API Endpoints and Create an API Key + - Follow the [NGINXaaS data plane API endpoint]({{< ref "/nginxaas-azure/loadbalancer-kubernetes.md#nginxaas-data-plane-api-endpoint" >}}) and [Create an NGINXaaS data plane API key]({{< ref "/nginxaas-azure/loadbalancer-kubernetes.md#create-an-nginxaas-data-plane-api-key" >}}) to locate your dataplane API endpoint and create an API key. + +- Construct the Request URL + - Add `/packages` to your data plane API endpoint, for example `https:///packages`. + +- Authenticate API requests + - Encode your API key to Base64 and add the prefix `ApiKey` to the encoded string. + - Set the `Authorization` HTTP header to: + `ApiKey ` + + +```shell + curl -H "Authorization: ApiKey " https:///packages +``` + +Response Example: +```json +{ + "packages": [ + { + "name": "nginx-plus-module-headers-more", + "version":"35+0.37-1~jammy" + }, + { + "name": "nginx-plus-module-otel", + "version": "35+0.1.2-1~jammy" + }, + ... + ] +} +``` + + ## July 03, 2025 ### Stable From a7c21e42be1c290f121d282cf431f2cdabc7db56 Mon Sep 17 00:00:00 2001 From: yar Date: Fri, 12 Sep 2025 19:06:35 +0100 Subject: [PATCH 525/723] NGINX Plus FIPS Compliance (#1062) --- content/nginx/fips-compliance-nginx-plus.md | 463 +++++++++++++++++--- 1 file changed, 397 insertions(+), 66 deletions(-) diff --git a/content/nginx/fips-compliance-nginx-plus.md b/content/nginx/fips-compliance-nginx-plus.md index eb11c2b91..d61966731 100644 --- a/content/nginx/fips-compliance-nginx-plus.md +++ b/content/nginx/fips-compliance-nginx-plus.md @@ -8,100 +8,249 @@ type: - concept --- -When used with a FIPS 140-2 validated build of OpenSSL operating in FIPS mode, NGINX Plus is compliant with the requirements of FIPS 140-2 (Level 1) with respect to the decryption and encryption of SSL/TLS‑encrypted network traffic. +## What is FIPS -## Introduction +The Federal Information Processing Standard (FIPS), issued by the [U.S. National Institute of Standards and Technology](https://www.nist.gov/) (NIST), defines mandatory security requirements for cryptographic modules used in federal IT systems. [FIPS 140-2](https://csrc.nist.gov/pubs/fips/140-2/upd2/final), and its successor [FIPS 140-3](https://csrc.nist.gov/pubs/fips/140-3/final), establish strict standards to protect sensitive information, including government communications and citizen data. -[FIPS 140-2](https://csrc.nist.gov/publications/detail/fips/140/2/final) is a United States Federal Standard that relates to the integrity and security of cryptographic modules. FIPS 140-2 Level 1 relates specifically to software cryptographic modules and makes stipulations about the cryptographic algorithms that may be used and the self‑tests that must be conducted to verify their integrity. +## Why FIPS-140 matters -Several operating system vendors have obtained FIPS 140-2 Level 1 validation for the OpenSSL Cryptographic Module shipped with their respective operating systems: +FIPS 140 is a mandatory cryptographic standard in the United States and Canada for federal agencies, their contractors, and many regulated industries. -- [Canonical Ltd.: Ubuntu 18.04 OpenSSL Cryptographic Module](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4540) -- [Oracle Corporation: Oracle OpenSSL FIPS Provider](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4506) -- [Red Hat, Inc.: Red Hat Enterprise Linux 7 NSS Cryptographic Module](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4498) -- [SUSE, LLC: SUSE Linux Enterprise Server Kernel Crypto API Cryptographic Module](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4508) +Non-compliance can result to contract loss, restricted project access, fines, or, in severe cases, data breaches compromising personal information or national security. -NGINX Plus uses the OpenSSL cryptographic module exclusively for all operations relating to the decryption and encryption of SSL/TLS and HTTP/2 traffic. +Some industries such as finance, healthcare, energy, also adopt FIPS to enhance data protection and operational security. -When NGINX Plus is executed on an operating system where a FIPS‑validated OpenSSL cryptographic module is present and FIPS mode is enabled, NGINX Plus is compliant with FIPS 140-2 with respect to the decryption and encryption of SSL/TLS and HTTP/2 traffic. +### FIPS compliance in U.S. -## Definition of Terms +Currently, both FIPS 140-2 and FIPS 140-3 certifications are accepted. However, FIPS 140-2 is being phased out as part of the [FIPS 140-3 transition plan](https://csrc.nist.gov/projects/fips-140-3-transition-effort). After September 22, 2026, only FIPS 140-3 certifications will be recognized. Organizations are encouraged to migrate to FIPS 140-3 to meet updated cryptographic security requirements. -This statement uses the following terms: +{{}} +| **Program/Regulation/Industry** | **FIPS 140-2/140-3 Requirement** | **Current Status** | +|---------------------------------|----------------------------------|---------------------------------------------------------------------| +| CJIS | 140-2 or 140-3 | FIPS required for systems protecting criminal justice data. | +| CMMC | 140-2 or 140-3 | FIPS required for Levels 2 and 3 compliance. | +| Common Criteria | 140-2 or 140-3 | Evaluations reference both FIPS versions for cryptographic security. | +| Critical Infrastructure | 140-2 or 140-3 | Utilities and systems accept both versions depending on deployments. | +| Department of Veterans Affairs| 140-2 or 140-3 | Both versions used for securing sensitive health and personal data. | +| DFARS | 140-2 or 140-3 | Cryptographic modules for CUI must be FIPS compliant. | +| DoDIN APL | 140-2 or 140-3 | Approved IT products must include FIPS validation. | +| FAA | 140-2 transitioning to 140-3 | 140-2 modules common in existing systems; new systems use 140-3. | +| FERPA | 140-2 or 140-3 | Federal-funded educational systems align with 140-2 or 140-3. | +| FedRAMP | 140-2 or 140-3 | FIPS required for encryption; both versions accepted. | +| FISMA | 140-2 or 140-3 | Both versions accepted; agencies adopt existing 140-2 modules. | +| HIPAA | 140-2 or 140-3 | FIPS ensures encryption for ePHI; both versions are valid. | +| HITECH | 140-2 or 140-3 | FIPS use aligns with encryption best practices for ePHI. | +| Intelligence Community | 140-2 transitioning to 140-3 | Current systems mostly use 140-2; newer systems adopt 140-3. | +| Military & Tactical Systems | 140-2 transitioning to 140-3 | 140-2 used widely; transitioning to 140-3 certifications for future tools.| +| NSA CSfC | 140-2 transitioning to 140-3 | NSA accepts 140-2 but prefers newer certifications under 140-3. | +| Nuclear Regulatory Commission | 140-2 or 140-3 | Cryptography for nuclear systems relies on both versions. | +| PCI DSS | 140-2 or 140-3 | Both versions recommended but not mandatory. | +| State and Local Gov Programs | 140-2 or 140-3 | FIPS required for federal grant-funded security systems. | +| TSA | 140-2 or 140-3 | Best practice for cryptographic protection; both versions accepted. | +{{< /bootstrap-table >}} -- **Cryptographic module**: The OpenSSL software, comprised of libraries of FIPS‑validated algorithms that can be used by other applications. +### FIPS compliance in other countries -- **Cryptographic boundary**: The operational functions that use FIPS‑validated algorithms. For NGINX Plus, the cryptographic boundary includes all functionality that is implemented by the [http_ssl](http://nginx.org/en/docs/http/ngx_http_ssl_module.html), [http_v2](http://nginx.org/en/docs/http/ngx_http_v2_module.html), [stream_ssl](http://nginx.org/en/docs/stream/ngx_stream_ssl_module.html), [mail_ssl](http://nginx.org/en/docs/mail/ngx_mail_ssl_module.html), and [http_auth_jwt](http://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html) modules. These modules implement SSL and TLS operations for inbound and outbound connections which use HTTP, HTTP/2, TCP, and mail protocols. +Although FIPS 140 is primarily a North American government cryptographic standard, it is widely recognized as a global benchmark for cryptographic security. Numerous countries outside North America align their cryptographic requirements with FIPS, especially in regulated sectors such as finance, defense, healthcare, and critical infrastructure. -- **NGINX Plus**: The NGINX Plus software application developed by NGINX, Inc. and delivered in binary format from NGINX servers. +{{}} +| Country/Region | FIPS Use | +|----------------|-----------------------------------------------------------------------------| +| Australia | Referenced for government, defense, and cryptography systems. | +| Canada | Mandatory for federal and sensitive systems. | +| Denmark | Referenced in finance, healthcare, and NATO communications. | +| Estonia | Adopted for e-governance and critical systems. | +| Finland | Relied on for defense and NATO communications. | +| France | Relied on for defense and secure systems. | +| Germany | Relied on for defense, critical infrastructure, and NATO communications. | +| Israel | Trusted in defense, government, and financial systems. | +| Italy | Relied on for defense and financial cryptography. | +| Japan | Referenced in government and financial cryptographic practices. | +| Netherlands | Referenced in finance, healthcare, and NATO communications. | +| New Zealand | Referenced for government and national cryptography. | +| Poland | Relied on for secure government and NATO communications. | +| Spain | Referenced in NATO communications and critical systems. | +| Sweden | Relied on for defense and secure NATO communications. | +| UAE | Trusted in finance, energy, and interoperability with the U.S. cryptography.| +| United Kingdom | Referenced for defense, health, and procurement standards. | +| United States | Mandatory for federal government systems and contractors. | +{{< /bootstrap-table >}} -- **FIPS mode**: When the operating system is configured to run in FIPS mode, the OpenSSL cryptographic module operates in a mode that has been validated to be in compliance with FIPS 140-2 Level 2. Most operating systems do not run in FIPS mode by default, so explicit configuration is necessary to enable FIPS mode. +## FIPS compliant vs FIPS validated -- **FIPS validated**: A component of the OpenSSL cryptographic module (the OpenSSL FIPS Object Module) is formally validated by an authorized certification laboratory. The validation holds if the module is built from source with no modifications to the source or build process. The implementation of FIPS mode that is present in operating system vendors’ distributions of OpenSSL contains this validated module. +FIPS validation is a formal multistep process that certifies cryptographic modules through testing under the [Cryptographic Module Validation Program](https://csrc.nist.gov/Projects/cryptographic-module-validation-program/cmvp-flow) (CMVP). The process is managed by the [NIST](https://csrc.nist.gov/) and requires accredited third-party laboratories to evaluate the cryptographic module. Once a module passes validation, it is officially recognized as FIPS-validated (FIPS-certified). + +FIPS compliance indicates that a system or a module claims to meet the FIPS requirements, however, it has not been officially tested or certified under the CMVP program. + +## FIPS compliance with NGINX Plus + +NGINX Plus is **FIPS 140-2 Level 1** and **FIPS 140-3 Level 1 compliant**, provided that the operating system and the OpenSSL library are operating in FIPS mode. + +NGINX Plus relies exclusively on the operating system’s FIPS-validated OpenSSL library for all SSL/TLS, HTTP/2, and HTTP/3 encryption and decryption operations. + +## FIPS compliance with NGINX Open Source + +While NGINX Plus is tested to work on FIPS-enabled operating systems in FIPS mode, NGINX Open Source is not verified for such environments, especially when third-party builds or modules implementing custom cryptographic functions are used. + +Compiling NGINX Open Source for FIPS mode may also require additional OS-level dependencies beyond its core requirements, potentially introducing unintended risks. Organizations should consult their security and compliance teams to ensure their configurations meet FIPS requirements. + +## FIPS validation of operating systems + +Several operating system vendors have obtained FIPS 140-2 Level 1 and 140-3 Level 1 validation for the OpenSSL Cryptographic Module included with their respective operating systems: + +- RedHat: [RedHat FIPS Certifications](https://access.redhat.com/compliance/fips) +- Ubuntu: [Overview of FIPS-certified modules](https://documentation.ubuntu.com/security/docs/compliance/fips/fips-overview/) +- Oracle: [Oracle FIPS Certifications](https://www.oracle.com/corporate/security-practices/assurance/development/external-security-evaluations/fips/certifications/) +- SUSE: [SUSE FIPS 140-3 cryptographic certificates](https://www.suse.com/c/suse-has-received-first-fips-140-3-cryptographic-certificates/) +- AWS: [FIPS 140-3 Compliance](https://aws.amazon.com/compliance/fips/) +- Amazon Linux: [Achieving FIPS 140-3 validation](https://aws.amazon.com/blogs/compute/amazon-linux-2023-achieves-fips-140-3-validation/) + +You also can verify whether your operating system or cryptographic module is FIPS-validated using the [NIST database search tool](https://csrc.nist.gov/Projects/cryptographic-module-validation-program/validated-modules/search). + +## Verification of correct operation of NGINX Plus -- **FIPS compliant**: NGINX Plus is compliant with FIPS 140-2 Level 1 within the cryptographic boundary when used with a FIPS‑validated OpenSSL cryptographic module on an operating system running in FIPS mode. +The following process describes how to deploy NGINX Plus in a FIPS‑compliant environment and verify that the FIPS operations are functioning correctly. It involves three basic steps: -## Verification of Correct Operation of NGINX Plus +- [Verify](#os-fips-check) if the operating system is running in FIPS mode. If not, [configure](#os-fips-setup) it to enable FIPS mode. -The following process describes how to deploy NGINX Plus in a FIPS‑compliant fashion and then verify that the FIPS operations are correctly performed. +- [Verify](#openssl-fips-check) that the OpenSSL library is operating in FIPS mode. -The process uses Red Hat Enterprise Linux (RHEL) version 7.4 as an example, and can be adapted for other Linux operating systems that can be configured in FIPS mode. +- Run basic checks for [OpenSSL](#openssl-fips-check) and [NGINX Plus](#nginx-plus-fips-check) to confirm deployment in FIPS mode. -### Step 1: Configure the Operating System to Use FIPS Mode +The process uses Red Hat Enterprise Linux (RHEL) release 9.6 as an example and can be adapted for other Linux operating systems that can be configured in FIPS mode. -For the purposes of the following demonstration, we installed and configured a RHEL 7.4 server. The [Red Hat FIPS documentation](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/chap-federal_standards_and_regulations#sec-Enabling-FIPS-Mode) explains how to switch the operating system between FIPS mode and non‑FIPS mode by editing the boot options and restarting the system. +### Step 1: Configure the operating system to use FIPS mode {#os-fips-setup} -For instructions for enabling FIPS mode on other FIPS‑compliant Linux operating systems, see the operating system documentation (for example, [Oracle Linux](https://docs.oracle.com/cd/E52668_01/E54670/html/ol7-fips-enable.html), [Ubuntu](https://ubuntu.com/security/certifications/docs/fips-faq)). +For the purposes of the following demonstration, we installed and configured a RHEL 9.6 server. The [Red Hat FIPS documentation](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/chap-federal_standards_and_regulations#sec-Enabling-FIPS-Mode) explains how to switch the operating system between FIPS mode and non‑FIPS mode by editing the boot options and restarting the system. -### Step 2: Verify the Operating System and OpenSSL Are in FIPS Mode +For instructions for enabling FIPS mode on other FIPS‑compliant Linux operating systems, see the operating system documentation, for example: + +- RHEL 9: [Switching to FIPS mode](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/security_hardening/switching-rhel-to-fips-mode_security-hardening) + +- Ubuntu: [Switching to FIPS mode](https://documentation.ubuntu.com/security/docs/compliance/fips/how-to-install-ubuntu-with-fips/) + +- SLES: [How to enable FIPS](https://www.suse.com/support/kb/doc/?id=000019432) + +- Oracle Linux 9: [Configuring FIPS mode](https://docs.oracle.com/en/operating-systems/oracle-linux/9/security/configuring_fips_mode.html#configuring-fips-mode) + +- Amazon Linux 2023: [Enabling FIPS mode](https://docs.aws.amazon.com/linux/al2023/ug/fips-mode.html) + +- Amazon Linux 2: [Enabling FIPS mode](https://docs.aws.amazon.com/linux/al2/ug/fips-mode.html) + +- AlmaLinux: [FIPS Validation for AlmaLinux](https://almalinux.org/blog/2023-09-19-fips-validation-for-almalinux/) + +### Step 2: Verify the operating system is in FIPS mode {#os-fips-check} You can verify that the operating system is in FIPS mode and that the version of OpenSSL provided by the operating system vendor is FIPS‑compliant by using the following tests. -**Check operating system flags**: When the operating system is in FIPS mode, ```crypto.fips_enabled``` is ```1```; otherwise, it is ```0```: +**Check operating system flags**: When the operating system is in FIPS mode, `crypto.fips_enabled` kernlel flag is `1`; otherwise, it is `0`: ```shell -sudo sysctl –a | grep fips +sudo sysctl -a | grep fips +``` + +The output of the command shows that FIPS is enabled at the kernel level: +```none crypto.fips_enabled = 1 +crypto.fips_name = Red Hat Enterprise Linux 9 - Kernel Cryptographic API +crypto.fips_version = 5.14.0-570.39.1.el9_6.aarch64 +``` + +Check kernel logs for FIPS algorithm registration: +```shell +journalctl -k -o cat -g alg: ``` -**Determine whether OpenSSL can perform SHA1 hashes**: This test verifies the correct operation of OpenSSL. The SHA1 hash algorithm is permitted in all modes, so failure of this command indicates that the OpenSSL implementation does not work properly: +The output of the command verifies the status of algorithm self-tests and whether certain algorithms are registered, passed FIPS self-tests, or are disabled due to FIPS mode being active: + +```none +alg: self-tests for pkcs1pad(rsa-generic,sha512) (pkcs1pad(rsa,sha512)) passed +alg: self-tests for pkcs1pad(rsa-generic,sha256) (pkcs1pad(rsa,sha256)) passed +alg: self-tests for cbc-aes-ce (cbc(aes)) passed +alg: self-tests for jitterentropy_rng (jitterentropy_rng) passed +alg: poly1305 (poly1305-neon) is disabled due to FIPS +alg: xchacha12 (xchacha12-neon) is disabled due to FIPS +alg: xchacha20 (xchacha20-neon) is disabled due to FIPS +``` + +Beyond kernel-level verification, you can ensure that the whole operating system environment is configured for FIPS compliance: +```shell +sudo fips-mode-setup --check +``` +The output of the command shows that FIPS is running: +```none +FIPS mode is enabled. +``` + +### Step 3: Verify the OpenSSL is in FIPS mode {#openssl-fips-check} + +**Determine the OpenSSL FIPS Provider is active**: This test verifies the correct version of OpenSSL and that the OpenSSL FIPS Provider is active: + +```shell +openssl list -providers | grep -A3 fips +``` +The output of the command shows the FIPS provider status: +```none + fips + name: Red Hat Enterprise Linux 9 - OpenSSL FIPS Provider + version: 3.0.7-395c1a240fbfffd8 + status: active +``` + +**Determine whether OpenSSL can perform SHA1 hashes**: This test verifies the correct operation of OpenSSL. The SHA-1 hash algorithm, while considered weak, is still permitted in FIPS mode as it is included in FIPS-approved standards for certain legacy use cases. Failure of this command indicates that the OpenSSL implementation is not working properly: ```shell openssl sha1 /dev/null +``` +The result of the command, showing the SHA1 checksum of `/dev/null`: + +```none SHA1(/dev/null)= da39a3ee5e6b4b0d3255bfef95601890afd80709 ``` -**Determine whether OpenSSL can perform MD5 hashes**: This test verifies that OpenSSL is running in FIPS mode. MD5 is not a permitted hash algorithm in FIPS mode, so an attempt to use it fails: +**Determine whether OpenSSL allows MD5 hashes**: This test verifies that OpenSSL is running in FIPS mode. MD5 is not a permitted hash algorithm in FIPS mode, so an attempt to use it fails: ```shell openssl md5 /dev/null -Error setting digest md5 -140647163811744:error:060800A3:digital envelope routines:EVP_DigestInit _ex:disabled for fips:digest.c:251: +``` +The result of the command: + +```none +Error setting digest +200458BAFFFF0000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:crypto/evp/evp_fetch.c:355:Global default library context, Algorithm (MD5 : 95), Properties () +200458BAFFFF0000:error:03000086:digital envelope routines:evp_md_init_internal:initialization error:crypto/evp/digest.c:272: ``` If OpenSSL is not running in FIPS mode, the MD5 hash functions normally: ```shell openssl md5 /dev/null +``` +The result of the command, showing the MD5 checksum of `/dev/null`: + +```none MD5(/dev/null)= d41d8cd98f00b204e9800998ecf8427e ``` -### Step 3: Install NGINX Plus on the Operating System +### Step 4: Install NGINX Plus on the operating system {#nginx-plus-instll} -Follow the [F5 NGINX documentation](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-plus/) to install NGINX Plus on the host operating system, either directly from the [NGINX Plus repository](https://account.f5.com/myf5), or by downloading the **nginx-plus** package (**rpm** or **deb** package) onto another system and manually installing it on the host operating system. +Follow the [F5 NGINX Plus Installation guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-plus/) to install NGINX Plus on the host operating system, either directly from the [NGINX Plus repository](https://account.f5.com/myf5), or by downloading the **nginx-plus** package (**rpm** or **deb** package) onto another system and manually installing it on the host operating system. -**Verify that NGINX Plus is correctly installed**: Run the following command to confirm that NGINX Plus is installed and is using the expected OpenSSL cryptographic module: +**Verify that NGINX Plus is correctly installed**: Run the following command to confirm that NGINX Plus is installed and is using the expected OpenSSL cryptographic module: ```shell nginx -V -nginx version: nginx/1.15.2 (nginx-plus-r16) -built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) -built with OpenSSL 1.0.2k-fips 26 Jan 2017 ``` +Sample output from the command: -Observe that the version number of the OpenSSL library includes the `–fips` suffix. This indicates that the library is FIPS‑validated, but does not confirm that it is running in FIPS mode. +```shell +nginx version: nginx/1.29.0 (nginx-plus-r35) +built by gcc 11.5.0 20240719 (Red Hat 11.5.0-5) (GCC) +built with OpenSSL 3.2.2 4 Jun 2024 +``` +Note that OpenSSL 1.0.x might include the `–fips` suffix to indicate that the library was linked with a FIPS-validated module, but it did not confirm that the library was operating in FIPS mode. Starting with OpenSSL 3.0, the concept of Providers was introduced, allowing explicit verification of FIPS validation by listing providers with the `openssl list -providers | grep fips` command. -**Configure NGINX Plus to serve a simple SSL/TLS‑protected website**: Add the following simple configuration to NGINX Plus: +**Configure NGINX Plus to serve a simple SSL/TLS‑protected website**: Add the following simple configuration to NGINX Plus: ```nginx server { @@ -110,8 +259,6 @@ server { ssl_certificate /etc/nginx/ssl/test.crt; ssl_certificate_key /etc/nginx/ssl/test.key; - ssl_protocols TLSv1.2 TLSv1.3; - location / { root /usr/share/nginx/html; index index.html index.htm; @@ -122,7 +269,7 @@ server { If necessary, you can generate a self‑signed certificate for test purposes: ```shell -mkdir -p /etc/nginx/ssl +mkdir -p /etc/nginx/ssl && \ openssl req -newkey rsa:2048 -nodes -keyout /etc/nginx/ssl/test.key -x509 -days 365 -out /etc/nginx/ssl/test.crt ``` @@ -134,17 +281,26 @@ Verify that you can access the website using HTTPS from a remote host. Connect t Use `openssl s_client` for this test because it unambiguously confirms which SSL/TLS cipher was negotiated in the connection. After some debugging information (including the cipher selected), the body of the default “Welcome to nginx!” greeting page is displayed. -### Step 4: Verify Compliance with FIPS 140-2 +### Step 5: Verify compliance with FIPS {#nginx-plus-fips-check} + +FIPS 140-2 and 140-3 disallows the use of some cryptographic algorithms, including the Camellia block cipher. In addition to FIPS 140-2, FIPS 140-3 disallows the use of several ciphers and algorithms that were once allowed or still allowed under FIPS 140-2. -FIPS 140-2 disallows the use of some cryptographic algorithms, including the Camellia block cipher. We can test compliance with FIPS 140-2 by issuing SSL/TLS requests with known ciphers on another (non-FIPS-mode) server: +You can test compliance with FIPS 140-2 / 140-3 by issuing SSL/TLS requests with known ciphers on another (non-FIPS-mode) server: #### RC4-MD5 +`RC4-MD5` is considered insecure and deprecated across all modern cryptographic standards. It is disallowed and disabled by default in FIPS-compliant OpenSSL, and TLS 1.2 and 1.3. The SSL handshake always fails. + ```shell (echo "GET /" ; sleep 1) | openssl s_client -connect :443 -cipher RC4-MD5 ``` -This cipher is insecure and is disabled by NGINX Plus by default. The SSL handshake always fails. +For FIPS compliance, alternative cipher suites can be used such as: + +- `TLS_RSA_WITH_AES_128_GCM_SHA256` +- `TLS_RSA_WITH_AES_256_GCM_SHA384` +- `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` +- `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` #### CAMELLIA-SHA @@ -152,45 +308,220 @@ This cipher is insecure and is disabled by NGINX Plus by default. The SSL hands (echo "GET /" ; sleep 1) | openssl s_client -connect :443 -cipher CAMELLIA256-SHA ``` -This cipher is considered secure but is not permitted by the FIPS standard. The SSL handshake fails if the target system is compliant with FIPS 140-2, and succeeds otherwise. - -Note that if you attempt to issue the client request on a host running in FIPS mode, it fails because the OpenSSL client cannot use this cipher. +This cipher is considered secure but is not permitted by the FIPS standard. The SSL handshake fails if the target system is compliant with FIPS 140-2 /140-3, and succeeds otherwise. #### AES256-SHA +The cipher is permitted under FIPS 140-2 as it combines AES encryption with SHA-1. However, under FIPS 140-3, SHA-1 is explicitly disallowed due to its vulnerabilities, such as susceptibility to collision attacks. As a result, the SSL handshake fails under FIPS 140-3 and succeeds under FIPS 140-2: + ```shell (echo "GET /" ; sleep 1) | openssl s_client -connect :443 -cipher AES256-SHA ``` -This cipher is considered secure by NGINX Plus and is permitted by FIPS 140-2. The SSL handshake succeeds. +For FIPS 140-3 compliance, alternative cipher suites that leverage SHA-2 or SHA-3 for hashing can be used: -## Which Ciphers Are Disabled in FIPS Mode? +- AES-GCM-Based Cipher Suites (TLS 1.2): + - `TLS_RSA_WITH_AES_256_GCM_SHA384` + - `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` -The FIPS 140-2 standard only permits a [subset of the typical SSL and TLS ciphers](https://csrc.nist.gov/csrc/media/publications/fips/140/2/final/documents/fips1402annexa.pdf). +- ChaCha20-Based Cipher Suites (TLS 1.2 or 1.3): + - `TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256` -In the following test, the ciphers presented by NGINX Plus are surveyed using the [Qualys SSL server test](https://www.ssllabs.com/ssltest). In its default configuration, with the `ssl_ciphers HIGH:!aNULL:!MD5` directive, NGINX Plus presents the following ciphers to SSL/TLS clients: +- TLS 1.3 Cipher Suites: + - `TLS_AES_256_GCM_SHA384` + - `TLS_AES_128_GCM_SHA256` + - `TLS_CHACHA20_POLY1305_SHA256` -Ciphers presented by NGINX Plus to clients when in non-FIPS mode +#### 3DES -When FIPS mode is enabled on the host operating system, the two ciphers that use the Camellia block cipher (`TLS_RSA_WITH_CAMELLIA_128_CBC_SHA` and `TLS_RSA_WITH_CAMELLIA_256_CBC_SHA`) are removed: +The `3DES` (Triple DES) cipher is allowed under FIPS 140-2, but disallowed under FIPS 140-3. NIST deprecated its use [starting January 1, 2024](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf) due to its reduced security strength (112 bits) and vulnerability to brute-force attacks. -Ciphers presented by NGINX Plus to clients when in FIPS mode +As a result, the SSL handshake always fails in FIPS-3 compliant environment: -When you configure NGINX Plus with the `ssl_ciphers ALL` directive, NGINX Plus presents all the relevant ciphers available in the OpenSSL cryptographic module to the client. FIPS mode disables the following ciphers: +```shell +(echo "GET /" ; sleep 1) | openssl s_client -connect :443 -cipher DES-CBC3 +``` +For FIPS 140-3 compliance, AES-Based or ChaCha20-Based cipher suites can be used: + +- `TLS_RSA_WITH_AES_128_GCM_SHA256` +- `TLS_RSA_WITH_AES_256_GCM_SHA384` +- `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` +- `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` +- `TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256` + +#### DH and DSA + +Under FIPS 140-2, Diffie-Hellman (DH) and Digital Signature Algorithm (DSA) were permitted with a minimum key size of 1024 bits. However, under FIPS 140-3, the minimum key size for both DH and DSA has been increased to 2048 bits. + +For example, the `TLS_DH_RSA_WITH_AES_128_CBC_SHA` algorithm is FIPS 140-2 compliant, but not FIPS 140-3 compliant due to its use of DH with a key size of less than 2048 bits, CBC mode encryption, and SHA-1 hashing: + +```shell +(echo "GET /" ; sleep 1) | openssl s_client -connect :443 -cipher TLS_DH_RSA_WITH_AES_128_CBC_SHA +``` + +The `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` algorithm is FIPS 140-3 compliant as it uses Elliptic Curve Diffie-Hellman Ephemeral (ECDHE), AES-GCM for encryption, and SHA-256 for hashing: + +```shell +(echo "GET /" ; sleep 1) | openssl s_client -connect :443 -cipher TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 +``` + +## Ciphers disabled in FIPS Mode + +The FIPS 140-2 standard only permits a [subset of the typical SSL and TLS ciphers](https://csrc.nist.gov/csrc/media/publications/fips/140/2/final/documents/fips1402annexa.pdf), while FIPS 140-3 [extends this requirements](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-3.pdf) to enforce stricter cryptographic algorithms. + +In the following test, the ciphers presented by NGINX Plus are surveyed using the `nmap` utility (installed separately). In its default configuration, with the [`ssl_ciphers HIGH:!aNULL:!MD5`](nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers) directive, NGINX Plus presents the following ciphers to SSL/TLS clients: + +```shell +nmap --script ssl-enum-ciphers -p 443 +``` + +The output of the command for NGINX Plus running on Red Hat Enterprise Linux 9 without FIPS enabled: + +```shell +PORT STATE SERVICE +443/tcp open https +| ssl-enum-ciphers: +| TLSv1.2: +| ciphers: +| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A +| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A +| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A +| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A +| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A +| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A +| TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 (secp256r1) - A +| TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 (secp256r1) - A +| TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 (secp256r1) - A +| TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 (secp256r1) - A +| TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (secp256r1) - A +| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A +| TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A +| TLS_RSA_WITH_AES_128_CCM (rsa 2048) - A +| TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A +| TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A +| TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A +| TLS_RSA_WITH_AES_256_CCM (rsa 2048) - A +| TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A +| TLS_RSA_WITH_ARIA_128_GCM_SHA256 (rsa 2048) - A +| TLS_RSA_WITH_ARIA_256_GCM_SHA384 (rsa 2048) - A +| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A +| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 (rsa 2048) - A +| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A +| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 (rsa 2048) - A +| compressors: +| NULL +| cipher preference: client +| TLSv1.3: +| ciphers: +| TLS_AKE_WITH_AES_128_CCM_SHA256 (ecdh_x25519) - A +| TLS_AKE_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A +| TLS_AKE_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A +| TLS_AKE_WITH_CHACHA20_POLY1305_SHA256 (ecdh_x25519) - A +| cipher preference: client +|_ least strength: A +``` + +When FIPS 140-3 mode is enabled, NGINX Plus presents the following ciphers to SSL/TLS clients: + +```shell +PORT STATE SERVICE +443/tcp open https +| ssl-enum-ciphers: +| TLSv1.2: +| ciphers: +| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A +| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A +| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A +| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A +| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A +| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A +| compressors: +| NULL +| cipher preference: client +| TLSv1.3: +| ciphers: +| TLS_AKE_WITH_AES_128_CCM_SHA256 (secp256r1) - A +| TLS_AKE_WITH_AES_128_GCM_SHA256 (secp256r1) - A +| TLS_AKE_WITH_AES_256_GCM_SHA384 (secp256r1) - A +| cipher preference: client +|_ least strength: A +``` -- `TLS_ECDH_anon_WITH_RC4_128_SHA` -- `TLS_ECDHE_RSA_WITH_RC4_128_SHA` -- `TLS_RSA_WITH_CAMELLIA_128_CBC_SHA` -- `TLS_RSA_WITH_CAMELLIA_256_CBC_SHA` -- `TLS_RSA_WITH_IDEA_CBC_SHA` -- `TLS_RSA_WITH_RC4_128_MD5` -- `TLS_RSA_WITH_RC4_128_SHA` -- `TLS_RSA_WITH_SEED_CBC_SHA` +Based on the results above, the following ciphers are disallowed under FIPS 140-3 compliance: + +- Camellia-Based Ciphers: FIPS compliance requires cryptographic algorithms to be validated by NIST, and Camellia is not NIST-approved despite being recognized by ISO/IEC standards. + + - `TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256` + - `TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384` + - `TLS_RSA_WITH_CAMELLIA_128_CBC_SHA` + - `TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256` + - `TLS_RSA_WITH_CAMELLIA_256_CBC_SHA` + - `TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256` + +- ARIA-Based Ciphers: similar to Camellia, ARIA is not a NIST-approved algorithm and is therefore excluded from FIPS compliance. + + - `TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256` + - `TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384` + - `TLS_RSA_WITH_ARIA_128_GCM_SHA256` + - `TLS_RSA_WITH_ARIA_256_GCM_SHA384` + +- RSA Key Exchange Ciphers: static RSA key exchange lacks Forward Secrecy, allowing decryption of past traffic if the private key is compromised, thus disallowed in FIPS mode. + + - `TLS_RSA_WITH_AES_128_CBC_SHA` + - `TLS_RSA_WITH_AES_128_CBC_SHA256` + - `TLS_RSA_WITH_AES_128_GCM_SHA256` + - `TLS_RSA_WITH_AES_256_CBC_SHA` + - `TLS_RSA_WITH_AES_256_CBC_SHA256` + - `TLS_RSA_WITH_AES_256_GCM_SHA384` + +- CBC Mode Ciphers (Non-AEAD: CBC is vulnerable to padding oracle attacks (e.g., POODLE, Lucky13), making it insecure. FIPS 140-3 prioritizes AEAD modes like AES-GCM and AES-CCM. + + - `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA` + - `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256` + - `TLS_RSA_WITH_AES_128_CBC_SHA` + - `TLS_RSA_WITH_AES_128_CBC_SHA256` + - `TLS_RSA_WITH_AES_256_CBC_SHA` + - `TLS_RSA_WITH_AES_256_CBC_SHA256` + +- ChaCha20-Poly1305: it is not a NIST-approved algorithm and is excluded from FIPS compliance. FIPS exclusively permits algorithms such as `AES-GCM` and `AES-CCM`. + + - `TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256` + +- AES-CCM Variants: + + - `TLS_RSA_WITH_AES_128_CCM` + - `TLS_RSA_WITH_AES_256_CCM` + + +You can also use the [Qualys SSL server test](https://www.ssllabs.com/ssltest) to verify the ciphers presented by NGINX Plus to SSL/TLS clients. ## Conclusion -NGINX Plus can be used to decrypt and encrypt SSL/TLS‑encrypted network traffic in deployments that require FIPS 140-2 Level 1 compliance. +NGINX Plus can be used to decrypt and encrypt SSL/TLS‑encrypted network traffic in deployments that require FIPS 140-2 Level 1 or FIPS 140-3 Level 1 compliance. + +The process described above may be used to verify that NGINX Plus is operating in conformance with the FIPS 140-2 Level 1 and FIPS 140-3 Level 1 standards. + +## Definition of terms + +- **Cryptographic module**: The OpenSSL software, comprised of libraries of FIPS‑validated algorithms that can be used by other applications. + +- **Cryptographic boundary**: The operational functions that use FIPS‑validated algorithms. For NGINX Plus, the cryptographic boundary includes all functionality that is implemented by the [`http_auth_jwt`](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html), [`http_ssl`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html), [`http_v2`](https://nginx.org/en/docs/http/ngx_http_v2_module.html), [`http_v3`](https://nginx.org/en/docs/http/ngx_http_v3_module.html), [`mail_ssl`](https://nginx.org/en/docs/mail/ngx_mail_ssl_module.html), and [`stream_ssl`](https://nginx.org/en/docs/stream/ngx_stream_ssl_module.html) modules. These modules implement SSL and TLS operations for inbound and outbound connections which use HTTP, HTTP/2, HTTP/3, TCP, and mail protocols. + +- **NGINX Plus**: The NGINX Plus software application developed by F5, Inc. and delivered in binary format from F5 servers. + +- **FIPS mode**: When the operating system is configured to run in FIPS mode, the OpenSSL cryptographic module operates in a mode that has been validated to be in compliance with FIPS 140-2 Level 1 or FIPS 140-3 Level 1. Most operating systems do not run in FIPS mode by default, so explicit configuration is necessary to enable FIPS mode. + +- **FIPS validated**: A component of the OpenSSL cryptographic module (the OpenSSL FIPS Object Module) is formally validated by an authorized certification laboratory. The validation holds if the module is built from source with no modifications to the source or build process. The implementation of FIPS mode that is present in operating system vendors’ distributions of OpenSSL contains this validated module. + +- **FIPS compliant**: NGINX Plus is compliant with FIPS 140-2 Level 1 and FIPS 140-3 Level 1 within the cryptographic boundary when used with a FIPS‑validated OpenSSL cryptographic module on an operating system running in FIPS mode. + +## See also: + +[FIPS 140-3 Standard in the PDF format](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-3.pdf) + +[FIPS compliance with NGINX Plus and Red Hat Enterprise Linux](https://www.f5.com/pdf/technology-alliances/fips-compliance-made-simple-with-f5-and-red-hat-one-pager.pdf) + +[F5 NGINX Plus running on Red Hat Enterprise Linux is now FIPS 140-3 compliant](https://www.redhat.com/en/blog/f5-nginx-plus-running-red-hat-enterprise-linux-now-fips-140-3-compliant) -The process described above may be used to verify that NGINX Plus is operating in conformance with the FIPS 140-2 Level 1 standard. From ff5b7f717092d09330d6668adb05e9cb33e97e03 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Fri, 12 Sep 2025 12:07:28 -0700 Subject: [PATCH 526/723] fix: wrong role specified (#1108) --- content/nginx-one/rbac/roles.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginx-one/rbac/roles.md b/content/nginx-one/rbac/roles.md index 521bd70c5..d2ccefc2f 100644 --- a/content/nginx-one/rbac/roles.md +++ b/content/nginx-one/rbac/roles.md @@ -13,7 +13,7 @@ We provide three default **[roles](https://docs.cloud.f5.com/docs-v2/administrat ### Admin -The Admin role, identified as `f5xc-nginx-one-standard-admin`, provides full read and write access to all endpoints and features within the NGINX One Console. +The Admin role, identified as `f5xc-nginx-one-admin`, provides full read and write access to all endpoints and features within the NGINX One Console. It also supports Role-based access control for related XC services. ### User From b0afd7638533a634a7127557cb63534d1f701c45 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 11:05:05 +0100 Subject: [PATCH 527/723] build(deps): bump github/codeql-action from 3.30.1 to 3.30.3 (#1112) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.1 to 3.30.3. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/f1f6e5f6af878fb37288ce1c627459e94dbf7d01...192325c86100d080feab897ff886c34abd4c83a3) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.30.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ossf_scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ossf_scorecard.yml b/.github/workflows/ossf_scorecard.yml index b69359d4c..f01d4a00c 100644 --- a/.github/workflows/ossf_scorecard.yml +++ b/.github/workflows/ossf_scorecard.yml @@ -56,6 +56,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: Upload SARIF results to code scanning - uses: github/codeql-action/upload-sarif@f1f6e5f6af878fb37288ce1c627459e94dbf7d01 # v3.29.5 + uses: github/codeql-action/upload-sarif@192325c86100d080feab897ff886c34abd4c83a3 # v3.29.5 with: sarif_file: results.sarif From d4425afab9946805300937127c73bfc541770b7e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 11:05:49 +0100 Subject: [PATCH 528/723] build(deps): bump 8398a7/action-slack from 3.18.0 to 3.19.0 (#1111) Bumps [8398a7/action-slack](https://github.com/8398a7/action-slack) from 3.18.0 to 3.19.0. - [Release notes](https://github.com/8398a7/action-slack/releases) - [Commits](https://github.com/8398a7/action-slack/compare/1750b5085f3ec60384090fb7c52965ef822e869e...77eaa4f1c608a7d68b38af4e3f739dcd8cba273e) --- updated-dependencies: - dependency-name: 8398a7/action-slack dependency-version: 3.19.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alan Dooley --- .github/workflows/build-push.yml | 2 +- .github/workflows/notification.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index a473c09de..01273f449 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -80,7 +80,7 @@ jobs: permissions: read-all steps: - name: Send notification - uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 + uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0 with: status: custom custom_payload: | diff --git a/.github/workflows/notification.yml b/.github/workflows/notification.yml index 79eb389eb..233e435d3 100644 --- a/.github/workflows/notification.yml +++ b/.github/workflows/notification.yml @@ -41,7 +41,7 @@ jobs: } - name: Send notification - uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0 + uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0 with: status: custom custom_payload: | From 4f72c4520a2f800b295cb075130d7a86d8e276a2 Mon Sep 17 00:00:00 2001 From: Alan Dooley Date: Mon, 15 Sep 2025 11:06:07 +0100 Subject: [PATCH 529/723] feat: Fix broken migration link (#1113) This commit updates a link in the NGINX Ingress Controller to NGINX Gateway Fabric migration document about extensibility information in the Gateway API. It also fixes the metadata of another file in the same folder, and restructures some content for readability. --- content/ngf/install/ingress-to-gateway.md | 18 ++++++++++-------- content/ngf/install/upgrade-version.md | 4 ++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/content/ngf/install/ingress-to-gateway.md b/content/ngf/install/ingress-to-gateway.md index cc5f1bb56..782331973 100644 --- a/content/ngf/install/ingress-to-gateway.md +++ b/content/ngf/install/ingress-to-gateway.md @@ -7,7 +7,7 @@ nd-product: NGF nd-docs: --- -# Migrate from NGINX Ingress Controller +This document describes how to migrate from F5 NGINX Ingress Controller to NGINX Gateway Fabric. If you're already using NGINX Ingress Controller and want to migrate to NGINX Gateway Fabric, you can use the [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) tool to automatically convert your existing Ingress resources to Gateway API resources. @@ -18,21 +18,21 @@ The [Gateway API](https://gateway-api.sigs.k8s.io/) is the next-generation Kuber - **Role-oriented resources**: Distinct resources for infrastructure providers, cluster operators, and application developers, enabling [separation of concerns](https://gateway-api.sigs.k8s.io/concepts/security-model/#role-oriented-resources). - **More expressive routing**: Support for [advanced traffic management](https://gateway-api.sigs.k8s.io/concepts/api-overview/#routes) such as path-based and header-based routing, traffic splitting, and TLS configuration. - **Standardization and portability**: A Kubernetes [community standard](https://gateway-api.sigs.k8s.io/) supported by multiple vendors, ensuring consistent behavior across implementations. -- **Extensibility**: Built on Kubernetes [CRD extensibility](https://gateway-api.sigs.k8s.io/concepts/design-principles/#extensibility) to support new capabilities without breaking the core API. +- **Extensibility**: Built on Kubernetes [CRD extensibility](https://gateway-api.sigs.k8s.io/guides/migrating-from-ingress/?h=extensibility#approach-to-extensibility) to support new capabilities without breaking the core API. Migrating to Gateway API with NGINX Gateway Fabric helps future-proof your Kubernetes networking stack, provide a standardized API across implementations, and unlock advanced traffic management features. ## About the ingress2gateway tool -The ingress2gateway tool is a Kubernetes SIG project for converting Ingress resources to Gateway API resources. It supports multiple Ingress providers, including NGINX Ingress Controller. +The ingress2gateway tool is a [Kubernetes SIG project](https://github.com/kubernetes-sigs) for converting Ingress resources to Gateway API resources. It supports multiple Ingress providers, including NGINX Ingress Controller. {{< call-out "important" >}} -The ingress2gateway tool is a conversion utility that translates Ingress resources to Gateway API equivalents. It is not a complete end-to-end migration solution. You will need to manually review the converted resources, test functionality, and make additional configuration changes as needed for your specific environment. -{{< /call-out >}} +The ingress2gateway tool is a conversion utility that translates Ingress resources to Gateway API equivalents. It is not a complete end-to-end migration solution. -To convert your existing NGINX Ingress resources to Gateway API resources that work with NGINX Gateway Fabric: +You will need to manually review the converted resources, test functionality, and make additional configuration changes as needed for your specific environment. +{{< /call-out >}} -First, [install the ingress2gateway tool](https://github.com/kubernetes-sigs/ingress2gateway?tab=readme-ov-file#installation). +To convert your existing NGINX Ingress resources to Gateway API resources, first [install the ingress2gateway tool](https://github.com/kubernetes-sigs/ingress2gateway?tab=readme-ov-file#installation). Then run the conversion command for the NGINX provider: @@ -40,7 +40,9 @@ Then run the conversion command for the NGINX provider: ingress2gateway print --providers=nginx --input-file= > gateway-api-resources.yaml ``` -This tool will analyze your Ingress resources from the input file and output the equivalent Gateway API resources to a file named `gateway-api-resources.yaml`. Finally, review the generated Gateway API resources in the output file and apply them to your cluster: +This tool will analyze your Ingress resources from the input file and output the equivalent Gateway API resources to a file named `gateway-api-resources.yaml`. + +Review the generated Gateway API resources in the output file and apply them to your cluster: ```shell kubectl apply -f gateway-api-resources.yaml diff --git a/content/ngf/install/upgrade-version.md b/content/ngf/install/upgrade-version.md index b586bec06..4b2c7656c 100644 --- a/content/ngf/install/upgrade-version.md +++ b/content/ngf/install/upgrade-version.md @@ -2,8 +2,8 @@ title: Upgrade NGINX Gateway Fabric weight: 700 toc: true -type: how-to -product: NGF +nd-content-type: how-to +nd-product: NGF nd-docs: DOCS-1852 --- From 069cbe1fc8de888196fa1731d16a35d5c1dff5b9 Mon Sep 17 00:00:00 2001 From: Venktesh Shivam Patel Date: Mon, 15 Sep 2025 13:28:13 +0100 Subject: [PATCH 530/723] Update release notes for 5.2.0 (#1101) --- .../configmap-resource.md | 3 +- ...advanced-configuration-with-annotations.md | 1 + .../includes/nic/configuration/security.md | 8 +- ...server-and-virtualserverroute-resources.md | 1 + .../nic/installation/deploy-controller.md | 1 + .../nic/installation/manifests/statefulset.md | 25 +++ .../command-line-arguments.md | 14 ++ .../configmap-resource.md | 3 +- ...advanced-configuration-with-annotations.md | 1 + content/nic/configuration/policy-resource.md | 67 +++++++- .../proxy-buffers-configuration.md | 145 ++++++++++++++++++ content/nic/configuration/security.md | 8 +- ...server-and-virtualserverroute-resources.md | 1 + content/nic/installation/ingress-nginx.md | 1 + .../installing-nic/installation-with-helm.md | 25 ++- .../installation-with-manifests.md | 11 +- .../app-protect-dos/installation.md | 6 +- .../app-protect-waf-v5/installation.md | 31 ++-- .../app-protect-waf/installation.md | 12 +- .../nic/logging-and-monitoring/prometheus.md | 3 +- .../logging-and-monitoring/service-insight.md | 2 +- content/nic/overview/product-telemetry.md | 3 +- content/nic/releases.md | 40 ++++- content/nic/technical-specifications.md | 4 +- .../troubleshooting/troubleshoot-common.md | 2 +- .../tutorials/oidc-custom-configuration.md | 18 ++- layouts/shortcodes/nic-helm-version.html | 2 +- layouts/shortcodes/nic-operator-version.html | 2 +- layouts/shortcodes/nic-version.html | 2 +- 29 files changed, 391 insertions(+), 51 deletions(-) create mode 100644 content/includes/nic/installation/manifests/statefulset.md create mode 100644 content/nic/configuration/proxy-buffers-configuration.md diff --git a/content/includes/nic/configuration/global-configuration/configmap-resource.md b/content/includes/nic/configuration/global-configuration/configmap-resource.md index ab77c60c9..b4c8ad7e3 100644 --- a/content/includes/nic/configuration/global-configuration/configmap-resource.md +++ b/content/includes/nic/configuration/global-configuration/configmap-resource.md @@ -80,6 +80,7 @@ For more information, view the [VirtualServer and VirtualServerRoute resources]( |*proxy-buffering* | Enables or disables [buffering of responses](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) from the proxied server. | *True* | | |*proxy-buffers* | Sets the value of the [proxy_buffers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directive. | Depends on the platform. | | |*proxy-buffer-size* | Sets the value of the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) and [grpc_buffer_size](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_buffer_size) directives. | Depends on the platform. | | +|*proxy-busy-buffers-size* | Sets the value of the [proxy_busy_buffers_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_busy_buffers_size) directive. | Depends on the platform. | | |*proxy-max-temp-file-size* | Sets the value of the [proxy_max_temp_file_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size) directive. | *1024m* | | |*set-real-ip-from* | Sets the value of the [set_real_ip_from](https://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from) directive. | N/A | | |*real-ip-header* | Sets the value of the [real_ip_header](https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header) directive. | *X-Real-IP* | | @@ -198,7 +199,7 @@ If you encounter the error `error [emerg] 13#13: "zone_sync" directive is duplic {{}} |ConfigMap Key | Description | Default | Example | | ---| ---| ---| --- | -|*zone-sync* | Enables zone synchronization between NGINX Ingress Controller Pods. This autogenerates a [zone_sync_server](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync_server) and a headless service using the `ReplicaSet` or `DaemonSet` name. Please note that this headless service will be automatically cleaned up when uninstalling via Helm or by removing the value from the ConfigMap. The headless service will need to be manually removed if the `controller.customConfigMap` value is set via Helm or the deployment is uninstalled via Manifests. Each Ingress Controller manages its own headless service. NGINX Plus Required. | *False* | | +|*zone-sync* | Enables zone synchronization between NGINX Ingress Controller Pods. This autogenerates a [zone_sync_server](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync_server) and a headless service using the `ReplicaSet`, `DaemonSet` or `StatefulSet` name. Please note that this headless service will be automatically cleaned up when uninstalling via Helm or by removing the value from the ConfigMap. The headless service will need to be manually removed if the `controller.customConfigMap` value is set via Helm or the deployment is uninstalled via Manifests. Each Ingress Controller manages its own headless service. NGINX Plus Required. | *False* | | |*zone-sync-port* | Specifies the optional port on which NGINX Ingress Controller listens for zone sync traffic. NGINX Plus & `zone-sync` Required. | *12345* | | |*zone-sync-resolver-addresses* | Configures optional addresses used in the [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync. This field takes a comma separated list of addresses. NGINX Plus & `zone-sync` Required | `kube-dns.kube-system.svc.cluster.local` | | |*zone-sync-resolver-ipv6* | Configures whether the optional [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync will look up IPv6 addresses. NGINX Plus & `zone-sync` Required | `true` | | diff --git a/content/includes/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md b/content/includes/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md index 1690f3a0b..11ccf7099 100644 --- a/content/includes/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md +++ b/content/includes/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md @@ -108,6 +108,7 @@ The table below summarizes the available annotations. | *nginx.org/proxy-buffering* | *proxy-buffering* | Enables or disables [buffering of responses](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) from the proxied server. | *True* | | | *nginx.org/proxy-buffers* | *proxy-buffers* | Sets the value of the [proxy_buffers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directive. | Depends on the platform. | | | *nginx.org/proxy-buffer-size* | *proxy-buffer-size* | Sets the value of the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) and [grpc_buffer_size](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_buffer_size) directives. | Depends on the platform. | | +| *nginx.org/proxy-busy-buffers-size* | *proxy-busy-buffers-size* | Sets the value of the [proxy_busy_buffers_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_busy_buffers_size) directive. | Depends on the platform. | | | *nginx.org/proxy-max-temp-file-size* | *proxy-max-temp-file-size* | Sets the value of the [proxy_max_temp_file_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size) directive. | *1024m* | | | *nginx.org/server-tokens* | *server-tokens* | Enables or disables the [server_tokens](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens) directive. Additionally, with the NGINX Plus, you can specify a custom string value, including the empty string value, which disables the emission of the “Server” field. | *True* | | | *nginx.org/path-regex* | N/A | Enables regular expression modifiers for Ingress path parameter. This translates to the NGINX [location](https://nginx.org/en/docs/http/ngx_http_core_module.html#location) directive. You can specify one of these values: "case_sensitive", "case_insensitive", or "exact". The annotation is applied to the entire Ingress resource and its paths. While using Master and Minion Ingresses i.e. Mergeable Ingresses, this annotation can be specified on Minion types. The `path-regex` annotation specified on Master is ignored, and has no effect on paths defined on Minions. | N/A | [path-regex](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/path-regex) | diff --git a/content/includes/nic/configuration/security.md b/content/includes/nic/configuration/security.md index 4ade6e0cf..3d73fbf0d 100644 --- a/content/includes/nic/configuration/security.md +++ b/content/includes/nic/configuration/security.md @@ -53,10 +53,12 @@ The block below shows the code you will look for: # volumes: # - name: nginx-etc # emptyDir: {} -# - name: nginx-cache -# emptyDir: {} +# - name: nginx-cache # do not set this value in statefulset if volumeclaimtemplate is set +# emptyDir: {} # do not set this value in statefulset if volumeclaimtemplate is set # - name: nginx-lib # emptyDir: {} +# - name: nginx-lib-state +# emptyDir: {} # - name: nginx-log # emptyDir: {} . @@ -73,6 +75,8 @@ The block below shows the code you will look for: # name: nginx-cache # - mountPath: /var/lib/nginx # name: nginx-lib +# - mountPath: /var/lib/nginx/state +# name: nginx-lib-state # - mountPath: /var/log/nginx # name: nginx-log ``` diff --git a/content/includes/nic/configuration/virtualserver-and-virtualserverroute-resources.md b/content/includes/nic/configuration/virtualserver-and-virtualserverroute-resources.md index 3f447ed18..2807c0440 100644 --- a/content/includes/nic/configuration/virtualserver-and-virtualserverroute-resources.md +++ b/content/includes/nic/configuration/virtualserver-and-virtualserverroute-resources.md @@ -371,6 +371,7 @@ tls: |``buffering`` | Enables buffering of responses from the upstream server. See the [proxy_buffering](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) directive. The default is set in the ``proxy-buffering`` ConfigMap key. | ``boolean`` | No | |``buffers`` | Configures the buffers used for reading a response from the upstream server for a single connection. | [buffers](#upstreambuffers) | No | |``buffer-size`` | Sets the size of the buffer used for reading the first part of a response received from the upstream server. See the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) directive. The default is set in the ``proxy-buffer-size`` ConfigMap key. | ``string`` | No | +|``busy-buffer-size`` | Sets the size of the buffer used for reading a response from the upstream server when the response is larger than the ``buffer-size``. See the [proxy_busy_buffers_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_busy_buffers_size) directive. The default is set in the ``proxy-busy-buffers-size`` ConfigMap key. | ``string`` | No | |``ntlm`` | Allows proxying requests with NTLM Authentication. See the [ntlm](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#ntlm) directive. In order for NTLM authentication to work, it is necessary to enable keepalive connections to upstream servers using the ``keepalive`` field. Note: this feature is supported only in NGINX Plus.| ``boolean`` | No | |``type`` |The type of the upstream. Supported values are ``http`` and ``grpc``. The default is ``http``. For gRPC, it is necessary to enable HTTP/2 in the [ConfigMap](/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#listeners) and configure TLS termination in the VirtualServer. | ``string`` | No | |``backup`` | The name of the backup service of type [ExternalName](https://kubernetes.io/docs/concepts/services-networking/service/#externalname). This will be used when the primary servers are unavailable. Note: The parameter cannot be used along with the ``random`` , ``hash`` or ``ip_hash`` load balancing methods. | ``string`` | No | diff --git a/content/includes/nic/installation/deploy-controller.md b/content/includes/nic/installation/deploy-controller.md index 7dcec97bd..489d80b7b 100644 --- a/content/includes/nic/installation/deploy-controller.md +++ b/content/includes/nic/installation/deploy-controller.md @@ -6,5 +6,6 @@ You have two options for deploying NGINX Ingress Controller: - **Deployment**. Choose this method for the flexibility to dynamically change the number of NGINX Ingress Controller replicas. - **DaemonSet**. Choose this method if you want NGINX Ingress Controller to run on all nodes or a subset of nodes. +- **StatefulSet**. Choose this method when you need stable, persistent storage and ordered deployment/scaling for your NGINX Ingress Controller pods. Before you start, update the [command-line arguments]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md" >}}) for the NGINX Ingress Controller container in the relevant manifest file to meet your specific requirements. diff --git a/content/includes/nic/installation/manifests/statefulset.md b/content/includes/nic/installation/manifests/statefulset.md new file mode 100644 index 000000000..9c7cac0ae --- /dev/null +++ b/content/includes/nic/installation/manifests/statefulset.md @@ -0,0 +1,25 @@ +--- +nd-docs: DOCS-000 +--- + +For additional context on managing containers using Kubernetes StatefulSets, refer to the official Kubernetes [StatefulSets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) documentation. + +When you deploy NGINX Ingress Controller as a StatefulSet, Kubernetes creates pods with stable network identities and persistent storage. + +- For NGINX, run: + + ```shell + kubectl apply -f deployments/stateful-set/nginx-ingress.yaml + ``` + +- For NGINX Plus, run: + + ```shell + kubectl apply -f deployments/stateful-set/nginx-plus-ingress.yaml + ``` + + Update the `nginx-plus-ingress.yaml` file to include your chosen image from the F5 Container registry or your custom container image. + +{{< call-out "note" >}} +StatefulSets include persistent volume claims for nginx cache storage via `volumeClaimTemplates`. You may need to configure a StorageClass in your cluster or modify the volumeClaimTemplates section in the manifest to match your storage requirements. Other volumes (like those needed for App Protect modules) are configured in the regular `volumes` section, not in volumeClaimTemplates. +{{< /call-out >}} diff --git a/content/nic/configuration/global-configuration/command-line-arguments.md b/content/nic/configuration/global-configuration/command-line-arguments.md index 07f5d6f98..f59e990fc 100644 --- a/content/nic/configuration/global-configuration/command-line-arguments.md +++ b/content/nic/configuration/global-configuration/command-line-arguments.md @@ -658,6 +658,20 @@ The default value is `false`. --- +### -enable-directive-autoadjust + +Automatically adjusts NGINX buffer directives to prevent configuration errors. + +The default value is `false`. + +When enabled, the controller automatically adjusts `proxy_buffers`, `proxy_buffer_size`, and `proxy_busy_buffers_size` to ensure they work together properly and NGINX can start successfully. + +More explanation about this feature can be found in the guide [here](). + + + +--- + ### -enable-telemetry-reporting Enable gathering and reporting of software telemetry. diff --git a/content/nic/configuration/global-configuration/configmap-resource.md b/content/nic/configuration/global-configuration/configmap-resource.md index d854bebc6..9161896f8 100644 --- a/content/nic/configuration/global-configuration/configmap-resource.md +++ b/content/nic/configuration/global-configuration/configmap-resource.md @@ -75,6 +75,7 @@ For more information, view the [VirtualServer and VirtualServerRoute resources]( |*proxy-buffering* | Enables or disables [buffering of responses](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) from the proxied server. | *True* | | |*proxy-buffers* | Sets the value of the [proxy_buffers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directive. | Depends on the platform. | | |*proxy-buffer-size* | Sets the value of the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) and [grpc_buffer_size](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_buffer_size) directives. | Depends on the platform. | | +|*proxy-busy-buffers-size* | Sets the value of the [proxy_busy_buffers_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_busy_buffers_size) directive. | Depends on the platform. | | |*proxy-max-temp-file-size* | Sets the value of the [proxy_max_temp_file_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size) directive. | *1024m* | | |*set-real-ip-from* | Sets the value of the [set_real_ip_from](https://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from) directive. | N/A | | |*real-ip-header* | Sets the value of the [real_ip_header](https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header) directive. | *X-Real-IP* | | @@ -171,7 +172,7 @@ If you encounter the error `error [emerg] 13#13: "zone_sync" directive is duplic |ConfigMap Key | Description | Default | | ---| ---| ---| -|*zone-sync* | Enables zone synchronization between NGINX Ingress Controller Pods. This autogenerates a [zone_sync_server](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync_server) and a headless service using the `ReplicaSet` or `DaemonSet` name. Please note that this headless service will be automatically cleaned up when uninstalling via Helm or by removing the value from the ConfigMap. The headless service will need to be manually removed if the `controller.customConfigMap` value is set via Helm or the deployment is uninstalled via Manifests. Each Ingress Controller manages its own headless service. NGINX Plus Required. | *False* | +|*zone-sync* | Enables zone synchronization between NGINX Ingress Controller Pods. This autogenerates a [zone_sync_server](https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync_server) and a headless service using the `ReplicaSet`, `DaemonSet` or `StatefulSet` name. Please note that this headless service will be automatically cleaned up when uninstalling via Helm or by removing the value from the ConfigMap. The headless service will need to be manually removed if the `controller.customConfigMap` value is set via Helm or the deployment is uninstalled via Manifests. Each Ingress Controller manages its own headless service. NGINX Plus Required. | *False* | |*zone-sync-port* | Specifies the optional port on which NGINX Ingress Controller listens for zone sync traffic. NGINX Plus & `zone-sync` Required. | *12345* | |*zone-sync-resolver-addresses* | Configures optional addresses used in the [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync. This field takes a comma separated list of addresses. NGINX Plus & `zone-sync` Required | `kube-dns.kube-system.svc.cluster.local` | |*zone-sync-resolver-ipv6* | Configures whether the optional [resolver](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) directive for zone-sync will look up IPv6 addresses. NGINX Plus & `zone-sync` Required | `true` | diff --git a/content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md b/content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md index 7bbdb4685..f378fdddf 100644 --- a/content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md +++ b/content/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md @@ -108,6 +108,7 @@ The table below summarizes the available annotations. | *nginx.org/proxy-buffering* | *proxy-buffering* | Enables or disables [buffering of responses](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) from the proxied server. | *True* | | | *nginx.org/proxy-buffers* | *proxy-buffers* | Sets the value of the [proxy_buffers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directive. | Depends on the platform. | | | *nginx.org/proxy-buffer-size* | *proxy-buffer-size* | Sets the value of the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) and [grpc_buffer_size](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_buffer_size) directives. | Depends on the platform. | | +| *nginx.org/proxy-busy-buffers-size* | *proxy-busy-buffers-size* | Sets the value of the [proxy_busy_buffers_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_busy_buffers_size) directive. | Depends on the platform. | | | *nginx.org/proxy-max-temp-file-size* | *proxy-max-temp-file-size* | Sets the value of the [proxy_max_temp_file_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size) directive. | *1024m* | | | *nginx.org/server-tokens* | *server-tokens* | Enables or disables the [server_tokens](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens) directive. Additionally, with the NGINX Plus, you can specify a custom string value, including the empty string value, which disables the emission of the “Server” field. | *True* | | | *nginx.org/path-regex* | N/A | Enables regular expression modifiers for Ingress path parameter. This translates to the NGINX [location](https://nginx.org/en/docs/http/ngx_http_core_module.html#location) directive. You can specify one of these values: "case_sensitive", "case_insensitive", or "exact". The annotation is applied to the entire Ingress resource and its paths. While using Master and Minion Ingresses i.e. Mergeable Ingresses, this annotation can be specified on Minion types. The `path-regex` annotation specified on Master is ignored, and has no effect on paths defined on Minions. | N/A | [path-regex](https://github.com/nginx/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/path-regex) | diff --git a/content/nic/configuration/policy-resource.md b/content/nic/configuration/policy-resource.md index fd4fb4df8..5edf8b2d0 100644 --- a/content/nic/configuration/policy-resource.md +++ b/content/nic/configuration/policy-resource.md @@ -44,6 +44,8 @@ spec: |``ingressMTLS`` | The IngressMTLS policy configures client certificate verification. | [ingressMTLS](#ingressmtls) | No | |``egressMTLS`` | The EgressMTLS policy configures upstreams authentication and certificate verification. | [egressMTLS](#egressmtls) | No | |``waf`` | The WAF policy configures WAF and log configuration policies for [NGINX AppProtect]({{< ref "/nic/installation/integrations/app-protect-waf/configuration.md" >}}) | [WAF](#waf) | No | +|``cache`` | The cache policy configures proxy caching for serving cached content. | [cache](#cache) | No | + {{% /table %}} \* A policy must include exactly one policy. @@ -446,12 +448,14 @@ This feature is implemented using the NGINX Plus directive [auth_jwt_key_request {{< /call-out >}} {{% table %}} -|Field | Description | Type | Required | -| ---| ---| ---| --- | -|``jwksURI`` | The remote URI where the request will be sent to retrieve JSON Web Key set| ``string`` | Yes | -|``keyCache`` | Enables in-memory caching of JWKS (JSON Web Key Sets) that are obtained from the ``jwksURI`` and sets a valid time for expiration. To disable ``keyCache``, set value to ``0s``. | ``string`` | Yes | -|``realm`` | The realm of the JWT. | ``string`` | Yes | -|``token`` | The token specifies a variable that contains the JSON Web Token. By default the JWT is passed in the ``Authorization`` header as a Bearer Token. JWT may be also passed as a cookie or a part of a query string, for example: ``$cookie_auth_token``. Accepted variables are ``$http_``, ``$arg_``, ``$cookie_``. | ``string`` | No | +|Field | Description | Type | Required | Default | +| ---| ---| ---| --- | --- | +|``jwksURI`` | The remote URI where the request will be sent to retrieve JSON Web Key set| ``string`` | Yes | -- | +|``keyCache`` | Enables in-memory caching of JWKS (JSON Web Key Sets) that are obtained from the ``jwksURI`` and sets a valid time for expiration. | ``string`` | Yes | -- | +|``realm`` | The realm of the JWT. | ``string`` | Yes | -- | +|``token`` | The token specifies a variable that contains the JSON Web Token. By default the JWT is passed in the ``Authorization`` header as a Bearer Token. JWT may be also passed as a cookie or a part of a query string, for example: ``$cookie_auth_token``. Accepted variables are ``$http_``, ``$arg_``, ``$cookie_``. | ``string`` | No | -- | +|``sniEnabled`` | Enables SNI (Server Name Indication) for the JWT policy. This is useful when the remote server requires SNI to serve the correct certificate. | ``bool`` | No | `false` | +|``sniName`` | The SNI name to use when connecting to the remote server. If not set, the hostname from the ``jwksURI`` will be used. | ``string`` | No | -- | {{% /table %}} {{< call-out "note" >}} @@ -738,6 +742,57 @@ policies: In this example NGINX Ingress Controller will use the configuration from the first policy reference `oidc-policy-one`, and ignores `oidc-policy-two`. +### Cache + +The cache policy configures proxy caching, which improves performance by storing and serving cached responses to clients without having to proxy every request to upstream servers. + +For example, the following policy creates a cache zone named "my-cache" with 10MB memory allocation and caches all GET response codes for 30 seconds: + +```yaml +cache: + cacheZoneName: "mycache" + cacheZoneSize: "10m" + allowedCodes: ["any"] + allowedMethods: ["GET"] + time: "30s" +``` + +Here's an example with more specific configuration: + +```yaml +cache: + cacheZoneName: "mycache" + cacheZoneSize: "100m" + allowedCodes: [200, 301, 302] + allowedMethods: ["GET", "POST"] + time: "5m" + levels: "1:2" + overrideUpstreamCache: true +``` + +{{< call-out "note" >}} + +The feature is implemented using the NGINX [ngx_http_proxy_module](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path) proxy_cache_path and related directives. + +{{< /call-out >}} + +{{% table %}} +|Field | Description | Type | Required | +| --- | ---| ---| --- | +| ``cacheZoneName`` | CacheZoneName defines the name of the cache zone. Must start with a lowercase letter,followed by alphanumeric characters or underscores, and end with an alphanumeric character. Single lowercase letters are also allowed. Examples: "cache", "my_cache", "cache1". | ``string`` | Yes | +|``cacheZoneSize`` | CacheZoneSize defines the size of the cache zone. Must be a number followed by a size unit: 'k' for kilobytes, 'm' for megabytes, or 'g' for gigabytes. Examples: "10m", "1g", "512k". | ``string`` | Yes | +|``allowedCodes`` | AllowedCodes defines which HTTP response codes should be cached. Accepts either: - The string "any" to cache all response codes (must be the only element) - A list of HTTP status codes as integers (100-599) Examples: ["any"], [200, 301, 404], [200]. Invalid: ["any", 200] (cannot mix "any" with specific codes). | ``[]IntOrString`` | No | +|``time`` | The default cache time for responses. Required when allowedCodes is specified. Must be a number followed by a time unit: 's' for seconds, 'm' for minutes, 'h' for hours, 'd' for days. Examples: "30s", "5m", "1h", "2d". | ``string`` | No | +|``allowedMethods`` | AllowedMethods defines which HTTP methods should be cached. Only "GET", "HEAD", and "POST" are supported by NGINX proxy_cache_methods directive. GET and HEAD are always cached by default even if not specified. Maximum of 3 items allowed. Examples: ["GET"], ["GET", "HEAD", "POST"]. Invalid methods: PUT, DELETE, PATCH, etc. | ``[]string`` | No | +|``levels`` | Levels defines the cache directory hierarchy levels for storing cached files. Must be in format "X:Y" or "X:Y:Z" where X, Y, Z are either 1 or 2. This controls the number of subdirectory levels and their name lengths. Examples: "1:2", "2:2", "1:2:2". Invalid: "3:1", "1:3", "1:2:3". | ``string`` | No | +|``overrideUpstreamCache`` | OverrideUpstreamCache controls whether to override upstream cache headers (using proxy_ignore_headers directive). When true, NGINX will ignore cache-related headers from upstream servers like Cache-Control, Expires etc, Default: false. | ``bool`` | No | +|``cachePurgeAllow`` | CachePurgeAllow defines IP addresses or CIDR blocks allowed to purge cache. This feature is only available in NGINX Plus. Examples: ["192.168.1.100", "10.0.0.0/8", "::1"]. | ``[]string`` | No | +{{% /table %}} + +#### Cache Merging Behavior + +A VirtualServer/VirtualServerRoute can reference multiple cache policies. However, only one can be applied: every subsequent reference will be ignored. + ## Using Policy You can use the usual `kubectl` commands to work with Policy resources, just as with built-in Kubernetes resources. diff --git a/content/nic/configuration/proxy-buffers-configuration.md b/content/nic/configuration/proxy-buffers-configuration.md new file mode 100644 index 000000000..bfb63511d --- /dev/null +++ b/content/nic/configuration/proxy-buffers-configuration.md @@ -0,0 +1,145 @@ +--- +title: Proxy Buffer Configuration Auto-Adjustment +toc: true +weight: 850 +nd-docs: DOCS-590 +--- + +This document explains how the `--enable-directive-autoadjust` option prevents NGINX configuration errors by automatically adjusting some HTTP proxy buffer directives. + +--- +## What it does + +The `--enable-directive-autoadjust` feature automatically fixes common proxy buffer configuration mistakes that would otherwise cause NGINX to fail with errors like: + +```text +[emerg] "proxy_busy_buffers_size" must be less than the size of all "proxy_buffers" minus one buffer +``` + +**What gets fixed:** +- If you don't specify `proxy_buffers`, it sets a sensible default of `8 4k` +- If your `proxy_busy_buffers_size` is too large, it reduces it to a safe value +- If the number of proxy buffers is outside the valid range (minimum 2, maximum 1024), it gets clamped to those limits +- Empty or invalid buffer settings get corrected automatically + +**Works with:** +- [ConfigMap settings]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#general-customization" >}}) +- [Ingress annotations]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations/#general-customization" >}}) +- [VirtualServer upstream buffer configurations]({{< ref "/nic/configuration/virtualserver-and-virtualserverroute-resources/#upstream" >}}) +--- + +## How to enable auto-adjustment +{{}} +{{% tab name="Manifests" %}} +Add the flag to the controller container: +```yaml + args: + - --enable-directive-autoadjust=true +``` +{{% /tab %}} +{{% tab name="Helm" %}} +Enable via the Helm chart values file: +```yaml +controller: + directiveAutoAdjust: "true" +``` +{{% /tab %}} +{{}} + +--- +## Examples + +### Example 1 + +**Input:** +```yaml +data: + proxy-buffer-size: "5m" + proxy-buffers: "8 1m" +``` + +{{}} + +{{% tab name="Before (Error)" %}} + +Before enabling `--enable-directive-autoadjust`, NGINX fails to start with configuration validation errors. + +```shell +stderr: "2025/08/26 14:29:49 [emerg] 196#196: "proxy_busy_buffers_size" must be less than the size of all "proxy_buffers" minus one buffer in /etc/nginx/nginx.conf:121" +``` + +{{% /tab %}} + +{{% tab name="After (Fixed)" %}} + +With `--enable-directive-autoadjust`, the configuration is automatically adjusted: + +```nginx + proxy_buffers 8 1m; + proxy_buffer_size 5m; + proxy_busy_buffers_size 5m; +``` + +Logs: +```text +I20250826 14:31:54.515490 1 configmaps.go:380] Changes made to proxy values: adjusted proxy_busy_buffers_size from to 5m because it was too small +``` + +{{% /tab %}} + +{{}} + +### Example 2 + +**Input:** +```yaml +data: + proxy-buffers: "1000000 1m" # Extremely high buffer count + proxy-buffer-size: "999m" # Very large buffer size + proxy-busy-buffers-size: "500m" +``` + +{{}} + +{{% tab name="Before (Error)" %}} + +```shell +stderr: "2025/08/26 14:34:46 [emerg] 47#47: "proxy_busy_buffers_size" must be equal to or greater than the maximum of the value of "proxy_buffer_size" and one of the "proxy_buffers" in /etc/nginx/nginx.conf:121\n" +``` + +{{% /tab %}} + +{{% tab name="After (Fixed)" %}} + +With `--enable-directive-autoadjust`, sensible defaults are applied: + +```shell + proxy_buffers 1024 1m; + proxy_buffer_size 999m; + proxy_busy_buffers_size 999m; +``` + +Logs: +```shell +I20250826 14:36:47.864375 1 configmaps.go:380] Changes made to proxy values: adjusted proxy_buffers number from 1000000 to 1024 +I20250826 14:36:47.864389 1 configmaps.go:380] Changes made to proxy values: adjusted proxy_busy_buffers_size from 500m to 999m because it was too small +``` + +{{% /tab %}} + +{{}} + +--- +## Monitoring and logging + +The controller outputs a log message whenever any of the proxy buffer directives are changed. Examples: + +```text +I20250826 14:06:43.734757 1 annotations.go:341] Changes made to proxy values: adjusted proxy_buffer_size from 512k to 64k because it was too big for proxy_buffers (2 64k) +I20250826 14:06:43.734842 1 annotations.go:341] Changes made to proxy values: adjusted proxy_busy_buffers_size from to 64k because it was too small +``` + +View adjustment logs: +```bash +kubectl logs -n | grep "Changes made to proxy values" +``` \ No newline at end of file diff --git a/content/nic/configuration/security.md b/content/nic/configuration/security.md index ad561cb21..e44d99e87 100644 --- a/content/nic/configuration/security.md +++ b/content/nic/configuration/security.md @@ -53,10 +53,12 @@ The block below shows the code you will look for: # volumes: # - name: nginx-etc # emptyDir: {} -# - name: nginx-cache -# emptyDir: {} +# - name: nginx-cache # do not set this value in statefulset if volumeclaimtemplate is set +# emptyDir: {} # do not set this value in statefulset if volumeclaimtemplate is set # - name: nginx-lib # emptyDir: {} +# - name: nginx-lib-state +# emptyDir: {} # - name: nginx-log # emptyDir: {} . @@ -73,6 +75,8 @@ The block below shows the code you will look for: # name: nginx-cache # - mountPath: /var/lib/nginx # name: nginx-lib +# - mountPath: /var/lib/nginx/state +# name: nginx-lib-state # - mountPath: /var/log/nginx # name: nginx-log ``` diff --git a/content/nic/configuration/virtualserver-and-virtualserverroute-resources.md b/content/nic/configuration/virtualserver-and-virtualserverroute-resources.md index 3a0a782e4..670599c36 100644 --- a/content/nic/configuration/virtualserver-and-virtualserverroute-resources.md +++ b/content/nic/configuration/virtualserver-and-virtualserverroute-resources.md @@ -356,6 +356,7 @@ tls: |``buffering`` | Enables buffering of responses from the upstream server. See the [proxy_buffering](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) directive. The default is set in the ``proxy-buffering`` ConfigMap key. | ``boolean`` | No | |``buffers`` | Configures the buffers used for reading a response from the upstream server for a single connection. | [buffers](#upstreambuffers) | No | |``buffer-size`` | Sets the size of the buffer used for reading the first part of a response received from the upstream server. See the [proxy_buffer_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) directive. The default is set in the ``proxy-buffer-size`` ConfigMap key. | ``string`` | No | +|``busy-buffers-size`` | Sets the size of the buffer used for reading a response from the upstream server when the response is larger than the ``buffer-size``. See the [proxy_busy_buffers_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_busy_buffers_size) directive. The default is set in the ``proxy-busy-buffers-size`` ConfigMap key. | ``string`` | No | |``ntlm`` | Allows proxying requests with NTLM Authentication. See the [ntlm](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#ntlm) directive. In order for NTLM authentication to work, it is necessary to enable keepalive connections to upstream servers using the ``keepalive`` field. Note: this feature is supported only in NGINX Plus.| ``boolean`` | No | |``type`` |The type of the upstream. Supported values are ``http`` and ``grpc``. The default is ``http``. For gRPC, it is necessary to enable HTTP/2 in the [ConfigMap]({{< ref "/nic/configuration/global-configuration/configmap-resource.md#listeners" >}}) and configure TLS termination in the VirtualServer. | ``string`` | No | |``backup`` | The name of the backup service of type [ExternalName](https://kubernetes.io/docs/concepts/services-networking/service/#externalname). This will be used when the primary servers are unavailable. Note: The parameter cannot be used along with the ``random`` , ``hash`` or ``ip_hash`` load balancing methods. | ``string`` | No | diff --git a/content/nic/installation/ingress-nginx.md b/content/nic/installation/ingress-nginx.md index cdfed5470..7727c56e8 100644 --- a/content/nic/installation/ingress-nginx.md +++ b/content/nic/installation/ingress-nginx.md @@ -459,6 +459,7 @@ This table maps the Ingress-NGINX Controller annotations to NGINX Ingress Contro | [_nginx.ingress.kubernetes.io/proxy-buffering_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#proxy-buffering) | [_nginx.org/proxy-buffering_]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#general-customization" >}}) | [_proxy_buffering_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) | | [_nginx.ingress.kubernetes.io/proxy-buffers-number_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#proxy-buffers-number) | [_nginx.org/proxy-buffers_]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#general-customization" >}}) | [_proxy_buffers_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) | | [_nginx.ingress.kubernetes.io/proxy-buffer-size_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#proxy-buffer-size) | [_nginx.org/proxy-buffer-size_]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#general-customization" >}}) | [_proxy_buffer_size_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) | +| [_nginx.ingress.kubernetes.io/proxy-busy-buffers-size_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#proxy-busy-buffers-size) | [_nginx.org/proxy-busy-buffers-size_]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#general-customization" >}}) | [_proxy_busy_buffers_size_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_busy_buffers_size) | | [_nginx.ingress.kubernetes.io/proxy-connect-timeout_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-timeouts) | [_nginx.org/proxy-connect-timeout_]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#general-customization" >}}) | [_proxy_connect_timeout_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) | | [_nginx.ingress.kubernetes.io/proxy-read-timeout_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-timeouts) | [_nginx.org/proxy-read-timeout_]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#general-customization" >}}) | [_proxy_read_timeout_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout) | | [_nginx.ingress.kubernetes.io/proxy-send-timeout_](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-timeouts) | [_nginx.org/proxy-send-timeout_]({{< ref "/nic/configuration/ingress-resources/advanced-configuration-with-annotations.md#general-customization" >}}) | [_proxy_send_timeout_](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout) | diff --git a/content/nic/installation/installing-nic/installation-with-helm.md b/content/nic/installation/installing-nic/installation-with-helm.md index 3bdab4f57..6e4677e97 100644 --- a/content/nic/installation/installing-nic/installation-with-helm.md +++ b/content/nic/installation/installing-nic/installation-with-helm.md @@ -129,10 +129,10 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont {{< table >}} |Parameter | Description | Default | | --- | --- | --- | -| **controller.name** | The name of the NGINX Ingress Controller daemonset or deployment. | Autogenerated | -| **controller.kind** | The kind of the NGINX Ingress Controller installation - deployment or daemonset. | deployment | -| **controller.annotations** | Allows for setting of `annotations` for deployment or daemonset. | {} | -| **controller.nginxplus** | Deploys the NGINX Ingress Controller for NGINX Plus. | false | +| **controller.name** | The name of the Ingress Controller deployment, daemonset, or statefulset. | Autogenerated | +| **controller.kind** | The kind of the Ingress Controller installation - deployment, daemonset, or statefulset. | deployment | +| **controller.annotations** | Allows for setting of `annotations` for deployment, daemonset, or statefulset. | {} | +| **controller.nginxplus** | Deploys the Ingress Controller for NGINX Plus. | false | | **controller.mgmt.licenseTokenSecretName** | Configures the secret used in the [license_token](https://nginx.org/en/docs/ngx_mgmt_module.html#license_token) directive. This key assumes the secret is in the Namespace that NGINX Ingress Controller is deployed in. The secret must be of type `nginx.com/license` with the base64 encoded JWT in the `license.jwt` key. | license-token | | **controller.mgmt.enforceInitialReport** | Configures the [enforce_initial_report](https://nginx.org/en/docs/ngx_mgmt_module.html#enforce_initial_report) directive, which enables or disables the 180-day grace period for sending the initial usage report. | false | | **controller.mgmt.usageReport.endpoint** | Configures the endpoint of the [usage_report](https://nginx.org/en/docs/ngx_mgmt_module.html#usage_report) directive. This is used to configure the endpoint NGINX uses to send usage reports to NIM. | product.connect.nginx.com | @@ -152,6 +152,7 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont | **controller.nginxDebug** | Enables debugging for NGINX. Uses the `nginx-debug` binary. Requires `error-log-level: debug` in the ConfigMap via `controller.config.entries`. | false | | **controller.logLevel** | The log level of the NGINX Ingress Controller. | info | | **controller.logFormat** | The log format of the NGINX Ingress Controller. | glog | +| **controller.directiveAutoAdjust** | Automatically adjusts NGINX buffer directives to prevent configuration errors. | false | | **controller.image.digest** | The image digest of the NGINX Ingress Controller. | None | | **controller.image.repository** | The image repository of the NGINX Ingress Controller. | nginx/nginx-ingress | | **controller.image.tag** | The tag of the NGINX Ingress Controller image. | {{< nic-version >}} | @@ -260,6 +261,14 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont | **controller.readyStatus.enable** | Enables the readiness endpoint `"/nginx-ready"`. The endpoint returns a success code when NGINX has loaded all the config after the startup. This also configures a readiness probe for the NGINX Ingress Controller pods that uses the readiness endpoint. | true | | **controller.readyStatus.port** | The HTTP port for the readiness endpoint. | 8081 | | **controller.readyStatus.initialDelaySeconds** | The number of seconds after the NGINX Ingress Controller pod has started before readiness probes are initiated. | 0 | +| **controller.startupStatus.enable** | Enables the startup probe for the Ingress Controller. | false | +| **controller.startupStatus.port** | The port where the startup endpoint is exposed. This is a required field if `controller.startupStatus.enable` is set to true. | N/A | +| **controller.startupStatus.path** | The path to the startup endpoint. This is a required field if `controller.startupStatus.enable` is set to true. | N/A | +| **controller.startupStatus.initialDelaySeconds** | The number of seconds after the Ingress Controller pod has started before startup probes are initiated. | N/A | +| **controller.startupStatus.periodSeconds** | The number of seconds between each startup probe. | N/A | +| **controller.startupStatus.timeoutSeconds** | The number of seconds after which the startup probe times out. | N/A | +| **controller.startupStatus.successThreshold** | Minimum consecutive successes for the probe to be considered successful. | N/A | +| **controller.startupStatus.failureThreshold** | When a probe fails, Kubernetes will try failureThreshold times before giving up. | N/A | | **controller.enableLatencyMetrics** | Enable collection of latency metrics for upstreams. Requires `prometheus.create`. | false | | **controller.minReadySeconds** | Specifies the minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing, for it to be considered available. [docs](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#min-ready-seconds) | 0 | | **controller.autoscaling.enabled** | Enables HorizontalPodAutoscaling. | false | @@ -273,7 +282,13 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont | **controller.podDisruptionBudget.annotations** | The annotations of the NGINX Ingress Controller pod disruption budget | {} | | **controller.podDisruptionBudget.minAvailable** | The number of Ingress Controller pods that should be available. This is a mutually exclusive setting with "maxUnavailable". | 0 | | **controller.podDisruptionBudget.maxUnavailable** | The number of Ingress Controller pods that can be unavailable. This is a mutually exclusive setting with "minAvailable". | 0 | -| **controller.strategy** | Specifies the strategy used to replace old Pods with new ones. Docs for [Deployment update strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) and [Daemonset update strategy](https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/#daemonset-update-strategy) | {} | +| **controller.strategy** | Specifies the strategy used to replace old Pods with new ones. Docs for [Deployment update strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy), [Daemonset update strategy](https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/#daemonset-update-strategy) and [StatefulSet update strategy](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies) | {} | +| **controller.statefulset.podManagementPolicy** | Controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. Available options: `OrderedReady` or `Parallel`. Only applies when `controller.kind` is set to `statefulset`. | `OrderedReady` | +| **controller.statefulset.persistentVolumeClaimRetentionPolicy.whenDeleted** | Controls the retention policy for PVCs when the StatefulSet is deleted. Available options: `Retain` or `Delete`. Only applies when `controller.kind` is set to `statefulset`. | `Retain` | +| **controller.statefulset.persistentVolumeClaimRetentionPolicy.whenScaled** | Controls the retention policy for PVCs when the StatefulSet is scaled down. Available options: `Retain` or `Delete`. Only applies when `controller.kind` is set to `statefulset`. | `Retain` | +| **controller.statefulset.nginxCachePVC.size** | The size of the persistent volume claim for NGINX cache storage. Only applies when `controller.kind` is set to `statefulset`. | `256Mi` | +| **controller.statefulset.nginxCachePVC.storageClass** | The storage class for the persistent volume claim. Only applies when `controller.kind` is set to `statefulset`. | `""` | +| **controller.statefulset.nginxCachePVC.accessModes** | The access modes for the persistent volume claim. Only applies when `controller.kind` is set to `statefulset`. | `["ReadWriteOnce"]` | | **controller.disableIPV6** | Disable IPV6 listeners explicitly for nodes that do not support the IPV6 stack. | false | | **controller.defaultHTTPListenerPort** | Sets the port for the HTTP `default_server` listener. | 80 | | **controller.defaultHTTPSListenerPort** | Sets the port for the HTTPS `default_server` listener. | 443 | diff --git a/content/nic/installation/installing-nic/installation-with-manifests.md b/content/nic/installation/installing-nic/installation-with-manifests.md index 8df8e0a53..dbbc84935 100644 --- a/content/nic/installation/installing-nic/installation-with-manifests.md +++ b/content/nic/installation/installing-nic/installation-with-manifests.md @@ -132,10 +132,11 @@ kubectl apply -f config/crd/bases/appprotectdos.f5.com_dosprotectedresources.yam ## Deploy NGINX Ingress Controller {#deploy-ingress-controller} -You have two options for deploying NGINX Ingress Controller: +You have three options for deploying NGINX Ingress Controller: - **Deployment**. Choose this method for the flexibility to dynamically change the number of NGINX Ingress Controller replicas. - **DaemonSet**. Choose this method if you want NGINX Ingress Controller to run on all nodes or a subset of nodes. +- **StatefulSet**. Choose this method when you need stable, persistent storage and ordered deployment/scaling for your NGINX Ingress Controller pods. Before you start, update the [command-line arguments]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md" >}}) for the NGINX Ingress Controller container in the relevant manifest file to meet your specific requirements. @@ -147,6 +148,10 @@ Before you start, update the [command-line arguments]({{< ref "/nic/configuratio {{< include "/nic/installation/manifests/daemonset.md" >}} +### Using a StatefulSet + +{{< include "/nic/installation/manifests/statefulset.md" >}} + --- ## Confirm NGINX Ingress Controller is running @@ -157,9 +162,9 @@ Before you start, update the [command-line arguments]({{< ref "/nic/configuratio ## How to access NGINX Ingress Controller -### Using a Deployment +### Using a Deployment or StatefulSet -For Deployments, you have two options for accessing NGINX Ingress Controller pods. +For Deployments and StatefulSets, you have two options for accessing NGINX Ingress Controller pods. #### Option 1: Create a NodePort service diff --git a/content/nic/installation/integrations/app-protect-dos/installation.md b/content/nic/installation/integrations/app-protect-dos/installation.md index c678dcf49..f090c6712 100644 --- a/content/nic/installation/integrations/app-protect-dos/installation.md +++ b/content/nic/installation/integrations/app-protect-dos/installation.md @@ -166,6 +166,10 @@ kubectl apply -f config/crd/bases/appprotectdos.f5.com_dosprotectedresources.yam {{< include "/nic/installation/manifests/daemonset.md" >}} +### Using a StatefulSet + +{{< include "/nic/installation/manifests/statefulset.md" >}} + --- ## Install the App Protect DoS Arbitrator @@ -204,7 +208,7 @@ Alternatively, you can install the App Protect DoS Arbitrator using the YAML man To enable the NGINX App Protect DoS Module: -- Add the `enable-app-protect-dos` [command-line argument]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-enable-app-protect-dos" >}}) to your Deployment or DaemonSet file. +- Add the `enable-app-protect-dos` [command-line argument]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-enable-app-protect-dos" >}}) to your Deployment, DaemonSet, or StatefulSet file. --- diff --git a/content/nic/installation/integrations/app-protect-waf-v5/installation.md b/content/nic/installation/integrations/app-protect-waf-v5/installation.md index 421dded1c..159923821 100644 --- a/content/nic/installation/integrations/app-protect-waf-v5/installation.md +++ b/content/nic/installation/integrations/app-protect-waf-v5/installation.md @@ -132,7 +132,7 @@ docker push /waf-enforcer: ## Deploy NGINX Ingress Controller {#deploy-ingress-controller} -{{< call-out "important" >}} NGINX Ingress Controller with the AppProtect WAF v5 module works only with policy bundles. You need to modify the Deployment or DaemonSet file to include volumes, volume mounts and two WAF 5 docker images: `waf-config-mgr` and `waf-enforcer`. +{{< important >}} NGINX Ingress Controller with the AppProtect WAF v5 module works only with policy bundles. You need to modify the Deployment, DaemonSet, or StatefulSet file to include volumes, volume mounts and two WAF 5 docker images: `waf-config-mgr` and `waf-enforcer`. NGINX Ingress Controller **requires** the volume mount path to be `/etc/app_protect/bundles`. {{< /call-out >}} @@ -227,18 +227,18 @@ Create required volumes: volumes: - name: nginx-etc emptyDir: {} - - name: nginx-cache - emptyDir: {} + - name: nginx-cache # do not set this value in statefulset if volumeclaimtemplate is set + emptyDir: {} # do not set this value in statefulset if volumeclaimtemplate is set - name: nginx-lib emptyDir: {} - name: nginx-log emptyDir: {} - - emptyDir: {} - name: app-protect-bd-config - - emptyDir: {} - name: app-protect-config - - emptyDir: {} - name: app-protect-bundles + - name: app-protect-bd-config + emptyDir: {} + - name: app-protect-config + emptyDir: {} + - name: app-protect-bundles + emptyDir: {} ``` Set `controller.securityContext.readOnlyRootFilesystem` to `true`. @@ -291,6 +291,7 @@ You have two options for deploying NGINX Ingress Controller: - **Deployment**. Choose this method for the flexibility to dynamically change the number of NGINX Ingress Controller replicas. - **DaemonSet**. Choose this method if you want NGINX Ingress Controller to run on all nodes or a subset of nodes. +- **StatefulSet**. Choose this method when you need stable, persistent storage and ordered deployment/scaling for your NGINX Ingress Controller pods. --- @@ -377,7 +378,7 @@ Add `waf-enforcer` image to the `containers` section: ... ``` -### Update NIC container in deployment or daemonset +### Update NIC container in deployment, daemonset, or statefulset Add `volumeMounts` as below: @@ -464,6 +465,10 @@ Add `readOnlyRootFilesystem` to the `waf-enforcer` container and set value to `t ... ``` +{{< call-out "note" >}} +**StatefulSet Volume Configuration**: When using StatefulSet deployments, the `nginx-cache` volume is automatically provided via `volumeClaimTemplates` for persistent storage. App Protect WAF v5 volumes (like app-protect-config, app-protect-bundles) are still configured as regular volumes in the `volumes` section. Use `emptyDir` for temporary data or PersistentVolumeClaims if you need persistence for App Protect configurations across pod restarts. +{{< /call-out >}} + ### Using a Deployment {{< include "/nic/installation/manifests/deployment.md" >}} @@ -472,13 +477,17 @@ Add `readOnlyRootFilesystem` to the `waf-enforcer` container and set value to `t {{< include "/nic/installation/manifests/daemonset.md" >}} +### Using a StatefulSet + +{{< include "/nic/installation/manifests/statefulset.md" >}} + --- ### Enable NGINX App Protect WAF module To enable the NGINX App Protect DoS Module: -- Add the `enable-app-protect` [command-line argument]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-enable-app-protect" >}}) to your Deployment or DaemonSet file. +- Add the `enable-app-protect` [command-line argument]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-enable-app-protect" >}}) to your Deployment, DaemonSet, or StatefulSet file. {{%/tab%}} diff --git a/content/nic/installation/integrations/app-protect-waf/installation.md b/content/nic/installation/integrations/app-protect-waf/installation.md index 0da5bc500..b5d8d3920 100644 --- a/content/nic/installation/integrations/app-protect-waf/installation.md +++ b/content/nic/installation/integrations/app-protect-waf/installation.md @@ -158,7 +158,7 @@ kubectl apply -f config/crd/bases/appprotect.f5.com_apusersigs.yaml {{< include "/nic/installation/deploy-controller.md" >}} -{{< call-out "note" >}} If you're using NGINX Ingress Controller with the AppProtect WAF module and policy bundles, you will need to modify the Deployment or DaemonSet file to include volumes and volume mounts. +{{< call-out "note" >}} If you're using NGINX Ingress Controller with the AppProtect WAF module and policy bundles, you will need to modify the Deployment, DaemonSet, or StatefulSet file to include volumes and volume mounts. NGINX Ingress Controller **requires** the volume mount path to be `/etc/nginx/waf/bundles`. {{< /call-out >}} @@ -183,6 +183,10 @@ volumeMounts: ... ``` +{{< call-out "note" >}} +**StatefulSet Volume Configuration**: When using StatefulSet deployments, the `nginx-cache` volume is automatically provided via `volumeClaimTemplates` for persistent storage. App Protect WAF v5 volumes (like app-protect-config, app-protect-bundles) are still configured as regular volumes in the `volumes` section. Use `emptyDir` for temporary data or PersistentVolumeClaims if you need persistence for App Protect configurations across pod restarts. +{{< /call-out >}} + ### Using a Deployment {{< include "/nic/installation/manifests/deployment.md" >}} @@ -191,13 +195,17 @@ volumeMounts: {{< include "/nic/installation/manifests/daemonset.md" >}} +### Using a StatefulSet + +{{< include "/nic/installation/manifests/statefulset.md" >}} + --- ## Enable NGINX App Protect WAF module To enable the NGINX App Protect DoS Module: -- Add the `enable-app-protect` [command-line argument]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-enable-app-protect" >}}) to your Deployment or DaemonSet file. +- Add the `enable-app-protect` [command-line argument]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md#cmdoption-enable-app-protect" >}}) to your Deployment, DaemonSet, or StatefulSet file. --- diff --git a/content/nic/logging-and-monitoring/prometheus.md b/content/nic/logging-and-monitoring/prometheus.md index 0bca69823..6ebbc749f 100644 --- a/content/nic/logging-and-monitoring/prometheus.md +++ b/content/nic/logging-and-monitoring/prometheus.md @@ -35,8 +35,7 @@ curl https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/$ ``` ### Using Manifests - -If you're using *Kubernetes manifests* (Deployment or DaemonSet) to install the Ingress Controller, to enable Prometheus metrics: +If you're using *Kubernetes manifests* (Deployment, DaemonSet, or StatefulSet) to install the Ingress Controller, to enable Prometheus metrics: 1. Run the Ingress Controller with the `-enable-prometheus-metrics` [command-line argument]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md" >}}). As a result, the Ingress Controller will expose NGINX or NGINX Plus metrics in the Prometheus format via the path `/metrics` on port `9113` (customizable via the `-prometheus-metrics-listen-port` command-line argument). 1. To enable TLS for the Prometheus endpoint, configure the `-prometheus-tls-secret` cli argument with the namespace and name of a TLS Secret. diff --git a/content/nic/logging-and-monitoring/service-insight.md b/content/nic/logging-and-monitoring/service-insight.md index 35b4c89a8..f33248bde 100644 --- a/content/nic/logging-and-monitoring/service-insight.md +++ b/content/nic/logging-and-monitoring/service-insight.md @@ -20,7 +20,7 @@ NGINX Plus determination of healthy can be tuned using advanced health checks, a ## Enabling Service Insight Endpoint -If you're using *Kubernetes manifests* (Deployment or DaemonSet) to install the Ingress Controller, to enable the Service Insight endpoint: +If you're using *Kubernetes manifests* (Deployment, DaemonSet, or StatefulSet) to install the Ingress Controller, to enable the Service Insight endpoint: 1. Run the Ingress Controller with the `-enable-service-insight` [command-line argument]({{< ref "/nic/configuration/global-configuration/command-line-arguments.md" >}}). This will expose the Ingress Controller endpoint via paths `/probe/{hostname}` for Virtual Servers, and `/probe/ts/{service_name}` for Transport Servers on port `9114` (customizable with the `-service-insight-listen-port` command-line argument). The `service_name` parameter refers to the name of the deployed service (the service specified under `upstreams` in the transport server). 1. To enable TLS for the Service Insight endpoint, configure the `-service-insight-tls-secret` cli argument with the namespace and name of a TLS Secret. diff --git a/content/nic/overview/product-telemetry.md b/content/nic/overview/product-telemetry.md index 08196c4ca..ca9472af7 100644 --- a/content/nic/overview/product-telemetry.md +++ b/content/nic/overview/product-telemetry.md @@ -34,7 +34,7 @@ These are the data points collected and reported by NGINX Ingress Controller: - **VirtualServers** The number of VirtualServer resources managed by NGINX Ingress Controller. - **VirtualServerRoutes** The number of VirtualServerRoute resources managed by NGINX Ingress Controller. - **TransportServers** The number of TransportServer resources managed by NGINX Ingress Controller. -- **Replicas** Number of Deployment replicas, or Daemonset instances. +- **Replicas** Number of Deployment or StatefulSet replicas, or DaemonSet instances. - **Secrets** Number of Secret resources managed by NGINX Ingress Controller. - **ClusterIPServices** Number of ClusterIP Services managed by NGINX Ingress Controller. - **NodePortServices** Number of NodePort Services managed by NGINX Ingress Controller. @@ -54,6 +54,7 @@ These are the data points collected and reported by NGINX Ingress Controller: - **EgressMTLSPolicies** Number of EgressMTLS policies. - **OIDCPolicies** Number of OIDC policies. - **WAFPolicies** Number of WAF policies. +- **CachePolicies** Number of Cache policies. - **GlobalConfiguration** Represents the use of a GlobalConfiguration resource. - **AppProtectVersion** The AppProtect version - **IsPlus** Represents whether NGINX is Plus or OSS diff --git a/content/nic/releases.md b/content/nic/releases.md index 4821b26d8..0d8d717c9 100644 --- a/content/nic/releases.md +++ b/content/nic/releases.md @@ -5,6 +5,44 @@ toc: true nd-content-type: reference nd-product: NIC nd-docs: DOCS-616 +--- +## 5.2.0 + +15 Sept 2025 + +This Nginx Ingress Controller release focuses on enhancing performance, simplifying configurations, and improving security to better support modern application needs. Highlights of this release are: + +- NGINX Content Cache Using Policies which adds policy configuration that enables proxy caching. +- Support for Kubernetes `StatefulSet` object has been added which can also be use to provide persistent storage for cached content. +- Auto-Adjusting Incompatible Proxy Buffer Directive Values, we’ve added a new `--enable-directive-autoadjust` parameter. When enabled, this feature automatically resolves common proxy buffer configuration dependencies that could cause issues during NGINX reloads. +- Server Name Indication (SNI) Support in JWT Policies, users can now configure `sniName` and `sniEnabled` for scenarios where the remote server requires SNI to serve the correct certificate. + +### Features +- [8005](https://github.com/nginx/kubernetes-ingress/pull/8005) Add nginx content cache as NIC cache policy +- [8159](https://github.com/nginx/kubernetes-ingress/pull/8159) Statefulset support +- [8133](https://github.com/nginx/kubernetes-ingress/pull/8133) Add support for automatic adjustment of buffer related directives +- [8011](https://github.com/nginx/kubernetes-ingress/pull/8011) Allow startupprobe to be configured via helm +- [7993](https://github.com/nginx/kubernetes-ingress/pull/7993) Add sni to NIC jwt policy +- [8093](https://github.com/nginx/kubernetes-ingress/pull/8093) Add viol_bot_client and viol_geolocation violations support +- [8229](https://github.com/nginx/kubernetes-ingress/pull/8229) Add N+ license expiry to prometheus metrics +- [8142](https://github.com/nginx/kubernetes-ingress/pull/8142) Add globalconfigurationcustomname parameter +- [8195](https://github.com/nginx/kubernetes-ingress/pull/8195) Add support for fips 140-3 compliance + + + +### Dependencies +- [8208](https://github.com/nginx/kubernetes-ingress/pull/8208) Update Nginx agent to 3.3 +- [7959](https://github.com/nginx/kubernetes-ingress/pull/7959), [7983](https://github.com/nginx/kubernetes-ingress/pull/7983), [8037](https://github.com/nginx/kubernetes-ingress/pull/8037), [8057](https://github.com/nginx/kubernetes-ingress/pull/8057), [8083](https://github.com/nginx/kubernetes-ingress/pull/8083), [8096](https://github.com/nginx/kubernetes-ingress/pull/8096), [8126](https://github.com/nginx/kubernetes-ingress/pull/8126), [8143](https://github.com/nginx/kubernetes-ingress/pull/8143), [8183](https://github.com/nginx/kubernetes-ingress/pull/8183), [8186](https://github.com/nginx/kubernetes-ingress/pull/8186), [8200](https://github.com/nginx/kubernetes-ingress/pull/8200), [8231](https://github.com/nginx/kubernetes-ingress/pull/8231) Bump Go dependencies +- [7946](https://github.com/nginx/kubernetes-ingress/pull/7946), [7961](https://github.com/nginx/kubernetes-ingress/pull/7961), [7977](https://github.com/nginx/kubernetes-ingress/pull/7977), [7979](https://github.com/nginx/kubernetes-ingress/pull/7979), [7978](https://github.com/nginx/kubernetes-ingress/pull/7978), [7984](https://github.com/nginx/kubernetes-ingress/pull/7984), [7996](https://github.com/nginx/kubernetes-ingress/pull/7996), [8012](https://github.com/nginx/kubernetes-ingress/pull/8012), [8036](https://github.com/nginx/kubernetes-ingress/pull/8036), [8044](https://github.com/nginx/kubernetes-ingress/pull/8044), [8063](https://github.com/nginx/kubernetes-ingress/pull/8063), [8085](https://github.com/nginx/kubernetes-ingress/pull/8085), [8107](https://github.com/nginx/kubernetes-ingress/pull/8107), [8114](https://github.com/nginx/kubernetes-ingress/pull/8114), [8128](https://github.com/nginx/kubernetes-ingress/pull/8128), [8134](https://github.com/nginx/kubernetes-ingress/pull/8134), [8147](https://github.com/nginx/kubernetes-ingress/pull/8147), [8154](https://github.com/nginx/kubernetes-ingress/pull/8154), [8173](https://github.com/nginx/kubernetes-ingress/pull/8173), [8188](https://github.com/nginx/kubernetes-ingress/pull/8188), [8228](https://github.com/nginx/kubernetes-ingress/pull/8228), [8239](https://github.com/nginx/kubernetes-ingress/pull/8239), [8235](https://github.com/nginx/kubernetes-ingress/pull/8235), [8246](https://github.com/nginx/kubernetes-ingress/pull/8246) Bump Docker dependencies + +### Upgrade +- For NGINX, use the 5.2.0 images from our [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/tags?page=1&ordering=last_updated&name=5.2.0), [GitHub Container](https://github.com/nginx/kubernetes-ingress/pkgs/container/kubernetes-ingress), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress). +- For NGINX Plus, use the 5.2.0 images from the F5 Container registry or build your own image using the 5.2.0 source code. +- For Helm, use version 2.3.0 of the chart. + +### Supported Platforms +We will provide technical support for NGINX Ingress Controller on any Kubernetes platform that is currently supported by its provider and that passes the Kubernetes conformance tests. This release was fully tested on the following Kubernetes versions: 1.26-1.34. + --- ## 5.1.1 @@ -2432,4 +2470,4 @@ Otherwise, the helm upgrade will not succeed. ## Previous Releases -To see the previous releases, see the [Releases page](https://github.com/nginx/kubernetes-ingress/releases) on the Ingress Controller GitHub repo. \ No newline at end of file +To see the previous releases, see the [Releases page](https://github.com/nginx/kubernetes-ingress/releases) on the Ingress Controller GitHub repo. diff --git a/content/nic/technical-specifications.md b/content/nic/technical-specifications.md index 869a87b3c..3a976b459 100644 --- a/content/nic/technical-specifications.md +++ b/content/nic/technical-specifications.md @@ -17,7 +17,8 @@ We test NGINX Ingress Controller on a range of Kubernetes platforms for each rel {{< table >}} | NIC version | Kubernetes versions tested | NIC Helm Chart version | NIC Operator version | NGINX / NGINX Plus version | End of Technical Support | | --- | --- | --- | --- | --- | --- | -| {{< nic-version >}} | 1.25 - 1.33 | {{< nic-helm-version >}} | {{< nic-operator-version >}} | 1.29.1 / R35 | - | +| {{< nic-version >}} | 1.26 - 1.34 | {{< nic-helm-version >}} | {{< nic-operator-version >}} | 1.29.1 / R35 | - | +| 5.1.1 | 1.25 - 1.33 | 2.2.2 | 3.2.3 | 1.29.1 / R35 | Aug 15, 2027 | | 5.0.0 | 1.25 - 1.32 | 2.1.0 | 3.1.0 | 1.27.4 / R34 | Apr 16, 2027 | | 4.0.1 | 1.25 - 1.32 | 2.0.1 | 3.0.1 | 1.27.4 / R33 P2 | Feb 7, 2027 | | 3.7.2 | 1.25 - 1.31 | 1.4.2 | 2.4.2 | 1.27.2 / R32 P1 | Nov 25, 2026 | @@ -25,7 +26,6 @@ We test NGINX Ingress Controller on a range of Kubernetes platforms for each rel | 3.5.2 | 1.23 - 1.30 | 1.2.2 | 2.2.2 | 1.27.0 / R32 | May 31, 2026 | | 3.4.3 | 1.23 - 1.29 | 1.1.3 | 2.1.2 | 1.25.4 / R31 P1 | Feb 19, 2026 | | 3.3.2 | 1.22 - 1.28 | 1.0.2 | 2.0.2 | 1.25.3 / R30 | Nov 1, 2025 | -| 3.2.1 | 1.22 - 1.27 | 0.18.1 | 1.5.1 | 1.25.2 / R30 | Aug 18, 2025 | {{< /table >}} ## Supported Docker images diff --git a/content/nic/troubleshooting/troubleshoot-common.md b/content/nic/troubleshooting/troubleshoot-common.md index 58f59e218..923b1c6ef 100644 --- a/content/nic/troubleshooting/troubleshoot-common.md +++ b/content/nic/troubleshooting/troubleshoot-common.md @@ -78,7 +78,7 @@ There are two places to configure more verbose logging for NGINX Ingress Control **Command line arguments** -When using `manifest` for deployment, use the command line argument `-nginx-debug` in your deployment or daemonset. +When using `manifest` for deployment, use the command line argument `-nginx-debug` in your deployment, daemonset, or statefulset. You can add the `-log-level` parameter to increase the verbosity of the NGINX Ingress Controller process. diff --git a/content/nic/tutorials/oidc-custom-configuration.md b/content/nic/tutorials/oidc-custom-configuration.md index f33ff8a08..c8281f468 100644 --- a/content/nic/tutorials/oidc-custom-configuration.md +++ b/content/nic/tutorials/oidc-custom-configuration.md @@ -111,7 +111,7 @@ This document will demonstrate how to add the `Volume` and `VolumeMount` using b ### Manifest -The below configuration shows where the `Volume` and `VolumeMount` can be added to your Deployment/Daemonset file. +The below configuration shows where the `Volume` and `VolumeMount` can be added to your Deployment, Daemonset, or StatefulSet file. The `VolumeMount` must be added the `spec.template.spec.containers` section. @@ -119,7 +119,7 @@ The `Volume` must be added the `spec.template.spec` section: ```yaml apiVersion: apps/v1 -kind: +kind: metadata: name: namespace: @@ -157,7 +157,7 @@ kubectl exec -it -n -- cat /etc/nginx/oid ### Helm Deployments using helm will need to edit their existing -Edit the NGINX Ingress Controller Deployment/Daemonset yaml to include a `Volume` and `VolumeMount`. +Edit the NGINX Ingress Controller Deployment/DaemonSet/StatefulSet yaml to include a `Volume` and `VolumeMount`. The `Volume` should be within the `spec.template.spec` section. @@ -169,15 +169,21 @@ For Deployments: kubectl edit deployments -n ``` -For Daemonsets: +For DaemonSets: ```shell kubectl edit daemonset -n ``` +For StatefulSets: + +```shell +kubectl edit statefulset -n +``` + ```yaml apiVersion: apps/v1 -kind: +kind: metadata: name: namespace: @@ -204,7 +210,7 @@ spec: readOnly: true ``` -Once the Deployment/Daemonset has been edited, save the file and exit. +Once the Deployment/DaemonSet/StatefulSet has been edited, save the file and exit. Confirm the `oidc.conf` file has been updated: diff --git a/layouts/shortcodes/nic-helm-version.html b/layouts/shortcodes/nic-helm-version.html index 7e541aec6..cc6612c36 100644 --- a/layouts/shortcodes/nic-helm-version.html +++ b/layouts/shortcodes/nic-helm-version.html @@ -1 +1 @@ -2.2.2 \ No newline at end of file +2.3.0 \ No newline at end of file diff --git a/layouts/shortcodes/nic-operator-version.html b/layouts/shortcodes/nic-operator-version.html index 06eda28ac..0fa4ae489 100644 --- a/layouts/shortcodes/nic-operator-version.html +++ b/layouts/shortcodes/nic-operator-version.html @@ -1 +1 @@ -3.2.3 \ No newline at end of file +3.3.0 \ No newline at end of file diff --git a/layouts/shortcodes/nic-version.html b/layouts/shortcodes/nic-version.html index 3bff05917..7cbea073b 100644 --- a/layouts/shortcodes/nic-version.html +++ b/layouts/shortcodes/nic-version.html @@ -1 +1 @@ -5.1.1 \ No newline at end of file +5.2.0 \ No newline at end of file From 2d7d1a3e67e6679137e41a90308988cda027047a Mon Sep 17 00:00:00 2001 From: Venktesh Shivam Patel Date: Mon, 15 Sep 2025 14:35:18 +0100 Subject: [PATCH 531/723] Update nic-nap.md (#1116) --- content/includes/nic/compatibility-tables/nic-nap.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/includes/nic/compatibility-tables/nic-nap.md b/content/includes/nic/compatibility-tables/nic-nap.md index 68f6b37bc..7baba8777 100644 --- a/content/includes/nic/compatibility-tables/nic-nap.md +++ b/content/includes/nic/compatibility-tables/nic-nap.md @@ -4,6 +4,7 @@ The following table shows compatibility between NGINX Ingress Controller (NIC) a | NIC Version | NAP-WAF Version | Config Manager | Enforcer | | ------------------- | --------------- | -------------- | -------- | | {{< nic-version >}} | 35+5.498 | 5.8.0 | 5.8.0 | +| 5.1.1 | 35+5.498 | 5.8.0 | 5.8.0 | | 5.0.0 | 34+5.342 | 5.6.0 | 5.6.0 | | 4.0.1 | 33+5.264 | 5.5.0 | 5.5.0 | | 3.7.2 | 32+5.1 | 5.3.0 | 5.3.0 | From 244fa42cf2980c37d795b8f4bf5fef1e5c9f2b0d Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Mon, 15 Sep 2025 14:18:38 -0700 Subject: [PATCH 532/723] Include KB article in Manage Config Sync Group page (#1117) --- .../config-sync-groups/manage-config-sync-groups.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md b/content/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md index f40929adb..b962bb85d 100644 --- a/content/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md +++ b/content/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md @@ -333,3 +333,4 @@ Monitor the **Config Sync Status** column. It can help you ensure that your conf - [Create and manage data plane keys]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}) - [Add an NGINX instance]({{< ref "/nginx-one/connect-instances/add-instance.md" >}}) +- [Updating the NGINX configuration with an NGINX One Console Config Sync Group push fails (My F5 Knowledge article)]((https://my.f5.com/manage/s/article/K000154659) From 475607dfd10a5293bdda87bdb4927efc1941e2e5 Mon Sep 17 00:00:00 2001 From: Venktesh Shivam Patel Date: Tue, 16 Sep 2025 09:35:56 +0100 Subject: [PATCH 533/723] Update releases.md (#1119) --- content/nic/releases.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/content/nic/releases.md b/content/nic/releases.md index 0d8d717c9..794b2868b 100644 --- a/content/nic/releases.md +++ b/content/nic/releases.md @@ -10,12 +10,11 @@ nd-docs: DOCS-616 15 Sept 2025 -This Nginx Ingress Controller release focuses on enhancing performance, simplifying configurations, and improving security to better support modern application needs. Highlights of this release are: - -- NGINX Content Cache Using Policies which adds policy configuration that enables proxy caching. -- Support for Kubernetes `StatefulSet` object has been added which can also be use to provide persistent storage for cached content. -- Auto-Adjusting Incompatible Proxy Buffer Directive Values, we’ve added a new `--enable-directive-autoadjust` parameter. When enabled, this feature automatically resolves common proxy buffer configuration dependencies that could cause issues during NGINX reloads. -- Server Name Indication (SNI) Support in JWT Policies, users can now configure `sniName` and `sniEnabled` for scenarios where the remote server requires SNI to serve the correct certificate. +This NGINX Ingress Controller release focuses on enhancing performance, simplifying configurations, and improving security to better support modern application needs. The highlights of this release are as follows: +- NGINX Content Cache using policies: This new feature introduces policy configurations that enable proxy caching. +- Support for Kubernetes `StatefulSet` Objects: Added support for Kubernetes `StatefulSet` objects, which can also be used to provide persistent storage for cached content. +- Auto-Adjusting incompatible proxy buffer directive values: A new `-enable-directive-autoadjust` parameter has been added. When enabled, this feature automatically resolves common proxy buffer configuration dependencies that could cause issues during NGINX reloads. +- Server Name Indication (SNI) support in JWT Policies: Users can now configure sniName and sniEnabled for scenarios where the remote server requires SNI to present the correct certificate ### Features - [8005](https://github.com/nginx/kubernetes-ingress/pull/8005) Add nginx content cache as NIC cache policy From cb27d5c926db2aebf87627bb01c575b3485656af Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Tue, 16 Sep 2025 03:54:14 -0700 Subject: [PATCH 534/723] fix: Typo fix (#1118) Extra parenthesis --- .../config-sync-groups/manage-config-sync-groups.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md b/content/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md index b962bb85d..920294db3 100644 --- a/content/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md +++ b/content/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md @@ -333,4 +333,4 @@ Monitor the **Config Sync Status** column. It can help you ensure that your conf - [Create and manage data plane keys]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}) - [Add an NGINX instance]({{< ref "/nginx-one/connect-instances/add-instance.md" >}}) -- [Updating the NGINX configuration with an NGINX One Console Config Sync Group push fails (My F5 Knowledge article)]((https://my.f5.com/manage/s/article/K000154659) +- [Updating the NGINX configuration with an NGINX One Console Config Sync Group push fails (My F5 Knowledge article)](https://my.f5.com/manage/s/article/K000154659) From 802ebc2596b6abdd340ead9763a75638e8af31c9 Mon Sep 17 00:00:00 2001 From: 65397 Date: Tue, 16 Sep 2025 12:11:31 +0100 Subject: [PATCH 535/723] fix: Update incorrect page anchor in GlobalConfiguration documentation (#1120) --- .../configuration/global-configuration/configmap-resource.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nic/configuration/global-configuration/configmap-resource.md b/content/nic/configuration/global-configuration/configmap-resource.md index 9161896f8..4910a66d2 100644 --- a/content/nic/configuration/global-configuration/configmap-resource.md +++ b/content/nic/configuration/global-configuration/configmap-resource.md @@ -28,7 +28,7 @@ that make sense for your setup: client-max-body-size: "2m" ``` - See the section [Summary of ConfigMap Keys](#summary-of-configmap-keys) for the explanation of the available ConfigMap keys (such as `proxy-connect-timeout` in this example). + See the section [Summary of ConfigMap Keys](#configmap-keys) for the explanation of the available ConfigMap keys (such as `proxy-connect-timeout` in this example). 1. Create a new (or update the existing) ConfigMap resource: From 8c22cf11aa2fe515362d91c2f117a2962d4d8dd1 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Tue, 16 Sep 2025 07:01:34 -0700 Subject: [PATCH 536/723] fix: removed extra asterisks (#1122) * fix: removed extra asterisks The extra asterisks are misleading, as they can be mistaken for wildcards * Apply suggestion from @JTorreG Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> --------- Co-authored-by: Jon Torre <78599298+JTorreG@users.noreply.github.com> --- .../basic-functionality/managing-configuration-files.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/nginx/admin-guide/basic-functionality/managing-configuration-files.md b/content/nginx/admin-guide/basic-functionality/managing-configuration-files.md index 4b41b5b71..1032e68d1 100644 --- a/content/nginx/admin-guide/basic-functionality/managing-configuration-files.md +++ b/content/nginx/admin-guide/basic-functionality/managing-configuration-files.md @@ -9,9 +9,9 @@ type: - how-to --- -NGINX and NGINX Plus are similar to other services in using a text‑based configuration file with a precise format. By default the file is named **nginx.conf** and for NGINX Plus is placed in the `**/etc/nginx**` directory. +Similar to other services, NGINX and NGINX Plus use a text‑based configuration file with a precise format. By default the file is named **nginx.conf** and for NGINX Plus is placed in the `/etc/nginx` directory. -For NGINX Open Source, the location depends on the package system used to install NGINX and the operating system. It is typically one of `**/usr/local/nginx/conf**`, `**/etc/nginx**`, or `**/usr/local/etc/nginx**`. +For NGINX Open Source, the location depends on the package system used to install NGINX and the operating system. It is typically one of `/usr/local/nginx/conf`, `/etc/nginx`, or `/usr/local/etc/nginx`. ## Directives The configuration file consists of _directives_ and their parameters. Simple (single‑line) directives end with a semicolon ( `;` ). Other directives act as “containers” which group together related directives. Containers are enclosed in curly braces ( `{}` ) and are often referred to as _blocks_. Here are some examples of simple directives. From 210d10dbcc0206ff23e8f9fc80e6b59f868bf571 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Wed, 17 Sep 2025 01:23:23 -0700 Subject: [PATCH 537/723] fix: Update pull_request_template.md (#1129) typo --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 09f9c2eea..7112c9dd7 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -14,7 +14,7 @@ [//]: # "If the changes were defined by a GitHub issue, reference it using keywords." [//]: # "https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests" -[//]: # "Do not like to any internal, non-public resources. This includes internal repository issues or anything in an intranet." +[//]: # "Do not link to any internal, non-public resources. This includes internal repository issues or anything in an intranet." [//]: # "You can make reference to internal discussions without linking to them: see 'Referencing internal information'." [//]: # "https://github.com/nginx/documentation/blob/main/documentation/closed-contributions.md#referencing-internal-information" From 786d391252a88d824f1862b253a36f48b23e1876 Mon Sep 17 00:00:00 2001 From: 65397 Date: Wed, 17 Sep 2025 12:33:00 +0100 Subject: [PATCH 538/723] fix: Broken anchor in NGINX Plus docs (#1132) * fixed broken anchor * Update content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md --------- Co-authored-by: Alan Dooley --- .../admin-guide/installing-nginx/installing-nginx-docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md b/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md index a2e6f7a60..a7024b1e4 100644 --- a/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md +++ b/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md @@ -35,7 +35,7 @@ The registry contains the following image types: - [NGINX Plus]({{< ref "/nginx/releases.md" >}}):
      `https://private-registry.nginx.com/v2/nginx-plus/base` -- [Unprivileged]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md#nginx-plus-unprivileged-installation" >}}) installation of NGINX Plus:
      +- [Unprivileged]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md#unpriv_install" >}}) installation of NGINX Plus:
      `https://private-registry.nginx.com/v2/nginx-plus/rootless-base` - NGINX Plus bundled with [NGINX Agent](https://docs.nginx.com/nginx-agent/overview/):
      From b68d3bd734ad68da7b54ec173961e8052c497bda Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Wed, 17 Sep 2025 15:58:11 +0100 Subject: [PATCH 539/723] docs: update date for latest entry (#1134) Updated the date format in the changelog --- content/nginxaas-azure/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginxaas-azure/changelog.md b/content/nginxaas-azure/changelog.md index 0d3ee4efe..9908918bf 100644 --- a/content/nginxaas-azure/changelog.md +++ b/content/nginxaas-azure/changelog.md @@ -14,7 +14,7 @@ To see a list of currently active issues, visit the [Known issues]({{< ref "/ngi To review older entries, visit the [Changelog archive]({{< ref "/nginxaas-azure/changelog-archive" >}}) section. -## Aug 18, 2025 +## August 18, 2025 - {{% icon-feature %}} **Updates to NGINXaaS for Azure GitHub Action** From e79e7357907ea9fe73678bfc851086a092950528 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Wed, 17 Sep 2025 10:25:48 -0700 Subject: [PATCH 540/723] Remove lighthouse from build workflow (#1136) chore: Remove lighthouse from build workflow --- .github/workflows/build-push.yml | 49 +- .gitignore | 3 - lighthouse-script.js | 53 - package-lock.json | 1752 +----------------------------- package.json | 4 - 5 files changed, 58 insertions(+), 1803 deletions(-) delete mode 100644 lighthouse-script.js diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index 01273f449..348104851 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -115,51 +115,4 @@ jobs: } env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_FRIENDS_OF_DOCS }} - PREVIEW_URL: ${{ needs.call-docs-build-push.outputs.PREVIEW_URL }} - - - lighthouseci: - if: github.event.pull_request - needs: call-docs-build-push - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v5 - with: - ref: ${{ github.event.workflow_run.head_branch }} - - uses: actions/setup-node@v5 - with: - node-version: 18 - - name: Installing packages - run: npm install - - name: Generating lighthouse reports for PR and main... - run: | - node lighthouse-script.js - - name: Compare the artifacts for negative differences in performance - continue-on-error: true - run: | - FIELDS=("performance" "accessibility") - for FIELD in "${FIELDS[@]}"; do - PR_VALUE=$(cat lighthouse-reports/pr-report.json | jq -r ".categories.$FIELD.score") - MAIN_VALUE=$(cat lighthouse-reports/main-report.json | jq -r ".categories.$FIELD.score") - echo "$FIELD: PR - $PR_VALUE | Main - $MAIN_VALUE" - - if [ $FIELD = "performance" ]; then - LOWER_BOUND=$(echo "$MAIN_VALUE - 0.05" | bc) - UPPER_BOUND=$(echo "$MAIN_VALUE + 0.05" | bc) - if (( $(echo "$PR_VALUE < $LOWER_BOUND" | bc -l) || $(echo "$PR_VALUE > $UPPER_BOUND" | bc -l) )); then - echo "Error: $FIELD score in PR ($PR_VALUE) is less than in MAIN ($MAIN_VALUE)" - exit 1 - fi - else - if (( $(echo "$PR_VALUE < $MAIN_VALUE" | bc -l) )); then - echo "Error: $FIELD score in PR ($PR_VALUE) is less than in MAIN ($MAIN_VALUE)" - exit 1 - fi - fi - done - - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} - with: - name: lighthouse-reports - path: lighthouse-reports/ - retention-days: 30 \ No newline at end of file + PREVIEW_URL: ${{ needs.call-docs-build-push.outputs.PREVIEW_URL }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 1573f641d..84b086a9b 100644 --- a/.gitignore +++ b/.gitignore @@ -35,9 +35,6 @@ resources/ .netlify/plugins/* .netlify/ -# Local Lighthouse artifacts -lighthouse-reports - *.pyc build *.swp diff --git a/lighthouse-script.js b/lighthouse-script.js deleted file mode 100644 index 1c08f6b6c..000000000 --- a/lighthouse-script.js +++ /dev/null @@ -1,53 +0,0 @@ -const puppeteer = require('puppeteer'); -const fs = require('fs'); - -const PORT = 8041; -const PR_NUMBER = process.env.GITHUB_PR_NUMBER; -const environments = [ - { - title: "pr", - url: `https://frontdoor-test-docs.nginx.com/previews/docs/${PR_NUMBER}/` - }, - { - title: "main", - url: "https://docs.nginx.com/" - }]; -const OUTPUT_DIR = './lighthouse-reports'; - -const signIntoFrontDoor = async (browser, env) => { - const page = await browser.newPage(); - await page.authenticate({ - username: process.env.FRONT_DOOR_USERNAME, - password: process.env.FRONT_DOOR_PASSWORD - }); - - await page.goto(env['url']); - await page.waitForSelector('.navbar'); - console.log("Logged in..."); - await page.close(); -} - -const runLighthouse = async (env) => { - const OUTPUT_FILE= `${env['title']}-report.json`; - - const lighthouse = (await import('lighthouse')).default; - console.log(`Running Lighthouse for ${env['title']}...`) - const result = await lighthouse(env['url'], { port: PORT }); - fs.writeFileSync(`${OUTPUT_DIR}/${OUTPUT_FILE}`, result.report); -} - -(async () => { - const browser = await puppeteer.launch({ args: [`--remote-debugging-port=${PORT}`], headless: true }); - if (!fs.existsSync(OUTPUT_DIR)){ - fs.mkdirSync(OUTPUT_DIR); - } - - for(const env of environments){ - if(env['title'] == 'pr') { - await signIntoFrontDoor(browser, env); - } - await runLighthouse(env); - } - - await browser.close(); -})(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 6e464f1ee..349aa5e14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,188 +7,10 @@ "": { "name": "documentation", "version": "1.0.0", - "dependencies": { - "lighthouse": "^12.2.2", - "puppeteer": "^23.8.0" - }, "devDependencies": { "hugo-bin": "^0.111.3" } }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@formatjs/ecma402-abstract": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz", - "integrity": "sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ==", - "license": "MIT", - "dependencies": { - "@formatjs/fast-memoize": "2.2.3", - "@formatjs/intl-localematcher": "0.5.7", - "tslib": "2" - } - }, - "node_modules/@formatjs/fast-memoize": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.3.tgz", - "integrity": "sha512-3jeJ+HyOfu8osl3GNSL4vVHUuWFXR03Iz9jjgI7RwjG6ysu/Ymdr0JRCPHfF5yGbTE6JCrd63EpvX1/WybYRbA==", - "license": "MIT", - "dependencies": { - "tslib": "2" - } - }, - "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.9.3.tgz", - "integrity": "sha512-9L99QsH14XjOCIp4TmbT8wxuffJxGK8uLNO1zNhLtcZaVXvv626N0s4A2qgRCKG3dfYWx9psvGlFmvyVBa6u/w==", - "license": "MIT", - "dependencies": { - "@formatjs/ecma402-abstract": "2.2.3", - "@formatjs/icu-skeleton-parser": "1.8.7", - "tslib": "2" - } - }, - "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.8.7", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.7.tgz", - "integrity": "sha512-fI+6SmS2g7h3srfAKSWa5dwreU5zNEfon2uFo99OToiLF6yxGE+WikvFSbsvMAYkscucvVmTYNlWlaDPp0n5HA==", - "license": "MIT", - "dependencies": { - "@formatjs/ecma402-abstract": "2.2.3", - "tslib": "2" - } - }, - "node_modules/@formatjs/intl-localematcher": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz", - "integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==", - "license": "MIT", - "dependencies": { - "tslib": "2" - } - }, - "node_modules/@paulirish/trace_engine": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@paulirish/trace_engine/-/trace_engine-0.0.32.tgz", - "integrity": "sha512-KxWFdRNbv13U8bhYaQvH6gLG9CVEt2jKeosyOOYILVntWEVWhovbgDrbOiZ12pJO3vjZs0Zgbd3/Zgde98woEA==", - "license": "BSD-3-Clause" - }, - "node_modules/@puppeteer/browsers": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.4.1.tgz", - "integrity": "sha512-0kdAbmic3J09I6dT8e9vE2JOCSt13wHCW5x/ly8TSt2bDtuIWe2TgLZZDHdcziw9AVCzflMAXCrVyRIhIs44Ng==", - "license": "Apache-2.0", - "dependencies": { - "debug": "^4.3.7", - "extract-zip": "^2.0.1", - "progress": "^2.0.3", - "proxy-agent": "^6.4.0", - "semver": "^7.6.3", - "tar-fs": "^3.0.6", - "unbzip2-stream": "^1.4.3", - "yargs": "^17.7.2" - }, - "bin": { - "browsers": "lib/cjs/main-cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@sentry-internal/tracing": { - "version": "7.120.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.120.0.tgz", - "integrity": "sha512-VymJoIGMV0PcTJyshka9uJ1sKpR7bHooqW5jTEr6g0dYAwB723fPXHjVW+7SETF7i5+yr2KMprYKreqRidKyKA==", - "dependencies": { - "@sentry/core": "7.120.0", - "@sentry/types": "7.120.0", - "@sentry/utils": "7.120.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/core": { - "version": "7.120.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.0.tgz", - "integrity": "sha512-uTc2sUQ0heZrMI31oFOHGxjKgw16MbV3C2mcT7qcrb6UmSGR9WqPOXZhnVVuzPWCnQ8B5IPPVdynK//J+9/m6g==", - "dependencies": { - "@sentry/types": "7.120.0", - "@sentry/utils": "7.120.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/integrations": { - "version": "7.120.0", - "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.120.0.tgz", - "integrity": "sha512-/Hs9MgSmG4JFNyeQkJ+MWh/fxO/U38Pz0VSH3hDrfyCjI8vH9Vz9inGEQXgB9Ke4eH8XnhsQ7xPnM27lWJts6g==", - "dependencies": { - "@sentry/core": "7.120.0", - "@sentry/types": "7.120.0", - "@sentry/utils": "7.120.0", - "localforage": "^1.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/node": { - "version": "7.120.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.120.0.tgz", - "integrity": "sha512-GAyuNd8WUznsiOyDq2QUwR/aVnMmItUc4tgZQxhH1R+n4Adx3cAhnpq3zEuzsIAC5+/7ut+4Q4B3akh6SDZd4w==", - "dependencies": { - "@sentry-internal/tracing": "7.120.0", - "@sentry/core": "7.120.0", - "@sentry/integrations": "7.120.0", - "@sentry/types": "7.120.0", - "@sentry/utils": "7.120.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/types": { - "version": "7.120.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.0.tgz", - "integrity": "sha512-3mvELhBQBo6EljcRrJzfpGJYHKIZuBXmqh0y8prh03SWE62pwRL614GIYtd4YOC6OP1gfPn8S8h9w3dD5bF5HA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/utils": { - "version": "7.120.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.0.tgz", - "integrity": "sha512-XZsPcBHoYu4+HYn14IOnhabUZgCF99Xn4IdWn8Hjs/c+VPtuAVDhRTsfPyPrpY3OcN8DgO5fZX4qcv/6kNbX1A==", - "dependencies": { - "@sentry/types": "7.120.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@sindresorhus/is": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.5.2.tgz", @@ -219,37 +41,12 @@ "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", "dev": true }, - "node_modules/@tootallnate/quickjs-emscripten": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", - "license": "MIT" - }, "node_modules/@types/http-cache-semantics": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", "dev": true }, - "node_modules/@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.8" - } - }, - "node_modules/@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - "license": "MIT", - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@xhmikosr/archive-type": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/@xhmikosr/archive-type/-/archive-type-6.0.1.tgz", @@ -387,51 +184,6 @@ "node": "^14.14.0 || >=16.0.0" } }, - "node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/arch": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", @@ -452,114 +204,25 @@ } ] }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/axe-core": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", - "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", - "license": "MPL-2.0", - "engines": { - "node": ">=4" - } - }, "node_modules/b4a": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true }, "node_modules/bare-events": { "version": "2.5.4", "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", + "dev": true, "license": "Apache-2.0", "optional": true }, - "node_modules/bare-fs": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.0.2.tgz", - "integrity": "sha512-S5mmkMesiduMqnz51Bfh0Et9EX0aTCJxhsI4bvzFFLs8Z1AV8RDHadfY5CyLwdoLHgXbNBEN1gQcbEtGwuvixw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-os": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", - "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", - "license": "Apache-2.0", - "optional": true, - "engines": { - "bare": ">=1.14.0" - } - }, - "node_modules/bare-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-stream": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", - "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "streamx": "^2.21.0" - }, - "peerDependencies": { - "bare-buffer": "*", - "bare-events": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - }, - "bare-events": { - "optional": true - } - } - }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, "funding": [ { "type": "github", @@ -575,15 +238,6 @@ } ] }, - "node_modules/basic-ftp": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", - "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/bin-version": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-6.0.0.tgz", @@ -621,6 +275,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, "funding": [ { "type": "github", @@ -644,6 +299,7 @@ "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, "engines": { "node": "*" } @@ -675,138 +331,12 @@ "node": ">=14.16" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/chrome-launcher": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz", - "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==", - "license": "Apache-2.0", - "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^2.0.1" - }, - "bin": { - "print-chrome-path": "bin/print-chrome-path.js" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/chrome-launcher/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/chromium-bidi": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.8.0.tgz", - "integrity": "sha512-uJydbGdTw0DEUjhoogGveneJVWX/9YuqkWePzMmkBYwtdAqo5d3J/ovNKFr+/2hWXYmYCr6it8mSSTIj6SS6Ug==", - "license": "Apache-2.0", - "dependencies": { - "mitt": "3.0.1", - "urlpattern-polyfill": "10.0.0", - "zod": "3.23.8" - }, - "peerDependencies": { - "devtools-protocol": "*" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "license": "BSD-2-Clause", - "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/configstore/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/configstore/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -819,217 +349,54 @@ "node": ">= 0.6" } }, - "node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/csp_evaluator": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/csp_evaluator/-/csp_evaluator-1.1.1.tgz", - "integrity": "sha512-N3ASg0C4kNPUaNxt1XAvzHIVuzdtr8KLgfk1O8WDyimp1GisPAHESupArO2ieHk9QWbrJ/WkQODyh21Ps/xhxw==", - "license": "Apache-2.0" - }, - "node_modules/data-uri-to-buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", - "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, - "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/degenerator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", - "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", - "license": "MIT", - "dependencies": { - "ast-types": "^0.13.4", - "escodegen": "^2.1.0", - "esprima": "^4.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/devtools-protocol": { - "version": "0.0.1367902", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1367902.tgz", - "integrity": "sha512-XxtPuC3PGakY6PD7dG66/o8KwJ/LkH2/EKe19Dcw58w53dv4/vSQEkn/SzuyhHE2q4zPgCkxQBxus3VV4ql+Pg==", - "license": "BSD-3-Clause" - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "license": "MIT", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, "dependencies": { - "once": "^1.4.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", - "license": "MIT", + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" + "mimic-response": "^3.1.0" }, "engines": { - "node": ">=8.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "license": "MIT", + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, "engines": { - "node": ">=6" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=10" } }, "node_modules/escape-string-regexp": { @@ -1044,58 +411,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "license": "BSD-2-Clause", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -1156,51 +471,18 @@ "node": ">=4" } }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "license": "BSD-2-Clause", - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/extract-zip/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/fast-fifo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, "license": "MIT" }, "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, "dependencies": { "pend": "~1.2.0" } @@ -1291,29 +573,6 @@ "node": ">= 14.17" } }, - "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -1326,21 +585,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-uri": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", - "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", - "license": "MIT", - "dependencies": { - "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^6.0.2", - "debug": "^4.3.4", - "fs-extra": "^11.2.0" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/got": { "version": "12.6.1", "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", @@ -1369,7 +613,8 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/http-cache-semantics": { "version": "4.1.1", @@ -1377,28 +622,6 @@ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, - "node_modules/http-link-header": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.3.tgz", - "integrity": "sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/http2-wrapper": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", @@ -1412,19 +635,6 @@ "node": ">=10.19.0" } }, - "node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/hugo-bin": { "version": "0.111.3", "resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.111.3.tgz", @@ -1461,6 +671,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, "funding": [ { "type": "github", @@ -1476,42 +687,6 @@ } ] }, - "node_modules/image-ssim": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/image-ssim/-/image-ssim-0.2.0.tgz", - "integrity": "sha512-W7+sO6/yhxy83L0G7xR8YAc5Z5QFtYEXXRV6EaE8tuYBZJnA3gVgp3q7X7muhLZVodeb9UfvjSbwt9VJwjIYAg==", - "license": "MIT" - }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -1527,70 +702,6 @@ "kind-of": "^6.0.2" } }, - "node_modules/intl-messageformat": { - "version": "10.7.6", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.6.tgz", - "integrity": "sha512-IsMU/hqyy3FJwNJ0hxDfY2heJ7MteSuFvcnCebxRp67di4Fhx1gKKE+qS0bBwUF8yXkX9SsPUhLeX/B6h5SKUA==", - "license": "BSD-3-Clause", - "dependencies": { - "@formatjs/ecma402-abstract": "2.2.3", - "@formatjs/fast-memoize": "2.2.3", - "@formatjs/icu-messageformat-parser": "2.9.3", - "tslib": "2" - } - }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "license": "MIT", - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -1612,93 +723,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "license": "MIT" - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/jpeg-js": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", - "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==", - "license": "BSD-3-Clause" - }, - "node_modules/js-library-detector": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/js-library-detector/-/js-library-detector-6.7.0.tgz", - "integrity": "sha512-c80Qupofp43y4cJ7+8TTDN/AsDwLi5oOm/plBrWI+iQt485vKXCco+yVmOwEgdo9VOdsYTuV0UlTeetVPTriXA==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "license": "MIT" - }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/keyv": { "version": "4.5.3", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", @@ -1717,129 +753,6 @@ "node": ">=0.10.0" } }, - "node_modules/lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/lighthouse": { - "version": "12.2.2", - "resolved": "https://registry.npmjs.org/lighthouse/-/lighthouse-12.2.2.tgz", - "integrity": "sha512-avoiiFeGN1gkWhp/W1schJoXOsTPxRKWV3+uW/rGHuov2g/HGB+4SN9J/av1GNSh13sEYgkHL3iJOp1+mBVKYQ==", - "dependencies": { - "@paulirish/trace_engine": "0.0.32", - "@sentry/node": "^7.0.0", - "axe-core": "^4.10.2", - "chrome-launcher": "^1.1.2", - "configstore": "^5.0.1", - "csp_evaluator": "1.1.1", - "devtools-protocol": "0.0.1312386", - "enquirer": "^2.3.6", - "http-link-header": "^1.1.1", - "intl-messageformat": "^10.5.3", - "jpeg-js": "^0.4.4", - "js-library-detector": "^6.7.0", - "lighthouse-logger": "^2.0.1", - "lighthouse-stack-packs": "1.12.2", - "lodash-es": "^4.17.21", - "lookup-closest-locale": "6.2.0", - "metaviewport-parser": "0.3.0", - "open": "^8.4.0", - "parse-cache-control": "1.0.1", - "puppeteer-core": "^23.8.0", - "robots-parser": "^3.0.1", - "semver": "^5.3.0", - "speedline-core": "^1.4.3", - "third-party-web": "^0.26.1", - "tldts-icann": "^6.1.16", - "ws": "^7.0.0", - "yargs": "^17.3.1", - "yargs-parser": "^21.0.0" - }, - "bin": { - "chrome-debug": "core/scripts/manual-chrome-launcher.js", - "lighthouse": "cli/index.js", - "smokehouse": "cli/test/smokehouse/frontends/smokehouse-bin.js" - }, - "engines": { - "node": ">=18.16" - } - }, - "node_modules/lighthouse-logger": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-2.0.1.tgz", - "integrity": "sha512-ioBrW3s2i97noEmnXxmUq7cjIcVRjT5HBpAYy8zE11CxU9HqlWHHeRxfeN1tn8F7OEMVPIC9x1f8t3Z7US9ehQ==", - "license": "Apache-2.0", - "dependencies": { - "debug": "^2.6.9", - "marky": "^1.2.2" - } - }, - "node_modules/lighthouse-logger/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/lighthouse-logger/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/lighthouse-stack-packs": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/lighthouse-stack-packs/-/lighthouse-stack-packs-1.12.2.tgz", - "integrity": "sha512-Ug8feS/A+92TMTCK6yHYLwaFMuelK/hAKRMdldYkMNwv+d9PtWxjXEg6rwKtsUXTADajhdrhXyuNCJ5/sfmPFw==" - }, - "node_modules/lighthouse/node_modules/devtools-protocol": { - "version": "0.0.1312386", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1312386.tgz", - "integrity": "sha512-DPnhUXvmvKT2dFA/j7B+riVLUt9Q6RKJlcppojL5CoRywJJKLDYnRlw0gTFKfgDPHP5E04UoB71SxoJlVZy8FA==", - "license": "BSD-3-Clause" - }, - "node_modules/lighthouse/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/lighthouse/node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, "node_modules/load-json-file": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-7.0.1.tgz", @@ -1852,14 +765,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/localforage": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", - "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", - "dependencies": { - "lie": "3.1.1" - } - }, "node_modules/locate-path": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", @@ -1873,18 +778,7 @@ }, "funding": { "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "node_modules/lookup-closest-locale": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", - "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==", - "license": "MIT" + } }, "node_modules/lowercase-keys": { "version": "3.0.0", @@ -1898,15 +792,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, "node_modules/make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -1922,12 +807,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/marky": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", - "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", - "license": "Apache-2.0" - }, "node_modules/merge-options": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", @@ -1946,12 +825,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/metaviewport-parser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/metaviewport-parser/-/metaviewport-parser-0.3.0.tgz", - "integrity": "sha512-EoYJ8xfjQ6kpe9VbVHvZTZHiOl4HL1Z18CrZ+qahvLXT7ZO4YTC2JMyt5FaUp9JJp6J4Ybb/z7IsCXZt86/QkQ==", - "license": "MIT" - }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -1982,27 +855,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mitt": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", - "license": "MIT" - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/normalize-url": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", @@ -2027,15 +879,6 @@ "node": ">=8" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -2051,23 +894,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/os-filter-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", @@ -2146,73 +972,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pac-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.2.tgz", - "integrity": "sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==", - "license": "MIT", - "dependencies": { - "@tootallnate/quickjs-emscripten": "^0.23.0", - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "get-uri": "^6.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.5", - "pac-resolver": "^7.0.1", - "socks-proxy-agent": "^8.0.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/pac-resolver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", - "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", - "license": "MIT", - "dependencies": { - "degenerator": "^5.0.0", - "netmask": "^2.0.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/path-exists": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", @@ -2247,13 +1006,8 @@ "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true }, "node_modules/pkg-conf": { "version": "4.0.0", @@ -2271,87 +1025,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/proxy-agent": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", - "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.1", - "https-proxy-agent": "^7.0.3", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.0.1", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/puppeteer": { - "version": "23.8.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-23.8.0.tgz", - "integrity": "sha512-MFWDMWoCcOpwNwQIjA9gPKWrEUbj8bLCzkK56w5lZPMUT6wK4FfpgOEPxKffVmXEMYMZzgcjxzqy15b/Q1ibaw==", - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "@puppeteer/browsers": "2.4.1", - "chromium-bidi": "0.8.0", - "cosmiconfig": "^9.0.0", - "devtools-protocol": "0.0.1367902", - "puppeteer-core": "23.8.0", - "typed-query-selector": "^2.12.0" - }, - "bin": { - "puppeteer": "lib/cjs/puppeteer/node/cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/puppeteer-core": { - "version": "23.8.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-23.8.0.tgz", - "integrity": "sha512-c2ymGN2M//We7pC+JhP2dE/g4+qnT89BO+EMSZyJmecN3DN6RNqErA7eH7DrWoNIcU75r2nP4VHa4pswAL6NVg==", - "license": "Apache-2.0", - "dependencies": { - "@puppeteer/browsers": "2.4.1", - "chromium-bidi": "0.8.0", - "debug": "^4.3.7", - "devtools-protocol": "0.0.1367902", - "typed-query-selector": "^2.12.0", - "ws": "^8.18.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -2394,30 +1067,12 @@ "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/resolve-alpn": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", "dev": true }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/responselike": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", @@ -2433,15 +1088,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/robots-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/robots-parser/-/robots-parser-3.0.1.tgz", - "integrity": "sha512-s+pyvQeIKIZ0dx5iJiQk1tPLJAWln39+MI5jtM8wnyws+G5azk+dMnMX0qfbqNetKKNgcWWOdi0sfm+FbQbgdQ==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -2479,6 +1125,7 @@ "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -2538,45 +1185,8 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", - "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", - "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.1", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "engines": { - "node": ">= 14" - } + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, "node_modules/sort-keys": { "version": "1.1.2", @@ -2611,40 +1221,11 @@ "node": ">=0.10.0" } }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/speedline-core": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/speedline-core/-/speedline-core-1.4.3.tgz", - "integrity": "sha512-DI7/OuAUD+GMpR6dmu8lliO2Wg5zfeh+/xsdyJZCzd8o5JgFUjCeLsBDuZjIQJdwXS3J0L/uZYrELKYqx+PXog==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "image-ssim": "^0.2.0", - "jpeg-js": "^0.4.1" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "license": "BSD-3-Clause" - }, "node_modules/streamx": { "version": "2.22.0", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", + "dev": true, "license": "MIT", "dependencies": { "fast-fifo": "^1.3.2", @@ -2663,32 +1244,6 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-dirs": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-3.0.0.tgz", @@ -2746,24 +1301,11 @@ "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/tar-fs": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.9.tgz", - "integrity": "sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==", - "license": "MIT", - "dependencies": { - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - }, - "optionalDependencies": { - "bare-fs": "^4.0.1", - "bare-path": "^3.0.0" - } - }, "node_modules/tar-stream": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dev": true, "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -2774,32 +1316,14 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.1.tgz", "integrity": "sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==", + "dev": true, "license": "Apache-2.0" }, - "node_modules/third-party-web": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/third-party-web/-/third-party-web-0.26.1.tgz", - "integrity": "sha512-I5Y7YT4841769UjrAcy/c0G/Bb/4lqBzA7LHzx17z5rxE7zzNhf4gpOME3hK3oktZc36oZQpskUG2UXGrUAECA==" - }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, - "node_modules/tldts-core": { - "version": "6.1.61", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.61.tgz", - "integrity": "sha512-In7VffkDWUPgwa+c9picLUxvb0RltVwTkSgMNFgvlGSWveCzGBemBqTsgJCL4EDFWZ6WH0fKTsot6yNhzy3ZzQ==", - "license": "MIT" - }, - "node_modules/tldts-icann": { - "version": "6.1.61", - "resolved": "https://registry.npmjs.org/tldts-icann/-/tldts-icann-6.1.61.tgz", - "integrity": "sha512-BNO4gSrcxq5NMKwbw0ozxOVREL9Srdts15xty6sfMCrqDwHgpeQVK3ZXLod7XDr5NLXvuJQR2dqENtpfMxM+Ng==", - "license": "MIT", - "dependencies": { - "tldts-core": "^6.1.61" - } + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, "node_modules/token-types": { "version": "5.0.1", @@ -2830,69 +1354,16 @@ "node": ">=12" } }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/typed-query-selector": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.0.tgz", - "integrity": "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==", - "license": "MIT" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "node_modules/unbzip2-stream": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, "dependencies": { "buffer": "^5.2.1", "through": "^2.3.8" } }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "license": "MIT" - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "license": "MIT", - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/urlpattern-polyfill": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz", - "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==", - "license": "MIT" - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -2914,111 +1385,11 @@ "node": ">= 8" } }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -3035,15 +1406,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zod": { - "version": "3.23.8", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", - "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } } } } diff --git a/package.json b/package.json index 240394886..a83fadb83 100644 --- a/package.json +++ b/package.json @@ -11,9 +11,5 @@ }, "devDependencies": { "hugo-bin": "^0.111.3" - }, - "dependencies": { - "lighthouse": "^12.2.2", - "puppeteer": "^23.8.0" } } From d9bb351753e07a807d1540703570ed62b6fbb5a6 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Wed, 17 Sep 2025 11:15:26 -0700 Subject: [PATCH 541/723] Add basic smoke test to N4A calculator on prod (#1130) * Test: Added UI render test for n4a calc * Testing: N4A Button testing * Testing: N4A input testing * Testing: Refactor testing + update package.json + Add ignore * Testing: Add playwright workflow * chore: Updated package lock * removed unneeded util file --------- Co-authored-by: Maximus Smith --- .github/workflows/notification.yml | 1 + .github/workflows/playwright.yml | 32 ++ .gitignore | 5 + .../billing/usage-and-cost-estimator.md | 32 +- package-lock.json | 368 ++++++++++++++---- package.json | 1 + playwright.config.ts | 34 ++ tests/constants.js | 1 + tests/n4a-calculator.spec.ts | 150 +++++++ tests/util.js | 20 + 10 files changed, 552 insertions(+), 92 deletions(-) create mode 100644 .github/workflows/playwright.yml create mode 100644 playwright.config.ts create mode 100644 tests/constants.js create mode 100644 tests/n4a-calculator.spec.ts create mode 100644 tests/util.js diff --git a/.github/workflows/notification.yml b/.github/workflows/notification.yml index 233e435d3..d0494d9d3 100644 --- a/.github/workflows/notification.yml +++ b/.github/workflows/notification.yml @@ -5,6 +5,7 @@ on: workflows: - "QE LinkChecker" - "Check for Broken Links" + - "UI validation on prod" types: [completed] permissions: diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml new file mode 100644 index 000000000..8f0343ed2 --- /dev/null +++ b/.github/workflows/playwright.yml @@ -0,0 +1,32 @@ +name: UI validation on prod +on: + workflow_dispatch: + schedule: + - cron: "0 * * * *" + +jobs: + run-playwright-tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: lts/* + - name: Install dependencies + run: npm ci + - name: Install Playwright Browsers + run: npx playwright install --with-deps + - name: Run Playwright tests + run: npx playwright test --retries=2 + - uses: actions/upload-artifact@v4 + if: ${{ !cancelled() }} + with: + name: playwright-report + path: tests/playwright-report/ + retention-days: 30 + - uses: actions/upload-artifact@v4 + if: ${{ !cancelled() }} + with: + name: test-results + path: tests/test-results/ + retention-days: 30 diff --git a/.gitignore b/.gitignore index 84b086a9b..546f942dc 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,8 @@ build *.swp *.mo node_modules + +# Playwright +/coverage +*/test-results +*/playwright-report diff --git a/content/nginxaas-azure/billing/usage-and-cost-estimator.md b/content/nginxaas-azure/billing/usage-and-cost-estimator.md index 28f2ef7a8..2ea97e8a1 100644 --- a/content/nginxaas-azure/billing/usage-and-cost-estimator.md +++ b/content/nginxaas-azure/billing/usage-and-cost-estimator.md @@ -11,45 +11,45 @@ type: {{< raw-html >}} -
      -

      +
      +

      Cost Estimation for Standard V2 Plan

      -
      +
      -
      +

      1. Estimate NCU Usage

      - +
      - +
      - +
      -
      +

      0y`nTJ7!Tf^ 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

      hXEq$&cx$gP_N&8 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 w>Z^yDiom(&laTRk-Bg*1x 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

      EE}r_v)HOs=|MU|N3w7kHue@NS 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�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

      kM|yskKm!1b^lZm`?Mh@BF3BwVE3BQp6g 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

    1. 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

      2qP^F1N8{*{xOMz`xFeXRHMpAO4 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 HW*qQ;T5@8@ literal 0 HcmV?d00001 diff --git a/static/unit/images/reviewboard.png b/static/unit/images/reviewboard.png new file mode 100644 index 0000000000000000000000000000000000000000..c9044cad1198ab6c9016f154404a15e2cce21f38 GIT binary patch literal 205703 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

      f6bk?ET}K?V7c_+ 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

      JwemUZ*PE&?3Z0b- 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 literal 0 HcmV?d00001 diff --git a/static/unit/images/roundcube.png b/static/unit/images/roundcube.png new file mode 100644 index 0000000000000000000000000000000000000000..80cb6fecef183fb77ae8010b5a6ad4f792b42388 GIT binary patch literal 143087 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

      F0!(Qoo}=#tXBTu3Gt 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≧ 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 literal 0 HcmV?d00001 diff --git a/static/unit/images/springboot.png b/static/unit/images/springboot.png new file mode 100644 index 0000000000000000000000000000000000000000..a3d96ffa42fba89d3758fb008f902e1f4c2c420c GIT binary patch literal 69755 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 XI{=V8<*Nd4^dkisRp~NGBme&aJ4B0O literal 0 HcmV?d00001 diff --git a/static/unit/images/symfony.png b/static/unit/images/symfony.png new file mode 100644 index 0000000000000000000000000000000000000000..958877874988d65f2b2231ee32f0fd94a2e67de0 GIT binary patch literal 204496 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%0D2(@MG@Wvg=>-!hg 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

      |3Qc<4?a$dxXF!&|wUayt?PI9XB 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

      Y?G);8sIzS2Z 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 ToVoq4=XW`}>?qiF{ObP$aGB7~ literal 0 HcmV?d00001 diff --git a/static/unit/images/wordpress.png b/static/unit/images/wordpress.png new file mode 100644 index 0000000000000000000000000000000000000000..90e7bb5717470aa3e87f5093ecab9af37c7b0db2 GIT binary patch literal 222018 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

      0(vcxSj)4K}buK7S_ec>TR69Bq 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 literal 0 HcmV?d00001 diff --git a/static/unit/images/yii1.1.png b/static/unit/images/yii1.1.png new file mode 100644 index 0000000000000000000000000000000000000000..6054cc237a7a09ac133791c39773d3fb6034dfbe GIT binary patch literal 209339 zcmb@tc|26%+dpnel8`97sZ#ENg7fl*^_O|AwpS3sVK{|qLLw%-Po5b zlL*9_=K)++PHouck603pPUnh9#rEvC^Ia9L}&lEo!0Ka%JYZ2yA9uXb?q}*YO2T?rgTR13$OjRmj8bH z`VCiK|L(2vnx?jRO!(q~Ot0iO|GnRTZ;fYKSsvPs)tL`7mACVg?|k^CxqO-JrtueR z2qf%8Vyll-&$VuoBREWuexf`%Oe@HeKJh=8{%=14J%v=QEMJd-zWdp>$-w|Gsk=-@ zEDz}Tp9cGnJEkQcb-gbt?z)FN9qo8HhSAe_N%n7}CE!c7cIWNMEuNrc{rE1>71U&W zpx{i}zmM*}@4!)+M+T33oG_O>Urpx>o{nv*xaRk+?Y|gee?;ilx#kmX~$7CD&9^g(1u?VyWjTt&s2V< z1uJ^%9%OD8`%==DL;0KE@c66KiL%^Qwf9}eGpytz?pkG2aL5JE60?bF)4rZ1&tpoz z%jy@h?nU(c7vukLk9c?~^3mE}c`NBNJ9_DA9|uA@;+`={##&V41^28Fm=LqgmFMml;;t+XGETqJtWde04h4PbxWn5SBbn6m3W-S5LG#Tt#^M>x-h$X%@e z0PVk80IqWAZjglUW^+Z_&xyuUQZ%Hu*W)K9ZbymR%(U1G@18=Ow@76w?!Ek{5wxZ; zula92<>qncxC~M}Pv2`$LgRItRCzPm7nhFmsjy3?G-RM~6)h52VEMOgfbHnH{YlRo z%G6MfkCoOYGnUW&&jJ32NDX~h;R4Y6E}v1}JDq}(4;xH7VLhx9=y`? z6NtYNkHk`)he!6D#TZ`knB<>LXc>gIH!kMHtXZM{9<=%Ku+fcKj}ysP=vfM1|B47}i(_;%W*-9>Wesy;|@yZ+_~ zL2meKV3C@KD2GhT)cCq*QnPr8O6G%?55<#DzA*0@wA|tzUPX)pe^b-HNVQ5g+mhi; z_-Up;aiKqrSO2$efnf@87%J(<_jAp>thYzq3{%K_lDgN&!9o9V+5P?jL^cY$KoYrH zg55V$fmJ7CD=p6SeQ5bK9=l-hH@G~xoKq9n zHweygmJgA`jADfNSo0@b4Ep)j@|1|;HeDZ!w9(Ql?3Lt`#cD3ddLWg&$PDepsiW6a zphK;H^C}mz=FW9-LKLc?QB|LJe3t5JVJFd8JmKjn9Sb^Z>Wjab!zrnq&v&&s@~Upw zorDgXt++fU_Hz%nF9NZK$M=SShgeKBD|&eiOw3X|w&fX^Mo69HlheCI8-cXxnIiZ|Qt|o3S6q?Xe%L ze=LrLpYG>JC*gAz(t*EvXF9%-D9rZxL8oY42DQrVE%_66XDDwg^xJcp_aSiqN=xGb zomVkIVvz*adJxu(r(4iG!QUxh894oa#r8iT%C$g8JR*vx;3Yz##rtH!-sH%&T)sWG z-K5aBj;v0;DD)l=vdxjFNY!A5=52L~Ls+IczogAdjUm$E(}+3>lGSqte}8S14l~8@ z5-R{Y|8Krwx0~aYq(M=4E#W4Z%86KQAV0(LO?{elu}jF}+Z&0z*d;q(e)+&&&*c6% zn%b3O866`cqqiEW#y^%5!+3X z{H??Xda5BJJX7ft8t=Egf4is6<_X0iMrzGjbE<3-xx{`os5YXymum*JAVb#HCb9b5 zWdS@e`xlR)p!KVWtuTq7RvME7wxO55Vc{GGTzYG>`Er29L0)kXh?)EuG_O{E^5oK$ z$S<)+Q;beSFF4L$`nY4)L6M=s4heQxpy^Wo6u3Zb=YtRZz^Sg?|DXK^s(|5>EHWP+ zkOaY>xOfwIk-=Oj73_nzM^#yTEEm{c)t9>eAR3!?YqBguKFt(W+Jax8Hmv1w)tbS3 zLJ&;)l3z|K}mB!{rkNtlJ;?gCg9B zH<=)P<;ucQ3{Yq%{!R<#TfnHDC@x^(@!c1jCLJCRa~dpP9Nm_V8g=VSie} zDa1ZrB@KCzThk)J3~$6Dm_gh;j_6e9`AA7_y_+BQZM zxJGqHnD5b@mt;?>{O%g{dKUe9^y^y!yycgIL_X&l-0lZKbwoH`a3|P4W?iK{&sCHH z7|iB3zk{I|rNc9?HH&W5Yn9c>M{ap>emF@EuS}BQE!N_!&4w*`J?zrA$k9a=e9hkr z8cu~#yFmPSdLp|enbR*rCO(Iy@USu8G7m}L_+D2f@2U6>7iU|=fL*ugy5d*4%izS! zZxWHtZEabR^m`UKkuHTL;&WJf)S+bVitsX$Mpob|vlbJ1Yi!2f%aB0_kvNvF0MV~O zylYTEF-(vl<0B`SAWJ+7^`_rl|DhOCUz)I?zW1lTjFODZj@c`QB(oidzoq{k19EAZ zLo(=7tR8P0aMWCa<+zNg#d(3*;3*F87<$bU75Ue~TiykNyI}fjqUMyA%sf(a#!qVn z1Scu*N=O#mq$O;ASsV4EOi4_BIL50eKwGCVNZBwh5uB`ljqy6L`qq8-0|*m~9It8c zgeq2h7+9!mJY9wtIgZgK+`UGc+yy6OD*b6 zy5LT+o=Zb)7#>#MWI*4g#yP5Sd1HP;9S0X$abmSI^uT@3@O{K)eiECuk zjTliwChu(fHl~L9Cdn0pxPCpP*lj#7Tky=ouTL?HUMbvYO2&8iI9?d-GDBFKeof#G z$*eKyRwI!1aS>S8BiLe~g1dVBxokcOx> ztIsQ-%Vdj5dYXNiO$zrrHyYRh39{$tyt}DbsF^E@Ww%EYHCYGe99feRYgT`^0G>p% z8z8hUTsGEk3FT0+54emyux>Yuezi_|Uc>|w=8wtLE?AZjHitUAtJ5}Sepkz5s5s7Z zg|U=N38tYN?PCBLJsB5M<*JOCSHP?a=)}%WvGc@f14~;;oGZKn?Y(Y%q`x2W_l#Pe|>q)=E zhjW(eCT{g$hsHb9)C?EJ(C-NA%QTIJ2(x8MG;%$9-vX)~g)BxVwA#<&{Jku8qRSuQ zRe3xyG>{KglP8I#s41dvFCMu7pXflKW~cd1H0-RuWJ@}{BL_BAa<0re$PW@|f3QI$hW=!ievX!bPLx7gJK%f;*Y(?%yFdi(+a1549AjJ)HelLJf+BDxLh0ktB<3(Rh z3@CMCz6FlIaX6qFUQ}t#4i+?>X_Vyh`qvQeo{+d`|6Ke*uGd`_FiUt53l%slq+3Dy z^t{Mk1RKYBYBrCwEw&It&^5wr@@{w&83PB@VtlX65Dzh|asH;90&q7tittIY;Tq&nY;u_k7k9U5lj4QbAJ z@`TBDSfUWxluCYtA$#yR{NU{010Fx3g`i?(=$Kfd1UEbt)Zi-j;x)M2rVtiTKz~b! z-E=%&m4ioK0;k33!aWG_sHqx)VMd16{_y8kGqkM6@xmRqcYec%QNsuJd1@ZvY;Q4` zdW{?>D9pF)CNyW7wIb8d?K628t^#Vx?iYR+{24M-T>_R>*X%$=)*6XxiT*3OB6*N7 zH$VqI!J2HuC2}Lj*Qs?B9Hd&Ou4|bNjKB zgWmEx>|2V`N8Q&HrsP=#Zu{LOdVD8dbl@dXg!qVRwBC&k~BuQXnH(>-k&jqeXysw?|79L=_Y9(SM)I zfEq7|m%DBxuTd+JyH>Ad0ZFn{96(NM=t@Me*gP_gEj$m-62kXzkXoyN9>|wwh6(1| zAcQNiM-d1*zZ*8{X>8C;5#9%01I3*h(REYyhq*d_KiP7;Xzsze(ijSmS2nmE!T896 ze4OCtScVlk3*gnv12v!vO9`FHmROgOeg!no`=14DV1u8{IvZ|0T94L)hTsNBd5Sn* z`VtaiuLnppfKBS2;Y7qLRJxwJ)rdp8x#6kUuXJixWAl=+XBvU859u1^PI_gL+-UB0w8%Vc3Gssx^Y~q$1@yew zWtCQO7UtD+)Z5rG%}&uyqO1n~)X*r`8jpq}DGJ?|;wiYgqPmnB6MuBw(c1%>xj9$T z35XYRp^72zWkvA209>V;<5tbpyDtz@-iG>Jc0f9obZ5pB9>>)B8Sq|EnKE3C&p-1i z?H;fVT|Sr2s^~x{JEnpX+-Udq2gpZwjktsIc-{G@tprXp8^bdMMy<&>MFQf71m=V&eH`brm`Ovmd0z6;h< z1Wp5%^b;onMx+70oJHK~-&bJ_a33#xj3Nq(u4|(owfzx>i1&n`OaRVd3ol~?*E#!* zD!SZ5tS7>B#(JDZlYM2-a2^2oQS%%I`oTcqtr}azqs~ij!6b+flx{0-v^XHFRHSXN z<@pc46&U`0N>p4(3H z;vgLN;CQ+MdhMUNd40jfj0MEG6|I24x(JBlCpl};1gB_TBRIjMu!RX$kP?H^bCu09 zz)AkX=dAqEd6ju!{)!aYk9$gR=ZgAfBLzp&?)nKQu_)@1+pMvP&0XH2cp7kq3J7rX%~{k6fDA z-$~0`J-xiX{;^>hM_%{fMT}u;DXqvc$0;o;`7^{)ZbgbOhfE>VKo|H(_I)HR+j@aS zmH=d0aH{`4kvIjIP5nIs;ei7P#PWI$QbS#rF1Mv< zm zy+0%m&Uhh69Vk(w+Z_`Q9T9~9U14?ZN=001&KiX=$oH5naHmE!fi&K8TA|Ya){#Ww z{iy&uS-)C+w;c9!t{8PU*xO)7LsfVkVfSX74S??S)x8GnSK=S$9N$ zpx8s225NBJa%l}$kno(qc28MWMZ*l{%L@c1c2*Z}reMx$kG+5A?jE@(_*vM*}Wn0(uSy*bTSPtB@#Klgz)^aPwN%m)RhD zX{6EsV3rd`*aIzQ-)L+C2ra#_#z1du@g=iE`L7zUsfg%>$zGE~=X*M&ZHj%NE?-D= z@G-L}gRp{#wPJDGTMM%bK$K4caVr)J)p6t2WIR@Y(81|zuW0=4mpbn27(6_`>uNmX zY*0}*;y!KDTF{ptLYE4>`n7hr+#-!P9PK$YG=>?+NslNrM{HF%=IF+Z3nrewgY4#I zV3Q=5qq)Apt_j1Y9*fVv|$ z{fPYW z%l_kN;(#o4VBusz%rWM*DuGJbX7yJ~HT8^;0+&s9clFX_+^lzXG2n-s4Tl)Au8Rwh zU}KTQk*D)tnZN?18g;3^GHw6puK@Qi_Pd;3oaY8**@O>M+ z&~_)z&F(a}gR37GAcNpcgqoOzOf)`7^X$qo3WG;u?!Zv>%2-{@%6E0#TgF$$m-2F_ zJ1S1!Rugj7a>fnspr_kpAAQp;7?^NXK%P(^+#`zgncW|QHBz48v?zLxhs}7lOND1z z4}I2i$C{3F|246Enz5Bos~Ik0Bil|kANI%$HI)83c;$4k+n3a5&z}7pt&VUAOSC+o zH?u;7c|?lF^6K*8RQR+SPvuq*_ibXutUT~lrME|+5N-$w=frnQneWcK=i@=`7gPzR zs!#OvoT$wsoZ%KiG144~qzqg&>?U(EcPZUAXh-vfq@MH(J@Rkz!q3+csA6|FbQWEp z1{@#KIe*r%dlPhsyLX_8x<_K^;?WQXS~tH?r2r@)oqg`plIY#9vyiJqJ&?ebNrV`` zOFW4Ii-Q-yp3KoH8Lg`;GFLaySUh)?MZ10RYJ<)R%5SuqUmf?B0_s$0=F~bB&*~1 z5j~>T7^R4DwkRQ+RWDPMx-?v#rfh~X42yRNlt2=D8-6_0Ym_{U<@&Y688u#-xT`3C zcB?hjNrWz@V#w{jX$V69N`1AUZ$$O>ey zPrXku2mo4q*OlcrQW0$MZl&!tF7|SH13`%=B>t&5jttvx>Pqr1FW!A`zd?u96f=ab|OP$ zTJ-s=G4~X9YArRzL+aacE7iDY2`g-5mTSr zx8G(3-FmSvl3a==PufM!I|%pn^_gAC#s54D`n}9Loy#!=6r&LxWAuJvov>dD6mzQ( z5}Z2bIjG2W`Nj8G&B?c_mA2bLp~hk>K^l{E`V#tx^>)^2>!s(YHzoS6$rXuNt9ovB z9%jj6W_n?<++)X1btutv|AZ?XWQ|egbuXXET~`*KP5O=zKf`S!NY+^yV%lWCpVzk1 zAF}n=rp_>5N+mnh*`q>tnXSpnf7-h~-~Mx;jpP1^t%O#?jGuO&3#`|0jyVx!@1dw( zMe7YsJI>husjyJFEOKqN`Zd-@EmFG|Z{S)vKkzGw1K{sByv$5c&GObI!x@=xAfi7H zOPD8>KK84dg*OF_C()JJPn#q$> zvK?kW5qy)&>%fhvQi*}$6H~&OFtKgS#|=!l0vGlx#sy6LrjbJm9{l zuf=4#v|oa}yKnP}-Y<_>BS)o49%4%x9}EEVTyDvub7-?0xBXA>Ip*fC&dv$RkqY)JoG^iRC zt96)^)jSz+IbWu46pm(6)VlE!c987&7fXgul4n2cad*sOuB=PEEu_4Rz3t!f-cYp{lxz_xO87?7TT)X!wZ^2_J@XkirGybqKIfha zzp$Cx<@lMZeyPlizyQg{{UTnE zv@Gh?kkowGK#UDOf@L44zmLa0kPs3zxLGt@b}hP{yF_Tm${ppZtJ>vU&e`BMTJ_u{ zYH8Mi*Ovv#>^o^G+Jz4gdhTX3us6VS0IE|vdOkUq(%yAT zC;}+!VVZUA$b|8$A3L|97hcBo%wnc)gPE}0yX*TsSzfhVtm(hVrPtGK>rj9G$+l^~ z;?8>ieey>Y-9;HltZ(3LU1po1wu#b_JNum;RFhpO;qNv;0(MY-K5e(qA!+vycn7Kb zA#WeO54#>ihKu?xz^dqLX4x_2`-j0=2Dk)-ZsSQbB))UoOTSO*Qf!pJEQ)=BnK)8W zmq7keF^Q^i+SZxZMGz3r?%8{s+lWefj+6u>wOWFU5coTDKXcAcy+N?|6PJ`Gae3n@ zh|0Q_w4*aJ4Q;Nq%QqA+W^@w_jtw3L?m!Ly3*LHaG?4tLs3ZEBoE_i3+-t^2=Zz^E z1zuN&LO^B+CXrpo7dY#2bKzz_8ZVM~Nx@Ix`zy79xOr-0?3nF@=Y*pYN&>Yi^{L(E z_QMNBor*k(M#S-Dhg(qowfdDNdef&evTBZ8K{sUEDXph>?RrJ%BT7deA$w~KvG8|e z2H+reIvPRvuIoFf*hgb-)TGni7*xn4FP->O7M5|CPMyT)cE^Z%2LQntp@D-FvbBiI zGh>yd%ATfIAVSW+&hr5=xjo?F2;0|Pom#IT?@{!w6rrwn7j}+hdmgwH4{Q#i|HA8t zPuYHRGy6ry)U@V)eRuD{U$u&$7p*knZ4O$+>;v8m(J?o1X1y8q64bgJ@V9)?bsI9qLWSt=80J0;xX3OeLM!`H-o7-qrX+R5Dw`lvNbjh zBpB?H$TJPLgX@k@0nw1~cTo2IPxGTP#Ql;F#|3sCH?TQ|yw-_}d9}3rYUP9V^}+;6 z8^Jz9*>}w>geCiFnz>7^=@2cMeMbsYFNcR50ERWT`RAX-B`~& z6ohSr64L`&B7thd4c9}bb6nbf%f0JZXfXI$*fM(JIhMRfhkro98aQn$se9#>=L4hA zVM58q64&TU0*S8AFFnXv@oqd&Y;(o&~2uzNg)n z-+&W2KLhu1j-_(*!VD4et=us>36^5pzCXV?Jw5%^Ra`t8C$lleqEYtPr9w$hpQ1j= zXVD&G#)T3wy61;OmivzRt%jR&PA9X5zE20XenH=bjOkPbzYgI;lvAXZn%FWsUD>Xl z{B{$k)f+IrD=wnE>~XcpVLXUJXNA=#=vx*{MXb~&t&YC@o{jsCiSWBdd3va(lDNvt z<37PIGgns|#>d?Zjf_OfOLTY3bOl-#ymbegUs`usVGb;{8WFAGA3Vv^=R zzvog~Lj_Y$^mMu`!(Ws$MyrR)hZ6l}!p@?n9U;Fa9QXUb)lV1OYZS7wvS!!Pm(}sh zpdNho5s)IK`#J0nZAg+)jTDNUAeCn z?3u95?6ke=!ny2azjP27j{GxZL;KI`6?{N{rD#Q&=#APMctf>_NEE>=+!bP{ZT#aFLSIe;xku%1>u?JrJ)fKAWwwZD>7n+ZG&u=-dIR5yCWI}nBR4u!+$`PC?00B%lAa=rIGh#?e*gJZ#W^| zu;amX(IFf)47uQrspEBTY*!3w{XZP|2NTw}ogO{h08{}5=|ElQf;uqWV9jJtel$6@ zyrB)OMD!=vP+5~12H%#nKL>P`sP}Yg%IL!j%PL)t-wL}cao$&$ zk1*nBcrv43zbg>%99!c2p#`Oa@rE4FIlCeq-0n&MU<_x3;}?s*V(f7O$uDXS<%~JL zKiw~4Ty(yDG`C6Y+nC^a=4h5{jLgZc&e3}d9F)-63-bMBQTu~nlO+0yS430y<|p}| z_B?Ccb(L55*m~vcfQ-W|;;KK^sm-RLnaucUG~WZOXD+|QHR?Wqt(x@j zh}a9oH~Lj?NEUS&?EJ*#mo}K+huVg|U9uP6`~Ka0(NsU*3;W$09&I-tt!}Vf!Ew&! zm%4iWgsmlIA0WGK#>BLt`_rmt`FbC*BtG}d*=}_v@4h?a z?rj>GXr@!zrgM#0<3JzU4f(suC&wAzHO_gIq-p|=(deNY59P?Yz#AtH$v)S>AIg5~ zKG>*LGtkJ{@wuO6JIji^IoXX4cidw=S^I=RaPcxs@xeN@l37Bm1B0q|z9J z97!Lli;gr1?YU*K^_ruIiP@2#Os#20Gy=bT3MzApJGM4i*3=4a93w1uY!N;-WfRkc zC5xjWiaI1W&nHdV$^<4%WW{$KrqMx18s;?mX(kj!hsJftB&4+Ir96nNp}ez?R=&7M z5=eF2E%5tY)8-Eo^rIVttywf(4YyMZ`(EXLY$!}5-2LSwcYXV_TkIPGupVZ6pOE$? z-P**Hsf;;^t9%+gdy|_;z(fdrbZFdjA|dixLWaiIAlPumN0=sf z?T9`XZpY@TJ)3`nj31(Pj`j089<_IIBJtuHlz4VGX%phx!6EKD z^|{p31;kva&+fXy+6iL{fa5wn+kKpF46md46rm1|rAJB)9gdHW_we(xd))N+L}9<} zNczp(4fK_lkz|PQr`i8o;i2Wp5kAT$mV@bVV|AQ@i9Am+1@$SqTEvcGu= zrGh88{0p1Pd^>liri*`5>NJ{-a4#*wW_A^ch+b`DXKvF z1YjOygZG!QIn#M0egk7^i<3DdXqiwv-gj3=bH912r49GNW0T)<+h|dkt(zv;fE54E zQ})VSp6JZp_LLh8#R(Dd7Q_=-%GRk~T_t$yjEjMbg0z19wKg+`p1FIi^}uY3k7%aB z2GanOu#T>WTpdN*DaTZVcwiLaK2kQtZ8J*r+ooV!E4~Z;ay~29uSFST2@J_dM{nCz zw?!NAW2!!UK(FxO?n8VVcpDFF&hst1{9&%sugDwV-Lr-G`kXx;<-u{_gcMqFjv#B(836fm!gx5kFRNFvc)@yy27K~&Hh25=xXxxdwH7v#DLRkV;r zfj|#S7?vDbY-9;rn$bIjqB3-ECMaAO%glYL(XqYnY1sALq<4s|W1QRfi1DYD8g`Y5 zlTMAr>!ndDL~mrw^qg51{P^v$+7)G?pel2Zjgz>6j)C%YIqB2aZ+~1`d+KhqvH9ST zdhAhWe3>Q!cY957{(5#>%h@h=!RIaRyCqoBN+d;+`wOiF!2ujV-QNFY9kP!yA2Ul~ z->)0lmp)w`=CX19^Nw|UB59v(3Rc%-&hh?u9e+tG|FNkUckyMX`=xn{ z|3KzHKmrsX?GzS^tx^-Y*0)jfSt1HPx!w!VhOey5WHJeI)P6GK_Zt54r5zogWT0bXUWRma$su;cbGh~AOUrC#98^>;qS+)^yW zyWy*bo~|Q2N}(Y2oGEqzH1H@w-hQ0u+sW6@Lq#D4i2}$B>u2#Sc`Z}6veT5U2zQ%i^&>ahYgTAs3`%m`63j2FUE8t| zy0`0^S>uMS$LoWHW9eT+j7|?A3=W!Hznp0)xtuBQaWof^F%^)5p_R8>U0#r`IYYN_ z>HoS8giHTO74Pfate%B(20c$qX4)Y8jqL5i(#MG(M7YSqB6uV7OGMm-vnR)8>o%Fc zm$-H%&HDWg^(h6G?F&bqfnrhBcO*{VUd7)X`OUIAzjOo;iLn zKAqSP%`D=+e(vOmVF8~qZS0X>J9q!M7pe5HzD4P1?;<)px{hxeVf*2~$K2|9BV@SY?nWYfho`D>J4xA)y+c{~D?Nzi=Ku;_Iw- zsPo_5ABps&@`6UWO|Ok3U~fl~8(z99a!qQqDl7)(F<};a#Q4cMk7D>MnNR~K)?m0? zNXuv2hByI>MKW^5{j-VA@2@%F?#_*}HfI@=ltx5??%CZ~@29PztGZ#PD~{h=%WiMGqQUlv z6?`1pdevHlx2aoqucfq&Ea9{pz_vh&)JeJIrxz7Q2O8>9tF@>`1fRso6}#0g!Lo-c zWG1W|w0-Ng6A8BiFWswi#R(~7=TvvCI;UOt`y@DeJ+*OS#mLuRyfV?Eo_(s&rNP&y z%ZTms*+4E@uOt zKB_Qi=as89Uw*e<-o}yTu7@v)yO}eN+l*>8X+g<(#%wjM7jt|W^I z_C44@qp))*>^H|#o~!}9IlI~U`ID;XZY@-_y4hUzujMxEqkn6#-sV5*!H*Z+>FM|+ zM`YwDfW0iNO);4`F^*pz{P>K5$D0u8ril2?Okw3(HbJr>&b@2+m`?Eg;Up!~ZNK!6 zy_;Psy*v3U9obx%hi!5nI@0vg=j9CYx79#}kM}+v0a(%2rbQ9poUmp&!|_I`t&2ha zQ})|qSxq=}G7io7C};+Y-Thqn=mwX71#e!h!NPV)r}$poCJ)DH__C>Ma73r7!#S z)mBtJ4Emu7ckO&MVZ5FMet*Nh-g}!J9oo>(zF?-%hjP)^4!AxaH0{cF^mzA=qw{yX zzqs8$Cr~2UD{o(PBQx+~+qX~A@;48d`d#hpcl^vgjQpCurQg>_D&vkbZaPlQdW-o* zaiJ*H9MmDTw+CCEG-X6qIr&L$*jjvrp5iBvAhPA+y_0)tpA45QdN^O08$mDc9h~|4 zyrdn}rZw?Rxu)VvN*rF3I)R0kv+%)eXUZR9(9Y$~URaJ|Z-RqJ}0}-57LiUQYNe^BJTuVzJ{bEL5B$91exhDtC-$ zNkndf2PtGXLuI{%xzE(R7 z-0C+>1qicv)(0@XLeFj`Itgp%p3c;KmFZW*KFIeuA-8I@ga1WgAC>t$*vGT}`ub5! z@W_!a>Zg?gmc4DCo6DII^_su~*bh=x3y6yIiVp{Xn`qZ*xmgug0hPBSzV~fOC8Lol z#A59a;&}%X7x?yf^nX9tiu+;xX$tt9yA#njaEx|TkNT=dny6NzxAFtk`Ge`9uyf;_ zyX!Xjk8aOvObm;scenAKS?XDQ)tYp}LHTW?-GGX`wd;8OeZ#rNv?3HcFe_py-W}9@ zcF;L4?aUDoQ5g+OclS4uYfpX@j|zw+tH>8qsrL=pZ{J3enih@WD+QNowy5UZdHtoj zIAG7qY2omL__y1q)V)oo6rO5SIF(WTyMHZjKV=nCj2RmIgqN}ci&IWDIX>E(3aG%T z$HeQN!gu%fU9H;j_3PIg>Y!{~#^JC-xo5KP&42h%hXc#^jq;}`?Fo6Av_q+OVQg#k zou0Pnq{uzONqn`#9o@|RNvcFs-om%8)f z7>{e*CYxD`g$a9+N!OdQaWl#lKJEU*;iB_km;p&swuD!40 zZ7y%Hr%Y=RNd&qnk*=l}u>SGL6jP%3^@1>>!18<7ABz3Im3#fv>R!)-b-~zb@e+^D z?_K>wacHgm&&_l?GXl~jbKQeai*=bYO$uBpHwJkUgrcfY)zGmNZPE{;vg?bNogDMu zzh6=S8n}M?JWrD6FF5JBZqe&)19=r2(#~C#Y;lziyl~;dgt4))6ke~~w{9KQpP?dt4{+HB z&P*VlhPL5;HmWkcOdk_ipVUO1r(UdoDr!AhvA58ed(*(W{(H!^wbjLeVs~M_4IW}< zo_4gNO6PnAGwZ8@eX!xz(bIh=EYlsrRye?1_h>u=%nR)mUK4Dxb9u`uzqTrI8U0JY zy~SK1D#8B4_*u#JEPI8+(nVVzei=JyVN??QaQalm#m9PYTWcl6fFCg@C9(u6U#C9a zrA@mXdUwo%mi?IDl8-F&C&YvG-vM8aBr+l+P+scHCM0R{`KqE&3wPwsRvTsUv5fv8BT6dj94f>cl=h6h+X*? zv1YZJ@80$ER~68TAsssPS9`x~lA2simc5FZ|NbifL;g`0#T*l_-8&9m-g8J%illUw zXnzH|x@-e)cE3^GuxGj7;Bdm3iPbiwf^C+zB%@*8D&*I%W0qiAuI+YScG%3E;Zj*y zWWaN1!uS)}Yz2JJmbx~H>HDT93!qJM&t%?X(@9=vr#7UcbKM0`{1%(kti>(21d5;071(rd3-Y_Rjfs?b%G=@i7lf3SP!+>#mhWkDwOuxu`;UIl z+k)cTl<~tJiJ2+MbU@egy)H7umvL`!xnVV=2s2qPbVEPAW#W!myQheac3Ym}`^11J zq5qk`C;|mx_6}7)5a1rbo=%^v7uB+KadGi5yOhRd%9tRi>+hgz!_RL(0Ua4r#*=Lb-;n% z$>U~M-kqouMp&k7Qg^(%6BfQP=Gg5+PH4(=U@egE}yfyOj`II4_>KI>K zuVCzxnvU18PeqT}f-PIJwxvs|N9ODAQ{IqDby}-J4Ww(oM82#yWIsvM@tN5&75H@d zUdWzBewCA=BG2TuyNT-(b)@pL!e2Z&xDPOovpd0#e$4-4dTh^V6DKp-!OrMH*Ut|f z(|j#+zuj$=%g;&MDAX4T^yGC)XA@qSs_P=jh?DRM2G#}A;L;|WuQBF#Z29#5Szsk` zI9U}tT*$t$7tZusJnrZiBBx4fIg?>1`Sj`2n2T_SeY)x8W#xQI^s-|M`ZS6-825`7*&%ar=);A8!FfZ?6y&c1UI#w~ zjP~i>oYU<8d4N&i>!L#2#%$9sFRXOWHlZ*WD$4+T0t>IO-M3z$OleL2Lwxs+cAO($ zQrKWo9$TN~aWdeo*}IH$HJ{?wrS(5mKniS4-DNm4;QnK9FmA}V^7P%SPs1;;nN=jy zGFq-eKySCTprsQ_fI&n)`?s`W%@ls_1_eyz7hmf6wnIf;ff)onJ%~t77Gq5fewEb? zx5csLNMOl4APBsHvKv~=IA_m0_K(E_Tpftu2fDLES>y3Ep5dnt74nE=`Z?L_W1ijM z%s=SNP?^6E-w!7L`1$$d3@5@EhS|a7cQfM+o22f#Y`HI`H)>Z?F;}yx+ed5*a2VCT zPXWh@o*;{>HhH@9q*|+=A%FSF?!SIvI>VG*nY z4|RsEJ!E?_UgZ(CV#qQ14d%!JFYNkPk)92XTJCu#=Ta??rMxjZ;L)hjp1woK26&6R zwfljf#T|6VTIEpbO9CqOf~s2Nhf0lQ&oRUyw8`b6LG3Sh^Yh)9OCz(hv$fv1>fAq! zt%-!|g9w1I%>T#LTSqnh{^7$QD2UP`A~6(@5)f2EVq#HBBOoyW5fzl~!6>CWr4!P(jUitD;wasTKZRq}J(EQ# z-oq!?1c`L*ol^yt53!Y%{+j>tJ1MH4spVvTH;&x=0@L0m3>>bH7H;2k7#c%+wCuwEg;5gin(3Nb zmC;U<=cda}I5L$`nJC1oF8H%c<5|GlC*^$J-`&vtf$1n1>~Ba8+{J*ae}P$wi`zC# zxIfiZ)UjeKQ{rWMiXk4uqA!Z}ZApVz#59f?6%BwvA2M!o{{%(3NUfiGGaVp~f9@_S zAPCG9LOd*_+44-_HL?Q;_(+(>0fQA*C%<4D#W|S}L$XmKP9t(N+Rm!()-L#}uFxS- z#=tQ28Sv?WXt52WZ13+uqJREG?R2LyjS`pqCW_-jQ+P?JM|PYk)L{}8OAfXM9J=C} zra<}Bq&`$l*=3prnZc6~GDobxNp3f2Txq5}oL+=Q#u%1eVN3~maKngYL%YQ3%O#~$ z#DEi;V_m&ik%0fwl2T2&+JlTBMS(K>z6A}(jD0fm%l{+i7o_3)sne1!oOk~rmJ5T6u)NIeE2Mo?HV*{?Aud`RhsCFGHE&T#A&UZXl?}_ zHAl6@dxDID2MilZ(Za&;*Tc;>EWBpE>+uB-7Z~|*N=a@f*EkO+?n?AKFtO9O8`8zH z3kKQs{r1QLynm2B7WBK#M-7*v6uy8$xr{aEJ+Fa^KDkV@L# z-X7UG*+qb6)_qX_sL?Kgt~=eXpptx8a4`j;sS zsei~l*@uW{fXJDI3P79emP(4MEHNQYZtilh;D`u$ivIZO7O}qnJ`;NI-R1Ay98sVd z9IVT|q-C`hCmCpPLdO+%L3FE-9K2SY2)^E}&@EWOcmA&CZN^7hU$~qvzm1JFlYHV^ z{y^;Ehxde}izRJe35jS)U3Iv?pD1UkK+W~rqNb^O`&z!UpUONmHWr>~qnRwqIrAmc zFNJ*3lpK!^K27&h{@JSVjRy-0wBSnUHWj z`11KMM(J^2`S^Nw#0U1DE3+E0N@r)vm9c+~DH_`o3ksK?CKNm!Io{e{AlM06`%nmm z*y@4Gn7g_DJH8M2v_1%)zhMw_x1`?^NOSInB(=4zW58Ncha|cq0%uV-!d+{7@b?PH zQX+64gE&4&pT&>J#FNKhqWLog|`W@C%e!iWxYgn6c+}n1B@t!m_ z5eFT51er+3>3{z}2A%Flah<8*@i8?rS|aETb%PHgyt`svXF{R~C?_KLI~H*;+f?yR zY~#a(joG}*`AXhv@OM++??I=h)sCtPwC(MgKa8D^47i;UvVg7L1Y_~YA!G$`uvWdN zv!%U95gHDCz)8104Bj|SK158T!@7zNZi*h1_NsKB{bUW)Jz_37Z$3-&Q~85A5J!z! z6|FBhyvX3|-zlJPiWkfP*0GIa)=;`w*i>@)0u3!=)gztrOdjyC-A-P$R$=?XgN+S| z;+xGnv!b3C(aC$XiSxzQ6Bfd<5`_WhT7Ac~f&w)hi~Q&6^oAlgrBIR5IhKi!gvMbe z_O~xyS7{ML-MN~a_&l@;s2+f1%P7NYYU}#rrF(}!{=>t8qEwTab|TRxK)g=*9w{ke zgk{su$-e%4Dfk5jbc2A62j3`M(VKoHW|oKn-DUf-0)i}%1m$7&$!2=ael9mp-KOXa z)g$vl_xxpGzH#8zzsPCY)hp0i_Ez4x16sbh|8d##wuIVhlhhxS@QJa-63NPTk#y@2 zBVAQ={$<#I@=K#7OX<_{dja?9ytZfFQwIVC;=vTfe8S-CMi>Q~*MM1Q{yX79wYEdI zmueCJvm)+Qsuk^ba_Zf{#^2bKnI=$0r_XEYwiJa@3hNZf*=SVRb@pxj%Ga!SoytA_Y?r%A_$g-e(jIIP)u1!p#KFm5JZXeYz)mg0UmDlT#+TUv&W>Q(hbT`a3(2I=B z@)oN=?D*BxJKxpl@vCum((u>VqVj*co)3y}tC0!sqWa2o$CD3Uk-P8(mkwNp!tw9m zEI>46CUueAbCsDlK=b@-PNpRh<1<>B@@KAz7Yx414l(|Q^RAM*xrr*%wAiStV=px3h+*b+F51y55$zc8#=7xR&?`EYqMd2J^7cos98?an zLq`jluhe|zlDtLA?mx#>M6i(|%xq{Dp_wjy|NchOINaoqdVc?G+l3PO&ERyS*Vl0( zo=QbgS=C>bZ#Bv(-!N-`9^!tUt?kDP6K8h&`9djphCOe0u~E@ij)#v0HRpp?4#(Ld z7&5~0c3!r9W=~T|++1VJIQ2M3&SXP+(J(OAC*aA9g4FAWdL$Zy&i1&U5tm&?r087| zX8I!giynWp^%hT*i%Wjq#N?D`J-+jfeA}zuxu0^tNl5+lbr?tyPkzCjU<>_1mLOL` z7V~QWuAW2KHA3`WPb^RL#Dx6V#6&P%H+AadyQ>{TZop3C7Kt_qrgy!=9og@CBT1=@ zQTFu+y|IZ&dM=fE2y}z8FktOGnEpNn(hV~W-e+w+eYNfRQu;a``_~X@3YYFHn#JmGjS&AmY$I3rNMim$v)$RDAmApqCx_M5WNSONRukf5ezeGB80C$X= zLSi*2doGCmk4yh)z=#`&Fl;=oL*x0-*0kynaLfSw&M<(W^!o{uWkm3EECOWNL{H^9 z5m&<%7JSZCA}D@asMbyAZc6Orxr5^!Ukl0}cKaQ|LB?x$K2|JB-^wZ$t%JPt9E;-V z2B?V=Qdh>)!TadYATU4BM>S0$@1_eDaGC^_j}j++4^BQ8EY#h~4gEf@CPfgBbETK5t=Z6FK3oZW6< zkCT^Atd%oF=NwVtoxgd#dMYc2+64&f7bY&GHblCyKeT^C-E(j``4%pf{_e7s+YTpP zOij$C$llloA<2qYIsSA;a@w;i2V7wfrRQvA=LqG@kLGXUqtnG}QP@`Lr94A|XwEB! z-{97s*ZMh8B)1xwE-7eQEW~*4!4@0WV)CBQQn*XI!;PjSpT5~H#s}QG%Mub2H+)Bg zH80-+-EB|zDTR@P&nNKVY|rLu>npm?d;Uzj6Oi;a*}l(&me!3k%SX) zHR(Oxt~;iCW8&%91WT%$zt?VCcU-Iw6&Y3S58MruJ>^UBeUO-ZBG_xw9(MMCuDX-7 zb->L7OW7sFQyJ!;C4$9p%c+4h1-q^&`yY@iD|u7=V(7k*)-c58}d14V$Hgu&$CcYT}4_N7a-u6%9>Pt2}l+4 ztqR1FA9P)ZRXdlG0$To`hk(II~D+Llln4~88AS|Nx{u}kJ z7YqrKl`Z#Tm?|4LBrHAAsSO(&rA!AhKer4m-TKfC_z|5hNZ>lUN{I2Motf2r87eEu zb0vWi2*)2j_$9*TF^HhFiHnvsOEt`HSFK2dqW-&aIGcj@X zL;fJ&q%5fw2^8!R3vf??nfzOxUk7P(fX4@SVKD8}Y?!I(x{DS7M&-=q?;82vNJ_Po zw+hiN5>G0DMQ>cUtxQ9ewZ=zOI>aviwRUNiW$47v=shx)oA$>K4s6ngxT`$ zwIxYs^yEdO?mxo2zB-A4is-`g5)ECPoFZw~8zP^PNmsQ`e-OUrtA0uO-StyN)^|Ex zXdlpP`zd_U+&HThFMTGNGgs$}oiONi()AwLVGW&TqEDkXKdsUd!)bitvc@1|jh`@# z=31-Bd=KM;AzA9a938FNKc&YuS2LK?MuJxPmA#zu2nOwvUjSFT9Mhrr2O*y%(K}WW$!XNw*yYz&NaFUO+#<;(!jQSDK9u*ErO#qYEY}hu zmn}$)%Z( z+2DJFyC5r_8G)qyy{>cMzN=8pJHn!xk?six|8bl0YN+f2ekG3*5e^ExMCBIgTEh_X zLHeJ$CX>2D(a%t*?4r-%u*QBX9qZy+mUDM`{Xz%`3Y<*Ux^qh-w%o++(1@)OoxOAf z=`@72%eXLI+E&|-)ayihFFHa_Bq~m}99$=J zyq7*fz+uW0s4EyKW*BxAo42QV6`4VfjG+lOEKW<3c)%AM%DvQ4U9SL1X`K zO6nELTCFSs`ESW?O*NLXfdi2!KHgxJ(Ou~O$XFMFO2)G9y!DI6#!JtVO4kNtK`SAWHO~dSeqx&Wn}k3$`LqB^EZcFgXsMP?OHhh49?m9d*aP~-Eu^7ROxq( zX0xo*)kcrrmnd(ciC}TNnBXd~*b9Jdrr_Nz$N+@pjNr4xCL5w9|47=M(`U|#sNJ}z zG$GerO!~COtNRV#Zj_TL**@u}Uh$#wj>S!z8Q#kuv!^*k$1F`g{JQI=eNnz!P$KPl zjzDr&A;(nZG%Ni|zB#2%9xd zjE`R_EiEnAnK|QfC6I=`o%Nx+G)+zaDQ=N^`WvB(cPlK8o>^6fX=-Q&;y#_76}@Vg zM-V38J&l7{D3pnTv=WSi&dwB5(%YMWn*+`SYKBnX6rI&qaLVW<9xc?ndcPqh=0J20 zcBh4ugIho8?6|9+zV;+HEUKj6aKCy0$r5ybG0C-;UPE|AZ<)4XL5OW6 z7DHfyT1iA5x>FhB9~|S<8N~l5S>E{tahu?fZU3`?8*1wAegxgJ19j9+TGI^xD2G7( z7_~Q!jyBm_y*_;+>Aljy&nWIgN(|}NUOaE!ym`*g-Umq!SR2jzkOooyrI)=0-(PQd ztT5WN#`Vjr`N-CcEMs0(!z~A6dIoT^e2f5*|7h6KpZd~M{}mmldSvD_Q*)M)k*XSe z;d1johO2(-$@|A8DItV#S{eaL2gq;rT!HaHD0>j;*i_&@mgz-tJ^YsFM=>ZF#l~j` zP;PrtC)g)QNrS-4-!Stbz)hUMbC_pCq6+_)U_7fbwGMA!K!ROYb$24Rz6yGg`Pb-~wcEYOyfcFB6|ho2o0wZsT8ixJy6i#fL-2a)wPNjYAt5QLgRYBNKv# z&r(-~A^BcUIHn!*vD5SMwYs&VGMgnE8){gQ5Pf~%eo1N60d3BZ7GR;H9#FX=R!vF+ zmRR$mmufp!-{sAQ$9li(G|~g-cDd>mtGV17&jkglQpdXhWml1~nv7NqLI&)(zit%KNn8Bw8?J2^K0e+T2MT!^$9%n_OBv-$ zPem}tOCNaO(QtTAm^-|thU5cBQCwHEm!=gKgG}dFO=yUgZerw0O)aLdf=Ll(Yo5L@ z)JkR(9`v;^Nv2h5;$Yn$i|qdV{*-hyUKz+$?SSm2!h07YkHcbNx^)u1gGKrL6Agh# z1mZ|xFhf@8C4XFJpS1YRmqToHNzSm7*+9}?MTC;Srk5*cUZvU?aMIfQzYY)tBO(Qx zcmK_sF;ao0_H97?!zeWnGgob(kl^FAyth=dO)sESW6iP2%JFK1IfushG*q;E#+Oz)h(g|W_rG38t3f(nCW%pB1{~ zmoPSoKvU2bD0`w1{w$En2V2bwADq5!tSO$vHCyaIa&L1;zyE?rDbxvXb^3akCab(r zZf#;@lLBcBeH~KY$e6d)dXqpWQeXrvHXY~us(nqH^Dd#D@01q&P*&9T2JLm3Q;}K- z=(pBr;o;1bv-C*D&@b!k9D$$J?n%HI6T{4>v@~t3IXXTwKJGlY@9MVw-_M|I`+@CJd+GEn| zN$PBO`_E|RD!mH)*yr4nrvo^8@wLW*8}1=Ni>IU&DOp)ru15#%%bU}$)G&OvDJRL0 zRf78wVN(@R_MesNyeC!)L>S5`-VRF*yJfh;7i-P zmhC_*gYIMRA$%o3lz|>qPcBu)Q@HeYrsDi}8qZBy26$!yV@7&Us3Jl}TF2Ti$c|d5 zMV#mKNaN{xRG{*^_}IIKp>eFaA{_AjHH*J9^MZlYLf4%4?oXekF76+8J-RjZ^#ea7 zG%5YA8;7s8DPx7umClS8E8VeEKinCt0}1wX9@t;_E}6i@okw!^{i_dvc{$i3te-TA zusw+rbv>RxUfgh`fIk|M^>XBH$09a&n)i?}5*@W>>Vs!x9dMQ7=jVU5`>N-hOp729 zwpl*!gN;?VA}uQoTfr&pb@Nt+ek9}nHL9rp0?9jNq!2Vn(p#())#JJ7lN|&MSWOo^ z*{y{B6J~aCB!?q{#)n+k9BDCqcxEO;v0Fl z5dgJjwGLJWCsS@>U7zED_@7vs>g9$5GJ-gipL(~7>n`oXz09)18m6H-H@Bg)XRr7c z6u5cm`}ol1TU}9Fbh;bI#FCUMq^?B6^d+&^=DFP9_MOTjC}vX$MIgG#ys2pDC_Tt6 z-`FT2jw@NsFF(yGmQbTaW22`LKL`RrWgjQR$1o@9$Geq+tJ!6M+x3Sv$q^HITi}wa zQ&)$|rbVxM+0pxdey`w2j8vuVC_^+eZ34QT6^M?qtPVV{PrzG37n${z%p}lyU_)ri ze%ovi7bISsbNzXWU;+JD?bAoBOb$5@Qbt3$*KZ4G{EDjFob}3AOv^J~G-5%Nsm48! z*w>Lj^5{lBOgF-rG?~k4;uE%Qm98~TtcfJ442ApjDfMB_;n_OaTern_VapfNSIX_x z1(CP$F#7OYT-A3vjA zcffleC|Qwt9{_wrOSHh??I#$+R(2KF^9RNJ01o4Pa#BQKR-#-59|%GE#o;TD%!xy_ z9vr3Eb7O}tDBq8(#Quo%GP{86W#!21Zv&=@AOiKJEP^_-gpK1`+^z1Zul#v24H(TM zpO5C2S(CGTI-^Ey#uCwLkW+kYMgiy@BC3&UywvTR;rpSBf7Dk`33b89lQ5f+FIxEd z-9UzNK)QJ=BwWCcF=4MxbwT=0X8vJ%>l|v%D{CB5&mC7a2d)O#HTV+Op>Kar&j6Su zh4=~cEhOT!;L_J(g(bVCKiRZ&XIyfMa-m7yf{i=PlQvyZT)&Sdufzep@uXgqIbJxs zv$36om__gYo}26RbX*-Mys^An$rre)5x6?(PWe$?UA;_N5mm#T<@4BUyNzYN^GZyO z{1IuqjJ+JQw|NtIHbr5+0nFk_%PR=*W_*2+o~=SP#cY4(g|RtmkRSMt0{zZ9p|qKp z0bJp1ft3EG`-jw7bb}LZ#qFu#?CSmdeH8_m>~98gREtfW+&uc_MYfXNA~uIbZ32 zQ!ixvl3bY1Uqc^bOiah(LE=GmbzTw4mR{h*w;7shVrQ``$|-DOD@F8*KDn11wN+rR zS`O|wIXg384+zh=1ElN~f05lAp_4s&MoUF|DU2mZo~|o>G0R3FoX+iaab7QciipYk zClzg$>`UQ_e;U@GU>n66qmG#r93}f%CRl&mxUXFIUlyYqK5#i7r<9> z6p;f8`xZW&;pI@qdnzTf?XHByn%{Jw-6=ccb>f&~e;?FqDIZ zuUpief4jZ?ojCC0I$u(!mc=s7)d1FJx78WQrpk*wwwFVhx1({Vf`$t;>}G1R_GcU` zmyTwgdrT2WxA~yGZG``0#9H{Q8F^RA?D1Un4dAUaOgWvgIdW`p@@*#y^4BTzkd-LX z%1rI1#1L5i_HCQxM$Y!RgLfu`<}GtS?*fV>)F55J2d z8s*@1_pNq_cGo5-O=VIj?(CWOhOsb%v@LP(2Lu$jcIJdyFpTPQJ&mIj;~eJm5I^`)eiNz>ioI(J0H+Y%|i zX-c0~^s2?=hxxDN_#_%I!PED3GLay8nY=9HOs|dmRc>hQKfgX~g&V!so}4>_J~%6_ z<%YMGZM}A!#Gv6Msgb)|`RqqkCBph`QOZ6#H$Y@8_>1Jz3cpdPkD&UqVTz<_`L}-2 zKdk;wXRfEL`~OBFzEgZjwT_dvZuo(p%;mg|x`x^=ZJp|qb z{HVD;KN6j0Kk(gtV6ACCdJ|$#G6?`UaTH%)AR!iJ%mWPJMBy%%DdcEUZ#-0@zo?ht zZ+HeDVDGzQX|{e+2Mt+(?#fP#kcr?@5FN{1BX`cDId?s{b^W_}`E?kz?!OW_UG2K` zp4*m+c&8ll0$y-4bDf7UT+3*o)@LyXKSf6c_J?J(F;PeLcR1NWoLK7c4hMA@`>L=D zidvWP@v`<^-WT2b#W2FTZS^xWZ zc@PAlr!bn^*^}am{CV6>RbNDe^R=OHDk9sTasmpV3jM7vnonsr`mx1~+${^&LHA}K3M(_x5w1;+ev(KdTzX38G3 z;tqH)5Bz6j%ru+mW`ga-TCl%PYH*sU{waPxsc5%jOne##Gf7Vg4MX3@dy!FZH;IVl zWPeHJw_2`q4={X}b?dS6grW$?bo{l5D#}~QJPTuIcr9!?obq$Q zFcqnu{zE-4TDy+x!UQ;7hV!RUk?ups%`-& zGK2>SI`ASs%mq;Um}CE`!Fh#bw@Cm;R6v)VD7>{NXBn#*H+H%-NSRDJYA`oboCD63 z0l~Hwa4SH=6QC=kUOBS^2>NmnboY7NX&?B{Oby-h|MktkII6ZFG`*!o$~JS%(>ztO z&+{|B;t^cczxSX#-M}zX#x@_U9`#>@&}* zJmC!3pDJ(QSH9}0w28`P^wEhhXse`2nO`F(OIv(bN;1EC)1?p=o$hoKtbR&koOZ$Umq4>3MgwR`4q0qe}JWI`7X$qUo%2I+5;8Cn8?MJh~%D)0iYudaaLz#gw7 zX*};A===|QCRT>5gm7>|1%=y^Iot(53-~7}m2jd&AgKVf)DnqV`c@F%&R>s8{IqZaKVF;8^9Dt({D&Sc zQs#W!hv!FQ4TLmo#=aRiry)Hx;`q9H5`KMD6`lF_rg{(}4ja!q`)vOpB)xP9mg~1s zd`a2u)^*rchJhmaaJ2M*`+7!v-9)Ts4ovDDpa@vzKs-pt&SZ;@OB8g>N8F0C_|KeB z6-kGaK_a*JcsaLBHa6w$jc5FMQ@+U3m}?%cpkr4 zu(1w^R231k&zs?x#Mxd(k~;U!s#>YqjBN2Z6|v3uv1IxCO>K=6a?95_WK2aGjOQBo z9G<&7DC7nnz23x2wtc0$50<-6$EU~U2E18qPFYl1y1VT2=j=yvv!7qXuV;i_tgY9W zX<7n6D&2%+AOi18e$~wl@!XuK4jj6@(sGtl_TAjn2IXFXy!EhKVfB64ivx|ape0=ZVgqOE&-@YGC zZE|3_|Ka?ShgjBrp6}P)<3*|Zxe(gs^Fe0i5Dz1d0J)}vj2Tf{ea?H{mm7;z!tgCT@w6b&F>DWc(k>1u@AP^ZNBtKymq|n< zn1bFx7*oq*mLW0$1iteN{&_KoNo)V5=oRGq(qLfHf2a6_`nbalgkF#tu` zF2$$A$d@aA5-(rR03!mShNSIFj2uR5e-io0r;5A)#;ZPr2`wdQ8DHUT*X*Ey-XDr1 zHEe|~WrE3s4!2T~^;(;y%v!%qXyQ|)Cmj{ASsaj!bFQU0PohMqKyO*+3PpGTW8wwELKF1cy)1zw~h{0nE71~ZiP zY!m83B}217*_TbpfUFA|8>^rKA)>>=^9O21XNKSn^!j!D`X5A-r2U;)eUqvJ-qzOD z+3w6K39eh8ihIACXsBc);+k+2>90L>6Y`tyCDJ!!)_Be`aJxCEtS4K^{mmMuN^i6u zeDEx$%X$u>^y$~rR@{1fMp*6M!xklDao650u=kMVyXvQKx$Doj zb;k2xp5$};zUe9AM%V1-n`&K#3XI(pz1!*e0y~$+3Cy2?9h;G*)uqj%EG=!$>F#q=*ZGQXrS5>Is$ty2$_1 zcl}a)Td~cr%-h*&OJSUQ)J;0_kH^Toe`g~()pAeM)HzMJYt%62TO zeRnyQ0S;sokLTR?S3tm}Jb;9;&$5n(02`Cpfm=U%I@uB$89srQWJ^2r=~WCacaxnF^|n%bq9O zW={;RbEltn`vtn-u6bU_J~2!{EAc=A;}zzirKVtHk$M4vjxl%^wG$Z?HcZ%v2=tdfViOAL>Exj_7wmn`}n z+f#MXX}YDbZQGe(0fIev%@%IF0EBU1DMii{vb!IN8%>v{H=B;i--Y~*y!U75v7Rn> z*6uX6t%G9jXdS@XZ>aBRa=yd-FD?t^0o@1atul5#E=3G}CB7%s)Vj~Do5$gWE?-+? zX#DHou<=sUYV0Em3tkAwcQvtrxKZl5605L$eR@AM0#C##STpeXxbDU(EG+s{`)k1! z4a-cAb5(e#EB0gov`?JvH>K6hyxFk>zMRUYjS|Zo0xRv81FD06_r<={g)P#7T6bZ9 z{~Qb;<16z!)K0cK2vqN4&4nIly*dGt_By6-QmATk(E4c6%2qWpZUuqD{sp~=ddu!7 zKmaGmRRxN7p`^uKR&A1i4Q34g?Ve~HBI+N1EjF6&tMG!e>>rz|{lgfgNZ7?ZSoZA| zc_*`aX&A+z9Kq+dcLm=m3Vu)BN6M+V*h)vW`*&ujsM(jlN>HTIW$s!Sd*D6+Md^@{ zqm*I`$XXK$*hx^TYAsoOl5!1MhIp|8$pzJanq8U-1gdIgz6rZuU0Qyw<{eyn6FSzN zK6U?nmFv#k*iAs|J!E_|etWG}DYwM+3u4^nHP87Gly zvprKZC90LPFVfbMqax^2>Vsp__3{T)5SqO2g+VFv3=rjUH5A%TLx8%rOs$)kPt*3o2!bZh`}RjUdx?n(YdQ>H(i+Fm*@a(J;V5HG zA&Ejt_h#Vx4(8}lAXJi`rAgg?CVi}Y!fA2|CXoL?#fi|qf3jN$TPPA!4`?$qh5{cz zcT|qaD{ie`ORQigv+Z3(0Pto-fq26GSC$=m>uG>2KAC$al}n1Uac(OWF_AfaU%7DLYYgtHF7e3$N36!G0(73;EA zdudO??{D3@!sV0RJ*unB%&M|Sqim=N@g3gfM&M6h)6Hf)8_+|eKLLrmO$8lBXkM}> zoX;fxNyi;nMbpp>C0>mvrmIGHp+arqoP%|(BCHW>nT~sfG68)mMvEglGF{ZI=I+yH zh2wyn=zr)XOa2{GPhbE;^hGIKhX!gHgpFFj7S~l-f53O?q7qf#4hvSlclmG26je5^ z`i>o~|L!fuyRpZjoi#JV^ali^-njYCd59#3eL_!e?z=gax0mn8d#(<_I4rwidQ-kT zVcvQAsi@(JV4xBG(j&aCbUzviP&Kjt*A3(;sApu>fF7IKGT=rqhi)#R# zI!{4?WwgW@Gz3SGc>^yu5hDz*d+ebYKH>46bQ8B`O8F!Tw=X>lr{o|g&JzeJlvco! z=^nvC&Eoi&| zi`*Ap0Qah^vz&KhRQ$DXqyFKv(yiV-!QI|O1NCltp3>!xP`={jf)GB=Re)YeP17{v ze1V|HoNJFsik%XR+ZNE>(~tYHlsW3L^+TPa0GM4|hD!B(G#jxQiIr|#<;awOdzso7 z0RFtLey?n`$DBCvdi37(Km*HUW%D=6yxbF_ylOA&36a<#$fsBIx?Xpsssv_&t4Ej3 zPgM|e;ndqC2~UZ`9_!J)te$>E*6Hqa%dbS!?86XSRFK2rniiO0O>OGlbef!b0Bow-Y#pStdD!0cd1uHu6Ur7N-ighTAHE2XY0ia?}-fK2->4MSE;` z=oNLA#KoLte?7W}bK#?0P7MRS2szYPms^6C>Xj2G(PT*qIr1;ExH+VFvzO=Ai(a-F zh28`vIUkooQd{SG0NO9YGP>8(^WU3#0U#STW}sm(H5^J6bP<_^T_{F*JrqO~e4iux zC+HJ{F`AYCPD-2_@s;0X^TI<0evjXAT>MDY-py)uRiYK0YL)23Sl{9ujJ2AX~Nbhv`Re)~MNFcps7j znWGGtmWinV2wQa2TMTzC&{?LtRNMD`Ktu=s>#5bFjH#~=AAR$f@|5c}5%%SXPiPXt z`_UJPz`|0_9f!E&+Pdaa_khO3vek}$#IpzK_GZ@f%2w$H)Rb8`@|3@Lkbp?X?RAVb z;cuAVoRl+OrAZ|JwO#m|CxN?y_s8y#bG46{s=}XPP*zYHuhBqSj@>s(oc@to zg;4C+tfUt4m}aMe%reLlU^Y>8>+m(_aizNsE45UBw@WGUM|K+LCTV1N& z05i9h2YaAgz@4>USv|_v-_OUJ-OI%AbjX@nu2E6{+MUz*{o~1rzZowPg8difZi#(rY|AmBuRa43jax`mkfbo9jmzLQNI3OwU*(6}2m>F*w=m~^>i2|s)G|Z~o zBG{{@N_WI7i?c7?EX6MIdB5WPR|!^6i1Wa*C)};fr72#bZb(wPh~JRVp6=MiJ#25} zEBhR;fBsLKqoVI)2mEn77?W+K9!3S}?eGoVLPmN*M8wl1x)9$|f`I6F(Sw#p2chpY zFihSWrJbTu zGkt!lQm<8;aj)+5sl@xstx74vRk+KS^JG@O?RUfe;%U|eha1>D=s}-^e#f!!9!U`M zmT9yYT9M0rIs0E^`kzMk?-`(K5_6Op&rLQM^7*uS^#bnF@6sj zrjRsxOszb}Eo6aTUea=u9s$=dbPoY`Lh2fN*uJ;ap%l1LTvWGyf-TmAT^`zy5ifZo||6R(@#1;l;5f_E82fX?! z{aERpPHO1dE4Uk8^H#^5ci+6q4Q`+rK_e&TGFlQ$u_OqKJg$vPzycVaG_;I zS+{8`GC`O{q-dy4=jWI+R4vhY?mx+BQ0#VUe(0J|{B9j(mo>dDr!RbMbC!AV|5O3~ zb9Rzp@dX&{ZR)@Cjq@5LtyC38v&X&fx!v~T`9uuF=4h+2#eJ?nwe-iE@%{wsupW$B z9M8>{%NvdrEcUS0A&{~yCG~FCHgNG5FhoLEvUyb~5RI6L&6bqzi6USx zTlo-g@QkJYvd_k~<|dfc_%DGUrN2G)8LF;QXt?o!>3(e&=o0YTAMPkL_DBJJhV6GN z$>fI0@70PYeLEW|iQ}GQYD$kj!Bfz$?vYkYd9yeM;|d zV$FF$gV|fg%#PdNRtmFY7aFv8o3{t{OJm-uOvJg-K|&xnXDsdc->?C~$qDF_&V1?w z0;!s-qV|nMCI@&}d8c9!*0cdGdpfa49rNz!}+gKm6$Jke3v zMN4$%1LNDMmoQU*x5)7Kkz(QRyfj1!+{Sc8bMKQSsXu~a?0_LP!;LyT$z2h);Gm+U zcr}23_d~i!0`9^u^?b2{)yTNY}#PQ*{HfMwfIy7EmZ(H*E&ygPYvch`sm10 zK3J7O?YDoQn`^y&zU#mvFM-_$=iga;tGE%}J(XyAEfCGYDQuMC7!WigDH~9xzT30f zeQoSf0EzAgP@)hdZ20VzKBWlqNVtRPqA4nBPW;yN!lj&At1gu5$}jG{rE5AC&;gCO z%Gki9{jT-A2qcafe!@02Wx}O@%zm-ZQgCnS^*tuBut5`@34y1TCHjt)U8^-yUkjuU zm@B@&7*%ZGKRY6psqkKZ8iOx}W_=o2V;zH?5Xdcv4WcQ3OgwzIl1MV;pZK+VqSV=6 z5_L5w<QluziGZ{es*!S-{f0bVeY^$wNwejI>~U2w~6xi zWYP`a?B{qdT!Eio*<^y>!l9o3|4!`RBQb~euCx*ycA9#I&Ic#H2s9?IgV31AS_i0L zxJch&;5=4q01J2CTOmPWD<2LY`@RP_Xb`*Trvz~LF6?X5XEFc^mLR}t4O@-(Bsnjh z61xZuCRBM#F9Et2NY4+{)SlM@Su$?<@b{}0Brj5MY~+*~JFIo(PX_gl`A-(?fPO?} zHc(4<*UZL~mTB)%b;{4S;()8>pN{ySytFlcX|YkfOJIUGyq{gof=(_vR02%!-)}*Y zgd>l%XkHym?wzOXugmCvD1@Ca4Z8GLY_Pq(iQaa5OLd@(2k1y%`(~-n`14b`d3os5 zV^=j@#2E;A~hsJFxe6MbHgm%4wlc4Y_N;}b6 z@c(v?+Ih!@K=Pe2zLvrGUC3Y8A#8azBf;U=qEW*06Fp>+B;E$594}BqDH=7824Mgb zWBg47rKX#Vd?)%Ei4dz<0=PK!Q)ea^zJ0Thd794K@ka_%)s#WA3)FdN0f=LSMHUyu zdl@243397Fcmn|Wc!tenPf`DOcWEM+yPw1ueJQ9Kajfm({Z`OqRZsB~-TbJXoF#=g z4~bxhYYjUhz}{7uyuW#ElZO;(eZK=*H<2RKMv*W!#-qwQoud=Af+bZ@3#xQfV!b^U^O-CsJNb$QdQt9vWc*= zFROpS7GN*2zaUIZHmE{)h^c?NTWt48oJlOfFnH`Gf6}(OCesq{gyE0iXf2x+f` zZ{t5xo)oOh+}$RhQUEtZR`5z$oWnlk1C7O#pyW?wFtiiP|Mh(bPI@*FHnXN?XX$G0 zj4z*<{*6@EP($(c|ALW<+GQtTe_)>}a0sfquGu=fsY>g%?J>7Y~*1r-QI zDM}GVI)o|~I?|CKC?X&o=?RE*1eB_jC`CY;6zLE^Is$@pgh&m&hmeqDf7^4;`~JM= zyXPJr9`z5Oz1E&!ve0cHN>Z-Zx@RcVYZZy1J)<6FO;Zyl>2Brc7QF39&T3yM|LauvH{3KfPPlK3 zi(3OH8;O@!PpnZI9k}v8CxiKEH#mH-P|-lPW=}RUc<}Lb;pb<% zwV~#B&zY2|I$u&vO}IPaz&}2M=2<42YfvmYZJgE?k(=V$_!hk(nZ;3tVmzjGC~ikE zTq4+qkgfX5GciLfZ@lU~37E{iO@QUieT)6C6d(ihs#lBW0Sqf2#3J7CqUC(&{QS-D z_sedm*HY(GQS{1`vg8<@d}q7qO;zn+LKSNrmlSGqPAf2PTJ5E(fo8GGFwJAi8wM~& znfUU9I1FQBvFk43&p8d{g_z9^4zkPz?kE$teSr`dx+%JLjzD|+A-x(EpS0;SGSD5> z(fwA^yXt+-A?MqP{IWd28S@{9`@fg5jZ-b{_T)_9C0Xb(MXehkI2Vjl-i&);;8}#` zSvZ-1E&TcalBc;<6gAPf8Go{T2y`M2GlWz#p`U?$9lbg6_JD2`WkDR_oc$Wibk zrB&|kC~0SNE`X8$xq(=05QE9Xd4%`cK6z;V1WA=I1$3^UlBuL(Pv_N?KX-zC^4hxn z{Cf(G`L+>;2;P%KOVm+cBcju=fbaHsW{*XkjPnRp|B2uCV^L=)`BVftwHw@d#1ma2 zwlmMfHVWiRpO2OMR&z{pUU1Gx(DW4CfLR8;-{eW6l^Wao%45?(P+#6f)E9c{N5B-^LNEu} zrw<4jCmSsrq-HV=#2DRpaQZESK}qTJDuYGIr99O*D9G2d}f8z)JL3^L`0*>N9VVHHHQV_w&%$tL{}I+4iUt= zFc02l-E}vF+wO?()5qdAHcnzEzPey>;t0nZLPO7;Pr@^Mm8{**FC#v}ZJ_@RRmr52 zI^P}S?yxpwLAKU)eybK8aoJV{xwzb))+67ID`&+2IoS%TL|X{!*S-rSZ7BfUtw>|IrNw>c2Ka#TK_qMbDhx#=oR|hs&A&eg`&{D3iOA<4*!UorMnnlqL z@<3YVDw3*nCw>Dn33_on6n=XP;a0AXRVir}a#qG(P~D1gb`}2|7tPQs)v^B2lWzak z=QInau=9n4`5OGjPcUw~wSZq;WvDv1@W4m(n!2(`37?xaka?4EAg`ydzc-6RFJ_dZ zitJtYb&(MG@kbkcQA$c8O=4N#;*pujPuNERlLz<9^uB|Qogdc^bjL7XhY-kvgctJd zcsvtZhVhxaWP^Mc?R#DGp;65+C&eP{UCObteG?Z*4#VgJ^hfl@{f9hG!l&<2aa;+u zfuhW8WfZ%o)=sq`D$KQEW{t4dL;n%T=U9fFcn&5K9B$xIS||T)b4%urwkCiADK=Tz z>gS-*kfZ-_D^5(ew)WT=)~`2>7#fnx2Jsk*mX){z{6Z7yTubf2+Ao}QEdna6_^pdZ zO}H`zGn9?QG*96<#s<-F@`Qp+MUw*?rs8}paLUIWB;k1v3?a!h*u@IlGiMr? z!;abbpYf-^Yz8m+0Pq1;78VBzau#t!*(b5IWGjTNP`R}A^rH(-8RFggaZuYWBgGdX z%jw-WwvNLXk9*g~Vi3PQ@*>E6K_jxvzKN{P=}mjTLOPX|hI>T^u+c&mJs;GunT%RL zqi)*l+b{Rp^P+?t_G|s!Dd;?6fQNhmvzEI`rmn&rlBRPXD;PY)yAkmHUg5yc4aa;p zUYVAw^HtAVG{1Z+A**lp;jR7_RNVT|C$+i0`aMd$d!FE?^53@BKM?!J=>N{Det3fn zjPId@9c=@_s5=8DlxM=7V%gVet&H4so#Cf}7;a10CXZaKBoatzws;~o)A0hy$ z2nvJ%u;9$DYRb*XIrA>-rIysV`vSGl<|LX<8cSm@rS)2NQB?Kwm-`;K0Ol%dXQZ~!bMUlu>Cs-T| z;nP$;x?HQ8Dp*+iufE!cL(?D+{&>vFBL^c*s-Fle0m&8vJlM$lq<$Ro{c7kaotu* zLF_i6k=VTpN=SZ=(GugYDZXAQu-Li!1T8JR|vfc1S3q)t#IZ^^q zY|ZyrOdf`jZ<$nosA1**m}$jKMe!=48ZS6V=zeD7TK&t8fz&;@YCoUbtev+%3~T2O zK2!@NFQ2>DgrC)qK}__^&lH!JXd|Bzj}HSgVW|J7D<7d}p%6seL)6ibQ-@1R!Mog- z@+lKio)5OWudAGVK6S868%<&j`W}fbNMPIydP!@yp{~4$zUEt67%d>@7P#m8z4u@; z7L^;EH303gKZO0xuirrSAk5%0lD%*4J)ST?dj`t)SWmP4#m{ z_=lYm$ZF&E@ue0%Z8&mw!UBv44u^4Xo#$Dr;494-=^lyx61msitu#9ih81q2-}@zf z8=!sXv#4p$vK%Qn$8;ccwyDCi#gjKu#iptf{*#p`6Qn#BCiTMGk3{&Nx9^{w4V00C zh!y!mdvZ@t@m9W0aO{1nQrt&y9=UgEL))|8uZ799%pTT&{JeCYkFMoL%fP7@3uynr zV}PJTggjr99UTDmz#*7L0CNBt#K4+d>Dg?SUY|O1%-D3w$1wDWyL{gz+sdLRf{6=$ zca?tnq$HspN5r=7I2OZg2M;Y)C0DPNT>CAV4lS?65W*pznsa`Z{WUuCMvp7CrI%Ud zx1ZwHx$}M}1dVRFyvZ}Xa8a3hO3X0ewxXe3gBdq7PfMMUOBhGf@BiJmmm%lUhf)qU z+`Kjb^O9HC4a~;G^*j$bvEwV*S<+`Ys?P%3Q2?y+kubTmaluhWYbpjw-g4qap)Q^quV@R!T(ltY3uX398#Vj+mc_7aVQ;n6@7bs) z$WuV&#v*k%z=(-Nr%#5yXj_OBEkjyud}uCV?7b9Iv87+18)x|O1R>s)rG9m2gxytW z#IdzhXsl!+9a`zM6LD?}VU!$@T-xxw0Re4E8ka+o=fU?sdjpU9pQn*jVEm_Lh5T>jl)XByxL8x>>rU z-f?MMKFSnn|AKfYV`2#6k{Y%7-imU$$nwr&7u%xJdjZd9i*ks=H#C()<{vX7Nb9$P z5g(x};b9_apBOTgQSkpa3Zv3k5Bp<3k5T#fkio^Z0H z9OF#wrg=`CH4qJ}coAgape5++~0TA`4#-?c{Ojgw*7xC57o+ zvFeG<^P{u2C4OUZ3E{X?r~yKHBSCD+H%vbb7SYg1k8&BqaK3{yyd27ODpj(-_uVIO z^r@AmaiQprQd4Lld30?3zGg;~#qFQCCxP52p<%5V!qSUG;{Uem;^C!*;e+^nA|YWB zsa|{BjlF+Li!t*ch2m+^-cEqWua8tD`5|VH?dQVehqC#$7TstUa+}N)(@%QHOEH9vNnq2A*VpJobAU$ON^(lIT^=2GjhNzv+_mo>Lak$(3~Q}J%cWLM zBeEVsSNaJlq~92&Yd5RcJ$@xnpW?r0F6}UiEqrHZ@y_e?gU5PLns6H;Hj`QZN+4}i*W(a^2}ZUhcJ)LMVfJEojo zb;dvBxRwn#KP|(Q83W{^&+Y9nW0|opQ8}#LYuCx}OvDeNeb%z_A%t8Cf0qB-XwgR-E85mVi8-c_m3$v`&I^2>wRQF}(QM zTXzuI#gs6kW?bE~*!1jCP2B``@1l4>&Fv)VPXqE)Dk_~)+COKznyx377zGg@eJ_J_ z!wa=UCW1D>yE*^MSuux9fC|K9EwU^i(beRj?fZG}_Fzk#G%`iMANzOsXK+DLA8zy; z5|L8yE>x!nxWzW~7XUG-wFzR_`&WAp$du!9S%4~_h370dt4eitYb$xUkG`FCfi6t( z2?OT!!S$JfbXmfaHcG&VblByO)q*Temmpyb$G>hp&POg551Ade&8o&AdS9%yMTd2; z8cq%h^L85ra(^zGP3XU3%RXlRi`hW*SKK7;lpxi&`_W+sS#R|&7zdq$s+5bwlMXii zriqmq85gw7E!voFAE6cn!IM&S)ichY`+9wa|eogG5p}# zdf491x8oBvA_VjD96g?18^jbjW0klWJTbE1KvM5Yh%`l0RDA3?OndnCQ!i~GKJD@+ zPlHJdCA)58+NlEx)QE7D4nbjeL(uBMIEwqY9luG)4U+2L<_*%=Eh#W8J}I(%e3M;6 zoiKUz&c#L5IQzIuks*t#4!slQR}V$+A09aR#&yl(vHxSN`XBEF=mv8`VJi;)vjo8j zsFPrq&YN4q0&D$ko}yyc!*(I~HigsEdi!geRxnTU9|>y_;`0F`_52SIXb z!z#ZnR$f;u2>JX@s_uu}oGC45xR<%VHA&>4bhp-{$wTbqTWr`Z2|1e$$UrJR)?~YNE_KFV7)?PwD0o`U$NtkR9X317`OL+&z9M7 zw&tX@?Yi0{ag5I*6~6;4N!l)RLf)B(^uRm!UYqn}BAO1G9I!gUHR@AMiQ%Vs-Ro_5 zpr#IU(02&_7T*GP)$56T&_j`4Rw`>wV8=ao{h<-56rW4?Mat;L<%Ki87xj$udJLfszL{R?s^Yvv~2Bf0?Q zW<--bVIMp0w6!p)yz3!%_3jno*z(}gMrlP&KWFbi2DoEkSN%60r5Cm}% z8iqxqN@}+gEQgyyR=KckV^E-y?EhouXfo|vgwCPclfnI5j1@rsqINo31CHvMAPucR zk~756^a}0M#Bj`zf7HQR+UMVo_H#l018wn;D?i;alA@$3!(Eqq6t57Wq-q4VdN6*F?`Z5Z9Fx z!DocaDEwE~66j>EOP>pgDfF*lUqnEiO4|rKN0*r{)zqy5RuIw{v2E?kL^5;(z{L{1 zy~uoi!0Z9^=ATh3lql?mlH^@BIMxCNvek0!i&wL6)Q zNIMq5!-1RW9D<4s!d9_0;3Uo}jYM>2<>=O}3LVZ12b#uX zvb%$rFFZ?klwZ?$kh%}~<{Y_Pa6rnyZ)w3Fw6OX%_2_HBtActNHxh=%(SfY_$zQ1c znLtQ+dHMAX)W(_Xpvkc|HDuolaD7Pv5d0PiTk1yIl7E|$+lk?Wv5nMx7oB=k>VBUU zAvd&K&j^qo+k1bMf4_1gkSwJ~VbS6TxBM>o&0~0fCK2*;CZT|e~ zCTfO%#-zyS*rLiAVB5dW$G`5}9Zs&r0XsPKljmeUn?pcr!kCP~K*m=j3EP6Uhn>%pSWrX7HqB!=#D5`d(j<{BvQMFBDFy}3>iB_TE&arS}# zaciUQzIUT3qO$l-?F7nYek6h@lWFF<)GfQ8AiJ;sp1ent!;3B3k&Zf9kXS#W2lro# z8e$@vZ%cC9DevaP5q3OA5D6{4FR?g?+jqzv6dHlfh9+Y1VFUQsW**fQMdQ_9PSmV$ zV$qCxMsSfDW9>n5xe>hb;4@U>2^4l~U?>|}g7Rx2J^H?%R4VS@qN@{b6hr3vYdrI5 z%8nCsl7DF3G*GjVVgUelWYreXb#(VP$i%R+kJDMGA3o#ss(JYHmy_(K5?_-EPW-`5tOCeJ*@_tg*&T}Vfe^+yv?vMPY7Gjn5O$X`aC zr0s~f8RW~dgX*5geJ11b0Av$T?mVMEw4>1(P6i4vtP7W+^m{}SJ{HTPx~YD(c{@~P z-cvznrYO1hmEK6jkr+~Gia*z~<%Z8zxiH?O(OYN#B#CH;C*5uN)r+t$ff5jGV|CMr0qNO&VHo=#$G( ziSH0UxcNKi52+iyZW#xhK2Is~oIN{Le(`qHJgGoqwH`N$l4jg2_jl*qQW56x{h&Yz zL!&u&o}q*!ViIPew_xqchrih&0dOz!Z>SK-*ASjv0@dArN&+1539s?7HCTr9-dE93E8%Ir@Ru3P zFF6|d#p{?LF`ptoFK_UATki)F-Qmck?z`}bqw9UO{A@$elt&9a2PCLIFDfk4>#y-` z+v?U-GnpRy0m?HTq`QE!KM-7J`epI5E&;?b^eRxx`W@o3EIA14DAjJ&X)#CWw-q=s z?!2&O5muZNa*x4GVLQq%p?mZpJ;-vH3yEN-jQ$jo!xhKTw){^is^gN2mMRWsW> z&R|`2J4F5T0iR!sVI^E50jqc<5@C)+P4ZAgA4MfQavnu)#>I?=QNNcfl)v z*+^t_`GFALVq)Ur;V~yk%Jr{NKG4;#qlzPgQ9w56F*Bg!RBtMhe4kB_a9hOcMAQw$ znHRnkqA%>rFJ~B?vMll3^q29GlbO2dG1u#+zyI?#c`*p_7UDDbns|H}RV)TQx%np9 z?X0Td)LWy|#eWU7+6>)56h~%__JiYK8*%8Lc>u55Ay5^t1VS!pg{TI!5<|zoB%+iM zA2-1@x|6wS{w7$pE!)g%HCRz5>&Z`*wj0^YzWoSCBZs#zx0Q`dhm8bIJPJJjxyRAU zX!1|XmUl~#?lXUlItihw-$psh&A$Mwnz#Ldha+NW!p^ggKzZgYK1}1?#i;rWK=(hl z1WWg2)P)Sk3!J9dx!w84GpD}kQd_fr-V5b{EJJIHitP;*+@0cHdB4hhOs z_(8k41_{*weh2u!L>XY{L4HZ7=CbdRPf#>YjwJ{BgCPd)Waoek=D(qsZqO%72B9TG zu+?A-Zi?uds1M;fEo{S&W8g7v!8sFp&kN-qR3Ux$f7*djMKN|G-TMs$-Lu2FA=x*< zVd^Yi^4F`XDnA9!GMo!($FOk<(B~xKa%@hlNWcl+!-K5$?&N?q@PP9!UXhxQd}S54 z9mXg_`}6tm=f`KS_PUOu3`jQOuy=5%)=$|C{M`+Uo^sj!43Z)q;RuDNB8{felr;a0 z)e0(>k#K(Fv1H#bTrYz%>-4`v|2`T_cbyJ9; zn)^LZfWT}?NEY_Piu*8Cu3yCIwqiZ|N2sn98V z;G?%sT$F3S`qwy~gKY%#XR-qTopELjOulQeiYosO(VUsrkUzm^9I!GTa4OtRrBj{W zy=me2;Mr%bkKgvDKH08+X?4X9({V4j4=D8NClLc~LamNi2XNR8?*0iZas@Z1aZmK` z_5Xn59RwrT!GL?=*s>G-5ny6tPa7jyjtC~(U7ZbrTCDaKSYKwIN#_2>5xW`@+@MuH z#xFQC)QHDx;CodL9Vf=5I`_4@efpvP@TMvMQXCc!xR9seq<)jper36H~|s-%j#}{O1%7CtE8PIR;ksec>pRKC5xy~p&0Su z&v;;nou^B9ED{`9P4|L2RJc5yc}(!m&!;O&B2OfPUkE^Aa`R$fnS=d)086&*WtTp0cFK zwUk2V>Ae8u8J5fbJ>}U@Cd;5;V|WFI`5e#5Jn``cw0LN|{GqDpUt=U1o#rI%NHgi( z!Mg*{Z2SwJC#2aG)?}0-V)zA}YS8_+N$5QN{XAhH{@ajCy@JiTtzX8~xTNLUM-})1 zqRZJkYxK+7FjS@M($f?&m)T#B{$a`Z)im&4Pbt~ge*|EKYy&6q784}!RM}nzZQd~p zV((!Q$ISWs=>d8kXXBdz4E5gW?LM*o?dI`=V>C zf5C1@ZHiI#o+@e;g*-R63CKdCCbt0?rh8}zQZfW}8HBm8hIm`O(y#GutT6sMk)vEC z#A+-yR-@6IMAX24OMBx3O+`#PuhB1Q_oKeTNr6{T z4As&j2^j=;)(b%>D#LB(N-4tknED?(g=BhtA^Sc+1%3qPWC_49VF$SmVD7??&B+8} zcqL(w;!Z}8)Ke42QW>e-douMotVTKFt3T>F@sYZHL83d<_-8j!&F>&{7EleozaE=4 zpJ3_imkZ3HH&KxTWW;g!3abp}51K7pf9E+leq|(bB4_YId})JdAY89{?VL%qxaoQ# z?0JLMzI)SP5jqj+x`Y$PZ#j@f=gblBm%F*Jk$+_vtyV5SLsiyLwL9yG4a@+!5i+A9 zhhTGCnwTYa;u)LgOzBlGPib|{M;KS1;+)kS-hHWj4U~SdZ;6PL)~U{{gxAi;bni|- z!mkA(1fgO}IDhguq5m>adk{VsD3br`+&?cv5fmI8&PhUGQ8SSQ;Q2=Y1}Edg{Qom+ zvZCfYVn}w8-Tsp`MQ8`D7fj!(5}!ssOEQts%4N+9GKM$4k?h;?J-{O81)y_134Qva z6@Mp7wicpVjUk0VHo_LLnuuj20d?{SzM&P?h3*x|IOd-u>8?x)d+B=Oyll~0^0!Y8 z`|e-u{WShq9OtM%LTE-PxfZ?s@{**j^ZwwjK7SW@V2RS z#tJvacn6aD&r3Y-ar@@KEZMUI+FWv9pX5a9_W0`^(rVgBr!PyBqt@V-f({tKIjJ^GCJwcBv~D8Xkl9d>W{ z4|4VYdzv8P0gCWEfP^Op5{bmN1;PYIa=`*TxJQB*-}YYa?=7&``>z~kx5e>ITV)D5 z0%?IE4;(-^@mm(~(pz5`dnEq-JPKRR#Jhl^^&tv0;0eC*fYVAbWHS6gz$|re`?5Dv z`CXnGy)#)z?-J$v!ZXUNlTP@)(XS}@TOvrVSGI!5)c8M376M&d0XvU!0kYpPVh3dn zAe2$h2VtXFN;c)i+bCqUZN+oLP2A^b&J3mz6zS7)5DZ>L{1%VZnXTIYnaH_=*=V-H z7d!)-M*C-p;}@y<{+Vfrcr$K>!|YqSj0>O`LxE z>cVjRaG(c+s|-VqR(~BfS|z#g>AHE#wp#ZUR5wZlYO{pVU%5XhPhn2`?}vY(jtZ&+ z<|GN|zLR_mtLcj5;m$0Ns$PQu4j1v;_-i;$I0@R8P6H_RUFofVKZ$~3mw7)A;F()R;lMD9cz^?-NEBEnk)>eYvXCB@*gPw$vc|qOB^&HV zr)L_kyT5vIV1H(SxCl%&hE1lo$iy!WDf^ygJahll8TLCDpIlM1Lsiu#l&0L0VQ<$H zo3gyyp)UQBLHwHZ^Vk~8$9IgM=bGrAAZPp!#Pn`t&na$Y-MndxBf;NhL&!^NE4gDSIn>(s8_VENX0+!*CtsiUh~>JN8txcx<~ zMEJj~5OP*E6P@ciPnJCa=JByaO17JhPYLUqD=iSe1>q+WFv-C?-F^zk9s0jUC7^5ERvD{{O{EG*z1UbA(Zi#?7t^sKy(#~Xw2l{$KQeJD^bF0$yr|6oPe z;LhSm{{45(x1^-_UlVrcHP)Ti1FJ6lY6%V;nA}FAB(*@^hu5Q6Q~=f~tc~|qlfTzM zfC~5?m7r4U(}4r9gXU}r^Ei=!y)QO?_FohKKyq6nk^^T6W#6#5t;FzG*%U@MsEfPb zCC4215)?imb&U>6s+2uEM`5}}JC^3q&&H_thS0%6NcbRHUbv?mg@V1mD_aX*70q*G z0dGQHsCG<_a5FVEz1$C)EX+nRkk>K4qC#r+L7Mc>pFhdLv>)7qx^;766HHB%Df=B|HA>tokMb3oeu9M+8YN6uZ6U*PielC)e$o8mBoIFdz))~^ay#0Lk}|PJ zM;#yCAB77U%&ptfRUX!)I5_soPE|OH8piyH%`TWUo%ASn1KCv4jV!U z^cFoq8}^ZXi>OZk55s+WN<1TGBa%in6Y}bU!5CAMlhJjPo6ivPNd_J-K9GmVEy$*# z9We4s4k8FW4W8&Cc(f9;N_R3BX%bm#Lx+zVMTc0jXtkvxr5DZJ$8_fRPN|i=zdxlS*N}cy26xW_ORAzRgn;{!j_WXN z(xp1|BPrH*sprhv`g)%V<>l)Xm0%a;CmPk;w{Le$*F4YQRtYk>`xUh;*S|ZLT6I1`K^(!+7zkg-Oxgh(_$n5L@Cbu&iif9pf zRpYy3Bk!}Gy!or%xMXh5=3iE$XkA%g<#lW$2mWd&;hc`if!*tv0od_`H$NpC)De1W zrm>6lbDowi`;~kC_N1HHDrS3&*Q4L%eS*8Jo9RNcB#>{P1q7#{;9s*2CfM2u?z_L+ zKGlZ$1LS5g35k29pzoexzKTnbiw;{RD@w_TG}&U z#DOq1OcCWnJob35dqr43Tj%+hu|(QGXI932?(UHYl5ca+$EFj&D1;bVj+8~rBi|%a z^f(RZKaIKlNmAF2Zbb)n31tg^X<`f=>8BAPItyLEKDQ0+A`{+&Y63kR$A^X_!|I;h?AxzoSmgckSA>8_LS1l$;lMc*bOe zRcuGj2jujA{~j0j`t=&u;}6Zl!?kLJiZCof zD5(-@L_PvVSG7JH(VCcqvR`H^%;8vtFx(Rjp;4!JpsA`_=j97|?2H^1}@vg)6Ive~_ zzeAN;)zqsYjE3|@tqOA*BtLs}>(+~0%hDSKp6lQ5KN@&8Ps5$oPrKl)09mp9YAK4^ z%^q+_yfwG=LbS3jTCxtgfmPs=?0UV|k2zqV3uB<6vQ@zx$O}&rPc_~?q)f>zJ33J& zkW|bM4n?_H!m#PRkALG%&YTW6D0*=H;%oPM>kobSpsvR^)N+R@>^pwJ)2c7uiC*qf|R1&NXCNN=Hybma(~1d1=sO^qaR@H??NyhVHiF}|2 z_bZ26M=7qe4Jl%MG!hr(Y`{?F%>7rwhow7Qx{n!He~8?+S1{S*{N+_maoRR}^s~u* z)kH=H8nJH?%(0sdi-R5vcGuyPyaB8H{$P(Tzf8N|JD>U0{e@V`)9<%QU_eysN<{>} zkLFBJmYDFBq@T7+v2trRAsnuS$-Bjf^Ch>E08mq`7v!-L{?omk26hU(!ej@!mKL7& zD!N+B5r<9W*Pua$g;3gs^L?4CvkwXEWLu~|QPreWyLY$ytllNITGgiTz0orH0G%%_ zf7mtCjoq!Im7w#LRZe49+k%L{!&sL<5uDT^l@lh+SrJEWDZ5v;E{eX}Vo|b!uSS*r zYw`XpV=l0Ggid+E_nHhX)cFYPlq0~;_K&}GdQo`9DE6fa$e4&=Cf_r-OXQ3YD#bfv zJTDF-`-=(AnL}oggcQT|+@h3tA4PlH61pS!$(HaVP;?YsOac?wxTw8FCoom7CVZw)r{0V`VFiE~vG*^{ zDcfrgE4pdg8KXq`T=!@I{q_cm;X5Vi??6^3SO9iC+~bHHqsl>FaQ0s={~ykOi(ct> zY_?tp**BhqNFeNCImuLPrSXRMQc4v3h7DVOYid53h^mzBt?RphlPjCPJtkI2*rsiS z-6>@*flKrf09GDVCC9PPDbmlUA8^dQmXIFz{?_v7Tf|7sbE{LaR|Zuzln?7g_^E$j zsE2O{Rp&+^nBuN1t&SEYop;e>58?7SRVVy8Wa?7X>Z>#Nzfx+Cp%N4t;%7XNw z6DW>P@~{~arGJ~**E@{eQ!zKrA>cXIPpqNvmmKd=aiMKzXB{`6VW`Do9?9>vQV)>k zOMX-Sl5|($kB1}(>At@cM#rrAsQY{2Z2|6kISi_BfP}lsb6X4-{=9b9RA$EI<|(_S zo;Q99u$PX*IpN$vyKSDsTAaO|oG_*e7Mq*hXK`qdmr=s_lg=BXkc(i9k(wK?a8IK7 z&`2JnmVMH=Rl~>;@Mv4$lU?u)`z|J)HR{JZ&A8Oc%E}*l(rjv%)l`t(^|nN|{LsmB z@*p{jlrYt7kh{dQG2KfHJuLt^@Kg?%bVcpI0hx;o{xF5fZ`Up6!NCt6ZJ z@9F%;J5~Rr&atzWnRXO>Hc^&U_Zz1xGu7eU!$6_yaD}3xEDY9&@S`5-{doTs}&$;WpCFdH?j9%-do(0dpuh9&+Lq~{{9TEE1Y@X}zx&Fs zq%dXD%s6$eDpA$dfcADNz5I{q3hZPRc;bNRXsI5`DKoddA^ZTFWGvRJ?$uj z*`mtq28N2u8t&QnFQ4mZx6S(YD>+*^P`!jkN+RxNt&8lA&jlfR?L34ix}LLmQiT%kkq!bF`;V{f_&n z_JHC2az2#+BLgj83q_awLa>JQo5TvnSr49huc){1x?J2 z>N|a&vg+AcEBe<*=*ig2|8P98^Xw9Qu-n-XoR{f+nCnN$Apnr4DUt%sUb z$+jU>bt%$b``k9a>ng}=E!E9+aQ>jmra9n~EsOK@ztJsmoi)IBRXOkw6}t&^7eh1< zXRIiUiX_!Vt*(wmhrSFD&%NR786T7XVbj2q5_>I^;Q!QMH_#NbT7n_e(`>|kW;K9@ zb)`A2US_hl1zn$W^C@JA)f~8HMvvl32c?nH^`|w=-_o$TnuD~07A`K7k>?#(Cww{> zUs2IH{Pg{)E35VR-UmN=L(bIvbKEQ!Wn8%K6?zOQ;}|afey}^>0{ip&&bj8 z5G0KMGTt5_g30u}z*#P3x{5Sb^PdX7+b)gtqMWHWhm?%P43hpGHG&v)2TLDJt+eTgL!I3L z?h{DBgY}bD$(Ve$kjG;xWzX+-$zR}k^49q1vOmT=g;I}GE8nw7di|*h>7^Bn*|kMz zR9~Ig#>E93r;(0k^aVl+&;zSn(r2CyW?twcX=o#oQ&QG8u3Z4*jFePytBCl}wsZli z+hGMHwe*R-r4vwvl-7KK?S5WP#%39)DW3GZH&FUxa2Mrk=YComuO3d#yjGLTOpZ0* zqBW}=hXpR&a(ZxaPm=A62xZjNWW=3z7m3A_*Zr=ITMi8x<{!?u$y=4!G+V~Tj1*@m zarxe?VURc%WpL_RpQ>2gm70rCcoPMiH|)>Rv!M3de6dCE5`%Qe6;DuhH~tl^p29JU zSmc=!yb53Y>4jW2ng-Uk`RM<{S_2fyH8dw^(Aj>#3LW1$Qn3|;s7SfcnpFRG7?QIZ z{{rnTiuIH%RA;_tKsueDY_T|6Y={-5+M|2J^if->?&h3 ztF@NQ)Z?>vPj|GwIv2usRh#hv9~DDPL0jOYw0(CxGkb_%CyM6Q)EWEveyMJ5!B$>I zC@ukHI@1V}!;TtLcMGchma~`H=WlohQpuZ4Tv(+VK_L*){c8nC36)IGKG9DGj^Mdl zH1-f3$0e0>`QXf+3Y(T%$19+V_$n-_vCA$K)JBxA-)T8nin&&ncvfHO%!$9YNt-{t z>$%jc^3O{Gb3tL~H{)r4#9|iSvpJ^=M97_4beipEn?Lh6_!V7PV66+R0fQ zI6ORM4_T#pDO`v3a|&gkVXl~kCg*B^goBzlgN}E7x}tU7-JmUF<=vC)J*Da}@IG94 z*S-T)h|`cZ<&>~?>{8jR{;5aR9&?j#PAzGiGw73H?rl@@z46jYV#d|H?V z)!U-hHzqSBp~aP+-VZmcx{BWTaELE33G~Qeo#o3-3JDfXu(RvA7cz!0;eKJlW6k!q ze0@I{9}(-$HHNZyPz!LpJf4q)XoeNk4omB>OE-U{7#)~+_Vd$P-OIP9RDW1M{OXi4 z+f>7&S+b`YHtymY&#SC3;&95_y-cN*lK*t-F^$L7yP-R0so0p`&$wru(g4#hem|)U zTo^rTYT=)lIVa>`7?e^GTW;tD_2s;Ebe#%M*bgq`G=b95_rauY8O+F1K_8g;{bm>-p9GZcd_);6B&|}hb>F@mshd@2 z`XS^c!P>CMMpcdHW`V?XU-d8u=#;$^qXfUt?+4yFei*I?kNEKTP_;1DvP%+Rb&)el zV!^YOl0LnH4J7+MWf{VMTPh*R`!d_bSI?)bD`sycUyE`bUAXv_LNyFmfnS-hDT}Z%Qnd2U|%M@{D%Crdj_#ydk=y8(32k{1XB@;mK30#%Dx_Gm|l9vk1LW{(`aZNG%Z7Ua7hv5hLi$dfl=wMum zQApt{kUeHff%B&26OanukxLi?ES#avUC`FSC4jr!_>_G1xxHde~0i{+2U z-b{|LN!r45u7BigFJC z8Htxh?n|c7^ZKdskwX}01{FXFDpU1Oc^@hM4t>=b)DX!e+|mXJs2sE%-V~w@BvIMi zt|`w!S~CSgmVB7Q*w=Q3-%dKO6Qhv;-RiKxpLm4G_KIBq( zWMh=md!g@O)|+&A7RSa+d)nY0a~F$UUfvoSg?McCUc{vZztV<=t@|W#hM13*TFH8R z>;SVkA=z2)Bqpxws(t3cbek^j?<_8!z$C`@vnD0R0=jQnFI@Ly*hJg!irRel9cK%%2#JoXCmR2 z!7Jb2<>cO5A1xBhw@Z8Y!mzu_-u8!Tr}6%?dIW_g<^#SoW8z?C!0M6~m0FbeW|YwN zcVK~74A!C~LZ+>dmMcik_(=ZR*VnfYtHTaoM}XCVXomaJY|LuE&O&PhvYo##gI|Y$ERWOR~lKGiHD3nhn?}wIn91Oh3AV;??k57UUE7Kh|(TG2{!7 z?M>n$#4^>?QL!0Fi`@~s!uVsI%R^78T;g;46gn7|8OvdE>5_;7)a%$qw>06>8wtMr zgwW892xl*8kV1KQ6BPQp;?}c`0?0WRWL>$l$9=QzxVsY8yn=b6WfK%%Y>K=Gk*m~a zqg8&L&UItF^a|6AOV#T?*@QHTbd(`ZF}y9nJAk#1m%rWMy=FAR{FT^AVWTSY=(N7f zoZsTB1=w5qoRCmz`WQ(zIxR|x8yDq3bAd&urBm;7@25%VZnC}xZ#Kw{M_rvr1xr*6 z;}f7}h1qt?iK{;-AVuRLHDT@b8l+k0eHm=jsgXP{?s$4{>J{eH-}uGW5ONs}fW1(k z$N~}6Q3?j8qK4jTrS6pHoPMabRp_0`f7|<+cyW`_b6Z~S(-Fh*QHtR zdb2IEb5q+hs`AyT3RYH6O7J>n#&b!jQ?&j(IGq{m3BQxg7f#BwsBykRe{^%CB8$_bXbynkWjd52G8DnQmX6y}#uw(aO?{s#5rpk;^&&r_*S_Bz0{3)7ui{RVU{q8+ zCc)-NAQ^>Ym42obZW%p0Xj)Z{k!tCj_t<1l@9XDb?qngS%dMqwNa z465#}O~ncx66Ud*hpmr!oRc#%?k^I{^esdBxHwUBOZUM#hO%_Z$B|w%!98&aL|& z*CGT_6TK7BqxTXegoGf7-g_rnlp%>AdWp_N??mq=dM84NI->W^7-MGsPwt!he(!z% zzh_xvS<9T~oPEyO^|SZ(Ibgc^8W?h>`Kd-Sf`yBpAG(6Wbg?&U#($UT3N5pk@Gm;V z7c9<`AA#!7X51f8c~tyZ{d#HEC#|xWpPuXVZr*u3%@pAjv`VPfKQ!&J*R~acti7gl za!2BTY3v9IX;S5o=SlXLOTK1L@q}l_sL}w+j{t7j6}&v!xDN>BQ>LQFV!vaaL@ERk zT+dX9iARwhH=H^}N}iNmU_iOWrqI_w=Z84Y{6dLWm=^x(S~eM;NJ57 z^~n*Eh0y@f{<^m+C@fgrf zsa2ym84$$=Oc}?RFo^Onnz1*-rB&>CjzpJq$JG(4QEXswE0o1Q_zUqK5ct%q50}YV1adyk%-Hu?n=6m0w)= zHi0HeU%!#^vOAO!f;vNGAsL+$T}>| zNt%aoqM@uDW>4bpu`&Egq@;|ARNGQ?1@kYiZ=zexO@-(jIa6@o7DlCV7v?yh6>|IKb&H??rEg#X0?) z9jizaEL)XE6Cux{QoGm@pfBv+^R*M_@zFzL+Itnq*49>efv1Cp9v?5=!5)I%yD#nN zl~6z5#(wd}Qpp8$9VwH9#F#t(7VAGjnw_2DC@eq8kmRz^jeMojm+~_-%_Y*ASszm; z)5W#+#3Xi8>yxkT#gqKLHvQw0gYg7FL|#9SA@8bAJ;=o`l<`Fe0)h7wS+@>hfe{>9`!Pb37R zGcOd+DT^B2emncZ%W&jIRv|M)+cz01WpO=K=(xgU2agMj0L>eG z65oQ$=RtV)6!J{Iz0j>a#r zKpALml48<5v*V}zkcYP^@q*g(JYEVrXr=n#QAlLPUDN1yQcfRAM7yOBX6!FpefR3(tHAt0#iP35&(bbM}p=z#*ko> zVAKsK%_tNo9%VBSOYd%oA2W*|0C9TZwb1BdJHaR$_!F-J@JzDG@|d)~1RPU5d|yPr z-2d{x6cX%mDgBkFux+@6xqw#U{3ZK%y2+hWi^|T&6hJrv)EL*G?Lk3{Z$#+^G zQ^@xEJ-K>tLF0z+y3tYIrWN>D>CzWMddRHoOsgQ2rg~|d8}=I0P~TTJ3iRs1p@8SQ z>Ka45Aj#MjzOZyK$iboXrLOM1EVD+3sRs_w&W>hzC6%C{4m!DD9Rqsz4*O%NCfPeUVfWkeM(7! zhruNJkV2Xx!a>yeCzE;#&*Lfjx3?B`R%o)N{c9h7FU?fQfnHziVZ*TBQ&RGq3bWu> z3<0Pyg)2pYl+QY{*Oi#Rrk$e%UT_;@n zbi{9(-+}WYw_Aan?>=6}j(awqb2ky4_zN;+305Y_LWzFJwi_b9CNmks8ZbD>a5is` z(}rO&W8=^R$gR{zE4Ad8slWPTXl;IevCt-TSDjQ^S^(f~LSvWB4)*pWlxqWV19ch- zeqsGBsRXJC3gY4i^7bpOvSF<|EsR~5tUTlRPGl;w0}SGh<{*dT!_lqycMW%Q3F#g& zNy33d@|ECFoe#LHalcVv7(c-Yn>3^^I_2?vfB?*^ER#oW92!}VCL;c2tUV>0N_F%> z`p)Rr2o`n5VHEUQ@PD^nNGg%DxPco{4kl=1o|Ds}?@HPpe` zdD;?#$XIx#H3X{jjgHT-9~p$(o&9j2U#+@;yt&8bC^cZjLU3x#yRdrG zD7>LA3ysRtq;v`-;j0u%(g29??e>rI)X{Vy4gt)FA^>#edAk0z_xU|uo(!P%-eO3- z6v5wuGV$SWd(Q&r*&U?YC7NK`?CQza5Hh;57fG#{3vb!-abJ}^=rXRp``OF=Q94uk z_$S<%CbAmdP?yh5Ld3h2X=s$^9I@=e( z`kFp0kU=hrtM+GSkkq2bmn|l~kLxdSILLduU+;WZJ`MG~znc6dn3*b)>shGz<_-KT zO|HV9&TmVc_1$Tx4E8Ug8BY>`STQcLQm?l$y6)VK78?#!*blu3^?r-@Fv4c_702?? z!+&}B&_TyXSKCr(r{C0*Ij8KhW|K2;lBd2$UBEL%I!vMM>l3Ye&=4j&QtWgpo&U=|5&Ywiw?FXeur(QG2_#L=BVBB!luD&p; z;nlv=n7`8rhB4@3Adazel2EZn6n_~sf={(vXFLcY&LeSjbX3wYGIGiiP;I{fcL;s` z%!KpKy?FcMQa)=@?2B7kw;oGFwVb_8NJHDmgu; zBEolwGkF&&z;)DtGuh$$)`YLq{dw3o&+A=fenqTn|T{Mlyp?P0BW>>4_~DJtUmozw$j<(IrT z1f=!f^!6(#CT6;Gcwf>6Jgzv{N3h_KX`4cEs-9AR-)LU&KQb{r#0|b-j?xfS^w~m$ zS{P*eL;RD}y^gjrqyFSZd}RbNygFHUBHn~GSaXWrK?~MF$9USZc~Lc1-%0JQD`i`k zcxWW5(?(i@c%U1BUb8CH97BdT(5eUlUs@xa9eUv^*3U~}Y|y$kS@q5oz9%*)!6%cd zVEJk{$X*rWr1w3`0aVx}Z*o?1TBBYfp*>$98 z3RIoJ4sXaRhOga%hfQe8nw{R?aLVo3+7qH40pVo0@yX5C6gfD{SU5S2w9|^YX6eAO znctrVYQ}c%aJvnM9;!XgrBfU-5nX}v3fn+=pNz2jcxgkNyNJs!d( z>`)EIG)GTrIyzjI0cDTyzc5&g6!xt^&+{hK*fj`-QifrvR)Wd4jrht^p2WE#EQ4K2FK$oA=?wj5Pl@7|+?gN1W_!@q0(>v)Xrt z?3OTa8PA*24Yc z808uPC6oFeW2&nSy#gI^LKM*o{kxsm5d_s6CgMZ4Zq3cCzkkNEXB|}KR52}B1aVzI z-SR}5pLva+jzs7#syVp1O~l5=R)~v>e_2{GL0p~W(=#w+xGe#Jh0*^T-#op4twvY( zN6)p`9$J0d>@{DAHMMFcR|Bo|(=!{kS(Tx02hX`&#+yCrUGmel&b+%1ZwoSLqiXIg zW8!3HW{PHx?E@`ic0OGPT2#61^|KMK+9QMwV+5e=C&XlkVW&!xZZ3f*236q{G}SZ)h_%~y$RP4aU$b|Bz0RFF}s;>!dJ&u0LtF5c?R!3 z1ER7v|2Ow9&fX@pdq*9cz6WLnbrkY9DQsboA>+GEE|F-{A-iwJ5@rLFP9kz6uQI^a zwHD@ZZlH9)gQQ4g^lY`+0^r^t`oFPKcnhrso>(C}W^eeAQM(n@Ap-c9mB|ltwcJdr z1YE`jp~`SVPdUk|3C5wcm}qJg+LV|VQnhzUNy@!#r$%qH6$hw9^Zx%gV#uWZw5#+t z=x@R8rgj?XWFaif6p3y4VSD=!{ z+1dH$Ye|tGt-;9FFS^FchH1 z0icjy?o4q2#z}V2)o~Xf`)t8-phn>Dp*aiyV{ZZAP-hi=1`Qy_e=jkl^F2vL`0ovs zI_GEO_T>vv4OvcW)DjjRZZU|R7t#N?@}Q91aeZDH9^*7T%I@|8UT%if1t^^RfS!A~ zJ;~bUwH5pPK@w=Ljab*opZCsZ&R`f43Zv@4!%MnZ3TYC@_4{ZuanE9^R`rhCAGq-t zqgAve3R!s*hKdTqji<@xMAW|?I*9hV2!3!#uk~_lL#sA`Jyw#pMvw)hG?Na8Ax}oH z6oM-+P%N^4idBSU6O2M2N$3JJ%Q#~kjl4pp?0Q6(iK9=m5~UW(!HF(!x`P;W^43x~ROQ zLLsxdNIJ0?dxeh11W&=i4l7Npr*VF+2v1b!(SIlHSovv$;0(HnrbO`T=>wiefv{OW zAEn#FHl66iTV}C-3B0MQkz1QL3~-k>u7M(;g~lsEER5s7-X3yK9w1#jx*45kIH?_s6Dc8*AIht+soY5*J#8b9htHFUzv`7?rJ z<%Tp+xCsuUJdNuEI(C;}vVELiJtD*I92?17hprv^MTTabppDNf2O2=n;Q`B1cFQ6v z!3fZ}9FS)EcV3_R_!*E2h9H1L?qBoA{@^utyidbudY03y$9k1U^Z3pEWOZ<_dTC9u z#-<&S%wB9j=O@NDM;m_^Ef`e3ZJLG_1q$S&Sx{z%m<7GJv(FmvI-}|QC{nWdQ{gBw zNE39(36ucs%rJA}wTk|8@-WI#YiCENduE&b!XeWR{23XH(!K@O#p-uO??_t_XUTT- zS{brzq@Bh=(jg#rP_zes-yb~zgIFI!0F5$5DWLlluvPCb6$QCCn#Oex$dpL4RHIFO zN9%=$BSP&^mttpo`lkU$CpLk9zZKZB1jsj#7O>rOMcv;ko||x`GK86V%4L$m8vQl1 zAeoF?LXaSKNP}L^-*@CpdJMQDz_&=}2#mfiI^KZ#TY{0Xn4^fyx5#~*&@?X~LISz-|qfCOcoD$H@m<2YZCot+zI4JHgX@OcL zQ}U(ZeMy^~6WHL*VAkGT9%7RmUMa#I!t;mBUv7;`{k|Of*Zg`-A)H$Fxb#yPhFRr0 zp+=qW{bb`t+KI;*O!)m>5cxOFFmm{SNAh0O)!&&K^)rY5Ta=rSF?990nY1HDv5k)@0p0{xXm-{xjgL6h>Xn}QjtI|faw1?S`lIYJzA^L2u86G>)Bz6 zBNK9E7lF?K7~V9m;sVqtAS(280zxbhP54$lc)WT$5pE3J@Qt%Scf_v(X8IR{`;5-( z6^f&kM~y9aPz{wCX<;aTeZR_+6~pQ&dAE0naJAVVYH|wh{N_{B=%^de{F!xLKh*Pb9Ckoq2sUy<@z9A!mruvBjc@8-T0vKhws<4CjAOjj-&%hMa^TL}sN^I8o3 z;<8{*D5?pGJ_Gm}t^DRq^xLU#8;R*_X^Fh8uTGU=HErxw7bP|8TOcivzZz1%s4SyO z1M};jl&RS*@z>^1*bc}OZGx1@P}p4}m#;OqNoeQ4|8pQ9FW)8-v6Us(>R@=Yn2)-D zk!o>R0g)*Ub~;EQmoMA>`<^sQB04oMp>8FhPIMmqvJ}7|RP08AsqXN4R19fGrk4D& zsXP2xBRG(?=C$_%$TkHzBg;OT_3vr_Sx4a43;6YQhM`l_0cZg&2L+vIV5{~i&6Ro% z4#Bnq4c6ccBBy>yiaz7((sM3JB8V4qX5wgK_#17czN-YLb=ey#4Al96+_8nuy}!8b z*B^6@2eY{GMwgHSH24T2zJQT97p}Zt^HX%R0f55C`KN4~ItbV;L-Q62m67bbu$o|? zxG3_=b#dGc>AxR|yYyes!B$9s!U!oMrnLk%m44+J3-Lzlo0h(*%FlMV zD*dX70jyrZu|>aEEwFXpiw|-mEmw(}yqOFDEB*T!w>FtIBW7rJLocAvL#QYit-PaO zWKCV6r^Sh-KQCpY3diWlT=?3H6p%J3>e?xg6H>*o=cZW#4VZxRy*4Pz!3~*EDSP-A z;rS*SU37Gx!}fm@eG*iIj=+ugZ!Ye;xF0ptvTGyJ+dZ3BzG?$&wqtBH=GwE1DS_6Z zjyI|_OF+73;jG)3SAhk84P@TRF;e?X?9Vu)4ZE+gRVk<_eYO=R8DM&8=&lovkz;MR zf{`?$de==6Xqzz|@Dgd1A^&GOe+{ydvKhCG0MIw6YmRIFagmVTJVQEAE#ZW&u@mIy z+A>3wqrbG8PxX6Ix|;9#!EuHn(`Na>a?-iMPP`yees!6<7~nXHzlM4?TihTz2ZEHM zB2iJzonRM?p#aZB8B^Df%C=3z7BPIEZj2~w2SN(IKHsB~!&OQXHk5)n}i-NPNe&Aiu3f4Q^fQ>{agp zfN{~!7*`hSXQlr!E}M67NDxQ9KY(*IdDo6sUNB($M8S$GRu02MI0 z@Znl!_voahw=S+68USu|sl&Vg-A-E&4&puY%MQgQA!7P#W$q5E6!HI@Qr5QHezx~( z+P0ZK*yvA-OYB=M;8l-gaT|k6ZCe0RLJbs*@jHv z04JoLc3gqiYhh2+x6%Sqa3<~;A!T6%VaA{#exxMHfs58G**l*C;=C%SdCD$b8maUH zsaWih+V5X5y-({Zs&M$_0)mqZ8`uT*K5f`Mo@smSaDacF`SRZ8wtxI6&sgS{u@(Y5 zrM*rbCNUvtn|>pcTkU--cH%BiEQ!r22>lz!i-x8-P&H`o7OjCI?-}j z7~Nl!#bjRSZy)aF^aih7cbNFScFNp5IXFn$zlI8pUCk!l7STM~Ps71y`WLEPL7Pwg zX!1%G2&ux*9c*X(i`HcFHzDy?CK}D@Y?ioBetnFl)I49Kip|9I?5!j03GM}ocudO@ zATEcTp=a&qY$4CyX{Uh0G7=Xb7Q)j7_BQOol{-RK7sfBJB$C<^K_wfniGoNM1jO3ZwUBHxy>zY(jo{crZB_U3AwFVA_%e8CplOi zrZnrQ%)n19{@ z3()Y#T=tu^vAVc!=! z#=cG&lY{cG?N(RA+71m@OS_QX3MakZ$kTM5D$XZQ20w5PG`bI0B>Ei`Eh0=ZQaK0k zpVj!c+ItXr3Mt0#($n-574hvKZHG&+TMYDnDxMZN#PW6=i}bTA&Q~K4)XGZDa$ru*tHW7y--^K0SEY zyo#qcE-p)`K>+f(49{zXAU=~c=S%Ql?08K^-20qze{HaOShQpk^+haSId|yvHFow@ zKRxXUV!&rj1?JL2iSA$+GkF)EVUSV0$-2{Q^d(Q=lap#?`UhY>d?PBhg97vP0gF*y zLKl)IFHH(&D_UuWNiSEm;y;C6f5d8t{Si=nEe3JR6O9{e)cVtxPKBp`dgu(9#2}Q=A7=(DIZ4;a ziJLWP#&d%>Wr+Ifey%jop zTb9#odV<&_fXfv>aEMS!$Fp9QDu;yth!j@LyO zW!BptME3-s*hYQl$?1L*pGGczJU}-UG4RW@VIH+OQZEPf34S^@Z`9KFElE?^dNoHn z@k5Fk8fv~wd%ktl9LULMV2EAnMLGV$d-~@2wZEa3+1=9dP|}-|NEs>yuYB(};ZIIr zb};5QlNno9ZUJ%%v7cTq@|)<<#*}7E?XJ?vKpe-~AHFi;XEZb7N}*;pYLF;u7JGSb zC8jIj4DjWZc+*rIz3H$u^Fk@K%e{hZ@n?_<@fA;S_8{JF9kp9>ntJNJGaMM^muVcq z0{>{$z0e@o<;*m&P(kU&#g>*mk}5nCGpKg}i3NLZX#}qN?j85Zxpmv2zA%^}7i@2S z<#ufEGAc_~E=+~Fp`B=DFAzjmH(=3SQGl7@XCqm!`sEsNohSDlb_Pg;U~&t2VD#D0 zJCZxs9~<$n4|}T=gRbV5+OR;P@(6DP?#(7jW}BXF4QlqUkix*H^9aPz&KIx}>QZcc@@<&3RQW%aLA$mmO4>2RoL~Mwf!eQ-V(8jXb?vyJwM>LQQ${ zZW#KM8@=rr1vN!fZXMQ<8e|C^a;hf2{m#IRcxO{@vh*U7*f@x5+(;PPV&Frvq{TYB z6Yca9k9ufye14LQ-YDQTqMvlucLFY>8s&Tyl9n z=ZYsjPX^mRu&Fke_7G@*iO$$QE$ICy@BNTAJF#vT?y>e!qV+D*!knky z-PH(gC%FFDfbqn-B-+q@vz6f_ucp7lBmkt z0ms=Ox1JZrh?DrEf9Eecv?OLBjvQ)%Z49eay}Uyep)poL<`fv8LKWfTUBR z%6Sc+wq~EZ0QqGwIo;=yH39GYX9s_`nK^>8;~`p2F)g%_oNM6A?;q4qkHq4h+t`Ua z))~58mid(RzIdI#=uE5PSZCs5t%B4lCNAlXk9--QovR_4rtM{8^p&$tjrn4~(?`0l ziC&waJSskwTJ0*fK6estbYQpOL&hrI(m2+6|IJ(KF!7B0v-hpW+K2J?88+z8ndQK> zd$q#+GptFKP4J{|0O3^OGz3U z7@l|5!FH@ks`)*2LrDFZ+;`O7EPI)n4ioTCfrOW*eNeD?2=)OsRjTBqVuMJMQyvsN zu=YMSwv!aeU~oU4x{+B#oUBVnN-B2Ye=Y@^NkI3`+;90$2B<#Am81u^Mpi*BO*@ z?)@wsh8N44r43P(4#$g66bTJd|LGeRq%s}%j1rMzQ@C>{Er}7TDJz@GU;R!xJwL#m zLaq};D|?b^ce2F++l@J3a40=1w_!DWWP=3vN@K6#BC5dKinRjPLC23JW zAM*sIQK>UH!5?&urq}}0);=O{GJT!Vk^u*uiEk27@H*+}a162;#p*!!IpM1h{jygJ&vJ4eN6F3K>=dadp#wbM+gILkpF*Oh4x2-foU#o)g7t0NZ(#$2oBp+XA*;b*-u__HA-7p6x+h20IHS z@_7m>;P;tS?r7pf(t=TYURNg_3&#yiq=npmrutb?8=(-}?hk;C8zN1r%+7$^Igz=p zkH`Up>sdO|{*b2k8kyZCa4q!zv8`2Qp{Eq&uia*R3)AN;5w*;Ok{IxP^DJ8IM^6s zn{qi&8{(C!r{HKV?zxCUk^M`cm8Q)1{6ZlL8r*LE)IvOE3;FpS|D?@L{E*h*(RXSy zb8aPiBT2`f=Y2<2_598msP{^jWA$I$7DP2MBs8u<{B^^Y-;2z-ee{=fN+#-|qwj&(uKdhI*F>5w0~p6dj6I zA<5p(9{RH~V_XvhE>62ALz&}WY55(1ZtW?vH`Jfk4yT&Q(748kukYz_a$I9e+0;$UkKo5NB1VHb;y z`%@rG^}2R3*${UqOLsUM`hSSN(~k9k9sylMYqFqO=D5w7=starw!&z<8Wp4?9Ab*N zBF$B%uUoTn$d7{wnr zd%ajq=h9{<>d&C@mI*qIerXVV1KYnpiv_du7 zV5`RN%2rpij29FkYhhk%HPRf+MU)tca!K$w)yaMS7 zl_rl*I;OT%Mf~c!9|f9N%-A3HUQE^&sbEF4Jea=FEgE&wyW`b8D6|}wAV6I726rI7 zV%@hTixw{R@549vG8CU_btUxt5aflH%e^6(EY5z06)|dfGS=qwUWeIcdQhn*I#eR> z?)x*+o$$dlkCx`Uk@S!BVlW^fYYRb-5mX`tlw6DE=ThbnHiBaKcp zT+H6hfTBj(2EFQ(kpoTZQbHjC+?@fl_hVYeZS~dp8K83?ATk}qzOK$W=U&2)GF32P zLdm)=DfgD15<;NIXMSH$RZ874iuuQ+7$N9Jjl8s>3%KR!%(nqcL8uz*`$WGnwD}G@ z;ap>tFr~cZnX|!6vVlG=vCm_*>|~G2w_JmgdM{9J-W@p{Ejt}&?rz^bU~wML5%~Q< zrZ$-Ck&M~ctXEfHa9=g!au|nCg9AFOKgr_5n3E&Lq^#3Nuai@+&9xXxu~i+h>`=`` zzt)dKky&W+vb=UeRhLC5kxu5Nw_;hXIPI-Di@}yTuV&30lKidJxg{X{YQzbWGY$GT zf8B|f^a}wjh9zeA?FU|`ZBSD%RGLHu6+!mkooxI6L_K5$Kz$i`47Bb@?Pu{dyT~yX>cJ}8j5Eb*@ zX|ydadag)*4HN)?E-Z71GbPa1RfC<(@DK;npbaQ6J9uJ$y^(I>^+Ze?mH%f+HP8pzrQv_p3r5(4jC1x1@sl*z9AR)}kptJ&>>&54J- z0N2#giVsUKZ1GzPBS_%ZAf~2?F?TZpyDo@4;;E+9isX4CegCtIY0&Oy^V$9zhJu&1 zgNvtuqt#q#K&__Z#{0tFMDn}WLUwCEw)nptt<4c|og9{@SXy|K7R($SDZy4$zk7sR zzV#+bn?Sx_b$!4R6WbywG=t^-Yt=D%%dSiM#76vhM4EJi-A<&WfGYci=Tdqd(~lXc zifX^pm{C&#yj9&2h|#H_B4;+_rG0=Gf1_AmaitxVT8wvC{2Oa^TG9Qzj}JT+Pn?A= z8;DjS?sy5k&`P^Cf&~c80a9gYMo6oh*yU~SOiA36@&MobIyW30Wk-g8VPfMc)PFvm z`t9LM8iYjfOLc8ET2R=gL`^>Vg{!1=KZ>rz&bBFH!q}omAozhJG@b7fyU?yn6Pt|D z_vQ@ICue0N%(LVkC0g+BILa8qH|o03l(%Imn#nFX2No_#FXU;SVu^m*lrGQOd% zQ;EKKr<2R@%U^X(ZeNShUoeSXT*IbCxE=GMHFmsJ@27LenQyjZ>90^gr;n{%*=OwV z|MAT7FEsx0XLzuIk~&ym;q2AC#36C`miok6=GSMZ8B%KA*b+Bd~Q(*WJFZtw2b&iu*?^F*2gkS93)Me zVFo=tIH;=#S;XE{z{OK0?cHR8krFiE6Duu<1oq8tlrsrmSaNbRJ?Ow=&rR}YSPs*; zb~!B<(;6@0V=<^&D&i7lvBbCPe}$4UszJ$f#1@4&HmxMk^Tx}{e7Sh^e)ZaXeC@9H zy*n5>$`a{1mM#a*JAD9twE|kxOy==IKz3TDWc~p;Ox$V2cp@Y@)qJsu@$j)1>~l?{ zLVTpIc1(kE>x4H#>iDWklj$nl~_8D z7woxjcBtuk^wD+rFgKa#&Rl^s$!`K7N4WUhaR<(s=VwAqER5Q;cVAn&EAbTlalqv*wHD{g&SUwo>>y+C$B7aRsFu;<&ZDa5i zaDlq-IQ&S{O^Ay3v%O7hM`5@2iBfFkt&Q#@Z(Bu9Q@=xFo*aYsfUQv5eRorzawVnC z&gvlVj%paa`n(uObKT%(>jsf2{VxkpyUJah5V!yp3h1LA<+@PIEAAnvivh zg9jlD5;K+7oxOik-_#_g&fBZX_V%T{ZxcZw<5Jtb=`$Vw;QPZ^^MENvy26S~oPF`~ zp3UCaWh{zx?LDDdcF_xyP(Tk0_863;3m>)|s zn<>#v-xJ>rFdndQ$2sXXzm>dcmn$uw%~C-2K|A{dF_$^fYpvaT=27DHf&=uD!iIVO zXG9@~Z@rb@w6c~f?j7uxOFSN9-;uON?yy$CG}AZv9+JM%k{102&6tDpza3XPc5lL7 zWEia%?BAhM4h}{=3Q4`C6s_}UkrkhKl`B!8rury$wl4ZTt}k80WoOA=+*-^U?S#u@ zQ%Xs-td}({YpKG_CkZ08s!>gni9)%}3+{LqCDgl{rgN28;wPwg0nu>EJ9r?=;U|`- zK-9zHYhut4`A~YoBAmq>7|h5jt% ztGvp3e(=JFAk7>y!Lj}FzCmttK-$x}6;+H*NjHjIto|i%f*}l0^pVf`-Pm6dGj-2qg|=Wh6RNs%p=_n(ZITY(Z}JCERrGy)opsBVz&=22{duvsv>A6Vbx&0!*8%_Rub{U&JoxLQ9|YU4zvH$euKTVA zT}H4{);h#^x}5kj?_G7Tgc+%Z=_zCzQ(Px7YlE#~@Yz!8{ zv{+8#o)YfeYb@OXku2}^&(WC5N(+(uD$&o<1uWbQ=QKy~nL6dh0E&7F4mI+;cP7wz zjzZV@-p9^z8$y-kZ@QfpX8_3c2$hTA;zvDdkDy z^d1HiRP!(V4?cTyRLY7)y(Q*-&{XM!~4mns@mhQWs_WJ z)4rb0U=_-{iH>wycm$F~p^46ZqawUprF7k}LjvV={{ysW+B$LAjuWjU=;s z^1H@OS*LvixWj%jBdkX4&nE109Iw9l`=P`^QH+DvGw?HMGg-`kgIbi<#b1AJxIF%i zVWzrj+om)_P(mO9x!AQ930;i#7+@NIQHY|c z7$!Rh0-2*OP<;$e{FL&SCv5S4rHtxu z%u(&Qi*bsa{tuQ6W|y8zuKEj67xAq*L0)e5cYIRgiw2S7cTLLtA0|4fVg#5K;pqhN5#Magk zfFeSl0$54-F1NX(hOn!t*E8dC(m=i#CK--o6>zU&>4`@6C}cL;!zCN&^QnH+5!eVp z-6(PvPWSD?pq*u4BN+Ow8fRg$_TL}V0G0~B7-)4c4&8=CK+Gfo;AhO{8{W4^{k6v} z(R&^cITlGo>BSTbx-sjvbtD!tyV$>b099&Od5QJXh0sHnkZ(5+F$7>Hfq>=C#owx_S<)c|LpElCU@76|;5$x`Osxeq*PC(S3T@ zsyMS8Npx_A%#wk1L~BWjP_WtBuf-S}=BDis2`ddJRD^`_e~_Oxf7gre?ZS5ZiEczg zCP4yLH$K>^K9!>vOCkcLMm*a!A+0Um7~O8W%ZRbJPuD@-)Bv3JrYOs<`&oFa5j z(Yl*i|DAsQ49eo@uJ|He_oG-yT_y%ed|-QEnw~t#DZYXltvp7k9tFkGci_`je~IWYX&bY(0_r*Q2ATeS+%PcWGvvfUZgP;vXyvjW_E-@g)a}&8`G~k| zDuCcEXPp&WW&wCX50WH3#!If z)5-Ie7Db5uv3!lkJs`Dvq2KQT@Tt*1)#&1T^x0Bs4%BAs9WXPyHPCw88>^uX&K=&C zvKPO=1A?{Vvy13AY)`YYvqo>w72Qhm=6 z%xW@Ed9_fx^q4G$dl={&aYx~I1CC)%It6r*;$9wOpMl(w$fhxL{wbv#3r3=!9r@7%BeEl&=-y>casu-32iiQ-dd@j7uLf@> z#Wt%S-c_zpiGH4k?zy2reGU*niaT%mP(RsBVKUoMenfUVvY#w|8~G|oDa>``?ANLC zW7UU0KD=c-->s>|kgBHo+=!zbv8Go;kbkC@;H4HNu%~vSy7~W6_TAxBzyJS2Mig2| zMpnZLk$osLA{zF{OjfezAq}$k$jC}1WN!z_$T%pDeabpyoQ#8WobkQS`<;4!uIu;D zugi7y*STN!eBRITxF3&0(Hc|43vUCbjYVcu36moJFZ)@yUw_n4IK(1dpMX}LyfZzn zAsu+}h&Y+j@~O~;L1oxQ&5dFz)p$*6z&gh}iqB03n&u;^7oK!+%0E6SX zlSh7-pBzX7uY)ht-LD*1c6p!&lq@v7y`{62f-YIO)^dpHbLf}exug<4?tFRyyq#0` z_m_KMzAev8*ShdH^b4y06|Kpn#^pZ~CotZ~@V%~7_-HG1*D1l--T5<*ba$VHSrb;Ptp@*=k7C@Y{Vabmm0nL{Xzi@f>P&^gXHU=Mh|6 zeOa+o;ylqylnl@wA~}Kalp8Vjn3EQ9ut@x~(WjFlR<;+Kb5A3BmYn2_dmre{dQ54b z=N?&!mcEoS*DtXW5RI#;Y}r`E8RRN`;@(i)`+2_30~M;S@i~Wymy7-`e!p^r*`<=I zZok;Pe1(`5!F@VTdT*}1#dj4&_0iLsefWum=11Ef zi_>pqIaPRRj-H{WSJKp+-Cq8BK}_t$Q&E1+a=;B~Pk_WA3F|(-DkLTFT?-yue(B+ z--qyOg(SMkY9h2KNRfBAFQVsTbY4yQZq%`|cr%uit=uTumrK<*zs0g?rGFgNuEsHj z;@yV5Y!<>^oZ)=M4SC|5;)0}NIpVuf23d;krJ2tSa%B!{u(j^>3CPp9?-ULVs4-8R3M?li9FW)($r?N&b!X#j?z=llku)Rv&%kC zzjW>%?Kt{rV%G4hT)y@TPtR_K*_3!}-4^%m$;ZJ9mQ3eZ0AYZJyL-83f9piGlfYC6 zpbJycq)@H7>v)Vw;a7;~w~$L0FSeBhV}zV1sktIR?(kizT+*# zEmy7mLX*j)?(yK^M+vUyZZ!HeZU1n8i#0sedgZ-C%oOXaSNe6zc@K#ooM$*-WI7|( z^ox>AqYl{5zMyDNojTR9aKiwwwJ=;_W1Q81;8<>GYcDvYM^ek4@tpPrjQY8m_v7&R zK(dKw^t9?r6K9k2yfD?UkYYNRufgO8i%U%f(5=okt(s&<$Ny}i@NnCps1y|ep7O~kaScOg@@!yI>^qt`G({UJSpL3&;yI-Fv3ZAm$td$UH&Z&vRG zr|oc-gk@CY70nt~qiN=z=fE!Bj~5##QOg6?|IIo24<^+|q@<*d=f%Neoy(pa<&fq{ z*UeVA$f^07|5tog*3lxs0)Fo5Ro0(?#F6>OBeonUQT7gCuav^)0%8sBIswx;nT7fJ zR;_Ci|Fire(I2|p3C-gx=QClK+s~I$@=U0AB;41T(s`X$*6XCthv9Xe%TC!C+}Noa z%H@r@+L4-vv17q2cv0lSb)V;&6k(b5>>HR4<*?3pmxM!aOrpEgn;VjJLGp|J4v*GUrJTP<5g>;7fu4`RZ z3)~rZIPU%A$g^vg?d`- z>+;B5>>AXX#AVDiq`8+FWtQ@a&tX1pe82P_!?~OALwf-StiNaQ$?Bsj&CqVf^Ghp5 zxtkJ{n$HvP%uhK%jiHFqZ0aiFY`0D&kKFuWDbHd4@l7&k4KpBEWcS}$jeroA^(sUn zJsVn|9A-#p$clR^^Q4U@iCV7@js{HT?%PZHZ-L~@(by|X0~ueymK&$1HqM=4dfz^4oA;wCW%Ok2I6m~?xR5Y|%zC$Y2r8G|^K7zhZVX>SGLw%dOF z_>@~(znDS8DQ6M5p%#cKw)`B$F8K=qBcA&2mQ7sZmIP()gB2b zb~>l-3GXZrUyGw#j$?`Z{OHrstFJ$NU<}w zX-vOr{<_|f_!c;^fFFzDhGk-0c;Mnq2`GIO^MBv9>09?c4-aJZ`oQoiUGYt1W) z@OAfm2oMd`Vi|(r_pb+PC;%ArDBtImnmkKzUNZn zJouWpl%M}HwYbo`($?v=+ge*Hq6#ct-VRznJWu-El$->2F{|eb*Hbp5nEj^9Kz_ic zD=@om7h6@tsdT1W)+9H1$Fp6Dqn{&NLx|8hvdp6Hs1-29&z(W2mAUO}3Xb{o4bRi|AJoq*iW zqd)0EDWPCu^qhry=*7K((et=BzMguV`7Hw~@U09FogX+$Pu17w%qxEdFI?`fbA4c% z8U0lLJrN6ooBNv5Cp}kg3HH-y@*=cj-`fNTzwl@p zo3@c>bcdTXlc+`beRFe?Z(ZPrIh~IYyGeP5gexOu{7RE{In#$FQ)}){`*7d;U=*qr zd0M5V%(#*UFtN%9Dsk(Swcsvg2kjVZezf_Lbg_;^+%I>Xmebs`X$?6f6O5P19RB(> z7u+p}vwDGvd<~u@ZqjTye|>W_vonTs^1ClEIVS(HgS@=fw9F$P$aAO%B+y}vs}y-^ zSIn)szP7hZb1B$oI;gOrIOy3dGyP`-e+JwxZy}zWs5yEg##>f}KIMCRCPhZ_kU#*De4_qz4jFyr!d5fUR|JSr7WM3`$rzP7IL?!d(Fu{DW#HdX57n6_wK3-w9>_?VqBt}AVL z(ZV=x_z;@i?vSLP>xclgs&`V(<7|1-a{xB$s-KB=&f$zwc9 zHr5VvQU;d>UyR6g220nJH%FD9*KNn-yMw7MY(WU64&#d%4E(FM@h_fd0VR}Uec6hp z4WT?&uNqo}bq@@vgPX%0L>99^t3%!1Uhw$!|CzvYBeI)!3u#BZ=F~VrsqPnbC!)o^ z$0sO6W*?!tUFTk^J0M*e@i1EbXIB(1_~w@aYXT_FS04c(N zB&cyDevMMISEU0fNx2miyVGOWIh6AJMsKKSx+IY+ojZNSmusk{UM<+E{}@l%?}XSd zy0qOAs3{4Fwp@i!3Jy4F57z6v{_Nnz{+$o{v`#6u2qP<_QDw2&*ky=yUl-YgZwY%0 zR2-z!Oq>u6Tc)G15)yh>tmX(0iy1@e_%Sn_=o7D@eP{VIXa zL|Asn!=<*vflmUriOa_lM6r;I9s>t73-X`>0>~*U&7i5syps}^(}(z}P{$wl-1}k# zk5Jc+-I{!iJbj{RCbk>G3qv)h;^%a+)%WB>eh>cRngZOKK)8togResnkMXc`^`~t4 z39Bg9NY$Gqrpb;=`8a;4szdot+w_p4R@`3wlK}s-_8S`;`VULcMx+`d$)9B1NFgz& z?tq_8d6hF1=+}YalXx7E2&n6u^lDsE`oJ6fr(4|fpa+n@8qt$6b9F~}(8izz7!o!n z98%!H-oYML;#bC|87-nEsyHDewVsYbJZSvZjgE(GHq`BYMP+RQt@YnSu+nfUF(MZo zTuHNmg%lO8TANkJ9xKJ#O(tN1q7m8k?!hzX%lh%`yI=5vXtbLBylQfh@0!LjrP7Pz84+mprX4oD8J~V=hhl7<0|~wFU5g(zVYm6W z_(wr8w&AN#8cjP>OFn~@&<+1Xwxx+i86qC+V_&=BkF7TH%|%jJ5}`jW=egra;oJ*n z^cJ~&x-J&yDcdvFW@o5Rr+&6f6n2<5-^Rg$R}U}TYnpjpuUGaG2s39 zqX-p+yut+d7h{hcRG_+gqDaYji#3*impWKqM z(zsYihcvI^wVcigWn+lt7d{O}d*R(x@nvn(b=V^JMwr5S2GV2_@Iw7wQP9%6>J~q; z9aAS+x8Uf~*ke7}H~dUZE_%tT+s^Y;jyx7FN#{bq(epmoa!xqS?;o<+oLoVpdyz|) zneOY}hvvagHv`YISuGDXuV=HW#^weizFg;L_}13`@kHTtPOL-IPTh_-;J4ZQDa!Nv z=VOQGUC2vcyU$v-MsfV=%Q;-&Q8NxvJ&izb_HwT;3k@xw>!k#zJs92Bjke~xf^c{# z)b5OSN%fx+jENH{D@~TbU=UCOg^B|+D*jdjZ*JY5>SdaQ4^W+3h}t(pBUCK?19zd? z#CTL`IwFk^M#$KLZw0=iIIu+?1N;B9Vbcg@*_}cj;-@)twaia9(2#G>>?MyPZIWqD zN36kIx?FmW&64c849WtV`yV^(D)+|@`;vx_@d&tHL7;i}9EDHh^!h2Tr=n7Qg97== zg3iOH|1ESbc>SJ&Ul0puswFH3W=Zj`xAMWm8DEzI+phxWIjAx>7&BY&;iw8Va-kEF z2Av`k+_?N9xB)Wiz;*->gGttv6bWGiYdR91!jt(?P6mFe7J$kl(KJ6Q&36$Jd>J+) z0Ndpvv0wfD%@E9P?V{VZ*q37Y5QUV`!n>v>m-G~AEK*S8Q8Kk9@DA({eotX*(j442 ze`;lYvS5N_!DSskJ{cQQ|IHUNS4j+vrvCshlbzjHxXK~o*U!$5{F0+h)VN~jnhHIu zabP73wRzCyWFt8QV=FtUte*LGv`siV<@5=TjcLr>Hrt)pd)m>kfGJWj{tT9HGawTT z71TMi4@!NjZ>v*g0uHQ6=HK0KjT!U(eqbIY2ateo&dIJ6UK*jIXnhSq{Zpcx3zfu%XPN8n z>dir!^G`(_GZTsVr_3pK!>rPrLUyiNBv&d%GB}DIwOa_voKGaT z<}48Ppv>9Q?PfV2+xTyp^G_E*nKNd$?Drs8l}%dIt&B}TnNwOoqsr)U9%{lh0wlq*_(hLa9CzK?WXP<~p;X>6ew5(-VHF3v7 zfrGN1h3(4PbSm*aDBoF4`eh&3X7@4zr?P}Xh6rlQ=!w6x)8l$UagPe8^&F~cs+xZ3mxr?Y)q0&;uw4g?H>S`+NrX$%m~L5!$DJ`vF!Qf6d^jZu zFB|fH7mwtF&U?9|i{SDLmW?5QW^dG_oJbtSPZK|5Zyd6nPMCM(oDbyctr1w+KU1dY zF^6x`vv`G-Tu;V2=+q#Ek;iy`|I}F?UKu6+l6+Xv+hRY9$*0b(%0T^T%-KM*+Z9qL zkkP(t;@M5;3{rRimphz@++B0UmQ+i09v}=p0;yax4yGnI@}*)=n#E9do1HJeV!9~t zu_!)gp|zA-#6*}+kn{}(Tr841;evQ}A7nia(s`kJ^uRL8$IM*-EQ#5_-As>KiiC;B zy3z2J;RlZ5V=c~lo8bZdX{+q0OzmDf`(S%jVmE%FD`@H*X=L-@0B_Iqa*$m_U~_n# zTv?TQd1zByk{CJNfm<%ppIp?UbLqUN86x;R$tXi2C*G$RZ+PQi7A`>lnS)&v_%S&5 zQW+P!D!hPu?jTiKKfo#eHe)j17BJW~IRDFF*N2xOHP}y``yV)o_cs%80GQ>EzY(2C%eBtYEUXS64~KAcp0#Bp0Bt+p4KD`1u%6*s0hTFBq9fDwgITd(fLU@?5`n!r0}`3!_M6 zDlnijb5m=S-Sz9#$HN+8oCf)na71hMk4?`Ghg25RBD2yJ(@ayFVZ|{$_Fz-;gg4S%><4+&;%9oOPeo1}uM=e+N=PFwnSGtp}!Y#bRJZX(O0(yRgfL zR6Eb@x1Pan)3P~PCQDL)rye=jhnG=J1acdYoqbk6ct5A|idqM6B%d?70|^butIu9~(UXhRTf`YJhnP-xXVMAc#K6>6F;0&qT}x z`vpfJx~^_c_-sy^Z#k9N0jSu)=^@R52o#C;HU zYugeCS!Bm=6L^iWc2qf{e1&u#rVbbtxlr6bJ!RGY)O})oBpbA7 z$V%OSbPS|1;OKpuyK4G(WL+{71Z|xK%U5)g<3IJ?vVU%MuCI^#X(zUmF@5tL^*G5O!)|BcNuV%pdW*a%RS&d2cq-r2cUsSQ(@v&}(}+XY_lkga2xp zdFW26#b5eJCfJR^KdUc&Ovw{^l|DT}l}Njh9oeUMJ|7d&=Mk|x^hDz4i)sVN&9C=c z(qap>Q-5Z93=9ovaF@get=a%8>ETRSkE!zAnSkQlTooWxFa(rXiUG9Zf$11vE+^~j z2F;$xd4$dZRQJb}_N@9rdMRM7I@KE)Zn-w*l3Dgu>h_vFVwO0#=re;OTZ=+=x$q4{9mcrVq$|J}}{8)O85Z~}s4cb%My zff8UL6WBTr0XzD|qRhM(T>hFtK|vFOe@C7sh5AuN)D7|wy@K(eRlX)kC;$2zhwslq zt5qulkEa&b1gfa2rTV>K%{Qzc;^r=HoFftC_Y<~M|wU} zSOop~%+~`0x>uhQ<2svnXNp7TfSA;6dePM%>yll7YW(h({8*)j=n)bTO?vqC%}voh z_l?i2PCzKS0r#^Q)6O7vL0eBRmYkCfS`e}v0_5%0z8ltu#tu>?6cnbdcY+D8Fr>5C z$cmbfc=op{` z8$Z$*6vCb6E>Zv`%W+h=6-wsA^_Ukk z@PMvUgx@SFAkIkH-+C5GpH5Fb)4}Tz+xI=v{;ah4iC4IILkMQ)EBk!|iRydEXUCq? z2F`IH2lLb-?|cFJ$GJfF?H&Z%qvtu}hgu%I&U6=OMBG?Hp6+z%-E?gM_ty#=4Rzxyf`e0T+>@u`jT^7`TSYo|-*Mjha3Hm5B z?pp3^VTYWc8sc6TMS_i>ouf`9vH7_7m*fuTluJd=A&THkXL4Z@2Z{m6z)quQ#lSB98KN|2=r1U-_FW z$PXk`w`J1FW1Id9Xi(mWtrr?2ruy`(zxz&ok>2QZ!R7 zgX=3+f##@5g>A&*KvuD^3Ui%uH;^a&(GY6uRbMyzQpk49Npwu#I^fjq0FbybK$w4Q zAN`PGTxnnbsPA1-_Rp3VZUD<+^3h6V(M(QWzWULRYYPWSAqol}#_P32s6^ggz>zl>i)Gv{2^y( z>jIN-n^6GJg5_zQ9HnWm$_qmad`^ugSp%1rmg3xiJh?Zg5>QdeEg1*$kzQNe zCta>i0}b&rlJ-$G_Ol%kh3%s2lkTQBUwx2rtREiL&_YPX!%#yq7;^JZ~ zl4=&$u?r^hlD79P-btXj;{_zK-kP-hdM5S&mE|*PRaH}SsrUI&j-&&J1}xq#B!yPx zRs{L*^ujIYkA)O0s!6{)?k}dNvsuW~6>;&$i!=vQ7>lg5L*k( zDQ`n0FmqA3`1$RT8$pwtly~Q9f|u9VQ_uy8y2C*Iu^=~tdek5WIH;Nbn*6fE>nMsrP{R znaoTLXE14*d1VPbS6O&vW;$f8Zhu zINH&Q2j0AS^ULNJp|S_9z(?pUTY(tf2a+KYo8XddExrX`Vg{Pdx?!N&8KQB-0>$1~d0Edmmr z_!&MFe3ce(Tx=o1{u`LV@)C5=)HRWBWx;z?`RdUIDbJtNEMQu8oAr$S{r#_eA2GDN zn*zj6gksIT#|tk7MBM#rb3!h>ymMgpbxN-IfUD;h&0@@$(3w{Ow>_S+uj%o+8F*h) z+gcs{$=Y0?lk?8-Hl~<^vdyWi`5rD%x8~~$DWDT}^evDMv8#RF^GWHiaeiIX&h35{ zL}*_|;5o2vZVGxGiNd97QGNAU{>yO2DUMevhiepH-YiSw`(^T><4v&h!$ON7ADEwD z=`)-Pa~h=MVaQQCBl5Ob$sys3D#!w9RDw4%3WR}-!IwEp5-#=c%zew|q3gf}*!@KH zSf*`hl~RPW_={=v&D+u}zsyiMsdMA=dh*42u5{BVsYjnFH20al+Y+!| zukqPh|9UwP{VW0g;oq-5)H~Y+Zc<9j7E0{6EJ%oI;dOcJZ>?Vri|McLP_RKJ+k2kU zYTgR+p55`g4H1W*dRX6LzNGOiokv|;J2DW48!6icWo5^=Kw(_kWv0ovrKUz2dram# z1(pmC0nk{z>+V1s^moJpzN~z+g2d+^iXq+j2DZnAS}M)?W4EWYUv~(G=0)u<95q@b zb~F_|nBlMm%u|HH0MXJB95{S<@p}wPn0I;?dq1;Uez9FW(TRQp z@4Qey0azxrth7`YxT1+}!v$J$*!jeT05D!ppo03ovC-6Y3*0L|87%jn{GIf{!vzNa zT=#Ixq{%}aEf@MU^Y{x-i0TeyaxlLdy%^)CbY+*uemI^ptp4i2Tgxlx^#CzMY@VhH z^92rki9Qj;GcJkwwY7$$dmD3JKi?Hy>IIGx-#;;fsatcQ0l4Zt$L_ya2GZ8|QqX}Y zc>($6Ky(1oV{&j0IIg8($K*5t{sXhS`uJQT(H#?utwvZJFqs3-bmA0s=;Zk8MPSV> zAr~c~EU70bv~EfWNQvnX;xs#7(BE`Q>ek_xg6)TKF{eB6HRIIKGney&+rBX&dohXp z?6wrth8BK>Ky$Cj6u zW)4dQ6ILvRde6N$n+Ffxsk~H}o7?8a(^C;l@aOdUrcVy4fL@(fC%eM~Aolyv)phjd z)#-vOH~+3Og=5C(3@%_{CH4XzG#=auI``W7w-bay>rbb(M;v{UrX^p4iNIb69lzZ* zT5A*DSJ$s7WooH^^4*Ows@^fjqAX8@xletGRRw;In>0A?kW(@`dT*^^rBpP@eLh~} zCx|h=E%v`kE^KK5{gv=DS0~3-1~b9?E`(WD*kGcb(sF0~n`Pz+h33@1ch$$6w0~ks zZ1aa>JQ89z2u^Pv!Ny+s{+wpjih;uV;Mdfff0=`z(gZ?Bc|!fIbRg)1&$-Bm6X)NX z0ZH3I5D-r7NTAzY4sEqkF)bzL;0qofL@@3NdIQ@b%cqDNy4GZMng$#B_E`dR^v;I9DgHC-d>_w@c- zH{jd*<2Sm@Y2(@^!0Fzu%pvr7F#_e`Od1j{uC4n+AgvX2Y?Ztri(w9Nmw z0l+JPQgj@fsF5sJvnf-&;VhVJ&nW%nMwf4izO|&gDeQ7LPNn2qY+kohR~V=FSnf|L zvg=27uh*BDo-p!i{%Gey?$7Lgo0(a!@w|BQ$d|dK+qy&Cq&a zh?@RG4k(|0Jt*v77Fh~+<);!$p*gg z_sRmrm@lL7c-XCaPURyrtu=z%2A3ofy}X(T&ek4oOXvv6r#LNj!pD0*U)*2HQUUR_ zMKE@OwB!!v$BEf&FCRi(;k{;}2xM~`ezh}TKw543*_8o>EuAbV5!(R1eg$CY01zGa zRTh<*-`T0YU{~wv=;ZXZq;}>#h?bY&P+}!WSB#8|6atl(6>|7U7T-l2vL$;Z3+`?4 z$ITGTq(-wK%*ds-ek6>Ppe;IdYuX3EsslX7?NTrPz1+bOs32O5ldq~8Z=#454Yl-L z>jAYlYFcsS(3?YMwYw9lkwJpuQWZaoEC?)u7jJt2P2oHu^tDhA`Q!oocQFp+0at4r z>vtxcFl%m5(=NdK`$i{yR?d@gwNZpH zYuX`T#w0MO;l1=B9gEq6+)=3y==(cnL!B1qRPArYXNIomS`W~gzT-~AmA~Uo-;V^j z6gtY9kay;#VVxj#0`&U|dJ@k&txwfAtkq0jxuXXmRL#nyxRo{U9RIW3LUwEZzY;c5 z2FSvX3H&S%zh(!lzdJ-QZNh_7`zTB8`JP+5%c;cb=3C%mBRBv09)UZ+hl1tii7t0M z%p-s+>8bKvN>!FTO-hR73x^WIDOe62zmSwjVg5Z%Rhj=Vvu1%ZkFpBgIrLipzR@p9 z(HWmPg=}oFk>T_z-d>tv(TyhlpKdSVX1Qy@dof~TBEJ1Fk1p*w$iCHgrMFLp+I;KH zZspEC34Qn`HAk{PweOL_yE{nLcywl@FD-LaRFu&YfiSJBr?&>1n4YfQ-w$B8sjF)e z5YYJfuci4;mo{1kya>zJ#JoM0%fkbQRidpZb%`m|R63Y*-Gs*r?H-SQ8esB}g~$c% z$qSnt(dtBAb$aYE&i*4I($dnatE)P(Ui9N#T`yeR+$LvcvZX33Dy*T9Ka)-|P#-v5 zf0ulTv6jIu+@auY(@Ipa_m7D-v*5ZWb5RWGFzjH!k36iYuXp_P>65pw?}Prn z{{HdR)enEix3}NZNhLz|lwrz*XQ?~S7?i6XetzMA=zeXG9+${x<7qA6Xd|)L5OrP1 zUZO|rFjh%MuSoc=#Lxm_#p`<0`;qs+Co`556BDbcth6aEE|!**w26$2tZ8X+?ds~< z!D1czJ$-yk3k}5oj(Dj1Dwh?ZSqgjjr*padq{w;f9`p1?zzU6 zmYQeJo?X+R1kYK7knHobv+cn57e1(2fG=cvV8t&(=W+5_-Iv$!dOj3G%4O#!bZOF_ zxfJ9T@~@c>mL<|J!f2WDMX`mi-TKSAl5+U9h!T`xVPW2$p0++dJ~d5E&IAG><;}Z` zAcYzo8#~$77ODt=OpcDGRK*@ZCxF|~v=@fiJw4C*0T$Qt5>1i!!(e=PP(;Jl`W@q- z?Qx~F4~x%F3F+b((b{2n=sfYkR`V`Sf>QeOWvk>HpSifWRxy|nE^h9vEJd(JBM++s zi{grk&IbepRQC32o0^zZ#Katn{EwURxZYVSp~{(@&6~xrLM~El49DMlU-x?J`JI-6 z$527`hGwn2WJwi>2@nEHU!*-T3e}W-gGYMOG9RArYTMq~nds_FpRO;;0+MX}pQ?k%ha|9Q^7~5YnORxR# z=YOx`qij?q#b*4!FHs|>DK#5Xw9LfEGY~H$zR4uaztadP?3D5djIPlp*LZCDW9RO+ ztS6Ba4%;5wLsg?M3A;>-0EkxVbA)Flo}X!jA2r8fGZ6`MQrPW_-tf!9J1@fP?k!rD zj|Era*G?$^-a_9SN9rVh(I_8sG}x+_Ox-lRY7GGTF3Dfe-(E4Ll3VTV|~P6e-JJ#Fs5}WLuh48L0~s zbD`%+QTRD*VMm|@sp&eA4U~3!4>qz4ys}TWmzFGpfX0ZG0xaKy-n27ih{B;^>xv-R z?D=q~exub>Hl+ZE1aNEuP+=@~fy<}cka#c*b0DD;N}fSb(&)|rU?RHi2s;je>l#s6 z8xO={Aj|b{?Nl5BcVG)S+P4>lHeHj;sDG!0TICmF#nr*9^Llb&CHPQ*y5xdcjHqA6 zhDkJBp(`fsPX8PkhZNgz_Mk|K+S}`^yB=I31r7h*fnV1F4vDz$u;~MENVw{|6!b3j z-KQc0-U1ww*4ZJ0o`8i9^|9iX@k4n-n}c&msZH2tCsYEG3;hoc2~=t24~DX`QalDF znSrP5yuIf^)ksFYKx65X5yyp<6>Y!ysGg{W48_xgZz(HfSckxKUFJY$OP6B&H=L-| z{cPbV?%nUbgk2Z0vY#5Z>sWDdEc~`0&dYZ`y(GoMv449HkB`KQ0y>BB-=C!b(p4k^ z6?UHxDbxvyyrmfaI8?#xkWHJUApUZyQ$K6b%f1CnncWXP!+Fb%`ndrtc#eMXj(*TY zh$&}+1m1Ha|533Z`r7UdE3*R}l2KQxUAsW1rF)iSsj21sZns-6s?!``n8LZ|4j@pO z6#smB62OpromrLJtGQG*vjlrTO~hOj->@^AL8gEHCYi#+Jx z>-XqLchNsPXIE?n&~=M_8x{O=yiVGTYruES5il|6!Qr)RrZz*0C}x|kNW5ez0VDbU zgdwfLph_hFN~rkE#gM)SZ~E%K2kIX;hNYd>$lo^Vj)EbyAQ)dXw>Ggp%0+B5w%ZNj zLG&{JQ(|ng8}Ne>cHt;!Kt9yHIe;N8<3w~M;_M0Z2wh7GuO^&+Vd(ru;kP=VvxPeA z-zVQSB?Q@?IYt^8-xtmSUhB3arIJ zjOE=g3+7n*9~9DlZHV9djol~&Zcg^}#~IjS)UJoKw8^HVp=}cxg;e|C3qZO8fT`&3 zt|lofHU2w0de4eS}qflo%KAFEO=zLYJ&@}b;|K-qS= zne}%IV=TZzTahg^z$SL?0sC5WZ_yu}k@k&+!C&;XD8q{Qn~r&Srp6U}_4!=^sOauj z>}e5Dzy)}y-%VHX$e|Ew%?KXmr+1FOKgp7C#DJGVfR~=mfS;F#p6=wWLoaXKedzOMcVHwC zjow_C++veQ5}{F5Yg3XQ=;lUuc=kvhmHSz3t#z1W3zzsEmU2Ui4a#6YmE&p2$FcCx zs1#U4?@!#?lEgoAb#*mE0-v%zhmVi1qOR`3i4!MEVWSAd;iF7Uja{|1wUU#t z*x1;|ets8Eqfn^hYVofDENY%O9Vl|DfonU%Gf3y=&7RiQ5HoZ0h*L3&?Ooc819N?) zY8BC9r5;z5l-38v$HwBU;|SGCgzB4>m6fH?dxnOECtLT69M7(KB>j1Ib_E-@kG|M( zbj~{uowY4{~*kwcK3-$XD1qII)l`{I}F_Rx-e1T2h zS``LXO$ze55SFMNS(WFz2BmAqU!TgUf*NQ(x!eRj(>bK15pgge@C@r(BvS#I&kn#W zpD7+vZFzmJ@6HevN9?&R0a}y>Gga>^YKuk2ny_(cHp$J|xubI-cam=7q2-ixn%_o8 zZv+I$a}AG<3YL_Vth+_z=ktvtk*v6J45oTNgMMUi@Vm4QSdzlZN=ZMyz2e1O*AH&4 zt_?@?tg|vRyFY(^X8U=3Je?oJ=60^Gy7u<=1r-$rU+4$sK9s6mat(CPI)RWbY$FnT z-1!e)n%qEr+EHQFd`RYvu0>h0olw5DYOWe(r_oe%Bna$p&a?)sFB9WA?IWNaK?S}Llwy1ssduu3Fa90zIf;o;#~ zT-}>D>Z7Bhwhj&&>KYmXjWRWN@7@K^jrc%0V|Z#xc!37xeh-m%v@2C+r{izmc=sqy z?;^jxbnAzOuhH`aYaL%O=f6YWRv|z{AHp+=iz;wWwt0vXS*xCH*wl@G?3>;C8mIPU z;qma~q!7qXm0fY9>mHLfeL&{*opP@cenvv}@<#Q5O@GKpu#k6Dq)gYx(}#u;?AH^%=d_IC zWpvLN&T$l6Zt-?=bF)qzk)rfyA5hX*L;V;ll5hFAj<5`5|vMY z3h$FF{=B>ye-ZFf|0Mk`@^-Xa4~&k8Hf-gmga{q(&D&eJ`TcC$2lhQvYRL6EE@wn+ zPM9>qp#2_UAF^tG=mn)dGuLhyPVL>1ca*1+3~~#u>GSeyT~IsnRM~)@UjLGs7V|P| zrrYHu@2`obb^As>{e3N2S0yEvTqG@_YuLSOXCvOmK+|*tu>hVuEZ?f*kEfJ6c_jX` z^||7a8?LplD#nF5kG)7eT!}<)IR~WneinN@w&rcYcRF(DaXr6?)wk>QW`eO@*X=9Q z7u=z|@vnPqH`BA-tdw$Y%bb0qTf|p&Ew{DG;GL@SrQ}(7zkOoxiL`yol6yUTy^+!t(EAglA6`$Ix^R1#8d~oH$@rdxg2Uo0vm2!#<>nzHIubw^j z>~w6G%2#K{*t8|@#*>UR;~I6}%lw-Mh+jYXH^1?eI|^;5d2HD@eeeBYBdUgJ^e%VJ zn6vax@2dl_kL64L^=3=#VQtELV+cvm<6myIuUyaS72O_e{iGtekc&U;T$3C~$4beZ(w#CMfzh zTg-4D>qzY3w|!09r6HPn-B2K9YoBoE-JN+WKNymM8}1`>_KxuBUQ>TE~j3+nVz0bt$!WHrBznQ^*O`ctx2*m zfUD=rdemAkVxWcgN^RP!z8-O#PBt%lGu4?1ntsP&tBqsI(8@B2mZ?|YZe&=h-Jh8b z-d~&2vr#i$)>90N-1TZF!trd<&PF@yZ4*ta6}`T$>6(Fy{A;gH=$DdHS{hDK+mE-c>%^F)|+2rN9r!Ld#0TNAG`iqa4aWv#ee6Q}^K7J!v)vIYIXjBsFV;0L4Ppi?GM+98ZHS*g1x(w9_ILPO>1D59iq@&l~OHFf!XK^K< z6uzI`V&cDC=z$Va_JXI4W;;1TWoefn0}HYZz&Md6HeYvKEBi62YfN(Q|D zWy3_=0_cV3m?(>z@rw+R9Eyf$zJ~>W4)B1axFx=waaOM=wd4N0^Nt^Y{h{0 z3OiHp^UwfRCHK&<^bp;argKG)pwt)@Ltlh7f4_cb2qC7vD-9HNO4YB>jPhcv0W-S( z$?_-O!=+z!<@$Oo{hUyYS2~9q(~Q{wFB$hu_}zy|pgN@|G~*+Fn7x<-C4AZ4C)Yo}L>u zb?eW&#PjR>T}C=NI&DB}Al?x((;UF@y1(f0WeQDzO2qm#UGxuQM#!1ed*A=w$3M4 zI9TuDkRN3I`IO<6V236iCRL*W8)p@p0SCG)uFg=u?y=J9Q4_iawiVkIb}G&`v*xV< z`N|bGjm|__70b&5@~a=OOS>^&5z2KhmqAqJ(M=J832%$m@Fk~i`I7lHWc}M=h1W4<*oUa-&yn;UtfQ5j1Ch{`e0cKpP1J& zj$}J|QIYY9P~O66Q|J4A4js;_OVL+nWKLLYwC+9#K9@b4rFVpS=M0mJRi^aRqwDhD zL#P=4kE^o|i?Vs&J|Hd9B_fT40s_)0f^;L&OGqdpEzKgJbO{P5C5@5_2oj4(gOo^j zEmF&})KdG-`snj}zVBapczDOoJ#)=9Gw1a=-5Kyb(>IE*`YpY!>^F5~ zIJ zhfR#sHV~l1V*Nssa5_Zz1}kK<(?uI;teL|Xo^dEqB6FF*=~rspPoNNtq`L5H)#O9z z#nG?>FR~l&*EdqmvWZzXRYTl=fGO5-rol&IRr>6^C@HhLJ^h?SjDiCDK8SF;+XNb& z?O#vHLvyOA|8Fw2Iem7=Vhyp9n*A7>WQ~)nfkbFAe8F#QSHEbP=UI}*zp@Ko6a9Hd z^&*3<%Gh;ye9xPuo-y>77kMSA2_~h_8S65RBVS5OQY!2yavwj(X9_3S9ljr0O++n9 zi7(qL@HxY!VXJo6L$$G|@f+1^O12%YeVifsKr^PO=hWYc`2=YvE-XE}UeQQ>o2Nc& zKeiFAe(`oSE(Ko0WH=)ivT*ixoy%Bxrk}n)dL>n2keR?hYf#*p#fEGi97zW~=zCUa zf;r1FArGyJZBi4PM|4`G77N-jsg#5eFjx%UjDJtB@`W;_B~tP|F@aKvcZhefJ5}rn z==m-v>Pan7P60BAXpEhkRQiqt0OI+@#q!M=KT_@ zs8yjzvhUki1Mg4!+r!w>zJh zh~DRu-s3jw)o5SoL9Td^kBai&$?S#a=op#uL*?b&GV^xLcY{26S%nMg7-^~>Pf&j) z(>0IMs~_y7ULpRjLk?|ya}qX!kGG)6!OcD#s)XC&`b$@lA0R1rcLFKnM zwD~H7G1RlWEI*-Et<7wa;)}S)cWj+znUQzZSvV305yAZ$gYBrSrx&+WiQCtUNK$;jI)3m)|x3LC=LXFC6N zbR7H>btSsbd^pr8!<2?)xH9RB!(h(s*~Iok@7;6VO!cA*%IwGu146M!j<)IDCl0q? z&QngR=S>az6=D_6=}x=YFEP;z8J_@ zfWvlAxx4YqQumR{tqd#Vj5k||*>!vmK{D`$^02;@WVV3#QfTDWWHIs)e}EpZq{o=kW64l`OtUa)h%{LdLvPx%#ciH zIrdW07 z`IGik;Jn}$dB2<$6_nYG`NR^L$Zl8A6JYL5RjBd9-hA# zg5AOBR>IPf-{9S?can7Y<>@0ZSK~$me@_NcH!bS(G8PS-Ra!CT&GyU-ByoL45vALY zhF#6KXbEFVFdDvK6vg47M%fzBu=s54I#ySGN75H)=taNYYwf!B_Ob01m+B-EgqUv6 z8;}vxyB=uW)E5kBG>;&=9O@GYT9tOv;=8PBq`>0B#z2|N6n_{c|Bh_=t#aabj4ysV z!+27chQkBF4NC>c2p-5P-ojCqjY?-!OJY&(AdcL84)KpR?^;b33|x)*nLD3Wf*3w# z&!p~&X9J7N)&%V-YcfkfjXVB zx&UND0>4OSko-3>X0N86u_j3~3HUB@`$nqub2?*1-(er;9Ux@4S7NDO z2NBbP^9EKa<=n{%m1Q6IB)AdY_g#FdZ^xktjA1l`-Rr)KOi8OiSfF0+*c4jKMd^z= z`c;&D{#q%g^@8RgG|qvXG`#3h2mL}>?U_}uRG;T>SAliaVKP_>s(2 zKtf_}%9h6OjaL%rF=^Ce_D*)y`#9}q)*iAus&wC zmx}^Owu#*%WG8FciyezqDagap$o1B*X(?YYcElgLWTHnFklxw?pKR2jox8L_hmRip zPlG*U-s>5|cC8wiS{x1-ymYgz&zX}5NRLq8?=gBcOVc^*rkA5uKD=8e_L(VNHEC|V zZW?>LK8cA|{tQeRU34y32~-2JwZN(P!ca<{h0*+ugAoX1@by+D?6y5@I4_5>X z(>xq@YuuN8Ct%Od^r7_bDsk(HDr-=FbE>uZ=llfMnb5jY;jeBgL)wwXAxG2U2Q7P2 z8q#z%Va>Z7%~|Q$fxA&ZsmX4NvHA&a_-)tEhhE$ar_rhWp{vj|a+cjCW~Ko2>sIBs ziNopnsS`O|O?E3t-PtBEP5J+)ZIy9I&YG%se{2bvx#cs3v^-`FI}eOnhwDG;&21mxN1l(MA@)m{9Y-pg-^3pGXt7+XUma7J%#= z;bF23a>T>{S{O>wVQ|<0n#BbO6-lrTn-rsNxsZ)*gapUvv z8mK_2qn5t?;*9ryN4Su@cd?#6ep>SoKoZP-T$q{y4*RzQFyQR#UY|;}|6&x++Qs7% z@iVJ14_fX;kag53oF8$T6NU0pQO8qZ>QpBP@$!!b-vokkjgKQNIVsncI^sV0k({Yb zrBFX}42zIkIGlq@m|!!~WpdmK3&v{PoBX^17{p}Fhp&Ls_z3i?kA7K!yXvt|9_{q0 z2M1qkv|CBs*{1v5;xt@;rX>ziweDk|HO#LA1`;a8={T=7Pe{&Zw`b|)KSEycdPNWJ z3wW3J7X0Y>c^kglBm~L4DEh_&eOkrro^KI)b}%J`;#F}{YE;s?)6%NB7k$0F%VS_E zXtF85=Yro{E9mcOBnre=B85SDKvvtrrl;jtxn+Y^UHz}Zw>wW%=apL&y}oLi+4ANp z8^~>>ga0oXV-$ky0l=+G!qLra!`;}bOD)D((241CY!4!Kqi#O*8cXnzP58rMdai(eS8#$t7&`|&M`b^jcS8UTFw+Y{ zTOiXa)rO7bFayD#SdPn7?X2(hJfQTX-q8q?ehe1PgxLHf)4k(zG3;k=}Tnnvu6Y@TyaCM?pu{0JI9Om z&Y(axm}-OX84+xYusNqBh&?M7AIR8)JGROglanBw?nPSS)U4<~F8%CGsgx8syT~~I8*L)xkzaAbx3BG@>pn*$J;=MTNogR_{Fpr$IKE z_2RtP0822DMdI%cewS@*2jx7@DMXQ-;JZP$67P^#U7(OntlXgP?()mF81Q!}cx5ay z8Qad@N*CJqE`mklEoFhoS0dc#0em)VbxCd`*`P?tFvD+#|K*< zWaW@GXt8JLwR?{8% zwbh#RN3q{>ciiiT_8G#vhRFYsl&Y!Fofl-?xrNpyUqw@%Htvs_%R1J?kIcRasUjG# zUf&smKy8XcfrVEaBfF>rTc%nB`BjZMjC!*2`^&Q=<32a>q`|r{O+gtq5BBRbldPvf zcJ?oXNqoMKP)nr-QGnWiwlHr~-ZFTAV^Ds6^%xUK0zP4~LCdm9S{GjX{gAxpq^oW( z*i3msE(Yc5JbafSU4B|h{;>_|{kV1|0C`i1`WM_Un4-~J=*wE}jay$>FN720v&3G< zS6IrNDKnR#3IE(FX$Pc`HDDKWmXaBH`T}H=-T18+Tkn81rWV`0n}F3vFqeD*RTzEJ zKHC`<11Z4^hosp&2~-@bXn1yl53H0z>cL)U&hsvD2_)k;29kKZufzzCSZj|B&sGv1 z-eE<0>GKHI;9`EuK~V9QM549>a>*VKk}ll_VH3qoc|aKpd=tN1 z6RFmprASMx!fp-IGgp&(RvCZ$_E1yufaWPn56hg=#z2S_$kwMXFYETGCar|kf44;St}uwTRt+U5*73P8?irE;of;&>XxH#pRm+D*#^Wt!I?zmdMPQvBro zhb#DoQc@U){n3SjmA3nI8uBKb>g7F2FYq%`xDtm;ikz*mU+q_NjQU^}db> zJuw&cqIcYwBp!ZNPdMH{nDFsRDrEBn0lS~(E>vvPr-=a@!&J@8xKTTsk6VB3KMrSW z8)Voc!J|0Se?G1hjXO*}Z>bY`_~@8o=cQxN!bBXKadFn3j1oPbfVWnAz?B~q#GThm zEAi|H3%_g}?)H`poIOK#q%A+Ye*$=ymncoC9>T?xS=b3KpGJQNA)i z5wbv<#I){Cp~Vvv|8dS{{B}>4?9KPK%)%UsEfuM7x*<`u`r$(DD_P&frZDNQjD~}7 zWx{vzV*ac73JPGee|Qe03;$V4=`k=mh;x1J~|qtY4qhoU)~96`D&(a%3O-{nD-5%xRkT~b)g4dTzH!Py&w?( zx*smlC8C8HB(J6S&wEr%{7m=Q7}-t%T{|ML^5(P8Pb;jNc4Sq;=Yv6G=MNG#!tR^e z)5#`&5F^hSpd$Pg!GTAPcir~BzJ8iN2fgri0pm@!#eC2u*w$ z+Qq8;!1o*t|NgC6&bBRb(>~gWk~^eJQ(>{2rGu4Z1K1RIhdPxR(eHmDiZ<)lANFJR z8oaF>khUR1u|c*(!KR@hCsz@va~p=bQM__KAjKFoICpA(;;3_s5EZtU z=WJqQ<#=8BLjH8;P5_vB;+(GCwCf-X02R-e>?WCcJ?>~c$>2v;AvF-2Ej*JO#%g-B zRJ6~OG;-B=qbZH>BK5dJnr}mRiHX_7vPA1T_V+}R(l80mh0*6T)HNTCQkELrRwnH&wPa`-c>2$fme-r3UvSF@ zb>Pm|ti4_9eqfMNYr#lHXaKZ&Gfx6s_<{9AaY6#cFE8oP9g{NS;YT$OMACf)1aH~A zvk*jCp0n0l^cz)9ZatlamrQMG)R?^j)(J&F)Zqr#5%`ab{z^gz8IXXEboX=~&0xHl zBVZjH`RZQoo@@M*G7oNjxsL5AyQ|J3W~H7MG)t^VZxf{5HN$J+NTJl2MtU5@PZKGR z#jjVHXr&n6kYq_HY^EU0@B7w+=9%(X|5*jGcjCzhUu4%z9uL80?4q0-?~}K>5^PUhDVzON{u3H})SiS@qghC3;B6_GS4Qe!qlXEqh|vbrx6D0 z9T-S>AadC?FgVy>A&XMOtVHR9(OTvEXVWne2|!J)&PDxl0KNhQ8$tm-l^k;AS-9gb zr|U81-Pd{_d#H2^KGf{VSQPT5Iums?vVO4y$2D|GExrG~<9bk6g(DfZ4}~POzd_AC zJhKe8_>c}W$1(7v1nRC9Sy%m_UGb$z7u`i!LMFKA`Sx!bV}Eh8pK@^7KI*FCpANV~ zn)VNea162u!@D;5liTSAO|g5~jSI3U)yNZ+FT76@mb=aklYyqPy09iGbok2s6<=27 zjUHS1G}~h#DZyv$#<*(usjP$(C^>QWz9Xtp_3uZ`s&kHHwL&yfd3X+OX``oEOTGrd zWj{Cm_P25RD-_d}SWHmfx$WJPExg21v-FJyXInjZfRgaDk6NWFZ#fB}?UEmD3sr;7 z0gF*Sv!eK=p9K&A{uSYFJ}SF9I)~_JVD%l7w~(qJpc4W~>h>?i<56>)P=tBt`usL?j6 zu6BZankz2kbD!nJM4!G65<-t9?`rZ*$%OoA`xeHf%Jbkm=MHBodo{2NYA;mnd%FZw zZEYQm-?ni%=sf-YJ^EFhRd5{w*dQ&PcdiadK`8zT0XL71kEJ#E{y}M0z>aco9^6&s zJTKRTbMiy_>tL#PpST*l?n&R|`QRe*$uU^R7ab8O$A_VK`hTKTZ%YJT;y-v0@cHRO z@~g;f+pIMY=q~V8ad(@?tiPfTayX&>DagHRzI-UAP9BTg83N!w3A-%1s}S8T zL=$Ybz50)Y8mD|idNrf-Hz@3IU8v&;uG;&F)ft;`M-|PuueJ68FGY{v2v1PCbQoYc zj3Od1N5Ems((S@jAN{?Bne#u_ORWEfG=(TDlHd5CFH)^Kby@Yy<|O%bve`ASCd66t zsdGsRI=)eLTJnULy4?zA->)nu>K^3DT|J5-xrTC{6ns z%=Qzu1**XbrRiwIfx9kLDVT3%pKbe3LxvcDRR&1=GLK{G^HY20xP zmCNUgiXC5Q)X3Jo+j0UduDI(Sh<&Ok4(#5TlR`Es?5a-t$V*|ql-vE4SdN$_q`v*z z2>>YV#QTA7R6u}H4)cV3`S%Q`YSy6vy0h1;paYMsG@p+E54RA!7vRT2E)M3^O1 z->MUQeZ~!XE`@s^+d@=z#0i5}^KDx>VF|&#F9D;h%`ql`HFYjPL4NLEFS>@1>3yXekQ?AWmo?y-`OOt*8K(n-#t^wKp=3a*~R)%4VN#h_qM@@%T=Hg=aB=bh{j_c zG$_MF5LF!pZ~lp$A$nz)xnwZm=oq*N^@ zKt(YA8o`LOCc1&Y{F>hk%>F+;pV{k))YLhQiJlkGzNy0d|%Dr;}kWQ^8%G=7B=hsV~hmaG~V{*4+(5z{KnP zt71;`G=svfgR3|`eTLwoj28ntYUs^VQdnmpp6!Pd;@8b~v#2gBtPF5tuJhZoqyi=I z-vl6=;o0=Ze|mK;)BtBVPur5{lTr0Z8pxCw6m(*4*AzeEL;A#=10p2{Of@*>V9XGN zc`Mvce~RnC2puw$dGecMbq@?Jz*=VG=AjD9mKtZ&n;lz3xy&4MeK5Vt%pIS3dYp19 z1sCp+{C9AaN?|fb=T8MO}XnSj(tG z^w0q=0F91?)%}fafb;7O4;aHD=tcmCF+|x7ZIdWBXGhZ+%W9K35{n4f3+k{w5lIr| zw+1$R-w{&rJS$^n5QOdI-^Qy#w*13kTo-bvo)g6Be*dbzx#1e<%`$ps2m?G(eVe$Y5Iid|AKZW0yfvd>iY`Mp>@(QG zaIh3c`>V?v$Fbu35h&_x0nfakgXBYp^Vnt)XxoFSZ@Zs;{xT>-ggb@;6hLr&12cr` z%LftknWNwF7pOW7e0B8JF#g`=BPVYj%X4Ch8dyU`%THCHj;lf0z{zbgk|P-Acwh;N zS(-~gD`2)dad3{H2iv%JUpgW1j?%Z!jk`HaIZfK0HXltKfKywnRa>n~g7H#$R%&wU zRDFH#n=BQ_exVXB!3<09E&fZ|k8%V~AJe@jg(q{9n8RdP zgbhtR=1ABO=RZc3)0pjR&r=p znfd3P<9%ny{pX}~il2c;*6elj+8evyR(ew>Sfd$)$Q8g&c*oPOzCPt&!v$0n2ZodPfsWd6iYYJgo;OC;7`!~Ox%+EAjAf*+;)!?-xtiOC2BXf!C zI!&l#P+>DnHGxIAw9PNw5wPF@sENK{m3I|F0bx_PX(b&t3jJ`yz<|p~8)DXN0)0~VLN1F#*Gx5{aK8kE1 zJ6l&0kAez=Q*a_lqW|0QZKB(LPMEVR@dyQ|&9&m(ud|p?NZL;d+Pn)(^UIa8N zd~Qa=bZDwQF_!n=8<7A{kLUmCR%(risz;c!sW^lLbRk^VmNX>IPC2wOBdURfb~ocG z70

      )(^))(^~`?=QGG}#b|ko-u3Vx)Xl^CCJJrN!C1>32eOd& zt~rgCUe={wcn(B|)?h?FG5LB)(k(gdZF?mUEm44;rqtxWuLlbb%5n<}b~ zR5+q0<_J6^7TGQYQeqh%NRM>~%TR!_1lR3n zirACF`;$cnzj!;3QUlQ?Jgqs~{xi$QXqjF1<1m1$u>nA=I`<_)CvYIb%o;(#dTuQz z?mA1xur*%wEwHn^?@$LgL~;9cH#gZ@dv#hRT{s)z7Fn0SrRQfpB9SRc&-p2TD7r)>*6higkQlJ| z0x>2%{lzM~?h}ndNkzqjwHIII7&XJxR zY+(->+}20ujS`d*ozT8!`C|#o%SAU#4Axnt@M)uo*KFBa9)|h6QbFV6D{aD$ zkB`$NTv?V@;O+=}e12e+mRiT#k-*9dC_p?*aiB6VHx(#xH{qq6wZ zA+zq&s0T9=E|bb+TQ=clky^P01vuCQyB&9w3GWO!=054FT#J_rIJhYvr9fHM20*1I6dnm{cU$Sr zcEh_i`ejY+%nAnu34W7XE*wVVj52>F*$toS1$t3MXPQ}UdH3+Bk2kGWm_YvdqLLVS z!Ns03i}}#1kS?a}=JGSgipE`yj+hNHJQ}I|9YK5zv`n{r6bL}7FM{H}Y0(=k%iR-) z-E00-H%NIOZT`vO(grJ#3KV=duy{IQ&weXA>)HSK0o!fj05_(s#ndqf7f+G~9_1x* z^F&%cQ??IwiWd-XuN9E^6l~T;T89Z+AddMeMDk2)Nd?Kqh;CrT8RX=DGQnmOr=YU?4k+@&T zteV&zuib_DiiS)`3!uu-Ds8hyQq$@Z_)8h$EYf_Ji?PI)67YE5HNeJ|!%dW1ctbYH zq~JAMA$vAB43}HPTfya$wU*;zdYq(tQq3)|L*BZaw&qn>?#BOPh z^yA1gYLFBR2m0gx>jV6|>8dWOeP5p|$J`%;7`fr73k|z6Hl4ud96(JM!9qrspaIdgi@+ zXORRPPqA_^R1Qck#VX!-XMBzSCXGTe0RdA?I4*UBUUkR*5)iVHONnZwi#$Kzs;*;O z6(&&xy3ABPatdZiN=41M^RttPaK;^Qj!xuBSPyk7_b7Nbm>sk4Cx~W3^t5}8UPvMz znS6+=8dL8H@Axh;$4t!Tws{1O%1soQWu169Bkx+fUVkT4|caH=1b2SPTH@XUt zyDIaBiw%Ce|B3I|XmQ6ST6%+|0tAVZcz0642uUvmx@!(Rs9b%<8|(KrRJXn zcW+;$cxJ5>&p~_WdBTwS_SQoKn`f6P>AToDE=sv|7gtnJ)T_@wt$g(Jy_2h}5I237 zO28H?iQbHO#tznO%`O`#Y~OR%k>M5!&!W}3~* z7ig@Tsdsvdkk5UW5e(il*FeJ?i@cgo?j*%D(H2r!c?Asm-yv|%;Jo#E+QA+W#n?rF z=EZV>*@$bd(a&=*Yq3vsfb2{-7)a9W_Sb&`O({g#bXOJCwx@ILvdc(7O!Ru zXfIvy7|3$OqM5ION&tx!{|h$vW$KBP}S$}^GG<4hX>S@R;`ZISNcao&xM z1e2rFlPB?SpL~gWEymujfH`dq8W|rq;o8>U?%m{>wfrLVcGnN6a#jP4Cwn)|NxZx6 z-0c@Oh@c1k;1C5$*uH;4`_CGJ!;GM;MNz8QsCVuUJS zgYal_wj2he6vWVaO^ar%MKL)%P+`q+F4Wh1rmbS542kA2I1+oeSV>xk5<`U4t;4!F{cGFM{a9_?95tt%dIc< z$YK3h*wOv1q%)g0l+B* z*FAnW-BSAfw*5ibfyUEm%10M(0Xy3RUHTXET!u%P`AuX2Og+S^(J0VR9u&A8kXyPn zJ417fi-(H;+fsIqAeg6Tu*UP;T%7P!&8U}jJV|tXroUd6cQ-4`xgF`x`DW`>f zcyJ2!*9>f9r9IKs%OAze7qJNug&XLF6ozEQdB-$1_gQfKPdzpDQ~4P+_YDvE^bc!#KwOohOtJxXQLEBhnIEZy<%nP_%%e> zqTD@c*iU$r8(&4-5-^Be5$SH69FOw3I_tbgU} z0iQu9mvf4awro4XTtt4%UnMYlG4Qf>%~N*T5~^p*9JdyU$$f$D&b^bEeF&c%50vEy zkP{30@2$zQOjfsn;9fp=XHbKiA^mV`iUAU|fA2}bS7}a>`C!udiG2bIy!IEv&mVr* z&n247q>MQbQo>6FB~J-;ecXV!xvqr7&81SNnK-*mfNHdQQn_Oz}F-u*9WJrxET~8crXhlaD973J*j|cyxXpSrUNwt{F&rR@j)QTqyGy zS1*8=v;(Wn0&qW8W)L@L$EzRG=#XRCt##C06FBTw{r4Q<0p2qiY?d?aI$l?*q_as!h|8(`d}slGc3 z5!Oh|uL@;0qx4R^vSJ~4rLm$kr--ol9tj@(Xu2>bsbWUh^@t9_9`9dr19!31Z|ZSOzA<;;IHmbG9RR z3bb5f6JkP2_!;$V>c`_2L7`#-Sl9Nx3md4mdslfQNfjg&+`wQ}e~tHL=SQa@jzxSg zFRz_ulaCKbY;mL*Xyrcxa;;QU8>k*NhOWjfG@z3iJq2T07DlZ z<(WKi_njtx{`zt~Z}wcA9vjxUbJA(PkP>VsjEb(PNQv3bHu|xfIC}KGQP^p@5Xrzr z$u}M5@mOCoi%f}VGQo`^{yMRS$tO_yEMx_;qjPurt9fN*aR(y$FP@-GZG^r7lTkYW zd&R|uWxKqq`qKf3rZ=Bf1ynBuWpi~zf-1%cm9snjn0$@#pDsY1G*;IHpm zzsyx3rPbCLOJOE_e;X;YCe3@>A8He*ZNUF#L_+lt^TT}6(0b+OyH-ICk{S=*?_l3= z`808cm$##Hvc@^Dq$J8GV#M{P*V-V~BG~r(8!_4f)CuXuU2MXRQ~sKfKV?atl0yE7 z4aOiZ0k)x(X@y-TZ?)%+$L8VL#gfomYXb;a0=8IOA}U;LnpP458V5G&PWx~fciCNwsNRf< zwT?3`w@??Xo^6qdx(Zg(lFyaZQwCat484V7028wlsIM-Jv=ZEIdw=f(moIOI1PAv) zp*0q>;>i+0Qxh^&7jtOz>(n?K4(biUMAbr8qd3VI3tqo|-3k*X_H+A;d%zzs`oF2n z>VwcXbT!Fu#<27A2iV}gtwD|wEw5?HvZA+o)v)T=ekpb0O9G|`ke3|;DUpLRM||y? z(Q^{*h@ya3o7FhXL57Pbe8J7-QbjECUsRDbe6*}1MLYxQ@H)Zc=es!V2)$V^3WaPm z6t|^>-yn+`vC9$atc_MiJUS|tS=gIabmi{CRf2V40+!Fi`=$r^P9}Vkr-& znZ`0J=*QwSRB6T6PXl7T+XjA6p`>1wtm$)ZL~#pUS~bdn4~>GVzOvOr}UJ&dH%TKRpPhRgW(M2bGAKqp?64iOK;(0b5Q# zzfw;-H1kGks={J;m?sN7>Z;?zdFBlXUe>Fg@@DWugYzx~I^z(1l$o3u^<;dhy{u_dAuZ85KW494-q1 z=dU`)dK{0o0qN(jeXk_N1kDj_02{b}%Y5Z%<(%bF(lLp^%ZI^mj#%>+_j9Q#OZeyPvaoHgL~wBn|Dt zf9s>5ZfESX(W5D&a-V;Fzfiuyb$9bxorMu@FIJI)fmv)V2HOHK>y2B=VDje1uskINsk7>Cyt z`RrqfLDAO)r{>1RbC%0~jq2U2eYbRKv4W}d>iJWOU1a_#tK?s^(GdHSW(Yx|IhJ}? zaVTUAoIBI5xwk#gjHjdFbLZ+VPzfk#OY;kgs@04-rANylVybkrb$ehsxPOkrL+ENo zzn`DPp+TQn%Eapm3}H1No^v&|_K(Lua=w>~Qky@b`)8e#GC? zXvl$oQ+XKCli#?&S(q;jN2E}t@B3?E?adKXQ^xpyfl5q4=c4YG3}}2(o+ zh=>5^T9_^%MmA?9R-FF1Lra61^VB6Q4UPfpT>Bd9TuXy>u05!G+V(-``zyn@^sg>X zRs=w=L9?;8c8A4*+=)JaT7eh3H!A@;_X=qK(Ti-{Z}?8Uyt?h%0#?58ly3=_yzIo< z+F994|09@6Lc5=N{}xPfWB!Wv<~23=-ku!>?A`~&$nz>A91?G)<;eC-4RH%w>I$cl z<$ym4YS+E$@$5R6G zC&Xz~30}XD!I@@!_Wt`_UFr@W?6b{81-4lglINB?-DUp*3v&*eCxF-o+5~lPtLY_3 zw38=Ueq+>VcEh(VT-T1tdD&zru=`M<=s6_5OJT8jEExsjgz=xJDwcW6%v6J5g8|IV zT@tpfK9T? zl7gzSz#-`j#P9ZbbEByK>ZkTLNPV%%PEvMfoqZ1?3EDP5e<&{qJ8YIBSPuI0^>lFS z9sdlz85-aOCoQ30*iygXF}c*FnUH5FICdshE>N}h+B4GmB!d;Q{R;(=g4NW%GN`5d za|b<*i4Ml8ABW&26lOOed#~`+bk^xG{h0Ywv`NaTPeMnpdmIgHAi25vXcME24zRkC zo({y9KrjVmj`%l@xL&rC1)CHvP80UeRpRS?!Ch_<3i)XV8gm?_MY9R;q^M@Mr5Y?^ zjcYxfgb{VCHt2UXwPk(XD0VkIV6^BkCU2LNQ`*sUtl_lBA)Besi0fmzxK&Ksv%8A8jfb6pj> z!1nFQpNCaGinYOMS0R@V zRd*URC-LW6-_Q6S2<#LKE`}E23@^Qr)^&JPJz`=4laCQ9YR@;THq$t5Xg>n7eqjFz zYu^Vy73gBoe^q641u11UwKJdonG=)jU#{S(rPI4Vs+vb%>^?C&ZR}Ice(-iB@_y8q zMsSeEIinp2j( zgr3+4K)Y{o?j|hNo&OtKdLNaIHKUsTgtv<5qY8+C{-jc zuPq^t$HHhi zI8|IaFrMsT{ec3CAnyP9046`prZ!!MQFpfy|cZc7FEg?Np%{|z_g z;CLTPbKAaipg7AsJx@6m?l5+q`SSs-+ZmTS$Ikxz3J_wL6h!w@1X7Kb(q77$-KZb5 zd-Az0Ku*N$^i(4_K;xXETtWHIrAHslHl8wf9=x3fYPdXF5iA+@LMJV-r`O1?0QU4T z8ymNtG|@A{4!gjYUl}(%KhHlki2j$0Z1VKA0(kWl@amCOqq;cVJ5IICaA(p-?xo!; zW^HNoGH?gGf{rv)Pz4`G6swtHsZZHx1$WVxhT>!AzNTI84!Rg7(Ek&r*vUsML=#>@t?*Axb&;CZol)} zpXcoW$1E&l`=~bdp>0tXVx?_Sv%&0!96j{WT=yI&h7QsrmJKqj#JPYu4ZbUX8lZIi zFzAZivS~>y5Ey=Y`zFSVri8HPE<&SNiEPsch+!Pc|R)8n5-_g7z~~{5k;Sjq@ZK5 zn&@YL9>1f5&ig&TDS&JkT*^13HBpqODabi{-F?8@B|-g_EDQJ4btL}}s_SyQ0T1H( zVC4w`$21^*p#Lw^G0>R!+ldYn3h>m5f3T_E*f#pOK%MNXf;Fxcg=dWcZ~C~qy(R51 zP2f!*aFPNU7{~@DzT;LEV}Ak3*MV{E?{ou117KWhg%f3`Y!;q%Jgt~Mm)*k|pjD`A zS8K9YptCf9#`Mlwwsg7MJL8-;eCZSxHSd>ApXhCf@33(oY$sc2tA6m*y6>PXKW$>6 zEn}RbFJHpurl`zKP720`4_W;`KMW1si+h@}ySH74(dF0H_1Vub_whqicrHG=V_RZ2 z=g#~T2Mtw?XZ{*ZcYPjGq?>&=@$@us?d0k9G|BN{vgA|z`olS=@}pTxw%qK01#dto zqxObenInlS6N)-jP(E+HD1+Bw$Z6?C-BD%0M-@~Oa5W%_Ka={ifvEm|5Q23i;Ui$` z-)Zncbbt-2m~z0i<5bhpA>Rv{n3y;^ylpjW$|w@Cx$N$_;24qfA05u`2ko3T?QKMK zLFy>k!QSUn9?BYCO!RxAgOSkZj%NZwIUgb&o1hc^ZrLB!8`cA=jLKOPI+H{qWhv@) zXJS4Hc|8l*yBTO@gG<^$)~PFT)`745KTjxLey|&^Hi?!PzM4jZCrJs{ z$RR!nUL)9Oi=H%^;ZT9E5z!w` z_ThRIB$nnseSQuU2TI)A=!H=l7F;CO&wnJA64XeO8~3JV)uTEU*ppc(J~yM03l z*TU&rIEEd?U?UTVL8D?`gs6s`-X+D0e?)pwn!?I&rhy?{PZbiJ00kL zWCy;1ou}^zpz#1!K}`V8#S0WQG`9sU{vTm)9#2*Kw*Q+WWlE;ZQzf&^!#0IbG9^Qi zAw@zGGHgTuAjqNU^(=qjH~iUl{fe>9*UQ8=A6LL3f-GSCXJb^Cymt%_!XR{4OYEy zQjFa2O^141=!*-t|AvHAxotaclU$lXjmTl$RHlSzt`e{(@EcS_P-PXbSr($%Z4zKjnI znc)C1a(cmfT-{2A3ow8WQ9N4O5h_*3V=6GyufrFMt9K3q-57Xxd&Ajl?UT{e;M=Q& zYT>MpLB$`1$}4Xd$67U*-z9s30UbGz7{&yQ%jHD6+({e@FW4J^T6lFfy^b=5S<0zq zXx1ZvED(aQC_#_p!a3?#49zEZEt2D>c5v5^=RH&S9<$+@wBCqwV|jbMJ2|TiVKO!$;vOTYY{0xt!bi~(uqYVcG`UdK z_>^nk#~1fcNTF|-L?hqL#K<9E`A~ksCz_%3_+^{9bfOQe zy)?)X!YW61GkuS|(yCfRmIkI_Lq!ccdutLNid0-=ExK1ObWBYwl~Y zIxxN0Iujm4_@OpLL^*twpgm3((h_@AjERSfi}2j@(|$QnAHOEQTx=7d^_0(W^og?| zs^jJT1u!{zsN>JplcSV=pMU2h3a!dl`8n zqwQ~1(;M1W-d~o#q8NAVmN=JrE8^<`LwW&~FI%iiC;qv?t2**X+Z~z-A!Q;(PQGBv z-|g#S&QTE(id||?&mGL7(zRcx$x|*kDTF*)`m(MZ-9E(cx>Bo7IEwL;84v- z3KsY}QPje`v^~HI)+7bGgRz4ykdD2K;{Y7=e-mrJ^mJ^3wEc}Q?@}qUn@1{Uwq7?3Vh&E4Pg9zshlRNMvw8lVJyCb@zN0;tXJDNP zAoZO-Gkce}?0TJDIA^s=rLB+zQ*>Cq$!qSu`?H(*H2vWzn%+M&u3{QAt_htUaJ|~Q zFgyA%f`abc3yHu5c$h?|>hBEV8k$AGxW#L+_CWK;kAZgq3cTLafRi1jqH2P!7{LPQ z{{=t9LcpZJ_hOET`1M~5aj*_QPYSy8JwiByNQ=7<1pV{&2!GkAl(e)DMpa%O*C9%; z*j{O)Hf3>3<)7Qs@?mA&x{orlTJbXlyNLZ&iI4eue4Lqd6!r<{l)ue>7IV%`sycRI z# zQ0lYmeGPg_&p8Pei#RFgWaGS0(@5bq@Sq7fxALX+nLrleiK51$i9doeAJOv9_fkzj zEp5w_t-;!AFh|8@;YIzDPj}(WWZFGEPoHyU-nk2(g6Vcxj6RWOE*P)%8tCy(&d>)k zHWSgEX5sHzURil{7DdTY2NOWlj|~p4^LJ{L-M+*sc*`6-c#uHWssMPK60OFRX!jin zS?jA0C2xvmUIR2@@l%F=Q)t|efjl-KSp8L0@2WqI%Hz=p+Bqxn_mj=}KrzY*^Kk|1 zgbq=S#nVv!HvTyzpGF|;-rE3d++cjVNp!`7O=i3Mswo?rLFt=hhKS7h@H9lXDaM-nTyonz2iW%}li_oj)8-kpUK0yN20 zPx#h&0w>FElYh!HHxK6#8CQMx?p?&omyhe}lyS=xPJ}IT1hVMyA((&fUn;*VfOE@K z@ZPlOOV_ z)AV=|w1?!cr#a;1FDHB&p=Y5Gc@?8aV~LFV8?_D!nrM$hEnwfRO}aJZvGL-KO`l00 zNGNpb)U2IuaG$xI9q`CXz+hmtZ#Ez|&u(xwIAiskW}h4LLl(up6EUE<(LX0*0e{Gc z&<^n;j1>lO;4cVHBZDO+a05ci$mbv|ybf%WCenT+EI~5dw8{0pbn1G6;vs)nKWdNH zQlp1Kgk1z&=qNG&^769wXKu!cxB{S}Er1TVRB%1=$GcZeqZ*P=^q6>P;rl=SXYSy# zh;qS=pa^sbtba*#ndGJYgi=gm^DtlH*}&1QM(CsoasW%d%D z#hX~K#(D?KK9F1M(_e%Rgx=8OON8Pyk2b)AXA$Nv3lKTqgaqMoLWRF6Z3_p53U_}~ zpYZI_<(8DBS1=wpEIH(B9g#0l4Z-iDGt%zO;Z>FN2KBjzdNEm5Y`QPFX!`Hh8xS}a5mgPU{yLjL@FpW+20j;CQPvV&IF zA|fOGz%+S->t-m6?A_^whdBayDnE5ZssH|qw3CZyUvW&p!g~B2z5bBQce?M9ZD+1- z$fL8mr-EtnS@|>P{Y<>f@>F=P(OeumGq9fRA#;O|=ZW1KVWV3Y*t!Nwj(8oxq4d|T z@#5fHKp3q6M4sBY^{p(9g7rDYDICuZEW6ma6)>NVK&pO0&4-JrBoiUZFv?2^P|<#z zoy~vfn8cwcyyxnGv|NPk+@KN*?(qOeu!PcKNUyG0`~cyrHVW%`&_tqC4#rTcsOz8K za(F?*Lp>m`H`Q{Q%hVq;+4S>%lbTrIH-1--O<;`Vf-L*-YTN#tPq~*(2Sh!y&kA7Q zLtb~_=S1s&b|#$CdE;nL(OKNaWL_y2FDT1L=3;kHnOPxYLK(s?)q>`t7VTw3GHZ=~ z3w`8?H&y!DJF1y|>vEkG6cI;Ft`8Pukhz|=>m!9N)0wj^%~7kXcW`+Bz!gsc*ik)< zis)d#LH#(}wP_Bz5RNZDDUS7&rZ|r`md!R{^WB8Xs9*e~Q#>q%D&3s+h9ZKDp@74y z3C9l_^9}ZAuZyy_KL}QnRQO)~5iz^9S5s+Zs4m{x6+8yav*~^N+&^|XWZph29(GbX z`4JEOy^c=;&N=F8Ap?mM#c31RsZ9=on(*Jp_L&r~$Q46u*lu_HIFx)vowPY(vNeCW zB&J`#(OrFhy#LbZT9rD68ZFS2und)$7`^yEy^HTw2q7^r+0sbFY<-= zNZ!8ea|OBNgWnuWFJg!*3JJ+WP#6@2GB4fZ$E12cL8@YWyibZGwj&atD1;q1)&@{U z2x;F7r<45so20_5{#1v+Zy|d*xwwJ|72+yu8RjUPkz?`GKbwUBWg6G1zZF6wnm-nLcdUUi7TW3Ttu z7uPWlnhORN&=9yI&@tb%D*zSJtebgzYG+O?oiMJX${o~2^9MRp3822E)NyG@tL0!!Y(1+XA38f;di@hhOw`VxprT--TonLJ**Dvp zo7-g29_ui&zMq+S5o|r6*0<1Ro?hKN_GFC!7a4YDS}XC?g{fKnrDp0UKYC*Y=)5y} zH(W5(=FQN2juU|PM%SgHg)LAcJ#d1E@=k;MI<+tt>yMuCdoMHfTKk}1o*Vk*V|V-I zF}QyD@juy7O1niua||5C=nZ$E1I-;_uh+dR0GX?W9bHi8ch?@k2|yjqi1DhO7Ic&I z&Am^3o7rDhIaGubfWE;MJfb+5wJQMW`YnsDBN@AkrjdY=7pe*~a)@9_U93A>45 zxwwnJY}ZE2{yjdN9sMS1(k3_Ti{+T7ARnFA6iVb)+_L9H;?m&lpJ|ip!;)#f6?@WE z%}I7iTwM{`uq}6pBA8DMx_VQ@pEA1=R&w`;^PN_kdjF172)b{#DY}c1AR&ED#7=Ja z4_?&#vM;$Qp0t7Cr!#_UcK3RZNzSA7ok;n$;Tb|~K4qo5yuf-?$TrlaGV!?gjioQ3 z|ET|Z+};j_W=zaV=Ze9fsl~LBA$<27R+SjeCNpq!InH!H=I4>br=$vL$`Q|ww7%9E z(>l4N4Gr_s1+i|wJT5}Ryu+!zi^xt14fDV6+nEaFEK!623Db%#^>$BMV0eak$kID3 zUEUVG$C?f_p|5D2gre?#ao=rc4y5n4L{uKVZ}bo2(>wW*rw^kgDZ1nZ7#n3s8EOTG80=kfBfJ}#JhI}Mij8s}xg#ag-)Si*a(bid?Q{5t2V z&HA{<>U&%@wqbiY8d9jX8I1N0^u@_W^w2`=ri1q-E%>9}V+Ec}UAu{im7Digb5_Kh zeIk%Pk>-g}=JwzAb;25k516fwX!14s$Vv~C=Q$p5dc@48R3b=mxj_W*w`|?kx zi|O8v#RK_A2Pgjw*iGfp?aDv$oWdi;=?bNx*IhF&WB_>YQjfz>ToO82KS_o+=M~EA zPrJVBAggcfN>`g9Yw9(s)iT5{dkO5!PW2M4Lt+@_rqGIuQ&{@Fmd;;}EAJNwmpfM~ ze1i5qdeLeZ3K`z}?c~Jl)Mis>8^s)o%v80jK88HH+qlD16(6G@U>$xiR&44tYCXQ` z$#3=N&u{;u{>%uet(xyP%!?q(d3g)X$sg^qAe*56a7{%X6_a278jW~^`r)Pe6j+e( z@z4ABPSM`sJ=RADH$Tv=^V9prFPWru(aePkS*cW3-C4VZ+7Q$qm)u*y_MrY$z`O(v^O6IU z)Of5j*e~Vu%qU$~@+1;7H#7Ow1S7^0mLHb}m0ej8kv)`oJg*Fx+aE+H(Ht^C%vSkXok#mt^9)d~NwAYU69 zfCZt%b=TKl+WNgc2sJYGH(|EFT~03&({OFxBwx>}eXYu+1sk@-_5y)w$FU&WyGg{p zyWRE6rMP>wwMOqq>)Xz7y?(@%(Mxr*jq$fq)T$@_WZb&&+_hgk2>N(zL>?$bSGS0$ z_HK7c?yMjlx*0cGz`o@hLB#22XG3Few&YuK@`Q1h;=1cauKn8YuJ7Ek{22q?^&@G% zd&k$n1ptlpKF$CKV33G4ji?ycsFhF2Iy>LJg9o0Kb|acvJjIZWmq0DTDMeq8|2dRl ze7cftH$BuGsXOdV)Sk0_;b{+70cv7Afh+6U*n8GIoKlpFwhi@Yh@CTEn8m4#>u{rf z|M`6JNLa5W{2d)>j$FEn-)u&gf3c|D=Fg@eYj;zy^J4qda_5HLJlYzw7O*|MrK>4@ zcmD^tUWRbFjT+n)sN4+6H^qyZ=}D_!dxtZ}xM>=8T-qv|F@&YtmfuiNY=w(!#dAu? zd>$R()xfr&A(>QocP}4r=Zy77@NUAzhl&FXGA;Z16I&SK1};9-XlN^OIWJXjN_Ls` zDfT?|zSQ;zac=>JK0o(nyy{??6uY{vD~L6C~zv%;|W)9nR$BMM*24l5{K@_ zR;3|0s-tNT_2zpsGG1ylOmq+*IwLf;`I!%35Jv0zu`8MvOX|5h()C(wAwD!uVI)%b zb@F6t!wAoE_1IwH#J~Vbr#TT2HIMz=-nZjhTU!v#Sc-G8;aB(~^jj*bS}i27sjQ+6 zHxr4g3jJc)U0fDgJ!QTW7_ajY#P-Df6$uZ{lp3uw2aDrKUUlq(0>QOLuFLn#^0W*! zjlrBE-uhypnbs%mkS!Fl#c_E>iWTq$w{yJ(h{E5ys%@6FValxqwq`h-q1&w-&pP|K zUwz8_U7fO~LhAJ)wTi_2(NZ()6*`||kwAs4w4euES(<8brnE8FpTF6I$B>eR{o}vG z8sS8r5%?*UgEUvhhFOoE5VFU{#4l3ssE4{VluSMZzR9&T4jFkMjDmKXACwvu)rZ)bn{1d`H+?c_zHy$mEmm*m2BtnJ@&kOeDxI-a61#6 zw+lcOmPyyw*TkK2oIFa$26LLaPZn=sn7p<4%O;tV9kCqPNBPy*7IaP_m}LCi8v%8|H)KZ2k$fTlk|G=kOy717}A}ynZ3IFi*X?#8x_+ z^RN@!A`b{6iuX<AMLThKjUTV&EXtXeaWH0F_Z~mr*Ovo6nPJ9ZYCrN9 z+Y#8N{q4a%t^wPF@G1DN%nJ#4w*`-AWifec8ocgnZb5xnoi-h?9otsMY;aU7@WA`U zA5RwPG?;r)aFq40UtAWqc!oPm`mf~W`>vtIjl2@P-zW1dFh(xvW5Bp9S#Qc2H`w-{ zc}41GTO45l2d~0g(Y@7-S?g!;`anLrZo4#D5Ni;U`HTiRGSG%>-o-=CU}sOFQ=`W} z?aw=kCnv$ZDDewUVa8ciaf2_8jd8tJ2yvdd2Kec$6|s8XuJ`6L2`+j9yBY*au92Z> zU($s{(dr&}BQ3cohAf7)jeBf?(GOj9X063RElVp<^D^)AxIMQ#uRXWCf9a6lQJU%1 zpOHk`t65rImw*m2G3IrjilJJ!^)ybr?{emomd{-I67puEbQ{$Q0X#}{aFoo-D}KP zkSF-cs8#gy6sR6svT2_ldBz8PXnY)-)i-ag&@Thq(_8vJNKG)NNiSsm%TULz3AJ|% zZ$eGL>v2s?_HIp}6ju|F>7RL4($Dp}VK#5KCh#4@u|GiwWfihog^mlA!ro6!x7iDT zq(kvq%>r3^n}f&sz)vNwtwfy8y&3?rGd^wkG263e(W$h5*1fk5q0SJ7dI1AYRiTAQ zf?dZv_d=fZhJ4;)Piisx@`>D|r^Fl07Gz_#7fP`C-~_b&XLb@o?>gos;?M+~Um+}d zp?+%Hmt$(x4XWauk>R0o!ztF2+F?&VNoZZ`+%{WWrbOSimMN5dB%K-S8q%sYS%H(>Kb<6F|R_X(Ff<4=lur{`3ct%rpV{jrntCcJmYX~ z598y~<^r32Y{N0`4spkJb^%aZ06@9uzOp`B__N(8dMpwKZgJS1*JxSjC;FydGt^3H zcv4>3^Sr{m^gBCV06+&V6{P2%BO7ClLebct-<%^JyN-}7+PihWE1%{#OGBJ;@!qji zYWsv%ZNsy1k7%x>>IG&j-@AIBj{P7>U?8oU=5nKf;aF2d&^eBC!10<=rO*Q=kb@@N11xB(y*W=GmV$oDv-VDmD@?n&_I7>F8eoDpr z0YWOI#TSZ^qu?)mSdt(5h64iw-67Bpmr`*E+Frp=r2%TK7RYcAv1ivmI8kUCnuSIk zIj+cqWL5u(^*OWMrIgaq{`X&U_X$l+%?sxjs&_EeKhfl$R5Q6ON`eK`$4o+h-NI~)d&yRy+tT$xQx74Z&ZebjPARF!I3v65d>0^%U}z8+2XEr^jqGXUa9!=! z<;8&^MvbiJ#F}}=-95eL5&$TBHia zQC-ljBA8|Fke)KiRc)|6K4SVf>h;5=f%cOpOqOKQuYWowB{5b_wKH!nRfw^Qm;d{g zh&@C|dDktBw7v3qgbpzvU^k&fs@?DBq2)dA9^cWOFCxGfoA}z>raAoo1>uSLkNakEgspgg^}t@zeAT=f_y z3Asa53Ujp~v}R5&(v)<>2=gR}rQ znQcK1MG=b{JRDvDtzESca}w+>M-ditH3(O>j}^D4t6OZsAtNnMj*q`^tisRxIKqKV zYwZMqkhuKW;=PnYZ=fqie_^&3RIbC6G3w(0UGL%n>opf1RE_Vnf#p}t78-6sO&94b z8%UvMy`aV}Lie#RKIJR;UyqjcgCHFWmG7&7CXAMjc(1dRTnn^h*dBG=VBV0ohyHJh z`y_|!AVW@pA46xk?{#`yOsmIyoVvsmFr< z+W7R4W$h4Cu#5TI1_Q1Z&Zp;tNirDcb@adK&DfUsbcLY`LODXfAn1EvhJFO^x#xb3vD21x=6rkOu$dGTJ()10NV=s+8`Nfc|{u?p+CMi00UUk-=f^wM1N^ z1JQW+3Hl(zYn*0kfRnvSxeR4~c3i&4eU^hy0yqwnNYN;>%BkI9d7ug(MAT14ChHo? zhG0FE%KhPO$oypx%M`)1<~-@!MMj9eI2O+W?j<5S6djk&E}g9R*&${^>$!BB22ETc zd*rh&6ixfG=F2}*z)HD6HBtz>Y13?8uXOS*UhwfBM9F7v^d?&krmbv9ms~s>mCMOf ziy0ej_kn&KVaDmc6a}BWX5w`7MUW^Cn zX%uoB{FOPfGiJ?QK8jleDZiq;JIa0~M(Gg8-LZ(pgc7>k7qbQ>0rnF?&poKB0sVjf0r?I3ZpqpYvB6ZxYwVgdDN#aD~&MC1>` z22>84q)b=5RgnCoL)j5x*t6+{pNCK*cam#^Y`6z7L%-E}Ph>VK~71rMALj zrAC;fDMmP63AwXIFIcgtOo~0{H9utC62%iM;lL!t_uy41cpdq3Suhmg46L}1A3snx z4lTIG{N`26Bhc!2tK>V0uv6_Kgsv#S#U+sePn%bx0WzKe-xLDYTc}9%?;U*91<4=e zgD`zD5JWB0gWgg;}hCV5p=9%xA-#0?=PH{3{H}eoa@!Oa!Sv5c7?M0vSRClm#07LT0zcP zx=A5l0GPgYP!Xw69&!=xtLfk%yDUDoBo&0>JE6pEU#BZ1cCEd}DqQ{n%$L5kVZw6V z?`*V!WFCPX&Y?pIZwX0d{cjFeFmmJ?mnb~o?>om`U(*K3w0Okww0OG0YU$8XNh%V= zxe6naJq|~xyaMAZm2|)asO*MHL_U8{sT29@H;K8>M=bAdRbW=oo570 zK>uz;3%}$4gNk3W%5Upuxo$G=msgd!ZHLPLIeqkP@;pV>u5Mz8xnE|n4X<6%VXQ}z;()&j*bUiAQ4j^ zTz4iqCu(eLocchPR*G!hkonI#i2IjDJPjKp_6o(Cm_E#C`p58}$X!h)(k#K_(KC=@ zB~rT6o0PN`%&PhP+6>WJAqh(iYi>Txz=3k#OLhz$8z78v7+rQf3Ne5O!>n&W>$q~W zTB11lY>gkGg=8d$%7di0Z>i8|^mJdwkq&88d;nFDTHXn~TCCsgzE)WMYpGfwLXY6? z0qQXZda`og^sR@Dt-_&tc~|7S;Hh2&?2qTLFHH3Zl;PwmCx!;zURB{f60AyfkWixH zp_6JmY$$b|WB;>LjEgHJ42o{ra;(M*d192Y=L-o*e<<^utM2&!u>Rz~j_dthXX!>(LSIMq^p2LkFp$LG% zs@M(nFggJf?!))HfVax`T)))}Hi$H8{cmTR!Fq=Bq=46*7M>Wzz6{8q=1LkHvusa9 zn0J=>|MQf+uin`ypN&bV*5JU4dc&<5RZmu@su_EStV(~2=3`9@DXXR2^++1ZnWoOS zJ_YakY!z#SdiCk==3D|_BRc*|IGet!i=(wa(<8e+axp!|VT@EJ`If}sYDI~$UXK7b zOqI-wIgj97<^H%;E?6g#=CyTjWUm2ha`p4ut6lE2uAJ0%Jt<^%1G$fd1DwH0=lEgY zF5HVopz)nNW_hkdwr{~car_pzY*Fk;Hmu-ce^xp*U=Y*ve>~3(zD1|u><2JI?`+8V znErXv-0+sR)|ayql`))wc%%*frJ^E74_6J;S+UQN)3;egrCD)z*iSd!-;5N?PP}M5 zvoeXmG6;wtG88_+apugKOO^M;flCX7$3UbcQh3V_aKq8&qhUeaE4C*BzLVUoxCDC# z<%s*25uaHC=Bu$jZ$AY6{8~(z4dFqKS7ARu#p(hf7hJS=@volXmX$pg{o+MdA@AG< zhuOMA@waDPHv%pzo|aI)yBRQ%gI!4^)txV8uBV!+7t0Rj8!-IygiWn4 zOzI*6w~6)U@My^B?#ld7(j+c3{zNwQrQUx@^t*PvSPq*GZYcJl+I+M&`CFMouWE1s z40_e=G0a$2uqus`(tm-qDagw7bFB)ClrlhdO|UEI2DXXxKK0N5I1>dp3q?JB8YpKq}!Os$XPnrmW|3-y`sxo#+Bs&0vH=u1Xe`pyFo)=maGOLccAxtpD<6O8y6(32X2PoPot=rbwU;wZ{-x3~ z3MR%g?>z}5p)#d%K-TT;6OwYD_>&|OQbmFI4}l}L<8Qkm5?|}oViR-u0n87=r*-G6 zb#h(gq;R=N1?VYvK5T}9oiadqbtm1_7 zIUAyWUwOM=U%CF0ZMU#_1qrRGG_^Jf)^feq+RoHZe62{oZaZW?)>gWDgTvFHCSD{> zy1I$^%2QBnp`~`e*DvV)0oL8#n+r&hWbAExjf**<=r7_T89P@l@F!`L+jrZBw6KYU zXUG1C9C@=XBCmrwm1%t?2Fcu1w0{m0dmvA2mvNFYu7P|abO0L2uiJVta%~o89DLJ6 z(DX8K{LBcA)i3B8td1NRiGsEnyPQAYfx&9~`fiyNz=%tNco|F2U+vWg|6zvO2C5@Q zhNG~Eb;_krxGg{E8A#RN7jmOGqwp5W;}*7g#|NqRWF)kT zuM>=Whi`K&n}*3xvN^U2rApyX&?Df5dSvkQx!&Ky0rMDGnxEB(=xX3Sta1|ZqQ2{X zxqZc9x20_E%I}u42F=GJsI6ZoaW>oz&{BpB-K&)@#&~&qJETUVa0nDq57&|;YMCU4 z$?YArHK_XeZ_yCaX_j4T(NHwh$6)#YBknXg4-vEP77fkwsxR^5okg7v7W>mvc1s}B zNHa8UN6Vl*8mNnrl`4j<<()U%TeK1X85iH+7d)>vK|1^B;fb=Hy&ZR4I#+_lRJ2-X zX;4&h6D0*P8{rJ6Ryr@;^fbo&#V{qHp!;<9U_G1!&Wc#;jHDOeqMWJXT>FT95RD3!@(2x@HK*4 zqpf7hCM3p8f<5P}s>6maHWn!;pF5Djm#PgM-g(h1ldufCHw`=El*=!+rNV6YRjJ*^dCCcxnBu$L z;GvG!At*h5bS~jexV`O=i|qJL5OMgA&GmxCuZ(Ehq2g+3FuriuAAo@Jwdv#LQ=ril zz}@4r!$Bcu$MA#EZ9`bmWQT5SsB;)Yv9(WuZ1wr|wc@FTEmnlu-p#)xgKM|*xNq#4yRIY?&CU1(eGgN4a`*|5|KWaklir{6)p8Vw<{a` z9ar{L!4=ly!_YKd2u!JV2!iTWHGZDf<($Cpy0-QS#_LNS}P%WhWiBMSQew5~@yq>%gV@`2$TM&2Q4 zrXzfeeotDpdgHs*%z$OZ&+3L*%qfpGN?4M9Lql7%dslFK7aC&w|A&S|vF=&`4Jka@ ze{7!Npdrl7y>b5!G&EoF>)0m|kJFmrfwmaT@s&2yWmEelE3>`N#QQap*aFklXSm(g ziM$e8u9@_71YZHI2X8UfT?5zk-CRrhbch zU~r9zJT}qXr5^P~5|^?eCh8*q)Q~w)LuEh>6?N_nP@sk)aWuv(P(x4tp@w$;rG|30 zY0&b^rmKkID09s(xkY;qIiBW8=%V(tz;Ri6J7?&g0IeE*gF1$eJfS+G0;nMeg-z>_ ztvzZ;3)eK>>9V(K?>3G9e^5h@cd4OXRk6RRp}c>np>Q_*mF@qF8j3+nOQ{=FPS|ca zPT7voPb8wy<9~R>Q+7G)RV(lJb}MuT6*)`VpM=^D-YgA@^?E^nbS@OvGyX3%^x}W^ zj1%si;9qKJ_>LH>ktXX##y)+X4*m@Z>cO@C;Vi~mIm_x>h@ zi~oxh-q|IE9hhWS!X^I~QkZfQ)|UT}!bUIlQJ~xTF7pOB6bK;uRzQKwUmzNT*v9`L zAm--grY9$NQJ};=Xd3qoWta}Fo;|(6_*BSqXoQO^T=Jx`wAf>i1>?S?ZJRk^RH}xf zv50>3cL4w_6kMy~*(Em#otn#WpiB z%R1NetbIYN0(@aG(&vX?pt%}bx5enbUinKFeD)Gmx`y*afrIg+R@<;KY~>Q)D#S2;`YV?$_^s6^b=_Y z+6=n&tll}uBv^;z3}QkRPzHMjF}9f1$$7_Sp~-vSAuW1S9X4+JMhM2{9VPTR@KegR$qLR=24;++8``ap}69uCJ?kUhg z(rvxxl`#Dm9rVX421f@~|E7bg_i2G$tC)wlo$%OZsUGl6r<)l=%A>QLg3tcc zO^xbojdR(jgL=jmXwc@)bFs^_YiNjbV)$CMu>Vq#4bfV|unCKSJt#zL%@Y5%iuoU; zaMnI4-2XpGVGs8`Qg~za{~(3g|0gL7+n&Ek;n==!^Jmvf?l#I7iw%cgT8zy_>X28z zgp4%rtrshQPY5}#<#M~EaPMzY_|uz3n)P4lilyy4LR^D%JDm)uAZM*9_41Y3JLX7x zOw|I~YJa;FctjC??^F1_y17Lrcu^hK<>^ivy)&Ddi51|jLM2<)+WN4LKRa2ij$zCb znD@Tyv*7J=usLmSHi{=${*0SYA@~Mo0^yhZZ2(nMS~q#SzR(n$Vs5SPh;Kf-bf-;P zbp*Fn^h9HXP{sXV{jh)IPHCR}%3$TWh1+kV_q>jQ%jyE=Hj7#c>R(Hm{X`dQz$a!a_eS;R|I8>j93N_Etgq^1t zCD-$hZ*E0#2Ty#D?_F_qL==zc^9~9+B;N3>aXqmrx#e)z%dNM}rHJxFo>EXq2)VSZ z?349%H++Wiy$|mC7K;>O_ql`#47iAw@#4V_x2Q26U&m>)_InZ?{6ba(^)1H`B1?t_ zPd9WYs+nY@#Uv$y{xQMWPZ%gpYQ1GxSg??v#)Vw|X9Xx@_qjZ^%e2TJpnJhv$0=VdF5@L6nNmN9HgLoWqPF5krw#m&%VZ3NgQd06=MFqd7 zr>D$S(+55S0kr4TxW7@A*3zwUoF0dPJ zarg)v8Hsas*+#=y8JIM`Lr!99%=4ad9gRK-*S6>6+P%wf-n{77Z>v!8~pYH~h3U>UIH{Dc4&(ieXDD>UXH5{|2yNJRr(?JzhR95y>Z*Q;OMM6SC zQ5hM&1YY-ws;Z*)zTSfz9n!iVK74?-RL-{yBQ}x>3W9^TzCk*IX64O*b9h@>M-}_J zx*`h33KoyhkPSJ!{l&i#}zDla@`poh63aiCD_ zeXo4D^~d?oRqnY*=C(G?N_EWAT)A)Ptd={b`wV!v4u8s%@%A)n_U<*CL4~hJ;-`2q z^frbG_#e*bMS{_Gmc-m(;d?Ei%F{Ovs8M!8e|D6lCsh2rWp}s?JkxdAj!Yranj7Tdid9hJ8&bfn_!M-t!<<$Lt zBu#%O^uzXCcix6P<@aC?QHL`}@GL1!>->4I6j#I&_?dkb<&(lYY{2R6K& zQaU6`Tm*V%1`0o>`UE)BSzZu?l&$w?pYTFidRDsz1Qhge7^}S9LN&GuipSvwb6(5x z>&_iSfG0Epg>uzDdfrSH%Bn}e`e8!$g`CIj+#LST2j76vLvREZ6bf9Rj5fRI{BY%0 zqN#9l!IGr97B`U0HqXp>Y}R&4K&5t2U@6NVWJ22_!|{CZ-Ds>JT!)xZ-+PN%g2u$#4iLX3O2D1WwsspN zmmWDER_W_H)VDw0zh7qC5#Qp~rLGVxDGTfc+{BPyUqD3C3ST%xm2pGMj@iPg+hasQ zk-Fnv{IUC(CvvMJaK5+!8 zTZ5N;nzt%)u(#3dc%Qp?m)Qr`E9?42BnL2eS-!_J3-jgG4&<#cf6VcrvqU>SA_=Os zmK(*x?)VWNpqdh4Hehg~ngDloJ4hBe?dKl8$X}8mx^ZPuY$USMFO=M)*xzIN)kAHI zjSJ;BLR!ng8F&ta4soRyR7Y-{+F6bh2f0-~z+(#-lI_y$BE5voSkLwwSg1==Z9K_O zWz|~()nJf`)?j?47@8w$~_oP51ZqZ^Au#CtcjbY4l=5` z<5{Lpe=W`ffUE6R#gf_)(hQmw8MpbHplN1nlq!JZE@ao3H#}p;pyZ%e_F0YvO*fSv z>o^|4vthnBECdknWgX<w{iaof0^F*i?=S|M%Ee5V&ieYH|8IR4J z^sUp*+Q3(y7&A-sNeRkO;t{eUO9qLXvDBsoWF4+vwzWH(l=mC8*y#=~qNvlnr4zDp z%N}7a7627+tI@6a+uau)vzkuBGCOqlFA!eg%&~O#s}V8 zzighfQt61KY9}guYgT?|)kFc3@iF5Y&5d<3x$ad@DpljOqARTdJyLr^uW*uZyaT+Q zPKJEu!ngFm2iiEJ=1qTmF7fgc`NF5`TH}Ey zhw~F`SZk6Li^xUSsK#UKuCvXhT+S?Cb?z=Rf!6!(TT@qIPKi#m<{W%)t22*u5g}R} zN_Ko?YZ;wQE>~_dR`1jppAsr<%puGb5$P{VTW(Ah5{htEtLQ#H7V6A#G5EWlRYf~` zG`_V*2_ejp;>+Q`(Y@Apmbv@dSWu}2^E7#5&5%fLp_Uw<)sdz1=Cr4x7tWcX2Q+rV z|7-PFJAiyou~W&rX1gV%xK1nV8{eO%qoZsiGhyd^SU>Z~r`P!U2W?uepw><5VM1 zP%@UzB>SQ%%sK=XDE%4w$L&X|D#=FO0(=I8mhica$hJPMRkeAa`VeE) zbZ?X?hr>L4^VG`YB*bb+C~19m66?Ixi)30A#%lzJPB73~3y*ndnAt1XbagTDyPBQQ zCplul8dMn~Sf=69Ax}D6s_mR@Sa^2!5d)8>J|JPnsFwG~jzo1fCVd9Zh~NHeg3soS zxPxM~*GJEt3Qe7{iWeag&Ly_0SVb?|pl5qWS=V&zKgOB)IyVL=Ro`xqdMoiXP;=#e z>7fD&;V(hS_9>XA)1>}?uSNHKt9xDg^sp2=Aj9dl<0Y?b8U&7-3C^>oohVUcx6w7k!RR1QDmD_?1Ia-$xu z+-O*jK3U87s*}9Ij+`WTn>O)4rOml1dTlP{H*DXG+BU8oqNea}q-^Z1X35L%inSWk zD++j50wz-}OqR-wX52$lUno>eh49v`YB*jKl04zpj}R@>sQ3Pv-}Dp6nmW>Juhqkg zfC4%-b?V))#e;hgkPl1y}=R-<`1+%PUobpgRk-f^Pv9Ci>6Z)Ve$NWfv!d)=a}kjYu=HD&?2{`#Y0cJ z&)T0RjFXQ&Ao|e4Jz1!pY2}=0pIXtOlU$8jkM-krN~R$8D0N;9YYK>pP>QC_ATp((x2Pd^#lrX&)0;YK-AfCvCHH{#s9JuIk4()_oQ#+ zwGTy{atCcI-WZ?UI3NB?!qSV|;#Ncls&1$(-%$BnPtmX`<+ z>YWpi>_U`=6?-iN@*nSV>B@ z6B5W9hYR0sHVc#vTe|QvwbA_*+R5oKW0VvVxwH1M)%Qh@lF!MB#aX>V=~-EtEt(w@ zx1%+^E5f@iTlbu|JX%yE+agBxy;XB&o z##%&-7reuYJYVO0RO4t0RUEgPKmD5?i&=tq0u>NiBmulN#Pr5Fd@K6|7ATFz~$mS98#F=G?23X`^z@Cpb8Sh>7Z+H%X4Yp*LI$&Od`H%<(`8&R)3CW>;7W)b3L5Ue5b6`mSB5n5Cp!#XFwQDQBPj1Tdu-FpH)4=i;SwNu;z1;D&UgPaM%^6s0~m zcusD!%C@1zVu*r8CLlOM#753xrZ3|cPQ|J+c zVn;eV%AosIo%C@O`C)2g7Ddc(0GD$|$!(hA$5|_mM#!G4k{kjr^mnjSjEZ*F1?jfj z6IvR4j0EqetWHt8V7AdX53XQ~vn&M3l_dryeDb zD`T54aOp>dOCxxtwVmsI=26LcBjlSNHPb~--<1!Yxe{#~-xj_!wxTQe<4rAX?`6%< za?}i%2R4V^*F8HP%PRT9KIKd3e{WInnJAF6+5Q-oO{5a`3^iep)ErZ-ZPeZRr>PIp zU!PWPu1)s45SKK&=6%0SG1*f*qROY^L*mCQ%(kT`mBtCZOyomZ6fp#`;``g_Tfj@< z*^Bt0BtYa9LEgt_a-j+fz=W)`Lhd;C+iWN*@~9AVW{Pt6U1u#Q)SB|9DYSQxu=K=Z zloRgJ5U#{*&Qc%dalak*lkGVqmJ?y6kMO zB)P6a)Q(a6ON;YA^5#zo^TuYqYYY_7Z%(>k5}JvLw~DfTZ1w+`d+(?ww{Gn_C@2aF zSSTvJtAJGLMM0{9^d1Be=|bow!M3G?6zQNSC|!^$B^G*%Ql$oIkuHQ52+6mi;CAn` z&+|Ozyx;eZZx4sVKQ`gcy4PBB&AG05{W4q3^GqjH9xFX`QcdFJLum0}h3iTsRvvCB*E>NP<&ofXra&c`9_UgP5(cbgPQnJa;V=}Jh2x{`6vBm3+ zWTUMKKF#IQ$21#2EdbspVB}CM@VIN!Ci2tzAz*WAXU4E4sHDe4ud8yg{(9|aJV>m* zJYt0#7pq(;m{tn>6c}8_Lax#Hw6A#*0${|1olwrv!hT6!%*On{^Saq>o+cn=x^-zl zOID=Dr*t7qBnBXT`wvhvM*FQUq0yimkxfne@N>DK$ncBzemdw^r}Yl(E8p_yzIqWC zE;R_h=d*@_AUm{Y6K^}?+`b>2@M>cAj$3CP1j;_90FX#9%9Kp&4_QqPdIkG4U52Zu!GxS2%sO_cR;@wmQ`8G=U%qim<;Rqb_O~3MrpxqYHQ2vJO9hD z)=4-VLzp&HxO9|C_|@sAGua_M2hXaCN54KwxpK4Y`}}CFjD1x3cyuuLwN%Nk4WhMf zmN5J}ZSaD8L@(&uI6M9Ba>mlzIl=fQufxX(w7QNGG>N=Df{QoIs1Mb)zRRrZJykXo z)&fk83Z|6@1mZp`kDtT9ii8@UL#nQx2(Lw_tC&?=@u*cp=WKy5>5~J(TL4cq1jMkK z{u0rLR3}t;_D57;#@^p&d?99(EHgNXY2OHIKVAn-PU)#s7PG74e(k6wcMJs}h*p4_ z6(3J=i_3QAOPOPWR1ds-r@74FprgTrYDO>>%>=1@a$iIgt&?HpBnM`Vd}Az_wD4u& zbQzh$D9eUmzPc*}vje9i2UC>)TJC6WPPE|Oky$0~BZPf85G`7FymP?4QCy2zvkrEo z`)NzVhq75&u@^lkwmbs;sS{;QOV7K{%wlL}C~1|t5mtvs7gc=XefI&MN#`OYLHeM{ z>0E1wQe48A6lg`dOs!0PMc<;#As$$%wg!bC2k_c2CMqZ(4Q~Rja4t2%5jwS?3^jpC zo)9_AR?a@lQOfc9amW4g*6`?C?aM>&Hs@K(QV*6RqobpQZGreOcs)2Y?s;AB8E1Pp z(0cPS3EEuuv_NDfY|O>%c)bJl@tc|aC+#wy1}0zZ6S9^p)^;iYHiUF{Z6~edZO45; zttEzFeG_1}V(C(XGo2_tq`H22{XSbO$r|L}b`jiWm;hi3c}#nTv)`XAsie~(`6+YH z5Lgn*`8rDrM59%DZub1byPfBJsx9d6`f*e2|yRt<0M>eqFVqDf5iURFM zk_M#-cFb!nPd|a?suwh2^a3T`=)eRoZWE^91>kD?Ww;6!u`VpA(^#ofQ6l=O4=6A7 zj@o>X{7f_3K$(rXSC7{MC4$s&sy_-r;{_v=-?wehh%}?uwZ6TC%%E1tvdevTZ8}N* z#@5)tB~}BW!20(0k|!gUMW**NI=1#GZIe$lc}ts{^fc`_C`=hTAupwTds7J1mYU# z6*%@&TBow4JHhULJ6C))GZJ2SAUI|)9rBUPdaTsGo0gMqGp2y`4{D~EQi~5`AojcN zD-HxbB$U0u_bD5XO*$TSMglP05w22HvUnTl9eS`CGWN$eE&o_wrB5ptuK3+&tt5aY zR)mvfyH-+gU!=rp^Bq1&E%JM|ln%c4R7lGxWE^4S51@s&+UlJf*zccgglGw4Vt^p` zw*S+~0z@BK@xxF2C(PP;`ysGCfR5%`zi^)}rKom2`D%tdGxngh+!T+={tKVJwd_aQ3on&wW*-e#W{l!GrH8H$IlcfS*JVtix2!bOtU<6_3>n)2 zoo6p@UD1&d<~bC8pk8#EtK<~hsXUa3=_k0dEt5?%o`cL6#K%&q_ld>a<#gF6IZe@7 z;Zz6mENlI^=MG(G5l$EOohzvLrW!+WA47&k8{;c!Qy5(t9or?6?Y6qh9F5LVO@~zJ z5tHn;9?U4B=+_eL8Ue;EDer@@Wn;jdg7o{+w~mMs;YuD;}CvMc?jA`JcJn226(O-gG*Ac{h1? z2I4j%3hHH`Rb!hEZ8tK;Qa@#m9cwDj$0nWwosnNBWn3>XUUV^k7@b#vlmlDM%R}v~ z;YQ1w=jCZuZvgH7A9uoEt1-u^`U8(VZkrJ0(Ul3AgQ16*OnX>eA=jTUp>IK7!uwJ$ zz_*UZsjH%=A`7USU%amo?jtaT-;PXzJbyTLs_x*LH-2-O(I%ia1b43lPz3AEMOf@Q zsPBGh-(h@1-tW#v$h+2ClyQ)n(Fzp448k{;pIYS8G|2NDA)mhKpMIiQ@X|ndR1~vy zkVr4IETb;hVwC|#Js_$3#yV+v+oy`+t!6Aup=-g*Z8s`tRq5+$C%BntJ z5CpBsqUn!W+Idr#z+&~P!30T&Fy!;nOfNUKSi0&%o0@Rk)2jgz^o`N}Jrcz8 zQ%N76!G)17F7dXUqK&?zpt0_A05iT*s&5Tw=M9(T7S5Ginf27_4i7dz{g+p()Gdbi zUeWal?WlvWBtC31NDn=%sji)Qpm{m-a4+5MXSHtlbV++b2F!!6c2Kyc^T$q|WCH4d2Dg-=M zd#h<^fYKz`ri$F4+?mZnftp$Rgx-}7jFPJ_=a|3nRoLa}eWUGmE*I$V{WsDFM3l!l zC-jc^91vv6@P`Br+=;*bJ|m#Ovy_)jn|E2Zk{{MN^)d$0hj5^$u4>ooVcR z;CM4?2L_(c0-b|x~fsHZo;?Tk6w?ky?=q6krzk=y=C7ENrQ*FGYoc6-92e{;&t zsO8yL$|HAgdmk}sf;@a6X5Dmzq1rlb`cgl2%b`li&Up7D-Jc%zxT1Pf?@lvop<;^z zJ80_Dj3%Y;PYcEL%+ZumgvUHORjsS_eImSve4&E3{t-xsW|qKW!B7+Bu9Rz9%@gy=yc}sJ~65ju^X@ zv=u?;dK@w~HPx`VxH!MQ-j|+{fgl$IfI??oCs)^tWEVCzH*fd%_j`GI_IjLKR#da- zpZ4fF+#KJ!@$+obDo?dHnc$VtZ&g1VZVYpOU)Re;*qdX zpS&kqW#MyLut4;qL+@^Ppin8vX=!E8pFiipN%8~g;r!Ux(?i*%va8QFURPAu0b#

      oVPRfAK3_agl7Nf?Bo=1I#;?`il$2P5`*kmOcWdBURQ~2o_k&Aun;m1-QxPId5#ptrKvRh_}y}btDoxX9MAGsSk zA#s92$Erv4UKGtIztB9EXDk*+!oYw(gc0yQ~MiOBx_~suRl>^;zr@}EW*p} zq@N`S;%Ybk^h@dPK|`aFeTd?MLdXi={%wtO7H9RM?rK+MbTDDc-|}`I$336aUa$bV z;XR>SK)|4_in#osHw-aC*Gaj0jK~urA+NE~ST4|_ihJ~cL&BG<-4v3>&-2zT6?+{dgP|I#|Lz3u| zfUnwV3)ocTShAjp9-`FwRA%+mbB@W4O?#tm|1Z?q=qm@jPX_;o~0OpJh0->}r$om$^ZjeW)p)?C+!yjw!!>CRbXT-An!Z@sTl z&(a-#%lkSZWKGg8>^-YgX#?Xw=N7tG3OqB^RfNbqa^iP}!KD3ki<325nz_e}kiOE}B+a+Do@@S$_nP=C? z;_7_9AkEv6%gTrZ2^K4Y+=os69_Tx%W7!ZcvZD0kVh2?B(Q_WcY+pO66(n%|LLDVQ?k0{{&%z#F|S$u6DWF3qz~iP^8v@_GL(qx6$V-wOb8%nn@Q-JUgp zi+UbXy#T*8S5)G+<{%|`g8Xj4N((Q=oFvG}pS2&)?!GRPB!*DE4RjovJ8^)Va_F~5 zz0QM`MLF${eS-6D+<3~z#Z5|X);;2!C6?oJHDZC0-%u}inIaw z54Vtzw%__Ze@?QDcOkGrG2pqD%6GdnRSJ9+kSA0A<*Rg$(@dkEhi3TgP=ue%+z;IH zTc12&xyHsin9O+RxO$BVZ=qT7`1`~~Pm^o-fJ%9r3Eo(ByvVKmhA@VdGSJ}nSijKR zBv(HtlY)6Gw}E-fbn+QyOkDbp$Sj-LFAdHhRpAk?^~K&|=YWu`?yA7W`xLnUj>Y5g zafd%x`Y(vSSYB(e*ygxkZ;=FA1yjCcZRVD~uwxbDhM9*z{nEoprB|u6zXWJU5KJy6- ztW0ENj?K$lkS%s)s!+AGvR&npMz>Q$aARva(mv9;0tT_CEq>;H) z(R3DCR|BtDxIthz^&1NyQwtplrBdW*B}wh-2pntsXru4&JPvAUOf4S&E?>@dU0%Pa zem>DhzGg{=SuG%#bbMnEI)RMuAT;pcnn5w96ZY+SFE3;v*s|`=KHLTxg=}Tdq;zI+%RmMckI> z+ct%g6~O>W?|NHU)p+j>zTXJMEfEQ>O2EQqGht)pvns24hJ4^8=%yBbM34n7xC7PR zMNa{SqXk&)+@N`r)egpwOIvO&u4)l-d{iL;I2wUcisq^v4A}?X%Hd8oo2LLH(F$6W zDI%Ce8_hSS5}={UfDN&o+Vu^m67?I7fbX$d;u+c>!)=71qpAig36`h(THvsLS!L|W z{N%f+eLib9a&2gHiHZzIRUT$s`Z(do} zzBN;11Im{;;C#^x*h{vc3w-($P+JiLNouH@K!j$!Fj{K{wi44jpf+uEyghlWZ?4@( zfrx*@A49rbeF1jHm4ym)D=5v~M5W7#0Ejq~tk3HjP$3%cx(AVi9v=fu{UQiE;38Ez zVb1}jI>?a}wgz5NBG)#!T+*_80h=DJvf9p)9xA57zRYf$_B>m@R4@ZnRxXFtooWEq{9Vmp zCJ99_ges-Igu1xAV18a;>ovxnO5_39yY0$@l%!c}U2rQ?i#s-{V!rUtzdP@j$edS> zCf*__cqBGH@lZ9qWId`RY#;Xh=CW3Bk-D

      bob(+$Bf79252J?I2e#%{{Y_7b7cdpc+(%FatY_d%&{E?(H=z{QSIAv6x%_A$zS8 z&qI#$hUV%#+ecs649eZ@UrfcG*^uV3j-_RKzGbax{zEE; z&lpwvJuvMC_7}|n!Nadcb*}Wwc*MogcP=cq!d^U&l-9^hxP}t)`@z%h{>RP( zwr-V7$-|1Wm{i6Z*844dG(2-M3+g3S`CP+J`#RMn4FuK0X@oDp#~L3sbhJL$JWqHh zm(ykEG_rn4hW*RP}ss0`e!=BW`_khD79nG38IR=_<^($PaeL{w}% z*q~T_fX!pbxx)V9!8c`(=rx}DtsjxNh;eb6^sO8HERzH-G>~C8)M@myL2kERayT(9!jwu^bf8Y*p zwrY^l4dL%+oV4%7uBD}XI34=2Or;@8CSC+bEA)JvxP9_&H2q0gY`bVSWqp_P)oA)h zJq2d{TxsHN5ox@oLk~66+*|qGfi^S=d1%CPI?*PQt_SGRVu$;MLH+w&GY_telbmNd zMcnaLW6x2_!L(@}cJkphgH7_ght0T>6JpIou#efkrr z{)<)Fuf`^0wdo&pE&9F~i_sJmM#OrhgM~)_f?4Q8;Y>lrXy`+3V`^?-fsp{jK_BZY z=0<_ph-jffwiZ*MHVusB67XJ$0X_wlh>L#AjoL)a?_jYLZp*5)wFf$nSm_EoMcwN?cc(s;{v2674V&SyiI2GTWVYkuP1eGA4&CHe zx>=#>)YTyl=#38KR=*3CxI+)^q>Fzh^NCW;AQm8b6z?B52}$!==0rNw=l5ljybX@7xtlrt(0AJ*7bw_TVF%RTb>uJ_ zR=(pZd8$FN(dsraD}|%|ct4bW>LW@xIOE7tL)vCKJpIseY|9H=!epFfVdePYH!2}6 zNA5D8Ej7k~fEy2%eyAoD!>3BOiSN-sjLiDlN=b&Ul7hFg;~=4640Rh^b>AbIm0+WR ziCM24vVQvBFu5%K5SvBHxG5;lJ8Ce_tjN-SIC_RpM#jv%p*Z{P5iNi;8UFH}ncs`) zJO0D(`(7&w#W0QL3@4q^PGo==b60{xp4{NB+1>HFr4v#0H$?7=W-kqwuB0xHY`Pgo z=W9hQ`Lf6ay%1jTy8|rKZt#);5p^E@-EWSM8;(dxNj+pCNu1a&9!i_FbLkoqxW{KL z_zCxP6Ei+o>tDe(?6AMu=z)dy@IIb!#5dmu>AdTCS=L~nt?{U)V|=mvGuu6D)q!CKCZRwuis!|jV+5S zEKT_U_TL-Q2aE^#p8-dzd*C3<{SBPU698C<;SA7UrVaaI(xx%sag{apb?&b?_}+II zLEIq;bQ7h%Es++=E8wH?(WBN)=Im1-aeQQ{9pLpjgy8#P3mtvI@vYm$mF|;GS#^Np zN1|v|4ht9%3U7+|QYs+7{}#i8OJ^V;f;VadkO2GHn+KyG3>_lpu|1mT0a@Z6J9Xw< zh>g+|Rb58ZMc@I3CpS-sZ&{vLuGHDeGpi^xhvTO10g35Fm~qn?Sol+L(Px@ZVgg;` zxHx?0z7+65%6b6=>`fkm#o+FoW}q&x+BmtMbX((@a$1ykq?70DTMBg$Sd0g+j)N1@ z$vo?ZP+f4?`#u+927lmvTQ-W;F_(f7T+L+9tl#(%vq=jjr_ zI_}@;sg&K=Zz#KE`(m{pY`Pa`1oj_1dj3n_3vj^84tl=@bk>s~!FmkDW6h)tCc0*{ z+&Se;;Ob}Y!OG<#{TRT#fUIDZ)C$ik2Qq=$8tfZ^P z9p;{AL(Y>vHLQQ8vk67vqI*H2Ui)2MQU5K6fE|t!DmA~4&Jr%QYli$5Z^c|FI6+W3 zmbEmu&IGnp2F;3w#0xj>Nui{t;`AnKu${3n;HC0PEtGcON#_XxZ36nm9(8^S*F9U_ zEm%Aef(pj+YD*k~%>{EtMgtq1FuEN-mO&I}ee&#^Q@}&dCC_F$=b<##OlC z8OAvv=3{taai!EsBTOl@>#5TI9Gz$PjQt|KqCU@wjNu+C{`O|)_Z?Fwq~M6OYb5yS znBsKM#z>IM!?4hg{)Q019<3a`53{+`E#FDjd1QF=b>&&2PUO;d9sl`ek7WHmYsd&k zX5}|y>Fmg~OPX9C19^VjseGmc(9#?o&$#)pmvR5zN+CQ_zh@`#9&=z@9fZp7BUNpcU!PM z{l~w`>PC|ye0bVcjUH5QWQ(G@^cw~!zK+df= z6`tOz$i$4x;p(81J1?iOzwe8oLDLdq04IraohBYZ24 zhHGB(d$o*x+ar{Q)bfN+;pyYkP80r*-0{jB@ApOTfW(ypBx3z*7gUYC&M@mW$#xA_a;(dopcYRJ-!8DG{C}~F}7m%`f}r~+#l)>kgHvqT|gHNx-5(U6|CRM?Vid} z;5yV${K9#t{GLnog2Z;xK=yuc=Y-(g|Bec}Im~nEt}Ghli+HKElS{ zFp^)hVy6_m_o0vXHJ|Voy@L}IX95y0rp6X8SJ}RUgE)V|V!ww>DjVgclXt(Bc{wtJ z(ImXgoiEk91dOw^?wMAf!t06A6^$GcQ;!(ANXV#_X^u}(n}ArBZ?lv0QPn3?KKMW< zNp?=K(N>cD;2616kP7*+;2_AobZ1mRf&ENT7uSmnJHIQ-OS~o{MMH%M1Mb>fZG)LU z7O%0~txy%!)|na>J{g7?~D_D4n9PHE08xi0(7uC#7m#7$hs&OI`2IIJ2kBh({& zTsuR)V1j)%(88eJt=H4HaPU?6Y+%`upC5aNmN>NLjr-V!-8dOUJz^quSz_4e#cI6Z zh_|L3gWZ_c2v^|qDW5GPK4ASZ{J5+iZ2pw+&i8~vZ3A1zs z1iaS()$^wJN|}MP;m~f0uxR5bTOZmr0r{L@txBfmC0zjkGFd|`wjoMWo-HYsI?S+Q z!_&gRBEHs|a3>CLpWLZ%rL##nH7e6*_1ovF;EBAVItM5SSq4UOdMLxwy@q9net!1% ztv3YVQOmr>;JkE{?PZ~jkf@izS=-Ra1XQ33O$jdVAC8HT~C`iYud>8 z0R;L0q2IG6o>AkKy!&6`Q%V?@(b(EGHlWcT@t< z>nFgAVQW3Hf036fBV~Lo6TS7K0p@to{$nJ5nGa|1u&mH=&kEtuD{;HIC1M3`ZNsMp ztp^dg#XG)3e;2oLqL-J!%-qK4naC~G>UM!qp(NI%K*Y7{fv{k_+Zpery?cfrV5wh9 zaNa?v?lg>YTA6x?-S2aO*aS#;Fw0JH)nk3*31?EJaxGV?yTeu{MlVkm&H3SenXLCV zy2%#FpdEIGwuq5iVayb4C&gCN!bP1yOQ2zU``b8maMD%OZ#ddVDCYy@WWz*fRO z+*xD#m37PA!az^WfO6%=xFVxTZPgay%eG&(5`_|x6FA01VjEamHYXlB`FjJxOaWC@ zb8cJ~61dH0S0d&InT7U;BVi)b%^4*Nf(UtC!UbwC$nJ&0*!$egk6YUXD@8@f;Bv2d z$T46YRnpf>akaRh#e~{=?!XY{RzoYJ^ExW+Eq>dF@ESK%J{7eGSt)e)_BKkP8Fu>f zMVN_|Hf|R?21K+b=*c3Luei910K@rm;4EP=-8F>?!m>^-s^N$?5ANM7usEe-U}Vi5 zeaHghQa-Y>4#HJn!Q1z3{!^KF6Q+t=Jt@=AHdq2nXv64L>~A@N)0Ag$PT0ObmEpZ- zpcC{6^u?MWkQM|m89cSg)R5fjGcr}Zz0PJ`M7jF8xGFb9c`WM5vu*hNN^f8P{3JV8W{g{8a)P`emzW&L-l=(E`iTDu|L1dEyD@&d<}U zMaZTfbLqGFc+Ofms&W;yNe=f*|tqeX0Q?>sen*qU{al+CvoYIhS;Bp^Cdh@kI|`d|nf5ba|wW4$Qnp_x{`Ku(gsDJF%R-?XXR{40Zr)LF2v}`sP@lES&p#T0~U>iJMxIgLsHD*h%>6c zz1p&wcNeICj3_B44Ed9{)2qHczl{50kVQRGrhLTeo$THl)4>$glMKEP71hebdbxTKgTnC4n^$~A$8Q{^B2Lh$w$W*Rx4lc(x z7nkcRL;v%aSe<9O)g<^0fN|<&8*d!C-FSVOE4)@Qe= z-|8Uk+|tE%WF5i!m7^<}n#s0+nx#&Q?$&G~J+p%6{p1M(zOI4I?3OCwRFR&Xe-D0( zJ>8p3Y61+8GpMM-{DGn7&_q+z5Rg<20fE6OA;aH)jpXjPVu&`&-(4Br2cw<71vFp+ zt)O3Zr#I)VLkjdd$8o}o%+{au*4Y;=w(yC=?nG&fc6ZMoU%SF>py_h{eV}lZwhsDP z%kr-O`~uMvRzE*G$P`wnw~sJ4hwdZxr>!xxf$8S({RFu6#%H4GxzR$`mrJh5Bp|o1 zLA91gPFoOCH`bF9cIxS=%l-m~raVoRs>qAr9Mxm42i4jHnnW)#{L;>jK0bfk1=fc0@U=c$9dCc+sAC zzzb4LfPdUw_a)s`Y3hFnj;!;w+3NVJjIQ3BO$;j=48Chem^q1k1g^xpPbgfe4l<{~ z?nYCvG_I01-*WJN_4NedrrW)#ueCw&be_aHCO{jXPex5-*;``LbU@W1 zY#nr-SAd(x&wDO*#F;XsxuuF`u!YhMR7VC?F_z?V$*0VUANZ636>Zw^bu}!V6m`6b zuf`X&A;UD1K2D*q!|*t^lt-{^)<5*>2U|8zhzUgvFmC^Zqv456ZyML{W42(S^CXZkYn&4xABYcWYV}qa`7! zU`GfCCEx)t2SYm)5F%zZf!lqcE#?-3kmdPu;_lW!dbJ4~qk)Z1&z$;s)3>13Xpn-l%>12I(_>(k$UK;%WvRG z5VcR&nwS1K(KDgn#e4P0z@<2yL)TTyZe51knL-^JcV?njLBkpidwcpx#ZO(W>;>dL z(lRmy)z#Zk>$@ij(r0@tmSmDLPR&W7R`|Zg7tc-kq7KkbnjiCgeHnUBwkRbGd0#J~ zC(Lqg(>buV;>aw<*AmYT@I@L7=;WQjErSXxNhc1B z$G3{U{s7|r{PvXWC$OCc9pGXT%7M7f0U3W7QyIH*^>nwA8m8Mvr(|j+fJ3Os_Oqfi z7g@KHP{dr@TFuDpBic|`;jc@T{u_l0Bh~$a&^jmWbXk5wo8?;8ZC@nI=~JglKnZu? z`}fy@TdO&g_Od?TpHkjQmGSNbbLUnO6e$7H`MhyFxaQBF0nP{wQbon!rj9211SWtY zIzb3JNV-+IvuDHyp0!<>p5>JlsfuBUW$3!acO3G$M}w2#72%QlT#AiJ@z{~`@%~!U z&;+m4!0c=R zAW8lV@DKL_+J6}6!!853_%HSK4~`r?ItW@B!)R6W8XFs(NG(d>x;T>n3U;Aeiyt0R ztxvTv>;-uUBq(X~!~S-pksh)a|8Up_Ov$SG%lcxE1ricIM{jrYQN+%~@O5krrVpp6 zr3|>vK0^1P2D9p3zP?0hC>I_ce&TB=C>{;XbiXVx%)=ocF6~rGF7=D|d_~GJmRL6& zmI3Y(1?E*Hn^7Kskm0pHZ!$MCQ%r2YVKL5NG*!&N6-fywBn<*NytAL*pk z^!L*^l+3naFa9Ey$i2eAy^l?4L-&(?s|tll_6tFNdgj|KFU=;+dBk-GDs&Z`6Sjza z1lqiVM5i#)^zy|{C#_7>)yczXSmjHzTUyj%K(N8L@00_;dw@$X3CCV=(dPu(3bH{l z+e-7vdEpJhj{l!y1IfBX*nR zAZsnI3xC_AUAFKFUYj<{tG<$81Yw7a=lRr6)}UXKMKfiXfF6i42cWm0hY?H|FX}1& zHb-Rf@A3WyYi1~@ni;nt$Sz z?8P&4_@h_L<}pIdD*-&>9=@^4v7&>K+0L2CCi>8W`9wC@U=Bfn&~=#2xZ10r>ZNvu zsTQgTn2@9r(vy=#vd%rw-^;$h=g+SB(Lr*YNHe?y7uL6*jU!6>v8G+@tAe+w{oLy2 zXJ_J-2Ya?tFx|H)V)SS2wo*$MvWH#~&TrNqB#Q>MDYGZG*?1oh5B;TcJr3fq`}gm! zfBkq+4@~)ruU~KE{kG^I(1znSW@o|om;|$QIfhGc@#e>h+XFG1l8*y(J*VK#su`Z@ z9&*ZSFeazLYim-k$$8OfbY2eFavsO+kZb83d#USTazeeV zKFu?N_}cp*t#07;Gfk*=e;Kpt>%H_TXR{#sx_nB9HMn%t$Q3EsUqKFC3eCU7MW=Y| zFeN`*kg|h~3b)Sm$OfTvEdfnTp3QKy>#tdQKG6&MtGxLnx zbs~07sDw%}d6he+^$CwjB2`PO;CY^_xyJWuYRRI;5cP}$bxz`t3);a)QLKxx%x-Rgv0@%6cu!QY*V9at9R zB5VWU#Gkra2>d1A;S?lkuwb)7T!yiFkYoF)jT57uDseOUMU?Y?ZlK@NZJ{!7Us@VB zQqR(Yj+dR4S79q|Q<<*;4?<(cXJcbi4)&_bqgm;)zT>JN>MuotAep#@$HC4I-Wk1q zlgyVTtK-jeO3-y70wp`+_R`1D3;-6q4(WQ_8h6&-V!SIfHgZ@`(?2%ye5Zj3=B

      eAOgjl2&!~hi8i(D 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 *l{%_A?1PKh9nB_|2`(9-ou7xAEw>T>ntl9 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�)W@iXQ~ zeArlDClz~0FDfGV;K3KBN=Zq{zBz%Lq^-=%%;TAJa~AOl3AY(G-Q3(hTM0`_zSZ@z zZMHlZo19Fpt*fgM+SuH@ce7bcG7tp}kxTH}JIjOb-QADxIV%>Q&+vyrFHcWTpUWsJ zDOnTp^70zQV#U3KjPnZ$nCXLc{hED$XLchVJnwC8CJ=n)>uX5R*WZ7>lJ6ksl0Cz% zTi+_%XuoBQ)A?|+_U`ugs~iMST19g_cW@Y)m`GBf^*LxwIP|GLNEtg}v zi9$WO^5yZ!$jE_KLqo&3;&g6V*^d#_w>!4X%LREXNXtU%U(7R4b>1QXvOkmPuiE zykjP=!2*{eNP6B1sgo7zu2$a5{hdoV(%twxcdv3px=1tUfpo+7!t&*Pou^L>%&#kJ zWVdLI{4f{n3#hqom_&3%JfYcQq&I%#%XOU=pK*c|tty$sPMz_*^*0h165ttK zx$T$4Ld7-#h;geJ-f;l_wI?Fs8Ei))RX+nLIj3f4xl2r&5&(fw7G-W`CZ!ln!XSCa z`qF012Gy>WScl#V(jTjCa3UG*kN2gcPQ-6qttK50W$X481=X<6mr&g>$Me19T^A#~ zp3eZpGscLU?as1hq=@s}>z@xE-+g$W697P=vqI8|b)E^v$NH7Jtk%;f0|Tm;7N@G5 z9uoZA?`*E2pyl2^j})6wBW1K5NTt@g5Tp}w$yD}AtgPG`u-813s?Nlj$mNZV_@!Am+2`-w)2FfNA6a9&UCH2Qg8dlWx|@*-|obcZprro@`8Xq6nn58HQuu| zJrS8$DM$s$`N)&M#ZtJ{BK_Ovkyz)%}lzL>q0=>A~}A(PTMKSar|=HAmPRrGQn0+ zy|Z@a0);QFzZmUZ*Si=RhxyW+v8Ha*to;5$todc-H;)IiYi}B82^BcLzVP(B^`oVy ztJ=CU*M{?oM;x>j!-bHqMr)Xj-{RaFl<(>qYnW~37Y<_MS6xhfWJQ>OnCk#$=_nft zbjUi7p}ILgT2{$rGc}TENX(7QqCRWhJ$fqO8q3u81>!83@ur55^x`=!?!@!4-Lj$W z55uAnC`u2CqfVFZMVCqe`rfyQNc;PfXccMZCw`#=@diaU3@w4)4MyC1`}^7QnN0hU zd7Ag)&jpx=@b0Ijs% zZVe_IN{@c5l*e>`PM1zK;--|o9ZkB;OCPEKgvy8kx4GhN%|~4*0$um>ZZN3}AID6o zYCSRPy-~Vve6HW-N#XfIv)!yjf~8%NwxK{hb=?mg`+MSs^$+(|yN=xCvD-AQLn_^1w< z_am(aq_w4J+V`9bJn5B}rO*_1No`$PTg82wZSNFA5PgiBwaxI? zArOn2*n3@AR$yUcWApvOq5soHsRW6~Uz{)TC6yTN9*GUmoxNC&KOVRyuhDu&Smgvyb7}DrUkw2?tC?nOiXN0cQ6mJ}+s8nC_Q*8m7vRS!S6V=Nh z{pW#jCN)1KsNa7)N0dc#03!sn*>b#&6!vW#BBxB5sF$r+!x)_r{;yWv#Fo7jHg-ha~&nCQs9;Kx|#LXt@yI|OS4Oh z&@av}Zl7W2ls~KJZcaX5&zd2`GI4`x80LMk>!G9q@r!XkV`Dqi+1#?nl*viZR2|FTJd@Hhfy(Rt=s3XuRnen-kaF%H-)j#%1E-Um(ItTxcwrn%*~P+>)8`T^qVpVAN{(CxUtak>tR0IcYQxR zI}We-stvc`h%0-JFi}NoHz?oFjPH0e3@r$?f#9(G)UY0_4)va-8~5pl{S#uP37%hf zbESRJOnB}KBcmMSR*^FE)tFNCb9}h2+*v@ayz-u-U@J1{QY_&@MJI2t)yNgAkSGln z_Sm<{LsECzNOhXev7^T=Nt_b8@6x281yIMZBzwwKPzglsEy>f69k)Py#lRMUL* znLvB`*-MOL!WW|`;Z|pR){D-UGTl#z;ySCZW>u8cTX0t7⋙DZ?3|Ofx?J0q2k7j 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 literal 0 HcmV?d00001 From a19a1b669f53d821111b6ca307a6ea35cf8e9318 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Mon, 26 May 2025 15:18:04 +0100 Subject: [PATCH 191/723] Unit docs minor formatting fixes (#599) * Unit docs minor formatting fixes * update community doc for Unit --- content/unit/changes.md | 2 +- content/unit/community.md | 27 ++++++++++++++------------- content/unit/configuration.md | 1 + content/unit/installation.md | 8 +++++--- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/content/unit/changes.md b/content/unit/changes.md index f53aefdd8..d08c94900 100644 --- a/content/unit/changes.md +++ b/content/unit/changes.md @@ -1,6 +1,6 @@ --- title: Changelog -weight: 900 +weight: 90000 toc: true --- diff --git a/content/unit/community.md b/content/unit/community.md index a61629678..0244eeb79 100644 --- a/content/unit/community.md +++ b/content/unit/community.md @@ -6,25 +6,28 @@ toc: true +## Maintenance and support guidelines +Going forward, NGINX Unit will no longer receive new features or enhancements from the project maintainers. NGINX Unit is still open to +community contributions. -The [Discussions section](https://github.com/nginx/unit/discussions) of the -Unit repo is the main place for discussing any topics related to the NGINX Unit project. +The team is focusing its limited capacity to keep NGINX Unit stable, secure and high-quality. Its focus will be on critical maintenance, such +as for security issues, dependency upgrades, and resolving crashes or undefined behavior. -Here you can share your ideas, ask questions, and discuss any issues both about -using Unit and contributing to Unit. +## Discuss NGINX Unit + +The [Discussions section](https://github.com/nginx/unit/discussions) of the Unit repo is the main place for discussing any topics related to the NGINX Unit project. + +Here you can share your ideas, ask questions, and discuss any issues both about using Unit and contributing to Unit. ## Reporting bugs and issues -- You can report issues and bugs on the - [Issues](https://github.com/nginx/unit/issues) section of the Unit repo. -- If you have found a fix or want to suggest a change to the code, - you can open a [pull request](https://github.com/nginx/unit/pulls) +- You can report issues and bugs on the [Issues](https://github.com/nginx/unit/issues) section of the Unit repo. +- If you have found a fix or want to suggest a change to the code, you can open a [pull request](https://github.com/nginx/unit/pulls) on the Unit repo. ## Reporting security concerns -Please report any security-related issues concerning Unit to -[security-alert@nginx.org](mailto:security-alert@nginx.org). +Please report any security-related issues concerning Unit to [security-alert@nginx.org](mailto:security-alert@nginx.org). For our mutual convenience, specifically mention **NGINX Unit** in the subject and, if possible, provide a [CVSS score](https://www.first.org/cvss/). ## Contributing @@ -44,9 +47,7 @@ You can also ask questions and discuss your suggestions for Unit by: ## Documentation -If you are interested in contributing to the **Unit documentation**, -or find a typo or an error in the docs, you can submit a pull request on the -[unit-docs repo](https://github.com/nginx/documentation/pulls). +If you are interested in contributing to the **Unit documentation**, or find a typo or an error in the docs, you can submit a pull request on the [NGINX documentation repository](https://github.com/nginx/documentation/pulls). ## Source Code diff --git a/content/unit/configuration.md b/content/unit/configuration.md index cf7487c2b..a94af0aa4 100644 --- a/content/unit/configuration.md +++ b/content/unit/configuration.md @@ -470,6 +470,7 @@ with arbitrary status codes, or In its simplest form, **routes** is an array that defines a single route: +```json { "listeners": { "*:8300": { diff --git a/content/unit/installation.md b/content/unit/installation.md index 62fd09740..dc973633d 100644 --- a/content/unit/installation.md +++ b/content/unit/installation.md @@ -223,7 +223,6 @@ Supported architecture: x86-64. **/etc/yum.repos.d/unit.repo**: ```ini - [unit] name=unit repo baseurl=https://packages.nginx.org/unit/amzn/$releasever/$basearch/ @@ -550,8 +549,8 @@ Supported architectures: arm64, x86-64. ``` ```console - # apt install unit-dev unit-go unit-jsc11 unit-jsc17 unit-jsc21 \ # unit-dev is required to install the Node.js module and build Go apps - unit-perl unit-php unit-python3.12 unit-ruby unit-wasm + # apt install unit-dev unit-go unit-jsc11 unit-jsc17 unit-jsc21 \ # unit-dev is required to install the Node.js module and build Go apps + unit-perl unit-php unit-python3.12 unit-ruby unit-wasm ``` ```console @@ -1759,13 +1758,16 @@ For other customization scenarios, see the [Docker howto]({{< relref "/unit/howt
      Image tags for pre-1.29.1 Unit versions + Before Unit 1.29.1 was released, our Docker images were available from the official [NGINX repository](https://hub.docker.com/r/nginx/unit/) on Docker Hub. +
      Images with pre-1.22.0 Unit versions + Before Unit 1.22.0 was released, the following tagging scheme was used: {{}} From 8f50b7a9b477681baa91d5a9e1ba609cd9628913 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Mon, 26 May 2025 16:30:07 +0100 Subject: [PATCH 192/723] update UNIT product card link (#598) --- layouts/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/layouts/index.html b/layouts/index.html index fd472aa83..c4834aa1c 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -178,7 +178,7 @@

      - +
      @@ -384,7 +384,7 @@

      NGINX as a Service for Azure @@ -408,7 +408,7 @@

      NGINX Unit From 5da80f25a140502542b6fca2fe0e75631d9b313e Mon Sep 17 00:00:00 2001 From: yar Date: Mon, 26 May 2025 18:53:23 +0100 Subject: [PATCH 193/723] Updated NGINX OSS installation procedure. (#568) --- .../installing-nginx-open-source.md | 1372 ++++++++++------- 1 file changed, 795 insertions(+), 577 deletions(-) diff --git a/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md b/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md index 889d9c936..0394b8053 100644 --- a/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md +++ b/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md @@ -9,548 +9,610 @@ type: - how-to --- -This article explains how to install NGINX Open Source. +This article explains how to install NGINX Open Source on various operating systems, including an overview of existing NGINX Open Source versions, installation types and methods, modules included in the default package and dynamic modules packages, and the basics of compiling NGINX from the source code. - -## Choosing Between a Stable or a Mainline Version +## Stable and mainline versions {#stable_vs_mainline} -NGINX Open Source is available in two versions: +NGINX Open Source is available in two versions: Mainline and Stable. The source code and release notes for both versions are available from [NGINX download page](https://nginx.org/en/download.html). -- **Mainline** – Includes the latest features and bug fixes and is always up to date. It is reliable, but it may include some experimental modules, and it may also have some number of new bugs. -- **Stable** – Doesn’t include all of the latest features, but has critical bug fixes that are always backported to the mainline version. We recommend the stable version for production servers. +### Mainline version - -## Choosing Between a Prebuilt Package and Compiling from Source +Mainline version (also Mainline release, Mainline branch) is the latest development version, updated approximately every 1 or 2 months, includes the latest features, bug fixes and security fixes. This version is recommended for production unless your organization has strict requirements for stability, in which case the stable version might be the better choice. The Mainline version always has an odd middle number, for example, 1.*27*.X. -Both the NGINX Open Source mainline and stable versions can be installed in two ways: +### Stable version -- As a prebuilt binary package. This is a quick and easy way to install NGINX Open Source. The package includes almost all official NGINX modules and is available for most popular operating systems. See [Installing a Prebuilt Package](#prebuilt). -- As binaries you compile from source. This way is more flexible: you can add particular modules, including third‑party modules, or apply the latest security patches. See [Compiling and Installing from Source](#sources) for details. +Stable version (also Stable release, Stable branch) is updated typically once a year or as needed for critical bug fixes or security fixes that are always backported from the Mainline version. This version is recommended for environments with strict requirements for stability. The Stable version is always even-numbered, for example, 1.*28*.X. - -## Installing a Prebuilt Package +## Distribution and installation methods {#compile_vs_package} -Installing NGINX Open Source from a package is much easier and faster than building from source, but building from source enables you to compile in non-standard modules. Prebuilt packages are available for most popular Linux distributions, including CentOS, Debian, Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES), and Ubuntu. See [Linux packages](https://nginx.org/en/linux_packages.html) at **nginx.org** for the list of currently supported operating systems. +Both the NGINX Open Source Mainline and Stable versions can be obtained and installed in several ways: - -### Modules Included in a Prebuilt Package +- A package from the [official NGINX Open Source repository](#official-repository) (recommended for production). This is the most reliable method: you have to set up the repository once, but after that the provided package is always up to date. -See [Source packages](https://nginx.org/en/linux_packages.html#sourcepackages) at **nginx.org** for the list of modules included in each prebuilt package. +- A package from your [operating system’s default package repository](#os-default-repository) (suitable for learning or testing). This is the easiest method, but generally the provided package is outdated. - -### Installing Prebuilt RHEL, CentOS, Oracle Linux, AlmaLinux, Rocky Linux Packages +- Your own package [compiled from source](#sources) (recommended for advanced and custom builds). This method is the most flexible: you can include non-standard or third‑party modules, apply the latest security patches, or build the binary for almost any Unix-like operating system using different compilers and custom compiler options. -NGINX, Inc. provides packages for the following CentOS, Oracle Linux, RHEL, AlmaLinux and Rocky Linux versions: +- A container: suitable for development, testing, production deployments in container environments such as Docker, Podman, Kubernetes: see [Deploying NGINX with Docker]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-docker.md#using-nginx-open-source-docker-images" >}}) +## OS default repository -{{}} - -|Version | Supported Platforms | -| ---| --- | -|8x | x86_64, aarch64/arm64 | -|9x | x86_64, aarch64/arm64 | +Installing from your operating system’s default repository is the simplest and fastest method. It is suitable for demos, learning, or testing environments. However, for production use, there are some considerations: +- The package is maintained by the distribution’s repository maintainers, so F5/NGINX cannot verify its contents, build process, or update frequency. +- The package may be outdated. To compare release versions and features, see the [Changelog](https://nginx.org/en/CHANGES). +- Some Linux distros, especially those focused on long-term support, provide the Stable version only. -{{}} +For the latest official release and better control over updates, it is recommended to configure your package manager to install [from the official NGINX repository](#official-repository). -The package can be installed from: +The installation steps include updating the package repository and installing the `nginx` binary. -- A default RHEL / CentOS / Oracle Linux / AlmaLinux / Rocky Linux repository. This is the quickest way, but generally the provided package is outdated. -- The official repo at **nginx.org**. You have to set up the `yum` repository the first time, but after that the provided package is always up to date. +- For MacOS: -#### Installing a Prebuilt CentOS/RHEL/ Oracle Linux/AlmaLinux/Rocky Linux Package from an OS Repository + ```shell + # ensure Homebrew is installed, see https://brew.sh/ + brew update && \ + brew install nginx + ``` -1. Install the EPEL repository: +- For RHEL-based distributions and Amazon Linux 2023: - ```shell - sudo yum install epel-release - ``` + ```shell + sudo dnf update -y && \ + sudo dnf install nginx + ``` -2. Update the repository: + If the output of the command is `no nginx package found`, install the [EPEL repository](https://docs.fedoraproject.org/en-US/epel/) that contains the nginx package and run the command again. The EPEL installation steps include installing the repository, clearing the packages cache and updating the repository info: - ```shell - sudo yum update - ``` + ```shell + sudo dnf update -y && \ + sudo dnf install epel-release -y && \ + sudo dnf clean all && \ + sudo dnf update -y + ``` -3. Install NGINX Open Source: +- For Debian-based distributions: - ```shell - sudo yum install nginx - ``` + ```shell + sudo apt update -y && \ + sudo apt install nginx + ``` -4. Verify the installation: +- For FreeBSD or DragonFly BSD: - ```shell - sudo nginx -v - ``` + ```shell + sudo pkg update -y && \ + sudo pkg install nginx + ``` -#### Installing a Prebuilt RHEL/CentOS/Oracle Linux/AlmaLinux/Rocky Linux Package from the Official NGINX Repository +- For SUSE Linux Enterprise or openSUSE: -1. Install the prerequisites: + ```shell + # ensure Web-Scripting-Module repo is enabled + sudo zypper refresh -y && \ + sudo zypper install nginx + ``` - ```shell - sudo yum install yum-utils - ``` +- For Alpine: -2. Set up the `yum` repository for RHEL/CentOS/Oracle Linux/AlmaLinux/Rocky Linux by creating the file **nginx.repo** in **/etc/yum.repos.d**, for example using `vi`: + ```shell + # ensure community repo is enabled in /etc/apk/repositories + sudo apk update && \ + sudo apk add nginx + ``` +- For Amazon Linux 2: - ```shell - sudo vi /etc/yum.repos.d/nginx.repo - ``` + ```shell + sudo yum install -y amazon-linux-extras + amazon-linux-extras list | grep nginx # get package name, e.g. nginx1 + sudo amazon-linux-extras install nginx1 + ``` + +Check the version installed: -3. Add the following lines to **nginx.repo**: +```shell +sudo nginx -v +``` +It is recommended to review the [Changelog](https://nginx.org/en/CHANGES) and compare the features, bugfixes, and security fixes between the installed version and the latest release. The latest NGINX Open Source version is always available from [the official repository](#official-repository). - ```none - [nginx-stable] - name=nginx stable repo - baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ - gpgcheck=1 - enabled=1 - gpgkey=https://nginx.org/keys/nginx_signing.key - module_hotfixes=true +You can find out the path to NGINX configuration file, error log, and access log files using the command: - [nginx-mainline] - name=nginx mainline repo - baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ - gpgcheck=1 - enabled=0 - gpgkey=https://nginx.org/keys/nginx_signing.key - module_hotfixes=true - ``` +```shell +nginx -V 2>&1 | awk -F: '/configure arguments/ {print $2}' | xargs -n1 +``` +where: +- `--conf-path=` is the path to the `nginx.conf` configuration file +- `--error-log-path=` is the path to the error log +- `--http-log-path=` is the path to the access log - where the `stable` or `mainline` element points to the latest stable or mainline version of NGINX Open Source. By default, the repository for stable nginx packages is used. If you would like to use mainline nginx packages, run the following command: - ```shell - sudo yum-config-manager --enable nginx-mainline - ``` +## Official repository -4. Save the changes and quit `vi` (press ESC and type `wq` at the `:` prompt). +You can configure your package manager to install NGINX Open Source from the official **nginx.org** repository, which provides both the latest [Mainline and Stable](#stable_vs_mainline) versions for most major production operating systems. See the [Changelog](https://nginx.org/en/CHANGES) for version details. -5. Update the repository: +You need to set up the repository once, but after that the provided package will stay up to date with the latest releases. Before installing, ensure your operating system and architecture are [supported](https://nginx.org/en/linux_packages.html#distributions). - ```shell - sudo yum update - ``` +This installation method is recommended for production environments. -6. Install the NGINX Open Source package: +### Repository contents - ```shell - sudo yum install nginx - ``` +The repository contains the latest versions of the following packages: - When prompted to accept the GPG key, verify that the fingerprint matches: - `8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46`, - `573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62`, - `9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3`, - and if so, accept it. +{{}} +| Package name | Description | +| ---------------------------| ---------------------------------------------| +| `nginx` | Main NGINX Open Source package, contains [core modules](#prebuilt_modules) and [statically linked modules](#statically-linked-modules). | +| `nginx-module-geoip` | The [`ngx_http_geoip_module`](https://nginx.org/en/docs/http/ngx_http_geoip_module.html) as a [dynamic module](#dynamic-modules). | +| `nginx-module-image-filter`| The [`ngx_http_image-filter_module`](https://nginx.org/en/docs/http/ngx_http_image_filter_module.html) as a [dynamic module](#dynamic-modules). | +| `nginx-module-njs` | The [`ngx_http_js_module`](https://nginx.org/en/docs/http/ngx_http_js_module.html) and [`ngx_stream_js_module`](https://nginx.org/en/docs/stream/ngx_stream_js_module.html) as [dynamic modules](#dynamic-modules). | +| `nginx-module-perl` | The [`ngx_http_perl_module`](https://nginx.org/en/docs/http/ngx_http_perl_module.html) as a [dynamic module](#dynamic-modules). | +| `nginx-module-xslt` | The [`ngx_http_xsl_module`](https://nginx.org/en/docs/http/ngx_http_xslt_module.html) as a [dynamic module](#dynamic-modules). | +| `nginx-module-otel` | The [`ngx_otel_module`](https://nginx.org/en/docs/ngx_otel_module.html) as a [dynamic module](#dynamic-modules). | +{{}} -7. Start NGINX Open Source: - ```shell - sudo nginx - ``` +### RHEL-based packages {#prebuilt_redhat} -8. Verify that NGINX Open Source is up and running: +RHEL-based operating systems include RHEL, CentOS, Oracle Linux, AlmaLinux, Rocky Linux. - ```shell - curl -I 127.0.0.1 - HTTP/1.1 200 OK - Server: nginx/1.27.4 - ``` +Before installing, check if your operating system and architecture are supported, see [Supported distributions and versions](https://nginx.org/en/linux_packages.html#distributions). - -### Installing Prebuilt Debian Packages +1. Set up the `yum` or `dnf` repository. -NGINX provides packages for the following Debian operating systems: + - In the `/etc/yum.repos.d` directory, create the `nginx.repo` file using any text editor, for example, `vi`: + ```shell + sudo vi /etc/yum.repos.d/nginx.repo + ``` -{{}} + - Add the following lines to the file, where `nginx-stable` and `nginx-mainline` point to the latest Stable or Mainline version of NGINX Open Source: -|Version | Codename | Supported Platforms | -| ---| ---| --- | -|11.x | bullseye | x86_64, aarch64/arm64 | -|12.x | bookworm | x86_64, aarch64/arm64 | + ```text + [nginx-stable] + name=nginx stable repo + baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ + gpgcheck=1 + enabled=1 + gpgkey=https://nginx.org/keys/nginx_signing.key + module_hotfixes=true -{{}} + [nginx-mainline] + name=nginx mainline repo + baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ + gpgcheck=1 + enabled=0 + gpgkey=https://nginx.org/keys/nginx_signing.key + module_hotfixes=true + ``` -The package can be installed from: + - Save the file. -- A default Debian repository. This is the quickest way, but generally the provided package is outdated. -- The official repo at **nginx.org**. You have to set up the `apt-get` repository the first time, but after that the provided package is always up to date. +4. If needed, switch to `nginx-mainline` packages instead of `nginx-stable` that are enabled by default (the `enable=1` parameter): + ```shell + sudo dnf config-manager --enable nginx-mainline + ``` -#### Installing a Prebuilt Debian Package from an OS Repository +5. Update the repository: -1. Update the Debian repository information: + ```shell + sudo dnf update + ``` - ```shell - sudo apt-get update - ``` +6. Install the `nginx` package: -2. Install the NGINX Open Source package: + ```shell + sudo dnf install nginx + ``` - ```shell - sudo apt-get install nginx - ``` + When prompted to accept the GPG key, verify that the following three fingerprints match, and if so, accept them: -3. Verify the installation: + ```shell + Importing GPG key 0xB49F6B46: + UserID : "nginx signing key /dev/null + curl -I 127.0.0.1 ``` - -3. Verify that the downloaded file contains the proper key: - + Expected output: ```shell - gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg + HTTP/1.1 200 OK + Server: nginx/1.27.5 ``` - The output should contain the full fingerprints: - `8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46`, - `573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62`, - `9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3` - as follows: + After installation, the following files are available for configuration and troubleshooting: - ```none - pub rsa4096 2024-05-29 [SC] - 8540A6F18833A80E9C1653A42FD21310B49F6B46 - uid nginx signing key + - Configuration file: `nginx.conf`, located in `/etc/nginx/` + - Log files: `access.log` and `error.log`, located in `/var/log/nginx/` - pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24] - 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 - uid nginx signing key +9. If needed, install one or more [dynamic module packages](#repository-contents): - pub rsa4096 2024-05-29 [SC] - 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3 - uid nginx signing key - ``` + ```shell + sudo dnf install nginx-module- + ``` + Then, enable each module in the `nginx.conf` configuration file using the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive. The resulting `.so` files are located in the `/usr/lib/nginx/modules` directory. - If the fingerprint is different, remove the file. +### Debian packages {#prebuilt_debian} -4. To set up the `apt` repository for stable nginx packages, run the following command: +This section covers Debian packages only. For Ubuntu-specific instructions, see [Ubuntu packages](#prebuilt_ubuntu). - ```shell - echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ - http://nginx.org/packages/debian `lsb_release -cs` nginx" \ - | sudo tee /etc/apt/sources.list.d/nginx.list - ``` +Before installing, check if your operating system and architecture are supported, see [Supported distributions and versions](https://nginx.org/en/linux_packages.html#distributions). - If you would like to use `mainline` nginx packages, run the following command instead: +1. Install the prerequisites: - ```shell - echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ - http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \ - | sudo tee /etc/apt/sources.list.d/nginx.list - ``` + ```shell + sudo apt update && \ + sudo apt install curl \ + gnupg2 \ + ca-certificates \ + lsb-release \ + debian-archive-keyring + ``` -5. Set up repository pinning to prefer our packages over distribution-provided ones: +2. Import an official nginx signing key to allow `apt` to verify the authenticity of packages. Fetch the key: - ```shell - echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ - | sudo tee /etc/apt/preferences.d/99nginx - ``` + ```shell + curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ + | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null + ``` -6. Install the NGINX package: +3. Verify that the downloaded file contains the correct signing key: - ```shell - sudo apt update - sudo apt install nginx - ``` + ```shell + gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg + ``` + The output should list the following three full fingerprints: -7. Start NGINX Open Source: + ```none + pub rsa4096 2024-05-29 [SC] + 8540A6F18833A80E9C1653A42FD21310B49F6B46 + uid nginx signing key - ```shell - sudo nginx - ``` + pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24] + 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 + uid nginx signing key -8. Verify that NGINX Open Source is up and running: + pub rsa4096 2024-05-29 [SC] + 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3 + uid nginx signing key + ``` - ```shell - curl -I 127.0.0.1 - HTTP/1.1 200 OK - Server: nginx/1.27.4 - ``` + If the fingerprints do not match, delete the file immediately. - -### Installing Prebuilt Ubuntu Packages -NGINX provides packages for the following Ubuntu operating systems: +4. Set up the `apt` repository to fetch packages from either `stable` or `mainline` branch. + - For `stable`: -{{}} + ```shell + echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ + http://nginx.org/packages/debian `lsb_release -cs` nginx" \ + | sudo tee /etc/apt/sources.list.d/nginx.list + ``` -|Version | Codename | Supported Platforms | -| ---| ---| --- | -|20.04 | focal | x86_64, aarch64/arm64, s390x | -|22.04 | jammy | x86_64, aarch64/arm64, s390x | -|24.04 | noble | x86_64, aarch64/arm64 | -|24.10 | oracular | x86_64, aarch64/arm64 | + - For `mainline`: -{{}} + ```shell + echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ + http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \ + | sudo tee /etc/apt/sources.list.d/nginx.list + ``` -The package can be installed from: +5. Set up repository pinning to prioritize official nginx packages over those provided by the distribution: -- A default Ubuntu repository. This is the quickest way, but generally the provided package is outdated. -- The official repo at **nginx.org**. You have to set up the `apt-get` repository the first time, but after that the provided package is always up to date. + ```shell + echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ + | sudo tee /etc/apt/preferences.d/99nginx + ``` -#### Installing a Prebuilt Ubuntu Package from an Ubuntu Repository +6. Install the `nginx` package: -1. Update the Ubuntu repository information: + ```shell + sudo apt update && \ + sudo apt install nginx + ``` - ```shell - sudo apt-get update - ``` +7. Start NGINX Open Source: -2. Install the package: + ```shell + sudo nginx + ``` - ```shell - sudo apt-get install nginx - ``` +8. Verify that NGINX Open Source is up and running using the `curl` command: -3. Verify the installation: + ```shell + curl -I 127.0.0.1 + ``` + Expected output: + + ```shell + HTTP/1.1 200 OK + Server: nginx/1.27.5 + ``` + + After installation, the following files are available for configuration and troubleshooting: + + - Configuration file: `nginx.conf`, located in `/etc/nginx/` + - Log files: `access.log` and `error.log`, located in `/var/log/nginx/` + +9. If needed, install one or more [dynamic module packages](#repository-contents): + + ```shell + sudo apt install nginx-module- + ``` + Then, enable each module in the `nginx.conf` configuration file using the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive. The resulting `.so` files are located in the `/usr/lib/nginx/modules` directory. - ```shell - sudo nginx -v - ``` -#### Installing a Prebuilt Ubuntu Package from the Official NGINX Repository +### Ubuntu packages {#prebuilt_ubuntu} + +Before installing, check if your operating system and architecture are supported, see [Supported distributions and versions](https://nginx.org/en/linux_packages.html#distributions). 1. Install the prerequisites: - ```shell - sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring + ```shell + sudo apt update && \ + sudo apt install curl \ + gnupg2 \ + ca-certificates \ + lsb-release \ + ubuntu-keyring ``` -2. Import an official nginx signing key so apt could verify the packages authenticity. Fetch the key: +2. Import an official nginx signing key to allow `apt` to verify the authenticity of packages. Fetch the key: - ```shell - curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ - | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null - ``` + ```shell + curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ + | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null + ``` -3. Verify that the downloaded file contains the proper key: +3. Verify that the downloaded file contains the correct signing key: - ```shell - gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg - ``` + ```shell + gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg + ``` - The output should contain the full fingerprints: - `8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46`, - `573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62`, - `9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3` - as follows: + The output should list the following three full fingerprints: - ```none - pub rsa4096 2024-05-29 [SC] - 8540A6F18833A80E9C1653A42FD21310B49F6B46 - uid nginx signing key + ```none + pub rsa4096 2024-05-29 [SC] + 8540A6F18833A80E9C1653A42FD21310B49F6B46 + uid nginx signing key - pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24] - 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 - uid nginx signing key + pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24] + 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 + uid nginx signing key - pub rsa4096 2024-05-29 [SC] - 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3 - uid nginx signing key - ``` - If the fingerprint is different, remove the file. + pub rsa4096 2024-05-29 [SC] + 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3 + uid nginx signing key + ``` + If the fingerprints do not match, delete the file immediately. -4. To set up the `apt` repository for stable nginx packages, run the following command: +4. Set up the `apt` repository to fetch packages from either `stable` or `mainline` branch. - ```shell - echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ - http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \ - | sudo tee /etc/apt/sources.list.d/nginx.list - ``` + - For `stable`: + ```shell + echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ + http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \ + | sudo tee /etc/apt/sources.list.d/nginx.list + ``` - If you would like to use `mainline` nginx packages, run the following command instead: + - For `mainline`: - ```shell - echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ - http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \ - | sudo tee /etc/apt/sources.list.d/nginx.list - ``` + ```shell + echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ + http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \ + | sudo tee /etc/apt/sources.list.d/nginx.list + ``` -5. Set up repository pinning to prefer our packages over distribution-provided ones: +5. Set up repository pinning to prioritize official nginx packages over those provided by the distribution: - ```shell - echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ - | sudo tee /etc/apt/preferences.d/99nginx + ```shell + echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ + | sudo tee /etc/apt/preferences.d/99nginx ``` -6. Install NGINX Open Source: +6. Install the `nginx` package: - ```shell - sudo apt update - sudo apt install nginx - ``` + ```shell + sudo apt update && \ + sudo apt install nginx + ``` -7. Start NGINX Open Source: +7. Start NGINX Open Source: - ```shell - sudo nginx - ``` + ```shell + sudo nginx + ``` -8. Verify that NGINX Open Source is up and running: +8. Verify that NGINX Open Source is up and running using the `curl` command: - ```shell - curl -I 127.0.0.1 - HTTP/1.1 200 OK - Server: nginx/1.27.4 - ``` + ```shell + curl -I 127.0.0.1 + ``` + Expected output: - -### Installing SUSE Packages + ```shell + HTTP/1.1 200 OK + Server: nginx/1.27.5 + ``` -NGINX provides packages for SUSE Linux Enterprise Server: + After installation, the following files are available for configuration and troubleshooting: + - Configuration file: `nginx.conf`, located in `/etc/nginx/` + - Log files: `access.log` and `error.log`, located in `/var/log/nginx/` -{{}} +9. If needed, install one or more [dynamic module packages](#repository-contents): -|Version | Supported Platforms | -| ---| --- | -|SLES 15 SP2+ | x86_64 | + ```shell + sudo apt install nginx-module- + ``` + Then, enable each module in the `nginx.conf` configuration file using the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive. The resulting `.so` files are located in the `/usr/lib/nginx/modules` directory. -{{}} -#### Installing a Prebuilt SUSE Package from the Official NGINX Repository +### SUSE Linux Enterprise packages {#prebuilt_suse} + +Before installing, check if your operating system and architecture are supported, see [Supported distributions and versions](https://nginx.org/en/linux_packages.html#distributions). 1. Install the prerequisites: - ```shell - sudo zypper install curl ca-certificates gpg2 + ```shell + sudo zypper refresh && \ + sudo zypper install curl \ + ca-certificates \ + gpg2 ``` -2. To set up the `zypper` repository for stable nginx packages, run the following command: +2. Set up the `zypper` repository to fetch packages from either `stable` or `mainline` branch. - ```shell - sudo zypper addrepo --gpgcheck --type yum --refresh --check \ - 'http://nginx.org/packages/sles/$releasever_major' nginx-stable - ``` + - For `stable`: -3. If you would like to use mainline nginx packages, run the following command instead: + ```shell + sudo zypper addrepo --gpgcheck --type yum --refresh --check \ + 'http://nginx.org/packages/sles/$releasever_major' nginx-stable + ``` - ```shell - sudo zypper addrepo --gpgcheck --type yum --refresh --check \ + - For `mainline`: + + ```shell + sudo zypper addrepo --gpgcheck --type yum --refresh --check \ 'http://nginx.org/packages/mainline/sles/$releasever_major' nginx-mainline - ``` + ``` -4. Import an official nginx signing key so `zypper/rpm` could verify the packages authenticity. Fetch the key: +3. Import the official nginx signing key so `zypper` and `rpm` could verify the packages authenticity. Fetch the key: - ```shell - curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key - ``` + ```shell + curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key + ``` -5. Verify that the downloaded file contains the proper key: +4. Verify that the downloaded file contains the proper key: - ```shell - gpg --with-fingerprint /tmp/nginx_signing.key - ``` + ```shell + gpg --show-keys /tmp/nginx_signing.key + ``` - The output should contain the full fingerprints: - `8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46`, - `573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62`, - `9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3` - as follows: + The output should list the following three full fingerprints: - ```none - pub rsa4096 2024-05-29 [SC] - 8540A6F18833A80E9C1653A42FD21310B49F6B46 - uid nginx signing key + ```none + pub rsa4096 2024-05-29 [SC] + 8540A6F18833A80E9C1653A42FD21310B49F6B46 + uid nginx signing key - pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24] - 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 - uid nginx signing key + pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24] + 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 + uid nginx signing key - pub rsa4096 2024-05-29 [SC] - 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3 - uid nginx signing key + pub rsa4096 2024-05-29 [SC] + 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3 + uid nginx signing key ``` - If the fingerprint is different, remove the file. + If the fingerprints do not match, delete the file immediately. -6. Import the key to the rpm database: +5. Import the key to the `rpm` database: - ```shell - sudo rpmkeys --import /tmp/nginx_signing.key - ``` + ```shell + sudo rpmkeys --import /tmp/nginx_signing.key + ``` -7. To install nginx, run the command: - - ```shell - sudo zypper install nginx - ``` +6. Install the `nginx` package: + ```shell + sudo zypper install nginx + ``` - -### Installing Prebuilt Alpine Linux Packages +7. Verify that NGINX Open Source is up and running using the `curl` command: -NGINX provides packages for the following Alpine Linux operating systems: + ```shell + curl -I 127.0.0.1 + ``` + Expected output: + ```shell + HTTP/1.1 200 OK + Server: nginx/1.27.5 + ``` + After installation, the following files are available for configuration and troubleshooting: -{{}} + - Configuration file: `nginx.conf`, located in `/etc/nginx/` + - Log files: `access.log` and `error.log`, located in `/var/log/nginx/` -|Version | Supported Platforms | -| ---| --- | -|3.18 | x86_64, aarch64/arm64 | -|3.19 | x86_64, aarch64/arm64 | -|3.20 | x86_64, aarch64/arm64 | -|3.21 | x86_64, aarch64/arm64 | +8. If needed, install one or more [dynamic module packages](#repository-contents): -{{}} + ```shell + sudo zypper install nginx-module- + ``` -The package can be installed from the official repo at **nginx.org**. You have to set up the `apt-get` repository the first time, but after that the provided package is always up to date. + Then, enable each module in the `nginx.conf` configuration file using the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive. The resulting `.so` files are located in the `/usr/lib64/nginx/modules` directory. +### Alpine Linux packages {#prebuilt_alpine} -#### Installing a Prebuilt Alpine Linux Package from the Official NGINX Repository +Before installing, check if your operating system and architecture are supported, see [Supported distributions and versions](https://nginx.org/en/linux_packages.html#distributions). 1. Install the prerequisites: ```shell - sudo apk add openssl curl ca-certificates + sudo apk add openssl \ + curl \ + ca-certificates ``` -2. To set up the apk repository for stable nginx packages, run the command: +2. Set up the `apk` repository to fetch packages from either `stable` or `mainline` branch by adding the repository URL to the `/etc/apk/repositories` file and the `@nginx` tag. + + - For `stable`: ```shell - printf "%s%s%s\n" \ + printf "%s%s%s%s\n" \ + "@nginx " \ "http://nginx.org/packages/alpine/v" \ `egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release` \ "/main" \ | sudo tee -a /etc/apk/repositories + ``` - For mainline nginx packages, run the following command instead: + - For `mainline`: ```shell - printf "%s%s%s\n" \ + printf "%s%s%s%s\n" \ + "@nginx " \ "http://nginx.org/packages/mainline/alpine/v" \ `egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release` \ "/main" \ | sudo tee -a /etc/apk/repositories ``` -3. Import an official nginx signing key so apk could verify the packages authenticity. Fetch the key: +3. Import the official nginx signing key so that `apk` can verify the authenticity of packages. Fetch the key: ```shell curl -o /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub ``` -4. Verify that the downloaded file contains the proper key: +4. Verify that the downloaded file contains the proper public key: ```shell openssl rsa -pubin -in /tmp/nginx_signing.rsa.pub -text -noout @@ -588,27 +650,46 @@ The package can be installed from the official repo at **nginx.org**. You have t sudo mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/ ``` -6. To install nginx, run the command: +6. Install the `nginx` package: ```shell - sudo apk add nginx + sudo apk add nginx@nginx ``` - The `@nginx` tag should also be specified when installing packages with [dynamic modules]({{< ref "nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}): +7. Start NGINX Open Source: ```shell - sudo apk add nginx-module-image-filter@nginx nginx-module-njs@nginx + sudo nginx + ``` + +8. Verify that NGINX Open Source is up and running using the `curl` command: + + ```shell + curl -I 127.0.0.1 + ``` + Expected output: + + ```shell + HTTP/1.1 200 OK + Server: nginx/1.27.5 ``` - -### Installing Prebuilt Amazon Linux Packages + After installation, the following files are available for configuration and troubleshooting: -NGINX provides packages for + - Configuration file: `nginx.conf`, located in `/etc/nginx/` + - Log files: `access.log` and `error.log`, located in `/var/log/nginx/` -- Amazon Linux 2 (LTS) x86_64, aarch64/arm64 -- Amazon Linux 2023 x86_64, aarch64/arm64 +9. If needed, install one or more [dynamic module packages](#repository-contents). The `@nginx` tag should also be specified: -#### Installing a Prebuilt Alpine Linux Package from the Official NGINX Repository + ```shell + sudo apk add nginx-module-@nginx nginx-module-@nginx + ``` + + Then, enable each module in the `nginx.conf` configuration file using the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive. The resulting `.so` files are located in the `/usr/lib/nginx/modules` directory. + +### Amazon Linux 2 packages {#prebuilt_amazon} + +Before installing, check if your operating system and architecture are supported, see [Supported distributions and versions](https://nginx.org/en/linux_packages.html#distributions). 1. Install the prerequisites: @@ -616,7 +697,15 @@ NGINX provides packages for sudo yum install yum-utils ``` -2. To set up the `yum` repository for Amazon Linux 2, create the file named `/etc/yum.repos.d/nginx.repo` with the following contents: +2. Set up the `yum` repository. + + - In the `/etc/yum.repos.d` directory, create the `nginx.repo` file using any text editor, for example, `vi`: + + ```shell + sudo vi /etc/yum.repos.d/nginx.repo + ``` + + - Add the following lines to file, where the `nginx-stable` and `nginx-mainline` elements point to the latest stable or mainline version of NGINX Open Source: ```none [nginx-stable] @@ -635,8 +724,73 @@ NGINX provides packages for gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true ``` + - Save the file. + +3. If needed, switch to `nginx-mainline` packages instead of `nginx-stable` that are enabled by default (the `enable=1` parameter): + + ```shell + sudo yum-config-manager --enable nginx-mainline + ``` + +4. Update the repository: + + ```shell + sudo yum update + ``` + +5. Install nginx: + + ```shell + sudo yum install nginx + ``` + + When prompted to accept the GPG key, verify that the following three fingerprints match: + `8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46`, + `573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62`, + `9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3`, + and if so, accept them. + +6. Start NGINX Open Source: + + ```shell + sudo nginx + ``` + +7. Verify that NGINX Open Source is up and running using the `curl` command: + + ```shell + curl -I 127.0.0.1 + ``` + Expected output: + ```shell + HTTP/1.1 200 OK + Server: nginx/1.27.5 + ``` + + After installation, the following files are available for configuration and troubleshooting: + + - Configuration file: `nginx.conf`, located in `/etc/nginx/` + - Log files: `access.log` and `error.log`, located in `/var/log/nginx/` + +8. If needed, install one or more [dynamic module packages](#repository-contents): + + ```shell + sudo yum install nginx-module- + ``` + Then, enable each module in the `nginx.conf` configuration file using the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive. The resulting `.so` files are located in the `/usr/lib64/nginx/modules` directory. + + +### Amazon Linux 2023 packages + +Before installing, check if your operating system and architecture are supported, see [Supported distributions and versions](https://nginx.org/en/linux_packages.html#distributions). + +1. Install the prerequisites: + + ```shell + sudo yum install yum-utils + ``` - To set up the `yum` repository for Amazon Linux 2023, create the file named `/etc/yum.repos.d/nginx.repo` with the following contents: +2. To set up the `yum` repository for Amazon Linux 2023, create the file named `/etc/yum.repos.d/nginx.repo` with the following contents: ```none [nginx-stable] @@ -655,7 +809,6 @@ NGINX provides packages for gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true ``` - By default, the repository for `stable` nginx packages is used. If you would like to use `mainline` nginx packages, run the following command: ```shell @@ -668,41 +821,161 @@ NGINX provides packages for sudo yum install nginx ``` - When prompted to accept the GPG key, verify that the fingerprint matches: + When prompted to accept the GPG key, verify that the following three fingerprints match: `8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46`, `573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62`, - `9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3`, - and if so, accept it. + `9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3` + and if so, accept them. - -## Compiling and Installing from Source +4. Start NGINX Open Source: -Compiling NGINX Open Source from source affords more flexibility than prebuilt packages: you can add particular modules (from NGINX or third parties), and apply latest security patches. + ```shell + sudo nginx + ``` - -### Installing NGINX Dependencies +5. Verify that NGINX Open Source is up and running using the `curl` command: -Prior to compiling NGINX Open Source from source, you need to install libraries for its dependencies: + ```shell + curl -I 127.0.0.1 + ``` + Expected output: + ```shell + HTTP/1.1 200 OK + Server: nginx/1.27.5 + ``` + + After installation, the following files are available for configuration and troubleshooting: + + - Configuration file: `nginx.conf`, located in `/etc/nginx/` + - Log files: `access.log` and `error.log`, located in `/var/log/nginx/` + + +6. If needed, install one or more [dynamic module packages](#repository-contents): + + ```shell + sudo dnf install nginx-module- + ``` + Then, enable each module in the `nginx.conf` configuration file using the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive. The resulting `.so` files are located in the `/usr/lib64/nginx/modules` directory. + +## Package contents {#prebuilt} + +NGINX has a modular architecture that allows functionality to be included selectively. Some modules are built into the core and are always included in the package. Others are not part of the core, but are compiled at build time using the `--with-` configuration flag. Additionally, some modules, usually those with external dependencies, are distributed as separate packages that can be loaded at runtime as [dynamic modules](#dynamic-modules). + +Packaging sources and scripts can be found in the [packaging sources repository](https://github.com/nginx/pkg-oss). + +### Core modules {#prebuilt_modules} + +NGINX core modules are built-in components that provide essential functionality such as configuration parsing, event handling, process management, and HTTP request processing. They are statically compiled into the NGINX binary and cannot be disabled or excluded. + +{{}} +|Module Name | Description | +| -------------------------| ---------------------------------------------| +| [`ngx_core_module`](https://nginx.org/en/docs/ngx_core_module.html) | Internal core functionality. | +| [`ngx_http_core_module`](https://nginx.org/en/docs/http/ngx_http_core_module.html) | Essential HTTP functionality ([`location`](https://nginx.org/en/docs/http/ngx_http_core_module.html#location), [`server`](https://nginx.org/en/docs/http/ngx_http_core_module.html#server), [`listen`](https://nginx.org/en/docs/http/ngx_http_core_module.html#listen)). | +| [`ngx_http_access_module`](https://nginx.org/en/docs/http/ngx_http_access_module.html)| Access control ([`allow`](https://nginx.org/en/docs/http/ngx_http_access_module.html#allow), [`deny`](https://nginx.org/en/docs/http/ngx_http_access_module.html#deny)). | +| [`ngx_http_auth_basic_module`](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html) | HTTP Basic Auth. | +| [`ngx_http_autoindex_module`](https://nginx.org/en/docs/http/ngx_http_autoindex_module.html) |Directory listing. | +| [`ngx_http_browser_module`](https://nginx.org/en/docs/http/ngx_http_browser_module.html) | Browser-based conditional logic.| +| [`ngx_http_charset_module`](https://nginx.org/en/docs/http/ngx_http_charset_module.html) | Character set conversion.| +| [`ngx_http_empty_gif_module`](https://nginx.org/en/docs/http/ngx_http_empty_gif_module.html) | Serves a 1x1 transparent GIF.| +| [`ngx_http_fastcgi_module`](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html) | FastCGI backend support. | +| [`ngx_http_geo_module`](https://nginx.org/en/docs/http/ngx_http_geo_module.html) | IP-based variable creation. | +| [`ngx_http_gzip_module`](https://nginx.org/en/docs/http/ngx_http_gzip_module.html) | Gzip compression. | +| [`ngx_http_headers_module`](https://nginx.org/en/docs/http/ngx_http_headers_module.html) | Add/modify response headers.| +| [`ngx_http_index_module`](https://nginx.org/en/docs/http/ngx_http_index_module.html) | Default index file (e.g. index.html). | +| [`ngx_http_limit_conn_module`](https://nginx.org/en/docs/http/ngx_http_limit_conn_module.html) | Limits concurrent connections. | +| [`ngx_http_limit_req_module`](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html) | Limits request rate. | +| [`ngx_http_log_module`](https://nginx.org/en/docs/http/ngx_http_log_module.html) | Logging support. | +| [`ngx_http_map_module`](https://nginx.org/en/docs/http/ngx_http_map_module.html) | Variable mapping logic. | +| [`ngx_http_memcached_module`](https://nginx.org/en/docs/http/ngx_http_memcached_module.html) | Memcached backend. | +| [`ngx_http_mirror_module`](https://nginx.org/en/docs/http/ngx_http_mirror_module.html) | Mirrors requests to another location. | +| [`ngx_http_proxy_module`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html) | HTTP reverse proxy. | +| [`ngx_http_referer_module`](https://nginx.org/en/docs/http/ngx_http_referer_module.html) | Referer-based access control.| +| [`ngx_http_rewrite_module`](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html) | URL rewriting. | +| [`ngx_http_scgi_module`](https://nginx.org/en/docs/http/ngx_http_scgi_module.html) | SCGI backend. | +| [`ngx_http_split_clients_module`](https://nginx.org/en/docs/http/ngx_http_split_clients_module.html) | A/B testing logic. | +| [`ngx_http_ssi_module`](https://nginx.org/en/docs/http/ngx_http_ssi_module.html) | Server Side Includes. | +| [`ngx_http_upstream_module`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html) | Upstream group and load balancing logic. | +| [`ngx_http_userid_module`](https://nginx.org/en/docs/http/ngx_http_userid_module.html) | Cookie-based user ID generation. | +| [`ngx_http_uwsgi_module`](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html) | uWSGI backend. | +{{}} + +### Statically linked modules + +In addition to core modules, the `nginx` package includes other nginx modules that do not require additional libraries to avoid extra dependencies. These modules are compiled at build time and specified using the` --with-` configure option. Unlike [dynamic modules](#dynamic-modules), they cannot be enabled or disabled dynamically after compilation. You can get the list of these modules in the output of the `nginx -V` command output in `configure arguments`. + +{{}} +|Module Name | Description | +| -------------------------| ---------------------------------------------| +| `--with-compat` |Enables dynamic modules compatibility. | +| `--with-file-aio` |Enables the use of [asynchronous file I/O](https:/ /nginx.org/en/docs/http/ngx_http_core_module.html#aio) (AIO) on FreeBSD and Linux. | +| `--with-threads` | Enables NGINX to use thread pools. For details, see [Thread Pools in NGINX Boost Performance 9x!](https://www.nginx.com/blog/thread-pools-boost-performance-9x/) on the NGINX blog. | +|[`--with-http_addition_module`](https://nginx.org/en/docs/http/ngx_http_addition_module.html)| Adds text before and after a response. | +|[`--with-http_auth_request_module`](https://nginx.org/en/docs/http/ngx_http_auth_request_module.html)|Implements client authorization based on the result of a subrequest. | +|[`--with-http_dav_module`](https://nginx.org/en/docs/http/ngx_http_dav_module.html)|Enables file management automation using the WebDAV protocol. | +|[`--with-http_flv_module`](https://nginx.org/en/docs/http/ngx_http_flv_module.html)|Provides pseudo-streaming server-side support for Flash Video (FLV) files. | +|[`--with-http_gunzip_module`](https://nginx.org/en/docs/http/ngx_http_gunzip_module.html)|Decompresses responses with `Content-Encoding: gzip` for clients that do not support the _zip_ encoding method. | +|[`--with-http_gzip_static_module`](https://nginx.org/en/docs/http/ngx_http_gzip_static_module.html)| Allows sending precompressed files with the **.gz** filename extension instead of regular files. | +|[`--with-http_mp4_module`](https://nginx.org/en/docs/http/ngx_http_mp4_module.html)| Provides pseudo-streaming server-side support for MP4 files. | +|[`--with-http_random_index_module`](https://nginx.org/en/docs/http/ngx_http_random_index_module.html) | Processes requests ending with the slash character (‘/’) and picks a random file in a directory to serve as an index file. | +|[`--with-http_realip_module`](https://nginx.org/en/docs/http/ngx_http_realip_module.html) | Changes the client address to the one sent in the specified header field. | +|[`--with-http_secure_link_module`](https://nginx.org/en/docs/http/ngx_http_secure_link_module.html) | Used to check authenticity of requested links, protect resources from unauthorized access, and limit link lifetime. | +|[`--with-http_slice_module`](https://nginx.org/en/docs/http/ngx_http_slice_module.html) | Allows splitting a request into subrequests, each subrequest returns a certain range of response. Provides more effective caching of large files. | +|[`--with-http_ssl_module`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html) | Enables HTTPS support. Requires an SSL library such as [OpenSSL](https://www.openssl.org/). | +|[`--with-http_stub_status_module`](https://nginx.org/en/docs/http/ngx_http_stub_status_module.html)| Provides access to basic status information. Note that NGINX Plus customers do not require this module as they are already provided with extended status metrics and interactive dashboard. | +|[`--with-http_sub_module`](https://nginx.org/en/docs/http/ngx_http_sub_module.html) | Modifies a response by replacing one specified string by another. | +|[`--with-http_v2_module`](https://nginx.org/en/docs/http/ngx_http_v2_module.html)| Enable support for [HTTP/2](https://datatracker.ietf.org/doc/html/rfc7540). See [The HTTP/2 Module in NGINX](https://www.nginx.com/blog/http2-module-nginx/) on the NGINX blog for details.| +|[`--with-http_v3_module`](https://nginx.org/en/docs/http/ngx_http_v3_module.html)| Provides experimental support for [HTTP/3](https://datatracker.ietf.org/doc/html/rfc9114). | +|[`--with-mail`](https://nginx.org/en/docs/mail/ngx_mail_core_module.html)| Enables mail proxy functionality. To compile as a separate [dynamic module]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) instead, change the option to `--with-mail=dynamic`. | +|[`--with-mail_ssl_module`](https://nginx.org/en/docs/mail/ngx_mail_ssl_module.html)| Provides support for a mail proxy server to work with the SSL/TLS protocol. Requires an SSL library such as [OpenSSL](https://www.openssl.org/). | +|[`--with-stream`](https://nginx.org/en/docs/stream/ngx_stream_core_module.html) | Enables the TCP and UDP proxy functionality. To compile as a separate [dynamic module]({{< ref "nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) instead, change the option to `--with-stream=dynamic`. | +|[`--with-stream_realip_module`](https://nginx.org/en/docs/stream/ngx_stream_realip_module.html) | Changes the client address and port to the ones sent in the PROXY protocol header. | +|[`--with-stream_ssl_module`](https://nginx.org/en/docs/stream/ngx_stream_ssl_module.html)| Provides support for a stream proxy server to work with the SSL/TLS protocol. Requires an SSL library such as [OpenSSL](https://www.openssl.org/). | +{{}} + + +## Dynamic modules + +Some modules, especially those with external dependencies, are not included in the `nginx` package. However, they are available as separate packages from the official NGINX repository. After installation they can be connected as a dynamic modules, or shared object (.so) files via the `load_module` directive in the NGINX configuration. + +{{}} +|Module Name | Description | Package name | +| -------------------------| ---------------------------------------------|---------------| +| [`ngx_http_geoip_module`](https://nginx.org/en/docs/http/ngx_http_geoip_module.html) | Creates variables with values depending on the client IP address, using the precompiled MaxMind databases. | `nginx-module-geoip` | +| [`ngx_http_image-filter_module`](https://nginx.org/en/docs/http/ngx_http_image_filter_module.html)| Transforms images in JPEG, GIF, PNG, and WebP formats. | `nginx-module-image-filter` | +| [`ngx_http_js_module`](https://nginx.org/en/docs/http/ngx_http_js_module.html), [`ngx_stream_js_module`](https://nginx.org/en/docs/stream/ngx_stream_js_module.html)| Extends the server's functionality through JavaScript scripting, enabling the creation of custom server-side logic. | `nginx-module-njs` | +| [`ngx_http_perl_module`](https://nginx.org/en/docs/http/ngx_http_perl_module.html) | Implements location and variable handlers in Perl and inserts Perl calls into SSI. | `nginx-module-perl` | +| [`ngx_http_xsl_module`](https://nginx.org/en/docs/http/ngx_http_xslt_module.html) | Transforms XML responses using one or more XSLT stylesheets. | `nginx-module-xslt` | +| [`ngx_otel_module`](https://nginx.org/en/docs/ngx_otel_module.html) | Provides OpenTelemetry distributed tracing support. | `nginx-module-otel` | +{{}} + +## Compile and install from source {#sources} + +Compiling from source affords more flexibility than using prebuilt packages: you can add specific modules, both official and third party, and apply the latest security patches. + +### Install NGINX dependencies {#dependencies} + +Prior to compiling NGINX Open Source from source, you need to install libraries for its dependencies: - [PCRE](http://pcre.org/) – Supports regular expressions. Required by the NGINX [Core](https://nginx.org/en/docs/ngx_core_module.html) and [Rewrite](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html) modules. ```shell - wget github.com/PCRE2Project/pcre2/releases/download/pcre2-10.43/pcre2-10.43.tar.gz - tar -zxf pcre2-10.43.tar.gz - cd pcre2-10.43 - ./configure - make + wget https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.43/pcre2-10.43.tar.gz && \ + tar -zxf pcre2-10.43.tar.gz && \ + cd pcre2-10.43 && \ + ./configure && \ + make && \ sudo make install ``` - [zlib](http://www.zlib.net/) – Supports header compression. Required by the NGINX [Gzip](https://nginx.org/en/docs/http/ngx_http_gzip_module.html) module. ```shell - wget http://zlib.net/zlib-1.3.1.tar.gz - tar -zxf zlib-1.3.1.tar.gz - cd zlib-1.3.1 - ./configure - make + wget http://zlib.net/zlib-1.3.1.tar.gz && \ + tar -zxf zlib-1.3.1.tar.gz && \ + cd zlib-1.3.1 && \ + ./configure && \ + make && \ sudo make install ``` @@ -717,50 +990,67 @@ Prior to compiling NGINX Open Source from source, you need to install librarie sudo make install ``` - -### Downloading the Sources + Example for Ubuntu and Debian: + ```shell + wget https://www.openssl.org/source/openssl-3.0.13.tar.gz + tar -zxf openssl-3.0.13.tar.gz + cd openssl-3.0.13 + ./config --prefix=/usr/local --openssldir=/usr/local/ssl + make -j$(nproc) + sudo make install + ``` + + Example for RHEL-based: + ```shell + curl -LO https://www.openssl.org/source/openssl-3.0.13.tar.gz + tar -zxf openssl-3.0.13.tar.gz + cd openssl-3.0.13 + ./config --prefix=/usr/local --openssldir=/usr/local/ssl + make -j$(nproc) + sudo make install + ``` + +### Download the sources {#sources_download} Download the source files for both the stable and mainline versions from [**nginx.org**](https://www.nginx.org/en/download.html). To download and unpack the source for the latest _mainline_ version, run: ```shell -wget https://nginx.org/download/nginx-1.27.4.tar.gz -tar zxf nginx-1.27.4.tar.gz -cd nginx-1.27.4 +wget https://nginx.org/download/nginx-1.27.5.tar.gz && \ +tar zxf nginx-1.27.5.tar.gz && \ +cd nginx-1.27.5 ``` To download and unpack source files for the latest _stable_ version, run: ```shell -wget https://nginx.org/download/nginx-1.26.3.tar.gz -tar zxf nginx-1.26.3.tar.gz -cd nginx-1.26.3 +wget https://nginx.org/download/nginx-1.28.0.tar.gz && \ +tar zxf nginx-1.28.0.tar.gz && \ +cd nginx-1.28.0 ``` - -### Configuring the Build Options +### Configure the build options {#configure} -Configure options are specified with the `./configure` script that sets up various NGINX parameters, including paths to source and configuration files, compiler options, connection processing methods, and the list of modules. The script finishes by creating the `Makefile` required to compile the code and install NGINX Open Source. +Configure options are specified with the `./configure` script that sets up various NGINX parameters, including paths to source and configuration files, compiler options, connection processing methods, and the list of modules. The script finishes by creating the `Makefile` required to compile the code and install NGINX Open Source. -An example of options to the `configure` script (should be typed as a single line): +An example of options to the `configure` script: ```shell -./configure ---sbin-path=/usr/local/nginx/nginx ---conf-path=/usr/local/nginx/nginx.conf ---pid-path=/usr/local/nginx/nginx.pid ---with-pcre=../pcre2-10.43 ---with-zlib=../zlib-1.3.1 ---with-http_ssl_module ---with-stream ---with-mail=dynamic ---add-module=/usr/build/nginx-rtmp-module +./configure \ +--sbin-path=/usr/local/nginx/nginx \ +--conf-path=/usr/local/nginx/nginx.conf \ +--pid-path=/usr/local/nginx/nginx.pid \ +--with-pcre=../pcre2-10.43 \ +--with-zlib=../zlib-1.3.1 \ +--with-http_ssl_module \ +--with-stream \ +--with-mail=dynamic \ +--add-module=/usr/build/nginx-rtmp-module \ --add-dynamic-module=/usr/build/3party_module ``` - -#### Configuring NGINX Paths +### Configure NGINX paths {#configure_paths} The `configure` script allows you to set paths to NGINX binary and configuration files, and to dependent libraries such as PCRE or SSL, in order to link them statically to the NGINX binary. @@ -770,23 +1060,21 @@ The `configure` script allows you to set paths to NGINX binary and configuration |Parameter | Description | | ---| --- | -|``--prefix=`` | Directory for NGINX files, and the base location for all relative paths set by the other `configure` script options (excluding paths to libraries) and for the path to the **nginx.conf** configuration file. Default: **/usr/local/nginx**. | -|``--sbin-path=`` | Name of the NGINX executable file, which is used only during installation. Default: **/sbin/nginx | -|``--conf-path=`` | Name of the NGINX configuration file. You can, however, always override this value at startup by specifying a different file with the ``-c `` option on the `nginx` command line. Default: **conf/nginx.conf | -|``--pid-path=`` | Name of the **nginx.pid** file, which stores the process ID of the `nginx` master process. After installation, the path to the filename can be changed with the [pid](https://nginx.org/en/docs/ngx_core_module.html#pid) directive in the NGINX configuration file. Default: **/logs/nginx.pid | -|``--error-log-path=`` | Name of the primary log file for errors, warnings, and diagnostic data. After installation, the filename can be changed with the [error_log](https://nginx.org/en/docs/ngx_core_module.html#error_log) directive in the NGINX configuration file. Default: **/logs/error.log | -|``--http-log-path=`` | Name of the primary log file for requests to the HTTP server. After installation, the filename can always be changed with the [access_log](https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log) directive in the NGINX configuration file. Default: **/logs/access.log | -|``--user=`` | Name of the unprivileged user whose credentials are used by the NGINX worker processes. After installation, the name can be changed with the [user](https://nginx.org/en/docs/ngx_core_module.html#user) directive in the NGINX configuration file. Default: ``nobody`` | -|``--group=`` | Name of the group whose credentials are used by the NGINX worker processes. After installation, the name can be changed with the [user](https://nginx.org/en/docs/ngx_core_module.html#user) directive in the NGINX configuration file. Default: the value set by the ``--user`` option. | -|``--with-pcre=`` | Path to the source for the PCRE library, which is required for regular expressions support in the [location](https://nginx.org/en/docs/http/ngx_http_core_module.html#location) directive and the [Rewrite](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html) module. | -|``--with-pcre-jit`` | Builds the PCRE library with “just-in-time compilation” support (the [pcre_jit](https://nginx.org/en/docs/ngx_core_module.html#pcre_jit) directive). | -|``--with-zlib=`` | Path to the source for the `zlib` library, which is required by the [Gzip](https://nginx.org/en/docs/http/ngx_http_gzip_module.html) module. | - +|`--prefix=` | Directory for NGINX files, and the base location for all relative paths set by the other `configure` script options (excluding paths to libraries) and for the path to the **nginx.conf** configuration file. Default: **/usr/local/nginx**. | +|`--sbin-path=` | Name of the NGINX executable file, which is used only during installation. Default: **/sbin/nginx | +|`--conf-path=` | Name of the NGINX configuration file. You can, however, always override this value at startup by specifying a different file with the `-c ` option on the `nginx` command line. Default: **conf/nginx.conf | +|`--pid-path=` | Name of the **nginx.pid** file, which stores the process ID of the `nginx` master process. After installation, the path to the filename can be changed with the [pid](https://nginx.org/en/docs/ngx_core_module.html#pid) directive in the NGINX configuration file. Default: **/logs/nginx.pid | +|`--error-log-path=` | Name of the primary log file for errors, warnings, and diagnostic data. After installation, the filename can be changed with the [error_log](https://nginx.org/en/docs/ngx_core_module.html#error_log) directive in the NGINX configuration file. Default: **/logs/error.log | +|`--http-log-path=` | Name of the primary log file for requests to the HTTP server. After installation, the filename can always be changed with the [access_log](https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log) directive in the NGINX configuration file. Default: **/logs/access.log | +|`--user=` | Name of the unprivileged user whose credentials are used by the NGINX worker processes. After installation, the name can be changed with the [user](https://nginx.org/en/docs/ngx_core_module.html#user) directive in the NGINX configuration file. Default: `nobody` | +|`--group=` | Name of the group whose credentials are used by the NGINX worker processes. After installation, the name can be changed with the [user](https://nginx.org/en/docs/ngx_core_module.html#user) directive in the NGINX configuration file. Default: the value set by the `--user`` option. | +|`--with-pcre=` | Path to the source for the PCRE library, which is required for regular expressions support in the [location](https://nginx.org/en/docs/http/ngx_http_core_module.html#location) directive and the [Rewrite](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html) module. | +|`--with-pcre-jit` | Builds the PCRE library with “just-in-time compilation” support (the [pcre_jit](https://nginx.org/en/docs/ngx_core_module.html#pcre_jit) directive). | +|`--with-zlib=` | Path to the source for the `zlib` library, which is required by the [Gzip](https://nginx.org/en/docs/http/ngx_http_gzip_module.html) module. | {{}} - -#### Configuring NGINX GCC Options +### GCC options {#configure_gcc} With the `configure` script you can also specify compiler‑related options. @@ -795,14 +1083,13 @@ With the `configure` script you can also specify compiler‑related options. |Parameter | Description | | ---| --- | -|``--with-cc-opt=""`` | Additional parameters that are added to the ``CFLAGS`` variable. When using the system PCRE library under FreeBSD, the mandatory value is ``--with-cc-opt="-I /usr/local/include"``. If the number of files supported by ``select()`` needs to be increased, it can also specified here as in this example: ``--with-cc-opt="-D FD_SETSIZE=2048"``. | -|``--with-ld-opt=""`` | Additional parameters that are used during linking. When using the system PCRE library under FreeBSD, the mandatory value is ``--with-ld-opt="-L /usr/local/lib"``. | +|`--with-cc-opt=""` | Additional parameters that are added to the ``CFLAGS`` variable. When using the system PCRE library under FreeBSD, the mandatory value is `--with-cc-opt="-I /usr/local/include"`. If the number of files supported by `select()` needs to be increased, it can also specified here as in this example: `--with-cc-opt="-D FD_SETSIZE=2048"`. | +|`--with-ld-opt=""` | Additional parameters that are used during linking. When using the system PCRE library under FreeBSD, the mandatory value is `--with-ld-opt="-L /usr/local/lib"`. | {{}} - -#### Specifying NGINX Connection Processing Methods +### Connection processing methods {#configure_methods} With the `configure` script you can redefine the method for event‑based polling. For more information, see [Connection processing methods](https://nginx.org/en/docs/events.html) in the NGINX reference documentation. @@ -811,15 +1098,12 @@ With the `configure` script you can redefine the method for event‑based pollin |Module Name | Description | | ---| --- | -|``--with-select_module``, ``--without-select_module`` | Enables or disables building a module that enable NGINX to work with the ``select()`` method. The modules is built automatically if the platform does not appear to support more appropriate methods such as `kqueue`, `epoll`, or `/dev/poll`. | -|``--with-poll_module``, ``--without-poll_module`` | Enables or disables building a module that enables NGINX to work with the ``poll()`` method. The module is built automatically if the platform does not appear to support more appropriate methods such as `kqueue`, `epoll`, or `/dev/poll`. | +|`--with-select_module`, `--without-select_module` | Enables or disables building a module that enable NGINX to work with the ``select()`` method. The modules is built automatically if the platform does not appear to support more appropriate methods such as `kqueue`, `epoll`, or `/dev/poll`. | +|`--with-poll_module`, `--without-poll_module` | Enables or disables building a module that enables NGINX to work with the `poll()` method. The module is built automatically if the platform does not appear to support more appropriate methods such as `kqueue`, `epoll`, or `/dev/poll`. | {{}} - - - -#### Selecting the NGINX Modules to Build +### Select the NGINX modules to build {#modules} NGINX consists of a set of function‑specific _modules_, which are specified with `configure` script along with other build options. @@ -827,193 +1111,128 @@ Some modules are built by default – they do not have to be specified with the Modules not included by default, as well as third‑party modules, must be explicitly specified in the `configure` script together with other build options. Such modules can be linked to NGINX binary either _statically_ (they are then loaded each time NGINX starts) or _dynamically_ (they are loaded only if associated directives are included in the NGINX configuration file. - -#### Modules Built by Default +#### Modules built by default {#modules_default} If you do not need a module that is built by default, you can disable it by naming it with the `--without-` option on the `configure` script, as in this example which disables the [Empty GIF](https://nginx.org/en/docs/http/ngx_http_empty_gif_module.html) module (should be typed as a single line): ```shell ./configure ---sbin-path=/usr/local/nginx/nginx ---conf-path=/usr/local/nginx/nginx.conf ---pid-path=/usr/local/nginx/nginx.pid ---with-http_ssl_module ---with-stream ---with-pcre=../pcre2-10.43 ---with-zlib=../zlib-1.3.1 +--sbin-path=/usr/local/nginx/nginx \ +--conf-path=/usr/local/nginx/nginx.conf \ +--pid-path=/usr/local/nginx/nginx.pid \ +--with-http_ssl_module \ +--with-stream \ +--with-pcre=../pcre2-10.43 \ +--with-zlib=../zlib-1.3.1 \ --without-http_empty_gif_module ``` - - {{}} |Module Name | Description | | ---| --- | -|[http_access_module](https://nginx.org/en/docs/http/ngx_http_access_module.html) | Accepts or denies requests from specified client addresses. | -|[http_auth_basic_module](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html) | Limits access to resources by validating the user name and password using the HTTP Basic Authentication protocol. | -|[http_autoindex_module](https://nginx.org/en/docs/http/ngx_http_autoindex_module.html) | Processes requests ending with the forward-slash character (_/_) and produces a directory listing. | -|[http_browser_module](https://nginx.org/en/docs/http/ngx_http_browser_module.html) | Creates variables whose values depend on the value of the ``User-Agent`` request header. | -|[http_charset_module](https://nginx.org/en/docs/http/ngx_http_charset_module.html) | Adds the specified character set to the ``Content-Type`` response header. Can convert data from one character set to another. | -|[http_empty_gif_module](https://nginx.org/en/docs/http/ngx_http_empty_gif_module.html) | Emits a single-pixel transparent GIF. | -|[http_fastcgi_module](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html) | Passes requests to a FastCGI server. | -|[http_geo_module](https://nginx.org/en/docs/http/ngx_http_geo_module.html) | Creates variables with values that depend on the client IP address. | -|[http_gzip_module](https://nginx.org/en/docs/http/ngx_http_gzip_module.html) | Compresses responses using `gzip`, reducing the amount of transmitted data by half or more. | -|[http_limit_conn_module](https://nginx.org/en/docs/http/ngx_http_limit_conn_module.html) | Limits the number of connections per a defined key, in particular, the number of connections from a single IP address. | -|[http_limit_req_module](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html) | Limits the request processing rate per a defined key, in particular, the processing rate of requests coming from a single IP address. | -|[http_map_module](https://nginx.org/en/docs/http/ngx_http_map_module.html) | Creates variables whose values depend on the values of other variables. | -|[http_memcached_module](https://nginx.org/en/docs/http/ngx_http_memcached_module.html) | Passes requests to a memcached server. | -|[http_proxy_module](https://nginx.org/en/docs/http/ngx_http_proxy_module.html) | Passes HTTP requests to another server. | -|[http_referer_module](https://nginx.org/en/docs/http/ngx_http_referer_module.html) | Blocks requests with invalid values in the `Referer` header. | -|[http_rewrite_module](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html) | Changes the request URI using regular expressions and return redirects; conditionally selects configurations. Requires the [PCRE](http://pcre.org/) library. | -|[http_scgi_module](https://nginx.org/en/docs/http/ngx_http_scgi_module.html) | Passes requests to an SCGI server. | -|[http_ssi_module](https://nginx.org/en/docs/http/ngx_http_ssi_module.html) | Processes SSI (Server Side Includes) commands in responses passing through it. | -|[http_split_clients_module](https://nginx.org/en/docs/http/ngx_http_split_clients_module.html) | Creates variables suitable for A/B testing, also known as split testing. | -|[http_upstream_hash_module](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#hash) | Enables the generic Hash load-balancing method. | -|[http_upstream_ip_hash_module](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#ip_hash) | Enables the IP Hash load-balancing method. | -|[http_upstream_keepalive_module](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) | Enables keepalive connections. | -|[http_upstream_least_conn_module](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#least_conn) | Enables the Least Connections load-balancing method. | -|[http_upstream_zone_module](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#zone) | Enables shared memory zones. | -|[http_userid_module](https://nginx.org/en/docs/http/ngx_http_userid_module.html) | Sets cookies suitable for client identification. | -|[http_uwsgi_module](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html) | Passes requests to a uwsgi server. | - +|[`http_access_module`](https://nginx.org/en/docs/http/ngx_http_access_module.html) | Accepts or denies requests from specified client addresses. | +|[`http_auth_basic_module`](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html) | Limits access to resources by validating the user name and password using the HTTP Basic Authentication protocol. | +|[`http_autoindex_module`](https://nginx.org/en/docs/http/ngx_http_autoindex_module.html) | Processes requests ending with the forward-slash character (_/_) and produces a directory listing. | +|[`http_browser_module`](https://nginx.org/en/docs/http/ngx_http_browser_module.html) | Creates variables whose values depend on the value of the ``User-Agent`` request header. | +|[`http_charset_module`](https://nginx.org/en/docs/http/ngx_http_charset_module.html) | Adds the specified character set to the ``Content-Type`` response header. Can convert data from one character set to another. | +|[`http_empty_gif_module`](https://nginx.org/en/docs/http/ngx_http_empty_gif_module.html) | Emits a single-pixel transparent GIF. | +|[`http_fastcgi_module`](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html) | Passes requests to a FastCGI server. | +|[`http_geo_module`](https://nginx.org/en/docs/http/ngx_http_geo_module.html) | Creates variables with values that depend on the client IP address. | +|[`http_gzip_module`](https://nginx.org/en/docs/http/ngx_http_gzip_module.html) | Compresses responses using `gzip`, reducing the amount of transmitted data by half or more. | +|[`http_limit_conn_module`](https://nginx.org/en/docs/http/ngx_http_limit_conn_module.html) | Limits the number of connections per a defined key, in particular, the number of connections from a single IP address. | +|[`http_limit_req_module`](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html) | Limits the request processing rate per a defined key, in particular, the processing rate of requests coming from a single IP address. | +|[`http_map_module`](https://nginx.org/en/docs/http/ngx_http_map_module.html) | Creates variables whose values depend on the values of other variables. | +|[`http_memcached_module`](https://nginx.org/en/docs/http/ngx_http_memcached_module.html) | Passes requests to a memcached server. | +|[`http_proxy_module`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html) | Passes HTTP requests to another server. | +|[`http_referer_module`](https://nginx.org/en/docs/http/ngx_http_referer_module.html) | Blocks requests with invalid values in the `Referer` header. | +|[`http_rewrite_module`](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html) | Changes the request URI using regular expressions and return redirects; conditionally selects configurations. Requires the [PCRE](http://pcre.org/) library. | +|[`http_scgi_module`](https://nginx.org/en/docs/http/ngx_http_scgi_module.html) | Passes requests to an SCGI server. | +|[`http_ssi_module`](https://nginx.org/en/docs/http/ngx_http_ssi_module.html) | Processes SSI (Server Side Includes) commands in responses passing through it. | +|[`http_split_clients_module`](https://nginx.org/en/docs/http/ngx_http_split_clients_module.html) | Creates variables suitable for A/B testing, also known as split testing. | +|[`http_upstream_hash_module`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#hash) | Enables the generic Hash load-balancing method. | +|[`http_upstream_ip_hash_module`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#ip_hash) | Enables the IP Hash load-balancing method. | +|[`http_upstream_keepalive_module`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive) | Enables keepalive connections. | +|[`http_upstream_least_conn_module`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#least_conn) | Enables the Least Connections load-balancing method. | +|[`http_upstream_zone_module`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#zone) | Enables shared memory zones. | +|[`http_userid_module`](https://nginx.org/en/docs/http/ngx_http_userid_module.html) | Sets cookies suitable for client identification. | +|[`http_uwsgi_module`](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html) | Passes requests to a uwsgi server. | {{}} - -#### Including Modules Not Built by Default +### Include modules not built by default {#modules_not_default} Many NGINX modules are not built by default, and must be listed on the `configure` command line to be built. -The [mail](https://nginx.org/en/docs/mail/ngx_mail_core_module.html), [stream](https://nginx.org/en/docs/stream/ngx_stream_core_module.html), [geoip](https://nginx.org/en/docs/http/ngx_http_geoip_module.html), [image_filter](https://nginx.org/en/docs/http/ngx_http_image_filter_module.html), [perl](https://nginx.org/en/docs/http/ngx_http_perl_module.html) and [xslt](https://nginx.org/en/docs/http/ngx_http_xslt_module.html) modules can be compiled as dynamic. See [Dynamic Modules]({{< ref "nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) for details. +The [mail](https://nginx.org/en/docs/mail/ngx_mail_core_module.html), [stream](https://nginx.org/en/docs/stream/ngx_stream_core_module.html), [geoip](https://nginx.org/en/docs/http/ngx_http_geoip_module.html), [image_filter](https://nginx.org/en/docs/http/ngx_http_image_filter_module.html), [perl](https://nginx.org/en/docs/http/ngx_http_perl_module.html) and [xslt](https://nginx.org/en/docs/http/ngx_http_xslt_module.html) modules can be compiled as dynamic. See [Dynamic Modules]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) for details. An example of the `configure` command that includes nondefault modules (should be typed as a single line): ```shell -./configure ---sbin-path=/usr/local/nginx/nginx ---conf-path=/usr/local/nginx/nginx.conf ---pid-path=/usr/local/nginx/nginx.pid ---with-pcre=../pcre2-10.43 ---with-zlib=../zlib-1.3.1 ---with-http_ssl_module ---with-stream +./configure \ +--sbin-path=/usr/local/nginx/nginx \ +--conf-path=/usr/local/nginx/nginx.conf \ +--pid-path=/usr/local/nginx/nginx.pid \ +--with-pcre=../pcre2-10.43 \ +--with-zlib=../zlib-1.3.1 \ +--with-http_ssl_module \ +--with-stream \ --with-mail ``` -{{}} - -|Module Name | Description | -| ---| --- | - +{{}} +|Module Name | Description | +| -------------------------| ---------------------------------------------| +|`--with-cpp_test_module` | Tests the C++ compatibility of header files.| +|`--with-debug` | Enables the [debugging log]({{< ref "/nginx/admin-guide/monitoring/debugging.md" >}})| +| `--with-file-aio` |Enables asynchronous I/O. | +| `--with-google-perftools` | Allows using [Google Performance tools](https://github.com/gperftools/gperftools) library. | +|[`--with-http_addition_module`](https://nginx.org/en/docs/http/ngx_http_addition_module.html)| Adds text before and after a response. | +|[`--with-http_auth_request_module`](https://nginx.org/en/docs/http/ngx_http_auth_request_module.html)|Implements client authorization based on the result of a subrequest. | +|[`--with-http_dav_module`](https://nginx.org/en/docs/http/ngx_http_dav_module.html)|Enables file management automation using the WebDAV protocol. | +|`--with-http_degradation_module`|Allows returning an error when a memory size exceeds the defined value. | +|[`--with-http_flv_module`](https://nginx.org/en/docs/http/ngx_http_flv_module.html)|Provides pseudo-streaming server-side support for Flash Video (FLV) files. | +|[`--with-http_geoip_module`](https://nginx.org/en/docs/http/ngx_http_geoip_module.html)|Enables creating variables whose values depend on the client IP address. The module uses [MaxMind](http://www.maxmind.com) GeoIP databases. To compile as a separate [dynamic module]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) instead, change the option to `--with-http_geoip_module=dynamic`. | +|[`--with-http_gunzip_module`](https://nginx.org/en/docs/http/ngx_http_gunzip_module.html)|Decompresses responses with `Content-Encoding: gzip` for clients that do not support the _zip_ encoding method. | +|[`--with-http_gzip_static_module`](https://nginx.org/en/docs/http/ngx_http_gzip_static_module.html)| Allows sending precompressed files with the **.gz** filename extension instead of regular files. | +|[`--with-http_image_filter_module`](https://nginx.org/en/docs/http/ngx_http_image_filter_module.html)|T ransforms images in JPEG, GIF, and PNG formats. The module requires the [LibGD](http://libgd.github.io/) library. To compile as a separate [dynamic module]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) instead, change the option to `--with-http_image_filter_module=dynamic`. | +|[`--with-http_mp4_module`](https://nginx.org/en/docs/http/ngx_http_mp4_module.html)| Provides pseudo-streaming server-side support for MP4 files. | +|[`--with-http_perl_module`](https://nginx.org/en/docs/http/ngx_http_perl_module.html)| Used to implement location and variable handlers in Perl and insert Perl calls into SSI. Requires the [PERL](https://www.perl.org/get.html) library. To compile as a separate [dynamic module]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) instead, change the option to `--with-http_perl_module=dynamic`. | +|[`--with-http_random_index_module`](https://nginx.org/en/docs/http/ngx_http_random_index_module.html) | Processes requests ending with the slash character (‘/’) and picks a random file in a directory to serve as an index file. | +|[`--with-http_realip_module`](https://nginx.org/en/docs/http/ngx_http_realip_module.html) | Changes the client address to the one sent in the specified header field. | +|[`--with-http_secure_link_module`](https://nginx.org/en/docs/http/ngx_http_secure_link_module.html) | Used to check authenticity of requested links, protect resources from unauthorized access, and limit link lifetime. | +|[`--with-http_slice_module`](https://nginx.org/en/docs/http/ngx_http_slice_module.html) | Allows splitting a request into subrequests, each subrequest returns a certain range of response. Provides more effective caching of large files. | +|[`--with-http_ssl_module`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html) | Enables HTTPS support. Requires an SSL library such as [OpenSSL](https://www.openssl.org/). | +|[`--with-http_stub_status_module`](https://nginx.org/en/docs/http/ngx_http_stub_status_module.html)| Provides access to basic status information. Note that NGINX Plus customers do not require this module as they are already provided with extended status metrics and interactive dashboard. | +|[`--with-http_sub_module`](https://nginx.org/en/docs/http/ngx_http_sub_module.html) | Modifies a response by replacing one specified string by another. | +|[`--with-http_xslt_module`](https://nginx.org/en/docs/http/ngx_http_xslt_module.html)| Transforms XML responses using one or more XSLT stylesheets. The module requires the [Libxml2](http://xmlsoft.org/) and [XSLT](http://xmlsoft.org/XSLT/) libraries. To compile as a separate [dynamic module]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) instead, change the option to `--with-http_xslt_module=dynamic`. | +|[`--with-http_v2_module`](https://nginx.org/en/docs/http/ngx_http_v2_module.html)| Enable support for [HTTP/2](https://datatracker.ietf.org/doc/html/rfc7540). See [The HTTP/2 Module in NGINX](https://www.nginx.com/blog/http2-module-nginx/) on the NGINX blog for details. | +| [`--with-mail`](https://nginx.org/en/docs/mail/ngx_mail_core_module.html)| Enables mail proxy functionality. To compile as a separate [dynamic module]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) instead, change the option to `--with-mail=dynamic`. | +|[`--with-mail_ssl_module`](https://nginx.org/en/docs/mail/ngx_mail_ssl_module.html)| Provides support for a mail proxy server to work with the SSL/TLS protocol. Requires an SSL library such as [OpenSSL](https://www.openssl.org/). | +| [`--with-stream`](https://nginx.org/en/docs/stream/ngx_stream_core_module.html) | Enables the TCP and UDP proxy functionality. To compile as a separate [dynamic module]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) instead, change the option to `--with-stream=dynamic`. | +| [`--with-stream_ssl_module`](https://nginx.org/en/docs/stream/ngx_stream_ssl_module.html)| Provides support for a stream proxy server to work with the SSL/TLS protocol. Requires an SSL library such as [OpenSSL](https://www.openssl.org/). | +| `--with-threads` | Enables NGINX to use thread pools. For details, see [Thread Pools in NGINX Boost Performance 9x!](https://www.nginx.com/blog/thread-pools-boost-performance-9x/) on the NGINX blog. | {{}} -- - ``--with-cpp_test_module`` - - Tests the C++ compatibility of header files. - -- - ``--with-debug`` - - Enables the [debugging log](https://docs.nginx.com/nginx/admin-guide/monitoring/debugging/). - -- - ``--with-file-aio`` - - Enables asynchronous I/O. - - - Allows using [Google Performance tools](https://github.com/gperftools/gperftools) library. - -- - ``--`` [with-http_addition_module](https://nginx.org/en/docs/http/ngx_http_addition_module.html) - - Adds text before and after a response. - -- - ``--`` [with-http_auth_request_module](https://nginx.org/en/docs/http/ngx_http_auth_request_module.html) - - Implements client authorization based on the result of a subrequest. - -- - ``--`` [with-http_dav_module](https://nginx.org/en/docs/http/ngx_http_dav_module.html) - - Enables file management automation using the WebDAV protocol. - -- - ``--with-http_degradation_module`` - - Allows returning an error when a memory size exceeds the defined value. - -- - ``--`` [with-http_flv_module](https://nginx.org/en/docs/http/ngx_http_flv_module.html) - - Provides pseudo-streaming server-side support for Flash Video (FLV) files. - -- - ``--`` [with-http_geoip_module](https://nginx.org/en/docs/http/ngx_http_geoip_module.html) - - Enables creating variables whose values depend on the client IP address. The module uses [MaxMind](http://www.maxmind.com) GeoIP databases. To compile as a separate [dynamic module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/dynamic-modules/) instead, change the option to `--with-http_geoip_module=dynamic`. - -- - ``--`` [with-http_gunzip_module](https://nginx.org/en/docs/http/ngx_http_gunzip_module.html) - - Decompresses responses with `Content-Encoding: gzip` for clients that do not support the _zip_ encoding method. - -- - ``--`` [with-http_gzip_static_module](https://nginx.org/en/docs/http/ngx_http_gzip_static_module.html) - - Allows sending precompressed files with the **.gz** filename extension instead of regular files. - -- - ``--`` [with-http_image_filter_module](https://nginx.org/en/docs/http/ngx_http_image_filter_module.html) - - Transforms images in JPEG, GIF, and PNG formats. The module requires the [LibGD](http://libgd.github.io/) library. To compile as a separate [dynamic module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/dynamic-modules/) instead, change the option to ``--with-http_image_filter_module=dynamic``. - -- - ``--`` [with-http_mp4_module](https://nginx.org/en/docs/http/ngx_http_mp4_module.html) - - Provides pseudo-streaming server-side support for MP4 files. - -- - ``--`` [with-http_perl_module](https://nginx.org/en/docs/http/ngx_http_perl_module.html) - - Used to implement location and variable handlers in Perl and insert Perl calls into SSI. Requires the [PERL](https://www.perl.org/get.html) library. To compile as a separate [dynamic module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/dynamic-modules/) instead, change the option to ``--with-http_perl_module=dynamic``. - -- - ``--`` [with-http_random_index_module](https://nginx.org/en/docs/http/ngx_http_random_index_module.html) - - Processes requests ending with the slash character (‘/’) and picks a random file in a directory to serve as an index file. - -- - ``--`` [with-http_realip_module](https://nginx.org/en/docs/http/ngx_http_realip_module.html) - - Changes the client address to the one sent in the specified header field. - -- - ``--`` [with-http_secure_link_module](https://nginx.org/en/docs/http/ngx_http_secure_link_module.html) - - Used to check authenticity of requested links, protect resources from unauthorized access, and limit link lifetime. - -- - ``--`` [with-http_slice_module](https://nginx.org/en/docs/http/ngx_http_slice_module.html) - - Allows splitting a request into subrequests, each subrequest returns a certain range of response. Provides more effective caching of large files. - -- - ``--`` [with-http_ssl_module](https://nginx.org/en/docs/http/ngx_http_ssl_module.html) - - Enables HTTPS support. Requires an SSL library such as [OpenSSL](https://www.openssl.org/). - -- - ``--`` [with-http_stub_status_module](https://nginx.org/en/docs/http/ngx_http_stub_status_module.html) - - Provides access to basic status information. Note that NGINX Plus customers do not require this module as they are already provided with extended status metrics and interactive dashboard. - -- - ``--`` [with-http_sub_module](https://nginx.org/en/docs/http/ngx_http_sub_module.html) - - Modifies a response by replacing one specified string by another. - -- - ``--`` [with-http_xslt_module](https://nginx.org/en/docs/http/ngx_http_xslt_module.html) - - Transforms XML responses using one or more XSLT stylesheets. The module requires the [Libxml2](http://xmlsoft.org/) and [XSLT](http://xmlsoft.org/XSLT/) libraries. To compile as a separate [dynamic module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/dynamic-modules/) instead, change the option to ``--with-http_xslt_module=dynamic``. - -- - ``--`` [with-http_v2_module](https://nginx.org/en/docs/http/ngx_http_v2_module.html) - - Enable support for [HTTP/2](https://datatracker.ietf.org/doc/html/rfc7540). See [The HTTP/2 Module in NGINX](https://www.nginx.com/blog/http2-module-nginx/) on the NGINX blog for details. - -- - ``--`` [with-mail](https://nginx.org/en/docs/mail/ngx_mail_core_module.html) - - Enables mail proxy functionality. To compile as a separate [dynamic module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/dynamic-modules/) instead, change the option to ``--with-mail=dynamic``. - -- - ``--`` [with-mail_ssl_module](https://nginx.org/en/docs/mail/ngx_mail_ssl_module.html) - - Provides support for a mail proxy server to work with the SSL/TLS protocol. Requires an SSL library such as [OpenSSL](https://www.openssl.org/). - -- - ``--`` [with-stream](https://nginx.org/en/docs/stream/ngx_stream_core_module.html) - - Enables the TCP and UDP proxy functionality. To compile as a separate [dynamic module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/dynamic-modules/) instead, change the option to ``--with-stream=dynamic``. - -- - ``--`` [with-stream_ssl_module](https://nginx.org/en/docs/stream/ngx_stream_ssl_module.html) - - Provides support for a stream proxy server to work with the SSL/TLS protocol. Requires an SSL library such as [OpenSSL](https://www.openssl.org/). - -- - ``--with-threads`` - - Enables NGINX to use thread pools. For details, see [Thread Pools in NGINX Boost Performance 9x!](https://www.nginx.com/blog/thread-pools-boost-performance-9x/) on the NGINX blog. - -#### Including Third-Party Modules +### Include third-party modules -You can extend NGINX functionality by compiling NGINX Open Source with your own module or a third‑party module. Some third‑party modules are listed in the [NGINX Wiki](https://nginx.com/resources/wiki/modules/). Use third‑party modules at your own risk as their stability is not guaranteed. +You can extend NGINX functionality by compiling NGINX Open Source with your own module or a third‑party module. Some third‑party modules are listed in the [NGINX Wiki](https://nginx.com/resources/wiki/modules/). Use third‑party modules at your own risk as their stability is not guaranteed. - -##### Statically Linked Modules +#### Statically linked modules {#modules_third_party} -Most modules built into NGINX Open Source are _statically linked_: they are built into NGINX Open Source at compile time and are linked to the NGINX binary statically. These modules can be disabled only by recompiling NGINX. +Most modules built into NGINX Open Source are _statically linked_: they are built into NGINX Open Source at compile time and are linked to the NGINX binary statically. These modules can be disabled only by recompiling NGINX. -To compile NGINX Open Source with a statically linked third‑party module, include the `--add-module=` option on the `configure` command, where `` is the path to the source code (this example is for the [RTMP](https://github.com/arut/nginx-rtmp-module) module): +To compile NGINX Open Source with a statically linked third‑party module, include the `--add-module=` option on the `configure` command, where `` is the path to the source code (this example is for the [RTMP](https://github.com/arut/nginx-rtmp-module) module): ```shell ./configure ... --add-module=/usr/build/nginx-rtmp-module ``` -##### Dynamically Linked Modules +#### Dynamically linked modules -NGINX modules can also be compiled as a shared object (**\*.so** file) and then dynamically loaded into NGINX Open Source at runtime. This provides more flexibility, as the module can be loaded or unloaded at any time by adding or removing the associated [load_module](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive in the NGINX configuration file and reloading the configuration. Note that the module itself must support dynamic linking. +NGINX modules can also be compiled as a shared object (**\*.so** file) and then dynamically loaded into NGINX Open Source at runtime. This provides more flexibility, as the module can be loaded or unloaded at any time by adding or removing the associated [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive in the NGINX configuration file and reloading the configuration. Note that the module itself must support dynamic linking. -To compile NGINX Open Source with a dynamically loaded third‑party module, include the `--add-dynamic-module=` option on the `configure` command, where `` is the path to the source code: +To compile NGINX Open Source with a dynamically loaded third‑party module, include the `--add-dynamic-module=` option on the `configure` command, where `` is the path to the source code: ```shell @@ -1022,7 +1241,7 @@ To compile NGINX Open Source with a dynamically loaded third‑party module, i The resulting **\*.so** files are written to the _prefix_**/modules/** directory, where the _prefix_ is a directory for server files such as **/usr/local/nginx/**. -To load a dynamic module, add the [load_module](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive to the NGINX configuration after installation: +To load a dynamic module, add the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive to the NGINX configuration after installation: ```nginx load_module modules/ngx_mail_module.so; @@ -1030,8 +1249,7 @@ load_module modules/ngx_mail_module.so; For more information, see [Compiling Third‑Party Dynamic Modules for NGINX and NGINX Plus](https://www.nginx.com/blog/compiling-dynamic-modules-nginx-plus/) on the NGINX blog and [Extending NGINX](https://nginx.com/resources/wiki/extending/) in the Wiki. - -### Completing the Installation from Source +### Complete the installation from source {#install_complete} - Compile and install the build: @@ -1040,7 +1258,7 @@ For more information, see [Compiling Third‑Party Dynamic Modules for NGINX and sudo make install ``` -- After the installation is finished, start NGINX Open Source: +- After the installation is finished, start NGINX Open Source: ```shell sudo nginx From 31856d2d97403e9c3742ed5a84f5e4198d5edcea Mon Sep 17 00:00:00 2001 From: Gabor Javorszky Date: Tue, 27 May 2025 13:08:01 +0100 Subject: [PATCH 194/723] feat: Add PKCE specific Keycloak setup (#585) --- .../single-sign-on/keycloak.md | 76 +++++++++++++++---- 1 file changed, 63 insertions(+), 13 deletions(-) diff --git a/content/nginx/deployment-guides/single-sign-on/keycloak.md b/content/nginx/deployment-guides/single-sign-on/keycloak.md index b0c17dfd1..c62b563ba 100644 --- a/content/nginx/deployment-guides/single-sign-on/keycloak.md +++ b/content/nginx/deployment-guides/single-sign-on/keycloak.md @@ -24,29 +24,77 @@ This guide explains how to enable single sign-on (SSO) for applications being pr ## Configure Keycloak {#keycloak-setup} -1. Log in to your Keycloak admin console, for example, `https:///auth/admin/`. +{{}} -2. In the left navigation, go to **Clients**.then +{{%tab name="Standard OIDC"%}} -3. Select **Create** and provide the following details: +1. Log in to your Keycloak admin console, for example, `https:///admin/master/console/`. - - Enter a **Client ID**, for example, `nginx-demo-app`. You will need it later when configuring NGINX Plus. +2. In the left navigation, go to **Clients**, then - - Set **Client Protocol** to **openid-connect**. +3. Select **Create client** and provide the following details: - - Select **Save**. + - Set **Client type** to **OpenID Connect**. + + - Enter a **Client ID**, for example, `nginx-demo-app`. You will need it later when configuring NGINX Plus. + + - Select **Next**. -4. In the **Settings** tab of your new client: +4. In the **Capability Config** section: - - Set **Access Type** to `confidential`. + - Set **Client Authentication** to **On**. This sets the client type to **confidential**. + + - Select **Next**. - - Add a **Redirect URI**, for example: +5. In the **Login Settings** section: + + - Add a **Redirect URI**, for example: ``` https://demo.example.com/oidc_callback ``` - Select **Save**. -5. In the **Credentials** tab, make note of the **Client Secret**. You will need it later when configuring NGINX Plus. +6. In the **Credentials** tab, make note of the **Client Secret**. You will need it later when configuring NGINX Plus. + +{{%/tab%}} + +{{%tab name="Using PKCE"%}} + +1. Log in to your Keycloak admin console, for example, `https:///auth/admin/`. + +2. In the left navigation, go to **Clients**, then + +3. Select **Create client** and provide the following details: + + - Set **Client type** to **OpenID Connect**. + + - Enter a **Client ID**, for example, `nginx-demo-app`. You will need it later when configuring NGINX Plus. + + - Select **Next**. + +4. In the **Capability Config** section: + + - Set **Client Authentication** to **Off**. This sets the client type to **public**. + + - Unselect the **Direct access grants** in the **Authentication Flow** section. + + - Select **Next** + +5. In the **Login Settings** section: + + - Add a **Redirect URI**, for example: + ``` + https://demo.example.com/oidc_callback + ``` + - Select **Save**. + +6. In the **Advanced** tab, under the **Advanced Settings** section set the **Proof Key for Code Exchange Code Challenge Method** to **S256**. + +7. Note that as opposed to standard OIDC flow, PKCE does not use Client Secrets, so there is no Credentials tab. This is expected. + +{{%/tab%}} + +{{}} ### Assign Users or Groups @@ -63,7 +111,7 @@ This step is optional, and is necessary if you need to restrict or organize user ## Set up NGINX Plus {#nginx-plus-setup} -With Keycloak configured, you can enable OIDC on NGINX Plus. NGINX Plus serves as the Rely Party (RP) application — a client service that verifies user identity. +With Keycloak configured, you can enable OIDC on NGINX Plus. NGINX Plus serves as the Relying Party (RP) application — a client service that verifies user identity. 1. Ensure that you are using the latest version of NGINX Plus by running the `nginx -v` command in a terminal: @@ -76,7 +124,8 @@ With Keycloak configured, you can enable OIDC on NGINX Plus. NGINX Plus serves a nginx version: nginx/1.27.4 (nginx-plus-r34) ``` -2. Ensure that you have the values of the **Client ID**, **Client Secret**, and **Issuer** obtained during [Keycloak Configuration](#keycloak-setup). +2. Ensure that you have the values of the **Client ID**, **Client Secret**, and **Issuer** obtained during + [Keycloak Configuration](#keycloak-setup) if applicable. PKCE will not have a **Client Secret**. 3. In your preferred text editor, open the NGINX configuration file (`/etc/nginx/nginx.conf` for Linux or `/usr/local/etc/nginx/nginx.conf` for FreeBSD). @@ -110,7 +159,8 @@ With Keycloak configured, you can enable OIDC on NGINX Plus. NGINX Plus serves a - your actual Keycloak **Client ID** obtained in [Keycloak Configuration](#keycloak-setup) with the [`client_id`](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#client_id) directive - - your **Client Secret** obtained in [Keycloak Configuration](#keycloak-setup) with the [`client_secret`](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#client_secret) directive + - (if not using PKCE) your **Client Secret** obtained in [Keycloak Configuration](#keycloak-setup) with the + [`client_secret`](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#client_secret) directive - the **Issuer** URL obtained in [Keycloak Configuration](#keycloak-setup) with the [`issuer`](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#client_secret) directive From ac82d8333230389e1b0f770860eb6d98f4b28a8d Mon Sep 17 00:00:00 2001 From: Joey Smalen Date: Tue, 27 May 2025 15:49:33 +0200 Subject: [PATCH 195/723] fix: control nginx docs typo (#597) Admin Guide: fix typo --- .../nginx/admin-guide/basic-functionality/runtime-control.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginx/admin-guide/basic-functionality/runtime-control.md b/content/nginx/admin-guide/basic-functionality/runtime-control.md index 4492f81b7..65414ce62 100644 --- a/content/nginx/admin-guide/basic-functionality/runtime-control.md +++ b/content/nginx/admin-guide/basic-functionality/runtime-control.md @@ -32,7 +32,7 @@ where `` can be one of the following: - `quit` – Shut down gracefully (the `SIGQUIT` signal) - `reload` – Reload the configuration file (the `SIGHUP` signal) - `reopen` – Reopen log files (the `SIGUSR1` signal) -- `stop` – Shut down immediately (or fast shutdown, the `SIGTERM` singal) +- `stop` – Shut down immediately (or fast shutdown, the `SIGTERM` signal) The `kill` utility can also be used to send a signal directly to the master process. The process ID of the master process is written, by default, to the **nginx.pid** file, which is located in the **/usr/local/nginx/logs** or **/var/run** directory. From c9a57ad6cc560523c2d1e23773c6099796cfbfca Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Tue, 27 May 2025 17:47:57 +0100 Subject: [PATCH 196/723] add Unit 1.34.2 details (#604) * add Unit 1.34.2 details * make link to releases more prominent for Unit --- content/unit/about.md | 7 +++++-- content/unit/changes.md | 9 ++++++++ .../unit/news/2025/unit-1.34.1-released.md | 2 +- .../unit/news/2025/unit-1.34.2-released.md | 21 +++++++++++++++++++ 4 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 content/unit/news/2025/unit-1.34.2-released.md diff --git a/content/unit/about.md b/content/unit/about.md index 14db002bc..c7a540cc4 100644 --- a/content/unit/about.md +++ b/content/unit/about.md @@ -12,8 +12,11 @@ running application code (including WebAssembly), serving static assets, handling TLS and request routing. Unit was created by [nginx](https://nginx.org/en/) team members from scratch to -be highly efficient and fully configurable at runtime. You can read the details -about the latest release in the [news]({{< relref "/unit/news/">}}) section. +be highly efficient and fully configurable at runtime. + +{{< tip >}}You can read the details +about the latest release in the [Releases and announcements]({{< relref "/unit/news/">}}) section. +{{< /tip >}} - See a quickstart [guide](https://github.com/nginx/unit/) on our GitHub page. - Browse the [Changelog]({{< relref "/unit/changes/">}}) or see the release notes in the [Releases and announcements]({{< relref "/unit/news/">}}) archive. diff --git a/content/unit/changes.md b/content/unit/changes.md index d08c94900..87f369799 100644 --- a/content/unit/changes.md +++ b/content/unit/changes.md @@ -5,6 +5,15 @@ toc: true --- ```text +Changes with Unit 1.34.2 26 Feb 2025 + + *) Security: fix missing websocket payload length validation in the Java + language module which could lead to Java language module processes + consuming excess CPU. (CVE-2025-1695). + + *) Bugfix: fix incorrect websocket payload length calculation in the + Java language module. + Changes with Unit 1.34.1 10 Jan 2025 *) Bugfix: fix instability issues due to OpenTelemetry (OTEL) support. diff --git a/content/unit/news/2025/unit-1.34.1-released.md b/content/unit/news/2025/unit-1.34.1-released.md index 5772af0c4..c346111b0 100644 --- a/content/unit/news/2025/unit-1.34.1-released.md +++ b/content/unit/news/2025/unit-1.34.1-released.md @@ -1,6 +1,6 @@ --- title: Unit 1.34.1 Released -weight: 100 +weight: 1000 --- We are pleased to announce the release of NGINX Unit 1.34.1. This is a diff --git a/content/unit/news/2025/unit-1.34.2-released.md b/content/unit/news/2025/unit-1.34.2-released.md new file mode 100644 index 000000000..1bcbcd90d --- /dev/null +++ b/content/unit/news/2025/unit-1.34.2-released.md @@ -0,0 +1,21 @@ +--- +title: Unit 1.34.2 Released +weight: 900 +--- + +We are pleased to announce the release of NGINX Unit 1.34.2. This is a maintenance release that fixes a couple of issues in the Java WebSocket code within the Java language module. + +- Security: When the NGINX Unit Java Language module is in use, undisclosed requests can lead to an infinite loop and cause an increase in CPU resource utilization (CVE-2025-1695). + +## Full Changelog + +```none +Changes with Unit 1.34.2 26 Feb 2025 + + *) Security: fix missing websocket payload length validation in the Java + language module which could lead to Java language module processes + consuming excess CPU. (CVE-2025-1695). + + *) Bugfix: fix incorrect websocket payload length calculation in the + Java language module. +``` From 1ffdf7e8de8846787b8a3984a6bae4d8f7a6b244 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Tue, 27 May 2025 11:21:21 -0700 Subject: [PATCH 197/723] Update name of AI Assistant to F5 AI Assistant (#606) Update name of AI Assistant --- content/includes/nginx-one/staged-config-overview.md | 2 +- content/nginx-one/changelog.md | 4 ++-- content/nginx-one/rbac/rbac-api.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/includes/nginx-one/staged-config-overview.md b/content/includes/nginx-one/staged-config-overview.md index f91c49541..9d5a6fe35 100644 --- a/content/includes/nginx-one/staged-config-overview.md +++ b/content/includes/nginx-one/staged-config-overview.md @@ -13,6 +13,6 @@ With Staged Configurations, you can use these features of NGINX One Console: - Automatic syntax checking - Contextual documentation - Dynamic analysis of your work in progress -- Suggestions from our AI assistant +- Suggestions from our F5 AI assistant Once you've finished your work and have pushed the changes to an Instance or a Config Sync Group, you can next delete that Staged Configuration. diff --git a/content/nginx-one/changelog.md b/content/nginx-one/changelog.md index db867eba0..e41c765f8 100644 --- a/content/nginx-one/changelog.md +++ b/content/nginx-one/changelog.md @@ -94,9 +94,9 @@ Using the NGINX One Console you can now: - Review the differences between the current and other saved configurations - Revert to older configurations as needed -### AI Assistant +### F5 AI Assistant -In the F5 NGINX One Console, you can now select lines from your configuration files, and then select **Explain with AI**. The NGINX One AI Assistant explains those lines based on the official NGINX documentation. +In the F5 NGINX One Console, you can now select lines from your configuration files, and then select **Explain with AI**. The F5 AI Assistant explains those lines based on the official NGINX documentation. ## November 7, 2024 diff --git a/content/nginx-one/rbac/rbac-api.md b/content/nginx-one/rbac/rbac-api.md index eafd2125a..82953365a 100644 --- a/content/nginx-one/rbac/rbac-api.md +++ b/content/nginx-one/rbac/rbac-api.md @@ -42,6 +42,6 @@ The following table lists the available API groups that you can use to construct | f5xc-nginx-one-custom-settings-manage | Write | View and update NGINX One Console Settings. | | f5xc-nginx-one-custom-settings-read | Read | View NGINX One Console Settings. | | f5xc-nginx-one-custom-event-read | Read | View NGINX One Events. | -| f5xc-nginx-one-custom-ai-assistant | Write | Interact with the NGINX One AI Assistant. | +| f5xc-nginx-one-custom-ai-assistant | Write | Interact with the F5 AI Assistant. | | f5xc-nginx-one-custom-staged-config-manage | Write | View, create, update, and delete Staged Configs. | | f5xc-nginx-one-custom-staged-config-read | Read | View Staged Configs. | From 58433f4dce5cf2b47f439a7035ee308c8830024f Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Tue, 27 May 2025 12:54:20 -0700 Subject: [PATCH 198/723] replaced span styles with markdown (#611) * replaced span styles with markdown * Update content/nginx/admin-guide/installing-nginx/installing-nginx-plus-amazon-web-services.md * Update content/nginx/admin-guide/installing-nginx/installing-nginx-plus-amazon-web-services.md --- ...stalling-nginx-plus-amazon-web-services.md | 4 +- .../monitoring/new-relic-plugin.md | 4 +- .../high-availability-keepalived.md | 18 +- ...high-availability-network-load-balancer.md | 24 +- ...-controller-elastic-kubernetes-services.md | 4 +- .../route-53-global-server-load-balancing.md | 106 ++--- .../ns1-global-server-load-balancing.md | 44 +- .../high-availability-all-active.md | 450 +++++++++--------- .../load-balance-third-party/apache-tomcat.md | 16 +- .../microsoft-exchange.md | 20 +- .../load-balance-third-party/node-js.md | 14 +- .../oracle-e-business-suite.md | 8 +- .../oracle-weblogic-server.md | 16 +- .../load-balance-third-party/wildfly.md | 8 +- ...igh-availability-standard-load-balancer.md | 140 +++--- .../virtual-machines-for-nginx.md | 72 +-- .../citrix-adc-configuration.md | 2 +- .../f5-big-ip-configuration.md | 2 +- .../nginx-plus-high-availability-chef.md | 24 +- .../setting-up-nginx-demo-environment.md | 2 +- .../active-directory-federation-services.md | 14 +- .../single-sign-on/oidc-njs/cognito.md | 34 +- .../single-sign-on/oidc-njs/keycloak.md | 16 +- .../single-sign-on/oidc-njs/onelogin.md | 10 +- .../single-sign-on/oidc-njs/ping-identity.md | 32 +- 25 files changed, 542 insertions(+), 542 deletions(-) diff --git a/content/nginx/admin-guide/installing-nginx/installing-nginx-plus-amazon-web-services.md b/content/nginx/admin-guide/installing-nginx/installing-nginx-plus-amazon-web-services.md index 624ddd614..88cd20853 100644 --- a/content/nginx/admin-guide/installing-nginx/installing-nginx-plus-amazon-web-services.md +++ b/content/nginx/admin-guide/installing-nginx/installing-nginx-plus-amazon-web-services.md @@ -30,8 +30,8 @@ To quickly set up an NGINX Plus environment on AWS: Click the **Continue to Subscribe** button to proceed to the **Launch on EC2** page. -3. Select the type of launch by clicking the appropriate tab (1‑Click Launch, **Manual Launch**, or **Service Catalog**). Choose the desired options for billing, instance size, and so on, and click the Accept Software Terms… button. -4. When configuring the firewall rules, add a rule to accept web traffic on TCP ports 80 and 443 (this happens automatically if you launch from the 1-Click Launch tab). +3. Select the type of launch by clicking the appropriate tab (**1‑Click Launch***, **Manual Launch**, or **Service Catalog**). Choose the desired options for billing, instance size, and so on, and click the **Accept Software Terms…** button. +4. When configuring the firewall rules, add a rule to accept web traffic on TCP ports 80 and 443 (this happens automatically if you launch from the **1‑Click Launch** tab). 5. As soon as the new EC2 instance launches, NGINX Plus starts automatically and serves a default **index.html** page. To view the page, use a web browser to access the public DNS name of the new instance. You can also check the status of the NGINX Plus server by logging into the EC2 instance and running this command: ```nginx diff --git a/content/nginx/admin-guide/monitoring/new-relic-plugin.md b/content/nginx/admin-guide/monitoring/new-relic-plugin.md index c7f1fe631..b56831edb 100644 --- a/content/nginx/admin-guide/monitoring/new-relic-plugin.md +++ b/content/nginx/admin-guide/monitoring/new-relic-plugin.md @@ -33,7 +33,7 @@ Download the [plug‑in and installation instructions](https://docs.newrelic.com ## Configuring the Plug‑In -The configuration file for the NGINX plug‑in is /etc/nginx-nr-agent/nginx-nr-agent.ini. The minimal configuration includes: +The configuration file for the NGINX plug‑in is **/etc/nginx‑nr‑agent/nginx‑nr‑agent.ini**. The minimal configuration includes: - Your New Relic license key in the `newrelic_license_key` statement in the `global` section. @@ -44,7 +44,7 @@ The configuration file for the NGINX plug‑in is /var/log/nginx-nr-agent.log. +The default log file is **/var/log/nginx‑nr‑agent.log**. ## Running the Plug‑In diff --git a/content/nginx/deployment-guides/amazon-web-services/high-availability-keepalived.md b/content/nginx/deployment-guides/amazon-web-services/high-availability-keepalived.md index 90d19f00c..a3023a49b 100644 --- a/content/nginx/deployment-guides/amazon-web-services/high-availability-keepalived.md +++ b/content/nginx/deployment-guides/amazon-web-services/high-availability-keepalived.md @@ -96,8 +96,8 @@ Allocate an Elastic IP address and remember its ID. For detailed instructions, s The NGINX Plus HA solution uses two scripts, which are invoked by `keepalived`: -- nginx-ha-check – Determines the health of NGINX Plus. -- nginx-ha-notify – Moves the Elastic IP address when a state transition happens, for example when the backup instance becomes the primary. +- **nginx‑ha‑check** – Determines the health of NGINX Plus. +- **nginx‑ha‑notify** – Moves the Elastic IP address when a state transition happens, for example when the backup instance becomes the primary. 1. Create a directory for the scripts, if it doesn’t already exist. @@ -121,7 +121,7 @@ The NGINX Plus HA solution uses two scripts, which are invoked by `keepalived`: There are two configuration files for the HA solution: - **keepalived.conf** – The main configuration file for `keepalived`, slightly different for each NGINX Plus instance. -- nginx-ha-notify – The script you downloaded in [Step 4](#ha-aws_ha-scripts), with several user‑defined variables. +- **nginx‑ha‑notify** – The script you downloaded in [Step 4](#ha-aws_ha-scripts), with several user‑defined variables. ### Creating keepalived.conf @@ -158,8 +158,8 @@ You must change values for the following configuration keywords. As you do so, a - `script` in the `chk_nginx_service` block – The script that sends health checks to NGINX Plus. - - On Ubuntu systems, /usr/lib/keepalived/nginx-ha-check - - On CentOS systems, /usr/libexec/keepalived/nginx-ha-check + - On Ubuntu systems, **/usr/lib/keepalived/nginx‑ha‑check** + - On CentOS systems, **/usr/libexec/keepalived/nginx‑ha‑check** - `priority` – The value that controls which instance becomes primary, with a higher value meaning a higher priority. Use `101` for the primary instance and `100` for the backup. @@ -171,13 +171,13 @@ You must change values for the following configuration keywords. As you do so, a - `notify` – The script that is invoked during a state transition. - - On Ubuntu systems, /usr/lib/keepalived/nginx-ha-notify - - On CentOS systems, /usr/libexec/keepalived/nginx-ha-notify + - On Ubuntu systems, **/usr/lib/keepalived/nginx‑ha‑notify** + - On CentOS systems, **/usr/libexec/keepalived/nginx‑ha‑notify** ### Creating nginx-ha-notify -Modify the user‑defined variables section of the nginx-ha-notify script, replacing each `` placeholder with the value specified in the list below: +Modify the user‑defined variables section of the **nginx‑ha‑notify** script, replacing each `` placeholder with the value specified in the list below: ```none export AWS_ACCESS_KEY_ID= @@ -223,7 +223,7 @@ Check the state on the backup instance, confirming that it has transitioned to ` ## Troubleshooting -If the solution doesn’t work as expected, check the `keepalived` logs, which are written to /var/log/syslog. Also, you can manually run the commands that invoke the `awscli` utility in the nginx-ha-notify script to check that the utility is working properly. +If the solution doesn’t work as expected, check the `keepalived` logs, which are written to **/var/log/syslog**. Also, you can manually run the commands that invoke the `awscli` utility in the **nginx‑ha‑notify** script to check that the utility is working properly. ## Caveats diff --git a/content/nginx/deployment-guides/amazon-web-services/high-availability-network-load-balancer.md b/content/nginx/deployment-guides/amazon-web-services/high-availability-network-load-balancer.md index 079825229..6c7a451a9 100644 --- a/content/nginx/deployment-guides/amazon-web-services/high-availability-network-load-balancer.md +++ b/content/nginx/deployment-guides/amazon-web-services/high-availability-network-load-balancer.md @@ -254,15 +254,15 @@ Assign the following names to the instances, then install the indicated NGINX so - Four NGINX Open Source instances: - App 1: - - ngx-oss-app1-1 - - ngx-oss-app1-2 + - **ngx-oss-app1-1** + - **ngx-oss-app1-2** - App 2: - - ngx-oss-app2-1 - - ngx-oss-app2-2 + - **ngx-oss-app2-1** + - **ngx-oss-app2-2** - Two NGINX Plus instances: - - ngx-plus-1 - - ngx-plus-2 + - **ngx-plus-1** + - **ngx-plus-2** @@ -278,11 +278,11 @@ Use the *Step‑by‑step* instructions in our deployment guide, [Setting Up an Repeat the instructions on all four web servers: - Running App 1: - - ngx-oss-app1-1 - - ngx-oss-app1-2 + - **ngx-oss-app1-1** + - **ngx-oss-app1-2** - Running App 2: - - ngx-oss-app2-1 - - ngx-oss-app2-2 + - **ngx-oss-app2-1** + - **ngx-oss-app2-2** #### Configure NGINX Plus on the load balancers @@ -291,7 +291,7 @@ Configure NGINX Plus instances as load balancers. These distribute requests to Use the *Step‑by‑step* instructions in our deployment guide, [Setting Up an NGINX Demo Environment]({{< ref "/nginx/deployment-guides/setting-up-nginx-demo-environment.md" >}}). -Repeat the instructions on both ngx-plus-1 and ngx-plus-2. +Repeat the instructions on both **ngx‑plus‑1** and **ngx‑plus‑2**. ### Automate instance setup with Packer and Terraform @@ -317,7 +317,7 @@ To run the scripts, follow these instructions: 3. Set your AWS credentials in the Packer and Terraform scripts: - - For Packer, set your credentials in the `variables` block in both packer/ngx-oss/packer.json and packer/ngx-plus/packer.json: + - For Packer, set your credentials in the `variables` block in both **packer/ngx‑oss/packer.json** and **packer/ngx‑plus/packer.json**: ```none "variables": { diff --git a/content/nginx/deployment-guides/amazon-web-services/ingress-controller-elastic-kubernetes-services.md b/content/nginx/deployment-guides/amazon-web-services/ingress-controller-elastic-kubernetes-services.md index 3a66f745d..e1c9811b3 100644 --- a/content/nginx/deployment-guides/amazon-web-services/ingress-controller-elastic-kubernetes-services.md +++ b/content/nginx/deployment-guides/amazon-web-services/ingress-controller-elastic-kubernetes-services.md @@ -43,14 +43,14 @@ This guide covers the `eksctl` command as it is the simplest option. 1. Follow the instructions in the [eksctl.io documentation](https://eksctl.io/installation/) to install or update the `eksctl` command. -2. Create an Amazon EKS cluster by following the instructions in the [AWS documentation](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html). Select the Managed nodes – Linux option for each step. Note that the `eksctl create cluster` command in the first step can take ten minutes or more. +2. Create an Amazon EKS cluster by following the instructions in the [AWS documentation](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html). Select the **Managed nodes – Linux** option for each step. Note that the `eksctl create cluster` command in the first step can take ten minutes or more. ## Push the NGINX Plus Ingress Controller Image to AWS ECR This step is only required if you do not plan to use the prebuilt NGINX Open Source image. -1. Use the [AWS documentation](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html) to create a repository in the Amazon Elastic Container Registry (ECR). In Step 4 of the AWS instructions, name the repository nginx-plus-ic as that is what we use in this guide. +1. Use the [AWS documentation](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html) to create a repository in the Amazon Elastic Container Registry (ECR). In Step 4 of the AWS instructions, name the repository **nginx‑plus‑ic** as that is what we use in this guide. 2. Run the following AWS CLI command. It generates an auth token for your AWS ECR registry, then pipes it into the `docker login` command. This lets AWS ECR authenticate and authorize the upcoming Docker requests. For details about the command, see the [AWS documentation](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html). diff --git a/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md b/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md index 4a449de16..32038fedb 100644 --- a/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md +++ b/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md @@ -40,7 +40,7 @@ The setup for global server load balancing (GSLB) in this guide combines Amazon Diagram showing a topology for global server load balancing (GSLB). Eight backend servers, four in each of two regions, host the content for a domain. Two NGINX Plus load balancers in each region route traffic to the backend servers. For each client requesting DNS information for the domain, Amazon Route 53 provides the DNS record for the region closest to the client. -Route 53 is a Domain Name System (DNS) service that performs global server load balancing by routing each request to the AWS region closest to the requester's location. This guide uses two regions: US West (Oregon) and US East (N. Virginia). +Route 53 is a Domain Name System (DNS) service that performs global server load balancing by routing each request to the AWS region closest to the requester's location. This guide uses two regions: **US West (Oregon)** and **US East (N. Virginia)**. In each region, two or more NGINX Plus load balancers are deployed in a high‑availability (HA) configuration. In this guide, there are two NGINX Plus load balancer instances per region. You can also use NGINX Open Source for this purpose, but it lacks the [application health checks](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/) that make for more precise error detection. For simplicity, we'll refer to NGINX Plus load balancers throughout this guide, noting when features specific to NGINX Plus are used. @@ -79,7 +79,7 @@ Create a _hosted zone_, which basically involves designating a domain name to be 1. Log in to the [AWS Management Console](https://console.aws.amazon.com/) (**console.aws.amazon.com/**). -2. Access the Route 53 dashboard page by clicking **Services** in the top AWS navigation bar, mousing over **Networking** in the All AWS Services column and then clicking **Route 53**. +2. Access the Route 53 dashboard page by clicking **Services** in the top AWS navigation bar, mousing over **Networking** in the **All AWS Services** column and then clicking **Route 53**. Screenshot showing how to access the Amazon Route 53 dashboard to configure global load balancing (GLB) with NGINX Plus @@ -87,7 +87,7 @@ Create a _hosted zone_, which basically involves designating a domain name to be Screenshot showing the Route 53 Registered domains tab during configuration of NGINX GSLB (global server load balancing) - If you see the Route 53 home page instead, access the **Registered domains** tab by clicking the  Get started now  button under Domain registration. + If you see the Route 53 home page instead, access the **Registered domains** tab by clicking the  Get started now  button under **Domain registration**. Screenshot showing the Amazon Route 53 homepage for a first-time Route 53 user during configuration of AWS GSLB (global server load balancing) with NGINX Plus @@ -123,21 +123,21 @@ Create records sets for your domain: 4. Fill in the fields in the **Create Record Set** column: - - **Name** – You can leave this field blank, but for this guide we are setting the name to www.nginxroute53.com. - - **Type** – A – IPv4 address. - - **Alias** – No. - - **TTL (Seconds)** – 60. + - **Name** – You can leave this field blank, but for this guide we are setting the name to **www.nginxroute53.com**. + - **Type** – **A – IPv4 address**. + - **Alias** – **No**. + - **TTL (Seconds)** – **60**. - **Note**: Reducing TTL from the default of 300 in this way can decrease the time that it takes for Route 53 to fail over when both NGINX Plus load balancers in the region are down, but there is always a delay of about two minutes regardless of the TTL setting. This is a built‑in limitation of Route 53. + **Note**: Reducing TTL from the default of **300** in this way can decrease the time that it takes for Route 53 to fail over when both NGINX Plus load balancers in the region are down, but there is always a delay of about two minutes regardless of the TTL setting. This is a built‑in limitation of Route 53. - - **Value** – [Elastic IP addresses](#elastic-ip) of the NGINX Plus load balancers in the first region [in this guide, US West (Oregon)]. - - **Routing Policy** – Latency. + - **Value** – [Elastic IP addresses](#elastic-ip) of the NGINX Plus load balancers in the first region [in this guide, **US West (Oregon)**]. + - **Routing Policy** – **Latency**. -5. A new area opens when you select Latency. Fill in the fields as indicated (see the figure below): +5. A new area opens when you select **Latency**. Fill in the fields as indicated (see the figure below): - - **Region** – Region to which the load balancers belong (in this guide, us-west-2). - - **Set ID** – Identifier for this group of load balancers (in this guide, US West LBs). - - **Associate with Health Check** – No. + - **Region** – Region to which the load balancers belong (in this guide, **us‑west‑2**). + - **Set ID** – Identifier for this group of load balancers (in this guide, **US West LBs**). + - **Associate with Health Check** – **No**. When you complete all fields, the tab looks like this: @@ -145,7 +145,7 @@ Create records sets for your domain: 6. Click the  Create  button. -7. Repeat Steps 3 through 6 for the load balancers in the other region [in this guide, US East (N. Virginia)]. +7. Repeat Steps 3 through 6 for the load balancers in the other region [in this guide, **US East (N. Virginia)**]. You can now test your website. Insert your domain name into a browser and see that your request is being load balanced between servers based on your location. @@ -172,21 +172,21 @@ We create health checks both for each NGINX Plus load balancer individually and Screenshot of Amazon Route 53 welcome screen seen by first-time user of Route 53 during configuration of global server load balancing (GSLB) with NGINX Plus -2. Click the  Create health check  button. In the Configure health check form that opens, specify the following values, then click the  Next  button. +2. Click the  Create health check  button. In the **Configure health check** form that opens, specify the following values, then click the  Next  button. - - **Name** – Identifier for an NGINX Plus load balancer instance, for example US West LB 1. - - **What to monitor** – Endpoint. - - **Specify endpoint by** – IP address. + - **Name** – Identifier for an NGINX Plus load balancer instance, for example **US West LB 1**. + - **What to monitor** – **Endpoint**. + - **Specify endpoint by** – **IP address**. - **IP address** – The [elastic IP address](#elastic-ip) of the NGINX Plus load balancer. - - **Port** – The port advertised to clients for your domain or web service (the default is 80). + - **Port** – The port advertised to clients for your domain or web service (the default is **80**). Screenshot of Amazon Route 53 interface for configuring health checks, during configuration of AWS global load balancing (GLB) with NGINX Plus -3. On the Get notified when health check fails screen that opens, set the **Create alarm** radio button to **Yes** or **No** as appropriate, then click the  Create health check  button. +3. On the **Get notified when health check fails** screen that opens, set the **Create alarm** radio button to **Yes** or **No** as appropriate, then click the  Create health check  button. Screenshot of Route 53 configuration screen for enabling notifications of failed health checks, during configuration of Route 53 global load balancing (GLB) with NGINX Plus -4. Repeat Steps 2 and 3 for your other NGINX Plus load balancers (in this guide, US West LB 2, US East LB 1, and US East LB 2). +4. Repeat Steps 2 and 3 for your other NGINX Plus load balancers (in this guide, **US West LB 2**, **US East LB 1**, and **US East LB 2**). 5. Proceed to the next section to configure health checks for the load balancer pairs. @@ -195,18 +195,18 @@ We create health checks both for each NGINX Plus load balancer individually and 1. Click the  Create health check  button. -2. In the Configure health check form that opens, specify the following values, then click the  Next  button. +2. In the **Configure health check** form that opens, specify the following values, then click the  Next  button. - - **Name** – Identifier for the pair of NGINX Plus load balancers in the first region, for example US West LBs. - - **What to monitor** – Status of other health checks . + - **Name** – Identifier for the pair of NGINX Plus load balancers in the first region, for example **US West LBs**. + - **What to monitor** – **Status of other health checks **. - **Health checks to monitor** – The health checks of the two US West load balancers (add them one after the other by clicking in the box and choosing them from the drop‑down menu as shown). - - **Report healthy when** – at least 1 of 2 selected health checks are healthy (the choices in this field are obscured in the screenshot by the drop‑down menu). + - **Report healthy when** – **at least 1 of 2 selected health checks are healthy** (the choices in this field are obscured in the screenshot by the drop‑down menu). Screenshot of Amazon Route 53 interface for configuring a health check of combined other health checks, during configuration of global server load balancing (GSLB) with NGINX Plus -3. On the Get notified when health check fails screen that opens, set the **Create alarm** radio button as appropriate (see Step 5 in the previous section), then click the  Create health check  button. +3. On the **Get notified when health check fails** screen that opens, set the **Create alarm** radio button as appropriate (see Step 5 in the previous section), then click the  Create health check  button. -4. Repeat Steps 1 through 3 for the paired load balancers in the other region [in this guide, US East (N. Virginia)]. +4. Repeat Steps 1 through 3 for the paired load balancers in the other region [in this guide, **US East (N. Virginia)**]. When you have finished configuring all six health checks, the **Health checks** tab looks like this: @@ -223,13 +223,13 @@ When you have finished configuring all six health checks, the **Health checks** The tab changes to display the record sets for the domain. -3. In the list of record sets that opens, click the row for the record set belonging to your first region [in this guide, US West (Oregon)]. The Edit Record Set column opens on the right side of the tab. +3. In the list of record sets that opens, click the row for the record set belonging to your first region [in this guide, **US West (Oregon)**]. The Edit Record Set column opens on the right side of the tab. Screenshot of interface for editing Route 53 record sets during configuration of global server load balancing (GSLB) with NGINX Plus -4. Change the **Associate with Health Check** radio button to Yes. +4. Change the **Associate with Health Check** radio button to **Yes**. -5. In the **Health Check to Associate** field, select the paired health check for your first region (in this guide, US West LBs). +5. In the **Health Check to Associate** field, select the paired health check for your first region (in this guide, **US West LBs**). 6. Click the  Save Record Set  button. @@ -242,7 +242,7 @@ These instructions assume that you have configured NGINX Plus on two EC2 instan **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. -1. Connect to the US West LB 1 instance. For instructions, see Connecting to an EC2 Instance. +1. Connect to the **US West LB 1** instance. For instructions, see Connecting to an EC2 Instance. 2. Change directory to **/etc/nginx/conf.d**. @@ -250,7 +250,7 @@ These instructions assume that you have configured NGINX Plus on two EC2 instan cd /etc/nginx/conf.d ``` -3. Edit the west-lb1.conf file and add the **@healthcheck** location to set up health checks. +3. Edit the **west‑lb1.conf** file and add the **@healthcheck** location to set up health checks. ```nginx upstream backend-servers { @@ -282,9 +282,9 @@ These instructions assume that you have configured NGINX Plus on two EC2 instan nginx -s reload ``` -5. Repeat Steps 1 through 4 for the other three load balancers (US West LB 2, US East LB 1, and US East LB2). +5. Repeat Steps 1 through 4 for the other three load balancers (**US West LB 2**, **US East LB 1**, and **US East LB2**). - In Step 3, change the filename as appropriate (west-lb2.conf, east-lb1.conf, and east-lb2.conf). In the east-lb1.conf and east-lb2.conf files, the `server` directives specify the public DNS names of Backup 3 and Backup 4. + In Step 3, change the filename as appropriate (**west‑lb2.conf**, **east‑lb1.conf**, and **east‑lb2.conf**). In the **east‑lb1.conf** and **east‑lb2.conf** files, the `server` directives specify the public DNS names of Backup 3 and Backup 4. ## Appendix @@ -307,31 +307,31 @@ Step‑by‑step instructions for creating EC2 instances and installing NGINX so Assign the following names to the instances, and then install the indicated NGINX software. -- In the first region, which is US West (Oregon) in this guide: +- In the first region, which is **US West (Oregon)** in this guide: - Two load balancer instances running NGINX Plus: - - US West LB 1 - - US West LB 2 + - **US West LB 1** + - **US West LB 2** - Two backend instances running NGINX Open Source: - * Backend 1 - - Backend 2 + * **Backend 1** + - **Backend 2** -- In the second region, which is US East (N. Virginia) in this guide: +- In the second region, which is **US East (N. Virginia)** in this guide: - Two load balancer instances running NGINX Plus: - - US East LB 1 - - US East LB 2 + - **US East LB 1** + - **US East LB 2** - Two backend instances running NGINX Open Source: - * Backend 3 - - Backend 4 + * **Backend 3** + - **Backend 4** -Here's the **Instances** tab after we create the four instances in the N. Virginia region. +Here's the **Instances** tab after we create the four instances in the **N. Virginia** region. Screenshot showing newly created EC2 instances in one of two regions, which is a prerequisite to configuring AWS GSLB (global server load balancing) with NGINX Plus @@ -359,14 +359,14 @@ Perform these steps on all eight instances. Screenshot of the interface for associating an AWS EC2 instance with an elastic IP address, which is a prerequisite to configuring AWS global load balancing (GLB) with NGINX Plus -After you complete the instructions on all instances, the list for a region (here, Oregon) looks like this: +After you complete the instructions on all instances, the list for a region (here, **Oregon**) looks like this: Screenshot showing the elastic IP addresses assigned to four AWS EC2 instances during configuration of global server load balancing (GSLB) with NGINX Plus ### Configuring NGINX Open Source on the Backend Servers -Perform these steps on all four backend servers: Backend 1, Backend 2, Backend 3, and Backend 4. In Step 3, substitute the appropriate name for `Backend X` in the **index.html** file. +Perform these steps on all four backend servers: **Backend 1**, **Backend 2**, **Backend 3**, and **Backend 4**. In Step 3, substitute the appropriate name for `Backend X` in the **index.html** file. **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. @@ -421,7 +421,7 @@ Perform these steps on all four backend servers: ### Configuring NGINX Plus on the Load Balancers -Perform these steps on all four backend servers: US West LB 1, US West LB 2, US East LB 1, and US West LB 2. +Perform these steps on all four backend servers: **US West LB 1**, **US West LB 2**, **US East LB 1**, and **US West LB 2**. **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. @@ -439,10 +439,10 @@ Perform these steps on all four backend servers: US West LB 1west-lb1.conf - - For US West LB 2west-lb2.conf - - For US East LB 1east-lb1.conf - - For US West LB 2east-lb2.conf + - For **US West LB 1** – **west‑lb1.conf** + - For **US West LB 2** – **west‑lb2.conf** + - For **US East LB 1** – **east‑lb1.conf** + - For **US West LB 2** – **east‑lb2.conf** In the `server` directives in the `upstream` block, substitute the public DNS names of the backend instances in the region; to learn them, see the **Instances** tab in the EC2 Dashboard. diff --git a/content/nginx/deployment-guides/global-server-load-balancing/ns1-global-server-load-balancing.md b/content/nginx/deployment-guides/global-server-load-balancing/ns1-global-server-load-balancing.md index d1284e106..8e425506e 100644 --- a/content/nginx/deployment-guides/global-server-load-balancing/ns1-global-server-load-balancing.md +++ b/content/nginx/deployment-guides/global-server-load-balancing/ns1-global-server-load-balancing.md @@ -69,9 +69,9 @@ The solution functions alongside other NS1 capabilities, such as geo‑proximal 5. The **Add Record** window pops up. Enter the following values: - - **Record Type** – A (the default). + - **Record Type** – **A** (the default). - name – Leave blank unless you are creating the ``A`` record for a subdomain. - - **TTL** – 3600 is the default, which we are not changing. + - **TTL** – **3600** is the default, which we are not changing. - **ANSWERS** – The public IP address of the first NGINX Plus instance. To add each of the other instances, click the Add Answer button. (In this guide we're using private IP addresses in the 10.0.0.0/8 range as examples.) Click the  Save All Changes  button. @@ -86,24 +86,24 @@ The solution functions alongside other NS1 capabilities, such as geo‑proximal Screenshot of NS1 GUI: list of answers for nginxgslb.cf -8. In the **Answer Metadata** window that pops up, click  Up/down  in the  STATUS  section of the  SETTING  column, if it is not already selected. Click the **Select** box in the  AVAILABLE  column, and then select either Up or Down from the drop‑down menu. In this guide we're selecting Up to indicate that the NGINX Plus instance is operational. +8. In the **Answer Metadata** window that pops up, click  Up/down  in the  STATUS  section of the  SETTING  column, if it is not already selected. Click the **Select** box in the  AVAILABLE  column, and then select either **Up** or **Down** from the drop‑down menu. In this guide we're selecting **Up** to indicate that the NGINX Plus instance is operational. Screenshot of NS1 GUI: setting STATUS answer metadata 9. Click a value in the  GEOGRAPHICAL  section of the  SETTING  column and specify the location of the NGINX Plus instance. Begin by choosing one of the several types of codes that NS1 offers for identifying locations: - **Canadian province(s)** – Two‑letter codes for Canadian provinces - **Country/countries** – Two‑letter codes for nations and territories - - **Geographic region(s)** – Identifiers like US-WEST and ASIAPAC + - **Geographic region(s)** – Identifiers like **US‑WEST** and **ASIAPAC** - **ISO region code** – Identification codes for nations and territories as defined in [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) - **Latitude** – Degrees, minutes, and seconds of latitude (northern or southern hemisphere) - **Longitude** – Degrees, minutes, and seconds of longitude (eastern or western hemisphere) - **US State(s)** – Two‑letter codes for US states - In this guide we're using **Country/countries** codes. For the first NGINX Plus instance, we select Americas > Northern America > United States (US) and click the  Ok  button. + In this guide we're using **Country/countries** codes. For the first NGINX Plus instance, we select **Americas > Northern America > United States (US)** and click the  Ok  button. Screenshot of NS1 GUI: setting GEOGRAPHICAL answer metadata -10. Repeat Steps 7–9 for both of the other two NGINX Plus instances. For the country in Step 9, we're selecting Europe > Western Europe > Germany (DE) for NGINX Plus instance 2 and Asia > South‑Eastern Asia > Singapore (SG) for NGINX Plus instance 3. +10. Repeat Steps 7–9 for both of the other two NGINX Plus instances. For the country in Step 9, we're selecting **Europe > Western Europe > Germany (DE)** for NGINX Plus instance 2 and **Asia > South‑Eastern Asia > Singapore (SG)** for NGINX Plus instance 3. When finished with both instances, on the details page for the ``A`` record click the  Save Record  button. @@ -113,9 +113,9 @@ The solution functions alongside other NS1 capabilities, such as geo‑proximal 12. In the **Add Filters** window that pops up, click the plus sign (+) on the button for each filter you want to apply. In this guide, we're configuring the filters in this order: - - Up in the  HEALTHCHECKS  section - - Geotarget Country in the  GEOGRAPHIC  section - - Select First N in the  TRAFFIC MANAGEMENT  section + - **Up** in the ** HEALTHCHECKS ** section + - **Geotarget Country** in the ** GEOGRAPHIC ** section + - **Select First N** in the ** TRAFFIC MANAGEMENT ** section Click the  Save Filter Chain  button. @@ -128,17 +128,17 @@ In this section we install and configure the NS1 agent on the same hosts as our 1. Follow the instructions in the [NS1 documentation](https://help.ns1.com/hc/en-us/articles/360020474154) to set up and connect a separate data feed for each of the three NGINX Plus instances, which NS1 calls _answers_. - On the first page (**Configure a new data source from NSONE Data Feed API v1**) specify a name for the _data source_, which is the administrative container for the data feeds you will be creating. Use the same name each of the three times you go through the instructions. We're naming the data source NGINX-GSLB. + On the first page (**Configure a new data source from NSONE Data Feed API v1**) specify a name for the _data source_, which is the administrative container for the data feeds you will be creating. Use the same name each of the three times you go through the instructions. We're naming the data source **NGINX‑GSLB**. On the next page (**Create Feed from NSONE Data Feed API v1**), create a data feed for the instance. Because the **Name** field is just for internal use, any value is fine. The value in the **Label** field is used in the YAML configuration file for the instance (see Step 4 below). We're specifying labels that indicate the country (using the ISO 3166 codes) in which the instance is running: - - us-nginxgslb-datafeed for instance 1 in the US - - de-nginxgslb-datafeed for instance 2 in Germany - - sg-nginxgslb-datafeed for instance 3 in Singapore + - **us‑nginxgslb‑datafeed** for instance 1 in the US + - **de‑nginxgslb‑datafeed** for instance 2 in Germany + - **sg‑nginxgslb‑datafeed** for instance 3 in Singapore - After creating the three feeds, note the value in the **Feeds URL** field on the  INTEGRATIONS  tab. The final element of the URL is the ```` you will specify in the YAML configuration file in Step 4. In the third screenshot in the [NS1 documentation](https://help.ns1.com/hc/en-us/articles/360020474154), for example, it is e566332c5d22c6b66aeaa8837eae90ac. + After creating the three feeds, note the value in the **Feeds URL** field on the  INTEGRATIONS  tab. The final element of the URL is the ```` you will specify in the YAML configuration file in Step 4. In the third screenshot in the [NS1 documentation](https://help.ns1.com/hc/en-us/articles/360020474154), for example, it is **e566332c5d22c6b66aeaa8837eae90ac**. -2. Follow the instructions in the [NS1 documentation](https://help.ns1.com/hc/en-us/articles/360017341694-Creating-managing-API-keys) to create an NS1 API key for the agent, if you have not already. (To access **Account Settings** in Step 1, click your username in the upper right corner of the NS1 title bar.) We're naming the app NGINX-GSLB. Make note of the key value – you'll specify it as ```` in the YAML configuration file in Step 4. To see the actual hexadecimal value, click on the circled letter **i** in the **API Key** field. +2. Follow the instructions in the [NS1 documentation](https://help.ns1.com/hc/en-us/articles/360017341694-Creating-managing-API-keys) to create an NS1 API key for the agent, if you have not already. (To access **Account Settings** in Step 1, click your username in the upper right corner of the NS1 title bar.) We're naming the app **NGINX‑GSLB**. Make note of the key value – you'll specify it as ```` in the YAML configuration file in Step 4. To see the actual hexadecimal value, click on the circled letter **i** in the **API Key** field. 3. On each NGINX Plus host, clone the [GitHub repo](https://github.com/nginxinc/nginx-ns1-gslb) for the NS1 agent. @@ -185,14 +185,14 @@ In this section we install and configure the NS1 agent on the same hosts as our In this section we describe how to verify that NS1 correctly redistributes traffic to an alternate PoP when the PoP nearest to the client is not operational (in the setup in this guide, each of the three NGINX Plus instances corresponds to a PoP). There are three ways to indicate to NS1 that a PoP is down: -- [Change the status of the NGINX Plus instance](#verify-when-status-down) to Down in the NS1 ``A`` record +- [Change the status of the NGINX Plus instance](#verify-when-status-down) to **Down** in the NS1 ``A`` record - [Take down the servers in the proxied upstream group](#verify-when-upstream-down) - [Cause traffic to exceed a configured threshold](#verify-when-over-threshold) ### Verifying Traffic Redistribution when an NGINX Plus Instance Is Marked Down -Here we verify that NS1 switches over to the next‑nearest NGINX Plus instance when we change the metadata on the nearest NGINX Plus instance to Down. +Here we verify that NS1 switches over to the next‑nearest NGINX Plus instance when we change the metadata on the nearest NGINX Plus instance to **Down**. 1. On a host located in the US, run the following command to determine which site NS1 is returning as nearest. Appropriately, it's returning 10.10.10.1, the IP address of the NGINX Plus instance in the US. @@ -207,7 +207,7 @@ Here we verify that NS1 switches over to the next‑nearest NGINX Plus instance Address: 10.10.10.1 ``` -2. Change the **Up/Down** answer metadata on the US instance to Down (see Step 8 in [Setting Up NS1](#ns1-setup)). +2. Change the **Up/Down** answer metadata on the US instance to **Down** (see Step 8 in [Setting Up NS1](#ns1-setup)). 3. Wait an hour – because we didn't change the default time-to-live (TTL) of 3600 seconds on the ``A`` record for **nginxgslb.cf** – and issue the ``nslookup`` command again. NS1 returns 10.10.10.2, the IP address of the NGINX Plus instance in Germany, which is now the nearest. @@ -349,7 +349,7 @@ First we perform these steps to create the shed filter: Screenshot of NS1 GUI: clicking Shed Load button on Add Filters page -3. The **Shed Load** filter is added as the fourth (lowest) box in the **Active Filters** section. Move it to be third by clicking and dragging it above the Select First N box. +3. The **Shed Load** filter is added as the fourth (lowest) box in the **Active Filters** section. Move it to be third by clicking and dragging it above the **Select First N** box. 4. Click the  Save Filter Chain  button. @@ -363,9 +363,9 @@ First we perform these steps to create the shed filter: 7. In the **Answer Metadata** window that opens, set values for the following metadata. In each case, click the icon in the  FEED  column of the metadata's row, then select or enter the indicated value in the  AVAILABLE  column. (For testing purposes, we're setting very small values for the watermarks so that the threshold is exceeded very quickly.) - - **Active connections** – us-nginxgslb-datafeed - - **High watermark** – 5 - - **Low watermark** – 2 + - **Active connections** – **us‑nginxgslb‑datafeed** + - **High watermark** – **5** + - **Low watermark** – **2** After setting all three, click the  Ok  button. (The screenshot shows the window just before this action.) diff --git a/content/nginx/deployment-guides/google-cloud-platform/high-availability-all-active.md b/content/nginx/deployment-guides/google-cloud-platform/high-availability-all-active.md index 2596ddbf5..cf9e705b0 100644 --- a/content/nginx/deployment-guides/google-cloud-platform/high-availability-all-active.md +++ b/content/nginx/deployment-guides/google-cloud-platform/high-availability-all-active.md @@ -15,7 +15,7 @@ This guide explains how to deploy F5 NGINX Plus in a high-availability configura **Notes:** - The GCE environment changes constantly. This could include names and arrangements of GUI elements. This guide was accurate when published. But, some GCE GUI elements might have changed over time. Use this guide as a reference and adapt to the current GCE working environment. -- The configuration described in this guide allows anyone from a public IP address to access the NGINX Plus instances. While this works in common scenarios in a test environment, we do not recommend it in production. Block external HTTP/HTTPS access to app-1 and app-2 instances to external IP address before production deployment. Alternatively, remove the external IP addresses for all application instances, so they're accessible only on the internal GCE network. +- The configuration described in this guide allows anyone from a public IP address to access the NGINX Plus instances. While this works in common scenarios in a test environment, we do not recommend it in production. Block external HTTP/HTTPS access to **app‑1** and **app‑2** instances to external IP address before production deployment. Alternatively, remove the external IP addresses for all application instances, so they're accessible only on the internal GCE network. @@ -38,7 +38,7 @@ The GCE network LB assigns each new client to a specific NGINX Plus LB. This ass NGINX Plus LB uses the round-robin algorithm to forward requests to specific app instances. It also adds a session cookie. It keeps future requests from the same client on the same app instance as long as it's running. -This deployment guide uses two groups of app instances: – app-1 and app-2. It demonstrates [load balancing](https://www.nginx.com/products/nginx/load-balancing/) between different app types. But both groups have the same app configurations. +This deployment guide uses two groups of app instances: – **app‑1** and **app‑2**. It demonstrates [load balancing](https://www.nginx.com/products/nginx/load-balancing/) between different app types. But both groups have the same app configurations. You can adapt the deployment to distribute unique connections to different groups of app instances. This can be done by creating discrete upstream blocks and routing content based on the URI. @@ -67,19 +67,19 @@ All component names, like projects and instances, are examples only. You can cha Create a new GCE project to host the all‑active NGINX Plus deployment. -1. Log into the [GCP Console](http://console.cloud.google.com) at console.cloud.google.com. +1. Log into the [GCP Console](http://console.cloud.google.com) at **console.cloud.google.com**. -2. The GCP Home > Dashboard tab opens. Its contents depend on whether you have any existing projects. +2. The GCP **Home > Dashboard** tab opens. Its contents depend on whether you have any existing projects. - If there are no existing projects, click the  Create a project  button. Screenshot of the Google Cloud Platform dashboard that appears when there are no existing projects (creating a project is the first step in configuring NGINX Plus as the Google Cloud load balancer) - - If there are existing projects, the name of one of them appears in the upper left of the blue header bar (in the screenshot, it's  My Test Project ). Click the project name and select Create project from the menu that opens. + - If there are existing projects, the name of one of them appears in the upper left of the blue header bar (in the screenshot, it's  My Test Project ). Click the project name and select **Create project** from the menu that opens. Screenshot of the Google Cloud Platform page that appears when other projects already exist (creating a project is the first step in configuring NGINX Plus as the Google Cloud load balancer) -3. Type your project name in the New Project window that pops up, then click CREATE. We're naming the project NGINX Plus All-Active-LB. +3. Type your project name in the **New Project** window that pops up, then click CREATE. We're naming the project **NGINX Plus All‑Active‑LB**. Screenshot of the New Project pop-up window for naming a new project on the Google Cloud Platform, which is the first step in configuring NGINX Plus as the Google load balancer @@ -87,24 +87,24 @@ Create a new GCE project to host the all‑active NGINX Plus deployment. Create firewall rules that allow access to the HTTP and HTTPS ports on your GCE instances. You'll attach the rules to all the instances you create for the deployment. -1. Navigate to the Networking > Firewall rules tab and click  +  CREATE FIREWALL RULE. (The screenshot shows the default rules provided by GCE.) +1. Navigate to the **Networking > Firewall rules** tab and click  +  CREATE FIREWALL RULE. (The screenshot shows the default rules provided by GCE.) Screenshot of the Google Cloud Platform page for defining new firewall rules; when configuring NGINX Plus as the Google Cloud load balancer, we open ports 80, 443, and 8080 for it. -2. Fill in the fields on the Create a firewall rule screen that opens: +2. Fill in the fields on the **Create a firewall rule** screen that opens: - - **Name** – nginx-plus-http-fw-rule - - **Description** – Allow access to ports 80, 8080, and 443 on all NGINX Plus instances - - Source filter – On the drop-down menu, select either Allow from any source (0.0.0.0/0), or IP range if you want to restrict access to users on your private network. In the second case, fill in the Source IP ranges field that opens. In the screenshot, we are allowing unrestricted access. - - Allowed protocols and ports – tcp:80; tcp:8080; tcp:443 + - **Name** – **nginx‑plus‑http‑fw‑rule** + - **Description** – **Allow access to ports 80, 8080, and 443 on all NGINX Plus instances** + - **Source filter** – On the drop-down menu, select either **Allow from any source (0.0.0.0/0)**, or **IP range** if you want to restrict access to users on your private network. In the second case, fill in the **Source IP ranges** field that opens. In the screenshot, we are allowing unrestricted access. + - **Allowed protocols and ports** – **tcp:80; tcp:8080; tcp:443** **Note:** As noted in the introduction, allowing access from any public IP address is appropriate only in a test environment. Before deploying the architecture in production, create a firewall rule. Use this rule to block access to the external IP address for your application instances. Alternatively, you can disable external IP addresses for the instances. This limits access only to the internal GCE network. - - Target tags – nginx-plus-http-fw-rule + - **Target tags** – **nginx‑plus‑http‑fw‑rule** Screenshot of the interface for creating a Google Compute Engine (GCE) firewall rule, used during deployment of NGINX Plus as the Google load balancer. -3. Click the  Create  button. The new rule is added to the table on the Firewall rules tab. +3. Click the  Create  button. The new rule is added to the table on the **Firewall rules** tab. ## Task 2: Creating Source Instances @@ -123,96 +123,96 @@ The methods to create a source instance are different. Once you've created the s Create three source VM instances based on a GCE VM image. We're basing our instances on the Ubuntu 16.04 LTS image. -1. Verify that the NGINX Plus All-Active-LB project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. -2. Navigate to the Compute Engine > VM instances tab. +2. Navigate to the **Compute Engine > VM instances** tab. -3. Click the  Create instance  button. The Create an instance page opens. +3. Click the  Create instance  button. The **Create an instance** page opens. #### Creating the First Application Instance from a VM Image -1. On the Create an instance page, modify or verify the fields and checkboxes as indicated (a screenshot of the completed page appears in the next step): +1. On the **Create an instance** page, modify or verify the fields and checkboxes as indicated (a screenshot of the completed page appears in the next step): - - **Name** – nginx-plus-app-1 - - **Zone** – The GCP zone that makes sense for your location. We're using us-west1-a. - - Machine type – The appropriate size for the level of traffic you anticipate. We're selecting micro, which is ideal for testing purposes. - - Boot disk – Click Change. The Boot disk page opens to the OS images subtab. Perform the following steps: + - **Name** – **nginx‑plus‑app‑1** + - **Zone** – The GCP zone that makes sense for your location. We're using **us‑west1‑a**. + - **Machine type** – The appropriate size for the level of traffic you anticipate. We're selecting **micro**, which is ideal for testing purposes. + - **Boot disk** – Click **Change**. The **Boot disk** page opens to the OS images subtab. Perform the following steps: - - Click the radio button for the Unix or Linux image of your choice (here, Ubuntu 16.04 LTS). - - Accept the default values in the Boot disk type and Size (GB) fields (Standard persistent disk and 10 respectively). + - Click the radio button for the Unix or Linux image of your choice (here, **Ubuntu 16.04 LTS**). + - Accept the default values in the **Boot disk type** and **Size (GB)** fields (**Standard persistent disk** and **10** respectively). - Click the  Select  button. Screenshot of the 'Boot disk' page in Google Cloud Platform for selecting the OS on which a VM runs. In the deployment of NGINX Plus as the Google load balancer, we select Ubuntu 16.04 LTS. - - Identity and API access – Keep the defaults for the Service account field and Access scopes radio button. Unless you need more granular control. - - **Firewall** – Verify that neither check box is checked (the default). The firewall rule invoked in the **Tags** field on the Management subtab (see Step 3 below) controls this type of access. + - **Identity and API access** – Keep the defaults for the **Service account ** field and **Access scopes** radio button. Unless you need more granular control. + - **Firewall** – Verify that neither check box is checked (the default). The firewall rule invoked in the **Tags** field on the **Management** subtab (see Step 3 below) controls this type of access. 2. Click Management, disk, networking, SSH keys to open that set of subtabs. (The screenshot shows the values entered in the previous step.) Screen shot of the 'Create an instance' page for an application server in the deployment of NGINX Plus as the Google Cloud Platform load balancer. -3. On the Management subtab, modify or verify the fields as indicated: +3. On the **Management** subtab, modify or verify the fields as indicated: - - **Description** – NGINX Plus app-1 Image - - **Tags** – nginx-plus-http-fw-rule - - **Preemptibility** – Off (recommended) (the default) - - Automatic restart – On (recommended) (the default) - - On host maintenance – Migrate VM instance (recommended) (the default) + - **Description** – **NGINX Plus app‑1 Image** + - **Tags** – **nginx‑plus‑http‑fw‑rule** + - **Preemptibility** – **Off (recommended)** (the default) + - **Automatic restart** – **On (recommended)** (the default) + - **On host maintenance** – **Migrate VM instance (recommended)** (the default) Screenshot of the Management subtab used during creation of a new VM instance, part of deploying NGINX Plus as the Google load balancer. -4. On the Disks subtab, uncheck the checkbox labeled Delete boot disk when instance is deleted. +4. On the **Disks** subtab, uncheck the checkbox labeled **Delete boot disk when instance is deleted**. Screenshot of the Disks subtab used during creation of a new VM instance, part of deploying NGINX Plus as the Google Cloud load balancer. -5. On the Networking subtab, verify the default settings, in particular Ephemeral for External IP and Off for IP Forwarding. +5. On the **Networking** subtab, verify the default settings, in particular **Ephemeral** for **External IP** and **Off** for **IP Forwarding**. Screenshot of the Networking subtab used during creation of a new VM instance, part of deploying NGINX Plus as the Google Cloud load balancer. -6. If you're using your own SSH public key instead of your default GCE keys, paste the hexadecimal key string on the SSH Keys subtab. Right into the box that reads Enter entire key data. +6. If you're using your own SSH public key instead of your default GCE keys, paste the hexadecimal key string on the **SSH Keys** subtab. Right into the box that reads **Enter entire key data**. Screenshot of the SSH Keys subtab used during creation of a new VM instance, part of deploying NGINX Plus as the Google Cloud Platform load balancer. -7. Click the  Create  button at the bottom of the Create an instance page. +7. Click the  Create  button at the bottom of the **Create an instance** page. - The VM instances summary page opens. It can take several minutes for the instance to be created. Wait to continue until the green check mark appears. + The **VM instances** summary page opens. It can take several minutes for the instance to be created. Wait to continue until the green check mark appears. Screenshot of the summary page that verifies the creation of a new VM instance, part of deploying NGINX Plus as the load balancer for Google Cloud. #### Creating the Second Application Instance from a VM Image -1. On the VM instances summary page, click CREATE INSTANCE. +1. On the **VM instances** summary page, click CREATE INSTANCE. 2. Repeat the steps in Creating the First Application Instance to create the second application instance. Specify the same values as for the first application instance, except: - - In Step 1, **Name** – nginx-plus-app-2 - - In Step 3, **Description** – NGINX Plus app-2 Image + - In Step 1, **Name** – **nginx‑plus‑app‑2** + - In Step 3, **Description** – **NGINX Plus app‑2 Image** #### Creating the Load-Balancing Instance from a VM Image -1. On the VM instances summary page, click CREATE INSTANCE. +1. On the **VM instances** summary page, click CREATE INSTANCE. 2. Repeat the steps in Creating the First Application Instance to create the load‑balancing instance. Specify the same values as for the first application instance, except: - - In Step 1, **Name** – nginx-plus-lb - - In Step 3, **Description** – NGINX Plus Load Balancing Image + - In Step 1, **Name** – **nginx‑plus‑lb** + - In Step 3, **Description** – **NGINX Plus Load Balancing Image** #### Configuring PHP and FastCGI on the VM-Based Instances Install and configure PHP and FastCGI on the instances. -Repeat these instructions for all three source instances (nginx-plus-app-1, nginx-plus-app-2, and nginx-plus-lb). +Repeat these instructions for all three source instances (**nginx‑plus‑app‑1**, **nginx‑plus‑app‑2**, and **nginx‑plus‑lb**). **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. 1. Connect to the instance over SSH using the method of your choice. GCE provides a built-in mechanism: - - Navigate to the Compute Engine > VM instances tab. - - In the instance's row in the table, click the triangle icon in the Connect column at the far right and select a method (for example, Open in browser window). + - Navigate to the **Compute Engine > VM instances** tab. + - In the instance's row in the table, click the triangle icon in the **Connect** column at the far right and select a method (for example, **Open in browser window**). Screenshot showing how to connect via SSH to a VM instance, part of deploying NGINX Plus as the Google load balancer. @@ -222,7 +222,7 @@ Install and configure PHP and FastCGI on the instances. apt-get install php7.0-fpm ``` -3. Edit the PHP 7 configuration to bind to a local network port instead of a Unix socket. Using your preferred text editor, remove the following line from /etc/php/7.0/fpm/pool.d: +3. Edit the PHP 7 configuration to bind to a local network port instead of a Unix socket. Using your preferred text editor, remove the following line from **/etc/php/7.0/fpm/pool.d**: ```none listen = /run/php/php7.0-fpm.sock @@ -253,7 +253,7 @@ Now install NGINX Plus and download files that are specific to the all‑active Both the configuration and content files are available at the [NGINX GitHub repository](https://github.com/nginxinc/NGINX-Demos/tree/master/gce-nginx-plus-deployment-guide-files). -Repeat these instructions for all three source instances (nginx-plus-app-1, nginx-plus-app-2, and nginx-plus-lb). +Repeat these instructions for all three source instances (**nginx‑plus‑app‑1**, **nginx‑plus‑app‑2**, and **nginx‑plus‑lb**). **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. @@ -261,11 +261,11 @@ Both the configuration and content files are available at the [NGINX GitHub repo 2. Clone the GitHub repository for the [all‑active load balancing deployment](https://github.com/nginxinc/NGINX-Demos/tree/master/gce-nginx-plus-deployment-guide-files). (Instructions for downloading the files directly from the GitHub repository are provided below, in case you prefer not to clone it.) -3. Copy the contents of the usr\_share\_nginx subdirectory from the cloned repository to the local /usr/share/nginx directory. Create the local directory if needed. (If you choose not to clone the repository, you need to download each file from the GitHub repository individually.) +3. Copy the contents of the **usr\_share\_nginx** subdirectory from the cloned repository to the local **/usr/share/nginx** directory. Create the local directory if needed. (If you choose not to clone the repository, you need to download each file from the GitHub repository individually.) -4. Copy the right configuration file from the etc\_nginx\_conf.d subdirectory of the cloned repository to /etc/nginx/conf.d: +4. Copy the right configuration file from the **etc\_nginx\_conf.d** subdirectory of the cloned repository to **/etc/nginx/conf.d**: - - On both nginx-plus-app-1 and nginx-plus-app-2, copy gce-all-active-app.conf. + - On both **nginx‑plus‑app‑1** and **nginx‑plus‑app‑2**, copy **gce‑all‑active‑app.conf**. You can also run the following commands to download the configuration file directly from the GitHub repository: @@ -281,7 +281,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo wget https://github.com/nginxinc/NGINX-Demos/blob/master/gce-nginx-plus-deployment-guide-files/etc_nginx_conf.d/gce-all-active-app.conf ``` - - On nginx-plus-lb, copy gce-all-active-lb.conf. + - On **nginx‑plus‑lb**, copy **gce‑all‑active‑lb.conf**. You can also run the following commands to download the configuration file directly from the GitHub repository: @@ -297,9 +297,9 @@ Both the configuration and content files are available at the [NGINX GitHub repo wget https://github.com/nginxinc/NGINX-Demos/blob/master/gce-nginx-plus-deployment-guide-files/etc_nginx_conf.d/gce-all-active-lb.conf ``` -5. On the LB instance (nginx-plus-lb), use a text editor to open gce-all-active-lb.conf. Change the `server` directives in the `upstream` block to reference the internal IP addresses of the nginx-plus-app-1 and nginx-plus-app-2 instances (substitute the address for the expression in angle brackets). You do not need to modify the two application instances. +5. On the LB instance (**nginx‑plus‑lb**), use a text editor to open **gce‑all‑active‑lb.conf**. Change the `server` directives in the `upstream` block to reference the internal IP addresses of the **nginx‑plus‑app‑1** and **nginx‑plus‑app‑2** instances (substitute the address for the expression in angle brackets). You do not need to modify the two application instances. - You can look up internal IP addresses in the Internal IP column of the table on the Compute Engine > VM instances summary page. + You can look up internal IP addresses in the **Internal IP** column of the table on the **Compute Engine > VM instances** summary page. ```nginx upstream upstream_app_pool { @@ -318,7 +318,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo mv default.conf default.conf.bak ``` -7. Enable the NGINX Plus [live activity monitoring](https://www.nginx.com/products/nginx/live-activity-monitoring/) dashboard for the instance. Copy status.html from the etc\_nginx\_conf.d subdirectory of the cloned repository to /etc/nginx/conf.d. +7. Enable the NGINX Plus [live activity monitoring](https://www.nginx.com/products/nginx/live-activity-monitoring/) dashboard for the instance. Copy **status.html** from the **etc\_nginx\_conf.d** subdirectory of the cloned repository to **/etc/nginx/conf.d**. You can also run the following commands to download the configuration file directly from the GitHub repository: @@ -341,9 +341,9 @@ Both the configuration and content files are available at the [NGINX GitHub repo nginx -s reload ``` -9. Verify the instance is working by accessing it at its external IP address. (As previously noted, we recommend blocking access to the external IP addresses of the application instances in a production environment.) The external IP address for the instance appears on the Compute Engine > VM instances summary page, in the External IP column of the table. +9. Verify the instance is working by accessing it at its external IP address. (As previously noted, we recommend blocking access to the external IP addresses of the application instances in a production environment.) The external IP address for the instance appears on the **Compute Engine > VM instances** summary page, in the **External IP** column of the table. - - Access the index.html page either in a browser or by running this `curl` command. + - Access the **index.html** page either in a browser or by running this `curl` command. ```shell curl http:// @@ -351,7 +351,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo - Access its NGINX Plus live activity monitoring dashboard in a browser, at: - https://_external-IP-address_:8080/status.html + **https://_external‑IP‑address_:8080/status.html** 10. Proceed to [Task 3: Creating "Gold" Images](#gold). @@ -363,26 +363,26 @@ Create three source instances based on a prebuilt NGINX Plus image running on < #### Creating the First Application Instance from a Prebuilt Image -1. Verify that the NGINX Plus All-Active-LB project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. -2. Navigate to the GCP Marketplace and search for nginx plus. +2. Navigate to the GCP Marketplace and search for **nginx plus**. -3. Click the NGINX Plus box in the results area. +3. Click the **NGINX Plus** box in the results area. Screenshot of NGINX Plus in the Google Cloud Platform Marketplace; from here, you can create a prebuilt NGINX Plus VM instance when deploying NGINX Plus as the load balancer for Google Cloud. -4. On the NGINX Plus page that opens, click the  Launch on Compute Engine  button. +4. On the **NGINX Plus** page that opens, click the  Launch on Compute Engine  button. -5. Fill in the fields on the New NGINX Plus deployment page as indicated. +5. Fill in the fields on the **New NGINX Plus deployment** page as indicated. - - Deployment name – nginx-plus-app-1 - - **Zone** – The GCP zone that makes sense for your location. We're using us-west1-a. - - Machine type – The appropriate size for the level of traffic you anticipate. We're selecting micro, which is ideal for testing purposes. - - Disk type – Standard Persistent Disk (the default) - - Disk size in GB – 10 (the default and minimum allowed) - - Network name – default - - Subnetwork name – default - - **Firewall** – Verify that the Allow HTTP traffic checkbox is checked. + - **Deployment name** – **nginx‑plus‑app‑1** + - **Zone** – The GCP zone that makes sense for your location. We're using **us‑west1‑a**. + - **Machine type** – The appropriate size for the level of traffic you anticipate. We're selecting **micro**, which is ideal for testing purposes. + - **Disk type** – **Standard Persistent Disk** (the default) + - **Disk size in GB** – **10** (the default and minimum allowed) + - **Network name** – **default** + - **Subnetwork name** – **default** + - **Firewall** – Verify that the **Allow HTTP traffic** checkbox is checked. Screenshot of the page for creating a prebuilt NGINX Plus VM instance when deploying NGINX Plus as the Google Cloud Platform load balancer. @@ -392,25 +392,25 @@ Create three source instances based on a prebuilt NGINX Plus image running on < Screenshot of the page that confirms the creation of a prebuilt NGINX Plus VM instance when deploying NGINX Plus as the Google load balancer. -7. Navigate to the Compute Engine > VM instances tab and click nginx-plus-app-1-vm in the Name column in the table. (The -vm suffix is added automatically to the name of the newly created instance.) +7. Navigate to the **Compute Engine > VM instances** tab and click **nginx‑plus‑app‑1‑vm** in the Name column in the table. (The **‑vm** suffix is added automatically to the name of the newly created instance.) Screenshot showing how to access the page where configuration details for a VM instance can be modified during deployment of NGINX Plus as the Google Cloud load balancer. -8. On the VM instances page that opens, click EDIT at the top of the page. In fields that can be edited, the value changes from static text to text boxes, drop‑down menus, and checkboxes. +8. On the **VM instances** page that opens, click EDIT at the top of the page. In fields that can be edited, the value changes from static text to text boxes, drop‑down menus, and checkboxes. 9. Modify or verify the indicated editable fields (non‑editable fields are not listed): - - **Tags** – If a default tag appears (for example, nginx-plus-app-1-tcp-80), click the X after its name to remove it. Then, type in nginx-plus-http-fw-rule. - - External IP – Ephemeral (the default) - - Boot disk and local disks – Uncheck the checkbox labeled Delete boot disk when instance is deleted. - - Additional disks – No changes - - **Network** – If you must change the defaults, for example, when configuring a production environment, select default Then, select EDIT on the opened Network details page. After making your changes select the  Save  button. + - **Tags** – If a default tag appears (for example, **nginx‑plus‑app‑1‑tcp‑80**), click the **X** after its name to remove it. Then, type in **nginx‑plus‑http‑fw‑rule**. + - **External IP** – **Ephemeral** (the default) + - **Boot disk and local disks** – Uncheck the checkbox labeled **Delete boot disk when instance is deleted**. + - **Additional disks** – No changes + - **Network** – If you must change the defaults, for example, when configuring a production environment, select default Then, select EDIT on the opened **Network details** page. After making your changes select the  Save  button. - **Firewall** – Verify that neither check box is checked (the default). The firewall rule named in the **Tags** field that's above on the current page (see the first bullet in this list) controls this type of access. - - Automatic restart – On (recommended) (the default) - - On host maintenance – Migrate VM instance (recommended) (the default) - - Custom metadata – No changes - - SSH Keys – If you're using your own SSH public key instead of your default GCE keys, paste the hexadecimal key string into the box labeled Enter entire key data. - - Serial port – Verify that the check box labeled Enable connecting to serial ports is not checked (the default). + - **Automatic restart** – **On (recommended)** (the default) + - **On host maintenance** – **Migrate VM instance (recommended)** (the default) + - **Custom metadata** – No changes + - **SSH Keys** – If you're using your own SSH public key instead of your default GCE keys, paste the hexadecimal key string into the box labeled **Enter entire key data**. + - **Serial port** – Verify that the check box labeled **Enable connecting to serial ports** is not checked (the default). The screenshot shows the results of your changes. It omits some fields that can't be edited or for which we recommend keeping the defaults. @@ -423,29 +423,29 @@ Create three source instances based on a prebuilt NGINX Plus image running on < Create the second application instance by cloning the first one. -1. Navigate back to the summary page on the Compute Engine > VM instances tab (click the arrow that is circled in the following figure). +1. Navigate back to the summary page on the **Compute Engine > VM instances** tab (click the arrow that is circled in the following figure). Screenshot showing how to return to the VM instance summary page during deployment of NGINX Plus as the Google Cloud Platform load balancer. -2. Click nginx-plus-app-1-vm in the Name column of the table (shown in the screenshot in Step 7 of Creating the First Application Instance). +2. Click **nginx‑plus‑app‑1‑vm** in the Name column of the table (shown in the screenshot in Step 7 of Creating the First Application Instance). -3. On the VM instances page that opens, click CLONE at the top of the page. +3. On the **VM instances** page that opens, click CLONE at the top of the page. -4. On the Create an instance page that opens, modify or verify the fields and checkboxes as indicated: +4. On the **Create an instance** page that opens, modify or verify the fields and checkboxes as indicated: - - **Name** – nginx-plus-app-2-vm. Here we're adding the -vm suffix to make the name consistent with the first instance; GCE does not add it automatically when you clone an instance. - - **Zone** – The GCP zone that makes sense for your location. We're using us-west1-a. - - Machine type – The appropriate size for the level of traffic you anticipate. We're selecting f1-micro, which is ideal for testing purposes. - - Boot disk type – New 10 GB standard persistent disk (the value inherited from nginx-plus-app-1-vm) - - Identity and API access – Set the Access scopes radio button to Allow default access and accept the default values in all other fields. If you want more granular control over access than is provided by these settings, modify the fields in this section as appropriate. + - **Name** – **nginx‑plus‑app‑2‑vm**. Here we're adding the **‑vm** suffix to make the name consistent with the first instance; GCE does not add it automatically when you clone an instance. + - **Zone** – The GCP zone that makes sense for your location. We're using **us‑west1‑a**. + - **Machine type** – The appropriate size for the level of traffic you anticipate. We're selecting **f1‑micro**, which is ideal for testing purposes. + - **Boot disk type** – **New 10 GB standard persistent disk** (the value inherited from **nginx‑plus‑app‑1‑vm**) + - **Identity and API access** – Set the **Access scopes** radio button to **Allow default access** and accept the default values in all other fields. If you want more granular control over access than is provided by these settings, modify the fields in this section as appropriate. - **Firewall** – Verify that neither check box is checked (the default). 5. Click Management, disk, networking, SSH keys to open that set of subtabs. 6. Verify the following settings on the subtabs, modifying them as necessary: - - Management – In the **Tags** field: nginx-plus-http-fw-rule - - Disks – The Deletion rule checkbox (labeled Delete boot disk when instance is deleted) is not checked + - **Management** – In the **Tags** field: **nginx‑plus‑http‑fw‑rule** + - **Disks** – The **Deletion rule** checkbox (labeled **Delete boot disk when instance is deleted**) is not checked 7. Select the  Create  button. @@ -454,21 +454,21 @@ Create the second application instance by cloning the first one. Create the source load‑balancing instance by cloning the first instance again. -Repeat Steps 2 through 7 of Creating the Second Application Instance. In Step 4, specify nginx-plus-lb-vm as the name. +Repeat Steps 2 through 7 of Creating the Second Application Instance. In Step 4, specify **nginx‑plus‑lb‑vm** as the name. #### Configuring PHP and FastCGI on the Prebuilt-Based Instances Install and configure PHP and FastCGI on the instances. -Repeat these instructions for all three source instances (nginx-plus-app-1-vm, nginx-plus-app-2-vm, and nginx-plus-lb-vm). +Repeat these instructions for all three source instances (**nginx‑plus‑app‑1‑vm**, **nginx‑plus‑app‑2‑vm**, and **nginx‑plus‑lb‑vm**). **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. 1. Connect to the instance over SSH using the method of your choice. GCE provides a built‑in mechanism: - - Navigate to the Compute Engine > VM instances tab. - - In the table, find the row for the instance. Select the triangle icon in the Connect column at the far right. Then, select a method (for example, Open in browser window). + - Navigate to the **Compute Engine > VM instances** tab. + - In the table, find the row for the instance. Select the triangle icon in the **Connect** column at the far right. Then, select a method (for example, **Open in browser window**). The screenshot shows instances based on the prebuilt NGINX Plus images. @@ -480,7 +480,7 @@ Install and configure PHP and FastCGI on the instances. apt-get install php5-fpm ``` -3. Edit the PHP 5 configuration to bind to a local network port instead of a Unix socket. Using your preferred text editor, remove the following line from /etc/php5/fpm/pool.d: +3. Edit the PHP 5 configuration to bind to a local network port instead of a Unix socket. Using your preferred text editor, remove the following line from **/etc/php5/fpm/pool.d**: ```none Listen = /run/php/php5-fpm.sock @@ -511,18 +511,18 @@ Now download files that are specific to the all‑active deployment: Both the configuration and content files are available at the [NGINX GitHub repository](https://github.com/nginxinc/NGINX-Demos/tree/master/gce-nginx-plus-deployment-guide-files). -Repeat these instructions for all three source instances (nginx-plus-app-1-vm, nginx-plus-app-2-vm, and nginx-plus-lb-vm). +Repeat these instructions for all three source instances (**nginx‑plus‑app‑1‑vm**, **nginx‑plus‑app‑2‑vm**, and **nginx‑plus‑lb‑vm**). **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. 1. Clone the GitHub repository for the [all‑active load balancing deployment](https://github.com/nginxinc/NGINX-Demos/tree/master/gce-nginx-plus-deployment-guide-files). (See the instructions below for downloading the files from GitHub if you choose not to clone it.) -2. Copy the contents of the usr\_share\_nginx subdirectory from the cloned repo to the local /usr/share/nginx directory. Create the local directory if necessary. (If you choose not to clone the repository, you need to download each file from the GitHub repository one at a time.) +2. Copy the contents of the **usr\_share\_nginx** subdirectory from the cloned repo to the local **/usr/share/nginx** directory. Create the local directory if necessary. (If you choose not to clone the repository, you need to download each file from the GitHub repository one at a time.) -3. Copy the right configuration file from the etc\_nginx\_conf.d subdirectory of the cloned repository to /etc/nginx/conf.d: +3. Copy the right configuration file from the **etc\_nginx\_conf.d** subdirectory of the cloned repository to **/etc/nginx/conf.d**: - - On both nginx-plus-app-1-vm and nginx-plus-app-2-vm, copy gce-all-active-app.conf. + - On both **nginx‑plus‑app‑1‑vm** and **nginx‑plus‑app‑2‑vm**, copy **gce‑all‑active‑app.conf**. You can also run these commands to download the configuration file from GitHub: @@ -538,7 +538,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo wget https://github.com/nginxinc/NGINX-Demos/blob/master/gce-nginx-plus-deployment-guide-files/etc_nginx_conf.d/gce-all-active-app.conf ``` - - On nginx-plus-lb-vm, copy gce-all-active-lb.conf. + - On **nginx‑plus‑lb‑vm**, copy **gce‑all‑active‑lb.conf**. You can also run the following commands to download the configuration file directly from the GitHub repository: @@ -554,9 +554,9 @@ Both the configuration and content files are available at the [NGINX GitHub repo wget https://github.com/nginxinc/NGINX-Demos/blob/master/gce-nginx-plus-deployment-guide-files/etc_nginx_conf.d/gce-all-active-lb.conf ``` -4. On the LB instance (nginx-plus-lb-vm), use a text editor to open gce-all-active-lb.conf. Change the `server` directives in the `upstream` block to reference the internal IP addresses of the nginx-plus-app-1-vm and nginx-plus-app-2-vm instances. (No action is required on the two application instances themselves.) +4. On the LB instance (**nginx‑plus‑lb‑vm**), use a text editor to open **gce‑all‑active‑lb.conf**. Change the `server` directives in the `upstream` block to reference the internal IP addresses of the **nginx‑plus‑app‑1‑vm** and **nginx‑plus‑app‑2‑vm** instances. (No action is required on the two application instances themselves.) - You can look up internal IP addresses in the Internal IP column of the table on the Compute Engine > VM instances summary page. + You can look up internal IP addresses in the **Internal IP** column of the table on the **Compute Engine > VM instances** summary page. ```nginx upstream upstream_app_pool { @@ -575,7 +575,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo mv default.conf default.conf.bak ``` -6. Enable the NGINX Plus [live activity monitoring](https://www.nginx.com/products/nginx/live-activity-monitoring/) dashboard for the instance. To do this, copy status.html from the etc\_nginx\_conf.d subdirectory of the cloned repository to /etc/nginx/conf.d. +6. Enable the NGINX Plus [live activity monitoring](https://www.nginx.com/products/nginx/live-activity-monitoring/) dashboard for the instance. To do this, copy **status.html** from the **etc\_nginx\_conf.d** subdirectory of the cloned repository to **/etc/nginx/conf.d**. You can also run the following commands to download the configuration file directly from the GitHub repository: @@ -598,9 +598,9 @@ Both the configuration and content files are available at the [NGINX GitHub repo nginx -s reload ``` -8. Verify the instance is working by accessing it at its external IP address. (As noted, we recommend blocking access, in production, to the external IPs of the app.) The external IP address for the instance appears on the Compute Engine > VM instances summary page, in the External IP column of the table. +8. Verify the instance is working by accessing it at its external IP address. (As noted, we recommend blocking access, in production, to the external IPs of the app.) The external IP address for the instance appears on the **Compute Engine > VM instances** summary page, in the **External IP** column of the table. - - Access the index.html page either in a browser or by running this `curl` command. + - Access the **index.html** page either in a browser or by running this `curl` command. ```shell curl http:// @@ -608,7 +608,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo - Access the NGINX Plus live activity monitoring dashboard in a browser, at: - https://_external-IP-address-of-NGINX-Plus-server_:8080/dashboard.html + **https://_external‑IP‑address‑of‑NGINX‑Plus‑server_:8080/dashboard.html** 9. Proceed to [Task 3: Creating "Gold" Images](#gold). @@ -617,14 +617,14 @@ Both the configuration and content files are available at the [NGINX GitHub repo Create _gold images_, which are base images that GCE clones automatically when it needs to scale up the number of instances. They are derived from the instances you created in [Creating Source Instances](#source). Before creating the images, delete the source instances. This breaks the attachment between them and the disk. (you can't create an image from a disk attached to a VM instance). -1. Verify that the NGINX Plus All-Active-LB project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. -2. Navigate to the Compute Engine > VM instances tab. +2. Navigate to the **Compute Engine > VM instances** tab. 3. In the table, select all three instances: - - If you created source instances from [VM (Ubuntu) images](#source-vm): nginx-plus-app-1, nginx-plus-app-2, and nginx-plus-lb - - If you created source instances from [prebuilt NGINX Plus images](#source-prebuilt): nginx-plus-app-1-vm, nginx-plus-app-2-vm, and nginx-plus-lb-vm + - If you created source instances from [VM (Ubuntu) images](#source-vm): **nginx‑plus‑app‑1**, **nginx‑plus‑app‑2**, and **nginx‑plus‑lb** + - If you created source instances from [prebuilt NGINX Plus images](#source-prebuilt): **nginx‑plus‑app‑1‑vm**, **nginx‑plus‑app‑2‑vm**, and **nginx‑plus‑lb‑vm** 4. Click STOP in the top toolbar to stop the instances. @@ -634,43 +634,43 @@ Create _gold images_, which are base images that GCE clones automatically when i **Note:** If the pop-up warns that it will delete the boot disk for any instance, cancel the deletion. Then, perform the steps below for each affected instance: - - Navigate to the Compute Engine > VM instances tab and click the instance in the Name column in the table. (The screenshot shows nginx-plus-app-1-vm.) + - Navigate to the **Compute Engine > VM instances** tab and click the instance in the Name column in the table. (The screenshot shows **nginx‑plus‑app‑1‑vm**.) Screenshot showing how to access the page where configuration details for a VM instance can be modified during deployment of NGINX Plus as the Google Cloud load balancer. - - On the VM instances page that opens, click EDIT at the top of the page. In fields that can be edited, the value changes from static text to text boxes, drop‑down menus, and checkboxes. - - In the Boot disk and local disks field, uncheck the checkbox labeled Delete boot disk when instance is deleted. + - On the **VM instances** page that opens, click EDIT at the top of the page. In fields that can be edited, the value changes from static text to text boxes, drop‑down menus, and checkboxes. + - In the **Boot disk and local disks** field, uncheck the checkbox labeled **Delete boot disk when instance is deleted**. - Click the  Save  button. - - On the VM instances summary page, select the instance in the table and click DELETE in the top toolbar to delete it. + - On the **VM instances** summary page, select the instance in the table and click DELETE in the top toolbar to delete it. -6. Navigate to the Compute Engine > Images tab. +6. Navigate to the **Compute Engine > Images** tab. 7. Click [+] CREATE IMAGE. -8. On the Create an image page that opens, modify or verify the fields as indicated: +8. On the **Create an image** page that opens, modify or verify the fields as indicated: - - **Name** – nginx-plus-app-1-image + - **Name** – **nginx‑plus‑app‑1‑image** - **Family** – Leave the field empty - - **Description** – NGINX Plus Application 1 Gold Image - - **Encryption** – Automatic (recommended) (the default) - - **Source** – Disk (the default) - - Source disk – nginx-plus-app-1 or nginx-plus-app-1-vm, depending on the method you used to create source instances (select the source instance from the drop‑down menu) + - **Description** – **NGINX Plus Application 1 Gold Image** + - **Encryption** – **Automatic (recommended)** (the default) + - **Source** – **Disk** (the default) + - **Source disk** – **nginx‑plus‑app‑1** or **nginx‑plus‑app‑1‑vm**, depending on the method you used to create source instances (select the source instance from the drop‑down menu) 9. Click the  Create  button. 10. Repeat Steps 7 through 9 to create a second image with the following values (retain the default values in all other fields): - - **Name** – nginx-plus-app-2-image - - **Description** – NGINX Plus Application 2 Gold Image - - Source disk – nginx-plus-app-2 or nginx-plus-app-2-vm, depending on the method you used to create source instances (select the source instance from the drop‑down menu) + - **Name** – **nginx‑plus‑app‑2‑image** + - **Description** – **NGINX Plus Application 2 Gold Image** + - **Source disk** – **nginx‑plus‑app‑2** or **nginx‑plus‑app‑2‑vm**, depending on the method you used to create source instances (select the source instance from the drop‑down menu) 11. Repeat Steps 7 through 9 to create a third image with the following values (retain the default values in all other fields): - - **Name** – nginx-plus-lb-image - - **Description** – NGINX Plus LB Gold Image - - Source disk – nginx-plus-lb or nginx-plus-lb-vm, depending on the method you used to create source instances (select the source instance from the drop‑down menu) + - **Name** – **nginx‑plus‑lb‑image** + - **Description** – **NGINX Plus LB Gold Image** + - **Source disk** – **nginx‑plus‑lb** or **nginx‑plus‑lb‑vm**, depending on the method you used to create source instances (select the source instance from the drop‑down menu) -12. Verify that the three images appear at the top of the table on the Compute Engine > Images tab. +12. Verify that the three images appear at the top of the table on the **Compute Engine > Images** tab. ## Task 4: Creating Instance Templates @@ -681,58 +681,58 @@ Create _instance templates_. They are the compute workloads in instance groups. ### Creating the First Application Instance Template -1. Verify that the NGINX Plus All-Active-LB project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. -2. Navigate to the Compute Engine > Instance templates tab. +2. Navigate to the **Compute Engine > Instance templates** tab. 3. Click the  Create instance template  button. -4. On the Create an instance template page that opens, modify or verify the fields as indicated: +4. On the **Create an instance template** page that opens, modify or verify the fields as indicated: - - **Name** – nginx-plus-app-1-instance-template - - Machine type – The appropriate size for the level of traffic you anticipate. We're selecting micro, which is ideal for testing purposes. - - Boot disk – Click Change. The Boot disk page opens. Perform the following steps: + - **Name** – **nginx‑plus‑app‑1‑instance‑template** + - **Machine type** – The appropriate size for the level of traffic you anticipate. We're selecting **micro**, which is ideal for testing purposes. + - **Boot disk** – Click **Change**. The **Boot disk** page opens. Perform the following steps: - - Open the Custom Images subtab. + - Open the **Custom Images** subtab. Screenshot of the 'Boot disk' page in Google Cloud Platform for selecting the source instance of a new instance template, part of deploying NGINX Plus as the Google load balancer. - - Select NGINX Plus All-Active-LB from the drop-down menu labeled Show images from. + - Select **NGINX Plus All‑Active‑LB** from the drop-down menu labeled **Show images from**. - - Click the nginx-plus-app-1-image radio button. + - Click the **nginx‑plus‑app‑1‑image** radio button. - - Accept the default values in the Boot disk type and Size (GB) fields (Standard persistent disk and 10 respectively). + - Accept the default values in the **Boot disk type** and **Size (GB)** fields (**Standard persistent disk** and **10** respectively). - Click the  Select  button. - - Identity and API access – Unless you want more granular control over access, keep the defaults in the Service account field (Compute Engine default service account) and Access scopes field (Allow default access). - - **Firewall** – Verify that neither check box is checked (the default). The firewall rule invoked in the **Tags** field on the Management subtab (see Step 6 below) controls this type of access. + - **Identity and API access** – Unless you want more granular control over access, keep the defaults in the **Service account** field (**Compute Engine default service account**) and **Access scopes** field (**Allow default access**). + - **Firewall** – Verify that neither check box is checked (the default). The firewall rule invoked in the **Tags** field on the **Management** subtab (see Step 6 below) controls this type of access. 5. Select Management, disk, networking, SSH keys (indicated with a red arrow in the following screenshot) to open that set of subtabs. Screenshot of the interface for creating a Google Compute Engine (GCE) instance template, used during deployment of NGINX Plus as the Google load balancer. -6. On the Management subtab, modify or verify the fields as indicated: +6. On the **Management** subtab, modify or verify the fields as indicated: - - **Description** – NGINX Plus app-1 Instance Template - - **Tags** – nginx-plus-http-fw-rule - - **Preemptibility** – Off (recommended) (the default) - - Automatic restart – On (recommended) (the default) - - On host maintenance – Migrate VM instance (recommended) (the default) + - **Description** – **NGINX Plus app‑1 Instance Template** + - **Tags** – **nginx‑plus‑http‑fw‑rule** + - **Preemptibility** – **Off (recommended)** (the default) + - **Automatic restart** – **On (recommended)** (the default) + - **On host maintenance** – **Migrate VM instance (recommended)** (the default) Screenshot of the Management subtab used during creation of a new VM instance template, part of deploying NGINX Plus as the Google load balancer. -7. On the Disks subtab, verify that the checkbox labeled Delete boot disk when instance is deleted is checked. +7. On the **Disks** subtab, verify that the checkbox labeled **Delete boot disk when instance is deleted** is checked. Instances from this template are ephemeral instantiations of the gold image. So, we want GCE to reclaim the disk when the instance is terminated. New instances are always based on the gold image. So, there is no reason to keep the instantiations on disk when the instance is deleted. Screenshot of the Disks subtab used during creation of a new VM instance template, part of deploying NGINX Plus as the Google Cloud load balancer. -8. On the Networking subtab, verify the default settings of Ephemeral for External IP and Off for IP Forwarding. +8. On the **Networking** subtab, verify the default settings of **Ephemeral** for **External IP** and **Off** for **IP Forwarding**. Screenshot of the Networking subtab used during creation of a new VM instance template, part of deploying NGINX Plus as the Google load balancer. -9. If you're using your own SSH public key instead of your default keys, paste the hexadecimal key string on the SSH Keys subtab. Right into the box that reads Enter entire key data. +9. If you're using your own SSH public key instead of your default keys, paste the hexadecimal key string on the **SSH Keys** subtab. Right into the box that reads **Enter entire key data**. Screenshot of the SSH Keys subtab used during creation of a new VM instance, part of deploying NGINX Plus as the Google Cloud Platform load balancer. @@ -741,55 +741,55 @@ Create _instance templates_. They are the compute workloads in instance groups. ### Creating the Second Application Instance Template -1. On the Instance templates summary page, click CREATE INSTANCE TEMPLATE. +1. On the **Instance templates** summary page, click CREATE INSTANCE TEMPLATE. 2. Repeat Steps 4 through 10 of Creating the First Application Instance Template to create a second application instance template. Use the same values as for the first instance template, except as noted: - In Step 4: - - **Name** – nginx-plus-app-2-instance-template - - Boot disk – Click the nginx-plus-app-2-image radio button - - In Step 6, **Description** – NGINX Plus app-2 Instance Template + - **Name** – **nginx‑plus‑app‑2‑instance‑template** + - **Boot disk** – Click the **nginx‑plus‑app‑2‑image** radio button + - In Step 6, **Description** – **NGINX Plus app‑2 Instance Template** ### Creating the Load-Balancing Instance Template -1. On the Instance templates summary page, click CREATE INSTANCE TEMPLATE. +1. On the **Instance templates** summary page, click CREATE INSTANCE TEMPLATE. 2. Repeat Steps 4 through 10 of Creating the First Application Instance Template to create the load‑balancing instance template. Use the same values as for the first instance template, except as noted: - In Step 4: - - **Name** – nginx-plus-lb-instance-template. - - Boot disk – Click the nginx-plus-lb-image radio button + - **Name** – **nginx‑plus‑lb‑instance‑template**. + - **Boot disk** – Click the **nginx‑plus‑lb‑image** radio button - - In Step 6, **Description** – NGINX Plus Load‑Balancing Instance Template + - In Step 6, **Description** – **NGINX Plus Load‑Balancing Instance Template** ## Task 5: Creating Image Health Checks Define the simple HTTP health check that GCE uses. This verifies that each NGINX Plus LB image is running (and to re-create any LB instance that isn't running). -1. Verify that the NGINX Plus All-Active-LB project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. -2. Navigate to the Compute Engine > Health checks tab. +2. Navigate to the **Compute Engine > Health checks** tab. 3. Click the  Create a health check  button. -4. On the Create a health check page that opens, modify or verify the fields as indicated: +4. On the **Create a health check** page that opens, modify or verify the fields as indicated: - - **Name** – nginx-plus-http-health-check - - **Description** – Basic HTTP health check to monitor NGINX Plus instances - - **Protocol** – HTTP (the default) - - **Port** – 80 (the default) - - Request path – /status-old.html + - **Name** – **nginx‑plus‑http‑health‑check** + - **Description** – **Basic HTTP health check to monitor NGINX Plus instances** + - **Protocol** – **HTTP** (the default) + - **Port** – **80** (the default) + - **Request path** – **/status‑old.html** -5. If the Health criteria section is not already open, click More. +5. If the **Health criteria** section is not already open, click More. 6. Modify or verify the fields as indicated: - - Check interval – 10 seconds - - **Timeout** – 10 seconds - - Healthy threshold – 2 consecutive successes (the default) - - Unhealthy threshold – 10 consecutive failures + - **Check interval** – **10 seconds** + - **Timeout** – **10 seconds** + - **Healthy threshold** – **2 consecutive successes** (the default) + - **Unhealthy threshold** – **10 consecutive failures** 7. Click the  Create  button. @@ -800,28 +800,28 @@ Define the simple HTTP health check that GCE uses. This verifies that each NGINX Create three independent instance groups, one for each type of function-specific instance. -1. Verify that the NGINX Plus All-Active-LB project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. -2. Navigate to the Compute Engine > Instance groups tab. +2. Navigate to the **Compute Engine > Instance groups** tab. 3. Click the  Create instance group  button. ### Creating the First Application Instance Group -1. On the Create a new instance group page that opens, modify or verify the fields as indicated. Ignore fields that are not mentioned: +1. On the **Create a new instance group** page that opens, modify or verify the fields as indicated. Ignore fields that are not mentioned: - - **Name** – nginx-plus-app-1-instance-group - - **Description** – Instance group to host NGINX Plus app-1 instances + - **Name** – **nginx‑plus‑app‑1‑instance‑group** + - **Description** – **Instance group to host NGINX Plus app-1 instances** - **Location** – - - Click the Single-zone radio button (the default). - - **Zone** – The GCP zone you specified when you created source instances (Step 1 of [Creating the First Application Instance from a VM Image](#source-vm-app-1) or Step 5 of [Creating the First Application Instance from a Prebuilt Image](#source-prebuilt)). We're using us-west1-a. - - Creation method – Use instance template radio button (the default) - - Instance template – nginx-plus-app-1-instance-template (select from the drop-down menu) - - **Autoscaling** – Off (the default) - - Number of instances – 2 - - Health check – nginx-plus-http-health-check (select from the drop-down menu) - - Initial delay – 300 seconds (the default) + - Click the **Single‑zone** radio button (the default). + - **Zone** – The GCP zone you specified when you created source instances (Step 1 of [Creating the First Application Instance from a VM Image](#source-vm-app-1) or Step 5 of [Creating the First Application Instance from a Prebuilt Image](#source-prebuilt)). We're using **us‑west1‑a**. + - **Creation method** – **Use instance template** radio button (the default) + - **Instance template** – **nginx‑plus‑app‑1‑instance‑template** (select from the drop-down menu) + - **Autoscaling** – **Off** (the default) + - **Number of instances** – **2** + - **Health check** – **nginx‑plus‑http‑health‑check** (select from the drop-down menu) + - **Initial delay** – **300 seconds** (the default) 3. Click the  Create  button. @@ -834,25 +834,25 @@ Create three independent instance groups, one for each type of function-specific 2. Repeat the steps in [Creating the First Application Instance Group](#groups-app-1) to create a second application instance group. Specify the same values as for the first instance template, except for these fields: - - **Name** – nginx-plus-app-2-instance-group - - **Description** – Instance group to host NGINX Plus app-2 instances - - Instance template – nginx-plus-app-2-instance-template (select from the drop-down menu) + - **Name** – **nginx‑plus‑app‑2‑instance‑group** + - **Description** – **Instance group to host NGINX Plus app-2 instances** + - **Instance template** – **nginx‑plus‑app‑2‑instance‑template** (select from the drop-down menu) ### Creating the Load-Balancing Instance Group -1. On the Instance groups summary page, click CREATE INSTANCE GROUP. +1. On the **Instance groups** summary page, click CREATE INSTANCE GROUP. 2. Repeat the steps in [Creating the First Application Instance Group](#groups-app-1) to create the load‑balancing instance group. Specify the same values as for the first instance template, except for these fields: - - **Name** – nginx-plus-lb-instance-group - - **Description** – Instance group to host NGINX Plus load balancing instances - - Instance template – nginx-plus-lb-instance-template (select from the drop-down menu) + - **Name** – **nginx‑plus‑lb‑instance‑group** + - **Description** – **Instance group to host NGINX Plus load balancing instances** + - **Instance template** – **nginx‑plus‑lb‑instance‑template** (select from the drop-down menu) ### Updating and Testing the NGINX Plus Configuration -Update the NGINX Plus configuration on the two LB instances (nginx-plus-lb-instance-group-[a...z]). It should list the internal IP addresses of the four application servers (two instances each of nginx-plus-app-1-instance-group-[a...z] and nginx-plus-app-2-instance-group-[a...z]). +Update the NGINX Plus configuration on the two LB instances (**nginx‑plus‑lb‑instance‑group‑[a...z]**). It should list the internal IP addresses of the four application servers (two instances each of **nginx‑plus‑app‑1‑instance‑group‑[a...z]** and **nginx‑plus‑app‑2‑instance‑group‑[a...z]**). Repeat these instructions for both LB instances. @@ -860,10 +860,10 @@ Update the NGINX Plus configuration on the two LB instances (Compute Engine > VM instances tab. - - In the table, find the row for the instance. Click the triangle icon in the Connect column at the far right. Then, select a method (for example, Open in browser window). + - Navigate to the **Compute Engine > VM instances** tab. + - In the table, find the row for the instance. Click the triangle icon in the **Connect** column at the far right. Then, select a method (for example, **Open in browser window**). -2. In the SSH terminal, use your preferred text editor to edit gce-all-active-lb.conf. Change the `server` directives in the `upstream` block to reference the internal IPs of the two nginx-plus-app-1-instance-group-[a...z] instances and the two nginx-plus-app-2-instance-group-[a...z] instances. You can check the addresses in the Internal IP column of the table on the Compute Engine > VM instances summary page. For example: +2. In the SSH terminal, use your preferred text editor to edit **gce‑all‑active‑lb.conf**. Change the `server` directives in the `upstream` block to reference the internal IPs of the two **nginx‑plus‑app‑1‑instance‑group‑[a...z]** instances and the two **nginx‑plus‑app‑2‑instance‑group‑[a...z]** instances. You can check the addresses in the **Internal IP** column of the table on the **Compute Engine > VM instances** summary page. For example: ```nginx upstream upstream_app_pool { @@ -887,9 +887,9 @@ Update the NGINX Plus configuration on the two LB instances (nginx-plus-lb-instance-group-[a...z]). You can see the instance's external IP address on the Compute Engine > VM instances summary page in the External IP column of the table. +4. Verify that the four application instances are receiving traffic and responding. To do this, access the NGINX Plus live activity monitoring dashboard on the load-balancing instance (**nginx‑plus‑lb‑instance‑group‑[a...z]**). You can see the instance's external IP address on the **Compute Engine > VM instances** summary page in the **External IP** column of the table. - https://_LB-external-IP-address_:8080/status.html + **https://_LB‑external‑IP‑address_:8080/status.html** 5. Verify that NGINX Plus is load balancing traffic among the four application instance groups. Do this by running this command on a separate client machine: @@ -904,54 +904,54 @@ Update the NGINX Plus configuration on the two LB instances (NGINX Plus All-Active-LB project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. -2. Navigate to the Networking > External IP addresses tab. +2. Navigate to the **Networking > External IP addresses** tab. 3. Click the  Reserve static address  button. -4. On the Reserve a static address page that opens, modify or verify the fields as indicated: +4. On the **Reserve a static address** page that opens, modify or verify the fields as indicated: - - **Name** – nginx-plus-network-lb-static-ip - - **Description** – Static IP address for Network LB frontend to NGINX Plus LB instances - - **Type** – Click the Regional radio button (the default) - - **Region** – The GCP zone you specified when you created source instances (Step 1 of [Creating the First Application Instance from a VM Image](#source-vm-app-1) or Step 5 of [Creating the First Application Instance from a Prebuilt Image](#source-prebuilt)). We're using us-west1. - - Attached to – None (the default) + - **Name** – **nginx‑plus‑network‑lb‑static‑ip** + - **Description** – **Static IP address for Network LB frontend to NGINX Plus LB instances** + - **Type** – Click the **Regional** radio button (the default) + - **Region** – The GCP zone you specified when you created source instances (Step 1 of [Creating the First Application Instance from a VM Image](#source-vm-app-1) or Step 5 of [Creating the First Application Instance from a Prebuilt Image](#source-prebuilt)). We're using **us‑west1**. + - **Attached to** – **None** (the default) 5. Click the  Reserve  button. Screenshot of the interface for reserving a static IP address for Google Compute Engine network load balancer. -6. Navigate to the Networking > Load balancing tab. +6. Navigate to the **Networking > Load balancing** tab. 7. Click the  Create load balancer  button. -8. On the Load balancing page that opens, click Start configuration in the TCP Load Balancing box. +8. On the **Load balancing** page that opens, click **Start configuration** in the **TCP Load Balancing** box. -9. On the page that opens, click the From Internet to my VMs and No (TCP) radio buttons (the defaults). +9. On the page that opens, click the **From Internet to my VMs** and **No (TCP)** radio buttons (the defaults). -10. Click the  Continue  button. The New TCP load balancer page opens. +10. Click the  Continue  button. The **New TCP load balancer** page opens. -11. In the **Name** field, type nginx-plus-network-lb-frontend. +11. In the **Name** field, type **nginx‑plus‑network‑lb‑frontend**. -12. Click Backend configuration in the left column to open the Backend configuration interface in the right column. Fill in the fields as indicated: +12. Click **Backend configuration** in the left column to open the **Backend configuration** interface in the right column. Fill in the fields as indicated: - - **Region** – The GCP region you specified in Step 4. We're using us-west1. - - **Backends** – With Select existing instance groups selected, select nginx-plus-lb-instance-group from the drop-down menu - - Backup pool – None (the default) - - Failover ratio – 10 (the default) - - Health check – nginx-plus-http-health-check - - Session affinity – Client IP + - **Region** – The GCP region you specified in Step 4. We're using **us‑west1**. + - **Backends** – With **Select existing instance groups** selected, select **nginx‑plus‑lb‑instance‑group** from the drop-down menu + - **Backup pool** – **None** (the default) + - **Failover ratio** – **10** (the default) + - **Health check** – **nginx‑plus‑http‑health‑check** + - **Session affinity** – **Client IP** Screenshot of the interface for backend configuration of GCE network load balancer, used during deployment of NGINX Plus as the Google Cloud Platform load balancer. -13. Select Frontend configuration in the left column. This opens up the Frontend configuration interface on the right column. +13. Select **Frontend configuration** in the left column. This opens up the **Frontend configuration** interface on the right column. -14. Create three Protocol-IP-Port tuples, each with: +14. Create three **Protocol‑IP‑Port** tuples, each with: - - **Protocol** – TCP + - **Protocol** – **TCP** - **IP** – The address you reserved in Step 5, selected from the drop-down menu (if there is more than one address, select the one labeled in parentheses with the name you specified in Step 5) - - **Port** – 80, 8080, and 443 in the three tuples respectively + - **Port** – **80**, **8080**, and **443** in the three tuples respectively 15. Click the  Create  button. @@ -978,7 +978,7 @@ If load balancing is working properly, the unique **Server** field from the inde To verify that high availability is working: -1. Connect to one of the instances in the nginx-plus-lb-instance-group over SSH and run this command to force it offline: +1. Connect to one of the instances in the **nginx‑plus‑lb‑instance‑group** over SSH and run this command to force it offline: ```shell iptables -A INPUT -p tcp --destination-port 80 -j DROP diff --git a/content/nginx/deployment-guides/load-balance-third-party/apache-tomcat.md b/content/nginx/deployment-guides/load-balance-third-party/apache-tomcat.md index a244a1475..df0ff8cb6 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/apache-tomcat.md +++ b/content/nginx/deployment-guides/load-balance-third-party/apache-tomcat.md @@ -171,7 +171,7 @@ http { } ``` -You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files _function_-http.conf, this is an appropriate `include` directive: +You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf**, this is an appropriate `include` directive: ```nginx http { @@ -294,7 +294,7 @@ To configure load balancing, first create a named _upstream group_, which lists 2. In the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), include two `location` blocks: - - The first one matches HTTPS requests in which the path starts with /tomcat-app/, and proxies them to the **tomcat** upstream group we created in the previous step. + - The first one matches HTTPS requests in which the path starts with **/tomcat‑app/**, and proxies them to the **tomcat** upstream group we created in the previous step. - The second one funnels all traffic to the first `location` block, by doing a temporary redirect of all requests for **"http://example.com/"**. @@ -409,7 +409,7 @@ To enable basic caching in NGINX Open Source< Directive documentation: [proxy_cache_path](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path) -2. In the `location` block that matches HTTPS requests in which the path starts with /tomcat-app/, include the `proxy_cache` directive to reference the cache created in the previous step. +2. In the `location` block that matches HTTPS requests in which the path starts with **/tomcat‑app/**, include the `proxy_cache` directive to reference the cache created in the previous step. ```nginx # In the 'server' block for HTTPS traffic @@ -440,11 +440,11 @@ HTTP/2 is fully supported in both NGINX Open - In NGINX Plus R8 and later, NGINX Plus supports HTTP/2 by default. (Support for SPDY is deprecated as of that release). Specifically: - In NGINX Plus R11 and later, the nginx-plus package continues to support HTTP/2 by default, but the nginx-plus-extras package available in previous releases is deprecated by [dynamic modules](https://www.nginx.com/products/nginx/dynamic-modules/). + In NGINX Plus R11 and later, the **nginx‑plus** package continues to support HTTP/2 by default, but the **nginx‑plus‑extras** package available in previous releases is deprecated by [dynamic modules](https://www.nginx.com/products/nginx/dynamic-modules/). - For NGINX Plus R8 through R10, the nginx-plus and nginx-plus-extras packages support HTTP/2 by default. + For NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. - If using NGINX Plus R7, you must install the nginx-plus-http2 package instead of the nginx-plus or nginx-plus-extras package. + If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. To enable HTTP/2 support, add the `http2` directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: @@ -636,7 +636,7 @@ Health checks are out-of-band HTTP req Because the `health_check` directive is placed in the `location` block, we can enable different health checks for each application. -1. In the `location` block that matches HTTPS requests in which the path starts with /tomcat-app/ (created in [Configuring Basic Load Balancing](#load-balancing-basic)), add the `health_check` directive. +1. In the `location` block that matches HTTPS requests in which the path starts with **/tomcat‑app/** (created in [Configuring Basic Load Balancing](#load-balancing-basic)), add the `health_check` directive. Here we configure NGINX Plus to send an out-of-band request for the top‑level URI **/** (slash) to each of the servers in the **tomcat** upstream group every 2 seconds, which is more aggressive than the default 5‑second interval. If a server does not respond correctly, it is marked down and NGINX Plus stops sending requests to it until it passes five subsequent health checks in a row. We include the `match` parameter to define a nondefault set of health‑check tests. @@ -719,7 +719,7 @@ The quickest way to configure the module and the built‑in dashboard is to down Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) - If you are using the conventional configuration scheme and your existing `include` directives use the wildcard notation discussed in [Creating and Modifying Configuration Files](#config-files), you can either add a separate `include` directive for **status.conf** as shown above, or change the name of **status.conf** so it is captured by the wildcard in an existing `include` directive in the `http` block. For example, changing it to status-http.conf means it is captured by the `include` directive for `*-http.conf`. + If you are using the conventional configuration scheme and your existing `include` directives use the wildcard notation discussed in [Creating and Modifying Configuration Files](#config-files), you can either add a separate `include` directive for **status.conf** as shown above, or change the name of **status.conf** so it is captured by the wildcard in an existing `include` directive in the `http` block. For example, changing it to **status‑http.conf** means it is captured by the `include` directive for `*-http.conf`. 3. Comments in **status.conf** explain which directives you must customize for your deployment. In particular, the default settings in the sample configuration file allow anyone on any network to access the dashboard. We strongly recommend that you restrict access to the dashboard with one or more of the following methods: diff --git a/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md b/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md index 3a9158c19..912302769 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md +++ b/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md @@ -371,7 +371,7 @@ To set up the conventional configuration scheme, perform these steps: Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) - You can also use wildcard notation to read all function‑specific files for either HTTP or TCP traffic into the appropriate context block. For example, if you name all HTTP configuration files _function_-http.conf and all TCP configuration files _function_-stream.conf (the filenames we specify in this section conform to this pattern), the wildcarded `include` directives are: + You can also use wildcard notation to read all function‑specific files for either HTTP or TCP traffic into the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf** and all TCP configuration files **_function_‑stream.conf** (the filenames we specify in this section conform to this pattern), the wildcarded `include` directives are: ```nginx http { @@ -383,9 +383,9 @@ To set up the conventional configuration scheme, perform these steps: } ``` -2. In the **/etc/nginx/conf.d** directory, create a new file called exchange-http.conf for directives that pertain to Exchange HTTP and HTTPS traffic (or substitute the name you chose in Step 1). Copy in the directives from the `http` configuration block in the downloaded configuration file. Remember not to copy the first line (`http` `{`) or the closing curly brace (`}`) for the block, because the `http` block you created in Step 1 already has them. +2. In the **/etc/nginx/conf.d** directory, create a new file called **exchange‑http.conf** for directives that pertain to Exchange HTTP and HTTPS traffic (or substitute the name you chose in Step 1). Copy in the directives from the `http` configuration block in the downloaded configuration file. Remember not to copy the first line (`http` `{`) or the closing curly brace (`}`) for the block, because the `http` block you created in Step 1 already has them. -3. Also in the **/etc/nginx/conf.d** directory, create a new file called exchange-stream.conf for directives that pertain to Exchange TCP traffic (or substitute the name you chose in Step 1). Copy in the directives from the `stream` configuration block in the dowloaded configuration file. Again, do not copy the first line (`stream` `{`) or the closing curly brace (`}`). +3. Also in the **/etc/nginx/conf.d** directory, create a new file called **exchange‑stream.conf** for directives that pertain to Exchange TCP traffic (or substitute the name you chose in Step 1). Copy in the directives from the `stream` configuration block in the dowloaded configuration file. Again, do not copy the first line (`stream` `{`) or the closing curly brace (`}`). For reference purposes, the text of the full configuration files is included in this document: @@ -468,7 +468,7 @@ The directives in the top‑level `stream` configuration block configure TCP loa } ``` -3. This `server` block defines the virtual server that proxies traffic on port 993 to the exchange-imaps upstream group configured in Step 1. +3. This `server` block defines the virtual server that proxies traffic on port 993 to the **exchange‑imaps** upstream group configured in Step 1. ```nginx # In the 'stream' block @@ -481,7 +481,7 @@ The directives in the top‑level `stream` configuration block configure TCP loa Directive documentation: [listen](https://nginx.org/en/docs/stream/ngx_stream_core_module.html#listen), [proxy_pass](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_pass), [server](https://nginx.org/en/docs/stream/ngx_stream_core_module.html#server), [status_zone](https://nginx.org/en/docs/http/ngx_http_status_module.html#status_zone) -4. This `server` block defines the virtual server that proxies traffic on port 25 to the exchange-smtp upstream group configured in Step 2. If you wish to change the port number from 25 (for example, to 587), change the `listen` directive. +4. This `server` block defines the virtual server that proxies traffic on port 25 to the **exchange‑smtp** upstream group configured in Step 2. If you wish to change the port number from 25 (for example, to 587), change the `listen` directive. ```nginx # In the 'stream' block @@ -615,11 +615,11 @@ HTTP/2 is fully supported in NGINX Plus R7NGINX Plus R8 and later, NGINX Plus supports HTTP/2 by default, and does not support SPDY: -- In NGINX Plus R11 and later, the nginx-plus package continues to support HTTP/2 by default, but the nginx-plus-extras package available in previous releases is deprecated by [dynamic modules](https://www.nginx.com/products/nginx/dynamic-modules/). +- In NGINX Plus R11 and later, the **nginx‑plus** package continues to support HTTP/2 by default, but the **nginx‑plus‑extras** package available in previous releases is deprecated by [dynamic modules](https://www.nginx.com/products/nginx/dynamic-modules/). -- For NGINX Plus R8 through R10, the nginx-plus and nginx-plus-extras packages support HTTP/2 by default. +- For NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. -If using NGINX Plus R7, you must install the nginx-plus-http2 package instead of the nginx-plus or nginx-plus-extras package. +If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. To enable HTTP/2 support, add the `http2` directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: @@ -926,7 +926,7 @@ Exchange CASs interact with various applications used by clients on different ty } ``` - - Mobile clients like iPhone and Android access the ActiveSync location (/Microsoft-Server-ActiveSync). + - Mobile clients like iPhone and Android access the ActiveSync location (**/Microsoft‑Server‑ActiveSync**). ```nginx # In the 'server' block for HTTPS traffic @@ -1092,7 +1092,7 @@ The quickest way to configure the module and the built‑in dashboard is to down include conf.d/status.conf; ``` - If you are using the conventional configuration scheme and your existing `include` directives use the wildcard notation discussed in [Creating and Modifying Configuration Files](#config-files), you can either add a separate `include` directive for **status.conf** as shown above, or change the name of **status.conf** so it is captured by the wildcard in an existing `include` directive in the `http` block. For example, changing it to status-http.conf means it is captured by the `include` directive for `*-http.conf`. + If you are using the conventional configuration scheme and your existing `include` directives use the wildcard notation discussed in [Creating and Modifying Configuration Files](#config-files), you can either add a separate `include` directive for **status.conf** as shown above, or change the name of **status.conf** so it is captured by the wildcard in an existing `include` directive in the `http` block. For example, changing it to **status‑http.conf** means it is captured by the `include` directive for `*-http.conf`. Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) diff --git a/content/nginx/deployment-guides/load-balance-third-party/node-js.md b/content/nginx/deployment-guides/load-balance-third-party/node-js.md index af2a2c964..c37183f64 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/node-js.md +++ b/content/nginx/deployment-guides/load-balance-third-party/node-js.md @@ -175,7 +175,7 @@ http { Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) -You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files _function_-http.conf, this is an appropriate `include` directive: +You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf**, this is an appropriate `include` directive: ```nginx http { @@ -433,13 +433,13 @@ HTTP/2 is fully supported in both NGINX 1.9.5 and later, and NGINX Plus R7 and - If using NGINX Open Source, note that in version 1.9.5 and later the SPDY module is completely removed from the codebase and replaced with the [HTTP/2](https://nginx.org/en/docs/http/ngx_http_v2_module.html) module. After upgrading to version 1.9.5 or later, you can no longer configure NGINX Open Source to use SPDY. If you want to keep using SPDY, you need to compile NGINX Open Source from the sources in the [NGINX 1.8.x branch](https://nginx.org/en/download.html). -- If using NGINX Plus, in R11 and later the nginx-plus package supports HTTP/2 by default, and the nginx-plus-extras package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. +- If using NGINX Plus, in R11 and later the **nginx‑plus** package supports HTTP/2 by default, and the **nginx‑plus‑extras** package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. - In NGINX Plus R8 through R10, the nginx-plus and nginx-plus-extras packages support HTTP/2 by default. + In NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. In NGINX Plus R8 and later, NGINX Plus supports HTTP/2 by default, and does not support SPDY. - If using NGINX Plus R7, you must install the nginx-plus-http2 package instead of the nginx-plus or nginx-plus-extras package. + If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. To enable HTTP/2 support, add the [http2](https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2) directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: @@ -459,7 +459,7 @@ To verify that HTTP/2 translation is working, you can use the "HTTP/2 and SPDY i The full configuration for basic load balancing appears here for your convenience. It goes in the `http` context. The complete file is available for [download](https://www.nginx.com/resource/conf/nodejs-basic.conf) from the NGINX website. -We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of /etc/nginx/conf.d/nodejs-basic.conf. +We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of **/etc/nginx/conf.d/nodejs‑basic.conf**. ```nginx proxy_cache_path /tmp/NGINX_cache/ keys_zone=backcache:10m; @@ -785,9 +785,9 @@ Parameter documentation: [service](https://nginx.org/en/docs/http/ngx_http_upstr The full configuration for enhanced load balancing appears here for your convenience. It goes in the `http` context. The complete file is available for [download](https://www.nginx.com/resource/conf/nodejs-enhanced.conf) from the NGINX website. -We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – namely, add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of /etc/nginx/conf.d/nodejs-enhanced.conf. +We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – namely, add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of **/etc/nginx/conf.d/nodejs‑enhanced.conf**. -**Note:** The `api` block in this configuration summary and the [downloadable](https://www.nginx.com/resource/conf/nodejs-enhanced.conf) nodejs-enhanced.conf file is for the [API method](#reconfiguration-api) of dynamic reconfiguration. If you want to use the [DNS method](#reconfiguration-dns) instead, make the appropriate changes to the block. (You can also remove or comment out the directives for the NGINX Plus API in that case, but they do not conflict with using the DNS method and enable features other than dynamic reconfiguration.) +**Note:** The `api` block in this configuration summary and the [downloadable](https://www.nginx.com/resource/conf/nodejs-enhanced.conf) **nodejs‑enhanced.conf** file is for the [API method](#reconfiguration-api) of dynamic reconfiguration. If you want to use the [DNS method](#reconfiguration-dns) instead, make the appropriate changes to the block. (You can also remove or comment out the directives for the NGINX Plus API in that case, but they do not conflict with using the DNS method and enable features other than dynamic reconfiguration.) ```nginx proxy_cache_path /tmp/NGINX_cache/ keys_zone=backcache:10m; diff --git a/content/nginx/deployment-guides/load-balance-third-party/oracle-e-business-suite.md b/content/nginx/deployment-guides/load-balance-third-party/oracle-e-business-suite.md index 88457fdfe..6e456bacd 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/oracle-e-business-suite.md +++ b/content/nginx/deployment-guides/load-balance-third-party/oracle-e-business-suite.md @@ -322,7 +322,7 @@ http { Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) -You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files _function_-http.conf, this is an appropriate include directive: +You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf**, this is an appropriate include directive: ```nginx http { @@ -505,13 +505,13 @@ HTTP/2 is fully supported in both NGINX 1.9.5 and later, and NGINX Plus R7 and - If using open source NGINX, note that in version 1.9.5 and later the SPDY module is completely removed from the NGINX codebase and replaced with the [HTTP/2](https://nginx.org/en/docs/http/ngx_http_v2_module.html) module. After upgrading to version 1.9.5 or later, you can no longer configure NGINX to use SPDY. If you want to keep using SPDY, you need to compile NGINX from the sources in the [NGINX 1.8 branch](https://nginx.org/en/download.html). -- If using NGINX Plus, in R11 and later the nginx-plus package supports HTTP/2 by default, and the nginx-plus-extras package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. +- If using NGINX Plus, in R11 and later the **nginx‑plus** package supports HTTP/2 by default, and the **nginx‑plus‑extras** package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. - In NGINX Plus R8 through R10, the nginx-plus and nginx-plus-extras packages support HTTP/2 by default. + In NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. In NGINX Plus R8 and later, NGINX Plus supports HTTP/2 by default, and does not support SPDY. - If using NGINX Plus R7, you must install the nginx-plus-http2 package instead of the nginx-plus or nginx-plus-extras package. + If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. To enable HTTP/2 support, add the `http2` directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: diff --git a/content/nginx/deployment-guides/load-balance-third-party/oracle-weblogic-server.md b/content/nginx/deployment-guides/load-balance-third-party/oracle-weblogic-server.md index 1c0188761..de3b44837 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/oracle-weblogic-server.md +++ b/content/nginx/deployment-guides/load-balance-third-party/oracle-weblogic-server.md @@ -173,7 +173,7 @@ http { } ``` -You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files _function_-http.conf, this is an appropriate include directive: +You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf**, this is an appropriate include directive: ```nginx http { @@ -299,7 +299,7 @@ By putting NGINX Open Source or NGINX Plus in front of WebLogic Server servers 2. In the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), include two `location` blocks: - - The first one matches HTTPS requests in which the path starts with /weblogic-app/, and proxies them to the **weblogic** upstream group we created in the previous step. + - The first one matches HTTPS requests in which the path starts with **/weblogic‑app/**, and proxies them to the **weblogic** upstream group we created in the previous step. - The second one funnels all traffic to the first `location` block, by doing a temporary redirect of all requests for **"http://example.com/"**. @@ -414,7 +414,7 @@ To create a very simple caching configuration: Directive documentation: [proxy_cache_path](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path) -2. In the `location` block that matches HTTPS requests in which the path starts with /weblogic-app/, include the `proxy_cache` directive to reference the cache created in the previous step. +2. In the `location` block that matches HTTPS requests in which the path starts with **/weblogic‑app/**, include the `proxy_cache` directive to reference the cache created in the previous step. ```nginx # In the 'server' block for HTTPS traffic @@ -443,13 +443,13 @@ HTTP/2 is fully supported in both NGINX 1.9.5 and later, and NGINX Plus R7 and - If using NGINX Open Source, note that in version 1.9.5 and later the SPDY module is completely removed from the codebase and replaced with the [HTTP/2](https://nginx.org/en/docs/http/ngx_http_v2_module.html) module. After upgrading to version 1.9.5 or later, you can no longer configure NGINX Open Source to use SPDY. If you want to keep using SPDY, you need to compile NGINX Open Source from the sources in the [NGINX 1.8.x branch](https://nginx.org/en/download.html). -- If using NGINX Plus, in R11 and later the nginx-plus package supports HTTP/2 by default, and the nginx-plus-extras package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. +- If using NGINX Plus, in R11 and later the **nginx‑plus** package supports HTTP/2 by default, and the **nginx‑plus‑extras** package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. - In NGINX Plus R8 through R10, the nginx-plus and nginx-plus-extras packages support HTTP/2 by default. + In NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. In NGINX Plus R8 and later, NGINX Plus supports HTTP/2 by default, and does not support SPDY. - If using NGINX Plus R7, you must install the nginx-plus-http2 package instead of the nginx-plus or nginx-plus-extras package. + If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. To enable HTTP/2 support, add the `http2` directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: @@ -601,7 +601,7 @@ Health checks are out‑of‑band HTTP requests sent to a server at fixed interv Because the `health_check` directive is placed in the `location` block, we can enable different health checks for each application. -1. In the `location` block that matches HTTPS requests in which the path starts with /weblogic-app/ (created in [Configuring Basic Load Balancing](#load-balancing-basic)), add the `health_check` directive. +1. In the `location` block that matches HTTPS requests in which the path starts with **/weblogic‑app/** (created in [Configuring Basic Load Balancing](#load-balancing-basic)), add the `health_check` directive. Here we configure NGINX Plus to send an out‑of‑band request for the URI **/benefits** to each of the servers in the **weblogic** upstream group every 5 seconds (the default frequency). If a server does not respond correctly, it is marked down and NGINX Plus stops sending requests to it until it passes a subsequent health check. We include the `match` parameter to the `health_check` directive to define a nondefault set of health‑check tests. @@ -814,7 +814,7 @@ To enable dynamic reconfiguration of your upstream group of WebLogic Server app The full configuration for enhanced load balancing appears here for your convenience. It goes in the `http` context. The complete file is available for [download](https://www.nginx.com/resource/conf/weblogic-enhanced.conf) from the NGINX website. -We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of /etc/nginx/conf.d/weblogic-enhanced.conf. +We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of **/etc/nginx/conf.d/weblogic‑enhanced.conf**. ```nginx proxy_cache_path /tmp/NGINX_cache/ keys_zone=backcache:10m; diff --git a/content/nginx/deployment-guides/load-balance-third-party/wildfly.md b/content/nginx/deployment-guides/load-balance-third-party/wildfly.md index 5f319051b..2e92a9243 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/wildfly.md +++ b/content/nginx/deployment-guides/load-balance-third-party/wildfly.md @@ -169,7 +169,7 @@ http { Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) -You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files _function_-http.conf, this is an appropriate include directive: +You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf**, this is an appropriate include directive: ```nginx http { @@ -429,9 +429,9 @@ HTTP/2 is fully supported in both NGINX Open In [NGINX Plus R11]({{< ref "/nginx/releases.md#r11" >}}) and later, the **nginx-plus** package continues to support HTTP/2 by default, but the **nginx-plus-extras** package available in previous releases is deprecated and replaced by [dynamic modules]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}). - For NGINX Plus R8 through R10, the nginx-plus and nginx-plus-extras packages support HTTP/2 by default. + For NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. - If using NGINX Plus R7, you must install the nginx-plus-http2 package instead of the nginx-plus or nginx-plus-extras package. + If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. To enable HTTP/2 support, add the `http2` directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: @@ -793,7 +793,7 @@ The full configuration for enhanced load balancing appears here for your conveni We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of /etc/nginx/conf.d/jboss-enhanced.conf. -**Note:** The `api` block in this configuration summary and the [downloadable](https://www.nginx.com/resource/conf/jboss-enhanced.conf) jboss-enhanced.conf file is for the [API method](#reconfiguration-api) of dynamic reconfiguration. If you want to use the [DNS method](#reconfiguration-dns) instead, make the appropriate changes to the block. (You can also remove or comment out the directives for the NGINX Plus API in that case, but they do not conflict with using the DNS method and enable features other than dynamic reconfiguration.) +**Note:** The `api` block in this configuration summary and the [downloadable](https://www.nginx.com/resource/conf/jboss-enhanced.conf) **jboss‑enhanced.conf** file is for the [API method](#reconfiguration-api) of dynamic reconfiguration. If you want to use the [DNS method](#reconfiguration-dns) instead, make the appropriate changes to the block. (You can also remove or comment out the directives for the NGINX Plus API in that case, but they do not conflict with using the DNS method and enable features other than dynamic reconfiguration.) ```nginx proxy_cache_path /tmp/NGINX_cache/ keys_zone=backcache:10m; diff --git a/content/nginx/deployment-guides/microsoft-azure/high-availability-standard-load-balancer.md b/content/nginx/deployment-guides/microsoft-azure/high-availability-standard-load-balancer.md index 25a8a9ba8..792d14bbb 100644 --- a/content/nginx/deployment-guides/microsoft-azure/high-availability-standard-load-balancer.md +++ b/content/nginx/deployment-guides/microsoft-azure/high-availability-standard-load-balancer.md @@ -71,7 +71,7 @@ These instructions assume you have the following: - An Azure [account](https://azure.microsoft.com/en-us/free/). - An Azure [subscription](https://docs.microsoft.com/en-us/azure/azure-glossary-cloud-terminology?toc=/azure/virtual-network/toc.json#subscription). -- An Azure [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/overview#resource-groups), preferably dedicated to the HA solution. In this guide, it is called NGINX-Plus-HA. +- An Azure [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/overview#resource-groups), preferably dedicated to the HA solution. In this guide, it is called **NGINX‑Plus‑HA**. - An Azure [virtual network](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview). - Six Azure VMs, four running NGINX Open Source and two running NGINX Plus (in each region where you deploy the solution). You need a paid or trial subscription for each NGINX Plus instance. @@ -100,17 +100,17 @@ With NGINX Open Source and NGINX Plus installed and configured on the Azure VMs 4. On the **Create load balancer** page that opens (to the **Basics** tab), enter the following values: - - **Subscription** – Name of your subscription (NGINX-Plus-HA-subscription in this guide) - - **Resource group** – Name of your resource group (NGINX-Plus-HA in this guide) - - **Name** – Name of your Standard Load Balancer (lb in this guide) - - **Region** – Name selected from the drop‑down menu ((US) West US 2 in this guide) - - **Type** – Public - - **SKU** – Standard - - **Public IP address** – Create new - - **Public IP address name** – Name for the address (public\_ip\_lb in this guide) - - **Public IP address SKU** – Standard - - **Availability zone** – Zone‑redundant - - **Add a public IPv6 address** – No + - **Subscription** – Name of your subscription (**NGINX‑Plus‑HA‑subscription** in this guide) + - **Resource group** – Name of your resource group (**NGINX‑Plus‑HA** in this guide) + - **Name** – Name of your Standard Load Balancer (**lb** in this guide) + - **Region** – Name selected from the drop‑down menu (**(US) West US 2** in this guide) + - **Type** – **Public** + - **SKU** – **Standard** + - **Public IP address** – **Create new** + - **Public IP address name** – Name for the address (**public\_ip\_lb** in this guide) + - **Public IP address SKU** – **Standard** + - **Availability zone** – **Zone‑redundant** + - **Add a public IPv6 address** – **No** Screenshot of the 'Basics' tab for creating an Azure Standard Load Balancer @@ -130,7 +130,7 @@ With NGINX Open Source and NGINX Plus installed and configured on the Azure VMs 1. If you are not already on the **Load balancers** page, click **Load balancers** in the left navigation column. -2. Click the name of the load balancer in the **Name** column of the table (lb in this guide). +2. Click the name of the load balancer in the **Name** column of the table (**lb** in this guide). Screenshot of Azure 'Load Balancers' page @@ -139,61 +139,61 @@ With NGINX Open Source and NGINX Plus installed and configured on the Azure VMs Screenshot of selecting 'Backend pools' on details page for an Azure Standard Load Balancer -4. On the lb | Backend Pools page that opens, click **+ Add** in the upper left corner of the main pane. +4. On the **lb | Backend Pools** page that opens, click **+ Add** in the upper left corner of the main pane. -5. On the Add backend pool page that opens, enter the following values, then click the  Add  button: +5. On the **Add backend pool** page that opens, enter the following values, then click the  Add  button: - - **Name** – Name of the new backend pool (lb\_backend_pool in this guide) - - **IP version** – IPv4 - - **Virtual machines** – ngx-plus-1 and ngx-plus-2 + - **Name** – Name of the new backend pool (**lb\_backend_pool** in this guide) + - **IP version** – **IPv4** + - **Virtual machines** – **ngx‑plus‑1** and **ngx‑plus‑2** Screenshot of Azure 'Add backend pool' page for Standard Load Balancer After a few moments the virtual machines appear in the new backend pool. -6. Click **Health probes** in the left navigation column, and then **+ Add** in the upper left corner of the main pane on the lb | Health probes page that opens. +6. Click **Health probes** in the left navigation column, and then **+ Add** in the upper left corner of the main pane on the **lb | Health probes** page that opens. -7. On the Add health probe page that opens, enter the following values, then click the  OK  button. +7. On the **Add health probe** page that opens, enter the following values, then click the  OK  button. - - **Name** – Name of the new backend pool (lb\_probe in this guide) - - **Protocol** – HTTP or HTTPS - - **Port** – 80 or 443 - - **Path** – / - - **Interval** – 5 - - **Unhealthy threshold** – 2 + - **Name** – Name of the new backend pool (**lb\_probe** in this guide) + - **Protocol** – **HTTP** or **HTTPS** + - **Port** – **80** or **443** + - **Path** – **/** + - **Interval** – **5** + - **Unhealthy threshold** – **2** Screenshot of Azure 'Add health probe' page for Standard Load Balancer - After a few moments the new probe appears in the table on the lb | Health probes page. This probe queries the NGINX Plus landing page every five seconds to check whether NGINX Plus is running. + After a few moments the new probe appears in the table on the **lb | Health probes** page. This probe queries the NGINX Plus landing page every five seconds to check whether NGINX Plus is running. -8. Click Load balancing rules in the left navigation column, and then **+ Add** in the upper left corner of the main pane on the lb | Load balancing rules page that opens. +8. Click **Load balancing rules** in the left navigation column, and then **+ Add** in the upper left corner of the main pane on the **lb | Load balancing rules** page that opens. -9. On the Add load balancing rule page that opens, enter or select the following values, then click the  OK  button. +9. On the **Add load balancing rule** page that opens, enter or select the following values, then click the  OK  button. - - **Name** – Name of the rule (lb\_rule in this guide) - - **IP version** – IPv4 - - **Frontend IP address** – The Standard Load Balancer's public IP address, as reported in the Public IP address field on the **Overview** tag of the Standard Load Balancer's page (for an example, see [Step 3](#slb-configure-lb-overview) above); in this guide it is 51.143.107.x (LoadBalancerFrontEnd) - - **Protocol** – TCP - - **Port** – 80 - - **Backend port** – 80 - - **Backend pool** – lb_backend - - **Health probe** – lb_probe (HTTP:80) - - **Session persistence** – None - - **Idle timeout (minutes)** – 4 - - **TCP reset** – Disabled - - **Floating IP (direct server return)** – Disabled - - **Create implicit outbound rules** – Yes + - **Name** – Name of the rule (**lb\_rule** in this guide) + - **IP version** – **IPv4** + - **Frontend IP address** – The Standard Load Balancer's public IP address, as reported in the **Public IP address** field on the **Overview** tag of the Standard Load Balancer's page (for an example, see [Step 3](#slb-configure-lb-overview) above); in this guide it is **51.143.107.x (LoadBalancerFrontEnd)** + - **Protocol** – **TCP** + - **Port** – **80** + - **Backend port** – **80** + - **Backend pool** – **lb_backend** + - **Health probe** – **lb_probe (HTTP:80)** + - **Session persistence** – **None** + - **Idle timeout (minutes)** – **4** + - **TCP reset** – **Disabled** + - **Floating IP (direct server return)** – **Disabled** + - **Create implicit outbound rules** – **Yes** Screenshot of Azure 'Add load balancing rule' page for Standard Load Balancer - After a few moments the new rule appears in the table on the lb | Load balancing rules page. + After a few moments the new rule appears in the table on the **lb | Load balancing rules** page. ### Verifying Correct Operation -1. To verify that Standard Load Balancer is working correctly, open a new browser window and navigate to the IP address for the Standard Load Balancer front end, which appears in the Public IP address field on the **Overview** tab of the load balancer's page on the dashboard (for an example, see [Step 3](#slb-configure-lb-overview) of _Configuring the Standard Load Balancer_). +1. To verify that Standard Load Balancer is working correctly, open a new browser window and navigate to the IP address for the Standard Load Balancer front end, which appears in the **Public IP address** field on the **Overview** tab of the load balancer's page on the dashboard (for an example, see [Step 3](#slb-configure-lb-overview) of _Configuring the Standard Load Balancer_). -2. The default Welcome to nginx! page indicates that the Standard Load Balancer has successfully forwarded a request to one of the two NGINX Plus instances. +2. The default **Welcome to nginx!** page indicates that the Standard Load Balancer has successfully forwarded a request to one of the two NGINX Plus instances. Screenshot of 'Welcome to nginx!' page that verifies correct configuration of an Azure Standard Load Balancer @@ -210,42 +210,42 @@ Once you’ve tested that the Standard Load Balancer has been correctly deployed In this case, you need to set up Azure Traffic Manager for DNS‑based global server load balancing (GSLB) among the regions. The involves creating a DNS name for the Standard Load Balancer and registering it as an endpoint in Traffic Manager. -1. Navigate to the Public IP addresses page. (One way is to enter Public IP addresses in the search field of the Azure title bar and select that value in the **Services** section of the resulting drop‑down menu.) +1. Navigate to the **Public IP addresses** page. (One way is to enter **Public IP addresses** in the search field of the Azure title bar and select that value in the **Services** section of the resulting drop‑down menu.) -2. Click the name of the Standard Load Balancer's public IP address in the **Name** column of the table (here it is public\_ip_lb). +2. Click the name of the Standard Load Balancer's public IP address in the **Name** column of the table (here it is **public\_ip_lb**). Screenshot of Azure 'Public IP addresses' page 3. On the **public\_ip_lb** page that opens, click **Configuration** in the left navigation column. -4. Enter the DNS name for the Standard Load Balancer in the DNS name label field. In this guide, we're accepting the default, public-ip-dns. +4. Enter the DNS name for the Standard Load Balancer in the **DNS name label** field. In this guide, we're accepting the default, **public‑ip‑dns**. Screenshot of Azure page for public IP address of a Standard Load Balancer -5. Navigate to the Traffic Manager profiles tab. (One way is to enter Traffic Manager profiles in the search field of the Azure title bar and select that value in the **Services** section of the resulting drop‑down menu.) +5. Navigate to the **Traffic Manager profiles** tab. (One way is to enter **Traffic Manager profiles** in the search field of the Azure title bar and select that value in the **Services** section of the resulting drop‑down menu.) 6. Click **+ Add** in the upper left corner of the page. -7. On the Create Traffic Manager profile page that opens, enter or select the following values and click the  Create  button. +7. On the **Create Traffic Manager profile** page that opens, enter or select the following values and click the  Create  button. - - **Name** – Name of the profile (ngx in this guide) - - **Routing method** – Performance - - **Subscription** – NGINX-Plus-HA-subscription in this guide - - **Resource group** – NGINX-Plus-HA in this guide + - **Name** – Name of the profile (**ngx** in this guide) + - **Routing method** – **Performance** + - **Subscription** – **NGINX‑Plus‑HA‑subscription** in this guide + - **Resource group** – **NGINX‑Plus‑HA** in this guide _Azure-create-lb-create-Traffic-Manager-profile_ Screenshot of Azure 'Create Traffic Manager profile' page -8. It takes a few moments to create the profile. When it appears in the table on the Traffic Manager profiles page, click its name in the **Name** column. +8. It takes a few moments to create the profile. When it appears in the table on the **Traffic Manager profiles** page, click its name in the **Name** column. 9. On the **ngx** page that opens, click **Endpoints** in the left navigation column, then **+ Add** in the main part of the page. 10. On the **Add endpoint** window that opens, enter or select the following values and click the  Add  button. - - **Type** – Azure endpoint - - **Name** – Endpoint name (ep-lb-west-us in this guide) - - **Target resource type** – Public IP address - - **Public IP address** – Name of the Standard Load Balancer's public IP address (public\_ip_lb (51.143.107.x) in this guide) + - **Type** – **Azure endpoint** + - **Name** – Endpoint name (**ep‑lb‑west‑us** in this guide) + - **Target resource type** – **Public IP address** + - **Public IP address** – Name of the Standard Load Balancer's public IP address (**public\_ip_lb (51.143.107.x)** in this guide) - **Custom Header settings** – None in this guide Screenshot of Azure 'Add endpoint' page @@ -276,15 +276,15 @@ Assign the following names to the VMs, and then install the indicated NGINX soft - Four NGINX Open Source VMs: - **App 1**: - - ngx-oss-app1-1 - - ngx-oss-app1-2 + - **ngx-oss-app1-1** + - **ngx-oss-app1-2** - **App 2**: - - ngx-oss-app2-1 - - ngx-oss-app2-2 + - **ngx-oss-app2-1** + - **ngx-oss-app2-2** - Two NGINX Plus VMs: - - ngx-plus-1 - - ngx-plus-2 + - **ngx-plus-1** + - **ngx-plus-2** **Note:** The two NGINX Plus VMs must have a public IP address with same SKU type as the Standard Load Balancer you are creating (in this guide, **Standard**). Instructions are included in our deployment guide, [Creating Microsoft Azure Virtual Machines for NGINX Open Source and NGINX Plus]({{< ref "virtual-machines-for-nginx.md" >}}). @@ -300,11 +300,11 @@ For the purposes of this guide, you configure the NGINX Open Source VMs as web s Complete the instructions on all four web servers: - Running **App 1**: - - ngx-oss-app1-1 - - ngx-oss-app1-2 + - **ngx-oss-app1-1** + - **ngx-oss-app1-2** - Running **App 2**: - - ngx-oss-app2-1 - - ngx-oss-app2-2 + - **ngx-oss-app2-1** + - **ngx-oss-app2-2** ### Configuring NGINX Plus on the Load Balancers @@ -313,7 +313,7 @@ For the purposes of this guide, you configure the NGINX Plus VMs as load balanc Step-by-step instructions are provided in our deployment guide, Setting Up an NGINX Demo Environment. -Complete the instructions on both ngx-plus-1 and ngx-plus-2. +Complete the instructions on both **ngx-plus-1** and **ngx-plus-2**. ### Revision History diff --git a/content/nginx/deployment-guides/microsoft-azure/virtual-machines-for-nginx.md b/content/nginx/deployment-guides/microsoft-azure/virtual-machines-for-nginx.md index d89c7c69e..487983211 100644 --- a/content/nginx/deployment-guides/microsoft-azure/virtual-machines-for-nginx.md +++ b/content/nginx/deployment-guides/microsoft-azure/virtual-machines-for-nginx.md @@ -23,7 +23,7 @@ These instructions assume you have: - An Azure [account](https://azure.microsoft.com/en-us/free/). - An Azure [subscription](https://docs.microsoft.com/en-us/azure/azure-glossary-cloud-terminology?toc=/azure/virtual-network/toc.json#subscription). -- An Azure [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview#resource-groups). In this guide, it is called NGINX-Plus-HA. +- An Azure [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview#resource-groups). In this guide, it is called **NGINX‑Plus‑HA**. - An Azure [virtual network](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview). - If using the instructions in [Automating Installation with Ansible](#automate-ansible), basic Linux system administration skills, including installation of Linux software from vendor‑supplied packages, and file creation and editing. @@ -48,25 +48,25 @@ In addition, to install NGINX software by following the linked instructions, you 4. In the **Create a virtual machine** window that opens, enter the requested information on the **Basics** tab. In this guide, we're using the following values: - - **Subscription** – NGINX-Plus-HA-subscription - - **Resource group** – NGINX-Plus-HA - - **Virtual machine name** – ngx-plus-1 + - **Subscription** – **NGINX‑Plus‑HA‑subscription** + - **Resource group** – **NGINX‑Plus‑HA** + - **Virtual machine name** – **ngx‑plus‑1** - The value ngx-plus-1 is one of the six used for VMs in [Active-Active HA for NGINX Plus on Microsoft Azure Using the Azure Standard Load Balancer]({{< ref "high-availability-standard-load-balancer.md" >}}). See Step 7 below for the other instance names. + The value **ngx‑plus‑1** is one of the six used for VMs in [Active-Active HA for NGINX Plus on Microsoft Azure Using the Azure Standard Load Balancer]({{< ref "high-availability-standard-load-balancer.md" >}}). See Step 7 below for the other instance names. - - **Region** – (US) West US 2 - - **Availability options** – No infrastructure redundancy required + - **Region** – **(US) West US 2** + - **Availability options** – **No infrastructure redundancy required** This option is sufficient for a demo like the one in this guide. For production deployments, you might want to select a more robust option; we recommend deploying a copy of each VM in a different Availability Zone. For more information, see the [Azure documentation](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview). - - **Image** – Ubuntu Server 18.04 LTS - - **Azure Spot instance** – No - - **Size** – B1s (click Select size to access the Select a VM size window, click the **B1s** row, and click the  Select  button to return to the **Basics** tab) - - **Authentication type** – SSH public key - - **Username** – nginx_azure - - **SSH public key source** – Generate new key pair (the other choices on the drop‑down menu are to use an existing key stored in Azure or an existing public key) - - **Key pair name** – nginx_key - - **Public inbound ports** – Allow selected ports - - **Select inbound ports** – Select from the drop-down menu: SSH (22) and HTTP (80), plus HTTPS (443) if you plan to configure NGINX and NGINX Plus for SSL/TLS + - **Image** – **Ubuntu Server 18.04 LTS** + - **Azure Spot instance** – **No** + - **Size** – **B1s** (click Select size to access the **Select a VM size** window, click the **B1s** row, and click the  Select  button to return to the **Basics** tab) + - **Authentication type** – **SSH public key** + - **Username** – **nginx_azure** + - **SSH public key source** – **Generate new key pair** (the other choices on the drop‑down menu are to use an existing key stored in Azure or an existing public key) + - **Key pair name** – **nginx_key** + - **Public inbound ports** – **Allow selected ports** + - **Select inbound ports** – Select from the drop-down menu: **SSH (22)** and **HTTP (80)**, plus **HTTPS (443)** if you plan to configure NGINX and NGINX Plus for SSL/TLS screenshot of 'Basics' tab on Azure 'Create a virtual machine' page @@ -75,11 +75,11 @@ In addition, to install NGINX software by following the linked instructions, you For simplicity, we recommend allocating **Standard** public IP addresses for all six VMs used in the deployment. At the time of initial publication of this guide, the hourly cost for six such VMs was only $0.008 more than for six VMs with Basic addresses; for current pricing, see the [Microsoft documentation](https://azure.microsoft.com/en-us/pricing/details/ip-addresses/). - To allocate a **Standard** public IP address, open the **Networking** tab on the **Create a virtual machine** window. Click Create new below the **Public IP** field. In the Create public IP address column that opens at right, click the **Standard** radio button under **SKU**. You can change the value in the **Name** field; here we are accepting the default created by Azure, ngx-plus-1-ip. Click the  OK  button. + To allocate a **Standard** public IP address, open the **Networking** tab on the **Create a virtual machine** window. Click Create new below the **Public IP** field. In the **Create public IP address** column that opens at right, click the **Standard** radio button under **SKU**. You can change the value in the **Name** field; here we are accepting the default created by Azure, **ngx‑plus‑1‑ip**. Click the ** OK ** button. screenshot of 'Networking' tab on Azure 'Create a virtual machine' page -6. At this point, you have the option of selecting nondefault values on the **Disks**, **Networking**, **Management**, **Advanced**, and **Tags** tabs. For a demo like the one in this guide, for example, selecting Standard HDD for OS disk type on the **Disks** tab saves money compared to the default, Premium SSD. You might also want to create or apply tags to this VM, on the **Tags** tab. +6. At this point, you have the option of selecting nondefault values on the **Disks**, **Networking**, **Management**, **Advanced**, and **Tags** tabs. For a demo like the one in this guide, for example, selecting **Standard HDD** for OS disk type on the **Disks** tab saves money compared to the default, **Premium SSD**. You might also want to create or apply tags to this VM, on the **Tags** tab. When you have completed your changes on all tabs, click the  Review + create  button at the bottom of the **Create a virtual machine** page. @@ -87,7 +87,7 @@ In addition, to install NGINX software by following the linked instructions, you To change any settings, open the appropriate tab. If the settings are correct, click the  Create  button. - If you chose in [Step 4](#create-vm_Basics) to generate a new key pair, a Generate new key pair window pops up. Click the  Download key and create private resource  button. + If you chose in [Step 4](#create-vm_Basics) to generate a new key pair, a **Generate new key pair** window pops up. Click the  Download key and create private resource  button. screenshot of validation message on Azure 'Create a virtual machine' page @@ -98,16 +98,16 @@ In addition, to install NGINX software by following the linked instructions, you 7. If you are following these instructions to create the six VMs used in [Active-Active HA for NGINX Plus on Microsoft Azure Using the Azure Standard Load Balancer]({{< ref "high-availability-standard-load-balancer.md" >}}), their names are as follows: - - ngx-plus-1 - - ngx-plus-2 - - ngx-oss-app1-1 - - ngx-oss-app1-2 - - ngx-oss-app2-1 - - ngx-oss-app2-2 + - **ngx-plus-1** + - **ngx-plus-2** + - **ngx-oss-app1-1** + - **ngx-oss-app1-2** + - **ngx-oss-app2-1** + - **ngx-oss-app2-2** - For ngx-plus-2, it is probably simplest to repeat Steps 2 through 6 above (or purchase a second prebuilt VM in the [Microsoft Azure Marketplace](https://azuremarketplace.microsoft.com/en-us/marketplace/apps?search=NGINX%20Plus)). + For **ngx-plus-2**, it is probably simplest to repeat Steps 2 through 6 above (or purchase a second prebuilt VM in the [Microsoft Azure Marketplace](https://azuremarketplace.microsoft.com/en-us/marketplace/apps?search=NGINX%20Plus)). - For the NGINX Open Source VMs, you can create them individually using Steps 2 through 6. Alternatively, create them based on an Azure image. To do so, follow Steps 2 through 6 above to create a source VM (naming it nginx-oss), [install the NGINX Open Source software](#install-nginx) on it, and then follow the instructions in [Optional: Creating an NGINX Open Source Image](#create-nginx-oss-image). + For the NGINX Open Source VMs, you can create them individually using Steps 2 through 6. Alternatively, create them based on an Azure image. To do so, follow Steps 2 through 6 above to create a source VM (naming it **nginx‑oss**), [install the NGINX Open Source software](#install-nginx) on it, and then follow the instructions in [Optional: Creating an NGINX Open Source Image](#create-nginx-oss-image). ## Connecting to a Virtual Machine @@ -118,7 +118,7 @@ To install and configure NGINX Open Source or NGINX Plus on a VM, you need to o screenshot of Azure 'Virtual machines' page with list of VMs -2. On the page that opens (ngx-plus-1 in this guide), note the VM's public IP address (in the Public IP address field in the right column). +2. On the page that opens (**ngx‑plus‑1** in this guide), note the VM's public IP address (in the **Public IP address** field in the right column). screenshot of details page for 'ngx-plus-1' VM in Azure @@ -130,8 +130,8 @@ To install and configure NGINX Open Source or NGINX Plus on a VM, you need to o where - - `` is the name of the file containing the private key paired with the public key you entered in the SSH public key field in Step 4 of _Creating a Microsoft Azure Virtual Machine_. - - `` is the name you entered in the **Username** field in Step 4 of _Creating a Microsoft Azure Virtual Machine_ (in this guide it is nginx_azure). + - `` is the name of the file containing the private key paired with the public key you entered in the **SSH public key** field in Step 4 of _Creating a Microsoft Azure Virtual Machine_. + - `` is the name you entered in the **Username** field in Step 4 of _Creating a Microsoft Azure Virtual Machine_ (in this guide it is **nginx_azure**). - `` is the address you looked up in the previous step. @@ -169,7 +169,7 @@ NGINX publishes a unified Ansible role for NGINX Open Source and NGINX Plus on ansible-galaxy install nginxinc.nginx ``` -4. (NGINX Plus only) Copy the nginx-repo.key and nginx-repo.crt files provided by NGINX to ~/.ssh/ngx-certs/. +4. (NGINX Plus only) Copy the **nginx‑repo.key** and **nginx‑repo.crt** files provided by NGINX to **~/.ssh/ngx‑certs/**. 5. Create a file called **playbook.yml** with the following contents: @@ -196,7 +196,7 @@ To streamline the process of installing NGINX Open Source on multiple VMs, you c 2. Navigate to the **Virtual machines** page, if you are not already there. -2. In the list of VMs, click the name of the one to use as a source image (in this guide, we have called it ngx-oss). Remember that NGINX Open Source needs to be installed on it already. +2. In the list of VMs, click the name of the one to use as a source image (in this guide, we have called it **ngx‑oss**). Remember that NGINX Open Source needs to be installed on it already. 3. On the page than opens, click the **Capture** icon in the top navigation bar. @@ -207,10 +207,10 @@ To streamline the process of installing NGINX Open Source on multiple VMs, you c Then select the following values: - **Name** – Keep the current value. - - **Resource group** – Select the appropriate resource group from the drop‑down menu. Here it is NGINX-Plus-HA. + - **Resource group** – Select the appropriate resource group from the drop‑down menu. Here it is **NGINX‑Plus‑HA**. - **Automatically delete this virtual machine after creating the image** – We recommend checking the box, since you can't do anything more with the image anyway. - - **Zone resiliency** – On. - - **Type the virtual machine name** – Name of the source VM (ngx-oss in this guide). + - **Zone resiliency** – **On**. + - **Type the virtual machine name** – Name of the source VM (**ngx‑oss** in this guide). Click the  Create  button. @@ -220,7 +220,7 @@ To streamline the process of installing NGINX Open Source on multiple VMs, you c It takes a few moments for the image to be created. When it's ready, you can create VMs from it with NGINX Open Source already installed. -1. Navigate to the **Images** page. (One method is to type images in the search box in the Microsoft Azure header bar and select that value in the **Services** section of the resulting drop‑down menu.) +1. Navigate to the **Images** page. (One method is to type **images** in the search box in the Microsoft Azure header bar and select that value in the **Services** section of the resulting drop‑down menu.) screenshot of Azure 'Images' page diff --git a/content/nginx/deployment-guides/migrate-hardware-adc/citrix-adc-configuration.md b/content/nginx/deployment-guides/migrate-hardware-adc/citrix-adc-configuration.md index 9d8adb652..404b54b18 100644 --- a/content/nginx/deployment-guides/migrate-hardware-adc/citrix-adc-configuration.md +++ b/content/nginx/deployment-guides/migrate-hardware-adc/citrix-adc-configuration.md @@ -327,7 +327,7 @@ NGINX Plus and Citrix ADC handle high availability (HA) in similar but slightly Citrix ADC handles the monitoring and failover of the VIP in a proprietary way. - For [on‑premises deployments]({{< ref "nginx/admin-guide/high-availability/ha-keepalived.md" >}}), NGINX Plus uses a separate software package called **nginx-ha-keepalived** to handle the VIP and the failover process for an active‑passive pair of NGINX Plus servers. The package implements the VRRP protocol to handle the VIP. Limited [active‑active]({{< ref "nginx/admin-guide/high-availability/ha-keepalived-nodes.md" >}}) scenarios are also possible with the nginx-ha-keepalived package. + For [on‑premises deployments]({{< ref "nginx/admin-guide/high-availability/ha-keepalived.md" >}}), NGINX Plus uses a separate software package called ****nginx‑ha‑keepalived**** to handle the VIP and the failover process for an active‑passive pair of NGINX Plus servers. The package implements the VRRP protocol to handle the VIP. Limited [active‑active]({{< ref "nginx/admin-guide/high-availability/ha-keepalived-nodes.md" >}}) scenarios are also possible with the **nginx‑ha‑keepalived** package. Solutions for high availability of NGINX Plus in cloud environments are also available, including these: diff --git a/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md b/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md index b5f9621b4..d7b82fc44 100644 --- a/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md +++ b/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md @@ -99,7 +99,7 @@ In addition to these networking concepts, there are two other important technolo BIG-IP LTM uses a built‑in HA mechanism to handle the failover. - For [on‑premises deployments]({{< ref "nginx/admin-guide/high-availability/ha-keepalived.md" >}}), NGINX Plus uses a separate software package called **nginx-ha-keepalived** to handle the VIP and the failover process for an active‑passive pair of NGINX Plus servers. The package implements the VRRP protocol to handle the VIP. Limited [active‑active]({{< ref "nginx/admin-guide/high-availability/ha-keepalived-nodes.md" >}}) scenarios are also possible with the nginx-ha-keepalived package. + For [on‑premises deployments]({{< ref "nginx/admin-guide/high-availability/ha-keepalived.md" >}}), NGINX Plus uses a separate software package called ****nginx‑ha‑keepalived**** to handle the VIP and the failover process for an active‑passive pair of NGINX Plus servers. The package implements the VRRP protocol to handle the VIP. Limited [active‑active]({{< ref "nginx/admin-guide/high-availability/ha-keepalived-nodes.md" >}}) scenarios are also possible with the **nginx‑ha‑keepalived** package. Solutions for high availability of NGINX Plus in cloud environments are also available, including these: diff --git a/content/nginx/deployment-guides/nginx-plus-high-availability-chef.md b/content/nginx/deployment-guides/nginx-plus-high-availability-chef.md index d72f5f799..5dce8601b 100644 --- a/content/nginx/deployment-guides/nginx-plus-high-availability-chef.md +++ b/content/nginx/deployment-guides/nginx-plus-high-availability-chef.md @@ -27,9 +27,9 @@ To set up the highly available active/passive cluster, we’re using the [HA sol ## Modifying the NGINX Cookbook -First we set up the Chef files for installing of the NGINX Plus HA package (nginx-ha-keepalived) and creating the `keepalived` configuration file, **keepalive.conf**. +First we set up the Chef files for installing of the NGINX Plus HA package (**nginx‑ha‑keepalived**) and creating the `keepalived` configuration file, **keepalive.conf**. -1. Modify the existing **plus_package** recipe to include package and configuration templates for the HA solution, by adding the following code to the bottom of the **plus_package.rb** file (per the instructions in the previous post, the file is in the ~/chef-zero/playground/cookbooks/nginx/recipes directory). +1. Modify the existing **plus_package** recipe to include package and configuration templates for the HA solution, by adding the following code to the bottom of the **plus_package.rb** file (per the instructions in the previous post, the file is in the **~/chef‑zero/playground/cookbooks/nginx/recipes** directory). We are using the **eth1** interface on each NGINX host, which makes the code a bit more complicated than if we used **eth0**. In case you are using **eth0**, the relevant code appears near the top of the file, commented out. @@ -37,7 +37,7 @@ First we set up the Chef files for installing of the NGINX Plus HA package (nginx-ha-keepalived package, registers the `keepalived` service with Chef, and generates the **keepalived.conf** configuration file as a template, passing in the values of the `origip` and `ha_pair_ips` variables. + - It installs the **nginx‑ha‑keepalived** package, registers the `keepalived` service with Chef, and generates the **keepalived.conf** configuration file as a template, passing in the values of the `origip` and `ha_pair_ips` variables. ```nginx if node['nginx']['enable_ha_mode'] == 'true' @@ -102,7 +102,7 @@ First we set up the Chef files for installing of the NGINX Plus HA package (~/chef-zero/playground/cookbooks/nginx/templates/default directory. +2. Create the Chef template for creating **keepalived.conf**, by copying the following content to a new template file, **nginx_plus_keepalived.conf.erb**, in the **~/chef‑zero/playground/cookbooks/nginx/templates/default** directory. We’re using a combination of variables and attributes to pass the necessary information to **keepalived.conf**. We’ll set the attributes in the next step. Here we set the two variables in the template file to the host IP addresses that were set with the `variables` directive in the **plus_package.rb** recipe (modified in the previous step): @@ -186,7 +186,7 @@ First we set up the Chef files for installing of the NGINX Plus HA package (~/chef-zero/playground/roles directory. +3. Create a role that sets attributes used in the recipe and template files created in the previous steps, by copying the following contents to a new role file, **nginx_plus_ha.rb** in the **~/chef‑zero/playground/roles** directory. Four attributes need to be set, and in the role we set the following three: @@ -290,13 +290,13 @@ Now we bootstrap the nodes and get them ready for the installation. Note that th ` -2. Create a local copy of the node definition file, which we’ll edit as appropriate for the node we bootstrapped in the previous step, chef-test-1: +2. Create a local copy of the node definition file, which we’ll edit as appropriate for the node we bootstrapped in the previous step, **chef‑test‑1**: ```nginx root@chef-server:~/chef-zero/playground# knife node show chef-test-1 --format json > nodes/chef-test-1.json ``` -3. Edit chef-test-1.json to have the following contents. In particular, we’re updating the run list and setting the `ha_primary` attribute, as required for the HA deployment. +3. Edit **chef‑test‑1.json** to have the following contents. In particular, we’re updating the run list and setting the `ha_primary` attribute, as required for the HA deployment. ```json { @@ -323,7 +323,7 @@ Now we bootstrap the nodes and get them ready for the installation. Note that th Updated Node chef-test-1! ``` -5. Log in on the chef-test-1 node and run the `chef-client` command to get everything configured: +5. Log in on the **chef‑test‑1** node and run the `chef-client` command to get everything configured: ```text username@chef-test-1:~$ sudo chef-client @@ -616,7 +616,7 @@ Enter your password: 10.100.10.102 Chef Client finished, 18/50 resources updated in 10 seconds` -If we look at **keepalived.conf** at this point, we see that there is a peer set in the `unicast_peer` section. But the following command shows that chef-test-2, which we intend to be the secondary node, is also assigned the VIP (10.100.10.50). This is because we haven’t yet updated the Chef configuration on chef-test-1 to make its `keepalived` aware of the secondary node. +If we look at **keepalived.conf** at this point, we see that there is a peer set in the `unicast_peer` section. But the following command shows that **chef‑test‑2**, which we intend to be the secondary node, is also assigned the VIP (10.100.10.50). This is because we haven’t yet updated the Chef configuration on **chef‑test‑1** to make its `keepalived` aware of the secondary node. username@chef-test-2:~$ ip addr show eth1 3: eth1: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 @@ -630,7 +630,7 @@ If we look at **keepalived.conf** at this point, we see that there is a peer set ### Synchronizing the Nodes -To make `keepalived` on chef-test-1 aware of chef-test-2 and its IP address, we rerun the `chef-client` command on chef-test-1: +To make `keepalived` on **chef‑test‑1** aware of **chef‑test‑2** and its IP address, we rerun the `chef-client` command on **chef‑test‑1**: ```text username@chef-test-1:~$ sudo chef-client @@ -741,7 +741,7 @@ Chef Client finished, 2/47 resources updated in 05 seconds ``` -We see that chef-test-1 is still assigned the VIP: +We see that **chef‑test‑1** is still assigned the VIP: ```nginx username@chef-test-1:~$ ip addr show eth1 @@ -755,7 +755,7 @@ We see that chef-test-1chef-test-2, as the secondary node, is now assigned only its physical IP address: +And **chef‑test‑2**, as the secondary node, is now assigned only its physical IP address: ```nginx username@chef-test-2:~$ ip addr show eth1 diff --git a/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md b/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md index 9470ba00e..dc85877b0 100644 --- a/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md +++ b/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md @@ -21,7 +21,7 @@ Some commands require `root` privilege. If appropriate for your environment, pre ## Configuring NGINX Open Source for web serving -The steps in this section configure an NGINX Open Source instance as a web server to return a page like the following, which specifies the server name, address, and other information. The page is defined in the demo-index.html configuration file you create in Step 4 below. +The steps in this section configure an NGINX Open Source instance as a web server to return a page like the following, which specifies the server name, address, and other information. The page is defined in the **demo‑index.html** configuration file you create in Step 4 below. diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/active-directory-federation-services.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/active-directory-federation-services.md index 5f6ff547c..870198ac6 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/active-directory-federation-services.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/active-directory-federation-services.md @@ -50,11 +50,11 @@ The instructions assume you have the following: Create an AD FS application for NGINX Plus: -1. Open the AD FS Management window. In the navigation column on the left, right‑click on the **Application Groups** folder and select Add Application Group from the drop‑down menu. +1. Open the AD FS Management window. In the navigation column on the left, right‑click on the **Application Groups** folder and select **Add Application Group** from the drop‑down menu. - The Add Application Group Wizard window opens. The left navigation column shows the steps you will complete to add an application group. + The **Add Application Group Wizard** window opens. The left navigation column shows the steps you will complete to add an application group. -2. In the **Welcome** step, type the application group name in the **Name** field. Here we are using ADFSSSO. In the **Template** field, select **Server application** under Standalone applications. Click the  Next >  button. +2. In the **Welcome** step, type the application group name in the **Name** field. Here we are using **ADFSSSO**. In the **Template** field, select **Server application** under **Standalone applications**. Click the  Next >  button. @@ -63,7 +63,7 @@ Create an AD FS application for NGINX Plus: 1. Make a note of the value in the **Client Identifier** field. You will add it to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables).
      - 2. In the **Redirect URI** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using https://my-nginx.example.com:443/\_codexch. Click the  Add  button. + 2. In the **Redirect URI** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using **https://my‑nginx.example.com:443/\_codexch**. Click the  Add  button. **Notes:** @@ -75,7 +75,7 @@ Create an AD FS application for NGINX Plus: -4. In the Configure Application Credentials step, click the Generate a shared secret checkbox. Make a note of the secret that AD FS generates (perhaps by clicking the Copy to clipboard button and pasting the clipboard content into a file). You will add the secret to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables). Click the  Next >  button. +4. In the **Configure Application Credentials** step, click the **Generate a shared secret** checkbox. Make a note of the secret that AD FS generates (perhaps by clicking the **Copy to clipboard** button and pasting the clipboard content into a file). You will add the secret to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables). Click the  Next >  button. @@ -87,7 +87,7 @@ Create an AD FS application for NGINX Plus: Configure NGINX Plus as the OpenID Connect relying party: -1. Create a clone of the [nginx-openid-connect](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. +1. Create a clone of the [**nginx‑openid‑connect**](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. ```shell git clone https://github.com/nginxinc/nginx-openid-connect @@ -150,7 +150,7 @@ In a browser, enter the address of your NGINX Plus instance and try to log in u ## Troubleshooting -See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the nginx-openid-connect repository on GitHub. +See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the **nginx‑openid‑connect** repository on GitHub. ### Revision History diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/cognito.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/cognito.md index 21a17b064..6fa141df9 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/cognito.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/cognito.md @@ -59,7 +59,7 @@ Create a new application for NGINX Plus in the Cognito GUI: -3. In the **Create a user pool** window that opens, type a value in the **Pool name** field (in this guide, it's nginx-plus-pool), then click the Review defaults button. +3. In the **Create a user pool** window that opens, type a value in the **Pool name** field (in this guide, it's **nginx‑plus‑pool**), then click the Review defaults button. @@ -70,11 +70,11 @@ Create a new application for NGINX Plus in the Cognito GUI: 5. On the **App clients** tab which opens, click Add an app client. -6. On the **Which app clients will have access to this user pool?** window which opens, enter a value (in this guide, nginx-plus-app) in the App client name field. Make sure the Generate client secret box is checked, then click the  Create app client  button. +6. On the **Which app clients will have access to this user pool?** window which opens, enter a value (in this guide, **nginx‑plus‑app**) in the **App client name** field. Make sure the **Generate client secret** box is checked, then click the  Create app client  button. -7. On the confirmation page which opens, click Return to pool details to return to the **Review** tab. On that tab click the  Create pool  button at the bottom. (The screenshot in [Step 4](#cognito-review-tab) shows the button.) +7. On the confirmation page which opens, click **Return to pool details** to return to the **Review** tab. On that tab click the  Create pool  button at the bottom. (The screenshot in [Step 4](#cognito-review-tab) shows the button.) 8. On the details page which opens to confirm the new user pool was successfully created, make note of the value in the **Pool Id** field; you will add it to the NGINX Plus configuration in [Step 3 of _Configuring NGINX Plus_](#nginx-plus-variables). @@ -82,36 +82,36 @@ Create a new application for NGINX Plus in the Cognito GUI: 'General settings' tab in Amazon Cognito GUI -9. Click Users and groups in the left navigation column. In the interface that opens, designate the users (or group of users, on the **Groups** tab) who will be able to use SSO for the app being proxied by NGINX Plus. For instructions, see the Cognito documentation about [creating users](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-create-user-accounts.html), [importing users](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html), or [adding a group](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html). +9. Click **Users and groups** in the left navigation column. In the interface that opens, designate the users (or group of users, on the **Groups** tab) who will be able to use SSO for the app being proxied by NGINX Plus. For instructions, see the Cognito documentation about [creating users](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-create-user-accounts.html), [importing users](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html), or [adding a group](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html). 'Users and groups' tab in Amazon Cognito GUI -10. Click **App clients** in the left navigation bar. On the tab that opens, click the Show Details button in the box labeled with the app client name (in this guide, nginx-plus-app). +10. Click **App clients** in the left navigation bar. On the tab that opens, click the Show Details button in the box labeled with the app client name (in this guide, **nginx‑plus‑app**). 'App clients' tab in Amazon Cognito GUI -11. On the details page that opens, make note of the values in the App client id and App client secret fields. You will add them to the NGINX Plus configuration in [Step 3 of _Configuring NGINX Plus_](#nginx-plus-variables). +11. On the details page that opens, make note of the values in the **App client id** and **App client secret** fields. You will add them to the NGINX Plus configuration in [Step 3 of _Configuring NGINX Plus_](#nginx-plus-variables). -12. Click App client settings in the left navigation column. In the tab that opens, perform the following steps: +12. Click **App client settings** in the left navigation column. In the tab that opens, perform the following steps: - 1. In the Enabled Identity Providers section, click the Cognito User Pool checkbox (the **Select all** box gets checked automatically). - 2. In the **Callback URL(s)** field of the Sign in and sign out URLs section, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using https://my-nginx-plus.example.com:443/_codexch. + 1. In the **Enabled Identity Providers** section, click the **Cognito User Pool** checkbox (the **Select all** box gets checked automatically). + 2. In the **Callback URL(s)** field of the **Sign in and sign out URLs** section, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using **https://my‑nginx‑plus.example.com:443/_codexch**. **Notes:** - For production, we strongly recommend that you use SSL/TLS (port 443). - The port number is mandatory even when you're using the default port for HTTP (80) or HTTPS (443). - 3. In the **OAuth 2.0** section, click the Authorization code grant checkbox under Allowed OAuth Flows and the **email**, **openid**, and **profile** checkboxes under Allowed OAuth Scopes. + 3. In the **OAuth 2.0** section, click the **Authorization code grant** checkbox under **Allowed OAuth Flows** and the **email**, **openid**, and **profile** checkboxes under **Allowed OAuth Scopes**. 4. Click the  Save changes  button. -13. Click **Domain name** in the left navigation column. In the tab that opens, type a domain prefix in the **Domain prefix** field under Amazon Cognito domain (in this guide, my-nginx-plus). Click the  Save changes  button. +13. Click **Domain name** in the left navigation column. In the tab that opens, type a domain prefix in the **Domain prefix** field under **Amazon Cognito domain** (in this guide, **my‑nginx‑plus**). Click the  Save changes  button. @@ -120,7 +120,7 @@ Create a new application for NGINX Plus in the Cognito GUI: Configure NGINX Plus as the OpenID Connect relying party: -1. Create a clone of the [nginx-openid-connect](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. +1. Create a clone of the [**nginx‑openid‑connect**](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. ```shell git clone https://github.com/nginxinc/nginx-openid-connect @@ -135,12 +135,12 @@ Configure NGINX Plus as the OpenID Connect relying party: 3. In your preferred text editor, open **/etc/nginx/conf.d/frontend.conf**. Change the second parameter of each of the following [set](http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#set) directives to the specified value. - The `` variable is the full value in the **Domain prefix** field in [Step 13 of _Configuring Amazon Cognito_](#cognito-domain-name). In this guide it is https://my-nginx-plus.auth.us-east-2.amazoncognito.com. + The `` variable is the full value in the **Domain prefix** field in [Step 13 of _Configuring Amazon Cognito_](#cognito-domain-name). In this guide it is **https://my‑nginx‑plus.auth.us‑east‑2.amazoncognito.com**. - `set $oidc_authz_endpoint` – `/oauth2/authorize` - `set $oidc_token_endpoint` – `/oauth2/token` - - `set $oidc_client` – Value in the App client id field from [Step 11 of _Configuring Amazon Cognito_](#cognito-app-client-id-secret) (in this guide, `2or4cs8bjo1lkbq6143tqp6ist`) - - `set $oidc_client_secret` – Value in the App client secret field from [Step 11 of _Configuring Amazon Cognito_](#cognito-app-client-id-secret) (in this guide, `1k63m3nrcnu...`) + - `set $oidc_client` – Value in the **App client id** field from [Step 11 of _Configuring Amazon Cognito_](#cognito-app-client-id-secret) (in this guide, `2or4cs8bjo1lkbq6143tqp6ist`) + - `set $oidc_client_secret` – Value in the **App client secret** field from [Step 11 of _Configuring Amazon Cognito_](#cognito-app-client-id-secret) (in this guide, `1k63m3nrcnu...`) - `set $oidc_hmac_key` – A unique, long, and secure phrase 4. Configure the JWK file. The file's URL is @@ -154,7 +154,7 @@ Configure NGINX Plus as the OpenID Connect relying party: In this guide, the URL is - https://cognito-idp.us-east-2.amazonaws.com/us-east-2_mLoGHJpOs/.well-known/jwks.json. + **https://cognito‑idp.us‑east‑2.amazonaws.com/us‑east‑2_mLoGHJpOs/.well‑known/jwks.json**. The method for configuring the JWK file depends on which version of NGINX Plus you are using: @@ -187,7 +187,7 @@ In a browser, enter the address of your NGINX Plus instance and try to log in u ## Troubleshooting -See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the nginx-openid-connect repository on GitHub. +See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the **nginx‑openid‑connect** repository on GitHub. ### Revision History diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md index aca6e1cac..eec74c7f0 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md @@ -60,15 +60,15 @@ Create a Keycloak client for NGINX Plus in the Keycloak GUI: 3. On the **Add Client** page that opens, enter or select these values, then click the  Save  button. - - **Client ID** – The name of the application for which you're enabling SSO (Keycloak refers to it as the “client”). Here we're using NGINX-Plus. - - **Client Protocol** – openid-connect. + - **Client ID** – The name of the application for which you're enabling SSO (Keycloak refers to it as the “client”). Here we're using **NGINX‑Plus**. + - **Client Protocol** – **openid‑connect**. 4. On the **NGINX Plus** page that opens, enter or select these values on the Settings tab: - - **Access Type** – confidential - - **Valid Redirect URIs** – The URI of the NGINX Plus instance, including the port number, and ending in **/\_codexch** (in this guide it is https://my-nginx.example.com:443/_codexch) + - **Access Type** – **confidential** + - **Valid Redirect URIs** – The URI of the NGINX Plus instance, including the port number, and ending in **/\_codexch** (in this guide it is **https://my‑nginx.example.com:443/_codexch**) **Notes:** @@ -84,14 +84,14 @@ Create a Keycloak client for NGINX Plus in the Keycloak GUI: 6. Click the Roles tab, then click the **Add Role** button in the upper right corner of the page that opens. -7. On the **Add Role** page that opens, type a value in the **Role Name** field (here it is nginx-keycloak-role) and click the  Save  button. +7. On the **Add Role** page that opens, type a value in the **Role Name** field (here it is **nginx‑keycloak‑role**) and click the  Save  button. 8. In the left navigation column, click **Users**. On the **Users** page that opens, either click the name of an existing user, or click the **Add user** button in the upper right corner to create a new user. For complete instructions, see the [Keycloak documentation](https://www.keycloak.org/docs/latest/server_admin/index.html#user-management). -9. On the management page for the user (here, user01), click the Role Mappings tab. On the page that opens, select NGINX-Plus on the **Client Roles** drop‑down menu. Click nginx-keycloak-role in the **Available Roles** box, then click the **Add selected** button below the box. The role then appears in the **Assigned Roles** and **Effective Roles** boxes, as shown in the screenshot. +9. On the management page for the user (here, **user01**), click the Role Mappings tab. On the page that opens, select **NGINX‑Plus** on the **Client Roles** drop‑down menu. Click **nginx‑keycloak‑role** in the **Available Roles** box, then click the **Add selected** button below the box. The role then appears in the **Assigned Roles** and **Effective Roles** boxes, as shown in the screenshot. @@ -101,7 +101,7 @@ Create a Keycloak client for NGINX Plus in the Keycloak GUI: Configure NGINX Plus as the OpenID Connect relying party: -1. Create a clone of the [nginx-openid-connect](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. +1. Create a clone of the [**nginx‑openid‑connect**](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. ```shell git clone https://github.com/nginxinc/nginx-openid-connect @@ -165,7 +165,7 @@ In a browser, enter the address of your NGINX Plus instance and try to log in u ## Troubleshooting -See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the nginx-openid-connect repository on GitHub. +See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the **nginx‑openid‑connect** repository on GitHub. ### Revision History diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/onelogin.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/onelogin.md index 1048acced..9d2c00fdb 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/onelogin.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/onelogin.md @@ -48,15 +48,15 @@ Create a new application for NGINX Plus in the OneLogin GUI: -3. On the **Find Applications** page that opens, type OpenID Connect in the search box. Click on the **OpenID Connect (OIDC)** row that appears. +3. On the **Find Applications** page that opens, type **OpenID Connect** in the search box. Click on the **OpenID Connect (OIDC)** row that appears. -4. On the **Add OpenId Connect (OIDC)** page that opens, change the value in the **Display Name** field to NGINX Plus and click the  Save  button. +4. On the **Add OpenId Connect (OIDC)** page that opens, change the value in the **Display Name** field to **NGINX Plus** and click the  Save  button. -5. When the save completes, a new set of choices appears in the left navigation bar. Click **Configuration**. In the **Redirect URI's** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch** (in this guide it is https://my-nginx.example.com:443/_codexch). Then click the  Save  button. +5. When the save completes, a new set of choices appears in the left navigation bar. Click **Configuration**. In the **Redirect URI's** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch** (in this guide it is **https://my‑nginx.example.com:443/_codexch**). Then click the  Save  button. **Notes:** @@ -66,12 +66,12 @@ Create a new application for NGINX Plus in the OneLogin GUI: -6. When the save completes, click **SSO** in the left navigation bar. Click Show client secret below the **Client Secret** field. Record the values in the **Client ID** and **Client Secret** fields. You will add them to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables). +6. When the save completes, click **SSO** in the left navigation bar. Click **Show client secret** below the **Client Secret** field. Record the values in the **Client ID** and **Client Secret** fields. You will add them to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables). -7. Assign users to the application (in this guide, NGINX Plus) to enable them to access it for SSO. OneLogin recommends using [roles](https://onelogin.service-now.com/kb_view_customer.do?sysparm_article=KB0010606) for this purpose. You can access the **Roles** page under  Users  in the title bar. +7. Assign users to the application (in this guide, **NGINX Plus**) to enable them to access it for SSO. OneLogin recommends using [roles](https://onelogin.service-now.com/kb_view_customer.do?sysparm_article=KB0010606) for this purpose. You can access the **Roles** page under  Users  in the title bar. diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/ping-identity.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/ping-identity.md index 3999d9a0e..d4901c65a 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/ping-identity.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/ping-identity.md @@ -56,30 +56,30 @@ Create a new application for NGINX Plus: 1. Log in to your Ping Identity account. The administrative dashboard opens automatically. In this guide, we show the PingOne for Enterprise dashboard, and for brevity refer simply to ”PingOne”. -2. Click  APPLICATIONS  in the title bar, and on the **My Applications** page that opens, click **OIDC** and then the + Add Application button. +2. Click  APPLICATIONS  in the title bar, and on the **My Applications** page that opens, click **OIDC** and then the **+ Add Application** button. -3. The Add OIDC Application window pops up. Click the ADVANCED CONFIGURATION box, and then the  Next  button. +3. The **Add OIDC Application** window pops up. Click the ADVANCED CONFIGURATION box, and then the  Next  button. -4. In section 1 (PROVIDE DETAILS ABOUT YOUR APPLICATION), type a name in the **APPLICATION NAME** field and a short description in the **SHORT DESCRIPTION** field. Here, we're using nginx-plus-application and NGINX Plus. Choose a value from the **CATEGORY** drop‑down menu; here we’re using Information Technology. You can also add an icon if you wish. Click the  Next  button. +4. In section 1 (PROVIDE DETAILS ABOUT YOUR APPLICATION), type a name in the **APPLICATION NAME** field and a short description in the **SHORT DESCRIPTION** field. Here, we're using **nginx‑plus‑application** and **NGINX Plus**. Choose a value from the **CATEGORY** drop‑down menu; here we’re using **Information Technology**. You can also add an icon if you wish. Click the  Next  button. 5. In section 2 (AUTHORIZATION SETTINGS), perform these steps: - 1. Under **GRANTS**, click both Authorization Code and Implicit.
      - 2. Under **CREDENTIALS**, click the + Add Secret button. PingOne creates a client secret and opens the **CLIENT SECRETS** field to display it, as shown in the screenshot. To see the actual value of the secret, click the eye icon.
      + 1. Under **GRANTS**, click both **Authorization Code** and **Implicit**.
      + 2. Under **CREDENTIALS**, click the **+ Add Secret** button. PingOne creates a client secret and opens the **CLIENT SECRETS** field to display it, as shown in the screenshot. To see the actual value of the secret, click the eye icon.
      3. Click the  Next  button. 6. In section 3 (SSO FLOW AND AUTHENTICATION SETTINGS): - 1. In the START SSO URL field, type the URL where users access your application. Here we’re using https://example.com. - 2. In the **REDIRECT URIS** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using https://my-nginx-plus.example.com:443/\_codexch (the full value is not visible in the screenshot). + 1. In the **START SSO URL** field, type the URL where users access your application. Here we’re using **https://example.com**. + 2. In the **REDIRECT URIS** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using **https://my‑nginx‑plus.example.com:443/\_codexch** (the full value is not visible in the screenshot). **Notes:** @@ -88,34 +88,34 @@ Create a new application for NGINX Plus: -7. In section 4 (DEFAULT USER PROFILE ATTRIBUTE CONTRACT), optionally add attributes to the required sub and idpid attributes, by clicking the + Add Attribute button. We’re not adding any in this example. When finished, click the  Next  button. +7. In section 4 (DEFAULT USER PROFILE ATTRIBUTE CONTRACT), optionally add attributes to the required **sub** and **idpid** attributes, by clicking the **+ Add Attribute** button. We’re not adding any in this example. When finished, click the  Next  button. -8. In section 5 (CONNECT SCOPES), click the circled plus-sign on the OpenID Profile (profile) and OpenID Profile Email (email) scopes in the LIST OF SCOPES column. They are moved to the **CONNECTED SCOPES** column, as shown in the screenshot. Click the  Next  button. +8. In section 5 (CONNECT SCOPES), click the circled plus-sign on the **OpenID Profile (profile)** and **OpenID Profile Email (email)** scopes in the **LIST OF SCOPES** column. They are moved to the **CONNECTED SCOPES** column, as shown in the screenshot. Click the  Next  button. -9. In section 6 (ATTRIBUTE MAPPING), map attributes from your identity repository to the claims available to the application. The one attribute you must map is **sub**, and here we have selected the value Email from the drop‑down menu (the screenshot is abridged for brevity). +9. In section 6 (ATTRIBUTE MAPPING), map attributes from your identity repository to the claims available to the application. The one attribute you must map is **sub**, and here we have selected the value **Email** from the drop‑down menu (the screenshot is abridged for brevity). -10. In section 7 (GROUP ACCESS), select the groups that will have access to the application, by clicking the circled plus-sign on the corresponding boxes in the **AVAILABLE GROUPS** column. The boxes move to the **ADDED GROUPS** column. As shown in the screenshot we have selected the two default groups, Domain Administrators@directory and Users@directory. +10. In section 7 (GROUP ACCESS), select the groups that will have access to the application, by clicking the circled plus-sign on the corresponding boxes in the **AVAILABLE GROUPS** column. The boxes move to the **ADDED GROUPS** column. As shown in the screenshot we have selected the two default groups, **Domain Administrators@directory** and **Users@directory**. Click the  Done  button. -11. You are returned to the **My Applications** window, which now includes a row for nginx-plus-application. Click the toggle switch at the right end of the row to the “on” position, as shown in the screenshot. Then click the “expand” icon at the end of the row, to display the application’s details. +11. You are returned to the **My Applications** window, which now includes a row for **nginx‑plus‑application**. Click the toggle switch at the right end of the row to the “on” position, as shown in the screenshot. Then click the “expand” icon at the end of the row, to display the application’s details. 12. On the page that opens, make note of the values in the following fields on the **Details** tab. You will add them to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables). - - **CLIENT ID** (in the screenshot, 28823604-83c5-4608-88da-c73fff9c607a) - - **CLIENT SECRETS** (in the screenshot, 7GMKILBofxb...); click on the eye icon to view the actual value + - **CLIENT ID** (in the screenshot, **28823604‑83c5‑4608‑88da‑c73fff9c607a**) + - **CLIENT SECRETS** (in the screenshot, **7GMKILBofxb...**); click on the eye icon to view the actual value @@ -124,7 +124,7 @@ Create a new application for NGINX Plus: Configure NGINX Plus as the OpenID Connect relying party: -1. Create a clone of the [nginx-openid-connect](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. +1. Create a clone of the [**nginx‑openid‑connect**](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. ```shell git clone https://github.com/nginxinc/nginx-openid-connect @@ -190,7 +190,7 @@ In a browser, enter the address of your NGINX Plus instance and try to log in u ## Troubleshooting -See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the nginx-openid-connect repository on GitHub. +See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the **nginx‑openid‑connect** repository on GitHub. ### Revision History From 0557fb0b018954a103c04615f830d3fde1c86db8 Mon Sep 17 00:00:00 2001 From: 65397 Date: Wed, 28 May 2025 11:07:39 +0100 Subject: [PATCH 199/723] Fixed Keycloak .well-known URL (#615) Fixed keycloak URL --- .../nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md index eec74c7f0..a38016bdd 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md @@ -118,7 +118,7 @@ Configure NGINX Plus as the OpenID Connect relying party: 3. Get the URLs for the authorization endpoint, token endpoint, and JSON Web Key (JWK) file from the Keycloak configuration. Run the following `curl` command in a terminal, piping the output to the indicated `python` command to output the entire configuration in an easily readable format. We've abridged the output to show only the relevant fields. ```shell - $ curl https:///auth/realms/master/.well-known/openid-configuration | python -m json.tool + $ curl https:///realms/master/.well-known/openid-configuration | python -m json.tool ... { "authorization_endpoint": "https:///auth/realms/master/protocol/openid-connect/auth", From f81bf642a431ad3bfd5da745179af77ac1fc90ec Mon Sep 17 00:00:00 2001 From: 65397 Date: Wed, 28 May 2025 12:08:43 +0100 Subject: [PATCH 200/723] Keycloak 1.9+ endpoints updated (#618) Keycload endpoints updated --- .../single-sign-on/oidc-njs/keycloak.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md index a38016bdd..f904a1811 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md @@ -121,11 +121,11 @@ Configure NGINX Plus as the OpenID Connect relying party: $ curl https:///realms/master/.well-known/openid-configuration | python -m json.tool ... { - "authorization_endpoint": "https:///auth/realms/master/protocol/openid-connect/auth", + "authorization_endpoint": "https:///realms/master/protocol/openid-connect/auth", ... - "jwks_uri": "https:///auth/realms/master/protocol/openid-connect/certs", + "jwks_uri": "https:///realms/master/protocol/openid-connect/certs", ... - "token_endpoint": "https:///auth/realms/master/protocol/openid-connect/token", + "token_endpoint": "https:///realms/master/protocol/openid-connect/token", ... } ``` @@ -133,8 +133,8 @@ Configure NGINX Plus as the OpenID Connect relying party: 4. Using your preferred text editor, open **/etc/nginx/conf.d/openid_connect_configuration.conf**. Change the "default" parameter value of each of the following [map](https://nginx.org/en/docs/http/ngx_http_map_module.html#map) directives to the specified value: - - `map $host $oidc_authz_endpoint` – Value of `authorization_endpoint` from [Step 3](#nginx-plus-urls) (in this guide, `https:///auth/realms/master/protocol/openid-connect/auth`) - - `map $host $oidc_token_endpoint` – Value of `token_endpoint` from [Step 3](#nginx-plus-urls) (in this guide, `https:///auth/realms/master/protocol/openid-connect/token`) + - `map $host $oidc_authz_endpoint` – Value of `authorization_endpoint` from [Step 3](#nginx-plus-urls) (in this guide, `https:///realms/master/protocol/openid-connect/auth`) + - `map $host $oidc_token_endpoint` – Value of `token_endpoint` from [Step 3](#nginx-plus-urls) (in this guide, `https:///realms/master/protocol/openid-connect/token`) - `map $host $oidc_client` – Value in the **Client ID** field from [Step 3 of _Configuring Keycloak_](#keycloak-client-id) (in this guide, `NGINX Plus`) - `map $host $oidc_client_secret` – Value in the **Secret** field from [Step 5 of _Configuring Keycloak_](#keycloak-secret) (in this guide, ``) - `map $host $oidc_hmac_key` – A unique, long, and secure phrase @@ -146,11 +146,11 @@ Configure NGINX Plus as the OpenID Connect relying party: 1. Comment out (or remove) the [auth_jwt_key_file](http://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html#auth_jwt_key_file) directive. 2. Uncomment the [auth_jwt_key_request](http://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html#auth_jwt_key_request) directive. (Its parameter, `/_jwks_uri`, refers to the value of the `$oidc_jwt_keyfile` variable, which you set in the next step.) - 3. Change the "default" parameter of the `map $host $oidc_jwt_keyfile` directive to the value reported in the `jwks_uri` field in [Step 3](#nginx-plus-urls) (in this guide, `https:///auth/realms/master/protocol/openid-connect/certs`). + 3. Change the "default" parameter of the `map $host $oidc_jwt_keyfile` directive to the value reported in the `jwks_uri` field in [Step 3](#nginx-plus-urls) (in this guide, `https:///realms/master/protocol/openid-connect/certs`). - In NGINX Plus R16 and earlier, the JWK file must be on the local disk. (You can also use this method with NGINX Plus R17 and later if you wish.) - 1. Copy the JSON contents from the JWK file named in the `jwks_uri` field in [Step 3](#nginx-plus-urls) (in this guide, `https:///auth/realms/master/protocol/openid-connect/certs`) to a local file (for example, `/etc/nginx/my_keycloak_jwk.json`). + 1. Copy the JSON contents from the JWK file named in the `jwks_uri` field in [Step 3](#nginx-plus-urls) (in this guide, `https:///realms/master/protocol/openid-connect/certs`) to a local file (for example, `/etc/nginx/my_keycloak_jwk.json`). 2. In **/etc/nginx/conf.d/openid_connect_configuration.conf**, change the "default" parameter of the `map $host $oidc_jwt_keyfile` directive to the local file path. 6. Confirm that the user named by the [user](http://nginx.org/en/docs/ngx_core_module.html#user) directive in the NGINX Plus configuration (in **/etc/nginx/nginx.conf** by convention) has read permission on the JWK file. From 2193eed0f88144a8a681e3efd74f43e774b95ceb Mon Sep 17 00:00:00 2001 From: Alan Dooley Date: Wed, 28 May 2025 14:09:57 +0100 Subject: [PATCH 201/723] feat: Add proposals section, and NGINX App Protect WAF Refactor This commit adds a new documentation folder to the repository, with a discrete section for proposals. I will be using this folder in the future to organise more process documentation. NGINX App Protect WAF has had a lot of fundamental design problems with how its documentation is structured due to historic changes in the direction of the product. Since those changes, the documentation has not changed to account for it. --- documentation/README.md | 15 + documentation/proposals/DOP-001.md | 495 +++++++++++++++++++++++++++++ documentation/proposals/README.md | 9 + 3 files changed, 519 insertions(+) create mode 100644 documentation/README.md create mode 100644 documentation/proposals/DOP-001.md create mode 100644 documentation/proposals/README.md diff --git a/documentation/README.md b/documentation/README.md new file mode 100644 index 000000000..4783c0baf --- /dev/null +++ b/documentation/README.md @@ -0,0 +1,15 @@ +# NGINX Documentation repository + +This directory contains the documentation for the NGINX Documentation repository. + +It's used by the DocOps team to record how we configure our tools and instructions for certain precise tasks. + +There's also documentation around our ways of working, and ideas of significance wider than the scope of an issue or pull request. + +We maintain this information publicly as part of NGINX's commitment to transparency and open source. + +If you're interested in contributing to the [NGINX documentation website](https://docs.nginx.com/), check out [CONTRIBUTING.md](/CONTRIBUTING.md). + +## Topics + +- [Proposals](/documentation/proposals/README.md) diff --git a/documentation/proposals/DOP-001.md b/documentation/proposals/DOP-001.md new file mode 100644 index 000000000..eca209fab --- /dev/null +++ b/documentation/proposals/DOP-001.md @@ -0,0 +1,495 @@ +# NGINX App Protect WAF Documentation Refactor + +_Author_: Alan Dooley (@adubhlaoich) +_Initial review date_: May 14th, 2025 +_Internal stakeholders_: NGINX App Protect WAF team, NGINX Ingress Controller team +_Status_: **Accepted** + +_Relevant information_: +- [NGINX App Protect WAF documentation](https://docs.nginx.com/nginx-app-protect-waf) +- [NGINX Ingress Controller documentation (Integrations)](https://docs.nginx.com/nginx-ingress-controller/installation/integrations/) + +## Introduction + +This proposal describes my observations about the NGINX App Protect WAF documentation set, and my plan for how to address its problems. + +It will be shared with stakeholders to challenge or verify certain assumptions and to give the affected teams advance warning, as the changes involved are substantial. + +For clarity, here is a legend for the diagrams: + +```mermaid +--- +title: Diagram legend +--- +graph + section[Section] + page>Page] + usecase([Use case]) +``` + +- A _section_ is a grouping of pages +- A _page_ is a single document, made up of one or more use cases +- A _use case_ is a set of instructions for a specific topic + +Understanding the relationship between pages and use cases is crticially important to contextualise the impact of how certain pages are currently structured. + +## Issues identified + +### Content duplication + +At the highest level, there is a gigantic amount of duplication from [the landing page](https://docs.nginx.com/nginx-app-protect-waf) to account for the V4/V5 split. + +To emphasize this duplication, I have illustrated the high level sections, which are identical. + +```mermaid +--- +title: NGINX App Protect WAF folders +--- +graph LR + lp[Landing page] + v4[Version 4 and Earlier] + v5[Version 5] + + lp --> v4 + + 4ad[Administration Guides] + 4conf[Configuration Guides] + 4dec[Declarative Policy] + 4log[Logging Overview] + 4tro[Troubleshooting Guide] + 4rel[Releases] + + v4 --> 4ad + v4 --> 4conf + v4 --> 4dec + v4 --> 4log + v4 --> 4tro + v4 --> 4rel + + lp --> v5 + + 5ad[Administration Guides] + 5conf[Configuration Guides] + 5dec[Declarative Policy] + 5log[Logging Overview] + 5tro[Troubleshooting Guide] + 5rel[Releases] + + v5 --> 5ad + v5 --> 5conf + v5 --> 5dec + v5 --> 5log + v5 --> 5tro + v5 --> 5rel +``` + +At initial glance, this does not seem overly complex outside of deployment and v5-specific features. + +As it stands, the majority of NAP documentation between the V4 and V5 branches are identical - they have the same pages and same sections. + +Where they deviate are how they are deployed, and and what features are available. In the latter case, it seems that all of the newer functionality features are in V5. + +I think the structure reflects an earlier intent for V5/X to completely replace/subsume 4, which didn’t occur in the end, requiring that both sets of documentation be maintained concurrently, in contrast to documentation for 4 being archived. + +As a result, humongous amounts of the content is replicated, which lead an over-use of includes. + +Each "step" through these folders is an additional user interaction when navigating through the sidebar. + +Focusing on a v4 diagram which includes include the individual pages illustrates some of the highest level differences, as well as the single page folder pattern we avoid in other product documentation. + +```mermaid +--- +title: NGINX App Protect 4 WAF folders and pages +--- +graph LR + + v4[Version 4 and Earlier] + + 4ad[Administration Guides] + 4conf[Configuration Guides] + 4dec[Declarative Policy] + 4log[Logging Overview] + 4tro[Troubleshooting Guide] + 4rel[Releases] + + v4 --> 4ad + v4 --> 4conf + v4 --> 4dec + v4 --> 4log + v4 --> 4tro + v4 --> 4rel + + 4adp>NGINX App Protect WAF Administration Guide] + 4nms>Using NGINX App Protect WAF with NGINX Management Suite] + 4upg>Upgrade NGINX App Protect WAF on Managed Instances] + + 4ad --> 4adp + 4ad --> 4nms + 4ad --> 4upg + + 4conp>NGINX App Protect WAF Configuration Guide] + + 4conf --> 4conp + + 4decp>NGINX App Protect WAF Declarative Policy] + + 4dec --> 4decp + + 4logov>NGINX App Protect WAF Logs Overview] + 4logsc>NGINX App Protect WAF Security Log] + 4logop>NGINX App Protect WAF Operation Log] + 4logdb>NGINX App Protect WAF Debug Log] + 4logac>NGINX App Protect WAF Access Log] + + 4log --> 4logov + 4log --> 4logsc + 4log --> 4logop + 4log --> 4logdb + 4log --> 4logac + + 4trog>NGINX App Protect WAF Troubleshooting Guide] + + 4tro --> 4trog + + 4rel1>"NGINX App Protect WAF 4.14"] + 4rel2>"NGINX App Protect WAF 4.13"] + 4rel3>"NGINX App Protect WAF ..."] + + 4rel --> 4rel1 + 4rel --> 4rel2 + 4rel --> 4rel3 +``` + +### Monolithic pages + +Many NGINX App Protect pages are typically “only child” documents within folders, creating unnecessary nesting. + +Beyond that, a handful of critically important documents encapulsate all information related to a single type of use case. This means that every possible permutation of installation documentation and related documentation (Migration, upgrade, uninstallation) all exist in the same document. + +This leads to a huge amount of reading fatigue, and maintaining this pattern has also lead context-independent information being placed inside these monolithic pages with no real relationship to other sections. A similar issue can also be identified in the configuration document. + +```mermaid +--- +title: NGINX App Protect 4 monolithic pages and use cases +--- +graph LR + + v4[Version 4 and Earlier] + + 4ad[Administration Guides] + 4conf[Configuration Guides] + + v4 --> 4ad + v4 --> 4conf + + + 4adp>NGINX App Protect WAF Administration Guide] + + 4ad --> 4adp + + 4adbm([Bare metal installation]) + 4addd([Docker installation]) + 4adct([Converter tool]) + 4adag([Air-gapped installation]) + 4adpi([Post-installation checks]) + 4adas([Updating attack signatures]) + 4adtc([Updating threat campaigns]) + 4adbs([Updating bot signatures]) + 4adug([Upgrading App Protect]) + 4adut([Uninstalling App Protect]) + 4adsv([Upgrading App Protect to a specific version]) + 4adlv([Upgrading App Protect to the latest version]) + 4adse([Configuring SE Linux]) + + 4adp --> 4adbm + 4adp --> 4addd + 4adp --> 4adct + 4adp --> 4adag + 4adp --> 4adpi + 4adp --> 4adas + 4adp --> 4adtc + 4adp --> 4adbs + 4adp --> 4adug + 4adp --> 4adut + 4adp --> 4adsv + 4adp --> 4adlv + 4adp --> 4adse + + 4conp>NGINX App Protect WAF Configuration Guide] + + 4conf --> 4conp + + 4conppref([Policy reference]) + 4conparef([Attack policy reference]) + 4conppcon([Policy configuration]) + 4conpwcon([NGINX App Protect WAF configuration]) + 4conpexr([External references]) + 4conpoar([OpenAPI references]) + 4conpgrpc([gRPC configuration]) + 4conpgrpr([gRPC reference]) + 4conpgqlc([GraphQL configuration]) + 4conpgqlr([GraphQL reference]) + 4conporr([Override reference]) + 4conpgeor([Geolocation reference]) + 4conpjwtc([JWT configuration]) + 4conpjwtr([JWT reference]) + 4conpbfar([Brute force attack reference]) + 4conpcdc([Custom Dimensions configuration]) + 4conpcdr([Custom Dimensions reference]) + 4conptbsc([Time-based signature configuration]) + 4conptbsr([Time-based signature reference]) + 4conpdirr([Directives reference]) + 4conpvior([Violations reference]) + 4conpattr([Attack types references]) + 4conpcti([Converter tools instructions]) + 4conpasti([Attack signature tool instructions]) + 4conpsl([Security logs]) + 4conpterr([NGINX App Protect WAF terminology reference]) + 4conpnconr([NGINX feature configuration reference]) + + 4conp --> 4conppref + 4conp --> 4conparef + 4conp --> 4conppcon + 4conp --> 4conpwcon + 4conp --> 4conpexr + 4conp --> 4conpoar + 4conp --> 4conpgrpc + 4conp --> 4conpgrpr + 4conp --> 4conpgqlc + 4conp --> 4conpgqlr + 4conp --> 4conporr + 4conp --> 4conpgeor + 4conp --> 4conpjwtc + 4conp --> 4conpjwtr + 4conp --> 4conpbfar + 4conp --> 4conpcdc + 4conp --> 4conpcdr + 4conp --> 4conptbsc + 4conp --> 4conptbsr + 4conp --> 4conpdirr + 4conp --> 4conpvior + 4conp --> 4conpattr + 4conp --> 4conpcti + 4conp --> 4conpasti + 4conp --> 4conpsl + 4conp --> 4conpterr + 4conp --> 4conpnconr + +``` + +This pattern was enabled by an over-use of includes, where includes were being treated as whole pages since the content was being duplicated across the separate folders. + +Since taking responsibility for the documentation set, I removed all include files that were being used in only one place, which appeared to be a way for documentation authors to compartmentalize their updates without considering the user experience of the documentation set as a whole. + +## Proposed changes + +Overall, the whole documentation set can be flattened down into one set of documentation, though the parallel maintenance of V4 and development of V5 mean that features exclusive to V5 will need to be clearly differentiated. + +I will remove duplicate content, and subsequently remove any excess and redundant include files. V5-specific content will be delineated with their own pages and given a unique page template to explicitly mark that they only apply to V5. + +As part of this effort, the current monolithic pages will be split into self-contained single topics, grouped by use case. As they are grouped together this way, they will be named and ordered to match other NGINX products so that customers within the ecosystem have a consistent experience across the whole portfolio. + +To exemplify what this could look like, I will provide examples of a few new sections with their own diagrams. + +### Installation section + +The current “NGINX App Protect WAF Administration Guide” page will be broken into an “Installation” section, similar to other product sets. V4 and V5 instructions will be delineated with tabs, sections or entire pages, depending on the amount of content and functionality available from the website. + +Here are examples of what the individual pages may be: + +- "Bare metal" deployment +- Docker deployment +- Kubernetes deployment (V5 specific) +- Offline deployment (Possibly called "Airgapped", or "Disconnected environment".) + +The Administration Guide also has a number of post-installation steps which can be turned into discrete pages, juxtaposted to the important parts of the user journey in other documents. + +- Upgrade NGINX App Protect +- Uninstall NGINX App Protect + +```mermaid +--- +title: Installation section +--- +flowchart LR + + lp[Landing page] + is[Installation] + + lp --> is + + vi>Virtual environment] + de>Disconnected environment] + di>Docker deployment] + ki>Kubernetes deployment] + upa>Upgrade NGINX App Protect WAF] + una>Uninstall NGINX App Protect WAF] + + is --> vi + is --> de + is --> di + is --> ki + is --> upa + is --> una + +``` + +The remaining information can be grouped into other use cases + +- Update NGINX App Protect Signatures +- Configure SELinux for NGINX App Protect + +For comparison, here is a "before" and "after" diagram showing the prior Administration Guide page and its use cases, and the new single-focus Installation section. + +```mermaid +--- +title: Administration Guide page as Installation section and pages +--- +flowchart LR + + subgraph before[Administration Guide page] + direction LR + 4conp>NGINX App Protect WAF Configuration Guide] + 4conppref([Policy reference]) + 4conparef([Attack policy reference]) + 4conppcon([Policy configuration]) + 4conpwcon([NGINX App Protect WAF configuration]) + 4conpexr([External references]) + 4conpoar([OpenAPI references]) + 4conpgrpc([gRPC configuration]) + 4conpgrpr([gRPC reference]) + 4conpgqlc([GraphQL configuration]) + 4conpgqlr([GraphQL reference]) + 4conporr([Override reference]) + 4conpgeor([Geolocation reference]) + 4conpjwtc([JWT configuration]) + 4conpjwtr([JWT reference]) + 4conpbfar([Brute force attack reference]) + 4conpcdc([Custom Dimensions configuration]) + 4conpcdr([Custom Dimensions reference]) + 4conptbsc([Time-based signature configuration]) + 4conptbsr([Time-based signature reference]) + 4conpdirr([Directives reference]) + 4conpvior([Violations reference]) + 4conpattr([Attack types references]) + 4conpcti([Converter tools instructions]) + 4conpasti([Attack signature tool instructions]) + 4conpsl([Security logs]) + 4conpterr([NGINX App Protect WAF terminology reference]) + 4conpnconr([NGINX feature configuration reference]) + 4conp --> 4conppref + 4conp --> 4conparef + 4conp --> 4conppcon + 4conp --> 4conpwcon + 4conp --> 4conpexr + 4conp --> 4conpoar + 4conp --> 4conpgrpc + 4conp --> 4conpgrpr + 4conp --> 4conpgqlc + 4conp --> 4conpgqlr + 4conp --> 4conporr + 4conp --> 4conpgeor + 4conp --> 4conpjwtc + 4conp --> 4conpjwtr + 4conp --> 4conpbfar + 4conp --> 4conpcdc + 4conp --> 4conpcdr + 4conp --> 4conptbsc + 4conp --> 4conptbsr + 4conp --> 4conpdirr + 4conp --> 4conpvior + 4conp --> 4conpattr + 4conp --> 4conpcti + 4conp --> 4conpasti + 4conp --> 4conpsl + 4conp --> 4conpterr + 4conp --> 4conpnconr + end + + subgraph after[Installation section and pages] + direction LR + is[Installation] + vi>Virtual environment] + de>Disconnected environment] + di>Docker deployment] + ki>Kubernetes deployment] + upa>Upgrade NGINX App Protect WAF] + una>Uninstall NGINX App Protect WAF] + is --> vi + is --> de + is --> di + is --> ki + is --> upa + is --> una + end + + before --> after +``` + +### Other use cases + +Beyond the administration guide, the “NGINX App Protect WAF Configuration Guide” is the second largest monolithic page, which can also be broken down into individual pages and sections. + +- Configuring NAP WAF itself +- Policies +- Attack signatures +- References + +Here are some examples of what that might look like as high-level sections: instead of grouping sections by "type" of instruction (such as Configuration), they are instead grouped into use cases. + + +```mermaid +--- +title: High-level sections +--- +flowchart LR + + lp[Landing page] + is[Installation] + ks[Kubernetes] + ps[Policies] + ss[Signatures] + + + lp --> is + lp --> ks + lp --> ps + lp --> ss + + +``` + +The documentation related to NGINX App Protect WAF currently stored within the NGINX Ingress Controller documentation set would be migrated to instead be managed and stored within the NGINX App Protect WAF documentation. The V4/V5 split that created the current state of the documentation's IA was also inherited by NGINX Ingress Controller. + +### Move Troubleshooting information into contextual pages + +We try to avoid two kinds of pages: Frequently asked questions, and Troubleshooting guides. + +In the latter case, the context-specific troubleshooting information will be added to their use case pages. Further investigation will likely lead to notes or warnings about common or necessary user actions to avoid the need to troubleshoot at all. + +### Create a Support page + +A singular Support page will be created, matching the format of existing Support pages for other products - there is likely already an include to explain the F5 support policy and where a customer should go to engage with it. + +V4 and V5 have different ways to access logs, so they can be given their own discrete instructions, whether as sections or tabs. + +## Remediation + +Once the proposal has been accepted, the first step is to organise the pages into their new sections. + +This effort has a few stages, some of which have been done as part of planning this proposal: + +- Identifying use cases +- Finding logical groupings for contextually sensitive information +- Creating new pages for the information +- Updating the supporting metadata +- Creating redirects for prior production URLS to support existing links + +Once the new pages have been created, a second pass can be done to refactor the content: + +- Restructure page-level information architecture to reduce hops +- Create logical links between sections of different pages based on common user journeys +- Identify critical content for text re-use as includes +- Remove redundant content, in the form of body text or include fragments + +At this point, it should be much simpler to address technical debt in the documentation backlog, which will enable improvements to content beyond technical accuracy and completeness. \ No newline at end of file diff --git a/documentation/proposals/README.md b/documentation/proposals/README.md new file mode 100644 index 000000000..87454762a --- /dev/null +++ b/documentation/proposals/README.md @@ -0,0 +1,9 @@ +# Proposals + +This directory contains proposals related to documentation. + +## List + +| Proposal | Name | Description | +| ---------------------------------------------- | ------------------------------ | ----------- | +| [DOP-001](/documentation/proposals/DOP-001.md) | NGINX App Protect WAF Refactor | A set of large changes to improve the user experience of NGINX App Protect WAF documentation | \ No newline at end of file From 6d2ce1fa59f60cc28d303837c32df182ab0dfeb6 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Wed, 28 May 2025 06:26:05 -0700 Subject: [PATCH 202/723] Update style-guide.md for AI Chatbots (#612) Always use "F5 AI Assistant" --- templates/style-guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/style-guide.md b/templates/style-guide.md index 4959228fd..0b229717c 100644 --- a/templates/style-guide.md +++ b/templates/style-guide.md @@ -64,6 +64,7 @@ The table provides guidelines about the terms you should and should not use for | abort | Never use this term in your docs. Use the preferred terms when writing about a process:
      stop
      interrupt
      shut down | Abort is acceptable to use in programmer or similar technical documentation only if it is a function name, parameter name, or otherwise part of a name in the API. | | above and below | Avoid. Refer to the specific section, table, figure, an so on, as opposed to indicating its relative position in the document. | | | access | Used as a verb, it's jargon, so don't use it.| | +| AI Chatbot | The official name for any F5 chatbot: "F5 AI Assistant" | | | allows | Not recommended. \
      Avoid phrases such as "NGINX Plus allows you to…". \

      Use direct, active verbs from the perspective of the user instead. | | | and/or | Not recommended. Usually, this means either "and" or "or". Try to be specific in your writing; people are counting on you for clear instructions. | | | anthropomorphism | Avoid referring to the product or feature as though it were alive. \
      When referring to products, stay away from words like: decides, knows, sees, listens, and hears.
      A wizard guides you, it doesn't walk you through the steps. | | From d9b3485fe0887f04c96cb8af93fda609b73cbd21 Mon Sep 17 00:00:00 2001 From: yar Date: Wed, 28 May 2025 15:33:09 +0100 Subject: [PATCH 203/723] NGINX Plus R34 P1 Release Notes (#617) --- content/nginx/releases.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/content/nginx/releases.md b/content/nginx/releases.md index 1e9e0c8c5..e3568d55d 100644 --- a/content/nginx/releases.md +++ b/content/nginx/releases.md @@ -84,6 +84,16 @@ NGINX Plus R34 is supported on: More information: [Announcing NGINX Plus R34](https://community.f5.com/kb/technicalarticles/f5-nginx-plus-r34-release-now-available/340300) +### NGINX Plus R34 Update {#r34_p1} + +NGINX Plus R34 P1
      +_28 May 2025_ + +This is a bugfix release for NGINX Plus R34. + +- Fixed license expiration warning issue in the NGINX Plus live activity monitoring dashboard specifically for deployments utilizing marketplace images of NGINX Plus. + + ## NGINX Plus Release 33 (R33) _19 November 2024_
      From 7ede4ddf00a1042b613df2cbd4c418641c87b6a4 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Wed, 28 May 2025 10:34:45 -0700 Subject: [PATCH 204/723] fix: unmanaged certs only include metadata (#605) --------- Co-authored-by: Alan Dooley Co-authored-by: Sylvia Wang <139922338+sylwang@users.noreply.github.com> --- content/nginx-one/how-to/certificates/manage-certificates.md | 2 +- .../how-to/config-sync-groups/manage-config-sync-groups.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/nginx-one/how-to/certificates/manage-certificates.md b/content/nginx-one/how-to/certificates/manage-certificates.md index 07a4f56e2..0d53b6947 100644 --- a/content/nginx-one/how-to/certificates/manage-certificates.md +++ b/content/nginx-one/how-to/certificates/manage-certificates.md @@ -178,7 +178,7 @@ If you register an instance to NGINX One Console, as described in [Add your NGIN - Are used in their NGINX configuration - Do _not_ match an existing managed SSL certificate/CA bundle -These certificates appear in the list of unmanaged certificates. +These certificates appear in the list of unmanaged certificates. NGINX One Console does not store unmanaged certs or keys, only metadata associated with certs for monitoring. We recommend that you convert your unmanaged certificates. Converting to a managed certificate allows you to centrally manage, update, and deploy a certificate to your data plane from the NGINX One Console. diff --git a/content/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md b/content/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md index eb5bf8251..d686e713e 100644 --- a/content/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md +++ b/content/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md @@ -37,7 +37,7 @@ Config Sync Groups support configuration inheritance and persistance. If you've On the other hand, if you remove all instances from a Config Sync Group, the original configuration persists. In other words, the group retains the configuration from that first instance (or the original configuration). Any new instance that you add later still inherits that configuration. -{{< tip >}}You can use _unmanaged_ certificates. Your actions can affect the [Config Sync Group status](#config-sync-group-status). For future instances on the data plane, if it: +{{< tip >}}You can use _unmanaged_ certificates. NGINX One Console does not store unmanaged certs or keys, only metadata associated with the certs or keys for monitoring. Your actions can affect the [Config Sync Group status](#config-sync-group-status). For future instances on the data plane, if it: - Has unmanaged certificates in the same file paths as defined by the NGINX configuration as the Config Sync Group, that instance will be [**In Sync**](#config-sync-group-status). - Will be [**Out of Sync**](#config-sync-group-status) if the instance: From cad1d2096677b7d1241cb98eac9c6e78a64d9ba2 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Wed, 28 May 2025 20:38:24 +0100 Subject: [PATCH 205/723] docs: Move N4A FAQ content to docs (#537) * initial commit to the branch * docs: faq updates * docs: move further content and remove faq files * fix: missing space * Apply suggestions from code review Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * docs: update link * Update content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md * Update content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md * Update content/nginxaas-azure/monitoring/enable-monitoring.md Co-authored-by: Alex Russell <91080557+arussellf5@users.noreply.github.com> * Update content/nginxaas-azure/billing/overview.md Co-authored-by: Puneet Singh Sarna * Update content/nginxaas-azure/overview/overview.md Co-authored-by: Alex Russell <91080557+arussellf5@users.noreply.github.com> * Update content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md Co-authored-by: Puneet Singh Sarna * Update content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md Co-authored-by: Puneet Singh Sarna * Update content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md * Update content/nginxaas-azure/getting-started/prerequisites.md Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Puneet Singh Sarna * Update content/nginxaas-azure/monitoring/enable-monitoring.md * Update content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md * Update content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md * Update content/nginxaas-azure/billing/overview.md * Update content/nginxaas-azure/billing/overview.md Co-authored-by: Puneet Singh Sarna * Update content/nginxaas-azure/overview/overview.md * remove plus section * docs: simplified notes on subnets --------- Co-authored-by: Mike Jang <3287976+mjang@users.noreply.github.com> Co-authored-by: Alex Russell <91080557+arussellf5@users.noreply.github.com> Co-authored-by: Puneet Singh Sarna --- .../nginxaas-azure/ssl-tls-prerequisites.md | 4 +- content/nginxaas-azure/billing/overview.md | 8 + .../changelog-archive/changelog-2022.md | 2 +- .../changelog-archive/changelog-2023.md | 4 +- .../changelog-archive/changelog-2024.md | 4 +- content/nginxaas-azure/changelog.md | 8 +- content/nginxaas-azure/faq.md | 262 ------------------ .../troubleshooting.md => get-help.md} | 4 +- .../create-deployment/deploy-azure-portal.md | 50 +++- .../migrate-from-standard.md | 12 +- .../nginx-configuration-portal.md | 5 +- .../nginx-configuration/overview.md | 11 +- .../getting-started/prerequisites.md | 19 +- .../ssl-tls-certificates/overview.md | 18 ++ .../enable-logging/logging-using-cli.md | 2 + .../enable-logging/logging-using-portal.md | 2 + .../enable-logging/logging-using-terraform.md | 2 + .../monitoring/enable-monitoring.md | 18 +- content/nginxaas-azure/overview/overview.md | 24 +- content/nginxaas-azure/quickstart/scaling.md | 8 +- .../nginxaas-azure/troubleshooting/_index.md | 5 - 21 files changed, 161 insertions(+), 311 deletions(-) delete mode 100644 content/nginxaas-azure/faq.md rename content/nginxaas-azure/{troubleshooting/troubleshooting.md => get-help.md} (97%) rename content/nginxaas-azure/{troubleshooting => getting-started}/migrate-from-standard.md (90%) delete mode 100644 content/nginxaas-azure/troubleshooting/_index.md diff --git a/content/includes/nginxaas-azure/ssl-tls-prerequisites.md b/content/includes/nginxaas-azure/ssl-tls-prerequisites.md index c37a4ac13..1d95d498d 100644 --- a/content/includes/nginxaas-azure/ssl-tls-prerequisites.md +++ b/content/includes/nginxaas-azure/ssl-tls-prerequisites.md @@ -2,9 +2,11 @@ docs: "DOCS-000" --- +NGINXaaS natively integrates with [Azure Key Vault (AKV)](https://azure.microsoft.com/en-us/products/key-vault), so you can bring your own certificates and manage them in a centralized location. You will need: + - AKV to store certificates that you want to add to the deployment. -- A user or system assigned identity associated with your NGINXaaS deployment. Ensure that your managed identity (MI) has read access to secrets stored in AKV: +- A user or system assigned identity associated with your NGINXaaS deployment. Ensure that your Managed Identity (MI) has read access to secrets stored in AKV: - If using Azure RBAC for AKV, ensure that your MI has [Key Vault Secrets User](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#key-vault-secrets-user) or higher permissions. diff --git a/content/nginxaas-azure/billing/overview.md b/content/nginxaas-azure/billing/overview.md index 4eaa5d4b4..c0f5df504 100644 --- a/content/nginxaas-azure/billing/overview.md +++ b/content/nginxaas-azure/billing/overview.md @@ -8,8 +8,12 @@ type: - concept --- +NGINXaaS for Azure is deployed into your Azure subscription. Your NGINXaaS deployment resource is visible within your subscription, while the underlying infrastructure is managed by F5 and is abstracted away from you. + ## Pricing plans +NGINXaaS for Azure is billed monthly based on hourly consumption. + F5 NGINX as a Service for Azure (NGINXaaS) provides two pricing plans. ### Standard V2 plan @@ -69,3 +73,7 @@ The standard Azure [networking](https://azure.microsoft.com/en-us/pricing/detail {{< note >}}The management traffic for NGINX instances is billed as a `Virtual Network Peering - Intra-Region Egress` charge. This charge includes the data for shipping metrics and logs. The cost for shipping metrics data is approximately $0.03/month. If you enable NGINX logging the cost increases by roughly $0.005 per GB of logs NGINX generates. To estimate this, multiply the number of requests by the average log line size of the access_log format you have configured. {{< /note >}} + +## Review billing data + +NGINXaaS billing data is reported per deployment and can be viewed in the Azure Portal under "Cost Management + Billing".​ \ No newline at end of file diff --git a/content/nginxaas-azure/changelog-archive/changelog-2022.md b/content/nginxaas-azure/changelog-archive/changelog-2022.md index 8556e99f6..a0e8d10fa 100644 --- a/content/nginxaas-azure/changelog-archive/changelog-2022.md +++ b/content/nginxaas-azure/changelog-archive/changelog-2022.md @@ -101,6 +101,6 @@ To see a list of currently active issues, visit the [Known issues]({{< ref "/ngi ### Welcome to the NGINXaaS Public Preview -NGINXaaS for Azure is now available for public preview. Give it a try! If you find any issues please let us know by [raising a support ticket]({{< ref "/nginxaas-azure/troubleshooting/troubleshooting.md" >}}). +NGINXaaS for Azure is now available for public preview. Give it a try! If you find any issues please let us know by [raising a support ticket]({{< ref "/nginxaas-azure/get-help.md" >}}). Visit the [Known issues]({{< ref "/nginxaas-azure/known-issues.md" >}}) section to learn about the issues present in this release. diff --git a/content/nginxaas-azure/changelog-archive/changelog-2023.md b/content/nginxaas-azure/changelog-archive/changelog-2023.md index b1f778f43..6f3eddf78 100644 --- a/content/nginxaas-azure/changelog-archive/changelog-2023.md +++ b/content/nginxaas-azure/changelog-archive/changelog-2023.md @@ -70,7 +70,7 @@ To see a list of currently active issues, visit the [Known issues]({{< ref "/ngi To get started using HTTP/3 and NGINXaaS: - Update the [network security group](https://docs.microsoft.com/en-us/azure/virtual-network/tutorial-filter-network-traffic#create-security-rules) associated with the NGINXaaS deployment’s subnet to allow inbound traffic for HTTP/3 UDP ports in the NGINX configuration. - See our [FAQ]({{< ref "/nginxaas-azure/faq" >}}), for limits on how many unique ports may be specified in a configuration and a list of restricted ports. + See the [NGINXaaS limitations]({{< ref "/nginxaas-azure/overview/overview.md#limitations" >}}), for limits on how many unique ports may be specified in a configuration and a list of restricted ports. - Additionally, add a [Managed Identity]({{< ref "/nginxaas-azure/getting-started/managed-identity-portal.md" >}}) to your deployment and create [SSL/TLS Certificates]({{< ref "/nginxaas-azure/getting-started/ssl-tls-certificates/" >}}). For more information on using NGINX with HTTP/3, see the [HTTP/3 module](https://nginx.org/en/docs/http/ngx_http_v3_module.html). @@ -265,7 +265,7 @@ To see a list of currently active issues, visit the [Known issues]({{< ref "/ngi Update the [network security group's inbound security rules](https://docs.microsoft.com/en-us/azure/virtual-network/tutorial-filter-network-traffic#create-security-rules) associated with the NGINXaaS deployment's subnet to allow inbound traffic for all listen ports in the NGINX configuration. - See our [FAQ]({{< ref "/nginxaas-azure/faq" >}}), for limits on how many unique ports may be specified in a configuration and a list of restricted ports. + See our [NGINX configuration overview]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/overview.md#nginx-listen-port-restrictions" >}}) document for limits on how many unique ports may be specified in a configuration and a list of restricted ports. ## March 16, 2023 diff --git a/content/nginxaas-azure/changelog-archive/changelog-2024.md b/content/nginxaas-azure/changelog-archive/changelog-2024.md index 0abcf3455..6c05a33c1 100644 --- a/content/nginxaas-azure/changelog-archive/changelog-2024.md +++ b/content/nginxaas-azure/changelog-archive/changelog-2024.md @@ -114,7 +114,7 @@ An NGINXaaS deployment can now be gracefully updated to a new subnet with zero d Please review the [NGINX Plus Release 32 (R32)](https://docs.nginx.com/nginx/releases/#nginxplusrelease-32-r32) Release Notes carefully. If you have any concerns, it's recommended to validate your configuration against NGINX Plus R32 by setting up a test deployment using the **Preview** [Upgrade Channel]({{< ref "/nginxaas-azure/quickstart/upgrade-channels.md" >}}). See [these instructions]({{< ref "/nginxaas-azure/quickstart/recreate.md" >}}) on how to set up a deployment similar to your current one. - If you have any questions or concerns, please [contact us]({{< ref "/nginxaas-azure/troubleshooting/troubleshooting.md" >}}). + If you have any questions or concerns, please [contact us]({{< ref "/nginxaas-azure/get-help.md" >}}). ## July 30, 2024 @@ -182,7 +182,7 @@ An NGINXaaS deployment can now be gracefully updated to a new subnet with zero d Please review the [NGINX Plus Release 31 (R31)](https://docs.nginx.com/nginx/releases/#nginxplusrelease-31-r31) Release Notes carefully. If you have any concerns, it's recommended to validate your configuration against NGINX Plus R31 by setting up a test deployment using the **Preview** [Upgrade Channel]({{< ref "/nginxaas-azure/quickstart/upgrade-channels.md" >}}). See [these instructions]({{< ref "/nginxaas-azure/quickstart/recreate.md" >}}) on how to set up a deployment similar to your current one. - If you have any questions or concerns, please [contact us]({{< ref "/nginxaas-azure/troubleshooting/troubleshooting.md" >}}). + If you have any questions or concerns, please [contact us]({{< ref "/nginxaas-azure/get-help.md" >}}). ## May 20, 2024 diff --git a/content/nginxaas-azure/changelog.md b/content/nginxaas-azure/changelog.md index de3ebc390..131c0b2b3 100644 --- a/content/nginxaas-azure/changelog.md +++ b/content/nginxaas-azure/changelog.md @@ -43,9 +43,9 @@ NGINX App Protect WAF is now generally available and is no longer a preview feat NGINXaaS for Azure deployments using the **Stable** [Upgrade Channel]({{< ref "/nginxaas-azure/quickstart/upgrade-channels.md" >}}) will be updated to [NGINX Plus Release 33 (R33)]({{< ref "/nginx/releases.md#nginxplusrelease-33-r33" >}}) during the week of May 05-09, 2025. This will also include updates to the following NGINX Plus modules: - nginx-plus-module-njs - Please review the [NGINX Plus Release 33 (R33)]({{< ref "/nginx/releases.md#nginxplusrelease-33-r33" >}}) Release Notes carefully. If you have any concerns, it's recommended to validate your configuration against NGINX Plus R33 by setting up a test deployment using the **Preview** [Upgrade Channel]({{< ref "/nginxaas-azure/quickstart/upgrade-channels.md" >}}). See [these instructions]({{< ref "/nginxaas-azure/quickstart/recreate.md" >}}) on how to set up a deployment similar to your current one. For entitlement and visibility policy, check [the FAQs]({{< ref "/nginxaas-azure/faq.md" >}}) to address any additional questions you might have. + Please review the [NGINX Plus Release 33 (R33)]({{< ref "/nginx/releases.md#nginxplusrelease-33-r33" >}}) Release Notes carefully. If you have any concerns, it's recommended to validate your configuration against NGINX Plus R33 by setting up a test deployment using the **Preview** [Upgrade Channel]({{< ref "/nginxaas-azure/quickstart/upgrade-channels.md" >}}). See [these instructions]({{< ref "/nginxaas-azure/quickstart/recreate.md" >}}) on how to set up a deployment similar to your current one. - If you have any questions or concerns, please [contact us]({{< ref "/nginxaas-azure/troubleshooting/troubleshooting.md" >}}). + If you have any questions or concerns, please [contact us]({{< ref "/nginxaas-azure/get-help.md" >}}). ## March 31, 2025 @@ -70,7 +70,7 @@ See the [Supported Regions]({{< ref "/nginxaas-azure/overview/overview.md#suppor - {{% icon-info %}} **Retirement of Standard Plan** - The `Standard` plan for NGINXaaS for Azure has been retired, and you can no longer use it to create new deployments. If you have a deployment running on the `Standard` plan, consider [migrating]({{< ref "/nginxaas-azure/troubleshooting/migrate-from-standard.md">}}) it to the [`Standard V2 plan`]({{< ref "/nginxaas-azure/billing/overview.md#standard-v2-plan" >}}) to access new features such as NGINX App Protect WAF and additional listen ports. Plan migration does not incur downtime. + The `Standard` plan for NGINXaaS for Azure has been retired, and you can no longer use it to create new deployments. If you have a deployment running on the `Standard` plan, consider [migrating]({{< ref "/nginxaas-azure/getting-started/migrate-from-standard.md">}}) it to the [`Standard V2 plan`]({{< ref "/nginxaas-azure/billing/overview.md#standard-v2-plan" >}}) to access new features such as NGINX App Protect WAF and additional listen ports. Plan migration does not incur downtime. ## February 10, 2025 @@ -82,4 +82,4 @@ See the [Supported Regions]({{< ref "/nginxaas-azure/overview/overview.md#suppor - {{< icon-feature >}} **In-place SKU Migration from Standard to Standard V2** - You can now migrate NGINXaaS for Azure from the Standard plan to the Standard V2 plan without redeploying. We recommend upgrading to the Standard V2 plan to access features like NGINX App Protect WAF and more listen ports. The Standard plan will be retired soon. For migration details, see [migrate from standard]({{< ref "/nginxaas-azure/troubleshooting/migrate-from-standard.md">}}). + You can now migrate NGINXaaS for Azure from the Standard plan to the Standard V2 plan without redeploying. We recommend upgrading to the Standard V2 plan to access features like NGINX App Protect WAF and more listen ports. The Standard plan will be retired soon. For migration details, see [migrate from standard]({{< ref "/nginxaas-azure/getting-started/migrate-from-standard.md">}}). diff --git a/content/nginxaas-azure/faq.md b/content/nginxaas-azure/faq.md deleted file mode 100644 index 21919a539..000000000 --- a/content/nginxaas-azure/faq.md +++ /dev/null @@ -1,262 +0,0 @@ ---- -title: Frequently Asked Questions -weight: 800 -toc: true -docs: DOCS-881 -url: /nginxaas/azure/faq/ -type: -- concept ---- - -Common questions about F5 NGINX as a Service for Azure (NGINXaaS). - -### Do I need to manually supply a JWT license for my instances? -- No, the license management process is handled automatically by NGINXaaS. - -### Where is the usage data reported? -- The usage data is reported to NGINXaaS. - -### Is NGINXaaS available in my subscription or in F5 subscription? -- Your NGINXaaS deployment resource is visible to you under your subscription. The underlying compute resources of your deployment, which are managed by NGINX on your behalf, are not visible in your subscription. - -### Is NGINXaaS active-active? What is the architecture of NGINXaaS? -- NGINXaaS is deployed as an active-active pattern for high availability. To learn more, see the [user guide]({{< ref "/nginxaas-azure/overview/overview.md#architecture" >}}). - -### In which Azure regions is NGINXaaS currently supported? -- We are constantly adding support for new regions. You can find the updated list of supported regions in the [NGINXaaS documentation]({{< ref "/nginxaas-azure/overview/overview.md" >}}). - -### My servers are located in different geographies, can NGINXaaS load balance for these upstream servers? -- Yes, NGINXaaS can load balance even if upstream servers are located in different geography as long as no networking limitations are mentioned in the [Known Issues]({{< ref "known-issues.md" >}}). - -### How do I analyze traffic statistics for NGINXaaS? -- NGINXaaS is integrated with [Azure monitoring](https://learn.microsoft.com/en-us/azure/azure-monitor/overview). NGINXaaS publishes [traffic statistics]({{< ref "/nginxaas-azure/monitoring/metrics-catalog.md" >}}) in Azure monitoring. Customers can analyze the traffic statistics by following the steps mentioned in the [NGINXaaS Monitoring]({{< ref "/nginxaas-azure/monitoring/enable-monitoring.md" >}}) documentation. - -### When should I scale my deployment? -- Consider requesting additional NCUs if the number of consumed NCUs is over 70% of the number of provisioned NCUs. Consider reducing the number of requested NCUs when the number of consumed NCUs is under 60% of the number of provisioned NCUs. For more information on observing the consumed and provisioned NCUs in your deployment, see the [Scaling documentation]({{< ref "/nginxaas-azure/quickstart/scaling.md#metrics" >}}). - -- Alternatively, [enable autoscaling]({{< ref "/nginxaas-azure/quickstart/scaling.md#autoscaling" >}}) to let the system automatically scale your deployment for you. - -### I am an NGINX Plus customer; how can I switch to NGINXaaS? -- In NGINX Plus, customers SSH into the NGINX Plus system, store their certificates in some kind of storage and configure the network and subnet to connect to NGINX Plus. - -- For NGINXaaS, customers store their certificates in the Azure key vault and configure NGINXaaS in the same VNet or peer to the VNet in which NGINXaaS is deployed. - -### How does NGINXaaS react to a workload/traffic spike? -- You can monitor the NCUs consumed by looking at the metrics tab of NGINXaaS. To learn about the NCUs consumed, choose NGINXaaS statistics and select "NCU consumed." If the NCU consumed is close to the requested NCUs, we encourage you to scale your system and increase the NCU units. You can manually scale from your base NCUs (For example, 10) to up to 500 NCUs by selecting the NGINXaaS scaling tab. - -- Currently, we support scaling in 10 NCU intervals (10, 20, 30, and so on). - -- Alternatively, you can enable autoscaling, and NGINXaaS will automatically scale your deployment based on the consumption of NCUs. - -- See the [Scaling Guidance]({{< ref "/nginxaas-azure/quickstart/scaling.md" >}}) documentation for more information. - -### What types and formats of certificates are supported in NGINXaaS? -- NGINXaaS supports self-signed certificates, Domain Validated (DV) certificates, Organization Validated (OV) certificates, and Extended Validation (EV) certificates. - -- Currently, NGINXaaS supports PEM and PKCS12 format certificates. - -- See the [SSL/TLS Certificates documentation]({{< ref "/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md" >}}) to learn how to change certificates. - -### Does NGINXaaS support layer 4 load balancing? -- Yes, NGINXaaS currently supports layer 4 TCP and HTTP layer 7 load balancing. - -### Does NGINXaaS support IP v6? -- No, NGINXaaS does not support IPv6 yet. - -### What protocols do NGINXaaS support? - -- At this time, we support the following protocols: - - - HTTPS - - HTTP - - HTTP/2 - - HTTP/3 - - TCP - - QUIC - - IMAP - - POP3 - - SMTP - -### Does NGINXaaS support multiple public IPs, a mix of public and private IPs? - -- NGINXaaS supports one public or private IP per deployment. NGINXaaS doesn't support a mix of public and private IPs at this time. - -### Can I change the IP address used for an NGINXaaS deployment to be public or private? - -- You cannot change the IP address associated with an NGINXaaS deployment from public to private, or from private to public. - -### How large should I make the subnet for NGINXaaS? - -- The minimum subnet size is `/27` and is sufficient for a single NGINXaaS deployment even at large scales. Multiple NGINXaaS deployments can be placed in a single delegated subnet, along with other resources. When doing so, a larger subnet, e.g. a `/24`, is recommended. - -### Can I deploy more than one NGINXaaS to a single subnet? -- Yes, however, every deployment in the subnet will share the address space (range of IP addresses that resources can use within the VNet), so ensure the subnet is adequately sized to scale the deployments. - -### How long does it take to deploy NGINXaaS? -- Typically you can deploy NGINXaaS in under 5 minutes. - -### Any downtime in the periodic updates? -- There's no downtime during updates to NGINXaaS. - -### Does changing the capacity of NGINXaaS result in any downtime? -- No, there's no downtime while an NGINXaaS deployment changes capacity. - -### How is my application safe at the time of disaster? Any method for disaster recovery? -- In any Azure region with more than one availability zone, NGINXaaS provides cross-zone replication for disaster recovery. See [Architecture]({{< ref "/nginxaas-azure/overview/overview.md#architecture" >}}) for more details. - -### Can I configure the TLS policy to control TLS protocol versions? -- Yes. You can overwrite the NGINX default protocol to configure the desired TLS/SSL policy. Read more about the procedure in the [Module ngx_http_ssl_module](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) documentation. - -### How many TLS/SSL certificates does NGINXaaS support? -- NGINXaaS supports up to 100 TLS/SSL certificates. - -### Does NGINXaaS natively integrate with Azure Key Vault? -- Yes, NGINXaaS natively integrates with Azure Key Vault, so you can bring your own certificates and manage them in a centralized location. You can learn more about adding certificates in Azure Key Vault in the [SSL/TLS Certificates documentation]({{< ref "/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md" >}}). - -### Can I deploy any other resources in the NGINXaaS subnet? -- Yes, the subnet can contain other resources and is not dedicated to the NGINXaaS for Azure resources; ensure the subnet size is adequate to scale the NGINXaaS deployment. - -### Are NSG (Network Security Group) supported on the NGINXaaS? -- Yes, an NSG is required in the subnet where NGINXaaS will be deployed to ensure that the deployment is secured and inbound connections are allowed to the ports the NGINX service listens to. - -### Can I restrict access to NGINXaaS based on various criteria, such as IP addresses, domain names, and HTTP headers? -- Yes, you can restrict access to NGINXaaS by defining restriction rules at the Network Security Group level or using NGINX's access control list. To learn more, see the [NGINX module ngx_http_access_module](http://nginx.org/en/docs/http/ngx_http_access_module.html) documentation. - -### What are the supported networking services of NGINXaaS? -- NGINX currently supports VNet, and VPN gateway if they do not have limitations. Known limitations can be found in the [Known Issues]({{< ref "known-issues.md" >}}). - -### Does NGINXaaS support end-to-end encryption from client to the upstream server? -- Yes, NGINXaaS supports end-to-end encryption from client to upstream server. - -### What types of logs does NGINXaaS provide? -- NGINXaaS supports the following [two types of logs]({{< ref "/nginxaas-azure/monitoring/enable-logging/">}}). - -- Access Log: To troubleshoot server issues, analyze web traffic patterns and monitor server performance. For more details, please see the [Module ngx_http_log_module](https://nginx.org/en/docs/http/ngx_http_log_module.html?&_ga=2.80762515.545098740.1677716889-256521444.1670450998#access_log) documentation. - -- Error Log: To capture, troubleshoot and identify issues that may occur during the server's operations, such as 400 bad requests, 401 unauthorized, 500 internal server errors, etc. For more details, please see the [Core functionality](https://nginx.org/en/docs/ngx_core_module.html?&_ga=2.8347062.545098740.1677716889-256521444.1670450998#error_log) documentation. - -### What is the retention policy for the above logs? How long are the logs stored? Where are they stored? -- NGINXaaS logs are stored in customer’s storage. Customers can custom define the retention policy. Customers can configure the storage by following the steps outlined in the [NGINXaaS Logging]({{< ref "/nginxaas-azure/monitoring/enable-logging/">}}) documentation. - -### Can I set up an alert with NGINXaaS? -- You can set up an alert with NGINXaaS by following the steps outlined in the [Configure Alerts]({{< ref "/nginxaas-azure/monitoring/configure-alerts.md">}}) documentation. - -### Is request tracing supported in NGINXaaS? -- Yes, see the [Application Performance Management with NGINX Variables](https://www.nginx.com/blog/application-tracing-nginx-plus/) documentation to learn more about tracing. - -### Can I select my desired instance type for NGINXaaS deployment? -- No; NGINXaaS will deploy the right resources to ensure you get the right price-to-performance ratio. - -### Can I migrate from on-prem NGINX+ to NGINXaaS on Azure? -- Yes, you can bring your own configurations or create a new configuration in the cloud. See the [NGINXaaS Deployment]({{< ref "/nginxaas-azure/getting-started/create-deployment/">}}) documentation for more details. - -### Can I associate multiple certificates for the same domain? -- Yes, the "ssl_certificate" directive can be specified multiple times to load certificates of different types. To learn more, see the [Module ngx_http_ssl_module](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate) documentation. - -### What types of redirects does the NGINXaaS support? -- In addition to HTTP to HTTPS, HTTPS to HTTP, and HTTP to HTTP, NGINXaaS provides the ability to create new rules for redirecting. See [How to Create NGINX Rewrite Rules | NGINX](https://www.nginx.com/blog/creating-nginx-rewrite-rules/) for more details. - -### What content types does NGINXaaS support for the message body for upstream/NGINXaaS error status code responses? -- Customers can use any type of response message, including the following: - - - text/plain - - text/css - - text/html - - application/javascript - - application/json - -### Where do I find the NGINXaaS IP (Internet Protocol) address? -- Once you successfully deploy NGINXaaS, you can double-click on NGINXaaS in the Azure portal; you can see both public and private IP addresses, as shown in the following screenshot: - -{{< img src="nginxaas-azure/faq-ip-location-one.png" alt="IP location one" >}} - -{{< img src="nginxaas-azure/faq-ip-location-two.png" alt="IP location two" >}} - -### Does my deployment IP change over time? -- The NGINXaaS deployment IP doesn't change over time. - -### Does NGINXaaS support autoscaling? -- Yes; NGINXaaS supports autoscaling as well as manual scaling. Refer to the [Scaling Guidance]({{< ref "/nginxaas-azure/quickstart/scaling.md#autoscaling" >}}) for more information. - -### How can I manually start/stop NGINXaaS? -- Currently, we can't manually start/stop NGINXaaS. You have the option to delete the deployment and re-deploy at a future date. - -### Can I change the virtual network or subnet for an existing NGINXaaS? -- If the existing NGINXaaS deployment is using a public IP address, you can change the backend virtual network or subnet. Please make sure that the subnet is delegated to `NGINX.NGINXPLUS/nginxDeployments` before creating a deployment in it. To delegate a subnet to an Azure service, see [Delegate a subnet to an Azure service](https://learn.microsoft.com/en-us/azure/virtual-network/manage-subnet-delegation?source=recommendations#delegate-a-subnet-to-an-azure-service). - -- If the existing NGINXaaS deployment is using a private IP address, you can only change the backend subnet. You cannot change the backend virtual network because the frontend and backend subnets must be in the same virtual network. - -### How do I configure HTTPS listeners for .com and .net sites? -- NGINXaaS is a Layer 7 HTTP protocol. To configure .com and .net servers, refer to the server name in the server block within the HTTP context. To learn more, and see examples, follow the instructions in the [NGINX Configuration]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md#nginx-configuration-validation" >}}) documentation. - -### If I remove/delete an NGINXaaS deployment, what will happen to the eNICs that were associated with it? -- When you remove or delete an NGINXaaS deployment, the associated eNICs will automatically be deleted. - -### What are the specific permissions that NGINXaaS for Azure needs? - -- The specific permissions required to deploy NGINXaaS are: - - - microsoft.network/publicIPAddresses/join/action - - - nginx.nginxplus/nginxDeployments/Write - - - microsoft.network/virtualNetworks/subnets/join/action - - - nginx.nginxplus/nginxDeployments/configurations/Write - - - nginx.nginxplus/nginxDeployments/certificates/Write - -- Additionally, if you are creating the Virtual Network or IP address resources that NGINXaaS for Azure will be using, then you probably also want those permissions as well. - -- Note that assigning the managed identity permissions normally requires an “Owner” role. - -### Can I reference my upstream servers by internal DNS hostname? - -- Yes. If your DNS nameservers are configured in the same VNet as your deployment, then you can use those DNS nameservers to resolve the hostname of the upstream servers referenced in your NGINX configuration. - -### Will updates to my virtual network's DNS settings automatically apply to my NGINXaaS deployment? - -No, changes to a virtual network's DNS settings will not be applied automatically to your NGINXaaS deployment. To ensure DNS settings are applied, you must add any custom DNS servers to the VNET's DNS settings before creating an NGINXaaS deployment. As a workaround for existing deployments, we recommend using the [`resolver` directive](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) to explicitly specify your name server(s) and the [`resolve` parameter](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#resolve) to automatically re-resolve the domain name of the server without restarting NGINX. - -For example, - -```nginx -resolver 10.0.0.2 valid=10s; -upstream backends { - zone backends 64k; - server backends.example.com:8080 resolve; -} - -server { - location / { - proxy_pass http://backends; - } -} -``` - -### Does changing the `worker_connections` in the NGINX config have any effect? -- No. While changing the value of the directive in the config is allowed, the change is not applied to the underlying NGINX resource of your deployment. - -### What ports can my deployment listen on? - -- Due to port restrictions on Azure Load Balancer health probes, ports `19`, `21`, `70`, and `119` are not allowed. The NGINXaaS deployment can listen on all other ports. We limit the maximum listen ports in the NGINX configuration to 5 on the Basic and current Standard (v1) plan. Configurations that specify over 5 unique ports are rejected. With the Standard V2 plan, we allow users to listen on more than 5 ports. The first five ports under this plan come at no extra cost and there are charges for each additional port utilized. - -### How often does my deployment get billed? - -- NGINXaaS is [billed monthly]({{< ref "/nginxaas-azure/billing/overview.md" >}}) based on hourly consumption. - -### Why do the metrics show more connections and requests than I was expecting? - -- The NGINX agent periodically gathers connection and request statistics using an internal HTTP request. An Azure service health probe checks for status using a TCP connection for each listen port in the NGINX configuration, incrementing the connection count for each port. This contributes to minimal traffic and should not affect these metrics significantly. - -### Can I use an existing subnet to create my deployment? - -- You can use an existing subnet to create a deployment. Please make sure that the subnet is delegated to `NGINX.NGINXPLUS/nginxDeployments` before creating a deployment in it. To delegate a subnet to an Azure service, see [Delegate a subnet to an Azure service](https://learn.microsoft.com/en-us/azure/virtual-network/manage-subnet-delegation?source=recommendations#delegate-a-subnet-to-an-azure-service). - -### Will my deployment detect a new version of my certificate and apply it? - -- NGINXaaS supports certificate rotation. See the [Certificate Rotation documentation]({{< ref "/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md#certificate-rotation" >}}) to learn more. - -### Why are some of my deployment's metrics intermittently missing in Azure monitor? - -- This may indicate that the deployment's underlying compute resources are being exhausted. Monitor the `system.cpu` metric to see the deployment's CPU utilization. If it's nearing 100%, consider increasing the deployment's NCU capacity. See the [Scaling Guidance]({{< ref "/nginxaas-azure/quickstart/scaling.md" >}}) documentation for more information. diff --git a/content/nginxaas-azure/troubleshooting/troubleshooting.md b/content/nginxaas-azure/get-help.md similarity index 97% rename from content/nginxaas-azure/troubleshooting/troubleshooting.md rename to content/nginxaas-azure/get-help.md index 2df209ff5..ff1ffc96b 100644 --- a/content/nginxaas-azure/troubleshooting/troubleshooting.md +++ b/content/nginxaas-azure/get-help.md @@ -1,9 +1,9 @@ --- title: Get help -weight: 100 +weight: 750 toc: true docs: DOCS-882 -url: /nginxaas/azure/troubleshooting/troubleshooting/ +url: /nginxaas/azure/get-help/ type: - how-to --- diff --git a/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md b/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md index dbbaec46e..3d58d49fb 100644 --- a/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md +++ b/content/nginxaas-azure/getting-started/create-deployment/deploy-azure-portal.md @@ -20,6 +20,7 @@ You can start the NGINXaaS deployment process by visiting the [Create NGINXaaS]( 1. Use the search field to find "NGINXaaS" in the Azure Portal. In the Services results, select **NGINXaaS**. 1. Select **+ Create** on the **NGINXaaS** page to start the deployment process. + ## Create a deployment ### Basics tab @@ -46,17 +47,44 @@ You can start the NGINXaaS deployment process by visiting the [Create NGINXaaS]( 1. On the Create NGINXaaS Deployment **Networking** page, provide the following information: - {{}} - | Field | Description | - |---------------------------- | ---------------------------- | - | Virtual Network | A virtual network is required for communication between the resources you create.
      You can create a new virtual network or use an existing one (for an existing one see note below).
      Additionally, you can peer a new virtual network with existing ones (in any region) to create network access from NGINXaaS for Azure to your upstream servers. To peer the virtual network with another see [Create, change, or delete a virtual network peering](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-manage-peering).| - | Subnet | If you select an existing virtual network, you can select the existing subnet to be used. Before creating a deployment, the existing subnet needs to be delegated to `NGINX.NGINXPLUS/nginxDeployments`. To delegate a subnet to an Azure service, see [Delegate a subnet to an Azure service](https://learn.microsoft.com/en-us/azure/virtual-network/manage-subnet-delegation?source=recommendations#delegate-a-subnet-to-an-azure-service).

      Otherwise, if you have chosen to create a new virtual network, a new subnet will be selected by default.

      The minimum subnet size is `/27` and is sufficient for a single NGINXaaS deployment even at large scales. Multiple NGINXaaS deployments can be placed in a single delegated subnet, along with other resources. When doing so a larger subnet, e.g. a `/24`, is recommended. | - | Allow NGINX access to Virtual Network | Confirm that you allow:
      - Registration of the NGINX provider to your Azure subscription.
      - Delegation of the subnet to the NGINX provider.| - | IP address | Set the IP address (public or private) that the service listens to for requests:

      If you select a public IP address:
      - Create a new public IP or use an existing one (for an existing one see the note below).
      - Set the resource name for your public IP address.
      Newly created public IPs are [zone-redundant in supported regions](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/public-ip-addresses#availability-zone).

      If you select a private IP address:
      - Provide a static IP address from the same subnet range set previously. | - | Inbound port rules | Select `None` to disallow inbound access on any port, or choose to allow traffic from one of these common http(s) ports.

      **Note:** This option is only available when specifying a new virtual network as part of the create workflow. If you select an existing virtual network which is associated with a subnet and Network Security Group (NSG), you will need to edit the Inbound security rules to add access for the specific ports you want to allow (for example, ports 80 and 443).| - | Apply default NGINX configuration | Confirm that you want your NGINXaaS deployment to be bootstrapped with a default NGINX configuration and a browsable splash page. | + {{}} + | Field | Description | + |---------------------------- | ---------------------------- | + | Virtual Network | A virtual network is required for communication between the resources you create.
      You can create a new virtual network or use an existing one (for an existing one see note below).
      Additionally, you can peer a new virtual network with existing ones (in any region) to create network access from NGINXaaS for Azure to your upstream servers. To peer the virtual network with another see [Create, change, or delete a virtual network peering](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-manage-peering).| + | Subnet | If you select an existing virtual network, you can select the existing subnet to be used. Before creating a deployment, the existing subnet needs to be delegated to `NGINX.NGINXPLUS/nginxDeployments`. To delegate a subnet to an Azure service, see [Delegate a subnet to an Azure service](https://learn.microsoft.com/en-us/azure/virtual-network/manage-subnet-delegation?source=recommendations#delegate-a-subnet-to-an-azure-service).

      Otherwise, if you have chosen to create a new virtual network, a new subnet will be selected by default.

      The minimum subnet size is `/27` and is sufficient for a single NGINXaaS deployment even at large scales. Multiple NGINXaaS deployments can be placed in a single delegated subnet, along with other resources. When doing so a larger subnet, e.g. a `/24`, is recommended. | + | Allow NGINX access to Virtual Network | Confirm that you allow:
      - Registration of the NGINX provider to your Azure subscription.
      - Delegation of the subnet to the NGINX provider.| + | IP address | Set the IP address (public or private) that the service listens to for requests:

      If you select a public IP address:
      - Create a new public IP or use an existing one (for an existing one see the note below).
      - Set the resource name for your public IP address.
      Newly created public IPs are [zone-redundant in supported regions](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/public-ip-addresses#availability-zone).

      If you select a private IP address:
      - Provide a static IP address from the same subnet range set previously. | + | Inbound port rules | Select `None` to disallow inbound access on any port, or choose to allow traffic from one of these common http(s) ports.

      **Note:** This option is only available when specifying a new virtual network as part of the create workflow. If you select an existing virtual network which is associated with a subnet and Network Security Group (NSG), you will need to edit the Inbound security rules to add access for the specific ports you want to allow (for example, ports 80 and 443).| + | Apply default NGINX configuration | Confirm that you want your NGINXaaS deployment to be bootstrapped with a default NGINX configuration and a browsable splash page. | {{
      }} + #### Notes on subnets: + + - The minimum subnet size for NGINXaaS is `/27` and is enough for a single NGINXaaS deployment even at large scales. + - You can use an existing subnet; make sure that the subnet is delegated to `NGINX.NGINXPLUS/nginxDeployments` before creating a deployment in it. The subnet can contain other resources. + - You can deploy more than one NGINXaaS in the same subnet. Every deployment in the subnet will share the subnet IP address space. A larger subnet, for example, a `/24` is recommended. + - Changes to a virtual network's DNS settings will not be applied automatically to your NGINXaaS deployment. To ensure DNS settings are applied, you must add any custom DNS servers to the VNET's DNS settings before creating an NGINXaaS deployment. As a workaround for existing deployments, we recommend using the [`resolver` directive](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) to explicitly specify your name server(s) and the [`resolve` parameter](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#resolve) to automatically re-resolve the domain name of the server without restarting NGINX. + +
      + Example of using the resolver directive + For example, + + ```nginx + resolver 10.0.0.2 valid=10s; + upstream backends { + zone backends 64k; + server backends.example.com:8080 resolve; + } + + server { + location / { + proxy_pass http://backends; + } + } + ``` +
      + + 1. Next, select **Tags**. ### Tags tab @@ -71,7 +99,7 @@ You can start the NGINXaaS deployment process by visiting the [Create NGINXaaS]( 1. After validation has succeeded and you've reviewed the terms, select **Create** for Azure to start the deployment. -1. After the deployment finishes, select the NGINX deployment from the list (with "Type: NGINXaaS") to view information about the deployed resource. +1. After the deployment finishes, select the NGINX deployment from the list (with "Type: NGINXaaS") to view information about the deployed resource, including the deployment IP address. {{< img src="nginxaas-azure/deployment-complete.png" alt="Resource Deployment Completed page showing the available deployments and the new NGINXaaS type deployment in the Deployment details section." >}} @@ -84,6 +112,8 @@ You can start the NGINXaaS deployment process by visiting the [Create NGINXaaS]( {{< img src="nginxaas-azure/test-deployment.png" alt="NGINXaaS Overview page showing the IP address of the deployment in the Essentials section." >}} +{{< note >}}It's not possible to manually stop or start NGINXaaS. If necessary, you have the option to delete the deployment and re-deploy at a future date.{{< /note >}} + ## What's next diff --git a/content/nginxaas-azure/troubleshooting/migrate-from-standard.md b/content/nginxaas-azure/getting-started/migrate-from-standard.md similarity index 90% rename from content/nginxaas-azure/troubleshooting/migrate-from-standard.md rename to content/nginxaas-azure/getting-started/migrate-from-standard.md index 829ff6b5b..8c0f82c85 100644 --- a/content/nginxaas-azure/troubleshooting/migrate-from-standard.md +++ b/content/nginxaas-azure/getting-started/migrate-from-standard.md @@ -1,8 +1,8 @@ --- -title: Migrating from Standard to Standard V2 -weight: 200 +title: Migrate from Standard to Standard V2 +weight: 1000 toc: true -url: /nginxaas/azure/troubleshooting/migrate-from-standard/ +url: /nginxaas/azure/getting-started/migrate-from-standard/ type: - how-to --- @@ -17,13 +17,13 @@ The Standard V2 plan maintains the same price as the Standard plan for existing ## Migration Steps -### Using the Portal +### Use the Azure the Portal 1. Go to the **Overview** page of the NGINXaaS deployment in the Azure portal. 2. Under **Essentials**, find the **Pricing Tier** and select **Click to Upgrade**. 3. Select the Standard V2 plan and select Submit. -### Using Terraform +### Use Terraform 1. Update the Terraform AzureRM provider to 4.6.0 or above. @@ -43,7 +43,7 @@ terraform { 3. Run `terraform plan`. Look at the output of terraform plan to ensure that your NGINXaaS deployment is not being replaced. 4. Run `terraform apply` to upgrade the deployment. -### Using Azure-cli +### Use the Azure-cli Run the below command to update your NGINXaaS deployment. diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md index 0b00d2613..498f81133 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md @@ -15,6 +15,9 @@ An NGINX configuration can be applied to the deployment using the Azure portal i As part of applying your NGINX configuration, the service validates the configuration for syntax and compatibility with F5 NGINX as a Service for Azure (NGINXaaS). The use of certain directives and parameters is not allowed to ensure the NGINX configuration’s compatibility with IaaS deployment model in Azure. Validation errors are reported in the editor for you to correct. For more information, check the [NGINX Configuration Validation]({{< ref "nginx-configuration.md#nginx-configuration-validation" >}}) section. +{{< note >}} +NGINXaaS supports Layer 7 HTTP loadbalancing. To configure .com and .net servers, refer to the server name in the server block within the HTTP context. To learn more, and see examples, follow the instructions in the [NGINX configuration validtion]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md#nginx-configuration-validation" >}}) section.{{< /note >}} + ## Prerequisites - If the NGINX configuration requires SSL/TLS certificates, then a managed identity and integration with Azure Key Vault is required. @@ -47,8 +50,6 @@ As part of applying your NGINX configuration, the service validates the configur 1. Select **Submit** to apply the new configuration. -{{}}We currently only support more than 5 unique listen ports on the Standard V2 plan. NGINX configurations that specify more than 5 ports on other plans will be rejected. For more information on listen port limitations, see our [FAQ]({{< ref "/nginxaas-azure/faq" >}}).{{}} - ### NGINX configuration validation NGINX configuration is validated real-time to check for syntax and compatibility with the service. Validation errors are reported in the editor for you to correct. diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/overview.md b/content/nginxaas-azure/getting-started/nginx-configuration/overview.md index a7e3ca93b..48ca51ef6 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/overview.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/overview.md @@ -63,7 +63,7 @@ Some directives cannot be overridden by the user provided configuration. |------------------ | ----------------------- | -----------------| | `user` | `nginx` | The `nginx` user has the correct permissions for accessing certificates, policy files and other auxfiles. | | `worker_processes` | `auto` | Set to `auto` to automatically set `worker_processes` to the number of CPU cores. | - | `worker_connections` |
      • Standard V2 plan `4000`
      • basic plan `3000`
      | To ensure reasonable performance of the NGINXaaS deployment for Standard V2 plan, the `worker_connections` is fixed at 400/NCU; for basic plan this is set lower. | + | `worker_connections` |
      • Standard V2 plan `4000`
      • basic plan `3000`
      | To ensure reasonable performance of the NGINXaaS deployment for Standard V2 plan, the `worker_connections` is fixed at 400/NCU; for basic plan this is set lower.

      Changing the value in the config has no effect on the NGINX process in the deployment. | | `pid` | `/run/nginx/nginx.pid` | Set to this value to allow NGINXaaS to automatically manage the NGINX master process. | | `daemon` | `on` | Automatically set to `on` to allow NGINXaaS to manage the NGINX master process. | | `master_process` | `on` | This directive is intended for NGINX developers. | @@ -71,6 +71,15 @@ Some directives cannot be overridden by the user provided configuration. {{
      }} + +## NGINX listen port restrictions + +- Due to port restrictions on Azure Load Balancer health probes, ports `19`, `21`, `70`, and `119` are not allowed. The NGINXaaS deployment can listen on all other ports. + +- The [Basic]({{< ref "/nginxaas-azure/billing/overview.md#basic-plan" >}}) plan (and the deprecated Standard (v1) plan) supports a maximum of 5 listen ports in the NGINX configuration. Configurations that specify over 5 unique ports are rejected. + +- The [Standard V2]({{< ref "/nginxaas-azure/billing/overview.md#standard-v2-plan" >}}) plan allow users to listen on more than 5 ports. The first five ports under this plan come at no extra cost and there are charges for each additional port utilized. + ## Configuration directives list
      diff --git a/content/nginxaas-azure/getting-started/prerequisites.md b/content/nginxaas-azure/getting-started/prerequisites.md index 58f96d7df..aefcdbf6d 100644 --- a/content/nginxaas-azure/getting-started/prerequisites.md +++ b/content/nginxaas-azure/getting-started/prerequisites.md @@ -1,5 +1,5 @@ --- -title: Prerequisites +title: Overview and prerequisites weight: 100 toc: true docs: DOCS-880 @@ -8,7 +8,9 @@ type: - how-to --- -Before you deploy F5 NGINX as a Service for Azure (NGINXaaS) you need to meet the following prerequisites: +## Before you begin + +Before you deploy NGINXaaS you need to meet the following prerequisites: - An Azure account with an active subscription (if you don’t have one, [create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F)). @@ -18,7 +20,18 @@ Before you deploy F5 NGINX as a Service for Azure (NGINXaaS) you need to meet th - It's possible to complete a limited setup with the built-in [Contributor](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#contributor) role. -For specific permissions check the [NGINXaaS for Azure Frequently Asked Questions]({{< ref "/nginxaas-azure/faq" >}}). + +- The specific Azure permissions required to deploy NGINXaaS are: + + - microsoft.network/publicIPAddresses/join/action + - nginx.nginxplus/nginxDeployments/Write + - microsoft.network/virtualNetworks/subnets/join/action + - nginx.nginxplus/nginxDeployments/configurations/Write + - nginx.nginxplus/nginxDeployments/certificates/Write + +- Additionally, if you are creating the Virtual Network or IP address resources that NGINXaaS for Azure will be using, then you probably also want those permissions as well. + +- Note that assigning the managed identity permissions normally requires an "Owner" role. ## What's next diff --git a/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md b/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md index f348782da..1a36daa0c 100644 --- a/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md +++ b/content/nginxaas-azure/getting-started/ssl-tls-certificates/overview.md @@ -11,6 +11,16 @@ F5 NGINX as a Service for Azure (NGINXaaS) enables customers to secure traffic b This document provides details about using SSL/TLS certificates with your F5 NGINX as a Service for Azure deployment. +## Supported certificate types and formats + +NGINXaaS supports **up to 100** TLS/SSL certificates of the following types: + +- Self-signed certificates, Domain Validated (DV) certificates, Organization Validated (OV) certificates, and Extended Validation (EV) certificates. + +NGINX supports the following certificate formats: + +- PEM and PKCS12 format certificates. + ## Add SSL/TLS certificates Add a certificate from an Azure Key Vault to your NGINXaaS deployment using your preferred client tool: @@ -19,6 +29,10 @@ Add a certificate from an Azure Key Vault to your NGINXaaS deployment using your * [Add certificates using the Azure CLI]({{< ref "/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-azure-cli.md">}}) * [Add certificates using Terraform]({{< ref "/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-terraform.md">}}) +{{< note >}}- You can overwrite the NGINX default protocol to configure the desired TLS/SSL policy. Read more about the procedure in the [Module ngx_http_ssl_module](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) documentation. + +- You can associate multiple certificates for the same domain; the "ssl_certificate" directive can be specified multiple times to load certificates of different types. To learn more, see the [Module ngx_http_ssl_module](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate) documentation.{{}} + ### Add SSL/TLS certificates bundled with NGINXaaS configuration You can also add your certificate as a file to your NGINX configuration filesystem; refer to [Upload an NGINX configuration]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/overview.md">}}) to learn about the different options. Although this is a quick method for adding SSL/TLS certificates to your NGINXaaS deployment, we recommend adding certificates through Azure Key Vault (AKV) for enhanced security, certificate rotation, and monitoring. @@ -65,6 +79,9 @@ To view the status of your SSL/TLS certificates, [enable monitoring]({{< ref "/n The following section describes common errors you might encounter while adding SSL/TLS certificates to your NGINXaaS deployment and how to resolve them. +
      +Expand to view common certificate errors + #### Error code: `ForbiddenByRbac` **Description:** The [Managed Identity]({{< ref "/nginxaas-azure/getting-started/managed-identity-portal.md" >}}) associated with the NGINXaaS deployment does not have permissions to fetch certificates from key vault. This error is returned when the key vault's permission model is set to [Azure role-based access control](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview?WT.mc_id=Portal-Microsoft_Azure_KeyVault). @@ -350,3 +367,4 @@ The following section describes common errors you might encounter while adding S **Description:** The PEM certificate could not be parsed. **Resolution:** Ensure the file is not empty and contains properly formatted PEM certificate data. +
      \ No newline at end of file diff --git a/content/nginxaas-azure/monitoring/enable-logging/logging-using-cli.md b/content/nginxaas-azure/monitoring/enable-logging/logging-using-cli.md index ac675e393..f2e9c9081 100644 --- a/content/nginxaas-azure/monitoring/enable-logging/logging-using-cli.md +++ b/content/nginxaas-azure/monitoring/enable-logging/logging-using-cli.md @@ -51,6 +51,8 @@ To view the supported log categories for an NGINXaaS resource, use the following az monitor diagnostic-settings list --resource ``` +As NGINXaaS logs are stored in your storage, you can define the retention policy most appropriate for your needs. + ### Analyzing NGINX logs in Azure Storage {{< include "/nginxaas-azure/logging-analysis-azure-storage.md" >}} diff --git a/content/nginxaas-azure/monitoring/enable-logging/logging-using-portal.md b/content/nginxaas-azure/monitoring/enable-logging/logging-using-portal.md index 0254c1908..59be2a8b3 100644 --- a/content/nginxaas-azure/monitoring/enable-logging/logging-using-portal.md +++ b/content/nginxaas-azure/monitoring/enable-logging/logging-using-portal.md @@ -46,6 +46,8 @@ Enabling logs using the **NGINX Logs** blade on your NGINXaaS deployment is now {{< img src="nginxaas-azure/diagnostic-settings.png" alt="Screenshot of the Diagnostic Settings configuration page" >}} +As NGINXaaS logs are stored in your storage, you can define the retention policy most appropriate for your needs. + For more information about diagnostic settings destinations, please see the [Diagnostic Settings Destinations](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings#destinations) documentation. {{}}Due to limitations imposed by Azure, if the destination chosen is an Azure Storage account, the resource has to be in the same region as the NGINXaaS deployment resource. diff --git a/content/nginxaas-azure/monitoring/enable-logging/logging-using-terraform.md b/content/nginxaas-azure/monitoring/enable-logging/logging-using-terraform.md index 3565d5ca5..059e1c642 100644 --- a/content/nginxaas-azure/monitoring/enable-logging/logging-using-terraform.md +++ b/content/nginxaas-azure/monitoring/enable-logging/logging-using-terraform.md @@ -40,6 +40,8 @@ terraform plan -var="storage_account_resource_group=myresourcegroup" -var="stora terraform apply plan.cache ``` +As NGINXaaS logs are stored in your storage, you can define the retention policy most appropriate for your needs. + {{}}Due to limitations imposed by Azure, if the destination chosen is an Azure Storage account, the resource has to be in the same region as the NGINXaaS deployment resource. {{}} diff --git a/content/nginxaas-azure/monitoring/enable-monitoring.md b/content/nginxaas-azure/monitoring/enable-monitoring.md index 7eb579cee..c4bc181d2 100644 --- a/content/nginxaas-azure/monitoring/enable-monitoring.md +++ b/content/nginxaas-azure/monitoring/enable-monitoring.md @@ -8,7 +8,7 @@ type: - how-to --- -Monitoring your application's performance is crucial for maintaining its reliability and efficiency. F5 NGINX as a Service for Azure (NGINXaaS) seamlessly integrates with Azure Monitor, allowing you to collect, correlate, and analyze metrics for a thorough understanding of your application's health and behavior. +Monitoring your application's performance is crucial for maintaining its reliability and efficiency. F5 NGINX as a Service for Azure (NGINXaaS) seamlessly integrates with Azure Monitor, allowing you to collect, correlate, and analyze metrics for a thorough understanding of your application's health and behavior. Refer to the [Azure monitor overview](https://docs.microsoft.com/en-us/azure/azure-monitor/overview) documentation from Microsoft to learn more about Azure Monitor. @@ -34,7 +34,19 @@ To configure diagnostic settings for a service, see [Create diagnostic settings Azure Monitor platform metrics are ingested and stored free of charge, with a standard retention period of 93 days. Adding alerts, querying Azure Monitor using REST API or exporting metrics using Azure Monitor's diagnostic settings would incurs costs. For detailed pricing, you can refer to the [Azure Monitor pricing page](https://azure.microsoft.com/en-us/pricing/details/monitor/). -## View metrics with Azure Monitor metrics explorer +## Review metrics + +Once you have enabled monitoring, you can view the metrics using the Azure portal or the Azure Monitor API. + +{{< note >}} NGINX Agent periodically gathers connection and request statistics using an internal HTTP request. An Azure service health probe checks for status using a TCP connection for each listen port in the NGINX configuration, incrementing the connection count for each port. + +This contributes to minimal traffic and should not affect these metrics significantly, but you might see an unexpected number of connections and requests.{{}} + +{{< important >}}If some of your deployment's metrics are intermittently missing in Azure monitor, it may indicate that the underlying resources for your deployment are being exhausted. + +Monitor the `nginxaas.capacity.percentage` metric to see the deployment's resource utilization. If it's nearing 100%, consider increasing the deployment's NCU capacity. See the [Scaling Guidance]({{< ref "/nginxaas-azure/quickstart/scaling.md" >}}) documentation for more information.{{}} + +### View metrics with Azure Monitor metrics explorer Access the [Microsoft Azure portal](https://portal.azure.com) @@ -45,7 +57,7 @@ Refer to the [Azure Monitor metrics explorer](https://docs.microsoft.com/en-us/a {{}}Many of NGINX Plus's advanced statistics need to be enabled in the "nginx.conf" file before they will appear in the metrics explorer, for example "plus.http.request.bytes_*". Refer to [Gathering Data to Appear in Statistics](https://docs.nginx.com/nginx/admin-guide/monitoring/live-activity-monitoring/#gathering-data-to-appear-in-statistics) to learn more.{{}} -## Retrieve metrics through Azure Monitor REST API +### Retrieve metrics through Azure Monitor API This section shows you how to effectively discover, gather and analyze NGINXaaS metrics through the Azure Monitor REST API. diff --git a/content/nginxaas-azure/overview/overview.md b/content/nginxaas-azure/overview/overview.md index c06b74a5e..336bee241 100644 --- a/content/nginxaas-azure/overview/overview.md +++ b/content/nginxaas-azure/overview/overview.md @@ -13,9 +13,11 @@ type: NGINX as a Service for Azure is a service offering that is tightly integrated into Microsoft Azure public cloud and its ecosystem, making applications fast, efficient, and reliable with full lifecycle management of advanced NGINX traffic services. NGINXaaS for Azure is available in the Azure Marketplace. -NGINXaaS for Azure is powered by [NGINX Plus](https://www.nginx.com/products/nginx/), which extends NGINX Open Source with advanced functionality and provides customers with a complete application delivery solution. Initial use cases covered by NGINXaaS include L7 HTTP load balancing and reverse proxy which can be managed through various Azure management tools. +NGINXaaS for Azure is powered by [NGINX Plus](https://www.nginx.com/products/nginx/), which extends NGINX Open Source with advanced functionality and provides customers with a complete application delivery solution. Initial use cases covered by NGINXaaS include L4 TCP and L7 HTTP load balancing and reverse proxy which can be managed through various Azure management tools. NGINXaaS allows you to provision distinct deployments as per your business or technical requirements. +NGINXaaS handles the NGINX Plus license management automatically. + ## Capabilities The key capabilities of NGINXaaS for Azure are: @@ -27,6 +29,16 @@ The key capabilities of NGINXaaS for Azure are: - Integrates with the Azure ecosystem (Microsoft Entra, Azure Key Vault, and Azure Monitor). - Addresses a wide range of deployment scenarios (HTTP reverse proxy, JWT authentication, etc). - Adopts a consumption-based pricing to align infrastructure costs to actual usage by billing transactions using Azure. +- Supports end-to-end encryption from client to upstream server. +- Supports the following protocols: HTTPS, HTTP, HTTP/2, HTTP/3, TCP, QUIC, IMAP, POP3, and SMTP. +- Supports any type of message body for upstream and error status code responses, including text/plain, text/css, text/html, application/javascript, and application/json. + + +## Limitations + +- NGINXaaS does not support IPv6 yet. +- NGINXaaS supports one public or private IP per deployment. NGINXaaS doesn't support a mix of public and private IPs at this time. +- The IP address associated with an NGINXaaS deployment can't be changed from public to private, or from private to public. ## Supported regions @@ -44,6 +56,10 @@ NGINXaaS for Azure is supported in the following regions: - Azure management tools (API, CLI, portal, terraform) work with NGINXaaS to create, update, and delete deployments - Each NGINXaaS deployment has dedicated network and compute resources. There is no possibility of [noisy neighbor problems](https://learn.microsoft.com/en-us/azure/architecture/antipatterns/noisy-neighbor/noisy-neighbor) or data leakage between deployments +- NGINXaaS can route traffic to upstreams even if the upstream servers are located in different geographies. See [Known Issues]({{< ref "/nginxaas-azure/known-issues.md" >}}) for any networking restrictions. +- NGINXaaS supports request tracing. See the [Application Performance Management with NGINX Variables](https://www.f5.com/company/blog/nginx/application-tracing-nginx-plus) blog to learn more about tracing. +- Supports HTTP to HTTPS, HTTPS to HTTP, and HTTP to HTTP redirects. NGINXaaS also provides the ability to create new rules for redirecting. See [How to Create NGINX Rewrite Rules | NGINX](https://www.nginx.com/blog/creating-nginx-rewrite-rules/) for more details. +- NGINXaaS is deployed inside of your Azure network and can connect to your upstream application running in your ecosystem. Known networking limitations can be found in the [Known Issues]({{< ref "/nginxaas-azure/known-issues.md" >}}). ### Redundancy @@ -60,9 +76,9 @@ With the Standard V2 Plan, NGINXaaS uses the following redundancy features to ke {{< img src="nginxaas-azure/n4a-data-plane-architecture.svg" alt="The diagram illustrates the architecture of F5 NGINXaaS for Azure, showing end users accessing a public IP that routes through a network security group within a customer's Azure subscription. This leads to a delegated subnet in a virtual network, which connects to a zone-redundant load balancer within the NGINXaaS subscription. The load balancer distributes traffic across NGINX Plus instances in multiple availability zones, ensuring scalability and redundancy." >}} -NGINXaaS uses new Azure networking capabilities to keep end-user traffic private. Each NGINX Plus instance passes traffic to downstream services using an elastic network card (NIC) that exists inside your subscription. These NICs are injected into a delegated virtual network. A network security group controls traffic to your NGINX Plus instances. - -NGINX Plus instances are automatically upgraded to receive security patches and the latest stable NGINX Plus version. +- NGINXaaS uses new Azure networking capabilities to keep end-user traffic private. A network security group ensures that the deployment is secured and inbound connections are allowed to the ports the NGINX service listens to. +- You can restrict access to NGINXaaS by defining restriction rules at the Network Security Group level or using NGINX's access control list. To learn more, see the [NGINX module ngx_http_access_module](http://nginx.org/en/docs/http/ngx_http_access_module.html) documentation. +- NGINXaaS deployment is automatically upgraded to receive security patches and the latest stable NGINX Plus version. ## What's next diff --git a/content/nginxaas-azure/quickstart/scaling.md b/content/nginxaas-azure/quickstart/scaling.md index dc77a733c..05f9d1608 100644 --- a/content/nginxaas-azure/quickstart/scaling.md +++ b/content/nginxaas-azure/quickstart/scaling.md @@ -33,8 +33,10 @@ To update the capacity of your deploymentv using the Azure Portal, 1. Select **NGINXaaS scaling** in the left menu. 1. Select `Manual`. - 1. Set the desired number of NCUs. - 1. Click **Submit** to update your deployment. + 1. Set the desired number of NCUs. Scale increases in 10 NCU intervals (10, 20, 30, and so on). + 1. Select **Submit** to update your deployment. + + {{< note >}}There's no downtime while an NGINXaaS deployment changes capacity.{{< /note >}} ## Autoscaling @@ -47,7 +49,7 @@ To enable autoscaling using the Azure Portal, 1. Select **NGINXaaS scaling** in the left menu. 1. Select `Autoscale`. 1. Specify the minimum and maximum NCU count. - 1. Click **Submit** to enable NGINXaaS deployment autoscaling. + 1. Select **Submit** to enable NGINXaaS deployment autoscaling. ### Scaling rules diff --git a/content/nginxaas-azure/troubleshooting/_index.md b/content/nginxaas-azure/troubleshooting/_index.md deleted file mode 100644 index 4fb189898..000000000 --- a/content/nginxaas-azure/troubleshooting/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Troubleshooting -weight: 700 -url: /nginxaas/azure/troubleshooting/ ---- From 86716ad298e3e0c34c207a497fc4e420f3946aa6 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Thu, 29 May 2025 09:09:15 -0700 Subject: [PATCH 206/723] Removed unneeded R33 layouts and migrate to theme (#583) * feat: Removed unneeded R33 layouts and migrate to theme * Refactored controller + mesh * Removed list-main + moved to theme instead * Updated to use md + removed html files * Changed to top level folder to use readFile * Update banner messages --- _banners/eos-cltr.md | 8 ++ _banners/eos-mesh.md | 8 ++ _banners/upgrade-r33.md | 5 + content/controller/_index.md | 5 +- content/mesh/_index.md | 7 +- content/nim/deploy/_index.md | 5 +- layouts/acm-eos/list.html | 10 -- layouts/acm-eos/single.html | 48 --------- layouts/ctlr-eos/list.html | 10 -- layouts/ctlr-eos/single.html | 49 --------- layouts/mesh-eos/list.html | 10 -- layouts/mesh-eos/single.html | 48 --------- layouts/nim-r33/list.html | 10 -- layouts/nim-r33/single.html | 55 ----------- layouts/partials/ctlr-eos/list-main.html | 57 ----------- layouts/partials/list-main.html | 99 ------------------- layouts/partials/mesh-eos/list-main.html | 52 ---------- .../list-main.html | 57 ----------- .../partials/r33-pre-release/list-main.html | 55 ----------- layouts/r33-pre-release/list.html | 10 -- 20 files changed, 34 insertions(+), 574 deletions(-) create mode 100644 _banners/eos-cltr.md create mode 100644 _banners/eos-mesh.md create mode 100644 _banners/upgrade-r33.md delete mode 100644 layouts/acm-eos/list.html delete mode 100644 layouts/acm-eos/single.html delete mode 100644 layouts/ctlr-eos/list.html delete mode 100644 layouts/ctlr-eos/single.html delete mode 100644 layouts/mesh-eos/list.html delete mode 100644 layouts/mesh-eos/single.html delete mode 100644 layouts/nim-r33/list.html delete mode 100644 layouts/nim-r33/single.html delete mode 100644 layouts/partials/ctlr-eos/list-main.html delete mode 100644 layouts/partials/list-main.html delete mode 100644 layouts/partials/mesh-eos/list-main.html delete mode 100644 layouts/partials/nim-r33-version-requirement/list-main.html delete mode 100644 layouts/partials/r33-pre-release/list-main.html delete mode 100644 layouts/r33-pre-release/list.html diff --git a/_banners/eos-cltr.md b/_banners/eos-cltr.md new file mode 100644 index 000000000..f6d42480a --- /dev/null +++ b/_banners/eos-cltr.md @@ -0,0 +1,8 @@ +{{< banner "warning" "End of Sale Notice:" >}} +
      + F5 NGINX is announcing the End of Sale (EoS) for NGINX Controller Application Delivery Module, effective January 1, 2024. +

      + F5 maintains generous lifecycle policies that allow customers to continue support and receive product updates. Existing NGINX Controller Application Delivery customers can continue to use the product past the EoS date. License renewals are not available after September 30, 2024. +

      + See our End of Sale announcement for more details +{{}} \ No newline at end of file diff --git a/_banners/eos-mesh.md b/_banners/eos-mesh.md new file mode 100644 index 000000000..e69f51b6b --- /dev/null +++ b/_banners/eos-mesh.md @@ -0,0 +1,8 @@ +{{< banner "warning" "End of Sale Notice:" >}} +
      + F5 NGINX is announcing the End of Sale (EoS) for NGINX Management Suite API Connectivity Manager Module, effective January 1, 2024. +

      + F5 maintains generous lifecycle policies that allow customers to continue support and receive product updates. Existing API Connectivity Manager Module customers can continue to use the product past the EoS date. License renewals are not available after September 30, 2024. +

      + See our End of Sale announcement for more details. +{{}} \ No newline at end of file diff --git a/_banners/upgrade-r33.md b/_banners/upgrade-r33.md new file mode 100644 index 000000000..97cb82155 --- /dev/null +++ b/_banners/upgrade-r33.md @@ -0,0 +1,5 @@ +{{< banner "caution" "NGINX Plus R33 requires NGINX Instance Manager 2.18 or later" >}} + If your NGINX data plane instances are running NGINX Plus R33 or later, you must upgrade to NGINX Instance Manager 2.18 or later to support usage reporting. NGINX Plus R33 instances must report usage data to the F5 licensing endpoint or NGINX Instance Manager. Otherwise, they will stop processing traffic. +

      + For more details about usage reporting and enforcement, see [About solution licenses](../../../../solutions/about-subscription-licenses) +{{}} \ No newline at end of file diff --git a/content/controller/_index.md b/content/controller/_index.md index aa1b6c3da..e14138efd 100644 --- a/content/controller/_index.md +++ b/content/controller/_index.md @@ -5,8 +5,11 @@ title: F5 NGINX Controller weight: 2100 cascade: logo: "NGINX-Controller-product-icon-RGB.svg" - type: "ctlr-eos" noindex: true + banner: + enabled: true + type: deprecation + md: _banners/eos-cltr.md url: /nginx-controller/ --- diff --git a/content/mesh/_index.md b/content/mesh/_index.md index c30b9c2f1..5cda71545 100644 --- a/content/mesh/_index.md +++ b/content/mesh/_index.md @@ -5,9 +5,12 @@ description: 'NGINX Service Mesh is a fully integrated lightweight service mesh environments. ' +url: /nginx-service-mesh/ cascade: - type: mesh-eos noindex: true -url: /nginx-service-mesh/ + banner: + enabled: true + type: deprecation + md: _banners/eos-mesh.md --- diff --git a/content/nim/deploy/_index.md b/content/nim/deploy/_index.md index 6b3a1c0b8..0cd726566 100644 --- a/content/nim/deploy/_index.md +++ b/content/nim/deploy/_index.md @@ -4,5 +4,8 @@ description: weight: 20 url: /nginx-instance-manager/deploy/ cascade: - type: "nim-r33" + banner: + enabled: true + type: deprecation + md: _banners/upgrade-r33.md --- \ No newline at end of file diff --git a/layouts/acm-eos/list.html b/layouts/acm-eos/list.html deleted file mode 100644 index 5bad9d4cc..000000000 --- a/layouts/acm-eos/list.html +++ /dev/null @@ -1,10 +0,0 @@ -{{ define "main" }} -
      - -
      - {{ partial "acm-eos/list-main" . }} -
      -
      -{{ end }} diff --git a/layouts/acm-eos/single.html b/layouts/acm-eos/single.html deleted file mode 100644 index 1e2abd112..000000000 --- a/layouts/acm-eos/single.html +++ /dev/null @@ -1,48 +0,0 @@ -{{ define "main" }} -
      - - - {{if (.Params.catalog) }} -
      - {{ else if and (gt .WordCount 200 ) (.Params.toc) }} -
      - {{ else }} -
      - {{ end }} - -
      -
      - End of Sale Notice:

      F5 NGINX is announcing the End of Sale (EoS) for NGINX Management Suite API Connectivity Manager Module, effective January 1, 2024.

      F5 maintains generous lifecycle policies that allow customers to continue support and receive product updates. Existing API Connectivity Manager Module customers can continue to use the product past the EoS date. License renewals are not available after September 30, 2024.

      See our End of Sale announcement for more details. -
      -
      - -

      {{ .Title }}

      - - {{ if eq .Page.Draft true }}{{ partial "draft-badge.html" . }}{{ end }} - {{ if .Description }}

      {{ .Description | markdownify }}

      {{ end}} - - {{ if in .Params.doctypes "beta" }}{{ partial "beta-badge" . }}{{ end }} - - {{ .Content }} - {{ partial "version-list" . }} -
      - {{ partial "previous-next-links-in-section-with-title.html" . }} - -
      - {{ if and (gt .WordCount 200 ) (.Params.toc) }} - {{ if (add (len (findRE " - {{ partial "toc.html" . }} -
      - {{ end }} - {{ end }} -
      - -{{if .Params.script}} - {{ $script := (delimit (slice "scripts" .Params.script) "/")}} - {{ partial (string $script) .}} -{{end }} - -{{ end }} diff --git a/layouts/ctlr-eos/list.html b/layouts/ctlr-eos/list.html deleted file mode 100644 index ba5487fb2..000000000 --- a/layouts/ctlr-eos/list.html +++ /dev/null @@ -1,10 +0,0 @@ -{{ define "main" }} -
      - -
      - {{ partial "ctlr-eos/list-main" . }} -
      -
      -{{ end }} diff --git a/layouts/ctlr-eos/single.html b/layouts/ctlr-eos/single.html deleted file mode 100644 index 9b2b667f5..000000000 --- a/layouts/ctlr-eos/single.html +++ /dev/null @@ -1,49 +0,0 @@ -{{ define "main" }} -
      - - - {{if (.Params.catalog) }} - c
      - {{ else if and (gt .WordCount 200 ) (.Params.toc) }} -
      - {{ else }} -
      - {{ end }} - -
      -
      End of Sale Notice:

      F5 NGINX is announcing the End of Sale (EoS) for NGINX Controller API Management Module, effective January 1, 2024.

      F5 maintains generous lifecycle policies that allow customers to continue support and receive product updates. Existing NGINX Controller API- Management customers can continue to use the product past the EoS date. License renewals are not available after September 30, 2024.

      See our End of Sale announcement for more details. -
      -
      -
      End of Sale Notice:

      F5 NGINX is announcing the End of Sale (EoS) for NGINX Controller Application Delivery Module, effective January 1, 2024.

      F5 maintains generous lifecycle policies that allow customers to continue support and receive product updates. Existing NGINX Controller Application Delivery customers can continue to use the product past the EoS date. License renewals are not available after September 30, 2024.

      See our End of Sale announcement for more details.
      -
      - -

      {{ .Title }}

      - - {{ if eq .Page.Draft true }}{{ partial "draft-badge.html" . }}{{ end }} - {{ if .Description }}

      {{ .Description | markdownify }}

      {{ end}} - - {{ if in .Params.doctypes "beta" }}{{ partial "beta-badge" . }}{{ end }} - - {{ .Content }} - {{ partial "version-list" . }} -
      - {{ partial "previous-next-links-in-section-with-title.html" . }} - -
      - {{ if and (gt .WordCount 200 ) (.Params.toc) }} - {{ if (add (len (findRE " - {{ partial "toc.html" . }} -
      - {{ end }} - {{ end }} -
      - -{{if .Params.script}} - {{ $script := (delimit (slice "scripts" .Params.script) "/")}} - {{ partial (string $script) .}} -{{end }} - -{{ end }} diff --git a/layouts/mesh-eos/list.html b/layouts/mesh-eos/list.html deleted file mode 100644 index e0ab6dc84..000000000 --- a/layouts/mesh-eos/list.html +++ /dev/null @@ -1,10 +0,0 @@ -{{ define "main" }} -
      - -
      - {{ partial "mesh-eos/list-main" . }} -
      -
      -{{ end }} diff --git a/layouts/mesh-eos/single.html b/layouts/mesh-eos/single.html deleted file mode 100644 index 17226155e..000000000 --- a/layouts/mesh-eos/single.html +++ /dev/null @@ -1,48 +0,0 @@ -{{ define "main" }} -
      - - - {{if (.Params.catalog) }} - c
      - {{ else if and (gt .WordCount 200 ) (.Params.toc) }} -
      - {{ else }} -
      - {{ end }} - -
      -
      End of Sale Notice:

      Commercial support for NGINX Service Mesh is available to customers who currently have active NGINX Microservices Bundle subscriptions. - F5 NGINX announced the End of Sale (EoS) for the NGINX Microservices Bundles as of July 1, 2023.

      - See our End of Sale announcement for more details. -
      - -

      {{ .Title }}

      - - {{ if eq .Page.Draft true }}{{ partial "draft-badge.html" . }}{{ end }} - {{ if .Description }}

      {{ .Description | markdownify }}

      {{ end}} - - {{ if in .Params.doctypes "beta" }}{{ partial "beta-badge" . }}{{ end }} - - {{ .Content }} - {{ partial "version-list" . }} -
      - {{ partial "previous-next-links-in-section-with-title.html" . }} - -
      - {{ if and (gt .WordCount 200 ) (.Params.toc) }} - {{ if (add (len (findRE " - {{ partial "toc.html" . }} -
      - {{ end }} - {{ end }} -
      - -{{if .Params.script}} - {{ $script := (delimit (slice "scripts" .Params.script) "/")}} - {{ partial (string $script) .}} -{{end }} - -{{ end }} diff --git a/layouts/nim-r33/list.html b/layouts/nim-r33/list.html deleted file mode 100644 index c09239887..000000000 --- a/layouts/nim-r33/list.html +++ /dev/null @@ -1,10 +0,0 @@ -{{ define "main" }} -
      - -
      - {{ partial "nim-r33-version-requirement/list-main" . }} -
      -
      -{{ end }} diff --git a/layouts/nim-r33/single.html b/layouts/nim-r33/single.html deleted file mode 100644 index 9c3540ef8..000000000 --- a/layouts/nim-r33/single.html +++ /dev/null @@ -1,55 +0,0 @@ -{{ define "main" }} -
      - - - {{if (.Params.catalog) }} -
      - {{ else if and (gt .WordCount 200 ) (.Params.toc) }} -
      - {{ else }} -
      - {{ end }} - -
      -
      - Important: NGINX Plus R33 requires NGINX Instance Manager 2.18 or later -
      - To ensure uninterrupted traffic processing, upgrade to NGINX Instance Manager 2.18 or later if your NGINX data plane instances are running NGINX Plus R33. This upgrade is necessary to support usage reporting. -

      - NGINX Plus R33 instances must send usage data to the F5 licensing endpoint or NGINX Instance Manager. If they don’t, they will stop processing traffic. -

      - For more information about usage reporting and enforcement, see - About solution licenses. -
      -
      - -

      {{ .Title }}

      - - {{ if eq .Page.Draft true }}{{ partial "draft-badge.html" . }}{{ end }} - {{ if .Description }}

      {{ .Description | markdownify }}

      {{ end}} - - {{ if in .Params.doctypes "beta" }}{{ partial "beta-badge" . }}{{ end }} - - {{ .Content }} - {{ partial "version-list" . }} -
      - {{ partial "previous-next-links-in-section-with-title.html" . }} - -
      - {{ if and (gt .WordCount 200 ) (.Params.toc) }} - {{ if (add (len (findRE " - {{ partial "toc.html" . }} -
      - {{ end }} - {{ end }} -

      - -{{if .Params.script}} - {{ $script := (delimit (slice "scripts" .Params.script) "/")}} - {{ partial (string $script) .}} -{{end }} - -{{ end }} diff --git a/layouts/partials/ctlr-eos/list-main.html b/layouts/partials/ctlr-eos/list-main.html deleted file mode 100644 index 5393d4787..000000000 --- a/layouts/partials/ctlr-eos/list-main.html +++ /dev/null @@ -1,57 +0,0 @@ -
      -
      - -
      - -
      -
      -
      - {{ range .Pages.GroupBy "Section" }} - - {{ range .Pages.ByWeight }} -
      -
      -

      - - {{ .Title }} -

      - {{/*}}

      - {{ if .Description }}{{ .Description | markdownify }}{{ end }} -

      {{*/}} - -
      -
      - - {{ end }} -
      -
      - {{ end }} - - -
      - -
      \ No newline at end of file diff --git a/layouts/partials/list-main.html b/layouts/partials/list-main.html deleted file mode 100644 index d9e123c6f..000000000 --- a/layouts/partials/list-main.html +++ /dev/null @@ -1,99 +0,0 @@ -{{/* TODO: Delete this page, and use the one from nginx-hugo-them */}} -
      - {{ $PageTitle := .Title }} -
      - -
      - - {{ if or (lt .WordCount 1) (eq $PageTitle "F5 NGINX One Console") (eq $PageTitle "F5 NGINX App Protect DoS") (eq $PageTitle "F5 NGINX Plus") }} -
      -
      -
      - {{ range .Pages.GroupBy "Section" }} - {{ range .Pages.ByWeight }} -
      -
      -

      - - {{ .Title }} -

      - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "How-to guides") }} -
        - {{ range .Pages }} - {{ if eq .Kind "section" }} - {{ range .Pages }} -
      • {{ .Title }}
      • - {{ end }} - {{ end }} - {{ end }} -
      - {{ end }} - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "API")}} - - {{ end }} - {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Changelog") }} - {{ partial "changelog-date.html" . }} - {{ end }} -
      -
      - {{ end }} - {{ end }} -
      - {{ if eq $PageTitle "F5 NGINX One Console" }} -

      Other Products

      - {{ $nginxProducts := slice - (dict "title" "NGINX Instance Manager" "url" "/nginx-instance-manager" "imgSrc" "NGINX-Instance-Manager-product-icon" "type" "local-console-option" "description" "Track and control NGINX Open Source and NGINX Plus instances.") - (dict "title" "NGINX Ingress Controller" "url" "/nginx-ingress-controller" "imgSrc" "NGINX-Ingress-Controller-product-icon" "type" "kubernetes-solutions" "description" "Kubernetes traffic management with API gateway, identity, and observability features.") - (dict "title" "NGINX Gateway Fabric" "url" "/nginx-gateway-fabric" "imgSrc" "NGINX-product-icon" "type" "kubernetes-solutions" "description" "Next generation Kubernetes connectivity using the Gateway API.") - (dict "title" "NGINX App Protect WAF" "url" "/nginx-app-protect-waf" "imgSrc" "NGINX-App-Protect-WAF-product-icon" "type" "security" "description" "Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs.") - (dict "title" "NGINX App Protect DoS" "url" "/nginx-app-protect-dos" "imgSrc" "NGINX-App-Protect-DoS-product-icon" "type" "security" "description" "Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs.") - (dict "title" "NGINX Plus" "url" "/nginx" "imgSrc" "NGINX-Plus-product-icon-RGB" "type" "modern-app-delivery" "description" "The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway.") - (dict "title" "NGINX Open Source" "url" "https://nginx.org/en/docs/" "imgSrc" "NGINX-product-icon" "type" "modern-app-delivery" "description" "The open source all-in-one load balancer, content cache, and web server") - }} - {{ $groupedProducts := dict - "local-console-option" (where $nginxProducts "type" "local-console-option") - "kubernetes-solutions" (where $nginxProducts "type" "kubernetes-solutions") - "security" (where $nginxProducts "type" "security") - "modern-app-delivery" (where $nginxProducts "type" "modern-app-delivery") - }} - {{ range $type, $products := $groupedProducts }} -
      -

      {{ $type | humanize | title }}

      - {{ range $products }} -
      -
      -

      - - {{ .title }} -

      -

      - {{ if .description }}{{ .description | markdownify }}{{ end }} -

      -
      -
      - {{ end }} -
      - {{ end }} - {{ end }} -
      -
      - {{end}} -
      \ No newline at end of file diff --git a/layouts/partials/mesh-eos/list-main.html b/layouts/partials/mesh-eos/list-main.html deleted file mode 100644 index 5fc136e7f..000000000 --- a/layouts/partials/mesh-eos/list-main.html +++ /dev/null @@ -1,52 +0,0 @@ -
      -
      - -
      - -
      -
      -
      - {{ range .Pages.GroupBy "Section" }} - - {{ range .Pages.ByWeight }} -
      -
      -

      - - {{ .Title }} -

      - {{/*}}

      - {{ if .Description }}{{ .Description | markdownify }}{{ end }} -

      {{*/}} - -
      -
      - - {{ end }} -
      -
      - {{ end }} - - -
      - -
      \ No newline at end of file diff --git a/layouts/partials/nim-r33-version-requirement/list-main.html b/layouts/partials/nim-r33-version-requirement/list-main.html deleted file mode 100644 index fa76a0685..000000000 --- a/layouts/partials/nim-r33-version-requirement/list-main.html +++ /dev/null @@ -1,57 +0,0 @@ -
      -
      - -
      - -
      -
      -
      - {{ range .Pages.GroupBy "Section" }} - - {{ range .Pages.ByWeight }} -
      -
      -

      - - {{ .Title }} -

      - {{/*}}

      - {{ if .Description }}{{ .Description | markdownify }}{{ end }} -

      {{*/}} - -
      -
      - - {{ end }} -
      -
      - {{ end }} - - -
      - -
      \ No newline at end of file diff --git a/layouts/partials/r33-pre-release/list-main.html b/layouts/partials/r33-pre-release/list-main.html deleted file mode 100644 index e7d71876d..000000000 --- a/layouts/partials/r33-pre-release/list-main.html +++ /dev/null @@ -1,55 +0,0 @@ -
      -
      - -
      - -
      -
      -
      - {{ range .Pages.GroupBy "Section" }} - - {{ range .Pages.ByWeight }} -
      -
      -

      - - {{ .Title }} -

      - {{/*}}

      - {{ if .Description }}{{ .Description | markdownify }}{{ end }} -

      {{*/}} - -
      -
      - - {{ end }} -
      -
      - {{ end }} - - -
      - -
      \ No newline at end of file diff --git a/layouts/r33-pre-release/list.html b/layouts/r33-pre-release/list.html deleted file mode 100644 index fda20e8fe..000000000 --- a/layouts/r33-pre-release/list.html +++ /dev/null @@ -1,10 +0,0 @@ -{{ define "main" }} -
      - -
      - {{ partial "r33-pre-release/list-main" . }} -
      -
      -{{ end }} From 9398fa2433de21c542058df4935f22a5a35a1a80 Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Thu, 29 May 2025 10:55:56 -0700 Subject: [PATCH 207/723] Fix inaccurate statement (#626) --- .../how-to/staged-configs/import-export-staged-config.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/nginx-one/how-to/staged-configs/import-export-staged-config.md b/content/nginx-one/how-to/staged-configs/import-export-staged-config.md index 192fad4c4..cbb77d2d5 100644 --- a/content/nginx-one/how-to/staged-configs/import-export-staged-config.md +++ b/content/nginx-one/how-to/staged-configs/import-export-staged-config.md @@ -36,8 +36,6 @@ When you work with such archives, consider the following: - Do _not_ unpack archives directly to your NGINX configuration directories. You do not want to accidentally overwrite existing configuration files. - The files are set to a default file permission mode of 0644. - Do not include files with secrets or personally identifying information. -- We ignore hidden files. - - If you import or export such files in archives, NGINX One Console does not include those files. - The size of the archive is limited to 5 MB. The size of all uncompressed files in the archive is limited to 10 MB. {{< tip >}} From 0be97114d93be0f44acff8711f31bf0b6448dd94 Mon Sep 17 00:00:00 2001 From: Travis Martin <33876974+travisamartin@users.noreply.github.com> Date: Thu, 29 May 2025 16:31:59 -0700 Subject: [PATCH 208/723] applied nb shortcode for non-breaking spaces and hyphens (#627) --- ...stalling-nginx-plus-amazon-web-services.md | 4 +- .../monitoring/new-relic-plugin.md | 4 +- .../high-availability-keepalived.md | 18 +- ...high-availability-network-load-balancer.md | 4 +- ...-controller-elastic-kubernetes-services.md | 4 +- .../route-53-global-server-load-balancing.md | 82 ++-- .../ns1-global-server-load-balancing.md | 20 +- .../high-availability-all-active.md | 376 +++++++++--------- .../load-balance-third-party/apache-tomcat.md | 16 +- .../microsoft-exchange.md | 20 +- .../load-balance-third-party/node-js.md | 14 +- .../oracle-e-business-suite.md | 8 +- .../oracle-weblogic-server.md | 16 +- .../load-balance-third-party/wildfly.md | 8 +- ...igh-availability-standard-load-balancer.md | 54 +-- .../virtual-machines-for-nginx.md | 44 +- .../citrix-adc-configuration.md | 2 +- .../f5-big-ip-configuration.md | 2 +- .../nginx-plus-high-availability-chef.md | 24 +- .../setting-up-nginx-demo-environment.md | 2 +- .../active-directory-federation-services.md | 12 +- .../single-sign-on/oidc-njs/cognito.md | 34 +- .../single-sign-on/oidc-njs/keycloak.md | 14 +- .../single-sign-on/oidc-njs/onelogin.md | 10 +- .../single-sign-on/oidc-njs/ping-identity.md | 26 +- go.mod | 2 +- go.sum | 2 + 27 files changed, 412 insertions(+), 410 deletions(-) diff --git a/content/nginx/admin-guide/installing-nginx/installing-nginx-plus-amazon-web-services.md b/content/nginx/admin-guide/installing-nginx/installing-nginx-plus-amazon-web-services.md index 88cd20853..66a814d97 100644 --- a/content/nginx/admin-guide/installing-nginx/installing-nginx-plus-amazon-web-services.md +++ b/content/nginx/admin-guide/installing-nginx/installing-nginx-plus-amazon-web-services.md @@ -30,8 +30,8 @@ To quickly set up an NGINX Plus environment on AWS: Click the **Continue to Subscribe** button to proceed to the **Launch on EC2** page. -3. Select the type of launch by clicking the appropriate tab (**1‑Click Launch***, **Manual Launch**, or **Service Catalog**). Choose the desired options for billing, instance size, and so on, and click the **Accept Software Terms…** button. -4. When configuring the firewall rules, add a rule to accept web traffic on TCP ports 80 and 443 (this happens automatically if you launch from the **1‑Click Launch** tab). +3. Select the type of launch by clicking the appropriate tab ({{}}**1-Click Launch**{{}}, {{}}**Manual Launch**{{}}, or {{}}**Service Catalog**{{}}). Choose the desired options for billing, instance size, and so on, and click the {{}}**Accept Software Terms…**{{}} button. +4. When configuring the firewall rules, add a rule to accept web traffic on TCP ports 80 and 443 (this happens automatically if you launch from the {{}}**1-Click Launch**{{}} tab). 5. As soon as the new EC2 instance launches, NGINX Plus starts automatically and serves a default **index.html** page. To view the page, use a web browser to access the public DNS name of the new instance. You can also check the status of the NGINX Plus server by logging into the EC2 instance and running this command: ```nginx diff --git a/content/nginx/admin-guide/monitoring/new-relic-plugin.md b/content/nginx/admin-guide/monitoring/new-relic-plugin.md index b56831edb..e22e19f44 100644 --- a/content/nginx/admin-guide/monitoring/new-relic-plugin.md +++ b/content/nginx/admin-guide/monitoring/new-relic-plugin.md @@ -33,7 +33,7 @@ Download the [plug‑in and installation instructions](https://docs.newrelic.com ## Configuring the Plug‑In -The configuration file for the NGINX plug‑in is **/etc/nginx‑nr‑agent/nginx‑nr‑agent.ini**. The minimal configuration includes: +The configuration file for the NGINX plug‑in is {{}}**/etc/nginx-nr-agent/nginx-nr-agent.ini**{{}}. The minimal configuration includes: - Your New Relic license key in the `newrelic_license_key` statement in the `global` section. @@ -44,7 +44,7 @@ The configuration file for the NGINX plug‑in is **/etc/nginx‑nr‑ag You can include the optional `http_user` and `http_pass` statements to set HTTP basic authentication credentials in cases where the corresponding location is protected by the NGINX [auth_basic](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html#auth_basic) directive. -The default log file is **/var/log/nginx‑nr‑agent.log**. +The default log file is {{}}**/var/log/nginx-nr-agent.log**{{}}. ## Running the Plug‑In diff --git a/content/nginx/deployment-guides/amazon-web-services/high-availability-keepalived.md b/content/nginx/deployment-guides/amazon-web-services/high-availability-keepalived.md index a3023a49b..8df51d9ae 100644 --- a/content/nginx/deployment-guides/amazon-web-services/high-availability-keepalived.md +++ b/content/nginx/deployment-guides/amazon-web-services/high-availability-keepalived.md @@ -96,8 +96,8 @@ Allocate an Elastic IP address and remember its ID. For detailed instructions, s The NGINX Plus HA solution uses two scripts, which are invoked by `keepalived`: -- **nginx‑ha‑check** – Determines the health of NGINX Plus. -- **nginx‑ha‑notify** – Moves the Elastic IP address when a state transition happens, for example when the backup instance becomes the primary. +- {{}}**nginx-ha-check**{{}} – Determines the health of NGINX Plus. +- {{}}**nginx-ha-notify**{{}} – Moves the Elastic IP address when a state transition happens, for example when the backup instance becomes the primary. 1. Create a directory for the scripts, if it doesn’t already exist. @@ -121,7 +121,7 @@ The NGINX Plus HA solution uses two scripts, which are invoked by `keepalived`: There are two configuration files for the HA solution: - **keepalived.conf** – The main configuration file for `keepalived`, slightly different for each NGINX Plus instance. -- **nginx‑ha‑notify** – The script you downloaded in [Step 4](#ha-aws_ha-scripts), with several user‑defined variables. +- {{}}**nginx-ha-notify**{{}} – The script you downloaded in [Step 4](#ha-aws_ha-scripts), with several user‑defined variables. ### Creating keepalived.conf @@ -158,8 +158,8 @@ You must change values for the following configuration keywords. As you do so, a - `script` in the `chk_nginx_service` block – The script that sends health checks to NGINX Plus. - - On Ubuntu systems, **/usr/lib/keepalived/nginx‑ha‑check** - - On CentOS systems, **/usr/libexec/keepalived/nginx‑ha‑check** + - On Ubuntu systems, {{}}**/usr/lib/keepalived/nginx-ha-check**{{}} + - On CentOS systems, {{}}**/usr/libexec/keepalived/nginx-ha-check**{{}} - `priority` – The value that controls which instance becomes primary, with a higher value meaning a higher priority. Use `101` for the primary instance and `100` for the backup. @@ -171,13 +171,13 @@ You must change values for the following configuration keywords. As you do so, a - `notify` – The script that is invoked during a state transition. - - On Ubuntu systems, **/usr/lib/keepalived/nginx‑ha‑notify** - - On CentOS systems, **/usr/libexec/keepalived/nginx‑ha‑notify** + - On Ubuntu systems, {{}}**/usr/lib/keepalived/nginx-ha-notify**{{}} + - On CentOS systems, {{}}**/usr/libexec/keepalived/nginx-ha-notify**{{}} ### Creating nginx-ha-notify -Modify the user‑defined variables section of the **nginx‑ha‑notify** script, replacing each `` placeholder with the value specified in the list below: +Modify the user‑defined variables section of the {{}}**nginx-ha-notify**{{}} script, replacing each `` placeholder with the value specified in the list below: ```none export AWS_ACCESS_KEY_ID= @@ -223,7 +223,7 @@ Check the state on the backup instance, confirming that it has transitioned to ` ## Troubleshooting -If the solution doesn’t work as expected, check the `keepalived` logs, which are written to **/var/log/syslog**. Also, you can manually run the commands that invoke the `awscli` utility in the **nginx‑ha‑notify** script to check that the utility is working properly. +If the solution doesn’t work as expected, check the `keepalived` logs, which are written to **/var/log/syslog**. Also, you can manually run the commands that invoke the `awscli` utility in the {{}}**nginx-ha-notify**{{}} script to check that the utility is working properly. ## Caveats diff --git a/content/nginx/deployment-guides/amazon-web-services/high-availability-network-load-balancer.md b/content/nginx/deployment-guides/amazon-web-services/high-availability-network-load-balancer.md index 6c7a451a9..c37434906 100644 --- a/content/nginx/deployment-guides/amazon-web-services/high-availability-network-load-balancer.md +++ b/content/nginx/deployment-guides/amazon-web-services/high-availability-network-load-balancer.md @@ -291,7 +291,7 @@ Configure NGINX Plus instances as load balancers. These distribute requests to Use the *Step‑by‑step* instructions in our deployment guide, [Setting Up an NGINX Demo Environment]({{< ref "/nginx/deployment-guides/setting-up-nginx-demo-environment.md" >}}). -Repeat the instructions on both **ngx‑plus‑1** and **ngx‑plus‑2**. +Repeat the instructions on both {{}}**ngx-plus-1**{{}} and {{}}**ngx-plus-2**{{}}. ### Automate instance setup with Packer and Terraform @@ -317,7 +317,7 @@ To run the scripts, follow these instructions: 3. Set your AWS credentials in the Packer and Terraform scripts: - - For Packer, set your credentials in the `variables` block in both **packer/ngx‑oss/packer.json** and **packer/ngx‑plus/packer.json**: + - For Packer, set your credentials in the `variables` block in both {{}}**packer/ngx-oss/packer.json**{{}} and {{}}**packer/ngx-plus/packer.json**{{}}: ```none "variables": { diff --git a/content/nginx/deployment-guides/amazon-web-services/ingress-controller-elastic-kubernetes-services.md b/content/nginx/deployment-guides/amazon-web-services/ingress-controller-elastic-kubernetes-services.md index e1c9811b3..09f4df0a0 100644 --- a/content/nginx/deployment-guides/amazon-web-services/ingress-controller-elastic-kubernetes-services.md +++ b/content/nginx/deployment-guides/amazon-web-services/ingress-controller-elastic-kubernetes-services.md @@ -43,14 +43,14 @@ This guide covers the `eksctl` command as it is the simplest option. 1. Follow the instructions in the [eksctl.io documentation](https://eksctl.io/installation/) to install or update the `eksctl` command. -2. Create an Amazon EKS cluster by following the instructions in the [AWS documentation](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html). Select the **Managed nodes – Linux** option for each step. Note that the `eksctl create cluster` command in the first step can take ten minutes or more. +2. Create an Amazon EKS cluster by following the instructions in the [AWS documentation](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html). Select the {{}}**Managed nodes – Linux**{{}} option for each step. Note that the `eksctl create cluster` command in the first step can take ten minutes or more. ## Push the NGINX Plus Ingress Controller Image to AWS ECR This step is only required if you do not plan to use the prebuilt NGINX Open Source image. -1. Use the [AWS documentation](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html) to create a repository in the Amazon Elastic Container Registry (ECR). In Step 4 of the AWS instructions, name the repository **nginx‑plus‑ic** as that is what we use in this guide. +1. Use the [AWS documentation](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html) to create a repository in the Amazon Elastic Container Registry (ECR). In Step 4 of the AWS instructions, name the repository {{}}**nginx-plus-ic**{{}} as that is what we use in this guide. 2. Run the following AWS CLI command. It generates an auth token for your AWS ECR registry, then pipes it into the `docker login` command. This lets AWS ECR authenticate and authorize the upcoming Docker requests. For details about the command, see the [AWS documentation](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html). diff --git a/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md b/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md index 32038fedb..3cf5c6530 100644 --- a/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md +++ b/content/nginx/deployment-guides/amazon-web-services/route-53-global-server-load-balancing.md @@ -40,7 +40,7 @@ The setup for global server load balancing (GSLB) in this guide combines Amazon Diagram showing a topology for global server load balancing (GSLB). Eight backend servers, four in each of two regions, host the content for a domain. Two NGINX Plus load balancers in each region route traffic to the backend servers. For each client requesting DNS information for the domain, Amazon Route 53 provides the DNS record for the region closest to the client. -Route 53 is a Domain Name System (DNS) service that performs global server load balancing by routing each request to the AWS region closest to the requester's location. This guide uses two regions: **US West (Oregon)** and **US East (N. Virginia)**. +Route 53 is a Domain Name System (DNS) service that performs global server load balancing by routing each request to the AWS region closest to the requester's location. This guide uses two regions: {{}}**US West (Oregon)**{{}} and {{}}**US East (N. Virginia)**{{}}. In each region, two or more NGINX Plus load balancers are deployed in a high‑availability (HA) configuration. In this guide, there are two NGINX Plus load balancer instances per region. You can also use NGINX Open Source for this purpose, but it lacks the [application health checks](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/) that make for more precise error detection. For simplicity, we'll refer to NGINX Plus load balancers throughout this guide, noting when features specific to NGINX Plus are used. @@ -79,7 +79,7 @@ Create a _hosted zone_, which basically involves designating a domain name to be 1. Log in to the [AWS Management Console](https://console.aws.amazon.com/) (**console.aws.amazon.com/**). -2. Access the Route 53 dashboard page by clicking **Services** in the top AWS navigation bar, mousing over **Networking** in the **All AWS Services** column and then clicking **Route 53**. +2. Access the Route 53 dashboard page by clicking **Services** in the top AWS navigation bar, mousing over **Networking** in the {{}}**All AWS Services**{{}} column and then clicking **Route 53**. Screenshot showing how to access the Amazon Route 53 dashboard to configure global load balancing (GLB) with NGINX Plus @@ -87,7 +87,7 @@ Create a _hosted zone_, which basically involves designating a domain name to be Screenshot showing the Route 53 Registered domains tab during configuration of NGINX GSLB (global server load balancing) - If you see the Route 53 home page instead, access the **Registered domains** tab by clicking the  Get started now  button under **Domain registration**. + If you see the Route 53 home page instead, access the **Registered domains** tab by clicking the  Get started now  button under {{}}**Domain registration**{{}}. Screenshot showing the Amazon Route 53 homepage for a first-time Route 53 user during configuration of AWS GSLB (global server load balancing) with NGINX Plus @@ -124,19 +124,19 @@ Create records sets for your domain: 4. Fill in the fields in the **Create Record Set** column: - **Name** – You can leave this field blank, but for this guide we are setting the name to **www.nginxroute53.com**. - - **Type** – **A – IPv4 address**. + - **Type** – **A {{}}– IPv4 address**{{}}. - **Alias** – **No**. - **TTL (Seconds)** – **60**. **Note**: Reducing TTL from the default of **300** in this way can decrease the time that it takes for Route 53 to fail over when both NGINX Plus load balancers in the region are down, but there is always a delay of about two minutes regardless of the TTL setting. This is a built‑in limitation of Route 53. - - **Value** – [Elastic IP addresses](#elastic-ip) of the NGINX Plus load balancers in the first region [in this guide, **US West (Oregon)**]. + - **Value** – [Elastic IP addresses](#elastic-ip) of the NGINX Plus load balancers in the first region [in this guide, {{}}**US West (Oregon)**]{{}}. - **Routing Policy** – **Latency**. 5. A new area opens when you select **Latency**. Fill in the fields as indicated (see the figure below): - - **Region** – Region to which the load balancers belong (in this guide, **us‑west‑2**). - - **Set ID** – Identifier for this group of load balancers (in this guide, **US West LBs**). + - **Region** – Region to which the load balancers belong (in this guide, {{}}**us-west-2**{{}}). + - **Set ID** – Identifier for this group of load balancers (in this guide, {{}}**US West LBs**{{}}). - **Associate with Health Check** – **No**. When you complete all fields, the tab looks like this: @@ -145,7 +145,7 @@ Create records sets for your domain: 6. Click the  Create  button. -7. Repeat Steps 3 through 6 for the load balancers in the other region [in this guide, **US East (N. Virginia)**]. +7. Repeat Steps 3 through 6 for the load balancers in the other region [in this guide, {{}}**US East (N. Virginia)**]{{}}. You can now test your website. Insert your domain name into a browser and see that your request is being load balanced between servers based on your location. @@ -172,21 +172,21 @@ We create health checks both for each NGINX Plus load balancer individually and Screenshot of Amazon Route 53 welcome screen seen by first-time user of Route 53 during configuration of global server load balancing (GSLB) with NGINX Plus -2. Click the  Create health check  button. In the **Configure health check** form that opens, specify the following values, then click the  Next  button. +2. Click the  Create health check  button. In the {{}}**Configure health check**{{}} form that opens, specify the following values, then click the  Next  button. - - **Name** – Identifier for an NGINX Plus load balancer instance, for example **US West LB 1**. + - **Name** – Identifier for an NGINX Plus load balancer instance, for example {{}}**US West LB 1**{{}}. - **What to monitor** – **Endpoint**. - - **Specify endpoint by** – **IP address**. + - **Specify endpoint by** – {{}}**IP address**{{}}. - **IP address** – The [elastic IP address](#elastic-ip) of the NGINX Plus load balancer. - **Port** – The port advertised to clients for your domain or web service (the default is **80**). Screenshot of Amazon Route 53 interface for configuring health checks, during configuration of AWS global load balancing (GLB) with NGINX Plus -3. On the **Get notified when health check fails** screen that opens, set the **Create alarm** radio button to **Yes** or **No** as appropriate, then click the  Create health check  button. +3. On the {{}}**Get notified when health check fails**{{}} screen that opens, set the **Create alarm** radio button to **Yes** or **No** as appropriate, then click the  Create health check  button. Screenshot of Route 53 configuration screen for enabling notifications of failed health checks, during configuration of Route 53 global load balancing (GLB) with NGINX Plus -4. Repeat Steps 2 and 3 for your other NGINX Plus load balancers (in this guide, **US West LB 2**, **US East LB 1**, and **US East LB 2**). +4. Repeat Steps 2 and 3 for your other NGINX Plus load balancers (in this guide, {{}}**US West LB 2**{{}}, {{}}**US East LB 1**{{}}, and {{}}**US East LB 2**{{}}). 5. Proceed to the next section to configure health checks for the load balancer pairs. @@ -195,18 +195,18 @@ We create health checks both for each NGINX Plus load balancer individually and 1. Click the  Create health check  button. -2. In the **Configure health check** form that opens, specify the following values, then click the  Next  button. +2. In the {{}}**Configure health check**{{}} form that opens, specify the following values, then click the  Next  button. - - **Name** – Identifier for the pair of NGINX Plus load balancers in the first region, for example **US West LBs**. - - **What to monitor** – **Status of other health checks **. + - **Name** – Identifier for the pair of NGINX Plus load balancers in the first region, for example {{}}**US West LBs**{{}}. + - **What to monitor** – {{}}**Status of other health checks{{}} **. - **Health checks to monitor** – The health checks of the two US West load balancers (add them one after the other by clicking in the box and choosing them from the drop‑down menu as shown). - **Report healthy when** – **at least 1 of 2 selected health checks are healthy** (the choices in this field are obscured in the screenshot by the drop‑down menu). Screenshot of Amazon Route 53 interface for configuring a health check of combined other health checks, during configuration of global server load balancing (GSLB) with NGINX Plus -3. On the **Get notified when health check fails** screen that opens, set the **Create alarm** radio button as appropriate (see Step 5 in the previous section), then click the  Create health check  button. +3. On the {{}}**Get notified when health check fails**{{}} screen that opens, set the **Create alarm** radio button as appropriate (see Step 5 in the previous section), then click the  Create health check  button. -4. Repeat Steps 1 through 3 for the paired load balancers in the other region [in this guide, **US East (N. Virginia)**]. +4. Repeat Steps 1 through 3 for the paired load balancers in the other region [in this guide, {{}}**US East (N. Virginia)**]{{}}. When you have finished configuring all six health checks, the **Health checks** tab looks like this: @@ -223,13 +223,13 @@ When you have finished configuring all six health checks, the **Health checks** The tab changes to display the record sets for the domain. -3. In the list of record sets that opens, click the row for the record set belonging to your first region [in this guide, **US West (Oregon)**]. The Edit Record Set column opens on the right side of the tab. +3. In the list of record sets that opens, click the row for the record set belonging to your first region [in this guide, {{}}**US West (Oregon)**]{{}}. The Edit Record Set column opens on the right side of the tab. Screenshot of interface for editing Route 53 record sets during configuration of global server load balancing (GSLB) with NGINX Plus 4. Change the **Associate with Health Check** radio button to **Yes**. -5. In the **Health Check to Associate** field, select the paired health check for your first region (in this guide, **US West LBs**). +5. In the **Health Check to Associate** field, select the paired health check for your first region (in this guide, {{}}**US West LBs**{{}}). 6. Click the  Save Record Set  button. @@ -242,7 +242,7 @@ These instructions assume that you have configured NGINX Plus on two EC2 instan **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. -1. Connect to the **US West LB 1** instance. For instructions, see Connecting to an EC2 Instance. +1. Connect to the {{}}**US West LB 1**{{}} instance. For instructions, see Connecting to an EC2 Instance. 2. Change directory to **/etc/nginx/conf.d**. @@ -250,7 +250,7 @@ These instructions assume that you have configured NGINX Plus on two EC2 instan cd /etc/nginx/conf.d ``` -3. Edit the **west‑lb1.conf** file and add the **@healthcheck** location to set up health checks. +3. Edit the {{}}**west-lb1.conf**{{}} file and add the **@healthcheck** location to set up health checks. ```nginx upstream backend-servers { @@ -282,9 +282,9 @@ These instructions assume that you have configured NGINX Plus on two EC2 instan nginx -s reload ``` -5. Repeat Steps 1 through 4 for the other three load balancers (**US West LB 2**, **US East LB 1**, and **US East LB2**). +5. Repeat Steps 1 through 4 for the other three load balancers ({{}}**US West LB 2**{{}}, {{}}**US East LB 1**{{}}, and {{}}**US East LB2**{{}}). - In Step 3, change the filename as appropriate (**west‑lb2.conf**, **east‑lb1.conf**, and **east‑lb2.conf**). In the **east‑lb1.conf** and **east‑lb2.conf** files, the `server` directives specify the public DNS names of Backup 3 and Backup 4. + In Step 3, change the filename as appropriate ({{}}**west-lb2.conf**{{}}, {{}}**east-lb1.conf**{{}}, and {{}}**east-lb2.conf**{{}}). In the {{}}**east-lb1.conf**{{}} and {{}}**east-lb2.conf**{{}} files, the `server` directives specify the public DNS names of Backup 3 and Backup 4. ## Appendix @@ -307,31 +307,31 @@ Step‑by‑step instructions for creating EC2 instances and installing NGINX so Assign the following names to the instances, and then install the indicated NGINX software. -- In the first region, which is **US West (Oregon)** in this guide: +- In the first region, which is {{}}**US West (Oregon)**{{}} in this guide: - Two load balancer instances running NGINX Plus: - - **US West LB 1** - - **US West LB 2** + - {{}}**US West LB 1**{{}} + - {{}}**US West LB 2**{{}} - Two backend instances running NGINX Open Source: - * **Backend 1** - - **Backend 2** + * {{}}**Backend 1**{{}} + - {{}}**Backend 2**{{}} -- In the second region, which is **US East (N. Virginia)** in this guide: +- In the second region, which is {{}}**US East (N. Virginia)**{{}} in this guide: - Two load balancer instances running NGINX Plus: - - **US East LB 1** - - **US East LB 2** + - {{}}**US East LB 1**{{}} + - {{}}**US East LB 2**{{}} - Two backend instances running NGINX Open Source: - * **Backend 3** - - **Backend 4** + * {{}}**Backend 3**{{}} + - {{}}**Backend 4**{{}} -Here's the **Instances** tab after we create the four instances in the **N. Virginia** region. +Here's the **Instances** tab after we create the four instances in the {{}}**N. Virginia**{{}} region. Screenshot showing newly created EC2 instances in one of two regions, which is a prerequisite to configuring AWS GSLB (global server load balancing) with NGINX Plus @@ -366,7 +366,7 @@ After you complete the instructions on all instances, the list for a region (her ### Configuring NGINX Open Source on the Backend Servers -Perform these steps on all four backend servers: **Backend 1**, **Backend 2**, **Backend 3**, and **Backend 4**. In Step 3, substitute the appropriate name for `Backend X` in the **index.html** file. +Perform these steps on all four backend servers: {{}}**Backend 1**{{}}, {{}}**Backend 2**{{}}, {{}}**Backend 3**{{}}, and {{}}**Backend 4**{{}}. In Step 3, substitute the appropriate name for `Backend X` in the **index.html** file. **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. @@ -421,7 +421,7 @@ Perform these steps on all four backend servers: **Backend 1**, **Backend&n ### Configuring NGINX Plus on the Load Balancers -Perform these steps on all four backend servers: **US West LB 1**, **US West LB 2**, **US East LB 1**, and **US West LB 2**. +Perform these steps on all four backend servers: {{}}**US West LB 1**{{}}, {{}}**US West LB 2**{{}}, {{}}**US East LB 1**{{}}, and {{}}**US West LB 2**{{}}. **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. @@ -439,10 +439,10 @@ Perform these steps on all four backend servers: **US West LB 1** 4. Create a new file containing the following text, which configures load balancing of the two backend servers in the relevant region. The filename on each instance is: - - For **US West LB 1** – **west‑lb1.conf** - - For **US West LB 2** – **west‑lb2.conf** - - For **US East LB 1** – **east‑lb1.conf** - - For **US West LB 2** – **east‑lb2.conf** + - For {{}}**US West LB 1**{{}} – {{}}**west-lb1.conf**{{}} + - For {{}}**US West LB 2**{{}} – {{}}**west-lb2.conf**{{}} + - For {{}}**US East LB 1**{{}} – {{}}**east-lb1.conf**{{}} + - For {{}}**US West LB 2**{{}} – {{}}**east-lb2.conf**{{}} In the `server` directives in the `upstream` block, substitute the public DNS names of the backend instances in the region; to learn them, see the **Instances** tab in the EC2 Dashboard. diff --git a/content/nginx/deployment-guides/global-server-load-balancing/ns1-global-server-load-balancing.md b/content/nginx/deployment-guides/global-server-load-balancing/ns1-global-server-load-balancing.md index 8e425506e..8e14e22e7 100644 --- a/content/nginx/deployment-guides/global-server-load-balancing/ns1-global-server-load-balancing.md +++ b/content/nginx/deployment-guides/global-server-load-balancing/ns1-global-server-load-balancing.md @@ -93,7 +93,7 @@ The solution functions alongside other NS1 capabilities, such as geo‑proximal - **Canadian province(s)** – Two‑letter codes for Canadian provinces - **Country/countries** – Two‑letter codes for nations and territories - - **Geographic region(s)** – Identifiers like **US‑WEST** and **ASIAPAC** + - **Geographic region(s)** – Identifiers like {{}}**US-WEST**{{}} and **ASIAPAC** - **ISO region code** – Identification codes for nations and territories as defined in [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) - **Latitude** – Degrees, minutes, and seconds of latitude (northern or southern hemisphere) - **Longitude** – Degrees, minutes, and seconds of longitude (eastern or western hemisphere) @@ -114,8 +114,8 @@ The solution functions alongside other NS1 capabilities, such as geo‑proximal 12. In the **Add Filters** window that pops up, click the plus sign (+) on the button for each filter you want to apply. In this guide, we're configuring the filters in this order: - **Up** in the ** HEALTHCHECKS ** section - - **Geotarget Country** in the ** GEOGRAPHIC ** section - - **Select First N** in the ** TRAFFIC MANAGEMENT ** section + - {{}}**Geotarget Country**{{}} in the ** GEOGRAPHIC ** section + - {{}}**Select First N**{{}} in the ** {{}}TRAFFIC MANAGEMENT{{}} ** section Click the  Save Filter Chain  button. @@ -128,17 +128,17 @@ In this section we install and configure the NS1 agent on the same hosts as our 1. Follow the instructions in the [NS1 documentation](https://help.ns1.com/hc/en-us/articles/360020474154) to set up and connect a separate data feed for each of the three NGINX Plus instances, which NS1 calls _answers_. - On the first page (**Configure a new data source from NSONE Data Feed API v1**) specify a name for the _data source_, which is the administrative container for the data feeds you will be creating. Use the same name each of the three times you go through the instructions. We're naming the data source **NGINX‑GSLB**. + On the first page (**Configure a new data source from NSONE Data Feed API v1**) specify a name for the _data source_, which is the administrative container for the data feeds you will be creating. Use the same name each of the three times you go through the instructions. We're naming the data source {{}}**NGINX-GSLB**{{}}. On the next page (**Create Feed from NSONE Data Feed API v1**), create a data feed for the instance. Because the **Name** field is just for internal use, any value is fine. The value in the **Label** field is used in the YAML configuration file for the instance (see Step 4 below). We're specifying labels that indicate the country (using the ISO 3166 codes) in which the instance is running: - - **us‑nginxgslb‑datafeed** for instance 1 in the US - - **de‑nginxgslb‑datafeed** for instance 2 in Germany - - **sg‑nginxgslb‑datafeed** for instance 3 in Singapore + - {{}}**us-nginxgslb-datafeed**{{}} for instance 1 in the US + - {{}}**de-nginxgslb-datafeed**{{}} for instance 2 in Germany + - {{}}**sg-nginxgslb-datafeed**{{}} for instance 3 in Singapore After creating the three feeds, note the value in the **Feeds URL** field on the  INTEGRATIONS  tab. The final element of the URL is the ```` you will specify in the YAML configuration file in Step 4. In the third screenshot in the [NS1 documentation](https://help.ns1.com/hc/en-us/articles/360020474154), for example, it is **e566332c5d22c6b66aeaa8837eae90ac**. -2. Follow the instructions in the [NS1 documentation](https://help.ns1.com/hc/en-us/articles/360017341694-Creating-managing-API-keys) to create an NS1 API key for the agent, if you have not already. (To access **Account Settings** in Step 1, click your username in the upper right corner of the NS1 title bar.) We're naming the app **NGINX‑GSLB**. Make note of the key value – you'll specify it as ```` in the YAML configuration file in Step 4. To see the actual hexadecimal value, click on the circled letter **i** in the **API Key** field. +2. Follow the instructions in the [NS1 documentation](https://help.ns1.com/hc/en-us/articles/360017341694-Creating-managing-API-keys) to create an NS1 API key for the agent, if you have not already. (To access **Account Settings** in Step 1, click your username in the upper right corner of the NS1 title bar.) We're naming the app {{}}**NGINX-GSLB**{{}}. Make note of the key value – you'll specify it as ```` in the YAML configuration file in Step 4. To see the actual hexadecimal value, click on the circled letter **i** in the **API Key** field. 3. On each NGINX Plus host, clone the [GitHub repo](https://github.com/nginxinc/nginx-ns1-gslb) for the NS1 agent. @@ -349,7 +349,7 @@ First we perform these steps to create the shed filter: Screenshot of NS1 GUI: clicking Shed Load button on Add Filters page -3. The **Shed Load** filter is added as the fourth (lowest) box in the **Active Filters** section. Move it to be third by clicking and dragging it above the **Select First N** box. +3. The **Shed Load** filter is added as the fourth (lowest) box in the **Active Filters** section. Move it to be third by clicking and dragging it above the {{}}**Select First N**{{}} box. 4. Click the  Save Filter Chain  button. @@ -363,7 +363,7 @@ First we perform these steps to create the shed filter: 7. In the **Answer Metadata** window that opens, set values for the following metadata. In each case, click the icon in the  FEED  column of the metadata's row, then select or enter the indicated value in the  AVAILABLE  column. (For testing purposes, we're setting very small values for the watermarks so that the threshold is exceeded very quickly.) - - **Active connections** – **us‑nginxgslb‑datafeed** + - **Active connections** – {{}}**us-nginxgslb-datafeed**{{}} - **High watermark** – **5** - **Low watermark** – **2** diff --git a/content/nginx/deployment-guides/google-cloud-platform/high-availability-all-active.md b/content/nginx/deployment-guides/google-cloud-platform/high-availability-all-active.md index cf9e705b0..f44b95e75 100644 --- a/content/nginx/deployment-guides/google-cloud-platform/high-availability-all-active.md +++ b/content/nginx/deployment-guides/google-cloud-platform/high-availability-all-active.md @@ -15,7 +15,7 @@ This guide explains how to deploy F5 NGINX Plus in a high-availability configura **Notes:** - The GCE environment changes constantly. This could include names and arrangements of GUI elements. This guide was accurate when published. But, some GCE GUI elements might have changed over time. Use this guide as a reference and adapt to the current GCE working environment. -- The configuration described in this guide allows anyone from a public IP address to access the NGINX Plus instances. While this works in common scenarios in a test environment, we do not recommend it in production. Block external HTTP/HTTPS access to **app‑1** and **app‑2** instances to external IP address before production deployment. Alternatively, remove the external IP addresses for all application instances, so they're accessible only on the internal GCE network. +- The configuration described in this guide allows anyone from a public IP address to access the NGINX Plus instances. While this works in common scenarios in a test environment, we do not recommend it in production. Block external HTTP/HTTPS access to {{}}**app-1**{{}} and {{}}**app-2**{{}} instances to external IP address before production deployment. Alternatively, remove the external IP addresses for all application instances, so they're accessible only on the internal GCE network. @@ -38,7 +38,7 @@ The GCE network LB assigns each new client to a specific NGINX Plus LB. This ass NGINX Plus LB uses the round-robin algorithm to forward requests to specific app instances. It also adds a session cookie. It keeps future requests from the same client on the same app instance as long as it's running. -This deployment guide uses two groups of app instances: – **app‑1** and **app‑2**. It demonstrates [load balancing](https://www.nginx.com/products/nginx/load-balancing/) between different app types. But both groups have the same app configurations. +This deployment guide uses two groups of app instances: – {{}}**app-1**{{}} and {{}}**app-2**{{}}. It demonstrates [load balancing](https://www.nginx.com/products/nginx/load-balancing/) between different app types. But both groups have the same app configurations. You can adapt the deployment to distribute unique connections to different groups of app instances. This can be done by creating discrete upstream blocks and routing content based on the URI. @@ -69,17 +69,17 @@ Create a new GCE project to host the all‑active NGINX Plus deployment. 1. Log into the [GCP Console](http://console.cloud.google.com) at **console.cloud.google.com**. -2. The GCP **Home > Dashboard** tab opens. Its contents depend on whether you have any existing projects. +2. The GCP {{}}**Home > Dashboard**{{}} tab opens. Its contents depend on whether you have any existing projects. - If there are no existing projects, click the  Create a project  button. Screenshot of the Google Cloud Platform dashboard that appears when there are no existing projects (creating a project is the first step in configuring NGINX Plus as the Google Cloud load balancer) - - If there are existing projects, the name of one of them appears in the upper left of the blue header bar (in the screenshot, it's  My Test Project ). Click the project name and select **Create project** from the menu that opens. + - If there are existing projects, the name of one of them appears in the upper left of the blue header bar (in the screenshot, it's  My Test Project ). Click the project name and select {{}}**Create project**{{}} from the menu that opens. Screenshot of the Google Cloud Platform page that appears when other projects already exist (creating a project is the first step in configuring NGINX Plus as the Google Cloud load balancer) -3. Type your project name in the **New Project** window that pops up, then click CREATE. We're naming the project **NGINX Plus All‑Active‑LB**. +3. Type your project name in the {{}}**New Project**{{}} window that pops up, then click CREATE. We're naming the project **NGINX {{}}Plus All-Active-LB**{{}}. Screenshot of the New Project pop-up window for naming a new project on the Google Cloud Platform, which is the first step in configuring NGINX Plus as the Google load balancer @@ -87,24 +87,24 @@ Create a new GCE project to host the all‑active NGINX Plus deployment. Create firewall rules that allow access to the HTTP and HTTPS ports on your GCE instances. You'll attach the rules to all the instances you create for the deployment. -1. Navigate to the **Networking > Firewall rules** tab and click  +  CREATE FIREWALL RULE. (The screenshot shows the default rules provided by GCE.) +1. Navigate to the {{}}**Networking > Firewall rules**{{}} tab and click  +  CREATE FIREWALL RULE. (The screenshot shows the default rules provided by GCE.) Screenshot of the Google Cloud Platform page for defining new firewall rules; when configuring NGINX Plus as the Google Cloud load balancer, we open ports 80, 443, and 8080 for it. -2. Fill in the fields on the **Create a firewall rule** screen that opens: +2. Fill in the fields on the {{}}**Create a firewall rule**{{}} screen that opens: - - **Name** – **nginx‑plus‑http‑fw‑rule** + - **Name** – {{}}**nginx-plus-http-fw-rule**{{}} - **Description** – **Allow access to ports 80, 8080, and 443 on all NGINX Plus instances** - - **Source filter** – On the drop-down menu, select either **Allow from any source (0.0.0.0/0)**, or **IP range** if you want to restrict access to users on your private network. In the second case, fill in the **Source IP ranges** field that opens. In the screenshot, we are allowing unrestricted access. - - **Allowed protocols and ports** – **tcp:80; tcp:8080; tcp:443** + - {{}}**Source filter**{{}} – On the drop-down menu, select either **Allow from any source (0.0.0.0/0)**, or {{}}**IP range**{{}} if you want to restrict access to users on your private network. In the second case, fill in the {{}}**Source IP ranges**{{}} field that opens. In the screenshot, we are allowing unrestricted access. + - {{}}**Allowed protocols and ports**{{}} – {{}}**tcp:80; tcp:8080; tcp:443**{{}} **Note:** As noted in the introduction, allowing access from any public IP address is appropriate only in a test environment. Before deploying the architecture in production, create a firewall rule. Use this rule to block access to the external IP address for your application instances. Alternatively, you can disable external IP addresses for the instances. This limits access only to the internal GCE network. - - **Target tags** – **nginx‑plus‑http‑fw‑rule** + - {{}}**Target tags**{{}} – {{}}**nginx-plus-http-fw-rule**{{}} Screenshot of the interface for creating a Google Compute Engine (GCE) firewall rule, used during deployment of NGINX Plus as the Google load balancer. -3. Click the  Create  button. The new rule is added to the table on the **Firewall rules** tab. +3. Click the  Create  button. The new rule is added to the table on the {{}}**Firewall rules**{{}} tab. ## Task 2: Creating Source Instances @@ -123,29 +123,29 @@ The methods to create a source instance are different. Once you've created the s Create three source VM instances based on a GCE VM image. We're basing our instances on the Ubuntu 16.04 LTS image. -1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX {{}}Plus All-Active-LB**{{}} project is still selected in the Google Cloud Platform header bar. -2. Navigate to the **Compute Engine > VM instances** tab. +2. Navigate to the {{}}**Compute Engine > VM instances**{{}} tab. -3. Click the  Create instance  button. The **Create an instance** page opens. +3. Click the  Create instance  button. The {{}}**Create an instance**{{}} page opens. #### Creating the First Application Instance from a VM Image -1. On the **Create an instance** page, modify or verify the fields and checkboxes as indicated (a screenshot of the completed page appears in the next step): +1. On the {{}}**Create an instance**{{}} page, modify or verify the fields and checkboxes as indicated (a screenshot of the completed page appears in the next step): - - **Name** – **nginx‑plus‑app‑1** - - **Zone** – The GCP zone that makes sense for your location. We're using **us‑west1‑a**. - - **Machine type** – The appropriate size for the level of traffic you anticipate. We're selecting **micro**, which is ideal for testing purposes. - - **Boot disk** – Click **Change**. The **Boot disk** page opens to the OS images subtab. Perform the following steps: + - **Name** – {{}}**nginx-plus-app-1**{{}} + - **Zone** – The GCP zone that makes sense for your location. We're using {{}}**us-west1-a**{{}}. + - {{}}**Machine type**{{}} – The appropriate size for the level of traffic you anticipate. We're selecting **micro**, which is ideal for testing purposes. + - {{}}**Boot disk**{{}} – Click **Change**. The {{}}**Boot disk**{{}} page opens to the OS images subtab. Perform the following steps: - - Click the radio button for the Unix or Linux image of your choice (here, **Ubuntu 16.04 LTS**). - - Accept the default values in the **Boot disk type** and **Size (GB)** fields (**Standard persistent disk** and **10** respectively). + - Click the radio button for the Unix or Linux image of your choice (here, {{}}**Ubuntu 16.04 LTS**{{}}). + - Accept the default values in the {{}}**Boot disk type**{{}} and {{}}**Size (GB)**{{}} fields ({{}}**Standard persistent disk**{{}} and **10** respectively). - Click the  Select  button. Screenshot of the 'Boot disk' page in Google Cloud Platform for selecting the OS on which a VM runs. In the deployment of NGINX Plus as the Google load balancer, we select Ubuntu 16.04 LTS. - - **Identity and API access** – Keep the defaults for the **Service account ** field and **Access scopes** radio button. Unless you need more granular control. + - {{}}**Identity and API access**{{}} – Keep the defaults for the {{}}**Service account **{{}} field and {{}}**Access scopes**{{}} radio button. Unless you need more granular control. - **Firewall** – Verify that neither check box is checked (the default). The firewall rule invoked in the **Tags** field on the **Management** subtab (see Step 3 below) controls this type of access. 2. Click Management, disk, networking, SSH keys to open that set of subtabs. (The screenshot shows the values entered in the previous step.) @@ -154,11 +154,11 @@ Create three source VM instances based on a GCE VM image. We're basing our insta 3. On the **Management** subtab, modify or verify the fields as indicated: - - **Description** – **NGINX Plus app‑1 Image** - - **Tags** – **nginx‑plus‑http‑fw‑rule** - - **Preemptibility** – **Off (recommended)** (the default) - - **Automatic restart** – **On (recommended)** (the default) - - **On host maintenance** – **Migrate VM instance (recommended)** (the default) + - **Description** – **NGINX {{}}Plus app-1 Image**{{}} + - **Tags** – {{}}**nginx-plus-http-fw-rule**{{}} + - **Preemptibility** – {{}}**Off (recommended)**{{}} (the default) + - {{}}**Automatic restart**{{}} – {{}}**On (recommended)**{{}} (the default) + - {{}}**On host maintenance**{{}} – {{}}**Migrate VM instance (recommended)**{{}} (the default) Screenshot of the Management subtab used during creation of a new VM instance, part of deploying NGINX Plus as the Google load balancer. @@ -166,38 +166,38 @@ Create three source VM instances based on a GCE VM image. We're basing our insta Screenshot of the Disks subtab used during creation of a new VM instance, part of deploying NGINX Plus as the Google Cloud load balancer. -5. On the **Networking** subtab, verify the default settings, in particular **Ephemeral** for **External IP** and **Off** for **IP Forwarding**. +5. On the **Networking** subtab, verify the default settings, in particular **Ephemeral** for {{}}**External IP**{{}} and **Off** for {{}}**IP Forwarding**{{}}. Screenshot of the Networking subtab used during creation of a new VM instance, part of deploying NGINX Plus as the Google Cloud load balancer. -6. If you're using your own SSH public key instead of your default GCE keys, paste the hexadecimal key string on the **SSH Keys** subtab. Right into the box that reads **Enter entire key data**. +6. If you're using your own SSH public key instead of your default GCE keys, paste the hexadecimal key string on the {{}}**SSH Keys**{{}} subtab. Right into the box that reads {{}}**Enter entire key data**{{}}. Screenshot of the SSH Keys subtab used during creation of a new VM instance, part of deploying NGINX Plus as the Google Cloud Platform load balancer. -7. Click the  Create  button at the bottom of the **Create an instance** page. +7. Click the  Create  button at the bottom of the {{}}**Create an instance**{{}} page. - The **VM instances** summary page opens. It can take several minutes for the instance to be created. Wait to continue until the green check mark appears. + The {{}}**VM instances**{{}} summary page opens. It can take several minutes for the instance to be created. Wait to continue until the green check mark appears. Screenshot of the summary page that verifies the creation of a new VM instance, part of deploying NGINX Plus as the load balancer for Google Cloud. #### Creating the Second Application Instance from a VM Image -1. On the **VM instances** summary page, click CREATE INSTANCE. +1. On the {{}}**VM instances**{{}} summary page, click CREATE INSTANCE. 2. Repeat the steps in Creating the First Application Instance to create the second application instance. Specify the same values as for the first application instance, except: - - In Step 1, **Name** – **nginx‑plus‑app‑2** - - In Step 3, **Description** – **NGINX Plus app‑2 Image** + - In Step 1, **Name** – {{}}**nginx-plus-app-2**{{}} + - In Step 3, **Description** – **NGINX {{}}Plus app-2 Image**{{}} #### Creating the Load-Balancing Instance from a VM Image -1. On the **VM instances** summary page, click CREATE INSTANCE. +1. On the {{}}**VM instances**{{}} summary page, click CREATE INSTANCE. 2. Repeat the steps in Creating the First Application Instance to create the load‑balancing instance. Specify the same values as for the first application instance, except: - - In Step 1, **Name** – **nginx‑plus‑lb** + - In Step 1, **Name** – {{}}**nginx-plus-lb**{{}} - In Step 3, **Description** – **NGINX Plus Load Balancing Image** @@ -205,14 +205,14 @@ Create three source VM instances based on a GCE VM image. We're basing our insta Install and configure PHP and FastCGI on the instances. -Repeat these instructions for all three source instances (**nginx‑plus‑app‑1**, **nginx‑plus‑app‑2**, and **nginx‑plus‑lb**). +Repeat these instructions for all three source instances ({{}}**nginx-plus-app-1**{{}}, {{}}**nginx-plus-app-2**{{}}, and {{}}**nginx-plus-lb**{{}}). **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. 1. Connect to the instance over SSH using the method of your choice. GCE provides a built-in mechanism: - - Navigate to the **Compute Engine > VM instances** tab. - - In the instance's row in the table, click the triangle icon in the **Connect** column at the far right and select a method (for example, **Open in browser window**). + - Navigate to the {{}}**Compute Engine > VM instances**{{}} tab. + - In the instance's row in the table, click the triangle icon in the **Connect** column at the far right and select a method (for example, {{}}**Open in browser window**{{}}). Screenshot showing how to connect via SSH to a VM instance, part of deploying NGINX Plus as the Google load balancer. @@ -253,7 +253,7 @@ Now install NGINX Plus and download files that are specific to the all‑active Both the configuration and content files are available at the [NGINX GitHub repository](https://github.com/nginxinc/NGINX-Demos/tree/master/gce-nginx-plus-deployment-guide-files). -Repeat these instructions for all three source instances (**nginx‑plus‑app‑1**, **nginx‑plus‑app‑2**, and **nginx‑plus‑lb**). +Repeat these instructions for all three source instances ({{}}**nginx-plus-app-1**{{}}, {{}}**nginx-plus-app-2**{{}}, and {{}}**nginx-plus-lb**{{}}). **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. @@ -265,7 +265,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo 4. Copy the right configuration file from the **etc\_nginx\_conf.d** subdirectory of the cloned repository to **/etc/nginx/conf.d**: - - On both **nginx‑plus‑app‑1** and **nginx‑plus‑app‑2**, copy **gce‑all‑active‑app.conf**. + - On both {{}}**nginx-plus-app-1**{{}} and {{}}**nginx-plus-app-2**{{}}, copy {{}}**gce-all-active-app.conf**{{}}. You can also run the following commands to download the configuration file directly from the GitHub repository: @@ -281,7 +281,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo wget https://github.com/nginxinc/NGINX-Demos/blob/master/gce-nginx-plus-deployment-guide-files/etc_nginx_conf.d/gce-all-active-app.conf ``` - - On **nginx‑plus‑lb**, copy **gce‑all‑active‑lb.conf**. + - On {{}}**nginx-plus-lb**{{}}, copy {{}}**gce-all-active-lb.conf**{{}}. You can also run the following commands to download the configuration file directly from the GitHub repository: @@ -297,9 +297,9 @@ Both the configuration and content files are available at the [NGINX GitHub repo wget https://github.com/nginxinc/NGINX-Demos/blob/master/gce-nginx-plus-deployment-guide-files/etc_nginx_conf.d/gce-all-active-lb.conf ``` -5. On the LB instance (**nginx‑plus‑lb**), use a text editor to open **gce‑all‑active‑lb.conf**. Change the `server` directives in the `upstream` block to reference the internal IP addresses of the **nginx‑plus‑app‑1** and **nginx‑plus‑app‑2** instances (substitute the address for the expression in angle brackets). You do not need to modify the two application instances. +5. On the LB instance ({{}}**nginx-plus-lb**{{}}), use a text editor to open {{}}**gce-all-active-lb.conf**{{}}. Change the `server` directives in the `upstream` block to reference the internal IP addresses of the {{}}**nginx-plus-app-1**{{}} and {{}}**nginx-plus-app-2**{{}} instances (substitute the address for the expression in angle brackets). You do not need to modify the two application instances. - You can look up internal IP addresses in the **Internal IP** column of the table on the **Compute Engine > VM instances** summary page. + You can look up internal IP addresses in the {{}}**Internal IP**{{}} column of the table on the {{}}**Compute Engine > VM instances**{{}} summary page. ```nginx upstream upstream_app_pool { @@ -341,7 +341,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo nginx -s reload ``` -9. Verify the instance is working by accessing it at its external IP address. (As previously noted, we recommend blocking access to the external IP addresses of the application instances in a production environment.) The external IP address for the instance appears on the **Compute Engine > VM instances** summary page, in the **External IP** column of the table. +9. Verify the instance is working by accessing it at its external IP address. (As previously noted, we recommend blocking access to the external IP addresses of the application instances in a production environment.) The external IP address for the instance appears on the {{}}**Compute Engine > VM instances**{{}} summary page, in the {{}}**External IP**{{}} column of the table. - Access the **index.html** page either in a browser or by running this `curl` command. @@ -351,7 +351,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo - Access its NGINX Plus live activity monitoring dashboard in a browser, at: - **https://_external‑IP‑address_:8080/status.html** + {{}}**https://_external-IP-address_:8080/status.html**{{}} 10. Proceed to [Task 3: Creating "Gold" Images](#gold). @@ -363,7 +363,7 @@ Create three source instances based on a prebuilt NGINX Plus image running on < #### Creating the First Application Instance from a Prebuilt Image -1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX {{}}Plus All-Active-LB**{{}} project is still selected in the Google Cloud Platform header bar. 2. Navigate to the GCP Marketplace and search for **nginx plus**. @@ -373,16 +373,16 @@ Create three source instances based on a prebuilt NGINX Plus image running on < 4. On the **NGINX Plus** page that opens, click the  Launch on Compute Engine  button. -5. Fill in the fields on the **New NGINX Plus deployment** page as indicated. +5. Fill in the fields on the {{}}**New NGINX{{}} {{}}Plus deployment**{{}} page as indicated. - - **Deployment name** – **nginx‑plus‑app‑1** - - **Zone** – The GCP zone that makes sense for your location. We're using **us‑west1‑a**. - - **Machine type** – The appropriate size for the level of traffic you anticipate. We're selecting **micro**, which is ideal for testing purposes. - - **Disk type** – **Standard Persistent Disk** (the default) - - **Disk size in GB** – **10** (the default and minimum allowed) - - **Network name** – **default** - - **Subnetwork name** – **default** - - **Firewall** – Verify that the **Allow HTTP traffic** checkbox is checked. + - {{}}**Deployment name**{{}} – {{}}**nginx-plus-app-1**{{}} + - **Zone** – The GCP zone that makes sense for your location. We're using {{}}**us-west1-a**{{}}. + - {{}}**Machine type**{{}} – The appropriate size for the level of traffic you anticipate. We're selecting **micro**, which is ideal for testing purposes. + - {{}}**Disk type**{{}} – {{}}**Standard Persistent Disk**{{}} (the default) + - {{}}**Disk size in GB**{{}} – **10** (the default and minimum allowed) + - {{}}**Network name**{{}} – **default** + - {{}}**Subnetwork name**{{}} – **default** + - **Firewall** – Verify that the {{}}**Allow HTTP traffic**{{}} checkbox is checked. Screenshot of the page for creating a prebuilt NGINX Plus VM instance when deploying NGINX Plus as the Google Cloud Platform load balancer. @@ -392,25 +392,25 @@ Create three source instances based on a prebuilt NGINX Plus image running on < Screenshot of the page that confirms the creation of a prebuilt NGINX Plus VM instance when deploying NGINX Plus as the Google load balancer. -7. Navigate to the **Compute Engine > VM instances** tab and click **nginx‑plus‑app‑1‑vm** in the Name column in the table. (The **‑vm** suffix is added automatically to the name of the newly created instance.) +7. Navigate to the {{}}**Compute Engine > VM instances**{{}} tab and click {{}}**nginx-plus-app-1-vm**{{}} in the Name column in the table. (The {{}}**-vm**{{}} suffix is added automatically to the name of the newly created instance.) Screenshot showing how to access the page where configuration details for a VM instance can be modified during deployment of NGINX Plus as the Google Cloud load balancer. -8. On the **VM instances** page that opens, click EDIT at the top of the page. In fields that can be edited, the value changes from static text to text boxes, drop‑down menus, and checkboxes. +8. On the {{}}**VM instances**{{}} page that opens, click EDIT at the top of the page. In fields that can be edited, the value changes from static text to text boxes, drop‑down menus, and checkboxes. 9. Modify or verify the indicated editable fields (non‑editable fields are not listed): - - **Tags** – If a default tag appears (for example, **nginx‑plus‑app‑1‑tcp‑80**), click the **X** after its name to remove it. Then, type in **nginx‑plus‑http‑fw‑rule**. - - **External IP** – **Ephemeral** (the default) - - **Boot disk and local disks** – Uncheck the checkbox labeled **Delete boot disk when instance is deleted**. - - **Additional disks** – No changes - - **Network** – If you must change the defaults, for example, when configuring a production environment, select default Then, select EDIT on the opened **Network details** page. After making your changes select the  Save  button. + - **Tags** – If a default tag appears (for example, {{}}**nginx-plus-app-1-tcp-80**{{}}), click the **X** after its name to remove it. Then, type in {{}}**nginx-plus-http-fw-rule**{{}}. + - {{}}**External IP**{{}} – **Ephemeral** (the default) + - {{}}**Boot disk and local disks**{{}} – Uncheck the checkbox labeled **Delete boot disk when instance is deleted**. + - {{}}**Additional disks**{{}} – No changes + - **Network** – If you must change the defaults, for example, when configuring a production environment, select default Then, select EDIT on the opened {{}}**Network details**{{}} page. After making your changes select the  Save  button. - **Firewall** – Verify that neither check box is checked (the default). The firewall rule named in the **Tags** field that's above on the current page (see the first bullet in this list) controls this type of access. - - **Automatic restart** – **On (recommended)** (the default) - - **On host maintenance** – **Migrate VM instance (recommended)** (the default) - - **Custom metadata** – No changes - - **SSH Keys** – If you're using your own SSH public key instead of your default GCE keys, paste the hexadecimal key string into the box labeled **Enter entire key data**. - - **Serial port** – Verify that the check box labeled **Enable connecting to serial ports** is not checked (the default). + - {{}}**Automatic restart**{{}} – {{}}**On (recommended)**{{}} (the default) + - {{}}**On host maintenance**{{}} – {{}}**Migrate VM instance (recommended)**{{}} (the default) + - {{}}**Custom metadata**{{}} – No changes + - {{}}**SSH Keys**{{}} – If you're using your own SSH public key instead of your default GCE keys, paste the hexadecimal key string into the box labeled {{}}**Enter entire key data**{{}}. + - {{}}**Serial port**{{}} – Verify that the check box labeled {{}}**Enable connecting to serial ports**{{}} is not checked (the default). The screenshot shows the results of your changes. It omits some fields that can't be edited or for which we recommend keeping the defaults. @@ -423,29 +423,29 @@ Create three source instances based on a prebuilt NGINX Plus image running on < Create the second application instance by cloning the first one. -1. Navigate back to the summary page on the **Compute Engine > VM instances** tab (click the arrow that is circled in the following figure). +1. Navigate back to the summary page on the {{}}**Compute Engine > VM instances**{{}} tab (click the arrow that is circled in the following figure). Screenshot showing how to return to the VM instance summary page during deployment of NGINX Plus as the Google Cloud Platform load balancer. -2. Click **nginx‑plus‑app‑1‑vm** in the Name column of the table (shown in the screenshot in Step 7 of Creating the First Application Instance). +2. Click {{}}**nginx-plus-app-1-vm**{{}} in the Name column of the table (shown in the screenshot in Step 7 of Creating the First Application Instance). -3. On the **VM instances** page that opens, click CLONE at the top of the page. +3. On the {{}}**VM instances**{{}} page that opens, click CLONE at the top of the page. -4. On the **Create an instance** page that opens, modify or verify the fields and checkboxes as indicated: +4. On the {{}}**Create an instance**{{}} page that opens, modify or verify the fields and checkboxes as indicated: - - **Name** – **nginx‑plus‑app‑2‑vm**. Here we're adding the **‑vm** suffix to make the name consistent with the first instance; GCE does not add it automatically when you clone an instance. - - **Zone** – The GCP zone that makes sense for your location. We're using **us‑west1‑a**. - - **Machine type** – The appropriate size for the level of traffic you anticipate. We're selecting **f1‑micro**, which is ideal for testing purposes. - - **Boot disk type** – **New 10 GB standard persistent disk** (the value inherited from **nginx‑plus‑app‑1‑vm**) - - **Identity and API access** – Set the **Access scopes** radio button to **Allow default access** and accept the default values in all other fields. If you want more granular control over access than is provided by these settings, modify the fields in this section as appropriate. + - **Name** – {{}}**nginx-plus-app-2-vm**{{}}. Here we're adding the {{}}**-vm**{{}} suffix to make the name consistent with the first instance; GCE does not add it automatically when you clone an instance. + - **Zone** – The GCP zone that makes sense for your location. We're using {{}}**us-west1-a**{{}}. + - {{}}**Machine type**{{}} – The appropriate size for the level of traffic you anticipate. We're selecting {{}}**f1-micro**{{}}, which is ideal for testing purposes. + - {{}}**Boot disk type**{{}} – {{}}**New 10 GB standard persistent disk**{{}} (the value inherited from {{}}**nginx-plus-app-1-vm**{{}}) + - {{}}**Identity and API access**{{}} – Set the {{}}**Access scopes**{{}} radio button to {{}}**Allow default access**{{}} and accept the default values in all other fields. If you want more granular control over access than is provided by these settings, modify the fields in this section as appropriate. - **Firewall** – Verify that neither check box is checked (the default). 5. Click Management, disk, networking, SSH keys to open that set of subtabs. 6. Verify the following settings on the subtabs, modifying them as necessary: - - **Management** – In the **Tags** field: **nginx‑plus‑http‑fw‑rule** - - **Disks** – The **Deletion rule** checkbox (labeled **Delete boot disk when instance is deleted**) is not checked + - **Management** – In the **Tags** field: {{}}**nginx-plus-http-fw-rule**{{}} + - **Disks** – The {{}}**Deletion rule**{{}} checkbox (labeled **Delete boot disk when instance is deleted**) is not checked 7. Select the  Create  button. @@ -454,21 +454,21 @@ Create the second application instance by cloning the first one. Create the source load‑balancing instance by cloning the first instance again. -Repeat Steps 2 through 7 of Creating the Second Application Instance. In Step 4, specify **nginx‑plus‑lb‑vm** as the name. +Repeat Steps 2 through 7 of Creating the Second Application Instance. In Step 4, specify {{}}**nginx-plus-lb-vm**{{}} as the name. #### Configuring PHP and FastCGI on the Prebuilt-Based Instances Install and configure PHP and FastCGI on the instances. -Repeat these instructions for all three source instances (**nginx‑plus‑app‑1‑vm**, **nginx‑plus‑app‑2‑vm**, and **nginx‑plus‑lb‑vm**). +Repeat these instructions for all three source instances ({{}}**nginx-plus-app-1-vm**{{}}, {{}}**nginx-plus-app-2-vm**{{}}, and {{}}**nginx-plus-lb-vm**{{}}). **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. 1. Connect to the instance over SSH using the method of your choice. GCE provides a built‑in mechanism: - - Navigate to the **Compute Engine > VM instances** tab. - - In the table, find the row for the instance. Select the triangle icon in the **Connect** column at the far right. Then, select a method (for example, **Open in browser window**). + - Navigate to the {{}}**Compute Engine > VM instances**{{}} tab. + - In the table, find the row for the instance. Select the triangle icon in the **Connect** column at the far right. Then, select a method (for example, {{}}**Open in browser window**{{}}). The screenshot shows instances based on the prebuilt NGINX Plus images. @@ -511,7 +511,7 @@ Now download files that are specific to the all‑active deployment: Both the configuration and content files are available at the [NGINX GitHub repository](https://github.com/nginxinc/NGINX-Demos/tree/master/gce-nginx-plus-deployment-guide-files). -Repeat these instructions for all three source instances (**nginx‑plus‑app‑1‑vm**, **nginx‑plus‑app‑2‑vm**, and **nginx‑plus‑lb‑vm**). +Repeat these instructions for all three source instances ({{}}**nginx-plus-app-1-vm**{{}}, {{}}**nginx-plus-app-2-vm**{{}}, and {{}}**nginx-plus-lb-vm**{{}}). **Note:** Some commands require `root` privilege. If appropriate for your environment, prefix commands with the `sudo` command. @@ -522,7 +522,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo 3. Copy the right configuration file from the **etc\_nginx\_conf.d** subdirectory of the cloned repository to **/etc/nginx/conf.d**: - - On both **nginx‑plus‑app‑1‑vm** and **nginx‑plus‑app‑2‑vm**, copy **gce‑all‑active‑app.conf**. + - On both {{}}**nginx-plus-app-1-vm**{{}} and {{}}**nginx-plus-app-2-vm**{{}}, copy {{}}**gce-all-active-app.conf**{{}}. You can also run these commands to download the configuration file from GitHub: @@ -538,7 +538,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo wget https://github.com/nginxinc/NGINX-Demos/blob/master/gce-nginx-plus-deployment-guide-files/etc_nginx_conf.d/gce-all-active-app.conf ``` - - On **nginx‑plus‑lb‑vm**, copy **gce‑all‑active‑lb.conf**. + - On {{}}**nginx-plus-lb-vm**{{}}, copy {{}}**gce-all-active-lb.conf**{{}}. You can also run the following commands to download the configuration file directly from the GitHub repository: @@ -554,9 +554,9 @@ Both the configuration and content files are available at the [NGINX GitHub repo wget https://github.com/nginxinc/NGINX-Demos/blob/master/gce-nginx-plus-deployment-guide-files/etc_nginx_conf.d/gce-all-active-lb.conf ``` -4. On the LB instance (**nginx‑plus‑lb‑vm**), use a text editor to open **gce‑all‑active‑lb.conf**. Change the `server` directives in the `upstream` block to reference the internal IP addresses of the **nginx‑plus‑app‑1‑vm** and **nginx‑plus‑app‑2‑vm** instances. (No action is required on the two application instances themselves.) +4. On the LB instance ({{}}**nginx-plus-lb-vm**{{}}), use a text editor to open {{}}**gce-all-active-lb.conf**{{}}. Change the `server` directives in the `upstream` block to reference the internal IP addresses of the {{}}**nginx-plus-app-1-vm**{{}} and {{}}**nginx-plus-app-2-vm**{{}} instances. (No action is required on the two application instances themselves.) - You can look up internal IP addresses in the **Internal IP** column of the table on the **Compute Engine > VM instances** summary page. + You can look up internal IP addresses in the {{}}**Internal IP**{{}} column of the table on the {{}}**Compute Engine > VM instances**{{}} summary page. ```nginx upstream upstream_app_pool { @@ -598,7 +598,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo nginx -s reload ``` -8. Verify the instance is working by accessing it at its external IP address. (As noted, we recommend blocking access, in production, to the external IPs of the app.) The external IP address for the instance appears on the **Compute Engine > VM instances** summary page, in the **External IP** column of the table. +8. Verify the instance is working by accessing it at its external IP address. (As noted, we recommend blocking access, in production, to the external IPs of the app.) The external IP address for the instance appears on the {{}}**Compute Engine > VM instances**{{}} summary page, in the {{}}**External IP**{{}} column of the table. - Access the **index.html** page either in a browser or by running this `curl` command. @@ -608,7 +608,7 @@ Both the configuration and content files are available at the [NGINX GitHub repo - Access the NGINX Plus live activity monitoring dashboard in a browser, at: - **https://_external‑IP‑address‑of‑NGINX‑Plus‑server_:8080/dashboard.html** + {{}}**https://_external-IP-address-of-NGINX-Plus-server_:8080/dashboard.html**{{}} 9. Proceed to [Task 3: Creating "Gold" Images](#gold). @@ -617,14 +617,14 @@ Both the configuration and content files are available at the [NGINX GitHub repo Create _gold images_, which are base images that GCE clones automatically when it needs to scale up the number of instances. They are derived from the instances you created in [Creating Source Instances](#source). Before creating the images, delete the source instances. This breaks the attachment between them and the disk. (you can't create an image from a disk attached to a VM instance). -1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX {{}}Plus All-Active-LB**{{}} project is still selected in the Google Cloud Platform header bar. -2. Navigate to the **Compute Engine > VM instances** tab. +2. Navigate to the {{}}**Compute Engine > VM instances**{{}} tab. 3. In the table, select all three instances: - - If you created source instances from [VM (Ubuntu) images](#source-vm): **nginx‑plus‑app‑1**, **nginx‑plus‑app‑2**, and **nginx‑plus‑lb** - - If you created source instances from [prebuilt NGINX Plus images](#source-prebuilt): **nginx‑plus‑app‑1‑vm**, **nginx‑plus‑app‑2‑vm**, and **nginx‑plus‑lb‑vm** + - If you created source instances from [VM (Ubuntu) images](#source-vm): {{}}**nginx-plus-app-1**{{}}, {{}}**nginx-plus-app-2**{{}}, and {{}}**nginx-plus-lb**{{}} + - If you created source instances from [prebuilt NGINX Plus images](#source-prebuilt): {{}}**nginx-plus-app-1-vm**{{}}, {{}}**nginx-plus-app-2-vm**{{}}, and {{}}**nginx-plus-lb-vm**{{}} 4. Click STOP in the top toolbar to stop the instances. @@ -634,43 +634,43 @@ Create _gold images_, which are base images that GCE clones automatically when i **Note:** If the pop-up warns that it will delete the boot disk for any instance, cancel the deletion. Then, perform the steps below for each affected instance: - - Navigate to the **Compute Engine > VM instances** tab and click the instance in the Name column in the table. (The screenshot shows **nginx‑plus‑app‑1‑vm**.) + - Navigate to the {{}}**Compute Engine > VM instances**{{}} tab and click the instance in the Name column in the table. (The screenshot shows {{}}**nginx-plus-app-1-vm**.){{}} Screenshot showing how to access the page where configuration details for a VM instance can be modified during deployment of NGINX Plus as the Google Cloud load balancer. - - On the **VM instances** page that opens, click EDIT at the top of the page. In fields that can be edited, the value changes from static text to text boxes, drop‑down menus, and checkboxes. - - In the **Boot disk and local disks** field, uncheck the checkbox labeled **Delete boot disk when instance is deleted**. + - On the {{}}**VM instances**{{}} page that opens, click EDIT at the top of the page. In fields that can be edited, the value changes from static text to text boxes, drop‑down menus, and checkboxes. + - In the {{}}**Boot disk and local disks**{{}} field, uncheck the checkbox labeled **Delete boot disk when instance is deleted**. - Click the  Save  button. - - On the **VM instances** summary page, select the instance in the table and click DELETE in the top toolbar to delete it. + - On the {{}}**VM instances**{{}} summary page, select the instance in the table and click DELETE in the top toolbar to delete it. -6. Navigate to the **Compute Engine > Images** tab. +6. Navigate to the {{}}**Compute Engine > Images**{{}} tab. 7. Click [+] CREATE IMAGE. -8. On the **Create an image** page that opens, modify or verify the fields as indicated: +8. On the {{}}**Create an image**{{}} page that opens, modify or verify the fields as indicated: - - **Name** – **nginx‑plus‑app‑1‑image** + - **Name** – {{}}**nginx-plus-app-1-image**{{}} - **Family** – Leave the field empty - **Description** – **NGINX Plus Application 1 Gold Image** - - **Encryption** – **Automatic (recommended)** (the default) + - **Encryption** – {{}}**Automatic (recommended)**{{}} (the default) - **Source** – **Disk** (the default) - - **Source disk** – **nginx‑plus‑app‑1** or **nginx‑plus‑app‑1‑vm**, depending on the method you used to create source instances (select the source instance from the drop‑down menu) + - {{}}**Source disk**{{}} – {{}}**nginx-plus-app-1**{{}} or {{}}**nginx-plus-app-1-vm**{{}}, depending on the method you used to create source instances (select the source instance from the drop‑down menu) 9. Click the  Create  button. 10. Repeat Steps 7 through 9 to create a second image with the following values (retain the default values in all other fields): - - **Name** – **nginx‑plus‑app‑2‑image** - - **Description** – **NGINX Plus Application 2 Gold Image** - - **Source disk** – **nginx‑plus‑app‑2** or **nginx‑plus‑app‑2‑vm**, depending on the method you used to create source instances (select the source instance from the drop‑down menu) + - **Name** – {{}}**nginx-plus-app-2-image**{{}} + - **Description** – **NGINX {{}}Plus Application 2 Gold Image**{{}} + - {{}}**Source disk**{{}} – {{}}**nginx-plus-app-2**{{}} or {{}}**nginx-plus-app-2-vm**{{}}, depending on the method you used to create source instances (select the source instance from the drop‑down menu) 11. Repeat Steps 7 through 9 to create a third image with the following values (retain the default values in all other fields): - - **Name** – **nginx‑plus‑lb‑image** + - **Name** – {{}}**nginx-plus-lb-image**{{}} - **Description** – **NGINX Plus LB Gold Image** - - **Source disk** – **nginx‑plus‑lb** or **nginx‑plus‑lb‑vm**, depending on the method you used to create source instances (select the source instance from the drop‑down menu) + - {{}}**Source disk**{{}} – {{}}**nginx-plus-lb**{{}} or {{}}**nginx-plus-lb-vm**{{}}, depending on the method you used to create source instances (select the source instance from the drop‑down menu) -12. Verify that the three images appear at the top of the table on the **Compute Engine > Images** tab. +12. Verify that the three images appear at the top of the table on the {{}}**Compute Engine > Images**{{}} tab. ## Task 4: Creating Instance Templates @@ -681,31 +681,31 @@ Create _instance templates_. They are the compute workloads in instance groups. ### Creating the First Application Instance Template -1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX {{}}Plus All-Active-LB**{{}} project is still selected in the Google Cloud Platform header bar. -2. Navigate to the **Compute Engine > Instance templates** tab. +2. Navigate to the {{}}**Compute Engine > Instance templates**{{}} tab. 3. Click the  Create instance template  button. -4. On the **Create an instance template** page that opens, modify or verify the fields as indicated: +4. On the {{}}**Create an instance template**{{}} page that opens, modify or verify the fields as indicated: - - **Name** – **nginx‑plus‑app‑1‑instance‑template** - - **Machine type** – The appropriate size for the level of traffic you anticipate. We're selecting **micro**, which is ideal for testing purposes. - - **Boot disk** – Click **Change**. The **Boot disk** page opens. Perform the following steps: + - **Name** – {{}}**nginx-plus-app-1-instance-template**{{}} + - {{}}**Machine type**{{}} – The appropriate size for the level of traffic you anticipate. We're selecting **micro**, which is ideal for testing purposes. + - {{}}**Boot disk**{{}} – Click **Change**. The {{}}**Boot disk**{{}} page opens. Perform the following steps: - - Open the **Custom Images** subtab. + - Open the {{}}**Custom Images**{{}} subtab. Screenshot of the 'Boot disk' page in Google Cloud Platform for selecting the source instance of a new instance template, part of deploying NGINX Plus as the Google load balancer. - - Select **NGINX Plus All‑Active‑LB** from the drop-down menu labeled **Show images from**. + - Select **NGINX {{}}Plus All-Active-LB**{{}} from the drop-down menu labeled {{}}**Show images from**{{}}. - - Click the **nginx‑plus‑app‑1‑image** radio button. + - Click the {{}}**nginx-plus-app-1-image**{{}} radio button. - - Accept the default values in the **Boot disk type** and **Size (GB)** fields (**Standard persistent disk** and **10** respectively). + - Accept the default values in the {{}}**Boot disk type**{{}} and {{}}**Size (GB)**{{}} fields ({{}}**Standard persistent disk**{{}} and **10** respectively). - Click the  Select  button. - - **Identity and API access** – Unless you want more granular control over access, keep the defaults in the **Service account** field (**Compute Engine default service account**) and **Access scopes** field (**Allow default access**). + - {{}}**Identity and API access**{{}} – Unless you want more granular control over access, keep the defaults in the {{}}**Service account**{{}} field (**Compute Engine default service account**) and {{}}**Access scopes**{{}} field ({{}}**Allow default access**{{}}). - **Firewall** – Verify that neither check box is checked (the default). The firewall rule invoked in the **Tags** field on the **Management** subtab (see Step 6 below) controls this type of access. 5. Select Management, disk, networking, SSH keys (indicated with a red arrow in the following screenshot) to open that set of subtabs. @@ -714,11 +714,11 @@ Create _instance templates_. They are the compute workloads in instance groups. 6. On the **Management** subtab, modify or verify the fields as indicated: - - **Description** – **NGINX Plus app‑1 Instance Template** - - **Tags** – **nginx‑plus‑http‑fw‑rule** - - **Preemptibility** – **Off (recommended)** (the default) - - **Automatic restart** – **On (recommended)** (the default) - - **On host maintenance** – **Migrate VM instance (recommended)** (the default) + - **Description** – **NGINX {{}}Plus app-1 Instance Template**{{}} + - **Tags** – {{}}**nginx-plus-http-fw-rule**{{}} + - **Preemptibility** – {{}}**Off (recommended)**{{}} (the default) + - {{}}**Automatic restart**{{}} – {{}}**On (recommended)**{{}} (the default) + - {{}}**On host maintenance**{{}} – {{}}**Migrate VM instance (recommended)**{{}} (the default) Screenshot of the Management subtab used during creation of a new VM instance template, part of deploying NGINX Plus as the Google load balancer. @@ -728,11 +728,11 @@ Create _instance templates_. They are the compute workloads in instance groups. Screenshot of the Disks subtab used during creation of a new VM instance template, part of deploying NGINX Plus as the Google Cloud load balancer. -8. On the **Networking** subtab, verify the default settings of **Ephemeral** for **External IP** and **Off** for **IP Forwarding**. +8. On the **Networking** subtab, verify the default settings of **Ephemeral** for {{}}**External IP**{{}} and **Off** for {{}}**IP Forwarding**{{}}. Screenshot of the Networking subtab used during creation of a new VM instance template, part of deploying NGINX Plus as the Google load balancer. -9. If you're using your own SSH public key instead of your default keys, paste the hexadecimal key string on the **SSH Keys** subtab. Right into the box that reads **Enter entire key data**. +9. If you're using your own SSH public key instead of your default keys, paste the hexadecimal key string on the {{}}**SSH Keys**{{}} subtab. Right into the box that reads {{}}**Enter entire key data**{{}}. Screenshot of the SSH Keys subtab used during creation of a new VM instance, part of deploying NGINX Plus as the Google Cloud Platform load balancer. @@ -741,25 +741,25 @@ Create _instance templates_. They are the compute workloads in instance groups. ### Creating the Second Application Instance Template -1. On the **Instance templates** summary page, click CREATE INSTANCE TEMPLATE. +1. On the {{}}**Instance templates**{{}} summary page, click CREATE INSTANCE TEMPLATE. 2. Repeat Steps 4 through 10 of Creating the First Application Instance Template to create a second application instance template. Use the same values as for the first instance template, except as noted: - In Step 4: - - **Name** – **nginx‑plus‑app‑2‑instance‑template** - - **Boot disk** – Click the **nginx‑plus‑app‑2‑image** radio button - - In Step 6, **Description** – **NGINX Plus app‑2 Instance Template** + - **Name** – {{}}**nginx-plus-app-2-instance-template**{{}} + - {{}}**Boot disk**{{}} – Click the {{}}**nginx-plus-app-2-image**{{}} radio button + - In Step 6, **Description** – **NGINX {{}}Plus app-2 Instance Template**{{}} ### Creating the Load-Balancing Instance Template -1. On the **Instance templates** summary page, click CREATE INSTANCE TEMPLATE. +1. On the {{}}**Instance templates**{{}} summary page, click CREATE INSTANCE TEMPLATE. 2. Repeat Steps 4 through 10 of Creating the First Application Instance Template to create the load‑balancing instance template. Use the same values as for the first instance template, except as noted: - In Step 4: - - **Name** – **nginx‑plus‑lb‑instance‑template**. - - **Boot disk** – Click the **nginx‑plus‑lb‑image** radio button + - **Name** – {{}}**nginx-plus-lb-instance-template**{{}}. + - {{}}**Boot disk**{{}} – Click the {{}}**nginx-plus-lb-image**{{}} radio button - In Step 6, **Description** – **NGINX Plus Load‑Balancing Instance Template** @@ -768,28 +768,28 @@ Create _instance templates_. They are the compute workloads in instance groups. Define the simple HTTP health check that GCE uses. This verifies that each NGINX Plus LB image is running (and to re-create any LB instance that isn't running). -1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX {{}}Plus All-Active-LB**{{}} project is still selected in the Google Cloud Platform header bar. -2. Navigate to the **Compute Engine > Health checks** tab. +2. Navigate to the {{}}**Compute Engine > Health checks**{{}} tab. 3. Click the  Create a health check  button. -4. On the **Create a health check** page that opens, modify or verify the fields as indicated: +4. On the {{}}**Create a health check**{{}} page that opens, modify or verify the fields as indicated: - - **Name** – **nginx‑plus‑http‑health‑check** + - **Name** – {{}}**nginx-plus-http-health-check**{{}} - **Description** – **Basic HTTP health check to monitor NGINX Plus instances** - **Protocol** – **HTTP** (the default) - **Port** – **80** (the default) - - **Request path** – **/status‑old.html** + - {{}}**Request path**{{}} – {{}}**/status-old.html**{{}} -5. If the **Health criteria** section is not already open, click More. +5. If the {{}}**Health criteria**{{}} section is not already open, click More. 6. Modify or verify the fields as indicated: - - **Check interval** – **10 seconds** - - **Timeout** – **10 seconds** - - **Healthy threshold** – **2 consecutive successes** (the default) - - **Unhealthy threshold** – **10 consecutive failures** + - {{}}**Check interval**{{}} – {{}}**10 seconds**{{}} + - **Timeout** – {{}}**10 seconds**{{}} + - {{}}**Healthy threshold**{{}} – {{}}**2 consecutive successes**{{}} (the default) + - {{}}**Unhealthy threshold**{{}} – {{}}**10 consecutive failures**{{}} 7. Click the  Create  button. @@ -800,28 +800,28 @@ Define the simple HTTP health check that GCE uses. This verifies that each NGINX Create three independent instance groups, one for each type of function-specific instance. -1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX {{}}Plus All-Active-LB**{{}} project is still selected in the Google Cloud Platform header bar. -2. Navigate to the **Compute Engine > Instance groups** tab. +2. Navigate to the {{}}**Compute Engine > Instance groups**{{}} tab. 3. Click the  Create instance group  button. ### Creating the First Application Instance Group -1. On the **Create a new instance group** page that opens, modify or verify the fields as indicated. Ignore fields that are not mentioned: +1. On the {{}}**Create a new instance group**{{}} page that opens, modify or verify the fields as indicated. Ignore fields that are not mentioned: - - **Name** – **nginx‑plus‑app‑1‑instance‑group** + - **Name** – {{}}**nginx-plus-app-1-instance-group**{{}} - **Description** – **Instance group to host NGINX Plus app-1 instances** - **Location** – - - Click the **Single‑zone** radio button (the default). - - **Zone** – The GCP zone you specified when you created source instances (Step 1 of [Creating the First Application Instance from a VM Image](#source-vm-app-1) or Step 5 of [Creating the First Application Instance from a Prebuilt Image](#source-prebuilt)). We're using **us‑west1‑a**. - - **Creation method** – **Use instance template** radio button (the default) - - **Instance template** – **nginx‑plus‑app‑1‑instance‑template** (select from the drop-down menu) + - Click the {{}}**Single-zone**{{}} radio button (the default). + - **Zone** – The GCP zone you specified when you created source instances (Step 1 of [Creating the First Application Instance from a VM Image](#source-vm-app-1) or Step 5 of [Creating the First Application Instance from a Prebuilt Image](#source-prebuilt)). We're using {{}}**us-west1-a**{{}}. + - {{}}**Creation method**{{}} – {{}}**Use instance template**{{}} radio button (the default) + - {{}}**Instance template**{{}} – {{}}**nginx-plus-app-1-instance-template**{{}} (select from the drop-down menu) - **Autoscaling** – **Off** (the default) - - **Number of instances** – **2** - - **Health check** – **nginx‑plus‑http‑health‑check** (select from the drop-down menu) - - **Initial delay** – **300 seconds** (the default) + - {{}}**Number of instances**{{}} – **2** + - {{}}**Health check**{{}} – {{}}**nginx-plus-http-health-check**{{}} (select from the drop-down menu) + - {{}}**Initial delay**{{}} – {{}}**300 seconds**{{}} (the default) 3. Click the  Create  button. @@ -834,25 +834,25 @@ Create three independent instance groups, one for each type of function-specific 2. Repeat the steps in [Creating the First Application Instance Group](#groups-app-1) to create a second application instance group. Specify the same values as for the first instance template, except for these fields: - - **Name** – **nginx‑plus‑app‑2‑instance‑group** + - **Name** – {{}}**nginx-plus-app-2-instance-group**{{}} - **Description** – **Instance group to host NGINX Plus app-2 instances** - - **Instance template** – **nginx‑plus‑app‑2‑instance‑template** (select from the drop-down menu) + - {{}}**Instance template**{{}} – {{}}**nginx-plus-app-2-instance-template**{{}} (select from the drop-down menu) ### Creating the Load-Balancing Instance Group -1. On the **Instance groups** summary page, click CREATE INSTANCE GROUP. +1. On the {{}}**Instance groups**{{}} summary page, click CREATE INSTANCE GROUP. 2. Repeat the steps in [Creating the First Application Instance Group](#groups-app-1) to create the load‑balancing instance group. Specify the same values as for the first instance template, except for these fields: - - **Name** – **nginx‑plus‑lb‑instance‑group** + - **Name** – {{}}**nginx-plus-lb-instance-group**{{}} - **Description** – **Instance group to host NGINX Plus load balancing instances** - - **Instance template** – **nginx‑plus‑lb‑instance‑template** (select from the drop-down menu) + - {{}}**Instance template**{{}} – {{}}**nginx-plus-lb-instance-template**{{}} (select from the drop-down menu) ### Updating and Testing the NGINX Plus Configuration -Update the NGINX Plus configuration on the two LB instances (**nginx‑plus‑lb‑instance‑group‑[a...z]**). It should list the internal IP addresses of the four application servers (two instances each of **nginx‑plus‑app‑1‑instance‑group‑[a...z]** and **nginx‑plus‑app‑2‑instance‑group‑[a...z]**). +Update the NGINX Plus configuration on the two LB instances ({{}}**nginx-plus-lb-instance-group-[a...z]**{{}}). It should list the internal IP addresses of the four application servers (two instances each of {{}}**nginx-plus-app-1-instance-group-[a...z]**{{}} and {{}}**nginx-plus-app-2-instance-group-[a...z]**{{}}). Repeat these instructions for both LB instances. @@ -860,10 +860,10 @@ Update the NGINX Plus configuration on the two LB instances (**nginx‑plus 1. Connect to the LB instance over SSH using the method of your choice. GCE provides a built-in mechanism: - - Navigate to the **Compute Engine > VM instances** tab. - - In the table, find the row for the instance. Click the triangle icon in the **Connect** column at the far right. Then, select a method (for example, **Open in browser window**). + - Navigate to the {{}}**Compute Engine > VM instances**{{}} tab. + - In the table, find the row for the instance. Click the triangle icon in the **Connect** column at the far right. Then, select a method (for example, {{}}**Open in browser window**{{}}). -2. In the SSH terminal, use your preferred text editor to edit **gce‑all‑active‑lb.conf**. Change the `server` directives in the `upstream` block to reference the internal IPs of the two **nginx‑plus‑app‑1‑instance‑group‑[a...z]** instances and the two **nginx‑plus‑app‑2‑instance‑group‑[a...z]** instances. You can check the addresses in the **Internal IP** column of the table on the **Compute Engine > VM instances** summary page. For example: +2. In the SSH terminal, use your preferred text editor to edit {{}}**gce-all-active-lb.conf**{{}}. Change the `server` directives in the `upstream` block to reference the internal IPs of the two {{}}**nginx-plus-app-1-instance-group-[a...z]**{{}} instances and the two {{}}**nginx-plus-app-2-instance-group-[a...z]**{{}} instances. You can check the addresses in the {{}}**Internal IP**{{}} column of the table on the {{}}**Compute Engine > VM instances**{{}} summary page. For example: ```nginx upstream upstream_app_pool { @@ -887,9 +887,9 @@ Update the NGINX Plus configuration on the two LB instances (**nginx‑plus nginx -s reload ``` -4. Verify that the four application instances are receiving traffic and responding. To do this, access the NGINX Plus live activity monitoring dashboard on the load-balancing instance (**nginx‑plus‑lb‑instance‑group‑[a...z]**). You can see the instance's external IP address on the **Compute Engine > VM instances** summary page in the **External IP** column of the table. +4. Verify that the four application instances are receiving traffic and responding. To do this, access the NGINX Plus live activity monitoring dashboard on the load-balancing instance ({{}}**nginx-plus-lb-instance-group-[a...z]**{{}}). You can see the instance's external IP address on the {{}}**Compute Engine > VM instances**{{}} summary page in the {{}}**External IP**{{}} column of the table. - **https://_LB‑external‑IP‑address_:8080/status.html** + {{}}**https://_LB-external-IP-address_:8080/status.html**{{}} 5. Verify that NGINX Plus is load balancing traffic among the four application instance groups. Do this by running this command on a separate client machine: @@ -904,50 +904,50 @@ Update the NGINX Plus configuration on the two LB instances (**nginx‑plus Set up a GCE network load balancer. It will distribute incoming client traffic to the NGINX Plus LB instances. First, reserve the static IP address the GCE network load balancer advertises to clients. -1. Verify that the **NGINX Plus All‑Active‑LB** project is still selected in the Google Cloud Platform header bar. +1. Verify that the **NGINX {{}}Plus All-Active-LB**{{}} project is still selected in the Google Cloud Platform header bar. -2. Navigate to the **Networking > External IP addresses** tab. +2. Navigate to the {{}}**Networking > External IP addresses**{{}} tab. 3. Click the  Reserve static address  button. -4. On the **Reserve a static address** page that opens, modify or verify the fields as indicated: +4. On the {{}}**Reserve a static address**{{}} page that opens, modify or verify the fields as indicated: - - **Name** – **nginx‑plus‑network‑lb‑static‑ip** + - **Name** – {{}}**nginx-plus-network-lb-static-ip**{{}} - **Description** – **Static IP address for Network LB frontend to NGINX Plus LB instances** - **Type** – Click the **Regional** radio button (the default) - - **Region** – The GCP zone you specified when you created source instances (Step 1 of [Creating the First Application Instance from a VM Image](#source-vm-app-1) or Step 5 of [Creating the First Application Instance from a Prebuilt Image](#source-prebuilt)). We're using **us‑west1**. - - **Attached to** – **None** (the default) + - **Region** – The GCP zone you specified when you created source instances (Step 1 of [Creating the First Application Instance from a VM Image](#source-vm-app-1) or Step 5 of [Creating the First Application Instance from a Prebuilt Image](#source-prebuilt)). We're using {{}}**us-west1**{{}}. + - {{}}**Attached to**{{}} – **None** (the default) 5. Click the  Reserve  button. Screenshot of the interface for reserving a static IP address for Google Compute Engine network load balancer. -6. Navigate to the **Networking > Load balancing** tab. +6. Navigate to the {{}}**Networking > Load balancing**{{}} tab. 7. Click the  Create load balancer  button. -8. On the **Load balancing** page that opens, click **Start configuration** in the **TCP Load Balancing** box. +8. On the {{}}**Load balancing**{{}} page that opens, click {{}}**Start configuration**{{}} in the {{}}**TCP Load Balancing**{{}} box. -9. On the page that opens, click the **From Internet to my VMs** and **No (TCP)** radio buttons (the defaults). +9. On the page that opens, click the {{}}**From Internet to my VMs**{{}} and {{}}**No (TCP)**{{}} radio buttons (the defaults). -10. Click the  Continue  button. The **New TCP load balancer** page opens. +10. Click the  Continue  button. The {{}}**New TCP load balancer**{{}} page opens. -11. In the **Name** field, type **nginx‑plus‑network‑lb‑frontend**. +11. In the **Name** field, type {{}}**nginx-plus-network-lb-frontend**{{}}. -12. Click **Backend configuration** in the left column to open the **Backend configuration** interface in the right column. Fill in the fields as indicated: +12. Click {{}}**Backend configuration**{{}} in the left column to open the {{}}**Backend configuration**{{}} interface in the right column. Fill in the fields as indicated: - - **Region** – The GCP region you specified in Step 4. We're using **us‑west1**. - - **Backends** – With **Select existing instance groups** selected, select **nginx‑plus‑lb‑instance‑group** from the drop-down menu - - **Backup pool** – **None** (the default) - - **Failover ratio** – **10** (the default) - - **Health check** – **nginx‑plus‑http‑health‑check** - - **Session affinity** – **Client IP** + - **Region** – The GCP region you specified in Step 4. We're using {{}}**us-west1**{{}}. + - **Backends** – With {{}}**Select existing instance groups**{{}} selected, select {{}}**nginx-plus-lb-instance-group**{{}} from the drop-down menu + - {{}}**Backup pool**{{}} – **None** (the default) + - {{}}**Failover ratio**{{}} – **10** (the default) + - {{}}**Health check**{{}} – {{}}**nginx-plus-http-health-check**{{}} + - {{}}**Session affinity**{{}} – {{}}**Client IP**{{}} Screenshot of the interface for backend configuration of GCE network load balancer, used during deployment of NGINX Plus as the Google Cloud Platform load balancer. -13. Select **Frontend configuration** in the left column. This opens up the **Frontend configuration** interface on the right column. +13. Select {{}}**Frontend configuration**{{}} in the left column. This opens up the {{}}**Frontend configuration**{{}} interface on the right column. -14. Create three **Protocol‑IP‑Port** tuples, each with: +14. Create three {{}}**Protocol-IP-Port**{{}} tuples, each with: - **Protocol** – **TCP** - **IP** – The address you reserved in Step 5, selected from the drop-down menu (if there is more than one address, select the one labeled in parentheses with the name you specified in Step 5) @@ -978,7 +978,7 @@ If load balancing is working properly, the unique **Server** field from the inde To verify that high availability is working: -1. Connect to one of the instances in the **nginx‑plus‑lb‑instance‑group** over SSH and run this command to force it offline: +1. Connect to one of the instances in the {{}}**nginx-plus-lb-instance-group**{{}} over SSH and run this command to force it offline: ```shell iptables -A INPUT -p tcp --destination-port 80 -j DROP diff --git a/content/nginx/deployment-guides/load-balance-third-party/apache-tomcat.md b/content/nginx/deployment-guides/load-balance-third-party/apache-tomcat.md index df0ff8cb6..0cc3af9b2 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/apache-tomcat.md +++ b/content/nginx/deployment-guides/load-balance-third-party/apache-tomcat.md @@ -171,7 +171,7 @@ http { } ``` -You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf**, this is an appropriate `include` directive: +You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files {{}}**_function_-http.conf**{{}}, this is an appropriate `include` directive: ```nginx http { @@ -294,7 +294,7 @@ To configure load balancing, first create a named _upstream group_, which lists 2. In the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), include two `location` blocks: - - The first one matches HTTPS requests in which the path starts with **/tomcat‑app/**, and proxies them to the **tomcat** upstream group we created in the previous step. + - The first one matches HTTPS requests in which the path starts with {{}}**/tomcat-app/**{{}}, and proxies them to the **tomcat** upstream group we created in the previous step. - The second one funnels all traffic to the first `location` block, by doing a temporary redirect of all requests for **"http://example.com/"**. @@ -409,7 +409,7 @@ To enable basic caching in NGINX Open Source< Directive documentation: [proxy_cache_path](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path) -2. In the `location` block that matches HTTPS requests in which the path starts with **/tomcat‑app/**, include the `proxy_cache` directive to reference the cache created in the previous step. +2. In the `location` block that matches HTTPS requests in which the path starts with {{}}**/tomcat-app/**{{}}, include the `proxy_cache` directive to reference the cache created in the previous step. ```nginx # In the 'server' block for HTTPS traffic @@ -440,11 +440,11 @@ HTTP/2 is fully supported in both NGINX Open - In NGINX Plus R8 and later, NGINX Plus supports HTTP/2 by default. (Support for SPDY is deprecated as of that release). Specifically: - In NGINX Plus R11 and later, the **nginx‑plus** package continues to support HTTP/2 by default, but the **nginx‑plus‑extras** package available in previous releases is deprecated by [dynamic modules](https://www.nginx.com/products/nginx/dynamic-modules/). + In NGINX Plus R11 and later, the {{}}**nginx-plus**{{}} package continues to support HTTP/2 by default, but the {{}}**nginx-plus-extras**{{}} package available in previous releases is deprecated by [dynamic modules](https://www.nginx.com/products/nginx/dynamic-modules/). - For NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. + For NGINX Plus R8 through R10, the {{}}**nginx-plus**{{}} and {{}}**nginx-plus-extras**{{}} packages support HTTP/2 by default. - If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. + If using NGINX Plus R7, you must install the {{}}**nginx-plus-http2**{{}} package instead of the {{}}**nginx-plus**{{}} or {{}}**nginx-plus-extras**{{}} package. To enable HTTP/2 support, add the `http2` directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: @@ -636,7 +636,7 @@ Health checks are out-of-band HTTP req Because the `health_check` directive is placed in the `location` block, we can enable different health checks for each application. -1. In the `location` block that matches HTTPS requests in which the path starts with **/tomcat‑app/** (created in [Configuring Basic Load Balancing](#load-balancing-basic)), add the `health_check` directive. +1. In the `location` block that matches HTTPS requests in which the path starts with {{}}**/tomcat-app/**{{}} (created in [Configuring Basic Load Balancing](#load-balancing-basic)), add the `health_check` directive. Here we configure NGINX Plus to send an out-of-band request for the top‑level URI **/** (slash) to each of the servers in the **tomcat** upstream group every 2 seconds, which is more aggressive than the default 5‑second interval. If a server does not respond correctly, it is marked down and NGINX Plus stops sending requests to it until it passes five subsequent health checks in a row. We include the `match` parameter to define a nondefault set of health‑check tests. @@ -719,7 +719,7 @@ The quickest way to configure the module and the built‑in dashboard is to down Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) - If you are using the conventional configuration scheme and your existing `include` directives use the wildcard notation discussed in [Creating and Modifying Configuration Files](#config-files), you can either add a separate `include` directive for **status.conf** as shown above, or change the name of **status.conf** so it is captured by the wildcard in an existing `include` directive in the `http` block. For example, changing it to **status‑http.conf** means it is captured by the `include` directive for `*-http.conf`. + If you are using the conventional configuration scheme and your existing `include` directives use the wildcard notation discussed in [Creating and Modifying Configuration Files](#config-files), you can either add a separate `include` directive for **status.conf** as shown above, or change the name of **status.conf** so it is captured by the wildcard in an existing `include` directive in the `http` block. For example, changing it to {{}}**status-http.conf**{{}} means it is captured by the `include` directive for `*-http.conf`. 3. Comments in **status.conf** explain which directives you must customize for your deployment. In particular, the default settings in the sample configuration file allow anyone on any network to access the dashboard. We strongly recommend that you restrict access to the dashboard with one or more of the following methods: diff --git a/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md b/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md index 912302769..bfaabc179 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md +++ b/content/nginx/deployment-guides/load-balance-third-party/microsoft-exchange.md @@ -371,7 +371,7 @@ To set up the conventional configuration scheme, perform these steps: Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) - You can also use wildcard notation to read all function‑specific files for either HTTP or TCP traffic into the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf** and all TCP configuration files **_function_‑stream.conf** (the filenames we specify in this section conform to this pattern), the wildcarded `include` directives are: + You can also use wildcard notation to read all function‑specific files for either HTTP or TCP traffic into the appropriate context block. For example, if you name all HTTP configuration files {{}}**_function_-http.conf**{{}} and all TCP configuration files {{}}**_function_-stream.conf**{{}} (the filenames we specify in this section conform to this pattern), the wildcarded `include` directives are: ```nginx http { @@ -383,9 +383,9 @@ To set up the conventional configuration scheme, perform these steps: } ``` -2. In the **/etc/nginx/conf.d** directory, create a new file called **exchange‑http.conf** for directives that pertain to Exchange HTTP and HTTPS traffic (or substitute the name you chose in Step 1). Copy in the directives from the `http` configuration block in the downloaded configuration file. Remember not to copy the first line (`http` `{`) or the closing curly brace (`}`) for the block, because the `http` block you created in Step 1 already has them. +2. In the **/etc/nginx/conf.d** directory, create a new file called {{}}**exchange-http.conf**{{}} for directives that pertain to Exchange HTTP and HTTPS traffic (or substitute the name you chose in Step 1). Copy in the directives from the `http` configuration block in the downloaded configuration file. Remember not to copy the first line (`http` `{`) or the closing curly brace (`}`) for the block, because the `http` block you created in Step 1 already has them. -3. Also in the **/etc/nginx/conf.d** directory, create a new file called **exchange‑stream.conf** for directives that pertain to Exchange TCP traffic (or substitute the name you chose in Step 1). Copy in the directives from the `stream` configuration block in the dowloaded configuration file. Again, do not copy the first line (`stream` `{`) or the closing curly brace (`}`). +3. Also in the **/etc/nginx/conf.d** directory, create a new file called {{}}**exchange-stream.conf**{{}} for directives that pertain to Exchange TCP traffic (or substitute the name you chose in Step 1). Copy in the directives from the `stream` configuration block in the dowloaded configuration file. Again, do not copy the first line (`stream` `{`) or the closing curly brace (`}`). For reference purposes, the text of the full configuration files is included in this document: @@ -468,7 +468,7 @@ The directives in the top‑level `stream` configuration block configure TCP loa } ``` -3. This `server` block defines the virtual server that proxies traffic on port 993 to the **exchange‑imaps** upstream group configured in Step 1. +3. This `server` block defines the virtual server that proxies traffic on port 993 to the {{}}**exchange-imaps**{{}} upstream group configured in Step 1. ```nginx # In the 'stream' block @@ -481,7 +481,7 @@ The directives in the top‑level `stream` configuration block configure TCP loa Directive documentation: [listen](https://nginx.org/en/docs/stream/ngx_stream_core_module.html#listen), [proxy_pass](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_pass), [server](https://nginx.org/en/docs/stream/ngx_stream_core_module.html#server), [status_zone](https://nginx.org/en/docs/http/ngx_http_status_module.html#status_zone) -4. This `server` block defines the virtual server that proxies traffic on port 25 to the **exchange‑smtp** upstream group configured in Step 2. If you wish to change the port number from 25 (for example, to 587), change the `listen` directive. +4. This `server` block defines the virtual server that proxies traffic on port 25 to the {{}}**exchange-smtp**{{}} upstream group configured in Step 2. If you wish to change the port number from 25 (for example, to 587), change the `listen` directive. ```nginx # In the 'stream' block @@ -615,11 +615,11 @@ HTTP/2 is fully supported in NGINX Plus R7
      NGINX Plus R8 and later, NGINX Plus supports HTTP/2 by default, and does not support SPDY: -- In NGINX Plus R11 and later, the **nginx‑plus** package continues to support HTTP/2 by default, but the **nginx‑plus‑extras** package available in previous releases is deprecated by [dynamic modules](https://www.nginx.com/products/nginx/dynamic-modules/). +- In NGINX Plus R11 and later, the {{}}**nginx-plus**{{}} package continues to support HTTP/2 by default, but the {{}}**nginx-plus-extras**{{}} package available in previous releases is deprecated by [dynamic modules](https://www.nginx.com/products/nginx/dynamic-modules/). -- For NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. +- For NGINX Plus R8 through R10, the {{}}**nginx-plus**{{}} and {{}}**nginx-plus-extras**{{}} packages support HTTP/2 by default. -If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. +If using NGINX Plus R7, you must install the {{}}**nginx-plus-http2**{{}} package instead of the {{}}**nginx-plus**{{}} or {{}}**nginx-plus-extras**{{}} package. To enable HTTP/2 support, add the `http2` directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: @@ -926,7 +926,7 @@ Exchange CASs interact with various applications used by clients on different ty } ``` - - Mobile clients like iPhone and Android access the ActiveSync location (**/Microsoft‑Server‑ActiveSync**). + - Mobile clients like iPhone and Android access the ActiveSync location ({{}}**/Microsoft-Server-ActiveSync**{{}}). ```nginx # In the 'server' block for HTTPS traffic @@ -1092,7 +1092,7 @@ The quickest way to configure the module and the built‑in dashboard is to down include conf.d/status.conf; ``` - If you are using the conventional configuration scheme and your existing `include` directives use the wildcard notation discussed in [Creating and Modifying Configuration Files](#config-files), you can either add a separate `include` directive for **status.conf** as shown above, or change the name of **status.conf** so it is captured by the wildcard in an existing `include` directive in the `http` block. For example, changing it to **status‑http.conf** means it is captured by the `include` directive for `*-http.conf`. + If you are using the conventional configuration scheme and your existing `include` directives use the wildcard notation discussed in [Creating and Modifying Configuration Files](#config-files), you can either add a separate `include` directive for **status.conf** as shown above, or change the name of **status.conf** so it is captured by the wildcard in an existing `include` directive in the `http` block. For example, changing it to {{}}**status-http.conf**{{}} means it is captured by the `include` directive for `*-http.conf`. Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) diff --git a/content/nginx/deployment-guides/load-balance-third-party/node-js.md b/content/nginx/deployment-guides/load-balance-third-party/node-js.md index c37183f64..93c8b64da 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/node-js.md +++ b/content/nginx/deployment-guides/load-balance-third-party/node-js.md @@ -175,7 +175,7 @@ http { Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) -You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf**, this is an appropriate `include` directive: +You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files {{}}**_function_-http.conf**{{}}, this is an appropriate `include` directive: ```nginx http { @@ -433,13 +433,13 @@ HTTP/2 is fully supported in both NGINX 1.9.5 and later, and NGINX Plus R7 and - If using NGINX Open Source, note that in version 1.9.5 and later the SPDY module is completely removed from the codebase and replaced with the [HTTP/2](https://nginx.org/en/docs/http/ngx_http_v2_module.html) module. After upgrading to version 1.9.5 or later, you can no longer configure NGINX Open Source to use SPDY. If you want to keep using SPDY, you need to compile NGINX Open Source from the sources in the [NGINX 1.8.x branch](https://nginx.org/en/download.html). -- If using NGINX Plus, in R11 and later the **nginx‑plus** package supports HTTP/2 by default, and the **nginx‑plus‑extras** package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. +- If using NGINX Plus, in R11 and later the {{}}**nginx-plus**{{}} package supports HTTP/2 by default, and the {{}}**nginx-plus-extras**{{}} package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. - In NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. + In NGINX Plus R8 through R10, the {{}}**nginx-plus**{{}} and {{}}**nginx-plus-extras**{{}} packages support HTTP/2 by default. In NGINX Plus R8 and later, NGINX Plus supports HTTP/2 by default, and does not support SPDY. - If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. + If using NGINX Plus R7, you must install the {{}}**nginx-plus-http2**{{}} package instead of the {{}}**nginx-plus**{{}} or {{}}**nginx-plus-extras**{{}} package. To enable HTTP/2 support, add the [http2](https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2) directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: @@ -459,7 +459,7 @@ To verify that HTTP/2 translation is working, you can use the "HTTP/2 and SPDY i The full configuration for basic load balancing appears here for your convenience. It goes in the `http` context. The complete file is available for [download](https://www.nginx.com/resource/conf/nodejs-basic.conf) from the NGINX website. -We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of **/etc/nginx/conf.d/nodejs‑basic.conf**. +We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of {{}}**/etc/nginx/conf.d/nodejs-basic.conf**{{}}. ```nginx proxy_cache_path /tmp/NGINX_cache/ keys_zone=backcache:10m; @@ -785,9 +785,9 @@ Parameter documentation: [service](https://nginx.org/en/docs/http/ngx_http_upstr The full configuration for enhanced load balancing appears here for your convenience. It goes in the `http` context. The complete file is available for [download](https://www.nginx.com/resource/conf/nodejs-enhanced.conf) from the NGINX website. -We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – namely, add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of **/etc/nginx/conf.d/nodejs‑enhanced.conf**. +We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – namely, add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of {{}}**/etc/nginx/conf.d/nodejs-enhanced.conf**{{}}. -**Note:** The `api` block in this configuration summary and the [downloadable](https://www.nginx.com/resource/conf/nodejs-enhanced.conf) **nodejs‑enhanced.conf** file is for the [API method](#reconfiguration-api) of dynamic reconfiguration. If you want to use the [DNS method](#reconfiguration-dns) instead, make the appropriate changes to the block. (You can also remove or comment out the directives for the NGINX Plus API in that case, but they do not conflict with using the DNS method and enable features other than dynamic reconfiguration.) +**Note:** The `api` block in this configuration summary and the [downloadable](https://www.nginx.com/resource/conf/nodejs-enhanced.conf) {{}}**nodejs-enhanced.conf**{{}} file is for the [API method](#reconfiguration-api) of dynamic reconfiguration. If you want to use the [DNS method](#reconfiguration-dns) instead, make the appropriate changes to the block. (You can also remove or comment out the directives for the NGINX Plus API in that case, but they do not conflict with using the DNS method and enable features other than dynamic reconfiguration.) ```nginx proxy_cache_path /tmp/NGINX_cache/ keys_zone=backcache:10m; diff --git a/content/nginx/deployment-guides/load-balance-third-party/oracle-e-business-suite.md b/content/nginx/deployment-guides/load-balance-third-party/oracle-e-business-suite.md index 6e456bacd..47466094e 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/oracle-e-business-suite.md +++ b/content/nginx/deployment-guides/load-balance-third-party/oracle-e-business-suite.md @@ -322,7 +322,7 @@ http { Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) -You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf**, this is an appropriate include directive: +You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files {{}}**_function_-http.conf**{{}}, this is an appropriate include directive: ```nginx http { @@ -505,13 +505,13 @@ HTTP/2 is fully supported in both NGINX 1.9.5 and later, and NGINX Plus R7 and - If using open source NGINX, note that in version 1.9.5 and later the SPDY module is completely removed from the NGINX codebase and replaced with the [HTTP/2](https://nginx.org/en/docs/http/ngx_http_v2_module.html) module. After upgrading to version 1.9.5 or later, you can no longer configure NGINX to use SPDY. If you want to keep using SPDY, you need to compile NGINX from the sources in the [NGINX 1.8 branch](https://nginx.org/en/download.html). -- If using NGINX Plus, in R11 and later the **nginx‑plus** package supports HTTP/2 by default, and the **nginx‑plus‑extras** package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. +- If using NGINX Plus, in R11 and later the {{}}**nginx-plus**{{}} package supports HTTP/2 by default, and the {{}}**nginx-plus-extras**{{}} package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. - In NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. + In NGINX Plus R8 through R10, the {{}}**nginx-plus**{{}} and {{}}**nginx-plus-extras**{{}} packages support HTTP/2 by default. In NGINX Plus R8 and later, NGINX Plus supports HTTP/2 by default, and does not support SPDY. - If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. + If using NGINX Plus R7, you must install the {{}}**nginx-plus-http2**{{}} package instead of the {{}}**nginx-plus**{{}} or {{}}**nginx-plus-extras**{{}} package. To enable HTTP/2 support, add the `http2` directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: diff --git a/content/nginx/deployment-guides/load-balance-third-party/oracle-weblogic-server.md b/content/nginx/deployment-guides/load-balance-third-party/oracle-weblogic-server.md index de3b44837..872e44ebf 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/oracle-weblogic-server.md +++ b/content/nginx/deployment-guides/load-balance-third-party/oracle-weblogic-server.md @@ -173,7 +173,7 @@ http { } ``` -You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf**, this is an appropriate include directive: +You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files {{}}**_function_-http.conf**{{}}, this is an appropriate include directive: ```nginx http { @@ -299,7 +299,7 @@ By putting NGINX Open Source or NGINX Plus in front of WebLogic Server servers 2. In the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), include two `location` blocks: - - The first one matches HTTPS requests in which the path starts with **/weblogic‑app/**, and proxies them to the **weblogic** upstream group we created in the previous step. + - The first one matches HTTPS requests in which the path starts with {{}}**/weblogic-app/**{{}}, and proxies them to the **weblogic** upstream group we created in the previous step. - The second one funnels all traffic to the first `location` block, by doing a temporary redirect of all requests for **"http://example.com/"**. @@ -414,7 +414,7 @@ To create a very simple caching configuration: Directive documentation: [proxy_cache_path](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path) -2. In the `location` block that matches HTTPS requests in which the path starts with **/weblogic‑app/**, include the `proxy_cache` directive to reference the cache created in the previous step. +2. In the `location` block that matches HTTPS requests in which the path starts with {{}}**/weblogic-app/**{{}}, include the `proxy_cache` directive to reference the cache created in the previous step. ```nginx # In the 'server' block for HTTPS traffic @@ -443,13 +443,13 @@ HTTP/2 is fully supported in both NGINX 1.9.5 and later, and NGINX Plus R7 and - If using NGINX Open Source, note that in version 1.9.5 and later the SPDY module is completely removed from the codebase and replaced with the [HTTP/2](https://nginx.org/en/docs/http/ngx_http_v2_module.html) module. After upgrading to version 1.9.5 or later, you can no longer configure NGINX Open Source to use SPDY. If you want to keep using SPDY, you need to compile NGINX Open Source from the sources in the [NGINX 1.8.x branch](https://nginx.org/en/download.html). -- If using NGINX Plus, in R11 and later the **nginx‑plus** package supports HTTP/2 by default, and the **nginx‑plus‑extras** package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. +- If using NGINX Plus, in R11 and later the {{}}**nginx-plus**{{}} package supports HTTP/2 by default, and the {{}}**nginx-plus-extras**{{}} package available in previous releases is deprecated by separate [dynamic modules](https://www.nginx.com/products/nginx/modules/) authored by NGINX. - In NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. + In NGINX Plus R8 through R10, the {{}}**nginx-plus**{{}} and {{}}**nginx-plus-extras**{{}} packages support HTTP/2 by default. In NGINX Plus R8 and later, NGINX Plus supports HTTP/2 by default, and does not support SPDY. - If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. + If using NGINX Plus R7, you must install the {{}}**nginx-plus-http2**{{}} package instead of the {{}}**nginx-plus**{{}} or {{}}**nginx-plus-extras**{{}} package. To enable HTTP/2 support, add the `http2` directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: @@ -601,7 +601,7 @@ Health checks are out‑of‑band HTTP requests sent to a server at fixed interv Because the `health_check` directive is placed in the `location` block, we can enable different health checks for each application. -1. In the `location` block that matches HTTPS requests in which the path starts with **/weblogic‑app/** (created in [Configuring Basic Load Balancing](#load-balancing-basic)), add the `health_check` directive. +1. In the `location` block that matches HTTPS requests in which the path starts with {{}}**/weblogic-app/**{{}} (created in [Configuring Basic Load Balancing](#load-balancing-basic)), add the `health_check` directive. Here we configure NGINX Plus to send an out‑of‑band request for the URI **/benefits** to each of the servers in the **weblogic** upstream group every 5 seconds (the default frequency). If a server does not respond correctly, it is marked down and NGINX Plus stops sending requests to it until it passes a subsequent health check. We include the `match` parameter to the `health_check` directive to define a nondefault set of health‑check tests. @@ -814,7 +814,7 @@ To enable dynamic reconfiguration of your upstream group of WebLogic Server app The full configuration for enhanced load balancing appears here for your convenience. It goes in the `http` context. The complete file is available for [download](https://www.nginx.com/resource/conf/weblogic-enhanced.conf) from the NGINX website. -We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of **/etc/nginx/conf.d/weblogic‑enhanced.conf**. +We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of {{}}**/etc/nginx/conf.d/weblogic-enhanced.conf**{{}}. ```nginx proxy_cache_path /tmp/NGINX_cache/ keys_zone=backcache:10m; diff --git a/content/nginx/deployment-guides/load-balance-third-party/wildfly.md b/content/nginx/deployment-guides/load-balance-third-party/wildfly.md index 2e92a9243..92c0d72b4 100644 --- a/content/nginx/deployment-guides/load-balance-third-party/wildfly.md +++ b/content/nginx/deployment-guides/load-balance-third-party/wildfly.md @@ -169,7 +169,7 @@ http { Directive documentation: [include](https://nginx.org/en/docs/ngx_core_module.html#include) -You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files **_function_‑http.conf**, this is an appropriate include directive: +You can also use wildcard notation to reference all files that pertain to a certain function or traffic type in the appropriate context block. For example, if you name all HTTP configuration files {{}}**_function_-http.conf**{{}}, this is an appropriate include directive: ```nginx http { @@ -429,9 +429,9 @@ HTTP/2 is fully supported in both NGINX Open In [NGINX Plus R11]({{< ref "/nginx/releases.md#r11" >}}) and later, the **nginx-plus** package continues to support HTTP/2 by default, but the **nginx-plus-extras** package available in previous releases is deprecated and replaced by [dynamic modules]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}). - For NGINX Plus R8 through R10, the **nginx‑plus** and **nginx‑plus‑extras** packages support HTTP/2 by default. + For NGINX Plus R8 through R10, the {{}}**nginx-plus**{{}} and {{}}**nginx-plus-extras**{{}} packages support HTTP/2 by default. - If using NGINX Plus R7, you must install the **nginx‑plus‑http2** package instead of the **nginx‑plus** or **nginx‑plus‑extras** package. + If using NGINX Plus R7, you must install the {{}}**nginx-plus-http2**{{}} package instead of the {{}}**nginx-plus**{{}} or {{}}**nginx-plus-extras**{{}} package. To enable HTTP/2 support, add the `http2` directive in the `server` block for HTTPS traffic that we created in [Configuring Virtual Servers for HTTP and HTTPS Traffic](#virtual-servers), so that it looks like this: @@ -793,7 +793,7 @@ The full configuration for enhanced load balancing appears here for your conveni We recommend that you do not copy text directly from this document, but instead use the method described in [Creating and Modifying Configuration Files](#config-files) to include these directives in your configuration – add an `include` directive to the `http` context of the main **nginx.conf** file to read in the contents of /etc/nginx/conf.d/jboss-enhanced.conf. -**Note:** The `api` block in this configuration summary and the [downloadable](https://www.nginx.com/resource/conf/jboss-enhanced.conf) **jboss‑enhanced.conf** file is for the [API method](#reconfiguration-api) of dynamic reconfiguration. If you want to use the [DNS method](#reconfiguration-dns) instead, make the appropriate changes to the block. (You can also remove or comment out the directives for the NGINX Plus API in that case, but they do not conflict with using the DNS method and enable features other than dynamic reconfiguration.) +**Note:** The `api` block in this configuration summary and the [downloadable](https://www.nginx.com/resource/conf/jboss-enhanced.conf) {{}}**jboss-enhanced.conf**{{}} file is for the [API method](#reconfiguration-api) of dynamic reconfiguration. If you want to use the [DNS method](#reconfiguration-dns) instead, make the appropriate changes to the block. (You can also remove or comment out the directives for the NGINX Plus API in that case, but they do not conflict with using the DNS method and enable features other than dynamic reconfiguration.) ```nginx proxy_cache_path /tmp/NGINX_cache/ keys_zone=backcache:10m; diff --git a/content/nginx/deployment-guides/microsoft-azure/high-availability-standard-load-balancer.md b/content/nginx/deployment-guides/microsoft-azure/high-availability-standard-load-balancer.md index 792d14bbb..e804a2ca2 100644 --- a/content/nginx/deployment-guides/microsoft-azure/high-availability-standard-load-balancer.md +++ b/content/nginx/deployment-guides/microsoft-azure/high-availability-standard-load-balancer.md @@ -71,7 +71,7 @@ These instructions assume you have the following: - An Azure [account](https://azure.microsoft.com/en-us/free/). - An Azure [subscription](https://docs.microsoft.com/en-us/azure/azure-glossary-cloud-terminology?toc=/azure/virtual-network/toc.json#subscription). -- An Azure [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/overview#resource-groups), preferably dedicated to the HA solution. In this guide, it is called **NGINX‑Plus‑HA**. +- An Azure [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/overview#resource-groups), preferably dedicated to the HA solution. In this guide, it is called {{}}**NGINX-Plus-HA**{{}}. - An Azure [virtual network](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview). - Six Azure VMs, four running NGINX Open Source and two running NGINX Plus (in each region where you deploy the solution). You need a paid or trial subscription for each NGINX Plus instance. @@ -100,10 +100,10 @@ With NGINX Open Source and NGINX Plus installed and configured on the Azure VMs 4. On the **Create load balancer** page that opens (to the **Basics** tab), enter the following values: - - **Subscription** – Name of your subscription (**NGINX‑Plus‑HA‑subscription** in this guide) - - **Resource group** – Name of your resource group (**NGINX‑Plus‑HA** in this guide) + - **Subscription** – Name of your subscription ({{}}**NGINX-Plus-HA-subscription**{{}} in this guide) + - **Resource group** – Name of your resource group ({{}}**NGINX-Plus-HA**{{}} in this guide) - **Name** – Name of your Standard Load Balancer (**lb** in this guide) - - **Region** – Name selected from the drop‑down menu (**(US) West US 2** in this guide) + - **Region** – Name selected from the drop‑down menu ({{}}**(US) West US 2**{{}} in this guide) - **Type** – **Public** - **SKU** – **Standard** - **Public IP address** – **Create new** @@ -139,21 +139,21 @@ With NGINX Open Source and NGINX Plus installed and configured on the Azure VMs Screenshot of selecting 'Backend pools' on details page for an Azure Standard Load Balancer -4. On the **lb | Backend Pools** page that opens, click **+ Add** in the upper left corner of the main pane. +4. On the {{}}**lb | Backend Pools**{{}} page that opens, click **+ Add** in the upper left corner of the main pane. -5. On the **Add backend pool** page that opens, enter the following values, then click the  Add  button: +5. On the {{}}**Add backend pool**{{}} page that opens, enter the following values, then click the  Add  button: - **Name** – Name of the new backend pool (**lb\_backend_pool** in this guide) - **IP version** – **IPv4** - - **Virtual machines** – **ngx‑plus‑1** and **ngx‑plus‑2** + - **Virtual machines** – {{}}**ngx-plus-1**{{}} and {{}}**ngx-plus-2**{{}} Screenshot of Azure 'Add backend pool' page for Standard Load Balancer After a few moments the virtual machines appear in the new backend pool. -6. Click **Health probes** in the left navigation column, and then **+ Add** in the upper left corner of the main pane on the **lb | Health probes** page that opens. +6. Click **Health probes** in the left navigation column, and then **+ Add** in the upper left corner of the main pane on the {{}}**lb | Health probes**{{}} page that opens. -7. On the **Add health probe** page that opens, enter the following values, then click the  OK  button. +7. On the {{}}**Add health probe**{{}} page that opens, enter the following values, then click the  OK  button. - **Name** – Name of the new backend pool (**lb\_probe** in this guide) - **Protocol** – **HTTP** or **HTTPS** @@ -164,20 +164,20 @@ With NGINX Open Source and NGINX Plus installed and configured on the Azure VMs Screenshot of Azure 'Add health probe' page for Standard Load Balancer - After a few moments the new probe appears in the table on the **lb | Health probes** page. This probe queries the NGINX Plus landing page every five seconds to check whether NGINX Plus is running. + After a few moments the new probe appears in the table on the {{}}**lb | Health probes**{{}} page. This probe queries the NGINX Plus landing page every five seconds to check whether NGINX Plus is running. -8. Click **Load balancing rules** in the left navigation column, and then **+ Add** in the upper left corner of the main pane on the **lb | Load balancing rules** page that opens. +8. Click {{}}**Load balancing rules**{{}} in the left navigation column, and then **+ Add** in the upper left corner of the main pane on the {{}}**lb | Load balancing rules**{{}} page that opens. -9. On the **Add load balancing rule** page that opens, enter or select the following values, then click the  OK  button. +9. On the {{}}**Add load balancing rule**{{}} page that opens, enter or select the following values, then click the  OK  button. - **Name** – Name of the rule (**lb\_rule** in this guide) - **IP version** – **IPv4** - - **Frontend IP address** – The Standard Load Balancer's public IP address, as reported in the **Public IP address** field on the **Overview** tag of the Standard Load Balancer's page (for an example, see [Step 3](#slb-configure-lb-overview) above); in this guide it is **51.143.107.x (LoadBalancerFrontEnd)** + - **Frontend IP address** – The Standard Load Balancer's public IP address, as reported in the {{}}**Public IP address**{{}} field on the **Overview** tag of the Standard Load Balancer's page (for an example, see [Step 3](#slb-configure-lb-overview) above); in this guide it is {{}}**51.143.107.x (LoadBalancerFrontEnd)**{{}} - **Protocol** – **TCP** - **Port** – **80** - **Backend port** – **80** - **Backend pool** – **lb_backend** - - **Health probe** – **lb_probe (HTTP:80)** + - **Health probe** – {{}}**lb_probe (HTTP:80)**{{}} - **Session persistence** – **None** - **Idle timeout (minutes)** – **4** - **TCP reset** – **Disabled** @@ -186,14 +186,14 @@ With NGINX Open Source and NGINX Plus installed and configured on the Azure VMs Screenshot of Azure 'Add load balancing rule' page for Standard Load Balancer - After a few moments the new rule appears in the table on the **lb | Load balancing rules** page. + After a few moments the new rule appears in the table on the {{}}**lb | Load balancing rules**{{}} page. ### Verifying Correct Operation -1. To verify that Standard Load Balancer is working correctly, open a new browser window and navigate to the IP address for the Standard Load Balancer front end, which appears in the **Public IP address** field on the **Overview** tab of the load balancer's page on the dashboard (for an example, see [Step 3](#slb-configure-lb-overview) of _Configuring the Standard Load Balancer_). +1. To verify that Standard Load Balancer is working correctly, open a new browser window and navigate to the IP address for the Standard Load Balancer front end, which appears in the {{}}**Public IP address**{{}} field on the **Overview** tab of the load balancer's page on the dashboard (for an example, see [Step 3](#slb-configure-lb-overview) of _Configuring the Standard Load Balancer_). -2. The default **Welcome to nginx!** page indicates that the Standard Load Balancer has successfully forwarded a request to one of the two NGINX Plus instances. +2. The default {{}}**Welcome to nginx!**{{}} page indicates that the Standard Load Balancer has successfully forwarded a request to one of the two NGINX Plus instances. Screenshot of 'Welcome to nginx!' page that verifies correct configuration of an Azure Standard Load Balancer @@ -210,7 +210,7 @@ Once you’ve tested that the Standard Load Balancer has been correctly deployed In this case, you need to set up Azure Traffic Manager for DNS‑based global server load balancing (GSLB) among the regions. The involves creating a DNS name for the Standard Load Balancer and registering it as an endpoint in Traffic Manager. -1. Navigate to the **Public IP addresses** page. (One way is to enter **Public IP addresses** in the search field of the Azure title bar and select that value in the **Services** section of the resulting drop‑down menu.) +1. Navigate to the {{}}**Public IP addresses**{{}} page. (One way is to enter {{}}**Public IP addresses**{{}} in the search field of the Azure title bar and select that value in the **Services** section of the resulting drop‑down menu.) 2. Click the name of the Standard Load Balancer's public IP address in the **Name** column of the table (here it is **public\_ip_lb**). @@ -218,33 +218,33 @@ In this case, you need to set up Azure Traffic Manager for DNS‑based global se 3. On the **public\_ip_lb** page that opens, click **Configuration** in the left navigation column. -4. Enter the DNS name for the Standard Load Balancer in the **DNS name label** field. In this guide, we're accepting the default, **public‑ip‑dns**. +4. Enter the DNS name for the Standard Load Balancer in the {{}}**DNS name label**{{}} field. In this guide, we're accepting the default, {{}}**public-ip-dns**{{}}. Screenshot of Azure page for public IP address of a Standard Load Balancer -5. Navigate to the **Traffic Manager profiles** tab. (One way is to enter **Traffic Manager profiles** in the search field of the Azure title bar and select that value in the **Services** section of the resulting drop‑down menu.) +5. Navigate to the {{}}**Traffic Manager profiles**{{}} tab. (One way is to enter {{}}**Traffic Manager profiles**{{}} in the search field of the Azure title bar and select that value in the **Services** section of the resulting drop‑down menu.) 6. Click **+ Add** in the upper left corner of the page. -7. On the **Create Traffic Manager profile** page that opens, enter or select the following values and click the  Create  button. +7. On the {{}}**Create Traffic Manager profile**{{}} page that opens, enter or select the following values and click the  Create  button. - **Name** – Name of the profile (**ngx** in this guide) - **Routing method** – **Performance** - - **Subscription** – **NGINX‑Plus‑HA‑subscription** in this guide - - **Resource group** – **NGINX‑Plus‑HA** in this guide + - **Subscription** – {{}}**NGINX-Plus-HA-subscription**{{}} in this guide + - **Resource group** – {{}}**NGINX-Plus-HA**{{}} in this guide _Azure-create-lb-create-Traffic-Manager-profile_ Screenshot of Azure 'Create Traffic Manager profile' page -8. It takes a few moments to create the profile. When it appears in the table on the **Traffic Manager profiles** page, click its name in the **Name** column. +8. It takes a few moments to create the profile. When it appears in the table on the {{}}**Traffic Manager profiles**{{}} page, click its name in the **Name** column. 9. On the **ngx** page that opens, click **Endpoints** in the left navigation column, then **+ Add** in the main part of the page. 10. On the **Add endpoint** window that opens, enter or select the following values and click the  Add  button. - - **Type** – **Azure endpoint** - - **Name** – Endpoint name (**ep‑lb‑west‑us** in this guide) - - **Target resource type** – **Public IP address** + - **Type** – {{}}**Azure endpoint**{{}} + - **Name** – Endpoint name ({{}}**ep-lb-west-us**{{}} in this guide) + - **Target resource type** – {{}}**Public IP address**{{}} - **Public IP address** – Name of the Standard Load Balancer's public IP address (**public\_ip_lb (51.143.107.x)** in this guide) - **Custom Header settings** – None in this guide diff --git a/content/nginx/deployment-guides/microsoft-azure/virtual-machines-for-nginx.md b/content/nginx/deployment-guides/microsoft-azure/virtual-machines-for-nginx.md index 487983211..ebbc17c53 100644 --- a/content/nginx/deployment-guides/microsoft-azure/virtual-machines-for-nginx.md +++ b/content/nginx/deployment-guides/microsoft-azure/virtual-machines-for-nginx.md @@ -23,7 +23,7 @@ These instructions assume you have: - An Azure [account](https://azure.microsoft.com/en-us/free/). - An Azure [subscription](https://docs.microsoft.com/en-us/azure/azure-glossary-cloud-terminology?toc=/azure/virtual-network/toc.json#subscription). -- An Azure [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview#resource-groups). In this guide, it is called **NGINX‑Plus‑HA**. +- An Azure [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview#resource-groups). In this guide, it is called {{}}**NGINX-Plus-HA**{{}}. - An Azure [virtual network](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview). - If using the instructions in [Automating Installation with Ansible](#automate-ansible), basic Linux system administration skills, including installation of Linux software from vendor‑supplied packages, and file creation and editing. @@ -48,25 +48,25 @@ In addition, to install NGINX software by following the linked instructions, you 4. In the **Create a virtual machine** window that opens, enter the requested information on the **Basics** tab. In this guide, we're using the following values: - - **Subscription** – **NGINX‑Plus‑HA‑subscription** - - **Resource group** – **NGINX‑Plus‑HA** - - **Virtual machine name** – **ngx‑plus‑1** + - **Subscription** – {{}}**NGINX-Plus-HA-subscription**{{}} + - **Resource group** – {{}}**NGINX-Plus-HA**{{}} + - **Virtual machine name** – {{}}**ngx-plus-1**{{}} - The value **ngx‑plus‑1** is one of the six used for VMs in [Active-Active HA for NGINX Plus on Microsoft Azure Using the Azure Standard Load Balancer]({{< ref "high-availability-standard-load-balancer.md" >}}). See Step 7 below for the other instance names. + The value {{}}**ngx-plus-1**{{}} is one of the six used for VMs in [Active-Active HA for NGINX Plus on Microsoft Azure Using the Azure Standard Load Balancer]({{< ref "high-availability-standard-load-balancer.md" >}}). See Step 7 below for the other instance names. - - **Region** – **(US) West US 2** - - **Availability options** – **No infrastructure redundancy required** + - **Region** – {{}}**(US) West US 2**{{}} + - **Availability options** – {{}}**No infrastructure redundancy required**{{}} This option is sufficient for a demo like the one in this guide. For production deployments, you might want to select a more robust option; we recommend deploying a copy of each VM in a different Availability Zone. For more information, see the [Azure documentation](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview). - - **Image** – **Ubuntu Server 18.04 LTS** + - **Image** – {{}}**Ubuntu Server 18.04 LTS**{{}} - **Azure Spot instance** – **No** - - **Size** – **B1s** (click Select size to access the **Select a VM size** window, click the **B1s** row, and click the  Select  button to return to the **Basics** tab) - - **Authentication type** – **SSH public key** + - **Size** – **B1s** (click Select size to access the {{}}**Select a VM size**{{}} window, click the **B1s** row, and click the  Select  button to return to the **Basics** tab) + - **Authentication type** – {{}}**SSH public key**{{}} - **Username** – **nginx_azure** - - **SSH public key source** – **Generate new key pair** (the other choices on the drop‑down menu are to use an existing key stored in Azure or an existing public key) + - **SSH public key source** – {{}}**Generate new key pair**{{}} (the other choices on the drop‑down menu are to use an existing key stored in Azure or an existing public key) - **Key pair name** – **nginx_key** - - **Public inbound ports** – **Allow selected ports** - - **Select inbound ports** – Select from the drop-down menu: **SSH (22)** and **HTTP (80)**, plus **HTTPS (443)** if you plan to configure NGINX and NGINX Plus for SSL/TLS + - **Public inbound ports** – {{}}**Allow selected ports**{{}} + - **Select inbound ports** – Select from the drop-down menu: {{}}**SSH (22)**{{}} and {{}}**HTTP (80)**{{}}, plus {{}}**HTTPS (443)**{{}} if you plan to configure NGINX and NGINX Plus for SSL/TLS screenshot of 'Basics' tab on Azure 'Create a virtual machine' page @@ -75,7 +75,7 @@ In addition, to install NGINX software by following the linked instructions, you For simplicity, we recommend allocating **Standard** public IP addresses for all six VMs used in the deployment. At the time of initial publication of this guide, the hourly cost for six such VMs was only $0.008 more than for six VMs with Basic addresses; for current pricing, see the [Microsoft documentation](https://azure.microsoft.com/en-us/pricing/details/ip-addresses/). - To allocate a **Standard** public IP address, open the **Networking** tab on the **Create a virtual machine** window. Click Create new below the **Public IP** field. In the **Create public IP address** column that opens at right, click the **Standard** radio button under **SKU**. You can change the value in the **Name** field; here we are accepting the default created by Azure, **ngx‑plus‑1‑ip**. Click the ** OK ** button. + To allocate a **Standard** public IP address, open the **Networking** tab on the **Create a virtual machine** window. Click Create new below the **Public IP** field. In the {{}}**Create public IP address**{{}} column that opens at right, click the **Standard** radio button under **SKU**. You can change the value in the **Name** field; here we are accepting the default created by Azure, {{}}**ngx-plus-1-ip**{{}}. Click the ** OK ** button. screenshot of 'Networking' tab on Azure 'Create a virtual machine' page @@ -87,7 +87,7 @@ In addition, to install NGINX software by following the linked instructions, you To change any settings, open the appropriate tab. If the settings are correct, click the  Create  button. - If you chose in [Step 4](#create-vm_Basics) to generate a new key pair, a **Generate new key pair** window pops up. Click the  Download key and create private resource  button. + If you chose in [Step 4](#create-vm_Basics) to generate a new key pair, a {{}}**Generate new key pair**{{}} window pops up. Click the  Download key and create private resource  button. screenshot of validation message on Azure 'Create a virtual machine' page @@ -107,7 +107,7 @@ In addition, to install NGINX software by following the linked instructions, you For **ngx-plus-2**, it is probably simplest to repeat Steps 2 through 6 above (or purchase a second prebuilt VM in the [Microsoft Azure Marketplace](https://azuremarketplace.microsoft.com/en-us/marketplace/apps?search=NGINX%20Plus)). - For the NGINX Open Source VMs, you can create them individually using Steps 2 through 6. Alternatively, create them based on an Azure image. To do so, follow Steps 2 through 6 above to create a source VM (naming it **nginx‑oss**), [install the NGINX Open Source software](#install-nginx) on it, and then follow the instructions in [Optional: Creating an NGINX Open Source Image](#create-nginx-oss-image). + For the NGINX Open Source VMs, you can create them individually using Steps 2 through 6. Alternatively, create them based on an Azure image. To do so, follow Steps 2 through 6 above to create a source VM (naming it {{}}**nginx-oss**{{}}), [install the NGINX Open Source software](#install-nginx) on it, and then follow the instructions in [Optional: Creating an NGINX Open Source Image](#create-nginx-oss-image). ## Connecting to a Virtual Machine @@ -118,7 +118,7 @@ To install and configure NGINX Open Source or NGINX Plus on a VM, you need to o screenshot of Azure 'Virtual machines' page with list of VMs -2. On the page that opens (**ngx‑plus‑1** in this guide), note the VM's public IP address (in the **Public IP address** field in the right column). +2. On the page that opens ({{}}**ngx-plus-1**{{}} in this guide), note the VM's public IP address (in the {{}}**Public IP address**{{}} field in the right column). screenshot of details page for 'ngx-plus-1' VM in Azure @@ -130,7 +130,7 @@ To install and configure NGINX Open Source or NGINX Plus on a VM, you need to o where - - `` is the name of the file containing the private key paired with the public key you entered in the **SSH public key** field in Step 4 of _Creating a Microsoft Azure Virtual Machine_. + - `` is the name of the file containing the private key paired with the public key you entered in the {{}}**SSH public key**{{}} field in Step 4 of _Creating a Microsoft Azure Virtual Machine_. - `` is the name you entered in the **Username** field in Step 4 of _Creating a Microsoft Azure Virtual Machine_ (in this guide it is **nginx_azure**). - `` is the address you looked up in the previous step. @@ -169,7 +169,7 @@ NGINX publishes a unified Ansible role for NGINX Open Source and NGINX Plus on ansible-galaxy install nginxinc.nginx ``` -4. (NGINX Plus only) Copy the **nginx‑repo.key** and **nginx‑repo.crt** files provided by NGINX to **~/.ssh/ngx‑certs/**. +4. (NGINX Plus only) Copy the {{}}**nginx-repo.key**{{}} and {{}}**nginx-repo.crt**{{}} files provided by NGINX to {{}}**~/.ssh/ngx-certs/**{{}}. 5. Create a file called **playbook.yml** with the following contents: @@ -196,7 +196,7 @@ To streamline the process of installing NGINX Open Source on multiple VMs, you c 2. Navigate to the **Virtual machines** page, if you are not already there. -2. In the list of VMs, click the name of the one to use as a source image (in this guide, we have called it **ngx‑oss**). Remember that NGINX Open Source needs to be installed on it already. +2. In the list of VMs, click the name of the one to use as a source image (in this guide, we have called it {{}}**ngx-oss**{{}}). Remember that NGINX Open Source needs to be installed on it already. 3. On the page than opens, click the **Capture** icon in the top navigation bar. @@ -207,10 +207,10 @@ To streamline the process of installing NGINX Open Source on multiple VMs, you c Then select the following values: - **Name** – Keep the current value. - - **Resource group** – Select the appropriate resource group from the drop‑down menu. Here it is **NGINX‑Plus‑HA**. + - **Resource group** – Select the appropriate resource group from the drop‑down menu. Here it is {{}}**NGINX-Plus-HA**{{}}. - **Automatically delete this virtual machine after creating the image** – We recommend checking the box, since you can't do anything more with the image anyway. - **Zone resiliency** – **On**. - - **Type the virtual machine name** – Name of the source VM (**ngx‑oss** in this guide). + - **Type the virtual machine name** – Name of the source VM ({{}}**ngx-oss**{{}} in this guide). Click the  Create  button. diff --git a/content/nginx/deployment-guides/migrate-hardware-adc/citrix-adc-configuration.md b/content/nginx/deployment-guides/migrate-hardware-adc/citrix-adc-configuration.md index 404b54b18..de397e3b0 100644 --- a/content/nginx/deployment-guides/migrate-hardware-adc/citrix-adc-configuration.md +++ b/content/nginx/deployment-guides/migrate-hardware-adc/citrix-adc-configuration.md @@ -327,7 +327,7 @@ NGINX Plus and Citrix ADC handle high availability (HA) in similar but slightly Citrix ADC handles the monitoring and failover of the VIP in a proprietary way. - For [on‑premises deployments]({{< ref "nginx/admin-guide/high-availability/ha-keepalived.md" >}}), NGINX Plus uses a separate software package called ****nginx‑ha‑keepalived**** to handle the VIP and the failover process for an active‑passive pair of NGINX Plus servers. The package implements the VRRP protocol to handle the VIP. Limited [active‑active]({{< ref "nginx/admin-guide/high-availability/ha-keepalived-nodes.md" >}}) scenarios are also possible with the **nginx‑ha‑keepalived** package. + For [on‑premises deployments]({{< ref "nginx/admin-guide/high-availability/ha-keepalived.md" >}}), NGINX Plus uses a separate software package called {{}}****nginx-ha-keepalived****{{}} to handle the VIP and the failover process for an active‑passive pair of NGINX Plus servers. The package implements the VRRP protocol to handle the VIP. Limited [active‑active]({{< ref "nginx/admin-guide/high-availability/ha-keepalived-nodes.md" >}}) scenarios are also possible with the {{}}**nginx-ha-keepalived**{{}} package. Solutions for high availability of NGINX Plus in cloud environments are also available, including these: diff --git a/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md b/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md index d7b82fc44..1cc9c9455 100644 --- a/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md +++ b/content/nginx/deployment-guides/migrate-hardware-adc/f5-big-ip-configuration.md @@ -99,7 +99,7 @@ In addition to these networking concepts, there are two other important technolo BIG-IP LTM uses a built‑in HA mechanism to handle the failover. - For [on‑premises deployments]({{< ref "nginx/admin-guide/high-availability/ha-keepalived.md" >}}), NGINX Plus uses a separate software package called ****nginx‑ha‑keepalived**** to handle the VIP and the failover process for an active‑passive pair of NGINX Plus servers. The package implements the VRRP protocol to handle the VIP. Limited [active‑active]({{< ref "nginx/admin-guide/high-availability/ha-keepalived-nodes.md" >}}) scenarios are also possible with the **nginx‑ha‑keepalived** package. + For [on‑premises deployments]({{< ref "nginx/admin-guide/high-availability/ha-keepalived.md" >}}), NGINX Plus uses a separate software package called {{}}****nginx-ha-keepalived****{{}} to handle the VIP and the failover process for an active‑passive pair of NGINX Plus servers. The package implements the VRRP protocol to handle the VIP. Limited [active‑active]({{< ref "nginx/admin-guide/high-availability/ha-keepalived-nodes.md" >}}) scenarios are also possible with the {{}}**nginx-ha-keepalived**{{}} package. Solutions for high availability of NGINX Plus in cloud environments are also available, including these: diff --git a/content/nginx/deployment-guides/nginx-plus-high-availability-chef.md b/content/nginx/deployment-guides/nginx-plus-high-availability-chef.md index 5dce8601b..3e709cab9 100644 --- a/content/nginx/deployment-guides/nginx-plus-high-availability-chef.md +++ b/content/nginx/deployment-guides/nginx-plus-high-availability-chef.md @@ -27,9 +27,9 @@ To set up the highly available active/passive cluster, we’re using the [HA sol ## Modifying the NGINX Cookbook -First we set up the Chef files for installing of the NGINX Plus HA package (**nginx‑ha‑keepalived**) and creating the `keepalived` configuration file, **keepalive.conf**. +First we set up the Chef files for installing of the NGINX Plus HA package ({{}}**nginx-ha-keepalived**{{}}) and creating the `keepalived` configuration file, **keepalive.conf**. -1. Modify the existing **plus_package** recipe to include package and configuration templates for the HA solution, by adding the following code to the bottom of the **plus_package.rb** file (per the instructions in the previous post, the file is in the **~/chef‑zero/playground/cookbooks/nginx/recipes** directory). +1. Modify the existing **plus_package** recipe to include package and configuration templates for the HA solution, by adding the following code to the bottom of the **plus_package.rb** file (per the instructions in the previous post, the file is in the {{}}**~/chef-zero/playground/cookbooks/nginx/recipes**{{}} directory). We are using the **eth1** interface on each NGINX host, which makes the code a bit more complicated than if we used **eth0**. In case you are using **eth0**, the relevant code appears near the top of the file, commented out. @@ -37,7 +37,7 @@ First we set up the Chef files for installing of the NGINX Plus HA package (**n - It looks up the IP address of the **eth1** interface on the node where NGINX Plus is being installed, and assigns the value to the `origip` variable so it can be passed to the template. - It finds the other node in the HA pair by using Chef’s `search` function to iterate through all Chef nodes, then looks up the IP address for that node’s **eth1** interface and assigns the address to the `ha_pair_ips` variable. - - It installs the **nginx‑ha‑keepalived** package, registers the `keepalived` service with Chef, and generates the **keepalived.conf** configuration file as a template, passing in the values of the `origip` and `ha_pair_ips` variables. + - It installs the {{}}**nginx-ha-keepalived**{{}} package, registers the `keepalived` service with Chef, and generates the **keepalived.conf** configuration file as a template, passing in the values of the `origip` and `ha_pair_ips` variables. ```nginx if node['nginx']['enable_ha_mode'] == 'true' @@ -102,7 +102,7 @@ First we set up the Chef files for installing of the NGINX Plus HA package (**n You can download the [full recipe file](https://www.nginx.com/resource/conf/plus_package.rb-chef-recipe) from the NGINX, Inc. website. -2. Create the Chef template for creating **keepalived.conf**, by copying the following content to a new template file, **nginx_plus_keepalived.conf.erb**, in the **~/chef‑zero/playground/cookbooks/nginx/templates/default** directory. +2. Create the Chef template for creating **keepalived.conf**, by copying the following content to a new template file, **nginx_plus_keepalived.conf.erb**, in the {{}}**~/chef-zero/playground/cookbooks/nginx/templates/default**{{}} directory. We’re using a combination of variables and attributes to pass the necessary information to **keepalived.conf**. We’ll set the attributes in the next step. Here we set the two variables in the template file to the host IP addresses that were set with the `variables` directive in the **plus_package.rb** recipe (modified in the previous step): @@ -186,7 +186,7 @@ First we set up the Chef files for installing of the NGINX Plus HA package (**n ``` -3. Create a role that sets attributes used in the recipe and template files created in the previous steps, by copying the following contents to a new role file, **nginx_plus_ha.rb** in the **~/chef‑zero/playground/roles** directory. +3. Create a role that sets attributes used in the recipe and template files created in the previous steps, by copying the following contents to a new role file, **nginx_plus_ha.rb** in the {{}}**~/chef-zero/playground/roles**{{}} directory. Four attributes need to be set, and in the role we set the following three: @@ -290,13 +290,13 @@ Now we bootstrap the nodes and get them ready for the installation. Note that th ` -2. Create a local copy of the node definition file, which we’ll edit as appropriate for the node we bootstrapped in the previous step, **chef‑test‑1**: +2. Create a local copy of the node definition file, which we’ll edit as appropriate for the node we bootstrapped in the previous step, {{}}**chef-test-1**{{}}: ```nginx root@chef-server:~/chef-zero/playground# knife node show chef-test-1 --format json > nodes/chef-test-1.json ``` -3. Edit **chef‑test‑1.json** to have the following contents. In particular, we’re updating the run list and setting the `ha_primary` attribute, as required for the HA deployment. +3. Edit {{}}**chef-test-1.json**{{}} to have the following contents. In particular, we’re updating the run list and setting the `ha_primary` attribute, as required for the HA deployment. ```json { @@ -323,7 +323,7 @@ Now we bootstrap the nodes and get them ready for the installation. Note that th Updated Node chef-test-1! ``` -5. Log in on the **chef‑test‑1** node and run the `chef-client` command to get everything configured: +5. Log in on the {{}}**chef-test-1**{{}} node and run the `chef-client` command to get everything configured: ```text username@chef-test-1:~$ sudo chef-client @@ -616,7 +616,7 @@ Enter your password: 10.100.10.102 Chef Client finished, 18/50 resources updated in 10 seconds` -If we look at **keepalived.conf** at this point, we see that there is a peer set in the `unicast_peer` section. But the following command shows that **chef‑test‑2**, which we intend to be the secondary node, is also assigned the VIP (10.100.10.50). This is because we haven’t yet updated the Chef configuration on **chef‑test‑1** to make its `keepalived` aware of the secondary node. +If we look at **keepalived.conf** at this point, we see that there is a peer set in the `unicast_peer` section. But the following command shows that {{}}**chef-test-2**{{}}, which we intend to be the secondary node, is also assigned the VIP (10.100.10.50). This is because we haven’t yet updated the Chef configuration on {{}}**chef-test-1**{{}} to make its `keepalived` aware of the secondary node. username@chef-test-2:~$ ip addr show eth1 3: eth1: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 @@ -630,7 +630,7 @@ If we look at **keepalived.conf** at this point, we see that there is a peer set ### Synchronizing the Nodes -To make `keepalived` on **chef‑test‑1** aware of **chef‑test‑2** and its IP address, we rerun the `chef-client` command on **chef‑test‑1**: +To make `keepalived` on {{}}**chef-test-1**{{}} aware of {{}}**chef-test-2**{{}} and its IP address, we rerun the `chef-client` command on {{}}**chef-test-1**{{}}: ```text username@chef-test-1:~$ sudo chef-client @@ -741,7 +741,7 @@ Chef Client finished, 2/47 resources updated in 05 seconds ``` -We see that **chef‑test‑1** is still assigned the VIP: +We see that {{}}**chef-test-1**{{}} is still assigned the VIP: ```nginx username@chef-test-1:~$ ip addr show eth1 @@ -755,7 +755,7 @@ We see that **chef‑test‑1** is still assigned the VIP: valid_lft forever preferred_lft forever ``` -And **chef‑test‑2**, as the secondary node, is now assigned only its physical IP address: +And {{}}**chef-test-2**{{}}, as the secondary node, is now assigned only its physical IP address: ```nginx username@chef-test-2:~$ ip addr show eth1 diff --git a/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md b/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md index dc85877b0..a14367e24 100644 --- a/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md +++ b/content/nginx/deployment-guides/setting-up-nginx-demo-environment.md @@ -21,7 +21,7 @@ Some commands require `root` privilege. If appropriate for your environment, pre ## Configuring NGINX Open Source for web serving -The steps in this section configure an NGINX Open Source instance as a web server to return a page like the following, which specifies the server name, address, and other information. The page is defined in the **demo‑index.html** configuration file you create in Step 4 below. +The steps in this section configure an NGINX Open Source instance as a web server to return a page like the following, which specifies the server name, address, and other information. The page is defined in the {{}}**demo-index.html**{{}} configuration file you create in Step 4 below. diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/active-directory-federation-services.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/active-directory-federation-services.md index 870198ac6..6d0173780 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/active-directory-federation-services.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/active-directory-federation-services.md @@ -50,9 +50,9 @@ The instructions assume you have the following: Create an AD FS application for NGINX Plus: -1. Open the AD FS Management window. In the navigation column on the left, right‑click on the **Application Groups** folder and select **Add Application Group** from the drop‑down menu. +1. Open the AD FS Management window. In the navigation column on the left, right‑click on the **Application Groups** folder and select {{}}**Add Application Group**{{}} from the drop‑down menu. - The **Add Application Group Wizard** window opens. The left navigation column shows the steps you will complete to add an application group. + The {{}}**Add Application Group Wizard**{{}} window opens. The left navigation column shows the steps you will complete to add an application group. 2. In the **Welcome** step, type the application group name in the **Name** field. Here we are using **ADFSSSO**. In the **Template** field, select **Server application** under **Standalone applications**. Click the  Next >  button. @@ -63,7 +63,7 @@ Create an AD FS application for NGINX Plus: 1. Make a note of the value in the **Client Identifier** field. You will add it to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables).
      - 2. In the **Redirect URI** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using **https://my‑nginx.example.com:443/\_codexch**. Click the  Add  button. + 2. In the **Redirect URI** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using {{}}**https://my-nginx.example.com:443/\_codexch**{{}}. Click the  Add  button. **Notes:** @@ -75,7 +75,7 @@ Create an AD FS application for NGINX Plus: -4. In the **Configure Application Credentials** step, click the **Generate a shared secret** checkbox. Make a note of the secret that AD FS generates (perhaps by clicking the **Copy to clipboard** button and pasting the clipboard content into a file). You will add the secret to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables). Click the  Next >  button. +4. In the {{}}**Configure Application Credentials**{{}} step, click the {{}}**Generate a shared secret**{{}} checkbox. Make a note of the secret that AD FS generates (perhaps by clicking the {{}}**Copy to clipboard**{{}} button and pasting the clipboard content into a file). You will add the secret to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables). Click the  Next >  button. @@ -87,7 +87,7 @@ Create an AD FS application for NGINX Plus: Configure NGINX Plus as the OpenID Connect relying party: -1. Create a clone of the [**nginx‑openid‑connect**](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. +1. Create a clone of the {{}}[**nginx-openid-connect**](https://github.com/nginxinc/nginx-openid-connect){{}} GitHub repository. ```shell git clone https://github.com/nginxinc/nginx-openid-connect @@ -150,7 +150,7 @@ In a browser, enter the address of your NGINX Plus instance and try to log in u ## Troubleshooting -See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the **nginx‑openid‑connect** repository on GitHub. +See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the {{}}**nginx-openid-connect**{{}} repository on GitHub. ### Revision History diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/cognito.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/cognito.md index 6fa141df9..94e62f0f8 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/cognito.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/cognito.md @@ -59,7 +59,7 @@ Create a new application for NGINX Plus in the Cognito GUI: -3. In the **Create a user pool** window that opens, type a value in the **Pool name** field (in this guide, it's **nginx‑plus‑pool**), then click the Review defaults button. +3. In the **Create a user pool** window that opens, type a value in the **Pool name** field (in this guide, it's {{}}**nginx-plus-pool**{{}}), then click the Review defaults button. @@ -70,11 +70,11 @@ Create a new application for NGINX Plus in the Cognito GUI: 5. On the **App clients** tab which opens, click Add an app client. -6. On the **Which app clients will have access to this user pool?** window which opens, enter a value (in this guide, **nginx‑plus‑app**) in the **App client name** field. Make sure the **Generate client secret** box is checked, then click the  Create app client  button. +6. On the **Which app clients will have access to this user pool?** window which opens, enter a value (in this guide, {{}}**nginx-plus-app**{{}}) in the {{}}**App client name**{{}} field. Make sure the {{}}**Generate client secret**{{}} box is checked, then click the  Create app client  button. -7. On the confirmation page which opens, click **Return to pool details** to return to the **Review** tab. On that tab click the  Create pool  button at the bottom. (The screenshot in [Step 4](#cognito-review-tab) shows the button.) +7. On the confirmation page which opens, click {{}}**Return to pool details**{{}} to return to the **Review** tab. On that tab click the  Create pool  button at the bottom. (The screenshot in [Step 4](#cognito-review-tab) shows the button.) 8. On the details page which opens to confirm the new user pool was successfully created, make note of the value in the **Pool Id** field; you will add it to the NGINX Plus configuration in [Step 3 of _Configuring NGINX Plus_](#nginx-plus-variables). @@ -82,36 +82,36 @@ Create a new application for NGINX Plus in the Cognito GUI: 'General settings' tab in Amazon Cognito GUI -9. Click **Users and groups** in the left navigation column. In the interface that opens, designate the users (or group of users, on the **Groups** tab) who will be able to use SSO for the app being proxied by NGINX Plus. For instructions, see the Cognito documentation about [creating users](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-create-user-accounts.html), [importing users](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html), or [adding a group](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html). +9. Click {{}}**Users and groups**{{}} in the left navigation column. In the interface that opens, designate the users (or group of users, on the **Groups** tab) who will be able to use SSO for the app being proxied by NGINX Plus. For instructions, see the Cognito documentation about [creating users](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-create-user-accounts.html), [importing users](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html), or [adding a group](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html). 'Users and groups' tab in Amazon Cognito GUI -10. Click **App clients** in the left navigation bar. On the tab that opens, click the Show Details button in the box labeled with the app client name (in this guide, **nginx‑plus‑app**). +10. Click **App clients** in the left navigation bar. On the tab that opens, click the Show Details button in the box labeled with the app client name (in this guide, {{}}**nginx-plus-app**{{}}). 'App clients' tab in Amazon Cognito GUI -11. On the details page that opens, make note of the values in the **App client id** and **App client secret** fields. You will add them to the NGINX Plus configuration in [Step 3 of _Configuring NGINX Plus_](#nginx-plus-variables). +11. On the details page that opens, make note of the values in the {{}}**App client id**{{}} and {{}}**App client secret**{{}} fields. You will add them to the NGINX Plus configuration in [Step 3 of _Configuring NGINX Plus_](#nginx-plus-variables). -12. Click **App client settings** in the left navigation column. In the tab that opens, perform the following steps: +12. Click {{}}**App client settings**{{}} in the left navigation column. In the tab that opens, perform the following steps: - 1. In the **Enabled Identity Providers** section, click the **Cognito User Pool** checkbox (the **Select all** box gets checked automatically). - 2. In the **Callback URL(s)** field of the **Sign in and sign out URLs** section, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using **https://my‑nginx‑plus.example.com:443/_codexch**. + 1. In the {{}}**Enabled Identity Providers**{{}} section, click the {{}}**Cognito User Pool**{{}} checkbox (the **Select all** box gets checked automatically). + 2. In the **Callback URL(s)** field of the {{}}**Sign in and sign out URLs**{{}} section, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using {{}}**https://my-nginx-plus.example.com:443/_codexch**{{}}. **Notes:** - For production, we strongly recommend that you use SSL/TLS (port 443). - The port number is mandatory even when you're using the default port for HTTP (80) or HTTPS (443). - 3. In the **OAuth 2.0** section, click the **Authorization code grant** checkbox under **Allowed OAuth Flows** and the **email**, **openid**, and **profile** checkboxes under **Allowed OAuth Scopes**. + 3. In the **OAuth 2.0** section, click the {{}}**Authorization code grant**{{}} checkbox under {{}}**Allowed OAuth Flows**{{}} and the **email**, **openid**, and **profile** checkboxes under {{}}**Allowed OAuth Scopes**{{}}. 4. Click the  Save changes  button. -13. Click **Domain name** in the left navigation column. In the tab that opens, type a domain prefix in the **Domain prefix** field under **Amazon Cognito domain** (in this guide, **my‑nginx‑plus**). Click the  Save changes  button. +13. Click **Domain name** in the left navigation column. In the tab that opens, type a domain prefix in the **Domain prefix** field under {{}}**Amazon Cognito domain**{{}} (in this guide, {{}}**my-nginx-plus**{{}}). Click the  Save changes  button. @@ -120,7 +120,7 @@ Create a new application for NGINX Plus in the Cognito GUI: Configure NGINX Plus as the OpenID Connect relying party: -1. Create a clone of the [**nginx‑openid‑connect**](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. +1. Create a clone of the {{}}[**nginx-openid-connect**](https://github.com/nginxinc/nginx-openid-connect){{}} GitHub repository. ```shell git clone https://github.com/nginxinc/nginx-openid-connect @@ -135,12 +135,12 @@ Configure NGINX Plus as the OpenID Connect relying party: 3. In your preferred text editor, open **/etc/nginx/conf.d/frontend.conf**. Change the second parameter of each of the following [set](http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#set) directives to the specified value. - The `` variable is the full value in the **Domain prefix** field in [Step 13 of _Configuring Amazon Cognito_](#cognito-domain-name). In this guide it is **https://my‑nginx‑plus.auth.us‑east‑2.amazoncognito.com**. + The `` variable is the full value in the **Domain prefix** field in [Step 13 of _Configuring Amazon Cognito_](#cognito-domain-name). In this guide it is {{}}**https://my-nginx-plus.auth.us-east-2.amazoncognito.com**{{}}. - `set $oidc_authz_endpoint` – `/oauth2/authorize` - `set $oidc_token_endpoint` – `/oauth2/token` - - `set $oidc_client` – Value in the **App client id** field from [Step 11 of _Configuring Amazon Cognito_](#cognito-app-client-id-secret) (in this guide, `2or4cs8bjo1lkbq6143tqp6ist`) - - `set $oidc_client_secret` – Value in the **App client secret** field from [Step 11 of _Configuring Amazon Cognito_](#cognito-app-client-id-secret) (in this guide, `1k63m3nrcnu...`) + - `set $oidc_client` – Value in the {{}}**App client id**{{}} field from [Step 11 of _Configuring Amazon Cognito_](#cognito-app-client-id-secret) (in this guide, `2or4cs8bjo1lkbq6143tqp6ist`) + - `set $oidc_client_secret` – Value in the {{}}**App client secret**{{}} field from [Step 11 of _Configuring Amazon Cognito_](#cognito-app-client-id-secret) (in this guide, `1k63m3nrcnu...`) - `set $oidc_hmac_key` – A unique, long, and secure phrase 4. Configure the JWK file. The file's URL is @@ -154,7 +154,7 @@ Configure NGINX Plus as the OpenID Connect relying party: In this guide, the URL is - **https://cognito‑idp.us‑east‑2.amazonaws.com/us‑east‑2_mLoGHJpOs/.well‑known/jwks.json**. + {{}}**https://cognito-idp.us-east-2.amazonaws.com/us-east-2_mLoGHJpOs/.well-known/jwks.json**{{}}. The method for configuring the JWK file depends on which version of NGINX Plus you are using: @@ -187,7 +187,7 @@ In a browser, enter the address of your NGINX Plus instance and try to log in u ## Troubleshooting -See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the **nginx‑openid‑connect** repository on GitHub. +See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the {{}}**nginx-openid-connect**{{}} repository on GitHub. ### Revision History diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md index f904a1811..25c8af487 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/keycloak.md @@ -60,15 +60,15 @@ Create a Keycloak client for NGINX Plus in the Keycloak GUI: 3. On the **Add Client** page that opens, enter or select these values, then click the  Save  button. - - **Client ID** – The name of the application for which you're enabling SSO (Keycloak refers to it as the “client”). Here we're using **NGINX‑Plus**. - - **Client Protocol** – **openid‑connect**. + - **Client ID** – The name of the application for which you're enabling SSO (Keycloak refers to it as the “client”). Here we're using {{}}**NGINX-Plus**{{}}. + - **Client Protocol** – {{}}**openid-connect**{{}}. 4. On the **NGINX Plus** page that opens, enter or select these values on the Settings tab: - **Access Type** – **confidential** - - **Valid Redirect URIs** – The URI of the NGINX Plus instance, including the port number, and ending in **/\_codexch** (in this guide it is **https://my‑nginx.example.com:443/_codexch**) + - **Valid Redirect URIs** – The URI of the NGINX Plus instance, including the port number, and ending in **/\_codexch** (in this guide it is {{}}**https://my-nginx.example.com:443/_codexch**{{}}) **Notes:** @@ -84,14 +84,14 @@ Create a Keycloak client for NGINX Plus in the Keycloak GUI: 6. Click the Roles tab, then click the **Add Role** button in the upper right corner of the page that opens. -7. On the **Add Role** page that opens, type a value in the **Role Name** field (here it is **nginx‑keycloak‑role**) and click the  Save  button. +7. On the **Add Role** page that opens, type a value in the **Role Name** field (here it is {{}}**nginx-keycloak-role**{{}}) and click the  Save  button. 8. In the left navigation column, click **Users**. On the **Users** page that opens, either click the name of an existing user, or click the **Add user** button in the upper right corner to create a new user. For complete instructions, see the [Keycloak documentation](https://www.keycloak.org/docs/latest/server_admin/index.html#user-management). -9. On the management page for the user (here, **user01**), click the Role Mappings tab. On the page that opens, select **NGINX‑Plus** on the **Client Roles** drop‑down menu. Click **nginx‑keycloak‑role** in the **Available Roles** box, then click the **Add selected** button below the box. The role then appears in the **Assigned Roles** and **Effective Roles** boxes, as shown in the screenshot. +9. On the management page for the user (here, **user01**), click the Role Mappings tab. On the page that opens, select {{}}**NGINX-Plus**{{}} on the **Client Roles** drop‑down menu. Click {{}}**nginx-keycloak-role**{{}} in the **Available Roles** box, then click the **Add selected** button below the box. The role then appears in the **Assigned Roles** and **Effective Roles** boxes, as shown in the screenshot. @@ -101,7 +101,7 @@ Create a Keycloak client for NGINX Plus in the Keycloak GUI: Configure NGINX Plus as the OpenID Connect relying party: -1. Create a clone of the [**nginx‑openid‑connect**](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. +1. Create a clone of the {{}}[**nginx-openid-connect**](https://github.com/nginxinc/nginx-openid-connect){{}} GitHub repository. ```shell git clone https://github.com/nginxinc/nginx-openid-connect @@ -165,7 +165,7 @@ In a browser, enter the address of your NGINX Plus instance and try to log in u ## Troubleshooting -See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the **nginx‑openid‑connect** repository on GitHub. +See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the {{}}**nginx-openid-connect**{{}} repository on GitHub. ### Revision History diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/onelogin.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/onelogin.md index 9d2c00fdb..b6c8fde9a 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/onelogin.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/onelogin.md @@ -48,15 +48,15 @@ Create a new application for NGINX Plus in the OneLogin GUI: -3. On the **Find Applications** page that opens, type **OpenID Connect** in the search box. Click on the **OpenID Connect (OIDC)** row that appears. +3. On the **Find Applications** page that opens, type {{}}**OpenID Connect**{{}} in the search box. Click on the **OpenID Connect (OIDC)** row that appears. -4. On the **Add OpenId Connect (OIDC)** page that opens, change the value in the **Display Name** field to **NGINX Plus** and click the  Save  button. +4. On the **Add OpenId Connect (OIDC)** page that opens, change the value in the **Display Name** field to {{}}**NGINX Plus**{{}} and click the  Save  button. -5. When the save completes, a new set of choices appears in the left navigation bar. Click **Configuration**. In the **Redirect URI's** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch** (in this guide it is **https://my‑nginx.example.com:443/_codexch**). Then click the  Save  button. +5. When the save completes, a new set of choices appears in the left navigation bar. Click **Configuration**. In the **Redirect URI's** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch** (in this guide it is {{}}**https://my-nginx.example.com:443/_codexch**{{}}). Then click the  Save  button. **Notes:** @@ -66,12 +66,12 @@ Create a new application for NGINX Plus in the OneLogin GUI: -6. When the save completes, click **SSO** in the left navigation bar. Click **Show client secret** below the **Client Secret** field. Record the values in the **Client ID** and **Client Secret** fields. You will add them to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables). +6. When the save completes, click **SSO** in the left navigation bar. Click {{}}**Show client secret**{{}} below the **Client Secret** field. Record the values in the **Client ID** and **Client Secret** fields. You will add them to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables). -7. Assign users to the application (in this guide, **NGINX Plus**) to enable them to access it for SSO. OneLogin recommends using [roles](https://onelogin.service-now.com/kb_view_customer.do?sysparm_article=KB0010606) for this purpose. You can access the **Roles** page under  Users  in the title bar. +7. Assign users to the application (in this guide, {{}}**NGINX Plus**{{}}) to enable them to access it for SSO. OneLogin recommends using [roles](https://onelogin.service-now.com/kb_view_customer.do?sysparm_article=KB0010606) for this purpose. You can access the **Roles** page under  Users  in the title bar. diff --git a/content/nginx/deployment-guides/single-sign-on/oidc-njs/ping-identity.md b/content/nginx/deployment-guides/single-sign-on/oidc-njs/ping-identity.md index d4901c65a..495b2ebad 100644 --- a/content/nginx/deployment-guides/single-sign-on/oidc-njs/ping-identity.md +++ b/content/nginx/deployment-guides/single-sign-on/oidc-njs/ping-identity.md @@ -56,30 +56,30 @@ Create a new application for NGINX Plus: 1. Log in to your Ping Identity account. The administrative dashboard opens automatically. In this guide, we show the PingOne for Enterprise dashboard, and for brevity refer simply to ”PingOne”. -2. Click  APPLICATIONS  in the title bar, and on the **My Applications** page that opens, click **OIDC** and then the **+ Add Application** button. +2. Click  APPLICATIONS  in the title bar, and on the **My Applications** page that opens, click **OIDC** and then the {{}}**+ Add Application**{{}} button. -3. The **Add OIDC Application** window pops up. Click the ADVANCED CONFIGURATION box, and then the  Next  button. +3. The {{}}**Add OIDC Application**{{}} window pops up. Click the ADVANCED CONFIGURATION box, and then the  Next  button. -4. In section 1 (PROVIDE DETAILS ABOUT YOUR APPLICATION), type a name in the **APPLICATION NAME** field and a short description in the **SHORT DESCRIPTION** field. Here, we're using **nginx‑plus‑application** and **NGINX Plus**. Choose a value from the **CATEGORY** drop‑down menu; here we’re using **Information Technology**. You can also add an icon if you wish. Click the  Next  button. +4. In section 1 (PROVIDE DETAILS ABOUT YOUR APPLICATION), type a name in the **APPLICATION NAME** field and a short description in the **SHORT DESCRIPTION** field. Here, we're using {{}}**nginx-plus-application**{{}} and {{}}**NGINX Plus**{{}}. Choose a value from the **CATEGORY** drop‑down menu; here we’re using {{}}**Information Technology**{{}}. You can also add an icon if you wish. Click the  Next  button. 5. In section 2 (AUTHORIZATION SETTINGS), perform these steps: - 1. Under **GRANTS**, click both **Authorization Code** and **Implicit**.
      - 2. Under **CREDENTIALS**, click the **+ Add Secret** button. PingOne creates a client secret and opens the **CLIENT SECRETS** field to display it, as shown in the screenshot. To see the actual value of the secret, click the eye icon.
      + 1. Under **GRANTS**, click both {{}}**Authorization Code**{{}} and **Implicit**.
      + 2. Under **CREDENTIALS**, click the {{}}**+ Add Secret**{{}} button. PingOne creates a client secret and opens the **CLIENT SECRETS** field to display it, as shown in the screenshot. To see the actual value of the secret, click the eye icon.
      3. Click the  Next  button. 6. In section 3 (SSO FLOW AND AUTHENTICATION SETTINGS): - 1. In the **START SSO URL** field, type the URL where users access your application. Here we’re using **https://example.com**. - 2. In the **REDIRECT URIS** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using **https://my‑nginx‑plus.example.com:443/\_codexch** (the full value is not visible in the screenshot). + 1. In the {{}}**START SSO URL**{{}} field, type the URL where users access your application. Here we’re using **https://example.com**. + 2. In the **REDIRECT URIS** field, type the URI of the NGINX Plus instance including the port number, and ending in **/\_codexch**. Here we’re using {{}}**https://my-nginx-plus.example.com:443/\_codexch**{{}} (the full value is not visible in the screenshot). **Notes:** @@ -88,11 +88,11 @@ Create a new application for NGINX Plus: -7. In section 4 (DEFAULT USER PROFILE ATTRIBUTE CONTRACT), optionally add attributes to the required **sub** and **idpid** attributes, by clicking the **+ Add Attribute** button. We’re not adding any in this example. When finished, click the  Next  button. +7. In section 4 (DEFAULT USER PROFILE ATTRIBUTE CONTRACT), optionally add attributes to the required **sub** and **idpid** attributes, by clicking the {{}}**+ Add Attribute**{{}} button. We’re not adding any in this example. When finished, click the  Next  button. -8. In section 5 (CONNECT SCOPES), click the circled plus-sign on the **OpenID Profile (profile)** and **OpenID Profile Email (email)** scopes in the **LIST OF SCOPES** column. They are moved to the **CONNECTED SCOPES** column, as shown in the screenshot. Click the  Next  button. +8. In section 5 (CONNECT SCOPES), click the circled plus-sign on the {{}}**OpenID Profile (profile)**{{}} and {{}}**OpenID Profile Email (email)**{{}} scopes in the {{}}**LIST OF SCOPES**{{}} column. They are moved to the **CONNECTED SCOPES** column, as shown in the screenshot. Click the  Next  button. @@ -107,14 +107,14 @@ Create a new application for NGINX Plus: -11. You are returned to the **My Applications** window, which now includes a row for **nginx‑plus‑application**. Click the toggle switch at the right end of the row to the “on” position, as shown in the screenshot. Then click the “expand” icon at the end of the row, to display the application’s details. +11. You are returned to the **My Applications** window, which now includes a row for {{}}**nginx-plus-application**{{}}. Click the toggle switch at the right end of the row to the “on” position, as shown in the screenshot. Then click the “expand” icon at the end of the row, to display the application’s details. 12. On the page that opens, make note of the values in the following fields on the **Details** tab. You will add them to the NGINX Plus configuration in [Step 4 of _Configuring NGINX Plus_](#nginx-plus-variables). - - **CLIENT ID** (in the screenshot, **28823604‑83c5‑4608‑88da‑c73fff9c607a**) + - **CLIENT ID** (in the screenshot, {{}}**28823604-83c5-4608-88da-c73fff9c607a**{{}}) - **CLIENT SECRETS** (in the screenshot, **7GMKILBofxb...**); click on the eye icon to view the actual value @@ -124,7 +124,7 @@ Create a new application for NGINX Plus: Configure NGINX Plus as the OpenID Connect relying party: -1. Create a clone of the [**nginx‑openid‑connect**](https://github.com/nginxinc/nginx-openid-connect) GitHub repository. +1. Create a clone of the {{}}[**nginx-openid-connect**](https://github.com/nginxinc/nginx-openid-connect){{}} GitHub repository. ```shell git clone https://github.com/nginxinc/nginx-openid-connect @@ -190,7 +190,7 @@ In a browser, enter the address of your NGINX Plus instance and try to log in u ## Troubleshooting -See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the **nginx‑openid‑connect** repository on GitHub. +See the [**Troubleshooting**](https://github.com/nginxinc/nginx-openid-connect#troubleshooting) section at the {{}}**nginx-openid-connect**{{}} repository on GitHub. ### Revision History diff --git a/go.mod b/go.mod index a7dc51830..fd5114fe6 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/nginxinc/docs go 1.19 -require github.com/nginxinc/nginx-hugo-theme v0.42.28 // indirect +require github.com/nginxinc/nginx-hugo-theme v0.42.36 // indirect diff --git a/go.sum b/go.sum index 8a25e80eb..e54ae2fb6 100644 --- a/go.sum +++ b/go.sum @@ -4,3 +4,5 @@ github.com/nginxinc/nginx-hugo-theme v0.42.27 h1:D80Sf/o9lR4P0NDFfP/hCQllohz6C5q github.com/nginxinc/nginx-hugo-theme v0.42.27/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= github.com/nginxinc/nginx-hugo-theme v0.42.28 h1:1SGzBADcXnSqP4rOKEhlfEUloopH6UvMg+XTyVVQyjU= github.com/nginxinc/nginx-hugo-theme v0.42.28/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= +github.com/nginxinc/nginx-hugo-theme v0.42.36 h1:vFBavxB+tw2fs0rLTpA3kYPMdBK15LtZkfkX21kzrDo= +github.com/nginxinc/nginx-hugo-theme v0.42.36/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= From 212cf5b18529098d6044b4f69dc8ab1cf24c184f Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Fri, 30 May 2025 05:57:57 -0700 Subject: [PATCH 209/723] feat: Customer-friendly NGINX One Console home page (#628) * feat: Customer-friendly NGINX One Console home page --------- Co-authored-by: Alan Dooley --- .../nginx-one/add-file/existing-ssl-bundle.md | 2 +- .../includes/nginx-one/how-to/add-instance.md | 26 ++ .../monitoring/n1c-dashboard-overview.md | 39 +++ content/nginx-one/about.md | 2 +- content/nginx-one/api/_index.md | 6 +- content/nginx-one/changelog.md | 10 +- content/nginx-one/connect-instances/_index.md | 6 + .../add-instance.md | 32 +-- ...ginx-plus-container-images-to-nginx-one.md | 4 +- .../create-manage-data-plane-keys.md | 2 +- .../set-up-nginx-proxy-for-nginx-one.md | 12 +- .../settings/_index.md | 2 +- content/nginx-one/getting-started.md | 49 ++-- content/nginx-one/glossary.md | 4 +- content/nginx-one/how-to/_index.md | 6 - .../nginx-one/how-to/certificates/_index.md | 6 - .../how-to/config-sync-groups/_index.md | 6 - content/nginx-one/how-to/containers/_index.md | 6 - .../how-to/data-plane-keys/_index.md | 6 - .../nginx-one/how-to/nginx-configs/_index.md | 6 - .../manage-config-sync-groups.md | 239 ------------------ .../nginx-one/how-to/proxy-setup/_index.md | 6 - .../nginx-one/how-to/staged-configs/_index.md | 6 - .../staged-configs/api-staged-config.md | 29 --- content/nginx-one/metrics/_index.md | 6 + content/nginx-one/metrics/enable-metrics.md | 23 ++ content/nginx-one/metrics/review-metrics.md | 23 ++ content/nginx-one/nginx-configs/_index.md | 6 + .../{how-to => }/nginx-configs/add-file.md | 10 +- .../nginx-configs/certificates/_index.md | 6 + .../certificates/manage-certificates.md | 13 +- .../clean-up-unavailable-instances.md | 2 +- .../config-sync-groups/_index.md | 6 + .../config-sync-groups/add-file-csg.md | 8 +- .../manage-config-sync-groups.md | 14 +- .../view-edit-nginx-configurations.md | 20 +- content/nginx-one/rbac/_index.md | 4 +- content/nginx-one/rbac/overview.md | 2 +- content/nginx-one/rbac/rbac-api.md | 2 +- content/nginx-one/rbac/roles.md | 2 +- content/nginx-one/staged-configs/_index.md | 6 + .../staged-configs/add-staged-config.md | 6 +- .../staged-configs/api-staged-config.md | 20 ++ .../staged-configs/edit-staged-config.md | 0 .../import-export-staged-config.md | 4 +- layouts/partials/list-main.html | 119 +++++++++ 46 files changed, 367 insertions(+), 447 deletions(-) create mode 100644 content/includes/nginx-one/how-to/add-instance.md create mode 100644 content/includes/use-cases/monitoring/n1c-dashboard-overview.md create mode 100644 content/nginx-one/connect-instances/_index.md rename content/nginx-one/{how-to/nginx-configs => connect-instances}/add-instance.md (60%) rename content/nginx-one/{how-to/containers => connect-instances}/connect-nginx-plus-container-images-to-nginx-one.md (94%) rename content/nginx-one/{how-to/data-plane-keys => connect-instances}/create-manage-data-plane-keys.md (98%) rename content/nginx-one/{how-to/proxy-setup => connect-instances}/set-up-nginx-proxy-for-nginx-one.md (87%) rename content/nginx-one/{how-to => connect-instances}/settings/_index.md (57%) delete mode 100644 content/nginx-one/how-to/_index.md delete mode 100644 content/nginx-one/how-to/certificates/_index.md delete mode 100644 content/nginx-one/how-to/config-sync-groups/_index.md delete mode 100644 content/nginx-one/how-to/containers/_index.md delete mode 100644 content/nginx-one/how-to/data-plane-keys/_index.md delete mode 100644 content/nginx-one/how-to/nginx-configs/_index.md delete mode 100644 content/nginx-one/how-to/nginx-configs/manage-config-sync-groups.md delete mode 100644 content/nginx-one/how-to/proxy-setup/_index.md delete mode 100644 content/nginx-one/how-to/staged-configs/_index.md delete mode 100644 content/nginx-one/how-to/staged-configs/api-staged-config.md create mode 100644 content/nginx-one/metrics/_index.md create mode 100644 content/nginx-one/metrics/enable-metrics.md create mode 100644 content/nginx-one/metrics/review-metrics.md create mode 100644 content/nginx-one/nginx-configs/_index.md rename content/nginx-one/{how-to => }/nginx-configs/add-file.md (78%) create mode 100644 content/nginx-one/nginx-configs/certificates/_index.md rename content/nginx-one/{how-to => nginx-configs}/certificates/manage-certificates.md (94%) rename content/nginx-one/{how-to => }/nginx-configs/clean-up-unavailable-instances.md (99%) create mode 100644 content/nginx-one/nginx-configs/config-sync-groups/_index.md rename content/nginx-one/{how-to => nginx-configs}/config-sync-groups/add-file-csg.md (76%) rename content/nginx-one/{how-to => nginx-configs}/config-sync-groups/manage-config-sync-groups.md (93%) rename content/nginx-one/{how-to => }/nginx-configs/view-edit-nginx-configurations.md (66%) create mode 100644 content/nginx-one/staged-configs/_index.md rename content/nginx-one/{how-to => }/staged-configs/add-staged-config.md (96%) create mode 100644 content/nginx-one/staged-configs/api-staged-config.md rename content/nginx-one/{how-to => }/staged-configs/edit-staged-config.md (100%) rename content/nginx-one/{how-to => }/staged-configs/import-export-staged-config.md (94%) create mode 100644 layouts/partials/list-main.html diff --git a/content/includes/nginx-one/add-file/existing-ssl-bundle.md b/content/includes/nginx-one/add-file/existing-ssl-bundle.md index e6a8c59a4..9afcf9137 100644 --- a/content/includes/nginx-one/add-file/existing-ssl-bundle.md +++ b/content/includes/nginx-one/add-file/existing-ssl-bundle.md @@ -2,7 +2,7 @@ docs: --- -With this option, You can incorporate [Managed certificates]({{< ref "/nginx-one/how-to/certificates/manage-certificates.md#managed-and-unmanaged-certificates" >}}). +With this option, you can incorporate [Managed certificates]({{< ref "/nginx-one/nginx-configs/certificates/manage-certificates.md#managed-and-unmanaged-certificates" >}}). In the **Choose Certificate** drop-down, select the managed certificate of your choice, and select **Add**. You can then: 1. Review details of the certificate. The next steps depend on whether the certificate is a CA bundle or a certificate / key pair. diff --git a/content/includes/nginx-one/how-to/add-instance.md b/content/includes/nginx-one/how-to/add-instance.md new file mode 100644 index 000000000..94f0b628b --- /dev/null +++ b/content/includes/nginx-one/how-to/add-instance.md @@ -0,0 +1,26 @@ +--- +docs: +files: + - content/nginx-one/connect-instances/add-instance.md + - content/nginx-one/getting-started.md +--- + +You can add an instance to NGINX One Console in the following ways: + +- Directly, under **Instances** +- Indirectly, by selecting a Config Sync Group, and selecting **Add Instance to Config Sync Group** + +In either case, NGINX One Console gives you a choice for data plane keys: + +- Create a new key +- Use an existing key + +NGINX One Console takes the option you use, and adds the data plane key to a command that you'd use to register your target instance. You should see the command in the **Add Instance** screen in the console. + +Connect to the host where your NGINX instance is running. Run the provided command to [install NGINX Agent]({{< ref "/nginx-one/getting-started#install-nginx-agent" >}}) dependencies and packages on that host. + +```bash +curl https://agent.connect.nginx.com/nginx-agent/install | DATA_PLANE_KEY="" sh -s -- -y +``` + +Once the process is complete, you can configure that instance in your NGINX One Console. \ No newline at end of file diff --git a/content/includes/use-cases/monitoring/n1c-dashboard-overview.md b/content/includes/use-cases/monitoring/n1c-dashboard-overview.md new file mode 100644 index 000000000..3018b83d8 --- /dev/null +++ b/content/includes/use-cases/monitoring/n1c-dashboard-overview.md @@ -0,0 +1,39 @@ +--- +docs: +files: + - content/nginx-one/metrics/enable-metrics.md + - content/nginx-one/getting-started.md +--- + +Navigating the dashboard: + +- **Drill down into specifics**: For in-depth information on a specific metric, like expiring certificates, click on the relevant link in the metric's card to go to a detailed overview page. +- **Refine metric timeframe**: Metrics show the last hour's data by default. To view data from a different period, select the time interval you want from the drop-down menu. + + +{{< img src="nginx-one/images/nginx-one-dashboard.png">}} + + +{{}} +**NGINX One dashboard metrics** +| Metric | Description | Details | +|---|---|---| +| **Instance availability** | Understand the operational status of your NGINX instances. | - **Online**: The NGINX instance is actively connected and functioning properly.
      - **Offline**: NGINX Agent is connected but the NGINX instance isn't running, isn't installed, or can't communicate with NGINX Agent.
      - **Unavailable**: The connection between NGINX Agent and NGINX One has been lost or the instance has been decommissioned.
      - **Unknown**: The current state can't be determined at the moment. | +| **NGINX versions by instance** | See which NGINX versions are in use across your instances. | | +| **Operating systems** | Find out which operating systems your instances are running on. | | +| **Certificates** | Monitor the status of your SSL certificates to know which are expiring soon and which are still valid. | | +| **Config recommendations** | Get configuration recommendations to optimize your instances' settings. | | +| **CVEs (Common Vulnerabilities and Exposures)** | Evaluate the severity and number of potential security threats in your instances. | - **Major**: Indicates a high-severity threat that needs immediate attention.
      - **Medium**: Implies a moderate threat level.
      - **Minor** and **Low**: Represent less critical issues that still require monitoring.
      - **Other**: Encompasses any threats that don't fit the standard categories. | +| **CPU utilization** | Track CPU usage trends and pinpoint instances with high CPU demand. | | +| **Memory utilization** | Watch memory usage patterns to identify instances using significant memory. | | +| **Disk space utilization** | Monitor how much disk space your instances are using and identify those nearing capacity. | | +| **Unsuccessful response codes** | Look for instances with a high number of HTTP server errors and investigate their error codes. | | +| **Top network usage** | Review the network usage and bandwidth consumption of your instances. | | + +{{
      }} + + + + + + diff --git a/content/nginx-one/about.md b/content/nginx-one/about.md index f20c40bea..6d0dd4594 100644 --- a/content/nginx-one/about.md +++ b/content/nginx-one/about.md @@ -1,7 +1,7 @@ --- description: '' docs: DOCS-1392 -title: About +title: Manage your NGINX fleet toc: true weight: 10 type: diff --git a/content/nginx-one/api/_index.md b/content/nginx-one/api/_index.md index e1f50db88..5b3284d5e 100644 --- a/content/nginx-one/api/_index.md +++ b/content/nginx-one/api/_index.md @@ -1,6 +1,6 @@ --- -title: API +title: Automate with the NGINX One API description: -weight: 1000 +weight: 700 url: /nginx-one/api ---- \ No newline at end of file +--- diff --git a/content/nginx-one/changelog.md b/content/nginx-one/changelog.md index e41c765f8..ab541049a 100644 --- a/content/nginx-one/changelog.md +++ b/content/nginx-one/changelog.md @@ -83,8 +83,8 @@ You can: - Remove a deployed certificate from a Config Sync Group For more information, including warnings about risks, see our documentation on how you can: -- [Add a file]({{< ref "/nginx-one/how-to/nginx-configs/add-file.md" >}}) -- [Manage certificates]({{< ref "/nginx-one/how-to/certificates/manage-certificates.md" >}}) +- [Add a file]({{< ref "/nginx-one/nginx-configs/add-file.md" >}}) +- [Manage certificates]({{< ref "/nginx-one/nginx-configs/certificates/manage-certificates.md" >}}) ### Revert a configuration @@ -108,7 +108,7 @@ From the NGINX One Console you can now: - Ensure that your certificates are current and correct. - Manage your certificates from a central location. This can help you simplify operations and remotely update, rotate, and deploy those certificates. -For more information, see the full documentation on how you can [Manage Certificates]({{< ref "/nginx-one/how-to/certificates/manage-certificates.md" >}}). +For more information, see the full documentation on how you can [Manage Certificates]({{< ref "/nginx-one/nginx-configs/certificates/manage-certificates.md" >}}). ## August 22, 2024 @@ -116,7 +116,7 @@ For more information, see the full documentation on how you can [Manage Certific Config Sync Groups are now available in the F5 NGINX One Console. This feature allows you to manage and synchronize NGINX configurations across multiple instances as a single entity, ensuring consistency and simplifying the management of your NGINX environment. -For more information, see the full documentation on [Managing Config Sync Groups]({{< ref "/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md" >}}). +For more information, see the full documentation on [Managing Config Sync Groups]({{< ref "/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md" >}}). ## August 8, 2024 @@ -136,7 +136,7 @@ Select the link for each CVE to see the details, including the CVE's publish dat ### Edit NGINX configurations -You can now make configuration changes to your NGINX instances. For more details, see [View and edit NGINX configurations]({{< ref "/nginx-one/how-to/nginx-configs/view-edit-nginx-configurations.md" >}}). +You can now make configuration changes to your NGINX instances. For more details, see [View and edit NGINX configurations]({{< ref "/nginx-one/nginx-configs/view-edit-nginx-configurations.md" >}}). ## May 28, 2024 diff --git a/content/nginx-one/connect-instances/_index.md b/content/nginx-one/connect-instances/_index.md new file mode 100644 index 000000000..ea3ed0292 --- /dev/null +++ b/content/nginx-one/connect-instances/_index.md @@ -0,0 +1,6 @@ +--- +description: +title: Connect your instances +weight: 200 +url: /nginx-one/connect-instances/ +--- diff --git a/content/nginx-one/how-to/nginx-configs/add-instance.md b/content/nginx-one/connect-instances/add-instance.md similarity index 60% rename from content/nginx-one/how-to/nginx-configs/add-instance.md rename to content/nginx-one/connect-instances/add-instance.md index 8bae0ef02..328d93724 100644 --- a/content/nginx-one/how-to/nginx-configs/add-instance.md +++ b/content/nginx-one/connect-instances/add-instance.md @@ -16,34 +16,16 @@ to set up a data plane key to connect your instances to NGINX One. Before you add an instance to NGINX One Console, ensure: -- You have administrator access to NGINX One Console. -- You have configured instances of NGINX that you want to manage through NGINX One Console. -- You have or are ready to configure a data plane key. -- You have or are ready to set up managed certificates. +- You have [administrator access]({{< ref "/nginx-one/rbac/roles.md" >}}) to NGINX One Console. +- You have [configured instances of NGINX]({{< ref "/nginx-one/getting-started.md#add-your-nginx-instances-to-nginx-one" >}}) that you want to manage through NGINX One Console. +- You have or are ready to configure a [data plane key]({{< ref "/nginx-one/getting-started.md#generate-data-plane-key" >}}). +- You have or are ready to set up [managed certificates]({{< ref "/nginx-one/nginx-configs/certificates/manage-certificates.md" >}}). -{{< note >}}If this is the first time an instance is being added to a Config Sync Group, and you have not yet defined the configuration for that Config Sync Group, that instance provides the template for that group. For more information, see [Configuration management]({{< ref "nginx-one/how-to/config-sync-groups/manage-config-sync-groups#configuration-management" >}}).{{< /note >}} +{{< note >}}If this is the first time an instance is being added to a Config Sync Group, and you have not yet defined the configuration for that Config Sync Group, that instance provides the template for that group. For more information, see [Configuration management]({{< ref "nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups#configuration-management" >}}).{{< /note >}} ## Add an instance -You can add an instance to NGINX One Console in the following ways: - -- Directly, under **Instances** -- Indirectly, by selecting a Config Sync Group, and selecting **Add Instance to Config Sync Group** - -In either case, NGINX One Console gives you a choice for data plane keys: - -- Create a new key -- Use an existing key - -NGINX One Console takes the option you use, and adds the data plane key to a command that you'd use to register your target instance. You should see the command in the **Add Instance** screen in the console. - -Connect to the host where your NGINX instance is running. Run the provided command to [install NGINX Agent]({{< ref "/nginx-one/getting-started#install-nginx-agent" >}}) dependencies and packages on that host. - -```bash -curl https://agent.connect.nginx.com/nginx-agent/install | DATA_PLANE_KEY="" sh -s -- -y -``` - -Once the process is complete, you can configure that instance in your NGINX One Console. +{{< include "/nginx-one/how-to/add-instance.md" >}} ## Managed and Unmanaged Certificates @@ -71,5 +53,5 @@ Once you've completed the process, NGINX One reassigns this as a managed certifi ## Add an instance to a Config Sync Group -When you [Manage Config Sync Group membership]({{< ref "nginx-one/how-to/config-sync-groups/manage-config-sync-groups#manage-config-sync-group-membership" >}}), you can add an existing or new instance to the group of your choice. +When you [Manage Config Sync Group membership]({{< ref "nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups#manage-config-sync-group-membership" >}}), you can add an existing or new instance to the group of your choice. That instance inherits the setup of that Config Sync Group. diff --git a/content/nginx-one/how-to/containers/connect-nginx-plus-container-images-to-nginx-one.md b/content/nginx-one/connect-instances/connect-nginx-plus-container-images-to-nginx-one.md similarity index 94% rename from content/nginx-one/how-to/containers/connect-nginx-plus-container-images-to-nginx-one.md rename to content/nginx-one/connect-instances/connect-nginx-plus-container-images-to-nginx-one.md index daae3af88..968ecc836 100644 --- a/content/nginx-one/how-to/containers/connect-nginx-plus-container-images-to-nginx-one.md +++ b/content/nginx-one/connect-instances/connect-nginx-plus-container-images-to-nginx-one.md @@ -1,7 +1,7 @@ --- description: '' docs: null -title: Connect NGINX Plus container images to NGINX One +title: Connect NGINX Plus container images toc: true weight: 400 type: @@ -19,7 +19,7 @@ This guide explains how to set up an F5 NGINX Plus Docker container with NGINX A Before you start, make sure you have: - A valid JSON Web Token (JWT) for your NGINX subscription. -- [A data plane key from NGINX One]({{< ref "/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md" >}}). +- [A data plane key from NGINX One]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}). - Docker installed and running on your system. #### Download your JWT license from MyF5 diff --git a/content/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md b/content/nginx-one/connect-instances/create-manage-data-plane-keys.md similarity index 98% rename from content/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md rename to content/nginx-one/connect-instances/create-manage-data-plane-keys.md index 9ac000860..224b3ff51 100644 --- a/content/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md +++ b/content/nginx-one/connect-instances/create-manage-data-plane-keys.md @@ -1,7 +1,7 @@ --- description: '' docs: DOCS-1395 -title: Create and manage data plane keys +title: Prepare - Create and manage data plane keys toc: true weight: 100 type: diff --git a/content/nginx-one/how-to/proxy-setup/set-up-nginx-proxy-for-nginx-one.md b/content/nginx-one/connect-instances/set-up-nginx-proxy-for-nginx-one.md similarity index 87% rename from content/nginx-one/how-to/proxy-setup/set-up-nginx-proxy-for-nginx-one.md rename to content/nginx-one/connect-instances/set-up-nginx-proxy-for-nginx-one.md index 974f7851c..6c97ffccc 100644 --- a/content/nginx-one/how-to/proxy-setup/set-up-nginx-proxy-for-nginx-one.md +++ b/content/nginx-one/connect-instances/set-up-nginx-proxy-for-nginx-one.md @@ -1,7 +1,7 @@ --- description: '' docs: null -title: Set up NGINX as a proxy for NGINX One +title: Minimize connections - Set up NGINX as a proxy toc: true weight: 300 type: @@ -17,7 +17,7 @@ This guide explains how to set up NGINX as a proxy for other NGINX instances to ## Before you start - [Install NGINX Open Source or NGINX Plus]({{< ref "/nginx/admin-guide/installing-nginx/" >}}). -- [Get a Data Plane Key from NGINX One]({{< ref "/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md" >}}). +- [Get a Data Plane Key from NGINX One]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}). --- @@ -61,7 +61,7 @@ In this step, we'll configure an NGINX instance to act as a proxy server for NGI --- -## Configure NGINX Agent to use the proxy instance +## Configure NGINX Agent to use the proxy To set up your other NGINX instances to use the proxy instance to connect to NGINX One, update the NGINX Agent configuration on those instances to use the proxy NGINX instance's IP address. See the example NGINX Agent configuration below. @@ -95,7 +95,7 @@ To set up your other NGINX instances to use the proxy instance to connect to NGI For more information, refer to the following resources: -- [Installing NGINX and NGINX Plus]({{< ref "/nginx/admin-guide/installing-nginx/" >}}) -- [Create and manage data plane keys]({{< ref "/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md" >}}) +- [Install NGINX and NGINX Plus]({{< ref "/nginx/admin-guide/installing-nginx/" >}}) +- [Create and manage data plane keys]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}) - [NGINX Agent Installation and upgrade](https://docs.nginx.com/nginx-agent/installation-upgrade/) -- [NGINX Agent Configuration](https://docs.nginx.com/nginx-agent/configuration/) \ No newline at end of file +- [NGINX Agent Configuration](https://docs.nginx.com/nginx-agent/configuration/) diff --git a/content/nginx-one/how-to/settings/_index.md b/content/nginx-one/connect-instances/settings/_index.md similarity index 57% rename from content/nginx-one/how-to/settings/_index.md rename to content/nginx-one/connect-instances/settings/_index.md index cdbbc1636..3bdb5095b 100644 --- a/content/nginx-one/how-to/settings/_index.md +++ b/content/nginx-one/connect-instances/settings/_index.md @@ -2,6 +2,6 @@ description: title: Settings weight: 500 -url: /nginx-one/how-to/settings +url: /nginx-one/connect-instances/settings draft: true --- diff --git a/content/nginx-one/getting-started.md b/content/nginx-one/getting-started.md index 9e3a0e8e5..6a761fa2f 100644 --- a/content/nginx-one/getting-started.md +++ b/content/nginx-one/getting-started.md @@ -24,12 +24,10 @@ To get started using NGINX One, enable the service on F5 Distributed Cloud. Next, add your NGINX instances to NGINX One. You'll need to create a data plane key and then install NGINX Agent on each instance you want to monitor. -### Add an instance - -Depending on whether this is your first time using NGINX One Console or you've used it before, follow the appropriate steps to add an instance: +The following instructions include minimal information, sufficient to "get started." See the following links for detailed instructions: -- **For first-time users:** On the welcome screen, select **Add Instance**. -- **For returning users:** If you've added instances previously and want to add more, select **Instances** on the left menu, then select **Add Instance**. +- [Create and manage data plane keys]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}) +- [Add an NGINX instance]({{< ref "/nginx-one/connect-instances/add-instance.md" >}}) ### Generate a data plane key {#generate-data-plane-key} @@ -43,11 +41,18 @@ To generate a data plane key: {{}} Data plane keys are displayed only once and cannot be retrieved later. Be sure to copy and store this key securely. -Data plane keys expire after one year. You can change this expiration date later by [editing the key]({{< ref "nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md#change-expiration-date" >}}). +Data plane keys expire after one year. You can change this expiration date later by [editing the key]({{< ref "nginx-one/connect-instances/create-manage-data-plane-keys.md#change-expiration-date" >}}). -[Revoking a data plane key]({{< ref "nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md#revoke-data-plane-key" >}}) disconnects all instances that were registered with that key. +[Revoking a data plane key]({{< ref "nginx-one/connect-instances/create-manage-data-plane-keys.md#revoke-data-plane-key" >}}) disconnects all instances that were registered with that key. {{}} +### Add an instance + +Depending on whether this is your first time using NGINX One Console or you've used it before, follow the appropriate steps to add an instance: + +- **For first-time users:** On the welcome screen, select **Add Instance**. +- **For returning users:** If you've added instances previously and want to add more, select **Instances** on the left menu, then select **Add Instance**. + ### Install NGINX Agent @@ -134,37 +139,11 @@ If you followed the [Installation and upgrade](https://docs.nginx.com/nginx-agen --- -## Enable NGINX metrics reporting - The NGINX One Console dashboard relies on APIs for NGINX Plus and NGINX Open Source Stub Status to report traffic and system metrics. The following sections show you how to enable those metrics. ### Enable NGINX Plus API - -To collect metrics for NGINX Plus, add the following to your NGINX Plus configuration file: - -```nginx -# Enable the /api/ location with appropriate access control -# to use the NGINX Plus API. -# -location /api/ { - api write=on; - allow 127.0.0.1; - deny all; -} -``` - -This configuration: - -- Enables the NGINX Plus API. -- Allows requests only from `127.0.0.1` (localhost). -- Blocks all other requests for security. - -After saving the changes, reload NGINX to apply the new configuration: - -```shell -nginx -s reload -``` +{{< include "/use-cases/monitoring/enable-nginx-plus-api.md" >}} ### Enable NGINX Open Source Stub Status API @@ -183,6 +162,8 @@ After connecting your NGINX instances to NGINX One, you can monitor their perfor ### Overview of the NGINX One dashboard +{{< include "/use-cases/monitoring/n1c-dashboard-overview.md" >}} + Navigating the dashboard: - **Drill down into specifics**: For in-depth information on a specific metric, like expiring certificates, click on the relevant link in the metric's card to go to a detailed overview page. diff --git a/content/nginx-one/glossary.md b/content/nginx-one/glossary.md index c315d35ef..33b817f55 100644 --- a/content/nginx-one/glossary.md +++ b/content/nginx-one/glossary.md @@ -3,7 +3,7 @@ description: '' docs: DOCS-1396 title: Glossary toc: true -weight: 1000 +weight: 800 type: - reference --- @@ -14,7 +14,7 @@ This glossary defines terms used in the F5 NGINX One Console and F5 Distributed {{}} | Term | Definition | |-------------|-------------| -| **Config Sync Group** | A group of NGINX systems (or instances) with identical configurations. They may also share the same certificates. However, the instances in a Config Sync Group could belong to different systems and even different clusters. For more information, see this explanation of [Important considerations]({{< ref "/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md#important-considerations" >}}) | +| **Config Sync Group** | A group of NGINX systems (or instances) with identical configurations. They may also share the same certificates. However, the instances in a Config Sync Group could belong to different systems and even different clusters. For more information, see this explanation of [Important considerations]({{< ref "/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md#important-considerations" >}}) | | **Data Plane** | The data plane is the part of a network architecture that carries user traffic. It handles tasks like forwarding data packets between devices and managing network communication. In the context of NGINX, the data plane is responsible for tasks such as load balancing, caching, and serving web content. | | **Instance** | An instance is an individual system with NGINX installed. You can group the instances of your choice in a Config Sync Group. When you add an instance to NGINX One, you need to use a data plane key. | | **Namespace** | In F5 Distributed Cloud, a namespace groups a tenant’s configuration objects, similar to administrative domains. Every object in a namespace must have a unique name, and each namespace must be unique to its tenant. This setup ensures isolation, preventing cross-referencing of objects between namespaces. You'll see the namespace in the NGINX One Console URL as `/namespaces//` | diff --git a/content/nginx-one/how-to/_index.md b/content/nginx-one/how-to/_index.md deleted file mode 100644 index 3e88ec7ae..000000000 --- a/content/nginx-one/how-to/_index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -description: -title: How-to guides -weight: 200 -url: /nginx-one/how-to/ ---- diff --git a/content/nginx-one/how-to/certificates/_index.md b/content/nginx-one/how-to/certificates/_index.md deleted file mode 100644 index 39e16a174..000000000 --- a/content/nginx-one/how-to/certificates/_index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -description: -title: Certificates -weight: 400 -url: /nginx-one/how-to/certificates ---- diff --git a/content/nginx-one/how-to/config-sync-groups/_index.md b/content/nginx-one/how-to/config-sync-groups/_index.md deleted file mode 100644 index 31f258b69..000000000 --- a/content/nginx-one/how-to/config-sync-groups/_index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -description: -title: Config Sync Groups -weight: 250 -url: /nginx-one/how-to/config-sync-groups ---- diff --git a/content/nginx-one/how-to/containers/_index.md b/content/nginx-one/how-to/containers/_index.md deleted file mode 100644 index c3617fd7d..000000000 --- a/content/nginx-one/how-to/containers/_index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -description: -title: Containers -weight: 300 -url: /nginx-one/how-to/containers ---- diff --git a/content/nginx-one/how-to/data-plane-keys/_index.md b/content/nginx-one/how-to/data-plane-keys/_index.md deleted file mode 100644 index 0aa1ba7bf..000000000 --- a/content/nginx-one/how-to/data-plane-keys/_index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -description: -title: Data plane keys -weight: 100 -url: /nginx-one/how-to/data-plane-keys ---- diff --git a/content/nginx-one/how-to/nginx-configs/_index.md b/content/nginx-one/how-to/nginx-configs/_index.md deleted file mode 100644 index b7fa815da..000000000 --- a/content/nginx-one/how-to/nginx-configs/_index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -description: -title: Instances and Configurations -weight: 200 -url: /nginx-one/how-to/nginx ---- diff --git a/content/nginx-one/how-to/nginx-configs/manage-config-sync-groups.md b/content/nginx-one/how-to/nginx-configs/manage-config-sync-groups.md deleted file mode 100644 index 8bc10cce6..000000000 --- a/content/nginx-one/how-to/nginx-configs/manage-config-sync-groups.md +++ /dev/null @@ -1,239 +0,0 @@ ---- -docs: null -title: Manage config sync groups -toc: true -weight: 300 -type: -- how-to ---- - -## Overview - -This guide explains how to create and manage config sync groups in the F5 NGINX One Console. Config sync groups synchronize NGINX configurations across multiple NGINX instances, ensuring consistency and ease of management. - -If you’ve used [instance groups in NGINX Instance Manager]({{< ref "/nim/nginx-instances/manage-instance-groups.md" >}}), you’ll find config sync groups in NGINX One similar, though the steps and terminology differ slightly. - -## Before you start - -Before you create and manage config sync groups, ensure: - -- You have access to the NGINX One Console. -- You have the necessary permissions to create and manage config sync groups. -- NGINX instances are properly registered with NGINX One if you plan to add existing instances to a config sync group. - -## Important considerations - -- **NGINX Agent configuration file location**: When you run the NGINX Agent installation script to register an instance with NGINX One, the script creates the `agent-dynamic.conf` file, which contains settings for the NGINX Agent, including the specified config sync group. This file is typically located in `/var/lib/nginx-agent/` on most systems; however, on FreeBSD, it's located at `/var/db/nginx-agent/`. - -- **Mixing NGINX Open Source and NGINX Plus instances**: You can add both NGINX Open Source and NGINX Plus instances to the same config sync group, but there are limitations. If your configuration includes features exclusive to NGINX Plus, synchronization will fail on NGINX Open Source instances because they don't support these features. NGINX One allows you to mix NGINX instance types for flexibility, but it’s important to ensure that the configurations you're applying are compatible with all instances in the group. - -- **Single config sync group membership**: An instance can join only one config sync group at a time. - -- **Configuration inheritance**: If the config sync group already has a configuration defined, that configuration will be pushed to instances when they join. - -- **Using an instance's configuration for the group configuration**: If an instance is the first to join a config sync group and the group's configuration hasn't been defined, the instance’s configuration will become the group’s configuration. Any instances added later will automatically inherit this configuration. - - {{< note >}} If you add multiple instances to a single config sync group, simultaneously (with automation), follow these steps. Your instances will inherit your desired configuration: - - 1. Create a config sync group. - 1. Add a configuration to the config sync group, so all instances inherit it. - 1. Add the instances in a separate operation. - - Your instances should synchronize with your desired configuration within 30 seconds. {{< /note >}} - -- **Persistence of a config sync group's configuration**: The configuration for a config sync group persists until you delete the group. Even if you remove all instances, the group's configuration stays intact. Any new instances that join later will automatically inherit this configuration. - -- **Config sync groups vs. cluster syncing**: Config sync groups are not the same as cluster syncing. Config sync groups let you to manage and synchronize configurations across multiple NGINX instances as a single entity. This is particularly useful when your NGINX instances are load-balanced by an external load balancer, as it ensures consistency across all instances. In contrast, cluster syncing, like [zone syncing]({{< ref "nginx/admin-guide/high-availability/zone_sync_details.md" >}}), ensures data consistency and high availability across NGINX instances in a cluster. While config sync groups focus on configuration management, cluster syncing supports failover and data consistency. - -## Create a config sync group - -Creating a config sync group allows you to manage the configurations of multiple NGINX instances as a single entity. - -1. On the left menu, select **Config Sync Groups**. -2. Select **Add Config Sync Group**. -3. In the **Name** field, type a name for your config sync group. -4. Select **Create** to add the config sync group. - -## Manage config sync group membership - -### Add an existing instance to a config sync group {#add-an-existing-instance-to-a-config-sync-group} - -You can add existing NGINX instances that are already registered with NGINX One to a config sync group. - -1. Open a command-line terminal on the NGINX instance. -2. Open the `/var/lib/nginx-agent/agent-dynamic.conf` file in a text editor. -3. At the end of the file, add a new line beginning with `instance_group:`, followed by the config sync group name. - - ``` text - instance_group: - ``` - -4. Restart NGINX Agent: - - ``` shell - sudo systemctl restart nginx-agent - ``` - -### Add a new instance to a config sync group {#add-a-new-instance-to-a-config-sync-group} - -When adding a new NGINX instance that is not yet registered with NGINX One, you need a data plane key to securely connect the instance. You can generate a new data plane key during the process or use an existing one if you already have it. - -1. On the left menu, select **Config Sync Groups**. -2. Select the config sync group in the list. -3. In the **Instances** pane, select **Add Instance to Config Sync Group**. -4. In the **Add Instance to Config Sync Group** dialog, select **Register a new instance with NGINX One then add to config sync group**. -5. Select **Next**. -6. **Generate a new data plane key** (choose this option if you don't have an existing key): - - - Select **Generate new key** to create a new data plane key for the instance. - - Select **Generate Data Plane Key**. - - Copy and securely store the generated key, as it is displayed only once. - -7. **Use an existing data plane key** (choose this option if you already have a key): - - - Select **Use existing key**. - - In the **Data Plane Key** field, enter the existing data plane key. - -{{}} - -{{%tab name="Virtual Machine or Bare Metal"%}} - -8. Run the provided command, which includes the data plane key, in your NGINX instance terminal to register the instance with NGINX One. -9. Select **Done** to complete the process. - -{{%/tab%}} - -{{%tab name="Docker Container"%}} - -8. **Log in to the NGINX private registry**: - - - Replace `YOUR_JWT_HERE` with your JSON Web Token (JWT) from [MyF5](https://my.f5.com/manage/s/). - - ```shell - sudo docker login private-registry.nginx.com --username=YOUR_JWT_HERE --password=none - ``` - -9. **Pull the Docker image**: - - - From the **OS Type** list, choose the appropriate operating system for your Docker image. - - After selecting the OS, run the provided command to pull the Docker image. - - **Note**: Subject to availability, you can modify the `agent: ` to match the specific NGINX Plus version, OS type, and OS version you need. For example, you might use `agent: r32-ubi-9`. For more details on version tags and how to pull an image, see [Deploying NGINX and NGINX Plus on Docker]({{< ref "nginx/admin-guide/installing-nginx/installing-nginx-docker.md#pulling-the-image" >}}). - -10. Run the provided command, which includes the data plane key, in your NGINX instance terminal to start the Docker container. - -11. Select **Done** to complete the process. - -{{%/tab%}} - -{{}} - -{{}} - -Data plane keys are required for registering NGINX instances with the NGINX One Console. These keys serve as secure tokens, ensuring that only authorized instances can connect and communicate with NGINX One. - -For more details on creating and managing data plane keys, see [Create and manage data plane keys]({{}}). - -{{}} - -### Change the config sync group for an instance - -If you need to move an NGINX instance to a different config sync group, follow these steps: - -1. Open a command-line terminal on the NGINX instance. -2. Open the `/var/lib/nginx-agent/agent-dynamic.conf` file in a text editor. -3. Locate the line that begins with `instance_group:` and change it to the name of the new config sync group. - - ``` text - instance_group: - ``` - -4. Restart NGINX Agent by running the following command: - - ```shell - sudo systemctl restart nginx-agent - ``` - -**Important:** If the instance is the first to join the new config sync group and a group configuration hasn’t been added manually beforehand, the instance’s configuration will automatically become the group’s configuration. Any instances added to this group later will inherit this configuration. - -### Remove an instance from a config sync group - -If you need to remove an NGINX instance from a config sync group without adding it to another group, follow these steps: - -1. Open a command-line terminal on the NGINX instance. -2. Open the `/var/lib/nginx-agent/agent-dynamic.conf` file in a text editor. -3. Locate the line that begins with `instance_group:` and either remove it or comment it out by adding a `#` at the beginning of the line. - - ```text - # instance_group: - ``` - -4. Restart NGINX Agent: - - ```shell - sudo systemctl restart nginx-agent - ``` - -By removing or commenting out this line, the instance will no longer be associated with any config sync group. - -## Add the config sync group configuration - -You can set the configuration for a config sync group in two ways: - -### Define the group configuration manually - -You can manually define the group's configuration before adding any instances. When you add instances to the group later, they automatically inherit this configuration. - -To manually set the group configuration: - -1. Follow steps 1–4 in the [**Create a config sync group**](#create-a-config-sync-group) section to create your config sync group. -2. After creating the group, select the **Configuration** tab. -3. Since no instances have been added, the **Configuration** tab will show an empty configuration with a message indicating that no config files exist yet. -4. To add a configuration, select **Edit Configuration**. -5. In the editor, define your NGINX configuration as needed. This might include adding or modifying `nginx.conf` or other related files. -6. After making your changes, select **Next** to view a split screen showing your changes. -7. If you're satisfied with the configuration, select **Save and Publish**. - -### Use an instance's configuration - -If you don't manually define a group config, the NGINX configuration of the first instance added to a config sync group becomes the group's configuration. Any additional instances added afterward inherit this group configuration. - -To set the group configuration by adding an instance: - -1. Follow the steps in the [**Add an existing instance to a config sync group**](#add-an-existing-instance-to-a-config-sync-group) or [**Add a new instance to a config sync group**](#add-a-new-instance-to-a-config-sync-group) sections to add your first instance to the group. -2. The NGINX configuration from this instance will automatically become the group's configuration. -3. You can further edit and publish this configuration by following the steps in the [**Publish the config sync group configuration**](#publish-the-config-sync-group-configuration) section. - -## Publish the config sync group configuration {#publish-the-config-sync-group-configuration} - -After the config sync group is created, you can modify and publish the group's configuration as needed. Any changes made to the group configuration will be applied to all instances within the group. - -1. On the left menu, select **Config Sync Groups**. -2. Select the config sync group in the list. -3. Select the **Configuration** tab to view the group's NGINX configuration. -4. To modify the group's configuration, select **Edit Configuration**. -5. Make the necessary changes to the configuration. -6. When you're finished, select **Next**. A split view displays the changes. -7. If you're satisfied with the changes, select **Save and Publish**. - -Publishing the group configuration ensures that all instances within the config sync group are synchronized with the latest group configuration. This helps maintain consistency across all instances in the group, preventing configuration drift. - -## Understanding config sync statuses - -The **Config Sync Status** column on the **Config Sync Groups** page provides insight into the synchronization state of your NGINX instances within each group. - -{{}} -| **Status** | **Description** | -|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------| -| **In Sync** | All instances within the config sync group have configurations that match the group configuration. No action is required. | -| **Out of Sync** | At least one instance in the group has a configuration that differs from the group's configuration. You may need to review and resolve discrepancies to ensure consistency. | -| **Sync in Progress** | An instance is currently being synchronized with the group's configuration. This status appears when an instance is moved to a new group or when a configuration is being applied. | -| **Unknown** | The synchronization status of the instances in this group cannot be determined. This could be due to connectivity issues, instances being offline, or other factors. Investigating the cause of this status is recommended. | -{{}} - -Monitoring the **Config Sync Status** helps ensure that your configurations are consistently applied across all instances in a group, reducing the risk of configuration drift. - -## See also - -- [Create and manage data plane keys]({{< ref "/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md" >}}) -- [View and edit NGINX configurations]({{< ref "/nginx-one/how-to/nginx-configs/view-edit-nginx-configurations.md" >}}) diff --git a/content/nginx-one/how-to/proxy-setup/_index.md b/content/nginx-one/how-to/proxy-setup/_index.md deleted file mode 100644 index 16f858cc2..000000000 --- a/content/nginx-one/how-to/proxy-setup/_index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -description: -title: Proxy setup -weight: 600 -url: /nginx-one/how-to/settings/nginx-as-proxy ---- diff --git a/content/nginx-one/how-to/staged-configs/_index.md b/content/nginx-one/how-to/staged-configs/_index.md deleted file mode 100644 index 51e07d1aa..000000000 --- a/content/nginx-one/how-to/staged-configs/_index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -description: -title: Staged Configurations -weight: 800 -url: /nginx-one/how-to/staged-configs ---- diff --git a/content/nginx-one/how-to/staged-configs/api-staged-config.md b/content/nginx-one/how-to/staged-configs/api-staged-config.md deleted file mode 100644 index ff559d014..000000000 --- a/content/nginx-one/how-to/staged-configs/api-staged-config.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -# We use sentence case and present imperative tone -title: Use the API to manage your Staged Configurations -# Weights are assigned in increments of 100: determines sorting order -weight: 500 -# Creates a table of contents and sidebar, useful for large documents -toc: true -# Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this -type: how-to -# Intended for internal catalogue and search, case sensitive: -product: NGINX One ---- - -You can use F5 NGINX One Console API to manage your Staged Configurations. With our API, you can: - -- [Create an NGINX Staged Configuration]({{< ref "/nginx-one/api/api-reference-guide/#operation/createStagedConfig" >}}) - - Use details to add existing configuration files. -- [Get a list of existing Staged Configurations]({{< ref "/nginx-one/api/api-reference-guide/#operation/listStagedConfigs" >}}) - - Record the `object_id` of your target Staged Configuration for your analysis report. -- [Get an analysis report for an existing Staged Configuration]({{< ref "/nginx-one/api/api-reference-guide/#operation/getStagedConfigReport" >}}) - - Review the same recommendations found in the UI. -- [Export a Staged Configuration]({{< ref "/nginx-one/api/api-reference-guide/#operation/exportStagedConfig" >}}) - - Exports an existing Staged Configuration from the console. It sends you an archive of that configuration in `tar.gz` format. -- [Import a Staged Configuration]({{< ref "/nginx-one/api/api-reference-guide/#operation/importStagedConfig" >}}) - - Imports an existing Staged Configuration from your system and sends it to the console. This REST call assumes that your configuration is archived in `tar.gz` format. -- [Bulk manage multiple Staged Configurations]({{< ref "/nginx-one/api/api-reference-guide/#operation/bulkStagedConfigs" >}}) - - Allows you to delete multiple Staged Configurations. Requires each `object_id`. - - For several API endpoints, we ask for a `conf_path`. Make sure to set an absolute file path. If you make a REST call without an absolute file path, you'll see a 400 error message. diff --git a/content/nginx-one/metrics/_index.md b/content/nginx-one/metrics/_index.md new file mode 100644 index 000000000..9602b6a8b --- /dev/null +++ b/content/nginx-one/metrics/_index.md @@ -0,0 +1,6 @@ +--- +description: +title: Set up metrics +weight: 500 +url: /nginx-one/metrics/ +--- diff --git a/content/nginx-one/metrics/enable-metrics.md b/content/nginx-one/metrics/enable-metrics.md new file mode 100644 index 000000000..0e677a78c --- /dev/null +++ b/content/nginx-one/metrics/enable-metrics.md @@ -0,0 +1,23 @@ +--- +# We use sentence case and present imperative tone +title: "Enable metrics" +# Weights are assigned in increments of 100: determines sorting order +weight: i00 +# Creates a table of contents and sidebar, useful for large documents +toc: true +# Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this +nd-content-type: tutorial +# Intended for internal catalogue and search, case sensitive: +# Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit +nd-product: NGINX-One +--- + +The NGINX One Console dashboard relies on APIs for NGINX Plus and NGINX Open Source Stub Status to report traffic and system metrics. The following sections show you how to enable those metrics. + +### Enable NGINX Plus API + +{{< include "/use-cases/monitoring/enable-nginx-plus-api.md" >}} + +### Enable NGINX Open Source Stub Status API + +{{< include "/use-cases/monitoring/enable-nginx-oss-stub-status.md" >}} diff --git a/content/nginx-one/metrics/review-metrics.md b/content/nginx-one/metrics/review-metrics.md new file mode 100644 index 000000000..2920ca63e --- /dev/null +++ b/content/nginx-one/metrics/review-metrics.md @@ -0,0 +1,23 @@ +--- +# We use sentence case and present imperative tone +title: "Review metrics on the NGINX One dashboard" +# Weights are assigned in increments of 100: determines sorting order +weight: i00 +# Creates a table of contents and sidebar, useful for large documents +toc: true +# Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this +nd-content-type: how-to +# Intended for internal catalogue and search, case sensitive: +# Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit +nd-product: NGINX-One +--- + +After connecting your NGINX instances to NGINX One, you can monitor their performance and health. The NGINX One dashboard is designed for this purpose, offering an easy-to-use interface. + +### Log in to NGINX One + +1. Log in to [F5 Distributed Console](https://www.f5.com/cloud/products/distributed-cloud-console). +1. Select **NGINX One > Visit Service**. + +{{< include "/use-cases/monitoring/n1c-dashboard-overview.md" >}} + diff --git a/content/nginx-one/nginx-configs/_index.md b/content/nginx-one/nginx-configs/_index.md new file mode 100644 index 000000000..d4a987147 --- /dev/null +++ b/content/nginx-one/nginx-configs/_index.md @@ -0,0 +1,6 @@ +--- +description: +title: Manage your NGINX instances +weight: 300 +url: /nginx-one/nginx-configs +--- diff --git a/content/nginx-one/how-to/nginx-configs/add-file.md b/content/nginx-one/nginx-configs/add-file.md similarity index 78% rename from content/nginx-one/how-to/nginx-configs/add-file.md rename to content/nginx-one/nginx-configs/add-file.md index 7b654d86e..574ba30e4 100644 --- a/content/nginx-one/how-to/nginx-configs/add-file.md +++ b/content/nginx-one/nginx-configs/add-file.md @@ -2,7 +2,7 @@ docs: null title: Add a file to an instance toc: true -weight: 400 +weight: 300 type: - how-to --- @@ -21,7 +21,7 @@ Before you add files in your configuration, ensure: ## Important considerations If your instance is a member of a Config Sync Group, changes that you make may be synchronized to other instances in that group. -For more information, see how you can [Manage Config Sync Groups]({{< ref "/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md" >}}). +For more information, see how you can [Manage Config Sync Groups]({{< ref "/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md" >}}). ## Add a file @@ -62,6 +62,6 @@ Enter the name of the desired configuration file, such as `abc.conf` and select ## See also -- [Create and manage data plane keys]({{< ref "/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md" >}}) -- [View and edit NGINX configurations]({{< ref "/nginx-one/how-to/nginx-configs/view-edit-nginx-configurations.md" >}}) -- [Manage certificates]({{< ref "/nginx-one/how-to/certificates/manage-certificates.md" >}}) +- [Create and manage data plane keys]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}) +- [Add an NGINX instance]({{< ref "/nginx-one/connect-instances/add-instance.md" >}}) +- [Manage certificates]({{< ref "/nginx-one/nginx-configs/certificates/manage-certificates.md" >}}) diff --git a/content/nginx-one/nginx-configs/certificates/_index.md b/content/nginx-one/nginx-configs/certificates/_index.md new file mode 100644 index 000000000..b97d42034 --- /dev/null +++ b/content/nginx-one/nginx-configs/certificates/_index.md @@ -0,0 +1,6 @@ +--- +description: +title: Monitor your certificates +weight: 500 +url: /nginx-one/nginx-configs/certificates +--- diff --git a/content/nginx-one/how-to/certificates/manage-certificates.md b/content/nginx-one/nginx-configs/certificates/manage-certificates.md similarity index 94% rename from content/nginx-one/how-to/certificates/manage-certificates.md rename to content/nginx-one/nginx-configs/certificates/manage-certificates.md index 0d53b6947..b80d52c3c 100644 --- a/content/nginx-one/how-to/certificates/manage-certificates.md +++ b/content/nginx-one/nginx-configs/certificates/manage-certificates.md @@ -3,6 +3,7 @@ docs: null title: Manage certificates toc: true weight: 100 +aliases: /nginx-one/how-to/certificates/manage-certificates/ type: - how-to --- @@ -33,8 +34,8 @@ From the NGINX One Console you can: You can manage the certificates for: -- [Unique instances]({{< ref "/nginx-one/how-to/nginx-configs/add-file.md#new-ssl-certificate-or-ca-bundle" >}}) -- For all instances that are members of a [Config Sync Group]({{< ref "/nginx-one/how-to/config-sync-groups/manage-config-sync-groups/#configuration-management" >}}) +- [Unique instances]({{< ref "/nginx-one/nginx-configs/add-file.md#new-ssl-certificate-or-ca-bundle" >}}) +- For all instances that are members of a [Config Sync Group]({{< ref "/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups/#configuration-management" >}}) {{< tip >}} @@ -178,7 +179,7 @@ If you register an instance to NGINX One Console, as described in [Add your NGIN - Are used in their NGINX configuration - Do _not_ match an existing managed SSL certificate/CA bundle -These certificates appear in the list of unmanaged certificates. NGINX One Console does not store unmanaged certs or keys, only metadata associated with certs for monitoring. +These certificates appear in the list of unmanaged certificates. We recommend that you convert your unmanaged certificates. Converting to a managed certificate allows you to centrally manage, update, and deploy a certificate to your data plane from the NGINX One Console. @@ -192,6 +193,6 @@ To convert these cerificates to managed, start with the Certificates menu, and s ## See also -- [Create and manage data plane keys]({{< ref "/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md" >}}) -- [View and edit NGINX configurations]({{< ref "/nginx-one/how-to/nginx-configs/view-edit-nginx-configurations.md" >}}) -- [Add a file in a configuration]({{< ref "/nginx-one/how-to/nginx-configs/add-file.md" >}}) +- [Create and manage data plane keys]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}) +- [Add an instance]({{< ref "/nginx-one/connect-instances/add-instance.md" >}}) +- [Add a file in a configuration]({{< ref "/nginx-one/nginx-configs/add-file.md" >}}) diff --git a/content/nginx-one/how-to/nginx-configs/clean-up-unavailable-instances.md b/content/nginx-one/nginx-configs/clean-up-unavailable-instances.md similarity index 99% rename from content/nginx-one/how-to/nginx-configs/clean-up-unavailable-instances.md rename to content/nginx-one/nginx-configs/clean-up-unavailable-instances.md index 6a119617d..9e7979e34 100644 --- a/content/nginx-one/how-to/nginx-configs/clean-up-unavailable-instances.md +++ b/content/nginx-one/nginx-configs/clean-up-unavailable-instances.md @@ -3,7 +3,7 @@ description: '' docs: null title: Clean up unavailable NGINX instances toc: true -weight: 200 +weight: 1000 type: - how-to --- diff --git a/content/nginx-one/nginx-configs/config-sync-groups/_index.md b/content/nginx-one/nginx-configs/config-sync-groups/_index.md new file mode 100644 index 000000000..eaefeaea3 --- /dev/null +++ b/content/nginx-one/nginx-configs/config-sync-groups/_index.md @@ -0,0 +1,6 @@ +--- +description: +title: Change multiple instances with one push +weight: 400 +url: /nginx-one/config-sync-groups +--- diff --git a/content/nginx-one/how-to/config-sync-groups/add-file-csg.md b/content/nginx-one/nginx-configs/config-sync-groups/add-file-csg.md similarity index 76% rename from content/nginx-one/how-to/config-sync-groups/add-file-csg.md rename to content/nginx-one/nginx-configs/config-sync-groups/add-file-csg.md index ad8d31ca0..147b83950 100644 --- a/content/nginx-one/how-to/config-sync-groups/add-file-csg.md +++ b/content/nginx-one/nginx-configs/config-sync-groups/add-file-csg.md @@ -58,10 +58,10 @@ Enter the name of the desired configuration file, such as `abc.conf` and select ### Existing SSL Certificate or CA Bundle {{< include "nginx-one/add-file/existing-ssl-bundle.md" >}} -With this option, You can incorporate [Managed certificates]({{< ref "/nginx-one/how-to/certificates/manage-certificates.md#managed-and-unmanaged-certificates" >}}). +With this option, you can incorporate [Managed certificates]({{< ref "/nginx-one/nginx-configs/certificates/manage-certificates.md#managed-and-unmanaged-certificates" >}}). ## See also -- [Create and manage data plane keys]({{< ref "/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md" >}}) -- [View and edit NGINX configurations]({{< ref "/nginx-one/how-to/nginx-configs/view-edit-nginx-configurations.md" >}}) -- [Manage certificates]({{< ref "/nginx-one/how-to/certificates/manage-certificates.md" >}}) +- [Create and manage data plane keys]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}) +- [Add an NGINX instance]({{< ref "/nginx-one/connect-instances/add-instance.md" >}}) +- [Manage certificates]({{< ref "/nginx-one/nginx-configs/certificates/manage-certificates.md" >}}) diff --git a/content/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md b/content/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md similarity index 93% rename from content/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md rename to content/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md index d686e713e..d5811fe1a 100644 --- a/content/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md +++ b/content/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md @@ -37,7 +37,7 @@ Config Sync Groups support configuration inheritance and persistance. If you've On the other hand, if you remove all instances from a Config Sync Group, the original configuration persists. In other words, the group retains the configuration from that first instance (or the original configuration). Any new instance that you add later still inherits that configuration. -{{< tip >}}You can use _unmanaged_ certificates. NGINX One Console does not store unmanaged certs or keys, only metadata associated with the certs or keys for monitoring. Your actions can affect the [Config Sync Group status](#config-sync-group-status). For future instances on the data plane, if it: +{{< tip >}}You can use _unmanaged_ certificates. Your actions can affect the [Config Sync Group status](#config-sync-group-status). For future instances on the data plane, if it: - Has unmanaged certificates in the same file paths as defined by the NGINX configuration as the Config Sync Group, that instance will be [**In Sync**](#config-sync-group-status). - Will be [**Out of Sync**](#config-sync-group-status) if the instance: @@ -100,12 +100,6 @@ Now that you created a Config Sync Group, you can add instances to that group. A Any instance that joins the group afterwards inherits that configuration. -{{< note >}} If you see the following [Config Sync Group Status](#config-sync-group-status) message: **Out of Sync**: - - - Review the instance details in NGINX One Console to identify any publication problems. - - After you change the configuration of the Config Sync Group, [Publish it](#publish-the-config-sync-group-configuration]. -In that case, review and resolve discrepancies between the Instance and the rest of the Config Sync Group. {{< /note >}} - ### Add an existing instance to a Config Sync Group {#add-an-existing-instance-to-a-config-sync-group} You can add existing NGINX instances that are already registered with NGINX One to a Config Sync Group. @@ -188,7 +182,7 @@ When adding a new NGINX instance that is not yet registered with NGINX One, you Data plane keys are required for registering NGINX instances with the NGINX One Console. These keys serve as secure tokens, ensuring that only authorized instances can connect and communicate with NGINX One. -For more details on creating and managing data plane keys, see [Create and manage data plane keys]({{}}). +For more details on creating and managing data plane keys, see [Create and manage data plane keys]({{}}). {{}} @@ -263,5 +257,5 @@ Monitor the **Config Sync Status** column. It can help you ensure that your conf ## See also -- [Create and manage data plane keys]({{< ref "/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md" >}}) -- [View and edit NGINX configurations]({{< ref "/nginx-one/how-to/nginx-configs/view-edit-nginx-configurations.md" >}}) +- [Create and manage data plane keys]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}) +- [Add an NGINX instance]({{< ref "/nginx-one/connect-instances/add-instance.md" >}}) diff --git a/content/nginx-one/how-to/nginx-configs/view-edit-nginx-configurations.md b/content/nginx-one/nginx-configs/view-edit-nginx-configurations.md similarity index 66% rename from content/nginx-one/how-to/nginx-configs/view-edit-nginx-configurations.md rename to content/nginx-one/nginx-configs/view-edit-nginx-configurations.md index 37d4fb6f5..f775520f8 100644 --- a/content/nginx-one/how-to/nginx-configs/view-edit-nginx-configurations.md +++ b/content/nginx-one/nginx-configs/view-edit-nginx-configurations.md @@ -1,8 +1,8 @@ --- # We use sentence case and present imperative tone -title: View and edit NGINX configurations +title: View and edit an NGINX instance # Weights are assigned in increments of 100: determines sorting order -weight: 300 +weight: 200 # Creates a table of contents and sidebar, useful for large documents toc: true # Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this @@ -12,17 +12,7 @@ product: NGINX One --- -## Overview - -This guide explains how to add a **Instances** to your NGINX One Console. - -## Before you start - -Before you add **Instances** to NGINX One Console, ensure: - -- You have an NGINX One Console account with staged configuration permissions.``` - -Once you've registered your NGINX Instances with the F5 NGINX One Console, you can view and edit their NGINX configurations on the **Instances** details page. +This guide explains how to edit the configuration of an existing **Instance** in your NGINX One Console. To view and edit an NGINX configuration, follow these steps: @@ -34,8 +24,8 @@ To view and edit an NGINX configuration, follow these steps: 6. When you are satisfied with the changes, select **Next**. 7. Compare and verify your changes before selecting **Save and Publish** to publish the edited configuration. -Alternatively, you can select **Save Changes As**. In the window that appears, you can set up this instance as a [**Staged Configuration**]({{< ref "/nginx-one/how-to/staged-configs/_index.md" >}}). +Alternatively, you can select **Save Changes As**. In the window that appears, you can set up this instance as a [**Staged Configuration**]({{< ref "/nginx-one/staged-configs/_index.md" >}}). ## See also -- [Manage Config Sync Groups]({{< ref "/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md" >}}) +- [Manage Config Sync Groups]({{< ref "/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md" >}}) diff --git a/content/nginx-one/rbac/_index.md b/content/nginx-one/rbac/_index.md index a1f7050ff..447611e56 100644 --- a/content/nginx-one/rbac/_index.md +++ b/content/nginx-one/rbac/_index.md @@ -1,6 +1,6 @@ --- -title: Role-based access control +title: Organize users with RBAC description: -weight: 300 +weight: 600 url: /nginx-one/rbac --- diff --git a/content/nginx-one/rbac/overview.md b/content/nginx-one/rbac/overview.md index ccab68d4b..2bcdfc17b 100644 --- a/content/nginx-one/rbac/overview.md +++ b/content/nginx-one/rbac/overview.md @@ -1,5 +1,5 @@ --- -title: "Role-based access control overview" +title: "Learn about Role-based access control" weight: 400 toc: true type: reference diff --git a/content/nginx-one/rbac/rbac-api.md b/content/nginx-one/rbac/rbac-api.md index 82953365a..11e90cfc3 100644 --- a/content/nginx-one/rbac/rbac-api.md +++ b/content/nginx-one/rbac/rbac-api.md @@ -1,5 +1,5 @@ --- -title: "Custom roles and API groups" +title: "Set up custom roles with API groups" weight: 500 toc: true type: reference diff --git a/content/nginx-one/rbac/roles.md b/content/nginx-one/rbac/roles.md index 646f0d5cb..e2d33a15b 100644 --- a/content/nginx-one/rbac/roles.md +++ b/content/nginx-one/rbac/roles.md @@ -1,5 +1,5 @@ --- -title: "Default roles" +title: "Review default roles" weight: 500 toc: true type: reference diff --git a/content/nginx-one/staged-configs/_index.md b/content/nginx-one/staged-configs/_index.md new file mode 100644 index 000000000..1305546f1 --- /dev/null +++ b/content/nginx-one/staged-configs/_index.md @@ -0,0 +1,6 @@ +--- +description: +title: Draft new configurations +weight: 400 +url: /nginx-one/staged-configs +--- diff --git a/content/nginx-one/how-to/staged-configs/add-staged-config.md b/content/nginx-one/staged-configs/add-staged-config.md similarity index 96% rename from content/nginx-one/how-to/staged-configs/add-staged-config.md rename to content/nginx-one/staged-configs/add-staged-config.md index e69c0da78..042779b8b 100644 --- a/content/nginx-one/how-to/staged-configs/add-staged-config.md +++ b/content/nginx-one/staged-configs/add-staged-config.md @@ -6,10 +6,10 @@ weight: 100 # Creates a table of contents and sidebar, useful for large documents toc: true # Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this -nd-content-type: how-to +type: tutorial # Intended for internal catalogue and search, case sensitive: # Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit -nd-product: NGINX One +product: NGINX-One --- ## Overview @@ -33,7 +33,7 @@ You can add a Staged Configuration from: - An existing Config Sync Group - An existing Staged Configuration -To start the process from NGINX One Console, select **Manage > Staged Configurations**. Select **Add Staged Configuration**. +To start the process from NGINX One Console, select **Manage > Staged Configruations**. Select **Add Staged Configuration**. The following sections start from the **Add Staged Configuration** window that appears. diff --git a/content/nginx-one/staged-configs/api-staged-config.md b/content/nginx-one/staged-configs/api-staged-config.md new file mode 100644 index 000000000..18c276ae3 --- /dev/null +++ b/content/nginx-one/staged-configs/api-staged-config.md @@ -0,0 +1,20 @@ +--- +# We use sentence case and present imperative tone +title: Use the API to manage your Staged Configurations +# Weights are assigned in increments of 100: determines sorting order +weight: 300 +# Creates a table of contents and sidebar, useful for large documents +toc: true +# Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this +type: tutorial +# Intended for internal catalogue and search, case sensitive: +product: NGINX-One +--- + +You can use F5 NGINX One Console API to manage your Staged Configurations. With our API, you can: + +- [Create an NGINX Staged Configuration]({{< ref "/nginx-one/api/api-reference-guide/#operation/createStagedConfig" >}}) + - The details allow you to add existing configuration files. +- [Get a list of existing Staged Configurations]({{< ref "/nginx-one/api/api-reference-guide/#operation/listStagedConfigs" >}}) + - Be sure to record the `object_id` of your target Staged Configuration for your analysis report. +- [Get an analysis report for an existing Staged Configuration]({{< ref "/nginx-one/api/api-reference-guide/#operation/getStagedConfigReport" >}}) diff --git a/content/nginx-one/how-to/staged-configs/edit-staged-config.md b/content/nginx-one/staged-configs/edit-staged-config.md similarity index 100% rename from content/nginx-one/how-to/staged-configs/edit-staged-config.md rename to content/nginx-one/staged-configs/edit-staged-config.md diff --git a/content/nginx-one/how-to/staged-configs/import-export-staged-config.md b/content/nginx-one/staged-configs/import-export-staged-config.md similarity index 94% rename from content/nginx-one/how-to/staged-configs/import-export-staged-config.md rename to content/nginx-one/staged-configs/import-export-staged-config.md index cbb77d2d5..68993ee99 100644 --- a/content/nginx-one/how-to/staged-configs/import-export-staged-config.md +++ b/content/nginx-one/staged-configs/import-export-staged-config.md @@ -26,7 +26,7 @@ Before you import or export a Staged Configuration to NGINX One Console, ensure: - You have an NGINX One Console account with staged configuration permissions. -You can also import, export, and manage multiple Staged Configurations through [the API]({{< ref "/nginx-one/how-to/staged-configs/api-staged-config.md" >}}). +You can also import, export, and manage multiple Staged Configurations through [the API]({{< ref "/nginx-one/staged-configs/api-staged-config.md" >}}). ## Considerations @@ -36,6 +36,8 @@ When you work with such archives, consider the following: - Do _not_ unpack archives directly to your NGINX configuration directories. You do not want to accidentally overwrite existing configuration files. - The files are set to a default file permission mode of 0644. - Do not include files with secrets or personally identifying information. +- We ignore hidden files. + - If you import or export such files in archives, NGINX One Console does not include those files. - The size of the archive is limited to 5 MB. The size of all uncompressed files in the archive is limited to 10 MB. {{< tip >}} diff --git a/layouts/partials/list-main.html b/layouts/partials/list-main.html new file mode 100644 index 000000000..be455babf --- /dev/null +++ b/layouts/partials/list-main.html @@ -0,0 +1,119 @@ +{{/* TODO: Delete this page, and use the one from nginx-hugo-them */}} +
      + {{ $PageTitle := .Title }} +
      + +
      + + {{ if or (lt .WordCount 1) (eq $PageTitle "F5 NGINX One Console") (eq $PageTitle "F5 NGINX App Protect DoS") (eq $PageTitle "F5 NGINX Plus") }} +
      +
      +
      + {{ range .Pages.GroupBy "Section" }} + {{ range .Pages.ByWeight }} +
      +
      +

      + + {{ .Title }} +

      + {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Manage your NGINX fleet")}} +

      Simplify, scale, secure, and collaborate with your NGINX fleet

      + {{ end }} + {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Get started")}} +

      See benefits from the NGINX One Console

      + {{ end }} + {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Draft new configurations")}} +

      Work with Staged Configurations

      + {{ end }} + + {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Manage your NGINX instances")}} +

      Monitor and maintain your deployments

      + {{ end }} + {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Organize users with RBAC")}} +

      Assign responsibilities with role-based access control

      + {{ end }} + {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Automate with the NGINX One API")}} +

      Manage your NGINX fleet over REST

      + {{ end }} + {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Glossary")}} +

      Learn terms unique to NGINX One Console

      + {{ end }} + {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Connect your instances") }} +

      Work with data plane keys, containers, and proxy servers

      + {{ end }} + {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Set up metrics") }} +

      Review your deployments in a dashboard

      + {{ end }} + {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "API")}} +

      These are API docs

      + + {{ end }} + {{ if and (eq $PageTitle "F5 NGINX One Console") (eq .Title "Changelog") }} + {{ partial "changelog-date.html" . }} + {{ end }} +
      +
      + {{ end }} + {{ end }} +
      + {{ if eq $PageTitle "F5 NGINX One Console" }} +

      Other Products

      + {{ $nginxProducts := slice + (dict "title" "NGINX Instance Manager" "url" "/nginx-instance-manager" "imgSrc" "NGINX-Instance-Manager-product-icon" "type" "local-console-option" "description" "Track and control NGINX Open Source and NGINX Plus instances.") + (dict "title" "NGINX Ingress Controller" "url" "/nginx-ingress-controller" "imgSrc" "NGINX-Ingress-Controller-product-icon" "type" "kubernetes-solutions" "description" "Kubernetes traffic management with API gateway, identity, and observability features.") + (dict "title" "NGINX Gateway Fabric" "url" "/nginx-gateway-fabric" "imgSrc" "NGINX-product-icon" "type" "kubernetes-solutions" "description" "Next generation Kubernetes connectivity using the Gateway API.") + (dict "title" "NGINX App Protect WAF" "url" "/nginx-app-protect-waf" "imgSrc" "NGINX-App-Protect-WAF-product-icon" "type" "security" "description" "Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs.") + (dict "title" "NGINX App Protect DoS" "url" "/nginx-app-protect-dos" "imgSrc" "NGINX-App-Protect-DoS-product-icon" "type" "security" "description" "Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs.") + (dict "title" "NGINX Plus" "url" "/nginx" "imgSrc" "NGINX-Plus-product-icon-RGB" "type" "modern-app-delivery" "description" "The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway.") + (dict "title" "NGINX Open Source" "url" "https://nginx.org/en/docs/" "imgSrc" "NGINX-product-icon" "type" "modern-app-delivery" "description" "The open source all-in-one load balancer, content cache, and web server") + }} + {{ $groupedProducts := dict + "local-console-option" (where $nginxProducts "type" "local-console-option") + "kubernetes-solutions" (where $nginxProducts "type" "kubernetes-solutions") + "security" (where $nginxProducts "type" "security") + "modern-app-delivery" (where $nginxProducts "type" "modern-app-delivery") + }} + {{ range $type, $products := $groupedProducts }} +
      +

      {{ $type | humanize | title }}

      + {{ range $products }} +
      +
      +

      + + {{ .title }} +

      +

      + {{ if .description }}{{ .description | markdownify }}{{ end }} +

      +
      +
      + {{ end }} +
      + {{ end }} + {{ end }} +
      +
      + {{end}} +
      From aa066e037e158284e12b2683b225c56d7904bcb5 Mon Sep 17 00:00:00 2001 From: Alan Dooley Date: Fri, 30 May 2025 15:13:15 +0100 Subject: [PATCH 210/723] feat: Update r33 notice banner (#631) This commit updates the r33 notice banner that was converted into the new banner system with the latest theme release. The original link was a series of nested relative links: it replaces it with a Hugo reference. --- _banners/upgrade-r33.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_banners/upgrade-r33.md b/_banners/upgrade-r33.md index 97cb82155..bed7946f9 100644 --- a/_banners/upgrade-r33.md +++ b/_banners/upgrade-r33.md @@ -1,5 +1,5 @@ {{< banner "caution" "NGINX Plus R33 requires NGINX Instance Manager 2.18 or later" >}} If your NGINX data plane instances are running NGINX Plus R33 or later, you must upgrade to NGINX Instance Manager 2.18 or later to support usage reporting. NGINX Plus R33 instances must report usage data to the F5 licensing endpoint or NGINX Instance Manager. Otherwise, they will stop processing traffic.

      - For more details about usage reporting and enforcement, see [About solution licenses](../../../../solutions/about-subscription-licenses) + For more details about usage reporting and enforcement, see [About solution licenses]({{< ref "/solutions/about-subscription-licenses.md" >}}) {{}} \ No newline at end of file From c2a7f674dfedba9e72250cc289c34c47bfbcedce Mon Sep 17 00:00:00 2001 From: yar Date: Fri, 30 May 2025 15:52:48 +0100 Subject: [PATCH 211/723] Added HTTP/3 to Tech Specs. (#569) --- content/nginx/technical-specs.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/nginx/technical-specs.md b/content/nginx/technical-specs.md index c65fcb06d..5405859c6 100644 --- a/content/nginx/technical-specs.md +++ b/content/nginx/technical-specs.md @@ -163,9 +163,10 @@ See [Sizing Guide for Deploying NGINX Plus on Bare Metal Servers](https://www.ng - [Limit Requests](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html) – Limit rate of request processing for a client IP address or other keyed value - [Limit Responses](https://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate) – Limit rate of responses per client connection -### HTTP/2 and SSL/TLS +### HTTP/2, HTTP/3 and SSL/TLS - [HTTP/2](https://nginx.org/en/docs/http/ngx_http_v2_module.html) – Process HTTP/2 traffic +- [HTTP/3](https://nginx.org/en/docs/http/ngx_http_v3_module.html) – Process HTTP/3 traffic - [SSL/TLS](https://nginx.org/en/docs/http/ngx_http_ssl_module.html) – Process HTTPS traffic ### Mail From 85275b634b8ddd78d09b04716666c401566de211 Mon Sep 17 00:00:00 2001 From: yar Date: Fri, 30 May 2025 16:00:04 +0100 Subject: [PATCH 212/723] Applied formatting to some examples. (#570) --- .../installing-nginx/installing-nginx-plus.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md b/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md index 3ca6da52a..aed4c97fe 100644 --- a/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md +++ b/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md @@ -171,17 +171,26 @@ NGINX Plus can be installed on the following versions of Debian or Ubuntu: - **For Debian**: ```shell - sudo apt update - sudo apt install apt-transport-https lsb-release ca-certificates wget gnupg2 debian-archive-keyring + sudo apt update && \ + sudo apt install apt-transport-https \ + lsb-release \ + ca-certificates \ + wget \ + gnupg2 \ + debian-archive-keyring ``` - **For Ubuntu**: ```shell - sudo apt update - sudo apt install apt-transport-https lsb-release ca-certificates wget gnupg2 ubuntu-keyring + sudo apt update && \ + sudo apt install apt-transport-https \ + lsb-release \ + ca-certificates \ + wget \ + gnupg2 \ + ubuntu-keyring ``` - 1. Download and add NGINX signing key: ```shell From fd036dae36c8c0e00682a4ebaaabbb5d1c58f2bd Mon Sep 17 00:00:00 2001 From: Mike Jang <3287976+mjang@users.noreply.github.com> Date: Fri, 30 May 2025 11:02:32 -0700 Subject: [PATCH 213/723] enhancement: Move legal notice to an appropriate location (#633) * enhancement: Move legal notice to an appropriate location * Update content/nginx-one/glossary.md Co-authored-by: yar --------- Co-authored-by: yar --- content/nginx-one/about.md | 4 ---- content/nginx-one/glossary.md | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/nginx-one/about.md b/content/nginx-one/about.md index 6d0dd4594..72e06d6bb 100644 --- a/content/nginx-one/about.md +++ b/content/nginx-one/about.md @@ -19,7 +19,3 @@ NGINX One offers the following key benefits: - **Performance optimization**: Track your NGINX versions and receive recommendations for tuning your configurations for better performance. - **Graphical Metrics Display**: Access a dashboard that shows key metrics for your NGINX instances, including instance availability, version distribution, system health, and utilization trends. - **Real-time alerts**: Receive alerts about critical issues. - -## Legal notice: Licensing agreements for NGINX products - -Using NGINX One is subject to our End User Service Agreement (EUSA). For [NGINX Plus]({{< ref "/nginx" >}}), usage is governed by the End User License Agreement (EULA). Open source projects, including [NGINX Agent](https://github.com/nginx/agent) and [NGINX OSS](https://github.com/nginx/nginx), are covered under their respective licenses. For more details on these licenses, follow the provided links. diff --git a/content/nginx-one/glossary.md b/content/nginx-one/glossary.md index 33b817f55..04951c14c 100644 --- a/content/nginx-one/glossary.md +++ b/content/nginx-one/glossary.md @@ -22,6 +22,10 @@ This glossary defines terms used in the F5 NGINX One Console and F5 Distributed | **Tenant** | A tenant in F5 Distributed Cloud is an entity that owns a specific set of configuration and infrastructure. It is fundamental for isolation, meaning a tenant cannot access objects or infrastructure of other tenants. Tenants can be either individual or enterprise, with the latter allowing multiple users with role-based access control (RBAC). | {{
      }} +## Legal notice: Licensing agreements for NGINX products + +Using NGINX One is subject to our End User Service Agreement (EUSA). For [NGINX Plus]({{< ref "/nginx" >}}), usage is governed by the End User License Agreement (EULA). Open source projects, including [NGINX Agent](https://github.com/nginx/agent) and [NGINX Open Source](https://github.com/nginx/nginx), are covered under their respective licenses. For more details on these licenses, follow the provided links. + --- ## References From 69c4796b1860aa5ae9ec55302d61889a84770db6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Jun 2025 10:57:28 +0100 Subject: [PATCH 214/723] build(deps): bump tar-fs from 3.0.8 to 3.0.9 in the npm_and_yarn group across 1 directory (#639) build(deps): bump tar-fs in the npm_and_yarn group across 1 directory Bumps the npm_and_yarn group with 1 update in the / directory: [tar-fs](https://github.com/mafintosh/tar-fs). Updates `tar-fs` from 3.0.8 to 3.0.9 - [Commits](https://github.com/mafintosh/tar-fs/compare/v3.0.8...v3.0.9) --- updated-dependencies: - dependency-name: tar-fs dependency-version: 3.0.9 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 73e51faaa..df8cfa951 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2889,9 +2889,9 @@ } }, "node_modules/tar-fs": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.8.tgz", - "integrity": "sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.9.tgz", + "integrity": "sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==", "license": "MIT", "dependencies": { "pump": "^3.0.0", From 8efbfea49e5c6b21a384fe6562a322794d6becaa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Jun 2025 10:58:05 +0100 Subject: [PATCH 215/723] build(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.2 (#638) Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.4.1 to 2.4.2. - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](https://github.com/ossf/scorecard-action/compare/f49aabe0b5af0936a0987cfb85d86b75731b0186...05b42c624433fc40578a4040d5cf5e36ddca8cde) --- updated-dependencies: - dependency-name: ossf/scorecard-action dependency-version: 2.4.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alan Dooley --- .github/workflows/ossf_scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ossf_scorecard.yml b/.github/workflows/ossf_scorecard.yml index 34f8ad66a..86cd9f9bc 100644 --- a/.github/workflows/ossf_scorecard.yml +++ b/.github/workflows/ossf_scorecard.yml @@ -34,7 +34,7 @@ jobs: persist-credentials: false - name: Run analysis - uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1 + uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2 with: results_file: results.sarif results_format: sarif From 9236fd84ac3251ad304c8626ef043c1375d13b94 Mon Sep 17 00:00:00 2001 From: yar Date: Tue, 3 Jun 2025 13:49:51 +0100 Subject: [PATCH 216/723] Tech-related updates to Release Notes page (#623) * Removed span tag in Release Notes. * Fixed table size and border. * Updated date timestamp * Links conversion from https:// to ref. --------- Co-authored-by: Alan Dooley --- content/nginx/releases.md | 520 ++++++++++++++++++-------------------- 1 file changed, 252 insertions(+), 268 deletions(-) diff --git a/content/nginx/releases.md b/content/nginx/releases.md index e3568d55d..6533b24dd 100644 --- a/content/nginx/releases.md +++ b/content/nginx/releases.md @@ -9,39 +9,36 @@ type: - concept --- - -### Software Development Policy +### Software Development Policy {#support} Each F5 NGINX Plus release reaches End of Software Development (EoSD) on the release date of the next version. For NGINX Plus, EoSD means no additional features or routine bug fixes will be applied to that version. Critical bug patches and security updates are applied to the two (2) most recent releases of NGINX Plus. -{{}} +{{}} | NGINX Plus Release | Release Date | End of Software Development | End of Security Updates | End of Technical Support | -|---------------------|--------------|-----------------------------|-------------------------|--------------------------| -| R34 | 1st April 2025 | R35 release date | R36 release date | 31st March 2027 | -| R33 | 19th Nov 2024 | 1st April 2025 | R35 release date | 18th Nov 2026 | -| R32 | 29th May 2024 | 19th Nov 2024 | 1st April 2025 | 28th May 2026 | -| R31 | 19th Dec 2023 | 29th May 2024 | 18th Nov 2024 | 18th Dec 2025 | -| R30 | 15th Aug 2023 | 19th Dec 2023 | 28th May 2024 | 14th Aug 2025 | -| R29 | 2nd May 2023 | 15th Aug 2023 | 18th Dec 2023 | 1st May 2025 | - +|--------------------|--------------|-----------------------------|-------------------------|--------------------------| +| [R34](#r34) | Apr 1, 2025 | R35 release date | R36 release date | Mar 31, 2027 | +| [R33](#r33) | Nov 19, 2024 | Apr 1, 2025 | R35 release date | Nov 18, 2026 | +| [R32](#r32) | May 29, 2024 | Nov 19, 2024 | Apr 1, 2025 | May 28, 2026 | +| [R31](#r31) | Dec 19, 2023 | May 29, 2024 | Nov 18, 2024 | Dec 18, 2025 | +| [R30](#r30) | Aug 15, 2023 | Dec 19, 2023 | May 28, 2024 | Aug 14, 2025 | +| [R29](#r29) | May 2, 2023 | Aug 15, 2023 | Dec 18, 2023 | May 1, 2025 | {{< /bootstrap-table >}} We strongly recommend running the latest version of NGINX Plus in production to ensure you have the latest features, security updates, and critical patches. ### Technical Support Services -F5 offers 24 months of technical support for each F5 NGINX Plus release. The 24-month support period begins on the initial release date for each version of NGINX Plus, as noted in the table. The release of a patch (for example, `NGINX Plus R33p2`) does not reset the 24-month technical support period for the impacted release. +F5 offers 24 months of technical support for each F5 NGINX Plus release. The 24-month support period begins on the initial release date for each version of NGINX Plus, as noted in the table. The release of a patch (for example, `NGINX Plus R34p1`) does not reset the 24-month technical support period for the impacted release. - -## NGINX Plus Release 34 (R34) -_01 April 2025_
      +## NGINX Plus Release 34 (R34) {#r34} +_April 01, 2025_
      _Based on NGINX Open Source 1.27.4_ NGINX Plus R34 is a feature release: -- [OIDC authentication support]({{< ref "nginx/admin-guide/security-controls/configuring-oidc.md" >}}) via native [ngx_http_oidc_module](https://nginx.org/en/docs/http/ngx_http_oidc_module.html) module. +- [OIDC authentication support]({{< ref "/nginx/admin-guide/security-controls/configuring-oidc.md" >}}) via native [ngx_http_oidc_module](https://nginx.org/en/docs/http/ngx_http_oidc_module.html) module. - NGINX usage reporting: [proxy](https://nginx.org/en/docs/ngx_mgmt_module.html#proxy) support. - [Caching](https://blog.nginx.org/blog/optimizing-resource-usage-for-complex-ssl-configurations) of SSL certificates and secret keys with variables for [http](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate_cache) and [stream](https://nginx.org/en/docs/stream/ngx_stream_ssl_module.html#ssl_certificate_cache). @@ -57,16 +54,16 @@ NGINX Plus R34 is a feature release: NGINX Plus R34 is supported on: -{{< bootstrap-table "table table-striped table-bordered" >}} +{{}} | Distribution | Versions | |----------------------------------|-----------------------------------| | AlmaLinux | 8, 9 | | Alpine Linux | 3.18, 3.19, 3.20, 3.21 | -| Amazon Linux | 2 LTS, 2023 | +| Amazon Linux | 2 LTS, 2023 | | Debian | 11, 12 | | FreeBSD | 13, 14 | | Oracle Linux | 8.1+, 9 | -| RHEL | 8.1+, 9.0+ | +| RHEL | 8.1+, 9.0+ | | Rocky Linux | 8, 9 | | SUSE Linux Enterprise Server | 15 SP5+ | | Ubuntu | 20.04 LTS, 22.04 LTS, 24.04 LTS | @@ -79,7 +76,7 @@ NGINX Plus R34 is supported on: - Alpine Linux 3.21 is new in this release - SUSE Linux Enterprise Server 12 is removed - Ubuntu 20.04 is deprecated -- the [OpenTracing]({{< ref "nginx/admin-guide/dynamic-modules/opentracing.md" >}}) dynamic module is no longer available. It is recommended to use the [OpenTelemetry Distributed Tracing]({{< ref "nginx/admin-guide/dynamic-modules/opentelemetry.md" >}}) module, which incorporates all the features of the OpenTracing module. +- the [OpenTracing]({{< ref "/nginx/admin-guide/dynamic-modules/opentracing.md" >}}) dynamic module is no longer available. It is recommended to use the [OpenTelemetry Distributed Tracing]({{< ref "/nginx/admin-guide/dynamic-modules/opentelemetry.md" >}}) module, which incorporates all the features of the OpenTracing module. More information: [Announcing NGINX Plus R34](https://community.f5.com/kb/technicalarticles/f5-nginx-plus-r34-release-now-available/340300) @@ -87,16 +84,15 @@ More information: [Announcing NGINX Plus R34](https://community.f5.com/kb/techni ### NGINX Plus R34 Update {#r34_p1} NGINX Plus R34 P1
      -_28 May 2025_ +_May 28, 2025_ This is a bugfix release for NGINX Plus R34. - Fixed license expiration warning issue in the NGINX Plus live activity monitoring dashboard specifically for deployments utilizing marketplace images of NGINX Plus. - -## NGINX Plus Release 33 (R33) -_19 November 2024_
      +## NGINX Plus Release 33 (R33) {#r33} +_November 19, 2024_
      _Based on NGINX Open Source 1.27.2_ NGINX Plus R33 is a feature release: @@ -125,20 +121,20 @@ The argument is a file name in the `SSLKEYLOGFILE` format compatible with Wiresh - Response trailers support in proxy with the [`proxy_pass_trailers`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass_trailers) directive that allows passing trailer fields from a proxied server to a client. -- The [NGINX JavaScript]({{< ref "nginx/admin-guide/dynamic-modules/nginscript.md" >}}) module was updated to version [0.8.7](https://nginx.org/en/docs/njs/changes.html#njs0.8.7), featuring QuickJS [runtime support](https://nginx.org/en/docs/njs/engine.html). +- The [NGINX JavaScript]({{< ref "/nginx/admin-guide/dynamic-modules/nginscript.md" >}}) module was updated to version [0.8.7](https://nginx.org/en/docs/njs/changes.html#njs0.8.7), featuring QuickJS [runtime support](https://nginx.org/en/docs/njs/engine.html). - Added initial support for Post Quantum Cryptography. -{{< bootstrap-table "table table-striped table-bordered" >}} +{{}} | Distribution | Versions | |----------------------------------|-----------------------------------| | AlmaLinux | 8, 9 | | Alpine Linux | 3.17, 3.18, 3.19, 3.20 | -| Amazon Linux | 2 LTS, 2023 | +| Amazon Linux | 2 LTS, 2023 | | Debian | 11, 12 | | FreeBSD | 13, 14 | | Oracle Linux | 8.1+, 9 | -| RHEL | 8.1+, 9.0+ | +| RHEL | 8.1+, 9.0+ | | Rocky Linux | 8, 9 | | SUSE Linux Enterprise Server | 12, 15 SP5+ | | Ubuntu | 20.04 LTS, 22.04 LTS, 24.04 LTS | @@ -155,16 +151,15 @@ The argument is a file name in the `SSLKEYLOGFILE` format compatible with Wiresh - Oracle Linux 7.4+ is removed - SUSE Linux Enterprise Server 12 is deprecated - support for s390x architecture removed -- the [Lua]({{< ref "nginx/admin-guide/dynamic-modules/lua.md" >}}) module is no longer available for SUSE Linux Enterprise Server 12 +- the [Lua]({{< ref "/nginx/admin-guide/dynamic-modules/lua.md" >}}) module is no longer available for SUSE Linux Enterprise Server 12 More information: [Announcing NGINX Plus R33](https://community.f5.com/kb/technicalarticles/announcing-nginx-plus-r33-release/336403) - -### NGINX Plus R33 Updates +### NGINX Plus R33 Updates {#r33_p1} NGINX Plus R33 P1
      -_4 December 2024_ +_December 4, 2024_ This is a bugfix release for NGINX Plus R33. @@ -172,15 +167,15 @@ This is a bugfix release for NGINX Plus R33. NGINX Plus R33 P2
      -_5 February 2025_ +_February 5, 2025_ This is a security release for NGINX Plus R33. - Security Fix [CVE-2025-23419](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-23419) in SNI that adds a restriction for TLSv1.3 cross-SNI session resumption. - -## NGINX Plus Release 32 (R32) -_29 May 2024_
      + +## NGINX Plus Release 32 (R32) {#r32} +_May 29, 2024_
      _Based on NGINX Open Source 1.25.5_ NGINX Plus R32 is a feature release: @@ -189,7 +184,7 @@ NGINX Plus R32 is a feature release: - The [`stream_pass`](https://nginx.org/en/docs/stream/ngx_stream_pass_module.html) module that allows passing the accepted connection directly to any configured listening socket in `http`, `stream`, `mail`, and other similar modules -- NGINX Plus [official container images](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-docker/) +- NGINX Plus [official container images]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-docker.md" >}}) - [Virtual servers](https://nginx.org/en/docs/stream/ngx_stream_core_module.html#server_name) in the [`stream`](https://nginx.org/en/docs/stream/ngx_stream_core_module.html) module @@ -233,7 +228,7 @@ NGINX Plus R32 is a feature release: NGINX Plus R32 is supported on: -{{< bootstrap-table "table table-striped table-bordered" >}} +{{}} | Distribution | Versions | |----------------------------------|-----------------------------------| | AlmaLinux | 8, 9 | @@ -256,19 +251,18 @@ NGINX Plus R32 is supported on: - RHEL 7 is deprecated - Oracle Linux 7 is deprecated - FreeBSD 12 is removed -- [OpenTracing dynamic module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/opentracing/) (package name is `nginx-plus-module-opentracing-module`) is deprecated -- [ModSecurity WAF dynamic module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/nginx-waf/) (package name is `nginx-plus-module-modsecurity`) reached end of support and is no longer available +- [OpenTracing dynamic module]({{< ref "/nginx/admin-guide/dynamic-modules/opentracing.md" >}}) (package name is `nginx-plus-module-opentracing-module`) is deprecated +- [ModSecurity WAF dynamic module]({{< ref "/nginx/admin-guide/dynamic-modules/nginx-waf.md" >}}) (package name is `nginx-plus-module-modsecurity`) reached end of support and is no longer available More information: [Announcing NGINX Plus R32](https://www.f5.com/company/blog/nginx/announcing-NGINX-plus-R32) - -### NGINX Plus R32 Updates +### NGINX Plus R32 Updates {#r32_p1} These are security releases for NGINX Plus R32. NGINX Plus R32 P1
      -_14 August 2024_ +_August 14, 2024_ - Security: @@ -280,21 +274,21 @@ _14 August 2024_ NGINX Plus R32 P2
      -_5 February 2025_ +_February 5, 2025_ - Security Fix [CVE-2025-23419](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-23419) in SNI that adds a restriction for TLSv1.3 cross-SNI session resumption. - Regression issue fix in SSL Certificate Caching. - -## NGINX Plus Release 31 (R31) -_19 December 2023_
      + +## NGINX Plus Release 31 (R31) {#r31} +_December 19, 2023_
      _Based on NGINX Open Source 1.25.3_ NGINX Plus R31 is a feature release: - [Native usage reporting](https://nginx.org/en/docs/ngx_mgmt_module.html) -of NGINX Plus installations to [NGINX Instance Manager](https://docs.nginx.com/nginx-management-suite/nim/) +of NGINX Plus installations to [NGINX Instance Manager]({{< ref "/nim/" >}}) - The [$upstream_last_server_name](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#var_upstream_last_server_name) variable that keeps the name of the last selected upstream server and allows passing it to the proxied server through SNI @@ -342,11 +336,11 @@ of NGINX Plus installations to [NGINX Instance Manager](https://docs.nginx.com/n - improved detection of misbehaving clients when using HTTP/2 -- The [OpenTracing](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/opentracing/) module introduced in NGINX Plus [R18](#r18) is deprecated, it recommended to use the [OpenTelemetry Distributed Tracing](https://nginx.org/en/docs/ngx_otel_module.html) module that incorporates all the features of the OpenTracing module. +- The [OpenTracing]({{< ref "/nginx/admin-guide/dynamic-modules/opentracing.md" >}}) module introduced in NGINX Plus [R18](#r18) is deprecated, it recommended to use the [OpenTelemetry Distributed Tracing](https://nginx.org/en/docs/ngx_otel_module.html) module that incorporates all the features of the OpenTracing module. NGINX Plus R31 is supported on: -{{< bootstrap-table "table table-striped table-bordered" >}} +{{}} | Distribution | Versions | |----------------------------------|-----------------------------------| | AlmaLinux | 8, 9 | @@ -362,7 +356,6 @@ NGINX Plus R31 is supported on: | Ubuntu | 20.04 LTS, 22.04 LTS | {{< /bootstrap-table >}} - **Notes:** - Alpine Linux 3.19 is new in this release @@ -373,13 +366,13 @@ NGINX Plus R31 is supported on: More information: [Announcing NGINX Plus R31](https://www.nginx.com/blog/nginx-plus-r31-released/) - -### NGINX Plus R31 Update + +### NGINX Plus R31 Update {#r31_p1} This is an improvement release for NGINX Plus R31. NGINX Plus R31 P1
      -_14 February 2024_ +_February 14, 2024_ - Security: a segmentation fault might occur in a worker process if HTTP/3 was used ([CVE-2024-24989](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-24989), [CVE-2024-24990](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-24990)) @@ -387,9 +380,9 @@ _14 February 2024_ More information: [Updating NGINX for the Vulnerabilities in the HTTP/3 Module](https://www.nginx.com/blog/updating-nginx-for-the-vulnerabilities-in-the-http-3-module/) - -NGINX Plus R31 P2
      -_29 May 2024_ + +NGINX Plus R31 P2
      {#r31_p2} +_May 29, 2024_ - Security: @@ -401,9 +394,9 @@ _29 May 2024_ - Memory Disclosure during QUIC handshake ([CVE-2024-34161](https://my.f5.com/manage/s/article/K000139627)): When the network infrastructure supports a Maximum Transmission Unit (MTU) of 4096 or greater without fragmentation, undisclosed QUIC messages can cause NGINX worker processes to terminate or cause leakage of previously freed memory - -NGINX Plus R31 P3
      -_14 August 2024_ + +NGINX Plus R31 P3
      {#r31_p3} +_August 14, 2024_ - Security: @@ -412,10 +405,8 @@ _14 August 2024_ - In the [MP4](https://nginx.org/en/docs/http/ngx_http_mp4_module.html) module, a specially crafted `mp4` file can cause NGINX worker memory over-read resulting in its termination by using a specially crafted `mp4` file ([CVE-2024-7347](https://my.f5.com/manage/s/article/K000140529)) - - -## NGINX Plus Release 30 (R30) -_15 August 2023_
      +## NGINX Plus Release 30 (R30) {#r30} +_August 15, 2023_
      _Based on NGINX Open Source 1.25.1_ NGINX Plus R30 is a feature release: @@ -426,7 +417,7 @@ NGINX Plus R30 is a feature release: - Per-worker connection statistics including accepted, dropped, active and idle connections, total and current requests -- The [Prometheus-njs module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/prometheus-njs/) now supports version [`9`](https://nginx.org/en/docs/http/ngx_http_api_module.html) of the [API](https://nginx.org/en/docs/http/ngx_http_api_module.html) +- The [Prometheus-njs module]({{< ref "/nginx/admin-guide/dynamic-modules/prometheus-njs.md" >}}) now supports version [`9`](https://nginx.org/en/docs/http/ngx_http_api_module.html) of the [API](https://nginx.org/en/docs/http/ngx_http_api_module.html) - DNS reload optimization: now DNS name expiry time for dynamically-resolved upstream hosts is preserved across reloads @@ -456,12 +447,12 @@ required for troubleshooting are available as a separate download package NGINX Plus R30 is supported on: -{{}} +{{}} | OS Distribution | Versions | |-----------------------------------|-------------------------------| | AlmaLinux | 8, 9 | | Alpine Linux | 3.16, 3.17, 3.18 | -| Amazon Linux | 2 LTS, 2023 | +| Amazon Linux | 2 LTS, 2023 | | CentOS | 7.4+ | | Debian | 11, 12 | | FreeBSD | 12.1+, 13 | @@ -472,7 +463,6 @@ NGINX Plus R30 is supported on: | Ubuntu | 20.04 LTS, 22.04 LTS | {{}} - **Notes:** - Alpine Linux 3.18 is new in this release @@ -485,31 +475,28 @@ NGINX Plus R30 is supported on: More information: [Announcing NGINX Plus R30](https://www.nginx.com/blog/nginx-plus-r30-released/) - -### NGINX Plus R30 Update +### NGINX Plus R30 Update {#r30_p1} This is an improvement release for NGINX Plus R30. NGINX Plus R30 P1
      -_11 October 2023_ +_October 11, 2023_ - Additional protection against HTTP/2 Rapid Reset Attack vulnerability ([CVE-2023-44487](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-44487)) that may affect NGINX only when it is configured with the [keepalive requests](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests) value substantially higher than the default value. Limitations in HTTP/2 protocol allow clients to produce a higher RPS rate than expected from a configured HTTP/2 [max concurrent streams](https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_concurrent_streams) setting which can be exploited to trigger a Denial-of-Service attack. More information: [HTTP/2 Rapid Reset Attack Impacting NGINX Products](https://www.nginx.com/blog/http-2-rapid-reset-attack-impacting-f5-nginx-products/) - -NGINX Plus R30 P2
      -_14 February 2024_ +NGINX Plus R30 P2
      {#r30_p2} +_February 14, 2024_ - Security: a segmentation fault might occur in a worker process if HTTP/3 was used ([CVE-2024-24990](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-24990)) More information: [Updating NGINX for the Vulnerabilities in the HTTP/3 Module](https://www.nginx.com/blog/updating-nginx-for-the-vulnerabilities-in-the-http-3-module/) - -## NGINX Plus Release 29 (R29) -_02 May 2023_
      +## NGINX Plus Release 29 (R29) {#r29} +_May 2, 2023_
      _Based on NGINX Open Source 1.23.4_ NGINX Plus R29 is a feature release: @@ -518,7 +505,7 @@ NGINX Plus R29 is a feature release: - [SAML Authentication reference implementation](https://github.com/nginxinc/nginx-saml) based on native njs [XML support](http://nginx.org/en/docs/njs/reference.html#xml) -- OpenTelemetry Distributed Tracing [module](https://nginx.org/en/docs/ngx_otel_module.html), distributed in NGINX Plus packages (package name is `nginx-plus-module-otel`) and is available as a [dynamic module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/opentelemetry/) +- OpenTelemetry Distributed Tracing [module](https://nginx.org/en/docs/ngx_otel_module.html), distributed in NGINX Plus packages (package name is `nginx-plus-module-otel`) and is available as a [dynamic module]({{< ref "/nginx/admin-guide/dynamic-modules/opentelemetry.md" >}}) - Experimental support for [HTTP/3 and QUIC](https://nginx.org/en/docs/http/ngx_http_v3_module.html), distributed in NGINX Plus packages (package name is `nginx-plus-quic`) @@ -528,13 +515,13 @@ NGINX Plus R29 is a feature release: - New feature in [OpenID Connect reference implementation](https://github.com/nginxinc/nginx-openid-connect): support for access token -- The [Prometheus-njs module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/prometheus-njs/) now supports version [`8`](https://nginx.org/en/docs/http/ngx_http_api_module.html#compatibility) of the [API](https://nginx.org/en/docs/http/ngx_http_api_module.html), including SSL extended statistics for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream) and stream [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_upstream), SSL extended statistics for each HTTP [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone) and stream [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_server_zone), and extended statistics for [SSL](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_ssl_object) +- The [Prometheus-njs module]({{< ref "/nginx/admin-guide/dynamic-modules/prometheus-njs.md" >}}) now supports version [`8`](https://nginx.org/en/docs/http/ngx_http_api_module.html#compatibility) of the [API](https://nginx.org/en/docs/http/ngx_http_api_module.html), including SSL extended statistics for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream) and stream [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_upstream), SSL extended statistics for each HTTP [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone) and stream [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_server_zone), and extended statistics for [SSL](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_ssl_object) -- The NGINX JavaScript ([njs](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/nginscript/)) module for NGINX Plus was updated to version [0.7.12](http://nginx.org/en/docs/njs/changes.html#njs0.7.12), featuring extended [Fetch API](https://nginx.org/en/docs/njs/reference.html#ngx_fetch) and [WebCrypto API](http://nginx.org/en/docs/njs/reference.html#builtin_crypto), [XML module](https://nginx.org/en/docs/njs/reference.html#xml_node) to parse and modify XML documents, [Zlib module](https://nginx.org/en/docs/njs/reference.html#zlib) to support compression +- The NGINX JavaScript ([njs]({{< ref "/nginx/admin-guide/dynamic-modules/nginscript.md" >}}) module for NGINX Plus was updated to version [0.7.12](http://nginx.org/en/docs/njs/changes.html#njs0.7.12), featuring extended [Fetch API](https://nginx.org/en/docs/njs/reference.html#ngx_fetch) and [WebCrypto API](http://nginx.org/en/docs/njs/reference.html#builtin_crypto), [XML module](https://nginx.org/en/docs/njs/reference.html#xml_node) to parse and modify XML documents, [Zlib module](https://nginx.org/en/docs/njs/reference.html#zlib) to support compression NGINX Plus R29 is supported on: -{{}} +{{}} | OS Distribution | Versions | |-----------------------------------|-------------------------------| | AlmaLinux | 8, 9 | @@ -561,22 +548,20 @@ NGINX Plus R29 is supported on: More information: [Announcing NGINX Plus R29](https://www.nginx.com/blog/nginx-plus-r29-released/) - -### NGINX Plus R29 Update +### NGINX Plus R29 Update {#r29_p1} This is an improvement release for NGINX Plus R29. NGINX Plus R29 P1
      -_11 October 2023_ +_October 11, 2023_ - Additional protection against HTTP/2 Rapid Reset Attack vulnerability ([CVE-2023-44487](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-44487)) that may affect NGINX only when it is configured with the [keepalive requests](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests) value substantially higher than the default value. Limitations in HTTP/2 protocol allow clients to produce a higher RPS rate than expected from a configured HTTP/2 [max concurrent streams](https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_concurrent_streams) setting which can be exploited to trigger a Denial-of-Service attack. More information: [HTTP/2 Rapid Reset Attack Impacting NGINX Products](https://www.nginx.com/blog/http-2-rapid-reset-attack-impacting-f5-nginx-products/) - -## NGINX Plus Release 28 (R28) -_29 November 2022_
      +## NGINX Plus Release 28 (R28) {#r28} +_November 29, 2022_
      _Based on NGINX Open Source 1.23.2_ NGINX Plus R28 is a feature release: @@ -609,8 +594,8 @@ NGINX Plus R28 is a feature release: NGINX Plus R28 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|-------------------------------------| | AlmaLinux | 8, 9 | | Alpine Linux | 3.13, 3.14, 3.15, 3.16, 3.17 | @@ -637,9 +622,8 @@ NGINX Plus R28 is supported on: More information: [Announcing NGINX Plus R28](https://www.nginx.com/blog/nginx-plus-r28-released/) - -## NGINX Plus Release 27 (R27) -_28 June 2022_
      +## NGINX Plus Release 27 (R27) {#r27} +_June 28, 2022_
      _Based on NGINX Open Source 1.21.6_ NGINX Plus R27 is a feature release: @@ -656,15 +640,15 @@ NGINX Plus R27 is a feature release: that enables keepalive connections for health checks and specifies the time during which requests can be processed through one keepalive connection -- The [Prometheus-njs module](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/prometheus-njs/) now supports version [`7`](https://nginx.org/en/docs/http/ngx_http_api_module.html#compatibility) of the [API](https://nginx.org/en/docs/http/ngx_http_api_module.html), including `/stream/limit_conns/`, `/http/limit_conns/`, `/http/limit_req/` data, and HTTP status code statistics for [upstreams](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream), [server zones](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone) and [location zones](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_location_zone) +- The [Prometheus-njs module]({{< ref "/nginx/admin-guide/dynamic-modules/prometheus-njs.md" >}}) now supports version [`7`](https://nginx.org/en/docs/http/ngx_http_api_module.html#compatibility) of the [API](https://nginx.org/en/docs/http/ngx_http_api_module.html), including `/stream/limit_conns/`, `/http/limit_conns/`, `/http/limit_req/` data, and HTTP status code statistics for [upstreams](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream), [server zones](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone) and [location zones](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_location_zone) - [kTLS](https://www.nginx.com/blog/improving-nginx-performance-with-kernel-tls/) is now also available on RHEL 9.0 and Ubuntu 22.04 NGINX Plus R27 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|-------------------------------------| | Alpine Linux | 3.13, 3.14, 3.15, 3.16 | | Amazon Linux | 2 LTS | @@ -689,19 +673,19 @@ NGINX Plus R27 is supported on: More information: [Announcing NGINX Plus R27](https://www.nginx.com/blog/nginx-plus-r27-released/) - -### NGINX Plus R27 Update + +### NGINX Plus R27 Update {#r27_p1} This is a bug‑fix release for NGINX Plus R27. NGINX Plus R27 P1
      -_19 October 2022_ +_October 19, 2022_ - In HLS ([CVE-2022-41743](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-41743)) and MP4 ([CVE-2022-41741](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-41741)) modules when processing specially crafted video files a memory corruption, or a memory disclosure in MP4 module ([CVE-2022-41742](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-41742)) could happen. - -## NGINX Plus Release 26 (R26) -_15 February 2022_
      + +## NGINX Plus Release 26 (R26) {#r26} +_February 15, 2022_
      _Based on NGINX Open Source 1.21.5_ NGINX Plus R26 is a feature release: @@ -720,8 +704,8 @@ NGINX Plus R26 is a feature release: NGINX Plus R26 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|-------------------------------------| | Alpine Linux | 3.12, 3.13, 3.14, 3.15 | | Amazon Linux | 2 LTS | @@ -747,23 +731,23 @@ NGINX Plus R26 is supported on: - The [`js_include`](https://nginx.org/en/docs/http/ngx_http_js_module.html#js_include) directive was removed, the [`js_import`](http://nginx.org/en/docs/http/ngx_http_js_module.html#js_import) directive should be used instead - The [`aio sendfile`](https://nginx.org/en/docs/http/ngx_http_core_module.html#aio) directive was removed, the [`sendfile`](https://nginx.org/en/docs/http/ngx_http_core_module.html#sendfile) directive should be used instead - The third-party `Cookie‑Flag` was removed from the dynamic modules repository, the [`proxy_cookie_flags`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_flags) directive should be used instead -- Swagger UI with REST API YAML specification is not included into NGINX Plus packages by default any more and now is a part of [docs.nginx.com](https://docs.nginx.com/nginx/admin-guide/monitoring/live-activity-monitoring/#the-swagger-ui) +- Swagger UI with REST API YAML specification is not included into NGINX Plus packages by default any more and now is a part of [docs.nginx.com]({{< ref "/nginx/admin-guide/monitoring/live-activity-monitoring.md#the-swagger-ui" >}}) More information: [Announcing NGINX Plus R26](https://www.nginx.com/blog/nginx-plus-r26-released/) - -### NGINX Plus R26 Update + +### NGINX Plus R26 Update {#r26_p1} This is a bug‑fix release for NGINX Plus R26. NGINX Plus R26 P1
      -_19 October 2022_ +_October 19, 2022_ - In HLS ([CVE-2022-41743](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-41743)) and MP4 ([CVE-2022-41741](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-41741)) modules when processing specially crafted video files a memory corruption, or a memory disclosure in MP4 module ([CVE-2022-41742](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-41742)) could happen. - -## NGINX Plus Release 25 (R25) -_28 September 2021_
      + +## NGINX Plus Release 25 (R25) {#r25} +_September 28, 2021_
      _Based on NGINX Open Source 1.21.3_ NGINX Plus R25 is a feature release: @@ -810,8 +794,8 @@ NGINX Plus R25 is a feature release: NGINX Plus R25 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|-------------------------------------| | Alpine Linux | 3.11, 3.12, 3.13, 3.14 | | Amazon Linux | 2 LTS | @@ -835,20 +819,20 @@ NGINX Plus R25 is supported on: More information: [Announcing NGINX Plus R25](https://www.nginx.com/blog/nginx-plus-r25-released/) - -### NGINX Plus R25 Update + +### NGINX Plus R25 Update {#r25_p1} This is a bug‑fix release for NGINX Plus R25. NGINX Plus R25 P1
      -_14 December 2021_ +_December 14, 2021_ - Swagger UI updated to version 4.1.2 - Fixed a crash that might happen when an upstream server was updated via the API - -## NGINX Plus Release 24 (R24) -_27 April 2021_
      + +## NGINX Plus Release 24 (R24) {#r24} +_April 27, 2021_
      _Based on NGINX Open Source 1.19.10_ NGINX Plus R24 is a feature release: @@ -870,8 +854,8 @@ NGINX Plus R24 is a feature release: NGINX Plus R24 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|------------------------------------------| | Alpine Linux | 3.10, 3.11, 3.12, 3.13 | | Amazon Linux | 2018.03+, 2 LTS | @@ -898,27 +882,29 @@ NGINX Plus R24 is supported on: **Upgrade Note:** -NGINX Plus repositories have been separated into individual repositories based on operating system distribution and license subscription. Before upgrading from previous NGINX Plus versions, you must first reconfigure your repositories to point to the correct location. To reconfigure your repository, follow the [installation instructions](http://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-plus/) for your operating system. +NGINX Plus repositories have been separated into individual repositories based on operating system distribution and license subscription. Before upgrading from previous NGINX Plus versions, you must first reconfigure your repositories to point to the correct location. To reconfigure your repository, follow the [installation instructions]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md" >}}). + + for your operating system. More information: [Announcing NGINX Plus R24](https://www.nginx.com/blog/nginx-plus-r24-released/) - -### NGINX Plus R24 Updates + +### NGINX Plus R24 Updates {#r24_p1} These are bug‑fix releases for NGINX Plus R24. NGINX Plus R24 P1
      -_18 May 2021_ +_May 18, 2021_ - Resolver: an [issue](https://support.f5.com/csp/article/K12331123) in NGINX resolver may allow an attacker who is able to forge UDP packets from the specified DNS server to cause a 1-byte memory overwrite, resulting in a worker process interruption or other unspecified impact ([CVE-2021-23017](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-23017)) NGINX Plus R24 P2
      -_14 December 2021_ +_December 14, 2021_ - Swagger UI updated to version 4.1.2 - -## NGINX Plus Release 23 (R23) -_8 December 2020_
      + +## NGINX Plus Release 23 (R23) {#r23} +_December 8, 2020_
      _Based on NGINX Open Source 1.19.5_ NGINX Plus R23 is a feature release: @@ -929,7 +915,7 @@ NGINX Plus R23 is a feature release: - Support for cookie flags with the [proxy_cookie_flags](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_flags) and [userid_flags](https://nginx.org/en/docs/http/ngx_http_userid_module.html#userid_flags) directives -- Introduced script that performs [unprivileged installation](https://docs.nginx.com/nginx/admin-guide/installing-nginx#unpriv_install) of NGINX Plus +- Introduced script that performs [unprivileged installation]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md#unpriv_install" >}}) of NGINX Plus - New command-line switch to redefine an error log file: [-e](https://nginx.org/en/docs/switches.html) @@ -945,8 +931,8 @@ NGINX Plus R23 is a feature release: NGINX Plus R23 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|------------------------------------------| | Alpine Linux | 3.10, 3.11, 3.12 | | Amazon Linux | 2018.03+, 2 LTS | @@ -969,19 +955,19 @@ NGINX Plus R23 is supported on: More information: [Announcing NGINX Plus R23](https://www.nginx.com/blog/nginx-plus-r23-released/) - -### NGINX Plus R23 Update + +### NGINX Plus R23 Update {#r23_p1} This is a bug‑fix release for NGINX Plus R23. NGINX Plus R23 P1
      -_18 May 2021_ +_May 18, 2021_ - Resolver: an [issue](https://support.f5.com/csp/article/K12331123) in NGINX resolver may allow an attacker who is able to forge UDP packets from the specified DNS server to cause a 1-byte memory overwrite, resulting in a worker process interruption or other unspecified impact ([CVE-2021-23017](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-23017)) - -## NGINX Plus Release 22 (R22) -_9 June 2020_
      + +## NGINX Plus Release 22 (R22) {#r22} +_June 9, 2020_
      _Based on NGINX Open Source 1.19.0_ NGINX Plus R22 is a feature release: @@ -992,8 +978,8 @@ NGINX Plus R22 is a feature release: NGINX Plus R22 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|-------------------------------------------------| | Alpine Linux | 3.9, 3.10, 3.11 | | Amazon Linux | 2018.03+, 2 LTS | @@ -1012,9 +998,9 @@ NGINX Plus R22 is supported on: More information: [Announcing NGINX Plus R22](https://www.nginx.com/blog/nginx-plus-r22-released/) - -## NGINX Plus Release 21 (R21) -_7 April 2020_
      + +## NGINX Plus Release 21 (R21) {#r21} +_April 7, 2020_
      _Based on NGINX Open Source 1.17.9_ NGINX Plus R21 is a feature release: @@ -1023,8 +1009,8 @@ NGINX Plus R21 is a feature release: NGINX Plus R21 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|-------------------------------------------------| | Alpine Linux | 3.8, 3.9, 3.10, 3.11 | | Amazon Linux | 2018.03+, 2 LTS | @@ -1049,9 +1035,9 @@ NGINX Plus R21 is supported on: More information: [Announcing NGINX Plus R21](https://www.nginx.com/blog/nginx-plus-r21-released/) - -## NGINX Plus Release 20 (R20) -_3 December 2019_
      + +## NGINX Plus Release 20 (R20) {#r20} +_December 3, 2019_
      _Based on NGINX Open Source 1.17.6_ NGINX Plus R20 is a feature release: @@ -1065,8 +1051,8 @@ NGINX Plus R20 is a feature release: NGINX Plus R20 R20 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|-------------------------------------------------| | Alpine Linux | 3.8, 3.9, 3.10 | | Amazon Linux | 2018.03+, 2 LTS | @@ -1088,9 +1074,9 @@ NGINX Plus R20 R20 is supported on: More information: [Announcing NGINX Plus R20](https://www.nginx.com/blog/nginx-plus-r20-released/) - -## NGINX Plus Release 19 (R19) -_13 August 2019_
      + +## NGINX Plus Release 19 (R19) {#r19} +_August 13, 2019_
      _Based on NGINX Open Source 1.17.3_ NGINX Plus R19 is a feature release: @@ -1105,8 +1091,8 @@ NGINX Plus R19 is a feature release: NGINX Plus R19 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|-------------------------------------------------| | Alpine Linux | 3.8, 3.9, 3.10 | | Amazon Linux | 2018.03+, 2 LTS | @@ -1129,9 +1115,9 @@ NGINX Plus R19 is supported on: More information: [Announcing NGINX Plus R19](https://www.nginx.com/blog/nginx-plus-r19-released/) - -## NGINX Plus Release 18 (R18) -_9 April 2019_
      + +## NGINX Plus Release 18 (R18) {#r18} +_April 9, 2019_
      _Based on NGINX Open Source 1.15.10_ NGINX Plus R18 is a feature release: @@ -1144,15 +1130,15 @@ NGINX Plus R18 is a feature release: - For TCP/UDP, existing connections to proxied upstream server can be explicitly closed after server is removed from upstream group due to health check failure, API call, or re-resolve action (new [proxy_session_drop](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_session_drop) directive) - New variable, [$upstream_bytes_sent](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#var_upstream_bytes_sent), contains number of bytes sent to an upstream server - New or updated dynamic modules: - - [Brotli](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/brotli/) (New): General‑purpose, lossless data compression algorithm - - [OpenTracing](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/opentracing/) (New): Ability to instrument NGINX Plus with OpenTracing‑compliant requests for a range of distributed tracing services, such as Datadog, Jaeger, and Zipkin - - [Lua](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/lua//) (Updated): Scripting language for NGINX Plus, updated to use LuaJIT 2.1 - - [NGINX JavaScript](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/nginscript/) (Updated): JavaScript module for NGINX Plus, updated to version [0.3.0](https://nginx.org/en/docs/njs/changes.html#njs0.3.0) + - [Brotli]({{< ref "/nginx/admin-guide/dynamic-modules/brotli.md" >}}) (New): General‑purpose, lossless data compression algorithm + - [OpenTracing]({{< ref "/nginx/admin-guide/dynamic-modules/opentracing.md" >}}) (New): Ability to instrument NGINX Plus with OpenTracing‑compliant requests for a range of distributed tracing services, such as Datadog, Jaeger, and Zipkin + - [Lua]({{< ref "/nginx/admin-guide/dynamic-modules/lua.md" >}}) (Updated): Scripting language for NGINX Plus, updated to use LuaJIT 2.1 + - [NGINX JavaScript]({{< ref "/nginx/admin-guide/dynamic-modules/nginscript.md" >}}) (Updated): JavaScript module for NGINX Plus, updated to version [0.3.0](https://nginx.org/en/docs/njs/changes.html#njs0.3.0) NGINX Plus R18 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|-------------------------------------------------| | Alpine Linux | 3.8, 3.9 | | Amazon Linux | 2018.03+, 2 LTS | @@ -1179,13 +1165,13 @@ More information: [Announcing NGINX Plus R18](https://www.nginx.com/blog/nginx-p This is a bug‑fix release for NGINX Plus R18. NGINX Plus R18 P1
      -_6 August 2019_ +_August 6, 2019_ - Security patch: When using HTTP/2 a client might cause excessive memory consumption and CPU usage ([CVE-2019-9511](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9511), [CVE-2019-9513](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9513), [CVE-2019-9516](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9516)) - -## NGINX Plus Release 17 (R17) -_11 December 2018_
      + +## NGINX Plus Release 17 (R17) {#r17} +_December 11, 2018_
      _Based on NGINX Open Source 1.15.7_ NGINX Plus R17 is a feature release: @@ -1207,8 +1193,8 @@ NGINX Plus R17 is a feature release: NGINX Plus R17 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|-------------------------------------------------| | Alpine Linux | 3.8, 3.9 | | Amazon Linux | 2017.09, 2 LTS | @@ -1231,9 +1217,9 @@ NGINX Plus R17 is supported on: More information: [Announcing NGINX Plus R17](https://www.nginx.com/blog/nginx-plus-r17-released/) - -## NGINX Plus Release 16 (R16) -_5 September 2018_
      + +## NGINX Plus Release 16 (R16) {#r16} +_September 5, 2018_
      _Based on NGINX Open Source 1.15.2_ NGINX Plus R16 is a feature release: @@ -1247,15 +1233,15 @@ NGINX Plus R16 is a feature release: - Support for [AWS PrivateLink](https://aws.amazon.com/privatelink/), Amazon's technology for creating secure tunnels into a VPC - opaque session token support in the [OpenID Connect reference implementation](https://github.com/nginxinc/nginx-openid-connect) - New [$ssl_preread_protocol](https://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html#var_ssl_preread_protocol) variable to distinguish between SSL/TLS and other protocols when forwarding traffic using a TCP ([stream](https://nginx.org/en/docs/stream/ngx_stream_core_module.html)) proxy -- New [Encrypted Session](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/encrypted-session/) dynamic module +- New [Encrypted Session]({{< ref "/nginx/admin-guide/dynamic-modules/encrypted-session.md" >}}) dynamic module - The NGINX JavaScript module has been updated: - Single object (`r`) is used to access both request and response attributes associated with each HTTP request - New language support: `bytesFrom()`, `padStart()`, `padEnd()`, `getrandom()`, `getentropy()`, and binary literals NGINX Plus R16 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|------------------------------------------------| | Amazon Linux | 2017.09, 2 LTS | | CentOS | 6.5+, 7.0+ | @@ -1282,14 +1268,14 @@ More information: [Announcing NGINX Plus R16](https://www.nginx.com/blog/nginx-p This is a bug‑fix release for NGINX Plus R16. NGINX Plus R16 P1
      -_30 October 2018_ +_October 30, 2018_ - Security patch: When using HTTP/2 a client might cause excessive memory consumption ([CVE-2018-16843](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16843)) and CPU usage ([CVE-2018-16844](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16844)) - Security patch: Processing of a specially crafted MP4 file with the ngx\_http\_mp4\_module might result in worker process memory disclosure ([CVE-2018-16845](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16845)) - -## NGINX Plus Release 15 (R15) -_10 April 2018_
      + +## NGINX Plus Release 15 (R15) {#r15} +_April 10, 2018_
      _Based on NGINX Open Source 1.13.10_ NGINX Plus R15 is a feature release: @@ -1306,12 +1292,12 @@ NGINX Plus R15 is a feature release: - Updates to [LDAP authentication reference implementation](https://github.com/nginxinc/nginx-ldap-auth) - New [$upstream_queue_time](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#var_upstream_queue_time) variable to hold the amount of time a request spends in the [upstream queue](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#queue) - New [$ssl_preread_alpn_protocols](https://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html#var_ssl_preread_alpn_protocols) variable to hold the Application Layer Protocol Negotiation (ALPN) protocols presented by client -- New [Cookie-Flag](https://docs.nginx.com/nginx/admin-guide/dynamic-modules/cookie-flag/) dynamic module +- New [Cookie-Flag]({{< ref "/nginx/admin-guide/dynamic-modules/cookie-flag.md" >}}) dynamic module NGINX Plus R15 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|------------------------------------------------| | Amazon Linux | 2017.09, 2 LTS | | CentOS | 6.5+, 7.0+ | @@ -1337,19 +1323,19 @@ More information: [Announcing NGINX Plus R15](https://www.nginx.com/blog/nginx-p These are bug‑fix releases for NGINX Plus R15. NGINX Plus R15 P2
      -_30 October 2018_ +_October 30, 2018_ - Security patch: When using HTTP/2 a client might cause excessive memory consumption ([CVE-2018-16843](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16843)) and CPU usage ([CVE-2018-16844](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16844)) - Security patch: Processing of a specially crafted mp4 file with the ngx_http_mp4_module might result in worker process memory disclosure ([CVE-2018-16845](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16845)) NGINX Plus R15 P1
      -_12 April 2018_ +_April 12, 2018_ - Third‑party modules might not be loaded due to signature incompatibility - -## NGINX Plus Release 14 (R14) -_12 December 2017_ + +## NGINX Plus Release 14 (R14) {#r14} +_December 12, 2017_ _NGINX Open Source build 1.13.7_ NGINX Plus R14 is a feature release: @@ -1363,12 +1349,10 @@ NGINX Plus R14 is a feature release: - Enhanced DNS resolver that preserves the list of upstream IP addresses across a reload of the NGINX Plus configuration - Ability to drain upstream servers extended to file‑based configurations with the [drain](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server) parameter to the upstream `server` directive - - NGINX Plus R14 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |-----------------------------------|------------------------------------------------| | Amazon Linux | 2016.09, 2 (2017.12) | | CentOS | 6.5+, 7.0+ | @@ -1393,14 +1377,14 @@ More information: [Announcing NGINX Plus R14](https://www.nginx.com/blog/nginx-p This is a bug‑fix release for NGINX Plus R14. NGINX Plus R14 P1
      -_25 January 2018_ +_January 25, 2018_ - Live activity monitoring: Reinstated some missing tooltips for the dashboard - NGINX Plus API: HTTP Basic Authentication support for read‑write mode - -## NGINX Plus Release 13 (R13) -_29 August 2017_
      + +## NGINX Plus Release 13 (R13) {#r13} +_August 29, 2017_
      _Based on NGINX Open Source 1.13.4_ NGINX Plus R13 is a feature release: @@ -1416,8 +1400,8 @@ NGINX Plus R13 is a feature release: NGINX Plus R13 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |------------------------|------------------------------------------| | Amazon Linux | 2016.09+ | | CentOS | 6.5+, 7.0+ | @@ -1438,9 +1422,9 @@ NGINX Plus R13 is supported on: More information: [Announcing NGINX Plus R13](https://www.nginx.com/blog/nginx-plus-r13-released) - -## NGINX Plus Release 12 (R12) -_14 March 2017_
      + +## NGINX Plus Release 12 (R12) {#r12} +_March 14, 2017_
      _Based on NGINX Open Source 1.11.10_ NGINX Plus R12 is a feature release: @@ -1465,8 +1449,8 @@ NGINX Plus R12 is a feature release: NGINX Plus R12 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |------------------------|------------------------------------------------------| | Amazon Linux | 2016.09+ | | CentOS | 5.10+, 6.5+, 7.0+ | @@ -1492,23 +1476,23 @@ More information: [Announcing NGINX Plus R12](https://www.nginx.com/blog/nginx These are bug‑fix releases for NGINX Plus R12. NGINX Plus R12 P3
      -_29 June 2017_ +_June 29, 2017_ - Content caching: Cache response might contain additional internal cache header data NGINX Plus R12 P2
      -_30 March 2017_ +_March 30, 2017_ - Live activity monitoring: Response time metric was miscalculated under certain conditions NGINX Plus R12 P1
      -_14 March 2017_ +_March 14, 2017_ - Live activity monitoring: Dashboard might hang with certain configurations - -## NGINX Plus Release 11 (R11) -_25 October 2016_
      + +## NGINX Plus Release 11 (R11) {#r11} +_October 25, 2016_
      _Based on NGINX Open Source 1.11.5_ NGINX Plus R11 is a feature release: @@ -1522,8 +1506,8 @@ NGINX Plus R11 is a feature release: NGINX Plus R11 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |------------------------|------------------------------------------------------| | Amazon Linux | 2016.03+ | | CentOS | 5.10+, 6.5+, 7.0+ | @@ -1539,13 +1523,13 @@ NGINX Plus R11 is supported on: - FreeBSD 11.0 is new in this release - Ubuntu 16.10 is new in this release -- The `nginx-plus-extras` package is no longer provided; migrate to the `nginx-plus` package and then install the needed [dynamic modules](https://www.nginx.com/products/dynamic-modules) +- The `nginx-plus-extras` package is no longer provided; migrate to the `nginx-plus` package and then install the needed [dynamic modules][Cookie-Flag]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) More information: [Announcing NGINX Plus R11](https://www.nginx.com/blog/nginx-plus-r11-released/) - -## NGINX Plus Release 10 (R10) -_23 August 2016_
      + +## NGINX Plus Release 10 (R10) {#r10} +_August 23, 2016_
      _Based on NGINX Open Source 1.11.3_ NGINX Plus R10 is a feature release: @@ -1568,8 +1552,8 @@ NGINX Plus R10 is a feature release: NGINX Plus R10 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |------------------------|------------------------------------------------------| | Amazon Linux | 2016.03+ | | CentOS | 5.10+, 6.5+, 7.0+ | @@ -1584,13 +1568,13 @@ NGINX Plus R10 is supported on: **Notes:** - Ubuntu 15.10 is no longer supported -- NGINX Plus R10 is the last release to include the `nginx-plus-extras` package; if using this package, migrate to the `nginx-plus` package and then install the needed [dynamic modules](https://www.nginx.com/products/dynamic-modules) +- NGINX Plus R10 is the last release to include the `nginx-plus-extras` package; if using this package, migrate to the `nginx-plus` package and then install the needed [dynamic modules]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}) More information: [Announcing NGINX Plus R10](https://www.nginx.com/blog/nginx-plus-r10-released/) - -## NGINX Plus Release 9 (R9) -_12 April 2016_
      + +## NGINX Plus Release 9 (R9) {#r9} +_April 12, 2016_
      _Based on NGINX Open Source 1.9.13_ NGINX Plus R9 is a feature release: @@ -1625,8 +1609,8 @@ NGINX Plus R9 is a feature release: NGINX Plus R9 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |------------------------|------------------------------------------------------| | Amazon Linux | 2016.03+ | | CentOS | 5.10+, 6.5+, 7.0+ | @@ -1649,14 +1633,14 @@ More information: [Announcing NGINX Plus R9](https://www.nginx.com/blog/nginx- This is a bug‑fix release for NGINX Plus R9. NGINX Plus R9 P1
      -_25 May 2016_ +_May 25, 2016_ - Segmentation fault might occur when writing a client request body to a temporary file - Specially crafted request might cause NGINX worker process to crash due to a NULL pointer dereference ([CVE-2016-4450](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4450)) - -## NGINX Plus Release 8 (R8) -_19 January 2016_
      + +## NGINX Plus Release 8 (R8) {#r8} +_January 19, 2016_
      _Based on NGINX Open Source 1.9.9_ NGINX Plus R8 is a feature release: @@ -1677,8 +1661,8 @@ NGINX Plus R8 is a feature release: NGINX Plus R8 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |------------------------|------------------------------------------------------| | Amazon Linux | | | CentOS | 5.10+, 6.5+, 7.0 | @@ -1699,24 +1683,24 @@ More information: [Announcing NGINX Plus R8](https://www.nginx.com/blog/nginx- These are bug‑fix releases for NGINX Plus R8. NGINX Plus R8 P3
      -_24 February 2016_ +_February 24, 2016_ - HTTP/2: `client_body_timeout` directive was not handled correctly NGINX Plus R8 P2
      -_11 February 2016_ +_February 11, 2016_ - Logging: Buffer over‑read might occur while logging invalid request headers - HTTP/2: Various fixes NGINX Plus R8 P1
      -_26 January 2016_ +_January 26, 2016_ - Resolver: Limit `CNAME` resolutions to prevent remote attackers from causing a denial of service ([CVE-2016-0747](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0747)) - -## NGINX Plus Release 7 (R7) -_15 September 2015_
      + +## NGINX Plus Release 7 (R7) {#r7} +_September 15, 2015_
      _Based on NGINX Open Source 1.9.4_ NGINX Plus R7 is a feature release: @@ -1751,8 +1735,8 @@ NGINX Plus R7 is a feature release: NGINX Plus R7 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |------------------------|-------------------------------------------| | CentOS | 5.10+, 6.5+, 7.0+ | | Debian | 7.0, 8.0 | @@ -1773,9 +1757,9 @@ NGINX Plus R7 is supported on: More information and important upgrade information for users of the Phusion Passenger Open Source module: [Announcing NGINX Plus Release 7](https://www.nginx.com/blog/nginx-plus-r7-released/) - -## NGINX Plus Release 6 (R6) -_14 April 2015_
      + +## NGINX Plus Release 6 (R6) {#r6} +_April 14, 2015_
      _Based on NGINX Open Source 1.7.11_ NGINX Plus R6 is a feature release: @@ -1795,8 +1779,8 @@ NGINX Plus R6 is a feature release: NGINX Plus R6 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |------------------------|------------------------------------------------------| | CentOS | 5.10+, 6.5+, 7.0 | | Debian | 6.0, 7.0, 8.0 | @@ -1811,9 +1795,9 @@ The `nginx-plus-extras` package has additional dependencies. More information: [Announcing NGINX Plus Release 6 with Enhanced Load Balancing, High Availability, and Monitoring Features](https://www.nginx.com/blog/nginx-plus-r6-released/) - -## NGINX Plus Release 5 (R5) -_2 December 2014_
      + +## NGINX Plus Release 5 (R5) {#r5} +_December 2, 2014_
      _Based on NGINX Open Source 1.7.7_ NGINX Plus R5 is a feature release: @@ -1828,13 +1812,13 @@ NGINX Plus R5 is a feature release: - In the `nginx-plus-extras` package: - [Lua](https://github.com/openresty/lua-nginx-module) module updated to version 0.9.13 - [Phusion Passenger Open Source](https://blog.phusion.nl/tag/passenger-releases/) module updated to version 4.0.53 -- In the nginx-plus-lua
      package: +- In the `nginx-plus-lua` package: - [Lua](https://github.com/openresty/lua-nginx-module) module updated to version 0.9.13 NGINX Plus R5 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |------------------------|------------------------------------------------------| | CentOS | 5.9, 6.5, 7.0 | | Debian | 6.0, 7.0 | @@ -1849,9 +1833,9 @@ The `nginx-plus-extras` and `nginx-plus-lua` packages have additional dependenci More information: [NGINX Plus R5 Released](https://www.nginx.com/blog/nginx-plus-r5-released/) - -## NGINX Plus Release 4 (R4) -_24 July 2014_
      + +## NGINX Plus Release 4 (R4) {#r4} +_July 24, 2014_
      _Based on NGINX Open Source 1.7.3_ NGINX Plus R4 is a feature release: @@ -1868,13 +1852,13 @@ NGINX Plus R4 is a feature release: - In the `nginx-plus-extras` package: - [Lua](https://github.com/openresty/lua-nginx-module) module updated to version 0.9.10 - [Phusion Passenger Open Source](https://blog.phusion.nl/tag/passenger-releases/) module updated to version 4.0.45 -- In the nginx-plus-lua package: +- In the `nginx-plus-lua` package: - [Lua](https://github.com/openresty/lua-nginx-module) module updated to version 0.9.10 NGINX Plus R4 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |------------------------|------------------------------------------------| | CentOS | 5.9, 6.5, 7.0 | | Debian | 6.0, 7.0 | @@ -1889,9 +1873,9 @@ The `nginx-plus-extras` and `nginx-plus-lua` packages have additional dependenc More information: [NGINX Plus R4 Released](https://www.nginx.com/blog/nginx-plus-r4-released/) - -## NGINX Plus Release 3 (R3) -_2 April 2014_
      + +## NGINX Plus Release 3 (R3) {#r3} +_April 2, 2014_
      _Based on NGINX Open Source 1.5.12‑1_ NGINX Plus R3 is a feature release: @@ -1905,8 +1889,8 @@ NGINX Plus R3 is a feature release: NGINX Plus R3 is supported on: -{{}} -| OS Distribution | Versions | +{{}} +| OS Distribution | Versions | |------------------------|------------------------------------------------| | CentOS | 5.9, 6.5 | | Debian | 6.0, 7.0 | @@ -1921,9 +1905,9 @@ The `nginx-plus-extras` and `nginx-plus-lua` packages have additional dependenci More information: [NGINX Plus R3 Released](https://www.nginx.com/blog/nginx-plus-r3-released/) - -## NGINX Plus Release 2 (R2) -_12 December 2013_
      + +## NGINX Plus Release 2 (R2) {#r2} +_December 12, 2013_
      _Based on NGINX Open Source 1.5.7‑1_ NGINX Plus R2 is a feature release: @@ -1937,19 +1921,19 @@ NGINX Plus R2 is a feature release: ### NGINX Plus R2 Updates Security Update to NGINX Plus Release R2 -_21 March 2014_
      +_March 21, 2014_
      _Based on NGINX Open Source 1.5.7‑4_ - Fixes vulnerability in experimental SPDY implementation in NGINX Open Source 1.5.7‑3 and earlier. Functional Update to NGINX Plus R2 -_5 March 2014_
      +_March 5, 2014_
      _Based on NGINX Open Source 1.5.7‑3_ - NGINX Plus now correctly applies the value set with the [client_max_body_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size) directive when processing HTTP requests that contain chunk‑encoded body data. Functional Update to NGINX Plus R2 -_13 February 2014_
      +_February 13, 2014_
      _Based on NGINX Open Source 1.5.7‑2_ - Updates to MP4 and HLS streaming functionality @@ -1957,9 +1941,9 @@ _Based on NGINX Open Source 1.5.7‑2_ - Updates to implementation of SPDY/2 - Added **status.html** file for live activity monitoring, missing from some packages - -## NGINX Plus Initial Release (R1) -_22 August 2013_
      + +## NGINX Plus Initial Release (R1) {#r1} +_August 22, 2013_
      _Based on NGINX Open Source 1.5.3‑1_ NGINX Plus is the fully supported, commercial version of NGINX. It includes most NGINX open source modules and adds further features: @@ -1967,7 +1951,7 @@ NGINX Plus is the fully supported, commercial version of NGINX. It includes mos - Application health checks - Live activity monitoring (implemented in the Extended Status module) - Advanced load balancing -- On‑the‑fly reconfiguration of load‑balanced upstream groups +- On‑the‑fly reconfiguration of load‑balanced upstream groups - Extended logging capabilities - High availability setup - Adaptive media streaming From 07ca5df4a0ac42150a89cb0410ff78adce3924f0 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Wed, 4 Jun 2025 10:55:20 +0100 Subject: [PATCH 217/723] fix N1 footer link (#642) --- .../connect-nginx-plus-container-images-to-nginx-one.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/nginx-one/connect-instances/connect-nginx-plus-container-images-to-nginx-one.md b/content/nginx-one/connect-instances/connect-nginx-plus-container-images-to-nginx-one.md index 968ecc836..8545e0419 100644 --- a/content/nginx-one/connect-instances/connect-nginx-plus-container-images-to-nginx-one.md +++ b/content/nginx-one/connect-instances/connect-nginx-plus-container-images-to-nginx-one.md @@ -107,7 +107,7 @@ sudo docker run \ For more details, see: -- [Deploying NGINX and NGINX Plus on Docker](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-docker/) -- [Full List of Agent Environment Variables](https://docs.nginx.com/nginx-agent/configuration/configuration-overview/#nginx-agent-environment-variables) -- [NGINX One Data Plane Keys](https://docs.nginx.com/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys/) +- [Deploying NGINX and NGINX Plus on Docker]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-docker.md" >}}) +- [Full List of Agent Environment Variables]({{< ref "/agent/configuration/configuration-overview.md#cli-flags-and-environment-variables" >}}) +- [NGINX One Data Plane Keys]({{< ref "/nginx-one/connect-instances/create-manage-data-plane-keys.md" >}}) - [My F5 Knowledge Article](https://my.f5.com/manage/s/article/K000090257) From 606f581ccb39d69511144e21dbf4eb2dc23ed09d Mon Sep 17 00:00:00 2001 From: yar Date: Wed, 4 Jun 2025 14:02:27 +0100 Subject: [PATCH 218/723] Added NGINX variables index (#643) --- content/nginx/directives.md | 2 +- content/nginx/variables.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 content/nginx/variables.md diff --git a/content/nginx/directives.md b/content/nginx/directives.md index 0cea2ca19..e321d8207 100644 --- a/content/nginx/directives.md +++ b/content/nginx/directives.md @@ -5,4 +5,4 @@ url: /nginx/directives weight: 700 --- - \ No newline at end of file + \ No newline at end of file diff --git a/content/nginx/variables.md b/content/nginx/variables.md new file mode 100644 index 000000000..ca19e1300 --- /dev/null +++ b/content/nginx/variables.md @@ -0,0 +1,7 @@ +--- +title: NGINX Variables Index +url: /nginx/variables +weight: 800 +--- + + \ No newline at end of file From 94afe79a381f72d40163938f5f972ebc582a9ca9 Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Wed, 4 Jun 2025 21:15:55 +0100 Subject: [PATCH 219/723] dummy doc for redirect (#644) * dummy doc for redirect * Update content/nginxaas-azure/troubleshooting.md --- content/nginxaas-azure/troubleshooting.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 content/nginxaas-azure/troubleshooting.md diff --git a/content/nginxaas-azure/troubleshooting.md b/content/nginxaas-azure/troubleshooting.md new file mode 100644 index 000000000..00164ecb7 --- /dev/null +++ b/content/nginxaas-azure/troubleshooting.md @@ -0,0 +1,8 @@ +--- +title: Troubleshooting guide +toc: false +url: /nginxaas/azure/troubleshooting +weight: 700 +--- + + \ No newline at end of file From 097df8f16f41e4e745a664480afe8bd5e0c676ac Mon Sep 17 00:00:00 2001 From: Jon Torre <78599298+JTorreG@users.noreply.github.com> Date: Thu, 5 Jun 2025 14:44:43 +0100 Subject: [PATCH 220/723] Catalog update (#640) * Catalog update * remove extra double quotes --- .../configuration/configure-nginx-agent-features.md | 11 ++++++----- content/agent/configuration/health-checks.md | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/content/agent/configuration/configure-nginx-agent-features.md b/content/agent/configuration/configure-nginx-agent-features.md index 14f3c8c9d..486059eb4 100644 --- a/content/agent/configuration/configure-nginx-agent-features.md +++ b/content/agent/configuration/configure-nginx-agent-features.md @@ -5,6 +5,7 @@ weight: 150 toc: true type: - how-to +docs: DOCS-1678 --- ## Overview @@ -47,7 +48,7 @@ The following table lists the NGINX Agent features. ssh user@your-nginx-instance ``` -2. **Edit NGINX Agent configuration:** +2. **Edit NGINX Agent configuration:** ``` sudo vim /etc/nginx-agent/nginx-agent.conf @@ -60,7 +61,7 @@ The following table lists the NGINX Agent features. - metrics - metrics-throttle - dataplane-status -``` +``` 4. **Restart the NGINX Agent service:** Restart the NGINX Agent service to enable changes. @@ -73,7 +74,7 @@ Once the steps have been completed, users will be able to view metrics data bein ssh user@your-nginx-instance ``` -2. **Edit NGINX Agent configuration:** +2. **Edit NGINX Agent configuration:** ``` sudo vim /etc/nginx-agent/nginx-agent.conf @@ -86,9 +87,9 @@ Once the steps have been completed, users will be able to view metrics data bein - nginx-config-async - dataplane-status - file-watcher -``` +``` 4. **Restart the NGINX Agent service:** Restart the NGINX Agent service to enable changes. -Once the steps have been completed, users will be able to publish NGINX configurations but metrics data will not be collected by the NGINX Agent. +Once the steps have been completed, users will be able to publish NGINX configurations but metrics data will not be collected by the NGINX Agent. diff --git a/content/agent/configuration/health-checks.md b/content/agent/configuration/health-checks.md index 4aa65608a..16a9bf53d 100644 --- a/content/agent/configuration/health-checks.md +++ b/content/agent/configuration/health-checks.md @@ -5,6 +5,7 @@ weight: 400 toc: true type: - how-to +docs: DOCS-1677 --- ## Overview From e9c7fb2b3669a97ede1461b612dde697a7372ed7 Mon Sep 17 00:00:00 2001 From: 65397 Date: Thu, 5 Jun 2025 16:46:24 +0300 Subject: [PATCH 221/723] feat: Update includes related to NGINX Instance Manager (#641) Removed stray '\' causing a script bug and added NIM 2.19.2 to compatibility table --- content/includes/nim/tech-specs/nim-app-protect-support.md | 2 +- content/nim/disconnected/offline-install-guide.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/includes/nim/tech-specs/nim-app-protect-support.md b/content/includes/nim/tech-specs/nim-app-protect-support.md index 2df3a0e68..cf6a03365 100644 --- a/content/includes/nim/tech-specs/nim-app-protect-support.md +++ b/content/includes/nim/tech-specs/nim-app-protect-support.md @@ -8,7 +8,7 @@ NGINX Instance Manager supports the following versions of [NGINX App Protect WAF | NGINX Instance Manager | NGINX App Protect WAF | |------------------------|------------------------------------| -| 2.17.0–2.19.1 | Release 4.8.0–4.14.0, 5.1.0–5.6.0 | +| 2.17.0–2.19.2 | Release 4.8.0–4.14.0, 5.1.0–5.6.0 | | 2.15.1–2.16.0 | Release 4.8.0–4.10.0 | | 2.14.1–2.15.0 | Release 4.4.0–4.7.0 | | 2.13.0–2.14.0 | Release 4.3.0–4.5.0 | diff --git a/content/nim/disconnected/offline-install-guide.md b/content/nim/disconnected/offline-install-guide.md index 6d4b8414d..039854089 100644 --- a/content/nim/disconnected/offline-install-guide.md +++ b/content/nim/disconnected/offline-install-guide.md @@ -66,7 +66,7 @@ sudo bash install-nim-bundle.sh \ -k \ -m offline \ -d \ - -v \ + -v ```
      From af2a3661af6fc5f64bc2e698d8a2c59ec2792fa1 Mon Sep 17 00:00:00 2001 From: Saylor Berman Date: Thu, 5 Jun 2025 10:28:24 -0600 Subject: [PATCH 222/723] NGF release 2.0 (#645) Release docs for NGF 2.0. --- _banners/ngf-2.0-release.md | 7 + .../installation/helm/pulling-the-chart.md | 12 +- ...stall-gateway-api-experimental-features.md | 4 +- .../nginx-plus/docker-registry-secret.md | 2 +- content/ngf/_index.md | 6 + content/ngf/{releases.md => changelog.md} | 11 +- content/ngf/get-started.md | 197 +- content/ngf/how-to/_index.md | 2 +- .../ngf/how-to/control-plane-configuration.md | 2 +- .../ngf/how-to/data-plane-configuration.md | 293 +- content/ngf/how-to/monitoring/_index.md | 5 - content/ngf/how-to/monitoring/dashboard.md | 32 - content/ngf/how-to/scaling.md | 96 + .../ngf/how-to/traffic-management/_index.md | 5 - content/ngf/how-to/traffic-security/_index.md | 5 - .../how-to/upgrade-apps-without-downtime.md | 2 +- content/ngf/install/_index.md | 5 + .../build-image.md} | 13 +- content/ngf/install/deploy-data-plane.md | 242 ++ .../installing-ngf => install}/helm.md | 186 +- .../installing-ngf => install}/manifests.md | 126 +- .../nginx-plus.md} | 102 +- content/ngf/install/secure-certificates.md | 208 ++ content/ngf/install/upgrade-version.md | 308 +++ content/ngf/installation/_index.md | 5 - .../ngf/installation/installing-ngf/_index.md | 5 - content/ngf/monitoring/_index.md | 5 + content/ngf/monitoring/dashboard.md | 55 + .../ngf/{how-to => }/monitoring/prometheus.md | 81 +- .../ngf/{how-to => }/monitoring/tracing.md | 53 +- content/ngf/overview/custom-policies.md | 22 +- .../ngf/overview/gateway-api-compatibility.md | 55 +- content/ngf/overview/gateway-architecture.md | 360 ++- content/ngf/overview/nginx-plus.md | 4 +- content/ngf/overview/product-telemetry.md | 14 +- content/ngf/overview/resource-validation.md | 22 +- content/ngf/reference/_index.md | 2 +- content/ngf/reference/api.md | 2443 ++++++++++++----- content/ngf/reference/cli-help.md | 10 +- content/ngf/support.md | 12 +- content/ngf/traffic-management/_index.md | 5 + .../traffic-management/advanced-routing.md | 112 +- .../basic-routing.md} | 61 +- .../traffic-management/client-settings.md | 101 +- .../traffic-management/https-termination.md | 51 +- content/ngf/traffic-management/mirror.md | 215 ++ .../redirects-and-rewrites.md | 63 +- .../request-response-headers.md | 59 +- .../traffic-management/snippets.md | 53 +- .../traffic-management/tls-passthrough.md | 45 +- .../traffic-management/upstream-settings.md | 41 +- content/ngf/traffic-security/_index.md | 5 + .../integrate-cert-manager.md} | 12 +- .../secure-backend.md} | 49 +- .../monitoring => }/troubleshooting.md | 175 +- go.sum | 6 - layouts/shortcodes/version-ngf.html | 2 +- static/ngf/grafana-dashboard.json | 518 ++-- static/ngf/img/ngf-high-level.png | Bin 138656 -> 0 bytes static/ngf/img/ngf-pod.png | Bin 131533 -> 0 bytes 60 files changed, 4282 insertions(+), 2310 deletions(-) create mode 100644 _banners/ngf-2.0-release.md rename content/ngf/{releases.md => changelog.md} (52%) delete mode 100644 content/ngf/how-to/monitoring/_index.md delete mode 100644 content/ngf/how-to/monitoring/dashboard.md create mode 100644 content/ngf/how-to/scaling.md delete mode 100644 content/ngf/how-to/traffic-management/_index.md delete mode 100644 content/ngf/how-to/traffic-security/_index.md create mode 100644 content/ngf/install/_index.md rename content/ngf/{installation/building-the-images.md => install/build-image.md} (83%) create mode 100644 content/ngf/install/deploy-data-plane.md rename content/ngf/{installation/installing-ngf => install}/helm.md (52%) rename content/ngf/{installation/installing-ngf => install}/manifests.md (64%) rename content/ngf/{installation/nginx-plus-jwt.md => install/nginx-plus.md} (76%) create mode 100644 content/ngf/install/secure-certificates.md create mode 100644 content/ngf/install/upgrade-version.md delete mode 100644 content/ngf/installation/_index.md delete mode 100644 content/ngf/installation/installing-ngf/_index.md create mode 100644 content/ngf/monitoring/_index.md create mode 100644 content/ngf/monitoring/dashboard.md rename content/ngf/{how-to => }/monitoring/prometheus.md (57%) rename content/ngf/{how-to => }/monitoring/tracing.md (85%) create mode 100644 content/ngf/traffic-management/_index.md rename content/ngf/{how-to => }/traffic-management/advanced-routing.md (78%) rename content/ngf/{how-to/traffic-management/routing-traffic-to-your-app.md => traffic-management/basic-routing.md} (82%) rename content/ngf/{how-to => }/traffic-management/client-settings.md (81%) rename content/ngf/{how-to => }/traffic-management/https-termination.md (92%) create mode 100644 content/ngf/traffic-management/mirror.md rename content/ngf/{how-to => }/traffic-management/redirects-and-rewrites.md (92%) rename content/ngf/{how-to => }/traffic-management/request-response-headers.md (94%) rename content/ngf/{how-to => }/traffic-management/snippets.md (97%) rename content/ngf/{how-to => }/traffic-management/tls-passthrough.md (92%) rename content/ngf/{how-to => }/traffic-management/upstream-settings.md (91%) create mode 100644 content/ngf/traffic-security/_index.md rename content/ngf/{how-to/traffic-security/integrating-cert-manager.md => traffic-security/integrate-cert-manager.md} (98%) rename content/ngf/{how-to/traffic-security/securing-backend-traffic.md => traffic-security/secure-backend.md} (88%) rename content/ngf/{how-to/monitoring => }/troubleshooting.md (76%) delete mode 100644 static/ngf/img/ngf-high-level.png delete mode 100644 static/ngf/img/ngf-pod.png diff --git a/_banners/ngf-2.0-release.md b/_banners/ngf-2.0-release.md new file mode 100644 index 000000000..135681553 --- /dev/null +++ b/_banners/ngf-2.0-release.md @@ -0,0 +1,7 @@ +{{< banner "notice" "NGINX Gateway Fabric 2.0 is now available" >}} + +NGINX Gateway Fabric 2.0 has released! Follow [these instructions]({{< ref "/ngf/install/upgrade-version.md#upgrade-from-v1x-to-v2x" >}}) to upgrade from 1.x to 2.0. + +For 1.x, checkout [an older version]({{< ref "/ngf/install/upgrade-version.md#access-nginx-gateway-fabric-1x-documentation" >}}) of documentation. + +{{< /banner >}} \ No newline at end of file diff --git a/content/includes/ngf/installation/helm/pulling-the-chart.md b/content/includes/ngf/installation/helm/pulling-the-chart.md index 0d0a5071a..b82b2f809 100644 --- a/content/includes/ngf/installation/helm/pulling-the-chart.md +++ b/content/includes/ngf/installation/helm/pulling-the-chart.md @@ -2,11 +2,9 @@ docs: "DOCS-1439" --- -Pull the latest stable release of the NGINX Gateway Fabric chart: +```shell +helm pull oci://ghcr.io/nginx/charts/nginx-gateway-fabric --untar +cd nginx-gateway-fabric +``` - ```shell - helm pull oci://ghcr.io/nginx/charts/nginx-gateway-fabric --untar - cd nginx-gateway-fabric - ``` - - If you want the latest version from the **main** branch, add `--version 0.0.0-edge` to your pull command. +For the latest version from the **main** branch, add _--version 0.0.0-edge_ to your pull command. diff --git a/content/includes/ngf/installation/install-gateway-api-experimental-features.md b/content/includes/ngf/installation/install-gateway-api-experimental-features.md index db70cc083..aa95d1eb9 100644 --- a/content/includes/ngf/installation/install-gateway-api-experimental-features.md +++ b/content/includes/ngf/installation/install-gateway-api-experimental-features.md @@ -17,7 +17,7 @@ kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gate To enable experimental features on NGINX Gateway Fabric: Using Helm: Set `nginxGateway.gwAPIExperimentalFeatures.enable` to true. An example can be found -in the [Installation with Helm]({{< ref "/ngf/installation/installing-ngf/helm.md#custom-installation-options" >}}) guide. +in the [Installation with Helm]({{< ref "/ngf/install/helm.md#custom-installation-options" >}}) guide. Using Kubernetes manifests: Add the `--gateway-api-experimental-features` command-line flag to the deployment manifest args. -An example can be found in the [Installation with Kubernetes manifests]({{< ref "/ngf/installation/installing-ngf/manifests.md#3-deploy-nginx-gateway-fabric" >}}) guide. +An example can be found in the [Installation with Kubernetes manifests]({{< ref "/ngf/install/manifests.md#3-deploy-nginx-gateway-fabric" >}}) guide. diff --git a/content/includes/ngf/installation/nginx-plus/docker-registry-secret.md b/content/includes/ngf/installation/nginx-plus/docker-registry-secret.md index 6c5902604..c6d666b6d 100644 --- a/content/includes/ngf/installation/nginx-plus/docker-registry-secret.md +++ b/content/includes/ngf/installation/nginx-plus/docker-registry-secret.md @@ -2,7 +2,7 @@ docs: "DOCS-000" --- -{{< note >}} If you would rather pull the NGINX Plus image and push to a private registry, you can skip this specific step and instead follow [this step]({{< ref "/ngf/installation/nginx-plus-jwt.md#pulling-an-image-for-local-use" >}}). {{< /note >}} +{{< note >}} If you would rather pull the NGINX Plus image and push to a private registry, you can skip this specific step and instead follow [this step]({{< ref "/ngf/install/nginx-plus.md#pulling-an-image-for-local-use" >}}). {{< /note >}} If the `nginx-gateway` namespace does not yet exist, create it: diff --git a/content/ngf/_index.md b/content/ngf/_index.md index 6e7642933..f4685bcf1 100644 --- a/content/ngf/_index.md +++ b/content/ngf/_index.md @@ -1,4 +1,10 @@ --- title: "NGINX Gateway Fabric" url: /nginx-gateway-fabric/ +cascade: + banner: + enabled: true + type: deprecation + start-date: 2025-05-30 + md: /_banners/ngf-2.0-release.md --- \ No newline at end of file diff --git a/content/ngf/releases.md b/content/ngf/changelog.md similarity index 52% rename from content/ngf/releases.md rename to content/ngf/changelog.md index f371d7a96..5453d1b8f 100644 --- a/content/ngf/releases.md +++ b/content/ngf/changelog.md @@ -1,11 +1,10 @@ --- -title: Releases -description: "NGINX Gateway Fabric releases." -weight: 700 +title: Changelog toc: true -type: reference -product: NGF -docs: "DOCS-1359" +weight: 900 +nd-content-type: reference +nd-product: NGF +nd-docs: "DOCS-1359" --- See the NGINX Gateway Fabric changelog page: diff --git a/content/ngf/get-started.md b/content/ngf/get-started.md index 334e99175..c6a03bd0c 100644 --- a/content/ngf/get-started.md +++ b/content/ngf/get-started.md @@ -2,15 +2,15 @@ title: Get started weight: 200 toc: true -type: how-to -product: NGF -docs: DOCS-000 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-000 --- {{< important >}} This document is for trying out NGINX Gateway Fabric, and not intended for a production environment. -For standard deployments, you should read the [Install NGINX Gateway Fabric]({{< ref "/ngf/installation/installing-ngf" >}}) section. +For standard deployments, you should read the [Install NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}) section. {{< /important >}} This is a guide for getting started with NGINX Gateway Fabric. It explains how to: @@ -21,8 +21,6 @@ This is a guide for getting started with NGINX Gateway Fabric. It explains how t By following the steps in order, you will finish with a functional NGINX Gateway Fabric cluster. ---- - ## Before you begin To complete this guide, you need the following prerequisites installed: @@ -47,13 +45,10 @@ nodes: - containerPort: 31437 hostPort: 8080 protocol: TCP - - containerPort: 31438 - hostPort: 8443 - protocol: TCP ``` {{< note >}} -The two _containerPort_ values are used to later configure a _NodePort_. +The _containerPort_ value is used to later configure a _NodePort_. {{< /note >}} Run the following command: @@ -87,8 +82,6 @@ make create-kind-cluster {{< /note >}} ---- - ## Install NGINX Gateway Fabric ### Add Gateway API resources @@ -107,82 +100,28 @@ customresourcedefinition.apiextensions.k8s.io/httproutes.gateway.networking.k8s. customresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking.k8s.io created ``` ---- - ### Install the Helm chart -Use `helm` to install NGINX Gateway Fabric with the following command: +Use `helm` to install NGINX Gateway Fabric, specifying the NodePort configuration that will be set on the +NGINX Service when it is provisioned: ```shell -helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namespace -n nginx-gateway --set service.create=false +helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namespace -n nginx-gateway --set nginx.service.type=NodePort --set-json 'nginx.service.nodePorts=[{"port":31437,"listenerPort":80}]' ``` +{{< note >}} +The port value should equal the _containerPort_ value from _cluster-config.yaml_ [when you created the kind cluster](#set-up-a-kind-cluster). The _listenerPort_ value will match the port that we expose in the Gateway listener. +{{< /note >}} + ```text -Pulled: ghcr.io/nginx/charts/nginx-gateway-fabric:{{< version-ngf >}} -Digest: sha256:9bbd1a2fcbfd5407ad6be39f796f582e6263512f1f3a8969b427d39063cc6fee NAME: ngf -LAST DEPLOYED: Mon Oct 21 14:45:14 2024 +LAST DEPLOYED: Tue Apr 29 14:45:14 2025 NAMESPACE: nginx-gateway STATUS: deployed REVISION: 1 TEST SUITE: None ``` ---- - -### Set up a NodePort - -Create the file _nodeport-config.yaml_ with the following contents: - -```yaml {linenos=true, hl_lines=[20, 25]} -apiVersion: v1 -kind: Service -metadata: - name: nginx-gateway - namespace: nginx-gateway - labels: - app.kubernetes.io/name: nginx-gateway-fabric - app.kubernetes.io/instance: ngf - app.kubernetes.io/version: "{{< version-ngf >}}" -spec: - type: NodePort - selector: - app.kubernetes.io/name: nginx-gateway-fabric - app.kubernetes.io/instance: ngf - ports: - - name: http - port: 80 - protocol: TCP - targetPort: 80 - nodePort: 31437 - - name: https - port: 443 - protocol: TCP - targetPort: 443 - nodePort: 31438 -``` - -{{< note >}} -The highlighted _nodePort_ values should equal the _containerPort_ values from _cluster-config.yaml_ [when you created the kind cluster](#set-up-a-kind-cluster). -{{< /note >}} - -Apply it using `kubectl`: - -```shell -kubectl apply -f nodeport-config.yaml -``` -```text -service/nginx-gateway created -``` - -{{< warning >}} -The NodePort resource must be deployed in the same namespace as NGINX Gateway Fabric. - -If you are making customizations, ensure your `labels:` and `selectors:` also match the labels of the NGINX Gateway Fabric deployment. -{{< /warning >}} - ---- - ## Create an example application In the previous section, you deployed NGINX Gateway Fabric to a local cluster. This section shows you how to deploy a simple web application to test that NGINX Gateway Fabric works. @@ -191,8 +130,6 @@ In the previous section, you deployed NGINX Gateway Fabric to a local cluster. T The YAML code in the following sections can be found in the [cafe-example folder](https://github.com/nginx/nginx-gateway-fabric/tree/main/examples/cafe-example) of the GitHub repository. {{< /note >}} ---- - ### Create the application resources Create the file _cafe.yaml_ with the following contents: @@ -220,12 +157,10 @@ kubectl -n default get pods ```text NAME READY STATUS RESTARTS AGE -coffee-6db967495b-wk2mm 1/1 Running 0 10s -tea-7b7d6c947d-d4qcf 1/1 Running 0 10s +coffee-676c9f8944-k2bmd 1/1 Running 0 9s +tea-6fbfdcb95d-9lhbj 1/1 Running 0 9s ``` ---- - ### Create Gateway and HTTPRoute resources Create the file _gateway.yaml_ with the following contents: @@ -242,6 +177,19 @@ kubectl apply -f gateway.yaml gateway.gateway.networking.k8s.io/gateway created ``` +Verify that the NGINX deployment has been provisioned: + +```shell +kubectl -n default get pods +``` + +```text +NAME READY STATUS RESTARTS AGE +coffee-676c9f8944-k2bmd 1/1 Running 0 31s +gateway-nginx-66b5d78f8f-4fmtb 1/1 Running 0 13s +tea-6fbfdcb95d-9lhbj 1/1 Running 0 31s +``` + Create the file _cafe-routes.yaml_ with the following contents: {{< ghcode `https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/refs/heads/main/examples/cafe-example/cafe-routes.yaml`>}} @@ -257,29 +205,26 @@ httproute.gateway.networking.k8s.io/coffee created httproute.gateway.networking.k8s.io/tea created ``` ---- - ### Verify the configuration You can check that all of the expected services are available using `kubectl get`: ```shell -kubectl get service --all-namespaces +kubectl -n default get services ``` ```text -NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -default coffee ClusterIP 10.96.18.163 80/TCP 2m51s -default kubernetes ClusterIP 10.96.0.1 443/TCP 4m41s -default tea ClusterIP 10.96.169.132 80/TCP 2m51s -kube-system kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 4m40s -nginx-gateway nginx-gateway NodePort 10.96.186.45 80:31437/TCP,443:31438/TCP 3m6s +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +coffee ClusterIP 10.96.206.93 80/TCP 2m2s +gateway-nginx NodePort 10.96.157.168 80:31437/TCP 104s +kubernetes ClusterIP 10.96.0.1 443/TCP 142m +tea ClusterIP 10.96.43.183 80/TCP 2m2s ``` You can also use `kubectl describe` on the new resources to check their status: ```shell -kubectl describe httproutes +kubectl -n default describe httproutes ``` ```text @@ -290,10 +235,10 @@ Annotations: API Version: gateway.networking.k8s.io/v1 Kind: HTTPRoute Metadata: - Creation Timestamp: 2024-10-21T13:46:51Z + Creation Timestamp: 2025-04-29T19:06:31Z Generation: 1 - Resource Version: 821 - UID: cc591089-d3aa-44d3-a851-e2bbfa285029 + Resource Version: 12285 + UID: c8055a74-b4c6-442f-b3fb-350fb88b2a7c Spec: Hostnames: cafe.example.com @@ -316,13 +261,13 @@ Spec: Status: Parents: Conditions: - Last Transition Time: 2024-10-21T13:46:51Z + Last Transition Time: 2025-04-29T19:06:31Z Message: The route is accepted Observed Generation: 1 Reason: Accepted Status: True Type: Accepted - Last Transition Time: 2024-10-21T13:46:51Z + Last Transition Time: 2025-04-29T19:06:31Z Message: All references are resolved Observed Generation: 1 Reason: ResolvedRefs @@ -345,10 +290,10 @@ Annotations: API Version: gateway.networking.k8s.io/v1 Kind: HTTPRoute Metadata: - Creation Timestamp: 2024-10-21T13:46:51Z + Creation Timestamp: 2025-04-29T19:06:31Z Generation: 1 - Resource Version: 823 - UID: d72d2a19-1c4d-48c4-9808-5678cff6c331 + Resource Version: 12284 + UID: 55aa0ab5-9b1c-4028-9bb5-4903f05bb998 Spec: Hostnames: cafe.example.com @@ -371,13 +316,13 @@ Spec: Status: Parents: Conditions: - Last Transition Time: 2024-10-21T13:46:51Z + Last Transition Time: 2025-04-29T19:06:31Z Message: The route is accepted Observed Generation: 1 Reason: Accepted Status: True Type: Accepted - Last Transition Time: 2024-10-21T13:46:51Z + Last Transition Time: 2025-04-29T19:06:31Z Message: All references are resolved Observed Generation: 1 Reason: ResolvedRefs @@ -394,7 +339,7 @@ Events: ``` ```shell -kubectl describe gateways +kubectl -n default describe gateways ``` ```text @@ -405,10 +350,10 @@ Annotations: API Version: gateway.networking.k8s.io/v1 Kind: Gateway Metadata: - Creation Timestamp: 2024-10-21T13:46:36Z + Creation Timestamp: 2025-04-29T19:05:01Z Generation: 1 - Resource Version: 824 - UID: 2ae8ec42-70eb-41a4-b249-3e47177aea48 + Resource Version: 12286 + UID: 0baa6e15-55e0-405a-9e7c-de22472fc3ad Spec: Gateway Class Name: nginx Listeners: @@ -422,15 +367,15 @@ Spec: Status: Addresses: Type: IPAddress - Value: 10.244.0.5 + Value: 10.96.157.168 Conditions: - Last Transition Time: 2024-10-21T13:46:51Z + Last Transition Time: 2025-04-29T19:06:31Z Message: Gateway is accepted Observed Generation: 1 Reason: Accepted Status: True Type: Accepted - Last Transition Time: 2024-10-21T13:46:51Z + Last Transition Time: 2025-04-29T19:06:31Z Message: Gateway is programmed Observed Generation: 1 Reason: Programmed @@ -439,25 +384,25 @@ Status: Listeners: Attached Routes: 2 Conditions: - Last Transition Time: 2024-10-21T13:46:51Z + Last Transition Time: 2025-04-29T19:06:31Z Message: Listener is accepted Observed Generation: 1 Reason: Accepted Status: True Type: Accepted - Last Transition Time: 2024-10-21T13:46:51Z + Last Transition Time: 2025-04-29T19:06:31Z Message: Listener is programmed Observed Generation: 1 Reason: Programmed Status: True Type: Programmed - Last Transition Time: 2024-10-21T13:46:51Z + Last Transition Time: 2025-04-29T19:06:31Z Message: All references are resolved Observed Generation: 1 Reason: ResolvedRefs Status: True Type: ResolvedRefs - Last Transition Time: 2024-10-21T13:46:51Z + Last Transition Time: 2025-04-29T19:06:31Z Message: No conflicts Observed Generation: 1 Reason: NoConflicts @@ -472,11 +417,9 @@ Status: Events: ``` ---- - ## Test NGINX Gateway Fabric -By configuring the cluster with the ports `31437` and `31438`, there is implicit port forwarding from your local machine to NodePort, allowing for direct communication to the NGINX Gateway Fabric service. +By configuring the cluster with the port `31437`, there is implicit port forwarding from your local machine to NodePort, allowing for direct communication to the NGINX Gateway Fabric service. You can use `curl` to test the new services by targeting the hostname (_cafe.example.com_) with the _/coffee_ and _/tea_ paths: @@ -485,11 +428,11 @@ curl --resolve cafe.example.com:8080:127.0.0.1 http://cafe.example.com:8080/coff ``` ```text -Server address: 10.244.0.6:8080 -Server name: coffee-6db967495b-wk2mm -Date: 21/Oct/2024:13:52:13 +0000 +Server address: 10.244.0.16:8080 +Server name: coffee-676c9f8944-k2bmd +Date: 29/Apr/2025:19:08:21 +0000 URI: /coffee -Request ID: fb226a54fd94f927b484dd31fb30e747 +Request ID: f34e138922171977a79b1b0d0395b97e ``` ```shell @@ -497,17 +440,15 @@ curl --resolve cafe.example.com:8080:127.0.0.1 http://cafe.example.com:8080/tea ``` ```text -Server address: 10.244.0.7:8080 -Server name: tea-7b7d6c947d-d4qcf -Date: 21/Oct/2024:13:52:17 +0000 +Server address: 10.244.0.17:8080 +Server name: tea-6fbfdcb95d-9lhbj +Date: 29/Apr/2025:19:08:31 +0000 URI: /tea -Request ID: 43882f2f5794a1ee05d2ea017a035ce3 +Request ID: 1b5c8f3a4532ea7d7510cf14ffeb27af ``` ---- - -## See also +## Next steps -- [Install NGINX Gateway Fabric]({{< ref "/ngf/installation/installing-ngf/" >}}), for additional ways to install NGINX Gateway Fabric -- [How-to guides]({{< ref "/ngf/how-to/" >}}), for configuring your cluster -- [Traffic management]({{< ref "/ngf/how-to/traffic-management/" >}}), for more in-depth traffic management configuration +- [Install NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}), for additional ways to install NGINX Gateway Fabric +- [Traffic management]({{< ref "/ngf/traffic-management/" >}}), for more in-depth traffic management configuration +- [How-to guides]({{< ref "/ngf/how-to/" >}}), for configuring your cluster \ No newline at end of file diff --git a/content/ngf/how-to/_index.md b/content/ngf/how-to/_index.md index b48bf630e..c6717f894 100644 --- a/content/ngf/how-to/_index.md +++ b/content/ngf/how-to/_index.md @@ -1,5 +1,5 @@ --- title: "How-to guides" url: /nginx-gateway-fabric/how-to/ -weight: 400 +weight: 550 --- diff --git a/content/ngf/how-to/control-plane-configuration.md b/content/ngf/how-to/control-plane-configuration.md index 15db1c714..c7ca856b4 100644 --- a/content/ngf/how-to/control-plane-configuration.md +++ b/content/ngf/how-to/control-plane-configuration.md @@ -13,7 +13,7 @@ Learn how to dynamically update the NGINX Gateway Fabric control plane configura NGINX Gateway Fabric can dynamically update the control plane configuration without restarting. The control plane configuration is stored in the NginxGateway custom resource, created during the installation of NGINX Gateway Fabric. -NginxGateway is deployed in the same namespace as the controller (Default: `nginx-gateway`). The resource's default name is based on your [installation method]({{< ref "/ngf/installation/installing-ngf" >}}): +NginxGateway is deployed in the same namespace as the controller (Default: `nginx-gateway`). The resource's default name is based on your [installation method]({{< ref "/ngf/install/" >}}): - Helm: `-config` - Manifests: `nginx-gateway-config` diff --git a/content/ngf/how-to/data-plane-configuration.md b/content/ngf/how-to/data-plane-configuration.md index 1ffb7a17a..994a86faa 100644 --- a/content/ngf/how-to/data-plane-configuration.md +++ b/content/ngf/how-to/data-plane-configuration.md @@ -11,98 +11,223 @@ Learn how to dynamically update the NGINX Gateway Fabric global data plane confi ## Overview -NGINX Gateway Fabric can dynamically update the global data plane configuration without restarting. The data plane configuration is a global configuration for NGINX that has options that are not available using the standard Gateway API resources. This includes such things as setting an OpenTelemetry collector config, disabling http2, changing the IP family, or setting the NGINX error log level. +NGINX Gateway Fabric can dynamically update the global data plane configuration without restarting. The data plane configuration contains configuration for NGINX that is not available using the standard Gateway API resources. This includes options such as configuring an OpenTelemetry collector, disabling HTTP/2, changing the IP family, modifying infrastructure-related fields, and setting the NGINX error log level. -The data plane configuration is stored in the NginxProxy custom resource, which is a cluster-scoped resource that is attached to the `nginx` GatewayClass. +The data plane configuration is stored in the `NginxProxy` custom resource, which is a namespace-scoped resource that can be attached to a GatewayClass or Gateway. When attached to a GatewayClass, the fields in the NginxProxy affect all Gateways that belong to the GatewayClass. +When attached to a Gateway, the fields in the NginxProxy only affect the Gateway. If a GatewayClass and its Gateway both specify an NginxProxy, the GatewayClass NginxProxy provides defaults that can be overridden by the Gateway NginxProxy. See the [Merging Semantics](#merging-semantics) section for more detail. -By default, the NginxProxy resource is not created when installing NGINX Gateway Fabric. However, you can set configuration options in the `nginx.config` Helm values, and the resource will be created and attached when NGINX Gateway Fabric is installed using Helm. You can also [manually create and attach](#manually-create-the-configuration) the resource after NGINX Gateway Fabric is already installed. +--- -When installed using the Helm chart, the NginxProxy resource is named `-proxy-config`. +## Merging Semantics -**For a full list of configuration options that can be set, see the `NginxProxy spec` in the [API reference]({{< ref "/ngf/reference/api.md" >}}).** +NginxProxy resources are merged when a GatewayClass and a Gateway reference different NginxProxy resources. -{{< note >}} Some global configuration also requires an [associated policy]({{< ref "/ngf/overview/custom-policies.md" >}}) to fully enable a feature (such as [tracing]({{< ref "/ngf/how-to/monitoring/tracing.md" >}}), for example). {{< /note >}} +For fields that are bools, integers, and strings: +- If a field on the Gateway's NginxProxy is unspecified (`nil`), the Gateway __inherits__ the value of the field in the GatewayClass's NginxProxy. +- If a field on the Gateway's NginxProxy is specified, its value __overrides__ the value of the field in the GatewayClass's NginxProxy. ---- +For array fields: +- If the array on the Gateway's NginxProxy is unspecified (`nil`), the Gateway __inherits__ the entire array in the GatewayClass's NginxProxy. +- If the array on the Gateway's NginxProxy is empty, it __overrides__ the entire array in the GatewayClass's NginxProxy, effectively unsetting the field. +- If the array on the Gateway's NginxProxy is specified and not empty, it __overrides__ the entire array in the GatewayClass's NginxProxy. -## Viewing and Updating the Configuration -If the `NginxProxy` resource already exists, you can view and edit it. +### Merging Examples -{{< note >}} For the following examples, the name `ngf-proxy-config` should be updated to the name of the resource created for your installation. {{< /note >}} +This section contains examples of how NginxProxy resources are merged when they are attached to both a Gateway and its GatewayClass. -To view the current configuration: +#### Disable HTTP/2 for a Gateway -```shell -kubectl describe nginxproxies ngf-proxy-config +A GatewayClass references the following NginxProxy which explicitly allows HTTP/2 traffic and sets the IPFamily to ipv4: + +```yaml +apiVersion: gateway.nginx.org/v1alpha2 +kind: NginxProxy +metadata: + name: gateway-class-enable-http2 + namespace: default +spec: + ipFamily: "ipv4" + disableHTTP: false ``` -To update the configuration: +To disable HTTP/2 traffic for a particular Gateway, reference the following NginxProxy in the Gateway's spec: -```shell -kubectl edit nginxproxies ngf-proxy-config +```yaml +apiVersion: gateway.nginx.org/v1alpha2 +kind: NginxProxy +metadata: + name: gateway-disable-http + namespace: default +spec: + disableHTTP: true ``` -This will open the configuration in your default editor. You can then update and save the configuration, which is applied automatically to the data plane. +These NginxProxy resources are merged and the following settings are applied to the Gateway: -To view the status of the configuration, check the GatewayClass that it is attached to: +```yaml +ipFamily: "ipv4" +disableHTTP: true +``` -```shell -kubectl describe gatewayclasses nginx +#### Change Telemetry configuration for a Gateway + +A GatewayClass references the following NginxProxy which configures telemetry: + +```yaml +apiVersion: gateway.nginx.org/v1alpha2 +kind: NginxProxy +metadata: + name: gateway-class-telemetry + namespace: default +spec: + telemetry: + exporter: + endpoint: "my.telemetry.collector:9000" + interval: "60s" + batchSize: 20 + serviceName: "my-company" + spanAttributes: + - key: "company-key" + value: "company-value" ``` -```text -... -Status: - Conditions: - ... - Message: parametersRef resource is resolved - Observed Generation: 1 - Reason: ResolvedRefs - Status: True - Type: ResolvedRefs +To change the telemetry configuration for a particular Gateway, reference the following NginxProxy in the Gateway's spec: + +```yaml +apiVersion: gateway.nginx.org/v1alpha2 +kind: NginxProxy +metadata: + name: gateway-telemetry-service-name + namespace: default +spec: + telemetry: + exporter: + batchSize: 50 + batchCount: 5 + serviceName: "my-app" + spanAttributes: + - key: "app-key" + value: "app-value" ``` -If everything is valid, the `ResolvedRefs` condition should be `True`. Otherwise, you will see an `InvalidParameters` condition in the status. +These NginxProxy resources are merged and the following settings are applied to the Gateway: + +```yaml + telemetry: + exporter: + endpoint: "my.telemetry.collector:9000" + interval: "60s" + batchSize: 50 + batchCount: 5 + serviceName: "my-app" + spanAttributes: + - key: "app-key" + value: "app-value" +``` + +#### Disable Tracing for a Gateway + +A GatewayClass references the following NginxProxy which configures telemetry: + +```yaml +apiVersion: gateway.nginx.org/v1alpha2 +kind: NginxProxy +metadata: + name: gateway-class-telemetry + namespace: default +spec: + telemetry: + exporter: + endpoint: "my.telemetry.collector:9000" + interval: "60s" + serviceName: "my-company" +``` + +To disable tracing for a particular Gateway, reference the following NginxProxy in the Gateway's spec: + +```yaml +apiVersion: gateway.nginx.org/v1alpha2 +kind: NginxProxy +metadata: + name: gateway-disable-tracing + namespace: default +spec: + telemetry: + disabledFeatures: + - DisableTracing +``` + +These NginxProxy resources are merged and the following settings are applied to the Gateway: + +```yaml +telemetry: + exporter: + endpoint: "my.telemetry.collector:9000" + interval: "60s" + serviceName: "my-app" + disabledFeatures: + - DisableTracing +``` --- -## Manually create the configuration +## Configuring the GatewayClass NginxProxy on install + +By default, an `NginxProxy` resource is created in the same namespace where NGINX Gateway Fabric is installed, attached to the GatewayClass. You can set configuration options in the `nginx` Helm value section, and the resource will be created and attached using the set values. You can also [manually create and attach](#manually-creating-nginxProxies) specific `NginxProxy` resources to target different Gateways. + +When installed using the Helm chart, the NginxProxy resource is named `-proxy-config` and is created in the release Namespace. + +**For a full list of configuration options that can be set, see the `NginxProxy spec` in the [API reference]({{< ref "/ngf/reference/api.md" >}}).** + +{{< note >}} Some global configuration also requires an [associated policy]({{< ref "/ngf/overview/custom-policies.md" >}}) to fully enable a feature (such as [tracing]({{< ref "/ngf/monitoring/tracing.md" >}}), for example). {{< /note >}} -If the `NginxProxy` resource doesn't exist, you can create it and attach it to the GatewayClass. +--- + +## Manually Creating NginxProxies -The following command creates a basic `NginxProxy` configuration that sets the IP family to `ipv4` instead of the default value of `dual`: +The following command creates a basic `NginxProxy` configuration in the `default` namespace that sets the IP family to `ipv4` instead of the default value of `dual`: ```yaml kubectl apply -f - <}}). + +--- + +### Attaching NginxProxy to Gateway + +To attach the `ngf-proxy-config` NginxProxy to a Gateway: ```shell -kubectl edit gatewayclass nginx +kubectl edit gateway ``` This will open your default editor, allowing you to add the following to the `spec`: ```yaml -parametersRef: - group: gateway.nginx.org - kind: NginxProxy - name: ngf-proxy-config +infrastructure: + parametersRef: + group: gateway.nginx.org + kind: NginxProxy + name: ngf-proxy-config ``` -After updating, you can check the status of the GatewayClass to see if the configuration is valid: +{{< note >}} The `NginxProxy` resource must reside in the same namespace as the Gateway it is attached to. {{< /note >}} + +After updating, you can check the status of the Gateway to see if the configuration is valid: ```shell -kubectl describe gatewayclasses nginx +kubectl describe gateway ``` ```text @@ -123,13 +248,13 @@ If everything is valid, the `ResolvedRefs` condition should be `True`. Otherwise ## Configure the data plane log level -You can use the `NginxProxy` resource to dynamically configure the Data Plane Log Level. +You can use the `NginxProxy` resource to dynamically configure the log level. The following command creates a basic `NginxProxy` configuration that sets the log level to `warn` instead of the default value of `info`: ```yaml kubectl apply -f - <}}). {{< note >}}For `debug` logging to work, NGINX needs to be built with `--with-debug` or "in debug mode". NGINX Gateway Fabric can easily @@ -151,23 +274,33 @@ of a few arguments. {{}} ### Run NGINX Gateway Fabric with NGINX in debug mode -To run NGINX Gateway Fabric with NGINX in debug mode, follow the [installation document]({{< ref "/ngf/installation/installing-ngf" >}}) with these additional steps: +To run NGINX Gateway Fabric with NGINX in debug mode, during [installation]({{< ref "/ngf/install/" >}}), follow these additional steps: -Using Helm: Set `nginx.debug` to true. +- **Helm**: Set _nginx.debug_ to _true_. +- **Manifests**: Set _spec.kubernetes.deployment.container.debug_ field in the _NginxProxy_ resource to _true_. -Using Kubernetes Manifests: Under the `nginx` container of the deployment manifest, add `-c` and `rm -rf /var/run/nginx/*.sock && nginx-debug -g 'daemon off;'` -as arguments and add `/bin/sh` as the command. The deployment manifest should look something like this: +To change NGINX mode **after** deploying NGINX Gateway Fabric, use the _NginxProxy_ _spec.kubernetes.deployment.container.debug_ field. -```text -... -- args: - - -c - - rm -rf /var/run/nginx/*.sock && nginx-debug -g 'daemon off;' - command: - - /bin/sh -... +The following command creates a basic _NginxProxy_ configuration that sets both the NGINX mode and log level to _debug_. + +```yaml +kubectl apply -f - <}} When modifying any _deployment_ field in the _NginxProxy_ resource, any corresponding NGINX instances will be restarted. {{< /note >}} + --- ## Configure PROXY protocol and RewriteClientIP settings @@ -189,7 +322,7 @@ The following command creates an `NginxProxy` resource with `RewriteClientIP` se ```yaml kubectl apply -f - <}}). - {{< note >}} When sending curl requests to a server expecting proxy information, use the flag `--haproxy-protocol` to avoid broken header errors. {{< /note >}} + +--- + +## Configure infrastructure-related settings + +You can configure deployment and service settings for all data plane instances by editing the `NginxProxy` resource at the Gateway or GatewayClass level. These settings can also be specified under the `nginx` section in the Helm values file. You can edit things such as replicas, pod scheduling options, container resource limits, extra volume mounts, service types and load balancer settings. + +The following command creates an `NginxProxy` resource with 2 replicas, sets `container.resources.requests` to 100m CPU and 128Mi memory, configures a 90 second `pod.terminationGracePeriodSeconds`, and sets the service type to `LoadBalancer` with IP `192.87.9.1` and AWS NLB annotation. + +```yaml +kubectl apply -f - <}}). + +--- + diff --git a/content/ngf/how-to/monitoring/_index.md b/content/ngf/how-to/monitoring/_index.md deleted file mode 100644 index 81673a4df..000000000 --- a/content/ngf/how-to/monitoring/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Monitoring and troubleshooting" -url: /nginx-gateway-fabric/how-to/monitoring/ -weight: 300 ---- diff --git a/content/ngf/how-to/monitoring/dashboard.md b/content/ngf/how-to/monitoring/dashboard.md deleted file mode 100644 index 94e411879..000000000 --- a/content/ngf/how-to/monitoring/dashboard.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: NGINX Plus dashboard -weight: 300 -toc: true -type: how-to -product: NGF -docs: DOCS-1417 ---- - -Learn how to view the NGINX Plus dashboard to see real-time metrics. - ---- - -## Overview - -The NGINX Plus dashboard offers a real-time live activity monitoring interface that shows key load and performance metrics of your server infrastructure. The dashboard is enabled by default for NGINX Gateway Fabric deployments that use NGINX Plus as the data plane. The dashboard is available on port 8765. - -To access the dashboard: - -1. Use port-forwarding to forward connections to port 8765 on your local machine to port 8765 on the NGINX Gateway Fabric pod (replace `` with the actual name of the pod). - - ```shell - kubectl port-forward 8765:8765 -n nginx-gateway - ``` - -1. Open your browser to [http://127.0.0.1:8765/dashboard.html](http://127.0.0.1:8765/dashboard.html) to access the dashboard. - -The dashboard will look like this: - -{{< img src="/ngf/img/nginx-plus-dashboard.png" alt="">}} - -{{< note >}} The [API](https://nginx.org/en/docs/http/ngx_http_api_module.html) used by the dashboard for metrics is also accessible using the `/api` path. {{< /note >}} diff --git a/content/ngf/how-to/scaling.md b/content/ngf/how-to/scaling.md new file mode 100644 index 000000000..22d181cdf --- /dev/null +++ b/content/ngf/how-to/scaling.md @@ -0,0 +1,96 @@ +--- +title: Scaling the control plane and data plane +weight: 700 +toc: true +type: how-to +product: NGF +docs: DOCS-0000 +--- + +This document describes how you can separately scale the NGINX Gateway Fabric control plane and data plane. + +It provides guidance on how to scale each plane effectively, and when you should do so based on your traffic patterns. + + +### Scaling the data plane + +The data plane is the NGINX deployment that handles user traffic to backend applications. Every Gateway object created provisions its own NGINX deployment and configuration. + +You have two options for scaling the data plane: + +- Increasing the number of replicas for an existing deployment +- Creating a new Gateway for a new data plane + +#### When to increase replicas or create a new Gateway + +Understanding when to increase replicas or create a new Gateway is key to managing traffic effectively. + +Increasing data plane replicas is ideal when you need to handle more traffic without changing the configuration. + +For example, if you're routing traffic to `api.example.com` and notice an increase in load, you can scale the replicas from 1 to 5 to better distribute the traffic and reduce latency. + +All replicas will share the same configuration from the Gateway used to set up the data plane, simplifying configuration management. + +There are two ways to modify the number of replicas for an NGINX deployment: + +First, at the time of installation you can modify the field `nginx.replicas` in the `values.yaml` or add the `--set nginx.replicas=` flag to the `helm install` command: + +```shell +helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namespace -n nginx-gateway --set nginx.replicas=5 +``` + +Secondly, you can update the `NginxProxy` resource while NGINX is running to modify the `kubernetes.deployment.replicas` field and scale the data plane deployment dynamically: + +```shell +kubectl edit nginxproxies.gateway.nginx.org ngf-proxy-config -n nginx-gateway +``` + +The alternate way to scale the data plane is by creating a new Gateway. This is beneficial when you need distinct configurations, isolation, or separate policies. + +For example, if you're routing traffic to a new domain `admin.example.com` and require a different TLS certificate, stricter rate limits, or separate authentication policies, creating a new Gateway could be a good approach. + +It allows for safe experimentation with isolated configurations and makes it easier to enforce security boundaries and specific routing rules. + +### Scaling the control plane + +The control plane builds configuration based on defined Gateway API resources and sends that configuration to the NGINX data planes. With leader election enabled by default, the control plane can be scaled horizontally by running multiple replicas, although only the pod with leader lease can actively manage configuration status updates. + +Scaling the control plane can be beneficial in the following scenarios: + +1. _Higher availability_ - When a control plane pod crashes, runs out of memory, or goes down during an upgrade, it can interrupt configuration delivery. By scaling to multiple replicas, another pod can quickly step in and take over, keeping things running smoothly with minimal downtime. +1. _Faster configuration distribution_ - As the number of connected NGINX instances grows, a single control plane pod may become a bottleneck in handling connections or streaming configuration updates. Scaling the control plane improves concurrency and responsiveness when delivering configuration over gRPC. + +To scale the control plane, use the `kubectl scale` command on the control plane deployment to increase or decrease the number of replicas. For example, the following command scales the control plane deployment to 3 replicas: + + ```shell + kubectl scale deployment -n nginx-gateway ngf-nginx-gateway-fabric --replicas 3 + ``` + +#### Known risks when scaling the control plane + +When scaling the control plane, it's important to understand how status updates are handled for Gateway API resources. + +All control plane pods can send NGINX configuration to the data planes. However, only the leader control plane pod is allowed to write status updates to Gateway API resources. + +If an NGINX instance connects to a non-leader pod, and an error occurs when applying the config, that error status will not be written to the Gateway object status. + +To mitigate the potential for this issue, ensure that the number of NGINX data plane pods equals or exceeds the number of control plane pods. + +This increases the likelihood that at least one of the data planes is connected to the leader control plane pod. If an applied configuration has an error, the leader pod will be aware of it and status can still be written. + +There is still a chance (however unlikely) that one of the data planes connected to a non-leader has an issue applying its configuration, while the rest of the data planes are successful, which could lead to that error status not being written. + +To identify which control plane pod currently holds the leader election lease, retrieve the leases in the same namespace as the control plane pods. For example: + +```shell +kubectl get leases -n nginx-gateway +``` + +The current leader lease is held by the pod `ngf-nginx-gateway-fabric-b45ffc8d6-d9z2g`: + +```shell +NAME HOLDER AGE +ngf-nginx-gateway-fabric-leader-election ngf-nginx-gateway-fabric-b45ffc8d6-d9z2g_2ef81ced-f19d-41a0-9fcd-a68d89380d10 16d +``` + +--- \ No newline at end of file diff --git a/content/ngf/how-to/traffic-management/_index.md b/content/ngf/how-to/traffic-management/_index.md deleted file mode 100644 index f94f827ce..000000000 --- a/content/ngf/how-to/traffic-management/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Traffic management" -url: /nginx-gateway-fabric/how-to/traffic-management/ -weight: 100 ---- diff --git a/content/ngf/how-to/traffic-security/_index.md b/content/ngf/how-to/traffic-security/_index.md deleted file mode 100644 index eaea647d8..000000000 --- a/content/ngf/how-to/traffic-security/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Traffic security" -url: /nginx-gateway-fabric/how-to/traffic-security -weight: 200 ---- \ No newline at end of file diff --git a/content/ngf/how-to/upgrade-apps-without-downtime.md b/content/ngf/how-to/upgrade-apps-without-downtime.md index e66edd9ba..71e570f0b 100644 --- a/content/ngf/how-to/upgrade-apps-without-downtime.md +++ b/content/ngf/how-to/upgrade-apps-without-downtime.md @@ -1,6 +1,6 @@ --- title: Upgrade applications without downtime -weight: 500 +weight: 600 toc: true type: how-to product: NGF diff --git a/content/ngf/install/_index.md b/content/ngf/install/_index.md new file mode 100644 index 000000000..64db7a6ee --- /dev/null +++ b/content/ngf/install/_index.md @@ -0,0 +1,5 @@ +--- +title: "Install" +url: /nginx-gateway-fabric/install/ +weight: 300 +--- diff --git a/content/ngf/installation/building-the-images.md b/content/ngf/install/build-image.md similarity index 83% rename from content/ngf/installation/building-the-images.md rename to content/ngf/install/build-image.md index 5c81a28a1..7e229f4c1 100644 --- a/content/ngf/installation/building-the-images.md +++ b/content/ngf/install/build-image.md @@ -1,17 +1,15 @@ --- title: Build NGINX Gateway Fabric -weight: 500 +weight: 400 toc: true -type: how-to -product: NGF -docs: DOCS-1431 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-1431 --- ## Overview -While most users will install NGINX Gateway Fabric [with Helm]({{< ref "/ngf/installation/installing-ngf/helm.md" >}}) or [Kubernetes manifests]({{< ref "/ngf/installation/installing-ngf/manifests.md" >}}), manually building the [NGINX Gateway Fabric and NGINX images]({{< ref "/ngf/overview/gateway-architecture.md#the-nginx-gateway-fabric-pod" >}}) can be helpful for testing and development purposes. Follow the steps in this document to build the NGINX Gateway Fabric and NGINX images. - ---- +While most users will install NGINX Gateway Fabric [with Helm]({{< ref "/ngf/install/helm.md" >}}) or [Kubernetes manifests]({{< ref "/ngf/install/manifests.md" >}}), manually building the [NGINX Gateway Fabric and NGINX images]({{< ref "/ngf/overview/gateway-architecture.md#the-nginx-gateway-fabric-pod" >}}) can be helpful for testing and development purposes. Follow the steps in this document to build the NGINX Gateway Fabric and NGINX images. ## Before you begin @@ -25,7 +23,6 @@ installed on your machine: If building the NGINX Plus image, you will also need a valid NGINX Plus license certificate (`nginx-repo.crt`) and key (`nginx-repo.key`) in the root of the repo. ---- ## Steps diff --git a/content/ngf/install/deploy-data-plane.md b/content/ngf/install/deploy-data-plane.md new file mode 100644 index 000000000..114613026 --- /dev/null +++ b/content/ngf/install/deploy-data-plane.md @@ -0,0 +1,242 @@ +--- +title: Deploy a Gateway for data plane instances +weight: 600 +toc: true +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-000 +--- + +## Overview + +This document describes how to use a Gateway to deploy the NGINX data plane, and how to modify it using an NGINX custom resource. + +[A Gateway](https://gateway-api.sigs.k8s.io/concepts/api-overview/#gateway) is used to manage all inbound requests, and is a key Gateway API resource. + +When a Gateway is attached to a GatewayClass associated with NGINX Gateway Fabric, it creates a Service and an NGINX deployment. This forms the NGINX data plane, handling requests. + +A single GatewayClass can have multiple Gateways: each Gateway will create a separate Service and NGINX deployment. + +## Before you begin + +- [Install]({{< ref "/ngf/install/" >}}) NGINX Gateway Fabric. + +## Create a Gateway + +To deploy a Gateway, run the following command: + +```yaml +kubectl apply -f - < 80:30180/TCP 5m2s +``` + +The Service type can be changed, as explained in the next section. + +## Modify provisioned NGINX instances + +The NginxProxy custom resource can modify the provisioning of the Service object and NGINX deployment when a Gateway is created. + +{{< note >}} Updating most Kubernetes related fields in NginxProxy will trigger a restart of the related resources. {{< /note >}} + +An NginxProxy resource is created by default after deploying NGINX Gateway Fabric. This NginxProxy resource is attached to the GatewayClass (created on NGINX Gateway Fabric installation), and +its settings are applied globally to all Gateways. + +Use `kubectl get` and `kubectl describe` to get some more information on the resource: + +```shell +kubectl get nginxproxies -A +``` +```text +NAMESPACE NAME AGE +nginx-gateway ngf-proxy-config 19h +``` + +```shell +kubectl describe nginxproxy -n nginx-gateway ngf-proxy-config +``` +```text +Name: ngf-proxy-config +Namespace: nginx-gateway +Labels: app.kubernetes.io/instance=ngf + app.kubernetes.io/managed-by=Helm + app.kubernetes.io/name=nginx-gateway-fabric + app.kubernetes.io/version=edge + helm.sh/chart=nginx-gateway-fabric-1.6.2 +Annotations: meta.helm.sh/release-name: ngf + meta.helm.sh/release-namespace: nginx-gateway +API Version: gateway.nginx.org/v1alpha2 +Kind: NginxProxy +Metadata: + Creation Timestamp: 2025-05-05T23:01:28Z + Generation: 1 + Resource Version: 2245 + UID: b545aa9e-74f8-45c0-b472-f14d3cab936f +Spec: + Ip Family: dual + Kubernetes: + Deployment: + Container: + Image: + Pull Policy: IfNotPresent + Repository: nginx-gateway-fabric/nginx + Tag: edge + Replicas: 1 + Service: + External Traffic Policy: Local + Type: LoadBalancer +Events: +``` + +From the information obtained with `kubectl describe` you can see the default settings for the provisioned NGINX Deployment and Service. +Under `Spec.Kubernetes` you can see a few things: +- The NGINX container image settings +- How many NGINX Deployment replicas are specified +- The type of Service and external traffic policy + +{{< note >}} Depending on installation configuration, the default NginxProxy settings may be slightly different from what is shown in the example. +For more information on NginxProxy and its configurable fields, see the [API reference]({{< ref "/ngf/reference/api.md" >}}). {{< /note >}} + +Modify the NginxProxy resource to change the type of Service. + +Use `kubectl edit` to modify the default NginxProxy and insert the following under `spec.kubernetes.service`: + +```yaml +type: NodePort +``` + +After saving the changes, use `kubectl get` on the service, and you should see the service type has changed to `LoadBalancer`. + +```shell +kubectl get service cafe-nginx +``` +```text +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +cafe-nginx NodePort 10.96.172.204 80:32615/TCP 3h5m +``` + +### Set annotations and labels on provisioned resources + +While the majority of configuration will happen on the NginxProxy resource, that is not always the case. Uniquely, if +you want to set any annotations or labels on the NGINX Deployment or Service, you need to set those annotations on the Gateway which +provisioned them. + +You can use `kubectl edit` on the Gateway and add the following to the `spec`: + +```yaml +infrastructure: + annotations: + annotationKey: annotationValue + labels: + labelKey: labelValue +``` + +After saving the changes, check the Service and NGINX deployment with `kubectl describe`. + +```shell +kubectl describe deployment cafe +``` +```text +Name: cafe-nginx +Namespace: default +CreationTimestamp: Mon, 05 May 2025 16:49:33 -0700 +... +Pod Template: + Labels: app.kubernetes.io/instance=ngf + app.kubernetes.io/managed-by=ngf-nginx + app.kubernetes.io/name=cafe-nginx + gateway.networking.k8s.io/gateway-name=cafe + labelKey=labelValue + Annotations: annotationKey: annotationValue + prometheus.io/port: 9113 + prometheus.io/scrape: true +... +``` + +```shell +kubectl describe service cafe-nginx +``` +```text +Name: cafe-nginx +Namespace: default +Labels: app.kubernetes.io/instance=ngf + app.kubernetes.io/managed-by=ngf-nginx + app.kubernetes.io/name=cafe-nginx + gateway.networking.k8s.io/gateway-name=cafe + labelKey=labelValue +Annotations: annotationKey: annotationValue +``` + +## See also + +For more guides on routing traffic to applications and more information on Data Plane configuration, check out the following resources: + +- [Routing traffic to applications]({{< ref "/ngf/traffic-management/basic-routing.md" >}}) +- [Application routes using HTTP matching conditions]({{< ref "/ngf/traffic-management/advanced-routing.md" >}}) +- [Data plane configuration]({{< ref "/ngf/how-to/data-plane-configuration.md" >}}) +- [API reference]({{< ref "/ngf/reference/api.md" >}}) \ No newline at end of file diff --git a/content/ngf/installation/installing-ngf/helm.md b/content/ngf/install/helm.md similarity index 52% rename from content/ngf/installation/installing-ngf/helm.md rename to content/ngf/install/helm.md index dd859a459..7c997fb3e 100644 --- a/content/ngf/installation/installing-ngf/helm.md +++ b/content/ngf/install/helm.md @@ -1,24 +1,24 @@ --- -title: Installation with Helm -weight: 100 +title: Install NGINX Gateway Fabric with Helm +weight: 200 toc: true -type: how-to -product: NGF -docs: DOCS-1430 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-1430 --- ## Overview Learn how to install, upgrade, and uninstall NGINX Gateway Fabric in a Kubernetes cluster using Helm. ---- ## Before you begin -To complete this guide, you'll need to install: +To complete this guide, you will need: - [kubectl](https://kubernetes.io/docs/tasks/tools/), a command-line tool for managing Kubernetes clusters. - [Helm 3.0 or later](https://helm.sh/docs/intro/install/), for deploying and managing applications on Kubernetes. +- [Add certificates for secure authentication]({{< ref "/ngf/install/secure-certificates.md" >}}) in a production environment. {{< important >}} If you’d like to use NGINX Plus, some additional setup is also required: {{}} @@ -39,19 +39,16 @@ To complete this guide, you'll need to install: {{< include "/ngf/installation/nginx-plus/nginx-plus-secret.md" >}} -{{< note >}} For more information on why this is needed and additional configuration options, including how to report to NGINX Instance Manager instead, see the [NGINX Plus Image and JWT Requirement]({{< ref "/ngf/installation/nginx-plus-jwt.md" >}}) document. {{< /note >}} +{{< note >}} For more information on why this is needed and additional configuration options, including how to report to NGINX Instance Manager instead, see the [NGINX Plus Image and JWT Requirement]({{< ref "/ngf/install/nginx-plus.md" >}}) document. {{< /note >}}

      ---- - ## Deploy NGINX Gateway Fabric ### Installing the Gateway API resources {{< include "/ngf/installation/install-gateway-api-resources.md" >}} ---- ### Install from the OCI registry @@ -76,7 +73,7 @@ helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namesp To install the latest stable release of NGINX Gateway Fabric in the **nginx-gateway** namespace, run the following command: ```shell -helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --set nginx.image.repository=private-registry.nginx.com/nginx-gateway-fabric/nginx-plus --set nginx.plus=true --set serviceAccount.imagePullSecret=nginx-plus-registry-secret -n nginx-gateway +helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --set nginx.image.repository=private-registry.nginx.com/nginx-gateway-fabric/nginx-plus --set nginx.plus=true --set nginx.imagePullSecret=nginx-plus-registry-secret -n nginx-gateway ``` {{% /tab %}} @@ -93,8 +90,6 @@ To wait for the Deployment to be ready, you can either add the `--wait` flag to kubectl wait --timeout=5m -n nginx-gateway deployment/ngf-nginx-gateway-fabric --for=condition=Available ``` ---- - ### Install from sources {#install-from-sources} If you prefer to install directly from sources, instead of through the OCI helm registry, use the following steps. @@ -120,7 +115,7 @@ helm install ngf . --create-namespace -n nginx-gateway To install the chart into the **nginx-gateway** namespace, run the following command: ```shell -helm install ngf . --set nginx.image.repository=private-registry.nginx.com/nginx-gateway-fabric/nginx-plus --set nginx.plus=true --set serviceAccount.imagePullSecret=nginx-plus-registry-secret -n nginx-gateway +helm install ngf . --set nginx.image.repository=private-registry.nginx.com/nginx-gateway-fabric/nginx-plus --set nginx.plus=true --set nginx.imagePullSecret=nginx-plus-registry-secret -n nginx-gateway ``` {{% /tab %}} @@ -135,8 +130,6 @@ To wait for the Deployment to be ready, you can either add the `--wait` flag to kubectl wait --timeout=5m -n nginx-gateway deployment/ngf-nginx-gateway-fabric --for=condition=Available ``` ---- - ### Custom installation options #### Service type @@ -146,17 +139,9 @@ By default, the NGINX Gateway Fabric helm chart deploys a LoadBalancer Service. To use a NodePort Service instead: ```shell -helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namespace -n nginx-gateway --set service.type=NodePort -``` - -To disable the creation of a Service: - -```shell -helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namespace -n nginx-gateway --set service.create=false +helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namespace -n nginx-gateway --set nginx.service.type=NodePort ``` ---- - #### Experimental features We support a subset of the additional features provided by the Gateway API experimental channel. To enable the @@ -168,159 +153,15 @@ helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namesp {{< note >}} Requires the Gateway APIs installed from the experimental channel. {{< /note >}} ---- #### Examples You can find several examples of configuration options of the `values.yaml` file in the [helm examples](https://github.com/nginx/nginx-gateway-fabric/tree/v{{< version-ngf >}}/examples/helm) directory. ---- - ### Access NGINX Gateway Fabric {{< include "/ngf/installation/expose-nginx-gateway-fabric.md" >}} ---- - -## Upgrade NGINX Gateway Fabric - -{{< important >}} NGINX Plus users that are upgrading from version 1.4.0 to 1.5.x need to install an NGINX Plus JWT -Secret before upgrading. Follow the steps in the [Before you begin](#before-you-begin) section to create the Secret. If you use a different name than the default `nplus-license` name, specify the Secret name by setting `--set nginx.usage.secretName=` when running `helm upgrade`. {{< /important >}} - -{{< tip >}} For guidance on zero downtime upgrades, see the [Delay Pod Termination](#configure-delayed-pod-termination-for-zero-downtime-upgrades) section below. {{< /tip >}} - -To upgrade NGINX Gateway Fabric and get the latest features and improvements, take the following steps: - ---- - -### Upgrade Gateway resources - -{{< include "/ngf/installation/upgrade-api-resources.md" >}} - ---- - -### Upgrade NGINX Gateway Fabric CRDs - -Helm's upgrade process does not automatically upgrade the NGINX Gateway Fabric CRDs (Custom Resource Definitions). - -To upgrade the CRDs, take the following steps: - -1. {{< include "/ngf/installation/helm/pulling-the-chart.md" >}} - -2. Upgrade the CRDs: - - ```shell - kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/deploy/crds.yaml - ``` - - {{}}Ignore the following warning, as it is expected.{{}} - - ```text - Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply. - ``` - ---- - -### Upgrade NGINX Gateway Fabric release - -{{< important >}} NGINX Plus users that are upgrading from version 1.4.0 to 1.5.x need to install an NGINX Plus JWT -Secret before upgrading. Follow the steps in the [Before you begin](#before-you-begin) section to create the Secret. If you use a different name than the default `nplus-license` name, specify the Secret name by setting `--set nginx.usage.secretName=` when running `helm upgrade`. {{< /important >}} - -There are two possible ways to upgrade NGINX Gateway Fabric. You can either upgrade from the OCI registry, or download the chart and upgrade from the source. - ---- - -#### Upgrade from the OCI registry - -To upgrade to the latest stable release of NGINX Gateway Fabric, run: - -```shell -helm upgrade ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric -n nginx-gateway -``` - -If needed, replace `ngf` with your chosen release name. - ---- - -#### Upgrade from sources - -{{< include "/ngf/installation/helm/pulling-the-chart.md" >}} - -To upgrade, run: the following command: - -```shell -helm upgrade ngf . -n nginx-gateway -``` - -If needed, replace `ngf` with your chosen release name. - ---- - -## How to upgrade from NGINX OSS to NGINX Plus - -To upgrade from NGINX OSS to NGINX Plus, update the Helm command to include the necessary values for Plus: - -{{< note >}} If applicable, replace the F5 Container registry `private-registry.nginx.com` with your internal registry for your NGINX Plus image, and replace `nginx-plus-registry-secret` with your Secret name containing the registry credentials.{{< /note >}} - -{{< important >}} Ensure that you [Create the required JWT Secrets]({{< ref "/ngf/installation/nginx-plus-jwt.md" >}}) before installing.{{< /important >}} - -```shell -helm upgrade ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --set nginx.image.repository=private-registry.nginx.com/nginx-gateway-fabric/nginx-plus --set nginx.plus=true --set serviceAccount.imagePullSecret=nginx-plus-registry-secret -n nginx-gateway -``` - -If needed, replace `ngf` with your chosen release name. - ---- - -## Delay pod termination for zero downtime upgrades {#configure-delayed-pod-termination-for-zero-downtime-upgrades} - -{{< include "/ngf/installation/delay-pod-termination/delay-pod-termination-overview.md" >}} - -Follow these steps to configure delayed pod termination: - -1. Open the `values.yaml` for editing. - -1. **Add delayed shutdown hooks**: - - - In the `values.yaml` file, add `lifecycle: preStop` hooks to both the `nginx` and `nginx-gateway` container definitions. These hooks instruct the containers to delay their shutdown process, allowing time for connections to close gracefully. Update the `sleep` value to what works for your environment. - - ```yaml - nginxGateway: - <...> - lifecycle: - preStop: - exec: - command: - - /usr/bin/gateway - - sleep - - --duration=40s # This flag is optional, the default is 30s - - nginx: - <...> - lifecycle: - preStop: - exec: - command: - - /bin/sleep - - "40" - ``` - -1. **Set the termination grace period**: - - - {{< include "/ngf/installation/delay-pod-termination/termination-grace-period.md">}} - -1. Save the changes. - -{{}} -For additional information on configuring and understanding the behavior of containers and pods during their lifecycle, refer to the following Kubernetes documentation: - -- [Container Lifecycle Hooks](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks) -- [Pod Lifecycle](https://kubernetes.io/docs/concepts/workloads/Pods/Pod-lifecycle/#Pod-termination) - -{{}} - ---- - ## Uninstall NGINX Gateway Fabric Follow these steps to uninstall NGINX Gateway Fabric and Gateway API from your Kubernetes cluster: @@ -348,8 +189,9 @@ Follow these steps to uninstall NGINX Gateway Fabric and Gateway API from your K - {{< include "/ngf/installation/uninstall-gateway-api-resources.md" >}} ---- +## Next steps -## Additional configuration +- [Deploy a Gateway for data plane instances]({{< ref "/ngf/install/deploy-data-plane.md" >}}) +- [Routing traffic to applications]({{< ref "/ngf/traffic-management/basic-routing.md" >}}) For a full list of the Helm Chart configuration parameters, read [the NGINX Gateway Fabric Helm Chart](https://github.com/nginx/nginx-gateway-fabric/blob/v{{< version-ngf >}}/charts/nginx-gateway-fabric/README.md#configuration). diff --git a/content/ngf/installation/installing-ngf/manifests.md b/content/ngf/install/manifests.md similarity index 64% rename from content/ngf/installation/installing-ngf/manifests.md rename to content/ngf/install/manifests.md index 50384c205..59ca928b5 100644 --- a/content/ngf/installation/installing-ngf/manifests.md +++ b/content/ngf/install/manifests.md @@ -1,23 +1,22 @@ --- -title: Installation with Manifests +title: Install NGINX Gateway Fabric with Manifests weight: 200 toc: true -type: how-to -product: NGF -docs: DOCS-1429 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-1429 --- ## Overview Learn how to install, upgrade, and uninstall NGINX Gateway Fabric using Kubernetes manifests. ---- - ## Before you begin To complete this guide, you'll need to install: - [kubectl](https://kubernetes.io/docs/tasks/tools/), a command-line interface for managing Kubernetes clusters. +- [Add certificates for secure authentication]({{< ref "/ngf/install/secure-certificates.md" >}}) in a production environment. {{< important >}} If you’d like to use NGINX Plus, some additional setup is also required: {{}} @@ -38,24 +37,18 @@ To complete this guide, you'll need to install: {{< include "/ngf/installation/nginx-plus/nginx-plus-secret.md" >}} -{{< note >}} For more information on why this is needed and additional configuration options, including how to report to NGINX Instance Manager instead, see the [NGINX Plus Image and JWT Requirement]({{< ref "/ngf/installation/nginx-plus-jwt.md" >}}) document. {{< /note >}} +{{< note >}} For more information on why this is needed and additional configuration options, including how to report to NGINX Instance Manager instead, see the [NGINX Plus Image and JWT Requirement]({{< ref "/ngf/install/nginx-plus.md" >}}) document. {{< /note >}} ---- - ## Deploy NGINX Gateway Fabric Deploying NGINX Gateway Fabric with Kubernetes manifests takes only a few steps. With manifests, you can configure your deployment exactly how you want. Manifests also make it easy to replicate deployments across environments or clusters, ensuring consistency. ---- - ### Install the Gateway API resources {{< include "/ngf/installation/install-gateway-api-resources.md" >}} ---- - ### Deploy the NGINX Gateway Fabric CRDs #### Stable release @@ -70,8 +63,6 @@ kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{ kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/main/deploy/crds.yaml ``` ---- - ### Deploy NGINX Gateway Fabric {{< note >}} By default, NGINX Gateway Fabric is installed in the **nginx-gateway** namespace. You can deploy in another namespace by modifying the manifest files. {{< /note >}} @@ -90,10 +81,20 @@ kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{ {{%tab name="AWS NLB"%}} -Deploys NGINX Gateway Fabric with NGINX OSS and an AWS Network Load Balancer service. +Deploys NGINX Gateway Fabric with NGINX OSS. ```shell -kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/deploy/aws-nlb/deploy.yaml +kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/deploy/default/deploy.yaml +``` + +To set up an AWS Network Load Balancer service, add these annotations to your Gateway infrastructure field: + +```yaml +spec: + infrastructure: + annotations: + service.beta.kubernetes.io/aws-load-balancer-type: "external" + service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: "ip" ``` {{% /tab %}} @@ -168,8 +169,6 @@ kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{ {{}} ---- - ### Verify the Deployment To confirm that NGINX Gateway Fabric is running, check the pods in the `nginx-gateway` namespace: @@ -182,95 +181,13 @@ The output should look similar to this (note that the pod name will include a un ```text NAME READY STATUS RESTARTS AGE -nginx-gateway-5d4f4c7db7-xk2kq 2/2 Running 0 112s +nginx-gateway-5d4f4c7db7-xk2kq 1/1 Running 0 112s ``` ---- - ### Access NGINX Gateway Fabric {{< include "/ngf/installation/expose-nginx-gateway-fabric.md" >}} ---- - -## Upgrade NGINX Gateway Fabric - -{{< important >}} NGINX Plus users that are upgrading from version 1.4.0 to 1.5.x need to install an NGINX Plus JWT -Secret before upgrading. Follow the steps in the [Before you begin](#before-you-begin) section to create the Secret, which is referenced in the updated deployment manifest for the newest version. {{< /important >}} - -{{< tip >}} For guidance on zero downtime upgrades, see the [Delay Pod Termination](#configure-delayed-pod-termination-for-zero-downtime-upgrades) section. {{}} - -To upgrade NGINX Gateway Fabric and get the latest features and improvements, take the following steps: - -### Upgrade Gateway API resources - -{{< include "/ngf/installation/upgrade-api-resources.md" >}} - -### Upgrade NGINX Gateway Fabric CRDs - -To upgrade the Custom Resource Definitions (CRDs), run: - -```shell -kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/deploy/crds.yaml -``` - -### Upgrade NGINX Gateway Fabric deployment - -Select the deployment manifest that matches your current deployment from the table above in the [Deploy NGINX Gateway Fabric](#deploy-nginx-gateway-fabric) section and apply it. - ---- - -## Delay pod termination for zero downtime upgrades {#configure-delayed-pod-termination-for-zero-downtime-upgrades} - -{{< include "/ngf/installation/delay-pod-termination/delay-pod-termination-overview.md" >}} - -Follow these steps to configure delayed pod termination: - -1. Open the `deploy.yaml` for editing. - -1. **Add delayed shutdown hooks**: - - - In the `deploy.yaml` file, add `lifecycle: preStop` hooks to both the `nginx` and `nginx-gateway` container definitions. These hooks instruct the containers to delay their shutdown process, allowing time for connections to close gracefully. Update the `sleep` value to what works for your environment. - - ```yaml - <...> - name: nginx-gateway - <...> - lifecycle: - preStop: - exec: - command: - - /usr/bin/gateway - - sleep - - --duration=40s # This flag is optional, the default is 30s - <...> - name: nginx - <...> - lifecycle: - preStop: - exec: - command: - - /bin/sleep - - "40" - <...> - ``` - -1. **Set the termination grace period**: - - - {{< include "/ngf/installation/delay-pod-termination/termination-grace-period.md" >}} - -1. Save the changes. - -{{< see-also >}} -For additional information on configuring and understanding the behavior of containers and pods during their lifecycle, refer to the following Kubernetes documentation: - -- [Container Lifecycle Hooks](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks) -- [Pod Lifecycle](https://kubernetes.io/docs/concepts/workloads/Pods/Pod-lifecycle/#Pod-termination) - -{{< /see-also >}} - ---- - ## Uninstall NGINX Gateway Fabric Follow these steps to uninstall NGINX Gateway Fabric and Gateway API from your Kubernetes cluster: @@ -292,3 +209,8 @@ Follow these steps to uninstall NGINX Gateway Fabric and Gateway API from your K 1. **Remove the Gateway API resources:** - {{< include "/ngf/installation/uninstall-gateway-api-resources.md" >}} + +## Next steps + +- [Deploy a Gateway for data plane instances]({{< ref "/ngf/install/deploy-data-plane.md" >}}) +- [Routing traffic to applications]({{< ref "/ngf/traffic-management/basic-routing.md" >}}) \ No newline at end of file diff --git a/content/ngf/installation/nginx-plus-jwt.md b/content/ngf/install/nginx-plus.md similarity index 76% rename from content/ngf/installation/nginx-plus-jwt.md rename to content/ngf/install/nginx-plus.md index fc3241052..4c7eb0e17 100644 --- a/content/ngf/installation/nginx-plus-jwt.md +++ b/content/ngf/install/nginx-plus.md @@ -1,10 +1,10 @@ --- -title: NGINX Plus and JWT +title: Install NGINX Gateway Fabric with NGINX Plus weight: 300 toc: true -type: how-to -product: NGF -docs: DOCS-000 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-000 --- ## Overview @@ -13,9 +13,9 @@ NGINX Gateway Fabric with NGINX Plus requires a valid JSON Web Token (JWT) to do This requirement is part of F5’s broader licensing program and aligns with industry best practices. The JWT will streamline subscription renewals and usage reporting, helping you manage your NGINX Plus subscription more efficiently. The [telemetry](#telemetry) data we collect helps us improve our products and services to better meet your needs. -The JWT is required for validating your subscription and reporting telemetry data. For environments connected to the internet, telemetry is automatically sent to F5’s licensing endpoint. In offline environments, telemetry is routed through [NGINX Instance Manager](https://docs.nginx.com/nginx-instance-manager/). Usage is reported every hour and on startup whenever NGINX is reloaded. +The JWT is required for validating your subscription and reporting telemetry data. For environments connected to the internet, telemetry is automatically sent to F5’s licensing endpoint. In offline environments, telemetry is routed through [NGINX Instance Manager]({{< ref "/nim/" >}}). Usage is reported every hour and on startup whenever NGINX is reloaded. ---- +{{< note >}} The following Secrets should be created in the same namespace as the NGINX Gateway Fabric control plane (default: nginx-gateway). The control plane will copy these Secrets into any namespaces where NGINX gets deployed. If you need to update the Secrets, update the originals that you created in the control plane namespace, and the control plane will propagate those updates to all duplicated Secrets. {{< /note >}} ## Set up the JWT @@ -23,14 +23,10 @@ The JWT needs to be configured before deploying NGINX Gateway Fabric. The JWT wi {{< include "/ngf/installation/jwt-password-note.md" >}} ---- - ### Download the JWT from MyF5 {{< include "/ngf/installation/nginx-plus/download-jwt.md" >}} ---- - ### Docker Registry Secret {{< include "/ngf/installation/nginx-plus/docker-registry-secret.md" >}} @@ -41,20 +37,18 @@ Provide the name of this Secret when installing NGINX Gateway Fabric: {{%tab name="Helm"%}} -Specify the Secret name using the `serviceAccount.imagePullSecret` or `serviceAccount.imagePullSecrets` helm value. +Specify the Secret name using the `nginx.imagePullSecret` or `nginx.imagePullSecrets` helm value. {{% /tab %}} {{%tab name="Manifests"%}} -Specify the Secret name in the `imagePullSecrets` field of the `nginx-gateway` ServiceAccount. +Specify the Secret name in the `nginx-docker-secret` command-line argument of the `nginx-gateway` container. {{% /tab %}} {{}} ---- - ### NGINX Plus Secret {{< include "/ngf/installation/nginx-plus/nginx-plus-secret.md" >}} @@ -73,29 +67,11 @@ Specify the Secret name using the `nginx.usage.secretName` helm value. Specify the Secret name in the `--usage-report-secret` command-line flag on the `nginx-gateway` container. -You also need to define the proper volume mount to mount the Secret to the nginx container. If it doesn't already exist, add the following volume to the Deployment: - -```yaml -- name: nginx-plus-license - secret: - secretName: nplus-license -``` - -and the following volume mount to the `nginx` container: - -```yaml -- mountPath: /etc/nginx/license.jwt - name: nginx-plus-license - subPath: license.jwt -``` - {{% /tab %}} {{}} -{{< note >}} If you are reporting to the default licensing endpoint, then you can now proceed with [installing NGINX Gateway Fabric]({{< ref "/ngf/installation/installing-ngf" >}}). Otherwise, follow the steps below to configure reporting to NGINX Instance Manager. {{< /note >}} - ---- +{{< note >}} If you are reporting to the default licensing endpoint, then you can now proceed with [installing NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}). Otherwise, follow the steps below to configure reporting to NGINX Instance Manager. {{< /note >}} ### Reporting to NGINX Instance Manager {#nim} @@ -113,18 +89,12 @@ Specify the endpoint using the `nginx.usage.endpoint` helm value. {{%tab name="Manifests"%}} -Specify the endpoint in the `--usage-report-endpoint` command-line flag on the `nginx-gateway` container. You also need to add the following line to the `mgmt` block of the `nginx-includes-bootstrap` ConfigMap: - -```text -usage_report endpoint=; -``` +Specify the endpoint in the `--usage-report-endpoint` command-line flag on the `nginx-gateway` container. {{% /tab %}} {{}} ---- - #### CA and Client certificate/key {#nim-cert} To configure a CA cert and/or client certificate and key, a few extra steps are needed. @@ -153,42 +123,13 @@ Specify the CA Secret name using the `nginx.usage.caSecretName` helm value. Spec Specify the CA Secret name in the `--usage-report-ca-secret` command-line flag on the `nginx-gateway` container. Specify the client Secret name in the `--usage-report-client-ssl-secret` command-line flag on the `nginx-gateway` container. -You also need to define the proper volume mount to mount the Secrets to the nginx container. Add the following volume to the Deployment: - -```yaml -- name: nginx-plus-usage-certs - projected: - sources: - - secret: - name: nim-ca - - secret: - name: nim-client -``` - -and the following volume mounts to the `nginx` container: - -```yaml -- mountPath: /etc/nginx/certs-bootstrap/ - name: nginx-plus-usage-certs -``` - -Finally, in the `nginx-includes-bootstrap` ConfigMap, add the following lines to the `mgmt` block: - -```text -ssl_trusted_certificate /etc/nginx/certs-bootstrap/ca.crt; -ssl_certificate /etc/nginx/certs-bootstrap/tls.crt; -ssl_certificate_key /etc/nginx/certs-bootstrap/tls.key; -``` - {{% /tab %}} {{}}
      -{{< note >}} Once these Secrets are created and configuration options are set, you can now [install NGINX Gateway Fabric]({{< ref "/ngf/installation/installing-ngf" >}}). {{< /note >}} - ---- +{{< note >}} Once these Secrets are created and configuration options are set, you can now [install NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}). {{< /note >}} ## Installation flags to configure usage reporting {#flags} @@ -205,14 +146,12 @@ If using Helm, the `nginx.usage` values should be set as necessary: If using manifests, the following command-line options should be set as necessary on the `nginx-gateway` container: -- `--usage-report-secret` should be the name of the JWT Secret you created. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). By default this field is set to `nplus-license`. A [volume mount](#nginx-plus-secret) for this Secret is required for installation. -- `--usage-report-endpoint` is the endpoint to send the telemetry data to. This is optional, and by default is `product.connect.nginx.com`. Requires [extra configuration](#nim) if specified. +- `--usage-report-secret` should be the name of the JWT Secret you created. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). By default this field is set to `nplus-license`. +- `--usage-report-endpoint` is the endpoint to send the telemetry data to. This is optional, and by default is `product.connect.nginx.com`. - `--usage-report-resolver` is the nameserver used to resolve the NGINX Plus usage reporting endpoint. This is optional and used with NGINX Instance Manager. - `--usage-report-skip-verify` disables client verification of the NGINX Plus usage reporting server certificate. -- `--usage-report-ca-secret` is the name of the Secret containing the NGINX Instance Manager CA certificate. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). Requires [extra configuration](#nim-cert) if specified. -- `--usage-report-client-ssl-secret` is the name of the Secret containing the client certificate and key for authenticating with NGINX Instance Manager. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). Requires [extra configuration](#nim-cert) if specified. - ---- +- `--usage-report-ca-secret` is the name of the Secret containing the NGINX Instance Manager CA certificate. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). +- `--usage-report-client-ssl-secret` is the name of the Secret containing the client certificate and key for authenticating with NGINX Instance Manager. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). ## What’s reported and how it’s protected {#telemetry} @@ -229,8 +168,6 @@ NGINX Plus reports the following data every hour by default: - **Usage report timestamps**: Start and end times for each usage report. - **Kubernetes node details**: Information about Kubernetes nodes. ---- - ### Security and privacy of reported data All communication between your NGINX Plus instances, NGINX Instance Manager, and F5’s licensing endpoint (`product.connect.nginx.com`) is protected using **SSL/TLS** encryption. @@ -255,10 +192,13 @@ docker pull private-registry.nginx.com/nginx-gateway-fabric/nginx-plus:{{< versi Once you have successfully pulled the image, you can tag it as needed, then push it to a different container registry. ---- - ## Alternative installation options There are alternative ways to get an NGINX Plus image for NGINX Gateway Fabric: -- [Build the Gateway Fabric image]({{< ref "/ngf/installation/building-the-images.md">}}) describes how to use the source code with an NGINX Plus subscription certificate and key to build an image. +- [Build the Gateway Fabric image]({{< ref "/ngf/install/build-image.md">}}) describes how to use the source code with an NGINX Plus subscription certificate and key to build an image. + +## Next steps + +- [Deploy a Gateway for data plane instances]({{< ref "/ngf/install/deploy-data-plane.md" >}}) +- [Routing traffic to applications]({{< ref "/ngf/traffic-management/basic-routing.md" >}}) \ No newline at end of file diff --git a/content/ngf/install/secure-certificates.md b/content/ngf/install/secure-certificates.md new file mode 100644 index 000000000..01283eabf --- /dev/null +++ b/content/ngf/install/secure-certificates.md @@ -0,0 +1,208 @@ +--- +title: Add certificates for secure authentication +weight: 100 +toc: true +nd-content-type: how-to +nd-product: NGF +--- + +By default, NGINX Gateway Fabric installs self-signed certificates to secure the connection between the NGINX Gateway Fabric control plane and the NGINX data plane pods. These certificates are created by a `cert-generator` job when NGINX Gateway Fabric is first installed. + +However, because these certificates are self-signed and will expire after 3 years, we recommend a solution such as [cert-manager](https://cert-manager.io) to create and manage these certificates in a production environment. + +This guide will step through how to install and use `cert-manager` to secure this connection. + +{{< caution >}} + +These steps should be completed before you install NGINX Gateway Fabric. + +{{< /caution >}} + +--- + +## Before you begin + +To complete this guide, you will need the following prerequisites: + +- Administrator access to a Kubernetes cluster. +- [Helm](https://helm.sh) and [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) must be installed locally. + +## Install cert-manager + +Add the Helm repository: + +```shell +helm repo add jetstack https://charts.jetstack.io +helm repo update +``` + +Install cert-manager: + +```shell +helm install \ + cert-manager jetstack/cert-manager \ + --namespace cert-manager \ + --create-namespace \ + --set config.apiVersion="controller.config.cert-manager.io/v1alpha1" \ + --set config.kind="ControllerConfiguration" \ + --set config.enableGatewayAPI=true \ + --set crds.enabled=true +``` + +This also enables Gateway API features for cert-manager, which can be useful for [securing your workload traffic]({{< ref "/ngf/traffic-security/integrate-cert-manager.md" >}}). + +## Create the CA issuer + +The first step is to create the CA (certificate authority) issuer. + +{{< note >}} This example uses a self-signed Issuer, which should not be used in production environments. For production environments, you should use a real [CA issuer](https://cert-manager.io/docs/configuration/ca/). {{< /note >}} + +Create the namespace: + +```shell +kubectl create namespace nginx-gateway +``` + +```yaml +kubectl apply -f - <}} + +{{%tab name="Helm"%}} + +The full service name is of the format: `-nginx-gateway-fabric..svc`. + +The default Helm release name used in our installation docs is `ngf`, and the default namespace is `nginx-gateway`, so the `dnsName` should be `ngf-nginx-gateway-fabric.nginx-gateway.svc`. + +{{% /tab %}} + +{{%tab name="Manifests"%}} + +The full service name is of the format: `..svc`. + +By default, the base service name is `nginx-gateway`, and the namespace is `nginx-gateway`, so the `dnsName` should be `nginx-gateway.nginx-gateway.svc`. + +{{% /tab %}} + +{{}} + +```yaml +kubectl apply -f - <}} + +{{%tab name="Helm"%}} + +Specify the Secret name using the `certGenerator.agentTLSSecretName` helm value. + +{{% /tab %}} + +{{%tab name="Manifests"%}} + +Specify the Secret name using the `agent-tls-secret` command-line argument. + +{{% /tab %}} + +{{}} + +## Confirm the Secrets have been created + +You should see the Secrets created in the `nginx-gateway` namespace: + +```shell +kubectl -n nginx-gateway get secrets +``` + +```text +agent-tls kubernetes.io/tls 3 3s +nginx-gateway-ca kubernetes.io/tls 3 15s +server-tls kubernetes.io/tls 3 8s +``` + +You can now [install NGINX Gateway Fabric]({{< ref "/ngf/install/" >}}). + +## Next steps + +- [Install NGINX Gateway Fabric with Helm]({{< ref "/ngf/install/helm.md" >}}) +- [Install NGINX Gateway Fabric with Manifests]({{< ref "/ngf/install/manifests.md" >}}) +- [Install NGINX Gateway Fabric with NGINX Plus]({{< ref "/ngf/install/nginx-plus.md" >}}) diff --git a/content/ngf/install/upgrade-version.md b/content/ngf/install/upgrade-version.md new file mode 100644 index 000000000..e8e0f16ef --- /dev/null +++ b/content/ngf/install/upgrade-version.md @@ -0,0 +1,308 @@ +--- +title: Upgrade NGINX Gateway Fabric +weight: 700 +toc: true +type: how-to +product: NGF +docs: DOCS-0000 +--- + +This document describes how to upgrade NGINX Gateway Fabric when a new version releases. + +It covers the necessary steps for minor versions as well as major versions (such as 1.x to 2.x). + +Many of the nuances in upgrade paths relate to how custom resource definitions (CRDs) are managed. + +{{< tip >}} + +To avoid interruptions, review the [Delay pod termination for zero downtime upgrades](#configure-delayed-pod-termination-for-zero-downtime-upgrades) section. + +{{< /tip >}} + + +## Minor NGINX Gateway Fabric upgrades + +{{< important >}} NGINX Plus users need a JWT secret before upgrading from version 1.4.0 to 1.5.x. + +Follow the steps in [Set up the JWT]({{< ref "/ngf/install/nginx-plus.md#set-up-the-jwt" >}}) to create the Secret. + +{{< /important >}} + + +### Upgrade Gateway resources + +To upgrade your Gateway API resources, take the following steps: + +- Use [Technical specifications]({{< ref "/ngf/reference/technical-specifications.md" >}}) to verify your Gateway API resources are compatible with your NGINX Gateway Fabric version. +- Review the [release notes](https://github.com/kubernetes-sigs/gateway-api/releases) for any important upgrade-specific information. + +To upgrade the Gateway API resources, run the following command: + +```shell +kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v{{< version-ngf >}}" | kubectl apply -f - +``` + +If you installed NGINX Gateway from the experimental channel, use this instead: + +```shell +kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v{{< version-ngf >}}" | kubectl apply -f - +``` + +### Upgrade NGINX Gateway Fabric CRDs + +Run the following command to upgrade the CRDs: + +```shell +kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/deploy/crds.yaml +``` + +{{< note >}} + +Ignore the following warning, as it is expected. + +```text +Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply. +``` + +{{< /note >}} + +### Upgrade NGINX Gateway Fabric release + +{{< tabs name="upgrade-release" >}} + +{{% tab name="Helm" %}} + +{{< important >}} If you are using NGINX Plus and have a different Secret name than the default `nplus-license` name, specify the Secret name by setting `--set nginx.usage.secretName=` when running `helm upgrade`. {{< /important >}} + +To upgrade the release with Helm, you can use the OCI registry, or download the chart and upgrade from the source. + +If needed, replace `ngf` with your chosen release name. + +**Upgrade from the OCI registry** + +```shell +helm upgrade ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric -n nginx-gateway +``` + +**Upgrade from sources** + +{{< include "/ngf/installation/helm/pulling-the-chart.md" >}} + +To upgrade, run the following command: + +```shell +helm upgrade ngf . -n nginx-gateway +``` + +{{% /tab %}} + +{{% tab name="Manifests" %}} + +Select the deployment manifest that matches your current deployment from options available in the [Deploy NGINX Gateway Fabric]({{< ref "/ngf/install/manifests.md#deploy-nginx-gateway-fabric-1">}}) section and apply it. + +{{% /tab %}} + +{{< /tabs>}} + +## Upgrade from v1.x to v2.x + +This section provides step-by-step instructions for upgrading NGINX Gateway Fabric from version 1.x to 2.x, highlighting key architectural changes, expected downtime, and important considerations for CRDs. + +To upgrade NGINX Gateway Fabric from version 1.x to the new architecture in version 2.x, you must uninstall the existing NGINX Gateway Fabric CRDs and deployment, and perform a fresh installation. This will cause brief downtime during the upgrade process. + +{{}} You do not need to uninstall the Gateway API CRDs during the upgrade. These resources are compatible with the new NGINX Gateway Fabric version. {{}} + +### Uninstall NGINX Gateway Fabric v1.x + +To remove the previous version 1.x of NGINX Gateway Fabric, follow these steps: + +First, run the following command to uninstall NGINX Gateway Fabric from the `nginx-gateway` namespace, and update `ngf` to your release name if it is different: + +```shell +helm uninstall ngf -n nginx-gateway +``` + +Afterwards, remove CRDs associated with NGINX Gateway Fabric version 1.x with the following command: + +```shell +kubectl delete -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v1.6.2/deploy/crds.yaml +``` + +### Install NGINX Gateway Fabric 2.x + +{{< important >}} + +Before installing 2.x, we recommend following [Add certificates for secure authentication]({{< ref "/ngf/install/secure-certificates.md" >}}). + +By default, NGINX Gateway Fabric installs self-signed certificates, which may be unsuitable for a production environment. + +{{< /important >}} + +{{}} + +{{%tab name="Helm"%}} + +Use the following `helm install` command to install the latest stable NGINX Gateway Fabric release in the `nginx-gateway` namespace. It will also install the CRDs required for the deployment: + +```shell +helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namespace -n nginx-gateway +``` + +For customization options during the Helm installation process, view the [Install NGINX Gateway Fabric with Helm]({{< ref "/ngf/install/helm.md" >}}) topic. + +{{% /tab %}} + +{{%tab name="Manifests"%}} + +Apply the new CRDs with the following command: + +```shell +kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/deploy/crds.yaml +``` + +Next, install the latest stable release of NGINX Gateway Fabric in the `nginx-gateway` namespace with the following command: + +```shell +kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/deploy/default/deploy.yaml +``` + +For customization options during the Manifest installation process, view the [Install NGINX Gateway Fabric with Manifests]({{< ref "/ngf/install/manifests.md" >}}) topic. + +{{% /tab %}} + +{{}} + +### Architecture changes + +With this release, NGINX Gateway Fabric adopts a new architecture that separates the control plane and data plane into independent deployments. This separation improves scalability, security, and operational clarity. + +The control plane is a Kubernetes controller that watches Gateway API and Kubernetes resources (e.g., Services, Endpoints, Secrets) and dynamically provisions NGINX data plane deployments for each Gateway. + +NGINX configurations are generated by the control plane and securely delivered to the data planes via gRPC, using the NGINX Agent. TLS is enabled by default, with optional integration with `cert-manager`. + +Each data plane pod runs NGINX alongside the Agent, which applies config updates and handles reloads without shared volumes or signals. This design ensures dynamic, per-Gateway traffic management and operational isolation. + +New fields have been added to the `NginxProxy` resource to configure infrastructure-related settings for data plane deployments. The `NginxProxy` resource is now a namespaced-scoped resource, instead of a cluster-scoped resource, and can be modified at either the Gateway or GatewayClass level. These new fields provide the flexibility to customize deployment and service configurations. + +For detailed instructions on how to modify these settings, refer to the [Configure infrastructure-related settings]({{< ref "/ngf/how-to/data-plane-configuration.md#configure-infrastructure-related-settings" >}}) guide. + +### Key links for the version 2.x update + +- To read more on [modifying data plane configuration]({{< ref "/ngf/how-to/data-plane-configuration.md" >}}). +- To learn more about [deploying a Gateway for data plane instances]({{< ref "/ngf/install/deploy-data-plane.md" >}}). +- To add secure [authentication to control plane and data planes]({{< ref "/ngf/install/secure-certificates.md" >}}). +- To read more about [architecture changes]({{< ref "/ngf/overview/gateway-architecture.md" >}}). +- For detailed [API reference]({{< ref "/ngf/reference/api.md" >}}). + +## Access NGINX Gateway Fabric 1.x documentation + +The documentation website is intended for the latest version of NGINX Gateway Fabric. + +To review documentation prior to 2.x, check out the desired release branch (such as _release-1.6_): + +```shell +git clone git@github.com:nginx/nginx-gateway-fabric.git +git checkout release-1.6 +``` + +To review the documentation in a local webserver, run _make watch_ in the _/site_ folder: + +```shell +cd site +make watch +``` +```text +Hugo is available and has a version greater than 133. Proceeding with build. +hugo --bind 0.0.0.0 -p 1313 server --disableFastRender +Watching for changes in /home//nginx-gateway-fabric/site/{content,layouts,static} +Watching for config changes in /home//nginx-gateway-fabric/site/config/_default, /home//nginx-gateway-fabric/site/config/development, /home//nginx-gateway-fabric/site/go.mod +Start building sites … +hugo v0.135.0-f30603c47f5205e30ef83c70419f57d7eb7175ab linux/amd64 BuildDate=2024-09-27T13:17:08Z VendorInfo=gohugoio + + + | EN +-------------------+------ + Pages | 72 + Paginator pages | 0 + Non-page files | 0 + Static files | 176 + Processed images | 0 + Aliases | 9 + Cleaned | 0 + +Built in 213 ms +Environment: "development" +Serving pages from disk +Web Server is available +``` + +You can then follow [this localhost link](http://localhost:1313/nginx-gateway-fabric/) for 1.x NGINX Gateway Fabric documentation. + +## Upgrade from NGINX Open Source to NGINX Plus + +{{< important >}} + +Ensure that you [Set up the JWT]({{< ref "/ngf/install/nginx-plus.md#set-up-the-jwt" >}}) before upgrading. These instructions only apply to Helm. + +{{< /important >}} + +To upgrade from NGINX Open Source to NGINX Plus, update the Helm command to include the necessary values for Plus: + +{{< note >}} If applicable: + +- Replace the F5 Container registry `private-registry.nginx.com` with your internal registry for your NGINX Plus image +- Replace `nginx-plus-registry-secret` with your Secret name containing the registry credentials +- Replace `ngf` with your chosen release name. +{{< /note >}} + + +```shell +helm upgrade ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --set nginx.image.repository=private-registry.nginx.com/nginx-gateway-fabric/nginx-plus --set nginx.plus=true --set nginx.imagePullSecret=nginx-plus-registry-secret -n nginx-gateway +``` + +## Delay pod termination for zero downtime upgrades {#configure-delayed-pod-termination-for-zero-downtime-upgrades} + +{{< include "/ngf/installation/delay-pod-termination/delay-pod-termination-overview.md" >}} + +Follow these steps to configure delayed pod termination: + +1. Open the `values.yaml` for editing. + +1. **Add delayed shutdown hooks**: + + - In the `values.yaml` file, add `lifecycle: preStop` hooks to both the `nginx` and `nginx-gateway` container definitions. These hooks instruct the containers to delay their shutdown process, allowing time for connections to close gracefully. Update the `sleep` value to what works for your environment. + + ```yaml + nginxGateway: + <...> + lifecycle: + preStop: + exec: + command: + - /usr/bin/gateway + - sleep + - --duration=40s # This flag is optional, the default is 30s + + nginx: + <...> + lifecycle: + preStop: + exec: + command: + - /bin/sleep + - "40" + ``` + +1. **Set the termination grace period**: + + - {{< include "/ngf/installation/delay-pod-termination/termination-grace-period.md">}} + +1. Save the changes. + +{{}} +For additional information on configuring and understanding the behavior of containers and pods during their lifecycle, refer to the following Kubernetes documentation: + +- [Container Lifecycle Hooks](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks) +- [Pod Lifecycle](https://kubernetes.io/docs/concepts/workloads/Pods/Pod-lifecycle/#Pod-termination) + +{{}} \ No newline at end of file diff --git a/content/ngf/installation/_index.md b/content/ngf/installation/_index.md deleted file mode 100644 index b49ab026b..000000000 --- a/content/ngf/installation/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Installation" -url: /nginx-gateway-fabric/installation/ -weight: 300 ---- diff --git a/content/ngf/installation/installing-ngf/_index.md b/content/ngf/installation/installing-ngf/_index.md deleted file mode 100644 index 814e9ae02..000000000 --- a/content/ngf/installation/installing-ngf/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Install NGINX Gateway Fabric" -url: /nginx-gateway-fabric/installation/installing-ngf/ -weight: 100 ---- diff --git a/content/ngf/monitoring/_index.md b/content/ngf/monitoring/_index.md new file mode 100644 index 000000000..8f7bfadcc --- /dev/null +++ b/content/ngf/monitoring/_index.md @@ -0,0 +1,5 @@ +--- +title: "Monitoring" +url: /nginx-gateway-fabric/monitoring/ +weight: 600 +--- diff --git a/content/ngf/monitoring/dashboard.md b/content/ngf/monitoring/dashboard.md new file mode 100644 index 000000000..56cfc31d2 --- /dev/null +++ b/content/ngf/monitoring/dashboard.md @@ -0,0 +1,55 @@ +--- +title: Access the NGINX Plus dashboard +weight: 300 +toc: true +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-1417 +--- + +This topic describes how to view the NGINX Plus dashboard to see real-time metrics. + +The NGINX Plus dashboard offers a real-time live activity monitoring interface that shows key load and performance metrics of your server infrastructure. + +The dashboard is enabled by default for NGINX Gateway Fabric deployments that use NGINX Plus as the data plane, and is available on port 8765. + +## Connect to the dashboard + +To access the dashboard, you will first need to forward connections to port 8765 on your local machine to port 8765 on the NGINX Plus pod (replace `` with the actual name of the pod). + +```shell +kubectl port-forward 8765:8765 -n +``` + +Afterwards, use a browser to access [http://127.0.0.1:8765/dashboard.html](http://127.0.0.1:8765/dashboard.html) to view the dashboard. + +The dashboard will look like this: + +{{< img src="/ngf/img/nginx-plus-dashboard.png" alt="">}} + +{{< note >}} The [API](https://nginx.org/en/docs/http/ngx_http_api_module.html) used by the dashboard for metrics is also accessible using the `/api` path. {{< /note >}} + +### Configure dashboard access through NginxProxy + +To access the NGINX Plus dashboard from sources than the default `127.0.0.1`, you can use the NginxProxy resource to allow access to other IP Addresses or CIDR blocks. + +The following example configuration allows access to the NGINX Plus dashboard from the IP Addresses `192.0.2.8` and +`192.0.2.0` and the CIDR block `198.51.100.0/24`: + +```yaml +apiVersion: gateway.nginx.org/v1alpha1 +kind: NginxProxy +metadata: + name: ngf-proxy-config +spec: + nginxPlus: + allowedAddresses: + - type: IPAddress + value: 192.0.2.8 + - type: IPAddress + value: 192.0.2.0 + - type: CIDR + value: 198.51.100.0/24 +``` + +For more information on configuring the NginxProxy resource, visit the [data plane configuration]({{< ref "/ngf/how-to/data-plane-configuration.md" >}}) document. \ No newline at end of file diff --git a/content/ngf/how-to/monitoring/prometheus.md b/content/ngf/monitoring/prometheus.md similarity index 57% rename from content/ngf/how-to/monitoring/prometheus.md rename to content/ngf/monitoring/prometheus.md index 37253b3d5..369789dcd 100644 --- a/content/ngf/how-to/monitoring/prometheus.md +++ b/content/ngf/monitoring/prometheus.md @@ -2,24 +2,22 @@ title: Monitoring with Prometheus and Grafana weight: 200 toc: true -type: how-to -product: NGF -docs: DOCS-1418 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-1418 --- This document describes how to monitor NGINX Gateway Fabric using Prometheus and Grafana. It explains installation and configuration, as well as what metrics are available. ---- - ## Overview NGINX Gateway Fabric metrics are displayed in [Prometheus](https://prometheus.io/) format. These metrics are served through a metrics server orchestrated by the controller-runtime package on HTTP port `9113`. When installed, Prometheus automatically scrapes this port and collects metrics. [Grafana](https://grafana.com/) can be used for rich visualization of these metrics. {{< call-out "important" "Security note for metrics" >}} + Metrics are served over HTTP by default. Enabling HTTPS will secure the metrics endpoint with a self-signed certificate. When using HTTPS, adjust the Prometheus Pod scrape settings by adding the `insecure_skip_verify` flag to handle the self-signed certificate. For further details, refer to the [Prometheus documentation](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#tls_config). -{{< /call-out >}} ---- +{{< /call-out >}} ## Installing Prometheus and Grafana @@ -41,8 +39,6 @@ kubectl port-forward -n monitoring svc/prometheus-server 9090:80 & Visit [http://127.0.0.1:9090](http://127.0.0.1:9090) to view the dashboard. ---- - ### Grafana ```shell @@ -65,8 +61,6 @@ The username for login is `admin`. The password can be acquired by running: kubectl get secret -n monitoring grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo ``` ---- - #### Configuring Grafana In the Grafana UI menu, go to `Connections` then `Data sources`. Add your Prometheus service (`http://prometheus-server.monitoring.svc`) as a data source. @@ -75,33 +69,62 @@ Download the following sample dashboard and Import as a new Dashboard in the Gra - {{< download "ngf/grafana-dashboard.json" "ngf-grafana-dashboard.json" >}} ---- - ## Available metrics in NGINX Gateway Fabric NGINX Gateway Fabric provides a variety of metrics for monitoring and analyzing performance. These metrics are categorized as follows: ### NGINX/NGINX Plus metrics -NGINX metrics cover specific NGINX operations such as the total number of accepted client connections. For a complete list of available NGINX/NGINX Plus metrics, refer to the [NGINX Prometheus Exporter developer docs](https://github.com/nginx/nginx-prometheus-exporter#exported-metrics). - -These metrics use the `nginx_gateway_fabric` namespace and include the `class` label, indicating the NGINX Gateway class. For example, `nginx_gateway_fabric_connections_accepted{class="nginx"}`. - ---- +NGINX metrics include NGINX-specific data such as the total number of accepted client connections. These metrics are +collected through NGINX Agent and are reported by each NGINX Pod. + +NGINX Gateway Fabric currently supports a subset of all metrics available through NGINX OSS and Plus. Listed below are +the supported metrics along with a small accompanying description. + +Metrics provided by NGINX Open Source include: +- `nginx_http_connection_count_connections`: The current number of connections. +- `nginx_http_connections_total`: The total number of connections, since NGINX was last started or reloaded. +- `nginx_http_request_count_requests`: The total number of client requests received, since the last collection interval. +- `nginx_http_requests_total`: The total number of client requests received, since NGINX was last started or reloaded. + +In addition to the previous metrics provided by NGINX Open Source, NGINX Plus includes: +- `nginx_config_reloads_total`: The total number of NGINX config reloads. +- `nginx_http_response_count_responses`: The total number of HTTP responses sent to clients since the last collection interval, grouped by status code range. +- `nginx_http_response_status_responses_total`: The total number of responses since NGINX was last started or reloaded, grouped by status code range. +- `nginx_http_request_discarded_requests_total`: The total number of requests completed without sending a response. +- `nginx_http_request_processing_count_requests`: The number of client requests that are currently being processed. +- `nginx_http_request_byte_io_bytes_total`: The total number of HTTP byte IO. +- `nginx_http_upstream_keepalive_count_connections`: The current number of idle keepalive connections per HTTP upstream. +- `nginx_http_upstream_peer_connection_count_connections`: The average number of active connections per HTTP upstream peer. +- `nginx_http_upstream_peer_byte_io_bytes_total`: The total number of byte IO per HTTP upstream peer. +- `nginx_http_upstream_peer_count_peers`: The current count of peers on the HTTP upstream grouped by state. +- `nginx_http_upstream_peer_fails_attempts_total`: The total number of unsuccessful attempts to communicate with the HTTP upstream peer. +- `nginx_http_upstream_peer_header_time_milliseconds`: The average time to get the response header from the HTTP upstream peer. +- `nginx_http_upstream_peer_health_checks_requests_total`: The total number of health check requests made to a HTTP upstream peer. +- `nginx_http_upstream_peer_requests_total`: The total number of client requests forwarded to the HTTP upstream peer. +- `nginx_http_upstream_peer_response_time_milliseconds`: The average time to get the full response from the HTTP upstream peer. +- `nginx_http_upstream_peer_responses_total`: The total number of responses obtained from the HTTP upstream peer grouped by status range. +- `nginx_http_upstream_peer_state_is_deployed`: Current state of an upstream peer in deployment. +- `nginx_http_upstream_peer_unavailables_requests_total`: Number of times the server became unavailable for client requests (“unavail”). +- `nginx_http_upstream_queue_limit_requests`: The maximum number of requests that can be in the queue at the same time. +- `nginx_http_upstream_queue_overflows_responses_total`: The total number of requests rejected due to the queue overflow. +- `nginx_http_upstream_queue_usage_requests`: The current number of requests in the queue. +- `nginx_http_upstream_zombie_count_is_deployed`: The current number of upstream peers removed from the group but still processing active client requests. +- `nginx_slab_page_free_pages`: The current number of free memory pages. +- `nginx_slab_page_usage_pages`: The current number of used memory pages. +- `nginx_slab_slot_allocations_total`: The number of attempts to allocate memory of specified size. +- `nginx_slab_slot_free_slots`: The current number of free memory slots. +- `nginx_slab_slot_usage_slots`: The current number of used memory slots. +- `nginx_ssl_certificate_verify_failures_certificates_total`: The total number of SSL certificate verification failures. +- `nginx_ssl_handshakes_total`: The total number of SSL handshakes. ### NGINX Gateway Fabric metrics Metrics specific to NGINX Gateway Fabric include: -- `nginx_reloads_total`: Counts successful NGINX reloads. -- `nginx_reload_errors_total`: Counts NGINX reload failures. -- `nginx_stale_config`: Indicates if NGINX Gateway Fabric couldn't update NGINX with the latest configuration, resulting in a stale version. -- `nginx_reloads_milliseconds`: Time in milliseconds for NGINX reloads. - `event_batch_processing_milliseconds`: Time in milliseconds to process batches of Kubernetes events. -All these metrics are under the `nginx_gateway_fabric` namespace and include a `class` label set to the Gateway class of NGINX Gateway Fabric. For example, `nginx_gateway_fabric_nginx_reloads_total{class="nginx"}`. - ---- +All these metrics are under the `nginx_gateway_fabric` namespace and include a `class` label set to the GatewayClass of NGINX Gateway Fabric. For example, `nginx_gateway_fabric_event_batch_processing_milliseconds_sum{class="nginx"}`. ### Controller-runtime metrics @@ -111,8 +134,6 @@ Provided by the [controller-runtime](https://github.com/kubernetes-sigs/controll - Go runtime metrics such as the number of Go routines, garbage collection duration, and Go version. - Controller-specific metrics, including reconciliation errors per controller, length of the reconcile queue, and reconciliation latency. ---- - ## Change the default metrics configuration You can configure monitoring metrics for NGINX Gateway Fabric using Helm or Manifests. @@ -121,14 +142,10 @@ You can configure monitoring metrics for NGINX Gateway Fabric using Helm or Mani If you're setting up NGINX Gateway Fabric with Helm, you can adjust the `metrics.*` parameters to fit your needs. For detailed options and instructions, see the [Helm README](https://github.com/nginx/nginx-gateway-fabric/blob/v{{< version-ngf >}}/charts/nginx-gateway-fabric/README.md). ---- - ### Using Kubernetes manifests For setups using Kubernetes manifests, change the metrics configuration by editing the NGINX Gateway Fabric manifest that you want to deploy. You can find some examples in the [deploy](https://github.com/nginx/nginx-gateway-fabric/tree/v{{< version-ngf >}}/deploy) directory. ---- - #### Disabling metrics If you need to disable metrics: @@ -170,8 +187,6 @@ To change the default port for metrics: <...> ``` ---- - #### Enabling HTTPS for metrics For enhanced security with HTTPS: diff --git a/content/ngf/how-to/monitoring/tracing.md b/content/ngf/monitoring/tracing.md similarity index 85% rename from content/ngf/how-to/monitoring/tracing.md rename to content/ngf/monitoring/tracing.md index 34a0dfc60..fe241cad5 100644 --- a/content/ngf/how-to/monitoring/tracing.md +++ b/content/ngf/monitoring/tracing.md @@ -2,15 +2,13 @@ title: Configure tracing weight: 100 toc: true -type: how-to -product: NGF -docs: DOCS-000 +nd-content-type: how-to +nd-product: NGF +nd-docs: DOCS-000 --- This guide explains how to enable tracing on HTTPRoutes in NGINX Gateway Fabric using the OpenTelemetry Collector. Jaeger is used to process and collect the traces. ---- - ## Overview NGINX Gateway Fabric supports tracing using [OpenTelemetry](https://opentelemetry.io/). @@ -19,8 +17,6 @@ The official [NGINX OpenTelemetry Module](https://github.com/nginxinc/nginx-otel This collector can then export data to one or more upstream collectors like [Jaeger](https://www.jaegertracing.io/), [DataDog](https://docs.datadoghq.com/tracing/), and many others. This is called the [Agent model](https://opentelemetry.io/docs/collector/deployment/agent/). ---- - ## Install the collectors The first step is to install the collectors. NGINX Gateway Fabric will be configured to export to the OpenTelemetry Collector, which is configured to export to Jaeger. This model allows the visualization collector (Jaeger) to be swapped with something else, or to add more collectors without needing to reconfigure NGINX Gateway Fabric. It is also possible to configure NGINX Gateway Fabric to export directly to Jaeger. @@ -64,25 +60,25 @@ kubectl port-forward -n tracing svc/jaeger 16686:16686 & Visit [http://127.0.0.1:16686](http://127.0.0.1:16686) to view the dashboard. ---- - ## Enable tracing To enable tracing, you must configure two resources: -- `NginxProxy`: This resource contains global settings relating to the NGINX data plane. It is created and managed by the [cluster operator](https://gateway-api.sigs.k8s.io/concepts/roles-and-personas/), and is referenced in the `parametersRef` field of the GatewayClass. This resource can be created and linked when we install NGINX Gateway Fabric using its helm chart, or it can be added later. This guide installs the resource using the helm chart, but the resource can also be created for an existing deployment. +- `NginxProxy`: This resource contains global settings relating to the NGINX data plane. It is created and managed by the [cluster operator](https://gateway-api.sigs.k8s.io/concepts/roles-and-personas/), and is referenced in the `parametersRef` field of the GatewayClass. By default, an `NginxProxy` resource is created in the same namespace where NGINX Gateway Fabric is installed, attached to the GatewayClass. You can set configuration options in the `nginx` Helm value section, and the resource will be created and attached using the set values. + +When installed using the Helm chart, the NginxProxy resource is named `-proxy-config` and is created in the release Namespace. The `NginxProxy` resource contains configuration for the collector, and applies to all Gateways and routes under the GatewayClass. It does not enable tracing, but is a prerequisite to the next piece of configuration. +{{< note >}} You can also override the tracing configuration for a particular Gateway by manually creating and attaching specific `NginxProxy` resources to target the different Gateways. This guide covers the global tracing configuration only. {{< /note >}} + - `ObservabilityPolicy`: This resource is a [Direct PolicyAttachment](https://gateway-api.sigs.k8s.io/reference/policy-attachment/) that targets HTTPRoutes or GRPCRoutes. It is created by the [application developer](https://gateway-api.sigs.k8s.io/concepts/roles-and-personas/) and enables tracing for a specific route or routes. It requires the `NginxProxy` resource to exist in order to complete the tracing configuration. For all the possible configuration options for these resources, see the [API reference]({{< ref "/ngf/reference/api.md" >}}). ---- - ### Install NGINX Gateway Fabric with global tracing configuration -{{< note >}}Ensure that you [install the Gateway API resources]({{< ref "/ngf/installation/installing-ngf/helm.md#installing-the-gateway-api-resources" >}}).{{< /note >}} +{{< note >}} Ensure that you [install the Gateway API resources]({{< ref "/ngf/install/helm.md#installing-the-gateway-api-resources" >}}).{{< /note >}} Referencing the previously deployed collector, create the following `values.yaml` file for installing NGINX Gateway Fabric: @@ -110,11 +106,11 @@ helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namesp You should see the following configuration: ```shell -kubectl get nginxproxies.gateway.nginx.org ngf-proxy-config -o yaml +kubectl get nginxproxies.gateway.nginx.org ngf-proxy-config -n nginx-gateway -o yaml ``` ```yaml -apiVersion: gateway.nginx.org/v1alpha1 +apiVersion: gateway.nginx.org/v1alpha2 kind: NginxProxy metadata: name: ngf-proxy-config @@ -164,23 +160,14 @@ status: type: ResolvedRefs ``` -If you already have NGINX Gateway Fabric installed, then you can create the `NginxProxy` resource and link it to the GatewayClass `parametersRef`: +If you already have NGINX Gateway Fabric installed, then you can modify the `NginxProxy` resource to include the tracing configuration: ```shell -kubectl edit gatewayclasses.gateway.networking.k8s.io nginx -``` - -Save the public IP address and port of NGINX Gateway Fabric into shell variables: - -```text -GW_IP=XXX.YYY.ZZZ.III -GW_PORT= +kubectl edit nginxproxies.gateway.nginx.org ngf-proxy-config -n nginx-gateway ``` You can now create the application, route, and tracing policy. ---- - ### Create the application and route Create the basic **coffee** application: @@ -257,6 +244,15 @@ spec: EOF ``` +After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. + +Save the public IP address and port of the NGINX Service into shell variables: + +```text +GW_IP=XXX.YYY.ZZZ.III +GW_PORT= +``` + Check that traffic can flow to the application. {{< note >}} If you have a DNS record allocated for `cafe.example.com`, you can send the request directly to that hostname, without needing to resolve. {{< /note >}} @@ -275,8 +271,6 @@ URI: /coffee You shouldn't see any information from the [Jaeger dashboard](http://127.0.0.1:16686) yet: you need to create the `ObservabilityPolicy`. ---- - ### Create the ObservabilityPolicy To enable tracing for the coffee HTTPRoute, create the following policy: @@ -345,9 +339,8 @@ Select a trace to view the attributes. The trace includes the attribute from the global NginxProxy resource as well as the attribute from the ObservabilityPolicy. ---- - ## See also +- [Data plane configuration]({{< ref "/ngf/how-to/data-plane-configuration.md" >}}): learn how to dynamically update the NGINX Gateway Fabric global data plane configuration, including how to override the telemetry configuration for a particular Gateway. - [Custom policies]({{< ref "/ngf/overview/custom-policies.md" >}}): learn about how NGINX Gateway Fabric custom policies work. - [API reference]({{< ref "/ngf/reference/api.md" >}}): all configuration fields for the policies mentioned in this guide diff --git a/content/ngf/overview/custom-policies.md b/content/ngf/overview/custom-policies.md index 5aeb99fce..02c04d899 100644 --- a/content/ngf/overview/custom-policies.md +++ b/content/ngf/overview/custom-policies.md @@ -2,9 +2,9 @@ title: Custom policies weight: 600 toc: true -type: reference -product: NGF -docs: "DOCS-000" +nd-content-type: reference +nd-product: NGF +nd-docs: DOCS-000 --- ## Overview @@ -19,9 +19,9 @@ The following table summarizes NGINX Gateway Fabric custom policies: | Policy | Description | Attachment Type | Supported Target Object(s) | Supports Multiple Target Refs | Mergeable | API Version | |---------------------------------------------------------------------------------------------|---------------------------------------------------------|-----------------|-------------------------------|-------------------------------|-----------|-------------| -| [ClientSettingsPolicy]({{< ref "/ngf/how-to/traffic-management/client-settings.md" >}}) | Configure connection behavior between client and NGINX | Inherited | Gateway, HTTPRoute, GRPCRoute | No | Yes | v1alpha1 | -| [ObservabilityPolicy]({{< ref "/ngf/how-to/monitoring/tracing.md" >}}) | Define settings related to tracing, metrics, or logging | Direct | HTTPRoute, GRPCRoute | Yes | No | v1alpha2 | -| [UpstreamSettingsPolicy]({{< ref "/ngf/how-to/traffic-management/upstream-settings.md" >}}) | Configure connection behavior between NGINX and backend | Direct | Service | Yes | Yes | v1alpha1 | +| [ClientSettingsPolicy]({{< ref "/ngf/traffic-management/client-settings.md" >}}) | Configure connection behavior between client and NGINX | Inherited | Gateway, HTTPRoute, GRPCRoute | No | Yes | v1alpha1 | +| [ObservabilityPolicy]({{< ref "/ngf/monitoring/tracing.md" >}}) | Define settings related to tracing, metrics, or logging | Direct | HTTPRoute, GRPCRoute | Yes | No | v1alpha2 | +| [UpstreamSettingsPolicy]({{< ref "/ngf/traffic-management/upstream-settings.md" >}}) | Configure connection behavior between NGINX and backend | Direct | Service | Yes | Yes | v1alpha1 | {{< /bootstrap-table >}} @@ -29,8 +29,6 @@ The following table summarizes NGINX Gateway Fabric custom policies: If attaching a Policy to a Route, that Route must not share a hostname:port/path combination with any other Route that is not referenced by the same Policy. If it does, the Policy will be rejected. This is because the Policy would end up affecting other Routes that it is not attached to. {{< /important >}} ---- - ## Terminology - _Attachment Type_. How the policy attaches to an object. Attachment type can be "direct" or "inherited". @@ -38,8 +36,6 @@ If attaching a Policy to a Route, that Route must not share a hostname:port/path - _Supports Multiple Target Refs_. Whether a single policy can target multiple objects. - _Mergeable_. Whether policies that target the same object can be merged. ---- - ## Direct Policy Attachment A Direct Policy Attachment is a policy that references a single object, such as a Gateway or HTTPRoute. It is tightly bound to one instance of a particular Kind within a single Namespace or an instance of a single Kind at the cluster-scope. It affects _only_ the object specified in its TargetRef. @@ -50,8 +46,6 @@ This diagram uses a fictional retry policy to show how Direct Policy Attachment The policy targets the HTTPRoute `baz` and sets `retries` to `3` and `timeout` to `60s`. Since this policy is a Direct Policy Attachment, its settings are only applied to the `baz` HTTPRoute. ---- - ## Inherited Policy Attachment Inherited Policy Attachment allows settings to cascade down a hierarchy. The hierarchy for Gateway API resources looks like this: @@ -80,8 +74,6 @@ The `baz-policy` and `foo-policy` are attached to the `baz` and `foo` HTTPRoutes Since the `foo-policy` only defines the `retries` setting, it still inherits the `timeout` setting from `dev-policy`. The `bar` HTTPRoute has no policy attached to it and inherits all the settings from `dev-policy`. ---- - ## Merging Policies With some NGINX Gateway Fabric Policies, it is possible to create multiple policies that target the same resource as long as the fields in those policies do not conflict. @@ -129,8 +121,6 @@ However, if both policies had the `retries` field set, then the policies cannot If a policy conflicts with a configured policy, NGINX Gateway Fabric will set the policy `Accepted` status to false with a reason of `Conflicted`. See [Policy Status](#policy-status) for more details. ---- - ## Policy Status NGINX Gateway Fabric sets the [PolicyStatus](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.PolicyStatus) on all policies. diff --git a/content/ngf/overview/gateway-api-compatibility.md b/content/ngf/overview/gateway-api-compatibility.md index d65258c07..fc04731cc 100644 --- a/content/ngf/overview/gateway-api-compatibility.md +++ b/content/ngf/overview/gateway-api-compatibility.md @@ -2,9 +2,9 @@ title: Gateway API Compatibility weight: 200 toc: true -type: reference -product: NGF -docs: DOCS-1412 +nd-content-type: reference +nd-product: NGF +nd-docs: DOCS-1412 --- Learn which Gateway API resources NGINX Gateway Fabric supports and to which level. @@ -28,8 +28,6 @@ Learn which Gateway API resources NGINX Gateway Fabric supports and to which lev {{< /bootstrap-table >}} ---- - ## Terminology Gateway API features has three [support levels](https://gateway-api.sigs.k8s.io/concepts/conformance/#2-support-levels): Core, Extended and Implementation-specific. We use the following terms to describe the support status for each level and resource field: @@ -42,7 +40,6 @@ Gateway API features has three [support levels](https://gateway-api.sigs.k8s.io/ {{< note >}} It's possible that NGINX Gateway Fabric will never support some resources or fields of the Gateway API. They will be documented on a case by case basis. {{< /note >}} ---- ## Resources @@ -78,8 +75,6 @@ NGINX Gateway Fabric supports a single GatewayClass resource configured with the - `SupportedVersion/True/SupportedVersion` - `SupportedVersion/False/UnsupportedVersion` ---- - ### Gateway {{< bootstrap-table "table table-striped table-bordered" >}} @@ -90,7 +85,7 @@ NGINX Gateway Fabric supports a single GatewayClass resource configured with the {{< /bootstrap-table >}} -NGINX Gateway Fabric supports a single Gateway resource. The Gateway resource must reference NGINX Gateway Fabric's corresponding GatewayClass. +NGINX Gateway Fabric supports multiple Gateway resources. The Gateway resources must reference NGINX Gateway Fabric's corresponding GatewayClass. See the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) command for more information. @@ -98,6 +93,10 @@ See the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) comma - `spec` - `gatewayClassName`: Supported. + - `infrastructure`: Supported. + - `parametersRef`: NginxProxy resource supported. + - `labels`: Supported. + - `annotations`: Supported. - `listeners` - `name`: Supported. - `hostname`: Supported. @@ -109,21 +108,18 @@ See the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) comma - `options`: Not supported. - `allowedRoutes`: Supported. - `addresses`: Not supported. - - `infrastructure`: Not supported. - `backendTLS`: Not supported. + - `allowedListeners`: Not supported. - `status` - - `addresses`: Partially supported (LoadBalancer and Pod IP). + - `addresses`: Partially supported (LoadBalancer and ClusterIP). - `conditions`: Supported (Condition/Status/Reason): - `Accepted/True/Accepted` - `Accepted/True/ListenersNotValid` - `Accepted/False/ListenersNotValid` - `Accepted/False/Invalid` - `Accepted/False/UnsupportedValue`: Custom reason for when a value of a field in a Gateway is invalid or not supported. - - `Accepted/False/GatewayConflict`: Custom reason for when the Gateway is ignored due to a conflicting Gateway. - NGINX Gateway Fabric only supports a single Gateway. - `Programmed/True/Programmed` - `Programmed/False/Invalid` - - `Programmed/False/GatewayConflict`: Custom reason for when the Gateway is ignored due to a conflicting Gateway. NGINX Gateway Fabric only supports a single Gateway. - `listeners` - `name`: Supported. - `supportedKinds`: Supported. @@ -135,7 +131,6 @@ See the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) comma - `Accepted/False/ProtocolConflict` - `Accpeted/False/HostnameConflict` - `Accepted/False/UnsupportedValue`: Custom reason for when a value of a field in a Listener is invalid or not supported. - - `Accepted/False/GatewayConflict`: Custom reason for when the Gateway is ignored due to a conflicting Gateway. NGINX Gateway Fabric only supports a single Gateway. - `Programmed/True/Programmed` - `Programmed/False/Invalid` - `ResolvedRefs/True/ResolvedRefs` @@ -145,8 +140,6 @@ See the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) comma - `Conflicted/True/HostnameConflict` - `Conflicted/False/NoConflicts` ---- - ### HTTPRoute {{< bootstrap-table "table table-striped table-bordered" >}} @@ -165,8 +158,8 @@ See the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) comma - `rules` - `matches` - `path`: Partially supported. Only `PathPrefix` and `Exact` types. - - `headers`: Partially supported. Only `Exact` type. - - `queryParams`: Partially supported. Only `Exact` type. + - `headers`: Supported. + - `queryParams`: Supported. - `method`: Supported. - `filters` - `type`: Supported. @@ -174,7 +167,8 @@ See the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) comma - `requestHeaderModifier`: Supported. If multiple filters are configured, NGINX Gateway Fabric will choose the first and ignore the rest. - `urlRewrite`: Supported. If multiple filters are configured, NGINX Gateway Fabric will choose the first and ignore the rest. Incompatible with `requestRedirect`. - `responseHeaderModifier`: Supported. If multiple filters are configured, NGINX Gateway Fabric will choose the first and ignore the rest. - - `requestMirror`, `extensionRef`: Not supported. + - `requestMirror`: Supported. Multiple mirrors can be specified. + - `extensionRef`: Supported for SnippetsFilters. - `backendRefs`: Partially supported. Backend ref `filters` are not supported. - `status` - `parents` @@ -197,8 +191,6 @@ See the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) comma - `ResolvedRefs/False/InvalidIPFamily`: Custom reason for when one of the HTTPRoute rules has a backendRef that has an invalid IPFamily. - `PartiallyInvalid/True/UnsupportedValue` ---- - ### GRPCRoute {{< bootstrap-table "table table-striped table-bordered" >}} @@ -217,12 +209,13 @@ See the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) comma - `rules` - `matches` - `method`: Partially supported. Only `Exact` type with both `method.service` and `method.method` specified. - - `headers`: Partially supported. Only `Exact` type. + - `headers`: Supported - `filters` - `type`: Supported. - `requestHeaderModifier`: Supported. If multiple filters are configured, NGINX Gateway Fabric will choose the first and ignore the rest. - `responseHeaderModifier`: Supported. If multiple filters are configured, NGINX Gateway Fabric will choose the first and ignore the rest. - - `requestMirror`, `extensionRef`: Not supported. + - `requestMirror`: Supported. Multiple mirrors can be specified. + - `extensionRef`: Supported for SnippetsFilters. - `backendRefs`: Partially supported. Backend ref `filters` are not supported. - `status` - `parents` @@ -243,8 +236,6 @@ See the [static-mode]({{< ref "/ngf/reference/cli-help.md#static-mode">}}) comma - `ResolvedRefs/False/UnsupportedValue`: Custom reason for when one of the GRPCRoute rules has a backendRef with an unsupported value. - `PartiallyInvalid/True/UnsupportedValue` ---- - ### ReferenceGrant {{< bootstrap-table "table table-striped table-bordered" >}} @@ -267,8 +258,6 @@ Fields: - `kind` - supports `Gateway` and `HTTPRoute`. - `namespace`- supported. ---- - ### TLSRoute {{< bootstrap-table "table table-striped table-bordered" >}} @@ -319,8 +308,6 @@ Fields: {{< /bootstrap-table >}} ---- - ### UDPRoute {{< bootstrap-table "table table-striped table-bordered" >}} @@ -331,8 +318,6 @@ Fields: {{< /bootstrap-table >}} ---- - ### BackendTLSPolicy {{< bootstrap-table "table table-striped table-bordered" >}} @@ -351,10 +336,10 @@ Fields: - `kind`: Supports `Service`. - `name`: Supported. - `validation` - - `caCertificateRefs`: Supports single reference to a `ConfigMap`, with the CA certificate in a key named `ca.crt`. + - `caCertificateRefs`: Supports single reference to a `ConfigMap` or `Secret`, with the CA certificate in a key named `ca.crt`. - `name`: Supported. - `group`: Supported. - - `kind`: Supports `ConfigMap`. + - `kind`: Supports `ConfigMap` and `Secret`. - `hostname`: Supported. - `wellKnownCertificates`: Supports `System`. This will set the CA certificate to the Alpine system root CA path `/etc/ssl/cert.pem`. NB: This option will only work if the NGINX image used is Alpine based. The NGF NGINX images are Alpine based by default. - `subjectAltNames`: Not supported. @@ -382,4 +367,4 @@ Fields: Custom policies are NGINX Gateway Fabric-specific CRDs (Custom Resource Definitions) that support features such as tracing, and client connection settings. These important data-plane features are not part of the Gateway API specifications. While these CRDs are not part of the Gateway API, the mechanism to attach them to Gateway API resources is part of the Gateway API. See the [Policy Attachment documentation](https://gateway-api.sigs.k8s.io/references/policy-attachment/). -See the [custom policies]({{< ref "/ngf/overview/custom-policies.md" >}}) document for more information. +See the [custom policies]({{< ref "/ngf/overview/custom-policies.md" >}}) document for more information. \ No newline at end of file diff --git a/content/ngf/overview/gateway-architecture.md b/content/ngf/overview/gateway-architecture.md index 7426c67c1..fa45758e7 100644 --- a/content/ngf/overview/gateway-architecture.md +++ b/content/ngf/overview/gateway-architecture.md @@ -2,9 +2,9 @@ title: Gateway architecture weight: 100 toc: true -type: reference -product: NGF -docs: DOCS-1413 +nd-content-type: reference +nd-product: NGF +nd-docs: DOCS-1413 --- Learn about the architecture and design principles of NGINX Gateway Fabric. @@ -24,87 +24,345 @@ NGINX Gateway Fabric is an open source project that provides an implementation o For a list of supported Gateway API resources and features, see the [Gateway API Compatibility]({{< ref "/ngf/overview/gateway-api-compatibility.md" >}}) documentation. -We have more information regarding our [design principles](https://github.com/nginx/nginx-gateway-fabric/blob/v{{< version-ngf >}}/docs/developer/design-principles.md) in the project's GitHub repository. +NGINX Gateway Fabric separates the control plane and data plane into distinct deployments. This architectural separation enhances scalability, security, and operational isolation between the two components. + +The control plane interacts with the Kubernetes API, watching for Gateway API resources. When a new Gateway resource is provisioned, it dynamically creates and manages a corresponding NGINX data plane Deployment and Service. This ensures that the system can adapt to changes in the cluster state seamlessly. + +Each NGINX data plane pod consists of an NGINX container integrated with the [NGINX agent](https://github.com/nginx/agent). The agent securely communicates with the control plane using gRPC. The control plane translates Gateway API resources into NGINX configurations and sends these configurations to the agent to ensure consistent traffic management. + +This design enables centralized management of multiple Gateways while ensuring that each NGINX instance stays aligned with the cluster's current configuration. Labels, annotations, and infrastructure settings such as service type or replica count can be specified globally via the Helm chart or customized per Gateway using the enhanced NginxProxy CRD and the Gateway's `infrastructure` section. + +We have more information regarding our [design principles](https://github.com/nginx/nginx-gateway-fabric/blob/v1.6.1/docs/developer/design-principles.md) in the project's GitHub repository. --- -## NGINX Gateway Fabric at a high level +## NGINX Gateway Fabric Deployment Model and Architectural Overview -This figure depicts an example of NGINX Gateway Fabric exposing two web applications within a Kubernetes cluster to clients on the internet: +The NGINX Gateway Fabric architecture separates the control plane and data plane into distinct and independent Deployments, ensuring enhanced security, flexibility, and resilience. -{{< img src="/ngf/img/ngf-high-level.png" alt="" >}} +### Control Plane: Centralized Management -{{< note >}} The figure does not show many of the necessary Kubernetes resources the Cluster Operators and Application Developers need to create, like deployment and services. {{< /note >}} +The control plane operates as a Deployment, serving as a [Kubernetes controller](https://kubernetes.io/docs/concepts/architecture/controller/) built with the [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) library. It manages all aspects of resource provisioning and configuration for the NGINX data planes by watching Gateway API resources and other Kubernetes objects such as Services, Endpoints, and Secrets. -The figure shows: +Key functionalities include: -- A _Kubernetes cluster_. -- Users _Cluster Operator_, _Application Developer A_ and _Application Developer B_. These users interact with the cluster through the Kubernetes API by creating Kubernetes objects. -- _Clients A_ and _Clients B_ connect to _Applications A_ and _B_, respectively, which they have deployed. -- The _NGF Pod_, [deployed by _Cluster Operator_]({{< ref "/ngf/installation">}}) in the namespace _nginx-gateway_. For scalability and availability, you can have multiple replicas. This pod consists of two containers: `NGINX` and `NGF`. The _NGF_ container interacts with the Kubernetes API to retrieve the most up-to-date Gateway API resources created within the cluster. It then dynamically configures the _NGINX_ container based on these resources, ensuring proper alignment between the cluster state and the NGINX configuration. -- _Gateway AB_, created by _Cluster Operator_, requests a point where traffic can be translated to Services within the cluster. This Gateway includes a listener with a hostname `*.example.com`. Application Developers have the ability to attach their application's routes to this Gateway if their application's hostname matches `*.example.com`. -- _Application A_ with two pods deployed in the _applications_ namespace by _Application Developer A_. To expose the application to its clients (_Clients A_) via the host `a.example.com`, _Application Developer A_ creates _HTTPRoute A_ and attaches it to `Gateway AB`. -- _Application B_ with one pod deployed in the _applications_ namespace by _Application Developer B_. To expose the application to its clients (_Clients B_) via the host `b.example.com`, _Application Developer B_ creates _HTTPRoute B_ and attaches it to `Gateway AB`. -- _Public Endpoint_, which fronts the _NGF_ pod. This is typically a TCP load balancer (cloud, software, or hardware) or a combination of such load balancer with a NodePort service. _Clients A_ and _B_ connect to their applications via the _Public Endpoint_. +- Dynamic provisioning: When a new Gateway resource is created, the control plane automatically provisions a dedicated NGINX Deployment and exposes it using a Service. +- Configuration management: Kubernetes and Gateway API resources are translated into NGINX configurations, which are securely delivered to the data plane pods via a gRPC connection to the NGINX Agent. +- Secure communication: By default, the gRPC connection uses self-signed certificates generated during installation. Integration with [cert-manager](https://cert-manager.io/) is also supported for optional certificate management. -The yellow and purple arrows represent connections related to the client traffic, and the black arrows represent access to the Kubernetes API. The resources within the cluster are color-coded based on the user responsible for their creation. +### Data Plane: Autonomous Traffic Management -For example, the Cluster Operator is denoted by the color green, indicating they create and manage all the green resources. +Each NGINX data plane pod is provisioned as an independent Deployment containing an `nginx` container. This container runs both the `nginx` process and the [NGINX agent](https://github.com/nginx/agent), which is responsible for: ---- +- Applying configurations: The agent receives updates from the control plane and applies them to the NGINX instance. +- Handling reloads: NGINX Agent handles configuration reconciliation and reloading NGINX, eliminating the need for shared volumes or Unix signals between the control plane and data plane pods. + +With this design, multiple NGINX data planes can be managed by a single control plane, enabling fine-grained, Gateway-specific control and isolation. + +### Gateway Resource Management -## The NGINX Gateway Fabric pod +The architecture supports flexible operation and isolation across multiple Gateways: -NGINX Gateway Fabric consists of two containers: +- Concurrent Gateways: Multiple Gateway objects can run simultaneously within a single installation. +- 1:1 resource mapping: Each Gateway resource corresponds uniquely to a dedicated data plane deployment, ensuring clear delineation of ownership and operational segregation. -1. `nginx`: the data plane. Consists of an NGINX master process and NGINX worker processes. The master process controls the worker processes. The worker processes handle the client traffic and load balance traffic to the backend applications. -1. `nginx-gateway`: the control plane. Watches Kubernetes objects and configures NGINX. +### Resilience and Fault Isolation -These containers are deployed in a single pod as a Kubernetes Deployment. +One of the primary advantages of this architecture is enhanced operational resilience and fault isolation: -The `nginx-gateway`, or the control plane, is a [Kubernetes controller](https://kubernetes.io/docs/concepts/architecture/controller/), written with the [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) library. It watches Kubernetes objects (services, endpoints, secrets, and Gateway API CRDs), translates them to NGINX configuration, and configures NGINX. +#### Control Plane Resilience -This configuration happens in two stages: +In the event of a control plane failure or downtime: +- Existing data plane pods continue serving traffic using their last-valid cached configurations. +- Updates to routes or Gateways are temporarily paused, but stable traffic delivery continues without degradation. +- Recovery restores functionality, resynchronizing configuration updates seamlessly. -1. NGINX configuration files are written to the NGINX configuration volume shared by the `nginx-gateway` and `nginx` containers. -1. The control plane reloads the NGINX process. +#### Data Plane Resilience -This is possible because the two containers [share a process namespace](https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/), allowing the NGINX Gateway Fabric process to send signals to the NGINX main process. +If a data plane pod encounters an outage or restarts: +- Only routes tied to the specific linked Gateway object experience brief disruptions. +- Configurations automatically resynchronize with the data plane upon pod restart, minimizing the scope of impact. +- Other data plane pods remain unaffected and continue serving traffic normally. -The following diagram represents the connections, relationships and interactions between process with the `nginx` and `nginx-gateway` containers, as well as external processes/entities. +This split architecture ensures operational boundaries between the control plane and data plane, delivering improved scalability, security, and robustness while minimizing risks associated with failures in either component. -{{< img src="/ngf/img/ngf-pod.png" alt="" >}} +--- + +## High-Level Example of NGINX Gateway Fabric in Action + +This figure depicts an example of NGINX Gateway Fabric exposing three web applications within a Kubernetes cluster to clients on the internet: + +```mermaid +graph LR + %% Nodes and Relationships + subgraph KubernetesCluster[Kubernetes Cluster] + + subgraph applications2[Namespace: applications2] + + subgraph DataplaneComponentsC[Dataplane Components] + GatewayC[Gateway C
      Listener: *.other-example.com] + + subgraph NGINXPodC[NGINX Pod] + subgraph NGINXContainerC[NGINX Container] + NGINXProcessC(NGINX) + NGINXAgentC(NGINX Agent) + end + end + end + + subgraph HTTPRouteCAndApplicationC[HTTPRoute C and Application C] + HTTPRouteC[HTTPRoute C
      Host: c.other-example.com] + ApplicationC[Application C
      Pods: 1] + end + + end + + subgraph nginx-gateway[Namespace: nginx-gateway] + NGFPod[NGF Pod] + end + + subgraph applications1[Namespace: applications] + + subgraph DataplaneComponentsAB[Dataplane Components] + GatewayAB[Gateway AB
      Listener: *.example.com] + + subgraph NGINXPodAB[NGINX Pod] + subgraph NGINXContainerAB[NGINX Container] + NGINXProcessAB(NGINX) + NGINXAgentAB(NGINX Agent) + end + end + end + + subgraph HTTPRouteBAndApplicationB[HTTPRoute B and Application B] + HTTPRouteB[HTTPRoute B
      Host: b.example.com] + ApplicationB[Application B
      Pods: 1] + end + + subgraph HTTPRouteAAndApplicationA[HTTPRoute A and Application A] + HTTPRouteA[HTTPRoute A
      Host: a.example.com] + ApplicationA[Application AB
      Pods: 2] + end + end + + KubernetesAPI[Kubernetes API] + end + + subgraph Users[Users] + ClusterOperator[Cluster Operator] + AppDevA[Application Developer A] + AppDevB[Application Developer B] + AppDevC[Application Developer C] + end + + subgraph Clients[Clients] + ClientsA[Clients A] + ClientsB[Clients B] + ClientsC[Clients C] + end + + subgraph "Public Endpoints" + PublicEndpointAB[Public Endpoint AB
      TCP Load Balancer/NodePort] + PublicEndpointC[Public Endpoint C
      TCP Load Balancer/NodePort] + end + + %% Updated Traffic Flow + ClientsA == a.example.com ==> PublicEndpointAB + ClientsB == b.example.com ==> PublicEndpointAB + ClientsC == c.other-example.com ==> PublicEndpointC + + PublicEndpointAB ==> NGINXProcessAB + PublicEndpointC ==> NGINXProcessC + NGINXProcessAB ==> ApplicationA + NGINXProcessAB ==> ApplicationB + NGINXProcessC ==> ApplicationC + + %% Kubernetes Configuration Flow + HTTPRouteA --> GatewayAB + HTTPRouteB --> GatewayAB + HTTPRouteC --> GatewayC + + NGFPod --> KubernetesAPI + NGFPod --gRPC--> NGINXAgentAB + NGINXAgentAB --> NGINXProcessAB + NGFPod --gRPC--> NGINXAgentC + NGINXAgentC --> NGINXProcessC + + ClusterOperator --> KubernetesAPI + AppDevA --> KubernetesAPI + AppDevB --> KubernetesAPI + AppDevC --> KubernetesAPI + + %% Styling + style ClusterOperator fill:#66CDAA,stroke:#333,stroke-width:2px + style GatewayAB fill:#66CDAA,stroke:#333,stroke-width:2px + style GatewayC fill:#66CDAA,stroke:#333,stroke-width:2px + style NGFPod fill:#66CDAA,stroke:#333,stroke-width:2px + + style NGINXProcessAB fill:#66CDAA,stroke:#333,stroke-width:2px + style NGINXProcessC fill:#66CDAA,stroke:#333,stroke-width:2px + + style KubernetesAPI fill:#9370DB,stroke:#333,stroke-width:2px + + style HTTPRouteAAndApplicationA fill:#E0FFFF,stroke:#333,stroke-width:2px + style HTTPRouteBAndApplicationB fill:#E0FFFF,stroke:#333,stroke-width:2px + + style AppDevA fill:#FFA07A,stroke:#333,stroke-width:2px + style HTTPRouteA fill:#FFA07A,stroke:#333,stroke-width:2px + style ApplicationA fill:#FFA07A,stroke:#333,stroke-width:2px + style ClientsA fill:#FFA07A,stroke:#333,stroke-width:2px + + style AppDevB fill:#87CEEB,stroke:#333,stroke-width:2px + style HTTPRouteB fill:#87CEEB,stroke:#333,stroke-width:2px + style ApplicationB fill:#87CEEB,stroke:#333,stroke-width:2px + style ClientsB fill:#87CEEB,stroke:#333,stroke-width:2px + + style AppDevC fill:#FFC0CB,stroke:#333,stroke-width:2px + style HTTPRouteC fill:#FFC0CB,stroke:#333,stroke-width:2px + style ApplicationC fill:#FFC0CB,stroke:#333,stroke-width:2px + style ClientsC fill:#FFC0CB,stroke:#333,stroke-width:2px + + style PublicEndpointAB fill:#FFD700,stroke:#333,stroke-width:2px + style PublicEndpointC fill:#FFD700,stroke:#333,stroke-width:2px + + %% Styling + classDef dashedSubgraph stroke-dasharray: 5, 5; + + %% Assign Custom Style Classes + class DataplaneComponentsAB dashedSubgraph; + class DataplaneComponentsC dashedSubgraph; +``` + +{{< note >}} The figure does not show many of the necessary Kubernetes resources the Cluster Operators and Application Developers need to create, like deployment and services. {{< /note >}} + +The figure shows: + +- A _Kubernetes cluster_. +- Users _Cluster Operator_, _Application Developer A_, _B_ and _C_. These users interact with the cluster through the Kubernetes API by creating Kubernetes objects. +- _Clients A_, _B_, and _C_ connect to _Applications A_, _B_, and _C_ respectively, which the developers have deployed. +- The _NGF Pod_, [deployed by _Cluster Operator_]({{< ref "/ngf/install/">}}) in the namespace _nginx-gateway_. For scalability and availability, you can have multiple replicas. The _NGF_ container interacts with the Kubernetes API to retrieve the most up-to-date Gateway API resources created within the cluster. When a new Gateway resource is provisioned, the control plane dynamically creates and manages a corresponding NGINX data plane Deployment and Service. It watches the Kubernetes API and dynamically configures these _NGINX_ deployments based on the Gateway API resources, ensuring proper alignment between the cluster state and the NGINX configuration. +- The _NGINX Pod_ consists of an NGINX container and the integrated NGINX agent, which securely communicates with the control plane over gRPC. The control plane translates Gateway API resources into NGINX configuration, and sends the configuration to the agent. +- Gateways _Gateway AB_ and _Gateway C_, created by _Cluster Operator_, request points where traffic can be translated to Services within the cluster. _Gateway AB_, includes a listener with a hostname `*.example.com`. _Gateway C_, includes a listener with a hostname `*.other-example.com`. Application Developers have the ability to attach their application's routes to the _Gateway AB_ if their application's hostname matches `*.example.com`, or to _Gateway C_ if their application's hostname matches `*.other-example.com` +- _Application A_ with two pods deployed in the _applications_ namespace by _Application Developer A_. To expose the application to its clients (_Clients A_) via the host `a.example.com`, _Application Developer A_ creates _HTTPRoute A_ and attaches it to `Gateway AB`. +- _Application B_ with one pod deployed in the _applications_ namespace by _Application Developer B_. To expose the application to its clients (_Clients B_) via the host `b.example.com`, _Application Developer B_ creates _HTTPRoute B_ and attaches it to `Gateway AB`. +- _Application C_ with one pod deployed in the _applications2_ namespace by _Application Developer C_. To expose the application to its clients (_Clients C_) via the host `c.other-example.com`, _Application Developer C_ creates _HTTPRoute C_ and attaches it to `Gateway C`. +- _Public Endpoint AB_, and _Public Endpoint C_ and which fronts the _NGINX AB_, and _NGINX C_ pods respectively. A public endpoint is typically a TCP load balancer (cloud, software, or hardware) or a combination of such load balancer with a NodePort service. _Clients A_ and _B_ connect to their applications via the _Public Endpoint AB_, and _Clients C_ connect to their applications via the _Public Endpoint C_. +- The bold arrows represent connections related to the client traffic. Note that the traffic from _Clients C_ to _Application C_ is completely isolated from the traffic between _Clients A_ and _B_ and _Application A_ and _B_ respectively. + +The resources within the cluster are color-coded based on the user responsible for their creation. +For example, the Cluster Operator is denoted by the color green, indicating they create and manage all the green resources. + +--- + +## NGINX Gateway Fabric: Component Communication Workflow + +```mermaid +graph LR + %% Main Components + KubernetesAPI[Kubernetes API] + PrometheusMonitor[Prometheus] + F5Telemetry[F5 Telemetry Service] + NGFPod[NGF Pod] + NGINXPod[NGINX Pod] + Client[Client] + Backend[Backend] + + %% NGINX Pod Grouping + subgraph NGINXPod[NGINX Pod] + NGINXAgent[NGINX Agent] + NGINXMaster[NGINX Master] + NGINXWorker[NGINX Worker] + ConfigFiles[Config Files] + ContainerRuntimeNGINX[stdout/stderr] + end + + subgraph NGFPod[NGF Pod] + NGFProcess[NGF Process] + ContainerRuntimeNGF[stdout/stderr] + end + + %% External Components Grouping + subgraph ExternalComponents[.] + KubernetesAPI[Kubernetes API] + PrometheusMonitor[Prometheus] + F5Telemetry[F5 Telemetry Service] + end + + %% HTTPS: Communication with Kubernetes API + NGFProcess -- "(1) Reads Updates" --> KubernetesAPI + NGFProcess -- "(1) Writes Statuses" --> KubernetesAPI + + %% Prometheus: Metrics Collection + PrometheusMonitor -- "(2) Fetches controller-runtime metrics" --> NGFPod + PrometheusMonitor -- "(5) Fetches NGINX metrics" --> NGINXWorker + + %% Telemetry: Product telemetry data + NGFProcess -- "(3) Sends telemetry data" --> F5Telemetry + + %% File I/O: Logging + NGFProcess -- "(4) Write logs" --> ContainerRuntimeNGF + NGINXMaster -- "(11) Write logs" --> ContainerRuntimeNGINX + NGINXWorker -- "(12) Write logs" --> ContainerRuntimeNGINX + + %% gRPC: Configuration Updates + NGFProcess -- "(6) Sends Config to Agent" --> NGINXAgent + NGINXAgent -- "(7) Validates & Writes Config & TLS Certs" --> ConfigFiles + NGINXAgent -- "(8) Reloads NGINX" --> NGINXMaster + NGINXAgent -- "(9) Sends DataPlaneResponse" --> NGFProcess + + %% File I/O: Configuration and Secrets + NGINXMaster -- "(10) Reads TLS Secrets" --> ConfigFiles + NGINXMaster -- "(11) Reads nginx.conf & NJS Modules" --> ConfigFiles + + %% Signals: Worker Lifecycle Management + NGINXMaster -- "(14) Manages Workers (Update/Shutdown)" --> NGINXWorker + + %% Traffic Flow + Client -- "(15) Sends Traffic" --> NGINXWorker + NGINXWorker -- "(16) Routes Traffic" --> Backend + + %% Styling + classDef important fill:#66CDAA,stroke:#333,stroke-width:2px; + classDef metrics fill:#FFC0CB,stroke:#333,stroke-width:2px; + classDef io fill:#FFD700,stroke:#333,stroke-width:2px; + classDef signal fill:#87CEEB,stroke:#333,stroke-width:2px; + style ExternalComponents fill:transparent,stroke-width:0px + + %% Class Assignments for Node Colors + class NGFPod,KubernetesAPI important; + class PrometheusMonitor,F5Telemetry metrics; + class ConfigFiles,NGINXMaster,NGINXWorker,NGINXAgent io; + class Client,Backend signal; +``` The following list describes the connections, preceeded by their types in parentheses. For brevity, the suffix "process" has been omitted from the process descriptions. 1. (HTTPS) - Read: _NGF_ reads the _Kubernetes API_ to get the latest versions of the resources in the cluster. - - Write: _NGF_ writes to the _Kubernetes API_ to update the handled resources' statuses and emit events. If there's more than one replica of _NGF_ and [leader election](https://github.com/nginx/nginx-gateway-fabric/tree/v{{< version-ngf >}}/charts/nginx-gateway-fabric#configuration) is enabled, only the _NGF_ pod that is leading will write statuses to the _Kubernetes API_. -1. (HTTP, HTTPS) _Prometheus_ fetches the `controller-runtime` and NGINX metrics via an HTTP endpoint that _NGF_ exposes (`:9113/metrics` by default). Prometheus is **not** required by NGINX Gateway Fabric, and its endpoint can be turned off. -1. (File I/O) - - Write: _NGF_ generates NGINX _configuration_ based on the cluster resources and writes them as `.conf` files to the mounted `nginx-conf` volume, located at `/etc/nginx/conf.d`. It also writes _TLS certificates_ and _keys_ from [TLS secrets](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) referenced in the accepted Gateway resource to the `nginx-secrets` volume at the path `/etc/nginx/secrets`. - - Read: _NGF_ reads the PID file `nginx.pid` from the `nginx-run` volume, located at `/var/run/nginx`. _NGF_ extracts the PID of the nginx process from this file in order to send reload signals to _NGINX master_. + - Write: _NGF_ writes to the _Kubernetes API_ to update the handled resources' statuses and emit events. If there's more than one replica of _NGF_ and [leader election](https://github.com/nginx/nginx-gateway-fabric/tree/v1.6.1/charts/nginx-gateway-fabric#configuration) is enabled, only the _NGF_ pod that is leading will write statuses to the _Kubernetes API_. +1. (HTTP, HTTPS) _Prometheus_ fetches the `controller-runtime` metrics via an HTTP endpoint that _NGF_ exposes (`:9113/metrics` by default). +Prometheus is **not** required by NGINX Gateway Fabric, and its endpoint can be turned off. +1. (HTTPS) NGF sends [product telemetry data]({{< ref "/ngf/overview/product-telemetry.md" >}}) to the F5 telemetry service. 1. (File I/O) _NGF_ writes logs to its _stdout_ and _stderr_, which are collected by the container runtime. -1. (HTTP) _NGF_ fetches the NGINX metrics via the unix:/var/run/nginx/nginx-status.sock UNIX socket and converts it to _Prometheus_ format used in #2. -1. (Signal) To reload NGINX, _NGF_ sends the [reload signal](https://nginx.org/en/docs/control.html) to the **NGINX master**. +1. (HTTP, HTTPS) _Prometheus_ fetches the NGINX metrics via an HTTP endpoint that _NGINX_ exposes (`:9113/metrics` by default). Prometheus is **not** required by NGINX, and its endpoint can be turned off. +1. (gRPC) _NGF_ generates NGINX _configuration_ based on the cluster resources and sends them to _NGINX Agent_ over a secure gRPC connection. + - NGF sends a message containing file metadata to all pods (subscriptions) for the deployment. + - Agent receives a ConfigApplyRequest with the list of file metadata. + - Agent calls GetFile for each file in the list, which NGF sends back to the agent. 1. (File I/O) - - Write: The _NGINX master_ writes its PID to the `nginx.pid` file stored in the `nginx-run` volume. - - Read: The _NGINX master_ reads _configuration files_ and the _TLS cert and keys_ referenced in the configuration when it starts or during a reload. These files, certificates, and keys are stored in the `nginx-conf` and `nginx-secrets` volumes that are mounted to both the `nginx-gateway` and `nginx` containers. + - Write: __NGINX Agent_ validates the received configuration, and then writes and applies the config if valid. It also writes _TLS certificates_ and _keys_ from [TLS secrets](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) referenced in the accepted Gateway resource. +1. (Signal) To reload NGINX, Agent sends the reload signal to the NGINX master. +1. (gRPC) Agent responds to NGF with a DataPlaneResponse. 1. (File I/O) - - Write: The _NGINX master_ writes to the auxiliary Unix sockets folder, which is located in the `/var/run/nginx` - directory. - - Read: The _NGINX master_ reads the `nginx.conf` file from the `/etc/nginx` directory. This [file](https://github.com/nginx/nginx-gateway-fabric/blob/v{{< version-ngf >}}/internal/mode/static/nginx/conf/nginx.conf) contains the global and http configuration settings for NGINX. In addition, _NGINX master_ reads the NJS modules referenced in the configuration when it starts or during a reload. NJS modules are stored in the `/usr/lib/nginx/modules` directory. + - Read: The _NGINX master_ reads _configuration files_ and the _TLS cert and keys_ referenced in the configuration when it starts or during a reload. +1. (File I/O) + - Read: The _NGINX master_ reads the `nginx.conf` file from the `/etc/nginx` directory. This [file](https://github.com/nginx/nginx-gateway-fabric/blob/v1.6.1/internal/mode/static/nginx/conf/nginx.conf) contains the global and http configuration settings for NGINX. In addition, _NGINX master_ reads the NJS modules referenced in the configuration when it starts or during a reload. NJS modules are stored in the `/usr/lib/nginx/modules` directory. 1. (File I/O) The _NGINX master_ sends logs to its _stdout_ and _stderr_, which are collected by the container runtime. 1. (File I/O) An _NGINX worker_ writes logs to its _stdout_ and _stderr_, which are collected by the container runtime. 1. (Signal) The _NGINX master_ controls the [lifecycle of _NGINX workers_](https://nginx.org/en/docs/control.html#reconfiguration) it creates workers with the new configuration and shutdowns workers with the old configuration. -1. (HTTP) To consider a configuration reload a success, _NGF_ ensures that at least one NGINX worker has the new configuration. To do that, _NGF_ checks a particular endpoint via the unix:/var/run/nginx/nginx-config-version.sock UNIX socket. 1. (HTTP, HTTPS) A _client_ sends traffic to and receives traffic from any of the _NGINX workers_ on ports 80 and 443. 1. (HTTP, HTTPS) An _NGINX worker_ sends traffic to and receives traffic from the _backends_. -Below are additional connections not depcited on the diagram: - -- (HTTPS) NGF sends [product telemetry data]({{< ref "/ngf/overview/product-telemetry.md" >}}) to the F5 telemetry service. - --- ### Differences with NGINX Plus @@ -123,6 +381,4 @@ The normal process to update any changes to NGINX is to write the configuration ## Pod readiness -The `nginx-gateway` container includes a readiness endpoint available through the path `/readyz`. A [readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes) periodically checks the endpoint on startup, returning a `200 OK` response when the pod can accept traffic for the data plane. Once the control plane successfully starts, the pod becomes ready. - -If there are relevant Gateway API resources in the cluster, the control plane will generate the first NGINX configuration and successfully reload NGINX before the pod is considered ready. +The `nginx-gateway` container exposes a readiness endpoint at `/readyz`. During startup, a [readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes) periodically checks this endpoint. The probe returns a `200 OK` response once the control plane initializes successfully and is ready to begin configuring NGINX. At that point, the pod is marked as ready. diff --git a/content/ngf/overview/nginx-plus.md b/content/ngf/overview/nginx-plus.md index ae4de3643..30543eca3 100644 --- a/content/ngf/overview/nginx-plus.md +++ b/content/ngf/overview/nginx-plus.md @@ -10,7 +10,7 @@ NGINX Gateway Fabric can use NGINX Open Source or NGINX Plus as its data plane. ## Benefits of NGINX Plus -- **Robust metrics**: A plethora of [additional Prometheus metrics](https://github.com/nginx/nginx-prometheus-exporter#metrics-for-nginx-plus) are available. -- **Live activity monitoring**: The [NGINX Plus dashboard]({{< ref "/ngf/how-to/monitoring/dashboard.md" >}}) shows real-time metrics and information about your server infrastructure. +- **Robust metrics**: A plethora of [additional Prometheus metrics]({{< ref "/ngf/monitoring/prometheus.md" >}}) are available. +- **Live activity monitoring**: The [NGINX Plus dashboard]({{< ref "/ngf/monitoring/dashboard.md" >}}) shows real-time metrics and information about your server infrastructure. - **Dynamic upstream configuration**: NGINX Plus can dynamically reconfigure upstream servers when applications in Kubernetes scale up and down, preventing the need for an NGINX reload. - **Support**: With an NGINX Plus license, you can take advantage of full [support](https://my.f5.com/manage/s/article/K000140156/) from NGINX, Inc. diff --git a/content/ngf/overview/product-telemetry.md b/content/ngf/overview/product-telemetry.md index 3c73a4cb5..1213eff4b 100644 --- a/content/ngf/overview/product-telemetry.md +++ b/content/ngf/overview/product-telemetry.md @@ -1,9 +1,9 @@ --- title: Product telemetry weight: 500 -type: reference -product: NGF -docs: DOCS-000 +nd-content-type: reference +nd-product: NGF +nd-docs: DOCS-000 --- Learn why, what and how NGINX Gateway Fabric collects telemetry. @@ -16,8 +16,6 @@ Telemetry data is collected once every 24 hours and sent to a service managed by **If you would prefer to not have data collected, you can [opt-out](#opt-out) when installing NGINX Gateway Fabric.** ---- - ## Collected data - **Kubernetes:** @@ -28,12 +26,12 @@ Telemetry data is collected once every 24 hours and sent to a service managed by - **Cluster Node Count:** the number of Nodes in the cluster. - **Version:** the version of the NGINX Gateway Fabric Deployment. - **Deployment UID:** the UID of the NGINX Gateway Fabric Deployment. -- **Deployment Replica Count:** the count of NGINX Gateway Fabric Pods. - **Image Build Source:** whether the image was built by GitHub or locally (values are `gha`, `local`, or `unknown`). The source repository of the images is **not** collected. - **Deployment Flags:** a list of NGINX Gateway Fabric Deployment flags that are specified by a user. The actual values of non-boolean flags are **not** collected; we only record that they are either `true` or `false` for boolean flags and `default` or `user-defined` for the rest. - **Count of Resources:** the total count of resources related to NGINX Gateway Fabric. This includes `GatewayClasses`, `Gateways`, `HTTPRoutes`,`GRPCRoutes`, `TLSRoutes`, `Secrets`, `Services`, `BackendTLSPolicies`, `ClientSettingsPolicies`, `NginxProxies`, `ObservabilityPolicies`, `UpstreamSettingsPolicies`, `SnippetsFilters`, and `Endpoints`. The data within these resources is **not** collected. -- **SnippetsFilters Info:** a list of directive-context strings from applied SnippetFilters and a total count per strings. The actual value of any NGINX directive is **not** collected. - +- **SnippetsFilters Info** a list of directive-context strings from applied SnippetFilters and a total count per strings. The actual value of any NGINX directive is **not** collected. +- **Control Plane Pod Count** the count of NGINX Gateway Fabric Pods. +- **Data Plane Pod Count** the count of NGINX data plane Pods. This data is used to identify the following information: - The flavors of Kubernetes environments that are most popular among our users. diff --git a/content/ngf/overview/resource-validation.md b/content/ngf/overview/resource-validation.md index f7c7fbb85..3c11f9b18 100644 --- a/content/ngf/overview/resource-validation.md +++ b/content/ngf/overview/resource-validation.md @@ -2,17 +2,15 @@ title: Resource validation weight: 400 toc: true -type: reference -product: NGF -docs: DOCS-1414 +nd-content-type: reference +nd-product: NGF +nd-docs: DOCS-1414 --- ## Overview This document describes how NGINX Gateway Fabric validates Gateway API and NGINX Gateway Fabric Kubernetes resources. ---- - ## Gateway API resource validation NGINX Gateway Fabric validates Gateway API resources for several reasons: @@ -23,8 +21,6 @@ NGINX Gateway Fabric validates Gateway API resources for several reasons: The process involves four different steps, explained in detail in this document, with the goal of making sure that NGINX continues to handle traffic even if invalid Gateway API resources were created. ---- - ### Step 1 - OpenAPI Scheme validation by Kubernetes API Server The Kubernetes API server validates Gateway API resources against the OpenAPI schema embedded in the Gateway API CRDs. For example, if you create an HTTPRoute with an invalid hostname "cafe.!@#$%example.com", the API server will reject it with the following error: @@ -39,8 +35,6 @@ The HTTPRoute "coffee" is invalid: spec.hostnames[0]: Invalid value: "cafe.!@#$% {{< note >}}While unlikely, bypassing this validation step is possible if the Gateway API CRDs are modified to remove the validation. If this happens, Step 4 will reject any invalid values (from NGINX perspective).{{< /note >}} ---- - ### Step 2 - CEL validation by Kubernetes API Server The Kubernetes API server validates Gateway API resources using CEL validation embedded in the Gateway API CRDs. It validates Gateway API resources using advanced rules unavailable in the OpenAPI schema validation. For example, if you create a Gateway resource with a TCP listener that configures a hostname, the CEL validation will reject it with the following error: @@ -55,8 +49,6 @@ The Gateway "some-gateway" is invalid: spec.listeners: Invalid value: "array": h More information on CEL in Kubernetes can be found [here](https://kubernetes.io/docs/reference/using-api/cel/). ---- - ### Step 3 - Validation by NGINX Gateway Fabric This step catches the following cases of invalid values: @@ -93,8 +85,6 @@ Status: {{< note >}} This validation step always runs and cannot be bypassed. {{< /note >}} ---- - ### Confirm validation To confirm that a resource is valid and accepted by NGINX Gateway Fabric, check that the **Accepted** condition in the resource status has the Status field set to **True**. For example, in a status of a valid HTTPRoute, if NGINX Gateway Fabric accepts a parentRef, the status of that parentRef will look like this: @@ -120,8 +110,6 @@ Status: {{< note >}} Make sure the reported observed generation is the same as the resource generation. {{< /note >}} ---- - ## NGINX Gateway Fabric Resource validation ### Step 1 - OpenAPI Scheme validation by Kubernetes API Server @@ -138,8 +126,6 @@ The NginxGateway "nginx-gateway-config" is invalid: spec.logging.level: Unsuppor {{< note >}}While unlikely, bypassing this validation step is possible if the NGINX Gateway Fabric CRDs are modified to remove the validation. If this happens, Step 2 will report an error in the resource's status.{{< /note >}} ---- - ### Step 2 - Validation by NGINX Gateway Fabric This step validates the settings in the NGINX Gateway Fabric CRDs and rejects invalid resources. The validation error is reported via the status and as an Event. For example: @@ -168,8 +154,6 @@ Event: Warning UpdateFailed 1s (x2 over 1s) nginx-gateway-fabric-nginx Failed to update control plane configuration: logging.level: Unsupported value: "some-level": supported values: "info", "debug", "error" ``` ---- - ### Confirm validation To confirm that a resource is valid and accepted by NGINX Gateway Fabric, check that the **Valid** condition in the resource status has the Status field set to **True**. For example, the status of a valid NginxGateway will look like this: diff --git a/content/ngf/reference/_index.md b/content/ngf/reference/_index.md index 7fad2be4f..0a5299d6b 100644 --- a/content/ngf/reference/_index.md +++ b/content/ngf/reference/_index.md @@ -1,5 +1,5 @@ --- title: "Reference" -weight: 500 +weight: 700 url: /nginx-gateway-fabric/reference/ --- diff --git a/content/ngf/reference/api.md b/content/ngf/reference/api.md index 77eafa4ac..39928f8dc 100644 --- a/content/ngf/reference/api.md +++ b/content/ngf/reference/api.md @@ -1,7 +1,9 @@ --- title: "API reference" weight: 100 -toc: false +type: reference +product: NGF +docs: DOCS-000 --- ## Overview NGINX Gateway API Reference @@ -25,8 +27,6 @@ Resource Types:

      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 z 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 Hm+SurPaKt~ literal 0 HcmV?d00001 diff --git a/static/unit/images/roundcube-setup.png b/static/unit/images/roundcube-setup.png new file mode 100644 index 0000000000000000000000000000000000000000..5d1c8638f0e4b63aa352e308e9afcf2a073c3fee GIT binary patch literal 290892 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

    2. NginxGateway
    3. -NginxProxy -
    4. ObservabilityPolicy
    5. SnippetsFilter @@ -245,141 +245,6 @@ NginxGatewayStatus -

      NginxProxy - -

      -

      -

      NginxProxy is a configuration object that is attached to a GatewayClass parametersRef. It provides a way -to configure global settings for all Gateways defined from the GatewayClass.

      -

      - - - - - - - - - - - - - - - - - - - - - - - - - -
      FieldDescription
      -apiVersion
      -string
      - -gateway.nginx.org/v1alpha1 - -
      -kind
      -string -
      NginxProxy
      -metadata
      - - -Kubernetes meta/v1.ObjectMeta - - -
      -Refer to the Kubernetes API documentation for the fields of the -metadata field. -
      -spec
      - - -NginxProxySpec - - -
      -

      Spec defines the desired state of the NginxProxy.

      -
      -
      - - - - - - - - - - - - - - - - - - - - - -
      -ipFamily
      - - -IPFamilyType - - -
      -(Optional) -

      IPFamily specifies the IP family to be used by the NGINX. -Default is “dual”, meaning the server will use both IPv4 and IPv6.

      -
      -telemetry
      - - -Telemetry - - -
      -(Optional) -

      Telemetry specifies the OpenTelemetry configuration.

      -
      -rewriteClientIP
      - - -RewriteClientIP - - -
      -(Optional) -

      RewriteClientIP defines configuration for rewriting the client IP to the original client’s IP.

      -
      -logging
      - - -NginxLogging - - -
      -(Optional) -

      Logging defines logging related settings for NGINX.

      -
      -disableHTTP2
      - -bool - -
      -(Optional) -

      DisableHTTP2 defines if http2 should be disabled for all servers. -Default is false, meaning http2 will be enabled for all servers.

      -
      -

      ObservabilityPolicy

      @@ -707,78 +572,6 @@ sigs.k8s.io/gateway-api/apis/v1alpha2.PolicyStatus -

      Address - -

      -

      -(Appears on: -RewriteClientIP) -

      -

      -

      Address is a struct that specifies address type and value.

      -

      - - - - - - - - - - - - - - - - - -
      FieldDescription
      -type
      - - -AddressType - - -
      -

      Type specifies the type of address.

      -
      -value
      - -string - -
      -

      Value specifies the address value.

      -
      -

      AddressType -(string alias)

      -

      -

      -(Appears on: -Address) -

      -

      -

      AddressType specifies the type of address.

      -

      - - - - - - - - - - - - - - -
      ValueDescription

      "CIDR"

      CIDRAddressType specifies that the address is a CIDR block.

      -

      "Hostname"

      HostnameAddressType specifies that the address is a Hostname.

      -

      "IPAddress"

      IPAddressType specifies that the address is an IP address.

      -

      ClientBody

      @@ -1105,8 +898,8 @@ longer necessary.

      ClientBody, ClientKeepAlive, ClientKeepAliveTimeout, -TelemetryExporter, -UpstreamKeepAlive) +UpstreamKeepAlive, +TelemetryExporter)

      Duration is a string value representing a duration in time. @@ -1114,34 +907,6 @@ Duration can be specified in milliseconds (ms), seconds (s), minutes (m), hours A value without a suffix is seconds. Examples: 120s, 50ms, 5m, 1h.

      -

      IPFamilyType -(string alias)

      -

      -

      -(Appears on: -NginxProxySpec) -

      -

      -

      IPFamilyType specifies the IP family to be used by NGINX.

      -

      - - - - - - - - - - - - - - -
      ValueDescription

      "dual"

      Dual specifies that NGINX will use both IPv4 and IPv6.

      -

      "ipv4"

      IPv4 specifies that NGINX will use only IPv4.

      -

      "ipv6"

      IPv6 specifies that NGINX will use only IPv6.

      -

      Logging

      @@ -1210,49 +975,6 @@ ControllerLogLevel -

      NginxErrorLogLevel -(string alias)

      -

      -

      -(Appears on: -NginxLogging) -

      -

      -

      NginxErrorLogLevel type defines the log level of error logs for NGINX.

      -

      - - - - - - - - - - - - - - - - - - - - - - - - -
      ValueDescription

      "alert"

      NginxLogLevelAlert is the alert level for NGINX error logs.

      -

      "crit"

      NginxLogLevelCrit is the crit level for NGINX error logs.

      -

      "debug"

      NginxLogLevelDebug is the debug level for NGINX error logs.

      -

      "emerg"

      NginxLogLevelEmerg is the emerg level for NGINX error logs.

      -

      "error"

      NginxLogLevelError is the error level for NGINX error logs.

      -

      "info"

      NginxLogLevelInfo is the info level for NGINX error logs.

      -

      "notice"

      NginxLogLevelNotice is the notice level for NGINX error logs.

      -

      "warn"

      NginxLogLevelWarn is the warn level for NGINX error logs.

      -

      NginxGatewayConditionReason (string alias)

      @@ -1362,142 +1084,15 @@ Logging -

      NginxLogging - +

      ObservabilityPolicySpec +

      (Appears on: -NginxProxySpec) +ObservabilityPolicy)

      -

      NginxLogging defines logging related settings for NGINX.

      -

      - - - - - - - - - - - - - -
      FieldDescription
      -errorLevel
      - - -NginxErrorLogLevel - - -
      -(Optional) -

      ErrorLevel defines the error log level. Possible log levels listed in order of increasing severity are -debug, info, notice, warn, error, crit, alert, and emerg. Setting a certain log level will cause all messages -of the specified and more severe log levels to be logged. For example, the log level ‘error’ will cause error, -crit, alert, and emerg messages to be logged. https://nginx.org/en/docs/ngx_core_module.html#error_log

      -
      -

      NginxProxySpec - -

      -

      -(Appears on: -NginxProxy) -

      -

      -

      NginxProxySpec defines the desired state of the NginxProxy.

      -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      FieldDescription
      -ipFamily
      - - -IPFamilyType - - -
      -(Optional) -

      IPFamily specifies the IP family to be used by the NGINX. -Default is “dual”, meaning the server will use both IPv4 and IPv6.

      -
      -telemetry
      - - -Telemetry - - -
      -(Optional) -

      Telemetry specifies the OpenTelemetry configuration.

      -
      -rewriteClientIP
      - - -RewriteClientIP - - -
      -(Optional) -

      RewriteClientIP defines configuration for rewriting the client IP to the original client’s IP.

      -
      -logging
      - - -NginxLogging - - -
      -(Optional) -

      Logging defines logging related settings for NGINX.

      -
      -disableHTTP2
      - -bool - -
      -(Optional) -

      DisableHTTP2 defines if http2 should be disabled for all servers. -Default is false, meaning http2 will be enabled for all servers.

      -
      -

      ObservabilityPolicySpec - -

      -

      -(Appears on: -ObservabilityPolicy) -

      -

      -

      ObservabilityPolicySpec defines the desired state of the ObservabilityPolicy.

      +

      ObservabilityPolicySpec defines the desired state of the ObservabilityPolicy.

      @@ -1538,116 +1133,6 @@ Support: HTTPRoute, GRPCRoute.

      -

      RewriteClientIP - -

      -

      -(Appears on: -NginxProxySpec) -

      -

      -

      RewriteClientIP specifies the configuration for rewriting the client’s IP address.

      -

      - - - - - - - - - - - - - - - - - - - - - -
      FieldDescription
      -mode
      - - -RewriteClientIPModeType - - -
      -(Optional) -

      Mode defines how NGINX will rewrite the client’s IP address. -There are two possible modes: -- ProxyProtocol: NGINX will rewrite the client’s IP using the PROXY protocol header. -- XForwardedFor: NGINX will rewrite the client’s IP using the X-Forwarded-For header. -Sets NGINX directive real_ip_header: https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header

      -
      -setIPRecursively
      - -bool - -
      -(Optional) -

      SetIPRecursively configures whether recursive search is used when selecting the client’s address from -the X-Forwarded-For header. It is used in conjunction with TrustedAddresses. -If enabled, NGINX will recurse on the values in X-Forwarded-Header from the end of array -to start of array and select the first untrusted IP. -For example, if X-Forwarded-For is [11.11.11.11, 22.22.22.22, 55.55.55.1], -and TrustedAddresses is set to 55.55.55.132, NGINX will rewrite the client IP to 22.22.22.22. -If disabled, NGINX will select the IP at the end of the array. -In the previous example, 55.55.55.1 would be selected. -Sets NGINX directive real_ip_recursive: https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_recursive

      -
      -trustedAddresses
      - - -[]Address - - -
      -(Optional) -

      TrustedAddresses specifies the addresses that are trusted to send correct client IP information. -If a request comes from a trusted address, NGINX will rewrite the client IP information, -and forward it to the backend in the X-Forwarded-For* and X-Real-IP headers. -If the request does not come from a trusted address, NGINX will not rewrite the client IP information. -TrustedAddresses only supports CIDR blocks: 192.33.21.124, fe80::164. -To trust all addresses (not recommended for production), set to 0.0.0.0/0. -If no addresses are provided, NGINX will not rewrite the client IP information. -Sets NGINX directive set_real_ip_from: https://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from -This field is required if mode is set.

      -
      -

      RewriteClientIPModeType -(string alias)

      -

      -

      -(Appears on: -RewriteClientIP) -

      -

      -

      RewriteClientIPModeType defines how NGINX Gateway Fabric will determine the client’s original IP address.

      -

      - - - - - - - - - - - - -
      ValueDescription

      "ProxyProtocol"

      RewriteClientIPModeProxyProtocol configures NGINX to accept PROXY protocol and -set the client’s IP address to the IP address in the PROXY protocol header. -Sets the proxy_protocol parameter on the listen directive of all servers and sets real_ip_header -to proxy_protocol: https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header.

      -

      "XForwardedFor"

      RewriteClientIPModeXForwardedFor configures NGINX to set the client’s IP address to the -IP address in the X-Forwarded-For HTTP header. -https://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header.

      -

      Size (string alias)

      @@ -1828,8 +1313,8 @@ and the status of the SnippetsFilter with respect to each controller.

    6. E<>rQ*-6(?st&n1H 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 z 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 <T^vhI)6Y#eF>o z63PZ_!|$}4C9#b)jKdORBsU(00%Zi@jxtx&fRZQHo`*Omhw?Q>%Ykh`!}3yZ8rVW? zO*Gwoh+&H+mG4=K)#q1cw=J-7Rzo>bA3tBX-eI!ycUZR}irunWD62}J&Vfz4KW)sM zWYOQ$k7rZ57>Yh==q9%H(ST54{`E!9A40A44dX&Eaw~O5~ z++B})EqdeBgqF^F?;~>F?baZ{#LII#^^%m2l4^b@gpDyRy3!p5cK(!kSbPNScar6e z3vIL`Y&>sLd`NihF6P5ZFmzMx{ZJKyj4aX%aoSm_ot(pmE3QWR125;)v&9oO36$Ar z1FH43@4o*)TCxd5)+dL+C|q0&cj z+HWKf+?nyt-n4kw0A8@A9ECw2Vnm`m#x#~u2LR~Ak&7t^yPPh{1rxY8zN$$9Q^*rO zgt;p|Nc_eVR;@pnXv|b2tcNktMH;e!8|JBFjU3|3JXp0~3J;yANr3cnDB=Y@)g57P zZpI2`F7jt;{~uI+Wn5HU_^l!#AdPf`bVzr1cb9Z`Hxkky-5|}-NP~2Yv~){%H$&co z@BQEKgCFL{oH={%XFsv_v)8%^j(}}BW11rFjE^vRbRT{hZVI>_Y{@@gzK-U&;l|Bh zfG@s%%ueSI5FJI{+}9y5`^-9W^!Ft$yMj6pGy+Bi99eqvAXD6u0*j z@-HxXkkNqAgmBF;xVN^pIugK<0@m;zVo$C>h+Clhs8te;TRq(=s`A3U4Ve-j^tvoD zXZV>0MYe$ZEq$mkJ6!<8GDYV`8y7L{PNi<9UYS!3(&I^7mEMk1eHb{-dYP^cpw8zi z)XUzv+hRsWKHcj2Gx|Z{#MIFmJ4~X<$3>2Eh2IZN_f>@oyu6VkruC)OGHJl<*P?_R!`pRR%kS7g{)uq72Y zAK+Vl$#?82Q*ZzF*rH)8V2$(Av$dt;x-*E*mJ^1&Uq2^Qi(USG)q$VJ?~8a1QcjPc zejV?>L6i0&5Etk^*DBz$8aS!wV-!8R3|*GQfdVO#1*Nw+vAEw&D5WEmu*CB~21hk=>t#(NW0u#$#|hXZ!z zn87e^=G;V6aoBT*|Cp8s5&mqJynv=Ld^)20XKp#WqtX`3gT)V3k-uB8{K;(z(Z{3F z(m+q5Au(WSEeo1{;n0gc(qiPtV9;?uq5BmjpWv4np@`ULWQ1&SzNKyiVNHxHTQL?B zD1Cb|28mFFId^LJo&7x;rGxXDYpqSs&h@*LTvgmA#1xZ#E9hjK-13ZG%Q-L4jQOhyxDM8!@ZyUB&ngccjAteot*<7v{#uNH=a3b*~q??u@y<6nEYCikMmEw!D-6->dw(-nAFty%dXod-tGI8T68s@d&!tWl{9EiG4gz7!i_dhfj`x zHW`D#tyJ4))n{)|t)2trO0%*gYdthxSkRU(kd>@RK)BuPW6B>ZuG}>Rj2eE989qORy2xTSNAy!9^~6koW^h%p0NXs!V3syG`70& zE)8B)zH1WZcn{*T^Tc{o%{R7^#VH~ z0$WU8p5#Q|0%qGC@5kB4_q7UwaeAQPqV&cJrgi(SZAOTed!|o1Gxew>{tf(SzBbqa zU>T!qv|ow*xAt02rqTB2CfO|Jzk+CrMl8s$b5%1|dA>ekA%0;ny)ilnaVt&$u{x-X zE6+@)9~Nlv`N} z8mX{*`VA>nu>yK?7BqX*6lHR%xi}miiy@nmHJh|KX ze#K#)dfDv!{n$1)dyKTAfEOSPTy%Q;MK%}TTWhEGA!N~)nRJ4B2~2x!TrEK8vF4j4 zF<;J^ZZ~u@BEU0?`ZbwaZ;4X#%4sFd@}7Do-VYihcqd8>J(NEB-;nQ)ECh!E*$AtR z_ESHmfBW88-0Fe3HJN3$<;Y~fPDw23ew=2Ucs$XtjaB{ zVuAN`to@T&rp1%iWW1To*R5Qcf-VHvk;R3h7g4G|@RGP$T2oC-9^Sjb2%fI(5-4S) zgJ_j!jE@iMxSr}S_vzhDmc|lBkz)?kt-*0B`213OIYRw!tBTHj;Y!v_Qk}I3xsUS0 zc9+b(JF7;~6$q)g{6oGNhZh={)P8$;eph_+2=h^416yx7%i=E;^WNvTmE1;)zS6>< z))ufj%4@Pw2^EwG7Zly@eptzq{9o4=q6IN=r3A$8% zHDcToi`2OL1>3hmg{Up9cg$zLD#q^9JP!#dTA8~Qv2M-DE~P(Xp(%Os%z*ym+P1#! zQqLs9M;j^E11u;c>FC(Qy&4gfObU=felKlbyqCZOQSt!6a3f|FoQx)Xh6h#*5hZ-t z|Fh9aHJ))+hKLXKo|!k@N&Xpl22;Qe!S69sJ-N5cK0ONvR12Kh+IPxk3OsFR1v2e_ zVJp*>b%+w*T(;ttK6RRDhbPiaz?;*0du56Cw&4)0hHcNBBO+gWXAjxNl;(VQ ziLBV?&z{1Izl@TdMO>zjZ>we4+>kGNJbO|{=Y$N2nb>jlk8zZ^JNJPm%`_|BZz9K6vje& z_~7e0Q!H?%2%z!mHjHSV9u^Qm>i?OkX zXRA5sn|TMOVnnSJywyccS#T~L$(iV~t#dd=u?MT?M-)s;AS>nKuta@0EFC-km|8MQ zC=*-m$PbrH?OL(>OII3pE>%vagrST{DzY3%{K!LU-)>b27bR6P2gtf>yV~7&UL55wgYhLG zSBl6PcikzQA2czh=$5Z-^>j@>kve%rT3>RJhlK|Zk&OX&9|?3Ddz@{Ppz7_RaS;-5 zddjTgeiU?xp^vZ`V-dpcab;{GMoPSGR4L`6$jbg9z$%PB^Dk|?v%nTd1MqE2(A?qU zS(xBfF!3YFsVA8Ct{cU_>-X>XvSxtTkREV83}n8i>vj%4__PbV z&{*82?hj%>`26{(aiF#ENa^9-Swv5AFfF_>5^?BtUu1qubv^Y~?cmxp*1|Ndt?SXf zZCh{wu}bD}l4ok$DK`4Z$kJGF5&6uSLpnhT#W??s?~KvCR`nro;x9lY3h}EIvyfU& zzOQTQK3r9hl^$=m6J{~7=iibtTjV&nBQBPu50}m6-19KwN1O8qlKo1VY){?zU>5#? ziF^0ePlbulW;9a*bH6m@Wy+eo)i@0$T1F3&46kif1?};eSV;jTaV4^D$ z;Fg2uhzU_IPuiQHZX`>ubS;ycQ7!SVS-h-gZ(yy%QQz^fGk$)Y;DcxU&&g3QS#N9k^zg2HbAEY6RiHWMVBHQ_nX#Gq zs?ZApwXt5NJ6E^6t4bDOkIh=ck#vLg6blnxgw_6Ejm~?N=E%!pT&%GQ8%u6RGfqJY z30Ig`M-iDOhc&UtLlnt08$-~=;v#lRK7lm;BqK<-oHw&XRjL2E#!G92XGTCO zmh=ga6}i-Ub@m&%`rcMSioP2d#ZsO}^UOOJ*VO^pbXCnkz~vF={Eo9wCP$!x&Ru=n z;cVh2KZ`PaB)e@}eZs-RBkLVW@CAyyF^rru=%MWk-&63GHRk(K`u+;TrvuGm%f&Qx zD|18hG`m%x7;L%BKDGT@@?ZM&45ST$vn>}uL@o8B0Sds`N1nvomP@9pKpcx=%>f|0 zD^9Q)S0^0B#NC{Z0E0O93K#RrAeSYprZ=OF>i+3pn;myh9{#6VHhHN%mK%xAc%G3) zS1s4X$>ADVyYnwDi#cwMb~dh;Db+ZjaLb%2YRH2DWcmvMZ2 z-#u@%k&c#C`0Y?04sI)rh^Cgjv;mw-jUS= z7}3P!S-9j8LE?;_SwgG{I2*sS>LR?qkb%^t&8eg)!y>@3Y`uI6=2R2HNQB>-PFBN7 zEMd%j5`I{z{J=c^ms)P%uin8*C#*em(A=~G6SNhf=u2iZTajl55MlBiYL9O~r)ftq z`JYFP*1mOlOzpTT((^fP&;wY4eYePo*X=#pba}$8q%(}n@%(pKbMuP05zn3CdT>o ze3|C%8vsw_zePeF=8$Nb1oLQKr8(gz-j9Put5v}yiK`jBFOT$CV?$~*qm628`y=#y z(^tQ36*YPXeQR8#e?n9tM{>`FD;HGKWOb<6maZE(oh#1#tIso3yU~WvPfI&NpH;KT zB1MN{a(&{K`=0YMBPz5XgOD02qshwZ+>Q#na7*<277m&6k_`J*BFk9SVvp_n7)#|h zb?}x{fUHOVN?y@%d%ihVTyvr*K>afRU`pS4R9tOA!zEW@%aIQs3?*qbRrZ6YIc#Xn zV8c2c!<;6=l_0Y%)|Eg+4P4J#n$ea#qA$CHDA^#x!Y#q)8-8{cD`888x2(v=9Elt} zZTKN3*4R~v3Z#LrOdf&GhBf3=i}&@XCFj40xw5iS9C%wm{1mR)exPp7VOT&|n*MQq z($?+%=`$0a#XH+SKzkg5m3q5orv>iV+a5?jubP4 z`090)$HY&gURe8c8RxDXKxslSGV3BA}$(Z@~g6oU;Rl>L&B(p88)IuiGwRR z@@&#nv%9Bp6Sw^P>n7*V08cs}I0w_yi2z4SODdD8-e|=*M^{(kg2XWCiZ|e<5#sh{ zCd+Yhr>_GG)*+7+%oUrYI&r8*_xR%!8e&h4)ftKf{HB$h+sMmCE##c5Eh)6V<0z)9dM1MmZZ%=63dw1*RZd6rrzb{CInb)2se`~S3>TJW1_de( zlnUETst=OsIkis3Kdpgek~RFS6Qihy)@2vG6O%gGUKS=YSmN_TXxvI%<9a)yQrn&A znOE2SIps;RiJ8woycR?{)Qve5Q%g{)Nxso4ZqX6eQPpteT9sGuC&s2tR!vY&s)y%# z--&iK>R^rW$Psq6S5GPVl&wd!Wd|zGhEC(7-aXHggy#;_(sD69B5Q--ZaUFMqm7Yw z8>|ue^@ykYjr!! zn4lHQ2r`j%@#_uaKQbEGjgRxCfHlX;Pmfs`_!r?*0;27=JNeb>=T5$8EgZtLVs>-WS0T2$BYX#{9x&OMWUy&8&Oz1KpM&q1gcK_93Z?vwX z=?fP2js6l}iS5#n&9+{aglA4@!MlWoO#lmkk0s6*;Fd$5)uQh7c;_xj>|~4qizba8 z%n`*QdV>r!CM35yd2?=5bvC16uV2{;eQfJ;8Who9t$SoTl$4Zm^nF0h(@M=7xaBrWRMW@XqIly~8${??b2P_?_0*~$HXdjgLY3&^k7 zA<`eo71>_$5yA%vqPPx5q!X=-G7A02vGD5b6zZl}6R+?`w>(s4=3M==2eF%E{fjUW z$uIol8~jS@tVX%7JnVjKxg}29_UHs1Q!oDtJ*FC&mS{11FImzhJvJT<4_^ zLKC08-WqMhGF#eVcW1VUUDrYwfBSJHt<8T((j8UPT&r|4J$2(YSGp7d+9=4~zFqaV z3VnuMo{K=lDaHU+2A}^ek2C*a%@g0T*z4F|g`Zvw5x>%ySN37l0&S0~)O>(i7Bwb9 z7SI=9KJcZ^@h-XA*X%EEQ`om}rE0Y4P#ZyJQGw=^0A0_iT__DjV;b1*|8p%Dakx-SM*&w9C34=5h%s(+vaMmMq4WO1>RB7pw6)Iyd8!GhxLJ&wF!+|IX>7E&ei>? z{q~#E!sCxR&X>`HsZm$g)zLb!5!Yu&_n?ajeKj}_lh8U(WOJF0ZSI{|g5gW06mi)i zEEmV-ksDFfWoO5-bI-pB_T4S?3Lc|Os8YLVFHA&7`LP9|?&#hvKWjQu?9Q~XS>XC~2vOiU#8<0K)ax(l1 zGXHT2XFvR!!oYd+*S$V5Gt+OkP-FDYYTG#-=5rm=YboXo^jKzytbct6w?mIrWze3{ zas;pj#HN2o)U4FNB_P~%8DTZ~|$U-nlE$s=wKW25zNpoxepOn_GM7L~)9vH<~c!tLfG=3GvcbL)H2u+Oy-NiptrNj62}Ncwab zNXO*!=RQLL&v@INzS&=PbHl%(x{b8PvnRmd5Sgn)doAuY&|Ga3D&?bF-=PR zbEzy0(z`kEX|od(-6Fp(lB>6X@{PcWU}`eU?{0ZlAQi=T?VWi{H$WcM0c5wIu~%=U zhqs;Sv%K0PQrdt6yqzp8yw|_6a`_hohW{@Jv0_y@+D8SdEm%%a6T61B4qtsIxOR!H6BAYO`|0++VSCQ? zQ>ONk564P>1FH8<&=2}EXDmp94I^}{MIL*IaFFQNhVpUKr>+H8%r+-m>>~P<@Rqb$ z31n1xBw;%Q$uO>}&}^5{Z1y1qeWeDDJPdgPDzSL@%jTBK>tA_EEjYT|b0LS+Q#M%# z6zf|g4HLm?-)?@Qw#<~oA1(;le_^$slj!Ly(NO$ssKkf8y-=!q>N@EJoYw^b)t_r! zgy+#`X)koburDi%iYu4lF5F~GwZrs(mKFX@xP1r2+M>!VgjC@WV1*Bkoh+H7A za0QD0S+IH9V~Uy6&4R_0^Qq5jrbqiBAkh2rIR5g_Pvx&Ly!;>F@1{73h4ebtY|z0% zCs}9zF?}$QzBn-LBnr<0+4imbjyyOWH&Ww93zVo1G8tIdPX_q`36I5vZu+Cb(w3l+ z2+i;#so@HDSE$9`2p7&r#2f>0I}S<&_92yK?j>j)jL?Xd%)UAqTLP}ssktmk=DBW_ z%*AKPvam)Yn5jGDc@C}E(BxZYL{Wi6L_g|&GNJ8DGXi!g=aK|^PyZ2(VpfL3~z~z-fD_} zH7P*kPEd*eteIcTPn-Bwd8MHF99<*ZjoTiC2zYFfaCg@!c}^!?|Hn<@DQ7_RC$jL-t7AOoBo-RTxNgL?je00~R#*q8zUXIMf;9sGOwM&t$_{@!-*?Fpl>oCEnw zda=tGcUTI(ee>5PbTBg@AaVH$PuTYOGXArCW3T^`MFd>d6tev3fD{Hnklr94M4rAe zuvB_bO?XOu`pPE3){VV^K_NRS8%Wd@ zXgLW2Z@conB7S4DlSsK98>Bo71Y&abevpQobqP=jYZn) zD&fGukjyAV6aLg4i3mi~sUy{)>Ym2zL>8oW9^XJm=l66~>x*A#{us&esgn|9lM$p- z5adX~o$ouaD`ej_7VBS|0Y^2BGZ-y?c$j6r#;vqn;GjFA~h4vLL3DJk%omt!T<$QxG| zA1?d+aoK;O&T>x~oEZ7^Z^pmLAx^wz%R3f}S66It{#ON~<0&vzh?eHhMSg%)=Qzy% zu(DZ9pn$h>@W0HIr<tI`l4k0<>w+tgu(kWtCyxc26s&D(uR|Ig@wG)DGZiRSfe#m!%| zL>J&U945*X|A?wewF4O5es$hIm;Eh)cucOb3=2NqPEs1PET2*k3 zq7@&nsq-}AXf#F5OKe6I)Y1rTshR-t~Xf#;lZ)g?(9;0d|{}Vi@rkm)>&T&026YwP+ zWx74)(Wz}a6$t$0ftJr{aKc|;*@LXbCJf|DI0FlSyEhqw@pu@$W<#p%8*iM;FjCPQ zoCz;8NIrwLhQ>SV_l=i3SWDwAeiE>9V6bqwIUD;@vT#GGcj0qIO=_n)=i82#%&&|e zurlq`xABGl<>iOAccyaRuCM^ zh}vuKeTUn;`9xE-M9+%y@6pk1oL}Va1=9%TXeJj#mmdl%DXWNVNAHQ0Fz~cCAp6EML?U4 zGfk8sxS^_{)W2Mzvhr4Tk-G010c!pheot7d7Meu?zF!Q#-xGzqE~a7uZC4)?U7q3? zYNQnLi3+x{VwOH_bRm4!f?O{<=8xivxiTJFe9A;x7y8ni3OnIfsSjwJNOkky)bYD2 zV!tFwhGTsT--3G|#gK$gmPGgmYYYiBuQJZE1EpX-O#7s_Z0t|gu`ufxISQ^xH1oh4 zra(zye)%bqJfGe1TrhxLqaufqPPsja?r!x(V6bIO{G|7N6C>n%e?0NnW8ghpf$Z8P{DOv>w0?!8KyF1 z9l$Y(euDFNz+cH-orUNwMW;L9LIdg3w=1hDq2Dev;dfb$#Gj#*6D6>Qrcyf2G$WZz zB9jIX_XRrw(8Rr~yff?H6mFDTatk`&9|R-`+*;n4Cyq2NY~dCXMuI1OI;Z0UY;Xt+hQ=N@13)^B#v*moe|> zH3IFDKOkz2Wre9hC~VveZ4afxkw;gc=|;A0q!61|VUdwG~fwb@jEuRzRmL*qt=!6dMx_ zt-GuVpzoZPe6tDA7@7RGFf(Ib?(oZeRXSeN5BT`;<63rfi9)tTO`BN5S!QP6q7dWv$kF_%}f+XwXu5SV3a-Z=pz3BEO_cS<+SfD3p;RA^oUMTcM=3 zSoTIe*?ipV#4nao@P&7GOqUgqhW8cZQ)u%UgJipydl>B83hYws&w^;^DpPY(J%Rg_ zFWducbSzJ+vnWJ-HG_lFnQ3X%4ptdAF1IK8OTgvZCqaNLq86LUAgPI1zTdp{$%>Y7 z3L>wlnA&8sQezaXF8#?Sx|VxLw*!#o`0x{1umC@BoX6)XojJE#)Mdv}G4*LwrXb_#jz?{0_?AMj{I}xI$j6Lf&cSht zRkl_A+>EW_ZNr4>r301AL~Y2epp%`Qlc40nkGe@=-6>4!XY&qOf$Ia-&{Zmsb+)$$2<9%vTy+_a`sX!;S&H z#h(P~8RJ}f4c6-1{@_1eeo!VA|y4&6DQi%(Hys_^0vRFsxk+-t@0p zC)0wC$|>GZ-a^V5O6{JZbf@|B1$xWWX4)F(KcpDu5i~14zDrtt`?pWz{l0w1qo7y{ zy|yvXEVv!UMovy{RTxlmT9jMlHrZ;G>AWQKACdE$Hv+7%Pl~6PqT>FH5SF_0Tf{yQ zksv0xPh2(=u~=38^g1IKh*o!-@qXI^hK#X|4Q{t<;Lk!3Z$YE~c|xGqN0a)F1H<3d zEsyzAxZyf@JKm@2xZUij(#3Gw$dAa504U&UZXQ2~+EKD*3+(5vmK=kkGcxnjU$lztoChNrI~gG@6`3f`{+)7B zu>bS(-`glBU#>U|Z?)aM5)7sMRgdb0Dq6nPQO1~68MeK%AKG3^AVDe_^dD&`3>dsM z*Y}qaOiiiR_uo_;O$BwmJ_f5sK9gf%Z_ko@vQGW=gD<2Aq&QEC4i`&T4#NKC3Axh# zbLJ!&(2{dWJLnp}-x06|{E2W7HDenc>Nrq`d_)0GIs9+nc3*W8?%qYm#VrAQb-331 z+WPgAz|elet>sQuI3g%chB-u!GdIGGLSOeMkR4C)tNLX(-?PB zB~t^JCsVm;Sa%CZIFZgBE zF+sKIp>;}uICeh=mVN%i)#Vh*2`SB`F{4l)^ZU#K zN|j%LD`7Q2m`Yg{y{$S0sO^U5SQzkQzU74lkiT04JgwlWD4^tSeR&KJ(g_-7hM^Ga zbOOs3&W!go{qw9-u$9Yyy`m3?eH5G#I2>-D!t{Q z#~j#x=V9!?posw&|-#aEL8$OX+2@d4>Pb00wG6ATEFS1bX(-onJhWc%6U^sim6 zfZtDl58&l@PCdQ+c7}la(6&$a*NuQyD=(lqo6YSqP+VNxs^z>6zze{cVdF)E-0VI$Q+T!1Nd{HMntjGYU=X8;*G@bz}bnbv^D;sZN7I#F; zIiOv8!BfJ_&u@3vkS;3^NR-#8mMAPF(`njTTK?`jedX-`{C+#n6&r9I!zc_FHg*@h zw5WdM`1rF;5S-OTau1*E*~U zWYRgTb~F^X``j)9t7Hqbn(O=ea|2Dc~ z;@2p~LjhB5;Neqyz0N8B9v%2xvI|kZF=7;~A36OYq}JV#B>g>Jj1y70MDpI}C#9Q* zkuHsI$CepmCrIuvFfO+0`iv2;<(E&?~FI>>1KPb?Ws4>-P-zHOh$|Dmi3_+k! z3E60D6Zjx`6Wey$*mlG#ST&c)$+|njxx36eVpCPil!ug(J#OJCap%cLWVCj=?TkBN ziFpZGz9$+OG!3%l7{0B~o3Kpt=d07HRH~licJE+9Y0*Q@R)9+#hB07n9WiIcj1p(d zl&4RXy$jV*LEJ}-i)6o_Dn_za2C1P&^?#S5_>A+R>*jBb%~9&^WdwNht-+(MCn5O@ zlg`!P@vmyMFaxlD=FjtIx#iDmdg|rsXD$6c z)2=*45--n0yW~6RqRwN>t_5+$$SyNEoHreq;>wufkbw9@k(C$7;Z5grv7fK!J7t_l zG6GM2CiRnW*e#3N0-7b?)K$HtMzIAHF1#i@<)sgf8>X+LPFSE0R*p4QT9jo zfWaFQQ@(rCR%1gh4k9UvBvCIclPMDesewdfKGH-63Mu}17vddAQKgkq(}CD{WxV=5v$9@6CD zb&^7f6&v1!EypJJkvs38DNDxqF2#U(-8wUH<0b;_11zL<^|YiD23n?Dg5WK^0saSA z+GH8FbUDk;)hY6-Il51Y()Z8Ll&Qnwl^Rjr?L=mE+C+4TgMXgwq#rN1<@KSX7CCcOCp7HQGV*x^rLDMxcCpi1AV4BMKPebXs;i{o09Y9v{$G zq)|TM$Q3eLim`Q3lm?H6b$;gE{-~q7^@We97j`FR>3D~`XwAJ%nKs!N*^7^;kvU%K ziv_6*B9uzq0wCSMWZ$-O!XOD;cR~%YKfKN`c*~7`D@cHR_5N}1t(P!T5cwLh^*aue z-A(HTGUh@TbsmyPQpw-yc}iU_QJdSYJl%9yAHTjh#wF@qqF(oN^Ag2%3arNC=b<=X zA3YR7Is7>rdFlO&+oi|d5%8Gb6#nhY`)DoU6!fI|dOQr$M9PW;Gu7`_BFVGAM7;B) zwYxHGg;>)X;9&~MY9>P1k?KYpL6^_Z54I1_O}mR;IsB)aUc|d@RpU2DSuQ-g%eQ`l zb1s^qlnQ9el1CKbVa6Y+ZU`^&j&c1RY z#mAX#yO~`NkVA%ENrk&j{tcb<+`sP&V+z6XGoA6bM9sUJPGK|C%)m3-EwTX^0zvNJ zg!#F^d6xVajzTokNv%5b7$gENRMLVf%O0O*-g&9#olJ)cqW5HgBs-CP5xpitELzBf zny@JlO>B*q05-zl;op2*=xA(!815GsYQ8xPDusF=4e@y^PQ#Bzipt|WB^Def)3IYL zUn}k#Wi%%&TAfXqC@-<&loTwC>zyck#Bl6$pmT7>O`dE%5>Uf+sSA9iArk(R^+Px0 zdCKuPcu^BS6h=&tgj9TrF3DOgcfzN5%uzDUQ6d;=sIK4zcPJsS5R6%lmxgz z`W^~8_O$cm@0+k;fIY<4&dyH8DV!JF2XNMHiEQ|Zp>%RbO-0_KRaa0us~sQ@0vrp_ zR8jC8&XO^BpRi$G;6#@08-U0-;;jU^nOkqp|O{68es;X5y9<}&0Irq z89LT63pQ8Wtaun=6n=CK(uQ}@6R@q24HsqWk{=x4izVvLB|m}B;?5wq>y!0e=kFNz zg6k8~GY0rtg5kw@Cyh2nM1%wZHW0b*9IiJ<3;mnTv1y;2;8JmGe@k?dbU4zHet}{J z<2bgHQNR;uav=>zU+16icE=3*1`U+?f9JrA53Ma7?<-S`KY}4su@eD0-t2~wXqsD5 zKiHkN-*R+YXtnwJPI+|eu}b>JX3{w3DNiW}VfzWcIkL>K$};1^ff>`t^1M>N9Kb>A z<$+=p@Yk&{XvgEs@WNcmviSNg!4tDW9Z1wZe zT-@-(kc+pTG_EZuCO`#c<9>r(q=X{?P2U$m<6!Ar;EelVi8PHYFkuWCEetb_OREp) zgBj`7+AsLBi7QEVeF*R(g@}f%CgUi--$`&sjS|AY`~~iAkqSPqQC5&=+6lW1JCq>H z50Oy*OOT2J#hDMgyPo57vdJn2B$$25RgXgp0I-8?n#8FwnHwZ-jJ957D4N19L0 zvi?it{r632lKM-739cIwA`+#~aeW_ZS-*6>c_$pOk8KQPB1B(UOuCN^V_&9X+#Yg= zQ6EQ5gPI6*MGHsDh6wcO+*1p~tYiHYGBwK1cV7YY#y>O>25H9;@uNfGzn=_|aqNZk z-?kW_eRte+dX8}FmdEnW#txyjCwSA3IHr)*d6n#1KYc|0H!=|QeFoh?Qc8zf5Ru)! zkF(Sy@mH;1fY$sN;%>HgOoc@&8dT{=>4QHi)ie2@iFVSRY8Yz;NWZY`wBIZaLz7V+ zYP;F!!84!s2^_e3-#)$`yl`U0GJ3#LVsY1Nx4s8T76`qqVSuGX^BIUNkhLUUExX&5MekA?;p z{oP@^E)!zJ>=gcGI+)P+O#pw~7WN^=dYR*6aNxHG3FADHPvjyI_?ipA9!6(p>qMX4 z8P9c4Vv}%+-+)DbzjqzdVbJa!Z;dLMGAT_Kiy3L6xZ2?tqXm%r+#zoid3+#0L2P-8 zW*)L!^Qq6<>a!vjWGhhYs7HLaoBy{33@4juOGl}61eb^%KWa1BF}0{4x~IBJTPByF z@H>T@SzfaUb<(BWCRtUQg)qV99(jy48fwrDz>+b-R_t7aphB}b^0ArmlMEVm1vdI$ zXfiIFp0{uWKbj@ADxP)RERjUcRC$B$iz@n|;>&Jr}QBSq2Jd* z_W@7{?&?fN4<4`{uhF&eGt$%Us!ivPtH6^)li0&2E>yQtC-`qazR3riAn;f_D!GW5 zMqz3p$uLS1&2&63KQ(4z65ji|)Q<;r^}KSI0uRy@!ta5S49Sx5XH7wpLgp~$#V1hy zJEP{1m^JFBQdLZvCvHr<5%&WY+v=-@*#B#G}j;o*>lJ6(%NYI&popXQsb zv`eV;Hz9lVkn>F@qQmWiW~Gtu8k{g=tS<33u`N4}ZC+b@#k>SARs&q~=MAu@aZ1!(#|!U=~2p1l%lB z>@=tr^MMMyQnHe{p_AKIh)M4$fbEopYHL0ivc!TbNe~%rpPaw#d~r(l*<)ya1Q^p&xRX{j}hR*Vz?%$z6N@RC0gwNr-1| z1l4f;u+0?zQ%me$}^GOw;O>EtH4$x-5 zE)YLmk>>O_Myo}sHmNcRj&F?RNcvIzZ$rvDr@6{KSPFCJFRrgHXbvnL5L1DXFD(^$cXLqo zSG8MeZ-;2c$a37$kYikb^sj$23Vy^t3v|pibplvC7he%00M2@}$gfJfI_pKjcT4>C z0oSS;R=IkTm8t* zh%w_tPe?@%AVO4%2Yq@bl(A987&n;X&MKd0hjUl+T}B>Lh_JKpcQ*d|oK_whKLFe- z(U?hvb>bn`Ha2yS)P%Or4R3`zseyy^h6qgqFPI4_5$ss8+>Ys}tRln1tVCGt)ubM^ zr&sgg-0@pfzK^-gcB#0k>!Wg0f@EQ%3f}LLt7dNkooskd|Dp@YWZJi9Rj-G8{ihTn z)g>l+5`+?&Szi#Ucvw(&Rw)Rm+KA}VIeq4_n^wD$d zhN1L~c~IG>O1}8s>K28~#L@R|Y$l4SBQ2S%T6Fht&M=_i0OTJ#EV-c#p_VUFV(6oP zWS5m0kSJEFNEPga+0|00yV!(6i|5G;_bc?;;^ve->%g9IXx*m-7;<;%u@%_*B2si6 zX}dz;G321OfNa_xxE{g$qpF}!Y&p~-+fAeR&s_XrRz_7tfVx3B(M;}WV6*$26^xDE zAoDn%%e%NP<=?CQ;mgj%v@wm#xn;qn_hIV-|LwmG(iaWHr;>{s`RY&Tt>fEsDHncH zgoz9)r5FdlFz^n!u(Buj#U*C6x46Lyeu8a&FTD2(b@jOlulXSKTl|Q_*~+?q_lS5& zu3Ze~X?g%0l%A=OzWt>2&=xoe8`#<0%?+@hhUNvB+vIGQo0Z4HhKv%kVjP{uxOcT| zY-~<~d6a7aNL4R6;y$$5Y2MXuD_-(w0N;V4ft<|x0HQql`Rkp|MoSgErKp{Sh+C54N?HQhK+no(+G(D2B5f&eiC65|7{tgd@s8*J7`{aj!Yp zF*HeK#~+|#@;@Gcm9?SxS*uq)w7Bf#Y*)mk9e&kIAi{>z=%7%TzLyr`=q@3#QP7WrB%b+`05GWX zSRrP{1zA3=1^zf^!oPB1F%^mHKO2o>H3DwbX}}qJL?J!b2RvF7oAkyc46u&#nE=J- zR_UQYPr4_V&|@B;+s}}?1RowqtzJC?T+{T31e$QL4euT>pD%GK?TxD+ShSmw|pHa_wILi*oB2JJSm-aH>eEz(TkRP|$uAq%x~; zN(TRe7Sk^Y58haI8J92Q{Rl7>ww|}iDEa~fW&h=ts3Fg)eh=1BqIRtvdv}J~$YOpP z!EkO#-$D&sj*4Sj#t)zD72Y22T=X6I2pAqI-1_)x>~UI;PIjnX1po7IAq28APq3iO zcrHv~0^hT45c|~pd=(g=#G=1d)^{Z1hioMde0`uqn#>1mm8mxG-a(j<>U>t$VFBCF z*U0KKqn-wzz|+-K1}n#$Dhx$#tK;>-Ov=Cy;b3$cxl{&SbE{W&Y#Ayo{+aRGJ?Bkv zJ+c*x6jZrZStp>QR;NIPWR@=7B+EAdVBs^D`)Z$s!(p42JO~sLR)yq6*;F~6B5qKJ z`SrQz3#cZSKdx0cBPsy)Y4-lBXk6B#ToD3im&irYvxIqWbZ#&44k}Bjxp@& z{LyTPut}Ky^{@0|eH6sa9lR#g zC#!kx6PdLUqhS4!^#4WOTg657g<+!zs30mK0!nv_beD8DN=r*9B_KHxBGTP5bccX+ z3`#eGfFLC`N{Gw=!w@rPq5m(=&H2u`Jp0ED7i;g?YrpHw=Y3wm(i$&Rye#GeXm8BM ze;IxROw98A%)fC~wse3`f%NtbWp(krN zTXFVKVs*(9vP51yTWN+`h{^m_C941@rTNuE0x+5GHGO~40E%(<%eO$LDK46&&P3zB z1c_~bjGF69gY~G70j@HZFTW^7Qmb2~-N?>YPc0c!?V8x)u2H7Bnar*ua@yk{N&~on zT}9aR>!%VOS>}9)&$qvpv)z{ZBiC~@dyj#NP!ZBAZys9I!6Ll@IG|%O2f0+T!5!ZC z<}PFw?>H56Kxf8%4{reXr4FU|-CVDG-vAnyD$IFn)}>XSG@O*Wwq@)U9`R zM25A-TD(aL|DL#W)K$f}%b)?uTpY9?RdttwL|(m!ucb^y6i0f_g)?7j_N$-cfFWEc z!{UApTk=E+dDPv$_l4+{oXWoIYxz`nxH)9UEMQe3g&QsMfS(6lZ%UnnCrL2 zPC$orQ$BpbvE>o!n=P?fS77U6u6pKM_Y{(6B&IAfUmg_TWq&?Qh7)w0r-}GPhpvvi z!jEH9WS}XC6#*YMSzBT#l5o+<^A8hF-KY4xdccDnt`JWp_u<(~_2?tAwfG&y8pj!o z?U=%!AO6;R$(4!1(QO`)BJWuln6?PQt$TyR`4#Ui+D5*^J&51QFXUIcKL!Zd2R$=LfuHl7#!cS;iA>LTA6Ci9fvt?qGeyT#&Z2VW>fz__76+HTF1x@ln5o6JuvV`Zk)EW)*b~Gdu zK5@l=j*t7L8*S@?OraE*G~|g)6Nl_=uWDD>;b~V-A6HY9AZ^c-icOU3A}=~-wz_C8UW*MIcaZxd_Z5s6=m44(hD)JeICu^ zBk{f>YMCsCW9M7@+CFoi*Sn@IZ=HRgc2h?K)N|JRb;TRL@8Cx!Kit90;I|45l;T*V z?(v;QzCGTLpZqw~%AVWdNIYRBwt7BnFs)n*d)BG6r_p6#rf%r`L-lwownzTr5pGOi(xaO*H@0QTBS;`~IQAo;hO@^3FN-8lj8HEotGPPNGDStk zu9gqN$J23g8*^h!wc9ITKtzrdpU9D=!Icd-Bewe zLI=_vpGj9pE$4%Ja-QlR_yPb9RHHuwndiM?s~K_YDaxs>L$ zi#+U30WW0@e5nX!_+}~ETqj(1O6J}`YS8s z`gGi|Zdj*T&3Hm$t7o8%)fpLP-v^g}?%iN`2uVm<(H#*(b|&q#E2UG8T%r%97v_RD zOM-taE=;u&&XrWA*-7>g6u9astQ?<_a6wN9@vnF9W#B4Ws@|P zj3&4i@FB9(1%(&Z=Nd0^i>+a(=|h_rYQ5Wc^T)%H)4I`XaBSG8An!THl+9Z*IRW>F z<_4JkXf(!K?To3hK|x#bJ#*O~6p>JLVAm%|Xb=AK0DvUCPIn77FW2@D;Gf^z-0Ume z+$PVbzeiiDbOmSCO&Di?JvCLIr+DM)TJLCoJ+k(g+iEII$eMjc(?6Z>7f9X4^QO25 z8&%tlKbjLxmH)`IS*SLY*>lmF@jZN^*@M17YF7Ru-yZBEO==)*O7umx6FUVvsc^&D zE2GZZz9inc@CLo?s|FF`ac0A@qZ0QgL{bt;+){M2#vXNPql>LJAlR9}dsqL0yKctp zrygE39JRH#o1LiSR913V22QodBS^q&{6QpOO0nnm7iK(!tg;#y^{WNH#a=$o5lETv z)k1H+nzoRSzTNET!BLQBA1%3U%$RJka-%{v$yxWy|c4%`_G?AZ5^FU0O3z3 zlr=BFWX+~SF)G3JR;sW}nH1_=ji;{c(dTAnV}2*+zAXn8gTzlZybD>;8^jcs_XdUC z??*?C!dgf#^Iu401Nud8bF=7lBc+Op%2sluxFg;q`#-GLZ0?HB*4vd=_#KF;VATB8xA5$^XnJbDptLRF zA+PTl^c2d$z8lR7Lpq%I{@(szu&lZoV7oB(`?o!pjmemCG>W7|hws*p>ottu^-P-Y zs-78(!J&-ckh<5;r(iR>k9Qx&s#o>mfyK|+JzTeII0?3gN3zhd3F+kTlB95=t7{L6 zD2(rz2qtFPrN`C%mN`>t%tf{NptH}-=wA4!&bEHod57S$jUjRekTq}xx=SpGz&y6m~LSn(fk~_j{3X4 zJKu+48?u}R+pv5O-EI5bd^a-lq^IniZ%^jg(Gf8^U?gnNcPCg6by0kNoKN zJ5d7I61dy}raKw~-$UMAY|N`g$B zJJ*yBTBRw4yyEz~dX;Lr=ZFu%mkJARl-pJIn%8puYS$mEHxp@z+-H|Xw0!lgY43}X zXcnGZ*%|$&H@5AccAgRmX~SZmSm79KGjs4j=gppn|LYI?*p}*g`tl>JSIW6+ut1k7 z!*S?#XEF6~_$&*u(`ZN6;4%4Hc{Rj<)HckUq! z7#0Av?d3)Di@@OWE27 z%7}B8@~U-NUJ))@@fmYL)E+&ZZPt&PNfc zSG`g8p=C?n@Jt*ju`;yd4_K4^@-%)Mp;4nj5UtIL=?(hpfA=g;YV@|^#RN675}Iv9 z^&)8hRk7S??+d~*H9LfbkTRQK<*(hOgR}+{NX$MOOw9!{m&0+1Jp_tgcOZQmB9pe# zxulO~p6k+QctNO&MB6g*S6p4Huzw!}bvAQstV5&fAy1FwU>7Wq9A4S)um2t#oZE_6 zB<9@Co<}%6X0LfyuF7TKJN#Fb%k)!A!MZk?{o0w=HQw5;U32ih;M%j;@crNX<4I69 z?DXG9<80-mPhvZyWlN*_tH?ZjFpr6P8+|B_>x#{!Q#5x?@0l%?HoIHyAX$l9gHQO0 z+u+ma5fg-0?!&*!yGi37YPscO#WgVs={euIude;158VB*AS3Pzja^#tP8W3{vX}bp zT}huhDm_PEONmZ}BEzrT{<~P0K_&vQAfu6L!TV7(wG@#~OwDZvJ);3fewMZE6kc|S zMq0t-5u4xbeM|La?6Ty3D--2(yHX|q=n1awFFzs6*|3+vsR@k@2Rm17Ud-laE*jUO z2C{sn#Va>QS<-VSep}i?t%%`G?I>Qk!hE$)Uhi~^jxYdvm z?#MG^USb{VqV>}~Y*vY&DN$_s44W5q`lwy!}A5 ze$qx{sxCtbYmjD0OHYBCMkTNFlWak&MtCJs&Hh} z-@D+53j?#@kBPo8i<6Aqs2#$-mn5Ml>#!G?VR0lwUm0j*qg{${=ne9%{oZiSF3Tm( z1-S@AUJ)a^T>j_m?I{$sQ3}b{L8K4Y<^W(V&srOO=4dj#o%vLtu}j<5nIEM2gNfGe zX~Vg*Zu^Eg*tmvp*?(t*;k}YN5cD%dy4CQ+(ZQpTjCb~*&2W981EV|6!p;8J04*tp zi*L4FzR6f*AkM#MrbM1Xo8j@}wfh?lF-J4Bk+yTMWvXV1*gCLV@;qm}X_DRhg<<^%?_D ze4!VGrV{}c?dMt;USd&6mL2nNM~dil{{E|Cmp&y94lJY$>!*V`X2BXm+F(3{KoWhzP2@Xfs05EGaLW057^yEMWOi#ejdH|P%eYrd2J59a#| z>LT?&^Zj?(D#!m%&3E+wEAzdnd-b33|KH4at6bH8=3AN9dFB7veE;1eoa+h8YhoAC zf35TrhS~p)34P9b8j=ZnjzLIH(iy?0>j9ADDsKfsWA6AUEk;Henrj{I->! z|L8{#!CSYo`s_a&DK7im+Fg_$)q}UhWeqG4vog;?Ss~w>;`bl@Q$4C~iL^kRQCp9{ zyxL2uLt1f?AUDlEBXCXw=dva-XQ&NBTZxK;(axH7)O13y2C{7gHXCN5lZ8FNy#%e} z;4r-Jv;7H?NrKJl6>Dtni{M>qKM6|jjeaAl-;~nMZ`YkaAFxFe4`t~f1T8s8?ohN-d^G(!7}{md>&0ooCnoLcwQT%c*C9)Fwv;$_0*ETC& zhqi=Lo^}2fCF^P*5Yq_GI@kH9@PMQ|x^zNvxb8Qo_s*k%#+zF(`8JUD;z(DZ&c)u< z8@l}2uX-X~YUA|BfYi@i9XKEG2mL<({pC2<#Xbvl_IaFAqKPd$U(}LE7DE2i^*Enx zECz`H4Qa7l#hXIhI#(TRD1b7DbXaaY4j#Yr-w&4yIr-~yO|YXoxjj2f8A{$QZub)l z?$5yeI)9svCJxQ{jA}lJZr!Kw9Vy5?*WCz`1*D2dJM_P2s}y4W+%QvUqesW%{d|;> zttM|BJilYSX#nt?E$et!O}V3e=j#La-*a*{@2rA(^&iGV3aV82)KqM zNu|)J4OwoTp;u;vaE)+&0I&1To8s8&lH)TNa>Ma_#NH(BKOLzT$3Fvt2blU096jGi zWyL{K=u73m$2kHk-R3yVPV8k)5GP!A&A5wzaodjz=9*kL`sIkKv0mh;GY{d z@M#R`umwB1IO+b_Fu(cYcc%q`w^v0M>%a`hFW9!EUUh96?%UZP?%j3*@~{<^YGVZ% zs0t5-g2a1erbN&`0I>FtDrY`F6Z-7XAm2jrW#=e~@Jhc}93Bj`59DaG+m6EpI}%oc zB;b2K3J*K1Y!w&c7o*|kwU0@lvO&xki%I9k&o*@rl}|NqJi)m*(|N`IG@FeHTqE_} z2lUvT04hksSN^h7m|@V0F~g&~vm=~+W_Qo3Mch+f=<7gR#+yf1!am_l{~{mRBpX;KjUP~e;M;au+R8v}#b^qi@D%8mKW$%PqKPb< zcO4GLu?497^Qk?b#4(51L^Z+*_#JGIw}qWRW<1AAE;-M`X{3di{WE>N+VDE4r|c0%IsM%pY8jiW}Jsb#9FE?|gBCee){AH;nY@KECVp z;oDBh*O89VYhu9|U#>j;*Ej??k8n5$RSo4HB@`(>($fo9R8Qhyx~lq!n?Vsb>29Qc z5)R|wuGGHglYyWyjqhDcqASFYKMG#_9#wSFfm`C>=-Qvr>ti_|cg?Qc$Pe_Yiqe<~ z;aJ#u7NO1dk+E=kxU@V=SqZ*_I{JL0gp9g)V<77;ho|zr;dCyu{;$5fqZ1PvE-sb3 zdwWij$mR`CaVIyo^xRy!AvhA(P(~th%8GmF?Q<*M_p1ZGE4#fOIk}I6H=(xZ)WiGB z%gY-Ggg&4XwD<9u#ojV~@?`RX{-1L}dCA6gvD>$%s|oXNV7eY}2V6??2W&nCX*o89 zZzYI%MXl{?*h?FUABuQK-d>4nc@>!%`;e@6m7(*ydJ~muL+r3&nUC8)e&(nqxKC@CqElte{E*K&yB0Nk1o7v}^f9~~XtmGIKjlW7%=$HBWS8+HaXt{iFN zsm?soHrs9d%iK#v**&?KM%;=SEd#X~_cJ56a6#U*;G~kNiXI=qZ9fl&mCQg|f5C=C zD|di zklXU~@nM5??`NK%f}@~NC@xO7D3-KuKQ^7^-D~(iyP+O&s^f>SQ12R-cV%DKxe@8} zx#=_KR)JA|*^xf0&$>!OTBWhP_s_bzp=N63;A@EWstrkag#&SXX68M$>B&h306_q3 zgAcsCyaYr<*Z}FIzL^=f(+f8@dq+o=E)ea*$d6A?+y3VR4esP&kSkl+kBW$1GEoHU z%JJObr*vQ=yIPULeO68hv-o8D&y_8V2nY+?zuga9Sy)Iy zBE7(on3|vGv}%RH964S4kk>16y|g3VzO}crV-d^B%EDjuy$=K(wiu#%Q7VPjhNO+n zxq6wG--wj(;1ju{^LeLuVO{#7qB_;TD+5}JD=R82J8arTG0n9!J)KN7j4gd;Wd%K_ zzH{f!)XEBki-XIPQ}uZkKL&r(bvrd+*ZKcX?lKku_Jhv{ToA==GtDe4w}X8(g1EM53NYwm<$n zdbU$pVTN^gK0Q8siS&Qq)m33e{7bZSGdDLNp6=zOJQZRSR3wwZ?CJ5-clO0r^9o!3 z8dRjFQIYYbEbbj!&HCqM3bOYu$x z%E4}8$X+=u6g`eCm#So)*{G9xQ(qJp-S!XzT?&@uh4I{(8uERH=A|j5D@$Hk!|W!? zYRFa*ptb1G#RO>kIfLVF<_&J8s>dDLO*6)3T1nk(x0#=k1MJkD>k&-q10I-8PbgTMiK)C+pTb*q&8Q7Pal!lEY4KgEc75X5dY~ynLZ1ot+ZigxO zA}6dF09gjT;N{lSdo_S&KRNq*h{6W7v8MRaYi z6SYkJwj59yC^6-w@C_88?jA)34CXMHr6XWeyai7Hp2L1Hfssnzz6-sj;hfMH(%TRv zv=B?h|H#-X$h$t8ze}|+xih#JFKh?EkT_FUFTDEhKK_&A7bnK?YCLgYw!ZCQgzxrO zwQX8~I|L89sc8EEaEE=Ty4f;&r#Yg2Wi$l5|5uj}07b_P54WbpW8W7q$A?RSO1j)u zg*2r5Sz!M?$HAXp3R!Pg=#f0_YxmPm{bMWR+Pvgb^}Kfgyn%-7j>IJWH2rMo2v38i zo!kV#MRJ(EXtiHn9np{#-)rZ#j~G3Jjfe?>C=4~WYwMl@CN$#1V|OtVea&E5h}T#ClG z`hEgLq|16LLlztg(yM6#?B)h3fkwtgI!zIY^!nEd_NDk^SR=Q3U%e6J@~rwerM~ua zslEB6`vdv)dxT(|VU?mh%SQpO)rYK=Wbh{`2h5&@!)%_h!n55cEU70y3*+qoXyqnN z`dSa|07K{#m3E1QH<|^9{I86ts{?vTRovs(V~Ca~Hn3p&BRlBpX3o9^&*zJxT&L?7 zN448^SPLN}h(mT(oJ!x@Z44#~lxFbTUehMO`D8I!ah$b=sE}{mxkhj}FN~CFTSj1C zWF^q+rp&3J&?xOqQZeJ9NlnAJSMR-N8P)HX>br`|`Nt>9PY&AETK)RbxpgL+OB?Zg zSothh5SfT#_VWGq!8+frps$mA!5k(G1^`f^tmyoI=6~BCAiTr&2h;nF8fA``S$TX8 zIr(vYKKN{pFvBL+(A$_Fc}?XBXsk%&HVI4K0f-(Iw@?%|uMl2h>qXvOJuH?&~ ztKI?$gh&7|(zr{4R`cr}{8DQr>!JI5kdpRvRB)pAzTdL{4sVPf*;V`Al)8u=#vXQ~ zdA6J0mnfQ1r@>QZgXA$kUiS%3l!42>8k3vHu3lTI>A1|9>o6;6Cm&F+(Ja=h-63|x z# zxKp*{dC_8g50hB^97z))yLAKV?|aPS_i9rLgYSF`y>rdhhKc7=x{4Ge)8S5Y2G2H*$zKMvTmi>?!;g`A&-9=+I__SwozGi2c9z*=wrdz4J3>D ziicB%l%K%9vpOlfRO4Tv<4U*0%DL?G2e1U)t|AWxk#h18w)eB;QUzn%6EOv+?~}&O z4a+km3hUk@zbX$xH^+6}yD$$9Ox_L0^LTUDIFh$iWsBi9)CEy;vSh#bCw$AoH&LB`ovQ+b{Y@w*;wYe{J4`4T#R#FvQyP1WU5q0 z_TuALLA#3HnV%DCFiziy+!+LIOba<@QMB?IzPL<;y0tTr>XW=;2O1p^qu}k zN$vYx*?GLv&_74)>Hpgn`Tx<~&J@ov^7B8=#LwEQ{cnTh4Oy#*vC%`6tgwXskS8`} z_bbLKW_ifDh2G%9Uxw=|CJ#6qNov_s8W?txE*&&1wzg(hN>#p5PTbFVa&-Hi>dc{0 zVLXK%QiG=sUoSJ|b0Q$QWlvS`0H#Mvum9`5Tv6{70G3I9kN92HFdnsMph&TaOT@$A zaelf}dx%OFze3tz;y|PqL4Mtx;Da?_yq{y`et0}Z{Llq%VD<>jVuk(&#-c)M+;OKw z9RW9Etv^Y4!p-Sg(7L%!km$b&K)@8lQmDm4YU%Y(C~kJ;6%d33ZO#Fgn(b0D>_5x>mGgvm z6l>s%=o|7Cm=Ys7y82E%`YW9}J9$=$XoF$!mltK(I9Gjpq!5V~kqK6=Ea-e!nl_(3 zuF9G==YsmTROo9rsk--vZK8RVb?EQO1h#Y_hPl;Zrp1^#$F?}VHiirtLR+^H#VNO< z{n@|^!Y+p!idjcW6n9YAKZ`u><6zSJ>6)9b@OJHqeeeAvvHn~2NA9B%k>;_2AHTef z$Q7UoKn$@XX?h2|=Pc5>JXhbBGm(p&|@ z>*MMx?H0%q#}4f7MG|lM-M?TfOea$*&GC$K?L3CJ&f0e?0Q)tU-sGjFfa@ovgJ)U;TOdu23bOP7L1<>OQ_J8`OCo zLRWzg*(muRhy5uA+LTB<=&bcX_B~!*QMQ=zvtf>ka3{an0w1Amfl>+ShN1@_&4Z(n zU0mp!Mk0;;8x8q{tQMKKo>o8Q>27fcaP4WgP#z|AFVX|L?Ds8`kBGjoSQX@z%aU%8 z_P-sxbs>cu4bxK{_B-2aX1#G5M(fc_+8}QHE#{8L*fsGR>V$v8-x{lrI3m4!$6~Q#mTnNU`55SY{m;K;(>Gk|y{}8MxS^&1SA6=lc2pBod z1+}f67`6>y`eKLg+*P0%J?50k&;5h?KApv(e5B>j7V5SJO+5Y2-tpgGw|;Oc?YW^^ z%Z$6krU4arYo{k@^-2fPIq2&;dHIdCncc8b^);_34DGw+bxKHf@NzgjjL4mb=v4N7 zzgb`JGV8QoGhwew(+e+_Es^!B5`JVRJGY)ieEEq%#fr9Q*_Tm(Ag%Bb;eK*qoWzY% z*(+p-Nd@9MC^`L4A55Fw-_o@nqo12PhlPC{q}o4Ow4POG?+ zzVjuDyG9kt)q1iPE#ANLF;mD%-z;sY=1FLp-(bgv^rf~nO68r{|JWEj4Y>sJ-k}E) zMQwt%TTj`!*E!eH^ar@JSjEgxFw49>n8I%Iha#iu@J>vYm`4H26&0EtZXF+@{j2o} zQY&9Ve#ZYI-l&@$^u3_L01e5_=&?@_dZlGt{f|r__}PIbBONLPx`RsTe~}CXINa9G z7%+*1G8H-zq%1$A^FHLKa-}C#R2x-rnxTS4 zQ5~s!x&<^-wb-{7hj$Zs^|Pifq~1HRWdo}eeeBRcCeSV5v9_xq8t?t9x5WjtP!)2I zv)>G}XnP3)5iy4=n=j`#P`{>Ch;QOjH9L!t2wcA-ryPcw->Vy-vs}MEq21GPXy13Z zJrkYeO4ipMg2$=G%}Cl6T>KUh*>!XEj*gTbb-!?qqnYwYBOdu^JgFa&$8H(?wi3(uG>jFfwFLu~_538SADy@&onM+$SF@($8X z1Gk3HO8kEI$7H<`oprgFu*J3TR_eT+_KG`P*b5W&IAjJz>OezdM@V4>d?C)((8o5p zjsMNHRQhl{J?ftvVG5l5>Yny}yv>V`{J7j&zi>PhcvgsC9LVwGuAX{TL7fwrh;f(L zwVvO``cHTH=gw||w=^QPVzykjnJxsw5mGXa+}SfNRj`E^XF3Hla*s|yN#EbQOS>v^ zvvLmh9j_w9vX2&6#hsZ?yU5pf!Ll8+d?PIcpWu<=` zTyO0`6R=x%aJ%>Q&*e_ZxNs29V=QUCM)_w_VsE{ySwNN+l?)92_71)>9;hxw=Q+rD zci&S<^AK)d$k zfbt+87kW%RSR-tRI8J!>Nmx>9ihsV{&G`q1Q;8oZv%|;))kZR=3d86qH~*kGBEw5= zra1tYrdDDKwdA|P%531X66EVIVYAA7KPWD}@Q116cn&A&WMz^vW?4R^o>)fqifdd@ zr*4M{iA!x~Q*E#5i=)n8aIekO$HO3aR5Ou^u{4i%tp^qD3I1W#*_R-=UCYByjmN*O zI6TTV5cn}UJ!aA$hxrVoIjoKtdW1PH)QP=V1R7MS2h%~M=?0mX%e%>Z&6%R9^(P9n zsB}auW#ra$3$9z-Uj-6NkLrYhPA8&QT||Um^KyLqzBD-M4Bb!;x*J_9 z{OE~n>HBH4^_Zj;BbsekMPe>Ym{nvs&OFB6%RM%aswSV636#u2tx41W3O>IIfHq3cd<())k z&(m*ex&cz1c!?M-s+vmS$+;_szY9w>XYiQabx%|2Xu4)b@4SqJ-+y_HDWV(rW%{`B z3~7sp-+gN*8=S)!jV=8)ao|A7w$NFF+(_0}qLi#d$DPeuVC(X$g>k`-WdO3=xy@9-zrzm4Wd4VhAAc&J9f*xcbtJw(-^@HwGYeF<3Q_0v<@l|1{#p4KoLc$2l9~|DC z`0xD*sJ-ZHAi}_^kGwTDy3u&v!qQcI61MoR+##mGxm3hS#kM#`Y4g`t?f$g-g{m0Y zrTu}S$56bnTP%>82*fL~i<-`3(@c;nVC^pgE+X0W3!>ySe%7@#9{fDQV8eJRb&=D8 zqWPEWID3=%3foiihcChWKA0WBoc-`XyCy0OI=vdzbE_*4Q7u(-aMRehy_g-EZ?;7&b#zJDomr<^r zM%j6R>?jINi2hTTa+=wRrmc}5ZT|uPxUImq4%~2oSu`YBk*k_~{%9m@i~m4zuI7z# z1fo9e5YFM|qULA21kIkg#SP2flR`wtvdO;Q`jv9G?-`|dFiDq|!d~*%e}rWwT3lngCgcCgMzgAE zgIU|de^@i)AtM2MFu7WcCe>b8_aV35>?hFf#Hq(qKgcv?e7@%fiRMwzm^ZB-o0J@` zv(8bb+);x`vvLvUmP>qhIz9aL_j7~XN7Y>Un{)rLMk;NSY3L!9brrP73_0)pYxu^m zO4gHjD2T{<|3M$i!hvQ;*tcu_QZ?QeJF6)`GE>(8+_$6}*s%L8YUV5f#QxRIE4+UU zgv0PH_>Ogs{AhOEp?a?5=qrbEMU;dlVTtQNy`{5|#6m!SXmmWW%n3s#p6-!+An4*M zA_ICN=Q4v}M4gTSa~uZ&OSYAI(1GJGKp&(fZFxzeJQVp&|2f#Y_kl+|q^kK=m@5q(-2c#5)?%kPc^>X}j5^MD1iZs>X_UEoby6m4&s$>lg_Sud z|8y=3_4AKZ4seDDQsZ@H9q? zms6WLQ=zZOkqc`RSW!&NU#DeR2|lYf#AEeY%b@^V^b$q@uRN>n=4q1ZO-N1~y137U{0gb|I_NDjxLw*Ws z0w=+L+0%(w_T2r??Ow^>En)Dzz0$XW6<0DU4~YtQfw!|Y^7E4uX#^fW&V{9Ys*&BN ztCWWh{0?-Et)OLhC(IdZc_18jUr6G~MMtRff z)1Wo(k%1hkUq#86g0)5nxr}4@Uhk}79B*9+0rlqhF4XxxY6Su@7vav#TJ~!?nl+35 zhm6)EL}E7>U?wAT+N!DZPa5#P1Z7Z|>Xs*7-K5GA*J$@7CJ69fdGQ+4KUj*z8M=XvR%Zdw9OZE z15~8yMC&P4qKTmg30iJ%Z_~06QuP%K?~;7lTL(d8OiV5W&{=GNq*)RH$McP0OA*bX zVGbG0iS4`4fS-Kak15+?L*kYdmY4anpEupx?BkNiJh2GHyZ^dX9TwHc6heUjTy9Yj zbafCg5oVC<$iYxgzfM9E#z`vrv>WHZ16T+3<`+wYw|nZk8$Pwf6;fO`SoNA&-UkP; za!yqzZwB;@Gv0_njb61%qscTYKmDTjXlfu?M~0JF`Y_>F{I7WEpV+v}G4Y4KI*NCHaSYS2zqd26?r|i0qVe{j8gcdqO-F z3zaW~b`I5M^6J#yPx5%{oqwh5&nT8^gkWG&$@|yTBblp~#R0QIN4CKUP*?UKvMq!$ zeyMToeKyW_nIOp)DX5!2uPcv9R>J0fBM5*ce}Oh;e8s^vA7Fe-!<5XXl>}s3i$?5m zP1mWjIB1k-y&*vFa>dV%P#SZxj#!K46R2-{#`n5F>Y^;vmV8jbKGkI~-HZIqr{~lq%2QOBUHmG=v%yUqt`dLK-+NIAk z^KUNS>NYR3Iuz|~S#I}r`?Ug-MW*e(7#=n{q8o>G_&hn42Ij%U|5vfCAj563Rh%wn zKM_0aA;3xk4+W+K3&oz7qJry`nWkTSf8M{v_M~{TO})&`xz#7QY%eFFlvJfvmUEPOc`_%OU@? zhH}xx3MfyU~=P!k=MjEJ71AV0m zpZK`eC2qd8$t#W@zdZcq*VHvhY2)gy_H=`NdvMuKE_nZyiAUev%ZjeX9?932zZWwR zqHDH2w?q$>bL-Ka2mRFIakqFflTv)`S6?Pxk}VYcoT*GVe4S)bM~br3{{5lncFIg5 zxRKpCGEWU2v6Sv*9af;};iN8^;iV&3 zkP+s=Ab`c3&cXV(_doy4PIMxqVaXa~qnX!PxHi0=zU29J4y?e~K!0LHS#cFDV9^}v7V_(tbUV+-Q; zb@tUGFN{mqpA~P;-w@LbQ9I54Pp3yfOdVIaKu)JH<;AWy*=Wf6mw%Q%vP$`~9-LAu zlWeQ5-NhBOt(qD_pf%hx->b_$!BKX{hkQi)cGieg&Z>+`O8Q5OdDxgfA{z~XvsORC zK)osho9k|eFe*fRAWad!%Gwrbyy@6zZv+Pp9?x((E>tO#^)CPKiG@?Z3uyzT-yG1E zI_Om$aIHSv`=0K|bT4$h?8h+5wP8%8Zd|p#(el-gtLpn~0wh7er_|>od8d^r)^k{y zg)|R5=wlTxSxJ%V6?5@wfh0X#m14ntp1Wjmu0MZ+j!|m>iH8q zlJS}errmN+ILJFX<#+JwZ679l4P4>ySa=p*VU?22rVpdgmOe7Ph?{`EKBQ)sz6U)# z)fxt=JB`-f*O!*se_TITC|c|O{JSdR`pXJs*FFxHl5YRRS41p~rNFdmB7L34tOC^5Uewu!zHH9RpMDB`UU_UrFjF-)_Ce;OU}#cZ56;S>JuGSbpQyXH-2!B z7|9R7SW-Otd~NwMMRP1s$_M6o=f~*3m%~yCFh87PYnw=Uy(U2&t9ukZWruIKs#--6 z^VW|3jg=1{y}4iTg8#w;|3h$-uoc~0@jk>%{tf=i)ZlujymT&JkrStX-k#!q zsykB_wsdbpkZjN`?aBG|U#8_sGv|5%>=seQ$IeX^5Uj!bmcpVe>9!RYesnOJ5me3S z{eUcQ4zWXv*fq7j99^eze+^uS>yO+XoaTM~tS!06Ld5$~_tf&;_NJ;%4yQqhDi(9W z|CwDR@RHdA0mz&Pm8-?teD@#F2cIxX4>*g6tp(DGzR1!2?FtGM)otukAh*voD6^5E z(2FPS5~%%Drm|#Z6Kk{4WYRwi%6n=QkE-~?&p>Hbmr(;(!4XW?=o5XYAti zZ{NgQTm2NqD*ek_+VEmlJ5R4rnNXU2X!{bmfb@ z`_(h)zWt5j%2SLZ0KBBS{Cs{{)@OSVFuHIIlF$jDG)^!hPA>jG>(+!cTUaL-bRPk_ zx&(c0dH+#+i02O+0c)Qy5~VRsZD=qW z@JoGqO#t*);dHF7mhW60lhxjp zecP=AI3Oi9tt_GM831(jG@(aTuAJ$nAQjPxD5-+%KA<_%%$U9@`qr;2Me}p_2r`4Z zTTCNGc5bM{7Q1s08w_Cx2huv+yz6(AWkG>h#{Y?h&*n4z?w>vXlf$IZs4xsx8P;$GW zLWzO~+l=CcLK9*itoxB113&+@R?RW&`O*k>@D>?1$*-7~11&X?I`1sa(y(Kp|vt31nZK_)nc zl^3AxFlCD8j830#)Hiu+>}~k+!4`}ojgC!^&KlQHI#$;oK4CvHNHi6RbCtET9STOt zj1YCU#EU2=?k3Ap?h5Zunr0r6RDOhLXeb8Yf1hBQhP?^IQp}`resB6+AQux#yn7v9 zYx0!at6l+vj$6O=U6#NpalZZzsi(=%qXfnvC_OCRdOhZRoW5z#G^cC0_yPhD@r z9|Vn0<-YxPPl{Zo>A9dm+9n6~&h-Dq)LVx|wf+CwbV-ABBPB|A4JAlOi4u|m(hbrK z-QC@xq;v=jp>!ji(%m%-Fwf?k^ZooDFaGqJU2Cts;(gz*Y@iR^2lkZ*b?ziNRQga6 z9%gO)Z&w4LP^i1SeCTYZfiu?H-9Jbe)~`1TL?1C`W?=Vku{vJrT&T93k41nuH?24+ zY(I@9MHAUXeXIp5Mzr%7I(V|Av?Hqtd|AkTt^ofqICnk&IC5?cOTV_~a4R&j-1vg( z8n>ciNpHDW_Ttx29jm26Vj}JH!Bqn7FXxK_*JH}Q!mLpJUf1;QcZfQ7SUXQhMo-)uzw%#Qya*qUw<&X;0X z3Kd9!7%(q3dTP+=GLn0bYJu?a8fQZjt}qu{JPckJ{&=Xht%Y`-AHBd;@ztLl`ecG# z!z$*wp9JI*`#ukJ#K}U(qv>w}^gWLaR{~TBe(=0&&WcUtcklLq1slh^c_7=z!p=?w zh=Q6uUjFHNw7~BQL<*AgQlR~J3*4U0B$3wU)!2>AYLz+aXWPJ}jt!ER&$L?G1%G_C zE+&nUFi48|IehnULdN~FPXUsnwv zr^wuVV<8z*Vl4(lP;eM_RA^Nj3~W70h&rwZWuW|bNTMH%9f4^HHRs`QO@y*_3&t28`CvzJN7*dwmd-o;YT0SwMrk z>Km6sg!VdD6yM7p5Ph|}pA}FbAxO4O?Ex~Wg(mx4&#k2v=T?Wm0e2|>HR^FVU#8(A znc}&O03;G=BDknHDHv^081ihwK2~|#G&&@KDD!%(vTFmXN+kutzk zZUHFUtjG}jAc3DTdBnx3A;ahPw)3@2RcBsXgU=BkIdq~MfQ9W`{4 zxmxPCJ4#n_e7Cuk6PGud>7t~`jb+zMKlmG3?i-JCPYxtEL-9S|)1BwP*8}Y=|8%Qx z<;6#M%$|kvUk>&6huN*PeUGID?cZG;EOhw%Ofdnpp&|}zen2isB@j~5$G_s|yZ-MR zTf(jH`0xy>cphnoC2P+Yc%+?vsJw@s%vbOl=4=<=7uQy5hW=jH*LblhQP^atNar;g zD<~z*!vVOuKS1WodehX-_V)T16zbt~cd4)n0nY*rv)=XK+Pt9} zyAaodnLWVxhVlyehL>ZY`dlpTAwo6tusDUYLt}->Lyo zGD)4g>{YZ+@2%ez341x1-Y|uhx0MZl3i*6Tx+Fg;za#OwV-RnF#+T5PrC>LXcKrZ) z?-X}lUN(7d1V{)eC@CXpvuMTKxd73Ybt>R{r<+Nj;zL+P`1JFu?QvJ=4*PfpzjZy3 zNPRS4Cl4t4rsnI+`T6;afv?Q(ov(*;U8&&+Rk`4~pFPjf<54g=!@rz7th#;nqMTdL z_?(vA!xVo7lawYrvU>RB0?;%La!+8WIW7#I3H~OjY|)VC^-d&Li8=X1pKseM8#0Zv zb?3DOn(X-aXyCE<;rzMb)5Rflrbltx0et7yDunG{y6vkA>Uu)lLieQs;(?$b_rCj{ zk9Mx5_yI(|Rs=Ho?y>NEmVL8SvL5Tq^xt0~DFHysE&J&Uv#5r1ylTne8ZBe@^2`Ca z@J>$VP*8c8w=&LQ8qM}cShF2}Yy+)gOcpr#-e*;{2J2ro&1m)Jl{erJ5QaqbdZk8X zgNr1Gf5!%GAznUKT?FmlnQs+wFPEJy?T`x1_*Q|H0p9!s;LRhq!EOJKHy61C(GD0| zmrt6FR{!=px@`7un~HHWChhh`!|8ffdObDJ1p#d z8qNbXa7K3ggC%oYW0CzOzO)-UC&&}r2Hi}1Tr3%L9i(gs;xRB0-!D!ecYZj4 zX+Y2Ga{nXMF|mHl=EI?HeMb-O4W749zs8@EJ?1|h>bJiFcT~TRY?*c%&e zY#EoJ>c52RIA_ov{_l>b1GsrE#N|;>`g*XJ5%n|L!ML(r^~ptJ$+Am~l`!u>@eXfv zgX`m^1I^T2Y*eyi_5bg@={}|9l!D{I)%T93sGn0qTGE4dw98tQdnj%)#_Q~?PAHWq zKfODeg`aQk+)ml*q)`6*Ug$JFv2EhuArH{D`SfQtFj%^ptKy4OqriazBR$_&*#Pl5afDp$0@T zwi$Yl0L_-*Xg8hk$o+6#alds1)|~{bIS-#M>WFXua|F~{1LUUrW7p&B#ca9r*-dyN zJH8=doB2PqxrhITZeom`jPoyNii0zmM>o#oC4e?3-9dH$KCpn?;Nd^ooN{$*wxtGm z;AA@6+Vad7%g@MD`EsW-s-~`>;(`KY;riggYP1HW(W{rxd8OOHe_PC?PLV9o%sIi( z55A+Z$f%#0Q!r03vmRsPPo}MouV7m5#N^r!xo5?FM^o_-%%8X?KSBVGzrL@$ILNq9 zH4$$`a?GR{Pi@Hf6Le!v^NWYGX81+9sxIq_Qaas*zq2em?$f8nw*e=W(=w9+mUco%Dpvf`xYnAC{*3THFMhg2x!#?CradJNmbNnQJ@FAQgOwbD>ox6W|%dbN*rQ*D6&p-l1r zgfdzG2xVfo?UTWx{or!R;k^HZGU68UjGtI}PvbEk(=YoAsJCWcSl7-Dfc9`@|2ZDQ z!Jeez>1@IALfHp`PYYTUv^H;X9jb%hH{<%&wY~B zOSVx0hq^y{rojVHYD|Rpt7cuR z0TYOc;hz)k#4KtWhi9>X5^|$vv3}*K`82x7q>odW9%u6JwVnH#p6mP=t#+(Nhi)iB zok#y)o0CY)<+kD6gc#5<*Xxc~qGdyr(2{R}FSd_9$V!@*sPbNZVRmr!rM(_KU=11j z=OH2(je1PMyR_I*#%f;IPfbmRQu%_AExsvlw`!Uy$ zH(emdymVwGLHSdv^2!ag=8*(h+=jM!b}WaQ|I24T(Z=3l;A5VYJFhtSXMeJ3#Tcwe zFOq_VvGki3mJ@64Ix?N{C7=!PnyebWhhFeNcm8#bu;SG{>72Um_jkTL5BVf6y7CgA z_lG=^6+XE)X>@$ou$9P9)8Ug>qoC^57C0wB&l_?ig8v<0_-!a%fk6L$vjIiS`+pTN z<_!NSVji;oRm6b5qb_ppR>KEqwT1vi5YfK}9*28NfOI@w^QW{mf}enNpPB!F^s&zU zJMWHvf%KN@vB(GgF-pu;aT7fz(7XReHmaGwv=39+78qZ~m8^4;jyY<1qUosx7)2uSvS7WV*hmRkQ+j-r9U?*YoLl*Uti{gZD zyqECSzcZ!2_yzck@nHaeD+*Mak>dF+E`HLY?(6G2pKgOdhPt~0K0tJPKXYgIp-@p# zNp75;s$ra|?2kc4M&6N=lh+I$A6MZ^YxLdSiEMAo&+Dk|@ETyz;)WXYwzap1qX84) z!d})-#E^Ly3`TQ}dg1Bf;SqiUz=TSzr?;j^Zf+X={6HX2xU_0+{qB5Z1fC{vk7qTo?2* zGV1K8iPeHdFL zvf^U;1`6b2(g$5*|Al)5DC1tj?_WMd;oV_E2*MmF3V8A5xf6m^L$acs z_*jn*iTAO6zKK3|y{8PMxypyrekKb+iFXh>WO{=$Nt%$^<(eG$Lad&b^GGH=`*E^8jnPf zMTS*)R`uwv-0sH3Ev|(1enmC2v6_dwdt7qz^Rajj&>K6uDjOS{yv@zcT`}go!a`(| z$(b4EpwoLsAg;V^F(wFq=jRgqsrKXQ>T2Hy>@M`tTyuZUf-hpX2LU)0Y8iK+JYq)n z4(zK(>)M@)?xP?{dmAZ9%txjoD%&yGE-4> zzEo83MRa#dv$3-i{dar?gf6HoJQnN&dK4@YMIFbJfTGN zPaTp(I|F{o4Ke8H>4mBK^!6C1$O-wk4+0M?clhfdKG-2TVXG=?kaeII(2S48DkB_UBm6ajoj#)8& zYrylRT@`Qt`SY1B3dGphSW{oWQW5>m%*-r5+rrtw!RYHUJSGM=A}WfwVcpru=~uyI z$!A|*gRC?_m`kF1(M96v>A8D(`DdMnVNIc<-UXY&jIw_)%w|hF~J2RaHe*)zX$0 z;SV4w1(IP>T3S^g=vI{iPYQ1xbJx%376ywHnp#~|CG7RaJv*%d=P7^v{Fwn*-&L29 zLB16nN@;CvWo2VinA`8~$KdWdHUDU1Ht}L(WICrmdY_f-o5^ZRz2m&E~TTEoSfHwl=-HtbtBn9B*vzz>?r#R8Q=V zm|N}`L`GN)Htoiiqg<8gZZ4u+g|E^X#&r-SQary_os6ej~f?I7Dx#inV9sP?g(bF zLxnHuwrk8|81GH+Zeyrmo14FO-}hUf!x|9C3`dzvUae!Dvt9e(C+0}uRWx7T3rElw z_QAM&5n$+*Vf3tw5xyx%PJL%YGd{l^oqT*AHoSkug6;3qe7w9qP3C(TV6-OMo_fXw ztLGfg3qM=dwWGr(#SHHt2v{ z4hXO4G@AEbzub+yKG%kMTvCS@{#_h98sn#B^Y#YUKRWk~!h`1ErQ(n|tnuiJxwx!f zw;&DwKT4JrM3mn{v9CC~aB_(CT8{#>91!tNhwO9jj}W=hK1+#(A!E|1yhTxXFe8;nYd#i0LQ>(D*eSu?)7CJM1D5IUT*)`=a<3`ZC#R_ z6(A*5RdbMRYHI3&K%Z^e12bA`QBin4pr}}Y{qEyfq7}0HE^=KrG3W{Yy3(|6LX`Lb zl#&!Q8WSo^$|&e01#K{ys~{mnZFy>pr#4jU!3X05$co z$;^g3U(ICx%~;E~+U3Q?NcT)vLm#($0_KW89X>ujS#=JglLpQ}w^JiNG$CXqm9|+D z5D?&J4FtEdC}T_lH@a&7{QR8CM?TH{&wQpgGV>O7q~lZ6!~jWR9kDFcZ1VE;^;aQ7 zdwM*~YM=mC{x`;TrZ#r%c5 zjBnVz#VW4*q;VdA>iWaT57aPU^wmH!$fkFc(+OA=qLbS)XC$<0D3_}H(F?zH5WR@+%;tCIOWryoD;01b*VZx$Nye|1+tM1D@ zeYAlvF7$lbty=jY36iDj*aeU#rz)zzaF|3b(OkM;T~Bv+=g-(ve_r!ZE`V=3eaS$mG(nRt`x1>;0P3`zJ1Qe%^_ORDyf5xl_O(d(P8Bb*u$r~4(Pl$4@qk=E7n^TCe2sxdUR;;4dDAkZ@>Ah>d(5W^E~t1g+1)w z&ESD|5}VKTzkbF(BNY$w$Y8c8nsxp~Xpyyu05RvVY;Y4r-i=p9>B`zydTUGg|6sB+80Xapu-_3tE>c{phFE%o% zw$+HnAWvpXpx`JxdX2Rw)5|$kNqxtX3^?a5lZ_|+e2wcvyG$hR*W8ako$0*E<&#Kb zY^kP9hpF`;Ig!-n#5cdZ#gJU(r;Aec&W%@j!>MzkFAK87j7IJv>;-AUSnH&^_C21M0y3$O-)n3?6YWq+5__FYB1U;h?qt8aHWEo^>EeOcm zJjBXxh+U9Bf3dPN-9_Sav|sJiQau&W{-Z~pO-fN(y{r!|9R+85o)P0X2Dr=88#aq^rQYESk3oY%bO64E)*f+Ls`W9Ep42dt}Y#n$wR=Y}n z^0tnzTqPtQm~F4J^?j+>VRT(A?1GJ90P>k#x521)(!rB?K|6eRzUTX-SCbqNP{ znZAw`m$n?`13O}#@l4m<^DmXe{dWF*QE3}FAKY_y>Rm;Bbn~(KD#q&2stREqK9bWC z-&5M_+GFxO^b~L9kUzMr)0=IRqQ`Y0g3q@e$uR;w8WX_nrP zf<*BGkD010+ol_*ndJSq?N9&F4HtRT^pW?-PzL`86=heoA%yF+P|=HcDTnE;1?+Kv z5J%kFTrC3CJ}E?lFyMW0E{3%~!XIGk_S5qq@SVzEwGzMc)7!HRDIrYRBOw-Es^5a> zJw8qkvQY^{gScv6b;ruYgz!ASif(Mgjt+dUW#u&N*d!CjU{Lf0{Z^>46rWPWxgl|{ z{?+?oGVCjF^~owkuqnVWu(oQ9ZHO+e-(yNuE#rpXq2hiY8*Lca(8C>UrC5&=H=_`u zCr8RbEUq#Kj})u2UR0W+2<)bZRGRa?{N%*CH>HY#dt=Sh)>M!?V~Wt=x9+32C;kvc z@LUZ1*p?k2k=Zvt0qn1`kFh1=d|_43Y~ZT4kWa4xQh;z>~= zkX2Nm!jb1>hPSw}!H@&i@D()cVU3#Am?fF7Ze4iU=p`r38}+_ERPZB#PPg{Q^(^Fu z+^;fTmFA&%3Ia1<&q43gG% zBugDWnbi5!0hyOAa}-()a>q3>Q8Wo-QNMXb2wOkVZG7$eDsJk9!2M(P>$s0wT(W5Y zFhnl~DC3l6zPIRGQ5nO}$Q44;B_d^$e*&zs?utSpkX&#w{t*LMt6y z@s=Q92(b4*s+;%S_%R7TS^L8pc((gXt~X7*Vdo>&+?K2AdNB0?&--h$p36zbP`{X0KQJBrumc)WrG?TT{Qt^ZV7#h@7XN>h=}Y^WVf^&!Aq zJ%ddE$r3g;pwoX%d5rH=ooK@%$JBL96UbWSIO_aIk3U-NBN=&=hO>2ymv9IPf_!)* z${cHYKrr?uKtwef8Mx&QV-WT^BzKq5FGLm}+UllfH2?PMmtX$mP)52c^7r`^v1vaRiRKwn;*)GS?+K0%)@c#ID8}O)Az7I85F}Krq3a= zsR+YOYi~QrO;ncAt;J;^*u>$2%hSl|3udc-B4s)+0+jnF7+Y^YUhwwYs+vHs&h$ z8*3G0wOJE#rZRb)y_k2u_NY1nt6mK3))~q8HH{ek>N6%0ez|5xTfm+U&6?djjheRB z+~Gb@Up8?S?$H0pp#v8oIo$`1#g6kX2;yFbs|-k3vul&iCGL6#Q!Qihgv3x@@|c?9 zp=Wg{e$77+$#yQbz62@)`*%@Z!Oc&U=>*tULB1t74~(_Xc^C+plPxAnYCkrXypf&| zDAwS6opGI@@r2+AQo#_ojfZLs2CDN>YAB*FC^%cGr9Ai)xd|2c}?Q8Mx!`` zG#{+2zMCu@5pZdbA|g7?be-z+8qEYIK4>s9fL!z3FMtDIHh_wHt?=yO{im5Ilb9Ab zOX)*T>!KE|pE*wmb=ZvYjRO*8z5ac3x5yDG=p{c<|Fbgr+~u7kYp0_3Ua$iiQv&==2UcN+W@EMYnwWzWNYccg`E;K}#}Z0P(rvu< zQb90z&xVSkgMvVnjJ7hJfv&%n4Psd)tz>UiQpA%ZLzkwJ4izn9Zjk5dwgFs1Z0ERi zDC=>Thls>DQWGC8wbWh|_!V%LGIT;Ezf+;dYv@hBHj2^|CT7Dxn$Sm!O1b206>y?c z9Oy)t;PGY%yAj53ama#C-xH(@)90}^25C;bk7ASLVpQz*=m#}9#VFAiiLaSih5tZZ z(K>QYzLOk4oIx85dQc6%4)tdp_^80e;K04@$^3c;hcRkY97~qg=grs^wQtDo*|^bYB(lkO z>`{s8(egK?YfbmL)p$BYA-dK{iYD0nW7drf(!W<_M2?SI|0&B;ajEMuTegPnz9-?&UC$#uFDi{2 z{nV1Y%a!PB zl8v7{L}%DnqO)4U)^3<#4euq}&#gg`FmQXo*{i=(n_yg#36VoQWSd}gbNU6{b?84W z4)YmwP2MDN|AYj3x8}$gIFv<}Zyux7>#@yuQRDk-?`^npAE;xA1oRJ)%Ktog27n#(Q)-+F*Dc!PU#-h{PBzTzuMPE1$7CyhY z!Vl4KvyIu6Dk=g~=z=7A2PHveX`x`6YoxF*^bETh z4(uBxNw48qiu!Xu%a99o%w1lXa2`$sUBrRyTJj9@#4vC89cK~Lr-hDOxrJj4kMP() z6zK5xeA;s-7)eHBT9yz>-wtV6U4CiB3X(%DyD z1))#;SUSZR8)W`Yk&aTIPm-x)|8&Cl$H~B3LW}ZeLeF`imdvq~;mGl4>)06-2I-x= zrRlL(j4JYkF0oX3&c^cTyHB63fMKe%LO+}ky44@pR-Gh?`LVH5=31DZM=YrR>I0ZM z&((BLTDJs9%rMtaXLja3HNnQ zdUfi4F8W>TxA1ZJ0t^Lw5_e4sv1sqhYQW3SUSfw!1$(RRrUnucnDb{$R6^LT8O@x@tpc)<*t$}%{!jAi0UC6Wv zM`a#c-e8W4b0H}{+sfx!`QfI6S5O_!ddQynOZaaGhQAk~kk{k9JM1s-3r5`?a@{67 z{e!F@BooefT&${utSL(q-Fo@WHKb3d&30118N*@ukqLXZfAVqXi<;zri;Apd0OZ+hI=&Sw9=0bVkC{?`xV)k`p)vJN>*J~ZXqD5ldh ztb>#O(rIZvq|sLJ5`C?mzq02JbS&t;`vx{Hb^#>}T%2ArTs3Fvo0X}3Es$au1 z7_rpYQc6vwqJDakQ6|S?vL)#-@Z=(BcyVVZ=XwKI_U3JC>C_{$eTmf%4&uQK4sDVR zESL__dn-6Z8V37P`M@nN*-R7_CaKT-?!~iolZd(B+!Lr;zZ^L*Wr7h3EOAMS8e)x9 zx-SwyEIoZPXm1eby-dRxc}-F1o;~m4LpeAR-pP_-W==0hKYZ5x2jF3Q_38Dpp1yre6<^-f?Ug745#deck zBpdZ_ytlKZ+Szj(aetqBOps4@kXkiuZ8c1%ByI3p&!{OTI)@`_)NZf&1pl?UZ7$x_ zGA!hyNbDlzxpfb|ax9wnq1d`;c8Bvw2{b21WeOXR zZ=_F+^@$LaGGeyMFL(sbvK($8=qo0sZ#bibWT9Sptm(WZTXfkw1jc}M*p76yA*LvI zJNrOi>~ba6k;2(G{P#Mp1-^sd2nSh1*y?GW>2yo~oJ!oNWw1EsuTeiwlKviZ(T>*K zKbBFi0TXyjd1%uxCPl>?rX3&mjJt%nEp=b7-P6?`r9fjF^|<9Ako;qq3pPPF!LWk6 zLD>F4ZsM_%KzH2P&Pn{;#umX73to_i2J)3>j=0<&$)r4DwDaJMq+)7Lz%|A}BHxn?h-NkRWbM-bV`!BY<>tbCAL8 z(;YU6tmv#QC=Z`zn4BRZ&8MBpzs^r%L?fu)&4EJYi$*6RYy4Qe8Z_p2RJpf}H!B>MUFczbw)D(nhXXO!As|B&7R>Az)Y4HS^bkfSiDKD0=86ldwc?m!}K}MdfB3p z-YHO8%{A3(0Hx0P!&3Mi=o3K(M~*(6T}@k(vg(=oz$+9RVQL%3^@2UAR(zZ$$&5~| zps3u2FoGY84;H4Z`8UJ5>ie|st}n_cG1lWa@2}tcmzKiofQ?FDLsR&@te5l+@YJs7 zOp=ZmGE*NDmopp99c_}-OI8^RE91koY8mc!ilsXTtMq@OHTA5hx3FOwnEt>-@fx>B z5@(%u-N|;-c*F_)Fq;#AhO>-UKakiccV($eNOBCXXh)^%1d~7EN7rKu=V>DPqxQ*==c(>XYn9T#1M$r z&G9J30hfCLq6aHC&y08h_kq))M9HwWJ>Y2z*#TtGww>s--g&FsCCFd+#DGBN5n$uy z&r7AQu^zRUtRCUr)G`?AArL=pcJeyeTNr@BGUjC;TbQ2x1xPEKIZDB07a})L_aquD z#0bRRy%eXnMuBvUIHcpx?qdtGpPwnM?l*z%vClwc3qK|IEV4-#^h(ye8v+!YValX4 zi&VVZd?IhQrvQ(LD9)}g{1>aGwWMW$eX<|YBe0z((jJx91f;0gTBD3sC?WuH^Y3|z zkg9wEv~#_QhgSclrTsg0Nr*+o&tv@HiZ`lv;*q#vVgnOW zN$q9l)pt>6d=g+eY0GTrx@Grpx{&_uqXmoAD5@|f z6v`WsrloRc!@wyzu+EneA;8FBB8l{UcJ1hCogo(HrV9!M9WY^>-7RNUFwiVtEE|KD zc33)%)U|T49}R^IeO`N|#)pIb-Bs$OIMtvmfyjq$q5StQtNtWYRJ7iN** zltprVQ`Z3~-l8QLp3__DZs=Ve zz)B-zYzw@Q?Ucp@-Y5e`R#-dxKKYvf`DVZ@V$}rVYc5I_zXzay0Vb}orPaKPbD&}I z?_nhQuG=J^0zThGovPR=717E!nX8@$l_e-i#>aB5Q8A5Z2!{KEjrmJ;o2?cK5@xPM z4SEZLlma#mh2;g=4~N7jM0Y@6or$FDjnXp*cvwFj4vF6^@qXu5%;&~@yS7ntg+~|s zkyg>u1+YX2GW~$>HYv^xyd~QybQBp$f0dliSa|htv#R>H6jKaWmy1<&8=zP(g%$b$ zy8HVfTIFx$^Fg|?EJXL+PL28R9p`yzU5*SJGYNna1-z7h01c^kw z26POInxmNRKuG+j2v)4%*~QegF2*H5w9PeZ#*#@+IBS6Z|pGd3m(aoa+EEvPoH&sqGD{207YM?iwoM^KRwFTDUdV&oYj@x7n>%G|~ zJSE90*Au{Y;V+pqT8eLVL>IhX2NoQQIXt;j32_~bSglC50^cqV)Z2Ucy_I$^bh!N+ zD)^)gVXq@&>XiB^OZ8rt*>_g6gQq(3Vh^$b_zLX8NKmD1Tcoy}Hp2*Q1$wfMR~1+- z6Jz=MPqYo#0IlgZu87uK{IkgQ) z!0o93F!RmDFCtaGZoovJ&r7pjh`2^)P2PnWwLyi|>J|%|a*^AwR+oqk3}HRh=#{p} zs~($D1uX}urN}V2(d}16Hg5HIV7Br2o2xLG*rOBGEmDI)2pQT6&KXq+Hyg`3ai+sc+7CwiDBVg$y;BIS z-KH`gegI(}Aqz7iAN5g(S^a6t^JOdSpea$=Gk4?jOn>jXf>zI`W(`(f(X!6%8!Q=> zgK?!=0>8tG1Q>jbow+2_{nQmOLl9+d*&bvuiPBK95Q|x(JXDXe@-!9Hl&+u4oS8>1+J0LJj)R+gtedx|Br)RZ3#wY>-Z=2Yz<$Bxds%q-k`3aezgMj*$SN= zvDf5@%|wyyLkro-i}mILS!=wj#q(KRk_ar&Vu-inoyXcH zIeK6E^CG_1F0q*4ALVAk#>`n$;Tsi9#~!Yf=O79mO=E+9AR;pp?uj^r039=%M-P>Z z$t_LCM?U4)_(r+T^f!Bb+9S)tOQ|wOQP|u`GERY(2xM~kk%x%x42ZmkXDNup$f>(O z0$lo|2=lnd>7&4=UPh;)XTOM+zeRJ?crLbHr0n{*H@Lr!QQRcGJwheb^AnRHksPF$ zE^-|BHrV&m!)*B~HXo_d0PPZEhptzkH(=@*@JMY&aW?!GSpuZOIAIqPWMf7&C>Dq? z;uYYdu`s)qy6b}%;Dms4OX)bT^CCm9$p@F7Xu@ZnroQN z$7_`Nv~jWCY=7@%kg9p6Uf1W}FGVH#WO?A^4xn@W zk@}|qr9cm#tq?;n2%ILM?C*6(Y|Gk*k8PT?B1b-q`^QQb~a*brAl zewYnar$?WpUjTa^9an6Y*LL#PV4%Mcw`)`A_PJS}71@zZHNogw>x6zJA?(G)wnuUv zNaN1=Gm39M_EHjAB#>d?pSCDNSl<bO-!hsqfny!&m(5-n#Y>cS03Tu0f z5A16a!z!nNC!s%jz5rLsTo#HSm)s_6g#P!BqDT_zy|Pp)F0q{$9_uDYa4KuLkS$>F zEfTGQaU~nWzCILuSox_*fL*J~Mx^ui-C?rDb$-$_0LUb(nhh7xx(a+lm)f z=QNe8A2*leI)66V%m;KYP#%Tn6UZo&hVg7;V^usGJbAGQ0vz6%PaZYr9JRx*$4h%I zf0VNGQ3(8F{K@l~K%_<i&gLB|k3h zOlN+B2`62uCpcunGgW5Y2sB6#?f(ck!|a2a4>QNuH^MH4E!Ry5fCXlsW#k?5V&S7h zCDqM}Jo70Cp9fb5?$zF;Q&Rd*_XZ0QTed$t0_0)Lh`YR!J~|l=uuT1z^8qU(S~t!6J`S?&ZWB`y{NOu7 ziR$ZQyRxyln+2hBssrjycu7b6%dHj9)0IaV_gjC=Ln>L+9MMqD*+~qzwn`SO}kHY9qj0JOkMA*Z7hE&8NzU;-(*$H^Vc&m#6=dyD`4TK8mnF zKb7f9Ch5FJbozECv8A)W3d0(4L!dtV#sq)QTaW;7O*8nCmlG>qzuNkX;QUMP_bh8@ zZ!tq>A97pm{#~DX?nm<}#!(@;kE4vR3=iXDE-tLATMMeTOrC&ohJfug%nDAq{x<%> z9Y?_KCFo;zk3#PB#Rc-77*V*0k}QAV3zDgHg&{;j>iXSU@_?ALB2*hyB%##nhwm`x zEP=rcReD9xpZo$th5FEoL}J+V<}LUhBaU@kn{Be^YliN}X3?e>aRr7r?e zJId=-|DLvEb+y|@=tl;$HpgYdUw+T+3Mn6;qCpc8=8Z-c6iwCEXUas4ls*KlA01=I z-fVnbPj`K=gRH_S5dqY(7qxx*2*<{@Y8SM1XHvkA@T!JfL}-WvU;d>7+i>QOovfY^ zmIdNQtvCU6;(+%CjJBwLuEduYDeiP#ZzxBx@OFih_!C`i<}NV&WJMkx=Mtx(=GW#=SZ5OuDK`jl&KyuCSUdNvJ{ zu4Q6n1=V1$?>LJFM+Y}PjG%>8-exz>3NtqF1XDW!NpR%6{2*z}t>Z`cp2j3xG z2<*+b?=*~ng0OGj?NhMYQcJli6YZxPsw<~ymF?&4(Yxz7l>e4GZ4Cc?5?#KZrnqZhD=OVrsmyi0Uj=|I2PrCg{T zc(|zng-TlMFLXy&HAekI>Doh&fMtjV+;>5MZqSiPmj$Y;st5n$u5a}0nOhONySs0I z7N!zdp5O}+8IS~tUA?H%ZdxPuI`@4vTaz>X64+624Goui=3i^OktBXpa3k7mVx+=( z+oPtd2^RUmXX2(_7j!4k6gq>cky_OC&MP_c5hJgC+Y!0snk0tPIqd-# z(-*zG;|J{VJh099IWW68e+Ilenw@r)z?P|U;n}ybOg<=Z1!B0?oz4~m&9onl1|p0V zz`n!6TS1q2)1!AI@z9 ztZemgaG$jKRKNQK+v;uNpHDG<;fnP&qke<^`g&)4t$Dm6aBm*%<4`43{JsYXl7X!3 z>=Q@lKykg{hkKXw1Nm>|?LXfMxWGj$JKo(;hyJDKz16|XC z>kse>YWBW!&*XJ3eMTl&-g7r&L(mUofYZSANUF{A>dQS2P*fI!L1+GYvSw?08@kQH z1vO3um+>gK0HtmconV$&?oZ3itgzn%SF7`Z-SYzXpT5ffX|mw3Jeq&*w$_|!{QRa~ z&qN5L$00%p8wDVbTX@*H8VQm1Ti@Libh^9~CWlfwJ%pCm#m&&3UhVXZ`f9jri(K&}E8>PrPj z{+S#nTnr8qkqQox98QP!UI!l2ta20J@&S?B*@6f2u(q`73$&PAt-jh z_2vAhqi&N)V8`9dmt83aY+bPX{v~=R&Ap+M;VQHSn zAqcCRo8p|nu}aIHk2ty6USb7`z|}i{OY8^efg%b_AU) zHddnO4)c!-ygSIgVhgPvV;p`Sz5a~_9Y@^HYvm~EgkN!v!*gZZt*hR;$3C(WN)G<> z^dkd;$v*iF`q3}122O}8p_C{HE*-b|x*-NapQr%Yw7K#`3xHMo?fJ7H95{60B2NiM z;*xx(Rm+cbd^|7gqcs=n|M16rU5_oKuRrMisqsz1!Aj@SeSet+*gLU({bFEZ^7udy zm2qS+fJGAg!$jgBIF+o!H3J5tBI%4Ij7@$q9~) zw)J(VyuO}tUw}w+4*(54 zmn60q%W&T-u?NJO9#C~fsGrb;Q5q#VQ$o7Z=lJKmhy-!hox}U&BbIgp$P8u+l7^6Z zb9;s0lmJWp+dSiO-dW)c<0K7)osQExs&}9M_YdBuYkAAHx$yNebbYx#RD@jod0e?a zQcznB=3d+OKY5!DiKwNrH?somOaxbDy&>27VUR)|H5(B1Pcca|H;fa<3j;YJ9y!6Q z53}asvRupTTN#dWG<-K1BZ51h1MIkKD5!e0Y};_l%D+g-@b2c<^buOJ2onLDUY!w; zaA5^fxHl7o#s;H|V`T@E(#%nmDXqp3YunZ%iG&BnSQKDDB{PwFohr^obk978R&{t2 z1B=j5VpgkpmIeBHfRGWfUj;#!XaKiR2v)bOs51oZ_gP>)R`gjI0Oq{G)3T~jH_HjS zu8f&62h^~B)$X%UkWCOw0*;SAU;gYVR?IU5;Em`onlw5!9p@Rl9^k?H?ni2Ev@GY3 zKxm)4YYp(oc6c3_>|4qY5(Wt`fnl$plF64o{9Ke8LqKE8dwt4!C|?6oR+HzoiYPQQ z{Vz<3IkkB+k~yOQZs8STZe=Cl`z~QU^Jkum;?x92vqn{I=UsQ$Ag{vH|Gn@Cq>?V^ zU1Qrn-MJzyWVE*eAY&h(+ z_Np4rpGgGAh-lZqs3_AVTogkf0Xj_Z76Mfb#6dAT4FGMxRB^ zXVRgcX|IPYDkuxISnI`+&%%TWynvGvkXbwmeJS|7n&NwXp?<%!MA`DC2U$ zyNVLn0CJmzlHyf1REAd7osSzGbJ0|QJ=tz%% zs1ziT zKCzJ%F7@w#(sf1W(tc(=d7YQA#U7J|IOs1F;>^&+(=wm?lWbX^*>`Y>a3fb*!v8lb zP&GX^+=DPhRK1T`F%#P1=N6L5WIivaC|Tn=my)9Bma&L9J$%{c~*& zM=y$VevJ)lfLHV2S@g@vgD1ovLr7c*UQF;>lJKUs_%OIVK|IIDpbEL!h zTlG!C_0~@KfOLsf@21mSnpr>SAV{X2IZERV4mWTlSeGX4DI*q zt6#7v>wVp_-?dV+>W>zj0#b){7;=@EDE>h1#kp2S3<(uzw8Zk{Cd)=5U;SRs9Ud-3 zfX#2Vi_sXPIU~`VVAKD2Ppyq?u#>}KV*oD05KshIFM=l<_pafe>GSNn2PMQy{Tg)c zn+TRpImZT>CA3@>cC=5sQ%6L7)%sS8=$FQXLuNg7)I^#gjR-oF|>S)$&*<^7$HVAjR}g{Il@`lkj9t zuqyx{Z2qw%L=jHNJma88?jpF@0f-~fB>)eh@O|?&I;#?+KO1lgLYG3b8nF`*urYPd z+DE(;-1tl7&Mv0|u2*$&d>i|>YeiqUKAy;?j-ILyoehoUr@f?j3iX-{_IEhaV9Ry} z@)kk4bIj8)llcG4v*96=ua#it=C^767Z;=*X}-n2T?ukGau$US)h_38v$a#&ktFB3 zPp97B+C(t#fmh6B*wP(HJBG)TlhXQOnI`0&?m4c^H9k)r6$5!}Xk}$3H-L$Yz}dvU ziFJ{~Udt++CZRw`MtfGmz%uyied1?1lvm~OwCqh4(6PW8{R)A--?3`(?oaT!F&pjV zcNfS#WjSV4DBvz8M!8nB8-LP7)0~OZlrp#e5uvFNh0DdF9KlhR$vO2w5t+~v1WZ0m z#){hKNA7j~(o2eM>F{S1)StP*nx|3ria5iupV(0bB@loZwjmV6h&d0I%bhVCwEa7r z40;WFcPKx7U|tnOrT2@LFYM@(NM1I|V@}+XioXq1tEGT$QS3LR#7tqE=KpDan=y%j z*f{=lR{X=OuZ{^t*RCouE&X$Z#f`g2Yt&thY#=FkY=jkcb*d+Dk#=3KWf(>+LhjA= z-?n}p7E%I>oW1POxZM%(=73iWQd(_hOep-|a-I{7szIk}m)Rjv;8rC8Wo%cSWZ-jM zi=lreMk9?hhAGDSD^^6#hOo(PmlU2ee41Qd54g58*N^e-2Q`GM6i~Q~^wB;$hkgHT%F1z2f;;NL9|FUBGnz{pA|5N|i zZ`M*bd=3s3U>`R9f`*B(ExXtATBwoLdaI2=)F3{^Q z^B-B6;!_%TZ&IYNJ1^-3p1h@_PX7wHur-Cs*}FeYz+Gclz#V3!3h-I6sIZNU&mU8XNQroz#xB%v51xw#F zr$e!p@(orOAN2OgY^ss9L?3CO#N;Dsr#1I#+;Zly?#Az4Wkxf7qyE>ZA=jwP-KAxf zg#I;_K-gkB3R#NJuUF+YnN?Ep*pVdOEDcJ$s=(jctvQ zqMkHTi<&|`s;5;xcZ@v%9gZdb7S1lN_lQ0H8Fpn93$SjFJ)R&jX=|soCf_VZz`lw` z6Yiodp?3I^^%Iq`+!s!0u@^8+hnt;_LLk7n#-MM5H=05m5|LlBH``FL2&%?;@I=-^P zPvFRwq%b7l7FHrGxKZ=^GoX;TXz!>-QQ^)U*IU4BhF@rL8P_>t_Rb-?XuSceJSGcJ z3Lz(CV)nAWIzOP{Fy;71y;3o@c=q_P0GOHO-YrV97NlAcxNE4{BoZiy`yR$_+Hkn>j{@6t@ zCxPT_=?>8Znhy1Crr@VUcv)K-hMP^>S;H|%h9w0_3^Kc+>O9xQf?E?mPyGN2=mo6_ zcO-p2C-o-H?i+xZ*f;YXT90E3?%mdy`{P)N3r>l;IJegrHFc@~=|i7bvNNvb7ke>! z-$ybaL4mBT_|op)d9 z)ijI~C(lf@z!aZLc(5YTTU$sL_r(ds9U?({l1{MedY!4x!n&7<*6QYTBfu)l(C1>7 zH>0NYl*^DGEXMg0)J$w^S}5e1=Ks@lKC?#|jG4zOyE0`E`5~BkkVnUl|FqpFeQ&9| zBIBbU+Og%Sp*u&ppB_!1ezT1EspTtIg_yngI4h)1tF*{#u0Wl1<^1V^?GYccv?q=9 z;*X$EWqC^hdTKMQasCr@a|+2a-<{oe@1jDqK75`^?gATbEO9!TSGC_oq>2b07$>11 z9`NaG$q?+iet}NHj6(AZ?q-~&8=WExK=kaEN;Vt+i0YlXjsfirKH$Wm5sAp1h5*GW zNgPiPP+4tziG7z~!fn&_zS^Wi;3D6}RsE=Qv!`N}H#;@$?F6L!dyXH~hf)cAZr91y z!68&hN`BQV(%KGo2*5P8;``w6mR0|Jj&_ZLGIv1%f=36_26H*?)cui;(1%yfIg>fI z^`|@+Kmv5t9R7dZ>l2kMmwx^|o96nQ?DiB7FO#=1a&G;K3=1OCGcQ{--cknzE{ZSG zsO1dQ$$6XhGZzcIZHl$#FyZH9IiC-7Lb)M`V|bJPsM}y>M)Q+41dOlH3HV*=#I^Xd zjRy#r?jy|QS#_hRVpM)GHy#1EnG2p@H*+2L96exslKLNdW{M$$nFcSg408+w0sgIIQMDJVCD}Z5cm%0(K^2YUkF0TOyM5 zXT9(PjP$rgDTd+2GB*uzk7N%d8=1~{e%e z2?9`EopFIsS@Op~RDY_NiPxa$oc1$DeNjHP@B}E4(UE_GyKx0-SdmwtBeT}~p~c|T z`;#GDs^_$O0MKQ~_v=vO!vN5p9HspY?wqSqIwq;cBIaR!({9=k|DL2FY3)JssJ)8{7%DVwS&9se5OO!gE1*3z z1pW-lTp@;|;{{y{T~W>r?=AFVs<`nwOpaO}Yuwfc55AoodP2is-;&`lMDN#V55%JV zV3{CjyhSYGwI_%o4ezbUbXlN({9G&p2~V9IGyDEHxdRbpd8K zjcPuW|#cZ(3ICkC@`R7-T!#5Du!4Fl_vaVB&y;dA!*t6?;LK`T=E);9vubu%yFExO`6QWP~A}+`> z*C|Ci0@T1TBi@Z=%AuH`MEgH+tYkWBoRvw7piWZv=jEs^q}jyfj>62h527?9M*)E& z48MSc^9*pF5+!!u$?5#yr9mYzXpI`$9BS7%hiF(vEY_S9ijVRg;Nl!JKK^uj{+b*A z_2Qma@tO5BLg~dzo)_kh!i$dbR$$*!17fYna}lSXxH~s^TR{KgwkgNO#6m$j=x+{1 z(FiT$?sw~erC zdYrUvj@8{Zs-zF@2S=ysgbnZV9ED4)r?@a@MCi19*t;ArZDL{a4s z;b-4=H?e&fh{Y_wc-W;pHWsqOjF;uq;6~{IwsySn=i)V(uk4yQUd^vcb(in}eRIg8 zM(A6uuwnH6m}{+EcVdIWbU?xx#x^kOuMTH7I>{ToqRJW76g!4)QUU43Pq=}G!2fHTfR(5 zHCbKU4h*RA=-B%?H!p~#%Fd?)WmacWuN6t&_nFf8s?NlQ{ZNmcFXvm%bT{)K$%D3s zU>#ULOe6g{*50y7N^#6;P#RNo;aWOVe5=LI|J)<~IF$9F#=zK=ie4n~`Vdef#pycF z`ZWVu0qX6W=z>6j;VVS=jfcG#po$@Nk@l1K$h{e)qEMg1Onz$4ZvUA)rIC)_Zge%b zdysRKeJYT9J(5kt=EacAk04QjhmDJVH#}D_jxtM5bjy?NMc=cRi22~y&If|QFhoPz z61+_(+y|K2U6hM>Na1?9od!%>%$$hhOLdC7OfSJmASfd~HE3tr3D84{@>M2rDuKQ{SrClT3vyrc^-xaU~9wwoduA3V6iMuDHIHo3T~!vnvFa6IdiJ}dwA-b z&$(D9rrf%!CN<`*$YS+1zBF&%7`PmU7Lcy zDsmKDlntNXY9OTd34d)G-5$Q!ufE1LRdmdm@YG;-$F|p56Un(@f=KQ|Dgx*aUglyf3d3Q(K&uC|)eVKZY~o zJoJskss@Ite@(`V18Dh?jrvS7946x6IO+Pa=DLOVKfold`C;eFK#tY$s+kS$jxHa7Ba zD-D1Z>!U}HjypVz$=r zyCpParr)Qwwl=?}hSf_FI9@-9G*(wXcdf7Ijg5_M)D$o?Gou340xviB13C;2Zq(V^ zyK;C~`Umhq2j0M^NdG)N+PFuyW{qLAeV4sHwQ-7YgMAa6qtjbzZ~d9zzv(*+XFS;*5M0vUEL%;417Gif7%01 zfh&f^TIF8ku3n`>wd4_NQ1H{c7K49(uC4(1J@;k63=W^YCov|Zf}>5ly1Z|_@TrOaz5iIQMk&LJ zfY@Q<%uVPML7gTHZ~39~Lh2&{1Ze&0Wq;csne9y{@gIqCmJy*ZJ~WN9wxjJEA6jN{ zMvu-?IrQSsif@Ut9Ub<$9q-T5-d=j#->krN!B#jMu$#cwZCH6)G3?69TZc_Y_jsEI zLfV4bgWk9>1a-W zWBmKNDFM+W3j(-OgFZiI+t@Js3*o&q%ihVl`fLfm;^=)7u*6yMw_10Qy?Lk}J*K7gw1)D_{;e%a z*a|0?^JrQnM>i{1`a0ma0F=bWc1|V}?8jOa)cvmjkNZ11AXb?kCu^6T#Ow6m)giDx z@*(8-W5ey(CU{Su-M}B3p*0tASb6i>M?mZTYwus}Ah(oT%5Q*!n7A!Cx%s$#$cTwe zFyl1qW6t*VG4$F{W2(-CRTuh^bfoOoW3!)I)mzi^pIi2Q^wteL@x-m)HrUu3rf7=e8w*=%8Lf{lEnRh!Ww)L+rLo08@E3O z)U4n1m<<5r^5OyHav-bv(tY#-pBaE$GN4-~5*3SS>xXqF`^6^C0@B`6V*m4~wmC2! zDQ_ys3qI7I_MC(E0-~Y7S#rmp<>_NdD=)dSkpXz<_nG)TxAJ|)$=?;sj_Nu)X44cs z1~R&$`VYxP@+n}iJx*K!B$tmQkiB4s`?_OWb3I0wqTBkbtJMDiav?g7Mci*2UCr5| z4i-rDjJ51%`ZZGJC$Y4teY+l&9a+e7CzG#``$8(ycP9?VoAHH3lAk@r?lQ{pv30_Pm z++M$0((86)SbvD^h)lZv}+c={OoX{A= z{HxpMID#2}!BXQ)ugt$Fmv$>Mb%F1CF!_6KE$>43zq2!O=>7J|)!*{}2wj1wwvNG>knck|QOqcCYq1C4HW=^}qoB5a#0)6uD zjei#M1dKqkLGXq=)HXnK6^8BOzuscI*@NBcaxrZc?-0GT#)@8)gNXaCRsotd*H8eT^&7ilW#L>x@?yRhlF;K z=r$*Mgkwb9JImKiEj%m@Bj0N}5E?e%i3SS-86XHFze?6|i)`FDBzb1(V;CYeuiWZQ2a{T&?%p%232bnlWAiS0RO(zDN7=EoR+dzcXHq~=zmDYJvB!-PB< zEap=mXzXV7u``UGXCWu~t?V^7g&mv@*8E5w=h$u^Tp|6MMeQ@@#sft14_|lVk|)Vr zS8P`T@%Hk5^N)T9pD1yWII^9+A-!Ac*Bs_xGOH)%W?U=-JgDs3W%Z{YMujY5b$I)luO0wwz#kR>*tAG(Oy15mS3|>&nT;Zc z75{$pKMT6Lw;&%(4Hm#OyG|t7QDE7Vu^nI`fEzEZ)rFADDeWHGZ50W!B>oIR37?IVU?i zn#Bk+`*%r(1DMQlAFIlVaUZw1jxwRh0?ncQ;iS${^e=^y=V|5g4er%UH+&E`%gynx zo8vqfZ2vCFfc`k~z|QhYUOC4JebQz`=3%CEOSB0Ho{*FH$a7S}IfdTRdf|^kWJ3`NJi=t??_iPEKWYZ!l~J zQ)|R0%eR<@n5BCPTeM#<9A4PQEZY>#SQPxQD*R+a`9ES>?DG7 zv!VPgV@JLAD?Gv|3Eu2~8E)V;j*5aFaQ>M)gbDmr z$&_F!@~U|;nP7%711}Be?#2Bp#?gzWFIQRF4b+gp?+fev7$E_((7Jo(f4dWGo)3+j zE4l(LJMjZ*%8Tr7neqL9B-G&a-Vc8Ix?X)?iZbubY!Y0Zsq+rz<2~Q(TqZfGNqA`E z)LvRylBntB(d>cXxVNPBN(7~VCGlRl>}X1D+fhQ8sDm3h*Ia{^VBuY-CrD)#j$D}2 ziWNp8q_ak(y0~di*^s{LptGX!Zq{C7D=_tPp{VS*zjocp30YkPidsLmG44koj7Ze% zau80J<#nzxtd2YlMyz1kVjnuy4*fcZVVCv^N%P1fj%&;+U}Q#Oa?cWa-mG8p3hy7606s>(@2&; zI!s@z<`x|6E-lDJTLzn{?9L6{)S!>Xc3fMqofyUP%bm zx+zY%=)WXbNSEUaG3<‎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

    39Ay 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 literal 0 HcmV?d00001 diff --git a/static/unit/images/mw_ready.png b/static/unit/images/mw_ready.png new file mode 100644 index 0000000000000000000000000000000000000000..db703a7df5f4ac878285031c42a3b4a85de2ce01 GIT binary patch literal 349258 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 OwR?xF<6DOlH~t5hBBX=> literal 0 HcmV?d00001 diff --git a/static/unit/images/nextcloud.png b/static/unit/images/nextcloud.png new file mode 100644 index 0000000000000000000000000000000000000000..8e4c04c3369b41cc90a74602347de6a4099812a8 GIT binary patch literal 185874 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 G~l58uEd6u2MEFQkZ@2>H1dNc**8_ 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 YSHJk{nvQCX{P|T`UQMn+)*|fx09;B5@c;k- literal 0 HcmV?d00001 diff --git a/static/unit/images/openapi.png b/static/unit/images/openapi.png new file mode 100644 index 0000000000000000000000000000000000000000..faa79db9e03943fb52f3487f578477489d2542c3 GIT binary patch literal 22589 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%0D-a3|I7~}d~$IrK9KCBYyZ zIB5ek*U2trosRkr2p9Y?ax7~%(g||Za$#>azdOMu+j6lVHZkEHAx@5esMW9B`A{bH z2#?~@PNlf`n3bhp!W2$tmCR1i%0O4a^Gb&XPY@J(7eqSB!Dh^Wu^y-md=tq1aia>c zbH7=Qmb{_D9Z$GS>XmzJ61}+Tkd=*CG%yBvbrl zE|B~@arA?HSnj#F686EmarZ~+kJml9K5a@ce-z>1^Fq}mGV(JEhPtZO(Imz0F+&c~Ay z{fc`DR&1=S3UeoYW>mFwqKdq*3Oec!YZ`G*a;DVe8(Nyx_1 zQo#}-byG@Ifn0V|d}eyKb50&NRbW(Jp(Ym4#1`VRUvb3dIaBw24TcQgdfm^tvC0BJ zL#%{JVy@!FHuBUCr6yhSf2aN@ri;!oF%a87+`<~583wl}qsw@T^3NIe&f;7C- zMm1NzMtiTmKe$Cg@P2e=l2Sx;|h$==QAdiTvgSlahg}GcL#|H(e!0m7VksvO!J6z z;80_=&|ObBwvi|r??%z9mY9>6r5fM0=NP7Y&ArdkZwY-(u7>PVYjVtj0YyZgWK2`^9&=VKtmB$LS% zvZq2ebMn{xErKTZFm^IEzZnf_FHi3#1i?qfOnL#elCRwwz|GS6hl(%m!{r-1 zym>8R+W}4bgXp-1m-CUs;F!+Z8pypTIIg)hOAYi+^{s_urUoNzj^#B(Hw$Lw8Rqx* zyv6_JM;yJo0}`Vq}WhkxdRGK{e&kwMiB zA_*0ZLeXP23fgPY{CvYBLD?JGW%}g3@~qIQO$ifrc*In2plv#E%RS)WN-_KM{-I5c z$P0QC+e=(n{Q0GKq-SKr#p&h4wu?JD46n96S~R}eDZA_wx$sJEfTU4`sl=%+XOAl9)^l7nYtCjzc|uCc?|YmT!T0{=AR zOGza9On+r2%uoyTxV$OeMP6J#^*;sR%iPTW>>BTwO1~ew(j69!P;HnH{`@xlJ(Hi} z{N#KLkP^dJ^Jmu@U2Jvf25obw81>LOi1G!6sfk$odJ_0kQK}fv2L)HTh{C4EJ-Fuy ztO4sC@nf|l;_uRG*Tp-%sZVteFB9;|VjhvU9Q);qJ+>3wagcud`sQ}0@kB|N;dTE> zj3)dH8(^(rd*A6Nq~|NL`dm_tq>SHjZSU}#ldzd<7ZvfOEgK(+M*d2}6eYu+%ZG3d zf)9qWtY3GcuM1lHd8R@rzbk$pgD%;HR=8EY@(Y;F!0b9f zzx7{bc;fdo^D1(Mb{qd;@L4}TCTC2E%W$!+rsRXpDr=XrYjNYWJ!9z;GrG1#lJE{0 z5JViD;to57RC#~MdkRPQrD`syN@1Jb@-JMH0s3&2tgOQ#5?{XDa&dZKwvfBS&x#xK zj`+3ox}Sg#Uc6wSi?!TUs?J9j&*{b1shBDCcvuIfj%=>%bb9j@je#QkgF-&n>Vy$D z�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⪇n$X6#n52a} zRFk%`T$qvq7R_+nhB%w2J#K9=M|tT*b?7ym)B*a zs<6J?Zh7uPK^F&YG&4+dN{&?I!~C&vn_2Krv6B`2*6NGZlRd>x%Ywd1qznhXEfUp+ zbI`EkNPNd#;}P}bxed;cl?IXzSO~JTRxfj{qr&7@sSN1hABgI6J-AHf3#OG#0)S0` zDOZV`4W6B2X9T`MbDC(2YO4+w3}DVSF`m%YONd6&rDkODh@#UL24~^|X)ZG_xas^o)kRgYzX1T6{zwf{)(Af=6iNJua z&sydiAa9y+=37yKF;~k$_Qd!b=f5r>J#!<`l`k^=UH65$M{jHFn)?#^NjjpwivoOBQ7Mik~>#iv+0047l1f zx=93UOYU*XGae-G?0uZaP$X76Gh<*!z8ue`q||uoKNCcTJP|si1l5A0s2_tF1BA*P z(n?#E6f38$O%jCqx@JB0D*{=W{Fd)dl<~~dvl6b9lIcd}nPr<4*5*0739>MLf9NCS zhaHYt74E}m1fsB4UXB2X`K9_PscZI3g}Hc8UGcwwxXB+sh&P;Sqsx-VB8XPfBjq~~ zpqTBZ!rO@_ANMF87(!YYI9+Sb+|?B=o|~re^a_-3(mf+h^GHBS*KAxgorWR$@|b*) z>>0_3j4vr^mCI(((V*Y40G0jCl*Bz;TWZXj5->N-}O*w!c6T_sM6=5R>FVs z-72wi$yFHx8C)lCGITIo0f_B3$6qrsV$;?g z;9_LFY;o6Dctd|5cs!YME~q@PF^`;`-^UY>O00R8GN`w!%3n;P4yU+BghXtp`5eqI zjMY_iNKs!Y$j$ArdB0wjnRM+iX{Ltmb~*?67y%DCP(S#l>ywe}fJv%;HN)}C+${d! zmw7?c_uj7?{R~IHiu&+2e-9TDAdjHD>PLtD%33t~Vb&O}@drPT3Z8$wv#^5PX5(&h zhoRbSUdR-(^$MG)=NEk2717#RA=22**V02PBN<=)Ed$g4%rFER7_O7;~hT z?5KoVxv7^mgirbwk7ql3WKsj_PL(on*G@N{nKEa7sEUoH_X%SDJ?-`JZ9wJa6OLFl znjG2(vJk2ggwE+xn#>0KzU+v>msCK=3dvs7bdIf$cnvpnY^I{{rLnvO{6p9=u3M7I zgF_Vs_5(JB550IMSMUCIu;PdNOCKP&dJTXJ4Rh*FjyNZUX?D-)%N_Szo4v!mx}#56 zq1;wPD0@th(`59jUJ9R!AnKZI=utMz9(d39Pa?Y(ewxkO!P>aFQ^L0erxyTi27gj2|hT7B^j>(wM?Ebz4mYNT&>PKw+J-nV0UT0yeTFbWK}*jXtI+Xy{@|= z|5Zric%JfOt7TKzGiuk_BSQ_8?{xby=C-~e<4e_D1oJ5)&6TE45t8MA#D8tK@OTy|- z9{CgyKkt=E>?3o3ZCM?N=ff!T9|W9COr^1*z%dgKPu8>0WGt=_u zXx76P#{RCW=hMUzeiI+dTFf-#KuW#GG)yTX%2Qp;QCcVVKzrtEW`+!R-Y953llJ5; zcM|)}rK2p%C!}_QPF)1sr@p~e!CvGJS>COR5^75$FNMx1Lr2iG38xfBf$B7EVI z9mjGh;GjIRL7myZCWp0x>;Z@;?Z%dHNhHZ8=!W?fh@{loP~p9W_I1U7vFr8T=wn=h z5;1YOA*N=dy8QJ+tj3;+;rW5qZII;j*weo2sj|5=+p@=NG=Kfyfq7OD!5_D)f4(T& z`SK+dDDq?aZt;?2VI!pP&g@D6j)Qsa)TPbi*t&rqdUg3r4H-)m)Qzt9c9)*mimoY( zy`6e=;=iuCEW<4SFGTIPUM!d1b8lFLC{OVyJIHrXcC|AbR2Gfl9Jh8&dPn-DgqI;gZqznB#fxUKeTn x87=HPI@0`quV5|eAAjT>1}Gn$%m05aH>&+dWgHDp*>(O5YO3knFI2G({U6%=$HxEw literal 0 HcmV?d00001 diff --git a/static/unit/images/joomla.png b/static/unit/images/joomla.png new file mode 100644 index 0000000000000000000000000000000000000000..5b0be0ea9517ce66006d5ceaa87d18d650fc068e GIT binary patch literal 296633 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%0DxD&X+PMfx(2K!F@Nbrn^8& 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 R^1oZ%Z|}6XaL?)A{tvMoD3$;K literal 0 HcmV?d00001 diff --git a/static/unit/images/grafana.png b/static/unit/images/grafana.png new file mode 100644 index 0000000000000000000000000000000000000000..a3b75d2a6460d16f6f3a3c40ce0d883633434548 GIT binary patch literal 155283 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