|
|
|
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;
|
|
|
|
}
|