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.
68 lines
2.9 KiB
68 lines
2.9 KiB
5 years ago
|
syntax = "proto3";
|
||
|
|
||
5 years ago
|
package envoy.service.route.v3;
|
||
5 years ago
|
|
||
5 years ago
|
import "envoy/service/discovery/v3/discovery.proto";
|
||
5 years ago
|
|
||
|
import "google/api/annotations.proto";
|
||
|
import "google/protobuf/wrappers.proto";
|
||
|
|
||
5 years ago
|
import "udpa/annotations/versioning.proto";
|
||
5 years ago
|
|
||
5 years ago
|
import "envoy/annotations/resource.proto";
|
||
5 years ago
|
import "validate/validate.proto";
|
||
|
|
||
5 years ago
|
option java_package = "io.envoyproxy.envoy.service.route.v3";
|
||
5 years ago
|
option java_outer_classname = "RdsProto";
|
||
|
option java_multiple_files = true;
|
||
|
option java_generic_services = true;
|
||
|
|
||
5 years ago
|
// [#protodoc-title: RDS]
|
||
5 years ago
|
|
||
|
// The resource_names field in DiscoveryRequest specifies a route configuration.
|
||
|
// This allows an Envoy configuration with multiple HTTP listeners (and
|
||
|
// associated HTTP connection manager filters) to use different route
|
||
|
// configurations. Each listener will bind its HTTP connection manager filter to
|
||
|
// a route table via this identifier.
|
||
|
service RouteDiscoveryService {
|
||
5 years ago
|
option (envoy.annotations.resource).type = "envoy.config.route.v3.RouteConfiguration";
|
||
5 years ago
|
|
||
5 years ago
|
rpc StreamRoutes(stream discovery.v3.DiscoveryRequest)
|
||
|
returns (stream discovery.v3.DiscoveryResponse) {
|
||
5 years ago
|
}
|
||
|
|
||
5 years ago
|
rpc DeltaRoutes(stream discovery.v3.DeltaDiscoveryRequest)
|
||
|
returns (stream discovery.v3.DeltaDiscoveryResponse) {
|
||
5 years ago
|
}
|
||
|
|
||
5 years ago
|
rpc FetchRoutes(discovery.v3.DiscoveryRequest) returns (discovery.v3.DiscoveryResponse) {
|
||
|
option (google.api.http).post = "/v3/discovery:routes";
|
||
5 years ago
|
option (google.api.http).body = "*";
|
||
5 years ago
|
}
|
||
|
}
|
||
|
|
||
|
// Virtual Host Discovery Service (VHDS) is used to dynamically update the list of virtual hosts for
|
||
|
// a given RouteConfiguration. If VHDS is configured a virtual host list update will be triggered
|
||
|
// during the processing of an HTTP request if a route for the request cannot be resolved. The
|
||
5 years ago
|
// :ref:`resource_names_subscribe
|
||
5 years ago
|
// <envoy_api_field_service.discovery.v3.DeltaDiscoveryRequest.resource_names_subscribe>` field
|
||
5 years ago
|
// contains a list of virtual host names or aliases to track. The contents of an alias would be the
|
||
|
// contents of a *host* or *authority* header used to make an http request. An xDS server will match
|
||
|
// an alias to a virtual host based on the content of :ref:`domains'
|
||
5 years ago
|
// <envoy_api_field_config.route.v3.VirtualHost.domains>` field. The *resource_names_unsubscribe*
|
||
|
// field contains a list of virtual host names that have been :ref:`unsubscribed
|
||
|
// <xds_protocol_unsubscribe>` from the routing table associated with the RouteConfiguration.
|
||
5 years ago
|
service VirtualHostDiscoveryService {
|
||
5 years ago
|
option (envoy.annotations.resource).type = "envoy.config.route.v3.VirtualHost";
|
||
5 years ago
|
|
||
5 years ago
|
rpc DeltaVirtualHosts(stream discovery.v3.DeltaDiscoveryRequest)
|
||
|
returns (stream discovery.v3.DeltaDiscoveryResponse) {
|
||
5 years ago
|
}
|
||
|
}
|
||
|
|
||
5 years ago
|
// [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing
|
||
|
// services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file.
|
||
|
message RdsDummy {
|
||
|
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.RdsDummy";
|
||
5 years ago
|
}
|