From 8da8c0bfe76470ee13d247dc69d2bc360ca0c6b1 Mon Sep 17 00:00:00 2001 From: Guilherme Cassolato Date: Tue, 22 Aug 2023 11:02:46 +0200 Subject: [PATCH] Wasm and proxy config attributes moved to future possibilities --- rfcs/0000-well-known-attributes.md | 316 ++++++++++++++--------------- 1 file changed, 158 insertions(+), 158 deletions(-) diff --git a/rfcs/0000-well-known-attributes.md b/rfcs/0000-well-known-attributes.md index 34030631..de30badc 100644 --- a/rfcs/0000-well-known-attributes.md +++ b/rfcs/0000-well-known-attributes.md @@ -79,8 +79,6 @@ The next sections specify the well-known attributes organized in the following g - [Metadata and filter state attributes](#metadata-and-filter-state-attributes) - [Auth attributes](#auth-attributes) - [Rate-limit attributes](#rate-limit-attributes) -- [Wasm attributes](#wasm-attributes) -- [Proxy configuration attributes](#proxy-configuration-attributes) ## Request attributes @@ -517,161 +515,6 @@ The following attributes are exclusive of the rate-limiting service (Limitador). -## Wasm attributes - -The following are attributes only available to Wasm extensions. They were all prefixed with `wasm.` compared to how defined in the [Envoy attributes](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes#wasm-attributes), to provide a better namespace. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Attribute

Type

Description

Auth

RL

wasm.plugin_name

String

Plugin name

wasm.plugin_root_id

String

Plugin root ID

wasm.plugin_vm_id

String

Plugin VM ID

wasm.node

Node

Local node description

wasm.cluster_name

String

Upstream cluster name

wasm.cluster_metadata

Metadata

Upstream cluster metadata

wasm.listener_direction

Number

Enumeration value of the listener traffic direction

wasm.listener_metadata

Metadata

Listener metadata

wasm.route_name

String

Route name

wasm.route_metadata

Metadata

Route metadata

wasm.upstream_host_metadata

Metadata

Upstream host metadata

- -## Proxy configuration attributes - -_(These attributes need confirmation if they are all actually available to be requested by the Wasm-shim.)_ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Attribute

Type

Description

Auth

RL

xds.cluster_name

String

Upstream cluster name

xds.cluster_metadata

Metadata

Upstream cluster metadata

xds.route_name

String

Route name

xds.route_metadata

Metadata

Route metadata

xds.upstream_host_metadata

Metadata

Upstream host metadata

xds.filter_chain_name

String

Listener filter chain name

- # Drawbacks [drawbacks]: #drawbacks @@ -722,4 +565,161 @@ Another experience learned from Authorino's Authorization JSON selectors is that - `request.param.my-param` - `connection.secure` -2. Add some support for value modifiers (functions), along the lines of Authorino's [JSON path modifiers](https://github.com/Kuadrant/authorino/blob/main/docs/features.md#string-modifiers) and/or Envoy attributes' [path expressions](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes#path-expressions). +2. Other Envoy attributes + +
+ Wasm attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Attribute

Type

Description

Auth

RL

wasm.plugin_name

String

Plugin name

wasm.plugin_root_id

String

Plugin root ID

wasm.plugin_vm_id

String

Plugin VM ID

wasm.node

Node

Local node description

wasm.cluster_name

String

Upstream cluster name

wasm.cluster_metadata

Metadata

Upstream cluster metadata

wasm.listener_direction

Number

Enumeration value of the listener traffic direction

wasm.listener_metadata

Metadata

Listener metadata

wasm.route_name

String

Route name

wasm.route_metadata

Metadata

Route metadata

wasm.upstream_host_metadata

Metadata

Upstream host metadata

+
+ +
+ Proxy configuration attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Attribute

Type

Description

Auth

RL

xds.cluster_name

String

Upstream cluster name

xds.cluster_metadata

Metadata

Upstream cluster metadata

xds.route_name

String

Route name

xds.route_metadata

Metadata

Route metadata

xds.upstream_host_metadata

Metadata

Upstream host metadata

xds.filter_chain_name

String

Listener filter chain name

+
+ +3. Add some support for value modifiers (functions), along the lines of Authorino's [JSON path modifiers](https://github.com/Kuadrant/authorino/blob/main/docs/features.md#string-modifiers) and/or Envoy attributes' [path expressions](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes#path-expressions).