syntax = "proto3"; package logger; import "google/protobuf/timestamp.proto"; service Logger { // Store logs rpc StoreLogs(StoreLogsRequest) returns (StoreLogsResponse); // Get stored logs rpc GetLogs(LogsRequest) returns (LogsResponse); // Get fresh logs as they are incoming rpc GetLogsStream(LogsRequest) returns (stream LogLine); } message StoreLogsRequest { repeated LogItem logs = 1; } message StoreLogsResponse { bool success = 1; } message LogsRequest { string deployment_id = 1; optional uint32 head = 2; optional uint32 tail = 3; } message LogsResponse { repeated LogLine log_items = 1; } message LogItem { string deployment_id = 1; LogLine log_line = 2; } message LogLine { string service_name = 1; google.protobuf.Timestamp tx_timestamp = 2; bytes data = 3; }