[READ ONLY MIRROR] Envoy REST/proto API definitions and documentation. (grpc依赖)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.8 KiB

syntax = "proto3";
import "google/protobuf/wrappers.proto";
// [V2-API-DIFF] Addresses now have .proto structure.
message Pipe {
string path = 1;
}
// Unresolved addresses contain either named hosts or ports that require
// resolution via DNS or an optional custom Resolver.
message UnresolvedAddress {
message NamedAddress {
enum Protocol {
TCP = 0;
}
Protocol protocol = 1;
// For listeners, an empty address implies a bind to 0.0.0.0 or ::. It's
// still possible to distinguish on address via the prefix/suffix matching
// in FilterChainMatch after connection.
// For clusters, an address may be either an IP or hostname to be resolved via
// DNS.
string host_name = 2;
oneof port_specifier {
google.protobuf.UInt32Value port = 3;
string service_name = 4;
}
}
// Support pluggable resolvers.
message Resolver {
// Name of the resolver. This must have been registered with Envoy.
string name = 1;
// TODO(htuch): Do we need further extensibility or should we collapse
// Resolver to a string?
}
// If not specified, the default DNS resolver is used.
Resolver resolver = 1;
oneof address {
NamedAddress named_address = 2;
Pipe pipe = 3;
}
}
message UnresolvedAddresses {
repeated UnresolvedAddress addresses = 1;
}
// A ResolvedAddress identifies a concrete socket or UDS path and is not subject
// to further resolution via DNS or custom resolvers.
message ResolvedAddress {
message SocketAddress {
enum Protocol {
TCP = 0;
}
Protocol protocol = 1;
string ip_address = 2;
google.protobuf.UInt32Value port = 3;
}
oneof address {
SocketAddress socket_address = 2;
Pipe pipe = 3;
}
}
message ResolvedAddresses {
repeated ResolvedAddress addresses = 1;
}