Skip to content

Commit eae9c35

Browse files
committed
Merge branch 'main' into ngf-release-2.0
2 parents 91ef370 + 4984bc9 commit eae9c35

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+532
-447
lines changed

.github/CODEOWNERS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ content/nap-dos/* @nginx/dos-docs-approvers
2929
content/nap-waf/* @nginx/nap-docs-approvers
3030
data/nap-waf/* @nginx/nap-docs-approvers
3131

32+
# NGINXaaS for Azure
33+
content/nginxaas-azure/* @nginx/n4a-docs
34+
content/includes/nginxaas-azure/* @nginx/n4a-docs
35+
3236
# NGINX Gateway Fabric
3337
content/ngf/* @nginx/nginx-gateway-fabric
3438
content/includes/ngf/* @nginx/nginx-gateway-fabric

.github/labeler.yml

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# Label PRs based on modified file paths (v5 format)
2+
# https://github.com/actions/labeler
3+
4+
# General documentation
5+
6+
documentation:
7+
- changed-files:
8+
- any-glob-to-any-file:
9+
- 'content/**'
10+
- 'assets/**'
11+
- 'static/**'
12+
- 'data/**'
13+
14+
# Product labels
15+
16+
product/agent:
17+
- changed-files:
18+
- any-glob-to-any-file:
19+
- 'content/agent/**'
20+
- 'content/includes/agent/**'
21+
22+
product/amplify:
23+
- changed-files:
24+
- any-glob-to-any-file: 'content/amplify/**'
25+
26+
product/controller:
27+
- changed-files:
28+
- any-glob-to-any-file:
29+
- 'content/controller/**'
30+
- 'content/includes/controller/**'
31+
32+
product/mesh:
33+
- changed-files:
34+
- any-glob-to-any-file: 'content/mesh/**'
35+
36+
product/modsec-waf:
37+
- changed-files:
38+
- any-glob-to-any-file: 'content/modsec-waf/**'
39+
40+
product/nap-dos:
41+
- changed-files:
42+
- any-glob-to-any-file:
43+
- 'content/nap-dos/**'
44+
- 'content/includes/nap-dos/**'
45+
46+
product/nap-waf:
47+
- changed-files:
48+
- any-glob-to-any-file:
49+
- 'content/nap-waf/**'
50+
- 'content/includes/nap-waf/**'
51+
52+
product/ngf:
53+
- changed-files:
54+
- any-glob-to-any-file:
55+
- 'content/ngf/**'
56+
- 'content/includes/ngf/**'
57+
58+
product/nginx-plus:
59+
- changed-files:
60+
- any-glob-to-any-file:
61+
- 'content/nginx/**'
62+
- 'content/includes/nginx-plus/**'
63+
64+
product/nginx-one:
65+
- changed-files:
66+
- any-glob-to-any-file:
67+
- 'content/nginx-one/**'
68+
- 'content/includes/nginx-one/**'
69+
70+
product/nginxaas:
71+
- changed-files:
72+
- any-glob-to-any-file:
73+
- 'content/nginxaas-azure/**'
74+
- 'content/includes/nginxaas-azure/**'
75+
76+
product/nim:
77+
- changed-files:
78+
- any-glob-to-any-file:
79+
- 'content/nim/**'
80+
- 'content/includes/nim/**'
81+
82+
product/nms:
83+
- changed-files:
84+
- any-glob-to-any-file:
85+
- 'content/nms/**'
86+
- 'content/includes/nms/**'
87+
88+
product/unit:
89+
- changed-files:
90+
- any-glob-to-any-file:
91+
- 'content/unit/**'
92+
- 'content/includes/unit/**'
93+
94+
# Other labels
95+
96+
process documentation:
97+
- changed-files:
98+
- any-glob-to-any-file:
99+
- 'templates/**'
100+
- '*.md'
101+
- 'LICENSE'
102+
103+
tooling:
104+
- changed-files:
105+
- any-glob-to-any-file:
106+
- 'layouts/**'
107+
- '.github/**'
108+
- '.cloudcannon/**'
109+
- 'styles/**'
110+
- 'layouts/**'
111+
- 'config/**'
112+
- 'archetypes/**'
113+
- '*.yml'
114+
- '*.yaml'
115+
- '*.json'
116+
- '*.ts'
117+
- '*.sh'
118+
- '*.js'
119+
- 'Makefile'
120+
- '.vale.ini'
121+
- '.gitignore'
122+
- '.gitattributes'

.github/workflows/labeler.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: PR Labeler
2+
3+
on:
4+
- pull_request_target
5+
6+
permissions:
7+
contents: read # Required to read the labeler.yml file
8+
pull-requests: write # Required to apply labels to PRs
9+
10+
jobs:
11+
label:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Apply labels based on file paths
15+
uses: actions/labeler@v5
16+
with:
17+
repo-token: "${{ secrets.GITHUB_TOKEN }}"

.github/workflows/linkchecker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ jobs:
104104
# Run LinkChecker
105105
- name: Run LinkChecker on ${{ matrix.doc_paths }}
106106
continue-on-error: ${{ env.isProduction != 'true' }}
107-
uses: nick-fields/retry@c97818ca39074beaea45180dba704f92496a0082 # v3.0.1
107+
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3.0.2
108108
with:
109109
timeout_minutes: 10
110110
max_attempts: 3

.github/workflows/ossf_scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,6 @@ jobs:
5656

5757
# Upload the results to GitHub's code scanning dashboard.
5858
- name: Upload SARIF results to code scanning
59-
uses: github/codeql-action/upload-sarif@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
59+
uses: github/codeql-action/upload-sarif@6bb031afdd8eb862ea3fc1848194185e076637e5 # v3.28.11
6060
with:
6161
sarif_file: results.sarif

CONTRIBUTING_DOCS.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ We have templates for the following types of documentation:
6464

6565
## How to format docs
6666

67-
### Basic markdown formatting
67+
### Basic Markdown formatting
6868

6969
There are multiple ways to format text: for consistency and clarity, these are our conventions:
7070

@@ -152,6 +152,25 @@ Here are some other shortcodes:
152152
- `readfile`: Include the content of another file in the current file, which can be in an arbitrary location.
153153
- `bootstrap-table`: formats a table using Bootstrap classes; accepts any bootstrap table classes as additional arguments, e.g. `{{< bootstrap-table "table-bordered table-hover" }}`
154154

155+
### How to use Hugo includes
156+
157+
As mentioned above, [Hugo includes](https://gohugo.io/contribute/documentation/#include) are a custom shortcode that allows you to reference reusable content stored in the [`/content/includes` directory](https://github.com/nginx/documentation/tree/main/content/includes).
158+
159+
For example, if the [`controller/add-existing-instance.md`](https://github.com/nginx/documentation/blob/main/content/includes/controller/add-existing-instance.md) file contains instructions on adding an instance to the NGINX Controller, you can reuse it on multiple pages by adding:
160+
161+
```md
162+
{{< include "controller/add-existing-instance.md" >}}
163+
```
164+
165+
The `controller/add-existing-instance.md` file is included in the following pages on the NGINX Docs Site:
166+
167+
- [Add an NGINX App Protect Instance](https://github.com/nginx/documentation/blob/main/content/controller/infrastructure/instances/add-nap-instance.md?plain=1#L35)
168+
- [Manage Your NGINX Instances](https://github.com/nginx/documentation/blob/main/content/controller/infrastructure/instances/manage-instances.md?plain=1#L29)
169+
- [Trial NGINX Controller with NGINX Plus](https://github.com/nginx/documentation/blob/main/content/controller/admin-guides/install/try-nginx-controller.md?plain=1#L277)
170+
- [Trial NGINX Controller with App Security](https://github.com/nginx/documentation/blob/main/content/controller/admin-guides/install/try-nginx-controller-app-sec.md?plain=1#L290)
171+
172+
This ensures that content is defined once and referenced in multiple places without duplication.
173+
155174
## Linting
156175

157176
To run the markdownlint check, run the following command, which uses the .markdownlint.yaml file to specify rules. For `<content>`, specify the path to your Markdown files:

archetypes/concept.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ type: concept
1010
# Intended for internal catalogue and search, case sensitive:
1111
# Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit
1212
product:
13-
# Intended for internal catalogue
14-
docs: "DOCS-000"
1513
---
1614

1715
[//]: # "These are Markdown comments to guide you through document structure. Remove them as you go, as well as any unnecessary sections."
@@ -71,4 +69,4 @@ Starting from the <top/left> of the diagram, you can see that <thing> is connect
7169

7270
## See also
7371

74-
[//]: # "Link to related documents, such as concepts, reference material or similar use cases."
72+
[//]: # "Link to related documents, such as concepts, reference material or similar use cases."

archetypes/default.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ type: how-to
1010
# Intended for internal catalogue and search, case sensitive:
1111
# Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit
1212
product:
13-
# Intended for internal catalogue
14-
docs: "DOCS-000"
1513
---
1614

1715
[//]: # "These are Markdown comments to guide you through document structure. Remove them as you go, as well as any unnecessary sections."
@@ -87,4 +85,4 @@ To complete this guide, you will need the following prerequisites:
8785

8886
## See also
8987

90-
[//]: # "Link to related documents, such as concepts, reference material or similar use cases."
88+
[//]: # "Link to related documents, such as concepts, reference material or similar use cases."

archetypes/tutorial.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ type: tutorial
1010
# Intended for internal catalogue and search, case sensitive:
1111
# Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit
1212
product:
13-
# Intended for internal catalogue
14-
docs: "DOCS-000"
1513
---
1614

1715
[//]: # "These are Markdown comments to guide you through document structure. Remove them as you go, as well as any unnecessary sections."
@@ -119,4 +117,4 @@ To verify the creation of <component>, you can also inspect information about it
119117

120118
## See also
121119

122-
[//]: # "Link to related documents, such as concepts, reference material or similar use cases."
120+
[//]: # "Link to related documents, such as concepts, reference material or similar use cases."
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
files:
3+
- content/nginx-one/rbac/overview.md
4+
- content/nim/admin-guide/rbac/overview-rbac.md
5+
docs: DOCS-000
6+
---
7+
Role-based access control (RBAC) is a security system that governs access to resources within a software application. By assigning specific roles to users or groups, RBAC ensures that only authorized individuals have the ability to perform certain actions or access particular areas.
8+
9+
The value of RBAC lies in its ability to provide clear and structured control over what users can see and do. This makes it easier to maintain security, streamline user management, and ensure compliance with internal policies or regulations. By giving users only the permissions they need to fulfill their roles, RBAC reduces the risk of unauthorized access and fosters a more efficient and secure operating environment.

content/nginx-one/getting-started.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,26 @@ product: NGINX One
77
docs: DOCS-1393
88
---
99

10-
This guide provides step-by-step instructions on how to activate and start using the F5 NGINX One Console. NGINX One is a management console for monitoring and managing NGINX data plane instances.
10+
This guide provides step-by-step instructions on how to activate and start using F5 NGINX One Console. NGINX One is a management console for monitoring and managing NGINX data plane instances.
1111

1212
## Enable the NGINX One service {#enable-nginx-one}
1313

1414
To get started using NGINX One, enable the service on F5 Distributed Cloud.
1515

16-
1. Log in to the [F5 Distributed Console](https://www.f5.com/cloud/products/distributed-cloud-console).
16+
1. Log in to [F5 Distributed Console](https://www.f5.com/cloud/products/distributed-cloud-console).
1717
1. Select **NGINX One** from the list of services.
1818
1. Select **Enable Service**.
19-
1. After the service has been enabled, select **Visit Service** to load the NGINX One console.
19+
1. After the service has been enabled, select **Visit Service** to load NGINX One Console.
2020

2121
---
2222

2323
## Add your NGINX instances to NGINX One
2424

25-
Next, add your NGINX instances to NGINX One. You'll need to create a data plane key and then install the NGINX Agent on each instance you want to monitor.
25+
Next, add your NGINX instances to NGINX One. You'll need to create a data plane key and then install NGINX Agent on each instance you want to monitor.
2626

2727
### Add an instance
2828

29-
Depending on whether this is your first time using the NGINX One console or you've used it before, follow the appropriate steps to add an instance:
29+
Depending on whether this is your first time using NGINX One Console or you've used it before, follow the appropriate steps to add an instance:
3030

3131
- **For first-time users:** On the welcome screen, select **Add Instance**.
3232
- **For returning users:** If you've added instances previously and want to add more, select **Instances** on the left menu, then select **Add Instance**.
@@ -51,17 +51,17 @@ Data plane keys expire after one year. You can change this expiration date later
5151

5252
### Install NGINX Agent
5353

54-
After entering your data plane key, you'll see a `curl` command similar to the one below. Copy and run this command on each NGINX instance to install the NGINX Agent. Once installed, the NGINX Agent typically registers with NGINX One within a few seconds.
54+
After entering your data plane key, you'll see a `curl` command similar to the one below. Copy and run this command on each NGINX instance to install NGINX Agent. Once installed, NGINX Agent typically registers with NGINX One within a few seconds.
5555

5656
{{<call-out "important" "Connecting to NGINX One" >}}
57-
The NGINX Agent must be able to establish a connection to the NGINX One Console's Agent endpoint (`agent.connect.nginx.com`). Ensure that any firewall rules you have in place for your NGINX hosts allows network traffic to port `443` for all of the following IPs:
57+
NGINX Agent must be able to establish a connection to NGINX One Console's Agent endpoint (`agent.connect.nginx.com`). Ensure that any firewall rules you have in place for your NGINX hosts allows network traffic to port `443` for all of the following IPs:
5858

5959
- `3.135.72.139`
6060
- `3.133.232.50`
6161
- `52.14.85.249`
6262
{{</call-out>}}
6363

64-
To install the NGINX Agent on an NGINX instance:
64+
To install NGINX Agent on an NGINX instance:
6565

6666
1. **Check if NGINX is running and start it if it's not:**
6767

@@ -79,7 +79,7 @@ To install the NGINX Agent on an NGINX instance:
7979
8080
2. **Install NGINX Agent:**
8181
82-
Next, use the `curl` command provided to you to install the NGINX Agent:
82+
Next, use the `curl` command provided to you to install NGINX Agent:
8383
8484
``` shell
8585
curl https://agent.connect.nginx.com/nginx-agent/install | DATA_PLANE_KEY="YOUR_DATA_PLANE_KEY" sh -s -- -y
@@ -105,11 +105,11 @@ If you followed the [Installation and upgrade](https://docs.nginx.com/nginx-agen
105105
106106
<span style="display: inline-block; margin-top: 20px;" >
107107
108-
{{<call-out "note" "Note: NGINX Agent poll interval" >}} We recommend keeping `dataplane.status.poll_interval` between `30s` and `60s` in the NGINX Agent config (`/etc/nginx-agent/nginx-agent.conf`). If the interval is set above `60s`, the NGINX One Console may report incorrect instance statuses.{{</call-out>}}
108+
{{<call-out "note" "Note: NGINX Agent poll interval" >}} We recommend keeping `dataplane.status.poll_interval` between `30s` and `60s` in the NGINX Agent config (`/etc/nginx-agent/nginx-agent.conf`). If the interval is set above `60s`, NGINX One Console may report incorrect instance statuses.{{</call-out>}}
109109
110110
<br>
111111
112-
<i class="fa fa-check-circle" aria-hidden="true"></i> Make sure your Linux operating system is listed below. The installation script for the NGINX Agent is compatible with these distributions and versions.
112+
<i class="fa fa-check-circle" aria-hidden="true"></i> Make sure your Linux operating system is listed below. The installation script for NGINX Agent is compatible with these distributions and versions.
113113
114114
#### NGINX Agent installation script: supported distributions
115115
@@ -136,7 +136,7 @@ If you followed the [Installation and upgrade](https://docs.nginx.com/nginx-agen
136136
137137
## Enable NGINX metrics reporting
138138
139-
In order for the NGINX One console to show specific traffic and system metrics, you need to enable the appropriate API on your NGINX data plane instances. The sections below provide step-by-step instructions for both NGINX Plus and NGINX Open Source (OSS).
139+
In order for NGINX One Console to show specific traffic and system metrics, you need to enable the appropriate API on your NGINX data plane instances. The sections below provide step-by-step instructions for both NGINX Plus and NGINX Open Source (OSS).
140140
141141
### Enable NGINX Plus API
142142
@@ -154,7 +154,7 @@ After connecting your NGINX instances to NGINX One, you can monitor their perfor
154154
155155
### Log in to NGINX One
156156
157-
1. Log in to the [F5 Distributed Console](https://www.f5.com/cloud/products/distributed-cloud-console).
157+
1. Log in to [F5 Distributed Console](https://www.f5.com/cloud/products/distributed-cloud-console).
158158
1. Select **NGINX One > Visit Service**.
159159
160160
### Overview of the NGINX One dashboard
@@ -172,7 +172,7 @@ Navigating the dashboard:
172172
**NGINX One dashboard metrics**
173173
| Metric | Description | Details |
174174
|---|---|---|
175-
| <i class="fas fa-heartbeat"></i> **Instance availability** | Understand the operational status of your NGINX instances. | - **Online**: The NGINX instance is actively connected and functioning properly. <br> - **Offline**: The NGINX Agent is connected but the NGINX instance isn't running, isn't installed, or can't communicate with the NGINX Agent. <br> - **Unavailable**: The connection between the NGINX Agent and NGINX One has been lost or the instance has been decommissioned. <br> - **Unknown**: The current state can't be determined at the moment. |
175+
| <i class="fas fa-heartbeat"></i> **Instance availability** | Understand the operational status of your NGINX instances. | - **Online**: The NGINX instance is actively connected and functioning properly. <br> - **Offline**: NGINX Agent is connected but the NGINX instance isn't running, isn't installed, or can't communicate with NGINX Agent. <br> - **Unavailable**: The connection between NGINX Agent and NGINX One has been lost or the instance has been decommissioned. <br> - **Unknown**: The current state can't be determined at the moment. |
176176
| <i class="fas fa-code-branch"></i> **NGINX versions by instance** | See which NGINX versions are in use across your instances. | |
177177
| <i class="fas fa-desktop"></i> **Operating systems** | Find out which operating systems your instances are running on. | |
178178
| <i class="fas fa-certificate"></i> **Certificates** | Monitor the status of your SSL certificates to know which are expiring soon and which are still valid. | |

content/nginx-one/rbac/_index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: Role-based access control
3+
description:
4+
weight: 300
5+
url: /nginx-one/rbac
6+
---

content/nginx-one/rbac/overview.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: "Role-based access control overview"
3+
weight: 400
4+
toc: true
5+
type: reference
6+
product: NGINX One
7+
docs: DOCS-000
8+
---
9+
10+
{{< include "security/rbac-intro.md" >}}
11+
12+
The NGINX One Console uses the **[F5 Distributed Cloud User Management](https://docs.cloud.f5.com/docs-v2/administration/how-tos/user-mgmt)** system for access controls and user permissions.
13+
General information can be found on the User Management documentation for **[F5 Distributed Cloud](https://docs.cloud.f5.com/docs-v2/administration/how-tos/user-mgmt)**. This document provides guidance and reference material for utilizing those features to grant and restrict access within the NGINX One Console.

0 commit comments

Comments
 (0)