Skip to content

Commit 209a620

Browse files
Merge branch 'main' into least_request_lb_enable_full_scan_mode
Signed-off-by: Jared Kirschner <jkirschner@hashicorp.com>
2 parents 53ebe90 + 0edcdf8 commit 209a620

File tree

238 files changed

+5931
-2339
lines changed

Some content is hidden

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

238 files changed

+5931
-2339
lines changed

OWNERS.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ This page lists all active maintainers and their areas of expertise. This can be
66
routing PRs, questions, etc. to the right place.
77

88
# Senior maintainers
9+
<!--- If you modify senior maintainers list, please update the core-maintainers section of SECURITY-INSIGHTS.yml -->
910

1011
* Matt Klein ([mattklein123](https://github.com/mattklein123)) (mattklein123@gmail.com)
1112
* Catch-all, "all the things", and generally trying to make himself obsolete as fast as
@@ -33,6 +34,7 @@ routing PRs, questions, etc. to the right place.
3334
* Upstream, LB, tracing, logging, performance, and generic/dubbo proxy.
3435

3536
# Maintainers
37+
<!--- If you modify maintainers list, please update the core-maintainers section of SECURITY-INSIGHTS.yml -->
3638

3739
* Joshua Marantz ([jmarantz](https://github.com/jmarantz)) (jmarantz@google.com)
3840
* Stats, abseil, scalability, and performance.
@@ -76,7 +78,7 @@ without further review.
7678
* Otto van der Schaaf ([oschaaf](https://github.com/oschaaf)) (oschaaf@redhat.com)
7779
* Tim Walsh ([twghu](https://github.com/twghu)) (twalsh@redhat.com)
7880
* Pradeep Rao ([pradeepcrao](https://github.com/pradeepcrao)) (pcrao@google.com)
79-
* Kateryna Nezdolii ([nezdolik](https://github.com/nezdolik)) (nezdolik@spotify.com)
81+
* Kateryna Nezdolii ([nezdolik](https://github.com/nezdolik)) (kateryna.nezdolii@gmail.com)
8082
* Boteng Yao ([botengyao](https://github.com/botengyao)) (boteng@google.com)
8183
* Kevin Baichoo ([KBaichoo](https://github.com/KBaichoo)) (kbaichoo@google.com)
8284
* Tianyu Xia ([tyxia](https://github.com/tyxia)) (tyxia@google.com)

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ involved and how Envoy plays a role, read the CNCF
1010

1111
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1266/badge)](https://bestpractices.coreinfrastructure.org/projects/1266)
1212
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/envoyproxy/envoy/badge)](https://securityscorecards.dev/viewer/?uri=github.com/envoyproxy/envoy)
13+
[![CLOMonitor](https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/envoy/badge)](https://clomonitor.io/projects/cncf/envoy)
1314
[![Azure Pipelines](https://dev.azure.com/cncf/envoy/_apis/build/status/11?branchName=main)](https://dev.azure.com/cncf/envoy/_build/latest?definitionId=11&branchName=main)
1415
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/envoy.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:envoy)
1516
[![Jenkins](https://powerci.osuosl.org/buildStatus/icon?job=build-envoy-static-master&subject=ppc64le%20build)](https://powerci.osuosl.org/job/build-envoy-static-master/)

RELEASES.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,6 @@ envoy-dev@googlegroups.com
127127
envoy-maintainers@googlegroups.com -
128128
include in this email a link to the latest [release page](https://github.com/envoyproxy/envoy/releases) (ending in `tag/[version]`)
129129
* Announce in [#envoy-dev](https://envoyproxy.slack.com/archives/C78HA81DH) and [#envoy-users](https://envoyproxy.slack.com/archives/C78M4KW76) slack channels.
130-
* Make sure we tweet the new release: either have Matt do it or email social@cncf.io and ask them to do an Envoy account
131-
post.
132130

133131

134132
## Security release schedule

SECURITY-INSIGHTS.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
header:
2+
schema-version: '1.0.0'
3+
expiration-date: '2025-01-24T01:00:00.000Z'
4+
last-updated: '2024-01-24'
5+
last-reviewed: '2024-01-24'
6+
project-url: https://github.com/envoyproxy/envoy
7+
changelog: https://www.envoyproxy.io/docs/envoy/latest/version_history/version_history#version-history
8+
license: https://github.com/envoyproxy/envoy/blob/main/LICENSE
9+
project-lifecycle:
10+
status: active
11+
bug-fixes-only: false
12+
core-maintainers: # from https://github.com/envoyproxy/envoy/blob/main/OWNERS.md
13+
# Senior maintainers
14+
- github:mattklein123
15+
- github:htuch
16+
- github:alyssawilk
17+
- github:zuercher
18+
- github:lizan
19+
- github:ggreenway
20+
- github:yanavlasov
21+
- github:phlax
22+
- github:RyanTheOptimist
23+
- github:wbpcode
24+
# Maintainers
25+
- github:jmarantz
26+
- github:adisuissa
27+
- github:KBaichoo
28+
- github:keith
29+
- github:kyessenov
30+
- github:ravenblackx
31+
- github:soulxu
32+
- github:nezdolik
33+
contribution-policy:
34+
accepts-pull-requests: true
35+
accepts-automated-pull-requests: true
36+
code-of-conduct: https://github.com/envoyproxy/envoy/blob/main/CODE_OF_CONDUCT.md
37+
dependencies:
38+
third-party-packages: true
39+
dependencies-lists:
40+
- https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/security/external_deps
41+
env-dependencies-policy:
42+
policy-url: https://github.com/envoyproxy/envoy/blob/main/DEPENDENCY_POLICY.md
43+
distribution-points:
44+
- https://github.com/envoyproxy/envoy
45+
documentation:
46+
- https://www.envoyproxy.io/docs
47+
security-contacts:
48+
- type: email
49+
value: envoy-security@googlegroups.com
50+
security-testing:
51+
- tool-type: sca
52+
tool-name: Dependabot
53+
tool-version: latest
54+
integration:
55+
ad-hoc: false
56+
ci: true
57+
before-release: true
58+
- tool-type: sast
59+
tool-name: CodeQL
60+
tool-version: '2.13.4'
61+
integration:
62+
ad-hoc: false
63+
ci: true
64+
before-release: true
65+
vulnerability-reporting:
66+
accepts-vulnerability-reports: true
67+
security-policy: https://github.com/envoyproxy/envoy/security/policy

api/bazel/repository_locations.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,11 @@ REPOSITORY_LOCATIONS_SPEC = dict(
131131
project_name = "buf",
132132
project_desc = "A new way of working with Protocol Buffers.", # Used for breaking change detection in API protobufs
133133
project_url = "https://buf.build",
134-
version = "1.28.1",
135-
sha256 = "870cf492d381a967d36636fdee9da44b524ea62aad163659b8dbf16a7da56987",
134+
version = "1.29.0",
135+
sha256 = "1033f26361e6fc30ffcfab9d4e4274ffd4af88d9c97de63d2e1721c4a07c1380",
136136
strip_prefix = "buf",
137137
urls = ["https://github.com/bufbuild/buf/releases/download/v{version}/buf-Linux-x86_64.tar.gz"],
138-
release_date = "2023-11-15",
138+
release_date = "2024-01-24",
139139
use_category = ["api"],
140140
license = "Apache-2.0",
141141
license_url = "https://github.com/bufbuild/buf/blob/v{version}/LICENSE",

api/envoy/config/listener/v3/quic_config.proto

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
2424
// [#protodoc-title: QUIC listener config]
2525

2626
// Configuration specific to the UDP QUIC listener.
27-
// [#next-free-field: 10]
27+
// [#next-free-field: 11]
2828
message QuicProtocolOptions {
2929
option (udpa.annotations.versioning).previous_message_type =
3030
"envoy.api.v2.listener.QuicProtocolOptions";
@@ -77,4 +77,8 @@ message QuicProtocolOptions {
7777
// [#extension-category: envoy.quic.server_preferred_address]
7878
core.v3.TypedExtensionConfig server_preferred_address_config = 9
7979
[(xds.annotations.v3.field_status).work_in_progress = true];
80+
81+
// Configure the server to send transport parameter `disable_active_migration <https://www.rfc-editor.org/rfc/rfc9000#section-18.2-4.30.1>`_.
82+
// Defaults to false (do not send this transport parameter).
83+
google.protobuf.BoolValue send_disable_active_migration = 10;
8084
}

api/envoy/extensions/filters/http/ext_proc/v3/ext_proc.proto

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
2828
// **Current Implementation Status:**
2929
// All options and processing modes are implemented except for the following:
3030
//
31-
// * Dynamic metadata in responses from the external processor is ignored.
3231
// * "async mode" is not implemented.
3332

3433
// The filter communicates with an external gRPC service called an "external processor"
@@ -97,7 +96,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
9796
// <arch_overview_advanced_filter_state_sharing>` object in a namespace matching the filter
9897
// name.
9998
//
100-
// [#next-free-field: 16]
99+
// [#next-free-field: 17]
101100
message ExternalProcessor {
102101
// Configuration for the gRPC service that the filter will communicate with.
103102
// The filter supports both the "Envoy" and "Google" gRPC clients.
@@ -203,6 +202,35 @@ message ExternalProcessor {
203202
// Instead, the stream to the external processor will be closed. There will be no
204203
// more external processing for this stream from now on.
205204
bool disable_immediate_response = 15;
205+
206+
// Options related to the sending and receiving of dynamic metadata.
207+
MetadataOptions metadata_options = 16;
208+
}
209+
210+
// The MetadataOptions structure defines options for the sending and receiving of
211+
// dynamic metadata. Specifically, which namespaces to send to the server, whether
212+
// metadata returned by the server may be written, and how that metadata may be written.
213+
message MetadataOptions {
214+
message MetadataNamespaces {
215+
// Specifies a list of metadata namespaces whose values, if present,
216+
// will be passed to the ext_proc service as an opaque *protobuf::Struct*.
217+
repeated string untyped = 1;
218+
219+
// Specifies a list of metadata namespaces whose values, if present,
220+
// will be passed to the ext_proc service as a *protobuf::Any*. This allows
221+
// envoy and the external processing server to share the protobuf message
222+
// definition for safe parsing.
223+
repeated string typed = 2;
224+
}
225+
226+
// Describes which typed or untyped dynamic metadata namespaces to forward to
227+
// the external processing server.
228+
MetadataNamespaces forwarding_namespaces = 1;
229+
230+
// Describes which typed or untyped dynamic metadata namespaces to accept from
231+
// the external processing server. Set to empty or leave unset to disallow writing
232+
// any received dynamic metadata. Receiving of typed metadata is not supported.
233+
MetadataNamespaces receiving_namespaces = 2;
206234
}
207235

208236
// The HeaderForwardingRules structure specifies what headers are
@@ -245,7 +273,7 @@ message ExtProcPerRoute {
245273
}
246274

247275
// Overrides that may be set on a per-route basis
248-
// [#next-free-field: 6]
276+
// [#next-free-field: 7]
249277
message ExtProcOverrides {
250278
// Set a different processing mode for this route than the default.
251279
ProcessingMode processing_mode = 1;
@@ -266,4 +294,11 @@ message ExtProcOverrides {
266294

267295
// Set a different gRPC service for this route than the default.
268296
config.core.v3.GrpcService grpc_service = 5;
297+
298+
// Options related to the sending and receiving of dynamic metadata.
299+
// Lists of forwarding and receiving namespaces will be overridden in their entirety,
300+
// meaning the most-specific config that specifies this override will be the final
301+
// config used. It is the prerogative of the control plane to ensure this
302+
// most-specific config contains the correct final overrides.
303+
MetadataOptions metadata_options = 6;
269304
}

api/envoy/service/ext_proc/v3/external_processor.proto

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ service ExternalProcessor {
5656

5757
// This represents the different types of messages that Envoy can send
5858
// to an external processing server.
59-
// [#next-free-field: 8]
59+
// [#next-free-field: 9]
6060
message ProcessingRequest {
6161
// Specify whether the filter that sent this request is running in synchronous
6262
// or asynchronous mode. The choice of synchronous or asynchronous mode
@@ -91,30 +91,27 @@ message ProcessingRequest {
9191
// a BodyResponse message, an ImmediateResponse message, or close the stream.
9292
HttpBody request_body = 4;
9393

94-
// A chunk of the HTTP request body. Unless ``async_mode`` is ``true``, the server must send back
94+
// A chunk of the HTTP response body. Unless ``async_mode`` is ``true``, the server must send back
9595
// a BodyResponse message or close the stream.
9696
HttpBody response_body = 5;
9797

9898
// The HTTP trailers for the request path. Unless ``async_mode`` is ``true``, the server
9999
// must send back a TrailerResponse message or close the stream.
100100
//
101-
// This message is only sent if the trailers processing mode is set to ``SEND``.
102-
// If there are no trailers on the original downstream request, then this message
103-
// will only be sent (with empty trailers waiting to be populated) if the
104-
// processing mode is set before the request headers are sent, such as
105-
// in the filter configuration.
101+
// This message is only sent if the trailers processing mode is set to ``SEND`` and
102+
// the original downstream request has trailers.
106103
HttpTrailers request_trailers = 6;
107104

108105
// The HTTP trailers for the response path. Unless ``async_mode`` is ``true``, the server
109106
// must send back a TrailerResponse message or close the stream.
110107
//
111-
// This message is only sent if the trailers processing mode is set to ``SEND``.
112-
// If there are no trailers on the original downstream request, then this message
113-
// will only be sent (with empty trailers waiting to be populated) if the
114-
// processing mode is set before the request headers are sent, such as
115-
// in the filter configuration.
108+
// This message is only sent if the trailers processing mode is set to ``SEND`` and
109+
// the original upstream response has trailers.
116110
HttpTrailers response_trailers = 7;
117111
}
112+
113+
// Dynamic metadata associated with the request.
114+
config.core.v3.Metadata metadata_context = 8;
118115
}
119116

120117
// For every ProcessingRequest received by the server with the ``async_mode`` field
@@ -158,9 +155,9 @@ message ProcessingResponse {
158155
ImmediateResponse immediate_response = 7;
159156
}
160157

161-
// [#not-implemented-hide:]
162-
// Optional metadata that will be emitted as dynamic metadata to be consumed by the next
163-
// filter. This metadata will be placed in the namespace ``envoy.filters.http.ext_proc``.
158+
// Optional metadata that will be emitted as dynamic metadata to be consumed by
159+
// following filters. This metadata will be placed in the namespace(s) specified by the top-level
160+
// field name(s) of the struct.
164161
google.protobuf.Struct dynamic_metadata = 8;
165162

166163
// Override how parts of the HTTP request and response are processed

bazel/repository_locations.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1506,11 +1506,11 @@ REPOSITORY_LOCATIONS_SPEC = dict(
15061506
project_name = "rules_license",
15071507
project_desc = "Bazel rules for checking open source licenses",
15081508
project_url = "https://github.com/bazelbuild/rules_license",
1509-
version = "0.0.7",
1510-
sha256 = "4531deccb913639c30e5c7512a054d5d875698daeb75d8cf90f284375fe7c360",
1509+
version = "0.0.8",
1510+
sha256 = "241b06f3097fd186ff468832150d6cc142247dc42a32aaefb56d0099895fd229",
15111511
urls = ["https://github.com/bazelbuild/rules_license/releases/download/{version}/rules_license-{version}.tar.gz"],
15121512
use_category = ["build", "dataplane_core", "controlplane"],
1513-
release_date = "2023-06-16",
1513+
release_date = "2024-01-24",
15141514
cpe = "N/A",
15151515
license = "Apache-2.0",
15161516
license_url = "https://github.com/bazelbuild/rules_license/blob/{version}/LICENSE",

changelogs/1.29.0.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,6 @@ bug_fixes:
173173
setting. The OAuth spec does not dictate that an authorization server must respond with an expiry. Envoy currently
174174
fails any OAuth flow if the expiry is not set. This setting allows you to provide a default in this case to ensure
175175
the OAuth flow can succeed.
176-
- area: postgres proxy
177-
change: |
178-
Fix a race condition that may result from upstream servers refusing to switch to TLS.
179176
180177
removed_config_or_runtime:
181178
- area: http

0 commit comments

Comments
 (0)