Skip to content

Commit

Permalink
api: straggler v2alpha1 -> v3alpha clone.
Browse files Browse the repository at this point in the history
These were missed in envoyproxy#8125.

Signed-off-by: Harvey Tuch <htuch@google.com>
  • Loading branch information
htuch committed Sep 3, 2019
1 parent 39a4423 commit 9de6bc1
Show file tree
Hide file tree
Showing 21 changed files with 675 additions and 4 deletions.
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.v3alpha1;

option java_outer_classname = "RouterProto";
option java_multiple_files = true;
option java_package = "io.envoyproxy.envoy.config.filter.dubbo.router.v3alpha1";
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.v3alpha1;

option java_outer_classname = "ConfigProto";
option java_multiple_files = true;
option java_package = "io.envoyproxy.envoy.config.filter.http.grpc_http1_reverse_bridge.v3alpha1";
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.v3alpha1;

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

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.v3alpha1;

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

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.v3alpha1;

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

import "envoy/config/filter/network/dubbo_proxy/v3alpha1/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

0 comments on commit 9de6bc1

Please sign in to comment.