Composite (proto)
This extension has the qualified name envoy.filters.http.composite
Note
This extension has an unknown security posture and should only be used in deployments where both the downstream and upstream are trusted.
Tip
This extension extends and can be used with the following extension categories:
This extension must be configured with one of the following type URLs:
Composite Filter configuration overview.
extensions.filters.http.composite.v3.Composite
[extensions.filters.http.composite.v3.Composite proto]
Composite filter config. The composite filter config allows delegating filter handling to another filter as determined by matching on the request headers. This makes it possible to use different filters or filter configurations based on the incoming request.
This is intended to be used with ExtensionWithMatcher where a match tree is specified that indicates (via ExecuteFilterAction) which filter configuration to create and delegate to.
{
"named_filter_chains": {...}
}
- named_filter_chains
(repeated map<string, extensions.filters.http.composite.v3.FilterChainConfiguration>) Named filter chain definitions that can be referenced from ExecuteFilterAction.filter_chain_name. The filter chains are compiled at configuration time and can be referenced by name. This is useful when the same filter chain needs to be applied across many routes, as it avoids duplicating the filter chain configuration.
extensions.filters.http.composite.v3.FilterChainConfiguration
[extensions.filters.http.composite.v3.FilterChainConfiguration proto]
A list of filter configurations to be called in order. Note that this can be used as the type inside of an ECDS TypedExtensionConfig extension, which allows a chain of filters to be configured dynamically. In that case, the types of all filters in the chain must be present in the ExtensionConfigSource.type_urls field.
{
"typed_config": []
}
- typed_config
(repeated config.core.v3.TypedExtensionConfig)
extensions.filters.http.composite.v3.DynamicConfig
[extensions.filters.http.composite.v3.DynamicConfig proto]
Configuration for an extension configuration discovery service with name.
{
"name": ...,
"config_discovery": {...}
}
- name
(string, REQUIRED) The name of the extension configuration. It also serves as a resource name in ExtensionConfigDS. The resource type in the
DiscoveryRequestwill be TypedExtensionConfig.
- config_discovery
(config.core.v3.ExtensionConfigSource) Configuration source specifier for an extension configuration discovery service. In case of a failure and without the default configuration, 500(Internal Server Error) will be returned.
extensions.filters.http.composite.v3.ExecuteFilterAction
[extensions.filters.http.composite.v3.ExecuteFilterAction proto]
Composite match action (see matching docs for more info on match actions). This specifies the filter configuration of the filter that the composite filter should delegate filter interactions to.
{
"typed_config": {...},
"dynamic_config": {...},
"filter_chain": {...},
"filter_chain_name": ...,
"sample_percent": {...}
}
- typed_config
(config.core.v3.TypedExtensionConfig) Filter specific configuration which depends on the filter being instantiated. See the supported filters for further documentation. Only one of
typed_config,dynamic_config,filter_chain, orfilter_chain_namecan be set.Tip
This extension category has the following known extensions:
The following extensions are available in contrib images only:
- dynamic_config
(extensions.filters.http.composite.v3.DynamicConfig) Dynamic configuration of filter obtained via extension configuration discovery service. Only one of
typed_config,dynamic_config,filter_chain, orfilter_chain_namecan be set.
- filter_chain
(extensions.filters.http.composite.v3.FilterChainConfiguration) An inlined list of filter configurations. The specified filters will be executed in order. Only one of
typed_config,dynamic_config,filter_chain, orfilter_chain_namecan be set.
- filter_chain_name
(string) The name of a filter chain defined in Composite.named_filter_chains. At runtime, if the named filter chain is not found in the Composite filter’s configuration, no filter will be applied for this match (the action is silently skipped). Only one of
typed_config,dynamic_config,filter_chain, orfilter_chain_namecan be set.
- sample_percent
(config.core.v3.RuntimeFractionalPercent) Probability of the action execution. If not specified, this is 100%. This allows sampling behavior for the configured actions. For example, if default_value under the
sample_percentis configured with 30%, a dice roll with that probability is done. The underline action will only be executed if the dice roll returns positive. Otherwise, the action is skipped.