diff --git a/_banners/agent-v3-release.md b/_banners/agent-v3-release.md
new file mode 100644
index 000000000..7cf262443
--- /dev/null
+++ b/_banners/agent-v3-release.md
@@ -0,0 +1,7 @@
+{{< banner "notice" "NGINX Agent v3.0 is now available" >}}
+
+ This documentation is for **NGINX Agent v2**. Visit the [Update NGINX Agent]({{< ref "/nginx-one/agent/install-upgrade/update.md" >}}) topic to learn how to upgrade your instances to the latest version.
+
+ For NGINX Agent v3 documentation, visit the [NGINX One Console docs]({{< ref "/nginx-one/agent/" >}}).
+
+{{< /banner >}}
\ No newline at end of file
diff --git a/content/agent/_index.md b/content/agent/_index.md
index 330490eb8..457595727 100644
--- a/content/agent/_index.md
+++ b/content/agent/_index.md
@@ -5,4 +5,10 @@ description: NGINX Agent is a companion daemon for your NGINX Open Source or NGI
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/overview.md b/content/agent/about.md
similarity index 94%
rename from content/agent/overview.md
rename to content/agent/about.md
index 289b6ebab..31c87dd32 100644
--- a/content/agent/overview.md
+++ b/content/agent/about.md
@@ -1,16 +1,15 @@
---
-title: Overview
+title: About
draft: false
weight: 100
toc: true
-docs: DOCS-1091
-type:
-- how-to
+nd-docs: DOCS-1091
+nd-content-type: how-to
---
## Overview
-NGINX Agent is a companion daemon for your NGINX Open Source or NGINX Plus instance. It enables:
+NGINX Agent v2 is a companion daemon for your NGINX Open Source or NGINX Plus instance. It enables:
- Remote management of NGINX configurations
- Collection and reporting of real-time NGINX performance and operating system metrics
@@ -47,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:
-{{< raw-html>}}
{{}}
{{}}
| Event | Description |
| -------------------------------- | -------------------------------------------- |
@@ -64,6 +62,6 @@ NGINX Agent allows a gRPC connected control system to register a listener for a
| CONFIG_ROLLBACK_SUCCESS_MESSAGE | Successfully rolled back NGINX configuration |
| CONFIG_ROLLBACK_FAILURE_MESSAGE | Failed to roll back NGINX configuration |
{{}}
-{{< raw-html>}}
{{}}
+
diff --git a/content/agent/changelog.md b/content/agent/changelog.md
index b0f79ce37..26bc17291 100644
--- a/content/agent/changelog.md
+++ b/content/agent/changelog.md
@@ -1,13 +1,12 @@
---
title: "Changelog"
-weight: 1200
+weight: 700
toc: true
-docs: "DOCS-1093"
---
{{< note >}}You can find the full changelog, contributor list and assets for NGINX Agent in the [GitHub repository](https://github.com/nginx/agent/releases).{{< /note >}}
-See the list of supported Operating Systems and architectures in the [Technical Specifications]({{< relref "./technical-specifications.md" >}}).
+See the list of supported Operating Systems and architectures in the [Technical Specifications]({{< ref "/agent/technical-specifications.md" >}}).
---
## Release [v2.40.0](https://github.com/nginx/agent/releases/tag/v2.40.0)
diff --git a/content/agent/community.md b/content/agent/community.md
new file mode 100644
index 000000000..2f0fdc3cf
--- /dev/null
+++ b/content/agent/community.md
@@ -0,0 +1,20 @@
+---
+title: "Community and contribution"
+toc: true
+weight: 600
+nd-docs: DOCS-000
+---
+
+Discover the various ways you can participate in the F5 NGINX Agent project:
+
+## Community
+
+- Have questions or ideas to discuss? Join the conversation about NGINX Agent in the [NGINX Community Forum](https://community.nginx.org/).
+
+## Contribute
+
+Get involved with the project by contributing! Please see our [contributing guide](https://github.com/nginx/agent/blob/main/CONTRIBUTING.md) for details.
+
+## License
+
+[Apache License, Version 2.0](https://github.com/nginx/agent/blob/main/LICENSE)
diff --git a/content/agent/configuration/_index.md b/content/agent/configuration/_index.md
index 1c0c90128..ca784b6eb 100644
--- a/content/agent/configuration/_index.md
+++ b/content/agent/configuration/_index.md
@@ -1,6 +1,10 @@
---
-title: Configuration
-description: Learn how to configure NGINX Agent.
-weight: 400
+title: "Configuration"
+weight: "400"
url: /nginx-agent/configuration/
+cascade:
+ logo: NGINX-product-icon.png
+ layout: agent-v2-migration
---
+
+Learn how to configure NGINX Agent.
\ No newline at end of file
diff --git a/content/agent/configuration/configuration-overview.md b/content/agent/configuration/configuration-overview.md
index 51e724fa2..b9672023f 100644
--- a/content/agent/configuration/configuration-overview.md
+++ b/content/agent/configuration/configuration-overview.md
@@ -3,9 +3,10 @@ title: Basic configuration
draft: false
weight: 100
toc: true
-docs: DOCS-1229
-type:
-- how-to
+nd-docs: DOCS-1229
+nd-content-type: how-to
+
+
---
The following sections explain how to configure NGINX Agent using configuration files, CLI flags, and environment variables.
@@ -50,7 +51,7 @@ server:
# host of the control plane
host:
grpcPort: 443
- backoff: # note: default values are prepopulated
+ backoff: # note: default values are prepopulated
initial_interval: 100ms # Add the appropriate duration value here, for example, "100ms" for 100 milliseconds, "5s" for 5 seconds, "1m" for 1 minute, "1h" for 1 hour
randomization_factor: 0.10 # Add the appropriate float value here, for example, 0.10
multiplier: 1.5 # Add the appropriate float value here, for example, 1.5
@@ -88,7 +89,7 @@ metrics:
report_interval: 1m
collection_interval: 15s
mode: aggregated
- backoff: # note: default values are prepopulated
+ backoff: # note: default values are prepopulated
initial_interval: 100ms # Add the appropriate duration value here, for example, "100ms" for 100 milliseconds, "5s" for 5 seconds, "1m" for 1 minute, "1h" for 1 hour
randomization_factor: 0.10 # Add the appropriate float value here, for example, 0.10
multiplier: 1.5 # Add the appropriate float value here, for example, 1.5
@@ -170,9 +171,9 @@ nginx-agent
### CLI Flags and Environment Variables
-{{< warning >}}
+{{< warning >}}
-Before version 2.35.0, the environment variables were prefixed with `NMS_` instead of `NGINX_AGENT_`.
+Before version 2.35.0, the environment variables were prefixed with `NMS_` instead of `NGINX_AGENT_`.
If you are upgrading from an older version, update your configuration accordingly.
@@ -220,9 +221,9 @@ If you are upgrading from an older version, update your configuration accordingl
{{}}
-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.
+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.
-NGINX Agent cannot write to directories outside the specified location when updating a config and cannot upload files to directories outside of the configured location.
+NGINX Agent cannot write to directories outside the specified location when updating a config and cannot upload files to directories outside of the configured location.
NGINX Agent follows NGINX configuration directives to file paths outside the designated directories and reads certificates' metadata. NGINX Agent uses the following directives:
diff --git a/content/agent/configuration/configure-nginx-agent-features.md b/content/agent/configuration/configure-nginx-agent-features.md
deleted file mode 100644
index 486059eb4..000000000
--- a/content/agent/configuration/configure-nginx-agent-features.md
+++ /dev/null
@@ -1,95 +0,0 @@
----
-title: Features configuration
-draft: false
-weight: 150
-toc: true
-type:
-- how-to
-docs: DOCS-1678
----
-
-## Overview
-
-This guide describes the F5 NGINX Agent features, and how to enable and disable features using the NGINX Agent configuration file.
-
-## Before you begin
-
-Before you start, make sure that you have:
-
-- NGINX Agent installed in your system.
-- Access to the NGINX Agent configuration file.
-
-
-## Features
-
-The following table lists the NGINX Agent features.
-
-{{}}
-| **Feature Name** | **Description** | **Default/Non-default** |
-| ------------- | ------------- | ------------- |
-| registration | Registering the NGINX Agent with the management plane.| Default |
-| nginx-config-async | Enable the publishing and uploading of NGINX configurations from the management plane.| Default |
-| metrics | Enable collecting of NGINX metrics.| Default |
-| metrics-throttle | Batch metrics before sending.| Non-default |
-| metrics-sender | Reports metrics over the gRPC connection.| Non-default |
-| dataplane-status | Report the health of the NGINX Instance.| Default |
-| process-watcher | Observe changes to the NGINX process.| Default |
-| file-watcher | Observe changes to the NGINX configuration or any changes to files on disk.| Default |
-| activity-events | Send NGINX or NGINX Agent related events to the management plane.| Default |
-| agent-api | Enable the NGINX Agent REST API.| Default |
-{{}}
-
-## Use Cases
-
-### Enable metrics only
-1. **Access the NGINX Instance:** SSH to the virtual machine/server where NGINX Agent is running.
-
-```
- ssh user@your-nginx-instance
-```
-
-2. **Edit NGINX Agent configuration:**
-
-```
- sudo vim /etc/nginx-agent/nginx-agent.conf
-```
-
-3. **Add Features section:** Add the following yaml to the end of the file:
-
-```
- features:
- - metrics
- - metrics-throttle
- - dataplane-status
-```
-
-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 view metrics data being sent but will not have the capability to push NGINX configuration changes.
-
-### Enable the publishing of NGINX configurations and disable the collection of metrics.
-1. **Access the NGINX Instance:** SSH to the virtual machine/server where NGINX Agent is running.
-
-```
- ssh user@your-nginx-instance
-```
-
-2. **Edit NGINX Agent configuration:**
-
-```
- sudo vim /etc/nginx-agent/nginx-agent.conf
-```
-
-3. **Add Features section:** Add the following yaml to the end of the file:
-
-```
- features:
- - 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.
-
diff --git a/content/agent/configuration/configure-nginx-agent-group.md b/content/agent/configuration/configure-nginx-agent-group.md
index 47e6f15e0..bf3f1d0f7 100644
--- a/content/agent/configuration/configure-nginx-agent-group.md
+++ b/content/agent/configuration/configure-nginx-agent-group.md
@@ -1,11 +1,10 @@
---
-title: Add NGINX users to nginx-agent Group
+title: "Add NGINX users to nginx-agent group"
draft: false
weight: 300
toc: true
-docs: DOCS-933
-type:
-- how-to
+nd-docs: DOCS-933
+nd-content-type: how-to
---
## Overview
diff --git a/content/agent/configuration/encrypt-communication.md b/content/agent/configuration/encrypt-communication.md
index a7cf75134..6a1503cf6 100644
--- a/content/agent/configuration/encrypt-communication.md
+++ b/content/agent/configuration/encrypt-communication.md
@@ -2,7 +2,7 @@
title: Encrypt communication
toc: true
weight: 200
-docs: DOCS-802
+nd-docs: DOCS-802
---
## Overview
diff --git a/content/agent/contribute/_index.md b/content/agent/contribute/_index.md
deleted file mode 100644
index a11203387..000000000
--- a/content/agent/contribute/_index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Contribute
-description: Learn about the NGINX Agent community and contribute to the project.
-weight: 500
-url: /nginx-agent/contribute/
----
diff --git a/content/agent/contribute/community.md b/content/agent/contribute/community.md
deleted file mode 100644
index da54b13b0..000000000
--- a/content/agent/contribute/community.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: Community and contribution
-draft: false
-weight: 100
-toc: true
-docs: DOCS-1087
-type:
-- how-to
----
-
-# Community
-
-- Our [Slack channel #nginx-agent](https://nginxcommunity.slack.com/), is the go-to place to start asking questions and sharing your thoughts.
-
-- Our [GitHub issues page](https://github.com/nginx/agent/issues) offers space for a more technical discussion at your own pace.
-
-# Contribute
-
-Get involved with the project by contributing! Please see our [contributing guide](https://github.com/nginx/agent/blob/main/CONTRIBUTING.md) for details.
-
-# License
-
-[Apache License, Version 2.0](https://github.com/nginx/agent/blob/main/LICENSE)
diff --git a/content/agent/contribute/dev-environment-setup.md b/content/agent/contribute/dev-environment-setup.md
index 7f75df9d8..6051aa095 100644
--- a/content/agent/contribute/dev-environment-setup.md
+++ b/content/agent/contribute/dev-environment-setup.md
@@ -1,64 +1,62 @@
---
-title: Development environment setup
-draft: false
-weight: 200
+title: "Development environment setup"
toc: true
-docs: DOCS-1088
-type:
-- how-to
+weight: 200
+nd-docs: DOCS-000
+draft: true
---
## Overview
-Learn how to setup a Development Environment for NGINX Agent.
+This page describes how to configure a development environment for F5 NGINX Agent.
+
+While most Linux or FreeBSD operating systems can be used to contribute to the NGINX Agent project, the following steps have been designed for Ubuntu.
+
+Ubuntu is the recommended operating system for development, as it comes with most packages requires to build and run NGINX Agent.
+
+## Before you begin
-## Select an Operating System
+To begin this task, you will require the following:
-While most Linux or FreeBSD operating systems can be used to contribute to the NGINX Agent project, the following steps have been designed for Ubuntu. Ubuntu is packaged with most libraries required to build and run NGINX Agent, and is the recommended platform for NGINX Agent development.
+- A [working NGINX Agent instance]({{< ref "/nginx-one/agent/install-upgrade/" >}}).
+- A [Go installation](https://go.dev/dl/) of version 1.22.2 or newer.
+- A [Protocol Buffer Compiler](https://grpc.io/docs/protoc-installation/) installation.
-## Install NGINX
+You will also need a copy of the NGINX Agent repository, which you can clone using `git`:
-Follow the steps in the [Installation]({{< ref "/agent/installation-upgrade/" >}}) section to download, install, and run NGINX and NGINX Agent.
+```shell
+git clone git@github.com:nginx/agent.git
+```
-## Clone the NGINX Agent Repository
+Read [Cloning a repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) for more information
-Using your preferred method, clone the NGINX Agent repository into your development directory. See [Cloning a GitHub Repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) for additional help.
+Follow the steps in the [Installation]({{< ref "/nginx-one/agent/install-upgrade/" >}}) topic to install NGINX Agent.
-## Installing Prerequisite Packages
+## Install prerequisite packages
Depending on the operating system distribution, it may be necessary to install the following packages in order to build NGINX Agent.
Change to the NGINX Agent source directory:
-```bash
+```shell
cd /agent
```
Install Make:
-```bash
+```shell
sudo apt install make
```
-NGINX Agent is written in Go. You may [download Go](https://go.dev/doc/install) and follow installation instructions on the same page or run:
-```bash
-sudo apt install golang-go
-```
-
-Install Protoc:
-```bash
-sudo apt install -y protobuf-compiler
-```
-
Install NGINX Agent tools and dependencies:
Before starting development on NGINX Agent, it is important to download and install the necessary tool and dependencies required by NGINX Agent. You can do this by running the following `make` command:
-```bash
+```shell
make install-tools deps
```
-## Building NGINX Agent from Source Code
+## Build NGINX Agent from source code
Run the following commands to build and run NGINX Agent:
-```bash
+```shell
make build
sudo make run
```
diff --git a/content/agent/contribute/start-mock-interface.md b/content/agent/contribute/start-mock-interface.md
new file mode 100644
index 000000000..9b338d09f
--- /dev/null
+++ b/content/agent/contribute/start-mock-interface.md
@@ -0,0 +1,91 @@
+---
+title: Start mock control plane interface
+toc: true
+weight: 300
+nd-docs: DOCS-000
+draft: true
+---
+
+This document describes how to configure and run F5 NGINX Agent using a mock interface ("control plane") for NGINX Agent to report to.
+
+The mock interface is useful when developing NGINX Agent, as it allows you to view what metrics are being reported.
+
+## Before you begin
+
+To begin this task, you will require the following:
+
+- A [working NGINX Agent instance]({{< ref "/nginx-one/agent/install-upgrade/" >}}).
+- A [Go installation](https://go.dev/dl/) of version 1.22.2 or newer.
+- A [go-swagger](https://goswagger.io/go-swagger/install/) installation.
+
+You will also need a copy of the NGINX Agent repository, which you can clone using `git`:
+
+```shell
+git clone git@github.com:nginx/agent.git
+```
+
+Read [Cloning a repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) for more information.
+
+## Start the gRPC mock control plane
+
+Start the mock control plane by running the following command from the `agent` source code root directory:
+
+```shell
+go run sdk/examples/server.go
+```
+```text
+INFO[0000] http listening at 54790 # mock control plane port
+INFO[0000] grpc listening at 54789 # grpc control plane port which NGINX Agent will report to
+```
+
+The mock control plane can use either gRPC or REST protocols to communicate with NGINX Agent.
+
+To enable them, view the [Enable gRPC and REST interfaces]({{< ref "/agent/how-to/enable-interfaces.md" >}}) topic.
+
+## Launch Swagger UI
+
+To launch the Swagger UI for the REST interface run the following command:
+
+```shell
+make launch-swagger-ui
+```
+
+## Start NGINX Agent
+
+Open another terminal window and start NGINX Agent. Issue the following command from the `agent` source code root directory.
+
+```shell
+sudo make run
+```
+```text
+WARN[0000] Log level is info
+INFO[0000] setting displayName to XXX
+INFO[0000] NGINX Agent at with pid 12345, clientID=XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX name=XXX
+INFO[0000] NginxBinary initializing
+INFO[0000] Commander initializing
+INFO[0000] Comms initializing
+INFO[0000] OneTimeRegistration initializing
+INFO[0000] Registering XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX
+INFO[0000] Metrics initializing
+INFO[0000] MetricsThrottle initializing
+INFO[0000] DataPlaneStatus initializing
+INFO[0000] MetricsThrottle waiting for report ready
+INFO[0000] Metrics waiting for handshake to be completed
+INFO[0000] ProcessWatcher initializing
+INFO[0000] Extensions initializing
+INFO[0000] FileWatcher initializing
+INFO[0000] FileWatchThrottle initializing
+INFO[0001] Events initializing
+INFO[0001] OneTimeRegistration completed
+```
+
+Open a web browser to view the mock control plane at [http://localhost:54790](http://localhost:54790). The following links will be shown in the web interface:
+
+- **registered** - shows registration information of the data plane
+- **nginxes** - lists the nginx instances on the data plane
+- **configs** - shows the protobuf payload for NGINX configuration sent to the management plane
+- **configs/chunked** - shows the split-up payloads sent to the management plane
+- **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).
\ No newline at end of file
diff --git a/content/agent/installation-upgrade/_index.md b/content/agent/installation-upgrade/_index.md
index 1d84d3ebc..d17ef4d5d 100644
--- a/content/agent/installation-upgrade/_index.md
+++ b/content/agent/installation-upgrade/_index.md
@@ -2,5 +2,8 @@
title: Installation and upgrade
description: Learn how to install, upgrade, and uninstall NGINX Agent.
weight: 300
-url: /nginx-agent/installation-upgrade/
+url: /nginx-agent/v2/installation-upgrade/
+cascade:
+ logo: NGINX-product-icon.png
+ type: agent-v2-migration
---
diff --git a/content/agent/installation-upgrade/container-environments/_index.md b/content/agent/installation-upgrade/container-environments/_index.md
index 35c6aa73f..bc1eeddd7 100644
--- a/content/agent/installation-upgrade/container-environments/_index.md
+++ b/content/agent/installation-upgrade/container-environments/_index.md
@@ -2,5 +2,8 @@
title: Container environments
description: Learn how to build and run NGINX Agent docker images.
weight: 800
-ur: /nginx-agent/installation-upgrade/container-environments/
+url: /nginx-agent/v2/installation-upgrade/container-environments/
+cascade:
+ logo: NGINX-product-icon.png
+ type: agent-v2-migration
---
diff --git a/content/agent/installation-upgrade/container-environments/docker-images.md b/content/agent/installation-upgrade/container-environments/docker-images.md
index d12f94e5e..f21c23929 100644
--- a/content/agent/installation-upgrade/container-environments/docker-images.md
+++ b/content/agent/installation-upgrade/container-environments/docker-images.md
@@ -3,9 +3,8 @@ title: Build container images
draft: false
weight: 100
toc: true
-docs: DOCS-1410
-type:
-- how-to
+nd-docs: DOCS-1410
+nd-content-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 2f9c5eafc..1a57cafab 100644
--- a/content/agent/installation-upgrade/container-environments/docker-support.md
+++ b/content/agent/installation-upgrade/container-environments/docker-support.md
@@ -3,8 +3,8 @@ title: Container support and troubleshooting
draft: false
toc: true
weight: 200
-docs: DOCS-909
-type:
+nd-docs: DOCS-909
+nd-content-type:
- task
---
@@ -12,7 +12,7 @@ type:
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.
-See the [Technical Specifications]({{< ref "/agent/technical-specifications.md#container-support" >}}) for a list of supported operationg systems.
+See the [Technical Specifications]({{< ref "/agent/technical-specifications.md" >}}) for a list of supported operationg systems.
NGINX Agent running in a container has some limitations that need to be considered, and are listed below.
diff --git a/content/agent/installation-upgrade/getting-started.md b/content/agent/installation-upgrade/getting-started.md
index e3dc9f3a2..c7ee427af 100644
--- a/content/agent/installation-upgrade/getting-started.md
+++ b/content/agent/installation-upgrade/getting-started.md
@@ -3,9 +3,8 @@ title: Getting started
draft: false
weight: 100
toc: true
-docs: DOCS-1089
-type:
-- how-to
+nd-docs: DOCS-1089
+nd-content-type: how-to
---
## Overview
diff --git a/content/agent/installation-upgrade/installation-github.md b/content/agent/installation-upgrade/installation-github.md
index 282f1e8d9..d1cbbb2d6 100644
--- a/content/agent/installation-upgrade/installation-github.md
+++ b/content/agent/installation-upgrade/installation-github.md
@@ -3,9 +3,8 @@ title: Installation from GitHub release
draft: false
weight: 200
toc: true
-docs: DOCS-1090
-type:
-- how-to
+nd-docs: DOCS-1090
+nd-content-type: how-to
---
## Overview
diff --git a/content/agent/installation-upgrade/installation-oss.md b/content/agent/installation-upgrade/installation-oss.md
index 92c3a3306..ab4016d08 100644
--- a/content/agent/installation-upgrade/installation-oss.md
+++ b/content/agent/installation-upgrade/installation-oss.md
@@ -3,9 +3,8 @@ title: Installation from NGINX repository
draft: false
weight: 300
toc: true
-docs: DOCS-1216
-type:
-- how-to
+nd-docs: DOCS-1216
+nd-content-type: how-to
---
## Overview
diff --git a/content/agent/installation-upgrade/installation-plus.md b/content/agent/installation-upgrade/installation-plus.md
index 6ee2482d4..add1272dc 100644
--- a/content/agent/installation-upgrade/installation-plus.md
+++ b/content/agent/installation-upgrade/installation-plus.md
@@ -3,9 +3,8 @@ title: Installation from NGINX Plus repository
draft: false
weight: 400
toc: true
-docs: DOCS-1217
-type:
-- how-to
+nd-docs: DOCS-1217
+nd-content-type: how-to
---
## Overview
diff --git a/content/agent/installation-upgrade/installation-unprivileged.md b/content/agent/installation-upgrade/installation-unprivileged.md
index 137bdf752..a89f532ef 100644
--- a/content/agent/installation-upgrade/installation-unprivileged.md
+++ b/content/agent/installation-upgrade/installation-unprivileged.md
@@ -2,7 +2,8 @@
title: Run without root privileges
weight: 450
toc: true
-type: how-to
+nd-content-type:
+ - how-to
product: Agent
---
diff --git a/content/agent/installation-upgrade/uninstall.md b/content/agent/installation-upgrade/uninstall.md
index 2f783dbb6..56db538f0 100644
--- a/content/agent/installation-upgrade/uninstall.md
+++ b/content/agent/installation-upgrade/uninstall.md
@@ -3,9 +3,8 @@ title: Uninstall NGINX Agent package
draft: false
weight: 700
toc: true
-docs: DOCS-1230
-type:
-- how-to
+nd-docs: DOCS-1230
+nd-content-type: how-to
---
## Overview
diff --git a/content/agent/installation-upgrade/upgrade.md b/content/agent/installation-upgrade/upgrade.md
index cd11db359..e3483c0a7 100644
--- a/content/agent/installation-upgrade/upgrade.md
+++ b/content/agent/installation-upgrade/upgrade.md
@@ -3,9 +3,8 @@ title: Upgrade NGINX Agent package
draft: false
weight: 600
toc: true
-docs: DOCS-1227
-type:
-- how-to
+nd-docs: DOCS-1227
+nd-content-type: how-to
---
## Overview
diff --git a/content/agent/support.md b/content/agent/support.md
new file mode 100644
index 000000000..6ea9d3af6
--- /dev/null
+++ b/content/agent/support.md
@@ -0,0 +1,20 @@
+---
+title: Support
+weight: 800
+toc: false
+type: reference
+product: Agent
+---
+
+## Support policy
+F5 NGINX Agent adheres to the support policy detailed in the following knowledge base article: [K000140156](https://my.f5.com/manage/s/article/K000140156).
+
+
+## Contact F5 Support
+
+For questions and/or assistance with installing, troubleshooting, or using NGINX Agent, contact support via the [MyF5 Customer Portal](https://account.f5.com/myf5).
+
+## Community support
+
+- If you experience issues with NGINX Agent, please [open an issue in GitHub](https://github.com/nginx/agent/issues/new).
+- If you have any suggestions or feature requests, please [open an idea in GitHub discussions](https://github.com/nginx/agent/discussions).
diff --git a/content/agent/technical-specifications.md b/content/agent/technical-specifications.md
index 7ecd18398..d9e88f2bf 100644
--- a/content/agent/technical-specifications.md
+++ b/content/agent/technical-specifications.md
@@ -1,37 +1,32 @@
---
-title: Technical specifications
-draft: false
-weight: 200
+title: "Technical specifications"
+weight: 100
toc: true
-docs: DOCS-1092
-type:
-- how-to
+nd-docs: "DOCS-1092"
---
-## Overview
+This document describes the requirements for NGINX Agent v2.
-This document provides technical specifications for NGINX Agent. It includes information on supported distributions, deployment environments, NGINX versions, sizing recommendations, and logging.
-
-## Supported Distributions
+## 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 | 3.18
3.19
3.20
3.21| 2023| LTS| 11
12|
-|**Architecture**| x86_84
aarch64| x86_64
aarch64 | x86_64
aarch64 | x86_64
aarch64 | x86_64
aarch64 |
+| | AlmaLinux | Alpine Linux | Amazon Linux | Amazon Linux 2 | CentOS | Debian |
+|-|-----------|--------------|--------------|----------------|--------|--------|
+|**Version**|8
9 | 3.16
3.17
3.18
3.19| 2023| LTS| 7.4+| 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|8.1+
9.0+|8
9|15 SP2|20.04 LTS
22.04 LTS
24.04 LTS|
+|**Version**|13
14|7.4+
8.1+
9|7.4+
8.1+
9.0+|8
9|12 SP5
15 SP2|20.04 LTS
22.04 LTS|
|**Architecture**|amd64|x86_64|x86_64
aarch64|x86_64
aarch64|x86_64|x86_64
aarch64|
{{< /bootstrap-table >}}
-## Supported Deployment Environments
+## Supported deployment environments
NGINX Agent can be deployed in the following environments:
@@ -40,12 +35,12 @@ NGINX Agent can be deployed in the following environments:
- Public Cloud: AWS, Google Cloud Platform, and Microsoft Azure
- Virtual Machine
-## Supported NGINX Versions
+## Supported NGINX versions
NGINX Agent works with all supported versions of NGINX Open Source and NGINX Plus.
-## Sizing Recommendations
+## Sizing recommendations
Minimum system sizing recommendations for NGINX Agent:
{{< bootstrap-table "table table-striped table-bordered" >}}
diff --git a/content/includes/agent/about.md b/content/includes/agent/about.md
new file mode 100644
index 000000000..e23de8922
--- /dev/null
+++ b/content/includes/agent/about.md
@@ -0,0 +1,43 @@
+---
+docs:
+files:
+ - content/agent/about.md
+ - content/nginx-one/agent/overview/about.md
+---
+
+F5 NGINX Agent is a lightweight companion daemon designed to work with NGINX One and enable remote management of NGINX instances. It also gathers performance metrics from NGINX and transmits them to the NGINX One Console for enhanced monitoring and control.
+
+## Key features
+
+Enable Access to key NGINX One use cases:
+
+ - Seamlessly integrates with essential NGINX One functionality, simplifying access to its core use cases and
+ enhancing operational workflows.
+ - [Connects NGINX instances to NGINX One Console]({{< ref "/nginx-one/agent/install-upgrade/install-from-oss-repo.md#connect-an-instance-to-nginx-one-console" >}})
+
+Real-time observability into NGINX One data plane instances:
+
+ - Provides live monitoring and actionable insights into the performance, status, and health of NGINX One data plane
+ instances, improving decision-making and operational efficiency.
+ - NGINX Agent supports [OpenTelemetry](https://opentelemetry.io/) and the ability to
+ [export the metrics data]({{< ref "/nginx-one/agent/metrics/configure-otel-metrics.md" >}}) for use in other applications.
+
+
+
+### Configuration management
+
+- NGINX Agent provides an interface that enables users to deploy configuration changes to NGINX instances from a
+ centralized management plane.
+- Additionally, NGINX Agent verifies that the configuration changes are successfully applied to NGINX instances.
+
+### Metrics collection
+
+NGINX Agent comes pre-packaged with an embedded OpenTelemetry Collector. This embedded collector gathers vital performance
+and health metrics for both NGINX and the underlying instance it operates on.
+
+For example, it tracks key metrics such as active connections, requests per second, HTTP status codes, and response times.
+Additionally, it collects system-level data, including CPU usage, memory consumption, and disk I/O. These insights provide
+deep observability into NGINX's behavior, enabling teams to troubleshoot issues effectively, optimize performance, and
+maintain high availability.
+
+Collected metrics can be seamlessly exported to NGINX One Console or integrated with third-party data aggregators.
diff --git a/content/includes/agent/architecture.md b/content/includes/agent/architecture.md
new file mode 100644
index 000000000..d09a138be
--- /dev/null
+++ b/content/includes/agent/architecture.md
@@ -0,0 +1,22 @@
+---
+docs:
+files:
+ - content/agent/about.md
+ - content/nginx-one/agent/overview/about.md
+---
+
+The figure shows:
+
+- An NGINX instance running on bare metal, virtual machine or container
+- NGINX One Cloud Console includes:
+
+ - Command Server to manage NGINX configurations, push new/updated configuration files remotely, and perform integrity tests.
+ - OpenTelemetry (OTel) Receiver that receives observability data from connected Agent instances.
+
+- An NGINX Agent process running on the NGINX instance. NGINX Agent is responsible for:
+
+ - Watching, applying, validating, automatically roll back to last good configuration if issues are detected.
+ - Embedding an OpenTelemetry Collector, collecting metrics from NGINX processes, host system performance data, then securely passing metric data to NGINX One Cloud Console.
+
+- Collection and monitoring of host metrics (CPU usage, Memory utilization, Disk I/O) by the Agent OTel collector.
+- Collected data is made available on NGINX One Cloud Console for monitoring, alerting, troubleshooting, and capacity planning purposes.
diff --git a/content/includes/agent/installation/manually-connect-to-console.md b/content/includes/agent/installation/manually-connect-to-console.md
new file mode 100644
index 000000000..dc00015bd
--- /dev/null
+++ b/content/includes/agent/installation/manually-connect-to-console.md
@@ -0,0 +1,42 @@
+---
+docs:
+files:
+ - content/nginx-one/agent/install-upgrade/install-from-github.md
+ - content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
+---
+
+If you have installed NGINX Agent manually, you will need to connect it to the
+NGINX One Console to manage your NGINX instances.
+
+1. Ensure NGINX Agent is installed
+
+ ```shell
+ nginx-agent -v
+ ```
+
+1. Locate the NGINX Agent Configuration File:
+
+ ```shell
+ /etc/nginx-agent/nginx-agent.conf
+ ```
+
+1. Open the NGINX Agent configuration file in a text editor like vim:
+
+ ```shell
+ sudo vim /etc/nginx-agent/nginx-agent.conf
+ ```
+
+1. Uncomment the command block, and set the token to your data plane key
+1. Save the changes and close the editor
+1. Restart the NGINX Agent service:
+
+ ```shell
+ sudo systemctl restart nginx-agent
+ ```
+
+1. Check the Agent log for `"Agent Connected"`
+
+ ```shell
+ sudo cat /var/log/nginx-agent/agent.log | grep "Agent connected"
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/oss/oss-alpine.md b/content/includes/agent/installation/oss/oss-alpine.md
new file mode 100644
index 000000000..41f4d734a
--- /dev/null
+++ b/content/includes/agent/installation/oss/oss-alpine.md
@@ -0,0 +1,73 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-oss-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
+---
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo apk add openssl curl ca-certificates
+ ```
+
+1. To set up the apk repository for `nginx-agent` packages, run the following command:
+
+ ```shell
+ printf "%s%s%s\n" \
+ "http://packages.nginx.org/nginx-agent/alpine/v" \
+ `grep -o -E '^[0-9]+\.[0-9]+' /etc/alpine-release` \
+ "/main" \
+ | sudo tee -a /etc/apk/repositories
+ ```
+
+1. Next, import an official NGINX signing key so apk can verify the package's
+authenticity. Fetch the key:
+
+ ```shell
+ curl -o /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub
+ ```
+
+1. Verify that downloaded file contains the proper key:
+
+ ```shell
+ openssl rsa -pubin -in /tmp/nginx_signing.rsa.pub -text -noout
+ ```
+
+ The output should contain the following modulus:
+
+ ```
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:fe:14:f6:0a:1a:b8:86:19:fe:cd:ab:02:9f:58:
+ 2f:37:70:15:74:d6:06:9b:81:55:90:99:96:cc:70:
+ 5c:de:5b:e8:4c:b2:0c:47:5b:a8:a2:98:3d:11:b1:
+ f6:7d:a0:46:df:24:23:c6:d0:24:52:67:ba:69:ab:
+ 9a:4a:6a:66:2c:db:e1:09:f1:0d:b2:b0:e1:47:1f:
+ 0a:46:ac:0d:82:f3:3c:8d:02:ce:08:43:19:d9:64:
+ 86:c4:4e:07:12:c0:5b:43:ba:7d:17:8a:a3:f0:3d:
+ 98:32:b9:75:66:f4:f0:1b:2d:94:5b:7c:1c:e6:f3:
+ 04:7f:dd:25:b2:82:a6:41:04:b7:50:93:94:c4:7c:
+ 34:7e:12:7c:bf:33:54:55:47:8c:42:94:40:8e:34:
+ 5f:54:04:1d:9e:8c:57:48:d4:b0:f8:e4:03:db:3f:
+ 68:6c:37:fa:62:14:1c:94:d6:de:f2:2b:68:29:17:
+ 24:6d:f7:b5:b3:18:79:fd:31:5e:7f:4c:be:c0:99:
+ 13:cc:e2:97:2b:dc:96:9c:9a:d0:a7:c5:77:82:67:
+ c9:cb:a9:e7:68:4a:e1:c5:ba:1c:32:0e:79:40:6e:
+ ef:08:d7:a3:b9:5d:1a:df:ce:1a:c7:44:91:4c:d4:
+ 99:c8:88:69:b3:66:2e:b3:06:f1:f4:22:d7:f2:5f:
+ ab:6d
+ Exponent: 65537 (0x10001)
+ ```
+
+1. Finally, move the key to apk trusted keys storage:
+
+ ```shell
+ sudo mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/
+ ```
+
+1. To install `nginx-agent`, run the following command:
+
+ ```shell
+ sudo apk add nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/oss/oss-amazon-linux.md b/content/includes/agent/installation/oss/oss-amazon-linux.md
new file mode 100644
index 000000000..3a3f326b8
--- /dev/null
+++ b/content/includes/agent/installation/oss/oss-amazon-linux.md
@@ -0,0 +1,34 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-oss-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
+---
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo yum install yum-utils procps
+ ```
+
+1. To set up the yum repository for Amazon Linux 2, create a file with name
+`/etc/yum.repos.d/nginx-agent.repo` with the following contents:
+
+ ```ini
+ [nginx-agent]
+ name=nginx agent repo
+ baseurl=http://packages.nginx.org/nginx-agent/amzn2/$releasever/$basearch/
+ gpgcheck=1
+ enabled=1
+ gpgkey=https://nginx.org/keys/nginx_signing.key
+ module_hotfixes=true
+ ```
+
+1. To install `nginx-agent`, run the following command:
+
+ ```shell
+ sudo yum install nginx-agent
+ ```
+
+1. When prompted to accept the GPG key, verify that the fingerprint matches
+`573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62`, and if so, accept it.
\ No newline at end of file
diff --git a/content/includes/agent/installation/oss/oss-debian.md b/content/includes/agent/installation/oss/oss-debian.md
new file mode 100644
index 000000000..1d8913352
--- /dev/null
+++ b/content/includes/agent/installation/oss/oss-debian.md
@@ -0,0 +1,52 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-oss-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
+---
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
+ ```
+
+1. Import an official nginx signing key so apt can verify the packages authenticity.
+ 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
+ ```
+
+1. Verify that the downloaded file contains the proper key:
+
+ ```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 fingerprint `573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62`
+ as follows:
+
+ ```
+ pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24]
+ 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
+ uid nginx signing key
+ ```
+
+ {{< important >}}If the fingerprint is different, remove the file.{{< /important >}}
+
+1. Add the `nginx-agent` repository:
+
+ ```shell
+ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
+ http://packages.nginx.org/nginx-agent/debian/ `lsb_release -cs` agent" \ | sudo tee /etc/apt/sources.list.d/nginx-agent.list
+ ```
+
+1. To install `nginx-agent`, run the following commands:
+
+ ```shell
+ sudo apt update
+ sudo apt install nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/oss/oss-freebsd.md b/content/includes/agent/installation/oss/oss-freebsd.md
new file mode 100644
index 000000000..31014d5e1
--- /dev/null
+++ b/content/includes/agent/installation/oss/oss-freebsd.md
@@ -0,0 +1,23 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-oss-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
+---
+
+1. To setup the pkg repository create a file with name `/etc/pkg/nginx-agent.conf`
+with the following content:
+
+ ```none
+ nginx-agent: {
+ URL: pkg+http://packages.nginx.org/nginx-agent/freebsd/${ABI}/latest
+ ENABLED: true
+ MIRROR_TYPE: SRV
+ }
+ ```
+
+1. To install `nginx-agent`, run the following command:
+
+ ```shell
+ sudo pkg install nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/oss/oss-rhel.md b/content/includes/agent/installation/oss/oss-rhel.md
new file mode 100644
index 000000000..50ae65222
--- /dev/null
+++ b/content/includes/agent/installation/oss/oss-rhel.md
@@ -0,0 +1,33 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-oss-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
+---
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo yum install yum-utils
+ ```
+
+1. To set up the yum repository, create a file with name `/etc/yum.repos.d/nginx-agent.repo`
+with the following contents:
+
+ ```ini
+ [nginx-agent]
+ name=nginx agent repo
+ baseurl=http://packages.nginx.org/nginx-agent/centos/$releasever/$basearch/
+ gpgcheck=1
+ enabled=1
+ gpgkey=https://nginx.org/keys/nginx_signing.key
+ module_hotfixes=true
+ ```
+
+1. To install `nginx-agent`, run the following command:
+
+ ```shell
+ sudo yum install nginx-agent
+ ```
+
+ When prompted to accept the GPG key, verify that the fingerprint matches `573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62`, and if so, accept it.
\ No newline at end of file
diff --git a/content/includes/agent/installation/oss/oss-sles.md b/content/includes/agent/installation/oss/oss-sles.md
new file mode 100644
index 000000000..d6e41c15d
--- /dev/null
+++ b/content/includes/agent/installation/oss/oss-sles.md
@@ -0,0 +1,52 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-oss-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
+---
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo zypper install curl ca-certificates gpg2 gawk
+ ```
+
+1. To set up the zypper repository for `nginx-agent` packages, run the following command:
+
+ ```shell
+ sudo zypper addrepo --gpgcheck --refresh --check \
+ 'http://packages.nginx.org/nginx-agent/sles/$releasever_major' nginx-agent
+ ```
+
+1. Next, import an official NGINX signing key so `zypper`/`rpm` can verify the
+package's authenticity. Fetch the key:
+
+ ```shell
+ curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key
+ ```
+
+1. Verify that the downloaded file contains the proper key:
+
+ ```shell
+ gpg --with-fingerprint --dry-run --quiet --no-keyring --import --import-options import-show /tmp/nginx_signing.key
+ ```
+
+1. The output should contain the full fingerprint `573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62` as follows:
+
+ ```
+ pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24]
+ 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
+ uid nginx signing key
+ ```
+
+1. Finally, import the key to the rpm database:
+
+ ```shell
+ sudo rpmkeys --import /tmp/nginx_signing.key
+ ```
+
+1. To install `nginx-agent`, run the following command:
+
+ ```shell
+ sudo zypper install nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/oss/oss-ubuntu.md b/content/includes/agent/installation/oss/oss-ubuntu.md
new file mode 100644
index 000000000..b1f5127c9
--- /dev/null
+++ b/content/includes/agent/installation/oss/oss-ubuntu.md
@@ -0,0 +1,50 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-oss-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
+---
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
+ ```
+
+1. Import an official nginx signing key so apt can verify the packages authenticity. 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
+ ```
+
+1. Verify that the downloaded file contains the proper key:
+
+ ```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 fingerprint `573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62` as follows:
+
+ ```
+ pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24]
+ 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
+ uid nginx signing key
+ ```
+
+ {{< important >}}If the fingerprint is different, remove the file.{{< /important >}}
+
+1. Add the nginx agent repository:
+
+ ```shell
+ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
+ http://packages.nginx.org/nginx-agent/ubuntu/ `lsb_release -cs` agent" \
+ | sudo tee /etc/apt/sources.list.d/nginx-agent.list
+ ```
+
+1. To install `nginx-agent`, run the following commands:
+
+ ```shell
+ sudo apt update
+ sudo apt install nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/plus/plus-alpine.md b/content/includes/agent/installation/plus/plus-alpine.md
new file mode 100644
index 000000000..6b07cae37
--- /dev/null
+++ b/content/includes/agent/installation/plus/plus-alpine.md
@@ -0,0 +1,83 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-plus-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
+---
+
+1. Log in to [MyF5 Customer Portal](https://account.f5.com/myf5/) and download
+ your `nginx-repo.crt` and `nginx-repo.key` files.
+
+1. Copy the files to the `/etc/apk/` directory:
+
+ ```shell
+ sudo cp nginx-repo.key /etc/apk/cert.key
+ sudo cp nginx-repo.crt /etc/apk/cert.pem
+ ```
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo apk add openssl curl ca-certificates
+ ```
+
+1. To set up the apk repository for `nginx-agent` packages, run the following
+ command:
+
+ ```shell
+ printf "%s%s%s\n" \
+ "https://pkgs.nginx.com/nginx-agent/alpine/v" \
+ `grep -o -E '^[0-9]+\.[0-9]+' /etc/alpine-release` \
+ "/main" \
+ | sudo tee -a /etc/apk/repositories
+ ```
+
+1. Next, import an official NGINX signing key so apk can verify the package's authenticity. Fetch the key:
+
+ ```shell
+ curl -o /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub
+ ```
+
+1. Verify that downloaded file contains the proper key:
+
+ ```shell
+ openssl rsa -pubin -in /tmp/nginx_signing.rsa.pub -text -noout
+ ```
+
+ The output should contain the following modulus:
+
+ ```none
+ Public-Key: (2048 bit)
+ Modulus:
+ 00:fe:14:f6:0a:1a:b8:86:19:fe:cd:ab:02:9f:58:
+ 2f:37:70:15:74:d6:06:9b:81:55:90:99:96:cc:70:
+ 5c:de:5b:e8:4c:b2:0c:47:5b:a8:a2:98:3d:11:b1:
+ f6:7d:a0:46:df:24:23:c6:d0:24:52:67:ba:69:ab:
+ 9a:4a:6a:66:2c:db:e1:09:f1:0d:b2:b0:e1:47:1f:
+ 0a:46:ac:0d:82:f3:3c:8d:02:ce:08:43:19:d9:64:
+ 86:c4:4e:07:12:c0:5b:43:ba:7d:17:8a:a3:f0:3d:
+ 98:32:b9:75:66:f4:f0:1b:2d:94:5b:7c:1c:e6:f3:
+ 04:7f:dd:25:b2:82:a6:41:04:b7:50:93:94:c4:7c:
+ 34:7e:12:7c:bf:33:54:55:47:8c:42:94:40:8e:34:
+ 5f:54:04:1d:9e:8c:57:48:d4:b0:f8:e4:03:db:3f:
+ 68:6c:37:fa:62:14:1c:94:d6:de:f2:2b:68:29:17:
+ 24:6d:f7:b5:b3:18:79:fd:31:5e:7f:4c:be:c0:99:
+ 13:cc:e2:97:2b:dc:96:9c:9a:d0:a7:c5:77:82:67:
+ c9:cb:a9:e7:68:4a:e1:c5:ba:1c:32:0e:79:40:6e:
+ ef:08:d7:a3:b9:5d:1a:df:ce:1a:c7:44:91:4c:d4:
+ 99:c8:88:69:b3:66:2e:b3:06:f1:f4:22:d7:f2:5f:
+ ab:6d
+ Exponent: 65537 (0x10001)
+ ```
+
+1. Finally, move the key to apk trusted keys storage:
+
+ ```shell
+ sudo mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/
+ ```
+
+1. To install `nginx-agent`, run the following command:
+
+ ```shell
+ sudo apk add nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/plus/plus-amazon-linux.md b/content/includes/agent/installation/plus/plus-amazon-linux.md
new file mode 100644
index 000000000..505c5c910
--- /dev/null
+++ b/content/includes/agent/installation/plus/plus-amazon-linux.md
@@ -0,0 +1,50 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-plus-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
+---
+
+1. Create the `/etc/ssl/nginx` directory:
+
+ ```shell
+ sudo mkdir -p /etc/ssl/nginx
+ ```
+
+1. Log in to [MyF5 Customer Portal](https://account.f5.com/myf5/) and download
+ your `nginx-repo.crt` and `nginx-repo.key` files.
+
+1. Copy the `nginx-repo.crt` and `nginx-repo.key` files to the `/etc/ssl/nginx/`
+ directory:
+
+ ```shell
+ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
+ ```
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo yum install yum-utils procps ca-certificates
+ ```
+
+1. To set up the yum repository for Amazon Linux 2, create a file with name
+ `/etc/yum.repos.d/nginx-agent.repo` with the following contents:
+
+ ```ini
+ [nginx-agent]
+ name=nginx-agent repo
+ baseurl=https://pkgs.nginx.com/nginx-agent/amzn2/$releasever/$basearch
+ sslclientcert=/etc/ssl/nginx/nginx-repo.crt
+ sslclientkey=/etc/ssl/nginx/nginx-repo.key
+ gpgcheck=0
+ enabled=1
+ ```
+
+1. To install `nginx-agent`, run the following command:
+
+ ```shell
+ sudo yum install nginx-agent
+ ```
+
+1. When prompted to accept the GPG key, verify that the fingerprint matches
+ `573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62`, and if so, accept it.
\ No newline at end of file
diff --git a/content/includes/agent/installation/plus/plus-debian.md b/content/includes/agent/installation/plus/plus-debian.md
new file mode 100644
index 000000000..81e453656
--- /dev/null
+++ b/content/includes/agent/installation/plus/plus-debian.md
@@ -0,0 +1,50 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-plus-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
+---
+
+1. Create the `/etc/ssl/nginx` directory:
+
+ ```shell
+ sudo mkdir -p /etc/ssl/nginx
+ ```
+
+1. Log in to [MyF5 Customer Portal](https://account.f5.com/myf5/) and download
+ your `nginx-repo.crt` and `nginx-repo.key` files.
+
+1. Copy the files to the `/etc/ssl/nginx/` directory:
+
+ ```shell
+ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
+ ```
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
+ ```
+
+1. Add the `nginx-agent` repository:
+
+ ```shell
+ echo "deb https://pkgs.nginx.com/nginx-agent/debian/ `lsb_release -cs` agent" \
+ | sudo tee /etc/apt/sources.list.d/nginx-agent.list
+ ```
+
+1. Create apt configuration `/etc/apt/apt.conf.d/90pkgs-nginx`:
+
+ ```conf
+ Acquire::https::pkgs.nginx.com::Verify-Peer "true";
+ Acquire::https::pkgs.nginx.com::Verify-Host "true";
+ Acquire::https::pkgs.nginx.com::SslCert "/etc/ssl/nginx/nginx-repo.crt";
+ Acquire::https::pkgs.nginx.com::SslKey "/etc/ssl/nginx/nginx-repo.key";
+ ```
+
+1. To install `nginx-agent`, run the following commands:
+
+ ```shell
+ sudo apt update
+ sudo apt install nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/plus/plus-freebsd.md b/content/includes/agent/installation/plus/plus-freebsd.md
new file mode 100644
index 000000000..3cb6442e8
--- /dev/null
+++ b/content/includes/agent/installation/plus/plus-freebsd.md
@@ -0,0 +1,52 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-plus-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
+---
+
+1. Create the `/etc/ssl/nginx` directory:
+
+ ```shell
+ sudo mkdir -p /etc/ssl/nginx
+ ```
+
+1. Log in to [MyF5 Customer Portal](https://account.f5.com/myf5/) and download
+ your `nginx-repo.crt` and `nginx-repo.key` files.
+
+1. Copy the files to the `/etc/ssl/nginx/` directory:
+
+ ```shell
+ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
+ ```
+
+1. Install the prerequisite `ca_root_nss` package:
+
+ ```shell
+ sudo pkg install ca_root_nss
+ ```
+
+1. To setup the pkg repository create a file with name `/etc/pkg/nginx-agent.conf`
+with the following content:
+
+ ```none
+ nginx-agent: {
+ URL: pkg+https://pkgs.nginx.com/nginx-agent/freebsd/${ABI}/latest
+ ENABLED: yes
+ MIRROR_TYPE: SRV
+ }
+ ```
+
+1. Add the following lines to the `/usr/local/etc/pkg.conf` file:
+
+ ```conf
+ PKG_ENV: { SSL_NO_VERIFY_PEER: "1",
+ SSL_CLIENT_CERT_FILE: "/etc/ssl/nginx/nginx-repo.crt",
+ SSL_CLIENT_KEY_FILE: "/etc/ssl/nginx/nginx-repo.key" }
+ ```
+
+1. To install `nginx-agent`, run the following command:
+
+ ```shell
+ sudo pkg install nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/plus/plus-rhel.md b/content/includes/agent/installation/plus/plus-rhel.md
new file mode 100644
index 000000000..8db68e5aa
--- /dev/null
+++ b/content/includes/agent/installation/plus/plus-rhel.md
@@ -0,0 +1,55 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-plus-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
+---
+
+1. Create the `/etc/ssl/nginx` directory:
+
+ ```shell
+ sudo mkdir -p /etc/ssl/nginx
+ ```
+
+1. Log in to [MyF5 Customer Portal](https://account.f5.com/myf5/) and download
+ your `nginx-repo.crt` and `nginx-repo.key` files.
+
+1. Copy the files to the `/etc/ssl/nginx/` directory:
+
+ ```shell
+ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
+ ```
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo yum install yum-utils procps
+ ```
+
+1. Set up the yum repository by creating the file `nginx-agent.repo` in
+ `/etc/yum.repos.d`, for example using `vi`:
+
+ ```shell
+ sudo vi /etc/yum.repos.d/nginx-agent.repo
+ ```
+
+1. Add the following lines to `nginx-agent.repo`:
+
+ ```ini
+ [nginx-agent]
+ name=nginx agent repo
+ baseurl=https://pkgs.nginx.com/nginx-agent/centos/$releasever/$basearch/
+ sslclientcert=/etc/ssl/nginx/nginx-repo.crt
+ sslclientkey=/etc/ssl/nginx/nginx-repo.key
+ gpgcheck=0
+ enabled=1
+ ```
+
+1. To install `nginx-agent`, run the following command:
+
+ ```shell
+ sudo yum install nginx-agent
+ ```
+
+ When prompted to accept the GPG key, verify that the fingerprint matches
+ `573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62`, and if so, accept it.
\ No newline at end of file
diff --git a/content/includes/agent/installation/plus/plus-sles.md b/content/includes/agent/installation/plus/plus-sles.md
new file mode 100644
index 000000000..d9e1cd3f0
--- /dev/null
+++ b/content/includes/agent/installation/plus/plus-sles.md
@@ -0,0 +1,75 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-plus-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
+---
+
+1. Create the `/etc/ssl/nginx` directory:
+
+ ```shell
+ sudo mkdir -p /etc/ssl/nginx
+ ```
+
+1. Log in to [MyF5 Customer Portal](https://account.f5.com/myf5/) and download
+ your `nginx-repo.crt` and `nginx-repo.key` files.
+
+1. Copy the files to the `/etc/ssl/nginx/` directory:
+
+ ```shell
+ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
+ ```
+
+1. Create a file bundle of the certificate and key:
+
+ ```shell
+ cat /etc/ssl/nginx/nginx-repo.crt /etc/ssl/nginx/nginx-repo.key > /etc/ssl/nginx/nginx-repo-bundle.crt
+ ```
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo zypper install curl ca-certificates gpg2 gawk
+ ```
+
+1. To set up the zypper repository for `nginx-agent` packages, run the following
+ command:
+
+ ```shell
+ sudo zypper addrepo --refresh --check \
+ 'https://pkgs.nginx.com/nginx-agent/sles/$releasever_major?ssl_clientcert=/etc/ssl/nginx/nginx-repo-bundle.crt&ssl_verify=peer' nginx-agent
+ ```
+
+1. Next, import an official NGINX signing key so `zypper`/`rpm` can verify the
+ package's authenticity. Fetch the key:
+
+ ```shell
+ curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key
+ ```
+
+1. Verify that the downloaded file contains the proper key:
+
+ ```shell
+ gpg --with-fingerprint --dry-run --quiet --no-keyring --import --import-options import-show /tmp/nginx_signing.key
+ ```
+
+1. The output should contain the full fingerprint
+ `573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62` as follows:
+
+ ```none
+ pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24]
+ 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
+ uid nginx signing key
+ ```
+
+1. Finally, import the key to the rpm database:
+
+ ```shell
+ sudo rpmkeys --import /tmp/nginx_signing.key
+ ```
+
+1. To install `nginx-agent`, run the following command:
+
+ ```shell
+ sudo zypper install nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/plus/plus-ubuntu.md b/content/includes/agent/installation/plus/plus-ubuntu.md
new file mode 100644
index 000000000..e14f84ee7
--- /dev/null
+++ b/content/includes/agent/installation/plus/plus-ubuntu.md
@@ -0,0 +1,55 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-plus-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
+---
+
+1. Create the `/etc/ssl/nginx` directory:
+
+ ```shell
+ sudo mkdir -p /etc/ssl/nginx
+ ```
+
+1. Log in to [MyF5 Customer Portal](https://account.f5.com/myf5/) and download your `nginx-repo.crt` and `nginx-repo.key` files.
+
+1. Copy the files to the `/etc/ssl/nginx/` directory:
+
+ ```shell
+ sudo cp nginx-repo.crt nginx-repo.key /etc/ssl/nginx/
+ ```
+
+1. Install the prerequisites:
+
+ ```shell
+ sudo apt-get install apt-transport-https lsb-release ca-certificates wget gnupg2 ubuntu-keyring
+ ```
+
+1. Download and add [NGINX signing key](https://cs.nginx.com/static/keys/nginx_signing.key):
+
+ ```shell
+ wget -qO - https://cs.nginx.com/static/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
+ ```
+
+1. Create `apt` configuration `/etc/apt/apt.conf.d/90pkgs-nginx`:
+
+ ```conf
+ Acquire::https::pkgs.nginx.com::Verify-Peer "true";
+ Acquire::https::pkgs.nginx.com::Verify-Host "true";
+ Acquire::https::pkgs.nginx.com::SslCert "/etc/ssl/nginx/nginx-repo.crt";
+ Acquire::https::pkgs.nginx.com::SslKey "/etc/ssl/nginx/nginx-repo.key";
+ ```
+
+1. Add the `nginx-agent` repository:
+
+ ```shell
+ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://pkgs.nginx.com/nginx-agent/ubuntu/ `lsb_release -cs` agent" \
+ | sudo tee /etc/apt/sources.list.d/nginx-agent.list
+ ```
+
+1. To install `nginx-agent`, run the following commands:
+
+ ```shell
+ sudo apt update
+ sudo apt install nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/prerequisites.md b/content/includes/agent/installation/prerequisites.md
new file mode 100644
index 000000000..9a91bf9cb
--- /dev/null
+++ b/content/includes/agent/installation/prerequisites.md
@@ -0,0 +1,13 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-github.md
+ - content/agent/install-upgrade/install-from-oss-repo.md
+ - content/agent/install-upgrade/install-from-plus-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
+---
+
+- You must use one of the [supported operating system and architectures]({{< ref "/nginx-one/agent/overview/tech-specs.md#supported-distributions" >}})
+- The user running the NGINX Agent installation must have the same privileges as
+the main NGINX process. We recommend **not** running NGINX or NGINX Agent as the root user.
\ No newline at end of file
diff --git a/content/includes/agent/installation/start-stop-agent.md b/content/includes/agent/installation/start-stop-agent.md
new file mode 100644
index 000000000..fdbbbce62
--- /dev/null
+++ b/content/includes/agent/installation/start-stop-agent.md
@@ -0,0 +1,27 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-github.md
+ - content/agent/install-upgrade/install-from-oss-repo.md
+ - content/agent/install-upgrade/install-from-plus-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
+---
+
+To start NGINX Agent on `systemd` systems, run the following command:
+
+```shell
+sudo systemctl start nginx-agent
+```
+
+To enable NGINX Agent to start on boot, run the following command:
+
+```shell
+sudo systemctl enable nginx-agent
+```
+
+To stop NGINX Agent, run the following command:
+
+```shell
+sudo systemctl stop nginx-agent
+```
\ No newline at end of file
diff --git a/content/includes/agent/installation/uninstall/uninstall-alpine.md b/content/includes/agent/installation/uninstall/uninstall-alpine.md
new file mode 100644
index 000000000..47e6e8d7c
--- /dev/null
+++ b/content/includes/agent/installation/uninstall/uninstall-alpine.md
@@ -0,0 +1,20 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/uninstall.md
+ - content/nginx-one/agent/install-upgrade/uninstall.md
+---
+
+Complete the following steps on each host where you've installed NGINX agent:
+
+1. Stop NGINX agent:
+
+ ```shell
+ sudo rc-service nginx-agent stop
+ ```
+
+1. To uninstall NGINX agent, run the following command:
+
+ ```shell
+ sudo apk del nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/uninstall/uninstall-amazon-linux.md b/content/includes/agent/installation/uninstall/uninstall-amazon-linux.md
new file mode 100644
index 000000000..8fc2c7eab
--- /dev/null
+++ b/content/includes/agent/installation/uninstall/uninstall-amazon-linux.md
@@ -0,0 +1,20 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/uninstall.md
+ - content/nginx-one/agent/install-upgrade/uninstall.md
+---
+
+Complete the following steps on each host where you've installed NGINX agent:
+
+1. Stop NGINX agent:
+
+ ```shell
+ sudo systemctl stop nginx-agent
+ ```
+
+1. To uninstall NGINX agent, run the following command:
+
+ ```shell
+ sudo yum remove nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/uninstall/uninstall-debian.md b/content/includes/agent/installation/uninstall/uninstall-debian.md
new file mode 100644
index 000000000..5a25674d5
--- /dev/null
+++ b/content/includes/agent/installation/uninstall/uninstall-debian.md
@@ -0,0 +1,22 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/uninstall.md
+ - content/nginx-one/agent/install-upgrade/uninstall.md
+---
+
+Complete the following steps on each host where you've installed NGINX Agent:
+
+1. Stop NGINX Agent:
+
+ ```shell
+ sudo systemctl stop nginx-agent
+ ```
+
+1. To uninstall NGINX Agent, run the following command:
+
+ ```shell
+ sudo apt-get remove nginx-agent
+ ```
+
+ {{< note >}} The `apt-get remove ` command will remove the package from your system, while keeping the associated configuration files for possible future use. If you want to completely remove the package and all of its configuration files, you should use `apt-get purge `. {{< /note >}}
\ No newline at end of file
diff --git a/content/includes/agent/installation/uninstall/uninstall-freebsd.md b/content/includes/agent/installation/uninstall/uninstall-freebsd.md
new file mode 100644
index 000000000..ef18d978b
--- /dev/null
+++ b/content/includes/agent/installation/uninstall/uninstall-freebsd.md
@@ -0,0 +1,20 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/uninstall.md
+ - content/nginx-one/agent/install-upgrade/uninstall.md
+---
+
+Complete the following steps on each host where you've installed NGINX agent:
+
+1. Stop NGINX agent:
+
+ ```shell
+ sudo service nginx-agent stop
+ ```
+
+1. To uninstall NGINX agent, run the following command:
+
+ ```shell
+ sudo pkg delete nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/uninstall/uninstall-rhel.md b/content/includes/agent/installation/uninstall/uninstall-rhel.md
new file mode 100644
index 000000000..4d0a01405
--- /dev/null
+++ b/content/includes/agent/installation/uninstall/uninstall-rhel.md
@@ -0,0 +1,20 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/uninstall.md
+ - content/nginx-one/agent/install-upgrade/uninstall.md
+---
+
+Complete the following steps on each host where you've installed NGINX Agent:
+
+1. Stop NGINX Agent:
+
+ ```shell
+ sudo systemctl stop nginx-agent
+ ```
+
+1. To uninstall NGINX Agent, run the following command:
+
+ ```shell
+ sudo yum remove nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/uninstall/uninstall-sles.md b/content/includes/agent/installation/uninstall/uninstall-sles.md
new file mode 100644
index 000000000..c46fef3d9
--- /dev/null
+++ b/content/includes/agent/installation/uninstall/uninstall-sles.md
@@ -0,0 +1,20 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/uninstall.md
+ - content/nginx-one/agent/install-upgrade/uninstall.md
+---
+
+Complete the following steps on each host where you've installed NGINX Agent:
+
+1. Stop NGINX agent:
+
+ ```shell
+ sudo systemctl stop nginx-agent
+ ```
+
+1. To uninstall NGINX agent, run the following command:
+
+ ```shell
+ sudo zypper remove nginx-agent
+ ```
\ No newline at end of file
diff --git a/content/includes/agent/installation/uninstall/uninstall-ubuntu.md b/content/includes/agent/installation/uninstall/uninstall-ubuntu.md
new file mode 100644
index 000000000..5a25674d5
--- /dev/null
+++ b/content/includes/agent/installation/uninstall/uninstall-ubuntu.md
@@ -0,0 +1,22 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/uninstall.md
+ - content/nginx-one/agent/install-upgrade/uninstall.md
+---
+
+Complete the following steps on each host where you've installed NGINX Agent:
+
+1. Stop NGINX Agent:
+
+ ```shell
+ sudo systemctl stop nginx-agent
+ ```
+
+1. To uninstall NGINX Agent, run the following command:
+
+ ```shell
+ sudo apt-get remove nginx-agent
+ ```
+
+ {{< note >}} The `apt-get remove ` command will remove the package from your system, while keeping the associated configuration files for possible future use. If you want to completely remove the package and all of its configuration files, you should use `apt-get purge `. {{< /note >}}
\ No newline at end of file
diff --git a/content/includes/agent/installation/update-container.md b/content/includes/agent/installation/update-container.md
new file mode 100644
index 000000000..a974cfbce
--- /dev/null
+++ b/content/includes/agent/installation/update-container.md
@@ -0,0 +1,24 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/update.md
+ - content/nginx-one/agent/install-upgrade/update.md
+---
+
+To migrate NGINX Agent containers, we provide a script to convert NGINX Agent v2 config files to NGINX Agent v3 config files: [NGINX Agent Config Upgrade Script](https://github.com/nginx/agent/blob/v3/scripts/packages/upgrade-agent-config.sh)
+
+To upgrade the configuration, you can follow this example:
+
+```shell
+wget https://raw.githubusercontent.com/nginx/agent/refs/heads/v3/scripts/packages/upgrade-agent-config.sh
+./upgrade-agent-config.sh --v2-config-file=./nginx-agent-v2.conf --v3-config-file=nginx-agent-v3.conf
+```
+
+If your NGINX Agent container was previously a member of a config sync group, then your NGINX Agent config must be manually updated to add the config sync group label.
+See [Add Config Sync Group]({{< ref "/nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md" >}}) for more information.
+
+### Rolling back from NGINX Agent v3 to v2
+
+If you need to roll back your environment to NGINX Agent v2, the upgrade process creates a backup of the NGINX Agent v2 config in the file `/etc/nginx-agent/nginx-agent-v2-backup.conf`.
+
+Replace the contents of `/etc/nginx-agent/nginx-agent.conf` with the contents of `/etc/nginx-agent/nginx-agent-v2-backup.conf` and then reinstall an older version of NGINX Agent.
\ No newline at end of file
diff --git a/content/includes/agent/installation/update.md b/content/includes/agent/installation/update.md
new file mode 100644
index 000000000..6b6834ae7
--- /dev/null
+++ b/content/includes/agent/installation/update.md
@@ -0,0 +1,43 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/update.md
+ - content/nginx-one/agent/install-upgrade/update.md
+---
+
+
+{{< note >}} If you are using a version **older than NGINX Agent v2.31.0**, you must stop NGINX Agent before updating:
+
+ - `sudo systemctl stop nginx-agent`
+
+And start it again after the update:
+
+ - `sudo systemctl start nginx-agent`
+{{< /note >}}
+
+Follow the steps below to update NGINX Agent to the latest version.
+The same steps apply if you are **upgrading from NGINX Agent v2 to NGINX Agent v3**.
+
+1. Open an SSH connection to the server where you've installed NGINX Agent.
+
+1. Make a backup copy of the following locations to ensure that you can successfully recover if the upgrade does not complete
+ successfully:
+
+ - `/etc/nginx-agent`
+ - Every configuration directory specfied in `/etc/nginx-agent/nginx-agent.conf` as a `config_dirs` value
+
+1. Install the updated version of NGINX Agent:
+
+ - CentOS, RHEL, RPM-Based
+
+ ```shell
+ sudo yum -y makecache
+ sudo yum update -y nginx-agent
+ ```
+
+ - Debian, Ubuntu, Deb-Based
+
+ ```shell
+ sudo apt-get update
+ sudo apt-get install -y --only-upgrade nginx-agent -o Dpkg::Options::="--force-confold"
+ ```
diff --git a/content/includes/agent/installation/verify-agent.md b/content/includes/agent/installation/verify-agent.md
new file mode 100644
index 000000000..77facea04
--- /dev/null
+++ b/content/includes/agent/installation/verify-agent.md
@@ -0,0 +1,21 @@
+---
+docs:
+files:
+ - content/agent/install-upgrade/install-from-github.md
+ - content/agent/install-upgrade/install-from-oss-repo.md
+ - content/agent/install-upgrade/install-from-plus-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
+ - content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
+---
+
+Once you have installed NGINX Agent, you can verify that it is running with the
+following command:
+
+```shell
+sudo systemctl status nginx-agent
+```
+
+To check the version installed, run the following command:
+```shell
+sudo nginx-agent -v
+```
\ No newline at end of file
diff --git a/content/includes/agent/tech-specs.md b/content/includes/agent/tech-specs.md
new file mode 100644
index 000000000..129745c66
--- /dev/null
+++ b/content/includes/agent/tech-specs.md
@@ -0,0 +1,23 @@
+---
+docs:
+files:
+ - content/agent/tech-specs.md
+ - content/nginx-one/agent/overview/tech-specs.md
+---
+
+NGINX Agent is designed to operate efficiently on any system that meets the standard
+hardware requirements for running NGINX Plus itself. This ensures compatibility, stability,
+and performance aligned with the NGINX core platform:
+
+### Supported distributions
+
+{{< include "nginx-plus/supported-distributions.md" >}}
+
+To see the detailed technical specifications for NGINX Plus, refer to the official
+[NGINX Plus documentation]({{< ref "/nginx/technical-specs.md" >}}).
+
+
+### Recommended hardware
+
+For recommended hardware, see the
+[Sizing guide for deploying NGINX Plus on bare metal servers](https://www.f5.com/pdf/deployment-guide/Sizing-Guide-for-Deploying-NGINX-Plus-on-Bare-Metal-Servers-2019-11-09.pdf).
\ No newline at end of file
diff --git a/content/includes/agent/v3-available.md b/content/includes/agent/v3-available.md
new file mode 100644
index 000000000..66e5baff6
--- /dev/null
+++ b/content/includes/agent/v3-available.md
@@ -0,0 +1,12 @@
+---
+docs:
+files:
+ - content/nginx-one/agent/overview/about.md
+ - content/nginx-one/agent/changelog.md
+---
+
+{{}}
+NGINX Agent v3.0 is a major release that introduces new features and enhancements.
+
+Visit our [Update]({{< ref "/nginx-one/agent/install-upgrade/update.md" >}}) guide to install the latest version in your environment.
+{{}}
\ No newline at end of file
diff --git a/content/includes/nginx-one/add-file/new-ssl-bundle.md b/content/includes/nginx-one/add-file/new-ssl-bundle.md
index 4ba76c690..c078213e5 100644
--- a/content/includes/nginx-one/add-file/new-ssl-bundle.md
+++ b/content/includes/nginx-one/add-file/new-ssl-bundle.md
@@ -2,7 +2,7 @@
docs:
---
-First you can select the toggle to allow NGINX One Console to manaage the new certificate or bundle.
+First you can select the toggle to allow NGINX One Console to manage the new certificate or bundle.
In the screen that appears, you can add a certificate name. If you don't add a name, NGINX One will add a name for you, based on the expiration date for the certificate.
diff --git a/content/includes/nginx-plus/supported-distributions.md b/content/includes/nginx-plus/supported-distributions.md
new file mode 100644
index 000000000..86439439b
--- /dev/null
+++ b/content/includes/nginx-plus/supported-distributions.md
@@ -0,0 +1,20 @@
+---
+docs:
+---
+
+{{}}
+| Distribution | Supported on R33 | Supported on R32 |
+|-------------------------------------|-----------------------------------------------|-----------------------------------------------|
+| AlmaLinux | 8 (x86_64, aarch64)
9 (x86_64, aarch64) | 8 (x86_64, aarch64)
9 (x86_64, aarch64) |
+| Alpine Linux | 3.17 (x86_64, aarch64) **(deprecated)**
3.18 (x86_64, aarch64)
3.19 (x86_64, aarch64)
3.20 (x86_64, aarch64) **(new)** | 3.16 (x86_64, aarch64) **(deprecated)**
3.17 (x86_64, aarch64)
3.18 (x86_64, aarch64)
3.19 (x86_64, aarch64) |
+| Amazon Linux | 2023 (x86_64, aarch64) | 2023 (x86_64, aarch64) |
+| Amazon Linux 2 | LTS (x86_64, aarch64) | LTS (x86_64, aarch64) |
+| CentOS | **Not supported** | 7.4+ (x86_64) **(deprecated)** |
+| Debian | 11 (x86_64, aarch64)
12 (x86_64, aarch64) | 11 (x86_64, aarch64)
12 (x86_64, aarch64) |
+| FreeBSD | 13 (amd64)
14 (amd64) | 13 (amd64)
14 (amd64) |
+| Oracle Linux | 8.1+ (x86_64, aarch64)
9 (x86_64) | 7.4+ (x86_64) **(deprecated)**
8.1+ (x86_64, aarch64)
9 (x86_64) |
+| Red Hat Enterprise Linux (RHEL) | 8.1+ (x86_64, aarch64)
9.0+ (x86_64, aarch64) | 7.4+ (x86_64) **(deprecated)**
8.1+ (x86_64, aarch64)
9.0+ (x86_64, aarch64) |
+| Rocky Linux | 8 (x86_64, aarch64)
9 (x86_64, aarch64) | 8 (x86_64, aarch64)
9 (x86_64, aarch64) |
+| SUSE Linux Enterprise Server (SLES) | 12 SP5 (x86_64) **(deprecated)**
15 SP2+ (x86_64) | 12 SP5 (x86_64)
15 SP2+ (x86_64) |
+| Ubuntu | 20.04 LTS (x86_64, aarch64)
22.04 LTS (x86_64, aarch64)
24.04 LTS (x86_64, aarch64) | 20.04 LTS (x86_64, aarch64)
22.04 LTS (x86_64, aarch64)
24.04 LTS (x86_64, aarch64 **(new)** |
+{{}}
\ No newline at end of file
diff --git a/content/nginx-one/_index.md b/content/nginx-one/_index.md
index 12ff811af..a43857682 100644
--- a/content/nginx-one/_index.md
+++ b/content/nginx-one/_index.md
@@ -9,7 +9,7 @@ cascade:
{{< card-layout >}}
{{< card-section >}}
{{< card title="Manage your NGINX fleet" >}}
- Simplify, scale, secure, and collaborate with your NGINX fleet
+ Simplify, scale, secure, and collaborate with your NGINX fleet
{{ card >}}
{{< card title="Get started" >}}
See benefits from the NGINX One Console
@@ -24,50 +24,53 @@ cascade:
Work with Staged Configurations
{{ card >}}
{{< card title="Set up metrics" >}}
- Review your deployments in a dashboard
+ Review your deployments in a dashboard
{{ card >}}
{{< card title="Organize users with RBAC" >}}
- Assign responsibilities with role-based access control
+ Assign responsibilities with role-based access control
{{ card >}}
{{< card title="Automate with the NGINX One API" >}}
- Manage your NGINX fleet over REST
+ Manage your NGINX fleet over REST
+ {{ card >}}
+ {{< card title="NGINX Agent" >}}
+ Learn about the NGINX Agent
{{ card >}}
{{< card title="Glossary" >}}
- Learn terms unique to NGINX One Console
+ Learn terms unique to NGINX One Console
{{ card >}}
{{< card title="Changelog" >}}
{{< changelog-dates >}}
{{ card >}}
{{ card-section >}}
- # Other Products
+ # 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.
+ Kubernetes traffic management with API gateway, identity, and observability features.
{{ card >}}
{{< card title="NGINX Gateway Fabric" titleUrl="/nginx-gateway-fabric" icon="NGINX-product-icon">}}
- Next generation Kubernetes connectivity using the Gateway API.
+ Next generation Kubernetes connectivity using the Gateway API.
{{ card >}}
{{ card-section >}}
{{< 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.
+ Track and control NGINX Open Source and NGINX Plus instances.
{{ card >}}
{{ card-section >}}
{{< 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.
+ The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway.
{{ card >}}
{{< 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
+ The open source all-in-one load balancer, content cache, and web server
{{ card >}}
{{ card-section >}}
{{< 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.
+ Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs.
{{ card >}}
{{< 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.
+ Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs.
{{ card >}}
{{ card-section >}}
{{ card-layout >}}
\ No newline at end of file
diff --git a/content/nginx-one/agent/_index.md b/content/nginx-one/agent/_index.md
new file mode 100644
index 000000000..159229def
--- /dev/null
+++ b/content/nginx-one/agent/_index.md
@@ -0,0 +1,6 @@
+---
+title: NGINX Agent
+description: Learn about NGINX Agent, its features, and how to install it.
+weight: 750
+url: /nginx-one/agent/
+---
diff --git a/content/nginx-one/agent/changelog.md b/content/nginx-one/agent/changelog.md
new file mode 100644
index 000000000..2b22707ba
--- /dev/null
+++ b/content/nginx-one/agent/changelog.md
@@ -0,0 +1,246 @@
+---
+title: "Releases"
+weight: 1200
+toc: true
+docs: "DOCS-1093"
+---
+
+{{< note >}}You can find the full list of NGINX Agent releases, contributor list and assets for NGINX Agent in the [GitHub repository](https://github.com/nginx/agent/releases).{{< /note >}}
+
+See the list of supported Operating Systems and architectures in the [Technical Specifications]({{< ref "/nginx-one/agent/overview/tech-specs.md" >}}).
+
+---
+## Release [v3.0.0](https://github.com/nginx/agent/releases/tag/v3.0.0)
+
+### π Highlights
+
+- **NGINX Agent v3 and Management Plane Interface (MPI)**: NGINX Agent v3 is here! This release is a major milestone aimed at simplifying the management, monitoring, and scaling of your NGINX instances. With enhanced integrations, improved observability features, and support for modern orchestrated environments like Kubernetes.
+
+### π Features
+
+This release introduces the following new features:
+
+- **Enhanced Kubernetes Integration with Management Plane Interface (MPI)**: NGINX Agent now offers full integration with Kubernetes-native products, such as the [NGINX Ingress Controller](https://docs.nginx.com/nginx-ingress-controller/) and [NGINX Gateway Fabric](https://docs.nginx.com/nginx-gateway-fabric), enabling seamless fleet management, real-time observability, and smooth interoperability across Kubernetes deployments. This is powered by the Management Plane Interface (MPI), a standardized interface designed to provide a unified and consistent experience across NGINX solutions, with built-in support for Kubernetes-based applications. For detailed technical specifications, refer to the official Protocol Documentation .
+
+### π Documentation
+
+We have made the following updates to the documentation:
+
+- [Official NGINX Agent documentation](https://docs.nginx.com/nginx-agent/)
+- [F5 Support](https://my.f5.com/manage/s/)
+
+---
+## Release [v2.41.1](https://github.com/nginx/agent/releases/tag/v2.41.1)
+
+### π Features
+
+This release introduces the following new features:
+
+- Fix remotely enabling/disabling features by [@dhurley](https://github.com/dhurley) in [#1088](https://github.com/nginx/agent/pull/1088)
+
+---
+## Release [v2.41.0](https://github.com/nginx/agent/releases/tag/v2.41.0)
+
+### π Documentation
+
+We have made the following updates to the documentation:
+
+- Update agent landing page and readme by [@nginx-seanmoloney](https://github.com/nginx-seanmoloney) in [#1017](https://github.com/nginx/agent/pull/1017)
+- Update dependencies by [@dhurley](https://github.com/dhurley) in [#1026](https://github.com/nginx/agent/pull/1026)
+- Update net and nats dependencies by [@dhurley](https://github.com/dhurley) in [#1070](https://github.com/nginx/agent/pull/1070)
+
+### π¨ Maintenance
+
+We have made the following maintenance-related minor changes:
+
+- Merge v2.40.1 back to main by [@dhurley](https://github.com/dhurley) in [#1049](https://github.com/nginx/agent/pull/1049)
+
+---
+## Release [v2.40.1](https://github.com/nginx/agent/releases/tag/v2.40.1)
+
+### π Bug Fixes
+
+In this release we have resolved the following issues:
+
+- Add nil pointer check to GenerateMetricsReportBundle by [@dhurley](https://github.com/dhurley) in [#1047](https://github.com/nginx/agent/pull/1047)
+
+---
+## Release [v2.40.0](https://github.com/nginx/agent/releases/tag/v2.40.0)
+
+### π Highlights
+
+- The source code for the [NGINX Agent documentation](https://docs.nginx.com/nginx-agent/) has moved to the [NGINX Documentation](https://github.com/nginx/documentation/) repository. We invite you to [contribute](https://github.com/nginx/documentation/blob/main/CONTRIBUTING.md), improve the Agent docs and report any issues you find in the documentation repository.
+
+### π Bug Fixes
+
+In this release we have resolved the following issues:
+
+- Lua config apply by [@oliveromahony](https://github.com/oliveromahony) in [#963](https://github.com/nginx/agent/pull/963)
+- Fix release workflow by [@dhurley](https://github.com/dhurley) in [#991](https://github.com/nginx/agent/pull/991)
+
+### π Documentation
+
+We have made the following updates to the documentation:
+
+- Docs: updating links from /nginx-management-suite/nim to /nginx-instance-manager by [@nginx-aoife](https://github.com/nginx-aoife) in [#927](https://github.com/nginx/agent/pull/927)
+- Autodeploy main docs to production by [@nginx-jack](https://github.com/nginx-jack) in [#924](https://github.com/nginx/agent/pull/924)
+- docs: remove docs by [@JTorreG](https://github.com/JTorreG) in [#976](https://github.com/nginx/agent/pull/976)
+- Add a docs page to explain NGINX Agent features by [@nginx-seanmoloney](https://github.com/nginx-seanmoloney) in [#941](https://github.com/nginx/agent/pull/941)
+- docs: Fix NGINX install link and dockerfile section by [@JTorreG](https://github.com/JTorreG) in [#928](https://github.com/nginx/agent/pull/928)
+
+### π¨ Maintenance
+
+We have made the following maintenance-related minor changes:
+
+- Fail release job if packages fail to publish by [@dhurley](https://github.com/dhurley) in [#923](https://github.com/nginx/agent/pull/923)
+- Update performance test Dockerfile to use NGINX R32 by [@dhurley](https://github.com/dhurley) in [#937](https://github.com/nginx/agent/pull/937)
+- Updated golang.org/x/net version by [@oliveromahony](https://github.com/oliveromahony) in [#954](https://github.com/nginx/agent/pull/954)
+- Update performance test dependencies by [@dhurley](https://github.com/dhurley) in [#984](https://github.com/nginx/agent/pull/984)
+- Refactor integration tests by [@dhurley](https://github.com/dhurley) in [#985](https://github.com/nginx/agent/pull/985)
+- Update dependencies by [@dhurley](https://github.com/dhurley) in [#98](https://github.com/nginx/agent/pull/98)
+- Updated the crypto library version by [@oliveromahony](https://github.com/oliveromahony) in [#947](https://github.com/nginx/agent/pull/947)
+
+---
+## Release [v2.39.0](https://github.com/nginx/agent/releases/tag/v2.39.0)
+
+### π Highlights
+
+- Remove official docker images & move testing images to test folder by [@aphralG](https://github.com/aphralG) in [#838](https://github.com/nginx/agent/pull/838)
+
+### π Bug Fixes
+
+In this release we have resolved the following issues:
+
+- Race conditions fixes by [@oliveromahony](https://github.com/oliveromahony) in [#810](https://github.com/nginx/agent/pull/810)
+- fix r30 pipeline failures by [@oliveromahony](https://github.com/oliveromahony) in [#844](https://github.com/nginx/agent/pull/844)
+- Fixed make target pointing at wrong Dockerfile and renamed others to be consistent by [@oliveromahony](https://github.com/oliveromahony) in [#857](https://github.com/nginx/agent/pull/857)
+- Fix broken links causing deployment failures by [@ADubhlaoich](https://github.com/ADubhlaoich) in [#863](https://github.com/nginx/agent/pull/863)
+- Fix NGINX OSS integration tests by [@dhurley](https://github.com/dhurley) in [#888](https://github.com/nginx/agent/pull/888)
+- Fix docs docker failing without git context by [@nginx-jack](https://github.com/nginx-jack) in [#892](https://github.com/nginx/agent/pull/892)
+
+### π Documentation
+
+We have made the following updates to the documentation:
+
+- Add automatic changelog generation in release workflow by [@spencerugbo](https://github.com/spencerugbo) in [#784](https://github.com/nginx/agent/pull/784)
+- Add CLA bot workflow by [@lucacome](https://github.com/lucacome) in [#828](https://github.com/nginx/agent/pull/828)
+- Refactor docker images by [@nginx-seanmoloney](https://github.com/nginx-seanmoloney) in [#841](https://github.com/nginx/agent/pull/841)
+- Docs: Add hugo version check and theme update to Makefile by [@nginx-jack](https://github.com/nginx-jack) in [#869](https://github.com/nginx/agent/pull/869)
+- Change casing of docs makefile to Makefile by [@nginx-jack](https://github.com/nginx-jack) in [#884](https://github.com/nginx/agent/pull/884)
+- docs: enableGitInfo config and docs-action bump by [@nginx-jack](https://github.com/nginx-jack) in [#886](https://github.com/nginx/agent/pull/886)
+- Change go version to latest go 1.23.2 by [@oliveromahony](https://github.com/oliveromahony) in [#889](https://github.com/nginx/agent/pull/889)
+- Remove link to github dockerfiles by [@nginx-seanmoloney](https://github.com/nginx-seanmoloney) in [#897](https://github.com/nginx/agent/pull/897)
+- Docs: Update link to 3rd party site by [@nginx-aoife](https://github.com/nginx-aoife) in [#898](https://github.com/nginx/agent/pull/898)
+- Update the changelog for v2.38 by [@ADubhlaoich](https://github.com/ADubhlaoich) in [#901](https://github.com/nginx/agent/pull/901)
+
+### π¨ Maintenance
+
+We have made the following maintenance-related minor changes:
+
+- Set log level to debug for inetegration tests by [@aphralG](https://github.com/aphralG) in [#826](https://github.com/nginx/agent/pull/826)
+- updated runc dependency highlighted in security scan scan by [@oliveromahony](https://github.com/oliveromahony) in [#842](https://github.com/nginx/agent/pull/842)
+- Update CODEOWNERS by [@oCHRISo](https://github.com/oCHRISo) in [#851](https://github.com/nginx/agent/pull/851)
+- Check version command output by [@aphralG](https://github.com/aphralG) in [#853](https://github.com/nginx/agent/pull/853)
+- Bump NGINX plus go client version from v1 to v2 by [@dhurley](https://github.com/dhurley) in [#879](https://github.com/nginx/agent/pull/879)
+- Allowlist Error Messages by [@aphralG](https://github.com/aphralG) in [#907](https://github.com/nginx/agent/pull/907)
+
+---
+## Release [v2.38.0](https://github.com/nginx/agent/releases/tag/v2.38.0)
+
+### π Bug Fixes
+
+In this release we have resolved the following issues:
+
+- Fix broken URLS in docs by [@nginx-aoife](https://github.com/nginx-aoife) in [#796](https://github.com/nginx/agent/pull/796)
+- fix name of deprecated flag by [@aphralG](https://github.com/aphralG) in [#811](https://github.com/nginx/agent/pull/811)
+- Fix make image targets by [@dhurley](https://github.com/dhurley) in [#812](https://github.com/nginx/agent/pull/812)
+- Fix debian oss image by [@dhurley](https://github.com/dhurley) in [#819](https://github.com/nginx/agent/pull/819)
+
+### π Documentation
+
+We have made the following updates to the documentation:
+
+- docs: update GPG keys by [@Jcahilltorre](https://github.com/Jcahilltorre) in [#776](https://github.com/nginx/agent/pull/776)
+- Add new docker images to v2 pipeline for integration testing by [@oliveromahony](https://github.com/oliveromahony) in [#756](https://github.com/nginx/agent/pull/756)
+- Update website changelog for v2.37.0 by [@ADubhlaoich](https://github.com/ADubhlaoich) in [#790](https://github.com/nginx/agent/pull/790)
+- Pass on custom error log path at the time of validating config by [@achawla2012](https://github.com/achawla2012) in [#774](https://github.com/nginx/agent/pull/774)
+- Remove blocking calls in metrics framework by [@oliveromahony](https://github.com/oliveromahony) in [#788](https://github.com/nginx/agent/pull/788)
+- Update broken URL in installation-plus.md by [@nginx-aoife](https://github.com/nginx-aoife) in [#808](https://github.com/nginx/agent/pull/808)
+
+### π¨ Maintenance
+
+We have made the following maintenance-related minor changes:
+
+- add new plus docker images to v2 pipeline by [@aphralG](https://github.com/aphralG) in [#779](https://github.com/nginx/agent/pull/779)
+- Add MaxRecvMsgSize and MaxSendMsgSize to client and server options by [@oliveromahony](https://github.com/oliveromahony) in [#795](https://github.com/nginx/agent/pull/795)
+- added leak tests for agent v2 by [@oliveromahony](https://github.com/oliveromahony) in [#807](https://github.com/nginx/agent/pull/807)
+
+---
+## Release [v2.37.0](https://github.com/nginx/agent/releases/tag/v2.37.0)
+
+### π Features
+
+This release introduces the following new features:
+
+- feat: Update the changelog by [@ADubhlaoich](https://github.com/ADubhlaoich) in [#753](https://github.com/nginx/agent/pull/753)
+
+### π Bug Fixes
+
+In this release we have resolved the following issues:
+
+- Prevent writing outside allowed directories list from a config payload with actions by [@oliveromahony](https://github.com/oliveromahony) in [#766](https://github.com/nginx/agent/pull/766)
+- The letter v is now always prepended to output of -v by [@olli-holmala](https://github.com/olli-holmala) in [#751](https://github.com/nginx/agent/pull/751)
+- Fix backoff to drop Metrics Reports from buffer after max_elapsed_time has been reached by [@oliveromahony](https://github.com/oliveromahony) in [#752](https://github.com/nginx/agent/pull/752)
+- Fix Post Install Script Issues by [@spencerugbo](https://github.com/spencerugbo) in [#739](https://github.com/nginx/agent/pull/739)
+- docs: fix github links in changelog by [@Jcahilltorre](https://github.com/Jcahilltorre) in [#770](https://github.com/nginx/agent/pull/770)
+- Fix post install script for when no nginx instance is installed by [@dhurley](https://github.com/dhurley) in [#773](https://github.com/nginx/agent/pull/773)
+
+### π Documentation
+
+We have made the following updates to the documentation:
+
+- Upgrade prometheus exporter version to latest by [@oliveromahony](https://github.com/oliveromahony) in [#749](https://github.com/nginx/agent/pull/749)
+- Add badges for Go version, release, license, contributions, and Slack⦠by [@oCHRISo](https://github.com/oCHRISo) in [#763](https://github.com/nginx/agent/pull/763)
+- Add instructions for Amazon Linux 2023 by [@nginx-seanmoloney](https://github.com/nginx-seanmoloney) in [#759](https://github.com/nginx/agent/pull/759)
+- Add docs-build-push github workflow by [@nginx-jack](https://github.com/nginx-jack) in [#765](https://github.com/nginx/agent/pull/765)
+
+### π¨ Maintenance
+
+We have made the following maintenance-related minor changes:
+
+- Increase timeout period for collecting metrics by [@oliveromahony](https://github.com/oliveromahony) in [#755](https://github.com/nginx/agent/pull/755)
+
+---
+## Release [v2.36.1](https://github.com/nginx/agent/releases/tag/v2.36.1)
+
+### π Highlights
+
+- Upgrade crossplane version to prevent Agent from rolling back in the case of valid NGINX configurations by [@oliveromahony](https://github.com/oliveromahony) in [#746](https://github.com/nginx/agent/pull/746)
+
+### π¨ Maintenance
+
+We have made the following maintenance-related minor changes:
+
+- Added version regex to parse the logs to see if matches vsemvar format by [@oliveromahony](https://github.com/oliveromahony) in [#747](https://github.com/nginx/agent/pull/747)
+
+---
+## Release [v2.36.0](https://github.com/nginx/agent/releases/tag/v2.36.0)
+
+### π Bug Fixes
+
+In this release we have resolved the following issues:
+
+- Fix incorrect bold tag in heading by [@nginx-seanmoloney](https://github.com/nginx-seanmoloney) in [#715](https://github.com/nginx/agent/pull/715)
+- URL fix for building docker image in README.md by [@y82](https://github.com/y82) in [#720](https://github.com/nginx/agent/pull/720)
+- Fix for version by [@oliveromahony](https://github.com/oliveromahony) in [#732](https://github.com/nginx/agent/pull/732)
+
+### π Documentation
+
+We have made the following updates to the documentation:
+
+- More flexible container images for the official images by [@oliveromahony](https://github.com/oliveromahony) in [#729](https://github.com/nginx/agent/pull/729)
+- Update configuration examples by [@nginx-seanmoloney](https://github.com/nginx-seanmoloney) in [#731](https://github.com/nginx/agent/pull/731)
+- updated github.com/rs/cors version by [@oliveromahony](https://github.com/oliveromahony) in [#735](https://github.com/nginx/agent/pull/735)
+- docs: update changelog by [@Jcahilltorre](https://github.com/Jcahilltorre) in [#736](https://github.com/nginx/agent/pull/736)
+- Upgrade crossplane by [@oliveromahony](https://github.com/oliveromahony) in [#737](https://github.com/nginx/agent/pull/737)
+
diff --git a/content/nginx-one/agent/community/_index.md b/content/nginx-one/agent/community/_index.md
new file mode 100644
index 000000000..aa967306e
--- /dev/null
+++ b/content/nginx-one/agent/community/_index.md
@@ -0,0 +1,5 @@
+---
+title: "Community"
+weight: 600
+url: /nginx-one/agent/community/
+---
\ No newline at end of file
diff --git a/content/nginx-one/agent/community/community.md b/content/nginx-one/agent/community/community.md
new file mode 100644
index 000000000..ddaa1a6cb
--- /dev/null
+++ b/content/nginx-one/agent/community/community.md
@@ -0,0 +1,20 @@
+---
+title: "Community and contribution"
+toc: true
+weight: 600
+docs: DOCS-000
+---
+
+Discover the various ways you can participate in the F5 NGINX Agent project:
+
+## Community
+
+- Have questions or ideas to discuss? Join the conversation about NGINX Agent in the [NGINX Community Forum](https://community.nginx.org/).
+
+## Contribute
+
+Get involved with the project by contributing! See our [contributing guide](https://github.com/nginx/agent/blob/main/CONTRIBUTING.md) for details.
+
+## License
+
+[Apache License, Version 2.0](https://github.com/nginx/agent/blob/main/LICENSE)
diff --git a/content/nginx-one/agent/configure-instance-reporting/_index.md b/content/nginx-one/agent/configure-instance-reporting/_index.md
new file mode 100644
index 000000000..daac817e1
--- /dev/null
+++ b/content/nginx-one/agent/configure-instance-reporting/_index.md
@@ -0,0 +1,5 @@
+---
+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-instance-reporting/configuration-overview.md b/content/nginx-one/agent/configure-instance-reporting/configuration-overview.md
new file mode 100644
index 000000000..df2d72a94
--- /dev/null
+++ b/content/nginx-one/agent/configure-instance-reporting/configuration-overview.md
@@ -0,0 +1,86 @@
+---
+title: "Configuration overview"
+toc: true
+weight: 300
+docs: DOCS-1229
+---
+
+This page describes how to configure F5 NGINX Agent using configuration files, CLI (Command line interface) flags, and environment variables.
+
+{{}}
+
+- 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.
+
+- You must open any required firewall ports or add SELinux/AppArmor rules for the ports and IPs you want to use.
+
+{{}}
+
+## Configuration via Configuration Files
+
+The NGINX Agent configuration file is created using a YAML structure and can be found in `/etc/nginx-agent/nginx-agent.conf`
+
+1. Edit the configuration file `sudo vim /etc/nginx-agent/nginx-agent.conf`
+2. Add the log property
+```bash
+log:
+ level: debug
+```
+3. Save and exit
+4. `sudo systemctl restart nginx-agent`
+
+## Configuration via CLI Parameters
+
+From a command line terminal:
+```bash
+sudo nginx-agent \
+ --log-level=debug
+```
+
+## Configuration via Environment Variables
+Environment variables are another way to set configuration values, especially in containerized deployments or CI/CD pipelines.
+
+```bash
+sudo docker run \
+ --env=NGINX_AGENT_LOG_LEVEL=debug \
+ -d agent
+```
+
+NGINX Agent configuration options
+
+{{< bootstrap-table "table table-striped table-bordered" >}}
+| **Environment Variable** | **Command-Line Option** | **Description** | **Default Value** |
+|--------------------------------------------------|---------------------------------------------------|--------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|
+| NGINX_AGENT_LOG_LEVEL | --log-level | The desired verbosity level for logging messages from nginx-agent. Available options: panic, fatal, error, info, and debug. | info |
+| NGINX_AGENT_LOG_PATH | --log-path | The path to output log messages to. If the default path doesn't exist, logs are output to stdout/stderr. | /var/log/nginx-agent/nginx-agent.log |
+| NGINX_AGENT_DATA_PLANE_NGINX_RELOAD_MONITORING_PERIOD | --data-plane-config-nginx-reload-monitoring-period | The amount of time used to monitor NGINX after a configuration reload (units in seconds). | N/A |
+| NGINX_AGENT_DATA_PLANE_NGINX_TREAT_WARNINGS_AS_ERRORS | --data-plane-config-nginx-treat-warnings-as-errors | Warning messages in the NGINX error logs are treated as errors after a configuration reload. | N/A |
+| NGINX_AGENT_DATA_PLANE_NGINX_EXCLUDE_LOGS | --data-plane-config-nginx-exclude-logs | Specify one or more log paths to exclude from metrics collection and error monitoring (Unix PATH format). | N/A |
+| NGINX_AGENT_ALLOWED_DIRECTORIES | --allowed-directories | A comma-separated list of paths granting read/write permissions for the agent. | N/A |
+| NGINX_AGENT_FEATURES | --features | Comma-separated list of features enabled for the agent. | N/A |
+| NGINX_AGENT_LABELS | --labels | A comma-separated list of key-value pairs defining agent labels (e.g., grouping). | N/A |
+| NGINX_AGENT_COMMAND_SERVER_HOST | --command-server-host | Specifies target hostname for the command and control server. | N/A |
+| NGINX_AGENT_COMMAND_SERVER_PORT | --command-server-port | Specifies the port of the command and control server. | N/A |
+| NGINX_AGENT_COMMAND_AUTH_TOKEN | --command-auth-token | Authentication token used to establish communication with the command server. | N/A |
+| NGINX_AGENT_COMMAND_AUTH_TOKENPATH | --command-auth-tokenpath | File path for the authentication token used with the server. | N/A |
+| NGINX_AGENT_COMMAND_TLS_CERT | --command-tls-cert | Certificate file path required for TLS communication. | N/A |
+| NGINX_AGENT_COMMAND_TLS_KEY | --command-tls-key | Certificate key file path required for TLS communication. | N/A |
+| NGINX_AGENT_COMMAND_TLS_CA | --command-tls-ca | CA certificate file path for TLS communication. | N/A |
+| NGINX_AGENT_COMMAND_TLS_SKIP_VERIFY | --command-tls-skip-verify | **For Testing Only:** Disables client-side verification of the server's certificate chain and hostname. | N/A |
+| NGINX_AGENT_COMMAND_TLS_SERVER_NAME | --command-tls-server-name | Specifies server name sent in the TLS handshake configuration. | N/A |
+| NGINX_AGENT_INSTANCE_WATCHER_MONITORING_FREQUENCY | --instance-watcher-monitoring-frequency | Frequency (in seconds) for instance monitoring. | N/A |
+| NGINX_AGENT_HEALTH_WATCHER_MONITORING_FREQUENCY | --health-watcher-monitoring-frequency | Frequency (in seconds) for monitoring NGINX health changes. | N/A |
+| NGINX_AGENT_FILE_WATCHER_MONITORING_FREQUENCY | --file-watcher-monitoring-frequency | Frequency (in seconds) for monitoring file changes. | N/A |
+| NGINX_AGENT_COLLECTOR_CONFIG_PATH | --collector-config-path | Path to OpenTelemetry (OTel) Collector configuration file. | /etc/nginx-agent/opentelemetry-collector-agent.yaml |
+| NGINX_AGENT_COLLECTOR_EXTENSIONS_HEALTH_PATH | --collector-extensions-health-path | Path configured for health check server communication with OTel Collector. | / |
+| NGINX_AGENT_COLLECTOR_EXTENSIONS_SERVER_HOST | --collector-extensions-health-server-host | Hostname for publishing health check statuses of OTel Collector. | localhost |
+| NGINX_AGENT_COLLECTOR_EXTENSIONS_SERVER_PORT | --collector-extensions-health-server-port | Port for publishing health check statuses of OTel Collector. | 13133 |
+| NGINX_AGENT_COLLECTOR_EXTENSIONS_TLS_CA | --collector-extensions-health-tls-ca | CA certificate file path for TLS communication with OTel health server. | N/A |
+| NGINX_AGENT_COLLECTOR_EXTENSIONS_TLS_CERT | --collector-extensions-health-tls-cert | TLS Certificate file path for communication with OTel health server. | N/A |
+| NGINX_AGENT_COLLECTOR_EXTENSIONS_TLS_KEY | --collector-extensions-health-tls-key | File path for TLS key used when connecting with OTel health server. | N/A |
+| NGINX_AGENT_COLLECTOR_PROCESSORS_BATCH_SEND_BATCH_TIMEOUT | --collector-processors-batch-send-batch-timeout | Maximum time duration for sending batch data metrics regardless of size. | 200ms
+{{< /bootstrap-table >}} |%
+
\ No newline at end of file
diff --git a/content/nginx-one/agent/configure-instance-reporting/configure-agent-group.md b/content/nginx-one/agent/configure-instance-reporting/configure-agent-group.md
new file mode 100644
index 000000000..dbfd3c6dd
--- /dev/null
+++ b/content/nginx-one/agent/configure-instance-reporting/configure-agent-group.md
@@ -0,0 +1,87 @@
+---
+title: "Add users to nginx-agent group"
+toc: true
+weight: 400
+docs: DOCS-000
+---
+
+This page describes how the F5 NGINX Agent process interacts with the NGINX user on a system, and how to add users to the NGINX Agent group.
+
+## Overview
+
+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.
+
+A failure to update the `nginx-agent` group when the NGINX username changes may result in non-compliance errors for NGINX Plus.
+
+---
+
+## NGINX socket
+
+NGINX Agent creates a socket in the default location `/var/run/nginx-agent/nginx.sock`. You can customize this location by editing the `nginx-agent.conf` file and setting the path similar to the following example:
+
+```nginx configuration
+nginx:
+ ...
+ socket: "unix:/var/run/nginx-agent/nginx.sock"
+```
+
+The socket server starts when the NGINX socket configuration is enabled; the socket configuration is enabled by default.
+
+---
+
+## Add NGINX Users to nginx-agent group
+
+To manually add NGINX users to the `nginx-agent` group, take the following steps:
+
+1. Verify the `nginx-agent` group exists:
+
+ ```shell
+ sudo getent group | grep nginx-agent
+ ```
+
+ The output looks similar to the following example:
+
+ ```shell
+ nginx-agent:x:1001:root,nginx
+ ```
+
+ If the group doesn't exist, create it by running the following command:
+
+ ```shell
+ sudo groupadd nginx-agent
+ ```
+
+2. Verify the ownership of `/var/run/nginx-agent` directory:
+
+ ```shell
+ ls -l /var/run/nginx-agent
+ ```
+
+ The output looks similar to the following:
+
+ ```shell
+ total 0
+ srwxrwxr-x 1 root nginx-agent 0 Jun 13 10:51 nginx.sockvv
+ ```
+
+ If the group ownership is not `nginx-agent`, change the ownership by running the following command:
+
+ ```shell
+ sudo chown :nginx-agent /var/run/nginx-agent
+ ```
+
+3. To add NGINX user(s) to the `nginx-agent` group, run the following command:
+
+ ```shell
+ sudo usermod -a -G nginx-agent
+ ```
+
+ For example to add the `nginx` user, take the following step:
+
+ ```shell
+ sudo usermod -a -G nginx-agent nginx
+ ```
+
+ Repeat for all NGINX users.
diff --git a/content/nginx-one/agent/containers/_index.md b/content/nginx-one/agent/containers/_index.md
new file mode 100644
index 000000000..d74d0a2c4
--- /dev/null
+++ b/content/nginx-one/agent/containers/_index.md
@@ -0,0 +1,5 @@
+---
+title: "Containers"
+weight: 300
+url: /nginx-one/agent/containers/
+---
\ No newline at end of file
diff --git a/content/nginx-one/agent/containers/run-agent-container.md b/content/nginx-one/agent/containers/run-agent-container.md
new file mode 100644
index 000000000..27c1df8ed
--- /dev/null
+++ b/content/nginx-one/agent/containers/run-agent-container.md
@@ -0,0 +1,105 @@
+---
+title: "Run the NGINX Agent in a container"
+weight: 100
+toc: true
+type: how-to
+product: Agent
+---
+
+## Overview
+
+This guide serves as a step-by-step guide to run NGINX Agent in a container. It covers the basic setup needed to get the NGINX Agent up and running efficiently and securely.
+
+## Before you begin
+
+Before you begin this guide ensure:
+
+{{< note >}}
+This guide uses Docker but NGINX Agent also works with other container applications.
+{{< /note >}}
+
+- **Docker:** Ensure Docker is installed and configured on your system. [Download Docker from the official site](https://www.docker.com/products/docker-desktop/).
+- **Credentials:** Acquire any necessary authentication tokens or credentials required for the NGINX Agent.
+
+## Prepare the environment
+
+To run NGINX Agent in a container you will need to download the NGINX Agent
+container image and create a configuration file.
+
+### Pull the NGINX Agent container image
+
+The NGINX Agent container image must be downloaded from a trusted source such as Docker Hub or a private container registry.
+
+Run the following command to pull the official image:
+
+```bash
+
+docker pull :latest
+```
+
+Ensure you are using the correct image version. Replace `latest` with the desired version tag if necessary.
+
+
+### Create a configuration file
+
+Create a configuration file named `nginx-agent.conf` in your current directory
+and populate the file with the following structure:
+
+```yaml
+command:
+ server:
+ host: "" # Command server host
+ port: 443 # Command server port
+ auth:
+ token: "" # Authentication token for the command server
+ tls:
+ skip_verify: false
+```
+
+Replace the placeholder values:
+
+- ``: The URL of your NGINX One Console instance.
+- ``: Your Data Plane access token.
+
+
+## Run the container
+
+Run the NGINX Agent container with the configuration file mounted.
+
+Use the following command:
+
+```bash
+docker run -d \
+ --name nginx-agent \
+ -v $(pwd)/nginx-agent.conf:/etc/nginx-agent/nginx-agent.conf \
+ nginx/agent:latest
+```
+
+Key options explained:
+
+- `-d`: Runs the container in detached mode.
+- `--name nginx-agent`: Assigns a name to the container for easy identification.
+- `-v $(pwd)/nginx-agent.conf:/etc/nginx-agent/nginx-agent.conf`: Mounts the configuration file into the container.
+
+
+### Verify the container is running
+
+Check the running status of the container:
+
+```bash
+docker ps
+```
+
+You should see an entry for `nginx-agent`. The `STATUS` field indicates that the container is running.
+
+### Monitor logs
+
+To ensure the container is functioning properly and communicating with NGINX One Console, monitor the container logs.
+
+Run the following command:
+
+```bash
+docker logs -f nginx-agent
+```
+
+Look for log entries indicating successful connection to the NGINX One Console and periodic metric transmission.
diff --git a/content/nginx-one/agent/install-upgrade/_index.md b/content/nginx-one/agent/install-upgrade/_index.md
new file mode 100644
index 000000000..0224aada9
--- /dev/null
+++ b/content/nginx-one/agent/install-upgrade/_index.md
@@ -0,0 +1,5 @@
+---
+title: "Install and update"
+weight: 200
+url: /nginx-one/agent/install-upgrade/
+---
\ No newline at end of file
diff --git a/content/nginx-one/agent/install-upgrade/install-from-github.md b/content/nginx-one/agent/install-upgrade/install-from-github.md
new file mode 100644
index 000000000..df7eb8436
--- /dev/null
+++ b/content/nginx-one/agent/install-upgrade/install-from-github.md
@@ -0,0 +1,72 @@
+---
+title: Install from GitHub package files
+toc: true
+weight: 300
+docs: DOCS-000
+---
+
+{{< note >}}
+If you are using [NGINX One Console]({{< ref "/nginx-one/getting-started.md" >}})
+to manage your NGINX instances, NGINX Agent is installed automatically when you
+add an NGINX instance to NGINX One Console.
+
+For a quick guide on how to connect your instance to NGINX One Console see: [Connect to NGINX One Console]({{< ref "/nginx-one/connect-instances/add-instance.md" >}})
+{{< /note >}}
+
+Follow the steps in this guide to install NGINX Agent in your NGINX instance using
+GitHub package files.
+
+## Before you begin
+
+{{< include "/agent/installation/prerequisites.md" >}}
+
+## GitHub package files
+
+To install NGINX Agent on your system using GitHub package files, go to the
+[GitHub releases page](https://github.com/nginx/agent/releases) and download the
+latest package supported by your operating system distribution and CPU architecture.
+
+Use your system's package manager to install the package. Some examples:
+
+- Debian, Ubuntu, and other distributions using the `dpkg` package manager.
+
+ ```shell
+ sudo dpkg -i nginx-agent-.deb
+ ```
+
+- RHEL, CentOS RHEL, Amazon Linux, Oracle Linux, and other distributions using
+ the `yum` package manager
+
+ ```shell
+ sudo yum localinstall nginx-agent-.rpm
+ ```
+
+- RHEL and other distributions using the `rpm` package manager
+
+ ```shell
+ sudo rpm -i nginx-agent-.rpm
+ ```
+
+- Alpine Linux
+
+ ```shell
+ sudo apk add nginx-agent-.apk
+ ```
+
+- FreeBSD
+
+ ```shell
+ sudo pkg add nginx-agent-.pkg
+ ```
+
+### Manually connect NGINX Agent to NGINX One Console
+
+{{< include "agent/installation/manually-connect-to-console" >}}
+
+## Start, stop, and enable NGINX Agent
+
+{{< include "/agent/installation/start-stop-agent.md" >}}
+
+## Verify that NGINX Agent is running
+
+{{< include "/agent/installation/verify-agent.md" >}}
\ No newline at end of file
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
new file mode 100644
index 000000000..7daf6fed2
--- /dev/null
+++ b/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md
@@ -0,0 +1,103 @@
+---
+title: Install from Open Source repo
+toc: true
+weight: 100
+docs: DOCS-000
+---
+
+{{< note>}}
+If you are using [NGINX One Console]({{< ref "/nginx-one/getting-started.md" >}})
+to manage your NGINX instances, NGINX Agent is installed automatically when you
+add an NGINX instance to NGINX One Console.
+
+For a quick guide on how to connect your instance to NGINX One Console see: [Connect to NGINX One Console]({{< ref "/nginx-one/connect-instances/add-instance.md" >}})
+{{< /note >}}
+
+## Overview
+
+Follow the steps in this guide to install NGINX Agent in your NGINX instance using
+the NGINX Open Source repository.
+
+## Before you begin
+
+{{< include "/agent/installation/prerequisites.md" >}}
+
+## Manual installation using the NGINX Open Source repository
+
+Before you install NGINX Agent for the first time on your system, you need to set
+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
+
+{{< include "/agent/installation/oss/oss-rhel.md" >}}
+
+
+
+
+{{< fa "brands fa-ubuntu" >}} Install NGINX Agent on Ubuntu
+
+### Install NGINX Agent on Ubuntu
+
+{{< include "/agent/installation/oss/oss-ubuntu.md" >}}
+
+
+
+
+{{< fa "brands fa-debian" >}} Install NGINX Agent on Debian
+
+### Install NGINX Agent on Debian
+
+{{< include "/agent/installation/oss/oss-debian.md" >}}
+
+
+
+
+{{< fa "brands fa-suse" >}} Install NGINX Agent on SLES
+
+### Install NGINX Agent on SLES
+
+{{< include "/agent/installation/oss/oss-sles.md" >}}
+
+
+
+
+{{< fa "solid fa-mountain-sun" >}} Install NGINX Agent on Alpine Linux
+
+### Install NGINX Agent on Alpine Linux
+
+{{< include "/agent/installation/oss/oss-alpine.md" >}}
+
+
+
+
+{{< fa "brands fa-aws" >}} Install NGINX Agent on Amazon Linux
+
+### Install NGINX Agent on Amazon Linux
+
+{{< include "/agent/installation/oss/oss-amazon-linux.md" >}}
+
+
+
+{{< fa "brands fa-freebsd" >}} Install NGINX Agent on FreeBSD
+
+### Install NGINX Agent on FreeBSD
+
+{{< include "/agent/installation/oss/oss-freebsd.md" >}}
+
+
+
+### Manually connect NGINX Agent to NGINX One Console
+
+{{< include "agent/installation/manually-connect-to-console" >}}
+
+## Start, stop, and enable NGINX Agent
+
+{{< include "/agent/installation/start-stop-agent.md" >}}
+
+## Verify that NGINX Agent is running
+
+{{< include "/agent/installation/verify-agent.md" >}}
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
new file mode 100644
index 000000000..629a64119
--- /dev/null
+++ b/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md
@@ -0,0 +1,104 @@
+---
+title: Install from NGINX Plus repo
+toc: true
+weight: 200
+docs: DOCS-000
+---
+
+{{< note>}}
+If you are using [NGINX One Console]({{< ref "/nginx-one/getting-started.md" >}})
+to manage your NGINX instances, NGINX Agent is installed automatically when you
+add an NGINX instance to NGINX One Console.
+
+For a quick guide on how to connect your instance to NGINX One Console see: [Connect to NGINX One Console]({{< ref "/nginx-one/connect-instances/add-instance.md" >}})
+{{< /note >}}
+
+## Overview
+
+Follow the steps in this guide to install NGINX Agent in your NGINX instance using
+the NGINX Plus repository.
+
+## Before you begin
+
+{{< include "/agent/installation/prerequisites.md" >}}
+
+## Manual installation using the NGINX Plus repository
+
+Before you install NGINX Agent for the first time on your system, you need to
+set 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
+
+{{< include "/agent/installation/plus/plus-rhel.md" >}}
+
+
+
+
+{{< fa "brands fa-ubuntu" >}} Install NGINX Agent on Ubuntu
+
+### Install NGINX Agent on Ubuntu
+
+{{< include "/agent/installation/plus/plus-ubuntu.md" >}}
+
+
+
+
+{{< fa "brands fa-debian" >}} Install NGINX Agent on Debian
+
+### Install NGINX Agent on Debian
+
+{{< include "/agent/installation/plus/plus-debian.md" >}}
+
+
+
+
+{{< fa "brands fa-suse" >}} Install NGINX Agent on SLES
+
+### Install NGINX Agent on SLES
+
+{{< include "/agent/installation/plus/plus-sles.md" >}}
+
+
+
+
+{{< fa "solid fa-mountain-sun" >}} Install NGINX Agent on Alpine Linux
+
+### Install NGINX Agent on Alpine Linux
+
+{{< include "/agent/installation/plus/plus-alpine.md" >}}
+
+
+
+{{< fa "brands fa-aws" >}} Install NGINX Agent on Amazon Linux
+
+### Install NGINX Agent on Amazon Linux
+
+{{< include "/agent/installation/plus/plus-amazon-linux.md" >}}
+
+
+
+
+{{< fa "brands fa-freebsd" >}} Install NGINX Agent on FreeBSD
+
+### Install NGINX Agent on FreeBSD
+
+{{< include "/agent/installation/plus/plus-freebsd.md" >}}
+
+
+
+### Manually connect NGINX Agent to NGINX One Console
+
+{{< include "agent/installation/manually-connect-to-console" >}}
+
+## Start, stop, and enable NGINX Agent
+
+{{< include "/agent/installation/start-stop-agent.md" >}}
+
+## Verify that NGINX Agent is running
+
+{{< include "/agent/installation/verify-agent.md" >}}
diff --git a/content/nginx-one/agent/install-upgrade/uninstall.md b/content/nginx-one/agent/install-upgrade/uninstall.md
new file mode 100644
index 000000000..b37aed02a
--- /dev/null
+++ b/content/nginx-one/agent/install-upgrade/uninstall.md
@@ -0,0 +1,81 @@
+---
+title: "Uninstall NGINX Agent"
+toc: true
+weight: 500
+docs: DOCS-000
+---
+
+## Overview
+
+Follow the steps in this guide to remove F5 NGINX Agent from your NGINX instances.
+
+## Before you begin
+
+The user following performing the uninstall steps needs to have `root` privilege.
+
+## Uninstall NGINX Agent
+
+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
+
+{{< include "/agent/installation/uninstall/uninstall-rhel.md" >}}
+
+
+
+
+{{< fa "brands fa-ubuntu" >}} Uninstall NGINX Agent on Ubuntu
+
+### Uninstall NGINX Agent on Ubuntu
+
+{{< include "/agent/installation/uninstall/uninstall-ubuntu.md" >}}
+
+
+
+
+{{< fa "brands fa-debian" >}} Uninstall NGINX Agent on Debian
+
+### Uninstall NGINX Agent on Debian
+
+{{< include "/agent/installation/uninstall/uninstall-debian.md" >}}
+
+
+
+
+{{< fa "brands fa-suse" >}} Uninstall NGINX Agent on SLES
+
+### Uninstall NGINX Agent on SLES
+
+{{< include "/agent/installation/uninstall/uninstall-sles.md" >}}
+
+
+
+
+{{< fa "solid fa-mountain-sun" >}} Uninstall NGINX Agent on Alpine Linux
+
+### Uninstall NGINX Agent on Alpine Linux
+
+{{< include "/agent/installation/uninstall/uninstall-alpine.md" >}}
+
+
+
+
+{{< fa "brands fa-aws" >}} Uninstall NGINX Agent on Amazon Linux
+
+### Uninstall NGINX Agent on Amazon Linux
+
+{{< include "/agent/installation/uninstall/uninstall-amazon-linux.md" >}}
+
+
+
+
+{{< fa "brands fa-freebsd" >}} Uninstall NGINX Agent on FreeBSD
+
+### Uninstall NGINX Agent on FreeBSD
+
+{{< include "/agent/installation/uninstall/uninstall-freebsd.md" >}}
+
+
diff --git a/content/nginx-one/agent/install-upgrade/update.md b/content/nginx-one/agent/install-upgrade/update.md
new file mode 100644
index 000000000..c85ad6cd7
--- /dev/null
+++ b/content/nginx-one/agent/install-upgrade/update.md
@@ -0,0 +1,14 @@
+---
+title: "Update NGINX Agent"
+toc: true
+weight: 400
+docs: DOCS-000
+---
+
+## Overview
+
+{{< include "/agent/installation/update.md" >}}
+
+## Migrate NGINX Agent running in containers
+
+{{< include "/agent/installation/update-container.md" >}}
diff --git a/content/nginx-one/agent/metrics/_index.md b/content/nginx-one/agent/metrics/_index.md
new file mode 100644
index 000000000..e089288c1
--- /dev/null
+++ b/content/nginx-one/agent/metrics/_index.md
@@ -0,0 +1,5 @@
+---
+title: "Metrics"
+weight: 500
+url: /nginx-one/agent/metrics/
+---
\ No newline at end of file
diff --git a/content/nginx-one/agent/metrics/configure-otel-metrics.md b/content/nginx-one/agent/metrics/configure-otel-metrics.md
new file mode 100644
index 000000000..0f639a1b5
--- /dev/null
+++ b/content/nginx-one/agent/metrics/configure-otel-metrics.md
@@ -0,0 +1,40 @@
+---
+title: Export NGINX instance metrics
+weight: 450
+toc: true
+---
+
+## Overview
+
+F5 NGINX Agent now includes an embedded [OpenTelemetry](https://opentelemetry.io/) collector, streamlining observability and metric collection for NGINX instances. With this feature, you can collect:
+
+* Metrics from NGINX Plus and NGINX Open Source
+* Host metrics (CPU, memory, disk, and network activity) from VMs or Containers
+
+{{< note >}}
+The OpenTelemetry exporter is enabled by default. Once a valid connection to the management plane is established, the Agent will automatically begin exporting metrics.
+{{< /note >}}
+
+### Key benefits
+
+* Seamless Integration: No need to deploy an external OpenTelemetry Collector. All components are embedded within the Agent for streamlined observability.
+* Standardized Protocol: Support for OpenTelemetry standards ensures interoperability with a wide range of observability backends, including Jaeger, Prometheus, Splunk, and more.
+
+### Verify that metrics are exported
+
+You can validate that metrics are successfully exported by using the methods below:
+
+- **NGINX One dashboard**
+
+ - When an instance has connected to NGINX One Console [See: Connect to NGINX One Console]({{< ref "/nginx-one/connect-instances/add-instance.md" >}}), you should see metrics showing on the NGINX One Dashboard.
+
+- **Agent logs**
+
+ Check the OpenTelemetry Collector logs for confirmation of successful metric processing:
+
+ 1. Open the file: `/var/log/nginx-agent/opentelemetry-collector-agent.log`
+ 2. Look for the following logs:
+
+ ```text
+ Everything is ready. Begin running and processing data.
+ ```
diff --git a/content/nginx-one/agent/overview/_index.md b/content/nginx-one/agent/overview/_index.md
new file mode 100644
index 000000000..25d1de757
--- /dev/null
+++ b/content/nginx-one/agent/overview/_index.md
@@ -0,0 +1,5 @@
+---
+title: "Overview"
+weight: 100
+url: /nginx-one/agent/install-upgrade/
+---
\ No newline at end of file
diff --git a/content/nginx-one/agent/overview/about.md b/content/nginx-one/agent/overview/about.md
new file mode 100644
index 000000000..423217190
--- /dev/null
+++ b/content/nginx-one/agent/overview/about.md
@@ -0,0 +1,53 @@
+---
+title: "About"
+weight: 100
+toc: true
+---
+
+{{< include "agent/v3-available.md" >}}
+
+{{< include "agent/about.md" >}}
+
+## Architecture
+
+```mermaid
+graph BT
+
+ %% Define colors for the subgraphs
+ style ManagementPlane fill:#d0eac4,stroke:#228B22,stroke-width:2px,color:#000000
+ style CommandControl fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000
+ style OTelManagementPlane fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000
+ style Compute fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000
+ style NGINX fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000
+ style NGINXConfig fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000
+ style ErrorLogs fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000
+ style Agent fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000
+
+ subgraph ManagementPlane["NGINX One"]
+ CommandControl["Command Server"]
+ OTelManagementPlane["OTel Receiver"]
+ end
+
+ subgraph Compute["NGINX Instance"]
+ subgraph Agent["Agent Process"]
+ OTelDataPlane["OTel Collector"]
+ end
+
+ subgraph NGINX["NGINX Process"]
+ NGINXMetrics["Metrics"]
+ end
+ NGINXConfig["NGINX Configuration Files"]
+ ErrorLogs["NGINX Error Logs"]
+
+ Metrics["Host Metrics"] --> |Collects| OTelDataPlane
+ NGINXMetrics --> |Reads| OTelDataPlane["OTel Collector"]
+ Agent --> |Watch/Reload| NGINX
+ Agent --> |Reads| ErrorLogs
+ OTelDataPlane --> |Reads| AccessLogs["NGINX Access Logs"]
+ Agent <--> |Reads/Writes| NGINXConfig
+ end
+
+ Compute <--> |gRPC| ManagementPlane
+```
+
+{{< include "agent/architecture.md" >}}
diff --git a/content/nginx-one/agent/overview/tech-specs.md b/content/nginx-one/agent/overview/tech-specs.md
new file mode 100644
index 000000000..b1105a287
--- /dev/null
+++ b/content/nginx-one/agent/overview/tech-specs.md
@@ -0,0 +1,8 @@
+---
+title: "Technical Specifications"
+toc: false
+weight: 200
+docs: DOCS-000
+---
+
+{{< include "/agent/tech-specs.md" >}}
diff --git a/content/nginx-one/agent/support/_index.md b/content/nginx-one/agent/support/_index.md
new file mode 100644
index 000000000..253093e5e
--- /dev/null
+++ b/content/nginx-one/agent/support/_index.md
@@ -0,0 +1,5 @@
+---
+title: "Support"
+weight: 700
+url: /nginx-one/agent/support/
+---
\ No newline at end of file
diff --git a/content/nginx-one/agent/support/troubleshooting.md b/content/nginx-one/agent/support/troubleshooting.md
new file mode 100644
index 000000000..cd2c1ceef
--- /dev/null
+++ b/content/nginx-one/agent/support/troubleshooting.md
@@ -0,0 +1,30 @@
+---
+title: Troubleshooting
+toc: true
+weight: 700
+docs: DOCS-000
+---
+
+## F5 NGINX Agent Troubleshooting
+
+**1. Container running but Agent is not connected to NGINX One Console?**
+- Check Agent logs ```bash
+ docker logs
+ ```
+- If you are using NGINX Plus, a valid license will need to be passed into the container run command.
+- Ensure that the values sent with the container run command are correct.
+
+**2. Container running but instance is showing offline on NGINX One Console?**
+- Check Agent logs ```bash
+ docker logs c5e1e3234900 | grep "nginx"
+ ```
+- Verify the following log message is shown: ```2025/02/17 19:02:58 [notice] 32#32: nginx/1.27.2 (nginx-plus-r33-p2 ```
+- If not found, it could mean the container image is missing the NGINX service
+- Make sure NGINX is running ```ps -ef | grep "nginx"```
+- Make sure NGINX is part of the image file.
+
+
+**3. NGINX Agent is installed on my Virtual Machine, but not showing up on NGINX One Console?**
+- Verify the agent is running ```sudo systemctl status nginx-agent```
+- Check for any errors in the logs ```sudo tail -f /var/log/nginx-agent/agent.log```
+- Check ```/etc/nginx-agent/nginx-agent.conf``` for any misconfigurations.
diff --git a/content/nginx-one/connect-instances/add-instance.md b/content/nginx-one/connect-instances/add-instance.md
index 328d93724..6bc8b768f 100644
--- a/content/nginx-one/connect-instances/add-instance.md
+++ b/content/nginx-one/connect-instances/add-instance.md
@@ -54,4 +54,4 @@ 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/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.
+That instance inherits the setup of that Config Sync Group.
\ No newline at end of file
diff --git a/content/nginx-one/getting-started.md b/content/nginx-one/getting-started.md
index 6a761fa2f..78a0c8926 100644
--- a/content/nginx-one/getting-started.md
+++ b/content/nginx-one/getting-started.md
@@ -93,18 +93,7 @@ To install NGINX Agent on an NGINX instance:
- Replace `YOUR_DATA_PLANE_KEY` with your actual data plane key.
- The `-y` option automatically confirms any prompts during installation.
-The `install` script writes an `nginx-agent.conf` file to the `/etc/nginx-agent/` directory, with the [data plane key](#generate-data-plane-key) that you generated. You can find this information in the `nginx-agent.conf` file:
-
-```yaml
-server:
- token: ""
- host: agent.connect.nginx.com
- grpcPort: 443
-
-tls:
- enable: True
- skip_verify: False
-```
+The `install` script writes an `nginx-agent.conf` file to the `/etc/nginx-agent/` directory, with the [data plane key](#generate-data-plane-key) that you generated. You can find the key, host address, TLS status, and other information in the `nginx-agent.conf` file.
If you followed the [Installation and upgrade](https://docs.nginx.com/nginx-agent/installation-upgrade/) guides for installing NGINX Agent, you may need to add this information manually to `nginx-agent.conf`.
@@ -149,7 +138,7 @@ The NGINX One Console dashboard relies on APIs for NGINX Plus and NGINX Open Sou
{{< include "/use-cases/monitoring/enable-nginx-oss-stub-status.md" >}}
----
+---
## View instance metrics with the NGINX One dashboard
diff --git a/content/nginx-one/glossary.md b/content/nginx-one/glossary.md
index 04951c14c..61c24073c 100644
--- a/content/nginx-one/glossary.md
+++ b/content/nginx-one/glossary.md
@@ -15,9 +15,11 @@ 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/nginx-configs/config-sync-groups/manage-config-sync-groups.md#important-considerations" >}}) |
+| **Control Plane** | The control plane is the part of a network architecture that manages and controls the flow or data or traffic (the Data Plane). It is responsible for system-level tasks such as routing and traffic management. |
| **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//` |
+| **NGINX Agent** | A lightweight software component installed on NGINX instances to enable communication with the NGINX One console. |
| **Staged Configurations** | Also known as **Staged Configs**. Allows you to save "work in progress." You can create it from scratch, an Instance, another Staged Config, or a Config Sync Group. It does _not_ have to be a working configuration until you publish it to an instance or a Config Sync Group. You can even manage your **Staged Configurations** through our [API]({{< ref "/nginx-one/api/api-reference-guide/#tag/StagedConfigs" >}}). |
| **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). |
{{}}
diff --git a/content/nginx-one/nginx-configs/add-file.md b/content/nginx-one/nginx-configs/add-file.md
index 574ba30e4..fc8e6cfb1 100644
--- a/content/nginx-one/nginx-configs/add-file.md
+++ b/content/nginx-one/nginx-configs/add-file.md
@@ -15,8 +15,8 @@ type:
Before you add files in your configuration, ensure:
-- You have access to the NGINX One Console.
-- NGINX instances are properly registered with NGINX One Console
+- You have [access to the NGINX One Console]({{< ref "/nginx-one/rbac/roles.md" >}}).
+- NGINX instances are [properly registered]({{< ref "/nginx-one/getting-started.md#add-your-nginx-instances-to-nginx-one" >}}) with NGINX One Console.
## Important considerations
diff --git a/content/nginx-one/nginx-configs/certificates/manage-certificates.md b/content/nginx-one/nginx-configs/certificates/manage-certificates.md
index b80d52c3c..56d3d159c 100644
--- a/content/nginx-one/nginx-configs/certificates/manage-certificates.md
+++ b/content/nginx-one/nginx-configs/certificates/manage-certificates.md
@@ -195,4 +195,4 @@ To convert these cerificates to managed, start with the Certificates menu, and s
- [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" >}})
+- [Add a file in a configuration]({{< ref "/nginx-one/nginx-configs/add-file.md" >}})
\ No newline at end of file
diff --git a/content/nginx-one/nginx-configs/clean-up-unavailable-instances.md b/content/nginx-one/nginx-configs/clean-up-unavailable-instances.md
index 9e7979e34..953618b44 100644
--- a/content/nginx-one/nginx-configs/clean-up-unavailable-instances.md
+++ b/content/nginx-one/nginx-configs/clean-up-unavailable-instances.md
@@ -16,7 +16,7 @@ This guide explains how to set up automatic cleanup for NGINX instances in NGINX
Before you set up automatic cleanup for NGINX instances, ensure:
-- You have administrator access to NGINX One.
+- You have [administrator access]({{< ref "/nginx-one/rbac/roles.md" >}}) to NGINX One Console.
- You understand that this action will delete instances permanently after they are unavailable for the specified duration.
## Configure instance cleanup
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 147b83950..4cb161450 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
@@ -64,4 +64,4 @@ With this option, you can incorporate [Managed certificates]({{< ref "/nginx-one
- [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" >}})
+- [Manage certificates]({{< ref "/nginx-one/nginx-configs/certificates/manage-certificates.md" >}})
\ No newline at end of file
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 d5811fe1a..3bb24b6a9 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
@@ -258,4 +258,4 @@ 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/connect-instances/create-manage-data-plane-keys.md" >}})
-- [Add an NGINX instance]({{< ref "/nginx-one/connect-instances/add-instance.md" >}})
+- [Add an NGINX instance]({{< ref "/nginx-one/connect-instances/add-instance.md" >}})
\ No newline at end of file
diff --git a/content/nginx-one/staged-configs/add-staged-config.md b/content/nginx-one/staged-configs/add-staged-config.md
index 042779b8b..196d6c34a 100644
--- a/content/nginx-one/staged-configs/add-staged-config.md
+++ b/content/nginx-one/staged-configs/add-staged-config.md
@@ -14,7 +14,7 @@ product: NGINX-One
## Overview
-This guide explains how to add a Staged Configuration to your NGINX One Console.
+This guide explains how to add a Staged Configuration to your NGINX One Console.
{{< include "nginx-one/staged-config-overview.md" >}}
@@ -47,7 +47,7 @@ To start a new Staged Configuration:
You will see a new Staged Configuration with the default NGINX configuration file, `/etc/nginx/nginx.conf`, in edit mode.
1. Type or paste content for `/etc/nginx/nginx.conf`.
-1. Select **Add File** to add the configuration, certificate, or other file(s) of your choice.
+1. Select **Add File** to add the configuration, certificate, or other file(s) of your choice.
1. When you're done, select **Save**.
### Start from an existing Instance
@@ -58,7 +58,7 @@ To start from an existing Instance:
1. Enter a name for your new Staged Configuration.
1. Select **Instance**.
1. In the Choose Instance menu that appears, select an existing Instance.
-1. Select **Next**.
+1. Select **Next**.
NGINX One Console imports the configuration from the existing Instance. You can now edit the configuration. When you're ready to stop and save your work, select Save.
@@ -70,7 +70,7 @@ To start from an existing Config Sync Group:
1. Select **Config Sync Group**.
1. In the Choose Config Sync Group menu that appears, select an existing Config Sync Group.
1. Enter a name for your new Staged Configuration.
-1. Select **Next**.
+1. Select **Next**.
NGINX One Console imports the configuration from the existing Config Sync Group. You can now edit the configuration. When you're ready to stop and save your work, select Save.
@@ -82,7 +82,7 @@ To start from an existing Staged Config:
1. Select **Staged Configuration**.
1. In the Choose Staged Configuration menu that appears, select an existing Staged Configuration.
1. Enter a name for your new Staged Configuration.
-1. Select **Next**.
+1. Select **Next**.
NGINX One Console imports the configuration from the existing Staged Configuration. You can now edit the configuration. When you're ready to stop and save your work, select Save.
diff --git a/content/nginx/technical-specs.md b/content/nginx/technical-specs.md
index 5405859c6..075dcd3d4 100644
--- a/content/nginx/technical-specs.md
+++ b/content/nginx/technical-specs.md
@@ -14,21 +14,7 @@ NGINX Plus is available only as a binary; it is not distributed as source code.
## Supported Distributions {#supported-distributions}
-{{}}
-| Distribution | Supported on R34 | Supported on R33 |
-|-------------------------------------|----------------------------------------------------|--------------------------------------------------------|
-| AlmaLinux | 8 (x86_64, aarch64)
9 (x86_64, aarch64) | 8 (x86_64, aarch64)
9 (x86_64, aarch64) |
-| Alpine Linux | 3.18 (x86_64, aarch64) **(deprecated)**
3.19 (x86_64, aarch64)
3.20 (x86_64, aarch64)
3.21 (x86_64, aarch64) **(new)** | 3.17 (x86_64, aarch64) **(deprecated)**
3.18 (x86_64, aarch64)
3.19 (x86_64, aarch64)
3.20 (x86_64, aarch64) **(new)** |
-| Amazon Linux | 2023 (x86_64, aarch64) | 2023 (x86_64, aarch64) |
-| Amazon Linux 2 | LTS (x86_64, aarch64) | LTS (x86_64, aarch64) |
-| Debian | 11 (x86_64, aarch64)
12 (x86_64, aarch64) | 11 (x86_64, aarch64)
12 (x86_64, aarch64) |
-| FreeBSD | 13 (amd64)
14 (amd64) | 13 (amd64)
14 (amd64) |
-| Oracle Linux | 8.1+ (x86_64, aarch64)
9 (x86_64) | 8.1+ (x86_64, aarch64)
9 (x86_64) |
-| Red Hat Enterprise Linux (RHEL) | 8.1+ (x86_64, aarch64)
9.0+ (x86_64, aarch64) | 8.1+ (x86_64, aarch64)
9.0+ (x86_64, aarch64) |
-| Rocky Linux | 8 (x86_64, aarch64)
9 (x86_64, aarch64) | 8 (x86_64, aarch64)
9 (x86_64, aarch64) |
-| SUSE Linux Enterprise Server (SLES) | 15 SP2+ (x86_64) | 12 SP5 (x86_64) **(deprecated)**
15 SP2+ (x86_64) |
-| Ubuntu | 20.04 LTS (x86_64, aarch64) **(deprecated)**
22.04 LTS (x86_64, aarch64)
24.04 LTS (x86_64, aarch64) | 20.04 LTS (x86_64, aarch64)
22.04 LTS (x86_64, aarch64)
24.04 LTS (x86_64, aarch64) |
-{{}}
+{{< include "nginx-plus/supported-distributions.md" >}}
---
diff --git a/layouts/shortcodes/v2-metrics.html b/layouts/shortcodes/v2-metrics.html
new file mode 100644
index 000000000..dc14d9a35
--- /dev/null
+++ b/layouts/shortcodes/v2-metrics.html
@@ -0,0 +1,56 @@
+
+ {{ range .Site.Data.v2metrics }}
+
+ {{.name}}
+
+
+
+
+
+ description |
+ {{.description}} |
+
+
+ type |
+ {{.type}} |
+
+
+ categories |
+ {{.categories}} |
+
+
+ source |
+ {{.source}} |
+
+
+ rollup_aggregate |
+ {{.rollup_aggregate}} |
+
+
+ unit |
+ {{.unit}} |
+
+
+ aggregations |
+
+ {{ range .aggregations }}
+ {{ . }};
+ {{end}}
+ |
+
+
+ dimensions |
+
+ {{ range sort .dimensions }}
+
+ {{ . }}
+
+ {{end}}
+ |
+
+
+
+
+ {{ end }}
+
\ No newline at end of file