Skip to content

Commit

Permalink
docs: set up linkinator for doc site (#2990)
Browse files Browse the repository at this point in the history
* init linkinator

Signed-off-by: zirain <[email protected]>

* fix links

Signed-off-by: zirain <[email protected]>

* update CI

Signed-off-by: zirain <[email protected]>

* remove k8s.io

Signed-off-by: zirain <[email protected]>

* update comments

Signed-off-by: zirain <[email protected]>

* format

Signed-off-by: zirain <[email protected]>

* lint

Signed-off-by: zirain <[email protected]>

---------

Signed-off-by: zirain <[email protected]>
  • Loading branch information
zirain authored Mar 22, 2024
1 parent c655811 commit 4bf9ad7
Show file tree
Hide file tree
Showing 27 changed files with 64 additions and 49 deletions.
6 changes: 6 additions & 0 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@ jobs:
files: site/content/*
config_file: ".github/markdown_lint_config.json"

- name: Install linkinator
run: npm install -g linkinator

- name: Check links
run: make docs docs-check-links

docs-build:
runs-on: ubuntu-latest
needs: docs-lint
Expand Down
2 changes: 1 addition & 1 deletion site/content/en/announcements/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,5 @@ In order to align with the Envoy Proxy [release schedule][], Envoy Gateway relea
| 0.6.0 | 2023/10/22 | 2023/11/02 | +10 days | 2024/05/02 |

[v2.0.0 spec]: https://semver.org/spec/v2.0.0.html
[release guide]: ../dev/releasing.md
[release guide]: ../latest/contributions/releasing
[release schedule]: https://github.com/envoyproxy/envoy/blob/main/RELEASES.md#major-release-schedule
4 changes: 2 additions & 2 deletions site/content/en/announcements/v0.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ Envoy Gateway will be at [EnvoyCon NA][] this October in Detroit. Don't miss [o
release and future direction of the project.

[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.2.0.yaml
[matrix]: https://gateway.envoyproxy.io/blog/2022/10/01/versions
[matrix]: https://gateway.envoyproxy.io/latest/install/matrix
[docs]: https://gateway.envoyproxy.io/index.html
[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.2.0
[conformance tests]: https://gateway-api.sigs.k8s.io/concepts/conformance/?h=conformance
[quickstart guide]: https://gateway.envoyproxy.io/user/quickstart.html
[quickstart guide]: ../v0.2.0/user/quickstart
[EnvoyCon NA]: https://events.linuxfoundation.org/envoycon-north-america/program/schedule/
[our talk]: https://sched.co/1AO5S
2 changes: 1 addition & 1 deletion site/content/en/announcements/v0.3.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,6 @@ The release adds a ton of features and functionality. Here are some highlights:
+ Added Support for Request Authentication

[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.3.0.yaml
[matrix]: https://gateway.envoyproxy.io/blog/2022/10/01/versions
[matrix]: https://gateway.envoyproxy.io/latest/install/matrix
[docs]: https://gateway.envoyproxy.io/v0.3.0/index.html
[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.3.0
2 changes: 1 addition & 1 deletion site/content/en/announcements/v0.4.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@ The release adds a ton of features and functionality. Here are some highlights:
+ Added EDS Support

[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.4.0.yaml
[matrix]: https://gateway.envoyproxy.io/blog/2022/10/01/versions
[matrix]: https://gateway.envoyproxy.io/latest/install/matrix
[docs]: https://gateway.envoyproxy.io/v0.4.0/index.html
[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.4.0
2 changes: 1 addition & 1 deletion site/content/en/announcements/v0.5.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@ The release adds a ton of features and functionality. Here are some highlights:
+ Added Best Practices Default Edge Settings to Xds Resources

[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.5.0.yaml
[matrix]: https://gateway.envoyproxy.io/blog/2022/10/01/versions
[matrix]: https://gateway.envoyproxy.io/latest/install/matrix
[docs]: https://gateway.envoyproxy.io/v0.5.0/index.html
[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.5.0
2 changes: 1 addition & 1 deletion site/content/en/announcements/v0.6.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,6 @@ The release adds a ton of features and functionality. Here are some highlights:
+ Converted the `bootstrap` field within `EnvoyProxy` into a struct to support merge operations.

[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.6.0.yaml
[matrix]: https://gateway.envoyproxy.io/blog/2022/10/01/versions
[matrix]: https://gateway.envoyproxy.io/latest/install/matrix/
[docs]: https://gateway.envoyproxy.io/v0.6.0/index.html
[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.6.0
4 changes: 2 additions & 2 deletions site/content/en/v1.0.0/contributions/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ and following guidelines to streamline your contributions.
* A "major feature" is defined as any change that is > 100 LOC altered (not including tests), or
changes any user-facing behavior. We will use the GitHub issue to discuss the feature and come to
agreement. This is to prevent your time being wasted, as well as ours. The GitHub review process
for major features is also important so that [affiliations with commit access](../codeowners) can
for major features is also important so that [affiliations with commit access](./codeowners) can
come to agreement on the design. If it's appropriate to write a design document, the document must
be hosted either in the GitHub issue, or linked to from the issue and hosted in a world-readable
location.
Expand Down Expand Up @@ -49,7 +49,7 @@ to the following guidelines for all code, APIs, and documentation:
build. If your PR cannot have 100% coverage for some reason please clearly explain why when you
open it.
* Any PR that changes user-facing behavior **must** have associated documentation in the [docs](https://github.com/envoyproxy/gateway/tree/main/site) folder of the repo as
well as the [changelog](/blog/releases).
well as the [changelog](../releases).
* All code comments and documentation are expected to have proper English grammar and punctuation.
If you are not a fluent English speaker (or a bad writer ;-)) please let us know and we will try
to find some help but there are no guarantees.
Expand Down
2 changes: 1 addition & 1 deletion site/content/en/v1.0.0/contributions/RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ export GITHUB_REMOTE=origin

### Setup cherry picker action

After release branch cut, RM (Release Manager) should add job [cherrypick action](../../../.github/workflows/cherrypick.yaml) for target release.
After release branch cut, RM (Release Manager) should add job [cherrypick action](https://github.com/envoyproxy/gateway/blob/main/.github/workflows/cherrypick.yaml) for target release.

Configuration looks like following:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,9 +168,9 @@ patches will work.
[Kubernetes]: https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/
[Kustomize]: https://github.com/kubernetes-sigs/kustomize/blob/master/examples/jsonpatch.md
[Extension APIs]: ../../api/extension_types/
[RateLimit]: ../../user/rate-limit/
[EnvoyGateway]: ../../api/extension_types/#envoygateway
[Extending the Control Plane]: ../extending-envoy-gateway
[RateLimit]: ./rate-limit
[EnvoyGateway]: ../../api/extension_types#envoygateway
[Extending the Control Plane]: ./extending-envoy-gateway
[EnvoyFilter]: https://istio.io/latest/docs/reference/config/networking/envoy-filter
[egctl x translate]: ../../user/egctl#egctl-experimental-translate
[Bootstrap configuration using EnvoyProxy API]: ../../user/customize-envoyproxy#customize-envoyproxy-bootstrap-config
[egctl x translate]: ../../user/operations/egctl#egctl-experimental-translate
[Bootstrap configuration using EnvoyProxy API]: ../../user/operations/customize-envoyproxy#customize-envoyproxy-bootstrap-config
Original file line number Diff line number Diff line change
Expand Up @@ -315,8 +315,8 @@ Extending Envoy Gateway by using an external extension server which makes use of
[Envoy]: https://www.envoyproxy.io/
[Envoy specific configuration (xDS)]: https://www.envoyproxy.io/docs/envoy/v1.25.1/configuration/configuration
[v1]: https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1
[rate limiting]: ../../user/rate-limit/
[authentication]: ../../user/jwt-authentication/
[rate limiting]: ./rate-limit
[authentication]: ../../user/security/jwt-authentication
[HTTPRoute]: https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRoute
[GRPCRoute]: https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.GRPCRoute
[EnvoyGateway config]: ../../api/extension_types/#envoygateway
Expand Down
6 changes: 3 additions & 3 deletions site/content/en/v1.0.0/install/install-helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Envoy Gateway can be installed via a Helm chart with a few simple steps, dependi
## Before you begin

{{% alert title="Compatibility Matrix" color="warning" %}}
Refer to the [Version Compatibility Matrix](/blog/2022/10/01/versions/) to learn more.
Refer to the [Version Compatibility Matrix](./matrix) to learn more.
{{% /alert %}}

The Envoy Gateway Helm chart is hosted by DockerHub.
Expand Down Expand Up @@ -115,7 +115,7 @@ helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.0.0 -n envo
```

{{% alert title="Helm Chart Values" color="primary" %}}
If you want to know all the available fields inside the values.yaml file, please see the [Helm Chart Values](../api).
If you want to know all the available fields inside the values.yaml file, please see the [Helm Chart Values](./api).
{{% /alert %}}

## Open Ports
Expand All @@ -140,5 +140,5 @@ These are the ports used by Envoy Gateway and the managed Envoy Proxy.
| Heath Check | 0.0.0.0 | 19001 |

{{% alert title="Next Steps" color="warning" %}}
Envoy Gateway should now be successfully installed and running, but in order to experience more abilities of Envoy Gateway, you can refer to [User Guides](../../user).
Envoy Gateway should now be successfully installed and running, but in order to experience more abilities of Envoy Gateway, you can refer to [User Guides](../user).
{{% /alert %}}
4 changes: 2 additions & 2 deletions site/content/en/v1.0.0/install/install-yaml.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ weight = -99
In this guide, we'll walk you through installing Envoy Gateway in your Kubernetes cluster.

The manual install process does not allow for as much control over configuration
as the [Helm install method](../install-helm), so if you need more control over your Envoy Gateway
as the [Helm install method](./install-helm), so if you need more control over your Envoy Gateway
installation, it is recommended that you use helm.

## Before you begin
Expand All @@ -17,7 +17,7 @@ Envoy Gateway is designed to run in Kubernetes for production. The most essentia
* The `kubectl` command-line tool

{{% alert title="Compatibility Matrix" color="warning" %}}
Refer to the [Version Compatibility Matrix](/blog/2022/10/01/versions/) to learn more.
Refer to the [Version Compatibility Matrix](./matrix) to learn more.
{{% /alert %}}

## Install with YAML
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,4 +238,4 @@ such as changing the `name` field of resources.
[JSON Patch]: https://datatracker.ietf.org/doc/html/rfc6902
[xDS]: https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/dynamic_configuration
[Local Reply Modification]: https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/local_reply
[egctl x translate]: ../egctl#egctl-experimental-translate
[egctl x translate]: ../operations/egctl#egctl-experimental-translate
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ kubectl -n monitoring rollout status --watch --timeout=5m statefulset/prometheus
kubectl -n monitoring port-forward service/prometheus-k8s 9090:9090 > /dev/null &
```

Navigate to [http://localhost:9090](http://localhost:9090).
Navigate to `http://localhost:9090`.
Metrics can be queried from the 'Graph' tab e.g. `gatewayapi_gateway_created`
See the [Gateway API State Metrics README][gasm-readme] for the full list of Gateway API metrics available.

Expand All @@ -47,7 +47,7 @@ kubectl -n monitoring wait --timeout=5m deployment/grafana --for=condition=Avail
kubectl -n monitoring port-forward service/grafana 3000:3000 > /dev/null &
```

Navigate to [http://localhost:3000](http://localhost:3000) and sign in with admin/admin.
Navigate to `http://localhost:3000` and sign in with admin/admin.
The Gateway API State dashboards will be available in the 'Default' folder and tagged with 'gateway-api'.
See the [Gateway API State Metrics README][gasm-dashboards] for further information on available dashboards.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This guide show you how to config proxy observability, includes metrics, logs, a

## Prerequisites

Follow the steps from the [Quickstart Guide](../../quickstart) to install Envoy Gateway and the example manifest.
Follow the steps from the [Quickstart Guide](../quickstart) to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.

[FluentBit](https://fluentbit.io/) is used to collect logs from the EnvoyProxy instances and forward them to Loki. Install FluentBit:
Expand Down Expand Up @@ -93,7 +93,7 @@ If custom format string is not specified, Envoy Gateway uses the following defau
{"start_time":"%START_TIME%","method":"%REQ(:METHOD)%","x-envoy-origin-path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","protocol":"%PROTOCOL%","response_code":"%RESPONSE_CODE%","response_flags":"%RESPONSE_FLAGS%","response_code_details":"%RESPONSE_CODE_DETAILS%","connection_termination_details":"%CONNECTION_TERMINATION_DETAILS%","upstream_transport_failure_reason":"%UPSTREAM_TRANSPORT_FAILURE_REASON%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","duration":"%DURATION%","x-envoy-upstream-service-time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","x-forwarded-for":"%REQ(X-FORWARDED-FOR)%","user-agent":"%REQ(USER-AGENT)%","x-request-id":"%REQ(X-REQUEST-ID)%",":authority":"%REQ(:AUTHORITY)%","upstream_host":"%UPSTREAM_HOST%","upstream_cluster":"%UPSTREAM_CLUSTER%","upstream_local_address":"%UPSTREAM_LOCAL_ADDRESS%","downstream_local_address":"%DOWNSTREAM_LOCAL_ADDRESS%","downstream_remote_address":"%DOWNSTREAM_REMOTE_ADDRESS%","requested_server_name":"%REQUESTED_SERVER_NAME%","route_name":"%ROUTE_NAME%"}
```

> Note: Envoy Gateway disable envoy headers by default, you can enable it by setting `EnableEnvoyHeaders` to `true` in the [ClientTrafficPolicy](../../../api/extension_types/#backendtrafficpolicy) CRD.
> Note: Envoy Gateway disable envoy headers by default, you can enable it by setting `EnableEnvoyHeaders` to `true` in the [ClientTrafficPolicy](../../api/extension_types#backendtrafficpolicy) CRD.

Verify logs from loki:
Expand Down
4 changes: 2 additions & 2 deletions site/content/en/v1.0.0/user/operations/deployment-mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -798,8 +798,8 @@ curl --header "Host: www.merged3.com" http://$GATEWAY_HOST:8082/example3
```
[Quickstart]: ../quickstart.md
[EnvoyProxy]: ../../../api/extension_types#envoyproxy
[EnvoyProxy]: ../../api/extension_types#envoyproxy
[GatewayClass]: https://gateway-api.sigs.k8s.io/api-types/gatewayclass/
[Namespaced deployment mode]: ../../../api/extension_types#kuberneteswatchmode
[Namespaced deployment mode]: ../../api/extension_types#kuberneteswatchmode
[issue1231]: https://github.com/envoyproxy/gateway/issues/1231
[issue1117]: https://github.com/envoyproxy/gateway/issues/1117
4 changes: 2 additions & 2 deletions site/content/en/v1.0.0/user/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This guide will help you get started with Envoy Gateway in a few simple steps.

A Kubernetes cluster.

__Note:__ Refer to the [Compatibility Matrix](../../install/matrix/) for supported Kubernetes versions.
__Note:__ Refer to the [Compatibility Matrix](../install/matrix) for supported Kubernetes versions.

__Note:__ In case your Kubernetes cluster, does not have a LoadBalancer implementation, we recommend installing one
so the `Gateway` resource has an Address associated with it. We recommend using [MetalLB](https://metallb.universe.tf/installation/).
Expand Down Expand Up @@ -101,4 +101,4 @@ helm uninstall eg -n envoy-gateway-system

## Next Steps

Checkout the [Developer Guide](../../contributions/develop/) to get involved in the project.
Checkout the [Developer Guide](../contributions/develop) to get involved in the project.
4 changes: 2 additions & 2 deletions site/content/en/v1.0.0/user/security/jwt-authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ This instantiated resource can be linked to a [Gateway][Gateway], [HTTPRoute][HT

## Prerequisites

Follow the steps from the [Quickstart](../../quickstart) guide to install Envoy Gateway and the example manifest.
For GRPC - follow the steps from the [GRPC Routing](../grpc-routing) example.
Follow the steps from the [Quickstart](../quickstart) guide to install Envoy Gateway and the example manifest.
For GRPC - follow the steps from the [GRPC Routing](../traffic/grpc-routing) example.
Before proceeding, you should be able to query the example backend using HTTP or GRPC.

## Configuration
Expand Down
14 changes: 7 additions & 7 deletions site/content/en/v1.0.0/user/security/secure-gateways.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,11 +260,11 @@ This section gives a walkthrough to generate RSA and ECDSA derived certificates
Follow the steps from the [Quickstart Guide](../../quickstart) to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.

Follow the steps in the [TLS Certificates](../secure-gateways#tls-certificates) section in the guide to generate self-signed RSA derived Server certificate and private key, and configure those in the Gateway listener configuration to terminate HTTPS traffic.
Follow the steps in the [TLS Certificates](#tls-certificates) section in the guide to generate self-signed RSA derived Server certificate and private key, and configure those in the Gateway listener configuration to terminate HTTPS traffic.

## Pre-checks

While testing in [Cluster without External LoadBalancer Support](../secure-gateways#clusters-without-external-loadbalancer-support), we can query the example app through Envoy proxy while enforcing an RSA cipher, as shown below:
While testing in [Cluster without External LoadBalancer Support](#clusters-without-external-loadbalancer-support), we can query the example app through Envoy proxy while enforcing an RSA cipher, as shown below:

```shell
curl -v -HHost:www.example.com --resolve "www.example.com:8443:127.0.0.1" \
Expand Down Expand Up @@ -295,7 +295,7 @@ Moving forward in the doc, we will be configuring the existing Gateway listener
## TLS Certificates
Reuse the CA certificate and key pair generated in the [Secure Gateways](../secure-gateways#tls-certificates) guide and use this CA to sign both RSA and ECDSA Server certificates.
Reuse the CA certificate and key pair generated in the [Secure Gateways](#tls-certificates) guide and use this CA to sign both RSA and ECDSA Server certificates.
Note the CA certificate and key names are `example.com.crt` and `example.com.key` respectively.
Expand Down Expand Up @@ -372,11 +372,11 @@ This sections gives a walkthrough to generate multiple certificates correspondin
Follow the steps from the [Quickstart Guide](../../quickstart) to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.
Follow the steps in the [TLS Certificates](../secure-gateways#tls-certificates) section in the guide to generate self-signed RSA derived Server certificate and private key, and configure those in the Gateway listener configuration to terminate HTTPS traffic.
Follow the steps in the [TLS Certificates](#tls-certificates) section in the guide to generate self-signed RSA derived Server certificate and private key, and configure those in the Gateway listener configuration to terminate HTTPS traffic.
## Additional Configurations
Using the [TLS Certificates](../secure-gateways#tls-certificates) section in the guide we first generate additional Secret for another Host `www.sample.com`.
Using the [TLS Certificates](#tls-certificates) section in the guide we first generate additional Secret for another Host `www.sample.com`.
```shell
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj '/O=sample Inc./CN=sample.com' -keyout sample.com.key -out sample.com.crt
Expand Down Expand Up @@ -446,10 +446,10 @@ Since the multiple certificates are configured on the same Gateway listener, Env
### Clusters with External LoadBalancer Support
Refer to the steps mentioned earlier in the guide under [Testing in clusters with External LoadBalancer Support](../secure-gateways#clusters-with-external-loadbalancer-support)
Refer to the steps mentioned earlier in the guide under [Testing in clusters with External LoadBalancer Support](#clusters-with-external-loadbalancer-support)
## Next Steps
Checkout the [Developer Guide](../../../contributions/develop/) to get involved in the project.
Checkout the [Developer Guide](../../contributions/develop) to get involved in the project.
[ReferenceGrant]: https://gateway-api.sigs.k8s.io/api-types/referencegrant/
Loading

0 comments on commit 4bf9ad7

Please sign in to comment.