Skip to content

Commit

Permalink
Merge branch 'master' into envoyproxygh-5808
Browse files Browse the repository at this point in the history
  • Loading branch information
athampy committed Nov 25, 2019
2 parents 2f1862c + 647c1ee commit f306f62
Show file tree
Hide file tree
Showing 212 changed files with 5,841 additions and 3,665 deletions.
4 changes: 2 additions & 2 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ build:remote --spawn_strategy=remote,sandboxed,local
build:remote --strategy=Javac=remote,sandboxed,local
build:remote --strategy=Closure=remote,sandboxed,local
build:remote --strategy=Genrule=remote,sandboxed,local
build:remote --remote_timeout=3600
build:remote --remote_timeout=7200
build:remote --auth_enabled=true
build:remote --remote_download_toplevel

Expand All @@ -148,7 +148,7 @@ build:remote-gcc --config=rbe-toolchain-gcc

# Docker sandbox
# NOTE: Update this from https://github.com/envoyproxy/envoy-build-tools/blob/master/toolchains/rbe_toolchains_config.bzl#L7
build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu@sha256:3ca8acc35fdb57ab26e1bb5f9488f37095f45acd77a12602510410dbefa00b58
build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu@sha256:f0b2453c3587e3297f5caf5e97fbf57c97592c96136209ec13fe2795aae2c896
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 .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.1.0
1.2.0
11 changes: 7 additions & 4 deletions api/envoy/api/v2/core/config_source.proto
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,15 @@ message ApiConfigSource {
// the v2 protos is used.
REST = 1;

// "State of the world" gRPC v2 API, using Discovery{Request,Response} protos.
// gRPC v2 API.
GRPC = 2;

// "Delta" gRPC v2 API, using DeltaDiscovery{Request,Response} protos.
// Rather than sending Envoy the entire state with every update, the xDS server
// only sends what has changed since the last update.
// Using the delta xDS gRPC service, i.e. DeltaDiscovery{Request,Response}
// rather than Discovery{Request,Response}. Rather than sending Envoy the entire state
// with every update, the xDS server only sends what has changed since the last update.
//
// DELTA_GRPC is not yet entirely implemented! Initially, only CDS is available.
// Do not use for other xDSes. TODO(fredlas) update/remove this warning when appropriate.
DELTA_GRPC = 3;
}

Expand Down
12 changes: 11 additions & 1 deletion api/envoy/api/v2/route/route.proto
Original file line number Diff line number Diff line change
Expand Up @@ -152,14 +152,19 @@ message VirtualHost {
google.protobuf.UInt32Value per_request_buffer_limit_bytes = 18;
}

// A filter-defined action type.
message FilterAction {
google.protobuf.Any action = 1;
}

// A route is both a specification of how to match a request as well as an indication of what to do
// next (e.g., redirect, forward, rewrite, etc.).
//
// .. attention::
//
// Envoy supports routing on HTTP method via :ref:`header matching
// <envoy_api_msg_route.HeaderMatcher>`.
// [#next-free-field: 17]
// [#next-free-field: 18]
message Route {
reserved 6;

Expand All @@ -180,6 +185,11 @@ message Route {

// Return an arbitrary HTTP response directly, without proxying.
DirectResponseAction direct_response = 7;

// [#not-implemented-hide:]
// If true, a filter will define the action (e.g., it could dynamically generate the
// RouteAction).
FilterAction filter_action = 17;
}

// The Metadata field can be used to provide additional information
Expand Down
11 changes: 7 additions & 4 deletions api/envoy/api/v3alpha/core/config_source.proto
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,15 @@ message ApiConfigSource {
// the v2 protos is used.
REST = 1;

// "State of the world" gRPC v2 API, using Discovery{Request,Response} protos.
// gRPC v2 API.
GRPC = 2;

// "Delta" gRPC v2 API, using DeltaDiscovery{Request,Response} protos.
// Rather than sending Envoy the entire state with every update, the xDS server
// only sends what has changed since the last update.
// Using the delta xDS gRPC service, i.e. DeltaDiscovery{Request,Response}
// rather than Discovery{Request,Response}. Rather than sending Envoy the entire state
// with every update, the xDS server only sends what has changed since the last update.
//
// DELTA_GRPC is not yet entirely implemented! Initially, only CDS is available.
// Do not use for other xDSes. TODO(fredlas) update/remove this warning when appropriate.
DELTA_GRPC = 3;
}

Expand Down
12 changes: 11 additions & 1 deletion api/envoy/api/v3alpha/route/route.proto
Original file line number Diff line number Diff line change
Expand Up @@ -147,14 +147,19 @@ message VirtualHost {
google.protobuf.UInt32Value per_request_buffer_limit_bytes = 18;
}

// A filter-defined action type.
message FilterAction {
google.protobuf.Any action = 1;
}

// A route is both a specification of how to match a request as well as an indication of what to do
// next (e.g., redirect, forward, rewrite, etc.).
//
// .. attention::
//
// Envoy supports routing on HTTP method via :ref:`header matching
// <envoy_api_msg_api.v3alpha.route.HeaderMatcher>`.
// [#next-free-field: 17]
// [#next-free-field: 18]
message Route {
reserved 6, 8;

Expand All @@ -177,6 +182,11 @@ message Route {

// Return an arbitrary HTTP response directly, without proxying.
DirectResponseAction direct_response = 7;

// [#not-implemented-hide:]
// If true, a filter will define the action (e.g., it could dynamically generate the
// RouteAction).
FilterAction filter_action = 17;
}

// The Metadata field can be used to provide additional information
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,6 @@ message GradientControllerConfig {
// Parameters controlling the periodic recalculation of the concurrency limit from sampled request
// latencies.
message ConcurrencyLimitCalculationParams {
// The maximum value the gradient is allowed to take. This influences how aggressively the
// concurrency limit can increase. Defaults to 2.0.
google.protobuf.DoubleValue max_gradient = 1 [(validate.rules).double = {gt: 1.0}];

// The allowed upper-bound on the calculated concurrency limit. Defaults to 1000.
google.protobuf.UInt32Value max_concurrency_limit = 2 [(validate.rules).uint32 = {gt: 0}];

Expand All @@ -40,6 +36,7 @@ message GradientControllerConfig {
}

// Parameters controlling the periodic minRTT recalculation.
// [#next-free-field: 6]
message MinimumRTTCalculationParams {
// The time interval between recalculating the minimum request round-trip time.
google.protobuf.Duration interval = 1 [(validate.rules).duration = {
Expand All @@ -60,6 +57,13 @@ message GradientControllerConfig {

// The concurrency limit set while measuring the minRTT. Defaults to 3.
google.protobuf.UInt32Value min_concurrency = 4 [(validate.rules).uint32 = {gt: 0}];

// Amount added to the measured minRTT to add stability to the concurrency limit during natural
// variability in latency. This is expressed as a percentage of the measured value and can be
// adjusted to allow more or less tolerance to the sampled latency values.
//
// Defaults to 25%.
type.Percent buffer = 5;
}

// The percentile to use when summarizing aggregated samples. Defaults to p50.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,6 @@ message GradientControllerConfig {
// Parameters controlling the periodic recalculation of the concurrency limit from sampled request
// latencies.
message ConcurrencyLimitCalculationParams {
// The maximum value the gradient is allowed to take. This influences how aggressively the
// concurrency limit can increase. Defaults to 2.0.
google.protobuf.DoubleValue max_gradient = 1 [(validate.rules).double = {gt: 1.0}];

// The allowed upper-bound on the calculated concurrency limit. Defaults to 1000.
google.protobuf.UInt32Value max_concurrency_limit = 2 [(validate.rules).uint32 = {gt: 0}];

Expand All @@ -40,6 +36,7 @@ message GradientControllerConfig {
}

// Parameters controlling the periodic minRTT recalculation.
// [#next-free-field: 6]
message MinimumRTTCalculationParams {
// The time interval between recalculating the minimum request round-trip time.
google.protobuf.Duration interval = 1 [(validate.rules).duration = {
Expand All @@ -60,6 +57,13 @@ message GradientControllerConfig {

// The concurrency limit set while measuring the minRTT. Defaults to 3.
google.protobuf.UInt32Value min_concurrency = 4 [(validate.rules).uint32 = {gt: 0}];

// Amount added to the measured minRTT to add stability to the concurrency limit during natural
// variability in latency. This is expressed as a percentage of the measured value and can be
// adjusted to allow more or less tolerance to the sampled latency values.
//
// Defaults to 25%.
type.v3alpha.Percent buffer = 5;
}

// The percentile to use when summarizing aggregated samples. Defaults to p50.
Expand Down
9 changes: 9 additions & 0 deletions api/envoy/config/filter/http/grpc_stats/v2alpha/config.proto
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,12 @@ message FilterConfig {
// counts.
bool emit_filter_state = 1;
}

// gRPC statistics filter state object in protobuf form.
message FilterObject {
// Count of request messages in the request stream.
uint64 request_message_count = 1;

// Count of response messages in the response stream.
uint64 response_message_count = 2;
}
12 changes: 10 additions & 2 deletions api/envoy/config/filter/udp/udp_proxy/v2alpha/udp_proxy.proto
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,19 @@ import "validate/validate.proto";

// TODO(mattklein123): docs

// Configuration for the UDP proxy filter.
message UdpProxyConfig {
oneof cluster_specifier {
// The stat prefix used when emitting UDP proxy filter stats.
string stat_prefix = 1 [(validate.rules).string = {min_bytes: 1}];

oneof route_specifier {
option (validate.required) = true;

// The upstream cluster to connect to.
string cluster = 1 [(validate.rules).string = {min_bytes: 1}];
string cluster = 2 [(validate.rules).string = {min_bytes: 1}];
}

// The idle timeout for sessions. Idle is defined as no datagrams between received or sent by
// the session. The default if not specified is 1 minute.
google.protobuf.Duration idle_timeout = 3;
}
2 changes: 1 addition & 1 deletion bazel/external/apache_thrift.BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@ py_library(
name = "apache_thrift",
srcs = [":thrift_files"],
visibility = ["//visibility:public"],
deps = ["@six_archive//:six"],
deps = ["@six"],
)
Loading

0 comments on commit f306f62

Please sign in to comment.