Skip to content

Commit 7e8341b

Browse files
committed
Merge branch 'main' of https://github.com/envoyproxy/envoy into fix-windows-build
2 parents db16aa1 + 7b99308 commit 7e8341b

69 files changed

Lines changed: 709 additions & 1078 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CODEOWNERS

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,13 @@ extensions/filters/common/original_src @klarose @mattklein123
9191
# UDP packet writer
9292
/*/extensions/udp_packet_writer/ @danzh2010 @ryantheoptimist
9393
# redis cluster extension
94-
/*/extensions/clusters/redis @msukalski @henryyyang @mattklein123
94+
/*/extensions/clusters/redis @msukalski @henryyyang @mattklein123 @nezdolik @dinesh-murugiah
9595
# reverse conn cluster extension
9696
/*/extensions/clusters/reverse_connection @agrawroh @basundhara-c @botengyao @yanavlasov
97-
/*/extensions/common/redis @msukalski @henryyyang @mattklein123
98-
/*/extensions/health_checkers/redis @mattklein123 @UNOWNED
99-
/*/extensions/filters/network/redis_proxy @mattklein123 @UNOWNED
100-
/*/extensions/filters/network/common/redis @mattklein123 @UNOWNED
97+
/*/extensions/common/redis @msukalski @henryyyang @mattklein123 @nezdolik @dinesh-murugiah
98+
/*/extensions/health_checkers/redis @mattklein123 @nezdolik @dinesh-murugiah
99+
/*/extensions/filters/network/redis_proxy @mattklein123 @nezdolik @dinesh-murugiah
100+
/*/extensions/filters/network/common/redis @mattklein123 @nezdolik @dinesh-murugiah
101101
# dynamic forward proxy
102102
/*/extensions/clusters/dynamic_forward_proxy @mattklein123 @ryantheoptimist
103103
/*/extensions/common/dynamic_forward_proxy @mattklein123 @ryantheoptimist

api/envoy/admin/v3/server_info.proto

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ message ServerInfo {
5959
config.core.v3.Node node = 7;
6060
}
6161

62-
// [#next-free-field: 42]
62+
// [#next-free-field: 43]
6363
message CommandLineOptions {
6464
option (udpa.annotations.versioning).previous_message_type =
6565
"envoy.admin.v2alpha.CommandLineOptions";
@@ -161,6 +161,9 @@ message CommandLineOptions {
161161
// See :option:`--file-flush-interval-msec` for details.
162162
google.protobuf.Duration file_flush_interval = 16;
163163

164+
// See :option:`--file-flush-min-size-kb` for details.
165+
uint32 file_flush_min_size = 42;
166+
164167
// See :option:`--drain-time-s` for details.
165168
google.protobuf.Duration drain_time = 17;
166169

api/envoy/config/bootstrap/v3/bootstrap.proto

Lines changed: 92 additions & 79 deletions
Large diffs are not rendered by default.

api/envoy/config/core/v3/protocol.proto

Lines changed: 102 additions & 83 deletions
Large diffs are not rendered by default.

api/envoy/extensions/filters/common/set_filter_state/v3/value.proto

Lines changed: 46 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,55 @@ message FilterStateValue {
3232
oneof key {
3333
option (validate.required) = true;
3434

35-
// Filter state object key. The key is used to lookup the object factory, unless :ref:`factory_key
36-
// <envoy_v3_api_field_extensions.filters.common.set_filter_state.v3.FilterStateValue.factory_key>` is set. See
37-
// :ref:`the well-known filter state keys <well_known_filter_state>` for a list of valid object keys.
35+
// The name under which the filter state object will be stored and can be retrieved.
36+
//
37+
// When using :ref:`well-known filter state keys <well_known_filter_state>` (e.g.,
38+
// ``envoy.network.upstream_server_name``, ``envoy.tcp_proxy.cluster``), the object key serves
39+
// dual purpose where it identifies both where the data is stored and which factory creates the
40+
// object. In this case, :ref:`factory_key
41+
// <envoy_v3_api_field_extensions.filters.common.set_filter_state.v3.FilterStateValue.factory_key>`
42+
// is not needed.
43+
//
44+
// When using a custom key name which is not from the well-known list, you must also specify
45+
// :ref:`factory_key
46+
// <envoy_v3_api_field_extensions.filters.common.set_filter_state.v3.FilterStateValue.factory_key>`
47+
// to indicate which factory should create the object from your value.
48+
//
49+
// Example using a well-known key where ``factory_key`` is not needed:
50+
//
51+
// .. code-block:: yaml
52+
//
53+
// object_key: envoy.tcp_proxy.cluster
54+
// format_string:
55+
// text_format_source:
56+
// inline_string: "my-cluster"
57+
//
58+
// Example using a custom key which requires a ``factory_key``:
59+
//
60+
// .. code-block:: yaml
61+
//
62+
// object_key: my.custom.key
63+
// factory_key: envoy.string
64+
// format_string:
65+
// text_format_source:
66+
// inline_string: "my-value"
67+
//
3868
string object_key = 1 [(validate.rules).string = {min_len: 1}];
3969
}
4070

41-
// Optional filter object factory lookup key. See :ref:`the well-known filter state keys <well_known_filter_state>`
42-
// for a list of valid factory keys.
71+
// Specifies which registered factory should be used to create the filter state object from the
72+
// provided value. This field is required when :ref:`object_key
73+
// <envoy_v3_api_field_extensions.filters.common.set_filter_state.v3.FilterStateValue.object_key>`
74+
// is a custom name not found in the :ref:`well-known filter state keys <well_known_filter_state>`.
75+
//
76+
// Each well-known key has a factory registered with the same name (e.g., the key
77+
// ``envoy.tcp_proxy.cluster`` has a factory also named ``envoy.tcp_proxy.cluster``). For custom keys,
78+
// use one of the following generic factories:
79+
//
80+
// * ``envoy.string``: Creates a generic string object. Use this for arbitrary string values that
81+
// will be accessed via ``StringAccessor``.
82+
//
83+
// If not specified, defaults to the value of ``object_key``.
4384
string factory_key = 6;
4485

4586
oneof value {

api/envoy/extensions/filters/http/proto_api_scrubber/v3/config.proto

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,5 @@ message MessageRestrictions {
106106
// The restriction configuration.
107107
message RestrictionConfig {
108108
// Matcher tree for matching requests and responses with the configured restrictions.
109-
// NOTE: Currently, only CEL expressions are supported for matching. Support for more
110-
// matchers will be added incrementally overtime.
111109
xds.type.matcher.v3.Matcher matcher = 1;
112110
}

api/envoy/extensions/formatter/metadata/v3/metadata.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
2222
// * ROUTE
2323
// * UPSTREAM_HOST
2424
// * LISTENER
25+
// * LISTENER_FILTER_CHAIN
2526
// * VIRTUAL_HOST
2627
//
2728
// See :ref:`here <config_access_log>` for more information on access log configuration.

changelogs/current.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,9 @@ removed_config_or_runtime:
231231
Removed runtime guard ``envoy.reloadable_features.router_filter_resetall_on_local_reply`` and legacy code paths.
232232
233233
new_features:
234+
- area: server
235+
change: |
236+
Add new command-line option ``--file-flush-min-size-kb <integer>`` to configure the minimum size in kilobytes for log file flushing.
234237
- area: network_filter
235238
change: |
236239
Added :ref:`geoip network filter <config_network_filters_geoip>` to perform geolocation lookups
@@ -368,8 +371,7 @@ new_features:
368371
<arch_overview_wasm_foreign_functions>` for details.
369372
- area: redis
370373
change: |
371-
Optimized the ``INFO`` command to provide limited metrics with a consolidated cluster view and added ``INFO.SHARD``
372-
to retrieve shard-specific metrics.
374+
Moved the implementation of KEYS,SELECT,ROLE to the cluster scope command framework.
373375
- area: overload management
374376
change: |
375377
The fixed heap resource monitor can calculate memory pressure as currently allocated memory divided by maximum heap
@@ -541,6 +543,9 @@ new_features:
541543
requests to more backend servers. The filter supports fanout to multiple backends for initialize and tools-list requests,
542544
single-backend routing for tools-call based on tool name prefix, session management with composite session IDs,
543545
and response aggregation.
546+
- area: access_log
547+
change: |
548+
Added ``LISTENER_FILTER_CHAIN`` to the ``METADATA`` command operator to allow access to listener filter chain metadata.
544549
- area: ext_proc
545550
change: |
546551
Added per HTTP event :ref:'procesing effects <envoy.filters.http.ext_proc.ProcessingEffect' in the

ci/Dockerfile-buildkit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# We dont build from this dockerfile - we just parse the version, but storing
22
# here means we get the dependabot updates
3-
FROM moby/buildkit:v0.26.2
3+
FROM moby/buildkit:v0.26.3

docs/root/configuration/advanced/well_known_filter_state.rst

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,23 @@ configuration with a :ref:`factory lookup key
109109
<envoy_v3_api_field_extensions.filters.common.set_filter_state.v3.FilterStateValue.factory_key>`.
110110

111111
``envoy.string``
112-
A special generic string object factory. Accepts any string as its value.
112+
A generic string object factory for creating filter state entries with custom key names.
113+
Use this as the :ref:`factory_key
114+
<envoy_v3_api_field_extensions.filters.common.set_filter_state.v3.FilterStateValue.factory_key>`
115+
when your ``object_key`` is a custom name not listed in this document.
116+
117+
Example configuration:
118+
119+
.. code-block:: yaml
120+
121+
object_key: my.custom.key
122+
factory_key: envoy.string
123+
format_string:
124+
text_format_source:
125+
inline_string: "my-value"
126+
127+
This creates a filter state entry named ``my.custom.key`` containing the string ``my-value``.
128+
The value can be accessed in access logs using ``%FILTER_STATE(my.custom.key)%``.
113129

114130
``envoy.network.ip``
115131
A factory to create IP addresses from ``IPv4`` and ``IPv6`` address strings.

0 commit comments

Comments
 (0)