Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internallistener #10

Closed
wants to merge 29 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
302c572
Add unit test of MessageUtil::anyToBytes (#15326)
mathetake Mar 5, 2021
236107d
[http] API changes to split path header normalization and forwarding …
asraa Mar 5, 2021
d17b0e5
listener: introduce tcp listener and udp listener interface (#15275)
lambdai Mar 5, 2021
a1cff0e
docs: Removed duplicate links. (#15307)
Mar 5, 2021
aaaee77
json transcoder: set decoded percent-encoded message as json response…
Shikugawa Mar 5, 2021
2bb2038
http filter: Add overrideable function to http filter factory interfa…
auni53 Mar 5, 2021
4f1ec4f
server: add --enable-core-dump flag (#15245)
Mar 6, 2021
fa81296
rbac: support to configure the shadow rule stat with a custom prefix.…
yangminzhu Mar 6, 2021
ca60583
Revert "upstream: avoid quadratic time complexity in server initializ…
tbarrella Mar 6, 2021
789f8a0
wasm: add api for configuring environment variable in VmConfig (#15136)
mathetake Mar 8, 2021
f230363
docs: Fix link to build image on install page (#15353)
phlax Mar 8, 2021
163e04e
docs: fix reference to upstream_internal_redirect_succeeded_total met…
derekargueta Mar 8, 2021
f10ead4
build: Add envoy_extension_py_test for excluding extensions with py_t…
markguan-stripe Mar 8, 2021
77147c2
Add separate SPIFFE integeration test build target. (#15324)
mathetake Mar 8, 2021
11afcf9
configs: Fix proto validation (#15341)
phlax Mar 8, 2021
471c609
oauth2: add support for resource params in authorization request (#15…
sudeeptoroy Mar 8, 2021
18453fa
upstream: avoid quadratic time complexity in server initialization (#…
rojkov Mar 8, 2021
1ef5634
router: remove preserve_query_string_in_path_redirects (#15335)
mattklein123 Mar 8, 2021
51db799
protodoc: Use jinja for rendering proto docs (#15352)
phlax Mar 8, 2021
24fb26b
Adds documentation note for features not supported on Windows (#15298)
davinci26 Mar 8, 2021
9541572
[fuzz] fix h1 end to end fuzz test issue (#15318)
asraa Mar 8, 2021
30db42c
build: Bump build image hash to e33c93e6d7 (#15358)
phlax Mar 8, 2021
7fe3d35
matching: introduce consistent hashing matcher (#14875)
Mar 8, 2021
b687d12
Crash Dumper: E2E tests using kill filter (#15314)
KBaichoo Mar 8, 2021
62bd82d
http: adding an interface to inform filters of local replies (#15172)
alyssawilk Mar 8, 2021
f2a517c
listener: move active_udp_listener out of conn handler (#15349)
lambdai Mar 8, 2021
8d4d52b
api: add internal listener
lambdai Mar 9, 2021
46cb370
restrictions in unordered list
lambdai Mar 9, 2021
0b2e5ba
add oneof listener_specifier
lambdai Mar 9, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ build:remote-clang-cl --config=rbe-toolchain-clang-cl

# Docker sandbox
# NOTE: Update this from https://github.com/envoyproxy/envoy-build-tools/blob/main/toolchains/rbe_toolchains_config.bzl#L8
build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:d9b1f1cbb24b2cecca768feaa9fa3c6e6660a948
build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:e33c93e6d79804bf95ff80426d10bdcc9096c785
build:docker-sandbox --spawn_strategy=docker
build:docker-sandbox --strategy=Javac=docker
build:docker-sandbox --strategy=Closure=docker
Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM gcr.io/envoy-ci/envoy-build:d9b1f1cbb24b2cecca768feaa9fa3c6e6660a948
FROM gcr.io/envoy-ci/envoy-build:e33c93e6d79804bf95ff80426d10bdcc9096c785

ARG USERNAME=vscode
ARG USER_UID=501
Expand Down
2 changes: 2 additions & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,8 @@ extensions/filters/http/oauth2 @rgs1 @derekargueta @snowp
/*/extensions/filters/http/kill_request @qqustc @htuch
# Rate limit expression descriptor
/*/extensions/rate_limit_descriptors/expr @kyessenov @lizan
# hash input matcher
/*/extensions/matching/input_matchers/consistent_hashing @snowp @donyu
# user space socket pair and event
/*/extensions/io_socket/user_space @lambdai @antoniovicente
# Default UUID4 request ID extension
Expand Down
2 changes: 2 additions & 0 deletions api/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,7 @@ proto_library(
"//envoy/extensions/internal_redirect/allow_listed_routes/v3:pkg",
"//envoy/extensions/internal_redirect/previous_routes/v3:pkg",
"//envoy/extensions/internal_redirect/safe_cross_scheme/v3:pkg",
"//envoy/extensions/matching/input_matchers/consistent_hashing/v3:pkg",
"//envoy/extensions/network/socket_interface/v3:pkg",
"//envoy/extensions/rate_limit_descriptors/expr/v3:pkg",
"//envoy/extensions/request_id/uuid/v3:pkg",
Expand Down Expand Up @@ -286,6 +287,7 @@ proto_library(
"//envoy/service/status/v3:pkg",
"//envoy/service/tap/v3:pkg",
"//envoy/service/trace/v3:pkg",
"//envoy/type/http/v3:pkg",
"//envoy/type/matcher/v3:pkg",
"//envoy/type/metadata/v3:pkg",
"//envoy/type/tracing/v3:pkg",
Expand Down
5 changes: 4 additions & 1 deletion api/envoy/admin/v3/server_info.proto
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ message ServerInfo {
config.core.v3.Node node = 7;
}

// [#next-free-field: 37]
// [#next-free-field: 38]
message CommandLineOptions {
option (udpa.annotations.versioning).previous_message_type =
"envoy.admin.v2alpha.CommandLineOptions";
Expand Down Expand Up @@ -189,4 +189,7 @@ message CommandLineOptions {

// See :option:`--socket-mode` for details.
uint32 socket_mode = 36;

// See :option:`--enable-core-dump` for details.
bool enable_core_dump = 37;
}
5 changes: 4 additions & 1 deletion api/envoy/admin/v4alpha/server_info.proto

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

19 changes: 4 additions & 15 deletions api/envoy/config/accesslog/v3/accesslog.proto
Original file line number Diff line number Diff line change
Expand Up @@ -29,26 +29,15 @@ message AccessLog {

reserved "config";

// The name of the access log implementation to instantiate. The name must
// match a statically registered access log. Current built-in loggers include:
//
// #. "envoy.access_loggers.file"
// #. "envoy.access_loggers.http_grpc"
// #. "envoy.access_loggers.tcp_grpc"
// The name of the access log extension to instantiate.
// The name must match one of the compiled in loggers.
// See the :ref:`extensions listed in typed_config below <extension_category_envoy.access_loggers>` for the default list of available loggers.
string name = 1;

// Filter which is used to determine if the access log needs to be written.
AccessLogFilter filter = 2;

// Custom configuration that depends on the access log being instantiated.
// Built-in configurations include:
//
// #. "envoy.access_loggers.file": :ref:`FileAccessLog
// <envoy_api_msg_extensions.access_loggers.file.v3.FileAccessLog>`
// #. "envoy.access_loggers.http_grpc": :ref:`HttpGrpcAccessLogConfig
// <envoy_api_msg_extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig>`
// #. "envoy.access_loggers.tcp_grpc": :ref:`TcpGrpcAccessLogConfig
// <envoy_api_msg_extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig>`
// Custom configuration that must be set according to the access logger extension being instantiated.
// [#extension-category: envoy.access_loggers]
oneof config_type {
google.protobuf.Any typed_config = 4;
Expand Down
19 changes: 4 additions & 15 deletions api/envoy/config/accesslog/v4alpha/accesslog.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/common/matcher/v3/matcher.proto
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ message Matcher {
type.matcher.v3.StringMatcher value_match = 2;

// Extension for custom matching logic.
// [#extension-category: envoy.matching.input_matchers]
core.v3.TypedExtensionConfig custom_match = 3;
}
}
Expand Down
1 change: 1 addition & 0 deletions api/envoy/config/common/matcher/v4alpha/matcher.proto

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

29 changes: 28 additions & 1 deletion 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: 27]
// [#next-free-field: 28]
message Listener {
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.Listener";

Expand Down Expand Up @@ -88,6 +88,11 @@ message Listener {
}
}

// Configuration for envoy internal listener. All the future internal listener features should be added here.
// [#not-implemented-hide:]
message InternalListenerConfig {
}

reserved 14;

// The unique name by which this listener is known. If no name is provided,
Expand Down Expand Up @@ -275,4 +280,26 @@ message Listener {
// :ref:`use_original_dst <envoy_api_field_config.listener.v3.Listener.use_original_dst>`
// to true. Default is true.
google.protobuf.BoolValue bind_to_port = 26;

// The exclusive listener type and the corresponding config.
// TODO(lambdai): https://github.com/envoyproxy/envoy/issues/15372
// Will create and add TcpListenerConfig. Will add UdpListenerConfig and ApiListener.
// [#not-implemented-hide:]
oneof listener_specifier {
// Used to represent an internal listener which does not listen on OSI L4 address but can be used by the
// :ref:`envoy cluster <envoy_v3_api_msg_config.cluster.v3.Cluster>` to create a user space connection to.
// The internal listener acts as a tcp listener. It supports listener filters and network filter chains.
// The internal listener require :ref:`address <envoy_api_field_config.listener.v3.Listener.address>` has
// field `envoy_internal_address`.
//
// There are some limitations are derived from the implementation. The known limitations include
//
// * :ref:`ConnectionBalanceConfig <envoy_api_msg_config.listener.v3.Listener.ConnectionBalanceConfig>` is not
// allowed because both cluster connection and listener connection must be owned by the same dispatcher.
// * :ref:`tcp_backlog_size <envoy_api_field_config.listener.v3.Listener.tcp_backlog_size>`
// * :ref:`freebind <envoy_api_field_config.listener.v3.Listener.freebind>`
// * :ref:`transparent <envoy_api_field_config.listener.v3.Listener.transparent>`
// [#not-implemented-hide:]
InternalListenerConfig internal_listener = 27;
}
}
31 changes: 30 additions & 1 deletion api/envoy/config/listener/v4alpha/listener.proto

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

9 changes: 2 additions & 7 deletions api/envoy/config/metrics/v3/stats.proto
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,8 @@ message StatsSink {
reserved "config";

// The name of the stats sink to instantiate. The name must match a supported
// stats sink. The built-in stats sinks are:
//
// * :ref:`envoy.stat_sinks.statsd <envoy_api_msg_config.metrics.v3.StatsdSink>`
// * :ref:`envoy.stat_sinks.dog_statsd <envoy_api_msg_config.metrics.v3.DogStatsdSink>`
// * :ref:`envoy.stat_sinks.metrics_service <envoy_api_msg_config.metrics.v3.MetricsServiceConfig>`
// * :ref:`envoy.stat_sinks.hystrix <envoy_api_msg_config.metrics.v3.HystrixSink>`
//
// stats sink.
// See the :ref:`extensions listed in typed_config below <extension_category_envoy.stats_sinks>` for the default list of available stats sink.
// Sinks optionally support tagged/multiple dimensional metrics.
string name = 1;

Expand Down
9 changes: 2 additions & 7 deletions api/envoy/config/metrics/v4alpha/stats.proto

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

8 changes: 2 additions & 6 deletions api/envoy/config/overload/v3/overload.proto
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,8 @@ message ResourceMonitor {
reserved "config";

// The name of the resource monitor to instantiate. Must match a registered
// resource monitor type. The built-in resource monitors are:
//
// * :ref:`envoy.resource_monitors.fixed_heap
// <envoy_api_msg_config.resource_monitor.fixed_heap.v2alpha.FixedHeapConfig>`
// * :ref:`envoy.resource_monitors.injected_resource
// <envoy_api_msg_config.resource_monitor.injected_resource.v2alpha.InjectedResourceConfig>`
// resource monitor type.
// See the :ref:`extensions listed in typed_config below <extension_category_envoy.resource_monitors>` for the default list of available resource monitor.
string name = 1 [(validate.rules).string = {min_len: 1}];

// Configuration for the resource monitor being instantiated.
Expand Down
20 changes: 3 additions & 17 deletions api/envoy/config/trace/v3/http_tracer.proto
Original file line number Diff line number Diff line change
Expand Up @@ -43,25 +43,11 @@ message Tracing {
reserved "config";

// The name of the HTTP trace driver to instantiate. The name must match a
// supported HTTP trace driver. Built-in trace drivers:
//
// - *envoy.tracers.lightstep*
// - *envoy.tracers.zipkin*
// - *envoy.tracers.dynamic_ot*
// - *envoy.tracers.datadog*
// - *envoy.tracers.opencensus*
// - *envoy.tracers.xray*
// supported HTTP trace driver.
// See the :ref:`extensions listed in typed_config below <extension_category_envoy.tracers>` for the default list of the HTTP trace driver.
string name = 1 [(validate.rules).string = {min_len: 1}];

// Trace driver specific configuration which depends on the driver being instantiated.
// See the trace drivers for examples:
//
// - :ref:`LightstepConfig <envoy_api_msg_config.trace.v3.LightstepConfig>`
// - :ref:`ZipkinConfig <envoy_api_msg_config.trace.v3.ZipkinConfig>`
// - :ref:`DynamicOtConfig <envoy_api_msg_config.trace.v3.DynamicOtConfig>`
// - :ref:`DatadogConfig <envoy_api_msg_config.trace.v3.DatadogConfig>`
// - :ref:`OpenCensusConfig <envoy_api_msg_config.trace.v3.OpenCensusConfig>`
// - :ref:`AWS X-Ray <envoy_api_msg_config.trace.v3.XRayConfig>`
// Trace driver specific configuration which must be set according to the driver being instantiated.
// [#extension-category: envoy.tracers]
oneof config_type {
google.protobuf.Any typed_config = 3;
Expand Down
20 changes: 3 additions & 17 deletions api/envoy/config/trace/v4alpha/http_tracer.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/extensions/filters/http/oauth2/v3alpha/oauth.proto
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ message OAuth2Credentials {

// OAuth config
//
// [#next-free-field: 10]
// [#next-free-field: 11]
message OAuth2Config {
// Endpoint on the authorization server to retrieve the access token from.
config.core.v3.HttpUri token_endpoint = 1;
Expand Down Expand Up @@ -76,6 +76,10 @@ message OAuth2Config {
// defaults to "user" scope.
// OAuth RFC https://tools.ietf.org/html/rfc6749#section-3.3
repeated string auth_scopes = 9;

// Optional resource parameter for authorization request
// RFC: https://tools.ietf.org/html/rfc8707
repeated string resources = 10;
}

// Filter config.
Expand Down
6 changes: 5 additions & 1 deletion api/envoy/extensions/filters/http/oauth2/v4alpha/oauth.proto

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

Loading