Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
513 commits
Select commit Hold shift + click to select a range
c0a39b8
mobile: flag guard the IP-reserved range filtering in the IPv6 check …
abeyad Aug 20, 2025
bf2c671
ci: support variable number of CPUs for building (#39701)
leonematt Aug 20, 2025
f544615
udp_proxy: Fix crash during ENVOY_SIGTERM (#40677)
IssaAbuKalbein Aug 20, 2025
f411d0f
get local branch up to date with downstream int changes
basundhara-c Aug 20, 2025
d3345b5
sync changes from reverse_connection_upstream_int
basundhara-c Aug 20, 2025
4a94472
Sync changes from reverse_conn_cluster
basundhara-c Aug 20, 2025
64f698b
Sync changes from origin/reverse_conn_http_filter
basundhara-c Aug 20, 2025
90b7e05
docs: enhance dev container documentation with comprehensive setup gu…
prashanthjos Aug 21, 2025
f4ae9d9
rlqs: Persist rate_limit_quota filter state & centralize filters to s…
bsurber Aug 21, 2025
7ebdf6d
tls inspector test: change the test description for ContinueOnListene…
botengyao Aug 21, 2025
4e2078d
aws: preserve plus sign intent inside query parameters (#40619)
nbaws Aug 21, 2025
618e448
aws: assumerole missing protobuf validations (#40273)
nbaws Aug 21, 2025
0c7818d
Use uint64_t for buffer watermark values (#40745)
yanavlasov Aug 22, 2025
1c1fc14
reverse conn upstream interface: split into different classes
basundhara-c Aug 22, 2025
87afb50
reverse conn downstream interface changes
basundhara-c Aug 22, 2025
cb7589f
reverse conn cluster changes
basundhara-c Aug 22, 2025
3503800
reverse conn listener filter changes
basundhara-c Aug 22, 2025
933ae17
reverse conn http filter changes
basundhara-c Aug 22, 2025
4fa5cdd
formatting files and test network filter
basundhara-c Aug 22, 2025
8c03b2a
ext_authz: add grpc_service field on the per-route filter (#40169)
agrawroh Aug 22, 2025
6e335cf
generic proxy: add onDownstreamConnected() callback to ServerCodec (#…
kralicky Aug 22, 2025
b6ac394
rate-limit: Unconditionally set request headers in decodeHeaders call…
pradeepcrao Aug 22, 2025
9b71b5a
upstream: introduce new drain behavior DrainExistingNonMigratableConn…
danzh2010 Aug 22, 2025
960c1c4
Revert "ext_authz: add grpc_service field on the per-route filter (#4…
phlax Aug 24, 2025
efc22a8
Merge remote-tracking branch 'upstream/main' into feat-rev-conns-new
basundhara-c Aug 24, 2025
bcd4136
revert reverse_conn_force_local_reply to runtime guard
basundhara-c Aug 25, 2025
2ddc853
remove moveSocket() API
basundhara-c Aug 25, 2025
9d82887
reverse conn http filter: remove moveSocket() API
basundhara-c Aug 25, 2025
e74cbcc
nits
basundhara-c Aug 25, 2025
c14c2bb
Reapply "ext_authz: add grpc_service field on the per-route filter" (…
agrawroh Aug 25, 2025
6f60395
reverse conn downstream int: changes and fixing comments
basundhara-c Aug 25, 2025
1eeffef
Transport Tap/Buffered trace - Submit captured transport streamed tra…
Aug 25, 2025
6fde43c
upstream: clarify docs for PrioritySet update callbacks (#40850)
ggreenway Aug 25, 2025
9e15fa9
fix ConnectedStateValue enum to have proper enum case (#40845)
ramaraochavali Aug 25, 2025
676c276
Docs: Overload Manager clarify docs (#40852)
KBaichoo Aug 25, 2025
2259b4a
Set larger request buffer size if configured (#40849)
yanavlasov Aug 26, 2025
d9e0412
oauth2: fix passthrough logic to avoid modifying request when skippin…
ggmoy Aug 26, 2025
853488b
Use gmock mock functions for testing callbacks (#40813)
ravenblackx Aug 26, 2025
9bd5745
userspace socket: allow providing an existing PassthroughState when c…
kralicky Aug 26, 2025
0b431b3
json-fuzz: prevent large size inputs (#40855)
adisuissa Aug 26, 2025
2e7cdb1
deps: upgrading GO to v1.24.6 in dependency_imports.bzl (#40860)
adisuissa Aug 26, 2025
55f9657
ci: Temporarily disable CVE test (broken cache) (#40862)
phlax Aug 26, 2025
37521e1
dynamic_modules: make sure rust's new_http_filter entrypoint matches …
wtzhang23 Aug 27, 2025
2eebe6d
Update QUICHE from 2013a0735 to 1c35d6308 (#40848)
vanessareimer Aug 27, 2025
ab5d249
quic: more logging for encodeHeader() called on write closed stream …
danzh2010 Aug 27, 2025
d552b66
add override knob for stream flush timeout (#40811)
antoniovleonti Aug 27, 2025
5591191
cel: ensure proper lifetimes (#40749)
kyessenov Aug 27, 2025
a0c8340
dns: adding support for edns0 size customisation via envoy filters (#…
kishor7007 Aug 27, 2025
35e4745
network: centralize IP parsing and unify on getaddrinfo() to avoid ci…
agrawroh Aug 27, 2025
9468558
downstream interface changes and fixes
basundhara-c Aug 25, 2025
81aa21a
cherry-pick move handshake proto out of API
basundhara-c Aug 25, 2025
015a957
envoy core: remove moveSocket() API
basundhara-c Aug 25, 2025
57ed0f1
Nit in bootstrap.rst and connection_impl_test
basundhara-c Aug 26, 2025
2d37141
Move classes and tests into separate files
basundhara-c Aug 26, 2025
318af79
split classes into separate files, separate upstream files into its o…
basundhara-c Aug 22, 2025
d28e5f3
Fix format and cleanup imports
basundhara-c Aug 23, 2025
0d70745
Move extra files to backup_files dir
basundhara-c Aug 27, 2025
025dc09
Merge remote-tracking branch 'upstream/main' into feat-rev-conns-new
basundhara-c Aug 27, 2025
db2a366
chore: rename tasks_example.json (#40844)
zirain Aug 28, 2025
69a0193
mobile: decouple DNS refresh and explicit pool drain upon network cha…
danzh2010 Aug 28, 2025
0685d7b
ext_proc: propagate detailed GRPC status for fail open (#40808)
melginaldi Aug 28, 2025
d44ec3b
bootstrap: add reverse tunnel socket interface extension for upstream…
basundhara-c Aug 29, 2025
ee9d3b1
composite: allow filters to be added on encode path (#40800)
leonm1 Aug 29, 2025
01a229f
reverse conn http filter: fix imports
basundhara-c Aug 29, 2025
531f264
test commit: network filter
basundhara-c Aug 29, 2025
a352bd7
reverse conn cluster: fix imports
basundhara-c Aug 29, 2025
dbd3b30
fix imports
basundhara-c Aug 29, 2025
d7b2be8
maxmind geoip provider: add gauge to track database creation timestam…
alexnsu Aug 29, 2025
3c50075
Replace more ReadyWatchers with MockFunction (#40858)
ravenblackx Aug 29, 2025
25f893b
router: fix a bug where header mutations may not be processed properl…
wbpcode Aug 29, 2025
1dd0f72
aws: weak_ptr implementations for race condition crash (#40817)
nbaws Aug 29, 2025
30cccff
thrift_proxy: simply propagate exception while downstream connection …
JuniorHsu Aug 29, 2025
5deb153
Replace c-ares with getaddrinfo DNS resolver in RBAC filter integrati…
yanjunxiang-google Aug 29, 2025
d01f42d
Replace c-ares with getaddrinfo DNS resolver in ext_authz filter inte…
yanjunxiang-google Aug 29, 2025
ea47882
Replace c-ares with getaddrinfo DNS resolver in sni_dynamic_forward_p…
yanjunxiang-google Aug 29, 2025
f384ab2
More ReadyWatchers to MockFunction in test (#40897)
ravenblackx Aug 29, 2025
9dec4de
api_listener: improve test coverage (#40898)
agrawroh Sep 2, 2025
48ea1f1
chore: set response code details to oauth2 filter 401 local response …
zhaohuabing Sep 2, 2025
8119b98
OAuth2: relax the token endpoint cluster validation in the OAuth2 fil…
zhaohuabing Sep 2, 2025
9f3eca3
docker/ci: Fix debug publishing (#40923)
phlax Sep 2, 2025
5c49d9e
docker/publishing: Minor fix (#40926)
phlax Sep 2, 2025
46313ac
stats: fix a bug where the prometheus name of ssl certificate stats a…
wbpcode Sep 2, 2025
88b397f
addressed comments from @yanavlasov
agrawroh Aug 30, 2025
a9c654e
lb: add a new field to use host weight in zone aware lb (#39803)
cqi1217 Sep 2, 2025
77e7493
ext_authz: validate OkResponse header append actions (#40650)
antoniovleonti Sep 2, 2025
f9a24c0
oauth2: add Secure attribute for prefixed cookies on signout
tonya11en Jul 25, 2025
a3f6c1c
Fixed an UAF in DNS cache (#1709)
yanavlasov Aug 11, 2025
d5bfb77
docs: clarify http cache filter architecture and document filesystem …
reninjohn Sep 3, 2025
b553edc
More ReadyWatcher to MockFunction cleanup (#40900)
ravenblackx Sep 3, 2025
baca791
Add dynamic metadata for TLS inspector filter errors (#40529)
eziskind Sep 3, 2025
55a2ea5
deps: update gperftools from 2.10 to 2.17.2 (#40909)
mmorel-35 Sep 3, 2025
8e917c5
weighted cluster: add header mutation integrations tests for weighted…
botengyao Sep 3, 2025
269a722
grpc_web: fixes response content length handling (#40804)
jroper Sep 3, 2025
be135e0
Replace c-ares with getaddrinfo DNS resolver in connect_integration_t…
yanjunxiang-google Sep 4, 2025
82c1a44
filter: add runtime flag to force an immediate local reply (#40259)
basundhara-c Sep 4, 2025
b019a7e
tls: future-proof UnsupportedCurveEcdsaCert's test expectation (#40962)
davidben Sep 4, 2025
cbb0cf6
docker/release: Fix distroless hash to use nonroot (#40956)
phlax Sep 4, 2025
3f791c8
test: replace c-ares with getaddrinfo DNS resolver in protocol integr…
yanjunxiang-google Sep 4, 2025
c32d7b1
tls: fix no_extension_cert.pem (#40990)
davidben Sep 4, 2025
0e8c5f0
ext_proc: increasing tracing integration test timeout to be 1s to avo…
yanjunxiang-google Sep 5, 2025
9be163f
dynamic_modules: add support for user-defined metrics (#40661)
isker Sep 5, 2025
b8583e6
chore: add docs for SNI DFP and some tests for testing stats emission…
agrawroh Sep 5, 2025
f86b091
ratelimits: to support apply on stream done at filter config (#40986)
wbpcode Sep 5, 2025
efa7b43
Ext/Filter/http/Tap: Record the upstream connection information in th…
Sep 5, 2025
831ba5b
Update QUICHE from 1c35d6308 to 4f1f0fcea (#40959)
asedeno Sep 5, 2025
fbf85ab
Move RCConnectionWrapper out and small changes
basundhara-c Sep 5, 2025
a8f2974
http filter changes
basundhara-c Sep 5, 2025
c1dce98
format files
basundhara-c Sep 5, 2025
7bbfd62
changelog: fix typos in the current changelogs and clean them up (#40…
agrawroh Sep 5, 2025
1d15ff7
ci: Don't run toolchain-test in non-envoy repos (#40996)
tedjpoole Sep 5, 2025
7ced9f4
fix: fix substitution formatter for header mutation (#40905)
wbpcode Sep 5, 2025
0043eb0
Revert "chore: add docs for SNI DFP and some tests for testing stats …
kyessenov Sep 5, 2025
d812698
docs: add docs for SNI DFP mentioning the stats emission (#41007)
agrawroh Sep 5, 2025
db557ab
repo: Sync version histories
publish-envoy[bot] Sep 8, 2025
4c10f38
test: add tests for SNI DFP DNS Cache stats emission (#41008)
agrawroh Sep 8, 2025
f2c994b
zipkin: add custom headers support for collector requests (#40863)
prashanthjos Sep 9, 2025
cf26a92
http-tap: gracefully handle request termination (#40907)
sukolenvo Sep 9, 2025
e98d22f
xds-federation: introduce OD-CDS xds-federation support (#40988)
adisuissa Sep 9, 2025
73535ee
Dns filter: Support bootstrap default DNS resolver config if filter c…
yanjunxiang-google Sep 9, 2025
398d23e
tls: Const-correct some uses of X509 API (#41022)
davidben Sep 9, 2025
6b7fe64
Replace c-ares with getaddrinfo DNS resolver in DNS filter integratio…
yanjunxiang-google Sep 10, 2025
a2a7519
Update QUICHE from 4f1f0fcea to 6caf568e7 (#41035)
RyanTheOptimist Sep 10, 2025
9b0083a
build(deps): bump github/codeql-action from 3.29.2 to 3.30.2 (#41037)
dependabot[bot] Sep 10, 2025
cb8ea89
tracing: resolve potential lifetime problem of zipkin tracer (#41036)
wbpcode Sep 10, 2025
2e64f20
async stream options: use shared pointer for pased retry policy (#41012)
wbpcode Sep 10, 2025
357f4b1
bootstrap: add reverse tunnel socket interface extension for downstre…
basundhara-c Sep 10, 2025
98bf5de
dns: adding c-ares DNS resolving integration test under extension spe…
yanjunxiang-google Sep 10, 2025
0f7d63e
changelog: Add for docker/distroless fix (#40980)
phlax Sep 10, 2025
9a5db8a
network: add additional methods on connection management interface (#…
agrawroh Sep 11, 2025
60b8933
quic: Clarify that EnvoyQuicServerConnection never owns the passed-in…
RyanTheOptimist Sep 11, 2025
c297478
quic: IWYU in envoy_quic_utils.cc (#41042)
dmcardle Sep 11, 2025
51a47f6
stats: allow changing nbins in circllhist (#40991)
kyessenov Sep 11, 2025
d470caf
odcds: add a test that ODCDS with EDS using xds-federation works (#41…
adisuissa Sep 12, 2025
dc30831
deps: Update absl to 20250814.0 (#41050)
yanavlasov Sep 12, 2025
197038e
generic proxy add upstream span error tag (#40970)
StarryVae Sep 12, 2025
e06aa8e
tcp_proxy: add support for generating request ID for tunneling (#40815)
agrawroh Sep 12, 2025
4f36eb9
deps: Bump `com_github_axboe_liburing` -> 2.12 (#41064)
dependency-envoy[bot] Sep 12, 2025
2d0ec36
Use mutex reference in lock constructors (#41058)
yanavlasov Sep 12, 2025
564612e
Revert "async stream options: use shared pointer for pased retry poli…
wbpcode Sep 12, 2025
d88583d
tools: fix compilation errors and make debug config generation generi…
prashanthjos Sep 15, 2025
5293d89
filter: reverse tunnel network filter
agrawroh Sep 6, 2025
96d29f0
Update cloud-envoy.yaml to use reverse tunnel network filter
basundhara-c Sep 15, 2025
7aadab9
Merge remote-tracking branch 'upstream/main' into feat-rev-conns-new
basundhara-c Sep 15, 2025
422584c
cel: add a useful re.extract test as example (#41080)
wbpcode Sep 15, 2025
f8555ce
Update QUICHE from 6caf568e7 to c84d87b70 (#41083)
Rickyp Sep 15, 2025
8b55883
dynamic modules: support metrics with labels by defining metric vecto…
wtzhang23 Sep 15, 2025
c858b22
remove setSocketReused flag and detach http filter
basundhara-c Sep 16, 2025
f3c6782
Changes to reverse tunnel network filter
basundhara-c Sep 16, 2025
566f5a3
health-check: avoid NaN cluster_min_healthy_percentages in health_che…
yanjunxiang-google Sep 16, 2025
f788171
Move Locality WRR schedulers out of HostSetImpl (#40682)
paul-r-gall Sep 16, 2025
f0ea3c7
logs: remove unused tls delegate (#41054)
kyessenov Sep 16, 2025
a188806
tools: update notifier script to handle calendar fetching and parsing…
adisuissa Sep 16, 2025
0c2fce1
tools: update the notifier tool calendar link (#41100)
adisuissa Sep 16, 2025
566b192
response decoder: add new interfaces for life time tracking of respon…
danzh2010 Sep 17, 2025
d8c394c
shadow: clean up for the streaming shadow requests runtime (#41104)
botengyao Sep 17, 2025
9ad6cf1
http2: change the default value of max concurrent streams to 1024 (#4…
wbpcode Sep 17, 2025
5e41ea3
dynamic_modules: link dynamic library lifetime with per route config …
wtzhang23 Sep 17, 2025
1b02aa2
listener: Consider network namespace in address comparison (#41103)
tonya11en Sep 17, 2025
07e3dd0
access log: use generic factory context (#41105)
kyessenov Sep 18, 2025
53dad04
docs: fix typo in redis proxy (#40518)
zhaohuabing Sep 18, 2025
40e4a5d
adding more simple commands supported by redis to proxy (#40912)
dinesh-murugiah Sep 18, 2025
ab743ae
header mutation: support remove on match (#41076)
wbpcode Sep 18, 2025
05f2b84
dns_resolver: add max_udp_channel_duration to allow periodic refresh …
agrawroh Sep 18, 2025
99ac67b
docs: fix DNS docs for edns0_max_payload_size (#41118)
agrawroh Sep 18, 2025
f9a1e00
ext_proc: improve documentation for ext_proc (#41066)
markdroth Sep 18, 2025
e7f284a
xds-federation: adding support for OD-CDS over xDS-TP concurrent with…
adisuissa Sep 18, 2025
4ba66f6
tcp_proxy: set idle timeout on downstream connections with no upstrea…
IssaAbuKalbein Sep 18, 2025
196cb29
Add scaled timer HttpDownstreamStreamFlush (#40984)
antoniovleonti Sep 18, 2025
ba66ae1
docs: small nits in the ExtAuthZ docs (#41123)
agrawroh Sep 18, 2025
b99c89c
Replace c-ares library with getaddrinfo DNS library in redis_proxy ne…
yanjunxiang-google Sep 18, 2025
5ce4f78
Replace c-ares library with getaddrinfo DNS library in udp_proxy filt…
yanjunxiang-google Sep 18, 2025
356dd80
Replace c-ares library with getaddrinfo DNS library in aws_request_si…
yanjunxiang-google Sep 18, 2025
d7e345b
Replace c-ares library with getaddrinfo DNS library in redis_cluster_…
yanjunxiang-google Sep 18, 2025
48e3b15
xfcc value: to extrace specific field from xfcc for authorization or …
wbpcode Sep 19, 2025
e16d502
build: set -Wno-error in quiche and v8 dep builds (#41130)
ggreenway Sep 19, 2025
9abfc99
ci: gcc: Build before testing (#41127)
jwendell Sep 19, 2025
0dc96ee
deps: Bump `bazel_features` -> 1.36.0 (#41132)
dependency-envoy[bot] Sep 19, 2025
a543f54
deps: Bump `com_github_google_perfetto` -> 52.0 (#41134)
dependency-envoy[bot] Sep 19, 2025
dc6a31d
deps/api: Bump `opentelemetry_proto` -> 1.8.0 (#41136)
dependency-envoy[bot] Sep 19, 2025
f0b3c23
deps/api: Bump `rules_buf` -> 0.5.2 (#41137)
dependency-envoy[bot] Sep 19, 2025
c923d73
dynamic_modules: expose filter data injection in ABI and rust SDK (#4…
anuraaga Sep 19, 2025
f934a58
build(deps): bump actions/github-script from 7 to 8
dependabot[bot] Sep 19, 2025
b4c9d17
build(deps): bump pyopenssl from 25.1.0 to 25.3.0 in /tools/base
dependabot[bot] Sep 17, 2025
5b5ca20
build(deps): bump actions/dependency-review-action from 4.7.1 to 4.7.3
dependabot[bot] Aug 27, 2025
561033d
build(deps): bump actions/cache from 4.2.3 to 4.2.4
dependabot[bot] Aug 8, 2025
f032837
build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0
dependabot[bot] Aug 6, 2025
fc51032
Remove c-ares library dependency from test/integration (#41033)
yanjunxiang-google Sep 19, 2025
c111d5e
Revert "response decoder: add new interfaces for life time tracking o…
danzh2010 Sep 19, 2025
7973fff
async stream options: use shared pointer for pased retry policy (#41074)
wbpcode Sep 20, 2025
dd32d43
rate_limit_quota: fix ASAN flake in GlobalRateLimitClientImpl's RLQS …
bsurber Sep 20, 2025
14fac88
ext_proc: add status_on_error option to control the status code retur…
agrawroh Sep 21, 2025
e7ff913
deps: Bump `rules_foreign_cc` -> 0.15.1 (#41139)
dependency-envoy[bot] Sep 21, 2025
bebaee8
Use mutex reference in lock constructors p2 (#41153)
yanavlasov Sep 21, 2025
c362424
deps: revert cryptography module update (#41160)
agrawroh Sep 22, 2025
eb279a2
deps: Bump `com_github_awslabs_aws_c_auth` -> 0.9.1 (#41166)
dependency-envoy[bot] Sep 22, 2025
7a28fb3
deps: Bump `com_github_zlib_ng_zlib_ng` -> 2.2.5 (#41167)
dependency-envoy[bot] Sep 22, 2025
46227d8
[json_transcoder_filter] Cap grpc stream frame size (#41115)
ravenblackx Sep 22, 2025
78eb027
deps: Bump `com_github_aignas_rules_shellcheck` -> 0.4.0 (#40720)
dependency-envoy[bot] Sep 22, 2025
63cd529
deps: Bump `rules_cc` -> 0.2.8 (#41165)
dependency-envoy[bot] Sep 22, 2025
1a26ba3
changelog: fix typos in the current changelogs and clean them up (#41…
agrawroh Sep 22, 2025
d6dffa7
build(deps): bump google.golang.org/protobuf from 1.36.6 to 1.36.9
dependabot[bot] Sep 10, 2025
97d7a29
build(deps): bump github/codeql-action from 3.30.2 to 3.30.3
dependabot[bot] Sep 11, 2025
30230e5
build(deps): bump moby/buildkit from v0.23.2 to v0.24.0 in /ci
dependabot[bot] Sep 4, 2025
ac7dbb0
build(deps): bump pygithub from 2.6.1 to 2.8.1 in /tools/base
dependabot[bot] Sep 3, 2025
cd7e267
build(deps): bump aiohttp from 3.12.14 to 3.12.15 in /tools/base
dependabot[bot] Jul 29, 2025
23e3faa
python: Remove requirements.txt entry from .gitattributes (#41170)
phlax Sep 22, 2025
4c4ac8a
all to keep bazel-* after building (#41173)
wbpcode Sep 22, 2025
324943e
deps: Bump `com_github_fmtlib_fmt` -> 12.0.0 (#41154)
dependency-envoy[bot] Sep 22, 2025
499f53e
deps: Bump `rules_shell` -> 0.6.1 (#41176)
dependency-envoy[bot] Sep 22, 2025
317d7fd
reduce rules_proto use in favor of com_google_protobuf (#41156)
mmorel-35 Sep 22, 2025
2f003b4
remove/deprecate legacy retryPolicy() method (#41157)
wbpcode Sep 22, 2025
74b83fd
docs: clarify gateway-error behavior (#41147)
mdjnewman Sep 23, 2025
1d6fbd2
compressor: fix the compressor docs to highlight other extensions (#4…
agrawroh Sep 23, 2025
d4e053d
websocket: support route timeout for HTTP upgrade (#41075)
garrettheel Sep 23, 2025
8b38e06
matcher: Add NetworkNamespaceInput matcher for namespace-based filter…
agrawroh Sep 23, 2025
33a359f
access-log: refactor the MetadataMatcher to use simpler present match…
adisuissa Sep 23, 2025
6e0055d
access-log: refactor the ResponseFlagFilter and remove an redundant b…
adisuissa Sep 23, 2025
b6aa789
fmtlib: align BUILD files with their BCR definitions (#40908)
mmorel-35 Sep 23, 2025
fa86eb4
build(deps): bump actions/stale from 9.1.0 to 10.0.0
dependabot[bot] Sep 22, 2025
8e7a1ed
build(deps): bump cffi from 1.17.1 to 2.0.0 in /tools/base
dependabot[bot] Sep 9, 2025
195c5e3
build(deps): bump orjson from 3.11.0 to 3.11.3 in /tools/base
dependabot[bot] Aug 27, 2025
b2093da
build(deps): bump google.golang.org/protobuf
dependabot[bot] Sep 23, 2025
3dceb9c
build(deps): bump google.golang.org/protobuf
dependabot[bot] Sep 23, 2025
9e3d3b7
build(deps): bump google.golang.org/protobuf
dependabot[bot] Sep 23, 2025
437946f
listener: Fix incorrect error status handling when failing to change …
tonya11en Sep 23, 2025
7837d91
deps: Bump `aws_lc` -> 1.61.3 (#41189)
dependency-envoy[bot] Sep 23, 2025
9bbfcfa
deps: Bump toolshed (github) actions -> 0.3.25 (#41196)
phlax Sep 23, 2025
a4eb0c2
deps: Bump `com_google_absl` -> 20250814.1 (#41188)
dependency-envoy[bot] Sep 23, 2025
d5c7a06
odcds: convert ODCDS over ADS to pre-cluster-single-subscription (#41…
adisuissa Sep 23, 2025
b314c6b
ratelimit: support detach request after sent limit request (#40958)
wbpcode Sep 24, 2025
39a4dc9
rbac: enable use of NetworkNamespaceInput in network RBAC filter (#41…
agrawroh Sep 24, 2025
059923f
filter: added reverse tunnel terminal network filter (#41013)
agrawroh Sep 24, 2025
c811552
docs: styling nits and fixes for GeoIP filter docs (#41198)
agrawroh Sep 24, 2025
2ea7f49
build(deps): bump cryptography from 46.0.0 to 46.0.1 in /tools/base (…
dependabot[bot] Sep 24, 2025
665b84e
build(deps): bump gitpython from 3.1.44 to 3.1.45 in /tools/base (#40…
dependabot[bot] Sep 24, 2025
d3b102f
formatter: removed legacy router formatter support (#41039)
wbpcode Sep 24, 2025
1decf60
network ext_proc: improve the test to consider TCP fragmentation (#41…
botengyao Sep 24, 2025
f1004fa
load_balancers: fix crash on invalid endpoint update with health chec…
ggreenway Sep 24, 2025
c4d23a1
mobile/coverage: Fix and remove awful hack (#41209)
phlax Sep 24, 2025
d6dbb49
deps: Bump `rules_python` -> 1.6.3 (#41205)
dependency-envoy[bot] Sep 24, 2025
572ec5b
Use mutex reference in lock constructors p3 (#41208)
yanavlasov Sep 24, 2025
e5c8cd6
Merge remote-tracking branch 'upstream/main' into feat-rev-conns-new
basundhara-c Sep 24, 2025
0484e59
reverse_tunnel: add RPING echos in the downstream socket extension at…
agrawroh Sep 24, 2025
2f8cdcf
fix ping reply logic in downstream_reverse_connection_io_handle, add …
basundhara-c Sep 25, 2025
6741fed
changes to reverse connection examples
basundhara-c Sep 25, 2025
5e41f1f
changes to reverse connection docs
basundhara-c Sep 25, 2025
ad4fefa
fixes to docs and format
basundhara-c Sep 25, 2025
381b1f5
Fixes and formatting
basundhara-c Sep 25, 2025
01d4fb3
updates
agrawroh Sep 25, 2025
6ae49df
fixes
agrawroh Sep 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 4 additions & 2 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ build:asan --linkopt='-L/opt/llvm/lib/clang/18/lib/x86_64-unknown-linux-gnu'
build:macos --action_env=PATH=/opt/homebrew/bin:/opt/local/bin:/usr/local/bin:/usr/bin:/bin
build:macos --host_action_env=PATH=/opt/homebrew/bin:/opt/local/bin:/usr/local/bin:/usr/bin:/bin
build:macos --define tcmalloc=disabled
build:macos --cxxopt=-Wno-nullability-completeness

# macOS ASAN/UBSAN
build:macos-asan --config=asan
Expand Down Expand Up @@ -275,7 +276,7 @@ build:fuzz-coverage --test_tag_filters=-nocoverage
# resources required to build and run the tests.
build:fuzz-coverage --define=wasm=disabled
build:fuzz-coverage --config=fuzz-coverage-config
build:fuzz-coverage-config --//tools/coverage:config=//test:fuzz_coverage_config
build:fuzz-coverage-config --//tools/coverage:config=@envoy//test:fuzz_coverage_config

build:cache-local --remote_cache=grpc://localhost:9092

Expand Down Expand Up @@ -539,6 +540,7 @@ common:common-envoy-engflow --google_default_credentials=false
common:common-envoy-engflow --credential_helper=*.engflow.com=%workspace%/bazel/engflow-bazel-credential-helper.sh
common:common-envoy-engflow --grpc_keepalive_time=60s
common:common-envoy-engflow --grpc_keepalive_timeout=30s
common:common-envoy-engflow --remote_cache_compression

common:cache-envoy-engflow --remote_cache=grpcs://mordenite.cluster.engflow.com
common:cache-envoy-engflow --remote_timeout=3600s
Expand All @@ -561,7 +563,7 @@ common:remote-cache-envoy-engflow --config=common-envoy-engflow
common:remote-cache-envoy-engflow --config=cache-envoy-engflow

# Specifies the rustfmt.toml for all rustfmt_test targets.
build --@rules_rust//rust/settings:rustfmt.toml=//:rustfmt.toml
build --@rules_rust//rust/settings:rustfmt.toml=@envoy//:rustfmt.toml

#############################################################################
# debug: Various Bazel debugging flags
Expand Down
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7.6.0
7.6.1
3 changes: 1 addition & 2 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,7 @@ CheckOptions:
|^value_or$|
|^Ip6(ntohl|htonl)$|
|^get_$|
|^HeaderHasValue(Ref)?$|
|^HeaderValueOf$|
|^ContainsHeader$|
|^Is(Superset|Subset)OfHeaders$|
|^LLVMFuzzerInitialize$|
|^LLVMFuzzerTestOneInput$|
Expand Down
311 changes: 311 additions & 0 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,314 @@ change this to `minimal` or `all` depending on where you're running the containe

Docker for Mac/Windows is known to have disk performance issue, this makes formatting all files in the container very slow.
[Update the mount consistency to 'delegated'](https://code.visualstudio.com/docs/remote/containers-advanced#_update-the-mount-consistency-to-delegated-for-macos) is recommended.

## Detailed Setup Guide for Local Development

This section provides an exhaustive walkthrough for setting up Envoy source code locally for development and debugging. This guide has been tested on both Apple M1 Max and Intel Core i9 machines running macOS Sequoia (version 15.5).

For developers who are not C++ experts or are more familiar with CMake/Make build systems, Envoy's Bazel-based build system and dev container support makes local development much more accessible.

### Prerequisites

- macOS Sequoia (version 15.5) or compatible system
- VSCode or Cursor IDE
- Docker Desktop with sufficient resources
- Dev Containers extension

### Step-by-Step Setup Process

#### 1. Repository Setup

1. Clone the Envoy repository from GitHub or create a fork:
```bash
git clone https://github.com/envoyproxy/envoy.git
# OR
git clone https://github.com/YOUR_USERNAME/envoy.git
```

2. Open the downloaded folder in VSCode or Cursor

3. The IDE will detect the `.devcontainer` folder and prompt to reopen in Dev Container mode. Accept this prompt.

You should see a blue label at the bottom-left of the window indicating "Container" or "Dev Container" status, confirming you're running in container mode.

![Container Status](./images/container-status.png)

#### 2. Initialize Development Environment

1. Once in dev container mode, open a new terminal (**Terminal** → **New Terminal**)

2. Run the compilation database refresh script:
```bash
ci/do_ci.sh refresh_compdb
```

This script refreshes the compilation database and generates dependencies for code completion, including protobuf generated codes and external dependencies. This process may take 30-60 minutes depending on your machine performance.

> **Note**: Re-run this script whenever you change proto definitions or modify bazel structure to maintain proper code completion.

#### 3. Troubleshooting Build Issues

If you encounter "no space left on device" errors during the compilation process, you'll need to adjust Docker Desktop settings:

![Docker Space Error](./images/docker-space-error.png)

**Resolution Steps:**

1. Open Docker Desktop
2. Navigate to **Settings** → **Resources**
3. Increase **Memory Limit** to at least 8GB (recommended: 16GB+)
4. Increase **Disk usage limit** to at least 100GB

![Docker Settings](./images/docker-settings.png)

5. If settings are grayed out, perform a factory reset:
- Go to **Troubleshoot** → **Reset to factory defaults**
- Restart Docker Desktop
- Reconfigure the resource limits
- Click **Apply and restart**

**Successful Build Verification:**

Look for a completion message similar to (the total actions might vary):
```
Build completed successfully, 11415 total actions
```

![Build Success](./images/build-success.png)

#### 4. Debug Configuration Setup

##### Create Envoy Configuration File

Before generating debug configuration, create an `envoy.yaml` file in the repository root (you can choose any name of your liking).This is a standard envoy configuration, you should be able to change it according to your need. Here's a sample configuration for debugging OpenTelemetry tracing:

```yaml
admin:
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 9902

static_resources:
listeners:
- name: listener_0
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 10000
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
stat_prefix: ingress_http
# Enable tracing
tracing:
provider:
name: envoy.tracers.opentelemetry
typed_config:
"@type": type.googleapis.com/envoy.config.trace.v3.OpenTelemetryConfig
grpc_service:
envoy_grpc:
cluster_name: opentelemetry_collector
timeout: 100s
service_name: envoy-proxy
random_sampling:
value: 100
access_log:
- name: envoy.access_loggers.stdout
typed_config:
"@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog
http_filters:
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match:
prefix: "/"
route:
host_rewrite_literal: www.envoyproxy.io
cluster: service_envoyproxy_io

clusters:
- name: service_envoyproxy_io
type: LOGICAL_DNS
# Comment out the following line to test on v6 networks
dns_lookup_family: V4_ONLY
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: service_envoyproxy_io
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: www.envoyproxy.io
port_value: 443
transport_socket:
name: envoy.transport_sockets.tls
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
sni: www.envoyproxy.io

# OpenTelemetry Collector cluster
- name: opentelemetry_collector
type: STRICT_DNS
dns_lookup_family: V4_ONLY
lb_policy: ROUND_ROBIN
typed_extension_protocol_options:
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
"@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
explicit_http_config:
http2_protocol_options: {}
load_assignment:
cluster_name: opentelemetry_collector
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: localhost
port_value: 5002
```

##### Generate Debug Configuration

Run the debug configuration generator:

```bash
tools/vscode/generate_debug_config.py //source/exe:envoy-static --args "-c envoy.yaml"
```

**Advanced Configuration Options:**

The script now supports automatic compiler configuration detection and manual override options:

- **Auto-detection**: The script automatically detects the optimal compiler configuration based on your platform:
- On ARM64/aarch64 architectures (Apple Silicon Macs): Automatically uses `clang` for better C++20 concepts compatibility
- On other architectures: Uses Bazel's default configuration

- **Manual override**: You can explicitly specify a build configuration using the `--config` flag:
```bash
# Force use of clang configuration
tools/vscode/generate_debug_config.py //source/exe:envoy-static --args "-c envoy.yaml" --config clang

# Force use of gcc configuration
tools/vscode/generate_debug_config.py //source/exe:envoy-static --args "-c envoy.yaml" --config gcc
```

- **Additional options**:
```bash
# Use LLDB debugger instead of GDB (recommended for macOS)
tools/vscode/generate_debug_config.py //source/exe:envoy-static --args "-c envoy.yaml" --debugger lldb

# Overwrite existing configuration completely
tools/vscode/generate_debug_config.py //source/exe:envoy-static --args "-c envoy.yaml" --overwrite
```

![Debug Configuration Run](./images/debug-configuration-run.png)

> **Important**: This command may take over an hour to complete. You'll need to re-run this script whenever you make code changes.

> **ARM64/Apple Silicon Note**: If you're using an ARM64 system (like Apple Silicon Macs) and encounter GCC-related compilation errors with C++20 concepts compatibility, the script will automatically use clang configuration to resolve these issues. This addresses protobuf dependency compatibility problems that can occur with GCC on ARM64 architectures.

There are two types of debuggers envoy community recommends to use, GDB (GNU Debugger) , a widely used and powerful debugger for various languages, including C++ and LLDB, the LLVM project's debugger, often used with Clang-compiled code (Clang is one of the many compilers for C++).

Now click F5 to start debugging, this should have generated the `launch.json` as shown below. The generated `launch.json` will use GDB by default.

![GDB Launch JSON](./images/GDB-launch-json.png)

However, if you encounter an error with GDB (which can happen with some Mac Machines), try using the LLDB debugger as shown in the next section.

![GDB Error](./images/gdb-error.png)

##### Configure LLDB Debugger (Recommended for macOS)

For better compatibility on macOS, modify the generated `launch.json` to use LLDB:

1. Open `launch.json` (Cmd+P → type "launch.json")

![Launch JSON](./images/GDB-launch-json.png)

2. Replace the GDB configuration with LLDB:

```json
{
"version": "0.2.0",
"configurations": [
{
"name": "LLDB //source/exe:envoy-static",
"type": "lldb",
"request": "launch",
"program": "/build/.cache/bazel/_bazel_vscode/2d35de14639eaad1ac7060a4dd7e3351/execroot/envoy/bazel-out/k8-dbg/bin/source/exe/envoy-static",
"args": ["-c", "envoy.yaml"],
"cwd": "${workspaceFolder}",
"stopOnEntry": false,
"sourceMap": {
"/proc/self/cwd": "${workspaceFolder}"
}
}
]
}
```

> **Note**: Update the `program` path with the actual hash from your generated GDB configuration. Ensure the CodeLLDB extension is installed in your dev container.

![CodeLLDB Extension](./images/code-lldb-extension.png)

#### 5. Setting Up Breakpoints

##### Main Entry Point

Add a breakpoint in the main function located at `source/exe/main.cc`:

![Main Breakpoint](./images/main-breakpoint.png)

##### Custom Debugging Points

You can add additional debug points, For example, for tracing debugging, add breakpoints in specific areas like `source/extensions/tracers/opentelemetry/opentelemetry_tracer_impl.cc`:

![Tracer Breakpoint](./images/tracer-breakpoint.png)

#### 6. Starting Debug Session

1. Start debugging by pressing **F5** or going to **Run** → **Start Debugging**

2. Allow 1-2 minutes for the debugger to attach to the process (Envoy is a large codebase)

3. Most of the Envoy source code is located in the `source` folder at the root of the repository.The breakpoint in `source/exe/main.cc` should activate

![Debug Active](./images/debug-active.png)

4. Continue execution (**Run** → **Continue**) to see Envoy start up and begin emitting logs

#### 7. Verifying Setup

Once Envoy starts successfully, verify the setup by accessing. The ports are based on the configuration we have used earlier:

- **Admin Interface**: http://localhost:9902

![Admin Interface](./images/admin-interface.png)

- **Proxy Endpoint**: Try reaching to the URL http://localhost:10000 and you should be redirected to envoyproxy.io based on the configuration file we gave above.

![Proxy Endpoint](./images/proxy-endpoint.png)

- **Admin Endpoints**:
Try accessing different admin endpoints from your local machine.
- Clusters: http://localhost:9902/clusters
- Config Dump: http://localhost:9902/config_dump
- Stats: http://localhost:9902/stats

![Cluster Endpoints](./images/cluster-endpoints.png)
![Config Dump](./images/config-dump.png)
![Stats Endpoints](./images/stats-endpoints.png)

3 changes: 3 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
],
"containerEnv": {
"ENVOY_SRCDIR": "${containerWorkspaceFolder}",
"HTTPS_PROXY": "${env:VSCODE_CONTAINER_HTTPS_PROXY}",
"HTTP_PROXY": "${env:VSCODE_CONTAINER_HTTP_PROXY}",
"NO_PROXY": "${env:VSCODE_CONTAINER_NO_PROXY}"
},
"remoteUser": "vscode",
"containerUser": "vscode",
Expand Down
Binary file added .devcontainer/images/GDB-launch-json.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/admin-interface.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/build-success.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/cluster-endpoints.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/code-lldb-extension.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/config-dump.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/container-status.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/debug-active.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/debug-configuration-run.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/docker-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/docker-space-error.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/gdb-error.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/main-breakpoint.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/proxy-endpoint.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/stats-endpoints.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .devcontainer/images/tracer-breakpoint.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
/*
!/VERSION.txt
!/build_envoy
!/build_envoy_debug
!/ci
!/distribution/docker
!/configs/google-vrp
!/configs/*yaml
!/linux/amd64/build_envoy_debug
!/linux/amd64/release.tar.zst
!/linux/amd64/schema_validator_tool
!/linux/amd64/router_check_tool
Expand Down
1 change: 0 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,5 @@
/test/common/tls/test_data/aes_128_key binary
/test/common/tls/test_data/ticket_key_* binary
/test/**/*_corpus/* linguist-generated=true
requirements.txt binary
package.lock binary
yarn.lock binary
Loading