xds: import cncf/xds (#9862)

This commit is contained in:
yifeizhuang 2023-01-30 10:42:11 -08:00 committed by GitHub
parent 4876996d84
commit b7164f0791
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 17 additions and 11 deletions

View File

@ -18,7 +18,7 @@
set -e
BRANCH=main
# import VERSION from one of the google internal CLs
VERSION=d92e9ce0af512a73a3a126b32fa4920bee12e180
VERSION=06c439db220b89134a8a49bad41994560d6537c6
GIT_REPO="https://github.com/cncf/xds.git"
GIT_BASE_DIR=xds
SOURCE_PROTO_BASE_DIR=xds

View File

@ -11,7 +11,6 @@ option java_multiple_files = true;
option java_package = "com.github.udpa.udpa.type.v1";
option go_package = "github.com/cncf/xds/go/udpa/type/v1";
import "validate/validate.proto";
import "google/protobuf/struct.proto";
// A TypedStruct contains an arbitrary JSON serialized protocol buffer message with a URL that

View File

@ -20,15 +20,17 @@ option (xds.annotations.v3.file_status).work_in_progress = true;
// appearing inside a list collection resource. List collection resources are
// regular Resource messages of type:
//
// message <T>Collection {
// repeated CollectionEntry resources = 1;
// }
// .. code-block:: proto
//
// message <T>Collection {
// repeated CollectionEntry resources = 1;
// }
//
message CollectionEntry {
// Inlined resource entry.
message InlineEntry {
// Optional name to describe the inlined resource. Resource names must
// [a-zA-Z0-9_-\./]+ (TODO(htuch): turn this into a PGV constraint once
// Optional name to describe the inlined resource. Resource names must match
// ``[a-zA-Z0-9_-\./]+`` (TODO(htuch): turn this into a PGV constraint once
// finalized, probably should be a RFC3986 pchar). This name allows
// reference via the #entry directive in ResourceLocator.
string name = 1 [(validate.rules).string.pattern = "^[0-9a-zA-Z_\\-\\.~:]+$"];

View File

@ -15,6 +15,7 @@ option (xds.annotations.v3.file_status).work_in_progress = true;
// global context parameters, per-resource type client feature capabilities and per-resource
// type functional attributes. All per-resource type attributes will be `xds.resource.`
// prefixed and some of these are documented below:
//
// `xds.resource.listening_address`: The value is "IP:port" (e.g. "10.1.1.3:8080") which is
// the listening address of a Listener. Used in a Listener resource query.
message ContextParams {

View File

@ -23,7 +23,8 @@ message OrcaLoadReport {
// Total RPS being served by an endpoint. This should cover all services that an endpoint is
// responsible for.
uint64 rps = 3;
// Deprecated -- use ``rps_fractional`` field instead.
uint64 rps = 3 [deprecated = true];
// Application specific requests costs. Each value is an absolute cost (e.g. 3487 bytes of
// storage) associated with the request.
@ -33,4 +34,8 @@ message OrcaLoadReport {
// available, derived from the latest sample or measurement.
map<string, double> utilization = 5
[(validate.rules).map.values.double.gte = 0, (validate.rules).map.values.double.lte = 1];
// Total RPS being served by an endpoint. This should cover all services that an endpoint is
// responsible for.
double rps_fractional = 6 [(validate.rules).double.gte = 0];
}

View File

@ -11,8 +11,6 @@ import "xds/data/orca/v3/orca_load_report.proto";
import "google/protobuf/duration.proto";
import "validate/validate.proto";
// See section `Out-of-band (OOB) reporting` of the design document in
// :ref:`https://github.com/envoyproxy/envoy/issues/6614`.

View File

@ -7,7 +7,6 @@ option java_multiple_files = true;
option java_package = "com.github.xds.type.v3";
option go_package = "github.com/cncf/xds/go/xds/type/v3";
import "validate/validate.proto";
import "google/protobuf/struct.proto";
// A TypedStruct contains an arbitrary JSON serialized protocol buffer message with a URL that
@ -20,6 +19,7 @@ import "google/protobuf/struct.proto";
// When packing an opaque extension config, packing the expected type into Any is preferred
// wherever possible for its efficiency. TypedStruct should be used only if a proto descriptor
// is not available, for example if:
//
// - A control plane sends opaque message that is originally from external source in human readable
// format such as JSON or YAML.
// - The control plane doesn't have the knowledge of the protocol buffer schema hence it cannot
@ -30,6 +30,7 @@ import "google/protobuf/struct.proto";
// When a DPLB receives a TypedStruct in Any, it should:
// - Check if the type_url of the TypedStruct matches the type the extension expects.
// - Convert value to the type described in type_url and perform validation.
//
// TODO(lizan): Figure out how TypeStruct should be used with DPLB extensions that doesn't link
// protobuf descriptor with DPLB itself, (e.g. gRPC LB Plugin, Envoy WASM extensions).
message TypedStruct {