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

api: straggler v2alpha1 -> v3alpha clone. #8133

Merged
merged 5 commits into from
Sep 4, 2019
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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
8 changes: 8 additions & 0 deletions api/envoy/config/filter/dubbo/router/v3alpha/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_library_internal")

licenses(["notice"]) # Apache 2

api_proto_library_internal(
name = "router",
srcs = ["router.proto"],
)
14 changes: 14 additions & 0 deletions api/envoy/config/filter/dubbo/router/v3alpha/router.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
syntax = "proto3";

package envoy.config.filter.dubbo.router.v3alpha;

option java_outer_classname = "RouterProto";
option java_multiple_files = true;
option java_package = "io.envoyproxy.envoy.config.filter.dubbo.router.v3alpha";
option go_package = "v2alpha1";

// [#protodoc-title: Router]
// Dubbo router :ref:`configuration overview <config_dubbo_filters_router>`.

message Router {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_library")

licenses(["notice"]) # Apache 2

api_proto_library(
name = "config",
srcs = ["config.proto"],
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
syntax = "proto3";

package envoy.config.filter.http.grpc_http1_reverse_bridge.v3alpha;

option java_outer_classname = "ConfigProto";
option java_multiple_files = true;
option java_package = "io.envoyproxy.envoy.config.filter.http.grpc_http1_reverse_bridge.v3alpha";
option go_package = "v2";

import "validate/validate.proto";

// [#protodoc-title: gRPC HTTP/1.1 Reverse Bridge]
// gRPC HTTP/1.1 Reverse Bridge :ref:`configuration overview
// <config_http_filters_grpc_http1_reverse_bridge>`.

// gRPC reverse bridge filter configuration
message FilterConfig {
// The content-type to pass to the upstream when the gRPC bridge filter is applied.
// The filter will also validate that the upstream responds with the same content type.
string content_type = 1 [(validate.rules).string.min_bytes = 1];

// If true, Envoy will assume that the upstream doesn't understand gRPC frames and
// strip the gRPC frame from the request, and add it back in to the response. This will
// hide the gRPC semantics from the upstream, allowing it to receive and respond with a
// simple binary encoded protobuf.
bool withhold_grpc_frames = 2;
}
8 changes: 8 additions & 0 deletions api/envoy/config/filter/http/original_src/v3alpha/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_library_internal")

licenses(["notice"]) # Apache 2

api_proto_library_internal(
name = "original_src",
srcs = ["original_src.proto"],
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
syntax = "proto3";

package envoy.config.filter.http.original_src.v3alpha;

option java_outer_classname = "OriginalSrcProto";
option java_multiple_files = true;
option java_package = "io.envoyproxy.envoy.config.filter.http.original_src.v3alpha";

option go_package = "v2alpha1";

import "validate/validate.proto";

// [#protodoc-title: Original Src Filter]
// Use the Original source address on upstream connections.

// The Original Src filter binds upstream connections to the original source address determined
// for the request. This address could come from something like the Proxy Protocol filter, or it
// could come from trusted http headers.
message OriginalSrc {

// Sets the SO_MARK option on the upstream connection's socket to the provided value. Used to
// ensure that non-local addresses may be routed back through envoy when binding to the original
// source address. The option will not be applied if the mark is 0.
// [#proto-status: experimental]
uint32 mark = 1;
}
8 changes: 8 additions & 0 deletions api/envoy/config/filter/listener/original_src/v3alpha/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_library_internal")

licenses(["notice"]) # Apache 2

api_proto_library_internal(
name = "original_src",
srcs = ["original_src.proto"],
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
syntax = "proto3";

package envoy.config.filter.listener.original_src.v3alpha;

option java_outer_classname = "OriginalSrcProto";
option java_multiple_files = true;
option java_package = "io.envoyproxy.envoy.config.filter.listener.original_src.v3alpha";

option go_package = "v2alpha1";

import "validate/validate.proto";

// [#protodoc-title: Original Src Filter]
// Use the Original source address on upstream connections.

// The Original Src filter binds upstream connections to the original source address determined
// for the connection. This address could come from something like the Proxy Protocol filter, or it
// could come from trusted http headers.
message OriginalSrc {

// Whether to bind the port to the one used in the original downstream connection.
// [#not-implemented-warn:]
bool bind_port = 1;

// Sets the SO_MARK option on the upstream connection's socket to the provided value. Used to
// ensure that non-local addresses may be routed back through envoy when binding to the original
// source address. The option will not be applied if the mark is 0.
// [#proto-status: experimental]
uint32 mark = 2;
}
17 changes: 17 additions & 0 deletions api/envoy/config/filter/network/dubbo_proxy/v3alpha/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_library_internal")

licenses(["notice"]) # Apache 2

api_proto_library_internal(
name = "dubbo_proxy",
srcs = [
"dubbo_proxy.proto",
"route.proto",
],
deps = [
"//envoy/api/v3alpha/core:base",
"//envoy/api/v3alpha/route",
"//envoy/type:range",
"//envoy/type/matcher:string",
],
)
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Protocol buffer definitions for the Dubbo proxy.
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
syntax = "proto3";

package envoy.config.filter.network.dubbo_proxy.v3alpha;

option java_outer_classname = "DubboProxyProto";
option java_multiple_files = true;
option java_package = "io.envoyproxy.envoy.config.filter.network.dubbo_proxy.v3alpha";
option go_package = "v2";

import "envoy/config/filter/network/dubbo_proxy/v3alpha/route.proto";

import "google/protobuf/any.proto";

import "validate/validate.proto";
import "gogoproto/gogo.proto";

// [#protodoc-title: Dubbo Proxy]
// Dubbo Proxy :ref:`configuration overview <config_network_filters_dubbo_proxy>`.

// [#comment:next free field: 6]
message DubboProxy {
// The human readable prefix to use when emitting statistics.
string stat_prefix = 1 [(validate.rules).string.min_bytes = 1];

// Configure the protocol used.
ProtocolType protocol_type = 2 [(validate.rules).enum.defined_only = true];

// Configure the serialization protocol used.
SerializationType serialization_type = 3 [(validate.rules).enum.defined_only = true];

// The route table for the connection manager is static and is specified in this property.
repeated RouteConfiguration route_config = 4;

// A list of individual Dubbo filters that make up the filter chain for requests made to the
// Dubbo proxy. Order matters as the filters are processed sequentially. For backwards
// compatibility, if no dubbo_filters are specified, a default Dubbo router filter
// (`envoy.filters.dubbo.router`) is used.
repeated DubboFilter dubbo_filters = 5;
}

// Dubbo Protocol types supported by Envoy.
enum ProtocolType {
Dubbo = 0; // the default protocol.
}

// Dubbo Serialization types supported by Envoy.
enum SerializationType {
Hessian2 = 0; // the default serialization protocol.
}

// DubboFilter configures a Dubbo filter.
// [#comment:next free field: 3]
message DubboFilter {
// The name of the filter to instantiate. The name must match a supported
// filter.
string name = 1 [(validate.rules).string.min_bytes = 1];

// Filter specific configuration which depends on the filter being
// instantiated. See the supported filters for further documentation.
google.protobuf.Any config = 2;
}
110 changes: 110 additions & 0 deletions api/envoy/config/filter/network/dubbo_proxy/v3alpha/route.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
syntax = "proto3";

package envoy.config.filter.network.dubbo_proxy.v3alpha;

option java_outer_classname = "RouteProto";
option java_multiple_files = true;
option java_package = "io.envoyproxy.envoy.config.filter.network.dubbo_proxy.v3alpha";
option go_package = "v2";

import "envoy/api/v3alpha/route/route.proto";
import "envoy/type/matcher/string.proto";
import "envoy/type/range.proto";

import "google/protobuf/wrappers.proto";

import "validate/validate.proto";
import "gogoproto/gogo.proto";

option (gogoproto.stable_marshaler_all) = true;

// [#protodoc-title: Dubbo Proxy Route Configuration]
// Dubbo Proxy :ref:`configuration overview <config_network_filters_dubbo_proxy>`.

// [#comment:next free field: 6]
message RouteConfiguration {
// The name of the route configuration. Reserved for future use in asynchronous route discovery.
string name = 1;

// The interface name of the service.
string interface = 2;

// Which group does the interface belong to.
string group = 3;

// The version number of the interface.
string version = 4;

// The list of routes that will be matched, in order, against incoming requests. The first route
// that matches will be used.
repeated Route routes = 5;
}

// [#comment:next free field: 3]
message Route {
// Route matching parameters.
RouteMatch match = 1 [(validate.rules).message.required = true];

// Route request to some upstream cluster.
RouteAction route = 2 [(validate.rules).message.required = true];
}

// [#comment:next free field: 3]
message RouteMatch {
// Method level routing matching.
MethodMatch method = 1;

// Specifies a set of headers that the route should match on. The router will check the request’s
// headers against all the specified headers in the route config. A match will happen if all the
// headers in the route are present in the request with the same values (or based on presence if
// the value field is not in the config).
repeated envoy.api.v3alpha.route.HeaderMatcher headers = 2;
}

// [#comment:next free field: 3]
message RouteAction {
oneof cluster_specifier {
option (validate.required) = true;

// Indicates the upstream cluster to which the request should be routed.
string cluster = 1;

// Multiple upstream clusters can be specified for a given route. The
// request is routed to one of the upstream clusters based on weights
// assigned to each cluster.
// Currently ClusterWeight only supports the name and weight fields.
envoy.api.v3alpha.route.WeightedCluster weighted_clusters = 2;
}
}

// [#comment:next free field: 5]
message MethodMatch {
// The name of the method.
envoy.type.matcher.StringMatcher name = 1;

// The parameter matching type.
message ParameterMatchSpecifier {
oneof parameter_match_specifier {
// If specified, header match will be performed based on the value of the header.
string exact_match = 3;

// If specified, header match will be performed based on range.
// The rule will match if the request header value is within this range.
// The entire request header value must represent an integer in base 10 notation: consisting
// of an optional plus or minus sign followed by a sequence of digits. The rule will not match
// if the header value does not represent an integer. Match will fail for empty values,
// floating point numbers or if only a subsequence of the header value is an integer.
//
// Examples:
//
// * For range [-10,0), route will match for header value -1, but not for 0,
// "somestring", 10.9, "-1somestring"
envoy.type.Int64Range range_match = 4;
}
}

// Method parameter definition.
// The key is the parameter index, starting from 0.
// The value is the parameter matching type.
map<uint32, ParameterMatchSpecifier> params_match = 2;
}
15 changes: 15 additions & 0 deletions api/envoy/config/filter/network/thrift_proxy/v3alpha/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_library_internal")

licenses(["notice"]) # Apache 2

api_proto_library_internal(
name = "thrift_proxy",
srcs = [
"route.proto",
"thrift_proxy.proto",
],
deps = [
"//envoy/api/v3alpha/core:base",
"//envoy/api/v3alpha/route",
],
)
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Protocol buffer definitions for the Thrift proxy.
Loading