hamlet
hamlet copied to clipboard
Proposal to have the DiscoveryService to do bidirectional sync
Currently, the DiscoveryService
allows only unidirectional sync. One of the challenges with this approach is that most agents implementing this interface need to be publicly available.
https://github.com/vmware/hamlet/blob/9a69c19c362ddf4793101d49ade6797c703a8dc5/api/resourcediscovery/v1alpha1/resource_discovery.proto#L88-L95
The proposal is to change the interface in a way that service discovery works seamlessly even when only one of the agents is publicly available while the rest may not.
- rpc EstablishStream (stream StreamRequest) returns (stream StreamResponse);
+ rpc EstablishPublishStream (stream StreamRequest) returns (stream StreamResponse);
+ rpc EstablishSubscribeStream (stream StreamResponse) returns (stream StreamRequest);
/cc @sergiopozoh
Pending #25