From 484fde28fa10fac0dfd08c02d26ce429d07eaebd Mon Sep 17 00:00:00 2001 From: Jack Hickey <133868041+nginx-jack@users.noreply.github.com> Date: Tue, 10 Jun 2025 12:03:38 +0100 Subject: [PATCH 1/8] Fix catalog and home page --- layouts/index.html | 195 -------------------- layouts/shortcodes/catalogs-dimensions.html | 8 +- layouts/shortcodes/catalogs-events.html | 10 +- layouts/shortcodes/catalogs-metrics.html | 10 +- 4 files changed, 11 insertions(+), 212 deletions(-) diff --git a/layouts/index.html b/layouts/index.html index e09d14f66..bbaee4b6b 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -1,199 +1,4 @@ {{ define "main" }} -
-
- -
- {{ if eq .Title "NGINX Product Documentation" }} -

NGINX Product Documentation

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

{{ .Description | markdownify }}

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

{{ .Content }}

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

NGINX One

-
-
- -
-
- -
-
- -
-
-

NGINX App Protect

-
-
- - -
-
- -
-
- -
-
-

NGINX as a Service

-
-
- -
-
- -
-
- -
-
-

More NGINX Products

-
-
- -
-
- -
-
-
- {{/* mf homepage */}}
diff --git a/layouts/shortcodes/catalogs-dimensions.html b/layouts/shortcodes/catalogs-dimensions.html index 1b38e46f4..2b88e9701 100644 --- a/layouts/shortcodes/catalogs-dimensions.html +++ b/layouts/shortcodes/catalogs-dimensions.html @@ -1,13 +1,12 @@ {{/* This shortcode **requires** that the document uses the _default/catalogs.html layout */}} -
+

NGINX Management Suite Dimensions Catalog

Information about all of the Dimensions collected by NGINX Agent

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

{{.name}}

- +

{{.name}}

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

{{.name}} +

NGINX Management Suite Events Catalog

Information about all of the Events collected by NGINX Agent

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

{{.name}} - +

-

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

{{.name}}

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

NGINX Management Suite Metrics Catalog

Information about all of the Metrics collected by NGINX Agent

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

{{.name}} - +

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

{{.name}}

description
-
{{ end }} -
\ No newline at end of file +
From de075d2d47f10596f2f03639ad3366e7b54a5abb Mon Sep 17 00:00:00 2001 From: Jack Hickey <133868041+nginx-jack@users.noreply.github.com> Date: Mon, 23 Jun 2025 11:17:25 +0100 Subject: [PATCH 2/8] Homepage: Match mainframe branch updates --- .../container-environments/docker-images.md | 5 +- .../manage-active-directory-auth-provider.md | 2 +- content/mesh/guides/monitoring-and-tracing.md | 4 +- content/mesh/guides/secure-traffic-mtls.md | 12 +- content/mesh/guides/smi-traffic-policies.md | 2 +- content/mesh/reference/api-usage.md | 2 +- .../tutorials/accesscontrol-walkthrough.md | 10 +- content/mesh/tutorials/deploy-example-app.md | 2 +- content/mesh/tutorials/kic/deploy-with-kic.md | 24 +- .../mesh/tutorials/kic/egress-walkthrough.md | 8 +- .../tutorials/kic/ingress-udp-walkthrough.md | 8 +- .../mesh/tutorials/kic/ingress-walkthrough.md | 4 +- content/mesh/tutorials/observability.md | 8 +- .../mesh/tutorials/ratelimit-walkthrough.md | 14 +- .../tutorials/trafficsplit-deployments.md | 16 +- .../install-upgrade/install-from-oss-repo.md | 14 +- .../install-upgrade/install-from-plus-repo.md | 14 +- .../agent/install-upgrade/uninstall.md | 14 +- .../monitoring/live-activity-monitoring.md | 20 +- .../nginx-configuration-portal.md | 6 +- .../ssl-tls-certificates-portal.md | 6 +- content/nginxaas-azure/quickstart/geoip2.md | 2 +- .../security-controls/certificates.md | 14 +- ...y-nginx-instance-manager-docker-compose.md | 6 +- content/nim/deploy/vm-bare-metal/install.md | 4 +- .../add-license-disconnected-deployment.md | 8 +- .../offline-install-guide-manual.md | 4 +- .../nim/disconnected/offline-install-guide.md | 4 +- .../report-usage-disconnected-deployment.md | 2 +- ...ccess-to-security-monitoring-dashboards.md | 4 +- .../configure-forward-proxy.md | 2 +- .../system-configuration/secure-traffic.md | 2 +- .../acm/getting-started/add-api-gateway.md | 7 +- .../nms/acm/getting-started/add-devportal.md | 8 +- .../installation/devportal-helm-chart.md | 5 +- .../installation/install-devportal-offline.md | 2 +- .../infrastructure/customize-devportal.md | 2 +- .../manage-api-infrastructure.md | 3 +- content/nms/acm/how-to/install-acm-offline.md | 2 +- layouts/index.html | 262 +++++++++++++++--- 40 files changed, 351 insertions(+), 187 deletions(-) diff --git a/content/agent/installation-upgrade/container-environments/docker-images.md b/content/agent/installation-upgrade/container-environments/docker-images.md index 080d405b5..44ff93314 100644 --- a/content/agent/installation-upgrade/container-environments/docker-images.md +++ b/content/agent/installation-upgrade/container-environments/docker-images.md @@ -77,7 +77,7 @@ git clone git@github.com:nginx/agent.git ### Download the NGINX Plus certificate and key {#myf5-download} -{{< fa "circle-info" "text-muted" >}} **This step is required if you are using NGINX Plus. If you are using NGINX open source, you can skip this section.** +{{< icon "circle-info" "text-muted" >}} **This step is required if you are using NGINX Plus. If you are using NGINX open source, you can skip this section.** In order to build a container image with NGINX Plus, you must provide the SSL certificate and private key files provided with your NGINX Plus license. These files grant access to the package repository from which the script will download the NGINX Plus package. @@ -213,6 +213,3 @@ To build an image with Debian and an older version of NGINX Agent you can run th ```shell IMAGE_BUILD_TARGET=install-agent-repo NGINX_AGENT_VERSION=2.37.0~bullseye OS_RELEASE=debian OS_VERSION=bullseye-slim make image ``` - - - diff --git a/content/controller/platform/access-management/manage-active-directory-auth-provider.md b/content/controller/platform/access-management/manage-active-directory-auth-provider.md index 8eeedb348..4542ae410 100644 --- a/content/controller/platform/access-management/manage-active-directory-auth-provider.md +++ b/content/controller/platform/access-management/manage-active-directory-auth-provider.md @@ -80,7 +80,7 @@ Take the steps below to create a new Authentication Provider by using the NGINX ## Set up an Microsoft Entra Auth Provider {#set-up-entra} -{{< fa "arrow-circle-right" >}} **Introduced in NGINX Controller ADC v3.22** +{{< icon "arrow-circle-right" >}} **Introduced in NGINX Controller ADC v3.22** In the previous section, you selected **Microsoft Entra** from the **Authentication Provider Type** list. Next, you'll set up the Auth Provider so it can connect to Microsoft Entra. diff --git a/content/mesh/guides/monitoring-and-tracing.md b/content/mesh/guides/monitoring-and-tracing.md index b2ce80d04..15445ed90 100644 --- a/content/mesh/guides/monitoring-and-tracing.md +++ b/content/mesh/guides/monitoring-and-tracing.md @@ -57,8 +57,8 @@ To use NGINX Service Mesh with your Prometheus deployment: If you are deploying NGINX Plus Ingress Controller with the NGINX Service Mesh, add the `nginx-plus-ingress` scrape config as well. Consult the [Metrics]( {{< ref "/mesh/tutorials/kic/deploy-with-kic.md#nginx-plus-ingress-controller-metrics" >}} ) section of the NGINX Ingress Controller Deployment tutorial for more information about the metrics collected. - - {{< fa "download" >}} {{< link "/examples/nginx-mesh-sidecars-scrape-config.yaml" "`nginx-mesh-sidecars-scrape-config.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/nginx-plus-ingress-scrape-config.yaml" "`nginx-plus-ingress-scrape-config.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-mesh-sidecars-scrape-config.yaml" "`nginx-mesh-sidecars-scrape-config.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-plus-ingress-scrape-config.yaml" "`nginx-plus-ingress-scrape-config.yaml`" >}} {{< see-also >}} For more information on how to view and understand the metrics that we track, see our [Prometheus Metrics]({{< ref "prometheus-metrics.md" >}}) guide. diff --git a/content/mesh/guides/secure-traffic-mtls.md b/content/mesh/guides/secure-traffic-mtls.md index ba6ca46fd..497af6671 100644 --- a/content/mesh/guides/secure-traffic-mtls.md +++ b/content/mesh/guides/secure-traffic-mtls.md @@ -60,7 +60,7 @@ SPIRE uses a mechanism called "Upstream Authority" to interface with PKI systems In order to use a proper PKI, you must first choose one of the upstream authorities NGINX Service Mesh supports: - [disk](https://github.com/spiffe/spire/blob/v1.0.0/doc/plugin_server_upstreamauthority_disk.md): Requires certificates and private key be on disk. - - Template: {{< fa "download" >}} {{< link "/examples/upstream-ca/disk.yaml" "disk.yaml" >}} + - Template: {{< icon "download" >}} {{< link "/examples/upstream-ca/disk.yaml" "disk.yaml" >}} - The minimal configuration to successfully deploy the mesh using the `disk` upstream authority looks like this: @@ -73,7 +73,7 @@ In order to use a proper PKI, you must first choose one of the upstream authorit ``` - [aws_pca](https://github.com/spiffe/spire/blob/v1.0.0/doc/plugin_server_upstreamauthority_aws_pca.md): Uses [Amazon Certificate Manager Private Certificate Authority (ACM PCA)](https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html) to manage certificates. - - Template: {{< fa "download" >}} {{< link "/examples/upstream-ca/aws_pca.yaml" "aws_pca.yaml" >}} + - Template: {{< icon "download" >}} {{< link "/examples/upstream-ca/aws_pca.yaml" "aws_pca.yaml" >}} - Here is the minimal configuration to deploy the mesh using the `aws_pca` upstream authority: @@ -102,7 +102,7 @@ In order to use a proper PKI, you must first choose one of the upstream authorit {{< /note >}} - [awssecret](https://github.com/spiffe/spire/blob/v1.0.0/doc/plugin_server_upstreamauthority_awssecret.md): Loads CA credentials from AWS SecretsManager. - - Template: {{< fa "download" >}} {{< link "/examples/upstream-ca/awssecret.yaml" "awssecret.yaml" >}} + - Template: {{< icon "download" >}} {{< link "/examples/upstream-ca/awssecret.yaml" "awssecret.yaml" >}} - Here is the minimal configuration to deploy the mesh using the `awssecret` upstream authority: @@ -120,10 +120,10 @@ In order to use a proper PKI, you must first choose one of the upstream authorit {{< /important >}} - [vault](https://github.com/spiffe/spire/blob/v0.12.3/doc/plugin_server_upstreamauthority_vault.md): Uses Vault PKI Engine to manage certificates. - - Template: {{< fa "download" >}} {{< link "/examples/upstream-ca/vault.yaml" "vault.yaml" >}} + - Template: {{< icon "download" >}} {{< link "/examples/upstream-ca/vault.yaml" "vault.yaml" >}} - [cert-manager](https://github.com/spiffe/spire/blob/v1.0.0/doc/plugin_server_upstreamauthority_cert_manager.md): Uses an instance of `cert-manager` running in Kubernetes to request intermediate signing certificates for SPIRE server. - - Template: {{< fa "download" >}} {{< link "/examples/upstream-ca/cert-manager.yaml" "cert-manager.yaml" >}} + - Template: {{< icon "download" >}} {{< link "/examples/upstream-ca/cert-manager.yaml" "cert-manager.yaml" >}} - Here is the minimal configuration to deploy the mesh using the `cert-manager` upstream authority: @@ -247,7 +247,7 @@ spire-server-0 2/2 Running 0 24h We'll use the [Istio `bookinfo`](https://istio.io/docs/examples/bookinfo/) example to test that traffic is, in fact, encrypted with mTLS enabled. -- {{< fa "download" >}} {{< link "/examples/bookinfo.yaml" "`bookinfo.yaml`" >}} +- {{< icon "download" >}} {{< link "/examples/bookinfo.yaml" "`bookinfo.yaml`" >}} 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Deploy the `bookinfo` application: diff --git a/content/mesh/guides/smi-traffic-policies.md b/content/mesh/guides/smi-traffic-policies.md index 8053f5d9b..17e0d68d7 100644 --- a/content/mesh/guides/smi-traffic-policies.md +++ b/content/mesh/guides/smi-traffic-policies.md @@ -170,7 +170,7 @@ In this example, `GET` requests to the destination service from `source-1` will The burst of 10 and a delay of `nodelay` means that 10 excess requests over the rate will be forwarded to the destination service immediately. Requests from sources other than `source-1`, or requests from `source-1` that are _not_ `GET` requests, will not be rate limited. -> You can download the schema for the RateLimit CRD here: {{< fa "download" >}} [`rate-limit-schema.yaml`](https://github.com/nginxinc/nginx-service-mesh/blob/main/helm-chart/crds/ratelimit.yaml) +> You can download the schema for the RateLimit CRD here: {{< icon "download" >}} [`rate-limit-schema.yaml`](https://github.com/nginxinc/nginx-service-mesh/blob/main/helm-chart/crds/ratelimit.yaml) The rate limit spec contains the following fields: diff --git a/content/mesh/reference/api-usage.md b/content/mesh/reference/api-usage.md index 558a693e8..5994fce70 100644 --- a/content/mesh/reference/api-usage.md +++ b/content/mesh/reference/api-usage.md @@ -22,7 +22,7 @@ kubectl edit meshconfig nginx-mesh-config -n nginx-mesh This will open your default text editor to make changes. To see the configurable fields, download the custom resource definition: -{{< fa "download" >}} [`meshconfig-schema.yaml`](https://github.com/nginxinc/nginx-service-mesh/blob/main/helm-chart/crds/meshconfig.yaml) +{{< icon "download" >}} [`meshconfig-schema.yaml`](https://github.com/nginxinc/nginx-service-mesh/blob/main/helm-chart/crds/meshconfig.yaml) {{< warning >}} If the `meshconfig` resource is deleted, or the `spec.meshConfigClassName` field is removed or changed, then the global mesh configuration cannot be updated, and unexpected behavior may occur. diff --git a/content/mesh/tutorials/accesscontrol-walkthrough.md b/content/mesh/tutorials/accesscontrol-walkthrough.md index 0ea9af63e..dc7b37e67 100644 --- a/content/mesh/tutorials/accesscontrol-walkthrough.md +++ b/content/mesh/tutorials/accesscontrol-walkthrough.md @@ -19,10 +19,10 @@ The access control mode can be [set to `deny` at the global level]( {{< ref "/me 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Download all of the example files: - - {{< fa "download" >}} {{< link "/examples/dest-svc.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/access.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/driver-allowed.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/driver-disallowed.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/dest-svc.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/access.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/driver-allowed.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/driver-disallowed.yaml" >}} ## Objectives @@ -352,7 +352,7 @@ Traffic can be filtered via sets that are classified via ServiceAccounts. But [T For exact matches, be sure to use regular expression anchors. To exactly match the header value `hello`, be sure to use `^hello$`; otherwise, additional headers that contain the sequence `hello` will be allowed. {{< /tip>}} {{< tip>}} -For an expanded example showing configuration for an application using a headless service, checkout our example for clustered application traffic policies {{< fa "download" >}} {{< link "/examples/clustered-application.yaml" >}} +For an expanded example showing configuration for an application using a headless service, checkout our example for clustered application traffic policies {{< icon "download" >}} {{< link "/examples/clustered-application.yaml" >}} {{< /tip>}} ## Resources diff --git a/content/mesh/tutorials/deploy-example-app.md b/content/mesh/tutorials/deploy-example-app.md index bbe048c50..48ce36d6a 100644 --- a/content/mesh/tutorials/deploy-example-app.md +++ b/content/mesh/tutorials/deploy-example-app.md @@ -14,7 +14,7 @@ type: In this tutorial, we will use the `bookinfo` example app Deployment. -- {{< fa "download" >}} {{< link "examples/bookinfo.yaml" "examples/bookinfo.yaml" >}} +- {{< icon "download" >}} {{< link "examples/bookinfo.yaml" "examples/bookinfo.yaml" >}} {{< note >}} Notice in the above yaml: diff --git a/content/mesh/tutorials/kic/deploy-with-kic.md b/content/mesh/tutorials/kic/deploy-with-kic.md index 2d79bb40b..5c46ef3b8 100644 --- a/content/mesh/tutorials/kic/deploy-with-kic.md +++ b/content/mesh/tutorials/kic/deploy-with-kic.md @@ -96,10 +96,10 @@ Before continuing, check the NGINX Ingress Controller [supported versions](#supp - [Configure role-based access control (RBAC)](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/#1-configure-rbac) - [Create Common Resources](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/#2-create-common-resources) 1. Create the NGINX Ingress Controller as a **Deployment** or **DaemonSet** in Kubernetes using one of the following example manifests: - - Kubernetes Deployment: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/oss/nginx-ingress.yaml" "`nginx-ingress-controller/oss/nginx-ingress.yaml`" >}} - - Kubernetes DaemonSet: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/oss/nginx-ingress-daemonset.yaml" "`nginx-ingress-controller/oss/nginx-ingress-daemonset.yaml`" >}} - - OpenShift Deployment: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nginx-ingress.yaml" "`nginx-ingress-controller/oss/openshift/nginx-ingress.yaml`" >}} - - Openshift DaemonSet: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nginx-ingress-daemonset.yaml" "`nginx-ingress-controller/oss/openshift/nginx-ingress-daemonset.yaml`" >}} + - Kubernetes Deployment: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/oss/nginx-ingress.yaml" "`nginx-ingress-controller/oss/nginx-ingress.yaml`" >}} + - Kubernetes DaemonSet: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/oss/nginx-ingress-daemonset.yaml" "`nginx-ingress-controller/oss/nginx-ingress-daemonset.yaml`" >}} + - OpenShift Deployment: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nginx-ingress.yaml" "`nginx-ingress-controller/oss/openshift/nginx-ingress.yaml`" >}} + - Openshift DaemonSet: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nginx-ingress-daemonset.yaml" "`nginx-ingress-controller/oss/openshift/nginx-ingress-daemonset.yaml`" >}} {{< note >}} The provided manifests configure NGINX Ingress Controller for ingress traffic only. If you would like to enable egress traffic, refer to the [Enable Egress](#enable-with-manifests) section of this guide. {{< /note >}} {{< important >}} Be sure to replace the `nginx-ingress:version` image used in the manifest with the chosen image from a supported Container registry; or the container image that you have built. {{< /important >}} @@ -107,7 +107,7 @@ Before continuing, check the NGINX Ingress Controller [supported versions](#supp Download the SecurityContextConstraint necessary to run NGINX Ingress Controller in an OpenShift environment. - - {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nic-scc.yaml" "`nginx-ingress-controller/oss/openshift/nic-scc.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/oss/openshift/nic-scc.yaml" "`nginx-ingress-controller/oss/openshift/nic-scc.yaml`" >}} - Apply the `nginx-ingress-permissions` SecurityContextConstraint: @@ -132,10 +132,10 @@ Before continuing, check the NGINX Ingress Controller [supported versions](#supp - [Configure role-based access control (RBAC)](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/#1-configure-rbac) - [Create Common Resources](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/#2-create-common-resources) 1. Create the NGINX Plus Ingress Controller as a **Deployment** or **DaemonSet** in Kubernetes using one of the following example manifests: - - Kubernetes Deployment: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/plus/nginx-plus-ingress.yaml" "`nginx-ingress-controller/plus/nginx-plus-ingress.yaml`" >}} - - Kubernetes DaemonSet: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/plus/nginx-plus-ingress-daemonset.yaml" "`nginx-ingress-controller/plus/nginx-plus-ingress-daemonset.yaml`" >}} - - OpenShift Deployment: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nginx-plus-ingress.yaml" "`nginx-ingress-controller/openshift/nginx-plus-ingress.yaml`" >}} - - Openshift DaemonSet: {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nginx-plus-ingress-daemonset.yaml" "`nginx-ingress-controller/openshift/nginx-plus-ingress-daemonset.yaml`" >}} + - Kubernetes Deployment: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/plus/nginx-plus-ingress.yaml" "`nginx-ingress-controller/plus/nginx-plus-ingress.yaml`" >}} + - Kubernetes DaemonSet: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/plus/nginx-plus-ingress-daemonset.yaml" "`nginx-ingress-controller/plus/nginx-plus-ingress-daemonset.yaml`" >}} + - OpenShift Deployment: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nginx-plus-ingress.yaml" "`nginx-ingress-controller/openshift/nginx-plus-ingress.yaml`" >}} + - Openshift DaemonSet: {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nginx-plus-ingress-daemonset.yaml" "`nginx-ingress-controller/openshift/nginx-plus-ingress-daemonset.yaml`" >}} {{< note >}} The provided manifests configure NGINX Plus Ingress Controller for ingress traffic only. If you would like to enable egress traffic, refer to the [Enable Egress](#enable-with-manifests) section of this guide. {{< /note >}} {{< important >}} Be sure to replace the `nginx-plus-ingress:version` image used in the manifest with the chosen image from the F5 Container registry; or the container image that you have built. {{< /important >}} @@ -143,7 +143,7 @@ Before continuing, check the NGINX Ingress Controller [supported versions](#supp Download the SecurityContextConstraint necessary to run NGINX Ingress Controller in an OpenShift environment. - - {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nic-scc.yaml" "`nginx-ingress-controller/openshift/nic-scc.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/openshift/nic-scc.yaml" "`nginx-ingress-controller/openshift/nic-scc.yaml`" >}} - Apply the `nginx-ingress-permissions` SecurityContextConstraint: @@ -356,8 +356,8 @@ The NGINX Service Mesh uses the Pod's container name setting to identify the NGI Add the applicable `nginx-ingress` scrape config to your Prometheus configuration and consult [Monitoring and Tracing]( {{< ref "/mesh/guides/monitoring-and-tracing.md#prometheus" >}} ) for installation instructions. -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-scrape-config.yaml" "`nginx-ingress-scrape-config.yaml`" >}} -- {{< fa "download" >}} {{< link "/examples/nginx-plus-ingress-scrape-config.yaml" "`nginx-plus-ingress-scrape-config.yaml`" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-scrape-config.yaml" "`nginx-ingress-scrape-config.yaml`" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-plus-ingress-scrape-config.yaml" "`nginx-plus-ingress-scrape-config.yaml`" >}} ## Available metrics For a list of the NGINX Ingress Controller metrics, consult the [Available Metrics](https://docs.nginx.com/nginx-ingress-controller/logging-and-monitoring/prometheus/#available-metrics) section of the NGINX Ingress Controller docs. diff --git a/content/mesh/tutorials/kic/egress-walkthrough.md b/content/mesh/tutorials/kic/egress-walkthrough.md index fda82ee11..837e8e451 100644 --- a/content/mesh/tutorials/kic/egress-walkthrough.md +++ b/content/mesh/tutorials/kic/egress-walkthrough.md @@ -31,8 +31,8 @@ to a non-meshed service. 1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/). 1. Download the example files: - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-v1.0.yaml" "target-v1.0.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/egress-driver.yaml" "egress-driver.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-v1.0.yaml" "target-v1.0.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/egress-driver.yaml" "egress-driver.yaml" >}} ## Install NGINX Service Mesh @@ -188,7 +188,7 @@ Ingress: If using Kubernetes v1.18.0 or greater you must use `ingressClassName` in your Ingress resources. Uncomment line 9 in the resource below or the downloaded file, `target-internal-route.yaml`. {{< /important >}} -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/target-internal-route.yaml" "nginx-ingress-controller/target-internal-route.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/target-internal-route.yaml" "nginx-ingress-controller/target-internal-route.yaml" >}} ```yaml apiVersion: networking.k8s.io/v1 @@ -216,7 +216,7 @@ spec: VirtualServer: -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/target-vs-internal-route.yaml" "nginx-ingress-controller/target-vs-internal-route.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/target-vs-internal-route.yaml" "nginx-ingress-controller/target-vs-internal-route.yaml" >}} ```yaml apiVersion: k8s.nginx.org/v1 diff --git a/content/mesh/tutorials/kic/ingress-udp-walkthrough.md b/content/mesh/tutorials/kic/ingress-udp-walkthrough.md index 4470a9f91..5a96dbe4d 100644 --- a/content/mesh/tutorials/kic/ingress-udp-walkthrough.md +++ b/content/mesh/tutorials/kic/ingress-udp-walkthrough.md @@ -48,7 +48,7 @@ NGINX Ingress Controller will try to fetch certs from the Spire agent that gets mTLS does not affect UDP communication, as mTLS in NGINX Service Mesh applies only to TCP traffic at this time. {{< /important >}} 2. Get access to the NGINX Ingress Controller by applying the `udp-nodeport.yaml` NodePort resource. - - {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-nodeport.yaml" "udp-nodeport.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-nodeport.yaml" "udp-nodeport.yaml" >}} 3. Check the exposed port from the NodePort service just defined: ```bash @@ -77,7 +77,7 @@ NGINX Ingress Controller will try to fetch certs from the Spire agent that gets 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Download the manifest for the `udp-listener` app. - - {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-listener.yaml" "udp-listener.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-listener.yaml" "udp-listener.yaml" >}} 1. Use `kubectl` to deploy the example `udp-listener` app. ```bash @@ -96,8 +96,8 @@ NGINX Ingress Controller will try to fetch certs from the Spire agent that gets To route UDP requests to an application in the mesh through the NGINX Ingress Controller, you will need both a GlobalConfiguration and TransportServer Resource. -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/udp/nic-global-configuration.yaml" "nic-global-configuration.yaml" >}} -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-transportserver.yaml" "udp-transportserver.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/udp/nic-global-configuration.yaml" "nic-global-configuration.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/udp/udp-transportserver.yaml" "udp-transportserver.yaml" >}} 1. Deploy a GlobalConfiguration to configure what port to listen for UDP requests on: diff --git a/content/mesh/tutorials/kic/ingress-walkthrough.md b/content/mesh/tutorials/kic/ingress-walkthrough.md index 578095f64..2f18b57aa 100644 --- a/content/mesh/tutorials/kic/ingress-walkthrough.md +++ b/content/mesh/tutorials/kic/ingress-walkthrough.md @@ -58,7 +58,7 @@ NGINX Ingress Controller will try to fetch certs from the Spire agent that gets 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Download the manifest for the `bookinfo` app. - - {{< fa "download" >}} {{< link "/examples/bookinfo.yaml" "bookinfo.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/bookinfo.yaml" "bookinfo.yaml" >}} 1. Use `kubectl` to deploy the example `bookinfo` app. ```bash @@ -103,7 +103,7 @@ Create an Ingress Resource to expose the Bookinfo application, using the example If using Kubernetes v1.18.0 or greater you must use `ingressClassName` in your Ingress resources. Uncomment line 6 in the resource below or the downloaded file, `bookinfo-ingress.yaml`. {{< /important >}} -- {{< fa "download" >}} {{< link "/examples/nginx-ingress-controller/bookinfo-ingress.yaml" "bookinfo-ingress.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/nginx-ingress-controller/bookinfo-ingress.yaml" "bookinfo-ingress.yaml" >}} ```bash kubectl apply -f bookinfo-ingress.yaml diff --git a/content/mesh/tutorials/observability.md b/content/mesh/tutorials/observability.md index e555409ed..fcc089892 100644 --- a/content/mesh/tutorials/observability.md +++ b/content/mesh/tutorials/observability.md @@ -18,10 +18,10 @@ In this tutorial, we will install F5 NGINX Service Mesh with some basic observab Download the following files containing the configurations for the observability components: -- {{< fa "download" >}} {{< link "/examples/prometheus.yaml" "prometheus.yaml" >}} -- {{< fa "download" >}} {{< link "/examples/grafana.yaml" "grafana.yaml" >}} -- {{< fa "download" >}} {{< link "/examples/otel-collector.yaml" "otel-collector.yaml" >}} -- {{< fa "download" >}} {{< link "/examples/jaeger.yaml" "jaeger.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/prometheus.yaml" "prometheus.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/grafana.yaml" "grafana.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/otel-collector.yaml" "otel-collector.yaml" >}} +- {{< icon "download" >}} {{< link "/examples/jaeger.yaml" "jaeger.yaml" >}} Deploy the components: diff --git a/content/mesh/tutorials/ratelimit-walkthrough.md b/content/mesh/tutorials/ratelimit-walkthrough.md index 9d8488846..53b97f2af 100644 --- a/content/mesh/tutorials/ratelimit-walkthrough.md +++ b/content/mesh/tutorials/ratelimit-walkthrough.md @@ -26,13 +26,13 @@ This tutorial shows you how to set up rate limiting policies between your worklo 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Download all of the example files: - - {{< fa "download" >}} {{< link "/examples/rate-limit/destination.yaml" "`destination.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/client-v1.yaml" "`client-v1.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/client-v2.yaml" "`client-v2.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/bursty-client.yaml" "`bursty-client.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/ratelimit.yaml" "`ratelimit.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/ratelimit-burst.yaml" "`ratelimit-burst.yaml`" >}} - - {{< fa "download" >}} {{< link "/examples/rate-limit/ratelimit-rules.yaml" "`ratelimit-rules.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/destination.yaml" "`destination.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/client-v1.yaml" "`client-v1.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/client-v2.yaml" "`client-v2.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/bursty-client.yaml" "`bursty-client.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/ratelimit.yaml" "`ratelimit.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/ratelimit-burst.yaml" "`ratelimit-burst.yaml`" >}} + - {{< icon "download" >}} {{< link "/examples/rate-limit/ratelimit-rules.yaml" "`ratelimit-rules.yaml`" >}} {{< note >}} Avoid configuring traffic policies such as TrafficSplits, RateLimits, and CircuitBreakers for headless services. diff --git a/content/mesh/tutorials/trafficsplit-deployments.md b/content/mesh/tutorials/trafficsplit-deployments.md index 1a2a5018e..62ecd60b4 100644 --- a/content/mesh/tutorials/trafficsplit-deployments.md +++ b/content/mesh/tutorials/trafficsplit-deployments.md @@ -24,14 +24,14 @@ You can use traffic splitting for most deployment scenarios, including canary, b 1. Enable [automatic sidecar injection]( {{< ref "/mesh/guides/inject-sidecar-proxy.md#automatic-proxy-injection" >}} ) for the `default` namespace. 1. Download all the example files: - - {{< fa "download" >}} {{< link "/examples/traffic-split/gateway.yaml" "gateway.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-svc.yaml" "target-svc.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-v1.0.yaml" "target-v1.0.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-v2.0-failing.yaml" "target-v2.0-failing.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-v2.1-successful.yaml" "target-v2.1-successful.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/target-v3.0.yaml" "target-v3.0.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/trafficsplit.yaml" "trafficsplit.yaml" >}} - - {{< fa "download" >}} {{< link "/examples/traffic-split/trafficsplit-matches.yaml" "trafficsplit-matches.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/gateway.yaml" "gateway.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-svc.yaml" "target-svc.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-v1.0.yaml" "target-v1.0.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-v2.0-failing.yaml" "target-v2.0-failing.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-v2.1-successful.yaml" "target-v2.1-successful.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/target-v3.0.yaml" "target-v3.0.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/trafficsplit.yaml" "trafficsplit.yaml" >}} + - {{< icon "download" >}} {{< link "/examples/traffic-split/trafficsplit-matches.yaml" "trafficsplit-matches.yaml" >}} {{< note >}} diff --git a/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md b/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md index f362ec8d5..92c993e00 100644 --- a/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md +++ b/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md @@ -30,7 +30,7 @@ up the `nginx-agent` packages repository. Afterward, you can install and update NGINX Agent from the repository.
-{{< fa "brands fa-centos" >}} Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux +{{< icon "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 @@ -39,7 +39,7 @@ NGINX Agent from the repository.
-{{< fa "brands fa-ubuntu" >}} Install NGINX Agent on Ubuntu +{{< icon "brands fa-ubuntu" >}} Install NGINX Agent on Ubuntu ### Install NGINX Agent on Ubuntu @@ -48,7 +48,7 @@ NGINX Agent from the repository.
-{{< fa "brands fa-debian" >}} Install NGINX Agent on Debian +{{< icon "brands fa-debian" >}} Install NGINX Agent on Debian ### Install NGINX Agent on Debian @@ -57,7 +57,7 @@ NGINX Agent from the repository.
-{{< fa "brands fa-suse" >}} Install NGINX Agent on SLES +{{< icon "brands fa-suse" >}} Install NGINX Agent on SLES ### Install NGINX Agent on SLES @@ -66,7 +66,7 @@ NGINX Agent from the repository.
-{{< fa "solid fa-mountain-sun" >}} Install NGINX Agent on Alpine Linux +{{< icon "solid fa-mountain-sun" >}} Install NGINX Agent on Alpine Linux ### Install NGINX Agent on Alpine Linux @@ -75,7 +75,7 @@ NGINX Agent from the repository.
-{{< fa "brands fa-aws" >}} Install NGINX Agent on Amazon Linux +{{< icon "brands fa-aws" >}} Install NGINX Agent on Amazon Linux ### Install NGINX Agent on Amazon Linux @@ -83,7 +83,7 @@ NGINX Agent from the repository.
-{{< fa "brands fa-freebsd" >}} Install NGINX Agent on FreeBSD +{{< icon "brands fa-freebsd" >}} Install NGINX Agent on FreeBSD ### Install NGINX Agent on FreeBSD diff --git a/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md b/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md index eb20efab1..64d4a92e3 100644 --- a/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md +++ b/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md @@ -31,7 +31,7 @@ NGINX Agent from the repository.
-{{< fa "brands fa-centos" >}} Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux +{{< icon "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 @@ -40,7 +40,7 @@ NGINX Agent from the repository.
-{{< fa "brands fa-ubuntu" >}} Install NGINX Agent on Ubuntu +{{< icon "brands fa-ubuntu" >}} Install NGINX Agent on Ubuntu ### Install NGINX Agent on Ubuntu @@ -49,7 +49,7 @@ NGINX Agent from the repository.
-{{< fa "brands fa-debian" >}} Install NGINX Agent on Debian +{{< icon "brands fa-debian" >}} Install NGINX Agent on Debian ### Install NGINX Agent on Debian @@ -58,7 +58,7 @@ NGINX Agent from the repository.
-{{< fa "brands fa-suse" >}} Install NGINX Agent on SLES +{{< icon "brands fa-suse" >}} Install NGINX Agent on SLES ### Install NGINX Agent on SLES @@ -67,7 +67,7 @@ NGINX Agent from the repository.
-{{< fa "solid fa-mountain-sun" >}} Install NGINX Agent on Alpine Linux +{{< icon "solid fa-mountain-sun" >}} Install NGINX Agent on Alpine Linux ### Install NGINX Agent on Alpine Linux @@ -75,7 +75,7 @@ NGINX Agent from the repository.
-{{< fa "brands fa-aws" >}} Install NGINX Agent on Amazon Linux +{{< icon "brands fa-aws" >}} Install NGINX Agent on Amazon Linux ### Install NGINX Agent on Amazon Linux @@ -84,7 +84,7 @@ NGINX Agent from the repository.
-{{< fa "brands fa-freebsd" >}} Install NGINX Agent on FreeBSD +{{< icon "brands fa-freebsd" >}} Install NGINX Agent on FreeBSD ### Install NGINX Agent on FreeBSD diff --git a/content/nginx-one/agent/install-upgrade/uninstall.md b/content/nginx-one/agent/install-upgrade/uninstall.md index 3a7c95aef..4010c5a67 100644 --- a/content/nginx-one/agent/install-upgrade/uninstall.md +++ b/content/nginx-one/agent/install-upgrade/uninstall.md @@ -19,7 +19,7 @@ The user following performing the uninstall steps needs to have `root` privilege Complete the following steps on each host where you've installed NGINX Agent
-{{< fa "brands fa-centos" >}} Uninstall NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux +{{< icon "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 @@ -28,7 +28,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< fa "brands fa-ubuntu" >}} Uninstall NGINX Agent on Ubuntu +{{< icon "brands fa-ubuntu" >}} Uninstall NGINX Agent on Ubuntu ### Uninstall NGINX Agent on Ubuntu @@ -37,7 +37,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< fa "brands fa-debian" >}} Uninstall NGINX Agent on Debian +{{< icon "brands fa-debian" >}} Uninstall NGINX Agent on Debian ### Uninstall NGINX Agent on Debian @@ -46,7 +46,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< fa "brands fa-suse" >}} Uninstall NGINX Agent on SLES +{{< icon "brands fa-suse" >}} Uninstall NGINX Agent on SLES ### Uninstall NGINX Agent on SLES @@ -55,7 +55,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< fa "solid fa-mountain-sun" >}} Uninstall NGINX Agent on Alpine Linux +{{< icon "solid fa-mountain-sun" >}} Uninstall NGINX Agent on Alpine Linux ### Uninstall NGINX Agent on Alpine Linux @@ -64,7 +64,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< fa "brands fa-aws" >}} Uninstall NGINX Agent on Amazon Linux +{{< icon "brands fa-aws" >}} Uninstall NGINX Agent on Amazon Linux ### Uninstall NGINX Agent on Amazon Linux @@ -73,7 +73,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< fa "brands fa-freebsd" >}} Uninstall NGINX Agent on FreeBSD +{{< icon "brands fa-freebsd" >}} Uninstall NGINX Agent on FreeBSD ### Uninstall NGINX Agent on FreeBSD diff --git a/content/nginx/admin-guide/monitoring/live-activity-monitoring.md b/content/nginx/admin-guide/monitoring/live-activity-monitoring.md index 55474230f..ce210e7fc 100644 --- a/content/nginx/admin-guide/monitoring/live-activity-monitoring.md +++ b/content/nginx/admin-guide/monitoring/live-activity-monitoring.md @@ -521,16 +521,16 @@ To enable the Swagger UI: |OpenAPI YAML File/API Version | NGINX Plus Version | Changes | | ---| --- | --- | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [33]({{< ref "/nginx/releases.md#r33" >}}), [34]({{< ref "nginx/releases.md#r34" >}})| The [`/license`](https://nginx.org/en/docs/http/ngx_http_api_module.html#license) data were added| -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [30]({{< ref "nginx/releases.md#r30" >}}), [31]({{< ref "nginx/releases.md#r31" >}}), [32]({{< ref "nginx/releases.md#r32" >}}) | The [`/workers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#workers_) data were added| -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v8/nginx_api.yaml) for API version 8 | NGINX Plus Releases [27]({{< ref "nginx/releases.md#r27" >}}), [28]({{< ref "nginx/releases.md#r28" >}}), [29]({{< ref "nginx/releases.md#r29" >}}) | SSL statistics for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream) and stream [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_upstream), SSL statistics for each HTTP [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone) and stream [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_server_zone), extended statistics for [SSL](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_ssl_object) endpoint| -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v7/nginx_api.yaml) for API version 7 | NGINX Plus Releases [25]({{< ref "nginx/releases.md#r25" >}}), [26]({{< ref "nginx/releases.md#r26" >}}),| The `codes` data in `responses` for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream), [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone), and [location zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_location_zone) were added| -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v6/nginx_api.yaml) for API version 6 | NGINX Plus Releases [20]({{< ref "nginx/releases.md#r20" >}}), [21]({{< ref "nginx/releases.md#r21" >}}), [22]({{< ref "nginx/releases.md#r22" >}}), [23]({{< ref "nginx/releases.md#r23" >}}), [24]({{< ref "nginx/releases.md#r24" >}}) | The [`/stream/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_limit_conns_), [`/http/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_conns_), and [`/http/limit_reqs/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_reqs_) data were added | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v5/nginx_api.yaml) for API version 5 | NGINX Plus Release [19]({{< ref "nginx/releases.md#r19" >}}) | The `expire` parameter of a [key-value](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) pair can be [set](https://nginx.org/en/docs/http/ngx_http_api_module.html#postHttpKeyvalZoneData) or [changed](https://nginx.org/en/docs/http/ngx_http_api_module.html#patchHttpKeyvalZoneKeyValue), the [`/resolvers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#resolvers_) and [`/http/location_zones/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_location_zones_) data were added | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v4/nginx_api.yaml) for API version 4 | NGINX Plus Release [18]({{< ref "nginx/releases.md#r18" >}}) | The `path` and `method` fields of [nginx error object](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_error) were removed. These fields continue to exist in earlier api versions, but show an empty value | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v3/nginx_api.yaml) for API version 3 | NGINX Plus Releases [15]({{< ref "nginx/releases.md#r15" >}}), [16]({{< ref "nginx/releases.md#r16" >}}), [17]({{< ref "nginx/releases.md#r17" >}}) | The [`/stream/zone_sync/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_zone_sync_) data were added | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v2/nginx_api.yaml) for API version 2 | NGINX Plus Release [14]({{< ref "nginx/releases.md#r14" >}}) | The [`drain`](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream_conf_server) parameter was added | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v1/nginx_api.yaml) for API version 1 | NGINX Plus Release [13]({{< ref "nginx/releases.md#r13" >}})| The [`/stream/keyvals/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_keyvals_) data were added | +|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [33]({{< ref "/nginx/releases.md#r33" >}}), [34]({{< ref "nginx/releases.md#r34" >}})| The [`/license`](https://nginx.org/en/docs/http/ngx_http_api_module.html#license) data were added| +|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [30]({{< ref "nginx/releases.md#r30" >}}), [31]({{< ref "nginx/releases.md#r31" >}}), [32]({{< ref "nginx/releases.md#r32" >}}) | The [`/workers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#workers_) data were added| +|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v8/nginx_api.yaml) for API version 8 | NGINX Plus Releases [27]({{< ref "nginx/releases.md#r27" >}}), [28]({{< ref "nginx/releases.md#r28" >}}), [29]({{< ref "nginx/releases.md#r29" >}}) | SSL statistics for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream) and stream [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_upstream), SSL statistics for each HTTP [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone) and stream [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_server_zone), extended statistics for [SSL](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_ssl_object) endpoint| +|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v7/nginx_api.yaml) for API version 7 | NGINX Plus Releases [25]({{< ref "nginx/releases.md#r25" >}}), [26]({{< ref "nginx/releases.md#r26" >}}),| The `codes` data in `responses` for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream), [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone), and [location zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_location_zone) were added| +|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v6/nginx_api.yaml) for API version 6 | NGINX Plus Releases [20]({{< ref "nginx/releases.md#r20" >}}), [21]({{< ref "nginx/releases.md#r21" >}}), [22]({{< ref "nginx/releases.md#r22" >}}), [23]({{< ref "nginx/releases.md#r23" >}}), [24]({{< ref "nginx/releases.md#r24" >}}) | The [`/stream/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_limit_conns_), [`/http/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_conns_), and [`/http/limit_reqs/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_reqs_) data were added | +|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v5/nginx_api.yaml) for API version 5 | NGINX Plus Release [19]({{< ref "nginx/releases.md#r19" >}}) | The `expire` parameter of a [key-value](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) pair can be [set](https://nginx.org/en/docs/http/ngx_http_api_module.html#postHttpKeyvalZoneData) or [changed](https://nginx.org/en/docs/http/ngx_http_api_module.html#patchHttpKeyvalZoneKeyValue), the [`/resolvers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#resolvers_) and [`/http/location_zones/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_location_zones_) data were added | +|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v4/nginx_api.yaml) for API version 4 | NGINX Plus Release [18]({{< ref "nginx/releases.md#r18" >}}) | The `path` and `method` fields of [nginx error object](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_error) were removed. These fields continue to exist in earlier api versions, but show an empty value | +|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v3/nginx_api.yaml) for API version 3 | NGINX Plus Releases [15]({{< ref "nginx/releases.md#r15" >}}), [16]({{< ref "nginx/releases.md#r16" >}}), [17]({{< ref "nginx/releases.md#r17" >}}) | The [`/stream/zone_sync/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_zone_sync_) data were added | +|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v2/nginx_api.yaml) for API version 2 | NGINX Plus Release [14]({{< ref "nginx/releases.md#r14" >}}) | The [`drain`](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream_conf_server) parameter was added | +|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v1/nginx_api.yaml) for API version 1 | NGINX Plus Release [13]({{< ref "nginx/releases.md#r13" >}})| The [`/stream/keyvals/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_keyvals_) data were added | {{}} diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md index 77a0b75ba..50a94a887 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md @@ -32,14 +32,14 @@ NGINXaaS supports Layer 7 HTTP loadbalancing. To configure .com and .net servers {{}}If you don't see the default configuration, it's likely the deployment was created through a client tool other than the portal (For example, Terraform), or the "Apply default NGINX configuration" was unchecked during the deployment creation process in the portal. You can still proceed with the steps below to provide your own NGINX configuration for the deployment.{{}} -1. Select {{< fa "fa fa-plus">}}**New File** to add a file path, then **Confirm**. +1. Select {{< icon "fa fa-plus">}}**New File** to add a file path, then **Confirm**. {{}} | Property | Description | | -------- | ----------- | | File path | Each NGINX configuration file can be uniquely identified by a file path (for example, nginx.conf or /etc/nginx/nginx.conf) to align with the intended NGINX configuration file structure. | | Root file | The root file is the main NGINX configuration file.
  • The first file created will be the root file by default. You can designate a different root file if you have more than a single configuration file in your deployment.
  • The root file is designated with a {{< golden-star >}} icon on the portal.
| - | Protected File | Indicates that the file may contain sensitive data such as passwords or represent an ssl/tls certificate.
  • To protect a file, enable the **Protected** {{}} toggle button.
  • You cannot access the file contents of a protected file saved to the NGINX configuration, but you can view its metadata, such as the SHA-256 hash of the file contents.
  • You can provide new contents for an existing protected file using the **Overwrite** link or resubmit it without having to provide the file contents again.
  • To modify the file path of a protected file or convert it to a regular file, delete the original file and create a new one.
  • A protected file is designated with a {{}} icon on the portal.
| + | Protected File | Indicates that the file may contain sensitive data such as passwords or represent an ssl/tls certificate.
  • To protect a file, enable the **Protected** {{< icon "solid fa-toggle-on">}} toggle button.
  • You cannot access the file contents of a protected file saved to the NGINX configuration, but you can view its metadata, such as the SHA-256 hash of the file contents.
  • You can provide new contents for an existing protected file using the **Overwrite** link or resubmit it without having to provide the file contents again.
  • To modify the file path of a protected file or convert it to a regular file, delete the original file and create a new one.
  • A protected file is designated with a {{< icon "solid fa-lock">}} icon on the portal.
| {{
}} {{}}If specifying an absolute file path, see the [NGINX Filesystem Restrictions table]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/overview/#nginx-filesystem-restrictions" >}}) for the allowed directories the file can be written to.{{}} @@ -146,7 +146,7 @@ http { 1. Select the configuration file you want to delete from the File path list. -1. Select the delete icon {{< fa "fa fa-trash">}}. +1. Select the delete icon {{< icon "fa fa-trash">}}. 1. Confirm your action to delete the configuration file. diff --git a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md index 0c27e8ff3..fabd44d4d 100644 --- a/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md +++ b/content/nginxaas-azure/getting-started/ssl-tls-certificates/ssl-tls-certificates-portal.md @@ -24,7 +24,7 @@ Before you begin, refer Azure documentation to [Import a certificate to your Key 1. Select **NGINX certificates** in the left menu. -1. Select {{< fa "plus">}}**Add certificate**. +1. Select {{< icon "plus">}}**Add certificate**. 1. Provide the required information: @@ -72,7 +72,7 @@ Before you begin, refer Azure documentation to [Import a certificate to your Key 1. Select the checkbox next to the certificate you want to edit. -1. Select {{< fa "pencil">}} **Edit**. +1. Select {{< icon "pencil">}} **Edit**. 1. Update the Name, Certificate path, Key path fields as needed. @@ -86,7 +86,7 @@ Before you begin, refer Azure documentation to [Import a certificate to your Key 1. Select the checkbox next to the certificate you want to delete. -1. Select {{< fa "trash">}}**Delete**. +1. Select {{< icon "trash">}}**Delete**. 1. Confirm the delete action. diff --git a/content/nginxaas-azure/quickstart/geoip2.md b/content/nginxaas-azure/quickstart/geoip2.md index 227b79d1c..dbdc27134 100644 --- a/content/nginxaas-azure/quickstart/geoip2.md +++ b/content/nginxaas-azure/quickstart/geoip2.md @@ -18,7 +18,7 @@ NGINXaaS uses your MaxMind license to download GeoIP2 databases, puts them in th To enable GeoIP2 you [update your NGINX configuration]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/overview.md">}}) to include your MaxMind license and the relevant NGINX directives. 1. Log into MaxMind and [generate a `GeoIP.conf`](https://dev.maxmind.com/geoip/updating-databases/#2-obtain-geoipconf-with-account-information) file. -2. Add the `GeoIP.conf` file to your NGINX configuration, using the exact path `/etc/nginx/GeoIP.conf`. The `GeoIP.conf` will be validated, and must include `AccountID`, `LicenseKey`, and `EditionIDs`. Other configuration options in `GeoIP.conf` are ignored. We recommend you enable the **Protected** {{}} toggle button to mark `GeoIP.conf` as a protected file, which will prevent the contents from being read via any Azure client tools. +2. Add the `GeoIP.conf` file to your NGINX configuration, using the exact path `/etc/nginx/GeoIP.conf`. The `GeoIP.conf` will be validated, and must include `AccountID`, `LicenseKey`, and `EditionIDs`. Other configuration options in `GeoIP.conf` are ignored. We recommend you enable the **Protected** {{< icon "solid fa-toggle-on">}} toggle button to mark `GeoIP.conf` as a protected file, which will prevent the contents from being read via any Azure client tools. 3. Add the `load_module` directive - the modules are available at `modules/ngx_http_geoip2_module.so` or `modules/ngx_stream_geoip2_module.so`. 4. Add `geoip2` directives to your NGINX configuration as desired. The `EditionIDs` from your `GeoIP.conf` are available at `/usr/local/share/GeoIP` diff --git a/content/nginxaas-azure/quickstart/security-controls/certificates.md b/content/nginxaas-azure/quickstart/security-controls/certificates.md index 651f76c5c..fdd52cd39 100644 --- a/content/nginxaas-azure/quickstart/security-controls/certificates.md +++ b/content/nginxaas-azure/quickstart/security-controls/certificates.md @@ -44,7 +44,7 @@ Next, you can add an SSL/TLS certificate to your key vault by following [Azure's 1. Go to your key vault, `nginxaas-kv`. 1. Select **Certificates** in the left menu. -1. Select {{< fa "plus">}}**Generate/Import** and provide the following information: +1. Select {{< icon "plus">}}**Generate/Import** and provide the following information: {{}} | Field | Description | @@ -68,7 +68,7 @@ In order for your NGINXaaS deployment to access your key vault, it must have an 1. Under **System assigned**, ensure the status is set to "On". {{}} When you create a deployment through the Azure portal, a system-assigned managed identity is automatically enabled for your deployment. {{}} 1. Under **System assigned**, select **Azure role assignments**. -1. Select {{< fa "plus">}}**Add role assignment** and provide the following information: +1. Select {{< icon "plus">}}**Add role assignment** and provide the following information: {{}} | Field | Description | @@ -87,7 +87,7 @@ Now, you can add your SSL/TLS certificate from your key vault to your NGINXaaS d 1. Go to your NGINXaaS deployment. 1. Select **NGINX certificates** in the left menu. -1. Select {{< fa "plus">}}**Add certificate** and provide the following information: +1. Select {{< icon "plus">}}**Add certificate** and provide the following information: {{}} | Field | Description | |---------------------------- | ---------------------------- | @@ -168,7 +168,7 @@ If you want to disable public access to your key vault, you can configure a [Net 1. Follow [Azure's documentation on prerequisites](https://learn.microsoft.com/en-us/azure/private-link/create-network-security-perimeter-portal#prerequisites) to ensure you are registed to create an NSP. 1. In the Search box, enter **Network Security Perimeters** and select **Network Security Perimeters** from the search results. -1. Select {{< fa "plus">}}**Create**. +1. Select {{< icon "plus">}}**Create**. 1. In the **Basics** tab, provide the following information: {{}} | Field | Description | @@ -179,9 +179,9 @@ If you want to disable public access to your key vault, you can configure a [Net | Region | Select the region you want to deploy to. Refer to any [regional limitations](https://learn.microsoft.com/en-us/azure/private-link/network-security-perimeter-concepts#regional-limitations) NSP has while in public preview. | | Profile name | Leave the profile name as the default `defaultProfile`. | {{}} -1. In the **Resources** tab, select {{< fa "plus">}}**Add**. +1. In the **Resources** tab, select {{< icon "plus">}}**Add**. 1. Search for your key vault, `nginxaas-kv`, select it, and click **Select**. -1. In the **Inbound access rules** tab, select {{< fa "plus">}}**Add** and provide the following information: +1. In the **Inbound access rules** tab, select {{< icon "plus">}}**Add** and provide the following information: {{}} | Field | Description | |---------------------------- | ---------------------------- | @@ -198,4 +198,4 @@ By default, the key vault will be associated to the NSP in [Learning mode](https 1. Select the `nginxaas-kv` resource association. 1. Select **Change access mode**, set to **Enforced**, and select **Apply**. -{{}} If you are using the Azure portal to add certificates, you will also need to add an inbound access rule to allow your IP address, so the portal can list the certificates in your key vault. {{}} \ No newline at end of file +{{}} If you are using the Azure portal to add certificates, you will also need to add an inbound access rule to allow your IP address, so the portal can list the certificates in your key vault. {{}} diff --git a/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md b/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md index 1e451340b..dd37fa944 100644 --- a/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md +++ b/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md @@ -31,9 +31,9 @@ Before you begin, make sure you have the following: - A JSON Web Token (JWT) from your [MyF5 subscriptions page](https://my.f5.com/manage/s/subscriptions). This is the same token used for NGINX Plus. - The right `docker-compose.yaml` file for your setup: - For **standard mode** (with metrics and dashboards): - {{}} {{}} + {{< icon "download">}} {{}} - For **lightweight mode** (no ClickHouse, no metrics): - {{}} {{}} + {{< icon "download">}} {{}} {{< note >}} If you're not sure which one to use, start with lightweight mode. You can always switch later by changing the Compose file and setting `ENABLE_METRICS: "true"`.{{< /note >}} @@ -337,4 +337,4 @@ Run the backup command to capture the current state: docker exec nim-nim-1 nim-backup ``` -This creates a `.tgz` file inside the container under `/data/backup/`, which you can extract as described in the [Backup](#backup) section. \ No newline at end of file +This creates a `.tgz` file inside the container under `/data/backup/`, which you can extract as described in the [Backup](#backup) section. diff --git a/content/nim/deploy/vm-bare-metal/install.md b/content/nim/deploy/vm-bare-metal/install.md index bd104a3ac..5519f8104 100644 --- a/content/nim/deploy/vm-bare-metal/install.md +++ b/content/nim/deploy/vm-bare-metal/install.md @@ -30,7 +30,7 @@ Follow these steps to prepare for installing NGINX Instance Manager: - **Download the installation script**: - {{}} {{}} + {{< icon "download">}} {{}} - **Download the certificate and private key** (see the steps [below](#download-cert-key)): Use the certificate and private key for NGINX Instance Manager (the same files used for NGINX Plus). @@ -91,7 +91,7 @@ Download the certificate and private key required for NGINX Instance Manager. Th If you haven’t already downloaded the script, you can download it here: -{{}} {{}} +{{< icon "download">}} {{}} ### Prepare your system for installation diff --git a/content/nim/disconnected/add-license-disconnected-deployment.md b/content/nim/disconnected/add-license-disconnected-deployment.md index 61926dc6e..e40b43b86 100644 --- a/content/nim/disconnected/add-license-disconnected-deployment.md +++ b/content/nim/disconnected/add-license-disconnected-deployment.md @@ -51,7 +51,7 @@ To add a license and submit the initial usage report in a disconnected environme
-1. {{}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). +1. {{< icon "download">}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). 1. Run the following command to allow the script to run: ```bash @@ -65,7 +65,7 @@ To add a license and submit the initial usage report in a disconnected environme -j .jwt \ -i \ -u admin \ - -p \ + -p \ -s initial ``` @@ -235,7 +235,3 @@ To upload the the usage acknowledgement: {{}} - - - - diff --git a/content/nim/disconnected/offline-install-guide-manual.md b/content/nim/disconnected/offline-install-guide-manual.md index f86873880..0c851f509 100644 --- a/content/nim/disconnected/offline-install-guide-manual.md +++ b/content/nim/disconnected/offline-install-guide-manual.md @@ -47,7 +47,7 @@ To download external dependencies: 1. Download the `fetch-external-dependencies.sh` script: - {{}} {{}} + {{< icon "download">}} {{}} 2. Run the script to download the external dependencies for your specific Linux distribution: @@ -202,4 +202,4 @@ sudo systemctl restart nms-dpm ## Next steps -- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) \ No newline at end of file +- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) diff --git a/content/nim/disconnected/offline-install-guide.md b/content/nim/disconnected/offline-install-guide.md index c8dedfee6..3da69a4e7 100644 --- a/content/nim/disconnected/offline-install-guide.md +++ b/content/nim/disconnected/offline-install-guide.md @@ -62,7 +62,7 @@ Download the SSL certificate and private key required for NGINX Instance Manager ### Download the installation script -{{}} {{}} +{{< icon "download">}} {{}} ## Package NGINX Instance Manager and dependencies for offline installation @@ -210,4 +210,4 @@ sudo systemctl restart nms-dpm ## Next steps -- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) \ No newline at end of file +- [Add NGINX Open Source and NGINX Plus instances to NGINX Instance Manager]({{< ref "nim/nginx-instances/add-instance.md" >}}) diff --git a/content/nim/disconnected/report-usage-disconnected-deployment.md b/content/nim/disconnected/report-usage-disconnected-deployment.md index 9fecb335b..4a4d5c14c 100644 --- a/content/nim/disconnected/report-usage-disconnected-deployment.md +++ b/content/nim/disconnected/report-usage-disconnected-deployment.md @@ -47,7 +47,7 @@ To submit a usage report in a disconnected environment, use the provided `licens
-1. {{}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). +1. {{< icon "download">}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). 1. Run the following command to allow the script to run: ```bash diff --git a/content/nim/nginx-app-protect/security-monitoring/give-access-to-security-monitoring-dashboards.md b/content/nim/nginx-app-protect/security-monitoring/give-access-to-security-monitoring-dashboards.md index 6d29edf1a..a3e092a37 100644 --- a/content/nim/nginx-app-protect/security-monitoring/give-access-to-security-monitoring-dashboards.md +++ b/content/nim/nginx-app-protect/security-monitoring/give-access-to-security-monitoring-dashboards.md @@ -36,7 +36,7 @@ Make sure you complete these steps: | Module(s) | Feature(s) | Access | Description | |-----------------------------------|-----------------------|----------------------------|----------------------------------------------------------------------------------------------------------| | Instance Manager
Security Monitoring | Analytics
Security Monitoring | `READ`
`READ` | Gives read-only access to Security Monitoring dashboards. Users cannot access NGINX Instance Manager or Settings. | - | Instance Manager
Security Monitoring
Settings | Analytics
Security Monitoring
User Management | `READ`
`READ`
`CREATE`, `READ`, `UPDATE` | Lets users view dashboards and manage accounts and roles.

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

{{< icon "lightbulb" >}} Best for "super-users" who manage dashboard access. Does not allow deleting accounts. | {{
}} @@ -62,4 +62,4 @@ Assign the Security Monitoring role to users or groups. ### Assign the role to user groups -{{< include "nim/rbac/assign-roles-to-user-groups.md" >}} \ No newline at end of file +{{< include "nim/rbac/assign-roles-to-user-groups.md" >}} diff --git a/content/nim/system-configuration/configure-forward-proxy.md b/content/nim/system-configuration/configure-forward-proxy.md index f0d1bda26..7e071047b 100644 --- a/content/nim/system-configuration/configure-forward-proxy.md +++ b/content/nim/system-configuration/configure-forward-proxy.md @@ -127,7 +127,7 @@ kubectl edit cm nms-conf -n If you’re deploying NGINX Instance Manager with Docker Compose, update the `docker-compose.yaml` file to configure a forward proxy. 1. **Before you begin**: Follow the [Docker Compose deployment guide]({{< ref "nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md" >}}) to set up Docker for the NGINX container registry. The deployment guide also covers additional environment variables you may want to consider before deployment. -2. {{}} {{}} +2. {{< icon "download">}} {{}} 3. Update `docker-compose.yaml` with the proxy settings: Modify the `services.nim.environment` section to include the proxy configuration: diff --git a/content/nim/system-configuration/secure-traffic.md b/content/nim/system-configuration/secure-traffic.md index 3e361c605..8ad45571e 100644 --- a/content/nim/system-configuration/secure-traffic.md +++ b/content/nim/system-configuration/secure-traffic.md @@ -194,7 +194,7 @@ To generate the necessary certificates, follow these steps. You can modify these
ca.cnf - {{}} {{}} + {{< icon "download">}} {{}} ``` yaml [req] diff --git a/content/nms/acm/getting-started/add-api-gateway.md b/content/nms/acm/getting-started/add-api-gateway.md index d04a0aec8..0af2db5d9 100644 --- a/content/nms/acm/getting-started/add-api-gateway.md +++ b/content/nms/acm/getting-started/add-api-gateway.md @@ -56,7 +56,7 @@ Use the appropriate example below to deploy an API Gateway with either HTTP, HTT ### HTTP -> {{< fa "lightbulb" >}} Use this example to get up and running quickly in a demo environment. +> {{< icon "lightbulb" >}} Use this example to get up and running quickly in a demo environment. {{}} @@ -91,7 +91,7 @@ Use the appropriate example below to deploy an API Gateway with either HTTP, HTT To deploy a cluster that uses HTTPS for secure inbound communication, you'll add the **TLS Inbound** policy. Because this is done at the Infrastructure level, this is considered a "Global Policy". -> {{< fa "lightbulb" >}} You need to provide a valid TLS server certificate and key in this API call. +> {{< icon "lightbulb" >}} You need to provide a valid TLS server certificate and key in this API call. {{}} Need to add requirements for sending this info? Base64 encoding required? @@ -140,7 +140,7 @@ Need to add requirements for sending this info? Base64 encoding required? To deploy a cluster that uses HTTP2 for secure inbound communication, you'll add the **TLS Inbound** policy. Because this is done at the Infrastructure level, this is considered a "Global Policy". -> {{< fa "lightbulb" >}} You need to provide a valid TLS server certificate and key in this API call. +> {{< icon "lightbulb" >}} You need to provide a valid TLS server certificate and key in this API call. {{}} @@ -224,4 +224,3 @@ Try sending traffic to the hostname you configured for the API Gateway. Send a P | GET | `/infrastructure/workspaces/{{infraWorkspaceName}}/environments/{{environmentName}}?includes=instances&includes=status`| {{}} - diff --git a/content/nms/acm/getting-started/add-devportal.md b/content/nms/acm/getting-started/add-devportal.md index ffee41ea3..6ee337534 100644 --- a/content/nms/acm/getting-started/add-devportal.md +++ b/content/nms/acm/getting-started/add-devportal.md @@ -41,7 +41,7 @@ Use the appropriate example below to deploy an HTTP or HTTPS Developer Portal. ### HTTP -> {{< fa "lightbulb" >}} Use this example to get up and running quickly in a demo environment. +> {{< icon "lightbulb" >}} Use this example to get up and running quickly in a demo environment. {{}} @@ -76,7 +76,7 @@ Use the appropriate example below to deploy an HTTP or HTTPS Developer Portal. To deploy a cluster that uses HTTPS for secure inbound communication, you'll add the **TLS Inbound** policy. Because this is done at the Infrastructure level, this is considered a "Global Policy". -> {{< fa "lightbulb" >}} You need to provide your TLS server certificate and key as base64-encoded strings in this API call. +> {{< icon "lightbulb" >}} You need to provide your TLS server certificate and key as base64-encoded strings in this API call. {{}} @@ -146,7 +146,7 @@ SSH access to the host and `sudo` permissions are required. The NGINX Management Suite management plane host uses the Developer Portal's hostname to communicate with the Dev Portal. You’ll need to update your DNS resolver settings with the Developer Portal's internal hostname. -> {{< fa "lightbulb" >}} The internal hostname is the hostname that you provided for the Developer Portal, prefixed with `acm.`. +> {{< icon "lightbulb" >}} The internal hostname is the hostname that you provided for the Developer Portal, prefixed with `acm.`. > For example: `acm.dev-portal.io` Next, open the Developer Portal in a browser window and make sure the portal loads. @@ -170,7 +170,7 @@ Because these settings are applied at the Infrastructure level, they are conside Note that many fields in the example JSON payload -- including the logo image and Markdown documents -- are base64-encoded. -**Example JSON payload**: {{< fa "download" >}} {{< link "/acm/customize-devportal.json" "customize-devportal.json" >}} +**Example JSON payload**: {{< icon "download" >}} {{< link "/acm/customize-devportal.json" "customize-devportal.json" >}} Before you move on to the next guide, open the Dev Portal in your browser to view the changes. You should see the default Dev Portal replaced by the custom settings. diff --git a/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md b/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md index 1ad7e99db..316b5c53f 100644 --- a/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md +++ b/content/nms/acm/how-to/devportals/installation/devportal-helm-chart.md @@ -115,7 +115,7 @@ Create a Dockerfile similar to the following example:
Example Dockerfile - {{< fa "download" >}} {{< link "/acm/containers/devportal/Dockerfile" "Download example Dockerfile" >}} + {{< icon "download" >}} {{< link "/acm/containers/devportal/Dockerfile" "Download example Dockerfile" >}} ```Dockerfile FROM ubuntu:focal @@ -193,7 +193,7 @@ Create a Dockerfile similar to the following example:
Example entrypoint.sh - {{< fa "download" >}} {{< link "/acm/containers/devportal/entrypoint.sh" "Download example entrypoint.sh file" >}} + {{< icon "download" >}} {{< link "/acm/containers/devportal/entrypoint.sh" "Download example entrypoint.sh file" >}} ```bash #!/bin/bash @@ -451,4 +451,3 @@ This configuration is recommended for proof of concept installations and not for ### Deploy Developer Portal using TLS for the backend API service {{< include "installation/helm/acm/dev-portal-helm-configurations/configure-devportal-helm-api-mtls.md" >}} - diff --git a/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md b/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md index 2d3f58eeb..4744645b9 100644 --- a/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md +++ b/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md @@ -34,7 +34,7 @@ To install NGINX Plus and njs, take the following steps on the Developer Portal 3. Select the following link to download the `fetch-external-acm-dataplane-dependencies.sh` script. This script downloads the necessary NGINX Plus and njs packages to a `tar.gz` archive. - {{}} {{}} + {{< icon "download">}} {{}} 4. To download the NGINX Plus and njs dependencies, run the `fetch-external-acm-dataplane-dependencies.sh` script. As parameters, specify your Linux distribution and the location of your `nginx-repo.crt` and `nginx-repo.key` files. diff --git a/content/nms/acm/how-to/infrastructure/customize-devportal.md b/content/nms/acm/how-to/infrastructure/customize-devportal.md index b7c9a31e7..a9e5f5458 100644 --- a/content/nms/acm/how-to/infrastructure/customize-devportal.md +++ b/content/nms/acm/how-to/infrastructure/customize-devportal.md @@ -162,7 +162,7 @@ To edit the **Get Started** steps: 1. Enter your desired **Title** (required), **Description** (required), icon, and **Alt Text** for each of the four steps. 1. Select **Save Changes**. -> {{< fa "fa-solid fa-lightbulb" >}} At this point, we recommend selecting **Save and Publish** to save any customizations you've made. +> {{< icon "fa-solid fa-lightbulb" >}} At this point, we recommend selecting **Save and Publish** to save any customizations you've made. > Verify that the changes have been applied, then move on to adding your [**Documentation**](#add-documentation). ### Documentation {#add-documentation} diff --git a/content/nms/acm/how-to/infrastructure/manage-api-infrastructure.md b/content/nms/acm/how-to/infrastructure/manage-api-infrastructure.md index a8f01d8aa..93b47c51a 100644 --- a/content/nms/acm/how-to/infrastructure/manage-api-infrastructure.md +++ b/content/nms/acm/how-to/infrastructure/manage-api-infrastructure.md @@ -184,11 +184,10 @@ Take the steps below to add an NGINX instance to an API Gateway. {{}} -> {{< fa "fa-solid fa-circle-question" >}} **Lost your install command?** +> {{< icon "fa-solid fa-circle-question" >}} **Lost your install command?** > > Don't worry! You can take the steps below to recover it: > > 1. In the API Connectivity Manager user interface, go to **Infrastructure > Environments > \**. > 1. Click anywhere in the row of the Cluster that you want to add an instance to. > 1. The **Onboarding Commands** will be shown in the cluster details drawer. - diff --git a/content/nms/acm/how-to/install-acm-offline.md b/content/nms/acm/how-to/install-acm-offline.md index 962a4efeb..b449e669d 100644 --- a/content/nms/acm/how-to/install-acm-offline.md +++ b/content/nms/acm/how-to/install-acm-offline.md @@ -152,7 +152,7 @@ The API Connectivity Manager data plane requires [NGINX Plus R24](https://docs.n 3. Select the following link to download the `fetch-external-acm-dataplane-dependencies.sh` script. This script downloads the necessary NGINX Plus and njs packages to a `tar.gz` archive. - {{}} {{}} + {{< icon "download">}} {{}} 4. To download the NGINX Plus and njs dependencies, run the `fetch-external-acm-dataplane-dependencies.sh` script. As parameters, specify your Linux distribution and the location of your `nginx-repo.crt` and `nginx-repo.key` files. diff --git a/layouts/index.html b/layouts/index.html index bbaee4b6b..307953716 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -1,46 +1,17 @@ {{ define "main" }} {{/* mf homepage */}} -
-
-
- NGINX Product Documentation -
-
- Learn how to deliver, manage, and protect your applications using F5 NGINX products. -
-

- NGINX One -

- -
-
- -

- NGINX One Console -

-
-
- Monitor your infrastructure, address security vulnerabilities, and assess the health of your NGINX fleet, all from a single console. -
+
+
+ {{ block "header" . }}{{end}} +
+
+
+
+ NGINX Product Documentation
-
- - -
-
- -
- NGINX Plus -
-
-
- The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. -
+
+ Learn how to deliver, manage, and protect your applications using F5 NGINX products.
@@ -214,17 +185,220 @@

+

+ NGINX One Console +

+
+
+ Monitor your infrastructure, address security vulnerabilities, and assess the health of your NGINX fleet, all from a single console. +
+

+ + + +
+
+ +
+ NGINX Plus +
+
+
+ The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. +
+
+
+ + +
+
+ +
+ NGINX Instance Manager +
+
+
+ Track and control NGINX Open Source and NGINX Plus instances. +
+
+
+ + +
+
+ +
+ NGINX Ingress Controller +
+
+
+ Kubernetes traffic management with API gateway, identity, and observability features +
+
+
+ + +
+
+ +
+ NGINX Gateway Fabric +
+
+
+ Next generation Kubernetes connectivity using the Gateway API. +
+
+
+ + +
+
+ +
+ NGINX Open Source +
+
+
+ The open source all-in-one load balancer, content cache, and web server +
+
+
+ + +
+
+ +
+ NGINX Agent +
+
+
+ A daemon providing observability data and remote configuration for NGINX Open Source and NGINX Plus instances +
+
+
+ + + + + +
+ {{ block "footer-v2" . }} + {{ partial "footer-v2.html" . }} + {{ end }} +
From 5108457a8ac66dd4cef98444f7c0daaa64a1de3a Mon Sep 17 00:00:00 2001 From: Jack Hickey <133868041+nginx-jack@users.noreply.github.com> Date: Mon, 23 Jun 2025 15:09:52 +0100 Subject: [PATCH 3/8] Homepage: Match mainframe css and layout setup --- layouts/catalogs/single.html | 6 +- layouts/index.html | 255 ++++++++++++++++++++++++++--------- 2 files changed, 194 insertions(+), 67 deletions(-) diff --git a/layouts/catalogs/single.html b/layouts/catalogs/single.html index ca27eff9f..b1fb68f10 100644 --- a/layouts/catalogs/single.html +++ b/layouts/catalogs/single.html @@ -1,10 +1,7 @@ {{ define "main" }}
- - + {{ .Content }} @@ -14,4 +11,3 @@ {{end }} {{ end }} - diff --git a/layouts/index.html b/layouts/index.html index 307953716..ffd91fb72 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -309,96 +309,227 @@

+
+ Learn how to deliver, manage, and protect your applications using F5 NGINX products. +
+

+ NGINX One +

+ +
+
+ +

+ NGINX One Console +

+
+
+ Monitor your infrastructure, address security vulnerabilities, and assess the health of your NGINX fleet, all from a single console. +
+
+
-
-
- NGINX App Protect + +
+
+ +
+ NGINX Plus +
+
+ The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. +
+
+
- -
-
- -
- NGINX App Protect WAF -
+
+
+
+ -
- Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs +
+ NGINX Instance Manager +
+
+
+ Track and control NGINX Open Source and NGINX Plus instances. +
+
+
+ + +
+ +
+ Kubernetes traffic management with API gateway, identity, and observability features +
+
+ - -
-
- -
- NGINX App Protect DoS -
+
+ + -
-
- NGINX as a Service + +
+
+ +
+ NGINX Agent +
+
+
+ A daemon providing observability data and remote configuration for NGINX Open Source and NGINX Plus instances +
+
- +
-
- -
- NGINX as a Service for Azure -
+
+ +
+ Subscription Licensing & Solutions
+
+
+ Stay compliant with your NGINX subscription licenses and see how you can use NGINX One to build secure, scalable, and high-performing applications and APIs. +
+
+
-
- Infrastructure-as-a-Service (IaaS) version of NGINX Plus for your Microsoft Azure application stack +
+ +
+
+ NGINX App Protect +
+ + +
+
+ +
+ NGINX App Protect WAF
-
+
+ Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs +
+
+ + + +
+
+ +
+ NGINX App Protect DoS +
+
+
+ Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs +
+
+
+
+ +
+
+ NGINX as a Service
+ +
+
+ +
+ NGINX as a Service for Azure +
+
-
- -
-
- -
- NGINX Unit -
+ +
+
+ More NGINX Products +
+ +
+
+
+ -
- Dynamic app server that can run beside NGINX, NGINX Plus, or on its own +
+ NGINX Unit
-
+
+ Dynamic app server that can run beside NGINX, NGINX Plus, or on its own +
+
-
- {{ block "footer-v2" . }} - {{ partial "footer-v2.html" . }} - {{ end }} -
+
+
From a632f59d38c3093601c7aef9adc48c341fd4a1b1 Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Tue, 15 Jul 2025 10:26:55 -0700 Subject: [PATCH 4/8] Rewrite main landing page to be in markdown + updated card shortcode usage (#818) feat: Rewrote main landing page to be in markdown + updated card shortcode usage --- content/_index.md | 55 +++- content/agent/_index.md | 10 +- content/nginx-one/_index.md | 40 ++- layouts/index.html | 537 +----------------------------------- 4 files changed, 78 insertions(+), 564 deletions(-) diff --git a/content/_index.md b/content/_index.md index d6816edad..8370b5f87 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,4 +1,57 @@ --- title: NGINX Product Documentation description: Learn how to deliver, manage, and protect your applications using F5 NGINX products. ---- \ No newline at end of file +--- + +## NGINX Product Documentation +Learn how to deliver, manage, and protect your applications using F5 NGINX products. + +{{}} + {{}} + {{}} + Monitor your infrastructure, address security vulnerabilities, and assess the health of your NGINX fleet, all from a single console. + {{}} + {{}} + The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. + {{}} + {{}} + Track and control NGINX Open Source and NGINX Plus instances. + {{}} + {{}} + Kubernetes traffic management with API gateway, identity, and observability features. + {{}} + {{}} + Next generation Kubernetes connectivity using the Gateway API. + {{}} + {{}} + The open source all-in-one load balancer, content cache, and web server + {{}} + {{}} + A daemon providing observability data and remote configuration for NGINX Open Source and NGINX Plus instances + {{}} + {{}} + Stay compliant with your NGINX subscription licenses and see how you can use NGINX One to build secure, scalable, and high-performing applications and APIs. + {{}} + {{}} + + {{}} + {{}} + Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs + {{}} + {{}} + Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs + {{}} + {{}} + + {{}} + {{}} + Infrastructure-as-a-Service (IaaS) version of NGINX Plus for your Microsoft Azure application stack + {{}} + {{}} + + {{}} + {{}} + Dynamic app server that can run beside NGINX, NGINX Plus, or on its own + {{}} + {{}} +{{}} \ No newline at end of file diff --git a/content/agent/_index.md b/content/agent/_index.md index 478ab4f4b..f850a86ee 100644 --- a/content/agent/_index.md +++ b/content/agent/_index.md @@ -35,12 +35,12 @@ configurations, collection and reporting of real-time NGINX performance and oper {{}} {{}} - {{}} + {{}} Learn everything you need to know about NGINX Agent {{}} - {{}} + {{}} Install NGINX Agent and run a mock control plane {{}} {{}} @@ -48,11 +48,11 @@ configurations, collection and reporting of real-time NGINX performance and oper {{}} {{}} - {{}} + {{}} {{}} - {{}} + {{}} {{}} - {{}} + {{}} {{}} {{}} {{}} \ No newline at end of file diff --git a/content/nginx-one/_index.md b/content/nginx-one/_index.md index b17183e2b..415f293b9 100644 --- a/content/nginx-one/_index.md +++ b/content/nginx-one/_index.md @@ -22,7 +22,7 @@ F5 NGINX One Console makes it easy to manage NGINX instances across locations an {{}} {{}} - {{}} + {{}} Get up and running with NGINX One Console {{}} {{}} @@ -31,14 +31,17 @@ F5 NGINX One Console makes it easy to manage NGINX instances across locations an {{}} {{}} - {{}} + {{}} Work with data plane keys, containers, and proxy servers {{}} - {{}} + {{}} Manage one instance or groups of instances. Monitor certificates. Set up metrics. {{}} - {{}} - Set up security policies by instance and group + {{}} + Assign responsibilities with role-based access control + {{}} + {{}} + Manage your NGINX fleet over REST {{}} {{}} Monitor deployments for CVEs and certificates @@ -50,19 +53,10 @@ F5 NGINX One Console makes it easy to manage NGINX instances across locations an {{}} {{}} - {{}} - Monitor deployments for CVEs and certificates - {{}} - {{}} - Assign responsibilities with role-based access control - {{}} - {{}} - Manage your NGINX fleet over REST - {{}} - {{}} + {{}} See latest updates: New features, improvements, and bug fixes {{}} - {{}} + {{}} See latest updates: New features, improvements, and bug fixes {{}} {{}} @@ -73,31 +67,31 @@ F5 NGINX One Console makes it easy to manage NGINX instances across locations an {{}} {{< card-section title="Kubernetes Solutions">}} - {{< card title="NGINX Ingress Controller" titleUrl="/nginx-ingress-controller/" brandIcon="NGINX-Ingress-Controller-product-icon.png">}} + {{< card title="NGINX Ingress Controller" titleUrl="/nginx-ingress-controller/" brandIcon="NGINX-Ingress-Controller-product-icon.svg">}} Kubernetes traffic management with API gateway, identity, and observability features. {{}} - {{< card title="NGINX Gateway Fabric" titleUrl="/nginx-gateway-fabric" brandIcon="NGINX-product-icon.png">}} + {{< card title="NGINX Gateway Fabric" titleUrl="/nginx-gateway-fabric/" brandIcon="NGINX-product-icon.svg">}} Next generation Kubernetes connectivity using the Gateway API. {{}} {{}} {{< card-section title="Local Console Option">}} - {{< card title="NGINX Instance Manager" titleUrl="/nginx-instance-manager" brandIcon="NGINX-Instance-Manager-product-icon.png">}} + {{< card title="NGINX Instance Manager" titleUrl="/nginx-instance-manager/" brandIcon="NGINX-Instance-Manager-product-icon.svg">}} Track and control NGINX Open Source and NGINX Plus instances. {{}} {{}} {{< card-section title="Modern App Delivery">}} - {{< card title="NGINX Plus" titleUrl="/nginx" brandIcon="NGINX-Plus-product-icon-RGB.png">}} + {{< card title="NGINX Plus" titleUrl="/nginx/" brandIcon="NGINX-Plus-product-icon-RGB.svg">}} The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. {{}} - {{< card title="NGINX Open Source" titleUrl="https://nginx.org" brandIcon="NGINX-product-icon.png">}} + {{< card title="NGINX Open Source" titleUrl="https://nginx.org" brandIcon="NGINX-product-icon.svg">}} The open source all-in-one load balancer, content cache, and web server {{}} {{}} {{< card-section title="Security">}} - {{< card title="NGINX App Protect WAF" titleUrl="/nginx-app-protect-waf" brandIcon="NGINX-App-Protect-WAF-product-icon.png">}} + {{< card title="NGINX App Protect WAF" titleUrl="/nginx-app-protect-waf/" brandIcon="NGINX-App-Protect-WAF-product-icon.svg">}} Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs. {{}} - {{< card title="NGINX App Protect DoS" titleUrl="/nginx-app-protect-dos" brandIcon="NGINX-App-Protect-DoS-product-icon.png">}} + {{< card title="NGINX App Protect DoS" titleUrl="/nginx-app-protect-dos/" brandIcon="NGINX-App-Protect-DoS-product-icon.svg">}} Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs. {{}} {{}} diff --git a/layouts/index.html b/layouts/index.html index ffd91fb72..303e1dfad 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -1,536 +1,3 @@ {{ define "main" }} -{{/* mf homepage */}} - -
-
- {{ block "header" . }}{{end}} -
-
- - - - - - - - -
- Learn how to deliver, manage, and protect your applications using F5 NGINX products. -
-

- NGINX One -

- -
-
- -

- NGINX One Console -

-
-
- Monitor your infrastructure, address security vulnerabilities, and assess the health of your NGINX fleet, all from a single console. -
-
-
- - -
-
- -
- NGINX Plus -
-
-
- The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. -
-
-
- - -
-
- -
- NGINX Instance Manager -
-
-
- Track and control NGINX Open Source and NGINX Plus instances. -
-
-
- - -
-
- -
- NGINX Ingress Controller -
-
-
- Kubernetes traffic management with API gateway, identity, and observability features -
-
-
- - -
-
- -
- NGINX Gateway Fabric -
-
-
- Next generation Kubernetes connectivity using the Gateway API. -
-
-
- - -
-
- -
- NGINX Open Source -
-
-
- The open source all-in-one load balancer, content cache, and web server -
-
-
- - -
-
- -
- NGINX Agent -
-
-
- A daemon providing observability data and remote configuration for NGINX Open Source and NGINX Plus instances -
-
-
- - -
-
- -
- Subscription Licensing & Solutions -
-
-
- Stay compliant with your NGINX subscription licenses and see how you can use NGINX One to build secure, scalable, and high-performing applications and APIs. -
-
-
- -
- - - - - - - -
- - -
- -{{ end }} +{{ partial "homepage.html" . }} +{{end}} From 7eccaab835ea578cb6995e02994a4056c6a89a4a Mon Sep 17 00:00:00 2001 From: Lam <150060045+lamATnginx@users.noreply.github.com> Date: Tue, 15 Jul 2025 10:44:09 -0700 Subject: [PATCH 5/8] Refactored icon usage to use new shortcode (#801) * feat: Rewrote main landing page to be in markdown + updated card shortcode usage * Update card params correctly * chore: Refactored icon usage to use new shortcode * Removed brand icons * Removed final few brand icons --- .../install-upgrade/install-from-oss-repo.md | 14 ++++++------- .../install-upgrade/install-from-plus-repo.md | 14 ++++++------- .../agent/install-upgrade/uninstall.md | 14 ++++++------- .../monitoring/live-activity-monitoring.md | 20 +++++++++---------- .../nginx-configuration-portal.md | 2 +- content/nginxaas-azure/quickstart/geoip2.md | 2 +- ...y-nginx-instance-manager-docker-compose.md | 4 ++-- .../build-and-deploy.md | 2 +- .../infrastructure-as-code/configuration.md | 2 +- content/nim/deploy/vm-bare-metal/install.md | 4 ++-- .../add-license-disconnected-deployment.md | 2 +- .../offline-install-guide-manual.md | 4 ++-- .../nim/disconnected/offline-install-guide.md | 2 +- .../report-usage-disconnected-deployment.md | 2 +- .../configure-forward-proxy.md | 2 +- .../system-configuration/secure-traffic.md | 2 +- .../installation/install-devportal-offline.md | 2 +- content/nms/acm/how-to/install-acm-offline.md | 2 +- 18 files changed, 48 insertions(+), 48 deletions(-) diff --git a/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md b/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md index 92c993e00..a36e42aeb 100644 --- a/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md +++ b/content/nginx-one/agent/install-upgrade/install-from-oss-repo.md @@ -30,7 +30,7 @@ up the `nginx-agent` packages repository. Afterward, you can install and update NGINX Agent from the repository.
-{{< icon "brands fa-centos" >}} Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux +Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux ### Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux @@ -39,7 +39,7 @@ NGINX Agent from the repository.
-{{< icon "brands fa-ubuntu" >}} Install NGINX Agent on Ubuntu +Install NGINX Agent on Ubuntu ### Install NGINX Agent on Ubuntu @@ -48,7 +48,7 @@ NGINX Agent from the repository.
-{{< icon "brands fa-debian" >}} Install NGINX Agent on Debian +Install NGINX Agent on Debian ### Install NGINX Agent on Debian @@ -57,7 +57,7 @@ NGINX Agent from the repository.
-{{< icon "brands fa-suse" >}} Install NGINX Agent on SLES +Install NGINX Agent on SLES ### Install NGINX Agent on SLES @@ -66,7 +66,7 @@ NGINX Agent from the repository.
-{{< icon "solid fa-mountain-sun" >}} Install NGINX Agent on Alpine Linux +Install NGINX Agent on Alpine Linux ### Install NGINX Agent on Alpine Linux @@ -75,7 +75,7 @@ NGINX Agent from the repository.
-{{< icon "brands fa-aws" >}} Install NGINX Agent on Amazon Linux +Install NGINX Agent on Amazon Linux ### Install NGINX Agent on Amazon Linux @@ -83,7 +83,7 @@ NGINX Agent from the repository.
-{{< icon "brands fa-freebsd" >}} Install NGINX Agent on FreeBSD +Install NGINX Agent on FreeBSD ### Install NGINX Agent on FreeBSD diff --git a/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md b/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md index 64d4a92e3..85acd8e9d 100644 --- a/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md +++ b/content/nginx-one/agent/install-upgrade/install-from-plus-repo.md @@ -31,7 +31,7 @@ NGINX Agent from the repository.
-{{< icon "brands fa-centos" >}} Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux +Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux ### Install NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux @@ -40,7 +40,7 @@ NGINX Agent from the repository.
-{{< icon "brands fa-ubuntu" >}} Install NGINX Agent on Ubuntu +Install NGINX Agent on Ubuntu ### Install NGINX Agent on Ubuntu @@ -49,7 +49,7 @@ NGINX Agent from the repository.
-{{< icon "brands fa-debian" >}} Install NGINX Agent on Debian +Install NGINX Agent on Debian ### Install NGINX Agent on Debian @@ -58,7 +58,7 @@ NGINX Agent from the repository.
-{{< icon "brands fa-suse" >}} Install NGINX Agent on SLES +Install NGINX Agent on SLES ### Install NGINX Agent on SLES @@ -67,7 +67,7 @@ NGINX Agent from the repository.
-{{< icon "solid fa-mountain-sun" >}} Install NGINX Agent on Alpine Linux +Install NGINX Agent on Alpine Linux ### Install NGINX Agent on Alpine Linux @@ -75,7 +75,7 @@ NGINX Agent from the repository.
-{{< icon "brands fa-aws" >}} Install NGINX Agent on Amazon Linux +Install NGINX Agent on Amazon Linux ### Install NGINX Agent on Amazon Linux @@ -84,7 +84,7 @@ NGINX Agent from the repository.
-{{< icon "brands fa-freebsd" >}} Install NGINX Agent on FreeBSD +Install NGINX Agent on FreeBSD ### Install NGINX Agent on FreeBSD diff --git a/content/nginx-one/agent/install-upgrade/uninstall.md b/content/nginx-one/agent/install-upgrade/uninstall.md index 4010c5a67..6f16d9791 100644 --- a/content/nginx-one/agent/install-upgrade/uninstall.md +++ b/content/nginx-one/agent/install-upgrade/uninstall.md @@ -19,7 +19,7 @@ The user following performing the uninstall steps needs to have `root` privilege Complete the following steps on each host where you've installed NGINX Agent
-{{< icon "brands fa-centos" >}} Uninstall NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux +Uninstall NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux ### Uninstall NGINX Agent on RHEL, CentOS, Rocky Linux, AlmaLinux, and Oracle Linux @@ -28,7 +28,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< icon "brands fa-ubuntu" >}} Uninstall NGINX Agent on Ubuntu +Uninstall NGINX Agent on Ubuntu ### Uninstall NGINX Agent on Ubuntu @@ -37,7 +37,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< icon "brands fa-debian" >}} Uninstall NGINX Agent on Debian +Uninstall NGINX Agent on Debian ### Uninstall NGINX Agent on Debian @@ -46,7 +46,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< icon "brands fa-suse" >}} Uninstall NGINX Agent on SLES +Uninstall NGINX Agent on SLES ### Uninstall NGINX Agent on SLES @@ -55,7 +55,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< icon "solid fa-mountain-sun" >}} Uninstall NGINX Agent on Alpine Linux +Uninstall NGINX Agent on Alpine Linux ### Uninstall NGINX Agent on Alpine Linux @@ -64,7 +64,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< icon "brands fa-aws" >}} Uninstall NGINX Agent on Amazon Linux +Uninstall NGINX Agent on Amazon Linux ### Uninstall NGINX Agent on Amazon Linux @@ -73,7 +73,7 @@ Complete the following steps on each host where you've installed NGINX Agent
-{{< icon "brands fa-freebsd" >}} Uninstall NGINX Agent on FreeBSD +Uninstall NGINX Agent on FreeBSD ### Uninstall NGINX Agent on FreeBSD diff --git a/content/nginx/admin-guide/monitoring/live-activity-monitoring.md b/content/nginx/admin-guide/monitoring/live-activity-monitoring.md index ce210e7fc..e1051af0c 100644 --- a/content/nginx/admin-guide/monitoring/live-activity-monitoring.md +++ b/content/nginx/admin-guide/monitoring/live-activity-monitoring.md @@ -521,16 +521,16 @@ To enable the Swagger UI: |OpenAPI YAML File/API Version | NGINX Plus Version | Changes | | ---| --- | --- | -|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [33]({{< ref "/nginx/releases.md#r33" >}}), [34]({{< ref "nginx/releases.md#r34" >}})| The [`/license`](https://nginx.org/en/docs/http/ngx_http_api_module.html#license) data were added| -|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [30]({{< ref "nginx/releases.md#r30" >}}), [31]({{< ref "nginx/releases.md#r31" >}}), [32]({{< ref "nginx/releases.md#r32" >}}) | The [`/workers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#workers_) data were added| -|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v8/nginx_api.yaml) for API version 8 | NGINX Plus Releases [27]({{< ref "nginx/releases.md#r27" >}}), [28]({{< ref "nginx/releases.md#r28" >}}), [29]({{< ref "nginx/releases.md#r29" >}}) | SSL statistics for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream) and stream [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_upstream), SSL statistics for each HTTP [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone) and stream [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_server_zone), extended statistics for [SSL](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_ssl_object) endpoint| -|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v7/nginx_api.yaml) for API version 7 | NGINX Plus Releases [25]({{< ref "nginx/releases.md#r25" >}}), [26]({{< ref "nginx/releases.md#r26" >}}),| The `codes` data in `responses` for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream), [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone), and [location zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_location_zone) were added| -|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v6/nginx_api.yaml) for API version 6 | NGINX Plus Releases [20]({{< ref "nginx/releases.md#r20" >}}), [21]({{< ref "nginx/releases.md#r21" >}}), [22]({{< ref "nginx/releases.md#r22" >}}), [23]({{< ref "nginx/releases.md#r23" >}}), [24]({{< ref "nginx/releases.md#r24" >}}) | The [`/stream/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_limit_conns_), [`/http/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_conns_), and [`/http/limit_reqs/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_reqs_) data were added | -|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v5/nginx_api.yaml) for API version 5 | NGINX Plus Release [19]({{< ref "nginx/releases.md#r19" >}}) | The `expire` parameter of a [key-value](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) pair can be [set](https://nginx.org/en/docs/http/ngx_http_api_module.html#postHttpKeyvalZoneData) or [changed](https://nginx.org/en/docs/http/ngx_http_api_module.html#patchHttpKeyvalZoneKeyValue), the [`/resolvers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#resolvers_) and [`/http/location_zones/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_location_zones_) data were added | -|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v4/nginx_api.yaml) for API version 4 | NGINX Plus Release [18]({{< ref "nginx/releases.md#r18" >}}) | The `path` and `method` fields of [nginx error object](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_error) were removed. These fields continue to exist in earlier api versions, but show an empty value | -|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v3/nginx_api.yaml) for API version 3 | NGINX Plus Releases [15]({{< ref "nginx/releases.md#r15" >}}), [16]({{< ref "nginx/releases.md#r16" >}}), [17]({{< ref "nginx/releases.md#r17" >}}) | The [`/stream/zone_sync/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_zone_sync_) data were added | -|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v2/nginx_api.yaml) for API version 2 | NGINX Plus Release [14]({{< ref "nginx/releases.md#r14" >}}) | The [`drain`](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream_conf_server) parameter was added | -|[{{< icon "download">}}OpenAPI v2](/nginx/admin-guide/yaml/v1/nginx_api.yaml) for API version 1 | NGINX Plus Release [13]({{< ref "nginx/releases.md#r13" >}})| The [`/stream/keyvals/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_keyvals_) data were added | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [33]({{< ref "/nginx/releases.md#r33" >}}), [34]({{< ref "nginx/releases.md#r34" >}})| The [`/license`](https://nginx.org/en/docs/http/ngx_http_api_module.html#license) data were added| +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [30]({{< ref "nginx/releases.md#r30" >}}), [31]({{< ref "nginx/releases.md#r31" >}}), [32]({{< ref "nginx/releases.md#r32" >}}) | The [`/workers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#workers_) data were added| +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v8/nginx_api.yaml) for API version 8 | NGINX Plus Releases [27]({{< ref "nginx/releases.md#r27" >}}), [28]({{< ref "nginx/releases.md#r28" >}}), [29]({{< ref "nginx/releases.md#r29" >}}) | SSL statistics for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream) and stream [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_upstream), SSL statistics for each HTTP [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone) and stream [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_server_zone), extended statistics for [SSL](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_ssl_object) endpoint| +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v7/nginx_api.yaml) for API version 7 | NGINX Plus Releases [25]({{< ref "nginx/releases.md#r25" >}}), [26]({{< ref "nginx/releases.md#r26" >}}),| The `codes` data in `responses` for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream), [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone), and [location zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_location_zone) were added| +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v6/nginx_api.yaml) for API version 6 | NGINX Plus Releases [20]({{< ref "nginx/releases.md#r20" >}}), [21]({{< ref "nginx/releases.md#r21" >}}), [22]({{< ref "nginx/releases.md#r22" >}}), [23]({{< ref "nginx/releases.md#r23" >}}), [24]({{< ref "nginx/releases.md#r24" >}}) | The [`/stream/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_limit_conns_), [`/http/limit_conns/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_conns_), and [`/http/limit_reqs/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_limit_reqs_) data were added | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v5/nginx_api.yaml) for API version 5 | NGINX Plus Release [19]({{< ref "nginx/releases.md#r19" >}}) | The `expire` parameter of a [key-value](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) pair can be [set](https://nginx.org/en/docs/http/ngx_http_api_module.html#postHttpKeyvalZoneData) or [changed](https://nginx.org/en/docs/http/ngx_http_api_module.html#patchHttpKeyvalZoneKeyValue), the [`/resolvers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#resolvers_) and [`/http/location_zones/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#http_location_zones_) data were added | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v4/nginx_api.yaml) for API version 4 | NGINX Plus Release [18]({{< ref "nginx/releases.md#r18" >}}) | The `path` and `method` fields of [nginx error object](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_error) were removed. These fields continue to exist in earlier api versions, but show an empty value | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v3/nginx_api.yaml) for API version 3 | NGINX Plus Releases [15]({{< ref "nginx/releases.md#r15" >}}), [16]({{< ref "nginx/releases.md#r16" >}}), [17]({{< ref "nginx/releases.md#r17" >}}) | The [`/stream/zone_sync/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_zone_sync_) data were added | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v2/nginx_api.yaml) for API version 2 | NGINX Plus Release [14]({{< ref "nginx/releases.md#r14" >}}) | The [`drain`](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream_conf_server) parameter was added | +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v1/nginx_api.yaml) for API version 1 | NGINX Plus Release [13]({{< ref "nginx/releases.md#r13" >}})| The [`/stream/keyvals/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#stream_keyvals_) data were added | {{}} diff --git a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md index 50a94a887..ef07b74aa 100644 --- a/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md +++ b/content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-portal.md @@ -39,7 +39,7 @@ NGINXaaS supports Layer 7 HTTP loadbalancing. To configure .com and .net servers | -------- | ----------- | | File path | Each NGINX configuration file can be uniquely identified by a file path (for example, nginx.conf or /etc/nginx/nginx.conf) to align with the intended NGINX configuration file structure. | | Root file | The root file is the main NGINX configuration file.
  • The first file created will be the root file by default. You can designate a different root file if you have more than a single configuration file in your deployment.
  • The root file is designated with a {{< golden-star >}} icon on the portal.
| - | Protected File | Indicates that the file may contain sensitive data such as passwords or represent an ssl/tls certificate.
  • To protect a file, enable the **Protected** {{< icon "solid fa-toggle-on">}} toggle button.
  • You cannot access the file contents of a protected file saved to the NGINX configuration, but you can view its metadata, such as the SHA-256 hash of the file contents.
  • You can provide new contents for an existing protected file using the **Overwrite** link or resubmit it without having to provide the file contents again.
  • To modify the file path of a protected file or convert it to a regular file, delete the original file and create a new one.
  • A protected file is designated with a {{< icon "solid fa-lock">}} icon on the portal.
| + | Protected File | Indicates that the file may contain sensitive data such as passwords or represent an ssl/tls certificate.
  • To protect a file, enable the **Protected** {{}} toggle button.
  • You cannot access the file contents of a protected file saved to the NGINX configuration, but you can view its metadata, such as the SHA-256 hash of the file contents.
  • You can provide new contents for an existing protected file using the **Overwrite** link or resubmit it without having to provide the file contents again.
  • To modify the file path of a protected file or convert it to a regular file, delete the original file and create a new one.
  • A protected file is designated with a {{}} icon on the portal.
| {{}} {{}}If specifying an absolute file path, see the [NGINX Filesystem Restrictions table]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/overview/#nginx-filesystem-restrictions" >}}) for the allowed directories the file can be written to.{{}} diff --git a/content/nginxaas-azure/quickstart/geoip2.md b/content/nginxaas-azure/quickstart/geoip2.md index dbdc27134..e764cd0f9 100644 --- a/content/nginxaas-azure/quickstart/geoip2.md +++ b/content/nginxaas-azure/quickstart/geoip2.md @@ -18,7 +18,7 @@ NGINXaaS uses your MaxMind license to download GeoIP2 databases, puts them in th To enable GeoIP2 you [update your NGINX configuration]({{< ref "/nginxaas-azure/getting-started/nginx-configuration/overview.md">}}) to include your MaxMind license and the relevant NGINX directives. 1. Log into MaxMind and [generate a `GeoIP.conf`](https://dev.maxmind.com/geoip/updating-databases/#2-obtain-geoipconf-with-account-information) file. -2. Add the `GeoIP.conf` file to your NGINX configuration, using the exact path `/etc/nginx/GeoIP.conf`. The `GeoIP.conf` will be validated, and must include `AccountID`, `LicenseKey`, and `EditionIDs`. Other configuration options in `GeoIP.conf` are ignored. We recommend you enable the **Protected** {{< icon "solid fa-toggle-on">}} toggle button to mark `GeoIP.conf` as a protected file, which will prevent the contents from being read via any Azure client tools. +2. Add the `GeoIP.conf` file to your NGINX configuration, using the exact path `/etc/nginx/GeoIP.conf`. The `GeoIP.conf` will be validated, and must include `AccountID`, `LicenseKey`, and `EditionIDs`. Other configuration options in `GeoIP.conf` are ignored. We recommend you enable the **Protected** {{}} toggle button to mark `GeoIP.conf` as a protected file, which will prevent the contents from being read via any Azure client tools. 3. Add the `load_module` directive - the modules are available at `modules/ngx_http_geoip2_module.so` or `modules/ngx_stream_geoip2_module.so`. 4. Add `geoip2` directives to your NGINX configuration as desired. The `EditionIDs` from your `GeoIP.conf` are available at `/usr/local/share/GeoIP` diff --git a/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md b/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md index dd37fa944..b1f9523bb 100644 --- a/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md +++ b/content/nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md @@ -31,9 +31,9 @@ Before you begin, make sure you have the following: - A JSON Web Token (JWT) from your [MyF5 subscriptions page](https://my.f5.com/manage/s/subscriptions). This is the same token used for NGINX Plus. - The right `docker-compose.yaml` file for your setup: - For **standard mode** (with metrics and dashboards): - {{< icon "download">}} {{}} + {{}} {{}} - For **lightweight mode** (no ClickHouse, no metrics): - {{< icon "download">}} {{}} + {{}} {{}} {{< note >}} If you're not sure which one to use, start with lightweight mode. You can always switch later by changing the Compose file and setting `ENABLE_METRICS: "true"`.{{< /note >}} diff --git a/content/nim/deploy/infrastructure-as-code/build-and-deploy.md b/content/nim/deploy/infrastructure-as-code/build-and-deploy.md index f54fc9dbd..aed40e279 100644 --- a/content/nim/deploy/infrastructure-as-code/build-and-deploy.md +++ b/content/nim/deploy/infrastructure-as-code/build-and-deploy.md @@ -18,7 +18,7 @@ The deployment process has two stages: - Generate an image using Packer. - Deploy the image using Terraform. -{{< call-out "tip" "Open-Source Project on GitHub" "fa-brands fa-github" >}} +{{< call-out "tip" "Open-Source Project on GitHub" >}} The steps in this guide refer to the [NGINX Instance Manager Infrastructure as Code (IAC)](https://github.com/nginxinc/nginx-management-suite-iac) project on GitHub. {{< /call-out >}} diff --git a/content/nim/deploy/infrastructure-as-code/configuration.md b/content/nim/deploy/infrastructure-as-code/configuration.md index 51c43dee3..481a7d30b 100644 --- a/content/nim/deploy/infrastructure-as-code/configuration.md +++ b/content/nim/deploy/infrastructure-as-code/configuration.md @@ -15,7 +15,7 @@ This guide explains how to install F5 NGINX Instance Manager using the open-sour With Ansible, you can automate and replicate your installation across multiple environments. -{{< call-out "tip" "Open-Source Project on GitHub" "fa-brands fa-github" >}} +{{< call-out "tip" "Open-Source Project on GitHub" >}} The steps in this guide refer to the [Ansible NGINX Instance Manager Role](https://github.com/nginxinc/ansible-role-nginx-management-suite) project on GitHub. {{< /call-out >}} diff --git a/content/nim/deploy/vm-bare-metal/install.md b/content/nim/deploy/vm-bare-metal/install.md index 5519f8104..f06b29897 100644 --- a/content/nim/deploy/vm-bare-metal/install.md +++ b/content/nim/deploy/vm-bare-metal/install.md @@ -30,7 +30,7 @@ Follow these steps to prepare for installing NGINX Instance Manager: - **Download the installation script**: - {{< icon "download">}} {{}} + {{}} {{}} - **Download the certificate and private key** (see the steps [below](#download-cert-key)): Use the certificate and private key for NGINX Instance Manager (the same files used for NGINX Plus). @@ -91,7 +91,7 @@ Download the certificate and private key required for NGINX Instance Manager. Th If you haven’t already downloaded the script, you can download it here: -{{< icon "download">}} {{}} +{{}} {{}} ### Prepare your system for installation diff --git a/content/nim/disconnected/add-license-disconnected-deployment.md b/content/nim/disconnected/add-license-disconnected-deployment.md index e40b43b86..e1ec9fb32 100644 --- a/content/nim/disconnected/add-license-disconnected-deployment.md +++ b/content/nim/disconnected/add-license-disconnected-deployment.md @@ -51,7 +51,7 @@ To add a license and submit the initial usage report in a disconnected environme
-1. {{< icon "download">}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). +1. {{}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). 1. Run the following command to allow the script to run: ```bash diff --git a/content/nim/disconnected/offline-install-guide-manual.md b/content/nim/disconnected/offline-install-guide-manual.md index 0c851f509..6cc81f7f6 100644 --- a/content/nim/disconnected/offline-install-guide-manual.md +++ b/content/nim/disconnected/offline-install-guide-manual.md @@ -35,7 +35,7 @@ To complete the steps in this guide, you need to download the NGINX Instance Man Local dependencies are common Linux packages like `curl` or `openssl`, which most Linux distributions include by default. When installing NGINX Instance Manager, your package manager will automatically install these dependencies. Without internet access, ensure your package manager can use a local package repository, such as a distribution DVD/ISO image or internal network mirror. Check your Linux distribution's documentation for details. -{{< call-out "note" "RedHat on AWS" "fa-brands fa-aws" >}}If you're using AWS and can't attach remote or local RedHat package repositories, download the necessary packages on another RedHat machine and copy them to your target machine. Use the `yumdownloader` utility for this task: +{{< call-out "note" "RedHat on AWS" >}}If you're using AWS and can't attach remote or local RedHat package repositories, download the necessary packages on another RedHat machine and copy them to your target machine. Use the `yumdownloader` utility for this task: . {{}} @@ -47,7 +47,7 @@ To download external dependencies: 1. Download the `fetch-external-dependencies.sh` script: - {{< icon "download">}} {{}} + {{}} {{}} 2. Run the script to download the external dependencies for your specific Linux distribution: diff --git a/content/nim/disconnected/offline-install-guide.md b/content/nim/disconnected/offline-install-guide.md index 3da69a4e7..5dd212173 100644 --- a/content/nim/disconnected/offline-install-guide.md +++ b/content/nim/disconnected/offline-install-guide.md @@ -62,7 +62,7 @@ Download the SSL certificate and private key required for NGINX Instance Manager ### Download the installation script -{{< icon "download">}} {{}} +{{}} {{}} ## Package NGINX Instance Manager and dependencies for offline installation diff --git a/content/nim/disconnected/report-usage-disconnected-deployment.md b/content/nim/disconnected/report-usage-disconnected-deployment.md index 4a4d5c14c..a3913a058 100644 --- a/content/nim/disconnected/report-usage-disconnected-deployment.md +++ b/content/nim/disconnected/report-usage-disconnected-deployment.md @@ -47,7 +47,7 @@ To submit a usage report in a disconnected environment, use the provided `licens
-1. {{< icon "download">}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). +1. {{}}[Download license_usage_offline.sh](/scripts/license_usage_offline.sh). 1. Run the following command to allow the script to run: ```bash diff --git a/content/nim/system-configuration/configure-forward-proxy.md b/content/nim/system-configuration/configure-forward-proxy.md index 7e071047b..51746e52f 100644 --- a/content/nim/system-configuration/configure-forward-proxy.md +++ b/content/nim/system-configuration/configure-forward-proxy.md @@ -127,7 +127,7 @@ kubectl edit cm nms-conf -n If you’re deploying NGINX Instance Manager with Docker Compose, update the `docker-compose.yaml` file to configure a forward proxy. 1. **Before you begin**: Follow the [Docker Compose deployment guide]({{< ref "nim/deploy/docker/deploy-nginx-instance-manager-docker-compose.md" >}}) to set up Docker for the NGINX container registry. The deployment guide also covers additional environment variables you may want to consider before deployment. -2. {{< icon "download">}} {{}} +2. {{}} {{}} 3. Update `docker-compose.yaml` with the proxy settings: Modify the `services.nim.environment` section to include the proxy configuration: diff --git a/content/nim/system-configuration/secure-traffic.md b/content/nim/system-configuration/secure-traffic.md index 8ad45571e..5a95b9905 100644 --- a/content/nim/system-configuration/secure-traffic.md +++ b/content/nim/system-configuration/secure-traffic.md @@ -194,7 +194,7 @@ To generate the necessary certificates, follow these steps. You can modify these
ca.cnf - {{< icon "download">}} {{}} + {{}} {{}} ``` yaml [req] diff --git a/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md b/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md index 4744645b9..899d8dcd9 100644 --- a/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md +++ b/content/nms/acm/how-to/devportals/installation/install-devportal-offline.md @@ -34,7 +34,7 @@ To install NGINX Plus and njs, take the following steps on the Developer Portal 3. Select the following link to download the `fetch-external-acm-dataplane-dependencies.sh` script. This script downloads the necessary NGINX Plus and njs packages to a `tar.gz` archive. - {{< icon "download">}} {{}} + {{}} {{}} 4. To download the NGINX Plus and njs dependencies, run the `fetch-external-acm-dataplane-dependencies.sh` script. As parameters, specify your Linux distribution and the location of your `nginx-repo.crt` and `nginx-repo.key` files. diff --git a/content/nms/acm/how-to/install-acm-offline.md b/content/nms/acm/how-to/install-acm-offline.md index b449e669d..74189e448 100644 --- a/content/nms/acm/how-to/install-acm-offline.md +++ b/content/nms/acm/how-to/install-acm-offline.md @@ -152,7 +152,7 @@ The API Connectivity Manager data plane requires [NGINX Plus R24](https://docs.n 3. Select the following link to download the `fetch-external-acm-dataplane-dependencies.sh` script. This script downloads the necessary NGINX Plus and njs packages to a `tar.gz` archive. - {{< icon "download">}} {{}} + {{}} {{}} 4. To download the NGINX Plus and njs dependencies, run the `fetch-external-acm-dataplane-dependencies.sh` script. As parameters, specify your Linux distribution and the location of your `nginx-repo.crt` and `nginx-repo.key` files. From 9e59706c162398957b6a6a2452cc5d1523edd097 Mon Sep 17 00:00:00 2001 From: Jack Hickey <133868041+nginx-jack@users.noreply.github.com> Date: Fri, 18 Jul 2025 13:50:29 +0100 Subject: [PATCH 6/8] Add overview of nginx-org source ingestion --- documentation/nginx-org-source.md | 45 +++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 documentation/nginx-org-source.md diff --git a/documentation/nginx-org-source.md b/documentation/nginx-org-source.md new file mode 100644 index 000000000..e7e9bbd28 --- /dev/null +++ b/documentation/nginx-org-source.md @@ -0,0 +1,45 @@ +# nginx.org content + +This document describes the process by which https://github.com/nginx/nginx.org are ingested by the `nginx/documentation` repository, and rendered as markdown. + +## Source of truth +The https://github.com/nginx/nginx.org repository remains the source of truth for a subset of content in `/content/nginx`. Primarily, this includes is the `module reference`, and the https://github.com/nginx/nginx.org/blob/main/yaml/nginx_api.yaml. + +Any modifications to these autogenerated files will be blocked during the pull request process. +If modifications are required, they will be made in the source xml in https://github.com/nginx/nginx.org repository. + +All files that are autogenerated from this source, will have the warning: + +```md +******************************************************************************** +🛑 WARNING: AUTOGENERATED FILE - DO NOT EDIT 🛑 This Markdown file was +automatically generated from the source XML documentation. Any manual +changes made directly to this file will be overwritten. To request or +suggest changes, please edit the source XML files instead. +https://github.com/nginx/nginx.org/tree/main/xml/en +******************************************************************************** +``` + +## Markdown generation flow + +A GitHub Action running as a cron job in the `nginx/documentation` repository detects changes in the documentation within `nginx/nginx.org`, generates new markdown files when changes are found, and creates a PR with these changes. + +Only PRs generated by this GitHub Action can be merged. + +The markdown files are generated using a markdown-specific XSLT file, which targets only the XML sources intended for inclusion in the nginx/documentation repository. + +```mermaid +flowchart TD + Start([Cron Job Triggered]) --> CheckChanges{Changes detected in 'en' docs of nginx/nginx.org?} + CheckChanges -- Yes --> CloneRepo[Clone nginx/nginx.org repository] + CloneRepo --> RunMake["Execute make target: 'make hugo-md'"] + RunMake --> MoveFiles["Move generated markdown files to '/content/nginx' directory"] + MoveFiles --> OpenPR["Create PR in nginx/documentation repository"] + OpenPR --> Finish([End]) + + CheckChanges -- No --> FinishNoAction([End - No updates detected]) + + style Finish stroke:#27ae60,stroke-width:2px + style OpenPR stroke:#2980b9,stroke-width:2px + style CheckChanges stroke:#7f8c8d,stroke-width:2px +``` From a158c5af555334c4616b40ae94470d46f49311c5 Mon Sep 17 00:00:00 2001 From: Lam Nguyen Date: Thu, 24 Jul 2025 12:29:31 -0700 Subject: [PATCH 7/8] Update N1 landing page to use updated params --- content/nginx-one/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginx-one/_index.md b/content/nginx-one/_index.md index 415f293b9..2a626d7ce 100644 --- a/content/nginx-one/_index.md +++ b/content/nginx-one/_index.md @@ -22,7 +22,7 @@ F5 NGINX One Console makes it easy to manage NGINX instances across locations an {{}} {{}} - {{}} + {{}} Get up and running with NGINX One Console {{}} {{}} From 606cd766f483906c0cc56ed9e50b0715fff62e68 Mon Sep 17 00:00:00 2001 From: Lam Nguyen Date: Mon, 28 Jul 2025 15:14:03 -0700 Subject: [PATCH 8/8] chore: Cleaned up landing pages --- content/agent/_index.md | 9 +++---- content/nginx-one/_index.md | 47 ++++++++++++++++++------------------- 2 files changed, 26 insertions(+), 30 deletions(-) diff --git a/content/agent/_index.md b/content/agent/_index.md index f850a86ee..a8d47c414 100644 --- a/content/agent/_index.md +++ b/content/agent/_index.md @@ -48,11 +48,8 @@ configurations, collection and reporting of real-time NGINX performance and oper {{}} {{}} - {{}} - {{}} - {{}} - {{}} - {{}} - {{}} + {{}} + {{}} + {{}} {{}} {{}} \ No newline at end of file diff --git a/content/nginx-one/_index.md b/content/nginx-one/_index.md index 2a626d7ce..a45605081 100644 --- a/content/nginx-one/_index.md +++ b/content/nginx-one/_index.md @@ -28,7 +28,6 @@ F5 NGINX One Console makes it easy to manage NGINX instances across locations an {{}} {{}} - {{}} {{}} {{}} @@ -45,7 +44,7 @@ F5 NGINX One Console makes it easy to manage NGINX instances across locations an {{}} {{}} Monitor deployments for CVEs and certificates - {{}} + {{}} {{}} {{}} @@ -66,33 +65,33 @@ F5 NGINX One Console makes it easy to manage NGINX instances across locations an [//]: # "You can add any extra content for the page here, such as additional cards, diagrams or text." {{}} - {{< card-section title="Kubernetes Solutions">}} - {{< card title="NGINX Ingress Controller" titleUrl="/nginx-ingress-controller/" brandIcon="NGINX-Ingress-Controller-product-icon.svg">}} + {{}} + {{}} Kubernetes traffic management with API gateway, identity, and observability features. - {{}} - {{< card title="NGINX Gateway Fabric" titleUrl="/nginx-gateway-fabric/" brandIcon="NGINX-product-icon.svg">}} + {{}} + {{}} Next generation Kubernetes connectivity using the Gateway API. - {{}} - {{}} - {{< card-section title="Local Console Option">}} - {{< card title="NGINX Instance Manager" titleUrl="/nginx-instance-manager/" brandIcon="NGINX-Instance-Manager-product-icon.svg">}} + {{}} + {{}} + {{}} + {{}} Track and control NGINX Open Source and NGINX Plus instances. - {{}} - {{}} - {{< card-section title="Modern App Delivery">}} - {{< card title="NGINX Plus" titleUrl="/nginx/" brandIcon="NGINX-Plus-product-icon-RGB.svg">}} + {{}} + {{}} + {{}} + {{}} The all-in-one load balancer, reverse proxy, web server, content cache, and API gateway. - {{}} - {{< card title="NGINX Open Source" titleUrl="https://nginx.org" brandIcon="NGINX-product-icon.svg">}} + {{}} + {{}} The open source all-in-one load balancer, content cache, and web server - {{}} - {{}} - {{< card-section title="Security">}} - {{< card title="NGINX App Protect WAF" titleUrl="/nginx-app-protect-waf/" brandIcon="NGINX-App-Protect-WAF-product-icon.svg">}} + {{}} + {{}} + {{}} + {{}} Lightweight, high-performance, advanced protection against Layer 7 attacks on your apps and APIs. - {{}} - {{< card title="NGINX App Protect DoS" titleUrl="/nginx-app-protect-dos/" brandIcon="NGINX-App-Protect-DoS-product-icon.svg">}} + {{}} + {{}} Defend, adapt, and mitigate against Layer 7 denial-of-service attacks on your apps and APIs. - {{}} - {{}} + {{}} + {{}} {{}}