diff --git a/.github/workflows/docs.yaml b/.github/workflows/hugo-docs.yaml similarity index 67% rename from .github/workflows/docs.yaml rename to .github/workflows/hugo-docs.yaml index 2244b4a14cd3..da31e48e70ee 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/hugo-docs.yaml @@ -1,15 +1,17 @@ -name: Docs +name: Hugo Docs on: push: branches: - - "main" + - "main" + - "release/v*" paths-ignore: - - "**/*.png" + - "**/*.png" pull_request: branches: - - "main" + - "main" + - "release/v*" paths-ignore: - - "**/*.png" + - "**/*.png" jobs: docs-lint: @@ -21,25 +23,43 @@ jobs: - name: Run markdown linter uses: nosborn/github-action-markdown-cli@v3.3.0 with: - files: docs/* + files: site/content/* config_file: ".github/markdown_lint_config.json" docs-build: runs-on: ubuntu-latest needs: docs-lint + permissions: + contents: write steps: - - uses: actions/checkout@v4 - - uses: ./tools/github-actions/setup-deps + - name: Git checkout + uses: actions/checkout@v3 + with: + submodules: true + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: 'latest' + extended: true + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: '18' + + - name: Install Site Dependencies + run: cd site && npm install - - name: Generate EG Pages - run: make docs + - name: Build Site + run: cd site && npm run build:production # Upload docs for GitHub Pages - name: Upload GitHub Pages artifact uses: actions/upload-pages-artifact@v2.0.0 with: # Path of the directory containing the static assets. - path: docs/html + path: site/public # Duration after which artifact will expire in days. # retention-days: # optional, default is 1 diff --git a/GOALS.md b/GOALS.md index 519be9f180fe..be4bdb76f6bc 100644 --- a/GOALS.md +++ b/GOALS.md @@ -1,4 +1,7 @@ -# Goals +--- +title: "Goals" +--- + The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 9a7d823d866a..000000000000 --- a/docs/index.html +++ /dev/null @@ -1,5 +0,0 @@ - -
- - - diff --git a/docs/latest/about_docs.rst b/docs/latest/about_docs.rst deleted file mode 100644 index ecaa28247b91..000000000000 --- a/docs/latest/about_docs.rst +++ /dev/null @@ -1,9 +0,0 @@ -About the Documentation -======================= - -Learn how to contribute to Envoy Gateway documentation. - -.. toctree:: - :maxdepth: 1 - - dev/DOCS diff --git a/docs/latest/api_docs.rst b/docs/latest/api_docs.rst deleted file mode 100644 index b470527c50cc..000000000000 --- a/docs/latest/api_docs.rst +++ /dev/null @@ -1,10 +0,0 @@ -API Docs -============== - -API reference documentation for Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - Config APIsManages Envoy Proxy as a Standalone or Kubernetes-based Application Gateway
+{{< blocks/link-down color="info" >}} +{{< /blocks/cover >}} + +{{% blocks/lead color="black" %}} +Envoy Gateway is an open source project for managing Envoy Proxy as a Standalone or Kubernetes-based Application Gateway. + +Gateway API resources are used to dynamically provision and configure the managed Envoy Proxies. +{{% /blocks/lead %}} + +{{% blocks/lead %}} + +The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption +through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing +use cases; and provide a common foundation for vendors to build value-added products without having to re-engineer +fundamental interactions. + +{{% /blocks/lead %}} + +{{% blocks/section type="row" %}} + +{{% blocks/feature icon="fab fa-app-store-ios" title="Download **from Github**" url="https://github.com/envoyproxy/gateway/releases" %}} +Try Envoy Gateway in GitHub Releases +{{% /blocks/feature %}} + +{{% blocks/feature icon="fab fa-github" title="Contributions Welcome!" + url="https://github.com/envoyproxy/gateway" %}} +We do a [Pull Request](https://github.com/envoyproxy/gateway/pulls) +contributions workflow on **GitHub**. +{{% /blocks/feature %}} + +{{% blocks/feature icon="fab fa-slack" title="Contact us on Slack!" + url="https://envoyproxy.slack.com/archives/C03E6NHLESV" %}} +For announcement of latest features etc. +{{% /blocks/feature %}} + +{{% /blocks/section %}} diff --git a/site/content/en/about/featured-background.jpg b/site/content/en/about/featured-background.jpg new file mode 100644 index 000000000000..b1f8c56bc299 Binary files /dev/null and b/site/content/en/about/featured-background.jpg differ diff --git a/site/content/en/about/index.md b/site/content/en/about/index.md new file mode 100644 index 000000000000..b363cdfd0256 --- /dev/null +++ b/site/content/en/about/index.md @@ -0,0 +1,25 @@ +--- +title: About Envoy Gateway +linkTitle: About +menu: {main: {weight: 10}} +--- + +{{% blocks/cover title="About Envoy Gateway" image_anchor="bottom" height="auto" %}} + +{{% /blocks/cover %}} + +{{% blocks/lead %}} + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. + +{{% /blocks/lead %}} + +{{% blocks/lead %}} + +The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption +through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing +use cases; and provide a common foundation for vendors to build value-added products without having to re-engineer +fundamental interactions. + +{{% /blocks/lead %}} diff --git a/site/content/en/blog/_index.md b/site/content/en/blog/_index.md new file mode 100644 index 000000000000..95ccb91d5d9e --- /dev/null +++ b/site/content/en/blog/_index.md @@ -0,0 +1,8 @@ +--- +title: Blog +menu: {main: {weight: 30}} +--- + +This is the **blog** section. It has two categories: News and Releases. + +Files in these directories will be listed in reverse chronological order. diff --git a/site/content/en/blog/compatibility/_index.md b/site/content/en/blog/compatibility/_index.md new file mode 100644 index 000000000000..5c1ae3b1db37 --- /dev/null +++ b/site/content/en/blog/compatibility/_index.md @@ -0,0 +1,4 @@ +--- +title: Compatibility Matrix +description: This section includes Compatibility Matrix of Envoy Gateway. +--- diff --git a/site/content/en/blog/compatibility/matrix/matrix.md b/site/content/en/blog/compatibility/matrix/matrix.md new file mode 100644 index 000000000000..737bee33ee34 --- /dev/null +++ b/site/content/en/blog/compatibility/matrix/matrix.md @@ -0,0 +1,20 @@ +--- +title: Versions +date: 2023-10-08 +description: This section includes Compatibility Matrix of Envoy Gateway. +--- + +Envoy Gateway relies on the Envoy Proxy and the Gateway API, and runs +within a Kubernetes cluster. Not all versions of each of these products +can function together for Envoy Gateway. Supported version combinations +are listed below; **bold** type indicates the versions of the Envoy +Proxy and the Gateway API actually compiled into each Envoy Gateway +release. + +| Envoy Gateway version | Envoy Proxy version | Rate Limit version | Gateway API version | Kubernetes version | +| --------------------- | ------------------- | ------------------ | ------------------- | ------------------- | +| v0.5.0 | **v1.27-latest** | **e059638d** | **v0.7.1** | v1.25, v1.26, v1.27 | +| v0.4.0 | **v1.26-latest** | **542a6047** | **v0.6.2** | v1.25, v1.26, v1.27 | +| v0.3.0 | **v1.25-latest** | **f28024e3** | **v0.6.1** | v1.24, v1.25, v1.26 | +| v0.2.0 | **v1.23-latest** | | **v0.5.1** | v1.24 | +| latest | **dev-latest** | **master** | **v0.8.1** | v1.25, v1.26, v1.27 | diff --git a/site/content/en/blog/news/_index.md b/site/content/en/blog/news/_index.md new file mode 100644 index 000000000000..c609aa254312 --- /dev/null +++ b/site/content/en/blog/news/_index.md @@ -0,0 +1,4 @@ +--- +title: News +weight: 20 +--- diff --git a/site/content/en/blog/news/new-website/new-website.md b/site/content/en/blog/news/new-website/new-website.md new file mode 100644 index 000000000000..8b58c949d8d7 --- /dev/null +++ b/site/content/en/blog/news/new-website/new-website.md @@ -0,0 +1,10 @@ +--- +date: 2023-10-08 +title: Migrate Documents +linkTitle: Migrate Documents +description: > + We migrate docs to Hugo now! +author: Xunzhuo Liu +--- + +We migrate docs to Hugo now! diff --git a/site/content/en/blog/presentations/_index.md b/site/content/en/blog/presentations/_index.md new file mode 100644 index 000000000000..c7e0ad1a052f --- /dev/null +++ b/site/content/en/blog/presentations/_index.md @@ -0,0 +1,4 @@ +--- +title: Presentations +weight: 20 +--- diff --git a/site/content/en/blog/presentations/kubecon-eu-2023/kubecon-eu-2023.md b/site/content/en/blog/presentations/kubecon-eu-2023/kubecon-eu-2023.md new file mode 100644 index 000000000000..90444834a997 --- /dev/null +++ b/site/content/en/blog/presentations/kubecon-eu-2023/kubecon-eu-2023.md @@ -0,0 +1,19 @@ +--- +title: "KubeCon EU 2023" +--- + +## Envoy Gateway Project Update + +KubeCon EU 2023 + +### Speaker + +**Alice Wasko** + +### Videos + +{{< youtube 4vnJxt9sVho >}} + +### Slides + +[Link](https://static.sched.com/hosted_files/kccnceu2023/58/Kubecon_EU_2023_Envoy_Gateway_Update.pptx) diff --git a/site/content/en/blog/presentations/kubecon-na-2022/kubecon-na-2022.md b/site/content/en/blog/presentations/kubecon-na-2022/kubecon-na-2022.md new file mode 100644 index 000000000000..c4f00590d461 --- /dev/null +++ b/site/content/en/blog/presentations/kubecon-na-2022/kubecon-na-2022.md @@ -0,0 +1,19 @@ +--- +title: "KubeCon NA 2022" +--- + +## Envoy Gateway Project Update + +KubeCon NA 2022 + +### Speaker + +**Daneyon Hansen & Alice Wasko** + +### Videos + +{{< youtube 3MUOZc8XNCc >}} + +### Slides + +[Link](https://static.sched.com/hosted_files/envoyconna22/2f/Envoy_Gateway_Project_Update_EnvoyCon_NA_2022.pptx) \ No newline at end of file diff --git a/docs/v0.5.0/releases/README.md b/site/content/en/blog/releases/_index.md similarity index 98% rename from docs/v0.5.0/releases/README.md rename to site/content/en/blog/releases/_index.md index 4aa878e84079..d4867691a453 100644 --- a/docs/v0.5.0/releases/README.md +++ b/site/content/en/blog/releases/_index.md @@ -1,4 +1,6 @@ -# Release Details +--- +title: "Release Details" +--- This document provides details for Envoy Gateway releases. Envoy Gateway follows the Semantic Versioning [v2.0.0 spec][] for release versioning. Since Envoy Gateway is a new project, minor releases are the only defined releases. Envoy diff --git a/docs/v0.3.0/releases/v0.2.md b/site/content/en/blog/releases/v0.2.md similarity index 96% rename from docs/v0.3.0/releases/v0.2.md rename to site/content/en/blog/releases/v0.2.md index a0dc0e885de8..0630ce9e59e5 100644 --- a/docs/v0.3.0/releases/v0.2.md +++ b/site/content/en/blog/releases/v0.2.md @@ -6,11 +6,7 @@ description: Envoy Gateway v0.2 release announcement. publishdate: 2022-10-20 release: v0.2.0 skip_list: true -aliases: -- /releases/v0.2 -- /releases/v0.2.0 --- -# Envoy Gateway Release v0.2 We are pleased to announce the release of Envoy Gateway v0.2! diff --git a/docs/v0.3.0/releases/v0.3.md b/site/content/en/blog/releases/v0.3.md similarity index 95% rename from docs/v0.3.0/releases/v0.3.md rename to site/content/en/blog/releases/v0.3.md index 96d6d6d49ebe..6ce60750cbbb 100644 --- a/docs/v0.3.0/releases/v0.3.md +++ b/site/content/en/blog/releases/v0.3.md @@ -6,11 +6,7 @@ description: Envoy Gateway v0.3 release announcement. publishdate: 2023-02-09 release: v0.3.0 skip_list: true -aliases: -- /releases/v0.3 -- /releases/v0.3.0 --- -# Envoy Gateway Release v0.3 We are pleased to announce the release of Envoy Gateway v0.3! diff --git a/docs/v0.4.0/releases/v0.4.md b/site/content/en/blog/releases/v0.4.md similarity index 96% rename from docs/v0.4.0/releases/v0.4.md rename to site/content/en/blog/releases/v0.4.md index 81a9bc3a0ede..c002ea12bdf9 100644 --- a/docs/v0.4.0/releases/v0.4.md +++ b/site/content/en/blog/releases/v0.4.md @@ -6,11 +6,7 @@ description: Envoy Gateway v0.4 release announcement. publishdate: 2023-04-24 release: v0.4.0 skip_list: true -aliases: -- /releases/v0.4 -- /releases/v0.4.0 --- -# Envoy Gateway Release v0.4 We are pleased to announce the release of Envoy Gateway v0.4! diff --git a/docs/v0.5.0/releases/v0.5.md b/site/content/en/blog/releases/v0.5.md similarity index 96% rename from docs/v0.5.0/releases/v0.5.md rename to site/content/en/blog/releases/v0.5.md index 8c7b72cd53b0..def24b00ff7b 100644 --- a/docs/v0.5.0/releases/v0.5.md +++ b/site/content/en/blog/releases/v0.5.md @@ -6,11 +6,7 @@ description: Envoy Gateway v0.5 release announcement. publishdate: 2023-08-02 release: v0.5.0 skip_list: true -aliases: -- /releases/v0.5 -- /releases/v0.5.0 --- -# Envoy Gateway Release v0.5 We are pleased to announce the release of Envoy Gateway v0.5! diff --git a/site/content/en/community/_index.md b/site/content/en/community/_index.md new file mode 100644 index 000000000000..5c1788f11ce9 --- /dev/null +++ b/site/content/en/community/_index.md @@ -0,0 +1,18 @@ +--- +title: Community +menu: {main: {weight: 40}} +--- + + + +{{% blocks/lead color="yellow" %}} + +## Getting Involved! + +We welcome contributions from the community. + +Please carefully review the +project [Goals](https://github.com/envoyproxy/gateway/blob/main/GOALS.md) and the +[Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md) before diving in. + +{{% /blocks/lead %}} diff --git a/site/content/en/docs/_index.md b/site/content/en/docs/_index.md new file mode 100644 index 000000000000..1c01c7e5e4ee --- /dev/null +++ b/site/content/en/docs/_index.md @@ -0,0 +1,3 @@ +--- +title: "Documents" +--- diff --git a/site/content/en/docs/latest/_index.md b/site/content/en/docs/latest/_index.md new file mode 100644 index 000000000000..bb29abe2d512 --- /dev/null +++ b/site/content/en/docs/latest/_index.md @@ -0,0 +1,9 @@ +--- +title: "Welcome to Envoy Gateway" +description: latest version of Envoy Gateway +linktitle: latest +weight: 1 +--- + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. diff --git a/site/content/en/docs/latest/api/_index.md b/site/content/en/docs/latest/api/_index.md new file mode 100644 index 000000000000..1d7c67c8c151 --- /dev/null +++ b/site/content/en/docs/latest/api/_index.md @@ -0,0 +1,4 @@ +--- +title: "API" +description: This section includes APIs of Envoy Gateway. +--- diff --git a/docs/latest/api/extension_types.md b/site/content/en/docs/latest/api/extension_types.md similarity index 99% rename from docs/latest/api/extension_types.md rename to site/content/en/docs/latest/api/extension_types.md index 2f47c3f89f83..0fe43c41906c 100644 --- a/docs/latest/api/extension_types.md +++ b/site/content/en/docs/latest/api/extension_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Envoy Gateway APIs" +--- ## Packages - [gateway.envoyproxy.io/v1alpha1](#gatewayenvoyproxyiov1alpha1) diff --git a/site/content/en/docs/latest/design/_index.md b/site/content/en/docs/latest/design/_index.md new file mode 100644 index 000000000000..2820db4c2160 --- /dev/null +++ b/site/content/en/docs/latest/design/_index.md @@ -0,0 +1,5 @@ +--- +title: "Design" +weight: 1 +description: This section includes Designs of Envoy Gateway. +--- diff --git a/docs/latest/design/accesslog.md b/site/content/en/docs/latest/design/accesslog.md similarity index 99% rename from docs/latest/design/accesslog.md rename to site/content/en/docs/latest/design/accesslog.md index 16882cd4d5a7..cb72f05fe43d 100644 --- a/docs/latest/design/accesslog.md +++ b/site/content/en/docs/latest/design/accesslog.md @@ -1,4 +1,6 @@ -# Observability: Accesslog +--- +title: "Observability: Accesslog" +--- ## Overview diff --git a/docs/latest/design/bootstrap.md b/site/content/en/docs/latest/design/bootstrap.md similarity index 99% rename from docs/latest/design/bootstrap.md rename to site/content/en/docs/latest/design/bootstrap.md index 74340aac7a0e..4475710ad5d0 100644 --- a/docs/latest/design/bootstrap.md +++ b/site/content/en/docs/latest/design/bootstrap.md @@ -1,4 +1,6 @@ -# Bootstrap Design +--- +title: "Bootstrap Design" +--- ## Overview diff --git a/docs/latest/design/client-traffic-policy.md b/site/content/en/docs/latest/design/client-traffic-policy.md similarity index 98% rename from docs/latest/design/client-traffic-policy.md rename to site/content/en/docs/latest/design/client-traffic-policy.md index f4bc5c213eee..65edd4130c45 100644 --- a/docs/latest/design/client-traffic-policy.md +++ b/site/content/en/docs/latest/design/client-traffic-policy.md @@ -1,4 +1,6 @@ -# ClientTrafficPolicy +--- +title: "ClientTrafficPolicy " +--- ## Overview diff --git a/docs/latest/design/config-api.md b/site/content/en/docs/latest/design/config-api.md similarity index 99% rename from docs/latest/design/config-api.md rename to site/content/en/docs/latest/design/config-api.md index 5af6150346c1..49e997caeca8 100644 --- a/docs/latest/design/config-api.md +++ b/site/content/en/docs/latest/design/config-api.md @@ -1,4 +1,6 @@ -# Configuration API Design +--- +title: "Configuration API Design" +--- ## Motivation diff --git a/docs/v0.5.0/design/egctl.md b/site/content/en/docs/latest/design/egctl.md similarity index 98% rename from docs/v0.5.0/design/egctl.md rename to site/content/en/docs/latest/design/egctl.md index 7989ff49e5e2..0f67d99f1005 100644 --- a/docs/v0.5.0/design/egctl.md +++ b/site/content/en/docs/latest/design/egctl.md @@ -1,4 +1,6 @@ -# egctl Design +--- +title: "egctl Design" +--- ## Motivation diff --git a/docs/v0.5.0/design/envoy-patch-policy.md b/site/content/en/docs/latest/design/envoy-patch-policy.md similarity index 99% rename from docs/v0.5.0/design/envoy-patch-policy.md rename to site/content/en/docs/latest/design/envoy-patch-policy.md index 0116c8e6336b..d34937d05ef1 100644 --- a/docs/v0.5.0/design/envoy-patch-policy.md +++ b/site/content/en/docs/latest/design/envoy-patch-policy.md @@ -1,4 +1,6 @@ -# EnvoyPatchPolicy +--- +title: "EnvoyPatchPolicy" +--- ## Overview diff --git a/docs/latest/design/extending-envoy-gateway.md b/site/content/en/docs/latest/design/extending-envoy-gateway.md similarity index 99% rename from docs/latest/design/extending-envoy-gateway.md rename to site/content/en/docs/latest/design/extending-envoy-gateway.md index e29f8ff2aa33..be5db0dd7385 100644 --- a/docs/latest/design/extending-envoy-gateway.md +++ b/site/content/en/docs/latest/design/extending-envoy-gateway.md @@ -1,4 +1,6 @@ -# Envoy Gateway Extensions Design +--- +title: "Envoy Gateway Extensions Design" +--- As outlined in the [official goals][] for the Envoy Gateway project, one of the main goals is to "provide a common foundation for vendors to build value-added products without having to re-engineer fundamental interactions". Development of the Envoy Gateway project has been focused on developing the core features for the project and diff --git a/docs/latest/design/gatewayapi-translator.md b/site/content/en/docs/latest/design/gatewayapi-translator.md similarity index 99% rename from docs/latest/design/gatewayapi-translator.md rename to site/content/en/docs/latest/design/gatewayapi-translator.md index 3cf0da94f5aa..3add199ee15e 100644 --- a/docs/latest/design/gatewayapi-translator.md +++ b/site/content/en/docs/latest/design/gatewayapi-translator.md @@ -1,4 +1,6 @@ -# Gateway API Translator Design +--- +title: "Gateway API Translator Design" +--- The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate Representation (IR). diff --git a/docs/v0.5.0/design/local-envoy-gateway.md b/site/content/en/docs/latest/design/local-envoy-gateway.md similarity index 97% rename from docs/v0.5.0/design/local-envoy-gateway.md rename to site/content/en/docs/latest/design/local-envoy-gateway.md index d382b8cfff82..aad0dc5f6f27 100644 --- a/docs/v0.5.0/design/local-envoy-gateway.md +++ b/site/content/en/docs/latest/design/local-envoy-gateway.md @@ -1,4 +1,6 @@ -# Running Envoy Gateway locally +--- +title: "Running Envoy Gateway locally" +--- ## Overview diff --git a/docs/latest/design/metrics.md b/site/content/en/docs/latest/design/metrics.md similarity index 98% rename from docs/latest/design/metrics.md rename to site/content/en/docs/latest/design/metrics.md index 5be5942d5703..644e3c7a6345 100644 --- a/docs/latest/design/metrics.md +++ b/site/content/en/docs/latest/design/metrics.md @@ -1,4 +1,6 @@ -# Observability: Metrics +--- +title: "Observability: Metrics" +--- ## Overview diff --git a/docs/latest/design/pprof.md b/site/content/en/docs/latest/design/pprof.md similarity index 97% rename from docs/latest/design/pprof.md rename to site/content/en/docs/latest/design/pprof.md index 552986e3bc88..c535b4800710 100644 --- a/docs/latest/design/pprof.md +++ b/site/content/en/docs/latest/design/pprof.md @@ -1,4 +1,6 @@ -# Add Pprof support in Envoy Gateway +--- +title: "Add Pprof support in Envoy Gateway" +--- ## Overview diff --git a/docs/latest/design/rate-limit.md b/site/content/en/docs/latest/design/rate-limit.md similarity index 99% rename from docs/latest/design/rate-limit.md rename to site/content/en/docs/latest/design/rate-limit.md index fb326b080b29..28ebbab8b360 100644 --- a/docs/latest/design/rate-limit.md +++ b/site/content/en/docs/latest/design/rate-limit.md @@ -1,4 +1,6 @@ -# Rate Limit Design +--- +title: "Rate Limit Design" +--- ## Overview diff --git a/docs/v0.5.0/design/request-authentication.md b/site/content/en/docs/latest/design/request-authentication.md similarity index 99% rename from docs/v0.5.0/design/request-authentication.md rename to site/content/en/docs/latest/design/request-authentication.md index 6b2192eadfd9..82682bf2a0b7 100644 --- a/docs/v0.5.0/design/request-authentication.md +++ b/site/content/en/docs/latest/design/request-authentication.md @@ -1,4 +1,6 @@ -# Request Authentication Design +--- +title: "Request Authentication Design" +--- ## Overview diff --git a/docs/latest/design/roadmap.md b/site/content/en/docs/latest/design/roadmap.md similarity index 99% rename from docs/latest/design/roadmap.md rename to site/content/en/docs/latest/design/roadmap.md index 7304335d9aa5..8a3b56b89dd3 100644 --- a/docs/latest/design/roadmap.md +++ b/site/content/en/docs/latest/design/roadmap.md @@ -1,4 +1,6 @@ -# Roadmap +--- +title: "Roadmap" +--- This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of the project. diff --git a/docs/latest/design/system-design.md b/site/content/en/docs/latest/design/system-design.md similarity index 99% rename from docs/latest/design/system-design.md rename to site/content/en/docs/latest/design/system-design.md index 86114be37fa2..f1ae795fad3e 100644 --- a/docs/latest/design/system-design.md +++ b/site/content/en/docs/latest/design/system-design.md @@ -1,4 +1,6 @@ -# System Design +--- +title: "System Design" +--- ## Goals diff --git a/docs/v0.3.0/design/tcp-udp-design.md b/site/content/en/docs/latest/design/tcp-udp-design.md similarity index 98% rename from docs/v0.3.0/design/tcp-udp-design.md rename to site/content/en/docs/latest/design/tcp-udp-design.md index 276221b897ba..f517e24fedae 100644 --- a/docs/v0.3.0/design/tcp-udp-design.md +++ b/site/content/en/docs/latest/design/tcp-udp-design.md @@ -1,4 +1,6 @@ -# TCP and UDP Proxy Design +--- +title: "TCP and UDP Proxy Design " +--- Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the diff --git a/docs/latest/design/tracing.md b/site/content/en/docs/latest/design/tracing.md similarity index 99% rename from docs/latest/design/tracing.md rename to site/content/en/docs/latest/design/tracing.md index 5458b1631577..0c9e97309f95 100644 --- a/docs/latest/design/tracing.md +++ b/site/content/en/docs/latest/design/tracing.md @@ -1,4 +1,6 @@ -# Observability: Accesslog +--- +title: "Observability: Accesslog" +--- ## Overview diff --git a/docs/v0.4.0/design/watching.md b/site/content/en/docs/latest/design/watching.md similarity index 99% rename from docs/v0.4.0/design/watching.md rename to site/content/en/docs/latest/design/watching.md index b8477a30e2d6..e2d17ca86b91 100644 --- a/docs/v0.4.0/design/watching.md +++ b/site/content/en/docs/latest/design/watching.md @@ -1,4 +1,6 @@ -# Watching Components Design +--- +title: "Watching Components Design" +--- Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch external resources, and "publish" what they see for other components to consume; others watch what another publishes and diff --git a/docs/latest/dev/CODEOWNERS.md b/site/content/en/docs/latest/dev/CODEOWNERS.md similarity index 87% rename from docs/latest/dev/CODEOWNERS.md rename to site/content/en/docs/latest/dev/CODEOWNERS.md index 7168ff935d2b..9e596002bb33 100644 --- a/docs/latest/dev/CODEOWNERS.md +++ b/site/content/en/docs/latest/dev/CODEOWNERS.md @@ -1,4 +1,6 @@ -# Maintainers +--- +title: "Maintainers" +--- ## The following maintainers, listed in alphabetical order, own everything diff --git a/docs/v0.2.0/dev/CODE_OF_CONDUCT.md b/site/content/en/docs/latest/dev/CODE_OF_CONDUCT.md similarity index 71% rename from docs/v0.2.0/dev/CODE_OF_CONDUCT.md rename to site/content/en/docs/latest/dev/CODE_OF_CONDUCT.md index a0a295770f31..bb066266f482 100644 --- a/docs/v0.2.0/dev/CODE_OF_CONDUCT.md +++ b/site/content/en/docs/latest/dev/CODE_OF_CONDUCT.md @@ -1,3 +1,5 @@ -# Community Code of Conduct +--- +title: "Community Code of Conduct" +--- Gateway follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/docs/v0.5.0/dev/CONTRIBUTING.md b/site/content/en/docs/latest/dev/CONTRIBUTING.md similarity index 99% rename from docs/v0.5.0/dev/CONTRIBUTING.md rename to site/content/en/docs/latest/dev/CONTRIBUTING.md index 04d95bb675d9..e3eafaaceed7 100644 --- a/docs/v0.5.0/dev/CONTRIBUTING.md +++ b/site/content/en/docs/latest/dev/CONTRIBUTING.md @@ -1,4 +1,6 @@ -# Contributing +--- +title: "Contributing" +--- We welcome contributions from the community. Please carefully review the [project goals](GOALS.md) and following guidelines to streamline your contributions. diff --git a/docs/latest/dev/DOCS.md b/site/content/en/docs/latest/dev/DOCS.md similarity index 98% rename from docs/latest/dev/DOCS.md rename to site/content/en/docs/latest/dev/DOCS.md index fb49b9d55dda..1abae95763c5 100644 --- a/docs/latest/dev/DOCS.md +++ b/site/content/en/docs/latest/dev/DOCS.md @@ -1,4 +1,6 @@ -# Working on the Envoy Gateway Docs +--- +title: "Working on the Envoy Gateway Docs" +--- The documentation for the Envoy Gateway lives in the `docs/` directory. Any individual document can be written using either [reStructuredText] or [Markdown], diff --git a/docs/latest/dev/GOALS.md b/site/content/en/docs/latest/dev/GOALS.md similarity index 100% rename from docs/latest/dev/GOALS.md rename to site/content/en/docs/latest/dev/GOALS.md diff --git a/docs/v0.5.0/dev/README.md b/site/content/en/docs/latest/dev/README.md similarity index 99% rename from docs/v0.5.0/dev/README.md rename to site/content/en/docs/latest/dev/README.md index cf25992e5b3b..a5eaa93ea707 100644 --- a/docs/v0.5.0/dev/README.md +++ b/site/content/en/docs/latest/dev/README.md @@ -1,4 +1,6 @@ -# Developer Guide +--- +title: "Developer Guide" +--- Envoy Gateway is built using a [make][]-based build system. Our CI is based on [Github Actions][] using [workflows][]. diff --git a/site/content/en/docs/latest/dev/_index.md b/site/content/en/docs/latest/dev/_index.md new file mode 100644 index 000000000000..b4ea3bc1a5b0 --- /dev/null +++ b/site/content/en/docs/latest/dev/_index.md @@ -0,0 +1,5 @@ +--- +title: "Development" +weight: 3 +description: This section includes Developments of Envoy Gateway. +--- diff --git a/docs/v0.5.0/dev/releasing.md b/site/content/en/docs/latest/dev/releasing.md similarity index 99% rename from docs/v0.5.0/dev/releasing.md rename to site/content/en/docs/latest/dev/releasing.md index 81625698cfa8..617baf1933e0 100644 --- a/docs/v0.5.0/dev/releasing.md +++ b/site/content/en/docs/latest/dev/releasing.md @@ -1,4 +1,6 @@ -# Release Process +--- +title: "Release Process" +--- This document guides maintainers through the process of creating an Envoy Gateway release. diff --git a/site/content/en/docs/latest/helm/_index.md b/site/content/en/docs/latest/helm/_index.md new file mode 100644 index 000000000000..8606fd7759c1 --- /dev/null +++ b/site/content/en/docs/latest/helm/_index.md @@ -0,0 +1,4 @@ +--- +title: "Helm" +description: This section includes Helm related contents of Envoy Gateway. +--- diff --git a/docs/latest/helm/api.md b/site/content/en/docs/latest/helm/api.md similarity index 98% rename from docs/latest/helm/api.md rename to site/content/en/docs/latest/helm/api.md index 98eb8e373049..ca33e2c5e1fe 100644 --- a/docs/latest/helm/api.md +++ b/site/content/en/docs/latest/helm/api.md @@ -1,4 +1,6 @@ -# gateway-helm +--- +title: "Helm Chart Details" +--- ![Version: v0.0.0-latest](https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) diff --git a/docs/latest/images/architecture.png b/site/content/en/docs/latest/images/architecture.png similarity index 100% rename from docs/latest/images/architecture.png rename to site/content/en/docs/latest/images/architecture.png diff --git a/docs/latest/images/extension-example.png b/site/content/en/docs/latest/images/extension-example.png similarity index 100% rename from docs/latest/images/extension-example.png rename to site/content/en/docs/latest/images/extension-example.png diff --git a/site/content/en/docs/latest/user/_index.md b/site/content/en/docs/latest/user/_index.md new file mode 100644 index 000000000000..36ece365053b --- /dev/null +++ b/site/content/en/docs/latest/user/_index.md @@ -0,0 +1,5 @@ +--- +title: "User Guide" +weight: 2 +description: This section includes User Guides of Envoy Gateway. +--- diff --git a/docs/latest/user/authn.md b/site/content/en/docs/latest/user/authn.md similarity index 99% rename from docs/latest/user/authn.md rename to site/content/en/docs/latest/user/authn.md index 0ab4d96f38c5..5965ffd9cbed 100644 --- a/docs/latest/user/authn.md +++ b/site/content/en/docs/latest/user/authn.md @@ -1,4 +1,6 @@ -# Request Authentication +--- +title: "Request Authentication" +--- This guide provides instructions for configuring [JSON Web Token (JWT)][jwt] authentication. JWT authentication checks if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only diff --git a/docs/latest/user/customize-envoyproxy.md b/site/content/en/docs/latest/user/customize-envoyproxy.md similarity index 99% rename from docs/latest/user/customize-envoyproxy.md rename to site/content/en/docs/latest/user/customize-envoyproxy.md index ae1eb42f9f35..6e272874e523 100644 --- a/docs/latest/user/customize-envoyproxy.md +++ b/site/content/en/docs/latest/user/customize-envoyproxy.md @@ -1,4 +1,6 @@ -# Customize EnvoyProxy +--- +title: "Customize EnvoyProxy" +--- Envoy Gateway provides an [EnvoyProxy][] CRD that can be linked to the ParametersRef in GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and diff --git a/docs/latest/user/deployment-mode.md b/site/content/en/docs/latest/user/deployment-mode.md similarity index 99% rename from docs/latest/user/deployment-mode.md rename to site/content/en/docs/latest/user/deployment-mode.md index af515394f299..08ea5febc5c1 100644 --- a/docs/latest/user/deployment-mode.md +++ b/site/content/en/docs/latest/user/deployment-mode.md @@ -1,4 +1,7 @@ -## Deployment Mode +--- +title: "Deployment Mode" +--- + ### One GatewayClass per Envoy Gateway diff --git a/docs/latest/user/egctl.md b/site/content/en/docs/latest/user/egctl.md similarity index 99% rename from docs/latest/user/egctl.md rename to site/content/en/docs/latest/user/egctl.md index 25644fb338f2..48ab112c86b4 100644 --- a/docs/latest/user/egctl.md +++ b/site/content/en/docs/latest/user/egctl.md @@ -1,4 +1,6 @@ -# egctl +--- +title: "Use egctl" +--- `egctl` is a command line tool to provide additional functionality for Envoy Gateway users. diff --git a/docs/latest/user/envoy-patch-policy.md b/site/content/en/docs/latest/user/envoy-patch-policy.md similarity index 99% rename from docs/latest/user/envoy-patch-policy.md rename to site/content/en/docs/latest/user/envoy-patch-policy.md index 6d70ffd07dbc..cd9fee24dfcf 100644 --- a/docs/latest/user/envoy-patch-policy.md +++ b/site/content/en/docs/latest/user/envoy-patch-policy.md @@ -1,4 +1,6 @@ -# Envoy Patch Policy +--- +title: "Envoy Patch Policy" +--- This guide explains the usage of the [EnvoyPatchPolicy][] API. __Note:__ This API is meant for users extremely familiar with Envoy [xDS][] semantics. diff --git a/docs/latest/user/gateway-address.md b/site/content/en/docs/latest/user/gateway-address.md similarity index 98% rename from docs/latest/user/gateway-address.md rename to site/content/en/docs/latest/user/gateway-address.md index a28ad62640a2..06570cbe8320 100644 --- a/docs/latest/user/gateway-address.md +++ b/site/content/en/docs/latest/user/gateway-address.md @@ -1,4 +1,6 @@ -# Gateway Address +--- +title: "Gateway Address" +--- The Gateway API provides an optional [Addresses][] field through which Envoy Gateway can set addresses for Envoy Proxy Service. The currently supported addresses are: diff --git a/docs/latest/user/gateway-api-metrics.md b/site/content/en/docs/latest/user/gateway-api-metrics.md similarity index 98% rename from docs/latest/user/gateway-api-metrics.md rename to site/content/en/docs/latest/user/gateway-api-metrics.md index e403c90404f9..5331145b050f 100644 --- a/docs/latest/user/gateway-api-metrics.md +++ b/site/content/en/docs/latest/user/gateway-api-metrics.md @@ -1,4 +1,6 @@ -# Gateway API Metrics +--- +title: "Gateway API Metrics" +--- Resource metrics for Gateway API objects are available using the [Gateway API State Metrics](https://github.com/Kuadrant/gateway-api-state-metrics) project. The project also provides example dashboard for visualising the metrics using Grafana, and example alerts using Prometheus & Alertmanager. diff --git a/docs/latest/user/gatewayapi-support.md b/site/content/en/docs/latest/user/gatewayapi-support.md similarity index 99% rename from docs/latest/user/gatewayapi-support.md rename to site/content/en/docs/latest/user/gatewayapi-support.md index ee14f3952587..d70064dde255 100644 --- a/docs/latest/user/gatewayapi-support.md +++ b/site/content/en/docs/latest/user/gatewayapi-support.md @@ -1,4 +1,6 @@ -# Gateway API Support +--- +title: "Gateway API Support" +--- As mentioned in the [system design][] document, Envoy Gateway's managed data plane is configured dynamically through Kubernetes resources, primarily [Gateway API][] objects. Envoy Gateway supports configuration using the following Gateway API resources. diff --git a/docs/latest/user/grpc-routing.md b/site/content/en/docs/latest/user/grpc-routing.md similarity index 99% rename from docs/latest/user/grpc-routing.md rename to site/content/en/docs/latest/user/grpc-routing.md index ef28dac199fe..5dca26744bc3 100644 --- a/docs/latest/user/grpc-routing.md +++ b/site/content/en/docs/latest/user/grpc-routing.md @@ -1,4 +1,6 @@ -# GRPC Routing +--- +title: "GRPC Routing" +--- The [GRPCRoute][] resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers. To learn more about gRPC routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.3.0/user/http-redirect.md b/site/content/en/docs/latest/user/http-redirect.md similarity index 99% rename from docs/v0.3.0/user/http-redirect.md rename to site/content/en/docs/latest/user/http-redirect.md index dcd72749f368..da61bdaf32f3 100644 --- a/docs/v0.3.0/user/http-redirect.md +++ b/site/content/en/docs/latest/user/http-redirect.md @@ -1,4 +1,6 @@ -# HTTP Redirects +--- +title: "HTTP Redirects" +--- The [HTTPRoute][] resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ diff --git a/docs/v0.3.0/user/http-request-headers.md b/site/content/en/docs/latest/user/http-request-headers.md similarity index 99% rename from docs/v0.3.0/user/http-request-headers.md rename to site/content/en/docs/latest/user/http-request-headers.md index 5e1d77fe6d2f..17fe3b87bcb1 100644 --- a/docs/v0.3.0/user/http-request-headers.md +++ b/site/content/en/docs/latest/user/http-request-headers.md @@ -1,4 +1,6 @@ -# HTTP Request Headers +--- +title: "HTTP Request Headers" +--- The [HTTPRoute][] resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ [HTTPRoute filters][] which diff --git a/docs/latest/user/http-request-mirroring.md b/site/content/en/docs/latest/user/http-request-mirroring.md similarity index 99% rename from docs/latest/user/http-request-mirroring.md rename to site/content/en/docs/latest/user/http-request-mirroring.md index 45b3508b2644..aaea240f5ca9 100644 --- a/docs/latest/user/http-request-mirroring.md +++ b/site/content/en/docs/latest/user/http-request-mirroring.md @@ -1,4 +1,6 @@ -# HTTPRoute Request Mirroring +--- +title: "HTTPRoute Request Mirroring" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using [Traffic Splitting](http-traffic-splitting.md), but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API's [HTTPRequestMirrorFilter][] on the `HTTPRoute`. diff --git a/docs/v0.4.0/user/http-response-headers.md b/site/content/en/docs/latest/user/http-response-headers.md similarity index 99% rename from docs/v0.4.0/user/http-response-headers.md rename to site/content/en/docs/latest/user/http-response-headers.md index 6c77c2e6c2c4..4a27728003d7 100644 --- a/docs/v0.4.0/user/http-response-headers.md +++ b/site/content/en/docs/latest/user/http-response-headers.md @@ -1,4 +1,6 @@ -# HTTP Response Headers +--- +title: "HTTP Response Headers" +--- The [HTTPRoute][] resource can modify the headers of a response before responding it to the downstream service. To learn more about HTTP routing, refer to the [Gateway API documentation][]. diff --git a/docs/latest/user/http-routing.md b/site/content/en/docs/latest/user/http-routing.md similarity index 99% rename from docs/latest/user/http-routing.md rename to site/content/en/docs/latest/user/http-routing.md index 73e9b5263dad..2b0f4cf1e355 100644 --- a/docs/latest/user/http-routing.md +++ b/site/content/en/docs/latest/user/http-routing.md @@ -1,4 +1,6 @@ -# HTTP Routing +--- +title: "HTTP Routing" +--- The [HTTPRoute][] resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide diff --git a/docs/v0.5.0/user/http-traffic-splitting.md b/site/content/en/docs/latest/user/http-traffic-splitting.md similarity index 99% rename from docs/v0.5.0/user/http-traffic-splitting.md rename to site/content/en/docs/latest/user/http-traffic-splitting.md index 92fed8bd0b11..94f021b5aecb 100644 --- a/docs/v0.5.0/user/http-traffic-splitting.md +++ b/site/content/en/docs/latest/user/http-traffic-splitting.md @@ -1,4 +1,6 @@ -# HTTPRoute Traffic Splitting +--- +title: "HTTPRoute Traffic Splitting" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned diff --git a/docs/v0.4.0/user/http-urlrewrite.md b/site/content/en/docs/latest/user/http-urlrewrite.md similarity index 99% rename from docs/v0.4.0/user/http-urlrewrite.md rename to site/content/en/docs/latest/user/http-urlrewrite.md index 88e29c3269cc..fb68ae883221 100644 --- a/docs/v0.4.0/user/http-urlrewrite.md +++ b/site/content/en/docs/latest/user/http-urlrewrite.md @@ -1,4 +1,6 @@ -# HTTP URL Rewrite +--- +title: "HTTP URL Rewrite" +--- [HTTPURLRewriteFilter][] defines a filter that modifies a request during forwarding. At most one of these filters may be used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter. diff --git a/docs/latest/user/installation.md b/site/content/en/docs/latest/user/installation.md similarity index 99% rename from docs/latest/user/installation.md rename to site/content/en/docs/latest/user/installation.md index 8f3d9de6db89..03796dbd96f7 100644 --- a/docs/latest/user/installation.md +++ b/site/content/en/docs/latest/user/installation.md @@ -1,4 +1,6 @@ -# Installation +--- +title: "Installation" +--- ## Prerequisites diff --git a/docs/latest/user/multicluster-service.md b/site/content/en/docs/latest/user/multicluster-service.md similarity index 98% rename from docs/latest/user/multicluster-service.md rename to site/content/en/docs/latest/user/multicluster-service.md index 1c46c8ab1f71..d0fd7a83fb1c 100644 --- a/docs/latest/user/multicluster-service.md +++ b/site/content/en/docs/latest/user/multicluster-service.md @@ -1,4 +1,6 @@ -# Multicluster Service Routing +--- +title: "Multicluster Service Routing" +--- The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow [sig documentation](https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/). diff --git a/docs/v0.5.0/user/proxy-observability.md b/site/content/en/docs/latest/user/proxy-observability.md similarity index 99% rename from docs/v0.5.0/user/proxy-observability.md rename to site/content/en/docs/latest/user/proxy-observability.md index e635460865b0..8755332262d0 100644 --- a/docs/v0.5.0/user/proxy-observability.md +++ b/site/content/en/docs/latest/user/proxy-observability.md @@ -1,4 +1,6 @@ -# Proxy Observability +--- +title: "Proxy Observability" +--- Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances. This guide show you how to config proxy observability, includes metrics, logs, and traces. diff --git a/docs/latest/user/quickstart.md b/site/content/en/docs/latest/user/quickstart.md similarity index 98% rename from docs/latest/user/quickstart.md rename to site/content/en/docs/latest/user/quickstart.md index ce2623ed0052..feaf4a89ce47 100644 --- a/docs/latest/user/quickstart.md +++ b/site/content/en/docs/latest/user/quickstart.md @@ -1,4 +1,7 @@ -# Quickstart +--- +title: "Quickstart" +weight: 1 +--- This guide will help you get started with Envoy Gateway in a few simple steps. diff --git a/docs/latest/user/rate-limit.md b/site/content/en/docs/latest/user/rate-limit.md similarity index 99% rename from docs/latest/user/rate-limit.md rename to site/content/en/docs/latest/user/rate-limit.md index 1baa0df1140c..a2781fe0a906 100644 --- a/docs/latest/user/rate-limit.md +++ b/site/content/en/docs/latest/user/rate-limit.md @@ -1,4 +1,6 @@ -# Rate Limit +--- +title: "Rate Limit" +--- Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow. diff --git a/docs/latest/user/secure-gateways.md b/site/content/en/docs/latest/user/secure-gateways.md similarity index 99% rename from docs/latest/user/secure-gateways.md rename to site/content/en/docs/latest/user/secure-gateways.md index 8ada7c59978a..2e04000d5a7d 100644 --- a/docs/latest/user/secure-gateways.md +++ b/site/content/en/docs/latest/user/secure-gateways.md @@ -1,4 +1,6 @@ -# Secure Gateways +--- +title: "Secure Gateways" +--- This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/latest/user/tcp-routing.md b/site/content/en/docs/latest/user/tcp-routing.md similarity index 99% rename from docs/latest/user/tcp-routing.md rename to site/content/en/docs/latest/user/tcp-routing.md index ed1f5430b4cb..d06ae77f7a4c 100644 --- a/docs/latest/user/tcp-routing.md +++ b/site/content/en/docs/latest/user/tcp-routing.md @@ -1,4 +1,6 @@ -# TCP Routing +--- +title: "TCP Routing" +--- [TCPRoute][] provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about diff --git a/docs/latest/user/tls-cert-manager.md b/site/content/en/docs/latest/user/tls-cert-manager.md similarity index 99% rename from docs/latest/user/tls-cert-manager.md rename to site/content/en/docs/latest/user/tls-cert-manager.md index 72f3384fdd5e..b47d80ca5d19 100644 --- a/docs/latest/user/tls-cert-manager.md +++ b/site/content/en/docs/latest/user/tls-cert-manager.md @@ -1,4 +1,6 @@ -# Using cert-manager For TLS Termination +--- +title: "Using cert-manager For TLS Termination" +--- This guide shows how to set up [cert-manager](https://cert-manager.io/) to automatically create certificates and secrets for use by Envoy Gateway. It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other. @@ -51,7 +53,7 @@ cert-manager can have any number of *issuer* configurations. The simplest issuer type is [SelfSigned](https://cert-manager.io/docs/configuration/selfsigned/). It simply takes the certificate request and signs it with the private key it generates for the TLS Secret. -```{note} +``` Self-signed certificates don't provide any help in establishing trust between certificates. However, they are great for initial testing, due to their simplicity. ``` diff --git a/docs/latest/user/tls-passthrough.md b/site/content/en/docs/latest/user/tls-passthrough.md similarity index 99% rename from docs/latest/user/tls-passthrough.md rename to site/content/en/docs/latest/user/tls-passthrough.md index 75a14d2a5373..2ad4610a9991 100644 --- a/docs/latest/user/tls-passthrough.md +++ b/site/content/en/docs/latest/user/tls-passthrough.md @@ -1,4 +1,6 @@ -# TLS Passthrough +--- +title: "TLS Passthrough" +--- This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself diff --git a/docs/latest/user/tls-termination.md b/site/content/en/docs/latest/user/tls-termination.md similarity index 98% rename from docs/latest/user/tls-termination.md rename to site/content/en/docs/latest/user/tls-termination.md index ebea433faf1b..eaae97ec9fde 100644 --- a/docs/latest/user/tls-termination.md +++ b/site/content/en/docs/latest/user/tls-termination.md @@ -1,4 +1,6 @@ -# TLS Termination for TCP +--- +title: "TLS Termination for TCP" +--- This guide will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/latest/user/udp-routing.md b/site/content/en/docs/latest/user/udp-routing.md similarity index 99% rename from docs/latest/user/udp-routing.md rename to site/content/en/docs/latest/user/udp-routing.md index 865019cc1d66..b6bc7fa633ba 100644 --- a/docs/latest/user/udp-routing.md +++ b/site/content/en/docs/latest/user/udp-routing.md @@ -1,4 +1,6 @@ -# UDP Routing +--- +title: "UDP Routing" +--- The [UDPRoute][] resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy diff --git a/site/content/en/docs/m.py b/site/content/en/docs/m.py new file mode 100644 index 000000000000..33955e20b0d0 --- /dev/null +++ b/site/content/en/docs/m.py @@ -0,0 +1,22 @@ +import os +import re + +# 递归遍历目录及其子目录中的所有 .md 文件 +for root, dirs, files in os.walk('.'): + for file in files: + if file.endswith(".md"): + file_path = os.path.join(root, file) + with open(file_path, "r") as f: + content = f.readlines() + + # 查找并删除第一个一级标题 + for i in range(len(content)): + if content[i].startswith("# "): + content[i] = "" + break + + # 将新内容写回文件 + with open(file_path, "w") as f: + f.writelines(content) + +print("转换完成!") \ No newline at end of file diff --git a/site/content/en/docs/v0.2.0/_index.md b/site/content/en/docs/v0.2.0/_index.md new file mode 100644 index 000000000000..045c5cfab1c5 --- /dev/null +++ b/site/content/en/docs/v0.2.0/_index.md @@ -0,0 +1,8 @@ +--- +title: "Welcome to Envoy Gateway" +description: v0.2.0 version of Envoy Gateway +linktitle: v0.2.0 +--- + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. diff --git a/site/content/en/docs/v0.2.0/design/_index.md b/site/content/en/docs/v0.2.0/design/_index.md new file mode 100644 index 000000000000..21650809f7da --- /dev/null +++ b/site/content/en/docs/v0.2.0/design/_index.md @@ -0,0 +1,6 @@ +--- +title: "Design" +weight: 1 +description: This section includes Designs of Envoy Gateway. +--- + diff --git a/docs/v0.2.0/design/config-api.md b/site/content/en/docs/v0.2.0/design/config-api.md similarity index 99% rename from docs/v0.2.0/design/config-api.md rename to site/content/en/docs/v0.2.0/design/config-api.md index 3696860dd54d..466b84d8f351 100644 --- a/docs/v0.2.0/design/config-api.md +++ b/site/content/en/docs/v0.2.0/design/config-api.md @@ -1,4 +1,6 @@ -# Configuration API Design +--- +title: "Configuration API Design" +--- ## Motivation diff --git a/docs/v0.4.0/design/gatewayapi-translator.md b/site/content/en/docs/v0.2.0/design/gatewayapi-translator.md similarity index 99% rename from docs/v0.4.0/design/gatewayapi-translator.md rename to site/content/en/docs/v0.2.0/design/gatewayapi-translator.md index 3cf0da94f5aa..3add199ee15e 100644 --- a/docs/v0.4.0/design/gatewayapi-translator.md +++ b/site/content/en/docs/v0.2.0/design/gatewayapi-translator.md @@ -1,4 +1,6 @@ -# Gateway API Translator Design +--- +title: "Gateway API Translator Design" +--- The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate Representation (IR). diff --git a/docs/v0.2.0/design/roadmap.md b/site/content/en/docs/v0.2.0/design/roadmap.md similarity index 99% rename from docs/v0.2.0/design/roadmap.md rename to site/content/en/docs/v0.2.0/design/roadmap.md index d6ec649e4a29..b59afc058052 100644 --- a/docs/v0.2.0/design/roadmap.md +++ b/site/content/en/docs/v0.2.0/design/roadmap.md @@ -1,4 +1,6 @@ -# Roadmap +--- +title: "Roadmap" +--- This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of the project. diff --git a/docs/v0.3.0/design/system-design.md b/site/content/en/docs/v0.2.0/design/system-design.md similarity index 99% rename from docs/v0.3.0/design/system-design.md rename to site/content/en/docs/v0.2.0/design/system-design.md index 731cb0925b03..5c3c0c201997 100644 --- a/docs/v0.3.0/design/system-design.md +++ b/site/content/en/docs/v0.2.0/design/system-design.md @@ -1,4 +1,6 @@ -# System Design +--- +title: "System Design" +--- ## Goals diff --git a/docs/v0.3.0/design/watching.md b/site/content/en/docs/v0.2.0/design/watching.md similarity index 99% rename from docs/v0.3.0/design/watching.md rename to site/content/en/docs/v0.2.0/design/watching.md index b8477a30e2d6..e2d17ca86b91 100644 --- a/docs/v0.3.0/design/watching.md +++ b/site/content/en/docs/v0.2.0/design/watching.md @@ -1,4 +1,6 @@ -# Watching Components Design +--- +title: "Watching Components Design" +--- Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch external resources, and "publish" what they see for other components to consume; others watch what another publishes and diff --git a/docs/v0.2.0/dev/CODEOWNERS.md b/site/content/en/docs/v0.2.0/dev/CODEOWNERS.md similarity index 87% rename from docs/v0.2.0/dev/CODEOWNERS.md rename to site/content/en/docs/v0.2.0/dev/CODEOWNERS.md index d4229b6b23f2..7e0da1b17a21 100644 --- a/docs/v0.2.0/dev/CODEOWNERS.md +++ b/site/content/en/docs/v0.2.0/dev/CODEOWNERS.md @@ -1,4 +1,6 @@ -# Maintainers +--- +title: "Maintainers" +--- ## The following maintainers, listed in alphabetical order, own everything diff --git a/docs/v0.3.0/dev/CODE_OF_CONDUCT.md b/site/content/en/docs/v0.2.0/dev/CODE_OF_CONDUCT.md similarity index 71% rename from docs/v0.3.0/dev/CODE_OF_CONDUCT.md rename to site/content/en/docs/v0.2.0/dev/CODE_OF_CONDUCT.md index a0a295770f31..bb066266f482 100644 --- a/docs/v0.3.0/dev/CODE_OF_CONDUCT.md +++ b/site/content/en/docs/v0.2.0/dev/CODE_OF_CONDUCT.md @@ -1,3 +1,5 @@ -# Community Code of Conduct +--- +title: "Community Code of Conduct" +--- Gateway follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/docs/v0.3.0/dev/CONTRIBUTING.md b/site/content/en/docs/v0.2.0/dev/CONTRIBUTING.md similarity index 99% rename from docs/v0.3.0/dev/CONTRIBUTING.md rename to site/content/en/docs/v0.2.0/dev/CONTRIBUTING.md index d7770bdeff2f..f4a13ff42445 100644 --- a/docs/v0.3.0/dev/CONTRIBUTING.md +++ b/site/content/en/docs/v0.2.0/dev/CONTRIBUTING.md @@ -1,4 +1,6 @@ -# Contributing +--- +title: "Contributing" +--- We welcome contributions from the community. Please carefully review the [project goals](GOALS.md) and following guidelines to streamline your contributions. diff --git a/docs/v0.3.0/dev/DOCS.md b/site/content/en/docs/v0.2.0/dev/DOCS.md similarity index 98% rename from docs/v0.3.0/dev/DOCS.md rename to site/content/en/docs/v0.2.0/dev/DOCS.md index fb49b9d55dda..1abae95763c5 100644 --- a/docs/v0.3.0/dev/DOCS.md +++ b/site/content/en/docs/v0.2.0/dev/DOCS.md @@ -1,4 +1,6 @@ -# Working on the Envoy Gateway Docs +--- +title: "Working on the Envoy Gateway Docs" +--- The documentation for the Envoy Gateway lives in the `docs/` directory. Any individual document can be written using either [reStructuredText] or [Markdown], diff --git a/docs/v0.2.0/dev/GOALS.md b/site/content/en/docs/v0.2.0/dev/GOALS.md similarity index 100% rename from docs/v0.2.0/dev/GOALS.md rename to site/content/en/docs/v0.2.0/dev/GOALS.md diff --git a/docs/v0.2.0/dev/README.md b/site/content/en/docs/v0.2.0/dev/README.md similarity index 99% rename from docs/v0.2.0/dev/README.md rename to site/content/en/docs/v0.2.0/dev/README.md index 4f94c06bb37a..b04522a80850 100644 --- a/docs/v0.2.0/dev/README.md +++ b/site/content/en/docs/v0.2.0/dev/README.md @@ -1,4 +1,6 @@ -# Developer Guide +--- +title: "Developer Guide" +--- Envoy Gateway is built using a [make][]-based build system. Our CI is based on [Github Actions][] using [workflows][]. diff --git a/site/content/en/docs/v0.2.0/dev/_index.md b/site/content/en/docs/v0.2.0/dev/_index.md new file mode 100644 index 000000000000..b4ea3bc1a5b0 --- /dev/null +++ b/site/content/en/docs/v0.2.0/dev/_index.md @@ -0,0 +1,5 @@ +--- +title: "Development" +weight: 3 +description: This section includes Developments of Envoy Gateway. +--- diff --git a/docs/v0.2.0/dev/releasing.md b/site/content/en/docs/v0.2.0/dev/releasing.md similarity index 99% rename from docs/v0.2.0/dev/releasing.md rename to site/content/en/docs/v0.2.0/dev/releasing.md index 30bb5fe8c582..5a4af9e8278b 100644 --- a/docs/v0.2.0/dev/releasing.md +++ b/site/content/en/docs/v0.2.0/dev/releasing.md @@ -1,4 +1,6 @@ -# Release Process +--- +title: "Release Process" +--- This document guides maintainers through the process of creating an Envoy Gateway release. diff --git a/docs/v0.2.0/images/architecture.png b/site/content/en/docs/v0.2.0/images/architecture.png similarity index 100% rename from docs/v0.2.0/images/architecture.png rename to site/content/en/docs/v0.2.0/images/architecture.png diff --git a/site/content/en/docs/v0.2.0/user/_index.md b/site/content/en/docs/v0.2.0/user/_index.md new file mode 100644 index 000000000000..32a4b32e7904 --- /dev/null +++ b/site/content/en/docs/v0.2.0/user/_index.md @@ -0,0 +1,6 @@ +--- +title: "User Guide" +weight: 2 +description: This section includes User Guides of Envoy Gateway. +--- + diff --git a/docs/v0.2.0/user/http-redirect.md b/site/content/en/docs/v0.2.0/user/http-redirect.md similarity index 99% rename from docs/v0.2.0/user/http-redirect.md rename to site/content/en/docs/v0.2.0/user/http-redirect.md index 5b6588535eaf..245039c74b51 100644 --- a/docs/v0.2.0/user/http-redirect.md +++ b/site/content/en/docs/v0.2.0/user/http-redirect.md @@ -1,4 +1,6 @@ -# HTTP Redirects +--- +title: "HTTP Redirects" +--- The [HTTPRoute][] resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ diff --git a/docs/v0.2.0/user/http-request-headers.md b/site/content/en/docs/v0.2.0/user/http-request-headers.md similarity index 99% rename from docs/v0.2.0/user/http-request-headers.md rename to site/content/en/docs/v0.2.0/user/http-request-headers.md index b51bf946cdf9..cc801d28ddca 100644 --- a/docs/v0.2.0/user/http-request-headers.md +++ b/site/content/en/docs/v0.2.0/user/http-request-headers.md @@ -1,4 +1,6 @@ -# HTTP Request Headers +--- +title: "HTTP Request Headers" +--- The [HTTPRoute][] resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ [HTTPRoute filters][] which diff --git a/docs/v0.2.0/user/http-routing.md b/site/content/en/docs/v0.2.0/user/http-routing.md similarity index 99% rename from docs/v0.2.0/user/http-routing.md rename to site/content/en/docs/v0.2.0/user/http-routing.md index d3d9bd388cbc..6ca0b8c9751a 100644 --- a/docs/v0.2.0/user/http-routing.md +++ b/site/content/en/docs/v0.2.0/user/http-routing.md @@ -1,4 +1,6 @@ -# HTTP Routing +--- +title: "HTTP Routing" +--- The [HTTPRoute][] resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide diff --git a/docs/v0.2.0/user/http-traffic-splitting.md b/site/content/en/docs/v0.2.0/user/http-traffic-splitting.md similarity index 99% rename from docs/v0.2.0/user/http-traffic-splitting.md rename to site/content/en/docs/v0.2.0/user/http-traffic-splitting.md index a3f8fe60b47c..421a4fa05461 100644 --- a/docs/v0.2.0/user/http-traffic-splitting.md +++ b/site/content/en/docs/v0.2.0/user/http-traffic-splitting.md @@ -1,4 +1,6 @@ -# HTTPRoute Traffic Splitting +--- +title: "HTTPRoute Traffic Splitting" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned diff --git a/docs/v0.2.0/user/quickstart.md b/site/content/en/docs/v0.2.0/user/quickstart.md similarity index 98% rename from docs/v0.2.0/user/quickstart.md rename to site/content/en/docs/v0.2.0/user/quickstart.md index 5361ca187ea6..0827145400f6 100644 --- a/docs/v0.2.0/user/quickstart.md +++ b/site/content/en/docs/v0.2.0/user/quickstart.md @@ -1,4 +1,7 @@ -# Quickstart +--- +title: "Quickstart" +weight: 1 +--- This guide will help you get started with Envoy Gateway in a few simple steps. diff --git a/docs/v0.2.0/user/secure-gateways.md b/site/content/en/docs/v0.2.0/user/secure-gateways.md similarity index 99% rename from docs/v0.2.0/user/secure-gateways.md rename to site/content/en/docs/v0.2.0/user/secure-gateways.md index cd5199495b9d..2919cfdd26a8 100644 --- a/docs/v0.2.0/user/secure-gateways.md +++ b/site/content/en/docs/v0.2.0/user/secure-gateways.md @@ -1,4 +1,6 @@ -# Secure Gateways +--- +title: "Secure Gateways" +--- This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/v0.2.0/user/tls-passthrough.md b/site/content/en/docs/v0.2.0/user/tls-passthrough.md similarity index 99% rename from docs/v0.2.0/user/tls-passthrough.md rename to site/content/en/docs/v0.2.0/user/tls-passthrough.md index f089350d3bd0..fcfee0d82d42 100644 --- a/docs/v0.2.0/user/tls-passthrough.md +++ b/site/content/en/docs/v0.2.0/user/tls-passthrough.md @@ -1,4 +1,6 @@ -# TLS Passthrough +--- +title: "TLS Passthrough" +--- This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself diff --git a/site/content/en/docs/v0.3.0/_index.md b/site/content/en/docs/v0.3.0/_index.md new file mode 100644 index 000000000000..35bb3ad518fb --- /dev/null +++ b/site/content/en/docs/v0.3.0/_index.md @@ -0,0 +1,8 @@ +--- +title: "Welcome to Envoy Gateway" +description: v0.3.0 version of Envoy Gateway +linktitle: v0.3.0 +--- + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. diff --git a/site/content/en/docs/v0.3.0/api/_index.md b/site/content/en/docs/v0.3.0/api/_index.md new file mode 100644 index 000000000000..1d7c67c8c151 --- /dev/null +++ b/site/content/en/docs/v0.3.0/api/_index.md @@ -0,0 +1,4 @@ +--- +title: "API" +description: This section includes APIs of Envoy Gateway. +--- diff --git a/docs/v0.3.0/api/config_types.md b/site/content/en/docs/v0.3.0/api/config_types.md similarity index 99% rename from docs/v0.3.0/api/config_types.md rename to site/content/en/docs/v0.3.0/api/config_types.md index 8ddc73d3efc4..4ff5b3f6f181 100644 --- a/docs/v0.3.0/api/config_types.md +++ b/site/content/en/docs/v0.3.0/api/config_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Config APIs" +--- ## Packages - [config.gateway.envoyproxy.io/v1alpha1](#configgatewayenvoyproxyiov1alpha1) diff --git a/docs/v0.3.0/api/extension_types.md b/site/content/en/docs/v0.3.0/api/extension_types.md similarity index 99% rename from docs/v0.3.0/api/extension_types.md rename to site/content/en/docs/v0.3.0/api/extension_types.md index 9479da94da5c..478fc54f5dca 100644 --- a/docs/v0.3.0/api/extension_types.md +++ b/site/content/en/docs/v0.3.0/api/extension_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Extension APIs" +--- ## Packages - [gateway.envoyproxy.io/v1alpha1](#gatewayenvoyproxyiov1alpha1) diff --git a/site/content/en/docs/v0.3.0/design/_index.md b/site/content/en/docs/v0.3.0/design/_index.md new file mode 100644 index 000000000000..21650809f7da --- /dev/null +++ b/site/content/en/docs/v0.3.0/design/_index.md @@ -0,0 +1,6 @@ +--- +title: "Design" +weight: 1 +description: This section includes Designs of Envoy Gateway. +--- + diff --git a/docs/v0.3.0/design/config-api.md b/site/content/en/docs/v0.3.0/design/config-api.md similarity index 99% rename from docs/v0.3.0/design/config-api.md rename to site/content/en/docs/v0.3.0/design/config-api.md index 3696860dd54d..466b84d8f351 100644 --- a/docs/v0.3.0/design/config-api.md +++ b/site/content/en/docs/v0.3.0/design/config-api.md @@ -1,4 +1,6 @@ -# Configuration API Design +--- +title: "Configuration API Design" +--- ## Motivation diff --git a/docs/v0.3.0/design/egctl.md b/site/content/en/docs/v0.3.0/design/egctl.md similarity index 98% rename from docs/v0.3.0/design/egctl.md rename to site/content/en/docs/v0.3.0/design/egctl.md index 53a5e7b998ac..c9db36e1b68c 100644 --- a/docs/v0.3.0/design/egctl.md +++ b/site/content/en/docs/v0.3.0/design/egctl.md @@ -1,4 +1,6 @@ -# Introduce egctl +--- +title: "Introduce egctl" +--- ## Motivation diff --git a/docs/v0.3.0/design/gatewayapi-support.md b/site/content/en/docs/v0.3.0/design/gatewayapi-support.md similarity index 99% rename from docs/v0.3.0/design/gatewayapi-support.md rename to site/content/en/docs/v0.3.0/design/gatewayapi-support.md index 4ce9f1b041e3..67eaf05bb4ac 100644 --- a/docs/v0.3.0/design/gatewayapi-support.md +++ b/site/content/en/docs/v0.3.0/design/gatewayapi-support.md @@ -1,4 +1,6 @@ -# Gateway API Support +--- +title: "Gateway API Support" +--- As mentioned in the [system design][] document, Envoy Gateway's managed data plane is configured dynamically through Kubernetes resources, primarily [Gateway API][] objects. Envoy Gateway supports configuration using the following Gateway API resources. diff --git a/docs/v0.2.0/design/gatewayapi-translator.md b/site/content/en/docs/v0.3.0/design/gatewayapi-translator.md similarity index 99% rename from docs/v0.2.0/design/gatewayapi-translator.md rename to site/content/en/docs/v0.3.0/design/gatewayapi-translator.md index 3cf0da94f5aa..3add199ee15e 100644 --- a/docs/v0.2.0/design/gatewayapi-translator.md +++ b/site/content/en/docs/v0.3.0/design/gatewayapi-translator.md @@ -1,4 +1,6 @@ -# Gateway API Translator Design +--- +title: "Gateway API Translator Design" +--- The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate Representation (IR). diff --git a/docs/v0.3.0/design/ratelimit.md b/site/content/en/docs/v0.3.0/design/ratelimit.md similarity index 99% rename from docs/v0.3.0/design/ratelimit.md rename to site/content/en/docs/v0.3.0/design/ratelimit.md index 8cf069346e44..5d080e4d08cc 100644 --- a/docs/v0.3.0/design/ratelimit.md +++ b/site/content/en/docs/v0.3.0/design/ratelimit.md @@ -1,4 +1,6 @@ -# Rate Limit Design +--- +title: "Rate Limit Design" +--- ## Overview diff --git a/docs/latest/design/request-authentication.md b/site/content/en/docs/v0.3.0/design/request-authentication.md similarity index 99% rename from docs/latest/design/request-authentication.md rename to site/content/en/docs/v0.3.0/design/request-authentication.md index 6b2192eadfd9..a88f7392b1fa 100644 --- a/docs/latest/design/request-authentication.md +++ b/site/content/en/docs/v0.3.0/design/request-authentication.md @@ -1,4 +1,6 @@ -# Request Authentication Design +--- +title: "Request Authentication" +--- ## Overview diff --git a/docs/v0.3.0/design/roadmap.md b/site/content/en/docs/v0.3.0/design/roadmap.md similarity index 99% rename from docs/v0.3.0/design/roadmap.md rename to site/content/en/docs/v0.3.0/design/roadmap.md index 735f19e69813..69ff513317f9 100644 --- a/docs/v0.3.0/design/roadmap.md +++ b/site/content/en/docs/v0.3.0/design/roadmap.md @@ -1,4 +1,6 @@ -# Roadmap +--- +title: "Roadmap" +--- This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of the project. diff --git a/docs/v0.2.0/design/system-design.md b/site/content/en/docs/v0.3.0/design/system-design.md similarity index 99% rename from docs/v0.2.0/design/system-design.md rename to site/content/en/docs/v0.3.0/design/system-design.md index 731cb0925b03..5c3c0c201997 100644 --- a/docs/v0.2.0/design/system-design.md +++ b/site/content/en/docs/v0.3.0/design/system-design.md @@ -1,4 +1,6 @@ -# System Design +--- +title: "System Design" +--- ## Goals diff --git a/docs/v0.4.0/design/tcp-udp-design.md b/site/content/en/docs/v0.3.0/design/tcp-udp-design.md similarity index 98% rename from docs/v0.4.0/design/tcp-udp-design.md rename to site/content/en/docs/v0.3.0/design/tcp-udp-design.md index 276221b897ba..f517e24fedae 100644 --- a/docs/v0.4.0/design/tcp-udp-design.md +++ b/site/content/en/docs/v0.3.0/design/tcp-udp-design.md @@ -1,4 +1,6 @@ -# TCP and UDP Proxy Design +--- +title: "TCP and UDP Proxy Design " +--- Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the diff --git a/docs/latest/design/watching.md b/site/content/en/docs/v0.3.0/design/watching.md similarity index 99% rename from docs/latest/design/watching.md rename to site/content/en/docs/v0.3.0/design/watching.md index b8477a30e2d6..e2d17ca86b91 100644 --- a/docs/latest/design/watching.md +++ b/site/content/en/docs/v0.3.0/design/watching.md @@ -1,4 +1,6 @@ -# Watching Components Design +--- +title: "Watching Components Design" +--- Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch external resources, and "publish" what they see for other components to consume; others watch what another publishes and diff --git a/docs/v0.3.0/dev/CODEOWNERS.md b/site/content/en/docs/v0.3.0/dev/CODEOWNERS.md similarity index 87% rename from docs/v0.3.0/dev/CODEOWNERS.md rename to site/content/en/docs/v0.3.0/dev/CODEOWNERS.md index d4229b6b23f2..7e0da1b17a21 100644 --- a/docs/v0.3.0/dev/CODEOWNERS.md +++ b/site/content/en/docs/v0.3.0/dev/CODEOWNERS.md @@ -1,4 +1,6 @@ -# Maintainers +--- +title: "Maintainers" +--- ## The following maintainers, listed in alphabetical order, own everything diff --git a/docs/v0.4.0/dev/CODE_OF_CONDUCT.md b/site/content/en/docs/v0.3.0/dev/CODE_OF_CONDUCT.md similarity index 71% rename from docs/v0.4.0/dev/CODE_OF_CONDUCT.md rename to site/content/en/docs/v0.3.0/dev/CODE_OF_CONDUCT.md index a0a295770f31..bb066266f482 100644 --- a/docs/v0.4.0/dev/CODE_OF_CONDUCT.md +++ b/site/content/en/docs/v0.3.0/dev/CODE_OF_CONDUCT.md @@ -1,3 +1,5 @@ -# Community Code of Conduct +--- +title: "Community Code of Conduct" +--- Gateway follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/docs/v0.2.0/dev/CONTRIBUTING.md b/site/content/en/docs/v0.3.0/dev/CONTRIBUTING.md similarity index 99% rename from docs/v0.2.0/dev/CONTRIBUTING.md rename to site/content/en/docs/v0.3.0/dev/CONTRIBUTING.md index d7770bdeff2f..f4a13ff42445 100644 --- a/docs/v0.2.0/dev/CONTRIBUTING.md +++ b/site/content/en/docs/v0.3.0/dev/CONTRIBUTING.md @@ -1,4 +1,6 @@ -# Contributing +--- +title: "Contributing" +--- We welcome contributions from the community. Please carefully review the [project goals](GOALS.md) and following guidelines to streamline your contributions. diff --git a/docs/v0.4.0/dev/DOCS.md b/site/content/en/docs/v0.3.0/dev/DOCS.md similarity index 98% rename from docs/v0.4.0/dev/DOCS.md rename to site/content/en/docs/v0.3.0/dev/DOCS.md index fb49b9d55dda..1abae95763c5 100644 --- a/docs/v0.4.0/dev/DOCS.md +++ b/site/content/en/docs/v0.3.0/dev/DOCS.md @@ -1,4 +1,6 @@ -# Working on the Envoy Gateway Docs +--- +title: "Working on the Envoy Gateway Docs" +--- The documentation for the Envoy Gateway lives in the `docs/` directory. Any individual document can be written using either [reStructuredText] or [Markdown], diff --git a/docs/v0.3.0/dev/GOALS.md b/site/content/en/docs/v0.3.0/dev/GOALS.md similarity index 99% rename from docs/v0.3.0/dev/GOALS.md rename to site/content/en/docs/v0.3.0/dev/GOALS.md index 519be9f180fe..0d7dea58478d 100644 --- a/docs/v0.3.0/dev/GOALS.md +++ b/site/content/en/docs/v0.3.0/dev/GOALS.md @@ -1,4 +1,6 @@ -# Goals +--- +title: "Goals" +--- The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing diff --git a/docs/v0.3.0/dev/README.md b/site/content/en/docs/v0.3.0/dev/README.md similarity index 99% rename from docs/v0.3.0/dev/README.md rename to site/content/en/docs/v0.3.0/dev/README.md index 0c3b055b6191..3a3a8e632cd3 100644 --- a/docs/v0.3.0/dev/README.md +++ b/site/content/en/docs/v0.3.0/dev/README.md @@ -1,4 +1,6 @@ -# Developer Guide +--- +title: "Developer Guide" +--- Envoy Gateway is built using a [make][]-based build system. Our CI is based on [Github Actions][] using [workflows][]. diff --git a/site/content/en/docs/v0.3.0/dev/_index.md b/site/content/en/docs/v0.3.0/dev/_index.md new file mode 100644 index 000000000000..b4ea3bc1a5b0 --- /dev/null +++ b/site/content/en/docs/v0.3.0/dev/_index.md @@ -0,0 +1,5 @@ +--- +title: "Development" +weight: 3 +description: This section includes Developments of Envoy Gateway. +--- diff --git a/docs/v0.3.0/dev/releasing.md b/site/content/en/docs/v0.3.0/dev/releasing.md similarity index 99% rename from docs/v0.3.0/dev/releasing.md rename to site/content/en/docs/v0.3.0/dev/releasing.md index f0004caf3367..455b086c1781 100644 --- a/docs/v0.3.0/dev/releasing.md +++ b/site/content/en/docs/v0.3.0/dev/releasing.md @@ -1,4 +1,6 @@ -# Release Process +--- +title: "Release Process" +--- This document guides maintainers through the process of creating an Envoy Gateway release. diff --git a/docs/v0.3.0/images/architecture.png b/site/content/en/docs/v0.3.0/images/architecture.png similarity index 100% rename from docs/v0.3.0/images/architecture.png rename to site/content/en/docs/v0.3.0/images/architecture.png diff --git a/site/content/en/docs/v0.3.0/user/_index.md b/site/content/en/docs/v0.3.0/user/_index.md new file mode 100644 index 000000000000..32a4b32e7904 --- /dev/null +++ b/site/content/en/docs/v0.3.0/user/_index.md @@ -0,0 +1,6 @@ +--- +title: "User Guide" +weight: 2 +description: This section includes User Guides of Envoy Gateway. +--- + diff --git a/docs/v0.3.0/user/authn.md b/site/content/en/docs/v0.3.0/user/authn.md similarity index 98% rename from docs/v0.3.0/user/authn.md rename to site/content/en/docs/v0.3.0/user/authn.md index 3b40738f305b..8130cad2a839 100644 --- a/docs/v0.3.0/user/authn.md +++ b/site/content/en/docs/v0.3.0/user/authn.md @@ -1,4 +1,6 @@ -# Request Authentication +--- +title: "Request Authentication" +--- This guide provides instructions for configuring [JSON Web Token (JWT)][jwt] authentication. JWT authentication checks if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only diff --git a/docs/v0.3.0/user/grpc-routing.md b/site/content/en/docs/v0.3.0/user/grpc-routing.md similarity index 99% rename from docs/v0.3.0/user/grpc-routing.md rename to site/content/en/docs/v0.3.0/user/grpc-routing.md index 31a25c44268f..71c7179243f7 100644 --- a/docs/v0.3.0/user/grpc-routing.md +++ b/site/content/en/docs/v0.3.0/user/grpc-routing.md @@ -1,4 +1,6 @@ -# GRPC Routing +--- +title: "GRPC Routing" +--- The [GRPCRoute][] resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers. To learn more about gRPC routing, refer to the [Gateway API documentation][]. diff --git a/docs/latest/user/http-redirect.md b/site/content/en/docs/v0.3.0/user/http-redirect.md similarity index 99% rename from docs/latest/user/http-redirect.md rename to site/content/en/docs/v0.3.0/user/http-redirect.md index dcd72749f368..da61bdaf32f3 100644 --- a/docs/latest/user/http-redirect.md +++ b/site/content/en/docs/v0.3.0/user/http-redirect.md @@ -1,4 +1,6 @@ -# HTTP Redirects +--- +title: "HTTP Redirects" +--- The [HTTPRoute][] resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ diff --git a/docs/v0.5.0/user/http-request-headers.md b/site/content/en/docs/v0.3.0/user/http-request-headers.md similarity index 99% rename from docs/v0.5.0/user/http-request-headers.md rename to site/content/en/docs/v0.3.0/user/http-request-headers.md index 5e1d77fe6d2f..17fe3b87bcb1 100644 --- a/docs/v0.5.0/user/http-request-headers.md +++ b/site/content/en/docs/v0.3.0/user/http-request-headers.md @@ -1,4 +1,6 @@ -# HTTP Request Headers +--- +title: "HTTP Request Headers" +--- The [HTTPRoute][] resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ [HTTPRoute filters][] which diff --git a/docs/v0.3.0/user/http-response-headers.md b/site/content/en/docs/v0.3.0/user/http-response-headers.md similarity index 99% rename from docs/v0.3.0/user/http-response-headers.md rename to site/content/en/docs/v0.3.0/user/http-response-headers.md index 6c77c2e6c2c4..4a27728003d7 100644 --- a/docs/v0.3.0/user/http-response-headers.md +++ b/site/content/en/docs/v0.3.0/user/http-response-headers.md @@ -1,4 +1,6 @@ -# HTTP Response Headers +--- +title: "HTTP Response Headers" +--- The [HTTPRoute][] resource can modify the headers of a response before responding it to the downstream service. To learn more about HTTP routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.3.0/user/http-routing.md b/site/content/en/docs/v0.3.0/user/http-routing.md similarity index 99% rename from docs/v0.3.0/user/http-routing.md rename to site/content/en/docs/v0.3.0/user/http-routing.md index c9f4646001fc..91a98cad7d21 100644 --- a/docs/v0.3.0/user/http-routing.md +++ b/site/content/en/docs/v0.3.0/user/http-routing.md @@ -1,4 +1,6 @@ -# HTTP Routing +--- +title: "HTTP Routing" +--- The [HTTPRoute][] resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide diff --git a/docs/v0.4.0/user/http-traffic-splitting.md b/site/content/en/docs/v0.3.0/user/http-traffic-splitting.md similarity index 99% rename from docs/v0.4.0/user/http-traffic-splitting.md rename to site/content/en/docs/v0.3.0/user/http-traffic-splitting.md index 92fed8bd0b11..94f021b5aecb 100644 --- a/docs/v0.4.0/user/http-traffic-splitting.md +++ b/site/content/en/docs/v0.3.0/user/http-traffic-splitting.md @@ -1,4 +1,6 @@ -# HTTPRoute Traffic Splitting +--- +title: "HTTPRoute Traffic Splitting" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned diff --git a/docs/latest/user/http-urlrewrite.md b/site/content/en/docs/v0.3.0/user/http-urlrewrite.md similarity index 99% rename from docs/latest/user/http-urlrewrite.md rename to site/content/en/docs/v0.3.0/user/http-urlrewrite.md index 88e29c3269cc..fb68ae883221 100644 --- a/docs/latest/user/http-urlrewrite.md +++ b/site/content/en/docs/v0.3.0/user/http-urlrewrite.md @@ -1,4 +1,6 @@ -# HTTP URL Rewrite +--- +title: "HTTP URL Rewrite" +--- [HTTPURLRewriteFilter][] defines a filter that modifies a request during forwarding. At most one of these filters may be used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter. diff --git a/docs/v0.3.0/user/quickstart.md b/site/content/en/docs/v0.3.0/user/quickstart.md similarity index 98% rename from docs/v0.3.0/user/quickstart.md rename to site/content/en/docs/v0.3.0/user/quickstart.md index a11d3cbe7b1f..4253a56e03f1 100644 --- a/docs/v0.3.0/user/quickstart.md +++ b/site/content/en/docs/v0.3.0/user/quickstart.md @@ -1,4 +1,7 @@ -# Quickstart +--- +title: "Quickstart" +weight: 1 +--- This guide will help you get started with Envoy Gateway in a few simple steps. diff --git a/docs/v0.3.0/user/rate-limit.md b/site/content/en/docs/v0.3.0/user/rate-limit.md similarity index 99% rename from docs/v0.3.0/user/rate-limit.md rename to site/content/en/docs/v0.3.0/user/rate-limit.md index 446a82ee08aa..edb7b759560d 100644 --- a/docs/v0.3.0/user/rate-limit.md +++ b/site/content/en/docs/v0.3.0/user/rate-limit.md @@ -1,4 +1,6 @@ -# Rate limit +--- +title: "Rate limit" +--- Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow. diff --git a/docs/v0.3.0/user/secure-gateways.md b/site/content/en/docs/v0.3.0/user/secure-gateways.md similarity index 99% rename from docs/v0.3.0/user/secure-gateways.md rename to site/content/en/docs/v0.3.0/user/secure-gateways.md index c0e2b3bb37c9..6d3401a2d9af 100644 --- a/docs/v0.3.0/user/secure-gateways.md +++ b/site/content/en/docs/v0.3.0/user/secure-gateways.md @@ -1,4 +1,6 @@ -# Secure Gateways +--- +title: "Secure Gateways" +--- This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/v0.3.0/user/tcp-routing.md b/site/content/en/docs/v0.3.0/user/tcp-routing.md similarity index 99% rename from docs/v0.3.0/user/tcp-routing.md rename to site/content/en/docs/v0.3.0/user/tcp-routing.md index cb52765d3a3e..6f8cb90fe31e 100644 --- a/docs/v0.3.0/user/tcp-routing.md +++ b/site/content/en/docs/v0.3.0/user/tcp-routing.md @@ -1,4 +1,6 @@ -# TCP Routing +--- +title: "TCP Routing" +--- [TCPRoute][] provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about diff --git a/docs/v0.3.0/user/tls-passthrough.md b/site/content/en/docs/v0.3.0/user/tls-passthrough.md similarity index 99% rename from docs/v0.3.0/user/tls-passthrough.md rename to site/content/en/docs/v0.3.0/user/tls-passthrough.md index 7d411f50ef27..bfffcea53bc0 100644 --- a/docs/v0.3.0/user/tls-passthrough.md +++ b/site/content/en/docs/v0.3.0/user/tls-passthrough.md @@ -1,4 +1,6 @@ -# TLS Passthrough +--- +title: "TLS Passthrough" +--- This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself diff --git a/docs/v0.3.0/user/udp-routing.md b/site/content/en/docs/v0.3.0/user/udp-routing.md similarity index 99% rename from docs/v0.3.0/user/udp-routing.md rename to site/content/en/docs/v0.3.0/user/udp-routing.md index 47c13a53e3e4..312aec697add 100644 --- a/docs/v0.3.0/user/udp-routing.md +++ b/site/content/en/docs/v0.3.0/user/udp-routing.md @@ -1,4 +1,6 @@ -# UDP Routing +--- +title: "UDP Routing" +--- The [UDPRoute][] resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy diff --git a/site/content/en/docs/v0.4.0/_index.md b/site/content/en/docs/v0.4.0/_index.md new file mode 100644 index 000000000000..1f5904f3f6ad --- /dev/null +++ b/site/content/en/docs/v0.4.0/_index.md @@ -0,0 +1,8 @@ +--- +title: "Welcome to Envoy Gateway" +description: v0.4.0 version of Envoy Gateway +linktitle: v0.4.0 +--- + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. diff --git a/site/content/en/docs/v0.4.0/api/_index.md b/site/content/en/docs/v0.4.0/api/_index.md new file mode 100644 index 000000000000..1d7c67c8c151 --- /dev/null +++ b/site/content/en/docs/v0.4.0/api/_index.md @@ -0,0 +1,4 @@ +--- +title: "API" +description: This section includes APIs of Envoy Gateway. +--- diff --git a/docs/v0.4.0/api/config_types.md b/site/content/en/docs/v0.4.0/api/config_types.md similarity index 99% rename from docs/v0.4.0/api/config_types.md rename to site/content/en/docs/v0.4.0/api/config_types.md index 2764ba823003..91f6b5fd5323 100644 --- a/docs/v0.4.0/api/config_types.md +++ b/site/content/en/docs/v0.4.0/api/config_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Config APIs" +--- ## Packages - [config.gateway.envoyproxy.io/v1alpha1](#configgatewayenvoyproxyiov1alpha1) diff --git a/docs/v0.4.0/api/extension_types.md b/site/content/en/docs/v0.4.0/api/extension_types.md similarity index 99% rename from docs/v0.4.0/api/extension_types.md rename to site/content/en/docs/v0.4.0/api/extension_types.md index 1b1da8e4cdc3..9bc5172b2504 100644 --- a/docs/v0.4.0/api/extension_types.md +++ b/site/content/en/docs/v0.4.0/api/extension_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Extension APIs" +--- ## Packages - [gateway.envoyproxy.io/v1alpha1](#gatewayenvoyproxyiov1alpha1) diff --git a/site/content/en/docs/v0.4.0/design/_index.md b/site/content/en/docs/v0.4.0/design/_index.md new file mode 100644 index 000000000000..21650809f7da --- /dev/null +++ b/site/content/en/docs/v0.4.0/design/_index.md @@ -0,0 +1,6 @@ +--- +title: "Design" +weight: 1 +description: This section includes Designs of Envoy Gateway. +--- + diff --git a/docs/v0.5.0/design/bootstrap.md b/site/content/en/docs/v0.4.0/design/bootstrap.md similarity index 99% rename from docs/v0.5.0/design/bootstrap.md rename to site/content/en/docs/v0.4.0/design/bootstrap.md index 30f1b52116fa..9a8f0c789efa 100644 --- a/docs/v0.5.0/design/bootstrap.md +++ b/site/content/en/docs/v0.4.0/design/bootstrap.md @@ -1,4 +1,6 @@ -# Bootstrap Design +--- +title: "Bootstrap Design" +--- ## Overview diff --git a/docs/v0.5.0/design/config-api.md b/site/content/en/docs/v0.4.0/design/config-api.md similarity index 99% rename from docs/v0.5.0/design/config-api.md rename to site/content/en/docs/v0.4.0/design/config-api.md index 4caaefe3e439..ca5380151a8e 100644 --- a/docs/v0.5.0/design/config-api.md +++ b/site/content/en/docs/v0.4.0/design/config-api.md @@ -1,4 +1,6 @@ -# Configuration API Design +--- +title: "Configuration API Design" +--- ## Motivation diff --git a/docs/latest/design/egctl.md b/site/content/en/docs/v0.4.0/design/egctl.md similarity index 98% rename from docs/latest/design/egctl.md rename to site/content/en/docs/v0.4.0/design/egctl.md index 7989ff49e5e2..0f67d99f1005 100644 --- a/docs/latest/design/egctl.md +++ b/site/content/en/docs/v0.4.0/design/egctl.md @@ -1,4 +1,6 @@ -# egctl Design +--- +title: "egctl Design" +--- ## Motivation diff --git a/docs/v0.4.0/design/extending-envoy-gateway.md b/site/content/en/docs/v0.4.0/design/extending-envoy-gateway.md similarity index 99% rename from docs/v0.4.0/design/extending-envoy-gateway.md rename to site/content/en/docs/v0.4.0/design/extending-envoy-gateway.md index 61278025eb0c..fef81c2f5f54 100644 --- a/docs/v0.4.0/design/extending-envoy-gateway.md +++ b/site/content/en/docs/v0.4.0/design/extending-envoy-gateway.md @@ -1,4 +1,6 @@ -# Envoy Gateway Extensions Design +--- +title: "Envoy Gateway Extensions Design" +--- As outlined in the [official goals][] for the Envoy Gateway project, one of the main goals is to "provide a common foundation for vendors to build value-added products without having to re-engineer fundamental interactions". Development of the Envoy Gateway project has been focused on developing the core features for the project and diff --git a/docs/v0.3.0/design/gatewayapi-translator.md b/site/content/en/docs/v0.4.0/design/gatewayapi-translator.md similarity index 99% rename from docs/v0.3.0/design/gatewayapi-translator.md rename to site/content/en/docs/v0.4.0/design/gatewayapi-translator.md index 3cf0da94f5aa..3add199ee15e 100644 --- a/docs/v0.3.0/design/gatewayapi-translator.md +++ b/site/content/en/docs/v0.4.0/design/gatewayapi-translator.md @@ -1,4 +1,6 @@ -# Gateway API Translator Design +--- +title: "Gateway API Translator Design" +--- The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate Representation (IR). diff --git a/docs/v0.4.0/design/rate-limit.md b/site/content/en/docs/v0.4.0/design/rate-limit.md similarity index 99% rename from docs/v0.4.0/design/rate-limit.md rename to site/content/en/docs/v0.4.0/design/rate-limit.md index 7aaa226cf456..e6e0656c8190 100644 --- a/docs/v0.4.0/design/rate-limit.md +++ b/site/content/en/docs/v0.4.0/design/rate-limit.md @@ -1,4 +1,6 @@ -# Rate Limit Design +--- +title: "Rate Limit Design" +--- ## Overview diff --git a/docs/v0.3.0/design/request-authentication.md b/site/content/en/docs/v0.4.0/design/request-authentication.md similarity index 99% rename from docs/v0.3.0/design/request-authentication.md rename to site/content/en/docs/v0.4.0/design/request-authentication.md index dd269771cc15..82682bf2a0b7 100644 --- a/docs/v0.3.0/design/request-authentication.md +++ b/site/content/en/docs/v0.4.0/design/request-authentication.md @@ -1,4 +1,6 @@ -# Request Authentication +--- +title: "Request Authentication Design" +--- ## Overview diff --git a/docs/v0.4.0/design/roadmap.md b/site/content/en/docs/v0.4.0/design/roadmap.md similarity index 99% rename from docs/v0.4.0/design/roadmap.md rename to site/content/en/docs/v0.4.0/design/roadmap.md index 65f88de12149..301b069214e6 100644 --- a/docs/v0.4.0/design/roadmap.md +++ b/site/content/en/docs/v0.4.0/design/roadmap.md @@ -1,4 +1,6 @@ -# Roadmap +--- +title: "Roadmap" +--- This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of the project. diff --git a/docs/v0.5.0/design/system-design.md b/site/content/en/docs/v0.4.0/design/system-design.md similarity index 99% rename from docs/v0.5.0/design/system-design.md rename to site/content/en/docs/v0.4.0/design/system-design.md index 86114be37fa2..f1ae795fad3e 100644 --- a/docs/v0.5.0/design/system-design.md +++ b/site/content/en/docs/v0.4.0/design/system-design.md @@ -1,4 +1,6 @@ -# System Design +--- +title: "System Design" +--- ## Goals diff --git a/docs/latest/design/tcp-udp-design.md b/site/content/en/docs/v0.4.0/design/tcp-udp-design.md similarity index 98% rename from docs/latest/design/tcp-udp-design.md rename to site/content/en/docs/v0.4.0/design/tcp-udp-design.md index 276221b897ba..f517e24fedae 100644 --- a/docs/latest/design/tcp-udp-design.md +++ b/site/content/en/docs/v0.4.0/design/tcp-udp-design.md @@ -1,4 +1,6 @@ -# TCP and UDP Proxy Design +--- +title: "TCP and UDP Proxy Design " +--- Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the diff --git a/docs/v0.2.0/design/watching.md b/site/content/en/docs/v0.4.0/design/watching.md similarity index 99% rename from docs/v0.2.0/design/watching.md rename to site/content/en/docs/v0.4.0/design/watching.md index b8477a30e2d6..e2d17ca86b91 100644 --- a/docs/v0.2.0/design/watching.md +++ b/site/content/en/docs/v0.4.0/design/watching.md @@ -1,4 +1,6 @@ -# Watching Components Design +--- +title: "Watching Components Design" +--- Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch external resources, and "publish" what they see for other components to consume; others watch what another publishes and diff --git a/docs/v0.4.0/dev/CODEOWNERS.md b/site/content/en/docs/v0.4.0/dev/CODEOWNERS.md similarity index 87% rename from docs/v0.4.0/dev/CODEOWNERS.md rename to site/content/en/docs/v0.4.0/dev/CODEOWNERS.md index d4229b6b23f2..7e0da1b17a21 100644 --- a/docs/v0.4.0/dev/CODEOWNERS.md +++ b/site/content/en/docs/v0.4.0/dev/CODEOWNERS.md @@ -1,4 +1,6 @@ -# Maintainers +--- +title: "Maintainers" +--- ## The following maintainers, listed in alphabetical order, own everything diff --git a/docs/latest/dev/CODE_OF_CONDUCT.md b/site/content/en/docs/v0.4.0/dev/CODE_OF_CONDUCT.md similarity index 71% rename from docs/latest/dev/CODE_OF_CONDUCT.md rename to site/content/en/docs/v0.4.0/dev/CODE_OF_CONDUCT.md index a0a295770f31..bb066266f482 100644 --- a/docs/latest/dev/CODE_OF_CONDUCT.md +++ b/site/content/en/docs/v0.4.0/dev/CODE_OF_CONDUCT.md @@ -1,3 +1,5 @@ -# Community Code of Conduct +--- +title: "Community Code of Conduct" +--- Gateway follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/docs/latest/dev/CONTRIBUTING.md b/site/content/en/docs/v0.4.0/dev/CONTRIBUTING.md similarity index 99% rename from docs/latest/dev/CONTRIBUTING.md rename to site/content/en/docs/v0.4.0/dev/CONTRIBUTING.md index 04d95bb675d9..e3eafaaceed7 100644 --- a/docs/latest/dev/CONTRIBUTING.md +++ b/site/content/en/docs/v0.4.0/dev/CONTRIBUTING.md @@ -1,4 +1,6 @@ -# Contributing +--- +title: "Contributing" +--- We welcome contributions from the community. Please carefully review the [project goals](GOALS.md) and following guidelines to streamline your contributions. diff --git a/docs/v0.2.0/dev/DOCS.md b/site/content/en/docs/v0.4.0/dev/DOCS.md similarity index 98% rename from docs/v0.2.0/dev/DOCS.md rename to site/content/en/docs/v0.4.0/dev/DOCS.md index fb49b9d55dda..1abae95763c5 100644 --- a/docs/v0.2.0/dev/DOCS.md +++ b/site/content/en/docs/v0.4.0/dev/DOCS.md @@ -1,4 +1,6 @@ -# Working on the Envoy Gateway Docs +--- +title: "Working on the Envoy Gateway Docs" +--- The documentation for the Envoy Gateway lives in the `docs/` directory. Any individual document can be written using either [reStructuredText] or [Markdown], diff --git a/docs/v0.4.0/dev/GOALS.md b/site/content/en/docs/v0.4.0/dev/GOALS.md similarity index 100% rename from docs/v0.4.0/dev/GOALS.md rename to site/content/en/docs/v0.4.0/dev/GOALS.md diff --git a/docs/v0.4.0/dev/README.md b/site/content/en/docs/v0.4.0/dev/README.md similarity index 99% rename from docs/v0.4.0/dev/README.md rename to site/content/en/docs/v0.4.0/dev/README.md index 2d4f13e9e803..15914953ad46 100644 --- a/docs/v0.4.0/dev/README.md +++ b/site/content/en/docs/v0.4.0/dev/README.md @@ -1,4 +1,6 @@ -# Developer Guide +--- +title: "Developer Guide" +--- Envoy Gateway is built using a [make][]-based build system. Our CI is based on [Github Actions][] using [workflows][]. diff --git a/site/content/en/docs/v0.4.0/dev/_index.md b/site/content/en/docs/v0.4.0/dev/_index.md new file mode 100644 index 000000000000..b4ea3bc1a5b0 --- /dev/null +++ b/site/content/en/docs/v0.4.0/dev/_index.md @@ -0,0 +1,5 @@ +--- +title: "Development" +weight: 3 +description: This section includes Developments of Envoy Gateway. +--- diff --git a/docs/v0.4.0/dev/releasing.md b/site/content/en/docs/v0.4.0/dev/releasing.md similarity index 99% rename from docs/v0.4.0/dev/releasing.md rename to site/content/en/docs/v0.4.0/dev/releasing.md index f0004caf3367..455b086c1781 100644 --- a/docs/v0.4.0/dev/releasing.md +++ b/site/content/en/docs/v0.4.0/dev/releasing.md @@ -1,4 +1,6 @@ -# Release Process +--- +title: "Release Process" +--- This document guides maintainers through the process of creating an Envoy Gateway release. diff --git a/docs/v0.4.0/images/architecture.png b/site/content/en/docs/v0.4.0/images/architecture.png similarity index 100% rename from docs/v0.4.0/images/architecture.png rename to site/content/en/docs/v0.4.0/images/architecture.png diff --git a/docs/v0.4.0/images/extension-example.png b/site/content/en/docs/v0.4.0/images/extension-example.png similarity index 100% rename from docs/v0.4.0/images/extension-example.png rename to site/content/en/docs/v0.4.0/images/extension-example.png diff --git a/site/content/en/docs/v0.4.0/user/_index.md b/site/content/en/docs/v0.4.0/user/_index.md new file mode 100644 index 000000000000..32a4b32e7904 --- /dev/null +++ b/site/content/en/docs/v0.4.0/user/_index.md @@ -0,0 +1,6 @@ +--- +title: "User Guide" +weight: 2 +description: This section includes User Guides of Envoy Gateway. +--- + diff --git a/docs/v0.4.0/user/authn.md b/site/content/en/docs/v0.4.0/user/authn.md similarity index 98% rename from docs/v0.4.0/user/authn.md rename to site/content/en/docs/v0.4.0/user/authn.md index 1a7dba621971..ed115c95471b 100644 --- a/docs/v0.4.0/user/authn.md +++ b/site/content/en/docs/v0.4.0/user/authn.md @@ -1,4 +1,6 @@ -# Request Authentication +--- +title: "Request Authentication" +--- This guide provides instructions for configuring [JSON Web Token (JWT)][jwt] authentication. JWT authentication checks if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only diff --git a/docs/v0.4.0/user/customize-envoyproxy.md b/site/content/en/docs/v0.4.0/user/customize-envoyproxy.md similarity index 99% rename from docs/v0.4.0/user/customize-envoyproxy.md rename to site/content/en/docs/v0.4.0/user/customize-envoyproxy.md index 04b7062f4508..c561b520e049 100644 --- a/docs/v0.4.0/user/customize-envoyproxy.md +++ b/site/content/en/docs/v0.4.0/user/customize-envoyproxy.md @@ -1,4 +1,6 @@ -# Customize EnvoyProxy +--- +title: "Customize EnvoyProxy" +--- Envoy Gateway provides a [EnvoyProxy][] CRD that can be linked to the ParametersRef in GatewayClass y cluster admins to customize the managed EnvoyProxy Deployment and diff --git a/docs/v0.4.0/user/deployment-mode.md b/site/content/en/docs/v0.4.0/user/deployment-mode.md similarity index 99% rename from docs/v0.4.0/user/deployment-mode.md rename to site/content/en/docs/v0.4.0/user/deployment-mode.md index 8c409d4c44e9..4566e2cc83de 100644 --- a/docs/v0.4.0/user/deployment-mode.md +++ b/site/content/en/docs/v0.4.0/user/deployment-mode.md @@ -1,4 +1,7 @@ -## Deployment Mode +--- +title: "Deployment Mode" +--- + ### One GatewayClass per Envoy Gateway diff --git a/docs/v0.4.0/user/egctl.md b/site/content/en/docs/v0.4.0/user/egctl.md similarity index 99% rename from docs/v0.4.0/user/egctl.md rename to site/content/en/docs/v0.4.0/user/egctl.md index 08621e40f47a..29f0200f8967 100644 --- a/docs/v0.4.0/user/egctl.md +++ b/site/content/en/docs/v0.4.0/user/egctl.md @@ -1,4 +1,6 @@ -# egctl +--- +title: "Use egctl" +--- `egctl` is a command line tool to provide additional functionality for Envoy Gateway users. diff --git a/docs/v0.4.0/user/gatewayapi-support.md b/site/content/en/docs/v0.4.0/user/gatewayapi-support.md similarity index 99% rename from docs/v0.4.0/user/gatewayapi-support.md rename to site/content/en/docs/v0.4.0/user/gatewayapi-support.md index f1129da290c7..79e077498427 100644 --- a/docs/v0.4.0/user/gatewayapi-support.md +++ b/site/content/en/docs/v0.4.0/user/gatewayapi-support.md @@ -1,4 +1,6 @@ -# Gateway API Support +--- +title: "Gateway API Support" +--- As mentioned in the [system design][] document, Envoy Gateway's managed data plane is configured dynamically through Kubernetes resources, primarily [Gateway API][] objects. Envoy Gateway supports configuration using the following Gateway API resources. diff --git a/docs/v0.4.0/user/grpc-routing.md b/site/content/en/docs/v0.4.0/user/grpc-routing.md similarity index 99% rename from docs/v0.4.0/user/grpc-routing.md rename to site/content/en/docs/v0.4.0/user/grpc-routing.md index a18be6e9b9c4..393767fc4340 100644 --- a/docs/v0.4.0/user/grpc-routing.md +++ b/site/content/en/docs/v0.4.0/user/grpc-routing.md @@ -1,4 +1,6 @@ -# GRPC Routing +--- +title: "GRPC Routing" +--- The [GRPCRoute][] resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers. To learn more about gRPC routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.5.0/user/http-redirect.md b/site/content/en/docs/v0.4.0/user/http-redirect.md similarity index 99% rename from docs/v0.5.0/user/http-redirect.md rename to site/content/en/docs/v0.4.0/user/http-redirect.md index dcd72749f368..da61bdaf32f3 100644 --- a/docs/v0.5.0/user/http-redirect.md +++ b/site/content/en/docs/v0.4.0/user/http-redirect.md @@ -1,4 +1,6 @@ -# HTTP Redirects +--- +title: "HTTP Redirects" +--- The [HTTPRoute][] resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ diff --git a/docs/latest/user/http-request-headers.md b/site/content/en/docs/v0.4.0/user/http-request-headers.md similarity index 99% rename from docs/latest/user/http-request-headers.md rename to site/content/en/docs/v0.4.0/user/http-request-headers.md index 5e1d77fe6d2f..17fe3b87bcb1 100644 --- a/docs/latest/user/http-request-headers.md +++ b/site/content/en/docs/v0.4.0/user/http-request-headers.md @@ -1,4 +1,6 @@ -# HTTP Request Headers +--- +title: "HTTP Request Headers" +--- The [HTTPRoute][] resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ [HTTPRoute filters][] which diff --git a/docs/latest/user/http-response-headers.md b/site/content/en/docs/v0.4.0/user/http-response-headers.md similarity index 99% rename from docs/latest/user/http-response-headers.md rename to site/content/en/docs/v0.4.0/user/http-response-headers.md index 6c77c2e6c2c4..4a27728003d7 100644 --- a/docs/latest/user/http-response-headers.md +++ b/site/content/en/docs/v0.4.0/user/http-response-headers.md @@ -1,4 +1,6 @@ -# HTTP Response Headers +--- +title: "HTTP Response Headers" +--- The [HTTPRoute][] resource can modify the headers of a response before responding it to the downstream service. To learn more about HTTP routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.4.0/user/http-routing.md b/site/content/en/docs/v0.4.0/user/http-routing.md similarity index 99% rename from docs/v0.4.0/user/http-routing.md rename to site/content/en/docs/v0.4.0/user/http-routing.md index 35f893586518..67fe8e48e04d 100644 --- a/docs/v0.4.0/user/http-routing.md +++ b/site/content/en/docs/v0.4.0/user/http-routing.md @@ -1,4 +1,6 @@ -# HTTP Routing +--- +title: "HTTP Routing" +--- The [HTTPRoute][] resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide diff --git a/docs/v0.3.0/user/http-traffic-splitting.md b/site/content/en/docs/v0.4.0/user/http-traffic-splitting.md similarity index 99% rename from docs/v0.3.0/user/http-traffic-splitting.md rename to site/content/en/docs/v0.4.0/user/http-traffic-splitting.md index 92fed8bd0b11..94f021b5aecb 100644 --- a/docs/v0.3.0/user/http-traffic-splitting.md +++ b/site/content/en/docs/v0.4.0/user/http-traffic-splitting.md @@ -1,4 +1,6 @@ -# HTTPRoute Traffic Splitting +--- +title: "HTTPRoute Traffic Splitting" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned diff --git a/docs/v0.5.0/user/http-urlrewrite.md b/site/content/en/docs/v0.4.0/user/http-urlrewrite.md similarity index 99% rename from docs/v0.5.0/user/http-urlrewrite.md rename to site/content/en/docs/v0.4.0/user/http-urlrewrite.md index 88e29c3269cc..fb68ae883221 100644 --- a/docs/v0.5.0/user/http-urlrewrite.md +++ b/site/content/en/docs/v0.4.0/user/http-urlrewrite.md @@ -1,4 +1,6 @@ -# HTTP URL Rewrite +--- +title: "HTTP URL Rewrite" +--- [HTTPURLRewriteFilter][] defines a filter that modifies a request during forwarding. At most one of these filters may be used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter. diff --git a/docs/v0.4.0/user/quickstart.md b/site/content/en/docs/v0.4.0/user/quickstart.md similarity index 98% rename from docs/v0.4.0/user/quickstart.md rename to site/content/en/docs/v0.4.0/user/quickstart.md index c7d1ea099e40..7fc64879f366 100644 --- a/docs/v0.4.0/user/quickstart.md +++ b/site/content/en/docs/v0.4.0/user/quickstart.md @@ -1,4 +1,7 @@ -# Quickstart +--- +title: "Quickstart" +weight: 1 +--- This guide will help you get started with Envoy Gateway in a few simple steps. diff --git a/docs/v0.4.0/user/rate-limit.md b/site/content/en/docs/v0.4.0/user/rate-limit.md similarity index 99% rename from docs/v0.4.0/user/rate-limit.md rename to site/content/en/docs/v0.4.0/user/rate-limit.md index aaaca7064733..59e216f15d2c 100644 --- a/docs/v0.4.0/user/rate-limit.md +++ b/site/content/en/docs/v0.4.0/user/rate-limit.md @@ -1,4 +1,6 @@ -# Rate limit +--- +title: "Rate limit" +--- Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow. diff --git a/docs/v0.5.0/user/secure-gateways.md b/site/content/en/docs/v0.4.0/user/secure-gateways.md similarity index 99% rename from docs/v0.5.0/user/secure-gateways.md rename to site/content/en/docs/v0.4.0/user/secure-gateways.md index 8ada7c59978a..2e04000d5a7d 100644 --- a/docs/v0.5.0/user/secure-gateways.md +++ b/site/content/en/docs/v0.4.0/user/secure-gateways.md @@ -1,4 +1,6 @@ -# Secure Gateways +--- +title: "Secure Gateways" +--- This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/v0.4.0/user/tcp-routing.md b/site/content/en/docs/v0.4.0/user/tcp-routing.md similarity index 99% rename from docs/v0.4.0/user/tcp-routing.md rename to site/content/en/docs/v0.4.0/user/tcp-routing.md index 1ffbc2553b4a..fea9b35341af 100644 --- a/docs/v0.4.0/user/tcp-routing.md +++ b/site/content/en/docs/v0.4.0/user/tcp-routing.md @@ -1,4 +1,6 @@ -# TCP Routing +--- +title: "TCP Routing" +--- [TCPRoute][] provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about diff --git a/docs/v0.4.0/user/tls-passthrough.md b/site/content/en/docs/v0.4.0/user/tls-passthrough.md similarity index 99% rename from docs/v0.4.0/user/tls-passthrough.md rename to site/content/en/docs/v0.4.0/user/tls-passthrough.md index cc8d71365488..fde4eb358249 100644 --- a/docs/v0.4.0/user/tls-passthrough.md +++ b/site/content/en/docs/v0.4.0/user/tls-passthrough.md @@ -1,4 +1,6 @@ -# TLS Passthrough +--- +title: "TLS Passthrough" +--- This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself diff --git a/docs/v0.4.0/user/udp-routing.md b/site/content/en/docs/v0.4.0/user/udp-routing.md similarity index 99% rename from docs/v0.4.0/user/udp-routing.md rename to site/content/en/docs/v0.4.0/user/udp-routing.md index dfbd8a76c550..68e81ad3f6c9 100644 --- a/docs/v0.4.0/user/udp-routing.md +++ b/site/content/en/docs/v0.4.0/user/udp-routing.md @@ -1,4 +1,6 @@ -# UDP Routing +--- +title: "UDP Routing" +--- The [UDPRoute][] resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy diff --git a/site/content/en/docs/v0.5.0/_index.md b/site/content/en/docs/v0.5.0/_index.md new file mode 100644 index 000000000000..de8038ac4481 --- /dev/null +++ b/site/content/en/docs/v0.5.0/_index.md @@ -0,0 +1,9 @@ +--- +title: "Welcome to Envoy Gateway" +description: v0.5.0 version of Envoy Gateway +linktitle: v0.5.0 +weight: 2 +--- + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. diff --git a/site/content/en/docs/v0.5.0/api/_index.md b/site/content/en/docs/v0.5.0/api/_index.md new file mode 100644 index 000000000000..1d7c67c8c151 --- /dev/null +++ b/site/content/en/docs/v0.5.0/api/_index.md @@ -0,0 +1,4 @@ +--- +title: "API" +description: This section includes APIs of Envoy Gateway. +--- diff --git a/docs/v0.5.0/api/config_types.md b/site/content/en/docs/v0.5.0/api/config_types.md similarity index 99% rename from docs/v0.5.0/api/config_types.md rename to site/content/en/docs/v0.5.0/api/config_types.md index 9ce37099fdcf..93764201f349 100644 --- a/docs/v0.5.0/api/config_types.md +++ b/site/content/en/docs/v0.5.0/api/config_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Config APIs" +--- ## Packages - [config.gateway.envoyproxy.io/v1alpha1](#configgatewayenvoyproxyiov1alpha1) diff --git a/docs/v0.5.0/api/extension_types.md b/site/content/en/docs/v0.5.0/api/extension_types.md similarity index 99% rename from docs/v0.5.0/api/extension_types.md rename to site/content/en/docs/v0.5.0/api/extension_types.md index 977cd2ac8611..5eb811ac4514 100644 --- a/docs/v0.5.0/api/extension_types.md +++ b/site/content/en/docs/v0.5.0/api/extension_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Extension APIs" +--- ## Packages - [gateway.envoyproxy.io/v1alpha1](#gatewayenvoyproxyiov1alpha1) diff --git a/site/content/en/docs/v0.5.0/design/_index.md b/site/content/en/docs/v0.5.0/design/_index.md new file mode 100644 index 000000000000..21650809f7da --- /dev/null +++ b/site/content/en/docs/v0.5.0/design/_index.md @@ -0,0 +1,6 @@ +--- +title: "Design" +weight: 1 +description: This section includes Designs of Envoy Gateway. +--- + diff --git a/docs/v0.5.0/design/accesslog.md b/site/content/en/docs/v0.5.0/design/accesslog.md similarity index 99% rename from docs/v0.5.0/design/accesslog.md rename to site/content/en/docs/v0.5.0/design/accesslog.md index 6d8b9d0c218c..46f39afa8eff 100644 --- a/docs/v0.5.0/design/accesslog.md +++ b/site/content/en/docs/v0.5.0/design/accesslog.md @@ -1,4 +1,6 @@ -# Observability: Accesslog +--- +title: "Observability: Accesslog" +--- ## Overview diff --git a/docs/v0.4.0/design/bootstrap.md b/site/content/en/docs/v0.5.0/design/bootstrap.md similarity index 99% rename from docs/v0.4.0/design/bootstrap.md rename to site/content/en/docs/v0.5.0/design/bootstrap.md index 30f1b52116fa..9a8f0c789efa 100644 --- a/docs/v0.4.0/design/bootstrap.md +++ b/site/content/en/docs/v0.5.0/design/bootstrap.md @@ -1,4 +1,6 @@ -# Bootstrap Design +--- +title: "Bootstrap Design" +--- ## Overview diff --git a/docs/v0.4.0/design/config-api.md b/site/content/en/docs/v0.5.0/design/config-api.md similarity index 99% rename from docs/v0.4.0/design/config-api.md rename to site/content/en/docs/v0.5.0/design/config-api.md index 4caaefe3e439..ca5380151a8e 100644 --- a/docs/v0.4.0/design/config-api.md +++ b/site/content/en/docs/v0.5.0/design/config-api.md @@ -1,4 +1,6 @@ -# Configuration API Design +--- +title: "Configuration API Design" +--- ## Motivation diff --git a/docs/v0.4.0/design/egctl.md b/site/content/en/docs/v0.5.0/design/egctl.md similarity index 98% rename from docs/v0.4.0/design/egctl.md rename to site/content/en/docs/v0.5.0/design/egctl.md index 7989ff49e5e2..0f67d99f1005 100644 --- a/docs/v0.4.0/design/egctl.md +++ b/site/content/en/docs/v0.5.0/design/egctl.md @@ -1,4 +1,6 @@ -# egctl Design +--- +title: "egctl Design" +--- ## Motivation diff --git a/docs/latest/design/envoy-patch-policy.md b/site/content/en/docs/v0.5.0/design/envoy-patch-policy.md similarity index 99% rename from docs/latest/design/envoy-patch-policy.md rename to site/content/en/docs/v0.5.0/design/envoy-patch-policy.md index 0116c8e6336b..d34937d05ef1 100644 --- a/docs/latest/design/envoy-patch-policy.md +++ b/site/content/en/docs/v0.5.0/design/envoy-patch-policy.md @@ -1,4 +1,6 @@ -# EnvoyPatchPolicy +--- +title: "EnvoyPatchPolicy" +--- ## Overview diff --git a/docs/v0.5.0/design/extending-envoy-gateway.md b/site/content/en/docs/v0.5.0/design/extending-envoy-gateway.md similarity index 99% rename from docs/v0.5.0/design/extending-envoy-gateway.md rename to site/content/en/docs/v0.5.0/design/extending-envoy-gateway.md index df56964a5731..5e62dd9ab493 100644 --- a/docs/v0.5.0/design/extending-envoy-gateway.md +++ b/site/content/en/docs/v0.5.0/design/extending-envoy-gateway.md @@ -1,4 +1,6 @@ -# Envoy Gateway Extensions Design +--- +title: "Envoy Gateway Extensions Design" +--- As outlined in the [official goals][] for the Envoy Gateway project, one of the main goals is to "provide a common foundation for vendors to build value-added products without having to re-engineer fundamental interactions". Development of the Envoy Gateway project has been focused on developing the core features for the project and diff --git a/site/content/en/docs/v0.5.0/design/gatewayapi-translator.md b/site/content/en/docs/v0.5.0/design/gatewayapi-translator.md new file mode 100644 index 000000000000..3add199ee15e --- /dev/null +++ b/site/content/en/docs/v0.5.0/design/gatewayapi-translator.md @@ -0,0 +1,252 @@ +--- +title: "Gateway API Translator Design" +--- + +The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate +Representation (IR). + +## Assumptions + +Initially target core conformance features only, to be followed by extended conformance features. + +## Inputs and Outputs + +The main inputs to the Gateway API translator are: + +- GatewayClass, Gateway, HTTPRoute, TLSRoute, Service, ReferenceGrant, Namespace, and Secret resources. + +__Note:__ ReferenceGrant is not fully implemented as of v0.2. + +The outputs of the Gateway API translator are: + +- Xds and Infra Internal Representations (IRs). +- Status updates for GatewayClass, Gateways, HTTPRoutes + +## Listener Compatibility + +Envoy Gateway follows Gateway API listener compatibility spec: +> Each listener in a Gateway must have a unique combination of Hostname, Port, and Protocol. An implementation MAY group +> Listeners by Port and then collapse each group of Listeners into a single Listener if the implementation determines +> that the Listeners in the group are “compatible”. + +__Note:__ Envoy Gateway does not collapse listeners across multiple Gateways. + +### Listener Compatibility Examples + +#### Example 1: Gateway with compatible Listeners (same port & protocol, different hostnames) + +```yaml +kind: Gateway +apiVersion: gateway.networking.k8s.io/v1beta1 +metadata: + name: gateway-1 + namespace: envoy-gateway +spec: + gatewayClassName: envoy-gateway + listeners: + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + hostname: "*.envoygateway.io" + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + hostname: whales.envoygateway.io +``` + +#### Example 2: Gateway with compatible Listeners (same port & protocol, one hostname specified, one not) + +```yaml +kind: Gateway +apiVersion: gateway.networking.k8s.io/v1beta1 +metadata: + name: gateway-1 + namespace: envoy-gateway +spec: + gatewayClassName: envoy-gateway + listeners: + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + hostname: "*.envoygateway.io" + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All +``` + +#### Example 3: Gateway with incompatible Listeners (same port, protocol and hostname) + +```yaml +kind: Gateway +apiVersion: gateway.networking.k8s.io/v1beta1 +metadata: + name: gateway-1 + namespace: envoy-gateway +spec: + gatewayClassName: envoy-gateway + listeners: + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + hostname: whales.envoygateway.io + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + hostname: whales.envoygateway.io +``` + +#### Example 4: Gateway with incompatible Listeners (neither specify a hostname) + +```yaml +kind: Gateway +apiVersion: gateway.networking.k8s.io/v1beta1 +metadata: + name: gateway-1 + namespace: envoy-gateway +spec: + gatewayClassName: envoy-gateway + listeners: + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All +``` + +## Computing Status + +Gateway API specifies a rich set of status fields & conditions for each resource. To achieve conformance, Envoy Gateway +must compute the appropriate status fields and conditions for managed resources. + +Status is computed and set for: + +- The managed GatewayClass (`gatewayclass.status.conditions`). +- Each managed Gateway, based on its Listeners' status (`gateway.status.conditions`). For the Kubernetes provider, the + Envoy Deployment and Service status are also included to calculate Gateway status. +- Listeners for each Gateway (`gateway.status.listeners`). +- The ParentRef for each Route (`route.status.parents`). + +The Gateway API translator is responsible for calculating status conditions while translating Gateway API resources to +the IR and publishing status over the [message bus][]. The Status Manager subscribes to these status messages and +updates the resource status using the configured provider. For example, the Status Manager uses a Kubernetes client to +update resource status on the Kubernetes API server. + +## Outline + +The following roughly outlines the translation process. Each step may produce (1) IR; and (2) status updates on Gateway +API resources. + +1. Process Gateway Listeners + - Validate unique hostnames, ports, and protocols. + - Validate and compute supported kinds. + - Validate allowed namespaces (validate selector if specified). + - Validate TLS fields if specified, including resolving referenced Secrets. + +2. Process HTTPRoutes + - foreach route rule: + - compute matches + - [core] path exact, path prefix + - [core] header exact + - [extended] query param exact + - [extended] HTTP method + - compute filters + - [core] request header modifier (set/add/remove) + - [core] request redirect (hostname, statuscode) + - [extended] request mirror + - compute backends + - [core] Kubernetes services + - foreach route parent ref: + - get matching listeners (check Gateway, section name, listener validation status, listener allowed routes, hostname intersection) + - foreach matching listener: + - foreach hostname intersection with route: + - add each computed route rule to host + +## Context Structs + +To help store, access and manipulate information as it's processed during the translation process, a set of context +structs are used. These structs wrap a given Gateway API type, and add additional fields and methods to support +processing. + +`GatewayContext` wraps a Gateway and provides helper methods for setting conditions, accessing Listeners, etc. + +```go +type GatewayContext struct { + // The managed Gateway + *v1beta1.Gateway + + // A list of Gateway ListenerContexts. + listeners []*ListenerContext +} +``` + +`ListenerContext` wraps a Listener and provides helper methods for setting conditions and other status information on +the associated Gateway. + +```go +type ListenerContext struct { + // The Gateway listener. + *v1beta1.Listener + + // The Gateway this Listener belongs to. + gateway *v1beta1.Gateway + + // An index used for managing this listener in the list of Gateway listeners. + listenerStatusIdx int + + // Only Routes in namespaces selected by the selector may be attached + // to the Gateway this listener belongs to. + namespaceSelector labels.Selector + + // The TLS Secret for this Listener, if applicable. + tlsSecret *v1.Secret +} +``` + +`RouteContext` represents a generic Route object (HTTPRoute, TLSRoute, etc.) that can reference Gateway objects. + +```go +type RouteContext interface { + client.Object + + // GetRouteType returns the Kind of the Route object, HTTPRoute, + // TLSRoute, TCPRoute, UDPRoute etc. + GetRouteType() string + + // GetHostnames returns the hosts targeted by the Route object. + GetHostnames() []string + + // GetParentReferences returns the ParentReference of the Route object. + GetParentReferences() []v1beta1.ParentReference + + // GetRouteParentContext returns RouteParentContext by using the Route + // objects' ParentReference. + GetRouteParentContext(forParentRef v1beta1.ParentReference) *RouteParentContext +} +``` + +[message bus]: watching.md diff --git a/docs/latest/design/local-envoy-gateway.md b/site/content/en/docs/v0.5.0/design/local-envoy-gateway.md similarity index 97% rename from docs/latest/design/local-envoy-gateway.md rename to site/content/en/docs/v0.5.0/design/local-envoy-gateway.md index d382b8cfff82..aad0dc5f6f27 100644 --- a/docs/latest/design/local-envoy-gateway.md +++ b/site/content/en/docs/v0.5.0/design/local-envoy-gateway.md @@ -1,4 +1,6 @@ -# Running Envoy Gateway locally +--- +title: "Running Envoy Gateway locally" +--- ## Overview diff --git a/docs/v0.5.0/design/metrics.md b/site/content/en/docs/v0.5.0/design/metrics.md similarity index 98% rename from docs/v0.5.0/design/metrics.md rename to site/content/en/docs/v0.5.0/design/metrics.md index 2a2924a993a5..b226db6a0027 100644 --- a/docs/v0.5.0/design/metrics.md +++ b/site/content/en/docs/v0.5.0/design/metrics.md @@ -1,4 +1,6 @@ -# Observability: Metrics +--- +title: "Observability: Metrics" +--- ## Overview diff --git a/docs/v0.5.0/design/pprof.md b/site/content/en/docs/v0.5.0/design/pprof.md similarity index 97% rename from docs/v0.5.0/design/pprof.md rename to site/content/en/docs/v0.5.0/design/pprof.md index 0e0f3bdb64a6..68a64695dd5c 100644 --- a/docs/v0.5.0/design/pprof.md +++ b/site/content/en/docs/v0.5.0/design/pprof.md @@ -1,4 +1,6 @@ -# Add Pprof support in Envoy Gateway +--- +title: "Add Pprof support in Envoy Gateway" +--- ## Overview diff --git a/docs/v0.5.0/design/rate-limit.md b/site/content/en/docs/v0.5.0/design/rate-limit.md similarity index 99% rename from docs/v0.5.0/design/rate-limit.md rename to site/content/en/docs/v0.5.0/design/rate-limit.md index fb326b080b29..28ebbab8b360 100644 --- a/docs/v0.5.0/design/rate-limit.md +++ b/site/content/en/docs/v0.5.0/design/rate-limit.md @@ -1,4 +1,6 @@ -# Rate Limit Design +--- +title: "Rate Limit Design" +--- ## Overview diff --git a/docs/v0.4.0/design/request-authentication.md b/site/content/en/docs/v0.5.0/design/request-authentication.md similarity index 99% rename from docs/v0.4.0/design/request-authentication.md rename to site/content/en/docs/v0.5.0/design/request-authentication.md index 6b2192eadfd9..82682bf2a0b7 100644 --- a/docs/v0.4.0/design/request-authentication.md +++ b/site/content/en/docs/v0.5.0/design/request-authentication.md @@ -1,4 +1,6 @@ -# Request Authentication Design +--- +title: "Request Authentication Design" +--- ## Overview diff --git a/docs/v0.5.0/design/roadmap.md b/site/content/en/docs/v0.5.0/design/roadmap.md similarity index 99% rename from docs/v0.5.0/design/roadmap.md rename to site/content/en/docs/v0.5.0/design/roadmap.md index 7304335d9aa5..8a3b56b89dd3 100644 --- a/docs/v0.5.0/design/roadmap.md +++ b/site/content/en/docs/v0.5.0/design/roadmap.md @@ -1,4 +1,6 @@ -# Roadmap +--- +title: "Roadmap" +--- This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of the project. diff --git a/docs/v0.4.0/design/system-design.md b/site/content/en/docs/v0.5.0/design/system-design.md similarity index 99% rename from docs/v0.4.0/design/system-design.md rename to site/content/en/docs/v0.5.0/design/system-design.md index 86114be37fa2..f1ae795fad3e 100644 --- a/docs/v0.4.0/design/system-design.md +++ b/site/content/en/docs/v0.5.0/design/system-design.md @@ -1,4 +1,6 @@ -# System Design +--- +title: "System Design" +--- ## Goals diff --git a/docs/v0.5.0/design/tcp-udp-design.md b/site/content/en/docs/v0.5.0/design/tcp-udp-design.md similarity index 98% rename from docs/v0.5.0/design/tcp-udp-design.md rename to site/content/en/docs/v0.5.0/design/tcp-udp-design.md index 276221b897ba..f517e24fedae 100644 --- a/docs/v0.5.0/design/tcp-udp-design.md +++ b/site/content/en/docs/v0.5.0/design/tcp-udp-design.md @@ -1,4 +1,6 @@ -# TCP and UDP Proxy Design +--- +title: "TCP and UDP Proxy Design " +--- Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the diff --git a/docs/v0.5.0/design/tracing.md b/site/content/en/docs/v0.5.0/design/tracing.md similarity index 99% rename from docs/v0.5.0/design/tracing.md rename to site/content/en/docs/v0.5.0/design/tracing.md index 73d7b94ce214..22d0f2e969ab 100644 --- a/docs/v0.5.0/design/tracing.md +++ b/site/content/en/docs/v0.5.0/design/tracing.md @@ -1,4 +1,6 @@ -# Observability: Accesslog +--- +title: "Observability: Accesslog" +--- ## Overview diff --git a/site/content/en/docs/v0.5.0/design/watching.md b/site/content/en/docs/v0.5.0/design/watching.md new file mode 100644 index 000000000000..e2d17ca86b91 --- /dev/null +++ b/site/content/en/docs/v0.5.0/design/watching.md @@ -0,0 +1,119 @@ +--- +title: "Watching Components Design" +--- + +Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch +external resources, and "publish" what they see for other components to consume; others watch what another publishes and +act on it (such as the resource translator watches what the providers publish, and then publishes its own results that +are watched by another component). Some of these internally published results are consumed by multiple components. + +To facilitate this communication use the [watchable][] library. The `watchable.Map` type is very similar to the +standard library's `sync.Map` type, but supports a `.Subscribe` (and `.SubscribeSubset`) method that promotes a pub/sub +pattern. + +## Pub + +Many of the things we communicate around are naturally named, either by a bare "name" string or by a "name"/"namespace" +tuple. And because `watchable.Map` is typed, it makes sense to have one map for each type of thing (very similar to if +we were using native Go `map`s). For example, a struct that might be written to by the Kubernetes provider, and read by +the IR translator: + + ```go + type ResourceTable struct { + // gateway classes are cluster-scoped; no namespace + GatewayClasses watchable.Map[string, *gwapiv1b1.GatewayClass] + + // gateways are namespace-scoped, so use a k8s.io/apimachinery/pkg/types.NamespacedName as the map key. + Gateways watchable.Map[types.NamespacedName, *gwapiv1b1.Gateway] + + HTTPRoutes watchable.Map[types.NamespacedName, *gwapiv1b1.HTTPRoute] + } + ``` + +The Kubernetes provider updates the table by calling `table.Thing.Store(name, val)` and `table.Thing.Delete(name)`; +updating a map key with a value that is deep-equal (usually `reflect.DeepEqual`, but you can implement your own `.Equal` +method) the current value is a no-op; it won't trigger an event for subscribers. This is handy so that the publisher +doesn't have as much state to keep track of; it doesn't need to know "did I already publish this thing", it can just +`.Store` its data and `watchable` will do the right thing. + +## Sub + +Meanwhile, the translator and other interested components subscribe to it with `table.Thing.Subscribe` (or +`table.Thing.SubscribeSubset` if they only care about a few "Thing"s). So the translator goroutine might look like: + + ```go + func(ctx context.Context) error { + for snapshot := range k8sTable.HTTPRoutes.Subscribe(ctx) { + fullState := irInput{ + GatewayClasses: k8sTable.GatewayClasses.LoadAll(), + Gateways: k8sTable.Gateways.LoadAll(), + HTTPRoutes: snapshot.State, + } + translate(irInput) + } + } + ``` + +Or, to watch multiple maps in the same loop: + + ```go + func worker(ctx context.Context) error { + classCh := k8sTable.GatewayClasses.Subscribe(ctx) + gwCh := k8sTable.Gateways.Subscribe(ctx) + routeCh := k8sTable.HTTPRoutes.Subscribe(ctx) + for ctx.Err() == nil { + var arg irInput + select { + case snapshot := <-classCh: + arg.GatewayClasses = snapshot.State + case snapshot := <-gwCh: + arg.Gateways = snapshot.State + case snapshot := <-routeCh: + arg.Routes = snapshot.State + } + if arg.GateWayClasses == nil { + arg.GatewayClasses = k8sTable.GateWayClasses.LoadAll() + } + if arg.GateWays == nil { + arg.Gateways = k8sTable.GateWays.LoadAll() + } + if arg.HTTPRoutes == nil { + arg.HTTPRoutes = k8sTable.HTTPRoutes.LoadAll() + } + translate(irInput) + } + } + ``` + +From the updates it gets from `.Subscribe`, it can get a full view of the map being subscribed to via `snapshot.State`; +but it must read the other maps explicitly. Like `sync.Map`, `watchable.Map`s are thread-safe; while `.Subscribe` is a +handy way to know when to run, `.Load` and friends can be used without subscribing. + +There can be any number of subscribers. For that matter, there can be any number of publishers `.Store`ing things, but +it's probably wise to just have one publisher for each map. + +The channel returned from `.Subscribe` **is immediately readable** with a snapshot of the map as it existed when +`.Subscribe` was called; and becomes readable again whenever `.Store` or `.Delete` mutates the map. If multiple +mutations happen between reads (or if mutations happen between `.Subscribe` and the first read), they are coalesced in +to one snapshot to be read; the `snapshot.State` is the most-recent full state, and `snapshot.Updates` is a listing of +each of the mutations that cause this snapshot to be different than the last-read one. This way subscribers don't need +to worry about a backlog accumulating if they can't keep up with the rate of changes from the publisher. + +If the map contains anything before `.Subscribe` is called, that very first read won't include `snapshot.Updates` +entries for those pre-existing items; if you are working with `snapshot.Update` instead of `snapshot.State`, then you +must add special handling for your first read. We have a utility function `./internal/message.HandleSubscription` to +help with this. + +## Other Notes + +The common pattern will likely be that the entrypoint that launches the goroutines for each component instantiates the +map, and passes them to the appropriate publishers and subscribers; same as if they were communicating via a dumb +`chan`. + +A limitation of `watchable.Map` is that in order to ensure safety between goroutines, it does require that value types +be deep-copiable; either by having a `DeepCopy` method, being a `proto.Message`, or by containing no reference types and +so can be deep-copied by naive assignment. Fortunately, we're using `controller-gen` anyway, and `controller-gen` can +generate `DeepCopy` methods for us: just stick a `// +k8s:deepcopy-gen=true` on the types that you want it to generate +methods for. + +[watchable]: https://pkg.go.dev/github.com/telepresenceio/watchable diff --git a/site/content/en/docs/v0.5.0/dev/CODEOWNERS.md b/site/content/en/docs/v0.5.0/dev/CODEOWNERS.md new file mode 100644 index 000000000000..7e0da1b17a21 --- /dev/null +++ b/site/content/en/docs/v0.5.0/dev/CODEOWNERS.md @@ -0,0 +1,17 @@ +--- +title: "Maintainers" +--- + +## The following maintainers, listed in alphabetical order, own everything + +- @AliceProxy +- @arkodg +- @skriss +- @Xunzhuo +- @youngnick +- @zirain + +## Emeritus Maintainers + +- @danehans +- @alexgervais diff --git a/site/content/en/docs/v0.5.0/dev/CODE_OF_CONDUCT.md b/site/content/en/docs/v0.5.0/dev/CODE_OF_CONDUCT.md new file mode 100644 index 000000000000..bb066266f482 --- /dev/null +++ b/site/content/en/docs/v0.5.0/dev/CODE_OF_CONDUCT.md @@ -0,0 +1,5 @@ +--- +title: "Community Code of Conduct" +--- + +Gateway follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/docs/v0.4.0/dev/CONTRIBUTING.md b/site/content/en/docs/v0.5.0/dev/CONTRIBUTING.md similarity index 99% rename from docs/v0.4.0/dev/CONTRIBUTING.md rename to site/content/en/docs/v0.5.0/dev/CONTRIBUTING.md index 04d95bb675d9..e3eafaaceed7 100644 --- a/docs/v0.4.0/dev/CONTRIBUTING.md +++ b/site/content/en/docs/v0.5.0/dev/CONTRIBUTING.md @@ -1,4 +1,6 @@ -# Contributing +--- +title: "Contributing" +--- We welcome contributions from the community. Please carefully review the [project goals](GOALS.md) and following guidelines to streamline your contributions. diff --git a/site/content/en/docs/v0.5.0/dev/DOCS.md b/site/content/en/docs/v0.5.0/dev/DOCS.md new file mode 100644 index 000000000000..1abae95763c5 --- /dev/null +++ b/site/content/en/docs/v0.5.0/dev/DOCS.md @@ -0,0 +1,65 @@ +--- +title: "Working on the Envoy Gateway Docs" +--- + +The documentation for the Envoy Gateway lives in the `docs/` directory. Any +individual document can be written using either [reStructuredText] or [Markdown], +you can choose the format that you're most comfortable with when working on the +documentation. + +## Documentation Structure + +We supported the versioned Docs now, the directory name under docs represents +the version of docs. The root of the latest site is in `docs/latest/index.rst`. +This is probably where to start if you're trying to understand how things fit together. + +Note that the new contents should be added to `docs/latest` and will be cut off at +the next release. The contents under `docs/v0.2.0` are auto-generated, +and usually do not need to make changes to them, unless if you find the current release pages have +some incorrect contents. If so, you should send a PR to update contents both of `docs/latest` +and `docs/v0.2.0`. + +It's important to note that a given document _must_ have a reference in some +`.. toctree::` section for the document to be reachable. Not everything needs +to be in `docs/index.rst`'s `toctree` though. + +You can access the website which represents the current release in default, +and you can access the website which contains the latest version changes in +[Here][latest-website] or at the footer of the pages. + +## Documentation Workflow + +To work with the docs, just edit reStructuredText or Markdown files in `docs`, +then run + +```bash +make docs +``` + +This will create `docs/html` with the built HTML pages. You can view the docs +either simply by pointing a web browser at the `file://` path to your +`docs/html`, or by firing up a static webserver from that directory, e.g. + +``` shell +make docs-serve +``` + +If you want to generate a new release version of the docs, like `v0.3.0`, then run + +```bash +make docs-release TAG=v0.3.0 +``` + +This will update the VERSION file at the project root, which records current release version, +and it will be used in the pages version context and binary version output. Also, this will generate +new dir `docs/v0.3.0`, which contains docs at v0.3.0 and updates artifact links to `v0.3.0` +in all files under `docs/v0.3.0/user`, like `quickstart.md`, `http-routing.md` and etc. + +## Publishing Docs + +Whenever docs are pushed to `main`, CI will publish the built docs to GitHub +Pages. For more details, see `.github/workflows/docs.yaml`. + +[reStructuredText]: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html +[Markdown]: https://daringfireball.net/projects/markdown/syntax +[latest-website]: https://gateway.envoyproxy.io/latest diff --git a/docs/v0.5.0/dev/GOALS.md b/site/content/en/docs/v0.5.0/dev/GOALS.md similarity index 99% rename from docs/v0.5.0/dev/GOALS.md rename to site/content/en/docs/v0.5.0/dev/GOALS.md index 519be9f180fe..0d7dea58478d 100644 --- a/docs/v0.5.0/dev/GOALS.md +++ b/site/content/en/docs/v0.5.0/dev/GOALS.md @@ -1,4 +1,6 @@ -# Goals +--- +title: "Goals" +--- The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing diff --git a/docs/latest/dev/README.md b/site/content/en/docs/v0.5.0/dev/README.md similarity index 99% rename from docs/latest/dev/README.md rename to site/content/en/docs/v0.5.0/dev/README.md index cf25992e5b3b..a5eaa93ea707 100644 --- a/docs/latest/dev/README.md +++ b/site/content/en/docs/v0.5.0/dev/README.md @@ -1,4 +1,6 @@ -# Developer Guide +--- +title: "Developer Guide" +--- Envoy Gateway is built using a [make][]-based build system. Our CI is based on [Github Actions][] using [workflows][]. diff --git a/site/content/en/docs/v0.5.0/dev/_index.md b/site/content/en/docs/v0.5.0/dev/_index.md new file mode 100644 index 000000000000..b4ea3bc1a5b0 --- /dev/null +++ b/site/content/en/docs/v0.5.0/dev/_index.md @@ -0,0 +1,5 @@ +--- +title: "Development" +weight: 3 +description: This section includes Developments of Envoy Gateway. +--- diff --git a/docs/latest/dev/releasing.md b/site/content/en/docs/v0.5.0/dev/releasing.md similarity index 99% rename from docs/latest/dev/releasing.md rename to site/content/en/docs/v0.5.0/dev/releasing.md index 81625698cfa8..617baf1933e0 100644 --- a/docs/latest/dev/releasing.md +++ b/site/content/en/docs/v0.5.0/dev/releasing.md @@ -1,4 +1,6 @@ -# Release Process +--- +title: "Release Process" +--- This document guides maintainers through the process of creating an Envoy Gateway release. diff --git a/site/content/en/docs/v0.5.0/helm/_index.md b/site/content/en/docs/v0.5.0/helm/_index.md new file mode 100644 index 000000000000..8606fd7759c1 --- /dev/null +++ b/site/content/en/docs/v0.5.0/helm/_index.md @@ -0,0 +1,4 @@ +--- +title: "Helm" +description: This section includes Helm related contents of Envoy Gateway. +--- diff --git a/docs/v0.5.0/helm/api.md b/site/content/en/docs/v0.5.0/helm/api.md similarity index 98% rename from docs/v0.5.0/helm/api.md rename to site/content/en/docs/v0.5.0/helm/api.md index 98eb8e373049..ca33e2c5e1fe 100644 --- a/docs/v0.5.0/helm/api.md +++ b/site/content/en/docs/v0.5.0/helm/api.md @@ -1,4 +1,6 @@ -# gateway-helm +--- +title: "Helm Chart Details" +--- ![Version: v0.0.0-latest](https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) diff --git a/docs/v0.5.0/images/architecture.png b/site/content/en/docs/v0.5.0/images/architecture.png similarity index 100% rename from docs/v0.5.0/images/architecture.png rename to site/content/en/docs/v0.5.0/images/architecture.png diff --git a/docs/v0.5.0/images/extension-example.png b/site/content/en/docs/v0.5.0/images/extension-example.png similarity index 100% rename from docs/v0.5.0/images/extension-example.png rename to site/content/en/docs/v0.5.0/images/extension-example.png diff --git a/site/content/en/docs/v0.5.0/user/_index.md b/site/content/en/docs/v0.5.0/user/_index.md new file mode 100644 index 000000000000..32a4b32e7904 --- /dev/null +++ b/site/content/en/docs/v0.5.0/user/_index.md @@ -0,0 +1,6 @@ +--- +title: "User Guide" +weight: 2 +description: This section includes User Guides of Envoy Gateway. +--- + diff --git a/docs/v0.5.0/user/authn.md b/site/content/en/docs/v0.5.0/user/authn.md similarity index 98% rename from docs/v0.5.0/user/authn.md rename to site/content/en/docs/v0.5.0/user/authn.md index 1344248cf607..f09bd31108e6 100644 --- a/docs/v0.5.0/user/authn.md +++ b/site/content/en/docs/v0.5.0/user/authn.md @@ -1,4 +1,6 @@ -# Request Authentication +--- +title: "Request Authentication" +--- This guide provides instructions for configuring [JSON Web Token (JWT)][jwt] authentication. JWT authentication checks if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only diff --git a/docs/v0.5.0/user/customize-envoyproxy.md b/site/content/en/docs/v0.5.0/user/customize-envoyproxy.md similarity index 99% rename from docs/v0.5.0/user/customize-envoyproxy.md rename to site/content/en/docs/v0.5.0/user/customize-envoyproxy.md index 924799e1b9e5..1be0298ffd4d 100644 --- a/docs/v0.5.0/user/customize-envoyproxy.md +++ b/site/content/en/docs/v0.5.0/user/customize-envoyproxy.md @@ -1,4 +1,6 @@ -# Customize EnvoyProxy +--- +title: "Customize EnvoyProxy" +--- Envoy Gateway provides an [EnvoyProxy][] CRD that can be linked to the ParametersRef in GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and diff --git a/docs/v0.5.0/user/deployment-mode.md b/site/content/en/docs/v0.5.0/user/deployment-mode.md similarity index 99% rename from docs/v0.5.0/user/deployment-mode.md rename to site/content/en/docs/v0.5.0/user/deployment-mode.md index 3e523b6680ec..2a35c5bafdec 100644 --- a/docs/v0.5.0/user/deployment-mode.md +++ b/site/content/en/docs/v0.5.0/user/deployment-mode.md @@ -1,4 +1,7 @@ -## Deployment Mode +--- +title: "Deployment Mode" +--- + ### One GatewayClass per Envoy Gateway diff --git a/docs/v0.5.0/user/egctl.md b/site/content/en/docs/v0.5.0/user/egctl.md similarity index 99% rename from docs/v0.5.0/user/egctl.md rename to site/content/en/docs/v0.5.0/user/egctl.md index bd027daa3e6a..a09b1b434813 100644 --- a/docs/v0.5.0/user/egctl.md +++ b/site/content/en/docs/v0.5.0/user/egctl.md @@ -1,4 +1,6 @@ -# egctl +--- +title: "Use egctl" +--- `egctl` is a command line tool to provide additional functionality for Envoy Gateway users. diff --git a/docs/v0.5.0/user/envoy-patch-policy.md b/site/content/en/docs/v0.5.0/user/envoy-patch-policy.md similarity index 99% rename from docs/v0.5.0/user/envoy-patch-policy.md rename to site/content/en/docs/v0.5.0/user/envoy-patch-policy.md index efabd72f5f14..cb7d16d2afe7 100644 --- a/docs/v0.5.0/user/envoy-patch-policy.md +++ b/site/content/en/docs/v0.5.0/user/envoy-patch-policy.md @@ -1,4 +1,6 @@ -# Envoy Patch Policy +--- +title: "Envoy Patch Policy" +--- This guide explains the usage of the [EnvoyPatchPolicy][] API. __Note:__ This API is meant for users extremely familiar with Envoy [xDS][] semantics. diff --git a/docs/v0.5.0/user/gateway-address.md b/site/content/en/docs/v0.5.0/user/gateway-address.md similarity index 98% rename from docs/v0.5.0/user/gateway-address.md rename to site/content/en/docs/v0.5.0/user/gateway-address.md index 9bf1f8f6671d..c3f264aa35ed 100644 --- a/docs/v0.5.0/user/gateway-address.md +++ b/site/content/en/docs/v0.5.0/user/gateway-address.md @@ -1,4 +1,6 @@ -# Gateway Address +--- +title: "Gateway Address" +--- The Gateway API provides an optional [Addresses][] field through which Envoy Gateway can set addresses for Envoy Proxy Service. The currently supported addresses are: diff --git a/docs/v0.5.0/user/gatewayapi-support.md b/site/content/en/docs/v0.5.0/user/gatewayapi-support.md similarity index 99% rename from docs/v0.5.0/user/gatewayapi-support.md rename to site/content/en/docs/v0.5.0/user/gatewayapi-support.md index 7894a198dc3a..368745d2f759 100644 --- a/docs/v0.5.0/user/gatewayapi-support.md +++ b/site/content/en/docs/v0.5.0/user/gatewayapi-support.md @@ -1,4 +1,6 @@ -# Gateway API Support +--- +title: "Gateway API Support" +--- As mentioned in the [system design][] document, Envoy Gateway's managed data plane is configured dynamically through Kubernetes resources, primarily [Gateway API][] objects. Envoy Gateway supports configuration using the following Gateway API resources. diff --git a/docs/v0.5.0/user/grpc-routing.md b/site/content/en/docs/v0.5.0/user/grpc-routing.md similarity index 99% rename from docs/v0.5.0/user/grpc-routing.md rename to site/content/en/docs/v0.5.0/user/grpc-routing.md index a6fc3925c06e..f95785c32cf5 100644 --- a/docs/v0.5.0/user/grpc-routing.md +++ b/site/content/en/docs/v0.5.0/user/grpc-routing.md @@ -1,4 +1,6 @@ -# GRPC Routing +--- +title: "GRPC Routing" +--- The [GRPCRoute][] resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers. To learn more about gRPC routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.4.0/user/http-redirect.md b/site/content/en/docs/v0.5.0/user/http-redirect.md similarity index 99% rename from docs/v0.4.0/user/http-redirect.md rename to site/content/en/docs/v0.5.0/user/http-redirect.md index dcd72749f368..da61bdaf32f3 100644 --- a/docs/v0.4.0/user/http-redirect.md +++ b/site/content/en/docs/v0.5.0/user/http-redirect.md @@ -1,4 +1,6 @@ -# HTTP Redirects +--- +title: "HTTP Redirects" +--- The [HTTPRoute][] resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ diff --git a/docs/v0.4.0/user/http-request-headers.md b/site/content/en/docs/v0.5.0/user/http-request-headers.md similarity index 99% rename from docs/v0.4.0/user/http-request-headers.md rename to site/content/en/docs/v0.5.0/user/http-request-headers.md index 5e1d77fe6d2f..17fe3b87bcb1 100644 --- a/docs/v0.4.0/user/http-request-headers.md +++ b/site/content/en/docs/v0.5.0/user/http-request-headers.md @@ -1,4 +1,6 @@ -# HTTP Request Headers +--- +title: "HTTP Request Headers" +--- The [HTTPRoute][] resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ [HTTPRoute filters][] which diff --git a/docs/v0.5.0/user/http-request-mirroring.md b/site/content/en/docs/v0.5.0/user/http-request-mirroring.md similarity index 99% rename from docs/v0.5.0/user/http-request-mirroring.md rename to site/content/en/docs/v0.5.0/user/http-request-mirroring.md index 45b3508b2644..aaea240f5ca9 100644 --- a/docs/v0.5.0/user/http-request-mirroring.md +++ b/site/content/en/docs/v0.5.0/user/http-request-mirroring.md @@ -1,4 +1,6 @@ -# HTTPRoute Request Mirroring +--- +title: "HTTPRoute Request Mirroring" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using [Traffic Splitting](http-traffic-splitting.md), but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API's [HTTPRequestMirrorFilter][] on the `HTTPRoute`. diff --git a/docs/v0.5.0/user/http-response-headers.md b/site/content/en/docs/v0.5.0/user/http-response-headers.md similarity index 99% rename from docs/v0.5.0/user/http-response-headers.md rename to site/content/en/docs/v0.5.0/user/http-response-headers.md index 6c77c2e6c2c4..4a27728003d7 100644 --- a/docs/v0.5.0/user/http-response-headers.md +++ b/site/content/en/docs/v0.5.0/user/http-response-headers.md @@ -1,4 +1,6 @@ -# HTTP Response Headers +--- +title: "HTTP Response Headers" +--- The [HTTPRoute][] resource can modify the headers of a response before responding it to the downstream service. To learn more about HTTP routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.5.0/user/http-routing.md b/site/content/en/docs/v0.5.0/user/http-routing.md similarity index 99% rename from docs/v0.5.0/user/http-routing.md rename to site/content/en/docs/v0.5.0/user/http-routing.md index c6a70b63664c..eb77751344ad 100644 --- a/docs/v0.5.0/user/http-routing.md +++ b/site/content/en/docs/v0.5.0/user/http-routing.md @@ -1,4 +1,6 @@ -# HTTP Routing +--- +title: "HTTP Routing" +--- The [HTTPRoute][] resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide diff --git a/docs/latest/user/http-traffic-splitting.md b/site/content/en/docs/v0.5.0/user/http-traffic-splitting.md similarity index 99% rename from docs/latest/user/http-traffic-splitting.md rename to site/content/en/docs/v0.5.0/user/http-traffic-splitting.md index 92fed8bd0b11..94f021b5aecb 100644 --- a/docs/latest/user/http-traffic-splitting.md +++ b/site/content/en/docs/v0.5.0/user/http-traffic-splitting.md @@ -1,4 +1,6 @@ -# HTTPRoute Traffic Splitting +--- +title: "HTTPRoute Traffic Splitting" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned diff --git a/docs/v0.3.0/user/http-urlrewrite.md b/site/content/en/docs/v0.5.0/user/http-urlrewrite.md similarity index 99% rename from docs/v0.3.0/user/http-urlrewrite.md rename to site/content/en/docs/v0.5.0/user/http-urlrewrite.md index 88e29c3269cc..fb68ae883221 100644 --- a/docs/v0.3.0/user/http-urlrewrite.md +++ b/site/content/en/docs/v0.5.0/user/http-urlrewrite.md @@ -1,4 +1,6 @@ -# HTTP URL Rewrite +--- +title: "HTTP URL Rewrite" +--- [HTTPURLRewriteFilter][] defines a filter that modifies a request during forwarding. At most one of these filters may be used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter. diff --git a/docs/v0.5.0/user/installation.md b/site/content/en/docs/v0.5.0/user/installation.md similarity index 99% rename from docs/v0.5.0/user/installation.md rename to site/content/en/docs/v0.5.0/user/installation.md index 8bca533dd9a9..29b6a60b1ca7 100644 --- a/docs/v0.5.0/user/installation.md +++ b/site/content/en/docs/v0.5.0/user/installation.md @@ -1,4 +1,6 @@ -# Installation +--- +title: "Installation" +--- ## Prerequisites diff --git a/docs/latest/user/proxy-observability.md b/site/content/en/docs/v0.5.0/user/proxy-observability.md similarity index 99% rename from docs/latest/user/proxy-observability.md rename to site/content/en/docs/v0.5.0/user/proxy-observability.md index e635460865b0..8755332262d0 100644 --- a/docs/latest/user/proxy-observability.md +++ b/site/content/en/docs/v0.5.0/user/proxy-observability.md @@ -1,4 +1,6 @@ -# Proxy Observability +--- +title: "Proxy Observability" +--- Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances. This guide show you how to config proxy observability, includes metrics, logs, and traces. diff --git a/docs/v0.5.0/user/quickstart.md b/site/content/en/docs/v0.5.0/user/quickstart.md similarity index 98% rename from docs/v0.5.0/user/quickstart.md rename to site/content/en/docs/v0.5.0/user/quickstart.md index 55e066469aa1..8efb6a44ffe1 100644 --- a/docs/v0.5.0/user/quickstart.md +++ b/site/content/en/docs/v0.5.0/user/quickstart.md @@ -1,4 +1,7 @@ -# Quickstart +--- +title: "Quickstart" +weight: 1 +--- This guide will help you get started with Envoy Gateway in a few simple steps. diff --git a/docs/v0.5.0/user/rate-limit.md b/site/content/en/docs/v0.5.0/user/rate-limit.md similarity index 99% rename from docs/v0.5.0/user/rate-limit.md rename to site/content/en/docs/v0.5.0/user/rate-limit.md index 2e6c165b96dd..3c780c730a6b 100644 --- a/docs/v0.5.0/user/rate-limit.md +++ b/site/content/en/docs/v0.5.0/user/rate-limit.md @@ -1,4 +1,6 @@ -# Rate Limit +--- +title: "Rate Limit" +--- Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow. diff --git a/docs/v0.4.0/user/secure-gateways.md b/site/content/en/docs/v0.5.0/user/secure-gateways.md similarity index 99% rename from docs/v0.4.0/user/secure-gateways.md rename to site/content/en/docs/v0.5.0/user/secure-gateways.md index 8ada7c59978a..2e04000d5a7d 100644 --- a/docs/v0.4.0/user/secure-gateways.md +++ b/site/content/en/docs/v0.5.0/user/secure-gateways.md @@ -1,4 +1,6 @@ -# Secure Gateways +--- +title: "Secure Gateways" +--- This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/v0.5.0/user/tcp-routing.md b/site/content/en/docs/v0.5.0/user/tcp-routing.md similarity index 99% rename from docs/v0.5.0/user/tcp-routing.md rename to site/content/en/docs/v0.5.0/user/tcp-routing.md index 07d07ba4b5b6..9ee9194400ba 100644 --- a/docs/v0.5.0/user/tcp-routing.md +++ b/site/content/en/docs/v0.5.0/user/tcp-routing.md @@ -1,4 +1,6 @@ -# TCP Routing +--- +title: "TCP Routing" +--- [TCPRoute][] provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about diff --git a/docs/v0.5.0/user/tls-cert-manager.md b/site/content/en/docs/v0.5.0/user/tls-cert-manager.md similarity index 99% rename from docs/v0.5.0/user/tls-cert-manager.md rename to site/content/en/docs/v0.5.0/user/tls-cert-manager.md index 8cfb3b2eb023..7b56dd169565 100644 --- a/docs/v0.5.0/user/tls-cert-manager.md +++ b/site/content/en/docs/v0.5.0/user/tls-cert-manager.md @@ -1,4 +1,6 @@ -# Using cert-manager For TLS Termination +--- +title: "Using cert-manager For TLS Termination" +--- This guide shows how to set up [cert-manager](https://cert-manager.io/) to automatically create certificates and secrets for use by Envoy Gateway. It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other. @@ -51,7 +53,7 @@ cert-manager can have any number of *issuer* configurations. The simplest issuer type is [SelfSigned](https://cert-manager.io/docs/configuration/selfsigned/). It simply takes the certificate request and signs it with the private key it generates for the TLS Secret. -```{note} +``` Self-signed certificates don't provide any help in establishing trust between certificates. However, they are great for initial testing, due to their simplicity. ``` diff --git a/docs/v0.5.0/user/tls-passthrough.md b/site/content/en/docs/v0.5.0/user/tls-passthrough.md similarity index 99% rename from docs/v0.5.0/user/tls-passthrough.md rename to site/content/en/docs/v0.5.0/user/tls-passthrough.md index ecb5ebc16581..d5fa1067c4ee 100644 --- a/docs/v0.5.0/user/tls-passthrough.md +++ b/site/content/en/docs/v0.5.0/user/tls-passthrough.md @@ -1,4 +1,6 @@ -# TLS Passthrough +--- +title: "TLS Passthrough" +--- This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself diff --git a/docs/v0.5.0/user/tls-termination.md b/site/content/en/docs/v0.5.0/user/tls-termination.md similarity index 98% rename from docs/v0.5.0/user/tls-termination.md rename to site/content/en/docs/v0.5.0/user/tls-termination.md index 35f278063f93..7975a31c1964 100644 --- a/docs/v0.5.0/user/tls-termination.md +++ b/site/content/en/docs/v0.5.0/user/tls-termination.md @@ -1,4 +1,6 @@ -# TLS Termination for TCP +--- +title: "TLS Termination for TCP" +--- This guide will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/v0.5.0/user/udp-routing.md b/site/content/en/docs/v0.5.0/user/udp-routing.md similarity index 99% rename from docs/v0.5.0/user/udp-routing.md rename to site/content/en/docs/v0.5.0/user/udp-routing.md index 16b4c9434197..59b4992b98a5 100644 --- a/docs/v0.5.0/user/udp-routing.md +++ b/site/content/en/docs/v0.5.0/user/udp-routing.md @@ -1,4 +1,6 @@ -# UDP Routing +--- +title: "UDP Routing" +--- The [UDPRoute][] resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy diff --git a/site/content/en/featured-background.jpg b/site/content/en/featured-background.jpg new file mode 100644 index 000000000000..b1f8c56bc299 Binary files /dev/null and b/site/content/en/featured-background.jpg differ diff --git a/site/content/en/search.md b/site/content/en/search.md new file mode 100644 index 000000000000..394feea5fdb3 --- /dev/null +++ b/site/content/en/search.md @@ -0,0 +1,4 @@ +--- +title: Search Results +layout: search +--- diff --git a/site/docker-compose.yaml b/site/docker-compose.yaml new file mode 100644 index 000000000000..e8f211a610ef --- /dev/null +++ b/site/docker-compose.yaml @@ -0,0 +1,13 @@ +version: "3.3" + +services: + + site: + image: docsy/docsy-example + build: + context: . + command: server + ports: + - "1313:1313" + volumes: + - .:/src diff --git a/site/go.mod b/site/go.mod new file mode 100644 index 000000000000..ec0974f56141 --- /dev/null +++ b/site/go.mod @@ -0,0 +1,9 @@ +module github.com/google/docsy-example + +go 1.12 + +require ( + github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 // indirect + github.com/google/docsy v0.7.1 // indirect + github.com/twbs/bootstrap v5.2.3+incompatible // indirect +) diff --git a/site/go.sum b/site/go.sum new file mode 100644 index 000000000000..e1d4ad4df70a --- /dev/null +++ b/site/go.sum @@ -0,0 +1,22 @@ +github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f h1:bvkUptSRPZBr3Kxuk+bnWCEmQ5MtEJX5fjezyV0bC3g= +github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/FortAwesome/Font-Awesome v0.0.0-20221115183454-96cafbd73ec4 h1:xfr9SidRCMEh4A8fdkLhFPcHAVbrdv3Ua0Jp/nSmhhQ= +github.com/FortAwesome/Font-Awesome v0.0.0-20221115183454-96cafbd73ec4/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 h1:Uv1z5EqCfmiK4IHUwT0m3h/u/WCk+kpRfxvAZhpC7Gc= +github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/google/docsy v0.5.1 h1:D/ZdFKiE29xM/gwPwQzmkyXhcbQGkReRS6aGrF7lnYk= +github.com/google/docsy v0.5.1/go.mod h1:maoUAQU5H/d+FrZIB4xg1EVWAx7RyFMGSDJyWghm31E= +github.com/google/docsy v0.6.0 h1:43bVF18t2JihAamelQjjGzx1vO2ljCilVrBgetCA8oI= +github.com/google/docsy v0.6.0/go.mod h1:VKKLqD8PQ7AglJc98yBorATfW7GrNVsn0kGXVYF6G+M= +github.com/google/docsy v0.7.0 h1:JaeZ0/KufX/BJ3SyATb/fmZa1DFI7o5d9KU+i6+lLJY= +github.com/google/docsy v0.7.0/go.mod h1:5WhIFchr5BfH6agjcInhpLRz7U7map0bcmKSpcrg6BE= +github.com/google/docsy v0.7.1 h1:DUriA7Nr3lJjNi9Ulev1SfiG1sUYmvyDeU4nTp7uDxY= +github.com/google/docsy v0.7.1/go.mod h1:JCmE+c+izhE0Rvzv3y+AzHhz1KdwlA9Oj5YBMklJcfc= +github.com/google/docsy/dependencies v0.5.1/go.mod h1:EDGc2znMbGUw0RW5kWwy2oGgLt0iVXBmoq4UOqstuNE= +github.com/google/docsy/dependencies v0.6.0/go.mod h1:EDGc2znMbGUw0RW5kWwy2oGgLt0iVXBmoq4UOqstuNE= +github.com/google/docsy/dependencies v0.7.0/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= +github.com/google/docsy/dependencies v0.7.1/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= +github.com/twbs/bootstrap v4.6.2+incompatible h1:TDa+R51BTiy1wEHSYjmqDb8LxNl/zaEjAOpRE9Hwh/o= +github.com/twbs/bootstrap v4.6.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= +github.com/twbs/bootstrap v5.2.3+incompatible h1:lOmsJx587qfF7/gE7Vv4FxEofegyJlEACeVV+Mt7cgc= +github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= diff --git a/site/hugo.toml b/site/hugo.toml new file mode 100644 index 000000000000..e4785d69371f --- /dev/null +++ b/site/hugo.toml @@ -0,0 +1,230 @@ +baseURL = "http://gateway.xunzhuo.cafe/" +title = "Envoy Gateway" + +# Language settings +contentDir = "content/en" +defaultContentLanguage = "en" +defaultContentLanguageInSubdir = false +# Useful when translating. +enableMissingTranslationPlaceholders = true + +enableRobotsTXT = true + +# Will give values to .Lastmod etc. +enableGitInfo = true + +# Comment out to enable taxonomies in Docsy +# disableKinds = ["taxonomy", "taxonomyTerm"] + +# You can add your own taxonomies +[taxonomies] +tag = "tags" +category = "categories" + +[params.taxonomy] +# set taxonomyCloud = [] to hide taxonomy clouds +taxonomyCloud = ["tags", "categories"] + +# If used, must have same length as taxonomyCloud +taxonomyCloudTitle = ["Tag Cloud", "Categories"] + +# set taxonomyPageHeader = [] to hide taxonomies on the page headers +taxonomyPageHeader = ["tags", "categories"] + + +# Highlighting config +pygmentsCodeFences = true +pygmentsUseClasses = false +# Use the new Chroma Go highlighter in Hugo. +pygmentsUseClassic = false +#pygmentsOptions = "linenos=table" +# See https://help.farbox.com/pygments.html +pygmentsStyle = "tango" + +# Configure how URLs look like per section. +[permalinks] +blog = "/:section/:year/:month/:day/:slug/" + +# Image processing configuration. +[imaging] +resampleFilter = "CatmullRom" +quality = 75 +anchor = "smart" + +[services] +[services.googleAnalytics] +# Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback]. +id = "UA-00000000-0" + +# Language configuration + +[languages] +[languages.en] +languageName ="English" +# Weight used for sorting. +weight = 1 +[languages.en.params] +title = "Envoy Gateway" +description = "Manages Envoy Proxy as a Standalone or Kubernetes-based Application Gateway" + +[markup] + [markup.goldmark] + [markup.goldmark.parser.attribute] + block = true + [markup.goldmark.renderer] + unsafe = true + [markup.highlight] + # See a complete list of available styles at https://xyproto.github.io/splash/docs/all.html + style = "tango" + # Uncomment if you want your chosen highlight style used for code blocks without a specified language + # guessSyntax = "true" + +# Everything below this are Site Params + +# Comment out if you don't want the "print entire section" link enabled. +[outputs] +section = ["HTML", "print", "RSS"] + +[params] +copyright = "The Envoy Gateway Authors" +privacy_policy = "https://policies.google.com/privacy" + +# First one is picked as the Twitter card image if not set on page. +# images = ["images/project-illustration.png"] + +# Menu title if your navbar has a versions selector to access old versions of your site. +# This menu appears only if you have at least one [params.versions] set. +version_menu = "Releases" + +# Flag used in the "version-banner" partial to decide whether to display a +# banner on every page indicating that this is an archived version of the docs. +# Set this flag to "true" if you want to display the banner. +archived_version = false + +# The version number for the version of the docs represented in this doc set. +# Used in the "version-banner" partial to display a version number for the +# current doc set. +version = "latest" + +# A link to latest version of the docs. Used in the "version-banner" partial to +# point people to the main doc site. +url_latest_version = "https://gateway.envoyproxy.io" + +# Repository configuration (URLs for in-page links to opening issues and suggesting changes) +github_repo = "https://github.com/envoyproxy/gateway" +# An optional link to a related project repo. For example, the sibling repository where your product code lives. +github_project_repo = "https://github.com/envoyproxy/gateway" + +# Specify a value here if your content directory is not in your repo's root directory +# github_subdir = "" + +# Uncomment this if your GitHub repo does not have "main" as the default branch, +# or specify a new value if you want to reference another branch in your GitHub links +github_branch= "main" + +# Google Custom Search Engine ID. Remove or comment out to disable search. +gcs_engine_id = "d72aa9b2712488cc3" + +# Enable Algolia DocSearch +algolia_docsearch = false + +# Enable Lunr.js offline search +offlineSearch = false + +# Enable syntax highlighting and copy buttons on code blocks with Prism +prism_syntax_highlighting = false + +# User interface configuration +[params.ui] +# Set to true to disable breadcrumb navigation. +breadcrumb_disable = false +# Set to true to disable the About link in the site footer +footer_about_disable = false +# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top navbar +navbar_logo = true +# Set to true if you don't want the top navbar to be translucent when over a `block/cover`, like on the homepage. +navbar_translucent_over_cover_disable = false +# Enable to show the side bar menu in its compact state. +sidebar_menu_compact = false +# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled) +sidebar_search_disable = false + +# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events. +# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set. +# If you want this feature, but occasionally need to remove the "Feedback" section from a single page, +# add "hide_feedback: true" to the page's front matter. +[params.ui.feedback] +enable = true +# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful). +yes = 'Glad to hear it! Please tell us how we can improve.' +no = 'Sorry to hear that. Please tell us how we can improve.' + +# Adds a reading time to the top of each doc. +# If you want this feature, but occasionally need to remove the Reading time from a single page, +# add "hide_readingtime: true" to the page's front matter +[params.ui.readingtime] +enable = false + +[params.links] +# End user relevant links. These will show up on left side of footer and in the community page if you have one. +[[params.links.user]] + name = "User mailing list" + url = "mailto:envoy-users@googlegroups.com" + icon = "fa fa-envelope" + desc = "Discussion and help from your fellow users" +[[params.links.user]] + name ="Twitter" + url = "https://twitter.com/EnvoyProxy" + icon = "fab fa-twitter" + desc = "Follow us on Twitter to get the latest news!" +# Developer relevant links. These will show up on right side of footer and in the community page if you have one. +[[params.links.developer]] + name = "GitHub" + url = "https://github.com/envoyproxy/gateway" + icon = "fab fa-github" + desc = "Development takes place here!" +[[params.links.developer]] + name = "Slack" + url = "https://envoyproxy.slack.com/archives/C03E6NHLESV" + icon = "fab fa-slack" + desc = "Chat with other project developers" + +# hugo module configuration + +[module] + # uncomment line below for temporary local development of module + # replacements = "github.com/envoyproxy/gateway -> ../../docsy" + [module.hugoVersion] + extended = true + min = "0.110.0" + [[module.imports]] + path = "github.com/google/docsy" + disable = false + [[module.imports]] + path = "github.com/google/docsy/dependencies" + disable = false + +# Add your release versions here +[[params.versions]] + version = "latest" + url = "/docs/latest" + +# Add your release versions here +[[params.versions]] + version = "v0.5.0" + url = "/docs/v0.5.0" + +# Add your release versions here +[[params.versions]] + version = "v0.4.0" + url = "/docs/v0.4.0" + +# Add your release versions here +[[params.versions]] + version = "v0.3.0" + url = "/docs/v0.3.0" + +# Add your release versions here +[[params.versions]] + version = "v0.2.0" + url = "/docs/v0.2.0" diff --git a/site/layouts/404.html b/site/layouts/404.html new file mode 100644 index 000000000000..d32828c8b2fd --- /dev/null +++ b/site/layouts/404.html @@ -0,0 +1,6 @@ +{{ define "main" -}} +Oops! This page doesn't exist. Try going back to the home page.
+