syntax = "proto3"; service Config { rpc Create (CreateRequest) returns (CreateResponse) {} rpc Update (UpdateRequest) returns (UpdateResponse) {} rpc Delete (DeleteRequest) returns (DeleteResponse) {} rpc List (ListRequest) returns (ListResponse) {} rpc Read (ReadRequest) returns (ReadResponse) {} rpc Watch (WatchRequest) returns (stream WatchResponse) {} } message ChangeSet { string data = 1; string checksum = 2; string format = 3; string source = 4; int64 timestamp = 5; } message Change { string namespace = 1; string path = 2; ChangeSet changeSet = 3; } message CreateRequest { Change change = 1; } message CreateResponse {} message UpdateRequest { Change change = 1; } message UpdateResponse {} message DeleteRequest { Change change = 1; } message DeleteResponse {} message ListRequest {} message ListResponse { repeated Change values = 1; } message ReadRequest { string namespace = 1; string path = 2; } message ReadResponse { Change change = 1; } message WatchRequest { string namespace = 1; string path = 2; } message WatchResponse { string namespace = 1; ChangeSet changeSet = 2; }