Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
9d71e69
tooling: Improve runner/checker log/error handling (#17388)
phlax Jul 19, 2021
364c821
Added max_requests_per_connection for downstream connection. (#14936)
Jul 19, 2021
396892c
docs: fix typo in listener filter chain match configuration example (…
zhxie Jul 19, 2021
ef1237f
tools: exempting dependabot from unassigned warnings (#17401)
alyssawilk Jul 19, 2021
a1705b4
Add local_end_stream_ to crash dump for H1 (#17367)
pradeepcrao Jul 19, 2021
6acfb40
thrift proxy: move more of Router into RequestOwner (#17376)
Jul 19, 2021
e0380ad
The ORIGINAL_DST_LB load balancing policy is deprecated, use CLUSTER_…
tyxia Jul 20, 2021
ba474ac
listener: make reuse port the default (#17259)
mattklein123 Jul 20, 2021
b145180
doc: put 1.19 release date/EOL in RELEASES.md (#17416)
mathetake Jul 20, 2021
1f752f0
stat_sinks: remove well_known_names (#16794)
daixiang0 Jul 20, 2021
eae3366
dist: Add GPG identity util (#17399)
phlax Jul 20, 2021
b651e3f
dist: Add docker build util (#17384)
phlax Jul 20, 2021
a1c5a50
quiche: update QUICHE to commit 5dd7a030209f9a6b5043bebd8ac3ee54f18d1…
danzh2010 Jul 20, 2021
d483098
listener: allow TCP and UDP on the same port (#17414)
mattklein123 Jul 20, 2021
47160ca
remove support of hidden_deprecated_use_alpha (#17169)
ankatare Jul 21, 2021
aaac62b
v2: removing v2 http filter protos (#17368)
alyssawilk Jul 21, 2021
e3b14ba
build(deps): bump sphinx from 4.1.0 to 4.1.1 in /tools/docs (#17365)
dependabot[bot] Jul 21, 2021
9c8b5dc
tooling: Misc log/proc improvements (#17420)
phlax Jul 21, 2021
18e9fad
apple dns: add more details on DNS failure (#17423)
junr03 Jul 21, 2021
eb157b7
bazel: disable -Wrange-loop-analysis on macOS (#17428)
keith Jul 21, 2021
ecc17c7
test: ratcheting coverage (#17425)
alyssawilk Jul 21, 2021
5c08797
xray: aws xray tracer span data bug fix (#17171)
suniltheta Jul 21, 2021
83e96c5
http: switching from XFP to scheme (#17372)
alyssawilk Jul 21, 2021
323f483
dist: Add package signing utility (#17289)
phlax Jul 21, 2021
463eda2
config: extending usage of EnvoyMobileHttpConnectionManager (#17407)
alyssawilk Jul 21, 2021
271e674
ext_proc: Implement STREAMED body processing mode (#17069)
gbrail Jul 22, 2021
2846989
bazel: update deprecated flag name (#17446)
keith Jul 22, 2021
2b716d1
quic: add QUIC connection close stats to upstream connections (#17222)
RenjieTang Jul 22, 2021
2ece161
ci: set --flaky_test_attempts=2 for coverage. (#17433)
htuch Jul 22, 2021
2cc9b69
hds: reset specifier_hash on remoteClose (#17378)
lobkovilya Jul 22, 2021
2738707
Add Jwt cache. (#14341)
Jul 22, 2021
6c25d07
kafka: add stub classes for mesh filter (#17374)
adamkotwasinski Jul 22, 2021
8e03ca4
envoy-mobile-hcm: removing an unnecessary try/catch (#17437)
alyssawilk Jul 22, 2021
9f05912
bazel: add darwin_arm64 to apple config group (#17444)
keith Jul 22, 2021
a8033fa
grpc stream: reduce log level depending on remote close status (#17300)
tbarrella Jul 22, 2021
3655b63
docs: updated quickstart/run envoy doc to ensure a smoother first tim…
lakamsani Jul 22, 2021
6738fea
listener: extract active_tcp_socket and active_stream_listener_base (…
lambdai Jul 22, 2021
2f13487
Remove `hidden_envoy_deprecated_idle_timeout` (#17451)
tyxia Jul 23, 2021
d977ce3
access log: fix %UPSTREAM_CLUSTER% in upstream http access logs (#17453)
ggreenway Jul 23, 2021
550e4ad
Fix yaml example in api (#17462)
Jul 23, 2021
de3f511
config: allow .yml files to load as YAML (#17455)
mattklein123 Jul 23, 2021
6834081
bazel: set PATH automatically on macOS (#17467)
keith Jul 23, 2021
b4027cf
ext_proc: Update docs landing page (#17431)
gbrail Jul 26, 2021
507f5e6
docs: Fix the confusing word in http3 upsteam documents (#17481)
Jul 26, 2021
63933a3
tooling: Cleanups and utils (#17477)
phlax Jul 26, 2021
878393e
io_error: cleanup TODO by renaming member variable (#17060)
daixiang0 Jul 26, 2021
3bd1db4
Cleanup idle connection pools (disabled by default) (#17403)
ggreenway Jul 26, 2021
2f49895
Remove unused powershell call from Windows docker file (#17472)
Jul 26, 2021
a4cec80
bazel: remove old luajit workaround (#17466)
keith Jul 26, 2021
0b395d1
ext_proc: Fix problem with buffered body mode with empty or no body (…
gbrail Jul 26, 2021
a58fe01
Increase buffer size of `Win32RedirectRecords` (#17471)
Jul 27, 2021
aa7b497
improving tracer coverage (#17493)
alyssawilk Jul 27, 2021
57bfbda
deps: update yaml-cpp to latest master (#17489)
Jul 27, 2021
6ace04d
http: make custom inline headers bootstrap configurable (#17330)
wbpcode Jul 27, 2021
dc202cd
updates links to jaegertracing-plugin.tar.gz (#17497)
codefromthecrypt Jul 27, 2021
cdbeb5f
docs: Fixed FaultDelay docs. (#17495)
Jul 27, 2021
7cf1f9b
thrift proxy: move UpstreamRequest into its own file (#17498)
Jul 27, 2021
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
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ run --color=yes

build --color=yes
build --workspace_status_command="bash bazel/get_workspace_status"
build --experimental_strict_action_env=true
build --incompatible_strict_action_env
build --host_force_python=PY3
build --host_javabase=@bazel_tools//tools/jdk:remote_jdk11
build --javabase=@bazel_tools//tools/jdk:remote_jdk11
Expand Down Expand Up @@ -79,6 +79,8 @@ build:clang-asan --linkopt -fuse-ld=lld

# macOS ASAN/UBSAN
build:macos --cxxopt=-std=c++17
build:macos --action_env=PATH=/usr/bin:/bin:/opt/homebrew/bin:/usr/local/bin:/opt/local/bin
build:macos --host_action_env=PATH=/usr/bin:/bin:/opt/homebrew/bin:/usr/local/bin:/opt/local/bin

build:macos-asan --config=asan
# Workaround, see https://github.com/bazelbuild/bazel/issues/6932
Expand Down
4 changes: 4 additions & 0 deletions .github/actions/pr_notifier/pr_notifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,12 @@ def track_prs():
# If the PR is waiting, continue.
if is_waiting(labels):
continue
# Drafts are not covered by our SLO (repokitteh warns of this)
if pr_info.draft:
continue
# Don't warn for dependabot.
if pr_info.user.login == 'dependabot[bot]':
continue

# Update the time based on the time zone delta from github's
pr_age = pr_info.updated_at - datetime.timedelta(hours=4)
Expand Down
12 changes: 11 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ updates:
schedule:
interval: "daily"

- package-ecosystem: "pip"
directory: "/tools/base"
schedule:
interval: "daily"

- package-ecosystem: "pip"
directory: "/tools/docs"
schedule:
Expand All @@ -41,6 +46,11 @@ updates:
schedule:
interval: "daily"

- package-ecosystem: "pip"
directory: "/tools/docker"
schedule:
interval: "daily"

- package-ecosystem: "pip"
directory: "/tools/dependency"
schedule:
Expand All @@ -52,7 +62,7 @@ updates:
interval: "daily"

- package-ecosystem: "pip"
directory: "/tools/extensions"
directory: "/tools/gpg"
schedule:
interval: "daily"

Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,5 @@ cmake-build-debug
bazel.output.txt
*~
.coverage
**/.DS_Store
**/*.iml
3 changes: 2 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ deadline of 3 weeks.
| 1.16.0 | 2020/09/30 | 2020/10/08 | +8 days | 2021/10/08 |
| 1.17.0 | 2020/12/31 | 2021/01/11 | +11 days | 2022/01/11 |
| 1.18.0 | 2021/03/31 | 2021/04/15 | +15 days | 2022/04/15 |
| 1.19.0 | 2021/06/30 | | | |
| 1.19.0 | 2021/06/30 | 2021/07/13 | +13 days | 2022/07/13 |
| 1.20.0 | 2021/09/30 | | | |

[repokitteh]: https://github.com/repokitteh
5 changes: 0 additions & 5 deletions api/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,6 @@ proto_library(
"//envoy/config/common/dynamic_forward_proxy/v2alpha:pkg",
"//envoy/config/filter/accesslog/v2:pkg",
"//envoy/config/filter/fault/v2:pkg",
"//envoy/config/filter/http/compressor/v2:pkg",
"//envoy/config/filter/http/ext_authz/v2:pkg",
"//envoy/config/filter/http/gzip/v2:pkg",
"//envoy/config/filter/http/health_check/v2:pkg",
"//envoy/config/filter/http/ip_tagging/v2:pkg",
"//envoy/config/filter/network/http_connection_manager/v2:pkg",
"//envoy/config/filter/network/redis_proxy/v2:pkg",
"//envoy/config/filter/network/tcp_proxy/v2:pkg",
Expand Down
2 changes: 1 addition & 1 deletion api/envoy/api/v2/listener/listener_components.proto
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ message FilterChain {
// rules:
// - destination_port_range:
// start: 3306
// end: 3306
// end: 3307
// - destination_port_range:
// start: 15000
// end: 15001
Expand Down
49 changes: 48 additions & 1 deletion api/envoy/config/bootstrap/v3/bootstrap.proto
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// <config_overview_bootstrap>` for more detail.

// Bootstrap :ref:`configuration overview <config_overview_bootstrap>`.
// [#next-free-field: 32]
// [#next-free-field: 33]
message Bootstrap {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.bootstrap.v2.Bootstrap";
Expand Down Expand Up @@ -322,6 +322,13 @@ message Bootstrap {
// field.
// [#not-implemented-hide:]
map<string, core.v3.TypedExtensionConfig> certificate_provider_instances = 25;

// Specifies a set of headers that need to be registered as inline header. This configuration
// allows users to customize the inline headers on-demand at Envoy startup without modifying
// Envoy's source code.
//
// Note that the 'set-cookie' header cannot be registered as inline header.
repeated CustomInlineHeader inline_headers = 32;
}

// Administration interface :ref:`operations documentation
Expand Down Expand Up @@ -595,3 +602,43 @@ message LayeredRuntime {
// such that later layers in the list overlay earlier entries.
repeated RuntimeLayer layers = 1;
}

// Used to specify the header that needs to be registered as an inline header.
//
// If request or response contain multiple headers with the same name and the header
// name is registered as an inline header. Then multiple headers will be folded
// into one, and multiple header values will be concatenated by a suitable delimiter.
// The delimiter is generally a comma.
//
// For example, if 'foo' is registered as an inline header, and the headers contains
// the following two headers:
//
// .. code-block:: text
//
// foo: bar
// foo: eep
//
// Then they will eventually be folded into:
//
// .. code-block:: text
//
// foo: bar, eep
//
// Inline headers provide O(1) search performance, but each inline header imposes
// an additional memory overhead on all instances of the corresponding type of
// HeaderMap or TrailerMap.
message CustomInlineHeader {
enum InlineHeaderType {
REQUEST_HEADER = 0;
REQUEST_TRAILER = 1;
RESPONSE_HEADER = 2;
RESPONSE_TRAILER = 3;
}

// The name of the header that is expected to be set as the inline header.
string inline_header_name = 1
[(validate.rules).string = {min_len: 1 well_known_regex: HTTP_HEADER_NAME strict: false}];

// The type of the header that is expected to be set as the inline header.
InlineHeaderType inline_header_type = 2 [(validate.rules).enum = {defined_only: true}];
}
52 changes: 51 additions & 1 deletion api/envoy/config/bootstrap/v4alpha/bootstrap.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion api/envoy/config/cluster/v3/cluster.proto
Original file line number Diff line number Diff line change
Expand Up @@ -746,7 +746,11 @@ message Cluster {
// is respected by both the HTTP/1.1 and HTTP/2 connection pool
// implementations. If not specified, there is no limit. Setting this
// parameter to 1 will effectively disable keep alive.
google.protobuf.UInt32Value max_requests_per_connection = 9;
//
// .. attention::
// This field has been deprecated in favor of the :ref:`max_requests_per_connection <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_requests_per_connection>` field.
google.protobuf.UInt32Value max_requests_per_connection = 9
[deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"];

// Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
CircuitBreakers circuit_breakers = 10;
Expand Down
15 changes: 5 additions & 10 deletions api/envoy/config/cluster/v4alpha/cluster.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 7 additions & 1 deletion api/envoy/config/core/v3/protocol.proto
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ message AlternateProtocolsCacheOptions {
google.protobuf.UInt32Value max_entries = 2 [(validate.rules).uint32 = {gt: 0}];
}

// [#next-free-field: 6]
// [#next-free-field: 7]
message HttpProtocolOptions {
option (udpa.annotations.versioning).previous_message_type =
"envoy.api.v2.core.HttpProtocolOptions";
Expand Down Expand Up @@ -157,6 +157,12 @@ message HttpProtocolOptions {
// If this setting is not specified, the value defaults to ALLOW.
// Note: upstream responses are not affected by this setting.
HeadersWithUnderscoresAction headers_with_underscores_action = 5;

// Optional maximum requests for both upstream and downstream connections.
// If not specified, there is no limit.
// Setting this parameter to 1 will effectively disable keep alive.
// For HTTP/2 and HTTP/3, due to concurrent stream processing, the limit is approximate.
google.protobuf.UInt32Value max_requests_per_connection = 6;
}

// [#next-free-field: 8]
Expand Down
8 changes: 7 additions & 1 deletion api/envoy/config/core/v4alpha/protocol.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions api/envoy/config/listener/v3/api_listener.proto
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ message ApiListener {
// The type in this field determines the type of API listener. At present, the following
// types are supported:
// envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager (HTTP)
// envoy.extensions.filters.network.http_connection_manager.v3.EnvoyMobileHttpConnectionManager (HTTP)
// [#next-major-version: In the v3 API, replace this Any field with a oneof containing the
// specific config message for each type of API listener. We could not do this in v2 because
// it would have caused circular dependencies for go protos: lds.proto depends on this file,
Expand Down
29 changes: 21 additions & 8 deletions api/envoy/config/listener/v3/listener.proto
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ message ListenerCollection {
repeated xds.core.v3.CollectionEntry entries = 1;
}

// [#next-free-field: 29]
// [#next-free-field: 30]
message Listener {
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.Listener";

Expand Down Expand Up @@ -255,17 +255,30 @@ message Listener {
// enable the balance config in Y1 and Y2 to balance the connections among the workers.
ConnectionBalanceConfig connection_balance_config = 20;

// Deprecated. Use `enable_reuse_port` instead.
bool reuse_port = 21 [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"];

// When this flag is set to true, listeners set the *SO_REUSEPORT* socket option and
// create one socket for each worker thread. This makes inbound connections
// distribute among worker threads roughly evenly in cases where there are a high number
// of connections. When this flag is set to false, all worker threads share one socket.
// of connections. When this flag is set to false, all worker threads share one socket. This field
// defaults to true.
//
// .. attention::
//
// Although this field defaults to true, it has different behavior on different platforms. See
// the following text for more information.
//
// Before Linux v4.19-rc1, new TCP connections may be rejected during hot restart
// (see `3rd paragraph in 'soreuseport' commit message
// <https://github.com/torvalds/linux/commit/c617f398edd4db2b8567a28e89>`_).
// This issue was fixed by `tcp: Avoid TCP syncookie rejected by SO_REUSEPORT socket
// <https://github.com/torvalds/linux/commit/40a1227ea845a37ab197dd1caffb60b047fa36b1>`_.
bool reuse_port = 21;
// * On Linux, reuse_port is respected for both TCP and UDP listeners. It also works correctly
// with hot restart.
// * On macOS, reuse_port for TCP does not do what it does on Linux. Instead of load balancing,
// the last socket wins and receives all connections/packets. For TCP, reuse_port is force
// disabled and the user is warned. For UDP, it is enabled, but only one worker will receive
// packets. For QUIC/H3, SW routing will send packets to other workers. For "raw" UDP, only
// a single worker will currently receive packets.
// * On Windows, reuse_port for TCP has undefined behavior. It is force disabled and the user
// is warned similar to macOS. It is left enabled for UDP with undefined behavior currently.
google.protobuf.BoolValue enable_reuse_port = 29;

// Configuration for :ref:`access logs <arch_overview_access_logs>`
// emitted by this listener.
Expand Down
2 changes: 1 addition & 1 deletion api/envoy/config/listener/v3/listener_components.proto
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ message FilterChain {
// rules:
// - destination_port_range:
// start: 3306
// end: 3306
// end: 3307
// - destination_port_range:
// start: 15000
// end: 15001
Expand Down
1 change: 1 addition & 0 deletions api/envoy/config/listener/v4alpha/api_listener.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading