blob: 164af719a5f80678ed252b6dee0bc43d703b6778 [file] [log] [blame]
syntax = "proto3";
package com.huawei.paas.cse.serviceregistry.api;
option go_package = "proto";
option java_package = "com.huawei.paas.cse.serviceregistry.api";
service ServiceCtrl {
rpc exist (GetExistenceRequest) returns (GetExistenceResponse);
rpc create (CreateServiceRequest) returns (CreateServiceResponse);
rpc delete (DeleteServiceRequest) returns (DeleteServiceResponse);
rpc getOne (GetServiceRequest) returns (GetServiceResponse);
rpc getServices (GetServicesRequest) returns (GetServicesResponse);
rpc updateProperties (UpdateServicePropsRequest) returns (UpdateServicePropsResponse);
rpc addRule (AddServiceRulesRequest) returns (AddServiceRulesResponse);
rpc getRule (GetServiceRulesRequest) returns (GetServiceRulesResponse);
rpc updateRule (UpdateServiceRuleRequest) returns (UpdateServiceRuleResponse);
rpc deleteRule (DeleteServiceRulesRequest) returns (DeleteServiceRulesResponse);
rpc addTags (AddServiceTagsRequest) returns (AddServiceTagsResponse);
rpc getTags (GetServiceTagsRequest) returns (GetServiceTagsResponse);
rpc updateTag (UpdateServiceTagRequest) returns (UpdateServiceTagResponse);
rpc deleteTags (DeleteServiceTagsRequest) returns (DeleteServiceTagsResponse);
rpc getSchemaInfo (GetSchemaRequest) returns (GetSchemaResponse);
rpc deleteSchema (DeleteSchemaRequest) returns (DeleteSchemaResponse);
rpc modifySchema (ModifySchemaRequest) returns (ModifySchemaResponse);
rpc createDependenciesForMircServices (CreateDependenciesRequest) returns (CreateDependenciesResponse);
rpc getProviderDependencies (GetDependenciesRequest) returns (GetProDependenciesResponse);
rpc getConsumerDependencies (GetDependenciesRequest) returns (GetConDependenciesResponse);
rpc deleteServices (DelServicesRequest) returns (DelServicesResponse);
}
service ServiceInstanceCtrl {
rpc register (RegisterInstanceRequest) returns (RegisterInstanceResponse);
rpc unregister (UnregisterInstanceRequest) returns (UnregisterInstanceResponse);
rpc heartbeat (HeartbeatRequest) returns (HeartbeatResponse);
rpc find (FindInstancesRequest) returns (FindInstancesResponse);
rpc getInstances (GetInstancesRequest) returns (GetInstancesResponse);
rpc getOneInstance (GetOneInstanceRequest) returns (GetOneInstanceResponse);
rpc updateStatus (UpdateInstanceStatusRequest) returns (UpdateInstanceStatusResponse);
rpc updateInstanceProperties (UpdateInstancePropsRequest) returns (UpdateInstancePropsResponse);
rpc watch (WatchInstanceRequest) returns (stream WatchInstanceResponse);
rpc heartbeatSet (HeartbeatSetRequest) returns (HeartbeatSetResponse);
}
//治理相关的接口和数据结构
service GovernServiceCtrl {
rpc getServiceDetail (GetServiceRequest) returns (GetServiceDetailResponse);
rpc getServicesInfo (GetServicesInfoRequest) returns (GetServicesInfoResponse);
}
message HeartbeatSetRequest {
repeated HeartbeatSetElement instances = 1;
}
message HeartbeatSetElement {
string serviceId = 1;
string instanceId = 2;
}
message HeartbeatSetResponse {
Response response = 1;
repeated InstanceHbRst instances = 2;
}
message InstanceHbRst {
string serviceId = 1;
string instanceId = 2;
string errMessage = 3;
}
message GetServicesInfoRequest{
repeated string options = 1;
}
message GetServicesInfoResponse {
Response response = 1;
repeated ServiceDetail allServicesDetail = 2;
}
message MicroServiceKey {
string tenant = 1;
string project = 2;
string appId = 3;
string serviceName = 4;
string version = 5;
string stage = 6;
string alias = 7;
}
// Micro service
message MicroService {
string serviceId = 1;
string appId = 2;
string serviceName = 3;
string version = 4;
string description = 5;
string level = 6; // custom
repeated string schemas = 7;
repeated ServicePath paths = 10;
string status = 8; // UP|DOWN
map<string, string> properties = 9;
string timestamp = 11;
repeated DependencyMircroService providers = 12;
string alias = 13;
map<string, string> LBStrategy = 14;
}
message ServiceRule {
string ruleId = 1;
string ruleType = 2; // WHITE|BACK
string attribute = 3;
string pattern = 4;
string description = 5;
string timestamp = 6;
}
message AddOrUpdateServiceRule {
string ruleType = 1; // WHITE|BACK
string attribute = 2;
string pattern = 3;
string description = 4;
}
message ServicePath {
string path = 1;
map<string, string> property = 2;
}
message Response {
enum Code {
UNKNOWN = 0;
SUCCESS = 1;
FAIL = 2;
}
Code code = 1;
string message = 2;
}
message GetExistenceRequest {
string type = 1;
string appId = 2;
string serviceName = 3;
string version = 4;
string serviceId = 5;
string schemaId = 6;
}
message GetExistenceResponse {
Response response = 1;
string serviceId = 2;
string schemaId = 3;
}
message CreateServiceRequest {
MicroService service = 1;
}
message CreateServiceResponse {
Response response = 1;
string serviceId = 2;
}
message DeleteServiceRequest {
string serviceId = 1;
bool force = 2;
}
message DeleteServiceResponse {
Response response = 1;
}
message GetServiceRequest {
string serviceId = 1;
}
message GetServiceResponse {
Response response = 1;
MicroService service = 2;
}
message GetServicesRequest {
}
message GetServicesResponse {
Response response = 1;
repeated MicroService services = 2;
}
message UpdateServicePropsRequest {
string serviceId = 1;
map<string, string> properties = 2;
}
message UpdateServicePropsResponse {
Response response = 1;
}
message GetServiceRulesRequest {
string serviceId = 1;
}
message GetServiceRulesResponse {
Response response = 1;
repeated ServiceRule rules = 2;
}
message UpdateServiceRuleRequest {
string serviceId = 1;
string ruleId = 2;
AddOrUpdateServiceRule rule = 3;
}
message UpdateServiceRuleResponse {
Response response = 1;
}
message AddServiceRulesRequest {
string serviceId = 1;
repeated AddOrUpdateServiceRule rules = 2;
}
message AddServiceRulesResponse {
Response response = 1;
repeated string RuleIds = 2;
}
message DeleteServiceRulesRequest {
string serviceId = 1;
repeated string ruleIds = 2;
}
message DeleteServiceRulesResponse {
Response response = 1;
}
message GetServiceTagsRequest {
string serviceId = 1;
}
message GetServiceTagsResponse {
Response response = 1;
map<string, string> tags = 2;
}
message UpdateServiceTagRequest {
string serviceId = 1;
string key = 2;
string value = 3;
}
message UpdateServiceTagResponse {
Response response = 1;
}
message AddServiceTagsRequest {
string serviceId = 1;
map<string, string> tags = 2;
}
message AddServiceTagsResponse {
Response response = 1;
}
message DeleteServiceTagsRequest {
string serviceId = 1;
repeated string keys = 2;
}
message DeleteServiceTagsResponse {
Response response = 1;
}
// Micro service process instance
message HealthCheck {
string mode = 1;
int32 port = 2;
int32 interval = 3;
int32 times = 4;
string url = 5;
}
message MicroServiceInstance {
string instanceId = 1;
string serviceId = 2;
repeated string endpoints = 3;
string hostName = 4;
string status = 5; // UP|DOWN|STARTING|OUTOFSERVICE
map<string, string> properties = 6; // reserved key list: region|az|stage|group
HealthCheck healthCheck = 7;
string timestamp = 8;
DataCenterInfo dataCenterInfo = 9;
string stage = 10;
}
message DataCenterInfo {
string name = 1;
string region =2;
string availableZone = 3;
}
message MicroServiceInstanceKey {
string instanceId = 1;
string serviceId = 2;
}
message RegisterInstanceRequest {
MicroServiceInstance instance = 1;
}
message RegisterInstanceResponse {
Response response = 1;
string instanceId = 2;
}
message UnregisterInstanceRequest {
string serviceId = 1;
string instanceId = 2;
}
message UnregisterInstanceResponse {
Response response = 1;
}
message HeartbeatRequest {
string serviceId = 1;
string instanceId = 2;
}
message HeartbeatResponse {
Response response = 1;
}
message FindInstancesRequest {
string consumerServiceId = 1;
string appId = 2;
string serviceName = 3;
string versionRule = 4; // version rule
repeated string tags = 5;
string stage = 6;
}
message FindInstancesResponse {
Response response = 1;
repeated MicroServiceInstance instances = 2;
}
message GetOneInstanceRequest {
string consumerServiceId = 1;
string providerServiceId = 2;
string providerInstanceId = 3;
repeated string tags = 4;
string stage = 5;
}
message GetOneInstanceResponse {
Response response = 1;
MicroServiceInstance instance = 2;
}
message GetInstancesRequest {
string consumerServiceId = 1;
string providerServiceId = 2;
repeated string tags = 3;
string stage = 4;
}
message GetInstancesResponse {
Response response = 1;
repeated MicroServiceInstance instances = 2;
}
message UpdateInstanceStatusRequest {
string serviceId = 1;
string instanceId = 2;
string status = 3;
}
message UpdateInstanceStatusResponse {
Response response = 1;
}
message UpdateInstancePropsRequest {
string serviceId = 1;
string instanceId = 2;
map<string, string> properties = 3; // reserved key list: region|az|stage|group
}
message UpdateInstancePropsResponse {
Response response = 1;
}
message WatchInstanceRequest {
string selfServiceId = 1;
}
message WatchInstanceResponse {
Response response = 1;
string action = 2; // UPDATE|DELETE|CREATE
MicroServiceKey key = 3;
MicroServiceInstance instance = 4;
}
message GetSchemaRequest {
string serviceId = 1;
string schemaId = 2;
}
message GetSchemaResponse {
Response response = 1;
string schema = 2;
}
message DeleteSchemaRequest {
string serviceId = 1;
string schemaId = 2;
}
message DeleteSchemaResponse {
Response response = 1;
}
message ModifySchemaRequest {
string serviceId = 1;
string schemaId = 2;
string schema = 3;
}
message ModifySchemaResponse {
Response response = 1;
}
message CreateDependenciesRequest {
repeated MircroServiceDependency dependencies = 1;
}
message DependencyMircroService {
string appId = 1;
string serviceName = 2;
string version = 3;
string stage = 4;
}
message MircroServiceDependency {
DependencyMircroService consumer = 1;
repeated DependencyMircroService providers = 2;
}
message CreateDependenciesResponse {
Response response = 1;
}
message GetDependenciesRequest {
string serviceId = 1;
}
message GetConDependenciesResponse {
Response response = 1;
repeated MicroService providers = 2;
}
message GetProDependenciesResponse {
Response response = 1;
repeated MicroService consumers = 2;
}
//服务概览
message ServiceOverview {
MicroService microSerivce = 1;
repeated MicroServiceInstance instances = 2;
map<string, string> tags = 3;
}
message SchemaInfos {
string schemaId = 1;
string schema = 2;
}
//服务详情
message ServiceDetail {
MicroService microSerivce = 1;
repeated MicroServiceInstance instances = 2;
repeated SchemaInfos schemaInfos = 3;
repeated ServiceRule rules = 4;
repeated MicroService providers = 5;
repeated MicroService consumers = 6;
map<string, string> tags = 7;
repeated string microServiceVersions = 8;
}
//服务详情返回信息
message GetServiceDetailResponse {
Response response = 1;
ServiceDetail service = 2;
}
//删除服务请求
message DelServicesRequest {
repeated string serviceIds = 1;
bool force = 2;
}
//删除服务响应内容
message DelServicesRspInfo {
string errMessage = 1;
string serviceId = 2;
}
//删除服务响应
message DelServicesResponse {
Response response = 1;
repeated DelServicesRspInfo services = 2;
}