...

Text file src/github.com/datawire/ambassador/v2/api/envoy/service/route/v3/rds.proto

Documentation: github.com/datawire/ambassador/v2/api/envoy/service/route/v3

     1syntax = "proto3";
     2
     3package envoy.service.route.v3;
     4
     5import "envoy/service/discovery/v3/discovery.proto";
     6
     7import "google/api/annotations.proto";
     8import "google/protobuf/wrappers.proto";
     9
    10import "envoy/annotations/resource.proto";
    11import "udpa/annotations/status.proto";
    12import "udpa/annotations/versioning.proto";
    13import "validate/validate.proto";
    14
    15option java_package = "io.envoyproxy.envoy.service.route.v3";
    16option java_outer_classname = "RdsProto";
    17option java_multiple_files = true;
    18option java_generic_services = true;
    19option (udpa.annotations.file_status).package_version_status = ACTIVE;
    20
    21// [#protodoc-title: RDS]
    22
    23// The resource_names field in DiscoveryRequest specifies a route configuration.
    24// This allows an Envoy configuration with multiple HTTP listeners (and
    25// associated HTTP connection manager filters) to use different route
    26// configurations. Each listener will bind its HTTP connection manager filter to
    27// a route table via this identifier.
    28service RouteDiscoveryService {
    29  option (envoy.annotations.resource).type = "envoy.config.route.v3.RouteConfiguration";
    30
    31  rpc StreamRoutes(stream discovery.v3.DiscoveryRequest)
    32      returns (stream discovery.v3.DiscoveryResponse) {
    33  }
    34
    35  rpc DeltaRoutes(stream discovery.v3.DeltaDiscoveryRequest)
    36      returns (stream discovery.v3.DeltaDiscoveryResponse) {
    37  }
    38
    39  rpc FetchRoutes(discovery.v3.DiscoveryRequest) returns (discovery.v3.DiscoveryResponse) {
    40    option (google.api.http).post = "/v3/discovery:routes";
    41    option (google.api.http).body = "*";
    42  }
    43}
    44
    45// Virtual Host Discovery Service (VHDS) is used to dynamically update the list of virtual hosts for
    46// a given RouteConfiguration. If VHDS is configured a virtual host list update will be triggered
    47// during the processing of an HTTP request if a route for the request cannot be resolved. The
    48// :ref:`resource_names_subscribe <envoy_api_field_service.discovery.v3.DeltaDiscoveryRequest.resource_names_subscribe>`
    49// field contains a list of virtual host names or aliases to track. The contents of an alias would
    50// be the contents of a *host* or *authority* header used to make an http request. An xDS server
    51// will match an alias to a virtual host based on the content of :ref:`domains'
    52// <envoy_api_field_config.route.v3.VirtualHost.domains>` field. The *resource_names_unsubscribe* field
    53// contains a list of virtual host names that have been :ref:`unsubscribed
    54// <xds_protocol_unsubscribe>` from the routing table associated with the RouteConfiguration.
    55service VirtualHostDiscoveryService {
    56  option (envoy.annotations.resource).type = "envoy.config.route.v3.VirtualHost";
    57
    58  rpc DeltaVirtualHosts(stream discovery.v3.DeltaDiscoveryRequest)
    59      returns (stream discovery.v3.DeltaDiscoveryResponse) {
    60  }
    61}
    62
    63// [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing
    64// services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file.
    65message RdsDummy {
    66  option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.RdsDummy";
    67}

View as plain text