Skip to content

Refactored icon usage to use new shortcode #801

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
4 changes: 2 additions & 2 deletions content/mesh/guides/monitoring-and-tracing.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
12 changes: 6 additions & 6 deletions content/mesh/guides/secure-traffic-mtls.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand All @@ -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:

Expand Down Expand Up @@ -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:

Expand All @@ -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:

Expand Down Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion content/mesh/guides/smi-traffic-policies.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
2 changes: 1 addition & 1 deletion content/mesh/reference/api-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
10 changes: 5 additions & 5 deletions content/mesh/tutorials/accesscontrol-walkthrough.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion content/mesh/tutorials/deploy-example-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
24 changes: 12 additions & 12 deletions content/mesh/tutorials/kic/deploy-with-kic.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,18 +96,18 @@ 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 >}}

- *OpenShift only*:

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:

Expand All @@ -132,18 +132,18 @@ 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 >}}

- *OpenShift only*:

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:

Expand Down Expand Up @@ -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.
Expand Down
8 changes: 4 additions & 4 deletions content/mesh/tutorials/kic/egress-walkthrough.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
Loading
Loading