backport of commit 2ca51448e869cec0b3091dd602fa6bae72607f0a (#17698)

Co-authored-by: Chris Thain <chris.m.thain@gmail.com>
This commit is contained in:
hc-github-team-consul-core 2023-06-13 11:36:31 -04:00 committed by GitHub
parent 6e63d9de91
commit cfcca82218
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 33 deletions

View File

@ -17,7 +17,7 @@ The following list outlines the field hierarchy, data types, and requirements fo
Click on a property name to view additional details, including default values.
- [`ProxyType`](#proxytype): string | required
- [`ProxyType`](#proxytype): string | `connect-proxy`
- [`Debug`](#debug): bool | `false`
- [`Patches`](#patches): list | required
- [`ResourceFilter`](#patches-resourcefilter): map
@ -69,7 +69,6 @@ Specifies the type of Envoy proxy that the extension applies to. The only suppor
#### Values
- Default: `connect-proxy`
- This field is required.
- Data type: String
### `Debug`

View File

@ -15,11 +15,9 @@ Envoy filters support setting and getting dynamic metadata, allowing a filter to
To use the Lua Envoy extension, configure the following arguments in the `EnvoyExtensions` block:
| Arguments | Description |
| -------------- | ------------------------------------------------------------------------------------------------ |
| `ProxyType` | Determines the proxy type the extension applies to. The only supported value is `connect-proxy`. |
| `ListenerType` | Specifies if the extension is applied to the `inbound` or `outbound` listener. |
| `Script` | The Lua script that is configured to run by the HTTP Lua filter. |
- `ProxyType`: string | `connect-proxy` - Determines the proxy type the extension applies to. The only supported value is `connect-proxy`.
- `ListenerType`: string | required - Specifies if the extension is applied to the `inbound` or `outbound` listener.
- `Script`: string | required - The Lua script that is configured to run by the HTTP Lua filter.
## Workflow
@ -49,7 +47,6 @@ Name = "global"
Protocol = "http"
EnvoyExtensions {
Name = "builtin/lua"
Arguments = {
ProxyType = "connect-proxy"
Listener = "inbound"
@ -159,7 +156,7 @@ $ kubectl apply lua-envoy-extension-proxy-defaults.yaml
In the following example, the `service-defaults` configure the Lua Envoy extension to insert the HTTP Lua filter for service `myservice` and add the Consul service name to the`x-consul-service` header for all inbound requests. The `ListenerType` makes it so that the extension applies only on the inbound listener of the service's connect proxy.
<CodeBlockConfig filename="lua-envoy-extension.json">
<CodeBlockConfig filename="lua-envoy-extension.hcl">
```hcl
Kind = "service-defaults"
@ -188,7 +185,7 @@ Alternatively, you can apply the same extension configuration to [`proxy-default
You can also specify multiple Lua filters through the Envoy extensions. They will not override each other.
<CodeBlockConfig filename="lua-envoy-extension.json">
<CodeBlockConfig filename="lua-envoy-extension.hcl">
```hcl
Kind = "service-defaults"

View File

@ -39,21 +39,23 @@ EnvoyExtensions = [
{
Name = "builtin/property-override"
Arguments = {
ProxyType = "connect-proxy",
ProxyType = "connect-proxy"
Patches = [
{
ResourceFilter = {
ResourceType = "cluster",
ResourceType = "cluster"
TrafficDirection = "outbound"
Services = [{
Name = "other-svc"
}],
}]
}
Op = "add"
Path = "/upstream_connection_options/tcp_keepalive/keepalive_probes",
Value = 5,
Path = "/upstream_connection_options/tcp_keepalive/keepalive_probes"
Value = 5
}
]
}
}
]
```
</CodeBlockConfig>