Skip to content

Commit

Permalink
Backport of api gw 1.16 updates into release/1.16.x (#18348)
Browse files Browse the repository at this point in the history
api gw 1.16 updates (#18081)

* api gw 1.16 updates

* Apply suggestions from code review



* update CodeBlockConfig filename

* Apply suggestions from code review




* remove non-standard intentions page

* Update website/content/docs/api-gateway/configuration/index.mdx



---------

Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
  • Loading branch information
4 people authored Aug 1, 2023
1 parent fa0746e commit afcd8bf
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 16 deletions.
3 changes: 1 addition & 2 deletions website/content/docs/api-gateway/configuration/gateway.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ Specify the following parameters to declare a `Gateway`:
| `fields` | Specifies the configurations for the Gateway. The fields are listed in the [configuration model](#configuration-model). Details for each field are described in the [specification](#specification). | Required |



## Configuration model

The following outline shows how to format the configurations in the `Gateway` object. Click on a property name to view details about the configuration.
Expand Down Expand Up @@ -196,7 +195,7 @@ The following example creates a `Gateway` named `example-gateway` in namespace `
name: example-gateway
namespace: gateway-namespace
spec:
gatewayClassName: consul-api-gateway
gatewayClassName: consul
listeners:
- protocol: HTTPS
port: 443
Expand Down
3 changes: 2 additions & 1 deletion website/content/docs/api-gateway/configuration/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ This topic provides an overview of the configuration items that enable Consul AP
- [GatewayClass](/consul/docs/api-gateway/configuration/gatewayclass) defines a class of gateway resources that you can use as a template for creating gateways.
- [GatewayClassConfig](/consul/docs/api-gateway/configuration/gatewayclassconfig) describes additional Consul API Gateway-related configuration parameters for the GatewayClass resource.
- [Routes](/consul/docs/api-gateway/configuration/routes) specifies the path from the gateway to the backend service(s) client to the listener.
- [Intentions](/consul/docs/connect/config-entries/service-intentions) specify traffic communication rules between services in the mesh. Intentions also enforce rules for service-to-service traffic routed through a Consul API gateway.

You can create a basic Gateway object using the default [`gatewayClassName`](/consul/docs/api-gateway/configuration/gateway#gatewayclassname) (`consul-api-gateway`). If you want to create custom Gateways suitable for your environment, complete the following steps:
You can create a basic Gateway object using the default [`gatewayClassName`](/consul/docs/api-gateway/configuration/gateway#gatewayclassname) (`consul`). If you want to create custom Gateways suitable for your environment, complete the following steps:

1. Define a [GatewayClassConfig](/consul/docs/api-gateway/configuration/gatewayclassconfig) that contains your custom configurations.
1. Define a [GatewayClass](/consul/docs/api-gateway/configuration/gatewayclass) and configure the [`parametersRef.name`](/consul/docs/api-gateway/configuration/gatewayclass#parametersref-name) to reference the name of your [GatewayClassConfig](/consul/docs/api-gateway/configuration/gatewayclassconfig).
Expand Down
4 changes: 2 additions & 2 deletions website/content/docs/api-gateway/configuration/routes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The following example creates a route named `example-route` associated with a li
<CodeBlockConfig filename="routes.yaml">

```yaml
apiVersion: gateway.networking.k8s.io/v1alpha2
apiVersion: gateway.networking.k8s.io/v1beta1
kind: HTTPRoute
metadata:
name: example-route
Expand Down Expand Up @@ -132,7 +132,7 @@ The following example creates a route named `example-route` in namespace `gatewa
<CodeBlockConfig filename="route_with_referencegrant.yaml">

```yaml
apiVersion: gateway.networking.k8s.io/v1alpha2
apiVersion: gateway.networking.k8s.io/v1beta1
kind: HTTPRoute
metadata:
name: example-route
Expand Down
2 changes: 2 additions & 0 deletions website/content/docs/api-gateway/install.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ The Consul API gateway ships with Consul and is automatically installed when you
name: consul
connectInject:
enabled: true
apiGateway:
manageExternalCRDs: true
```
</CodeBlockConfig>
Expand Down
17 changes: 6 additions & 11 deletions website/content/docs/api-gateway/usage/usage.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,23 @@ This topic describes how to use Consul API Gateway.
Complete the following steps to use Consul API Gateway in your network.

1. Verify that the [requirements](/consul/docs/api-gateway/tech-specs) have been met.
1. Verify that the Consul API Gateway CRDs and controller have been installed and applied. Refer to [Installation](/consul/docs/api-gateway/install) for details.
1. Verify that the Consul API Gateway CRDs were applied. Refer to [Installation](/consul/docs/api-gateway/install) for details.

## Configuration

Configure your [`Gateway`](/consul/docs/api-gateway/configuration/gateway) and [`Routes`](/consul/docs/api-gateway/configuration/routes) as described in [Consul API Gateway Configuration](/consul/docs/api-gateway/configuration).
Configure the following resources for your environment as described in [Consul API Gateway Configuration](/consul/docs/api-gateway/configuration).

<CodeBlockConfig hideClipboard filename="values.yaml">
1. [`Gateway`](/consul/docs/api-gateway/configuration/gateway)
1. [`Routes`](/consul/docs/api-gateway/configuration/routes)
1. [`Intentions`](/consul/docs/connect/config-entries/service-intentions)

```yaml
apiGateway:
enabled: true
managedGatewayClass:
```
</CodeBlockConfig>

## Apply configurations

Issue the `kubectl apply` command to implement the configurations:

```shell-session
$ kubectl apply -f gateway.yaml routes.yaml
$ kubectl apply -f gateway.yaml routes.yaml intentions.yaml
```


Expand Down

0 comments on commit afcd8bf

Please sign in to comment.