api/mesh/v1alpha1/dds.proto (43 lines of code) (raw):

syntax = "proto3"; package dubbo.mesh.v1alpha1; option go_package = "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"; import "envoy/service/discovery/v3/discovery.proto"; import "google/protobuf/any.proto"; import "google/protobuf/duration.proto"; message DubboResource { message Meta { string name = 1; string mesh = 2; string version = 5; map<string, string> labels = 6; } Meta meta = 1; google.protobuf.Any spec = 2; } message ZoneHealthCheckRequest {} message ZoneHealthCheckResponse { // The the interval that the global control plane // expects between health check pings google.protobuf.Duration interval = 1; } service GlobalDDSService { // HealthCheck allows us to implement a health check that works across // proxies, unlike HTTP/2 PING frames. rpc HealthCheck(ZoneHealthCheckRequest) returns (ZoneHealthCheckResponse); } // DDSSyncService is a service exposed by the control-plane for the // synchronization of the resources between zone and global control-plane. service DDSSyncService { // GlobalToZoneSync is logically a service exposed by global control-plane // that allows zone control plane to connect and synchronize resources from // the global control-plane to the zone control-plane. It uses delta xDS from // go-control-plane and responds only with the changes to the resources. rpc GlobalToZoneSync(stream envoy.service.discovery.v3.DeltaDiscoveryRequest) returns (stream envoy.service.discovery.v3.DeltaDiscoveryResponse); // ZoneToGlobalSync is logically a service exposed by global control-plane // that allows zone control plane to connect and synchronize resources to // the global control-plane. It uses delta xDS from go-control-plane and // responds only with the changes to the resources. rpc ZoneToGlobalSync(stream envoy.service.discovery.v3.DeltaDiscoveryResponse) returns (stream envoy.service.discovery.v3.DeltaDiscoveryRequest); }