You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are several use cases in Envoy when we need to iterate over a list of items and match each item individually:
selecting the first ALPN for which a nested filter chain matcher accepts;
matching an item in DNS SAN list in a TLS cert;
matching an IP value in XFF header.
Ideally, we want to support all existing matchers for these use cases, instead of adapting all matchers to expect a list.
How should we define this in xds?
Option 1: Add a common input that takes another input and produces an iterator of data items. This requires some changes in the implementations to return an iterator for data inputs.
Option 2: Add a custom matcher that takes another matcher as input. The nested matcher can be any of string, custom input, prefix map, exact map, or custom sub-linear matcher. The custom matcher parses the input and then attempts to match elements one by one.
There are several use cases in Envoy when we need to iterate over a list of items and match each item individually:
Ideally, we want to support all existing matchers for these use cases, instead of adapting all matchers to expect a list.
How should we define this in xds?
Option 1: Add a common input that takes another input and produces an iterator of data items. This requires some changes in the implementations to return an iterator for data inputs.
Option 2: Add a custom matcher that takes another matcher as input. The nested matcher can be any of string, custom input, prefix map, exact map, or custom sub-linear matcher. The custom matcher parses the input and then attempts to match elements one by one.
Ref: envoyproxy/envoy#20666
The text was updated successfully, but these errors were encountered: