Skip to content

Commit

Permalink
Merge branch 'main' into btp-preserve-api
Browse files Browse the repository at this point in the history
  • Loading branch information
guydc authored Apr 10, 2024
2 parents 4088521 + cc91a51 commit 02a6dd1
Show file tree
Hide file tree
Showing 67 changed files with 95 additions and 88 deletions.
10 changes: 7 additions & 3 deletions internal/cmd/egctl/translate.go
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ func translateGatewayAPIToIR(resources *gatewayapi.Resources) (*gatewayapi.Trans
}

t := &gatewayapi.Translator{
GatewayControllerName: egv1a1.GatewayControllerName,
GatewayControllerName: string(resources.GatewayClass.Spec.ControllerName),
GatewayClassName: gwapiv1.ObjectName(resources.GatewayClass.Name),
GlobalRateLimitEnabled: true,
EndpointRoutingDisabled: true,
Expand All @@ -303,7 +303,7 @@ func translateGatewayAPIToGatewayAPI(resources *gatewayapi.Resources) (gatewayap

// Translate from Gateway API to Xds IR
gTranslator := &gatewayapi.Translator{
GatewayControllerName: egv1a1.GatewayControllerName,
GatewayControllerName: string(resources.GatewayClass.Spec.ControllerName),
GatewayClassName: gwapiv1.ObjectName(resources.GatewayClass.Name),
GlobalRateLimitEnabled: true,
EndpointRoutingDisabled: true,
Expand Down Expand Up @@ -335,7 +335,7 @@ func translateGatewayAPIToXds(dnsDomain string, resourceType string, resources *

// Translate from Gateway API to Xds IR
gTranslator := &gatewayapi.Translator{
GatewayControllerName: egv1a1.GatewayControllerName,
GatewayControllerName: string(resources.GatewayClass.Spec.ControllerName),
GatewayClassName: gwapiv1.ObjectName(resources.GatewayClass.Name),
GlobalRateLimitEnabled: true,
EndpointRoutingDisabled: true,
Expand Down Expand Up @@ -688,6 +688,10 @@ func kubernetesYAMLToResources(str string, addMissingResources bool) (*gatewayap
},
Spec: typedSpec.(gwapiv1.GatewayClassSpec),
}
// fill controller name by default controller name when gatewayclass controller name empty.
if gatewayClass.Spec.ControllerName == "" {
gatewayClass.Spec.ControllerName = egv1a1.GatewayControllerName
}
resources.GatewayClass = gatewayClass
case gatewayapi.KindGateway:
typedSpec := spec.Interface()
Expand Down
14 changes: 7 additions & 7 deletions site/content/en/blog/news/1.0-release/1.0-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@ Today we’re ecstatic to announce the 1.0 release of Envoy Gateway (EG) for Kub
After nearly two years with contributions from over 90 engineers we are proud to say EG meets the goals that Matt outlined in the [original post](https://blog.envoyproxy.io/introducing-envoy-gateway-ad385cc59532) introducing the project, summarized here:
* Built around the (then emerging) [Kubernetes Gateway API](https://gateway-api.sigs.k8s.io)
* Addresses common needs with a solution that is simple to configure and understand
* Provides [great docs](/v1.0.1/user/) for common use cases to enable ease of adoption
* Provides [great docs](/v1.0.1/tasks/) for common use cases to enable ease of adoption
* Empowers the community and vendors to drive the project forward through an extensible API

Can’t wait to try it? Visit the EG [user guides](/v1.0.1/user/) to get started with Envoy Gateway 1.0
Can’t wait to try it? Visit the EG [tasks](/v1.0.1/tasks/) to get started with Envoy Gateway 1.0

## Envoy Gateway 1.0

The 1.0 release brings a lot of functionality. In addition to implementing the full Kubernetes Gateway API – including the awesome Envoy L7 features you love like per-request policy, load balancing, and best-in-class observability – it also goes further, Envoy Gateway 1.0:
* Provides support for common features such as Rate Limiting and OAuth2.0
* Deploys and upgrades Envoy on your behalf, easing operations and lifecycle management
* Introduces extensions to the Kubernetes Gateway API to address [Client](/v1.0.1/api/extension_types#clienttrafficpolicy), [Backend](/v1.0.1/api/extension_types#backendtrafficpolicy), and [Security](/v1.0.1/api/extension_types#securitypolicy) settings and features
* Is easily extensible through the [EnvoyPatchPolicy](/v1.0.1/user/extensibility/envoy-patch-policy/) API to allow you to configure any Envoy behavior (including stuff you build yourself!)
* Has a CLI, [egctl](/v1.0.1/user/operations/egctl/), for interacting with and debugging the system
* Comes with a large (and growing!) set of user guides to make common use cases straightforward to implement
* Is easily extensible through the [EnvoyPatchPolicy](/v1.0.1/tasks/extensibility/envoy-patch-policy/) API to allow you to configure any Envoy behavior (including stuff you build yourself!)
* Has a CLI, [egctl](/v1.0.1/tasks/operations/egctl/), for interacting with and debugging the system
* Comes with a large (and growing!) set of scenarios to make common use cases straightforward to implement

## What Does 1.0 Mean for the Project?

Expand Down Expand Up @@ -59,7 +59,7 @@ Following the 1.0 release, we’ll be focusing on:
* **Scale**: Building out a performance benchmarking tool into our CI
* **Extensibility**: We plan on providing a first-class API for data plane extensions such as Lua, WASM, and Ext Proc to enable users to implement their custom use cases
* **Outside of Kubernetes**: Running Envoy Gateway in non-k8s environments - this has been an [explicit goal](/v1.0.1/contributions/design/goals#all-environments) and we’d like to focus on this in the coming months. Envoy Proxy already supports running on bare metal environments, with Envoy Gateway users getting the added advantage of a simpler API
* **Debug**: And a lot of capabilities with the [egctl CLI](/v1.0.1/user/operations/egctl/)
* **Debug**: And a lot of capabilities with the [egctl CLI](/v1.0.1/tasks/operations/egctl/)

## Get Started
If you’ve been looking to use Envoy as a Gateway, check out our [quickstart guide](/v1.0.1/user/quickstart) and give it a try! If you’re interested in contributing, check out our [guide for getting involved](/v1.0.1/contributions/)!
If you’ve been looking to use Envoy as a Gateway, check out our [quickstart guide](/v1.0.1/tasks/quickstart) and give it a try! If you’re interested in contributing, check out our [guide for getting involved](/v1.0.1/contributions/)!
2 changes: 1 addition & 1 deletion site/content/en/v1.0.1/contributions/DEVELOP.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,6 @@ and is hosted in the repo.
[Envoy admin interface]: https://www.envoyproxy.io/docs/envoy/latest/operations/admin#operations-admin-interface
[jwt]: https://tools.ietf.org/html/rfc7519
[jwks]: https://tools.ietf.org/html/rfc7517
[request authentication]: ../user/security/jwt-authentication
[request authentication]: ../tasks/security/jwt-authentication
[JWT Debugger]: https://jwt.io/
[JWK Creator]: https://russelldavies.github.io/jwk-creator/
9 changes: 6 additions & 3 deletions site/content/en/v1.0.1/contributions/RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ description: "This section tells the release process of Envoy Gateway."
This document guides maintainers through the process of creating an Envoy Gateway release.

- [Release Candidate](#release-candidate)
- [Prerequisites](#prerequisites)
- [Setup cherry picker action](#setup-cherry-picker-action)
- [Minor Release](#minor-release)
- [Prerequisites](#prerequisites-1)
- [Announce the Release](#announce-the-release)

## Release Candidate
Expand Down Expand Up @@ -65,7 +68,7 @@ export GITHUB_REMOTE=origin
13. Confirm that the [release workflow][] completed successfully.
14. Confirm that the Envoy Gateway [image][] with the correct release tag was published to Docker Hub.
15. Confirm that the [release][] was created.
16. Note that the [Quickstart Guide][] references are __not__ updated for release candidates. However, test
16. Note that the [Quickstart][] references are __not__ updated for release candidates. However, test
the quickstart steps using the release candidate by manually updating the links.
17. [Generate][] the GitHub changelog.
18. Ensure you check the "This is a pre-release" checkbox when editing the GitHub release.
Expand Down Expand Up @@ -203,7 +206,7 @@ export GITHUB_REMOTE=origin
10. Confirm that the [release workflow][] completed successfully.
11. Confirm that the Envoy Gateway [image][] with the correct release tag was published to Docker Hub.
12. Confirm that the [release][] was created.
13. Confirm that the steps in the [Quickstart Guide][] work as expected.
13. Confirm that the steps in the [Quickstart][] work as expected.
14. [Generate][] the GitHub changelog and include the following text at the beginning of the release page:

```console
Expand Down Expand Up @@ -239,7 +242,7 @@ It's important that the world knows about the release. Use the following steps t
[release notes]: https://github.com/envoyproxy/gateway/tree/main/release-notes
[Pull Request]: https://github.com/envoyproxy/gateway/pulls
[Quickstart Guide]: https://github.com/envoyproxy/gateway/blob/main/docs/user/quickstart.md
[Quickstart]: https://github.com/envoyproxy/gateway/blob/main/docs/user/quickstart.md
[Build and Test]: https://github.com/envoyproxy/gateway/blob/main/.github/workflows/build_and_test.yaml
[release GitHub action]: https://github.com/envoyproxy/gateway/blob/main/.github/workflows/release.yaml
[release workflow]: https://github.com/envoyproxy/gateway/actions/workflows/release.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,5 +172,5 @@ patches will work.
[EnvoyGateway]: ../../api/extension_types#envoygateway
[Extending the Control Plane]: ./extending-envoy-gateway
[EnvoyFilter]: https://istio.io/latest/docs/reference/config/networking/envoy-filter
[egctl x translate]: ../../user/operations/egctl#egctl-experimental-translate
[Bootstrap configuration using EnvoyProxy API]: ../../user/operations/customize-envoyproxy#customize-envoyproxy-bootstrap-config
[egctl x translate]: ../../tasks/operations/egctl#egctl-experimental-translate
[Bootstrap configuration using EnvoyProxy API]: ../../tasks/operations/customize-envoyproxy#customize-envoyproxy-bootstrap-config
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ Extending Envoy Gateway by using an external extension server which makes use of
[Envoy specific configuration (xDS)]: https://www.envoyproxy.io/docs/envoy/v1.25.1/configuration/configuration
[v1]: https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1
[rate limiting]: ./rate-limit
[authentication]: ../../user/security/jwt-authentication
[authentication]: ../../tasks/security/jwt-authentication
[HTTPRoute]: https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRoute
[GRPCRoute]: https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.GRPCRoute
[EnvoyGateway config]: ../../api/extension_types/#envoygateway
Expand Down
2 changes: 1 addition & 1 deletion site/content/en/v1.0.1/install/install-egctl.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@ curl -fsSL https://gateway.envoyproxy.io/get-egctl.sh | VERSION=latest bash

{{% alert title="Next Steps" color="warning" %}}

You can refer to [User Guides](../user/operations/egctl) to more details about egctl.
You can refer to [Tasks](../tasks/operations/egctl) for more details about egctl.

{{% /alert %}}
2 changes: 1 addition & 1 deletion site/content/en/v1.0.1/install/install-helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,5 +140,5 @@ These are the ports used by Envoy Gateway and the managed Envoy Proxy.
| Heath Check | 0.0.0.0 | 19001 |

{{% alert title="Next Steps" color="warning" %}}
Envoy Gateway should now be successfully installed and running, but in order to experience more abilities of Envoy Gateway, you can refer to [User Guides](../user).
Envoy Gateway should now be successfully installed and running, but in order to experience more abilities of Envoy Gateway, you can refer to [Tasks](../tasks).
{{% /alert %}}
2 changes: 1 addition & 1 deletion site/content/en/v1.0.1/install/install-yaml.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ Refer to the [Developer Guide](/latest/contributions/develop) to learn more.

2. Next Steps

Envoy Gateway should now be successfully installed and running, but in order to experience more abilities of Envoy Gateway, you can refer to [User Guides](/latest/tasks).
Envoy Gateway should now be successfully installed and running, but in order to experience more abilities of Envoy Gateway, you can refer to [Tasks](/latest/tasks).
5 changes: 5 additions & 0 deletions site/content/en/v1.0.1/tasks/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Tasks"
weight: 2
description: Learn Envoy Gateway hands-on through tasks
---
5 changes: 5 additions & 0 deletions site/content/en/v1.0.1/tasks/extensibility/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Extensibility"
weight: 4
description: This section includes extensibility tasks
---
5 changes: 5 additions & 0 deletions site/content/en/v1.0.1/tasks/observability/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Observability"
weight: 4
description: This section includes observability tasks.
---
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The project also provides example dashboard for visualising the metrics using Gr

## Prerequisites

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

Run the following commands to install the metrics stack, with the Gateway API State Metrics configuration, on your kubernetes cluster:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This guide shows you how to visualise the metrics exposed to prometheus using gr

## Prerequisites

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

Follow the steps from the [Proxy Observability](../proxy-observability#Metrics) to enable prometheus metrics.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This guide show you how to config proxy observability, includes metrics, logs, a

## Prerequisites

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

[FluentBit](https://fluentbit.io/) is used to collect logs from the EnvoyProxy instances and forward them to Loki. Install FluentBit:
Expand Down
5 changes: 5 additions & 0 deletions site/content/en/v1.0.1/tasks/operations/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Operations"
weight: 4
description: This section includes operations-related tasks.
---
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Service. To learn more about GatewayClass and ParametersRef, please refer to [Ga

## Installation

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

## Add GatewayClass ParametersRef
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ curl --verbose --header "Host: www.example.com" http://$GATEWAY_HOST/get

## Clean-Up

Use the steps in this section to uninstall everything from the quickstart guide.
Use the steps in this section to uninstall everything from the quickstart.

Delete the GatewayClass, Gateway, HTTPRoute and Example App:

Expand Down
5 changes: 5 additions & 0 deletions site/content/en/v1.0.1/tasks/security/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Security"
weight: 2
description: This section includes security-related tasks.
---
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Envoy Gateway supports the Gateway-API defined [BackendTLSPolicy][].

## Installation

Follow the steps from the [Quickstart Guide](../../quickstart) to install Envoy Gateway and the example manifest.
Follow the steps from the [Quickstart](../../quickstart) to install Envoy Gateway and the example manifest.

## TLS Certificates

Expand Down Expand Up @@ -235,4 +235,4 @@ Inspect the output and see that the response contains the details of the TLS han
}
```

[BackendTLSPolicy]: https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/
[BackendTLSPolicy]: https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ kubectl create secret tls example-cert --key=www.example.com.key --cert=www.exam
```

### Enable HTTPS
Update the Gateway from the Quickstart guide to include an HTTPS listener that listens on port `443` and references the
Update the Gateway from the Quickstart to include an HTTPS listener that listens on port `443` and references the
`example-cert` Secret:

```shell
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ testing and demonstration purposes only.

## Installation

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

## TLS Certificates
Expand Down Expand Up @@ -50,7 +50,7 @@ openssl req -out client.example.com.csr -newkey rsa:2048 -nodes -keyout client.e
openssl x509 -req -days 365 -CA example.com.crt -CAkey example.com.key -set_serial 0 -in client.example.com.csr -out client.example.com.crt
```

Update the Gateway from the Quickstart guide to include an HTTPS listener that listens on port `443` and references the
Update the Gateway from the Quickstart to include an HTTPS listener that listens on port `443` and references the
`example-cert` Secret:

```shell
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ testing and demonstration purposes only.

## Installation

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

## TLS Certificates
Expand All @@ -37,7 +37,7 @@ Store the cert/key in a Secret:
kubectl create secret tls example-cert --key=www.example.com.key --cert=www.example.com.crt
```

Update the Gateway from the Quickstart guide to include an HTTPS listener that listens on port `443` and references the
Update the Gateway from the Quickstart to include an HTTPS listener that listens on port `443` and references the
`example-cert` Secret:

```shell
Expand Down Expand Up @@ -242,7 +242,7 @@ Lastly, test connectivity using the above [Testing section](#testing).

## Clean-Up

Follow the steps from the [Quickstart Guide](../../quickstart) to uninstall Envoy Gateway and the example manifest.
Follow the steps from the [Quickstart](../../quickstart) to uninstall Envoy Gateway and the example manifest.

Delete the Secrets:

Expand All @@ -257,7 +257,7 @@ This section gives a walkthrough to generate RSA and ECDSA derived certificates

## Prerequisites

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

Follow the steps in the [TLS Certificates](#tls-certificates) section in the guide to generate self-signed RSA derived Server certificate and private key, and configure those in the Gateway listener configuration to terminate HTTPS traffic.
Expand Down Expand Up @@ -369,7 +369,7 @@ This sections gives a walkthrough to generate multiple certificates correspondin
## Prerequisites
Follow the steps from the [Quickstart Guide](../../quickstart) to install Envoy Gateway and the example manifest.
Follow the steps from the [Quickstart](../../quickstart) to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.
Follow the steps in the [TLS Certificates](#tls-certificates) section in the guide to generate self-signed RSA derived Server certificate and private key, and configure those in the Gateway listener configuration to terminate HTTPS traffic.
Expand Down
Loading

0 comments on commit 02a6dd1

Please sign in to comment.