srds.proto 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. syntax = "proto3";
  2. package envoy.service.route.v3;
  3. import "envoy/service/discovery/v3/discovery.proto";
  4. import "google/api/annotations.proto";
  5. import "envoy/annotations/resource.proto";
  6. import "udpa/annotations/status.proto";
  7. import "udpa/annotations/versioning.proto";
  8. option java_package = "io.envoyproxy.envoy.service.route.v3";
  9. option java_outer_classname = "SrdsProto";
  10. option java_multiple_files = true;
  11. option go_package = "github.com/envoyproxy/go-control-plane/envoy/service/route/v3;routev3";
  12. option java_generic_services = true;
  13. option (udpa.annotations.file_status).package_version_status = ACTIVE;
  14. // [#protodoc-title: SRDS]
  15. // * Routing :ref:`architecture overview <arch_overview_http_routing>`
  16. // The Scoped Routes Discovery Service (SRDS) API distributes
  17. // :ref:`ScopedRouteConfiguration<envoy_v3_api_msg.ScopedRouteConfiguration>`
  18. // resources. Each ScopedRouteConfiguration resource represents a "routing
  19. // scope" containing a mapping that allows the HTTP connection manager to
  20. // dynamically assign a routing table (specified via a
  21. // :ref:`RouteConfiguration<envoy_v3_api_msg_config.route.v3.RouteConfiguration>` message) to each
  22. // HTTP request.
  23. service ScopedRoutesDiscoveryService {
  24. option (envoy.annotations.resource).type = "envoy.config.route.v3.ScopedRouteConfiguration";
  25. rpc StreamScopedRoutes(stream discovery.v3.DiscoveryRequest)
  26. returns (stream discovery.v3.DiscoveryResponse) {
  27. }
  28. rpc DeltaScopedRoutes(stream discovery.v3.DeltaDiscoveryRequest)
  29. returns (stream discovery.v3.DeltaDiscoveryResponse) {
  30. }
  31. rpc FetchScopedRoutes(discovery.v3.DiscoveryRequest) returns (discovery.v3.DiscoveryResponse) {
  32. option (google.api.http).post = "/v3/discovery:scoped-routes";
  33. option (google.api.http).body = "*";
  34. }
  35. }
  36. // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing
  37. // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file.
  38. message SrdsDummy {
  39. option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.SrdsDummy";
  40. }